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

Unified Diff: third_party/WebKit/Source/core/svg/SVGResourceClient.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 side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/Source/core/svg/SVGResourceClient.h
diff --git a/third_party/WebKit/Source/core/svg/SVGResourceClient.h b/third_party/WebKit/Source/core/svg/SVGResourceClient.h
index 58b4f5378f9c9a8ee6f2412c75245c6a397f413d..e3f8ec0b36da34d7b73629f4ce5094e695ee0834 100644
--- a/third_party/WebKit/Source/core/svg/SVGResourceClient.h
+++ b/third_party/WebKit/Source/core/svg/SVGResourceClient.h
@@ -7,35 +7,26 @@
#include "core/CoreExport.h"
#include "core/fetch/DocumentResource.h"
-#include "core/svg/SVGFilterElement.h"
#include "platform/heap/Handle.h"
namespace blink {
-class Document;
-class FilterOperations;
+class TreeScope;
class CORE_EXPORT SVGResourceClient : public DocumentResourceClient {
- USING_PRE_FINALIZER(SVGResourceClient, clearFilterReferences);
-
public:
- SVGResourceClient();
- ~SVGResourceClient() override;
- void addFilterReferences(const FilterOperations&, const Document&);
- void clearFilterReferences();
-
- virtual void filterNeedsInvalidation() = 0;
+ virtual ~SVGResourceClient() {}
- void filterWillBeDestroyed(SVGFilterElement*);
+ virtual TreeScope* treeScope() = 0;
- void notifyFinished(Resource*) override;
- String debugName() const override { return "SVGResourceClient"; }
+ virtual void resourceContentChanged() = 0;
+ virtual void resourceElementChanged() = 0;
- DECLARE_TRACE();
+ protected:
+ SVGResourceClient() {}
- private:
- HeapHashSet<WeakMember<SVGFilterElement>> m_internalFilterReferences;
- HeapVector<Member<DocumentResource>> m_externalFilterReferences;
+ String debugName() const override { return "SVGResourceClient"; }
+ void notifyFinished(Resource*) override { resourceElementChanged(); }
};
} // namespace blink
« no previous file with comments | « third_party/WebKit/Source/core/svg/SVGFilterElement.cpp ('k') | third_party/WebKit/Source/core/svg/SVGResourceClient.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698