[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:56:31 UTC 2009
The following commit has been merged in the debian/unstable branch:
commit c5f95c6e85c01c598e12a81095181477c07fc991
Author: cblu <cblu at 268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Sat Nov 2 00:13:27 2002 +0000
WebKit:
Check that the plug-in is loaded before calling it.
* Plugins.subproj/WebBaseNetscapePluginStream.h:
* Plugins.subproj/WebBaseNetscapePluginStream.m:
(-[WebBaseNetscapePluginStream dealloc]):
(-[WebBaseNetscapePluginStream setPluginPointer:]):
(-[WebBaseNetscapePluginStream setResponse:]):
(-[WebBaseNetscapePluginStream receivedData:]):
(-[WebBaseNetscapePluginStream destroyStreamWithReason:]):
(-[WebBaseNetscapePluginStream finishedLoadingWithData:]):
* Plugins.subproj/WebBasePluginPackage.h:
* Plugins.subproj/WebBasePluginPackage.m:
(-[WebBasePluginPackage isLoaded]):
* Plugins.subproj/WebNetscapePluginDocumentView.m:
(-[WebNetscapePluginDocumentView setDataSource:]):
* Plugins.subproj/WebNetscapePluginPackage.m:
(-[WebNetscapePluginPackage isLoaded]):
* Plugins.subproj/WebNetscapePluginRepresentation.m:
(-[WebNetscapePluginRepresentation receivedData:withDataSource:]):
WebBrowser:
Use the display name of the dataSource not the document when reporting plug-in errors.
* LoadProgressMonitor.m:
(-[LoadProgressMonitor pluginFailedWithError:dataSource:]):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2533 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/WebKit/ChangeLog b/WebKit/ChangeLog
index 488c1bc..55feac8 100644
--- a/WebKit/ChangeLog
+++ b/WebKit/ChangeLog
@@ -1,5 +1,27 @@
2002-11-01 Chris Blumenberg <cblu at apple.com>
+ Check that the plug-in is loaded before calling it.
+
+ * Plugins.subproj/WebBaseNetscapePluginStream.h:
+ * Plugins.subproj/WebBaseNetscapePluginStream.m:
+ (-[WebBaseNetscapePluginStream dealloc]):
+ (-[WebBaseNetscapePluginStream setPluginPointer:]):
+ (-[WebBaseNetscapePluginStream setResponse:]):
+ (-[WebBaseNetscapePluginStream receivedData:]):
+ (-[WebBaseNetscapePluginStream destroyStreamWithReason:]):
+ (-[WebBaseNetscapePluginStream finishedLoadingWithData:]):
+ * Plugins.subproj/WebBasePluginPackage.h:
+ * Plugins.subproj/WebBasePluginPackage.m:
+ (-[WebBasePluginPackage isLoaded]):
+ * Plugins.subproj/WebNetscapePluginDocumentView.m:
+ (-[WebNetscapePluginDocumentView setDataSource:]):
+ * Plugins.subproj/WebNetscapePluginPackage.m:
+ (-[WebNetscapePluginPackage isLoaded]):
+ * Plugins.subproj/WebNetscapePluginRepresentation.m:
+ (-[WebNetscapePluginRepresentation receivedData:withDataSource:]):
+
+2002-11-01 Chris Blumenberg <cblu at apple.com>
+
- Moved plug-in error handling to WebResourceLoadDelegate
- Report plug-in load failure, java load failure, and plug-in not found errors.
- Added WebPluginError, subclass of WebError.
diff --git a/WebKit/ChangeLog-2002-12-03 b/WebKit/ChangeLog-2002-12-03
index 488c1bc..55feac8 100644
--- a/WebKit/ChangeLog-2002-12-03
+++ b/WebKit/ChangeLog-2002-12-03
@@ -1,5 +1,27 @@
2002-11-01 Chris Blumenberg <cblu at apple.com>
+ Check that the plug-in is loaded before calling it.
+
+ * Plugins.subproj/WebBaseNetscapePluginStream.h:
+ * Plugins.subproj/WebBaseNetscapePluginStream.m:
+ (-[WebBaseNetscapePluginStream dealloc]):
+ (-[WebBaseNetscapePluginStream setPluginPointer:]):
+ (-[WebBaseNetscapePluginStream setResponse:]):
+ (-[WebBaseNetscapePluginStream receivedData:]):
+ (-[WebBaseNetscapePluginStream destroyStreamWithReason:]):
+ (-[WebBaseNetscapePluginStream finishedLoadingWithData:]):
+ * Plugins.subproj/WebBasePluginPackage.h:
+ * Plugins.subproj/WebBasePluginPackage.m:
+ (-[WebBasePluginPackage isLoaded]):
+ * Plugins.subproj/WebNetscapePluginDocumentView.m:
+ (-[WebNetscapePluginDocumentView setDataSource:]):
+ * Plugins.subproj/WebNetscapePluginPackage.m:
+ (-[WebNetscapePluginPackage isLoaded]):
+ * Plugins.subproj/WebNetscapePluginRepresentation.m:
+ (-[WebNetscapePluginRepresentation receivedData:withDataSource:]):
+
+2002-11-01 Chris Blumenberg <cblu at apple.com>
+
- Moved plug-in error handling to WebResourceLoadDelegate
- Report plug-in load failure, java load failure, and plug-in not found errors.
- Added WebPluginError, subclass of WebError.
diff --git a/WebKit/Plugins.subproj/WebBaseNetscapePluginStream.h b/WebKit/Plugins.subproj/WebBaseNetscapePluginStream.h
index 7081b11..cd4f2e6 100644
--- a/WebKit/Plugins.subproj/WebBaseNetscapePluginStream.h
+++ b/WebKit/Plugins.subproj/WebBaseNetscapePluginStream.h
@@ -8,6 +8,7 @@
#import <WebKit/WebBaseResourceHandleDelegate.h>
#import <WebKit/npapi.h>
+ at class WebNetscapePluginPackage;
@class WebResourceResponse;
@interface WebBaseNetscapePluginStream : WebBaseResourceHandleDelegate
@@ -19,6 +20,7 @@
NPStream stream;
NSString *path;
void *notifyData;
+ WebNetscapePluginPackage *plugin;
NPP_NewStreamProcPtr NPP_NewStream;
NPP_DestroyStreamProcPtr NPP_DestroyStream;
diff --git a/WebKit/Plugins.subproj/WebBaseNetscapePluginStream.m b/WebKit/Plugins.subproj/WebBaseNetscapePluginStream.m
index c46b379..efb932b 100644
--- a/WebKit/Plugins.subproj/WebBaseNetscapePluginStream.m
+++ b/WebKit/Plugins.subproj/WebBaseNetscapePluginStream.m
@@ -24,7 +24,8 @@
[URL release];
free((void *)stream.URL);
[path release];
-
+ [plugin release];
+
[super dealloc];
}
@@ -32,7 +33,7 @@
{
instance = pluginPointer;
- WebNetscapePluginPackage *plugin = [(WebBaseNetscapePluginView *)instance->ndata plugin];
+ plugin = [[(WebBaseNetscapePluginView *)instance->ndata plugin] retain];
NPP_NewStream = [plugin NPP_NewStream];
NPP_WriteReady = [plugin NPP_WriteReady];
@@ -44,6 +45,10 @@
- (void)setResponse:(WebResourceResponse *)r
{
+ if(![plugin isLoaded]){
+ return;
+ }
+
[URL release];
URL = [[r URL] retain];
@@ -102,7 +107,11 @@
}
- (void)receivedData:(NSData *)data
-{
+{
+ if(![plugin isLoaded]){
+ return;
+ }
+
if (transferMode != NP_ASFILEONLY) {
int32 numBytes;
@@ -118,9 +127,10 @@
- (void)destroyStreamWithReason:(NPReason)reason
{
- if (!stream.ndata) {
+ if(![plugin isLoaded] || !stream.ndata) {
return;
}
+
NPError npErr;
npErr = NPP_DestroyStream(instance, &stream, reason);
LOG(Plugins, "NPP_DestroyStream: %d", npErr);
@@ -134,6 +144,10 @@
- (void)finishedLoadingWithData:(NSData *)data
{
+ if(![plugin isLoaded]){
+ return;
+ }
+
NSString *filename = [[URL path] lastPathComponent];
if(transferMode == NP_ASFILE || transferMode == NP_ASFILEONLY) {
// FIXME: Need to use something like mkstemp?
diff --git a/WebKit/Plugins.subproj/WebBasePluginPackage.h b/WebKit/Plugins.subproj/WebBasePluginPackage.h
index 2bcca09..917e53a 100644
--- a/WebKit/Plugins.subproj/WebBasePluginPackage.h
+++ b/WebKit/Plugins.subproj/WebBasePluginPackage.h
@@ -27,6 +27,7 @@
- (BOOL)load;
- (void)unload;
+- (BOOL)isLoaded;
- (NSString *)name;
- (NSString *)path;
diff --git a/WebKit/Plugins.subproj/WebBasePluginPackage.m b/WebKit/Plugins.subproj/WebBasePluginPackage.m
index 103d4c4..b432fa5 100644
--- a/WebKit/Plugins.subproj/WebBasePluginPackage.m
+++ b/WebKit/Plugins.subproj/WebBasePluginPackage.m
@@ -31,6 +31,11 @@
return self;
}
+- (BOOL)isLoaded
+{
+ return NO;
+}
+
- (BOOL)load
{
return NO;
diff --git a/WebKit/Plugins.subproj/WebNetscapePluginDocumentView.m b/WebKit/Plugins.subproj/WebNetscapePluginDocumentView.m
index 2acd4c3..f10da7f 100644
--- a/WebKit/Plugins.subproj/WebNetscapePluginDocumentView.m
+++ b/WebKit/Plugins.subproj/WebNetscapePluginDocumentView.m
@@ -67,6 +67,8 @@
thePlugin = (WebNetscapePluginPackage *)[[WebPluginDatabase installedPlugins] pluginForMIMEType:MIME];
if (![thePlugin load]){
+ // FIXME: It would be nice to stop the load here.
+
WebPluginError *error = [WebPluginError pluginErrorWithCode:WebErrorCannotLoadPlugin
URL:[theDataSource URL]
pluginPageURL:nil
@@ -74,6 +76,7 @@
MIMEType:MIME];
[[[theDataSource controller] resourceLoadDelegate] pluginFailedWithError:error dataSource:theDataSource];
+
return;
}
diff --git a/WebKit/Plugins.subproj/WebNetscapePluginPackage.m b/WebKit/Plugins.subproj/WebNetscapePluginPackage.m
index 54bf199..d995561 100644
--- a/WebKit/Plugins.subproj/WebNetscapePluginPackage.m
+++ b/WebKit/Plugins.subproj/WebNetscapePluginPackage.m
@@ -225,6 +225,11 @@ TransitionVector tVectorForFunctionPointer(FunctionPointer);
}
}
+- (BOOL)isLoaded
+{
+ return isLoaded;
+}
+
- (BOOL)load
{
getEntryPointsFuncPtr NP_GetEntryPoints = NULL;
diff --git a/WebKit/Plugins.subproj/WebNetscapePluginRepresentation.m b/WebKit/Plugins.subproj/WebNetscapePluginRepresentation.m
index 939bf03..b1b1b6e 100644
--- a/WebKit/Plugins.subproj/WebNetscapePluginRepresentation.m
+++ b/WebKit/Plugins.subproj/WebNetscapePluginRepresentation.m
@@ -20,10 +20,15 @@
- (void)receivedData:(NSData *)data withDataSource:(WebDataSource *)ds
{
if(!instance){
- [self setPluginPointer:[(WebNetscapePluginDocumentView *)[[[ds webFrame] webView] documentView] pluginPointer]];
- [self setResponse:[ds response]];
+ NSView *view = [[[ds webFrame] webView] documentView];
+ if([[view class] isKindOfClass:[WebNetscapePluginDocumentView class]]){
+ [self setPluginPointer:[(WebNetscapePluginDocumentView *)view pluginPointer]];
+ [self setResponse:[ds response]];
+ }
+ }
+ if(instance){
+ [self receivedData:data];
}
- [self receivedData:data];
}
- (void)receivedError:(WebError *)error withDataSource:(WebDataSource *)ds
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list