示例#1
0
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();
}
示例#2
0
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();
}
示例#6
0
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();
}
示例#7
0
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();
}
示例#9
0
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();
}
示例#10
0
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();
}
示例#11
0
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();
}
示例#12
0
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();
}
示例#13
0
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();
}
示例#14
0
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();
}
示例#15
0
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();
}
示例#16
0
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);
}
示例#17
0
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);
}
示例#19
0
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);
}
示例#21
0
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;
}
示例#22
0
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);
}
示例#23
0
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;
}
示例#24
0
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;
}
示例#25
0
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();
}
示例#26
0
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;
}
示例#27
0
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;
}
示例#28
0
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);
}
示例#29
0
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);
}
示例#30
0
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);
}