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

Issue 2894093002: Don't access DisplayItemClient::VisualRect() for cached display items. (Closed)

Created:
3 years, 7 months ago by Xianzhu
Modified:
3 years, 7 months ago
CC:
blink-layers+watch_chromium.org, blink-reviews, blink-reviews-frames_chromium.org, blink-reviews-paint_chromium.org, blink-reviews-platform-graphics_chromium.org, Rik, chromium-reviews, dshwang, drott+blinkwatch_chromium.org, krit, fmalita+watch_chromium.org, Justin Novosad, kinuko+watch, pdr+graphicswatchlist_chromium.org, rwlbuis, Stephen Chennney
Target Ref:
refs/heads/master
Project:
chromium
Visibility:
Public.

Description

Don't access DisplayItemClient::VisualRect() for cached display items. - Access DisplayItemClient::VisualRect() when a new DisplayItem is created, and save it in the new DisplayItem. - When a cached display item is copied, don't access DisplayItemClient:: VisualRect() but fetch from the cached DisplayItem. - Remove DisplayItemList::visual_rects_. - Save original visual rects (LayoutRect) and apply GraphicsLayer offset with EnclosingIntRect() when the display items are added into WebDisplayItemList. Please see the bug for the reason. BUG=724263 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2 Review-Url: https://codereview.chromium.org/2894093002 Cr-Commit-Position: refs/heads/master@{#473371} Committed: https://chromium.googlesource.com/chromium/src/+/3c7f1c4ecd1421d074daa5a103ea3f895c1c8724

Patch Set 1 #

Total comments: 8

Patch Set 2 : - #

Total comments: 4

Patch Set 3 : - #

Unified diffs Side-by-side diffs Delta from patch set Stats (+197 lines, -243 lines) Patch
M third_party/WebKit/Source/core/frame/FrameView.cpp View 1 2 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/Source/core/paint/PaintControllerPaintTest.h View 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/Source/platform/BUILD.gn View 1 2 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/Source/platform/graphics/ContentLayerDelegate.cpp View 1 chunk +1 line, -0 lines 0 comments Download
M third_party/WebKit/Source/platform/graphics/GraphicsLayer.cpp View 1 2 2 chunks +2 lines, -4 lines 0 comments Download
M third_party/WebKit/Source/platform/graphics/paint/ClipDisplayItem.h View 2 chunks +2 lines, -2 lines 0 comments Download
M third_party/WebKit/Source/platform/graphics/paint/ClipDisplayItem.cpp View 2 chunks +2 lines, -2 lines 0 comments Download
M third_party/WebKit/Source/platform/graphics/paint/ClipPathDisplayItem.h View 2 chunks +2 lines, -2 lines 0 comments Download
M third_party/WebKit/Source/platform/graphics/paint/ClipPathDisplayItem.cpp View 2 chunks +2 lines, -2 lines 0 comments Download
M third_party/WebKit/Source/platform/graphics/paint/CompositingDisplayItem.h View 2 chunks +2 lines, -2 lines 0 comments Download
M third_party/WebKit/Source/platform/graphics/paint/CompositingDisplayItem.cpp View 2 chunks +2 lines, -2 lines 0 comments Download
M third_party/WebKit/Source/platform/graphics/paint/DisplayItem.h View 1 2 6 chunks +16 lines, -4 lines 0 comments Download
M third_party/WebKit/Source/platform/graphics/paint/DisplayItem.cpp View 2 chunks +3 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/platform/graphics/paint/DisplayItemClient.h View 1 2 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/Source/platform/graphics/paint/DisplayItemList.h View 2 chunks +18 lines, -16 lines 0 comments Download
M third_party/WebKit/Source/platform/graphics/paint/DisplayItemList.cpp View 1 2 2 chunks +3 lines, -30 lines 0 comments Download
D third_party/WebKit/Source/platform/graphics/paint/DisplayItemListTest.cpp View 1 2 1 chunk +0 lines, -74 lines 0 comments Download
M third_party/WebKit/Source/platform/graphics/paint/DrawingDisplayItem.h View 1 2 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/Source/platform/graphics/paint/DrawingDisplayItem.cpp View 1 2 1 chunk +7 lines, -3 lines 0 comments Download
A third_party/WebKit/Source/platform/graphics/paint/DrawingDisplayItemTest.cpp View 1 2 1 chunk +65 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/platform/graphics/paint/FilterDisplayItem.h View 2 chunks +2 lines, -2 lines 0 comments Download
M third_party/WebKit/Source/platform/graphics/paint/FilterDisplayItem.cpp View 2 chunks +2 lines, -2 lines 0 comments Download
M third_party/WebKit/Source/platform/graphics/paint/FloatClipDisplayItem.h View 2 chunks +2 lines, -2 lines 0 comments Download
M third_party/WebKit/Source/platform/graphics/paint/FloatClipDisplayItem.cpp View 2 chunks +2 lines, -2 lines 0 comments Download
M third_party/WebKit/Source/platform/graphics/paint/ForeignLayerDisplayItem.h View 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/Source/platform/graphics/paint/ForeignLayerDisplayItem.cpp View 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/Source/platform/graphics/paint/PaintArtifact.h View 1 chunk +2 lines, -1 line 0 comments Download
M third_party/WebKit/Source/platform/graphics/paint/PaintArtifact.cpp View 1 2 1 chunk +5 lines, -7 lines 0 comments Download
M third_party/WebKit/Source/platform/graphics/paint/PaintChunkerTest.cpp View 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/Source/platform/graphics/paint/PaintController.h View 1 2 2 chunks +4 lines, -9 lines 0 comments Download
M third_party/WebKit/Source/platform/graphics/paint/PaintController.cpp View 1 2 9 chunks +20 lines, -28 lines 0 comments Download
M third_party/WebKit/Source/platform/graphics/paint/PaintControllerTest.cpp View 12 chunks +11 lines, -27 lines 0 comments Download
M third_party/WebKit/Source/platform/graphics/paint/ScrollDisplayItem.h View 2 chunks +2 lines, -2 lines 0 comments Download
M third_party/WebKit/Source/platform/graphics/paint/ScrollDisplayItem.cpp View 2 chunks +2 lines, -2 lines 0 comments Download
M third_party/WebKit/Source/platform/graphics/paint/Transform3DDisplayItem.h View 2 chunks +2 lines, -2 lines 0 comments Download
M third_party/WebKit/Source/platform/graphics/paint/Transform3DDisplayItem.cpp View 2 chunks +2 lines, -2 lines 0 comments Download
M third_party/WebKit/Source/platform/graphics/paint/TransformDisplayItem.h View 2 chunks +2 lines, -2 lines 0 comments Download
M third_party/WebKit/Source/platform/graphics/paint/TransformDisplayItem.cpp View 2 chunks +2 lines, -2 lines 0 comments Download

Messages

Total messages: 34 (23 generated)
Xianzhu
https://codereview.chromium.org/2894093002/diff/1/third_party/WebKit/Source/platform/graphics/paint/DisplayItem.h File third_party/WebKit/Source/platform/graphics/paint/DisplayItem.h (right): https://codereview.chromium.org/2894093002/diff/1/third_party/WebKit/Source/platform/graphics/paint/DisplayItem.h#newcode202 third_party/WebKit/Source/platform/graphics/paint/DisplayItem.h:202: visual_rect_(client.VisualRect()), For now save visual rect for all display ...
3 years, 7 months ago (2017-05-19 00:27:42 UTC) #6
wkorman
lgtm https://codereview.chromium.org/2894093002/diff/1/third_party/WebKit/Source/platform/graphics/ContentLayerDelegate.cpp File third_party/WebKit/Source/platform/graphics/ContentLayerDelegate.cpp (right): https://codereview.chromium.org/2894093002/diff/1/third_party/WebKit/Source/platform/graphics/ContentLayerDelegate.cpp#newcode93 third_party/WebKit/Source/platform/graphics/ContentLayerDelegate.cpp:93: graphics_layer_->OffsetFromLayoutObjectWithSubpixelAccumulation(), Does this add some small overhead vs. ...
3 years, 7 months ago (2017-05-19 00:55:08 UTC) #7
Xianzhu
https://codereview.chromium.org/2894093002/diff/1/third_party/WebKit/Source/platform/graphics/ContentLayerDelegate.cpp File third_party/WebKit/Source/platform/graphics/ContentLayerDelegate.cpp (right): https://codereview.chromium.org/2894093002/diff/1/third_party/WebKit/Source/platform/graphics/ContentLayerDelegate.cpp#newcode93 third_party/WebKit/Source/platform/graphics/ContentLayerDelegate.cpp:93: graphics_layer_->OffsetFromLayoutObjectWithSubpixelAccumulation(), On 2017/05/19 00:55:08, wkorman wrote: > Does this ...
3 years, 7 months ago (2017-05-19 01:25:11 UTC) #10
Xianzhu
+pdr for platform/
3 years, 7 months ago (2017-05-19 17:01:26 UTC) #16
pdr.
Overall I think this is a good approach for safety. I think it's simpler as ...
3 years, 7 months ago (2017-05-19 17:11:36 UTC) #18
Xianzhu
https://codereview.chromium.org/2894093002/diff/20001/third_party/WebKit/Source/platform/graphics/paint/DisplayItem.h File third_party/WebKit/Source/platform/graphics/paint/DisplayItem.h (right): https://codereview.chromium.org/2894093002/diff/20001/third_party/WebKit/Source/platform/graphics/paint/DisplayItem.h#newcode23 third_party/WebKit/Source/platform/graphics/paint/DisplayItem.h:23: class LayoutSize; On 2017/05/19 17:11:36, pdr. wrote: > Curious: ...
3 years, 7 months ago (2017-05-19 18:06:33 UTC) #23
pdr.
On 2017/05/19 at 18:06:33, wangxianzhu wrote: > https://codereview.chromium.org/2894093002/diff/20001/third_party/WebKit/Source/platform/graphics/paint/DisplayItem.h > File third_party/WebKit/Source/platform/graphics/paint/DisplayItem.h (right): > > https://codereview.chromium.org/2894093002/diff/20001/third_party/WebKit/Source/platform/graphics/paint/DisplayItem.h#newcode23 ...
3 years, 7 months ago (2017-05-19 18:10:49 UTC) #24
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/2894093002/40001
3 years, 7 months ago (2017-05-19 18:39:04 UTC) #28
commit-bot: I haz the power
Committed patchset #3 (id:40001) as https://chromium.googlesource.com/chromium/src/+/3c7f1c4ecd1421d074daa5a103ea3f895c1c8724
3 years, 7 months ago (2017-05-19 22:40:09 UTC) #31
michaelpg
This CL has been identified as the cause of crbug.com/724920, a new delay observed when ...
3 years, 7 months ago (2017-05-22 10:12:41 UTC) #33
Xianzhu
3 years, 7 months ago (2017-05-22 16:57:13 UTC) #34
Message was sent while issue was closed.
A revert of this CL (patchset #3 id:40001) has been created in
https://codereview.chromium.org/2899793002/ by wangxianzhu@chromium.org.

The reason for reverting is: BUG=724920,724263,725041,724936.

Powered by Google App Engine
This is Rietveld 408576698