Diff
Modified: trunk/Source/WebCore/ChangeLog (190313 => 190314)
--- trunk/Source/WebCore/ChangeLog 2015-09-29 17:41:33 UTC (rev 190313)
+++ trunk/Source/WebCore/ChangeLog 2015-09-29 17:49:28 UTC (rev 190314)
@@ -1,3 +1,96 @@
+2015-09-29 Youenn Fablet <youenn.fab...@crf.canon.fr>
+
+ Improve binding of JSBuiltinConstructor classes
+ https://bugs.webkit.org/show_bug.cgi?id=149556
+
+ Reviewed by Darin Adler.
+
+ JSBuiltinConstructor classes no longer need definition of a DOM class.
+ These classes no longer go through the JS wrapper cache.
+ Removed code related to DOM class handling (m_impl, releaseImpl, WrapperOwner, toJS, ...)
+ Updated creation code.
+
+ Refactoring of the binding generator code to simplify whether generating or not some methods.
+
+ Removed unneeded include of DOM class in JSXX.cpp (already done in JSXX.h)
+
+ Added new binding test to cover JSBuiltinConstructor keyword.
+
+ Covered by binding tests.
+
+ * bindings/js/JSDOMBinding.h:
+ (WebCore::createJSBuiltin):
+ (WebCore::DOMConstructorObject::createStructure):.
+ * bindings/scripts/CodeGeneratorJS.pm:
+ (NeedsImplementationClass):
+ (ShouldGenerateToWrapped):
+ (ShouldGenerateWrapperOwnerCode):
+ (ShouldGenerateToJSDeclaration):
+ (ShouldGenerateToJSImplementation):
+ (GenerateHeader):
+ (GenerateImplementation):
+ (GenerateConstructorDefinition):
+ (ComputeFunctionSpecial):.
+ (UseJSBuiltins):.
+ * bindings/scripts/test/GObject/WebKitDOMTestJSBuiltinConstructor.cpp: Added.
+ (WebKit::kit):
+ (WebKit::core):
+ (WebKit::wrapTestJSBuiltinConstructor):
+ (webkit_dom_test_js_builtin_constructor_finalize):
+ (webkit_dom_test_js_builtin_constructor_constructor):
+ (webkit_dom_test_js_builtin_constructor_class_init):
+ (webkit_dom_test_js_builtin_constructor_init):
+ * bindings/scripts/test/GObject/WebKitDOMTestJSBuiltinConstructor.h: Added.
+ * bindings/scripts/test/GObject/WebKitDOMTestJSBuiltinConstructorPrivate.h: Added.
+ * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
+ * bindings/scripts/test/JS/JSTestCustomConstructorWithNoInterfaceObject.cpp:
+ * bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
+ * bindings/scripts/test/JS/JSTestEventConstructor.cpp:
+ * bindings/scripts/test/JS/JSTestEventTarget.cpp:
+ * bindings/scripts/test/JS/JSTestException.cpp:
+ * bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp:
+ * bindings/scripts/test/JS/JSTestInterface.cpp:
+ * bindings/scripts/test/JS/JSTestJSBuiltinConstructor.cpp: Added.
+ (WebCore::JSTestJSBuiltinConstructorPrototype::create):
+ (WebCore::JSTestJSBuiltinConstructorPrototype::createStructure):
+ (WebCore::JSTestJSBuiltinConstructorPrototype::JSTestJSBuiltinConstructorPrototype):
+ (WebCore::JSTestJSBuiltinConstructorConstructor::create):
+ (WebCore::JSTestJSBuiltinConstructorConstructor::createStructure):
+ (WebCore::JSTestJSBuiltinConstructorConstructor::constructJSTestJSBuiltinConstructor):
+ (WebCore::JSTestJSBuiltinConstructorConstructor::JSTestJSBuiltinConstructorConstructor):
+ (WebCore::JSTestJSBuiltinConstructorConstructor::finishCreation):
+ (WebCore::JSTestJSBuiltinConstructorConstructor::getConstructData):
+ (WebCore::JSTestJSBuiltinConstructorPrototype::finishCreation):
+ (WebCore::JSTestJSBuiltinConstructor::JSTestJSBuiltinConstructor):
+ (WebCore::JSTestJSBuiltinConstructor::createPrototype):
+ (WebCore::JSTestJSBuiltinConstructor::getPrototype):
+ (WebCore::JSTestJSBuiltinConstructor::destroy):
+ (WebCore::JSTestJSBuiltinConstructor::~JSTestJSBuiltinConstructor):
+ (WebCore::jsTestJSBuiltinConstructorConstructor):
+ (WebCore::JSTestJSBuiltinConstructor::getConstructor):
+ (WebCore::JSTestJSBuiltinConstructor::visitChildren):
+ * bindings/scripts/test/JS/JSTestJSBuiltinConstructor.h: Added.
+ (WebCore::JSTestJSBuiltinConstructor::create):
+ (WebCore::JSTestJSBuiltinConstructor::createStructure):
+ * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
+ * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
+ * bindings/scripts/test/JS/JSTestNode.cpp:
+ * bindings/scripts/test/JS/JSTestNondeterministic.cpp:
+ * bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
+ * bindings/scripts/test/JS/JSTestOverrideBuiltins.cpp:
+ * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
+ * bindings/scripts/test/JS/JSTestTypedefs.cpp:
+ * bindings/scripts/test/JS/JSattribute.cpp:
+ * bindings/scripts/test/JS/JSreadonly.cpp:
+ * bindings/scripts/test/ObjC/DOMTestJSBuiltinConstructor.h: Added.
+ * bindings/scripts/test/ObjC/DOMTestJSBuiltinConstructor.mm: Added.
+ (-[DOMTestJSBuiltinConstructor dealloc]):
+ (-[DOMTestJSBuiltinConstructor finalize]):
+ (core):
+ (kit):
+ * bindings/scripts/test/ObjC/DOMTestJSBuiltinConstructorInternal.h: Added.
+ * bindings/scripts/test/TestJSBuiltinConstructor.idl: Added.
+
2015-09-29 Xabier Rodriguez Calvar <calva...@igalia.com>
[Streams API] [Win] Remove reference to dead CountQueuingStrategy.h
Modified: trunk/Source/WebCore/bindings/js/JSDOMBinding.h (190313 => 190314)
--- trunk/Source/WebCore/bindings/js/JSDOMBinding.h 2015-09-29 17:41:33 UTC (rev 190313)
+++ trunk/Source/WebCore/bindings/js/JSDOMBinding.h 2015-09-29 17:49:28 UTC (rev 190314)
@@ -85,15 +85,6 @@
WEBCORE_EXPORT JSC::EncodedJSValue throwGetterTypeError(JSC::ExecState&, const char* interfaceName, const char* attributeName);
WEBCORE_EXPORT JSC::EncodedJSValue throwThisTypeError(JSC::ExecState&, const char* interfaceName, const char* functionName);
-void callFunctionWithCurrentArguments(JSC::ExecState&, JSC::JSObject& thisObject, JSC::JSFunction&);
-
-template<typename WrapperClass, typename DOMClass> inline JSC::EncodedJSValue createFromJSBuiltin(JSC::ExecState& state, JSC::JSFunction& initializeFunction, JSDOMGlobalObject& globalObject)
-{
- JSC::JSObject* object = asObject(toJS(&state, &globalObject, DOMClass::create()));
- callFunctionWithCurrentArguments(state, *object, initializeFunction);
- return JSC::JSValue::encode(object);
-}
-
// Base class for all constructor objects in the JSC bindings.
class DOMConstructorObject : public JSDOMWrapper {
public:
@@ -158,6 +149,15 @@
return JSC::jsCast<JSC::JSObject*>(asObject(getDOMStructure<WrapperClass>(vm, JSC::jsCast<JSDOMGlobalObject*>(globalObject))->storedPrototype()));
}
+void callFunctionWithCurrentArguments(JSC::ExecState&, JSC::JSObject& thisObject, JSC::JSFunction&);
+
+template<typename JSClass> inline JSC::EncodedJSValue createJSBuiltin(JSC::ExecState& state, JSC::JSFunction& initializeFunction, JSDOMGlobalObject& globalObject)
+{
+ JSC::JSObject* object = JSClass::create(getDOMStructure<JSClass>(globalObject.vm(), &globalObject), &globalObject);
+ callFunctionWithCurrentArguments(state, *object, initializeFunction);
+ return JSC::JSValue::encode(object);
+}
+
inline JSC::WeakHandleOwner* wrapperOwner(DOMWrapperWorld& world, JSC::ArrayBuffer*)
{
return static_cast<WebCoreTypedArrayController*>(world.vm().m_typedArrayController.get())->wrapperOwner();
Modified: trunk/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm (190313 => 190314)
--- trunk/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm 2015-09-29 17:41:33 UTC (rev 190313)
+++ trunk/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm 2015-09-29 17:49:28 UTC (rev 190314)
@@ -509,10 +509,46 @@
return @implContentHeader;
}
+sub NeedsImplementationClass
+{
+ my ($interface) = @_;
+
+ return 0 if ($interface->extendedAttributes->{"JSBuiltinConstructor"});
+ return 1;
+}
+
+sub ShouldGenerateToWrapped
+{
+ my ($hasParent, $interface) = @_;
+
+ return 0 if not NeedsImplementationClass($interface);
+ if (!$hasParent or $interface->extendedAttributes->{"JSGenerateToNativeObject"}) {
+ return 1;
+ }
+ return 0;
+}
+
+sub ShouldGenerateWrapperOwnerCode
+{
+ my ($hasParent, $interface) = @_;
+
+ return 0 if not NeedsImplementationClass($interface);
+ if (!$hasParent ||
+ GetGenerateIsReachable($interface) ||
+ GetCustomIsReachable($interface) ||
+ $interface->extendedAttributes->{"JSCustomFinalize"} ||
+ $codeGenerator->InheritsExtendedAttribute($interface, "ActiveDOMObject")) {
+ return 1;
+ }
+ return 0;
+}
+
sub ShouldGenerateToJSDeclaration
{
my ($hasParent, $interface) = @_;
+
return 0 if ($interface->extendedAttributes->{"SuppressToJSObject"});
+ return 0 if not NeedsImplementationClass($interface);
return 0 if $interface->name eq "AbstractView";
return 1 if (!$hasParent or $interface->extendedAttributes->{"JSGenerateToJSObject"} or $interface->extendedAttributes->{"CustomToJSObject"});
return 0;
@@ -521,9 +557,9 @@
sub ShouldGenerateToJSImplementation
{
my ($hasParent, $interface) = @_;
- return 0 if ($interface->extendedAttributes->{"SuppressToJSObject"});
- return 0 if $interface->name eq "AbstractView";
- return 1 if ((!$hasParent or $interface->extendedAttributes->{"JSGenerateToJSObject"}) and !$interface->extendedAttributes->{"CustomToJSObject"});
+
+ return 0 if not ShouldGenerateToJSDeclaration($hasParent, $interface);
+ return 1 if not $interface->extendedAttributes->{"CustomToJSObject"};
return 0;
}
@@ -872,8 +908,6 @@
my $exportLabel = ExportLabelForClass($className);
- GenerateDummyDOMClassForJSBuiltin($implType) if UseDummyDOMClass($interface);
-
# Class declaration
push(@headerContent, "class $exportLabel$className : public $parentClassName {\n");
@@ -905,8 +939,15 @@
push(@headerContent, " ptr->finishCreation(globalObject->vm());\n");
push(@headerContent, " return ptr;\n");
push(@headerContent, " }\n\n");
+ } elsif (!NeedsImplementationClass($interface)) {
+ push(@headerContent, " static $className* create(JSC::Structure* structure, JSDOMGlobalObject* globalObject)\n");
+ push(@headerContent, " {\n");
+ push(@headerContent, " $className* ptr = new (NotNull, JSC::allocateCell<$className>(globalObject->vm().heap)) $className(structure, globalObject);\n");
+ push(@headerContent, " ptr->finishCreation(globalObject->vm());\n");
+ push(@headerContent, " return ptr;\n");
+ push(@headerContent, " }\n\n");
} else {
- AddIncludesForTypeInHeader($implType) unless $svgPropertyOrListPropertyType || UseDummyDOMClass($interface);
+ AddIncludesForTypeInHeader($implType) unless $svgPropertyOrListPropertyType;
push(@headerContent, " static $className* create(JSC::Structure* structure, JSDOMGlobalObject* globalObject, Ref<$implType>&& impl)\n");
push(@headerContent, " {\n");
push(@headerContent, " $className* ptr = new (NotNull, JSC::allocateCell<$className>(globalObject->vm().heap)) $className(structure, globalObject, WTF::move(impl));\n");
@@ -926,7 +967,7 @@
}
# JSValue to implementation type
- if (!$hasParent || $interface->extendedAttributes->{"JSGenerateToNativeObject"}) {
+ if (ShouldGenerateToWrapped($hasParent, $interface)) {
if ($interfaceName eq "NodeFilter") {
push(@headerContent, " static RefPtr<NodeFilter> toWrapped(JSC::VM&, JSC::JSValue);\n");
} elsif ($interfaceName eq "DOMStringList") {
@@ -1146,16 +1187,18 @@
push(@headerContent, $endAppleCopyright) if $inAppleCopyright;
}
- if (!$hasParent) {
- push(@headerContent, " $implType& impl() const { return *m_impl; }\n");
- push(@headerContent, " void releaseImpl() { std::exchange(m_impl, nullptr)->deref(); }\n\n");
- push(@headerContent, "private:\n");
- push(@headerContent, " $implType* m_impl;\n");
- } else {
- push(@headerContent, " $interfaceName& impl() const\n");
- push(@headerContent, " {\n");
- push(@headerContent, " return static_cast<$interfaceName&>(Base::impl());\n");
- push(@headerContent, " }\n");
+ if (NeedsImplementationClass($interface)) {
+ if (!$hasParent) {
+ push(@headerContent, " $implType& impl() const { return *m_impl; }\n");
+ push(@headerContent, " void releaseImpl() { std::exchange(m_impl, nullptr)->deref(); }\n\n");
+ push(@headerContent, "private:\n");
+ push(@headerContent, " $implType* m_impl;\n");
+ } else {
+ push(@headerContent, " $interfaceName& impl() const\n");
+ push(@headerContent, " {\n");
+ push(@headerContent, " return static_cast<$interfaceName&>(Base::impl());\n");
+ push(@headerContent, " }\n");
+ }
}
# structure flags
@@ -1175,7 +1218,9 @@
push(@headerContent, " $className(JSC::VM&, JSC::Structure*, Ref<$implType>&&, JSDOMWindowShell*);\n");
} elsif ($codeGenerator->InheritsInterface($interface, "WorkerGlobalScope")) {
push(@headerContent, " $className(JSC::VM&, JSC::Structure*, Ref<$implType>&&);\n");
- } else {
+ } elsif (!NeedsImplementationClass($interface)) {
+ 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");
@@ -1196,11 +1241,7 @@
push(@headerContent, "};\n\n");
- if (!$hasParent ||
- GetGenerateIsReachable($interface) ||
- GetCustomIsReachable($interface) ||
- $interface->extendedAttributes->{"JSCustomFinalize"} ||
- $codeGenerator->InheritsExtendedAttribute($interface, "ActiveDOMObject")) {
+ if (ShouldGenerateWrapperOwnerCode($hasParent, $interface)) {
if ($interfaceName ne "Node" && $codeGenerator->InheritsInterface($interface, "Node")) {
$headerIncludes{"JSNode.h"} = 1;
push(@headerContent, "class JS${interfaceName}Owner : public JSNodeOwner {\n");
@@ -1755,7 +1796,6 @@
$implIncludes{"<runtime/PropertyNameArray.h>"} = 1 if $indexedGetterFunction;
my $implType = GetImplClassName($interfaceName);
- AddIncludesForTypeInImpl($implType) if not UseDummyDOMClass($interface);
AddIncludesForJSBuiltinMethods($interface);
@@ -2118,7 +2158,10 @@
push(@implContent, " : $parentClassName(vm, structure, WTF::move(impl))\n");
push(@implContent, "{\n");
push(@implContent, "}\n\n");
- } else {
+ } elsif (!NeedsImplementationClass($interface)) {
+ push(@implContent, "${className}::$className(Structure* structure, JSDOMGlobalObject* globalObject)\n");
+ push(@implContent, " : $parentClassName(structure, globalObject) { }\n\n");
+ }else {
push(@implContent, "${className}::$className(Structure* structure, JSDOMGlobalObject* globalObject, Ref<$implType>&& impl)\n");
if ($hasParent) {
push(@implContent, " : $parentClassName(structure, globalObject, WTF::move(impl))\n");
@@ -2156,7 +2199,9 @@
push(@implContent, "${className}::~${className}()\n");
push(@implContent, "{\n");
- push(@implContent, " releaseImpl();\n");
+ if (NeedsImplementationClass($interface)) {
+ push(@implContent, " releaseImpl();\n");
+ }
push(@implContent, "}\n\n");
}
@@ -2989,8 +3034,7 @@
}
}
- if ((!$hasParent && !GetCustomIsReachable($interface)) || GetGenerateIsReachable($interface) || $codeGenerator->InheritsExtendedAttribute($interface, "ActiveDOMObject")) {
-
+ if (ShouldGenerateWrapperOwnerCode($hasParent, $interface) && !GetCustomIsReachable($interface)) {
push(@implContent, "bool JS${interfaceName}Owner::isReachableFromOpaqueRoots(JSC::Handle<JSC::Unknown> handle, void*, SlotVisitor& visitor)\n");
push(@implContent, "{\n");
# All ActiveDOMObjects implement hasPendingActivity(), but not all of them
@@ -3073,11 +3117,7 @@
push(@implContent, "}\n\n");
}
- if (!$interface->extendedAttributes->{"JSCustomFinalize"} &&
- (!$hasParent ||
- GetGenerateIsReachable($interface) ||
- GetCustomIsReachable($interface) ||
- $codeGenerator->InheritsExtendedAttribute($interface, "ActiveDOMObject"))) {
+ if (ShouldGenerateWrapperOwnerCode($hasParent, $interface) && !$interface->extendedAttributes->{"JSCustomFinalize"}) {
push(@implContent, "void JS${interfaceName}Owner::finalize(JSC::Handle<JSC::Unknown> handle, void* context)\n");
push(@implContent, "{\n");
push(@implContent, " auto* js${interfaceName} = jsCast<JS${interfaceName}*>(handle.slot()->asCell());\n");
@@ -3173,7 +3213,7 @@
push(@implContent, "}\n\n");
}
- if ((!$hasParent or $interface->extendedAttributes->{"JSGenerateToNativeObject"}) and !$interface->extendedAttributes->{"JSCustomToNativeObject"}) {
+ if (ShouldGenerateToWrapped($hasParent, $interface) and !$interface->extendedAttributes->{"JSCustomToNativeObject"}) {
push(@implContent, "$implType* ${className}::toWrapped(JSC::JSValue value)\n");
push(@implContent, "{\n");
push(@implContent, " if (auto* wrapper = " . GetCastingHelperForThisObject($interface) . "(value))\n");
@@ -4814,7 +4854,7 @@
push(@$outputArray, "{\n");
push(@$outputArray, " auto* castedThis = jsCast<${constructorClassName}*>(state->callee());\n");
- push(@$outputArray, " return createFromJSBuiltin<${className}, ${interfaceName}>(*state, *castedThis->initializeFunction(), *castedThis->globalObject());\n");
+ push(@$outputArray, " return createJSBuiltin<${className}>(*state, *castedThis->initializeFunction(), *castedThis->globalObject());\n");
push(@$outputArray, "}\n\n");
} elsif (!HasCustomConstructor($interface) && (!$interface->extendedAttributes->{"NamedConstructor"} || $generatingNamedConstructor)) {
@@ -5105,22 +5145,4 @@
}
-sub UseDummyDOMClass()
-{
- my $interface = shift;
-
- return $interface->extendedAttributes->{"JSBuiltinConstructor"};
-}
-
-sub GenerateDummyDOMClassForJSBuiltin()
-{
- my $className = shift;
-
- push(@headerContent, "class $className : public RefCounted<$className> {\n");
- push(@headerContent, "public:\n");
- push(@headerContent, " static Ref<$className> create() { return adoptRef(* new $className); }\n");
- push(@headerContent, " virtual ~$className() { }\n");
- push(@headerContent, "};\n\n");
-}
-
1;
Added: trunk/Source/WebCore/bindings/scripts/test/GObject/WebKitDOMTestJSBuiltinConstructor.cpp (0 => 190314)
--- trunk/Source/WebCore/bindings/scripts/test/GObject/WebKitDOMTestJSBuiltinConstructor.cpp (rev 0)
+++ trunk/Source/WebCore/bindings/scripts/test/GObject/WebKitDOMTestJSBuiltinConstructor.cpp 2015-09-29 17:49:28 UTC (rev 190314)
@@ -0,0 +1,104 @@
+/*
+ * This file is part of the WebKit open source project.
+ * This file has been generated by generate-bindings.pl. DO NOT MODIFY!
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public License
+ * along with this library; see the file COPYING.LIB. If not, write to
+ * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ */
+
+#include "config.h"
+#include "WebKitDOMTestJSBuiltinConstructor.h"
+
+#include "CSSImportRule.h"
+#include "DOMObjectCache.h"
+#include "Document.h"
+#include "ExceptionCode.h"
+#include "ExceptionCodeDescription.h"
+#include "JSMainThreadExecState.h"
+#include "WebKitDOMPrivate.h"
+#include "WebKitDOMTestJSBuiltinConstructorPrivate.h"
+#include "gobject/ConvertToUTF8String.h"
+#include <wtf/GetPtr.h>
+#include <wtf/RefPtr.h>
+
+#define WEBKIT_DOM_TEST_JS_BUILTIN_CONSTRUCTOR_GET_PRIVATE(obj) G_TYPE_INSTANCE_GET_PRIVATE(obj, WEBKIT_DOM_TYPE_TEST_JS_BUILTIN_CONSTRUCTOR, WebKitDOMTestJSBuiltinConstructorPrivate)
+
+typedef struct _WebKitDOMTestJSBuiltinConstructorPrivate {
+ RefPtr<WebCore::TestJSBuiltinConstructor> coreObject;
+} WebKitDOMTestJSBuiltinConstructorPrivate;
+
+namespace WebKit {
+
+WebKitDOMTestJSBuiltinConstructor* kit(WebCore::TestJSBuiltinConstructor* obj)
+{
+ if (!obj)
+ return 0;
+
+ if (gpointer ret = DOMObjectCache::get(obj))
+ return WEBKIT_DOM_TEST_JS_BUILTIN_CONSTRUCTOR(ret);
+
+ return wrapTestJSBuiltinConstructor(obj);
+}
+
+WebCore::TestJSBuiltinConstructor* core(WebKitDOMTestJSBuiltinConstructor* request)
+{
+ return request ? static_cast<WebCore::TestJSBuiltinConstructor*>(WEBKIT_DOM_OBJECT(request)->coreObject) : 0;
+}
+
+WebKitDOMTestJSBuiltinConstructor* wrapTestJSBuiltinConstructor(WebCore::TestJSBuiltinConstructor* coreObject)
+{
+ ASSERT(coreObject);
+ return WEBKIT_DOM_TEST_JS_BUILTIN_CONSTRUCTOR(g_object_new(WEBKIT_DOM_TYPE_TEST_JS_BUILTIN_CONSTRUCTOR, "core-object", coreObject, nullptr));
+}
+
+} // namespace WebKit
+
+G_DEFINE_TYPE(WebKitDOMTestJSBuiltinConstructor, webkit_dom_test_js_builtin_constructor, WEBKIT_DOM_TYPE_OBJECT)
+
+static void webkit_dom_test_js_builtin_constructor_finalize(GObject* object)
+{
+ WebKitDOMTestJSBuiltinConstructorPrivate* priv = WEBKIT_DOM_TEST_JS_BUILTIN_CONSTRUCTOR_GET_PRIVATE(object);
+
+ WebKit::DOMObjectCache::forget(priv->coreObject.get());
+
+ priv->~WebKitDOMTestJSBuiltinConstructorPrivate();
+ G_OBJECT_CLASS(webkit_dom_test_js_builtin_constructor_parent_class)->finalize(object);
+}
+
+static GObject* webkit_dom_test_js_builtin_constructor_constructor(GType type, guint constructPropertiesCount, GObjectConstructParam* constructProperties)
+{
+ GObject* object = G_OBJECT_CLASS(webkit_dom_test_js_builtin_constructor_parent_class)->constructor(type, constructPropertiesCount, constructProperties);
+
+ WebKitDOMTestJSBuiltinConstructorPrivate* priv = WEBKIT_DOM_TEST_JS_BUILTIN_CONSTRUCTOR_GET_PRIVATE(object);
+ priv->coreObject = static_cast<WebCore::TestJSBuiltinConstructor*>(WEBKIT_DOM_OBJECT(object)->coreObject);
+ WebKit::DOMObjectCache::put(priv->coreObject.get(), object);
+
+ return object;
+}
+
+static void webkit_dom_test_js_builtin_constructor_class_init(WebKitDOMTestJSBuiltinConstructorClass* requestClass)
+{
+ GObjectClass* gobjectClass = G_OBJECT_CLASS(requestClass);
+ g_type_class_add_private(gobjectClass, sizeof(WebKitDOMTestJSBuiltinConstructorPrivate));
+ gobjectClass->constructor = webkit_dom_test_js_builtin_constructor_constructor;
+ gobjectClass->finalize = webkit_dom_test_js_builtin_constructor_finalize;
+}
+
+static void webkit_dom_test_js_builtin_constructor_init(WebKitDOMTestJSBuiltinConstructor* request)
+{
+ WebKitDOMTestJSBuiltinConstructorPrivate* priv = WEBKIT_DOM_TEST_JS_BUILTIN_CONSTRUCTOR_GET_PRIVATE(request);
+ new (priv) WebKitDOMTestJSBuiltinConstructorPrivate();
+}
+
Added: trunk/Source/WebCore/bindings/scripts/test/GObject/WebKitDOMTestJSBuiltinConstructor.h (0 => 190314)
--- trunk/Source/WebCore/bindings/scripts/test/GObject/WebKitDOMTestJSBuiltinConstructor.h (rev 0)
+++ trunk/Source/WebCore/bindings/scripts/test/GObject/WebKitDOMTestJSBuiltinConstructor.h 2015-09-29 17:49:28 UTC (rev 190314)
@@ -0,0 +1,53 @@
+/*
+ * This file is part of the WebKit open source project.
+ * This file has been generated by generate-bindings.pl. DO NOT MODIFY!
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public License
+ * along with this library; see the file COPYING.LIB. If not, write to
+ * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ */
+
+#ifndef WebKitDOMTestJSBuiltinConstructor_h
+#define WebKitDOMTestJSBuiltinConstructor_h
+
+#ifdef WEBKIT_DOM_USE_UNSTABLE_API
+
+#include <glib-object.h>
+#include <webkitdom/WebKitDOMObject.h>
+#include <webkitdom/webkitdomdefines-unstable.h>
+
+G_BEGIN_DECLS
+
+#define WEBKIT_DOM_TYPE_TEST_JS_BUILTIN_CONSTRUCTOR (webkit_dom_test_js_builtin_constructor_get_type())
+#define WEBKIT_DOM_TEST_JS_BUILTIN_CONSTRUCTOR(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), WEBKIT_DOM_TYPE_TEST_JS_BUILTIN_CONSTRUCTOR, WebKitDOMTestJSBuiltinConstructor))
+#define WEBKIT_DOM_TEST_JS_BUILTIN_CONSTRUCTOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), WEBKIT_DOM_TYPE_TEST_JS_BUILTIN_CONSTRUCTOR, WebKitDOMTestJSBuiltinConstructorClass)
+#define WEBKIT_DOM_IS_TEST_JS_BUILTIN_CONSTRUCTOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), WEBKIT_DOM_TYPE_TEST_JS_BUILTIN_CONSTRUCTOR))
+#define WEBKIT_DOM_IS_TEST_JS_BUILTIN_CONSTRUCTOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), WEBKIT_DOM_TYPE_TEST_JS_BUILTIN_CONSTRUCTOR))
+#define WEBKIT_DOM_TEST_JS_BUILTIN_CONSTRUCTOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), WEBKIT_DOM_TYPE_TEST_JS_BUILTIN_CONSTRUCTOR, WebKitDOMTestJSBuiltinConstructorClass))
+
+struct _WebKitDOMTestJSBuiltinConstructor {
+ WebKitDOMObject parent_instance;
+};
+
+struct _WebKitDOMTestJSBuiltinConstructorClass {
+ WebKitDOMObjectClass parent_class;
+};
+
+WEBKIT_API GType
+webkit_dom_test_js_builtin_constructor_get_type(void);
+
+G_END_DECLS
+
+#endif /* WEBKIT_DOM_USE_UNSTABLE_API */
+#endif /* WebKitDOMTestJSBuiltinConstructor_h */
Added: trunk/Source/WebCore/bindings/scripts/test/GObject/WebKitDOMTestJSBuiltinConstructorPrivate.h (0 => 190314)
--- trunk/Source/WebCore/bindings/scripts/test/GObject/WebKitDOMTestJSBuiltinConstructorPrivate.h (rev 0)
+++ trunk/Source/WebCore/bindings/scripts/test/GObject/WebKitDOMTestJSBuiltinConstructorPrivate.h 2015-09-29 17:49:28 UTC (rev 190314)
@@ -0,0 +1,33 @@
+/*
+ * This file is part of the WebKit open source project.
+ * This file has been generated by generate-bindings.pl. DO NOT MODIFY!
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public License
+ * along with this library; see the file COPYING.LIB. If not, write to
+ * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ */
+
+#ifndef WebKitDOMTestJSBuiltinConstructorPrivate_h
+#define WebKitDOMTestJSBuiltinConstructorPrivate_h
+
+#include "TestJSBuiltinConstructor.h"
+#include <webkitdom/WebKitDOMTestJSBuiltinConstructor.h>
+
+namespace WebKit {
+WebKitDOMTestJSBuiltinConstructor* wrapTestJSBuiltinConstructor(WebCore::TestJSBuiltinConstructor*);
+WebKitDOMTestJSBuiltinConstructor* kit(WebCore::TestJSBuiltinConstructor*);
+WebCore::TestJSBuiltinConstructor* core(WebKitDOMTestJSBuiltinConstructor*);
+} // namespace WebKit
+
+#endif /* WebKitDOMTestJSBuiltinConstructorPrivate_h */
Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestActiveDOMObject.cpp (190313 => 190314)
--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestActiveDOMObject.cpp 2015-09-29 17:41:33 UTC (rev 190313)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestActiveDOMObject.cpp 2015-09-29 17:49:28 UTC (rev 190314)
@@ -24,7 +24,6 @@
#include "ExceptionCode.h"
#include "JSDOMBinding.h"
#include "JSNode.h"
-#include "TestActiveDOMObject.h"
#include <runtime/Error.h>
#include <wtf/GetPtr.h>
Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestCustomConstructorWithNoInterfaceObject.cpp (190313 => 190314)
--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestCustomConstructorWithNoInterfaceObject.cpp 2015-09-29 17:41:33 UTC (rev 190313)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestCustomConstructorWithNoInterfaceObject.cpp 2015-09-29 17:49:28 UTC (rev 190314)
@@ -22,7 +22,6 @@
#include "JSTestCustomConstructorWithNoInterfaceObject.h"
#include "JSDOMBinding.h"
-#include "TestCustomConstructorWithNoInterfaceObject.h"
#include <wtf/GetPtr.h>
using namespace JSC;
Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp (190313 => 190314)
--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp 2015-09-29 17:41:33 UTC (rev 190313)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp 2015-09-29 17:49:28 UTC (rev 190314)
@@ -23,7 +23,6 @@
#include "ExceptionCode.h"
#include "JSDOMBinding.h"
-#include "TestCustomNamedGetter.h"
#include "wtf/text/AtomicString.h"
#include <runtime/Error.h>
#include <wtf/GetPtr.h>
Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestEventConstructor.cpp (190313 => 190314)
--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestEventConstructor.cpp 2015-09-29 17:41:33 UTC (rev 190313)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestEventConstructor.cpp 2015-09-29 17:49:28 UTC (rev 190314)
@@ -23,7 +23,6 @@
#include "JSDOMBinding.h"
#include "JSDictionary.h"
-#include "TestEventConstructor.h"
#include "URL.h"
#include <runtime/Error.h>
#include <runtime/JSString.h>
Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestEventTarget.cpp (190313 => 190314)
--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestEventTarget.cpp 2015-09-29 17:41:33 UTC (rev 190313)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestEventTarget.cpp 2015-09-29 17:49:28 UTC (rev 190314)
@@ -28,7 +28,6 @@
#include "JSEventListener.h"
#include "JSNode.h"
#include "Node.h"
-#include "TestEventTarget.h"
#include "wtf/text/AtomicString.h"
#include <runtime/Error.h>
#include <runtime/PropertyNameArray.h>
Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestException.cpp (190313 => 190314)
--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestException.cpp 2015-09-29 17:41:33 UTC (rev 190313)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestException.cpp 2015-09-29 17:49:28 UTC (rev 190314)
@@ -22,7 +22,6 @@
#include "JSTestException.h"
#include "JSDOMBinding.h"
-#include "TestException.h"
#include "URL.h"
#include <runtime/JSString.h>
#include <wtf/GetPtr.h>
Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp (190313 => 190314)
--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp 2015-09-29 17:41:33 UTC (rev 190313)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp 2015-09-29 17:49:28 UTC (rev 190314)
@@ -22,7 +22,6 @@
#include "JSTestGenerateIsReachable.h"
#include "JSDOMBinding.h"
-#include "TestGenerateIsReachable.h"
#include <wtf/GetPtr.h>
using namespace JSC;
Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestInterface.cpp (190313 => 190314)
--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestInterface.cpp 2015-09-29 17:41:33 UTC (rev 190313)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestInterface.cpp 2015-09-29 17:49:28 UTC (rev 190314)
@@ -26,7 +26,6 @@
#include "ExceptionCode.h"
#include "JSDOMBinding.h"
-#include "TestInterface.h"
#include "TestObj.h"
#include "TestSupplemental.h"
#include <runtime/Error.h>
Added: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestJSBuiltinConstructor.cpp (0 => 190314)
--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestJSBuiltinConstructor.cpp (rev 0)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestJSBuiltinConstructor.cpp 2015-09-29 17:49:28 UTC (rev 190314)
@@ -0,0 +1,174 @@
+/*
+ This file is part of the WebKit open source project.
+ This file has been generated by generate-bindings.pl. DO NOT MODIFY!
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#include "config.h"
+#include "JSTestJSBuiltinConstructor.h"
+
+#include "JSDOMBinding.h"
+#include <wtf/GetPtr.h>
+
+using namespace JSC;
+
+namespace WebCore {
+
+// Attributes
+
+JSC::EncodedJSValue jsTestJSBuiltinConstructorConstructor(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::PropertyName);
+
+class JSTestJSBuiltinConstructorPrototype : public JSC::JSNonFinalObject {
+public:
+ typedef JSC::JSNonFinalObject Base;
+ static JSTestJSBuiltinConstructorPrototype* create(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure)
+ {
+ JSTestJSBuiltinConstructorPrototype* ptr = new (NotNull, JSC::allocateCell<JSTestJSBuiltinConstructorPrototype>(vm.heap)) JSTestJSBuiltinConstructorPrototype(vm, globalObject, structure);
+ ptr->finishCreation(vm);
+ return ptr;
+ }
+
+ DECLARE_INFO;
+ static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype)
+ {
+ return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info());
+ }
+
+private:
+ JSTestJSBuiltinConstructorPrototype(JSC::VM& vm, JSC::JSGlobalObject*, JSC::Structure* structure)
+ : JSC::JSNonFinalObject(vm, structure)
+ {
+ }
+
+ void finishCreation(JSC::VM&);
+};
+
+class JSTestJSBuiltinConstructorConstructor : public DOMConstructorJSBuiltinObject {
+private:
+ JSTestJSBuiltinConstructorConstructor(JSC::Structure*, JSDOMGlobalObject*);
+ void finishCreation(JSC::VM&, JSDOMGlobalObject*);
+
+public:
+ typedef DOMConstructorJSBuiltinObject Base;
+ static JSTestJSBuiltinConstructorConstructor* create(JSC::VM& vm, JSC::Structure* structure, JSDOMGlobalObject* globalObject)
+ {
+ JSTestJSBuiltinConstructorConstructor* ptr = new (NotNull, JSC::allocateCell<JSTestJSBuiltinConstructorConstructor>(vm.heap)) JSTestJSBuiltinConstructorConstructor(structure, globalObject);
+ ptr->finishCreation(vm, globalObject);
+ return ptr;
+ }
+
+ DECLARE_INFO;
+ static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype)
+ {
+ return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info());
+ }
+protected:
+ static JSC::EncodedJSValue JSC_HOST_CALL constructJSTestJSBuiltinConstructor(JSC::ExecState*);
+ static JSC::ConstructType getConstructData(JSC::JSCell*, JSC::ConstructData&);
+};
+
+JSC::EncodedJSValue JSC_HOST_CALL JSTestJSBuiltinConstructorConstructor::constructJSTestJSBuiltinConstructor(JSC::ExecState* state)
+{
+ auto* castedThis = jsCast<JSTestJSBuiltinConstructorConstructor*>(state->callee());
+ return createJSBuiltin<JSTestJSBuiltinConstructor>(*state, *castedThis->initializeFunction(), *castedThis->globalObject());
+}
+
+const ClassInfo JSTestJSBuiltinConstructorConstructor::s_info = { "TestJSBuiltinConstructorConstructor", &Base::s_info, 0, CREATE_METHOD_TABLE(JSTestJSBuiltinConstructorConstructor) };
+
+JSTestJSBuiltinConstructorConstructor::JSTestJSBuiltinConstructorConstructor(Structure* structure, JSDOMGlobalObject* globalObject)
+ : Base(structure, globalObject)
+{
+}
+
+void JSTestJSBuiltinConstructorConstructor::finishCreation(VM& vm, JSDOMGlobalObject* globalObject)
+{
+ Base::finishCreation(vm);
+ ASSERT(inherits(info()));
+ putDirect(vm, vm.propertyNames->prototype, JSTestJSBuiltinConstructor::getPrototype(vm, globalObject), DontDelete | ReadOnly | DontEnum);
+ putDirect(vm, vm.propertyNames->name, jsNontrivialString(&vm, String(ASCIILiteral("TestJSBuiltinConstructor"))), ReadOnly | DontEnum);
+ putDirect(vm, vm.propertyNames->length, jsNumber(0), ReadOnly | DontEnum);
+ setInitializeFunction(vm, *JSC::JSFunction::createBuiltinFunction(vm, testJSBuiltinConstructorInitializeTestJSBuiltinConstructorCodeGenerator(vm), globalObject));
+}
+
+ConstructType JSTestJSBuiltinConstructorConstructor::getConstructData(JSCell*, ConstructData& constructData)
+{
+ constructData.native.function = constructJSTestJSBuiltinConstructor;
+ return ConstructTypeHost;
+}
+
+/* Hash table for prototype */
+
+static const HashTableValue JSTestJSBuiltinConstructorPrototypeTableValues[] =
+{
+ { "constructor", DontEnum | ReadOnly, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsTestJSBuiltinConstructorConstructor), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) } },
+};
+
+const ClassInfo JSTestJSBuiltinConstructorPrototype::s_info = { "TestJSBuiltinConstructorPrototype", &Base::s_info, 0, CREATE_METHOD_TABLE(JSTestJSBuiltinConstructorPrototype) };
+
+void JSTestJSBuiltinConstructorPrototype::finishCreation(VM& vm)
+{
+ Base::finishCreation(vm);
+ reifyStaticProperties(vm, JSTestJSBuiltinConstructorPrototypeTableValues, *this);
+}
+
+const ClassInfo JSTestJSBuiltinConstructor::s_info = { "TestJSBuiltinConstructor", &Base::s_info, 0, CREATE_METHOD_TABLE(JSTestJSBuiltinConstructor) };
+
+JSTestJSBuiltinConstructor::JSTestJSBuiltinConstructor(Structure* structure, JSDOMGlobalObject* globalObject)
+ : JSDOMWrapper(structure, globalObject) { }
+
+JSObject* JSTestJSBuiltinConstructor::createPrototype(VM& vm, JSGlobalObject* globalObject)
+{
+ return JSTestJSBuiltinConstructorPrototype::create(vm, globalObject, JSTestJSBuiltinConstructorPrototype::createStructure(vm, globalObject, globalObject->objectPrototype()));
+}
+
+JSObject* JSTestJSBuiltinConstructor::getPrototype(VM& vm, JSGlobalObject* globalObject)
+{
+ return getDOMPrototype<JSTestJSBuiltinConstructor>(vm, globalObject);
+}
+
+void JSTestJSBuiltinConstructor::destroy(JSC::JSCell* cell)
+{
+ JSTestJSBuiltinConstructor* thisObject = static_cast<JSTestJSBuiltinConstructor*>(cell);
+ thisObject->JSTestJSBuiltinConstructor::~JSTestJSBuiltinConstructor();
+}
+
+JSTestJSBuiltinConstructor::~JSTestJSBuiltinConstructor()
+{
+}
+
+EncodedJSValue jsTestJSBuiltinConstructorConstructor(ExecState* state, JSObject* baseValue, EncodedJSValue, PropertyName)
+{
+ JSTestJSBuiltinConstructorPrototype* domObject = jsDynamicCast<JSTestJSBuiltinConstructorPrototype*>(baseValue);
+ if (!domObject)
+ return throwVMTypeError(state);
+ return JSValue::encode(JSTestJSBuiltinConstructor::getConstructor(state->vm(), domObject->globalObject()));
+}
+
+JSValue JSTestJSBuiltinConstructor::getConstructor(VM& vm, JSGlobalObject* globalObject)
+{
+ return getDOMConstructor<JSTestJSBuiltinConstructorConstructor>(vm, jsCast<JSDOMGlobalObject*>(globalObject));
+}
+
+void JSTestJSBuiltinConstructor::visitChildren(JSCell* cell, SlotVisitor& visitor)
+{
+ auto* thisObject = jsCast<JSTestJSBuiltinConstructor*>(cell);
+ ASSERT_GC_OBJECT_INHERITS(thisObject, info());
+ Base::visitChildren(thisObject, visitor);
+}
+
+
+}
Added: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestJSBuiltinConstructor.h (0 => 190314)
--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestJSBuiltinConstructor.h (rev 0)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestJSBuiltinConstructor.h 2015-09-29 17:49:28 UTC (rev 190314)
@@ -0,0 +1,62 @@
+/*
+ This file is part of the WebKit open source project.
+ This file has been generated by generate-bindings.pl. DO NOT MODIFY!
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#ifndef JSTestJSBuiltinConstructor_h
+#define JSTestJSBuiltinConstructor_h
+
+#include "JSDOMWrapper.h"
+
+namespace WebCore {
+
+class JSTestJSBuiltinConstructor : public JSDOMWrapper {
+public:
+ typedef JSDOMWrapper Base;
+ static JSTestJSBuiltinConstructor* create(JSC::Structure* structure, JSDOMGlobalObject* globalObject)
+ {
+ JSTestJSBuiltinConstructor* ptr = new (NotNull, JSC::allocateCell<JSTestJSBuiltinConstructor>(globalObject->vm().heap)) JSTestJSBuiltinConstructor(structure, globalObject);
+ ptr->finishCreation(globalObject->vm());
+ return ptr;
+ }
+
+ static JSC::JSObject* createPrototype(JSC::VM&, JSC::JSGlobalObject*);
+ static JSC::JSObject* getPrototype(JSC::VM&, JSC::JSGlobalObject*);
+ static void destroy(JSC::JSCell*);
+ ~JSTestJSBuiltinConstructor();
+
+ DECLARE_INFO;
+
+ static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype)
+ {
+ return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info());
+ }
+
+ static JSC::JSValue getConstructor(JSC::VM&, JSC::JSGlobalObject*);
+ static void visitChildren(JSCell*, JSC::SlotVisitor&);
+
+protected:
+ JSTestJSBuiltinConstructor(JSC::Structure*, JSDOMGlobalObject*);
+
+};
+
+
+
+} // namespace WebCore
+
+#endif
Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp (190313 => 190314)
--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp 2015-09-29 17:41:33 UTC (rev 190313)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp 2015-09-29 17:49:28 UTC (rev 190314)
@@ -24,7 +24,6 @@
#include "ExceptionCode.h"
#include "JSDOMBinding.h"
#include "JSMediaQueryListListener.h"
-#include "TestMediaQueryListListener.h"
#include <runtime/Error.h>
#include <wtf/GetPtr.h>
Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNamedConstructor.cpp (190313 => 190314)
--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNamedConstructor.cpp 2015-09-29 17:41:33 UTC (rev 190313)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNamedConstructor.cpp 2015-09-29 17:49:28 UTC (rev 190314)
@@ -24,7 +24,6 @@
#include "DOMConstructorWithDocument.h"
#include "ExceptionCode.h"
#include "JSDOMBinding.h"
-#include "TestNamedConstructor.h"
#include <runtime/Error.h>
#include <wtf/GetPtr.h>
Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNode.cpp (190313 => 190314)
--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNode.cpp 2015-09-29 17:41:33 UTC (rev 190313)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNode.cpp 2015-09-29 17:49:28 UTC (rev 190314)
@@ -23,7 +23,6 @@
#include "ExceptionCode.h"
#include "JSDOMBinding.h"
-#include "TestNode.h"
#include "URL.h"
#include <runtime/Error.h>
#include <runtime/JSString.h>
Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNondeterministic.cpp (190313 => 190314)
--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNondeterministic.cpp 2015-09-29 17:41:33 UTC (rev 190313)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNondeterministic.cpp 2015-09-29 17:49:28 UTC (rev 190314)
@@ -23,7 +23,6 @@
#include "ExceptionCode.h"
#include "JSDOMBinding.h"
-#include "TestNondeterministic.h"
#include "URL.h"
#include <runtime/Error.h>
#include <runtime/JSString.h>
Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp (190313 => 190314)
--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp 2015-09-29 17:41:33 UTC (rev 190313)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp 2015-09-29 17:49:28 UTC (rev 190314)
@@ -24,7 +24,6 @@
#include "ExceptionCode.h"
#include "JSBlob.h"
#include "JSDOMBinding.h"
-#include "TestOverloadedConstructors.h"
#include <runtime/Error.h>
#include <wtf/GetPtr.h>
Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestOverrideBuiltins.cpp (190313 => 190314)
--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestOverrideBuiltins.cpp 2015-09-29 17:41:33 UTC (rev 190313)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestOverrideBuiltins.cpp 2015-09-29 17:49:28 UTC (rev 190314)
@@ -25,7 +25,6 @@
#include "JSDOMBinding.h"
#include "JSNode.h"
#include "Node.h"
-#include "TestOverrideBuiltins.h"
#include "wtf/text/AtomicString.h"
#include <runtime/Error.h>
#include <wtf/GetPtr.h>
Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp (190313 => 190314)
--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp 2015-09-29 17:41:33 UTC (rev 190313)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp 2015-09-29 17:49:28 UTC (rev 190314)
@@ -28,7 +28,6 @@
#include "JSMessagePort.h"
#include "MessagePort.h"
#include "SerializedScriptValue.h"
-#include "TestSerializedScriptValueInterface.h"
#include <runtime/JSArray.h>
#include <wtf/GetPtr.h>
Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestTypedefs.cpp (190313 => 190314)
--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestTypedefs.cpp 2015-09-29 17:41:33 UTC (rev 190313)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestTypedefs.cpp 2015-09-29 17:49:28 UTC (rev 190314)
@@ -32,7 +32,6 @@
#include "JSTestSubObj.h"
#include "SVGPoint.h"
#include "SerializedScriptValue.h"
-#include "TestTypedefs.h"
#include "URL.h"
#include <runtime/Error.h>
#include <runtime/JSArray.h>
Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSattribute.cpp (190313 => 190314)
--- trunk/Source/WebCore/bindings/scripts/test/JS/JSattribute.cpp 2015-09-29 17:41:33 UTC (rev 190313)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSattribute.cpp 2015-09-29 17:49:28 UTC (rev 190314)
@@ -23,7 +23,6 @@
#include "JSDOMBinding.h"
#include "URL.h"
-#include "attribute.h"
#include <runtime/JSString.h>
#include <wtf/GetPtr.h>
Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSreadonly.cpp (190313 => 190314)
--- trunk/Source/WebCore/bindings/scripts/test/JS/JSreadonly.cpp 2015-09-29 17:41:33 UTC (rev 190313)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSreadonly.cpp 2015-09-29 17:49:28 UTC (rev 190314)
@@ -22,7 +22,6 @@
#include "JSreadonly.h"
#include "JSDOMBinding.h"
-#include "readonly.h"
#include <wtf/GetPtr.h>
using namespace JSC;
Added: trunk/Source/WebCore/bindings/scripts/test/ObjC/DOMTestJSBuiltinConstructor.h (0 => 190314)
--- trunk/Source/WebCore/bindings/scripts/test/ObjC/DOMTestJSBuiltinConstructor.h (rev 0)
+++ trunk/Source/WebCore/bindings/scripts/test/ObjC/DOMTestJSBuiltinConstructor.h 2015-09-29 17:49:28 UTC (rev 190314)
@@ -0,0 +1,31 @@
+/*
+ * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009 Apple Inc. All rights reserved.
+ * Copyright (C) 2006 Samuel Weinig <sam.wei...@gmail.com>
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#import <WebCore/DOMObject.h>
+
+WEBKIT_CLASS_AVAILABLE_MAC(9876_5)
+WEBCORE_EXPORT @interface DOMTestJSBuiltinConstructor : DOMObject
+@end
Added: trunk/Source/WebCore/bindings/scripts/test/ObjC/DOMTestJSBuiltinConstructor.mm (0 => 190314)
--- trunk/Source/WebCore/bindings/scripts/test/ObjC/DOMTestJSBuiltinConstructor.mm (rev 0)
+++ trunk/Source/WebCore/bindings/scripts/test/ObjC/DOMTestJSBuiltinConstructor.mm 2015-09-29 17:49:28 UTC (rev 190314)
@@ -0,0 +1,82 @@
+/*
+ * This file is part of the WebKit open source project.
+ * This file has been generated by generate-bindings.pl. DO NOT MODIFY!
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#import "config.h"
+#import "DOMInternal.h"
+
+#import "DOMTestJSBuiltinConstructor.h"
+
+#import "DOMNodeInternal.h"
+#import "DOMTestJSBuiltinConstructorInternal.h"
+#import "ExceptionHandlers.h"
+#import "JSMainThreadExecState.h"
+#import "TestJSBuiltinConstructor.h"
+#import "ThreadCheck.h"
+#import "WebCoreObjCExtras.h"
+#import "WebScriptObjectPrivate.h"
+#import <wtf/GetPtr.h>
+
+#define IMPL reinterpret_cast<WebCore::TestJSBuiltinConstructor*>(_internal)
+
+@implementation DOMTestJSBuiltinConstructor
+
+- (void)dealloc
+{
+ if (WebCoreObjCScheduleDeallocateOnMainThread([DOMTestJSBuiltinConstructor class], self))
+ return;
+
+ if (_internal)
+ IMPL->deref();
+ [super dealloc];
+}
+
+- (void)finalize
+{
+ if (_internal)
+ IMPL->deref();
+ [super finalize];
+}
+
+@end
+
+WebCore::TestJSBuiltinConstructor* core(DOMTestJSBuiltinConstructor *wrapper)
+{
+ return wrapper ? reinterpret_cast<WebCore::TestJSBuiltinConstructor*>(wrapper->_internal) : 0;
+}
+
+DOMTestJSBuiltinConstructor *kit(WebCore::TestJSBuiltinConstructor* value)
+{
+ WebCoreThreadViolationCheckRoundOne();
+ if (!value)
+ return nil;
+ if (DOMTestJSBuiltinConstructor *wrapper = getDOMWrapper(value))
+ return [[wrapper retain] autorelease];
+ DOMTestJSBuiltinConstructor *wrapper = [[DOMTestJSBuiltinConstructor alloc] _init];
+ wrapper->_internal = reinterpret_cast<DOMObjectInternal*>(value);
+ value->ref();
+ addDOMWrapper(wrapper, value);
+ return [wrapper autorelease];
+}
Added: trunk/Source/WebCore/bindings/scripts/test/ObjC/DOMTestJSBuiltinConstructorInternal.h (0 => 190314)
--- trunk/Source/WebCore/bindings/scripts/test/ObjC/DOMTestJSBuiltinConstructorInternal.h (rev 0)
+++ trunk/Source/WebCore/bindings/scripts/test/ObjC/DOMTestJSBuiltinConstructorInternal.h 2015-09-29 17:49:28 UTC (rev 190314)
@@ -0,0 +1,34 @@
+/*
+ * This file is part of the WebKit open source project.
+ * This file has been generated by generate-bindings.pl. DO NOT MODIFY!
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#import <WebCore/DOMTestJSBuiltinConstructor.h>
+
+namespace WebCore {
+class TestJSBuiltinConstructor;
+}
+
+WEBCORE_EXPORT WebCore::TestJSBuiltinConstructor* core(DOMTestJSBuiltinConstructor *);
+WEBCORE_EXPORT DOMTestJSBuiltinConstructor *kit(WebCore::TestJSBuiltinConstructor*);
Added: trunk/Source/WebCore/bindings/scripts/test/TestJSBuiltinConstructor.idl (0 => 190314)
--- trunk/Source/WebCore/bindings/scripts/test/TestJSBuiltinConstructor.idl (rev 0)
+++ trunk/Source/WebCore/bindings/scripts/test/TestJSBuiltinConstructor.idl 2015-09-29 17:49:28 UTC (rev 190314)
@@ -0,0 +1,33 @@
+/*
+ * Copyright (C) 2015 Canon Inc.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted, provided that the following conditions
+ * are required to be met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. Neither the name of Canon Inc. nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY CANON INC. AND ITS CONTRIBUTORS "AS IS" AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL CANON INC. AND ITS CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+ * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+[
+ JSBuiltinConstructor
+] interface TestJSBuiltinConstructor {
+};
+