| 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 217 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 228 static void implementsStaticStringAttributeAttributeSetterCallback(v8::Local<v8:
:String>, v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& in
fo) | 228 static void implementsStaticStringAttributeAttributeSetterCallback(v8::Local<v8:
:String>, v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& in
fo) |
| 229 { | 229 { |
| 230 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter"); | 230 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter"); |
| 231 TestInterfacePythonImplementationV8Internal::implementsStaticStringAttribute
AttributeSetter(jsValue, info); | 231 TestInterfacePythonImplementationV8Internal::implementsStaticStringAttribute
AttributeSetter(jsValue, info); |
| 232 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution"); | 232 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution"); |
| 233 } | 233 } |
| 234 | 234 |
| 235 static void implementsReadonlyStringAttributeAttributeGetter(const v8::PropertyC
allbackInfo<v8::Value>& info) | 235 static void implementsReadonlyStringAttributeAttributeGetter(const v8::PropertyC
allbackInfo<v8::Value>& info) |
| 236 { | 236 { |
| 237 TestInterfacePythonImplementation* imp = V8TestInterfacePython::toNative(inf
o.Holder()); | 237 TestInterfacePythonImplementation* imp = V8TestInterfacePython::toNative(inf
o.Holder()); |
| 238 v8SetReturnValueString(info, TestImplements::implementsReadonlyStringAttribu
te(imp), info.GetIsolate()); | 238 ASSERT(imp); |
| 239 v8SetReturnValueString(info, TestImplements::implementsReadonlyStringAttribu
te(*imp), info.GetIsolate()); |
| 239 } | 240 } |
| 240 | 241 |
| 241 static void implementsReadonlyStringAttributeAttributeGetterCallback(v8::Local<v
8::String>, const v8::PropertyCallbackInfo<v8::Value>& info) | 242 static void implementsReadonlyStringAttributeAttributeGetterCallback(v8::Local<v
8::String>, const v8::PropertyCallbackInfo<v8::Value>& info) |
| 242 { | 243 { |
| 243 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter"); | 244 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter"); |
| 244 TestInterfacePythonImplementationV8Internal::implementsReadonlyStringAttribu
teAttributeGetter(info); | 245 TestInterfacePythonImplementationV8Internal::implementsReadonlyStringAttribu
teAttributeGetter(info); |
| 245 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution"); | 246 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution"); |
| 246 } | 247 } |
| 247 | 248 |
| 248 static void implementsStringAttributeAttributeGetter(const v8::PropertyCallbackI
nfo<v8::Value>& info) | 249 static void implementsStringAttributeAttributeGetter(const v8::PropertyCallbackI
nfo<v8::Value>& info) |
| 249 { | 250 { |
| 250 TestInterfacePythonImplementation* imp = V8TestInterfacePython::toNative(inf
o.Holder()); | 251 TestInterfacePythonImplementation* imp = V8TestInterfacePython::toNative(inf
o.Holder()); |
| 251 v8SetReturnValueString(info, TestImplements::implementsStringAttribute(imp),
info.GetIsolate()); | 252 ASSERT(imp); |
| 253 v8SetReturnValueString(info, TestImplements::implementsStringAttribute(*imp)
, info.GetIsolate()); |
| 252 } | 254 } |
| 253 | 255 |
| 254 static void implementsStringAttributeAttributeGetterCallback(v8::Local<v8::Strin
g>, const v8::PropertyCallbackInfo<v8::Value>& info) | 256 static void implementsStringAttributeAttributeGetterCallback(v8::Local<v8::Strin
g>, const v8::PropertyCallbackInfo<v8::Value>& info) |
| 255 { | 257 { |
| 256 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter"); | 258 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter"); |
| 257 TestInterfacePythonImplementationV8Internal::implementsStringAttributeAttrib
uteGetter(info); | 259 TestInterfacePythonImplementationV8Internal::implementsStringAttributeAttrib
uteGetter(info); |
| 258 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution"); | 260 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution"); |
| 259 } | 261 } |
| 260 | 262 |
| 261 static void implementsStringAttributeAttributeSetter(v8::Local<v8::Value> jsValu
e, const v8::PropertyCallbackInfo<void>& info) | 263 static void implementsStringAttributeAttributeSetter(v8::Local<v8::Value> jsValu
e, const v8::PropertyCallbackInfo<void>& info) |
| 262 { | 264 { |
| 263 TestInterfacePythonImplementation* imp = V8TestInterfacePython::toNative(inf
o.Holder()); | 265 TestInterfacePythonImplementation* imp = V8TestInterfacePython::toNative(inf
o.Holder()); |
| 264 V8TRYCATCH_FOR_V8STRINGRESOURCE_VOID(V8StringResource<>, cppValue, jsValue); | 266 V8TRYCATCH_FOR_V8STRINGRESOURCE_VOID(V8StringResource<>, cppValue, jsValue); |
| 265 TestImplements::setImplementsStringAttribute(imp, cppValue); | 267 ASSERT(imp); |
| 268 TestImplements::setImplementsStringAttribute(*imp, cppValue); |
| 266 } | 269 } |
| 267 | 270 |
| 268 static void implementsStringAttributeAttributeSetterCallback(v8::Local<v8::Strin
g>, v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) | 271 static void implementsStringAttributeAttributeSetterCallback(v8::Local<v8::Strin
g>, v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) |
| 269 { | 272 { |
| 270 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter"); | 273 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter"); |
| 271 TestInterfacePythonImplementationV8Internal::implementsStringAttributeAttrib
uteSetter(jsValue, info); | 274 TestInterfacePythonImplementationV8Internal::implementsStringAttributeAttrib
uteSetter(jsValue, info); |
| 272 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution"); | 275 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution"); |
| 273 } | 276 } |
| 274 | 277 |
| 275 static void implementsNodeAttributeAttributeGetter(const v8::PropertyCallbackInf
o<v8::Value>& info) | 278 static void implementsNodeAttributeAttributeGetter(const v8::PropertyCallbackInf
o<v8::Value>& info) |
| 276 { | 279 { |
| 277 TestInterfacePythonImplementation* imp = V8TestInterfacePython::toNative(inf
o.Holder()); | 280 TestInterfacePythonImplementation* imp = V8TestInterfacePython::toNative(inf
o.Holder()); |
| 278 v8SetReturnValueFast(info, TestImplements::implementsNodeAttribute(imp), imp
); | 281 ASSERT(imp); |
| 282 v8SetReturnValueFast(info, TestImplements::implementsNodeAttribute(*imp), im
p); |
| 279 } | 283 } |
| 280 | 284 |
| 281 static void implementsNodeAttributeAttributeGetterCallback(v8::Local<v8::String>
, const v8::PropertyCallbackInfo<v8::Value>& info) | 285 static void implementsNodeAttributeAttributeGetterCallback(v8::Local<v8::String>
, const v8::PropertyCallbackInfo<v8::Value>& info) |
| 282 { | 286 { |
| 283 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter"); | 287 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter"); |
| 284 TestInterfacePythonImplementationV8Internal::implementsNodeAttributeAttribut
eGetter(info); | 288 TestInterfacePythonImplementationV8Internal::implementsNodeAttributeAttribut
eGetter(info); |
| 285 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution"); | 289 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution"); |
| 286 } | 290 } |
| 287 | 291 |
| 288 static void implementsNodeAttributeAttributeSetter(v8::Local<v8::Value> jsValue,
const v8::PropertyCallbackInfo<void>& info) | 292 static void implementsNodeAttributeAttributeSetter(v8::Local<v8::Value> jsValue,
const v8::PropertyCallbackInfo<void>& info) |
| 289 { | 293 { |
| 290 ExceptionState exceptionState(ExceptionState::SetterContext, "implementsNode
Attribute", "TestInterfacePython", info.Holder(), info.GetIsolate()); | 294 ExceptionState exceptionState(ExceptionState::SetterContext, "implementsNode
Attribute", "TestInterfacePython", info.Holder(), info.GetIsolate()); |
| 291 if (!isUndefinedOrNull(jsValue) && !V8Node::hasInstance(jsValue, info.GetIso
late())) { | 295 if (!isUndefinedOrNull(jsValue) && !V8Node::hasInstance(jsValue, info.GetIso
late())) { |
| 292 exceptionState.throwTypeError("The provided value is not of type 'Node'.
"); | 296 exceptionState.throwTypeError("The provided value is not of type 'Node'.
"); |
| 293 exceptionState.throwIfNeeded(); | 297 exceptionState.throwIfNeeded(); |
| 294 return; | 298 return; |
| 295 } | 299 } |
| 296 TestInterfacePythonImplementation* imp = V8TestInterfacePython::toNative(inf
o.Holder()); | 300 TestInterfacePythonImplementation* imp = V8TestInterfacePython::toNative(inf
o.Holder()); |
| 297 V8TRYCATCH_VOID(Node*, cppValue, V8Node::hasInstance(jsValue, info.GetIsolat
e()) ? V8Node::toNative(v8::Handle<v8::Object>::Cast(jsValue)) : 0); | 301 V8TRYCATCH_VOID(Node*, cppValue, V8Node::hasInstance(jsValue, info.GetIsolat
e()) ? V8Node::toNative(v8::Handle<v8::Object>::Cast(jsValue)) : 0); |
| 298 TestImplements::setImplementsNodeAttribute(imp, WTF::getPtr(cppValue)); | 302 ASSERT(imp); |
| 303 TestImplements::setImplementsNodeAttribute(*imp, WTF::getPtr(cppValue)); |
| 299 } | 304 } |
| 300 | 305 |
| 301 static void implementsNodeAttributeAttributeSetterCallback(v8::Local<v8::String>
, v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) | 306 static void implementsNodeAttributeAttributeSetterCallback(v8::Local<v8::String>
, v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) |
| 302 { | 307 { |
| 303 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter"); | 308 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter"); |
| 304 TestInterfacePythonImplementationV8Internal::implementsNodeAttributeAttribut
eSetter(jsValue, info); | 309 TestInterfacePythonImplementationV8Internal::implementsNodeAttributeAttribut
eSetter(jsValue, info); |
| 305 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution"); | 310 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution"); |
| 306 } | 311 } |
| 307 | 312 |
| 308 static void implementsEventHandlerAttributeAttributeGetter(const v8::PropertyCal
lbackInfo<v8::Value>& info) | 313 static void implementsEventHandlerAttributeAttributeGetter(const v8::PropertyCal
lbackInfo<v8::Value>& info) |
| 309 { | 314 { |
| 310 TestInterfacePythonImplementation* imp = V8TestInterfacePython::toNative(inf
o.Holder()); | 315 TestInterfacePythonImplementation* imp = V8TestInterfacePython::toNative(inf
o.Holder()); |
| 311 EventListener* jsValue = TestImplements::implementsEventHandlerAttribute(imp
); | 316 ASSERT(imp); |
| 317 ASSERT(imp); |
| 318 EventListener* jsValue = TestImplements::implementsEventHandlerAttribute(*im
p); |
| 312 v8SetReturnValue(info, jsValue ? v8::Handle<v8::Value>(V8AbstractEventListen
er::cast(jsValue)->getListenerObject(imp->executionContext())) : v8::Handle<v8::
Value>(v8::Null(info.GetIsolate()))); | 319 v8SetReturnValue(info, jsValue ? v8::Handle<v8::Value>(V8AbstractEventListen
er::cast(jsValue)->getListenerObject(imp->executionContext())) : v8::Handle<v8::
Value>(v8::Null(info.GetIsolate()))); |
| 313 } | 320 } |
| 314 | 321 |
| 315 static void implementsEventHandlerAttributeAttributeGetterCallback(v8::Local<v8:
:String>, const v8::PropertyCallbackInfo<v8::Value>& info) | 322 static void implementsEventHandlerAttributeAttributeGetterCallback(v8::Local<v8:
:String>, const v8::PropertyCallbackInfo<v8::Value>& info) |
| 316 { | 323 { |
| 317 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter"); | 324 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter"); |
| 318 TestInterfacePythonImplementationV8Internal::implementsEventHandlerAttribute
AttributeGetter(info); | 325 TestInterfacePythonImplementationV8Internal::implementsEventHandlerAttribute
AttributeGetter(info); |
| 319 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution"); | 326 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution"); |
| 320 } | 327 } |
| 321 | 328 |
| 322 static void implementsEventHandlerAttributeAttributeSetter(v8::Local<v8::Value>
jsValue, const v8::PropertyCallbackInfo<void>& info) | 329 static void implementsEventHandlerAttributeAttributeSetter(v8::Local<v8::Value>
jsValue, const v8::PropertyCallbackInfo<void>& info) |
| 323 { | 330 { |
| 324 TestInterfacePythonImplementation* imp = V8TestInterfacePython::toNative(inf
o.Holder()); | 331 TestInterfacePythonImplementation* imp = V8TestInterfacePython::toNative(inf
o.Holder()); |
| 325 moveEventListenerToNewWrapper(info.Holder(), TestImplements::implementsEvent
HandlerAttribute(imp), jsValue, V8TestInterfacePython::eventListenerCacheIndex,
info.GetIsolate()); | 332 ASSERT(imp); |
| 326 TestImplements::setImplementsEventHandlerAttribute(imp, V8EventListenerList:
:getEventListener(jsValue, true, ListenerFindOrCreate)); | 333 moveEventListenerToNewWrapper(info.Holder(), TestImplements::implementsEvent
HandlerAttribute(*imp), jsValue, V8TestInterfacePython::eventListenerCacheIndex,
info.GetIsolate()); |
| 334 ASSERT(imp); |
| 335 TestImplements::setImplementsEventHandlerAttribute(*imp, V8EventListenerList
::getEventListener(jsValue, true, ListenerFindOrCreate)); |
| 327 } | 336 } |
| 328 | 337 |
| 329 static void implementsEventHandlerAttributeAttributeSetterCallback(v8::Local<v8:
:String>, v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& in
fo) | 338 static void implementsEventHandlerAttributeAttributeSetterCallback(v8::Local<v8:
:String>, v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& in
fo) |
| 330 { | 339 { |
| 331 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter"); | 340 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter"); |
| 332 TestInterfacePythonImplementationV8Internal::implementsEventHandlerAttribute
AttributeSetter(jsValue, info); | 341 TestInterfacePythonImplementationV8Internal::implementsEventHandlerAttribute
AttributeSetter(jsValue, info); |
| 333 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution"); | 342 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution"); |
| 334 } | 343 } |
| 335 | 344 |
| 336 static void implementsRuntimeEnabledNodeAttributeAttributeGetter(const v8::Prope
rtyCallbackInfo<v8::Value>& info) | 345 static void implementsRuntimeEnabledNodeAttributeAttributeGetter(const v8::Prope
rtyCallbackInfo<v8::Value>& info) |
| 337 { | 346 { |
| 338 TestInterfacePythonImplementation* imp = V8TestInterfacePython::toNative(inf
o.Holder()); | 347 TestInterfacePythonImplementation* imp = V8TestInterfacePython::toNative(inf
o.Holder()); |
| 339 v8SetReturnValueFast(info, TestImplements::implementsRuntimeEnabledNodeAttri
bute(imp), imp); | 348 ASSERT(imp); |
| 349 v8SetReturnValueFast(info, TestImplements::implementsRuntimeEnabledNodeAttri
bute(*imp), imp); |
| 340 } | 350 } |
| 341 | 351 |
| 342 static void implementsRuntimeEnabledNodeAttributeAttributeGetterCallback(v8::Loc
al<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info) | 352 static void implementsRuntimeEnabledNodeAttributeAttributeGetterCallback(v8::Loc
al<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info) |
| 343 { | 353 { |
| 344 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter"); | 354 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter"); |
| 345 TestInterfacePythonImplementationV8Internal::implementsRuntimeEnabledNodeAtt
ributeAttributeGetter(info); | 355 TestInterfacePythonImplementationV8Internal::implementsRuntimeEnabledNodeAtt
ributeAttributeGetter(info); |
| 346 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution"); | 356 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution"); |
| 347 } | 357 } |
| 348 | 358 |
| 349 static void implementsRuntimeEnabledNodeAttributeAttributeSetter(v8::Local<v8::V
alue> jsValue, const v8::PropertyCallbackInfo<void>& info) | 359 static void implementsRuntimeEnabledNodeAttributeAttributeSetter(v8::Local<v8::V
alue> jsValue, const v8::PropertyCallbackInfo<void>& info) |
| 350 { | 360 { |
| 351 ExceptionState exceptionState(ExceptionState::SetterContext, "implementsRunt
imeEnabledNodeAttribute", "TestInterfacePython", info.Holder(), info.GetIsolate(
)); | 361 ExceptionState exceptionState(ExceptionState::SetterContext, "implementsRunt
imeEnabledNodeAttribute", "TestInterfacePython", info.Holder(), info.GetIsolate(
)); |
| 352 if (!isUndefinedOrNull(jsValue) && !V8Node::hasInstance(jsValue, info.GetIso
late())) { | 362 if (!isUndefinedOrNull(jsValue) && !V8Node::hasInstance(jsValue, info.GetIso
late())) { |
| 353 exceptionState.throwTypeError("The provided value is not of type 'Node'.
"); | 363 exceptionState.throwTypeError("The provided value is not of type 'Node'.
"); |
| 354 exceptionState.throwIfNeeded(); | 364 exceptionState.throwIfNeeded(); |
| 355 return; | 365 return; |
| 356 } | 366 } |
| 357 TestInterfacePythonImplementation* imp = V8TestInterfacePython::toNative(inf
o.Holder()); | 367 TestInterfacePythonImplementation* imp = V8TestInterfacePython::toNative(inf
o.Holder()); |
| 358 V8TRYCATCH_VOID(Node*, cppValue, V8Node::hasInstance(jsValue, info.GetIsolat
e()) ? V8Node::toNative(v8::Handle<v8::Object>::Cast(jsValue)) : 0); | 368 V8TRYCATCH_VOID(Node*, cppValue, V8Node::hasInstance(jsValue, info.GetIsolat
e()) ? V8Node::toNative(v8::Handle<v8::Object>::Cast(jsValue)) : 0); |
| 359 TestImplements::setImplementsRuntimeEnabledNodeAttribute(imp, WTF::getPtr(cp
pValue)); | 369 ASSERT(imp); |
| 370 TestImplements::setImplementsRuntimeEnabledNodeAttribute(*imp, WTF::getPtr(c
ppValue)); |
| 360 } | 371 } |
| 361 | 372 |
| 362 static void implementsRuntimeEnabledNodeAttributeAttributeSetterCallback(v8::Loc
al<v8::String>, v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<voi
d>& info) | 373 static void implementsRuntimeEnabledNodeAttributeAttributeSetterCallback(v8::Loc
al<v8::String>, v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<voi
d>& info) |
| 363 { | 374 { |
| 364 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter"); | 375 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter"); |
| 365 TestInterfacePythonImplementationV8Internal::implementsRuntimeEnabledNodeAtt
ributeAttributeSetter(jsValue, info); | 376 TestInterfacePythonImplementationV8Internal::implementsRuntimeEnabledNodeAtt
ributeAttributeSetter(jsValue, info); |
| 366 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution"); | 377 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution"); |
| 367 } | 378 } |
| 368 | 379 |
| 369 static void implementsPerContextEnabledNodeAttributeAttributeGetter(const v8::Pr
opertyCallbackInfo<v8::Value>& info) | 380 static void implementsPerContextEnabledNodeAttributeAttributeGetter(const v8::Pr
opertyCallbackInfo<v8::Value>& info) |
| 370 { | 381 { |
| 371 TestInterfacePythonImplementation* imp = V8TestInterfacePython::toNative(inf
o.Holder()); | 382 TestInterfacePythonImplementation* imp = V8TestInterfacePython::toNative(inf
o.Holder()); |
| 372 v8SetReturnValueFast(info, TestImplements::implementsPerContextEnabledNodeAt
tribute(imp), imp); | 383 ASSERT(imp); |
| 384 v8SetReturnValueFast(info, TestImplements::implementsPerContextEnabledNodeAt
tribute(*imp), imp); |
| 373 } | 385 } |
| 374 | 386 |
| 375 static void implementsPerContextEnabledNodeAttributeAttributeGetterCallback(v8::
Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info) | 387 static void implementsPerContextEnabledNodeAttributeAttributeGetterCallback(v8::
Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info) |
| 376 { | 388 { |
| 377 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter"); | 389 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter"); |
| 378 TestInterfacePythonImplementationV8Internal::implementsPerContextEnabledNode
AttributeAttributeGetter(info); | 390 TestInterfacePythonImplementationV8Internal::implementsPerContextEnabledNode
AttributeAttributeGetter(info); |
| 379 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution"); | 391 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution"); |
| 380 } | 392 } |
| 381 | 393 |
| 382 static void implementsPerContextEnabledNodeAttributeAttributeSetter(v8::Local<v8
::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) | 394 static void implementsPerContextEnabledNodeAttributeAttributeSetter(v8::Local<v8
::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) |
| 383 { | 395 { |
| 384 ExceptionState exceptionState(ExceptionState::SetterContext, "implementsPerC
ontextEnabledNodeAttribute", "TestInterfacePython", info.Holder(), info.GetIsola
te()); | 396 ExceptionState exceptionState(ExceptionState::SetterContext, "implementsPerC
ontextEnabledNodeAttribute", "TestInterfacePython", info.Holder(), info.GetIsola
te()); |
| 385 if (!isUndefinedOrNull(jsValue) && !V8Node::hasInstance(jsValue, info.GetIso
late())) { | 397 if (!isUndefinedOrNull(jsValue) && !V8Node::hasInstance(jsValue, info.GetIso
late())) { |
| 386 exceptionState.throwTypeError("The provided value is not of type 'Node'.
"); | 398 exceptionState.throwTypeError("The provided value is not of type 'Node'.
"); |
| 387 exceptionState.throwIfNeeded(); | 399 exceptionState.throwIfNeeded(); |
| 388 return; | 400 return; |
| 389 } | 401 } |
| 390 TestInterfacePythonImplementation* imp = V8TestInterfacePython::toNative(inf
o.Holder()); | 402 TestInterfacePythonImplementation* imp = V8TestInterfacePython::toNative(inf
o.Holder()); |
| 391 V8TRYCATCH_VOID(Node*, cppValue, V8Node::hasInstance(jsValue, info.GetIsolat
e()) ? V8Node::toNative(v8::Handle<v8::Object>::Cast(jsValue)) : 0); | 403 V8TRYCATCH_VOID(Node*, cppValue, V8Node::hasInstance(jsValue, info.GetIsolat
e()) ? V8Node::toNative(v8::Handle<v8::Object>::Cast(jsValue)) : 0); |
| 392 TestImplements::setImplementsPerContextEnabledNodeAttribute(imp, WTF::getPtr
(cppValue)); | 404 ASSERT(imp); |
| 405 TestImplements::setImplementsPerContextEnabledNodeAttribute(*imp, WTF::getPt
r(cppValue)); |
| 393 } | 406 } |
| 394 | 407 |
| 395 static void implementsPerContextEnabledNodeAttributeAttributeSetterCallback(v8::
Local<v8::String>, v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<
void>& info) | 408 static void implementsPerContextEnabledNodeAttributeAttributeSetterCallback(v8::
Local<v8::String>, v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<
void>& info) |
| 396 { | 409 { |
| 397 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter"); | 410 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter"); |
| 398 TestInterfacePythonImplementationV8Internal::implementsPerContextEnabledNode
AttributeAttributeSetter(jsValue, info); | 411 TestInterfacePythonImplementationV8Internal::implementsPerContextEnabledNode
AttributeAttributeSetter(jsValue, info); |
| 399 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution"); | 412 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution"); |
| 400 } | 413 } |
| 401 | 414 |
| 402 static void implements2StaticStringAttributeAttributeGetter(const v8::PropertyCa
llbackInfo<v8::Value>& info) | 415 static void implements2StaticStringAttributeAttributeGetter(const v8::PropertyCa
llbackInfo<v8::Value>& info) |
| (...skipping 17 matching lines...) Expand all Loading... |
| 420 static void implements2StaticStringAttributeAttributeSetterCallback(v8::Local<v8
::String>, v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& i
nfo) | 433 static void implements2StaticStringAttributeAttributeSetterCallback(v8::Local<v8
::String>, v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& i
nfo) |
| 421 { | 434 { |
| 422 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter"); | 435 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter"); |
| 423 TestInterfacePythonImplementationV8Internal::implements2StaticStringAttribut
eAttributeSetter(jsValue, info); | 436 TestInterfacePythonImplementationV8Internal::implements2StaticStringAttribut
eAttributeSetter(jsValue, info); |
| 424 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution"); | 437 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution"); |
| 425 } | 438 } |
| 426 | 439 |
| 427 static void implements2StringAttributeAttributeGetter(const v8::PropertyCallback
Info<v8::Value>& info) | 440 static void implements2StringAttributeAttributeGetter(const v8::PropertyCallback
Info<v8::Value>& info) |
| 428 { | 441 { |
| 429 TestInterfacePythonImplementation* imp = V8TestInterfacePython::toNative(inf
o.Holder()); | 442 TestInterfacePythonImplementation* imp = V8TestInterfacePython::toNative(inf
o.Holder()); |
| 430 v8SetReturnValueString(info, TestImplements2Implementation::implements2Strin
gAttribute(imp), info.GetIsolate()); | 443 ASSERT(imp); |
| 444 v8SetReturnValueString(info, TestImplements2Implementation::implements2Strin
gAttribute(*imp), info.GetIsolate()); |
| 431 } | 445 } |
| 432 | 446 |
| 433 static void implements2StringAttributeAttributeGetterCallback(v8::Local<v8::Stri
ng>, const v8::PropertyCallbackInfo<v8::Value>& info) | 447 static void implements2StringAttributeAttributeGetterCallback(v8::Local<v8::Stri
ng>, const v8::PropertyCallbackInfo<v8::Value>& info) |
| 434 { | 448 { |
| 435 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter"); | 449 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter"); |
| 436 TestInterfacePythonImplementationV8Internal::implements2StringAttributeAttri
buteGetter(info); | 450 TestInterfacePythonImplementationV8Internal::implements2StringAttributeAttri
buteGetter(info); |
| 437 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution"); | 451 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution"); |
| 438 } | 452 } |
| 439 | 453 |
| 440 static void implements2StringAttributeAttributeSetter(v8::Local<v8::Value> jsVal
ue, const v8::PropertyCallbackInfo<void>& info) | 454 static void implements2StringAttributeAttributeSetter(v8::Local<v8::Value> jsVal
ue, const v8::PropertyCallbackInfo<void>& info) |
| 441 { | 455 { |
| 442 TestInterfacePythonImplementation* imp = V8TestInterfacePython::toNative(inf
o.Holder()); | 456 TestInterfacePythonImplementation* imp = V8TestInterfacePython::toNative(inf
o.Holder()); |
| 443 V8TRYCATCH_FOR_V8STRINGRESOURCE_VOID(V8StringResource<>, cppValue, jsValue); | 457 V8TRYCATCH_FOR_V8STRINGRESOURCE_VOID(V8StringResource<>, cppValue, jsValue); |
| 444 TestImplements2Implementation::setImplements2StringAttribute(imp, cppValue); | 458 ASSERT(imp); |
| 459 TestImplements2Implementation::setImplements2StringAttribute(*imp, cppValue)
; |
| 445 } | 460 } |
| 446 | 461 |
| 447 static void implements2StringAttributeAttributeSetterCallback(v8::Local<v8::Stri
ng>, v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) | 462 static void implements2StringAttributeAttributeSetterCallback(v8::Local<v8::Stri
ng>, v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) |
| 448 { | 463 { |
| 449 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter"); | 464 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter"); |
| 450 TestInterfacePythonImplementationV8Internal::implements2StringAttributeAttri
buteSetter(jsValue, info); | 465 TestInterfacePythonImplementationV8Internal::implements2StringAttributeAttri
buteSetter(jsValue, info); |
| 451 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution"); | 466 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution"); |
| 452 } | 467 } |
| 453 | 468 |
| 454 static void implements3StringAttributeAttributeGetter(const v8::PropertyCallback
Info<v8::Value>& info) | 469 static void implements3StringAttributeAttributeGetter(const v8::PropertyCallback
Info<v8::Value>& info) |
| 455 { | 470 { |
| 456 TestInterfacePythonImplementation* imp = V8TestInterfacePython::toNative(inf
o.Holder()); | 471 TestInterfacePythonImplementation* imp = V8TestInterfacePython::toNative(inf
o.Holder()); |
| 457 v8SetReturnValueString(info, TestImplements3::implements3StringAttribute(imp
), info.GetIsolate()); | 472 ASSERT(imp); |
| 473 v8SetReturnValueString(info, TestImplements3::implements3StringAttribute(*im
p), info.GetIsolate()); |
| 458 } | 474 } |
| 459 | 475 |
| 460 static void implements3StringAttributeAttributeGetterCallback(v8::Local<v8::Stri
ng>, const v8::PropertyCallbackInfo<v8::Value>& info) | 476 static void implements3StringAttributeAttributeGetterCallback(v8::Local<v8::Stri
ng>, const v8::PropertyCallbackInfo<v8::Value>& info) |
| 461 { | 477 { |
| 462 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter"); | 478 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter"); |
| 463 TestInterfacePythonImplementationV8Internal::implements3StringAttributeAttri
buteGetter(info); | 479 TestInterfacePythonImplementationV8Internal::implements3StringAttributeAttri
buteGetter(info); |
| 464 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution"); | 480 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution"); |
| 465 } | 481 } |
| 466 | 482 |
| 467 static void implements3StringAttributeAttributeSetter(v8::Local<v8::Value> jsVal
ue, const v8::PropertyCallbackInfo<void>& info) | 483 static void implements3StringAttributeAttributeSetter(v8::Local<v8::Value> jsVal
ue, const v8::PropertyCallbackInfo<void>& info) |
| 468 { | 484 { |
| 469 TestInterfacePythonImplementation* imp = V8TestInterfacePython::toNative(inf
o.Holder()); | 485 TestInterfacePythonImplementation* imp = V8TestInterfacePython::toNative(inf
o.Holder()); |
| 470 V8TRYCATCH_FOR_V8STRINGRESOURCE_VOID(V8StringResource<>, cppValue, jsValue); | 486 V8TRYCATCH_FOR_V8STRINGRESOURCE_VOID(V8StringResource<>, cppValue, jsValue); |
| 471 TestImplements3::setImplements3StringAttribute(imp, cppValue); | 487 ASSERT(imp); |
| 488 TestImplements3::setImplements3StringAttribute(*imp, cppValue); |
| 472 } | 489 } |
| 473 | 490 |
| 474 static void implements3StringAttributeAttributeSetterCallback(v8::Local<v8::Stri
ng>, v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) | 491 static void implements3StringAttributeAttributeSetterCallback(v8::Local<v8::Stri
ng>, v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) |
| 475 { | 492 { |
| 476 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter"); | 493 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter"); |
| 477 TestInterfacePythonImplementationV8Internal::implements3StringAttributeAttri
buteSetter(jsValue, info); | 494 TestInterfacePythonImplementationV8Internal::implements3StringAttributeAttri
buteSetter(jsValue, info); |
| 478 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution"); | 495 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution"); |
| 479 } | 496 } |
| 480 | 497 |
| 481 static void implements3StaticStringAttributeAttributeGetter(const v8::PropertyCa
llbackInfo<v8::Value>& info) | 498 static void implements3StaticStringAttributeAttributeGetter(const v8::PropertyCa
llbackInfo<v8::Value>& info) |
| (...skipping 18 matching lines...) Expand all Loading... |
| 500 { | 517 { |
| 501 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter"); | 518 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter"); |
| 502 TestInterfacePythonImplementationV8Internal::implements3StaticStringAttribut
eAttributeSetter(jsValue, info); | 519 TestInterfacePythonImplementationV8Internal::implements3StaticStringAttribut
eAttributeSetter(jsValue, info); |
| 503 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution"); | 520 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution"); |
| 504 } | 521 } |
| 505 | 522 |
| 506 #if ENABLE(PARTIAL_CONDITION) | 523 #if ENABLE(PARTIAL_CONDITION) |
| 507 static void partialLongAttributeAttributeGetter(const v8::PropertyCallbackInfo<v
8::Value>& info) | 524 static void partialLongAttributeAttributeGetter(const v8::PropertyCallbackInfo<v
8::Value>& info) |
| 508 { | 525 { |
| 509 TestInterfacePythonImplementation* imp = V8TestInterfacePython::toNative(inf
o.Holder()); | 526 TestInterfacePythonImplementation* imp = V8TestInterfacePython::toNative(inf
o.Holder()); |
| 510 v8SetReturnValueInt(info, TestPartialInterfacePython::partialLongAttribute(i
mp)); | 527 ASSERT(imp); |
| 528 v8SetReturnValueInt(info, TestPartialInterfacePython::partialLongAttribute(*
imp)); |
| 511 } | 529 } |
| 512 #endif // ENABLE(PARTIAL_CONDITION) | 530 #endif // ENABLE(PARTIAL_CONDITION) |
| 513 | 531 |
| 514 #if ENABLE(PARTIAL_CONDITION) | 532 #if ENABLE(PARTIAL_CONDITION) |
| 515 static void partialLongAttributeAttributeGetterCallback(v8::Local<v8::String>, c
onst v8::PropertyCallbackInfo<v8::Value>& info) | 533 static void partialLongAttributeAttributeGetterCallback(v8::Local<v8::String>, c
onst v8::PropertyCallbackInfo<v8::Value>& info) |
| 516 { | 534 { |
| 517 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter"); | 535 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter"); |
| 518 TestInterfacePythonImplementationV8Internal::partialLongAttributeAttributeGe
tter(info); | 536 TestInterfacePythonImplementationV8Internal::partialLongAttributeAttributeGe
tter(info); |
| 519 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution"); | 537 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution"); |
| 520 } | 538 } |
| 521 #endif // ENABLE(PARTIAL_CONDITION) | 539 #endif // ENABLE(PARTIAL_CONDITION) |
| 522 | 540 |
| 523 #if ENABLE(PARTIAL_CONDITION) | 541 #if ENABLE(PARTIAL_CONDITION) |
| 524 static void partialLongAttributeAttributeSetter(v8::Local<v8::Value> jsValue, co
nst v8::PropertyCallbackInfo<void>& info) | 542 static void partialLongAttributeAttributeSetter(v8::Local<v8::Value> jsValue, co
nst v8::PropertyCallbackInfo<void>& info) |
| 525 { | 543 { |
| 526 ExceptionState exceptionState(ExceptionState::SetterContext, "partialLongAtt
ribute", "TestInterfacePython", info.Holder(), info.GetIsolate()); | 544 ExceptionState exceptionState(ExceptionState::SetterContext, "partialLongAtt
ribute", "TestInterfacePython", info.Holder(), info.GetIsolate()); |
| 527 TestInterfacePythonImplementation* imp = V8TestInterfacePython::toNative(inf
o.Holder()); | 545 TestInterfacePythonImplementation* imp = V8TestInterfacePython::toNative(inf
o.Holder()); |
| 528 V8TRYCATCH_EXCEPTION_VOID(int, cppValue, toInt32(jsValue, exceptionState), e
xceptionState); | 546 V8TRYCATCH_EXCEPTION_VOID(int, cppValue, toInt32(jsValue, exceptionState), e
xceptionState); |
| 529 TestPartialInterfacePython::setPartialLongAttribute(imp, cppValue); | 547 ASSERT(imp); |
| 548 TestPartialInterfacePython::setPartialLongAttribute(*imp, cppValue); |
| 530 } | 549 } |
| 531 #endif // ENABLE(PARTIAL_CONDITION) | 550 #endif // ENABLE(PARTIAL_CONDITION) |
| 532 | 551 |
| 533 #if ENABLE(PARTIAL_CONDITION) | 552 #if ENABLE(PARTIAL_CONDITION) |
| 534 static void partialLongAttributeAttributeSetterCallback(v8::Local<v8::String>, v
8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) | 553 static void partialLongAttributeAttributeSetterCallback(v8::Local<v8::String>, v
8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) |
| 535 { | 554 { |
| 536 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter"); | 555 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter"); |
| 537 TestInterfacePythonImplementationV8Internal::partialLongAttributeAttributeSe
tter(jsValue, info); | 556 TestInterfacePythonImplementationV8Internal::partialLongAttributeAttributeSe
tter(jsValue, info); |
| 538 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution"); | 557 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution"); |
| 539 } | 558 } |
| (...skipping 30 matching lines...) Expand all Loading... |
| 570 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter"); | 589 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter"); |
| 571 TestInterfacePythonImplementationV8Internal::partialStaticLongAttributeAttri
buteSetter(jsValue, info); | 590 TestInterfacePythonImplementationV8Internal::partialStaticLongAttributeAttri
buteSetter(jsValue, info); |
| 572 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution"); | 591 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution"); |
| 573 } | 592 } |
| 574 #endif // ENABLE(PARTIAL_CONDITION) | 593 #endif // ENABLE(PARTIAL_CONDITION) |
| 575 | 594 |
| 576 #if ENABLE(PARTIAL_CONDITION) | 595 #if ENABLE(PARTIAL_CONDITION) |
| 577 static void partialCallWithExecutionContextLongAttributeAttributeGetter(const v8
::PropertyCallbackInfo<v8::Value>& info) | 596 static void partialCallWithExecutionContextLongAttributeAttributeGetter(const v8
::PropertyCallbackInfo<v8::Value>& info) |
| 578 { | 597 { |
| 579 TestInterfacePythonImplementation* imp = V8TestInterfacePython::toNative(inf
o.Holder()); | 598 TestInterfacePythonImplementation* imp = V8TestInterfacePython::toNative(inf
o.Holder()); |
| 599 ASSERT(imp); |
| 580 ExecutionContext* scriptContext = currentExecutionContext(info.GetIsolate())
; | 600 ExecutionContext* scriptContext = currentExecutionContext(info.GetIsolate())
; |
| 581 v8SetReturnValueInt(info, TestPartialInterfacePython::partialCallWithExecuti
onContextLongAttribute(scriptContext, imp)); | 601 v8SetReturnValueInt(info, TestPartialInterfacePython::partialCallWithExecuti
onContextLongAttribute(scriptContext, *imp)); |
| 582 } | 602 } |
| 583 #endif // ENABLE(PARTIAL_CONDITION) | 603 #endif // ENABLE(PARTIAL_CONDITION) |
| 584 | 604 |
| 585 #if ENABLE(PARTIAL_CONDITION) | 605 #if ENABLE(PARTIAL_CONDITION) |
| 586 static void partialCallWithExecutionContextLongAttributeAttributeGetterCallback(
v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info) | 606 static void partialCallWithExecutionContextLongAttributeAttributeGetterCallback(
v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info) |
| 587 { | 607 { |
| 588 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter"); | 608 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter"); |
| 589 TestInterfacePythonImplementationV8Internal::partialCallWithExecutionContext
LongAttributeAttributeGetter(info); | 609 TestInterfacePythonImplementationV8Internal::partialCallWithExecutionContext
LongAttributeAttributeGetter(info); |
| 590 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution"); | 610 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution"); |
| 591 } | 611 } |
| 592 #endif // ENABLE(PARTIAL_CONDITION) | 612 #endif // ENABLE(PARTIAL_CONDITION) |
| 593 | 613 |
| 594 #if ENABLE(PARTIAL_CONDITION) | 614 #if ENABLE(PARTIAL_CONDITION) |
| 595 static void partialCallWithExecutionContextLongAttributeAttributeSetter(v8::Loca
l<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) | 615 static void partialCallWithExecutionContextLongAttributeAttributeSetter(v8::Loca
l<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) |
| 596 { | 616 { |
| 597 ExceptionState exceptionState(ExceptionState::SetterContext, "partialCallWit
hExecutionContextLongAttribute", "TestInterfacePython", info.Holder(), info.GetI
solate()); | 617 ExceptionState exceptionState(ExceptionState::SetterContext, "partialCallWit
hExecutionContextLongAttribute", "TestInterfacePython", info.Holder(), info.GetI
solate()); |
| 598 TestInterfacePythonImplementation* imp = V8TestInterfacePython::toNative(inf
o.Holder()); | 618 TestInterfacePythonImplementation* imp = V8TestInterfacePython::toNative(inf
o.Holder()); |
| 599 V8TRYCATCH_EXCEPTION_VOID(int, cppValue, toInt32(jsValue, exceptionState), e
xceptionState); | 619 V8TRYCATCH_EXCEPTION_VOID(int, cppValue, toInt32(jsValue, exceptionState), e
xceptionState); |
| 620 ASSERT(imp); |
| 600 ExecutionContext* scriptContext = currentExecutionContext(info.GetIsolate())
; | 621 ExecutionContext* scriptContext = currentExecutionContext(info.GetIsolate())
; |
| 601 TestPartialInterfacePython::setPartialCallWithExecutionContextLongAttribute(
scriptContext, imp, cppValue); | 622 TestPartialInterfacePython::setPartialCallWithExecutionContextLongAttribute(
scriptContext, *imp, cppValue); |
| 602 } | 623 } |
| 603 #endif // ENABLE(PARTIAL_CONDITION) | 624 #endif // ENABLE(PARTIAL_CONDITION) |
| 604 | 625 |
| 605 #if ENABLE(PARTIAL_CONDITION) | 626 #if ENABLE(PARTIAL_CONDITION) |
| 606 static void partialCallWithExecutionContextLongAttributeAttributeSetterCallback(
v8::Local<v8::String>, v8::Local<v8::Value> jsValue, const v8::PropertyCallbackI
nfo<void>& info) | 627 static void partialCallWithExecutionContextLongAttributeAttributeSetterCallback(
v8::Local<v8::String>, v8::Local<v8::Value> jsValue, const v8::PropertyCallbackI
nfo<void>& info) |
| 607 { | 628 { |
| 608 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter"); | 629 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter"); |
| 609 TestInterfacePythonImplementationV8Internal::partialCallWithExecutionContext
LongAttributeAttributeSetter(jsValue, info); | 630 TestInterfacePythonImplementationV8Internal::partialCallWithExecutionContext
LongAttributeAttributeSetter(jsValue, info); |
| 610 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution"); | 631 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution"); |
| 611 } | 632 } |
| 612 #endif // ENABLE(PARTIAL_CONDITION) | 633 #endif // ENABLE(PARTIAL_CONDITION) |
| 613 | 634 |
| 614 static void partial2LongAttributeAttributeGetter(const v8::PropertyCallbackInfo<
v8::Value>& info) | 635 static void partial2LongAttributeAttributeGetter(const v8::PropertyCallbackInfo<
v8::Value>& info) |
| 615 { | 636 { |
| 616 TestInterfacePythonImplementation* imp = V8TestInterfacePython::toNative(inf
o.Holder()); | 637 TestInterfacePythonImplementation* imp = V8TestInterfacePython::toNative(inf
o.Holder()); |
| 617 v8SetReturnValueInt(info, TestPartialInterfacePythonImplementation::partial2
LongAttribute(imp)); | 638 ASSERT(imp); |
| 639 v8SetReturnValueInt(info, TestPartialInterfacePythonImplementation::partial2
LongAttribute(*imp)); |
| 618 } | 640 } |
| 619 | 641 |
| 620 static void partial2LongAttributeAttributeGetterCallback(v8::Local<v8::String>,
const v8::PropertyCallbackInfo<v8::Value>& info) | 642 static void partial2LongAttributeAttributeGetterCallback(v8::Local<v8::String>,
const v8::PropertyCallbackInfo<v8::Value>& info) |
| 621 { | 643 { |
| 622 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter"); | 644 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter"); |
| 623 TestInterfacePythonImplementationV8Internal::partial2LongAttributeAttributeG
etter(info); | 645 TestInterfacePythonImplementationV8Internal::partial2LongAttributeAttributeG
etter(info); |
| 624 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution"); | 646 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution"); |
| 625 } | 647 } |
| 626 | 648 |
| 627 static void partial2LongAttributeAttributeSetter(v8::Local<v8::Value> jsValue, c
onst v8::PropertyCallbackInfo<void>& info) | 649 static void partial2LongAttributeAttributeSetter(v8::Local<v8::Value> jsValue, c
onst v8::PropertyCallbackInfo<void>& info) |
| 628 { | 650 { |
| 629 ExceptionState exceptionState(ExceptionState::SetterContext, "partial2LongAt
tribute", "TestInterfacePython", info.Holder(), info.GetIsolate()); | 651 ExceptionState exceptionState(ExceptionState::SetterContext, "partial2LongAt
tribute", "TestInterfacePython", info.Holder(), info.GetIsolate()); |
| 630 TestInterfacePythonImplementation* imp = V8TestInterfacePython::toNative(inf
o.Holder()); | 652 TestInterfacePythonImplementation* imp = V8TestInterfacePython::toNative(inf
o.Holder()); |
| 631 V8TRYCATCH_EXCEPTION_VOID(int, cppValue, toInt32(jsValue, exceptionState), e
xceptionState); | 653 V8TRYCATCH_EXCEPTION_VOID(int, cppValue, toInt32(jsValue, exceptionState), e
xceptionState); |
| 632 TestPartialInterfacePythonImplementation::setPartial2LongAttribute(imp, cppV
alue); | 654 ASSERT(imp); |
| 655 TestPartialInterfacePythonImplementation::setPartial2LongAttribute(*imp, cpp
Value); |
| 633 } | 656 } |
| 634 | 657 |
| 635 static void partial2LongAttributeAttributeSetterCallback(v8::Local<v8::String>,
v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) | 658 static void partial2LongAttributeAttributeSetterCallback(v8::Local<v8::String>,
v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) |
| 636 { | 659 { |
| 637 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter"); | 660 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter"); |
| 638 TestInterfacePythonImplementationV8Internal::partial2LongAttributeAttributeS
etter(jsValue, info); | 661 TestInterfacePythonImplementationV8Internal::partial2LongAttributeAttributeS
etter(jsValue, info); |
| 639 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution"); | 662 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution"); |
| 640 } | 663 } |
| 641 | 664 |
| 642 static void partial2StaticLongAttributeAttributeGetter(const v8::PropertyCallbac
kInfo<v8::Value>& info) | 665 static void partial2StaticLongAttributeAttributeGetter(const v8::PropertyCallbac
kInfo<v8::Value>& info) |
| (...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 729 static void voidMethodMethodCallbackForMainWorld(const v8::FunctionCallbackInfo<
v8::Value>& info) | 752 static void voidMethodMethodCallbackForMainWorld(const v8::FunctionCallbackInfo<
v8::Value>& info) |
| 730 { | 753 { |
| 731 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); | 754 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); |
| 732 TestInterfacePythonImplementationV8Internal::voidMethodMethodForMainWorld(in
fo); | 755 TestInterfacePythonImplementationV8Internal::voidMethodMethodForMainWorld(in
fo); |
| 733 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution"); | 756 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution"); |
| 734 } | 757 } |
| 735 | 758 |
| 736 static void implementsVoidMethodMethod(const v8::FunctionCallbackInfo<v8::Value>
& info) | 759 static void implementsVoidMethodMethod(const v8::FunctionCallbackInfo<v8::Value>
& info) |
| 737 { | 760 { |
| 738 TestInterfacePythonImplementation* imp = V8TestInterfacePython::toNative(inf
o.Holder()); | 761 TestInterfacePythonImplementation* imp = V8TestInterfacePython::toNative(inf
o.Holder()); |
| 739 TestImplements::implementsVoidMethod(imp); | 762 ASSERT(imp); |
| 763 TestImplements::implementsVoidMethod(*imp); |
| 740 } | 764 } |
| 741 | 765 |
| 742 static void implementsVoidMethodMethodCallback(const v8::FunctionCallbackInfo<v8
::Value>& info) | 766 static void implementsVoidMethodMethodCallback(const v8::FunctionCallbackInfo<v8
::Value>& info) |
| 743 { | 767 { |
| 744 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); | 768 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); |
| 745 TestInterfacePythonImplementationV8Internal::implementsVoidMethodMethod(info
); | 769 TestInterfacePythonImplementationV8Internal::implementsVoidMethodMethod(info
); |
| 746 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution"); | 770 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution"); |
| 747 } | 771 } |
| 748 | 772 |
| 749 static void implementsComplexMethodMethod(const v8::FunctionCallbackInfo<v8::Val
ue>& info) | 773 static void implementsComplexMethodMethod(const v8::FunctionCallbackInfo<v8::Val
ue>& info) |
| 750 { | 774 { |
| 751 ExceptionState exceptionState(ExceptionState::ExecutionContext, "implementsC
omplexMethod", "TestInterfacePython", info.Holder(), info.GetIsolate()); | 775 ExceptionState exceptionState(ExceptionState::ExecutionContext, "implementsC
omplexMethod", "TestInterfacePython", info.Holder(), info.GetIsolate()); |
| 752 if (UNLIKELY(info.Length() < 2)) { | 776 if (UNLIKELY(info.Length() < 2)) { |
| 753 exceptionState.throwTypeError(ExceptionMessages::notEnoughArguments(2, i
nfo.Length())); | 777 exceptionState.throwTypeError(ExceptionMessages::notEnoughArguments(2, i
nfo.Length())); |
| 754 exceptionState.throwIfNeeded(); | 778 exceptionState.throwIfNeeded(); |
| 755 return; | 779 return; |
| 756 } | 780 } |
| 757 TestInterfacePythonImplementation* imp = V8TestInterfacePython::toNative(inf
o.Holder()); | 781 TestInterfacePythonImplementation* imp = V8TestInterfacePython::toNative(inf
o.Holder()); |
| 758 V8TRYCATCH_FOR_V8STRINGRESOURCE_VOID(V8StringResource<>, strArg, info[0]); | 782 V8TRYCATCH_FOR_V8STRINGRESOURCE_VOID(V8StringResource<>, strArg, info[0]); |
| 759 if (info.Length() > 1 && !V8TestInterfaceEmpty::hasInstance(info[1], info.Ge
tIsolate())) { | 783 if (info.Length() > 1 && !V8TestInterfaceEmpty::hasInstance(info[1], info.Ge
tIsolate())) { |
| 760 exceptionState.throwTypeError("parameter 2 is not of type 'TestInterface
Empty'."); | 784 exceptionState.throwTypeError("parameter 2 is not of type 'TestInterface
Empty'."); |
| 761 exceptionState.throwIfNeeded(); | 785 exceptionState.throwIfNeeded(); |
| 762 return; | 786 return; |
| 763 } | 787 } |
| 764 V8TRYCATCH_VOID(TestInterfaceEmpty*, testInterfaceEmptyArg, V8TestInterfaceE
mpty::hasInstance(info[1], info.GetIsolate()) ? V8TestInterfaceEmpty::toNative(v
8::Handle<v8::Object>::Cast(info[1])) : 0); | 788 V8TRYCATCH_VOID(TestInterfaceEmpty*, testInterfaceEmptyArg, V8TestInterfaceE
mpty::hasInstance(info[1], info.GetIsolate()) ? V8TestInterfaceEmpty::toNative(v
8::Handle<v8::Object>::Cast(info[1])) : 0); |
| 789 ASSERT(imp); |
| 765 ExecutionContext* scriptContext = currentExecutionContext(info.GetIsolate())
; | 790 ExecutionContext* scriptContext = currentExecutionContext(info.GetIsolate())
; |
| 766 RefPtr<TestInterfaceEmpty> result = TestImplements::implementsComplexMethod(
scriptContext, imp, strArg, testInterfaceEmptyArg, exceptionState); | 791 RefPtr<TestInterfaceEmpty> result = TestImplements::implementsComplexMethod(
scriptContext, *imp, strArg, testInterfaceEmptyArg, exceptionState); |
| 767 if (exceptionState.throwIfNeeded()) | 792 if (exceptionState.throwIfNeeded()) |
| 768 return; | 793 return; |
| 769 v8SetReturnValue(info, result.release()); | 794 v8SetReturnValue(info, result.release()); |
| 770 } | 795 } |
| 771 | 796 |
| 772 static void implementsComplexMethodMethodCallback(const v8::FunctionCallbackInfo
<v8::Value>& info) | 797 static void implementsComplexMethodMethodCallback(const v8::FunctionCallbackInfo
<v8::Value>& info) |
| 773 { | 798 { |
| 774 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); | 799 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); |
| 775 TestInterfacePythonImplementationV8Internal::implementsComplexMethodMethod(i
nfo); | 800 TestInterfacePythonImplementationV8Internal::implementsComplexMethodMethod(i
nfo); |
| 776 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution"); | 801 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution"); |
| (...skipping 14 matching lines...) Expand all Loading... |
| 791 static void implementsStaticVoidMethodMethodCallback(const v8::FunctionCallbackI
nfo<v8::Value>& info) | 816 static void implementsStaticVoidMethodMethodCallback(const v8::FunctionCallbackI
nfo<v8::Value>& info) |
| 792 { | 817 { |
| 793 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); | 818 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); |
| 794 TestInterfacePythonImplementationV8Internal::implementsStaticVoidMethodMetho
d(info); | 819 TestInterfacePythonImplementationV8Internal::implementsStaticVoidMethodMetho
d(info); |
| 795 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution"); | 820 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution"); |
| 796 } | 821 } |
| 797 | 822 |
| 798 static void implements2VoidMethodMethod(const v8::FunctionCallbackInfo<v8::Value
>& info) | 823 static void implements2VoidMethodMethod(const v8::FunctionCallbackInfo<v8::Value
>& info) |
| 799 { | 824 { |
| 800 TestInterfacePythonImplementation* imp = V8TestInterfacePython::toNative(inf
o.Holder()); | 825 TestInterfacePythonImplementation* imp = V8TestInterfacePython::toNative(inf
o.Holder()); |
| 801 TestImplements2Implementation::implements2VoidMethod(imp); | 826 ASSERT(imp); |
| 827 TestImplements2Implementation::implements2VoidMethod(*imp); |
| 802 } | 828 } |
| 803 | 829 |
| 804 static void implements2VoidMethodMethodCallback(const v8::FunctionCallbackInfo<v
8::Value>& info) | 830 static void implements2VoidMethodMethodCallback(const v8::FunctionCallbackInfo<v
8::Value>& info) |
| 805 { | 831 { |
| 806 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); | 832 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); |
| 807 TestInterfacePythonImplementationV8Internal::implements2VoidMethodMethod(inf
o); | 833 TestInterfacePythonImplementationV8Internal::implements2VoidMethodMethod(inf
o); |
| 808 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution"); | 834 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution"); |
| 809 } | 835 } |
| 810 | 836 |
| 811 static void implements3VoidMethodMethod(const v8::FunctionCallbackInfo<v8::Value
>& info) | 837 static void implements3VoidMethodMethod(const v8::FunctionCallbackInfo<v8::Value
>& info) |
| 812 { | 838 { |
| 813 TestInterfacePythonImplementation* imp = V8TestInterfacePython::toNative(inf
o.Holder()); | 839 TestInterfacePythonImplementation* imp = V8TestInterfacePython::toNative(inf
o.Holder()); |
| 814 TestImplements3::implements3VoidMethod(imp); | 840 ASSERT(imp); |
| 841 TestImplements3::implements3VoidMethod(*imp); |
| 815 } | 842 } |
| 816 | 843 |
| 817 static void implements3VoidMethodMethodCallback(const v8::FunctionCallbackInfo<v
8::Value>& info) | 844 static void implements3VoidMethodMethodCallback(const v8::FunctionCallbackInfo<v
8::Value>& info) |
| 818 { | 845 { |
| 819 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); | 846 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); |
| 820 TestInterfacePythonImplementationV8Internal::implements3VoidMethodMethod(inf
o); | 847 TestInterfacePythonImplementationV8Internal::implements3VoidMethodMethod(inf
o); |
| 821 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution"); | 848 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution"); |
| 822 } | 849 } |
| 823 | 850 |
| 824 static void implements3StaticVoidMethodMethod(const v8::FunctionCallbackInfo<v8:
:Value>& info) | 851 static void implements3StaticVoidMethodMethod(const v8::FunctionCallbackInfo<v8:
:Value>& info) |
| 825 { | 852 { |
| 826 TestImplements3::implements3StaticVoidMethod(); | 853 TestImplements3::implements3StaticVoidMethod(); |
| 827 } | 854 } |
| 828 | 855 |
| 829 static void implements3StaticVoidMethodMethodCallback(const v8::FunctionCallback
Info<v8::Value>& info) | 856 static void implements3StaticVoidMethodMethodCallback(const v8::FunctionCallback
Info<v8::Value>& info) |
| 830 { | 857 { |
| 831 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); | 858 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); |
| 832 TestInterfacePythonImplementationV8Internal::implements3StaticVoidMethodMeth
od(info); | 859 TestInterfacePythonImplementationV8Internal::implements3StaticVoidMethodMeth
od(info); |
| 833 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution"); | 860 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution"); |
| 834 } | 861 } |
| 835 | 862 |
| 836 #if ENABLE(PARTIAL_CONDITION) | 863 #if ENABLE(PARTIAL_CONDITION) |
| 837 static void partialVoidMethodMethod(const v8::FunctionCallbackInfo<v8::Value>& i
nfo) | 864 static void partialVoidMethodMethod(const v8::FunctionCallbackInfo<v8::Value>& i
nfo) |
| 838 { | 865 { |
| 839 TestInterfacePythonImplementation* imp = V8TestInterfacePython::toNative(inf
o.Holder()); | 866 TestInterfacePythonImplementation* imp = V8TestInterfacePython::toNative(inf
o.Holder()); |
| 840 TestPartialInterfacePython::partialVoidMethod(imp); | 867 ASSERT(imp); |
| 868 TestPartialInterfacePython::partialVoidMethod(*imp); |
| 841 } | 869 } |
| 842 #endif // ENABLE(PARTIAL_CONDITION) | 870 #endif // ENABLE(PARTIAL_CONDITION) |
| 843 | 871 |
| 844 #if ENABLE(PARTIAL_CONDITION) | 872 #if ENABLE(PARTIAL_CONDITION) |
| 845 static void partialVoidMethodMethodCallback(const v8::FunctionCallbackInfo<v8::V
alue>& info) | 873 static void partialVoidMethodMethodCallback(const v8::FunctionCallbackInfo<v8::V
alue>& info) |
| 846 { | 874 { |
| 847 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); | 875 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); |
| 848 TestInterfacePythonImplementationV8Internal::partialVoidMethodMethod(info); | 876 TestInterfacePythonImplementationV8Internal::partialVoidMethodMethod(info); |
| 849 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution"); | 877 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution"); |
| 850 } | 878 } |
| (...skipping 19 matching lines...) Expand all Loading... |
| 870 static void partialVoidMethodLongArgMethod(const v8::FunctionCallbackInfo<v8::Va
lue>& info) | 898 static void partialVoidMethodLongArgMethod(const v8::FunctionCallbackInfo<v8::Va
lue>& info) |
| 871 { | 899 { |
| 872 ExceptionState exceptionState(ExceptionState::ExecutionContext, "partialVoid
MethodLongArg", "TestInterfacePython", info.Holder(), info.GetIsolate()); | 900 ExceptionState exceptionState(ExceptionState::ExecutionContext, "partialVoid
MethodLongArg", "TestInterfacePython", info.Holder(), info.GetIsolate()); |
| 873 if (UNLIKELY(info.Length() < 1)) { | 901 if (UNLIKELY(info.Length() < 1)) { |
| 874 exceptionState.throwTypeError(ExceptionMessages::notEnoughArguments(1, i
nfo.Length())); | 902 exceptionState.throwTypeError(ExceptionMessages::notEnoughArguments(1, i
nfo.Length())); |
| 875 exceptionState.throwIfNeeded(); | 903 exceptionState.throwIfNeeded(); |
| 876 return; | 904 return; |
| 877 } | 905 } |
| 878 TestInterfacePythonImplementation* imp = V8TestInterfacePython::toNative(inf
o.Holder()); | 906 TestInterfacePythonImplementation* imp = V8TestInterfacePython::toNative(inf
o.Holder()); |
| 879 V8TRYCATCH_EXCEPTION_VOID(int, longArg, toInt32(info[0], exceptionState), ex
ceptionState); | 907 V8TRYCATCH_EXCEPTION_VOID(int, longArg, toInt32(info[0], exceptionState), ex
ceptionState); |
| 880 TestPartialInterfacePython::partialVoidMethodLongArg(imp, longArg); | 908 ASSERT(imp); |
| 909 TestPartialInterfacePython::partialVoidMethodLongArg(*imp, longArg); |
| 881 } | 910 } |
| 882 #endif // ENABLE(PARTIAL_CONDITION) | 911 #endif // ENABLE(PARTIAL_CONDITION) |
| 883 | 912 |
| 884 #if ENABLE(PARTIAL_CONDITION) | 913 #if ENABLE(PARTIAL_CONDITION) |
| 885 static void partialVoidMethodLongArgMethodCallback(const v8::FunctionCallbackInf
o<v8::Value>& info) | 914 static void partialVoidMethodLongArgMethodCallback(const v8::FunctionCallbackInf
o<v8::Value>& info) |
| 886 { | 915 { |
| 887 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); | 916 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); |
| 888 TestInterfacePythonImplementationV8Internal::partialVoidMethodLongArgMethod(
info); | 917 TestInterfacePythonImplementationV8Internal::partialVoidMethodLongArgMethod(
info); |
| 889 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution"); | 918 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution"); |
| 890 } | 919 } |
| 891 #endif // ENABLE(PARTIAL_CONDITION) | 920 #endif // ENABLE(PARTIAL_CONDITION) |
| 892 | 921 |
| 893 #if ENABLE(PARTIAL_CONDITION) | 922 #if ENABLE(PARTIAL_CONDITION) |
| 894 static void partialCallWithExecutionContextRaisesExceptionVoidMethodMethod(const
v8::FunctionCallbackInfo<v8::Value>& info) | 923 static void partialCallWithExecutionContextRaisesExceptionVoidMethodMethod(const
v8::FunctionCallbackInfo<v8::Value>& info) |
| 895 { | 924 { |
| 896 ExceptionState exceptionState(ExceptionState::ExecutionContext, "partialCall
WithExecutionContextRaisesExceptionVoidMethod", "TestInterfacePython", info.Hold
er(), info.GetIsolate()); | 925 ExceptionState exceptionState(ExceptionState::ExecutionContext, "partialCall
WithExecutionContextRaisesExceptionVoidMethod", "TestInterfacePython", info.Hold
er(), info.GetIsolate()); |
| 897 TestInterfacePythonImplementation* imp = V8TestInterfacePython::toNative(inf
o.Holder()); | 926 TestInterfacePythonImplementation* imp = V8TestInterfacePython::toNative(inf
o.Holder()); |
| 927 ASSERT(imp); |
| 898 ExecutionContext* scriptContext = currentExecutionContext(info.GetIsolate())
; | 928 ExecutionContext* scriptContext = currentExecutionContext(info.GetIsolate())
; |
| 899 TestPartialInterfacePython::partialCallWithExecutionContextRaisesExceptionVo
idMethod(scriptContext, imp, exceptionState); | 929 TestPartialInterfacePython::partialCallWithExecutionContextRaisesExceptionVo
idMethod(scriptContext, *imp, exceptionState); |
| 900 if (exceptionState.throwIfNeeded()) | 930 if (exceptionState.throwIfNeeded()) |
| 901 return; | 931 return; |
| 902 } | 932 } |
| 903 #endif // ENABLE(PARTIAL_CONDITION) | 933 #endif // ENABLE(PARTIAL_CONDITION) |
| 904 | 934 |
| 905 #if ENABLE(PARTIAL_CONDITION) | 935 #if ENABLE(PARTIAL_CONDITION) |
| 906 static void partialCallWithExecutionContextRaisesExceptionVoidMethodMethodCallba
ck(const v8::FunctionCallbackInfo<v8::Value>& info) | 936 static void partialCallWithExecutionContextRaisesExceptionVoidMethodMethodCallba
ck(const v8::FunctionCallbackInfo<v8::Value>& info) |
| 907 { | 937 { |
| 908 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); | 938 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); |
| 909 TestInterfacePythonImplementationV8Internal::partialCallWithExecutionContext
RaisesExceptionVoidMethodMethod(info); | 939 TestInterfacePythonImplementationV8Internal::partialCallWithExecutionContext
RaisesExceptionVoidMethodMethod(info); |
| 910 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution"); | 940 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution"); |
| 911 } | 941 } |
| 912 #endif // ENABLE(PARTIAL_CONDITION) | 942 #endif // ENABLE(PARTIAL_CONDITION) |
| 913 | 943 |
| 914 static void partial2VoidMethodMethod(const v8::FunctionCallbackInfo<v8::Value>&
info) | 944 static void partial2VoidMethodMethod(const v8::FunctionCallbackInfo<v8::Value>&
info) |
| 915 { | 945 { |
| 916 TestInterfacePythonImplementation* imp = V8TestInterfacePython::toNative(inf
o.Holder()); | 946 TestInterfacePythonImplementation* imp = V8TestInterfacePython::toNative(inf
o.Holder()); |
| 917 TestPartialInterfacePythonImplementation::partial2VoidMethod(imp); | 947 ASSERT(imp); |
| 948 TestPartialInterfacePythonImplementation::partial2VoidMethod(*imp); |
| 918 } | 949 } |
| 919 | 950 |
| 920 static void partial2VoidMethodMethodCallback(const v8::FunctionCallbackInfo<v8::
Value>& info) | 951 static void partial2VoidMethodMethodCallback(const v8::FunctionCallbackInfo<v8::
Value>& info) |
| 921 { | 952 { |
| 922 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); | 953 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); |
| 923 TestInterfacePythonImplementationV8Internal::partial2VoidMethodMethod(info); | 954 TestInterfacePythonImplementationV8Internal::partial2VoidMethodMethod(info); |
| 924 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution"); | 955 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution"); |
| 925 } | 956 } |
| 926 | 957 |
| 927 static void partial2StaticVoidMethodMethod(const v8::FunctionCallbackInfo<v8::Va
lue>& info) | 958 static void partial2StaticVoidMethodMethod(const v8::FunctionCallbackInfo<v8::Va
lue>& info) |
| (...skipping 179 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1107 } | 1138 } |
| 1108 | 1139 |
| 1109 template<> | 1140 template<> |
| 1110 v8::Handle<v8::Value> toV8NoInline(TestInterfacePythonImplementation* impl, v8::
Handle<v8::Object> creationContext, v8::Isolate* isolate) | 1141 v8::Handle<v8::Value> toV8NoInline(TestInterfacePythonImplementation* impl, v8::
Handle<v8::Object> creationContext, v8::Isolate* isolate) |
| 1111 { | 1142 { |
| 1112 return toV8(impl, creationContext, isolate); | 1143 return toV8(impl, creationContext, isolate); |
| 1113 } | 1144 } |
| 1114 | 1145 |
| 1115 } // namespace WebCore | 1146 } // namespace WebCore |
| 1116 #endif // ENABLE(CONDITION) | 1147 #endif // ENABLE(CONDITION) |
| OLD | NEW |