Reviewed by Chris.
authorsullivan <sullivan@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 17 Jun 2005 15:06:58 +0000 (15:06 +0000)
committersullivan <sullivan@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 17 Jun 2005 15:06:58 +0000 (15:06 +0000)
        - fixed <rdar://problem/4151001> Reloading javascript-spawned window with no URL erases its contents

        * WebView.subproj/WebFrame.m:
        (-[WebFrame reload]):
        do nothing if URL is zero-length

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

WebKit/ChangeLog
WebKit/WebView.subproj/WebFrame.m

index 27d2277..770f55b 100644 (file)
@@ -1,3 +1,13 @@
+2005-06-17  John Sullivan  <sullivan@apple.com>
+
+        Reviewed by Chris.
+
+        - fixed <rdar://problem/4151001> Reloading javascript-spawned window with no URL erases its contents
+
+        * WebView.subproj/WebFrame.m:
+        (-[WebFrame reload]):
+        do nothing if URL is zero-length
+
 2005-06-14  John Sullivan  <sullivan@apple.com>
 
         Changes by Devin Lane.
index c7f2cbe..f67f7ba 100644 (file)
@@ -2890,6 +2890,12 @@ static CFAbsoluteTime _timeOfLastCompletedLoad;
     }
 
     NSMutableURLRequest *initialRequest = [dataSource request];
+    
+    // If a window is created by javascript, its main frame can have an empty but non-nil URL.
+    // Reloading in this case will lose the current contents (see 4151001).
+    if ([[[[dataSource request] URL] absoluteString] length] == 0) {
+        return;
+    }
 
     // Replace error-page URL with the URL we were trying to reach.
     NSURL *unreachableURL = [initialRequest _webDataRequestUnreachableURL];