@@ -58,16 +58,16 @@ CustomElementRegistry::~CustomElementRegistry() = default;
58
58
59
59
Document* CustomElementRegistry::document () const
60
60
{
61
- return m_window. document ();
61
+ return m_window ? m_window-> document () : nullptr ;
62
62
}
63
63
64
64
// https://dom.spec.whatwg.org/#concept-shadow-including-tree-order
65
65
static void enqueueUpgradeInShadowIncludingTreeOrder (ContainerNode& node, JSCustomElementInterface& elementInterface)
66
66
{
67
- for (Element* element = ElementTraversal::firstWithin (node); element; element = ElementTraversal::next (*element)) {
67
+ for (RefPtr element = ElementTraversal::firstWithin (node); element; element = ElementTraversal::next (*element)) {
68
68
if (element->isCustomElementUpgradeCandidate () && element->tagQName ().matches (elementInterface.name ()))
69
69
element->enqueueToUpgrade (elementInterface);
70
- if (auto * shadowRoot = element->shadowRoot ()) {
70
+ if (RefPtr shadowRoot = element->shadowRoot ()) {
71
71
if (shadowRoot->mode () != ShadowRootMode::UserAgent)
72
72
enqueueUpgradeInShadowIncludingTreeOrder (*shadowRoot, elementInterface);
73
73
}
@@ -89,7 +89,7 @@ RefPtr<DeferredPromise> CustomElementRegistry::addElementDefinition(Ref<JSCustom
89
89
if (elementInterface->isShadowDisabled ())
90
90
m_disabledShadowSet.add (localName);
91
91
92
- if (auto * document = m_window. document ()) {
92
+ if (RefPtr document = this -> document ()) {
93
93
// ungap/@custom-elements detection for quirk (rdar://problem/111008826).
94
94
if (localName == extendsLi.get ())
95
95
document->quirks ().setNeedsConfigurableIndexedPropertiesQuirk ();
@@ -116,7 +116,7 @@ JSCustomElementInterface* CustomElementRegistry::findInterface(const AtomString&
116
116
return m_nameMap.get (name);
117
117
}
118
118
119
- JSCustomElementInterface* CustomElementRegistry::findInterface (const JSC::JSObject* constructor) const
119
+ RefPtr< JSCustomElementInterface> CustomElementRegistry::findInterface (const JSC::JSObject* constructor) const
120
120
{
121
121
Locker locker { m_constructorMapLock };
122
122
return m_constructorMap.get (constructor);
@@ -130,7 +130,7 @@ bool CustomElementRegistry::containsConstructor(const JSC::JSObject* constructor
130
130
131
131
JSC::JSValue CustomElementRegistry::get (const AtomString& name)
132
132
{
133
- if (auto * elementInterface = m_nameMap.get (name))
133
+ if (RefPtr elementInterface = m_nameMap.get (name))
134
134
return elementInterface->constructor ();
135
135
return JSC::jsUndefined ();
136
136
}
@@ -140,18 +140,18 @@ String CustomElementRegistry::getName(JSC::JSValue constructorValue)
140
140
auto * constructor = constructorValue.getObject ();
141
141
if (!constructor)
142
142
return String { };
143
- auto * elementInterface = findInterface (constructor);
143
+ RefPtr elementInterface = findInterface (constructor);
144
144
if (!elementInterface)
145
145
return String { };
146
146
return elementInterface->name ().localName ();
147
147
}
148
148
149
149
static void upgradeElementsInShadowIncludingDescendants (ContainerNode& root)
150
150
{
151
- for (auto & element : descendantsOfType<Element>(root)) {
152
- if (element. isCustomElementUpgradeCandidate ())
151
+ for (Ref element : descendantsOfType<Element>(root)) {
152
+ if (element-> isCustomElementUpgradeCandidate ())
153
153
CustomElementReactionQueue::tryToUpgradeElement (element);
154
- if (auto * shadowRoot = element. shadowRoot ())
154
+ if (RefPtr shadowRoot = element-> shadowRoot ())
155
155
upgradeElementsInShadowIncludingDescendants (*shadowRoot);
156
156
}
157
157
}
0 commit comments