Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2892)

Unified Diff: cc/trees/layer_tree_host_impl.cc

Issue 2652643004: Make PageScaleFactor work for oopif subframes.
Patch Set: Put function prototype in correct place. Created 3 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « cc/trees/layer_tree.cc ('k') | cc/trees/layer_tree_impl.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 915f7ea72f25aaea11529420ca982b2b29ed0de3..0b11e6e4a5be27433d1d87ac4d3dd7e028297577 100644
--- a/cc/trees/layer_tree_host_impl.cc
+++ b/cc/trees/layer_tree_host_impl.cc
@@ -265,8 +265,8 @@ LayerTreeHostImpl::LayerTreeHostImpl(
// LTHI always has an active tree.
active_tree_ = base::MakeUnique<LayerTreeImpl>(
- this, new SyncedProperty<ScaleGroup>, new SyncedBrowserControls,
- new SyncedElasticOverscroll);
+ this, new SyncedProperty<ScaleGroup>, new SyncedProperty<ScaleGroup>,
+ new SyncedBrowserControls, new SyncedElasticOverscroll);
active_tree_->property_trees()->is_active = true;
viewport_ = Viewport::Create(this);
@@ -1198,10 +1198,11 @@ void LayerTreeHostImpl::BlockNotifyReadyToActivateForTesting(bool block) {
void LayerTreeHostImpl::ResetTreesForTesting() {
if (active_tree_)
active_tree_->DetachLayers();
- active_tree_ =
- base::MakeUnique<LayerTreeImpl>(this, active_tree()->page_scale_factor(),
- active_tree()->top_controls_shown_ratio(),
- active_tree()->elastic_overscroll());
+ active_tree_ = base::MakeUnique<LayerTreeImpl>(
+ this, active_tree()->page_scale_factor(),
+ active_tree()->subframe_page_scale_factor(),
+ active_tree()->top_controls_shown_ratio(),
+ active_tree()->elastic_overscroll());
active_tree_->property_trees()->is_active = true;
if (pending_tree_)
pending_tree_->DetachLayers();
@@ -1541,6 +1542,7 @@ CompositorFrameMetadata LayerTreeHostImpl::MakeCompositorFrameMetadata() const {
active_tree_->device_scale_factor();
metadata.page_scale_factor = active_tree_->current_page_scale_factor();
+ // TODO(wjmaclean): Should we sxpose subframe PSF here?
metadata.scrollable_viewport_size = active_tree_->ScrollableViewportSize();
metadata.root_layer_size = active_tree_->ScrollableSize();
metadata.min_page_scale_factor = active_tree_->min_page_scale_factor();
@@ -1952,6 +1954,7 @@ void LayerTreeHostImpl::CreatePendingTree() {
} else {
pending_tree_ = base::MakeUnique<LayerTreeImpl>(
this, active_tree()->page_scale_factor(),
+ active_tree()->subframe_page_scale_factor(),
active_tree()->top_controls_shown_ratio(),
active_tree()->elastic_overscroll());
}
@@ -3318,9 +3321,14 @@ void LayerTreeHostImpl::PinchGestureBegin() {
void LayerTreeHostImpl::PinchGestureUpdate(float magnify_delta,
const gfx::Point& anchor) {
TRACE_EVENT0("cc", "LayerTreeHostImpl::PinchGestureUpdate");
- if (!InnerViewportScrollLayer())
- return;
- viewport()->PinchUpdate(magnify_delta, anchor);
+ if (InnerViewportScrollLayer()) {
+ viewport()->PinchUpdate(magnify_delta, anchor);
+ } else {
+ float subframe_page_scale_factor =
+ active_tree_->GetSubframePageScaleFactor();
+ subframe_page_scale_factor *= magnify_delta;
+ active_tree_->SetSubframePageScaleOnActiveTree(subframe_page_scale_factor);
+ }
client_->SetNeedsCommitOnImplThread();
SetNeedsRedraw();
client_->RenewTreePriority();
« no previous file with comments | « cc/trees/layer_tree.cc ('k') | cc/trees/layer_tree_impl.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698