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

Issue 2698843004: Correct for enclosing layers scroll position in sticky_data->main_thread_offset (Closed)

Created:
3 years, 10 months ago by smcgruer
Modified:
3 years, 9 months ago
CC:
blink-reviews, cc-bugs_chromium.org, chromium-reviews
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Correct for enclosing layers scroll position in parentRelativeStickyBoxOffset The offset calculated in CompositedLayerMapping for parent_relative_sticky_box_offset calls |convertToLayerCoords| on the enclosing layer. This method relies on location() however which includes the scroll offset if the enclosing layer is not already the scroll ancestor, e.g. if you had the following layer setup: ScrollAncestor | +-- IntermediateLayer | +-- StickyLayer To correct for this, add back in the scroll offset for the case where the enclosing layer is not the scroll ancestor. BUG=692263 CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2 Review-Url: https://codereview.chromium.org/2698843004 Cr-Commit-Position: refs/heads/master@{#454444} Committed: https://chromium.googlesource.com/chromium/src/+/e4819386ba4f91ce923c8c870927480566624001

Patch Set 1 #

Total comments: 6

Patch Set 2 : Always use parent scroll node #

Patch Set 3 : Move offset correction to blink side #

Total comments: 2

Patch Set 4 : Address reviewer comments #

Total comments: 2

Patch Set 5 : Remove check for containingLayer and make unittest more nested #

Total comments: 2

Patch Set 6 : Rebase #

Patch Set 7 : Force compositing inputs dirty in test #

Total comments: 2

Patch Set 8 : Address nit #

Total comments: 6

Patch Set 9 : Address reviewer comments #

Messages

Total messages: 40 (17 generated)
smcgruer
3 years, 10 months ago (2017-02-16 21:41:08 UTC) #3
flackr
https://codereview.chromium.org/2698843004/diff/1/cc/layers/layer.cc File cc/layers/layer.cc (right): https://codereview.chromium.org/2698843004/diff/1/cc/layers/layer.cc#newcode605 cc/layers/layer.cc:605: // We are a scroller, so we need our ...
3 years, 10 months ago (2017-02-16 22:23:59 UTC) #4
smcgruer
https://codereview.chromium.org/2698843004/diff/1/cc/layers/layer.cc File cc/layers/layer.cc (right): https://codereview.chromium.org/2698843004/diff/1/cc/layers/layer.cc#newcode605 cc/layers/layer.cc:605: // We are a scroller, so we need our ...
3 years, 10 months ago (2017-02-17 13:55:31 UTC) #5
flackr
https://codereview.chromium.org/2698843004/diff/1/cc/layers/layer.cc File cc/layers/layer.cc (right): https://codereview.chromium.org/2698843004/diff/1/cc/layers/layer.cc#newcode610 cc/layers/layer.cc:610: sticky_box_offset -= gfx::ScrollOffsetToFlooredVector2d( On 2017/02/17 13:55:31, smcgruer wrote: > ...
3 years, 10 months ago (2017-02-21 00:41:30 UTC) #6
smcgruer
https://codereview.chromium.org/2698843004/diff/1/cc/layers/layer.cc File cc/layers/layer.cc (right): https://codereview.chromium.org/2698843004/diff/1/cc/layers/layer.cc#newcode610 cc/layers/layer.cc:610: sticky_box_offset -= gfx::ScrollOffsetToFlooredVector2d( On 2017/02/21 00:41:30, flackr wrote: > ...
3 years, 10 months ago (2017-02-21 19:17:22 UTC) #8
flackr
https://codereview.chromium.org/2698843004/diff/40001/third_party/WebKit/Source/core/layout/compositing/CompositedLayerMapping.cpp File third_party/WebKit/Source/core/layout/compositing/CompositedLayerMapping.cpp (right): https://codereview.chromium.org/2698843004/diff/40001/third_party/WebKit/Source/core/layout/compositing/CompositedLayerMapping.cpp#newcode322 third_party/WebKit/Source/core/layout/compositing/CompositedLayerMapping.cpp:322: ->scrolledContentOffset(); scrolledContentOffset requires that the box has an overflow ...
3 years, 10 months ago (2017-02-22 14:23:09 UTC) #9
smcgruer
https://codereview.chromium.org/2698843004/diff/40001/third_party/WebKit/Source/core/layout/compositing/CompositedLayerMapping.cpp File third_party/WebKit/Source/core/layout/compositing/CompositedLayerMapping.cpp (right): https://codereview.chromium.org/2698843004/diff/40001/third_party/WebKit/Source/core/layout/compositing/CompositedLayerMapping.cpp#newcode322 third_party/WebKit/Source/core/layout/compositing/CompositedLayerMapping.cpp:322: ->scrolledContentOffset(); On 2017/02/22 14:23:09, flackr wrote: > scrolledContentOffset requires ...
3 years, 10 months ago (2017-02-22 15:42:31 UTC) #10
flackr
https://codereview.chromium.org/2698843004/diff/60001/third_party/WebKit/Source/core/layout/compositing/CompositedLayerMapping.cpp File third_party/WebKit/Source/core/layout/compositing/CompositedLayerMapping.cpp (right): https://codereview.chromium.org/2698843004/diff/60001/third_party/WebKit/Source/core/layout/compositing/CompositedLayerMapping.cpp#newcode319 third_party/WebKit/Source/core/layout/compositing/CompositedLayerMapping.cpp:319: enclosingLayer->containingLayer()) { Why the check for containingLayer? If it's ...
3 years, 10 months ago (2017-02-22 15:45:18 UTC) #11
smcgruer
https://codereview.chromium.org/2698843004/diff/60001/third_party/WebKit/Source/core/layout/compositing/CompositedLayerMapping.cpp File third_party/WebKit/Source/core/layout/compositing/CompositedLayerMapping.cpp (right): https://codereview.chromium.org/2698843004/diff/60001/third_party/WebKit/Source/core/layout/compositing/CompositedLayerMapping.cpp#newcode319 third_party/WebKit/Source/core/layout/compositing/CompositedLayerMapping.cpp:319: enclosingLayer->containingLayer()) { Ah, yes, no longer needed.
3 years, 10 months ago (2017-02-22 15:58:23 UTC) #12
flackr
https://codereview.chromium.org/2698843004/diff/80001/third_party/WebKit/Source/core/layout/compositing/CompositedLayerMappingTest.cpp File third_party/WebKit/Source/core/layout/compositing/CompositedLayerMappingTest.cpp (right): https://codereview.chromium.org/2698843004/diff/80001/third_party/WebKit/Source/core/layout/compositing/CompositedLayerMappingTest.cpp#newcode1728 third_party/WebKit/Source/core/layout/compositing/CompositedLayerMappingTest.cpp:1728: document().view()->updateLifecycleToCompositingCleanPlusScrolling(); Does this actually call updateStickyConstraints? We'd need to ...
3 years, 10 months ago (2017-02-22 16:14:49 UTC) #13
smcgruer
https://codereview.chromium.org/2698843004/diff/80001/third_party/WebKit/Source/core/layout/compositing/CompositedLayerMappingTest.cpp File third_party/WebKit/Source/core/layout/compositing/CompositedLayerMappingTest.cpp (right): https://codereview.chromium.org/2698843004/diff/80001/third_party/WebKit/Source/core/layout/compositing/CompositedLayerMappingTest.cpp#newcode1728 third_party/WebKit/Source/core/layout/compositing/CompositedLayerMappingTest.cpp:1728: document().view()->updateLifecycleToCompositingCleanPlusScrolling(); On 2017/02/22 16:14:49, flackr wrote: > Does this ...
3 years, 10 months ago (2017-02-22 18:39:04 UTC) #15
flackr
On 2017/02/22 18:39:04, smcgruer wrote: > https://codereview.chromium.org/2698843004/diff/80001/third_party/WebKit/Source/core/layout/compositing/CompositedLayerMappingTest.cpp > File > third_party/WebKit/Source/core/layout/compositing/CompositedLayerMappingTest.cpp > (right): > > ...
3 years, 10 months ago (2017-02-22 19:53:21 UTC) #16
smcgruer
> I guess my question is why do we update the sticky constraints after a ...
3 years, 10 months ago (2017-02-22 20:38:09 UTC) #17
flackr
LGTM https://codereview.chromium.org/2698843004/diff/120001/third_party/WebKit/Source/core/layout/compositing/CompositedLayerMapping.cpp File third_party/WebKit/Source/core/layout/compositing/CompositedLayerMapping.cpp (right): https://codereview.chromium.org/2698843004/diff/120001/third_party/WebKit/Source/core/layout/compositing/CompositedLayerMapping.cpp#newcode322 third_party/WebKit/Source/core/layout/compositing/CompositedLayerMapping.cpp:322: enclosingLayerOffset += LayoutSize(enclosingLayer->ancestorOverflowLayer() nit: use ancestorOverflowLayer (from line ...
3 years, 10 months ago (2017-02-22 20:44:00 UTC) #18
smcgruer
https://codereview.chromium.org/2698843004/diff/120001/third_party/WebKit/Source/core/layout/compositing/CompositedLayerMapping.cpp File third_party/WebKit/Source/core/layout/compositing/CompositedLayerMapping.cpp (right): https://codereview.chromium.org/2698843004/diff/120001/third_party/WebKit/Source/core/layout/compositing/CompositedLayerMapping.cpp#newcode322 third_party/WebKit/Source/core/layout/compositing/CompositedLayerMapping.cpp:322: enclosingLayerOffset += LayoutSize(enclosingLayer->ancestorOverflowLayer() On 2017/02/22 20:44:00, flackr wrote: > ...
3 years, 10 months ago (2017-02-22 20:48:18 UTC) #19
smcgruer
-ajuma since we moved to blink side +chrishtr for blink OWNERS
3 years, 10 months ago (2017-02-22 20:49:05 UTC) #21
smcgruer
3 years, 10 months ago (2017-02-23 20:04:07 UTC) #23
smcgruer
Ping for Blink OWNERS :)
3 years, 9 months ago (2017-02-28 13:48:34 UTC) #27
chrishtr
https://codereview.chromium.org/2698843004/diff/140001/third_party/WebKit/LayoutTests/compositing/overflow/composited-sticky-element-enclosing-layers.html File third_party/WebKit/LayoutTests/compositing/overflow/composited-sticky-element-enclosing-layers.html (right): https://codereview.chromium.org/2698843004/diff/140001/third_party/WebKit/LayoutTests/compositing/overflow/composited-sticky-element-enclosing-layers.html#newcode32 third_party/WebKit/LayoutTests/compositing/overflow/composited-sticky-element-enclosing-layers.html:32: <div class="composited container"> Why have three nested "composited container" ...
3 years, 9 months ago (2017-02-28 19:36:28 UTC) #30
smcgruer
https://codereview.chromium.org/2698843004/diff/140001/third_party/WebKit/LayoutTests/compositing/overflow/composited-sticky-element-enclosing-layers.html File third_party/WebKit/LayoutTests/compositing/overflow/composited-sticky-element-enclosing-layers.html (right): https://codereview.chromium.org/2698843004/diff/140001/third_party/WebKit/LayoutTests/compositing/overflow/composited-sticky-element-enclosing-layers.html#newcode32 third_party/WebKit/LayoutTests/compositing/overflow/composited-sticky-element-enclosing-layers.html:32: <div class="composited container"> On 2017/02/28 19:36:28, chrishtr wrote: > ...
3 years, 9 months ago (2017-03-01 19:58:40 UTC) #33
chrishtr
lgtm
3 years, 9 months ago (2017-03-02 22:33:13 UTC) #35
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/2698843004/160001
3 years, 9 months ago (2017-03-02 22:33:51 UTC) #37
commit-bot: I haz the power
3 years, 9 months ago (2017-03-03 00:05:02 UTC) #40
Message was sent while issue was closed.
Committed patchset #9 (id:160001) as
https://chromium.googlesource.com/chromium/src/+/e4819386ba4f91ce923c8c870927...

Powered by Google App Engine
This is Rietveld 408576698