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())); }