| Index: cc/trees/property_tree_builder.cc
|
| diff --git a/cc/trees/property_tree_builder.cc b/cc/trees/property_tree_builder.cc
|
| index c5f683c46b371488808de6fb096b551d7b09754f..dd1642bcf04813bb87bab838f272e5a58c3ae99a 100644
|
| --- a/cc/trees/property_tree_builder.cc
|
| +++ b/cc/trees/property_tree_builder.cc
|
| @@ -76,6 +76,14 @@ static LayerStickyPositionConstraint StickyPositionConstraint(
|
| return layer->test_properties()->sticky_position_constraint;
|
| }
|
|
|
| +static gfx::Size OffsetForStickyPositionFromMainThread(Layer* layer) {
|
| + return layer->offset_for_sticky_position_from_main_thread();
|
| +}
|
| +
|
| +static gfx::Size OffsetForStickyPositionFromMainThread(LayerImpl* layer) {
|
| + return layer->test_properties()->offset_for_sticky_position_from_main_thread;
|
| +}
|
| +
|
| static LayerImplList& Children(LayerImpl* layer) {
|
| return layer->test_properties()->children;
|
| }
|
| @@ -540,14 +548,6 @@ bool AddTransformNodeIfNeeded(
|
| .AddNodeAffectedByOuterViewportBoundsDelta(node->id);
|
| }
|
| }
|
| - // TODO(smcgruer): Pass main thread sticky-shifting offsets of
|
| - // non-promoted ancestors, or promote all ancestor sticky elements.
|
| - // See http://crbug.com/702229
|
| - sticky_data->main_thread_offset =
|
| - layer->position().OffsetFromOrigin() -
|
| - sticky_data->constraints.parent_relative_sticky_box_offset
|
| - .OffsetFromOrigin();
|
| -
|
| // Copy the ancestor nodes for later use. These layers are guaranteed to
|
| // have transform nodes at this point because they are our ancestors (so
|
| // have already been processed) and are sticky (so have transform nodes).
|
| @@ -570,6 +570,9 @@ bool AddTransformNodeIfNeeded(
|
| DCHECK(sticky_data->nearest_node_shifting_containing_block !=
|
| TransformTree::kInvalidNodeId);
|
| }
|
| + node->offset_for_sticky_position_from_main_thread =
|
| + gfx::Vector2dF(OffsetForStickyPositionFromMainThread(layer).width(),
|
| + OffsetForStickyPositionFromMainThread(layer).height());
|
| }
|
|
|
| node->needs_local_transform_update = true;
|
|
|