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

Side by Side Diff: cc/trees/layer_tree.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 unified diff | Download patch
« no previous file with comments | « cc/trees/layer_tree.h ('k') | cc/trees/layer_tree_host_impl.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "cc/trees/layer_tree.h" 5 #include "cc/trees/layer_tree.h"
6 6
7 #include "base/auto_reset.h" 7 #include "base/auto_reset.h"
8 #include "base/time/time.h" 8 #include "base/time/time.h"
9 #include "cc/input/page_scale_animation.h" 9 #include "cc/input/page_scale_animation.h"
10 #include "cc/layers/heads_up_display_layer.h" 10 #include "cc/layers/heads_up_display_layer.h"
11 #include "cc/layers/heads_up_display_layer_impl.h" 11 #include "cc/layers/heads_up_display_layer_impl.h"
12 #include "cc/layers/layer.h" 12 #include "cc/layers/layer.h"
13 #include "cc/trees/layer_tree_host.h" 13 #include "cc/trees/layer_tree_host.h"
14 #include "cc/trees/layer_tree_host_common.h" 14 #include "cc/trees/layer_tree_host_common.h"
15 #include "cc/trees/layer_tree_impl.h" 15 #include "cc/trees/layer_tree_impl.h"
16 #include "cc/trees/mutator_host.h" 16 #include "cc/trees/mutator_host.h"
17 #include "cc/trees/property_tree_builder.h" 17 #include "cc/trees/property_tree_builder.h"
18 18
19 namespace cc { 19 namespace cc {
20 20
21 LayerTree::Inputs::Inputs() 21 LayerTree::Inputs::Inputs()
22 : top_controls_height(0.f), 22 : top_controls_height(0.f),
23 top_controls_shown_ratio(0.f), 23 top_controls_shown_ratio(0.f),
24 browser_controls_shrink_blink_size(false), 24 browser_controls_shrink_blink_size(false),
25 bottom_controls_height(0.f), 25 bottom_controls_height(0.f),
26 device_scale_factor(1.f), 26 device_scale_factor(1.f),
27 painted_device_scale_factor(1.f), 27 painted_device_scale_factor(1.f),
28 page_scale_factor(1.f), 28 page_scale_factor(1.f),
29 subframe_page_scale_factor(1.f),
29 min_page_scale_factor(1.f), 30 min_page_scale_factor(1.f),
30 max_page_scale_factor(1.f), 31 max_page_scale_factor(1.f),
31 background_color(SK_ColorWHITE), 32 background_color(SK_ColorWHITE),
32 has_transparent_background(false), 33 has_transparent_background(false),
33 have_scroll_event_handlers(false), 34 have_scroll_event_handlers(false),
34 event_listener_properties() {} 35 event_listener_properties() {}
35 36
36 LayerTree::Inputs::~Inputs() = default; 37 LayerTree::Inputs::~Inputs() = default;
37 38
38 LayerTree::LayerTree(MutatorHost* mutator_host, LayerTreeHost* layer_tree_host) 39 LayerTree::LayerTree(MutatorHost* mutator_host, LayerTreeHost* layer_tree_host)
(...skipping 128 matching lines...) Expand 10 before | Expand all | Expand 10 after
167 inputs_.max_page_scale_factor == max_page_scale_factor) 168 inputs_.max_page_scale_factor == max_page_scale_factor)
168 return; 169 return;
169 170
170 inputs_.page_scale_factor = page_scale_factor; 171 inputs_.page_scale_factor = page_scale_factor;
171 inputs_.min_page_scale_factor = min_page_scale_factor; 172 inputs_.min_page_scale_factor = min_page_scale_factor;
172 inputs_.max_page_scale_factor = max_page_scale_factor; 173 inputs_.max_page_scale_factor = max_page_scale_factor;
173 SetPropertyTreesNeedRebuild(); 174 SetPropertyTreesNeedRebuild();
174 SetNeedsCommit(); 175 SetNeedsCommit();
175 } 176 }
176 177
178 void LayerTree::SetSubframePageScaleFactor(float subframe_page_scale_factor) {
179 if (inputs_.subframe_page_scale_factor == subframe_page_scale_factor)
180 return;
181
182 inputs_.subframe_page_scale_factor = subframe_page_scale_factor;
183 SetNeedsDisplayOnAllLayers();
184 }
185
177 void LayerTree::StartPageScaleAnimation(const gfx::Vector2d& target_offset, 186 void LayerTree::StartPageScaleAnimation(const gfx::Vector2d& target_offset,
178 bool use_anchor, 187 bool use_anchor,
179 float scale, 188 float scale,
180 base::TimeDelta duration) { 189 base::TimeDelta duration) {
181 inputs_.pending_page_scale_animation.reset(new PendingPageScaleAnimation( 190 inputs_.pending_page_scale_animation.reset(new PendingPageScaleAnimation(
182 target_offset, use_anchor, scale, duration)); 191 target_offset, use_anchor, scale, duration));
183 192
184 SetNeedsCommit(); 193 SetNeedsCommit();
185 } 194 }
186 195
(...skipping 185 matching lines...) Expand 10 before | Expand all | Expand 10 after
372 if (inputs_.root_layer && property_trees_changed_on_active_tree) { 381 if (inputs_.root_layer && property_trees_changed_on_active_tree) {
373 if (property_trees_.sequence_number == 382 if (property_trees_.sequence_number ==
374 tree_impl->property_trees()->sequence_number) 383 tree_impl->property_trees()->sequence_number)
375 tree_impl->property_trees()->PushChangeTrackingTo(&property_trees_); 384 tree_impl->property_trees()->PushChangeTrackingTo(&property_trees_);
376 else 385 else
377 tree_impl->MoveChangeTrackingToLayers(); 386 tree_impl->MoveChangeTrackingToLayers();
378 } 387 }
379 // Setting property trees must happen before pushing the page scale. 388 // Setting property trees must happen before pushing the page scale.
380 tree_impl->SetPropertyTrees(&property_trees_); 389 tree_impl->SetPropertyTrees(&property_trees_);
381 390
382 tree_impl->PushPageScaleFromMainThread(inputs_.page_scale_factor, 391 tree_impl->PushPageScaleFromMainThread(
383 inputs_.min_page_scale_factor, 392 inputs_.page_scale_factor, inputs_.subframe_page_scale_factor,
384 inputs_.max_page_scale_factor); 393 inputs_.min_page_scale_factor, inputs_.max_page_scale_factor);
385 394
386 tree_impl->set_browser_controls_shrink_blink_size( 395 tree_impl->set_browser_controls_shrink_blink_size(
387 inputs_.browser_controls_shrink_blink_size); 396 inputs_.browser_controls_shrink_blink_size);
388 tree_impl->set_top_controls_height(inputs_.top_controls_height); 397 tree_impl->set_top_controls_height(inputs_.top_controls_height);
389 tree_impl->set_bottom_controls_height(inputs_.bottom_controls_height); 398 tree_impl->set_bottom_controls_height(inputs_.bottom_controls_height);
390 tree_impl->PushBrowserControlsFromMainThread( 399 tree_impl->PushBrowserControlsFromMainThread(
391 inputs_.top_controls_shown_ratio); 400 inputs_.top_controls_shown_ratio);
392 tree_impl->elastic_overscroll()->PushFromMainThread(elastic_overscroll_); 401 tree_impl->elastic_overscroll()->PushFromMainThread(elastic_overscroll_);
393 if (tree_impl->IsActiveTree()) 402 if (tree_impl->IsActiveTree())
394 tree_impl->elastic_overscroll()->PushPendingToActive(); 403 tree_impl->elastic_overscroll()->PushPendingToActive();
(...skipping 133 matching lines...) Expand 10 before | Expand all | Expand 10 after
528 LayerListReverseIterator<Layer> LayerTree::rend() { 537 LayerListReverseIterator<Layer> LayerTree::rend() {
529 return LayerListReverseIterator<Layer>(nullptr); 538 return LayerListReverseIterator<Layer>(nullptr);
530 } 539 }
531 540
532 void LayerTree::SetNeedsDisplayOnAllLayers() { 541 void LayerTree::SetNeedsDisplayOnAllLayers() {
533 for (auto* layer : *this) 542 for (auto* layer : *this)
534 layer->SetNeedsDisplay(); 543 layer->SetNeedsDisplay();
535 } 544 }
536 545
537 } // namespace cc 546 } // namespace cc
OLDNEW
« no previous file with comments | « cc/trees/layer_tree.h ('k') | cc/trees/layer_tree_host_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698