Index: third_party/WebKit/Source/core/layout/compositing/CompositedLayerMapping.cpp |
diff --git a/third_party/WebKit/Source/core/layout/compositing/CompositedLayerMapping.cpp b/third_party/WebKit/Source/core/layout/compositing/CompositedLayerMapping.cpp |
index c438cf02eb89b27ee507e657c12a2d6998906d3c..8ce12d1e0658095eb578c743f9254d503dc65901 100644 |
--- a/third_party/WebKit/Source/core/layout/compositing/CompositedLayerMapping.cpp |
+++ b/third_party/WebKit/Source/core/layout/compositing/CompositedLayerMapping.cpp |
@@ -80,6 +80,7 @@ |
#include "platform/wtf/CurrentTime.h" |
#include "platform/wtf/text/StringBuilder.h" |
#include "public/platform/WebLayerStickyPositionConstraint.h" |
+#include "public/platform/WebScrollBoundaryBehavior.h" |
namespace blink { |
@@ -1162,11 +1163,27 @@ void CompositedLayerMapping::UpdateGraphicsLayerGeometry( |
UpdateShouldFlattenTransform(); |
UpdateChildrenTransform(); |
UpdateScrollParent(ScrollParent()); |
+ UpdateScrollBoundaryBehavior(); |
RegisterScrollingLayers(); |
UpdateCompositingReasons(); |
} |
+void CompositedLayerMapping::UpdateScrollBoundaryBehavior() { |
+ EScrollBoundaryBehavior behavior_x = |
+ GetLayoutObject().StyleRef().ScrollBoundaryBehaviorX(); |
+ EScrollBoundaryBehavior behavior_y = |
+ GetLayoutObject().StyleRef().ScrollBoundaryBehaviorY(); |
+ if (scrolling_contents_layer_) { |
+ using ScrollBoundaryBehavior = |
+ WebScrollBoundaryBehavior::ScrollBoundaryBehaviorType; |
+ scrolling_contents_layer_->SetScrollBoundaryBehavior( |
+ WebScrollBoundaryBehavior( |
+ static_cast<ScrollBoundaryBehavior>(behavior_x), |
+ static_cast<ScrollBoundaryBehavior>(behavior_y))); |
+ } |
+} |
+ |
void CompositedLayerMapping::UpdateMainGraphicsLayerGeometry( |
const IntRect& relative_compositing_bounds, |
const IntRect& local_compositing_bounds, |