Written by Darin, reviewed by me
authorsullivan <sullivan@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 3 Jul 2007 19:22:28 +0000 (19:22 +0000)
committersullivan <sullivan@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 3 Jul 2007 19:22:28 +0000 (19:22 +0000)
        - fixed <rdar://problem/5249730> REGRESSION (Leopard, around 9A464): Safari opens the same local
          documents more than once due to canonicalization change

        * loader/mac/LoaderNSURLExtras.m:
        (canonicalURL):
        pass URL through KURL so we get KURL's version of canonicalization as well as
        NSURLProtocol's version of canonicalization

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

WebCore/ChangeLog
WebCore/loader/mac/LoaderNSURLExtras.m

index 6e118b6d6a6e9b391a17057d09e4ca2762869d38..87aff6f6097265791ce3940a59c38effff64a475 100644 (file)
@@ -1,3 +1,15 @@
+2007-07-03  John Sullivan  <sullivan@apple.com>
+
+        Written by Darin, reviewed by me
+        
+        - fixed <rdar://problem/5249730> REGRESSION (Leopard, around 9A464): Safari opens the same local 
+          documents more than once due to canonicalization change
+
+        * loader/mac/LoaderNSURLExtras.m:
+        (canonicalURL):
+        pass URL through KURL so we get KURL's version of canonicalization as well as
+        NSURLProtocol's version of canonicalization
+
 2007-07-03  Sam Weinig  <sam@webkit.org>
 
         Reviewed by Darin.
index 8aaf6b3d7e4e00de00f8683e7ed6d23abd240453..3fd98a1de04dc8e5406b9947e4664ebdc99fc2c7 100644 (file)
@@ -178,7 +178,7 @@ NSURL *canonicalURL(NSURL *url)
 {
     if (!url)
         return nil;
-
+    
     NSURLRequest *request = [[NSURLRequest alloc] initWithURL:url];
     Class concreteClass = wkNSURLProtocolClassForReqest(request);
     if (!concreteClass) {
@@ -186,13 +186,13 @@ NSURL *canonicalURL(NSURL *url)
         return url;
     }
     
-    NSURL *result = nil;
+    // Get NSURLProtocol's idea of canonical URL
     NSURLRequest *newRequest = [concreteClass canonicalRequestForRequest:request];
-    NSURL *newURL = [newRequest URL];
-    result = [[newURL retain] autorelease];
+    KURL newURL = [newRequest URL];
     [request release];
     
-    return result;
+    // pass through KURL to get KURL's idea of canonical URL
+    return newURL.getNSURL();
 }
 
 static bool vectorContainsString(Vector<String> vector, String string)