Diff
Modified: trunk/LayoutTests/ChangeLog (208612 => 208613)
--- trunk/LayoutTests/ChangeLog 2016-11-11 22:52:40 UTC (rev 208612)
+++ trunk/LayoutTests/ChangeLog 2016-11-11 22:53:24 UTC (rev 208613)
@@ -1,3 +1,21 @@
+2016-11-11 Chris Dumez <cdu...@apple.com>
+
+ WorkerGlobalScope's indexedDB property should be on the prototype, not the instance
+ https://bugs.webkit.org/show_bug.cgi?id=164644
+
+ Reviewed by Brady Eidson.
+
+ Extend layout test coverage to check that:
+ - WorkerGlobalScope.indexedDB is on the prototype.
+ - WorkerGlobalScope.IDBDatabase constructor is on the instance
+
+ Both are enabled at runtime properties.
+
+ * fast/workers/WorkerGlobalScope-properties-prototype-expected.txt:
+ * fast/workers/WorkerGlobalScope-properties-prototype.html:
+ * fast/workers/self-hasOwnProperty-expected.txt:
+ * fast/workers/self-hasOwnProperty.html:
+
2016-11-11 Antti Koivisto <an...@apple.com>
Shadow DOM: Toggling class in `.class ::slotted(*)` does not trigger style recalc
Modified: trunk/LayoutTests/fast/workers/WorkerGlobalScope-properties-prototype-expected.txt (208612 => 208613)
--- trunk/LayoutTests/fast/workers/WorkerGlobalScope-properties-prototype-expected.txt 2016-11-11 22:52:40 UTC (rev 208612)
+++ trunk/LayoutTests/fast/workers/WorkerGlobalScope-properties-prototype-expected.txt 2016-11-11 22:53:24 UTC (rev 208613)
@@ -4,11 +4,14 @@
self.__proto__.__proto__ === WorkerGlobalScope.prototype: true
+self.__proto__.__proto__.__proto__ === EventTarget.prototype: true
+self.__proto__.__proto__.__proto__.__proto__ === {}.__proto__: true
self.__proto__.__proto__.hasOwnProperty('navigator') === true: true
self.__proto__.__proto__.hasOwnProperty('self') === true: true
self.__proto__.__proto__.hasOwnProperty('location') === true: true
self.__proto__.__proto__.hasOwnProperty('close') === true: true
self.__proto__.__proto__.hasOwnProperty('importScripts') === true: true
+self.__proto__.__proto__.hasOwnProperty('indexedDB') === true: true
self.hasOwnProperty('navigator') === false: true
self.hasOwnProperty('location') === false: true
self.hasOwnProperty('close') === false: true
Modified: trunk/LayoutTests/fast/workers/WorkerGlobalScope-properties-prototype.html (208612 => 208613)
--- trunk/LayoutTests/fast/workers/WorkerGlobalScope-properties-prototype.html 2016-11-11 22:52:40 UTC (rev 208612)
+++ trunk/LayoutTests/fast/workers/WorkerGlobalScope-properties-prototype.html 2016-11-11 22:53:24 UTC (rev 208613)
@@ -9,11 +9,14 @@
var worker = createWorker();
worker.postMessage("eval self.__proto__.__proto__ === WorkerGlobalScope.prototype");
+worker.postMessage("eval self.__proto__.__proto__.__proto__ === EventTarget.prototype");
+worker.postMessage("eval self.__proto__.__proto__.__proto__.__proto__ === {}.__proto__");
worker.postMessage("eval self.__proto__.__proto__.hasOwnProperty('navigator') === true");
worker.postMessage("eval self.__proto__.__proto__.hasOwnProperty('self') === true");
worker.postMessage("eval self.__proto__.__proto__.hasOwnProperty('location') === true");
worker.postMessage("eval self.__proto__.__proto__.hasOwnProperty('close') === true");
worker.postMessage("eval self.__proto__.__proto__.hasOwnProperty('importScripts') === true");
+worker.postMessage("eval self.__proto__.__proto__.hasOwnProperty('indexedDB') === true");
worker.postMessage("eval self.hasOwnProperty('navigator') === false");
worker.postMessage("eval self.hasOwnProperty('location') === false");
worker.postMessage("eval self.hasOwnProperty('close') === false");
Modified: trunk/LayoutTests/fast/workers/self-hasOwnProperty-expected.txt (208612 => 208613)
--- trunk/LayoutTests/fast/workers/self-hasOwnProperty-expected.txt 2016-11-11 22:52:40 UTC (rev 208612)
+++ trunk/LayoutTests/fast/workers/self-hasOwnProperty-expected.txt 2016-11-11 22:53:24 UTC (rev 208613)
@@ -6,6 +6,7 @@
self.hasOwnProperty('DedicatedWorkerGlobalScope'): true
self.hasOwnProperty('WorkerGlobalScope'): true
self.hasOwnProperty('postMessage'): true
+self.hasOwnProperty('IDBDatabase'): true
PASS successfullyParsed is true
TEST COMPLETE
Modified: trunk/LayoutTests/fast/workers/self-hasOwnProperty.html (208612 => 208613)
--- trunk/LayoutTests/fast/workers/self-hasOwnProperty.html 2016-11-11 22:52:40 UTC (rev 208612)
+++ trunk/LayoutTests/fast/workers/self-hasOwnProperty.html 2016-11-11 22:53:24 UTC (rev 208613)
@@ -11,6 +11,7 @@
worker.postMessage("eval self.hasOwnProperty('DedicatedWorkerGlobalScope')");
worker.postMessage("eval self.hasOwnProperty('WorkerGlobalScope')");
worker.postMessage("eval self.hasOwnProperty('postMessage')");
+worker.postMessage("eval self.hasOwnProperty('IDBDatabase')");
worker.postMessage("eval DONE");
worker._onmessage_ = function(evt) {
Modified: trunk/Source/WebCore/ChangeLog (208612 => 208613)
--- trunk/Source/WebCore/ChangeLog 2016-11-11 22:52:40 UTC (rev 208612)
+++ trunk/Source/WebCore/ChangeLog 2016-11-11 22:53:24 UTC (rev 208613)
@@ -1,3 +1,131 @@
+2016-11-11 Chris Dumez <cdu...@apple.com>
+
+ WorkerGlobalScope's indexedDB property should be on the prototype, not the instance
+ https://bugs.webkit.org/show_bug.cgi?id=164644
+
+ Reviewed by Brady Eidson.
+
+ WorkerGlobalScope's indexedDB property should be on the prototype, not the instance
+ as per:
+ - https://heycam.github.io/webidl/#es-attributes
+
+ This is because WorkerGlobalScope is not marked as [Global] or [PrimaryGlobal] in
+ the IDL:
+ - https://html.spec.whatwg.org/multipage/workers.html#the-workerglobalscope-common-interface
+
+ DedicatedWorkerGlobalScope is the one that is marked as [Global] and that should
+ have its attributes on the instance:
+ - https://html.spec.whatwg.org/multipage/workers.html#dedicated-workers-and-the-dedicatedworkerglobalscope-interface
+
+ We were getting this mostly right, except for runtime-enabled attributes / operations
+ which would end up on the instance instead of the prototype. This patch adds support
+ for [PrimaryGlobal] / [Global] IDL extended attributes which determine the location
+ of properties. It also improves support for runtime-enabled properties so that they
+ can now be on either the instance or the prototype, exactly as if they were not
+ runtimed-enabled.
+
+ This gives us 100% pass rate on:
+ - http://w3c-test.org/IndexedDB/interfaces.worker.html
+
+ No new tests, updated existing test.
+
+ * bindings/scripts/CodeGeneratorJS.pm:
+ (IsGlobalOrPrimaryGlobalInterface):
+ (InterfaceRequiresAttributesOnInstance):
+ (AttributeShouldBeOnInstance):
+ (OperationShouldBeOnInstance):
+ (GenerateHeader):
+ (GeneratePropertiesHashTable):
+ (GenerateImplementation):
+ * bindings/scripts/IDLAttributes.txt:
+ * bindings/scripts/test/JS/JSInterfaceName.cpp:
+ (WebCore::JSInterfaceName::finishCreation):
+ * bindings/scripts/test/JS/JSInterfaceName.h:
+ * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
+ (WebCore::JSTestActiveDOMObject::finishCreation):
+ * bindings/scripts/test/JS/JSTestActiveDOMObject.h:
+ * bindings/scripts/test/JS/JSTestCEReactions.cpp:
+ (WebCore::JSTestCEReactions::finishCreation):
+ * bindings/scripts/test/JS/JSTestCEReactions.h:
+ * bindings/scripts/test/JS/JSTestCEReactionsStringifier.cpp:
+ (WebCore::JSTestCEReactionsStringifier::finishCreation):
+ * bindings/scripts/test/JS/JSTestCEReactionsStringifier.h:
+ * bindings/scripts/test/JS/JSTestClassWithJSBuiltinConstructor.cpp:
+ (WebCore::JSTestClassWithJSBuiltinConstructor::finishCreation):
+ * bindings/scripts/test/JS/JSTestClassWithJSBuiltinConstructor.h:
+ * bindings/scripts/test/JS/JSTestCustomConstructorWithNoInterfaceObject.cpp:
+ (WebCore::JSTestCustomConstructorWithNoInterfaceObject::finishCreation):
+ * bindings/scripts/test/JS/JSTestCustomConstructorWithNoInterfaceObject.h:
+ * bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
+ (WebCore::JSTestCustomNamedGetter::finishCreation):
+ * bindings/scripts/test/JS/JSTestCustomNamedGetter.h:
+ * bindings/scripts/test/JS/JSTestDOMJIT.cpp:
+ (WebCore::JSTestDOMJIT::finishCreation):
+ * bindings/scripts/test/JS/JSTestDOMJIT.h:
+ * bindings/scripts/test/JS/JSTestEventConstructor.cpp:
+ (WebCore::JSTestEventConstructor::finishCreation):
+ * bindings/scripts/test/JS/JSTestEventConstructor.h:
+ * bindings/scripts/test/JS/JSTestEventTarget.cpp:
+ (WebCore::JSTestEventTarget::finishCreation):
+ * bindings/scripts/test/JS/JSTestEventTarget.h:
+ * bindings/scripts/test/JS/JSTestException.cpp:
+ (WebCore::JSTestException::finishCreation):
+ * bindings/scripts/test/JS/JSTestException.h:
+ * bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp:
+ (WebCore::JSTestGenerateIsReachable::finishCreation):
+ * bindings/scripts/test/JS/JSTestGenerateIsReachable.h:
+ * bindings/scripts/test/JS/JSTestGlobalObject.cpp:
+ (WebCore::JSTestGlobalObject::finishCreation):
+ * bindings/scripts/test/JS/JSTestGlobalObject.h:
+ * bindings/scripts/test/JS/JSTestInterface.cpp:
+ (WebCore::JSTestInterface::finishCreation):
+ * bindings/scripts/test/JS/JSTestInterface.h:
+ * bindings/scripts/test/JS/JSTestInterfaceLeadingUnderscore.cpp:
+ (WebCore::JSTestInterfaceLeadingUnderscore::finishCreation):
+ * bindings/scripts/test/JS/JSTestInterfaceLeadingUnderscore.h:
+ * bindings/scripts/test/JS/JSTestIterable.cpp:
+ (WebCore::JSTestIterable::finishCreation):
+ * bindings/scripts/test/JS/JSTestIterable.h:
+ * bindings/scripts/test/JS/JSTestJSBuiltinConstructor.cpp:
+ (WebCore::JSTestJSBuiltinConstructor::finishCreation):
+ * bindings/scripts/test/JS/JSTestJSBuiltinConstructor.h:
+ * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
+ (WebCore::JSTestMediaQueryListListener::finishCreation):
+ * bindings/scripts/test/JS/JSTestMediaQueryListListener.h:
+ * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
+ (WebCore::JSTestNamedConstructor::finishCreation):
+ * bindings/scripts/test/JS/JSTestNamedConstructor.h:
+ * bindings/scripts/test/JS/JSTestNode.cpp:
+ (WebCore::JSTestNode::finishCreation):
+ * bindings/scripts/test/JS/JSTestNode.h:
+ * bindings/scripts/test/JS/JSTestNondeterministic.cpp:
+ (WebCore::JSTestNondeterministic::finishCreation):
+ * bindings/scripts/test/JS/JSTestNondeterministic.h:
+ * bindings/scripts/test/JS/JSTestObj.cpp:
+ (WebCore::JSTestObj::finishCreation):
+ * bindings/scripts/test/JS/JSTestObj.h:
+ * bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
+ (WebCore::JSTestOverloadedConstructors::finishCreation):
+ * bindings/scripts/test/JS/JSTestOverloadedConstructors.h:
+ * bindings/scripts/test/JS/JSTestOverloadedConstructorsWithSequence.cpp:
+ (WebCore::JSTestOverloadedConstructorsWithSequence::finishCreation):
+ * bindings/scripts/test/JS/JSTestOverloadedConstructorsWithSequence.h:
+ * bindings/scripts/test/JS/JSTestOverrideBuiltins.cpp:
+ (WebCore::JSTestOverrideBuiltins::finishCreation):
+ * bindings/scripts/test/JS/JSTestOverrideBuiltins.h:
+ * bindings/scripts/test/JS/JSTestSerialization.cpp:
+ (WebCore::JSTestSerialization::finishCreation):
+ * bindings/scripts/test/JS/JSTestSerialization.h:
+ * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
+ (WebCore::JSTestSerializedScriptValueInterface::finishCreation):
+ * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
+ * bindings/scripts/test/JS/JSTestTypedefs.cpp:
+ (WebCore::JSTestTypedefs::finishCreation):
+ * bindings/scripts/test/JS/JSTestTypedefs.h:
+ * bindings/scripts/test/TestGlobalObject.idl:
+ * page/DOMWindow.idl:
+ * workers/DedicatedWorkerGlobalScope.idl:
+
2016-11-11 Antti Koivisto <an...@apple.com>
Shadow DOM: Toggling class in `.class ::slotted(*)` does not trigger style recalc
Modified: trunk/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm (208612 => 208613)
--- trunk/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm 2016-11-11 22:52:40 UTC (rev 208612)
+++ trunk/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm 2016-11-11 22:53:24 UTC (rev 208613)
@@ -648,6 +648,13 @@
|| InstanceOverridesGetOwnPropertySlot($interface);
}
+sub IsGlobalOrPrimaryGlobalInterface
+{
+ my $interface = shift;
+
+ return $interface->extendedAttributes->{Global} || $interface->extendedAttributes->{PrimaryGlobal};
+}
+
sub InterfaceRequiresAttributesOnInstance
{
my $interface = shift;
@@ -660,8 +667,7 @@
# FIXME: We should be able to drop this once <rdar://problem/24466097> is fixed.
return 1 if $interface->isException;
- # FIXME: Add support for [PrimaryGlobal] / [Global].
- return 1 if IsDOMGlobalObject($interface) && $interface->type->name ne "WorkerGlobalScope";
+ return 1 if IsGlobalOrPrimaryGlobalInterface($interface);
return 0;
}
@@ -671,9 +677,6 @@
my $interface = shift;
my $attribute = shift;
- # FIXME: The bindings generator does not support putting runtime-enabled attributes on the instance yet (except for global objects).
- return 0 if $attribute->extendedAttributes->{EnabledAtRuntime} && !IsDOMGlobalObject($interface);
-
return 1 if InterfaceRequiresAttributesOnInstance($interface);
return 1 if $codeGenerator->IsConstructorType($attribute->type);
@@ -696,8 +699,7 @@
my $interface = shift;
my $function = shift;
- # FIXME: Add support for [PrimaryGlobal] / [Global].
- return 1 if IsDOMGlobalObject($interface) && $interface->type->name ne "WorkerGlobalScope";
+ return 1 if IsGlobalOrPrimaryGlobalInterface($interface);
# FIXME: The bindings generator does not support putting runtime-enabled operations on the instance yet (except for global objects).
return 0 if $function->extendedAttributes->{EnabledAtRuntime};
@@ -1674,19 +1676,14 @@
push(@headerContent, " $className(JSC::Structure*, JSDOMGlobalObject&);\n\n");
} else {
push(@headerContent, " $className(JSC::Structure*, JSDOMGlobalObject&, Ref<$implType>&&);\n\n");
- push(@headerContent, " void finishCreation(JSC::VM& vm)\n");
- push(@headerContent, " {\n");
- push(@headerContent, " Base::finishCreation(vm);\n");
- push(@headerContent, " ASSERT(inherits(info()));\n");
- push(@headerContent, " }\n\n");
}
- if (IsDOMGlobalObject($interface)) {
- if ($interfaceName eq "DOMWindow") {
- push(@headerContent, " void finishCreation(JSC::VM&, JSDOMWindowShell*);\n");
- } else {
- push(@headerContent, " void finishCreation(JSC::VM&, JSC::JSProxy*);\n");
- }
+ if ($interfaceName eq "DOMWindow") {
+ push(@headerContent, " void finishCreation(JSC::VM&, JSDOMWindowShell*);\n");
+ } elsif ($codeGenerator->InheritsInterface($interface, "WorkerGlobalScope")) {
+ push(@headerContent, " void finishCreation(JSC::VM&, JSC::JSProxy*);\n");
+ } else {
+ push(@headerContent, " void finishCreation(JSC::VM&);\n");
}
push(@headerContent, " void indexSetter(JSC::ExecState*, unsigned index, JSC::JSValue);\n") if $interface->extendedAttributes->{CustomIndexedSetter};
@@ -1885,7 +1882,7 @@
next if AttributeShouldBeOnInstance($interface, $attribute) != $isInstance;
# Global objects add RuntimeEnabled attributes after creation so do not add them to the static table.
- if (IsDOMGlobalObject($interface) && $attribute->extendedAttributes->{EnabledAtRuntime}) {
+ if ($isInstance && $attribute->extendedAttributes->{EnabledAtRuntime}) {
$propertyCount -= 1;
next;
}
@@ -1915,7 +1912,6 @@
$conditionals->{$name} = $conditional if $conditional;
if ($attribute->extendedAttributes->{EnabledAtRuntime}) {
- die "We currently do not support [EnabledAtRuntime] attributes on the instance (except for global objects)." if $isInstance;
push(@$runtimeEnabledAttributes, $attribute);
}
}
@@ -1931,7 +1927,7 @@
next if $function->name eq "[Symbol.Iterator]";
# Global objects add RuntimeEnabled operations after creation so do not add them to the static table.
- if (IsDOMGlobalObject($interface) && $function->extendedAttributes->{EnabledAtRuntime}) {
+ if ($isInstance && $function->extendedAttributes->{EnabledAtRuntime}) {
$propertyCount -= 1;
next;
}
@@ -1959,7 +1955,6 @@
$conditionals->{$name} = $conditional if $conditional;
if ($function->extendedAttributes->{EnabledAtRuntime}) {
- die "We currently do not support [EnabledAtRuntime] operations on the instance (except for global objects)." if $isInstance;
push(@$runtimeEnabledFunctions, $function);
}
}
@@ -2913,7 +2908,7 @@
push(@implContent, "const ClassInfo ${className}Prototype::s_info = { \"${visibleInterfaceName}Prototype\", &Base::s_info, &${className}PrototypeTable, CREATE_METHOD_TABLE(${className}Prototype) };\n\n");
}
- if (PrototypeHasStaticPropertyTable($interface) && !IsDOMGlobalObject($interface)) {
+ if (PrototypeHasStaticPropertyTable($interface) && !IsGlobalOrPrimaryGlobalInterface($interface)) {
push(@implContent, "void ${className}Prototype::finishCreation(VM& vm)\n");
push(@implContent, "{\n");
push(@implContent, " Base::finishCreation(vm);\n");
@@ -3002,75 +2997,82 @@
push(@implContent, "}\n\n");
}
- if (IsDOMGlobalObject($interface)) {
- if ($interfaceName eq "DOMWindow") {
- push(@implContent, "void ${className}::finishCreation(VM& vm, JSDOMWindowShell* shell)\n");
- push(@implContent, "{\n");
- push(@implContent, " Base::finishCreation(vm, shell);\n\n");
- } else {
- push(@implContent, "void ${className}::finishCreation(VM& vm, JSProxy* proxy)\n");
- push(@implContent, "{\n");
- push(@implContent, " Base::finishCreation(vm, proxy);\n\n");
- }
- # Support for RuntimeEnabled attributes on global objects.
- foreach my $attribute (@{$interface->attributes}) {
- next unless $attribute->extendedAttributes->{EnabledAtRuntime};
+ if ($interfaceName eq "DOMWindow") {
+ push(@implContent, "void ${className}::finishCreation(VM& vm, JSDOMWindowShell* shell)\n");
+ push(@implContent, "{\n");
+ push(@implContent, " Base::finishCreation(vm, shell);\n\n");
+ } elsif ($codeGenerator->InheritsInterface($interface, "WorkerGlobalScope")) {
+ push(@implContent, "void ${className}::finishCreation(VM& vm, JSProxy* proxy)\n");
+ push(@implContent, "{\n");
+ push(@implContent, " Base::finishCreation(vm, proxy);\n\n");
+ } else {
+ push(@implContent, "void ${className}::finishCreation(VM& vm)\n");
+ push(@implContent, "{\n");
+ push(@implContent, " Base::finishCreation(vm);\n");
+ push(@implContent, " ASSERT(inherits(info()));\n\n");
+ }
- AddToImplIncludes("RuntimeEnabledFeatures.h");
- my $conditionalString = $codeGenerator->GenerateConditionalString($attribute);
- push(@implContent, "#if ${conditionalString}\n") if $conditionalString;
- my $enable_function = GetRuntimeEnableFunctionName($attribute);
- my $attributeName = $attribute->name;
- push(@implContent, " if (${enable_function}()) {\n");
- my $getter = GetAttributeGetterName($interface, $className, $attribute);
- my $setter = IsReadonly($attribute) ? "nullptr" : GetAttributeSetterName($interface, $className, $attribute);
- push(@implContent, " auto* customGetterSetter = CustomGetterSetter::create(vm, $getter, $setter);\n");
- my $jscAttributes = GetJSCAttributesForAttribute($interface, $attribute);
- push(@implContent, " putDirectCustomAccessor(vm, vm.propertyNames->$attributeName, customGetterSetter, attributesForStructure($jscAttributes));\n");
- push(@implContent, " }\n");
- push(@implContent, "#endif\n") if $conditionalString;
- }
+ # Support for RuntimeEnabled attributes on instances.
+ foreach my $attribute (@{$interface->attributes}) {
+ next unless $attribute->extendedAttributes->{EnabledAtRuntime};
+ next unless AttributeShouldBeOnInstance($interface, $attribute);
- # Support PrivateIdentifier attributes on global objects
- foreach my $attribute (@{$interface->attributes}) {
- next unless $attribute->extendedAttributes->{PrivateIdentifier};
+ AddToImplIncludes("RuntimeEnabledFeatures.h");
+ my $conditionalString = $codeGenerator->GenerateConditionalString($attribute);
+ push(@implContent, "#if ${conditionalString}\n") if $conditionalString;
+ my $enable_function = GetRuntimeEnableFunctionName($attribute);
+ my $attributeName = $attribute->name;
+ push(@implContent, " if (${enable_function}()) {\n");
+ my $getter = GetAttributeGetterName($interface, $className, $attribute);
+ my $setter = IsReadonly($attribute) ? "nullptr" : GetAttributeSetterName($interface, $className, $attribute);
+ push(@implContent, " auto* customGetterSetter = CustomGetterSetter::create(vm, $getter, $setter);\n");
+ my $jscAttributes = GetJSCAttributesForAttribute($interface, $attribute);
+ push(@implContent, " putDirectCustomAccessor(vm, vm.propertyNames->$attributeName, customGetterSetter, attributesForStructure($jscAttributes));\n");
+ push(@implContent, " }\n");
+ push(@implContent, "#endif\n") if $conditionalString;
+ }
- AddToImplIncludes("WebCoreJSClientData.h");
- my $conditionalString = $codeGenerator->GenerateConditionalString($attribute);
- my $attributeName = $attribute->name;
- my $getter = GetAttributeGetterName($interface, $className, $attribute);
+ # Support PrivateIdentifier attributes on instances.
+ foreach my $attribute (@{$interface->attributes}) {
+ next unless $attribute->extendedAttributes->{PrivateIdentifier};
+ next unless AttributeShouldBeOnInstance($interface, $attribute);
- push(@implContent, "#if ${conditionalString}\n") if $conditionalString;
- push(@implContent, " putDirectCustomAccessor(vm, static_cast<JSVMClientData*>(vm.clientData)->builtinNames()." . $attributeName . "PrivateName(), CustomGetterSetter::create(vm, $getter, nullptr), attributesForStructure(DontDelete | ReadOnly));\n");
- push(@implContent, "#endif\n") if $conditionalString;
- }
+ AddToImplIncludes("WebCoreJSClientData.h");
+ my $conditionalString = $codeGenerator->GenerateConditionalString($attribute);
+ my $attributeName = $attribute->name;
+ my $getter = GetAttributeGetterName($interface, $className, $attribute);
- # Support for RuntimeEnabled operations on global objects.
- foreach my $function (@{$interface->functions}) {
- next unless $function->extendedAttributes->{EnabledAtRuntime};
- next if $function->{overloadIndex} && $function->{overloadIndex} > 1;
+ push(@implContent, "#if ${conditionalString}\n") if $conditionalString;
+ push(@implContent, " putDirectCustomAccessor(vm, static_cast<JSVMClientData*>(vm.clientData)->builtinNames()." . $attributeName . "PrivateName(), CustomGetterSetter::create(vm, $getter, nullptr), attributesForStructure(DontDelete | ReadOnly));\n");
+ push(@implContent, "#endif\n") if $conditionalString;
+ }
- AddToImplIncludes("RuntimeEnabledFeatures.h");
- my $conditionalString = $codeGenerator->GenerateConditionalString($function);
- push(@implContent, "#if ${conditionalString}\n") if $conditionalString;
- my $enable_function = GetRuntimeEnableFunctionName($function);
- my $functionName = $function->name;
- my $implementationFunction = GetFunctionName($interface, $className, $function);
- my $functionLength = GetFunctionLength($function);
- my $jsAttributes = ComputeFunctionSpecial($interface, $function);
- push(@implContent, " if (${enable_function}())\n");
+ # Support for RuntimeEnabled operations on instances.
+ foreach my $function (@{$interface->functions}) {
+ next unless $function->extendedAttributes->{EnabledAtRuntime};
+ next unless OperationShouldBeOnInstance($interface, $function);
+ next if $function->{overloadIndex} && $function->{overloadIndex} > 1;
- my $propertyName = "vm.propertyNames->$functionName";
- $propertyName = "static_cast<JSVMClientData*>(vm.clientData)->builtinNames()." . $functionName . "PrivateName()" if $function->extendedAttributes->{PrivateIdentifier};
- if (IsJSBuiltin($interface, $function)) {
- push(@implContent, " putDirectBuiltinFunction(vm, this, $propertyName, $implementationFunction(vm), attributesForStructure($jsAttributes));\n");
- } else {
- push(@implContent, " putDirectNativeFunction(vm, this, $propertyName, $functionLength, $implementationFunction, NoIntrinsic, attributesForStructure($jsAttributes));\n");
- }
- push(@implContent, "#endif\n") if $conditionalString;
+ AddToImplIncludes("RuntimeEnabledFeatures.h");
+ my $conditionalString = $codeGenerator->GenerateConditionalString($function);
+ push(@implContent, "#if ${conditionalString}\n") if $conditionalString;
+ my $enable_function = GetRuntimeEnableFunctionName($function);
+ my $functionName = $function->name;
+ my $implementationFunction = GetFunctionName($interface, $className, $function);
+ my $functionLength = GetFunctionLength($function);
+ my $jsAttributes = ComputeFunctionSpecial($interface, $function);
+ push(@implContent, " if (${enable_function}())\n");
+
+ my $propertyName = "vm.propertyNames->$functionName";
+ $propertyName = "static_cast<JSVMClientData*>(vm.clientData)->builtinNames()." . $functionName . "PrivateName()" if $function->extendedAttributes->{PrivateIdentifier};
+ if (IsJSBuiltin($interface, $function)) {
+ push(@implContent, " putDirectBuiltinFunction(vm, this, $propertyName, $implementationFunction(vm), attributesForStructure($jsAttributes));\n");
+ } else {
+ push(@implContent, " putDirectNativeFunction(vm, this, $propertyName, $functionLength, $implementationFunction, NoIntrinsic, attributesForStructure($jsAttributes));\n");
}
- push(@implContent, "}\n\n");
+ push(@implContent, "#endif\n") if $conditionalString;
}
+ push(@implContent, "}\n\n");
unless (ShouldUseGlobalObjectPrototype($interface)) {
push(@implContent, "JSObject* ${className}::createPrototype(VM& vm, JSGlobalObject* globalObject)\n");
@@ -5994,7 +5996,7 @@
push(@$outputArray, " }\n");
if (PrototypeHasStaticPropertyTable($interface)) {
- if (IsDOMGlobalObject($interface)) {
+ if (IsGlobalOrPrimaryGlobalInterface($interface)) {
$structureFlags{"JSC::HasStaticPropertyTable"} = 1;
} else {
push(@$outputArray, "\n");
Modified: trunk/Source/WebCore/bindings/scripts/IDLAttributes.txt (208612 => 208613)
--- trunk/Source/WebCore/bindings/scripts/IDLAttributes.txt 2016-11-11 22:52:40 UTC (rev 208612)
+++ trunk/Source/WebCore/bindings/scripts/IDLAttributes.txt 2016-11-11 22:53:24 UTC (rev 208613)
@@ -68,6 +68,7 @@
GenerateIsReachable=|Impl|ImplWebGLRenderingContext|ImplDocument|ImplElementRoot|ImplFrame|ImplOwnerNodeRoot|ImplScriptExecutionContext
GetterMayThrowException
GetterMayThrowLegacyException
+Global=*
Immutable
ImplementedAs=*
ImplementationLacksVTable
@@ -101,6 +102,7 @@
NotEnumerable
OverrideBuiltins
PassContext
+PrimaryGlobal
PrivateIdentifier
PublicIdentifier
PutForwards=*
Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSInterfaceName.cpp (208612 => 208613)
--- trunk/Source/WebCore/bindings/scripts/test/JS/JSInterfaceName.cpp 2016-11-11 22:52:40 UTC (rev 208612)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSInterfaceName.cpp 2016-11-11 22:53:24 UTC (rev 208613)
@@ -99,6 +99,13 @@
{
}
+void JSInterfaceName::finishCreation(VM& vm)
+{
+ Base::finishCreation(vm);
+ ASSERT(inherits(info()));
+
+}
+
JSObject* JSInterfaceName::createPrototype(VM& vm, JSGlobalObject* globalObject)
{
return JSInterfaceNamePrototype::create(vm, globalObject, JSInterfaceNamePrototype::createStructure(vm, globalObject, globalObject->objectPrototype()));
Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSInterfaceName.h (208612 => 208613)
--- trunk/Source/WebCore/bindings/scripts/test/JS/JSInterfaceName.h 2016-11-11 22:52:40 UTC (rev 208612)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSInterfaceName.h 2016-11-11 22:53:24 UTC (rev 208613)
@@ -55,12 +55,7 @@
protected:
JSInterfaceName(JSC::Structure*, JSDOMGlobalObject&, Ref<InterfaceName>&&);
- void finishCreation(JSC::VM& vm)
- {
- Base::finishCreation(vm);
- ASSERT(inherits(info()));
- }
-
+ void finishCreation(JSC::VM&);
};
class JSInterfaceNameOwner : public JSC::WeakHandleOwner {
Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestActiveDOMObject.cpp (208612 => 208613)
--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestActiveDOMObject.cpp 2016-11-11 22:52:40 UTC (rev 208612)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestActiveDOMObject.cpp 2016-11-11 22:53:24 UTC (rev 208613)
@@ -125,6 +125,13 @@
{
}
+void JSTestActiveDOMObject::finishCreation(VM& vm)
+{
+ Base::finishCreation(vm);
+ ASSERT(inherits(info()));
+
+}
+
JSObject* JSTestActiveDOMObject::createPrototype(VM& vm, JSGlobalObject* globalObject)
{
return JSTestActiveDOMObjectPrototype::create(vm, globalObject, JSTestActiveDOMObjectPrototype::createStructure(vm, globalObject, globalObject->objectPrototype()));
Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestActiveDOMObject.h (208612 => 208613)
--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestActiveDOMObject.h 2016-11-11 22:52:40 UTC (rev 208612)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestActiveDOMObject.h 2016-11-11 22:53:24 UTC (rev 208613)
@@ -54,12 +54,7 @@
protected:
JSTestActiveDOMObject(JSC::Structure*, JSDOMGlobalObject&, Ref<TestActiveDOMObject>&&);
- void finishCreation(JSC::VM& vm)
- {
- Base::finishCreation(vm);
- ASSERT(inherits(info()));
- }
-
+ void finishCreation(JSC::VM&);
};
class JSTestActiveDOMObjectOwner : public JSC::WeakHandleOwner {
Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestCEReactions.cpp (208612 => 208613)
--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestCEReactions.cpp 2016-11-11 22:52:40 UTC (rev 208612)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestCEReactions.cpp 2016-11-11 22:53:24 UTC (rev 208613)
@@ -119,6 +119,13 @@
{
}
+void JSTestCEReactions::finishCreation(VM& vm)
+{
+ Base::finishCreation(vm);
+ ASSERT(inherits(info()));
+
+}
+
JSObject* JSTestCEReactions::createPrototype(VM& vm, JSGlobalObject* globalObject)
{
return JSTestCEReactionsPrototype::create(vm, globalObject, JSTestCEReactionsPrototype::createStructure(vm, globalObject, globalObject->objectPrototype()));
Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestCEReactions.h (208612 => 208613)
--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestCEReactions.h 2016-11-11 22:52:40 UTC (rev 208612)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestCEReactions.h 2016-11-11 22:53:24 UTC (rev 208613)
@@ -52,12 +52,7 @@
protected:
JSTestCEReactions(JSC::Structure*, JSDOMGlobalObject&, Ref<TestCEReactions>&&);
- void finishCreation(JSC::VM& vm)
- {
- Base::finishCreation(vm);
- ASSERT(inherits(info()));
- }
-
+ void finishCreation(JSC::VM&);
};
class JSTestCEReactionsOwner : public JSC::WeakHandleOwner {
Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestCEReactionsStringifier.cpp (208612 => 208613)
--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestCEReactionsStringifier.cpp 2016-11-11 22:52:40 UTC (rev 208612)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestCEReactionsStringifier.cpp 2016-11-11 22:53:24 UTC (rev 208613)
@@ -111,6 +111,13 @@
{
}
+void JSTestCEReactionsStringifier::finishCreation(VM& vm)
+{
+ Base::finishCreation(vm);
+ ASSERT(inherits(info()));
+
+}
+
JSObject* JSTestCEReactionsStringifier::createPrototype(VM& vm, JSGlobalObject* globalObject)
{
return JSTestCEReactionsStringifierPrototype::create(vm, globalObject, JSTestCEReactionsStringifierPrototype::createStructure(vm, globalObject, globalObject->objectPrototype()));
Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestCEReactionsStringifier.h (208612 => 208613)
--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestCEReactionsStringifier.h 2016-11-11 22:52:40 UTC (rev 208612)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestCEReactionsStringifier.h 2016-11-11 22:53:24 UTC (rev 208613)
@@ -52,12 +52,7 @@
protected:
JSTestCEReactionsStringifier(JSC::Structure*, JSDOMGlobalObject&, Ref<TestCEReactionsStringifier>&&);
- void finishCreation(JSC::VM& vm)
- {
- Base::finishCreation(vm);
- ASSERT(inherits(info()));
- }
-
+ void finishCreation(JSC::VM&);
};
class JSTestCEReactionsStringifierOwner : public JSC::WeakHandleOwner {
Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestClassWithJSBuiltinConstructor.cpp (208612 => 208613)
--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestClassWithJSBuiltinConstructor.cpp 2016-11-11 22:52:40 UTC (rev 208612)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestClassWithJSBuiltinConstructor.cpp 2016-11-11 22:53:24 UTC (rev 208613)
@@ -105,6 +105,13 @@
{
}
+void JSTestClassWithJSBuiltinConstructor::finishCreation(VM& vm)
+{
+ Base::finishCreation(vm);
+ ASSERT(inherits(info()));
+
+}
+
JSObject* JSTestClassWithJSBuiltinConstructor::createPrototype(VM& vm, JSGlobalObject* globalObject)
{
return JSTestClassWithJSBuiltinConstructorPrototype::create(vm, globalObject, JSTestClassWithJSBuiltinConstructorPrototype::createStructure(vm, globalObject, globalObject->objectPrototype()));
Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestClassWithJSBuiltinConstructor.h (208612 => 208613)
--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestClassWithJSBuiltinConstructor.h 2016-11-11 22:52:40 UTC (rev 208612)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestClassWithJSBuiltinConstructor.h 2016-11-11 22:53:24 UTC (rev 208613)
@@ -54,12 +54,7 @@
protected:
JSTestClassWithJSBuiltinConstructor(JSC::Structure*, JSDOMGlobalObject&, Ref<TestClassWithJSBuiltinConstructor>&&);
- void finishCreation(JSC::VM& vm)
- {
- Base::finishCreation(vm);
- ASSERT(inherits(info()));
- }
-
+ void finishCreation(JSC::VM&);
};
class JSTestClassWithJSBuiltinConstructorOwner : public JSC::WeakHandleOwner {
Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestCustomConstructorWithNoInterfaceObject.cpp (208612 => 208613)
--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestCustomConstructorWithNoInterfaceObject.cpp 2016-11-11 22:52:40 UTC (rev 208612)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestCustomConstructorWithNoInterfaceObject.cpp 2016-11-11 22:53:24 UTC (rev 208613)
@@ -105,6 +105,13 @@
{
}
+void JSTestCustomConstructorWithNoInterfaceObject::finishCreation(VM& vm)
+{
+ Base::finishCreation(vm);
+ ASSERT(inherits(info()));
+
+}
+
JSObject* JSTestCustomConstructorWithNoInterfaceObject::createPrototype(VM& vm, JSGlobalObject* globalObject)
{
return JSTestCustomConstructorWithNoInterfaceObjectPrototype::create(vm, globalObject, JSTestCustomConstructorWithNoInterfaceObjectPrototype::createStructure(vm, globalObject, globalObject->objectPrototype()));
Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestCustomConstructorWithNoInterfaceObject.h (208612 => 208613)
--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestCustomConstructorWithNoInterfaceObject.h 2016-11-11 22:52:40 UTC (rev 208612)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestCustomConstructorWithNoInterfaceObject.h 2016-11-11 22:53:24 UTC (rev 208613)
@@ -51,12 +51,7 @@
protected:
JSTestCustomConstructorWithNoInterfaceObject(JSC::Structure*, JSDOMGlobalObject&, Ref<TestCustomConstructorWithNoInterfaceObject>&&);
- void finishCreation(JSC::VM& vm)
- {
- Base::finishCreation(vm);
- ASSERT(inherits(info()));
- }
-
+ void finishCreation(JSC::VM&);
};
class JSTestCustomConstructorWithNoInterfaceObjectOwner : public JSC::WeakHandleOwner {
Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp (208612 => 208613)
--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp 2016-11-11 22:52:40 UTC (rev 208612)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp 2016-11-11 22:53:24 UTC (rev 208613)
@@ -108,6 +108,13 @@
{
}
+void JSTestCustomNamedGetter::finishCreation(VM& vm)
+{
+ Base::finishCreation(vm);
+ ASSERT(inherits(info()));
+
+}
+
JSObject* JSTestCustomNamedGetter::createPrototype(VM& vm, JSGlobalObject* globalObject)
{
return JSTestCustomNamedGetterPrototype::create(vm, globalObject, JSTestCustomNamedGetterPrototype::createStructure(vm, globalObject, globalObject->objectPrototype()));
Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestCustomNamedGetter.h (208612 => 208613)
--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestCustomNamedGetter.h 2016-11-11 22:52:40 UTC (rev 208612)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestCustomNamedGetter.h 2016-11-11 22:53:24 UTC (rev 208613)
@@ -56,12 +56,7 @@
protected:
JSTestCustomNamedGetter(JSC::Structure*, JSDOMGlobalObject&, Ref<TestCustomNamedGetter>&&);
- void finishCreation(JSC::VM& vm)
- {
- Base::finishCreation(vm);
- ASSERT(inherits(info()));
- }
-
+ void finishCreation(JSC::VM&);
private:
bool nameGetter(JSC::ExecState*, JSC::PropertyName, JSC::JSValue&);
};
Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestDOMJIT.cpp (208612 => 208613)
--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestDOMJIT.cpp 2016-11-11 22:52:40 UTC (rev 208612)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestDOMJIT.cpp 2016-11-11 22:53:24 UTC (rev 208613)
@@ -228,6 +228,13 @@
{
}
+void JSTestDOMJIT::finishCreation(VM& vm)
+{
+ Base::finishCreation(vm);
+ ASSERT(inherits(info()));
+
+}
+
JSObject* JSTestDOMJIT::createPrototype(VM& vm, JSGlobalObject* globalObject)
{
return JSTestDOMJITPrototype::create(vm, globalObject, JSTestDOMJITPrototype::createStructure(vm, globalObject, JSNode::prototype(vm, globalObject)));
Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestDOMJIT.h (208612 => 208613)
--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestDOMJIT.h 2016-11-11 22:52:40 UTC (rev 208612)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestDOMJIT.h 2016-11-11 22:53:24 UTC (rev 208613)
@@ -57,12 +57,7 @@
protected:
JSTestDOMJIT(JSC::Structure*, JSDOMGlobalObject&, Ref<TestDOMJIT>&&);
- void finishCreation(JSC::VM& vm)
- {
- Base::finishCreation(vm);
- ASSERT(inherits(info()));
- }
-
+ void finishCreation(JSC::VM&);
};
Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestEventConstructor.cpp (208612 => 208613)
--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestEventConstructor.cpp 2016-11-11 22:52:40 UTC (rev 208612)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestEventConstructor.cpp 2016-11-11 22:53:24 UTC (rev 208613)
@@ -176,6 +176,13 @@
{
}
+void JSTestEventConstructor::finishCreation(VM& vm)
+{
+ Base::finishCreation(vm);
+ ASSERT(inherits(info()));
+
+}
+
JSObject* JSTestEventConstructor::createPrototype(VM& vm, JSGlobalObject* globalObject)
{
return JSTestEventConstructorPrototype::create(vm, globalObject, JSTestEventConstructorPrototype::createStructure(vm, globalObject, JSEvent::prototype(vm, globalObject)));
Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestEventConstructor.h (208612 => 208613)
--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestEventConstructor.h 2016-11-11 22:52:40 UTC (rev 208612)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestEventConstructor.h 2016-11-11 22:53:24 UTC (rev 208613)
@@ -55,12 +55,7 @@
protected:
JSTestEventConstructor(JSC::Structure*, JSDOMGlobalObject&, Ref<TestEventConstructor>&&);
- void finishCreation(JSC::VM& vm)
- {
- Base::finishCreation(vm);
- ASSERT(inherits(info()));
- }
-
+ void finishCreation(JSC::VM&);
};
JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, TestEventConstructor&);
Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestEventTarget.cpp (208612 => 208613)
--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestEventTarget.cpp 2016-11-11 22:52:40 UTC (rev 208612)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestEventTarget.cpp 2016-11-11 22:53:24 UTC (rev 208613)
@@ -108,6 +108,13 @@
{
}
+void JSTestEventTarget::finishCreation(VM& vm)
+{
+ Base::finishCreation(vm);
+ ASSERT(inherits(info()));
+
+}
+
JSObject* JSTestEventTarget::createPrototype(VM& vm, JSGlobalObject* globalObject)
{
return JSTestEventTargetPrototype::create(vm, globalObject, JSTestEventTargetPrototype::createStructure(vm, globalObject, JSEventTarget::prototype(vm, globalObject)));
Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestEventTarget.h (208612 => 208613)
--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestEventTarget.h 2016-11-11 22:52:40 UTC (rev 208612)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestEventTarget.h 2016-11-11 22:53:24 UTC (rev 208613)
@@ -63,12 +63,7 @@
protected:
JSTestEventTarget(JSC::Structure*, JSDOMGlobalObject&, Ref<TestEventTarget>&&);
- void finishCreation(JSC::VM& vm)
- {
- Base::finishCreation(vm);
- ASSERT(inherits(info()));
- }
-
+ void finishCreation(JSC::VM&);
private:
bool nameGetter(JSC::ExecState*, JSC::PropertyName, JSC::JSValue&);
};
Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestException.cpp (208612 => 208613)
--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestException.cpp 2016-11-11 22:52:40 UTC (rev 208612)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestException.cpp 2016-11-11 22:53:24 UTC (rev 208613)
@@ -115,6 +115,13 @@
{
}
+void JSTestException::finishCreation(VM& vm)
+{
+ Base::finishCreation(vm);
+ ASSERT(inherits(info()));
+
+}
+
JSObject* JSTestException::createPrototype(VM& vm, JSGlobalObject* globalObject)
{
return JSTestExceptionPrototype::create(vm, globalObject, JSTestExceptionPrototype::createStructure(vm, globalObject, globalObject->errorPrototype()));
Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestException.h (208612 => 208613)
--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestException.h 2016-11-11 22:52:40 UTC (rev 208612)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestException.h 2016-11-11 22:53:24 UTC (rev 208613)
@@ -55,12 +55,7 @@
protected:
JSTestException(JSC::Structure*, JSDOMGlobalObject&, Ref<TestException>&&);
- void finishCreation(JSC::VM& vm)
- {
- Base::finishCreation(vm);
- ASSERT(inherits(info()));
- }
-
+ void finishCreation(JSC::VM&);
};
class JSTestExceptionOwner : public JSC::WeakHandleOwner {
Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp (208612 => 208613)
--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp 2016-11-11 22:52:40 UTC (rev 208612)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp 2016-11-11 22:53:24 UTC (rev 208613)
@@ -99,6 +99,13 @@
{
}
+void JSTestGenerateIsReachable::finishCreation(VM& vm)
+{
+ Base::finishCreation(vm);
+ ASSERT(inherits(info()));
+
+}
+
JSObject* JSTestGenerateIsReachable::createPrototype(VM& vm, JSGlobalObject* globalObject)
{
return JSTestGenerateIsReachablePrototype::create(vm, globalObject, JSTestGenerateIsReachablePrototype::createStructure(vm, globalObject, globalObject->objectPrototype()));
Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestGenerateIsReachable.h (208612 => 208613)
--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestGenerateIsReachable.h 2016-11-11 22:52:40 UTC (rev 208612)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestGenerateIsReachable.h 2016-11-11 22:53:24 UTC (rev 208613)
@@ -52,12 +52,7 @@
protected:
JSTestGenerateIsReachable(JSC::Structure*, JSDOMGlobalObject&, Ref<TestGenerateIsReachable>&&);
- void finishCreation(JSC::VM& vm)
- {
- Base::finishCreation(vm);
- ASSERT(inherits(info()));
- }
-
+ void finishCreation(JSC::VM&);
};
class JSTestGenerateIsReachableOwner : public JSC::WeakHandleOwner {
Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestGlobalObject.cpp (208612 => 208613)
--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestGlobalObject.cpp 2016-11-11 22:52:40 UTC (rev 208612)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestGlobalObject.cpp 2016-11-11 22:53:24 UTC (rev 208613)
@@ -141,9 +141,10 @@
{
}
-void JSTestGlobalObject::finishCreation(VM& vm, JSProxy* proxy)
+void JSTestGlobalObject::finishCreation(VM& vm)
{
- Base::finishCreation(vm, proxy);
+ Base::finishCreation(vm);
+ ASSERT(inherits(info()));
#if ENABLE(TEST_FEATURE)
if (RuntimeEnabledFeatures::sharedFeatures().testFeatureEnabled()) {
Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestGlobalObject.h (208612 => 208613)
--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestGlobalObject.h 2016-11-11 22:52:40 UTC (rev 208612)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestGlobalObject.h 2016-11-11 22:53:24 UTC (rev 208613)
@@ -56,13 +56,7 @@
protected:
JSTestGlobalObject(JSC::Structure*, JSDOMGlobalObject&, Ref<TestGlobalObject>&&);
- void finishCreation(JSC::VM& vm)
- {
- Base::finishCreation(vm);
- ASSERT(inherits(info()));
- }
-
- void finishCreation(JSC::VM&, JSC::JSProxy*);
+ void finishCreation(JSC::VM&);
};
class JSTestGlobalObjectOwner : public JSC::WeakHandleOwner {
Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestInterface.cpp (208612 => 208613)
--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestInterface.cpp 2016-11-11 22:52:40 UTC (rev 208612)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestInterface.cpp 2016-11-11 22:53:24 UTC (rev 208613)
@@ -381,6 +381,13 @@
{
}
+void JSTestInterface::finishCreation(VM& vm)
+{
+ Base::finishCreation(vm);
+ ASSERT(inherits(info()));
+
+}
+
JSObject* JSTestInterface::createPrototype(VM& vm, JSGlobalObject* globalObject)
{
return JSTestInterfacePrototype::create(vm, globalObject, JSTestInterfacePrototype::createStructure(vm, globalObject, globalObject->objectPrototype()));
Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestInterface.h (208612 => 208613)
--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestInterface.h 2016-11-11 22:52:40 UTC (rev 208612)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestInterface.h 2016-11-11 22:53:24 UTC (rev 208613)
@@ -79,12 +79,7 @@
protected:
JSTestInterface(JSC::Structure*, JSDOMGlobalObject&, Ref<TestInterface>&&);
- void finishCreation(JSC::VM& vm)
- {
- Base::finishCreation(vm);
- ASSERT(inherits(info()));
- }
-
+ void finishCreation(JSC::VM&);
};
class JSTestInterfaceOwner : public JSC::WeakHandleOwner {
Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestInterfaceLeadingUnderscore.cpp (208612 => 208613)
--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestInterfaceLeadingUnderscore.cpp 2016-11-11 22:52:40 UTC (rev 208612)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestInterfaceLeadingUnderscore.cpp 2016-11-11 22:53:24 UTC (rev 208613)
@@ -102,6 +102,13 @@
{
}
+void JSTestInterfaceLeadingUnderscore::finishCreation(VM& vm)
+{
+ Base::finishCreation(vm);
+ ASSERT(inherits(info()));
+
+}
+
JSObject* JSTestInterfaceLeadingUnderscore::createPrototype(VM& vm, JSGlobalObject* globalObject)
{
return JSTestInterfaceLeadingUnderscorePrototype::create(vm, globalObject, JSTestInterfaceLeadingUnderscorePrototype::createStructure(vm, globalObject, globalObject->objectPrototype()));
Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestInterfaceLeadingUnderscore.h (208612 => 208613)
--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestInterfaceLeadingUnderscore.h 2016-11-11 22:52:40 UTC (rev 208612)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestInterfaceLeadingUnderscore.h 2016-11-11 22:53:24 UTC (rev 208613)
@@ -52,12 +52,7 @@
protected:
JSTestInterfaceLeadingUnderscore(JSC::Structure*, JSDOMGlobalObject&, Ref<TestInterfaceLeadingUnderscore>&&);
- void finishCreation(JSC::VM& vm)
- {
- Base::finishCreation(vm);
- ASSERT(inherits(info()));
- }
-
+ void finishCreation(JSC::VM&);
};
class JSTestInterfaceLeadingUnderscoreOwner : public JSC::WeakHandleOwner {
Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestIterable.cpp (208612 => 208613)
--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestIterable.cpp 2016-11-11 22:52:40 UTC (rev 208612)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestIterable.cpp 2016-11-11 22:53:24 UTC (rev 208613)
@@ -113,6 +113,13 @@
{
}
+void JSTestIterable::finishCreation(VM& vm)
+{
+ Base::finishCreation(vm);
+ ASSERT(inherits(info()));
+
+}
+
JSObject* JSTestIterable::createPrototype(VM& vm, JSGlobalObject* globalObject)
{
return JSTestIterablePrototype::create(vm, globalObject, JSTestIterablePrototype::createStructure(vm, globalObject, globalObject->objectPrototype()));
Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestIterable.h (208612 => 208613)
--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestIterable.h 2016-11-11 22:52:40 UTC (rev 208612)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestIterable.h 2016-11-11 22:53:24 UTC (rev 208613)
@@ -52,12 +52,7 @@
protected:
JSTestIterable(JSC::Structure*, JSDOMGlobalObject&, Ref<TestIterable>&&);
- void finishCreation(JSC::VM& vm)
- {
- Base::finishCreation(vm);
- ASSERT(inherits(info()));
- }
-
+ void finishCreation(JSC::VM&);
};
class JSTestIterableOwner : public JSC::WeakHandleOwner {
Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestJSBuiltinConstructor.cpp (208612 => 208613)
--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestJSBuiltinConstructor.cpp 2016-11-11 22:52:40 UTC (rev 208612)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestJSBuiltinConstructor.cpp 2016-11-11 22:53:24 UTC (rev 208613)
@@ -116,6 +116,13 @@
JSTestJSBuiltinConstructor::JSTestJSBuiltinConstructor(Structure* structure, JSDOMGlobalObject& globalObject)
: JSDOMObject(structure, globalObject) { }
+void JSTestJSBuiltinConstructor::finishCreation(VM& vm)
+{
+ Base::finishCreation(vm);
+ ASSERT(inherits(info()));
+
+}
+
JSObject* JSTestJSBuiltinConstructor::createPrototype(VM& vm, JSGlobalObject* globalObject)
{
return JSTestJSBuiltinConstructorPrototype::create(vm, globalObject, JSTestJSBuiltinConstructorPrototype::createStructure(vm, globalObject, globalObject->objectPrototype()));
Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestJSBuiltinConstructor.h (208612 => 208613)
--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestJSBuiltinConstructor.h 2016-11-11 22:52:40 UTC (rev 208612)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestJSBuiltinConstructor.h 2016-11-11 22:53:24 UTC (rev 208613)
@@ -59,6 +59,7 @@
protected:
JSTestJSBuiltinConstructor(JSC::Structure*, JSDOMGlobalObject&);
+ void finishCreation(JSC::VM&);
};
Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp (208612 => 208613)
--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp 2016-11-11 22:52:40 UTC (rev 208612)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp 2016-11-11 22:53:24 UTC (rev 208613)
@@ -107,6 +107,13 @@
{
}
+void JSTestMediaQueryListListener::finishCreation(VM& vm)
+{
+ Base::finishCreation(vm);
+ ASSERT(inherits(info()));
+
+}
+
JSObject* JSTestMediaQueryListListener::createPrototype(VM& vm, JSGlobalObject* globalObject)
{
return JSTestMediaQueryListListenerPrototype::create(vm, globalObject, JSTestMediaQueryListListenerPrototype::createStructure(vm, globalObject, globalObject->objectPrototype()));
Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestMediaQueryListListener.h (208612 => 208613)
--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestMediaQueryListListener.h 2016-11-11 22:52:40 UTC (rev 208612)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestMediaQueryListListener.h 2016-11-11 22:53:24 UTC (rev 208613)
@@ -52,12 +52,7 @@
protected:
JSTestMediaQueryListListener(JSC::Structure*, JSDOMGlobalObject&, Ref<TestMediaQueryListListener>&&);
- void finishCreation(JSC::VM& vm)
- {
- Base::finishCreation(vm);
- ASSERT(inherits(info()));
- }
-
+ void finishCreation(JSC::VM&);
};
class JSTestMediaQueryListListenerOwner : public JSC::WeakHandleOwner {
Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNamedConstructor.cpp (208612 => 208613)
--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNamedConstructor.cpp 2016-11-11 22:52:40 UTC (rev 208612)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNamedConstructor.cpp 2016-11-11 22:53:24 UTC (rev 208613)
@@ -142,6 +142,13 @@
{
}
+void JSTestNamedConstructor::finishCreation(VM& vm)
+{
+ Base::finishCreation(vm);
+ ASSERT(inherits(info()));
+
+}
+
JSObject* JSTestNamedConstructor::createPrototype(VM& vm, JSGlobalObject* globalObject)
{
return JSTestNamedConstructorPrototype::create(vm, globalObject, JSTestNamedConstructorPrototype::createStructure(vm, globalObject, globalObject->objectPrototype()));
Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNamedConstructor.h (208612 => 208613)
--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNamedConstructor.h 2016-11-11 22:52:40 UTC (rev 208612)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNamedConstructor.h 2016-11-11 22:53:24 UTC (rev 208613)
@@ -53,12 +53,7 @@
protected:
JSTestNamedConstructor(JSC::Structure*, JSDOMGlobalObject&, Ref<TestNamedConstructor>&&);
- void finishCreation(JSC::VM& vm)
- {
- Base::finishCreation(vm);
- ASSERT(inherits(info()));
- }
-
+ void finishCreation(JSC::VM&);
};
class JSTestNamedConstructorOwner : public JSC::WeakHandleOwner {
Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNode.cpp (208612 => 208613)
--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNode.cpp 2016-11-11 22:52:40 UTC (rev 208612)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNode.cpp 2016-11-11 22:53:24 UTC (rev 208613)
@@ -156,6 +156,13 @@
{
}
+void JSTestNode::finishCreation(VM& vm)
+{
+ Base::finishCreation(vm);
+ ASSERT(inherits(info()));
+
+}
+
JSObject* JSTestNode::createPrototype(VM& vm, JSGlobalObject* globalObject)
{
return JSTestNodePrototype::create(vm, globalObject, JSTestNodePrototype::createStructure(vm, globalObject, JSNode::prototype(vm, globalObject)));
Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNode.h (208612 => 208613)
--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNode.h 2016-11-11 22:52:40 UTC (rev 208612)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNode.h 2016-11-11 22:53:24 UTC (rev 208613)
@@ -56,12 +56,7 @@
protected:
JSTestNode(JSC::Structure*, JSDOMGlobalObject&, Ref<TestNode>&&);
- void finishCreation(JSC::VM& vm)
- {
- Base::finishCreation(vm);
- ASSERT(inherits(info()));
- }
-
+ void finishCreation(JSC::VM&);
};
WEBCORE_TESTSUPPORT_EXPORT JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, TestNode&);
Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNondeterministic.cpp (208612 => 208613)
--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNondeterministic.cpp 2016-11-11 22:52:40 UTC (rev 208612)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNondeterministic.cpp 2016-11-11 22:53:24 UTC (rev 208613)
@@ -126,6 +126,13 @@
{
}
+void JSTestNondeterministic::finishCreation(VM& vm)
+{
+ Base::finishCreation(vm);
+ ASSERT(inherits(info()));
+
+}
+
JSObject* JSTestNondeterministic::createPrototype(VM& vm, JSGlobalObject* globalObject)
{
return JSTestNondeterministicPrototype::create(vm, globalObject, JSTestNondeterministicPrototype::createStructure(vm, globalObject, globalObject->objectPrototype()));
Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNondeterministic.h (208612 => 208613)
--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNondeterministic.h 2016-11-11 22:52:40 UTC (rev 208612)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNondeterministic.h 2016-11-11 22:53:24 UTC (rev 208613)
@@ -52,12 +52,7 @@
protected:
JSTestNondeterministic(JSC::Structure*, JSDOMGlobalObject&, Ref<TestNondeterministic>&&);
- void finishCreation(JSC::VM& vm)
- {
- Base::finishCreation(vm);
- ASSERT(inherits(info()));
- }
-
+ void finishCreation(JSC::VM&);
};
class JSTestNondeterministicOwner : public JSC::WeakHandleOwner {
Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestObj.cpp (208612 => 208613)
--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestObj.cpp 2016-11-11 22:52:40 UTC (rev 208612)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestObj.cpp 2016-11-11 22:53:24 UTC (rev 208613)
@@ -1761,6 +1761,13 @@
{
}
+void JSTestObj::finishCreation(VM& vm)
+{
+ Base::finishCreation(vm);
+ ASSERT(inherits(info()));
+
+}
+
JSObject* JSTestObj::createPrototype(VM& vm, JSGlobalObject* globalObject)
{
return JSTestObjPrototype::create(vm, globalObject, JSTestObjPrototype::createStructure(vm, globalObject, globalObject->objectPrototype()));
Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestObj.h (208612 => 208613)
--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestObj.h 2016-11-11 22:52:40 UTC (rev 208612)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestObj.h 2016-11-11 22:53:24 UTC (rev 208613)
@@ -72,12 +72,7 @@
protected:
JSTestObj(JSC::Structure*, JSDOMGlobalObject&, Ref<TestObj>&&);
- void finishCreation(JSC::VM& vm)
- {
- Base::finishCreation(vm);
- ASSERT(inherits(info()));
- }
-
+ void finishCreation(JSC::VM&);
};
class JSTestObjOwner : public JSC::WeakHandleOwner {
Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp (208612 => 208613)
--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp 2016-11-11 22:52:40 UTC (rev 208612)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp 2016-11-11 22:53:24 UTC (rev 208613)
@@ -200,6 +200,13 @@
{
}
+void JSTestOverloadedConstructors::finishCreation(VM& vm)
+{
+ Base::finishCreation(vm);
+ ASSERT(inherits(info()));
+
+}
+
JSObject* JSTestOverloadedConstructors::createPrototype(VM& vm, JSGlobalObject* globalObject)
{
return JSTestOverloadedConstructorsPrototype::create(vm, globalObject, JSTestOverloadedConstructorsPrototype::createStructure(vm, globalObject, globalObject->objectPrototype()));
Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestOverloadedConstructors.h (208612 => 208613)
--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestOverloadedConstructors.h 2016-11-11 22:52:40 UTC (rev 208612)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestOverloadedConstructors.h 2016-11-11 22:53:24 UTC (rev 208613)
@@ -52,12 +52,7 @@
protected:
JSTestOverloadedConstructors(JSC::Structure*, JSDOMGlobalObject&, Ref<TestOverloadedConstructors>&&);
- void finishCreation(JSC::VM& vm)
- {
- Base::finishCreation(vm);
- ASSERT(inherits(info()));
- }
-
+ void finishCreation(JSC::VM&);
};
class JSTestOverloadedConstructorsOwner : public JSC::WeakHandleOwner {
Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestOverloadedConstructorsWithSequence.cpp (208612 => 208613)
--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestOverloadedConstructorsWithSequence.cpp 2016-11-11 22:52:40 UTC (rev 208612)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestOverloadedConstructorsWithSequence.cpp 2016-11-11 22:53:24 UTC (rev 208613)
@@ -151,6 +151,13 @@
{
}
+void JSTestOverloadedConstructorsWithSequence::finishCreation(VM& vm)
+{
+ Base::finishCreation(vm);
+ ASSERT(inherits(info()));
+
+}
+
JSObject* JSTestOverloadedConstructorsWithSequence::createPrototype(VM& vm, JSGlobalObject* globalObject)
{
return JSTestOverloadedConstructorsWithSequencePrototype::create(vm, globalObject, JSTestOverloadedConstructorsWithSequencePrototype::createStructure(vm, globalObject, globalObject->objectPrototype()));
Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestOverloadedConstructorsWithSequence.h (208612 => 208613)
--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestOverloadedConstructorsWithSequence.h 2016-11-11 22:52:40 UTC (rev 208612)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestOverloadedConstructorsWithSequence.h 2016-11-11 22:53:24 UTC (rev 208613)
@@ -52,12 +52,7 @@
protected:
JSTestOverloadedConstructorsWithSequence(JSC::Structure*, JSDOMGlobalObject&, Ref<TestOverloadedConstructorsWithSequence>&&);
- void finishCreation(JSC::VM& vm)
- {
- Base::finishCreation(vm);
- ASSERT(inherits(info()));
- }
-
+ void finishCreation(JSC::VM&);
};
class JSTestOverloadedConstructorsWithSequenceOwner : public JSC::WeakHandleOwner {
Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestOverrideBuiltins.cpp (208612 => 208613)
--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestOverrideBuiltins.cpp 2016-11-11 22:52:40 UTC (rev 208612)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestOverrideBuiltins.cpp 2016-11-11 22:53:24 UTC (rev 208613)
@@ -109,6 +109,13 @@
{
}
+void JSTestOverrideBuiltins::finishCreation(VM& vm)
+{
+ Base::finishCreation(vm);
+ ASSERT(inherits(info()));
+
+}
+
JSObject* JSTestOverrideBuiltins::createPrototype(VM& vm, JSGlobalObject* globalObject)
{
return JSTestOverrideBuiltinsPrototype::create(vm, globalObject, JSTestOverrideBuiltinsPrototype::createStructure(vm, globalObject, globalObject->objectPrototype()));
Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestOverrideBuiltins.h (208612 => 208613)
--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestOverrideBuiltins.h 2016-11-11 22:52:40 UTC (rev 208612)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestOverrideBuiltins.h 2016-11-11 22:53:24 UTC (rev 208613)
@@ -57,12 +57,7 @@
protected:
JSTestOverrideBuiltins(JSC::Structure*, JSDOMGlobalObject&, Ref<TestOverrideBuiltins>&&);
- void finishCreation(JSC::VM& vm)
- {
- Base::finishCreation(vm);
- ASSERT(inherits(info()));
- }
-
+ void finishCreation(JSC::VM&);
private:
bool nameGetter(JSC::ExecState*, JSC::PropertyName, JSC::JSValue&);
};
Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestSerialization.cpp (208612 => 208613)
--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestSerialization.cpp 2016-11-11 22:52:40 UTC (rev 208612)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestSerialization.cpp 2016-11-11 22:53:24 UTC (rev 208613)
@@ -122,6 +122,13 @@
{
}
+void JSTestSerialization::finishCreation(VM& vm)
+{
+ Base::finishCreation(vm);
+ ASSERT(inherits(info()));
+
+}
+
JSObject* JSTestSerialization::createPrototype(VM& vm, JSGlobalObject* globalObject)
{
return JSTestSerializationPrototype::create(vm, globalObject, JSTestSerializationPrototype::createStructure(vm, globalObject, globalObject->objectPrototype()));
Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestSerialization.h (208612 => 208613)
--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestSerialization.h 2016-11-11 22:52:40 UTC (rev 208612)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestSerialization.h 2016-11-11 22:53:24 UTC (rev 208613)
@@ -52,12 +52,7 @@
protected:
JSTestSerialization(JSC::Structure*, JSDOMGlobalObject&, Ref<TestSerialization>&&);
- void finishCreation(JSC::VM& vm)
- {
- Base::finishCreation(vm);
- ASSERT(inherits(info()));
- }
-
+ void finishCreation(JSC::VM&);
};
class JSTestSerializationOwner : public JSC::WeakHandleOwner {
Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp (208612 => 208613)
--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp 2016-11-11 22:52:40 UTC (rev 208612)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp 2016-11-11 22:53:24 UTC (rev 208613)
@@ -118,6 +118,13 @@
{
}
+void JSTestSerializedScriptValueInterface::finishCreation(VM& vm)
+{
+ Base::finishCreation(vm);
+ ASSERT(inherits(info()));
+
+}
+
JSObject* JSTestSerializedScriptValueInterface::createPrototype(VM& vm, JSGlobalObject* globalObject)
{
return JSTestSerializedScriptValueInterfacePrototype::create(vm, globalObject, JSTestSerializedScriptValueInterfacePrototype::createStructure(vm, globalObject, globalObject->objectPrototype()));
Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h (208612 => 208613)
--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h 2016-11-11 22:52:40 UTC (rev 208612)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h 2016-11-11 22:53:24 UTC (rev 208613)
@@ -58,12 +58,7 @@
protected:
JSTestSerializedScriptValueInterface(JSC::Structure*, JSDOMGlobalObject&, Ref<TestSerializedScriptValueInterface>&&);
- void finishCreation(JSC::VM& vm)
- {
- Base::finishCreation(vm);
- ASSERT(inherits(info()));
- }
-
+ void finishCreation(JSC::VM&);
};
class JSTestSerializedScriptValueInterfaceOwner : public JSC::WeakHandleOwner {
Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestTypedefs.cpp (208612 => 208613)
--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestTypedefs.cpp 2016-11-11 22:52:40 UTC (rev 208612)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestTypedefs.cpp 2016-11-11 22:53:24 UTC (rev 208613)
@@ -203,6 +203,13 @@
{
}
+void JSTestTypedefs::finishCreation(VM& vm)
+{
+ Base::finishCreation(vm);
+ ASSERT(inherits(info()));
+
+}
+
JSObject* JSTestTypedefs::createPrototype(VM& vm, JSGlobalObject* globalObject)
{
return JSTestTypedefsPrototype::create(vm, globalObject, JSTestTypedefsPrototype::createStructure(vm, globalObject, globalObject->objectPrototype()));
Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestTypedefs.h (208612 => 208613)
--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestTypedefs.h 2016-11-11 22:52:40 UTC (rev 208612)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestTypedefs.h 2016-11-11 22:53:24 UTC (rev 208613)
@@ -54,12 +54,7 @@
protected:
JSTestTypedefs(JSC::Structure*, JSDOMGlobalObject&, Ref<TestTypedefs>&&);
- void finishCreation(JSC::VM& vm)
- {
- Base::finishCreation(vm);
- ASSERT(inherits(info()));
- }
-
+ void finishCreation(JSC::VM&);
};
class JSTestTypedefsOwner : public JSC::WeakHandleOwner {
Modified: trunk/Source/WebCore/bindings/scripts/test/TestGlobalObject.idl (208612 => 208613)
--- trunk/Source/WebCore/bindings/scripts/test/TestGlobalObject.idl 2016-11-11 22:52:40 UTC (rev 208612)
+++ trunk/Source/WebCore/bindings/scripts/test/TestGlobalObject.idl 2016-11-11 22:53:24 UTC (rev 208613)
@@ -24,7 +24,9 @@
*/
// This interface is recognized as a global object by the bindings generator.
-interface TestGlobalObject {
+[
+ Global,
+] interface TestGlobalObject {
attribute DOMString regularAttribute;
[PrivateIdentifier, PublicIdentifier] attribute DOMString publicAndPrivateAttribute;
[Conditional=TEST_FEATURE, PrivateIdentifier, PublicIdentifier] attribute DOMString publicAndPrivateConditionalAttribute;
Modified: trunk/Source/WebCore/page/DOMWindow.idl (208612 => 208613)
--- trunk/Source/WebCore/page/DOMWindow.idl 2016-11-11 22:52:40 UTC (rev 208612)
+++ trunk/Source/WebCore/page/DOMWindow.idl 2016-11-11 22:53:24 UTC (rev 208613)
@@ -40,6 +40,7 @@
JSCustomMarkFunction,
JSCustomToNativeObject,
JSLegacyParent=JSDOMWindowBase,
+ PrimaryGlobal,
] interface DOMWindow : EventTarget {
[Replaceable] readonly attribute Screen screen;
readonly attribute History history;
Modified: trunk/Source/WebCore/workers/DedicatedWorkerGlobalScope.idl (208612 => 208613)
--- trunk/Source/WebCore/workers/DedicatedWorkerGlobalScope.idl 2016-11-11 22:52:40 UTC (rev 208612)
+++ trunk/Source/WebCore/workers/DedicatedWorkerGlobalScope.idl 2016-11-11 22:53:24 UTC (rev 208613)
@@ -31,6 +31,7 @@
[
CustomProxyToJSObject,
Exposed=DedicatedWorker,
+ Global=(Worker,DedicatedWorker),
JSGenerateToNativeObject,
] interface DedicatedWorkerGlobalScope : WorkerGlobalScope {
[Custom, MayThrowException] void postMessage(any message, optional Array messagePorts);