[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:47:38 UTC 2009
The following commit has been merged in the debian/unstable branch:
commit ca8a80eacdd5ba73de9e25767489fd9884369796
Author: kocienda <kocienda at 268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Thu Jul 17 14:56:10 2003 +0000
WebCore:
Reviewed by Darin
* kwq/KWQKHTMLPart.h: _submittedFormURL is now a KURL, not a QString
* kwq/KWQKHTMLPart.mm:
(KWQKHTMLPart::openURL): Now uses NSURL in API instead of NSString
(KWQKHTMLPart::openURLRequest): Ditto
(KWQKHTMLPart::didNotOpenURL): Ditto
(KWQKHTMLPart::submitForm): Ditto. Plus update _submittedFormURL usages.
(KWQKHTMLPart::urlSelected): Ditto
(KWQKHTMLPart::setView): Ditto
* kwq/KWQKHTMLPartBrowserExtension.mm:
(KHTMLPartBrowserExtension::createNewWindow): Now uses NSURL in API instead of NSString
* kwq/KWQKURL.h: Added constructor that takes an NSURL
* kwq/KWQKURL.mm:
(KURL::KURL): Ditto.
* kwq/WebCoreBridge.h: Updated bridge APIs to use NSURL instead of NSString
in several places.
* kwq/WebCoreBridge.mm:
(-[WebCoreBridge openURL:reload:contentType:refresh:lastModified:pageCache:]): Ditto
WebKit:
Reviewed by Darin
* WebCoreSupport.subproj/WebBridge.m:
(-[WebBridge createWindowWithURL:frameName:]): Now uses NSURL in API instead of NSString
(-[WebBridge loadURL:referrer:reload:target:triggeringEvent:form:formValues:]): Ditto
(-[WebBridge postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]): Ditto
* WebKit.pbproj/project.pbxproj: Added WebNSURLExtras file
* WebView.subproj/WebDataSourcePrivate.m:
(-[WebDataSource _commitIfReady:]): Now uses NSURL in API instead of NSString
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@4662 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/WebCore/ChangeLog-2003-10-25 b/WebCore/ChangeLog-2003-10-25
index 49a4b19..b1badf8 100644
--- a/WebCore/ChangeLog-2003-10-25
+++ b/WebCore/ChangeLog-2003-10-25
@@ -1,3 +1,25 @@
+2003-07-17 Ken Kocienda <kocienda at apple.com>
+
+ Reviewed by Darin
+
+ * kwq/KWQKHTMLPart.h: _submittedFormURL is now a KURL, not a QString
+ * kwq/KWQKHTMLPart.mm:
+ (KWQKHTMLPart::openURL): Now uses NSURL in API instead of NSString
+ (KWQKHTMLPart::openURLRequest): Ditto
+ (KWQKHTMLPart::didNotOpenURL): Ditto
+ (KWQKHTMLPart::submitForm): Ditto. Plus update _submittedFormURL usages.
+ (KWQKHTMLPart::urlSelected): Ditto
+ (KWQKHTMLPart::setView): Ditto
+ * kwq/KWQKHTMLPartBrowserExtension.mm:
+ (KHTMLPartBrowserExtension::createNewWindow): Now uses NSURL in API instead of NSString
+ * kwq/KWQKURL.h: Added constructor that takes an NSURL
+ * kwq/KWQKURL.mm:
+ (KURL::KURL): Ditto.
+ * kwq/WebCoreBridge.h: Updated bridge APIs to use NSURL instead of NSString
+ in several places.
+ * kwq/WebCoreBridge.mm:
+ (-[WebCoreBridge openURL:reload:contentType:refresh:lastModified:pageCache:]): Ditto
+
2003-07-16 Darin Adler <darin at apple.com>
Reviewed by John.
diff --git a/WebCore/ChangeLog-2005-08-23 b/WebCore/ChangeLog-2005-08-23
index 49a4b19..b1badf8 100644
--- a/WebCore/ChangeLog-2005-08-23
+++ b/WebCore/ChangeLog-2005-08-23
@@ -1,3 +1,25 @@
+2003-07-17 Ken Kocienda <kocienda at apple.com>
+
+ Reviewed by Darin
+
+ * kwq/KWQKHTMLPart.h: _submittedFormURL is now a KURL, not a QString
+ * kwq/KWQKHTMLPart.mm:
+ (KWQKHTMLPart::openURL): Now uses NSURL in API instead of NSString
+ (KWQKHTMLPart::openURLRequest): Ditto
+ (KWQKHTMLPart::didNotOpenURL): Ditto
+ (KWQKHTMLPart::submitForm): Ditto. Plus update _submittedFormURL usages.
+ (KWQKHTMLPart::urlSelected): Ditto
+ (KWQKHTMLPart::setView): Ditto
+ * kwq/KWQKHTMLPartBrowserExtension.mm:
+ (KHTMLPartBrowserExtension::createNewWindow): Now uses NSURL in API instead of NSString
+ * kwq/KWQKURL.h: Added constructor that takes an NSURL
+ * kwq/KWQKURL.mm:
+ (KURL::KURL): Ditto.
+ * kwq/WebCoreBridge.h: Updated bridge APIs to use NSURL instead of NSString
+ in several places.
+ * kwq/WebCoreBridge.mm:
+ (-[WebCoreBridge openURL:reload:contentType:refresh:lastModified:pageCache:]): Ditto
+
2003-07-16 Darin Adler <darin at apple.com>
Reviewed by John.
diff --git a/WebCore/kwq/KWQKHTMLPart.h b/WebCore/kwq/KWQKHTMLPart.h
index 5a50b4d..5e950e4 100644
--- a/WebCore/kwq/KWQKHTMLPart.h
+++ b/WebCore/kwq/KWQKHTMLPart.h
@@ -89,7 +89,7 @@ public:
virtual bool openURL(const KURL &);
virtual bool closeURL();
- void didNotOpenURL(const QString &);
+ void didNotOpenURL(const KURL &);
void openURLRequest(const KURL &, const KParts::URLArgs &);
void submitForm(const KURL &, const KParts::URLArgs &);
@@ -251,7 +251,7 @@ private:
static NSEvent *_currentEvent;
static NSResponder *_firstResponderAtMouseDownTime;
- QString _submittedFormURL;
+ KURL _submittedFormURL;
NSMutableDictionary *_formValuesAboutToBeSubmitted;
WebCoreDOMElement *_formAboutToBeSubmitted;
diff --git a/WebCore/kwq/KWQKHTMLPart.mm b/WebCore/kwq/KWQKHTMLPart.mm
index 4646abb..5ab1e86 100644
--- a/WebCore/kwq/KWQKHTMLPart.mm
+++ b/WebCore/kwq/KWQKHTMLPart.mm
@@ -182,7 +182,7 @@ bool KWQKHTMLPart::openURL(const KURL &url)
// FIXME: The lack of args here to get the reload flag from
// indicates a problem in how we use KHTMLPart::processObjectRequest,
// where we are opening the URL before the args are set up.
- [_bridge loadURL:url.url().getNSString()
+ [_bridge loadURL:url.getNSURL()
referrer:[_bridge referrer]
reload:NO
target:nil
@@ -194,7 +194,7 @@ bool KWQKHTMLPart::openURL(const KURL &url)
void KWQKHTMLPart::openURLRequest(const KURL &url, const URLArgs &args)
{
- [_bridge loadURL:url.url().getNSString()
+ [_bridge loadURL:url.getNSURL()
referrer:[_bridge referrer]
reload:args.reload
target:args.frameName.getNSString()
@@ -203,10 +203,10 @@ void KWQKHTMLPart::openURLRequest(const KURL &url, const URLArgs &args)
formValues:nil];
}
-void KWQKHTMLPart::didNotOpenURL(const QString &URL)
+void KWQKHTMLPart::didNotOpenURL(const KURL &URL)
{
if (_submittedFormURL == URL) {
- _submittedFormURL = QString::null;
+ _submittedFormURL = KURL();
}
}
@@ -501,8 +501,6 @@ void KWQKHTMLPart::recordFormValue(const QString &name, const QString &value, HT
void KWQKHTMLPart::submitForm(const KURL &url, const URLArgs &args)
{
- QString URLString = url.url();
-
// The form multi-submit logic here is only right when we are submitting a form that affects this frame.
// Eventually when we find a better fix we can remove this altogether.
WebCoreBridge *target = args.frameName.isEmpty() ? _bridge : [_bridge findFrameNamed:args.frameName.getNSString()];
@@ -520,14 +518,14 @@ void KWQKHTMLPart::submitForm(const KURL &url, const URLArgs &args)
// This flag prevents these from happening.
// Note that the flag is reset in setView()
// since this part may get reused if it is pulled from the b/f cache.
- if (_submittedFormURL == URLString) {
+ if (_submittedFormURL == url) {
return;
}
- _submittedFormURL = URLString;
+ _submittedFormURL = url;
}
if (!args.doPost()) {
- [_bridge loadURL:URLString.getNSString()
+ [_bridge loadURL:url.getNSURL()
referrer:[_bridge referrer]
reload:args.reload
target:args.frameName.getNSString()
@@ -536,7 +534,7 @@ void KWQKHTMLPart::submitForm(const KURL &url, const URLArgs &args)
formValues:_formValuesAboutToBeSubmitted];
} else {
ASSERT(args.contentType().startsWith("Content-Type: "));
- [_bridge postWithURL:URLString.getNSString()
+ [_bridge postWithURL:url.getNSURL()
referrer:[_bridge referrer]
target:args.frameName.getNSString()
data:[NSData dataWithBytes:args.postData.data() length:args.postData.size()]
@@ -582,7 +580,7 @@ void KHTMLPart::frameDetached()
void KWQKHTMLPart::urlSelected(const KURL &url, int button, int state, const URLArgs &args)
{
- [_bridge loadURL:url.url().getNSString()
+ [_bridge loadURL:url.getNSURL()
referrer:[_bridge referrer]
reload:args.reload
target:args.frameName.getNSString()
@@ -654,7 +652,7 @@ void KWQKHTMLPart::setView(KHTMLView *view)
// Only one form submission is allowed per view of a part.
// Since this part may be getting reused as a result of being
// pulled from the back/forward cache, reset this flag.
- _submittedFormURL = QString::null;
+ _submittedFormURL = KURL();
}
KHTMLView *KWQKHTMLPart::view() const
diff --git a/WebCore/kwq/KWQKHTMLPartBrowserExtension.mm b/WebCore/kwq/KWQKHTMLPartBrowserExtension.mm
index 6fe6a36..5926d80 100644
--- a/WebCore/kwq/KWQKHTMLPartBrowserExtension.mm
+++ b/WebCore/kwq/KWQKHTMLPartBrowserExtension.mm
@@ -86,7 +86,7 @@ void KHTMLPartBrowserExtension::createNewWindow(const KURL &url,
bridge = [_part->bridge() findFrameNamed:frameName];
if (bridge != nil) {
if (!url.isEmpty()) {
- [bridge loadURL:url.url().getNSString() referrer:[_part->bridge() referrer] reload:urlArgs.reload target:nil triggeringEvent:nil form:nil formValues:nil];
+ [bridge loadURL:url.getNSURL() referrer:[_part->bridge() referrer] reload:urlArgs.reload target:nil triggeringEvent:nil form:nil formValues:nil];
}
[bridge focusWindow];
*partResult = [bridge part];
@@ -94,7 +94,7 @@ void KHTMLPartBrowserExtension::createNewWindow(const KURL &url,
}
}
- bridge = [_part->bridge() createWindowWithURL:url.url().getNSString() frameName:frameName];
+ bridge = [_part->bridge() createWindowWithURL:url.getNSURL() frameName:frameName];
if (!winArgs.toolBarsVisible) {
[bridge setToolbarsVisible:NO];
diff --git a/WebCore/kwq/KWQKURL.h b/WebCore/kwq/KWQKURL.h
index b14a45a..312f636 100644
--- a/WebCore/kwq/KWQKURL.h
+++ b/WebCore/kwq/KWQKURL.h
@@ -46,6 +46,7 @@ public:
KURL(const char *);
KURL(const KURL &, const QString &, const QTextCodec * = 0);
KURL(const QString &);
+ KURL(NSURL *);
bool isEmpty() const { return urlString.isEmpty(); }
bool isMalformed() const { return !m_isValid; }
diff --git a/WebCore/kwq/KWQKURL.mm b/WebCore/kwq/KWQKURL.mm
index 8460e82..7fdfe68 100644
--- a/WebCore/kwq/KWQKURL.mm
+++ b/WebCore/kwq/KWQKURL.mm
@@ -232,6 +232,23 @@ KURL::KURL(const QString &url) :
}
}
+KURL::KURL(NSURL *url)
+{
+ if (url) {
+ // FIXME: Use new CF API to access URL bytes when that API is available
+ const char *bytes = [[url absoluteString] cString];
+ if (bytes[0] == '/') {
+ QString fileUrl = QString("file:") + bytes;
+ parse(fileUrl.ascii(), &fileUrl);
+ } else {
+ parse(bytes, NULL);
+ }
+ }
+ else {
+ parse("", NULL);
+ }
+}
+
KURL::KURL(const KURL &base, const QString &relative, const QTextCodec *codec)
{
// Allow at lest absolute URLs to resolve against an empty URL.
diff --git a/WebCore/kwq/WebCoreBridge.h b/WebCore/kwq/WebCoreBridge.h
index 87465d4..a80c34f 100644
--- a/WebCore/kwq/WebCoreBridge.h
+++ b/WebCore/kwq/WebCoreBridge.h
@@ -112,7 +112,7 @@ enum FrameBorderStyle {
- (void)setParent:(WebCoreBridge *)parent;
-- (void)openURL:(NSString *)URL reload:(BOOL)reload
+- (void)openURL:(NSURL *)URL reload:(BOOL)reload
contentType:(NSString *)contentType refresh:(NSString *)refresh lastModified:(NSDate *)lastModified
pageCache:(NSDictionary *)pageCache;
- (void)setEncoding:(NSString *)encoding userChosen:(BOOL)userChosen;
@@ -234,10 +234,10 @@ enum FrameBorderStyle {
- (NSString *)generateFrameName;
- (void)frameDetached;
-- (void)loadURL:(NSString *)URL referrer:(NSString *)referrer reload:(BOOL)reload target:(NSString *)target triggeringEvent:(NSEvent *)event form:(NSObject <WebDOMElement> *)form formValues:(NSDictionary *)values;
-- (void)postWithURL:(NSString *)URL referrer:(NSString *)referrer target:(NSString *)target data:(NSData *)data contentType:(NSString *)contentType triggeringEvent:(NSEvent *)event form:(NSObject <WebDOMElement> *)form formValues:(NSDictionary *)values;
+- (void)loadURL:(NSURL *)URL referrer:(NSString *)referrer reload:(BOOL)reload target:(NSString *)target triggeringEvent:(NSEvent *)event form:(NSObject <WebDOMElement> *)form formValues:(NSDictionary *)values;
+- (void)postWithURL:(NSURL *)URL referrer:(NSString *)referrer target:(NSString *)target data:(NSData *)data contentType:(NSString *)contentType triggeringEvent:(NSEvent *)event form:(NSObject <WebDOMElement> *)form formValues:(NSDictionary *)values;
-- (WebCoreBridge *)createWindowWithURL:(NSString *)URL frameName:(NSString *)name;
+- (WebCoreBridge *)createWindowWithURL:(NSURL *)URL frameName:(NSString *)name;
- (void)showWindow;
- (NSString *)userAgentForURL:(NSString *)URL;
diff --git a/WebCore/kwq/WebCoreBridge.mm b/WebCore/kwq/WebCoreBridge.mm
index 20ed82a..0683674 100644
--- a/WebCore/kwq/WebCoreBridge.mm
+++ b/WebCore/kwq/WebCoreBridge.mm
@@ -160,7 +160,7 @@ static bool initializedObjectCacheSize = FALSE;
_part->setParent([parent part]);
}
-- (void)openURL:(NSString *)URL reload:(BOOL)reload contentType:(NSString *)contentType refresh:(NSString *)refresh lastModified:(NSDate *)lastModified pageCache:(NSDictionary *)pageCache
+- (void)openURL:(NSURL *)URL reload:(BOOL)reload contentType:(NSString *)contentType refresh:(NSString *)refresh lastModified:(NSDate *)lastModified pageCache:(NSDictionary *)pageCache
{
if (pageCache) {
KWQPageState *state = [pageCache objectForKey:WebCorePageCacheStateKey];
@@ -178,7 +178,7 @@ static bool initializedObjectCacheSize = FALSE;
_part->browserExtension()->setURLArgs(args);
// opening the URL
- if (_part->didOpenURL([URL cString])) {
+ if (_part->didOpenURL(URL)) {
// things we have to set up after calling didOpenURL
if (refresh) {
_part->addMetaData("http-refresh", QString::fromNSString(refresh));
diff --git a/WebKit/ChangeLog b/WebKit/ChangeLog
index e18c2ca..bbd79e7 100644
--- a/WebKit/ChangeLog
+++ b/WebKit/ChangeLog
@@ -1,3 +1,15 @@
+2003-07-17 Ken Kocienda <kocienda at apple.com>
+
+ Reviewed by Darin
+
+ * WebCoreSupport.subproj/WebBridge.m:
+ (-[WebBridge createWindowWithURL:frameName:]): Now uses NSURL in API instead of NSString
+ (-[WebBridge loadURL:referrer:reload:target:triggeringEvent:form:formValues:]): Ditto
+ (-[WebBridge postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]): Ditto
+ * WebKit.pbproj/project.pbxproj: Added WebNSURLExtras file
+ * WebView.subproj/WebDataSourcePrivate.m:
+ (-[WebDataSource _commitIfReady:]): Now uses NSURL in API instead of NSString
+
2003-07-15 Richard Williamson <rjw at apple.com>
Fixed 3315952: Add support for <IMG> in attributed string conversion.
diff --git a/WebKit/Misc.subproj/WebNSURLExtras.h b/WebKit/Misc.subproj/WebNSURLExtras.h
new file mode 100644
index 0000000..a47f375
--- /dev/null
+++ b/WebKit/Misc.subproj/WebNSURLExtras.h
@@ -0,0 +1,21 @@
+/*
+ WebNSURLExtras.h
+ Private (SPI) header
+ Copyright 2002, Apple, Inc. All rights reserved.
+*/
+
+#import <Foundation/Foundation.h>
+
+#import <Foundation/NSURL_NSURLExtras.h>
+
+ at interface NSURL (WebNSURLExtras)
+
++ (NSURL *)_web_URLWithData:(NSData *)data;
++ (NSURL *)_web_URLWithData:(NSData *)data relativeToURL:(NSURL *)baseURL;
+
+- (NSData *)_web_URLAsData;
+
+- (NSString *)_web_absoluteString;
+- (int)_web_URLStringLength;
+
+ at end
diff --git a/WebKit/Misc.subproj/WebNSURLExtras.m b/WebKit/Misc.subproj/WebNSURLExtras.m
new file mode 100644
index 0000000..c362069
--- /dev/null
+++ b/WebKit/Misc.subproj/WebNSURLExtras.m
@@ -0,0 +1,77 @@
+/*
+ WebNSURLExtras.h
+ Private (SPI) header
+ Copyright 2002, Apple, Inc. All rights reserved.
+*/
+
+#import <WebKit/WebNSURLExtras.h>
+
+ at implementation NSURL (WebNSURLExtras)
+
++ (NSURL *)_web_URLWithData:(NSData *)data
+{
+ NSString *string = [[[NSString alloc] initWithData:data encoding:NSISOLatin1StringEncoding] autorelease];
+ return [NSURL _web_URLWithString:string];
+#if 0
+ // URL API FIXME: Use new URL API when available
+ return (NSURL *)CFURLCreateAbsoluteURLWithBytes(NULL, [data bytes], [data length], NSISOLatin1StringEncoding, NULL, YES);
+#endif
+}
+
++ (NSURL *)_web_URLWithData:(NSData *)data relativeToURL:(NSURL *)baseURL
+{
+ NSString *string = [[[NSString alloc] initWithData:data encoding:NSISOLatin1StringEncoding] autorelease];
+ return [NSURL _web_URLWithString:string relativeToURL:baseURL];
+#if 0
+ // URL API FIXME: Use new URL API when available
+ return (NSURL *)CFURLCreateAbsoluteURLWithBytes(NULL, [data bytes], [data length], NSISOLatin1StringEncoding, (CFURLRef)baseURL, YES);
+#endif
+}
+
+- (NSData *)_web_URLAsData
+{
+ return [[self absoluteString] dataUsingEncoding:NSISOLatin1StringEncoding allowLossyConversion:YES];
+#if 0
+ // URL API FIXME: Convert to new URL API when available
+ NSData *result = nil;
+
+ static int URLAsDataBufferSize = 2048;
+ UInt8 static_buffer[URLAsDataBufferSize];
+ CFIndex bytesFilled = CFURLGetBytes((CFURLRef)self, static_buffer, URLAsDataBufferSize);
+ if (bytesFilled != -1) {
+ result = [NSData dataWithBytes:static_buffer length:bytesFilled];
+ }
+ else {
+ CFIndex bytesToAllocate = CFURLGetBytes((CFURLRef)self, NULL, 0);
+ UInt8 *buffer = malloc(bytesToAllocate);
+ bytesFilled = CFURLGetBytes((CFURLRef)self, buffer, bytesToAllocate);
+ NSURL_ASSERT(bytesFilled == bytesToAllocate);
+ result = [NSData dataWithBytesNoCopy:buffer length:bytesFilled];
+ }
+
+ return result;
+#endif
+}
+
+- (NSString *)_web_absoluteString
+{
+ return [self absoluteString];
+#if 0
+ // URL API FIXME: Convert to new URL API when available
+ return [[[NSString alloc] initWithData:[self _web_URLAsData] encoding:NSISOLatin1StringEncoding] autorelease];
+#endif
+}
+
+- (int)_web_URLStringLength
+{
+ int length = 0;
+ if (!CFURLGetBaseURL((CFURLRef)self)) {
+ length = CFURLGetBytes((CFURLRef)self, NULL, 0);
+ }
+ else {
+ length = [[self absoluteString] length];
+ }
+ return length;
+}
+
+ at end
diff --git a/WebKit/WebCoreSupport.subproj/WebBridge.m b/WebKit/WebCoreSupport.subproj/WebBridge.m
index 2c0e065..042d0ae 100644
--- a/WebKit/WebCoreSupport.subproj/WebBridge.m
+++ b/WebKit/WebCoreSupport.subproj/WebBridge.m
@@ -27,6 +27,7 @@
#import <WebKit/WebKitSystemBits.h>
#import <WebKit/WebNetscapePluginEmbeddedView.h>
#import <WebKit/WebNetscapePluginPackage.h>
+#import <WebKit/WebNSURLExtras.h>
#import <WebKit/WebNullPluginView.h>
#import <WebKit/WebPlugin.h>
#import <WebKit/WebPluginController.h>
@@ -113,14 +114,14 @@
return [[_frame findFrameNamed:name] _bridge];
}
-- (WebCoreBridge *)createWindowWithURL:(NSString *)URL frameName:(NSString *)name
+- (WebCoreBridge *)createWindowWithURL:(NSURL *)URL frameName:(NSString *)name
{
ASSERT(_frame != nil);
NSMutableURLRequest *request = nil;
- if (URL != nil && [URL length] > 0) {
- request = [NSMutableURLRequest requestWithURL:[NSURL _web_URLWithString:URL]];
+ if (URL != nil && [URL _web_URLStringLength] > 0) {
+ request = [NSMutableURLRequest requestWithURL:URL];
[request setHTTPReferrer:[self referrer]];
}
@@ -427,7 +428,7 @@
[[self dataSource] _setIconURL:[NSURL _web_URLWithString:URL] withType:type];
}
-- (void)loadURL:(NSString *)URL referrer:(NSString *)referrer reload:(BOOL)reload target:(NSString *)target triggeringEvent:(NSEvent *)event form:(NSObject <WebDOMElement> *)form formValues:(NSDictionary *)values
+- (void)loadURL:(NSURL *)URL referrer:(NSString *)referrer reload:(BOOL)reload target:(NSString *)target triggeringEvent:(NSEvent *)event form:(NSObject <WebDOMElement> *)form formValues:(NSDictionary *)values
{
if ([target length] == 0) {
target = nil;
@@ -435,14 +436,14 @@
WebFrame *targetFrame = [_frame findFrameNamed:target];
- [_frame _loadURL:[NSURL _web_URLWithString:URL] referrer:referrer loadType:(reload ? WebFrameLoadTypeReload : WebFrameLoadTypeStandard) target:target triggeringEvent:event form:form formValues:values];
+ [_frame _loadURL:URL referrer:referrer loadType:(reload ? WebFrameLoadTypeReload : WebFrameLoadTypeStandard) target:target triggeringEvent:event form:form formValues:values];
if (targetFrame != nil && _frame != targetFrame) {
[[targetFrame _bridge] focusWindow];
}
}
-- (void)postWithURL:(NSString *)URL referrer:(NSString *)referrer target:(NSString *)target data:(NSData *)data contentType:(NSString *)contentType triggeringEvent:(NSEvent *)event form:(NSObject <WebDOMElement> *)form formValues:(NSDictionary *)values
+- (void)postWithURL:(NSURL *)URL referrer:(NSString *)referrer target:(NSString *)target data:(NSData *)data contentType:(NSString *)contentType triggeringEvent:(NSEvent *)event form:(NSObject <WebDOMElement> *)form formValues:(NSDictionary *)values
{
if ([target length] == 0) {
target = nil;
@@ -450,7 +451,7 @@
WebFrame *targetFrame = [_frame findFrameNamed:target];
- [_frame _postWithURL:[NSURL _web_URLWithString:URL] referrer:(NSString *)referrer target:target data:data contentType:contentType triggeringEvent:event form:form formValues:values];
+ [_frame _postWithURL:URL referrer:(NSString *)referrer target:target data:data contentType:contentType triggeringEvent:event form:form formValues:values];
if (targetFrame != nil && _frame != targetFrame) {
[[targetFrame _bridge] focusWindow];
diff --git a/WebKit/WebKit.pbproj/project.pbxproj b/WebKit/WebKit.pbproj/project.pbxproj
index 5fd2e32..cd70bda 100644
--- a/WebKit/WebKit.pbproj/project.pbxproj
+++ b/WebKit/WebKit.pbproj/project.pbxproj
@@ -314,6 +314,7 @@
BE07CEAD047538F000CA289C,
BE07CEAF047538F000CA289C,
BE07CEB1047538F000CA289C,
+ BE6DC39B04C62C4E004D0EF6,
);
isa = PBXHeadersBuildPhase;
runOnlyForDeploymentPostprocessing = 0;
@@ -432,6 +433,7 @@
BE07CEAE047538F000CA289C,
BE07CEB0047538F000CA289C,
BE07CEB2047538F000CA289C,
+ BE6DC39C04C62C4E004D0EF6,
);
isa = PBXSourcesBuildPhase;
runOnlyForDeploymentPostprocessing = 0;
@@ -532,6 +534,8 @@
8398847B03426FB000BC5F5E,
ED2B2474033A2DA800C1A526,
ED2B2475033A2DA800C1A526,
+ BE6DC39904C62C4E004D0EF6,
+ BE6DC39A04C62C4E004D0EF6,
F508946902B71D59018A9CD4,
F508946A02B71D59018A9CD4,
9345DDAE0365FB27008635CE,
@@ -2792,6 +2796,34 @@
settings = {
};
};
+ BE6DC39904C62C4E004D0EF6 = {
+ expectedFileType = sourcecode.c.h;
+ fileEncoding = 30;
+ isa = PBXFileReference;
+ path = WebNSURLExtras.h;
+ refType = 4;
+ sourceTree = "<group>";
+ };
+ BE6DC39A04C62C4E004D0EF6 = {
+ expectedFileType = sourcecode.c.objc;
+ fileEncoding = 30;
+ isa = PBXFileReference;
+ path = WebNSURLExtras.m;
+ refType = 4;
+ sourceTree = "<group>";
+ };
+ BE6DC39B04C62C4E004D0EF6 = {
+ fileRef = BE6DC39904C62C4E004D0EF6;
+ isa = PBXBuildFile;
+ settings = {
+ };
+ };
+ BE6DC39C04C62C4E004D0EF6 = {
+ fileRef = BE6DC39A04C62C4E004D0EF6;
+ isa = PBXBuildFile;
+ settings = {
+ };
+ };
BEE18F920472A0CF00CA289C = {
expectedFileType = sourcecode.c.h;
fileEncoding = 30;
diff --git a/WebKit/WebView.subproj/WebDataSourcePrivate.m b/WebKit/WebView.subproj/WebDataSourcePrivate.m
index 41b0181..f31fd97 100644
--- a/WebKit/WebView.subproj/WebDataSourcePrivate.m
+++ b/WebKit/WebView.subproj/WebDataSourcePrivate.m
@@ -24,6 +24,7 @@
#import <WebKit/WebImageView.h>
#import <WebKit/WebKitLogging.h>
#import <WebKit/WebMainResourceClient.h>
+#import <WebKit/WebNSURLExtras.h>
#import <WebKit/WebPolicyDelegate.h>
#import <WebKit/WebResourceLoadDelegate.h>
#import <WebKit/WebSubresourceClient.h>
@@ -523,18 +524,19 @@
[frame _transitionToCommitted: pageCache];
NSURL *baseURL = [[self request] _webDataRequestBaseURL];
- NSString *urlString;
+ NSURL *URL = nil;
if (baseURL)
- urlString = [baseURL absoluteString];
+ URL = baseURL;
else
- urlString = [[_private->response URL] absoluteString];
+ URL = [_private->response URL];
// WebCore will crash if given an empty URL here.
- if ([urlString length] == 0)
- urlString = @"about:blank";
+ // FIXME: could use CFURL, when available, range API to save an allocation here
+ if (!URL || [URL _web_URLStringLength] == 0)
+ URL = [NSURL URLWithString:@"about:blank"];
- [[self _bridge] openURL:urlString
+ [[self _bridge] openURL:URL
reload:reload
contentType:[_private->response MIMEType]
refresh:[headers objectForKey:@"Refresh"]
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list