[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 07:44:23 UTC 2009


The following commit has been merged in the debian/unstable branch:
commit d035bc0469f12dde95ab75854085e35415753875
Author: cblu <cblu at 268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Fri Jun 6 22:53:05 2003 +0000

    	Fixed: <rdar://problem/3282881>: Java plugin fails in carbon WebKit apps
    
            Fixed by Mike Hay, reviewed by me.
    
            * Plugins.subproj/WebPluginDatabase.m:
            (-[WebPluginDatabase initIsCocoa]):
            (-[WebPluginDatabase isCocoa]):
            (-[WebPluginDatabase pluginForKey:withEnumeratorSelector:]): don't load cocoa plug-ins if isCocoa.
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@4493 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebKit/ChangeLog b/WebKit/ChangeLog
index de84118..0b7697e 100644
--- a/WebKit/ChangeLog
+++ b/WebKit/ChangeLog
@@ -1,3 +1,15 @@
+2003-06-06  Chris Blumenberg  <cblu at apple.com>
+
+	Fixed: <rdar://problem/3282881>: Java plugin fails in carbon WebKit apps
+
+        Fixed by Mike Hay, reviewed by me.
+
+        * Plugins.subproj/WebPluginDatabase.m:
+        (-[WebPluginDatabase initIsCocoa]):
+        (-[WebPluginDatabase isCocoa]):
+        (-[WebPluginDatabase pluginForKey:withEnumeratorSelector:]): don't load cocoa plug-ins if isCocoa.
+
+
 2003-06-05  John Sullivan  <sullivan at apple.com>
 
 	- fixed 3266216 -- repro crash in 
diff --git a/WebKit/Plugins.subproj/WebPluginDatabase.m b/WebKit/Plugins.subproj/WebPluginDatabase.m
index 9432031..b267cca 100644
--- a/WebKit/Plugins.subproj/WebPluginDatabase.m
+++ b/WebKit/Plugins.subproj/WebPluginDatabase.m
@@ -15,6 +15,7 @@
 #import <WebKit/WebPluginDatabase.h>
 #import <WebKit/WebPluginPackage.h>
 
+#import <CoreGraphics/CPSProcesses.h>
 
 @implementation WebPluginDatabase
 
@@ -28,6 +29,30 @@ static WebPluginDatabase *database = nil;
     return database;
 }
 
+static BOOL sIsCocoaIsValid = FALSE;
+static BOOL sIsCocoa = FALSE;
+
+- (void)initIsCocoa
+{
+    const CPSProcessSerNum thisProcess = { 0, kCPSCurrentProcess };
+    
+    CPSProcessInfoRec *info = (CPSProcessInfoRec *) malloc(sizeof(CPSProcessInfoRec));
+    CPSGetProcessInfo((const CPSProcessSerNum*)&thisProcess, info, NULL, 0, NULL, NULL, 0);
+    
+    sIsCocoa = (info != NULL && info->Flavour == kCPSCocoaApp);
+    sIsCocoaIsValid = TRUE;
+    
+    free(info);
+}
+
+- (BOOL)isCocoa
+{
+    if (!sIsCocoaIsValid) {
+        [self initIsCocoa];
+    }
+    return sIsCocoa;
+}
+
 - (WebBasePluginPackage *)pluginForKey:(NSString *)key withEnumeratorSelector:(SEL)enumeratorSelector
 {
     WebBasePluginPackage *plugin, *CFMPlugin=nil, *machoPlugin=nil, *webPlugin=nil;
@@ -62,7 +87,7 @@ static WebPluginDatabase *database = nil;
         }
     }
     
-    if(webPlugin){
+    if(webPlugin && [self isCocoa]){
         return webPlugin;
     }else if(machoPlugin){
         return machoPlugin;

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list