2006-10-10 Mark Rowe <bdash@webkit.org>
authorbdash <bdash@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 10 Oct 2006 10:38:53 +0000 (10:38 +0000)
committerbdash <bdash@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 10 Oct 2006 10:38:53 +0000 (10:38 +0000)
        Reviewed by Maciej.

        Fix crash on launch in nightly builds after r16965.

        Safari will sometimes call through to -[NSURL _webkit_canonicalize] before creating a WebView.  If this happens,
        InitWebCoreSystemInterface has not yet been called so the call to wkNSURLProtocolClassForReqest is via a garbage
        pointer.

        * Misc/WebNSURLExtras.m:
        (-[NSURL _webkit_canonicalize]): Ensure InitWebCoreSystemInterface is called prior to canonicalURL.

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

WebKit/ChangeLog
WebKit/Misc/WebNSURLExtras.m

index 14a4d25db2f0427fd5d543c69f22b021817a77fc..e384844a14eb61b9d2a90190f8f28c8f256e0487 100644 (file)
@@ -1,3 +1,16 @@
+2006-10-10  Mark Rowe  <bdash@webkit.org>
+
+        Reviewed by Maciej.
+
+        Fix crash on launch in nightly builds after r16965.
+
+        Safari will sometimes call through to -[NSURL _webkit_canonicalize] before creating a WebView.  If this happens,
+        InitWebCoreSystemInterface has not yet been called so the call to wkNSURLProtocolClassForReqest is via a garbage
+        pointer.
+
+        * Misc/WebNSURLExtras.m:
+        (-[NSURL _webkit_canonicalize]): Ensure InitWebCoreSystemInterface is called prior to canonicalURL.
+
 2006-10-10  Maciej Stachowiak  <mjs@apple.com>
 
         Reviewed by Oliver.
index 9b379fee5acaaa1e5f467479394c375d119e6b4c..6a667cdebcdb7e10a2697c1262a7922efb392345 100644 (file)
@@ -37,6 +37,7 @@
 #import "LoaderNSURLExtras.h"
 
 #import <WebKitSystemInterface.h>
+#import "WebSystemInterface.h"
 
 #import <Foundation/NSURLRequest.h>
 
@@ -464,6 +465,7 @@ static NSString *mapHostNames(NSString *string, BOOL encode)
 
 - (NSURL *)_webkit_canonicalize
 {
+    InitWebCoreSystemInterface();
     return canonicalURL(self);
 }