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

Issue 2476813002: Move LayoutObject::m_previousPosition... into a global map in ObjectPaintInvalidator (Closed)

Created:
4 years, 1 month ago by Xianzhu
Modified:
4 years, 1 month ago
Reviewers:
chrishtr, pdr.
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

Move LayoutObject::m_previousPosition... into a global map in ObjectPaintInvalidator Save the field in a global map in ObjectPaintInvalidator only when: - the object is not a LayoutText (because checking change of visual rect suffices to detect layout caused invalidation); - the location is different from visual rect location (if they are same, we can just get previous location from previous visual rect) Also renamed the field to previousLocationInBacking. Stat shows that only 4.6% of all LayoutObjects need to save the previous location (https://ct.skia.org/chromium_perf_runs/ run 1436). This makes space for storing previous paint offset for all objects, which is needed by incremental paint property tree update, and paint offset change detection. BUG=660195 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2 Committed: https://crrev.com/31922c6cd1181c77ae039adf22243cae6ca526f3 Cr-Commit-Position: refs/heads/master@{#430095}

Patch Set 1 #

Patch Set 2 : - #

Patch Set 3 : - #

Total comments: 8

Patch Set 4 : - #

Total comments: 2

Patch Set 5 : doc #

Unified diffs Side-by-side diffs Delta from patch set Stats (+103 lines, -48 lines) Patch
M third_party/WebKit/Source/core/layout/LayoutBoxModelObject.cpp View 1 2 chunks +8 lines, -4 lines 0 comments Download
M third_party/WebKit/Source/core/layout/LayoutObject.h View 1 2 3 4 8 chunks +17 lines, -25 lines 0 comments Download
M third_party/WebKit/Source/core/layout/LayoutObject.cpp View 1 2 3 3 chunks +5 lines, -5 lines 0 comments Download
M third_party/WebKit/Source/core/layout/PaintInvalidationState.h View 1 2 3 1 chunk +3 lines, -2 lines 0 comments Download
M third_party/WebKit/Source/core/layout/PaintInvalidationState.cpp View 1 2 3 2 chunks +10 lines, -3 lines 0 comments Download
M third_party/WebKit/Source/core/paint/ObjectPaintInvalidator.h View 2 chunks +4 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/paint/ObjectPaintInvalidator.cpp View 1 2 3 2 chunks +35 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/paint/PaintInvalidator.h View 1 2 3 2 chunks +11 lines, -3 lines 0 comments Download
M third_party/WebKit/Source/core/paint/PaintInvalidator.cpp View 1 2 3 3 chunks +10 lines, -6 lines 0 comments Download

Messages

Total messages: 34 (25 generated)
Xianzhu
4 years, 1 month ago (2016-11-04 16:06:57 UTC) #10
chrishtr
https://codereview.chromium.org/2476813002/diff/40001/third_party/WebKit/Source/core/layout/LayoutObject.cpp File third_party/WebKit/Source/core/layout/LayoutObject.cpp (right): https://codereview.chromium.org/2476813002/diff/40001/third_party/WebKit/Source/core/layout/LayoutObject.cpp#newcode1212 third_party/WebKit/Source/core/layout/LayoutObject.cpp:1212: context.newLocation = !isBoxModelObject() && !isSVGContainer() You don't need a ...
4 years, 1 month ago (2016-11-04 18:20:07 UTC) #18
Xianzhu
https://codereview.chromium.org/2476813002/diff/40001/third_party/WebKit/Source/core/layout/LayoutObject.cpp File third_party/WebKit/Source/core/layout/LayoutObject.cpp (right): https://codereview.chromium.org/2476813002/diff/40001/third_party/WebKit/Source/core/layout/LayoutObject.cpp#newcode1212 third_party/WebKit/Source/core/layout/LayoutObject.cpp:1212: context.newLocation = !isBoxModelObject() && !isSVGContainer() On 2016/11/04 18:20:06, chrishtr ...
4 years, 1 month ago (2016-11-04 19:11:03 UTC) #19
chrishtr
https://codereview.chromium.org/2476813002/diff/60001/third_party/WebKit/Source/core/layout/LayoutObject.h File third_party/WebKit/Source/core/layout/LayoutObject.h (right): https://codereview.chromium.org/2476813002/diff/60001/third_party/WebKit/Source/core/layout/LayoutObject.h#newcode1745 third_party/WebKit/Source/core/layout/LayoutObject.h:1745: bool hasPreviousLocationInBacking() const { Document why this bit is ...
4 years, 1 month ago (2016-11-04 21:48:07 UTC) #26
Xianzhu
https://codereview.chromium.org/2476813002/diff/60001/third_party/WebKit/Source/core/layout/LayoutObject.h File third_party/WebKit/Source/core/layout/LayoutObject.h (right): https://codereview.chromium.org/2476813002/diff/60001/third_party/WebKit/Source/core/layout/LayoutObject.h#newcode1745 third_party/WebKit/Source/core/layout/LayoutObject.h:1745: bool hasPreviousLocationInBacking() const { On 2016/11/04 21:48:07, chrishtr wrote: ...
4 years, 1 month ago (2016-11-04 22:10:24 UTC) #27
chrishtr
lgtm
4 years, 1 month ago (2016-11-04 22:48:48 UTC) #29
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/2476813002/80001
4 years, 1 month ago (2016-11-04 22:49:47 UTC) #30
commit-bot: I haz the power
Committed patchset #5 (id:80001)
4 years, 1 month ago (2016-11-05 00:41:33 UTC) #32
commit-bot: I haz the power
4 years, 1 month ago (2016-11-05 00:45:05 UTC) #34
Message was sent while issue was closed.
Patchset 5 (id:??) landed as
https://crrev.com/31922c6cd1181c77ae039adf22243cae6ca526f3
Cr-Commit-Position: refs/heads/master@{#430095}

Powered by Google App Engine
This is Rietveld 408576698