| 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 275 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 286 sync_tree->SetRootLayer(TreeSynchronizer::SynchronizeTrees( | 286 sync_tree->SetRootLayer(TreeSynchronizer::SynchronizeTrees( |
| 287 root_layer(), sync_tree->DetachLayerTree(), sync_tree)); { | 287 root_layer(), sync_tree->DetachLayerTree(), sync_tree)); { |
| 288 TRACE_EVENT0("cc", "LayerTreeHost::PushProperties"); | 288 TRACE_EVENT0("cc", "LayerTreeHost::PushProperties"); |
| 289 TreeSynchronizer::PushProperties(root_layer(), sync_tree->root_layer()); | 289 TreeSynchronizer::PushProperties(root_layer(), sync_tree->root_layer()); |
| 290 } | 290 } |
| 291 | 291 |
| 292 sync_tree->set_needs_full_tree_sync(needs_full_tree_sync_); | 292 sync_tree->set_needs_full_tree_sync(needs_full_tree_sync_); |
| 293 needs_full_tree_sync_ = false; | 293 needs_full_tree_sync_ = false; |
| 294 | 294 |
| 295 if (root_layer_ && hud_layer_) { | 295 if (root_layer_ && hud_layer_) { |
| 296 LayerImpl* hud_impl = LayerTreeHostCommon::FindLayerInSubtree( | 296 LayerImpl* hud_impl = LayerTreeHostCommon::findLayerInSubtree( |
| 297 sync_tree->root_layer(), hud_layer_->id()); | 297 sync_tree->root_layer(), hud_layer_->id()); |
| 298 sync_tree->set_hud_layer(static_cast<HeadsUpDisplayLayerImpl*>(hud_impl)); | 298 sync_tree->set_hud_layer(static_cast<HeadsUpDisplayLayerImpl*>(hud_impl)); |
| 299 } else { | 299 } else { |
| 300 sync_tree->set_hud_layer(NULL); | 300 sync_tree->set_hud_layer(NULL); |
| 301 } | 301 } |
| 302 | 302 |
| 303 sync_tree->set_source_frame_number(commit_number()); | 303 sync_tree->set_source_frame_number(commit_number()); |
| 304 sync_tree->set_background_color(background_color_); | 304 sync_tree->set_background_color(background_color_); |
| 305 sync_tree->set_has_transparent_background(has_transparent_background_); | 305 sync_tree->set_has_transparent_background(has_transparent_background_); |
| 306 | 306 |
| (...skipping 388 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 695 TRACE_EVENT0("cc", "LayerTreeHost::UpdateLayers"); | 695 TRACE_EVENT0("cc", "LayerTreeHost::UpdateLayers"); |
| 696 | 696 |
| 697 LayerList update_list; { | 697 LayerList update_list; { |
| 698 Layer* root_scroll = FindFirstScrollableLayer(root_layer); | 698 Layer* root_scroll = FindFirstScrollableLayer(root_layer); |
| 699 if (root_scroll) | 699 if (root_scroll) |
| 700 root_scroll->SetImplTransform(impl_transform_); | 700 root_scroll->SetImplTransform(impl_transform_); |
| 701 | 701 |
| 702 UpdateHudLayer(); | 702 UpdateHudLayer(); |
| 703 | 703 |
| 704 TRACE_EVENT0("cc", "LayerTreeHost::UpdateLayers::calcDrawProps"); | 704 TRACE_EVENT0("cc", "LayerTreeHost::UpdateLayers::calcDrawProps"); |
| 705 LayerTreeHostCommon::CalculateDrawProperties( | 705 LayerTreeHostCommon::calculateDrawProperties( |
| 706 root_layer, | 706 root_layer, |
| 707 device_viewport_size(), | 707 device_viewport_size(), |
| 708 device_scale_factor_, | 708 device_scale_factor_, |
| 709 page_scale_factor_, | 709 page_scale_factor_, |
| 710 GetRendererCapabilities().max_texture_size, | 710 GetRendererCapabilities().max_texture_size, |
| 711 settings_.can_use_lcd_text, | 711 settings_.can_use_lcd_text, |
| 712 &update_list); | 712 update_list); |
| 713 } | 713 } |
| 714 | 714 |
| 715 // Reset partial texture update requests. | 715 // Reset partial texture update requests. |
| 716 partial_texture_update_requests_ = 0; | 716 partial_texture_update_requests_ = 0; |
| 717 | 717 |
| 718 bool need_more_updates = PaintLayerContents(update_list, queue); | 718 bool need_more_updates = PaintLayerContents(update_list, queue); |
| 719 if (trigger_idle_updates_ && need_more_updates) { | 719 if (trigger_idle_updates_ && need_more_updates) { |
| 720 TRACE_EVENT0("cc", "LayerTreeHost::UpdateLayers::posting prepaint task"); | 720 TRACE_EVENT0("cc", "LayerTreeHost::UpdateLayers::posting prepaint task"); |
| 721 prepaint_callback_.Reset(base::Bind(&LayerTreeHost::TriggerPrepaint, | 721 prepaint_callback_.Reset(base::Bind(&LayerTreeHost::TriggerPrepaint, |
| 722 base::Unretained(this))); | 722 base::Unretained(this))); |
| (...skipping 177 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 900 | 900 |
| 901 void LayerTreeHost::ApplyScrollAndScale(const ScrollAndScaleSet& info) { | 901 void LayerTreeHost::ApplyScrollAndScale(const ScrollAndScaleSet& info) { |
| 902 if (!root_layer_) | 902 if (!root_layer_) |
| 903 return; | 903 return; |
| 904 | 904 |
| 905 Layer* root_scroll_layer = FindFirstScrollableLayer(root_layer_.get()); | 905 Layer* root_scroll_layer = FindFirstScrollableLayer(root_layer_.get()); |
| 906 gfx::Vector2d root_scroll_delta; | 906 gfx::Vector2d root_scroll_delta; |
| 907 | 907 |
| 908 for (size_t i = 0; i < info.scrolls.size(); ++i) { | 908 for (size_t i = 0; i < info.scrolls.size(); ++i) { |
| 909 Layer* layer = | 909 Layer* layer = |
| 910 LayerTreeHostCommon::FindLayerInSubtree(root_layer_.get(), | 910 LayerTreeHostCommon::findLayerInSubtree(root_layer_.get(), |
| 911 info.scrolls[i].layer_id); | 911 info.scrolls[i].layerId); |
| 912 if (!layer) | 912 if (!layer) |
| 913 continue; | 913 continue; |
| 914 if (layer == root_scroll_layer) | 914 if (layer == root_scroll_layer) |
| 915 root_scroll_delta += info.scrolls[i].scroll_delta; | 915 root_scroll_delta += info.scrolls[i].scrollDelta; |
| 916 else | 916 else |
| 917 layer->SetScrollOffset(layer->scroll_offset() + | 917 layer->SetScrollOffset(layer->scroll_offset() + |
| 918 info.scrolls[i].scroll_delta); | 918 info.scrolls[i].scrollDelta); |
| 919 } | 919 } |
| 920 if (!root_scroll_delta.IsZero() || info.page_scale_delta != 1.f) | 920 if (!root_scroll_delta.IsZero() || info.pageScaleDelta != 1.f) |
| 921 client_->ApplyScrollAndScale(root_scroll_delta, info.page_scale_delta); | 921 client_->ApplyScrollAndScale(root_scroll_delta, info.pageScaleDelta); |
| 922 } | 922 } |
| 923 | 923 |
| 924 void LayerTreeHost::SetImplTransform(const gfx::Transform& transform) { | 924 void LayerTreeHost::SetImplTransform(const gfx::Transform& transform) { |
| 925 impl_transform_ = transform; | 925 impl_transform_ = transform; |
| 926 } | 926 } |
| 927 | 927 |
| 928 void LayerTreeHost::StartRateLimiter(WebKit::WebGraphicsContext3D* context3d) { | 928 void LayerTreeHost::StartRateLimiter(WebKit::WebGraphicsContext3D* context3d) { |
| 929 if (animating_) | 929 if (animating_) |
| 930 return; | 930 return; |
| 931 | 931 |
| (...skipping 115 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1047 SetAnimationEventsRecursive(events, | 1047 SetAnimationEventsRecursive(events, |
| 1048 layer->children()[child_index].get(), | 1048 layer->children()[child_index].get(), |
| 1049 wall_clock_time); | 1049 wall_clock_time); |
| 1050 } | 1050 } |
| 1051 | 1051 |
| 1052 skia::RefPtr<SkPicture> LayerTreeHost::CapturePicture() { | 1052 skia::RefPtr<SkPicture> LayerTreeHost::CapturePicture() { |
| 1053 return proxy_->CapturePicture(); | 1053 return proxy_->CapturePicture(); |
| 1054 } | 1054 } |
| 1055 | 1055 |
| 1056 } // namespace cc | 1056 } // namespace cc |
| OLD | NEW |