Commit bb63b789 authored by kouhei@chromium.org's avatar kouhei@chromium.org

Prepare SVGElement references in Document for oilpan

BUG=357163

Review URL: https://codereview.chromium.org/333413006

git-svn-id: svn://svn.chromium.org/blink/trunk@176267 bbb929c8-8fbe-4397-9dbb-9b2b20218538
parent d7926e79
...@@ -2099,8 +2099,8 @@ bool Document::dirtyElementsForLayerUpdate() ...@@ -2099,8 +2099,8 @@ bool Document::dirtyElementsForLayerUpdate()
{ {
if (m_layerUpdateSVGFilterElements.isEmpty()) if (m_layerUpdateSVGFilterElements.isEmpty())
return false; return false;
HashSet<Element*>::iterator end = m_layerUpdateSVGFilterElements.end();
for (HashSet<Element*>::iterator it = m_layerUpdateSVGFilterElements.begin(); it != end; ++it) for (WillBeHeapHashSet<RawPtrWillBeMember<Element> >::iterator it = m_layerUpdateSVGFilterElements.begin(), end = m_layerUpdateSVGFilterElements.end(); it != end; ++it)
(*it)->setNeedsStyleRecalc(LocalStyleChange); (*it)->setNeedsStyleRecalc(LocalStyleChange);
m_layerUpdateSVGFilterElements.clear(); m_layerUpdateSVGFilterElements.clear();
return true; return true;
...@@ -2139,12 +2139,11 @@ void Document::updateUseShadowTreesIfNeeded() ...@@ -2139,12 +2139,11 @@ void Document::updateUseShadowTreesIfNeeded()
if (m_useElementsNeedingUpdate.isEmpty()) if (m_useElementsNeedingUpdate.isEmpty())
return; return;
Vector<SVGUseElement*> elements; WillBeHeapVector<RawPtrWillBeMember<SVGUseElement> > elements;
copyToVector(m_useElementsNeedingUpdate, elements); copyToVector(m_useElementsNeedingUpdate, elements);
m_useElementsNeedingUpdate.clear(); m_useElementsNeedingUpdate.clear();
Vector<SVGUseElement*>::iterator end = elements.end(); for (WillBeHeapVector<RawPtrWillBeMember<SVGUseElement> >::iterator it = elements.begin(), end = elements.end(); it != end; ++it)
for (Vector<SVGUseElement*>::iterator it = elements.begin(); it != end; ++it)
(*it)->buildPendingResource(); (*it)->buildPendingResource();
} }
...@@ -5839,6 +5838,8 @@ void Document::trace(Visitor* visitor) ...@@ -5839,6 +5838,8 @@ void Document::trace(Visitor* visitor)
visitor->trace(m_mediaQueryMatcher); visitor->trace(m_mediaQueryMatcher);
visitor->trace(m_registrationContext); visitor->trace(m_registrationContext);
visitor->trace(m_associatedFormControls); visitor->trace(m_associatedFormControls);
visitor->trace(m_useElementsNeedingUpdate);
visitor->trace(m_layerUpdateSVGFilterElements);
visitor->trace(m_templateDocument); visitor->trace(m_templateDocument);
visitor->trace(m_templateDocumentHost); visitor->trace(m_templateDocumentHost);
visitor->trace(m_visibilityObservers); visitor->trace(m_visibilityObservers);
......
...@@ -1413,8 +1413,8 @@ private: ...@@ -1413,8 +1413,8 @@ private:
Timer<Document> m_didAssociateFormControlsTimer; Timer<Document> m_didAssociateFormControlsTimer;
WillBeHeapHashSet<RefPtrWillBeMember<Element> > m_associatedFormControls; WillBeHeapHashSet<RefPtrWillBeMember<Element> > m_associatedFormControls;
HashSet<SVGUseElement*> m_useElementsNeedingUpdate; WillBeHeapHashSet<RawPtrWillBeMember<SVGUseElement> > m_useElementsNeedingUpdate;
HashSet<Element*> m_layerUpdateSVGFilterElements; WillBeHeapHashSet<RawPtrWillBeMember<Element> > m_layerUpdateSVGFilterElements;
bool m_hasViewportUnits; bool m_hasViewportUnits;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment