| Index: cc/trees/layer_tree_host.cc | 
| diff --git a/cc/trees/layer_tree_host.cc b/cc/trees/layer_tree_host.cc | 
| index 6d91a6c149bd4219fc1daaf0cbf54f786a19b697..b9edd8431b433ed328f330612b9c13361adbf253 100644 | 
| --- a/cc/trees/layer_tree_host.cc | 
| +++ b/cc/trees/layer_tree_host.cc | 
| @@ -35,6 +35,7 @@ | 
| #include "cc/debug/rendering_stats_instrumentation.h" | 
| #include "cc/input/layer_selection_bound.h" | 
| #include "cc/input/page_scale_animation.h" | 
| +#include "cc/input/scroll_boundary_behavior.h" | 
| #include "cc/layers/heads_up_display_layer.h" | 
| #include "cc/layers/heads_up_display_layer_impl.h" | 
| #include "cc/layers/layer.h" | 
| @@ -1007,6 +1008,14 @@ void LayerTreeHost::SetBrowserControlsShownRatio(float ratio) { | 
| SetNeedsCommit(); | 
| } | 
|  | 
| +void LayerTreeHost::SetScrollBoundaryBehavior( | 
| +    const ScrollBoundaryBehavior& behavior) { | 
| +  if (scroll_boundary_behavior_ == behavior) | 
| +    return; | 
| +  scroll_boundary_behavior_ = behavior; | 
| +  SetNeedsCommit(); | 
| +} | 
| + | 
| void LayerTreeHost::SetPageScaleFactorAndLimits(float page_scale_factor, | 
| float min_page_scale_factor, | 
| float max_page_scale_factor) { | 
| @@ -1259,6 +1268,7 @@ void LayerTreeHost::PushLayerTreePropertiesTo(LayerTreeImpl* tree_impl) { | 
| browser_controls_shrink_blink_size_); | 
| tree_impl->set_top_controls_height(top_controls_height_); | 
| tree_impl->set_bottom_controls_height(bottom_controls_height_); | 
| +  tree_impl->set_scroll_boundary_behavior(scroll_boundary_behavior_); | 
| tree_impl->PushBrowserControlsFromMainThread(top_controls_shown_ratio_); | 
| tree_impl->elastic_overscroll()->PushMainToPending(elastic_overscroll_); | 
| if (tree_impl->IsActiveTree()) | 
|  |