| 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_common.h" | 5 #include "cc/trees/layer_tree_host_common.h" | 
| 6 | 6 | 
| 7 #include <algorithm> | 7 #include <algorithm> | 
| 8 | 8 | 
| 9 #include "base/debug/trace_event.h" | 9 #include "base/debug/trace_event.h" | 
| 10 #include "cc/base/math_util.h" | 10 #include "cc/base/math_util.h" | 
| (...skipping 293 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 304     return true; | 304     return true; | 
| 305   } | 305   } | 
| 306 | 306 | 
| 307   // If the layer has a reflection. | 307   // If the layer has a reflection. | 
| 308   if (layer->replica_layer()) { | 308   if (layer->replica_layer()) { | 
| 309     DCHECK(!is_root); | 309     DCHECK(!is_root); | 
| 310     return true; | 310     return true; | 
| 311   } | 311   } | 
| 312 | 312 | 
| 313   // If the layer uses a CSS filter. | 313   // If the layer uses a CSS filter. | 
| 314   if (!layer->filters().isEmpty() || !layer->background_filters().isEmpty() || | 314   if (!layer->filters().IsEmpty() || !layer->background_filters().IsEmpty() || | 
| 315       layer->filter()) { | 315       layer->filter()) { | 
| 316     DCHECK(!is_root); | 316     DCHECK(!is_root); | 
| 317     return true; | 317     return true; | 
| 318   } | 318   } | 
| 319 | 319 | 
| 320   int num_descendants_that_draw_content = | 320   int num_descendants_that_draw_content = | 
| 321       layer->draw_properties().num_descendants_that_draw_content; | 321       layer->draw_properties().num_descendants_that_draw_content; | 
| 322 | 322 | 
| 323   // If the layer flattens its subtree (i.e. the layer doesn't preserve-3d), but | 323   // If the layer flattens its subtree (i.e. the layer doesn't preserve-3d), but | 
| 324   // it is treated as a 3D object by its parent (i.e. parent does preserve-3d). | 324   // it is treated as a 3D object by its parent (i.e. parent does preserve-3d). | 
| (...skipping 866 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 1191       DrawProperties<LayerType, RenderSurfaceType>& | 1191       DrawProperties<LayerType, RenderSurfaceType>& | 
| 1192       replica_mask_draw_properties = | 1192       replica_mask_draw_properties = | 
| 1193           layer->replica_layer()->mask_layer()->draw_properties(); | 1193           layer->replica_layer()->mask_layer()->draw_properties(); | 
| 1194       replica_mask_draw_properties.render_target = layer; | 1194       replica_mask_draw_properties.render_target = layer; | 
| 1195       replica_mask_draw_properties.visible_content_rect = | 1195       replica_mask_draw_properties.visible_content_rect = | 
| 1196           gfx::Rect(layer->content_bounds()); | 1196           gfx::Rect(layer->content_bounds()); | 
| 1197     } | 1197     } | 
| 1198 | 1198 | 
| 1199     // TODO(senorblanco): make this smarter for the SkImageFilter case (check | 1199     // TODO(senorblanco): make this smarter for the SkImageFilter case (check | 
| 1200     // for pixel-moving filters) | 1200     // for pixel-moving filters) | 
| 1201     if (layer->filters().hasFilterThatMovesPixels() || layer->filter()) | 1201     if (layer->filters().HasFilterThatMovesPixels() || layer->filter()) | 
| 1202       nearest_ancestor_that_moves_pixels = render_surface; | 1202       nearest_ancestor_that_moves_pixels = render_surface; | 
| 1203 | 1203 | 
| 1204     // The render surface clip rect is expressed in the space where this surface | 1204     // The render surface clip rect is expressed in the space where this surface | 
| 1205     // draws, i.e. the same space as clip_rect_from_ancestor. | 1205     // draws, i.e. the same space as clip_rect_from_ancestor. | 
| 1206     render_surface->SetIsClipped(ancestor_clips_subtree); | 1206     render_surface->SetIsClipped(ancestor_clips_subtree); | 
| 1207     if (ancestor_clips_subtree) { | 1207     if (ancestor_clips_subtree) { | 
| 1208       render_surface->SetClipRect(clip_rect_from_ancestor); | 1208       render_surface->SetClipRect(clip_rect_from_ancestor); | 
| 1209 | 1209 | 
| 1210       gfx::Transform inverse_surface_draw_transform( | 1210       gfx::Transform inverse_surface_draw_transform( | 
| 1211           gfx::Transform::kSkipInitialization); | 1211           gfx::Transform::kSkipInitialization); | 
| (...skipping 610 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 1822   // At this point, we think the point does hit the touch event handler region | 1822   // At this point, we think the point does hit the touch event handler region | 
| 1823   // on the layer, but we need to walk up the parents to ensure that the layer | 1823   // on the layer, but we need to walk up the parents to ensure that the layer | 
| 1824   // was not clipped in such a way that the hit point actually should not hit | 1824   // was not clipped in such a way that the hit point actually should not hit | 
| 1825   // the layer. | 1825   // the layer. | 
| 1826   if (PointIsClippedBySurfaceOrClipRect(screen_space_point, layer_impl)) | 1826   if (PointIsClippedBySurfaceOrClipRect(screen_space_point, layer_impl)) | 
| 1827     return false; | 1827     return false; | 
| 1828 | 1828 | 
| 1829   return true; | 1829   return true; | 
| 1830 } | 1830 } | 
| 1831 }  // namespace cc | 1831 }  // namespace cc | 
| OLD | NEW | 
|---|