| 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 23 matching lines...) Expand all Loading... |
| 34 #if ENABLE(CONDITION) | 34 #if ENABLE(CONDITION) |
| 35 #include "V8TestInterfacePython.h" | 35 #include "V8TestInterfacePython.h" |
| 36 | 36 |
| 37 #include "RuntimeEnabledFeatures.h" | 37 #include "RuntimeEnabledFeatures.h" |
| 38 #include "V8Node.h" | 38 #include "V8Node.h" |
| 39 #include "V8ReferencedType.h" | 39 #include "V8ReferencedType.h" |
| 40 #include "V8TestImplementedAs.h" | 40 #include "V8TestImplementedAs.h" |
| 41 #include "V8TestInterfaceEmpty.h" | 41 #include "V8TestInterfaceEmpty.h" |
| 42 #include "bindings/tests/idls/TestImplements.h" | 42 #include "bindings/tests/idls/TestImplements.h" |
| 43 #include "bindings/tests/idls/TestImplements2Implementation.h" | 43 #include "bindings/tests/idls/TestImplements2Implementation.h" |
| 44 #include "bindings/tests/idls/TestImplements3.h" | |
| 45 #include "bindings/tests/idls/TestPartialInterfacePython.h" | 44 #include "bindings/tests/idls/TestPartialInterfacePython.h" |
| 46 #include "bindings/tests/idls/TestPartialInterfacePythonImplementation.h" | 45 #include "bindings/tests/idls/TestPartialInterfacePythonImplementation.h" |
| 47 #include "bindings/v8/ExceptionState.h" | 46 #include "bindings/v8/ExceptionState.h" |
| 48 #include "bindings/v8/V8AbstractEventListener.h" | 47 #include "bindings/v8/V8AbstractEventListener.h" |
| 49 #include "bindings/v8/V8DOMConfiguration.h" | 48 #include "bindings/v8/V8DOMConfiguration.h" |
| 50 #include "bindings/v8/V8EventListenerList.h" | 49 #include "bindings/v8/V8EventListenerList.h" |
| 51 #include "bindings/v8/V8ObjectConstructor.h" | 50 #include "bindings/v8/V8ObjectConstructor.h" |
| 52 #include "core/dom/ContextFeatures.h" | 51 #include "core/dom/ContextFeatures.h" |
| 53 #include "core/dom/Document.h" | 52 #include "core/dom/Document.h" |
| 54 #include "platform/TraceEvent.h" | 53 #include "platform/TraceEvent.h" |
| (...skipping 389 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 444 TestImplements2Implementation::setImplements2StringAttribute(imp, cppValue); | 443 TestImplements2Implementation::setImplements2StringAttribute(imp, cppValue); |
| 445 } | 444 } |
| 446 | 445 |
| 447 static void implements2StringAttributeAttributeSetterCallback(v8::Local<v8::Stri
ng>, v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) | 446 static void implements2StringAttributeAttributeSetterCallback(v8::Local<v8::Stri
ng>, v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) |
| 448 { | 447 { |
| 449 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter"); | 448 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter"); |
| 450 TestInterfacePythonImplementationV8Internal::implements2StringAttributeAttri
buteSetter(jsValue, info); | 449 TestInterfacePythonImplementationV8Internal::implements2StringAttributeAttri
buteSetter(jsValue, info); |
| 451 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution"); | 450 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution"); |
| 452 } | 451 } |
| 453 | 452 |
| 454 static void implements3StringAttributeAttributeGetter(const v8::PropertyCallback
Info<v8::Value>& info) | |
| 455 { | |
| 456 TestInterfacePythonImplementation* imp = V8TestInterfacePython::toNative(inf
o.Holder()); | |
| 457 v8SetReturnValueString(info, TestImplements3::implements3StringAttribute(imp
), info.GetIsolate()); | |
| 458 } | |
| 459 | |
| 460 static void implements3StringAttributeAttributeGetterCallback(v8::Local<v8::Stri
ng>, const v8::PropertyCallbackInfo<v8::Value>& info) | |
| 461 { | |
| 462 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter"); | |
| 463 TestInterfacePythonImplementationV8Internal::implements3StringAttributeAttri
buteGetter(info); | |
| 464 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution"); | |
| 465 } | |
| 466 | |
| 467 static void implements3StringAttributeAttributeSetter(v8::Local<v8::Value> jsVal
ue, const v8::PropertyCallbackInfo<void>& info) | |
| 468 { | |
| 469 TestInterfacePythonImplementation* imp = V8TestInterfacePython::toNative(inf
o.Holder()); | |
| 470 V8TRYCATCH_FOR_V8STRINGRESOURCE_VOID(V8StringResource<>, cppValue, jsValue); | |
| 471 TestImplements3::setImplements3StringAttribute(imp, cppValue); | |
| 472 } | |
| 473 | |
| 474 static void implements3StringAttributeAttributeSetterCallback(v8::Local<v8::Stri
ng>, v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) | |
| 475 { | |
| 476 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter"); | |
| 477 TestInterfacePythonImplementationV8Internal::implements3StringAttributeAttri
buteSetter(jsValue, info); | |
| 478 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution"); | |
| 479 } | |
| 480 | |
| 481 static void implements3StaticStringAttributeAttributeGetter(const v8::PropertyCa
llbackInfo<v8::Value>& info) | |
| 482 { | |
| 483 v8SetReturnValueString(info, TestImplements3::implements3StaticStringAttribu
te(), info.GetIsolate()); | |
| 484 } | |
| 485 | |
| 486 static void implements3StaticStringAttributeAttributeGetterCallback(v8::Local<v8
::String>, const v8::PropertyCallbackInfo<v8::Value>& info) | |
| 487 { | |
| 488 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter"); | |
| 489 TestInterfacePythonImplementationV8Internal::implements3StaticStringAttribut
eAttributeGetter(info); | |
| 490 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution"); | |
| 491 } | |
| 492 | |
| 493 static void implements3StaticStringAttributeAttributeSetter(v8::Local<v8::Value>
jsValue, const v8::PropertyCallbackInfo<void>& info) | |
| 494 { | |
| 495 V8TRYCATCH_FOR_V8STRINGRESOURCE_VOID(V8StringResource<>, cppValue, jsValue); | |
| 496 TestImplements3::setImplements3StaticStringAttribute(cppValue); | |
| 497 } | |
| 498 | |
| 499 static void implements3StaticStringAttributeAttributeSetterCallback(v8::Local<v8
::String>, v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& i
nfo) | |
| 500 { | |
| 501 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter"); | |
| 502 TestInterfacePythonImplementationV8Internal::implements3StaticStringAttribut
eAttributeSetter(jsValue, info); | |
| 503 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution"); | |
| 504 } | |
| 505 | |
| 506 #if ENABLE(PARTIAL_CONDITION) | 453 #if ENABLE(PARTIAL_CONDITION) |
| 507 static void partialLongAttributeAttributeGetter(const v8::PropertyCallbackInfo<v
8::Value>& info) | 454 static void partialLongAttributeAttributeGetter(const v8::PropertyCallbackInfo<v
8::Value>& info) |
| 508 { | 455 { |
| 509 TestInterfacePythonImplementation* imp = V8TestInterfacePython::toNative(inf
o.Holder()); | 456 TestInterfacePythonImplementation* imp = V8TestInterfacePython::toNative(inf
o.Holder()); |
| 510 v8SetReturnValueInt(info, TestPartialInterfacePython::partialLongAttribute(i
mp)); | 457 v8SetReturnValueInt(info, TestPartialInterfacePython::partialLongAttribute(i
mp)); |
| 511 } | 458 } |
| 512 #endif // ENABLE(PARTIAL_CONDITION) | 459 #endif // ENABLE(PARTIAL_CONDITION) |
| 513 | 460 |
| 514 #if ENABLE(PARTIAL_CONDITION) | 461 #if ENABLE(PARTIAL_CONDITION) |
| 515 static void partialLongAttributeAttributeGetterCallback(v8::Local<v8::String>, c
onst v8::PropertyCallbackInfo<v8::Value>& info) | 462 static void partialLongAttributeAttributeGetterCallback(v8::Local<v8::String>, c
onst v8::PropertyCallbackInfo<v8::Value>& info) |
| (...skipping 285 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 801 TestImplements2Implementation::implements2VoidMethod(imp); | 748 TestImplements2Implementation::implements2VoidMethod(imp); |
| 802 } | 749 } |
| 803 | 750 |
| 804 static void implements2VoidMethodMethodCallback(const v8::FunctionCallbackInfo<v
8::Value>& info) | 751 static void implements2VoidMethodMethodCallback(const v8::FunctionCallbackInfo<v
8::Value>& info) |
| 805 { | 752 { |
| 806 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); | 753 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); |
| 807 TestInterfacePythonImplementationV8Internal::implements2VoidMethodMethod(inf
o); | 754 TestInterfacePythonImplementationV8Internal::implements2VoidMethodMethod(inf
o); |
| 808 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution"); | 755 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution"); |
| 809 } | 756 } |
| 810 | 757 |
| 811 static void implements3VoidMethodMethod(const v8::FunctionCallbackInfo<v8::Value
>& info) | |
| 812 { | |
| 813 TestInterfacePythonImplementation* imp = V8TestInterfacePython::toNative(inf
o.Holder()); | |
| 814 TestImplements3::implements3VoidMethod(imp); | |
| 815 } | |
| 816 | |
| 817 static void implements3VoidMethodMethodCallback(const v8::FunctionCallbackInfo<v
8::Value>& info) | |
| 818 { | |
| 819 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); | |
| 820 TestInterfacePythonImplementationV8Internal::implements3VoidMethodMethod(inf
o); | |
| 821 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution"); | |
| 822 } | |
| 823 | |
| 824 static void implements3StaticVoidMethodMethod(const v8::FunctionCallbackInfo<v8:
:Value>& info) | |
| 825 { | |
| 826 TestImplements3::implements3StaticVoidMethod(); | |
| 827 } | |
| 828 | |
| 829 static void implements3StaticVoidMethodMethodCallback(const v8::FunctionCallback
Info<v8::Value>& info) | |
| 830 { | |
| 831 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); | |
| 832 TestInterfacePythonImplementationV8Internal::implements3StaticVoidMethodMeth
od(info); | |
| 833 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution"); | |
| 834 } | |
| 835 | |
| 836 #if ENABLE(PARTIAL_CONDITION) | 758 #if ENABLE(PARTIAL_CONDITION) |
| 837 static void partialVoidMethodMethod(const v8::FunctionCallbackInfo<v8::Value>& i
nfo) | 759 static void partialVoidMethodMethod(const v8::FunctionCallbackInfo<v8::Value>& i
nfo) |
| 838 { | 760 { |
| 839 TestInterfacePythonImplementation* imp = V8TestInterfacePython::toNative(inf
o.Holder()); | 761 TestInterfacePythonImplementation* imp = V8TestInterfacePython::toNative(inf
o.Holder()); |
| 840 TestPartialInterfacePython::partialVoidMethod(imp); | 762 TestPartialInterfacePython::partialVoidMethod(imp); |
| 841 } | 763 } |
| 842 #endif // ENABLE(PARTIAL_CONDITION) | 764 #endif // ENABLE(PARTIAL_CONDITION) |
| 843 | 765 |
| 844 #if ENABLE(PARTIAL_CONDITION) | 766 #if ENABLE(PARTIAL_CONDITION) |
| 845 static void partialVoidMethodMethodCallback(const v8::FunctionCallbackInfo<v8::V
alue>& info) | 767 static void partialVoidMethodMethodCallback(const v8::FunctionCallbackInfo<v8::V
alue>& info) |
| (...skipping 107 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 953 } | 875 } |
| 954 | 876 |
| 955 static const V8DOMConfiguration::AttributeConfiguration V8TestInterfacePythonAtt
ributes[] = { | 877 static const V8DOMConfiguration::AttributeConfiguration V8TestInterfacePythonAtt
ributes[] = { |
| 956 {"testInterfacePythonAttribute", TestInterfacePythonImplementationV8Internal
::testInterfacePythonAttributeAttributeGetterCallback, TestInterfacePythonImplem
entationV8Internal::testInterfacePythonAttributeAttributeSetterCallback, 0, 0, 0
, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute
>(v8::None), 0 /* on instance */}, | 878 {"testInterfacePythonAttribute", TestInterfacePythonImplementationV8Internal
::testInterfacePythonAttributeAttributeGetterCallback, TestInterfacePythonImplem
entationV8Internal::testInterfacePythonAttributeAttributeSetterCallback, 0, 0, 0
, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute
>(v8::None), 0 /* on instance */}, |
| 957 {"testImplementedAsConstructorAttribute", TestInterfacePythonImplementationV
8Internal::TestInterfacePythonImplementationConstructorGetter, TestInterfacePyth
onImplementationV8Internal::TestInterfacePythonImplementationReplaceableAttribut
eSetterCallback, 0, 0, const_cast<WrapperTypeInfo*>(&V8TestImplementedAs::wrappe
rTypeInfo), static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::Propert
yAttribute>(v8::DontEnum), 0 /* on instance */}, | 879 {"testImplementedAsConstructorAttribute", TestInterfacePythonImplementationV
8Internal::TestInterfacePythonImplementationConstructorGetter, TestInterfacePyth
onImplementationV8Internal::TestInterfacePythonImplementationReplaceableAttribut
eSetterCallback, 0, 0, const_cast<WrapperTypeInfo*>(&V8TestImplementedAs::wrappe
rTypeInfo), static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::Propert
yAttribute>(v8::DontEnum), 0 /* on instance */}, |
| 958 {"perWorldBindingsStringAttribute", TestInterfacePythonImplementationV8Inter
nal::perWorldBindingsStringAttributeAttributeGetterCallback, TestInterfacePython
ImplementationV8Internal::perWorldBindingsStringAttributeAttributeSetterCallback
, TestInterfacePythonImplementationV8Internal::perWorldBindingsStringAttributeAt
tributeGetterCallbackForMainWorld, TestInterfacePythonImplementationV8Internal::
perWorldBindingsStringAttributeAttributeSetterCallbackForMainWorld, 0, static_ca
st<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None)
, 0 /* on instance */}, | 880 {"perWorldBindingsStringAttribute", TestInterfacePythonImplementationV8Inter
nal::perWorldBindingsStringAttributeAttributeGetterCallback, TestInterfacePython
ImplementationV8Internal::perWorldBindingsStringAttributeAttributeSetterCallback
, TestInterfacePythonImplementationV8Internal::perWorldBindingsStringAttributeAt
tributeGetterCallbackForMainWorld, TestInterfacePythonImplementationV8Internal::
perWorldBindingsStringAttributeAttributeSetterCallbackForMainWorld, 0, static_ca
st<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None)
, 0 /* on instance */}, |
| 959 {"implementsReadonlyStringAttribute", TestInterfacePythonImplementationV8Int
ernal::implementsReadonlyStringAttributeAttributeGetterCallback, 0, 0, 0, 0, sta
tic_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8:
:None), 0 /* on instance */}, | 881 {"implementsReadonlyStringAttribute", TestInterfacePythonImplementationV8Int
ernal::implementsReadonlyStringAttributeAttributeGetterCallback, 0, 0, 0, 0, sta
tic_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8:
:None), 0 /* on instance */}, |
| 960 {"implementsStringAttribute", TestInterfacePythonImplementationV8Internal::i
mplementsStringAttributeAttributeGetterCallback, TestInterfacePythonImplementati
onV8Internal::implementsStringAttributeAttributeSetterCallback, 0, 0, 0, static_
cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::Non
e), 0 /* on instance */}, | 882 {"implementsStringAttribute", TestInterfacePythonImplementationV8Internal::i
mplementsStringAttributeAttributeGetterCallback, TestInterfacePythonImplementati
onV8Internal::implementsStringAttributeAttributeSetterCallback, 0, 0, 0, static_
cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::Non
e), 0 /* on instance */}, |
| 961 {"implementsNodeAttribute", TestInterfacePythonImplementationV8Internal::imp
lementsNodeAttributeAttributeGetterCallback, TestInterfacePythonImplementationV8
Internal::implementsNodeAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v
8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0
/* on instance */}, | 883 {"implementsNodeAttribute", TestInterfacePythonImplementationV8Internal::imp
lementsNodeAttributeAttributeGetterCallback, TestInterfacePythonImplementationV8
Internal::implementsNodeAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v
8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0
/* on instance */}, |
| 962 {"implementsEventHandlerAttribute", TestInterfacePythonImplementationV8Inter
nal::implementsEventHandlerAttributeAttributeGetterCallback, TestInterfacePython
ImplementationV8Internal::implementsEventHandlerAttributeAttributeSetterCallback
, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::Property
Attribute>(v8::None), 0 /* on instance */}, | 884 {"implementsEventHandlerAttribute", TestInterfacePythonImplementationV8Inter
nal::implementsEventHandlerAttributeAttributeGetterCallback, TestInterfacePython
ImplementationV8Internal::implementsEventHandlerAttributeAttributeSetterCallback
, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::Property
Attribute>(v8::None), 0 /* on instance */}, |
| 963 {"implements3StringAttribute", TestInterfacePythonImplementationV8Internal::
implements3StringAttributeAttributeGetterCallback, TestInterfacePythonImplementa
tionV8Internal::implements3StringAttributeAttributeSetterCallback, 0, 0, 0, stat
ic_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::
None), 0 /* on instance */}, | |
| 964 {"partial2LongAttribute", TestInterfacePythonImplementationV8Internal::parti
al2LongAttributeAttributeGetterCallback, TestInterfacePythonImplementationV8Inte
rnal::partial2LongAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::Acc
essControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on
instance */}, | 885 {"partial2LongAttribute", TestInterfacePythonImplementationV8Internal::parti
al2LongAttributeAttributeGetterCallback, TestInterfacePythonImplementationV8Inte
rnal::partial2LongAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::Acc
essControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on
instance */}, |
| 965 }; | 886 }; |
| 966 | 887 |
| 967 static const V8DOMConfiguration::MethodConfiguration V8TestInterfacePythonMethod
s[] = { | 888 static const V8DOMConfiguration::MethodConfiguration V8TestInterfacePythonMethod
s[] = { |
| 968 {"voidMethodTestInterfaceEmptyArg", TestInterfacePythonImplementationV8Inter
nal::voidMethodTestInterfaceEmptyArgMethodCallback, 0, 1}, | 889 {"voidMethodTestInterfaceEmptyArg", TestInterfacePythonImplementationV8Inter
nal::voidMethodTestInterfaceEmptyArgMethodCallback, 0, 1}, |
| 969 {"voidMethod", TestInterfacePythonImplementationV8Internal::voidMethodMethod
Callback, TestInterfacePythonImplementationV8Internal::voidMethodMethodCallbackF
orMainWorld, 0}, | 890 {"voidMethod", TestInterfacePythonImplementationV8Internal::voidMethodMethod
Callback, TestInterfacePythonImplementationV8Internal::voidMethodMethodCallbackF
orMainWorld, 0}, |
| 970 {"implementsVoidMethod", TestInterfacePythonImplementationV8Internal::implem
entsVoidMethodMethodCallback, 0, 0}, | 891 {"implementsVoidMethod", TestInterfacePythonImplementationV8Internal::implem
entsVoidMethodMethodCallback, 0, 0}, |
| 971 {"implementsComplexMethod", TestInterfacePythonImplementationV8Internal::imp
lementsComplexMethodMethodCallback, 0, 2}, | 892 {"implementsComplexMethod", TestInterfacePythonImplementationV8Internal::imp
lementsComplexMethodMethodCallback, 0, 2}, |
| 972 {"implementsCustomVoidMethod", TestInterfacePythonImplementationV8Internal::
implementsCustomVoidMethodMethodCallback, 0, 0}, | 893 {"implementsCustomVoidMethod", TestInterfacePythonImplementationV8Internal::
implementsCustomVoidMethodMethodCallback, 0, 0}, |
| 973 {"implements3VoidMethod", TestInterfacePythonImplementationV8Internal::imple
ments3VoidMethodMethodCallback, 0, 0}, | |
| 974 {"partial2VoidMethod", TestInterfacePythonImplementationV8Internal::partial2
VoidMethodMethodCallback, 0, 0}, | 894 {"partial2VoidMethod", TestInterfacePythonImplementationV8Internal::partial2
VoidMethodMethodCallback, 0, 0}, |
| 975 }; | 895 }; |
| 976 | 896 |
| 977 static void configureV8TestInterfacePythonTemplate(v8::Handle<v8::FunctionTempla
te> functionTemplate, v8::Isolate* isolate, WrapperWorldType currentWorldType) | 897 static void configureV8TestInterfacePythonTemplate(v8::Handle<v8::FunctionTempla
te> functionTemplate, v8::Isolate* isolate, WrapperWorldType currentWorldType) |
| 978 { | 898 { |
| 979 functionTemplate->ReadOnlyPrototype(); | 899 functionTemplate->ReadOnlyPrototype(); |
| 980 | 900 |
| 981 v8::Local<v8::Signature> defaultSignature; | 901 v8::Local<v8::Signature> defaultSignature; |
| 982 if (!RuntimeEnabledFeatures::featureNameEnabled()) | 902 if (!RuntimeEnabledFeatures::featureNameEnabled()) |
| 983 defaultSignature = V8DOMConfiguration::installDOMClassTemplate(functionT
emplate, "", V8TestInterfaceEmpty::domTemplate(isolate, currentWorldType), V8Tes
tInterfacePython::internalFieldCount, 0, 0, 0, 0, 0, 0, isolate, currentWorldTyp
e); | 903 defaultSignature = V8DOMConfiguration::installDOMClassTemplate(functionT
emplate, "", V8TestInterfaceEmpty::domTemplate(isolate, currentWorldType), V8Tes
tInterfacePython::internalFieldCount, 0, 0, 0, 0, 0, 0, isolate, currentWorldTyp
e); |
| (...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1026 } | 946 } |
| 1027 COMPILE_ASSERT(0 == TestInterfacePythonImplementation::UNSIGNED_LONG, TheVal
ueOfTestInterfacePythonImplementation_UNSIGNED_LONGDoesntMatchWithImplementation
); | 947 COMPILE_ASSERT(0 == TestInterfacePythonImplementation::UNSIGNED_LONG, TheVal
ueOfTestInterfacePythonImplementation_UNSIGNED_LONGDoesntMatchWithImplementation
); |
| 1028 COMPILE_ASSERT(1 == TestImplements::IMPLEMENTS_CONSTANT_1, TheValueOfTestInt
erfacePythonImplementation_IMPLEMENTS_CONSTANT_1DoesntMatchWithImplementation); | 948 COMPILE_ASSERT(1 == TestImplements::IMPLEMENTS_CONSTANT_1, TheValueOfTestInt
erfacePythonImplementation_IMPLEMENTS_CONSTANT_1DoesntMatchWithImplementation); |
| 1029 COMPILE_ASSERT(2 == TestImplements::IMPLEMENTS_REFLECT_CONSTANT, TheValueOfT
estInterfacePythonImplementation_IMPLEMENTS_REFLECT_CONSTANTDoesntMatchWithImple
mentation); | 949 COMPILE_ASSERT(2 == TestImplements::IMPLEMENTS_REFLECT_CONSTANT, TheValueOfT
estInterfacePythonImplementation_IMPLEMENTS_REFLECT_CONSTANTDoesntMatchWithImple
mentation); |
| 1030 COMPILE_ASSERT(0 == TestPartialInterfacePython::PARTIAL_UNSIGNED_SHORT, TheV
alueOfTestInterfacePythonImplementation_PARTIAL_UNSIGNED_SHORTDoesntMatchWithImp
lementation); | 950 COMPILE_ASSERT(0 == TestPartialInterfacePython::PARTIAL_UNSIGNED_SHORT, TheV
alueOfTestInterfacePythonImplementation_PARTIAL_UNSIGNED_SHORTDoesntMatchWithImp
lementation); |
| 1031 COMPILE_ASSERT(0 == TestPartialInterfacePythonImplementation::PARTIAL2_UNSIG
NED_SHORT, TheValueOfTestInterfacePythonImplementation_PARTIAL2_UNSIGNED_SHORTDo
esntMatchWithImplementation); | 951 COMPILE_ASSERT(0 == TestPartialInterfacePythonImplementation::PARTIAL2_UNSIG
NED_SHORT, TheValueOfTestInterfacePythonImplementation_PARTIAL2_UNSIGNED_SHORTDo
esntMatchWithImplementation); |
| 1032 functionTemplate->InstanceTemplate()->SetCallAsFunctionHandler(V8TestInterfa
cePython::legacyCallCustom); | 952 functionTemplate->InstanceTemplate()->SetCallAsFunctionHandler(V8TestInterfa
cePython::legacyCallCustom); |
| 1033 functionTemplate->Set(v8AtomicString(isolate, "implementsStaticVoidMethod"),
v8::FunctionTemplate::New(isolate, TestInterfacePythonImplementationV8Internal:
:implementsStaticVoidMethodMethodCallback, v8Undefined(), v8::Local<v8::Signatur
e>(), 0)); | 953 functionTemplate->Set(v8AtomicString(isolate, "implementsStaticVoidMethod"),
v8::FunctionTemplate::New(isolate, TestInterfacePythonImplementationV8Internal:
:implementsStaticVoidMethodMethodCallback, v8Undefined(), v8::Local<v8::Signatur
e>(), 0)); |
| 1034 if (RuntimeEnabledFeatures::implements2FeatureNameEnabled()) | 954 if (RuntimeEnabledFeatures::implements2FeatureNameEnabled()) |
| 1035 prototypeTemplate->Set(v8AtomicString(isolate, "implements2VoidMethod"),
v8::FunctionTemplate::New(isolate, TestInterfacePythonImplementationV8Internal:
:implements2VoidMethodMethodCallback, v8Undefined(), defaultSignature, 0)); | 955 prototypeTemplate->Set(v8AtomicString(isolate, "implements2VoidMethod"),
v8::FunctionTemplate::New(isolate, TestInterfacePythonImplementationV8Internal:
:implements2VoidMethodMethodCallback, v8Undefined(), defaultSignature, 0)); |
| 1036 functionTemplate->Set(v8AtomicString(isolate, "implements3StaticVoidMethod")
, v8::FunctionTemplate::New(isolate, TestInterfacePythonImplementationV8Internal
::implements3StaticVoidMethodMethodCallback, v8Undefined(), v8::Local<v8::Signat
ure>(), 0)); | |
| 1037 #if ENABLE(PARTIAL_CONDITION) | 956 #if ENABLE(PARTIAL_CONDITION) |
| 1038 if (RuntimeEnabledFeatures::partialFeatureNameEnabled()) | 957 if (RuntimeEnabledFeatures::partialFeatureNameEnabled()) |
| 1039 prototypeTemplate->Set(v8AtomicString(isolate, "partialVoidMethod"), v8:
:FunctionTemplate::New(isolate, TestInterfacePythonImplementationV8Internal::par
tialVoidMethodMethodCallback, v8Undefined(), defaultSignature, 0)); | 958 prototypeTemplate->Set(v8AtomicString(isolate, "partialVoidMethod"), v8:
:FunctionTemplate::New(isolate, TestInterfacePythonImplementationV8Internal::par
tialVoidMethodMethodCallback, v8Undefined(), defaultSignature, 0)); |
| 1040 #endif // ENABLE(PARTIAL_CONDITION) | 959 #endif // ENABLE(PARTIAL_CONDITION) |
| 1041 #if ENABLE(PARTIAL_CONDITION) | 960 #if ENABLE(PARTIAL_CONDITION) |
| 1042 if (RuntimeEnabledFeatures::partialFeatureNameEnabled()) | 961 if (RuntimeEnabledFeatures::partialFeatureNameEnabled()) |
| 1043 functionTemplate->Set(v8AtomicString(isolate, "partialStaticVoidMethod")
, v8::FunctionTemplate::New(isolate, TestInterfacePythonImplementationV8Internal
::partialStaticVoidMethodMethodCallback, v8Undefined(), v8::Local<v8::Signature>
(), 0)); | 962 functionTemplate->Set(v8AtomicString(isolate, "partialStaticVoidMethod")
, v8::FunctionTemplate::New(isolate, TestInterfacePythonImplementationV8Internal
::partialStaticVoidMethodMethodCallback, v8Undefined(), v8::Local<v8::Signature>
(), 0)); |
| 1044 #endif // ENABLE(PARTIAL_CONDITION) | 963 #endif // ENABLE(PARTIAL_CONDITION) |
| 1045 #if ENABLE(PARTIAL_CONDITION) | 964 #if ENABLE(PARTIAL_CONDITION) |
| 1046 if (RuntimeEnabledFeatures::partialFeatureNameEnabled()) | 965 if (RuntimeEnabledFeatures::partialFeatureNameEnabled()) |
| 1047 prototypeTemplate->Set(v8AtomicString(isolate, "partialVoidMethodLongArg
"), v8::FunctionTemplate::New(isolate, TestInterfacePythonImplementationV8Intern
al::partialVoidMethodLongArgMethodCallback, v8Undefined(), defaultSignature, 1))
; | 966 prototypeTemplate->Set(v8AtomicString(isolate, "partialVoidMethodLongArg
"), v8::FunctionTemplate::New(isolate, TestInterfacePythonImplementationV8Intern
al::partialVoidMethodLongArgMethodCallback, v8Undefined(), defaultSignature, 1))
; |
| 1048 #endif // ENABLE(PARTIAL_CONDITION) | 967 #endif // ENABLE(PARTIAL_CONDITION) |
| 1049 #if ENABLE(PARTIAL_CONDITION) | 968 #if ENABLE(PARTIAL_CONDITION) |
| 1050 if (RuntimeEnabledFeatures::partialFeatureNameEnabled()) | 969 if (RuntimeEnabledFeatures::partialFeatureNameEnabled()) |
| 1051 prototypeTemplate->Set(v8AtomicString(isolate, "partialCallWithExecution
ContextRaisesExceptionVoidMethod"), v8::FunctionTemplate::New(isolate, TestInter
facePythonImplementationV8Internal::partialCallWithExecutionContextRaisesExcepti
onVoidMethodMethodCallback, v8Undefined(), defaultSignature, 0)); | 970 prototypeTemplate->Set(v8AtomicString(isolate, "partialCallWithExecution
ContextRaisesExceptionVoidMethod"), v8::FunctionTemplate::New(isolate, TestInter
facePythonImplementationV8Internal::partialCallWithExecutionContextRaisesExcepti
onVoidMethodMethodCallback, v8Undefined(), defaultSignature, 0)); |
| 1052 #endif // ENABLE(PARTIAL_CONDITION) | 971 #endif // ENABLE(PARTIAL_CONDITION) |
| 1053 functionTemplate->Set(v8AtomicString(isolate, "partial2StaticVoidMethod"), v
8::FunctionTemplate::New(isolate, TestInterfacePythonImplementationV8Internal::p
artial2StaticVoidMethodMethodCallback, v8Undefined(), v8::Local<v8::Signature>()
, 0)); | 972 functionTemplate->Set(v8AtomicString(isolate, "partial2StaticVoidMethod"), v
8::FunctionTemplate::New(isolate, TestInterfacePythonImplementationV8Internal::p
artial2StaticVoidMethodMethodCallback, v8Undefined(), v8::Local<v8::Signature>()
, 0)); |
| 1054 functionTemplate->SetNativeDataProperty(v8AtomicString(isolate, "staticStrin
gAttribute"), TestInterfacePythonImplementationV8Internal::staticStringAttribute
AttributeGetterCallback, TestInterfacePythonImplementationV8Internal::staticStri
ngAttributeAttributeSetterCallback, v8::External::New(isolate, 0), static_cast<v
8::PropertyAttribute>(v8::None), v8::Handle<v8::AccessorSignature>(), static_cas
t<v8::AccessControl>(v8::DEFAULT)); | 973 functionTemplate->SetNativeDataProperty(v8AtomicString(isolate, "staticStrin
gAttribute"), TestInterfacePythonImplementationV8Internal::staticStringAttribute
AttributeGetterCallback, TestInterfacePythonImplementationV8Internal::staticStri
ngAttributeAttributeSetterCallback, v8::External::New(isolate, 0), static_cast<v
8::PropertyAttribute>(v8::None), v8::Handle<v8::AccessorSignature>(), static_cas
t<v8::AccessControl>(v8::DEFAULT)); |
| 1055 functionTemplate->SetNativeDataProperty(v8AtomicString(isolate, "implementsS
taticReadOnlyLongAttribute"), TestInterfacePythonImplementationV8Internal::imple
mentsStaticReadOnlyLongAttributeAttributeGetterCallback, 0, v8::External::New(is
olate, 0), static_cast<v8::PropertyAttribute>(v8::None), v8::Handle<v8::Accessor
Signature>(), static_cast<v8::AccessControl>(v8::DEFAULT)); | 974 functionTemplate->SetNativeDataProperty(v8AtomicString(isolate, "implementsS
taticReadOnlyLongAttribute"), TestInterfacePythonImplementationV8Internal::imple
mentsStaticReadOnlyLongAttributeAttributeGetterCallback, 0, v8::External::New(is
olate, 0), static_cast<v8::PropertyAttribute>(v8::None), v8::Handle<v8::Accessor
Signature>(), static_cast<v8::AccessControl>(v8::DEFAULT)); |
| 1056 functionTemplate->SetNativeDataProperty(v8AtomicString(isolate, "implementsS
taticStringAttribute"), TestInterfacePythonImplementationV8Internal::implementsS
taticStringAttributeAttributeGetterCallback, TestInterfacePythonImplementationV8
Internal::implementsStaticStringAttributeAttributeSetterCallback, v8::External::
New(isolate, 0), static_cast<v8::PropertyAttribute>(v8::None), v8::Handle<v8::Ac
cessorSignature>(), static_cast<v8::AccessControl>(v8::DEFAULT)); | 975 functionTemplate->SetNativeDataProperty(v8AtomicString(isolate, "implementsS
taticStringAttribute"), TestInterfacePythonImplementationV8Internal::implementsS
taticStringAttributeAttributeGetterCallback, TestInterfacePythonImplementationV8
Internal::implementsStaticStringAttributeAttributeSetterCallback, v8::External::
New(isolate, 0), static_cast<v8::PropertyAttribute>(v8::None), v8::Handle<v8::Ac
cessorSignature>(), static_cast<v8::AccessControl>(v8::DEFAULT)); |
| 1057 functionTemplate->SetNativeDataProperty(v8AtomicString(isolate, "implements2
StaticStringAttribute"), TestInterfacePythonImplementationV8Internal::implements
2StaticStringAttributeAttributeGetterCallback, TestInterfacePythonImplementation
V8Internal::implements2StaticStringAttributeAttributeSetterCallback, v8::Externa
l::New(isolate, 0), static_cast<v8::PropertyAttribute>(v8::None), v8::Handle<v8:
:AccessorSignature>(), static_cast<v8::AccessControl>(v8::DEFAULT)); | 976 functionTemplate->SetNativeDataProperty(v8AtomicString(isolate, "implements2
StaticStringAttribute"), TestInterfacePythonImplementationV8Internal::implements
2StaticStringAttributeAttributeGetterCallback, TestInterfacePythonImplementation
V8Internal::implements2StaticStringAttributeAttributeSetterCallback, v8::Externa
l::New(isolate, 0), static_cast<v8::PropertyAttribute>(v8::None), v8::Handle<v8:
:AccessorSignature>(), static_cast<v8::AccessControl>(v8::DEFAULT)); |
| 1058 functionTemplate->SetNativeDataProperty(v8AtomicString(isolate, "implements3
StaticStringAttribute"), TestInterfacePythonImplementationV8Internal::implements
3StaticStringAttributeAttributeGetterCallback, TestInterfacePythonImplementation
V8Internal::implements3StaticStringAttributeAttributeSetterCallback, v8::Externa
l::New(isolate, 0), static_cast<v8::PropertyAttribute>(v8::None), v8::Handle<v8:
:AccessorSignature>(), static_cast<v8::AccessControl>(v8::DEFAULT)); | |
| 1059 #if ENABLE(PARTIAL_CONDITION) | 977 #if ENABLE(PARTIAL_CONDITION) |
| 1060 functionTemplate->SetNativeDataProperty(v8AtomicString(isolate, "partialStat
icLongAttribute"), TestInterfacePythonImplementationV8Internal::partialStaticLon
gAttributeAttributeGetterCallback, TestInterfacePythonImplementationV8Internal::
partialStaticLongAttributeAttributeSetterCallback, v8::External::New(isolate, 0)
, static_cast<v8::PropertyAttribute>(v8::None), v8::Handle<v8::AccessorSignature
>(), static_cast<v8::AccessControl>(v8::DEFAULT)); | 978 functionTemplate->SetNativeDataProperty(v8AtomicString(isolate, "partialStat
icLongAttribute"), TestInterfacePythonImplementationV8Internal::partialStaticLon
gAttributeAttributeGetterCallback, TestInterfacePythonImplementationV8Internal::
partialStaticLongAttributeAttributeSetterCallback, v8::External::New(isolate, 0)
, static_cast<v8::PropertyAttribute>(v8::None), v8::Handle<v8::AccessorSignature
>(), static_cast<v8::AccessControl>(v8::DEFAULT)); |
| 1061 #endif // ENABLE(PARTIAL_CONDITION) | 979 #endif // ENABLE(PARTIAL_CONDITION) |
| 1062 functionTemplate->SetNativeDataProperty(v8AtomicString(isolate, "partial2Sta
ticLongAttribute"), TestInterfacePythonImplementationV8Internal::partial2StaticL
ongAttributeAttributeGetterCallback, TestInterfacePythonImplementationV8Internal
::partial2StaticLongAttributeAttributeSetterCallback, v8::External::New(isolate,
0), static_cast<v8::PropertyAttribute>(v8::None), v8::Handle<v8::AccessorSignat
ure>(), static_cast<v8::AccessControl>(v8::DEFAULT)); | 980 functionTemplate->SetNativeDataProperty(v8AtomicString(isolate, "partial2Sta
ticLongAttribute"), TestInterfacePythonImplementationV8Internal::partial2StaticL
ongAttributeAttributeGetterCallback, TestInterfacePythonImplementationV8Internal
::partial2StaticLongAttributeAttributeSetterCallback, v8::External::New(isolate,
0), static_cast<v8::PropertyAttribute>(v8::None), v8::Handle<v8::AccessorSignat
ure>(), static_cast<v8::AccessControl>(v8::DEFAULT)); |
| 1063 | 981 |
| 1064 // Custom toString template | 982 // Custom toString template |
| 1065 functionTemplate->Set(v8AtomicString(isolate, "toString"), V8PerIsolateData:
:current()->toStringTemplate()); | 983 functionTemplate->Set(v8AtomicString(isolate, "toString"), V8PerIsolateData:
:current()->toStringTemplate()); |
| 1066 } | 984 } |
| 1067 | 985 |
| 1068 v8::Handle<v8::FunctionTemplate> V8TestInterfacePython::domTemplate(v8::Isolate*
isolate, WrapperWorldType currentWorldType) | 986 v8::Handle<v8::FunctionTemplate> V8TestInterfacePython::domTemplate(v8::Isolate*
isolate, WrapperWorldType currentWorldType) |
| (...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1107 } | 1025 } |
| 1108 | 1026 |
| 1109 template<> | 1027 template<> |
| 1110 v8::Handle<v8::Value> toV8NoInline(TestInterfacePythonImplementation* impl, v8::
Handle<v8::Object> creationContext, v8::Isolate* isolate) | 1028 v8::Handle<v8::Value> toV8NoInline(TestInterfacePythonImplementation* impl, v8::
Handle<v8::Object> creationContext, v8::Isolate* isolate) |
| 1111 { | 1029 { |
| 1112 return toV8(impl, creationContext, isolate); | 1030 return toV8(impl, creationContext, isolate); |
| 1113 } | 1031 } |
| 1114 | 1032 |
| 1115 } // namespace WebCore | 1033 } // namespace WebCore |
| 1116 #endif // ENABLE(CONDITION) | 1034 #endif // ENABLE(CONDITION) |
| OLD | NEW |