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

Issue 2051333005: Let FrameView track object paint invalidations (Closed)

Created:
4 years, 6 months ago by Xianzhu
Modified:
4 years, 6 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@TrackInvalidation
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Let FrameView track object paint invalidations With client-side invalidation flags, PaintController no longer need to track invalidation of clients for painting purpose. We also don't need to distinguish on which GraphicsLayer a client is invalidated because when it's invalidated it will be invalid on all GraphicsLayers. Let FrameView track object paint invalidations so that we don't need to send object paint invalidations to backings. BUG=617799 Committed: https://crrev.com/5cdeb1b846e2f1c8bcab391e0b0ea55faf5c5b12 Cr-Commit-Position: refs/heads/master@{#400605}

Patch Set 1 #

Patch Set 2 : x #

Patch Set 3 : - #

Patch Set 4 : -- #

Patch Set 5 : x #

Patch Set 6 : x #

Total comments: 10

Patch Set 7 : - #

Total comments: 8

Patch Set 8 : Address comments #

Patch Set 9 : - #

Patch Set 10 : NeedsRebaseline #

Patch Set 11 : NeedsRebaseline #

Patch Set 12 : NeedsRebaseline #

Unified diffs Side-by-side diffs Delta from patch set Stats (+1062 lines, -405 lines) Patch
M third_party/WebKit/LayoutTests/TestExpectations View 1 2 3 4 5 6 7 8 9 10 11 8 chunks +885 lines, -135 lines 0 comments Download
M third_party/WebKit/Source/core/frame/FrameView.h View 1 2 3 4 5 6 7 4 chunks +12 lines, -3 lines 0 comments Download
M third_party/WebKit/Source/core/frame/FrameView.cpp View 1 2 3 4 5 6 7 5 chunks +28 lines, -6 lines 0 comments Download
M third_party/WebKit/Source/core/frame/LocalFrame.h View 1 2 3 4 5 1 chunk +1 line, -0 lines 0 comments Download
M third_party/WebKit/Source/core/frame/LocalFrame.cpp View 1 2 3 4 5 6 7 2 chunks +13 lines, -1 line 0 comments Download
M third_party/WebKit/Source/core/layout/LayoutBlockFlow.h View 1 2 3 4 5 6 7 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/Source/core/layout/LayoutBlockFlow.cpp View 1 2 chunks +3 lines, -3 lines 0 comments Download
M third_party/WebKit/Source/core/layout/LayoutBlockFlowLine.cpp View 1 2 3 4 5 6 7 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/Source/core/layout/LayoutBoxModelObject.h View 1 chunk +0 lines, -4 lines 0 comments Download
M third_party/WebKit/Source/core/layout/LayoutBoxModelObject.cpp View 1 2 3 4 5 6 7 2 chunks +1 line, -23 lines 0 comments Download
M third_party/WebKit/Source/core/layout/LayoutInline.h View 1 2 3 4 5 6 7 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/Source/core/layout/LayoutInline.cpp View 1 1 chunk +3 lines, -3 lines 0 comments Download
M third_party/WebKit/Source/core/layout/LayoutObject.h View 1 2 3 4 5 6 7 4 chunks +20 lines, -10 lines 0 comments Download
M third_party/WebKit/Source/core/layout/LayoutObject.cpp View 1 2 3 4 5 6 7 9 chunks +33 lines, -58 lines 0 comments Download
M third_party/WebKit/Source/core/layout/LayoutObjectChildList.cpp View 1 2 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/Source/core/layout/LayoutScrollbar.h View 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/Source/core/layout/LayoutScrollbar.cpp View 1 chunk +2 lines, -2 lines 0 comments Download
M third_party/WebKit/Source/core/layout/LayoutTable.cpp View 1 2 chunks +3 lines, -3 lines 0 comments Download
M third_party/WebKit/Source/core/layout/LayoutTableCell.cpp View 1 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/Source/core/layout/LayoutText.h View 1 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/Source/core/layout/LayoutText.cpp View 1 1 chunk +4 lines, -4 lines 0 comments Download
M third_party/WebKit/Source/core/layout/LayoutView.cpp View 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/Source/core/layout/api/LineLayoutItem.h View 1 2 3 4 5 6 7 1 chunk +2 lines, -2 lines 0 comments Download
M third_party/WebKit/Source/core/layout/compositing/CompositedLayerMapping.h View 1 chunk +0 lines, -6 lines 0 comments Download
M third_party/WebKit/Source/core/layout/compositing/CompositedLayerMapping.cpp View 1 chunk +0 lines, -14 lines 0 comments Download
M third_party/WebKit/Source/core/layout/compositing/PaintLayerCompositor.h View 1 2 3 2 chunks +2 lines, -1 line 0 comments Download
M third_party/WebKit/Source/core/layout/compositing/PaintLayerCompositor.cpp View 1 2 3 4 5 6 7 3 chunks +4 lines, -3 lines 0 comments Download
M third_party/WebKit/Source/core/layout/line/InlineBox.cpp View 1 2 3 4 5 6 7 8 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/Source/core/paint/LineBoxListPainter.cpp View 2 chunks +3 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/paint/PaintInvalidationCapableScrollableArea.cpp View 1 2 3 4 5 6 7 4 chunks +6 lines, -6 lines 0 comments Download
M third_party/WebKit/Source/platform/graphics/GraphicsLayer.h View 1 2 3 3 chunks +5 lines, -7 lines 0 comments Download
M third_party/WebKit/Source/platform/graphics/GraphicsLayer.cpp View 1 2 3 4 5 6 7 8 chunks +19 lines, -35 lines 0 comments Download
M third_party/WebKit/Source/platform/graphics/paint/DrawingRecorder.cpp View 1 chunk +1 line, -2 lines 0 comments Download
M third_party/WebKit/Source/platform/graphics/paint/PaintController.h View 4 chunks +0 lines, -23 lines 0 comments Download
M third_party/WebKit/Source/platform/graphics/paint/PaintController.cpp View 1 2 3 4 5 6 7 8 5 chunks +2 lines, -41 lines 0 comments Download
M third_party/WebKit/Source/web/LinkHighlightImpl.cpp View 1 2 3 4 5 6 7 1 chunk +1 line, -1 line 0 comments Download

Dependent Patchsets:

Messages

Total messages: 28 (12 generated)
Xianzhu
4 years, 6 months ago (2016-06-13 16:55:15 UTC) #3
chrishtr
https://codereview.chromium.org/2051333005/diff/100001/third_party/WebKit/Source/core/layout/LayoutObject.cpp File third_party/WebKit/Source/core/layout/LayoutObject.cpp (left): https://codereview.chromium.org/2051333005/diff/100001/third_party/WebKit/Source/core/layout/LayoutObject.cpp#oldcode1241 third_party/WebKit/Source/core/layout/LayoutObject.cpp:1241: if (!frameView || !frameView->isTrackingPaintInvalidations()) { Why is this conditional ...
4 years, 6 months ago (2016-06-13 20:18:52 UTC) #4
Xianzhu
https://codereview.chromium.org/2051333005/diff/100001/third_party/WebKit/Source/core/layout/LayoutObject.cpp File third_party/WebKit/Source/core/layout/LayoutObject.cpp (left): https://codereview.chromium.org/2051333005/diff/100001/third_party/WebKit/Source/core/layout/LayoutObject.cpp#oldcode1241 third_party/WebKit/Source/core/layout/LayoutObject.cpp:1241: if (!frameView || !frameView->isTrackingPaintInvalidations()) { On 2016/06/13 20:18:52, chrishtr ...
4 years, 6 months ago (2016-06-13 20:52:01 UTC) #5
Xianzhu
https://codereview.chromium.org/2051333005/diff/100001/third_party/WebKit/Source/platform/graphics/GraphicsLayer.cpp File third_party/WebKit/Source/platform/graphics/GraphicsLayer.cpp (left): https://codereview.chromium.org/2051333005/diff/100001/third_party/WebKit/Source/platform/graphics/GraphicsLayer.cpp#oldcode596 third_party/WebKit/Source/platform/graphics/GraphicsLayer.cpp:596: // The caller must check isTrackingOrCheckingPaintInvalidations() before calling this ...
4 years, 6 months ago (2016-06-16 19:06:14 UTC) #6
chrishtr
https://codereview.chromium.org/2051333005/diff/120001/third_party/WebKit/Source/core/frame/FrameView.cpp File third_party/WebKit/Source/core/frame/FrameView.cpp (left): https://codereview.chromium.org/2051333005/diff/120001/third_party/WebKit/Source/core/frame/FrameView.cpp#oldcode385 third_party/WebKit/Source/core/frame/FrameView.cpp:385: layoutObject->invalidatePaintRectangleNotInvalidatingDisplayItemClients(LayoutRect(paintInvalidationRect)); Why is it ok to change this to ...
4 years, 6 months ago (2016-06-17 07:06:50 UTC) #7
Xianzhu
https://codereview.chromium.org/2051333005/diff/120001/third_party/WebKit/Source/core/frame/FrameView.cpp File third_party/WebKit/Source/core/frame/FrameView.cpp (left): https://codereview.chromium.org/2051333005/diff/120001/third_party/WebKit/Source/core/frame/FrameView.cpp#oldcode385 third_party/WebKit/Source/core/frame/FrameView.cpp:385: layoutObject->invalidatePaintRectangleNotInvalidatingDisplayItemClients(LayoutRect(paintInvalidationRect)); On 2016/06/17 07:06:49, chrishtr wrote: > Why is ...
4 years, 6 months ago (2016-06-17 18:39:31 UTC) #8
chrishtr
lgtm
4 years, 6 months ago (2016-06-18 08:28:46 UTC) #9
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/2051333005/180001
4 years, 6 months ago (2016-06-18 20:14:27 UTC) #12
commit-bot: I haz the power
Try jobs failed on following builders: win_chromium_rel_ng on tryserver.chromium.win (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.win/builders/win_chromium_rel_ng/builds/241354)
4 years, 6 months ago (2016-06-18 21:35:22 UTC) #14
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/2051333005/200001
4 years, 6 months ago (2016-06-18 22:01:26 UTC) #17
commit-bot: I haz the power
Try jobs failed on following builders: linux_chromium_rel_ng on tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_rel_ng/builds/248679)
4 years, 6 months ago (2016-06-18 23:19:05 UTC) #19
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/2051333005/220001
4 years, 6 months ago (2016-06-18 23:44:21 UTC) #22
commit-bot: I haz the power
Committed patchset #12 (id:220001)
4 years, 6 months ago (2016-06-19 01:44:20 UTC) #24
commit-bot: I haz the power
Patchset 12 (id:??) landed as https://crrev.com/5cdeb1b846e2f1c8bcab391e0b0ea55faf5c5b12 Cr-Commit-Position: refs/heads/master@{#400605}
4 years, 6 months ago (2016-06-19 01:45:34 UTC) #26
vasilii
A revert of this CL (patchset #12 id:220001) has been created in https://codereview.chromium.org/2080593002/ by vasilii@chromium.org. ...
4 years, 6 months ago (2016-06-20 08:41:08 UTC) #27
Ken Rockot(use gerrit already)
4 years, 6 months ago (2016-06-20 16:20:04 UTC) #28
Message was sent while issue was closed.
On 2016/06/20 at 08:41:08, vasilii wrote:
> A revert of this CL (patchset #12 id:220001) has been created in
https://codereview.chromium.org/2080593002/ by vasilii@chromium.org.
> 
> The reason for reverting is: Broke updating-scrolling-container-and-content on
all the platforms 
> 
>
https://build.chromium.org/p/chromium.webkit/builders/WebKit%20Win7/builds/43368.

So just to clarify, this didn't get reverted after all. Instead the test was
disabled by https://codereview.chromium.org/2085503002

wangxianzhu@ could you please look into why your CL changed the test behavior?
It looks like the test was expected to crash but it no longer does.

Note that it did still crash on the CQ run (win_chromium_rel_ng) but not on any
of the waterfall bots. I assume this has something to do with the fact that
DCHECK isn't enabled on the waterfall bots.

Powered by Google App Engine
This is Rietveld 408576698