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

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

Issue 2297213003: Fix CSS reference filters with negative transformed children. (Closed)
Patch Set: Created 4 years, 3 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
« no previous file with comments | « cc/trees/layer_tree_host_pixeltest_filters.cc ('k') | services/ui/ws/frame_generator.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 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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/property_tree_builder.h" 5 #include "cc/trees/property_tree_builder.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 8
9 #include <map> 9 #include <map>
10 #include <set> 10 #include <set>
(...skipping 764 matching lines...) Expand 10 before | Expand all | Expand 10 after
775 } 775 }
776 776
777 static inline SkXfermode::Mode BlendMode(LayerImpl* layer) { 777 static inline SkXfermode::Mode BlendMode(LayerImpl* layer) {
778 return layer->test_properties()->blend_mode; 778 return layer->test_properties()->blend_mode;
779 } 779 }
780 780
781 static inline const FilterOperations& Filters(Layer* layer) { 781 static inline const FilterOperations& Filters(Layer* layer) {
782 return layer->filters(); 782 return layer->filters();
783 } 783 }
784 784
785 static inline const gfx::PointF FiltersOrigin(Layer* layer) {
786 return layer->filters_origin();
787 }
788
789 static inline const gfx::PointF FiltersOrigin(LayerImpl* layer) {
790 return layer->test_properties()->filters_origin;
791 }
792
785 static inline const FilterOperations& Filters(LayerImpl* layer) { 793 static inline const FilterOperations& Filters(LayerImpl* layer) {
786 return layer->test_properties()->filters; 794 return layer->test_properties()->filters;
787 } 795 }
788 796
789 static inline const FilterOperations& BackgroundFilters(Layer* layer) { 797 static inline const FilterOperations& BackgroundFilters(Layer* layer) {
790 return layer->background_filters(); 798 return layer->background_filters();
791 } 799 }
792 800
793 static inline const FilterOperations& BackgroundFilters(LayerImpl* layer) { 801 static inline const FilterOperations& BackgroundFilters(LayerImpl* layer) {
794 return layer->test_properties()->background_filters; 802 return layer->test_properties()->background_filters;
(...skipping 185 matching lines...) Expand 10 before | Expand all | Expand 10 after
980 .push_back(node.owner_id); 988 .push_back(node.owner_id);
981 } 989 }
982 990
983 node.opacity = Opacity(layer); 991 node.opacity = Opacity(layer);
984 node.blend_mode = BlendMode(layer); 992 node.blend_mode = BlendMode(layer);
985 node.unscaled_mask_target_size = layer->bounds(); 993 node.unscaled_mask_target_size = layer->bounds();
986 node.has_render_surface = should_create_render_surface; 994 node.has_render_surface = should_create_render_surface;
987 node.has_copy_request = HasCopyRequest(layer); 995 node.has_copy_request = HasCopyRequest(layer);
988 node.filters = Filters(layer); 996 node.filters = Filters(layer);
989 node.background_filters = BackgroundFilters(layer); 997 node.background_filters = BackgroundFilters(layer);
998 node.filters_origin = FiltersOrigin(layer);
990 node.has_potential_opacity_animation = has_potential_opacity_animation; 999 node.has_potential_opacity_animation = has_potential_opacity_animation;
991 node.has_potential_filter_animation = has_potential_filter_animation; 1000 node.has_potential_filter_animation = has_potential_filter_animation;
992 node.double_sided = DoubleSided(layer); 1001 node.double_sided = DoubleSided(layer);
993 node.subtree_hidden = HideLayerAndSubtree(layer); 1002 node.subtree_hidden = HideLayerAndSubtree(layer);
994 node.is_currently_animating_opacity = OpacityIsAnimating(layer); 1003 node.is_currently_animating_opacity = OpacityIsAnimating(layer);
995 node.is_currently_animating_filter = FilterIsAnimating(layer); 1004 node.is_currently_animating_filter = FilterIsAnimating(layer);
996 1005
997 EffectTree& effect_tree = data_for_children->property_trees->effect_tree; 1006 EffectTree& effect_tree = data_for_children->property_trees->effect_tree;
998 if (MaskLayer(layer)) { 1007 if (MaskLayer(layer)) {
999 node.mask_layer_id = MaskLayer(layer)->id(); 1008 node.mask_layer_id = MaskLayer(layer)->id();
(...skipping 469 matching lines...) Expand 10 before | Expand all | Expand 10 after
1469 color = SkColorSetA(color, 255); 1478 color = SkColorSetA(color, 255);
1470 BuildPropertyTreesTopLevelInternal( 1479 BuildPropertyTreesTopLevelInternal(
1471 root_layer, page_scale_layer, inner_viewport_scroll_layer, 1480 root_layer, page_scale_layer, inner_viewport_scroll_layer,
1472 outer_viewport_scroll_layer, overscroll_elasticity_layer, 1481 outer_viewport_scroll_layer, overscroll_elasticity_layer,
1473 elastic_overscroll, page_scale_factor, device_scale_factor, viewport, 1482 elastic_overscroll, page_scale_factor, device_scale_factor, viewport,
1474 device_transform, property_trees, color); 1483 device_transform, property_trees, color);
1475 property_trees->ResetCachedData(); 1484 property_trees->ResetCachedData();
1476 } 1485 }
1477 1486
1478 } // namespace cc 1487 } // namespace cc
OLDNEW
« no previous file with comments | « cc/trees/layer_tree_host_pixeltest_filters.cc ('k') | services/ui/ws/frame_generator.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698