[SCM] WebKit Debian packaging branch, debian/unstable, updated. debian/1.1.15-1-40151-g37bb677
cblu
cblu at 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Sat Sep 26 06:03:55 UTC 2009
The following commit has been merged in the debian/unstable branch:
commit 1ed3f1b34c18d6d3956e35a596c4ce20eddbe002
Author: cblu <cblu at 268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Mon Apr 8 21:08:48 2002 +0000
* src/kwq/KWQKHTMLPart.mm: (KHTMLPart::requestObject):
* src/kwq/WCPluginWidget.h:
* src/kwq/WCPluginWidget.mm: (WCPluginWidget::WCPluginWidget):
* Plugins.subproj/IFPluginView.h:
* Plugins.subproj/IFPluginView.mm: (-[IFPluginView
initWithFrame:plugin:url:mime:arguments:mode:]), (-[IFPluginView drawRect:]),
(-[IFPluginView newStream:mimeType:notifyData:]), (-[IFPluginView
getURLNotify:target:notifyData:]):
Support new stream requests from plug-ins that are relative URL's.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@985 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/WebCore/ChangeLog-2002-12-03 b/WebCore/ChangeLog-2002-12-03
index d090175..943cd0e 100644
--- a/WebCore/ChangeLog-2002-12-03
+++ b/WebCore/ChangeLog-2002-12-03
@@ -1,3 +1,11 @@
+2002-04-08 Chris Blumenberg <cblu at apple.com>
+
+ * src/kwq/KWQKHTMLPart.mm: (KHTMLPart::requestObject):
+ * src/kwq/WCPluginWidget.h:
+ * src/kwq/WCPluginWidget.mm: (WCPluginWidget::WCPluginWidget):
+
+ Support new stream requests from plug-ins that are relative URL's.
+
2002-04-05 Chris Blumenberg <cblu at apple.com>
* src/libwebcore.exp:
diff --git a/WebCore/ChangeLog-2003-10-25 b/WebCore/ChangeLog-2003-10-25
index d090175..943cd0e 100644
--- a/WebCore/ChangeLog-2003-10-25
+++ b/WebCore/ChangeLog-2003-10-25
@@ -1,3 +1,11 @@
+2002-04-08 Chris Blumenberg <cblu at apple.com>
+
+ * src/kwq/KWQKHTMLPart.mm: (KHTMLPart::requestObject):
+ * src/kwq/WCPluginWidget.h:
+ * src/kwq/WCPluginWidget.mm: (WCPluginWidget::WCPluginWidget):
+
+ Support new stream requests from plug-ins that are relative URL's.
+
2002-04-05 Chris Blumenberg <cblu at apple.com>
* src/libwebcore.exp:
diff --git a/WebCore/ChangeLog-2005-08-23 b/WebCore/ChangeLog-2005-08-23
index d090175..943cd0e 100644
--- a/WebCore/ChangeLog-2005-08-23
+++ b/WebCore/ChangeLog-2005-08-23
@@ -1,3 +1,11 @@
+2002-04-08 Chris Blumenberg <cblu at apple.com>
+
+ * src/kwq/KWQKHTMLPart.mm: (KHTMLPart::requestObject):
+ * src/kwq/WCPluginWidget.h:
+ * src/kwq/WCPluginWidget.mm: (WCPluginWidget::WCPluginWidget):
+
+ Support new stream requests from plug-ins that are relative URL's.
+
2002-04-05 Chris Blumenberg <cblu at apple.com>
* src/libwebcore.exp:
diff --git a/WebCore/kwq/KWQKHTMLPart.mm b/WebCore/kwq/KWQKHTMLPart.mm
index a7adead..1c579d5 100644
--- a/WebCore/kwq/KWQKHTMLPart.mm
+++ b/WebCore/kwq/KWQKHTMLPart.mm
@@ -975,7 +975,7 @@ bool KHTMLPart::requestObject( khtml::RenderPart *frame, const QString &url, con
// The plugins array is an attempt to avoid multiple creations of the same plug-in.
// FIXME: Can't have multiple plug-ins with the same URL on a page
if(!plugins.contains(url)) {
- WCPluginWidget *pluginWidget = new WCPluginWidget(completeURL(url).url(), serviceType, args);
+ WCPluginWidget *pluginWidget = new WCPluginWidget(completeURL(url).url(), serviceType, args, d->m_baseURL.url());
frame->setWidget(pluginWidget);
plugins.append(url);
}
diff --git a/WebCore/kwq/KWQKHTMLPartImpl.mm b/WebCore/kwq/KWQKHTMLPartImpl.mm
index a7adead..1c579d5 100644
--- a/WebCore/kwq/KWQKHTMLPartImpl.mm
+++ b/WebCore/kwq/KWQKHTMLPartImpl.mm
@@ -975,7 +975,7 @@ bool KHTMLPart::requestObject( khtml::RenderPart *frame, const QString &url, con
// The plugins array is an attempt to avoid multiple creations of the same plug-in.
// FIXME: Can't have multiple plug-ins with the same URL on a page
if(!plugins.contains(url)) {
- WCPluginWidget *pluginWidget = new WCPluginWidget(completeURL(url).url(), serviceType, args);
+ WCPluginWidget *pluginWidget = new WCPluginWidget(completeURL(url).url(), serviceType, args, d->m_baseURL.url());
frame->setWidget(pluginWidget);
plugins.append(url);
}
diff --git a/WebCore/kwq/WCPluginWidget.h b/WebCore/kwq/WCPluginWidget.h
index dad8df5..43b2e79 100644
--- a/WebCore/kwq/WCPluginWidget.h
+++ b/WebCore/kwq/WCPluginWidget.h
@@ -52,7 +52,7 @@ public:
// constructors, copy constructors, and destructors ------------------------
- WCPluginWidget(const QString &url=0, const QString &serviceType=0, const QStringList &args=QStringList());
+ WCPluginWidget(const QString &url=0, const QString &serviceType=0, const QStringList &args=QStringList(), const QString &baseURL=0);
~WCPluginWidget();
// member functions --------------------------------------------------------
diff --git a/WebCore/kwq/WCPluginWidget.mm b/WebCore/kwq/WCPluginWidget.mm
index e040c0e..b1edd89 100644
--- a/WebCore/kwq/WCPluginWidget.mm
+++ b/WebCore/kwq/WCPluginWidget.mm
@@ -53,7 +53,7 @@ void WCSetIFNullPluginMakeFunc(WCIFNullPluginMakeFunc func)
-WCPluginWidget::WCPluginWidget(const QString &url, const QString &serviceType, const QStringList &args)
+WCPluginWidget::WCPluginWidget(const QString &url, const QString &serviceType, const QStringList &args, const QString &baseURL)
{
NSMutableDictionary *arguments;
NSString *arg, *mime=nil, *URL;
@@ -73,7 +73,9 @@ WCPluginWidget::WCPluginWidget(const QString &url, const QString &serviceType, c
[arguments setObject:[arg substringWithRange:r3] forKey:[arg substringToIndex:r1.location]];
}
}
-
+ if(baseURL)
+ [arguments setObject:QSTRING_TO_NSSTRING(baseURL) forKey:@"WebKitBaseURL"];
+
if(serviceType.isNull()){
plugin = [[WCPluginDatabase installedPlugins] getPluginForExtension:[URL pathExtension]];
if(plugin != nil){
diff --git a/WebCore/src/kwq/KWQKHTMLPart.mm b/WebCore/src/kwq/KWQKHTMLPart.mm
index a7adead..1c579d5 100644
--- a/WebCore/src/kwq/KWQKHTMLPart.mm
+++ b/WebCore/src/kwq/KWQKHTMLPart.mm
@@ -975,7 +975,7 @@ bool KHTMLPart::requestObject( khtml::RenderPart *frame, const QString &url, con
// The plugins array is an attempt to avoid multiple creations of the same plug-in.
// FIXME: Can't have multiple plug-ins with the same URL on a page
if(!plugins.contains(url)) {
- WCPluginWidget *pluginWidget = new WCPluginWidget(completeURL(url).url(), serviceType, args);
+ WCPluginWidget *pluginWidget = new WCPluginWidget(completeURL(url).url(), serviceType, args, d->m_baseURL.url());
frame->setWidget(pluginWidget);
plugins.append(url);
}
diff --git a/WebCore/src/kwq/WCPluginWidget.h b/WebCore/src/kwq/WCPluginWidget.h
index dad8df5..43b2e79 100644
--- a/WebCore/src/kwq/WCPluginWidget.h
+++ b/WebCore/src/kwq/WCPluginWidget.h
@@ -52,7 +52,7 @@ public:
// constructors, copy constructors, and destructors ------------------------
- WCPluginWidget(const QString &url=0, const QString &serviceType=0, const QStringList &args=QStringList());
+ WCPluginWidget(const QString &url=0, const QString &serviceType=0, const QStringList &args=QStringList(), const QString &baseURL=0);
~WCPluginWidget();
// member functions --------------------------------------------------------
diff --git a/WebCore/src/kwq/WCPluginWidget.mm b/WebCore/src/kwq/WCPluginWidget.mm
index e040c0e..b1edd89 100644
--- a/WebCore/src/kwq/WCPluginWidget.mm
+++ b/WebCore/src/kwq/WCPluginWidget.mm
@@ -53,7 +53,7 @@ void WCSetIFNullPluginMakeFunc(WCIFNullPluginMakeFunc func)
-WCPluginWidget::WCPluginWidget(const QString &url, const QString &serviceType, const QStringList &args)
+WCPluginWidget::WCPluginWidget(const QString &url, const QString &serviceType, const QStringList &args, const QString &baseURL)
{
NSMutableDictionary *arguments;
NSString *arg, *mime=nil, *URL;
@@ -73,7 +73,9 @@ WCPluginWidget::WCPluginWidget(const QString &url, const QString &serviceType, c
[arguments setObject:[arg substringWithRange:r3] forKey:[arg substringToIndex:r1.location]];
}
}
-
+ if(baseURL)
+ [arguments setObject:QSTRING_TO_NSSTRING(baseURL) forKey:@"WebKitBaseURL"];
+
if(serviceType.isNull()){
plugin = [[WCPluginDatabase installedPlugins] getPluginForExtension:[URL pathExtension]];
if(plugin != nil){
diff --git a/WebKit/ChangeLog b/WebKit/ChangeLog
index c83c463..3475d16 100644
--- a/WebKit/ChangeLog
+++ b/WebKit/ChangeLog
@@ -1,3 +1,13 @@
+2002-04-08 Chris Blumenberg <cblu at apple.com>
+
+ * Plugins.subproj/IFPluginView.h:
+ * Plugins.subproj/IFPluginView.mm: (-[IFPluginView
+ initWithFrame:plugin:url:mime:arguments:mode:]), (-[IFPluginView drawRect:]),
+ (-[IFPluginView newStream:mimeType:notifyData:]), (-[IFPluginView
+ getURLNotify:target:notifyData:]):
+
+ Support new stream requests from plug-ins that are relative URL's.
+
2002-04-08 Darin Adler <darin at apple.com>
* WebKit.pbproj/project.pbxproj: Re-added -Wno-format-y2k.
diff --git a/WebKit/ChangeLog-2002-12-03 b/WebKit/ChangeLog-2002-12-03
index c83c463..3475d16 100644
--- a/WebKit/ChangeLog-2002-12-03
+++ b/WebKit/ChangeLog-2002-12-03
@@ -1,3 +1,13 @@
+2002-04-08 Chris Blumenberg <cblu at apple.com>
+
+ * Plugins.subproj/IFPluginView.h:
+ * Plugins.subproj/IFPluginView.mm: (-[IFPluginView
+ initWithFrame:plugin:url:mime:arguments:mode:]), (-[IFPluginView drawRect:]),
+ (-[IFPluginView newStream:mimeType:notifyData:]), (-[IFPluginView
+ getURLNotify:target:notifyData:]):
+
+ Support new stream requests from plug-ins that are relative URL's.
+
2002-04-08 Darin Adler <darin at apple.com>
* WebKit.pbproj/project.pbxproj: Re-added -Wno-format-y2k.
diff --git a/WebKit/Plugins.subproj/IFPluginView.h b/WebKit/Plugins.subproj/IFPluginView.h
index 0abfeb7..715e085 100644
--- a/WebKit/Plugins.subproj/IFPluginView.h
+++ b/WebKit/Plugins.subproj/IFPluginView.h
@@ -47,6 +47,7 @@ typedef struct _StreamData{
bool isFlipped, transferred, hidden, stopped;
NSString *URL, *mime;
+ NSURL *baseURL;
NSTrackingRectTag trackingTag;
NSMutableArray *filesToErase, *activeURLHandles;
@@ -71,7 +72,7 @@ typedef struct _StreamData{
-(void)viewHasMoved:(NSNotification *)notification;
-(NSView *)findSuperview:(NSString *) viewName;
- (void) windowWillClose:(NSNotification *)notification;
--(void)newStream:(NSString *)streamURL mimeType:(NSString *)mimeType notifyData:(void *)notifyData;
+-(void)newStream:(NSURL *)streamURL mimeType:(NSString *)mimeType notifyData:(void *)notifyData;
-(BOOL)acceptsFirstResponder;
-(BOOL)becomeFirstResponder;
-(BOOL)resignFirstResponder;
diff --git a/WebKit/Plugins.subproj/IFPluginView.mm b/WebKit/Plugins.subproj/IFPluginView.mm
index c28567a..2522007 100644
--- a/WebKit/Plugins.subproj/IFPluginView.mm
+++ b/WebKit/Plugins.subproj/IFPluginView.mm
@@ -71,7 +71,7 @@ static id IFPluginMake(NSRect rect, WCPlugin *plugin, NSString *url, NSString *m
char *cMime, *s;
NPSavedData saved;
NSArray *attributes, *values;
- NSString *attributeString;
+ NSString *attributeString, *baseURLString;
uint i;
[super initWithFrame: r];
@@ -106,6 +106,11 @@ static id IFPluginMake(NSRect rect, WCPlugin *plugin, NSString *url, NSString *m
[mime getCString:cMime];
if(arguments){
+
+ baseURLString = [arguments objectForKey:@"WebKitBaseURL"];
+ if(baseURLString)
+ baseURL = [[NSURL URLWithString:baseURLString] retain];
+
attributes = [arguments allKeys];
values = [arguments allValues];
cAttributes = malloc(sizeof(char *) * [arguments count]);
@@ -160,7 +165,7 @@ static id IFPluginMake(NSRect rect, WCPlugin *plugin, NSString *url, NSString *m
[notificationCenter addObserver:self selector:@selector(windowResignedKey:) name:@"NSWindowDidResignKeyNotification" object:theWindow];
[self sendActivateEvent:[theWindow isKeyWindow]];
if(URL)
- [self newStream:URL mimeType:mime notifyData:NULL];
+ [self newStream:[NSURL URLWithString:URL] mimeType:mime notifyData:NULL];
eventSender = [[IFPluginViewNullEventSender alloc] initializeWithNPP:instance functionPointer:NPP_HandleEvent];
[eventSender sendNullEvents];
transferred = TRUE;
@@ -249,7 +254,7 @@ static id IFPluginMake(NSRect rect, WCPlugin *plugin, NSString *url, NSString *m
}
-- (void) newStream:(NSString *)streamURL mimeType:(NSString *)mimeType notifyData:(void *)notifyData
+- (void) newStream:(NSURL *)streamURL mimeType:(NSString *)mimeType notifyData:(void *)notifyData
{
char *cURL, *cMime;
StreamData *streamData;
@@ -258,11 +263,13 @@ static id IFPluginMake(NSRect rect, WCPlugin *plugin, NSString *url, NSString *m
uint16 transferMode;
IFURLHandle *urlHandle;
NSDictionary *attributes;
+ NSString *streamURLString;
+ streamURLString = [streamURL absoluteString];
stream = malloc(sizeof(NPStream));
- cURL = malloc([streamURL length]+1);
+ cURL = malloc([streamURLString length]+1);
cMime = malloc([mimeType length]+1);
- [streamURL getCString:cURL];
+ [streamURLString getCString:cURL];
[mimeType getCString:cMime];
stream->url = cURL;
stream->end = 0;
@@ -281,19 +288,19 @@ static id IFPluginMake(NSRect rect, WCPlugin *plugin, NSString *url, NSString *m
if(transferMode == NP_NORMAL){
WEBKITDEBUG("Stream type: NP_NORMAL\n");
attributes = [NSDictionary dictionaryWithObject:[NSValue valueWithPointer:streamData] forKey:IFURLHandleUserData];
- urlHandle = [[IFURLHandle alloc] initWithURL:[NSURL URLWithString:streamURL] attributes:attributes flags:0];
+ urlHandle = [[IFURLHandle alloc] initWithURL:streamURL attributes:attributes flags:0];
[urlHandle addClient:self];
[activeURLHandles addObject:urlHandle];
[urlHandle loadInBackground];
}else if(transferMode == NP_ASFILEONLY || transferMode == NP_ASFILE){
if(transferMode == NP_ASFILEONLY) WEBKITDEBUG("Stream type: NP_ASFILEONLY\n");
if(transferMode == NP_ASFILE) WEBKITDEBUG("Stream type: NP_ASFILE\n");
- streamData->filename = [NSString stringWithString:[streamURL lastPathComponent]];
+ streamData->filename = [NSString stringWithString:[streamURLString lastPathComponent]];
[streamData->filename retain];
streamData->data = [NSMutableData dataWithCapacity:0];
[streamData->data retain];
attributes = [NSDictionary dictionaryWithObject:[NSValue valueWithPointer:streamData] forKey:IFURLHandleUserData];
- urlHandle = [[IFURLHandle alloc] initWithURL:[NSURL URLWithString:streamURL] attributes:attributes flags:0];
+ urlHandle = [[IFURLHandle alloc] initWithURL:streamURL attributes:attributes flags:0];
[urlHandle addClient:self];
if(urlHandle!=nil){
[activeURLHandles addObject:urlHandle];
@@ -535,14 +542,20 @@ static id IFPluginMake(NSRect rect, WCPlugin *plugin, NSString *url, NSString *m
{
NSURL *newURL;
IFWebDataSource *dataSource;
+ NSURL *requestedURL;
WEBKITDEBUG("NPN_GetURLNotify: %s target: %s\n", url, target);
if(!strcmp(url, "")){
return NPERR_INVALID_URL;
+ }else if(strstr(url, "://")){ //check if this is an absolute URL
+ requestedURL = [NSURL URLWithString:[NSString stringWithCString:url]];
+ }else{
+ requestedURL = [NSURL URLWithString:[NSString stringWithCString:url] relativeToURL:baseURL];
}
+
if(target == NULL){ // send data to plug-in if target is null
- [self newStream:[NSString stringWithCString:url] mimeType:[plugin mimeTypeForURL:[NSString stringWithCString:url]] notifyData:(void *)notifyData];
+ [self newStream:requestedURL mimeType:[plugin mimeTypeForURL:[NSString stringWithCString:url]] notifyData:(void *)notifyData];
}else if(!strcmp(target, "_self") || !strcmp(target, "_current") || !strcmp(target, "_parent") || !strcmp(target, "_top")){
if(webController){
newURL = [NSURL URLWithString:[NSString stringWithCString:url]];
diff --git a/WebKit/Plugins.subproj/WebPluginView.h b/WebKit/Plugins.subproj/WebPluginView.h
index 0abfeb7..715e085 100644
--- a/WebKit/Plugins.subproj/WebPluginView.h
+++ b/WebKit/Plugins.subproj/WebPluginView.h
@@ -47,6 +47,7 @@ typedef struct _StreamData{
bool isFlipped, transferred, hidden, stopped;
NSString *URL, *mime;
+ NSURL *baseURL;
NSTrackingRectTag trackingTag;
NSMutableArray *filesToErase, *activeURLHandles;
@@ -71,7 +72,7 @@ typedef struct _StreamData{
-(void)viewHasMoved:(NSNotification *)notification;
-(NSView *)findSuperview:(NSString *) viewName;
- (void) windowWillClose:(NSNotification *)notification;
--(void)newStream:(NSString *)streamURL mimeType:(NSString *)mimeType notifyData:(void *)notifyData;
+-(void)newStream:(NSURL *)streamURL mimeType:(NSString *)mimeType notifyData:(void *)notifyData;
-(BOOL)acceptsFirstResponder;
-(BOOL)becomeFirstResponder;
-(BOOL)resignFirstResponder;
diff --git a/WebKit/Plugins.subproj/WebPluginView.m b/WebKit/Plugins.subproj/WebPluginView.m
index c28567a..2522007 100644
--- a/WebKit/Plugins.subproj/WebPluginView.m
+++ b/WebKit/Plugins.subproj/WebPluginView.m
@@ -71,7 +71,7 @@ static id IFPluginMake(NSRect rect, WCPlugin *plugin, NSString *url, NSString *m
char *cMime, *s;
NPSavedData saved;
NSArray *attributes, *values;
- NSString *attributeString;
+ NSString *attributeString, *baseURLString;
uint i;
[super initWithFrame: r];
@@ -106,6 +106,11 @@ static id IFPluginMake(NSRect rect, WCPlugin *plugin, NSString *url, NSString *m
[mime getCString:cMime];
if(arguments){
+
+ baseURLString = [arguments objectForKey:@"WebKitBaseURL"];
+ if(baseURLString)
+ baseURL = [[NSURL URLWithString:baseURLString] retain];
+
attributes = [arguments allKeys];
values = [arguments allValues];
cAttributes = malloc(sizeof(char *) * [arguments count]);
@@ -160,7 +165,7 @@ static id IFPluginMake(NSRect rect, WCPlugin *plugin, NSString *url, NSString *m
[notificationCenter addObserver:self selector:@selector(windowResignedKey:) name:@"NSWindowDidResignKeyNotification" object:theWindow];
[self sendActivateEvent:[theWindow isKeyWindow]];
if(URL)
- [self newStream:URL mimeType:mime notifyData:NULL];
+ [self newStream:[NSURL URLWithString:URL] mimeType:mime notifyData:NULL];
eventSender = [[IFPluginViewNullEventSender alloc] initializeWithNPP:instance functionPointer:NPP_HandleEvent];
[eventSender sendNullEvents];
transferred = TRUE;
@@ -249,7 +254,7 @@ static id IFPluginMake(NSRect rect, WCPlugin *plugin, NSString *url, NSString *m
}
-- (void) newStream:(NSString *)streamURL mimeType:(NSString *)mimeType notifyData:(void *)notifyData
+- (void) newStream:(NSURL *)streamURL mimeType:(NSString *)mimeType notifyData:(void *)notifyData
{
char *cURL, *cMime;
StreamData *streamData;
@@ -258,11 +263,13 @@ static id IFPluginMake(NSRect rect, WCPlugin *plugin, NSString *url, NSString *m
uint16 transferMode;
IFURLHandle *urlHandle;
NSDictionary *attributes;
+ NSString *streamURLString;
+ streamURLString = [streamURL absoluteString];
stream = malloc(sizeof(NPStream));
- cURL = malloc([streamURL length]+1);
+ cURL = malloc([streamURLString length]+1);
cMime = malloc([mimeType length]+1);
- [streamURL getCString:cURL];
+ [streamURLString getCString:cURL];
[mimeType getCString:cMime];
stream->url = cURL;
stream->end = 0;
@@ -281,19 +288,19 @@ static id IFPluginMake(NSRect rect, WCPlugin *plugin, NSString *url, NSString *m
if(transferMode == NP_NORMAL){
WEBKITDEBUG("Stream type: NP_NORMAL\n");
attributes = [NSDictionary dictionaryWithObject:[NSValue valueWithPointer:streamData] forKey:IFURLHandleUserData];
- urlHandle = [[IFURLHandle alloc] initWithURL:[NSURL URLWithString:streamURL] attributes:attributes flags:0];
+ urlHandle = [[IFURLHandle alloc] initWithURL:streamURL attributes:attributes flags:0];
[urlHandle addClient:self];
[activeURLHandles addObject:urlHandle];
[urlHandle loadInBackground];
}else if(transferMode == NP_ASFILEONLY || transferMode == NP_ASFILE){
if(transferMode == NP_ASFILEONLY) WEBKITDEBUG("Stream type: NP_ASFILEONLY\n");
if(transferMode == NP_ASFILE) WEBKITDEBUG("Stream type: NP_ASFILE\n");
- streamData->filename = [NSString stringWithString:[streamURL lastPathComponent]];
+ streamData->filename = [NSString stringWithString:[streamURLString lastPathComponent]];
[streamData->filename retain];
streamData->data = [NSMutableData dataWithCapacity:0];
[streamData->data retain];
attributes = [NSDictionary dictionaryWithObject:[NSValue valueWithPointer:streamData] forKey:IFURLHandleUserData];
- urlHandle = [[IFURLHandle alloc] initWithURL:[NSURL URLWithString:streamURL] attributes:attributes flags:0];
+ urlHandle = [[IFURLHandle alloc] initWithURL:streamURL attributes:attributes flags:0];
[urlHandle addClient:self];
if(urlHandle!=nil){
[activeURLHandles addObject:urlHandle];
@@ -535,14 +542,20 @@ static id IFPluginMake(NSRect rect, WCPlugin *plugin, NSString *url, NSString *m
{
NSURL *newURL;
IFWebDataSource *dataSource;
+ NSURL *requestedURL;
WEBKITDEBUG("NPN_GetURLNotify: %s target: %s\n", url, target);
if(!strcmp(url, "")){
return NPERR_INVALID_URL;
+ }else if(strstr(url, "://")){ //check if this is an absolute URL
+ requestedURL = [NSURL URLWithString:[NSString stringWithCString:url]];
+ }else{
+ requestedURL = [NSURL URLWithString:[NSString stringWithCString:url] relativeToURL:baseURL];
}
+
if(target == NULL){ // send data to plug-in if target is null
- [self newStream:[NSString stringWithCString:url] mimeType:[plugin mimeTypeForURL:[NSString stringWithCString:url]] notifyData:(void *)notifyData];
+ [self newStream:requestedURL mimeType:[plugin mimeTypeForURL:[NSString stringWithCString:url]] notifyData:(void *)notifyData];
}else if(!strcmp(target, "_self") || !strcmp(target, "_current") || !strcmp(target, "_parent") || !strcmp(target, "_top")){
if(webController){
newURL = [NSURL URLWithString:[NSString stringWithCString:url]];
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list