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_impl.h" | 5 #include "cc/trees/layer_tree_host_impl.h" |
6 | 6 |
7 #include <algorithm> | 7 #include <algorithm> |
8 | 8 |
9 #include "base/basictypes.h" | 9 #include "base/basictypes.h" |
10 #include "base/debug/trace_event.h" | 10 #include "base/debug/trace_event.h" |
(...skipping 211 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
222 void LayerTreeHostImpl::BeginCommit() {} | 222 void LayerTreeHostImpl::BeginCommit() {} |
223 | 223 |
224 void LayerTreeHostImpl::CommitComplete() { | 224 void LayerTreeHostImpl::CommitComplete() { |
225 TRACE_EVENT0("cc", "LayerTreeHostImpl::CommitComplete"); | 225 TRACE_EVENT0("cc", "LayerTreeHostImpl::CommitComplete"); |
226 | 226 |
227 // Impl-side painting needs an update immediately post-commit to have the | 227 // Impl-side painting needs an update immediately post-commit to have the |
228 // opportunity to create tilings. Other paths can call UpdateDrawProperties | 228 // opportunity to create tilings. Other paths can call UpdateDrawProperties |
229 // more lazily when needed prior to drawing. | 229 // more lazily when needed prior to drawing. |
230 if (settings_.impl_side_painting) { | 230 if (settings_.impl_side_painting) { |
231 pending_tree_->set_needs_update_draw_properties(); | 231 pending_tree_->set_needs_update_draw_properties(); |
232 pending_tree_->UpdateDrawProperties(LayerTreeImpl::UPDATE_PENDING_TREE); | 232 pending_tree_->UpdateDrawProperties(); |
233 } else { | 233 } else { |
234 active_tree_->set_needs_update_draw_properties(); | 234 active_tree_->set_needs_update_draw_properties(); |
235 } | 235 } |
236 | 236 |
237 client_->SendManagedMemoryStats(); | 237 client_->SendManagedMemoryStats(); |
238 } | 238 } |
239 | 239 |
240 bool LayerTreeHostImpl::CanDraw() { | 240 bool LayerTreeHostImpl::CanDraw() { |
241 // Note: If you are changing this function or any other function that might | 241 // Note: If you are changing this function or any other function that might |
242 // affect the result of CanDraw, make sure to call | 242 // affect the result of CanDraw, make sure to call |
(...skipping 604 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
847 it = frame->render_passes.size() - position_from_end; | 847 it = frame->render_passes.size() - position_from_end; |
848 DCHECK_GE(frame->render_passes.size(), position_from_end); | 848 DCHECK_GE(frame->render_passes.size(), position_from_end); |
849 } | 849 } |
850 } | 850 } |
851 } | 851 } |
852 | 852 |
853 bool LayerTreeHostImpl::PrepareToDraw(FrameData* frame, | 853 bool LayerTreeHostImpl::PrepareToDraw(FrameData* frame, |
854 gfx::Rect device_viewport_damage_rect) { | 854 gfx::Rect device_viewport_damage_rect) { |
855 TRACE_EVENT0("cc", "LayerTreeHostImpl::PrepareToDraw"); | 855 TRACE_EVENT0("cc", "LayerTreeHostImpl::PrepareToDraw"); |
856 | 856 |
857 active_tree_->UpdateDrawProperties( | 857 active_tree_->UpdateDrawProperties(); |
858 LayerTreeImpl::UPDATE_ACTIVE_TREE_FOR_DRAW); | |
859 | 858 |
860 frame->render_surface_layer_list = &active_tree_->RenderSurfaceLayerList(); | 859 frame->render_surface_layer_list = &active_tree_->RenderSurfaceLayerList(); |
861 frame->render_passes.clear(); | 860 frame->render_passes.clear(); |
862 frame->render_passes_by_id.clear(); | 861 frame->render_passes_by_id.clear(); |
863 frame->will_draw_layers.clear(); | 862 frame->will_draw_layers.clear(); |
864 frame->contains_incomplete_tile = false; | 863 frame->contains_incomplete_tile = false; |
865 frame->has_no_damage = false; | 864 frame->has_no_damage = false; |
866 | 865 |
867 if (active_tree_->root_layer()) { | 866 if (active_tree_->root_layer()) { |
868 device_viewport_damage_rect.Union(viewport_damage_rect_); | 867 device_viewport_damage_rect.Union(viewport_damage_rect_); |
(...skipping 354 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1223 if (tile_manager_) | 1222 if (tile_manager_) |
1224 tile_manager_->CheckForCompletedTileUploads(); | 1223 tile_manager_->CheckForCompletedTileUploads(); |
1225 } | 1224 } |
1226 | 1225 |
1227 bool LayerTreeHostImpl::ActivatePendingTreeIfNeeded() { | 1226 bool LayerTreeHostImpl::ActivatePendingTreeIfNeeded() { |
1228 if (!pending_tree_) | 1227 if (!pending_tree_) |
1229 return false; | 1228 return false; |
1230 | 1229 |
1231 CHECK(tile_manager_); | 1230 CHECK(tile_manager_); |
1232 | 1231 |
1233 pending_tree_->UpdateDrawProperties(LayerTreeImpl::UPDATE_PENDING_TREE); | 1232 pending_tree_->UpdateDrawProperties(); |
1234 | 1233 |
1235 TRACE_EVENT_ASYNC_STEP1("cc", | 1234 TRACE_EVENT_ASYNC_STEP1("cc", |
1236 "PendingTree", pending_tree_.get(), "activate", | 1235 "PendingTree", pending_tree_.get(), "activate", |
1237 "state", ValueToString(ActivationStateAsValue())); | 1236 "state", ValueToString(ActivationStateAsValue())); |
1238 | 1237 |
1239 // Activate once all visible resources in pending tree are ready. | 1238 // Activate once all visible resources in pending tree are ready. |
1240 if (!pending_tree_->AreVisibleResourcesReady()) | 1239 if (!pending_tree_->AreVisibleResourcesReady()) |
1241 return false; | 1240 return false; |
1242 | 1241 |
1243 ActivatePendingTree(); | 1242 ActivatePendingTree(); |
(...skipping 188 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1432 active_tree_->UpdateMaxScrollOffset(); | 1431 active_tree_->UpdateMaxScrollOffset(); |
1433 } | 1432 } |
1434 | 1433 |
1435 void LayerTreeHostImpl::DidChangeTopControlsPosition() { | 1434 void LayerTreeHostImpl::DidChangeTopControlsPosition() { |
1436 client_->SetNeedsRedrawOnImplThread(); | 1435 client_->SetNeedsRedrawOnImplThread(); |
1437 active_tree_->set_needs_update_draw_properties(); | 1436 active_tree_->set_needs_update_draw_properties(); |
1438 SetFullRootLayerDamage(); | 1437 SetFullRootLayerDamage(); |
1439 } | 1438 } |
1440 | 1439 |
1441 bool LayerTreeHostImpl::EnsureRenderSurfaceLayerList() { | 1440 bool LayerTreeHostImpl::EnsureRenderSurfaceLayerList() { |
1442 active_tree_->UpdateDrawProperties(LayerTreeImpl::UPDATE_ACTIVE_TREE); | 1441 active_tree_->UpdateDrawProperties(); |
1443 return !active_tree_->RenderSurfaceLayerList().empty(); | 1442 return !active_tree_->RenderSurfaceLayerList().empty(); |
1444 } | 1443 } |
1445 | 1444 |
1446 InputHandlerClient::ScrollStatus LayerTreeHostImpl::ScrollBegin( | 1445 InputHandlerClient::ScrollStatus LayerTreeHostImpl::ScrollBegin( |
1447 gfx::Point viewport_point, InputHandlerClient::ScrollInputType type) { | 1446 gfx::Point viewport_point, InputHandlerClient::ScrollInputType type) { |
1448 TRACE_EVENT0("cc", "LayerTreeHostImpl::ScrollBegin"); | 1447 TRACE_EVENT0("cc", "LayerTreeHostImpl::ScrollBegin"); |
1449 | 1448 |
1450 if (top_controls_manager_) | 1449 if (top_controls_manager_) |
1451 top_controls_manager_->ScrollBegin(); | 1450 top_controls_manager_->ScrollBegin(); |
1452 | 1451 |
(...skipping 642 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2095 } | 2094 } |
2096 | 2095 |
2097 void LayerTreeHostImpl::SetDebugState(const LayerTreeDebugState& debug_state) { | 2096 void LayerTreeHostImpl::SetDebugState(const LayerTreeDebugState& debug_state) { |
2098 if (debug_state_.continuous_painting != debug_state.continuous_painting) | 2097 if (debug_state_.continuous_painting != debug_state.continuous_painting) |
2099 paint_time_counter_->ClearHistory(); | 2098 paint_time_counter_->ClearHistory(); |
2100 | 2099 |
2101 debug_state_ = debug_state; | 2100 debug_state_ = debug_state; |
2102 } | 2101 } |
2103 | 2102 |
2104 } // namespace cc | 2103 } // namespace cc |
OLD | NEW |