| OLD | NEW |
| 1 /* | 1 /* |
| 2 This file is part of the Blink open source project. | 2 This file is part of the Blink open source project. |
| 3 This file has been auto-generated by CodeGeneratorV8.pm. DO NOT MODIFY! | 3 This file has been auto-generated by CodeGeneratorV8.pm. DO NOT MODIFY! |
| 4 | 4 |
| 5 This library is free software; you can redistribute it and/or | 5 This library is free software; you can redistribute it and/or |
| 6 modify it under the terms of the GNU Library General Public | 6 modify it under the terms of the GNU Library General Public |
| 7 License as published by the Free Software Foundation; either | 7 License as published by the Free Software Foundation; either |
| 8 version 2 of the License, or (at your option) any later version. | 8 version 2 of the License, or (at your option) any later version. |
| 9 | 9 |
| 10 This library is distributed in the hope that it will be useful, | 10 This library is distributed in the hope that it will be useful, |
| (...skipping 17 matching lines...) Expand all Loading... |
| 28 | 28 |
| 29 namespace WebCore { | 29 namespace WebCore { |
| 30 | 30 |
| 31 class V8TestInterfaceImplementedAs { | 31 class V8TestInterfaceImplementedAs { |
| 32 public: | 32 public: |
| 33 static bool HasInstance(v8::Handle<v8::Value>, v8::Isolate*, WrapperWorldTyp
e); | 33 static bool HasInstance(v8::Handle<v8::Value>, v8::Isolate*, WrapperWorldTyp
e); |
| 34 static bool HasInstanceInAnyWorld(v8::Handle<v8::Value>, v8::Isolate*); | 34 static bool HasInstanceInAnyWorld(v8::Handle<v8::Value>, v8::Isolate*); |
| 35 static v8::Handle<v8::FunctionTemplate> GetTemplate(v8::Isolate*, WrapperWor
ldType); | 35 static v8::Handle<v8::FunctionTemplate> GetTemplate(v8::Isolate*, WrapperWor
ldType); |
| 36 static RealClass* toNative(v8::Handle<v8::Object> object) | 36 static RealClass* toNative(v8::Handle<v8::Object> object) |
| 37 { | 37 { |
| 38 return reinterpret_cast<RealClass*>(object->GetAlignedPointerFromInterna
lField(v8DOMWrapperObjectIndex)); | 38 return fromInternalPointer(object->GetAlignedPointerFromInternalField(v8
DOMWrapperObjectIndex)); |
| 39 } | 39 } |
| 40 static void derefObject(void*); | 40 static void derefObject(void*); |
| 41 static WrapperTypeInfo info; | 41 static WrapperTypeInfo info; |
| 42 static const int internalFieldCount = v8DefaultWrapperInternalFieldCount + 0
; | 42 static const int internalFieldCount = v8DefaultWrapperInternalFieldCount + 0
; |
| 43 static inline void* toInternalPointer(RealClass* impl) |
| 44 { |
| 45 return impl; |
| 46 } |
| 47 |
| 48 static inline RealClass* fromInternalPointer(void* object) |
| 49 { |
| 50 return static_cast<RealClass*>(object); |
| 51 } |
| 43 static void installPerContextProperties(v8::Handle<v8::Object>, RealClass*,
v8::Isolate*) { } | 52 static void installPerContextProperties(v8::Handle<v8::Object>, RealClass*,
v8::Isolate*) { } |
| 44 static void installPerContextPrototypeProperties(v8::Handle<v8::Object>, v8:
:Isolate*) { } | 53 static void installPerContextPrototypeProperties(v8::Handle<v8::Object>, v8:
:Isolate*) { } |
| 45 private: | 54 private: |
| 46 friend v8::Handle<v8::Object> wrap(RealClass*, v8::Handle<v8::Object> creati
onContext, v8::Isolate*); | 55 friend v8::Handle<v8::Object> wrap(RealClass*, v8::Handle<v8::Object> creati
onContext, v8::Isolate*); |
| 47 static v8::Handle<v8::Object> createWrapper(PassRefPtr<RealClass>, v8::Handl
e<v8::Object> creationContext, v8::Isolate*); | 56 static v8::Handle<v8::Object> createWrapper(PassRefPtr<RealClass>, v8::Handl
e<v8::Object> creationContext, v8::Isolate*); |
| 48 }; | 57 }; |
| 49 | 58 |
| 50 template<> | 59 template<> |
| 51 class WrapperTypeTraits<RealClass > { | 60 class WrapperTypeTraits<RealClass > { |
| 52 public: | 61 public: |
| 53 static WrapperTypeInfo* info() { return &V8TestInterfaceImplementedAs::info;
} | 62 static WrapperTypeInfo* info() { return &V8TestInterfaceImplementedAs::info;
} |
| 54 }; | 63 }; |
| 55 | 64 |
| 56 | 65 |
| 57 inline v8::Handle<v8::Object> wrap(RealClass* impl, v8::Handle<v8::Object> creat
ionContext, v8::Isolate* isolate) | 66 inline v8::Handle<v8::Object> wrap(RealClass* impl, v8::Handle<v8::Object> creat
ionContext, v8::Isolate* isolate) |
| 58 { | 67 { |
| 59 ASSERT(impl); | 68 ASSERT(impl); |
| 60 ASSERT(DOMDataStore::getWrapper(impl, isolate).IsEmpty()); | 69 ASSERT(DOMDataStore::getWrapper<V8TestInterfaceImplementedAs>(impl, isolate)
.IsEmpty()); |
| 61 if (ScriptWrappable::wrapperCanBeStoredInObject(impl)) { | 70 if (ScriptWrappable::wrapperCanBeStoredInObject(impl)) { |
| 62 const WrapperTypeInfo* actualInfo = ScriptWrappable::getTypeInfoFromObje
ct(impl); | 71 const WrapperTypeInfo* actualInfo = ScriptWrappable::getTypeInfoFromObje
ct(impl); |
| 63 // Might be a XXXConstructor::info instead of an XXX::info. These will b
oth have | 72 // Might be a XXXConstructor::info instead of an XXX::info. These will b
oth have |
| 64 // the same object de-ref functions, though, so use that as the basis of
the check. | 73 // the same object de-ref functions, though, so use that as the basis of
the check. |
| 65 RELEASE_ASSERT_WITH_SECURITY_IMPLICATION(actualInfo->derefObjectFunction
== V8TestInterfaceImplementedAs::info.derefObjectFunction); | 74 RELEASE_ASSERT_WITH_SECURITY_IMPLICATION(actualInfo->derefObjectFunction
== V8TestInterfaceImplementedAs::info.derefObjectFunction); |
| 66 } | 75 } |
| 67 return V8TestInterfaceImplementedAs::createWrapper(impl, creationContext, is
olate); | 76 return V8TestInterfaceImplementedAs::createWrapper(impl, creationContext, is
olate); |
| 68 } | 77 } |
| 69 | 78 |
| 70 inline v8::Handle<v8::Value> toV8(RealClass* impl, v8::Handle<v8::Object> creati
onContext, v8::Isolate* isolate) | 79 inline v8::Handle<v8::Value> toV8(RealClass* impl, v8::Handle<v8::Object> creati
onContext, v8::Isolate* isolate) |
| 71 { | 80 { |
| 72 if (UNLIKELY(!impl)) | 81 if (UNLIKELY(!impl)) |
| 73 return v8NullWithCheck(isolate); | 82 return v8NullWithCheck(isolate); |
| 74 v8::Handle<v8::Value> wrapper = DOMDataStore::getWrapper(impl, isolate); | 83 v8::Handle<v8::Value> wrapper = DOMDataStore::getWrapper<V8TestInterfaceImpl
ementedAs>(impl, isolate); |
| 75 if (!wrapper.IsEmpty()) | 84 if (!wrapper.IsEmpty()) |
| 76 return wrapper; | 85 return wrapper; |
| 77 return wrap(impl, creationContext, isolate); | 86 return wrap(impl, creationContext, isolate); |
| 78 } | 87 } |
| 79 | 88 |
| 80 inline v8::Handle<v8::Value> toV8ForMainWorld(RealClass* impl, v8::Handle<v8::Ob
ject> creationContext, v8::Isolate* isolate) | 89 inline v8::Handle<v8::Value> toV8ForMainWorld(RealClass* impl, v8::Handle<v8::Ob
ject> creationContext, v8::Isolate* isolate) |
| 81 { | 90 { |
| 82 ASSERT(worldType(isolate) == MainWorld); | 91 ASSERT(worldType(isolate) == MainWorld); |
| 83 if (UNLIKELY(!impl)) | 92 if (UNLIKELY(!impl)) |
| 84 return v8NullWithCheck(isolate); | 93 return v8NullWithCheck(isolate); |
| 85 v8::Handle<v8::Value> wrapper = DOMDataStore::getWrapperForMainWorld(impl); | 94 v8::Handle<v8::Value> wrapper = DOMDataStore::getWrapperForMainWorld<V8TestI
nterfaceImplementedAs>(impl); |
| 86 if (!wrapper.IsEmpty()) | 95 if (!wrapper.IsEmpty()) |
| 87 return wrapper; | 96 return wrapper; |
| 88 return wrap(impl, creationContext, isolate); | 97 return wrap(impl, creationContext, isolate); |
| 89 } | 98 } |
| 90 | 99 |
| 91 template<class HolderContainer, class Wrappable> | 100 template<class HolderContainer, class Wrappable> |
| 92 inline v8::Handle<v8::Value> toV8Fast(RealClass* impl, const HolderContainer& co
ntainer, Wrappable* wrappable) | 101 inline v8::Handle<v8::Value> toV8Fast(RealClass* impl, const HolderContainer& co
ntainer, Wrappable* wrappable) |
| 93 { | 102 { |
| 94 if (UNLIKELY(!impl)) | 103 if (UNLIKELY(!impl)) |
| 95 return v8::Null(container.GetIsolate()); | 104 return v8::Null(container.GetIsolate()); |
| 96 v8::Handle<v8::Object> wrapper = DOMDataStore::getWrapperFast(impl, containe
r, wrappable); | 105 v8::Handle<v8::Object> wrapper = DOMDataStore::getWrapperFast<V8TestInterfac
eImplementedAs>(impl, container, wrappable); |
| 97 if (!wrapper.IsEmpty()) | 106 if (!wrapper.IsEmpty()) |
| 98 return wrapper; | 107 return wrapper; |
| 99 return wrap(impl, container.Holder(), container.GetIsolate()); | 108 return wrap(impl, container.Holder(), container.GetIsolate()); |
| 100 } | 109 } |
| 101 | 110 |
| 102 template<class HolderContainer, class Wrappable> | 111 template<class HolderContainer, class Wrappable> |
| 103 inline v8::Handle<v8::Value> toV8FastForMainWorld(RealClass* impl, const HolderC
ontainer& container, Wrappable* wrappable) | 112 inline v8::Handle<v8::Value> toV8FastForMainWorld(RealClass* impl, const HolderC
ontainer& container, Wrappable* wrappable) |
| 104 { | 113 { |
| 105 ASSERT(worldType(container.GetIsolate()) == MainWorld); | 114 ASSERT(worldType(container.GetIsolate()) == MainWorld); |
| 106 if (UNLIKELY(!impl)) | 115 if (UNLIKELY(!impl)) |
| 107 return v8::Null(container.GetIsolate()); | 116 return v8::Null(container.GetIsolate()); |
| 108 v8::Handle<v8::Object> wrapper = DOMDataStore::getWrapperForMainWorld(impl); | 117 v8::Handle<v8::Object> wrapper = DOMDataStore::getWrapperForMainWorld<V8Test
InterfaceImplementedAs>(impl); |
| 109 if (!wrapper.IsEmpty()) | 118 if (!wrapper.IsEmpty()) |
| 110 return wrapper; | 119 return wrapper; |
| 111 return wrap(impl, container.Holder(), container.GetIsolate()); | 120 return wrap(impl, container.Holder(), container.GetIsolate()); |
| 112 } | 121 } |
| 113 | 122 |
| 114 template<class HolderContainer, class Wrappable> | 123 template<class HolderContainer, class Wrappable> |
| 115 inline v8::Handle<v8::Value> toV8FastForMainWorld(PassRefPtr< RealClass > impl,
const HolderContainer& container, Wrappable* wrappable) | 124 inline v8::Handle<v8::Value> toV8FastForMainWorld(PassRefPtr< RealClass > impl,
const HolderContainer& container, Wrappable* wrappable) |
| 116 { | 125 { |
| 117 return toV8FastForMainWorld(impl.get(), container, wrappable); | 126 return toV8FastForMainWorld(impl.get(), container, wrappable); |
| 118 } | 127 } |
| 119 | 128 |
| 120 | 129 |
| 121 template<class HolderContainer, class Wrappable> | 130 template<class HolderContainer, class Wrappable> |
| 122 inline v8::Handle<v8::Value> toV8Fast(PassRefPtr< RealClass > impl, const Holder
Container& container, Wrappable* wrappable) | 131 inline v8::Handle<v8::Value> toV8Fast(PassRefPtr< RealClass > impl, const Holder
Container& container, Wrappable* wrappable) |
| 123 { | 132 { |
| 124 return toV8Fast(impl.get(), container, wrappable); | 133 return toV8Fast(impl.get(), container, wrappable); |
| 125 } | 134 } |
| 126 | 135 |
| 127 inline v8::Handle<v8::Value> toV8(PassRefPtr< RealClass > impl, v8::Handle<v8::O
bject> creationContext, v8::Isolate* isolate) | 136 inline v8::Handle<v8::Value> toV8(PassRefPtr< RealClass > impl, v8::Handle<v8::O
bject> creationContext, v8::Isolate* isolate) |
| 128 { | 137 { |
| 129 return toV8(impl.get(), creationContext, isolate); | 138 return toV8(impl.get(), creationContext, isolate); |
| 130 } | 139 } |
| 131 | 140 |
| 132 } | 141 } |
| 133 | 142 |
| 134 #endif // V8TestInterfaceImplementedAs_h | 143 #endif // V8TestInterfaceImplementedAs_h |
| OLD | NEW |