| Index: third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceNamedConstructor.cpp
|
| diff --git a/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceNamedConstructor.cpp b/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceNamedConstructor.cpp
|
| index bc8237dc08a3918f12f8611c53a208002d860b66..3049e5d0072dfedec4e07c6da3a96f153222edbc 100644
|
| --- a/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceNamedConstructor.cpp
|
| +++ b/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceNamedConstructor.cpp
|
| @@ -75,134 +75,127 @@ const WrapperTypeInfo V8TestInterfaceNamedConstructorConstructor::wrapperTypeInf
|
| #pragma clang diagnostic pop
|
| #endif
|
|
|
| -static void V8TestInterfaceNamedConstructorConstructorCallback(const v8::FunctionCallbackInfo<v8::Value>& info)
|
| -{
|
| - if (!info.IsConstructCall()) {
|
| - V8ThrowException::throwTypeError(info.GetIsolate(), ExceptionMessages::constructorNotCallableAsFunction("Audio"));
|
| - return;
|
| - }
|
| -
|
| - if (ConstructorMode::current(info.GetIsolate()) == ConstructorMode::WrapExistingObject) {
|
| - v8SetReturnValue(info, info.Holder());
|
| - return;
|
| - }
|
| -
|
| - ExceptionState exceptionState(info.GetIsolate(), ExceptionState::ConstructionContext, "TestInterfaceNamedConstructor");
|
| -
|
| - if (UNLIKELY(info.Length() < 1)) {
|
| - exceptionState.throwTypeError(ExceptionMessages::notEnoughArguments(1, info.Length()));
|
| - return;
|
| - }
|
| -
|
| - V8StringResource<> stringArg;
|
| - bool defaultUndefinedOptionalBooleanArg;
|
| - int defaultUndefinedOptionalLongArg;
|
| - V8StringResource<> defaultUndefinedOptionalStringArg;
|
| - V8StringResource<> defaultNullStringOptionalstringArg;
|
| - V8StringResource<> optionalStringArg;
|
| - int numArgsPassed = info.Length();
|
| - while (numArgsPassed > 0) {
|
| - if (!info[numArgsPassed - 1]->IsUndefined())
|
| - break;
|
| - --numArgsPassed;
|
| - }
|
| - stringArg = info[0];
|
| - if (!stringArg.prepare())
|
| - return;
|
| -
|
| - defaultUndefinedOptionalBooleanArg = toBoolean(info.GetIsolate(), info[1], exceptionState);
|
| - if (exceptionState.hadException())
|
| - return;
|
| -
|
| - defaultUndefinedOptionalLongArg = toInt32(info.GetIsolate(), info[2], NormalConversion, exceptionState);
|
| - if (exceptionState.hadException())
|
| - return;
|
| -
|
| - defaultUndefinedOptionalStringArg = info[3];
|
| - if (!defaultUndefinedOptionalStringArg.prepare())
|
| - return;
|
| -
|
| - if (!info[4]->IsUndefined()) {
|
| - defaultNullStringOptionalstringArg = info[4];
|
| - if (!defaultNullStringOptionalstringArg.prepare())
|
| - return;
|
| - } else {
|
| - defaultNullStringOptionalstringArg = nullptr;
|
| - }
|
| - if (UNLIKELY(numArgsPassed <= 5)) {
|
| - Document& document = *toDocument(currentExecutionContext(info.GetIsolate()));
|
| - TestInterfaceNamedConstructor* impl = TestInterfaceNamedConstructor::createForJSConstructor(document, stringArg, defaultUndefinedOptionalBooleanArg, defaultUndefinedOptionalLongArg, defaultUndefinedOptionalStringArg, defaultNullStringOptionalstringArg, exceptionState);
|
| - if (exceptionState.hadException()) {
|
| - return;
|
| - }
|
| - v8::Local<v8::Object> wrapper = info.Holder();
|
| - wrapper = impl->associateWithWrapper(info.GetIsolate(), &V8TestInterfaceNamedConstructorConstructor::wrapperTypeInfo, wrapper);
|
| - v8SetReturnValue(info, wrapper);
|
| - return;
|
| - }
|
| - optionalStringArg = info[5];
|
| - if (!optionalStringArg.prepare())
|
| - return;
|
| -
|
| +static void V8TestInterfaceNamedConstructorConstructorCallback(const v8::FunctionCallbackInfo<v8::Value>& info) {
|
| + if (!info.IsConstructCall()) {
|
| + V8ThrowException::throwTypeError(info.GetIsolate(), ExceptionMessages::constructorNotCallableAsFunction("Audio"));
|
| + return;
|
| + }
|
| +
|
| + if (ConstructorMode::current(info.GetIsolate()) == ConstructorMode::WrapExistingObject) {
|
| + v8SetReturnValue(info, info.Holder());
|
| + return;
|
| + }
|
| +
|
| + ExceptionState exceptionState(info.GetIsolate(), ExceptionState::ConstructionContext, "TestInterfaceNamedConstructor");
|
| +
|
| + if (UNLIKELY(info.Length() < 1)) {
|
| + exceptionState.throwTypeError(ExceptionMessages::notEnoughArguments(1, info.Length()));
|
| + return;
|
| + }
|
| +
|
| + V8StringResource<> stringArg;
|
| + bool defaultUndefinedOptionalBooleanArg;
|
| + int defaultUndefinedOptionalLongArg;
|
| + V8StringResource<> defaultUndefinedOptionalStringArg;
|
| + V8StringResource<> defaultNullStringOptionalstringArg;
|
| + V8StringResource<> optionalStringArg;
|
| + int numArgsPassed = info.Length();
|
| + while (numArgsPassed > 0) {
|
| + if (!info[numArgsPassed - 1]->IsUndefined())
|
| + break;
|
| + --numArgsPassed;
|
| + }
|
| + stringArg = info[0];
|
| + if (!stringArg.prepare())
|
| + return;
|
| +
|
| + defaultUndefinedOptionalBooleanArg = toBoolean(info.GetIsolate(), info[1], exceptionState);
|
| + if (exceptionState.hadException())
|
| + return;
|
| +
|
| + defaultUndefinedOptionalLongArg = toInt32(info.GetIsolate(), info[2], NormalConversion, exceptionState);
|
| + if (exceptionState.hadException())
|
| + return;
|
| +
|
| + defaultUndefinedOptionalStringArg = info[3];
|
| + if (!defaultUndefinedOptionalStringArg.prepare())
|
| + return;
|
| +
|
| + if (!info[4]->IsUndefined()) {
|
| + defaultNullStringOptionalstringArg = info[4];
|
| + if (!defaultNullStringOptionalstringArg.prepare())
|
| + return;
|
| + } else {
|
| + defaultNullStringOptionalstringArg = nullptr;
|
| + }
|
| + if (UNLIKELY(numArgsPassed <= 5)) {
|
| Document& document = *toDocument(currentExecutionContext(info.GetIsolate()));
|
| - TestInterfaceNamedConstructor* impl = TestInterfaceNamedConstructor::createForJSConstructor(document, stringArg, defaultUndefinedOptionalBooleanArg, defaultUndefinedOptionalLongArg, defaultUndefinedOptionalStringArg, defaultNullStringOptionalstringArg, optionalStringArg, exceptionState);
|
| + TestInterfaceNamedConstructor* impl = TestInterfaceNamedConstructor::createForJSConstructor(document, stringArg, defaultUndefinedOptionalBooleanArg, defaultUndefinedOptionalLongArg, defaultUndefinedOptionalStringArg, defaultNullStringOptionalstringArg, exceptionState);
|
| if (exceptionState.hadException()) {
|
| - return;
|
| + return;
|
| }
|
| v8::Local<v8::Object> wrapper = info.Holder();
|
| wrapper = impl->associateWithWrapper(info.GetIsolate(), &V8TestInterfaceNamedConstructorConstructor::wrapperTypeInfo, wrapper);
|
| v8SetReturnValue(info, wrapper);
|
| + return;
|
| + }
|
| + optionalStringArg = info[5];
|
| + if (!optionalStringArg.prepare())
|
| + return;
|
| +
|
| + Document& document = *toDocument(currentExecutionContext(info.GetIsolate()));
|
| + TestInterfaceNamedConstructor* impl = TestInterfaceNamedConstructor::createForJSConstructor(document, stringArg, defaultUndefinedOptionalBooleanArg, defaultUndefinedOptionalLongArg, defaultUndefinedOptionalStringArg, defaultNullStringOptionalstringArg, optionalStringArg, exceptionState);
|
| + if (exceptionState.hadException()) {
|
| + return;
|
| + }
|
| + v8::Local<v8::Object> wrapper = info.Holder();
|
| + wrapper = impl->associateWithWrapper(info.GetIsolate(), &V8TestInterfaceNamedConstructorConstructor::wrapperTypeInfo, wrapper);
|
| + v8SetReturnValue(info, wrapper);
|
| }
|
|
|
| -v8::Local<v8::FunctionTemplate> V8TestInterfaceNamedConstructorConstructor::domTemplate(v8::Isolate* isolate, const DOMWrapperWorld& world)
|
| -{
|
| - static int domTemplateKey; // This address is used for a key to look up the dom template.
|
| - V8PerIsolateData* data = V8PerIsolateData::from(isolate);
|
| - v8::Local<v8::FunctionTemplate> result = data->findInterfaceTemplate(world, &domTemplateKey);
|
| - if (!result.IsEmpty())
|
| - return result;
|
| -
|
| - result = v8::FunctionTemplate::New(isolate, V8TestInterfaceNamedConstructorConstructorCallback);
|
| - v8::Local<v8::ObjectTemplate> instanceTemplate = result->InstanceTemplate();
|
| - instanceTemplate->SetInternalFieldCount(V8TestInterfaceNamedConstructor::internalFieldCount);
|
| - result->SetClassName(v8AtomicString(isolate, "TestInterfaceNamedConstructor"));
|
| - result->Inherit(V8TestInterfaceNamedConstructor::domTemplate(isolate, world));
|
| - data->setInterfaceTemplate(world, &domTemplateKey, result);
|
| +v8::Local<v8::FunctionTemplate> V8TestInterfaceNamedConstructorConstructor::domTemplate(v8::Isolate* isolate, const DOMWrapperWorld& world) {
|
| + static int domTemplateKey; // This address is used for a key to look up the dom template.
|
| + V8PerIsolateData* data = V8PerIsolateData::from(isolate);
|
| + v8::Local<v8::FunctionTemplate> result = data->findInterfaceTemplate(world, &domTemplateKey);
|
| + if (!result.IsEmpty())
|
| return result;
|
| +
|
| + result = v8::FunctionTemplate::New(isolate, V8TestInterfaceNamedConstructorConstructorCallback);
|
| + v8::Local<v8::ObjectTemplate> instanceTemplate = result->InstanceTemplate();
|
| + instanceTemplate->SetInternalFieldCount(V8TestInterfaceNamedConstructor::internalFieldCount);
|
| + result->SetClassName(v8AtomicString(isolate, "TestInterfaceNamedConstructor"));
|
| + result->Inherit(V8TestInterfaceNamedConstructor::domTemplate(isolate, world));
|
| + data->setInterfaceTemplate(world, &domTemplateKey, result);
|
| + return result;
|
| }
|
|
|
| -static void installV8TestInterfaceNamedConstructorTemplate(v8::Isolate* isolate, const DOMWrapperWorld& world, v8::Local<v8::FunctionTemplate> interfaceTemplate)
|
| -{
|
| - // Initialize the interface object's template.
|
| - V8DOMConfiguration::initializeDOMInterfaceTemplate(isolate, interfaceTemplate, V8TestInterfaceNamedConstructor::wrapperTypeInfo.interfaceName, v8::Local<v8::FunctionTemplate>(), V8TestInterfaceNamedConstructor::internalFieldCount);
|
| - v8::Local<v8::Signature> signature = v8::Signature::New(isolate, interfaceTemplate);
|
| - ALLOW_UNUSED_LOCAL(signature);
|
| - v8::Local<v8::ObjectTemplate> instanceTemplate = interfaceTemplate->InstanceTemplate();
|
| - ALLOW_UNUSED_LOCAL(instanceTemplate);
|
| - v8::Local<v8::ObjectTemplate> prototypeTemplate = interfaceTemplate->PrototypeTemplate();
|
| - ALLOW_UNUSED_LOCAL(prototypeTemplate);
|
| - // Register DOM constants, attributes and operations.
|
| - V8DOMConfiguration::installAttributes(isolate, world, instanceTemplate, prototypeTemplate, V8TestInterfaceNamedConstructorAttributes, WTF_ARRAY_LENGTH(V8TestInterfaceNamedConstructorAttributes));
|
| +static void installV8TestInterfaceNamedConstructorTemplate(v8::Isolate* isolate, const DOMWrapperWorld& world, v8::Local<v8::FunctionTemplate> interfaceTemplate) {
|
| + // Initialize the interface object's template.
|
| + V8DOMConfiguration::initializeDOMInterfaceTemplate(isolate, interfaceTemplate, V8TestInterfaceNamedConstructor::wrapperTypeInfo.interfaceName, v8::Local<v8::FunctionTemplate>(), V8TestInterfaceNamedConstructor::internalFieldCount);
|
| + v8::Local<v8::Signature> signature = v8::Signature::New(isolate, interfaceTemplate);
|
| + ALLOW_UNUSED_LOCAL(signature);
|
| + v8::Local<v8::ObjectTemplate> instanceTemplate = interfaceTemplate->InstanceTemplate();
|
| + ALLOW_UNUSED_LOCAL(instanceTemplate);
|
| + v8::Local<v8::ObjectTemplate> prototypeTemplate = interfaceTemplate->PrototypeTemplate();
|
| + ALLOW_UNUSED_LOCAL(prototypeTemplate);
|
| + // Register DOM constants, attributes and operations.
|
| + V8DOMConfiguration::installAttributes(isolate, world, instanceTemplate, prototypeTemplate, V8TestInterfaceNamedConstructorAttributes, WTF_ARRAY_LENGTH(V8TestInterfaceNamedConstructorAttributes));
|
| }
|
|
|
| -v8::Local<v8::FunctionTemplate> V8TestInterfaceNamedConstructor::domTemplate(v8::Isolate* isolate, const DOMWrapperWorld& world)
|
| -{
|
| - return V8DOMConfiguration::domClassTemplate(isolate, world, const_cast<WrapperTypeInfo*>(&wrapperTypeInfo), installV8TestInterfaceNamedConstructorTemplate);
|
| +v8::Local<v8::FunctionTemplate> V8TestInterfaceNamedConstructor::domTemplate(v8::Isolate* isolate, const DOMWrapperWorld& world) {
|
| + return V8DOMConfiguration::domClassTemplate(isolate, world, const_cast<WrapperTypeInfo*>(&wrapperTypeInfo), installV8TestInterfaceNamedConstructorTemplate);
|
| }
|
|
|
| -bool V8TestInterfaceNamedConstructor::hasInstance(v8::Local<v8::Value> v8Value, v8::Isolate* isolate)
|
| -{
|
| - return V8PerIsolateData::from(isolate)->hasInstance(&wrapperTypeInfo, v8Value);
|
| +bool V8TestInterfaceNamedConstructor::hasInstance(v8::Local<v8::Value> v8Value, v8::Isolate* isolate) {
|
| + return V8PerIsolateData::from(isolate)->hasInstance(&wrapperTypeInfo, v8Value);
|
| }
|
|
|
| -v8::Local<v8::Object> V8TestInterfaceNamedConstructor::findInstanceInPrototypeChain(v8::Local<v8::Value> v8Value, v8::Isolate* isolate)
|
| -{
|
| - return V8PerIsolateData::from(isolate)->findInstanceInPrototypeChain(&wrapperTypeInfo, v8Value);
|
| +v8::Local<v8::Object> V8TestInterfaceNamedConstructor::findInstanceInPrototypeChain(v8::Local<v8::Value> v8Value, v8::Isolate* isolate) {
|
| + return V8PerIsolateData::from(isolate)->findInstanceInPrototypeChain(&wrapperTypeInfo, v8Value);
|
| }
|
|
|
| -TestInterfaceNamedConstructor* V8TestInterfaceNamedConstructor::toImplWithTypeCheck(v8::Isolate* isolate, v8::Local<v8::Value> value)
|
| -{
|
| - return hasInstance(value, isolate) ? toImpl(v8::Local<v8::Object>::Cast(value)) : nullptr;
|
| +TestInterfaceNamedConstructor* V8TestInterfaceNamedConstructor::toImplWithTypeCheck(v8::Isolate* isolate, v8::Local<v8::Value> value) {
|
| + return hasInstance(value, isolate) ? toImpl(v8::Local<v8::Object>::Cast(value)) : nullptr;
|
| }
|
|
|
| -} // namespace blink
|
| +} // namespace blink
|
|
|