[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:53:47 UTC 2009


The following commit has been merged in the debian/unstable branch:
commit e584e6f1de1662c43256ce820eb156dead52b638
Author: cblu <cblu at 268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Thu Oct 24 15:38:22 2002 +0000

    WebCore:
    
    	Use "MIMEType" instead of "serviceType".
    
            * kwq/KWQKHTMLPartImpl.mm:
            (KWQKHTMLPartImpl::createPart):
            * kwq/WebCoreBridge.h:
    
    WebKit:
    
    	- Use "MIMEType" instead of "serviceType".
    
            * Plugins.subproj/WebBasePluginPackage.h:
            * Plugins.subproj/WebBasePluginPackage.m:
            (-[WebBasePluginPackage load]):
            (-[WebBasePluginPackage dealloc]):
            (-[WebBasePluginPackage filename]):
            (-[WebBasePluginPackage setPath:]):
            * Plugins.subproj/WebNetscapePluginEmbeddedView.h:
            * Plugins.subproj/WebNetscapePluginEmbeddedView.m:
            (-[WebNetscapePluginEmbeddedView initWithFrame:plugin:URL:baseURL:MIMEType:attributes:]):
            * Plugins.subproj/WebNetscapePluginPackage.m:
            (-[WebNetscapePluginPackage getMIMEInformation]): changed name.
            (-[WebNetscapePluginPackage initWithPath:]):
            * Plugins.subproj/WebNullPluginView.h:
            * Plugins.subproj/WebNullPluginView.m:
            (-[WebNullPluginView initWithFrame:MIMEType:attributes:]):
            (-[WebNullPluginView dealloc]):
            (-[WebNullPluginView viewDidMoveToWindow]): send missing plug-ins notification here
            * Plugins.subproj/WebPluginPackage.m:
            (-[WebPluginPackage getMIMEInformation]): new, gets MIME info from plist
            (-[WebPluginPackage initWithPath:]):
            (-[WebPluginPackage dealloc]):
            (-[WebPluginPackage viewFactory]):
            (-[WebPluginPackage load]):
            (-[WebPluginPackage unload]):
            * WebCoreSupport.subproj/WebBridge.m:
            (-[WebBridge viewForPluginWithURL:attributes:baseURL:MIMEType:]):
            (-[WebBridge viewForJavaAppletWithFrame:attributes:baseURL:]):
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2448 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebCore/ChangeLog-2002-12-03 b/WebCore/ChangeLog-2002-12-03
index 09bdf6f..2cf802d 100644
--- a/WebCore/ChangeLog-2002-12-03
+++ b/WebCore/ChangeLog-2002-12-03
@@ -1,3 +1,11 @@
+2002-10-24  Chris Blumenberg  <cblu at apple.com>
+
+	Use "MIMEType" instead of "serviceType".
+
+        * kwq/KWQKHTMLPartImpl.mm:
+        (KWQKHTMLPartImpl::createPart):
+        * kwq/WebCoreBridge.h:
+
 2002-10-24  Darin Adler  <darin at apple.com>
 
         * kwq/KWQKLocale.mm: (i18n): Make it obvious when non-localized
diff --git a/WebCore/ChangeLog-2003-10-25 b/WebCore/ChangeLog-2003-10-25
index 09bdf6f..2cf802d 100644
--- a/WebCore/ChangeLog-2003-10-25
+++ b/WebCore/ChangeLog-2003-10-25
@@ -1,3 +1,11 @@
+2002-10-24  Chris Blumenberg  <cblu at apple.com>
+
+	Use "MIMEType" instead of "serviceType".
+
+        * kwq/KWQKHTMLPartImpl.mm:
+        (KWQKHTMLPartImpl::createPart):
+        * kwq/WebCoreBridge.h:
+
 2002-10-24  Darin Adler  <darin at apple.com>
 
         * kwq/KWQKLocale.mm: (i18n): Make it obvious when non-localized
diff --git a/WebCore/ChangeLog-2005-08-23 b/WebCore/ChangeLog-2005-08-23
index 09bdf6f..2cf802d 100644
--- a/WebCore/ChangeLog-2005-08-23
+++ b/WebCore/ChangeLog-2005-08-23
@@ -1,3 +1,11 @@
+2002-10-24  Chris Blumenberg  <cblu at apple.com>
+
+	Use "MIMEType" instead of "serviceType".
+
+        * kwq/KWQKHTMLPartImpl.mm:
+        (KWQKHTMLPartImpl::createPart):
+        * kwq/WebCoreBridge.h:
+
 2002-10-24  Darin Adler  <darin at apple.com>
 
         * kwq/KWQKLocale.mm: (i18n): Make it obvious when non-localized
diff --git a/WebCore/kwq/KWQKHTMLPart.mm b/WebCore/kwq/KWQKHTMLPart.mm
index e053686..53075d6 100644
--- a/WebCore/kwq/KWQKHTMLPart.mm
+++ b/WebCore/kwq/KWQKHTMLPart.mm
@@ -198,7 +198,7 @@ ReadOnlyPart *KWQKHTMLPartImpl::createPart(const ChildFrame &child, const KURL &
         newPart->setWidget(new QWidget([_bridge viewForPluginWithURL:childURL
                                                           attributes:attributesArray
                                                              baseURL:KURL(d->m_doc->baseURL()).getNSURL()
-                                                         serviceType:child.m_args.serviceType.getNSString()]));
+                                                            MIMEType:child.m_args.serviceType.getNSString()]));
         return newPart;
     } else {
         LOG(Frames, "name %s", child.m_name.ascii());
diff --git a/WebCore/kwq/KWQKHTMLPartImpl.mm b/WebCore/kwq/KWQKHTMLPartImpl.mm
index e053686..53075d6 100644
--- a/WebCore/kwq/KWQKHTMLPartImpl.mm
+++ b/WebCore/kwq/KWQKHTMLPartImpl.mm
@@ -198,7 +198,7 @@ ReadOnlyPart *KWQKHTMLPartImpl::createPart(const ChildFrame &child, const KURL &
         newPart->setWidget(new QWidget([_bridge viewForPluginWithURL:childURL
                                                           attributes:attributesArray
                                                              baseURL:KURL(d->m_doc->baseURL()).getNSURL()
-                                                         serviceType:child.m_args.serviceType.getNSString()]));
+                                                            MIMEType:child.m_args.serviceType.getNSString()]));
         return newPart;
     } else {
         LOG(Frames, "name %s", child.m_name.ascii());
diff --git a/WebCore/kwq/WebCoreBridge.h b/WebCore/kwq/WebCoreBridge.h
index fadffb6..cf31bd4 100644
--- a/WebCore/kwq/WebCoreBridge.h
+++ b/WebCore/kwq/WebCoreBridge.h
@@ -227,7 +227,7 @@ enum FrameBorderStyle {
 
 - (NSURL *)requestedURL;
 
-- (NSView *)viewForPluginWithURL:(NSURL *)URL attributes:(NSArray *)attributesArray baseURL:(NSURL *)baseURL serviceType:(NSString *)serviceType;
+- (NSView *)viewForPluginWithURL:(NSURL *)URL attributes:(NSArray *)attributesArray baseURL:(NSURL *)baseURL MIMEType:(NSString *)MIMEType;
 - (NSView *)viewForJavaAppletWithFrame:(NSRect)frame attributes:(NSDictionary *)attributes baseURL:(NSURL *)baseURL;
 
 - (void)didAddSubview:(NSView *)view;
diff --git a/WebKit/ChangeLog b/WebKit/ChangeLog
index 1ef7a4a..0f921c3 100644
--- a/WebKit/ChangeLog
+++ b/WebKit/ChangeLog
@@ -1,3 +1,35 @@
+2002-10-24  Chris Blumenberg  <cblu at apple.com>
+	
+	- Use "MIMEType" instead of "serviceType".
+
+        * Plugins.subproj/WebBasePluginPackage.h:
+        * Plugins.subproj/WebBasePluginPackage.m:
+        (-[WebBasePluginPackage load]):
+        (-[WebBasePluginPackage dealloc]):
+        (-[WebBasePluginPackage filename]):
+        (-[WebBasePluginPackage setPath:]):
+        * Plugins.subproj/WebNetscapePluginEmbeddedView.h:
+        * Plugins.subproj/WebNetscapePluginEmbeddedView.m:
+        (-[WebNetscapePluginEmbeddedView initWithFrame:plugin:URL:baseURL:MIMEType:attributes:]):
+        * Plugins.subproj/WebNetscapePluginPackage.m:
+        (-[WebNetscapePluginPackage getMIMEInformation]): changed name.
+        (-[WebNetscapePluginPackage initWithPath:]):
+        * Plugins.subproj/WebNullPluginView.h:
+        * Plugins.subproj/WebNullPluginView.m:
+        (-[WebNullPluginView initWithFrame:MIMEType:attributes:]):
+        (-[WebNullPluginView dealloc]):
+        (-[WebNullPluginView viewDidMoveToWindow]): send missing plug-ins notification here
+        * Plugins.subproj/WebPluginPackage.m:
+        (-[WebPluginPackage getMIMEInformation]): new, gets MIME info from plist
+        (-[WebPluginPackage initWithPath:]):
+        (-[WebPluginPackage dealloc]):
+        (-[WebPluginPackage viewFactory]):
+        (-[WebPluginPackage load]):
+        (-[WebPluginPackage unload]):
+        * WebCoreSupport.subproj/WebBridge.m:
+        (-[WebBridge viewForPluginWithURL:attributes:baseURL:MIMEType:]):
+        (-[WebBridge viewForJavaAppletWithFrame:attributes:baseURL:]):
+
 2002-10-24  Richard Williamson   <rjw at apple.com>
 
         Flag error instead of ASSERTing as a result of fix to 3083013.
diff --git a/WebKit/ChangeLog-2002-12-03 b/WebKit/ChangeLog-2002-12-03
index 1ef7a4a..0f921c3 100644
--- a/WebKit/ChangeLog-2002-12-03
+++ b/WebKit/ChangeLog-2002-12-03
@@ -1,3 +1,35 @@
+2002-10-24  Chris Blumenberg  <cblu at apple.com>
+	
+	- Use "MIMEType" instead of "serviceType".
+
+        * Plugins.subproj/WebBasePluginPackage.h:
+        * Plugins.subproj/WebBasePluginPackage.m:
+        (-[WebBasePluginPackage load]):
+        (-[WebBasePluginPackage dealloc]):
+        (-[WebBasePluginPackage filename]):
+        (-[WebBasePluginPackage setPath:]):
+        * Plugins.subproj/WebNetscapePluginEmbeddedView.h:
+        * Plugins.subproj/WebNetscapePluginEmbeddedView.m:
+        (-[WebNetscapePluginEmbeddedView initWithFrame:plugin:URL:baseURL:MIMEType:attributes:]):
+        * Plugins.subproj/WebNetscapePluginPackage.m:
+        (-[WebNetscapePluginPackage getMIMEInformation]): changed name.
+        (-[WebNetscapePluginPackage initWithPath:]):
+        * Plugins.subproj/WebNullPluginView.h:
+        * Plugins.subproj/WebNullPluginView.m:
+        (-[WebNullPluginView initWithFrame:MIMEType:attributes:]):
+        (-[WebNullPluginView dealloc]):
+        (-[WebNullPluginView viewDidMoveToWindow]): send missing plug-ins notification here
+        * Plugins.subproj/WebPluginPackage.m:
+        (-[WebPluginPackage getMIMEInformation]): new, gets MIME info from plist
+        (-[WebPluginPackage initWithPath:]):
+        (-[WebPluginPackage dealloc]):
+        (-[WebPluginPackage viewFactory]):
+        (-[WebPluginPackage load]):
+        (-[WebPluginPackage unload]):
+        * WebCoreSupport.subproj/WebBridge.m:
+        (-[WebBridge viewForPluginWithURL:attributes:baseURL:MIMEType:]):
+        (-[WebBridge viewForJavaAppletWithFrame:attributes:baseURL:]):
+
 2002-10-24  Richard Williamson   <rjw at apple.com>
 
         Flag error instead of ASSERTing as a result of fix to 3083013.
diff --git a/WebKit/Plugins.subproj/WebBasePluginPackage.h b/WebKit/Plugins.subproj/WebBasePluginPackage.h
index 21ec56a..e262d46 100644
--- a/WebKit/Plugins.subproj/WebBasePluginPackage.h
+++ b/WebKit/Plugins.subproj/WebBasePluginPackage.h
@@ -14,7 +14,6 @@
 {
     NSString *name;
     NSString *path;
-    NSString *filename;
     NSString *pluginDescription;
 
     NSDictionary *MIMEToDescription;
@@ -42,7 +41,6 @@
 
 - (void)setName:(NSString *)theName;
 - (void)setPath:(NSString *)thePath;
-- (void)setFilename:(NSString *)theFilename;
 - (void)setPluginDescription:(NSString *)description;
 - (void)setMIMEToDescriptionDictionary:(NSDictionary *)MIMEToDescriptionDictionary;
 - (void)setMIMEToExtensionsDictionary:(NSDictionary *)MIMEToExtensionsDictionary;
diff --git a/WebKit/Plugins.subproj/WebBasePluginPackage.m b/WebKit/Plugins.subproj/WebBasePluginPackage.m
index ea9bbb2..c079bdd 100644
--- a/WebKit/Plugins.subproj/WebBasePluginPackage.m
+++ b/WebKit/Plugins.subproj/WebBasePluginPackage.m
@@ -32,7 +32,7 @@
 
 - (BOOL)load
 {
-    return YES;
+    return NO;
 }
 
 - (void)unload
@@ -43,13 +43,11 @@
 {
     [name release];
     [path release];
-    [filename release];
     [pluginDescription release];
 
     [MIMEToDescription release];
     [MIMEToExtensions release];
     [extensionToMIME release];
-    
     [super dealloc];
 }
 
@@ -63,7 +61,7 @@
 }
 
 - (NSString *)filename{
-    return filename;
+    return [path lastPathComponent];
 }
 
 - (NSString *)pluginDescription
@@ -108,12 +106,6 @@
     path = [thePath retain];
 }
 
-- (void)setFilename:(NSString *)theFilename
-{
-    [filename release];
-    filename = [theFilename retain];
-}
-
 - (void)setPluginDescription:(NSString *)description
 {
     [pluginDescription release];
diff --git a/WebKit/Plugins.subproj/WebNetscapePluginEmbeddedView.h b/WebKit/Plugins.subproj/WebNetscapePluginEmbeddedView.h
index 71effe0..57f56c5 100644
--- a/WebKit/Plugins.subproj/WebNetscapePluginEmbeddedView.h
+++ b/WebKit/Plugins.subproj/WebNetscapePluginEmbeddedView.h
@@ -16,7 +16,7 @@
              plugin:(WebNetscapePluginPackage *)plugin
                 URL:(NSURL *)URL
             baseURL:(NSURL *)baseURL
-               mime:(NSString *)mimeType
+           MIMEType:(NSString *)MIME
          attributes:(NSDictionary *)attributes;
 
 @end
diff --git a/WebKit/Plugins.subproj/WebNetscapePluginEmbeddedView.m b/WebKit/Plugins.subproj/WebNetscapePluginEmbeddedView.m
index d52612b..029e19d 100644
--- a/WebKit/Plugins.subproj/WebNetscapePluginEmbeddedView.m
+++ b/WebKit/Plugins.subproj/WebNetscapePluginEmbeddedView.m
@@ -20,14 +20,14 @@
              plugin:(WebNetscapePluginPackage *)thePlugin
                 URL:(NSURL *)theURL
             baseURL:(NSURL *)theBaseURL
-               mime:(NSString *)mimeType
-          attributes:(NSDictionary *)attributes
+           MIMEType:(NSString *)MIME
+         attributes:(NSDictionary *)attributes
 {
     [super initWithFrame:frame];
 
     URL = [theURL retain];
     
-    [self setMIMEType:mimeType];
+    [self setMIMEType:MIME];
     [self setBaseURL:theBaseURL];
     [self setAttributes:attributes];
     [self setMode:NP_EMBED];
diff --git a/WebKit/Plugins.subproj/WebNetscapePluginPackage.m b/WebKit/Plugins.subproj/WebNetscapePluginPackage.m
index 5cf0447..4539592 100644
--- a/WebKit/Plugins.subproj/WebNetscapePluginPackage.m
+++ b/WebKit/Plugins.subproj/WebNetscapePluginPackage.m
@@ -54,7 +54,7 @@ TransitionVector tVectorForFunctionPointer(FunctionPointer);
     return [NSString stringWithCString:cString];
 }
 
-- (BOOL)getPluginInfo
+- (BOOL)getMIMEInformation
 {
     SInt16 resRef = [self openResourceFile];
     if(resRef == -1){
@@ -105,6 +105,8 @@ TransitionVector tVectorForFunctionPointer(FunctionPointer);
 
     [self setMIMEToDescriptionDictionary:MIMEToDescriptionDictionary];
     [self setMIMEToExtensionsDictionary:MIMEToExtensionsDictionary];
+
+    NSString *filename = [self filename];
     
     description = [self stringForStringListID:126 andIndex:1];
     if(!description){
@@ -159,7 +161,6 @@ TransitionVector tVectorForFunctionPointer(FunctionPointer);
     NSString *thePath = [self pathByResolvingSymlinksAndAliasesInPath:pluginPath];
     
     [self setPath:thePath];
-    [self setFilename:[thePath lastPathComponent]];
     
     NSFileManager *fileManager = [NSFileManager defaultManager];
     NSDictionary *fileInfo = [fileManager fileAttributesAtPath:thePath traverseLink:YES];
@@ -199,7 +200,7 @@ TransitionVector tVectorForFunctionPointer(FunctionPointer);
     }
     
     if(type == FOUR_CHAR_CODE('BRPL') || type == FOUR_CHAR_CODE('IEPL') ){
-        if(![self getPluginInfo]){
+        if(![self getMIMEInformation]){
             return nil;
         }
     }else{
diff --git a/WebKit/Plugins.subproj/WebNullPluginView.h b/WebKit/Plugins.subproj/WebNullPluginView.h
index 707526f..755df91 100644
--- a/WebKit/Plugins.subproj/WebNullPluginView.h
+++ b/WebKit/Plugins.subproj/WebNullPluginView.h
@@ -6,13 +6,13 @@
 #import <AppKit/AppKit.h>
 
 
- at interface WebNullPluginView : NSImageView {
-
+ at interface WebNullPluginView : NSImageView
+{
     BOOL didSendError;
-    NSString *mimeType;
-    NSURL *pluginPage;
+    NSString *MIMEType;
+    NSURL *pluginPageURL;
 }
 
-- initWithFrame:(NSRect)frame mimeType:(NSString *)mime attributes:(NSDictionary *)attributes;
+- initWithFrame:(NSRect)frame MIMEType:(NSString *)mime attributes:(NSDictionary *)attributes;
 
 @end
diff --git a/WebKit/Plugins.subproj/WebNullPluginView.m b/WebKit/Plugins.subproj/WebNullPluginView.m
index 69db395..1290e43 100644
--- a/WebKit/Plugins.subproj/WebNullPluginView.m
+++ b/WebKit/Plugins.subproj/WebNullPluginView.m
@@ -16,26 +16,23 @@ static NSImage *image = nil;
 
 @implementation WebNullPluginView
 
-- initWithFrame:(NSRect)frame mimeType:(NSString *)mime attributes:(NSDictionary *)attributes
-{
-    NSBundle *bundle;
-    NSString *imagePath, *pluginPageString;
-    
+- initWithFrame:(NSRect)frame MIMEType:(NSString *)mime attributes:(NSDictionary *)attributes
+{    
     self = [super initWithFrame:frame];
     if (self) {
         // Set the view's image to the null plugin icon
         if (!image) {
-            bundle = [NSBundle bundleForClass:[WebNullPluginView class]];
-            imagePath = [bundle pathForResource:@"nullplugin" ofType:@"tiff"];
+            NSBundle *bundle = [NSBundle bundleForClass:[WebNullPluginView class]];
+            NSString *imagePath = [bundle pathForResource:@"nullplugin" ofType:@"tiff"];
             image = [[NSImage alloc] initWithContentsOfFile:imagePath];
         }
         [self setImage:image];
         
-        mimeType = [mime retain];
+        MIMEType = [mime retain];
         
-        pluginPageString = [attributes objectForKey:@"pluginspage"];
+        NSString *pluginPageString = [attributes objectForKey:@"pluginspage"];
         if(pluginPageString){
-            pluginPage = [[NSURL _web_URLWithString:pluginPageString] retain];
+            pluginPageURL = [[NSURL _web_URLWithString:pluginPageString] retain];
         }
     }
     return self;
@@ -43,21 +40,18 @@ static NSImage *image = nil;
 
 - (void)dealloc
 {
-    [pluginPage release];
-    [mimeType release];
+    [pluginPageURL release];
+    [MIMEType release];
     [super dealloc];
 }
 
-- (void)drawRect:(NSRect)rect {
-    WebView *webView;
-    WebController *webController;
-
-    [super drawRect:rect];
+- (void)viewDidMoveToWindow
+{
     if(!didSendError){
         didSendError = YES;
-        webView = (WebView *)[self _web_superviewOfClass:[WebView class]];
-        webController = [webView controller];
-        [[webController policyDelegate] pluginNotFoundForMIMEType:mimeType pluginPageURL:pluginPage];
+        WebView *view = (WebView *)[self _web_superviewOfClass:[WebView class]];
+        WebController *controller = [view controller];
+        [[controller policyDelegate] pluginNotFoundForMIMEType:MIMEType pluginPageURL:pluginPageURL];
     }
 }
 
diff --git a/WebKit/Plugins.subproj/WebPluginPackage.m b/WebKit/Plugins.subproj/WebPluginPackage.m
index 99f9fb0..eee8c73 100644
--- a/WebKit/Plugins.subproj/WebPluginPackage.m
+++ b/WebKit/Plugins.subproj/WebPluginPackage.m
@@ -8,9 +8,66 @@
 
 #import <WebKit/WebPluginPackage.h>
 
+#define WebPluginMIMETypesKey 		@"WebPluginMIMETypes"
+#define WebPluginNameKey 		@"WebPluginName"
+#define WebPluginDescriptionKey 	@"WebPluginDescription"
+#define WebPluginExtensionsKey 		@"WebPluginExtensions"
+#define WebPluginTypeDescriptionKey 	@"WebPluginTypeDescription"
 
 @implementation WebPluginPackage
 
+- (BOOL)getMIMEInformation
+{
+    NSDictionary *MIMETypes = [bundle objectForInfoDictionaryKey:WebPluginMIMETypesKey];
+    if(!MIMETypes){
+        return NO;
+    }
+
+    NSMutableDictionary *MIMEToExtensionsDictionary = [NSMutableDictionary dictionary];
+    NSMutableDictionary *MIMEToDescriptionDictionary = [NSMutableDictionary dictionary];
+    NSEnumerator *keyEnumerator = [MIMETypes keyEnumerator];
+    NSDictionary *MIMEDictionary;
+    NSString *MIME, *description;
+    NSArray *extensions;
+    
+    while ((MIME = [keyEnumerator nextObject]) != nil) {
+        MIMEDictionary = [MIMETypes objectForKey:MIME];
+
+        extensions = [MIMEDictionary objectForKey:WebPluginExtensionsKey];
+        if(!extensions){
+            extensions = [NSArray arrayWithObject:@""];
+        }
+
+        [MIMEToExtensionsDictionary setObject:extensions forKey:MIME];
+
+        description = [MIMEDictionary objectForKey:WebPluginDescriptionKey];
+        if(!description){
+            description = @"";
+        }
+
+        [MIMEToDescriptionDictionary setObject:description forKey:MIME];
+    }
+
+    [self setMIMEToExtensionsDictionary:MIMEToExtensionsDictionary];
+    [self setMIMEToDescriptionDictionary:MIMEToDescriptionDictionary];
+
+    NSString *filename = [self filename];
+    
+    NSString *theName = [bundle objectForInfoDictionaryKey:WebPluginNameKey];
+    if(!theName){
+        theName = filename;
+    }
+    [self setName:theName];
+
+    description = [bundle objectForInfoDictionaryKey:WebPluginDescriptionKey];
+    if(!description){
+        description = filename;
+    }
+    [self setPluginDescription:description];
+
+    return YES;
+}
+
 - initWithPath:(NSString *)pluginPath
 {
     [super initWithPath:pluginPath];
@@ -20,15 +77,15 @@
     if(!bundle){
         return nil;
     }
-    
-    CFBundleRef theBundle = CFBundleCreate(NULL, (CFURLRef)[NSURL fileURLWithPath:pluginPath]);
+
     UInt32 type;
-        
+    CFBundleRef theBundle = CFBundleCreate(NULL, (CFURLRef)[NSURL fileURLWithPath:pluginPath]);        
     CFBundleGetPackageInfo(theBundle, &type, NULL);
-
     CFRelease(theBundle);
 
-    if(type != FOUR_CHAR_CODE('WBPL')){
+    [self setPath:pluginPath];
+    
+    if(type != FOUR_CHAR_CODE('WBPL') || ![self getMIMEInformation]){
         [bundle release];
         return nil;
     }
@@ -36,9 +93,24 @@
     return self;
 }
 
+- (void)dealloc
+{
+    [bundle release];
+    [super dealloc];
+}
+
 - (Class)viewFactory
 {
     return [bundle principalClass];
 }
 
+- (BOOL)load
+{
+    return YES;
+}
+
+- (void)unload
+{
+}
+
 @end
diff --git a/WebKit/WebCoreSupport.subproj/WebBridge.m b/WebKit/WebCoreSupport.subproj/WebBridge.m
index 31d840b..52bb251 100644
--- a/WebKit/WebCoreSupport.subproj/WebBridge.m
+++ b/WebKit/WebCoreSupport.subproj/WebBridge.m
@@ -443,11 +443,9 @@
 - (NSView *)viewForPluginWithURL:(NSURL *)URL
                       attributes:(NSArray *)attributesArray
                          baseURL:(NSURL *)baseURL
-                     serviceType:(NSString *)serviceType
+                        MIMEType:(NSString *)MIMEType
 {
-    NSString *mimeType, *extension;
     NSRange r1, r2, r3;
-    WebBasePluginPackage *pluginPackage;
     uint i;
 
     NSMutableDictionary *attributes = [NSMutableDictionary dictionary];
@@ -462,13 +460,14 @@
         }
     }
 
-    if ([serviceType length]) {
-        mimeType = serviceType;
-        pluginPackage = [[WebPluginDatabase installedPlugins] pluginForMIMEType:mimeType];
+    WebBasePluginPackage *pluginPackage;
+    
+    if ([MIMEType length]) {
+        pluginPackage = [[WebPluginDatabase installedPlugins] pluginForMIMEType:MIMEType];
     } else {
-        extension = [[URL path] pathExtension];
+        NSString *extension = [[URL path] pathExtension];
         pluginPackage = [[WebPluginDatabase installedPlugins] pluginForExtension:extension];
-        mimeType = [pluginPackage MIMETypeForExtension:extension];
+        MIMEType = [pluginPackage MIMETypeForExtension:extension];
     }
 
     if (pluginPackage) {
@@ -482,7 +481,7 @@
                                                                   plugin:(WebNetscapePluginPackage *)pluginPackage
                                                                      URL:URL
                                                                  baseURL:baseURL
-                                                                    mime:mimeType
+                                                                MIMEType:MIMEType
                                                                attributes:attributes] autorelease];
         }else{
             [NSException raise:NSInternalInconsistencyException
@@ -491,7 +490,7 @@
         }
     }else{
         return [[[WebNullPluginView alloc] initWithFrame:NSMakeRect(0,0,0,0)
-                                                mimeType:mimeType
+                                                MIMEType:MIMEType
                                               attributes:attributes] autorelease];
     }
 }
@@ -516,8 +515,8 @@
                                                               plugin:(WebNetscapePluginPackage *)pluginPackage
                                                                  URL:nil
                                                              baseURL:baseURL
-                                                                mime:@"application/x-java-applet"
-                                                           attributes:attributes] autorelease];
+                                                            MIMEType:@"application/x-java-applet"
+                                                          attributes:attributes] autorelease];
     }else{
         [NSException raise:NSInternalInconsistencyException
                     format:@"Plugin package class not recognized"];

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list