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 3f7a58cdc7346e28159fd34c773fd4ea38c416e9..c26c6a2b799fc67b9dae8647d2401d272196efca 100644 |
--- a/third_party/WebKit/Source/core/layout/compositing/CompositedLayerMapping.cpp |
+++ b/third_party/WebKit/Source/core/layout/compositing/CompositedLayerMapping.cpp |
@@ -79,6 +79,7 @@ |
#include "platform/wtf/CurrentTime.h" |
#include "platform/wtf/text/StringBuilder.h" |
#include "public/platform/WebLayerStickyPositionConstraint.h" |
+#include "public/platform/WebScrollBoundaryBehavior.h" |
namespace blink { |
@@ -1155,11 +1156,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, |