New issue
Advanced search Search tips

Issue 663642 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Nov 2016
Components:
EstimatedDays: ----
NextAction: ----
OS: All
Pri: 2
Type: Bug



Sign in to add a comment

position: sticky compositing update does not account for scroll parent.

Reported by yio...@gmail.com, Nov 9 2016

Issue description

UserAgent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2913.3 Safari/537.36

Steps to reproduce the problem:
1. Open http://jsbin.com/miyuxodapu/edit?html,css,output

What is the expected behavior?

What went wrong?
Sticky position element position disorder.

Did this work before? N/A 

Does this work in other browsers? N/A

Chrome version: 56.0.2913.3  Channel: canary
OS Version: OS X 10.11.6
Flash Version: Shockwave Flash 24.0 r0
 
sticky.gif
223 KB View Download

Comment 1 by yio...@gmail.com, Nov 9 2016

Remove the box's background-color is good.
Components: Blink>CSS Blink>Layout
Owner: flackr@chromium.org
Components: -Blink>CSS -Blink>Layout Blink>Compositing
Labels: -OS-Mac M-56 OS-All
Status: Started (was: Unconfirmed)
This seems to be an issue with sticky within automatically promoted scrollers (i.e. explicitly adding will-change: transform fixes it or removing the background which prevents automatic promotion fixes it). Investigating.

Comment 4 by yio...@gmail.com, Nov 10 2016

Why background can lead to failure?

'will-change: transform' will lead to an increase in spacing.

And then I found that the sticky position element 'left' value appears to be invalid.
QQ20161110-0.png
12.8 KB View Download

Comment 5 by flackr@chromium.org, Nov 11 2016

Summary: position: sticky compositing update does not account for scroll parent. (was: position: sticky render failed)
Fix is in review: https://codereview.chromium.org/2486393006

I filed  issue 664373  for the incorrect offset.
Project Member

Comment 6 by bugdroid1@chromium.org, Nov 14 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/d2ae03fccb90a1de08a12be2c9d81cf4ff04f713

commit d2ae03fccb90a1de08a12be2c9d81cf4ff04f713
Author: flackr <flackr@chromium.org>
Date: Mon Nov 14 19:22:05 2016

Include the source_to_parent offset when removing offset applied by main.

BUG= 663642 
TEST=LayerTreeHostCommonTest.StickyPositionTopScrollParent, compositing/overflow/composited-sticky-element.html
CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_rel

Review-Url: https://codereview.chromium.org/2486393006
Cr-Commit-Position: refs/heads/master@{#431898}

[modify] https://crrev.com/d2ae03fccb90a1de08a12be2c9d81cf4ff04f713/cc/trees/layer_tree_host_common_unittest.cc
[modify] https://crrev.com/d2ae03fccb90a1de08a12be2c9d81cf4ff04f713/cc/trees/property_tree.cc
[add] https://crrev.com/d2ae03fccb90a1de08a12be2c9d81cf4ff04f713/third_party/WebKit/LayoutTests/compositing/overflow/composited-sticky-element-expected.html
[add] https://crrev.com/d2ae03fccb90a1de08a12be2c9d81cf4ff04f713/third_party/WebKit/LayoutTests/compositing/overflow/composited-sticky-element.html

Comment 7 by flackr@chromium.org, Nov 15 2016

Status: Fixed (was: Started)

Comment 8 by yio...@gmail.com, Nov 15 2016

Awesome!

Sign in to add a comment