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

Unified Diff: Source/core/dom/custom/CustomElementRegistrationContext.cpp

Issue 296703009: Oilpan: move custom element objects to the heap. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Created 6 years, 7 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 side-by-side diff with in-line comments
Download patch
Index: Source/core/dom/custom/CustomElementRegistrationContext.cpp
diff --git a/Source/core/dom/custom/CustomElementRegistrationContext.cpp b/Source/core/dom/custom/CustomElementRegistrationContext.cpp
index 678895007f962e9457652206e89b5fc6516491e9..dc888e5729dd6d8f7266ec991086c7dfda389e4c 100644
--- a/Source/core/dom/custom/CustomElementRegistrationContext.cpp
+++ b/Source/core/dom/custom/CustomElementRegistrationContext.cpp
@@ -53,7 +53,7 @@ void CustomElementRegistrationContext::registerElement(Document* document, Custo
return;
// Upgrade elements that were waiting for this definition.
- const CustomElementUpgradeCandidateMap::ElementSet& upgradeCandidates = m_candidates.takeUpgradeCandidatesFor(definition->descriptor());
+ const CustomElementUpgradeCandidateMap::ElementSet& upgradeCandidates = m_candidates->takeUpgradeCandidatesFor(definition->descriptor());
for (CustomElementUpgradeCandidateMap::ElementSet::const_iterator it = upgradeCandidates.begin(); it != upgradeCandidates.end(); ++it)
CustomElement::define(*it, definition);
}
@@ -105,13 +105,15 @@ void CustomElementRegistrationContext::resolve(Element* element, const CustomEle
CustomElement::define(element, definition);
} else {
ASSERT(element->customElementState() == Element::WaitingForUpgrade);
- m_candidates.add(descriptor, element);
+ m_candidates->add(descriptor, element);
}
}
-PassRefPtr<CustomElementRegistrationContext> CustomElementRegistrationContext::create()
+PassRefPtrWillBeRawPtr<CustomElementRegistrationContext> CustomElementRegistrationContext::create()
{
- return adoptRef(new CustomElementRegistrationContext());
+ RefPtrWillBeRawPtr<CustomElementRegistrationContext> context = adoptRefWillBeNoop(new CustomElementRegistrationContext());
+ context->m_candidates = CustomElementUpgradeCandidateMap::create();
haraken 2014/05/22 08:24:10 We normally do this kind of initialization in the
sof 2014/05/25 16:30:01 Thanks, shifted over.
+ return context.release();
}
void CustomElementRegistrationContext::setIsAttributeAndTypeExtension(Element* element, const AtomicString& type)
@@ -150,4 +152,9 @@ void CustomElementRegistrationContext::setTypeExtension(Element* element, const
context->didGiveTypeExtension(element, type);
}
+void CustomElementRegistrationContext::trace(Visitor* visitor)
+{
+ visitor->trace(m_candidates);
+}
+
} // namespace WebCore

Powered by Google App Engine
This is Rietveld 408576698