[SCM] WebKit Debian packaging branch, debian/experimental, updated. upstream/1.3.3-9427-gc2be6fc

msaboff at apple.com msaboff at apple.com
Wed Dec 22 14:30:51 UTC 2010


The following commit has been merged in the debian/experimental branch:
commit f50c011568180e96342dfd0d8d16e2db523e2c5c
Author: msaboff at apple.com <msaboff at apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Tue Oct 12 02:12:51 2010 +0000

    2010-10-11  Michael Saboff  <msaboff at apple.com>
    
            Reviewed by Darin Adler.
    
            Added and changed tests to verify that DOMWindow objects are
            create with appropriate constructors and that those constructors
            are not callable directly.
            https://bugs.webkit.org/show_bug.cgi?id=47422
    
            * fast/dom/Window/window-constructor-expected.txt: Added.
            * fast/dom/Window/window-constructor.html: Added.
            * fast/dom/Window/window-properties-expected.txt:
            * fast/dom/Window/window-property-descriptors-expected.txt:
            * fast/dom/prototype-inheritance-2-expected.txt:
            * fast/dom/script-tests/constructors-cached.js:
            * fast/dom/wrapper-classes-expected.txt:
            * http/tests/security/cross-frame-access-get-expected.txt:
            * http/tests/security/cross-frame-access-get.html:
            * http/tests/security/cross-frame-access-put.html:
            * inspector/console-dir-global-expected.txt:
            * java/lc3/JSObject/ToJSObject-001-expected.txt:
            * java/lc3/JSObject/ToObject-001-expected.txt:
    2010-10-11  Michael Saboff  <msaboff at apple.com>
    
            Reviewed by Darin Adler.
    
            Changed DOMWindow to have a constructor.  Updated the code generator
            to add security checks to the constructors if CheckDomainSecurity is
            set.  Also changed the constructor generation code to use
            globalObject->prototype() for DOMWindow object prototypes instead
            of "self".
            https://bugs.webkit.org/show_bug.cgi?id=47422
    
            Test: fast/dom/Window/window-constructor.html
    
            * bindings/scripts/CodeGeneratorJS.pm:
            * page/DOMWindow.idl:
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@69553 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/LayoutTests/ChangeLog b/LayoutTests/ChangeLog
index 2a213fb..5fdb933 100644
--- a/LayoutTests/ChangeLog
+++ b/LayoutTests/ChangeLog
@@ -1,3 +1,26 @@
+2010-10-11  Michael Saboff  <msaboff at apple.com>
+
+        Reviewed by Darin Adler.
+
+        Added and changed tests to verify that DOMWindow objects are
+        create with appropriate constructors and that those constructors
+        are not callable directly.
+        https://bugs.webkit.org/show_bug.cgi?id=47422
+
+        * fast/dom/Window/window-constructor-expected.txt: Added.
+        * fast/dom/Window/window-constructor.html: Added.
+        * fast/dom/Window/window-properties-expected.txt:
+        * fast/dom/Window/window-property-descriptors-expected.txt:
+        * fast/dom/prototype-inheritance-2-expected.txt:
+        * fast/dom/script-tests/constructors-cached.js:
+        * fast/dom/wrapper-classes-expected.txt:
+        * http/tests/security/cross-frame-access-get-expected.txt:
+        * http/tests/security/cross-frame-access-get.html:
+        * http/tests/security/cross-frame-access-put.html:
+        * inspector/console-dir-global-expected.txt:
+        * java/lc3/JSObject/ToJSObject-001-expected.txt:
+        * java/lc3/JSObject/ToObject-001-expected.txt:
+
 2010-10-11  Prasad Tammana  <prasadt at chromium.org>
 
         Reviewed by Dmitry Titov.
diff --git a/LayoutTests/fast/dom/Window/script-tests/window-property-descriptors.js b/LayoutTests/fast/dom/Window/script-tests/window-property-descriptors.js
index bd03d8e..42b09dc 100644
--- a/LayoutTests/fast/dom/Window/script-tests/window-property-descriptors.js
+++ b/LayoutTests/fast/dom/Window/script-tests/window-property-descriptors.js
@@ -7,6 +7,7 @@ var __skip__ = {
 
     // Don't log DumpRenderTree injected objects
     "layoutTestController" : 1, // Work around http://bugs.webkit.org/show_bug.cgi?id=11373
+    "constructor" : 0,  // Workaround to include constructor in windowPropertyNames
     "GCController" : 1,
     "accessibilityController" : 1,
     "appleScriptController" : 1,
@@ -59,6 +60,8 @@ for (var i = 0; i < protoPropertyNames.length; ++i) {
     // Ignore these properties because they do not exist in all implementations.
     if (protoPropertyNames[i] == "createBlobURL" || protoPropertyNames[i] == "revokeBlobURL")
         continue;
+    if (protoPropertyNames[i] == "constructor")
+        continue;
     shouldBeUndefined("Object.getOwnPropertyDescriptor(window, '" + protoPropertyNames[i] + "')");
 }
 
diff --git a/LayoutTests/fast/dom/Window/window-constructor-expected.txt b/LayoutTests/fast/dom/Window/window-constructor-expected.txt
new file mode 100644
index 0000000..1dbfa18
--- /dev/null
+++ b/LayoutTests/fast/dom/Window/window-constructor-expected.txt
@@ -0,0 +1,4 @@
+Test for bug 47422: window constructor shouldn't be directly callable.
+
+Window constructor prototype is window prototype: PASS
+Window constructor not callable: PASS
diff --git a/LayoutTests/fast/dom/Window/window-constructor.html b/LayoutTests/fast/dom/Window/window-constructor.html
new file mode 100644
index 0000000..26e9c33
--- /dev/null
+++ b/LayoutTests/fast/dom/Window/window-constructor.html
@@ -0,0 +1,54 @@
+<html>
+<head></head>
+<body>
+<p>Test for <a href="http://bugs.webkit.org/show_bug.cgi?id=47422">bug 47422</a>:
+window constructor shouldn't be directly callable.</p>
+<div id="console"></div>
+<script>
+if (window.layoutTestController) {
+    window.layoutTestController.dumpAsText();
+}
+
+function log(message, color) 
+{
+    var paragraph = document.createElement("div");
+    paragraph.appendChild(document.createTextNode(message));
+    paragraph.style.fontFamily = "monospace";
+    if (color)
+    paragraph.style.color = color;
+    document.getElementById("console").appendChild(paragraph);
+}
+    
+function testConstructorProto()
+{
+    var testName = "Window constructor prototype is window prototype"
+    if (window.constructor.prototype === window.__proto__)
+        log(testName + ": PASS", "green");
+    else
+        log(testName + ": FAIL", "red");
+}
+
+function testConstructorNotCallable()
+{
+    var testName = "Window constructor not callable"
+    
+    var threwExc = false;
+    
+    try {
+        newW = window.constructor()
+    } catch(e) {
+        threwExc = true;
+    }
+
+    if (threwExc) {
+        log(testName + ": PASS", "green");
+    } else {
+        log(testName + ": FAIL", "red");
+    }
+}
+
+testConstructorProto();
+testConstructorNotCallable();
+</script>
+</body>
+</html>
diff --git a/LayoutTests/fast/dom/Window/window-properties-expected.txt b/LayoutTests/fast/dom/Window/window-properties-expected.txt
index cc1d0be..911dc4b 100644
--- a/LayoutTests/fast/dom/Window/window-properties-expected.txt
+++ b/LayoutTests/fast/dom/Window/window-properties-expected.txt
@@ -2192,6 +2192,46 @@ window.console.time [function]
 window.console.timeEnd [function]
 window.console.trace [function]
 window.console.warn [function]
+window.constructor [object DOMWindowConstructor]
+window.constructor.prototype [object DOMWindowPrototype]
+window.constructor.prototype.addEventListener [function]
+window.constructor.prototype.alert [function]
+window.constructor.prototype.atob [function]
+window.constructor.prototype.blur [function]
+window.constructor.prototype.btoa [function]
+window.constructor.prototype.captureEvents [function]
+window.constructor.prototype.clearInterval [function]
+window.constructor.prototype.clearTimeout [function]
+window.constructor.prototype.close [function]
+window.constructor.prototype.confirm [function]
+window.constructor.prototype.createBlobURL [function]
+window.constructor.prototype.dispatchEvent [function]
+window.constructor.prototype.find [function]
+window.constructor.prototype.focus [function]
+window.constructor.prototype.getComputedStyle [function]
+window.constructor.prototype.getMatchedCSSRules [function]
+window.constructor.prototype.getSelection [function]
+window.constructor.prototype.moveBy [function]
+window.constructor.prototype.moveTo [function]
+window.constructor.prototype.open [function]
+window.constructor.prototype.openDatabase [function]
+window.constructor.prototype.postMessage [function]
+window.constructor.prototype.print [function]
+window.constructor.prototype.prompt [function]
+window.constructor.prototype.releaseEvents [function]
+window.constructor.prototype.removeEventListener [function]
+window.constructor.prototype.resizeBy [function]
+window.constructor.prototype.resizeTo [function]
+window.constructor.prototype.revokeBlobURL [function]
+window.constructor.prototype.scroll [function]
+window.constructor.prototype.scrollBy [function]
+window.constructor.prototype.scrollTo [function]
+window.constructor.prototype.setInterval [function]
+window.constructor.prototype.setTimeout [function]
+window.constructor.prototype.showModalDialog [function]
+window.constructor.prototype.stop [function]
+window.constructor.prototype.webkitConvertPointFromNodeToPage [function]
+window.constructor.prototype.webkitConvertPointFromPageToNode [function]
 window.crypto [undefined]
 window.decodeURI [function]
 window.decodeURIComponent [function]
diff --git a/LayoutTests/fast/dom/Window/window-property-descriptors-expected.txt b/LayoutTests/fast/dom/Window/window-property-descriptors-expected.txt
index f5e763f..bbbf4f7 100644
--- a/LayoutTests/fast/dom/Window/window-property-descriptors-expected.txt
+++ b/LayoutTests/fast/dom/Window/window-property-descriptors-expected.txt
@@ -333,6 +333,7 @@ PASS typeof Object.getOwnPropertyDescriptor(window, 'areArraysEqual') is 'object
 PASS typeof Object.getOwnPropertyDescriptor(window, 'clientInformation') is 'object'
 PASS typeof Object.getOwnPropertyDescriptor(window, 'closed') is 'object'
 PASS typeof Object.getOwnPropertyDescriptor(window, 'console') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'constructor') is 'object'
 PASS typeof Object.getOwnPropertyDescriptor(window, 'crypto') is 'object'
 PASS typeof Object.getOwnPropertyDescriptor(window, 'debug') is 'object'
 PASS typeof Object.getOwnPropertyDescriptor(window, 'decodeURI') is 'object'
@@ -497,7 +498,6 @@ PASS Object.getOwnPropertyDescriptor(window, 'clearInterval') is undefined.
 PASS Object.getOwnPropertyDescriptor(window, 'clearTimeout') is undefined.
 PASS Object.getOwnPropertyDescriptor(window, 'close') is undefined.
 PASS Object.getOwnPropertyDescriptor(window, 'confirm') is undefined.
-PASS Object.getOwnPropertyDescriptor(window, 'constructor') is undefined.
 PASS Object.getOwnPropertyDescriptor(window, 'dispatchEvent') is undefined.
 PASS Object.getOwnPropertyDescriptor(window, 'find') is undefined.
 PASS Object.getOwnPropertyDescriptor(window, 'focus') is undefined.
diff --git a/LayoutTests/fast/dom/prototype-inheritance-2-expected.txt b/LayoutTests/fast/dom/prototype-inheritance-2-expected.txt
index 3451d16..cb33387 100644
--- a/LayoutTests/fast/dom/prototype-inheritance-2-expected.txt
+++ b/LayoutTests/fast/dom/prototype-inheritance-2-expected.txt
@@ -81,6 +81,7 @@ PASS DOMTokenList from inner.document.forms.testForm.0.0.classList
 PASS DOMTokenListConstructor from inner.document.forms.testForm.0.classList.constructor
 PASS DOMTokenListPrototype from inner.document.forms.testForm.0.0.classList.__proto__
 PASS DOMWindow from inner
+PASS DOMWindowConstructor from inner.document.forms.testForm.0.ownerDocument.defaultView.constructor
 PASS DOMWindowPrototype from inner.document.forms.testForm.0.ownerDocument.defaultView.__proto__
 PASS DocumentPrototype from inner.document.forms.testForm.0.ownerDocument.__proto__.__proto__
 PASS ElementPrototype from inner.document.forms.testForm.0.__proto__.__proto__.__proto__
diff --git a/LayoutTests/fast/dom/script-tests/constructors-cached.js b/LayoutTests/fast/dom/script-tests/constructors-cached.js
index c3af5d8..aefdf1c 100644
--- a/LayoutTests/fast/dom/script-tests/constructors-cached.js
+++ b/LayoutTests/fast/dom/script-tests/constructors-cached.js
@@ -1,19 +1,19 @@
 description("This test ensures that objects with security restrictions are cached correctly");
 
-var constructors = ["Image", "Option", "XMLHttpRequest", "Audio"];
+var ctors = ["Image", "Option", "XMLHttpRequest", "Audio"];
 
-for (var i = 0; i < constructors.length; i++) {
-    var constructor = constructors[i];
+for (var i = 0; i < ctors.length; i++) {
+    var ctor = ctors[i];
     try {
         // Test retrieving the object twice results in the same object
-        shouldBe(constructor, constructor);
+        shouldBe(ctor, ctor);
 
         // Be paranoid -- make sure that setting a property results in that property
         // stays
-        this[constructor].testProperty = "property set successfully";
-        shouldBe(constructor + ".testProperty", '"property set successfully"');
+        this[ctor].testProperty = "property set successfully";
+        shouldBe(ctor + ".testProperty", '"property set successfully"');
     } catch (e) {
-        testFailed("Testing " + constructor + " threw " + e);
+        testFailed("Testing " + ctor + " threw " + e);
     }
 }
 
diff --git a/LayoutTests/fast/dom/wrapper-classes-expected.txt b/LayoutTests/fast/dom/wrapper-classes-expected.txt
index 81656ea..70958f4 100644
--- a/LayoutTests/fast/dom/wrapper-classes-expected.txt
+++ b/LayoutTests/fast/dom/wrapper-classes-expected.txt
@@ -130,7 +130,7 @@ Other
 
 PASS jsWrapperClass(window) is 'DOMWindow'
 PASS jsWrapperClass(window.__proto__) is 'DOMWindowPrototype'
-FAIL jsWrapperClass(window.constructor) should be DOMWindowConstructor. Was Function.
+PASS jsWrapperClass(window.constructor) is 'DOMWindowConstructor'
 
 HTML DOM
 
diff --git a/LayoutTests/http/tests/security/cross-frame-access-get-expected.txt b/LayoutTests/http/tests/security/cross-frame-access-get-expected.txt
index 98146fb..7c2ee23 100644
--- a/LayoutTests/http/tests/security/cross-frame-access-get-expected.txt
+++ b/LayoutTests/http/tests/security/cross-frame-access-get-expected.txt
@@ -374,6 +374,8 @@ CONSOLE MESSAGE: line 1: Unsafe JavaScript attempt to access frame with URL http
 
 CONSOLE MESSAGE: line 1: Unsafe JavaScript attempt to access frame with URL http://localhost:8000/security/resources/cross-frame-iframe-for-get-test.html from frame with URL http://127.0.0.1:8000/security/cross-frame-access-get.html. Domains, protocols and ports must match.
 
+CONSOLE MESSAGE: line 1: Unsafe JavaScript attempt to access frame with URL http://localhost:8000/security/resources/cross-frame-iframe-for-get-test.html from frame with URL http://127.0.0.1:8000/security/cross-frame-access-get.html. Domains, protocols and ports must match.
+
 This test checks cross-frame access security (rdar://problem/5251309).
 
 
@@ -515,6 +517,7 @@ PASS: canGet('targetWindow.captureEvents') should be 'false' and is.
 PASS: canGet('targetWindow.clearInterval') should be 'false' and is.
 PASS: canGet('targetWindow.clearTimeout') should be 'false' and is.
 PASS: canGet('targetWindow.confirm') should be 'false' and is.
+PASS: canGet('targetWindow.constructor') should be 'false' and is.
 PASS: canGet('targetWindow.find') should be 'false' and is.
 PASS: canGet('targetWindow.getComputedStyle') should be 'false' and is.
 PASS: canGet('targetWindow.getMatchedCSSRules') should be 'false' and is.
diff --git a/LayoutTests/http/tests/security/cross-frame-access-get.html b/LayoutTests/http/tests/security/cross-frame-access-get.html
index d7c184a..2143009 100644
--- a/LayoutTests/http/tests/security/cross-frame-access-get.html
+++ b/LayoutTests/http/tests/security/cross-frame-access-get.html
@@ -114,6 +114,7 @@
             "clearInterval", 
             "clearTimeout", 
             "confirm",
+            "constructor",
             "find", 
             "getComputedStyle",
             "getMatchedCSSRules", 
diff --git a/LayoutTests/http/tests/security/cross-frame-access-put.html b/LayoutTests/http/tests/security/cross-frame-access-put.html
index babff65..4d3a36d 100644
--- a/LayoutTests/http/tests/security/cross-frame-access-put.html
+++ b/LayoutTests/http/tests/security/cross-frame-access-put.html
@@ -206,6 +206,7 @@ window.onload = function()
     setForbiddenProperty(targetWindow, "clearTimeout");
     setForbiddenProperty(targetWindow, "close");
     setForbiddenProperty(targetWindow, "confirm");
+    setForbiddenProperty(targetWindow, "constructor");
     setForbiddenProperty(targetWindow, "eval");
     setForbiddenProperty(targetWindow, "find");
     setForbiddenProperty(targetWindow, "focus");
diff --git a/LayoutTests/inspector/console-dir-global-expected.txt b/LayoutTests/inspector/console-dir-global-expected.txt
index 7a8d6a9..86c3bb6 100644
--- a/LayoutTests/inspector/console-dir-global-expected.txt
+++ b/LayoutTests/inspector/console-dir-global-expected.txt
@@ -4,6 +4,7 @@ Tests that console dumps global object with properties.
 {
     Array : 1
     console : 1
+    constructor : 1
     document : 1
     doit : 1
     eval : 1
diff --git a/LayoutTests/java/lc3/JSObject/ToJSObject-001-expected.txt b/LayoutTests/java/lc3/JSObject/ToJSObject-001-expected.txt
index 308d791..be706ac 100644
--- a/LayoutTests/java/lc3/JSObject/ToJSObject-001-expected.txt
+++ b/LayoutTests/java/lc3/JSObject/ToJSObject-001-expected.txt
@@ -16,7 +16,7 @@ PASS jsoc.setJSObject( MyObject ); jsoc.getJSObject() is MyObject
 PASS jsoc.getJSObject().constructor is Function
 FAIL jsoc.setJSObject( THIS ); jsoc.PUB_JSOBJECT should be [object DOMWindow]. Was [object DOMWindow].
 PASS jsoc.setJSObject( THIS ); jsoc.getJSObject() is this
-PASS jsoc.getJSObject().constructor is Object
+PASS jsoc.getJSObject().constructor is this.constructor
 FAIL jsoc.setJSObject( Math ); jsoc.PUB_JSOBJECT should be [object Math]. Was [object Math].
 PASS jsoc.setJSObject( Math ); jsoc.getJSObject() is Math
 PASS jsoc.getJSObject().constructor is Object
diff --git a/LayoutTests/java/lc3/JSObject/ToJSObject-001.js b/LayoutTests/java/lc3/JSObject/ToJSObject-001.js
index 3f50e4b..35a0c93 100644
--- a/LayoutTests/java/lc3/JSObject/ToJSObject-001.js
+++ b/LayoutTests/java/lc3/JSObject/ToJSObject-001.js
@@ -173,7 +173,7 @@ a[i++] = new TestObject(
   "jsoc.getJSObject()",
   "jsoc.getJSObject().constructor",
   'this',
-  'Object');
+  'this.constructor');
 
 a[i++] = new TestObject(
   "jsoc.setJSObject( Math )",
diff --git a/LayoutTests/java/lc3/JSObject/ToObject-001-expected.txt b/LayoutTests/java/lc3/JSObject/ToObject-001-expected.txt
index 659a2a4..1bffde1 100644
--- a/LayoutTests/java/lc3/JSObject/ToObject-001-expected.txt
+++ b/LayoutTests/java/lc3/JSObject/ToObject-001-expected.txt
@@ -43,7 +43,7 @@ PASS dt.setObject( MyObject ); dt.getObject() is MyObject
 PASS dt.getObject().constructor is Function
 FAIL dt.setObject( THIS ); dt.PUB_OBJECT should be [object DOMWindow]. Was [object DOMWindow].
 PASS dt.setObject( THIS ); dt.getObject() is this
-PASS dt.getObject().constructor is Object
+PASS dt.getObject().constructor is this.constructor
 FAIL dt.setObject( Math ); dt.PUB_OBJECT should be [object Math]. Was [object Math].
 PASS dt.setObject( Math ); dt.getObject() is Math
 PASS dt.getObject().constructor is Object
diff --git a/LayoutTests/java/lc3/JSObject/ToObject-001.js b/LayoutTests/java/lc3/JSObject/ToObject-001.js
index 4a01190..2096b2b 100644
--- a/LayoutTests/java/lc3/JSObject/ToObject-001.js
+++ b/LayoutTests/java/lc3/JSObject/ToObject-001.js
@@ -175,7 +175,7 @@ a[i++] = new TestObject(
   "dt.getObject()",
   "dt.getObject().constructor",
   'this',
-  'Object');
+  'this.constructor');
 
 a[i++] = new TestObject(
   "dt.setObject( Math )",
diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index 138ee11..3b83b88 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,19 @@
+2010-10-11  Michael Saboff  <msaboff at apple.com>
+
+        Reviewed by Darin Adler.
+
+        Changed DOMWindow to have a constructor.  Updated the code generator
+        to add security checks to the constructors if CheckDomainSecurity is 
+        set.  Also changed the constructor generation code to use 
+        globalObject->prototype() for DOMWindow object prototypes instead
+        of "self".
+        https://bugs.webkit.org/show_bug.cgi?id=47422
+
+        Test: fast/dom/Window/window-constructor.html
+
+        * bindings/scripts/CodeGeneratorJS.pm:
+        * page/DOMWindow.idl:
+
 2010-10-11  Daniel Cheng  <dcheng at chromium.org>
 
         Reviewed by Tony Chang.
diff --git a/WebCore/bindings/scripts/CodeGeneratorJS.pm b/WebCore/bindings/scripts/CodeGeneratorJS.pm
index 803542e..5579a35 100644
--- a/WebCore/bindings/scripts/CodeGeneratorJS.pm
+++ b/WebCore/bindings/scripts/CodeGeneratorJS.pm
@@ -1632,6 +1632,12 @@ sub GenerateImplementation
                 push(@implContent, "JSValue ${constructorFunctionName}(ExecState* exec, JSValue slotBase, const Identifier&)\n");
                 push(@implContent, "{\n");
                 push(@implContent, "    ${className}* domObject = static_cast<$className*>(asObject(slotBase));\n");
+
+                if ($dataNode->extendedAttributes->{"CheckDomainSecurity"}) {
+                    push(@implContent, "    if (!domObject->allowsAccessFrom(exec))\n");
+                    push(@implContent, "        return jsUndefined();\n");
+                }
+
                 push(@implContent, "    return ${className}::getConstructor(exec, domObject->globalObject());\n");
                 push(@implContent, "}\n");
             }
@@ -2838,7 +2844,11 @@ sub GenerateConstructorDefinition
     push(@$outputArray, "${constructorClassName}::${constructorClassName}(ExecState* exec, JSDOMGlobalObject* globalObject)\n");
     push(@$outputArray, "    : DOMConstructorObject(${constructorClassName}::createStructure(globalObject->objectPrototype()), globalObject)\n");
     push(@$outputArray, "{\n");
-    push(@$outputArray, "    putDirect(exec->propertyNames().prototype, ${protoClassName}::self(exec, globalObject), DontDelete | ReadOnly);\n");
+    if ($interfaceName eq "DOMWindow") {
+        push(@$outputArray, "    putDirect(exec->propertyNames().prototype, globalObject->prototype(), DontDelete | ReadOnly);\n");
+    } else {
+        push(@$outputArray, "    putDirect(exec->propertyNames().prototype, ${protoClassName}::self(exec, globalObject), DontDelete | ReadOnly);\n");
+    }
     push(@$outputArray, "    putDirect(exec->propertyNames().length, jsNumber(exec, ${numberOfconstructParameters}), ReadOnly | DontDelete | DontEnum);\n") if $numberOfconstructParameters;
     push(@$outputArray, "}\n\n");
 
diff --git a/WebCore/page/DOMWindow.idl b/WebCore/page/DOMWindow.idl
index 507b6bf..559723b 100644
--- a/WebCore/page/DOMWindow.idl
+++ b/WebCore/page/DOMWindow.idl
@@ -38,7 +38,6 @@ module window {
         CustomNativeConverter,
         CustomPutFunction,
         EventTarget,
-        OmitConstructor,
         ExtendsDOMGlobalObject,
         GenerateNativeConverter,
         LegacyParent=JSDOMWindowBase

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list