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

Issue 2782343002: Store local border box property cache outside ObjectPaintProperties (Closed)

Created:
3 years, 8 months ago by pdr.
Modified:
3 years, 8 months 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/heads/master
Project:
chromium
Visibility:
Public.

Description

Store local border box property cache outside ObjectPaintProperties This patch moves the local border box property cache out of ObjectPaintProperties so it can be managed separately. Data in crbug.com/700452 [1] shows that LocalBorderBoxProperties is needed much more than ObjectPaintProperties so this will save memory. The big change here is to move LocalBorderBoxProperties from ObjectPaintProperties to LayoutObject::RarePaintData. Because the contents properties cache depends on the local border box properties, it has also been moved to RarePaintData. This patch reduces memory on youtube.com by 106.7KB [1]. [1] https://docs.google.com/spreadsheets/d/1IC1JI0sX7QsR9FmA4G1-F9E_c3xRKDNoV3SkDKQ822U BUG=700452 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2 Review-Url: https://codereview.chromium.org/2782343002 Cr-Commit-Position: refs/heads/master@{#461340} Committed: https://chromium.googlesource.com/chromium/src/+/4b973463f5203e58f12e363703026d6acb808026

Patch Set 1 #

Total comments: 1

Patch Set 2 : Rebase #

Total comments: 1

Patch Set 3 : Rebase #

Patch Set 4 : Address reviewer comments: use default unique_ptr ctor #

Patch Set 5 : Rebase #

Unified diffs Side-by-side diffs Delta from patch set Stats (+290 lines, -276 lines) Patch
M third_party/WebKit/Source/core/frame/LocalFrame.cpp View 1 2 3 4 1 chunk +1 line, -2 lines 0 comments Download
M third_party/WebKit/Source/core/layout/LayoutObject.h View 1 2 3 4 5 chunks +59 lines, -3 lines 0 comments Download
M third_party/WebKit/Source/core/layout/LayoutObject.cpp View 1 2 3 4 2 chunks +43 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/layout/VisualRectMappingTest.cpp View 1 2 3 4 1 chunk +2 lines, -3 lines 0 comments Download
M third_party/WebKit/Source/core/paint/FindPropertiesNeedingUpdate.h View 3 chunks +26 lines, -15 lines 0 comments Download
M third_party/WebKit/Source/core/paint/ObjectPaintProperties.h View 5 chunks +11 lines, -71 lines 0 comments Download
M third_party/WebKit/Source/core/paint/ObjectPaintProperties.cpp View 1 chunk +17 lines, -11 lines 0 comments Download
M third_party/WebKit/Source/core/paint/PaintInvalidator.cpp View 2 chunks +2 lines, -5 lines 0 comments Download
M third_party/WebKit/Source/core/paint/PaintLayer.cpp View 1 2 3 4 1 chunk +9 lines, -7 lines 0 comments Download
M third_party/WebKit/Source/core/paint/PaintLayerClipper.cpp View 1 2 3 4 6 chunks +35 lines, -39 lines 0 comments Download
M third_party/WebKit/Source/core/paint/PaintLayerPainter.cpp View 1 2 3 4 2 chunks +8 lines, -12 lines 0 comments Download
M third_party/WebKit/Source/core/paint/PaintPropertyTreeBuilder.cpp View 1 2 3 4 1 chunk +4 lines, -5 lines 0 comments Download
M third_party/WebKit/Source/core/paint/PaintPropertyTreeBuilderTest.cpp View 1 2 3 4 25 chunks +64 lines, -94 lines 0 comments Download
M third_party/WebKit/Source/core/paint/PrePaintTreeWalk.cpp View 1 2 3 4 1 chunk +9 lines, -9 lines 0 comments Download

Messages

Total messages: 20 (16 generated)
pdr.
https://codereview.chromium.org/2782343002/diff/1/third_party/WebKit/Source/core/layout/LayoutObject.cpp File third_party/WebKit/Source/core/layout/LayoutObject.cpp (right): https://codereview.chromium.org/2782343002/diff/1/third_party/WebKit/Source/core/layout/LayoutObject.cpp#newcode3591 third_party/WebKit/Source/core/layout/LayoutObject.cpp:3591: m_contentsProperties = ObjectPaintProperties::contentsProperties( I don't like how this patch ...
3 years, 8 months ago (2017-03-30 00:13:47 UTC) #8
Xianzhu
lgtm https://codereview.chromium.org/2782343002/diff/20001/third_party/WebKit/Source/core/layout/LayoutObject.cpp File third_party/WebKit/Source/core/layout/LayoutObject.cpp (right): https://codereview.chromium.org/2782343002/diff/20001/third_party/WebKit/Source/core/layout/LayoutObject.cpp#newcode3559 third_party/WebKit/Source/core/layout/LayoutObject.cpp:3559: m_contentsProperties(nullptr) {} Nit: omit this to use default ...
3 years, 8 months ago (2017-03-30 00:41:11 UTC) #9
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/2782343002/80001
3 years, 8 months ago (2017-04-02 04:11:20 UTC) #17
commit-bot: I haz the power
3 years, 8 months ago (2017-04-02 05:59:01 UTC) #20
Message was sent while issue was closed.
Committed patchset #5 (id:80001) as
https://chromium.googlesource.com/chromium/src/+/4b973463f5203e58f12e36370302...

Powered by Google App Engine
This is Rietveld 408576698