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

Side by Side Diff: third_party/WebKit/Source/core/style/FilterOperations.h

Issue 2490163002: Reland of "Tracking reference filter mutation via SVGElementProxy" (Closed)
Patch Set: Fix double observer unregistration; simplify scope selection; add tests Created 4 years, 1 month 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
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2011 Apple Inc. All rights reserved. 2 * Copyright (C) 2011 Apple Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions 5 * modification, are permitted provided that the following conditions
6 * are met: 6 * are met:
7 * 1. Redistributions of source code must retain the above copyright 7 * 1. Redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer. 8 * notice, this list of conditions and the following disclaimer.
9 * 2. Redistributions in binary form must reproduce the above copyright 9 * 2. Redistributions in binary form must reproduce the above copyright
10 * notice, this list of conditions and the following disclaimer in the 10 * notice, this list of conditions and the following disclaimer in the
(...skipping 14 matching lines...) Expand all
25 25
26 #ifndef FilterOperations_h 26 #ifndef FilterOperations_h
27 #define FilterOperations_h 27 #define FilterOperations_h
28 28
29 #include "core/CoreExport.h" 29 #include "core/CoreExport.h"
30 #include "core/style/FilterOperation.h" 30 #include "core/style/FilterOperation.h"
31 #include "wtf/Vector.h" 31 #include "wtf/Vector.h"
32 32
33 namespace blink { 33 namespace blink {
34 34
35 class SVGResourceClient;
36
35 class CORE_EXPORT FilterOperations { 37 class CORE_EXPORT FilterOperations {
36 DISALLOW_NEW(); 38 DISALLOW_NEW();
37 39
38 public: 40 public:
39 FilterOperations(); 41 FilterOperations();
40 FilterOperations(const FilterOperations& other) { *this = other; } 42 FilterOperations(const FilterOperations& other) { *this = other; }
41 43
42 FilterOperations& operator=(const FilterOperations&); 44 FilterOperations& operator=(const FilterOperations&);
43 45
44 bool operator==(const FilterOperations&) const; 46 bool operator==(const FilterOperations&) const;
(...skipping 17 matching lines...) Expand all
62 // Maps "forward" to determine which pixels in a destination rect are 64 // Maps "forward" to determine which pixels in a destination rect are
63 // affected by pixels in the source rect. 65 // affected by pixels in the source rect.
64 // See also FilterEffect::mapRect. 66 // See also FilterEffect::mapRect.
65 FloatRect mapRect(const FloatRect&) const; 67 FloatRect mapRect(const FloatRect&) const;
66 68
67 bool hasFilterThatAffectsOpacity() const; 69 bool hasFilterThatAffectsOpacity() const;
68 bool hasFilterThatMovesPixels() const; 70 bool hasFilterThatMovesPixels() const;
69 71
70 bool hasReferenceFilter() const; 72 bool hasReferenceFilter() const;
71 73
74 void addClient(SVGResourceClient*) const;
75 void removeClient(SVGResourceClient*) const;
76
72 DECLARE_TRACE(); 77 DECLARE_TRACE();
73 78
74 private: 79 private:
75 FilterOperationVector m_operations; 80 FilterOperationVector m_operations;
76 }; 81 };
77 82
78 // Wrapper object for the FilterOperations part object. 83 // Wrapper object for the FilterOperations part object.
79 class FilterOperationsWrapper 84 class FilterOperationsWrapper
80 : public GarbageCollected<FilterOperationsWrapper> { 85 : public GarbageCollected<FilterOperationsWrapper> {
81 public: 86 public:
(...skipping 14 matching lines...) Expand all
96 101
97 explicit FilterOperationsWrapper(const FilterOperations& operations) 102 explicit FilterOperationsWrapper(const FilterOperations& operations)
98 : m_operations(operations) {} 103 : m_operations(operations) {}
99 104
100 FilterOperations m_operations; 105 FilterOperations m_operations;
101 }; 106 };
102 107
103 } // namespace blink 108 } // namespace blink
104 109
105 #endif // FilterOperations_h 110 #endif // FilterOperations_h
OLDNEW
« no previous file with comments | « third_party/WebKit/Source/core/style/FilterOperation.cpp ('k') | third_party/WebKit/Source/core/style/FilterOperations.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698