Bug 545716 - Use out-of-process-plugins (OOPP) framework in SeaMonkey, r=Callek
authorRobert Kaiser <kairo@kairo.at>
Thu, 23 Sep 2010 02:58:32 +0200
changeset 6398 9779b9a7650c3abaf3a76faa841f51b6b2e750a6
parent 6397 9f57d359479c94a1378d77eddfa328556928abec
child 6399 2caef1a3842347770b03998cfcf6587211ccff3e
push idunknown
push userunknown
push dateunknown
reviewersCallek
bugs545716
Bug 545716 - Use out-of-process-plugins (OOPP) framework in SeaMonkey, r=Callek
suite/browser/browser-prefs.js
suite/confvars.sh
suite/installer/Makefile.in
suite/installer/package-manifest.in
--- a/suite/browser/browser-prefs.js
+++ b/suite/browser/browser-prefs.js
@@ -601,20 +601,31 @@ pref("bidi.browser.ui", false);
 pref("dom.disable_open_during_load",   true);
 // prevent JS from moving/resizing existing windows
 pref("dom.disable_window_move_resize", true);
 // prevent JS from raising or lowering windows
 pref("dom.disable_window_flip",        true);
 // prevent JS from disabling or replacing context menus
 pref("dom.event.contextmenu.enabled",  true);
 
-#ifndef MOZ_IPC
+// The default for this pref reflects whether the build is capable of IPC.
+// (Turning it on in a no-IPC build will have no effect.)
+#ifdef XP_MACOSX
+// OSX still has only partial support for IPC.  Note that the PowerPC
+// and x86 builds must generate identical copies of this file, so we
+// can't make the prefs indicate that IPC is not available at all in
+// PowerPC builds.
 pref("dom.ipc.plugins.enabled", false);
+// These plug-ins will run OOP by default
+pref("dom.ipc.plugins.enabled.flash player.plugin", true);
+pref("dom.ipc.plugins.enabled.javaplugin2_npapi.plugin", true);
+#elifdef MOZ_IPC
+pref("dom.ipc.plugins.enabled", true);
 #else
-pref("dom.ipc.plugins.enabled", true);
+pref("dom.ipc.plugins.enabled", false);
 #endif
 
 // plugin finder service url
 pref("pfs.datasource.url", "https://pfs.mozilla.org/plugins/PluginFinderService.php?mimetype=%PLUGIN_MIMETYPE%&appID=%APP_ID%&appVersion=%APP_VERSION%&clientOS=%CLIENT_OS%&chromeLocale=%CHROME_LOCALE%");
 pref("plugins.hide_infobar_for_missing_plugin", false);
 
 #ifdef XP_MACOSX
 // determines the behavior upon starting a download.
--- a/suite/confvars.sh
+++ b/suite/confvars.sh
@@ -50,16 +50,13 @@ SEAMONKEY_VERSION=$MOZ_APP_VERSION
 MOZ_BRANDING_DIRECTORY=suite/branding/nightly
 MOZ_OFFICIAL_BRANDING_DIRECTORY=suite/branding/nightly
 MOZ_EXTENSIONS_DEFAULT=" venkman inspector irc gnomevfs"
 MOZ_UPDATER=1
 MOZ_HELP_VIEWER=1
 MOZ_TOOLKIT_SEARCH=
 MOZ_MORK=1
 MOZ_STATIC_BUILD_UNSUPPORTED=1
-# Until we can build with libxul, we can't have ipc either. (Bug 531292)
-MOZ_IPC=
-
 # XXX This currently specifies mork due to an error in the core build
 # config. Bug 598613 will fix this.
 MOZ_APP_COMPONENT_LIBS="mail msgsmime import xpautocomplete mork $LDAP_COMPONENT"
 MOZ_APP_EXTRA_LIBS="$LDAP_LIBS"
 MOZ_APP_COMPONENT_INCLUDE=nsSuiteComponents.h
--- a/suite/installer/Makefile.in
+++ b/suite/installer/Makefile.in
@@ -102,16 +102,20 @@ endif
 ifneq (en-US, $(AB_CD))
 DEFINES += -DLOCALE_BUILD=1
 endif
 
 ifeq (,$(filter-out WINNT OS2,$(OS_ARCH)))
 DEFINES += -DWIN_OR_OS2=1
 endif
 
+# Don't ifdef MOZ_IPC this because mac ppc needs it too.
+include $(MOZILLA_SRCDIR)/ipc/app/defs.mk
+DEFINES += -DMOZ_CHILD_PROCESS_NAME=$(MOZ_CHILD_PROCESS_NAME)
+
 ifdef MOZ_PKG_MANIFEST_P
 MOZ_PKG_MANIFEST = package-manifest
 
 $(MOZ_PKG_MANIFEST): $(MOZ_PKG_MANIFEST_P)
 	$(PYTHON) $(MOZILLA_SRCDIR)/config/Preprocessor.py $(DEFINES) $(ACDEFINES) $< > $@
 
 GARBAGE += $(MOZ_PKG_MANIFEST)
 endif
--- a/suite/installer/package-manifest.in
+++ b/suite/installer/package-manifest.in
@@ -42,29 +42,33 @@
 #ifdef XP_WIN32
 #ifndef WINCE
 @BINPATH@/uninstall/helper.exe
 #endif
 #endif
 
 [xpcom]
 @BINPATH@/dependentlibs.list
-#ifdef MOZ_IPC
-@BINPATH@/mozilla-runtime@BIN_SUFFIX@
-#endif
 @BINPATH@/@DLL_PREFIX@mozjs@DLL_SUFFIX@
 @BINPATH@/@DLL_PREFIX@plc4@DLL_SUFFIX@
 @BINPATH@/@DLL_PREFIX@plds4@DLL_SUFFIX@
 @BINPATH@/@DLL_PREFIX@xpcom@DLL_SUFFIX@
 @BINPATH@/@DLL_PREFIX@nspr4@DLL_SUFFIX@
 #ifdef XP_MACOSX
 @BINPATH@/XUL
 #else
 @BINPATH@/@DLL_PREFIX@xul@DLL_SUFFIX@
 #endif
+#ifdef MOZ_IPC
+#ifdef XP_MACOSX
+@BINPATH@/@MOZ_CHILD_PROCESS_NAME@.app/
+#else
+@BINPATH@/@MOZ_CHILD_PROCESS_NAME@
+#endif
+#endif
 #ifdef WINCE
 @BINPATH@/mozce_shunt.dll
 #elifdef XP_WIN32
 #ifndef MOZ_MEMORY
 @BINPATH@/Microsoft.VC80.CRT.manifest
 @BINPATH@/msvcm80.dll
 @BINPATH@/msvcp80.dll
 @BINPATH@/msvcr80.dll
@@ -184,16 +188,17 @@
 @BINPATH@/components/gfx.xpt
 @BINPATH@/components/htmlparser.xpt
 @BINPATH@/components/imgicon.xpt
 @BINPATH@/components/imglib2.xpt
 @BINPATH@/components/inspector.xpt
 @BINPATH@/components/interfaces.manifest
 @BINPATH@/components/intl.xpt
 @BINPATH@/components/jar.xpt
+@BINPATH@/components/jetpack.xpt
 @BINPATH@/components/jsdservice.xpt
 @BINPATH@/components/layout_base.xpt
 @BINPATH@/components/layout_forms.xpt
 #ifdef NS_PRINTING
 @BINPATH@/components/layout_printing.xpt
 #endif
 @BINPATH@/components/layout_xul_tree.xpt
 @BINPATH@/components/layout_xul.xpt