| Index: Source/bindings/tests/results/V8TestInterfaceConstructor2.cpp
|
| diff --git a/Source/bindings/tests/results/V8TestInterfaceConstructor2.cpp b/Source/bindings/tests/results/V8TestInterfaceConstructor2.cpp
|
| index 6077e0bfa04f04d67923cbf6d3b64fc582c6f468..4018011586f9be87d24ce549ef3b6c30b6a97dc4 100644
|
| --- a/Source/bindings/tests/results/V8TestInterfaceConstructor2.cpp
|
| +++ b/Source/bindings/tests/results/V8TestInterfaceConstructor2.cpp
|
| @@ -9,6 +9,7 @@
|
|
|
| #include "bindings/core/v8/Dictionary.h"
|
| #include "bindings/core/v8/ExceptionState.h"
|
| +#include "bindings/core/v8/Optional.h"
|
| #include "bindings/core/v8/V8DOMConfiguration.h"
|
| #include "bindings/core/v8/V8HiddenValue.h"
|
| #include "bindings/core/v8/V8ObjectConstructor.h"
|
| @@ -81,36 +82,44 @@ static void constructor3(const v8::FunctionCallbackInfo<v8::Value>& info)
|
| TestInterfaceEmpty* testInterfaceEmptyArg;
|
| int longArg;
|
| V8StringResource<> defaultUndefinedOptionalStringArg;
|
| + bool defaultUndefinedOptionalStringArgMissing = false;
|
| V8StringResource<> defaultNullStringOptionalStringArg;
|
| Dictionary defaultUndefinedOptionalDictionaryArg;
|
| + bool defaultUndefinedOptionalDictionaryArgMissing = false;
|
| V8StringResource<> optionalStringArg;
|
| + bool optionalStringArgMissing = false;
|
| {
|
| v8::TryCatch block;
|
| V8RethrowTryCatchScope rethrow(block);
|
| TONATIVE_VOID_INTERNAL(testInterfaceEmptyArg, V8TestInterfaceEmpty::toNativeWithTypeCheck(info.GetIsolate(), info[0]));
|
| TONATIVE_VOID_EXCEPTIONSTATE_INTERNAL(longArg, toInt32(info[1], exceptionState), exceptionState);
|
| - TOSTRING_VOID_INTERNAL(defaultUndefinedOptionalStringArg, info[2]);
|
| + if (!info[2]->IsUndefined()) {
|
| + TOSTRING_VOID_INTERNAL(defaultUndefinedOptionalStringArg, info[2]);
|
| + } else {
|
| + defaultUndefinedOptionalStringArgMissing = true;
|
| + }
|
| if (!info[3]->IsUndefined()) {
|
| TOSTRING_VOID_INTERNAL(defaultNullStringOptionalStringArg, info[3]);
|
| } else {
|
| defaultNullStringOptionalStringArg = nullptr;
|
| }
|
| - TONATIVE_VOID_INTERNAL(defaultUndefinedOptionalDictionaryArg, Dictionary(info[4], info.GetIsolate()));
|
| - if (!defaultUndefinedOptionalDictionaryArg.isUndefinedOrNull() && !defaultUndefinedOptionalDictionaryArg.isObject()) {
|
| - exceptionState.throwTypeError("parameter 5 ('defaultUndefinedOptionalDictionaryArg') is not an object.");
|
| - exceptionState.throwIfNeeded();
|
| - return;
|
| + if (!info[4]->IsUndefined()) {
|
| + TONATIVE_VOID_INTERNAL(defaultUndefinedOptionalDictionaryArg, Dictionary(info[4], info.GetIsolate()));
|
| + if (!defaultUndefinedOptionalDictionaryArg.isUndefinedOrNull() && !defaultUndefinedOptionalDictionaryArg.isObject()) {
|
| + exceptionState.throwTypeError("parameter 5 ('defaultUndefinedOptionalDictionaryArg') is not an object.");
|
| + exceptionState.throwIfNeeded();
|
| + return;
|
| + }
|
| + } else {
|
| + defaultUndefinedOptionalDictionaryArgMissing = true;
|
| }
|
| - if (UNLIKELY(info.Length() <= 5)) {
|
| - RefPtr<TestInterfaceConstructor2> impl = TestInterfaceConstructor2::create(testInterfaceEmptyArg, longArg, defaultUndefinedOptionalStringArg, defaultNullStringOptionalStringArg, defaultUndefinedOptionalDictionaryArg);
|
| - v8::Handle<v8::Object> wrapper = info.Holder();
|
| - V8DOMWrapper::associateObjectWithWrapper<V8TestInterfaceConstructor2>(impl.release(), &V8TestInterfaceConstructor2::wrapperTypeInfo, wrapper, info.GetIsolate(), WrapperConfiguration::Independent);
|
| - v8SetReturnValue(info, wrapper);
|
| - return;
|
| + if (!info[5]->IsUndefined()) {
|
| + TOSTRING_VOID_INTERNAL(optionalStringArg, info[5]);
|
| + } else {
|
| + optionalStringArgMissing = true;
|
| }
|
| - TOSTRING_VOID_INTERNAL(optionalStringArg, info[5]);
|
| }
|
| - RefPtr<TestInterfaceConstructor2> impl = TestInterfaceConstructor2::create(testInterfaceEmptyArg, longArg, defaultUndefinedOptionalStringArg, defaultNullStringOptionalStringArg, defaultUndefinedOptionalDictionaryArg, optionalStringArg);
|
| + RefPtr<TestInterfaceConstructor2> impl = TestInterfaceConstructor2::create(testInterfaceEmptyArg, longArg, Optional<V8StringResource<> >(defaultUndefinedOptionalStringArg, defaultUndefinedOptionalStringArgMissing), defaultNullStringOptionalStringArg, Optional<Dictionary>(defaultUndefinedOptionalDictionaryArg, defaultUndefinedOptionalDictionaryArgMissing), Optional<V8StringResource<> >(optionalStringArg, optionalStringArgMissing));
|
| v8::Handle<v8::Object> wrapper = info.Holder();
|
| V8DOMWrapper::associateObjectWithWrapper<V8TestInterfaceConstructor2>(impl.release(), &V8TestInterfaceConstructor2::wrapperTypeInfo, wrapper, info.GetIsolate(), WrapperConfiguration::Independent);
|
| v8SetReturnValue(info, wrapper);
|
|
|