| Index: cc/blink/web_layer_impl.cc
|
| diff --git a/cc/blink/web_layer_impl.cc b/cc/blink/web_layer_impl.cc
|
| index 20b07be492d284a8328e387c34f614fb756e4a60..6277c372a22f44ba09ae8c92d224c5dd89a02f7c 100644
|
| --- a/cc/blink/web_layer_impl.cc
|
| +++ b/cc/blink/web_layer_impl.cc
|
| @@ -25,6 +25,7 @@
|
| #include "third_party/WebKit/public/platform/WebFloatRect.h"
|
| #include "third_party/WebKit/public/platform/WebLayerPositionConstraint.h"
|
| #include "third_party/WebKit/public/platform/WebLayerScrollClient.h"
|
| +#include "third_party/WebKit/public/platform/WebLayerStickyPositionConstraint.h"
|
| #include "third_party/WebKit/public/platform/WebSize.h"
|
| #include "third_party/skia/include/core/SkMatrix44.h"
|
| #include "ui/gfx/geometry/rect_conversions.h"
|
| @@ -363,6 +364,53 @@ blink::WebLayerPositionConstraint WebLayerImpl::positionConstraint() const {
|
| return ToWebLayerPositionConstraint(layer_->position_constraint());
|
| }
|
|
|
| +static blink::WebLayerStickyPositionConstraint
|
| +ToWebLayerStickyPositionConstraint(
|
| + const cc::LayerStickyPositionConstraint& constraint) {
|
| + blink::WebLayerStickyPositionConstraint web_constraint;
|
| + web_constraint.isSticky = constraint.is_sticky;
|
| + web_constraint.isAnchoredLeft = constraint.is_anchored_left;
|
| + web_constraint.isAnchoredRight = constraint.is_anchored_right;
|
| + web_constraint.isAnchoredTop = constraint.is_anchored_top;
|
| + web_constraint.isAnchoredBottom = constraint.is_anchored_bottom;
|
| + web_constraint.leftOffset = constraint.left_offset;
|
| + web_constraint.rightOffset = constraint.right_offset;
|
| + web_constraint.topOffset = constraint.top_offset;
|
| + web_constraint.bottomOffset = constraint.bottom_offset;
|
| + web_constraint.scrollContainerRelativeStickyBoxRect =
|
| + constraint.scroll_container_relative_sticky_box_rect;
|
| + web_constraint.scrollContainerRelativeContainingBlockRect =
|
| + constraint.scroll_container_relative_containing_block_rect;
|
| + return web_constraint;
|
| +}
|
| +static cc::LayerStickyPositionConstraint ToStickyPositionConstraint(
|
| + const blink::WebLayerStickyPositionConstraint& web_constraint) {
|
| + cc::LayerStickyPositionConstraint constraint;
|
| + constraint.is_sticky = web_constraint.isSticky;
|
| + constraint.is_anchored_left = web_constraint.isAnchoredLeft;
|
| + constraint.is_anchored_right = web_constraint.isAnchoredRight;
|
| + constraint.is_anchored_top = web_constraint.isAnchoredTop;
|
| + constraint.is_anchored_bottom = web_constraint.isAnchoredBottom;
|
| + constraint.left_offset = web_constraint.leftOffset;
|
| + constraint.right_offset = web_constraint.rightOffset;
|
| + constraint.top_offset = web_constraint.topOffset;
|
| + constraint.bottom_offset = web_constraint.bottomOffset;
|
| + constraint.scroll_container_relative_sticky_box_rect =
|
| + web_constraint.scrollContainerRelativeStickyBoxRect;
|
| + constraint.scroll_container_relative_containing_block_rect =
|
| + web_constraint.scrollContainerRelativeContainingBlockRect;
|
| + return constraint;
|
| +}
|
| +void WebLayerImpl::setStickyPositionConstraint(
|
| + const blink::WebLayerStickyPositionConstraint& constraint) {
|
| + layer_->SetStickyPositionConstraint(ToStickyPositionConstraint(constraint));
|
| +}
|
| +blink::WebLayerStickyPositionConstraint WebLayerImpl::stickyPositionConstraint()
|
| + const {
|
| + return ToWebLayerStickyPositionConstraint(
|
| + layer_->sticky_position_constraint());
|
| +}
|
| +
|
| void WebLayerImpl::setScrollClient(blink::WebLayerScrollClient* scroll_client) {
|
| if (scroll_client) {
|
| layer_->set_did_scroll_callback(
|
|
|