Changeset 143305 in webkit
- Timestamp:
- Feb 19, 2013 12:21:57 AM (11 years ago)
- Location:
- trunk/Source/WebCore
- Files:
-
- 16 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r143304 r143305 1 2013-02-19 Kentaro Hara <haraken@chromium.org> 2 3 [V8] Remove redundant usage of MAYBE_MISSING_PARAMETER() macro 4 https://bugs.webkit.org/show_bug.cgi?id=109899 5 6 Reviewed by Adam Barth. 7 8 Currently: 9 10 - MAYBE_MISSING_PARAMETER(args, index, DefaultIsUndefined) returns args[index]. 11 - MAYBE_MISSING_PARAMETER(args, index, DefaultIsNullString) returns Local<Value>() 12 if args[index] is missing (i.e. the length of |args| is less than |index|). 13 It returns args[index] otherwise. 14 15 No one other than CodeGeneratorV8.pm uses 16 MAYBE_MISSING_PARAMETER(args, index, DefaultIsUndefined). Instead, we simply use 17 args[index]. We should remove the redundant usage from CodeGeneratorV8.pm too. 18 The long-name macro has been making generated code less readable. 19 20 In addition, we can rename MAYBE_MISSING_PARAMETER() to argumentOrNull(). 21 22 No tests. No change in behavior. 23 24 * bindings/scripts/CodeGeneratorV8.pm: 25 (GenerateParametersCheck): 26 * bindings/scripts/test/V8/V8Float64Array.cpp: 27 (WebCore::Float64ArrayV8Internal::fooCallback): 28 * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp: 29 (WebCore::TestActiveDOMObjectV8Internal::excitingFunctionCallback): 30 (WebCore::TestActiveDOMObjectV8Internal::postMessageCallback): 31 * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp: 32 (WebCore::TestCustomNamedGetterV8Internal::anotherFunctionCallback): 33 * bindings/scripts/test/V8/V8TestEventTarget.cpp: 34 (WebCore::TestEventTargetV8Internal::itemCallback): 35 (WebCore::TestEventTargetV8Internal::dispatchEventCallback): 36 * bindings/scripts/test/V8/V8TestInterface.cpp: 37 (WebCore::TestInterfaceV8Internal::supplementalMethod2Callback): 38 (WebCore::V8TestInterface::constructorCallback): 39 * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp: 40 (WebCore::TestMediaQueryListListenerV8Internal::methodCallback): 41 * bindings/scripts/test/V8/V8TestNamedConstructor.cpp: 42 (WebCore::V8TestNamedConstructorConstructorCallback): 43 * bindings/scripts/test/V8/V8TestObj.cpp: 44 (WebCore::TestObjV8Internal::voidMethodWithArgsCallback): 45 (WebCore::TestObjV8Internal::longMethodWithArgsCallback): 46 (WebCore::TestObjV8Internal::objMethodWithArgsCallback): 47 (WebCore::TestObjV8Internal::methodWithSequenceArgCallback): 48 (WebCore::TestObjV8Internal::methodReturningSequenceCallback): 49 (WebCore::TestObjV8Internal::methodThatRequiresAllArgsAndThrowsCallback): 50 (WebCore::TestObjV8Internal::optionsObjectCallback): 51 (WebCore::TestObjV8Internal::methodWithOptionalArgCallback): 52 (WebCore::TestObjV8Internal::methodWithNonOptionalArgAndOptionalArgCallback): 53 (WebCore::TestObjV8Internal::methodWithNonOptionalArgAndTwoOptionalArgsCallback): 54 (WebCore::TestObjV8Internal::methodWithOptionalStringCallback): 55 (WebCore::TestObjV8Internal::methodWithOptionalStringIsUndefinedCallback): 56 (WebCore::TestObjV8Internal::methodWithOptionalStringIsNullStringCallback): 57 (WebCore::TestObjV8Internal::methodWithNonCallbackArgAndCallbackArgCallback): 58 (WebCore::TestObjV8Internal::overloadedMethod1Callback): 59 (WebCore::TestObjV8Internal::overloadedMethod2Callback): 60 (WebCore::TestObjV8Internal::overloadedMethod3Callback): 61 (WebCore::TestObjV8Internal::overloadedMethod4Callback): 62 (WebCore::TestObjV8Internal::overloadedMethod6Callback): 63 (WebCore::TestObjV8Internal::overloadedMethod7Callback): 64 (WebCore::TestObjV8Internal::overloadedMethod8Callback): 65 (WebCore::TestObjV8Internal::overloadedMethod9Callback): 66 (WebCore::TestObjV8Internal::overloadedMethod10Callback): 67 (WebCore::TestObjV8Internal::overloadedMethod11Callback): 68 (WebCore::TestObjV8Internal::classMethodWithOptionalCallback): 69 (WebCore::TestObjV8Internal::overloadedMethod12Callback): 70 (WebCore::TestObjV8Internal::enabledAtRuntimeMethod1Callback): 71 (WebCore::TestObjV8Internal::enabledAtRuntimeMethod2Callback): 72 (WebCore::TestObjV8Internal::enabledPerContextMethod1Callback): 73 (WebCore::TestObjV8Internal::enabledPerContextMethod2Callback): 74 (WebCore::TestObjV8Internal::stringArrayFunctionCallback): 75 (WebCore::TestObjV8Internal::domStringListFunctionCallback): 76 (WebCore::TestObjV8Internal::convert1Callback): 77 (WebCore::TestObjV8Internal::convert2Callback): 78 (WebCore::TestObjV8Internal::convert4Callback): 79 (WebCore::TestObjV8Internal::convert5Callback): 80 (WebCore::TestObjV8Internal::strictFunctionCallback): 81 (WebCore::TestObjV8Internal::variadicStringMethodCallback): 82 (WebCore::TestObjV8Internal::variadicDoubleMethodCallback): 83 (WebCore::TestObjV8Internal::variadicNodeMethodCallback): 84 * bindings/scripts/test/V8/V8TestOverloadedConstructors.cpp: 85 (WebCore::V8TestOverloadedConstructors::constructor1Callback): 86 (WebCore::V8TestOverloadedConstructors::constructor2Callback): 87 (WebCore::V8TestOverloadedConstructors::constructor3Callback): 88 (WebCore::V8TestOverloadedConstructors::constructor4Callback): 89 * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp: 90 (WebCore::V8TestSerializedScriptValueInterface::constructorCallback): 91 * bindings/scripts/test/V8/V8TestTypedefs.cpp: 92 (WebCore::TestTypedefsV8Internal::funcCallback): 93 (WebCore::TestTypedefsV8Internal::setShadowCallback): 94 (WebCore::TestTypedefsV8Internal::methodWithSequenceArgCallback): 95 (WebCore::TestTypedefsV8Internal::nullableArrayArgCallback): 96 (WebCore::TestTypedefsV8Internal::stringArrayFunctionCallback): 97 (WebCore::TestTypedefsV8Internal::stringArrayFunction2Callback): 98 (WebCore::V8TestTypedefs::constructorCallback): 99 * bindings/v8/V8BindingMacros.h: 100 (WebCore): 101 * bindings/v8/custom/V8HistoryCustom.cpp: 102 (WebCore::V8History::pushStateCallbackCustom): 103 (WebCore::V8History::replaceStateCallbackCustom): 104 1 105 2013-02-19 Kentaro Hara <haraken@chromium.org> 2 106 -
trunk/Source/WebCore/bindings/scripts/CodeGeneratorV8.pm
r143075 r143305 1813 1813 } 1814 1814 } elsif ($nativeType =~ /^V8StringResource/) { 1815 my $value = JSValueToNative($parameter, "MAYBE_MISSING_PARAMETER(args, $paramIndex, $parameterDefaultPolicy)", "args.GetIsolate()");1815 my $value = JSValueToNative($parameter, $optional eq "DefaultIsNullString" ? "argumentOrNull(args, $paramIndex)" : "args[$paramIndex]", "args.GetIsolate()"); 1816 1816 $parameterCheckString .= " " . ConvertToV8StringResource($parameter, $nativeType, $parameterName, $value) . "\n"; 1817 1817 } else { … … 1831 1831 } 1832 1832 $parameterCheckString .= " V8TRYCATCH($nativeType, $parameterName, " . 1833 JSValueToNative($parameter, "MAYBE_MISSING_PARAMETER(args, $paramIndex, $parameterDefaultPolicy)", "args.GetIsolate()") . ");\n";1833 JSValueToNative($parameter, $optional eq "DefaultIsNullString" ? "argumentOrNull(args, $paramIndex)" : "args[$paramIndex]", "args.GetIsolate()") . ");\n"; 1834 1834 if ($nativeType eq 'Dictionary') { 1835 1835 $parameterCheckString .= " if (!$parameterName.isUndefinedOrNull() && !$parameterName.isObject())\n"; -
trunk/Source/WebCore/bindings/scripts/test/V8/V8Float64Array.cpp
r142250 r143305 77 77 return throwNotEnoughArgumentsError(args.GetIsolate()); 78 78 Float64Array* imp = V8Float64Array::toNative(args.Holder()); 79 V8TRYCATCH(Float32Array*, array, V8Float32Array::HasInstance( MAYBE_MISSING_PARAMETER(args, 0, DefaultIsUndefined), args.GetIsolate()) ? V8Float32Array::toNative(v8::Handle<v8::Object>::Cast(MAYBE_MISSING_PARAMETER(args, 0, DefaultIsUndefined))) : 0);79 V8TRYCATCH(Float32Array*, array, V8Float32Array::HasInstance(args[0], args.GetIsolate()) ? V8Float32Array::toNative(v8::Handle<v8::Object>::Cast(args[0])) : 0); 80 80 return toV8(imp->foo(array), args.Holder(), args.GetIsolate()); 81 81 } -
trunk/Source/WebCore/bindings/scripts/test/V8/V8TestActiveDOMObject.cpp
r142250 r143305 76 76 if (!BindingSecurity::shouldAllowAccessToFrame(BindingState::instance(), imp->frame())) 77 77 return v8Undefined(); 78 V8TRYCATCH(Node*, nextChild, V8Node::HasInstance( MAYBE_MISSING_PARAMETER(args, 0, DefaultIsUndefined), args.GetIsolate()) ? V8Node::toNative(v8::Handle<v8::Object>::Cast(MAYBE_MISSING_PARAMETER(args, 0, DefaultIsUndefined))) : 0);78 V8TRYCATCH(Node*, nextChild, V8Node::HasInstance(args[0], args.GetIsolate()) ? V8Node::toNative(v8::Handle<v8::Object>::Cast(args[0])) : 0); 79 79 imp->excitingFunction(nextChild); 80 80 return v8Undefined(); … … 86 86 return throwNotEnoughArgumentsError(args.GetIsolate()); 87 87 TestActiveDOMObject* imp = V8TestActiveDOMObject::toNative(args.Holder()); 88 V8TRYCATCH_FOR_V8STRINGRESOURCE(V8StringResource<>, message, MAYBE_MISSING_PARAMETER(args, 0, DefaultIsUndefined));88 V8TRYCATCH_FOR_V8STRINGRESOURCE(V8StringResource<>, message, args[0]); 89 89 imp->postMessage(message); 90 90 return v8Undefined(); -
trunk/Source/WebCore/bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp
r142250 r143305 67 67 return throwNotEnoughArgumentsError(args.GetIsolate()); 68 68 TestCustomNamedGetter* imp = V8TestCustomNamedGetter::toNative(args.Holder()); 69 V8TRYCATCH_FOR_V8STRINGRESOURCE(V8StringResource<>, str, MAYBE_MISSING_PARAMETER(args, 0, DefaultIsUndefined));69 V8TRYCATCH_FOR_V8STRINGRESOURCE(V8StringResource<>, str, args[0]); 70 70 imp->anotherFunction(str); 71 71 return v8Undefined(); -
trunk/Source/WebCore/bindings/scripts/test/V8/V8TestEventTarget.cpp
r142250 r143305 73 73 ExceptionCode ec = 0; 74 74 { 75 V8TRYCATCH(int, index, toUInt32( MAYBE_MISSING_PARAMETER(args, 0, DefaultIsUndefined)));75 V8TRYCATCH(int, index, toUInt32(args[0])); 76 76 if (UNLIKELY(index < 0)) { 77 77 ec = INDEX_SIZE_ERR; … … 113 113 ExceptionCode ec = 0; 114 114 { 115 V8TRYCATCH(Event*, evt, V8Event::HasInstance( MAYBE_MISSING_PARAMETER(args, 0, DefaultIsUndefined), args.GetIsolate()) ? V8Event::toNative(v8::Handle<v8::Object>::Cast(MAYBE_MISSING_PARAMETER(args, 0, DefaultIsUndefined))) : 0);115 V8TRYCATCH(Event*, evt, V8Event::HasInstance(args[0], args.GetIsolate()) ? V8Event::toNative(v8::Handle<v8::Object>::Cast(args[0])) : 0); 116 116 bool result = imp->dispatchEvent(evt, ec); 117 117 if (UNLIKELY(ec)) -
trunk/Source/WebCore/bindings/scripts/test/V8/V8TestInterface.cpp
r142849 r143305 190 190 ExceptionCode ec = 0; 191 191 { 192 V8TRYCATCH_FOR_V8STRINGRESOURCE(V8StringResource<>, strArg, MAYBE_MISSING_PARAMETER(args, 0, DefaultIsUndefined));193 V8TRYCATCH(TestObj*, objArg, V8TestObj::HasInstance( MAYBE_MISSING_PARAMETER(args, 1, DefaultIsUndefined), args.GetIsolate()) ? V8TestObj::toNative(v8::Handle<v8::Object>::Cast(MAYBE_MISSING_PARAMETER(args, 1, DefaultIsUndefined))) : 0);192 V8TRYCATCH_FOR_V8STRINGRESOURCE(V8StringResource<>, strArg, args[0]); 193 V8TRYCATCH(TestObj*, objArg, V8TestObj::HasInstance(args[1], args.GetIsolate()) ? V8TestObj::toNative(v8::Handle<v8::Object>::Cast(args[1])) : 0); 194 194 ScriptExecutionContext* scriptContext = getScriptExecutionContext(); 195 195 RefPtr<TestObj> result = TestSupplemental::supplementalMethod2(scriptContext, imp, strArg, objArg, ec); … … 290 290 291 291 ExceptionCode ec = 0; 292 V8TRYCATCH_FOR_V8STRINGRESOURCE(V8StringResource<>, str1, MAYBE_MISSING_PARAMETER(args, 0, DefaultIsUndefined));293 V8TRYCATCH_FOR_V8STRINGRESOURCE(V8StringResource<>, str2, MAYBE_MISSING_PARAMETER(args, 1, DefaultIsUndefined));292 V8TRYCATCH_FOR_V8STRINGRESOURCE(V8StringResource<>, str1, args[0]); 293 V8TRYCATCH_FOR_V8STRINGRESOURCE(V8StringResource<>, str2, args[1]); 294 294 295 295 ScriptExecutionContext* context = getScriptExecutionContext(); -
trunk/Source/WebCore/bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp
r142250 r143305 68 68 return throwNotEnoughArgumentsError(args.GetIsolate()); 69 69 TestMediaQueryListListener* imp = V8TestMediaQueryListListener::toNative(args.Holder()); 70 V8TRYCATCH(RefPtr<MediaQueryListListener>, listener, MediaQueryListListener::create( MAYBE_MISSING_PARAMETER(args, 0, DefaultIsUndefined)));70 V8TRYCATCH(RefPtr<MediaQueryListListener>, listener, MediaQueryListListener::create(args[0])); 71 71 imp->method(listener); 72 72 return v8Undefined(); -
trunk/Source/WebCore/bindings/scripts/test/V8/V8TestNamedConstructor.cpp
r142250 r143305 84 84 85 85 ExceptionCode ec = 0; 86 V8TRYCATCH_FOR_V8STRINGRESOURCE(V8StringResource<>, str1, MAYBE_MISSING_PARAMETER(args, 0, DefaultIsUndefined));87 V8TRYCATCH_FOR_V8STRINGRESOURCE(V8StringResource<>, str2, MAYBE_MISSING_PARAMETER(args, 1, DefaultIsUndefined));88 V8TRYCATCH_FOR_V8STRINGRESOURCE(V8StringResource<>, str3, MAYBE_MISSING_PARAMETER(args, 2, DefaultIsNullString));86 V8TRYCATCH_FOR_V8STRINGRESOURCE(V8StringResource<>, str1, args[0]); 87 V8TRYCATCH_FOR_V8STRINGRESOURCE(V8StringResource<>, str2, args[1]); 88 V8TRYCATCH_FOR_V8STRINGRESOURCE(V8StringResource<>, str3, argumentOrNull(args, 2)); 89 89 90 90 RefPtr<TestNamedConstructor> impl = TestNamedConstructor::createForJSConstructor(document, str1, str2, str3, ec); -
trunk/Source/WebCore/bindings/scripts/test/V8/V8TestObj.cpp
r142849 r143305 998 998 return throwNotEnoughArgumentsError(args.GetIsolate()); 999 999 TestObj* imp = V8TestObj::toNative(args.Holder()); 1000 V8TRYCATCH(int, longArg, toInt32( MAYBE_MISSING_PARAMETER(args, 0, DefaultIsUndefined)));1001 V8TRYCATCH_FOR_V8STRINGRESOURCE(V8StringResource<>, strArg, MAYBE_MISSING_PARAMETER(args, 1, DefaultIsUndefined));1002 V8TRYCATCH(TestObj*, objArg, V8TestObj::HasInstance( MAYBE_MISSING_PARAMETER(args, 2, DefaultIsUndefined), args.GetIsolate()) ? V8TestObj::toNative(v8::Handle<v8::Object>::Cast(MAYBE_MISSING_PARAMETER(args, 2, DefaultIsUndefined))) : 0);1000 V8TRYCATCH(int, longArg, toInt32(args[0])); 1001 V8TRYCATCH_FOR_V8STRINGRESOURCE(V8StringResource<>, strArg, args[1]); 1002 V8TRYCATCH(TestObj*, objArg, V8TestObj::HasInstance(args[2], args.GetIsolate()) ? V8TestObj::toNative(v8::Handle<v8::Object>::Cast(args[2])) : 0); 1003 1003 imp->voidMethodWithArgs(longArg, strArg, objArg); 1004 1004 return v8Undefined(); … … 1016 1016 return throwNotEnoughArgumentsError(args.GetIsolate()); 1017 1017 TestObj* imp = V8TestObj::toNative(args.Holder()); 1018 V8TRYCATCH(int, longArg, toInt32( MAYBE_MISSING_PARAMETER(args, 0, DefaultIsUndefined)));1019 V8TRYCATCH_FOR_V8STRINGRESOURCE(V8StringResource<>, strArg, MAYBE_MISSING_PARAMETER(args, 1, DefaultIsUndefined));1020 V8TRYCATCH(TestObj*, objArg, V8TestObj::HasInstance( MAYBE_MISSING_PARAMETER(args, 2, DefaultIsUndefined), args.GetIsolate()) ? V8TestObj::toNative(v8::Handle<v8::Object>::Cast(MAYBE_MISSING_PARAMETER(args, 2, DefaultIsUndefined))) : 0);1018 V8TRYCATCH(int, longArg, toInt32(args[0])); 1019 V8TRYCATCH_FOR_V8STRINGRESOURCE(V8StringResource<>, strArg, args[1]); 1020 V8TRYCATCH(TestObj*, objArg, V8TestObj::HasInstance(args[2], args.GetIsolate()) ? V8TestObj::toNative(v8::Handle<v8::Object>::Cast(args[2])) : 0); 1021 1021 return v8Integer(imp->longMethodWithArgs(longArg, strArg, objArg), args.GetIsolate()); 1022 1022 } … … 1034 1034 return throwNotEnoughArgumentsError(args.GetIsolate()); 1035 1035 TestObj* imp = V8TestObj::toNative(args.Holder()); 1036 V8TRYCATCH(int, longArg, toInt32( MAYBE_MISSING_PARAMETER(args, 0, DefaultIsUndefined)));1037 V8TRYCATCH_FOR_V8STRINGRESOURCE(V8StringResource<>, strArg, MAYBE_MISSING_PARAMETER(args, 1, DefaultIsUndefined));1038 V8TRYCATCH(TestObj*, objArg, V8TestObj::HasInstance( MAYBE_MISSING_PARAMETER(args, 2, DefaultIsUndefined), args.GetIsolate()) ? V8TestObj::toNative(v8::Handle<v8::Object>::Cast(MAYBE_MISSING_PARAMETER(args, 2, DefaultIsUndefined))) : 0);1036 V8TRYCATCH(int, longArg, toInt32(args[0])); 1037 V8TRYCATCH_FOR_V8STRINGRESOURCE(V8StringResource<>, strArg, args[1]); 1038 V8TRYCATCH(TestObj*, objArg, V8TestObj::HasInstance(args[2], args.GetIsolate()) ? V8TestObj::toNative(v8::Handle<v8::Object>::Cast(args[2])) : 0); 1039 1039 return toV8(imp->objMethodWithArgs(longArg, strArg, objArg), args.Holder(), args.GetIsolate()); 1040 1040 } … … 1045 1045 return throwNotEnoughArgumentsError(args.GetIsolate()); 1046 1046 TestObj* imp = V8TestObj::toNative(args.Holder()); 1047 V8TRYCATCH(Vector<RefPtr<ScriptProfile> >, sequenceArg, (toRefPtrNativeArray<ScriptProfile, V8ScriptProfile>( MAYBE_MISSING_PARAMETER(args, 0, DefaultIsUndefined), args.GetIsolate())));1047 V8TRYCATCH(Vector<RefPtr<ScriptProfile> >, sequenceArg, (toRefPtrNativeArray<ScriptProfile, V8ScriptProfile>(args[0], args.GetIsolate()))); 1048 1048 imp->methodWithSequenceArg(sequenceArg); 1049 1049 return v8Undefined(); … … 1055 1055 return throwNotEnoughArgumentsError(args.GetIsolate()); 1056 1056 TestObj* imp = V8TestObj::toNative(args.Holder()); 1057 V8TRYCATCH(int, longArg, toInt32( MAYBE_MISSING_PARAMETER(args, 0, DefaultIsUndefined)));1057 V8TRYCATCH(int, longArg, toInt32(args[0])); 1058 1058 return v8Array(imp->methodReturningSequence(longArg), args.GetIsolate()); 1059 1059 } … … 1066 1066 ExceptionCode ec = 0; 1067 1067 { 1068 V8TRYCATCH_FOR_V8STRINGRESOURCE(V8StringResource<>, strArg, MAYBE_MISSING_PARAMETER(args, 0, DefaultIsUndefined));1069 V8TRYCATCH(TestObj*, objArg, V8TestObj::HasInstance( MAYBE_MISSING_PARAMETER(args, 1, DefaultIsUndefined), args.GetIsolate()) ? V8TestObj::toNative(v8::Handle<v8::Object>::Cast(MAYBE_MISSING_PARAMETER(args, 1, DefaultIsUndefined))) : 0);1068 V8TRYCATCH_FOR_V8STRINGRESOURCE(V8StringResource<>, strArg, args[0]); 1069 V8TRYCATCH(TestObj*, objArg, V8TestObj::HasInstance(args[1], args.GetIsolate()) ? V8TestObj::toNative(v8::Handle<v8::Object>::Cast(args[1])) : 0); 1070 1070 RefPtr<TestObj> result = imp->methodThatRequiresAllArgsAndThrows(strArg, objArg, ec); 1071 1071 if (UNLIKELY(ec)) … … 1095 1095 return throwNotEnoughArgumentsError(args.GetIsolate()); 1096 1096 TestObj* imp = V8TestObj::toNative(args.Holder()); 1097 V8TRYCATCH(Dictionary, oo, Dictionary( MAYBE_MISSING_PARAMETER(args, 0, DefaultIsUndefined), args.GetIsolate()));1097 V8TRYCATCH(Dictionary, oo, Dictionary(args[0], args.GetIsolate())); 1098 1098 if (!oo.isUndefinedOrNull() && !oo.isObject()) 1099 1099 return throwTypeError("Not an object.", args.GetIsolate()); 1100 V8TRYCATCH(Dictionary, ooo, Dictionary( MAYBE_MISSING_PARAMETER(args, 1, DefaultIsUndefined), args.GetIsolate()));1100 V8TRYCATCH(Dictionary, ooo, Dictionary(args[1], args.GetIsolate())); 1101 1101 if (!ooo.isUndefinedOrNull() && !ooo.isObject()) 1102 1102 return throwTypeError("Not an object.", args.GetIsolate()); … … 1311 1311 return v8Undefined(); 1312 1312 } 1313 V8TRYCATCH(int, opt, toInt32( MAYBE_MISSING_PARAMETER(args, 0, DefaultIsUndefined)));1313 V8TRYCATCH(int, opt, toInt32(args[0])); 1314 1314 imp->methodWithOptionalArg(opt); 1315 1315 return v8Undefined(); … … 1321 1321 return throwNotEnoughArgumentsError(args.GetIsolate()); 1322 1322 TestObj* imp = V8TestObj::toNative(args.Holder()); 1323 V8TRYCATCH(int, nonOpt, toInt32( MAYBE_MISSING_PARAMETER(args, 0, DefaultIsUndefined)));1323 V8TRYCATCH(int, nonOpt, toInt32(args[0])); 1324 1324 if (args.Length() <= 1) { 1325 1325 imp->methodWithNonOptionalArgAndOptionalArg(nonOpt); 1326 1326 return v8Undefined(); 1327 1327 } 1328 V8TRYCATCH(int, opt, toInt32( MAYBE_MISSING_PARAMETER(args, 1, DefaultIsUndefined)));1328 V8TRYCATCH(int, opt, toInt32(args[1])); 1329 1329 imp->methodWithNonOptionalArgAndOptionalArg(nonOpt, opt); 1330 1330 return v8Undefined(); … … 1336 1336 return throwNotEnoughArgumentsError(args.GetIsolate()); 1337 1337 TestObj* imp = V8TestObj::toNative(args.Holder()); 1338 V8TRYCATCH(int, nonOpt, toInt32( MAYBE_MISSING_PARAMETER(args, 0, DefaultIsUndefined)));1338 V8TRYCATCH(int, nonOpt, toInt32(args[0])); 1339 1339 if (args.Length() <= 1) { 1340 1340 imp->methodWithNonOptionalArgAndTwoOptionalArgs(nonOpt); 1341 1341 return v8Undefined(); 1342 1342 } 1343 V8TRYCATCH(int, opt1, toInt32( MAYBE_MISSING_PARAMETER(args, 1, DefaultIsUndefined)));1343 V8TRYCATCH(int, opt1, toInt32(args[1])); 1344 1344 if (args.Length() <= 2) { 1345 1345 imp->methodWithNonOptionalArgAndTwoOptionalArgs(nonOpt, opt1); 1346 1346 return v8Undefined(); 1347 1347 } 1348 V8TRYCATCH(int, opt2, toInt32( MAYBE_MISSING_PARAMETER(args, 2, DefaultIsUndefined)));1348 V8TRYCATCH(int, opt2, toInt32(args[2])); 1349 1349 imp->methodWithNonOptionalArgAndTwoOptionalArgs(nonOpt, opt1, opt2); 1350 1350 return v8Undefined(); … … 1358 1358 return v8Undefined(); 1359 1359 } 1360 V8TRYCATCH_FOR_V8STRINGRESOURCE(V8StringResource<>, str, MAYBE_MISSING_PARAMETER(args, 0, DefaultIsUndefined));1360 V8TRYCATCH_FOR_V8STRINGRESOURCE(V8StringResource<>, str, args[0]); 1361 1361 imp->methodWithOptionalString(str); 1362 1362 return v8Undefined(); … … 1366 1366 { 1367 1367 TestObj* imp = V8TestObj::toNative(args.Holder()); 1368 V8TRYCATCH_FOR_V8STRINGRESOURCE(V8StringResource<>, str, MAYBE_MISSING_PARAMETER(args, 0, DefaultIsUndefined));1368 V8TRYCATCH_FOR_V8STRINGRESOURCE(V8StringResource<>, str, args[0]); 1369 1369 imp->methodWithOptionalStringIsUndefined(str); 1370 1370 return v8Undefined(); … … 1374 1374 { 1375 1375 TestObj* imp = V8TestObj::toNative(args.Holder()); 1376 V8TRYCATCH_FOR_V8STRINGRESOURCE(V8StringResource<>, str, MAYBE_MISSING_PARAMETER(args, 0, DefaultIsNullString));1376 V8TRYCATCH_FOR_V8STRINGRESOURCE(V8StringResource<>, str, argumentOrNull(args, 0)); 1377 1377 imp->methodWithOptionalStringIsNullString(str); 1378 1378 return v8Undefined(); … … 1396 1396 return throwNotEnoughArgumentsError(args.GetIsolate()); 1397 1397 TestObj* imp = V8TestObj::toNative(args.Holder()); 1398 V8TRYCATCH(int, nonCallback, toInt32( MAYBE_MISSING_PARAMETER(args, 0, DefaultIsUndefined)));1398 V8TRYCATCH(int, nonCallback, toInt32(args[0])); 1399 1399 if (args.Length() <= 1 || !args[1]->IsFunction()) 1400 1400 return throwTypeError(0, args.GetIsolate()); … … 1454 1454 return throwNotEnoughArgumentsError(args.GetIsolate()); 1455 1455 TestObj* imp = V8TestObj::toNative(args.Holder()); 1456 V8TRYCATCH(TestObj*, objArg, V8TestObj::HasInstance( MAYBE_MISSING_PARAMETER(args, 0, DefaultIsUndefined), args.GetIsolate()) ? V8TestObj::toNative(v8::Handle<v8::Object>::Cast(MAYBE_MISSING_PARAMETER(args, 0, DefaultIsUndefined))) : 0);1457 V8TRYCATCH_FOR_V8STRINGRESOURCE(V8StringResource<>, strArg, MAYBE_MISSING_PARAMETER(args, 1, DefaultIsUndefined));1456 V8TRYCATCH(TestObj*, objArg, V8TestObj::HasInstance(args[0], args.GetIsolate()) ? V8TestObj::toNative(v8::Handle<v8::Object>::Cast(args[0])) : 0); 1457 V8TRYCATCH_FOR_V8STRINGRESOURCE(V8StringResource<>, strArg, args[1]); 1458 1458 imp->overloadedMethod(objArg, strArg); 1459 1459 return v8Undefined(); … … 1465 1465 return throwNotEnoughArgumentsError(args.GetIsolate()); 1466 1466 TestObj* imp = V8TestObj::toNative(args.Holder()); 1467 V8TRYCATCH(TestObj*, objArg, V8TestObj::HasInstance( MAYBE_MISSING_PARAMETER(args, 0, DefaultIsUndefined), args.GetIsolate()) ? V8TestObj::toNative(v8::Handle<v8::Object>::Cast(MAYBE_MISSING_PARAMETER(args, 0, DefaultIsUndefined))) : 0);1467 V8TRYCATCH(TestObj*, objArg, V8TestObj::HasInstance(args[0], args.GetIsolate()) ? V8TestObj::toNative(v8::Handle<v8::Object>::Cast(args[0])) : 0); 1468 1468 if (args.Length() <= 1) { 1469 1469 imp->overloadedMethod(objArg); 1470 1470 return v8Undefined(); 1471 1471 } 1472 V8TRYCATCH(int, longArg, toInt32( MAYBE_MISSING_PARAMETER(args, 1, DefaultIsUndefined)));1472 V8TRYCATCH(int, longArg, toInt32(args[1])); 1473 1473 imp->overloadedMethod(objArg, longArg); 1474 1474 return v8Undefined(); … … 1480 1480 return throwNotEnoughArgumentsError(args.GetIsolate()); 1481 1481 TestObj* imp = V8TestObj::toNative(args.Holder()); 1482 V8TRYCATCH_FOR_V8STRINGRESOURCE(V8StringResource<>, strArg, MAYBE_MISSING_PARAMETER(args, 0, DefaultIsUndefined));1482 V8TRYCATCH_FOR_V8STRINGRESOURCE(V8StringResource<>, strArg, args[0]); 1483 1483 imp->overloadedMethod(strArg); 1484 1484 return v8Undefined(); … … 1490 1490 return throwNotEnoughArgumentsError(args.GetIsolate()); 1491 1491 TestObj* imp = V8TestObj::toNative(args.Holder()); 1492 V8TRYCATCH(int, longArg, toInt32( MAYBE_MISSING_PARAMETER(args, 0, DefaultIsUndefined)));1492 V8TRYCATCH(int, longArg, toInt32(args[0])); 1493 1493 imp->overloadedMethod(longArg); 1494 1494 return v8Undefined(); … … 1512 1512 return throwNotEnoughArgumentsError(args.GetIsolate()); 1513 1513 TestObj* imp = V8TestObj::toNative(args.Holder()); 1514 V8TRYCATCH(RefPtr<DOMStringList>, listArg, toDOMStringList( MAYBE_MISSING_PARAMETER(args, 0, DefaultIsUndefined), args.GetIsolate()));1514 V8TRYCATCH(RefPtr<DOMStringList>, listArg, toDOMStringList(args[0], args.GetIsolate())); 1515 1515 imp->overloadedMethod(listArg); 1516 1516 return v8Undefined(); … … 1522 1522 return throwNotEnoughArgumentsError(args.GetIsolate()); 1523 1523 TestObj* imp = V8TestObj::toNative(args.Holder()); 1524 V8TRYCATCH(Vector<String>, arrayArg, toNativeArray<String>( MAYBE_MISSING_PARAMETER(args, 0, DefaultIsUndefined)));1524 V8TRYCATCH(Vector<String>, arrayArg, toNativeArray<String>(args[0])); 1525 1525 imp->overloadedMethod(arrayArg); 1526 1526 return v8Undefined(); … … 1532 1532 return throwNotEnoughArgumentsError(args.GetIsolate()); 1533 1533 TestObj* imp = V8TestObj::toNative(args.Holder()); 1534 V8TRYCATCH(TestObj*, objArg, V8TestObj::HasInstance( MAYBE_MISSING_PARAMETER(args, 0, DefaultIsUndefined), args.GetIsolate()) ? V8TestObj::toNative(v8::Handle<v8::Object>::Cast(MAYBE_MISSING_PARAMETER(args, 0, DefaultIsUndefined))) : 0);1534 V8TRYCATCH(TestObj*, objArg, V8TestObj::HasInstance(args[0], args.GetIsolate()) ? V8TestObj::toNative(v8::Handle<v8::Object>::Cast(args[0])) : 0); 1535 1535 imp->overloadedMethod(objArg); 1536 1536 return v8Undefined(); … … 1542 1542 return throwNotEnoughArgumentsError(args.GetIsolate()); 1543 1543 TestObj* imp = V8TestObj::toNative(args.Holder()); 1544 V8TRYCATCH(Vector<String>, arrayArg, toNativeArray<String>( MAYBE_MISSING_PARAMETER(args, 0, DefaultIsUndefined)));1544 V8TRYCATCH(Vector<String>, arrayArg, toNativeArray<String>(args[0])); 1545 1545 imp->overloadedMethod(arrayArg); 1546 1546 return v8Undefined(); … … 1552 1552 return throwNotEnoughArgumentsError(args.GetIsolate()); 1553 1553 TestObj* imp = V8TestObj::toNative(args.Holder()); 1554 V8TRYCATCH(Vector<unsigned>, arrayArg, toNativeArray<unsigned>( MAYBE_MISSING_PARAMETER(args, 0, DefaultIsUndefined)));1554 V8TRYCATCH(Vector<unsigned>, arrayArg, toNativeArray<unsigned>(args[0])); 1555 1555 imp->overloadedMethod(arrayArg); 1556 1556 return v8Undefined(); … … 1562 1562 return throwNotEnoughArgumentsError(args.GetIsolate()); 1563 1563 TestObj* imp = V8TestObj::toNative(args.Holder()); 1564 V8TRYCATCH_FOR_V8STRINGRESOURCE(V8StringResource<>, strArg, MAYBE_MISSING_PARAMETER(args, 0, DefaultIsUndefined));1564 V8TRYCATCH_FOR_V8STRINGRESOURCE(V8StringResource<>, strArg, args[0]); 1565 1565 imp->overloadedMethod(strArg); 1566 1566 return v8Undefined(); … … 1607 1607 return v8Integer(TestObj::classMethodWithOptional(), args.GetIsolate()); 1608 1608 } 1609 V8TRYCATCH(int, arg, toInt32( MAYBE_MISSING_PARAMETER(args, 0, DefaultIsUndefined)));1609 V8TRYCATCH(int, arg, toInt32(args[0])); 1610 1610 return v8Integer(TestObj::classMethodWithOptional(arg), args.GetIsolate()); 1611 1611 } … … 1622 1622 if (args.Length() < 1) 1623 1623 return throwNotEnoughArgumentsError(args.GetIsolate()); 1624 V8TRYCATCH(int, arg, toInt32( MAYBE_MISSING_PARAMETER(args, 0, DefaultIsUndefined)));1624 V8TRYCATCH(int, arg, toInt32(args[0])); 1625 1625 TestObj::overloadedMethod1(arg); 1626 1626 return v8Undefined(); … … 1635 1635 if (args.Length() < 1) 1636 1636 return throwNotEnoughArgumentsError(args.GetIsolate()); 1637 V8TRYCATCH_FOR_V8STRINGRESOURCE(V8StringResource<>, type, MAYBE_MISSING_PARAMETER(args, 0, DefaultIsUndefined));1637 V8TRYCATCH_FOR_V8STRINGRESOURCE(V8StringResource<>, type, args[0]); 1638 1638 TestObj::overloadedMethod1(type); 1639 1639 return v8Undefined(); … … 1679 1679 return throwNotEnoughArgumentsError(args.GetIsolate()); 1680 1680 TestObj* imp = V8TestObj::toNative(args.Holder()); 1681 V8TRYCATCH(int, longArg, toInt32( MAYBE_MISSING_PARAMETER(args, 0, DefaultIsUndefined)));1681 V8TRYCATCH(int, longArg, toInt32(args[0])); 1682 1682 imp->enabledAtRuntimeMethod1(longArg); 1683 1683 return v8Undefined(); … … 1689 1689 return throwNotEnoughArgumentsError(args.GetIsolate()); 1690 1690 TestObj* imp = V8TestObj::toNative(args.Holder()); 1691 V8TRYCATCH(int, longArg, toInt32( MAYBE_MISSING_PARAMETER(args, 0, DefaultIsUndefined)));1691 V8TRYCATCH(int, longArg, toInt32(args[0])); 1692 1692 imp->enabledAtRuntimeMethod2(longArg); 1693 1693 return v8Undefined(); … … 1699 1699 return throwNotEnoughArgumentsError(args.GetIsolate()); 1700 1700 TestObj* imp = V8TestObj::toNative(args.Holder()); 1701 V8TRYCATCH(int, longArg, toInt32( MAYBE_MISSING_PARAMETER(args, 0, DefaultIsUndefined)));1701 V8TRYCATCH(int, longArg, toInt32(args[0])); 1702 1702 imp->enabledPerContextMethod1(longArg); 1703 1703 return v8Undefined(); … … 1709 1709 return throwNotEnoughArgumentsError(args.GetIsolate()); 1710 1710 TestObj* imp = V8TestObj::toNative(args.Holder()); 1711 V8TRYCATCH(int, longArg, toInt32( MAYBE_MISSING_PARAMETER(args, 0, DefaultIsUndefined)));1711 V8TRYCATCH(int, longArg, toInt32(args[0])); 1712 1712 imp->enabledPerContextMethod2(longArg); 1713 1713 return v8Undefined(); … … 1721 1721 ExceptionCode ec = 0; 1722 1722 { 1723 V8TRYCATCH(Vector<String>, values, toNativeArray<String>( MAYBE_MISSING_PARAMETER(args, 0, DefaultIsUndefined)));1723 V8TRYCATCH(Vector<String>, values, toNativeArray<String>(args[0])); 1724 1724 Vector<String> result = imp->stringArrayFunction(values, ec); 1725 1725 if (UNLIKELY(ec)) … … 1738 1738 ExceptionCode ec = 0; 1739 1739 { 1740 V8TRYCATCH(RefPtr<DOMStringList>, values, toDOMStringList( MAYBE_MISSING_PARAMETER(args, 0, DefaultIsUndefined), args.GetIsolate()));1740 V8TRYCATCH(RefPtr<DOMStringList>, values, toDOMStringList(args[0], args.GetIsolate())); 1741 1741 RefPtr<DOMStringList> result = imp->domStringListFunction(values, ec); 1742 1742 if (UNLIKELY(ec)) … … 1769 1769 return throwNotEnoughArgumentsError(args.GetIsolate()); 1770 1770 TestObj* imp = V8TestObj::toNative(args.Holder()); 1771 V8TRYCATCH(a*, value, V8a::HasInstance( MAYBE_MISSING_PARAMETER(args, 0, DefaultIsUndefined), args.GetIsolate()) ? V8a::toNative(v8::Handle<v8::Object>::Cast(MAYBE_MISSING_PARAMETER(args, 0, DefaultIsUndefined))) : 0);1771 V8TRYCATCH(a*, value, V8a::HasInstance(args[0], args.GetIsolate()) ? V8a::toNative(v8::Handle<v8::Object>::Cast(args[0])) : 0); 1772 1772 imp->convert1(value); 1773 1773 return v8Undefined(); … … 1779 1779 return throwNotEnoughArgumentsError(args.GetIsolate()); 1780 1780 TestObj* imp = V8TestObj::toNative(args.Holder()); 1781 V8TRYCATCH(b*, value, V8b::HasInstance( MAYBE_MISSING_PARAMETER(args, 0, DefaultIsUndefined), args.GetIsolate()) ? V8b::toNative(v8::Handle<v8::Object>::Cast(MAYBE_MISSING_PARAMETER(args, 0, DefaultIsUndefined))) : 0);1781 V8TRYCATCH(b*, value, V8b::HasInstance(args[0], args.GetIsolate()) ? V8b::toNative(v8::Handle<v8::Object>::Cast(args[0])) : 0); 1782 1782 imp->convert2(value); 1783 1783 return v8Undefined(); … … 1789 1789 return throwNotEnoughArgumentsError(args.GetIsolate()); 1790 1790 TestObj* imp = V8TestObj::toNative(args.Holder()); 1791 V8TRYCATCH(d*, value, V8d::HasInstance( MAYBE_MISSING_PARAMETER(args, 0, DefaultIsUndefined), args.GetIsolate()) ? V8d::toNative(v8::Handle<v8::Object>::Cast(MAYBE_MISSING_PARAMETER(args, 0, DefaultIsUndefined))) : 0);1791 V8TRYCATCH(d*, value, V8d::HasInstance(args[0], args.GetIsolate()) ? V8d::toNative(v8::Handle<v8::Object>::Cast(args[0])) : 0); 1792 1792 imp->convert4(value); 1793 1793 return v8Undefined(); … … 1799 1799 return throwNotEnoughArgumentsError(args.GetIsolate()); 1800 1800 TestObj* imp = V8TestObj::toNative(args.Holder()); 1801 V8TRYCATCH(e*, value, V8e::HasInstance( MAYBE_MISSING_PARAMETER(args, 0, DefaultIsUndefined), args.GetIsolate()) ? V8e::toNative(v8::Handle<v8::Object>::Cast(MAYBE_MISSING_PARAMETER(args, 0, DefaultIsUndefined))) : 0);1801 V8TRYCATCH(e*, value, V8e::HasInstance(args[0], args.GetIsolate()) ? V8e::toNative(v8::Handle<v8::Object>::Cast(args[0])) : 0); 1802 1802 imp->convert5(value); 1803 1803 return v8Undefined(); … … 1830 1830 ExceptionCode ec = 0; 1831 1831 { 1832 V8TRYCATCH_FOR_V8STRINGRESOURCE(V8StringResource<>, str, MAYBE_MISSING_PARAMETER(args, 0, DefaultIsUndefined));1833 V8TRYCATCH(float, a, static_cast<float>( MAYBE_MISSING_PARAMETER(args, 1, DefaultIsUndefined)->NumberValue()));1834 V8TRYCATCH(int, b, toInt32( MAYBE_MISSING_PARAMETER(args, 2, DefaultIsUndefined)));1832 V8TRYCATCH_FOR_V8STRINGRESOURCE(V8StringResource<>, str, args[0]); 1833 V8TRYCATCH(float, a, static_cast<float>(args[1]->NumberValue())); 1834 V8TRYCATCH(int, b, toInt32(args[2])); 1835 1835 RefPtr<bool> result = imp->strictFunction(str, a, b, ec); 1836 1836 if (UNLIKELY(ec)) … … 1847 1847 return throwNotEnoughArgumentsError(args.GetIsolate()); 1848 1848 TestObj* imp = V8TestObj::toNative(args.Holder()); 1849 V8TRYCATCH_FOR_V8STRINGRESOURCE(V8StringResource<>, head, MAYBE_MISSING_PARAMETER(args, 0, DefaultIsUndefined));1849 V8TRYCATCH_FOR_V8STRINGRESOURCE(V8StringResource<>, head, args[0]); 1850 1850 V8TRYCATCH(Vector<String>, tail, toNativeArguments<String>(args, 1)); 1851 1851 imp->variadicStringMethod(head, tail); … … 1858 1858 return throwNotEnoughArgumentsError(args.GetIsolate()); 1859 1859 TestObj* imp = V8TestObj::toNative(args.Holder()); 1860 V8TRYCATCH(double, head, static_cast<double>( MAYBE_MISSING_PARAMETER(args, 0, DefaultIsUndefined)->NumberValue()));1860 V8TRYCATCH(double, head, static_cast<double>(args[0]->NumberValue())); 1861 1861 V8TRYCATCH(Vector<double>, tail, toNativeArguments<double>(args, 1)); 1862 1862 imp->variadicDoubleMethod(head, tail); … … 1869 1869 return throwNotEnoughArgumentsError(args.GetIsolate()); 1870 1870 TestObj* imp = V8TestObj::toNative(args.Holder()); 1871 V8TRYCATCH(Node*, head, V8Node::HasInstance( MAYBE_MISSING_PARAMETER(args, 0, DefaultIsUndefined), args.GetIsolate()) ? V8Node::toNative(v8::Handle<v8::Object>::Cast(MAYBE_MISSING_PARAMETER(args, 0, DefaultIsUndefined))) : 0);1871 V8TRYCATCH(Node*, head, V8Node::HasInstance(args[0], args.GetIsolate()) ? V8Node::toNative(v8::Handle<v8::Object>::Cast(args[0])) : 0); 1872 1872 Vector<RefPtr<Node> > tail; 1873 1873 for (int i = 1; i < args.Length(); ++i) { -
trunk/Source/WebCore/bindings/scripts/test/V8/V8TestOverloadedConstructors.cpp
r142250 r143305 72 72 { 73 73 74 V8TRYCATCH(ArrayBuffer*, arrayBuffer, V8ArrayBuffer::HasInstance( MAYBE_MISSING_PARAMETER(args, 0, DefaultIsUndefined), args.GetIsolate()) ? V8ArrayBuffer::toNative(v8::Handle<v8::Object>::Cast(MAYBE_MISSING_PARAMETER(args, 0, DefaultIsUndefined))) : 0);74 V8TRYCATCH(ArrayBuffer*, arrayBuffer, V8ArrayBuffer::HasInstance(args[0], args.GetIsolate()) ? V8ArrayBuffer::toNative(v8::Handle<v8::Object>::Cast(args[0])) : 0); 75 75 76 76 RefPtr<TestOverloadedConstructors> impl = TestOverloadedConstructors::create(arrayBuffer); … … 84 84 { 85 85 86 V8TRYCATCH(ArrayBufferView*, arrayBufferView, V8ArrayBufferView::HasInstance( MAYBE_MISSING_PARAMETER(args, 0, DefaultIsUndefined), args.GetIsolate()) ? V8ArrayBufferView::toNative(v8::Handle<v8::Object>::Cast(MAYBE_MISSING_PARAMETER(args, 0, DefaultIsUndefined))) : 0);86 V8TRYCATCH(ArrayBufferView*, arrayBufferView, V8ArrayBufferView::HasInstance(args[0], args.GetIsolate()) ? V8ArrayBufferView::toNative(v8::Handle<v8::Object>::Cast(args[0])) : 0); 87 87 88 88 RefPtr<TestOverloadedConstructors> impl = TestOverloadedConstructors::create(arrayBufferView); … … 96 96 { 97 97 98 V8TRYCATCH(Blob*, blob, V8Blob::HasInstance( MAYBE_MISSING_PARAMETER(args, 0, DefaultIsUndefined), args.GetIsolate()) ? V8Blob::toNative(v8::Handle<v8::Object>::Cast(MAYBE_MISSING_PARAMETER(args, 0, DefaultIsUndefined))) : 0);98 V8TRYCATCH(Blob*, blob, V8Blob::HasInstance(args[0], args.GetIsolate()) ? V8Blob::toNative(v8::Handle<v8::Object>::Cast(args[0])) : 0); 99 99 100 100 RefPtr<TestOverloadedConstructors> impl = TestOverloadedConstructors::create(blob); … … 108 108 { 109 109 110 V8TRYCATCH_FOR_V8STRINGRESOURCE(V8StringResource<>, string, MAYBE_MISSING_PARAMETER(args, 0, DefaultIsUndefined));110 V8TRYCATCH_FOR_V8STRINGRESOURCE(V8StringResource<>, string, args[0]); 111 111 112 112 RefPtr<TestOverloadedConstructors> impl = TestOverloadedConstructors::create(string); -
trunk/Source/WebCore/bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp
r142250 r143305 231 231 if (args.Length() < 2) 232 232 return throwNotEnoughArgumentsError(args.GetIsolate()); 233 V8TRYCATCH_FOR_V8STRINGRESOURCE(V8StringResource<>, hello, MAYBE_MISSING_PARAMETER(args, 0, DefaultIsUndefined));233 V8TRYCATCH_FOR_V8STRINGRESOURCE(V8StringResource<>, hello, args[0]); 234 234 MessagePortArray messagePortArrayTransferList; 235 235 ArrayBufferArray arrayBufferArrayTransferList; -
trunk/Source/WebCore/bindings/scripts/test/V8/V8TestTypedefs.cpp
r142951 r143305 193 193 if (args.Length() > 0 && !isUndefinedOrNull(args[0]) && !V8long[]::HasInstance(args[0], args.GetIsolate())) 194 194 return throwTypeError(0, args.GetIsolate()); 195 V8TRYCATCH(Vector<int>, x, toNativeArray<int>( MAYBE_MISSING_PARAMETER(args, 0, DefaultIsUndefined)));195 V8TRYCATCH(Vector<int>, x, toNativeArray<int>(args[0])); 196 196 imp->func(x); 197 197 return v8Undefined(); … … 244 244 return throwNotEnoughArgumentsError(args.GetIsolate()); 245 245 TestTypedefs* imp = V8TestTypedefs::toNative(args.Holder()); 246 V8TRYCATCH(float, width, static_cast<float>( MAYBE_MISSING_PARAMETER(args, 0, DefaultIsUndefined)->NumberValue()));247 V8TRYCATCH(float, height, static_cast<float>( MAYBE_MISSING_PARAMETER(args, 1, DefaultIsUndefined)->NumberValue()));248 V8TRYCATCH(float, blur, static_cast<float>( MAYBE_MISSING_PARAMETER(args, 2, DefaultIsUndefined)->NumberValue()));246 V8TRYCATCH(float, width, static_cast<float>(args[0]->NumberValue())); 247 V8TRYCATCH(float, height, static_cast<float>(args[1]->NumberValue())); 248 V8TRYCATCH(float, blur, static_cast<float>(args[2]->NumberValue())); 249 249 if (args.Length() <= 3) { 250 250 imp->setShadow(width, height, blur); 251 251 return v8Undefined(); 252 252 } 253 V8TRYCATCH_FOR_V8STRINGRESOURCE(V8StringResource<>, color, MAYBE_MISSING_PARAMETER(args, 3, DefaultIsUndefined));253 V8TRYCATCH_FOR_V8STRINGRESOURCE(V8StringResource<>, color, args[3]); 254 254 if (args.Length() <= 4) { 255 255 imp->setShadow(width, height, blur, color); 256 256 return v8Undefined(); 257 257 } 258 V8TRYCATCH(float, alpha, static_cast<float>( MAYBE_MISSING_PARAMETER(args, 4, DefaultIsUndefined)->NumberValue()));258 V8TRYCATCH(float, alpha, static_cast<float>(args[4]->NumberValue())); 259 259 imp->setShadow(width, height, blur, color, alpha); 260 260 return v8Undefined(); … … 266 266 return throwNotEnoughArgumentsError(args.GetIsolate()); 267 267 TestTypedefs* imp = V8TestTypedefs::toNative(args.Holder()); 268 V8TRYCATCH(Vector<RefPtr<SerializedScriptValue> >, sequenceArg, (toRefPtrNativeArray<SerializedScriptValue, V8SerializedScriptValue>( MAYBE_MISSING_PARAMETER(args, 0, DefaultIsUndefined), args.GetIsolate())));268 V8TRYCATCH(Vector<RefPtr<SerializedScriptValue> >, sequenceArg, (toRefPtrNativeArray<SerializedScriptValue, V8SerializedScriptValue>(args[0], args.GetIsolate()))); 269 269 return v8::Number::New(static_cast<double>(imp->methodWithSequenceArg(sequenceArg))); 270 270 } … … 275 275 return throwNotEnoughArgumentsError(args.GetIsolate()); 276 276 TestTypedefs* imp = V8TestTypedefs::toNative(args.Holder()); 277 V8TRYCATCH(Vector<String>, arrayArg, toNativeArray<String>( MAYBE_MISSING_PARAMETER(args, 0, DefaultIsUndefined)));277 V8TRYCATCH(Vector<String>, arrayArg, toNativeArray<String>(args[0])); 278 278 imp->nullableArrayArg(arrayArg); 279 279 return v8Undefined(); … … 314 314 ExceptionCode ec = 0; 315 315 { 316 V8TRYCATCH(Vector<String>, values, toNativeArray<String>( MAYBE_MISSING_PARAMETER(args, 0, DefaultIsUndefined)));316 V8TRYCATCH(Vector<String>, values, toNativeArray<String>(args[0])); 317 317 Vector<String> result = imp->stringArrayFunction(values, ec); 318 318 if (UNLIKELY(ec)) … … 331 331 ExceptionCode ec = 0; 332 332 { 333 V8TRYCATCH(Vector<String>, values, toNativeArray<String>( MAYBE_MISSING_PARAMETER(args, 0, DefaultIsUndefined)));333 V8TRYCATCH(Vector<String>, values, toNativeArray<String>(args[0])); 334 334 Vector<String> result = imp->stringArrayFunction2(values, ec); 335 335 if (UNLIKELY(ec)) … … 393 393 if (args.Length() < 2) 394 394 return throwNotEnoughArgumentsError(args.GetIsolate()); 395 V8TRYCATCH_FOR_V8STRINGRESOURCE(V8StringResource<>, hello, MAYBE_MISSING_PARAMETER(args, 0, DefaultIsUndefined));395 V8TRYCATCH_FOR_V8STRINGRESOURCE(V8StringResource<>, hello, args[0]); 396 396 if (args.Length() <= 1 || !args[1]->IsFunction()) 397 397 return throwTypeError(0, args.GetIsolate()); -
trunk/Source/WebCore/bindings/v8/V8Binding.h
r143232 r143305 74 74 v8::Handle<v8::Value> throwNotEnoughArgumentsError(v8::Isolate*); 75 75 76 inline v8::Handle<v8::Value> argumentOrNull(const v8::Arguments& args, int index) 77 { 78 return index >= args.Length() ? v8::Local<v8::Value>() : args[index]; 79 } 80 76 81 // A fast accessor for v8::Null(isolate). isolate must not be 0. 77 82 // If isolate can be 0, use v8NullWithCheck(). -
trunk/Source/WebCore/bindings/v8/V8BindingMacros.h
r138665 r143305 34 34 namespace WebCore { 35 35 36 enum ParameterDefaultPolicy {37 DefaultIsUndefined,38 DefaultIsNullString39 };40 41 36 #define V8TRYCATCH(type, var, value) \ 42 37 type var; \ … … 58 53 return; 59 54 60 #define MAYBE_MISSING_PARAMETER(args, index, policy) \61 (((policy) == DefaultIsNullString && (index) >= (args).Length()) ? (v8::Local<v8::Value>()) : ((args)[(index)]))62 63 55 } // namespace WebCore 64 56 -
trunk/Source/WebCore/bindings/v8/custom/V8HistoryCustom.cpp
r142849 r143305 66 66 67 67 V8TRYCATCH_FOR_V8STRINGRESOURCE(V8StringResource<WithUndefinedOrNullCheck>, title, args[1]); 68 V8TRYCATCH_FOR_V8STRINGRESOURCE(V8StringResource<WithUndefinedOrNullCheck>, url, MAYBE_MISSING_PARAMETER(args, 2, DefaultIsNullString));68 V8TRYCATCH_FOR_V8STRINGRESOURCE(V8StringResource<WithUndefinedOrNullCheck>, url, argumentOrNull(args, 2)); 69 69 70 70 ExceptionCode ec = 0; … … 83 83 84 84 V8TRYCATCH_FOR_V8STRINGRESOURCE(V8StringResource<WithUndefinedOrNullCheck>, title, args[1]); 85 V8TRYCATCH_FOR_V8STRINGRESOURCE(V8StringResource<WithUndefinedOrNullCheck>, url, MAYBE_MISSING_PARAMETER(args, 2, DefaultIsNullString));85 V8TRYCATCH_FOR_V8STRINGRESOURCE(V8StringResource<WithUndefinedOrNullCheck>, url, argumentOrNull(args, 2)); 86 86 87 87 ExceptionCode ec = 0;
Note: See TracChangeset
for help on using the changeset viewer.