Index: cc/trees/layer_tree_host_impl.cc |
diff --git a/cc/trees/layer_tree_host_impl.cc b/cc/trees/layer_tree_host_impl.cc |
index a10d46b423c1e77b354494db0706179ec91ceea2..91ff5587bb6314ace51e01bc35bd6d392d19d995 100644 |
--- a/cc/trees/layer_tree_host_impl.cc |
+++ b/cc/trees/layer_tree_host_impl.cc |
@@ -2904,8 +2904,7 @@ void LayerTreeHostImpl::PinchGestureEnd() { |
static void CollectScrollDeltas(ScrollAndScaleSet* scroll_info, |
LayerImpl* layer_impl) { |
- if (!layer_impl) |
- return; |
+ DCHECK(layer_impl); |
gfx::Vector2d scroll_delta = |
gfx::ToFlooredVector2d(layer_impl->ScrollDelta()); |
@@ -2924,12 +2923,15 @@ static void CollectScrollDeltas(ScrollAndScaleSet* scroll_info, |
scoped_ptr<ScrollAndScaleSet> LayerTreeHostImpl::ProcessScrollDeltas() { |
scoped_ptr<ScrollAndScaleSet> scroll_info(new ScrollAndScaleSet()); |
- CollectScrollDeltas(scroll_info.get(), active_tree_->root_layer()); |
- scroll_info->page_scale_delta = active_tree_->page_scale_delta(); |
- active_tree_->set_sent_page_scale_delta(scroll_info->page_scale_delta); |
- scroll_info->swap_promises.swap(swap_promises_for_main_thread_scroll_update_); |
- scroll_info->top_controls_delta = active_tree()->top_controls_delta(); |
- active_tree_->set_sent_top_controls_delta(scroll_info->top_controls_delta); |
+ if (active_tree_->root_layer()) { |
+ CollectScrollDeltas(scroll_info.get(), active_tree_->root_layer()); |
+ scroll_info->page_scale_delta = active_tree_->page_scale_delta(); |
+ active_tree_->set_sent_page_scale_delta(scroll_info->page_scale_delta); |
+ scroll_info->swap_promises.swap( |
+ swap_promises_for_main_thread_scroll_update_); |
+ scroll_info->top_controls_delta = active_tree()->top_controls_delta(); |
+ active_tree_->set_sent_top_controls_delta(scroll_info->top_controls_delta); |
+ } |
return scroll_info.Pass(); |
} |