Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(89)

Issue 8989014: Revert 99212 - Stop abusing RenderTableSection::needsRecalcCells logic (Closed)

Created:
9 years ago by Julien - ping for review
Modified:
9 years ago
Reviewers:
jchaffraix
CC:
chromium-reviews
Base URL:
http://svn.webkit.org/repository/webkit/branches/chromium/963/
Visibility:
Public.

Description

Revert 99212 - Stop abusing RenderTableSection::needsRecalcCells logic https://bugs.webkit.org/show_bug.cgi?id=71420 Reviewed by Darin Adler. Source/WebCore: Change covered by existing tests like fast/repaint/table-extra-bottom-grow.html and fast/table/row-height-recalc* (among others). Cell recalculation is very expensive and should only be called when the section's structure changed in a way that requires a safe update to its structure (like removing a row as our column split may not be appropriate anymore). The current code would abuse cell recalculation to actually reset the logical height on the RowStruct. This change makes it do the right thing. * rendering/RenderTableCell.h: * rendering/RenderTableRow.h: Removed styleWillChange override as it was unneeded. * rendering/RenderTableCell.cpp: (WebCore::RenderTableCell::styleDidChange): * rendering/RenderTableRow.cpp: (WebCore::RenderTableRow::styleDidChange): Move the code from styleWillChange to styleDidChange. * rendering/RenderTableSection.cpp: (WebCore::RenderTableSection::rowLogicalHeightChanged): This function just reset the height on the |RowStruct| which is the only part of recalcCells that we would need. (WebCore::RenderTableSection::rowIndexForRenderer): Added this function to find out which index a column has (strangely RenderTableRow does not have this information). * rendering/RenderTableSection.h: Added the 2 previous functions. LayoutTests: * platform/chromium-linux/fast/repaint/table-extra-bottom-grow-expected.png: Update this test as this is a progression: we are not over-repainting the table anymore. * platform/chromium/test_expectations.txt: * platform/efl/Skipped: * platform/mac/Skipped: * platform/qt/test_expectations.txt: Skipped the test here as it needs a rebaseline. TBR=jchaffraix@webkit.org Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=103317

Patch Set 1 #

Unified diffs Side-by-side diffs Delta from patch set Stats (+22 lines, -29 lines) Patch
M LayoutTests/platform/chromium-linux/fast/repaint/table-extra-bottom-grow-expected.png View Binary file 0 comments Download
M Source/WebCore/rendering/RenderTableCell.h View 1 chunk +1 line, -0 lines 0 comments Download
M Source/WebCore/rendering/RenderTableCell.cpp View 1 chunk +10 lines, -5 lines 0 comments Download
M Source/WebCore/rendering/RenderTableRow.h View 1 chunk +1 line, -0 lines 0 comments Download
M Source/WebCore/rendering/RenderTableRow.cpp View 2 chunks +10 lines, -5 lines 0 comments Download
M Source/WebCore/rendering/RenderTableSection.h View 1 chunk +0 lines, -4 lines 0 comments Download
M Source/WebCore/rendering/RenderTableSection.cpp View 2 chunks +0 lines, -15 lines 0 comments Download

Messages

Total messages: 1 (0 generated)
Julien - ping for review
9 years ago (2011-12-20 11:50:45 UTC) #1

          

Powered by Google App Engine
This is Rietveld 408576698