| Index: Source/bindings/tests/results/core/V8TestInterface.cpp
 | 
| diff --git a/Source/bindings/tests/results/core/V8TestInterface.cpp b/Source/bindings/tests/results/core/V8TestInterface.cpp
 | 
| index cdcc133a1e38c681807ed77a3f7c42abf5c53f2d..00ab99616bd87243d205d43506dfe8d438ccc03c 100644
 | 
| --- a/Source/bindings/tests/results/core/V8TestInterface.cpp
 | 
| +++ b/Source/bindings/tests/results/core/V8TestInterface.cpp
 | 
| @@ -10,10 +10,12 @@
 | 
|  
 | 
|  #include "bindings/core/v8/ExceptionState.h"
 | 
|  #include "bindings/core/v8/PrivateScriptRunner.h"
 | 
| +#include "bindings/core/v8/ScriptPromise.h"
 | 
|  #include "bindings/core/v8/ScriptState.h"
 | 
|  #include "bindings/core/v8/ScriptValue.h"
 | 
|  #include "bindings/core/v8/V8AbstractEventListener.h"
 | 
|  #include "bindings/core/v8/V8DOMConfiguration.h"
 | 
| +#include "bindings/core/v8/V8Document.h"
 | 
|  #include "bindings/core/v8/V8EventListenerList.h"
 | 
|  #include "bindings/core/v8/V8HiddenValue.h"
 | 
|  #include "bindings/core/v8/V8Iterator.h"
 | 
| @@ -21,6 +23,7 @@
 | 
|  #include "bindings/core/v8/V8ObjectConstructor.h"
 | 
|  #include "bindings/core/v8/V8TestInterface.h"
 | 
|  #include "bindings/core/v8/V8TestInterfaceEmpty.h"
 | 
| +#include "bindings/core/v8/V8Window.h"
 | 
|  #include "bindings/tests/idls/core/TestImplements2.h"
 | 
|  #include "bindings/tests/idls/core/TestImplements3Implementation.h"
 | 
|  #include "bindings/tests/idls/core/TestPartialInterface.h"
 | 
| @@ -46,6 +49,8 @@ const WrapperTypeInfo& TestInterfaceImplementation::s_wrapperTypeInfo = V8TestIn
 | 
|  namespace TestInterfaceImplementationV8Internal {
 | 
|  static void (*voidMethodPartialOverloadMethodForPartialInterface)(const v8::FunctionCallbackInfo<v8::Value>&) = 0;
 | 
|  static void (*staticVoidMethodPartialOverloadMethodForPartialInterface)(const v8::FunctionCallbackInfo<v8::Value>&) = 0;
 | 
| +static void (*promiseMethodPartialOverloadMethodForPartialInterface)(const v8::FunctionCallbackInfo<v8::Value>&) = 0;
 | 
| +static void (*staticPromiseMethodPartialOverloadMethodForPartialInterface)(const v8::FunctionCallbackInfo<v8::Value>&) = 0;
 | 
|  static void (*partial2VoidMethodMethodForPartialInterface)(const v8::FunctionCallbackInfo<v8::Value>&) = 0;
 | 
|  static void (*partial2StaticVoidMethodMethodForPartialInterface)(const v8::FunctionCallbackInfo<v8::Value>&) = 0;
 | 
|  
 | 
| @@ -1147,6 +1152,31 @@ static void staticVoidMethodPartialOverload1Method(const v8::FunctionCallbackInf
 | 
|      TestInterfaceImplementation::staticVoidMethodPartialOverload();
 | 
|  }
 | 
|  
 | 
| +static void promiseMethodPartialOverload1Method(const v8::FunctionCallbackInfo<v8::Value>& info)
 | 
| +{
 | 
| +    TestInterfaceImplementation* impl = V8TestInterface::toImpl(info.Holder());
 | 
| +    v8SetReturnValue(info, impl->promiseMethodPartialOverload().v8Value());
 | 
| +}
 | 
| +
 | 
| +static void promiseMethodPartialOverload2Method(const v8::FunctionCallbackInfo<v8::Value>& info)
 | 
| +{
 | 
| +    TestInterfaceImplementation* impl = V8TestInterface::toImpl(info.Holder());
 | 
| +    LocalDOMWindow* window;
 | 
| +    {
 | 
| +        if (info.Length() > 0 && !V8Window::hasInstance(info[0], info.GetIsolate())) {
 | 
| +            v8SetReturnValue(info, ScriptPromise::rejectRaw(info.GetIsolate(), V8ThrowException::createTypeError(ExceptionMessages::failedToExecute("promiseMethodPartialOverload", "TestInterface", "parameter 1 is not of type 'Window'."), info.GetIsolate())));
 | 
| +            return;
 | 
| +        }
 | 
| +        window = toDOMWindow(info[0], info.GetIsolate());
 | 
| +    }
 | 
| +    v8SetReturnValue(info, impl->promiseMethodPartialOverload(window).v8Value());
 | 
| +}
 | 
| +
 | 
| +static void staticPromiseMethodPartialOverload1Method(const v8::FunctionCallbackInfo<v8::Value>& info)
 | 
| +{
 | 
| +    v8SetReturnValue(info, TestInterfaceImplementation::staticPromiseMethodPartialOverload().v8Value());
 | 
| +}
 | 
| +
 | 
|  static void implementsVoidMethodMethod(const v8::FunctionCallbackInfo<v8::Value>& info)
 | 
|  {
 | 
|      TestInterfaceImplementation* impl = V8TestInterface::toImpl(info.Holder());
 | 
| @@ -1458,6 +1488,58 @@ static void staticVoidMethodPartialOverloadMethodCallback(const v8::FunctionCall
 | 
|      TRACE_EVENT_SET_SAMPLING_STATE("v8", "V8Execution");
 | 
|  }
 | 
|  
 | 
| +static void promiseMethodPartialOverloadMethod(const v8::FunctionCallbackInfo<v8::Value>& info)
 | 
| +{
 | 
| +    ExceptionState exceptionState(ExceptionState::ExecutionContext, "promiseMethodPartialOverload", "TestInterface", info.Holder(), info.GetIsolate());
 | 
| +    switch (std::min(1, info.Length())) {
 | 
| +    case 0:
 | 
| +        if (true) {
 | 
| +            promiseMethodPartialOverload1Method(info);
 | 
| +            return;
 | 
| +        }
 | 
| +        break;
 | 
| +    case 1:
 | 
| +        if (V8Window::hasInstance(info[0], info.GetIsolate())) {
 | 
| +            promiseMethodPartialOverload2Method(info);
 | 
| +            return;
 | 
| +        }
 | 
| +        break;
 | 
| +    }
 | 
| +    ASSERT(promiseMethodPartialOverloadMethodForPartialInterface);
 | 
| +    (promiseMethodPartialOverloadMethodForPartialInterface)(info);
 | 
| +}
 | 
| +
 | 
| +static void promiseMethodPartialOverloadMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info)
 | 
| +{
 | 
| +    TRACE_EVENT_SET_SAMPLING_STATE("blink", "DOMMethod");
 | 
| +    TestInterfaceImplementationV8Internal::promiseMethodPartialOverloadMethod(info);
 | 
| +    TRACE_EVENT_SET_SAMPLING_STATE("v8", "V8Execution");
 | 
| +}
 | 
| +
 | 
| +static void staticPromiseMethodPartialOverloadMethod(const v8::FunctionCallbackInfo<v8::Value>& info)
 | 
| +{
 | 
| +    ExceptionState exceptionState(ExceptionState::ExecutionContext, "staticPromiseMethodPartialOverload", "TestInterface", info.Holder(), info.GetIsolate());
 | 
| +    switch (std::min(1, info.Length())) {
 | 
| +    case 0:
 | 
| +        if (true) {
 | 
| +            staticPromiseMethodPartialOverload1Method(info);
 | 
| +            return;
 | 
| +        }
 | 
| +        break;
 | 
| +    case 1:
 | 
| +        break;
 | 
| +    }
 | 
| +    ASSERT(staticPromiseMethodPartialOverloadMethodForPartialInterface);
 | 
| +    (staticPromiseMethodPartialOverloadMethodForPartialInterface)(info);
 | 
| +}
 | 
| +
 | 
| +static void staticPromiseMethodPartialOverloadMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info)
 | 
| +{
 | 
| +    TRACE_EVENT_SET_SAMPLING_STATE("blink", "DOMMethod");
 | 
| +    TestInterfaceImplementationV8Internal::staticPromiseMethodPartialOverloadMethod(info);
 | 
| +    TRACE_EVENT_SET_SAMPLING_STATE("v8", "V8Execution");
 | 
| +}
 | 
| +
 | 
|  static void partial2VoidMethodMethod(const v8::FunctionCallbackInfo<v8::Value>& info)
 | 
|  {
 | 
|      ExceptionState exceptionState(ExceptionState::ExecutionContext, "partial2VoidMethod", "TestInterface", info.Holder(), info.GetIsolate());
 | 
| @@ -1732,6 +1814,7 @@ static const V8DOMConfiguration::MethodConfiguration V8TestInterfaceMethods[] =
 | 
|      {"implementsCustomVoidMethod", TestInterfaceImplementationV8Internal::implementsCustomVoidMethodMethodCallback, 0, 0, V8DOMConfiguration::ExposedToAllScripts},
 | 
|      {"implements3VoidMethod", TestInterfaceImplementationV8Internal::implements3VoidMethodMethodCallback, 0, 0, V8DOMConfiguration::ExposedToAllScripts},
 | 
|      {"voidMethodPartialOverload", TestInterfaceImplementationV8Internal::voidMethodPartialOverloadMethodCallback, 0, 0, V8DOMConfiguration::ExposedToAllScripts},
 | 
| +    {"promiseMethodPartialOverload", TestInterfaceImplementationV8Internal::promiseMethodPartialOverloadMethodCallback, 0, 0, V8DOMConfiguration::ExposedToAllScripts},
 | 
|      {"partial2VoidMethod", TestInterfaceImplementationV8Internal::partial2VoidMethodMethodCallback, 0, 0, V8DOMConfiguration::ExposedToAllScripts},
 | 
|  };
 | 
|  
 | 
| @@ -1877,6 +1960,10 @@ void V8TestInterface::installV8TestInterfaceTemplate(v8::Handle<v8::FunctionTemp
 | 
|          "staticVoidMethodPartialOverload", TestInterfaceImplementationV8Internal::staticVoidMethodPartialOverloadMethodCallback, 0, 0, V8DOMConfiguration::ExposedToAllScripts,
 | 
|      };
 | 
|      V8DOMConfiguration::installMethod(functionTemplate, v8::Local<v8::Signature>(), v8::None, staticVoidMethodPartialOverloadMethodConfiguration, isolate);
 | 
| +    static const V8DOMConfiguration::MethodConfiguration staticPromiseMethodPartialOverloadMethodConfiguration = {
 | 
| +        "staticPromiseMethodPartialOverload", TestInterfaceImplementationV8Internal::staticPromiseMethodPartialOverloadMethodCallback, 0, 0, V8DOMConfiguration::ExposedToAllScripts,
 | 
| +    };
 | 
| +    V8DOMConfiguration::installMethod(functionTemplate, v8::Local<v8::Signature>(), v8::None, staticPromiseMethodPartialOverloadMethodConfiguration, isolate);
 | 
|      static const V8DOMConfiguration::MethodConfiguration partial2StaticVoidMethodMethodConfiguration = {
 | 
|          "partial2StaticVoidMethod", TestInterfaceImplementationV8Internal::partial2StaticVoidMethodMethodCallback, 0, 0, V8DOMConfiguration::ExposedToAllScripts,
 | 
|      };
 | 
| @@ -2090,6 +2177,14 @@ void V8TestInterface::registerStaticVoidMethodPartialOverloadMethodForPartialInt
 | 
|  {
 | 
|      TestInterfaceImplementationV8Internal::staticVoidMethodPartialOverloadMethodForPartialInterface = method;
 | 
|  }
 | 
| +void V8TestInterface::registerPromiseMethodPartialOverloadMethodForPartialInterface(void (*method)(const v8::FunctionCallbackInfo<v8::Value>&))
 | 
| +{
 | 
| +    TestInterfaceImplementationV8Internal::promiseMethodPartialOverloadMethodForPartialInterface = method;
 | 
| +}
 | 
| +void V8TestInterface::registerStaticPromiseMethodPartialOverloadMethodForPartialInterface(void (*method)(const v8::FunctionCallbackInfo<v8::Value>&))
 | 
| +{
 | 
| +    TestInterfaceImplementationV8Internal::staticPromiseMethodPartialOverloadMethodForPartialInterface = method;
 | 
| +}
 | 
|  void V8TestInterface::registerPartial2VoidMethodMethodForPartialInterface(void (*method)(const v8::FunctionCallbackInfo<v8::Value>&))
 | 
|  {
 | 
|      TestInterfaceImplementationV8Internal::partial2VoidMethodMethodForPartialInterface = method;
 | 
| 
 |