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

Issue 2203123004: Don't adjust for scrolling of the ancestor, rather than un-adjusting for it later. (Closed)

Created:
4 years, 4 months ago by chrishtr
Modified:
4 years, 4 months ago
Reviewers:
Xianzhu
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 adjust for scrolling of the ancestor, rather than un-adjusting for it later. This simplifies the paint invalidation code and avoids code to depend on compositing state. It also brings non-LayoutView scrolling in line with LayoutView in terms of whether it accounts for scroll, and makes clipping and scrolling apply together. Note that there are seven use cases of mapToVisualRectInAncestorState: 1. Paint invalidation 2. IntersectionObserver 3. Layout*::absoluteClippedOverflowRect 4. WebPluginContainerImpl::computeClipRectsForPlugin 5. CompositedLayerMapping::recomputeInterestRect 6. LayoutObject::selectionRectInViewCoordinates 7. FrameView::windowClipRect Use-case 1 doesn't want scrolling. Use case 2 does, so added code to handle that. Use-cases 3-6 always pass a LayoutView as the ancestor parameter, which already doesn't include scrolling. Use-case 7 wants scrolling, so added code to do that. Committed: https://crrev.com/28df6fb66bdd41a7d695141560933f701497fc2e Cr-Commit-Position: refs/heads/master@{#410079}

Patch Set 1 #

Patch Set 2 : none #

Patch Set 3 : none #

Patch Set 4 : none #

Total comments: 2

Patch Set 5 : none #

Total comments: 2

Patch Set 6 : none #

Patch Set 7 : none #

Patch Set 8 : none #

Patch Set 9 : none #

Patch Set 10 : none #

Patch Set 11 : none #

Patch Set 12 : none #

Patch Set 13 : none #

Patch Set 14 : none #

Unified diffs Side-by-side diffs Delta from patch set Stats (+59 lines, -38 lines) Patch
M third_party/WebKit/Source/core/dom/IntersectionObservation.cpp View 1 2 3 1 chunk +6 lines, -3 lines 0 comments Download
M third_party/WebKit/Source/core/layout/LayoutBox.h View 1 1 chunk +1 line, -0 lines 0 comments Download
M third_party/WebKit/Source/core/layout/LayoutBox.cpp View 1 2 3 4 1 chunk +4 lines, -3 lines 0 comments Download
M third_party/WebKit/Source/core/layout/LayoutObject.h View 1 2 3 4 5 6 7 8 9 2 chunks +3 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 12 4 chunks +18 lines, -22 lines 0 comments Download
M third_party/WebKit/Source/core/layout/PaintInvalidationState.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 3 chunks +19 lines, -7 lines 0 comments Download
M third_party/WebKit/Source/core/layout/VisualRectMappingTest.cpp View 1 2 8 chunks +8 lines, -1 line 0 comments Download

Messages

Total messages: 75 (49 generated)
chrishtr
4 years, 4 months ago (2016-08-03 16:17:45 UTC) #16
Xianzhu
Nit: s/four use cases/7 use cases/ in description. What will use-case 3-6 behave for root-layer-scrolls? ...
4 years, 4 months ago (2016-08-03 16:32:36 UTC) #19
chrishtr
On 2016/08/03 at 16:32:36, wangxianzhu wrote: > Nit: s/four use cases/7 use cases/ in description. ...
4 years, 4 months ago (2016-08-03 16:38:34 UTC) #21
chrishtr
On 2016/08/03 at 16:38:34, chrishtr wrote: > On 2016/08/03 at 16:32:36, wangxianzhu wrote: > > ...
4 years, 4 months ago (2016-08-03 16:39:20 UTC) #22
Xianzhu
https://codereview.chromium.org/2203123004/diff/60001/third_party/WebKit/LayoutTests/paint/invalidation/invalidate-after-composited-scroll.html File third_party/WebKit/LayoutTests/paint/invalidation/invalidate-after-composited-scroll.html (right): https://codereview.chromium.org/2203123004/diff/60001/third_party/WebKit/LayoutTests/paint/invalidation/invalidate-after-composited-scroll.html#newcode18 third_party/WebKit/LayoutTests/paint/invalidation/invalidate-after-composited-scroll.html:18: }, 3000); Is the timeout intended?
4 years, 4 months ago (2016-08-03 16:55:55 UTC) #23
chrishtr
https://codereview.chromium.org/2203123004/diff/60001/third_party/WebKit/LayoutTests/paint/invalidation/invalidate-after-composited-scroll.html File third_party/WebKit/LayoutTests/paint/invalidation/invalidate-after-composited-scroll.html (right): https://codereview.chromium.org/2203123004/diff/60001/third_party/WebKit/LayoutTests/paint/invalidation/invalidate-after-composited-scroll.html#newcode18 third_party/WebKit/LayoutTests/paint/invalidation/invalidate-after-composited-scroll.html:18: }, 3000); On 2016/08/03 at 16:55:55, Xianzhu wrote: > ...
4 years, 4 months ago (2016-08-03 17:00:36 UTC) #24
Xianzhu
lgtm https://codereview.chromium.org/2203123004/diff/80001/third_party/WebKit/LayoutTests/paint/invalidation/invalidate-after-composited-scroll.html File third_party/WebKit/LayoutTests/paint/invalidation/invalidate-after-composited-scroll.html (right): https://codereview.chromium.org/2203123004/diff/80001/third_party/WebKit/LayoutTests/paint/invalidation/invalidate-after-composited-scroll.html#newcode20 third_party/WebKit/LayoutTests/paint/invalidation/invalidate-after-composited-scroll.html:20: </script> Nit: Reset this file to origin/master.
4 years, 4 months ago (2016-08-03 17:03:51 UTC) #25
chrishtr
https://codereview.chromium.org/2203123004/diff/80001/third_party/WebKit/LayoutTests/paint/invalidation/invalidate-after-composited-scroll.html File third_party/WebKit/LayoutTests/paint/invalidation/invalidate-after-composited-scroll.html (right): https://codereview.chromium.org/2203123004/diff/80001/third_party/WebKit/LayoutTests/paint/invalidation/invalidate-after-composited-scroll.html#newcode20 third_party/WebKit/LayoutTests/paint/invalidation/invalidate-after-composited-scroll.html:20: </script> On 2016/08/03 at 17:03:51, Xianzhu wrote: > Nit: ...
4 years, 4 months ago (2016-08-03 18:01:49 UTC) #26
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/2203123004/100001
4 years, 4 months ago (2016-08-03 18:03:22 UTC) #29
commit-bot: I haz the power
Try jobs failed on following builders: linux_android_rel_ng on master.tryserver.chromium.android (JOB_FAILED, https://build.chromium.org/p/tryserver.chromium.android/builders/linux_android_rel_ng/builds/115465)
4 years, 4 months ago (2016-08-03 18:58:37 UTC) #31
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/2203123004/120001
4 years, 4 months ago (2016-08-03 23:32:41 UTC) #34
commit-bot: I haz the power
Try jobs failed on following builders: linux_chromium_rel_ng on master.tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_rel_ng/builds/273939)
4 years, 4 months ago (2016-08-04 01:01:11 UTC) #36
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/2203123004/140001
4 years, 4 months ago (2016-08-04 01:51:55 UTC) #39
commit-bot: I haz the power
Try jobs failed on following builders: linux_android_rel_ng on master.tryserver.chromium.android (JOB_FAILED, https://build.chromium.org/p/tryserver.chromium.android/builders/linux_android_rel_ng/builds/115876)
4 years, 4 months ago (2016-08-04 02:46:56 UTC) #41
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/2203123004/160001
4 years, 4 months ago (2016-08-04 05:28:56 UTC) #44
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/271523)
4 years, 4 months ago (2016-08-04 06:26:18 UTC) #46
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/2203123004/180001
4 years, 4 months ago (2016-08-04 16:28:15 UTC) #49
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/2203123004/200001
4 years, 4 months ago (2016-08-04 16:31:14 UTC) #53
commit-bot: I haz the power
Try jobs failed on following builders: ios-device on master.tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/ios-device/builds/46422) ios-simulator on master.tryserver.chromium.mac (JOB_FAILED, ...
4 years, 4 months ago (2016-08-04 16:34:51 UTC) #55
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/2203123004/220001
4 years, 4 months ago (2016-08-04 20:48:09 UTC) #58
commit-bot: I haz the power
Try jobs failed on following builders: linux_android_rel_ng on master.tryserver.chromium.android (JOB_FAILED, https://build.chromium.org/p/tryserver.chromium.android/builders/linux_android_rel_ng/builds/116471)
4 years, 4 months ago (2016-08-04 22:15:06 UTC) #60
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/2203123004/240001
4 years, 4 months ago (2016-08-05 00:00:13 UTC) #63
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/272147)
4 years, 4 months ago (2016-08-05 00:55:50 UTC) #65
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/2203123004/260001
4 years, 4 months ago (2016-08-05 15:57:46 UTC) #72
commit-bot: I haz the power
Committed patchset #14 (id:260001)
4 years, 4 months ago (2016-08-05 16:35:29 UTC) #73
commit-bot: I haz the power
4 years, 4 months ago (2016-08-05 16:37:51 UTC) #75
Message was sent while issue was closed.
Patchset 14 (id:??) landed as
https://crrev.com/28df6fb66bdd41a7d695141560933f701497fc2e
Cr-Commit-Position: refs/heads/master@{#410079}

Powered by Google App Engine
This is Rietveld 408576698