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

Issue 2884763003: Combine and simplify LayoutTableSection::DirtiedRows() and DirtiedEffectiveColumns() (Closed)

Created:
3 years, 7 months ago by Xianzhu
Modified:
3 years, 4 months ago
Reviewers:
dgrogan, wkorman
CC:
chromium-reviews, pdr+renderingwatchlist_chromium.org, zoltan1, blink-reviews-layout_chromium.org, szager+layoutwatch_chromium.org, eae+blinkwatch, leviw+renderwatch, dshwang, jchaffraix+rendering, blink-reviews-paint_chromium.org, blink-reviews
Target Ref:
refs/heads/master
Project:
chromium
Visibility:
Public.

Description

Combine and simplify LayoutTableSection::DirtiedRows() and DirtiedEffectiveColumns() As both need to get covered rows and covered columns, combining them can reduce code lines and cost. Also change: - With collapsed borders, just expand the rows and columns by 1 cell in each side. This removes dependency to LayoutTable::OuterBorderXXX(). (This is the initial purpose of this CL, for https://codereview.chromium.org/2890543002 which will remove LayoutTable::OuterBorderXXX()). - Besides primary cells, also expand rows and columns to cover all overlapping cells. This avoids the extra logic in TableSectionPainter handling overlapping cells. CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2 Review-Url: https://codereview.chromium.org/2884763003 Cr-Commit-Position: refs/heads/master@{#472660} Committed: https://chromium.googlesource.com/chromium/src/+/220cde510f9c973d9c2b546a8d8b3c9196cfe7ef

Patch Set 1 #

Patch Set 2 : - #

Total comments: 4

Patch Set 3 : Rebase on origin/master #

Total comments: 1
Unified diffs Side-by-side diffs Delta from patch set Stats (+248 lines, -236 lines) Patch
M third_party/WebKit/Source/core/layout/LayoutTableCell.h View 1 2 1 chunk +8 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/layout/LayoutTableSection.h View 1 2 3 chunks +8 lines, -6 lines 0 comments Download
M third_party/WebKit/Source/core/layout/LayoutTableSection.cpp View 1 2 2 chunks +64 lines, -78 lines 1 comment Download
M third_party/WebKit/Source/core/layout/LayoutTableSectionTest.cpp View 1 2 8 chunks +132 lines, -89 lines 0 comments Download
M third_party/WebKit/Source/core/paint/TablePainterTest.cpp View 1 2 1 chunk +2 lines, -2 lines 0 comments Download
M third_party/WebKit/Source/core/paint/TableRowPainter.cpp View 2 chunks +5 lines, -3 lines 0 comments Download
M third_party/WebKit/Source/core/paint/TableSectionPainter.cpp View 1 2 10 chunks +29 lines, -58 lines 0 comments Download

Dependent Patchsets:

Messages

Total messages: 34 (20 generated)
Xianzhu
https://codereview.chromium.org/2884763003/diff/20001/third_party/WebKit/Source/core/paint/TableSectionPainter.cpp File third_party/WebKit/Source/core/paint/TableSectionPainter.cpp (right): https://codereview.chromium.org/2884763003/diff/20001/third_party/WebKit/Source/core/paint/TableSectionPainter.cpp#newcode265 third_party/WebKit/Source/core/paint/TableSectionPainter.cpp:265: cells.push_back(cell); This is simplified because dirtied_columns and dirtied_rows now ...
3 years, 7 months ago (2017-05-16 17:18:13 UTC) #4
wkorman
lgtm https://codereview.chromium.org/2884763003/diff/20001/third_party/WebKit/Source/core/paint/TableRowPainter.cpp File third_party/WebKit/Source/core/paint/TableRowPainter.cpp (right): https://codereview.chromium.org/2884763003/diff/20001/third_party/WebKit/Source/core/paint/TableRowPainter.cpp#newcode38 third_party/WebKit/Source/core/paint/TableRowPainter.cpp:38: dirtied_rows, dirtied_columns); If we passed pointers rather than ...
3 years, 7 months ago (2017-05-16 20:30:11 UTC) #9
Xianzhu
https://codereview.chromium.org/2884763003/diff/20001/third_party/WebKit/Source/core/paint/TableRowPainter.cpp File third_party/WebKit/Source/core/paint/TableRowPainter.cpp (right): https://codereview.chromium.org/2884763003/diff/20001/third_party/WebKit/Source/core/paint/TableRowPainter.cpp#newcode38 third_party/WebKit/Source/core/paint/TableRowPainter.cpp:38: dirtied_rows, dirtied_columns); On 2017/05/16 20:30:11, wkorman wrote: > If ...
3 years, 7 months ago (2017-05-17 00:33:22 UTC) #12
commit-bot: I haz the power
CQ is trying da patch. Follow status at: https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2884763003/40001
3 years, 7 months ago (2017-05-17 00:34:52 UTC) #13
commit-bot: I haz the power
Try jobs failed on following builders: linux_chromium_rel_ng on master.tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_rel_ng/builds/456788)
3 years, 7 months ago (2017-05-17 02:25:20 UTC) #15
commit-bot: I haz the power
CQ is trying da patch. Follow status at: https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2884763003/40001
3 years, 7 months ago (2017-05-17 02:35:41 UTC) #17
commit-bot: I haz the power
Try jobs failed on following builders: linux_chromium_rel_ng on master.tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_rel_ng/builds/456840)
3 years, 7 months ago (2017-05-17 04:06:11 UTC) #19
commit-bot: I haz the power
CQ is trying da patch. Follow status at: https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2884763003/40001
3 years, 7 months ago (2017-05-17 15:51:09 UTC) #21
commit-bot: I haz the power
Try jobs failed on following builders: linux_chromium_rel_ng on master.tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_rel_ng/builds/457556)
3 years, 7 months ago (2017-05-17 17:34:51 UTC) #23
commit-bot: I haz the power
CQ is trying da patch. Follow status at: https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2884763003/40001
3 years, 7 months ago (2017-05-17 18:06:13 UTC) #25
commit-bot: I haz the power
Try jobs failed on following builders: linux_chromium_rel_ng on master.tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_rel_ng/builds/457695)
3 years, 7 months ago (2017-05-17 20:35:13 UTC) #27
commit-bot: I haz the power
CQ is trying da patch. Follow status at: https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2884763003/40001
3 years, 7 months ago (2017-05-18 02:13:45 UTC) #29
commit-bot: I haz the power
Committed patchset #3 (id:40001) as https://chromium.googlesource.com/chromium/src/+/220cde510f9c973d9c2b546a8d8b3c9196cfe7ef
3 years, 7 months ago (2017-05-18 04:26:57 UTC) #32
dgrogan
3 years, 4 months ago (2017-08-10 02:30:03 UTC) #34
Message was sent while issue was closed.
https://codereview.chromium.org/2884763003/diff/40001/third_party/WebKit/Sour...
File third_party/WebKit/Source/core/layout/LayoutTableSection.cpp (right):

https://codereview.chromium.org/2884763003/diff/40001/third_party/WebKit/Sour...
third_party/WebKit/Source/core/layout/LayoutTableSection.cpp:1531: columns =
CellSpan();
wkorman, could you take another look at this? Seems like a return is missing? I
blindly added it to try to fix https://crbug.com/740403 but then
LayoutTableSectionTest.EmptySectionDirtiedRowsAndEffeciveColumns fails, so I'm a
little confused.

If this (no return) is correct, what's the purpose of this clause?

Powered by Google App Engine
This is Rietveld 408576698