Bug 227109 - page fails to render correctly
Summary: page fails to render correctly
Alias: None
Product: konqueror
Classification: Applications
Component: general (show other bugs)
Version: unspecified
Platform: unspecified Linux
: NOR normal (vote)
Target Milestone: ---
Assignee: Konqueror Developers
Depends on:
Reported: 2010-02-16 02:11 UTC by HughDaniel
Modified: 2010-02-22 20:12 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In:

patch... (also containing a fixlet for #204297 crash) (1.53 KB, patch)
2010-02-18 04:43 UTC, Germain Garand

Note You need to log in before you can comment on or make changes to this bug.
Description HughDaniel 2010-02-16 02:11:37 UTC
Version:           4.4.00 (KDE 4.4.0) (using 4.4.00 (KDE 4.4.0), Kubuntu packages)
Compiler:          cc
OS:                Linux (i686) release 2.6.32-13-generic

  This page fails to render correctly in Konqueror 4.4.0:


the page correctly renders in 3.5.10 yet also fails in 4.3.5.  There is nothing special about this page, it's just one that Konqueror fails to render now.  The failure I see is in layout, all the text and images are overlayed rather then in separate columns.
Comment 1 Andrea Iacovitti 2010-02-18 00:11:54 UTC
That's a table layout problem.
At some point in the code there is the following definition:

<td align=left valign=top width=138 colspan=0 rowspan=0...

There was a fix about span=0 (r963656) some times ago that's the causes of the regression.
Just reverting r963656 makes the site looks better but, seems to me, we loose the right column menu (i have to test better that)
A local copy of the site (saved with FF) looks fine on Konq because unlike the online copy FF replaces (colspan=0 rowspan=0) with (colspan=1 rowspan=1)
Comment 2 Andrea Iacovitti 2010-02-18 00:16:07 UTC
> the right column menu (i have to test better that)
read: left column menu, sorry
Comment 3 Germain Garand 2010-02-18 04:19:31 UTC
Great, thanks for the reduction! so the page is not HTML 4.01 compliant.

I suppose we could wontfix it, but OTOH, colspan/rowspan=zero is ill-implemented in most UAs.

Opera has it only for colspan, Firefox has nice implementation for both but in standard/almost-standard mode only, MSIE doesn't implement that AFAIK, nor does Safari.

So the best solution here is to act similarly has firefox.
Comment 4 Maksim Orlovich 2010-02-18 04:29:13 UTC
Not to drop in too much, but we got some nasty regressions due to colspan/rowspan=0 support which you may want to look at while in neighborhood --- bug #204297
Comment 5 Germain Garand 2010-02-18 04:43:58 UTC
Created attachment 40889 [details]
patch... (also containing a fixlet for #204297 crash)
Comment 6 Germain Garand 2010-02-18 04:52:55 UTC
@maksim, yes there are many things to fix in the implementation... I think Carlos got confused with the col/effCol thing (can't blame him, it's viciously complicating matters)... the code trying to read the colgroup/col settings is also half broken - I'll try to fix all that properly in a not too distant future.

In the meantime, avoiding to hit the impl too hard with tables that weren't meant for it is a start (e.g. for #204297, the table asked for colspan="" which should be translated to colspan="1", not zero)
Comment 7 Germain Garand 2010-02-22 20:12:17 UTC
SVN commit 1094429 by ggarand:

.rowspan="" should map to rowspan=1, not rowspan=0
  avoids a crash on xmpp.org pages

.only actually enables the HTML 4.01 meaning of colspan/rowspan zero in
  standard/almost-standard mode matching Gecko engines

CCBUG: 204297
BUG: 227109

 M  +10 -6     html_tableimpl.cpp  

WebSVN link: http://websvn.kde.org/?view=rev&revision=1094429