static v8::Handle<v8::FunctionTemplate> domTemplate(v8::Isolate*);
static TestNode* toImpl(v8::Handle<v8::Object> object)
{
- return toImpl(blink::toScriptWrappableBase(object));
+ return blink::toScriptWrappableBase(object)->toImpl<TestNode>();
}
static TestNode* toImplWithTypeCheck(v8::Isolate*, v8::Handle<v8::Value>);
static const WrapperTypeInfo wrapperTypeInfo;
- static void refObject(ScriptWrappableBase* internalPointer);
- static void derefObject(ScriptWrappableBase* internalPointer);
- static WrapperPersistentNode* createPersistentHandle(ScriptWrappableBase* internalPointer);
+ static void refObject(ScriptWrappableBase*);
+ static void derefObject(ScriptWrappableBase*);
+ static void trace(Visitor* visitor, ScriptWrappableBase* scriptWrappableBase)
+ {
+#if ENABLE(OILPAN)
+ visitor->trace(scriptWrappableBase->toImpl<TestNode>());
+#endif
+ }
static EventTarget* toEventTarget(v8::Handle<v8::Object>);
static void constructorCallback(const v8::FunctionCallbackInfo<v8::Value>&);
-#if ENABLE(OILPAN)
- static const int persistentHandleIndex = v8DefaultWrapperInternalFieldCount + 0;
- static const int internalFieldCount = v8DefaultWrapperInternalFieldCount + 0 + 1;
-#else
static const int internalFieldCount = v8DefaultWrapperInternalFieldCount + 0;
-#endif
static inline ScriptWrappableBase* toScriptWrappableBase(TestNode* impl)
{
return impl->toScriptWrappableBase();
}
-
- static inline TestNode* toImpl(ScriptWrappableBase* internalPointer)
- {
- return internalPointer->toImpl<TestNode>();
- }
static void installConditionallyEnabledProperties(v8::Handle<v8::Object>, v8::Isolate*) { }
static void installConditionallyEnabledMethods(v8::Handle<v8::Object>, v8::Isolate*) { }
-
-private:
};
-inline v8::Handle<v8::Object> wrap(TestNode* impl, v8::Handle<v8::Object> creationContext, v8::Isolate* isolate)
-{
- return impl->wrap(creationContext, isolate);
-}
-
-inline v8::Handle<v8::Value> toV8(TestNode* impl, v8::Handle<v8::Object> creationContext, v8::Isolate* isolate)
-{
- if (UNLIKELY(!impl))
- return v8::Null(isolate);
- v8::Handle<v8::Value> wrapper = DOMDataStore::getWrapper<V8TestNode>(impl, isolate);
- if (!wrapper.IsEmpty())
- return wrapper;
-
- return impl->wrap(creationContext, isolate);
-}
-
-template<typename CallbackInfo>
-inline void v8SetReturnValue(const CallbackInfo& callbackInfo, TestNode* impl)
-{
- if (UNLIKELY(!impl)) {
- v8SetReturnValueNull(callbackInfo);
- return;
- }
- if (DOMDataStore::setReturnValueFromWrapper<V8TestNode>(callbackInfo.GetReturnValue(), impl))
- return;
- v8::Handle<v8::Object> wrapper = wrap(impl, callbackInfo.Holder(), callbackInfo.GetIsolate());
- v8SetReturnValue(callbackInfo, wrapper);
-}
-
-template<typename CallbackInfo>
-inline void v8SetReturnValueForMainWorld(const CallbackInfo& callbackInfo, TestNode* impl)
-{
- ASSERT(DOMWrapperWorld::current(callbackInfo.GetIsolate()).isMainWorld());
- if (UNLIKELY(!impl)) {
- v8SetReturnValueNull(callbackInfo);
- return;
- }
- if (DOMDataStore::setReturnValueFromWrapperForMainWorld<V8TestNode>(callbackInfo.GetReturnValue(), impl))
- return;
- v8::Handle<v8::Value> wrapper = wrap(impl, callbackInfo.Holder(), callbackInfo.GetIsolate());
- v8SetReturnValue(callbackInfo, wrapper);
-}
-
-template<class CallbackInfo, class Wrappable>
-inline void v8SetReturnValueFast(const CallbackInfo& callbackInfo, TestNode* impl, Wrappable* wrappable)
-{
- if (UNLIKELY(!impl)) {
- v8SetReturnValueNull(callbackInfo);
- return;
- }
- if (DOMDataStore::setReturnValueFromWrapperFast<V8TestNode>(callbackInfo.GetReturnValue(), impl, callbackInfo.Holder(), wrappable))
- return;
- v8::Handle<v8::Object> wrapper = wrap(impl, callbackInfo.Holder(), callbackInfo.GetIsolate());
- v8SetReturnValue(callbackInfo, wrapper);
-}
-
-inline v8::Handle<v8::Value> toV8(PassRefPtrWillBeRawPtr<TestNode> impl, v8::Handle<v8::Object> creationContext, v8::Isolate* isolate)
-{
- return toV8(impl.get(), creationContext, isolate);
-}
-
-template<class CallbackInfo>
-inline void v8SetReturnValue(const CallbackInfo& callbackInfo, PassRefPtrWillBeRawPtr<TestNode> impl)
-{
- v8SetReturnValue(callbackInfo, impl.get());
-}
-
-template<class CallbackInfo>
-inline void v8SetReturnValueForMainWorld(const CallbackInfo& callbackInfo, PassRefPtrWillBeRawPtr<TestNode> impl)
-{
- v8SetReturnValueForMainWorld(callbackInfo, impl.get());
-}
-
-template<class CallbackInfo, class Wrappable>
-inline void v8SetReturnValueFast(const CallbackInfo& callbackInfo, PassRefPtrWillBeRawPtr<TestNode> impl, Wrappable* wrappable)
-{
- v8SetReturnValueFast(callbackInfo, impl.get(), wrappable);
-}
-
} // namespace blink
+
#endif // V8TestNode_h