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

Issue 2615203002: Remove multicol special-cases from invalidation and the pre-paint tree walk (Closed)

Created:
3 years, 11 months ago by pdr.
Modified:
3 years, 11 months ago
Reviewers:
Xianzhu
CC:
blink-reviews, blink-reviews-paint_chromium.org, chromium-reviews, dshwang
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Remove multicol special-cases from invalidation and the pre-paint tree walk Multicolumn spanners paint out-of-flow through placeholder LayoutObjects but their paint properties still follow the layout tree in DOM order[1]. This patch switches the pre-paint tree walk to be entirely DOM order instead of having a special-case for the paint-order multicolumn spanner. This patch also changes paint invalidation of multicolumn to follow DOM ancestors. With this approach, the pre-paint tree walk and paint invalidation can be simplified, and only paint offset needs special adjustment for multicolumn during the pre-paint tree walk. [1] For example, the following layout tree: LayoutBlockFlow DIV style="columns: 2" LayoutMultiColumnFlowThread (anonymous) LayoutBlockFlow (column spanner) DIV id="spanner" LayoutMultiColumnSpannerPlaceholder (anonymous) paint order: LayoutBlockFlow DIV LayoutMultiColumnFlowThread (anonymous) LayoutMultiColumnSpannerPlaceholder (anonymous) LayoutBlockFlow (column spanner) DIV id="spanner" DOM order: LayoutBlockFlow DIV LayoutMultiColumnFlowThread (anonymous) LayoutBlockFlow (column spanner) DIV id="spanner" LayoutMultiColumnSpannerPlaceholder (anonymous) BUG=648274 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2 Review-Url: https://codereview.chromium.org/2615203002 Cr-Commit-Position: refs/heads/master@{#442149} Committed: https://chromium.googlesource.com/chromium/src/+/78357e64419e215213610a27cd89a94da49e6bbe

Patch Set 1 #

Patch Set 2 : Remove paint invalidation multi-column special-case #

Patch Set 3 : Rebase #

Patch Set 4 : Minor cleanup #

Patch Set 5 : Cleanup comment #

Total comments: 1

Patch Set 6 : Cleanup comment #

Unified diffs Side-by-side diffs Delta from patch set Stats (+25 lines, -109 lines) Patch
M third_party/WebKit/Source/core/layout/LayoutMultiColumnSpannerPlaceholder.h View 1 2 3 1 chunk +0 lines, -2 lines 0 comments Download
M third_party/WebKit/Source/core/layout/LayoutMultiColumnSpannerPlaceholder.cpp View 1 2 3 1 chunk +0 lines, -7 lines 0 comments Download
M third_party/WebKit/Source/core/layout/LayoutObject.h View 1 2 1 chunk +2 lines, -5 lines 0 comments Download
M third_party/WebKit/Source/core/layout/LayoutObject.cpp View 1 2 3 chunks +7 lines, -10 lines 0 comments Download
M third_party/WebKit/Source/core/paint/PaintInvalidator.cpp View 1 2 3 4 5 1 chunk +4 lines, -2 lines 0 comments Download
M third_party/WebKit/Source/core/paint/PaintPropertyTreeBuilder.h View 1 2 1 chunk +0 lines, -2 lines 0 comments Download
M third_party/WebKit/Source/core/paint/PaintPropertyTreeBuilder.cpp View 1 2 3 4 chunks +9 lines, -60 lines 0 comments Download
M third_party/WebKit/Source/core/paint/PrePaintTreeWalk.cpp View 1 2 2 chunks +3 lines, -21 lines 0 comments Download

Messages

Total messages: 25 (19 generated)
pdr.
(not ready for a real review) This new approach simplifies the treewalk, but it has ...
3 years, 11 months ago (2017-01-06 04:51:24 UTC) #3
Xianzhu
On 2017/01/06 04:51:24, pdr. wrote: > (not ready for a real review) > > This ...
3 years, 11 months ago (2017-01-06 16:58:23 UTC) #4
pdr.
Woohoo, ready for review
3 years, 11 months ago (2017-01-07 01:05:38 UTC) #13
Xianzhu
lgtm with one comment. This is great! https://codereview.chromium.org/2615203002/diff/80001/third_party/WebKit/Source/core/paint/PaintInvalidator.cpp File third_party/WebKit/Source/core/paint/PaintInvalidator.cpp (right): https://codereview.chromium.org/2615203002/diff/80001/third_party/WebKit/Source/core/paint/PaintInvalidator.cpp#newcode204 third_party/WebKit/Source/core/paint/PaintInvalidator.cpp:204: // See ...
3 years, 11 months ago (2017-01-07 01:12:08 UTC) #16
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/2615203002/100001
3 years, 11 months ago (2017-01-07 02:04:08 UTC) #22
commit-bot: I haz the power
3 years, 11 months ago (2017-01-07 03:19:22 UTC) #25
Message was sent while issue was closed.
Committed patchset #6 (id:100001) as
https://chromium.googlesource.com/chromium/src/+/78357e64419e215213610a27cd89...

Powered by Google App Engine
This is Rietveld 408576698