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

Side by Side Diff: third_party/WebKit/Source/core/svg/SVGFilterElement.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) 2004, 2005, 2006, 2007 Nikolas Zimmermann <zimmermann@kde.org> 2 * Copyright (C) 2004, 2005, 2006, 2007 Nikolas Zimmermann <zimmermann@kde.org>
3 * Copyright (C) 2004, 2005, 2006 Rob Buis <buis@kde.org> 3 * Copyright (C) 2004, 2005, 2006 Rob Buis <buis@kde.org>
4 * Copyright (C) 2006 Samuel Weinig <sam.weinig@gmail.com> 4 * Copyright (C) 2006 Samuel Weinig <sam.weinig@gmail.com>
5 * Copyright (C) Research In Motion Limited 2010. All rights reserved. 5 * Copyright (C) Research In Motion Limited 2010. All rights reserved.
6 * 6 *
7 * This library is free software; you can redistribute it and/or 7 * This library is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU Library General Public 8 * modify it under the terms of the GNU Library General Public
9 * License as published by the Free Software Foundation; either 9 * License as published by the Free Software Foundation; either
10 * version 2 of the License, or (at your option) any later version. 10 * version 2 of the License, or (at your option) any later version.
(...skipping 16 matching lines...) Expand all
27 #include "core/SVGNames.h" 27 #include "core/SVGNames.h"
28 #include "core/svg/SVGAnimatedEnumeration.h" 28 #include "core/svg/SVGAnimatedEnumeration.h"
29 #include "core/svg/SVGAnimatedLength.h" 29 #include "core/svg/SVGAnimatedLength.h"
30 #include "core/svg/SVGElement.h" 30 #include "core/svg/SVGElement.h"
31 #include "core/svg/SVGURIReference.h" 31 #include "core/svg/SVGURIReference.h"
32 #include "core/svg/SVGUnitTypes.h" 32 #include "core/svg/SVGUnitTypes.h"
33 #include "platform/heap/Handle.h" 33 #include "platform/heap/Handle.h"
34 34
35 namespace blink { 35 namespace blink {
36 36
37 class SVGResourceClient; 37 class SVGElementProxySet;
38 38
39 class CORE_EXPORT SVGFilterElement final : public SVGElement, 39 class CORE_EXPORT SVGFilterElement final : public SVGElement,
40 public SVGURIReference { 40 public SVGURIReference {
41 DEFINE_WRAPPERTYPEINFO(); 41 DEFINE_WRAPPERTYPEINFO();
42 USING_GARBAGE_COLLECTED_MIXIN(SVGFilterElement); 42 USING_GARBAGE_COLLECTED_MIXIN(SVGFilterElement);
43 43
44 public: 44 public:
45 DECLARE_NODE_FACTORY(SVGFilterElement); 45 DECLARE_NODE_FACTORY(SVGFilterElement);
46 DECLARE_VIRTUAL_TRACE(); 46 DECLARE_VIRTUAL_TRACE();
47 47
48 ~SVGFilterElement() override; 48 ~SVGFilterElement() override;
49 49
50 void addClient(SVGResourceClient*); 50 SVGElementProxySet& elementProxySet();
51 void removeClient(SVGResourceClient*);
52 51
53 SVGAnimatedLength* x() const { return m_x.get(); } 52 SVGAnimatedLength* x() const { return m_x.get(); }
54 SVGAnimatedLength* y() const { return m_y.get(); } 53 SVGAnimatedLength* y() const { return m_y.get(); }
55 SVGAnimatedLength* width() const { return m_width.get(); } 54 SVGAnimatedLength* width() const { return m_width.get(); }
56 SVGAnimatedLength* height() const { return m_height.get(); } 55 SVGAnimatedLength* height() const { return m_height.get(); }
57 SVGAnimatedEnumeration<SVGUnitTypes::SVGUnitType>* filterUnits() { 56 SVGAnimatedEnumeration<SVGUnitTypes::SVGUnitType>* filterUnits() {
58 return m_filterUnits.get(); 57 return m_filterUnits.get();
59 } 58 }
60 SVGAnimatedEnumeration<SVGUnitTypes::SVGUnitType>* primitiveUnits() { 59 SVGAnimatedEnumeration<SVGUnitTypes::SVGUnitType>* primitiveUnits() {
61 return m_primitiveUnits.get(); 60 return m_primitiveUnits.get();
(...skipping 11 matching lines...) Expand all
73 72
74 bool selfHasRelativeLengths() const override; 73 bool selfHasRelativeLengths() const override;
75 74
76 Member<SVGAnimatedLength> m_x; 75 Member<SVGAnimatedLength> m_x;
77 Member<SVGAnimatedLength> m_y; 76 Member<SVGAnimatedLength> m_y;
78 Member<SVGAnimatedLength> m_width; 77 Member<SVGAnimatedLength> m_width;
79 Member<SVGAnimatedLength> m_height; 78 Member<SVGAnimatedLength> m_height;
80 Member<SVGAnimatedEnumeration<SVGUnitTypes::SVGUnitType>> m_filterUnits; 79 Member<SVGAnimatedEnumeration<SVGUnitTypes::SVGUnitType>> m_filterUnits;
81 Member<SVGAnimatedEnumeration<SVGUnitTypes::SVGUnitType>> m_primitiveUnits; 80 Member<SVGAnimatedEnumeration<SVGUnitTypes::SVGUnitType>> m_primitiveUnits;
82 81
83 HeapHashSet<WeakMember<SVGResourceClient>> m_clientsToAdd; 82 Member<SVGElementProxySet> m_elementProxySet;
84 }; 83 };
85 84
86 } // namespace blink 85 } // namespace blink
87 86
88 #endif // SVGFilterElement_h 87 #endif // SVGFilterElement_h
OLDNEW
« no previous file with comments | « third_party/WebKit/Source/core/svg/SVGElementProxy.cpp ('k') | third_party/WebKit/Source/core/svg/SVGFilterElement.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698