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

Issue 2095013003: Changes in DisplayItemClient for spv2 paint invalidation (Closed)

Created:
4 years, 6 months ago by Xianzhu
Modified:
4 years, 5 months ago
Reviewers:
chrishtr, pdr.
CC:
ajuma+watch_chromium.org, blink-layers+watch_chromium.org, blink-reviews, blink-reviews-layout_chromium.org, blink-reviews-paint_chromium.org, blink-reviews-platform-graphics_chromium.org, Rik, chromium-reviews, danakj+watch_chromium.org, dshwang, drott+blinkwatch_chromium.org, krit, eae+blinkwatch, f(malita), jbroman, jchaffraix+rendering, Justin Novosad, kinuko+watch, leviw+renderwatch, pdr+graphicswatchlist_chromium.org, pdr+renderingwatchlist_chromium.org, rwlbuis, Stephen Chennney, slimming-paint-reviews_chromium.org, szager+layoutwatch_chromium.org, zoltan1
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Changes in DisplayItemClient for spv2 paint invalidation 1. Save PaintInvalidationReason into the m_cacheGeneration field. This is for SPv2 rect-based paint invalidation after PaintController commit. See https://docs.google.com/document/d/1M669yu7nsF9Wrkm7nQFi3Pp2r-QmCMqm4K7fPPo-doA/edit# for details. 2. Let it implement cache control directly to avoid the macros. Used the macros to keep the class a pure interface to avoid multiple inheritance of non-interfaces. However, with DisplayItemClient being a non-interface, there is only one real multiple inheritance (Scrollbar from Widget and DisplayItemClient) which looks no harm. BUG=510908 Committed: https://crrev.com/b2fce5b3734ef52319ffe52f8c054a496d4e3fa4 Cr-Commit-Position: refs/heads/master@{#402384}

Patch Set 1 #

Patch Set 2 : Changes to DisplayItemClient #

Total comments: 4

Patch Set 3 : Changes to DisplayItemClient #

Total comments: 8

Patch Set 4 : Rebase #

Unified diffs Side-by-side diffs Delta from patch set Stats (+97 lines, -105 lines) Patch
M third_party/WebKit/Source/core/layout/LayoutObject.h View 1 2 3 2 chunks +11 lines, -13 lines 0 comments Download
M third_party/WebKit/Source/core/layout/LayoutObject.cpp View 1 2 3 2 chunks +4 lines, -5 lines 0 comments Download
M third_party/WebKit/Source/core/layout/line/InlineBox.h View 1 2 3 3 chunks +4 lines, -6 lines 0 comments Download
M third_party/WebKit/Source/core/layout/line/InlineBox.cpp View 1 2 3 1 chunk +2 lines, -3 lines 0 comments Download
M third_party/WebKit/Source/core/paint/PaintLayer.h View 1 chunk +0 lines, -2 lines 0 comments Download
M third_party/WebKit/Source/core/paint/PaintLayer.cpp View 1 chunk +0 lines, -1 line 0 comments Download
M third_party/WebKit/Source/platform/graphics/GraphicsLayer.h View 1 chunk +0 lines, -2 lines 0 comments Download
M third_party/WebKit/Source/platform/graphics/PaintInvalidationReason.h View 1 chunk +3 lines, -1 line 0 comments Download
M third_party/WebKit/Source/platform/graphics/paint/DisplayItemClient.h View 1 2 3 4 chunks +70 lines, -60 lines 0 comments Download
M third_party/WebKit/Source/platform/graphics/paint/DisplayItemClient.cpp View 1 2 3 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/Source/platform/graphics/paint/PaintController.h View 1 2 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/Source/platform/graphics/paint/PaintController.cpp View 1 2 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/Source/platform/graphics/paint/SkPictureBuilder.h View 1 chunk +0 lines, -2 lines 0 comments Download
M third_party/WebKit/Source/platform/scroll/Scrollbar.h View 1 chunk +0 lines, -2 lines 0 comments Download
M third_party/WebKit/Source/platform/testing/FakeDisplayItemClient.h View 1 chunk +0 lines, -2 lines 0 comments Download
M third_party/WebKit/Source/platform/testing/TestPaintArtifact.cpp View 1 chunk +0 lines, -1 line 0 comments Download
M third_party/WebKit/Source/web/LinkHighlightImpl.cpp View 1 chunk +0 lines, -1 line 0 comments Download
M third_party/WebKit/Source/web/PageOverlay.h View 1 chunk +0 lines, -1 line 0 comments Download

Messages

Total messages: 23 (11 generated)
Xianzhu
4 years, 6 months ago (2016-06-25 20:15:48 UTC) #5
pdr.
https://codereview.chromium.org/2095013003/diff/20001/third_party/WebKit/Source/platform/graphics/paint/DisplayItemClient.h File third_party/WebKit/Source/platform/graphics/paint/DisplayItemClient.h (right): https://codereview.chromium.org/2095013003/diff/20001/third_party/WebKit/Source/platform/graphics/paint/DisplayItemClient.h#newcode43 third_party/WebKit/Source/platform/graphics/paint/DisplayItemClient.h:43: if (s_nextGeneration < kFirstValidGeneration) I did some back-of-the-envelope math ...
4 years, 5 months ago (2016-06-27 18:55:04 UTC) #6
Xianzhu
https://codereview.chromium.org/2095013003/diff/20001/third_party/WebKit/Source/platform/graphics/paint/DisplayItemClient.h File third_party/WebKit/Source/platform/graphics/paint/DisplayItemClient.h (right): https://codereview.chromium.org/2095013003/diff/20001/third_party/WebKit/Source/platform/graphics/paint/DisplayItemClient.h#newcode43 third_party/WebKit/Source/platform/graphics/paint/DisplayItemClient.h:43: if (s_nextGeneration < kFirstValidGeneration) On 2016/06/27 18:55:04, pdr. wrote: ...
4 years, 5 months ago (2016-06-27 20:02:19 UTC) #7
pdr.
On 2016/06/27 at 20:02:19, wangxianzhu wrote: > https://codereview.chromium.org/2095013003/diff/20001/third_party/WebKit/Source/platform/graphics/paint/DisplayItemClient.h > File third_party/WebKit/Source/platform/graphics/paint/DisplayItemClient.h (right): > > https://codereview.chromium.org/2095013003/diff/20001/third_party/WebKit/Source/platform/graphics/paint/DisplayItemClient.h#newcode43 ...
4 years, 5 months ago (2016-06-27 20:51:20 UTC) #8
chrishtr
https://codereview.chromium.org/2095013003/diff/40001/third_party/WebKit/Source/core/layout/LayoutObject.cpp File third_party/WebKit/Source/core/layout/LayoutObject.cpp (left): https://codereview.chromium.org/2095013003/diff/40001/third_party/WebKit/Source/core/layout/LayoutObject.cpp#oldcode129 third_party/WebKit/Source/core/layout/LayoutObject.cpp:129: DisplayItemCacheGeneration cacheGeneration; Won't m_cacheGenerationOrInvalidationReason still be there by virtue ...
4 years, 5 months ago (2016-06-27 21:09:09 UTC) #9
Xianzhu
https://codereview.chromium.org/2095013003/diff/40001/third_party/WebKit/Source/core/layout/LayoutObject.cpp File third_party/WebKit/Source/core/layout/LayoutObject.cpp (left): https://codereview.chromium.org/2095013003/diff/40001/third_party/WebKit/Source/core/layout/LayoutObject.cpp#oldcode129 third_party/WebKit/Source/core/layout/LayoutObject.cpp:129: DisplayItemCacheGeneration cacheGeneration; On 2016/06/27 21:09:08, chrishtr wrote: > Won't ...
4 years, 5 months ago (2016-06-27 21:34:55 UTC) #10
chrishtr
lgtm
4 years, 5 months ago (2016-06-27 21:44:57 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/2095013003/40001
4 years, 5 months ago (2016-06-27 21:45:57 UTC) #13
commit-bot: I haz the power
Try jobs failed on following builders: mac_chromium_rel_ng on master.tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/mac_chromium_rel_ng/builds/251041)
4 years, 5 months ago (2016-06-27 21:55:08 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/2095013003/60001
4 years, 5 months ago (2016-06-28 00:19:39 UTC) #19
commit-bot: I haz the power
Committed patchset #4 (id:60001)
4 years, 5 months ago (2016-06-28 02:48:18 UTC) #21
commit-bot: I haz the power
4 years, 5 months ago (2016-06-28 02:49:38 UTC) #23
Message was sent while issue was closed.
Patchset 4 (id:??) landed as
https://crrev.com/b2fce5b3734ef52319ffe52f8c054a496d4e3fa4
Cr-Commit-Position: refs/heads/master@{#402384}

Powered by Google App Engine
This is Rietveld 408576698