Index: third_party/WebKit/Source/core/svg/SVGDocumentExtensions.cpp |
diff --git a/third_party/WebKit/Source/core/svg/SVGDocumentExtensions.cpp b/third_party/WebKit/Source/core/svg/SVGDocumentExtensions.cpp |
index 2314a2701c3d20c4513e214c710952343f4fbc24..9c656a46483a7fbb922ebb3913d3ed7f79e39149 100644 |
--- a/third_party/WebKit/Source/core/svg/SVGDocumentExtensions.cpp |
+++ b/third_party/WebKit/Source/core/svg/SVGDocumentExtensions.cpp |
@@ -23,11 +23,9 @@ |
#include "core/dom/Document.h" |
#include "core/inspector/ConsoleMessage.h" |
-#include "core/layout/svg/LayoutSVGResourceContainer.h" |
#include "core/svg/SVGSVGElement.h" |
#include "core/svg/animation/SMILTimeContainer.h" |
#include "wtf/AutoReset.h" |
-#include "wtf/text/AtomicString.h" |
namespace blink { |
@@ -52,32 +50,6 @@ void SVGDocumentExtensions::addWebAnimationsPendingSVGElement( |
m_webAnimationsPendingSVGElements.add(&element); |
} |
-void SVGDocumentExtensions::addResource(const AtomicString& id, |
- LayoutSVGResourceContainer* resource) { |
- ASSERT(resource); |
- |
- if (id.isEmpty()) |
- return; |
- |
- // Replaces resource if already present, to handle potential id changes |
- m_resources.set(id, resource); |
-} |
- |
-void SVGDocumentExtensions::removeResource(const AtomicString& id) { |
- if (id.isEmpty()) |
- return; |
- |
- m_resources.remove(id); |
-} |
- |
-LayoutSVGResourceContainer* SVGDocumentExtensions::resourceById( |
- const AtomicString& id) const { |
- if (id.isEmpty()) |
- return nullptr; |
- |
- return m_resources.get(id); |
-} |
- |
void SVGDocumentExtensions::serviceOnAnimationFrame(Document& document) { |
if (!document.svgExtensions()) |
return; |
@@ -147,94 +119,6 @@ void SVGDocumentExtensions::reportError(const String& message) { |
m_document->addConsoleMessage(consoleMessage); |
} |
-void SVGDocumentExtensions::addPendingResource(const AtomicString& id, |
- Element* element) { |
- ASSERT(element); |
- ASSERT(element->isConnected()); |
- |
- if (id.isEmpty()) |
- return; |
- |
- HeapHashMap<AtomicString, Member<SVGPendingElements>>::AddResult result = |
- m_pendingResources.add(id, nullptr); |
- if (result.isNewEntry) |
- result.storedValue->value = new SVGPendingElements; |
- result.storedValue->value->add(element); |
- |
- element->setHasPendingResources(); |
-} |
- |
-bool SVGDocumentExtensions::hasPendingResource(const AtomicString& id) const { |
- if (id.isEmpty()) |
- return false; |
- |
- return m_pendingResources.contains(id); |
-} |
- |
-bool SVGDocumentExtensions::isElementPendingResources(Element* element) const { |
- // This algorithm takes time proportional to the number of pending resources |
- // and need not. If performance becomes an issue we can keep a counted set of |
- // elements and answer the question efficiently. |
- |
- ASSERT(element); |
- |
- for (const auto& entry : m_pendingResources) { |
- SVGPendingElements* elements = entry.value.get(); |
- ASSERT(elements); |
- |
- if (elements->contains(element)) |
- return true; |
- } |
- return false; |
-} |
- |
-bool SVGDocumentExtensions::isElementPendingResource( |
- Element* element, |
- const AtomicString& id) const { |
- ASSERT(element); |
- |
- if (!hasPendingResource(id)) |
- return false; |
- |
- return m_pendingResources.get(id)->contains(element); |
-} |
- |
-void SVGDocumentExtensions::clearHasPendingResourcesIfPossible( |
- Element* element) { |
- if (!isElementPendingResources(element)) |
- element->clearHasPendingResources(); |
-} |
- |
-void SVGDocumentExtensions::removeElementFromPendingResources( |
- Element* element) { |
- DCHECK(element); |
- |
- // Remove the element from pending resources. |
- if (m_pendingResources.isEmpty() || !element->hasPendingResources()) |
- return; |
- |
- Vector<AtomicString> toBeRemoved; |
- for (const auto& entry : m_pendingResources) { |
- SVGPendingElements* elements = entry.value.get(); |
- DCHECK(elements); |
- DCHECK(!elements->isEmpty()); |
- |
- elements->remove(element); |
- if (elements->isEmpty()) |
- toBeRemoved.push_back(entry.key); |
- } |
- |
- clearHasPendingResourcesIfPossible(element); |
- |
- m_pendingResources.removeAll(toBeRemoved); |
-} |
- |
-SVGDocumentExtensions::SVGPendingElements* |
-SVGDocumentExtensions::removePendingResource(const AtomicString& id) { |
- ASSERT(m_pendingResources.contains(id)); |
- return m_pendingResources.take(id); |
-} |
- |
void SVGDocumentExtensions::addSVGRootWithRelativeLengthDescendents( |
SVGSVGElement* svgRoot) { |
ASSERT(!m_inRelativeLengthSVGRootsInvalidation); |
@@ -297,7 +181,6 @@ DEFINE_TRACE(SVGDocumentExtensions) { |
visitor->trace(m_timeContainers); |
visitor->trace(m_webAnimationsPendingSVGElements); |
visitor->trace(m_relativeLengthSVGRoots); |
- visitor->trace(m_pendingResources); |
} |
} // namespace blink |