| OLD | NEW |
| 1 // Copyright 2011 The Chromium Authors. All rights reserved. | 1 // Copyright 2011 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_host.h" | 5 #include "cc/trees/layer_tree_host.h" |
| 6 | 6 |
| 7 #include <algorithm> | 7 #include <algorithm> |
| 8 #include <stack> | 8 #include <stack> |
| 9 | 9 |
| 10 #include "base/bind.h" | 10 #include "base/bind.h" |
| (...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 81 } | 81 } |
| 82 | 82 |
| 83 static int s_next_tree_id = 1; | 83 static int s_next_tree_id = 1; |
| 84 | 84 |
| 85 LayerTreeHost::LayerTreeHost(LayerTreeHostClient* client, | 85 LayerTreeHost::LayerTreeHost(LayerTreeHostClient* client, |
| 86 const LayerTreeSettings& settings) | 86 const LayerTreeSettings& settings) |
| 87 : next_ui_resource_id_(1), | 87 : next_ui_resource_id_(1), |
| 88 animating_(false), | 88 animating_(false), |
| 89 needs_full_tree_sync_(true), | 89 needs_full_tree_sync_(true), |
| 90 needs_filter_context_(false), | 90 needs_filter_context_(false), |
| 91 commit_waits_for_activation_(false), |
| 91 client_(client), | 92 client_(client), |
| 92 source_frame_number_(0), | 93 source_frame_number_(0), |
| 93 rendering_stats_instrumentation_(RenderingStatsInstrumentation::Create()), | 94 rendering_stats_instrumentation_(RenderingStatsInstrumentation::Create()), |
| 94 output_surface_can_be_initialized_(true), | 95 output_surface_can_be_initialized_(true), |
| 95 output_surface_lost_(true), | 96 output_surface_lost_(true), |
| 96 num_failed_recreate_attempts_(0), | 97 num_failed_recreate_attempts_(0), |
| 97 settings_(settings), | 98 settings_(settings), |
| 98 debug_state_(settings.initial_debug_state), | 99 debug_state_(settings.initial_debug_state), |
| 99 overdraw_bottom_height_(0.f), | 100 overdraw_bottom_height_(0.f), |
| 100 device_scale_factor_(1.f), | 101 device_scale_factor_(1.f), |
| (...skipping 275 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 376 if (sync_tree->ContentsTexturesPurged()) | 377 if (sync_tree->ContentsTexturesPurged()) |
| 377 sync_tree->ResetContentsTexturesPurged(); | 378 sync_tree->ResetContentsTexturesPurged(); |
| 378 } | 379 } |
| 379 | 380 |
| 380 if (!settings_.impl_side_painting) { | 381 if (!settings_.impl_side_painting) { |
| 381 // If we're not in impl-side painting, the tree is immediately | 382 // If we're not in impl-side painting, the tree is immediately |
| 382 // considered active. | 383 // considered active. |
| 383 sync_tree->DidBecomeActive(); | 384 sync_tree->DidBecomeActive(); |
| 384 } | 385 } |
| 385 | 386 |
| 387 commit_waits_for_activation_ = false; |
| 386 source_frame_number_++; | 388 source_frame_number_++; |
| 387 } | 389 } |
| 388 | 390 |
| 389 void LayerTreeHost::WillCommit() { | 391 void LayerTreeHost::WillCommit() { |
| 390 client_->WillCommit(); | 392 client_->WillCommit(); |
| 391 } | 393 } |
| 392 | 394 |
| 393 void LayerTreeHost::UpdateHudLayer() { | 395 void LayerTreeHost::UpdateHudLayer() { |
| 394 if (debug_state_.ShowHudInfo()) { | 396 if (debug_state_.ShowHudInfo()) { |
| 395 if (!hud_layer_.get()) | 397 if (!hud_layer_.get()) |
| (...skipping 686 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1082 // Top controls are only used in threaded mode. | 1084 // Top controls are only used in threaded mode. |
| 1083 proxy_->ImplThreadTaskRunner()->PostTask( | 1085 proxy_->ImplThreadTaskRunner()->PostTask( |
| 1084 FROM_HERE, | 1086 FROM_HERE, |
| 1085 base::Bind(&TopControlsManager::UpdateTopControlsState, | 1087 base::Bind(&TopControlsManager::UpdateTopControlsState, |
| 1086 top_controls_manager_weak_ptr_, | 1088 top_controls_manager_weak_ptr_, |
| 1087 constraints, | 1089 constraints, |
| 1088 current, | 1090 current, |
| 1089 animate)); | 1091 animate)); |
| 1090 } | 1092 } |
| 1091 | 1093 |
| 1092 bool LayerTreeHost::BlocksPendingCommit() const { | |
| 1093 if (!root_layer_.get()) | |
| 1094 return false; | |
| 1095 return root_layer_->BlocksPendingCommitRecursive(); | |
| 1096 } | |
| 1097 | |
| 1098 scoped_ptr<base::Value> LayerTreeHost::AsValue() const { | 1094 scoped_ptr<base::Value> LayerTreeHost::AsValue() const { |
| 1099 scoped_ptr<base::DictionaryValue> state(new base::DictionaryValue()); | 1095 scoped_ptr<base::DictionaryValue> state(new base::DictionaryValue()); |
| 1100 state->Set("proxy", proxy_->AsValue().release()); | 1096 state->Set("proxy", proxy_->AsValue().release()); |
| 1101 return state.PassAs<base::Value>(); | 1097 return state.PassAs<base::Value>(); |
| 1102 } | 1098 } |
| 1103 | 1099 |
| 1104 void LayerTreeHost::AnimateLayers(base::TimeTicks time) { | 1100 void LayerTreeHost::AnimateLayers(base::TimeTicks time) { |
| 1105 rendering_stats_instrumentation_->IncrementAnimationFrameCount(); | 1101 rendering_stats_instrumentation_->IncrementAnimationFrameCount(); |
| 1106 if (!settings_.accelerated_animation_enabled || | 1102 if (!settings_.accelerated_animation_enabled || |
| 1107 animation_registrar_->active_animation_controllers().empty()) | 1103 animation_registrar_->active_animation_controllers().empty()) |
| (...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1169 void LayerTreeHost::DidLoseUIResources() { | 1165 void LayerTreeHost::DidLoseUIResources() { |
| 1170 // When output surface is lost, we need to recreate the resource. | 1166 // When output surface is lost, we need to recreate the resource. |
| 1171 for (UIResourceClientMap::iterator iter = ui_resource_client_map_.begin(); | 1167 for (UIResourceClientMap::iterator iter = ui_resource_client_map_.begin(); |
| 1172 iter != ui_resource_client_map_.end(); | 1168 iter != ui_resource_client_map_.end(); |
| 1173 ++iter) { | 1169 ++iter) { |
| 1174 UIResourceLost(iter->first); | 1170 UIResourceLost(iter->first); |
| 1175 } | 1171 } |
| 1176 } | 1172 } |
| 1177 | 1173 |
| 1178 } // namespace cc | 1174 } // namespace cc |
| OLD | NEW |