void JSNodeOwner::finalize(JSC::Handle<JSC::Unknown> handle, void* context) { JSNode* jsNode = jsCast<JSNode*>(handle.get().asCell()); DOMWrapperWorld* world = static_cast<DOMWrapperWorld*>(context); uncacheWrapper(world, jsNode->impl(), jsNode); jsNode->releaseImpl(); }
void JSTestEventTargetOwner::finalize(JSC::Handle<JSC::Unknown> handle, void* context) { JSTestEventTarget* jsTestEventTarget = jsCast<JSTestEventTarget*>(handle.get().asCell()); DOMWrapperWorld* world = static_cast<DOMWrapperWorld*>(context); uncacheWrapper(world, jsTestEventTarget->impl(), jsTestEventTarget); jsTestEventTarget->releaseImpl(); }
void JSTestActiveDOMObjectOwner::finalize(JSC::Handle<JSC::Unknown> handle, void* context) { JSTestActiveDOMObject* jsTestActiveDOMObject = jsCast<JSTestActiveDOMObject*>(handle.get().asCell()); DOMWrapperWorld& world = *static_cast<DOMWrapperWorld*>(context); uncacheWrapper(world, &jsTestActiveDOMObject->impl(), jsTestActiveDOMObject); jsTestActiveDOMObject->releaseImpl(); }
void JSMessageChannelOwner::finalize(JSC::Handle<JSC::Unknown> handle, void* context) { JSMessageChannel* jsMessageChannel = jsCast<JSMessageChannel*>(handle.get().asCell()); DOMWrapperWorld& world = *static_cast<DOMWrapperWorld*>(context); uncacheWrapper(world, &jsMessageChannel->impl(), jsMessageChannel); jsMessageChannel->releaseImpl(); }
void JSXPathEvaluatorOwner::finalize(JSC::Handle<JSC::Unknown> handle, void* context) { JSXPathEvaluator* jsXPathEvaluator = jsCast<JSXPathEvaluator*>(handle.get().asCell()); DOMWrapperWorld& world = *static_cast<DOMWrapperWorld*>(context); uncacheWrapper(world, &jsXPathEvaluator->impl(), jsXPathEvaluator); jsXPathEvaluator->releaseImpl(); }
void JSreadonlyOwner::finalize(JSC::Handle<JSC::Unknown> handle, void* context) { JSreadonly* jsreadonly = jsCast<JSreadonly*>(handle.get().asCell()); DOMWrapperWorld& world = *static_cast<DOMWrapperWorld*>(context); uncacheWrapper(world, &jsreadonly->impl(), jsreadonly); jsreadonly->releaseImpl(); }
void JSAudioParamOwner::finalize(JSC::Handle<JSC::Unknown> handle, void* context) { JSAudioParam* jsAudioParam = jsCast<JSAudioParam*>(handle.get().asCell()); DOMWrapperWorld& world = *static_cast<DOMWrapperWorld*>(context); uncacheWrapper(world, &jsAudioParam->impl(), jsAudioParam); jsAudioParam->releaseImpl(); }
void JSWebGLActiveInfoOwner::finalize(JSC::Handle<JSC::Unknown> handle, void* context) { JSWebGLActiveInfo* jsWebGLActiveInfo = jsCast<JSWebGLActiveInfo*>(handle.get().asCell()); DOMWrapperWorld& world = *static_cast<DOMWrapperWorld*>(context); uncacheWrapper(world, &jsWebGLActiveInfo->impl(), jsWebGLActiveInfo); jsWebGLActiveInfo->releaseImpl(); }
void JSSpeechSynthesisVoiceOwner::finalize(JSC::Handle<JSC::Unknown> handle, void* context) { JSSpeechSynthesisVoice* jsSpeechSynthesisVoice = jsCast<JSSpeechSynthesisVoice*>(handle.get().asCell()); DOMWrapperWorld& world = *static_cast<DOMWrapperWorld*>(context); uncacheWrapper(world, &jsSpeechSynthesisVoice->impl(), jsSpeechSynthesisVoice); jsSpeechSynthesisVoice->releaseImpl(); }
void JSSVGStringListOwner::finalize(JSC::Handle<JSC::Unknown> handle, void* context) { JSSVGStringList* jsSVGStringList = jsCast<JSSVGStringList*>(handle.get().asCell()); DOMWrapperWorld& world = *static_cast<DOMWrapperWorld*>(context); uncacheWrapper(world, &jsSVGStringList->impl(), jsSVGStringList); jsSVGStringList->releaseImpl(); }
void JSBarPropOwner::finalize(JSC::Handle<JSC::Unknown> handle, void* context) { JSBarProp* jsBarProp = jsCast<JSBarProp*>(handle.get().asCell()); DOMWrapperWorld& world = *static_cast<DOMWrapperWorld*>(context); uncacheWrapper(world, &jsBarProp->impl(), jsBarProp); jsBarProp->releaseImpl(); }
void JSRTCIceCandidateOwner::finalize(JSC::Handle<JSC::Unknown> handle, void* context) { JSRTCIceCandidate* jsRTCIceCandidate = jsCast<JSRTCIceCandidate*>(handle.get().asCell()); DOMWrapperWorld& world = *static_cast<DOMWrapperWorld*>(context); uncacheWrapper(world, &jsRTCIceCandidate->impl(), jsRTCIceCandidate); jsRTCIceCandidate->releaseImpl(); }
void JSTestNamedConstructorOwner::finalize(JSC::Handle<JSC::Unknown> handle, void* context) { JSTestNamedConstructor* jsTestNamedConstructor = jsCast<JSTestNamedConstructor*>(handle.get().asCell()); DOMWrapperWorld* world = static_cast<DOMWrapperWorld*>(context); uncacheWrapper(world, jsTestNamedConstructor->impl(), jsTestNamedConstructor); jsTestNamedConstructor->releaseImpl(); }
void JSDOMSelectionOwner::finalize(JSC::Handle<JSC::Unknown> handle, void* context) { JSDOMSelection* jsDOMSelection = jsCast<JSDOMSelection*>(handle.get().asCell()); DOMWrapperWorld& world = *static_cast<DOMWrapperWorld*>(context); uncacheWrapper(world, &jsDOMSelection->impl(), jsDOMSelection); jsDOMSelection->releaseImpl(); }
void JSTextMetricsOwner::finalize(JSC::Handle<JSC::Unknown> handle, void* context) { JSTextMetrics* jsTextMetrics = jsCast<JSTextMetrics*>(handle.get().asCell()); DOMWrapperWorld& world = *static_cast<DOMWrapperWorld*>(context); uncacheWrapper(world, &jsTextMetrics->impl(), jsTextMetrics); jsTextMetrics->releaseImpl(); }
void JSStringOwner::finalize(JSC::Handle<JSC::Unknown> handle, void* context) { JSString* jsString = static_cast<JSString*>(handle.get().asCell()); StringImpl* stringImpl = static_cast<StringImpl*>(context); ASSERT_UNUSED(jsString, m_world->m_stringCache.find(stringImpl)->second.get() == jsString); m_world->m_stringCache.remove(stringImpl); }
bool JSWorkerNavigatorOwner::isReachableFromOpaqueRoots(JSC::Handle<JSC::Unknown> handle, void*, SlotVisitor& visitor) { JSWorkerNavigator* jsWorkerNavigator = static_cast<JSWorkerNavigator*>(handle.get().asCell()); if (!isObservable(jsWorkerNavigator)) return false; WorkerNavigator* root = jsWorkerNavigator->impl(); return visitor.containsOpaqueRoot(root); }
bool JSWebGLLoseContextOwner::isReachableFromOpaqueRoots(JSC::Handle<JSC::Unknown> handle, void*, SlotVisitor& visitor) { JSWebGLLoseContext* jsWebGLLoseContext = jsCast<JSWebGLLoseContext*>(handle.get().asCell()); if (!isObservable(jsWebGLLoseContext)) return false; WebGLRenderingContext* root = jsWebGLLoseContext->impl().context(); return visitor.containsOpaqueRoot(root); }
bool JSCSSRuleOwner::isReachableFromOpaqueRoots(JSC::Handle<JSC::Unknown> handle, void*, SlotVisitor& visitor) { JSCSSRule* jsCSSRule = jsCast<JSCSSRule*>(handle.get().asCell()); if (!isObservable(jsCSSRule)) return false; void* root = WebCore::root(&jsCSSRule->impl()); return visitor.containsOpaqueRoot(root); }
bool JSHTMLCollectionOwner::isReachableFromOpaqueRoots(JSC::Handle<JSC::Unknown> handle, void*, SlotVisitor& visitor) { JSHTMLCollection* jsHTMLCollection = static_cast<JSHTMLCollection*>(handle.get().asCell()); if (!isObservable(jsHTMLCollection)) return false; void* root = WebCore::root(jsHTMLCollection->impl()->base()); return visitor.containsOpaqueRoot(root); }
bool JSTestEventConstructorOwner::isReachableFromOpaqueRoots(JSC::Handle<JSC::Unknown> handle, void*, SlotVisitor& visitor) { JSTestEventConstructor* jsTestEventConstructor = jsCast<JSTestEventConstructor*>(handle.get().asCell()); if (!isObservable(jsTestEventConstructor)) return false; UNUSED_PARAM(visitor); return false; }
bool JSWorkerLocationOwner::isReachableFromOpaqueRoots(JSC::Handle<JSC::Unknown> handle, void*, SlotVisitor& visitor) { JSWorkerLocation* jsWorkerLocation = jsCast<JSWorkerLocation*>(handle.get().asCell()); if (!isObservable(jsWorkerLocation)) return false; WorkerLocation* root = &jsWorkerLocation->impl(); return visitor.containsOpaqueRoot(root); }
bool JSTestNamedConstructorOwner::isReachableFromOpaqueRoots(JSC::Handle<JSC::Unknown> handle, void*, SlotVisitor& visitor) { JSTestNamedConstructor* jsTestNamedConstructor = jsCast<JSTestNamedConstructor*>(handle.get().asCell()); if (jsTestNamedConstructor->impl().hasPendingActivity()) return true; UNUSED_PARAM(visitor); return false; }
bool JSTestActiveDOMObjectOwner::isReachableFromOpaqueRoots(JSC::Handle<JSC::Unknown> handle, void*, SlotVisitor& visitor) { JSTestActiveDOMObject* jsTestActiveDOMObject = jsCast<JSTestActiveDOMObject*>(handle.get().asCell()); if (!isObservable(jsTestActiveDOMObject)) return false; UNUSED_PARAM(visitor); return false; }
void JSCSSValueOwner::finalize(JSC::Handle<JSC::Unknown> handle, void* context) { JSCSSValue* jsCSSValue = jsCast<JSCSSValue*>(handle.get().asCell()); DOMWrapperWorld* world = static_cast<DOMWrapperWorld*>(context); world->m_cssValueRoots.remove(jsCSSValue->impl()); uncacheWrapper(world, jsCSSValue->impl(), jsCSSValue); jsCSSValue->releaseImpl(); }
bool JSTestEventTargetOwner::isReachableFromOpaqueRoots(JSC::Handle<JSC::Unknown> handle, void*, SlotVisitor& visitor) { JSTestEventTarget* jsTestEventTarget = static_cast<JSTestEventTarget*>(handle.get().asCell()); if (!isObservable(jsTestEventTarget)) return false; UNUSED_PARAM(visitor); return false; }
bool JSTestEventTargetOwner::isReachableFromOpaqueRoots(JSC::Handle<JSC::Unknown> handle, void*, SlotVisitor& visitor) { JSTestEventTarget* jsTestEventTarget = jsCast<JSTestEventTarget*>(handle.get().asCell()); if (jsTestEventTarget->impl().isFiringEventListeners()) return true; UNUSED_PARAM(visitor); return false; }
bool JSMediaListOwner::isReachableFromOpaqueRoots(JSC::Handle<JSC::Unknown> handle, void*, SlotVisitor& visitor) { JSMediaList* jsMediaList = static_cast<JSMediaList*>(handle.get().asCell()); if (!isObservable(jsMediaList)) return false; void* root = WebCore::root(jsMediaList->impl()); return visitor.containsOpaqueRoot(root); }
void RootObject::finalize(JSC::Handle<JSC::Unknown> handle, void*) { RuntimeObject* object = static_cast<RuntimeObject*>(handle.get().asCell()); Ref<RootObject> protect(*this); object->invalidate(); weakRemove(m_runtimeObjects, object, object); }
void RootObject::finalize(JSC::Handle<JSC::Unknown> handle, void*) { RuntimeObject* object = static_cast<RuntimeObject*>(asObject(handle.get())); ASSERT(m_runtimeObjects.contains(object)); object->invalidate(); m_runtimeObjects.remove(object); }