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

Issue 2019583002: Don't include scroll offset in offsetFromLayoutObject for scrolling contents layers. (Closed)

Created:
4 years, 7 months ago by chrishtr
Modified:
4 years, 6 months ago
Reviewers:
Xianzhu, wkorman
CC:
blink-reviews, blink-reviews-layout_chromium.org, chromium-reviews, eae+blinkwatch, jchaffraix+rendering, leviw+renderwatch, pdr+renderingwatchlist_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

Don't include scroll offset in offsetFromLayoutObject for scrolling contents layers. As a side-effect, this patch changes the system to no longer invalidate both the scrolling contents layer and m_graphicsLayer, since they now have different coordinate systems. (This has been a long-standing bug.) BUG=529938, 416535 Committed: https://crrev.com/66797e1dd0c3366619ebcc6a5ce3f546055d9103 Cr-Commit-Position: refs/heads/master@{#396951}

Patch Set 1 #

Patch Set 2 : #

Patch Set 3 : #

Patch Set 4 : #

Patch Set 5 : #

Patch Set 6 : #

Patch Set 7 : #

Patch Set 8 : #

Total comments: 2

Patch Set 9 : #

Patch Set 10 : #

Total comments: 4

Patch Set 11 : #

Patch Set 12 : #

Total comments: 13

Patch Set 13 : #

Patch Set 14 : #

Patch Set 15 : #

Patch Set 16 : #

Patch Set 17 : #

Unified diffs Side-by-side diffs Delta from patch set Stats (+134 lines, -589 lines) Patch
M third_party/WebKit/LayoutTests/TestExpectations View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 chunk +10 lines, -0 lines 0 comments Download
M third_party/WebKit/LayoutTests/compositing/overflow/updating-scrolling-content-expected.txt View 1 2 3 4 1 chunk +0 lines, -1 line 0 comments Download
M third_party/WebKit/LayoutTests/compositing/repaint/should-not-clip-composited-overflow-scrolling-layer-expected.txt View 1 2 3 4 1 chunk +0 lines, -1 line 0 comments Download
M third_party/WebKit/LayoutTests/fast/repaint/overflow-move-after-scroll-expected.txt View 1 2 3 4 1 chunk +0 lines, -6 lines 0 comments Download
M third_party/WebKit/LayoutTests/fast/repaint/overflow-scroll-after-move-expected.txt View 1 2 3 4 1 chunk +0 lines, -6 lines 0 comments Download
M third_party/WebKit/LayoutTests/paint/invalidation/invalidate-after-composited-scroll-expected.txt View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +0 lines, -7 lines 0 comments Download
A third_party/WebKit/LayoutTests/paint/invalidation/invalidation-on-foreground-graphics-layer.html View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 chunk +16 lines, -0 lines 0 comments Download
A + third_party/WebKit/LayoutTests/paint/invalidation/invalidation-on-foreground-graphics-layer-expected.png View 1 2 3 4 5 6 7 8 9 10 11 Binary file 0 comments Download
A + third_party/WebKit/LayoutTests/paint/invalidation/invalidation-on-foreground-graphics-layer-expected.txt View 1 2 3 4 5 6 7 8 9 10 11 2 chunks +25 lines, -18 lines 0 comments Download
M third_party/WebKit/LayoutTests/platform/linux/paint/selection/selection-within-composited-scroller-expected.txt View 1 2 3 4 2 chunks +4 lines, -5 lines 0 comments Download
M third_party/WebKit/LayoutTests/platform/linux/virtual/prefer_compositing_to_lcd_text/compositing/overflow/text-color-change-expected.txt View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +0 lines, -335 lines 0 comments Download
M third_party/WebKit/LayoutTests/platform/linux/virtual/prefer_compositing_to_lcd_text/compositing/overflow/text-match-highlight-expected.txt View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +0 lines, -65 lines 0 comments Download
M third_party/WebKit/LayoutTests/platform/linux/virtual/prefer_compositing_to_lcd_text/compositing/overflow/updating-scrolling-container-and-content-expected.txt View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +0 lines, -119 lines 0 comments Download
M third_party/WebKit/LayoutTests/virtual/prefer_compositing_to_lcd_text/compositing/overflow/updating-scrolling-content-expected.txt View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +0 lines, -7 lines 0 comments Download
M third_party/WebKit/Source/core/layout/LayoutBoxModelObject.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 chunk +3 lines, -1 line 0 comments Download
M third_party/WebKit/Source/core/layout/LayoutBoxModelObject.cpp View 1 2 3 4 5 6 7 8 9 10 11 3 chunks +13 lines, -2 lines 0 comments Download
M third_party/WebKit/Source/core/layout/LayoutObject.cpp View 1 2 3 4 5 6 7 8 9 10 11 5 chunks +1 line, -8 lines 0 comments Download
M third_party/WebKit/Source/core/layout/compositing/CompositedLayerMapping.h View 1 2 3 4 5 6 7 8 9 10 11 3 chunks +11 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/layout/compositing/CompositedLayerMapping.cpp View 1 2 3 4 5 6 7 8 9 10 11 7 chunks +37 lines, -6 lines 0 comments Download
M third_party/WebKit/Source/core/paint/PaintInvalidationCapableScrollableArea.cpp View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/Source/web/LinkHighlightImpl.h View 1 1 chunk +1 line, -0 lines 0 comments Download
M third_party/WebKit/Source/web/LinkHighlightImpl.cpp View 1 2 3 4 5 6 3 chunks +12 lines, -1 line 0 comments Download

Messages

Total messages: 34 (9 generated)
chrishtr
Sending early for feedback on the approach. Hopefully we can make this work. Fixes fast/repaint/overflow-move-after-scroll.html ...
4 years, 7 months ago (2016-05-27 03:46:35 UTC) #3
chrishtr
On 2016/05/27 at 03:46:35, chrishtr wrote: > Sending early for feedback on the approach. Hopefully ...
4 years, 6 months ago (2016-05-27 15:32:50 UTC) #4
Xianzhu
https://codereview.chromium.org/2019583002/diff/140001/third_party/WebKit/Source/core/layout/LayoutObject.cpp File third_party/WebKit/Source/core/layout/LayoutObject.cpp (right): https://codereview.chromium.org/2019583002/diff/140001/third_party/WebKit/Source/core/layout/LayoutObject.cpp#newcode1226 third_party/WebKit/Source/core/layout/LayoutObject.cpp:1226: bool compositedScrolling = paintInvalidationContainer.usesCompositedScrolling() && &paintInvalidationContainer != this; You ...
4 years, 6 months ago (2016-05-31 16:06:20 UTC) #6
chrishtr
Done. https://codereview.chromium.org/2019583002/diff/140001/third_party/WebKit/Source/core/layout/LayoutObject.cpp File third_party/WebKit/Source/core/layout/LayoutObject.cpp (right): https://codereview.chromium.org/2019583002/diff/140001/third_party/WebKit/Source/core/layout/LayoutObject.cpp#newcode1226 third_party/WebKit/Source/core/layout/LayoutObject.cpp:1226: bool compositedScrolling = paintInvalidationContainer.usesCompositedScrolling() && &paintInvalidationContainer != this; ...
4 years, 6 months ago (2016-05-31 16:36:43 UTC) #7
chrishtr
FYI I tried to add a test for https://bugs.chromium.org/p/chromium/issues/detail?id=416535#c22 but failed, because the internals methods ...
4 years, 6 months ago (2016-05-31 16:37:36 UTC) #8
Xianzhu
On 2016/05/31 16:37:36, chrishtr wrote: > FYI I tried to add a test for > ...
4 years, 6 months ago (2016-05-31 16:45:53 UTC) #9
Xianzhu
https://codereview.chromium.org/2019583002/diff/180001/third_party/WebKit/Source/core/layout/LayoutBoxModelObject.cpp File third_party/WebKit/Source/core/layout/LayoutBoxModelObject.cpp (left): https://codereview.chromium.org/2019583002/diff/180001/third_party/WebKit/Source/core/layout/LayoutBoxModelObject.cpp#oldcode434 third_party/WebKit/Source/core/layout/LayoutBoxModelObject.cpp:434: } ? https://codereview.chromium.org/2019583002/diff/180001/third_party/WebKit/Source/core/layout/compositing/CompositedLayerMapping.cpp File third_party/WebKit/Source/core/layout/compositing/CompositedLayerMapping.cpp (right): https://codereview.chromium.org/2019583002/diff/180001/third_party/WebKit/Source/core/layout/compositing/CompositedLayerMapping.cpp#newcode1009 third_party/WebKit/Source/core/layout/compositing/CompositedLayerMapping.cpp:1009: // ...
4 years, 6 months ago (2016-05-31 16:46:27 UTC) #10
chrishtr
On 2016/05/31 at 16:45:53, wangxianzhu wrote: > On 2016/05/31 16:37:36, chrishtr wrote: > > FYI ...
4 years, 6 months ago (2016-05-31 16:57:26 UTC) #11
chrishtr
https://codereview.chromium.org/2019583002/diff/180001/third_party/WebKit/Source/core/layout/LayoutBoxModelObject.cpp File third_party/WebKit/Source/core/layout/LayoutBoxModelObject.cpp (left): https://codereview.chromium.org/2019583002/diff/180001/third_party/WebKit/Source/core/layout/LayoutBoxModelObject.cpp#oldcode434 third_party/WebKit/Source/core/layout/LayoutBoxModelObject.cpp:434: } On 2016/05/31 at 16:46:27, Xianzhu wrote: > ? ...
4 years, 6 months ago (2016-05-31 16:58:40 UTC) #12
chrishtr
Added a test. Arguably, this test applies to both 567875 and 429845, since the underlying ...
4 years, 6 months ago (2016-05-31 18:14:16 UTC) #13
chrishtr
https://codereview.chromium.org/2019583002/diff/220001/third_party/WebKit/LayoutTests/paint/invalidation/invalidation-on-foreground-graphics-layer-expected.txt File third_party/WebKit/LayoutTests/paint/invalidation/invalidation-on-foreground-graphics-layer-expected.txt (right): https://codereview.chromium.org/2019583002/diff/220001/third_party/WebKit/LayoutTests/paint/invalidation/invalidation-on-foreground-graphics-layer-expected.txt#newcode27 third_party/WebKit/LayoutTests/paint/invalidation/invalidation-on-foreground-graphics-layer-expected.txt:27: "rect": [100, 100, 200, 200], This is the scrolling ...
4 years, 6 months ago (2016-05-31 18:14:47 UTC) #14
chrishtr
I also updated the code for invalidating display item clients to match behavior for actual ...
4 years, 6 months ago (2016-05-31 18:15:51 UTC) #15
Xianzhu
https://codereview.chromium.org/2019583002/diff/220001/third_party/WebKit/LayoutTests/paint/invalidation/invalidation-on-foreground-graphics-layer.html File third_party/WebKit/LayoutTests/paint/invalidation/invalidation-on-foreground-graphics-layer.html (right): https://codereview.chromium.org/2019583002/diff/220001/third_party/WebKit/LayoutTests/paint/invalidation/invalidation-on-foreground-graphics-layer.html#newcode9 third_party/WebKit/LayoutTests/paint/invalidation/invalidation-on-foreground-graphics-layer.html:9: target.style.background = "green"; Nit: too much indent https://codereview.chromium.org/2019583002/diff/220001/third_party/WebKit/LayoutTests/paint/invalidation/invalidation-on-foreground-graphics-layer.html#newcode12 third_party/WebKit/LayoutTests/paint/invalidation/invalidation-on-foreground-graphics-layer.html:12: ...
4 years, 6 months ago (2016-05-31 18:27:04 UTC) #16
wkorman
LGTM pending resolution of Xianzhu's comments of course. https://codereview.chromium.org/2019583002/diff/220001/third_party/WebKit/Source/core/layout/LayoutBoxModelObject.cpp File third_party/WebKit/Source/core/layout/LayoutBoxModelObject.cpp (right): https://codereview.chromium.org/2019583002/diff/220001/third_party/WebKit/Source/core/layout/LayoutBoxModelObject.cpp#newcode415 third_party/WebKit/Source/core/layout/LayoutBoxModelObject.cpp:415: static ...
4 years, 6 months ago (2016-05-31 18:34:15 UTC) #17
chrishtr
https://codereview.chromium.org/2019583002/diff/220001/third_party/WebKit/LayoutTests/paint/invalidation/invalidation-on-foreground-graphics-layer.html File third_party/WebKit/LayoutTests/paint/invalidation/invalidation-on-foreground-graphics-layer.html (right): https://codereview.chromium.org/2019583002/diff/220001/third_party/WebKit/LayoutTests/paint/invalidation/invalidation-on-foreground-graphics-layer.html#newcode9 third_party/WebKit/LayoutTests/paint/invalidation/invalidation-on-foreground-graphics-layer.html:9: target.style.background = "green"; On 2016/05/31 at 18:27:04, Xianzhu wrote: ...
4 years, 6 months ago (2016-05-31 18:35:30 UTC) #18
Xianzhu
https://codereview.chromium.org/2019583002/diff/220001/third_party/WebKit/Source/core/paint/PaintInvalidationCapableScrollableArea.cpp File third_party/WebKit/Source/core/paint/PaintInvalidationCapableScrollableArea.cpp (right): https://codereview.chromium.org/2019583002/diff/220001/third_party/WebKit/Source/core/paint/PaintInvalidationCapableScrollableArea.cpp#newcode95 third_party/WebKit/Source/core/paint/PaintInvalidationCapableScrollableArea.cpp:95: paintInvalidationContainer.invalidateDisplayItemClientOnBacking(*scrollbar, PaintInvalidationScroll); On 2016/05/31 18:35:29, chrishtr wrote: > On ...
4 years, 6 months ago (2016-05-31 18:43:46 UTC) #19
Xianzhu
lgtm. For display item client tracking, either the latest patch or as-is looks good to ...
4 years, 6 months ago (2016-05-31 18:47:55 UTC) #20
chrishtr
https://codereview.chromium.org/2019583002/diff/220001/third_party/WebKit/Source/core/layout/LayoutBoxModelObject.cpp File third_party/WebKit/Source/core/layout/LayoutBoxModelObject.cpp (right): https://codereview.chromium.org/2019583002/diff/220001/third_party/WebKit/Source/core/layout/LayoutBoxModelObject.cpp#newcode415 third_party/WebKit/Source/core/layout/LayoutBoxModelObject.cpp:415: static bool compositedScrollsWithRespectTo(const LayoutObject* layoutObject, const LayoutBoxModelObject& paintInvalidationContainer) On ...
4 years, 6 months ago (2016-05-31 18:51:54 UTC) #21
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/2019583002/300001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/2019583002/300001
4 years, 6 months ago (2016-05-31 18:55:57 UTC) #24
commit-bot: I haz the power
Try jobs failed on following builders: linux_android_rel_ng on tryserver.chromium.android (JOB_FAILED, https://build.chromium.org/p/tryserver.chromium.android/builders/linux_android_rel_ng/builds/79204)
4 years, 6 months ago (2016-05-31 20:19:18 UTC) #26
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/2019583002/160002 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/2019583002/160002
4 years, 6 months ago (2016-05-31 20:24:21 UTC) #29
commit-bot: I haz the power
Committed patchset #17 (id:160002)
4 years, 6 months ago (2016-05-31 22:21:38 UTC) #30
commit-bot: I haz the power
Patchset 17 (id:??) landed as https://crrev.com/66797e1dd0c3366619ebcc6a5ce3f546055d9103 Cr-Commit-Position: refs/heads/master@{#396951}
4 years, 6 months ago (2016-05-31 22:23:18 UTC) #32
scottmg
A revert of this CL (patchset #17 id:160002) has been created in https://codereview.chromium.org/2046233002/ by scottmg@chromium.org. ...
4 years, 6 months ago (2016-06-08 00:09:38 UTC) #33
scottmg
4 years, 6 months ago (2016-06-08 18:28:06 UTC) #34
Message was sent while issue was closed.
On 2016/06/08 00:09:38, scottmg wrote:
> A revert of this CL (patchset #17 id:160002) has been created in
> https://codereview.chromium.org/2046233002/ by mailto:scottmg@chromium.org.
> 
> The reason for reverting is: Speculative revert for very small likelihood of
> causing elevated crash rates as detailed in
> https://bugs.chromium.org/p/chromium/issues/detail?id=616399.

(Wasn't reverted)

Powered by Google App Engine
This is Rietveld 408576698