| Index: third_party/WebKit/Source/bindings/tests/results/core/V8TestTypedefs.cpp | 
| diff --git a/third_party/WebKit/Source/bindings/tests/results/core/V8TestTypedefs.cpp b/third_party/WebKit/Source/bindings/tests/results/core/V8TestTypedefs.cpp | 
| index 11ffa5a54cb7c93a698c7d35ccb126cbd59fb064..69ac4786070ca6c05964de237e993b0c4f9e0474 100644 | 
| --- a/third_party/WebKit/Source/bindings/tests/results/core/V8TestTypedefs.cpp | 
| +++ b/third_party/WebKit/Source/bindings/tests/results/core/V8TestTypedefs.cpp | 
| @@ -11,7 +11,9 @@ | 
| // clang-format off | 
| #include "V8TestTypedefs.h" | 
|  | 
| +#include "bindings/core/v8/ByteStringSequenceSequenceOrByteStringByteStringRecord.h" | 
| #include "bindings/core/v8/ExceptionState.h" | 
| +#include "bindings/core/v8/IDLTypes.h" | 
| #include "bindings/core/v8/StringOrDouble.h" | 
| #include "bindings/core/v8/TestInterfaceOrTestInterfaceEmpty.h" | 
| #include "bindings/core/v8/V8DOMConfiguration.h" | 
| @@ -19,6 +21,7 @@ | 
| #include "bindings/core/v8/V8TestCallbackInterface.h" | 
| #include "bindings/core/v8/V8TestInterface.h" | 
| #include "bindings/core/v8/V8TestInterfaceEmpty.h" | 
| +#include "bindings/core/v8/V8TestObject.h" | 
| #include "core/dom/Document.h" | 
| #include "core/frame/LocalDOMWindow.h" | 
| #include "wtf/GetPtr.h" | 
| @@ -240,6 +243,66 @@ static void stringArrayMethodStringArrayArgMethod(const v8::FunctionCallbackInfo | 
| v8SetReturnValue(info, ToV8(impl->stringArrayMethodStringArrayArg(stringArrayArg), info.Holder(), info.GetIsolate())); | 
| } | 
|  | 
| +static void methodTakingRecordMethod(const v8::FunctionCallbackInfo<v8::Value>& info) { | 
| +  ExceptionState exceptionState(info.GetIsolate(), ExceptionState::ExecutionContext, "TestTypedefs", "methodTakingRecord"); | 
| + | 
| +  TestTypedefs* impl = V8TestTypedefs::toImpl(info.Holder()); | 
| + | 
| +  if (UNLIKELY(info.Length() < 1)) { | 
| +    exceptionState.throwTypeError(ExceptionMessages::notEnoughArguments(1, info.Length())); | 
| +    return; | 
| +  } | 
| + | 
| +  Vector<std::pair<String, int>> arg; | 
| +  arg = NativeValueTraits<idl::Record<idl::ByteString, idl::Long>>::nativeValue(info.GetIsolate(), info[0], exceptionState); | 
| +  if (exceptionState.hadException()) | 
| +    return; | 
| + | 
| +  impl->methodTakingRecord(arg); | 
| +} | 
| + | 
| +static void methodTakingOilpanValueRecordMethod(const v8::FunctionCallbackInfo<v8::Value>& info) { | 
| +  ExceptionState exceptionState(info.GetIsolate(), ExceptionState::ExecutionContext, "TestTypedefs", "methodTakingOilpanValueRecord"); | 
| + | 
| +  TestTypedefs* impl = V8TestTypedefs::toImpl(info.Holder()); | 
| + | 
| +  if (UNLIKELY(info.Length() < 1)) { | 
| +    exceptionState.throwTypeError(ExceptionMessages::notEnoughArguments(1, info.Length())); | 
| +    return; | 
| +  } | 
| + | 
| +  HeapVector<std::pair<String, Member<TestObject>>> arg; | 
| +  arg = NativeValueTraits<idl::Record<idl::USVString, TestObject>>::nativeValue(info.GetIsolate(), info[0], exceptionState); | 
| +  if (exceptionState.hadException()) | 
| +    return; | 
| + | 
| +  impl->methodTakingOilpanValueRecord(arg); | 
| +} | 
| + | 
| +static void unionWithRecordMethodMethod(const v8::FunctionCallbackInfo<v8::Value>& info) { | 
| +  ExceptionState exceptionState(info.GetIsolate(), ExceptionState::ExecutionContext, "TestTypedefs", "unionWithRecordMethod"); | 
| + | 
| +  TestTypedefs* impl = V8TestTypedefs::toImpl(info.Holder()); | 
| + | 
| +  if (UNLIKELY(info.Length() < 1)) { | 
| +    exceptionState.throwTypeError(ExceptionMessages::notEnoughArguments(1, info.Length())); | 
| +    return; | 
| +  } | 
| + | 
| +  ByteStringSequenceSequenceOrByteStringByteStringRecord arg; | 
| +  V8ByteStringSequenceSequenceOrByteStringByteStringRecord::toImpl(info.GetIsolate(), info[0], arg, UnionTypeConversionMode::NotNullable, exceptionState); | 
| +  if (exceptionState.hadException()) | 
| +    return; | 
| + | 
| +  v8SetReturnValue(info, impl->unionWithRecordMethod(arg)); | 
| +} | 
| + | 
| +static void methodThatReturnsRecordMethod(const v8::FunctionCallbackInfo<v8::Value>& info) { | 
| +  TestTypedefs* impl = V8TestTypedefs::toImpl(info.Holder()); | 
| + | 
| +  v8SetReturnValue(info, ToV8(impl->methodThatReturnsRecord(), info.Holder(), info.GetIsolate())); | 
| +} | 
| + | 
| static void constructor(const v8::FunctionCallbackInfo<v8::Value>& info) { | 
| if (UNLIKELY(info.Length() < 1)) { | 
| V8ThrowException::throwTypeError(info.GetIsolate(), ExceptionMessages::failedToConstruct("TestTypedefs", ExceptionMessages::notEnoughArguments(1, info.Length()))); | 
| @@ -311,6 +374,22 @@ void V8TestTypedefs::stringArrayMethodStringArrayArgMethodCallback(const v8::Fun | 
| TestTypedefsV8Internal::stringArrayMethodStringArrayArgMethod(info); | 
| } | 
|  | 
| +void V8TestTypedefs::methodTakingRecordMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { | 
| +  TestTypedefsV8Internal::methodTakingRecordMethod(info); | 
| +} | 
| + | 
| +void V8TestTypedefs::methodTakingOilpanValueRecordMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { | 
| +  TestTypedefsV8Internal::methodTakingOilpanValueRecordMethod(info); | 
| +} | 
| + | 
| +void V8TestTypedefs::unionWithRecordMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { | 
| +  TestTypedefsV8Internal::unionWithRecordMethodMethod(info); | 
| +} | 
| + | 
| +void V8TestTypedefs::methodThatReturnsRecordMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { | 
| +  TestTypedefsV8Internal::methodThatReturnsRecordMethod(info); | 
| +} | 
| + | 
| // Suppress warning: global constructors, because AttributeConfiguration is trivial | 
| // and does not depend on another global objects. | 
| #if defined(COMPONENT_BUILD) && defined(WIN32) && COMPILER(CLANG) | 
| @@ -338,6 +417,10 @@ const V8DOMConfiguration::MethodConfiguration V8TestTypedefsMethods[] = { | 
| {"domStringOrDoubleMethod", V8TestTypedefs::domStringOrDoubleMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, | 
| {"arrayOfStringsMethodArrayOfStringsArg", V8TestTypedefs::arrayOfStringsMethodArrayOfStringsArgMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, | 
| {"stringArrayMethodStringArrayArg", V8TestTypedefs::stringArrayMethodStringArrayArgMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, | 
| +    {"methodTakingRecord", V8TestTypedefs::methodTakingRecordMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, | 
| +    {"methodTakingOilpanValueRecord", V8TestTypedefs::methodTakingOilpanValueRecordMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, | 
| +    {"unionWithRecordMethod", V8TestTypedefs::unionWithRecordMethodMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, | 
| +    {"methodThatReturnsRecord", V8TestTypedefs::methodThatReturnsRecordMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, | 
| }; | 
|  | 
| void V8TestTypedefs::constructorCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { | 
|  |