void V8AbstractEventListener::secondWeakCallback(const v8::WeakCallbackInfo<V8AbstractEventListener>& data)
{
    if (data.GetParameter()->m_workerGlobalScope) {
        data.GetParameter()->m_workerGlobalScope->deregisterEventListener(data.GetParameter());
    } else {
#if ENABLE(OILPAN)
        data.GetParameter()->m_keepAlive.clear();
#else
        data.GetParameter()->deref();
#endif
    }
}
예제 #2
0
 static void onCollected(const v8::WeakCallbackInfo<ReadableStreamDataConsumerHandle::ReadingContext>& data)
 {
     data.GetParameter()->onCollected();
 }
void V8AbstractEventListener::setWeakCallback(const v8::WeakCallbackInfo<V8AbstractEventListener>& data)
{
    data.GetParameter()->m_listener.clear();
    data.SetSecondPassCallback(secondWeakCallback);
}
예제 #4
0
 static void didCollectException(const v8::WeakCallbackInfo<Message>& data) {
   data.GetParameter()->m_exception.clear();
 }
예제 #5
0
void DOMWrapperWorld::weakCallbackForDOMObjectHolder(const v8::WeakCallbackInfo<DOMObjectHolderBase>& data)
{
    DOMObjectHolderBase* holderBase = data.GetParameter();
    holderBase->world()->unregisterDOMObjectHolder(holderBase);
}
static void weakCallback(const v8::WeakCallbackInfo<ScopedPersistent<T>>& data)
{
    data.GetParameter()->clear();
}
예제 #7
0
 static void didCollectPromise(const v8::WeakCallbackInfo<Message>& data) {
   data.GetParameter()->m_collected = true;
   data.GetParameter()->m_promise.clear();
 }
예제 #8
0
void FreeObject(const v8::WeakCallbackInfo<CJS_Object>& data) {
  CJS_Object* pJSObj = data.GetParameter();
  delete pJSObj;
  CFXJS_Engine::FreeObjectPrivate(data.GetInternalField(0));
}
예제 #9
0
void DisposeObject(const v8::WeakCallbackInfo<CJS_Object>& data) {
  CJS_Object* pJSObj = data.GetParameter();
  pJSObj->Dispose();
  data.SetSecondPassCallback(FreeObject);
}
예제 #10
0
static void weakCallback(const v8::WeakCallbackInfo<ScriptState>& data) {
  data.GetParameter()->clearContext();
  data.SetSecondPassCallback(derefCallback);
}
static void clearHandle(const v8::WeakCallbackInfo<ScopedPersistent<v8::Object>>& data)
{
    data.GetParameter()->clear();
}
예제 #12
0
static void derefCallback(const v8::WeakCallbackInfo<ScriptState>& data) {
  data.GetParameter()->deref();
}
예제 #13
0
void V8AbstractEventListener::wrapperCleared(
    const v8::WeakCallbackInfo<V8AbstractEventListener>& data) {
    data.GetParameter()->clearListenerObject();
}
예제 #14
0
void FreeObject(const v8::WeakCallbackInfo<CJS_Object>& data) {
  CJS_Object* pJSObj = data.GetParameter();
  pJSObj->ExitInstance();
  delete pJSObj;
  FXJS_FreePrivate(data.GetInternalField(0));
}
예제 #15
0
/**
 * Callback for V8 letting us know the JS object is no longer reachable.
 * Once we receive this callback we can shift from a strong to a weak Java reference
 * on the wrapped Java object so it can become eligible for GC.
 */
static void DetachCallback(const v8::WeakCallbackInfo<JavaObject>& data)
{
	JavaObject* javaObject = data.GetParameter();
	javaObject->detach();
}
예제 #16
0
void V8AbstractEventListener::setWeakCallback(const v8::WeakCallbackInfo<V8AbstractEventListener> &data)
{
    data.GetParameter()->m_listener.clear();
    data.GetParameter()->m_scriptStateForListener.clear();
}