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

Unified Diff: cc/trees/layer_tree_impl.cc

Issue 2653183008: cc : Remove usage of combined_clip_in_target_space during hit testing. (Closed)
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 | « no previous file | no next file » | 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..481a3703d9e63c09cd252979ccff3c663ad3231f 100644
--- a/cc/trees/layer_tree_impl.cc
+++ b/cc/trees/layer_tree_impl.cc
@@ -1793,34 +1793,20 @@ static bool PointIsClippedByAncestorClipNode(
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 | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698