Index: cc/layer_tree_impl.cc |
diff --git a/cc/layer_tree_impl.cc b/cc/layer_tree_impl.cc |
index 38a40f315cab2288e0fa14718754aad2427e8ec2..1b92a65f27f1edac7b74e40ee632da55cb3cf72b 100644 |
--- a/cc/layer_tree_impl.cc |
+++ b/cc/layer_tree_impl.cc |
@@ -92,6 +92,7 @@ void LayerTreeImpl::pushPropertiesTo(LayerTreeImpl* target_tree) { |
target_tree->SetPageScaleDelta( |
target_tree->page_scale_delta() / target_tree->sent_page_scale_delta()); |
target_tree->set_sent_page_scale_delta(1); |
+ target_tree->SetViewportSize(layout_viewport_size_, device_viewport_size_); |
// This should match the property synchronization in |
// LayerTreeHost::finishCommitOnImplThread(). |
@@ -269,6 +270,23 @@ void LayerTreeImpl::ClearRenderSurfaces() { |
set_needs_update_draw_properties(); |
} |
+void LayerTreeImpl::SetViewportSize(gfx::Size layout_viewport_size, |
+ gfx::Size device_viewport_size) { |
+ if (device_viewport_size_ == device_viewport_size && |
danakj
2013/02/13 08:19:54
sorry, but 2 space indent here :|
|
+ layout_viewport_size_ == layout_viewport_size) |
+ return; |
+ |
+ layout_viewport_size_ = layout_viewport_size; |
+ device_viewport_size_ = device_viewport_size; |
+ |
+ UpdateMaxScrollOffset(); |
+ |
+ if (IsActiveTree() && layer_tree_host_impl_->renderer()) |
+ layer_tree_host_impl_->renderer()->viewportChanged(); |
+ |
+ layer_tree_host_impl_->OnCanDrawStateChangedForTree(this); |
+} |
+ |
bool LayerTreeImpl::AreVisibleResourcesReady() const { |
TRACE_EVENT0("cc", "LayerTreeImpl::AreVisibleResourcesReady"); |
@@ -428,14 +446,6 @@ float LayerTreeImpl::device_scale_factor() const { |
return layer_tree_host_impl_->deviceScaleFactor(); |
} |
-const gfx::Size& LayerTreeImpl::device_viewport_size() const { |
- return layer_tree_host_impl_->deviceViewportSize(); |
-} |
- |
-const gfx::Size& LayerTreeImpl::layout_viewport_size() const { |
- return layer_tree_host_impl_->layoutViewportSize(); |
-} |
- |
std::string LayerTreeImpl::layer_tree_as_text() const { |
return layer_tree_host_impl_->layerTreeAsText(); |
} |