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 |