Reviewed by John, except for one bit reviewed by Maciej.
[WebKit-https.git] / WebKit / Misc.subproj / WebNSURLExtras.h
1 /*
2     WebNSURLExtras.h
3     Private (SPI) header
4     Copyright 2002, Apple, Inc. All rights reserved.
5 */
6
7 #import <Foundation/Foundation.h>
8
9 @interface NSURL (WebNSURLExtras)
10
11 + (NSURL *)_web_URLWithUserTypedString:(NSString *)string;
12
13 + (NSURL *)_web_URLWithDataAsString:(NSString *)string;
14 + (NSURL *)_web_URLWithDataAsString:(NSString *)string relativeToURL:(NSURL *)baseURL;
15
16 + (NSURL *)_web_URLWithData:(NSData *)data;
17 + (NSURL *)_web_URLWithData:(NSData *)data relativeToURL:(NSURL *)baseURL;
18
19 - (NSData *)_web_originalData;
20 - (NSString *)_web_originalDataAsString;
21 - (const char *)_web_URLCString;
22
23 - (NSString *)_web_userVisibleString;
24
25 - (BOOL)_web_isEmpty;
26
27 // FIXME: change these names back to _web_ when identically-named
28 // methods are removed from Foundation
29
30 - (NSURL *)_webkit_canonicalize;
31 - (NSURL *)_webkit_URLByRemovingFragment;
32
33 - (BOOL)_webkit_isJavaScriptURL;
34 - (NSString *)_webkit_scriptIfJavaScriptURL;
35 - (BOOL)_webkit_isFTPDirectoryURL;
36
37 - (BOOL)_webkit_shouldLoadAsEmptyDocument;
38
39 @end
40
41 @interface NSString (WebNSURLExtras)
42
43 - (BOOL)_web_hostNameNeedsDecodingWithRange:(NSRange)range; // returns NO if decodeHostNameWithRange: would return nil, but more efficient
44 - (BOOL)_web_hostNameNeedsEncodingWithRange:(NSRange)range; // returns NO if encodeHostNameWithRange: would return nil, but more efficient
45
46 - (NSString *)_web_decodeHostNameWithRange:(NSRange)range; // turns funny-looking ASCII form into Unicode, returns nil if no decoding needed
47 - (NSString *)_web_encodeHostNameWithRange:(NSRange)range; // turns Unicode into funny-looking ASCII form, returns nil if no decoding needed
48
49 - (NSString *)_web_decodeHostName; // turns funny-looking ASCII form into Unicode, returns self if no decoding needed, convenient cover
50 - (NSString *)_web_encodeHostName; // turns Unicode into funny-looking ASCII form, returns self if no decoding needed, convenient cover
51
52 // FIXME: change these names back to _web_ when identically-named
53 // methods are removed from Foundation
54 - (BOOL)_webkit_isJavaScriptURL;
55 - (NSString *)_webkit_scriptIfJavaScriptURL;
56 - (BOOL)_webkit_isFTPDirectoryURL;
57
58 @end