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

Side by Side Diff: Source/core/svg/SVGDocumentExtensions.h

Issue 198783006: Hold SVGFontFaceElement in SVGDocumentExtensions until StyleRecalc is finished (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Fixed indent Created 6 years, 9 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 | Annotate | Revision Log
« no previous file with comments | « Source/core/dom/Document.cpp ('k') | Source/core/svg/SVGDocumentExtensions.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2006 Apple Inc. All rights reserved. 2 * Copyright (C) 2006 Apple Inc. All rights reserved.
3 * Copyright (C) 2006, 2008 Nikolas Zimmermann <zimmermann@kde.org> 3 * Copyright (C) 2006, 2008 Nikolas Zimmermann <zimmermann@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 63 matching lines...) Expand 10 before | Expand all | Expand 10 after
74 74
75 void addSVGRootWithRelativeLengthDescendents(SVGSVGElement*); 75 void addSVGRootWithRelativeLengthDescendents(SVGSVGElement*);
76 void removeSVGRootWithRelativeLengthDescendents(SVGSVGElement*); 76 void removeSVGRootWithRelativeLengthDescendents(SVGSVGElement*);
77 bool isSVGRootWithRelativeLengthDescendents(SVGSVGElement*) const; 77 bool isSVGRootWithRelativeLengthDescendents(SVGSVGElement*) const;
78 void invalidateSVGRootsWithRelativeLengthDescendents(SubtreeLayoutScope*); 78 void invalidateSVGRootsWithRelativeLengthDescendents(SubtreeLayoutScope*);
79 79
80 #if ENABLE(SVG_FONTS) 80 #if ENABLE(SVG_FONTS)
81 const HashSet<SVGFontFaceElement*>& svgFontFaceElements() const { return m_s vgFontFaceElements; } 81 const HashSet<SVGFontFaceElement*>& svgFontFaceElements() const { return m_s vgFontFaceElements; }
82 void registerSVGFontFaceElement(SVGFontFaceElement*); 82 void registerSVGFontFaceElement(SVGFontFaceElement*);
83 void unregisterSVGFontFaceElement(SVGFontFaceElement*); 83 void unregisterSVGFontFaceElement(SVGFontFaceElement*);
84
85 void registerPendingSVGFontFaceElementsForRemoval(PassRefPtr<SVGFontFaceElem ent>);
86 void removePendingSVGFontFaceElementsForRemoval();
84 #endif 87 #endif
85 88
86 private: 89 private:
87 Document* m_document; // weak reference 90 Document* m_document; // weak reference
88 HashSet<SVGSVGElement*> m_timeContainers; // For SVG 1.2 support this will n eed to be made more general. 91 HashSet<SVGSVGElement*> m_timeContainers; // For SVG 1.2 support this will n eed to be made more general.
89 #if ENABLE(SVG_FONTS) 92 #if ENABLE(SVG_FONTS)
90 HashSet<SVGFontFaceElement*> m_svgFontFaceElements; 93 HashSet<SVGFontFaceElement*> m_svgFontFaceElements;
94 // SVGFontFaceElements that are pending and scheduled for removal.
95 HashSet<RefPtr<SVGFontFaceElement> > m_pendingSVGFontFaceElementsForRemoval;
91 #endif 96 #endif
92 HashMap<AtomicString, RenderSVGResourceContainer*> m_resources; 97 HashMap<AtomicString, RenderSVGResourceContainer*> m_resources;
93 HashMap<AtomicString, OwnPtr<SVGPendingElements> > m_pendingResources; // Re sources that are pending. 98 HashMap<AtomicString, OwnPtr<SVGPendingElements> > m_pendingResources; // Re sources that are pending.
94 HashMap<AtomicString, OwnPtr<SVGPendingElements> > m_pendingResourcesForRemo val; // Resources that are pending and scheduled for removal. 99 HashMap<AtomicString, OwnPtr<SVGPendingElements> > m_pendingResourcesForRemo val; // Resources that are pending and scheduled for removal.
95 HashMap<SVGElement*, OwnPtr<HashSet<SVGElement*> > > m_elementDependencies; 100 HashMap<SVGElement*, OwnPtr<HashSet<SVGElement*> > > m_elementDependencies;
96 OwnPtr<SVGResourcesCache> m_resourcesCache; 101 OwnPtr<SVGResourcesCache> m_resourcesCache;
97 HashSet<SVGSVGElement*> m_relativeLengthSVGRoots; // Root SVG elements with relative length descendants. 102 HashSet<SVGSVGElement*> m_relativeLengthSVGRoots; // Root SVG elements with relative length descendants.
98 #if !ASSERT_DISABLED 103 #if !ASSERT_DISABLED
99 bool m_inRelativeLengthSVGRootsInvalidation; 104 bool m_inRelativeLengthSVGRootsInvalidation;
100 #endif 105 #endif
(...skipping 16 matching lines...) Expand all
117 void markPendingResourcesForRemoval(const AtomicString&); 122 void markPendingResourcesForRemoval(const AtomicString&);
118 Element* removeElementFromPendingResourcesForRemoval(const AtomicString&); 123 Element* removeElementFromPendingResourcesForRemoval(const AtomicString&);
119 124
120 private: 125 private:
121 PassOwnPtr<SVGPendingElements> removePendingResourceForRemoval(const AtomicS tring&); 126 PassOwnPtr<SVGPendingElements> removePendingResourceForRemoval(const AtomicS tring&);
122 }; 127 };
123 128
124 } 129 }
125 130
126 #endif 131 #endif
OLDNEW
« no previous file with comments | « Source/core/dom/Document.cpp ('k') | Source/core/svg/SVGDocumentExtensions.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698