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

Unified Diff: cc/trees/layer_tree_impl.cc

Issue 2639723002: [NOT FOR REVIEW]
Patch Set: . Created 3 years, 11 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « cc/trees/layer_tree_impl.h ('k') | cc/trees/layer_tree_impl_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: cc/trees/layer_tree_impl.cc
diff --git a/cc/trees/layer_tree_impl.cc b/cc/trees/layer_tree_impl.cc
index d1cc0a03b932ee59abee2191f52c66bf0840613b..96fa8d600aef640a45b26c4a228b65d032ae5848 100644
--- a/cc/trees/layer_tree_impl.cc
+++ b/cc/trees/layer_tree_impl.cc
@@ -960,9 +960,7 @@ void LayerTreeImpl::SetElementIdsForTesting() {
}
}
-bool LayerTreeImpl::UpdateDrawProperties(
- bool update_lcd_text,
- bool force_skip_verify_visible_rect_calculations) {
+bool LayerTreeImpl::UpdateDrawProperties(bool update_lcd_text) {
if (!needs_update_draw_properties_)
return true;
@@ -993,10 +991,6 @@ bool LayerTreeImpl::UpdateDrawProperties(
// We verify visible rect calculations whenever we verify clip tree
// calculations except when this function is explicitly passed a flag asking
// us to skip it.
- bool verify_visible_rect_calculations =
- force_skip_verify_visible_rect_calculations
- ? false
- : settings().verify_clip_tree_calculations;
LayerTreeHostCommon::CalcDrawPropsImplInputs inputs(
layer_list_[0], DrawViewportSize(),
layer_tree_host_impl_->DrawTransform(), device_scale_factor(),
@@ -1006,8 +1000,6 @@ bool LayerTreeImpl::UpdateDrawProperties(
OverscrollElasticityLayer(), resource_provider()->max_texture_size(),
can_render_to_separate_surface,
settings().layer_transforms_should_scale_layer_contents,
- settings().verify_clip_tree_calculations,
- verify_visible_rect_calculations,
&render_surface_layer_list_, &property_trees_);
LayerTreeHostCommon::CalculateDrawProperties(&inputs);
if (const char* client_name = GetClientNameForMetrics()) {
@@ -1788,39 +1780,24 @@ static bool PointIsClippedByAncestorClipNode(
// ancestor render surface.
// We first check if the point is clipped by viewport.
- const PropertyTrees* property_trees =
- layer->layer_tree_impl()->property_trees();
+ PropertyTrees* property_trees = layer->layer_tree_impl()->property_trees();
const ClipTree& clip_tree = property_trees->clip_tree;
const TransformTree& transform_tree = property_trees->transform_tree;
const ClipNode* clip_node = clip_tree.Node(1);
- gfx::Rect combined_clip_in_target_space =
- gfx::ToEnclosingRect(clip_node->combined_clip_in_target_space);
- if (!PointHitsRect(screen_space_point, gfx::Transform(),
- combined_clip_in_target_space, NULL))
+ gfx::Rect clip = gfx::ToEnclosingRect(clip_node->clip);
+ if (!PointHitsRect(screen_space_point, gfx::Transform(), clip, NULL))
return true;
for (const ClipNode* clip_node = clip_tree.Node(layer->clip_tree_index());
clip_node->id > ClipTree::kViewportNodeId;
clip_node = clip_tree.parent(clip_node)) {
if (clip_node->clip_type == ClipNode::ClipType::APPLIES_LOCAL_CLIP) {
- const TransformNode* transform_node =
- transform_tree.Node(clip_node->target_transform_id);
- gfx::Rect combined_clip_in_target_space =
- gfx::ToEnclosingRect(clip_node->combined_clip_in_target_space);
-
- const LayerImpl* target_layer =
- layer->layer_tree_impl()->LayerById(transform_node->owning_layer_id);
- DCHECK(transform_node->id == TransformTree::kRootNodeId ||
- target_layer->render_surface() ||
- layer->layer_tree_impl()->is_in_resourceless_software_draw_mode());
- gfx::Transform surface_screen_space_transform =
- transform_node->id == TransformTree::kRootNodeId ||
- (layer->layer_tree_impl()
- ->is_in_resourceless_software_draw_mode())
- ? gfx::Transform()
- : SurfaceScreenSpaceTransform(target_layer);
- if (!PointHitsRect(screen_space_point, surface_screen_space_transform,
- combined_clip_in_target_space, NULL)) {
+ gfx::Rect clip = gfx::ToEnclosingRect(clip_node->clip);
+
+ gfx::Transform screen_space_transform =
+ transform_tree.ToScreen(clip_node->transform_id);
+ if (!PointHitsRect(screen_space_point, screen_space_transform, clip,
+ NULL)) {
return true;
}
}
« no previous file with comments | « cc/trees/layer_tree_impl.h ('k') | cc/trees/layer_tree_impl_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698