From 959ea8bc3efeb61c39c7e84ae818b3b4d2fdf8a7 Mon Sep 17 00:00:00 2001 From: Kyle Huey Date: Thu, 31 Mar 2011 09:11:21 -0400 Subject: [PATCH] Backed out changeset a5dbece71e4a due to test failures --- browser/app/profile/firefox.js | 4 +- browser/installer/Makefile.in | 1 + browser/installer/package-manifest.in | 2 + chrome/src/Makefile.in | 5 +- chrome/src/nsChromeRegistry.cpp | 4 + chrome/src/nsChromeRegistryChrome.cpp | 4 + chrome/src/nsChromeRegistryChrome.h | 4 + chrome/test/Makefile.in | 2 + config/autoconf.mk.in | 1 + configure.in | 16 ++++ content/base/src/Makefile.in | 5 ++ content/base/src/nsDocument.cpp | 2 + content/base/src/nsFrameLoader.cpp | 80 ++++++++++++++++++- content/base/src/nsFrameLoader.h | 12 +++ content/base/src/nsFrameMessageManager.cpp | 13 +++ content/canvas/src/Makefile.in | 5 ++ .../canvas/src/nsCanvasRenderingContext2D.cpp | 17 ++++ content/events/src/nsDOMEvent.cpp | 8 ++ content/events/src/nsDOMNotifyPaintEvent.cpp | 4 + content/events/src/nsDOMNotifyPaintEvent.h | 2 + content/events/src/nsDOMScrollAreaEvent.cpp | 4 + content/events/src/nsDOMScrollAreaEvent.h | 2 + content/events/src/nsDOMUIEvent.cpp | 4 + content/events/src/nsDOMUIEvent.h | 2 + content/events/src/nsEventStateManager.cpp | 14 ++++ content/events/src/nsEventStateManager.h | 2 + content/html/content/src/Makefile.in | 7 +- .../html/content/src/nsHTMLCanvasElement.cpp | 4 + .../html/content/src/nsHTMLDNSPrefetch.cpp | 8 ++ content/html/content/src/nsHTMLDNSPrefetch.h | 2 + content/media/nsAudioStream.cpp | 10 ++- content/media/nsAudioStream.h | 7 +- docshell/base/IHistory.h | 2 +- docshell/base/nsDocShell.cpp | 6 ++ dom/Makefile.in | 5 ++ dom/base/Makefile.in | 13 ++- dom/base/nsGlobalWindow.cpp | 2 + dom/plugins/Makefile.in | 3 + dom/src/geolocation/Makefile.in | 2 + dom/src/geolocation/nsGeolocation.cpp | 10 +++ dom/src/geolocation/nsGeolocation.h | 8 ++ .../notification/nsDesktopNotification.cpp | 4 + dom/src/notification/nsDesktopNotification.h | 12 ++- dom/src/offline/nsDOMOfflineResourceList.cpp | 5 ++ dom/src/storage/Makefile.in | 2 + dom/src/storage/nsDOMStorage.cpp | 13 ++- embedding/browser/webBrowser/nsWebBrowser.cpp | 5 +- extensions/cookie/nsPermissionManager.cpp | 26 ++++++ extensions/cookie/nsPermissionManager.h | 2 + extensions/cookie/test/Makefile.in | 2 + gfx/Makefile.in | 6 +- gfx/ipc/Makefile.in | 4 + gfx/layers/Layers.cpp | 21 ++++- gfx/layers/Makefile.in | 10 ++- gfx/layers/basic/BasicLayers.cpp | 15 ++-- gfx/layers/basic/BasicLayers.h | 8 ++ gfx/layers/opengl/CanvasLayerOGL.cpp | 6 ++ gfx/layers/opengl/CanvasLayerOGL.h | 4 + gfx/layers/opengl/ColorLayerOGL.cpp | 2 + gfx/layers/opengl/ColorLayerOGL.h | 4 + gfx/layers/opengl/ContainerLayerOGL.cpp | 4 + gfx/layers/opengl/ContainerLayerOGL.h | 4 + gfx/layers/opengl/ImageLayerOGL.cpp | 6 ++ gfx/layers/opengl/ImageLayerOGL.h | 4 + gfx/layers/opengl/LayerManagerOGL.cpp | 18 +++++ gfx/layers/opengl/LayerManagerOGL.h | 6 ++ gfx/layers/opengl/ThebesLayerOGL.cpp | 6 ++ gfx/layers/opengl/ThebesLayerOGL.h | 8 +- gfx/thebes/Makefile.in | 12 ++- gfx/thebes/gfxAndroidPlatform.cpp | 4 + ipc/chromium/chromium-config.mk | 3 + js/src/xpconnect/shell/xpcshell.cpp | 8 ++ layout/Makefile.in | 5 +- layout/base/Makefile.in | 2 + layout/base/nsDisplayList.cpp | 4 + layout/base/nsDisplayList.h | 2 + layout/build/Makefile.in | 10 ++- layout/build/nsLayoutModule.cpp | 2 + layout/generic/nsObjectFrame.cpp | 6 ++ layout/generic/nsSubDocumentFrame.cpp | 4 + modules/libpref/src/nsPrefBranch.cpp | 26 ++++++ modules/libpref/src/nsPrefService.cpp | 14 ++++ modules/libpref/test/Makefile.in | 2 + modules/plugin/base/src/Makefile.in | 2 + modules/plugin/base/src/nsJSNPRuntime.cpp | 10 +++ modules/plugin/base/src/nsNPAPIPlugin.cpp | 12 +++ modules/plugin/base/src/nsNPAPIPlugin.h | 2 + modules/plugin/base/src/nsPluginHost.cpp | 6 ++ modules/plugin/base/src/nsPluginHost.h | 2 + .../base/src/nsPluginNativeWindowWin.cpp | 4 + .../plugin/base/src/nsPluginsDirDarwin.cpp | 6 ++ netwerk/Makefile.in | 14 +++- netwerk/base/public/Makefile.in | 8 +- netwerk/base/public/nsNetUtil.h | 4 + netwerk/base/src/Makefile.in | 9 ++- netwerk/base/src/nsBufferedStreams.cpp | 8 ++ netwerk/base/src/nsFileStreams.cpp | 8 ++ netwerk/base/src/nsIOService.cpp | 4 + netwerk/base/src/nsMIMEInputStream.cpp | 8 ++ netwerk/base/src/nsSimpleNestedURI.cpp | 7 ++ netwerk/base/src/nsSimpleURI.cpp | 8 ++ netwerk/base/src/nsStandardURL.cpp | 10 +++ netwerk/base/src/nsStandardURL.h | 2 + netwerk/build/Makefile.in | 5 +- netwerk/build/nsNetModule.cpp | 10 +++ netwerk/cache/nsCacheService.cpp | 4 + netwerk/cookie/Makefile.in | 2 + netwerk/cookie/nsCookieService.cpp | 6 ++ netwerk/cookie/nsCookieService.h | 4 + .../protocol/about/nsAboutProtocolHandler.cpp | 7 ++ netwerk/protocol/ftp/Makefile.in | 7 ++ netwerk/protocol/ftp/nsFtpProtocolHandler.cpp | 6 ++ netwerk/protocol/http/HttpBaseChannel.cpp | 4 + netwerk/protocol/http/Makefile.in | 7 ++ netwerk/protocol/http/nsHttp.h | 2 + netwerk/protocol/http/nsHttpChannel.cpp | 2 + netwerk/protocol/http/nsHttpHandler.cpp | 16 +++- netwerk/protocol/http/nsHttpResponseHead.h | 2 + netwerk/protocol/http/nsHttpTransaction.cpp | 2 + netwerk/protocol/res/nsResProtocolHandler.cpp | 4 + netwerk/protocol/res/nsResProtocolHandler.h | 2 + netwerk/protocol/wyciwyg/Makefile.in | 13 ++- netwerk/protocol/wyciwyg/nsWyciwyg.h | 2 + netwerk/protocol/wyciwyg/nsWyciwygChannel.cpp | 8 ++ .../wyciwyg/nsWyciwygProtocolHandler.cpp | 8 ++ netwerk/test/Makefile.in | 2 + security/manager/ssl/src/Makefile.in | 5 +- security/manager/ssl/src/nsNSSCertificate.cpp | 10 ++- security/manager/ssl/src/nsNSSComponent.cpp | 4 + security/manager/ssl/src/nsNSSIOLayer.cpp | 2 + security/manager/ssl/src/nsNSSModule.cpp | 9 +++ .../components/contentprefs/tests/Makefile.in | 2 + .../places/tests/cpp/test_IHistory.cpp | 4 + toolkit/crashreporter/nsExceptionHandler.cpp | 31 +++++-- toolkit/crashreporter/nsExceptionHandler.h | 4 + toolkit/library/dlldeps-xul.cpp | 2 + toolkit/library/libxul-config.mk | 12 ++- toolkit/library/nsStaticXULComponents.cpp | 2 +- toolkit/mozapps/installer/packager.mk | 2 + toolkit/toolkit-tiers.mk | 2 + toolkit/xre/nsAppRunner.cpp | 17 ++++ toolkit/xre/nsAppRunner.h | 2 + toolkit/xre/nsEmbedFunctions.cpp | 8 ++ toolkit/xre/nsSigHandlers.cpp | 10 ++- toolkit/xre/nsX11ErrorHandler.cpp | 4 + uriloader/exthandler/Makefile.in | 10 ++- .../exthandler/nsExternalHelperAppService.cpp | 15 +++- uriloader/exthandler/tests/Makefile.in | 2 + uriloader/prefetch/Makefile.in | 10 ++- .../prefetch/OfflineCacheUpdateChild.cpp | 2 + uriloader/prefetch/nsOfflineCacheUpdate.cpp | 4 + .../prefetch/nsOfflineCacheUpdateService.cpp | 9 ++- widget/public/nsGUIEvent.h | 16 ++++ widget/public/nsIWidget.h | 10 +++ widget/src/android/AndroidBridge.cpp | 2 + widget/src/android/nsWidgetFactory.cpp | 16 ++-- widget/src/android/nsWindow.cpp | 8 ++ widget/src/gtk2/nsWindow.h | 4 +- widget/src/qt/nsWidgetFactory.cpp | 4 + widget/src/shared/nsShmImage.h | 4 +- widget/src/windows/Makefile.in | 2 + widget/src/windows/nsWindow.cpp | 18 +++++ widget/src/windows/nsWindow.h | 4 + widget/src/windows/nsWindowGfx.cpp | 6 ++ widget/src/xpwidgets/Makefile.in | 7 ++ widget/src/xpwidgets/nsBaseAppShell.cpp | 9 +++ widget/src/xpwidgets/nsBaseWidget.cpp | 4 + xpcom/base/nsTraceRefcntImpl.cpp | 8 ++ xpcom/build/nsXPComInit.cpp | 10 +++ xpcom/components/ManifestParser.cpp | 2 + xpcom/io/nsMultiplexInputStream.cpp | 8 ++ xpcom/io/nsStringStream.cpp | 8 ++ xpcom/threads/nsThread.cpp | 6 +- 173 files changed, 1151 insertions(+), 67 deletions(-) diff --git a/browser/app/profile/firefox.js b/browser/app/profile/firefox.js index 7cdde5cc8f31..77c305bc6f99 100644 --- a/browser/app/profile/firefox.js +++ b/browser/app/profile/firefox.js @@ -948,8 +948,10 @@ pref("dom.ipc.plugins.enabled.i386.flash player.plugin", true); pref("dom.ipc.plugins.enabled.i386.javaplugin2_npapi.plugin", true); // x86_64 ipc preferences pref("dom.ipc.plugins.enabled.x86_64", true); -#else +#elifdef MOZ_IPC pref("dom.ipc.plugins.enabled", true); +#else +pref("dom.ipc.plugins.enabled", false); #endif #ifdef XP_WIN diff --git a/browser/installer/Makefile.in b/browser/installer/Makefile.in index acea03715aa5..376e3e04a086 100644 --- a/browser/installer/Makefile.in +++ b/browser/installer/Makefile.in @@ -94,6 +94,7 @@ DEFINES += -DMOZ_D3DX9_DLL=$(MOZ_D3DX9_DLL) DEFINES += -DMOZ_D3DCOMPILER_DLL=$(MOZ_D3DCOMPILER_DLL) endif +# Don't ifdef MOZ_IPC this because mac ppc needs it too. include $(topsrcdir)/ipc/app/defs.mk DEFINES += -DMOZ_CHILD_PROCESS_NAME=$(MOZ_CHILD_PROCESS_NAME) diff --git a/browser/installer/package-manifest.in b/browser/installer/package-manifest.in index 769bdac37db9..91d9b44b780b 100644 --- a/browser/installer/package-manifest.in +++ b/browser/installer/package-manifest.in @@ -51,11 +51,13 @@ #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 diff --git a/chrome/src/Makefile.in b/chrome/src/Makefile.in index b1b0d1a7fd8c..8d6426641c4c 100644 --- a/chrome/src/Makefile.in +++ b/chrome/src/Makefile.in @@ -58,9 +58,12 @@ CPPSRCS = \ nsChromeRegistry.cpp \ nsChromeRegistryChrome.cpp \ nsChromeProtocolHandler.cpp \ - nsChromeRegistryContent.cpp \ $(NULL) +ifdef MOZ_IPC +CPPSRCS += nsChromeRegistryContent.cpp +endif + EXTRA_DSO_LDOPTS = \ $(MOZ_UNICHARUTIL_LIBS) \ $(MOZ_COMPONENT_LIBS) \ diff --git a/chrome/src/nsChromeRegistry.cpp b/chrome/src/nsChromeRegistry.cpp index 254253ed558d..76f9da9b36ae 100644 --- a/chrome/src/nsChromeRegistry.cpp +++ b/chrome/src/nsChromeRegistry.cpp @@ -41,7 +41,9 @@ #include "nsChromeRegistry.h" #include "nsChromeRegistryChrome.h" +#ifdef MOZ_IPC #include "nsChromeRegistryContent.h" +#endif #include @@ -675,9 +677,11 @@ nsChromeRegistry::GetSingleton() } nsRefPtr cr; +#ifdef MOZ_IPC if (GeckoProcessType_Content == XRE_GetProcessType()) cr = new nsChromeRegistryContent(); else +#endif cr = new nsChromeRegistryChrome(); if (NS_FAILED(cr->Init())) diff --git a/chrome/src/nsChromeRegistryChrome.cpp b/chrome/src/nsChromeRegistryChrome.cpp index d98ac7b96bdd..bc6dc60c3412 100644 --- a/chrome/src/nsChromeRegistryChrome.cpp +++ b/chrome/src/nsChromeRegistryChrome.cpp @@ -36,9 +36,11 @@ * * ***** END LICENSE BLOCK ***** */ +#ifdef MOZ_IPC #include "mozilla/dom/PContentParent.h" #include "RegistryMessageUtils.h" #include "nsResProtocolHandler.h" +#endif #include "nsChromeRegistryChrome.h" @@ -441,6 +443,7 @@ void nsChromeRegistryChrome::UpdateSelectedLocale() } } +#ifdef MOZ_IPC static void SerializeURI(nsIURI* aURI, SerializedURI& aSerializedURI) @@ -538,6 +541,7 @@ nsChromeRegistryChrome::CollectPackages(PLDHashTable *table, args->packages.AppendElement(chromePackage); return (PLDHashOperator)PL_DHASH_NEXT; } +#endif static PRBool CanLoadResource(nsIURI* aResourceURI) diff --git a/chrome/src/nsChromeRegistryChrome.h b/chrome/src/nsChromeRegistryChrome.h index 44bd07c7f0aa..daee848d5dc3 100644 --- a/chrome/src/nsChromeRegistryChrome.h +++ b/chrome/src/nsChromeRegistryChrome.h @@ -75,12 +75,16 @@ class nsChromeRegistryChrome : public nsChromeRegistry nsISimpleEnumerator **_retval); #endif +#ifdef MOZ_IPC void SendRegisteredChrome(mozilla::dom::PContentParent* aChild); +#endif private: +#ifdef MOZ_IPC static PLDHashOperator CollectPackages(PLDHashTable *table, PLDHashEntryHdr *entry, PRUint32 number, void *arg); +#endif nsresult SelectLocaleFromPref(nsIPrefBranch* prefs); NS_OVERRIDE void UpdateSelectedLocale(); diff --git a/chrome/test/Makefile.in b/chrome/test/Makefile.in index 73ba8839e396..6936444d6a47 100644 --- a/chrome/test/Makefile.in +++ b/chrome/test/Makefile.in @@ -47,9 +47,11 @@ MODULE = test_chrome XPCSHELL_TESTS = unit \ $(NULL) +ifdef MOZ_IPC # FIXME/bug 575918: out-of-process xpcshell is broken on OS X ifneq ($(OS_ARCH),Darwin) XPCSHELL_TESTS += unit_ipc endif +endif include $(topsrcdir)/config/rules.mk diff --git a/config/autoconf.mk.in b/config/autoconf.mk.in index 19fafa6d0d90..0a356a78d237 100644 --- a/config/autoconf.mk.in +++ b/config/autoconf.mk.in @@ -102,6 +102,7 @@ MOZ_DEBUG_FLAGS = @MOZ_DEBUG_FLAGS@ MOZ_DEBUG_LDFLAGS=@MOZ_DEBUG_LDFLAGS@ MOZ_EXTENSIONS = @MOZ_EXTENSIONS@ MOZ_JSDEBUGGER = @MOZ_JSDEBUGGER@ +MOZ_IPC = @MOZ_IPC@ MOZ_IPDL_TESTS = @MOZ_IPDL_TESTS@ MOZ_LEAKY = @MOZ_LEAKY@ MOZ_MEMORY = @MOZ_MEMORY@ diff --git a/configure.in b/configure.in index fd5fb9a1e50b..e2c65f0d9010 100644 --- a/configure.in +++ b/configure.in @@ -4950,6 +4950,7 @@ MOZ_BRANDING_DIRECTORY= MOZ_OFFICIAL_BRANDING= MOZ_FEEDS=1 MOZ_INSTALLER=1 +MOZ_IPC=1 MOZ_JAVAXPCOM= MOZ_JSDEBUGGER=1 MOZ_MATHML=1 @@ -5821,6 +5822,21 @@ MOZ_ARG_DISABLE_BOOL(jsd, MOZ_JSDEBUGGER=1) +dnl ======================================================== +dnl = Disable IPC support for tabs and plugins +dnl ======================================================== +MOZ_ARG_DISABLE_BOOL(ipc, +[ --disable-ipc Disable IPC for tabs and plugins (not supported)], + MOZ_IPC=, + MOZ_IPC=1) + +if test -z "$MOZ_IPC"; then + AC_MSG_ERROR([--disable-ipc is no longer supported.]) +fi + +AC_DEFINE(MOZ_IPC) +AC_SUBST(MOZ_IPC) + dnl ======================================================== dnl = Enable IPDL's "expensive" unit tests dnl ======================================================== diff --git a/content/base/src/Makefile.in b/content/base/src/Makefile.in index fc7010cf6692..b8b9e5bd9d66 100644 --- a/content/base/src/Makefile.in +++ b/content/base/src/Makefile.in @@ -178,9 +178,14 @@ EXTRA_COMPONENTS = \ contentSecurityPolicy.manifest \ contentAreaDropListener.js \ contentAreaDropListener.manifest \ + $(NULL) + +ifdef MOZ_IPC +EXTRA_COMPONENTS += \ messageWakeupService.js \ messageWakeupService.manifest \ $(NULL) +endif EXTRA_JS_MODULES = \ CSPUtils.jsm \ diff --git a/content/base/src/nsDocument.cpp b/content/base/src/nsDocument.cpp index 80aaa4e0fe69..e416efa1ee1c 100644 --- a/content/base/src/nsDocument.cpp +++ b/content/base/src/nsDocument.cpp @@ -8350,10 +8350,12 @@ PLDHashOperator UnlockEnumerator(imgIRequest* aKey, nsresult nsDocument::SetImageLockingState(PRBool aLocked) { +#ifdef MOZ_IPC if (XRE_GetProcessType() == GeckoProcessType_Content && !nsContentUtils::GetBoolPref("content.image.allow_locking", PR_TRUE)) { return NS_OK; } +#endif // MOZ_IPC // If there's no change, there's nothing to do. if (mLockingImages == aLocked) diff --git a/content/base/src/nsFrameLoader.cpp b/content/base/src/nsFrameLoader.cpp index e8ef29c8b2b1..f10ab414b47b 100644 --- a/content/base/src/nsFrameLoader.cpp +++ b/content/base/src/nsFrameLoader.cpp @@ -44,7 +44,9 @@ * handling of loads in it, recursion-checking). */ -#include "base/basictypes.h" +#ifdef MOZ_IPC +# include "base/basictypes.h" +#endif #include "prenv.h" @@ -110,12 +112,15 @@ #include "Layers.h" +#ifdef MOZ_IPC #include "ContentParent.h" #include "TabParent.h" #include "mozilla/layout/RenderFrameParent.h" using namespace mozilla; using namespace mozilla::dom; +#endif + using namespace mozilla::layers; typedef FrameMetrics::ViewID ViewID; @@ -319,11 +324,13 @@ nsFrameLoader::nsFrameLoader(nsIContent *aOwner, PRBool aNetworkCreated) , mInShow(PR_FALSE) , mHideCalled(PR_FALSE) , mNetworkCreated(aNetworkCreated) +#ifdef MOZ_IPC , mDelayRemoteDialogs(PR_FALSE) , mRemoteBrowserShown(PR_FALSE) , mRemoteFrame(false) , mCurrentRemoteFrame(nsnull) , mRemoteBrowser(nsnull) +#endif , mRenderMode(RENDER_MODE_DEFAULT) { } @@ -441,6 +448,7 @@ nsFrameLoader::ReallyStartLoadingInternal() return rv; } +#ifdef MOZ_IPC if (mRemoteFrame) { if (!mRemoteBrowser) { TryRemoteBrowser(); @@ -455,6 +463,7 @@ nsFrameLoader::ReallyStartLoadingInternal() mRemoteBrowser->LoadURL(mURIToLoad); return NS_OK; } +#endif NS_ASSERTION(mDocShell, "MaybeCreateDocShell succeeded with a null mDocShell"); @@ -525,9 +534,11 @@ nsFrameLoader::CheckURILoad(nsIURI* aURI) if (NS_FAILED(rv)) { return rv; } +#ifdef MOZ_IPC if (mRemoteFrame) { return NS_OK; } +#endif return CheckForRecursiveLoad(aURI); } @@ -543,10 +554,12 @@ nsFrameLoader::GetDocShell(nsIDocShell **aDocShell) nsresult rv = MaybeCreateDocShell(); if (NS_FAILED(rv)) return rv; +#ifdef MOZ_IPC if (mRemoteFrame) { NS_WARNING("No docshells for remote frames!"); return NS_ERROR_NOT_AVAILABLE; } +#endif NS_ASSERTION(mDocShell, "MaybeCreateDocShell succeeded, but null mDocShell"); } @@ -763,7 +776,10 @@ nsFrameLoader::Show(PRInt32 marginWidth, PRInt32 marginHeight, return PR_FALSE; } - if (!mRemoteFrame) { +#ifdef MOZ_IPC + if (!mRemoteFrame) +#endif + { if (!mDocShell) return PR_FALSE; nsCOMPtr presShell; @@ -787,9 +803,11 @@ nsFrameLoader::Show(PRInt32 marginWidth, PRInt32 marginHeight, if (!view) return PR_FALSE; +#ifdef MOZ_IPC if (mRemoteFrame) { return ShowRemoteFrame(GetSubDocumentSize(frame)); } +#endif nsCOMPtr baseWindow = do_QueryInterface(mDocShell); NS_ASSERTION(baseWindow, "Found a nsIDocShell that isn't a nsIBaseWindow."); @@ -862,6 +880,7 @@ nsFrameLoader::Show(PRInt32 marginWidth, PRInt32 marginHeight, return PR_TRUE; } +#ifdef MOZ_IPC bool nsFrameLoader::ShowRemoteFrame(const nsIntSize& size) { @@ -890,6 +909,7 @@ nsFrameLoader::ShowRemoteFrame(const nsIntSize& size) return true; } +#endif void nsFrameLoader::Hide() @@ -1214,11 +1234,13 @@ nsFrameLoader::SwapWithOtherLoader(nsFrameLoader* aOther, void nsFrameLoader::DestroyChild() { +#ifdef MOZ_IPC if (mRemoteBrowser) { mRemoteBrowser->SetOwnerElement(nsnull); mRemoteBrowser->Destroy(); mRemoteBrowser = nsnull; } +#endif } NS_IMETHODIMP @@ -1305,11 +1327,14 @@ void nsFrameLoader::SetOwnerContent(nsIContent* aContent) { mOwnerContent = aContent; +#ifdef MOZ_IPC if (RenderFrameParent* rfp = GetCurrentRemoteFrame()) { rfp->OwnerContentChanged(aContent); } +#endif } +#ifdef MOZ_IPC bool nsFrameLoader::ShouldUseRemoteProcess() { @@ -1345,6 +1370,7 @@ nsFrameLoader::ShouldUseRemoteProcess() PR_FALSE); return (bool) remoteEnabled; } +#endif nsresult nsFrameLoader::MaybeCreateDocShell() @@ -1352,15 +1378,19 @@ nsFrameLoader::MaybeCreateDocShell() if (mDocShell) { return NS_OK; } +#ifdef MOZ_IPC if (mRemoteFrame) { return NS_OK; } +#endif NS_ENSURE_STATE(!mDestroyCalled); +#ifdef MOZ_IPC if (ShouldUseRemoteProcess()) { mRemoteFrame = true; return NS_OK; } +#endif // Get our parent docshell off the document of mOwnerContent // XXXbz this is such a total hack.... We really need to have a @@ -1509,8 +1539,10 @@ nsFrameLoader::CheckForRecursiveLoad(nsIURI* aURI) if (NS_FAILED(rv)) { return rv; } +#ifdef MOZ_IPC NS_ASSERTION(!mRemoteFrame, "Shouldn't call CheckForRecursiveLoad on remote frames."); +#endif if (!mDocShell) { return NS_ERROR_FAILURE; } @@ -1610,6 +1642,7 @@ nsFrameLoader::CheckForRecursiveLoad(nsIURI* aURI) NS_IMETHODIMP nsFrameLoader::UpdatePositionAndSize(nsIFrame *aIFrame) { +#ifdef MOZ_IPC if (mRemoteFrame) { if (mRemoteBrowser) { nsIntSize size = GetSubDocumentSize(aIFrame); @@ -1617,6 +1650,7 @@ nsFrameLoader::UpdatePositionAndSize(nsIFrame *aIFrame) } return NS_OK; } +#endif return UpdateBaseWindowPositionAndSize(aIFrame); } @@ -1684,6 +1718,7 @@ nsFrameLoader::GetSubDocumentSize(const nsIFrame *aIFrame) presContext->AppUnitsToDevPixels(docSizeAppUnits.height)); } +#ifdef MOZ_IPC bool nsFrameLoader::TryRemoteBrowser() { @@ -1763,19 +1798,24 @@ nsFrameLoader::TryRemoteBrowser() } return true; } +#endif +#ifdef MOZ_IPC mozilla::dom::PBrowserParent* nsFrameLoader::GetRemoteBrowser() { return mRemoteBrowser; } +#endif NS_IMETHODIMP nsFrameLoader::ActivateRemoteFrame() { +#ifdef MOZ_IPC if (mRemoteBrowser) { mRemoteBrowser->Activate(); return NS_OK; } +#endif return NS_ERROR_UNEXPECTED; } @@ -1788,12 +1828,14 @@ nsFrameLoader::SendCrossProcessMouseEvent(const nsAString& aType, PRInt32 aModifiers, PRBool aIgnoreRootScrollFrame) { +#ifdef MOZ_IPC if (mRemoteBrowser) { mRemoteBrowser->SendMouseEvent(aType, aX, aY, aButton, aClickCount, aModifiers, aIgnoreRootScrollFrame); return NS_OK; } +#endif return NS_ERROR_FAILURE; } @@ -1801,10 +1843,12 @@ NS_IMETHODIMP nsFrameLoader::ActivateFrameEvent(const nsAString& aType, PRBool aCapture) { +#ifdef MOZ_IPC if (mRemoteBrowser) { return mRemoteBrowser->SendActivateFrameEvent(nsString(aType), aCapture) ? NS_OK : NS_ERROR_NOT_AVAILABLE; } +#endif return NS_ERROR_FAILURE; } @@ -1815,24 +1859,31 @@ nsFrameLoader::SendCrossProcessKeyEvent(const nsAString& aType, PRInt32 aModifiers, PRBool aPreventDefault) { +#ifdef MOZ_IPC if (mRemoteBrowser) { mRemoteBrowser->SendKeyEvent(aType, aKeyCode, aCharCode, aModifiers, aPreventDefault); return NS_OK; } +#endif return NS_ERROR_FAILURE; } NS_IMETHODIMP nsFrameLoader::GetDelayRemoteDialogs(PRBool* aRetVal) { +#ifdef MOZ_IPC *aRetVal = mDelayRemoteDialogs; +#else + *aRetVal = PR_FALSE; +#endif return NS_OK; } NS_IMETHODIMP nsFrameLoader::SetDelayRemoteDialogs(PRBool aDelay) { +#ifdef MOZ_IPC if (mRemoteBrowser && mDelayRemoteDialogs && !aDelay) { nsRefPtr ev = NS_NewRunnableMethod(mRemoteBrowser, @@ -1840,6 +1891,7 @@ nsFrameLoader::SetDelayRemoteDialogs(PRBool aDelay) NS_DispatchToCurrentThread(ev); } mDelayRemoteDialogs = aDelay; +#endif return NS_OK; } @@ -1870,11 +1922,13 @@ nsFrameLoader::CreateStaticClone(nsIFrameLoader* aDest) bool LoadScript(void* aCallbackData, const nsAString& aURL) { +#ifdef MOZ_IPC mozilla::dom::PBrowserParent* tabParent = static_cast(aCallbackData)->GetRemoteBrowser(); if (tabParent) { return tabParent->SendLoadRemoteScript(nsString(aURL)); } +#endif nsFrameLoader* fl = static_cast(aCallbackData); nsRefPtr tabChild = static_cast(fl->GetTabChildGlobalAsEventTarget()); @@ -1911,11 +1965,13 @@ bool SendAsyncMessageToChild(void* aCallbackData, const nsAString& aMessage, const nsAString& aJSON) { +#ifdef MOZ_IPC mozilla::dom::PBrowserParent* tabParent = static_cast(aCallbackData)->GetRemoteBrowser(); if (tabParent) { return tabParent->SendAsyncMessage(nsString(aMessage), nsString(aJSON)); } +#endif nsRefPtr ev = new nsAsyncMessageToChild(static_cast(aCallbackData), aMessage, aJSON); @@ -1940,6 +1996,7 @@ nsFrameLoader::GetContentViewsIn(float aXPx, float aYPx, PRUint32* aLength, nsIContentView*** aResult) { +#ifdef MOZ_IPC nscoord x = nsPresContext::CSSPixelsToAppUnits(aXPx - aLeftSize); nscoord y = nsPresContext::CSSPixelsToAppUnits(aYPx - aTopSize); nscoord w = nsPresContext::CSSPixelsToAppUnits(aLeftSize + aRightSize) + 1; @@ -1967,6 +2024,10 @@ nsFrameLoader::GetContentViewsIn(float aXPx, float aYPx, *aResult = result; *aLength = ids.Length(); +#else + *aResult = nsnull; + *aLength = 0; +#endif return NS_OK; } @@ -1974,6 +2035,7 @@ nsFrameLoader::GetContentViewsIn(float aXPx, float aYPx, NS_IMETHODIMP nsFrameLoader::GetRootContentView(nsIContentView** aContentView) { +#ifdef MOZ_IPC RenderFrameParent* rfp = GetCurrentRemoteFrame(); if (!rfp) { *aContentView = nsnull; @@ -1985,6 +2047,10 @@ nsFrameLoader::GetRootContentView(nsIContentView** aContentView) nsRefPtr(view).forget(aContentView); return NS_OK; +#else + return NS_ERROR_NOT_IMPLEMENTED; +#endif + } nsresult @@ -1997,14 +2063,20 @@ nsFrameLoader::EnsureMessageManager() return rv; } - if (!mIsTopLevelContent && !mRemoteFrame) { + if (!mIsTopLevelContent +#ifdef MOZ_IPC + && !mRemoteFrame +#endif + ) { return NS_OK; } if (mMessageManager) { +#ifdef MOZ_IPC if (ShouldUseRemoteProcess()) { mMessageManager->SetCallbackData(mRemoteBrowserShown ? this : nsnull); } +#endif return NS_OK; } @@ -2020,6 +2092,7 @@ nsFrameLoader::EnsureMessageManager() nsCOMPtr parentManager; chromeWindow->GetMessageManager(getter_AddRefs(parentManager)); +#ifdef MOZ_IPC if (ShouldUseRemoteProcess()) { mMessageManager = new nsFrameMessageManager(PR_TRUE, nsnull, @@ -2030,6 +2103,7 @@ nsFrameLoader::EnsureMessageManager() cx); NS_ENSURE_TRUE(mMessageManager, NS_ERROR_OUT_OF_MEMORY); } else +#endif { mMessageManager = new nsFrameMessageManager(PR_TRUE, diff --git a/content/base/src/nsFrameLoader.h b/content/base/src/nsFrameLoader.h index 4aa90fe7c966..7df004da5286 100644 --- a/content/base/src/nsFrameLoader.h +++ b/content/base/src/nsFrameLoader.h @@ -61,6 +61,7 @@ class nsIView; class nsIInProcessContentFrameMessageManager; class AutoResetInShow; +#ifdef MOZ_IPC namespace mozilla { namespace dom { class PBrowserParent; @@ -78,6 +79,7 @@ typedef struct _GtkWidget GtkWidget; #ifdef MOZ_WIDGET_QT class QX11EmbedContainer; #endif +#endif /** * Defines a target configuration for this 's content @@ -165,9 +167,11 @@ class nsFrameLoader : public nsIFrameLoader, public nsIContentViewManager { friend class AutoResetInShow; +#ifdef MOZ_IPC typedef mozilla::dom::PBrowserParent PBrowserParent; typedef mozilla::dom::TabParent TabParent; typedef mozilla::layout::RenderFrameParent RenderFrameParent; +#endif protected: nsFrameLoader(nsIContent *aOwner, PRBool aNetworkCreated); @@ -242,6 +246,7 @@ public: nsIDocument* GetOwnerDoc() const { return mOwnerContent ? mOwnerContent->GetOwnerDoc() : nsnull; } +#ifdef MOZ_IPC PBrowserParent* GetRemoteBrowser(); /** @@ -272,6 +277,7 @@ public: { mCurrentRemoteFrame = aFrame; } +#endif nsFrameMessageManager* GetFrameMessageManager() { return mMessageManager; } nsIContent* GetOwnerContent() { return mOwnerContent; } @@ -279,7 +285,9 @@ public: private: +#ifdef MOZ_IPC bool ShouldUseRemoteProcess(); +#endif /** * If we are an IPC frame, set mRemoteFrame. Otherwise, create and @@ -299,11 +307,13 @@ private: void FireErrorEvent(); nsresult ReallyStartLoadingInternal(); +#ifdef MOZ_IPC // Return true if remote browser created; nothing else to do bool TryRemoteBrowser(); // Tell the remote browser that it's now "virtually visible" bool ShowRemoteFrame(const nsIntSize& size); +#endif nsCOMPtr mDocShell; nsCOMPtr mURIToLoad; @@ -325,6 +335,7 @@ private: // it may lose the flag. PRPackedBool mNetworkCreated : 1; +#ifdef MOZ_IPC PRPackedBool mDelayRemoteDialogs : 1; PRPackedBool mRemoteBrowserShown : 1; bool mRemoteFrame; @@ -332,6 +343,7 @@ private: nsCOMPtr mChildHost; RenderFrameParent* mCurrentRemoteFrame; TabParent* mRemoteBrowser; +#endif // See nsIFrameLoader.idl. Short story, if !(mRenderMode & // RENDER_MODE_ASYNC_SCROLL), all the fields below are ignored in diff --git a/content/base/src/nsFrameMessageManager.cpp b/content/base/src/nsFrameMessageManager.cpp index 6b0942aa4082..374d592b944a 100644 --- a/content/base/src/nsFrameMessageManager.cpp +++ b/content/base/src/nsFrameMessageManager.cpp @@ -35,8 +35,10 @@ * * ***** END LICENSE BLOCK ***** */ +#ifdef MOZ_IPC #include "ContentChild.h" #include "ContentParent.h" +#endif #include "jscntxt.h" #include "nsFrameMessageManager.h" #include "nsContentUtils.h" @@ -727,6 +729,7 @@ NS_IMPL_ISUPPORTS1(nsScriptCacheCleaner, nsIObserver) nsFrameMessageManager* nsFrameMessageManager::sChildProcessManager = nsnull; nsFrameMessageManager* nsFrameMessageManager::sParentProcessManager = nsnull; +#ifdef MOZ_IPC bool SendAsyncMessageToChildProcess(void* aCallbackData, const nsAString& aMessage, const nsAString& aJSON) @@ -766,11 +769,14 @@ bool SendAsyncMessageToParentProcess(void* aCallbackData, return true; } +#endif + nsresult NS_NewParentProcessMessageManager(nsIFrameMessageManager** aResult) { NS_ASSERTION(!nsFrameMessageManager::sParentProcessManager, "Re-creating sParentProcessManager"); +#ifdef MOZ_IPC NS_ENSURE_TRUE(IsChromeProcess(), NS_ERROR_NOT_AVAILABLE); nsFrameMessageManager* mm = new nsFrameMessageManager(PR_TRUE, nsnull, @@ -784,6 +790,9 @@ NS_NewParentProcessMessageManager(nsIFrameMessageManager** aResult) NS_ENSURE_TRUE(mm, NS_ERROR_OUT_OF_MEMORY); nsFrameMessageManager::sParentProcessManager = mm; return CallQueryInterface(mm, aResult); +#else + return NS_ERROR_NOT_AVAILABLE; +#endif } @@ -792,6 +801,7 @@ NS_NewChildProcessMessageManager(nsISyncMessageSender** aResult) { NS_ASSERTION(!nsFrameMessageManager::sChildProcessManager, "Re-creating sChildProcessManager"); +#ifdef MOZ_IPC NS_ENSURE_TRUE(!IsChromeProcess(), NS_ERROR_NOT_AVAILABLE); nsFrameMessageManager* mm = new nsFrameMessageManager(PR_FALSE, SendSyncMessageToParentProcess, @@ -805,4 +815,7 @@ NS_NewChildProcessMessageManager(nsISyncMessageSender** aResult) NS_ENSURE_TRUE(mm, NS_ERROR_OUT_OF_MEMORY); nsFrameMessageManager::sChildProcessManager = mm; return CallQueryInterface(mm, aResult); +#else + return NS_ERROR_NOT_AVAILABLE; +#endif } diff --git a/content/canvas/src/Makefile.in b/content/canvas/src/Makefile.in index f98c7f4699da..836b895593b1 100644 --- a/content/canvas/src/Makefile.in +++ b/content/canvas/src/Makefile.in @@ -55,9 +55,14 @@ CPPSRCS = \ CanvasImageCache.cpp \ CanvasUtils.cpp \ nsCanvasRenderingContext2D.cpp \ + $(NULL) + +ifdef MOZ_IPC +CPPSRCS += \ DocumentRendererParent.cpp \ DocumentRendererChild.cpp \ $(NULL) +endif # Canvas 3D Pieces diff --git a/content/canvas/src/nsCanvasRenderingContext2D.cpp b/content/canvas/src/nsCanvasRenderingContext2D.cpp index 0f907f4084f1..6a4175491965 100644 --- a/content/canvas/src/nsCanvasRenderingContext2D.cpp +++ b/content/canvas/src/nsCanvasRenderingContext2D.cpp @@ -38,7 +38,9 @@ * * ***** END LICENSE BLOCK ***** */ +#ifdef MOZ_IPC # include "base/basictypes.h" +#endif #include "nsIDOMXULElement.h" @@ -117,6 +119,7 @@ #include "nsStyleUtil.h" #include "CanvasImageCache.h" +#ifdef MOZ_IPC # include # include "mozilla/dom/ContentParent.h" # include "mozilla/ipc/PDocumentRendererParent.h" @@ -127,6 +130,7 @@ # undef DrawText using namespace mozilla::ipc; +#endif #ifdef MOZ_SVG #include "nsSVGEffects.h" @@ -1230,6 +1234,7 @@ nsCanvasRenderingContext2D::SetIsOpaque(PRBool isOpaque) NS_IMETHODIMP nsCanvasRenderingContext2D::SetIsIPC(PRBool isIPC) { +#ifdef MOZ_IPC if (isIPC == mIPC) return NS_OK; @@ -1243,6 +1248,9 @@ nsCanvasRenderingContext2D::SetIsIPC(PRBool isIPC) } return NS_OK; +#else + return NS_ERROR_NOT_IMPLEMENTED; +#endif } NS_IMETHODIMP @@ -3759,6 +3767,7 @@ nsCanvasRenderingContext2D::AsyncDrawXULElement(nsIDOMXULElement* aElem, float a if (!frameloader) return NS_ERROR_FAILURE; +#ifdef MOZ_IPC PBrowserParent *child = frameloader->GetRemoteBrowser(); if (!child) { nsCOMPtr window = @@ -3806,6 +3815,14 @@ nsCanvasRenderingContext2D::AsyncDrawXULElement(nsIDOMXULElement* aElem, float a } return NS_OK; +#else + nsCOMPtr window = + do_GetInterface(frameloader->GetExistingDocShell()); + if (!window) + return NS_ERROR_FAILURE; + + return DrawWindow(window, aX, aY, aW, aH, aBGColor, flags); +#endif } // diff --git a/content/events/src/nsDOMEvent.cpp b/content/events/src/nsDOMEvent.cpp index 71644cdb2b3a..b956ba04ce77 100644 --- a/content/events/src/nsDOMEvent.cpp +++ b/content/events/src/nsDOMEvent.cpp @@ -37,8 +37,10 @@ * * ***** END LICENSE BLOCK ***** */ +#ifdef MOZ_IPC #include "base/basictypes.h" #include "IPC/IPCMessageUtils.h" +#endif #include "nsCOMPtr.h" #include "nsDOMEvent.h" #include "nsEventStateManager.h" @@ -1368,6 +1370,7 @@ nsDOMEvent::GetPreventDefault(PRBool* aReturn) void nsDOMEvent::Serialize(IPC::Message* aMsg, PRBool aSerializeInterfaceType) { +#ifdef MOZ_IPC if (aSerializeInterfaceType) { IPC::WriteParam(aMsg, NS_LITERAL_STRING("event")); } @@ -1389,11 +1392,13 @@ nsDOMEvent::Serialize(IPC::Message* aMsg, PRBool aSerializeInterfaceType) IPC::WriteParam(aMsg, trusted); // No timestamp serialization for now! +#endif } PRBool nsDOMEvent::Deserialize(const IPC::Message* aMsg, void** aIter) { +#ifdef MOZ_IPC nsString type; NS_ENSURE_TRUE(IPC::ReadParam(aMsg, aIter, &type), PR_FALSE); @@ -1411,6 +1416,9 @@ nsDOMEvent::Deserialize(const IPC::Message* aMsg, void** aIter) SetTrusted(trusted); return PR_TRUE; +#else + return PR_FALSE; +#endif } diff --git a/content/events/src/nsDOMNotifyPaintEvent.cpp b/content/events/src/nsDOMNotifyPaintEvent.cpp index 62b6e5973136..175cf0a21f80 100644 --- a/content/events/src/nsDOMNotifyPaintEvent.cpp +++ b/content/events/src/nsDOMNotifyPaintEvent.cpp @@ -36,8 +36,10 @@ * * ***** END LICENSE BLOCK ***** */ +#ifdef MOZ_IPC #include "base/basictypes.h" #include "IPC/IPCMessageUtils.h" +#endif #include "nsDOMNotifyPaintEvent.h" #include "nsContentUtils.h" #include "nsClientRect.h" @@ -146,6 +148,7 @@ nsDOMNotifyPaintEvent::GetPaintRequests(nsIDOMPaintRequestList** aResult) return NS_OK; } +#ifdef MOZ_IPC void nsDOMNotifyPaintEvent::Serialize(IPC::Message* aMsg, PRBool aSerializeInterfaceType) @@ -187,6 +190,7 @@ nsDOMNotifyPaintEvent::Deserialize(const IPC::Message* aMsg, void** aIter) return PR_TRUE; } +#endif nsresult NS_NewDOMNotifyPaintEvent(nsIDOMEvent** aInstancePtrResult, nsPresContext* aPresContext, diff --git a/content/events/src/nsDOMNotifyPaintEvent.h b/content/events/src/nsDOMNotifyPaintEvent.h index aed65914a261..2238f551f32c 100644 --- a/content/events/src/nsDOMNotifyPaintEvent.h +++ b/content/events/src/nsDOMNotifyPaintEvent.h @@ -61,8 +61,10 @@ public: // Forward to base class NS_FORWARD_TO_NSDOMEVENT +#ifdef MOZ_IPC virtual void Serialize(IPC::Message* aMsg, PRBool aSerializeInterfaceType); virtual PRBool Deserialize(const IPC::Message* aMsg, void** aIter); +#endif private: nsRegion GetRegion(); diff --git a/content/events/src/nsDOMScrollAreaEvent.cpp b/content/events/src/nsDOMScrollAreaEvent.cpp index 5712179653b4..674164c26d8a 100644 --- a/content/events/src/nsDOMScrollAreaEvent.cpp +++ b/content/events/src/nsDOMScrollAreaEvent.cpp @@ -35,8 +35,10 @@ * * ***** END LICENSE BLOCK ***** */ +#ifdef MOZ_IPC #include "base/basictypes.h" #include "IPC/IPCMessageUtils.h" +#endif #include "nsDOMScrollAreaEvent.h" #include "nsGUIEvent.h" @@ -114,6 +116,7 @@ nsDOMScrollAreaEvent::InitScrollAreaEvent(const nsAString &aEventType, return NS_OK; } +#ifdef MOZ_IPC void nsDOMScrollAreaEvent::Serialize(IPC::Message* aMsg, PRBool aSerializeInterfaceType) @@ -149,6 +152,7 @@ nsDOMScrollAreaEvent::Deserialize(const IPC::Message* aMsg, void** aIter) return PR_TRUE; } +#endif nsresult NS_NewDOMScrollAreaEvent(nsIDOMEvent **aInstancePtrResult, diff --git a/content/events/src/nsDOMScrollAreaEvent.h b/content/events/src/nsDOMScrollAreaEvent.h index 34f943fd0d5a..41b31372fd1e 100644 --- a/content/events/src/nsDOMScrollAreaEvent.h +++ b/content/events/src/nsDOMScrollAreaEvent.h @@ -58,8 +58,10 @@ public: NS_FORWARD_TO_NSDOMUIEVENT +#ifdef MOZ_IPC virtual void Serialize(IPC::Message* aMsg, PRBool aSerializeInterfaceType); virtual PRBool Deserialize(const IPC::Message* aMsg, void** aIter); +#endif protected: nsClientRect mClientArea; diff --git a/content/events/src/nsDOMUIEvent.cpp b/content/events/src/nsDOMUIEvent.cpp index a3c1406a77f8..758baa590ebe 100644 --- a/content/events/src/nsDOMUIEvent.cpp +++ b/content/events/src/nsDOMUIEvent.cpp @@ -37,8 +37,10 @@ * * ***** END LICENSE BLOCK ***** */ +#ifdef MOZ_IPC #include "base/basictypes.h" #include "IPC/IPCMessageUtils.h" +#endif #include "nsCOMPtr.h" #include "nsDOMUIEvent.h" #include "nsIPresShell.h" @@ -392,6 +394,7 @@ nsDOMUIEvent::DuplicatePrivateData() return rv; } +#ifdef MOZ_IPC void nsDOMUIEvent::Serialize(IPC::Message* aMsg, PRBool aSerializeInterfaceType) { @@ -413,6 +416,7 @@ nsDOMUIEvent::Deserialize(const IPC::Message* aMsg, void** aIter) NS_ENSURE_TRUE(IPC::ReadParam(aMsg, aIter, &mDetail), PR_FALSE); return PR_TRUE; } +#endif nsresult NS_NewDOMUIEvent(nsIDOMEvent** aInstancePtrResult, nsPresContext* aPresContext, diff --git a/content/events/src/nsDOMUIEvent.h b/content/events/src/nsDOMUIEvent.h index a242af36f5be..71bf18f351b5 100644 --- a/content/events/src/nsDOMUIEvent.h +++ b/content/events/src/nsDOMUIEvent.h @@ -62,8 +62,10 @@ public: // nsIPrivateDOMEvent interface NS_IMETHOD DuplicatePrivateData(); +#ifdef MOZ_IPC virtual void Serialize(IPC::Message* aMsg, PRBool aSerializeInterfaceType); virtual PRBool Deserialize(const IPC::Message* aMsg, void** aIter); +#endif // Forward to nsDOMEvent NS_FORWARD_TO_NSDOMEVENT diff --git a/content/events/src/nsEventStateManager.cpp b/content/events/src/nsEventStateManager.cpp index 5b5fb1a32d41..f3ae73f24632 100644 --- a/content/events/src/nsEventStateManager.cpp +++ b/content/events/src/nsEventStateManager.cpp @@ -44,7 +44,9 @@ * * ***** END LICENSE BLOCK ***** */ +#ifdef MOZ_IPC #include "mozilla/dom/TabParent.h" +#endif #include "nsCOMPtr.h" #include "nsEventStateManager.h" @@ -162,7 +164,9 @@ #import #endif +#ifdef MOZ_IPC using namespace mozilla::dom; +#endif //#define DEBUG_DOCSHELL_FOCUS @@ -1334,16 +1338,20 @@ nsEventStateManager::PreHandleEvent(nsPresContext* aPresContext, break; case NS_QUERY_SELECTED_TEXT: { +#ifdef MOZ_IPC if (RemoteQueryContentEvent(aEvent)) break; +#endif nsContentEventHandler handler(mPresContext); handler.OnQuerySelectedText((nsQueryContentEvent*)aEvent); } break; case NS_QUERY_TEXT_CONTENT: { +#ifdef MOZ_IPC if (RemoteQueryContentEvent(aEvent)) break; +#endif nsContentEventHandler handler(mPresContext); handler.OnQueryTextContent((nsQueryContentEvent*)aEvent); } @@ -1399,6 +1407,7 @@ nsEventStateManager::PreHandleEvent(nsPresContext* aPresContext, break; case NS_SELECTION_SET: { +#ifdef MOZ_IPC nsSelectionEvent *selectionEvent = static_cast(aEvent); if (IsTargetCrossProcess(selectionEvent)) { @@ -1407,6 +1416,7 @@ nsEventStateManager::PreHandleEvent(nsPresContext* aPresContext, selectionEvent->mSucceeded = PR_TRUE; break; } +#endif nsContentEventHandler handler(mPresContext); handler.OnSelectionEvent((nsSelectionEvent*)aEvent); } @@ -1427,6 +1437,7 @@ nsEventStateManager::PreHandleEvent(nsPresContext* aPresContext, DoContentCommandScrollEvent(static_cast(aEvent)); } break; +#ifdef MOZ_IPC case NS_TEXT_TEXT: { nsTextEvent *textEvent = static_cast(aEvent); @@ -1453,6 +1464,7 @@ nsEventStateManager::PreHandleEvent(nsPresContext* aPresContext, } } break; +#endif // MOZ_IPC } return NS_OK; } @@ -3325,6 +3337,7 @@ nsEventStateManager::PostHandleEvent(nsPresContext* aPresContext, return ret; } +#ifdef MOZ_IPC PRBool nsEventStateManager::RemoteQueryContentEvent(nsEvent *aEvent) { @@ -3354,6 +3367,7 @@ nsEventStateManager::IsTargetCrossProcess(nsGUIEvent *aEvent) return PR_FALSE; return TabParent::GetIMETabParent() != nsnull; } +#endif NS_IMETHODIMP nsEventStateManager::NotifyDestroyPresContext(nsPresContext* aPresContext) diff --git a/content/events/src/nsEventStateManager.h b/content/events/src/nsEventStateManager.h index 357559ad52a5..236af0d33fb0 100644 --- a/content/events/src/nsEventStateManager.h +++ b/content/events/src/nsEventStateManager.h @@ -349,9 +349,11 @@ protected: nsresult DoContentCommandEvent(nsContentCommandEvent* aEvent); nsresult DoContentCommandScrollEvent(nsContentCommandEvent* aEvent); +#ifdef MOZ_IPC PRBool RemoteQueryContentEvent(nsEvent *aEvent); mozilla::dom::TabParent *GetCrossProcessTarget(); PRBool IsTargetCrossProcess(nsGUIEvent *aEvent); +#endif PRInt32 mLockCursor; diff --git a/content/html/content/src/Makefile.in b/content/html/content/src/Makefile.in index e4a3d3e19c43..7659fe6a1c47 100644 --- a/content/html/content/src/Makefile.in +++ b/content/html/content/src/Makefile.in @@ -50,9 +50,14 @@ LIBXUL_LIBRARY = 1 EXPORTS = \ nsImageMapUtils.h \ nsClientRect.h \ - nsHTMLDNSPrefetch.h \ $(NULL) +ifdef MOZ_IPC +EXPORTS += \ + nsHTMLDNSPrefetch.h \ + $(NULL) +endif + CPPSRCS = \ nsClientRect.cpp \ nsHTMLDNSPrefetch.cpp \ diff --git a/content/html/content/src/nsHTMLCanvasElement.cpp b/content/html/content/src/nsHTMLCanvasElement.cpp index acf8bf9c6e58..d545cbb269e2 100644 --- a/content/html/content/src/nsHTMLCanvasElement.cpp +++ b/content/html/content/src/nsHTMLCanvasElement.cpp @@ -553,6 +553,7 @@ NS_IMETHODIMP nsHTMLCanvasElement::MozGetIPCContext(const nsAString& aContextId, nsISupports **aContext) { +#ifdef MOZ_IPC if(!nsContentUtils::IsCallerTrustedForRead()) { // XXX ERRMSG we need to report an error to developers here! (bug 329026) return NS_ERROR_DOM_SECURITY_ERR; @@ -587,6 +588,9 @@ nsHTMLCanvasElement::MozGetIPCContext(const nsAString& aContextId, NS_ADDREF (*aContext = mCurrentContext); return NS_OK; +#else + return NS_ERROR_NOT_IMPLEMENTED; +#endif } nsresult diff --git a/content/html/content/src/nsHTMLDNSPrefetch.cpp b/content/html/content/src/nsHTMLDNSPrefetch.cpp index 36ee2f26a0fd..0a400794dbb8 100644 --- a/content/html/content/src/nsHTMLDNSPrefetch.cpp +++ b/content/html/content/src/nsHTMLDNSPrefetch.cpp @@ -36,10 +36,12 @@ * * ***** END LICENSE BLOCK ***** */ +#ifdef MOZ_IPC #include "base/basictypes.h" #include "mozilla/net/NeckoCommon.h" #include "mozilla/net/NeckoChild.h" #include "nsURLHelper.h" +#endif #include "nsHTMLDNSPrefetch.h" #include "nsCOMPtr.h" @@ -106,8 +108,10 @@ nsHTMLDNSPrefetch::Initialize() rv = CallGetService(kDNSServiceCID, &sDNSService); if (NS_FAILED(rv)) return rv; +#ifdef MOZ_IPC if (IsNeckoChild()) NeckoChild::InitNeckoChild(); +#endif sInitialized = PR_TRUE; return NS_OK; @@ -138,6 +142,7 @@ nsHTMLDNSPrefetch::IsAllowed (nsIDocument *aDocument) nsresult nsHTMLDNSPrefetch::Prefetch(Link *aElement, PRUint16 flags) { +#ifdef MOZ_IPC if (IsNeckoChild()) { // Instead of transporting the Link object to the other process // we are using the hostname based function here, too. Compared to the @@ -148,6 +153,7 @@ nsHTMLDNSPrefetch::Prefetch(Link *aElement, PRUint16 flags) return Prefetch(hostname, flags); } +#endif if (!(sInitialized && sPrefetches && sDNSService && sDNSListener)) return NS_ERROR_NOT_AVAILABLE; @@ -176,6 +182,7 @@ nsHTMLDNSPrefetch::PrefetchHigh(Link *aElement) nsresult nsHTMLDNSPrefetch::Prefetch(nsAString &hostname, PRUint16 flags) { +#ifdef MOZ_IPC if (IsNeckoChild()) { // We need to check IsEmpty() because net_IsValidHostName() // considers empty strings to be valid hostnames @@ -185,6 +192,7 @@ nsHTMLDNSPrefetch::Prefetch(nsAString &hostname, PRUint16 flags) } return NS_OK; } +#endif if (!(sInitialized && sDNSService && sPrefetches && sDNSListener)) return NS_ERROR_NOT_AVAILABLE; diff --git a/content/html/content/src/nsHTMLDNSPrefetch.h b/content/html/content/src/nsHTMLDNSPrefetch.h index a25b2834c987..e2973ae6e5ee 100644 --- a/content/html/content/src/nsHTMLDNSPrefetch.h +++ b/content/html/content/src/nsHTMLDNSPrefetch.h @@ -143,7 +143,9 @@ public: } mEntries[sMaxDeferred]; }; +#ifdef MOZ_IPC friend class mozilla::net::NeckoParent; +#endif }; #endif diff --git a/content/media/nsAudioStream.cpp b/content/media/nsAudioStream.cpp index 8eb6602084d6..c5fe5e4c90b8 100644 --- a/content/media/nsAudioStream.cpp +++ b/content/media/nsAudioStream.cpp @@ -37,12 +37,14 @@ * * ***** END LICENSE BLOCK ***** */ +#ifdef MOZ_IPC #include "mozilla/dom/ContentChild.h" #include "mozilla/dom/PAudioChild.h" #include "mozilla/dom/AudioChild.h" #include "mozilla/Monitor.h" #include "nsXULAppAPI.h" using namespace mozilla::dom; +#endif #include #include @@ -63,7 +65,7 @@ extern "C" { // Android's audio backend is not available in content processes, so audio must // be remoted to the parent chrome process. -#if defined(ANDROID) +#if defined(ANDROID) && defined(MOZ_IPC) #define REMOTE_AUDIO 1 #endif @@ -120,6 +122,7 @@ class nsAudioStreamLocal : public nsAudioStream }; +#ifdef MOZ_IPC class nsAudioStreamRemote : public nsAudioStream { public: @@ -291,6 +294,7 @@ class AudioShutdownEvent : public nsRunnable nsRefPtr mAudioChild; }; +#endif // MOZ_IPC void nsAudioStream::InitLibrary() @@ -593,6 +597,8 @@ PRInt32 nsAudioStreamLocal::GetMinWriteSamples() return static_cast(samples); } +#ifdef MOZ_IPC + nsAudioStreamRemote::nsAudioStreamRemote() : mAudioChild(NULL), mFormat(FORMAT_S16_LE), @@ -744,3 +750,5 @@ nsAudioStreamRemote::IsPaused() { return mPaused; } + +#endif // MOZ_IPC diff --git a/content/media/nsAudioStream.h b/content/media/nsAudioStream.h index de560a147be0..d78789925790 100644 --- a/content/media/nsAudioStream.h +++ b/content/media/nsAudioStream.h @@ -64,13 +64,14 @@ public: // library after using it. static void ShutdownLibrary(); - // Thread that is shared between audio streams. + // Thread, usually for MOZ_IPC handling, that is shared between audio streams. // This may return null in the child process nsIThread *GetThread(); // AllocateStream will return either a local stream or a remoted stream - // depending on where you call it from. If you call this from a child process, - // you may receive an implementation which forwards to a compositing process. + // depending on where you call it from. If MOZ_IPC is enabled, and you + // call this from a child process, you may recieve an implementation which + // forwards to a compositing process. static nsAudioStream* AllocateStream(); // Initialize the audio stream. aNumChannels is the number of audio channels diff --git a/docshell/base/IHistory.h b/docshell/base/IHistory.h index 2448784db96f..b03c718508af 100644 --- a/docshell/base/IHistory.h +++ b/docshell/base/IHistory.h @@ -71,7 +71,7 @@ public: * UnregisterVisitedCallback. * * @pre aURI must not be null. - * @pre aLink may be null only in the parent (chrome) process. + * @pre aLink may be null only in the MOZ_IPC parent process. * * @param aURI * The URI to check. diff --git a/docshell/base/nsDocShell.cpp b/docshell/base/nsDocShell.cpp index 5e1e09db097f..948c9b73497e 100644 --- a/docshell/base/nsDocShell.cpp +++ b/docshell/base/nsDocShell.cpp @@ -229,7 +229,9 @@ static NS_DEFINE_CID(kAppShellCID, NS_APPSHELL_CID); #include "nsIChannelPolicy.h" #include "nsIContentSecurityPolicy.h" +#ifdef MOZ_IPC #include "nsXULAppAPI.h" +#endif using namespace mozilla; @@ -6010,10 +6012,12 @@ nsDocShell::OnRedirectStateChange(nsIChannel* aOldChannel, nsCOMPtr appCacheChannel = do_QueryInterface(aNewChannel); if (appCacheChannel) { +#ifdef MOZ_IPC // Permission will be checked in the parent process. if (GeckoProcessType_Default != XRE_GetProcessType()) appCacheChannel->SetChooseApplicationCache(PR_TRUE); else +#endif appCacheChannel->SetChooseApplicationCache(ShouldCheckAppCache(newURI)); } @@ -8724,10 +8728,12 @@ nsDocShell::DoURILoad(nsIURI * aURI, // Loads with the correct permissions should check for a matching // application cache. +#ifdef MOZ_IPC // Permission will be checked in the parent process if (GeckoProcessType_Default != XRE_GetProcessType()) appCacheChannel->SetChooseApplicationCache(PR_TRUE); else +#endif appCacheChannel->SetChooseApplicationCache( ShouldCheckAppCache(aURI)); } diff --git a/dom/Makefile.in b/dom/Makefile.in index 66b2af9130ae..c74d6daf30db 100644 --- a/dom/Makefile.in +++ b/dom/Makefile.in @@ -83,8 +83,13 @@ DIRS += \ plugins \ indexedDB \ system \ + $(NULL) + +ifdef MOZ_IPC +DIRS += \ ipc \ $(NULL) +endif ifdef ENABLE_TESTS DIRS += tests diff --git a/dom/base/Makefile.in b/dom/base/Makefile.in index 8603c0f7bd73..9f3f473445f0 100644 --- a/dom/base/Makefile.in +++ b/dom/base/Makefile.in @@ -83,7 +83,6 @@ EXPORTS = \ nsPIWindowRoot.h \ nsFocusManager.h \ nsWrapperCache.h \ - nsContentPermissionHelper.h \ $(NULL) CPPSRCS = \ @@ -107,17 +106,27 @@ CPPSRCS = \ nsScriptNameSpaceManager.cpp \ nsDOMScriptObjectFactory.cpp \ nsQueryContentEventResult.cpp \ - nsContentPermissionHelper.cpp \ $(NULL) +ifdef MOZ_IPC +EXPORTS += \ + nsContentPermissionHelper.h \ + $(NULL) +CPPSRCS += \ + nsContentPermissionHelper.cpp \ + $(NULL) +endif + include $(topsrcdir)/dom/dom-config.mk ifdef MOZ_JSDEBUGGER DEFINES += -DMOZ_JSDEBUGGER endif +ifdef MOZ_IPC include $(topsrcdir)/config/config.mk include $(topsrcdir)/ipc/chromium/chromium-config.mk +endif include $(topsrcdir)/config/rules.mk diff --git a/dom/base/nsGlobalWindow.cpp b/dom/base/nsGlobalWindow.cpp index 2e5e13711e20..30fd854a2701 100644 --- a/dom/base/nsGlobalWindow.cpp +++ b/dom/base/nsGlobalWindow.cpp @@ -46,7 +46,9 @@ * * ***** END LICENSE BLOCK ***** */ +#ifdef MOZ_IPC #include "base/basictypes.h" +#endif // Local Includes #include "nsGlobalWindow.h" diff --git a/dom/plugins/Makefile.in b/dom/plugins/Makefile.in index b824c96cb95c..3563be61178d 100644 --- a/dom/plugins/Makefile.in +++ b/dom/plugins/Makefile.in @@ -50,6 +50,8 @@ EXPORTS_mozilla = \ PluginLibrary.h \ $(NULL) +ifdef MOZ_IPC + EXPORTS_NAMESPACES = mozilla mozilla/plugins EXPORTS_mozilla/plugins = \ @@ -149,6 +151,7 @@ LOCAL_INCLUDES = \ include $(topsrcdir)/config/config.mk include $(topsrcdir)/ipc/chromium/chromium-config.mk +endif include $(topsrcdir)/config/rules.mk diff --git a/dom/src/geolocation/Makefile.in b/dom/src/geolocation/Makefile.in index 39f03db04f23..8bd9c569d7e5 100644 --- a/dom/src/geolocation/Makefile.in +++ b/dom/src/geolocation/Makefile.in @@ -83,7 +83,9 @@ LOCAL_INCLUDES += -I$(topsrcdir)/dom/system/android \ $(NULL) endif +ifdef MOZ_IPC EXPORTS += nsGeoPositionIPCSerialiser.h +endif include $(topsrcdir)/config/config.mk include $(topsrcdir)/ipc/chromium/chromium-config.mk diff --git a/dom/src/geolocation/nsGeolocation.cpp b/dom/src/geolocation/nsGeolocation.cpp index 81a42fd3802e..de9d3e579e02 100644 --- a/dom/src/geolocation/nsGeolocation.cpp +++ b/dom/src/geolocation/nsGeolocation.cpp @@ -34,6 +34,7 @@ * * ***** END LICENSE BLOCK ***** */ +#ifdef MOZ_IPC #include "nsContentPermissionHelper.h" #include "nsXULAppAPI.h" @@ -52,6 +53,7 @@ #include "nsDOMEventTargetHelper.h" #include "TabChild.h" +#endif #include "nsGeolocation.h" #include "nsAutoPtr.h" @@ -480,6 +482,7 @@ nsGeolocationRequest::Shutdown() mErrorCallback = nsnull; } +#ifdef MOZ_IPC bool nsGeolocationRequest::Recv__delete__(const bool& allow) { if (allow) @@ -488,6 +491,7 @@ bool nsGeolocationRequest::Recv__delete__(const bool& allow) (void) Cancel(); return true; } +#endif //////////////////////////////////////////////////// // nsGeolocationService //////////////////////////////////////////////////// @@ -677,11 +681,13 @@ nsGeolocationService::StartDevice() // inactivivity SetDisconnectTimer(); +#ifdef MOZ_IPC if (XRE_GetProcessType() == GeckoProcessType_Content) { ContentChild* cpc = ContentChild::GetSingleton(); cpc->SendAddGeolocationListener(); return NS_OK; } +#endif // Start them up! nsCOMPtr obs = mozilla::services::GetObserverService(); @@ -720,11 +726,13 @@ nsGeolocationService::StopDevice() mDisconnectTimer = nsnull; } +#ifdef MOZ_IPC if (XRE_GetProcessType() == GeckoProcessType_Content) { ContentChild* cpc = ContentChild::GetSingleton(); cpc->SendRemoveGeolocationListener(); return; // bail early } +#endif nsCOMPtr obs = mozilla::services::GetObserverService(); if (!obs) @@ -1045,6 +1053,7 @@ nsGeolocation::WindowOwnerStillExists() bool nsGeolocation::RegisterRequestWithPrompt(nsGeolocationRequest* request) { +#ifdef MOZ_IPC if (XRE_GetProcessType() == GeckoProcessType_Content) { nsCOMPtr window = do_QueryReferent(mOwner); if (!window) @@ -1066,6 +1075,7 @@ nsGeolocation::RegisterRequestWithPrompt(nsGeolocationRequest* request) request->Sendprompt(); return true; } +#endif if (nsContentUtils::GetBoolPref("geo.prompt.testing", PR_FALSE)) { diff --git a/dom/src/geolocation/nsGeolocation.h b/dom/src/geolocation/nsGeolocation.h index 7aa40746ae7b..7dac97470edb 100644 --- a/dom/src/geolocation/nsGeolocation.h +++ b/dom/src/geolocation/nsGeolocation.h @@ -37,9 +37,11 @@ #ifndef nsGeoLocation_h #define nsGeoLocation_h +#ifdef MOZ_IPC #include "mozilla/dom/PContentPermissionRequestChild.h" // Microsoft's API Name hackery sucks #undef CreateEvent +#endif #include "nsCOMPtr.h" #include "nsAutoPtr.h" @@ -65,7 +67,9 @@ #include "nsIGeolocationProvider.h" #include "nsIContentPermissionPrompt.h" +#ifdef MOZ_IPC #include "PCOMContentPermissionRequestChild.h" +#endif class nsGeolocationService; class nsGeolocation; @@ -73,7 +77,9 @@ class nsGeolocation; class nsGeolocationRequest : public nsIContentPermissionRequest , public nsITimerCallback +#ifdef MOZ_IPC , public PCOMContentPermissionRequestChild +#endif { public: NS_DECL_CYCLE_COLLECTING_ISUPPORTS @@ -101,8 +107,10 @@ class nsGeolocationRequest ~nsGeolocationRequest(); +#ifdef MOZ_IPC bool Recv__delete__(const bool& allow); void IPDLRelease() { Release(); } +#endif private: diff --git a/dom/src/notification/nsDesktopNotification.cpp b/dom/src/notification/nsDesktopNotification.cpp index b7770adcad53..0ecec32fcae6 100644 --- a/dom/src/notification/nsDesktopNotification.cpp +++ b/dom/src/notification/nsDesktopNotification.cpp @@ -36,6 +36,7 @@ #include "nsDesktopNotification.h" +#ifdef MOZ_IPC #include "nsContentPermissionHelper.h" #include "nsXULAppAPI.h" @@ -43,6 +44,7 @@ #include "TabChild.h" using namespace mozilla::dom; +#endif /* ------------------------------------------------------------------------ */ /* AlertServiceObserver */ @@ -127,6 +129,7 @@ nsDOMDesktopNotification::nsDOMDesktopNotification(const nsAString & title, nsRefPtr request = new nsDesktopNotificationRequest(this); // if we are in the content process, then remote it to the parent. +#ifdef MOZ_IPC if (XRE_GetProcessType() == GeckoProcessType_Content) { // if for some reason mOwner is null, just silently @@ -149,6 +152,7 @@ nsDOMDesktopNotification::nsDOMDesktopNotification(const nsAString & title, request->Sendprompt(); return; } +#endif // otherwise, dispatch it NS_DispatchToMainThread(request); diff --git a/dom/src/notification/nsDesktopNotification.h b/dom/src/notification/nsDesktopNotification.h index 18ff79b2319a..bc4806164492 100644 --- a/dom/src/notification/nsDesktopNotification.h +++ b/dom/src/notification/nsDesktopNotification.h @@ -37,7 +37,10 @@ #ifndef nsDesktopNotification_h #define nsDesktopNotification_h +#ifdef MOZ_IPC #include "PCOMContentPermissionRequestChild.h" +#endif + #include "nsDOMClassInfo.h" #include "nsIJSContextStack.h" @@ -152,8 +155,10 @@ protected: * Simple Request */ class nsDesktopNotificationRequest : public nsIContentPermissionRequest, - public nsRunnable, - public PCOMContentPermissionRequestChild + public nsRunnable +#ifdef MOZ_IPC + , public PCOMContentPermissionRequestChild +#endif { public: @@ -177,6 +182,8 @@ class nsDesktopNotificationRequest : public nsIContentPermissionRequest, { } +#ifdef MOZ_IPC + bool Recv__delete__(const bool& allow) { if (allow) @@ -186,6 +193,7 @@ class nsDesktopNotificationRequest : public nsIContentPermissionRequest, return true; } void IPDLRelease() { Release(); } +#endif nsRefPtr mDesktopNotification; }; diff --git a/dom/src/offline/nsDOMOfflineResourceList.cpp b/dom/src/offline/nsDOMOfflineResourceList.cpp index 381d95c4485e..c9b5b26e7945 100644 --- a/dom/src/offline/nsDOMOfflineResourceList.cpp +++ b/dom/src/offline/nsDOMOfflineResourceList.cpp @@ -57,9 +57,14 @@ #include "nsIScriptGlobalObject.h" #include "nsIWebNavigation.h" +#ifdef MOZ_IPC #include "nsXULAppAPI.h" #define IS_CHILD_PROCESS() \ (GeckoProcessType_Default != XRE_GetProcessType()) +#else +#define IS_CHILD_PROCESS() \ + (false) +#endif // Event names diff --git a/dom/src/storage/Makefile.in b/dom/src/storage/Makefile.in index 9faf2150cf43..3f78dd64df76 100644 --- a/dom/src/storage/Makefile.in +++ b/dom/src/storage/Makefile.in @@ -55,11 +55,13 @@ CPPSRCS = \ ifdef MOZ_STORAGE CPPSRCS += nsDOMStorageDBWrapper.cpp nsDOMStoragePersistentDB.cpp nsDOMStorageMemoryDB.cpp +ifdef MOZ_IPC CPPSRCS += StorageChild.cpp StorageParent.cpp EXPORTS_NAMESPACES = mozilla/dom EXPORTS_mozilla/dom = StorageChild.h StorageParent.h endif +endif # we don't want the shared lib, but we want to force the creation of a static lib. FORCE_STATIC_LIB = 1 diff --git a/dom/src/storage/nsDOMStorage.cpp b/dom/src/storage/nsDOMStorage.cpp index 4e852322f2d7..8e418cc68566 100644 --- a/dom/src/storage/nsDOMStorage.cpp +++ b/dom/src/storage/nsDOMStorage.cpp @@ -40,10 +40,12 @@ * * ***** END LICENSE BLOCK ***** */ +#ifdef MOZ_IPC #include "StorageChild.h" #include "StorageParent.h" #include "nsXULAppAPI.h" using mozilla::dom::StorageChild; +#endif #include "prnetdb.h" #include "nsCOMPtr.h" @@ -269,9 +271,11 @@ nsDOMStorageManager::Initialize() NS_ADDREF(gStorageManager); +#ifdef MOZ_IPC // No observers needed in non-chrome if (XRE_GetProcessType() != GeckoProcessType_Default) return NS_OK; +#endif nsCOMPtr os = mozilla::services::GetObserverService(); if (!os) @@ -1351,10 +1355,12 @@ nsDOMStorage::nsDOMStorage() { mSecurityChecker = this; +#ifdef MOZ_IPC if (XRE_GetProcessType() != GeckoProcessType_Default) mStorageImpl = new StorageChild(this); else - mStorageImpl = new DOMStorageImpl(this); +#endif + mStorageImpl = new DOMStorageImpl(this); } nsDOMStorage::nsDOMStorage(nsDOMStorage& aThat) @@ -1363,10 +1369,13 @@ nsDOMStorage::nsDOMStorage(nsDOMStorage& aThat) { mSecurityChecker = this; +#ifdef MOZ_IPC if (XRE_GetProcessType() != GeckoProcessType_Default) { StorageChild* other = static_cast(aThat.mStorageImpl.get()); mStorageImpl = new StorageChild(this, *other); - } else { + } else +#endif + { DOMStorageImpl* other = static_cast(aThat.mStorageImpl.get()); mStorageImpl = new DOMStorageImpl(this, *other); } diff --git a/embedding/browser/webBrowser/nsWebBrowser.cpp b/embedding/browser/webBrowser/nsWebBrowser.cpp index f0b35569008e..c037dc2c2d88 100644 --- a/embedding/browser/webBrowser/nsWebBrowser.cpp +++ b/embedding/browser/webBrowser/nsWebBrowser.cpp @@ -1229,7 +1229,10 @@ NS_IMETHODIMP nsWebBrowser::Create() } mDocShellAsNav->SetSessionHistory(mInitInfo->sessionHistory); - if (XRE_GetProcessType() == GeckoProcessType_Default) { +#ifdef MOZ_IPC + if (XRE_GetProcessType() == GeckoProcessType_Default) +#endif + { // Hook up global history. Do not fail if we can't - just warn. rv = EnableGlobalHistory(mShouldEnableHistory); NS_WARN_IF_FALSE(NS_SUCCEEDED(rv), "EnableGlobalHistory() failed"); diff --git a/extensions/cookie/nsPermissionManager.cpp b/extensions/cookie/nsPermissionManager.cpp index c202d553dcdb..d182013ec653 100644 --- a/extensions/cookie/nsPermissionManager.cpp +++ b/extensions/cookie/nsPermissionManager.cpp @@ -37,9 +37,11 @@ * * ***** END LICENSE BLOCK ***** */ +#ifdef MOZ_IPC #include "mozilla/dom/ContentParent.h" #include "mozilla/dom/ContentChild.h" #include "mozilla/unused.h" +#endif #include "nsPermissionManager.h" #include "nsPermission.h" #include "nsCRT.h" @@ -61,6 +63,7 @@ static nsPermissionManager *gPermissionManager = nsnull; +#ifdef MOZ_IPC using mozilla::dom::ContentParent; using mozilla::dom::ContentChild; using mozilla::unused; // ha! @@ -105,6 +108,7 @@ ParentProcess() return nsnull; } +#endif #define ENSURE_NOT_CHILD_PROCESS_(onError) \ PR_BEGIN_MACRO \ @@ -170,7 +174,9 @@ NS_IMPL_ISUPPORTS3(nsPermissionManager, nsIPermissionManager, nsIObserver, nsISu nsPermissionManager::nsPermissionManager() : mLargestID(0) +#ifdef MOZ_IPC , mUpdateChildProcess(PR_FALSE) +#endif { } @@ -227,6 +233,7 @@ nsPermissionManager::Init() mObserverService->AddObserver(this, "profile-do-change", PR_TRUE); } +#ifdef MOZ_IPC if (IsChildProcess()) { // Get the permissions from the parent process InfallibleTArray perms; @@ -241,6 +248,7 @@ nsPermissionManager::Init() // Stop here; we don't need the DB in the child process return NS_OK; } +#endif // ignore failure here, since it's non-fatal (we can run fine without // persistent storage - e.g. if there's no profile). @@ -432,7 +440,9 @@ nsPermissionManager::Add(nsIURI *aURI, PRUint32 aExpireType, PRInt64 aExpireTime) { +#ifdef MOZ_IPC ENSURE_NOT_CHILD_PROCESS; +#endif NS_ENSURE_ARG_POINTER(aURI); NS_ENSURE_ARG_POINTER(aType); @@ -466,6 +476,7 @@ nsPermissionManager::AddInternal(const nsAFlatCString &aHost, NotifyOperationType aNotifyOperation, DBOperationType aDBOperation) { +#ifdef MOZ_IPC if (!IsChildProcess()) { // In the parent, send the update now, if the child is ready if (mUpdateChildProcess) { @@ -475,6 +486,7 @@ nsPermissionManager::AddInternal(const nsAFlatCString &aHost, unused << ParentProcess()->SendAddPermission(permission); } } +#endif if (!gHostArena) { gHostArena = new PLArenaPool; @@ -615,7 +627,9 @@ NS_IMETHODIMP nsPermissionManager::Remove(const nsACString &aHost, const char *aType) { +#ifdef MOZ_IPC ENSURE_NOT_CHILD_PROCESS; +#endif NS_ENSURE_ARG_POINTER(aType); @@ -633,7 +647,9 @@ nsPermissionManager::Remove(const nsACString &aHost, NS_IMETHODIMP nsPermissionManager::RemoveAll() { +#ifdef MOZ_IPC ENSURE_NOT_CHILD_PROCESS; +#endif nsresult rv = RemoveAllInternal(); NotifyObservers(nsnull, NS_LITERAL_STRING("cleared").get()); @@ -790,7 +806,9 @@ AddPermissionsToList(nsHostEntry *entry, void *arg) NS_IMETHODIMP nsPermissionManager::GetEnumerator(nsISimpleEnumerator **aEnum) { +#ifdef MOZ_IPC ENSURE_NOT_CHILD_PROCESS; +#endif // roll an nsCOMArray of all our permissions, then hand out an enumerator nsCOMArray array; @@ -803,7 +821,9 @@ NS_IMETHODIMP nsPermissionManager::GetEnumerator(nsISimpleEnumerator **aEnum) NS_IMETHODIMP nsPermissionManager::Observe(nsISupports *aSubject, const char *aTopic, const PRUnichar *someData) { +#ifdef MOZ_IPC ENSURE_NOT_CHILD_PROCESS; +#endif if (!nsCRT::strcmp(aTopic, "profile-before-change")) { // The profile is about to change, @@ -900,7 +920,9 @@ nsPermissionManager::NotifyObservers(nsIPermission *aPermission, nsresult nsPermissionManager::Read() { +#ifdef MOZ_IPC ENSURE_NOT_CHILD_PROCESS; +#endif nsresult rv; @@ -968,7 +990,9 @@ static const char kMatchTypeHost[] = "host"; nsresult nsPermissionManager::Import() { +#ifdef MOZ_IPC ENSURE_NOT_CHILD_PROCESS; +#endif nsresult rv; @@ -1074,7 +1098,9 @@ nsPermissionManager::UpdateDB(OperationType aOp, PRUint32 aExpireType, PRInt64 aExpireTime) { +#ifdef MOZ_IPC ENSURE_NOT_CHILD_PROCESS_NORET; +#endif nsresult rv; diff --git a/extensions/cookie/nsPermissionManager.h b/extensions/cookie/nsPermissionManager.h index 78786a32943f..b45772a6fea6 100644 --- a/extensions/cookie/nsPermissionManager.h +++ b/extensions/cookie/nsPermissionManager.h @@ -251,6 +251,7 @@ private: // An array to store the strings identifying the different types. nsTArray mTypeArray; +#ifdef MOZ_IPC // Whether we should update the child process with every change to a // permission. This is set to true once the child is ready to receive // such updates. @@ -261,6 +262,7 @@ public: { mUpdateChildProcess = PR_TRUE; } +#endif }; // {4F6B5E00-0C36-11d5-A535-0010A401EB10} diff --git a/extensions/cookie/test/Makefile.in b/extensions/cookie/test/Makefile.in index 2bd0b08dda8f..79dd07701dc5 100644 --- a/extensions/cookie/test/Makefile.in +++ b/extensions/cookie/test/Makefile.in @@ -96,10 +96,12 @@ libs:: $(_BROWSER_TEST_FILES) XPCSHELL_TESTS = unit +ifdef MOZ_IPC # FIXME/bug 575918: out-of-process xpcshell is broken on OS X ifneq ($(OS_ARCH),Darwin) XPCSHELL_TESTS += unit_ipc endif +endif include $(topsrcdir)/config/rules.mk diff --git a/gfx/Makefile.in b/gfx/Makefile.in index 381e345d262d..288c9f78ce4e 100644 --- a/gfx/Makefile.in +++ b/gfx/Makefile.in @@ -59,12 +59,16 @@ endif DIRS += angle -DIRS += src qcms layers harfbuzz/src ots/src thebes src/thebes ipc +DIRS += src qcms layers harfbuzz/src ots/src thebes src/thebes ifdef BUILD_STATIC_LIBS DIRS += ycbcr endif +ifdef MOZ_IPC +DIRS += ipc +endif + ifdef ENABLE_TESTS TOOL_DIRS += tests endif diff --git a/gfx/ipc/Makefile.in b/gfx/ipc/Makefile.in index c0950b2425e4..85c3fb0f6f98 100644 --- a/gfx/ipc/Makefile.in +++ b/gfx/ipc/Makefile.in @@ -42,6 +42,8 @@ VPATH = @srcdir@ include $(DEPTH)/config/autoconf.mk +ifdef MOZ_IPC + MODULE = gfxipc LIBRARY_NAME = gfxipc_s FORCE_STATIC_LIB = 1 @@ -71,6 +73,8 @@ endif include $(topsrcdir)/config/config.mk include $(topsrcdir)/ipc/chromium/chromium-config.mk +endif + include $(topsrcdir)/config/rules.mk CXXFLAGS += $(MOZ_CAIRO_CFLAGS) $(TK_CFLAGS) diff --git a/gfx/layers/Layers.cpp b/gfx/layers/Layers.cpp index c3527ac8f85a..eae4fa9cd186 100644 --- a/gfx/layers/Layers.cpp +++ b/gfx/layers/Layers.cpp @@ -38,7 +38,9 @@ * * ***** END LICENSE BLOCK ***** */ -#include "mozilla/layers/ShadowLayers.h" +#ifdef MOZ_IPC +# include "mozilla/layers/ShadowLayers.h" +#endif // MOZ_IPC #include "ImageLayers.h" #include "Layers.h" @@ -239,6 +241,7 @@ Layer::CanUseOpaqueSurface() parent->CanUseOpaqueSurface(); } +#ifdef MOZ_IPC // NB: eventually these methods will be defined unconditionally, and // can be moved into Layers.h const nsIntRect* @@ -259,6 +262,13 @@ Layer::GetEffectiveVisibleRegion() return GetVisibleRegion(); } +#else + +const nsIntRect* Layer::GetEffectiveClipRect() { return GetClipRect(); } +const nsIntRegion& Layer::GetEffectiveVisibleRegion() { return GetVisibleRegion(); } + +#endif // MOZ_IPC + gfx3DMatrix Layer::SnapTransform(const gfx3DMatrix& aTransform, const gfxRect& aSnapRect, @@ -351,8 +361,10 @@ Layer::CalculateScissorRect(bool aIntermediate, const gfx3DMatrix& Layer::GetLocalTransform() { +#ifdef MOZ_IPC if (ShadowLayer* shadow = AsShadowLayer()) return shadow->GetShadowTransform(); +#endif return mTransform; } @@ -690,6 +702,7 @@ LayerManager::IsLogEnabled() return PR_LOG_TEST(sLog, PR_LOG_DEBUG); } +# ifdef MOZ_IPC static nsACString& PrintInfo(nsACString& aTo, ShadowLayer* aShadowLayer) { @@ -707,6 +720,12 @@ PrintInfo(nsACString& aTo, ShadowLayer* aShadowLayer) } return aTo; } +# else +static nsACString& PrintInfo(nsACString& aTo, ShadowLayer* aShadowLayer) +{ + return aTo; +} +# endif // MOZ_IPC #else // !MOZ_LAYERS_HAVE_LOG diff --git a/gfx/layers/Makefile.in b/gfx/layers/Makefile.in index daef4cd59425..0eb89f1f9bf8 100644 --- a/gfx/layers/Makefile.in +++ b/gfx/layers/Makefile.in @@ -44,11 +44,14 @@ VPATH = \ $(srcdir)/opengl \ $(srcdir)/d3d9 \ $(srcdir)/d3d10 \ - $(srcdir)/ipc \ $(NULL) include $(DEPTH)/config/autoconf.mk +ifdef MOZ_IPC +VPATH += $(srcdir)/ipc +endif + MODULE = thebes LIBRARY_NAME = layers LIBXUL_LIBRARY = 1 @@ -124,6 +127,7 @@ CPPSRCS += \ endif endif +ifdef MOZ_IPC #{ EXPORTS_NAMESPACES = IPC mozilla/layers EXPORTS_IPC = ShadowLayerUtils.h EXPORTS_mozilla/layers =\ @@ -145,6 +149,8 @@ EXPORTS_mozilla/layers += ShadowLayerUtilsX11.h CPPSRCS += ShadowLayerUtilsX11.cpp endif #} +endif #} + # Enable GLES2.0 under maemo ifdef MOZ_X11 ifdef MOZ_PLATFORM_MAEMO @@ -154,7 +160,9 @@ endif include $(topsrcdir)/config/rules.mk +ifdef MOZ_IPC include $(topsrcdir)/ipc/chromium/chromium-config.mk +endif CXXFLAGS += $(MOZ_CAIRO_CFLAGS) $(TK_CFLAGS) diff --git a/gfx/layers/basic/BasicLayers.cpp b/gfx/layers/basic/BasicLayers.cpp index 5d6a2f3122b4..86bfa762e677 100644 --- a/gfx/layers/basic/BasicLayers.cpp +++ b/gfx/layers/basic/BasicLayers.cpp @@ -36,12 +36,14 @@ * * ***** END LICENSE BLOCK ***** */ -#include "gfxSharedImageSurface.h" +#ifdef MOZ_IPC +# include "gfxSharedImageSurface.h" -#include "mozilla/layers/PLayerChild.h" -#include "mozilla/layers/PLayersChild.h" -#include "mozilla/layers/PLayersParent.h" -#include "ipc/ShadowLayerChild.h" +# include "mozilla/layers/PLayerChild.h" +# include "mozilla/layers/PLayersChild.h" +# include "mozilla/layers/PLayersParent.h" +# include "ipc/ShadowLayerChild.h" +#endif #include "BasicLayers.h" #include "ImageLayers.h" @@ -1607,6 +1609,8 @@ BasicLayerManager::CreateReadbackLayer() return layer.forget(); } +#ifdef MOZ_IPC + class BasicShadowableThebesLayer; class BasicShadowableLayer : public ShadowableLayer { @@ -2890,6 +2894,7 @@ BasicShadowLayerManager::IsCompositingCheap() return mShadowManager && LayerManager::IsCompositingCheap(GetParentBackendType()); } +#endif // MOZ_IPC } } diff --git a/gfx/layers/basic/BasicLayers.h b/gfx/layers/basic/BasicLayers.h index 392479d38e80..6590f618001d 100644 --- a/gfx/layers/basic/BasicLayers.h +++ b/gfx/layers/basic/BasicLayers.h @@ -45,7 +45,9 @@ #include "nsAutoRef.h" #include "nsThreadUtils.h" +#ifdef MOZ_IPC #include "mozilla/layers/ShadowLayers.h" +#endif class nsIWidget; @@ -69,7 +71,11 @@ class ReadbackProcessor; * between layers). */ class THEBES_API BasicLayerManager : +#ifdef MOZ_IPC public ShadowLayerManager +#else + public LayerManager +#endif { public: /** @@ -229,6 +235,7 @@ protected: }; +#ifdef MOZ_IPC class BasicShadowLayerManager : public BasicLayerManager, public ShadowLayerForwarder { @@ -277,6 +284,7 @@ private: LayerRefArray mKeepAlive; }; +#endif // MOZ_IPC } } diff --git a/gfx/layers/opengl/CanvasLayerOGL.cpp b/gfx/layers/opengl/CanvasLayerOGL.cpp index e7b5c2fec7aa..c7f4478ecc65 100644 --- a/gfx/layers/opengl/CanvasLayerOGL.cpp +++ b/gfx/layers/opengl/CanvasLayerOGL.cpp @@ -35,7 +35,9 @@ * * ***** END LICENSE BLOCK ***** */ +#ifdef MOZ_IPC # include "gfxSharedImageSurface.h" +#endif #include "CanvasLayerOGL.h" @@ -251,6 +253,8 @@ CanvasLayerOGL::RenderLayer(int aPreviousDestination, } +#ifdef MOZ_IPC + ShadowCanvasLayerOGL::ShadowCanvasLayerOGL(LayerManagerOGL* aManager) : ShadowCanvasLayer(aManager, nsnull) , LayerOGL(aManager) @@ -338,3 +342,5 @@ ShadowCanvasLayerOGL::RenderLayer(int aPreviousFrameBuffer, mOGLManager->BindAndDrawQuad(program); } + +#endif // MOZ_IPC diff --git a/gfx/layers/opengl/CanvasLayerOGL.h b/gfx/layers/opengl/CanvasLayerOGL.h index 24bc189bd9e5..23a66d5c4919 100644 --- a/gfx/layers/opengl/CanvasLayerOGL.h +++ b/gfx/layers/opengl/CanvasLayerOGL.h @@ -38,8 +38,10 @@ #ifndef GFX_CANVASLAYEROGL_H #define GFX_CANVASLAYEROGL_H +#ifdef MOZ_IPC # include "mozilla/layers/PLayers.h" # include "mozilla/layers/ShadowLayers.h" +#endif // MOZ_IPC #include "LayerManagerOGL.h" #include "gfxASurface.h" @@ -87,6 +89,7 @@ protected: PRPackedBool mNeedsYFlip; }; +#ifdef MOZ_IPC // NB: eventually we'll have separate shadow canvas2d and shadow // canvas3d layers, but currently they look the same from the // perspective of the compositor process @@ -127,6 +130,7 @@ private: }; +#endif // MOZ_IPC } /* layers */ } /* mozilla */ diff --git a/gfx/layers/opengl/ColorLayerOGL.cpp b/gfx/layers/opengl/ColorLayerOGL.cpp index bf45085c435a..de29e49a3b0d 100644 --- a/gfx/layers/opengl/ColorLayerOGL.cpp +++ b/gfx/layers/opengl/ColorLayerOGL.cpp @@ -80,12 +80,14 @@ ColorLayerOGL::RenderLayer(int, return RenderColorLayer(this, mOGLManager, aOffset); } +#ifdef MOZ_IPC void ShadowColorLayerOGL::RenderLayer(int, const nsIntPoint& aOffset) { return RenderColorLayer(this, mOGLManager, aOffset); } +#endif // MOZ_IPC } /* layers */ diff --git a/gfx/layers/opengl/ColorLayerOGL.h b/gfx/layers/opengl/ColorLayerOGL.h index 717dc9a90f78..4cd291e079e7 100644 --- a/gfx/layers/opengl/ColorLayerOGL.h +++ b/gfx/layers/opengl/ColorLayerOGL.h @@ -38,8 +38,10 @@ #ifndef GFX_COLORLAYEROGL_H #define GFX_COLORLAYEROGL_H +#ifdef MOZ_IPC # include "mozilla/layers/PLayers.h" # include "mozilla/layers/ShadowLayers.h" +#endif // MOZ_IPC #include "LayerManagerOGL.h" @@ -67,6 +69,7 @@ public: const nsIntPoint& aOffset); }; +#ifdef MOZ_IPC class ShadowColorLayerOGL : public ShadowColorLayer, public LayerOGL { @@ -87,6 +90,7 @@ public: virtual void RenderLayer(int aPreviousFrameBuffer, const nsIntPoint& aOffset); }; +#endif // MOZ_IPC } /* layers */ } /* mozilla */ diff --git a/gfx/layers/opengl/ContainerLayerOGL.cpp b/gfx/layers/opengl/ContainerLayerOGL.cpp index 2d77443b77f1..f7121f257774 100644 --- a/gfx/layers/opengl/ContainerLayerOGL.cpp +++ b/gfx/layers/opengl/ContainerLayerOGL.cpp @@ -343,6 +343,8 @@ ContainerLayerOGL::RenderLayer(int aPreviousFrameBuffer, } +#ifdef MOZ_IPC + ShadowContainerLayerOGL::ShadowContainerLayerOGL(LayerManagerOGL *aManager) : ShadowContainerLayer(aManager, NULL) , LayerOGL(aManager) @@ -389,6 +391,8 @@ ShadowContainerLayerOGL::RenderLayer(int aPreviousFrameBuffer, ContainerRender(this, aPreviousFrameBuffer, aOffset, mOGLManager); } +#endif // MOZ_IPC + } /* layers */ } /* mozilla */ diff --git a/gfx/layers/opengl/ContainerLayerOGL.h b/gfx/layers/opengl/ContainerLayerOGL.h index 74fc728bc75e..2a1184335ddd 100644 --- a/gfx/layers/opengl/ContainerLayerOGL.h +++ b/gfx/layers/opengl/ContainerLayerOGL.h @@ -38,8 +38,10 @@ #ifndef GFX_CONTAINERLAYEROGL_H #define GFX_CONTAINERLAYEROGL_H +#ifdef MOZ_IPC # include "mozilla/layers/PLayers.h" # include "mozilla/layers/ShadowLayers.h" +#endif #include "Layers.h" #include "LayerManagerOGL.h" @@ -98,6 +100,7 @@ public: } }; +#ifdef MOZ_IPC class ShadowContainerLayerOGL : public ShadowContainerLayer, public LayerOGL { @@ -136,6 +139,7 @@ public: DefaultComputeEffectiveTransforms(aTransformToSurface); } }; +#endif // MOZ_IPC } /* layers */ } /* mozilla */ diff --git a/gfx/layers/opengl/ImageLayerOGL.cpp b/gfx/layers/opengl/ImageLayerOGL.cpp index 8a4a896cc9be..122a2dcc2a4f 100644 --- a/gfx/layers/opengl/ImageLayerOGL.cpp +++ b/gfx/layers/opengl/ImageLayerOGL.cpp @@ -36,7 +36,9 @@ * * ***** END LICENSE BLOCK ***** */ +#ifdef MOZ_IPC # include "gfxSharedImageSurface.h" +#endif #include "ImageLayerOGL.h" #include "gfxImageSurface.h" @@ -743,6 +745,8 @@ CairoImageOGL::SetData(const CairoImage::Data &aData) tex); } +#ifdef MOZ_IPC + ShadowImageLayerOGL::ShadowImageLayerOGL(LayerManagerOGL* aManager) : ShadowImageLayer(aManager, nsnull) , LayerOGL(aManager) @@ -833,6 +837,8 @@ ShadowImageLayerOGL::RenderLayer(int aPreviousFrameBuffer, mOGLManager->BindAndDrawQuad(program); } +#endif // MOZ_IPC + } /* layers */ } /* mozilla */ diff --git a/gfx/layers/opengl/ImageLayerOGL.h b/gfx/layers/opengl/ImageLayerOGL.h index 8169f8b766b6..09493b17c0fa 100644 --- a/gfx/layers/opengl/ImageLayerOGL.h +++ b/gfx/layers/opengl/ImageLayerOGL.h @@ -38,8 +38,10 @@ #ifndef GFX_IMAGELAYEROGL_H #define GFX_IMAGELAYEROGL_H +#ifdef MOZ_IPC # include "mozilla/layers/PLayers.h" # include "mozilla/layers/ShadowLayers.h" +#endif // MOZ_IPC #include "LayerManagerOGL.h" #include "ImageLayers.h" @@ -232,6 +234,7 @@ public: gl::ShaderProgramType mLayerProgram; }; +#ifdef MOZ_IPC class ShadowImageLayerOGL : public ShadowImageLayer, public LayerOGL { @@ -268,6 +271,7 @@ private: }; +#endif } /* layers */ } /* mozilla */ diff --git a/gfx/layers/opengl/LayerManagerOGL.cpp b/gfx/layers/opengl/LayerManagerOGL.cpp index 5d3c8b850a13..070a75a343d4 100644 --- a/gfx/layers/opengl/LayerManagerOGL.cpp +++ b/gfx/layers/opengl/LayerManagerOGL.cpp @@ -37,7 +37,9 @@ * * ***** END LICENSE BLOCK ***** */ +#ifdef MOZ_IPC # include "mozilla/layers/PLayers.h" +#endif // MOZ_IPC #include "LayerManagerOGL.h" #include "ThebesLayerOGL.h" @@ -968,6 +970,8 @@ void LayerOGL::ApplyFilter(gfxPattern::GraphicsFilter aFilter) } } +#ifdef MOZ_IPC + already_AddRefed LayerManagerOGL::CreateShadowThebesLayer() { @@ -1018,6 +1022,20 @@ LayerManagerOGL::CreateShadowCanvasLayer() return nsRefPtr(new ShadowCanvasLayerOGL(this)).forget(); } +#else + +already_AddRefed +LayerManagerOGL::CreateShadowThebesLayer() { return nsnull; } +already_AddRefed +LayerManagerOGL::CreateShadowContainerLayer() { return nsnull; } +already_AddRefed +LayerManagerOGL::CreateShadowImageLayer() { return nsnull; } +already_AddRefed +LayerManagerOGL::CreateShadowColorLayer() { return nsnull; } +already_AddRefed +LayerManagerOGL::CreateShadowCanvasLayer() { return nsnull; } + +#endif // MOZ_IPC } /* layers */ } /* mozilla */ diff --git a/gfx/layers/opengl/LayerManagerOGL.h b/gfx/layers/opengl/LayerManagerOGL.h index 0cc7d76968fa..a49803537615 100644 --- a/gfx/layers/opengl/LayerManagerOGL.h +++ b/gfx/layers/opengl/LayerManagerOGL.h @@ -42,7 +42,9 @@ #include "Layers.h" +#ifdef MOZ_IPC #include "mozilla/layers/ShadowLayers.h" +#endif #ifdef XP_WIN #include @@ -82,7 +84,11 @@ class ShadowColorLayer; * the main thread. */ class THEBES_API LayerManagerOGL : +#ifdef MOZ_IPC public ShadowLayerManager +#else + public LayerManager +#endif { typedef mozilla::gl::GLContext GLContext; typedef mozilla::gl::ShaderProgramType ProgramType; diff --git a/gfx/layers/opengl/ThebesLayerOGL.cpp b/gfx/layers/opengl/ThebesLayerOGL.cpp index dd71cde4ee6e..a36371e2c302 100644 --- a/gfx/layers/opengl/ThebesLayerOGL.cpp +++ b/gfx/layers/opengl/ThebesLayerOGL.cpp @@ -36,8 +36,10 @@ * * ***** END LICENSE BLOCK ***** */ +#ifdef MOZ_IPC # include "mozilla/layers/PLayers.h" # include "mozilla/layers/ShadowLayers.h" +#endif #include "ThebesLayerBuffer.h" #include "ThebesLayerOGL.h" @@ -776,6 +778,8 @@ ThebesLayerOGL::IsEmpty() } +#ifdef MOZ_IPC + class ShadowBufferOGL : public ThebesLayerBufferOGL { public: @@ -948,6 +952,8 @@ ShadowThebesLayerOGL::RenderLayer(int aPreviousFrameBuffer, mBuffer->RenderTo(aOffset, mOGLManager); } +#endif // MOZ_IPC + } /* layers */ } /* mozilla */ diff --git a/gfx/layers/opengl/ThebesLayerOGL.h b/gfx/layers/opengl/ThebesLayerOGL.h index b2b459437a31..ab1a9bc91db6 100644 --- a/gfx/layers/opengl/ThebesLayerOGL.h +++ b/gfx/layers/opengl/ThebesLayerOGL.h @@ -38,8 +38,10 @@ #ifndef GFX_THEBESLAYEROGL_H #define GFX_THEBESLAYEROGL_H -#include "mozilla/layers/PLayers.h" -#include "mozilla/layers/ShadowLayers.h" +#ifdef MOZ_IPC +# include "mozilla/layers/PLayers.h" +# include "mozilla/layers/ShadowLayers.h" +#endif #include "Layers.h" #include "LayerManagerOGL.h" @@ -84,6 +86,7 @@ private: nsRefPtr mBuffer; }; +#ifdef MOZ_IPC class ShadowThebesLayerOGL : public ShadowThebesLayer, public LayerOGL { @@ -114,6 +117,7 @@ public: private: nsRefPtr mBuffer; }; +#endif // MOZ_IPC } /* layers */ } /* mozilla */ diff --git a/gfx/thebes/Makefile.in b/gfx/thebes/Makefile.in index fbc9ac47390f..531c78b03e21 100644 --- a/gfx/thebes/Makefile.in +++ b/gfx/thebes/Makefile.in @@ -47,8 +47,13 @@ EXPORTS = \ GLContextProviderImpl.h \ nsCoreAnimationSupport.h \ EGLUtils.h \ + $(NULL) + +ifdef MOZ_IPC +EXPORTS += \ gfxSharedImageSurface.h \ $(NULL) +endif ifeq ($(MOZ_WIDGET_TOOLKIT),android) EXPORTS += \ @@ -180,7 +185,6 @@ CPPSRCS = \ gfxHarfBuzzShaper.cpp \ GLContext.cpp \ GLContextProviderOSMesa.cpp \ - gfxSharedImageSurface.cpp \ $(NULL) # Are we targeting x86 or x64? If so, build gfxAlphaRecoverySSE2.cpp. @@ -199,6 +203,12 @@ endif endif +ifdef MOZ_IPC +CPPSRCS += \ + gfxSharedImageSurface.cpp \ + $(NULL) +endif + SHARED_LIBRARY_LIBS += \ ../layers/$(LIB_PREFIX)layers.$(LIB_SUFFIX) \ $(NULL) diff --git a/gfx/thebes/gfxAndroidPlatform.cpp b/gfx/thebes/gfxAndroidPlatform.cpp index 4254268e60bf..6e5fe1ac4eed 100644 --- a/gfx/thebes/gfxAndroidPlatform.cpp +++ b/gfx/thebes/gfxAndroidPlatform.cpp @@ -35,8 +35,10 @@ * the terms of any one of the MPL, the GPL or the LGPL. * * ***** END LICENSE BLOCK ***** */ +#ifdef MOZ_IPC #include "mozilla/dom/ContentChild.h" #include "nsXULAppAPI.h" +#endif #include @@ -171,8 +173,10 @@ public: mMap.ops = nsnull; LOG("initializing the map failed"); } +#ifdef MOZ_IPC NS_ABORT_IF_FALSE(XRE_GetProcessType() == GeckoProcessType_Default, "StartupCacheFontNameCache should only be used in chrome procsess"); +#endif mCache = mozilla::scache::StartupCache::GetSingleton(); Init(); } diff --git a/ipc/chromium/chromium-config.mk b/ipc/chromium/chromium-config.mk index 09fc3db2287e..8b09ed1730f9 100644 --- a/ipc/chromium/chromium-config.mk +++ b/ipc/chromium/chromium-config.mk @@ -46,6 +46,8 @@ CHROMIUM_CONFIG_INCLUDED = 1 EXTRA_DEPS += $(topsrcdir)/ipc/chromium/chromium-config.mk +ifdef MOZ_IPC # { + DEFINES += \ -DEXCLUDE_SKIA_DEPENDENCIES \ -DCHROMIUM_MOZILLA_BUILD \ @@ -106,3 +108,4 @@ OS_CXXFLAGS := $(filter-out -pedantic,$(OS_CXXFLAGS)) endif # } endif # } +endif # } \ No newline at end of file diff --git a/js/src/xpconnect/shell/xpcshell.cpp b/js/src/xpconnect/shell/xpcshell.cpp index 82a9050298be..0dcb8071567d 100644 --- a/js/src/xpconnect/shell/xpcshell.cpp +++ b/js/src/xpconnect/shell/xpcshell.cpp @@ -678,6 +678,8 @@ Clear(JSContext *cx, uintN argc, jsval *vp) return JS_TRUE; } +#ifdef MOZ_IPC + static JSBool SendCommand(JSContext* cx, uintN argc, @@ -722,6 +724,8 @@ GetChildGlobalObject(JSContext* cx, return JS_FALSE; } +#endif // MOZ_IPC + /* * JSContext option name to flag map. The option names are in alphabetical * order for better reporting. @@ -856,8 +860,10 @@ static JSFunctionSpec glob_functions[] = { #ifdef DEBUG {"dumpHeap", DumpHeap, 5,0}, #endif +#ifdef MOZ_IPC {"sendCommand", SendCommand, 1,0}, {"getChildGlobalObject", GetChildGlobalObject, 0,0}, +#endif #ifdef MOZ_CALLGRIND {"startCallgrind", js_StartCallgrind, 0,0}, {"stopCallgrind", js_StopCallgrind, 0,0}, @@ -2013,8 +2019,10 @@ main(int argc, char **argv) JS_DestroyContext(cx); } // this scopes the nsCOMPtrs +#ifdef MOZ_IPC if (!XRE_ShutdownTestShell()) NS_ERROR("problem shutting down testshell"); +#endif #ifdef MOZ_CRASHREPORTER // Get the crashreporter service while XPCOM is still active. diff --git a/layout/Makefile.in b/layout/Makefile.in index 7964c1a905c0..98501607b071 100644 --- a/layout/Makefile.in +++ b/layout/Makefile.in @@ -52,13 +52,16 @@ PARALLEL_DIRS = \ tables \ xul/base/public \ xul/base/src \ - ipc \ $(NULL) ifdef NS_PRINTING PARALLEL_DIRS += printing endif +ifdef MOZ_IPC +PARALLEL_DIRS += ipc +endif + ifdef MOZ_MATHML PARALLEL_DIRS += \ mathml \ diff --git a/layout/base/Makefile.in b/layout/base/Makefile.in index b728ac362cd7..3e9cf6485c59 100644 --- a/layout/base/Makefile.in +++ b/layout/base/Makefile.in @@ -148,7 +148,9 @@ FORCE_STATIC_LIB = 1 include $(topsrcdir)/config/rules.mk +ifdef MOZ_IPC include $(topsrcdir)/ipc/chromium/chromium-config.mk +endif LOCAL_INCLUDES += \ -I$(srcdir) \ diff --git a/layout/base/nsDisplayList.cpp b/layout/base/nsDisplayList.cpp index f3a8dbde7ac7..dcea41baf357 100644 --- a/layout/base/nsDisplayList.cpp +++ b/layout/base/nsDisplayList.cpp @@ -1701,6 +1701,8 @@ nsDisplayOwnLayer::BuildLayer(nsDisplayListBuilder* aBuilder, return layer.forget(); } +#ifdef MOZ_IPC + nsDisplayScrollLayer::nsDisplayScrollLayer(nsDisplayListBuilder* aBuilder, nsDisplayList* aList, nsIFrame* aForFrame, @@ -1780,6 +1782,8 @@ nsDisplayScrollLayer::~nsDisplayScrollLayer() } #endif +#endif + nsDisplayClip::nsDisplayClip(nsDisplayListBuilder* aBuilder, nsIFrame* aFrame, nsDisplayItem* aItem, const nsRect& aRect) diff --git a/layout/base/nsDisplayList.h b/layout/base/nsDisplayList.h index 8785eeb488f5..f2644eacd7cb 100644 --- a/layout/base/nsDisplayList.h +++ b/layout/base/nsDisplayList.h @@ -1769,6 +1769,7 @@ public: NS_DISPLAY_DECL_NAME("OwnLayer", TYPE_OWN_LAYER) }; +#ifdef MOZ_IPC /** * This creates a layer for the given list of items, whose visibility is * determined by the displayport for the given frame instead of what is @@ -1816,6 +1817,7 @@ public: private: nsIFrame* mViewportFrame; }; +#endif /** * nsDisplayClip can clip a list of items, but we take a single item diff --git a/layout/build/Makefile.in b/layout/build/Makefile.in index f36829e6b0db..9cc786bef433 100644 --- a/layout/build/Makefile.in +++ b/layout/build/Makefile.in @@ -78,11 +78,17 @@ EXPORTS = \ nsLayoutStatics.h \ $(NULL) +ifdef MOZ_IPC +GKIPCLIB=../ipc/$(LIB_PREFIX)gkipc_s.$(LIB_SUFFIX) +else +GKIPCLIB=$(NULL) +endif + SHARED_LIBRARY_LIBS = \ ../base/$(LIB_PREFIX)gkbase_s.$(LIB_SUFFIX) \ ../forms/$(LIB_PREFIX)gkforms_s.$(LIB_SUFFIX) \ ../generic/$(LIB_PREFIX)gkgeneric_s.$(LIB_SUFFIX) \ - ../ipc/$(LIB_PREFIX)gkipc_s.$(LIB_SUFFIX) \ + $(GKIPCLIB) \ ../style/$(LIB_PREFIX)gkstyle_s.$(LIB_SUFFIX) \ ../tables/$(LIB_PREFIX)gktable_s.$(LIB_SUFFIX) \ ../xul/base/src/$(LIB_PREFIX)gkxulbase_s.$(LIB_SUFFIX) \ @@ -294,8 +300,10 @@ ifdef MOZ_NATIVE_LIBVPX EXTRA_DSO_LDOPTS += $(MOZ_LIBVPX_LIBS) endif +ifdef MOZ_IPC include $(topsrcdir)/config/config.mk include $(topsrcdir)/ipc/chromium/chromium-config.mk +endif include $(topsrcdir)/config/rules.mk diff --git a/layout/build/nsLayoutModule.cpp b/layout/build/nsLayoutModule.cpp index 94ed5f64a003..65e6b7b765c5 100644 --- a/layout/build/nsLayoutModule.cpp +++ b/layout/build/nsLayoutModule.cpp @@ -36,7 +36,9 @@ * * ***** END LICENSE BLOCK ***** */ +#ifdef MOZ_IPC #include "base/basictypes.h" +#endif #include "xpcmodule.h" #include "mozilla/ModuleUtils.h" diff --git a/layout/generic/nsObjectFrame.cpp b/layout/generic/nsObjectFrame.cpp index 6d2a5e1092ba..b3f31f6a0f7f 100644 --- a/layout/generic/nsObjectFrame.cpp +++ b/layout/generic/nsObjectFrame.cpp @@ -55,7 +55,9 @@ #undef slots #endif +#ifdef MOZ_IPC #include "mozilla/plugins/PluginMessageUtils.h" +#endif #ifdef MOZ_X11 #include @@ -238,7 +240,9 @@ static PRLogModuleInfo *nsObjectFrameLM = PR_NewLogModule("nsObjectFrame"); #endif using namespace mozilla; +#ifdef MOZ_IPC using namespace mozilla::plugins; +#endif using namespace mozilla::layers; // special class for handeling DOM context menu events because for @@ -2351,6 +2355,7 @@ nsObjectFrame::PaintPlugin(nsDisplayListBuilder* aBuilder, nsPoint origin; gfxWindowsNativeDrawing nativeDraw(ctx, frameGfxRect); +#ifdef MOZ_IPC if (nativeDraw.IsDoublePass()) { // OOP plugin specific: let the shim know before we paint if we are doing a // double pass render. If this plugin isn't oop, the register window message @@ -2362,6 +2367,7 @@ nsObjectFrame::PaintPlugin(nsDisplayListBuilder* aBuilder, if (pluginEvent.event) inst->HandleEvent(&pluginEvent, nsnull); } +#endif do { HDC hdc = nativeDraw.BeginNativeDrawing(); if (!hdc) diff --git a/layout/generic/nsSubDocumentFrame.cpp b/layout/generic/nsSubDocumentFrame.cpp index 03e115c7397e..4fd1470140e2 100644 --- a/layout/generic/nsSubDocumentFrame.cpp +++ b/layout/generic/nsSubDocumentFrame.cpp @@ -43,8 +43,10 @@ * as ,