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 274 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
285 sync_tree->SetRootLayer(TreeSynchronizer::SynchronizeTrees( | 285 sync_tree->SetRootLayer(TreeSynchronizer::SynchronizeTrees( |
286 root_layer(), sync_tree->DetachLayerTree(), sync_tree)); { | 286 root_layer(), sync_tree->DetachLayerTree(), sync_tree)); { |
287 TRACE_EVENT0("cc", "LayerTreeHost::PushProperties"); | 287 TRACE_EVENT0("cc", "LayerTreeHost::PushProperties"); |
288 TreeSynchronizer::PushProperties(root_layer(), sync_tree->root_layer()); | 288 TreeSynchronizer::PushProperties(root_layer(), sync_tree->root_layer()); |
289 } | 289 } |
290 | 290 |
291 sync_tree->set_needs_full_tree_sync(needs_full_tree_sync_); | 291 sync_tree->set_needs_full_tree_sync(needs_full_tree_sync_); |
292 needs_full_tree_sync_ = false; | 292 needs_full_tree_sync_ = false; |
293 | 293 |
294 if (root_layer_ && hud_layer_) { | 294 if (root_layer_ && hud_layer_) { |
295 LayerImpl* hud_impl = LayerTreeHostCommon::findLayerInSubtree( | 295 LayerImpl* hud_impl = LayerTreeHostCommon::FindLayerInSubtree( |
296 sync_tree->root_layer(), hud_layer_->id()); | 296 sync_tree->root_layer(), hud_layer_->id()); |
297 sync_tree->set_hud_layer(static_cast<HeadsUpDisplayLayerImpl*>(hud_impl)); | 297 sync_tree->set_hud_layer(static_cast<HeadsUpDisplayLayerImpl*>(hud_impl)); |
298 } else { | 298 } else { |
299 sync_tree->set_hud_layer(NULL); | 299 sync_tree->set_hud_layer(NULL); |
300 } | 300 } |
301 | 301 |
302 sync_tree->set_source_frame_number(commit_number()); | 302 sync_tree->set_source_frame_number(commit_number()); |
303 sync_tree->set_background_color(background_color_); | 303 sync_tree->set_background_color(background_color_); |
304 sync_tree->set_has_transparent_background(has_transparent_background_); | 304 sync_tree->set_has_transparent_background(has_transparent_background_); |
305 | 305 |
(...skipping 379 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
685 TRACE_EVENT0("cc", "LayerTreeHost::UpdateLayers"); | 685 TRACE_EVENT0("cc", "LayerTreeHost::UpdateLayers"); |
686 | 686 |
687 LayerList update_list; { | 687 LayerList update_list; { |
688 Layer* root_scroll = FindFirstScrollableLayer(root_layer); | 688 Layer* root_scroll = FindFirstScrollableLayer(root_layer); |
689 if (root_scroll) | 689 if (root_scroll) |
690 root_scroll->SetImplTransform(impl_transform_); | 690 root_scroll->SetImplTransform(impl_transform_); |
691 | 691 |
692 UpdateHudLayer(); | 692 UpdateHudLayer(); |
693 | 693 |
694 TRACE_EVENT0("cc", "LayerTreeHost::UpdateLayers::calcDrawProps"); | 694 TRACE_EVENT0("cc", "LayerTreeHost::UpdateLayers::calcDrawProps"); |
695 LayerTreeHostCommon::calculateDrawProperties( | 695 LayerTreeHostCommon::CalculateDrawProperties( |
696 root_layer, | 696 root_layer, |
697 device_viewport_size(), | 697 device_viewport_size(), |
698 device_scale_factor_, | 698 device_scale_factor_, |
699 page_scale_factor_, | 699 page_scale_factor_, |
700 GetRendererCapabilities().max_texture_size, | 700 GetRendererCapabilities().max_texture_size, |
701 settings_.can_use_lcd_text, | 701 settings_.can_use_lcd_text, |
702 update_list); | 702 &update_list); |
703 } | 703 } |
704 | 704 |
705 // Reset partial texture update requests. | 705 // Reset partial texture update requests. |
706 partial_texture_update_requests_ = 0; | 706 partial_texture_update_requests_ = 0; |
707 | 707 |
708 bool need_more_updates = PaintLayerContents(update_list, queue); | 708 bool need_more_updates = PaintLayerContents(update_list, queue); |
709 if (trigger_idle_updates_ && need_more_updates) { | 709 if (trigger_idle_updates_ && need_more_updates) { |
710 TRACE_EVENT0("cc", "LayerTreeHost::UpdateLayers::posting prepaint task"); | 710 TRACE_EVENT0("cc", "LayerTreeHost::UpdateLayers::posting prepaint task"); |
711 prepaint_callback_.Reset(base::Bind(&LayerTreeHost::TriggerPrepaint, | 711 prepaint_callback_.Reset(base::Bind(&LayerTreeHost::TriggerPrepaint, |
712 base::Unretained(this))); | 712 base::Unretained(this))); |
(...skipping 177 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
890 | 890 |
891 void LayerTreeHost::ApplyScrollAndScale(const ScrollAndScaleSet& info) { | 891 void LayerTreeHost::ApplyScrollAndScale(const ScrollAndScaleSet& info) { |
892 if (!root_layer_) | 892 if (!root_layer_) |
893 return; | 893 return; |
894 | 894 |
895 Layer* root_scroll_layer = FindFirstScrollableLayer(root_layer_.get()); | 895 Layer* root_scroll_layer = FindFirstScrollableLayer(root_layer_.get()); |
896 gfx::Vector2d root_scroll_delta; | 896 gfx::Vector2d root_scroll_delta; |
897 | 897 |
898 for (size_t i = 0; i < info.scrolls.size(); ++i) { | 898 for (size_t i = 0; i < info.scrolls.size(); ++i) { |
899 Layer* layer = | 899 Layer* layer = |
900 LayerTreeHostCommon::findLayerInSubtree(root_layer_.get(), | 900 LayerTreeHostCommon::FindLayerInSubtree(root_layer_.get(), |
901 info.scrolls[i].layerId); | 901 info.scrolls[i].layer_id); |
902 if (!layer) | 902 if (!layer) |
903 continue; | 903 continue; |
904 if (layer == root_scroll_layer) | 904 if (layer == root_scroll_layer) |
905 root_scroll_delta += info.scrolls[i].scrollDelta; | 905 root_scroll_delta += info.scrolls[i].scroll_delta; |
906 else | 906 else |
907 layer->SetScrollOffset(layer->scroll_offset() + | 907 layer->SetScrollOffset(layer->scroll_offset() + |
908 info.scrolls[i].scrollDelta); | 908 info.scrolls[i].scroll_delta); |
909 } | 909 } |
910 if (!root_scroll_delta.IsZero() || info.pageScaleDelta != 1.f) | 910 if (!root_scroll_delta.IsZero() || info.page_scale_delta != 1.f) |
911 client_->ApplyScrollAndScale(root_scroll_delta, info.pageScaleDelta); | 911 client_->ApplyScrollAndScale(root_scroll_delta, info.page_scale_delta); |
912 } | 912 } |
913 | 913 |
914 void LayerTreeHost::SetImplTransform(const gfx::Transform& transform) { | 914 void LayerTreeHost::SetImplTransform(const gfx::Transform& transform) { |
915 impl_transform_ = transform; | 915 impl_transform_ = transform; |
916 } | 916 } |
917 | 917 |
918 void LayerTreeHost::StartRateLimiter(WebKit::WebGraphicsContext3D* context3d) { | 918 void LayerTreeHost::StartRateLimiter(WebKit::WebGraphicsContext3D* context3d) { |
919 if (animating_) | 919 if (animating_) |
920 return; | 920 return; |
921 | 921 |
(...skipping 115 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1037 SetAnimationEventsRecursive(events, | 1037 SetAnimationEventsRecursive(events, |
1038 layer->children()[child_index].get(), | 1038 layer->children()[child_index].get(), |
1039 wall_clock_time); | 1039 wall_clock_time); |
1040 } | 1040 } |
1041 | 1041 |
1042 skia::RefPtr<SkPicture> LayerTreeHost::CapturePicture() { | 1042 skia::RefPtr<SkPicture> LayerTreeHost::CapturePicture() { |
1043 return proxy_->CapturePicture(); | 1043 return proxy_->CapturePicture(); |
1044 } | 1044 } |
1045 | 1045 |
1046 } // namespace cc | 1046 } // namespace cc |
OLD | NEW |