OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2013 Google Inc. All rights reserved. | 2 * Copyright (C) 2013 Google Inc. All rights reserved. |
3 * | 3 * |
4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
5 * modification, are permitted provided that the following conditions are | 5 * modification, are permitted provided that the following conditions are |
6 * met: | 6 * met: |
7 * | 7 * |
8 * * Redistributions of source code must retain the above copyright | 8 * * Redistributions of source code must retain the above copyright |
9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
10 * * Redistributions in binary form must reproduce the above | 10 * * Redistributions in binary form must reproduce the above |
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
77 | 77 |
78 namespace WebCore { | 78 namespace WebCore { |
79 const WrapperTypeInfo V8TestInterfacePython::wrapperTypeInfo = { gin::kEmbedderB
link, V8TestInterfacePython::domTemplate, V8TestInterfacePython::derefObject, V8
TestInterfacePython::toActiveDOMObject, 0, V8TestInterfacePython::visitDOMWrappe
r, V8TestInterfacePython::installPerContextEnabledMethods, &V8TestInterfaceEmpty
::wrapperTypeInfo, WrapperTypeObjectPrototype, false }; | 79 const WrapperTypeInfo V8TestInterfacePython::wrapperTypeInfo = { gin::kEmbedderB
link, V8TestInterfacePython::domTemplate, V8TestInterfacePython::derefObject, V8
TestInterfacePython::toActiveDOMObject, 0, V8TestInterfacePython::visitDOMWrappe
r, V8TestInterfacePython::installPerContextEnabledMethods, &V8TestInterfaceEmpty
::wrapperTypeInfo, WrapperTypeObjectPrototype, false }; |
80 | 80 |
81 namespace TestInterfacePythonImplementationV8Internal { | 81 namespace TestInterfacePythonImplementationV8Internal { |
82 | 82 |
83 template <typename T> void V8_USE(T) { } | 83 template <typename T> void V8_USE(T) { } |
84 | 84 |
85 static void testInterfacePythonAttributeAttributeGetter(const v8::PropertyCallba
ckInfo<v8::Value>& info) | 85 static void testInterfacePythonAttributeAttributeGetter(const v8::PropertyCallba
ckInfo<v8::Value>& info) |
86 { | 86 { |
87 TestInterfacePythonImplementation* imp = V8TestInterfacePython::toNative(inf
o.Holder()); | 87 TestInterfacePythonImplementation* impl = V8TestInterfacePython::toNative(in
fo.Holder()); |
88 v8SetReturnValueFast(info, WTF::getPtr(imp->testInterfacePythonAttribute()),
imp); | 88 v8SetReturnValueFast(info, WTF::getPtr(impl->testInterfacePythonAttribute())
, impl); |
89 } | 89 } |
90 | 90 |
91 static void testInterfacePythonAttributeAttributeGetterCallback(v8::Local<v8::St
ring>, const v8::PropertyCallbackInfo<v8::Value>& info) | 91 static void testInterfacePythonAttributeAttributeGetterCallback(v8::Local<v8::St
ring>, const v8::PropertyCallbackInfo<v8::Value>& info) |
92 { | 92 { |
93 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter"); | 93 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter"); |
94 TestInterfacePythonImplementationV8Internal::testInterfacePythonAttributeAtt
ributeGetter(info); | 94 TestInterfacePythonImplementationV8Internal::testInterfacePythonAttributeAtt
ributeGetter(info); |
95 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution"); | 95 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution"); |
96 } | 96 } |
97 | 97 |
98 static void testInterfacePythonAttributeAttributeSetter(v8::Local<v8::Value> jsV
alue, const v8::PropertyCallbackInfo<void>& info) | 98 static void testInterfacePythonAttributeAttributeSetter(v8::Local<v8::Value> jsV
alue, const v8::PropertyCallbackInfo<void>& info) |
99 { | 99 { |
100 ExceptionState exceptionState(ExceptionState::SetterContext, "testInterfaceP
ythonAttribute", "TestInterfacePython", info.Holder(), info.GetIsolate()); | 100 ExceptionState exceptionState(ExceptionState::SetterContext, "testInterfaceP
ythonAttribute", "TestInterfacePython", info.Holder(), info.GetIsolate()); |
101 if (!isUndefinedOrNull(jsValue) && !V8TestInterfacePython::hasInstance(jsVal
ue, info.GetIsolate())) { | 101 if (!isUndefinedOrNull(jsValue) && !V8TestInterfacePython::hasInstance(jsVal
ue, info.GetIsolate())) { |
102 exceptionState.throwTypeError("The provided value is not of type 'TestIn
terfacePython'."); | 102 exceptionState.throwTypeError("The provided value is not of type 'TestIn
terfacePython'."); |
103 exceptionState.throwIfNeeded(); | 103 exceptionState.throwIfNeeded(); |
104 return; | 104 return; |
105 } | 105 } |
106 TestInterfacePythonImplementation* imp = V8TestInterfacePython::toNative(inf
o.Holder()); | 106 TestInterfacePythonImplementation* impl = V8TestInterfacePython::toNative(in
fo.Holder()); |
107 V8TRYCATCH_VOID(TestInterfacePythonImplementation*, cppValue, V8TestInterfac
ePython::toNativeWithTypeCheck(info.GetIsolate(), jsValue)); | 107 V8TRYCATCH_VOID(TestInterfacePythonImplementation*, cppValue, V8TestInterfac
ePython::toNativeWithTypeCheck(info.GetIsolate(), jsValue)); |
108 imp->setTestInterfacePythonAttribute(WTF::getPtr(cppValue)); | 108 impl->setTestInterfacePythonAttribute(WTF::getPtr(cppValue)); |
109 } | 109 } |
110 | 110 |
111 static void testInterfacePythonAttributeAttributeSetterCallback(v8::Local<v8::St
ring>, v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) | 111 static void testInterfacePythonAttributeAttributeSetterCallback(v8::Local<v8::St
ring>, v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) |
112 { | 112 { |
113 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter"); | 113 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter"); |
114 TestInterfacePythonImplementationV8Internal::testInterfacePythonAttributeAtt
ributeSetter(jsValue, info); | 114 TestInterfacePythonImplementationV8Internal::testInterfacePythonAttributeAtt
ributeSetter(jsValue, info); |
115 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution"); | 115 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution"); |
116 } | 116 } |
117 | 117 |
118 static void staticStringAttributeAttributeGetter(const v8::PropertyCallbackInfo<
v8::Value>& info) | 118 static void staticStringAttributeAttributeGetter(const v8::PropertyCallbackInfo<
v8::Value>& info) |
(...skipping 16 matching lines...) Expand all Loading... |
135 | 135 |
136 static void staticStringAttributeAttributeSetterCallback(v8::Local<v8::String>,
v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) | 136 static void staticStringAttributeAttributeSetterCallback(v8::Local<v8::String>,
v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) |
137 { | 137 { |
138 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter"); | 138 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter"); |
139 TestInterfacePythonImplementationV8Internal::staticStringAttributeAttributeS
etter(jsValue, info); | 139 TestInterfacePythonImplementationV8Internal::staticStringAttributeAttributeS
etter(jsValue, info); |
140 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution"); | 140 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution"); |
141 } | 141 } |
142 | 142 |
143 static void perWorldBindingsStringAttributeAttributeGetter(const v8::PropertyCal
lbackInfo<v8::Value>& info) | 143 static void perWorldBindingsStringAttributeAttributeGetter(const v8::PropertyCal
lbackInfo<v8::Value>& info) |
144 { | 144 { |
145 TestInterfacePythonImplementation* imp = V8TestInterfacePython::toNative(inf
o.Holder()); | 145 TestInterfacePythonImplementation* impl = V8TestInterfacePython::toNative(in
fo.Holder()); |
146 v8SetReturnValueString(info, imp->perWorldBindingsStringAttribute(), info.Ge
tIsolate()); | 146 v8SetReturnValueString(info, impl->perWorldBindingsStringAttribute(), info.G
etIsolate()); |
147 } | 147 } |
148 | 148 |
149 static void perWorldBindingsStringAttributeAttributeGetterCallback(v8::Local<v8:
:String>, const v8::PropertyCallbackInfo<v8::Value>& info) | 149 static void perWorldBindingsStringAttributeAttributeGetterCallback(v8::Local<v8:
:String>, const v8::PropertyCallbackInfo<v8::Value>& info) |
150 { | 150 { |
151 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter"); | 151 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter"); |
152 TestInterfacePythonImplementationV8Internal::perWorldBindingsStringAttribute
AttributeGetter(info); | 152 TestInterfacePythonImplementationV8Internal::perWorldBindingsStringAttribute
AttributeGetter(info); |
153 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution"); | 153 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution"); |
154 } | 154 } |
155 | 155 |
156 static void perWorldBindingsStringAttributeAttributeSetter(v8::Local<v8::Value>
jsValue, const v8::PropertyCallbackInfo<void>& info) | 156 static void perWorldBindingsStringAttributeAttributeSetter(v8::Local<v8::Value>
jsValue, const v8::PropertyCallbackInfo<void>& info) |
157 { | 157 { |
158 TestInterfacePythonImplementation* imp = V8TestInterfacePython::toNative(inf
o.Holder()); | 158 TestInterfacePythonImplementation* impl = V8TestInterfacePython::toNative(in
fo.Holder()); |
159 V8TRYCATCH_FOR_V8STRINGRESOURCE_VOID(V8StringResource<>, cppValue, jsValue); | 159 V8TRYCATCH_FOR_V8STRINGRESOURCE_VOID(V8StringResource<>, cppValue, jsValue); |
160 imp->setPerWorldBindingsStringAttribute(cppValue); | 160 impl->setPerWorldBindingsStringAttribute(cppValue); |
161 } | 161 } |
162 | 162 |
163 static void perWorldBindingsStringAttributeAttributeSetterCallback(v8::Local<v8:
:String>, v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& in
fo) | 163 static void perWorldBindingsStringAttributeAttributeSetterCallback(v8::Local<v8:
:String>, v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& in
fo) |
164 { | 164 { |
165 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter"); | 165 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter"); |
166 TestInterfacePythonImplementationV8Internal::perWorldBindingsStringAttribute
AttributeSetter(jsValue, info); | 166 TestInterfacePythonImplementationV8Internal::perWorldBindingsStringAttribute
AttributeSetter(jsValue, info); |
167 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution"); | 167 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution"); |
168 } | 168 } |
169 | 169 |
170 static void perWorldBindingsStringAttributeAttributeGetterForMainWorld(const v8:
:PropertyCallbackInfo<v8::Value>& info) | 170 static void perWorldBindingsStringAttributeAttributeGetterForMainWorld(const v8:
:PropertyCallbackInfo<v8::Value>& info) |
171 { | 171 { |
172 TestInterfacePythonImplementation* imp = V8TestInterfacePython::toNative(inf
o.Holder()); | 172 TestInterfacePythonImplementation* impl = V8TestInterfacePython::toNative(in
fo.Holder()); |
173 v8SetReturnValueString(info, imp->perWorldBindingsStringAttribute(), info.Ge
tIsolate()); | 173 v8SetReturnValueString(info, impl->perWorldBindingsStringAttribute(), info.G
etIsolate()); |
174 } | 174 } |
175 | 175 |
176 static void perWorldBindingsStringAttributeAttributeGetterCallbackForMainWorld(v
8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info) | 176 static void perWorldBindingsStringAttributeAttributeGetterCallbackForMainWorld(v
8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info) |
177 { | 177 { |
178 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter"); | 178 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter"); |
179 TestInterfacePythonImplementationV8Internal::perWorldBindingsStringAttribute
AttributeGetterForMainWorld(info); | 179 TestInterfacePythonImplementationV8Internal::perWorldBindingsStringAttribute
AttributeGetterForMainWorld(info); |
180 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution"); | 180 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution"); |
181 } | 181 } |
182 | 182 |
183 static void perWorldBindingsStringAttributeAttributeSetterForMainWorld(v8::Local
<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) | 183 static void perWorldBindingsStringAttributeAttributeSetterForMainWorld(v8::Local
<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) |
184 { | 184 { |
185 TestInterfacePythonImplementation* imp = V8TestInterfacePython::toNative(inf
o.Holder()); | 185 TestInterfacePythonImplementation* impl = V8TestInterfacePython::toNative(in
fo.Holder()); |
186 V8TRYCATCH_FOR_V8STRINGRESOURCE_VOID(V8StringResource<>, cppValue, jsValue); | 186 V8TRYCATCH_FOR_V8STRINGRESOURCE_VOID(V8StringResource<>, cppValue, jsValue); |
187 imp->setPerWorldBindingsStringAttribute(cppValue); | 187 impl->setPerWorldBindingsStringAttribute(cppValue); |
188 } | 188 } |
189 | 189 |
190 static void perWorldBindingsStringAttributeAttributeSetterCallbackForMainWorld(v
8::Local<v8::String>, v8::Local<v8::Value> jsValue, const v8::PropertyCallbackIn
fo<void>& info) | 190 static void perWorldBindingsStringAttributeAttributeSetterCallbackForMainWorld(v
8::Local<v8::String>, v8::Local<v8::Value> jsValue, const v8::PropertyCallbackIn
fo<void>& info) |
191 { | 191 { |
192 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter"); | 192 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter"); |
193 TestInterfacePythonImplementationV8Internal::perWorldBindingsStringAttribute
AttributeSetterForMainWorld(jsValue, info); | 193 TestInterfacePythonImplementationV8Internal::perWorldBindingsStringAttribute
AttributeSetterForMainWorld(jsValue, info); |
194 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution"); | 194 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution"); |
195 } | 195 } |
196 | 196 |
197 static void implementsStaticReadOnlyLongAttributeAttributeGetter(const v8::Prope
rtyCallbackInfo<v8::Value>& info) | 197 static void implementsStaticReadOnlyLongAttributeAttributeGetter(const v8::Prope
rtyCallbackInfo<v8::Value>& info) |
(...skipping 28 matching lines...) Expand all Loading... |
226 | 226 |
227 static void implementsStaticStringAttributeAttributeSetterCallback(v8::Local<v8:
:String>, v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& in
fo) | 227 static void implementsStaticStringAttributeAttributeSetterCallback(v8::Local<v8:
:String>, v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& in
fo) |
228 { | 228 { |
229 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter"); | 229 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter"); |
230 TestInterfacePythonImplementationV8Internal::implementsStaticStringAttribute
AttributeSetter(jsValue, info); | 230 TestInterfacePythonImplementationV8Internal::implementsStaticStringAttribute
AttributeSetter(jsValue, info); |
231 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution"); | 231 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution"); |
232 } | 232 } |
233 | 233 |
234 static void implementsReadonlyStringAttributeAttributeGetter(const v8::PropertyC
allbackInfo<v8::Value>& info) | 234 static void implementsReadonlyStringAttributeAttributeGetter(const v8::PropertyC
allbackInfo<v8::Value>& info) |
235 { | 235 { |
236 TestInterfacePythonImplementation* imp = V8TestInterfacePython::toNative(inf
o.Holder()); | 236 TestInterfacePythonImplementation* impl = V8TestInterfacePython::toNative(in
fo.Holder()); |
237 ASSERT(imp); | 237 ASSERT(impl); |
238 v8SetReturnValueString(info, TestImplements::implementsReadonlyStringAttribu
te(*imp), info.GetIsolate()); | 238 v8SetReturnValueString(info, TestImplements::implementsReadonlyStringAttribu
te(*impl), info.GetIsolate()); |
239 } | 239 } |
240 | 240 |
241 static void implementsReadonlyStringAttributeAttributeGetterCallback(v8::Local<v
8::String>, const v8::PropertyCallbackInfo<v8::Value>& info) | 241 static void implementsReadonlyStringAttributeAttributeGetterCallback(v8::Local<v
8::String>, const v8::PropertyCallbackInfo<v8::Value>& info) |
242 { | 242 { |
243 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter"); | 243 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter"); |
244 TestInterfacePythonImplementationV8Internal::implementsReadonlyStringAttribu
teAttributeGetter(info); | 244 TestInterfacePythonImplementationV8Internal::implementsReadonlyStringAttribu
teAttributeGetter(info); |
245 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution"); | 245 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution"); |
246 } | 246 } |
247 | 247 |
248 static void implementsStringAttributeAttributeGetter(const v8::PropertyCallbackI
nfo<v8::Value>& info) | 248 static void implementsStringAttributeAttributeGetter(const v8::PropertyCallbackI
nfo<v8::Value>& info) |
249 { | 249 { |
250 TestInterfacePythonImplementation* imp = V8TestInterfacePython::toNative(inf
o.Holder()); | 250 TestInterfacePythonImplementation* impl = V8TestInterfacePython::toNative(in
fo.Holder()); |
251 ASSERT(imp); | 251 ASSERT(impl); |
252 v8SetReturnValueString(info, TestImplements::implementsStringAttribute(*imp)
, info.GetIsolate()); | 252 v8SetReturnValueString(info, TestImplements::implementsStringAttribute(*impl
), info.GetIsolate()); |
253 } | 253 } |
254 | 254 |
255 static void implementsStringAttributeAttributeGetterCallback(v8::Local<v8::Strin
g>, const v8::PropertyCallbackInfo<v8::Value>& info) | 255 static void implementsStringAttributeAttributeGetterCallback(v8::Local<v8::Strin
g>, const v8::PropertyCallbackInfo<v8::Value>& info) |
256 { | 256 { |
257 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter"); | 257 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter"); |
258 TestInterfacePythonImplementationV8Internal::implementsStringAttributeAttrib
uteGetter(info); | 258 TestInterfacePythonImplementationV8Internal::implementsStringAttributeAttrib
uteGetter(info); |
259 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution"); | 259 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution"); |
260 } | 260 } |
261 | 261 |
262 static void implementsStringAttributeAttributeSetter(v8::Local<v8::Value> jsValu
e, const v8::PropertyCallbackInfo<void>& info) | 262 static void implementsStringAttributeAttributeSetter(v8::Local<v8::Value> jsValu
e, const v8::PropertyCallbackInfo<void>& info) |
263 { | 263 { |
264 TestInterfacePythonImplementation* imp = V8TestInterfacePython::toNative(inf
o.Holder()); | 264 TestInterfacePythonImplementation* impl = V8TestInterfacePython::toNative(in
fo.Holder()); |
265 ASSERT(imp); | 265 ASSERT(impl); |
266 V8TRYCATCH_FOR_V8STRINGRESOURCE_VOID(V8StringResource<>, cppValue, jsValue); | 266 V8TRYCATCH_FOR_V8STRINGRESOURCE_VOID(V8StringResource<>, cppValue, jsValue); |
267 TestImplements::setImplementsStringAttribute(*imp, cppValue); | 267 TestImplements::setImplementsStringAttribute(*impl, cppValue); |
268 } | 268 } |
269 | 269 |
270 static void implementsStringAttributeAttributeSetterCallback(v8::Local<v8::Strin
g>, v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) | 270 static void implementsStringAttributeAttributeSetterCallback(v8::Local<v8::Strin
g>, v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) |
271 { | 271 { |
272 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter"); | 272 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter"); |
273 TestInterfacePythonImplementationV8Internal::implementsStringAttributeAttrib
uteSetter(jsValue, info); | 273 TestInterfacePythonImplementationV8Internal::implementsStringAttributeAttrib
uteSetter(jsValue, info); |
274 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution"); | 274 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution"); |
275 } | 275 } |
276 | 276 |
277 static void implementsNodeAttributeAttributeGetter(const v8::PropertyCallbackInf
o<v8::Value>& info) | 277 static void implementsNodeAttributeAttributeGetter(const v8::PropertyCallbackInf
o<v8::Value>& info) |
278 { | 278 { |
279 TestInterfacePythonImplementation* imp = V8TestInterfacePython::toNative(inf
o.Holder()); | 279 TestInterfacePythonImplementation* impl = V8TestInterfacePython::toNative(in
fo.Holder()); |
280 ASSERT(imp); | 280 ASSERT(impl); |
281 v8SetReturnValueFast(info, WTF::getPtr(TestImplements::implementsNodeAttribu
te(*imp)), imp); | 281 v8SetReturnValueFast(info, WTF::getPtr(TestImplements::implementsNodeAttribu
te(*impl)), impl); |
282 } | 282 } |
283 | 283 |
284 static void implementsNodeAttributeAttributeGetterCallback(v8::Local<v8::String>
, const v8::PropertyCallbackInfo<v8::Value>& info) | 284 static void implementsNodeAttributeAttributeGetterCallback(v8::Local<v8::String>
, const v8::PropertyCallbackInfo<v8::Value>& info) |
285 { | 285 { |
286 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter"); | 286 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter"); |
287 TestInterfacePythonImplementationV8Internal::implementsNodeAttributeAttribut
eGetter(info); | 287 TestInterfacePythonImplementationV8Internal::implementsNodeAttributeAttribut
eGetter(info); |
288 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution"); | 288 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution"); |
289 } | 289 } |
290 | 290 |
291 static void implementsNodeAttributeAttributeSetter(v8::Local<v8::Value> jsValue,
const v8::PropertyCallbackInfo<void>& info) | 291 static void implementsNodeAttributeAttributeSetter(v8::Local<v8::Value> jsValue,
const v8::PropertyCallbackInfo<void>& info) |
292 { | 292 { |
293 ExceptionState exceptionState(ExceptionState::SetterContext, "implementsNode
Attribute", "TestInterfacePython", info.Holder(), info.GetIsolate()); | 293 ExceptionState exceptionState(ExceptionState::SetterContext, "implementsNode
Attribute", "TestInterfacePython", info.Holder(), info.GetIsolate()); |
294 if (!isUndefinedOrNull(jsValue) && !V8Node::hasInstance(jsValue, info.GetIso
late())) { | 294 if (!isUndefinedOrNull(jsValue) && !V8Node::hasInstance(jsValue, info.GetIso
late())) { |
295 exceptionState.throwTypeError("The provided value is not of type 'Node'.
"); | 295 exceptionState.throwTypeError("The provided value is not of type 'Node'.
"); |
296 exceptionState.throwIfNeeded(); | 296 exceptionState.throwIfNeeded(); |
297 return; | 297 return; |
298 } | 298 } |
299 TestInterfacePythonImplementation* imp = V8TestInterfacePython::toNative(inf
o.Holder()); | 299 TestInterfacePythonImplementation* impl = V8TestInterfacePython::toNative(in
fo.Holder()); |
300 ASSERT(imp); | 300 ASSERT(impl); |
301 V8TRYCATCH_VOID(Node*, cppValue, V8Node::toNativeWithTypeCheck(info.GetIsola
te(), jsValue)); | 301 V8TRYCATCH_VOID(Node*, cppValue, V8Node::toNativeWithTypeCheck(info.GetIsola
te(), jsValue)); |
302 TestImplements::setImplementsNodeAttribute(*imp, WTF::getPtr(cppValue)); | 302 TestImplements::setImplementsNodeAttribute(*impl, WTF::getPtr(cppValue)); |
303 } | 303 } |
304 | 304 |
305 static void implementsNodeAttributeAttributeSetterCallback(v8::Local<v8::String>
, v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) | 305 static void implementsNodeAttributeAttributeSetterCallback(v8::Local<v8::String>
, v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) |
306 { | 306 { |
307 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter"); | 307 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter"); |
308 TestInterfacePythonImplementationV8Internal::implementsNodeAttributeAttribut
eSetter(jsValue, info); | 308 TestInterfacePythonImplementationV8Internal::implementsNodeAttributeAttribut
eSetter(jsValue, info); |
309 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution"); | 309 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution"); |
310 } | 310 } |
311 | 311 |
312 static void implementsEventHandlerAttributeAttributeGetter(const v8::PropertyCal
lbackInfo<v8::Value>& info) | 312 static void implementsEventHandlerAttributeAttributeGetter(const v8::PropertyCal
lbackInfo<v8::Value>& info) |
313 { | 313 { |
314 TestInterfacePythonImplementation* imp = V8TestInterfacePython::toNative(inf
o.Holder()); | 314 TestInterfacePythonImplementation* impl = V8TestInterfacePython::toNative(in
fo.Holder()); |
315 ASSERT(imp); | 315 ASSERT(impl); |
316 EventListener* jsValue = TestImplements::implementsEventHandlerAttribute(*im
p); | 316 EventListener* jsValue = TestImplements::implementsEventHandlerAttribute(*im
pl); |
317 v8SetReturnValue(info, jsValue ? v8::Handle<v8::Value>(V8AbstractEventListen
er::cast(jsValue)->getListenerObject(imp->executionContext())) : v8::Handle<v8::
Value>(v8::Null(info.GetIsolate()))); | 317 v8SetReturnValue(info, jsValue ? v8::Handle<v8::Value>(V8AbstractEventListen
er::cast(jsValue)->getListenerObject(impl->executionContext())) : v8::Handle<v8:
:Value>(v8::Null(info.GetIsolate()))); |
318 } | 318 } |
319 | 319 |
320 static void implementsEventHandlerAttributeAttributeGetterCallback(v8::Local<v8:
:String>, const v8::PropertyCallbackInfo<v8::Value>& info) | 320 static void implementsEventHandlerAttributeAttributeGetterCallback(v8::Local<v8:
:String>, const v8::PropertyCallbackInfo<v8::Value>& info) |
321 { | 321 { |
322 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter"); | 322 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter"); |
323 TestInterfacePythonImplementationV8Internal::implementsEventHandlerAttribute
AttributeGetter(info); | 323 TestInterfacePythonImplementationV8Internal::implementsEventHandlerAttribute
AttributeGetter(info); |
324 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution"); | 324 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution"); |
325 } | 325 } |
326 | 326 |
327 static void implementsEventHandlerAttributeAttributeSetter(v8::Local<v8::Value>
jsValue, const v8::PropertyCallbackInfo<void>& info) | 327 static void implementsEventHandlerAttributeAttributeSetter(v8::Local<v8::Value>
jsValue, const v8::PropertyCallbackInfo<void>& info) |
328 { | 328 { |
329 TestInterfacePythonImplementation* imp = V8TestInterfacePython::toNative(inf
o.Holder()); | 329 TestInterfacePythonImplementation* impl = V8TestInterfacePython::toNative(in
fo.Holder()); |
330 ASSERT(imp); | 330 ASSERT(impl); |
331 moveEventListenerToNewWrapper(info.Holder(), TestImplements::implementsEvent
HandlerAttribute(*imp), jsValue, V8TestInterfacePython::eventListenerCacheIndex,
info.GetIsolate()); | 331 moveEventListenerToNewWrapper(info.Holder(), TestImplements::implementsEvent
HandlerAttribute(*impl), jsValue, V8TestInterfacePython::eventListenerCacheIndex
, info.GetIsolate()); |
332 TestImplements::setImplementsEventHandlerAttribute(*imp, V8EventListenerList
::getEventListener(jsValue, true, ListenerFindOrCreate)); | 332 TestImplements::setImplementsEventHandlerAttribute(*impl, V8EventListenerLis
t::getEventListener(jsValue, true, ListenerFindOrCreate)); |
333 } | 333 } |
334 | 334 |
335 static void implementsEventHandlerAttributeAttributeSetterCallback(v8::Local<v8:
:String>, v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& in
fo) | 335 static void implementsEventHandlerAttributeAttributeSetterCallback(v8::Local<v8:
:String>, v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& in
fo) |
336 { | 336 { |
337 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter"); | 337 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter"); |
338 TestInterfacePythonImplementationV8Internal::implementsEventHandlerAttribute
AttributeSetter(jsValue, info); | 338 TestInterfacePythonImplementationV8Internal::implementsEventHandlerAttribute
AttributeSetter(jsValue, info); |
339 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution"); | 339 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution"); |
340 } | 340 } |
341 | 341 |
342 static void implementsRuntimeEnabledNodeAttributeAttributeGetter(const v8::Prope
rtyCallbackInfo<v8::Value>& info) | 342 static void implementsRuntimeEnabledNodeAttributeAttributeGetter(const v8::Prope
rtyCallbackInfo<v8::Value>& info) |
343 { | 343 { |
344 TestInterfacePythonImplementation* imp = V8TestInterfacePython::toNative(inf
o.Holder()); | 344 TestInterfacePythonImplementation* impl = V8TestInterfacePython::toNative(in
fo.Holder()); |
345 ASSERT(imp); | 345 ASSERT(impl); |
346 v8SetReturnValueFast(info, WTF::getPtr(TestImplements::implementsRuntimeEnab
ledNodeAttribute(*imp)), imp); | 346 v8SetReturnValueFast(info, WTF::getPtr(TestImplements::implementsRuntimeEnab
ledNodeAttribute(*impl)), impl); |
347 } | 347 } |
348 | 348 |
349 static void implementsRuntimeEnabledNodeAttributeAttributeGetterCallback(v8::Loc
al<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info) | 349 static void implementsRuntimeEnabledNodeAttributeAttributeGetterCallback(v8::Loc
al<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info) |
350 { | 350 { |
351 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter"); | 351 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter"); |
352 TestInterfacePythonImplementationV8Internal::implementsRuntimeEnabledNodeAtt
ributeAttributeGetter(info); | 352 TestInterfacePythonImplementationV8Internal::implementsRuntimeEnabledNodeAtt
ributeAttributeGetter(info); |
353 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution"); | 353 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution"); |
354 } | 354 } |
355 | 355 |
356 static void implementsRuntimeEnabledNodeAttributeAttributeSetter(v8::Local<v8::V
alue> jsValue, const v8::PropertyCallbackInfo<void>& info) | 356 static void implementsRuntimeEnabledNodeAttributeAttributeSetter(v8::Local<v8::V
alue> jsValue, const v8::PropertyCallbackInfo<void>& info) |
357 { | 357 { |
358 ExceptionState exceptionState(ExceptionState::SetterContext, "implementsRunt
imeEnabledNodeAttribute", "TestInterfacePython", info.Holder(), info.GetIsolate(
)); | 358 ExceptionState exceptionState(ExceptionState::SetterContext, "implementsRunt
imeEnabledNodeAttribute", "TestInterfacePython", info.Holder(), info.GetIsolate(
)); |
359 if (!isUndefinedOrNull(jsValue) && !V8Node::hasInstance(jsValue, info.GetIso
late())) { | 359 if (!isUndefinedOrNull(jsValue) && !V8Node::hasInstance(jsValue, info.GetIso
late())) { |
360 exceptionState.throwTypeError("The provided value is not of type 'Node'.
"); | 360 exceptionState.throwTypeError("The provided value is not of type 'Node'.
"); |
361 exceptionState.throwIfNeeded(); | 361 exceptionState.throwIfNeeded(); |
362 return; | 362 return; |
363 } | 363 } |
364 TestInterfacePythonImplementation* imp = V8TestInterfacePython::toNative(inf
o.Holder()); | 364 TestInterfacePythonImplementation* impl = V8TestInterfacePython::toNative(in
fo.Holder()); |
365 ASSERT(imp); | 365 ASSERT(impl); |
366 V8TRYCATCH_VOID(Node*, cppValue, V8Node::toNativeWithTypeCheck(info.GetIsola
te(), jsValue)); | 366 V8TRYCATCH_VOID(Node*, cppValue, V8Node::toNativeWithTypeCheck(info.GetIsola
te(), jsValue)); |
367 TestImplements::setImplementsRuntimeEnabledNodeAttribute(*imp, WTF::getPtr(c
ppValue)); | 367 TestImplements::setImplementsRuntimeEnabledNodeAttribute(*impl, WTF::getPtr(
cppValue)); |
368 } | 368 } |
369 | 369 |
370 static void implementsRuntimeEnabledNodeAttributeAttributeSetterCallback(v8::Loc
al<v8::String>, v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<voi
d>& info) | 370 static void implementsRuntimeEnabledNodeAttributeAttributeSetterCallback(v8::Loc
al<v8::String>, v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<voi
d>& info) |
371 { | 371 { |
372 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter"); | 372 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter"); |
373 TestInterfacePythonImplementationV8Internal::implementsRuntimeEnabledNodeAtt
ributeAttributeSetter(jsValue, info); | 373 TestInterfacePythonImplementationV8Internal::implementsRuntimeEnabledNodeAtt
ributeAttributeSetter(jsValue, info); |
374 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution"); | 374 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution"); |
375 } | 375 } |
376 | 376 |
377 static void implementsPerContextEnabledNodeAttributeAttributeGetter(const v8::Pr
opertyCallbackInfo<v8::Value>& info) | 377 static void implementsPerContextEnabledNodeAttributeAttributeGetter(const v8::Pr
opertyCallbackInfo<v8::Value>& info) |
378 { | 378 { |
379 TestInterfacePythonImplementation* imp = V8TestInterfacePython::toNative(inf
o.Holder()); | 379 TestInterfacePythonImplementation* impl = V8TestInterfacePython::toNative(in
fo.Holder()); |
380 ASSERT(imp); | 380 ASSERT(impl); |
381 v8SetReturnValueFast(info, WTF::getPtr(TestImplements::implementsPerContextE
nabledNodeAttribute(*imp)), imp); | 381 v8SetReturnValueFast(info, WTF::getPtr(TestImplements::implementsPerContextE
nabledNodeAttribute(*impl)), impl); |
382 } | 382 } |
383 | 383 |
384 static void implementsPerContextEnabledNodeAttributeAttributeGetterCallback(v8::
Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info) | 384 static void implementsPerContextEnabledNodeAttributeAttributeGetterCallback(v8::
Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info) |
385 { | 385 { |
386 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter"); | 386 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter"); |
387 TestInterfacePythonImplementationV8Internal::implementsPerContextEnabledNode
AttributeAttributeGetter(info); | 387 TestInterfacePythonImplementationV8Internal::implementsPerContextEnabledNode
AttributeAttributeGetter(info); |
388 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution"); | 388 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution"); |
389 } | 389 } |
390 | 390 |
391 static void implementsPerContextEnabledNodeAttributeAttributeSetter(v8::Local<v8
::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) | 391 static void implementsPerContextEnabledNodeAttributeAttributeSetter(v8::Local<v8
::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) |
392 { | 392 { |
393 ExceptionState exceptionState(ExceptionState::SetterContext, "implementsPerC
ontextEnabledNodeAttribute", "TestInterfacePython", info.Holder(), info.GetIsola
te()); | 393 ExceptionState exceptionState(ExceptionState::SetterContext, "implementsPerC
ontextEnabledNodeAttribute", "TestInterfacePython", info.Holder(), info.GetIsola
te()); |
394 if (!isUndefinedOrNull(jsValue) && !V8Node::hasInstance(jsValue, info.GetIso
late())) { | 394 if (!isUndefinedOrNull(jsValue) && !V8Node::hasInstance(jsValue, info.GetIso
late())) { |
395 exceptionState.throwTypeError("The provided value is not of type 'Node'.
"); | 395 exceptionState.throwTypeError("The provided value is not of type 'Node'.
"); |
396 exceptionState.throwIfNeeded(); | 396 exceptionState.throwIfNeeded(); |
397 return; | 397 return; |
398 } | 398 } |
399 TestInterfacePythonImplementation* imp = V8TestInterfacePython::toNative(inf
o.Holder()); | 399 TestInterfacePythonImplementation* impl = V8TestInterfacePython::toNative(in
fo.Holder()); |
400 ASSERT(imp); | 400 ASSERT(impl); |
401 V8TRYCATCH_VOID(Node*, cppValue, V8Node::toNativeWithTypeCheck(info.GetIsola
te(), jsValue)); | 401 V8TRYCATCH_VOID(Node*, cppValue, V8Node::toNativeWithTypeCheck(info.GetIsola
te(), jsValue)); |
402 TestImplements::setImplementsPerContextEnabledNodeAttribute(*imp, WTF::getPt
r(cppValue)); | 402 TestImplements::setImplementsPerContextEnabledNodeAttribute(*impl, WTF::getP
tr(cppValue)); |
403 } | 403 } |
404 | 404 |
405 static void implementsPerContextEnabledNodeAttributeAttributeSetterCallback(v8::
Local<v8::String>, v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<
void>& info) | 405 static void implementsPerContextEnabledNodeAttributeAttributeSetterCallback(v8::
Local<v8::String>, v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<
void>& info) |
406 { | 406 { |
407 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter"); | 407 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter"); |
408 TestInterfacePythonImplementationV8Internal::implementsPerContextEnabledNode
AttributeAttributeSetter(jsValue, info); | 408 TestInterfacePythonImplementationV8Internal::implementsPerContextEnabledNode
AttributeAttributeSetter(jsValue, info); |
409 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution"); | 409 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution"); |
410 } | 410 } |
411 | 411 |
412 static void implements2StaticStringAttributeAttributeGetter(const v8::PropertyCa
llbackInfo<v8::Value>& info) | 412 static void implements2StaticStringAttributeAttributeGetter(const v8::PropertyCa
llbackInfo<v8::Value>& info) |
(...skipping 16 matching lines...) Expand all Loading... |
429 | 429 |
430 static void implements2StaticStringAttributeAttributeSetterCallback(v8::Local<v8
::String>, v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& i
nfo) | 430 static void implements2StaticStringAttributeAttributeSetterCallback(v8::Local<v8
::String>, v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& i
nfo) |
431 { | 431 { |
432 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter"); | 432 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter"); |
433 TestInterfacePythonImplementationV8Internal::implements2StaticStringAttribut
eAttributeSetter(jsValue, info); | 433 TestInterfacePythonImplementationV8Internal::implements2StaticStringAttribut
eAttributeSetter(jsValue, info); |
434 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution"); | 434 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution"); |
435 } | 435 } |
436 | 436 |
437 static void implements2StringAttributeAttributeGetter(const v8::PropertyCallback
Info<v8::Value>& info) | 437 static void implements2StringAttributeAttributeGetter(const v8::PropertyCallback
Info<v8::Value>& info) |
438 { | 438 { |
439 TestInterfacePythonImplementation* imp = V8TestInterfacePython::toNative(inf
o.Holder()); | 439 TestInterfacePythonImplementation* impl = V8TestInterfacePython::toNative(in
fo.Holder()); |
440 ASSERT(imp); | 440 ASSERT(impl); |
441 v8SetReturnValueString(info, TestImplements2Implementation::implements2Strin
gAttribute(*imp), info.GetIsolate()); | 441 v8SetReturnValueString(info, TestImplements2Implementation::implements2Strin
gAttribute(*impl), info.GetIsolate()); |
442 } | 442 } |
443 | 443 |
444 static void implements2StringAttributeAttributeGetterCallback(v8::Local<v8::Stri
ng>, const v8::PropertyCallbackInfo<v8::Value>& info) | 444 static void implements2StringAttributeAttributeGetterCallback(v8::Local<v8::Stri
ng>, const v8::PropertyCallbackInfo<v8::Value>& info) |
445 { | 445 { |
446 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter"); | 446 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter"); |
447 TestInterfacePythonImplementationV8Internal::implements2StringAttributeAttri
buteGetter(info); | 447 TestInterfacePythonImplementationV8Internal::implements2StringAttributeAttri
buteGetter(info); |
448 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution"); | 448 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution"); |
449 } | 449 } |
450 | 450 |
451 static void implements2StringAttributeAttributeSetter(v8::Local<v8::Value> jsVal
ue, const v8::PropertyCallbackInfo<void>& info) | 451 static void implements2StringAttributeAttributeSetter(v8::Local<v8::Value> jsVal
ue, const v8::PropertyCallbackInfo<void>& info) |
452 { | 452 { |
453 TestInterfacePythonImplementation* imp = V8TestInterfacePython::toNative(inf
o.Holder()); | 453 TestInterfacePythonImplementation* impl = V8TestInterfacePython::toNative(in
fo.Holder()); |
454 ASSERT(imp); | 454 ASSERT(impl); |
455 V8TRYCATCH_FOR_V8STRINGRESOURCE_VOID(V8StringResource<>, cppValue, jsValue); | 455 V8TRYCATCH_FOR_V8STRINGRESOURCE_VOID(V8StringResource<>, cppValue, jsValue); |
456 TestImplements2Implementation::setImplements2StringAttribute(*imp, cppValue)
; | 456 TestImplements2Implementation::setImplements2StringAttribute(*impl, cppValue
); |
457 } | 457 } |
458 | 458 |
459 static void implements2StringAttributeAttributeSetterCallback(v8::Local<v8::Stri
ng>, v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) | 459 static void implements2StringAttributeAttributeSetterCallback(v8::Local<v8::Stri
ng>, v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) |
460 { | 460 { |
461 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter"); | 461 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter"); |
462 TestInterfacePythonImplementationV8Internal::implements2StringAttributeAttri
buteSetter(jsValue, info); | 462 TestInterfacePythonImplementationV8Internal::implements2StringAttributeAttri
buteSetter(jsValue, info); |
463 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution"); | 463 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution"); |
464 } | 464 } |
465 | 465 |
466 #if ENABLE(PARTIAL_CONDITION) | 466 #if ENABLE(PARTIAL_CONDITION) |
467 static void partialLongAttributeAttributeGetter(const v8::PropertyCallbackInfo<v
8::Value>& info) | 467 static void partialLongAttributeAttributeGetter(const v8::PropertyCallbackInfo<v
8::Value>& info) |
468 { | 468 { |
469 TestInterfacePythonImplementation* imp = V8TestInterfacePython::toNative(inf
o.Holder()); | 469 TestInterfacePythonImplementation* impl = V8TestInterfacePython::toNative(in
fo.Holder()); |
470 ASSERT(imp); | 470 ASSERT(impl); |
471 v8SetReturnValueInt(info, TestPartialInterfacePython::partialLongAttribute(*
imp)); | 471 v8SetReturnValueInt(info, TestPartialInterfacePython::partialLongAttribute(*
impl)); |
472 } | 472 } |
473 #endif // ENABLE(PARTIAL_CONDITION) | 473 #endif // ENABLE(PARTIAL_CONDITION) |
474 | 474 |
475 #if ENABLE(PARTIAL_CONDITION) | 475 #if ENABLE(PARTIAL_CONDITION) |
476 static void partialLongAttributeAttributeGetterCallback(v8::Local<v8::String>, c
onst v8::PropertyCallbackInfo<v8::Value>& info) | 476 static void partialLongAttributeAttributeGetterCallback(v8::Local<v8::String>, c
onst v8::PropertyCallbackInfo<v8::Value>& info) |
477 { | 477 { |
478 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter"); | 478 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter"); |
479 TestInterfacePythonImplementationV8Internal::partialLongAttributeAttributeGe
tter(info); | 479 TestInterfacePythonImplementationV8Internal::partialLongAttributeAttributeGe
tter(info); |
480 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution"); | 480 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution"); |
481 } | 481 } |
482 #endif // ENABLE(PARTIAL_CONDITION) | 482 #endif // ENABLE(PARTIAL_CONDITION) |
483 | 483 |
484 #if ENABLE(PARTIAL_CONDITION) | 484 #if ENABLE(PARTIAL_CONDITION) |
485 static void partialLongAttributeAttributeSetter(v8::Local<v8::Value> jsValue, co
nst v8::PropertyCallbackInfo<void>& info) | 485 static void partialLongAttributeAttributeSetter(v8::Local<v8::Value> jsValue, co
nst v8::PropertyCallbackInfo<void>& info) |
486 { | 486 { |
487 ExceptionState exceptionState(ExceptionState::SetterContext, "partialLongAtt
ribute", "TestInterfacePython", info.Holder(), info.GetIsolate()); | 487 ExceptionState exceptionState(ExceptionState::SetterContext, "partialLongAtt
ribute", "TestInterfacePython", info.Holder(), info.GetIsolate()); |
488 TestInterfacePythonImplementation* imp = V8TestInterfacePython::toNative(inf
o.Holder()); | 488 TestInterfacePythonImplementation* impl = V8TestInterfacePython::toNative(in
fo.Holder()); |
489 ASSERT(imp); | 489 ASSERT(impl); |
490 V8TRYCATCH_EXCEPTION_VOID(int, cppValue, toInt32(jsValue, exceptionState), e
xceptionState); | 490 V8TRYCATCH_EXCEPTION_VOID(int, cppValue, toInt32(jsValue, exceptionState), e
xceptionState); |
491 TestPartialInterfacePython::setPartialLongAttribute(*imp, cppValue); | 491 TestPartialInterfacePython::setPartialLongAttribute(*impl, cppValue); |
492 } | 492 } |
493 #endif // ENABLE(PARTIAL_CONDITION) | 493 #endif // ENABLE(PARTIAL_CONDITION) |
494 | 494 |
495 #if ENABLE(PARTIAL_CONDITION) | 495 #if ENABLE(PARTIAL_CONDITION) |
496 static void partialLongAttributeAttributeSetterCallback(v8::Local<v8::String>, v
8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) | 496 static void partialLongAttributeAttributeSetterCallback(v8::Local<v8::String>, v
8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) |
497 { | 497 { |
498 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter"); | 498 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter"); |
499 TestInterfacePythonImplementationV8Internal::partialLongAttributeAttributeSe
tter(jsValue, info); | 499 TestInterfacePythonImplementationV8Internal::partialLongAttributeAttributeSe
tter(jsValue, info); |
500 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution"); | 500 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution"); |
501 } | 501 } |
(...skipping 29 matching lines...) Expand all Loading... |
531 { | 531 { |
532 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter"); | 532 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter"); |
533 TestInterfacePythonImplementationV8Internal::partialStaticLongAttributeAttri
buteSetter(jsValue, info); | 533 TestInterfacePythonImplementationV8Internal::partialStaticLongAttributeAttri
buteSetter(jsValue, info); |
534 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution"); | 534 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution"); |
535 } | 535 } |
536 #endif // ENABLE(PARTIAL_CONDITION) | 536 #endif // ENABLE(PARTIAL_CONDITION) |
537 | 537 |
538 #if ENABLE(PARTIAL_CONDITION) | 538 #if ENABLE(PARTIAL_CONDITION) |
539 static void partialCallWithExecutionContextLongAttributeAttributeGetter(const v8
::PropertyCallbackInfo<v8::Value>& info) | 539 static void partialCallWithExecutionContextLongAttributeAttributeGetter(const v8
::PropertyCallbackInfo<v8::Value>& info) |
540 { | 540 { |
541 TestInterfacePythonImplementation* imp = V8TestInterfacePython::toNative(inf
o.Holder()); | 541 TestInterfacePythonImplementation* impl = V8TestInterfacePython::toNative(in
fo.Holder()); |
542 ASSERT(imp); | 542 ASSERT(impl); |
543 ExecutionContext* scriptContext = currentExecutionContext(info.GetIsolate())
; | 543 ExecutionContext* scriptContext = currentExecutionContext(info.GetIsolate())
; |
544 v8SetReturnValueInt(info, TestPartialInterfacePython::partialCallWithExecuti
onContextLongAttribute(scriptContext, *imp)); | 544 v8SetReturnValueInt(info, TestPartialInterfacePython::partialCallWithExecuti
onContextLongAttribute(scriptContext, *impl)); |
545 } | 545 } |
546 #endif // ENABLE(PARTIAL_CONDITION) | 546 #endif // ENABLE(PARTIAL_CONDITION) |
547 | 547 |
548 #if ENABLE(PARTIAL_CONDITION) | 548 #if ENABLE(PARTIAL_CONDITION) |
549 static void partialCallWithExecutionContextLongAttributeAttributeGetterCallback(
v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info) | 549 static void partialCallWithExecutionContextLongAttributeAttributeGetterCallback(
v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info) |
550 { | 550 { |
551 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter"); | 551 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter"); |
552 TestInterfacePythonImplementationV8Internal::partialCallWithExecutionContext
LongAttributeAttributeGetter(info); | 552 TestInterfacePythonImplementationV8Internal::partialCallWithExecutionContext
LongAttributeAttributeGetter(info); |
553 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution"); | 553 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution"); |
554 } | 554 } |
555 #endif // ENABLE(PARTIAL_CONDITION) | 555 #endif // ENABLE(PARTIAL_CONDITION) |
556 | 556 |
557 #if ENABLE(PARTIAL_CONDITION) | 557 #if ENABLE(PARTIAL_CONDITION) |
558 static void partialCallWithExecutionContextLongAttributeAttributeSetter(v8::Loca
l<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) | 558 static void partialCallWithExecutionContextLongAttributeAttributeSetter(v8::Loca
l<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) |
559 { | 559 { |
560 ExceptionState exceptionState(ExceptionState::SetterContext, "partialCallWit
hExecutionContextLongAttribute", "TestInterfacePython", info.Holder(), info.GetI
solate()); | 560 ExceptionState exceptionState(ExceptionState::SetterContext, "partialCallWit
hExecutionContextLongAttribute", "TestInterfacePython", info.Holder(), info.GetI
solate()); |
561 TestInterfacePythonImplementation* imp = V8TestInterfacePython::toNative(inf
o.Holder()); | 561 TestInterfacePythonImplementation* impl = V8TestInterfacePython::toNative(in
fo.Holder()); |
562 ASSERT(imp); | 562 ASSERT(impl); |
563 V8TRYCATCH_EXCEPTION_VOID(int, cppValue, toInt32(jsValue, exceptionState), e
xceptionState); | 563 V8TRYCATCH_EXCEPTION_VOID(int, cppValue, toInt32(jsValue, exceptionState), e
xceptionState); |
564 ExecutionContext* scriptContext = currentExecutionContext(info.GetIsolate())
; | 564 ExecutionContext* scriptContext = currentExecutionContext(info.GetIsolate())
; |
565 TestPartialInterfacePython::setPartialCallWithExecutionContextLongAttribute(
scriptContext, *imp, cppValue); | 565 TestPartialInterfacePython::setPartialCallWithExecutionContextLongAttribute(
scriptContext, *impl, cppValue); |
566 } | 566 } |
567 #endif // ENABLE(PARTIAL_CONDITION) | 567 #endif // ENABLE(PARTIAL_CONDITION) |
568 | 568 |
569 #if ENABLE(PARTIAL_CONDITION) | 569 #if ENABLE(PARTIAL_CONDITION) |
570 static void partialCallWithExecutionContextLongAttributeAttributeSetterCallback(
v8::Local<v8::String>, v8::Local<v8::Value> jsValue, const v8::PropertyCallbackI
nfo<void>& info) | 570 static void partialCallWithExecutionContextLongAttributeAttributeSetterCallback(
v8::Local<v8::String>, v8::Local<v8::Value> jsValue, const v8::PropertyCallbackI
nfo<void>& info) |
571 { | 571 { |
572 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter"); | 572 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter"); |
573 TestInterfacePythonImplementationV8Internal::partialCallWithExecutionContext
LongAttributeAttributeSetter(jsValue, info); | 573 TestInterfacePythonImplementationV8Internal::partialCallWithExecutionContext
LongAttributeAttributeSetter(jsValue, info); |
574 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution"); | 574 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution"); |
575 } | 575 } |
576 #endif // ENABLE(PARTIAL_CONDITION) | 576 #endif // ENABLE(PARTIAL_CONDITION) |
577 | 577 |
578 static void partial2LongAttributeAttributeGetter(const v8::PropertyCallbackInfo<
v8::Value>& info) | 578 static void partial2LongAttributeAttributeGetter(const v8::PropertyCallbackInfo<
v8::Value>& info) |
579 { | 579 { |
580 TestInterfacePythonImplementation* imp = V8TestInterfacePython::toNative(inf
o.Holder()); | 580 TestInterfacePythonImplementation* impl = V8TestInterfacePython::toNative(in
fo.Holder()); |
581 ASSERT(imp); | 581 ASSERT(impl); |
582 v8SetReturnValueInt(info, TestPartialInterfacePythonImplementation::partial2
LongAttribute(*imp)); | 582 v8SetReturnValueInt(info, TestPartialInterfacePythonImplementation::partial2
LongAttribute(*impl)); |
583 } | 583 } |
584 | 584 |
585 static void partial2LongAttributeAttributeGetterCallback(v8::Local<v8::String>,
const v8::PropertyCallbackInfo<v8::Value>& info) | 585 static void partial2LongAttributeAttributeGetterCallback(v8::Local<v8::String>,
const v8::PropertyCallbackInfo<v8::Value>& info) |
586 { | 586 { |
587 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter"); | 587 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter"); |
588 TestInterfacePythonImplementationV8Internal::partial2LongAttributeAttributeG
etter(info); | 588 TestInterfacePythonImplementationV8Internal::partial2LongAttributeAttributeG
etter(info); |
589 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution"); | 589 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution"); |
590 } | 590 } |
591 | 591 |
592 static void partial2LongAttributeAttributeSetter(v8::Local<v8::Value> jsValue, c
onst v8::PropertyCallbackInfo<void>& info) | 592 static void partial2LongAttributeAttributeSetter(v8::Local<v8::Value> jsValue, c
onst v8::PropertyCallbackInfo<void>& info) |
593 { | 593 { |
594 ExceptionState exceptionState(ExceptionState::SetterContext, "partial2LongAt
tribute", "TestInterfacePython", info.Holder(), info.GetIsolate()); | 594 ExceptionState exceptionState(ExceptionState::SetterContext, "partial2LongAt
tribute", "TestInterfacePython", info.Holder(), info.GetIsolate()); |
595 TestInterfacePythonImplementation* imp = V8TestInterfacePython::toNative(inf
o.Holder()); | 595 TestInterfacePythonImplementation* impl = V8TestInterfacePython::toNative(in
fo.Holder()); |
596 ASSERT(imp); | 596 ASSERT(impl); |
597 V8TRYCATCH_EXCEPTION_VOID(int, cppValue, toInt32(jsValue, exceptionState), e
xceptionState); | 597 V8TRYCATCH_EXCEPTION_VOID(int, cppValue, toInt32(jsValue, exceptionState), e
xceptionState); |
598 TestPartialInterfacePythonImplementation::setPartial2LongAttribute(*imp, cpp
Value); | 598 TestPartialInterfacePythonImplementation::setPartial2LongAttribute(*impl, cp
pValue); |
599 } | 599 } |
600 | 600 |
601 static void partial2LongAttributeAttributeSetterCallback(v8::Local<v8::String>,
v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) | 601 static void partial2LongAttributeAttributeSetterCallback(v8::Local<v8::String>,
v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) |
602 { | 602 { |
603 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter"); | 603 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter"); |
604 TestInterfacePythonImplementationV8Internal::partial2LongAttributeAttributeS
etter(jsValue, info); | 604 TestInterfacePythonImplementationV8Internal::partial2LongAttributeAttributeS
etter(jsValue, info); |
605 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution"); | 605 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution"); |
606 } | 606 } |
607 | 607 |
608 static void partial2StaticLongAttributeAttributeGetter(const v8::PropertyCallbac
kInfo<v8::Value>& info) | 608 static void partial2StaticLongAttributeAttributeGetter(const v8::PropertyCallbac
kInfo<v8::Value>& info) |
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
650 { | 650 { |
651 TestInterfacePythonImplementationV8Internal::TestInterfacePythonImplementati
onReplaceableAttributeSetter(name, jsValue, info); | 651 TestInterfacePythonImplementationV8Internal::TestInterfacePythonImplementati
onReplaceableAttributeSetter(name, jsValue, info); |
652 } | 652 } |
653 | 653 |
654 static void voidMethodTestInterfaceEmptyArgMethod(const v8::FunctionCallbackInfo
<v8::Value>& info) | 654 static void voidMethodTestInterfaceEmptyArgMethod(const v8::FunctionCallbackInfo
<v8::Value>& info) |
655 { | 655 { |
656 if (UNLIKELY(info.Length() < 1)) { | 656 if (UNLIKELY(info.Length() < 1)) { |
657 throwTypeError(ExceptionMessages::failedToExecute("voidMethodTestInterfa
ceEmptyArg", "TestInterfacePython", ExceptionMessages::notEnoughArguments(1, inf
o.Length())), info.GetIsolate()); | 657 throwTypeError(ExceptionMessages::failedToExecute("voidMethodTestInterfa
ceEmptyArg", "TestInterfacePython", ExceptionMessages::notEnoughArguments(1, inf
o.Length())), info.GetIsolate()); |
658 return; | 658 return; |
659 } | 659 } |
660 TestInterfacePythonImplementation* imp = V8TestInterfacePython::toNative(inf
o.Holder()); | 660 TestInterfacePythonImplementation* impl = V8TestInterfacePython::toNative(in
fo.Holder()); |
661 if (info.Length() > 0 && !V8TestInterfaceEmpty::hasInstance(info[0], info.Ge
tIsolate())) { | 661 if (info.Length() > 0 && !V8TestInterfaceEmpty::hasInstance(info[0], info.Ge
tIsolate())) { |
662 throwTypeError(ExceptionMessages::failedToExecute("voidMethodTestInterfa
ceEmptyArg", "TestInterfacePython", "parameter 1 is not of type 'TestInterfaceEm
pty'."), info.GetIsolate()); | 662 throwTypeError(ExceptionMessages::failedToExecute("voidMethodTestInterfa
ceEmptyArg", "TestInterfacePython", "parameter 1 is not of type 'TestInterfaceEm
pty'."), info.GetIsolate()); |
663 return; | 663 return; |
664 } | 664 } |
665 V8TRYCATCH_VOID(TestInterfaceEmpty*, testInterfaceEmptyArg, V8TestInterfaceE
mpty::toNativeWithTypeCheck(info.GetIsolate(), info[0])); | 665 V8TRYCATCH_VOID(TestInterfaceEmpty*, testInterfaceEmptyArg, V8TestInterfaceE
mpty::toNativeWithTypeCheck(info.GetIsolate(), info[0])); |
666 imp->voidMethodTestInterfaceEmptyArg(testInterfaceEmptyArg); | 666 impl->voidMethodTestInterfaceEmptyArg(testInterfaceEmptyArg); |
667 } | 667 } |
668 | 668 |
669 static void voidMethodTestInterfaceEmptyArgMethodCallback(const v8::FunctionCall
backInfo<v8::Value>& info) | 669 static void voidMethodTestInterfaceEmptyArgMethodCallback(const v8::FunctionCall
backInfo<v8::Value>& info) |
670 { | 670 { |
671 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); | 671 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); |
672 TestInterfacePythonImplementationV8Internal::voidMethodTestInterfaceEmptyArg
Method(info); | 672 TestInterfacePythonImplementationV8Internal::voidMethodTestInterfaceEmptyArg
Method(info); |
673 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution"); | 673 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution"); |
674 } | 674 } |
675 | 675 |
676 static void voidMethodMethod(const v8::FunctionCallbackInfo<v8::Value>& info) | 676 static void voidMethodMethod(const v8::FunctionCallbackInfo<v8::Value>& info) |
677 { | 677 { |
678 TestInterfacePythonImplementation* imp = V8TestInterfacePython::toNative(inf
o.Holder()); | 678 TestInterfacePythonImplementation* impl = V8TestInterfacePython::toNative(in
fo.Holder()); |
679 imp->voidMethod(); | 679 impl->voidMethod(); |
680 } | 680 } |
681 | 681 |
682 static void voidMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>&
info) | 682 static void voidMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>&
info) |
683 { | 683 { |
684 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); | 684 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); |
685 TestInterfacePythonImplementationV8Internal::voidMethodMethod(info); | 685 TestInterfacePythonImplementationV8Internal::voidMethodMethod(info); |
686 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution"); | 686 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution"); |
687 } | 687 } |
688 | 688 |
689 static void voidMethodMethodForMainWorld(const v8::FunctionCallbackInfo<v8::Valu
e>& info) | 689 static void voidMethodMethodForMainWorld(const v8::FunctionCallbackInfo<v8::Valu
e>& info) |
690 { | 690 { |
691 TestInterfacePythonImplementation* imp = V8TestInterfacePython::toNative(inf
o.Holder()); | 691 TestInterfacePythonImplementation* impl = V8TestInterfacePython::toNative(in
fo.Holder()); |
692 imp->voidMethod(); | 692 impl->voidMethod(); |
693 } | 693 } |
694 | 694 |
695 static void voidMethodMethodCallbackForMainWorld(const v8::FunctionCallbackInfo<
v8::Value>& info) | 695 static void voidMethodMethodCallbackForMainWorld(const v8::FunctionCallbackInfo<
v8::Value>& info) |
696 { | 696 { |
697 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); | 697 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); |
698 TestInterfacePythonImplementationV8Internal::voidMethodMethodForMainWorld(in
fo); | 698 TestInterfacePythonImplementationV8Internal::voidMethodMethodForMainWorld(in
fo); |
699 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution"); | 699 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution"); |
700 } | 700 } |
701 | 701 |
702 static void implementsVoidMethodMethod(const v8::FunctionCallbackInfo<v8::Value>
& info) | 702 static void implementsVoidMethodMethod(const v8::FunctionCallbackInfo<v8::Value>
& info) |
703 { | 703 { |
704 TestInterfacePythonImplementation* imp = V8TestInterfacePython::toNative(inf
o.Holder()); | 704 TestInterfacePythonImplementation* impl = V8TestInterfacePython::toNative(in
fo.Holder()); |
705 ASSERT(imp); | 705 ASSERT(impl); |
706 TestImplements::implementsVoidMethod(*imp); | 706 TestImplements::implementsVoidMethod(*impl); |
707 } | 707 } |
708 | 708 |
709 static void implementsVoidMethodMethodCallback(const v8::FunctionCallbackInfo<v8
::Value>& info) | 709 static void implementsVoidMethodMethodCallback(const v8::FunctionCallbackInfo<v8
::Value>& info) |
710 { | 710 { |
711 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); | 711 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); |
712 TestInterfacePythonImplementationV8Internal::implementsVoidMethodMethod(info
); | 712 TestInterfacePythonImplementationV8Internal::implementsVoidMethodMethod(info
); |
713 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution"); | 713 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution"); |
714 } | 714 } |
715 | 715 |
716 static void implementsComplexMethodMethod(const v8::FunctionCallbackInfo<v8::Val
ue>& info) | 716 static void implementsComplexMethodMethod(const v8::FunctionCallbackInfo<v8::Val
ue>& info) |
717 { | 717 { |
718 ExceptionState exceptionState(ExceptionState::ExecutionContext, "implementsC
omplexMethod", "TestInterfacePython", info.Holder(), info.GetIsolate()); | 718 ExceptionState exceptionState(ExceptionState::ExecutionContext, "implementsC
omplexMethod", "TestInterfacePython", info.Holder(), info.GetIsolate()); |
719 if (UNLIKELY(info.Length() < 2)) { | 719 if (UNLIKELY(info.Length() < 2)) { |
720 exceptionState.throwTypeError(ExceptionMessages::notEnoughArguments(2, i
nfo.Length())); | 720 exceptionState.throwTypeError(ExceptionMessages::notEnoughArguments(2, i
nfo.Length())); |
721 exceptionState.throwIfNeeded(); | 721 exceptionState.throwIfNeeded(); |
722 return; | 722 return; |
723 } | 723 } |
724 TestInterfacePythonImplementation* imp = V8TestInterfacePython::toNative(inf
o.Holder()); | 724 TestInterfacePythonImplementation* impl = V8TestInterfacePython::toNative(in
fo.Holder()); |
725 V8TRYCATCH_FOR_V8STRINGRESOURCE_VOID(V8StringResource<>, strArg, info[0]); | 725 V8TRYCATCH_FOR_V8STRINGRESOURCE_VOID(V8StringResource<>, strArg, info[0]); |
726 if (info.Length() > 1 && !V8TestInterfaceEmpty::hasInstance(info[1], info.Ge
tIsolate())) { | 726 if (info.Length() > 1 && !V8TestInterfaceEmpty::hasInstance(info[1], info.Ge
tIsolate())) { |
727 exceptionState.throwTypeError("parameter 2 is not of type 'TestInterface
Empty'."); | 727 exceptionState.throwTypeError("parameter 2 is not of type 'TestInterface
Empty'."); |
728 exceptionState.throwIfNeeded(); | 728 exceptionState.throwIfNeeded(); |
729 return; | 729 return; |
730 } | 730 } |
731 V8TRYCATCH_VOID(TestInterfaceEmpty*, testInterfaceEmptyArg, V8TestInterfaceE
mpty::toNativeWithTypeCheck(info.GetIsolate(), info[1])); | 731 V8TRYCATCH_VOID(TestInterfaceEmpty*, testInterfaceEmptyArg, V8TestInterfaceE
mpty::toNativeWithTypeCheck(info.GetIsolate(), info[1])); |
732 ASSERT(imp); | 732 ASSERT(impl); |
733 ExecutionContext* scriptContext = currentExecutionContext(info.GetIsolate())
; | 733 ExecutionContext* scriptContext = currentExecutionContext(info.GetIsolate())
; |
734 RefPtr<TestInterfaceEmpty> result = TestImplements::implementsComplexMethod(
scriptContext, *imp, strArg, testInterfaceEmptyArg, exceptionState); | 734 RefPtr<TestInterfaceEmpty> result = TestImplements::implementsComplexMethod(
scriptContext, *impl, strArg, testInterfaceEmptyArg, exceptionState); |
735 if (exceptionState.throwIfNeeded()) | 735 if (exceptionState.throwIfNeeded()) |
736 return; | 736 return; |
737 v8SetReturnValue(info, result.release()); | 737 v8SetReturnValue(info, result.release()); |
738 } | 738 } |
739 | 739 |
740 static void implementsComplexMethodMethodCallback(const v8::FunctionCallbackInfo
<v8::Value>& info) | 740 static void implementsComplexMethodMethodCallback(const v8::FunctionCallbackInfo
<v8::Value>& info) |
741 { | 741 { |
742 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); | 742 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); |
743 TestInterfacePythonImplementationV8Internal::implementsComplexMethodMethod(i
nfo); | 743 TestInterfacePythonImplementationV8Internal::implementsComplexMethodMethod(i
nfo); |
744 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution"); | 744 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution"); |
(...skipping 13 matching lines...) Expand all Loading... |
758 | 758 |
759 static void implementsStaticVoidMethodMethodCallback(const v8::FunctionCallbackI
nfo<v8::Value>& info) | 759 static void implementsStaticVoidMethodMethodCallback(const v8::FunctionCallbackI
nfo<v8::Value>& info) |
760 { | 760 { |
761 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); | 761 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); |
762 TestInterfacePythonImplementationV8Internal::implementsStaticVoidMethodMetho
d(info); | 762 TestInterfacePythonImplementationV8Internal::implementsStaticVoidMethodMetho
d(info); |
763 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution"); | 763 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution"); |
764 } | 764 } |
765 | 765 |
766 static void implements2VoidMethodMethod(const v8::FunctionCallbackInfo<v8::Value
>& info) | 766 static void implements2VoidMethodMethod(const v8::FunctionCallbackInfo<v8::Value
>& info) |
767 { | 767 { |
768 TestInterfacePythonImplementation* imp = V8TestInterfacePython::toNative(inf
o.Holder()); | 768 TestInterfacePythonImplementation* impl = V8TestInterfacePython::toNative(in
fo.Holder()); |
769 ASSERT(imp); | 769 ASSERT(impl); |
770 TestImplements2Implementation::implements2VoidMethod(*imp); | 770 TestImplements2Implementation::implements2VoidMethod(*impl); |
771 } | 771 } |
772 | 772 |
773 static void implements2VoidMethodMethodCallback(const v8::FunctionCallbackInfo<v
8::Value>& info) | 773 static void implements2VoidMethodMethodCallback(const v8::FunctionCallbackInfo<v
8::Value>& info) |
774 { | 774 { |
775 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); | 775 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); |
776 TestInterfacePythonImplementationV8Internal::implements2VoidMethodMethod(inf
o); | 776 TestInterfacePythonImplementationV8Internal::implements2VoidMethodMethod(inf
o); |
777 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution"); | 777 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution"); |
778 } | 778 } |
779 | 779 |
780 #if ENABLE(PARTIAL_CONDITION) | 780 #if ENABLE(PARTIAL_CONDITION) |
781 static void partialVoidMethodMethod(const v8::FunctionCallbackInfo<v8::Value>& i
nfo) | 781 static void partialVoidMethodMethod(const v8::FunctionCallbackInfo<v8::Value>& i
nfo) |
782 { | 782 { |
783 TestInterfacePythonImplementation* imp = V8TestInterfacePython::toNative(inf
o.Holder()); | 783 TestInterfacePythonImplementation* impl = V8TestInterfacePython::toNative(in
fo.Holder()); |
784 ASSERT(imp); | 784 ASSERT(impl); |
785 TestPartialInterfacePython::partialVoidMethod(*imp); | 785 TestPartialInterfacePython::partialVoidMethod(*impl); |
786 } | 786 } |
787 #endif // ENABLE(PARTIAL_CONDITION) | 787 #endif // ENABLE(PARTIAL_CONDITION) |
788 | 788 |
789 #if ENABLE(PARTIAL_CONDITION) | 789 #if ENABLE(PARTIAL_CONDITION) |
790 static void partialVoidMethodMethodCallback(const v8::FunctionCallbackInfo<v8::V
alue>& info) | 790 static void partialVoidMethodMethodCallback(const v8::FunctionCallbackInfo<v8::V
alue>& info) |
791 { | 791 { |
792 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); | 792 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); |
793 TestInterfacePythonImplementationV8Internal::partialVoidMethodMethod(info); | 793 TestInterfacePythonImplementationV8Internal::partialVoidMethodMethod(info); |
794 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution"); | 794 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution"); |
795 } | 795 } |
(...skipping 17 matching lines...) Expand all Loading... |
813 | 813 |
814 #if ENABLE(PARTIAL_CONDITION) | 814 #if ENABLE(PARTIAL_CONDITION) |
815 static void partialVoidMethodLongArgMethod(const v8::FunctionCallbackInfo<v8::Va
lue>& info) | 815 static void partialVoidMethodLongArgMethod(const v8::FunctionCallbackInfo<v8::Va
lue>& info) |
816 { | 816 { |
817 ExceptionState exceptionState(ExceptionState::ExecutionContext, "partialVoid
MethodLongArg", "TestInterfacePython", info.Holder(), info.GetIsolate()); | 817 ExceptionState exceptionState(ExceptionState::ExecutionContext, "partialVoid
MethodLongArg", "TestInterfacePython", info.Holder(), info.GetIsolate()); |
818 if (UNLIKELY(info.Length() < 1)) { | 818 if (UNLIKELY(info.Length() < 1)) { |
819 exceptionState.throwTypeError(ExceptionMessages::notEnoughArguments(1, i
nfo.Length())); | 819 exceptionState.throwTypeError(ExceptionMessages::notEnoughArguments(1, i
nfo.Length())); |
820 exceptionState.throwIfNeeded(); | 820 exceptionState.throwIfNeeded(); |
821 return; | 821 return; |
822 } | 822 } |
823 TestInterfacePythonImplementation* imp = V8TestInterfacePython::toNative(inf
o.Holder()); | 823 TestInterfacePythonImplementation* impl = V8TestInterfacePython::toNative(in
fo.Holder()); |
824 V8TRYCATCH_EXCEPTION_VOID(int, longArg, toInt32(info[0], exceptionState), ex
ceptionState); | 824 V8TRYCATCH_EXCEPTION_VOID(int, longArg, toInt32(info[0], exceptionState), ex
ceptionState); |
825 ASSERT(imp); | 825 ASSERT(impl); |
826 TestPartialInterfacePython::partialVoidMethodLongArg(*imp, longArg); | 826 TestPartialInterfacePython::partialVoidMethodLongArg(*impl, longArg); |
827 } | 827 } |
828 #endif // ENABLE(PARTIAL_CONDITION) | 828 #endif // ENABLE(PARTIAL_CONDITION) |
829 | 829 |
830 #if ENABLE(PARTIAL_CONDITION) | 830 #if ENABLE(PARTIAL_CONDITION) |
831 static void partialVoidMethodLongArgMethodCallback(const v8::FunctionCallbackInf
o<v8::Value>& info) | 831 static void partialVoidMethodLongArgMethodCallback(const v8::FunctionCallbackInf
o<v8::Value>& info) |
832 { | 832 { |
833 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); | 833 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); |
834 TestInterfacePythonImplementationV8Internal::partialVoidMethodLongArgMethod(
info); | 834 TestInterfacePythonImplementationV8Internal::partialVoidMethodLongArgMethod(
info); |
835 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution"); | 835 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution"); |
836 } | 836 } |
837 #endif // ENABLE(PARTIAL_CONDITION) | 837 #endif // ENABLE(PARTIAL_CONDITION) |
838 | 838 |
839 #if ENABLE(PARTIAL_CONDITION) | 839 #if ENABLE(PARTIAL_CONDITION) |
840 static void partialCallWithExecutionContextRaisesExceptionVoidMethodMethod(const
v8::FunctionCallbackInfo<v8::Value>& info) | 840 static void partialCallWithExecutionContextRaisesExceptionVoidMethodMethod(const
v8::FunctionCallbackInfo<v8::Value>& info) |
841 { | 841 { |
842 ExceptionState exceptionState(ExceptionState::ExecutionContext, "partialCall
WithExecutionContextRaisesExceptionVoidMethod", "TestInterfacePython", info.Hold
er(), info.GetIsolate()); | 842 ExceptionState exceptionState(ExceptionState::ExecutionContext, "partialCall
WithExecutionContextRaisesExceptionVoidMethod", "TestInterfacePython", info.Hold
er(), info.GetIsolate()); |
843 TestInterfacePythonImplementation* imp = V8TestInterfacePython::toNative(inf
o.Holder()); | 843 TestInterfacePythonImplementation* impl = V8TestInterfacePython::toNative(in
fo.Holder()); |
844 ASSERT(imp); | 844 ASSERT(impl); |
845 ExecutionContext* scriptContext = currentExecutionContext(info.GetIsolate())
; | 845 ExecutionContext* scriptContext = currentExecutionContext(info.GetIsolate())
; |
846 TestPartialInterfacePython::partialCallWithExecutionContextRaisesExceptionVo
idMethod(scriptContext, *imp, exceptionState); | 846 TestPartialInterfacePython::partialCallWithExecutionContextRaisesExceptionVo
idMethod(scriptContext, *impl, exceptionState); |
847 if (exceptionState.throwIfNeeded()) | 847 if (exceptionState.throwIfNeeded()) |
848 return; | 848 return; |
849 } | 849 } |
850 #endif // ENABLE(PARTIAL_CONDITION) | 850 #endif // ENABLE(PARTIAL_CONDITION) |
851 | 851 |
852 #if ENABLE(PARTIAL_CONDITION) | 852 #if ENABLE(PARTIAL_CONDITION) |
853 static void partialCallWithExecutionContextRaisesExceptionVoidMethodMethodCallba
ck(const v8::FunctionCallbackInfo<v8::Value>& info) | 853 static void partialCallWithExecutionContextRaisesExceptionVoidMethodMethodCallba
ck(const v8::FunctionCallbackInfo<v8::Value>& info) |
854 { | 854 { |
855 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); | 855 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); |
856 TestInterfacePythonImplementationV8Internal::partialCallWithExecutionContext
RaisesExceptionVoidMethodMethod(info); | 856 TestInterfacePythonImplementationV8Internal::partialCallWithExecutionContext
RaisesExceptionVoidMethodMethod(info); |
857 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution"); | 857 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution"); |
858 } | 858 } |
859 #endif // ENABLE(PARTIAL_CONDITION) | 859 #endif // ENABLE(PARTIAL_CONDITION) |
860 | 860 |
861 static void partial2VoidMethodMethod(const v8::FunctionCallbackInfo<v8::Value>&
info) | 861 static void partial2VoidMethodMethod(const v8::FunctionCallbackInfo<v8::Value>&
info) |
862 { | 862 { |
863 TestInterfacePythonImplementation* imp = V8TestInterfacePython::toNative(inf
o.Holder()); | 863 TestInterfacePythonImplementation* impl = V8TestInterfacePython::toNative(in
fo.Holder()); |
864 ASSERT(imp); | 864 ASSERT(impl); |
865 TestPartialInterfacePythonImplementation::partial2VoidMethod(*imp); | 865 TestPartialInterfacePythonImplementation::partial2VoidMethod(*impl); |
866 } | 866 } |
867 | 867 |
868 static void partial2VoidMethodMethodCallback(const v8::FunctionCallbackInfo<v8::
Value>& info) | 868 static void partial2VoidMethodMethodCallback(const v8::FunctionCallbackInfo<v8::
Value>& info) |
869 { | 869 { |
870 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); | 870 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); |
871 TestInterfacePythonImplementationV8Internal::partial2VoidMethodMethod(info); | 871 TestInterfacePythonImplementationV8Internal::partial2VoidMethodMethod(info); |
872 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution"); | 872 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution"); |
873 } | 873 } |
874 | 874 |
875 static void partial2StaticVoidMethodMethod(const v8::FunctionCallbackInfo<v8::Va
lue>& info) | 875 static void partial2StaticVoidMethodMethod(const v8::FunctionCallbackInfo<v8::Va
lue>& info) |
(...skipping 183 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1059 } | 1059 } |
1060 | 1060 |
1061 template<> | 1061 template<> |
1062 v8::Handle<v8::Value> toV8NoInline(TestInterfacePythonImplementation* impl, v8::
Handle<v8::Object> creationContext, v8::Isolate* isolate) | 1062 v8::Handle<v8::Value> toV8NoInline(TestInterfacePythonImplementation* impl, v8::
Handle<v8::Object> creationContext, v8::Isolate* isolate) |
1063 { | 1063 { |
1064 return toV8(impl, creationContext, isolate); | 1064 return toV8(impl, creationContext, isolate); |
1065 } | 1065 } |
1066 | 1066 |
1067 } // namespace WebCore | 1067 } // namespace WebCore |
1068 #endif // ENABLE(CONDITION) | 1068 #endif // ENABLE(CONDITION) |
OLD | NEW |