void JSMessageChannel::visitAdditionalChildren(JSC::SlotVisitor& visitor) { if (MessagePort* port = impl().port1()) visitor.addOpaqueRoot(port); if (MessagePort* port = impl().port2()) visitor.addOpaqueRoot(port); }
void JSSVGElementInstance::visitChildren(JSC::JSCell* cell, JSC::SlotVisitor& visitor) { JSSVGElementInstance* thisObject = static_cast<JSSVGElementInstance*>(cell); ASSERT_GC_OBJECT_INHERITS(thisObject, &s_info); COMPILE_ASSERT(StructureFlags & JSC::OverridesVisitChildren, OverridesVisitChildrenWithoutSettingFlag); ASSERT(thisObject->structure()->typeInfo().overridesVisitChildren()); Base::visitChildren(thisObject, visitor); visitor.addOpaqueRoot(root(thisObject->impl()->correspondingElement())); }
void JSSVGElementInstance::visitChildren(JSC::JSCell* cell, JSC::SlotVisitor& visitor) { JSSVGElementInstance* thisObject = JSC::jsCast<JSSVGElementInstance*>(cell); ASSERT_GC_OBJECT_INHERITS(thisObject, info()); COMPILE_ASSERT(StructureFlags & JSC::OverridesVisitChildren, OverridesVisitChildrenWithoutSettingFlag); ASSERT(thisObject->structure()->typeInfo().overridesVisitChildren()); // Skip JSEventTarget::visitChildren because event listener registration is // forwarded to the corresponding element. JSEventTarget::Base::visitChildren(thisObject, visitor); visitor.addOpaqueRoot(root(thisObject->impl().correspondingElement())); }
void JSCryptoKeyPair::visitAdditionalChildren(JSC::SlotVisitor& visitor) { visitor.addOpaqueRoot(impl().publicKey()); visitor.addOpaqueRoot(impl().privateKey()); }
void JSTreeWalker::visitAdditionalChildren(JSC::SlotVisitor& visitor) { if (NodeFilter* filter = impl().filter()) visitor.addOpaqueRoot(filter); }
void JSSVGElementInstance::visitAdditionalChildren(JSC::SlotVisitor& visitor) { visitor.addOpaqueRoot(root(impl().correspondingElement())); }
void JSStyleSheet::visitAdditionalChildren(JSC::SlotVisitor& visitor) { visitor.addOpaqueRoot(root(&impl())); }
void JSHTMLTemplateElement::visitAdditionalChildren(JSC::SlotVisitor& visitor) { if (auto* content = wrapped().contentIfAvailable()) visitor.addOpaqueRoot(root(content)); }