New issue
Advanced search Search tips

Issue 649102 link

Starred by 2 users

Issue metadata

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

Blocking:
issue 231752



Sign in to add a comment

Sticky position main thread offset incorrect on compositor thread.

Project Member Reported by flackr@chromium.org, Sep 21 2016

Issue description

Version: 55.0.2868.0 (Developer Build) (64-bit)
Revision: c25b23acf5c133b941ee35cb7a0e32b1e539dfbd-refs/heads/master@{#420151}

What steps will reproduce the problem?
(1) Visit http://output.jsbin.com/joqoge
(2) Scroll down.

What is the expected output?
Expect all three boxes to look identical (except for their scale)

What do you see instead?
Instead the composited sticky box on the right is incorrectly positioned as it has an incorrect main thread offset.

Please use labels and text to provide additional information.

 
Status: Started (was: Assigned)
Project Member

Comment 3 by bugdroid1@chromium.org, Oct 11 2016

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

commit 68e1c292942bc96e212048b7993500244a47dc41
Author: flackr <flackr@chromium.org>
Date: Tue Oct 11 16:34:42 2016

Compute and include the offset of the sticky box to its enclosing composited layer.

When the main thread moves a sticky object we try to determine how far it was moved
in cc/ to know how much more we still have to move it. However, when the sticky
object is in a composited layer we need to know the expected offset from that layer
rather than from the scroll ancestor.

BUG= 649102 
TEST=LayerTreeHostCommonTest.StickyPositionCompositedContainer, ScrollingCoordinatorTest.fastScrollingForStickyPosition
CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_precise_blink_rel

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

[modify] https://crrev.com/68e1c292942bc96e212048b7993500244a47dc41/cc/blink/web_layer_impl.cc
[modify] https://crrev.com/68e1c292942bc96e212048b7993500244a47dc41/cc/layers/layer.cc
[modify] https://crrev.com/68e1c292942bc96e212048b7993500244a47dc41/cc/layers/layer_sticky_position_constraint.cc
[modify] https://crrev.com/68e1c292942bc96e212048b7993500244a47dc41/cc/layers/layer_sticky_position_constraint.h
[modify] https://crrev.com/68e1c292942bc96e212048b7993500244a47dc41/cc/proto/layer_sticky_position_constraint.proto
[modify] https://crrev.com/68e1c292942bc96e212048b7993500244a47dc41/cc/trees/layer_tree_host_common_unittest.cc
[modify] https://crrev.com/68e1c292942bc96e212048b7993500244a47dc41/cc/trees/property_tree_builder.cc
[modify] https://crrev.com/68e1c292942bc96e212048b7993500244a47dc41/third_party/WebKit/Source/core/layout/compositing/CompositedLayerMapping.cpp
[modify] https://crrev.com/68e1c292942bc96e212048b7993500244a47dc41/third_party/WebKit/Source/web/tests/ScrollingCoordinatorTest.cpp
[add] https://crrev.com/68e1c292942bc96e212048b7993500244a47dc41/third_party/WebKit/Source/web/tests/data/sticky-position.html
[modify] https://crrev.com/68e1c292942bc96e212048b7993500244a47dc41/third_party/WebKit/public/platform/WebLayerStickyPositionConstraint.h

Comment 4 by flackr@chromium.org, Oct 11 2016

Status: Fixed (was: Started)

Sign in to add a comment