2007-12-01 Rahul Abrol <ra5ul@comcast.net>
authormrowe@apple.com <mrowe@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Sat, 1 Dec 2007 16:41:55 +0000 (16:41 +0000)
committermrowe@apple.com <mrowe@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Sat, 1 Dec 2007 16:41:55 +0000 (16:41 +0000)
        Reviewed by Adam Roben.

        http://bugs.webkit.org/show_bug.cgi?id=16128
        Ignore resizable=no for window.open().

        * bindings/js/kjs_window.cpp:
        (KJS::setWindowFeature):
        (KJS::parseWindowFeatures):
        * manual-tests/window-open-features-parsing.html:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28300 268f45cc-cd09-0410-ab3c-d52691b4dbfc

WebCore/ChangeLog
WebCore/bindings/js/kjs_window.cpp
WebCore/manual-tests/window-open-features-parsing.html

index 08bf23e4470432e9c50fd22cc91e25d1eede9632..4841d621bbda1ca117a29bd65465498137bfcd12 100644 (file)
@@ -1,3 +1,15 @@
+2007-12-01  Rahul Abrol  <ra5ul@comcast.net>
+
+        Reviewed by Adam Roben.
+
+        http://bugs.webkit.org/show_bug.cgi?id=16128
+        Ignore resizable=no for window.open().
+
+        * bindings/js/kjs_window.cpp:
+        (KJS::setWindowFeature):
+        (KJS::parseWindowFeatures):
+        * manual-tests/window-open-features-parsing.html:
+
 2007-12-01  Dan Bernstein  <mitz@apple.com>
 
         Reviewed by Darin Adler.
index 0dfb032c4e8e355efc82764d1c9c9fd0220a5ed7..cdaa252caf9ce28e2d92288a73bf40553af4062e 100644 (file)
@@ -1072,7 +1072,8 @@ static void setWindowFeature(const String& keyString, const String& valueString,
         value = 1;
     else
         value = valueString.toInt();
-    
+
+    // We ignore a keyString of "resizable", which is consistent with Firefox.
     if (keyString == "left" || keyString == "screenx") {
         windowFeatures.xSet = true;
         windowFeatures.x = value;
@@ -1093,8 +1094,6 @@ static void setWindowFeature(const String& keyString, const String& valueString,
         windowFeatures.locationBarVisible = value;
     else if (keyString == "status")
         windowFeatures.statusBarVisible = value;
-    else if (keyString == "resizable")
-        windowFeatures.resizable = value;
     else if (keyString == "fullscreen")
         windowFeatures.fullscreen = value;
     else if (keyString == "scrollbars")
@@ -1115,6 +1114,7 @@ static void parseWindowFeatures(const String& features, WindowFeatures& windowFe
      standard that applies to this method.)
      
      <http://msdn.microsoft.com/workshop/author/dhtml/reference/methods/open_0.asp>
+     We always allow a window to be resized, which is consistent with Firefox.
      */
     
     windowFeatures.dialog = false;
@@ -1141,7 +1141,7 @@ static void parseWindowFeatures(const String& features, WindowFeatures& windowFe
     windowFeatures.toolBarVisible = false;
     windowFeatures.locationBarVisible = false;
     windowFeatures.scrollbarsVisible = false;
-    windowFeatures.resizable = false;
+    windowFeatures.resizable = true;
     
     // Tread lightly in this code -- it was specifically designed to mimic Win IE's parsing behavior.
     int keyBegin, keyEnd;
index 73b31da367d3e8ab86cdd39a8e8fde0cc38c71f6..db2975457db0a371aa1925b7d0879fadc5e4de32 100644 (file)
@@ -6,24 +6,24 @@ function test() {
         - 1width: reads as key:1width, an invalid key, so it doesn't override the previous width
         - left: reads as key:left value:no, which means 0, which means aligned to the left side of the screen
         - \ntoolBAR: reads as key:toolbar value:yes
-        - resizable: reads as key:resizable value:yess, which is invalid, which means no
         - \rstatus: reads as key:status value:"", which means yes
         - the trailing comma catches a previous mistake i made reading past the end of the string
     */    
-    var sFeatures = "  ,=\twidth ==    = =     0200px|0=height  400,1width=400,left=nO \ntoolBAR=yeS,resizable=yess, \rstatus= ,"; 
+    var sFeatures = "  ,=\twidth ==    = =     0200px|0=height  400,1width=400,left=nO \ntoolBAR=yeS, \rstatus= ,"; 
     var w = window.open("resources/popup200x100.html", undefined, sFeatures); 
     w.focus();
 }
 </script></head>
 <body>
-<p>This test checks whether parsing of the 'features' argument to window.open matches Win IE's behavior.</p>
+<p>This test checks whether parsing of the 'features' argument to window.open
+  matches Win IE's behavior (excepting resizable).</p>
 <p>The link below should open a window with the following attributes:</p>
 <ul>
 <li> A WebView exactly 200x100, such that you can see a red 1 pixel border along each edge of the WebView.
 <li> A window aligned to the left hand side of the screen.
 <li> Toolbar visible.
 <li> Statusbar visible.
-<li> Not resizable.
+<li> Resizable (always).
 </ul>
 <a href="" onclick="test(); return false;">Click to test</a>
 <hr>