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

Unified Diff: third_party/WebKit/Source/core/layout/svg/LayoutSVGResourceContainer.h

Issue 2401343002: Tracking filter mutation via SVGElementProxy (Closed)
Patch Set: Rebase Created 4 years, 2 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 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 9cb95e271df9b3894133e02a735e2d35113473b2..4eee4e7c558cbc7313711d1304a9ebb8545a80de 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 SVGElementProxyTracker;
+
enum LayoutSVGResourceType {
MaskerResourceType,
MarkerResourceType,
@@ -37,8 +37,6 @@ enum LayoutSVGResourceType {
ClipperResourceType
};
-class PaintLayer;
-
class LayoutSVGResourceContainer : public LayoutSVGHiddenContainer {
public:
explicit LayoutSVGResourceContainer(SVGElement*);
@@ -65,8 +63,6 @@ class LayoutSVGResourceContainer : public LayoutSVGHiddenContainer {
}
void idChanged();
- void addResourceClient(SVGResourceClient*);
- void removeResourceClient(SVGResourceClient*);
void invalidateCacheAndMarkForLayout(SubtreeLayoutScope* = nullptr);
@@ -88,9 +84,12 @@ 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 invalidateProxyClients(InvalidationMode);
pdr. 2016/10/20 03:11:05 Is InvalidationMode needed (yet)?
fs 2016/10/20 11:28:00 No. Dropped (for now.)
+ void invalidateProxies();
+ virtual SVGElementProxyTracker* elementProxyTracker() { return nullptr; }
+
void willBeDestroyed() override;
bool m_isInLayout;
@@ -113,7 +112,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