| Index: third_party/WebKit/Source/core/style/FilterOperation.h
|
| diff --git a/third_party/WebKit/Source/core/style/FilterOperation.h b/third_party/WebKit/Source/core/style/FilterOperation.h
|
| index 234d8bb5a7b84c1807b05955b8843562c6a548f7..cf564f9f3524cb46233bb6d2c5a3177db66a288c 100644
|
| --- a/third_party/WebKit/Source/core/style/FilterOperation.h
|
| +++ b/third_party/WebKit/Source/core/style/FilterOperation.h
|
| @@ -38,6 +38,8 @@
|
| namespace blink {
|
|
|
| class Filter;
|
| +class SVGResourceClient;
|
| +class SVGElementProxy;
|
|
|
| // CSS Filters
|
|
|
| @@ -128,8 +130,8 @@ class CORE_EXPORT FilterOperation
|
| class CORE_EXPORT ReferenceFilterOperation : public FilterOperation {
|
| public:
|
| static ReferenceFilterOperation* create(const String& url,
|
| - const AtomicString& fragment) {
|
| - return new ReferenceFilterOperation(url, fragment);
|
| + SVGElementProxy& elementProxy) {
|
| + return new ReferenceFilterOperation(url, elementProxy);
|
| }
|
|
|
| bool affectsOpacity() const override { return true; }
|
| @@ -137,33 +139,30 @@ class CORE_EXPORT ReferenceFilterOperation : public FilterOperation {
|
| FloatRect mapRect(const FloatRect&) const override;
|
|
|
| const String& url() const { return m_url; }
|
| - const AtomicString& fragment() const { return m_fragment; }
|
|
|
| Filter* getFilter() const { return m_filter.get(); }
|
| void setFilter(Filter* filter) { m_filter = filter; }
|
|
|
| + SVGElementProxy& elementProxy() const { return *m_elementProxy; }
|
| +
|
| + void addClient(SVGResourceClient*);
|
| + void removeClient(SVGResourceClient*);
|
| +
|
| DECLARE_VIRTUAL_TRACE();
|
|
|
| private:
|
| + ReferenceFilterOperation(const String& url, SVGElementProxy&);
|
| +
|
| FilterOperation* blend(const FilterOperation* from,
|
| double progress) const override {
|
| NOTREACHED();
|
| return nullptr;
|
| }
|
|
|
| - bool operator==(const FilterOperation& o) const override {
|
| - if (!isSameType(o))
|
| - return false;
|
| - const ReferenceFilterOperation* other =
|
| - static_cast<const ReferenceFilterOperation*>(&o);
|
| - return m_url == other->m_url;
|
| - }
|
| -
|
| - ReferenceFilterOperation(const String& url, const AtomicString& fragment)
|
| - : FilterOperation(REFERENCE), m_url(url), m_fragment(fragment) {}
|
| + bool operator==(const FilterOperation&) const override;
|
|
|
| String m_url;
|
| - AtomicString m_fragment;
|
| + Member<SVGElementProxy> m_elementProxy;
|
| Member<Filter> m_filter;
|
| };
|
|
|
|
|