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

Issue 2521613003: Add flag for tracking descendant paint property updates (Closed)

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

Description

Add flag for tracking descendant paint property updates This patch adds a flag for tracking whether a descendant needs a paint property update. When marking an object as needing a paint property update, we now set this flag for all ancestors. This flag will be used to stop the paint property update (and, prepaint tree walk) entirely if no descendant needs an update. This flag is similar to layout's |normalChildNeedsLayout| flag, and paint invalidation's |childShouldCheckForPaintInvalidation| flag. BUG=645667 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2 Committed: https://crrev.com/2459701934af4c8297ee26d351a1fbf9596c6bd5 Cr-Commit-Position: refs/heads/master@{#434080}

Patch Set 1 #

Total comments: 10

Patch Set 2 : Private setDescendantNeedsPaintPropertyUpdate #

Patch Set 3 : Privatize setDescendantNeedsPaintPropertyUpdate #

Patch Set 4 : Address Xianzhu's comments #

Total comments: 1
Unified diffs Side-by-side diffs Delta from patch set Stats (+102 lines, -20 lines) Patch
M third_party/WebKit/Source/core/frame/FrameView.cpp View 1 2 3 2 chunks +2 lines, -2 lines 0 comments Download
M third_party/WebKit/Source/core/layout/LayoutObject.h View 1 2 3 5 chunks +28 lines, -15 lines 1 comment Download
M third_party/WebKit/Source/core/layout/LayoutObject.cpp View 1 2 3 4 chunks +26 lines, -2 lines 0 comments Download
M third_party/WebKit/Source/core/layout/VisualRectMappingTest.cpp View 1 2 3 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/Source/core/paint/PaintPropertyTreeBuilderTest.cpp View 1 2 3 1 chunk +42 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/paint/PrePaintTreeWalk.cpp View 2 chunks +3 lines, -0 lines 0 comments Download

Messages

Total messages: 20 (10 generated)
pdr.
For context when reviewing this, here is a proof-of-concept that uses this patch to prune ...
4 years, 1 month ago (2016-11-21 19:11:29 UTC) #4
chrishtr
https://codereview.chromium.org/2521613003/diff/1/third_party/WebKit/Source/core/layout/LayoutObject.h File third_party/WebKit/Source/core/layout/LayoutObject.h (right): https://codereview.chromium.org/2521613003/diff/1/third_party/WebKit/Source/core/layout/LayoutObject.h#newcode1710 third_party/WebKit/Source/core/layout/LayoutObject.h:1710: void setDescendantNeedsPaintPropertyUpdate() { Why do these need to be ...
4 years, 1 month ago (2016-11-21 19:23:03 UTC) #5
pdr.
https://codereview.chromium.org/2521613003/diff/1/third_party/WebKit/Source/core/layout/LayoutObject.h File third_party/WebKit/Source/core/layout/LayoutObject.h (right): https://codereview.chromium.org/2521613003/diff/1/third_party/WebKit/Source/core/layout/LayoutObject.h#newcode1710 third_party/WebKit/Source/core/layout/LayoutObject.h:1710: void setDescendantNeedsPaintPropertyUpdate() { On 2016/11/21 at 19:23:03, chrishtr wrote: ...
4 years, 1 month ago (2016-11-21 19:28:17 UTC) #6
Xianzhu
https://codereview.chromium.org/2521613003/diff/1/third_party/WebKit/Source/core/layout/LayoutObject.h File third_party/WebKit/Source/core/layout/LayoutObject.h (right): https://codereview.chromium.org/2521613003/diff/1/third_party/WebKit/Source/core/layout/LayoutObject.h#newcode1753 third_party/WebKit/Source/core/layout/LayoutObject.h:1753: // this to check m_parent first. I suspect if ...
4 years, 1 month ago (2016-11-21 19:41:34 UTC) #7
pdr.
https://codereview.chromium.org/2521613003/diff/1/third_party/WebKit/Source/core/layout/LayoutObject.h File third_party/WebKit/Source/core/layout/LayoutObject.h (right): https://codereview.chromium.org/2521613003/diff/1/third_party/WebKit/Source/core/layout/LayoutObject.h#newcode1753 third_party/WebKit/Source/core/layout/LayoutObject.h:1753: // this to check m_parent first. On 2016/11/21 at ...
4 years, 1 month ago (2016-11-22 02:55:35 UTC) #8
Xianzhu
lgtm https://codereview.chromium.org/2521613003/diff/60001/third_party/WebKit/Source/core/layout/LayoutObject.h File third_party/WebKit/Source/core/layout/LayoutObject.h (right): https://codereview.chromium.org/2521613003/diff/60001/third_party/WebKit/Source/core/layout/LayoutObject.h#newcode2065 third_party/WebKit/Source/core/layout/LayoutObject.h:2065: LayoutObject* slowPaintInvalidationParentForTesting() const; I wonder if it works ...
4 years, 1 month ago (2016-11-23 00:12:48 UTC) #13
pdr.
On 2016/11/23 at 00:12:48, wangxianzhu wrote: > lgtm > > https://codereview.chromium.org/2521613003/diff/60001/third_party/WebKit/Source/core/layout/LayoutObject.h > File third_party/WebKit/Source/core/layout/LayoutObject.h (right): ...
4 years, 1 month ago (2016-11-23 01:53:30 UTC) #14
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/2521613003/60001
4 years, 1 month ago (2016-11-23 01:54:20 UTC) #16
commit-bot: I haz the power
Committed patchset #4 (id:60001)
4 years, 1 month ago (2016-11-23 01:59:56 UTC) #18
commit-bot: I haz the power
4 years, 1 month ago (2016-11-23 02:02:54 UTC) #20
Message was sent while issue was closed.
Patchset 4 (id:??) landed as
https://crrev.com/2459701934af4c8297ee26d351a1fbf9596c6bd5
Cr-Commit-Position: refs/heads/master@{#434080}

Powered by Google App Engine
This is Rietveld 408576698