| Index: third_party/WebKit/Source/bindings/tests/results/core/V8TestDictionary.cpp
 | 
| diff --git a/third_party/WebKit/Source/bindings/tests/results/core/V8TestDictionary.cpp b/third_party/WebKit/Source/bindings/tests/results/core/V8TestDictionary.cpp
 | 
| index 0131bddcd8b6ed88cea96ca9fc521f5a3fc809db..da4216444f0383ab151f4e90f4a718885471557e 100644
 | 
| --- a/third_party/WebKit/Source/bindings/tests/results/core/V8TestDictionary.cpp
 | 
| +++ b/third_party/WebKit/Source/bindings/tests/results/core/V8TestDictionary.cpp
 | 
| @@ -26,754 +26,750 @@
 | 
|  
 | 
|  namespace blink {
 | 
|  
 | 
| -void V8TestDictionary::toImpl(v8::Isolate* isolate, v8::Local<v8::Value> v8Value, TestDictionary& impl, ExceptionState& exceptionState)
 | 
| -{
 | 
| -    if (isUndefinedOrNull(v8Value)) {
 | 
| -        return;
 | 
| -    }
 | 
| -    if (!v8Value->IsObject()) {
 | 
| -        exceptionState.throwTypeError("cannot convert to dictionary.");
 | 
| -        return;
 | 
| -    }
 | 
| -
 | 
| -    v8::TryCatch block(isolate);
 | 
| -    v8::Local<v8::Object> v8Object;
 | 
| -    if (!v8Call(v8Value->ToObject(isolate->GetCurrentContext()), v8Object, block)) {
 | 
| -        exceptionState.rethrowV8Exception(block.Exception());
 | 
| -        return;
 | 
| -    }
 | 
| -    v8::Local<v8::Value> anyMemberValue;
 | 
| -    if (!v8Object->Get(isolate->GetCurrentContext(), v8String(isolate, "anyMember")).ToLocal(&anyMemberValue)) {
 | 
| -        exceptionState.rethrowV8Exception(block.Exception());
 | 
| -        return;
 | 
| -    }
 | 
| -    if (anyMemberValue.IsEmpty() || anyMemberValue->IsUndefined()) {
 | 
| -        // Do nothing.
 | 
| -    } else {
 | 
| -        ScriptValue anyMember = ScriptValue(ScriptState::current(isolate), anyMemberValue);
 | 
| -        impl.setAnyMember(anyMember);
 | 
| -    }
 | 
| -
 | 
| -    v8::Local<v8::Value> booleanMemberValue;
 | 
| -    if (!v8Object->Get(isolate->GetCurrentContext(), v8String(isolate, "booleanMember")).ToLocal(&booleanMemberValue)) {
 | 
| -        exceptionState.rethrowV8Exception(block.Exception());
 | 
| -        return;
 | 
| -    }
 | 
| -    if (booleanMemberValue.IsEmpty() || booleanMemberValue->IsUndefined()) {
 | 
| -        // Do nothing.
 | 
| -    } else {
 | 
| -        bool booleanMember = toBoolean(isolate, booleanMemberValue, exceptionState);
 | 
| -        if (exceptionState.hadException())
 | 
| -            return;
 | 
| -        impl.setBooleanMember(booleanMember);
 | 
| -    }
 | 
| -
 | 
| -    v8::Local<v8::Value> createValue;
 | 
| -    if (!v8Object->Get(isolate->GetCurrentContext(), v8String(isolate, "create")).ToLocal(&createValue)) {
 | 
| -        exceptionState.rethrowV8Exception(block.Exception());
 | 
| -        return;
 | 
| -    }
 | 
| -    if (createValue.IsEmpty() || createValue->IsUndefined()) {
 | 
| -        // Do nothing.
 | 
| -    } else {
 | 
| -        bool create = toBoolean(isolate, createValue, exceptionState);
 | 
| -        if (exceptionState.hadException())
 | 
| -            return;
 | 
| -        impl.setCreateMember(create);
 | 
| -    }
 | 
| -
 | 
| -    v8::Local<v8::Value> deprecatedCreateMemberValue;
 | 
| -    if (!v8Object->Get(isolate->GetCurrentContext(), v8String(isolate, "deprecatedCreateMember")).ToLocal(&deprecatedCreateMemberValue)) {
 | 
| -        exceptionState.rethrowV8Exception(block.Exception());
 | 
| -        return;
 | 
| -    }
 | 
| -    if (deprecatedCreateMemberValue.IsEmpty() || deprecatedCreateMemberValue->IsUndefined()) {
 | 
| -        // Do nothing.
 | 
| -    } else {
 | 
| -        Deprecation::countDeprecationIfNotPrivateScript(isolate, currentExecutionContext(isolate), UseCounter::CreateMember);
 | 
| -        bool deprecatedCreateMember = toBoolean(isolate, deprecatedCreateMemberValue, exceptionState);
 | 
| -        if (exceptionState.hadException())
 | 
| -            return;
 | 
| -        impl.setCreateMember(deprecatedCreateMember);
 | 
| -    }
 | 
| -
 | 
| -    v8::Local<v8::Value> dictionaryMemberValue;
 | 
| -    if (!v8Object->Get(isolate->GetCurrentContext(), v8String(isolate, "dictionaryMember")).ToLocal(&dictionaryMemberValue)) {
 | 
| -        exceptionState.rethrowV8Exception(block.Exception());
 | 
| -        return;
 | 
| -    }
 | 
| -    if (dictionaryMemberValue.IsEmpty() || dictionaryMemberValue->IsUndefined()) {
 | 
| -        // Do nothing.
 | 
| -    } else {
 | 
| -        Dictionary dictionaryMember = Dictionary(dictionaryMemberValue, isolate, exceptionState);
 | 
| -        if (exceptionState.hadException())
 | 
| -            return;
 | 
| -        if (!dictionaryMember.isObject()) {
 | 
| -            exceptionState.throwTypeError("member dictionaryMember is not an object.");
 | 
| -            return;
 | 
| -        }
 | 
| -        impl.setDictionaryMember(dictionaryMember);
 | 
| -    }
 | 
| -
 | 
| -    v8::Local<v8::Value> doubleOrNullMemberValue;
 | 
| -    if (!v8Object->Get(isolate->GetCurrentContext(), v8String(isolate, "doubleOrNullMember")).ToLocal(&doubleOrNullMemberValue)) {
 | 
| -        exceptionState.rethrowV8Exception(block.Exception());
 | 
| -        return;
 | 
| -    }
 | 
| -    if (doubleOrNullMemberValue.IsEmpty() || doubleOrNullMemberValue->IsUndefined()) {
 | 
| -        // Do nothing.
 | 
| -    } else if (doubleOrNullMemberValue->IsNull()) {
 | 
| -        impl.setDoubleOrNullMemberToNull();
 | 
| -    } else {
 | 
| -        double doubleOrNullMember = toRestrictedDouble(isolate, doubleOrNullMemberValue, exceptionState);
 | 
| -        if (exceptionState.hadException())
 | 
| -            return;
 | 
| -        impl.setDoubleOrNullMember(doubleOrNullMember);
 | 
| -    }
 | 
| -
 | 
| -    v8::Local<v8::Value> doubleOrStringMemberValue;
 | 
| -    if (!v8Object->Get(isolate->GetCurrentContext(), v8String(isolate, "doubleOrStringMember")).ToLocal(&doubleOrStringMemberValue)) {
 | 
| -        exceptionState.rethrowV8Exception(block.Exception());
 | 
| -        return;
 | 
| -    }
 | 
| -    if (doubleOrStringMemberValue.IsEmpty() || doubleOrStringMemberValue->IsUndefined()) {
 | 
| -        // Do nothing.
 | 
| -    } else {
 | 
| -        DoubleOrString doubleOrStringMember;
 | 
| -        V8DoubleOrString::toImpl(isolate, doubleOrStringMemberValue, doubleOrStringMember, UnionTypeConversionMode::NotNullable, exceptionState);
 | 
| -        if (exceptionState.hadException())
 | 
| -            return;
 | 
| -        impl.setDoubleOrStringMember(doubleOrStringMember);
 | 
| -    }
 | 
| -
 | 
| -    v8::Local<v8::Value> doubleOrStringSequenceMemberValue;
 | 
| -    if (!v8Object->Get(isolate->GetCurrentContext(), v8String(isolate, "doubleOrStringSequenceMember")).ToLocal(&doubleOrStringSequenceMemberValue)) {
 | 
| -        exceptionState.rethrowV8Exception(block.Exception());
 | 
| -        return;
 | 
| -    }
 | 
| -    if (doubleOrStringSequenceMemberValue.IsEmpty() || doubleOrStringSequenceMemberValue->IsUndefined()) {
 | 
| -        // Do nothing.
 | 
| -    } else {
 | 
| -        HeapVector<DoubleOrString> doubleOrStringSequenceMember = toImplArray<HeapVector<DoubleOrString>>(doubleOrStringSequenceMemberValue, 0, isolate, exceptionState);
 | 
| -        if (exceptionState.hadException())
 | 
| -            return;
 | 
| -        impl.setDoubleOrStringSequenceMember(doubleOrStringSequenceMember);
 | 
| -    }
 | 
| -
 | 
| -    v8::Local<v8::Value> elementOrNullMemberValue;
 | 
| -    if (!v8Object->Get(isolate->GetCurrentContext(), v8String(isolate, "elementOrNullMember")).ToLocal(&elementOrNullMemberValue)) {
 | 
| -        exceptionState.rethrowV8Exception(block.Exception());
 | 
| -        return;
 | 
| -    }
 | 
| -    if (elementOrNullMemberValue.IsEmpty() || elementOrNullMemberValue->IsUndefined()) {
 | 
| -        // Do nothing.
 | 
| -    } else if (elementOrNullMemberValue->IsNull()) {
 | 
| -        impl.setElementOrNullMemberToNull();
 | 
| -    } else {
 | 
| -        Element* elementOrNullMember = V8Element::toImplWithTypeCheck(isolate, elementOrNullMemberValue);
 | 
| -        if (!elementOrNullMember) {
 | 
| -            exceptionState.throwTypeError("member elementOrNullMember is not of type Element.");
 | 
| -            return;
 | 
| -        }
 | 
| -        impl.setElementOrNullMember(elementOrNullMember);
 | 
| -    }
 | 
| -
 | 
| -    v8::Local<v8::Value> enumMemberValue;
 | 
| -    if (!v8Object->Get(isolate->GetCurrentContext(), v8String(isolate, "enumMember")).ToLocal(&enumMemberValue)) {
 | 
| -        exceptionState.rethrowV8Exception(block.Exception());
 | 
| -        return;
 | 
| -    }
 | 
| -    if (enumMemberValue.IsEmpty() || enumMemberValue->IsUndefined()) {
 | 
| -        // Do nothing.
 | 
| -    } else {
 | 
| -        V8StringResource<> enumMember = enumMemberValue;
 | 
| -        if (!enumMember.prepare(exceptionState))
 | 
| -            return;
 | 
| -        const char* validValues[] = {
 | 
| -            "",
 | 
| -            "EnumValue1",
 | 
| -            "EnumValue2",
 | 
| -            "EnumValue3",
 | 
| -        };
 | 
| -        if (!isValidEnum(enumMember, validValues, WTF_ARRAY_LENGTH(validValues), "TestEnum", exceptionState))
 | 
| -            return;
 | 
| -        impl.setEnumMember(enumMember);
 | 
| -    }
 | 
| -
 | 
| -    v8::Local<v8::Value> enumSequenceMemberValue;
 | 
| -    if (!v8Object->Get(isolate->GetCurrentContext(), v8String(isolate, "enumSequenceMember")).ToLocal(&enumSequenceMemberValue)) {
 | 
| -        exceptionState.rethrowV8Exception(block.Exception());
 | 
| -        return;
 | 
| -    }
 | 
| -    if (enumSequenceMemberValue.IsEmpty() || enumSequenceMemberValue->IsUndefined()) {
 | 
| +void V8TestDictionary::toImpl(v8::Isolate* isolate, v8::Local<v8::Value> v8Value, TestDictionary& impl, ExceptionState& exceptionState) {
 | 
| +  if (isUndefinedOrNull(v8Value)) {
 | 
| +    return;
 | 
| +  }
 | 
| +  if (!v8Value->IsObject()) {
 | 
| +    exceptionState.throwTypeError("cannot convert to dictionary.");
 | 
| +    return;
 | 
| +  }
 | 
| +
 | 
| +  v8::TryCatch block(isolate);
 | 
| +  v8::Local<v8::Object> v8Object;
 | 
| +  if (!v8Call(v8Value->ToObject(isolate->GetCurrentContext()), v8Object, block)) {
 | 
| +    exceptionState.rethrowV8Exception(block.Exception());
 | 
| +    return;
 | 
| +  }
 | 
| +  v8::Local<v8::Value> anyMemberValue;
 | 
| +  if (!v8Object->Get(isolate->GetCurrentContext(), v8String(isolate, "anyMember")).ToLocal(&anyMemberValue)) {
 | 
| +    exceptionState.rethrowV8Exception(block.Exception());
 | 
| +    return;
 | 
| +  }
 | 
| +  if (anyMemberValue.IsEmpty() || anyMemberValue->IsUndefined()) {
 | 
| +    // Do nothing.
 | 
| +  } else {
 | 
| +    ScriptValue anyMember = ScriptValue(ScriptState::current(isolate), anyMemberValue);
 | 
| +    impl.setAnyMember(anyMember);
 | 
| +  }
 | 
| +
 | 
| +  v8::Local<v8::Value> booleanMemberValue;
 | 
| +  if (!v8Object->Get(isolate->GetCurrentContext(), v8String(isolate, "booleanMember")).ToLocal(&booleanMemberValue)) {
 | 
| +    exceptionState.rethrowV8Exception(block.Exception());
 | 
| +    return;
 | 
| +  }
 | 
| +  if (booleanMemberValue.IsEmpty() || booleanMemberValue->IsUndefined()) {
 | 
| +    // Do nothing.
 | 
| +  } else {
 | 
| +    bool booleanMember = toBoolean(isolate, booleanMemberValue, exceptionState);
 | 
| +    if (exceptionState.hadException())
 | 
| +      return;
 | 
| +    impl.setBooleanMember(booleanMember);
 | 
| +  }
 | 
| +
 | 
| +  v8::Local<v8::Value> createValue;
 | 
| +  if (!v8Object->Get(isolate->GetCurrentContext(), v8String(isolate, "create")).ToLocal(&createValue)) {
 | 
| +    exceptionState.rethrowV8Exception(block.Exception());
 | 
| +    return;
 | 
| +  }
 | 
| +  if (createValue.IsEmpty() || createValue->IsUndefined()) {
 | 
| +    // Do nothing.
 | 
| +  } else {
 | 
| +    bool create = toBoolean(isolate, createValue, exceptionState);
 | 
| +    if (exceptionState.hadException())
 | 
| +      return;
 | 
| +    impl.setCreateMember(create);
 | 
| +  }
 | 
| +
 | 
| +  v8::Local<v8::Value> deprecatedCreateMemberValue;
 | 
| +  if (!v8Object->Get(isolate->GetCurrentContext(), v8String(isolate, "deprecatedCreateMember")).ToLocal(&deprecatedCreateMemberValue)) {
 | 
| +    exceptionState.rethrowV8Exception(block.Exception());
 | 
| +    return;
 | 
| +  }
 | 
| +  if (deprecatedCreateMemberValue.IsEmpty() || deprecatedCreateMemberValue->IsUndefined()) {
 | 
| +    // Do nothing.
 | 
| +  } else {
 | 
| +    Deprecation::countDeprecationIfNotPrivateScript(isolate, currentExecutionContext(isolate), UseCounter::CreateMember);
 | 
| +    bool deprecatedCreateMember = toBoolean(isolate, deprecatedCreateMemberValue, exceptionState);
 | 
| +    if (exceptionState.hadException())
 | 
| +      return;
 | 
| +    impl.setCreateMember(deprecatedCreateMember);
 | 
| +  }
 | 
| +
 | 
| +  v8::Local<v8::Value> dictionaryMemberValue;
 | 
| +  if (!v8Object->Get(isolate->GetCurrentContext(), v8String(isolate, "dictionaryMember")).ToLocal(&dictionaryMemberValue)) {
 | 
| +    exceptionState.rethrowV8Exception(block.Exception());
 | 
| +    return;
 | 
| +  }
 | 
| +  if (dictionaryMemberValue.IsEmpty() || dictionaryMemberValue->IsUndefined()) {
 | 
| +    // Do nothing.
 | 
| +  } else {
 | 
| +    Dictionary dictionaryMember = Dictionary(dictionaryMemberValue, isolate, exceptionState);
 | 
| +    if (exceptionState.hadException())
 | 
| +      return;
 | 
| +    if (!dictionaryMember.isObject()) {
 | 
| +      exceptionState.throwTypeError("member dictionaryMember is not an object.");
 | 
| +      return;
 | 
| +    }
 | 
| +    impl.setDictionaryMember(dictionaryMember);
 | 
| +  }
 | 
| +
 | 
| +  v8::Local<v8::Value> doubleOrNullMemberValue;
 | 
| +  if (!v8Object->Get(isolate->GetCurrentContext(), v8String(isolate, "doubleOrNullMember")).ToLocal(&doubleOrNullMemberValue)) {
 | 
| +    exceptionState.rethrowV8Exception(block.Exception());
 | 
| +    return;
 | 
| +  }
 | 
| +  if (doubleOrNullMemberValue.IsEmpty() || doubleOrNullMemberValue->IsUndefined()) {
 | 
| +    // Do nothing.
 | 
| +  } else if (doubleOrNullMemberValue->IsNull()) {
 | 
| +    impl.setDoubleOrNullMemberToNull();
 | 
| +  } else {
 | 
| +    double doubleOrNullMember = toRestrictedDouble(isolate, doubleOrNullMemberValue, exceptionState);
 | 
| +    if (exceptionState.hadException())
 | 
| +      return;
 | 
| +    impl.setDoubleOrNullMember(doubleOrNullMember);
 | 
| +  }
 | 
| +
 | 
| +  v8::Local<v8::Value> doubleOrStringMemberValue;
 | 
| +  if (!v8Object->Get(isolate->GetCurrentContext(), v8String(isolate, "doubleOrStringMember")).ToLocal(&doubleOrStringMemberValue)) {
 | 
| +    exceptionState.rethrowV8Exception(block.Exception());
 | 
| +    return;
 | 
| +  }
 | 
| +  if (doubleOrStringMemberValue.IsEmpty() || doubleOrStringMemberValue->IsUndefined()) {
 | 
| +    // Do nothing.
 | 
| +  } else {
 | 
| +    DoubleOrString doubleOrStringMember;
 | 
| +    V8DoubleOrString::toImpl(isolate, doubleOrStringMemberValue, doubleOrStringMember, UnionTypeConversionMode::NotNullable, exceptionState);
 | 
| +    if (exceptionState.hadException())
 | 
| +      return;
 | 
| +    impl.setDoubleOrStringMember(doubleOrStringMember);
 | 
| +  }
 | 
| +
 | 
| +  v8::Local<v8::Value> doubleOrStringSequenceMemberValue;
 | 
| +  if (!v8Object->Get(isolate->GetCurrentContext(), v8String(isolate, "doubleOrStringSequenceMember")).ToLocal(&doubleOrStringSequenceMemberValue)) {
 | 
| +    exceptionState.rethrowV8Exception(block.Exception());
 | 
| +    return;
 | 
| +  }
 | 
| +  if (doubleOrStringSequenceMemberValue.IsEmpty() || doubleOrStringSequenceMemberValue->IsUndefined()) {
 | 
| +    // Do nothing.
 | 
| +  } else {
 | 
| +    HeapVector<DoubleOrString> doubleOrStringSequenceMember = toImplArray<HeapVector<DoubleOrString>>(doubleOrStringSequenceMemberValue, 0, isolate, exceptionState);
 | 
| +    if (exceptionState.hadException())
 | 
| +      return;
 | 
| +    impl.setDoubleOrStringSequenceMember(doubleOrStringSequenceMember);
 | 
| +  }
 | 
| +
 | 
| +  v8::Local<v8::Value> elementOrNullMemberValue;
 | 
| +  if (!v8Object->Get(isolate->GetCurrentContext(), v8String(isolate, "elementOrNullMember")).ToLocal(&elementOrNullMemberValue)) {
 | 
| +    exceptionState.rethrowV8Exception(block.Exception());
 | 
| +    return;
 | 
| +  }
 | 
| +  if (elementOrNullMemberValue.IsEmpty() || elementOrNullMemberValue->IsUndefined()) {
 | 
| +    // Do nothing.
 | 
| +  } else if (elementOrNullMemberValue->IsNull()) {
 | 
| +    impl.setElementOrNullMemberToNull();
 | 
| +  } else {
 | 
| +    Element* elementOrNullMember = V8Element::toImplWithTypeCheck(isolate, elementOrNullMemberValue);
 | 
| +    if (!elementOrNullMember) {
 | 
| +      exceptionState.throwTypeError("member elementOrNullMember is not of type Element.");
 | 
| +      return;
 | 
| +    }
 | 
| +    impl.setElementOrNullMember(elementOrNullMember);
 | 
| +  }
 | 
| +
 | 
| +  v8::Local<v8::Value> enumMemberValue;
 | 
| +  if (!v8Object->Get(isolate->GetCurrentContext(), v8String(isolate, "enumMember")).ToLocal(&enumMemberValue)) {
 | 
| +    exceptionState.rethrowV8Exception(block.Exception());
 | 
| +    return;
 | 
| +  }
 | 
| +  if (enumMemberValue.IsEmpty() || enumMemberValue->IsUndefined()) {
 | 
| +    // Do nothing.
 | 
| +  } else {
 | 
| +    V8StringResource<> enumMember = enumMemberValue;
 | 
| +    if (!enumMember.prepare(exceptionState))
 | 
| +      return;
 | 
| +    const char* validValues[] = {
 | 
| +        "",
 | 
| +        "EnumValue1",
 | 
| +        "EnumValue2",
 | 
| +        "EnumValue3",
 | 
| +    };
 | 
| +    if (!isValidEnum(enumMember, validValues, WTF_ARRAY_LENGTH(validValues), "TestEnum", exceptionState))
 | 
| +      return;
 | 
| +    impl.setEnumMember(enumMember);
 | 
| +  }
 | 
| +
 | 
| +  v8::Local<v8::Value> enumSequenceMemberValue;
 | 
| +  if (!v8Object->Get(isolate->GetCurrentContext(), v8String(isolate, "enumSequenceMember")).ToLocal(&enumSequenceMemberValue)) {
 | 
| +    exceptionState.rethrowV8Exception(block.Exception());
 | 
| +    return;
 | 
| +  }
 | 
| +  if (enumSequenceMemberValue.IsEmpty() || enumSequenceMemberValue->IsUndefined()) {
 | 
| +    // Do nothing.
 | 
| +  } else {
 | 
| +    Vector<String> enumSequenceMember = toImplArray<Vector<String>>(enumSequenceMemberValue, 0, isolate, exceptionState);
 | 
| +    if (exceptionState.hadException())
 | 
| +      return;
 | 
| +    const char* validValues[] = {
 | 
| +        "",
 | 
| +        "EnumValue1",
 | 
| +        "EnumValue2",
 | 
| +        "EnumValue3",
 | 
| +    };
 | 
| +    if (!isValidEnum(enumSequenceMember, validValues, WTF_ARRAY_LENGTH(validValues), "TestEnum", exceptionState))
 | 
| +      return;
 | 
| +    impl.setEnumSequenceMember(enumSequenceMember);
 | 
| +  }
 | 
| +
 | 
| +  v8::Local<v8::Value> eventTargetMemberValue;
 | 
| +  if (!v8Object->Get(isolate->GetCurrentContext(), v8String(isolate, "eventTargetMember")).ToLocal(&eventTargetMemberValue)) {
 | 
| +    exceptionState.rethrowV8Exception(block.Exception());
 | 
| +    return;
 | 
| +  }
 | 
| +  if (eventTargetMemberValue.IsEmpty() || eventTargetMemberValue->IsUndefined()) {
 | 
| +    // Do nothing.
 | 
| +  } else {
 | 
| +    EventTarget* eventTargetMember = toEventTarget(isolate, eventTargetMemberValue);
 | 
| +    if (!eventTargetMember) {
 | 
| +      exceptionState.throwTypeError("member eventTargetMember is not of type EventTarget.");
 | 
| +      return;
 | 
| +    }
 | 
| +    impl.setEventTargetMember(eventTargetMember);
 | 
| +  }
 | 
| +
 | 
| +  v8::Local<v8::Value> internalDictionarySequenceMemberValue;
 | 
| +  if (!v8Object->Get(isolate->GetCurrentContext(), v8String(isolate, "internalDictionarySequenceMember")).ToLocal(&internalDictionarySequenceMemberValue)) {
 | 
| +    exceptionState.rethrowV8Exception(block.Exception());
 | 
| +    return;
 | 
| +  }
 | 
| +  if (internalDictionarySequenceMemberValue.IsEmpty() || internalDictionarySequenceMemberValue->IsUndefined()) {
 | 
| +    // Do nothing.
 | 
| +  } else {
 | 
| +    HeapVector<InternalDictionary> internalDictionarySequenceMember = toImplArray<HeapVector<InternalDictionary>>(internalDictionarySequenceMemberValue, 0, isolate, exceptionState);
 | 
| +    if (exceptionState.hadException())
 | 
| +      return;
 | 
| +    impl.setInternalDictionarySequenceMember(internalDictionarySequenceMember);
 | 
| +  }
 | 
| +
 | 
| +  v8::Local<v8::Value> longMemberValue;
 | 
| +  if (!v8Object->Get(isolate->GetCurrentContext(), v8String(isolate, "longMember")).ToLocal(&longMemberValue)) {
 | 
| +    exceptionState.rethrowV8Exception(block.Exception());
 | 
| +    return;
 | 
| +  }
 | 
| +  if (longMemberValue.IsEmpty() || longMemberValue->IsUndefined()) {
 | 
| +    // Do nothing.
 | 
| +  } else {
 | 
| +    int longMember = toInt32(isolate, longMemberValue, NormalConversion, exceptionState);
 | 
| +    if (exceptionState.hadException())
 | 
| +      return;
 | 
| +    impl.setLongMember(longMember);
 | 
| +  }
 | 
| +
 | 
| +  v8::Local<v8::Value> objectMemberValue;
 | 
| +  if (!v8Object->Get(isolate->GetCurrentContext(), v8String(isolate, "objectMember")).ToLocal(&objectMemberValue)) {
 | 
| +    exceptionState.rethrowV8Exception(block.Exception());
 | 
| +    return;
 | 
| +  }
 | 
| +  if (objectMemberValue.IsEmpty() || objectMemberValue->IsUndefined()) {
 | 
| +    // Do nothing.
 | 
| +  } else {
 | 
| +    ScriptValue objectMember = ScriptValue(ScriptState::current(isolate), objectMemberValue);
 | 
| +    if (!objectMember.isObject()) {
 | 
| +      exceptionState.throwTypeError("member objectMember is not an object.");
 | 
| +      return;
 | 
| +    }
 | 
| +    impl.setObjectMember(objectMember);
 | 
| +  }
 | 
| +
 | 
| +  v8::Local<v8::Value> objectOrNullMemberValue;
 | 
| +  if (!v8Object->Get(isolate->GetCurrentContext(), v8String(isolate, "objectOrNullMember")).ToLocal(&objectOrNullMemberValue)) {
 | 
| +    exceptionState.rethrowV8Exception(block.Exception());
 | 
| +    return;
 | 
| +  }
 | 
| +  if (objectOrNullMemberValue.IsEmpty() || objectOrNullMemberValue->IsUndefined()) {
 | 
| +    // Do nothing.
 | 
| +  } else if (objectOrNullMemberValue->IsNull()) {
 | 
| +    impl.setObjectOrNullMemberToNull();
 | 
| +  } else {
 | 
| +    ScriptValue objectOrNullMember = ScriptValue(ScriptState::current(isolate), objectOrNullMemberValue);
 | 
| +    if (!objectOrNullMember.isObject()) {
 | 
| +      exceptionState.throwTypeError("member objectOrNullMember is not an object.");
 | 
| +      return;
 | 
| +    }
 | 
| +    impl.setObjectOrNullMember(objectOrNullMember);
 | 
| +  }
 | 
| +
 | 
| +  v8::Local<v8::Value> otherDoubleOrStringMemberValue;
 | 
| +  if (!v8Object->Get(isolate->GetCurrentContext(), v8String(isolate, "otherDoubleOrStringMember")).ToLocal(&otherDoubleOrStringMemberValue)) {
 | 
| +    exceptionState.rethrowV8Exception(block.Exception());
 | 
| +    return;
 | 
| +  }
 | 
| +  if (otherDoubleOrStringMemberValue.IsEmpty() || otherDoubleOrStringMemberValue->IsUndefined()) {
 | 
| +    // Do nothing.
 | 
| +  } else {
 | 
| +    DoubleOrString otherDoubleOrStringMember;
 | 
| +    V8DoubleOrString::toImpl(isolate, otherDoubleOrStringMemberValue, otherDoubleOrStringMember, UnionTypeConversionMode::NotNullable, exceptionState);
 | 
| +    if (exceptionState.hadException())
 | 
| +      return;
 | 
| +    impl.setOtherDoubleOrStringMember(otherDoubleOrStringMember);
 | 
| +  }
 | 
| +
 | 
| +  v8::Local<v8::Value> restrictedDoubleMemberValue;
 | 
| +  if (!v8Object->Get(isolate->GetCurrentContext(), v8String(isolate, "restrictedDoubleMember")).ToLocal(&restrictedDoubleMemberValue)) {
 | 
| +    exceptionState.rethrowV8Exception(block.Exception());
 | 
| +    return;
 | 
| +  }
 | 
| +  if (restrictedDoubleMemberValue.IsEmpty() || restrictedDoubleMemberValue->IsUndefined()) {
 | 
| +    // Do nothing.
 | 
| +  } else {
 | 
| +    double restrictedDoubleMember = toRestrictedDouble(isolate, restrictedDoubleMemberValue, exceptionState);
 | 
| +    if (exceptionState.hadException())
 | 
| +      return;
 | 
| +    impl.setRestrictedDoubleMember(restrictedDoubleMember);
 | 
| +  }
 | 
| +
 | 
| +  if (RuntimeEnabledFeatures::runtimeFeatureEnabled()) {
 | 
| +      v8::Local<v8::Value> runtimeMemberValue;
 | 
| +      if (!v8Object->Get(isolate->GetCurrentContext(), v8String(isolate, "runtimeMember")).ToLocal(&runtimeMemberValue)) {
 | 
| +        exceptionState.rethrowV8Exception(block.Exception());
 | 
| +        return;
 | 
| +      }
 | 
| +      if (runtimeMemberValue.IsEmpty() || runtimeMemberValue->IsUndefined()) {
 | 
|          // Do nothing.
 | 
| -    } else {
 | 
| -        Vector<String> enumSequenceMember = toImplArray<Vector<String>>(enumSequenceMemberValue, 0, isolate, exceptionState);
 | 
| +      } else {
 | 
| +        bool runtimeMember = toBoolean(isolate, runtimeMemberValue, exceptionState);
 | 
|          if (exceptionState.hadException())
 | 
| -            return;
 | 
| -        const char* validValues[] = {
 | 
| -            "",
 | 
| -            "EnumValue1",
 | 
| -            "EnumValue2",
 | 
| -            "EnumValue3",
 | 
| -        };
 | 
| -        if (!isValidEnum(enumSequenceMember, validValues, WTF_ARRAY_LENGTH(validValues), "TestEnum", exceptionState))
 | 
| -            return;
 | 
| -        impl.setEnumSequenceMember(enumSequenceMember);
 | 
| -    }
 | 
| -
 | 
| -    v8::Local<v8::Value> eventTargetMemberValue;
 | 
| -    if (!v8Object->Get(isolate->GetCurrentContext(), v8String(isolate, "eventTargetMember")).ToLocal(&eventTargetMemberValue)) {
 | 
| -        exceptionState.rethrowV8Exception(block.Exception());
 | 
| -        return;
 | 
| -    }
 | 
| -    if (eventTargetMemberValue.IsEmpty() || eventTargetMemberValue->IsUndefined()) {
 | 
| -        // Do nothing.
 | 
| -    } else {
 | 
| -        EventTarget* eventTargetMember = toEventTarget(isolate, eventTargetMemberValue);
 | 
| -        if (!eventTargetMember) {
 | 
| -            exceptionState.throwTypeError("member eventTargetMember is not of type EventTarget.");
 | 
| -            return;
 | 
| -        }
 | 
| -        impl.setEventTargetMember(eventTargetMember);
 | 
| -    }
 | 
| -
 | 
| -    v8::Local<v8::Value> internalDictionarySequenceMemberValue;
 | 
| -    if (!v8Object->Get(isolate->GetCurrentContext(), v8String(isolate, "internalDictionarySequenceMember")).ToLocal(&internalDictionarySequenceMemberValue)) {
 | 
| -        exceptionState.rethrowV8Exception(block.Exception());
 | 
| -        return;
 | 
| -    }
 | 
| -    if (internalDictionarySequenceMemberValue.IsEmpty() || internalDictionarySequenceMemberValue->IsUndefined()) {
 | 
| -        // Do nothing.
 | 
| -    } else {
 | 
| -        HeapVector<InternalDictionary> internalDictionarySequenceMember = toImplArray<HeapVector<InternalDictionary>>(internalDictionarySequenceMemberValue, 0, isolate, exceptionState);
 | 
| -        if (exceptionState.hadException())
 | 
| -            return;
 | 
| -        impl.setInternalDictionarySequenceMember(internalDictionarySequenceMember);
 | 
| -    }
 | 
| -
 | 
| -    v8::Local<v8::Value> longMemberValue;
 | 
| -    if (!v8Object->Get(isolate->GetCurrentContext(), v8String(isolate, "longMember")).ToLocal(&longMemberValue)) {
 | 
| -        exceptionState.rethrowV8Exception(block.Exception());
 | 
| -        return;
 | 
| -    }
 | 
| -    if (longMemberValue.IsEmpty() || longMemberValue->IsUndefined()) {
 | 
| -        // Do nothing.
 | 
| -    } else {
 | 
| -        int longMember = toInt32(isolate, longMemberValue, NormalConversion, exceptionState);
 | 
| -        if (exceptionState.hadException())
 | 
| -            return;
 | 
| -        impl.setLongMember(longMember);
 | 
| -    }
 | 
| -
 | 
| -    v8::Local<v8::Value> objectMemberValue;
 | 
| -    if (!v8Object->Get(isolate->GetCurrentContext(), v8String(isolate, "objectMember")).ToLocal(&objectMemberValue)) {
 | 
| -        exceptionState.rethrowV8Exception(block.Exception());
 | 
| -        return;
 | 
| -    }
 | 
| -    if (objectMemberValue.IsEmpty() || objectMemberValue->IsUndefined()) {
 | 
| -        // Do nothing.
 | 
| -    } else {
 | 
| -        ScriptValue objectMember = ScriptValue(ScriptState::current(isolate), objectMemberValue);
 | 
| -        if (!objectMember.isObject()) {
 | 
| -            exceptionState.throwTypeError("member objectMember is not an object.");
 | 
| -            return;
 | 
| -        }
 | 
| -        impl.setObjectMember(objectMember);
 | 
| -    }
 | 
| -
 | 
| -    v8::Local<v8::Value> objectOrNullMemberValue;
 | 
| -    if (!v8Object->Get(isolate->GetCurrentContext(), v8String(isolate, "objectOrNullMember")).ToLocal(&objectOrNullMemberValue)) {
 | 
| -        exceptionState.rethrowV8Exception(block.Exception());
 | 
| -        return;
 | 
| -    }
 | 
| -    if (objectOrNullMemberValue.IsEmpty() || objectOrNullMemberValue->IsUndefined()) {
 | 
| -        // Do nothing.
 | 
| -    } else if (objectOrNullMemberValue->IsNull()) {
 | 
| -        impl.setObjectOrNullMemberToNull();
 | 
| -    } else {
 | 
| -        ScriptValue objectOrNullMember = ScriptValue(ScriptState::current(isolate), objectOrNullMemberValue);
 | 
| -        if (!objectOrNullMember.isObject()) {
 | 
| -            exceptionState.throwTypeError("member objectOrNullMember is not an object.");
 | 
| -            return;
 | 
| -        }
 | 
| -        impl.setObjectOrNullMember(objectOrNullMember);
 | 
| -    }
 | 
| -
 | 
| -    v8::Local<v8::Value> otherDoubleOrStringMemberValue;
 | 
| -    if (!v8Object->Get(isolate->GetCurrentContext(), v8String(isolate, "otherDoubleOrStringMember")).ToLocal(&otherDoubleOrStringMemberValue)) {
 | 
| -        exceptionState.rethrowV8Exception(block.Exception());
 | 
| -        return;
 | 
| -    }
 | 
| -    if (otherDoubleOrStringMemberValue.IsEmpty() || otherDoubleOrStringMemberValue->IsUndefined()) {
 | 
| -        // Do nothing.
 | 
| -    } else {
 | 
| -        DoubleOrString otherDoubleOrStringMember;
 | 
| -        V8DoubleOrString::toImpl(isolate, otherDoubleOrStringMemberValue, otherDoubleOrStringMember, UnionTypeConversionMode::NotNullable, exceptionState);
 | 
| -        if (exceptionState.hadException())
 | 
| -            return;
 | 
| -        impl.setOtherDoubleOrStringMember(otherDoubleOrStringMember);
 | 
| -    }
 | 
| -
 | 
| -    v8::Local<v8::Value> restrictedDoubleMemberValue;
 | 
| -    if (!v8Object->Get(isolate->GetCurrentContext(), v8String(isolate, "restrictedDoubleMember")).ToLocal(&restrictedDoubleMemberValue)) {
 | 
| -        exceptionState.rethrowV8Exception(block.Exception());
 | 
| -        return;
 | 
| -    }
 | 
| -    if (restrictedDoubleMemberValue.IsEmpty() || restrictedDoubleMemberValue->IsUndefined()) {
 | 
| -        // Do nothing.
 | 
| -    } else {
 | 
| -        double restrictedDoubleMember = toRestrictedDouble(isolate, restrictedDoubleMemberValue, exceptionState);
 | 
| -        if (exceptionState.hadException())
 | 
| -            return;
 | 
| -        impl.setRestrictedDoubleMember(restrictedDoubleMember);
 | 
| -    }
 | 
| -
 | 
| -    if (RuntimeEnabledFeatures::runtimeFeatureEnabled()) {
 | 
| -        v8::Local<v8::Value> runtimeMemberValue;
 | 
| -        if (!v8Object->Get(isolate->GetCurrentContext(), v8String(isolate, "runtimeMember")).ToLocal(&runtimeMemberValue)) {
 | 
| -            exceptionState.rethrowV8Exception(block.Exception());
 | 
| -            return;
 | 
| -        }
 | 
| -        if (runtimeMemberValue.IsEmpty() || runtimeMemberValue->IsUndefined()) {
 | 
| -            // Do nothing.
 | 
| -        } else {
 | 
| -            bool runtimeMember = toBoolean(isolate, runtimeMemberValue, exceptionState);
 | 
| -            if (exceptionState.hadException())
 | 
| -                return;
 | 
| -            impl.setRuntimeMember(runtimeMember);
 | 
| -        }
 | 
| -    }
 | 
| -
 | 
| -    v8::Local<v8::Value> stringArrayMemberValue;
 | 
| -    if (!v8Object->Get(isolate->GetCurrentContext(), v8String(isolate, "stringArrayMember")).ToLocal(&stringArrayMemberValue)) {
 | 
| -        exceptionState.rethrowV8Exception(block.Exception());
 | 
| -        return;
 | 
| -    }
 | 
| -    if (stringArrayMemberValue.IsEmpty() || stringArrayMemberValue->IsUndefined()) {
 | 
| -        // Do nothing.
 | 
| -    } else {
 | 
| -        Vector<String> stringArrayMember = toImplArray<Vector<String>>(stringArrayMemberValue, 0, isolate, exceptionState);
 | 
| -        if (exceptionState.hadException())
 | 
| -            return;
 | 
| -        impl.setStringArrayMember(stringArrayMember);
 | 
| -    }
 | 
| -
 | 
| -    v8::Local<v8::Value> stringMemberValue;
 | 
| -    if (!v8Object->Get(isolate->GetCurrentContext(), v8String(isolate, "stringMember")).ToLocal(&stringMemberValue)) {
 | 
| -        exceptionState.rethrowV8Exception(block.Exception());
 | 
| -        return;
 | 
| -    }
 | 
| -    if (stringMemberValue.IsEmpty() || stringMemberValue->IsUndefined()) {
 | 
| -        // Do nothing.
 | 
| -    } else {
 | 
| -        V8StringResource<> stringMember = stringMemberValue;
 | 
| -        if (!stringMember.prepare(exceptionState))
 | 
| -            return;
 | 
| -        impl.setStringMember(stringMember);
 | 
| -    }
 | 
| -
 | 
| -    v8::Local<v8::Value> stringOrNullMemberValue;
 | 
| -    if (!v8Object->Get(isolate->GetCurrentContext(), v8String(isolate, "stringOrNullMember")).ToLocal(&stringOrNullMemberValue)) {
 | 
| -        exceptionState.rethrowV8Exception(block.Exception());
 | 
| -        return;
 | 
| -    }
 | 
| -    if (stringOrNullMemberValue.IsEmpty() || stringOrNullMemberValue->IsUndefined()) {
 | 
| -        // Do nothing.
 | 
| -    } else if (stringOrNullMemberValue->IsNull()) {
 | 
| -        impl.setStringOrNullMemberToNull();
 | 
| -    } else {
 | 
| -        V8StringResource<> stringOrNullMember = stringOrNullMemberValue;
 | 
| -        if (!stringOrNullMember.prepare(exceptionState))
 | 
| -            return;
 | 
| -        impl.setStringOrNullMember(stringOrNullMember);
 | 
| -    }
 | 
| -
 | 
| -    v8::Local<v8::Value> stringSequenceMemberValue;
 | 
| -    if (!v8Object->Get(isolate->GetCurrentContext(), v8String(isolate, "stringSequenceMember")).ToLocal(&stringSequenceMemberValue)) {
 | 
| -        exceptionState.rethrowV8Exception(block.Exception());
 | 
| -        return;
 | 
| -    }
 | 
| -    if (stringSequenceMemberValue.IsEmpty() || stringSequenceMemberValue->IsUndefined()) {
 | 
| -        // Do nothing.
 | 
| -    } else {
 | 
| -        Vector<String> stringSequenceMember = toImplArray<Vector<String>>(stringSequenceMemberValue, 0, isolate, exceptionState);
 | 
| -        if (exceptionState.hadException())
 | 
| -            return;
 | 
| -        impl.setStringSequenceMember(stringSequenceMember);
 | 
| -    }
 | 
| -
 | 
| -    v8::Local<v8::Value> testInterface2OrUint8ArrayMemberValue;
 | 
| -    if (!v8Object->Get(isolate->GetCurrentContext(), v8String(isolate, "testInterface2OrUint8ArrayMember")).ToLocal(&testInterface2OrUint8ArrayMemberValue)) {
 | 
| -        exceptionState.rethrowV8Exception(block.Exception());
 | 
| -        return;
 | 
| -    }
 | 
| -    if (testInterface2OrUint8ArrayMemberValue.IsEmpty() || testInterface2OrUint8ArrayMemberValue->IsUndefined()) {
 | 
| -        // Do nothing.
 | 
| -    } else {
 | 
| -        TestInterface2OrUint8Array testInterface2OrUint8ArrayMember;
 | 
| -        V8TestInterface2OrUint8Array::toImpl(isolate, testInterface2OrUint8ArrayMemberValue, testInterface2OrUint8ArrayMember, UnionTypeConversionMode::NotNullable, exceptionState);
 | 
| -        if (exceptionState.hadException())
 | 
| -            return;
 | 
| -        impl.setTestInterface2OrUint8ArrayMember(testInterface2OrUint8ArrayMember);
 | 
| -    }
 | 
| -
 | 
| -    v8::Local<v8::Value> testInterfaceGarbageCollectedMemberValue;
 | 
| -    if (!v8Object->Get(isolate->GetCurrentContext(), v8String(isolate, "testInterfaceGarbageCollectedMember")).ToLocal(&testInterfaceGarbageCollectedMemberValue)) {
 | 
| -        exceptionState.rethrowV8Exception(block.Exception());
 | 
| -        return;
 | 
| -    }
 | 
| -    if (testInterfaceGarbageCollectedMemberValue.IsEmpty() || testInterfaceGarbageCollectedMemberValue->IsUndefined()) {
 | 
| -        // Do nothing.
 | 
| -    } else {
 | 
| -        TestInterfaceGarbageCollected* testInterfaceGarbageCollectedMember = V8TestInterfaceGarbageCollected::toImplWithTypeCheck(isolate, testInterfaceGarbageCollectedMemberValue);
 | 
| -        if (!testInterfaceGarbageCollectedMember) {
 | 
| -            exceptionState.throwTypeError("member testInterfaceGarbageCollectedMember is not of type TestInterfaceGarbageCollected.");
 | 
| -            return;
 | 
| -        }
 | 
| -        impl.setTestInterfaceGarbageCollectedMember(testInterfaceGarbageCollectedMember);
 | 
| -    }
 | 
| -
 | 
| -    v8::Local<v8::Value> testInterfaceGarbageCollectedOrNullMemberValue;
 | 
| -    if (!v8Object->Get(isolate->GetCurrentContext(), v8String(isolate, "testInterfaceGarbageCollectedOrNullMember")).ToLocal(&testInterfaceGarbageCollectedOrNullMemberValue)) {
 | 
| -        exceptionState.rethrowV8Exception(block.Exception());
 | 
| -        return;
 | 
| -    }
 | 
| -    if (testInterfaceGarbageCollectedOrNullMemberValue.IsEmpty() || testInterfaceGarbageCollectedOrNullMemberValue->IsUndefined()) {
 | 
| -        // Do nothing.
 | 
| -    } else if (testInterfaceGarbageCollectedOrNullMemberValue->IsNull()) {
 | 
| -        impl.setTestInterfaceGarbageCollectedOrNullMemberToNull();
 | 
| -    } else {
 | 
| -        TestInterfaceGarbageCollected* testInterfaceGarbageCollectedOrNullMember = V8TestInterfaceGarbageCollected::toImplWithTypeCheck(isolate, testInterfaceGarbageCollectedOrNullMemberValue);
 | 
| -        if (!testInterfaceGarbageCollectedOrNullMember) {
 | 
| -            exceptionState.throwTypeError("member testInterfaceGarbageCollectedOrNullMember is not of type TestInterfaceGarbageCollected.");
 | 
| -            return;
 | 
| -        }
 | 
| -        impl.setTestInterfaceGarbageCollectedOrNullMember(testInterfaceGarbageCollectedOrNullMember);
 | 
| -    }
 | 
| -
 | 
| -    v8::Local<v8::Value> testInterfaceGarbageCollectedSequenceMemberValue;
 | 
| -    if (!v8Object->Get(isolate->GetCurrentContext(), v8String(isolate, "testInterfaceGarbageCollectedSequenceMember")).ToLocal(&testInterfaceGarbageCollectedSequenceMemberValue)) {
 | 
| -        exceptionState.rethrowV8Exception(block.Exception());
 | 
| -        return;
 | 
| -    }
 | 
| -    if (testInterfaceGarbageCollectedSequenceMemberValue.IsEmpty() || testInterfaceGarbageCollectedSequenceMemberValue->IsUndefined()) {
 | 
| -        // Do nothing.
 | 
| -    } else {
 | 
| -        HeapVector<Member<TestInterfaceGarbageCollected>> testInterfaceGarbageCollectedSequenceMember = (toMemberNativeArray<TestInterfaceGarbageCollected>(testInterfaceGarbageCollectedSequenceMemberValue, 0, isolate, exceptionState));
 | 
| -        if (exceptionState.hadException())
 | 
| -            return;
 | 
| -        impl.setTestInterfaceGarbageCollectedSequenceMember(testInterfaceGarbageCollectedSequenceMember);
 | 
| -    }
 | 
| -
 | 
| -    v8::Local<v8::Value> testInterfaceMemberValue;
 | 
| -    if (!v8Object->Get(isolate->GetCurrentContext(), v8String(isolate, "testInterfaceMember")).ToLocal(&testInterfaceMemberValue)) {
 | 
| -        exceptionState.rethrowV8Exception(block.Exception());
 | 
| -        return;
 | 
| -    }
 | 
| -    if (testInterfaceMemberValue.IsEmpty() || testInterfaceMemberValue->IsUndefined()) {
 | 
| -        // Do nothing.
 | 
| -    } else {
 | 
| -        TestInterfaceImplementation* testInterfaceMember = V8TestInterface::toImplWithTypeCheck(isolate, testInterfaceMemberValue);
 | 
| -        if (!testInterfaceMember) {
 | 
| -            exceptionState.throwTypeError("member testInterfaceMember is not of type TestInterface.");
 | 
| -            return;
 | 
| -        }
 | 
| -        impl.setTestInterfaceMember(testInterfaceMember);
 | 
| -    }
 | 
| -
 | 
| -    v8::Local<v8::Value> testInterfaceOrNullMemberValue;
 | 
| -    if (!v8Object->Get(isolate->GetCurrentContext(), v8String(isolate, "testInterfaceOrNullMember")).ToLocal(&testInterfaceOrNullMemberValue)) {
 | 
| -        exceptionState.rethrowV8Exception(block.Exception());
 | 
| -        return;
 | 
| -    }
 | 
| -    if (testInterfaceOrNullMemberValue.IsEmpty() || testInterfaceOrNullMemberValue->IsUndefined()) {
 | 
| -        // Do nothing.
 | 
| -    } else if (testInterfaceOrNullMemberValue->IsNull()) {
 | 
| -        impl.setTestInterfaceOrNullMemberToNull();
 | 
| -    } else {
 | 
| -        TestInterfaceImplementation* testInterfaceOrNullMember = V8TestInterface::toImplWithTypeCheck(isolate, testInterfaceOrNullMemberValue);
 | 
| -        if (!testInterfaceOrNullMember) {
 | 
| -            exceptionState.throwTypeError("member testInterfaceOrNullMember is not of type TestInterface.");
 | 
| -            return;
 | 
| -        }
 | 
| -        impl.setTestInterfaceOrNullMember(testInterfaceOrNullMember);
 | 
| -    }
 | 
| -
 | 
| -    v8::Local<v8::Value> testInterfaceSequenceMemberValue;
 | 
| -    if (!v8Object->Get(isolate->GetCurrentContext(), v8String(isolate, "testInterfaceSequenceMember")).ToLocal(&testInterfaceSequenceMemberValue)) {
 | 
| -        exceptionState.rethrowV8Exception(block.Exception());
 | 
| -        return;
 | 
| -    }
 | 
| -    if (testInterfaceSequenceMemberValue.IsEmpty() || testInterfaceSequenceMemberValue->IsUndefined()) {
 | 
| -        // Do nothing.
 | 
| -    } else {
 | 
| -        HeapVector<Member<TestInterfaceImplementation>> testInterfaceSequenceMember = (toMemberNativeArray<TestInterface>(testInterfaceSequenceMemberValue, 0, isolate, exceptionState));
 | 
| -        if (exceptionState.hadException())
 | 
| -            return;
 | 
| -        impl.setTestInterfaceSequenceMember(testInterfaceSequenceMember);
 | 
| -    }
 | 
| -
 | 
| -    v8::Local<v8::Value> uint8ArrayMemberValue;
 | 
| -    if (!v8Object->Get(isolate->GetCurrentContext(), v8String(isolate, "uint8ArrayMember")).ToLocal(&uint8ArrayMemberValue)) {
 | 
| -        exceptionState.rethrowV8Exception(block.Exception());
 | 
| -        return;
 | 
| -    }
 | 
| -    if (uint8ArrayMemberValue.IsEmpty() || uint8ArrayMemberValue->IsUndefined()) {
 | 
| -        // Do nothing.
 | 
| -    } else {
 | 
| -        DOMUint8Array* uint8ArrayMember = uint8ArrayMemberValue->IsUint8Array() ? V8Uint8Array::toImpl(v8::Local<v8::Uint8Array>::Cast(uint8ArrayMemberValue)) : 0;
 | 
| -        if (!uint8ArrayMember) {
 | 
| -            exceptionState.throwTypeError("member uint8ArrayMember is not of type Uint8Array.");
 | 
| -            return;
 | 
| -        }
 | 
| -        impl.setUint8ArrayMember(uint8ArrayMember);
 | 
| -    }
 | 
| -
 | 
| -    v8::Local<v8::Value> unrestrictedDoubleMemberValue;
 | 
| -    if (!v8Object->Get(isolate->GetCurrentContext(), v8String(isolate, "unrestrictedDoubleMember")).ToLocal(&unrestrictedDoubleMemberValue)) {
 | 
| -        exceptionState.rethrowV8Exception(block.Exception());
 | 
| -        return;
 | 
| -    }
 | 
| -    if (unrestrictedDoubleMemberValue.IsEmpty() || unrestrictedDoubleMemberValue->IsUndefined()) {
 | 
| -        // Do nothing.
 | 
| -    } else {
 | 
| -        double unrestrictedDoubleMember = toDouble(isolate, unrestrictedDoubleMemberValue, exceptionState);
 | 
| -        if (exceptionState.hadException())
 | 
| -            return;
 | 
| -        impl.setUnrestrictedDoubleMember(unrestrictedDoubleMember);
 | 
| -    }
 | 
| +          return;
 | 
| +        impl.setRuntimeMember(runtimeMember);
 | 
| +      }
 | 
| +  }
 | 
| +
 | 
| +  v8::Local<v8::Value> stringArrayMemberValue;
 | 
| +  if (!v8Object->Get(isolate->GetCurrentContext(), v8String(isolate, "stringArrayMember")).ToLocal(&stringArrayMemberValue)) {
 | 
| +    exceptionState.rethrowV8Exception(block.Exception());
 | 
| +    return;
 | 
| +  }
 | 
| +  if (stringArrayMemberValue.IsEmpty() || stringArrayMemberValue->IsUndefined()) {
 | 
| +    // Do nothing.
 | 
| +  } else {
 | 
| +    Vector<String> stringArrayMember = toImplArray<Vector<String>>(stringArrayMemberValue, 0, isolate, exceptionState);
 | 
| +    if (exceptionState.hadException())
 | 
| +      return;
 | 
| +    impl.setStringArrayMember(stringArrayMember);
 | 
| +  }
 | 
| +
 | 
| +  v8::Local<v8::Value> stringMemberValue;
 | 
| +  if (!v8Object->Get(isolate->GetCurrentContext(), v8String(isolate, "stringMember")).ToLocal(&stringMemberValue)) {
 | 
| +    exceptionState.rethrowV8Exception(block.Exception());
 | 
| +    return;
 | 
| +  }
 | 
| +  if (stringMemberValue.IsEmpty() || stringMemberValue->IsUndefined()) {
 | 
| +    // Do nothing.
 | 
| +  } else {
 | 
| +    V8StringResource<> stringMember = stringMemberValue;
 | 
| +    if (!stringMember.prepare(exceptionState))
 | 
| +      return;
 | 
| +    impl.setStringMember(stringMember);
 | 
| +  }
 | 
| +
 | 
| +  v8::Local<v8::Value> stringOrNullMemberValue;
 | 
| +  if (!v8Object->Get(isolate->GetCurrentContext(), v8String(isolate, "stringOrNullMember")).ToLocal(&stringOrNullMemberValue)) {
 | 
| +    exceptionState.rethrowV8Exception(block.Exception());
 | 
| +    return;
 | 
| +  }
 | 
| +  if (stringOrNullMemberValue.IsEmpty() || stringOrNullMemberValue->IsUndefined()) {
 | 
| +    // Do nothing.
 | 
| +  } else if (stringOrNullMemberValue->IsNull()) {
 | 
| +    impl.setStringOrNullMemberToNull();
 | 
| +  } else {
 | 
| +    V8StringResource<> stringOrNullMember = stringOrNullMemberValue;
 | 
| +    if (!stringOrNullMember.prepare(exceptionState))
 | 
| +      return;
 | 
| +    impl.setStringOrNullMember(stringOrNullMember);
 | 
| +  }
 | 
| +
 | 
| +  v8::Local<v8::Value> stringSequenceMemberValue;
 | 
| +  if (!v8Object->Get(isolate->GetCurrentContext(), v8String(isolate, "stringSequenceMember")).ToLocal(&stringSequenceMemberValue)) {
 | 
| +    exceptionState.rethrowV8Exception(block.Exception());
 | 
| +    return;
 | 
| +  }
 | 
| +  if (stringSequenceMemberValue.IsEmpty() || stringSequenceMemberValue->IsUndefined()) {
 | 
| +    // Do nothing.
 | 
| +  } else {
 | 
| +    Vector<String> stringSequenceMember = toImplArray<Vector<String>>(stringSequenceMemberValue, 0, isolate, exceptionState);
 | 
| +    if (exceptionState.hadException())
 | 
| +      return;
 | 
| +    impl.setStringSequenceMember(stringSequenceMember);
 | 
| +  }
 | 
| +
 | 
| +  v8::Local<v8::Value> testInterface2OrUint8ArrayMemberValue;
 | 
| +  if (!v8Object->Get(isolate->GetCurrentContext(), v8String(isolate, "testInterface2OrUint8ArrayMember")).ToLocal(&testInterface2OrUint8ArrayMemberValue)) {
 | 
| +    exceptionState.rethrowV8Exception(block.Exception());
 | 
| +    return;
 | 
| +  }
 | 
| +  if (testInterface2OrUint8ArrayMemberValue.IsEmpty() || testInterface2OrUint8ArrayMemberValue->IsUndefined()) {
 | 
| +    // Do nothing.
 | 
| +  } else {
 | 
| +    TestInterface2OrUint8Array testInterface2OrUint8ArrayMember;
 | 
| +    V8TestInterface2OrUint8Array::toImpl(isolate, testInterface2OrUint8ArrayMemberValue, testInterface2OrUint8ArrayMember, UnionTypeConversionMode::NotNullable, exceptionState);
 | 
| +    if (exceptionState.hadException())
 | 
| +      return;
 | 
| +    impl.setTestInterface2OrUint8ArrayMember(testInterface2OrUint8ArrayMember);
 | 
| +  }
 | 
| +
 | 
| +  v8::Local<v8::Value> testInterfaceGarbageCollectedMemberValue;
 | 
| +  if (!v8Object->Get(isolate->GetCurrentContext(), v8String(isolate, "testInterfaceGarbageCollectedMember")).ToLocal(&testInterfaceGarbageCollectedMemberValue)) {
 | 
| +    exceptionState.rethrowV8Exception(block.Exception());
 | 
| +    return;
 | 
| +  }
 | 
| +  if (testInterfaceGarbageCollectedMemberValue.IsEmpty() || testInterfaceGarbageCollectedMemberValue->IsUndefined()) {
 | 
| +    // Do nothing.
 | 
| +  } else {
 | 
| +    TestInterfaceGarbageCollected* testInterfaceGarbageCollectedMember = V8TestInterfaceGarbageCollected::toImplWithTypeCheck(isolate, testInterfaceGarbageCollectedMemberValue);
 | 
| +    if (!testInterfaceGarbageCollectedMember) {
 | 
| +      exceptionState.throwTypeError("member testInterfaceGarbageCollectedMember is not of type TestInterfaceGarbageCollected.");
 | 
| +      return;
 | 
| +    }
 | 
| +    impl.setTestInterfaceGarbageCollectedMember(testInterfaceGarbageCollectedMember);
 | 
| +  }
 | 
| +
 | 
| +  v8::Local<v8::Value> testInterfaceGarbageCollectedOrNullMemberValue;
 | 
| +  if (!v8Object->Get(isolate->GetCurrentContext(), v8String(isolate, "testInterfaceGarbageCollectedOrNullMember")).ToLocal(&testInterfaceGarbageCollectedOrNullMemberValue)) {
 | 
| +    exceptionState.rethrowV8Exception(block.Exception());
 | 
| +    return;
 | 
| +  }
 | 
| +  if (testInterfaceGarbageCollectedOrNullMemberValue.IsEmpty() || testInterfaceGarbageCollectedOrNullMemberValue->IsUndefined()) {
 | 
| +    // Do nothing.
 | 
| +  } else if (testInterfaceGarbageCollectedOrNullMemberValue->IsNull()) {
 | 
| +    impl.setTestInterfaceGarbageCollectedOrNullMemberToNull();
 | 
| +  } else {
 | 
| +    TestInterfaceGarbageCollected* testInterfaceGarbageCollectedOrNullMember = V8TestInterfaceGarbageCollected::toImplWithTypeCheck(isolate, testInterfaceGarbageCollectedOrNullMemberValue);
 | 
| +    if (!testInterfaceGarbageCollectedOrNullMember) {
 | 
| +      exceptionState.throwTypeError("member testInterfaceGarbageCollectedOrNullMember is not of type TestInterfaceGarbageCollected.");
 | 
| +      return;
 | 
| +    }
 | 
| +    impl.setTestInterfaceGarbageCollectedOrNullMember(testInterfaceGarbageCollectedOrNullMember);
 | 
| +  }
 | 
| +
 | 
| +  v8::Local<v8::Value> testInterfaceGarbageCollectedSequenceMemberValue;
 | 
| +  if (!v8Object->Get(isolate->GetCurrentContext(), v8String(isolate, "testInterfaceGarbageCollectedSequenceMember")).ToLocal(&testInterfaceGarbageCollectedSequenceMemberValue)) {
 | 
| +    exceptionState.rethrowV8Exception(block.Exception());
 | 
| +    return;
 | 
| +  }
 | 
| +  if (testInterfaceGarbageCollectedSequenceMemberValue.IsEmpty() || testInterfaceGarbageCollectedSequenceMemberValue->IsUndefined()) {
 | 
| +    // Do nothing.
 | 
| +  } else {
 | 
| +    HeapVector<Member<TestInterfaceGarbageCollected>> testInterfaceGarbageCollectedSequenceMember = (toMemberNativeArray<TestInterfaceGarbageCollected>(testInterfaceGarbageCollectedSequenceMemberValue, 0, isolate, exceptionState));
 | 
| +    if (exceptionState.hadException())
 | 
| +      return;
 | 
| +    impl.setTestInterfaceGarbageCollectedSequenceMember(testInterfaceGarbageCollectedSequenceMember);
 | 
| +  }
 | 
| +
 | 
| +  v8::Local<v8::Value> testInterfaceMemberValue;
 | 
| +  if (!v8Object->Get(isolate->GetCurrentContext(), v8String(isolate, "testInterfaceMember")).ToLocal(&testInterfaceMemberValue)) {
 | 
| +    exceptionState.rethrowV8Exception(block.Exception());
 | 
| +    return;
 | 
| +  }
 | 
| +  if (testInterfaceMemberValue.IsEmpty() || testInterfaceMemberValue->IsUndefined()) {
 | 
| +    // Do nothing.
 | 
| +  } else {
 | 
| +    TestInterfaceImplementation* testInterfaceMember = V8TestInterface::toImplWithTypeCheck(isolate, testInterfaceMemberValue);
 | 
| +    if (!testInterfaceMember) {
 | 
| +      exceptionState.throwTypeError("member testInterfaceMember is not of type TestInterface.");
 | 
| +      return;
 | 
| +    }
 | 
| +    impl.setTestInterfaceMember(testInterfaceMember);
 | 
| +  }
 | 
| +
 | 
| +  v8::Local<v8::Value> testInterfaceOrNullMemberValue;
 | 
| +  if (!v8Object->Get(isolate->GetCurrentContext(), v8String(isolate, "testInterfaceOrNullMember")).ToLocal(&testInterfaceOrNullMemberValue)) {
 | 
| +    exceptionState.rethrowV8Exception(block.Exception());
 | 
| +    return;
 | 
| +  }
 | 
| +  if (testInterfaceOrNullMemberValue.IsEmpty() || testInterfaceOrNullMemberValue->IsUndefined()) {
 | 
| +    // Do nothing.
 | 
| +  } else if (testInterfaceOrNullMemberValue->IsNull()) {
 | 
| +    impl.setTestInterfaceOrNullMemberToNull();
 | 
| +  } else {
 | 
| +    TestInterfaceImplementation* testInterfaceOrNullMember = V8TestInterface::toImplWithTypeCheck(isolate, testInterfaceOrNullMemberValue);
 | 
| +    if (!testInterfaceOrNullMember) {
 | 
| +      exceptionState.throwTypeError("member testInterfaceOrNullMember is not of type TestInterface.");
 | 
| +      return;
 | 
| +    }
 | 
| +    impl.setTestInterfaceOrNullMember(testInterfaceOrNullMember);
 | 
| +  }
 | 
| +
 | 
| +  v8::Local<v8::Value> testInterfaceSequenceMemberValue;
 | 
| +  if (!v8Object->Get(isolate->GetCurrentContext(), v8String(isolate, "testInterfaceSequenceMember")).ToLocal(&testInterfaceSequenceMemberValue)) {
 | 
| +    exceptionState.rethrowV8Exception(block.Exception());
 | 
| +    return;
 | 
| +  }
 | 
| +  if (testInterfaceSequenceMemberValue.IsEmpty() || testInterfaceSequenceMemberValue->IsUndefined()) {
 | 
| +    // Do nothing.
 | 
| +  } else {
 | 
| +    HeapVector<Member<TestInterfaceImplementation>> testInterfaceSequenceMember = (toMemberNativeArray<TestInterface>(testInterfaceSequenceMemberValue, 0, isolate, exceptionState));
 | 
| +    if (exceptionState.hadException())
 | 
| +      return;
 | 
| +    impl.setTestInterfaceSequenceMember(testInterfaceSequenceMember);
 | 
| +  }
 | 
| +
 | 
| +  v8::Local<v8::Value> uint8ArrayMemberValue;
 | 
| +  if (!v8Object->Get(isolate->GetCurrentContext(), v8String(isolate, "uint8ArrayMember")).ToLocal(&uint8ArrayMemberValue)) {
 | 
| +    exceptionState.rethrowV8Exception(block.Exception());
 | 
| +    return;
 | 
| +  }
 | 
| +  if (uint8ArrayMemberValue.IsEmpty() || uint8ArrayMemberValue->IsUndefined()) {
 | 
| +    // Do nothing.
 | 
| +  } else {
 | 
| +    DOMUint8Array* uint8ArrayMember = uint8ArrayMemberValue->IsUint8Array() ? V8Uint8Array::toImpl(v8::Local<v8::Uint8Array>::Cast(uint8ArrayMemberValue)) : 0;
 | 
| +    if (!uint8ArrayMember) {
 | 
| +      exceptionState.throwTypeError("member uint8ArrayMember is not of type Uint8Array.");
 | 
| +      return;
 | 
| +    }
 | 
| +    impl.setUint8ArrayMember(uint8ArrayMember);
 | 
| +  }
 | 
| +
 | 
| +  v8::Local<v8::Value> unrestrictedDoubleMemberValue;
 | 
| +  if (!v8Object->Get(isolate->GetCurrentContext(), v8String(isolate, "unrestrictedDoubleMember")).ToLocal(&unrestrictedDoubleMemberValue)) {
 | 
| +    exceptionState.rethrowV8Exception(block.Exception());
 | 
| +    return;
 | 
| +  }
 | 
| +  if (unrestrictedDoubleMemberValue.IsEmpty() || unrestrictedDoubleMemberValue->IsUndefined()) {
 | 
| +    // Do nothing.
 | 
| +  } else {
 | 
| +    double unrestrictedDoubleMember = toDouble(isolate, unrestrictedDoubleMemberValue, exceptionState);
 | 
| +    if (exceptionState.hadException())
 | 
| +      return;
 | 
| +    impl.setUnrestrictedDoubleMember(unrestrictedDoubleMember);
 | 
| +  }
 | 
|  }
 | 
|  
 | 
| -v8::Local<v8::Value> TestDictionary::toV8Impl(v8::Local<v8::Object> creationContext, v8::Isolate* isolate) const
 | 
| -{
 | 
| -    v8::Local<v8::Object> v8Object = v8::Object::New(isolate);
 | 
| -    if (!toV8TestDictionary(*this, v8Object, creationContext, isolate))
 | 
| -        return v8::Undefined(isolate);
 | 
| -    return v8Object;
 | 
| +v8::Local<v8::Value> TestDictionary::toV8Impl(v8::Local<v8::Object> creationContext, v8::Isolate* isolate) const {
 | 
| +  v8::Local<v8::Object> v8Object = v8::Object::New(isolate);
 | 
| +  if (!toV8TestDictionary(*this, v8Object, creationContext, isolate))
 | 
| +    return v8::Undefined(isolate);
 | 
| +  return v8Object;
 | 
|  }
 | 
|  
 | 
| -bool toV8TestDictionary(const TestDictionary& impl, v8::Local<v8::Object> dictionary, v8::Local<v8::Object> creationContext, v8::Isolate* isolate)
 | 
| -{
 | 
| -    if (impl.hasAnyMember()) {
 | 
| -        if (!v8CallBoolean(dictionary->CreateDataProperty(isolate->GetCurrentContext(), v8String(isolate, "anyMember"), impl.anyMember().v8Value())))
 | 
| -            return false;
 | 
| -    } else {
 | 
| -        if (!v8CallBoolean(dictionary->CreateDataProperty(isolate->GetCurrentContext(), v8String(isolate, "anyMember"), v8::Null(isolate))))
 | 
| -            return false;
 | 
| -    }
 | 
| -
 | 
| -    if (impl.hasBooleanMember()) {
 | 
| -        if (!v8CallBoolean(dictionary->CreateDataProperty(isolate->GetCurrentContext(), v8String(isolate, "booleanMember"), v8Boolean(impl.booleanMember(), isolate))))
 | 
| -            return false;
 | 
| -    }
 | 
| -
 | 
| -    if (impl.hasCreateMember()) {
 | 
| -        if (!v8CallBoolean(dictionary->CreateDataProperty(isolate->GetCurrentContext(), v8String(isolate, "create"), v8Boolean(impl.createMember(), isolate))))
 | 
| -            return false;
 | 
| -    }
 | 
| -
 | 
| -    if (impl.hasCreateMember()) {
 | 
| -        if (!v8CallBoolean(dictionary->CreateDataProperty(isolate->GetCurrentContext(), v8String(isolate, "deprecatedCreateMember"), v8Boolean(impl.createMember(), isolate))))
 | 
| -            return false;
 | 
| -    }
 | 
| -
 | 
| -    if (impl.hasDictionaryMember()) {
 | 
| -        ASSERT(impl.dictionaryMember().isObject());
 | 
| -        if (!v8CallBoolean(dictionary->CreateDataProperty(isolate->GetCurrentContext(), v8String(isolate, "dictionaryMember"), impl.dictionaryMember().v8Value())))
 | 
| -            return false;
 | 
| -    }
 | 
| -
 | 
| -    if (impl.hasDoubleOrNullMember()) {
 | 
| -        if (!v8CallBoolean(dictionary->CreateDataProperty(isolate->GetCurrentContext(), v8String(isolate, "doubleOrNullMember"), v8::Number::New(isolate, impl.doubleOrNullMember()))))
 | 
| -            return false;
 | 
| -    } else {
 | 
| -        if (!v8CallBoolean(dictionary->CreateDataProperty(isolate->GetCurrentContext(), v8String(isolate, "doubleOrNullMember"), v8::Null(isolate))))
 | 
| -            return false;
 | 
| -    }
 | 
| -
 | 
| -    if (impl.hasDoubleOrStringMember()) {
 | 
| -        if (!v8CallBoolean(dictionary->CreateDataProperty(isolate->GetCurrentContext(), v8String(isolate, "doubleOrStringMember"), toV8(impl.doubleOrStringMember(), creationContext, isolate))))
 | 
| -            return false;
 | 
| -    } else {
 | 
| -        if (!v8CallBoolean(dictionary->CreateDataProperty(isolate->GetCurrentContext(), v8String(isolate, "doubleOrStringMember"), toV8(DoubleOrString::fromDouble(3.14), creationContext, isolate))))
 | 
| -            return false;
 | 
| -    }
 | 
| -
 | 
| -    if (impl.hasDoubleOrStringSequenceMember()) {
 | 
| -        if (!v8CallBoolean(dictionary->CreateDataProperty(isolate->GetCurrentContext(), v8String(isolate, "doubleOrStringSequenceMember"), toV8(impl.doubleOrStringSequenceMember(), creationContext, isolate))))
 | 
| -            return false;
 | 
| -    }
 | 
| -
 | 
| -    if (impl.hasElementOrNullMember()) {
 | 
| -        if (!v8CallBoolean(dictionary->CreateDataProperty(isolate->GetCurrentContext(), v8String(isolate, "elementOrNullMember"), toV8(impl.elementOrNullMember(), creationContext, isolate))))
 | 
| -            return false;
 | 
| -    } else {
 | 
| -        if (!v8CallBoolean(dictionary->CreateDataProperty(isolate->GetCurrentContext(), v8String(isolate, "elementOrNullMember"), v8::Null(isolate))))
 | 
| -            return false;
 | 
| -    }
 | 
| -
 | 
| -    if (impl.hasEnumMember()) {
 | 
| -        if (!v8CallBoolean(dictionary->CreateDataProperty(isolate->GetCurrentContext(), v8String(isolate, "enumMember"), v8String(isolate, impl.enumMember()))))
 | 
| -            return false;
 | 
| -    } else {
 | 
| -        if (!v8CallBoolean(dictionary->CreateDataProperty(isolate->GetCurrentContext(), v8String(isolate, "enumMember"), v8String(isolate, String("foo")))))
 | 
| -            return false;
 | 
| -    }
 | 
| -
 | 
| -    if (impl.hasEnumSequenceMember()) {
 | 
| -        if (!v8CallBoolean(dictionary->CreateDataProperty(isolate->GetCurrentContext(), v8String(isolate, "enumSequenceMember"), toV8(impl.enumSequenceMember(), creationContext, isolate))))
 | 
| -            return false;
 | 
| -    }
 | 
| -
 | 
| -    if (impl.hasEventTargetMember()) {
 | 
| -        if (!v8CallBoolean(dictionary->CreateDataProperty(isolate->GetCurrentContext(), v8String(isolate, "eventTargetMember"), toV8(impl.eventTargetMember(), creationContext, isolate))))
 | 
| -            return false;
 | 
| -    }
 | 
| -
 | 
| -    if (impl.hasInternalDictionarySequenceMember()) {
 | 
| -        if (!v8CallBoolean(dictionary->CreateDataProperty(isolate->GetCurrentContext(), v8String(isolate, "internalDictionarySequenceMember"), toV8(impl.internalDictionarySequenceMember(), creationContext, isolate))))
 | 
| -            return false;
 | 
| -    }
 | 
| -
 | 
| -    if (impl.hasLongMember()) {
 | 
| -        if (!v8CallBoolean(dictionary->CreateDataProperty(isolate->GetCurrentContext(), v8String(isolate, "longMember"), v8::Integer::New(isolate, impl.longMember()))))
 | 
| -            return false;
 | 
| -    } else {
 | 
| -        if (!v8CallBoolean(dictionary->CreateDataProperty(isolate->GetCurrentContext(), v8String(isolate, "longMember"), v8::Integer::New(isolate, 1))))
 | 
| -            return false;
 | 
| -    }
 | 
| -
 | 
| -    if (impl.hasObjectMember()) {
 | 
| -        ASSERT(impl.objectMember().isObject());
 | 
| -        if (!v8CallBoolean(dictionary->CreateDataProperty(isolate->GetCurrentContext(), v8String(isolate, "objectMember"), impl.objectMember().v8Value())))
 | 
| -            return false;
 | 
| -    }
 | 
| -
 | 
| -    if (impl.hasObjectOrNullMember()) {
 | 
| -        ASSERT(impl.objectOrNullMember().isObject());
 | 
| -        if (!v8CallBoolean(dictionary->CreateDataProperty(isolate->GetCurrentContext(), v8String(isolate, "objectOrNullMember"), impl.objectOrNullMember().v8Value())))
 | 
| -            return false;
 | 
| -    } else {
 | 
| -        if (!v8CallBoolean(dictionary->CreateDataProperty(isolate->GetCurrentContext(), v8String(isolate, "objectOrNullMember"), v8::Null(isolate))))
 | 
| -            return false;
 | 
| -    }
 | 
| -
 | 
| -    if (impl.hasOtherDoubleOrStringMember()) {
 | 
| -        if (!v8CallBoolean(dictionary->CreateDataProperty(isolate->GetCurrentContext(), v8String(isolate, "otherDoubleOrStringMember"), toV8(impl.otherDoubleOrStringMember(), creationContext, isolate))))
 | 
| -            return false;
 | 
| -    } else {
 | 
| -        if (!v8CallBoolean(dictionary->CreateDataProperty(isolate->GetCurrentContext(), v8String(isolate, "otherDoubleOrStringMember"), toV8(DoubleOrString::fromString(String("default string value")), creationContext, isolate))))
 | 
| -            return false;
 | 
| -    }
 | 
| -
 | 
| -    if (impl.hasRestrictedDoubleMember()) {
 | 
| -        if (!v8CallBoolean(dictionary->CreateDataProperty(isolate->GetCurrentContext(), v8String(isolate, "restrictedDoubleMember"), v8::Number::New(isolate, impl.restrictedDoubleMember()))))
 | 
| -            return false;
 | 
| -    } else {
 | 
| -        if (!v8CallBoolean(dictionary->CreateDataProperty(isolate->GetCurrentContext(), v8String(isolate, "restrictedDoubleMember"), v8::Number::New(isolate, 3.14))))
 | 
| -            return false;
 | 
| -    }
 | 
| -
 | 
| -    if (impl.hasRuntimeMember()) {
 | 
| -        if (!v8CallBoolean(dictionary->CreateDataProperty(isolate->GetCurrentContext(), v8String(isolate, "runtimeMember"), v8Boolean(impl.runtimeMember(), isolate))))
 | 
| -            return false;
 | 
| -    }
 | 
| -
 | 
| -    if (impl.hasStringArrayMember()) {
 | 
| -        if (!v8CallBoolean(dictionary->CreateDataProperty(isolate->GetCurrentContext(), v8String(isolate, "stringArrayMember"), toV8(impl.stringArrayMember(), creationContext, isolate))))
 | 
| -            return false;
 | 
| -    }
 | 
| -
 | 
| -    if (impl.hasStringMember()) {
 | 
| -        if (!v8CallBoolean(dictionary->CreateDataProperty(isolate->GetCurrentContext(), v8String(isolate, "stringMember"), v8String(isolate, impl.stringMember()))))
 | 
| -            return false;
 | 
| -    }
 | 
| -
 | 
| -    if (impl.hasStringOrNullMember()) {
 | 
| -        if (!v8CallBoolean(dictionary->CreateDataProperty(isolate->GetCurrentContext(), v8String(isolate, "stringOrNullMember"), v8String(isolate, impl.stringOrNullMember()))))
 | 
| -            return false;
 | 
| -    } else {
 | 
| -        if (!v8CallBoolean(dictionary->CreateDataProperty(isolate->GetCurrentContext(), v8String(isolate, "stringOrNullMember"), v8String(isolate, String("default string value")))))
 | 
| -            return false;
 | 
| -    }
 | 
| -
 | 
| -    if (impl.hasStringSequenceMember()) {
 | 
| -        if (!v8CallBoolean(dictionary->CreateDataProperty(isolate->GetCurrentContext(), v8String(isolate, "stringSequenceMember"), toV8(impl.stringSequenceMember(), creationContext, isolate))))
 | 
| -            return false;
 | 
| -    } else {
 | 
| -        if (!v8CallBoolean(dictionary->CreateDataProperty(isolate->GetCurrentContext(), v8String(isolate, "stringSequenceMember"), toV8(Vector<String>(), creationContext, isolate))))
 | 
| -            return false;
 | 
| -    }
 | 
| -
 | 
| -    if (impl.hasTestInterface2OrUint8ArrayMember()) {
 | 
| -        if (!v8CallBoolean(dictionary->CreateDataProperty(isolate->GetCurrentContext(), v8String(isolate, "testInterface2OrUint8ArrayMember"), toV8(impl.testInterface2OrUint8ArrayMember(), creationContext, isolate))))
 | 
| -            return false;
 | 
| -    }
 | 
| -
 | 
| -    if (impl.hasTestInterfaceGarbageCollectedMember()) {
 | 
| -        if (!v8CallBoolean(dictionary->CreateDataProperty(isolate->GetCurrentContext(), v8String(isolate, "testInterfaceGarbageCollectedMember"), toV8(impl.testInterfaceGarbageCollectedMember(), creationContext, isolate))))
 | 
| -            return false;
 | 
| -    }
 | 
| -
 | 
| -    if (impl.hasTestInterfaceGarbageCollectedOrNullMember()) {
 | 
| -        if (!v8CallBoolean(dictionary->CreateDataProperty(isolate->GetCurrentContext(), v8String(isolate, "testInterfaceGarbageCollectedOrNullMember"), toV8(impl.testInterfaceGarbageCollectedOrNullMember(), creationContext, isolate))))
 | 
| -            return false;
 | 
| -    } else {
 | 
| -        if (!v8CallBoolean(dictionary->CreateDataProperty(isolate->GetCurrentContext(), v8String(isolate, "testInterfaceGarbageCollectedOrNullMember"), v8::Null(isolate))))
 | 
| -            return false;
 | 
| -    }
 | 
| -
 | 
| -    if (impl.hasTestInterfaceGarbageCollectedSequenceMember()) {
 | 
| -        if (!v8CallBoolean(dictionary->CreateDataProperty(isolate->GetCurrentContext(), v8String(isolate, "testInterfaceGarbageCollectedSequenceMember"), toV8(impl.testInterfaceGarbageCollectedSequenceMember(), creationContext, isolate))))
 | 
| -            return false;
 | 
| -    } else {
 | 
| -        if (!v8CallBoolean(dictionary->CreateDataProperty(isolate->GetCurrentContext(), v8String(isolate, "testInterfaceGarbageCollectedSequenceMember"), toV8(HeapVector<Member<TestInterfaceGarbageCollected>>(), creationContext, isolate))))
 | 
| -            return false;
 | 
| -    }
 | 
| -
 | 
| -    if (impl.hasTestInterfaceMember()) {
 | 
| -        if (!v8CallBoolean(dictionary->CreateDataProperty(isolate->GetCurrentContext(), v8String(isolate, "testInterfaceMember"), toV8(impl.testInterfaceMember(), creationContext, isolate))))
 | 
| -            return false;
 | 
| -    }
 | 
| -
 | 
| -    if (impl.hasTestInterfaceOrNullMember()) {
 | 
| -        if (!v8CallBoolean(dictionary->CreateDataProperty(isolate->GetCurrentContext(), v8String(isolate, "testInterfaceOrNullMember"), toV8(impl.testInterfaceOrNullMember(), creationContext, isolate))))
 | 
| -            return false;
 | 
| -    } else {
 | 
| -        if (!v8CallBoolean(dictionary->CreateDataProperty(isolate->GetCurrentContext(), v8String(isolate, "testInterfaceOrNullMember"), v8::Null(isolate))))
 | 
| -            return false;
 | 
| -    }
 | 
| -
 | 
| -    if (impl.hasTestInterfaceSequenceMember()) {
 | 
| -        if (!v8CallBoolean(dictionary->CreateDataProperty(isolate->GetCurrentContext(), v8String(isolate, "testInterfaceSequenceMember"), toV8(impl.testInterfaceSequenceMember(), creationContext, isolate))))
 | 
| -            return false;
 | 
| -    } else {
 | 
| -        if (!v8CallBoolean(dictionary->CreateDataProperty(isolate->GetCurrentContext(), v8String(isolate, "testInterfaceSequenceMember"), toV8(HeapVector<Member<TestInterfaceImplementation>>(), creationContext, isolate))))
 | 
| -            return false;
 | 
| -    }
 | 
| -
 | 
| -    if (impl.hasUint8ArrayMember()) {
 | 
| -        if (!v8CallBoolean(dictionary->CreateDataProperty(isolate->GetCurrentContext(), v8String(isolate, "uint8ArrayMember"), toV8(impl.uint8ArrayMember(), creationContext, isolate))))
 | 
| -            return false;
 | 
| -    }
 | 
| -
 | 
| -    if (impl.hasUnrestrictedDoubleMember()) {
 | 
| -        if (!v8CallBoolean(dictionary->CreateDataProperty(isolate->GetCurrentContext(), v8String(isolate, "unrestrictedDoubleMember"), v8::Number::New(isolate, impl.unrestrictedDoubleMember()))))
 | 
| -            return false;
 | 
| -    } else {
 | 
| -        if (!v8CallBoolean(dictionary->CreateDataProperty(isolate->GetCurrentContext(), v8String(isolate, "unrestrictedDoubleMember"), v8::Number::New(isolate, 3.14))))
 | 
| -            return false;
 | 
| -    }
 | 
| -
 | 
| -    return true;
 | 
| +bool toV8TestDictionary(const TestDictionary& impl, v8::Local<v8::Object> dictionary, v8::Local<v8::Object> creationContext, v8::Isolate* isolate) {
 | 
| +  if (impl.hasAnyMember()) {
 | 
| +    if (!v8CallBoolean(dictionary->CreateDataProperty(isolate->GetCurrentContext(), v8String(isolate, "anyMember"), impl.anyMember().v8Value())))
 | 
| +      return false;
 | 
| +  } else {
 | 
| +    if (!v8CallBoolean(dictionary->CreateDataProperty(isolate->GetCurrentContext(), v8String(isolate, "anyMember"), v8::Null(isolate))))
 | 
| +      return false;
 | 
| +  }
 | 
| +
 | 
| +  if (impl.hasBooleanMember()) {
 | 
| +    if (!v8CallBoolean(dictionary->CreateDataProperty(isolate->GetCurrentContext(), v8String(isolate, "booleanMember"), v8Boolean(impl.booleanMember(), isolate))))
 | 
| +      return false;
 | 
| +  }
 | 
| +
 | 
| +  if (impl.hasCreateMember()) {
 | 
| +    if (!v8CallBoolean(dictionary->CreateDataProperty(isolate->GetCurrentContext(), v8String(isolate, "create"), v8Boolean(impl.createMember(), isolate))))
 | 
| +      return false;
 | 
| +  }
 | 
| +
 | 
| +  if (impl.hasCreateMember()) {
 | 
| +    if (!v8CallBoolean(dictionary->CreateDataProperty(isolate->GetCurrentContext(), v8String(isolate, "deprecatedCreateMember"), v8Boolean(impl.createMember(), isolate))))
 | 
| +      return false;
 | 
| +  }
 | 
| +
 | 
| +  if (impl.hasDictionaryMember()) {
 | 
| +    DCHECK(impl.dictionaryMember().isObject());
 | 
| +    if (!v8CallBoolean(dictionary->CreateDataProperty(isolate->GetCurrentContext(), v8String(isolate, "dictionaryMember"), impl.dictionaryMember().v8Value())))
 | 
| +      return false;
 | 
| +  }
 | 
| +
 | 
| +  if (impl.hasDoubleOrNullMember()) {
 | 
| +    if (!v8CallBoolean(dictionary->CreateDataProperty(isolate->GetCurrentContext(), v8String(isolate, "doubleOrNullMember"), v8::Number::New(isolate, impl.doubleOrNullMember()))))
 | 
| +      return false;
 | 
| +  } else {
 | 
| +    if (!v8CallBoolean(dictionary->CreateDataProperty(isolate->GetCurrentContext(), v8String(isolate, "doubleOrNullMember"), v8::Null(isolate))))
 | 
| +      return false;
 | 
| +  }
 | 
| +
 | 
| +  if (impl.hasDoubleOrStringMember()) {
 | 
| +    if (!v8CallBoolean(dictionary->CreateDataProperty(isolate->GetCurrentContext(), v8String(isolate, "doubleOrStringMember"), toV8(impl.doubleOrStringMember(), creationContext, isolate))))
 | 
| +      return false;
 | 
| +  } else {
 | 
| +    if (!v8CallBoolean(dictionary->CreateDataProperty(isolate->GetCurrentContext(), v8String(isolate, "doubleOrStringMember"), toV8(DoubleOrString::fromDouble(3.14), creationContext, isolate))))
 | 
| +      return false;
 | 
| +  }
 | 
| +
 | 
| +  if (impl.hasDoubleOrStringSequenceMember()) {
 | 
| +    if (!v8CallBoolean(dictionary->CreateDataProperty(isolate->GetCurrentContext(), v8String(isolate, "doubleOrStringSequenceMember"), toV8(impl.doubleOrStringSequenceMember(), creationContext, isolate))))
 | 
| +      return false;
 | 
| +  }
 | 
| +
 | 
| +  if (impl.hasElementOrNullMember()) {
 | 
| +    if (!v8CallBoolean(dictionary->CreateDataProperty(isolate->GetCurrentContext(), v8String(isolate, "elementOrNullMember"), toV8(impl.elementOrNullMember(), creationContext, isolate))))
 | 
| +      return false;
 | 
| +  } else {
 | 
| +    if (!v8CallBoolean(dictionary->CreateDataProperty(isolate->GetCurrentContext(), v8String(isolate, "elementOrNullMember"), v8::Null(isolate))))
 | 
| +      return false;
 | 
| +  }
 | 
| +
 | 
| +  if (impl.hasEnumMember()) {
 | 
| +    if (!v8CallBoolean(dictionary->CreateDataProperty(isolate->GetCurrentContext(), v8String(isolate, "enumMember"), v8String(isolate, impl.enumMember()))))
 | 
| +      return false;
 | 
| +  } else {
 | 
| +    if (!v8CallBoolean(dictionary->CreateDataProperty(isolate->GetCurrentContext(), v8String(isolate, "enumMember"), v8String(isolate, String("foo")))))
 | 
| +      return false;
 | 
| +  }
 | 
| +
 | 
| +  if (impl.hasEnumSequenceMember()) {
 | 
| +    if (!v8CallBoolean(dictionary->CreateDataProperty(isolate->GetCurrentContext(), v8String(isolate, "enumSequenceMember"), toV8(impl.enumSequenceMember(), creationContext, isolate))))
 | 
| +      return false;
 | 
| +  }
 | 
| +
 | 
| +  if (impl.hasEventTargetMember()) {
 | 
| +    if (!v8CallBoolean(dictionary->CreateDataProperty(isolate->GetCurrentContext(), v8String(isolate, "eventTargetMember"), toV8(impl.eventTargetMember(), creationContext, isolate))))
 | 
| +      return false;
 | 
| +  }
 | 
| +
 | 
| +  if (impl.hasInternalDictionarySequenceMember()) {
 | 
| +    if (!v8CallBoolean(dictionary->CreateDataProperty(isolate->GetCurrentContext(), v8String(isolate, "internalDictionarySequenceMember"), toV8(impl.internalDictionarySequenceMember(), creationContext, isolate))))
 | 
| +      return false;
 | 
| +  }
 | 
| +
 | 
| +  if (impl.hasLongMember()) {
 | 
| +    if (!v8CallBoolean(dictionary->CreateDataProperty(isolate->GetCurrentContext(), v8String(isolate, "longMember"), v8::Integer::New(isolate, impl.longMember()))))
 | 
| +      return false;
 | 
| +  } else {
 | 
| +    if (!v8CallBoolean(dictionary->CreateDataProperty(isolate->GetCurrentContext(), v8String(isolate, "longMember"), v8::Integer::New(isolate, 1))))
 | 
| +      return false;
 | 
| +  }
 | 
| +
 | 
| +  if (impl.hasObjectMember()) {
 | 
| +    DCHECK(impl.objectMember().isObject());
 | 
| +    if (!v8CallBoolean(dictionary->CreateDataProperty(isolate->GetCurrentContext(), v8String(isolate, "objectMember"), impl.objectMember().v8Value())))
 | 
| +      return false;
 | 
| +  }
 | 
| +
 | 
| +  if (impl.hasObjectOrNullMember()) {
 | 
| +    DCHECK(impl.objectOrNullMember().isObject());
 | 
| +    if (!v8CallBoolean(dictionary->CreateDataProperty(isolate->GetCurrentContext(), v8String(isolate, "objectOrNullMember"), impl.objectOrNullMember().v8Value())))
 | 
| +      return false;
 | 
| +  } else {
 | 
| +    if (!v8CallBoolean(dictionary->CreateDataProperty(isolate->GetCurrentContext(), v8String(isolate, "objectOrNullMember"), v8::Null(isolate))))
 | 
| +      return false;
 | 
| +  }
 | 
| +
 | 
| +  if (impl.hasOtherDoubleOrStringMember()) {
 | 
| +    if (!v8CallBoolean(dictionary->CreateDataProperty(isolate->GetCurrentContext(), v8String(isolate, "otherDoubleOrStringMember"), toV8(impl.otherDoubleOrStringMember(), creationContext, isolate))))
 | 
| +      return false;
 | 
| +  } else {
 | 
| +    if (!v8CallBoolean(dictionary->CreateDataProperty(isolate->GetCurrentContext(), v8String(isolate, "otherDoubleOrStringMember"), toV8(DoubleOrString::fromString(String("default string value")), creationContext, isolate))))
 | 
| +      return false;
 | 
| +  }
 | 
| +
 | 
| +  if (impl.hasRestrictedDoubleMember()) {
 | 
| +    if (!v8CallBoolean(dictionary->CreateDataProperty(isolate->GetCurrentContext(), v8String(isolate, "restrictedDoubleMember"), v8::Number::New(isolate, impl.restrictedDoubleMember()))))
 | 
| +      return false;
 | 
| +  } else {
 | 
| +    if (!v8CallBoolean(dictionary->CreateDataProperty(isolate->GetCurrentContext(), v8String(isolate, "restrictedDoubleMember"), v8::Number::New(isolate, 3.14))))
 | 
| +      return false;
 | 
| +  }
 | 
| +
 | 
| +  if (impl.hasRuntimeMember()) {
 | 
| +    if (!v8CallBoolean(dictionary->CreateDataProperty(isolate->GetCurrentContext(), v8String(isolate, "runtimeMember"), v8Boolean(impl.runtimeMember(), isolate))))
 | 
| +      return false;
 | 
| +  }
 | 
| +
 | 
| +  if (impl.hasStringArrayMember()) {
 | 
| +    if (!v8CallBoolean(dictionary->CreateDataProperty(isolate->GetCurrentContext(), v8String(isolate, "stringArrayMember"), toV8(impl.stringArrayMember(), creationContext, isolate))))
 | 
| +      return false;
 | 
| +  }
 | 
| +
 | 
| +  if (impl.hasStringMember()) {
 | 
| +    if (!v8CallBoolean(dictionary->CreateDataProperty(isolate->GetCurrentContext(), v8String(isolate, "stringMember"), v8String(isolate, impl.stringMember()))))
 | 
| +      return false;
 | 
| +  }
 | 
| +
 | 
| +  if (impl.hasStringOrNullMember()) {
 | 
| +    if (!v8CallBoolean(dictionary->CreateDataProperty(isolate->GetCurrentContext(), v8String(isolate, "stringOrNullMember"), v8String(isolate, impl.stringOrNullMember()))))
 | 
| +      return false;
 | 
| +  } else {
 | 
| +    if (!v8CallBoolean(dictionary->CreateDataProperty(isolate->GetCurrentContext(), v8String(isolate, "stringOrNullMember"), v8String(isolate, String("default string value")))))
 | 
| +      return false;
 | 
| +  }
 | 
| +
 | 
| +  if (impl.hasStringSequenceMember()) {
 | 
| +    if (!v8CallBoolean(dictionary->CreateDataProperty(isolate->GetCurrentContext(), v8String(isolate, "stringSequenceMember"), toV8(impl.stringSequenceMember(), creationContext, isolate))))
 | 
| +      return false;
 | 
| +  } else {
 | 
| +    if (!v8CallBoolean(dictionary->CreateDataProperty(isolate->GetCurrentContext(), v8String(isolate, "stringSequenceMember"), toV8(Vector<String>(), creationContext, isolate))))
 | 
| +      return false;
 | 
| +  }
 | 
| +
 | 
| +  if (impl.hasTestInterface2OrUint8ArrayMember()) {
 | 
| +    if (!v8CallBoolean(dictionary->CreateDataProperty(isolate->GetCurrentContext(), v8String(isolate, "testInterface2OrUint8ArrayMember"), toV8(impl.testInterface2OrUint8ArrayMember(), creationContext, isolate))))
 | 
| +      return false;
 | 
| +  }
 | 
| +
 | 
| +  if (impl.hasTestInterfaceGarbageCollectedMember()) {
 | 
| +    if (!v8CallBoolean(dictionary->CreateDataProperty(isolate->GetCurrentContext(), v8String(isolate, "testInterfaceGarbageCollectedMember"), toV8(impl.testInterfaceGarbageCollectedMember(), creationContext, isolate))))
 | 
| +      return false;
 | 
| +  }
 | 
| +
 | 
| +  if (impl.hasTestInterfaceGarbageCollectedOrNullMember()) {
 | 
| +    if (!v8CallBoolean(dictionary->CreateDataProperty(isolate->GetCurrentContext(), v8String(isolate, "testInterfaceGarbageCollectedOrNullMember"), toV8(impl.testInterfaceGarbageCollectedOrNullMember(), creationContext, isolate))))
 | 
| +      return false;
 | 
| +  } else {
 | 
| +    if (!v8CallBoolean(dictionary->CreateDataProperty(isolate->GetCurrentContext(), v8String(isolate, "testInterfaceGarbageCollectedOrNullMember"), v8::Null(isolate))))
 | 
| +      return false;
 | 
| +  }
 | 
| +
 | 
| +  if (impl.hasTestInterfaceGarbageCollectedSequenceMember()) {
 | 
| +    if (!v8CallBoolean(dictionary->CreateDataProperty(isolate->GetCurrentContext(), v8String(isolate, "testInterfaceGarbageCollectedSequenceMember"), toV8(impl.testInterfaceGarbageCollectedSequenceMember(), creationContext, isolate))))
 | 
| +      return false;
 | 
| +  } else {
 | 
| +    if (!v8CallBoolean(dictionary->CreateDataProperty(isolate->GetCurrentContext(), v8String(isolate, "testInterfaceGarbageCollectedSequenceMember"), toV8(HeapVector<Member<TestInterfaceGarbageCollected>>(), creationContext, isolate))))
 | 
| +      return false;
 | 
| +  }
 | 
| +
 | 
| +  if (impl.hasTestInterfaceMember()) {
 | 
| +    if (!v8CallBoolean(dictionary->CreateDataProperty(isolate->GetCurrentContext(), v8String(isolate, "testInterfaceMember"), toV8(impl.testInterfaceMember(), creationContext, isolate))))
 | 
| +      return false;
 | 
| +  }
 | 
| +
 | 
| +  if (impl.hasTestInterfaceOrNullMember()) {
 | 
| +    if (!v8CallBoolean(dictionary->CreateDataProperty(isolate->GetCurrentContext(), v8String(isolate, "testInterfaceOrNullMember"), toV8(impl.testInterfaceOrNullMember(), creationContext, isolate))))
 | 
| +      return false;
 | 
| +  } else {
 | 
| +    if (!v8CallBoolean(dictionary->CreateDataProperty(isolate->GetCurrentContext(), v8String(isolate, "testInterfaceOrNullMember"), v8::Null(isolate))))
 | 
| +      return false;
 | 
| +  }
 | 
| +
 | 
| +  if (impl.hasTestInterfaceSequenceMember()) {
 | 
| +    if (!v8CallBoolean(dictionary->CreateDataProperty(isolate->GetCurrentContext(), v8String(isolate, "testInterfaceSequenceMember"), toV8(impl.testInterfaceSequenceMember(), creationContext, isolate))))
 | 
| +      return false;
 | 
| +  } else {
 | 
| +    if (!v8CallBoolean(dictionary->CreateDataProperty(isolate->GetCurrentContext(), v8String(isolate, "testInterfaceSequenceMember"), toV8(HeapVector<Member<TestInterfaceImplementation>>(), creationContext, isolate))))
 | 
| +      return false;
 | 
| +  }
 | 
| +
 | 
| +  if (impl.hasUint8ArrayMember()) {
 | 
| +    if (!v8CallBoolean(dictionary->CreateDataProperty(isolate->GetCurrentContext(), v8String(isolate, "uint8ArrayMember"), toV8(impl.uint8ArrayMember(), creationContext, isolate))))
 | 
| +      return false;
 | 
| +  }
 | 
| +
 | 
| +  if (impl.hasUnrestrictedDoubleMember()) {
 | 
| +    if (!v8CallBoolean(dictionary->CreateDataProperty(isolate->GetCurrentContext(), v8String(isolate, "unrestrictedDoubleMember"), v8::Number::New(isolate, impl.unrestrictedDoubleMember()))))
 | 
| +      return false;
 | 
| +  } else {
 | 
| +    if (!v8CallBoolean(dictionary->CreateDataProperty(isolate->GetCurrentContext(), v8String(isolate, "unrestrictedDoubleMember"), v8::Number::New(isolate, 3.14))))
 | 
| +      return false;
 | 
| +  }
 | 
| +
 | 
| +  return true;
 | 
|  }
 | 
|  
 | 
| -TestDictionary NativeValueTraits<TestDictionary>::nativeValue(v8::Isolate* isolate, v8::Local<v8::Value> value, ExceptionState& exceptionState)
 | 
| -{
 | 
| -    TestDictionary impl;
 | 
| -    V8TestDictionary::toImpl(isolate, value, impl, exceptionState);
 | 
| -    return impl;
 | 
| +TestDictionary NativeValueTraits<TestDictionary>::nativeValue(v8::Isolate* isolate, v8::Local<v8::Value> value, ExceptionState& exceptionState) {
 | 
| +  TestDictionary impl;
 | 
| +  V8TestDictionary::toImpl(isolate, value, impl, exceptionState);
 | 
| +  return impl;
 | 
|  }
 | 
|  
 | 
| -} // namespace blink
 | 
| +}  // namespace blink
 | 
| 
 |