| Index: third_party/WebKit/Source/bindings/tests/results/core/V8TestDictionaryDerived.cpp
 | 
| diff --git a/third_party/WebKit/Source/bindings/tests/results/core/V8TestDictionaryDerived.cpp b/third_party/WebKit/Source/bindings/tests/results/core/V8TestDictionaryDerived.cpp
 | 
| index 1b95ead541aaa053486f171225357f92735ad0dc..6c4dc8f9e073042882528ef62e52abfe77c55e91 100644
 | 
| --- a/third_party/WebKit/Source/bindings/tests/results/core/V8TestDictionaryDerived.cpp
 | 
| +++ b/third_party/WebKit/Source/bindings/tests/results/core/V8TestDictionaryDerived.cpp
 | 
| @@ -12,131 +12,127 @@
 | 
|  
 | 
|  namespace blink {
 | 
|  
 | 
| -void V8TestDictionaryDerivedImplementedAs::toImpl(v8::Isolate* isolate, v8::Local<v8::Value> v8Value, TestDictionaryDerivedImplementedAs& impl, ExceptionState& exceptionState)
 | 
| -{
 | 
| -    if (isUndefinedOrNull(v8Value)) {
 | 
| -        exceptionState.throwTypeError("Missing required member(s): requiredLongMember.");
 | 
| -        return;
 | 
| -    }
 | 
| -    if (!v8Value->IsObject()) {
 | 
| -        exceptionState.throwTypeError("cannot convert to dictionary.");
 | 
| -        return;
 | 
| -    }
 | 
| -
 | 
| -    V8TestDictionary::toImpl(isolate, v8Value, impl, exceptionState);
 | 
| +void V8TestDictionaryDerivedImplementedAs::toImpl(v8::Isolate* isolate, v8::Local<v8::Value> v8Value, TestDictionaryDerivedImplementedAs& impl, ExceptionState& exceptionState) {
 | 
| +  if (isUndefinedOrNull(v8Value)) {
 | 
| +    exceptionState.throwTypeError("Missing required member(s): requiredLongMember.");
 | 
| +    return;
 | 
| +  }
 | 
| +  if (!v8Value->IsObject()) {
 | 
| +    exceptionState.throwTypeError("cannot convert to dictionary.");
 | 
| +    return;
 | 
| +  }
 | 
| +
 | 
| +  V8TestDictionary::toImpl(isolate, v8Value, impl, exceptionState);
 | 
| +  if (exceptionState.hadException())
 | 
| +    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> derivedStringMemberValue;
 | 
| +  if (!v8Object->Get(isolate->GetCurrentContext(), v8String(isolate, "derivedStringMember")).ToLocal(&derivedStringMemberValue)) {
 | 
| +    exceptionState.rethrowV8Exception(block.Exception());
 | 
| +    return;
 | 
| +  }
 | 
| +  if (derivedStringMemberValue.IsEmpty() || derivedStringMemberValue->IsUndefined()) {
 | 
| +    // Do nothing.
 | 
| +  } else {
 | 
| +    V8StringResource<> derivedStringMember = derivedStringMemberValue;
 | 
| +    if (!derivedStringMember.prepare(exceptionState))
 | 
| +      return;
 | 
| +    impl.setDerivedStringMember(derivedStringMember);
 | 
| +  }
 | 
| +
 | 
| +  v8::Local<v8::Value> derivedStringMemberWithDefaultValue;
 | 
| +  if (!v8Object->Get(isolate->GetCurrentContext(), v8String(isolate, "derivedStringMemberWithDefault")).ToLocal(&derivedStringMemberWithDefaultValue)) {
 | 
| +    exceptionState.rethrowV8Exception(block.Exception());
 | 
| +    return;
 | 
| +  }
 | 
| +  if (derivedStringMemberWithDefaultValue.IsEmpty() || derivedStringMemberWithDefaultValue->IsUndefined()) {
 | 
| +    // Do nothing.
 | 
| +  } else {
 | 
| +    V8StringResource<> derivedStringMemberWithDefault = derivedStringMemberWithDefaultValue;
 | 
| +    if (!derivedStringMemberWithDefault.prepare(exceptionState))
 | 
| +      return;
 | 
| +    impl.setDerivedStringMemberWithDefault(derivedStringMemberWithDefault);
 | 
| +  }
 | 
| +
 | 
| +  v8::Local<v8::Value> requiredLongMemberValue;
 | 
| +  if (!v8Object->Get(isolate->GetCurrentContext(), v8String(isolate, "requiredLongMember")).ToLocal(&requiredLongMemberValue)) {
 | 
| +    exceptionState.rethrowV8Exception(block.Exception());
 | 
| +    return;
 | 
| +  }
 | 
| +  if (requiredLongMemberValue.IsEmpty() || requiredLongMemberValue->IsUndefined()) {
 | 
| +    exceptionState.throwTypeError("required member requiredLongMember is undefined.");
 | 
| +    return;
 | 
| +  } else {
 | 
| +    int requiredLongMember = toInt32(isolate, requiredLongMemberValue, NormalConversion, exceptionState);
 | 
|      if (exceptionState.hadException())
 | 
| -        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> derivedStringMemberValue;
 | 
| -    if (!v8Object->Get(isolate->GetCurrentContext(), v8String(isolate, "derivedStringMember")).ToLocal(&derivedStringMemberValue)) {
 | 
| -        exceptionState.rethrowV8Exception(block.Exception());
 | 
| -        return;
 | 
| -    }
 | 
| -    if (derivedStringMemberValue.IsEmpty() || derivedStringMemberValue->IsUndefined()) {
 | 
| -        // Do nothing.
 | 
| -    } else {
 | 
| -        V8StringResource<> derivedStringMember = derivedStringMemberValue;
 | 
| -        if (!derivedStringMember.prepare(exceptionState))
 | 
| -            return;
 | 
| -        impl.setDerivedStringMember(derivedStringMember);
 | 
| -    }
 | 
| -
 | 
| -    v8::Local<v8::Value> derivedStringMemberWithDefaultValue;
 | 
| -    if (!v8Object->Get(isolate->GetCurrentContext(), v8String(isolate, "derivedStringMemberWithDefault")).ToLocal(&derivedStringMemberWithDefaultValue)) {
 | 
| -        exceptionState.rethrowV8Exception(block.Exception());
 | 
| -        return;
 | 
| -    }
 | 
| -    if (derivedStringMemberWithDefaultValue.IsEmpty() || derivedStringMemberWithDefaultValue->IsUndefined()) {
 | 
| -        // Do nothing.
 | 
| -    } else {
 | 
| -        V8StringResource<> derivedStringMemberWithDefault = derivedStringMemberWithDefaultValue;
 | 
| -        if (!derivedStringMemberWithDefault.prepare(exceptionState))
 | 
| -            return;
 | 
| -        impl.setDerivedStringMemberWithDefault(derivedStringMemberWithDefault);
 | 
| -    }
 | 
| -
 | 
| -    v8::Local<v8::Value> requiredLongMemberValue;
 | 
| -    if (!v8Object->Get(isolate->GetCurrentContext(), v8String(isolate, "requiredLongMember")).ToLocal(&requiredLongMemberValue)) {
 | 
| -        exceptionState.rethrowV8Exception(block.Exception());
 | 
| -        return;
 | 
| -    }
 | 
| -    if (requiredLongMemberValue.IsEmpty() || requiredLongMemberValue->IsUndefined()) {
 | 
| -        exceptionState.throwTypeError("required member requiredLongMember is undefined.");
 | 
| -        return;
 | 
| -    } else {
 | 
| -        int requiredLongMember = toInt32(isolate, requiredLongMemberValue, NormalConversion, exceptionState);
 | 
| -        if (exceptionState.hadException())
 | 
| -            return;
 | 
| -        impl.setRequiredLongMember(requiredLongMember);
 | 
| -    }
 | 
| -
 | 
| -    v8::Local<v8::Value> stringOrDoubleSequenceMemberValue;
 | 
| -    if (!v8Object->Get(isolate->GetCurrentContext(), v8String(isolate, "stringOrDoubleSequenceMember")).ToLocal(&stringOrDoubleSequenceMemberValue)) {
 | 
| -        exceptionState.rethrowV8Exception(block.Exception());
 | 
| -        return;
 | 
| -    }
 | 
| -    if (stringOrDoubleSequenceMemberValue.IsEmpty() || stringOrDoubleSequenceMemberValue->IsUndefined()) {
 | 
| -        // Do nothing.
 | 
| -    } else {
 | 
| -        HeapVector<StringOrDouble> stringOrDoubleSequenceMember = toImplArray<HeapVector<StringOrDouble>>(stringOrDoubleSequenceMemberValue, 0, isolate, exceptionState);
 | 
| -        if (exceptionState.hadException())
 | 
| -            return;
 | 
| -        impl.setStringOrDoubleSequenceMember(stringOrDoubleSequenceMember);
 | 
| -    }
 | 
| +      return;
 | 
| +    impl.setRequiredLongMember(requiredLongMember);
 | 
| +  }
 | 
| +
 | 
| +  v8::Local<v8::Value> stringOrDoubleSequenceMemberValue;
 | 
| +  if (!v8Object->Get(isolate->GetCurrentContext(), v8String(isolate, "stringOrDoubleSequenceMember")).ToLocal(&stringOrDoubleSequenceMemberValue)) {
 | 
| +    exceptionState.rethrowV8Exception(block.Exception());
 | 
| +    return;
 | 
| +  }
 | 
| +  if (stringOrDoubleSequenceMemberValue.IsEmpty() || stringOrDoubleSequenceMemberValue->IsUndefined()) {
 | 
| +    // Do nothing.
 | 
| +  } else {
 | 
| +    HeapVector<StringOrDouble> stringOrDoubleSequenceMember = toImplArray<HeapVector<StringOrDouble>>(stringOrDoubleSequenceMemberValue, 0, isolate, exceptionState);
 | 
| +    if (exceptionState.hadException())
 | 
| +      return;
 | 
| +    impl.setStringOrDoubleSequenceMember(stringOrDoubleSequenceMember);
 | 
| +  }
 | 
|  }
 | 
|  
 | 
| -v8::Local<v8::Value> TestDictionaryDerivedImplementedAs::toV8Impl(v8::Local<v8::Object> creationContext, v8::Isolate* isolate) const
 | 
| -{
 | 
| -    v8::Local<v8::Object> v8Object = v8::Object::New(isolate);
 | 
| -    if (!toV8TestDictionaryDerivedImplementedAs(*this, v8Object, creationContext, isolate))
 | 
| -        return v8::Undefined(isolate);
 | 
| -    return v8Object;
 | 
| +v8::Local<v8::Value> TestDictionaryDerivedImplementedAs::toV8Impl(v8::Local<v8::Object> creationContext, v8::Isolate* isolate) const {
 | 
| +  v8::Local<v8::Object> v8Object = v8::Object::New(isolate);
 | 
| +  if (!toV8TestDictionaryDerivedImplementedAs(*this, v8Object, creationContext, isolate))
 | 
| +    return v8::Undefined(isolate);
 | 
| +  return v8Object;
 | 
|  }
 | 
|  
 | 
| -bool toV8TestDictionaryDerivedImplementedAs(const TestDictionaryDerivedImplementedAs& impl, v8::Local<v8::Object> dictionary, v8::Local<v8::Object> creationContext, v8::Isolate* isolate)
 | 
| -{
 | 
| -    if (!toV8TestDictionary(impl, dictionary, creationContext, isolate))
 | 
| -        return false;
 | 
| -
 | 
| -    if (impl.hasDerivedStringMember()) {
 | 
| -        if (!v8CallBoolean(dictionary->CreateDataProperty(isolate->GetCurrentContext(), v8String(isolate, "derivedStringMember"), v8String(isolate, impl.derivedStringMember()))))
 | 
| -            return false;
 | 
| -    }
 | 
| -
 | 
| -    if (impl.hasDerivedStringMemberWithDefault()) {
 | 
| -        if (!v8CallBoolean(dictionary->CreateDataProperty(isolate->GetCurrentContext(), v8String(isolate, "derivedStringMemberWithDefault"), v8String(isolate, impl.derivedStringMemberWithDefault()))))
 | 
| -            return false;
 | 
| -    } else {
 | 
| -        if (!v8CallBoolean(dictionary->CreateDataProperty(isolate->GetCurrentContext(), v8String(isolate, "derivedStringMemberWithDefault"), v8String(isolate, String("default string value")))))
 | 
| -            return false;
 | 
| -    }
 | 
| -
 | 
| -    if (impl.hasRequiredLongMember()) {
 | 
| -        if (!v8CallBoolean(dictionary->CreateDataProperty(isolate->GetCurrentContext(), v8String(isolate, "requiredLongMember"), v8::Integer::New(isolate, impl.requiredLongMember()))))
 | 
| -            return false;
 | 
| -    } else {
 | 
| -        ASSERT_NOT_REACHED();
 | 
| -    }
 | 
| -
 | 
| -    if (impl.hasStringOrDoubleSequenceMember()) {
 | 
| -        if (!v8CallBoolean(dictionary->CreateDataProperty(isolate->GetCurrentContext(), v8String(isolate, "stringOrDoubleSequenceMember"), toV8(impl.stringOrDoubleSequenceMember(), creationContext, isolate))))
 | 
| -            return false;
 | 
| -    }
 | 
| -
 | 
| -    return true;
 | 
| +bool toV8TestDictionaryDerivedImplementedAs(const TestDictionaryDerivedImplementedAs& impl, v8::Local<v8::Object> dictionary, v8::Local<v8::Object> creationContext, v8::Isolate* isolate) {
 | 
| +  if (!toV8TestDictionary(impl, dictionary, creationContext, isolate))
 | 
| +    return false;
 | 
| +
 | 
| +  if (impl.hasDerivedStringMember()) {
 | 
| +    if (!v8CallBoolean(dictionary->CreateDataProperty(isolate->GetCurrentContext(), v8String(isolate, "derivedStringMember"), v8String(isolate, impl.derivedStringMember()))))
 | 
| +      return false;
 | 
| +  }
 | 
| +
 | 
| +  if (impl.hasDerivedStringMemberWithDefault()) {
 | 
| +    if (!v8CallBoolean(dictionary->CreateDataProperty(isolate->GetCurrentContext(), v8String(isolate, "derivedStringMemberWithDefault"), v8String(isolate, impl.derivedStringMemberWithDefault()))))
 | 
| +      return false;
 | 
| +  } else {
 | 
| +    if (!v8CallBoolean(dictionary->CreateDataProperty(isolate->GetCurrentContext(), v8String(isolate, "derivedStringMemberWithDefault"), v8String(isolate, String("default string value")))))
 | 
| +      return false;
 | 
| +  }
 | 
| +
 | 
| +  if (impl.hasRequiredLongMember()) {
 | 
| +    if (!v8CallBoolean(dictionary->CreateDataProperty(isolate->GetCurrentContext(), v8String(isolate, "requiredLongMember"), v8::Integer::New(isolate, impl.requiredLongMember()))))
 | 
| +      return false;
 | 
| +  } else {
 | 
| +    NOTREACHED();
 | 
| +  }
 | 
| +
 | 
| +  if (impl.hasStringOrDoubleSequenceMember()) {
 | 
| +    if (!v8CallBoolean(dictionary->CreateDataProperty(isolate->GetCurrentContext(), v8String(isolate, "stringOrDoubleSequenceMember"), toV8(impl.stringOrDoubleSequenceMember(), creationContext, isolate))))
 | 
| +      return false;
 | 
| +  }
 | 
| +
 | 
| +  return true;
 | 
|  }
 | 
|  
 | 
| -TestDictionaryDerivedImplementedAs NativeValueTraits<TestDictionaryDerivedImplementedAs>::nativeValue(v8::Isolate* isolate, v8::Local<v8::Value> value, ExceptionState& exceptionState)
 | 
| -{
 | 
| -    TestDictionaryDerivedImplementedAs impl;
 | 
| -    V8TestDictionaryDerivedImplementedAs::toImpl(isolate, value, impl, exceptionState);
 | 
| -    return impl;
 | 
| +TestDictionaryDerivedImplementedAs NativeValueTraits<TestDictionaryDerivedImplementedAs>::nativeValue(v8::Isolate* isolate, v8::Local<v8::Value> value, ExceptionState& exceptionState) {
 | 
| +  TestDictionaryDerivedImplementedAs impl;
 | 
| +  V8TestDictionaryDerivedImplementedAs::toImpl(isolate, value, impl, exceptionState);
 | 
| +  return impl;
 | 
|  }
 | 
|  
 | 
| -} // namespace blink
 | 
| +}  // namespace blink
 | 
| 
 |