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 "base/bind.h" | 7 #include "base/bind.h" |
8 #include "base/command_line.h" | 8 #include "base/command_line.h" |
9 #include "base/debug/trace_event.h" | 9 #include "base/debug/trace_event.h" |
10 #include "base/message_loop.h" | 10 #include "base/message_loop.h" |
(...skipping 270 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
281 sync_tree->SetRootLayer(TreeSynchronizer::SynchronizeTrees( | 281 sync_tree->SetRootLayer(TreeSynchronizer::SynchronizeTrees( |
282 root_layer(), sync_tree->DetachLayerTree(), sync_tree)); { | 282 root_layer(), sync_tree->DetachLayerTree(), sync_tree)); { |
283 TRACE_EVENT0("cc", "LayerTreeHost::PushProperties"); | 283 TRACE_EVENT0("cc", "LayerTreeHost::PushProperties"); |
284 TreeSynchronizer::PushProperties(root_layer(), sync_tree->root_layer()); | 284 TreeSynchronizer::PushProperties(root_layer(), sync_tree->root_layer()); |
285 } | 285 } |
286 | 286 |
287 sync_tree->set_needs_full_tree_sync(needs_full_tree_sync_); | 287 sync_tree->set_needs_full_tree_sync(needs_full_tree_sync_); |
288 needs_full_tree_sync_ = false; | 288 needs_full_tree_sync_ = false; |
289 | 289 |
290 if (root_layer_ && hud_layer_) { | 290 if (root_layer_ && hud_layer_) { |
291 LayerImpl* hud_impl = LayerTreeHostCommon::findLayerInSubtree( | 291 LayerImpl* hud_impl = LayerTreeHostCommon::FindLayerInSubtree( |
292 sync_tree->root_layer(), hud_layer_->id()); | 292 sync_tree->root_layer(), hud_layer_->id()); |
293 sync_tree->set_hud_layer(static_cast<HeadsUpDisplayLayerImpl*>(hud_impl)); | 293 sync_tree->set_hud_layer(static_cast<HeadsUpDisplayLayerImpl*>(hud_impl)); |
294 } else { | 294 } else { |
295 sync_tree->set_hud_layer(NULL); | 295 sync_tree->set_hud_layer(NULL); |
296 } | 296 } |
297 | 297 |
298 sync_tree->set_source_frame_number(commit_number()); | 298 sync_tree->set_source_frame_number(commit_number()); |
299 sync_tree->set_background_color(background_color_); | 299 sync_tree->set_background_color(background_color_); |
300 sync_tree->set_has_transparent_background(has_transparent_background_); | 300 sync_tree->set_has_transparent_background(has_transparent_background_); |
301 | 301 |
(...skipping 369 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
671 TRACE_EVENT0("cc", "LayerTreeHost::UpdateLayers"); | 671 TRACE_EVENT0("cc", "LayerTreeHost::UpdateLayers"); |
672 | 672 |
673 LayerList update_list; { | 673 LayerList update_list; { |
674 Layer* root_scroll = FindFirstScrollableLayer(root_layer); | 674 Layer* root_scroll = FindFirstScrollableLayer(root_layer); |
675 if (root_scroll) | 675 if (root_scroll) |
676 root_scroll->SetImplTransform(impl_transform_); | 676 root_scroll->SetImplTransform(impl_transform_); |
677 | 677 |
678 UpdateHudLayer(); | 678 UpdateHudLayer(); |
679 | 679 |
680 TRACE_EVENT0("cc", "LayerTreeHost::UpdateLayers::calcDrawProps"); | 680 TRACE_EVENT0("cc", "LayerTreeHost::UpdateLayers::calcDrawProps"); |
681 LayerTreeHostCommon::calculateDrawProperties( | 681 LayerTreeHostCommon::CalculateDrawProperties( |
682 root_layer, | 682 root_layer, |
683 device_viewport_size(), | 683 device_viewport_size(), |
684 device_scale_factor_, | 684 device_scale_factor_, |
685 page_scale_factor_, | 685 page_scale_factor_, |
686 GetRendererCapabilities().max_texture_size, | 686 GetRendererCapabilities().max_texture_size, |
687 settings_.canUseLCDText, | 687 settings_.canUseLCDText, |
688 update_list); | 688 &update_list); |
689 } | 689 } |
690 | 690 |
691 // Reset partial texture update requests. | 691 // Reset partial texture update requests. |
692 partial_texture_update_requests_ = 0; | 692 partial_texture_update_requests_ = 0; |
693 | 693 |
694 bool need_more_updates = PaintLayerContents(update_list, queue); | 694 bool need_more_updates = PaintLayerContents(update_list, queue); |
695 if (trigger_idle_updates_ && need_more_updates) { | 695 if (trigger_idle_updates_ && need_more_updates) { |
696 TRACE_EVENT0("cc", "LayerTreeHost::UpdateLayers::posting prepaint task"); | 696 TRACE_EVENT0("cc", "LayerTreeHost::UpdateLayers::posting prepaint task"); |
697 prepaint_callback_.Reset(base::Bind(&LayerTreeHost::TriggerPrepaint, | 697 prepaint_callback_.Reset(base::Bind(&LayerTreeHost::TriggerPrepaint, |
698 base::Unretained(this))); | 698 base::Unretained(this))); |
(...skipping 175 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
874 | 874 |
875 void LayerTreeHost::ApplyScrollAndScale(const ScrollAndScaleSet& info) { | 875 void LayerTreeHost::ApplyScrollAndScale(const ScrollAndScaleSet& info) { |
876 if (!root_layer_) | 876 if (!root_layer_) |
877 return; | 877 return; |
878 | 878 |
879 Layer* root_scroll_layer = FindFirstScrollableLayer(root_layer_.get()); | 879 Layer* root_scroll_layer = FindFirstScrollableLayer(root_layer_.get()); |
880 gfx::Vector2d root_scroll_delta; | 880 gfx::Vector2d root_scroll_delta; |
881 | 881 |
882 for (size_t i = 0; i < info.scrolls.size(); ++i) { | 882 for (size_t i = 0; i < info.scrolls.size(); ++i) { |
883 Layer* layer = | 883 Layer* layer = |
884 LayerTreeHostCommon::findLayerInSubtree(root_layer_.get(), | 884 LayerTreeHostCommon::FindLayerInSubtree(root_layer_.get(), |
885 info.scrolls[i].layerId); | 885 info.scrolls[i].layer_id); |
886 if (!layer) | 886 if (!layer) |
887 continue; | 887 continue; |
888 if (layer == root_scroll_layer) | 888 if (layer == root_scroll_layer) |
889 root_scroll_delta += info.scrolls[i].scrollDelta; | 889 root_scroll_delta += info.scrolls[i].scroll_delta; |
890 else | 890 else |
891 layer->SetScrollOffset(layer->scroll_offset() + | 891 layer->SetScrollOffset(layer->scroll_offset() + |
892 info.scrolls[i].scrollDelta); | 892 info.scrolls[i].scroll_delta); |
893 } | 893 } |
894 if (!root_scroll_delta.IsZero() || info.pageScaleDelta != 1.f) | 894 if (!root_scroll_delta.IsZero() || info.page_scale_delta != 1.f) |
895 client_->ApplyScrollAndScale(root_scroll_delta, info.pageScaleDelta); | 895 client_->ApplyScrollAndScale(root_scroll_delta, info.page_scale_delta); |
896 } | 896 } |
897 | 897 |
898 void LayerTreeHost::SetImplTransform(const gfx::Transform& transform) { | 898 void LayerTreeHost::SetImplTransform(const gfx::Transform& transform) { |
899 impl_transform_ = transform; | 899 impl_transform_ = transform; |
900 } | 900 } |
901 | 901 |
902 void LayerTreeHost::StartRateLimiter(WebKit::WebGraphicsContext3D* context3d) { | 902 void LayerTreeHost::StartRateLimiter(WebKit::WebGraphicsContext3D* context3d) { |
903 if (animating_) | 903 if (animating_) |
904 return; | 904 return; |
905 | 905 |
(...skipping 115 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1021 SetAnimationEventsRecursive(events, | 1021 SetAnimationEventsRecursive(events, |
1022 layer->children()[child_index].get(), | 1022 layer->children()[child_index].get(), |
1023 wall_clock_time); | 1023 wall_clock_time); |
1024 } | 1024 } |
1025 | 1025 |
1026 skia::RefPtr<SkPicture> LayerTreeHost::CapturePicture() { | 1026 skia::RefPtr<SkPicture> LayerTreeHost::CapturePicture() { |
1027 return proxy_->CapturePicture(); | 1027 return proxy_->CapturePicture(); |
1028 } | 1028 } |
1029 | 1029 |
1030 } // namespace cc | 1030 } // namespace cc |
OLD | NEW |