[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 05:56:28 UTC 2009


The following commit has been merged in the debian/unstable branch:
commit 6c5a172cb67abdc07b912e1799b7144a9e874be6
Author: cblu <cblu at 268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Fri Mar 1 22:14:59 2002 +0000

    First implementation of WCJavaAppletWidget.
    Removed unecessary items from plug-in initialization prototypes.
    Added a method getPluginWithFilename to WCPluginDataase to find Java.plugin.
    
    Modified Files:
    	WebBrowser/Debug/DebugBookmarks.plist
    	WebCore/src/kdelibs/khtml/rendering/render_applet.cpp
    	WebCore/src/kwq/KWQKHTMLPart.mm WebCore/src/kwq/Makefile.am
    	WebCore/src/kwq/WCPlugin.mm WebCore/src/kwq/WCPluginDatabase.h
    	WebCore/src/kwq/WCPluginDatabase.mm
    	WebCore/src/kwq/WCPluginWidget.h
    	WebCore/src/kwq/WCPluginWidget.mm
    	WebKit/Plugins.subproj/IFPluginView.h
    	WebKit/Plugins.subproj/IFPluginView.mm
    Added Files:
    	WebCore/src/kwq/WCJavaAppletWidget.h
    	WebCore/src/kwq/WCJavaAppletWidget.mm
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@681 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebCore/khtml/rendering/render_applet.cpp b/WebCore/khtml/rendering/render_applet.cpp
index 6839272..90b8a1e 100644
--- a/WebCore/khtml/rendering/render_applet.cpp
+++ b/WebCore/khtml/rendering/render_applet.cpp
@@ -35,6 +35,10 @@
 #include <java/kjavaappletwidget.h>
 #include <misc/htmltags.h>
 
+#ifdef _KWQ_
+#include <WCJavaAppletWidget.h>
+#endif
+
 using namespace khtml;
 using namespace DOM;
 
@@ -45,7 +49,10 @@ RenderApplet::RenderApplet(QScrollView *view,
     // init RenderObject attributes
     setInline(true);
     m_applet = applet;
-
+    
+#ifdef _KWQ_
+    setQWidget( new WCJavaAppletWidget(args));
+#else
     KJavaAppletContext *context = 0;
     KHTMLView *_view = static_cast<KHTMLView*>(view);
     if ( _view ) {
@@ -58,6 +65,7 @@ RenderApplet::RenderApplet(QScrollView *view,
         setQWidget( new KJavaAppletWidget(context, view->viewport()) );
         processArguments(args);
     }
+#endif
 }
 
 RenderApplet::~RenderApplet()
diff --git a/WebCore/kwq/KWQKHTMLPart.mm b/WebCore/kwq/KWQKHTMLPart.mm
index dbb0e12..1aed205 100644
--- a/WebCore/kwq/KWQKHTMLPart.mm
+++ b/WebCore/kwq/KWQKHTMLPart.mm
@@ -627,7 +627,8 @@ void KHTMLPart::setPluginsEnabled( bool enable )
 
 bool KHTMLPart::pluginsEnabled() const
 {
-    return [[[NSUserDefaults standardUserDefaults] objectForKey:@"WebKitPluginsEnabled"] boolValue];
+    //return [[[NSUserDefaults standardUserDefaults] objectForKey:@"WebKitPluginsEnabled"] boolValue];
+    return FALSE;
 }
 
 
@@ -1808,7 +1809,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(0, completeURL(url).url(), serviceType, args);
+        WCPluginWidget *pluginWidget = new WCPluginWidget(completeURL(url).url(), serviceType, args);
         frame->setWidget(pluginWidget);
         plugins.append(url);
     }
diff --git a/WebCore/kwq/KWQKHTMLPartImpl.mm b/WebCore/kwq/KWQKHTMLPartImpl.mm
index dbb0e12..1aed205 100644
--- a/WebCore/kwq/KWQKHTMLPartImpl.mm
+++ b/WebCore/kwq/KWQKHTMLPartImpl.mm
@@ -627,7 +627,8 @@ void KHTMLPart::setPluginsEnabled( bool enable )
 
 bool KHTMLPart::pluginsEnabled() const
 {
-    return [[[NSUserDefaults standardUserDefaults] objectForKey:@"WebKitPluginsEnabled"] boolValue];
+    //return [[[NSUserDefaults standardUserDefaults] objectForKey:@"WebKitPluginsEnabled"] boolValue];
+    return FALSE;
 }
 
 
@@ -1808,7 +1809,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(0, completeURL(url).url(), serviceType, args);
+        WCPluginWidget *pluginWidget = new WCPluginWidget(completeURL(url).url(), serviceType, args);
         frame->setWidget(pluginWidget);
         plugins.append(url);
     }
diff --git a/WebCore/kwq/Makefile.am b/WebCore/kwq/Makefile.am
index b26d5ee..6298ff1 100644
--- a/WebCore/kwq/Makefile.am
+++ b/WebCore/kwq/Makefile.am
@@ -136,6 +136,7 @@ libkwq_o_SOURCES = \
 	WCPlugin.mm \
 	WCPluginDatabase.mm \
 	WCPluginWidget.mm \
+        WCJavaAppletWidget.mm \
 	npapi.mm \
 	$(NULL)
 
diff --git a/WebCore/kwq/KWQButton.h b/WebCore/kwq/WCJavaAppletWidget.h
similarity index 81%
copy from WebCore/kwq/KWQButton.h
copy to WebCore/kwq/WCJavaAppletWidget.h
index 3b4f19f..740392d 100644
--- a/WebCore/kwq/KWQButton.h
+++ b/WebCore/kwq/WCJavaAppletWidget.h
@@ -23,8 +23,8 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
  */
 
-#ifndef QBUTTON_H_
-#define QBUTTON_H_
+#ifndef WCJavaAppletWidget_H_
+#define WCJavaAppletWidget_H_
 
 #ifdef HAVE_CONFIG_H
 #include <config.h>
@@ -32,10 +32,11 @@
 
 #include "qwidget.h"
 #include "qstring.h"
+#include <qmap.h>
     
-// class QButton ===============================================================
+// class WCJavaAppletWidget ===============================================================
 
-class QButton : public QWidget {
+class WCJavaAppletWidget : public QWidget {
 public:
 
     // typedefs ----------------------------------------------------------------
@@ -45,13 +46,10 @@ public:
     
     // constructors, copy constructors, and destructors ------------------------
 
-    QButton(QWidget *parent=0);
-    ~QButton();
+    WCJavaAppletWidget(QMap<QString, QString> args);
+    ~WCJavaAppletWidget();
 
     // member functions --------------------------------------------------------
-
-    virtual void setText(const QString &);
-    QString text() const;
     
     // operators ---------------------------------------------------------------
 
@@ -59,11 +57,10 @@ public:
 // private ---------------------------------------------------------------------
 
 private:
-    // no copying or assignment
-    // note that these are "standard" (no pendantic stuff needed)
-    QButton(const QButton &);
-    QButton &operator=(const QButton &);
+    WCJavaAppletWidget(const WCJavaAppletWidget &);
+    WCJavaAppletWidget &operator=(const WCJavaAppletWidget &);
+    
 
-}; // class QButton ============================================================
+}; // class WCJavaAppletWidget ============================================================
 
 #endif
diff --git a/WebCore/kwq/WCPluginWidget.mm b/WebCore/kwq/WCJavaAppletWidget.mm
similarity index 51%
copy from WebCore/kwq/WCPluginWidget.mm
copy to WebCore/kwq/WCJavaAppletWidget.mm
index f2ef8eb..d56692d 100644
--- a/WebCore/kwq/WCPluginWidget.mm
+++ b/WebCore/kwq/WCJavaAppletWidget.mm
@@ -24,60 +24,53 @@
  */
  
 #import <Foundation/Foundation.h>
-#import <WCPluginWidget.h>
+#import <WCJavaAppletWidget.h>
 #import <WCPluginDatabase.h>
+#import <WCPlugin.h>
 #import <KWQView.h>
+
 #include <kwqdebug.h>
+#include <WCPluginWidget.h>
 
 @interface IFPluginView : NSObject
-- initWithFrame: (NSRect) r widget: (QWidget *)w plugin: (WCPlugin *)plug url: (NSString *)location mime:(NSString *)mime arguments:(NSDictionary *)arguments;
+- initWithFrame: (NSRect) r plugin: (WCPlugin *)plug url: (NSString *)location mime:(NSString *)mime arguments:(NSDictionary *)arguments mode:(uint16)mode;
 @end
 
+WCIFPluginMakeFunc WCIFPluginMake;
 
-static WCIFPluginMakeFunc WCIFPluginMake = NULL;
-
-void WCSetIFPluginMakeFunc(WCIFPluginMakeFunc func)
-{
-    WCIFPluginMake = func;
-}
-
-
-WCPluginWidget::WCPluginWidget(QWidget *parent, const QString &url, const QString &serviceType, const QStringList &args)
+WCJavaAppletWidget::WCJavaAppletWidget(QMap<QString, QString> args)
 {
     NSMutableDictionary *arguments;
-    NSString *arg, *mimeType;
-    NSRange r1, r2, r3;
+    NSString *URL, *codebase, *code;
     WCPlugin *plugin;
-    uint i;
+    QMap<QString, QString>::Iterator it;
+
+    WCIFPluginMake = WCIFPluginMakeFunction();
+
+    plugin = [[WCPluginDatabase installedPlugins] getPluginForFilename:@"Java.plugin"];
+    if(plugin == nil){
+        printf("Could not find Java plugin!\n");
+        return;
+    }
     
     arguments = [NSMutableDictionary dictionaryWithCapacity:10];
-    for(i=0; i<args.count(); i++){
-    arg = QSTRING_TO_NSSTRING(args[i]);
-        r1 = [arg rangeOfString:@"="]; // parse out attributes and values
-        r2 = [arg rangeOfString:@"\""];
-        r3.location = r2.location + 1;
-        r3.length = [arg length] - r2.location - 2; // don't include quotes
-        [arguments setObject:[arg substringWithRange:r3] forKey:[arg substringToIndex:r1.location]];
-    }
-    if(serviceType.isNull()){
-        plugin = [[WCPluginDatabase installedPlugins] getPluginForURL:QSTRING_TO_NSSTRING(url)];
-        if(plugin != nil){
-            mimeType = [plugin mimeTypeForURL:QSTRING_TO_NSSTRING(url)];
+    for( it = args.begin(); it != args.end(); ++it ){
+        [arguments setObject:QSTRING_TO_NSSTRING(it.data()) forKey:QSTRING_TO_NSSTRING(it.key())];
+        if(it.key().contains("codebase", FALSE)){
+            codebase = QSTRING_TO_NSSTRING(it.data());
+            NSLog(codebase);
+        }
+        else if(it.key().contains("code", FALSE)){
+            code = QSTRING_TO_NSSTRING(it.data());
         }
-    }else{
-        plugin = [[WCPluginDatabase installedPlugins] getPluginForMimeType:QSTRING_TO_NSSTRING(serviceType)];
-        mimeType = QSTRING_TO_NSSTRING(serviceType);
-    }
-    if(plugin == nil){
-        //FIXME: Error dialog should be shown here
-        KWQDebug("Could not find plugin for mime: %s or URL: %s\n", serviceType.latin1(), url.latin1());
-        return;
     }
-    [plugin load];
-    setView(WCIFPluginMake(NSMakeRect(0,0,0,0), this, plugin, QSTRING_TO_NSSTRING(url), mimeType, arguments));
+    
+    URL = [codebase stringByAppendingPathComponent:code];
+    NSLog(URL);
+    setView(WCIFPluginMake(NSMakeRect(0,0,0,0), plugin, URL, @"application/x-java-applet", arguments, NP_EMBED));
 }
 
-WCPluginWidget::~WCPluginWidget()
+WCJavaAppletWidget::~WCJavaAppletWidget()
 {
 
 }
diff --git a/WebCore/kwq/WCPlugin.mm b/WebCore/kwq/WCPlugin.mm
index f8fda2c..3a3530b 100644
--- a/WebCore/kwq/WCPlugin.mm
+++ b/WebCore/kwq/WCPlugin.mm
@@ -84,7 +84,7 @@
 - (void)getPluginInfoForResourceFile:(SInt16)resRef
 {
     Str255 theString;
-    char temp[300], description[600]; // I wish I didn't have to use these C strings
+    char temp[255], description[255];
     NSMutableArray *mime; // mime is an array containing the mime type, extension(s) and descriptions for that mime type.
     NSString *tempString;
     uint n, i;
@@ -97,6 +97,11 @@
         if(!strcmp(temp, "")) break;
         mime = [NSMutableArray arrayWithCapacity:3];
         [mimeTypes insertObject:mime atIndex:i];
+        //FIXME: Because our JS engine poops on semi-colons, I'm removing ";version=1.3"
+        //Scott Adler is checking if semi-colons are allowed to be in mime-types
+        if(!strcmp(temp, "application/x-java-applet;version=1.3")){
+            strcpy(temp, "application/x-java-applet");
+        }
         tempString = [NSString stringWithCString:temp];
         [mime insertObject:tempString atIndex:0]; // mime type
         
diff --git a/WebCore/kwq/WCPluginDatabase.h b/WebCore/kwq/WCPluginDatabase.h
index a38d9f2..af546ac 100644
--- a/WebCore/kwq/WCPluginDatabase.h
+++ b/WebCore/kwq/WCPluginDatabase.h
@@ -32,7 +32,8 @@
 
 + (WCPluginDatabase *)installedPlugins;
 - (WCPlugin *)getPluginForMimeType:(NSString *)mimeType;
-- (WCPlugin *)getPluginForURL:(NSString *)URL;
+- (WCPlugin *)getPluginForExtension:(NSString *)extension;
+- (WCPlugin *)getPluginForFilename:(NSString *)filename;
 - (NSArray *) plugins;
 
 @end
diff --git a/WebCore/kwq/WCPluginDatabase.mm b/WebCore/kwq/WCPluginDatabase.mm
index 0fbb2fa..196e54b 100644
--- a/WebCore/kwq/WCPluginDatabase.mm
+++ b/WebCore/kwq/WCPluginDatabase.mm
@@ -30,8 +30,8 @@
 static WCPluginDatabase *__WCPluginDatabase = nil;
 
 
-+ (WCPluginDatabase *)installedPlugins {
-
++ (WCPluginDatabase *)installedPlugins 
+{
     if(!__WCPluginDatabase){
         __WCPluginDatabase  = [WCPluginDatabase alloc];
         __WCPluginDatabase->plugins = findPlugins();
@@ -40,7 +40,8 @@ static WCPluginDatabase *__WCPluginDatabase = nil;
 }
 
 // The first plugin with the specified mime type is returned. We may want to tie this to the defaults so that this is configurable.
-- (WCPlugin *)getPluginForMimeType:(NSString *)mimeType{
+- (WCPlugin *)getPluginForMimeType:(NSString *)mimeType
+{
     uint i, n;
     WCPlugin *plugin;
     NSArray *mimeArray;
@@ -57,14 +58,13 @@ static WCPluginDatabase *__WCPluginDatabase = nil;
     return nil;
 }
 
-- (WCPlugin *)getPluginForURL:(NSString *)URL{
+- (WCPlugin *)getPluginForExtension:(NSString *)extension
+{
     uint i, n;
     WCPlugin *plugin;
     NSArray *mimeArray;
     NSRange hasExtension;
-    NSString *extension;
-    
-    extension = [URL pathExtension];
+
     for(i=0; i<[plugins count]; i++){      
         plugin = [plugins objectAtIndex:i];
         mimeArray = [plugin mimeTypes];
@@ -78,9 +78,22 @@ static WCPluginDatabase *__WCPluginDatabase = nil;
     return nil;
 }
 
+- (WCPlugin *)getPluginForFilename:(NSString *)filename
+{
+    uint i;
+    WCPlugin *plugin;
+    
+    for(i=0; i<[plugins count]; i++){
+        plugin = [plugins objectAtIndex:i];
+        if([[plugin filename] isEqualToString:filename]){
+            return plugin;
+        }
+    }
+    return nil;
+}
 
-
-- (NSArray *) plugins{
+- (NSArray *) plugins
+{
     return plugins;
 }
 
@@ -119,6 +132,7 @@ NSArray *findPlugins(void){
             [plugin retain];
             [pluginArray addObject:plugin];
             KWQDebug("Found plugin: %s\n", [[plugin name] cString]);
+            KWQDebug("%s", [[plugin description] cString]);
         }
     }
     return [pluginArray retain];
diff --git a/WebCore/kwq/WCPluginWidget.h b/WebCore/kwq/WCPluginWidget.h
index 28f4700..f5a8eee 100644
--- a/WebCore/kwq/WCPluginWidget.h
+++ b/WebCore/kwq/WCPluginWidget.h
@@ -34,8 +34,7 @@
 #include "qstring.h"
 #import <WCPlugin.h>
 
-
-typedef id (*WCIFPluginMakeFunc)(NSRect rect, QWidget *widget, WCPlugin *plugin, NSString *url, NSString *mimeType, NSDictionary *arguments);
+typedef id (*WCIFPluginMakeFunc)(NSRect rect, WCPlugin *plugin, NSString *url, NSString *mimeType, NSDictionary *arguments, uint16 mode);
 void WCSetIFPluginMakeFunc(WCIFPluginMakeFunc func);
     
 // class WCPluginWidget ===============================================================
@@ -50,11 +49,12 @@ public:
     
     // constructors, copy constructors, and destructors ------------------------
 
-    WCPluginWidget(QWidget *parent=0, 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());
     ~WCPluginWidget();
 
     // member functions --------------------------------------------------------
     
+    
     // operators ---------------------------------------------------------------
 
 // protected -------------------------------------------------------------------
@@ -67,4 +67,6 @@ private:
 
 }; // class WCPluginWidget ============================================================
 
+void * WCIFPluginMakeFunction();
+
 #endif
diff --git a/WebCore/kwq/WCPluginWidget.mm b/WebCore/kwq/WCPluginWidget.mm
index f2ef8eb..995e63e 100644
--- a/WebCore/kwq/WCPluginWidget.mm
+++ b/WebCore/kwq/WCPluginWidget.mm
@@ -30,7 +30,7 @@
 #include <kwqdebug.h>
 
 @interface IFPluginView : NSObject
-- initWithFrame: (NSRect) r widget: (QWidget *)w plugin: (WCPlugin *)plug url: (NSString *)location mime:(NSString *)mime arguments:(NSDictionary *)arguments;
+- initWithFrame: (NSRect) r plugin: (WCPlugin *)plug url: (NSString *)location mime:(NSString *)mime arguments:(NSDictionary *)arguments mode:(uint16)mode;
 @end
 
 
@@ -42,14 +42,15 @@ void WCSetIFPluginMakeFunc(WCIFPluginMakeFunc func)
 }
 
 
-WCPluginWidget::WCPluginWidget(QWidget *parent, const QString &url, const QString &serviceType, const QStringList &args)
+WCPluginWidget::WCPluginWidget(const QString &url, const QString &serviceType, const QStringList &args)
 {
     NSMutableDictionary *arguments;
-    NSString *arg, *mimeType;
+    NSString *arg, *mimeType, *URL;
     NSRange r1, r2, r3;
     WCPlugin *plugin;
     uint i;
     
+    URL = QSTRING_TO_NSSTRING(url);
     arguments = [NSMutableDictionary dictionaryWithCapacity:10];
     for(i=0; i<args.count(); i++){
     arg = QSTRING_TO_NSSTRING(args[i]);
@@ -60,9 +61,9 @@ WCPluginWidget::WCPluginWidget(QWidget *parent, const QString &url, const QStrin
         [arguments setObject:[arg substringWithRange:r3] forKey:[arg substringToIndex:r1.location]];
     }
     if(serviceType.isNull()){
-        plugin = [[WCPluginDatabase installedPlugins] getPluginForURL:QSTRING_TO_NSSTRING(url)];
+        plugin = [[WCPluginDatabase installedPlugins] getPluginForExtension:[URL pathExtension]];
         if(plugin != nil){
-            mimeType = [plugin mimeTypeForURL:QSTRING_TO_NSSTRING(url)];
+            mimeType = [plugin mimeTypeForURL:URL];
         }
     }else{
         plugin = [[WCPluginDatabase installedPlugins] getPluginForMimeType:QSTRING_TO_NSSTRING(serviceType)];
@@ -70,11 +71,10 @@ WCPluginWidget::WCPluginWidget(QWidget *parent, const QString &url, const QStrin
     }
     if(plugin == nil){
         //FIXME: Error dialog should be shown here
-        KWQDebug("Could not find plugin for mime: %s or URL: %s\n", serviceType.latin1(), url.latin1());
+        printf("Could not find plugin for mime: %s or URL: %s\n", serviceType.latin1(), url.latin1());
         return;
     }
-    [plugin load];
-    setView(WCIFPluginMake(NSMakeRect(0,0,0,0), this, plugin, QSTRING_TO_NSSTRING(url), mimeType, arguments));
+    setView(WCIFPluginMake(NSMakeRect(0,0,0,0), plugin, URL, mimeType, arguments, NP_EMBED));
 }
 
 WCPluginWidget::~WCPluginWidget()
@@ -82,3 +82,10 @@ WCPluginWidget::~WCPluginWidget()
 
 }
 
+void * WCIFPluginMakeFunction()
+{
+    return WCIFPluginMake;
+}
+
+
+
diff --git a/WebCore/src/kdelibs/khtml/rendering/render_applet.cpp b/WebCore/src/kdelibs/khtml/rendering/render_applet.cpp
index 6839272..90b8a1e 100644
--- a/WebCore/src/kdelibs/khtml/rendering/render_applet.cpp
+++ b/WebCore/src/kdelibs/khtml/rendering/render_applet.cpp
@@ -35,6 +35,10 @@
 #include <java/kjavaappletwidget.h>
 #include <misc/htmltags.h>
 
+#ifdef _KWQ_
+#include <WCJavaAppletWidget.h>
+#endif
+
 using namespace khtml;
 using namespace DOM;
 
@@ -45,7 +49,10 @@ RenderApplet::RenderApplet(QScrollView *view,
     // init RenderObject attributes
     setInline(true);
     m_applet = applet;
-
+    
+#ifdef _KWQ_
+    setQWidget( new WCJavaAppletWidget(args));
+#else
     KJavaAppletContext *context = 0;
     KHTMLView *_view = static_cast<KHTMLView*>(view);
     if ( _view ) {
@@ -58,6 +65,7 @@ RenderApplet::RenderApplet(QScrollView *view,
         setQWidget( new KJavaAppletWidget(context, view->viewport()) );
         processArguments(args);
     }
+#endif
 }
 
 RenderApplet::~RenderApplet()
diff --git a/WebCore/src/kwq/KWQKHTMLPart.mm b/WebCore/src/kwq/KWQKHTMLPart.mm
index dbb0e12..1aed205 100644
--- a/WebCore/src/kwq/KWQKHTMLPart.mm
+++ b/WebCore/src/kwq/KWQKHTMLPart.mm
@@ -627,7 +627,8 @@ void KHTMLPart::setPluginsEnabled( bool enable )
 
 bool KHTMLPart::pluginsEnabled() const
 {
-    return [[[NSUserDefaults standardUserDefaults] objectForKey:@"WebKitPluginsEnabled"] boolValue];
+    //return [[[NSUserDefaults standardUserDefaults] objectForKey:@"WebKitPluginsEnabled"] boolValue];
+    return FALSE;
 }
 
 
@@ -1808,7 +1809,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(0, completeURL(url).url(), serviceType, args);
+        WCPluginWidget *pluginWidget = new WCPluginWidget(completeURL(url).url(), serviceType, args);
         frame->setWidget(pluginWidget);
         plugins.append(url);
     }
diff --git a/WebCore/src/kwq/Makefile.am b/WebCore/src/kwq/Makefile.am
index b26d5ee..6298ff1 100644
--- a/WebCore/src/kwq/Makefile.am
+++ b/WebCore/src/kwq/Makefile.am
@@ -136,6 +136,7 @@ libkwq_o_SOURCES = \
 	WCPlugin.mm \
 	WCPluginDatabase.mm \
 	WCPluginWidget.mm \
+        WCJavaAppletWidget.mm \
 	npapi.mm \
 	$(NULL)
 
diff --git a/WebCore/kwq/KWQButton.h b/WebCore/src/kwq/WCJavaAppletWidget.h
similarity index 81%
copy from WebCore/kwq/KWQButton.h
copy to WebCore/src/kwq/WCJavaAppletWidget.h
index 3b4f19f..740392d 100644
--- a/WebCore/kwq/KWQButton.h
+++ b/WebCore/src/kwq/WCJavaAppletWidget.h
@@ -23,8 +23,8 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
  */
 
-#ifndef QBUTTON_H_
-#define QBUTTON_H_
+#ifndef WCJavaAppletWidget_H_
+#define WCJavaAppletWidget_H_
 
 #ifdef HAVE_CONFIG_H
 #include <config.h>
@@ -32,10 +32,11 @@
 
 #include "qwidget.h"
 #include "qstring.h"
+#include <qmap.h>
     
-// class QButton ===============================================================
+// class WCJavaAppletWidget ===============================================================
 
-class QButton : public QWidget {
+class WCJavaAppletWidget : public QWidget {
 public:
 
     // typedefs ----------------------------------------------------------------
@@ -45,13 +46,10 @@ public:
     
     // constructors, copy constructors, and destructors ------------------------
 
-    QButton(QWidget *parent=0);
-    ~QButton();
+    WCJavaAppletWidget(QMap<QString, QString> args);
+    ~WCJavaAppletWidget();
 
     // member functions --------------------------------------------------------
-
-    virtual void setText(const QString &);
-    QString text() const;
     
     // operators ---------------------------------------------------------------
 
@@ -59,11 +57,10 @@ public:
 // private ---------------------------------------------------------------------
 
 private:
-    // no copying or assignment
-    // note that these are "standard" (no pendantic stuff needed)
-    QButton(const QButton &);
-    QButton &operator=(const QButton &);
+    WCJavaAppletWidget(const WCJavaAppletWidget &);
+    WCJavaAppletWidget &operator=(const WCJavaAppletWidget &);
+    
 
-}; // class QButton ============================================================
+}; // class WCJavaAppletWidget ============================================================
 
 #endif
diff --git a/WebCore/kwq/WCPluginWidget.mm b/WebCore/src/kwq/WCJavaAppletWidget.mm
similarity index 51%
copy from WebCore/kwq/WCPluginWidget.mm
copy to WebCore/src/kwq/WCJavaAppletWidget.mm
index f2ef8eb..d56692d 100644
--- a/WebCore/kwq/WCPluginWidget.mm
+++ b/WebCore/src/kwq/WCJavaAppletWidget.mm
@@ -24,60 +24,53 @@
  */
  
 #import <Foundation/Foundation.h>
-#import <WCPluginWidget.h>
+#import <WCJavaAppletWidget.h>
 #import <WCPluginDatabase.h>
+#import <WCPlugin.h>
 #import <KWQView.h>
+
 #include <kwqdebug.h>
+#include <WCPluginWidget.h>
 
 @interface IFPluginView : NSObject
-- initWithFrame: (NSRect) r widget: (QWidget *)w plugin: (WCPlugin *)plug url: (NSString *)location mime:(NSString *)mime arguments:(NSDictionary *)arguments;
+- initWithFrame: (NSRect) r plugin: (WCPlugin *)plug url: (NSString *)location mime:(NSString *)mime arguments:(NSDictionary *)arguments mode:(uint16)mode;
 @end
 
+WCIFPluginMakeFunc WCIFPluginMake;
 
-static WCIFPluginMakeFunc WCIFPluginMake = NULL;
-
-void WCSetIFPluginMakeFunc(WCIFPluginMakeFunc func)
-{
-    WCIFPluginMake = func;
-}
-
-
-WCPluginWidget::WCPluginWidget(QWidget *parent, const QString &url, const QString &serviceType, const QStringList &args)
+WCJavaAppletWidget::WCJavaAppletWidget(QMap<QString, QString> args)
 {
     NSMutableDictionary *arguments;
-    NSString *arg, *mimeType;
-    NSRange r1, r2, r3;
+    NSString *URL, *codebase, *code;
     WCPlugin *plugin;
-    uint i;
+    QMap<QString, QString>::Iterator it;
+
+    WCIFPluginMake = WCIFPluginMakeFunction();
+
+    plugin = [[WCPluginDatabase installedPlugins] getPluginForFilename:@"Java.plugin"];
+    if(plugin == nil){
+        printf("Could not find Java plugin!\n");
+        return;
+    }
     
     arguments = [NSMutableDictionary dictionaryWithCapacity:10];
-    for(i=0; i<args.count(); i++){
-    arg = QSTRING_TO_NSSTRING(args[i]);
-        r1 = [arg rangeOfString:@"="]; // parse out attributes and values
-        r2 = [arg rangeOfString:@"\""];
-        r3.location = r2.location + 1;
-        r3.length = [arg length] - r2.location - 2; // don't include quotes
-        [arguments setObject:[arg substringWithRange:r3] forKey:[arg substringToIndex:r1.location]];
-    }
-    if(serviceType.isNull()){
-        plugin = [[WCPluginDatabase installedPlugins] getPluginForURL:QSTRING_TO_NSSTRING(url)];
-        if(plugin != nil){
-            mimeType = [plugin mimeTypeForURL:QSTRING_TO_NSSTRING(url)];
+    for( it = args.begin(); it != args.end(); ++it ){
+        [arguments setObject:QSTRING_TO_NSSTRING(it.data()) forKey:QSTRING_TO_NSSTRING(it.key())];
+        if(it.key().contains("codebase", FALSE)){
+            codebase = QSTRING_TO_NSSTRING(it.data());
+            NSLog(codebase);
+        }
+        else if(it.key().contains("code", FALSE)){
+            code = QSTRING_TO_NSSTRING(it.data());
         }
-    }else{
-        plugin = [[WCPluginDatabase installedPlugins] getPluginForMimeType:QSTRING_TO_NSSTRING(serviceType)];
-        mimeType = QSTRING_TO_NSSTRING(serviceType);
-    }
-    if(plugin == nil){
-        //FIXME: Error dialog should be shown here
-        KWQDebug("Could not find plugin for mime: %s or URL: %s\n", serviceType.latin1(), url.latin1());
-        return;
     }
-    [plugin load];
-    setView(WCIFPluginMake(NSMakeRect(0,0,0,0), this, plugin, QSTRING_TO_NSSTRING(url), mimeType, arguments));
+    
+    URL = [codebase stringByAppendingPathComponent:code];
+    NSLog(URL);
+    setView(WCIFPluginMake(NSMakeRect(0,0,0,0), plugin, URL, @"application/x-java-applet", arguments, NP_EMBED));
 }
 
-WCPluginWidget::~WCPluginWidget()
+WCJavaAppletWidget::~WCJavaAppletWidget()
 {
 
 }
diff --git a/WebCore/src/kwq/WCPlugin.mm b/WebCore/src/kwq/WCPlugin.mm
index f8fda2c..3a3530b 100644
--- a/WebCore/src/kwq/WCPlugin.mm
+++ b/WebCore/src/kwq/WCPlugin.mm
@@ -84,7 +84,7 @@
 - (void)getPluginInfoForResourceFile:(SInt16)resRef
 {
     Str255 theString;
-    char temp[300], description[600]; // I wish I didn't have to use these C strings
+    char temp[255], description[255];
     NSMutableArray *mime; // mime is an array containing the mime type, extension(s) and descriptions for that mime type.
     NSString *tempString;
     uint n, i;
@@ -97,6 +97,11 @@
         if(!strcmp(temp, "")) break;
         mime = [NSMutableArray arrayWithCapacity:3];
         [mimeTypes insertObject:mime atIndex:i];
+        //FIXME: Because our JS engine poops on semi-colons, I'm removing ";version=1.3"
+        //Scott Adler is checking if semi-colons are allowed to be in mime-types
+        if(!strcmp(temp, "application/x-java-applet;version=1.3")){
+            strcpy(temp, "application/x-java-applet");
+        }
         tempString = [NSString stringWithCString:temp];
         [mime insertObject:tempString atIndex:0]; // mime type
         
diff --git a/WebCore/src/kwq/WCPluginDatabase.h b/WebCore/src/kwq/WCPluginDatabase.h
index a38d9f2..af546ac 100644
--- a/WebCore/src/kwq/WCPluginDatabase.h
+++ b/WebCore/src/kwq/WCPluginDatabase.h
@@ -32,7 +32,8 @@
 
 + (WCPluginDatabase *)installedPlugins;
 - (WCPlugin *)getPluginForMimeType:(NSString *)mimeType;
-- (WCPlugin *)getPluginForURL:(NSString *)URL;
+- (WCPlugin *)getPluginForExtension:(NSString *)extension;
+- (WCPlugin *)getPluginForFilename:(NSString *)filename;
 - (NSArray *) plugins;
 
 @end
diff --git a/WebCore/src/kwq/WCPluginDatabase.mm b/WebCore/src/kwq/WCPluginDatabase.mm
index 0fbb2fa..196e54b 100644
--- a/WebCore/src/kwq/WCPluginDatabase.mm
+++ b/WebCore/src/kwq/WCPluginDatabase.mm
@@ -30,8 +30,8 @@
 static WCPluginDatabase *__WCPluginDatabase = nil;
 
 
-+ (WCPluginDatabase *)installedPlugins {
-
++ (WCPluginDatabase *)installedPlugins 
+{
     if(!__WCPluginDatabase){
         __WCPluginDatabase  = [WCPluginDatabase alloc];
         __WCPluginDatabase->plugins = findPlugins();
@@ -40,7 +40,8 @@ static WCPluginDatabase *__WCPluginDatabase = nil;
 }
 
 // The first plugin with the specified mime type is returned. We may want to tie this to the defaults so that this is configurable.
-- (WCPlugin *)getPluginForMimeType:(NSString *)mimeType{
+- (WCPlugin *)getPluginForMimeType:(NSString *)mimeType
+{
     uint i, n;
     WCPlugin *plugin;
     NSArray *mimeArray;
@@ -57,14 +58,13 @@ static WCPluginDatabase *__WCPluginDatabase = nil;
     return nil;
 }
 
-- (WCPlugin *)getPluginForURL:(NSString *)URL{
+- (WCPlugin *)getPluginForExtension:(NSString *)extension
+{
     uint i, n;
     WCPlugin *plugin;
     NSArray *mimeArray;
     NSRange hasExtension;
-    NSString *extension;
-    
-    extension = [URL pathExtension];
+
     for(i=0; i<[plugins count]; i++){      
         plugin = [plugins objectAtIndex:i];
         mimeArray = [plugin mimeTypes];
@@ -78,9 +78,22 @@ static WCPluginDatabase *__WCPluginDatabase = nil;
     return nil;
 }
 
+- (WCPlugin *)getPluginForFilename:(NSString *)filename
+{
+    uint i;
+    WCPlugin *plugin;
+    
+    for(i=0; i<[plugins count]; i++){
+        plugin = [plugins objectAtIndex:i];
+        if([[plugin filename] isEqualToString:filename]){
+            return plugin;
+        }
+    }
+    return nil;
+}
 
-
-- (NSArray *) plugins{
+- (NSArray *) plugins
+{
     return plugins;
 }
 
@@ -119,6 +132,7 @@ NSArray *findPlugins(void){
             [plugin retain];
             [pluginArray addObject:plugin];
             KWQDebug("Found plugin: %s\n", [[plugin name] cString]);
+            KWQDebug("%s", [[plugin description] cString]);
         }
     }
     return [pluginArray retain];
diff --git a/WebCore/src/kwq/WCPluginWidget.h b/WebCore/src/kwq/WCPluginWidget.h
index 28f4700..f5a8eee 100644
--- a/WebCore/src/kwq/WCPluginWidget.h
+++ b/WebCore/src/kwq/WCPluginWidget.h
@@ -34,8 +34,7 @@
 #include "qstring.h"
 #import <WCPlugin.h>
 
-
-typedef id (*WCIFPluginMakeFunc)(NSRect rect, QWidget *widget, WCPlugin *plugin, NSString *url, NSString *mimeType, NSDictionary *arguments);
+typedef id (*WCIFPluginMakeFunc)(NSRect rect, WCPlugin *plugin, NSString *url, NSString *mimeType, NSDictionary *arguments, uint16 mode);
 void WCSetIFPluginMakeFunc(WCIFPluginMakeFunc func);
     
 // class WCPluginWidget ===============================================================
@@ -50,11 +49,12 @@ public:
     
     // constructors, copy constructors, and destructors ------------------------
 
-    WCPluginWidget(QWidget *parent=0, 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());
     ~WCPluginWidget();
 
     // member functions --------------------------------------------------------
     
+    
     // operators ---------------------------------------------------------------
 
 // protected -------------------------------------------------------------------
@@ -67,4 +67,6 @@ private:
 
 }; // class WCPluginWidget ============================================================
 
+void * WCIFPluginMakeFunction();
+
 #endif
diff --git a/WebCore/src/kwq/WCPluginWidget.mm b/WebCore/src/kwq/WCPluginWidget.mm
index f2ef8eb..995e63e 100644
--- a/WebCore/src/kwq/WCPluginWidget.mm
+++ b/WebCore/src/kwq/WCPluginWidget.mm
@@ -30,7 +30,7 @@
 #include <kwqdebug.h>
 
 @interface IFPluginView : NSObject
-- initWithFrame: (NSRect) r widget: (QWidget *)w plugin: (WCPlugin *)plug url: (NSString *)location mime:(NSString *)mime arguments:(NSDictionary *)arguments;
+- initWithFrame: (NSRect) r plugin: (WCPlugin *)plug url: (NSString *)location mime:(NSString *)mime arguments:(NSDictionary *)arguments mode:(uint16)mode;
 @end
 
 
@@ -42,14 +42,15 @@ void WCSetIFPluginMakeFunc(WCIFPluginMakeFunc func)
 }
 
 
-WCPluginWidget::WCPluginWidget(QWidget *parent, const QString &url, const QString &serviceType, const QStringList &args)
+WCPluginWidget::WCPluginWidget(const QString &url, const QString &serviceType, const QStringList &args)
 {
     NSMutableDictionary *arguments;
-    NSString *arg, *mimeType;
+    NSString *arg, *mimeType, *URL;
     NSRange r1, r2, r3;
     WCPlugin *plugin;
     uint i;
     
+    URL = QSTRING_TO_NSSTRING(url);
     arguments = [NSMutableDictionary dictionaryWithCapacity:10];
     for(i=0; i<args.count(); i++){
     arg = QSTRING_TO_NSSTRING(args[i]);
@@ -60,9 +61,9 @@ WCPluginWidget::WCPluginWidget(QWidget *parent, const QString &url, const QStrin
         [arguments setObject:[arg substringWithRange:r3] forKey:[arg substringToIndex:r1.location]];
     }
     if(serviceType.isNull()){
-        plugin = [[WCPluginDatabase installedPlugins] getPluginForURL:QSTRING_TO_NSSTRING(url)];
+        plugin = [[WCPluginDatabase installedPlugins] getPluginForExtension:[URL pathExtension]];
         if(plugin != nil){
-            mimeType = [plugin mimeTypeForURL:QSTRING_TO_NSSTRING(url)];
+            mimeType = [plugin mimeTypeForURL:URL];
         }
     }else{
         plugin = [[WCPluginDatabase installedPlugins] getPluginForMimeType:QSTRING_TO_NSSTRING(serviceType)];
@@ -70,11 +71,10 @@ WCPluginWidget::WCPluginWidget(QWidget *parent, const QString &url, const QStrin
     }
     if(plugin == nil){
         //FIXME: Error dialog should be shown here
-        KWQDebug("Could not find plugin for mime: %s or URL: %s\n", serviceType.latin1(), url.latin1());
+        printf("Could not find plugin for mime: %s or URL: %s\n", serviceType.latin1(), url.latin1());
         return;
     }
-    [plugin load];
-    setView(WCIFPluginMake(NSMakeRect(0,0,0,0), this, plugin, QSTRING_TO_NSSTRING(url), mimeType, arguments));
+    setView(WCIFPluginMake(NSMakeRect(0,0,0,0), plugin, URL, mimeType, arguments, NP_EMBED));
 }
 
 WCPluginWidget::~WCPluginWidget()
@@ -82,3 +82,10 @@ WCPluginWidget::~WCPluginWidget()
 
 }
 
+void * WCIFPluginMakeFunction()
+{
+    return WCIFPluginMake;
+}
+
+
+
diff --git a/WebKit/Plugins.subproj/IFPluginView.h b/WebKit/Plugins.subproj/IFPluginView.h
index 7a1a4de..cfb452e 100644
--- a/WebKit/Plugins.subproj/IFPluginView.h
+++ b/WebKit/Plugins.subproj/IFPluginView.h
@@ -31,7 +31,6 @@ typedef struct _StreamData{
 @end
 
 @interface IFPluginView : NSView {
-    QWidget *widget;
     WCPlugin *plugin;
     IFPluginViewNullEventSender *eventSender;
     
@@ -62,7 +61,7 @@ typedef struct _StreamData{
     NPP_SetValueProcPtr NPP_SetValue;
 }
 
-- initWithFrame: (NSRect) r widget: (QWidget *)w plugin: (WCPlugin *)plug url: (NSString *)location mime:(NSString *)mime arguments:(NSDictionary *)arguments;
+- initWithFrame:(NSRect) r plugin:(WCPlugin *)plug url:(NSString *)location mime:(NSString *)mime arguments:(NSDictionary *)arguments mode:(uint16)mode;
 -(void)drawRect:(NSRect)rect;
 -(void)setWindow;
 -(void)viewHasMoved:(NSNotification *)note;
diff --git a/WebKit/Plugins.subproj/IFPluginView.mm b/WebKit/Plugins.subproj/IFPluginView.mm
index 4954b9f..5270a59 100644
--- a/WebKit/Plugins.subproj/IFPluginView.mm
+++ b/WebKit/Plugins.subproj/IFPluginView.mm
@@ -62,9 +62,9 @@ extern "C" {
 
 @implementation IFPluginView
 
-static id IFPluginMake(NSRect rect, QWidget *widget, WCPlugin *plugin, NSString *url, NSString *mimeType, NSDictionary *arguments) 
+static id IFPluginMake(NSRect rect, WCPlugin *plugin, NSString *url, NSString *mimeType, NSDictionary *arguments, uint16 mode) 
 {
-    return [[[IFPluginView alloc] initWithFrame:rect widget:widget plugin:plugin url:url mime:mimeType arguments:arguments] autorelease];
+    return [[[IFPluginView alloc] initWithFrame:rect plugin:plugin url:url mime:mimeType arguments:arguments mode:mode] autorelease];
 }
 
 +(void) load
@@ -72,7 +72,7 @@ static id IFPluginMake(NSRect rect, QWidget *widget, WCPlugin *plugin, NSString
     WCSetIFPluginMakeFunc(IFPluginMake);
 }
 
-- initWithFrame: (NSRect) r widget: (QWidget *)w plugin: (WCPlugin *)plug url: (NSString *)location mime:(NSString *)mimeType  arguments:(NSDictionary *)arguments
+- initWithFrame:(NSRect)r plugin:(WCPlugin *)plug url:(NSString *)location mime:(NSString *)mimeType arguments:(NSDictionary *)arguments mode:(uint16)mode
 {
     NPError npErr;
     char *cMime, *s;
@@ -93,6 +93,8 @@ static id IFPluginMake(NSRect rect, QWidget *widget, WCPlugin *plugin, NSString
     [URL retain];
     [plugin retain];
     
+    [plugin load];
+    
     NPP_New = 		[plugin NPP_New]; // copy function pointers
     NPP_Destroy = 	[plugin NPP_Destroy];
     NPP_SetWindow = 	[plugin NPP_SetWindow];
@@ -125,7 +127,7 @@ static id IFPluginMake(NSRect rect, QWidget *widget, WCPlugin *plugin, NSString
     }
     cMime = malloc([mime length]+1);
     [mime getCString:cMime];
-    npErr = NPP_New(cMime, instance, NP_EMBED, [arguments count], cAttributes, cValues, &saved);
+    npErr = NPP_New(cMime, instance, mode, [arguments count], cAttributes, cValues, &saved);
     KWQDebug("NPP_New: %d\n", npErr);
     
     if([attributes containsObject:@"HIDDEN"]){
diff --git a/WebKit/Plugins.subproj/WebPluginView.h b/WebKit/Plugins.subproj/WebPluginView.h
index 7a1a4de..cfb452e 100644
--- a/WebKit/Plugins.subproj/WebPluginView.h
+++ b/WebKit/Plugins.subproj/WebPluginView.h
@@ -31,7 +31,6 @@ typedef struct _StreamData{
 @end
 
 @interface IFPluginView : NSView {
-    QWidget *widget;
     WCPlugin *plugin;
     IFPluginViewNullEventSender *eventSender;
     
@@ -62,7 +61,7 @@ typedef struct _StreamData{
     NPP_SetValueProcPtr NPP_SetValue;
 }
 
-- initWithFrame: (NSRect) r widget: (QWidget *)w plugin: (WCPlugin *)plug url: (NSString *)location mime:(NSString *)mime arguments:(NSDictionary *)arguments;
+- initWithFrame:(NSRect) r plugin:(WCPlugin *)plug url:(NSString *)location mime:(NSString *)mime arguments:(NSDictionary *)arguments mode:(uint16)mode;
 -(void)drawRect:(NSRect)rect;
 -(void)setWindow;
 -(void)viewHasMoved:(NSNotification *)note;
diff --git a/WebKit/Plugins.subproj/WebPluginView.m b/WebKit/Plugins.subproj/WebPluginView.m
index 4954b9f..5270a59 100644
--- a/WebKit/Plugins.subproj/WebPluginView.m
+++ b/WebKit/Plugins.subproj/WebPluginView.m
@@ -62,9 +62,9 @@ extern "C" {
 
 @implementation IFPluginView
 
-static id IFPluginMake(NSRect rect, QWidget *widget, WCPlugin *plugin, NSString *url, NSString *mimeType, NSDictionary *arguments) 
+static id IFPluginMake(NSRect rect, WCPlugin *plugin, NSString *url, NSString *mimeType, NSDictionary *arguments, uint16 mode) 
 {
-    return [[[IFPluginView alloc] initWithFrame:rect widget:widget plugin:plugin url:url mime:mimeType arguments:arguments] autorelease];
+    return [[[IFPluginView alloc] initWithFrame:rect plugin:plugin url:url mime:mimeType arguments:arguments mode:mode] autorelease];
 }
 
 +(void) load
@@ -72,7 +72,7 @@ static id IFPluginMake(NSRect rect, QWidget *widget, WCPlugin *plugin, NSString
     WCSetIFPluginMakeFunc(IFPluginMake);
 }
 
-- initWithFrame: (NSRect) r widget: (QWidget *)w plugin: (WCPlugin *)plug url: (NSString *)location mime:(NSString *)mimeType  arguments:(NSDictionary *)arguments
+- initWithFrame:(NSRect)r plugin:(WCPlugin *)plug url:(NSString *)location mime:(NSString *)mimeType arguments:(NSDictionary *)arguments mode:(uint16)mode
 {
     NPError npErr;
     char *cMime, *s;
@@ -93,6 +93,8 @@ static id IFPluginMake(NSRect rect, QWidget *widget, WCPlugin *plugin, NSString
     [URL retain];
     [plugin retain];
     
+    [plugin load];
+    
     NPP_New = 		[plugin NPP_New]; // copy function pointers
     NPP_Destroy = 	[plugin NPP_Destroy];
     NPP_SetWindow = 	[plugin NPP_SetWindow];
@@ -125,7 +127,7 @@ static id IFPluginMake(NSRect rect, QWidget *widget, WCPlugin *plugin, NSString
     }
     cMime = malloc([mime length]+1);
     [mime getCString:cMime];
-    npErr = NPP_New(cMime, instance, NP_EMBED, [arguments count], cAttributes, cValues, &saved);
+    npErr = NPP_New(cMime, instance, mode, [arguments count], cAttributes, cValues, &saved);
     KWQDebug("NPP_New: %d\n", npErr);
     
     if([attributes containsObject:@"HIDDEN"]){

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list