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

Unified Diff: third_party/WebKit/Source/core/layout/svg/LayoutSVGResourceContainer.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/layout/svg/LayoutSVGResourceContainer.h
diff --git a/third_party/WebKit/Source/core/layout/svg/LayoutSVGResourceContainer.h b/third_party/WebKit/Source/core/layout/svg/LayoutSVGResourceContainer.h
index 6419c89be7e8687bdf727ac791e58f3d33b611d1..dc6926022eb7c78c7c2f04a3a615a37a273cd43c 100644
--- a/third_party/WebKit/Source/core/layout/svg/LayoutSVGResourceContainer.h
+++ b/third_party/WebKit/Source/core/layout/svg/LayoutSVGResourceContainer.h
@@ -22,11 +22,11 @@
#include "core/layout/svg/LayoutSVGHiddenContainer.h"
#include "core/svg/SVGDocumentExtensions.h"
-#include "core/svg/SVGResourceClient.h"
-#include "platform/heap/Handle.h"
namespace blink {
+class SVGElementProxySet;
+
enum LayoutSVGResourceType {
MaskerResourceType,
MarkerResourceType,
@@ -63,8 +63,6 @@ class LayoutSVGResourceContainer : public LayoutSVGHiddenContainer {
}
void idChanged();
- void addResourceClient(SVGResourceClient*);
- void removeResourceClient(SVGResourceClient*);
void invalidateCacheAndMarkForLayout(SubtreeLayoutScope* = nullptr);
@@ -86,9 +84,11 @@ class LayoutSVGResourceContainer : public LayoutSVGHiddenContainer {
// Used from the invalidateClient/invalidateClients methods from classes,
// inheriting from us.
void markAllClientsForInvalidation(InvalidationMode);
- void markAllResourceClientsForInvalidation();
void markClientForInvalidation(LayoutObject*, InvalidationMode);
+ void notifyContentChanged();
+ virtual SVGElementProxySet* elementProxySet() { return nullptr; }
+
void willBeDestroyed() override;
bool m_isInLayout;
@@ -111,7 +111,6 @@ class LayoutSVGResourceContainer : public LayoutSVGHiddenContainer {
// 22 padding bits available
HashSet<LayoutObject*> m_clients;
- PersistentHeapHashSet<WeakMember<SVGResourceClient>> m_resourceClients;
};
inline LayoutSVGResourceContainer* getLayoutSVGResourceContainerById(

Powered by Google App Engine
This is Rietveld 408576698