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 |