Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(752)

Side by Side Diff: cc/trees/layer_tree_host_impl.cc

Issue 12760011: cc: Chromify LayerTreeHostCommon (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebase Created 7 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « cc/trees/layer_tree_host_common_unittest.cc ('k') | cc/trees/layer_tree_host_impl_unittest.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 323 matching lines...) Expand 10 before | Expand all | Expand 10 after
334 334
335 bool LayerTreeHostImpl::HaveTouchEventHandlersAt(gfx::Point viewport_point) { 335 bool LayerTreeHostImpl::HaveTouchEventHandlersAt(gfx::Point viewport_point) {
336 if (!EnsureRenderSurfaceLayerList()) 336 if (!EnsureRenderSurfaceLayerList())
337 return false; 337 return false;
338 338
339 gfx::PointF device_viewport_point = 339 gfx::PointF device_viewport_point =
340 gfx::ScalePoint(viewport_point, device_scale_factor_); 340 gfx::ScalePoint(viewport_point, device_scale_factor_);
341 341
342 // First find out which layer was hit from the saved list of visible layers 342 // First find out which layer was hit from the saved list of visible layers
343 // in the most recent frame. 343 // in the most recent frame.
344 LayerImpl* layer_impl = LayerTreeHostCommon::findLayerThatIsHitByPoint( 344 LayerImpl* layer_impl = LayerTreeHostCommon::FindLayerThatIsHitByPoint(
345 device_viewport_point, 345 device_viewport_point,
346 active_tree_->RenderSurfaceLayerList()); 346 active_tree_->RenderSurfaceLayerList());
347 347
348 // Walk up the hierarchy and look for a layer with a touch event handler 348 // Walk up the hierarchy and look for a layer with a touch event handler
349 // region that the given point hits. 349 // region that the given point hits.
350 for (; layer_impl; layer_impl = layer_impl->parent()) { 350 for (; layer_impl; layer_impl = layer_impl->parent()) {
351 if (LayerTreeHostCommon::layerHasTouchEventHandlersAt(device_viewport_point, 351 if (LayerTreeHostCommon::LayerHasTouchEventHandlersAt(device_viewport_point,
352 layer_impl)) 352 layer_impl))
353 return true; 353 return true;
354 } 354 }
355 355
356 return false; 356 return false;
357 } 357 }
358 358
359 void LayerTreeHostImpl::TrackDamageForAllSurfaces( 359 void LayerTreeHostImpl::TrackDamageForAllSurfaces(
360 LayerImpl* root_draw_layer, 360 LayerImpl* root_draw_layer,
361 const LayerList& render_surface_layer_list) { 361 const LayerList& render_surface_layer_list) {
(...skipping 996 matching lines...) Expand 10 before | Expand all | Expand 10 after
1358 ClearCurrentlyScrollingLayer(); 1358 ClearCurrentlyScrollingLayer();
1359 1359
1360 if (!EnsureRenderSurfaceLayerList()) 1360 if (!EnsureRenderSurfaceLayerList())
1361 return ScrollIgnored; 1361 return ScrollIgnored;
1362 1362
1363 gfx::PointF device_viewport_point = gfx::ScalePoint(viewport_point, 1363 gfx::PointF device_viewport_point = gfx::ScalePoint(viewport_point,
1364 device_scale_factor_); 1364 device_scale_factor_);
1365 1365
1366 // First find out which layer was hit from the saved list of visible layers 1366 // First find out which layer was hit from the saved list of visible layers
1367 // in the most recent frame. 1367 // in the most recent frame.
1368 LayerImpl* layer_impl = LayerTreeHostCommon::findLayerThatIsHitByPoint( 1368 LayerImpl* layer_impl = LayerTreeHostCommon::FindLayerThatIsHitByPoint(
1369 device_viewport_point, active_tree_->RenderSurfaceLayerList()); 1369 device_viewport_point, active_tree_->RenderSurfaceLayerList());
1370 1370
1371 // Walk up the hierarchy and look for a scrollable layer. 1371 // Walk up the hierarchy and look for a scrollable layer.
1372 LayerImpl* potentially_scrolling_layer_impl = 0; 1372 LayerImpl* potentially_scrolling_layer_impl = 0;
1373 for (; layer_impl; layer_impl = layer_impl->parent()) { 1373 for (; layer_impl; layer_impl = layer_impl->parent()) {
1374 // The content layer can also block attempts to scroll outside the main 1374 // The content layer can also block attempts to scroll outside the main
1375 // thread. 1375 // thread.
1376 ScrollStatus status = layer_impl->TryScroll(device_viewport_point, type); 1376 ScrollStatus status = layer_impl->TryScroll(device_viewport_point, type);
1377 if (status == ScrollOnMainThread) { 1377 if (status == ScrollOnMainThread) {
1378 rendering_stats_instrumentation_->IncrementMainThreadScrolls(); 1378 rendering_stats_instrumentation_->IncrementMainThreadScrolls();
(...skipping 259 matching lines...) Expand 10 before | Expand all | Expand 10 after
1638 1638
1639 static void CollectScrollDeltas(ScrollAndScaleSet* scroll_info, 1639 static void CollectScrollDeltas(ScrollAndScaleSet* scroll_info,
1640 LayerImpl* layer_impl) { 1640 LayerImpl* layer_impl) {
1641 if (!layer_impl) 1641 if (!layer_impl)
1642 return; 1642 return;
1643 1643
1644 gfx::Vector2d scroll_delta = 1644 gfx::Vector2d scroll_delta =
1645 gfx::ToFlooredVector2d(layer_impl->scroll_delta()); 1645 gfx::ToFlooredVector2d(layer_impl->scroll_delta());
1646 if (!scroll_delta.IsZero()) { 1646 if (!scroll_delta.IsZero()) {
1647 LayerTreeHostCommon::ScrollUpdateInfo scroll; 1647 LayerTreeHostCommon::ScrollUpdateInfo scroll;
1648 scroll.layerId = layer_impl->id(); 1648 scroll.layer_id = layer_impl->id();
1649 scroll.scrollDelta = scroll_delta; 1649 scroll.scroll_delta = scroll_delta;
1650 scroll_info->scrolls.push_back(scroll); 1650 scroll_info->scrolls.push_back(scroll);
1651 layer_impl->SetSentScrollDelta(scroll_delta); 1651 layer_impl->SetSentScrollDelta(scroll_delta);
1652 } 1652 }
1653 1653
1654 for (size_t i = 0; i < layer_impl->children().size(); ++i) 1654 for (size_t i = 0; i < layer_impl->children().size(); ++i)
1655 CollectScrollDeltas(scroll_info, layer_impl->children()[i]); 1655 CollectScrollDeltas(scroll_info, layer_impl->children()[i]);
1656 } 1656 }
1657 1657
1658 scoped_ptr<ScrollAndScaleSet> LayerTreeHostImpl::ProcessScrollDeltas() { 1658 scoped_ptr<ScrollAndScaleSet> LayerTreeHostImpl::ProcessScrollDeltas() {
1659 scoped_ptr<ScrollAndScaleSet> scroll_info(new ScrollAndScaleSet()); 1659 scoped_ptr<ScrollAndScaleSet> scroll_info(new ScrollAndScaleSet());
1660 1660
1661 CollectScrollDeltas(scroll_info.get(), active_tree_->root_layer()); 1661 CollectScrollDeltas(scroll_info.get(), active_tree_->root_layer());
1662 scroll_info->pageScaleDelta = active_tree_->page_scale_delta(); 1662 scroll_info->page_scale_delta = active_tree_->page_scale_delta();
1663 active_tree_->set_sent_page_scale_delta(scroll_info->pageScaleDelta); 1663 active_tree_->set_sent_page_scale_delta(scroll_info->page_scale_delta);
1664 1664
1665 return scroll_info.Pass(); 1665 return scroll_info.Pass();
1666 } 1666 }
1667 1667
1668 void LayerTreeHostImpl::SetFullRootLayerDamage() { 1668 void LayerTreeHostImpl::SetFullRootLayerDamage() {
1669 if (active_tree_->root_layer()) { 1669 if (active_tree_->root_layer()) {
1670 RenderSurfaceImpl* render_surface = 1670 RenderSurfaceImpl* render_surface =
1671 active_tree_->root_layer()->render_surface(); 1671 active_tree_->root_layer()->render_surface();
1672 if (render_surface) 1672 if (render_surface)
1673 render_surface->damage_tracker()->ForceFullDamageNextUpdate(); 1673 render_surface->damage_tracker()->ForceFullDamageNextUpdate();
(...skipping 291 matching lines...) Expand 10 before | Expand all | Expand 10 after
1965 debug_state_ = debug_state; 1965 debug_state_ = debug_state;
1966 } 1966 }
1967 1967
1968 void LayerTreeHostImpl::SavePaintTime(const base::TimeDelta& total_paint_time, 1968 void LayerTreeHostImpl::SavePaintTime(const base::TimeDelta& total_paint_time,
1969 int commit_number) { 1969 int commit_number) {
1970 DCHECK(debug_state_.continuous_painting); 1970 DCHECK(debug_state_.continuous_painting);
1971 paint_time_counter_->SavePaintTime(total_paint_time, commit_number); 1971 paint_time_counter_->SavePaintTime(total_paint_time, commit_number);
1972 } 1972 }
1973 1973
1974 } // namespace cc 1974 } // namespace cc
OLDNEW
« no previous file with comments | « cc/trees/layer_tree_host_common_unittest.cc ('k') | cc/trees/layer_tree_host_impl_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698