WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
74303
Regression(99212): table rows get incorrect height after changing some cells' height
https://bugs.webkit.org/show_bug.cgi?id=74303
Summary
Regression(99212): table rows get incorrect height after changing some cells'...
Vsevolod Vlasov
Reported
2011-12-12 08:58:22 PST
Steps to reproduce: 1) Open inspector's network panel 2) Load some web page, make sure network log does not have scroll yet (just 1-3 requests) 3) Toggle large resource rows (in the bottom toolbar press fourth button) This was caused by
http://trac.webkit.org/changeset/99212
. Notes: pressing this button adds "small" class to table's container (".data-grid"). Essentially this button switches between following style rules: .network-log-grid.data-grid td { height: 37px; } .network-log-grid.data-grid.small td { height: 17px; }
Attachments
Reduction
(991 bytes, text/html)
2011-12-12 15:58 PST
,
Vsevolod Vlasov
no flags
Details
Proposed fix 1: Use the same row height recalculation algorithm for |rowLogicalHeightChange| and |recalCells|.
(14.23 KB, patch)
2011-12-14 07:19 PST
,
Julien Chaffraix
no flags
Details
Formatted Diff
Diff
View All
Add attachment
proposed patch, testcase, etc.
Julien Chaffraix
Comment 1
2011-12-12 14:04:56 PST
I started investigating this regression and it doesn't look like it is as simple as just switching those 2 styles. There is some CSS & JS that must kick in that prevented me from getting a proper test case. I am pretty sure this is not a WebInspector-only bug but a more general Table one. The easy fix would be to revert the RenderTableCell part of
r99212
and mark the section as needing cell recalculation when height changes (likely an overkill).
Vsevolod Vlasov
Comment 2
2011-12-12 15:58:40 PST
Created
attachment 118898
[details]
Reduction
Pavel Feldman
Comment 3
2011-12-13 04:20:57 PST
@caseq: could you take a look?
Julien Chaffraix
Comment 4
2011-12-13 08:24:06 PST
(In reply to
comment #3
)
> @caseq: could you take a look?
I am on it (which is why I took the bug). I understand the problem and can reproduce the issue. I just need to improve our test coverage of this area which is obviously lacking.
Julien Chaffraix
Comment 5
2011-12-14 07:19:29 PST
Created
attachment 119217
[details]
Proposed fix 1: Use the same row height recalculation algorithm for |rowLogicalHeightChange| and |recalCells|.
Pavel Feldman
Comment 6
2011-12-18 10:04:49 PST
Sounds like Darin has been reviewing the original issue (
http://trac.webkit.org/changeset/99212
).
Darin Adler
Comment 7
2011-12-18 18:04:22 PST
Comment on
attachment 119217
[details]
Proposed fix 1: Use the same row height recalculation algorithm for |rowLogicalHeightChange| and |recalCells|. View in context:
https://bugs.webkit.org/attachment.cgi?id=119217&action=review
> Source/WebCore/rendering/RenderTableSection.cpp:1170 > + for (RenderObject* cell = m_grid[rowIndex].rowRenderer->firstChild(); cell; cell = cell->nextSibling()) {
What guarantees that rowRenderer is non-null?
Julien Chaffraix
Comment 8
2011-12-20 03:22:45 PST
Comment on
attachment 119217
[details]
Proposed fix 1: Use the same row height recalculation algorithm for |rowLogicalHeightChange| and |recalCells|. View in context:
https://bugs.webkit.org/attachment.cgi?id=119217&action=review
>> Source/WebCore/rendering/RenderTableSection.cpp:1170 >> + for (RenderObject* cell = m_grid[rowIndex].rowRenderer->firstChild(); cell; cell = cell->nextSibling()) { > > What guarantees that rowRenderer is non-null?
This is called only from 2 places: * RenderTableCell::styleDidChange: we check that rowIndex was set which means that recalcCell was called and filled m_grid. * RenderTableRow::styleDidChange: to find |rowIndex|, we check against m_grid.rowRenderer. In both places, if m_grid was filled by recalcCells, each item should have a rowRenderer (per construction of the RenderTableSection tree).
WebKit Review Bot
Comment 9
2011-12-20 06:09:11 PST
Comment on
attachment 119217
[details]
Proposed fix 1: Use the same row height recalculation algorithm for |rowLogicalHeightChange| and |recalCells|. Clearing flags on attachment: 119217 Committed
r103327
: <
http://trac.webkit.org/changeset/103327
>
WebKit Review Bot
Comment 10
2011-12-20 06:09:16 PST
All reviewed patches have been landed. Closing bug.
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug