[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:43:20 UTC 2009


The following commit has been merged in the debian/unstable branch:
commit 72717fb0be32ccff8ed804717dec22899c75b4be
Author: cblu <cblu at 268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Wed May 28 20:52:27 2003 +0000

    	Fixed: 3270576 - RealPlayer plug-in fails to load
    
            Reviewed by darin.
    
            * Plugins.subproj/WebNetscapePluginPackage.m:
            (-[WebNetscapePluginPackage launchRealPlayer]): new
            (-[WebNetscapePluginPackage load]): call launchRealPlayer to regenerate its broken plist file
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@4441 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebKit/ChangeLog b/WebKit/ChangeLog
index 663ce76..f2dfce8 100644
--- a/WebKit/ChangeLog
+++ b/WebKit/ChangeLog
@@ -1,3 +1,13 @@
+2003-05-28  Chris Blumenberg  <cblu at apple.com>
+
+	Fixed: 3270576 - RealPlayer plug-in fails to load
+
+        Reviewed by darin.
+
+        * Plugins.subproj/WebNetscapePluginPackage.m:
+        (-[WebNetscapePluginPackage launchRealPlayer]): new
+        (-[WebNetscapePluginPackage load]): call launchRealPlayer to regenerate its broken plist file
+
 2003-05-28  Richard Williamson   <rjw at apple.com>
 
 	Fixed 3165631 (and other similar).
diff --git a/WebKit/Plugins.subproj/WebNetscapePluginPackage.m b/WebKit/Plugins.subproj/WebNetscapePluginPackage.m
index 3e9ee50..9538c4d 100644
--- a/WebKit/Plugins.subproj/WebNetscapePluginPackage.m
+++ b/WebKit/Plugins.subproj/WebNetscapePluginPackage.m
@@ -26,6 +26,9 @@ static TransitionVector tVectorForFunctionPointer(FunctionPointer);
 #define MIMEDescriptionStringNumber		127
 #define MIMEListStringStringNumber 		128
 
+#define RealPlayerAppIndentifier		@"com.RealNetworks.RealOne Player"
+#define RealPlayerPluginFilename		@"RealPlayer Plugin"
+
 @implementation WebNetscapePluginPackage
 
 + (void)initialize
@@ -326,6 +329,22 @@ static TransitionVector tVectorForFunctionPointer(FunctionPointer);
     isLoaded = NO;
 }
 
+
+- (void)launchRealPlayer
+{
+    CFURLRef appURL = NULL;
+    OSStatus error = LSFindApplicationForInfo(kLSUnknownCreator, (CFStringRef)RealPlayerAppIndentifier, NULL, NULL, &appURL);
+    if (!error) {
+        LSLaunchURLSpec URLSpec;
+        bzero(&URLSpec, sizeof(URLSpec));
+        URLSpec.launchFlags = kLSLaunchDefaults | kLSLaunchDontSwitch;
+        URLSpec.appURL = appURL;
+        error = LSOpenFromURLSpec(&URLSpec, NULL);
+    }
+
+    CFRelease(appURL);
+}
+
 - (BOOL)load
 {    
     NP_GetEntryPointsFuncPtr NP_GetEntryPoints = NULL;
@@ -441,7 +460,12 @@ static TransitionVector tVectorForFunctionPointer(FunctionPointer);
 #endif
         LOG(Plugins, "%f main timing started", mainStart);
         npErr = pluginMainFunc(&browserFuncs, &pluginFuncs, &NPP_Shutdown);
+        // Workaround for 3270576. The RealPlayer plug-in fails to load if its preference file is out of date.
+        // Launch the RealPlayer application to refresh the file.
         if (npErr != NPERR_NO_ERROR) {
+            if (npErr == NPERR_MODULE_LOAD_FAILED_ERROR && [[self filename] isEqualToString:RealPlayerPluginFilename]) {
+                [self launchRealPlayer];
+            }
             goto abort;
         }
 #if !LOG_DISABLED

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list