| Index: Source/bindings/tests/results/modules/V8TestInterfacePartial.cpp
|
| diff --git a/Source/bindings/tests/results/modules/V8TestInterfacePartial.cpp b/Source/bindings/tests/results/modules/V8TestInterfacePartial.cpp
|
| index 246da757376f68c7e1bff98f3dca7439575f4066..96f1ff33f1b8cec2f73b74b950e7359be8e5118c 100644
|
| --- a/Source/bindings/tests/results/modules/V8TestInterfacePartial.cpp
|
| +++ b/Source/bindings/tests/results/modules/V8TestInterfacePartial.cpp
|
| @@ -281,6 +281,19 @@ static void partial2StaticVoidMethodMethod(const v8::FunctionCallbackInfo<v8::Va
|
| return;
|
| }
|
|
|
| +static void unscopeableVoidMethodMethod(const v8::FunctionCallbackInfo<v8::Value>& info)
|
| +{
|
| + TestInterfaceImplementation* impl = V8TestInterface::toImpl(info.Holder());
|
| + TestPartialInterfaceImplementation3::unscopeableVoidMethod(*impl);
|
| +}
|
| +
|
| +static void unscopeableVoidMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info)
|
| +{
|
| + TRACE_EVENT_SET_SAMPLING_STATE("blink", "DOMMethod");
|
| + TestInterfaceImplementationPartialV8Internal::unscopeableVoidMethodMethod(info);
|
| + TRACE_EVENT_SET_SAMPLING_STATE("v8", "V8Execution");
|
| +}
|
| +
|
| } // namespace TestInterfaceImplementationPartialV8Internal
|
|
|
| void V8TestInterfacePartial::installV8TestInterfaceTemplate(v8::Local<v8::FunctionTemplate> functionTemplate, v8::Isolate* isolate)
|
| @@ -306,16 +319,27 @@ void V8TestInterfacePartial::installV8TestInterfaceTemplate(v8::Local<v8::Functi
|
| functionTemplate->InstanceTemplate()->SetCallAsFunctionHandler(V8TestInterface::legacyCallCustom);
|
| }
|
|
|
| -void V8TestInterfacePartial::installConditionallyEnabledMethods(v8::Local<v8::Object> prototypeObject, v8::Isolate* isolate)
|
| +void V8TestInterfacePartial::preparePrototypeObject(v8::Isolate* isolate, v8::Local<v8::Object> prototypeObject)
|
| {
|
| - V8TestInterface::installConditionallyEnabledMethods(prototypeObject, isolate);
|
| + V8TestInterface::preparePrototypeObject(isolate, prototypeObject);
|
| + v8::Local<v8::Context> v8Context(prototypeObject->CreationContext());
|
| + v8::Local<v8::Name> unscopablesSymbol(v8::Symbol::GetUnscopables(isolate));
|
| + v8::Local<v8::Object> unscopeables;
|
| + if (v8CallBoolean(prototypeObject->HasOwnProperty(v8Context, unscopablesSymbol)))
|
| + unscopeables = prototypeObject->Get(v8Context, unscopablesSymbol).ToLocalChecked().As<v8::Object>();
|
| + else
|
| + unscopeables = v8::Object::New(isolate);
|
| + unscopeables->ForceSet(v8Context, v8AtomicString(isolate, "unscopeableVoidMethod"), v8::True(isolate)).FromJust();
|
| + prototypeObject->ForceSet(v8Context, unscopablesSymbol, unscopeables).FromJust();
|
| v8::Local<v8::Signature> defaultSignature = v8::Signature::New(isolate, domTemplate(isolate));
|
| ExecutionContext* context = toExecutionContext(prototypeObject->CreationContext());
|
| ASSERT(context);
|
| -
|
| if (context && context->isDocument() && ContextFeatures::partialContextName3Enabled(toDocument(context))) {
|
| prototypeObject->Set(v8AtomicString(isolate, "partialVoidTestEnumModulesArgMethod"), v8::FunctionTemplate::New(isolate, TestInterfaceImplementationPartialV8Internal::partialVoidTestEnumModulesArgMethodMethodCallback, v8Undefined(), defaultSignature, 1)->GetFunction(isolate->GetCurrentContext()).ToLocalChecked());
|
| }
|
| + if (context && context->isDocument() && ContextFeatures::partialContextName3Enabled(toDocument(context))) {
|
| + prototypeObject->Set(v8AtomicString(isolate, "unscopeableVoidMethod"), v8::FunctionTemplate::New(isolate, TestInterfaceImplementationPartialV8Internal::unscopeableVoidMethodMethodCallback, v8Undefined(), defaultSignature, 0)->GetFunction(isolate->GetCurrentContext()).ToLocalChecked());
|
| + }
|
| }
|
|
|
| bool V8TestInterface::PrivateScript::shortMethodWithShortArgumentImplementedInPrivateScriptMethod(LocalFrame* frame, TestInterface* holderImpl, int value, int* result)
|
| @@ -354,7 +378,7 @@ void V8TestInterfacePartial::initialize()
|
| // Should be invoked from initModules.
|
| V8TestInterface::updateWrapperTypeInfo(
|
| &V8TestInterfacePartial::installV8TestInterfaceTemplate,
|
| - &V8TestInterfacePartial::installConditionallyEnabledMethods);
|
| + &V8TestInterfacePartial::preparePrototypeObject);
|
| V8TestInterface::registerVoidMethodPartialOverloadMethodForPartialInterface(&TestInterfaceImplementationPartialV8Internal::voidMethodPartialOverloadMethod);
|
| V8TestInterface::registerStaticVoidMethodPartialOverloadMethodForPartialInterface(&TestInterfaceImplementationPartialV8Internal::staticVoidMethodPartialOverloadMethod);
|
| V8TestInterface::registerPromiseMethodPartialOverloadMethodForPartialInterface(&TestInterfaceImplementationPartialV8Internal::promiseMethodPartialOverloadMethod);
|
|
|