OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2004, 2005, 2006, 2007, 2008 Nikolas Zimmermann <zimmermann@kde
.org> | 2 * Copyright (C) 2004, 2005, 2006, 2007, 2008 Nikolas Zimmermann <zimmermann@kde
.org> |
3 * Copyright (C) 2004, 2005, 2006, 2007 Rob Buis <buis@kde.org> | 3 * Copyright (C) 2004, 2005, 2006, 2007 Rob Buis <buis@kde.org> |
4 * | 4 * |
5 * This library is free software; you can redistribute it and/or | 5 * This library is free software; you can redistribute it and/or |
6 * modify it under the terms of the GNU Library General Public | 6 * modify it under the terms of the GNU Library General Public |
7 * License as published by the Free Software Foundation; either | 7 * License as published by the Free Software Foundation; either |
8 * version 2 of the License, or (at your option) any later version. | 8 * version 2 of the License, or (at your option) any later version. |
9 * | 9 * |
10 * This library is distributed in the hope that it will be useful, | 10 * This library is distributed in the hope that it will be useful, |
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
69 | 69 |
70 bool isStructurallyExternal() const override { return !hrefString().isNull()
&& isExternalURIReference(hrefString(), document()); } | 70 bool isStructurallyExternal() const override { return !hrefString().isNull()
&& isExternalURIReference(hrefString(), document()); } |
71 | 71 |
72 InsertionNotificationRequest insertedInto(ContainerNode*) override; | 72 InsertionNotificationRequest insertedInto(ContainerNode*) override; |
73 void removedFrom(ContainerNode*) override; | 73 void removedFrom(ContainerNode*) override; |
74 | 74 |
75 void svgAttributeChanged(const QualifiedName&) override; | 75 void svgAttributeChanged(const QualifiedName&) override; |
76 | 76 |
77 LayoutObject* createLayoutObject(const ComputedStyle&) override; | 77 LayoutObject* createLayoutObject(const ComputedStyle&) override; |
78 | 78 |
79 void clearResourceReferences(); | |
80 void buildShadowAndInstanceTree(SVGElement* target); | |
81 | |
82 void scheduleShadowTreeRecreation(); | 79 void scheduleShadowTreeRecreation(); |
| 80 void cancelShadowTreeRecreation(); |
83 bool haveLoadedRequiredResources() override { return !isStructurallyExternal
() || m_haveFiredLoadEvent; } | 81 bool haveLoadedRequiredResources() override { return !isStructurallyExternal
() || m_haveFiredLoadEvent; } |
84 | 82 |
85 bool selfHasRelativeLengths() const override; | 83 bool selfHasRelativeLengths() const override; |
86 | 84 |
87 // Instance tree handling | 85 // Instance tree handling |
| 86 void buildShadowAndInstanceTree(SVGElement* target); |
| 87 void clearInstanceRoot(); |
88 bool buildShadowTree(SVGElement* target, SVGElement* targetInstance, bool fo
undUse); | 88 bool buildShadowTree(SVGElement* target, SVGElement* targetInstance, bool fo
undUse); |
| 89 void clearShadowTree(); |
89 bool hasCycleUseReferencing(SVGUseElement*, ContainerNode* targetInstance, S
VGElement*& newTarget); | 90 bool hasCycleUseReferencing(SVGUseElement*, ContainerNode* targetInstance, S
VGElement*& newTarget); |
90 bool expandUseElementsInShadowTree(SVGElement*); | 91 bool expandUseElementsInShadowTree(SVGElement*); |
91 void expandSymbolElementsInShadowTree(SVGElement*); | 92 void expandSymbolElementsInShadowTree(SVGElement*); |
92 | 93 |
93 void transferUseAttributesToReplacedElement(SVGElement* from, SVGElement* to
) const; | 94 void transferUseAttributesToReplacedElement(SVGElement* from, SVGElement* to
) const; |
94 | 95 |
95 void invalidateDependentShadowTrees(); | 96 void invalidateDependentShadowTrees(); |
96 | 97 |
97 bool resourceIsStillLoading(); | 98 bool resourceIsStillLoading(); |
98 Document* externalDocument() const; | 99 Document* externalDocument() const; |
99 bool instanceTreeIsLoading(SVGElement*); | 100 bool instanceTreeIsLoading(SVGElement*); |
100 void notifyFinished(Resource*) override; | 101 void notifyFinished(Resource*) override; |
101 TreeScope* referencedScope() const; | 102 TreeScope* referencedScope() const; |
102 void setDocumentResource(ResourcePtr<DocumentResource>); | 103 void setDocumentResource(ResourcePtr<DocumentResource>); |
103 | 104 |
104 RefPtrWillBeMember<SVGAnimatedLength> m_x; | 105 RefPtrWillBeMember<SVGAnimatedLength> m_x; |
105 RefPtrWillBeMember<SVGAnimatedLength> m_y; | 106 RefPtrWillBeMember<SVGAnimatedLength> m_y; |
106 RefPtrWillBeMember<SVGAnimatedLength> m_width; | 107 RefPtrWillBeMember<SVGAnimatedLength> m_width; |
107 RefPtrWillBeMember<SVGAnimatedLength> m_height; | 108 RefPtrWillBeMember<SVGAnimatedLength> m_height; |
108 | 109 |
109 bool m_haveFiredLoadEvent; | 110 bool m_haveFiredLoadEvent; |
110 bool m_needsShadowTreeRecreation; | 111 bool m_needsShadowTreeRecreation; |
111 RefPtrWillBeMember<SVGElement> m_targetElementInstance; | 112 RefPtrWillBeMember<SVGElement> m_targetElementInstance; |
112 ResourcePtr<DocumentResource> m_resource; | 113 ResourcePtr<DocumentResource> m_resource; |
113 }; | 114 }; |
114 | 115 |
115 } // namespace blink | 116 } // namespace blink |
116 | 117 |
117 #endif // SVGUseElement_h | 118 #endif // SVGUseElement_h |
OLD | NEW |