Bug 545716 - Use out-of-process-plugins (OOPP) framework in SeaMonkey, r=Callek
--- 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