[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:52:55 UTC 2009
The following commit has been merged in the debian/unstable branch:
commit b4d59799a2ac48495c19af056ed6005c108bd2b0
Author: cblu <cblu at 268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Wed Oct 23 05:35:15 2002 +0000
More moving stuff around for the new plug-in API. Added WebBasePluginPackage and added subclass WebPluginPackage. Also made WebNetscapePluginPackage a subclass of WebBasePluginPackage.
* Plugins.subproj/WebBasePluginPackage.h: Added.
* Plugins.subproj/WebBasePluginPackage.m: Added.
(+[WebBasePluginPackage pluginWithPath:]): creates a WebPluginPackage or WebNetscapePluginPackage
(-[WebBasePluginPackage initWithPath:]):
(-[WebBasePluginPackage name]):
(-[WebBasePluginPackage path]):
(-[WebBasePluginPackage filename]):
(-[WebBasePluginPackage pluginDescription]):
(-[WebBasePluginPackage extensionToMIMEDictionary]):
(-[WebBasePluginPackage MIMEToExtensionsDictionary]):
(-[WebBasePluginPackage MIMEToDescriptionDictionary]):
(-[WebBasePluginPackage load]):
(-[WebBasePluginPackage unload]):
(-[WebBasePluginPackage isLoaded]):
(-[WebBasePluginPackage description]):
* Plugins.subproj/WebNetscapePluginDocumentView.m:
(-[WebNetscapePluginDocumentView setDataSource:]):
* Plugins.subproj/WebNetscapePluginPackage.h:
* Plugins.subproj/WebNetscapePluginPackage.m:
(-[WebNetscapePluginPackage initWithPath:]):
* Plugins.subproj/WebPluginDatabase.h:
* Plugins.subproj/WebPluginDatabase.m:
(-[WebPluginDatabase pluginForMIMEType:]):
(-[WebPluginDatabase pluginForExtension:]):
(-[WebPluginDatabase pluginForFilename:]):
(-[WebPluginDatabase MIMETypes]):
(-[WebPluginDatabase init]):
* Plugins.subproj/WebPluginPackage.h: Added.
* Plugins.subproj/WebPluginPackage.m: Added.
(-[WebPluginPackage initWithPath:]):
* WebCoreSupport.subproj/WebViewFactory.m:
(-[WebViewFactory viewForPluginWithURL:serviceType:arguments:baseURL:]): check the class of the plug-in when deciding which view to create.
(-[WebViewFactory viewForJavaAppletWithFrame:baseURL:parameters:]): same here.
* WebKit.pbproj/project.pbxproj:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2428 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/WebKit/ChangeLog b/WebKit/ChangeLog
index 3d75fb5..b17103e 100644
--- a/WebKit/ChangeLog
+++ b/WebKit/ChangeLog
@@ -1,3 +1,42 @@
+2002-10-22 Chris Blumenberg <cblu at apple.com>
+
+ More moving stuff around for the new plug-in API. Added WebBasePluginPackage and added subclass WebPluginPackage. Also made WebNetscapePluginPackage a subclass of WebBasePluginPackage.
+
+ * Plugins.subproj/WebBasePluginPackage.h: Added.
+ * Plugins.subproj/WebBasePluginPackage.m: Added.
+ (+[WebBasePluginPackage pluginWithPath:]): creates a WebPluginPackage or WebNetscapePluginPackage
+ (-[WebBasePluginPackage initWithPath:]):
+ (-[WebBasePluginPackage name]):
+ (-[WebBasePluginPackage path]):
+ (-[WebBasePluginPackage filename]):
+ (-[WebBasePluginPackage pluginDescription]):
+ (-[WebBasePluginPackage extensionToMIMEDictionary]):
+ (-[WebBasePluginPackage MIMEToExtensionsDictionary]):
+ (-[WebBasePluginPackage MIMEToDescriptionDictionary]):
+ (-[WebBasePluginPackage load]):
+ (-[WebBasePluginPackage unload]):
+ (-[WebBasePluginPackage isLoaded]):
+ (-[WebBasePluginPackage description]):
+ * Plugins.subproj/WebNetscapePluginDocumentView.m:
+ (-[WebNetscapePluginDocumentView setDataSource:]):
+ * Plugins.subproj/WebNetscapePluginPackage.h:
+ * Plugins.subproj/WebNetscapePluginPackage.m:
+ (-[WebNetscapePluginPackage initWithPath:]):
+ * Plugins.subproj/WebPluginDatabase.h:
+ * Plugins.subproj/WebPluginDatabase.m:
+ (-[WebPluginDatabase pluginForMIMEType:]):
+ (-[WebPluginDatabase pluginForExtension:]):
+ (-[WebPluginDatabase pluginForFilename:]):
+ (-[WebPluginDatabase MIMETypes]):
+ (-[WebPluginDatabase init]):
+ * Plugins.subproj/WebPluginPackage.h: Added.
+ * Plugins.subproj/WebPluginPackage.m: Added.
+ (-[WebPluginPackage initWithPath:]):
+ * WebCoreSupport.subproj/WebViewFactory.m:
+ (-[WebViewFactory viewForPluginWithURL:serviceType:arguments:baseURL:]): check the class of the plug-in when deciding which view to create.
+ (-[WebViewFactory viewForJavaAppletWithFrame:baseURL:parameters:]): same here.
+ * WebKit.pbproj/project.pbxproj:
+
2002-10-22 David Hyatt <hyatt at apple.com>
Getting XML docs at least made for XML files...
diff --git a/WebKit/ChangeLog-2002-12-03 b/WebKit/ChangeLog-2002-12-03
index 3d75fb5..b17103e 100644
--- a/WebKit/ChangeLog-2002-12-03
+++ b/WebKit/ChangeLog-2002-12-03
@@ -1,3 +1,42 @@
+2002-10-22 Chris Blumenberg <cblu at apple.com>
+
+ More moving stuff around for the new plug-in API. Added WebBasePluginPackage and added subclass WebPluginPackage. Also made WebNetscapePluginPackage a subclass of WebBasePluginPackage.
+
+ * Plugins.subproj/WebBasePluginPackage.h: Added.
+ * Plugins.subproj/WebBasePluginPackage.m: Added.
+ (+[WebBasePluginPackage pluginWithPath:]): creates a WebPluginPackage or WebNetscapePluginPackage
+ (-[WebBasePluginPackage initWithPath:]):
+ (-[WebBasePluginPackage name]):
+ (-[WebBasePluginPackage path]):
+ (-[WebBasePluginPackage filename]):
+ (-[WebBasePluginPackage pluginDescription]):
+ (-[WebBasePluginPackage extensionToMIMEDictionary]):
+ (-[WebBasePluginPackage MIMEToExtensionsDictionary]):
+ (-[WebBasePluginPackage MIMEToDescriptionDictionary]):
+ (-[WebBasePluginPackage load]):
+ (-[WebBasePluginPackage unload]):
+ (-[WebBasePluginPackage isLoaded]):
+ (-[WebBasePluginPackage description]):
+ * Plugins.subproj/WebNetscapePluginDocumentView.m:
+ (-[WebNetscapePluginDocumentView setDataSource:]):
+ * Plugins.subproj/WebNetscapePluginPackage.h:
+ * Plugins.subproj/WebNetscapePluginPackage.m:
+ (-[WebNetscapePluginPackage initWithPath:]):
+ * Plugins.subproj/WebPluginDatabase.h:
+ * Plugins.subproj/WebPluginDatabase.m:
+ (-[WebPluginDatabase pluginForMIMEType:]):
+ (-[WebPluginDatabase pluginForExtension:]):
+ (-[WebPluginDatabase pluginForFilename:]):
+ (-[WebPluginDatabase MIMETypes]):
+ (-[WebPluginDatabase init]):
+ * Plugins.subproj/WebPluginPackage.h: Added.
+ * Plugins.subproj/WebPluginPackage.m: Added.
+ (-[WebPluginPackage initWithPath:]):
+ * WebCoreSupport.subproj/WebViewFactory.m:
+ (-[WebViewFactory viewForPluginWithURL:serviceType:arguments:baseURL:]): check the class of the plug-in when deciding which view to create.
+ (-[WebViewFactory viewForJavaAppletWithFrame:baseURL:parameters:]): same here.
+ * WebKit.pbproj/project.pbxproj:
+
2002-10-22 David Hyatt <hyatt at apple.com>
Getting XML docs at least made for XML files...
diff --git a/WebKit/Plugins.subproj/WebBasePluginPackage.h b/WebKit/Plugins.subproj/WebBasePluginPackage.h
new file mode 100644
index 0000000..e572cc4
--- /dev/null
+++ b/WebKit/Plugins.subproj/WebBasePluginPackage.h
@@ -0,0 +1,43 @@
+//
+// WebBasePluginPackage.h
+// WebKit
+//
+// Created by Chris Blumenberg on Tue Oct 22 2002.
+// Copyright (c) 2002 __MyCompanyName__. All rights reserved.
+//
+
+#import <Foundation/Foundation.h>
+
+#import <WebCore/WebCoreViewFactory.h>
+
+ at interface WebBasePluginPackage : NSObject <WebCorePluginInfo>
+{
+ NSMutableDictionary *MIMEToExtensions;
+ NSMutableDictionary *extensionToMIME;
+ NSMutableDictionary *MIMEToDescription;
+
+ NSString *name;
+ NSString *path;
+ NSString *filename;
+ NSString *pluginDescription;
+
+ BOOL isLoaded;
+}
+
++ (WebBasePluginPackage *)pluginWithPath:(NSString *)pluginPath;
+
+- initWithPath:(NSString *)pluginPath;
+
+- (NSString *)name;
+- (NSString *)path;
+- (NSString *)filename;
+- (NSString *)pluginDescription;
+- (NSDictionary *)extensionToMIMEDictionary;
+- (NSDictionary *)MIMEToExtensionsDictionary;
+- (NSDictionary *)MIMEToDescriptionDictionary;
+
+- (BOOL)load;
+- (void)unload;
+- (BOOL)isLoaded;
+
+ at end
diff --git a/WebKit/Plugins.subproj/WebBasePluginPackage.m b/WebKit/Plugins.subproj/WebBasePluginPackage.m
new file mode 100644
index 0000000..6bc2413
--- /dev/null
+++ b/WebKit/Plugins.subproj/WebBasePluginPackage.m
@@ -0,0 +1,86 @@
+//
+// WebBasePluginPackage.m
+// WebKit
+//
+// Created by Chris Blumenberg on Tue Oct 22 2002.
+// Copyright (c) 2002 __MyCompanyName__. All rights reserved.
+//
+
+#import <WebKit/WebBasePluginPackage.h>
+#import <WebKit/WebNetscapePluginPackage.h>
+#import <WebKit/WebPluginPackage.h>
+
+ at implementation WebBasePluginPackage
+
++ (WebBasePluginPackage *)pluginWithPath:(NSString *)pluginPath
+{
+ WebBasePluginPackage *pluginPackage = [[WebPluginPackage alloc] initWithPath:pluginPath];
+
+ if(!pluginPackage){
+ pluginPackage = [[WebNetscapePluginPackage alloc] initWithPath:pluginPath];
+ }
+
+ return pluginPackage;
+}
+
+- initWithPath:(NSString *)pluginPath
+{
+ [super init];
+ return self;
+}
+
+- (NSString *)name{
+ return name;
+}
+
+- (NSString *)path{
+ return path;
+}
+
+- (NSString *)filename{
+ return filename;
+}
+
+- (NSString *)pluginDescription
+{
+ return pluginDescription;
+}
+
+- (NSDictionary *)extensionToMIMEDictionary
+{
+ return extensionToMIME;
+}
+
+- (NSDictionary *)MIMEToExtensionsDictionary
+{
+ return MIMEToExtensions;
+}
+
+- (NSDictionary *)MIMEToDescriptionDictionary
+{
+ return MIMEToDescription;
+}
+
+- (BOOL)load
+{
+ // Overriden by subclasses.
+ return NO;
+}
+
+- (void)unload
+{
+ // Overriden by subclasses.
+}
+
+- (BOOL)isLoaded
+{
+ return isLoaded;
+}
+
+- (NSString *)description
+{
+ return [NSString stringWithFormat:@"name: %@\npath: %@\nisLoaded: %d\nmimeTypes:\n%@\npluginDescription:%@",
+ name, path, isLoaded, [MIMEToExtensions description], [MIMEToDescription description], pluginDescription];
+}
+
+ at end
diff --git a/WebKit/Plugins.subproj/WebNetscapePluginDocumentView.m b/WebKit/Plugins.subproj/WebNetscapePluginDocumentView.m
index 90ce911..59eaa3c 100644
--- a/WebKit/Plugins.subproj/WebNetscapePluginDocumentView.m
+++ b/WebKit/Plugins.subproj/WebNetscapePluginDocumentView.m
@@ -60,7 +60,8 @@
[self setMIMEType:MIME];
[self setBaseURL:[dataSource URL]];
- WebNetscapePluginPackage *thePlugin = [[WebPluginDatabase installedPlugins] pluginForMIMEType:MIME];
+ WebNetscapePluginPackage *thePlugin;
+ thePlugin = (WebNetscapePluginPackage *)[[WebPluginDatabase installedPlugins] pluginForMIMEType:MIME];
if (![thePlugin load]){
return;
diff --git a/WebKit/Plugins.subproj/WebNetscapePluginPackage.h b/WebKit/Plugins.subproj/WebNetscapePluginPackage.h
index 60690ec..7660717 100644
--- a/WebKit/Plugins.subproj/WebNetscapePluginPackage.h
+++ b/WebKit/Plugins.subproj/WebNetscapePluginPackage.h
@@ -4,21 +4,15 @@
*/
#import <Foundation/Foundation.h>
-#import "npapi.h"
+
#import <WebCore/WebCoreViewFactory.h>
- at interface WebNetscapePluginPackage : NSObject <WebCorePluginInfo>
-{
- NSMutableDictionary *MIMEToExtensions;
- NSMutableDictionary *extensionToMIME;
- NSMutableDictionary *MIMEToDescription;
-
- NSString *name;
- NSString *path;
- NSString *filename;
- NSString *pluginDescription;
+#import <WebKit/npapi.h>
+#import <WebKit/WebBasePluginPackage.h>
- BOOL isLoaded;
+
+ at interface WebNetscapePluginPackage : WebBasePluginPackage
+{
BOOL isBundle;
BOOL isCFM;
@@ -50,14 +44,6 @@
NPP_ShutdownProcPtr NPP_Shutdown;
}
-- initWithPath:(NSString *)pluginPath;
-- (BOOL)load;
-- (void)unload;
-- (NSString *)path;
-- (BOOL)isLoaded;
-- (NSString *)description;
-- (NSDictionary *)extensionToMIMEDictionary;
-
- (NPP_NewProcPtr)NPP_New;
- (NPP_DestroyProcPtr)NPP_Destroy;
- (NPP_SetWindowProcPtr)NPP_SetWindow;
diff --git a/WebKit/Plugins.subproj/WebNetscapePluginPackage.m b/WebKit/Plugins.subproj/WebNetscapePluginPackage.m
index 62eb3d1..bd460a8 100644
--- a/WebKit/Plugins.subproj/WebNetscapePluginPackage.m
+++ b/WebKit/Plugins.subproj/WebNetscapePluginPackage.m
@@ -159,6 +159,8 @@ TransitionVector tVectorForFunctionPointer(FunctionPointer);
- initWithPath:(NSString *)pluginPath
{
+ [super initWithPath:pluginPath];
+
path = [self stringByResolvingSymlinksAndAliasesInPath:pluginPath];
filename = [path lastPathComponent];
@@ -455,48 +457,6 @@ TransitionVector tVectorForFunctionPointer(FunctionPointer);
return NPP_Print;
}
-- (NSDictionary *)MIMEToExtensionsDictionary
-{
- return MIMEToExtensions;
-}
-
-- (NSDictionary *)extensionToMIMEDictionary
-{
- return extensionToMIME;
-}
-
-- (NSDictionary *)MIMEToDescriptionDictionary
-{
- return MIMEToDescription;
-}
-
-- (NSString *)name{
- return name;
-}
-
-- (NSString *)filename{
- return filename;
-}
-
-- (NSString *)path{
- return path;
-}
-
-- (BOOL)isLoaded{
- return isLoaded;
-}
-
-- (NSString *)pluginDescription
-{
- return pluginDescription;
-}
-
-- (NSString *)description
-{
-
- return [NSString stringWithFormat:@"name: %@\npath: %@\nisLoaded: %d\nmimeTypes:\n%@\npluginDescription:%@",
- name, path, isLoaded, [MIMEToExtensions description], [MIMEToDescription description], pluginDescription];
-}
@end
diff --git a/WebKit/Plugins.subproj/WebPluginDatabase.h b/WebKit/Plugins.subproj/WebPluginDatabase.h
index ea31419..427d920 100644
--- a/WebKit/Plugins.subproj/WebPluginDatabase.h
+++ b/WebKit/Plugins.subproj/WebPluginDatabase.h
@@ -5,7 +5,7 @@
#import <Foundation/Foundation.h>
- at class WebNetscapePluginPackage;
+ at class WebBasePluginPackage;
@interface WebPluginDatabase : NSObject
{
@@ -13,9 +13,9 @@
}
+ (WebPluginDatabase *)installedPlugins;
-- (WebNetscapePluginPackage *)pluginForMIMEType:(NSString *)mimeType;
-- (WebNetscapePluginPackage *)pluginForExtension:(NSString *)extension;
-- (WebNetscapePluginPackage *)pluginForFilename:(NSString *)filename;
+- (WebBasePluginPackage *)pluginForMIMEType:(NSString *)mimeType;
+- (WebBasePluginPackage *)pluginForExtension:(NSString *)extension;
+- (WebBasePluginPackage *)pluginForFilename:(NSString *)filename;
- (NSArray *)plugins;
@end
diff --git a/WebKit/Plugins.subproj/WebPluginDatabase.m b/WebKit/Plugins.subproj/WebPluginDatabase.m
index d2143a1..8514941 100644
--- a/WebKit/Plugins.subproj/WebPluginDatabase.m
+++ b/WebKit/Plugins.subproj/WebPluginDatabase.m
@@ -3,10 +3,10 @@
Copyright (c) 2002, Apple, Inc. All rights reserved.
*/
+#import <WebKit/WebBasePluginPackage.h>
#import <WebKit/WebDataSource.h>
#import <WebKit/WebKitLogging.h>
#import <WebKit/WebNetscapePluginDocumentView.h>
-#import <WebKit/WebNetscapePluginPackage.h>
#import <WebKit/WebPluginDatabase.h>
#import <WebKit/WebNetscapePluginRepresentation.h>
#import <WebKit/WebView.h>
@@ -26,9 +26,9 @@ static WebPluginDatabase *database = nil;
}
// The first plugin with the specified mime type is returned.
-- (WebNetscapePluginPackage *)pluginForMIMEType:(NSString *)MIME
+- (WebBasePluginPackage *)pluginForMIMEType:(NSString *)MIME
{
- WebNetscapePluginPackage *plugin;
+ WebBasePluginPackage *plugin;
uint i;
for(i=0; i<[plugins count]; i++){
@@ -40,9 +40,9 @@ static WebPluginDatabase *database = nil;
return nil;
}
-- (WebNetscapePluginPackage *)pluginForExtension:(NSString *)extension
+- (WebBasePluginPackage *)pluginForExtension:(NSString *)extension
{
- WebNetscapePluginPackage *plugin;
+ WebBasePluginPackage *plugin;
uint i;
for(i=0; i<[plugins count]; i++){
@@ -54,10 +54,10 @@ static WebPluginDatabase *database = nil;
return nil;
}
-- (WebNetscapePluginPackage *)pluginForFilename:(NSString *)filename
+- (WebBasePluginPackage *)pluginForFilename:(NSString *)filename
{
uint i;
- WebNetscapePluginPackage *plugin;
+ WebBasePluginPackage *plugin;
for(i=0; i<[plugins count]; i++){
plugin = [plugins objectAtIndex:i];
@@ -76,7 +76,7 @@ static WebPluginDatabase *database = nil;
- (NSArray *)MIMETypes
{
NSMutableSet *MIMETypes;
- WebNetscapePluginPackage *plugin;
+ WebBasePluginPackage *plugin;
uint i;
MIMETypes = [NSMutableSet set];
@@ -133,15 +133,15 @@ static NSArray *pluginLocations(void)
}
NSMutableArray *pluginArray = [NSMutableArray arrayWithCapacity:[pluginPaths count]];
- WebNetscapePluginPackage *plugin;
+ WebBasePluginPackage *pluginPackage;
for (i = 0; i < [pluginPaths count]; i++) {
- plugin = [[WebNetscapePluginPackage alloc] initWithPath:[pluginPaths objectAtIndex:i]];
- if (plugin) {
- [pluginArray addObject:plugin];
- LOG(Plugins, "Found plugin: %s", [[plugin name] lossyCString]);
- LOG(Plugins, "%s", [[plugin description] lossyCString]);
- [plugin release];
+ pluginPackage = [WebBasePluginPackage pluginWithPath:[pluginPaths objectAtIndex:i]];
+ if (pluginPackage) {
+ [pluginArray addObject:pluginPackage];
+ LOG(Plugins, "Found plugin: %s", [[pluginPackage name] lossyCString]);
+ LOG(Plugins, "%s", [[pluginPackage description] lossyCString]);
+ [pluginPackage release];
}
}
diff --git a/WebKit/Plugins.subproj/WebPluginPackage.h b/WebKit/Plugins.subproj/WebPluginPackage.h
new file mode 100644
index 0000000..123c0ba
--- /dev/null
+++ b/WebKit/Plugins.subproj/WebPluginPackage.h
@@ -0,0 +1,18 @@
+//
+// WebPluginPackage.h
+// WebKit
+//
+// Created by Chris Blumenberg on Tue Oct 22 2002.
+// Copyright (c) 2002 __MyCompanyName__. All rights reserved.
+//
+
+#import <Foundation/Foundation.h>
+
+#import <WebKit/WebBasePluginPackage.h>
+
+ at interface WebPluginPackage : WebBasePluginPackage
+{
+ NSBundle *bundle;
+}
+
+ at end
diff --git a/WebKit/Plugins.subproj/WebPluginPackage.m b/WebKit/Plugins.subproj/WebPluginPackage.m
new file mode 100644
index 0000000..6e84aa4
--- /dev/null
+++ b/WebKit/Plugins.subproj/WebPluginPackage.m
@@ -0,0 +1,39 @@
+//
+// WebPluginPackage.m
+// WebKit
+//
+// Created by Chris Blumenberg on Tue Oct 22 2002.
+// Copyright (c) 2002 __MyCompanyName__. All rights reserved.
+//
+
+#import <WebKit/WebPluginPackage.h>
+
+
+ at implementation WebPluginPackage
+
+- initWithPath:(NSString *)pluginPath
+{
+ [super initWithPath:pluginPath];
+
+ bundle = [[NSBundle alloc] initWithPath:pluginPath];
+
+ if(!bundle){
+ return nil;
+ }
+
+ CFBundleRef theBundle = CFBundleCreate(NULL, (CFURLRef)[NSURL fileURLWithPath:pluginPath]);
+ UInt32 type;
+
+ CFBundleGetPackageInfo(theBundle, &type, NULL);
+
+ CFRelease(theBundle);
+
+ if(type != FOUR_CHAR_CODE('WBPL')){
+ [bundle release];
+ return nil;
+ }
+
+ return self;
+}
+
+ at end
diff --git a/WebKit/WebCoreSupport.subproj/WebViewFactory.m b/WebKit/WebCoreSupport.subproj/WebViewFactory.m
index 2732a87..80e7930 100644
--- a/WebKit/WebCoreSupport.subproj/WebViewFactory.m
+++ b/WebKit/WebCoreSupport.subproj/WebViewFactory.m
@@ -7,12 +7,13 @@
//
#import <WebKit/WebBaseNetscapePluginView.h>
-
+#import <WebKit/WebBasePluginPackage.h>
#import <WebKit/WebJavaScriptTextInputPanel.h>
#import <WebKit/WebNetscapePluginEmbeddedView.h>
#import <WebKit/WebNullPluginView.h>
#import <WebKit/WebNetscapePluginPackage.h>
#import <WebKit/WebPluginDatabase.h>
+#import <WebKit/WebPluginPackage.h>
#import <WebKit/WebViewFactory.h>
#import <WebFoundation/WebAssertions.h>
@@ -33,7 +34,7 @@
NSMutableDictionary *arguments;
NSString *mimeType, *extension;
NSRange r1, r2, r3;
- WebNetscapePluginPackage *plugin;
+ WebBasePluginPackage *pluginPackage;
uint i;
arguments = [NSMutableDictionary dictionary];
@@ -50,22 +51,33 @@
if ([serviceType length]) {
mimeType = serviceType;
- plugin = [[WebPluginDatabase installedPlugins] pluginForMIMEType:mimeType];
+ pluginPackage = [[WebPluginDatabase installedPlugins] pluginForMIMEType:mimeType];
} else {
extension = [[pluginURL path] pathExtension];
- plugin = [[WebPluginDatabase installedPlugins] pluginForExtension:extension];
- mimeType = [[plugin extensionToMIMEDictionary] objectForKey:extension];
+ pluginPackage = [[WebPluginDatabase installedPlugins] pluginForExtension:extension];
+ mimeType = [[pluginPackage extensionToMIMEDictionary] objectForKey:extension];
}
- if (plugin == nil) {
- return [[[WebNullPluginView alloc] initWithFrame:NSMakeRect(0,0,0,0) mimeType:mimeType arguments:arguments] autorelease];
+ if (pluginPackage) {
+ if([pluginPackage isKindOfClass:[WebPluginPackage class]]){
+ return nil;
+ }else if([pluginPackage isKindOfClass:[WebNetscapePluginPackage class]]){
+ return [[[WebNetscapePluginEmbeddedView alloc] initWithFrame:NSMakeRect(0,0,0,0)
+ plugin:(WebNetscapePluginPackage *)pluginPackage
+ URL:pluginURL
+ baseURL:baseURL
+ mime:mimeType
+ arguments:arguments] autorelease];
+ }else{
+ [NSException raise:NSInternalInconsistencyException
+ format:@"Plugin package class not recognized"];
+ return nil;
+ }
+ }else{
+ return [[[WebNullPluginView alloc] initWithFrame:NSMakeRect(0,0,0,0)
+ mimeType:mimeType
+ arguments:arguments] autorelease];
}
- return [[[WebNetscapePluginEmbeddedView alloc] initWithFrame:NSMakeRect(0,0,0,0)
- plugin:plugin
- URL:pluginURL
- baseURL:baseURL
- mime:mimeType
- arguments:arguments] autorelease];
}
- (NSArray *)pluginsInfo
@@ -75,19 +87,28 @@
- (NSView *)viewForJavaAppletWithFrame:(NSRect)frame baseURL:(NSURL *)baseURL parameters:(NSDictionary *)parameters
{
- WebNetscapePluginPackage *plugin;
+ WebBasePluginPackage *pluginPackage;
- plugin = [[WebPluginDatabase installedPlugins] pluginForMIMEType:@"application/x-java-applet"];
- if (plugin == nil) {
+ pluginPackage = [[WebPluginDatabase installedPlugins] pluginForMIMEType:@"application/x-java-applet"];
+
+ if (!pluginPackage) {
+ return nil;
+ }
+
+ if([pluginPackage isKindOfClass:[WebPluginPackage class]]){
+ return nil;
+ }else if([pluginPackage isKindOfClass:[WebNetscapePluginPackage class]]){
+ return [[[WebNetscapePluginEmbeddedView alloc] initWithFrame:frame
+ plugin:(WebNetscapePluginPackage *)pluginPackage
+ URL:nil
+ baseURL:baseURL
+ mime:@"application/x-java-applet"
+ arguments:parameters] autorelease];
+ }else{
+ [NSException raise:NSInternalInconsistencyException
+ format:@"Plugin package class not recognized"];
return nil;
}
-
- return [[[WebNetscapePluginEmbeddedView alloc] initWithFrame:frame
- plugin:plugin
- URL:nil
- baseURL:baseURL
- mime:@"application/x-java-applet"
- arguments:parameters] autorelease];
}
- (BOOL)runJavaScriptTextInputPanelWithPrompt:(NSString *)prompt defaultText:(NSString *)defaultText returningText:(NSString **)result
diff --git a/WebKit/WebKit.pbproj/project.pbxproj b/WebKit/WebKit.pbproj/project.pbxproj
index 8ed4874..d6df905 100644
--- a/WebKit/WebKit.pbproj/project.pbxproj
+++ b/WebKit/WebKit.pbproj/project.pbxproj
@@ -291,6 +291,8 @@
848DFF880365FE6A00CA2ACA,
848DFF890365FE6A00CA2ACA,
51F6866E0366057300CA2D3A,
+ 83E4AF48036652150000E506,
+ 83E4AF4D036659440000E506,
);
isa = PBXHeadersBuildPhase;
runOnlyForDeploymentPostprocessing = 0;
@@ -393,6 +395,8 @@
9345DDB10365FB27008635CE,
9345DDB50365FFD0008635CE,
51F6866F0366057300CA2D3A,
+ 83E4AF49036652150000E506,
+ 83E4AF4E036659440000E506,
);
isa = PBXSourcesBuildPhase;
runOnlyForDeploymentPostprocessing = 0;
@@ -1422,6 +1426,54 @@
settings = {
};
};
+ 83E4AF46036652150000E506 = {
+ fileEncoding = 4;
+ isa = PBXFileReference;
+ path = WebBasePluginPackage.h;
+ refType = 4;
+ };
+ 83E4AF47036652150000E506 = {
+ fileEncoding = 4;
+ isa = PBXFileReference;
+ path = WebBasePluginPackage.m;
+ refType = 4;
+ };
+ 83E4AF48036652150000E506 = {
+ fileRef = 83E4AF46036652150000E506;
+ isa = PBXBuildFile;
+ settings = {
+ };
+ };
+ 83E4AF49036652150000E506 = {
+ fileRef = 83E4AF47036652150000E506;
+ isa = PBXBuildFile;
+ settings = {
+ };
+ };
+ 83E4AF4B036659440000E506 = {
+ fileEncoding = 4;
+ isa = PBXFileReference;
+ path = WebPluginPackage.h;
+ refType = 4;
+ };
+ 83E4AF4C036659440000E506 = {
+ fileEncoding = 4;
+ isa = PBXFileReference;
+ path = WebPluginPackage.m;
+ refType = 4;
+ };
+ 83E4AF4D036659440000E506 = {
+ fileRef = 83E4AF4B036659440000E506;
+ isa = PBXBuildFile;
+ settings = {
+ };
+ };
+ 83E4AF4E036659440000E506 = {
+ fileRef = 83E4AF4C036659440000E506;
+ isa = PBXBuildFile;
+ settings = {
+ };
+ };
//830
//831
//832
@@ -1462,6 +1514,8 @@
children = (
848DFF840365FE6A00CA2ACA,
848DFF850365FE6A00CA2ACA,
+ 83E4AF4B036659440000E506,
+ 83E4AF4C036659440000E506,
848DFF860365FE6A00CA2ACA,
);
isa = PBXGroup;
@@ -3078,6 +3132,8 @@
children = (
848DFF410365F6FB00CA2ACA,
848DFF430365F71500CA2ACA,
+ 83E4AF46036652150000E506,
+ 83E4AF47036652150000E506,
F5883BE0025E5E9D01000102,
F5883BE1025E5E9D01000102,
F5F717200288493C018635CA,
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list