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

Side by Side Diff: third_party/WebKit/Source/core/svg/SVGUseElement.h

Issue 2173453002: Resolve URL/target reference at a single point in SVGUseElement (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Test touchups Created 4 years, 4 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 unified diff | Download patch
OLDNEW
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 71 matching lines...) Expand 10 before | Expand all | Expand 10 after
82 82
83 LayoutObject* createLayoutObject(const ComputedStyle&) override; 83 LayoutObject* createLayoutObject(const ComputedStyle&) override;
84 84
85 void scheduleShadowTreeRecreation(); 85 void scheduleShadowTreeRecreation();
86 void cancelShadowTreeRecreation(); 86 void cancelShadowTreeRecreation();
87 bool haveLoadedRequiredResources() override { return !isStructurallyExternal () || m_haveFiredLoadEvent; } 87 bool haveLoadedRequiredResources() override { return !isStructurallyExternal () || m_haveFiredLoadEvent; }
88 88
89 bool selfHasRelativeLengths() const override; 89 bool selfHasRelativeLengths() const override;
90 90
91 // Instance tree handling 91 // Instance tree handling
92 Element* resolveTargetElement();
92 void buildShadowAndInstanceTree(SVGElement& target); 93 void buildShadowAndInstanceTree(SVGElement& target);
93 void clearInstanceRoot(); 94 void clearInstanceRoot();
94 Element* createInstanceTree(SVGElement& targetRoot) const; 95 Element* createInstanceTree(SVGElement& targetRoot) const;
95 void clearShadowTree(); 96 void clearShadowTree();
96 bool hasCycleUseReferencing(const SVGUseElement&, const ContainerNode& targe tInstance, SVGElement*& newTarget) const; 97 bool hasCycleUseReferencing(const SVGUseElement&, const ContainerNode& targe tInstance, SVGElement*& newTarget) const;
97 bool expandUseElementsInShadowTree(); 98 bool expandUseElementsInShadowTree();
98 void cloneNonMarkupEventListeners(); 99 void cloneNonMarkupEventListeners();
99 void addReferencesToFirstDegreeNestedUseElements(SVGElement& target); 100 void addReferencesToFirstDegreeNestedUseElements(SVGElement& target);
100 101
101 void invalidateDependentShadowTrees(); 102 void invalidateDependentShadowTrees();
102 103
103 bool resourceIsStillLoading() const; 104 bool resourceIsStillLoading() const;
104 bool resourceIsValid() const; 105 bool resourceIsValid() const;
105 Document* externalDocument() const;
106 bool instanceTreeIsLoading() const; 106 bool instanceTreeIsLoading() const;
107 void notifyFinished(Resource*) override; 107 void notifyFinished(Resource*) override;
108 String debugName() const override { return "SVGUseElement"; } 108 String debugName() const override { return "SVGUseElement"; }
109 void updateTargetReference();
109 void setDocumentResource(DocumentResource*); 110 void setDocumentResource(DocumentResource*);
110 111
111 Member<SVGAnimatedLength> m_x; 112 Member<SVGAnimatedLength> m_x;
112 Member<SVGAnimatedLength> m_y; 113 Member<SVGAnimatedLength> m_y;
113 Member<SVGAnimatedLength> m_width; 114 Member<SVGAnimatedLength> m_width;
114 Member<SVGAnimatedLength> m_height; 115 Member<SVGAnimatedLength> m_height;
115 116
117 AtomicString m_elementIdentifier;
118 bool m_elementIdentifierIsLocal;
116 bool m_haveFiredLoadEvent; 119 bool m_haveFiredLoadEvent;
117 bool m_needsShadowTreeRecreation; 120 bool m_needsShadowTreeRecreation;
118 Member<SVGElement> m_targetElementInstance; 121 Member<SVGElement> m_targetElementInstance;
119 Member<DocumentResource> m_resource; 122 Member<DocumentResource> m_resource;
120 }; 123 };
121 124
122 } // namespace blink 125 } // namespace blink
123 126
124 #endif // SVGUseElement_h 127 #endif // SVGUseElement_h
OLDNEW
« no previous file with comments | « third_party/WebKit/Source/core/svg/SVGURIReference.cpp ('k') | third_party/WebKit/Source/core/svg/SVGUseElement.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698