| OLD | NEW |
| 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 Loading... |
| 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 Loading... |
| 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 Loading... |
| 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 |
| OLD | NEW |