| 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 |