Commit e687e732 authored by tkent@chromium.org's avatar tkent@chromium.org

Oilpan: Replace RefPtr<Node> in core/svg/ with Oilpan transition types.

BUG=357163

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

git-svn-id: svn://svn.chromium.org/blink/trunk@175529 bbb929c8-8fbe-4397-9dbb-9b2b20218538
parent ffa7b8b7
......@@ -60,6 +60,12 @@ SVGFilterElement::SVGFilterElement(Document& document)
addToPropertyMap(m_filterRes);
}
void SVGFilterElement::trace(Visitor* visitor)
{
visitor->trace(m_clientsToAdd);
SVGElement::trace(visitor);
}
void SVGFilterElement::setFilterRes(unsigned x, unsigned y)
{
filterResX()->baseValue()->setValue(x);
......@@ -147,8 +153,8 @@ RenderObject* SVGFilterElement::createRenderer(RenderStyle*)
{
RenderSVGResourceFilter* renderer = new RenderSVGResourceFilter(this);
HashSet<RefPtr<Node> >::iterator layerEnd = m_clientsToAdd.end();
for (HashSet<RefPtr<Node> >::iterator it = m_clientsToAdd.begin(); it != layerEnd; ++it)
WillBeHeapHashSet<RefPtrWillBeMember<Node> >::iterator layerEnd = m_clientsToAdd.end();
for (WillBeHeapHashSet<RefPtrWillBeMember<Node> >::iterator it = m_clientsToAdd.begin(); it != layerEnd; ++it)
renderer->addClientRenderLayer(it->get());
m_clientsToAdd.clear();
......
......@@ -39,6 +39,7 @@ class SVGFilterElement FINAL : public SVGElement,
public SVGURIReference {
public:
DEFINE_NODE_FACTORY(SVGFilterElement);
virtual void trace(Visitor*) OVERRIDE;
void setFilterRes(unsigned x, unsigned y);
void addClient(Node*);
......@@ -75,7 +76,7 @@ private:
RefPtr<SVGAnimatedEnumeration<SVGUnitTypes::SVGUnitType> > m_primitiveUnits;
RefPtr<SVGAnimatedIntegerOptionalInteger> m_filterRes;
HashSet<RefPtr<Node> > m_clientsToAdd;
WillBeHeapHashSet<RefPtrWillBeMember<Node> > m_clientsToAdd;
};
}
......
......@@ -665,7 +665,7 @@ void SVGUseElement::expandUseElementsInShadowTree(Node* element)
if (subtreeContainsDisallowedElement(cloneParent.get()))
removeDisallowedElementsFromSubtree(*cloneParent);
RefPtr<Node> replacingElement(cloneParent.get());
RefPtrWillBeRawPtr<Node> replacingElement(cloneParent.get());
// Replace <use> with referenced content.
ASSERT(use->parentNode());
......@@ -674,11 +674,11 @@ void SVGUseElement::expandUseElementsInShadowTree(Node* element)
// Expand the siblings because the *element* is replaced and we will
// lose the sibling chain when we are back from recursion.
element = replacingElement.get();
for (RefPtr<Node> sibling = element->nextSibling(); sibling; sibling = sibling->nextSibling())
for (RefPtrWillBeRawPtr<Node> sibling = element->nextSibling(); sibling; sibling = sibling->nextSibling())
expandUseElementsInShadowTree(sibling.get());
}
for (RefPtr<Node> child = element->firstChild(); child; child = child->nextSibling())
for (RefPtrWillBeRawPtr<Node> child = element->firstChild(); child; child = child->nextSibling())
expandUseElementsInShadowTree(child.get());
}
......@@ -710,7 +710,7 @@ void SVGUseElement::expandSymbolElementsInShadowTree(Node* element)
if (subtreeContainsDisallowedElement(svgElement.get()))
removeDisallowedElementsFromSubtree(*svgElement);
RefPtr<Node> replacingElement(svgElement.get());
RefPtrWillBeRawPtr<Node> replacingElement(svgElement.get());
// Replace <symbol> with <svg>.
element->parentNode()->replaceChild(svgElement.release(), element);
......@@ -718,11 +718,11 @@ void SVGUseElement::expandSymbolElementsInShadowTree(Node* element)
// Expand the siblings because the *element* is replaced and we will
// lose the sibling chain when we are back from recursion.
element = replacingElement.get();
for (RefPtr<Node> sibling = element->nextSibling(); sibling; sibling = sibling->nextSibling())
for (RefPtrWillBeRawPtr<Node> sibling = element->nextSibling(); sibling; sibling = sibling->nextSibling())
expandSymbolElementsInShadowTree(sibling.get());
}
for (RefPtr<Node> child = element->firstChild(); child; child = child->nextSibling())
for (RefPtrWillBeRawPtr<Node> child = element->firstChild(); child; child = child->nextSibling())
expandSymbolElementsInShadowTree(child.get());
}
......
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