[SCM] WebKit Debian packaging branch, debian/unstable, updated. debian/1.1.15-1-40151-g37bb677

kocienda kocienda at 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Sat Sep 26 07:51:48 UTC 2009


The following commit has been merged in the debian/unstable branch:
commit 197316f14bacd4ef1a9b077c59c37a00e91f8ae5
Author: kocienda <kocienda at 268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Thu Aug 14 16:48:03 2003 +0000

            Reviewed by Darin
    
    	Fix for this bug:
    
    	<rdar://problem/3375042>: Change usages of NSURL absoluteString in WebKit
    	to use improved variants
    
            * History.subproj/WebHistoryItem.m:
            (-[WebHistoryItem initWithURL:title:]): Use data-as-string.
            (-[WebHistoryItem initWithURL:target:parent:title:]): Use data-as-string.
            (-[WebHistoryItem setURL:]): Use data-as-string.
            * History.subproj/WebHistoryPrivate.m:
            (-[WebHistoryPrivate addItem:]): Remove FIX_VISITED ifdef
            (-[WebHistoryPrivate removeItem:]): Ditto
            (-[WebHistoryPrivate containsURL:]): Ditto. Use data-as-string.
            (-[WebHistoryPrivate itemForURL:]): Ditto. Ditto.
            (-[WebHistoryPrivate loadFromURL:error:]): Fix log message to URL.
            (-[WebHistoryPrivate _saveHistoryGuts:URL:error:]): Ditto.
            (-[WebHistoryPrivate saveToURL:error:]): Ditto.
            * History.subproj/WebURLsWithTitles.m:
            (+[WebURLsWithTitles writeURLs:andTitles:toPasteboard:]): Use visible-string.
            * Misc.subproj/WebIconLoader.m:
            (-[WebIconLoader connectionDidFinishLoading:]): Use data-as-string.
            * Misc.subproj/WebKitErrors.m:
            (+[NSError _webKitErrorWithDomain:code:URL:]): Added new convenience that takes
    	a URL instead of a URL string.
            (-[NSError _initWithPluginErrorCode:contentURL:pluginPageURL:pluginName:MIMEType:]):
    	Added new convenience that takes URLs instead of a URL stringis.
            * Misc.subproj/WebKitErrorsPrivate.h: Declared new conveniences.
            * Misc.subproj/WebNSPasteboardExtras.m:
            (-[NSPasteboard _web_writeURL:andTitle:withOwner:types:]): Use visible-string.
            * Misc.subproj/WebNSURLExtras.h:
            * Misc.subproj/WebNSURLExtras.m:
            (-[NSURL _web_originalDataAsString]): Added.
            (-[NSURL _webkit_isJavaScriptURL]): Use data-as-string.
            (-[NSURL _webkit_scriptIfJavaScriptURL]): Ditto
            (-[NSURL _webkit_isFTPDirectoryURL]): Ditto
            (-[NSURL _webkit_shouldLoadAsEmptyDocument]): Ditto. Also use _web_isEmpty.
            * Plugins.subproj/WebBaseNetscapePluginView.m:
            (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:]): Use data-as-string.
            * Plugins.subproj/WebNetscapePluginDocumentView.m:
            (-[WebNetscapePluginDocumentView setDataSource:]): Use new error convenience.
            * Plugins.subproj/WebNetscapePluginStream.m:
            (-[WebNetscapePluginConnectionDelegate connection:didReceiveResponse:]): Ditto.
            * WebCoreSupport.subproj/WebBridge.m:
            (-[WebBridge requestedURLString]): Use data-as-string.
            * WebCoreSupport.subproj/WebSubresourceClient.m:
            (+[WebSubresourceClient startLoadingResource:withURL:referrer:forDataSource:]): Use new error convenience.
            * WebView.subproj/WebBaseResourceHandleDelegate.m:
            (-[WebBaseResourceHandleDelegate cancelledError]): Ditto.
            * WebView.subproj/WebDataProtocol.m:
            (-[WebDataProtocol startLoading]): Ditto.
            * WebView.subproj/WebDataSourcePrivate.m:
            (-[WebDataSource _stopLoadingInternal]): Ditto.
            (-[WebDataSource _updateIconDatabaseWithURL:]): Use data-as-string.
            (-[WebDataSource _loadIcon]): Ditto.
            * WebView.subproj/WebFramePrivate.m:
            (-[WebFrame _createItem:]): Use data-as-string.
            (-[WebFrame _transitionToCommitted:]): Fix log message to use URL.
            (-[WebFrame _purgePageCache]): Use _web_isEmpty
            (-[WebFrame _setState:]): Fix log message to use URL.
            (-[WebFrame _handleUnimplementablePolicyWithErrorCode:forURL:]): Use new error convenience.
            (-[WebFrame _loadItem:withLoadType:]): Fix log message to use URL.
            (-[WebFrame _checkNavigationPolicyForRequest:dataSource:formState:andCall:withSelector:]):
            (-[WebFrame _continueLoadRequestAfterNavigationPolicy:formState:]): Fix log messages to use URL.
            (-[WebFrame _shouldTreatURLAsSameAsCurrent:]): Use data-as-string.
            * WebView.subproj/WebHTMLViewPrivate.m:
            (-[WebHTMLView _dragImageForLinkElement:]): Use visible-string.
            * WebView.subproj/WebMainResourceClient.m:
            (-[WebMainResourceClient interruptForPolicyChangeError]): Use new error convenience.
            * WebView.subproj/WebPreferences.m:
            (-[WebPreferences setUserStyleSheetLocation:]): Use data-as-string.
            * WebView.subproj/WebView.m:
            (-[WebView mainFrameURL]): Use data-as-string.
            (-[WebView mainFrameIcon]): Use data-as-string.
            * WebView.subproj/WebViewPrivate.m:
            (-[WebView _updateWebCoreSettingsFromPreferences:]): Use data-as-string.
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@4822 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebKit/ChangeLog b/WebKit/ChangeLog
index b824b15..42d2833 100644
--- a/WebKit/ChangeLog
+++ b/WebKit/ChangeLog
@@ -1,3 +1,83 @@
+2003-08-14  Ken Kocienda  <kocienda at apple.com>
+
+        Reviewed by Darin
+
+	Fix for this bug:
+
+	<rdar://problem/3375042>: Change usages of NSURL absoluteString in WebKit 
+	to use improved variants
+
+        * History.subproj/WebHistoryItem.m:
+        (-[WebHistoryItem initWithURL:title:]): Use data-as-string.
+        (-[WebHistoryItem initWithURL:target:parent:title:]): Use data-as-string.
+        (-[WebHistoryItem setURL:]): Use data-as-string.
+        * History.subproj/WebHistoryPrivate.m:
+        (-[WebHistoryPrivate addItem:]): Remove FIX_VISITED ifdef
+        (-[WebHistoryPrivate removeItem:]): Ditto
+        (-[WebHistoryPrivate containsURL:]): Ditto. Use data-as-string.
+        (-[WebHistoryPrivate itemForURL:]): Ditto. Ditto.
+        (-[WebHistoryPrivate loadFromURL:error:]): Fix log message to URL.
+        (-[WebHistoryPrivate _saveHistoryGuts:URL:error:]): Ditto.
+        (-[WebHistoryPrivate saveToURL:error:]): Ditto.
+        * History.subproj/WebURLsWithTitles.m:
+        (+[WebURLsWithTitles writeURLs:andTitles:toPasteboard:]): Use visible-string.
+        * Misc.subproj/WebIconLoader.m:
+        (-[WebIconLoader connectionDidFinishLoading:]): Use data-as-string.
+        * Misc.subproj/WebKitErrors.m:
+        (+[NSError _webKitErrorWithDomain:code:URL:]): Added new convenience that takes
+	a URL instead of a URL string.
+        (-[NSError _initWithPluginErrorCode:contentURL:pluginPageURL:pluginName:MIMEType:]):
+	Added new convenience that takes URLs instead of a URL stringis.
+        * Misc.subproj/WebKitErrorsPrivate.h: Declared new conveniences.
+        * Misc.subproj/WebNSPasteboardExtras.m:
+        (-[NSPasteboard _web_writeURL:andTitle:withOwner:types:]): Use visible-string.
+        * Misc.subproj/WebNSURLExtras.h:
+        * Misc.subproj/WebNSURLExtras.m:
+        (-[NSURL _web_originalDataAsString]): Added.
+        (-[NSURL _webkit_isJavaScriptURL]): Use data-as-string.
+        (-[NSURL _webkit_scriptIfJavaScriptURL]): Ditto
+        (-[NSURL _webkit_isFTPDirectoryURL]): Ditto
+        (-[NSURL _webkit_shouldLoadAsEmptyDocument]): Ditto. Also use _web_isEmpty.
+        * Plugins.subproj/WebBaseNetscapePluginView.m:
+        (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:]): Use data-as-string.
+        * Plugins.subproj/WebNetscapePluginDocumentView.m:
+        (-[WebNetscapePluginDocumentView setDataSource:]): Use new error convenience.
+        * Plugins.subproj/WebNetscapePluginStream.m:
+        (-[WebNetscapePluginConnectionDelegate connection:didReceiveResponse:]): Ditto.
+        * WebCoreSupport.subproj/WebBridge.m:
+        (-[WebBridge requestedURLString]): Use data-as-string.
+        * WebCoreSupport.subproj/WebSubresourceClient.m:
+        (+[WebSubresourceClient startLoadingResource:withURL:referrer:forDataSource:]): Use new error convenience.
+        * WebView.subproj/WebBaseResourceHandleDelegate.m:
+        (-[WebBaseResourceHandleDelegate cancelledError]): Ditto.
+        * WebView.subproj/WebDataProtocol.m:
+        (-[WebDataProtocol startLoading]): Ditto.
+        * WebView.subproj/WebDataSourcePrivate.m:
+        (-[WebDataSource _stopLoadingInternal]): Ditto.
+        (-[WebDataSource _updateIconDatabaseWithURL:]): Use data-as-string.
+        (-[WebDataSource _loadIcon]): Ditto.
+        * WebView.subproj/WebFramePrivate.m:
+        (-[WebFrame _createItem:]): Use data-as-string.
+        (-[WebFrame _transitionToCommitted:]): Fix log message to use URL.
+        (-[WebFrame _purgePageCache]): Use _web_isEmpty
+        (-[WebFrame _setState:]): Fix log message to use URL.
+        (-[WebFrame _handleUnimplementablePolicyWithErrorCode:forURL:]): Use new error convenience.
+        (-[WebFrame _loadItem:withLoadType:]): Fix log message to use URL.
+        (-[WebFrame _checkNavigationPolicyForRequest:dataSource:formState:andCall:withSelector:]):
+        (-[WebFrame _continueLoadRequestAfterNavigationPolicy:formState:]): Fix log messages to use URL.
+        (-[WebFrame _shouldTreatURLAsSameAsCurrent:]): Use data-as-string.
+        * WebView.subproj/WebHTMLViewPrivate.m:
+        (-[WebHTMLView _dragImageForLinkElement:]): Use visible-string.
+        * WebView.subproj/WebMainResourceClient.m:
+        (-[WebMainResourceClient interruptForPolicyChangeError]): Use new error convenience.
+        * WebView.subproj/WebPreferences.m:
+        (-[WebPreferences setUserStyleSheetLocation:]): Use data-as-string.
+        * WebView.subproj/WebView.m:
+        (-[WebView mainFrameURL]): Use data-as-string.
+        (-[WebView mainFrameIcon]): Use data-as-string.
+        * WebView.subproj/WebViewPrivate.m:
+        (-[WebView _updateWebCoreSettingsFromPreferences:]): Use data-as-string.
+
 2003-08-12  Maciej Stachowiak  <mjs at apple.com>
 
         Reviewed by Ken.
diff --git a/WebKit/History.subproj/WebHistoryItem.m b/WebKit/History.subproj/WebHistoryItem.m
index 72b181d..a721a97 100644
--- a/WebKit/History.subproj/WebHistoryItem.m
+++ b/WebKit/History.subproj/WebHistoryItem.m
@@ -249,12 +249,12 @@ NSString *WebHistoryItemChangedNotification = @"WebHistoryItemChangedNotificatio
 
 - (id)initWithURL:(NSURL *)URL title:(NSString *)title
 {
-    return [self initWithURLString:[URL absoluteString] title:title lastVisitedTimeInterval:0];
+    return [self initWithURLString:[URL _web_originalDataAsString] title:title lastVisitedTimeInterval:0];
 }
 
 - (id)initWithURL:(NSURL *)URL target:(NSString *)target parent:(NSString *)parent title:(NSString *)title
 {
-    self = [self initWithURLString:[URL absoluteString] title:title lastVisitedTimeInterval:0];
+    self = [self initWithURLString:[URL _web_originalDataAsString] title:title lastVisitedTimeInterval:0];
     if (self) {
         _private->target = [target copy];
         _private->parent = [parent copy];
@@ -279,7 +279,7 @@ NSString *WebHistoryItemChangedNotification = @"WebHistoryItemChangedNotificatio
 
 - (void)setURL:(NSURL *)URL
 {
-    NSString *string = [URL absoluteString];
+    NSString *string = [URL _web_originalDataAsString];
     if (!(string == _private->URLString || [string isEqual:_private->URLString])) {
         [self _retainIconInDatabase:NO];
         [_private->URLString release];
diff --git a/WebKit/History.subproj/WebHistoryPrivate.m b/WebKit/History.subproj/WebHistoryPrivate.m
index 3af3aac..44d115a 100644
--- a/WebKit/History.subproj/WebHistoryPrivate.m
+++ b/WebKit/History.subproj/WebHistoryPrivate.m
@@ -26,8 +26,6 @@ NSString *DatesArrayKey = @"WebHistoryDates";
 
 @implementation WebHistoryPrivate
 
-//#define FIX_VISITED
-
 #pragma mark OBJECT FRAMEWORK
 
 + (void)initialize
@@ -148,11 +146,7 @@ NSString *DatesArrayKey = @"WebHistoryDates";
     ASSERT_ARG(entry, entry);
     ASSERT_ARG(entry, [entry lastVisitedTimeInterval] != 0);
 
-#ifdef FIX_VISITED
-    URLString = [[[entry URL] _web_canonicalize] absoluteString];
-#else
     URLString = [entry URLString];
-#endif
 
     // If we already have an item with this URL, we need to merge info that drives the
     // URL autocomplete heuristics from that item into the new one.
@@ -180,11 +174,7 @@ NSString *DatesArrayKey = @"WebHistoryDates";
     WebHistoryItem *matchingEntry;
     NSString *URLString;
 
-#ifdef FIX_VISITED
-    URLString = [[[entry URL] _web_canonicalize] absoluteString];
-#else
     URLString = [entry URLString];
-#endif
 
     // If this exact object isn't stored, then make no change.
     // FIXME: Is this the right behavior if this entry isn't present, but another entry for the same URL is?
@@ -276,20 +266,12 @@ NSString *DatesArrayKey = @"WebHistoryDates";
 
 - (BOOL)containsURL: (NSURL *)URL
 {
-#ifdef FIX_VISITED
-    return [self itemForURLString:[[URL _web_canonicalize] absoluteString]] != nil;
-#else
-    return [self itemForURLString:[URL absoluteString]] != nil;
-#endif
+    return [self itemForURLString:[URL _web_originalDataAsString]] != nil;
 }
 
 - (WebHistoryItem *)itemForURL:(NSURL *)URL
 {
-#ifdef FIX_VISITED
-    return [self itemForURLString:[[URL _web_canonicalize] absoluteString]];
-#else
-    return [self itemForURLString:[URL absoluteString]];
-#endif
+    return [self itemForURLString:[URL _web_originalDataAsString]];
 }	
 
 #pragma mark ARCHIVING/UNARCHIVING
@@ -442,7 +424,7 @@ NSString *DatesArrayKey = @"WebHistoryDates";
     if (result) {
         duration = CFAbsoluteTimeGetCurrent() - start;
         LOG(Timing, "loading %d history entries from %@ took %f seconds",
-            numberOfItems, [URL absoluteString], duration);
+            numberOfItems, URL, duration);
     }
 
     return result;
@@ -462,7 +444,7 @@ NSString *DatesArrayKey = @"WebHistoryDates";
         [NSNumber numberWithInt:currentFileVersion], FileVersionKey,
         nil];
     if (![dictionary writeToURL:URL atomically:YES]) {
-        ERROR("attempt to save %@ to %@ failed", dictionary, [URL absoluteString]);
+        ERROR("attempt to save %@ to %@ failed", dictionary, URL);
         return NO;
     }
     
@@ -482,7 +464,7 @@ NSString *DatesArrayKey = @"WebHistoryDates";
     if (result) {
         duration = CFAbsoluteTimeGetCurrent() - start;
         LOG(Timing, "saving %d history entries to %@ took %f seconds",
-            numberOfItems, [URL absoluteString], duration);
+            numberOfItems, URL, duration);
     }
 
     return result;
diff --git a/WebKit/History.subproj/WebURLsWithTitles.m b/WebKit/History.subproj/WebURLsWithTitles.m
index 708c9c3..b07dc54 100644
--- a/WebKit/History.subproj/WebURLsWithTitles.m
+++ b/WebKit/History.subproj/WebURLsWithTitles.m
@@ -46,7 +46,7 @@
     URLStrings = [NSMutableArray arrayWithCapacity:count];
     titlesOrEmptyStrings = [NSMutableArray arrayWithCapacity:count];
     for (index = 0; index < count; ++index) {
-        [URLStrings addObject:[[URLs objectAtIndex:index] absoluteString]];
+        [URLStrings addObject:[[URLs objectAtIndex:index] _web_userVisibleString]];
         [titlesOrEmptyStrings addObject:(titles == nil) ? @"" : [titles objectAtIndex:index]];
     }
 
diff --git a/WebKit/Misc.subproj/WebIconLoader.m b/WebKit/Misc.subproj/WebIconLoader.m
index c0498ea..65cd54a 100644
--- a/WebKit/Misc.subproj/WebIconLoader.m
+++ b/WebKit/Misc.subproj/WebIconLoader.m
@@ -99,9 +99,9 @@
 {
     NSImage *icon = [[NSImage alloc] initWithData:_private->resourceData];
     if (icon && [[icon representations] count]) {
-        [[WebIconDatabase sharedIconDatabase] _setIcon:icon forIconURL:[[self URL] absoluteString]];
+        [[WebIconDatabase sharedIconDatabase] _setIcon:icon forIconURL:[[self URL] _web_originalDataAsString]];
     } else {
-	[[WebIconDatabase sharedIconDatabase] _setHaveNoIconForIconURL:[[self URL] absoluteString]];
+	[[WebIconDatabase sharedIconDatabase] _setHaveNoIconForIconURL:[[self URL] _web_originalDataAsString]];
     }
     [_private->delegate _iconLoaderReceivedPageIcon:self];    
     [icon release];
diff --git a/WebKit/Misc.subproj/WebKitErrors.m b/WebKit/Misc.subproj/WebKitErrors.m
index 1916058..cf1ef34 100644
--- a/WebKit/Misc.subproj/WebKitErrors.m
+++ b/WebKit/Misc.subproj/WebKitErrors.m
@@ -10,6 +10,7 @@
 #import <WebKit/WebKitErrors.h>
 
 #import <WebKit/WebLocalizableStrings.h>
+#import <WebKit/WebNSURLExtras.h>
 #import <Foundation/NSError_NSURLExtras.h>
 
 #import <pthread.h>
@@ -48,6 +49,13 @@ static void registerErrors(void);
     return [self _web_errorWithDomain:WebKitErrorDomain code:code failingURL:URL];
 }
 
++ (NSError *)_webKitErrorWithDomain:(NSString *)domain code:(int)code URL:(NSURL *)URL
+{
+    [self _registerWebKitErrors];
+
+    return [self _web_errorWithDomain:domain code:code failingURL:[URL _web_userVisibleString]];
+}
+
 - (id)_initWithPluginErrorCode:(int)code
               contentURLString:(NSString *)contentURLString
            pluginPageURLString:(NSString *)pluginPageURLString
@@ -78,6 +86,19 @@ static void registerErrors(void);
     return error;
 }
 
+- (id)_initWithPluginErrorCode:(int)code
+                    contentURL:(NSURL *)contentURL
+                 pluginPageURL:(NSURL *)pluginPageURL
+                    pluginName:(NSString *)pluginName
+                      MIMEType:(NSString *)MIMEType
+{
+    return [self _initWithPluginErrorCode:code 
+                         contentURLString:[contentURL _web_userVisibleString]
+                      pluginPageURLString:[pluginPageURL _web_userVisibleString]
+                               pluginName:pluginName
+                                 MIMEType:MIMEType
+           ];
+}
 
 @end
 
diff --git a/WebKit/Misc.subproj/WebKitErrorsPrivate.h b/WebKit/Misc.subproj/WebKitErrorsPrivate.h
index 2970e40..33825ba 100644
--- a/WebKit/Misc.subproj/WebKitErrorsPrivate.h
+++ b/WebKit/Misc.subproj/WebKitErrorsPrivate.h
@@ -9,11 +9,20 @@
 
 @interface NSError (WebKitExtras)
 + (NSError *)_webKitErrorWithCode:(int)code failingURL:(NSString *)URL;
++ (NSError *)_webKitErrorWithDomain:(NSString *)domain code:(int)code URL:(NSURL *)URL;
 
 - (id)_initWithPluginErrorCode:(int)code
+                    contentURL:(NSURL *)contentURL
+                 pluginPageURL:(NSURL *)pluginPageURL
+                    pluginName:(NSString *)pluginName
+                      MIMEType:(NSString *)MIMEType;
+
+// This method is deprecated. Use _initWithPluginErrorCode:contentURL:pluginPageURL:pluginName:MIMEType: instead.
+- (id)_initWithPluginErrorCode:(int)code
               contentURLString:(NSString *)contentURL
            pluginPageURLString:(NSString *)pluginPageURL
                     pluginName:(NSString *)pluginName
                       MIMEType:(NSString *)MIMEType;
+
 @end
 
diff --git a/WebKit/Misc.subproj/WebNSPasteboardExtras.m b/WebKit/Misc.subproj/WebNSPasteboardExtras.m
index f8f31d9..4c26d29 100644
--- a/WebKit/Misc.subproj/WebNSPasteboardExtras.m
+++ b/WebKit/Misc.subproj/WebNSPasteboardExtras.m
@@ -87,14 +87,14 @@ NSString *WebURLNamePboardType = nil;
     if(!title || [title isEqualToString:@""]){
         title = [[URL path] lastPathComponent];
         if(!title || [title isEqualToString:@""]){
-            title = [URL absoluteString];
+            title = [URL _web_userVisibleString];
         }
     }
     
     [URL writeToPasteboard:self];
     [self setString:title forType:WebURLNamePboardType];
-    [self setString:[URL absoluteString] forType:WebURLPboardType];
-    [self setString:[URL absoluteString] forType:NSStringPboardType];
+    [self setString:[URL _web_userVisibleString] forType:WebURLPboardType];
+    [self setString:[URL _web_userVisibleString] forType:NSStringPboardType];
     [WebURLsWithTitles writeURLs:[NSArray arrayWithObject:URL] andTitles:[NSArray arrayWithObject:title] toPasteboard:self];
 }
 
diff --git a/WebKit/Misc.subproj/WebNSURLExtras.h b/WebKit/Misc.subproj/WebNSURLExtras.h
index 1dd3126..a2a9482 100644
--- a/WebKit/Misc.subproj/WebNSURLExtras.h
+++ b/WebKit/Misc.subproj/WebNSURLExtras.h
@@ -17,6 +17,7 @@
 + (NSURL *)_web_URLWithData:(NSData *)data relativeToURL:(NSURL *)baseURL;
 
 - (NSData *)_web_originalData;
+- (NSString *)_web_originalDataAsString;
 
 - (NSString *)_web_userVisibleString;
 - (const char *)_web_URLCString;
diff --git a/WebKit/Misc.subproj/WebNSURLExtras.m b/WebKit/Misc.subproj/WebNSURLExtras.m
index 02353bb..df46ba4 100644
--- a/WebKit/Misc.subproj/WebNSURLExtras.m
+++ b/WebKit/Misc.subproj/WebNSURLExtras.m
@@ -176,6 +176,11 @@ static int hexDigitValue(char c)
     }
 }
 
+- (NSString *)_web_originalDataAsString
+{
+    return [[[NSString alloc] initWithData:[self _web_originalData] encoding:NSISOLatin1StringEncoding] autorelease];
+}
+
 - (NSString *)_web_userVisibleString
 {
     NSData *data = [self _web_originalData];
@@ -304,22 +309,22 @@ static int hexDigitValue(char c)
 
 - (BOOL)_webkit_isJavaScriptURL
 {
-    return [[self absoluteString] _webkit_isJavaScriptURL];
+    return [[self _web_originalDataAsString] _webkit_isJavaScriptURL];
 }
 
 - (NSString *)_webkit_scriptIfJavaScriptURL
 {
-    return [[self absoluteString] _webkit_scriptIfJavaScriptURL];
+    return [[self _web_originalDataAsString] _webkit_scriptIfJavaScriptURL];
 }
 
 - (BOOL)_webkit_isFTPDirectoryURL
 {
-    return [[self absoluteString] _webkit_isFTPDirectoryURL];
+    return [[self _web_originalDataAsString] _webkit_isFTPDirectoryURL];
 }
 
 - (BOOL)_webkit_shouldLoadAsEmptyDocument
 {
-    return [[self absoluteString] _web_hasCaseInsensitivePrefix:@"about:"] || [[self absoluteString] length] == 0;
+    return [[self _web_originalDataAsString] _web_hasCaseInsensitivePrefix:@"about:"] || [self _web_isEmpty];
 }
 
 @end
diff --git a/WebKit/Plugins.subproj/WebBaseNetscapePluginView.m b/WebKit/Plugins.subproj/WebBaseNetscapePluginView.m
index f4c55ef..c9552fa 100644
--- a/WebKit/Plugins.subproj/WebBaseNetscapePluginView.m
+++ b/WebKit/Plugins.subproj/WebBaseNetscapePluginView.m
@@ -1305,7 +1305,7 @@ static OSStatus TSMEventHandler(EventHandlerCallRef inHandlerRef, EventRef inEve
             // Find the frame given the target string.
             target = (NSString *)CFStringCreateWithCString(kCFAllocatorDefault, cTarget, kCFStringEncodingWindowsLatin1);
         }        
-        [request setHTTPReferrer:[[[[[self webFrame] dataSource] request] URL] absoluteString]];
+        [request setHTTPReferrer:[[[[[self webFrame] dataSource] request] URL] _web_originalDataAsString]];
         WebPluginRequest *pluginRequest = [[WebPluginRequest alloc] initWithRequest:request frameName:target notifyData:notifyData];
         [self performSelector:@selector(loadPluginRequest:) withObject:pluginRequest afterDelay:0];
         [pluginRequest release];
diff --git a/WebKit/Plugins.subproj/WebNetscapePluginDocumentView.m b/WebKit/Plugins.subproj/WebNetscapePluginDocumentView.m
index 26bd5ea..5e60c33 100644
--- a/WebKit/Plugins.subproj/WebNetscapePluginDocumentView.m
+++ b/WebKit/Plugins.subproj/WebNetscapePluginDocumentView.m
@@ -81,8 +81,8 @@
     if (![thePlugin load]){
         // FIXME: It would be nice to stop the load here.
         NSError *error = [[NSError alloc] _initWithPluginErrorCode:WebKitErrorCannotLoadPlugin
-                                                  contentURLString:[[[theDataSource request] URL] absoluteString]
-                                               pluginPageURLString:nil
+                                                        contentURL:[[theDataSource request] URL]
+                                                     pluginPageURL:nil
                                                         pluginName:[thePlugin name]
                                                           MIMEType:MIME];
         WebView *webView = [[theDataSource webFrame] webView];
diff --git a/WebKit/Plugins.subproj/WebNetscapePluginStream.m b/WebKit/Plugins.subproj/WebNetscapePluginStream.m
index b732a97..8eaaf67 100644
--- a/WebKit/Plugins.subproj/WebNetscapePluginStream.m
+++ b/WebKit/Plugins.subproj/WebNetscapePluginStream.m
@@ -6,6 +6,7 @@
 #import <WebKit/WebNetscapePluginStream.h>
 
 #import <WebKit/WebDataSourcePrivate.h>
+#import <WebKit/WebKitErrorsPrivate.h>
 #import <WebKit/WebKitLogging.h>
 #import <WebKit/WebNetscapePluginEmbeddedView.h>
 #import <WebKit/WebViewPrivate.h>
@@ -103,9 +104,9 @@
     if ([theResponse isKindOfClass:[NSHTTPURLResponse class]] &&
         [NSHTTPURLResponse isErrorStatusCode:[(NSHTTPURLResponse *)theResponse statusCode]]) {
         [stream receivedError:NPRES_NETWORK_ERR];
-        NSError *error = [NSError _web_errorWithDomain:NSURLErrorDomain
-                                                  code:NSURLErrorFileDoesNotExist
-                                            failingURL:[[theResponse URL] absoluteString]];
+        NSError *error = [NSError _webKitErrorWithDomain:NSURLErrorDomain
+                                                    code:NSURLErrorFileDoesNotExist
+                                                     URL:[theResponse URL]];
         [self cancelWithError:error];
     }
     [self release];
diff --git a/WebKit/WebCoreSupport.subproj/WebBridge.m b/WebKit/WebCoreSupport.subproj/WebBridge.m
index 26a2f6a..238035a 100644
--- a/WebKit/WebCoreSupport.subproj/WebBridge.m
+++ b/WebKit/WebCoreSupport.subproj/WebBridge.m
@@ -568,7 +568,7 @@
 // This URL is only used for coloring visited links.
 - (NSString *)requestedURLString
 {
-    return [[[[self dataSource] request] URL] _web_userVisibleString];
+    return [[[[self dataSource] request] URL] _web_originalDataAsString];
 }
 
 - (NSString *)incomingReferrer
@@ -735,8 +735,8 @@
 
     if (!view) {
         NSError *error = [[NSError alloc] _initWithPluginErrorCode:WebKitErrorJavaUnavailable
-                                                  contentURLString:nil
-                                               pluginPageURLString:nil
+                                                        contentURL:nil
+                                                     pluginPageURL:nil
                                                         pluginName:[pluginPackage name]
                                                           MIMEType:MIMEType];
         view = [[[WebNullPluginView alloc] initWithFrame:theFrame error:error] autorelease];
diff --git a/WebKit/WebCoreSupport.subproj/WebSubresourceClient.m b/WebKit/WebCoreSupport.subproj/WebSubresourceClient.m
index 3261665..627f430 100644
--- a/WebKit/WebCoreSupport.subproj/WebSubresourceClient.m
+++ b/WebKit/WebCoreSupport.subproj/WebSubresourceClient.m
@@ -8,6 +8,7 @@
 #import <WebKit/WebBridge.h>
 #import <WebKit/WebDataSourcePrivate.h>
 #import <WebKit/WebFrame.h>
+#import <WebKit/WebKitErrorsPrivate.h>
 #import <WebKit/WebViewPrivate.h>
 
 #import <Foundation/NSURLConnection.h>
@@ -61,9 +62,9 @@
 
         [rLoader reportError];
 
-        NSError *badURLError = [[NSError alloc] _web_initWithDomain:NSURLErrorDomain 
-                                                               code:NSURLErrorBadURL
-                                                         failingURL:[URL absoluteString]];
+        NSError *badURLError = [[NSError alloc] _webKitErrorWithDomain:NSURLErrorDomain 
+                                                                  code:NSURLErrorBadURL
+                                                                   URL:URL];
         [_webView _receivedError:badURLError fromDataSource:source];
         [badURLError release];
         client = nil;
diff --git a/WebKit/WebCoreSupport.subproj/WebSubresourceLoader.m b/WebKit/WebCoreSupport.subproj/WebSubresourceLoader.m
index 3261665..627f430 100644
--- a/WebKit/WebCoreSupport.subproj/WebSubresourceLoader.m
+++ b/WebKit/WebCoreSupport.subproj/WebSubresourceLoader.m
@@ -8,6 +8,7 @@
 #import <WebKit/WebBridge.h>
 #import <WebKit/WebDataSourcePrivate.h>
 #import <WebKit/WebFrame.h>
+#import <WebKit/WebKitErrorsPrivate.h>
 #import <WebKit/WebViewPrivate.h>
 
 #import <Foundation/NSURLConnection.h>
@@ -61,9 +62,9 @@
 
         [rLoader reportError];
 
-        NSError *badURLError = [[NSError alloc] _web_initWithDomain:NSURLErrorDomain 
-                                                               code:NSURLErrorBadURL
-                                                         failingURL:[URL absoluteString]];
+        NSError *badURLError = [[NSError alloc] _webKitErrorWithDomain:NSURLErrorDomain 
+                                                                  code:NSURLErrorBadURL
+                                                                   URL:URL];
         [_webView _receivedError:badURLError fromDataSource:source];
         [badURLError release];
         client = nil;
diff --git a/WebKit/WebView.subproj/WebBaseResourceHandleDelegate.m b/WebKit/WebView.subproj/WebBaseResourceHandleDelegate.m
index 6ccfa91..04ebe3a 100644
--- a/WebKit/WebView.subproj/WebBaseResourceHandleDelegate.m
+++ b/WebKit/WebView.subproj/WebBaseResourceHandleDelegate.m
@@ -19,6 +19,7 @@
 #import <WebKit/WebDataSourcePrivate.h>
 #import <WebKit/WebDefaultResourceLoadDelegate.h>
 #import <WebKit/WebKitErrors.h>
+#import <WebKit/WebKitErrorsPrivate.h>
 #import <WebKit/WebResourceLoadDelegate.h>
 #import <WebKit/WebViewPrivate.h>
 
@@ -407,9 +408,9 @@
 
 - (NSError *)cancelledError
 {
-    return [NSError _web_errorWithDomain:NSURLErrorDomain
+    return [NSError _webKitErrorWithDomain:NSURLErrorDomain
                                     code:NSURLErrorCancelled
-                              failingURL:[[request URL] absoluteString]];
+                                     URL:[request URL]];
 }
 
 - (void)setIdentifier: ident
diff --git a/WebKit/WebView.subproj/WebDataProtocol.m b/WebKit/WebView.subproj/WebDataProtocol.m
index 72b8a74..94c781b 100644
--- a/WebKit/WebView.subproj/WebDataProtocol.m
+++ b/WebKit/WebView.subproj/WebDataProtocol.m
@@ -9,6 +9,7 @@
 #import <Foundation/NSError_NSURLExtras.h>
 #import <Foundation/NSString_NSURLExtras.h>
 #import <WebKit/WebAssertions.h>
+#import <WebKit/WebKitErrorsPrivate.h>
 
 NSString *WebDataProtocolScheme = @"applewebdata";
 static NSString *WebDataRequestPropertyKey = @"WebDataRequest";
@@ -198,7 +199,7 @@ static NSString *WebDataRequestPropertyKey = @"WebDataRequest";
 
         resultCode = NSURLErrorResourceUnavailable;
 
-        [client URLProtocol:self didFailWithError:[NSError _web_errorWithDomain:NSURLErrorDomain code:resultCode failingURL:[[request URL] absoluteString]]];
+        [client URLProtocol:self didFailWithError:[NSError _webKitErrorWithDomain:NSURLErrorDomain code:resultCode URL:[request URL]]];
     }
 }
 
diff --git a/WebKit/WebView.subproj/WebDataSourcePrivate.m b/WebKit/WebView.subproj/WebDataSourcePrivate.m
index fcb9dad..4cd45f4 100644
--- a/WebKit/WebView.subproj/WebDataSourcePrivate.m
+++ b/WebKit/WebView.subproj/WebDataSourcePrivate.m
@@ -22,6 +22,7 @@
 #import <WebKit/WebIconLoader.h>
 #import <WebKit/WebImageRepresentation.h>
 #import <WebKit/WebImageView.h>
+#import <WebKit/WebKitErrorsPrivate.h>
 #import <WebKit/WebKitLogging.h>
 #import <WebKit/WebMainResourceClient.h>
 #import <WebKit/WebNSURLExtras.h>
@@ -246,9 +247,9 @@
         [_private->mainClient cancel];
     }else{
         // Main handle is already done. Set the cancelled error.
-        NSError *cancelledError = [NSError _web_errorWithDomain:NSURLErrorDomain
-                                                           code:NSURLErrorCancelled
-                                                     failingURL:[[self _URL] absoluteString]];
+        NSError *cancelledError = [NSError _webKitErrorWithDomain:NSURLErrorDomain
+                                                             code:NSURLErrorCancelled
+                                                              URL:[self _URL]];
         [self _setMainDocumentError:cancelledError];
     }
     
@@ -610,14 +611,14 @@
     WebIconDatabase *iconDB = [WebIconDatabase sharedIconDatabase];
 
     // Bind the URL of the original request and the final URL to the icon URL.
-    [iconDB _setIconURL:[iconURL absoluteString] forURL:[[self _URL] absoluteString]];
-    [iconDB _setIconURL:[iconURL absoluteString] forURL:[[[self _originalRequest] URL] absoluteString]];
+    [iconDB _setIconURL:[iconURL _web_originalDataAsString] forURL:[[self _URL] _web_originalDataAsString]];
+    [iconDB _setIconURL:[iconURL _web_originalDataAsString] forURL:[[[self _originalRequest] URL] _web_originalDataAsString]];
 
     
     if ([self webFrame] == [_private->webView mainFrame])
         [_private->webView _willChangeValueForKey:_WebMainFrameIconKey];
     
-    NSImage *icon = [iconDB iconForURL:[[self _URL] absoluteString] withSize:WebIconSmallSize];
+    NSImage *icon = [iconDB iconForURL:[[self _URL] _web_originalDataAsString] withSize:WebIconSmallSize];
     [[_private->webView _frameLoadDelegateForwarder] webView:_private->webView
                                                       didReceiveIcon:icon
                                                             forFrame:[self webFrame]];
@@ -650,7 +651,7 @@
     }
 
     if(_private->iconURL != nil){
-        if([[WebIconDatabase sharedIconDatabase] _hasIconForIconURL:[_private->iconURL absoluteString]]){
+        if([[WebIconDatabase sharedIconDatabase] _hasIconForIconURL:[_private->iconURL _web_originalDataAsString]]){
             [self _updateIconDatabaseWithURL:_private->iconURL];
         }else{
             ASSERT(!_private->iconLoader);
diff --git a/WebKit/WebView.subproj/WebFramePrivate.m b/WebKit/WebView.subproj/WebFramePrivate.m
index 18c2073..f7c59d1 100644
--- a/WebKit/WebView.subproj/WebFramePrivate.m
+++ b/WebKit/WebView.subproj/WebFramePrivate.m
@@ -294,7 +294,7 @@ NSString *WebCorePageCacheStateKey = @"WebCorePageCacheState";
 
     bfItem = [[[WebHistoryItem alloc] initWithURL:URL target:[self name] parent:[[self parentFrame] name] title:[dataSrc pageTitle]] autorelease];
     [dataSrc _addBackForwardItem:bfItem];
-    [bfItem setOriginalURLString:[[[dataSrc _originalRequest] URL] absoluteString]];
+    [bfItem setOriginalURLString:[[[dataSrc _originalRequest] URL] _web_originalDataAsString]];
 
     // save form state if this is a POST
     if ([[request HTTPMethod] _web_isCaseInsensitiveEqualToString:@"POST"]) {
@@ -661,7 +661,7 @@ NSString *WebCorePageCacheStateKey = @"WebCorePageCacheState";
             case WebFrameLoadTypeSame:
             {
                 WebHistoryItem *currItem = [_private currentItem];
-                LOG(PageCache, "Clearing back/forward cache, %s\n", [[[currItem URL] absoluteString] cString]);
+                LOG(PageCache, "Clearing back/forward cache, %@\n", [currItem URL]);
                 // FIXME: rjw sez this cache clearing is no longer needed
                 [currItem setHasPageCache:NO];
                 if (loadType == WebFrameLoadTypeReload) {
@@ -687,7 +687,7 @@ NSString *WebCorePageCacheStateKey = @"WebCorePageCacheState";
                 if (![ds _isClientRedirect]) {
                     // Add item to history.
 		    NSURL *URL = [[[ds _originalRequest] URL] _webkit_canonicalize];
-		    if ([[URL absoluteString] length] > 0 && ![WebDataProtocol _webIsDataProtocolURL:URL]) {
+		    if (![URL _web_isEmpty] && ![WebDataProtocol _webIsDataProtocolURL:URL]) {
 			entry = [[WebHistory optionalSharedHistory] addItemForURL:URL];
 			if (ptitle)
 			    [entry setTitle: ptitle];
@@ -777,7 +777,7 @@ NSString *WebCorePageCacheStateKey = @"WebCorePageCacheState";
     
     // Snapback items are never directly purged here.
     if (pagesCached >= sizeLimit && ![oldestItem alwaysAttemptToUsePageCache]){
-        LOG(PageCache, "Purging back/forward cache, %s\n", [[[oldestItem URL] absoluteString] cString]);
+        LOG(PageCache, "Purging back/forward cache, %@\n", [oldestItem URL]);
         [oldestItem setHasPageCache: NO];
     }
 }
@@ -851,7 +851,7 @@ static CFAbsoluteTime _timeOfLastCompletedLoad;
             && [[[self dataSource] representation] isKindOfClass: [WebHTMLRepresentation class]])
         {
             if (![item pageCache]){
-                LOG(PageCache, "Saving page to back/forward cache, %s\n", [[[[self dataSource] _URL] absoluteString] cString]);
+                LOG(PageCache, "Saving page to back/forward cache, %@\n", [[self dataSource] _URL]);
 
                 // Add the items to this page's cache.
                 [self _createPageCacheForItem:item];
@@ -862,7 +862,7 @@ static CFAbsoluteTime _timeOfLastCompletedLoad;
             }
         }
         else {
-            LOG(PageCache, "NOT saving page to back/forward cache, %s\n", [[[[self dataSource] _URL] absoluteString] cString]);
+            LOG(PageCache, "NOT saving page to back/forward cache, %@\n", [[self dataSource] _URL]);
         }
     }
     
@@ -1089,7 +1089,7 @@ static CFAbsoluteTime _timeOfLastCompletedLoad;
 
 - (void)_handleUnimplementablePolicyWithErrorCode:(int)code forURL:(NSURL *)URL
 {
-    NSError *error = [NSError _webKitErrorWithCode:code failingURL:[URL absoluteString]];
+    NSError *error = [NSError _webKitErrorWithDomain:WebKitErrorDomain code:code URL:URL];
     WebView *wv = [self webView];
     [[wv _policyDelegateForwarder] webView:wv unableToImplementPolicyWithError:error frame:self];    
 }
@@ -1217,7 +1217,7 @@ static CFAbsoluteTime _timeOfLastCompletedLoad;
                 inPageCache = YES;
             }         
             else {
-                LOG (PageCache, "Not restoring page from back/forward cache because cache entry has expired, %s (%3.5f > %3.5f seconds)\n", [[[[_private provisionalItem] URL] absoluteString] cString], delta, [[WebPreferences standardPreferences] _backForwardCacheExpirationInterval]);
+                LOG (PageCache, "Not restoring page from back/forward cache because cache entry has expired, %@ (%3.5f > %3.5f seconds)\n", [[_private provisionalItem] URL], delta, [[WebPreferences standardPreferences] _backForwardCacheExpirationInterval]);
                 [item setHasPageCache: NO];
             }
         }
@@ -1528,7 +1528,7 @@ static CFAbsoluteTime _timeOfLastCompletedLoad;
 
     // Don't ask more than once for the same request or if we are loading an empty URL.
     // This avoids confusion on the part of the client.
-    if ([request isEqual:[dataSource _lastCheckedRequest]] || [[[request URL] absoluteString] length] == 0) {
+    if ([request isEqual:[dataSource _lastCheckedRequest]] || [[request URL] _web_isEmpty]) {
         [target performSelector:selector withObject:request withObject:nil];
         return;
     }
@@ -2091,7 +2091,7 @@ static CFAbsoluteTime _timeOfLastCompletedLoad;
         [item hasPageCache]){
         NSDictionary *pageCache = [[_private provisionalItem] pageCache];
         if ([pageCache objectForKey:WebCorePageCacheStateKey]){
-            LOG (PageCache, "Restoring page from back/forward cache, %s\n", [[[[_private provisionalItem] URL] absoluteString] cString]);
+            LOG (PageCache, "Restoring page from back/forward cache, %@\n", [[_private provisionalItem] URL]);
             [_private->provisionalDataSource _startLoading: pageCache];
             return;
         }
@@ -2155,7 +2155,7 @@ static CFAbsoluteTime _timeOfLastCompletedLoad;
 - (BOOL)_shouldTreatURLAsSameAsCurrent:(NSURL *)URL
 {
     WebHistoryItem *item = [_private currentItem];
-    NSString* URLString = [URL absoluteString];
+    NSString* URLString = [URL _web_originalDataAsString];
     return [URLString isEqual:[item URLString]] || [URLString isEqual:[item originalURLString]];
 }    
 
diff --git a/WebKit/WebView.subproj/WebHTMLViewPrivate.m b/WebKit/WebView.subproj/WebHTMLViewPrivate.m
index 1862555..d745c29 100644
--- a/WebKit/WebView.subproj/WebHTMLViewPrivate.m
+++ b/WebKit/WebView.subproj/WebHTMLViewPrivate.m
@@ -375,7 +375,7 @@ static WebHTMLView *lastHitView = nil;
     BOOL clipURLString = NO, clipLabelString = NO;
     
     NSString *label = [element objectForKey: WebElementLinkLabelKey];
-    NSString *urlString = [linkURL absoluteString];
+    NSString *urlString = [linkURL _web_userVisibleString];
     
     if (!label) {
 	drawURLString = NO;
diff --git a/WebKit/WebView.subproj/WebLoader.m b/WebKit/WebView.subproj/WebLoader.m
index 6ccfa91..04ebe3a 100644
--- a/WebKit/WebView.subproj/WebLoader.m
+++ b/WebKit/WebView.subproj/WebLoader.m
@@ -19,6 +19,7 @@
 #import <WebKit/WebDataSourcePrivate.h>
 #import <WebKit/WebDefaultResourceLoadDelegate.h>
 #import <WebKit/WebKitErrors.h>
+#import <WebKit/WebKitErrorsPrivate.h>
 #import <WebKit/WebResourceLoadDelegate.h>
 #import <WebKit/WebViewPrivate.h>
 
@@ -407,9 +408,9 @@
 
 - (NSError *)cancelledError
 {
-    return [NSError _web_errorWithDomain:NSURLErrorDomain
+    return [NSError _webKitErrorWithDomain:NSURLErrorDomain
                                     code:NSURLErrorCancelled
-                              failingURL:[[request URL] absoluteString]];
+                                     URL:[request URL]];
 }
 
 - (void)setIdentifier: ident
diff --git a/WebKit/WebView.subproj/WebMainResourceClient.m b/WebKit/WebView.subproj/WebMainResourceClient.m
index 30d94c1..be3de18 100644
--- a/WebKit/WebView.subproj/WebMainResourceClient.m
+++ b/WebKit/WebView.subproj/WebMainResourceClient.m
@@ -86,8 +86,7 @@
 
 - (NSError *)interruptForPolicyChangeError
 {
-    return [NSError _webKitErrorWithCode:WebKitErrorFrameLoadInterruptedByPolicyChange
-                              failingURL:[[request URL] absoluteString]];
+    return [NSError _webKitErrorWithDomain:WebKitErrorDomain code:WebKitErrorFrameLoadInterruptedByPolicyChange URL:[request URL]];
 }
 
 -(void)stopLoadingForPolicyChange
diff --git a/WebKit/WebView.subproj/WebMainResourceLoader.m b/WebKit/WebView.subproj/WebMainResourceLoader.m
index 30d94c1..be3de18 100644
--- a/WebKit/WebView.subproj/WebMainResourceLoader.m
+++ b/WebKit/WebView.subproj/WebMainResourceLoader.m
@@ -86,8 +86,7 @@
 
 - (NSError *)interruptForPolicyChangeError
 {
-    return [NSError _webKitErrorWithCode:WebKitErrorFrameLoadInterruptedByPolicyChange
-                              failingURL:[[request URL] absoluteString]];
+    return [NSError _webKitErrorWithDomain:WebKitErrorDomain code:WebKitErrorFrameLoadInterruptedByPolicyChange URL:[request URL]];
 }
 
 -(void)stopLoadingForPolicyChange
diff --git a/WebKit/WebView.subproj/WebPreferences.m b/WebKit/WebView.subproj/WebPreferences.m
index e6bbb11..bfbb791 100644
--- a/WebKit/WebView.subproj/WebPreferences.m
+++ b/WebKit/WebView.subproj/WebPreferences.m
@@ -426,7 +426,7 @@ NS_ENDHANDLER
     if ([URL isFileURL]) {
         locationString = [[URL path] _web_stringByAbbreviatingWithTildeInPath];
     } else {
-        locationString = [URL absoluteString];
+        locationString = [URL _web_originalDataAsString];
     }
     
     [self _setStringValue:locationString forKey: WebKitUserStyleSheetLocationPreferenceKey];
diff --git a/WebKit/WebView.subproj/WebView.m b/WebKit/WebView.subproj/WebView.m
index 9fcc797..f43d882 100644
--- a/WebKit/WebView.subproj/WebView.m
+++ b/WebKit/WebView.subproj/WebView.m
@@ -800,7 +800,7 @@ static WebFrame *incrementFrame(WebFrame *curr, BOOL forward, BOOL wrapFlag)
     ds = [[self mainFrame] provisionalDataSource];
     if (!ds)
         ds = [[self mainFrame] dataSource];
-    return [[[ds request] URL] absoluteString];
+    return [[[ds request] URL] _web_originalDataAsString];
 }
 
 - (BOOL)isLoading
@@ -816,7 +816,7 @@ static WebFrame *incrementFrame(WebFrame *curr, BOOL forward, BOOL wrapFlag)
 
 - (NSImage *)mainFrameIcon
 {
-    return [[WebIconDatabase sharedIconDatabase] iconForURL:[[[[self mainFrame] dataSource] _URL] absoluteString] withSize:WebIconSmallSize];
+    return [[WebIconDatabase sharedIconDatabase] iconForURL:[[[[self mainFrame] dataSource] _URL] _web_originalDataAsString] withSize:WebIconSmallSize];
 }
 
 @end
diff --git a/WebKit/WebView.subproj/WebViewPrivate.m b/WebKit/WebView.subproj/WebViewPrivate.m
index 04a4d91..6018d5a 100644
--- a/WebKit/WebView.subproj/WebViewPrivate.m
+++ b/WebKit/WebView.subproj/WebViewPrivate.m
@@ -21,6 +21,7 @@
 #import <WebKit/WebHistoryItemPrivate.h>
 #import <WebKit/WebKitLogging.h>
 #import <WebKit/WebNSPasteboardExtras.h>
+#import <WebKit/WebNSURLExtras.h>
 #import <WebKit/WebPreferencesPrivate.h>
 #import <WebKit/WebResourceLoadDelegate.h>
 #import <WebKit/WebUIDelegate.h>
@@ -445,7 +446,7 @@ NSString *_WebMainFrameURLKey = @"mainFrameURL";
     [_private->settings setWillLoadImagesAutomatically:[preferences loadsImagesAutomatically]];
 
     if ([preferences userStyleSheetEnabled]) {
-        [_private->settings setUserStyleSheetLocation:[[preferences userStyleSheetLocation] absoluteString]];
+        [_private->settings setUserStyleSheetLocation:[[preferences userStyleSheetLocation] _web_originalDataAsString]];
     } else {
         [_private->settings setUserStyleSheetLocation:@""];
     }

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list