Summary: | [regression] anchor tags without href aren't closed soon enough | ||
---|---|---|---|
Product: | [Applications] konqueror | Reporter: | Germain Garand <germain> |
Component: | khtml parsing | Assignee: | Konqueror Developers <konq-bugs> |
Status: | RESOLVED FIXED | ||
Severity: | normal | ||
Priority: | NOR | ||
Version: | unspecified | ||
Target Milestone: | --- | ||
Platform: | Compiled Sources | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | ||
Sentry Crash Report: |
Description
Germain Garand
2006-10-03 17:48:41 UTC
In this case it seems Firefox closes Anchors when they encounter a TABLE. SVN commit 597449 by carewolf: Firefox rather arbitrarily doesn't allow TABLEs inside Anchors. Lets match that restriction. BUG: 135050 M +1 -0 dtd.cpp --- branches/KDE/3.5/kdelibs/khtml/html/dtd.cpp #597448:597449 @@ -597,6 +597,7 @@ case ID_NOBR: case ID_WBR: // _1 * + if(tagID == ID_A && childID == ID_TABLE) return false; return check_array(childID, tag_list_1) || check_array(childID, tag_list_6); case ID_P: // P: ( _0 | TABLE | NOSCRIPT) * Though after looking more closely at the tests. It seem more like Firefox does allow TABLES inside Anchors, but a table for some reason doesn't inherit any style from an anchor. Is that a quirk? It sounds like all those style resets that happen for tables in quirk mode. SVN commit 597669 by carewolf: Correct fix of #135050 CCBUG: 135050 M +2 -1 css/quirks.css M +0 -1 html/dtd.cpp --- branches/KDE/3.5/kdelibs/khtml/css/quirks.css #597668:597669 @@ -18,13 +18,14 @@ /* Tables reset both line-height and white-space in quirks mode. Compatible with WinIE. For some reason they don't reset font-family */ -TABLE { +table { white-space: normal; line-height: normal; color: -khtml-text; font-size: medium; empty-cells: hide; text-align: -khtml-auto; + font-weight: initial; } LAYER { --- branches/KDE/3.5/kdelibs/khtml/html/dtd.cpp #597668:597669 @@ -597,7 +597,6 @@ case ID_NOBR: case ID_WBR: // _1 * - if(tagID == ID_A && childID == ID_TABLE) return false; return check_array(childID, tag_list_1) || check_array(childID, tag_list_6); case ID_P: // P: ( _0 | TABLE | NOSCRIPT) * |