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 2a04d2e00db8e4dc9668733af5e47cc4cdb1961e..58127b8afcda7e7d850a9d60bd94a3b80f41e9a4 100644 |
--- a/third_party/WebKit/Source/core/layout/compositing/CompositedLayerMapping.cpp |
+++ b/third_party/WebKit/Source/core/layout/compositing/CompositedLayerMapping.cpp |
@@ -81,6 +81,7 @@ |
#include "platform/wtf/CurrentTime.h" |
#include "platform/wtf/text/StringBuilder.h" |
#include "public/platform/WebLayerStickyPositionConstraint.h" |
+#include "public/platform/WebScrollBoundaryBehavior.h" |
namespace blink { |
@@ -1138,11 +1139,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_) { |
+ scrolling_contents_layer_->SetScrollBoundaryBehavior( |
+ WebScrollBoundaryBehavior( |
+ static_cast<WebScrollBoundaryBehavior::ScrollBoundaryBehaviorType>( |
+ behavior_x), |
+ static_cast<WebScrollBoundaryBehavior::ScrollBoundaryBehaviorType>( |
+ behavior_y))); |
+ } |
+} |
+ |
void CompositedLayerMapping::UpdateMainGraphicsLayerGeometry( |
const IntRect& relative_compositing_bounds, |
const IntRect& local_compositing_bounds, |