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

Issue 2765503003: Fix position:sticky location bug when scroller is not a stacking context (Closed)

Created:
3 years, 9 months ago by smcgruer
Modified:
3 years, 9 months ago
CC:
chromium-reviews, szager+layoutwatch_chromium.org, zoltan1, blink-reviews-layout_chromium.org, pdr+renderingwatchlist_chromium.org, eae+blinkwatch, leviw+renderwatch, jchaffraix+rendering, blink-reviews
Target Ref:
refs/heads/master
Project:
chromium
Visibility:
Public.

Description

Fix position:sticky location bug when scroller is not a stacking context This was broken in http://crrev.com/e481938 when I added code to correct for scroll offset in intermediate layers - that logic is invalid if we arent a LayerTree descendent of the scroller. The reason that we didn't spot that this was broken is that we keep using will-change:transform to force-enable compositing of elements, but this also creates a stacking context. For now I have switched this to backface-visibility:hidden, which isn't perfect but at least doesn't create a stacking context. BUG=699137 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2 Review-Url: https://codereview.chromium.org/2765503003 Cr-Commit-Position: refs/heads/master@{#459546} Committed: https://chromium.googlesource.com/chromium/src/+/d5514f08a923485a8ef2a58cab355893d0e55fcb

Patch Set 1 #

Total comments: 2

Patch Set 2 : Add another layout test #

Patch Set 3 : Add unittest #

Total comments: 4

Patch Set 4 : Add DCHECK, whitespace fix #

Unified diffs Side-by-side diffs Delta from patch set Stats (+74 lines, -8 lines) Patch
M third_party/WebKit/LayoutTests/compositing/overflow/composited-sticky-element.html View 1 chunk +2 lines, -1 line 0 comments Download
M third_party/WebKit/LayoutTests/compositing/overflow/composited-sticky-element-enclosing-layers.html View 1 chunk +2 lines, -1 line 0 comments Download
M third_party/WebKit/LayoutTests/compositing/overflow/composited-sticky-element-enclosing-layers-expected.html View 1 chunk +2 lines, -1 line 0 comments Download
A + third_party/WebKit/LayoutTests/compositing/overflow/composited-sticky-element-enclosing-layers-stacking-context.html View 1 1 chunk +1 line, -0 lines 0 comments Download
A + third_party/WebKit/LayoutTests/compositing/overflow/composited-sticky-element-enclosing-layers-stacking-context-expected.html View 1 1 chunk +1 line, -0 lines 0 comments Download
M third_party/WebKit/LayoutTests/compositing/overflow/composited-sticky-element-expected.html View 1 chunk +2 lines, -1 line 0 comments Download
A + third_party/WebKit/LayoutTests/compositing/overflow/composited-sticky-element-stacking-context.html View 1 chunk +1 line, -0 lines 0 comments Download
A + third_party/WebKit/LayoutTests/compositing/overflow/composited-sticky-element-stacking-context-expected.html View 1 chunk +1 line, -0 lines 0 comments Download
M third_party/WebKit/Source/core/layout/compositing/CompositedLayerMapping.cpp View 1 2 3 1 chunk +2 lines, -1 line 0 comments Download
M third_party/WebKit/Source/core/layout/compositing/CompositedLayerMappingTest.cpp View 1 2 3 2 chunks +60 lines, -3 lines 0 comments Download

Messages

Total messages: 44 (28 generated)
smcgruer
I plan to also update the unittests, just throwing this up for initial discussion.
3 years, 9 months ago (2017-03-20 18:56:07 UTC) #4
ajuma
lgtm https://codereview.chromium.org/2765503003/diff/1/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/2765503003/diff/1/third_party/WebKit/LayoutTests/compositing/overflow/composited-sticky-element-enclosing-layers.html#newcode8 third_party/WebKit/LayoutTests/compositing/overflow/composited-sticky-element-enclosing-layers.html:8: /* Triggers promotion without creating stacking context. */ ...
3 years, 9 months ago (2017-03-21 14:09:45 UTC) #12
smcgruer
https://codereview.chromium.org/2765503003/diff/1/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/2765503003/diff/1/third_party/WebKit/LayoutTests/compositing/overflow/composited-sticky-element-enclosing-layers.html#newcode8 third_party/WebKit/LayoutTests/compositing/overflow/composited-sticky-element-enclosing-layers.html:8: /* Triggers promotion without creating stacking context. */ On ...
3 years, 9 months ago (2017-03-21 14:53:10 UTC) #13
smcgruer
https://codereview.chromium.org/2765503003/diff/1/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/2765503003/diff/1/third_party/WebKit/LayoutTests/compositing/overflow/composited-sticky-element-enclosing-layers.html#newcode8 third_party/WebKit/LayoutTests/compositing/overflow/composited-sticky-element-enclosing-layers.html:8: /* Triggers promotion without creating stacking context. */ On ...
3 years, 9 months ago (2017-03-21 14:53:11 UTC) #14
flackr
LGTM with nits. https://codereview.chromium.org/2765503003/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/2765503003/diff/40001/third_party/WebKit/Source/core/layout/compositing/CompositedLayerMapping.cpp#newcode322 third_party/WebKit/Source/core/layout/compositing/CompositedLayerMapping.cpp:322: if (!scrollParent() && compositingContainer != ancestorOverflowLayer) ...
3 years, 9 months ago (2017-03-23 16:58:03 UTC) #15
smcgruer
https://codereview.chromium.org/2765503003/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/2765503003/diff/40001/third_party/WebKit/Source/core/layout/compositing/CompositedLayerMapping.cpp#newcode322 third_party/WebKit/Source/core/layout/compositing/CompositedLayerMapping.cpp:322: if (!scrollParent() && compositingContainer != ancestorOverflowLayer) { On 2017/03/23 ...
3 years, 9 months ago (2017-03-23 17:22:48 UTC) #16
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/2765503003/60001
3 years, 9 months ago (2017-03-23 19:19:46 UTC) #27
commit-bot: I haz the power
Try jobs failed on following builders: chromium_presubmit on master.tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/chromium_presubmit/builds/393190)
3 years, 9 months ago (2017-03-23 19:28:27 UTC) #29
smcgruer
Whoops, I need Blink OWNERS for this. +schenney for Blink OWNERS.
3 years, 9 months ago (2017-03-23 19:30:33 UTC) #31
smcgruer
schenney is out today, so +pdr instead for Blink OWNERS :)
3 years, 9 months ago (2017-03-24 17:29:20 UTC) #33
pdr.
On 2017/03/24 at 17:29:20, smcgruer wrote: > schenney is out today, so +pdr instead for ...
3 years, 9 months ago (2017-03-24 18:32:43 UTC) #34
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/2765503003/60001
3 years, 9 months ago (2017-03-24 18:35:11 UTC) #36
commit-bot: I haz the power
Try jobs failed on following builders: linux_chromium_chromeos_rel_ng on master.tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_chromeos_rel_ng/builds/390934)
3 years, 9 months ago (2017-03-24 19:24:35 UTC) #38
smcgruer
The failing test appears to run fine on my desktop. I'm going to assume flake ...
3 years, 9 months ago (2017-03-24 19:33:05 UTC) #39
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/2765503003/60001
3 years, 9 months ago (2017-03-24 19:34:04 UTC) #41
commit-bot: I haz the power
3 years, 9 months ago (2017-03-24 20:56:34 UTC) #44
Message was sent while issue was closed.
Committed patchset #4 (id:60001) as
https://chromium.googlesource.com/chromium/src/+/d5514f08a923485a8ef2a58cab35...

Powered by Google App Engine
This is Rietveld 408576698