Bug 639754 - Remove MOZ_IPC checks since IPC is always built now; r=bsmedberg
authorMatheus Kerschbaum <matjk7@gmail.com>
Sat, 02 Apr 2011 19:14:00 -0700
changeset 67579 70cedf3a3327ce6cbb671a061dad6d94b2723b4e
parent 67578 9de34ccb71ee2967797998227f57849c510c3ea2
child 67580 09f0f34dcd8a8efff487ec48a77ee5774ed002e9
push id19390
push usereakhgari@mozilla.com
push dateWed, 06 Apr 2011 23:41:23 +0000
treeherdermozilla-central@4a3d11e05c8e [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersbsmedberg
bugs639754
milestone2.2a1pre
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 639754 - Remove MOZ_IPC checks since IPC is always built now; r=bsmedberg
browser/app/profile/firefox.js
browser/installer/Makefile.in
browser/installer/package-manifest.in
chrome/src/Makefile.in
chrome/src/nsChromeRegistry.cpp
chrome/src/nsChromeRegistryChrome.cpp
chrome/src/nsChromeRegistryChrome.h
chrome/test/Makefile.in
config/autoconf.mk.in
configure.in
content/base/src/Makefile.in
content/base/src/nsDocument.cpp
content/base/src/nsFrameLoader.cpp
content/base/src/nsFrameLoader.h
content/base/src/nsFrameMessageManager.cpp
content/canvas/src/Makefile.in
content/canvas/src/nsCanvasRenderingContext2D.cpp
content/events/src/nsDOMEvent.cpp
content/events/src/nsDOMNotifyPaintEvent.cpp
content/events/src/nsDOMNotifyPaintEvent.h
content/events/src/nsDOMScrollAreaEvent.cpp
content/events/src/nsDOMScrollAreaEvent.h
content/events/src/nsDOMUIEvent.cpp
content/events/src/nsDOMUIEvent.h
content/events/src/nsEventStateManager.cpp
content/events/src/nsEventStateManager.h
content/html/content/src/Makefile.in
content/html/content/src/nsHTMLCanvasElement.cpp
content/html/content/src/nsHTMLDNSPrefetch.cpp
content/html/content/src/nsHTMLDNSPrefetch.h
content/media/nsAudioStream.cpp
content/media/nsAudioStream.h
docshell/base/IHistory.h
docshell/base/nsDocShell.cpp
dom/Makefile.in
dom/base/Makefile.in
dom/base/nsGlobalWindow.cpp
dom/plugins/Makefile.in
dom/src/geolocation/Makefile.in
dom/src/geolocation/nsGeolocation.cpp
dom/src/geolocation/nsGeolocation.h
dom/src/notification/nsDesktopNotification.cpp
dom/src/notification/nsDesktopNotification.h
dom/src/offline/nsDOMOfflineResourceList.cpp
dom/src/storage/Makefile.in
dom/src/storage/nsDOMStorage.cpp
embedding/browser/webBrowser/nsWebBrowser.cpp
extensions/cookie/nsPermissionManager.cpp
extensions/cookie/nsPermissionManager.h
extensions/cookie/test/Makefile.in
gfx/Makefile.in
gfx/ipc/Makefile.in
gfx/layers/Layers.cpp
gfx/layers/Makefile.in
gfx/layers/basic/BasicLayers.cpp
gfx/layers/basic/BasicLayers.h
gfx/layers/opengl/CanvasLayerOGL.cpp
gfx/layers/opengl/CanvasLayerOGL.h
gfx/layers/opengl/ColorLayerOGL.cpp
gfx/layers/opengl/ColorLayerOGL.h
gfx/layers/opengl/ContainerLayerOGL.cpp
gfx/layers/opengl/ContainerLayerOGL.h
gfx/layers/opengl/ImageLayerOGL.cpp
gfx/layers/opengl/ImageLayerOGL.h
gfx/layers/opengl/LayerManagerOGL.cpp
gfx/layers/opengl/LayerManagerOGL.h
gfx/layers/opengl/ThebesLayerOGL.cpp
gfx/layers/opengl/ThebesLayerOGL.h
gfx/thebes/Makefile.in
gfx/thebes/gfxAndroidPlatform.cpp
ipc/chromium/chromium-config.mk
js/src/xpconnect/shell/xpcshell.cpp
layout/Makefile.in
layout/base/Makefile.in
layout/base/nsDisplayList.cpp
layout/base/nsDisplayList.h
layout/build/Makefile.in
layout/build/nsLayoutModule.cpp
layout/generic/nsObjectFrame.cpp
layout/generic/nsSubDocumentFrame.cpp
modules/libpref/src/nsPrefBranch.cpp
modules/libpref/src/nsPrefService.cpp
modules/libpref/test/Makefile.in
modules/plugin/base/src/Makefile.in
modules/plugin/base/src/nsJSNPRuntime.cpp
modules/plugin/base/src/nsNPAPIPlugin.cpp
modules/plugin/base/src/nsNPAPIPlugin.h
modules/plugin/base/src/nsPluginHost.cpp
modules/plugin/base/src/nsPluginHost.h
modules/plugin/base/src/nsPluginNativeWindowWin.cpp
modules/plugin/base/src/nsPluginsDirDarwin.cpp
netwerk/Makefile.in
netwerk/base/public/Makefile.in
netwerk/base/public/nsNetUtil.h
netwerk/base/src/Makefile.in
netwerk/base/src/nsBufferedStreams.cpp
netwerk/base/src/nsFileStreams.cpp
netwerk/base/src/nsIOService.cpp
netwerk/base/src/nsMIMEInputStream.cpp
netwerk/base/src/nsSimpleNestedURI.cpp
netwerk/base/src/nsSimpleURI.cpp
netwerk/base/src/nsStandardURL.cpp
netwerk/base/src/nsStandardURL.h
netwerk/build/Makefile.in
netwerk/build/nsNetModule.cpp
netwerk/cache/nsCacheService.cpp
netwerk/cookie/Makefile.in
netwerk/cookie/nsCookieService.cpp
netwerk/cookie/nsCookieService.h
netwerk/protocol/about/nsAboutProtocolHandler.cpp
netwerk/protocol/ftp/Makefile.in
netwerk/protocol/ftp/nsFtpProtocolHandler.cpp
netwerk/protocol/http/HttpBaseChannel.cpp
netwerk/protocol/http/Makefile.in
netwerk/protocol/http/nsHttp.h
netwerk/protocol/http/nsHttpChannel.cpp
netwerk/protocol/http/nsHttpHandler.cpp
netwerk/protocol/http/nsHttpResponseHead.h
netwerk/protocol/http/nsHttpTransaction.cpp
netwerk/protocol/res/nsResProtocolHandler.cpp
netwerk/protocol/res/nsResProtocolHandler.h
netwerk/protocol/wyciwyg/Makefile.in
netwerk/protocol/wyciwyg/nsWyciwyg.h
netwerk/protocol/wyciwyg/nsWyciwygChannel.cpp
netwerk/protocol/wyciwyg/nsWyciwygProtocolHandler.cpp
netwerk/test/Makefile.in
security/manager/ssl/src/Makefile.in
security/manager/ssl/src/nsNSSCertificate.cpp
security/manager/ssl/src/nsNSSComponent.cpp
security/manager/ssl/src/nsNSSIOLayer.cpp
security/manager/ssl/src/nsNSSModule.cpp
toolkit/components/contentprefs/tests/Makefile.in
toolkit/components/places/History.cpp
toolkit/components/places/tests/cpp/test_IHistory.cpp
toolkit/crashreporter/nsExceptionHandler.cpp
toolkit/crashreporter/nsExceptionHandler.h
toolkit/library/dlldeps-xul.cpp
toolkit/library/libxul-config.mk
toolkit/library/nsStaticXULComponents.cpp
toolkit/mozapps/installer/packager.mk
toolkit/toolkit-tiers.mk
toolkit/xre/nsAppRunner.cpp
toolkit/xre/nsAppRunner.h
toolkit/xre/nsEmbedFunctions.cpp
toolkit/xre/nsSigHandlers.cpp
toolkit/xre/nsX11ErrorHandler.cpp
uriloader/exthandler/Makefile.in
uriloader/exthandler/nsExternalHelperAppService.cpp
uriloader/exthandler/tests/Makefile.in
uriloader/prefetch/Makefile.in
uriloader/prefetch/OfflineCacheUpdateChild.cpp
uriloader/prefetch/nsOfflineCacheUpdate.cpp
uriloader/prefetch/nsOfflineCacheUpdateService.cpp
widget/public/nsGUIEvent.h
widget/public/nsIWidget.h
widget/src/android/AndroidBridge.cpp
widget/src/android/nsWidgetFactory.cpp
widget/src/android/nsWindow.cpp
widget/src/gtk2/nsWindow.h
widget/src/qt/nsWidgetFactory.cpp
widget/src/shared/nsShmImage.h
widget/src/windows/Makefile.in
widget/src/windows/nsWindow.cpp
widget/src/windows/nsWindow.h
widget/src/windows/nsWindowGfx.cpp
widget/src/xpwidgets/Makefile.in
widget/src/xpwidgets/nsBaseAppShell.cpp
widget/src/xpwidgets/nsBaseWidget.cpp
xpcom/base/nsTraceRefcntImpl.cpp
xpcom/build/nsXPComInit.cpp
xpcom/components/ManifestParser.cpp
xpcom/io/nsMultiplexInputStream.cpp
xpcom/io/nsStringStream.cpp
xpcom/threads/nsThread.cpp
--- a/browser/app/profile/firefox.js
+++ b/browser/app/profile/firefox.js
@@ -943,20 +943,18 @@ pref("toolbar.customization.usesheet", f
 // (Turning it on in a no-IPC build will have no effect.)
 #ifdef XP_MACOSX
 // i386 ipc preferences
 pref("dom.ipc.plugins.enabled.i386", false);
 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);
-#elifdef MOZ_IPC
+#else
 pref("dom.ipc.plugins.enabled", true);
-#else
-pref("dom.ipc.plugins.enabled", false);
 #endif
 
 #ifdef XP_WIN
 #ifndef WINCE
 pref("browser.taskbar.previews.enable", false);
 pref("browser.taskbar.previews.max", 20);
 pref("browser.taskbar.previews.cachetime", 5);
 pref("browser.taskbar.lists.enabled", true);
--- a/browser/installer/Makefile.in
+++ b/browser/installer/Makefile.in
@@ -89,17 +89,16 @@ DEFINES += -DJAREXT=
 endif
 
 ifdef MOZ_ANGLE
 DEFINES += -DMOZ_ANGLE=$(MOZ_ANGLE)
 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)
 
 ifdef MOZ_PKG_MANIFEST_P
 MOZ_PKG_MANIFEST = package-manifest
 
 $(MOZ_PKG_MANIFEST): $(MOZ_PKG_MANIFEST_P)
 	$(PYTHON) $(topsrcdir)/config/Preprocessor.py $(DEFINES) $(ACDEFINES) $< > $@
--- a/browser/installer/package-manifest.in
+++ b/browser/installer/package-manifest.in
@@ -46,23 +46,21 @@
 @BINPATH@/@DLL_PREFIX@xpcom@DLL_SUFFIX@
 @BINPATH@/@DLL_PREFIX@nspr4@DLL_SUFFIX@
 @BINPATH@/@DLL_PREFIX@mozalloc@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
 #if _MSC_VER == 1400
 @BINPATH@/Microsoft.VC80.CRT.manifest
 @BINPATH@/msvcm80.dll
 @BINPATH@/msvcp80.dll
--- a/chrome/src/Makefile.in
+++ b/chrome/src/Makefile.in
@@ -53,22 +53,19 @@ EXPORTS_NAMESPACES = mozilla/chrome
 EXPORTS_mozilla/chrome = \
 		RegistryMessageUtils.h \
 		$(NULL)
 
 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) \
                 $(NULL)
 
 ifneq (,$(filter gtk2,$(MOZ_WIDGET_TOOLKIT)))
 EXTRA_DSO_LDOPTS += $(MOZ_GTK2_LIBS)
 endif
--- a/chrome/src/nsChromeRegistry.cpp
+++ b/chrome/src/nsChromeRegistry.cpp
@@ -36,19 +36,17 @@
  * and other provisions required by the GPL or the LGPL. If you do not delete
  * the provisions above, a recipient may use your version of this file under
  * the terms of any one of the MPL, the GPL or the LGPL.
  *
  * ***** END LICENSE BLOCK ***** */
 
 #include "nsChromeRegistry.h"
 #include "nsChromeRegistryChrome.h"
-#ifdef MOZ_IPC
 #include "nsChromeRegistryContent.h"
-#endif
 
 #include <string.h>
 
 #include "prio.h"
 #include "prprf.h"
 
 #include "nsCOMPtr.h"
 #include "nsDOMError.h"
@@ -672,20 +670,18 @@ already_AddRefed<nsChromeRegistry>
 nsChromeRegistry::GetSingleton()
 {
   if (gChromeRegistry) {
     NS_ADDREF(gChromeRegistry);
     return gChromeRegistry;
   }
 
   nsRefPtr<nsChromeRegistry> cr;
-#ifdef MOZ_IPC
   if (GeckoProcessType_Content == XRE_GetProcessType())
     cr = new nsChromeRegistryContent();
   else
-#endif
     cr = new nsChromeRegistryChrome();
 
   if (NS_FAILED(cr->Init()))
     return NULL;
 
   return cr.forget();
 }
--- a/chrome/src/nsChromeRegistryChrome.cpp
+++ b/chrome/src/nsChromeRegistryChrome.cpp
@@ -31,21 +31,19 @@
  * use your version of this file under the terms of the MPL, indicate your
  * decision by deleting the provisions above and replace them with the notice
  * and other provisions required by the GPL or the LGPL. If you do not delete
  * the provisions above, a recipient may use your version of this file under
  * the terms of any one of the MPL, the GPL or the LGPL.
  *
  * ***** END LICENSE BLOCK ***** */
 
-#ifdef MOZ_IPC
 #include "mozilla/dom/PContentParent.h"
 #include "RegistryMessageUtils.h"
 #include "nsResProtocolHandler.h"
-#endif
 
 #include "nsChromeRegistryChrome.h"
 
 #if defined(XP_WIN)
 #include <windows.h>
 #elif defined(XP_MACOSX)
 #include <CoreServices/CoreServices.h>
 #elif defined(MOZ_WIDGET_GTK2)
@@ -438,17 +436,16 @@ void nsChromeRegistryChrome::UpdateSelec
         mozilla::services::GetObserverService();
       NS_ASSERTION(obsSvc, "Couldn't get observer service.");
       obsSvc->NotifyObservers((nsIChromeRegistry*) this,
                               "selected-locale-has-changed", nsnull);
     }
   }
 }
 
-#ifdef MOZ_IPC
 static void
 SerializeURI(nsIURI* aURI,
              SerializedURI& aSerializedURI)
 {
   if (!aURI)
     return;
 
   aURI->GetSpec(aSerializedURI.spec);
@@ -536,17 +533,16 @@ nsChromeRegistryChrome::CollectPackages(
     contentURI,
     localeURI,
     skinURI,
     package->flags
   };
   args->packages.AppendElement(chromePackage);
   return (PLDHashOperator)PL_DHASH_NEXT;
 }
-#endif
 
 static PRBool
 CanLoadResource(nsIURI* aResourceURI)
 {
   PRBool isLocalResource = PR_FALSE;
   (void)NS_URIChainHasFlags(aResourceURI,
                             nsIProtocolHandler::URI_IS_LOCAL_RESOURCE,
                             &isLocalResource);
--- a/chrome/src/nsChromeRegistryChrome.h
+++ b/chrome/src/nsChromeRegistryChrome.h
@@ -70,26 +70,22 @@ class nsChromeRegistryChrome : public ns
 
 #ifdef MOZ_XUL
   NS_OVERRIDE NS_IMETHOD GetXULOverlays(nsIURI *aURI,
                                         nsISimpleEnumerator **_retval);
   NS_OVERRIDE NS_IMETHOD GetStyleOverlays(nsIURI *aURI,
                                           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();
   NS_OVERRIDE nsIURI* GetBaseURIFromPackage(const nsCString& aPackage,
                                              const nsCString& aProvider,
                                              const nsCString& aPath);
   NS_OVERRIDE nsresult GetFlagsFromPackage(const nsCString& aPackage,
                                            PRUint32* aFlags);
--- a/chrome/test/Makefile.in
+++ b/chrome/test/Makefile.in
@@ -42,16 +42,14 @@ relativesrcdir = chrome/test
 VPATH = @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
 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
--- a/config/autoconf.mk.in
+++ b/config/autoconf.mk.in
@@ -97,17 +97,16 @@ MOZ_JS_LIBS		   = @MOZ_JS_LIBS@
 MOZ_DEBUG	= @MOZ_DEBUG@
 MOZ_DEBUG_SYMBOLS = @MOZ_DEBUG_SYMBOLS@
 MOZ_DEBUG_ENABLE_DEFS		= @MOZ_DEBUG_ENABLE_DEFS@
 MOZ_DEBUG_DISABLE_DEFS	= @MOZ_DEBUG_DISABLE_DEFS@
 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@
 MOZ_PROFILING   = @MOZ_PROFILING@
 MOZ_JPROF       = @MOZ_JPROF@
 MOZ_SHARK       = @MOZ_SHARK@
 MOZ_CALLGRIND   = @MOZ_CALLGRIND@
 MOZ_VTUNE       = @MOZ_VTUNE@
--- a/configure.in
+++ b/configure.in
@@ -4945,17 +4945,16 @@ MOZ_ARG_HEADER(Application)
 
 BUILD_STATIC_LIBS=
 ENABLE_TESTS=1
 MOZ_ACTIVEX_SCRIPTING_SUPPORT=
 MOZ_BRANDING_DIRECTORY=
 MOZ_OFFICIAL_BRANDING=
 MOZ_FEEDS=1
 MOZ_INSTALLER=1
-MOZ_IPC=1
 MOZ_JAVAXPCOM=
 MOZ_JSDEBUGGER=1
 MOZ_MATHML=1
 MOZ_MORK=
 MOZ_MORKREADER=1
 MOZ_AUTH_EXTENSION=1
 MOZ_NO_ACTIVEX_SUPPORT=1
 MOZ_NO_FAST_LOAD=
@@ -5821,31 +5820,16 @@ dnl = JS Debugger XPCOM component (js/js
 dnl ========================================================
 MOZ_ARG_DISABLE_BOOL(jsd,
 [  --disable-jsd           Disable JavaScript debug library],
     MOZ_JSDEBUGGER=,
     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 ========================================================
 MOZ_IPDL_TESTS=
 
 MOZ_ARG_ENABLE_BOOL(ipdl-tests,
 [  --enable-ipdl-tests     Enable expensive IPDL tests],
     MOZ_IPDL_TESTS=1,
     MOZ_IPDL_TESTS=)
--- a/content/base/src/Makefile.in
+++ b/content/base/src/Makefile.in
@@ -173,24 +173,19 @@ FORCE_STATIC_LIB = 1
 
 EXTRA_COMPONENTS = \
 		$(srcdir)/nsBadCertHandler.js \
 		nsBadCertHandler.manifest \
 		contentSecurityPolicy.js \
 		contentSecurityPolicy.manifest \
 		contentAreaDropListener.js \
 		contentAreaDropListener.manifest \
-		$(NULL)
-
-ifdef MOZ_IPC
-EXTRA_COMPONENTS += \
 		messageWakeupService.js \
 		messageWakeupService.manifest \
 		$(NULL)
-endif
 
 EXTRA_JS_MODULES = \
 		CSPUtils.jsm \
 		$(NULL)
 
 include $(topsrcdir)/config/config.mk
 include $(topsrcdir)/ipc/chromium/chromium-config.mk
 include $(topsrcdir)/config/rules.mk
--- a/content/base/src/nsDocument.cpp
+++ b/content/base/src/nsDocument.cpp
@@ -8345,22 +8345,20 @@ PLDHashOperator UnlockEnumerator(imgIReq
   aKey->UnlockImage();
   return PL_DHASH_NEXT;
 }
 
 
 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)
     return NS_OK;
 
   // Otherwise, iterate over our images and perform the appropriate action.
   mImageTracker.EnumerateRead(aLocked ? LockEnumerator
                                       : UnlockEnumerator,
--- a/content/base/src/nsFrameLoader.cpp
+++ b/content/base/src/nsFrameLoader.cpp
@@ -39,19 +39,17 @@
  *
  * ***** END LICENSE BLOCK ***** */
 
 /*
  * Class for managing loading of a subframe (creation of the docshell,
  * handling of loads in it, recursion-checking).
  */
 
-#ifdef MOZ_IPC
-#  include "base/basictypes.h"
-#endif
+#include "base/basictypes.h"
 
 #include "prenv.h"
 
 #include "nsIDOMHTMLIFrameElement.h"
 #include "nsIDOMHTMLFrameElement.h"
 #include "nsIDOMWindow.h"
 #include "nsIPresShell.h"
 #include "nsIContent.h"
@@ -107,25 +105,22 @@
 
 #include "nsIDOMChromeWindow.h"
 #include "nsInProcessTabChildGlobal.h"
 #include "mozilla/AutoRestore.h"
 #include "mozilla/unused.h"
 
 #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;
 
 #include "jsapi.h"
 
 class nsAsyncDocShellDestroyer : public nsRunnable
 {
 public:
@@ -319,23 +314,21 @@ nsFrameLoader::nsFrameLoader(nsIContent 
   , mDepthTooGreat(PR_FALSE)
   , mIsTopLevelContent(PR_FALSE)
   , mDestroyCalled(PR_FALSE)
   , mNeedsAsyncDestroy(PR_FALSE)
   , mInSwap(PR_FALSE)
   , 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)
 {
 }
 
 nsFrameLoader*
 nsFrameLoader::Create(nsIContent* aOwner, PRBool aNetworkCreated)
 {
   NS_ENSURE_TRUE(aOwner, nsnull);
@@ -443,32 +436,30 @@ nsFrameLoader::ReallyStartLoadingInterna
 {
   NS_ENSURE_STATE(mURIToLoad && mOwnerContent && mOwnerContent->IsInDoc());
 
   nsresult rv = MaybeCreateDocShell();
   if (NS_FAILED(rv)) {
     return rv;
   }
 
-#ifdef MOZ_IPC
   if (mRemoteFrame) {
     if (!mRemoteBrowser) {
       TryRemoteBrowser();
 
       if (!mRemoteBrowser) {
         NS_WARNING("Couldn't create child process for iframe.");
         return NS_ERROR_FAILURE;
       }
     }
 
     // FIXME get error codes from child
     mRemoteBrowser->LoadURL(mURIToLoad);
     return NS_OK;
   }
-#endif
 
   NS_ASSERTION(mDocShell,
                "MaybeCreateDocShell succeeded with a null mDocShell");
 
   // Just to be safe, recheck uri.
   rv = CheckURILoad(mURIToLoad);
   NS_ENSURE_SUCCESS(rv, rv);
 
@@ -529,42 +520,38 @@ nsFrameLoader::CheckURILoad(nsIURI* aURI
     return rv; // We're not
   }
 
   // Bail out if this is an infinite recursion scenario
   rv = MaybeCreateDocShell();
   if (NS_FAILED(rv)) {
     return rv;
   }
-#ifdef MOZ_IPC
   if (mRemoteFrame) {
     return NS_OK;
   }
-#endif
   return CheckForRecursiveLoad(aURI);
 }
 
 NS_IMETHODIMP
 nsFrameLoader::GetDocShell(nsIDocShell **aDocShell)
 {
   *aDocShell = nsnull;
 
   // If we have an owner, make sure we have a docshell and return
   // that. If not, we're most likely in the middle of being torn down,
   // then we just return null.
   if (mOwnerContent) {
     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");
   }
 
   *aDocShell = mDocShell;
   NS_IF_ADDREF(*aDocShell);
 
   return NS_OK;
@@ -771,20 +758,17 @@ nsFrameLoader::Show(PRInt32 marginWidth,
   AutoResetInShow resetInShow(this);
   mInShow = PR_TRUE;
 
   nsresult rv = MaybeCreateDocShell();
   if (NS_FAILED(rv)) {
     return PR_FALSE;
   }
 
-#ifdef MOZ_IPC
-  if (!mRemoteFrame)
-#endif
-  {
+  if (!mRemoteFrame) {
     if (!mDocShell)
       return PR_FALSE;
     nsCOMPtr<nsIPresShell> presShell;
     mDocShell->GetPresShell(getter_AddRefs(presShell));
     if (presShell)
       return PR_TRUE;
 
     mDocShell->SetMarginWidth(marginWidth);
@@ -798,21 +782,19 @@ nsFrameLoader::Show(PRInt32 marginWidth,
                                          scrollbarPrefY);
     }
   }
 
   nsIView* view = frame->EnsureInnerView();
   if (!view)
     return PR_FALSE;
 
-#ifdef MOZ_IPC
   if (mRemoteFrame) {
     return ShowRemoteFrame(GetSubDocumentSize(frame));
   }
-#endif
 
   nsCOMPtr<nsIBaseWindow> baseWindow = do_QueryInterface(mDocShell);
   NS_ASSERTION(baseWindow, "Found a nsIDocShell that isn't a nsIBaseWindow.");
   nsIntSize size;
   if (!(frame->GetStateBits() & NS_FRAME_FIRST_REFLOW)) {
     // We have a useful size already; use it, since we might get no
     // more size updates.
     size = GetSubDocumentSize(frame);
@@ -875,17 +857,16 @@ nsFrameLoader::Show(PRInt32 marginWidth,
   if (mHideCalled) {
     mHideCalled = PR_FALSE;
     Hide();
     return PR_FALSE;
   }
   return PR_TRUE;
 }
 
-#ifdef MOZ_IPC
 bool
 nsFrameLoader::ShowRemoteFrame(const nsIntSize& size)
 {
   NS_ASSERTION(mRemoteFrame, "ShowRemote only makes sense on remote frames.");
 
   if (!mRemoteBrowser) {
     TryRemoteBrowser();
 
@@ -904,17 +885,16 @@ nsFrameLoader::ShowRemoteFrame(const nsI
 
     EnsureMessageManager();
   } else {
     mRemoteBrowser->Move(size);
   }
 
   return true;
 }
-#endif
 
 void
 nsFrameLoader::Hide()
 {
   if (mHideCalled) {
     return;
   }
   if (mInShow) {
@@ -1229,23 +1209,21 @@ nsFrameLoader::SwapWithOtherLoader(nsFra
 
   mInSwap = aOther->mInSwap = PR_FALSE;
   return NS_OK;
 }
 
 void
 nsFrameLoader::DestroyChild()
 {
-#ifdef MOZ_IPC
   if (mRemoteBrowser) {
     mRemoteBrowser->SetOwnerElement(nsnull);
     mRemoteBrowser->Destroy();
     mRemoteBrowser = nsnull;
   }
-#endif
 }
 
 NS_IMETHODIMP
 nsFrameLoader::Destroy()
 {
   if (mDestroyCalled) {
     return NS_OK;
   }
@@ -1322,24 +1300,21 @@ nsFrameLoader::GetDepthTooGreat(PRBool* 
   *aDepthTooGreat = mDepthTooGreat;
   return NS_OK;
 }
 
 void
 nsFrameLoader::SetOwnerContent(nsIContent* aContent)
 {
   mOwnerContent = aContent;
-#ifdef MOZ_IPC
   if (RenderFrameParent* rfp = GetCurrentRemoteFrame()) {
     rfp->OwnerContentChanged(aContent);
   }
-#endif
 }
 
-#ifdef MOZ_IPC
 bool
 nsFrameLoader::ShouldUseRemoteProcess()
 {
   // Check for *disabled* multi-process first: environment, prefs, attribute
   // Then check for *enabled* multi-process pref: attribute, prefs
   // Default is not-remote.
 
   if (PR_GetEnv("MOZ_DISABLE_OOP_TABS")) {
@@ -1365,37 +1340,32 @@ nsFrameLoader::ShouldUseRemoteProcess()
   case 1:
     return true;
   }
 
   PRBool remoteEnabled = nsContentUtils::GetBoolPref("dom.ipc.tabs.enabled",
                                                      PR_FALSE);
   return (bool) remoteEnabled;
 }
-#endif
 
 nsresult
 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
   // better setup for doing this.
   nsIDocument* doc = mOwnerContent->GetOwnerDoc();
   if (!doc || !(doc->IsStaticDocument() || mOwnerContent->IsInDoc())) {
     return NS_ERROR_UNEXPECTED;
   }
@@ -1534,20 +1504,18 @@ nsFrameLoader::CheckForRecursiveLoad(nsI
 {
   nsresult rv;
 
   mDepthTooGreat = PR_FALSE;
   rv = MaybeCreateDocShell();
   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;
   }
 
   nsCOMPtr<nsIDocShellTreeItem> treeItem = do_QueryInterface(mDocShell);
   NS_ASSERTION(treeItem, "docshell must be a treeitem!");
 
   // Check that we're still in the docshell tree.
@@ -1637,25 +1605,23 @@ nsFrameLoader::CheckForRecursiveLoad(nsI
   }
 
   return NS_OK;
 }
 
 NS_IMETHODIMP
 nsFrameLoader::UpdatePositionAndSize(nsIFrame *aIFrame)
 {
-#ifdef MOZ_IPC
   if (mRemoteFrame) {
     if (mRemoteBrowser) {
       nsIntSize size = GetSubDocumentSize(aIFrame);
       mRemoteBrowser->Move(size);
     }
     return NS_OK;
   }
-#endif
   return UpdateBaseWindowPositionAndSize(aIFrame);
 }
 
 nsresult
 nsFrameLoader::UpdateBaseWindowPositionAndSize(nsIFrame *aIFrame)
 {
   nsCOMPtr<nsIDocShell> docShell;
   GetDocShell(getter_AddRefs(docShell));
@@ -1713,17 +1679,16 @@ nsFrameLoader::GetSubDocumentSize(const 
     docSizeAppUnits = aIFrame->GetSize();
   } else {
     docSizeAppUnits = aIFrame->GetContentRect().Size();
   }
   return nsIntSize(presContext->AppUnitsToDevPixels(docSizeAppUnits.width),
                    presContext->AppUnitsToDevPixels(docSizeAppUnits.height));
 }
 
-#ifdef MOZ_IPC
 bool
 nsFrameLoader::TryRemoteBrowser()
 {
   NS_ASSERTION(!mRemoteBrowser, "TryRemoteBrowser called with a remote browser already?");
 
   nsIDocument* doc = mOwnerContent->GetDocument();
   if (!doc) {
     return false;
@@ -1793,110 +1758,93 @@ nsFrameLoader::TryRemoteBrowser()
     nsCOMPtr<nsIBrowserDOMWindow> browserDOMWin;
     rootChromeWin->GetBrowserDOMWindow(getter_AddRefs(browserDOMWin));
     mRemoteBrowser->SetBrowserDOMWindow(browserDOMWin);
     
     mChildHost = parent;
   }
   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;
 }
 
 NS_IMETHODIMP
 nsFrameLoader::SendCrossProcessMouseEvent(const nsAString& aType,
                                           float aX,
                                           float aY,
                                           PRInt32 aButton,
                                           PRInt32 aClickCount,
                                           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;
 }
 
 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;
 }
 
 NS_IMETHODIMP
 nsFrameLoader::SendCrossProcessKeyEvent(const nsAString& aType,
                                         PRInt32 aKeyCode,
                                         PRInt32 aCharCode,
                                         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<nsIRunnable> ev =
       NS_NewRunnableMethod(mRemoteBrowser,
                            &mozilla::dom::TabParent::HandleDelayedDialogs);
     NS_DispatchToCurrentThread(ev);
   }
   mDelayRemoteDialogs = aDelay;
-#endif
   return NS_OK;
 }
 
 nsresult
 nsFrameLoader::CreateStaticClone(nsIFrameLoader* aDest)
 {
   nsFrameLoader* dest = static_cast<nsFrameLoader*>(aDest);
   dest->MaybeCreateDocShell();
@@ -1917,23 +1865,21 @@ nsFrameLoader::CreateStaticClone(nsIFram
   nsCOMPtr<nsIDOMDocument> clonedDOMDoc = do_QueryInterface(clonedDoc);
 
   viewer->SetDOMDocument(clonedDOMDoc);
   return NS_OK;
 }
 
 bool LoadScript(void* aCallbackData, const nsAString& aURL)
 {
-#ifdef MOZ_IPC
   mozilla::dom::PBrowserParent* tabParent =
     static_cast<nsFrameLoader*>(aCallbackData)->GetRemoteBrowser();
   if (tabParent) {
     return tabParent->SendLoadRemoteScript(nsString(aURL));
   }
-#endif
   nsFrameLoader* fl = static_cast<nsFrameLoader*>(aCallbackData);
   nsRefPtr<nsInProcessTabChildGlobal> tabChild =
     static_cast<nsInProcessTabChildGlobal*>(fl->GetTabChildGlobalAsEventTarget());
   if (tabChild) {
     tabChild->LoadFrameScript(aURL);
   }
   return true;
 }
@@ -1960,23 +1906,21 @@ public:
   nsString mMessage;
   nsString mJSON;
 };
 
 bool SendAsyncMessageToChild(void* aCallbackData,
                              const nsAString& aMessage,
                              const nsAString& aJSON)
 {
-#ifdef MOZ_IPC
   mozilla::dom::PBrowserParent* tabParent =
     static_cast<nsFrameLoader*>(aCallbackData)->GetRemoteBrowser();
   if (tabParent) {
     return tabParent->SendAsyncMessage(nsString(aMessage), nsString(aJSON));
   }
-#endif
   nsRefPtr<nsIRunnable> ev =
     new nsAsyncMessageToChild(static_cast<nsFrameLoader*>(aCallbackData),
                               aMessage, aJSON);
   NS_DispatchToCurrentThread(ev);
   return true;
 }
 
 NS_IMETHODIMP
@@ -1991,17 +1935,16 @@ nsFrameLoader::GetMessageManager(nsIChro
 
 NS_IMETHODIMP
 nsFrameLoader::GetContentViewsIn(float aXPx, float aYPx,
                                  float aTopSize, float aRightSize,
                                  float aBottomSize, float aLeftSize,
                                  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;
   nscoord h = nsPresContext::CSSPixelsToAppUnits(aTopSize + aBottomSize) + 1;
   nsRect target(x, y, w, h);
 
   nsIFrame* frame = GetPrimaryFrameOfOwningContent();
 
@@ -2019,96 +1962,79 @@ nsFrameLoader::GetContentViewsIn(float a
   for (PRUint32 i = 0; i < ids.Length(); i++) {
     nsIContentView* view = GetCurrentRemoteFrame()->GetContentView(ids[i]);
     NS_ABORT_IF_FALSE(view, "Retrieved ID from RenderFrameParent, it should be valid!");
     nsRefPtr<nsIContentView>(view).forget(&result[i]);
   }
 
   *aResult = result;
   *aLength = ids.Length();
-#else
-  *aResult = nsnull;
-  *aLength = 0;
-#endif
 
   return NS_OK;
 }
 
 NS_IMETHODIMP
 nsFrameLoader::GetRootContentView(nsIContentView** aContentView)
 {
-#ifdef MOZ_IPC
   RenderFrameParent* rfp = GetCurrentRemoteFrame();
   if (!rfp) {
     *aContentView = nsnull;
     return NS_OK;
   }
 
   nsContentView* view = rfp->GetContentView();
   NS_ABORT_IF_FALSE(view, "Should always be able to create root scrollable!");
   nsRefPtr<nsIContentView>(view).forget(aContentView);
 
   return NS_OK;
-#else
-  return NS_ERROR_NOT_IMPLEMENTED;
-#endif
-
 }
 
 nsresult
 nsFrameLoader::EnsureMessageManager()
 {
   NS_ENSURE_STATE(mOwnerContent);
 
   nsresult rv = MaybeCreateDocShell();
   if (NS_FAILED(rv)) {
     return rv;
   }
 
-  if (!mIsTopLevelContent
-#ifdef MOZ_IPC
-      && !mRemoteFrame
-#endif
-      ) {
+  if (!mIsTopLevelContent && !mRemoteFrame) {
     return NS_OK;
   }
 
   if (mMessageManager) {
-#ifdef MOZ_IPC
     if (ShouldUseRemoteProcess()) {
       mMessageManager->SetCallbackData(mRemoteBrowserShown ? this : nsnull);
     }
-#endif
     return NS_OK;
   }
 
   nsIScriptContext* sctx = mOwnerContent->GetContextForEventHandlers(&rv);
   NS_ENSURE_SUCCESS(rv, rv);
   NS_ENSURE_STATE(sctx);
   JSContext* cx = static_cast<JSContext*>(sctx->GetNativeContext());
   NS_ENSURE_STATE(cx);
 
   nsCOMPtr<nsIDOMChromeWindow> chromeWindow =
     do_QueryInterface(mOwnerContent->GetOwnerDoc()->GetWindow());
   NS_ENSURE_STATE(chromeWindow);
   nsCOMPtr<nsIChromeFrameMessageManager> parentManager;
   chromeWindow->GetMessageManager(getter_AddRefs(parentManager));
 
-#ifdef MOZ_IPC
   if (ShouldUseRemoteProcess()) {
     mMessageManager = new nsFrameMessageManager(PR_TRUE,
                                                 nsnull,
                                                 SendAsyncMessageToChild,
                                                 LoadScript,
                                                 mRemoteBrowserShown ? this : nsnull,
                                                 static_cast<nsFrameMessageManager*>(parentManager.get()),
                                                 cx);
     NS_ENSURE_TRUE(mMessageManager, NS_ERROR_OUT_OF_MEMORY);
   } else
-#endif
   {
 
     mMessageManager = new nsFrameMessageManager(PR_TRUE,
                                                 nsnull,
                                                 SendAsyncMessageToChild,
                                                 LoadScript,
                                                 nsnull,
                                                 static_cast<nsFrameMessageManager*>(parentManager.get()),
--- a/content/base/src/nsFrameLoader.h
+++ b/content/base/src/nsFrameLoader.h
@@ -56,17 +56,16 @@
 
 class nsIContent;
 class nsIURI;
 class nsSubDocumentFrame;
 class nsIView;
 class nsIInProcessContentFrameMessageManager;
 class AutoResetInShow;
 
-#ifdef MOZ_IPC
 namespace mozilla {
 namespace dom {
 class PBrowserParent;
 class TabParent;
 }
 
 namespace layout {
 class RenderFrameParent;
@@ -74,17 +73,16 @@ class RenderFrameParent;
 }
 
 #ifdef MOZ_WIDGET_GTK2
 typedef struct _GtkWidget GtkWidget;
 #endif
 #ifdef MOZ_WIDGET_QT
 class QX11EmbedContainer;
 #endif
-#endif
 
 /**
  * Defines a target configuration for this <browser>'s content
  * document's view.  If the content document's actual view
  * doesn't match this nsIContentView, then on paints its pixels
  * are transformed to compensate for the difference.
  *
  * Used to support asynchronous re-paints of content pixels; see
@@ -162,21 +160,19 @@ private:
   ViewConfig mConfig;
 };
 
 
 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);
 
 public:
   ~nsFrameLoader() {
     mNeedsAsyncDestroy = PR_TRUE;
     if (mMessageManager) {
@@ -241,17 +237,16 @@ public:
 
   /** 
    * Return the document that owns this, or null if we don't have
    * an owner.
    */
   nsIDocument* GetOwnerDoc() const
   { return mOwnerContent ? mOwnerContent->GetOwnerDoc() : nsnull; }
 
-#ifdef MOZ_IPC
   PBrowserParent* GetRemoteBrowser();
 
   /**
    * The "current" render frame is the one on which the most recent
    * remote layer-tree transaction was executed.  If no content has
    * been drawn yet, or the remote browser doesn't have any drawn
    * content for whatever reason, return NULL.  The returned render
    * frame has an associated shadow layer tree.
@@ -272,27 +267,24 @@ public:
    * |aFrame| can be null.  If non-null, it must be the remote frame
    * on which the most recent layer transaction completed for this's
    * <browser>.
    */
   void SetCurrentRemoteFrame(RenderFrameParent* aFrame)
   {
     mCurrentRemoteFrame = aFrame;
   }
-#endif
   nsFrameMessageManager* GetFrameMessageManager() { return mMessageManager; }
 
   nsIContent* GetOwnerContent() { return mOwnerContent; }
   void SetOwnerContent(nsIContent* aContent);
 
 private:
 
-#ifdef MOZ_IPC
   bool ShouldUseRemoteProcess();
-#endif
 
   /**
    * If we are an IPC frame, set mRemoteFrame. Otherwise, create and
    * initialize mDocShell.
    */
   nsresult MaybeCreateDocShell();
   nsresult EnsureMessageManager();
   NS_HIDDEN_(void) GetURL(nsString& aURL);
@@ -302,23 +294,21 @@ private:
 
   // Updates the subdocument position and size. This gets called only
   // when we have our own in-process DocShell.
   NS_HIDDEN_(nsresult) UpdateBaseWindowPositionAndSize(nsIFrame *aIFrame);
   nsresult CheckURILoad(nsIURI* aURI);
   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<nsIDocShell> mDocShell;
   nsCOMPtr<nsIURI> mURIToLoad;
   nsIContent *mOwnerContent; // WEAK
 public:
   // public because a callback needs these.
   nsRefPtr<nsFrameMessageManager> mMessageManager;
   nsCOMPtr<nsIInProcessContentFrameMessageManager> mChildMessageManager;
@@ -330,25 +320,23 @@ private:
   PRPackedBool mInSwap : 1;
   PRPackedBool mInShow : 1;
   PRPackedBool mHideCalled : 1;
   // True when the object is created for an element which the parser has
   // created using NS_FROM_PARSER_NETWORK flag. If the element is modified,
   // it may lose the flag.
   PRPackedBool mNetworkCreated : 1;
 
-#ifdef MOZ_IPC
   PRPackedBool mDelayRemoteDialogs : 1;
   PRPackedBool mRemoteBrowserShown : 1;
   bool mRemoteFrame;
   // XXX leaking
   nsCOMPtr<nsIObserver> mChildHost;
   RenderFrameParent* mCurrentRemoteFrame;
   TabParent* mRemoteBrowser;
-#endif
 
   // See nsIFrameLoader.idl.  Short story, if !(mRenderMode &
   // RENDER_MODE_ASYNC_SCROLL), all the fields below are ignored in
   // favor of what content tells.
   PRUint32 mRenderMode;
 };
 
 #endif
--- a/content/base/src/nsFrameMessageManager.cpp
+++ b/content/base/src/nsFrameMessageManager.cpp
@@ -30,20 +30,18 @@
  * use your version of this file under the terms of the MPL, indicate your
  * decision by deleting the provisions above and replace them with the notice
  * and other provisions required by the GPL or the LGPL. If you do not delete
  * the provisions above, a recipient may use your version of this file under
  * the terms of any one of the MPL, the GPL or the LGPL.
  *
  * ***** END LICENSE BLOCK ***** */
 
-#ifdef MOZ_IPC
 #include "ContentChild.h"
 #include "ContentParent.h"
-#endif
 #include "jscntxt.h"
 #include "nsFrameMessageManager.h"
 #include "nsContentUtils.h"
 #include "nsIXPConnect.h"
 #include "jsapi.h"
 #include "jsarray.h"
 #include "jsinterp.h"
 #include "nsJSUtils.h"
@@ -724,17 +722,16 @@ nsFrameScriptExecutor::Traverse(nsFrameS
   nsContentUtils::XPConnect()->NoteJSContext(tmp->mCx, cb);
 }
 
 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)
 {
   mozilla::dom::ContentParent* cp =
     mozilla::dom::ContentParent::GetSingleton(PR_FALSE);
   NS_WARN_IF_FALSE(cp, "No child process!");
   if (cp) {
@@ -764,58 +761,48 @@ bool SendAsyncMessageToParentProcess(voi
   mozilla::dom::ContentChild* cc =
     mozilla::dom::ContentChild::GetSingleton();
   if (cc) {
     return cc->SendAsyncMessage(nsString(aMessage), nsString(aJSON));
   }
   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,
                                                         SendAsyncMessageToChildProcess,
                                                         nsnull,
                                                         &nsFrameMessageManager::sParentProcessManager,
                                                         nsnull,
                                                         nsnull,
                                                         PR_FALSE,
                                                         PR_TRUE);
   NS_ENSURE_TRUE(mm, NS_ERROR_OUT_OF_MEMORY);
   nsFrameMessageManager::sParentProcessManager = mm;
   return CallQueryInterface(mm, aResult);
-#else
-  return NS_ERROR_NOT_AVAILABLE;
-#endif
 }
 
 
 nsresult
 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,
                                                         SendAsyncMessageToParentProcess,
                                                         nsnull,
                                                         &nsFrameMessageManager::sChildProcessManager,
                                                         nsnull,
                                                         nsnull,
                                                         PR_FALSE,
                                                         PR_TRUE);
   NS_ENSURE_TRUE(mm, NS_ERROR_OUT_OF_MEMORY);
   nsFrameMessageManager::sChildProcessManager = mm;
   return CallQueryInterface(mm, aResult);
-#else
-  return NS_ERROR_NOT_AVAILABLE;
-#endif
 }
--- a/content/canvas/src/Makefile.in
+++ b/content/canvas/src/Makefile.in
@@ -50,24 +50,19 @@ EXPORTS = \
 	CustomQS_Canvas2D.h \
 	CustomQS_WebGL.h \
 	$(NULL)
 
 CPPSRCS	= \
 	CanvasImageCache.cpp \
 	CanvasUtils.cpp \
 	nsCanvasRenderingContext2D.cpp \
-	$(NULL)
-
-ifdef MOZ_IPC
-CPPSRCS += \
 	DocumentRendererParent.cpp \
 	DocumentRendererChild.cpp \
 	$(NULL)
-endif
 
 # Canvas 3D Pieces
 
 ifdef MOZ_WEBGL
 
 CPPSRCS += \
 	WebGLContext.cpp \
 	WebGLContextGL.cpp \
--- a/content/canvas/src/nsCanvasRenderingContext2D.cpp
+++ b/content/canvas/src/nsCanvasRenderingContext2D.cpp
@@ -33,19 +33,17 @@
  * use your version of this file under the terms of the MPL, indicate your
  * decision by deleting the provisions above and replace them with the notice
  * and other provisions required by the GPL or the LGPL. If you do not delete
  * the provisions above, a recipient may use your version of this file under
  * the terms of any one of the MPL, the GPL or the LGPL.
  *
  * ***** END LICENSE BLOCK ***** */
 
-#ifdef MOZ_IPC
-#  include "base/basictypes.h"
-#endif
+#include "base/basictypes.h"
 
 #include "nsIDOMXULElement.h"
 
 #include "prmem.h"
 #include "prenv.h"
 
 #include "nsIServiceManager.h"
 #include "nsMathUtils.h"
@@ -109,28 +107,26 @@
 #include "nsFrameLoader.h"
 #include "nsBidiPresUtils.h"
 #include "Layers.h"
 #include "CanvasUtils.h"
 #include "nsIMemoryReporter.h"
 #include "nsStyleUtil.h"
 #include "CanvasImageCache.h"
 
-#ifdef MOZ_IPC
-#  include <algorithm>
-#  include "mozilla/dom/ContentParent.h"
-#  include "mozilla/ipc/PDocumentRendererParent.h"
-#  include "mozilla/dom/PBrowserParent.h"
-#  include "mozilla/ipc/DocumentRendererParent.h"
+#include <algorithm>
+#include "mozilla/dom/ContentParent.h"
+#include "mozilla/ipc/PDocumentRendererParent.h"
+#include "mozilla/dom/PBrowserParent.h"
+#include "mozilla/ipc/DocumentRendererParent.h"
 
 // windows.h (included by chromium code) defines this, in its infinite wisdom
-#  undef DrawText
+#undef DrawText
 
 using namespace mozilla::ipc;
-#endif
 
 using namespace mozilla;
 using namespace mozilla::layers;
 using namespace mozilla::dom;
 
 /* Float validation stuff */
 #define VALIDATE(_f)  if (!NS_finite(_f)) return PR_FALSE
 
@@ -1200,33 +1196,29 @@ nsCanvasRenderingContext2D::SetIsOpaque(
     }
 
     return NS_OK;
 }
 
 NS_IMETHODIMP
 nsCanvasRenderingContext2D::SetIsIPC(PRBool isIPC)
 {
-#ifdef MOZ_IPC
     if (isIPC == mIPC)
         return NS_OK;
 
     mIPC = isIPC;
 
     if (mValid) {
         /* If we've already been created, let SetDimensions take care of
          * recreating our surface
          */
         return SetDimensions(mWidth, mHeight);
     }
 
     return NS_OK;
-#else
-    return NS_ERROR_NOT_IMPLEMENTED;
-#endif
 }
 
 NS_IMETHODIMP
 nsCanvasRenderingContext2D::Render(gfxContext *ctx, gfxPattern::GraphicsFilter aFilter)
 {
     nsresult rv = NS_OK;
 
     if (!mValid || !mSurface ||
@@ -3738,17 +3730,16 @@ nsCanvasRenderingContext2D::AsyncDrawXUL
     nsCOMPtr<nsIFrameLoaderOwner> loaderOwner = do_QueryInterface(aElem);
     if (!loaderOwner)
         return NS_ERROR_FAILURE;
 
     nsRefPtr<nsFrameLoader> frameloader = loaderOwner->GetFrameLoader();
     if (!frameloader)
         return NS_ERROR_FAILURE;
 
-#ifdef MOZ_IPC
     PBrowserParent *child = frameloader->GetRemoteBrowser();
     if (!child) {
         nsCOMPtr<nsIDOMWindow> window =
             do_GetInterface(frameloader->GetExistingDocShell());
         if (!window)
             return NS_ERROR_FAILURE;
 
         return DrawWindow(window, aX, aY, aW, aH, aBGColor, flags);
@@ -3786,24 +3777,16 @@ nsCanvasRenderingContext2D::AsyncDrawXUL
 
         DocumentRendererParent *docrender =
             static_cast<DocumentRendererParent *>(pdocrender);
 
         docrender->SetCanvasContext(this, mThebes);
     }
 
     return NS_OK;
-#else
-    nsCOMPtr<nsIDOMWindow> window =
-        do_GetInterface(frameloader->GetExistingDocShell());
-    if (!window)
-        return NS_ERROR_FAILURE;
-
-    return DrawWindow(window, aX, aY, aW, aH, aBGColor, flags);
-#endif
 }
 
 //
 // device pixel getting/setting
 //
 
 void
 nsCanvasRenderingContext2D::EnsureUnpremultiplyTable() {
--- a/content/events/src/nsDOMEvent.cpp
+++ b/content/events/src/nsDOMEvent.cpp
@@ -32,20 +32,18 @@
  * use your version of this file under the terms of the MPL, indicate your
  * decision by deleting the provisions above and replace them with the notice
  * and other provisions required by the GPL or the LGPL. If you do not delete
  * the provisions above, a recipient may use your version of this file under
  * the terms of any one of the MPL, the GPL or the LGPL.
  *
  * ***** END LICENSE BLOCK ***** */
 
-#ifdef MOZ_IPC
 #include "base/basictypes.h"
 #include "IPC/IPCMessageUtils.h"
-#endif
 #include "nsCOMPtr.h"
 #include "nsDOMEvent.h"
 #include "nsEventStateManager.h"
 #include "nsIFrame.h"
 #include "nsIContent.h"
 #include "nsIPresShell.h"
 #include "nsIDocument.h"
 #include "nsIDOMEventTarget.h"
@@ -1365,17 +1363,16 @@ nsDOMEvent::GetPreventDefault(PRBool* aR
   NS_ENSURE_ARG_POINTER(aReturn);
   *aReturn = mEvent && (mEvent->flags & NS_EVENT_FLAG_NO_DEFAULT);
   return NS_OK;
 }
 
 void
 nsDOMEvent::Serialize(IPC::Message* aMsg, PRBool aSerializeInterfaceType)
 {
-#ifdef MOZ_IPC
   if (aSerializeInterfaceType) {
     IPC::WriteParam(aMsg, NS_LITERAL_STRING("event"));
   }
 
   nsString type;
   GetType(type);
   IPC::WriteParam(aMsg, type);
 
@@ -1387,23 +1384,21 @@ nsDOMEvent::Serialize(IPC::Message* aMsg
   GetCancelable(&cancelable);
   IPC::WriteParam(aMsg, cancelable);
 
   PRBool trusted = PR_FALSE;
   GetIsTrusted(&trusted);
   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);
 
   PRBool bubbles = PR_FALSE;
   NS_ENSURE_TRUE(IPC::ReadParam(aMsg, aIter, &bubbles), PR_FALSE);
 
   PRBool cancelable = PR_FALSE;
   NS_ENSURE_TRUE(IPC::ReadParam(aMsg, aIter, &cancelable), PR_FALSE);
@@ -1411,19 +1406,16 @@ nsDOMEvent::Deserialize(const IPC::Messa
   PRBool trusted = PR_FALSE;
   NS_ENSURE_TRUE(IPC::ReadParam(aMsg, aIter, &trusted), PR_FALSE);
 
   nsresult rv = InitEvent(type, bubbles, cancelable);
   NS_ENSURE_SUCCESS(rv, PR_FALSE);
   SetTrusted(trusted);
 
   return PR_TRUE;
-#else
-  return PR_FALSE;
-#endif
 }
 
 
 nsresult NS_NewDOMEvent(nsIDOMEvent** aInstancePtrResult,
                         nsPresContext* aPresContext,
                         nsEvent *aEvent) 
 {
   nsDOMEvent* it = new nsDOMEvent(aPresContext, aEvent);
--- a/content/events/src/nsDOMNotifyPaintEvent.cpp
+++ b/content/events/src/nsDOMNotifyPaintEvent.cpp
@@ -31,20 +31,18 @@
  * use your version of this file under the terms of the MPL, indicate your
  * decision by deleting the provisions above and replace them with the notice
  * and other provisions required by the GPL or the LGPL. If you do not delete
  * the provisions above, a recipient may use your version of this file under
  * the terms of any one of the MPL, the GPL or the LGPL.
  *
  * ***** END LICENSE BLOCK ***** */
 
-#ifdef MOZ_IPC
 #include "base/basictypes.h"
 #include "IPC/IPCMessageUtils.h"
-#endif
 #include "nsDOMNotifyPaintEvent.h"
 #include "nsContentUtils.h"
 #include "nsClientRect.h"
 #include "nsPaintRequest.h"
 #include "nsIFrame.h"
 
 nsDOMNotifyPaintEvent::nsDOMNotifyPaintEvent(nsPresContext* aPresContext,
                                              nsEvent* aEvent,
@@ -143,17 +141,16 @@ nsDOMNotifyPaintEvent::GetPaintRequests(
     r->SetRequest(mInvalidateRequests[i]);
     requests->Append(r);
   }
 
   requests.forget(aResult);
   return NS_OK;
 }
 
-#ifdef MOZ_IPC
 void
 nsDOMNotifyPaintEvent::Serialize(IPC::Message* aMsg,
                                  PRBool aSerializeInterfaceType)
 {
   if (aSerializeInterfaceType) {
     IPC::WriteParam(aMsg, NS_LITERAL_STRING("notifypaintevent"));
   }
 
@@ -185,17 +182,16 @@ nsDOMNotifyPaintEvent::Deserialize(const
     NS_ENSURE_TRUE(IPC::ReadParam(aMsg, aIter, &req.mRect.width), PR_FALSE);
     NS_ENSURE_TRUE(IPC::ReadParam(aMsg, aIter, &req.mRect.height), PR_FALSE);
     NS_ENSURE_TRUE(IPC::ReadParam(aMsg, aIter, &req.mFlags), PR_FALSE);
     mInvalidateRequests.AppendElement(req);
   }
 
   return PR_TRUE;
 }
-#endif
 
 nsresult NS_NewDOMNotifyPaintEvent(nsIDOMEvent** aInstancePtrResult,
                                    nsPresContext* aPresContext,
                                    nsEvent *aEvent,
                                    PRUint32 aEventType,
                                    nsInvalidateRequestList* aInvalidateRequests) 
 {
   nsDOMNotifyPaintEvent* it =
--- a/content/events/src/nsDOMNotifyPaintEvent.h
+++ b/content/events/src/nsDOMNotifyPaintEvent.h
@@ -56,19 +56,17 @@ public:
 
   NS_DECL_ISUPPORTS_INHERITED
 
   NS_DECL_NSIDOMNOTIFYPAINTEVENT
 
   // 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();
 
   nsTArray<nsInvalidateRequestList::Request> mInvalidateRequests;
 };
 
 #endif // nsDOMNotifyPaintEvent_h_
--- a/content/events/src/nsDOMScrollAreaEvent.cpp
+++ b/content/events/src/nsDOMScrollAreaEvent.cpp
@@ -30,20 +30,18 @@
  * use your version of this file under the terms of the MPL, indicate your
  * decision by deleting the provisions above and replace them with the notice
  * and other provisions required by the GPL or the LGPL. If you do not delete
  * the provisions above, a recipient may use your version of this file under
  * the terms of any one of the MPL, the GPL or the LGPL.
  *
  * ***** END LICENSE BLOCK ***** */
 
-#ifdef MOZ_IPC
 #include "base/basictypes.h"
 #include "IPC/IPCMessageUtils.h"
-#endif
 
 #include "nsDOMScrollAreaEvent.h"
 #include "nsGUIEvent.h"
 #include "nsClientRect.h"
 #include "nsDOMClassInfoID.h"
 #include "nsIClassInfo.h"
 #include "nsIXPCScriptable.h"
 
@@ -111,17 +109,16 @@ nsDOMScrollAreaEvent::InitScrollAreaEven
   nsresult rv = nsDOMUIEvent::InitUIEvent(aEventType, aCanBubble, aCancelable, aView, aDetail);
   NS_ENSURE_SUCCESS(rv, rv);
 
   mClientArea.SetRect(aX, aY, aWidth, aHeight);
 
   return NS_OK;
 }
 
-#ifdef MOZ_IPC
 void
 nsDOMScrollAreaEvent::Serialize(IPC::Message* aMsg,
                                 PRBool aSerializeInterfaceType)
 {
   if (aSerializeInterfaceType) {
     IPC::WriteParam(aMsg, NS_LITERAL_STRING("scrollareaevent"));
   }
 
@@ -147,17 +144,16 @@ nsDOMScrollAreaEvent::Deserialize(const 
   NS_ENSURE_TRUE(IPC::ReadParam(aMsg, aIter, &x), PR_FALSE);
   NS_ENSURE_TRUE(IPC::ReadParam(aMsg, aIter, &y), PR_FALSE);
   NS_ENSURE_TRUE(IPC::ReadParam(aMsg, aIter, &width), PR_FALSE);
   NS_ENSURE_TRUE(IPC::ReadParam(aMsg, aIter, &height), PR_FALSE);
   mClientArea.SetRect(x, y, width, height);
 
   return PR_TRUE;
 }
-#endif
 
 nsresult
 NS_NewDOMScrollAreaEvent(nsIDOMEvent **aInstancePtrResult,
                          nsPresContext *aPresContext,
                          nsScrollAreaEvent *aEvent)
 {
   nsDOMScrollAreaEvent *ev = new nsDOMScrollAreaEvent(aPresContext, aEvent);
 
--- a/content/events/src/nsDOMScrollAreaEvent.h
+++ b/content/events/src/nsDOMScrollAreaEvent.h
@@ -53,18 +53,16 @@ public:
   virtual ~nsDOMScrollAreaEvent();
 
   NS_DECL_ISUPPORTS_INHERITED
 
   NS_DECL_NSIDOMSCROLLAREAEVENT
 
   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;
 };
 
 #endif // nsDOMScrollAreaEvent_h__
--- a/content/events/src/nsDOMUIEvent.cpp
+++ b/content/events/src/nsDOMUIEvent.cpp
@@ -32,20 +32,18 @@
  * use your version of this file under the terms of the MPL, indicate your
  * decision by deleting the provisions above and replace them with the notice
  * and other provisions required by the GPL or the LGPL. If you do not delete
  * the provisions above, a recipient may use your version of this file under
  * the terms of any one of the MPL, the GPL or the LGPL.
  *
  * ***** END LICENSE BLOCK ***** */
 
-#ifdef MOZ_IPC
 #include "base/basictypes.h"
 #include "IPC/IPCMessageUtils.h"
-#endif
 #include "nsCOMPtr.h"
 #include "nsDOMUIEvent.h"
 #include "nsIPresShell.h"
 #include "nsIInterfaceRequestorUtils.h"
 #include "nsIDOMWindowInternal.h"
 #include "nsIDOMNode.h"
 #include "nsIContent.h"
 #include "nsContentUtils.h"
@@ -389,17 +387,16 @@ nsDOMUIEvent::DuplicatePrivateData()
   nsIntPoint screenPoint = GetScreenPoint();
   nsresult rv = nsDOMEvent::DuplicatePrivateData();
   if (NS_SUCCEEDED(rv)) {
     mEvent->refPoint = screenPoint;
   }
   return rv;
 }
 
-#ifdef MOZ_IPC
 void
 nsDOMUIEvent::Serialize(IPC::Message* aMsg, PRBool aSerializeInterfaceType)
 {
   if (aSerializeInterfaceType) {
     IPC::WriteParam(aMsg, NS_LITERAL_STRING("uievent"));
   }
 
   nsDOMEvent::Serialize(aMsg, PR_FALSE);
@@ -411,17 +408,16 @@ nsDOMUIEvent::Serialize(IPC::Message* aM
 
 PRBool
 nsDOMUIEvent::Deserialize(const IPC::Message* aMsg, void** aIter)
 {
   NS_ENSURE_TRUE(nsDOMEvent::Deserialize(aMsg, aIter), PR_FALSE);
   NS_ENSURE_TRUE(IPC::ReadParam(aMsg, aIter, &mDetail), PR_FALSE);
   return PR_TRUE;
 }
-#endif
 
 nsresult NS_NewDOMUIEvent(nsIDOMEvent** aInstancePtrResult,
                           nsPresContext* aPresContext,
                           nsGUIEvent *aEvent) 
 {
   nsDOMUIEvent* it = new nsDOMUIEvent(aPresContext, aEvent);
   if (nsnull == it) {
     return NS_ERROR_OUT_OF_MEMORY;
--- a/content/events/src/nsDOMUIEvent.h
+++ b/content/events/src/nsDOMUIEvent.h
@@ -57,20 +57,18 @@ public:
   // nsIDOMUIEvent Interface
   NS_DECL_NSIDOMUIEVENT
 
   // nsIDOMNSUIEvent Interface
   NS_DECL_NSIDOMNSUIEVENT
 
   // 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
 
   NS_FORWARD_NSIDOMNSEVENT(nsDOMEvent::)
 protected:
 
   // Internal helper functions
--- a/content/events/src/nsEventStateManager.cpp
+++ b/content/events/src/nsEventStateManager.cpp
@@ -39,19 +39,17 @@
  * use your version of this file under the terms of the MPL, indicate your
  * decision by deleting the provisions above and replace them with the notice
  * and other provisions required by the GPL or the LGPL. If you do not delete
  * the provisions above, a recipient may use your version of this file under
  * the terms of any one of the MPL, the GPL or the LGPL.
  *
  * ***** END LICENSE BLOCK ***** */
 
-#ifdef MOZ_IPC
 #include "mozilla/dom/TabParent.h"
-#endif
 
 #include "nsCOMPtr.h"
 #include "nsEventStateManager.h"
 #include "nsEventListenerManager.h"
 #include "nsIMEStateManager.h"
 #include "nsContentEventHandler.h"
 #include "nsIContent.h"
 #include "nsINodeInfo.h"
@@ -159,19 +157,17 @@
 #include "nsICommandParams.h"
 #include "mozilla/Services.h"
 #include "mozAutoDocUpdate.h"
 
 #ifdef XP_MACOSX
 #import <ApplicationServices/ApplicationServices.h>
 #endif
 
-#ifdef MOZ_IPC
 using namespace mozilla::dom;
-#endif
 
 //#define DEBUG_DOCSHELL_FOCUS
 
 #define NS_USER_INTERACTION_INTERVAL 5000 // ms
 
 static NS_DEFINE_CID(kFrameTraversalCID, NS_FRAMETRAVERSAL_CID);
 
 static NS_DEFINE_CID(kLookAndFeelCID, NS_LOOKANDFEEL_CID);
@@ -1333,30 +1329,26 @@ nsEventStateManager::PreHandleEvent(nsPr
       if ((msEvent->scrollFlags & nsMouseScrollEvent::kIsHorizontal) ?
            mLastLineScrollConsumedX : mLastLineScrollConsumedY) {
         *aStatus = nsEventStatus_eConsumeNoDefault;
       }
     }
     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);
     }
     break;
   case NS_QUERY_CARET_RECT:
     {
       // XXX remote event
       nsContentEventHandler handler(mPresContext);
@@ -1402,26 +1394,24 @@ nsEventStateManager::PreHandleEvent(nsPr
     {
       // XXX remote event
       nsContentEventHandler handler(mPresContext);
       handler.OnQueryDOMWidgetHittest(static_cast<nsQueryContentEvent*>(aEvent));
     }
     break;
   case NS_SELECTION_SET:
     {
-#ifdef MOZ_IPC
       nsSelectionEvent *selectionEvent =
           static_cast<nsSelectionEvent*>(aEvent);
       if (IsTargetCrossProcess(selectionEvent)) {
         // Will not be handled locally, remote the event
         if (GetCrossProcessTarget()->SendSelectionEvent(*selectionEvent))
           selectionEvent->mSucceeded = PR_TRUE;
         break;
       }
-#endif
       nsContentEventHandler handler(mPresContext);
       handler.OnSelectionEvent((nsSelectionEvent*)aEvent);
     }
     break;
   case NS_CONTENT_COMMAND_CUT:
   case NS_CONTENT_COMMAND_COPY:
   case NS_CONTENT_COMMAND_PASTE:
   case NS_CONTENT_COMMAND_DELETE:
@@ -1432,17 +1422,16 @@ nsEventStateManager::PreHandleEvent(nsPr
       DoContentCommandEvent(static_cast<nsContentCommandEvent*>(aEvent));
     }
     break;
   case NS_CONTENT_COMMAND_SCROLL:
     {
       DoContentCommandScrollEvent(static_cast<nsContentCommandEvent*>(aEvent));
     }
     break;
-#ifdef MOZ_IPC
   case NS_TEXT_TEXT:
     {
       nsTextEvent *textEvent = static_cast<nsTextEvent*>(aEvent);
       if (IsTargetCrossProcess(textEvent)) {
         // Will not be handled locally, remote the event
         if (GetCrossProcessTarget()->SendTextEvent(*textEvent)) {
           // Cancel local dispatching
           aEvent->flags |= NS_EVENT_FLAG_STOP_DISPATCH;
@@ -1459,17 +1448,16 @@ nsEventStateManager::PreHandleEvent(nsPr
         // Will not be handled locally, remote the event
         if (GetCrossProcessTarget()->SendCompositionEvent(*compositionEvent)) {
           // Cancel local dispatching
           aEvent->flags |= NS_EVENT_FLAG_STOP_DISPATCH;
         }
       }
     }
     break;
-#endif // MOZ_IPC
   }
   return NS_OK;
 }
 
 static PRInt32
 GetAccessModifierMask(nsISupports* aDocShell)
 {
   nsCOMPtr<nsIDocShellTreeItem> treeItem(do_QueryInterface(aDocShell));
@@ -3332,17 +3320,16 @@ nsEventStateManager::PostHandleEvent(nsP
 
   //Reset target frame to null to avoid mistargeting after reentrant event
   mCurrentTarget = nsnull;
   mCurrentTargetContent = nsnull;
 
   return ret;
 }
 
-#ifdef MOZ_IPC
 PRBool
 nsEventStateManager::RemoteQueryContentEvent(nsEvent *aEvent)
 {
   nsQueryContentEvent *queryEvent =
       static_cast<nsQueryContentEvent*>(aEvent);
   if (!IsTargetCrossProcess(queryEvent)) {
     return PR_FALSE;
   }
@@ -3362,17 +3349,16 @@ nsEventStateManager::IsTargetCrossProces
 {
   // Check to see if there is a focused, editable content in chrome,
   // in that case, do not forward IME events to content
   nsIContent *focusedContent = GetFocusedContent();
   if (focusedContent && focusedContent->IsEditable())
     return PR_FALSE;
   return TabParent::GetIMETabParent() != nsnull;
 }
-#endif
 
 NS_IMETHODIMP
 nsEventStateManager::NotifyDestroyPresContext(nsPresContext* aPresContext)
 {
   nsIMEStateManager::OnDestroyPresContext(aPresContext);
   return NS_OK;
 }
 
--- a/content/events/src/nsEventStateManager.h
+++ b/content/events/src/nsEventStateManager.h
@@ -344,21 +344,19 @@ protected:
    * BeginTrackingDragGesture). aEvent->widget must be
    * mCurrentTarget->GetNearestWidget().
    */
   void FillInEventFromGestureDown(nsMouseEvent* aEvent);
 
   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;
 
   nsWeakFrame mCurrentTarget;
   nsCOMPtr<nsIContent> mCurrentTargetContent;
   nsWeakFrame mLastMouseOverFrame;
   nsCOMPtr<nsIContent> mLastMouseOverElement;
   nsWeakFrame mLastDragOverFrame;
--- a/content/html/content/src/Makefile.in
+++ b/content/html/content/src/Makefile.in
@@ -45,24 +45,19 @@ include $(DEPTH)/config/autoconf.mk
 MODULE		= content
 LIBRARY_NAME	= gkconhtmlcon_s
 LIBXUL_LIBRARY	= 1
 
 
 EXPORTS		= \
 		nsImageMapUtils.h \
 		nsClientRect.h \
+		nsHTMLDNSPrefetch.h \
 		$(NULL)
 
-ifdef MOZ_IPC
-EXPORTS        += \
-                nsHTMLDNSPrefetch.h \
-                $(NULL)
-endif
-
 CPPSRCS		= \
 		nsClientRect.cpp \
 		nsHTMLDNSPrefetch.cpp \
 		nsGenericHTMLElement.cpp \
 		nsFormSubmission.cpp \
 		nsImageMapUtils.cpp \
 		nsTextEditorState.cpp \
 		nsHTMLElement.cpp \
--- a/content/html/content/src/nsHTMLCanvasElement.cpp
+++ b/content/html/content/src/nsHTMLCanvasElement.cpp
@@ -548,17 +548,16 @@ nsHTMLCanvasElement::GetContext(const ns
   NS_ADDREF (*aContext = mCurrentContext);
   return NS_OK;
 }
 
 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;
   }
 
   // We only support 2d shmem contexts for now.
   if (!aContextId.Equals(NS_LITERAL_STRING("2d")))
     return NS_ERROR_INVALID_ARG;
@@ -583,19 +582,16 @@ nsHTMLCanvasElement::MozGetIPCContext(co
     mCurrentContextId.Assign(aContextId);
   } else if (!mCurrentContextId.Equals(aContextId)) {
     //XXX eventually allow for more than one active context on a given canvas
     return NS_ERROR_INVALID_ARG;
   }
 
   NS_ADDREF (*aContext = mCurrentContext);
   return NS_OK;
-#else
-  return NS_ERROR_NOT_IMPLEMENTED;
-#endif
 }
 
 nsresult
 nsHTMLCanvasElement::UpdateContext(nsIPropertyBag *aNewContextOptions)
 {
   if (!mCurrentContext)
     return NS_OK;
 
--- a/content/html/content/src/nsHTMLDNSPrefetch.cpp
+++ b/content/html/content/src/nsHTMLDNSPrefetch.cpp
@@ -31,22 +31,20 @@
  * use your version of this file under the terms of the MPL, indicate your
  * decision by deleting the provisions above and replace them with the notice
  * and other provisions required by the GPL or the LGPL. If you do not delete
  * the provisions above, a recipient may use your version of this file under
  * the terms of any one of the MPL, the GPL or the LGPL.
  *
  * ***** 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"
 #include "nsString.h"
 
 #include "nsNetUtil.h"
 
 #include "nsIDNSListener.h"
@@ -103,20 +101,18 @@ nsHTMLDNSPrefetch::Initialize()
   sDisablePrefetchHTTPSPref = 
     nsContentUtils::GetBoolPref("network.dns.disablePrefetchFromHTTPS", PR_TRUE);
   
   NS_IF_RELEASE(sDNSService);
   nsresult rv;
   rv = CallGetService(kDNSServiceCID, &sDNSService);
   if (NS_FAILED(rv)) return rv;
   
-#ifdef MOZ_IPC
   if (IsNeckoChild())
     NeckoChild::InitNeckoChild();
-#endif
 
   sInitialized = PR_TRUE;
   return NS_OK;
 }
 
 nsresult
 nsHTMLDNSPrefetch::Shutdown()
 {
@@ -137,28 +133,26 @@ nsHTMLDNSPrefetch::IsAllowed (nsIDocumen
 {
   // There is no need to do prefetch on non UI scenarios such as XMLHttpRequest.
   return aDocument->IsDNSPrefetchAllowed() && aDocument->GetWindow();
 }
 
 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 
     // IPC the performance hit should be negligible.
     nsAutoString hostname;
     nsresult rv = aElement->GetHostname(hostname);
     NS_ENSURE_SUCCESS(rv,rv);
 
     return Prefetch(hostname, flags);
   }
-#endif
 
   if (!(sInitialized && sPrefetches && sDNSService && sDNSListener))
     return NS_ERROR_NOT_AVAILABLE;
 
   return sPrefetches->Add(flags, aElement);
 }
 
 nsresult
@@ -177,27 +171,25 @@ nsresult
 nsHTMLDNSPrefetch::PrefetchHigh(Link *aElement)
 {
   return Prefetch(aElement, 0);
 }
 
 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
     if (!hostname.IsEmpty() &&
         net_IsValidHostName(NS_ConvertUTF16toUTF8(hostname))) {
       gNeckoChild->SendHTMLDNSPrefetch(nsAutoString(hostname), flags);
     }
     return NS_OK;
   }
-#endif
 
   if (!(sInitialized && sDNSService && sPrefetches && sDNSListener))
     return NS_ERROR_NOT_AVAILABLE;
 
   nsCOMPtr<nsICancelable> tmpOutstanding;
   return sDNSService->AsyncResolve(NS_ConvertUTF16toUTF8(hostname), flags | nsIDNSService::RESOLVE_SPECULATE,
                                    sDNSListener, nsnull, getter_AddRefs(tmpOutstanding));
 }
--- a/content/html/content/src/nsHTMLDNSPrefetch.h
+++ b/content/html/content/src/nsHTMLDNSPrefetch.h
@@ -138,14 +138,12 @@ public:
     
     struct deferred_entry
     {
       PRUint16                         mFlags;
       nsWeakPtr                        mElement;
     } mEntries[sMaxDeferred];
   };
 
-#ifdef MOZ_IPC
   friend class mozilla::net::NeckoParent;
-#endif
 };
 
 #endif 
--- a/content/media/nsAudioStream.cpp
+++ b/content/media/nsAudioStream.cpp
@@ -32,24 +32,22 @@
  * use your version of this file under the terms of the MPL, indicate your
  * decision by deleting the provisions above and replace them with the notice
  * and other provisions required by the GPL or the LGPL. If you do not delete
  * the provisions above, a recipient may use your version of this file under
  * 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 "mozilla/dom/PAudioChild.h"
 #include "mozilla/dom/AudioChild.h"
 #include "mozilla/Monitor.h"
 #include "nsXULAppAPI.h"
 using namespace mozilla::dom;
-#endif
 
 #include <stdio.h>
 #include <math.h>
 #include "prlog.h"
 #include "prmem.h"
 #include "nsAutoPtr.h"
 #include "nsAudioStream.h"
 #include "nsAlgorithm.h"
@@ -60,17 +58,17 @@ extern "C" {
 #include "nsThreadUtils.h"
 
 #if defined(XP_MACOSX)
 #define SA_PER_STREAM_VOLUME 1
 #endif
 
 // Android's audio backend is not available in content processes, so audio must
 // be remoted to the parent chrome process.
-#if defined(ANDROID) && defined(MOZ_IPC)
+#if defined(ANDROID)
 #define REMOTE_AUDIO 1
 #endif
 
 using mozilla::TimeStamp;
 
 #ifdef PR_LOGGING
 PRLogModuleInfo* gAudioStreamLog = nsnull;
 #endif
@@ -117,17 +115,16 @@ class nsAudioStreamLocal : public nsAudi
   // PR_TRUE if this audio stream is paused.
   PRPackedBool mPaused;
 
   // PR_TRUE if this stream has encountered an error.
   PRPackedBool mInError;
 
 };
 
-#ifdef MOZ_IPC
 class nsAudioStreamRemote : public nsAudioStream
 {
  public:
   NS_DECL_ISUPPORTS
 
   nsAudioStreamRemote();
   ~nsAudioStreamRemote();
 
@@ -289,17 +286,16 @@ class AudioShutdownEvent : public nsRunn
   {
     if (mAudioChild->IsIPCOpen())
       mAudioChild->SendShutdown();
     return NS_OK;
   }
   
   nsRefPtr<AudioChild> mAudioChild;
 };
-#endif // MOZ_IPC
 
 
 void nsAudioStream::InitLibrary()
 {
 #ifdef PR_LOGGING
   gAudioStreamLog = PR_NewLogModule("nsAudioStream");
 #endif
 }
@@ -592,18 +588,16 @@ PRInt32 nsAudioStreamLocal::GetMinWriteS
   if (r == SA_ERROR_NOT_SUPPORTED)
     return 1;
   else if (r != SA_SUCCESS || samples > PR_INT32_MAX)
     return -1;
 
   return static_cast<PRInt32>(samples);
 }
 
-#ifdef MOZ_IPC
-
 nsAudioStreamRemote::nsAudioStreamRemote()
  : mAudioChild(NULL),
    mFormat(FORMAT_S16_LE),
    mRate(0),
    mChannels(0),
    mBytesPerSample(1),
    mPaused(PR_FALSE)
 {}
@@ -745,10 +739,8 @@ nsAudioStreamRemote::GetSampleOffset()
   return result;
 }
 
 PRBool
 nsAudioStreamRemote::IsPaused()
 {
   return mPaused;
 }
-
-#endif // MOZ_IPC
--- a/content/media/nsAudioStream.h
+++ b/content/media/nsAudioStream.h
@@ -59,24 +59,23 @@ public:
   // Initialize Audio Library. Some Audio backends require initializing the
   // library before using it. 
   static void InitLibrary();
 
   // Shutdown Audio Library. Some Audio backends require shutting down the
   // library after using it.
   static void ShutdownLibrary();
 
-  // Thread, usually for MOZ_IPC handling, that is shared between audio streams.
+  // Thread 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 MOZ_IPC is enabled, and you
-  // call this from a child process, you may recieve an implementation which
-  // forwards to a compositing process.
+  // 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.
   static nsAudioStream* AllocateStream();
 
   // Initialize the audio stream. aNumChannels is the number of audio channels 
   // (1 for mono, 2 for stereo, etc) and aRate is the frequency of the sound 
   // samples (22050, 44100, etc).
   virtual nsresult Init(PRInt32 aNumChannels, PRInt32 aRate, SampleFormat aFormat) = 0;
 
   // Closes the stream. All future use of the stream is an error.
--- a/docshell/base/IHistory.h
+++ b/docshell/base/IHistory.h
@@ -66,17 +66,17 @@ public:
      * SetLinkState called on themselves.  This function is guaranteed to run to
      * completion before aLink is notified.  After the node is notified, it will
      * be unregistered.
      *
      * @note SetLinkState must not call RegisterVisitedCallback or
      *       UnregisterVisitedCallback.
      *
      * @pre aURI must not be null.
-     * @pre aLink may be null only in the MOZ_IPC parent process.
+     * @pre aLink may be null only in the parent (chrome) process.
      *
      * @param aURI
      *        The URI to check.
      * @param aLink
      *        The link to update whenever the history status changes.  The
      *        implementation will only hold onto a raw pointer, so if this
      *        object should be destroyed, be sure to call
      *        UnregisterVistedCallback first.
--- a/docshell/base/nsDocShell.cpp
+++ b/docshell/base/nsDocShell.cpp
@@ -224,19 +224,17 @@ static NS_DEFINE_CID(kAppShellCID, NS_AP
 //#define DEBUG_DOCSHELL_FOCUS
 #define DEBUG_PAGE_CACHE
 #endif
 
 #include "nsContentErrors.h"
 #include "nsIChannelPolicy.h"
 #include "nsIContentSecurityPolicy.h"
 
-#ifdef MOZ_IPC
 #include "nsXULAppAPI.h"
-#endif
 
 using namespace mozilla;
 
 // Number of documents currently loading
 static PRInt32 gNumberOfDocumentsLoading = 0;
 
 // Global count of existing docshells.
 static PRInt32 gDocShellCount = 0;
@@ -6011,22 +6009,20 @@ nsDocShell::OnRedirectStateChange(nsICha
         // here.  OnNewURI will do that, so we will cache it.
         SaveLastVisit(aNewChannel, oldURI, aRedirectFlags);
     }
 
     // check if the new load should go through the application cache.
     nsCOMPtr<nsIApplicationCacheChannel> 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));
     }
 
     if (!(aRedirectFlags & nsIChannelEventSink::REDIRECT_INTERNAL) && 
         mLoadType & (LOAD_CMD_RELOAD | LOAD_CMD_HISTORY)) {
         mLoadType = LOAD_NORMAL_REPLACE;
         SetHistoryEntry(&mLSHE, nsnull);
     }
@@ -8731,22 +8727,20 @@ nsDocShell::DoURILoad(nsIURI * aURI,
     nsCOMPtr<nsIApplicationCacheChannel> appCacheChannel =
         do_QueryInterface(channel);
     if (appCacheChannel) {
         // Any document load should not inherit application cache.
         appCacheChannel->SetInheritApplicationCache(PR_FALSE);
 
         // 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));
     }
 
     // Make sure to give the caller a channel if we managed to create one
     // This is important for correct error page/session history interaction
     if (aRequest)
         NS_ADDREF(*aRequest = channel);
--- a/dom/Makefile.in
+++ b/dom/Makefile.in
@@ -78,22 +78,17 @@ endif
 DIRS += \
   public/coreEvents \
   base \
   src \
   locales \
   plugins \
   indexedDB \
   system \
-  $(NULL)
-
-ifdef MOZ_IPC
-DIRS += \
   ipc \
   $(NULL)
-endif
 
 ifdef ENABLE_TESTS
 DIRS += tests
 endif
 
 include $(topsrcdir)/config/rules.mk
 
--- a/dom/base/Makefile.in
+++ b/dom/base/Makefile.in
@@ -78,16 +78,17 @@ EXPORTS = \
   nsIScriptObjectOwner.h \
   nsIScriptObjectPrincipal.h \
   nsIScriptRuntime.h \
   nsIScriptTimeoutHandler.h \
   nsPIDOMWindow.h \
   nsPIWindowRoot.h \
   nsFocusManager.h \
   nsWrapperCache.h \
+  nsContentPermissionHelper.h \
   $(NULL)
 
 CPPSRCS =			\
 	nsBarProps.cpp          \
 	nsDOMException.cpp 	\
 	nsDOMWindowUtils.cpp 	\
 	nsJSEnvironment.cpp	\
 	nsJSTimeoutHandler.cpp	\
@@ -101,37 +102,27 @@ CPPSRCS =			\
 	nsHistory.cpp		\
 	nsMimeTypeArray.cpp	\
 	nsPluginArray.cpp	\
 	nsWindowRoot.cpp	\
 	nsDOMClassInfo.cpp	\
 	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
 
 LOCAL_INCLUDES += \
 		-I$(srcdir)/../../js/src/xpconnect/src \
 		-I$(srcdir)/../../js/src/xpconnect/wrappers \
 		$(NULL)
 
--- a/dom/base/nsGlobalWindow.cpp
+++ b/dom/base/nsGlobalWindow.cpp
@@ -41,19 +41,17 @@
  * use your version of this file under the terms of the MPL, indicate your
  * decision by deleting the provisions above and replace them with the notice
  * and other provisions required by the GPL or the LGPL. If you do not delete
  * the provisions above, a recipient may use your version of this file under
  * the terms of any one of the MPL, the GPL or the LGPL.
  *
  * ***** END LICENSE BLOCK ***** */
 
-#ifdef MOZ_IPC
 #include "base/basictypes.h"
-#endif
 
 // Local Includes
 #include "nsGlobalWindow.h"
 #include "nsScreen.h"
 #include "nsHistory.h"
 #include "nsBarProps.h"
 #include "nsDOMStorage.h"
 #include "nsDOMOfflineResourceList.h"
--- a/dom/plugins/Makefile.in
+++ b/dom/plugins/Makefile.in
@@ -45,18 +45,16 @@ include $(DEPTH)/config/autoconf.mk
 MODULE = dom
 
 EXPORTS_NAMESPACES = mozilla
 
 EXPORTS_mozilla = \
   PluginLibrary.h \
   $(NULL)
 
-ifdef MOZ_IPC
-
 EXPORTS_NAMESPACES = mozilla mozilla/plugins
 
 EXPORTS_mozilla/plugins = \
   BrowserStreamChild.h \
   BrowserStreamParent.h \
   ChildAsyncCall.h \
   ChildTimer.h \
   NPEventOSX.h \
@@ -146,15 +144,14 @@ endif
 LOCAL_INCLUDES = \
   -I$(topsrcdir)/modules/plugin/base/public/ \
   -I$(topsrcdir)/modules/plugin/base/src/ \
   -I$(topsrcdir)/xpcom/base/ \
   $(NULL)
 
 include $(topsrcdir)/config/config.mk
 include $(topsrcdir)/ipc/chromium/chromium-config.mk
-endif
 
 include $(topsrcdir)/config/rules.mk
 
 CXXFLAGS += $(TK_CFLAGS)
 
 DEFINES += -DFORCE_PR_LOG
--- a/dom/src/geolocation/Makefile.in
+++ b/dom/src/geolocation/Makefile.in
@@ -78,17 +78,15 @@ LOCAL_INCLUDES  += $(MOZ_PLATFORM_MAEMO_
                    $(NULL)
 endif
 
 ifeq ($(MOZ_WIDGET_TOOLKIT),android)
 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
 include $(topsrcdir)/config/rules.mk
 
 DEFINES += -D_IMPL_NS_LAYOUT
--- a/dom/src/geolocation/nsGeolocation.cpp
+++ b/dom/src/geolocation/nsGeolocation.cpp
@@ -29,17 +29,16 @@
  * use your version of this file under the terms of the MPL, indicate your
  * decision by deleting the provisions above and replace them with the notice
  * and other provisions required by the GPL or the LGPL. If you do not delete
  * the provisions above, a recipient may use your version of this file under
  * the terms of any one of the MPL, the GPL or the LGPL.
  *
  * ***** END LICENSE BLOCK ***** */
 
-#ifdef MOZ_IPC
 #include "nsContentPermissionHelper.h"
 #include "nsXULAppAPI.h"
 
 #include "mozilla/dom/PBrowserChild.h"
 #include "mozilla/dom/PBrowserParent.h"
 #include "mozilla/dom/ContentChild.h"
 #include "nsNetUtil.h"
 
@@ -48,17 +47,16 @@
 #include "nsIFrameLoader.h"
 
 #include "nsIDocShellTreeOwner.h"
 #include "nsIDocShellTreeItem.h"
 #include "nsIWebProgressListener2.h"
 
 #include "nsDOMEventTargetHelper.h"
 #include "TabChild.h"
-#endif
 
 #include "nsGeolocation.h"
 #include "nsAutoPtr.h"
 #include "nsCOMPtr.h"
 #include "nsIDOMWindow.h"
 #include "nsDOMClassInfo.h"
 #include "nsComponentManagerUtils.h"
 #include "nsICategoryManager.h"
@@ -473,26 +471,24 @@ nsGeolocationRequest::Shutdown()
     mTimeoutTimer->Cancel();
     mTimeoutTimer = nsnull;
   }
   mCleared = PR_TRUE;
   mCallback = nsnull;
   mErrorCallback = nsnull;
 }
 
-#ifdef MOZ_IPC
 bool nsGeolocationRequest::Recv__delete__(const bool& allow)
 {
   if (allow)
     (void) Allow();
   else
     (void) Cancel();
   return true;
 }
-#endif
 ////////////////////////////////////////////////////
 // nsGeolocationService
 ////////////////////////////////////////////////////
 NS_INTERFACE_MAP_BEGIN(nsGeolocationService)
   NS_INTERFACE_MAP_ENTRY_AMBIGUOUS(nsISupports, nsIGeolocationUpdate)
   NS_INTERFACE_MAP_ENTRY(nsIGeolocationUpdate)
   NS_INTERFACE_MAP_ENTRY(nsIObserver)
 NS_INTERFACE_MAP_END
@@ -672,23 +668,21 @@ nsGeolocationService::StartDevice()
   if (!sGeoEnabled)
     return NS_ERROR_NOT_AVAILABLE;
 
   // we do not want to keep the geolocation devices online
   // indefinitely.  Close them down after a reasonable period of
   // inactivivity
   SetDisconnectTimer();
 
-#ifdef MOZ_IPC
   if (XRE_GetProcessType() == GeckoProcessType_Content) {
     ContentChild* cpc = ContentChild::GetSingleton();
     cpc->SendAddGeolocationListener();
     return NS_OK;
   }
-#endif
 
   // Start them up!
   nsCOMPtr<nsIObserverService> obs = mozilla::services::GetObserverService();
   if (!obs)
     return NS_ERROR_FAILURE;
 
   for (PRInt32 i = 0; i < mProviders.Count(); i++) {
     mProviders[i]->Startup();
@@ -717,23 +711,21 @@ nsGeolocationService::SetDisconnectTimer
 void 
 nsGeolocationService::StopDevice()
 {
   if(mDisconnectTimer) {
     mDisconnectTimer->Cancel();
     mDisconnectTimer = nsnull;
   }
 
-#ifdef MOZ_IPC
   if (XRE_GetProcessType() == GeckoProcessType_Content) {
     ContentChild* cpc = ContentChild::GetSingleton();
     cpc->SendRemoveGeolocationListener();
     return; // bail early
   }
-#endif
 
   nsCOMPtr<nsIObserverService> obs = mozilla::services::GetObserverService();
   if (!obs)
     return;
 
   for (PRInt32 i = 0; i < mProviders.Count(); i++) {
     mProviders[i]->Shutdown();
     obs->NotifyObservers(mProviders[i],
@@ -1044,17 +1036,16 @@ nsGeolocation::WindowOwnerStillExists()
   }
 
   return PR_TRUE;
 }
 
 bool
 nsGeolocation::RegisterRequestWithPrompt(nsGeolocationRequest* request)
 {
-#ifdef MOZ_IPC
   if (XRE_GetProcessType() == GeckoProcessType_Content) {
     nsCOMPtr<nsPIDOMWindow> window = do_QueryReferent(mOwner);
     if (!window)
       return true;
 
     // because owner implements nsITabChild, we can assume that it is
     // the one and only TabChild.
     TabChild* child = GetTabChildFrom(window->GetDocShell());
@@ -1066,17 +1057,16 @@ nsGeolocation::RegisterRequestWithPrompt
     request->AddRef();
 
     nsCString type = NS_LITERAL_CSTRING("geolocation");
     child->SendPContentPermissionRequestConstructor(request, type, IPC::URI(mURI));
     
     request->Sendprompt();
     return true;
   }
-#endif
 
   if (nsContentUtils::GetBoolPref("geo.prompt.testing", PR_FALSE))
   {
     nsCOMPtr<nsIRunnable> ev  = new RequestAllowEvent(nsContentUtils::GetBoolPref("geo.prompt.testing.allow", PR_FALSE), request);
     NS_DispatchToMainThread(ev);
     return true;
   }
 
--- a/dom/src/geolocation/nsGeolocation.h
+++ b/dom/src/geolocation/nsGeolocation.h
@@ -32,21 +32,19 @@
  * the provisions above, a recipient may use your version of this file under
  * the terms of any one of the MPL, the GPL or the LGPL.
  *
  * ***** END LICENSE BLOCK ***** */
 
 #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"
 #include "nsCOMArray.h"
 #include "nsTArray.h"
 #include "nsITimer.h"
 #include "nsIObserver.h"
 #include "nsIURI.h"
@@ -62,29 +60,25 @@
 #include "nsIDOMGeoPositionOptions.h"
 #include "nsIDOMNavigatorGeolocation.h"
 
 #include "nsPIDOMWindow.h"
 
 #include "nsIGeolocationProvider.h"
 #include "nsIContentPermissionPrompt.h"
 
-#ifdef MOZ_IPC
 #include "PCOMContentPermissionRequestChild.h"
-#endif
 
 class nsGeolocationService;
 class nsGeolocation;
 
 class nsGeolocationRequest
  : public nsIContentPermissionRequest
  , public nsITimerCallback
-#ifdef MOZ_IPC
  , public PCOMContentPermissionRequestChild
-#endif
 {
  public:
   NS_DECL_CYCLE_COLLECTING_ISUPPORTS
   NS_DECL_NSICONTENTPERMISSIONREQUEST
   NS_DECL_NSITIMERCALLBACK
 
   NS_DECL_CYCLE_COLLECTION_CLASS_AMBIGUOUS(nsGeolocationRequest, nsIContentPermissionRequest)
 
@@ -102,20 +96,18 @@ class nsGeolocationRequest
   void SendLocation(nsIDOMGeoPosition* location);
   void MarkCleared();
   PRBool IsActive() {return !mCleared;}
   PRBool Allowed() {return mAllowed;}
   void SetTimeoutTimer();
 
   ~nsGeolocationRequest();
 
-#ifdef MOZ_IPC
   bool Recv__delete__(const bool& allow);
   void IPDLRelease() { Release(); }
-#endif
 
  private:
 
   void NotifyError(PRInt16 errorCode);
   PRPackedBool mAllowed;
   PRPackedBool mCleared;
   PRPackedBool mIsWatchPositionRequest;
 
--- a/dom/src/notification/nsDesktopNotification.cpp
+++ b/dom/src/notification/nsDesktopNotification.cpp
@@ -31,25 +31,23 @@
  * and other provisions required by the GPL or the LGPL. If you do not delete
  * the provisions above, a recipient may use your version of this file under
  * the terms of any one of the MPL, the GPL or the LGPL.
  *
  * ***** END LICENSE BLOCK ***** */
 
 #include "nsDesktopNotification.h"
 
-#ifdef MOZ_IPC
 #include "nsContentPermissionHelper.h"
 #include "nsXULAppAPI.h"
 
 #include "mozilla/dom/PBrowserChild.h"
 #include "TabChild.h"
 
 using namespace mozilla::dom;
-#endif
 
 /* ------------------------------------------------------------------------ */
 /* AlertServiceObserver                                                     */
 /* ------------------------------------------------------------------------ */
 
 NS_IMPL_ISUPPORTS1(AlertServiceObserver, nsIObserver)
 
 /* ------------------------------------------------------------------------ */
@@ -124,17 +122,16 @@ nsDOMDesktopNotification::nsDOMDesktopNo
       nsContentUtils::GetBoolPref("notification.prompt.testing.allow", PR_TRUE)) {
     mAllow = PR_TRUE;
     return;
   }
 
   nsRefPtr<nsDesktopNotificationRequest> 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
     // bail.  The user will not see a notification, and that
     // is fine.
     if (!mOwner)
       return;
 
@@ -147,17 +144,16 @@ nsDOMDesktopNotification::nsDOMDesktopNo
     request->AddRef();
 
     nsCString type = NS_LITERAL_CSTRING("desktop-notification");
     child->SendPContentPermissionRequestConstructor(request, type, IPC::URI(mURI));
     
     request->Sendprompt();
     return;
   }
-#endif
 
   // otherwise, dispatch it
   NS_DispatchToMainThread(request);
 
 }
 
 nsDOMDesktopNotification::~nsDOMDesktopNotification()
 {
--- a/dom/src/notification/nsDesktopNotification.h
+++ b/dom/src/notification/nsDesktopNotification.h
@@ -32,20 +32,17 @@
  * the provisions above, a recipient may use your version of this file under
  * the terms of any one of the MPL, the GPL or the LGPL.
  *
  * ***** END LICENSE BLOCK ***** */
 
 #ifndef nsDesktopNotification_h
 #define nsDesktopNotification_h
 
-#ifdef MOZ_IPC
 #include "PCOMContentPermissionRequestChild.h"
-#endif
-
 
 #include "nsDOMClassInfo.h"
 #include "nsIJSContextStack.h"
 
 #include "nsIAlertsService.h"
 
 #include "nsIDOMDesktopNotification.h"
 #include "nsIDOMEventTarget.h"
@@ -150,20 +147,18 @@ protected:
   PRBool mAllow;
   PRBool mShowHasBeenCalled;
 };
 
 /*
  * Simple Request
  */
 class nsDesktopNotificationRequest : public nsIContentPermissionRequest,
-                                     public nsRunnable
-#ifdef MOZ_IPC
- , public PCOMContentPermissionRequestChild
-#endif
+                                     public nsRunnable, 
+                                     public PCOMContentPermissionRequestChild
 
 {
  public:
   NS_DECL_ISUPPORTS
   NS_DECL_NSICONTENTPERMISSIONREQUEST
 
   nsDesktopNotificationRequest(nsDOMDesktopNotification* notification)
     : mDesktopNotification(notification) {}
@@ -177,28 +172,25 @@ class nsDesktopNotificationRequest : pub
     }
     return NS_OK;
   }
 
   ~nsDesktopNotificationRequest()
   {
   }
 
-#ifdef MOZ_IPC
-
  bool Recv__delete__(const bool& allow)
  {
    if (allow)
      (void) Allow();
    else
      (void) Cancel();
    return true;
  }
  void IPDLRelease() { Release(); }
-#endif
 
   nsRefPtr<nsDOMDesktopNotification> mDesktopNotification;
 };
 
 class AlertServiceObserver: public nsIObserver
 {
  public:
   NS_DECL_ISUPPORTS
--- a/dom/src/offline/nsDOMOfflineResourceList.cpp
+++ b/dom/src/offline/nsDOMOfflineResourceList.cpp
@@ -52,24 +52,19 @@
 #include "nsContentUtils.h"
 #include "nsIJSContextStack.h"
 #include "nsEventDispatcher.h"
 #include "nsIPrivateDOMEvent.h"
 #include "nsIObserverService.h"
 #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
 
 #define CHECKING_STR    "checking"
 #define ERROR_STR       "error"
 #define NOUPDATE_STR    "noupdate"
 #define DOWNLOADING_STR "downloading"
 #define PROGRESS_STR    "progress"
--- a/dom/src/storage/Makefile.in
+++ b/dom/src/storage/Makefile.in
@@ -50,23 +50,21 @@ LIBXUL_LIBRARY = 1
 
 CPPSRCS =                  \
        nsDOMStorage.cpp    \
        $(NULL)
 
 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
 
 LOCAL_INCLUDES = \
                 -I$(topsrcdir)/dom/base \
 		-I$(topsrcdir)/content/events/src
 
--- a/dom/src/storage/nsDOMStorage.cpp
+++ b/dom/src/storage/nsDOMStorage.cpp
@@ -35,22 +35,20 @@
  * use your version of this file under the terms of the MPL, indicate your
  * decision by deleting the provisions above and replace them with the notice
  * and other provisions required by the GPL or the LGPL. If you do not delete
  * the provisions above, a recipient may use your version of this file under
  * the terms of any one of the MPL, the GPL or the LGPL.
  *
  * ***** 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"
 #include "nsDOMError.h"
 #include "nsDOMClassInfo.h"
 #include "nsUnicharUtils.h"
 #include "nsIDocument.h"
 #include "nsDOMStorage.h"
@@ -266,21 +264,19 @@ nsDOMStorageManager::Initialize()
   if (!gStorageManager->mStorages.Init()) {
     delete gStorageManager;
     gStorageManager = nsnull;
     return NS_ERROR_OUT_OF_MEMORY;
   }
 
   NS_ADDREF(gStorageManager);
 
-#ifdef MOZ_IPC
   // No observers needed in non-chrome
   if (XRE_GetProcessType() != GeckoProcessType_Default)
     return NS_OK;
-#endif
 
   nsCOMPtr<nsIObserverService> os = mozilla::services::GetObserverService();
   if (!os)
     return NS_OK;
 
   os->AddObserver(gStorageManager, "cookie-changed", PR_FALSE);
   os->AddObserver(gStorageManager, "offline-app-removed", PR_FALSE);
   os->AddObserver(gStorageManager, NS_PRIVATE_BROWSING_SWITCH_TOPIC, PR_FALSE);
@@ -1350,37 +1346,32 @@ DOMStorageImpl::Clear(bool aCallerSecure
 }
 
 nsDOMStorage::nsDOMStorage()
   : mStorageType(nsPIDOMStorage::Unknown)
   , mEventBroadcaster(nsnull)
 {
   mSecurityChecker = this;
 
-#ifdef MOZ_IPC
   if (XRE_GetProcessType() != GeckoProcessType_Default)
     mStorageImpl = new StorageChild(this);
   else
-#endif
-  mStorageImpl = new DOMStorageImpl(this);
+    mStorageImpl = new DOMStorageImpl(this);
 }
 
 nsDOMStorage::nsDOMStorage(nsDOMStorage& aThat)
   : mStorageType(aThat.mStorageType)
   , mEventBroadcaster(nsnull)
 {
   mSecurityChecker = this;
 
-#ifdef MOZ_IPC
   if (XRE_GetProcessType() != GeckoProcessType_Default) {
     StorageChild* other = static_cast<StorageChild*>(aThat.mStorageImpl.get());
     mStorageImpl = new StorageChild(this, *other);
-  } else
-#endif
-  {
+  } else {
     DOMStorageImpl* other = static_cast<DOMStorageImpl*>(aThat.mStorageImpl.get());
     mStorageImpl = new DOMStorageImpl(this, *other);
   }
 }
 
 nsDOMStorage::~nsDOMStorage()
 {
 }
--- a/embedding/browser/webBrowser/nsWebBrowser.cpp
+++ b/embedding/browser/webBrowser/nsWebBrowser.cpp
@@ -1224,20 +1224,17 @@ NS_IMETHODIMP nsWebBrowser::Create()
    // that always gets called (even for subframes) for any bubbling event.
 
     if (!mInitInfo->sessionHistory) {
         mInitInfo->sessionHistory = do_CreateInstance(NS_SHISTORY_CONTRACTID, &rv);
         NS_ENSURE_SUCCESS(rv, rv);
     }
    mDocShellAsNav->SetSessionHistory(mInitInfo->sessionHistory);
 
-#ifdef MOZ_IPC
-   if (XRE_GetProcessType() == GeckoProcessType_Default)
-#endif
-   {
+   if (XRE_GetProcessType() == GeckoProcessType_Default) {
        // 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");
    }
 
    NS_ENSURE_SUCCESS(mDocShellAsWin->Create(), NS_ERROR_FAILURE);
 
     // Hook into the OnSecurityChange() notification for lock/unlock icon
--- a/extensions/cookie/nsPermissionManager.cpp
+++ b/extensions/cookie/nsPermissionManager.cpp
@@ -32,21 +32,19 @@
  * use your version of this file under the terms of the MPL, indicate your
  * decision by deleting the provisions above and replace them with the notice
  * and other provisions required by the GPL or the LGPL. If you do not delete
  * the provisions above, a recipient may use your version of this file under
  * the terms of any one of the MPL, the GPL or the LGPL.
  *
  * ***** 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"
 #include "nsNetUtil.h"
 #include "nsCOMArray.h"
 #include "nsArrayEnumerator.h"
 #include "nsTArray.h"
 #include "nsReadableUtils.h"
@@ -58,17 +56,16 @@
 #include "mozIStorageStatement.h"
 #include "mozIStorageConnection.h"
 #include "mozStorageHelper.h"
 #include "mozStorageCID.h"
 #include "nsXULAppAPI.h"
 
 static nsPermissionManager *gPermissionManager = nsnull;
 
-#ifdef MOZ_IPC
 using mozilla::dom::ContentParent;
 using mozilla::dom::ContentChild;
 using mozilla::unused; // ha!
 
 static PRBool
 IsChildProcess()
 {
   return XRE_GetProcessType() == GeckoProcessType_Content;
@@ -103,17 +100,16 @@ ParentProcess()
     ContentParent* cpc = ContentParent::GetSingleton();
     if (!cpc)
       NS_RUNTIMEABORT("Content Process is NULL!");
     return cpc;
   }
 
   return nsnull;
 }
-#endif
 
 #define ENSURE_NOT_CHILD_PROCESS_(onError) \
   PR_BEGIN_MACRO \
   if (IsChildProcess()) { \
     NS_ERROR("Cannot perform action in content process!"); \
     onError \
   } \
   PR_END_MACRO
@@ -169,19 +165,17 @@ static const char kPermissionsFileName[]
 static const char kHostpermFileName[] = "hostperm.1";
 
 static const char kPermissionChangeNotification[] = PERM_CHANGE_NOTIFICATION;
 
 NS_IMPL_ISUPPORTS3(nsPermissionManager, nsIPermissionManager, nsIObserver, nsISupportsWeakReference)
 
 nsPermissionManager::nsPermissionManager()
  : mLargestID(0)
-#ifdef MOZ_IPC
  , mUpdateChildProcess(PR_FALSE)
-#endif
 {
 }
 
 nsPermissionManager::~nsPermissionManager()
 {
   RemoveAllFromMemory();
 }
 
@@ -228,32 +222,30 @@ nsPermissionManager::Init()
   }
 
   mObserverService = do_GetService("@mozilla.org/observer-service;1", &rv);
   if (NS_SUCCEEDED(rv)) {
     mObserverService->AddObserver(this, "profile-before-change", PR_TRUE);
     mObserverService->AddObserver(this, "profile-do-change", PR_TRUE);
   }
 
-#ifdef MOZ_IPC
   if (IsChildProcess()) {
     // Get the permissions from the parent process
     InfallibleTArray<IPC::Permission> perms;
     ChildProcess()->SendReadPermissions(&perms);
 
     for (PRUint32 i = 0; i < perms.Length(); i++) {
       const IPC::Permission &perm = perms[i];
       AddInternal(perm.host, perm.type, perm.capability, 0, perm.expireType,
                   perm.expireTime, eNotify, eNoDBOperation);
     }
 
     // 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).
   // XXX should we tell the user about this?
   InitDB(PR_FALSE);
 
   return NS_OK;
 }
@@ -435,19 +427,17 @@ nsPermissionManager::CreateTable()
 
 NS_IMETHODIMP
 nsPermissionManager::Add(nsIURI     *aURI,
                          const char *aType,
                          PRUint32    aPermission,
                          PRUint32    aExpireType,
                          PRInt64     aExpireTime)
 {
-#ifdef MOZ_IPC
   ENSURE_NOT_CHILD_PROCESS;
-#endif
 
   NS_ENSURE_ARG_POINTER(aURI);
   NS_ENSURE_ARG_POINTER(aType);
   NS_ENSURE_TRUE(aExpireType == nsIPermissionManager::EXPIRE_NEVER ||
                  aExpireType == nsIPermissionManager::EXPIRE_TIME ||
                  aExpireType == nsIPermissionManager::EXPIRE_SESSION,
                  NS_ERROR_INVALID_ARG);
 
@@ -471,27 +461,25 @@ nsPermissionManager::AddInternal(const n
                                  const nsAFlatCString &aType,
                                  PRUint32              aPermission,
                                  PRInt64               aID,
                                  PRUint32              aExpireType,
                                  PRInt64               aExpireTime,
                                  NotifyOperationType   aNotifyOperation,
                                  DBOperationType       aDBOperation)
 {
-#ifdef MOZ_IPC
   if (!IsChildProcess()) {
     // In the parent, send the update now, if the child is ready
     if (mUpdateChildProcess) {
       IPC::Permission permission((aHost),
                                  (aType),
                                  aPermission, aExpireType, aExpireTime);
       unused << ParentProcess()->SendAddPermission(permission);
     }
   }
-#endif
 
   if (!gHostArena) {
     gHostArena = new PLArenaPool;
     if (!gHostArena)
       return NS_ERROR_OUT_OF_MEMORY;    
     PL_INIT_ARENA_POOL(gHostArena, "PermissionHostArena", HOST_ARENA_SIZE);
   }
 
@@ -622,19 +610,17 @@ nsPermissionManager::AddInternal(const n
 
   return NS_OK;
 }
 
 NS_IMETHODIMP
 nsPermissionManager::Remove(const nsACString &aHost,
                             const char       *aType)
 {
-#ifdef MOZ_IPC
   ENSURE_NOT_CHILD_PROCESS;
-#endif
 
   NS_ENSURE_ARG_POINTER(aType);
 
   // AddInternal() handles removal, just let it do the work
   return AddInternal(PromiseFlatCString(aHost),
                      nsDependentCString(aType),
                      nsIPermissionManager::UNKNOWN_ACTION,
                      0,
@@ -642,19 +628,17 @@ nsPermissionManager::Remove(const nsACSt
                      0,
                      eNotify,
                      eWriteToDB);
 }
 
 NS_IMETHODIMP
 nsPermissionManager::RemoveAll()
 {
-#ifdef MOZ_IPC
   ENSURE_NOT_CHILD_PROCESS;
-#endif
 
   nsresult rv = RemoveAllInternal();
   NotifyObservers(nsnull, NS_LITERAL_STRING("cleared").get());
   return rv;
 }
 
 nsresult
 nsPermissionManager::RemoveAllInternal()
@@ -801,34 +785,30 @@ AddPermissionsToList(nsHostEntry *entry,
     data->array->AppendObject(perm);
   }
 
   return PL_DHASH_NEXT;
 }
 
 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<nsIPermission> array;
   nsGetEnumeratorData data(&array, &mTypeArray);
 
   mHostTable.EnumerateEntries(AddPermissionsToList, &data);
 
   return NS_NewArrayEnumerator(aEnum, array);
 }
 
 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,
     // or is going away because the application is shutting down.
     if (!nsCRT::strcmp(someData, NS_LITERAL_STRING("shutdown-cleanse").get())) {
       // clear the permissions file
       RemoveAllInternal();
     } else {
@@ -915,19 +895,17 @@ nsPermissionManager::NotifyObservers(nsI
     mObserverService->NotifyObservers(aPermission,
                                       kPermissionChangeNotification,
                                       aData);
 }
 
 nsresult
 nsPermissionManager::Read()
 {
-#ifdef MOZ_IPC
   ENSURE_NOT_CHILD_PROCESS;
-#endif
 
   nsresult rv;
 
   // delete expired permissions before we read in the db
   {
     // this deletion has its own scope so the write lock is released when done.
     nsCOMPtr<mozIStorageStatement> stmtDeleteExpired;
     rv = mDBConn->CreateStatement(NS_LITERAL_CSTRING(
@@ -985,19 +963,17 @@ nsPermissionManager::Read()
   return NS_OK;
 }
 
 static const char kMatchTypeHost[] = "host";
 
 nsresult
 nsPermissionManager::Import()
 {
-#ifdef MOZ_IPC
   ENSURE_NOT_CHILD_PROCESS;
-#endif
 
   nsresult rv;
 
   nsCOMPtr<nsIFile> permissionsFile;
   rv = NS_GetSpecialDirectory(NS_APP_USER_PROFILE_50_DIR, getter_AddRefs(permissionsFile));
   if (NS_FAILED(rv)) return rv;
 
   rv = permissionsFile->AppendNative(NS_LITERAL_CSTRING(kHostpermFileName));
@@ -1093,19 +1069,17 @@ nsPermissionManager::UpdateDB(OperationT
                               mozIStorageStatement* aStmt,
                               PRInt64               aID,
                               const nsACString     &aHost,
                               const nsACString     &aType,
                               PRUint32              aPermission,
                               PRUint32              aExpireType,
                               PRInt64               aExpireTime)
 {
-#ifdef MOZ_IPC
   ENSURE_NOT_CHILD_PROCESS_NORET;
-#endif
 
   nsresult rv;
 
   // no statement is ok - just means we don't have a profile
   if (!aStmt)
     return;
 
   switch (aOp) {
--- a/extensions/cookie/nsPermissionManager.h
+++ b/extensions/cookie/nsPermissionManager.h
@@ -246,27 +246,25 @@ private:
 
   nsTHashtable<nsHostEntry>    mHostTable;
   // a unique, monotonically increasing id used to identify each database entry
   PRInt64                      mLargestID;
 
   // An array to store the strings identifying the different types.
   nsTArray<nsCString>          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.
   PRBool                       mUpdateChildProcess;
 
 public:
   void ChildRequestPermissions()
   {
     mUpdateChildProcess = PR_TRUE;
   }
-#endif
 };
 
 // {4F6B5E00-0C36-11d5-A535-0010A401EB10}
 #define NS_PERMISSIONMANAGER_CID \
 { 0x4f6b5e00, 0xc36, 0x11d5, { 0xa5, 0x35, 0x0, 0x10, 0xa4, 0x1, 0xeb, 0x10 } }
 
 #endif /* nsPermissionManager_h__ */
--- a/extensions/cookie/test/Makefile.in
+++ b/extensions/cookie/test/Makefile.in
@@ -91,17 +91,15 @@ MODULE          = test_cookies
 libs:: $(_TEST_FILES)
 	$(INSTALL) $(foreach f,$^,"$f") $(DEPTH)/_tests/testing/mochitest/tests/$(relativesrcdir)
 
 libs:: $(_BROWSER_TEST_FILES)
 	$(INSTALL) $(foreach f,$^,"$f") $(DEPTH)/_tests/testing/mochitest/browser/$(relativesrcdir)
 
 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
 
--- a/gfx/Makefile.in
+++ b/gfx/Makefile.in
@@ -54,23 +54,19 @@ endif
 # be built first so the order is reversed.
 ifndef BUILD_STATIC_LIBS
 DIRS		+= ycbcr
 endif
 
 DIRS		+= angle
 
 
-DIRS		+= src qcms layers harfbuzz/src ots/src thebes
+DIRS		+= src qcms layers harfbuzz/src ots/src thebes ipc
 
 ifdef BUILD_STATIC_LIBS
 DIRS		+= ycbcr
 endif
 
-ifdef MOZ_IPC
-DIRS		+= ipc
-endif
-
 ifdef ENABLE_TESTS
 TOOL_DIRS	+= tests
 endif
 
 include $(topsrcdir)/config/rules.mk
--- a/gfx/ipc/Makefile.in
+++ b/gfx/ipc/Makefile.in
@@ -37,18 +37,16 @@
 
 DEPTH       = ../..
 topsrcdir   = @top_srcdir@
 srcdir      = @srcdir@
 VPATH       = @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
-ifdef MOZ_IPC
-
 MODULE             = gfxipc
 LIBRARY_NAME       = gfxipc_s
 FORCE_STATIC_LIB   = 1
 LIBXUL_LIBRARY     = 1
 EXPORT_LIBRARY     = 1
 
 EXPORTS_NAMESPACES = mozilla/gfx
 
@@ -68,13 +66,11 @@ CPPSRCS += \
   SharedDIBWin.cpp \
   SharedDIBSurface.cpp \
   $(NULL)
 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)
--- a/gfx/layers/Layers.cpp
+++ b/gfx/layers/Layers.cpp
@@ -33,19 +33,17 @@
  * use your version of this file under the terms of the MPL, indicate your
  * decision by deleting the provisions above and replace them with the notice
  * and other provisions required by the GPL or the LGPL. If you do not delete
  * the provisions above, a recipient may use your version of this file under
  * the terms of any one of the MPL, the GPL or the LGPL.
  *
  * ***** END LICENSE BLOCK ***** */
 
-#ifdef MOZ_IPC
-# include "mozilla/layers/ShadowLayers.h"
-#endif  // MOZ_IPC
+#include "mozilla/layers/ShadowLayers.h"
 
 #include "ImageLayers.h"
 #include "Layers.h"
 #include "gfxPlatform.h"
 #include "ReadbackLayer.h"
 #include "gfxUtils.h"
 
 using namespace mozilla::layers;
@@ -236,17 +234,16 @@ Layer::CanUseOpaqueSurface()
   // doesn't need an alpha channel, we can use an opaque surface for this
   // layer too. Any transparent areas must be covered by something else
   // in the container.
   ContainerLayer* parent = GetParent();
   return parent && parent->GetFirstChild() == this &&
     parent->CanUseOpaqueSurface();
 }
 
-#ifdef MOZ_IPC
 // NB: eventually these methods will be defined unconditionally, and
 // can be moved into Layers.h
 const nsIntRect*
 Layer::GetEffectiveClipRect()
 {
   if (ShadowLayer* shadow = AsShadowLayer()) {
     return shadow->GetShadowClipRect();
   }
@@ -257,23 +254,16 @@ const nsIntRegion&
 Layer::GetEffectiveVisibleRegion()
 {
   if (ShadowLayer* shadow = AsShadowLayer()) {
     return shadow->GetShadowVisibleRegion();
   }
   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,
                      gfxMatrix* aResidualTransform)
 {
   if (aResidualTransform) {
     *aResidualTransform = gfxMatrix();
   }
@@ -356,20 +346,18 @@ Layer::CalculateScissorRect(bool aInterm
                "Attempting to scissor out of bounds!");
 
   return scissorRect;
 }
 
 const gfx3DMatrix&
 Layer::GetLocalTransform()
 {
-#ifdef MOZ_IPC
   if (ShadowLayer* shadow = AsShadowLayer())
     return shadow->GetShadowTransform();
-#endif
   return mTransform;
 }
 
 float
 Layer::GetEffectiveOpacity()
 {
   float opacity = GetOpacity();
   for (ContainerLayer* c = GetParent(); c && !c->UseIntermediateSurface();
@@ -697,17 +685,16 @@ LayerManager::InitLog()
 /*static*/ bool
 LayerManager::IsLogEnabled()
 {
   NS_ABORT_IF_FALSE(!!sLog,
                     "layer manager must be created before logging is allowed");
   return PR_LOG_TEST(sLog, PR_LOG_DEBUG);
 }
 
-# ifdef MOZ_IPC
 static nsACString&
 PrintInfo(nsACString& aTo, ShadowLayer* aShadowLayer)
 {
   if (!aShadowLayer) {
     return aTo;
   }
   if (const nsIntRect* clipRect = aShadowLayer->GetShadowClipRect()) {
     AppendToString(aTo, *clipRect, " [shadow-clip=", "]");
@@ -715,22 +702,16 @@ PrintInfo(nsACString& aTo, ShadowLayer* 
   if (!aShadowLayer->GetShadowTransform().IsIdentity()) {
     AppendToString(aTo, aShadowLayer->GetShadowTransform(), " [shadow-transform=", "]");
   }
   if (!aShadowLayer->GetShadowVisibleRegion().IsEmpty()) {
     AppendToString(aTo, aShadowLayer->GetShadowVisibleRegion(), " [shadow-visible=", "]");
   }
   return aTo;
 }
-# else
-static nsACString& PrintInfo(nsACString& aTo, ShadowLayer* aShadowLayer)
-{
-  return aTo;
-}
-# endif  // MOZ_IPC
 
 #else  // !MOZ_LAYERS_HAVE_LOG
 
 void Layer::Dump(FILE* aFile, const char* aPrefix) {}
 void Layer::DumpSelf(FILE* aFile, const char* aPrefix) {}
 void Layer::Log(const char* aPrefix) {}
 void Layer::LogSelf(const char* aPrefix) {}
 nsACString&
--- a/gfx/layers/Makefile.in
+++ b/gfx/layers/Makefile.in
@@ -39,24 +39,21 @@ DEPTH       = ../..
 topsrcdir   = @top_srcdir@
 srcdir      = @srcdir@
 VPATH       = \
   $(srcdir) \
   $(srcdir)/basic \
   $(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
 FORCE_STATIC_LIB = 1
 
 DEFINES += -DIMPL_THEBES
 ifdef MOZ_DEBUG
 DEFINES += -DD3D_DEBUG_INFO
@@ -122,17 +119,16 @@ CPPSRCS += \
         ImageLayerD3D10.cpp \
         ColorLayerD3D10.cpp \
         CanvasLayerD3D10.cpp \
         ReadbackManagerD3D10.cpp \
         $(NULL)
 endif
 endif
 
-ifdef MOZ_IPC #{
 EXPORTS_NAMESPACES = IPC mozilla/layers
 EXPORTS_IPC = ShadowLayerUtils.h
 EXPORTS_mozilla/layers =\
         ShadowLayers.h \
         ShadowLayersChild.h \
         ShadowLayersParent.h \
         $(NULL)
 
@@ -144,30 +140,26 @@ CPPSRCS += \
         ShadowLayersParent.cpp \
         $(NULL)
 
 ifdef MOZ_X11 #{
 EXPORTS_mozilla/layers += ShadowLayerUtilsX11.h
 CPPSRCS += ShadowLayerUtilsX11.cpp
 endif #}
 
-endif #}
-
 # Enable GLES2.0 under maemo
 ifdef MOZ_X11
 ifdef MOZ_PLATFORM_MAEMO
 DEFINES += -DUSE_GLES2
 endif
 endif
 
 include $(topsrcdir)/config/rules.mk
 
-ifdef MOZ_IPC
 include $(topsrcdir)/ipc/chromium/chromium-config.mk
-endif
 
 CXXFLAGS += $(MOZ_CAIRO_CFLAGS) $(TK_CFLAGS)
 
 LayerManagerOGLShaders.h: LayerManagerOGLShaders.txt genshaders.py $(GLOBAL_DEPS)
 	$(PYTHON) $(srcdir)/opengl/genshaders.py $< $@
 
 LayerManagerOGL.$(OBJ_SUFFIX): LayerManagerOGLShaders.h
 
--- a/gfx/layers/basic/BasicLayers.cpp
+++ b/gfx/layers/basic/BasicLayers.cpp
@@ -31,24 +31,22 @@
  * use your version of this file under the terms of the MPL, indicate your
  * decision by deleting the provisions above and replace them with the notice
  * and other provisions required by the GPL or the LGPL. If you do not delete
  * the provisions above, a recipient may use your version of this file under
  * the terms of any one of the MPL, the GPL or the LGPL.
  *
  * ***** END LICENSE BLOCK ***** */
 
-#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"
-#endif
+#include "gfxSharedImageSurface.h"
+
+#include "mozilla/layers/PLayerChild.h"
+#include "mozilla/layers/PLayersChild.h"
+#include "mozilla/layers/PLayersParent.h"
+#include "ipc/ShadowLayerChild.h"
 
 #include "BasicLayers.h"
 #include "ImageLayers.h"
 
 #include "nsTArray.h"
 #include "nsGUIEvent.h"
 #include "nsIRenderingContext.h"
 #include "gfxContext.h"
@@ -1599,18 +1597,16 @@ BasicLayerManager::CreateCanvasLayer()
 already_AddRefed<ReadbackLayer>
 BasicLayerManager::CreateReadbackLayer()
 {
   NS_ASSERTION(InConstruction(), "Only allowed in construction phase");
   nsRefPtr<ReadbackLayer> layer = new BasicReadbackLayer(this);
   return layer.forget();
 }
 
-#ifdef MOZ_IPC
-
 class BasicShadowableThebesLayer;
 class BasicShadowableLayer : public ShadowableLayer
 {
 public:
   BasicShadowableLayer()
   {
     MOZ_COUNT_CTOR(BasicShadowableLayer);
   }
@@ -2881,12 +2877,11 @@ BasicShadowLayerManager::Hold(Layer* aLa
 
 PRBool
 BasicShadowLayerManager::IsCompositingCheap()
 {
   // Whether compositing is cheap depends on the parent backend.
   return mShadowManager &&
          LayerManager::IsCompositingCheap(GetParentBackendType());
 }
-#endif  // MOZ_IPC
 
 }
 }
--- a/gfx/layers/basic/BasicLayers.h
+++ b/gfx/layers/basic/BasicLayers.h
@@ -40,19 +40,17 @@
 
 #include "Layers.h"
 
 #include "gfxContext.h"
 #include "gfxCachedTempSurface.h"
 #include "nsAutoRef.h"
 #include "nsThreadUtils.h"
 
-#ifdef MOZ_IPC
 #include "mozilla/layers/ShadowLayers.h"
-#endif
 
 class nsIWidget;
 
 namespace mozilla {
 namespace layers {
 
 class BasicShadowableLayer;
 class ShadowThebesLayer;
@@ -66,21 +64,17 @@ class ReadbackProcessor;
  * This is a cairo/Thebes-only, main-thread-only implementation of layers.
  * 
  * In each transaction, the client sets up the layer tree and then during
  * the drawing phase, each ThebesLayer is painted directly into the target
  * context (with appropriate clipping and Push/PopGroups performed
  * between layers).
  */
 class THEBES_API BasicLayerManager :
-#ifdef MOZ_IPC
     public ShadowLayerManager
-#else
-    public LayerManager
-#endif
 {
 public:
   /**
    * Construct a BasicLayerManager which will have no default
    * target context. SetDefaultTarget or BeginTransactionWithTarget
    * must be called for any rendering to happen. ThebesLayers will not
    * be retained.
    */
@@ -230,17 +224,16 @@ protected:
   gfxCachedTempSurface mCachedSurface;
 
   BufferMode   mDoubleBuffering;
   PRPackedBool mUsingDefaultTarget;
   bool         mTransactionIncomplete;
 };
  
 
-#ifdef MOZ_IPC
 class BasicShadowLayerManager : public BasicLayerManager,
                                 public ShadowLayerForwarder
 {
   typedef nsTArray<nsRefPtr<Layer> > LayerRefArray;
 
 public:
   BasicShadowLayerManager(nsIWidget* aWidget);
   virtual ~BasicShadowLayerManager();
@@ -279,17 +272,16 @@ public:
 private:
   /**
    * Forward transaction results to the parent context.
    */
   void ForwardTransaction();
 
   LayerRefArray mKeepAlive;
 };
-#endif  // MOZ_IPC
 
 }
 }
 
 /**
  * We need to be able to hold a reference to a gfxASurface from Image
  * subclasses. This is potentially a problem since Images can be addrefed
  * or released off the main thread. We can ensure that we never AddRef
--- a/gfx/layers/opengl/CanvasLayerOGL.cpp
+++ b/gfx/layers/opengl/CanvasLayerOGL.cpp
@@ -30,19 +30,17 @@
  * use your version of this file under the terms of the MPL, indicate your
  * decision by deleting the provisions above and replace them with the notice
  * and other provisions required by the GPL or the LGPL. If you do not delete
  * the provisions above, a recipient may use your version of this file under
  * the terms of any one of the MPL, the GPL or the LGPL.
  *
  * ***** END LICENSE BLOCK ***** */
 
-#ifdef MOZ_IPC
-# include "gfxSharedImageSurface.h"
-#endif
+#include "gfxSharedImageSurface.h"
 
 #include "CanvasLayerOGL.h"
 
 #include "gfxImageSurface.h"
 #include "gfxContext.h"
 #include "GLContextProvider.h"
 
 #ifdef XP_WIN
@@ -240,18 +238,16 @@ CanvasLayerOGL::RenderLayer(int aPreviou
   mOGLManager->BindAndDrawQuad(program, mNeedsYFlip ? true : false);
 
   if (useGLContext) {
     gl()->UnbindTex2DOffscreen(mCanvasGLContext);
   }
 }
 
 
-#ifdef MOZ_IPC
-
 ShadowCanvasLayerOGL::ShadowCanvasLayerOGL(LayerManagerOGL* aManager)
   : ShadowCanvasLayer(aManager, nsnull)
   , LayerOGL(aManager)
 {
   mImplData = static_cast<LayerOGL*>(this);
 }
  
 ShadowCanvasLayerOGL::~ShadowCanvasLayerOGL()
@@ -329,10 +325,8 @@ ShadowCanvasLayerOGL::RenderLayer(int aP
   program->SetLayerQuadRect(nsIntRect(nsIntPoint(0, 0), mTexImage->GetSize()));
   program->SetLayerTransform(GetEffectiveTransform());
   program->SetLayerOpacity(GetEffectiveOpacity());
   program->SetRenderOffset(aOffset);
   program->SetTextureUnit(0);
 
   mOGLManager->BindAndDrawQuad(program);
 }
-
-#endif  // MOZ_IPC
--- a/gfx/layers/opengl/CanvasLayerOGL.h
+++ b/gfx/layers/opengl/CanvasLayerOGL.h
@@ -33,20 +33,18 @@
  * the provisions above, a recipient may use your version of this file under
  * the terms of any one of the MPL, the GPL or the LGPL.
  *
  * ***** END LICENSE BLOCK ***** */
 
 #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 "mozilla/layers/PLayers.h"
+#include "mozilla/layers/ShadowLayers.h"
 
 #include "LayerManagerOGL.h"
 #include "gfxASurface.h"
 
 namespace mozilla {
 namespace layers {
 
 class THEBES_API CanvasLayerOGL :
@@ -83,17 +81,16 @@ protected:
   void MakeTexture();
   GLuint mTexture;
 
   PRPackedBool mDelayedUpdates;
   PRPackedBool mGLBufferIsPremultiplied;
   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
 class ShadowCanvasLayerOGL : public ShadowCanvasLayer,
                              public LayerOGL
 {
   typedef gl::TextureImage TextureImage;
 
@@ -124,13 +121,12 @@ private:
   nsRefPtr<TextureImage> mTexImage;
 
 
   // XXX FIXME holding to free
   nsRefPtr<gfxSharedImageSurface> mDeadweight;
 
 
 };
-#endif  // MOZ_IPC
 
 } /* layers */
 } /* mozilla */
 #endif /* GFX_IMAGELAYEROGL_H */
--- a/gfx/layers/opengl/ColorLayerOGL.cpp
+++ b/gfx/layers/opengl/ColorLayerOGL.cpp
@@ -75,20 +75,18 @@ RenderColorLayer(ColorLayer* aLayer, Lay
 
 void
 ColorLayerOGL::RenderLayer(int,
                            const nsIntPoint& aOffset)
 {
   return RenderColorLayer(this, mOGLManager, aOffset);
 }
 
-#ifdef MOZ_IPC
 void
 ShadowColorLayerOGL::RenderLayer(int,
                                  const nsIntPoint& aOffset)
 {
   return RenderColorLayer(this, mOGLManager, aOffset);
 }
-#endif  // MOZ_IPC
 
 
 } /* layers */
 } /* mozilla */
--- a/gfx/layers/opengl/ColorLayerOGL.h
+++ b/gfx/layers/opengl/ColorLayerOGL.h
@@ -33,20 +33,18 @@
  * the provisions above, a recipient may use your version of this file under
  * the terms of any one of the MPL, the GPL or the LGPL.
  *
  * ***** END LICENSE BLOCK ***** */
 
 #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 "mozilla/layers/PLayers.h"
+#include "mozilla/layers/ShadowLayers.h"
 
 #include "LayerManagerOGL.h"
 
 namespace mozilla {
 namespace layers {
 
 class THEBES_API ColorLayerOGL : public ColorLayer,
                                  public LayerOGL
@@ -64,17 +62,16 @@ public:
   virtual Layer* GetLayer() { return this; }
 
   virtual void Destroy() { mDestroyed = PR_TRUE; }
 
   virtual void RenderLayer(int aPreviousFrameBuffer,
                            const nsIntPoint& aOffset);
 };
 
-#ifdef MOZ_IPC
 class ShadowColorLayerOGL : public ShadowColorLayer,
                             public LayerOGL
 {
 public:
   ShadowColorLayerOGL(LayerManagerOGL *aManager)
     : ShadowColorLayer(aManager, NULL)
     , LayerOGL(aManager)
   { 
@@ -85,13 +82,12 @@ public:
   // LayerOGL Implementation
   virtual Layer* GetLayer() { return this; }
 
   virtual void Destroy() { mDestroyed = PR_TRUE; }
 
   virtual void RenderLayer(int aPreviousFrameBuffer,
                            const nsIntPoint& aOffset);
 };
-#endif  // MOZ_IPC
 
 } /* layers */
 } /* mozilla */
 #endif /* GFX_COLORLAYEROGL_H */
--- a/gfx/layers/opengl/ContainerLayerOGL.cpp
+++ b/gfx/layers/opengl/ContainerLayerOGL.cpp
@@ -338,18 +338,16 @@ ContainerLayerOGL::GetFirstChildOGL()
 void
 ContainerLayerOGL::RenderLayer(int aPreviousFrameBuffer,
                                const nsIntPoint& aOffset)
 {
   ContainerRender(this, aPreviousFrameBuffer, aOffset, mOGLManager);
 }
 
 
-#ifdef MOZ_IPC
-
 ShadowContainerLayerOGL::ShadowContainerLayerOGL(LayerManagerOGL *aManager)
   : ShadowContainerLayer(aManager, NULL)
   , LayerOGL(aManager)
 {
   mImplData = static_cast<LayerOGL*>(this);
 }
  
 ShadowContainerLayerOGL::~ShadowContainerLayerOGL()
@@ -386,13 +384,11 @@ ShadowContainerLayerOGL::GetFirstChildOG
  
 void
 ShadowContainerLayerOGL::RenderLayer(int aPreviousFrameBuffer,
                                      const nsIntPoint& aOffset)
 {
   ContainerRender(this, aPreviousFrameBuffer, aOffset, mOGLManager);
 }
 
-#endif  // MOZ_IPC
-
 
 } /* layers */
 } /* mozilla */
--- a/gfx/layers/opengl/ContainerLayerOGL.h
+++ b/gfx/layers/opengl/ContainerLayerOGL.h
@@ -33,20 +33,18 @@
  * the provisions above, a recipient may use your version of this file under
  * the terms of any one of the MPL, the GPL or the LGPL.
  *
  * ***** END LICENSE BLOCK ***** */
 
 #ifndef GFX_CONTAINERLAYEROGL_H
 #define GFX_CONTAINERLAYEROGL_H
 
-#ifdef MOZ_IPC
-# include "mozilla/layers/PLayers.h"
-# include "mozilla/layers/ShadowLayers.h"
-#endif
+#include "mozilla/layers/PLayers.h"
+#include "mozilla/layers/ShadowLayers.h"
 
 #include "Layers.h"
 #include "LayerManagerOGL.h"
 
 namespace mozilla {
 namespace layers {
 
 template<class Container>
@@ -95,17 +93,16 @@ public:
                            const nsIntPoint& aOffset);
 
   virtual void ComputeEffectiveTransforms(const gfx3DMatrix& aTransformToSurface)
   {
     DefaultComputeEffectiveTransforms(aTransformToSurface);
   }
 };
 
-#ifdef MOZ_IPC
 class ShadowContainerLayerOGL : public ShadowContainerLayer,
                                 public LayerOGL
 {
   template<class Container>
   friend void ContainerInsertAfter(Container* aContainer, Layer* aChild, Layer* aAfter);
   template<class Container>
   friend void ContainerRemoveChild(Container* aContainer, Layer* aChild);
   template<class Container>
@@ -134,14 +131,13 @@ public:
   virtual void RenderLayer(int aPreviousFrameBuffer,
                            const nsIntPoint& aOffset);
 
   virtual void ComputeEffectiveTransforms(const gfx3DMatrix& aTransformToSurface)
   {
     DefaultComputeEffectiveTransforms(aTransformToSurface);
   }
 };
-#endif  // MOZ_IPC
 
 } /* layers */
 } /* mozilla */
 
 #endif /* GFX_CONTAINERLAYEROGL_H */
--- a/gfx/layers/opengl/ImageLayerOGL.cpp
+++ b/gfx/layers/opengl/ImageLayerOGL.cpp
@@ -31,19 +31,17 @@
  * use your version of this file under the terms of the MPL, indicate your
  * decision by deleting the provisions above and replace them with the notice
  * and other provisions required by the GPL or the LGPL. If you do not delete
  * the provisions above, a recipient may use your version of this file under
  * the terms of any one of the MPL, the GPL or the LGPL.
  *
  * ***** END LICENSE BLOCK ***** */
 
-#ifdef MOZ_IPC
-# include "gfxSharedImageSurface.h"
-#endif
+#include "gfxSharedImageSurface.h"
 
 #include "ImageLayerOGL.h"
 #include "gfxImageSurface.h"
 #include "yuv_convert.h"
 #include "GLContextProvider.h"
 #include "MacIOSurfaceImageOGL.h"
 
 using namespace mozilla::gl;
@@ -740,18 +738,16 @@ CairoImageOGL::SetData(const CairoImage:
   mSize = aData.mSize;
 
   mLayerProgram =
     gl->UploadSurfaceToTexture(aData.mSurface,
                                nsIntRect(0,0, mSize.width, mSize.height),
                                tex);
 }
 
-#ifdef MOZ_IPC
-
 ShadowImageLayerOGL::ShadowImageLayerOGL(LayerManagerOGL* aManager)
   : ShadowImageLayer(aManager, nsnull)
   , LayerOGL(aManager)
 {
   mImplData = static_cast<LayerOGL*>(this);
 }  
 
 ShadowImageLayerOGL::~ShadowImageLayerOGL()
@@ -832,13 +828,11 @@ ShadowImageLayerOGL::RenderLayer(int aPr
   program->SetLayerTransform(GetEffectiveTransform());
   program->SetLayerOpacity(GetEffectiveOpacity());
   program->SetRenderOffset(aOffset);
   program->SetTextureUnit(0);
 
   mOGLManager->BindAndDrawQuad(program);
 }
 
-#endif  // MOZ_IPC
-
 
 } /* layers */
 } /* mozilla */
--- a/gfx/layers/opengl/ImageLayerOGL.h
+++ b/gfx/layers/opengl/ImageLayerOGL.h
@@ -33,20 +33,18 @@
  * the provisions above, a recipient may use your version of this file under
  * the terms of any one of the MPL, the GPL or the LGPL.
  *
  * ***** END LICENSE BLOCK ***** */
 
 #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 "mozilla/layers/PLayers.h"
+#include "mozilla/layers/ShadowLayers.h"
 
 #include "LayerManagerOGL.h"
 #include "ImageLayers.h"
 #include "yuv_convert.h"
 #include "mozilla/Mutex.h"
 
 namespace mozilla {
 namespace layers {
@@ -229,17 +227,16 @@ public:
 
   void SetData(const Data &aData);
 
   GLTexture mTexture;
   gfxIntSize mSize;
   gl::ShaderProgramType mLayerProgram;
 };
 
-#ifdef MOZ_IPC
 class ShadowImageLayerOGL : public ShadowImageLayer,
                             public LayerOGL
 {
   typedef gl::TextureImage TextureImage;
 
 public:
   ShadowImageLayerOGL(LayerManagerOGL* aManager);
   virtual ~ShadowImageLayerOGL();
@@ -266,13 +263,12 @@ private:
   nsRefPtr<TextureImage> mTexImage;
 
 
   // XXX FIXME holding to free
   nsRefPtr<gfxSharedImageSurface> mDeadweight;
 
 
 };
-#endif
 
 } /* layers */
 } /* mozilla */
 #endif /* GFX_IMAGELAYEROGL_H */
--- a/gfx/layers/opengl/LayerManagerOGL.cpp
+++ b/gfx/layers/opengl/LayerManagerOGL.cpp
@@ -32,19 +32,17 @@
  * use your version of this file under the terms of the MPL, indicate your
  * decision by deleting the provisions above and replace them with the notice
  * and other provisions required by the GPL or the LGPL. If you do not delete
  * the provisions above, a recipient may use your version of this file under
  * the terms of any one of the MPL, the GPL or the LGPL.
  *
  * ***** END LICENSE BLOCK ***** */
 
-#ifdef MOZ_IPC
-# include "mozilla/layers/PLayers.h"
-#endif  // MOZ_IPC
+#include "mozilla/layers/PLayers.h"
 
 #include "LayerManagerOGL.h"
 #include "ThebesLayerOGL.h"
 #include "ContainerLayerOGL.h"
 #include "ImageLayerOGL.h"
 #include "ColorLayerOGL.h"
 #include "CanvasLayerOGL.h"
 
@@ -965,18 +963,16 @@ void LayerOGL::ApplyFilter(gfxPattern::G
     if (aFilter != gfxPattern::FILTER_GOOD) {
       NS_WARNING("Unsupported filter type!");
     }
     gl()->fTexParameteri(LOCAL_GL_TEXTURE_2D, LOCAL_GL_TEXTURE_MIN_FILTER, LOCAL_GL_LINEAR);
     gl()->fTexParameteri(LOCAL_GL_TEXTURE_2D, LOCAL_GL_TEXTURE_MAG_FILTER, LOCAL_GL_LINEAR);
   }
 }
 
-#ifdef MOZ_IPC
-
 already_AddRefed<ShadowThebesLayer>
 LayerManagerOGL::CreateShadowThebesLayer()
 {
   if (LayerManagerOGL::mDestroyed) {
     NS_WARNING("Call on destroyed layer manager");
     return nsnull;
   }
   return nsRefPtr<ShadowThebesLayerOGL>(new ShadowThebesLayerOGL(this)).forget();
@@ -1017,25 +1013,11 @@ LayerManagerOGL::CreateShadowCanvasLayer
 {
   if (LayerManagerOGL::mDestroyed) {
     NS_WARNING("Call on destroyed layer manager");
     return nsnull;
   }
   return nsRefPtr<ShadowCanvasLayerOGL>(new ShadowCanvasLayerOGL(this)).forget();
 }
 
-#else
-
-already_AddRefed<ShadowThebesLayer>
-LayerManagerOGL::CreateShadowThebesLayer() { return nsnull; }
-already_AddRefed<ShadowContainerLayer>
-LayerManagerOGL::CreateShadowContainerLayer() { return nsnull; }
-already_AddRefed<ShadowImageLayer>
-LayerManagerOGL::CreateShadowImageLayer() { return nsnull; }
-already_AddRefed<ShadowColorLayer>
-LayerManagerOGL::CreateShadowColorLayer() { return nsnull; }
-already_AddRefed<ShadowCanvasLayer>
-LayerManagerOGL::CreateShadowCanvasLayer() { return nsnull; }
-
-#endif  // MOZ_IPC
 
 } /* layers */
 } /* mozilla */
--- a/gfx/layers/opengl/LayerManagerOGL.h
+++ b/gfx/layers/opengl/LayerManagerOGL.h
@@ -37,19 +37,17 @@
  *
  * ***** END LICENSE BLOCK ***** */
 
 #ifndef GFX_LAYERMANAGEROGL_H
 #define GFX_LAYERMANAGEROGL_H
 
 #include "Layers.h"
 
-#ifdef MOZ_IPC
 #include "mozilla/layers/ShadowLayers.h"
-#endif
 
 #ifdef XP_WIN
 #include <windows.h>
 #endif
 
 /**
  * We don't include GLDefs.h here since we don't want to drag in all defines
  * in for all our users.
@@ -79,21 +77,17 @@ class ShadowImageLayer;
 class ShadowCanvasLayer;
 class ShadowColorLayer;
 
 /**
  * This is the LayerManager used for OpenGL 2.1. For now this will render on
  * 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;
 
 public:
   LayerManagerOGL(nsIWidget *aWidget);
   virtual ~LayerManagerOGL();
 
--- a/gfx/layers/opengl/ThebesLayerOGL.cpp
+++ b/gfx/layers/opengl/ThebesLayerOGL.cpp
@@ -31,20 +31,18 @@
  * use your version of this file under the terms of the MPL, indicate your
  * decision by deleting the provisions above and replace them with the notice
  * and other provisions required by the GPL or the LGPL. If you do not delete
  * the provisions above, a recipient may use your version of this file under
  * the terms of any one of the MPL, the GPL or the LGPL.
  *
  * ***** END LICENSE BLOCK ***** */
 
-#ifdef MOZ_IPC
-# include "mozilla/layers/PLayers.h"
-# include "mozilla/layers/ShadowLayers.h"
-#endif
+#include "mozilla/layers/PLayers.h"
+#include "mozilla/layers/ShadowLayers.h"
 
 #include "ThebesLayerBuffer.h"
 #include "ThebesLayerOGL.h"
 #include "gfxUtils.h"
 #include "gfxTeeSurface.h"
 
 namespace mozilla {
 namespace layers {
@@ -860,18 +858,16 @@ ThebesLayerOGL::GetLayer()
 
 PRBool
 ThebesLayerOGL::IsEmpty()
 {
   return !mBuffer;
 }
 
 
-#ifdef MOZ_IPC
-
 class ShadowBufferOGL : public ThebesLayerBufferOGL
 {
 public:
   ShadowBufferOGL(ShadowThebesLayerOGL* aLayer)
     : ThebesLayerBufferOGL(aLayer, aLayer)
   {}
 
   virtual PaintState BeginPaint(ContentType aContentType,
@@ -1029,13 +1025,10 @@ ShadowThebesLayerOGL::RenderLayer(int aP
 
   mOGLManager->MakeCurrent();
   gl()->fActiveTexture(LOCAL_GL_TEXTURE0);
 
   gl()->fBindFramebuffer(LOCAL_GL_FRAMEBUFFER, aPreviousFrameBuffer);
   mBuffer->RenderTo(aOffset, mOGLManager, 0);
 }
 
-#endif  // MOZ_IPC
-
-
 } /* layers */
 } /* mozilla */
--- a/gfx/layers/opengl/ThebesLayerOGL.h
+++ b/gfx/layers/opengl/ThebesLayerOGL.h
@@ -33,20 +33,18 @@
  * the provisions above, a recipient may use your version of this file under
  * the terms of any one of the MPL, the GPL or the LGPL.
  *
  * ***** END LICENSE BLOCK ***** */
 
 #ifndef GFX_THEBESLAYEROGL_H
 #define GFX_THEBESLAYEROGL_H
 
-#ifdef MOZ_IPC
-# include "mozilla/layers/PLayers.h"
-# include "mozilla/layers/ShadowLayers.h"
-#endif
+#include "mozilla/layers/PLayers.h"
+#include "mozilla/layers/ShadowLayers.h"
 
 #include "Layers.h"
 #include "LayerManagerOGL.h"
 #include "gfxImageSurface.h"
 #include "GLContext.h"
 
 
 namespace mozilla {
@@ -81,17 +79,16 @@ public:
 private:
   friend class BasicBufferOGL;
 
   PRBool CreateSurface();
 
   nsRefPtr<Buffer> mBuffer;
 };
 
-#ifdef MOZ_IPC
 class ShadowThebesLayerOGL : public ShadowThebesLayer,
                              public LayerOGL
 {
 public:
   ShadowThebesLayerOGL(LayerManagerOGL *aManager);
   virtual ~ShadowThebesLayerOGL();
 
   // ShadowThebesLayer impl
@@ -112,13 +109,12 @@ public:
   Layer* GetLayer();
   virtual PRBool IsEmpty();
   virtual void RenderLayer(int aPreviousFrameBuffer,
                            const nsIntPoint& aOffset);
 
 private:
   nsRefPtr<ShadowBufferOGL> mBuffer;
 };
-#endif  // MOZ_IPC
 
 } /* layers */
 } /* mozilla */
 #endif /* GFX_THEBESLAYEROGL_H */
--- a/gfx/thebes/Makefile.in
+++ b/gfx/thebes/Makefile.in
@@ -42,23 +42,18 @@ EXPORTS	= \
 	gfxUserFontSet.h \
 	GLDefs.h \
 	GLContext.h \
 	GLContextSymbols.h \
 	GLContextProvider.h \
 	GLContextProviderImpl.h \
 	nsCoreAnimationSupport.h \
 	EGLUtils.h \
-	$(NULL)
-
-ifdef MOZ_IPC
-EXPORTS	+= \
 	gfxSharedImageSurface.h \
 	$(NULL)
-endif
 
 ifeq ($(MOZ_WIDGET_TOOLKIT),android)
 EXPORTS += \
 	gfxAndroidPlatform.h \
 	gfxFT2Fonts.h \
 	gfxFT2FontBase.h \
 	$(NULL)
 endif
@@ -180,16 +175,17 @@ CPPSRCS	= \
 	gfxTextRunWordCache.cpp \
 	gfxUserFontSet.cpp \
 	gfxUtils.cpp \
 	gfxUnicodeProperties.cpp \
 	gfxScriptItemizer.cpp \
 	gfxHarfBuzzShaper.cpp \
 	GLContext.cpp \
 	GLContextProviderOSMesa.cpp \
+	gfxSharedImageSurface.cpp \
 	$(NULL)
 
 # Are we targeting x86 or x64?  If so, build gfxAlphaRecoverySSE2.cpp.
 # The file uses SSE2 intrinsics, so it needs special compile flags on some
 # compilers.
 ifneq (,$(INTEL_ARCHITECTURE))
 CPPSRCS += gfxAlphaRecoverySSE2.cpp
 
@@ -198,22 +194,16 @@ gfxAlphaRecoverySSE2.$(OBJ_SUFFIX): CXXF
 endif
 
 ifdef SOLARIS_SUNPRO_CXX
 gfxAlphaRecoverySSE2.$(OBJ_SUFFIX): OS_CXXFLAGS += -xarch=sse2 -xO4
 endif
 
 endif
 
-ifdef MOZ_IPC
-CPPSRCS += \
-	gfxSharedImageSurface.cpp \
-	$(NULL)
-endif
-
 SHARED_LIBRARY_LIBS += \
 	../layers/$(LIB_PREFIX)layers.$(LIB_SUFFIX) \
 	$(NULL)
 
 
 ifndef MOZ_ENABLE_LIBXUL
 EXTRA_DSO_LIBS	= gkgfx ycbcr
 ifeq (,$(filter-out WINNT WINCE OS2,$(OS_ARCH)))
--- a/gfx/thebes/gfxAndroidPlatform.cpp
+++ b/gfx/thebes/gfxAndroidPlatform.cpp
@@ -30,20 +30,18 @@
  * under the terms of either the GPL or the LGPL, and not to allow others to
  * use your version of this file under the terms of the MPL, indicate your
  * decision by deleting the provisions above and replace them with the notice
  * and other provisions required by the GPL or the LGPL. If you do not delete
  * the provisions above, a recipient may use your version of this file under
  * 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 <android/log.h>
 
 #include <sys/types.h>
 #include <sys/stat.h>
 #include <dirent.h>
 
 #include "gfxAndroidPlatform.h"
@@ -168,20 +166,18 @@ public:
             PL_DHashClearEntryStub,
             PL_DHashFinalizeStub,
             NULL};
         if (!PL_DHashTableInit(&mMap, &ops, nsnull,
                                sizeof(FNCMapEntry), 0)) {
             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();
     }
 
     void Init()
     {
         if (!mMap.ops || !mCache)
             return;
--- a/ipc/chromium/chromium-config.mk
+++ b/ipc/chromium/chromium-config.mk
@@ -41,18 +41,16 @@ endif
 ifdef CHROMIUM_CONFIG_INCLUDED
 $(error Must not include chromium-config.mk twice.)
 endif
 
 CHROMIUM_CONFIG_INCLUDED = 1
 
 EXTRA_DEPS += $(topsrcdir)/ipc/chromium/chromium-config.mk
 
-ifdef MOZ_IPC # {
-
 DEFINES += \
   -DEXCLUDE_SKIA_DEPENDENCIES \
   -DCHROMIUM_MOZILLA_BUILD \
   $(NULL)
 
 LOCAL_INCLUDES += \
   -I$(topsrcdir)/ipc/chromium/src \
   -I$(topsrcdir)/ipc/glue \
@@ -103,9 +101,8 @@ DEFINES += \
   $(NULL)
 
 # NB: to stop gcc warnings about exporting template instantiation
 OS_CXXFLAGS := $(filter-out -pedantic,$(OS_CXXFLAGS))
 
 endif # }
 endif # }
 
-endif # }
\ No newline at end of file
--- a/js/src/xpconnect/shell/xpcshell.cpp
+++ b/js/src/xpconnect/shell/xpcshell.cpp
@@ -673,18 +673,16 @@ Clear(JSContext *cx, uintN argc, jsval *
     } else {
         JS_ReportError(cx, "'clear' requires an object");
         return JS_FALSE;
     }
     JS_SET_RVAL(cx, vp, JSVAL_VOID);
     return JS_TRUE;
 }
 
-#ifdef MOZ_IPC
-
 static JSBool
 SendCommand(JSContext* cx,
             uintN argc,
             jsval* vp)
 {
     if (argc == 0) {
         JS_ReportError(cx, "Function takes at least one argument!");
         return JS_FALSE;
@@ -719,18 +717,16 @@ GetChildGlobalObject(JSContext* cx,
     JSObject* global;
     if (XRE_GetChildGlobalObject(cx, &global)) {
         JS_SET_RVAL(cx, vp, OBJECT_TO_JSVAL(global));
         return JS_TRUE;
     }
     return JS_FALSE;
 }
 
-#endif // MOZ_IPC
-
 /*
  * JSContext option name to flag map. The option names are in alphabetical
  * order for better reporting.
  */
 static const struct {
     const char  *name;
     uint32      flag;
 } js_options[] = {
@@ -855,20 +851,18 @@ static JSFunctionSpec glob_functions[] =
     {"gczeal",          GCZeal,         1,0},
 #endif
     {"clear",           Clear,          1,0},
     {"options",         Options,        0,0},
     JS_FN("parent",     Parent,         1,0),
 #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},
     {"dumpCallgrind",   js_DumpCallgrind,   1,0},
 #endif
     {nsnull,nsnull,0,0}
 };
 
@@ -2014,20 +2008,18 @@ main(int argc, char **argv)
             cxstack->Pop(&oldcx);
             NS_ASSERTION(oldcx == cx, "JS thread context push/pop mismatch");
             cxstack = nsnull;
             JS_GC(cx);
         } //this scopes the JSAutoCrossCompartmentCall
         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.
     // This is a special exception: it will remain usable after NS_ShutdownXPCOM().
     nsCOMPtr<nsICrashReporter> crashReporter =
         do_GetService("@mozilla.org/toolkit/crash-reporter;1");
 #endif
 
--- a/layout/Makefile.in
+++ b/layout/Makefile.in
@@ -47,26 +47,23 @@ MODULE		= layout
 PARALLEL_DIRS = \
 		style \
 		base \
 		generic \
 		forms \
 		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 \
   $(NULL)
 endif
 
 ifdef MOZ_SVG
 PARALLEL_DIRS += svg/base/src
--- a/layout/base/Makefile.in
+++ b/layout/base/Makefile.in
@@ -143,19 +143,17 @@ CPPSRCS		+= \
 		nsBidi.cpp \
 		$(NULL)
 endif                
 
 FORCE_STATIC_LIB = 1
 
 include $(topsrcdir)/config/rules.mk
 
-ifdef MOZ_IPC
 include $(topsrcdir)/ipc/chromium/chromium-config.mk
-endif
 
 LOCAL_INCLUDES += \
 		-I$(srcdir) \
 		-I$(srcdir)/../style \
 		-I$(srcdir)/../generic \
 		-I$(srcdir)/../forms \
 		-I$(srcdir)/../tables \
 		-I$(srcdir)/../printing \
--- a/layout/base/nsDisplayList.cpp
+++ b/layout/base/nsDisplayList.cpp
@@ -1696,18 +1696,16 @@ nsDisplayOwnLayer::~nsDisplayOwnLayer() 
 already_AddRefed<Layer>
 nsDisplayOwnLayer::BuildLayer(nsDisplayListBuilder* aBuilder,
                               LayerManager* aManager) {
   nsRefPtr<Layer> layer = aBuilder->LayerBuilder()->
     BuildContainerLayerFor(aBuilder, aManager, mFrame, this, mList);
   return layer.forget();
 }
 
-#ifdef MOZ_IPC
-
 nsDisplayScrollLayer::nsDisplayScrollLayer(nsDisplayListBuilder* aBuilder,
                                            nsDisplayList* aList,
                                            nsIFrame* aForFrame,
                                            nsIFrame* aViewportFrame)
   : nsDisplayOwnLayer(aBuilder, aForFrame, aList)
   , mViewportFrame(aViewportFrame)
 {
 #ifdef NS_BUILD_REFCNT_LOGGING
@@ -1777,18 +1775,16 @@ nsDisplayScrollLayer::ComputeVisibility(
 
 #ifdef NS_BUILD_REFCNT_LOGGING
 nsDisplayScrollLayer::~nsDisplayScrollLayer()
 {
   MOZ_COUNT_DTOR(nsDisplayScrollLayer);
 }
 #endif
 
-#endif
-
 nsDisplayClip::nsDisplayClip(nsDisplayListBuilder* aBuilder,
                              nsIFrame* aFrame, nsDisplayItem* aItem,
                              const nsRect& aRect)
    : nsDisplayWrapList(aBuilder, aFrame, aItem) {
   MOZ_COUNT_CTOR(nsDisplayClip);
   mClip = SnapBounds(aBuilder->IsSnappingEnabled() && !aBuilder->IsInTransform(),
                      aBuilder->CurrentPresContext(), aRect);
 }
--- a/layout/base/nsDisplayList.h
+++ b/layout/base/nsDisplayList.h
@@ -1764,17 +1764,16 @@ public:
   virtual PRBool TryMerge(nsDisplayListBuilder* aBuilder, nsDisplayItem* aItem)
   {
     // Don't allow merging, each sublist must have its own layer
     return PR_FALSE;
   }
   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
  * passed in to ComputeVisibility.
  *
  * Here in content, we can use this to render more content than is actually
  * visible. Then, the compositing process can manipulate the generated layer
  * through transformations so that asynchronous scrolling can be implemented.
@@ -1812,17 +1811,16 @@ public:
   {
     // Force this as a layer so we can scroll asynchronously.
     // This causes incorrect rendering for rounded clips!
     return mozilla::LAYER_ACTIVE_FORCE;
   }
 private:
   nsIFrame* mViewportFrame;
 };
-#endif
 
 /**
  * nsDisplayClip can clip a list of items, but we take a single item
  * initially and then later merge other items into it when we merge
  * adjacent matching nsDisplayClips
  */
 class nsDisplayClip : public nsDisplayWrapList {
 public:
--- a/layout/build/Makefile.in
+++ b/layout/build/Makefile.in
@@ -73,27 +73,21 @@ CPPSRCS		= \
 		$(NULL)
 
 EXPORTS		= \
 		nsLayoutCID.h \
 		nsContentDLF.h \
 		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) \
-	$(GKIPCLIB) \
+	../ipc/$(LIB_PREFIX)gkipc_s.$(LIB_SUFFIX) \
 	../style/$(LIB_PREFIX)gkstyle_s.$(LIB_SUFFIX) \
 	../tables/$(LIB_PREFIX)gktable_s.$(LIB_SUFFIX) \
 	../xul/base/src/$(LIB_PREFIX)gkxulbase_s.$(LIB_SUFFIX) \
 	$(DEPTH)/content/base/src/$(LIB_PREFIX)gkconbase_s.$(LIB_SUFFIX) \
 	$(DEPTH)/content/canvas/src/$(LIB_PREFIX)gkconcvs_s.$(LIB_SUFFIX) \
 	$(DEPTH)/content/events/src/$(LIB_PREFIX)gkconevents_s.$(LIB_SUFFIX) \
 	$(DEPTH)/content/html/content/src/$(LIB_PREFIX)gkconhtmlcon_s.$(LIB_SUFFIX) \
 	$(DEPTH)/content/html/document/src/$(LIB_PREFIX)gkconhtmldoc_s.$(LIB_SUFFIX) \
@@ -295,20 +289,18 @@ ifeq ($(OS_ARCH),Darwin)
 OS_LIBS += -framework CoreAudio -framework AudioToolbox -framework AudioUnit -framework Carbon -framework IOKit
 endif
 endif
 
 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
 
 LOCAL_INCLUDES	+= -I$(srcdir)/../base \
 		   -I$(srcdir)/../generic \
 		   -I$(srcdir)/../forms \
 		   -I$(srcdir)/../tables \
 		   -I$(srcdir)/../style \
--- a/layout/build/nsLayoutModule.cpp
+++ b/layout/build/nsLayoutModule.cpp
@@ -31,19 +31,17 @@
  * use your version of this file under the terms of the MPL, indicate your
  * decision by deleting the provisions above and replace them with the notice
  * and other provisions required by the GPL or the LGPL. If you do not delete
  * the provisions above, a recipient may use your version of this file under
  * the terms of any one of the MPL, the GPL or the LGPL.
  *
  * ***** END LICENSE BLOCK ***** */
 
-#ifdef MOZ_IPC
 #include "base/basictypes.h"
-#endif
 
 #include "xpcmodule.h"
 #include "mozilla/ModuleUtils.h"
 #include "nsLayoutStatics.h"
 #include "nsContentCID.h"
 #include "nsContentDLF.h"
 #include "nsContentPolicyUtils.h"
 #include "nsDataDocumentContentPolicy.h"
--- a/layout/generic/nsObjectFrame.cpp
+++ b/layout/generic/nsObjectFrame.cpp
@@ -50,19 +50,17 @@
 #include <QWidget>
 #include <QKeyEvent>
 #ifdef MOZ_X11
 #include <QX11Info>
 #endif
 #undef slots
 #endif
 
-#ifdef MOZ_IPC
 #include "mozilla/plugins/PluginMessageUtils.h"
-#endif
 
 #ifdef MOZ_X11
 #include <cairo-xlib.h>
 #include "gfxXlibSurface.h"
 /* X headers suck */
 enum { XKeyPress = KeyPress };
 #ifdef KeyPress
 #undef KeyPress
@@ -235,19 +233,17 @@ using mozilla::DefaultXDisplay;
 static PRLogModuleInfo *nsObjectFrameLM = PR_NewLogModule("nsObjectFrame");
 #endif /* PR_LOGGING */
 
 #if defined(XP_MACOSX) && !defined(NP_NO_CARBON)
 #define MAC_CARBON_PLUGINS
 #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
 // some reason it starves other mouse events if implemented on the
 // same class
 class nsPluginDOMContextMenuListener : public nsIDOMContextMenuListener
 {
 public:
@@ -2350,29 +2346,27 @@ nsObjectFrame::PaintPlugin(nsDisplayList
     NPWindow *window;
     mInstanceOwner->GetWindow(window);
 
     if (window->type == NPWindowTypeDrawable) {
       // the offset of the DC
       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
         // will be ignored.
         NPEvent pluginEvent;
         pluginEvent.event = DoublePassRenderingEvent();
         pluginEvent.wParam = 0;
         pluginEvent.lParam = 0;
         if (pluginEvent.event)
           inst->HandleEvent(&pluginEvent, nsnull);
       }
-#endif
       do {
         HDC hdc = nativeDraw.BeginNativeDrawing();
         if (!hdc)
           return;
 
         RECT dest;
         nativeDraw.TransformToNativeRect(frameGfxRect, dest);
         RECT dirty;
--- a/layout/generic/nsSubDocumentFrame.cpp
+++ b/layout/generic/nsSubDocumentFrame.cpp
@@ -38,20 +38,18 @@
  *
  * ***** END LICENSE BLOCK ***** */
 
 /*
  * rendering object for replaced elements that contain a document, such
  * as <frame>, <iframe>, and some <object>s
  */
 
-#ifdef MOZ_IPC
 #include "mozilla/layout/RenderFrameParent.h"
 using mozilla::layout::RenderFrameParent;
-#endif
 
 #include "nsSubDocumentFrame.h"
 #include "nsCOMPtr.h"
 #include "nsGenericHTMLElement.h"
 #include "nsIDocShell.h"
 #include "nsIDocShellLoadInfo.h"
 #include "nsIDocShellTreeItem.h"
 #include "nsIDocShellTreeNode.h"
@@ -272,25 +270,23 @@ nsSubDocumentFrame::BuildDisplayList(nsD
     return NS_OK;
 
   nsresult rv = DisplayBorderBackgroundOutline(aBuilder, aLists);
   NS_ENSURE_SUCCESS(rv, rv);
 
   if (!mInnerView)
     return NS_OK;
 
-#ifdef MOZ_IPC
   nsFrameLoader* frameLoader = FrameLoader();
   if (frameLoader) {
     RenderFrameParent* rfp = frameLoader->GetCurrentRemoteFrame();
     if (rfp) {
       return rfp->BuildDisplayList(aBuilder, this, aDirtyRect, aLists);
     }
   }
-#endif
 
   nsIView* subdocView = mInnerView->GetFirstChild();
   if (!subdocView)
     return NS_OK;
 
   nsCOMPtr<nsIPresShell> presShell = nsnull;
 
   nsIFrame* subdocRootFrame =
--- a/modules/libpref/src/nsPrefBranch.cpp
+++ b/modules/libpref/src/nsPrefBranch.cpp
@@ -33,20 +33,18 @@
  * use your version of this file under the terms of the MPL, indicate your
  * decision by deleting the provisions above and replace them with the notice
  * and other provisions required by the GPL or the LGPL. If you do not delete
  * the provisions above, a recipient may use your version of this file under
  * 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 "nsPrefBranch.h"
 #include "nsILocalFile.h"
 #include "nsIObserverService.h"
 #include "nsXPCOM.h"
 #include "nsISupportsPrimitives.h"
 #include "nsIDirectoryService.h"
 #include "nsString.h"
@@ -69,32 +67,30 @@ struct EnumerateData {
   nsTArray<nsCString> *pref_list;
 };
 
 // Prototypes
 static PLDHashOperator
   pref_enumChild(PLDHashTable *table, PLDHashEntryHdr *heh,
                  PRUint32 i, void *arg);
 
-#ifdef MOZ_IPC
 using mozilla::dom::ContentChild;
 
 static ContentChild*
 GetContentChild()
 {
   if (XRE_GetProcessType() == GeckoProcessType_Content) {
     ContentChild* cpc = ContentChild::GetSingleton();
     if (!cpc) {
       NS_RUNTIMEABORT("Content Protocol is NULL!  We're going to crash!");
     }
     return cpc;
   }
   return nsnull;
 }
-#endif  // MOZ_IPC
 
 /*
  * Constructor/Destructor
  */
 
 nsPrefBranch::nsPrefBranch(const char *aPrefRoot, PRBool aDefaultBranch)
 {
   mPrefRoot = aPrefRoot;
@@ -165,65 +161,59 @@ NS_IMETHODIMP nsPrefBranch::GetBoolPref(
 {
   NS_ENSURE_ARG(aPrefName);
   const char *pref = getPrefName(aPrefName);
   return PREF_GetBoolPref(pref, _retval, mIsDefault);
 }
 
 NS_IMETHODIMP nsPrefBranch::SetBoolPref(const char *aPrefName, PRInt32 aValue)
 {
-#ifdef MOZ_IPC
   if (GetContentChild()) {
     NS_ERROR("cannot set pref from content process");
     return NS_ERROR_NOT_AVAILABLE;
   }
-#endif
 
   NS_ENSURE_ARG(aPrefName);
   const char *pref = getPrefName(aPrefName);
   return PREF_SetBoolPref(pref, aValue, mIsDefault);
 }
 
 NS_IMETHODIMP nsPrefBranch::GetCharPref(const char *aPrefName, char **_retval)
 {
   NS_ENSURE_ARG(aPrefName);
   const char *pref = getPrefName(aPrefName);
   return PREF_CopyCharPref(pref, _retval, mIsDefault);
 }
 
 NS_IMETHODIMP nsPrefBranch::SetCharPref(const char *aPrefName, const char *aValue)
 {
-#ifdef MOZ_IPC
   if (GetContentChild()) {
     NS_ERROR("cannot set pref from content process");
     return NS_ERROR_NOT_AVAILABLE;
   }
-#endif
 
   NS_ENSURE_ARG(aPrefName);
   NS_ENSURE_ARG(aValue);
   const char *pref = getPrefName(aPrefName);
   return PREF_SetCharPref(pref, aValue, mIsDefault);
 }
 
 NS_IMETHODIMP nsPrefBranch::GetIntPref(const char *aPrefName, PRInt32 *_retval)
 {
   NS_ENSURE_ARG(aPrefName);
   const char *pref = getPrefName(aPrefName);
   return PREF_GetIntPref(pref, _retval, mIsDefault);
 }
 
 NS_IMETHODIMP nsPrefBranch::SetIntPref(const char *aPrefName, PRInt32 aValue)
 {
-#ifdef MOZ_IPC
   if (GetContentChild()) {
     NS_ERROR("cannot set pref from content process");
     return NS_ERROR_NOT_AVAILABLE;
   }
-#endif
 
   NS_ENSURE_ARG(aPrefName);
   const char *pref = getPrefName(aPrefName);
   return PREF_SetIntPref(pref, aValue, mIsDefault);
 }
 
 NS_IMETHODIMP nsPrefBranch::GetComplexValue(const char *aPrefName, const nsIID & aType, void **_retval)
 {
@@ -273,42 +263,38 @@ NS_IMETHODIMP nsPrefBranch::GetComplexVa
 
   // if we can't get the pref, there's no point in being here
   rv = GetCharPref(aPrefName, getter_Copies(utf8String));
   if (NS_FAILED(rv)) {
     return rv;
   }
 
   if (aType.Equals(NS_GET_IID(nsILocalFile))) {
-#ifdef MOZ_IPC
     if (GetContentChild()) {
       NS_ERROR("cannot get nsILocalFile pref from content process");
       return NS_ERROR_NOT_AVAILABLE;
     }
-#endif
 
     nsCOMPtr<nsILocalFile> file(do_CreateInstance(NS_LOCAL_FILE_CONTRACTID, &rv));
 
     if (NS_SUCCEEDED(rv)) {
       rv = file->SetPersistentDescriptor(utf8String);
       if (NS_SUCCEEDED(rv)) {
         file.forget(reinterpret_cast<nsILocalFile**>(_retval));
         return NS_OK;
       }
     }
     return rv;
   }
 
   if (aType.Equals(NS_GET_IID(nsIRelativeFilePref))) {
-#ifdef MOZ_IPC
     if (GetContentChild()) {
       NS_ERROR("cannot get nsIRelativeFilePref from content process");
       return NS_ERROR_NOT_AVAILABLE;
     }
-#endif
 
     nsACString::const_iterator keyBegin, strEnd;
     utf8String.BeginReading(keyBegin);
     utf8String.EndReading(strEnd);    
 
     // The pref has the format: [fromKey]a/b/c
     if (*keyBegin++ != '[')        
       return NS_ERROR_FAILURE;
@@ -352,22 +338,20 @@ NS_IMETHODIMP nsPrefBranch::GetComplexVa
   }
 
   NS_WARNING("nsPrefBranch::GetComplexValue - Unsupported interface type");
   return NS_NOINTERFACE;
 }
 
 NS_IMETHODIMP nsPrefBranch::SetComplexValue(const char *aPrefName, const nsIID & aType, nsISupports *aValue)
 {
-#ifdef MOZ_IPC
   if (GetContentChild()) {
     NS_ERROR("cannot set pref from content process");
     return NS_ERROR_NOT_AVAILABLE;
   }
-#endif
 
   NS_ENSURE_ARG(aPrefName);
 
   nsresult   rv = NS_NOINTERFACE;
 
   if (aType.Equals(NS_GET_IID(nsILocalFile))) {
     nsCOMPtr<nsILocalFile> file = do_QueryInterface(aValue);
     if (!file)
@@ -443,22 +427,20 @@ NS_IMETHODIMP nsPrefBranch::SetComplexVa
   }
 
   NS_WARNING("nsPrefBranch::SetComplexValue - Unsupported interface type");
   return NS_NOINTERFACE;
 }
 
 NS_IMETHODIMP nsPrefBranch::ClearUserPref(const char *aPrefName)
 {
-#ifdef MOZ_IPC
   if (GetContentChild()) {
     NS_ERROR("cannot set pref from content process");
     return NS_ERROR_NOT_AVAILABLE;
   }
-#endif
 
   NS_ENSURE_ARG(aPrefName);
   const char *pref = getPrefName(aPrefName);
   return PREF_ClearUserPref(pref);
 }
 
 NS_IMETHODIMP nsPrefBranch::PrefHasUserValue(const char *aPrefName, PRBool *_retval)
 {
@@ -466,72 +448,64 @@ NS_IMETHODIMP nsPrefBranch::PrefHasUserV
   NS_ENSURE_ARG(aPrefName);
   const char *pref = getPrefName(aPrefName);
   *_retval = PREF_HasUserPref(pref);
   return NS_OK;
 }
 
 NS_IMETHODIMP nsPrefBranch::LockPref(const char *aPrefName)
 {
-#ifdef MOZ_IPC
   if (GetContentChild()) {
     NS_ERROR("cannot lock pref from content process");
     return NS_ERROR_NOT_AVAILABLE;
   }
-#endif
 
   NS_ENSURE_ARG(aPrefName);
   const char *pref = getPrefName(aPrefName);
   return PREF_LockPref(pref, PR_TRUE);
 }
 
 NS_IMETHODIMP nsPrefBranch::PrefIsLocked(const char *aPrefName, PRBool *_retval)
 {
-#ifdef MOZ_IPC
   if (GetContentChild()) {
     NS_ERROR("cannot check lock pref from content process");
     return NS_ERROR_NOT_AVAILABLE;
   }
-#endif
 
   NS_ENSURE_ARG_POINTER(_retval);
   NS_ENSURE_ARG(aPrefName);
   const char *pref = getPrefName(aPrefName);
   *_retval = PREF_PrefIsLocked(pref);
   return NS_OK;
 }
 
 NS_IMETHODIMP nsPrefBranch::UnlockPref(const char *aPrefName)
 {
-#ifdef MOZ_IPC
   if (GetContentChild()) {
     NS_ERROR("cannot unlock pref from content process");
     return NS_ERROR_NOT_AVAILABLE;
   }
-#endif
 
   NS_ENSURE_ARG(aPrefName);
   const char *pref = getPrefName(aPrefName);
   return PREF_LockPref(pref, PR_FALSE);
 }
 
 /* void resetBranch (in string startingAt); */
 NS_IMETHODIMP nsPrefBranch::ResetBranch(const char *aStartingAt)
 {
   return NS_ERROR_NOT_IMPLEMENTED;
 }
 
 NS_IMETHODIMP nsPrefBranch::DeleteBranch(const char *aStartingAt)
 {
-#ifdef MOZ_IPC
   if (GetContentChild()) {
     NS_ERROR("cannot set pref from content process");
     return NS_ERROR_NOT_AVAILABLE;
   }
-#endif
 
   NS_ENSURE_ARG(aStartingAt);
   const char *pref = getPrefName(aStartingAt);
   return PREF_DeleteBranch(pref);
 }
 
 NS_IMETHODIMP nsPrefBranch::GetChildList(const char *aStartingAt, PRUint32 *aCount, char ***aChildArray)
 {
--- a/modules/libpref/src/nsPrefService.cpp
+++ b/modules/libpref/src/nsPrefService.cpp
@@ -32,20 +32,18 @@
  * use your version of this file under the terms of the MPL, indicate your
  * decision by deleting the provisions above and replace them with the notice
  * and other provisions required by the GPL or the LGPL. If you do not delete
  * the provisions above, a recipient may use your version of this file under
  * 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 "nsPrefService.h"
 #include "nsAppDirectoryServiceDefs.h"
 #include "nsDirectoryServiceDefs.h"
 #include "nsICategoryManager.h"
 #include "nsCategoryManagerUtils.h"
 #include "nsNetUtil.h"
 #include "nsIFile.h"
@@ -136,30 +134,28 @@ nsresult nsPrefService::Init()
   nsresult rv;
 
   rv = PREF_Init();
   NS_ENSURE_SUCCESS(rv, rv);
 
   rv = pref_InitInitialObjects();
   NS_ENSURE_SUCCESS(rv, rv);
 
-#ifdef MOZ_IPC
   using mozilla::dom::ContentChild;
   if (XRE_GetProcessType() == GeckoProcessType_Content) {
     InfallibleTArray<PrefTuple> array;
     ContentChild::GetSingleton()->SendReadPrefsArray(&array);
 
     // Store the array
     nsTArray<PrefTuple>::size_type index = array.Length();
     while (index-- > 0) {
       pref_SetPrefTuple(array[index], PR_TRUE);
     }
     return NS_OK;
   }
-#endif
 
   nsXPIDLCString lockFileName;
   /*
    * The following is a small hack which will allow us to only load the library
    * which supports the netscape.cfg file if the preference is defined. We
    * test for the existence of the pref, set in the all.js (mozilla) or
    * all-ns.js (netscape 6), and if it exists we startup the pref config
    * category which will do the rest.
@@ -183,20 +179,18 @@ nsresult nsPrefService::Init()
 
   observerService->AddObserver(this, "load-extension-defaults", PR_TRUE);
 
   return(rv);
 }
 
 NS_IMETHODIMP nsPrefService::Observe(nsISupports *aSubject, const char *aTopic, const PRUnichar *someData)
 {
-#ifdef MOZ_IPC
   if (XRE_GetProcessType() == GeckoProcessType_Content)
     return NS_ERROR_NOT_AVAILABLE;
-#endif
 
   nsresult rv = NS_OK;
 
   if (!nsCRT::strcmp(aTopic, "profile-before-change")) {
     if (!nsCRT::strcmp(someData, NS_LITERAL_STRING("shutdown-cleanse").get())) {
       if (mCurrentFile) {
         mCurrentFile->Remove(PR_FALSE);
         mCurrentFile = nsnull;
@@ -214,22 +208,20 @@ NS_IMETHODIMP nsPrefService::Observe(nsI
     pref_InitInitialObjects();
   }
   return rv;
 }
 
 
 NS_IMETHODIMP nsPrefService::ReadUserPrefs(nsIFile *aFile)
 {
-#ifdef MOZ_IPC
   if (XRE_GetProcessType() == GeckoProcessType_Content) {
     NS_ERROR("cannot load prefs from content process");
     return NS_ERROR_NOT_AVAILABLE;
   }
-#endif
 
   nsresult rv;
 
   if (nsnull == aFile) {
     rv = UseDefaultPrefFile();
     UseUserPrefFile();
 
     NotifyServiceObservers(NS_PREFSERVICE_READ_TOPIC_ID);
@@ -237,53 +229,47 @@ NS_IMETHODIMP nsPrefService::ReadUserPre
   } else {
     rv = ReadAndOwnUserPrefFile(aFile);
   }
   return rv;
 }
 
 NS_IMETHODIMP nsPrefService::ResetPrefs()
 {
-#ifdef MOZ_IPC
   if (XRE_GetProcessType() == GeckoProcessType_Content) {
     NS_ERROR("cannot set prefs from content process");
     return NS_ERROR_NOT_AVAILABLE;
   }
-#endif
 
   NotifyServiceObservers(NS_PREFSERVICE_RESET_TOPIC_ID);
   PREF_CleanupPrefs();
 
   nsresult rv = PREF_Init();
   NS_ENSURE_SUCCESS(rv, rv);
 
   return pref_InitInitialObjects();
 }
 
 NS_IMETHODIMP nsPrefService::ResetUserPrefs()
 {
-#ifdef MOZ_IPC
   if (XRE_GetProcessType() == GeckoProcessType_Content) {
     NS_ERROR("cannot set prefs from content process");
     return NS_ERROR_NOT_AVAILABLE;
   }
-#endif
 
   PREF_ClearAllUserPrefs();
   return NS_OK;    
 }
 
 NS_IMETHODIMP nsPrefService::SavePrefFile(nsIFile *aFile)
 {
-#ifdef MOZ_IPC
   if (XRE_GetProcessType() == GeckoProcessType_Content) {
     NS_ERROR("cannot save prefs from content process");
     return NS_ERROR_NOT_AVAILABLE;
   }
-#endif
 
   return SavePrefFileInternal(aFile);
 }
 
 /* part of nsIPrefServiceInternal */
 NS_IMETHODIMP nsPrefService::ReadExtensionPrefs(nsILocalFile *aFile)
 {
   nsresult rv;
--- a/modules/libpref/test/Makefile.in
+++ b/modules/libpref/test/Makefile.in
@@ -43,16 +43,14 @@ VPATH		= @srcdir@
 relativesrcdir = modules/libpref/test
 
 include $(DEPTH)/config/autoconf.mk
 
 MODULE		= test_libpref
 
 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
--- a/modules/plugin/base/src/Makefile.in
+++ b/modules/plugin/base/src/Makefile.in
@@ -114,19 +114,17 @@ EXTRA_DSO_LDOPTS = \
 		$(MOZ_JS_LIBS) \
 		$(NULL)
 
 ifeq (cocoa,$(MOZ_WIDGET_TOOLKIT))
 EXTRA_DSO_LDOPTS += $(TK_LIBS)
 endif
 
 include $(topsrcdir)/config/config.mk
-ifdef MOZ_IPC
 include $(topsrcdir)/ipc/chromium/chromium-config.mk
-endif
 include $(topsrcdir)/config/rules.mk
 
 ifeq ($(OS_ARCH),WINNT)
 OS_LIBS		+= $(call EXPAND_LIBNAME,version)
 endif
 
 CXXFLAGS         += $(TK_CFLAGS)
 EXTRA_DSO_LDOPTS += $(TK_LIBS)
--- a/modules/plugin/base/src/nsJSNPRuntime.cpp
+++ b/modules/plugin/base/src/nsJSNPRuntime.cpp
@@ -31,19 +31,17 @@
  * use your version of this file under the terms of the MPL, indicate your
  * decision by deleting the provisions above and replace them with the notice
  * and other provisions required by the GPL or the LGPL. If you do not delete
  * the provisions above, a recipient may use your version of this file under
  * the terms of any one of the MPL, the GPL or the LGPL.
  *
  * ***** END LICENSE BLOCK ***** */
 
-#ifdef MOZ_IPC
 #include "base/basictypes.h"
-#endif
 
 // FIXME(bug 332648): Give me a real API please!
 #include "jscntxt.h"
 
 #include "nsJSNPRuntime.h"
 #include "nsNPAPIPlugin.h"
 #include "nsNPAPIPluginInstance.h"
 #include "nsIScriptGlobalObject.h"
@@ -54,21 +52,19 @@
 #include "nsIJSContextStack.h"
 #include "nsIXPConnect.h"
 #include "nsIDOMElement.h"
 #include "prmem.h"
 #include "nsIContent.h"
 
 using namespace mozilla::plugins::parent;
 
-#ifdef MOZ_IPC
 #include "mozilla/plugins/PluginScriptableObjectParent.h"
 using mozilla::plugins::PluginScriptableObjectParent;
 using mozilla::plugins::ParentNPObject;
-#endif
 
 // Hash of JSObject wrappers that wraps JSObjects as NPObjects. There
 // will be one wrapper per JSObject per plugin instance, i.e. if two
 // plugins access the JSObject x, two wrappers for x will be
 // created. This is needed to be able to properly drop the wrappers
 // when a plugin is torn down in case there's a leak in the plugin (we
 // don't want to leak the world just because a plugin leaks an
 // NPObject).
@@ -92,21 +88,17 @@ static nsIJSContextStack *sContextStack;
 
 static nsTArray<NPObject*>* sDelayedReleases;
 
 namespace {
 
 inline bool
 NPObjectIsOutOfProcessProxy(NPObject *obj)
 {
-#ifdef MOZ_IPC
   return obj->_class == PluginScriptableObjectParent::GetClass();
-#else
-  return false;
-#endif
 }
 
 } // anonymous namespace
 
 // Helper class that reports any JS exceptions that were thrown while
 // the plugin executed JS.
 
 class AutoJSExceptionReporter
@@ -1331,17 +1323,16 @@ NPObjWrapper_GetProperty(JSContext *cx, 
 
   PRBool hasProperty, hasMethod;
 
   NPVariant npv;
   VOID_TO_NPVARIANT(npv);
 
   NPIdentifier identifier = JSIdToNPIdentifier(id);
 
-#ifdef MOZ_IPC
   if (NPObjectIsOutOfProcessProxy(npobj)) {
     PluginScriptableObjectParent* actor =
       static_cast<ParentNPObject*>(npobj)->parent;
 
     // actor may be null if the plugin crashed.
     if (!actor)
       return JS_FALSE;
 
@@ -1363,17 +1354,16 @@ NPObjWrapper_GetProperty(JSContext *cx, 
         _releasevariantvalue(&npv);
 
         if (!ReportExceptionIfPending(cx))
           return JS_FALSE;
       }
     }
     return JS_TRUE;
   }
-#endif
 
   hasProperty = npobj->_class->hasProperty(npobj, identifier);
   if (!ReportExceptionIfPending(cx))
     return JS_FALSE;
 
   hasMethod = npobj->_class->hasMethod(npobj, identifier);
   if (!ReportExceptionIfPending(cx))
     return JS_FALSE;
--- a/modules/plugin/base/src/nsNPAPIPlugin.cpp
+++ b/modules/plugin/base/src/nsNPAPIPlugin.cpp
@@ -35,19 +35,17 @@
  * the terms of any one of the MPL, the GPL or the LGPL.
  *
  * ***** END LICENSE BLOCK ***** */
 
 #ifdef MOZ_WIDGET_QT
 #include <QX11Info>
 #endif
 
-#ifdef MOZ_IPC
 #include "base/basictypes.h"
-#endif 
 
 #include "prtypes.h"
 #include "prmem.h"
 #include "prenv.h"
 #include "prclist.h"
 
 #include "jscntxt.h"
 
@@ -109,20 +107,18 @@
 
 #include "mozilla/Mutex.h"
 #include "mozilla/PluginLibrary.h"
 using mozilla::PluginLibrary;
 
 #include "mozilla/PluginPRLibrary.h"
 using mozilla::PluginPRLibrary;
 
-#ifdef MOZ_IPC
 #include "mozilla/plugins/PluginModuleParent.h"
 using mozilla::plugins::PluginModuleParent;
-#endif
 
 #ifdef MOZ_X11
 #include "mozilla/X11Util.h"
 #endif
 
 #ifdef XP_WIN
 #include <windows.h>
 #endif
@@ -261,27 +257,23 @@ nsNPAPIPlugin::~nsNPAPIPlugin()
 #if defined(XP_MACOSX) && !defined(__LP64__)
 void
 nsNPAPIPlugin::SetPluginRefNum(short aRefNum)
 {
   mPluginRefNum = aRefNum;
 }
 #endif
 
-#ifdef MOZ_IPC
 void
 nsNPAPIPlugin::PluginCrashed(const nsAString& pluginDumpID,
                              const nsAString& browserDumpID)
 {
   nsRefPtr<nsPluginHost> host = dont_AddRef(nsPluginHost::GetInst());
   host->PluginCrashed(this, pluginDumpID, browserDumpID);
 }
-#endif
-
-#ifdef MOZ_IPC
 
 #if defined(XP_MACOSX) && defined(__i386__)
 static PRInt32 OSXVersion()
 {
   static PRInt32 gOSXVersion = 0x0;
   if (gOSXVersion == 0x0) {
     OSErr err = ::Gestalt(gestaltSystemVersion, (SInt32*)&gOSXVersion);
     if (err != noErr) {
@@ -456,30 +448,26 @@ nsNPAPIPlugin::RunPluginOOP(const nsPlug
 #else
     prefs->GetBoolPref("dom.ipc.plugins.enabled", &oopPluginsEnabled);
 #endif
   }
 
   return oopPluginsEnabled;
 }
 
-#endif // MOZ_IPC
-
 inline PluginLibrary*
 GetNewPluginLibrary(nsPluginTag *aPluginTag)
 {
   if (!aPluginTag) {
     return nsnull;
   }
 
-#ifdef MOZ_IPC
   if (nsNPAPIPlugin::RunPluginOOP(aPluginTag)) {
     return PluginModuleParent::LoadModule(aPluginTag->mFullPath.get());
   }
-#endif
   return new PluginPRLibrary(aPluginTag->mFullPath.get(), aPluginTag->mLibrary);
 }
 
 // Creates an nsNPAPIPlugin object. One nsNPAPIPlugin object exists per plugin (not instance).
 nsresult
 nsNPAPIPlugin::CreatePlugin(nsPluginTag *aPluginTag, nsNPAPIPlugin** aResult)
 {
   *aResult = nsnull;
--- a/modules/plugin/base/src/nsNPAPIPlugin.h
+++ b/modules/plugin/base/src/nsNPAPIPlugin.h
@@ -91,26 +91,24 @@ public:
   PluginLibrary* GetLibrary();
   // PluginFuncs() can't fail but results are only valid if GetLibrary() succeeds
   NPPluginFuncs* PluginFuncs();
 
 #if defined(XP_MACOSX) && !defined(__LP64__)
   void SetPluginRefNum(short aRefNum);
 #endif
 
-#ifdef MOZ_IPC
   // The IPC mechanism notifies the nsNPAPIPlugin if the plugin
   // crashes and is no longer usable. pluginDumpID/browserDumpID are
   // the IDs of respective minidumps that were written, or empty if no
   // minidump was written.
   void PluginCrashed(const nsAString& pluginDumpID,
                      const nsAString& browserDumpID);
   
   static PRBool RunPluginOOP(const nsPluginTag *aPluginTag);
-#endif
 
 protected:
 
 #if defined(XP_MACOSX) && !defined(__LP64__)
   short mPluginRefNum;
 #endif
 
   NPPluginFuncs mPluginFuncs;
--- a/modules/plugin/base/src/nsPluginHost.cpp
+++ b/modules/plugin/base/src/nsPluginHost.cpp
@@ -1735,21 +1735,17 @@ static nsresult ConvertToNative(nsIUnico
   aNativeString.SetLength(outLen);
   return NS_OK;
 }
 
 static nsresult CreateNPAPIPlugin(nsPluginTag *aPluginTag,
                                   nsNPAPIPlugin **aOutNPAPIPlugin)
 {
   // If this is an in-process plugin we'll need to load it here if we haven't already.
-#ifdef MOZ_IPC
   if (!nsNPAPIPlugin::RunPluginOOP(aPluginTag)) {
-#else
-  if (!aPluginTag->mLibrary) {
-#endif
     if (aPluginTag->mFullPath.IsEmpty())
       return NS_ERROR_FAILURE;
     nsCOMPtr<nsILocalFile> file = do_CreateInstance("@mozilla.org/file/local;1");
     file->InitWithPath(NS_ConvertUTF8toUTF16(aPluginTag->mFullPath));
     nsPluginFile pluginFile(file);
     PRLibrary* pluginLibrary = NULL;
 
     if (NS_FAILED(pluginFile.LoadPlugin(&pluginLibrary)) || !pluginLibrary)
@@ -4022,17 +4018,16 @@ NS_IMETHODIMP nsPluginHost::Notify(nsITi
       iter.GetNext()->SendIdleEvent();
     }
     return NS_OK;
   }
 #endif
   return NS_ERROR_FAILURE;
 }
 
-#ifdef MOZ_IPC
 #ifdef XP_WIN
 // Re-enable any top level browser windows that were disabled by modal dialogs
 // displayed by the crashed plugin.
 static void
 CheckForDisabledWindows()
 {
   nsCOMPtr<nsIWindowMediator> wm(do_GetService(NS_WINDOWMEDIATOR_CONTRACTID));
   if (!wm)
@@ -4132,17 +4127,16 @@ nsPluginHost::PluginCrashed(nsNPAPIPlugi
   // instance of this plugin we reload it (launch a new plugin process).
 
   crashedPluginTag->mEntryPoint = nsnull;
 
 #ifdef XP_WIN
   CheckForDisabledWindows();
 #endif
 }
-#endif
 
 nsNPAPIPluginInstance*
 nsPluginHost::FindInstance(const char *mimetype)
 {
   for (PRUint32 i = 0; i < mInstances.Length(); i++) {
     nsNPAPIPluginInstance* instance = mInstances[i];
 
     const char* mt;
--- a/modules/plugin/base/src/nsPluginHost.h
+++ b/modules/plugin/base/src/nsPluginHost.h
@@ -171,21 +171,19 @@ public:
 
   static nsresult GetPrompt(nsIPluginInstanceOwner *aOwner, nsIPrompt **aPrompt);
 
   static nsresult PostPluginUnloadEvent(PRLibrary* aLibrary);
 
   void AddIdleTimeTarget(nsIPluginInstanceOwner* objectFrame, PRBool isVisible);
   void RemoveIdleTimeTarget(nsIPluginInstanceOwner* objectFrame);
 
-#ifdef MOZ_IPC
   void PluginCrashed(nsNPAPIPlugin* plugin,
                      const nsAString& pluginDumpID,
                      const nsAString& browserDumpID);
-#endif
 
   nsNPAPIPluginInstance *FindInstance(const char *mimetype);
   nsNPAPIPluginInstance *FindStoppedInstance(const char * url);
   nsNPAPIPluginInstance *FindOldestStoppedInstance();
   PRUint32 StoppedInstanceCount();
 
   nsTArray< nsRefPtr<nsNPAPIPluginInstance> > *InstanceArray();
 
--- a/modules/plugin/base/src/nsPluginNativeWindowWin.cpp
+++ b/modules/plugin/base/src/nsPluginNativeWindowWin.cpp
@@ -716,27 +716,23 @@ nsresult nsPluginNativeWindowWin::Subcla
       NS_WARNING("The new procedure is our widget procedure?");
     }
 #endif
     SetWindowLongPtr(hWnd, GWLP_WNDPROC, (LONG_PTR)PluginWndProc);
     return NS_OK;
   }
 
   LONG_PTR style = GetWindowLongPtr(hWnd, GWL_STYLE);
-#ifdef MOZ_IPC
   // Out of process plugins must not have the WS_CLIPCHILDREN style set on their
   // parent windows or else synchronous paints (via UpdateWindow() and others)
   // will cause deadlocks.
   if (::GetPropW(hWnd, L"PluginInstanceParentProperty"))
     style &= ~WS_CLIPCHILDREN;
   else
     style |= WS_CLIPCHILDREN;
-#else
-  style |= WS_CLIPCHILDREN;
-#endif
   SetWindowLongPtr(hWnd, GWL_STYLE, style);
 
   mPluginWinProc = (WNDPROC)SetWindowLongPtr(hWnd, GWLP_WNDPROC, (LONG_PTR)PluginWndProc);
   if (!mPluginWinProc)
     return NS_ERROR_FAILURE;
 
   nsPluginNativeWindowWin * win = (nsPluginNativeWindowWin *)::GetProp(hWnd, NS_PLUGIN_WINDOW_PROPERTY_ASSOCIATION);
   NS_ASSERTION(!win || (win == this), "plugin window already has property and this is not us");
--- a/modules/plugin/base/src/nsPluginsDirDarwin.cpp
+++ b/modules/plugin/base/src/nsPluginsDirDarwin.cpp
@@ -40,20 +40,18 @@
 /*
   nsPluginsDirDarwin.cpp
   
   Mac OS X implementation of the nsPluginsDir/nsPluginsFile classes.
   
   by Patrick C. Beard.
  */
 
-#ifdef MOZ_IPC
 #include "GeckoChildProcessHost.h"
 #include "base/process_util.h"
-#endif
 
 #include "prlink.h"
 #include "prnetdb.h"
 #include "nsXPCOM.h"
 
 #include "nsPluginsDir.h"
 #include "nsNPAPIPlugin.h"
 #include "nsPluginsDirUtils.h"
@@ -455,17 +453,16 @@ static PRBool IsCompatibleArch(nsIFile *
   
   PRBool isPluginFile = PR_FALSE;
 
   CFBundleRef pluginBundle = ::CFBundleCreate(kCFAllocatorDefault, pluginURL);
   if (pluginBundle) {
     UInt32 packageType, packageCreator;
     ::CFBundleGetPackageInfo(pluginBundle, &packageType, &packageCreator);
     if (packageType == 'BRPL' || packageType == 'IEPL' || packageType == 'NSPL') {
-#ifdef MOZ_IPC
       // Get path to plugin as a C string.
       char executablePath[PATH_MAX];
       executablePath[0] = '\0';
       if (!::CFURLGetFileSystemRepresentation(pluginURL, true, (UInt8*)&executablePath, PATH_MAX)) {
         executablePath[0] = '\0';
       }
 
       uint32 pluginLibArchitectures;
@@ -473,19 +470,16 @@ static PRBool IsCompatibleArch(nsIFile *
       if (NS_FAILED(rv)) {
         return PR_FALSE;
       }
 
       uint32 containerArchitectures = mozilla::ipc::GeckoChildProcessHost::GetSupportedArchitecturesForProcessType(GeckoProcessType_Plugin);
 
       // Consider the plugin architecture valid if there is any overlap in the masks.
       isPluginFile = !!(containerArchitectures & pluginLibArchitectures);
-#else
-      isPluginFile = !!::CFBundlePreflightExecutable(pluginBundle, NULL);
-#endif
     }
     ::CFRelease(pluginBundle);
   }
 
   ::CFRelease(pluginURL);
   return isPluginFile;
 }
 
--- a/netwerk/Makefile.in
+++ b/netwerk/Makefile.in
@@ -49,31 +49,19 @@ DIRS		= \
 		cookie \
 		dns \
 		socket \
 		mime \
 		streamconv \
 		cache \
 		protocol \
 		system \
+		ipc  \
         $(NULL)
 
-ifdef MOZ_IPC
-DIRS 		+= \
-	        ipc  \
-	        $(NULL)
-else
-# Non-IPC builds need NeckoCommon.h
-EXPORTS_NAMESPACES = mozilla/net
-
-EXPORTS_mozilla/net = \
-  ipc/NeckoCommon.h       \
-  $(NULL)
-endif
-
 ifdef NECKO_WIFI
 DIRS 		+= wifi
 endif
 
 DIRS		+= \
 		build \
 		locales \
 		$(NULL)
--- a/netwerk/base/public/Makefile.in
+++ b/netwerk/base/public/Makefile.in
@@ -138,25 +138,21 @@ XPIDLSRCS	= \
 		nsIProxiedChannel.idl \
 		nsIRandomGenerator.idl \
 		nsIStrictTransportSecurityService.idl \
 		nsIURIWithPrincipal.idl \
 		nsIURIClassifier.idl \
 		nsIRedirectResultListener.idl \
 		mozIThirdPartyUtil.idl \
 		nsISerializationHelper.idl \
-		$(NULL)
-
-ifdef MOZ_IPC
-XPIDLSRCS	+= \
 		nsIChildChannel.idl \
 		nsIParentChannel.idl \
 		nsIParentRedirectingChannel.idl \
-		nsIRedirectChannelRegistrar.idl
-endif
+		nsIRedirectChannelRegistrar.idl \
+		$(NULL)
 
 ifdef MOZ_TOOLKIT_SEARCH
 XPIDLSRCS	+= nsIBrowserSearchService.idl
 endif
 
 EXPORTS		= \
 		netCore.h \
 		nsNetError.h \
--- a/netwerk/base/public/nsNetUtil.h
+++ b/netwerk/base/public/nsNetUtil.h
@@ -103,19 +103,17 @@
 #include "nsIWritablePropertyBag2.h"
 #include "nsIIDNService.h"
 #include "nsIChannelEventSink.h"
 #include "nsIChannelPolicy.h"
 #include "nsISocketProviderService.h"
 #include "nsISocketProvider.h"
 #include "mozilla/Services.h"
 
-#ifdef MOZ_IPC
 #include "nsIRedirectChannelRegistrar.h"
-#endif
 
 #ifdef MOZILLA_INTERNAL_API
 
 inline already_AddRefed<nsIIOService>
 do_GetIOService(nsresult* error = 0)
 {
     already_AddRefed<nsIIOService> ret = mozilla::services::GetIOService();
     if (error)
@@ -1778,33 +1776,31 @@ NS_IsInternalSameURIRedirect(nsIChannel 
   if (!oldURI || !newURI) {
     return PR_FALSE;
   }
 
   PRBool res;
   return NS_SUCCEEDED(oldURI->Equals(newURI, &res)) && res;
 }
 
-#ifdef MOZ_IPC
 inline nsresult
 NS_LinkRedirectChannels(PRUint32 channelId,
                         nsIParentChannel *parentChannel,
                         nsIChannel** _result)
 {
   nsresult rv;
 
   nsCOMPtr<nsIRedirectChannelRegistrar> registrar =
       do_GetService("@mozilla.org/redirectchannelregistrar;1", &rv);
   NS_ENSURE_SUCCESS(rv, rv);
 
   return registrar->LinkChannels(channelId,
                                  parentChannel,
                                  _result);
 }
-#endif // MOZ_IPC
 
 /**
  * Helper function to create a random URL string that's properly formed
  * but guaranteed to be invalid.
  */  
 #define NS_FAKE_SCHEME "http://"
 #define NS_FAKE_TLD ".invalid"
 inline nsresult
--- a/netwerk/base/src/Makefile.in
+++ b/netwerk/base/src/Makefile.in
@@ -42,19 +42,17 @@ srcdir		= @srcdir@
 VPATH		= @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
 MODULE		= necko
 LIBRARY_NAME	= neckobase_s
 LIBXUL_LIBRARY  = 1
 
-ifdef MOZ_IPC
-	EXPORTS = nsURLHelper.h
-endif
+EXPORTS = nsURLHelper.h
 
 CPPSRCS		= \
 		nsTransportUtils.cpp \
 		nsAsyncStreamCopier.cpp \
 		nsAsyncRedirectVerifyHelper.cpp \
 		nsAuthInformationHolder.cpp \
 		nsBaseChannel.cpp \
 		nsBaseContentStream.cpp \
@@ -87,22 +85,19 @@ CPPSRCS		= \
 		nsUnicharStreamLoader.cpp \
 		nsURIChecker.cpp \
 		nsURLHelper.cpp \
 		nsURLParsers.cpp \
 		nsNetStrings.cpp \
 		nsBase64Encoder.cpp \
 		nsSerializationHelper.cpp \
 		nsDNSPrefetch.cpp \
+		RedirectChannelRegistrar.cpp \
 		$(NULL)
 
-ifdef MOZ_IPC
-	CPPSRCS += RedirectChannelRegistrar.cpp
-endif
-
 ifeq ($(MOZ_WIDGET_TOOLKIT),os2)
 	CPPSRCS += nsURLHelperOS2.cpp
 else
 ifeq ($(MOZ_WIDGET_TOOLKIT),windows)
 	CPPSRCS += nsURLHelperWin.cpp
 	CPPSRCS += nsNativeConnectionHelper.cpp
 ifneq ($(OS_ARCH), WINCE)
 	CPPSRCS += nsAutodialWin.cpp
--- a/netwerk/base/src/nsBufferedStreams.cpp
+++ b/netwerk/base/src/nsBufferedStreams.cpp
@@ -30,20 +30,18 @@
  * use your version of this file under the terms of the MPL, indicate your
  * decision by deleting the provisions above and replace them with the notice
  * and other provisions required by the GPL or the LGPL. If you do not delete
  * the provisions above, a recipient may use your version of this file under
  * the terms of any one of the MPL, the GPL or the LGPL.
  *
  * ***** END LICENSE BLOCK ***** */
 
-#ifdef MOZ_IPC
 #include "IPC/IPCMessageUtils.h"
 #include "mozilla/net/NeckoMessageUtils.h"
-#endif
 
 #include "nsBufferedStreams.h"
 #include "nsStreamUtils.h"
 #include "nsCRT.h"
 #include "nsNetCID.h"
 #include "nsIClassInfoImpl.h"
 
 #ifdef DEBUG_brendan
@@ -486,47 +484,41 @@ nsBufferedInputStream::GetUnbufferedStre
     *aStream = mStream;
     NS_IF_ADDREF(*aStream);
     return NS_OK;
 }
 
 PRBool
 nsBufferedInputStream::Read(const IPC::Message *aMsg, void **aIter)
 {
-#ifdef MOZ_IPC
     using IPC::ReadParam;
 
     PRUint32 bufferSize;
     IPC::InputStream inputStream;
     if (!ReadParam(aMsg, aIter, &bufferSize) ||
         !ReadParam(aMsg, aIter, &inputStream))
         return PR_FALSE;
 
     nsCOMPtr<nsIInputStream> stream(inputStream);
     nsresult rv = Init(stream, bufferSize);
     if (NS_FAILED(rv))
         return PR_FALSE;
 
     return PR_TRUE;
-#else
-    return PR_FALSE;
-#endif
 }
 
 void
 nsBufferedInputStream::Write(IPC::Message *aMsg)
 {
-#ifdef MOZ_IPC
     using IPC::WriteParam;
 
     WriteParam(aMsg, mBufferSize);
 
     IPC::InputStream inputStream(Source());
     WriteParam(aMsg, inputStream);
-#endif
 }
 
 ////////////////////////////////////////////////////////////////////////////////
 // nsBufferedOutputStream
 
 NS_IMPL_ADDREF_INHERITED(nsBufferedOutputStream, nsBufferedStream)
 NS_IMPL_RELEASE_INHERITED(nsBufferedOutputStream, nsBufferedStream)
 // This QI uses NS_INTERFACE_MAP_ENTRY_CONDITIONAL to check for
--- a/netwerk/base/src/nsFileStreams.cpp
+++ b/netwerk/base/src/nsFileStreams.cpp
@@ -30,19 +30,17 @@
  * use your version of this file under the terms of the MPL, indicate your
  * decision by deleting the provisions above and replace them with the notice
  * and other provisions required by the GPL or the LGPL. If you do not delete
  * the provisions above, a recipient may use your version of this file under
  * the terms of any one of the MPL, the GPL or the LGPL.
  *
  * ***** END LICENSE BLOCK ***** */
 
-#ifdef MOZ_IPC
 #include "IPC/IPCMessageUtils.h"
-#endif
 
 #if defined(XP_UNIX) || defined(XP_BEOS)
 #include <unistd.h>
 #elif defined(XP_WIN)
 #include <windows.h>
 #elif defined(XP_OS2)
 #define INCL_DOSERRORS
 #include <os2.h>
@@ -435,17 +433,16 @@ nsFileInputStream::Seek(PRInt32 aWhence,
     }
 
     return nsFileStream::Seek(aWhence, aOffset);
 }
 
 PRBool
 nsFileInputStream::Read(const IPC::Message *aMsg, void **aIter)
 {
-#ifdef MOZ_IPC
     using IPC::ReadParam;
 
     nsCString path;
     PRBool followLinks;
     PRInt32 flags;
     if (!ReadParam(aMsg, aIter, &path) ||
         !ReadParam(aMsg, aIter, &followLinks) ||
         !ReadParam(aMsg, aIter, &flags))
@@ -458,36 +455,31 @@ nsFileInputStream::Read(const IPC::Messa
 
     // IO flags = -1 means readonly, and
     // permissions are unimportant since we're reading
     rv = Init(file, -1, -1, flags);
     if (NS_FAILED(rv))
         return PR_FALSE;
 
     return PR_TRUE;
-#else
-    return PR_FALSE;
-#endif
 }
 
 void
 nsFileInputStream::Write(IPC::Message *aMsg)
 {
-#ifdef MOZ_IPC
     using IPC::WriteParam;
 
     nsCString path;
     mFile->GetNativePath(path);
     WriteParam(aMsg, path);
     nsCOMPtr<nsILocalFile> localFile = do_QueryInterface(mFile);
     PRBool followLinks;
     localFile->GetFollowLinks(&followLinks);
     WriteParam(aMsg, followLinks);
     WriteParam(aMsg, mBehaviorFlags);
-#endif
 }
 
 ////////////////////////////////////////////////////////////////////////////////
 // nsPartialFileInputStream
 
 // Don't forward to nsFileInputStream as we don't want to QI to
 // nsIFileInputStream
 NS_IMPL_ISUPPORTS_INHERITED3(nsPartialFileInputStream,
--- a/netwerk/base/src/nsIOService.cpp
+++ b/netwerk/base/src/nsIOService.cpp
@@ -257,20 +257,18 @@ nsIOService::Init()
         NS_WARN_IF_FALSE(NS_SUCCEEDED(rv), "Was unable to allocate.  No gBufferCache.");
         CallQueryInterface(recyclingAllocator, &gBufferCache);
     }
 
     NS_TIME_FUNCTION_MARK("Set up the recycling allocator");
 
     gIOService = this;
 
-#ifdef MOZ_IPC
     // go into managed mode if we can, and chrome process
     if (XRE_GetProcessType() == GeckoProcessType_Default)
-#endif
         mNetworkLinkService = do_GetService(NS_NETWORK_LINK_SERVICE_CONTRACTID);
 
     if (!mNetworkLinkService)
         // We can't really determine if the machine has a usable network connection,
         // so let's cross our fingers!
         mManageOfflineStatus = PR_FALSE;
 
     if (mManageOfflineStatus)
@@ -725,26 +723,24 @@ nsIOService::SetOffline(PRBool offline)
 
     mSettingOffline = PR_TRUE;
 
     nsCOMPtr<nsIObserverService> observerService =
         mozilla::services::GetObserverService();
 
     NS_ASSERTION(observerService, "The observer service should not be null");
 
-#ifdef MOZ_IPC
     if (XRE_GetProcessType() == GeckoProcessType_Default) {
         if (observerService) {
             (void)observerService->NotifyObservers(nsnull,
                 NS_IPC_IOSERVICE_SET_OFFLINE_TOPIC, offline ? 
                 NS_LITERAL_STRING("true").get() :
                 NS_LITERAL_STRING("false").get());
         }
     }
-#endif
 
     while (mSetOfflineValue != mOffline) {
         offline = mSetOfflineValue;
 
         nsresult rv;
         if (offline && !mOffline) {
             NS_NAMED_LITERAL_STRING(offlineString, NS_IOSERVICE_OFFLINE);
             mOffline = PR_TRUE; // indicate we're trying to shutdown
--- a/netwerk/base/src/nsMIMEInputStream.cpp
+++ b/netwerk/base/src/nsMIMEInputStream.cpp
@@ -36,20 +36,18 @@
  *
  * ***** END LICENSE BLOCK ***** */
 
 /**
  * The MIME stream separates headers and a datastream. It also allows
  * automatic creation of the content-length header.
  */
 
-#ifdef MOZ_IPC
 #include "IPC/IPCMessageUtils.h"
 #include "mozilla/net/NeckoMessageUtils.h"
-#endif
 
 #include "nsCOMPtr.h"
 #include "nsComponentManagerUtils.h"
 #include "nsIMultiplexInputStream.h"
 #include "nsIMIMEInputStream.h"
 #include "nsISeekableStream.h"
 #include "nsIStringStream.h"
 #include "nsString.h"
@@ -326,17 +324,16 @@ nsMIMEInputStreamConstructor(nsISupports
     NS_RELEASE(inst);
 
     return rv;
 }
 
 PRBool
 nsMIMEInputStream::Read(const IPC::Message *aMsg, void **aIter)
 {
-#ifdef MOZ_IPC
     using IPC::ReadParam;
 
     if (!ReadParam(aMsg, aIter, &mHeaders) ||
         !ReadParam(aMsg, aIter, &mContentLength) ||
         !ReadParam(aMsg, aIter, &mStartedReading))
         return PR_FALSE;
 
     // nsMIMEInputStream::Init() already appended mHeaderStream & mCLStream
@@ -356,29 +353,24 @@ nsMIMEInputStream::Read(const IPC::Messa
         if (NS_FAILED(rv))
             return PR_FALSE;
     }
 
     if (!ReadParam(aMsg, aIter, &mAddContentLength))
         return PR_FALSE;
 
     return PR_TRUE;
-#else
-    return PR_FALSE;
-#endif
 }
 
 void
 nsMIMEInputStream::Write(IPC::Message *aMsg)
 {
-#ifdef MOZ_IPC
     using IPC::WriteParam;
 
     WriteParam(aMsg, mHeaders);
     WriteParam(aMsg, mContentLength);
     WriteParam(aMsg, mStartedReading);
 
     IPC::InputStream inputStream(mData);
     WriteParam(aMsg, inputStream);
 
     WriteParam(aMsg, mAddContentLength);
-#endif
 }
--- a/netwerk/base/src/nsSimpleNestedURI.cpp
+++ b/netwerk/base/src/nsSimpleNestedURI.cpp
@@ -31,20 +31,18 @@
  * use your version of this file under the terms of the MPL, indicate your
  * decision by deleting the provisions above and replace them with the notice
  * and other provisions required by the GPL or the LGPL. If you do not delete
  * the provisions above, a recipient may use your version of this file under
  * the terms of any one of the MPL, the GPL or the LGPL.
  *
  * ***** END LICENSE BLOCK ***** */
 
-#ifdef MOZ_IPC
 #include "IPCMessageUtils.h"
 #include "mozilla/net/NeckoMessageUtils.h"
-#endif
 
 #include "nsSimpleNestedURI.h"
 #include "nsIObjectInputStream.h"
 #include "nsIObjectOutputStream.h"
 #include "nsNetUtil.h"
 
 NS_IMPL_ISUPPORTS_INHERITED1(nsSimpleNestedURI, nsSimpleURI, nsINestedURI)
 
@@ -90,40 +88,35 @@ nsSimpleNestedURI::Write(nsIObjectOutput
     return rv;
 }
 
 // nsIIPCSerializable
 
 PRBool
 nsSimpleNestedURI::Read(const IPC::Message *aMsg, void **aIter)
 {
-#ifdef MOZ_IPC
     if (!nsSimpleURI::Read(aMsg, aIter))
         return PR_FALSE;
 
     IPC::URI uri;
     if (!ReadParam(aMsg, aIter, &uri))
         return PR_FALSE;
 
     mInnerURI = uri;
 
     return PR_TRUE;
-#endif
-    return PR_FALSE;
 }
 
 void
 nsSimpleNestedURI::Write(IPC::Message *aMsg)
 {
-#ifdef MOZ_IPC
     nsSimpleURI::Write(aMsg);
 
     IPC::URI uri(mInnerURI);
     WriteParam(aMsg, uri);
-#endif
 }
 
 // nsINestedURI
 
 NS_IMETHODIMP
 nsSimpleNestedURI::GetInnerURI(nsIURI** uri)
 {
     NS_ENSURE_TRUE(mInnerURI, NS_ERROR_NOT_INITIALIZED);
--- a/netwerk/base/src/nsSimpleURI.cpp
+++ b/netwerk/base/src/nsSimpleURI.cpp
@@ -33,19 +33,17 @@
  * use your version of this file under the terms of the MPL, indicate your
  * decision by deleting the provisions above and replace them with the notice
  * and other provisions required by the GPL or the LGPL. If you do not delete
  * the provisions above, a recipient may use your version of this file under
  * the terms of any one of the MPL, the GPL or the LGPL.
  *
  * ***** END LICENSE BLOCK ***** */
 
-#ifdef MOZ_IPC
 #include "IPCMessageUtils.h"
-#endif
 
 #include "nsSimpleURI.h"
 #include "nscore.h"
 #include "nsCRT.h"
 #include "nsString.h"
 #include "nsReadableUtils.h"
 #include "prmem.h"
 #include "prprf.h"
@@ -121,38 +119,32 @@ nsSimpleURI::Write(nsIObjectOutputStream
 }
 
 ////////////////////////////////////////////////////////////////////////////////
 // nsIIPCSerializable methods:
 
 PRBool
 nsSimpleURI::Read(const IPC::Message *aMsg, void **aIter)
 {
-#ifdef MOZ_IPC
     bool isMutable;
     if (!ReadParam(aMsg, aIter, &isMutable) ||
         !ReadParam(aMsg, aIter, &mScheme) ||
         !ReadParam(aMsg, aIter, &mPath))
         return PR_FALSE;
 
     mMutable = isMutable;
     return PR_TRUE;
-#else
-    return PR_FALSE;
-#endif
 }
 
 void
 nsSimpleURI::Write(IPC::Message *aMsg)
 {
-#ifdef MOZ_IPC
     WriteParam(aMsg, bool(mMutable));
     WriteParam(aMsg, mScheme);
     WriteParam(aMsg, mPath);
-#endif
 }
 
 ////////////////////////////////////////////////////////////////////////////////
 // nsIURI methods:
 
 NS_IMETHODIMP
 nsSimpleURI::GetSpec(nsACString &result)
 {
--- a/netwerk/base/src/nsStandardURL.cpp
+++ b/netwerk/base/src/nsStandardURL.cpp
@@ -33,19 +33,17 @@
  * use your version of this file under the terms of the MPL, indicate your
  * decision by deleting the provisions above and replace them with the notice
  * and other provisions required by the GPL or the LGPL. If you do not delete
  * the provisions above, a recipient may use your version of this file under
  * the terms of any one of the MPL, the GPL or the LGPL.
  *
  * ***** END LICENSE BLOCK ***** */
 
-#ifdef MOZ_IPC
 #include "IPCMessageUtils.h"
-#endif
 
 #include "nsStandardURL.h"
 #include "nsDependentSubstring.h"
 #include "nsReadableUtils.h"
 #include "nsCRT.h"
 #include "nsEscape.h"
 #include "nsILocalFile.h"
 #include "nsIObjectInputStream.h"
@@ -858,31 +856,29 @@ nsStandardURL::WriteSegment(nsIBinaryOut
     if (NS_FAILED(rv)) return rv;
 
     rv = stream->Write32(PRUint32(seg.mLen));
     if (NS_FAILED(rv)) return rv;
 
     return NS_OK;
 }
 
-#ifdef MOZ_IPC
 bool
 nsStandardURL::ReadSegment(const IPC::Message *aMsg, void **aIter, URLSegment &seg)
 {
     return (IPC::ReadParam(aMsg, aIter, &seg.mPos) &&
             IPC::ReadParam(aMsg, aIter, &seg.mLen));
 }
 
 void
 nsStandardURL::WriteSegment(IPC::Message *aMsg, const URLSegment &seg)
 {
     IPC::WriteParam(aMsg, seg.mPos);
     IPC::WriteParam(aMsg, seg.mLen);
 }
-#endif
 
 /* static */ void
 nsStandardURL::PrefsChanged(nsIPrefBranch *prefs, const char *pref)
 {
     PRBool val;
 
     LOG(("nsStandardURL::PrefsChanged [pref=%s]\n", pref));
 
@@ -2810,17 +2806,16 @@ nsStandardURL::Write(nsIObjectOutputStre
 
 //---------------------------------------------------------------------------
 // nsStandardURL::nsIIPCSerializable
 //---------------------------------------------------------------------------
 
 PRBool
 nsStandardURL::Read(const IPC::Message *aMsg, void **aIter)
 {
-#ifdef MOZ_IPC
     using IPC::ReadParam;
     
     NS_PRECONDITION(!mHostA, "Shouldn't have cached ASCII host");
     NS_PRECONDITION(mSpecEncoding == eEncoding_Unknown,
                     "Shouldn't have spec encoding here");
     NS_PRECONDITION(!mFile, "Shouldn't have cached file");
     
     PRUint32 urlType;
@@ -2873,25 +2868,21 @@ nsStandardURL::Read(const IPC::Message *
     }
     mHostEncoding = hostEncoding;
     mMutable = isMutable;
     mSupportsFileURL = supportsFileURL;
 
     // mSpecEncoding and mHostA are just caches that can be recovered as needed.
 
     return PR_TRUE;
-#else
-    return PR_FALSE;
-#endif
 }
 
 void
 nsStandardURL::Write(IPC::Message *aMsg)
 {
-#ifdef MOZ_IPC
     using IPC::WriteParam;
     
     WriteParam(aMsg, mURLType);
     WriteParam(aMsg, mPort);
     WriteParam(aMsg, mDefaultPort);
     WriteParam(aMsg, mSpec);
     WriteSegment(aMsg, mScheme);
     WriteSegment(aMsg, mAuthority);
@@ -2906,17 +2897,16 @@ nsStandardURL::Write(IPC::Message *aMsg)
     WriteSegment(aMsg, mParam);
     WriteSegment(aMsg, mQuery);
     WriteSegment(aMsg, mRef);
     WriteParam(aMsg, mOriginCharset);
     WriteParam(aMsg, bool(mMutable));
     WriteParam(aMsg, bool(mSupportsFileURL));
     WriteParam(aMsg, mHostEncoding);
     // mSpecEncoding and mHostA are just caches that can be recovered as needed.
-#endif
 }
 
 //----------------------------------------------------------------------------
 // nsStandardURL::nsIClassInfo
 //----------------------------------------------------------------------------
 
 NS_IMETHODIMP 
 nsStandardURL::GetInterfaces(PRUint32 *count, nsIID * **array)
--- a/netwerk/base/src/nsStandardURL.h
+++ b/netwerk/base/src/nsStandardURL.h
@@ -223,21 +223,19 @@ private:
     void ShiftFromParam(PRInt32 diff)     { mParam.mPos += diff; ShiftFromQuery(diff); }
     void ShiftFromQuery(PRInt32 diff)     { mQuery.mPos += diff; ShiftFromRef(diff); }
     void ShiftFromRef(PRInt32 diff)       { mRef.mPos += diff; }
 
     // fastload helper functions
     nsresult ReadSegment(nsIBinaryInputStream *, URLSegment &);
     nsresult WriteSegment(nsIBinaryOutputStream *, const URLSegment &);
 
-#ifdef MOZ_IPC
     // ipc helper functions
     bool ReadSegment(const IPC::Message *, void **, URLSegment &);
     void WriteSegment(IPC::Message *, const URLSegment &);
-#endif
 
     static void PrefsChanged(nsIPrefBranch *prefs, const char *pref);
 
     // mSpec contains the normalized version of the URL spec (UTF-8 encoded).
     nsCString mSpec;
     PRInt32   mDefaultPort;
     PRInt32   mPort;
 
--- a/netwerk/build/Makefile.in
+++ b/netwerk/build/Makefile.in
@@ -59,22 +59,19 @@ SHARED_LIBRARY_LIBS = \
   ../socket/$(LIB_PREFIX)neckosocket_s.$(LIB_SUFFIX) \
   ../streamconv/src/$(LIB_PREFIX)nkconv_s.$(LIB_SUFFIX) \
   ../streamconv/converters/$(LIB_PREFIX)nkcnvts_s.$(LIB_SUFFIX) \
   ../mime/$(LIB_PREFIX)nkmime_s.$(LIB_SUFFIX) \
   ../cache/$(LIB_PREFIX)nkcache_s.$(LIB_SUFFIX) \
   ../protocol/about/$(LIB_PREFIX)nkabout_s.$(LIB_SUFFIX) \
   $(foreach d,$(filter-out about,$(NECKO_PROTOCOLS)), \
     ../protocol/$(d)/$(LIB_PREFIX)nk$(d)_s.$(LIB_SUFFIX)) \
+  ../ipc/$(LIB_PREFIX)neckoipc_s.$(LIB_SUFFIX) \
   $(NULL)
 
-ifdef MOZ_IPC
-SHARED_LIBRARY_LIBS += ../ipc/$(LIB_PREFIX)neckoipc_s.$(LIB_SUFFIX)
-endif
-
 ifeq ($(OS_ARCH),WINNT)
     SHARED_LIBRARY_LIBS += \
         ../system/win32/$(LIB_PREFIX)neckosystem_s.$(LIB_SUFFIX)
 endif
 
 ifeq ($(OS_ARCH),WINCE)
     SHARED_LIBRARY_LIBS += \
         ../system/wince/$(LIB_PREFIX)neckosystem_s.$(LIB_SUFFIX)
--- a/netwerk/build/nsNetModule.cpp
+++ b/netwerk/build/nsNetModule.cpp
@@ -32,20 +32,18 @@
  * and other provisions required by the GPL or the LGPL. If you do not delete
  * the provisions above, a recipient may use your version of this file under
  * the terms of any one of the MPL, the GPL or the LGPL.
  *
  * ***** END LICENSE BLOCK ***** */
 
 #include "necko-config.h"
 
-#ifdef MOZ_IPC
 #define ALLOW_LATE_NSHTTP_H_INCLUDE 1
 #include "base/basictypes.h"
-#endif 
 
 #include "nsCOMPtr.h"
 #include "nsIClassInfoImpl.h"
 #include "mozilla/ModuleUtils.h"
 #include "nsIComponentManager.h"
 #include "nsIServiceManager.h"
 #include "nsICategoryManager.h"
 #include "nsSocketProviderService.h"
@@ -122,21 +120,19 @@ NS_GENERIC_FACTORY_CONSTRUCTOR(nsSafeFil
 NS_GENERIC_AGGREGATED_CONSTRUCTOR_INIT(nsLoadGroup, Init)
 
 #include "nsEffectiveTLDService.h"
 NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsEffectiveTLDService, Init)
 
 #include "nsSerializationHelper.h"
 NS_GENERIC_FACTORY_CONSTRUCTOR(nsSerializationHelper)
 
-#ifdef MOZ_IPC
 #include "RedirectChannelRegistrar.h"
 typedef mozilla::net::RedirectChannelRegistrar RedirectChannelRegistrar;
 NS_GENERIC_FACTORY_CONSTRUCTOR(RedirectChannelRegistrar)
-#endif
 
 ///////////////////////////////////////////////////////////////////////////////
 
 extern nsresult
 net_NewIncrementalDownload(nsISupports *, const nsIID &, void **);
 
 #define NS_INCREMENTALDOWNLOAD_CLASSNAME \
     "nsIncrementalDownload"
@@ -751,19 +747,17 @@ NS_DEFINE_NAMED_CID(NS_NETWORK_LINK_SERV
 #elif defined(MOZ_ENABLE_LIBCONIC)
 NS_DEFINE_NAMED_CID(NS_NETWORK_LINK_SERVICE_CID);
 #elif defined(MOZ_ENABLE_QTNETWORK)
 NS_DEFINE_NAMED_CID(NS_NETWORK_LINK_SERVICE_CID);
 #elif defined(ANDROID)
 NS_DEFINE_NAMED_CID(NS_NETWORK_LINK_SERVICE_CID);
 #endif
 NS_DEFINE_NAMED_CID(NS_SERIALIZATION_HELPER_CID);
-#ifdef MOZ_IPC
 NS_DEFINE_NAMED_CID(NS_REDIRECTCHANNELREGISTRAR_CID);
-#endif
 
 static const mozilla::Module::CIDEntry kNeckoCIDs[] = {
     { &kNS_IOSERVICE_CID, false, NULL, nsIOServiceConstructor },
     { &kNS_STREAMTRANSPORTSERVICE_CID, false, NULL, nsStreamTransportServiceConstructor },
     { &kNS_SOCKETTRANSPORTSERVICE_CID, false, NULL, nsSocketTransportServiceConstructor },
     { &kNS_SERVERSOCKET_CID, false, NULL, nsServerSocketConstructor },
     { &kNS_SOCKETPROVIDERSERVICE_CID, false, NULL, nsSocketProviderService::Create },
     { &kNS_DNSSERVICE_CID, false, NULL, nsDNSServiceConstructor },
@@ -882,19 +876,17 @@ static const mozilla::Module::CIDEntry k
 #elif defined(MOZ_ENABLE_LIBCONIC)
     { &kNS_NETWORK_LINK_SERVICE_CID, false, NULL, nsMaemoNetworkLinkServiceConstructor },
 #elif defined(MOZ_ENABLE_QTNETWORK)
     { &kNS_NETWORK_LINK_SERVICE_CID, false, NULL, nsQtNetworkLinkServiceConstructor },
 #elif defined(ANDROID)
     { &kNS_NETWORK_LINK_SERVICE_CID, false, NULL, nsAndroidNetworkLinkServiceConstructor },
 #endif
     { &kNS_SERIALIZATION_HELPER_CID, false, NULL, nsSerializationHelperConstructor },
-#ifdef MOZ_IPC
     { &kNS_REDIRECTCHANNELREGISTRAR_CID, false, NULL, RedirectChannelRegistrarConstructor },
-#endif
     { NULL }
 };
 
 static const mozilla::Module::ContractIDEntry kNeckoContracts[] = {
     { NS_IOSERVICE_CONTRACTID, &kNS_IOSERVICE_CID },
     { NS_NETUTIL_CONTRACTID, &kNS_IOSERVICE_CID },
     { NS_STREAMTRANSPORTSERVICE_CONTRACTID, &kNS_STREAMTRANSPORTSERVICE_CID },
     { NS_SOCKETTRANSPORTSERVICE_CONTRACTID, &kNS_SOCKETTRANSPORTSERVICE_CID },
@@ -1020,19 +1012,17 @@ static const mozilla::Module::ContractID
 #elif defined(MOZ_ENABLE_LIBCONIC)
     { NS_NETWORK_LINK_SERVICE_CONTRACTID, &kNS_NETWORK_LINK_SERVICE_CID },
 #elif defined(MOZ_ENABLE_QTNETWORK)
     { NS_NETWORK_LINK_SERVICE_CONTRACTID, &kNS_NETWORK_LINK_SERVICE_CID },
 #elif defined(ANDROID)
     { NS_NETWORK_LINK_SERVICE_CONTRACTID, &kNS_NETWORK_LINK_SERVICE_CID },
 #endif
     { NS_SERIALIZATION_HELPER_CONTRACTID, &kNS_SERIALIZATION_HELPER_CID },
-#ifdef MOZ_IPC
     { NS_REDIRECTCHANNELREGISTRAR_CONTRACTID, &kNS_REDIRECTCHANNELREGISTRAR_CID },
-#endif
     { NULL }
 };
 
 static const mozilla::Module kNeckoModule = {
     mozilla::Module::kVersion,
     kNeckoCIDs,
     kNeckoContracts,
     kNeckoCategories,
--- a/netwerk/cache/nsCacheService.cpp
+++ b/netwerk/cache/nsCacheService.cpp
@@ -71,19 +71,17 @@
 #include "nsDeleteDir.h"
 #include "nsIPrivateBrowsingService.h"
 #include "nsNetCID.h"
 #include <math.h>  // for log()
 #include "mozilla/Services.h"
 
 #include "mozilla/FunctionTimer.h"
 
-#ifdef MOZ_IPC
 #include "mozilla/net/NeckoCommon.h"
-#endif
 
 using namespace mozilla;
 
 /******************************************************************************
  * nsCacheProfilePrefObserver
  *****************************************************************************/
 #ifdef XP_MAC
 #pragma mark nsCacheProfilePrefObserver
@@ -1018,21 +1016,19 @@ nsresult
 nsCacheService::Init()
 {
     NS_TIME_FUNCTION;
 
     NS_ASSERTION(!mInitialized, "nsCacheService already initialized.");
     if (mInitialized)
         return NS_ERROR_ALREADY_INITIALIZED;
 
-#ifdef MOZ_IPC
     if (mozilla::net::IsNeckoChild()) {
         return NS_ERROR_UNEXPECTED;
     }
-#endif
 
     CACHE_LOG_INIT();
 
     nsresult rv = NS_NewThread(getter_AddRefs(mCacheIOThread));
     if (NS_FAILED(rv)) {
         NS_WARNING("Can't create cache IO thread");
     }
 
--- a/netwerk/cookie/Makefile.in
+++ b/netwerk/cookie/Makefile.in
@@ -67,17 +67,16 @@ LIBXUL_LIBRARY   = 1
 FORCE_STATIC_LIB = 1
 CPPSRCS = \
   nsCookie.cpp \
   nsCookieService.cpp \
   $(NULL)
 
 XPCSHELL_TESTS += test/unit
 
-ifdef MOZ_IPC
 EXPORTS_NAMESPACES = mozilla/net
 
 EXPORTS_mozilla/net = \
 		CookieServiceParent.h \
 		CookieServiceChild.h  \
 		$(NULL)
 
 CPPSRCS += \
@@ -85,16 +84,15 @@ CPPSRCS += \
 		CookieServiceChild.cpp \
 		$(NULL)
 
 # FIXME/bug 575918: out-of-process xpcshell is broken on OS X
 ifneq ($(OS_ARCH),Darwin)
 XPCSHELL_TESTS += test/unit_ipc
 endif
 endif
-endif
 
 
 include $(topsrcdir)/config/config.mk
 include $(topsrcdir)/ipc/chromium/chromium-config.mk
 include $(topsrcdir)/config/rules.mk
 
 DEFINES += -DIMPL_NS_NET
--- a/netwerk/cookie/nsCookieService.cpp
+++ b/netwerk/cookie/nsCookieService.cpp
@@ -40,20 +40,18 @@
  * ***** END LICENSE BLOCK ***** */
 
 
 #ifdef MOZ_LOGGING
 // this next define has to appear before the include of prlog.h
 #define FORCE_PR_LOG // Allow logging in the release build
 #endif
 
-#ifdef MOZ_IPC
 #include "mozilla/net/CookieServiceChild.h"
 #include "mozilla/net/NeckoCommon.h"
-#endif
 
 #include "nsCookieService.h"
 #include "nsIServiceManager.h"
 
 #include "nsIIOService.h"
 #include "nsIPrefBranch.h"
 #include "nsIPrefBranch2.h"
 #include "nsIPrefService.h"
@@ -558,30 +556,26 @@ NS_IMPL_ISUPPORTS1(CloseCookieDBListener
 /******************************************************************************
  * nsCookieService impl:
  * singleton instance ctor/dtor methods
  ******************************************************************************/
 
 nsICookieService*
 nsCookieService::GetXPCOMSingleton()
 {
-#ifdef MOZ_IPC
   if (IsNeckoChild())
     return CookieServiceChild::GetSingleton();
-#endif
 
   return GetSingleton();
 }
 
 nsCookieService*
 nsCookieService::GetSingleton()
 {
-#ifdef MOZ_IPC
   NS_ASSERTION(!IsNeckoChild(), "not a parent process");
-#endif
 
   if (gCookieService) {
     NS_ADDREF(gCookieService);
     return gCookieService;
   }
 
   // Create a new singleton nsCookieService.
   // We AddRef only once since XPCOM has rules about the ordering of module
--- a/netwerk/cookie/nsCookieService.h
+++ b/netwerk/cookie/nsCookieService.h
@@ -74,19 +74,17 @@ class mozIThirdPartyUtil;
 class ReadCookieDBListener;
 
 struct nsCookieAttributes;
 struct nsListIter;
 struct nsEnumerationData;
 
 namespace mozilla {
 namespace net {
-#ifdef MOZ_IPC
 class CookieServiceParent;
-#endif
 }
 }
 
 // hash entry class
 class nsCookieEntry : public PLDHashEntryHdr
 {
   public:
     // Hash methods
@@ -314,14 +312,12 @@ class nsCookieService : public nsICookie
 
     // friends!
     friend PLDHashOperator purgeCookiesCallback(nsCookieEntry *aEntry, void *aArg);
     friend class DBListenerErrorHandler;
     friend class ReadCookieDBListener;
     friend class CloseCookieDBListener;
 
     static nsCookieService*       GetSingleton();
-#ifdef MOZ_IPC
     friend class mozilla::net::CookieServiceParent;
-#endif
 };
 
 #endif // nsCookieService_h__
--- a/netwerk/protocol/about/nsAboutProtocolHandler.cpp
+++ b/netwerk/protocol/about/nsAboutProtocolHandler.cpp
@@ -31,20 +31,18 @@
  * use your version of this file under the terms of the MPL, indicate your
  * decision by deleting the provisions above and replace them with the notice
  * and other provisions required by the GPL or the LGPL. If you do not delete
  * the provisions above, a recipient may use your version of this file under
  * the terms of any one of the MPL, the GPL or the LGPL.
  *
  * ***** END LICENSE BLOCK ***** */
 
-#ifdef MOZ_IPC
 #include "IPCMessageUtils.h"
 #include "mozilla/net/NeckoMessageUtils.h"
-#endif
 
 #include "nsAboutProtocolHandler.h"
 #include "nsIURI.h"
 #include "nsIIOService.h"
 #include "nsCRT.h"
 #include "nsIComponentManager.h"
 #include "nsIServiceManager.h"
 #include "nsIAboutModule.h"
@@ -326,40 +324,35 @@ nsNestedAboutURI::Write(nsIObjectOutputS
 
     return NS_OK;
 }
 
 // nsIIPCSerializable
 PRBool
 nsNestedAboutURI::Read(const IPC::Message *aMsg, void **aIter)
 {
-#ifdef MOZ_IPC
     if (!nsSimpleNestedURI::Read(aMsg, aIter))
         return PR_FALSE;
 
     IPC::URI uri;
     if (!ReadParam(aMsg, aIter, &uri))
         return PR_FALSE;
 
     mBaseURI = uri;
 
     return PR_TRUE;
-#endif
-    return PR_FALSE;
 }
 
 void
 nsNestedAboutURI::Write(IPC::Message *aMsg)
 {
-#ifdef MOZ_IPC
     nsSimpleNestedURI::Write(aMsg);
 
     IPC::URI uri(mBaseURI);
     WriteParam(aMsg, uri);
-#endif
 }
 
 // nsSimpleURI
 /* virtual */ nsSimpleURI*
 nsNestedAboutURI::StartClone()
 {
     // Sadly, we can't make use of nsSimpleNestedURI::StartClone here.
     NS_ENSURE_TRUE(mInnerURI, nsnull);
--- a/netwerk/protocol/ftp/Makefile.in
+++ b/netwerk/protocol/ftp/Makefile.in
@@ -51,38 +51,31 @@ GRE_MODULE     = 1
 FORCE_STATIC_LIB = 1
 
 EXPORTS = ftpCore.h
 
 XPIDLSRCS = \
   nsIFTPChannel.idl \
   $(NULL)
 
-ifdef MOZ_IPC
 EXPORTS_NAMESPACES = mozilla/net
 
 EXPORTS_mozilla/net += \
   FTPChannelParent.h \
   FTPChannelChild.h  \
   $(NULL)
-endif
 
 CPPSRCS = \
   nsFtpProtocolHandler.cpp \
   nsFTPChannel.cpp \
   nsFtpConnectionThread.cpp \
   nsFtpControlConnection.cpp \
-  $(NULL)
-
-ifdef MOZ_IPC
-CPPSRCS += \
   FTPChannelParent.cpp \
   FTPChannelChild.cpp \
   $(NULL)
-endif
 
 # Use -g for Irix mipspro builds as workaround for bug 92099
 ifneq (,$(filter IRIX IRIX64,$(OS_ARCH)))
 ifndef GNU_CC
 MODULE_OPTIMIZE_FLAGS=-O -g
 endif
 endif
 
--- a/netwerk/protocol/ftp/nsFtpProtocolHandler.cpp
+++ b/netwerk/protocol/ftp/nsFtpProtocolHandler.cpp
@@ -44,21 +44,19 @@
  * Modifications to Mozilla code or documentation
  * identified per MPL Section 3.3
  *
  * Date         Modified by     Description of modification
  * 03/27/2000   IBM Corp.       Added PR_CALLBACK for Optlink
  *                               use in OS2
  */
 
-#ifdef MOZ_IPC
 #include "mozilla/net/NeckoChild.h"
 #include "mozilla/net/FTPChannelChild.h"
 using namespace mozilla::net;
-#endif
 
 #include "nsFtpProtocolHandler.h"
 #include "nsFTPChannel.h"
 #include "nsIURL.h"
 #include "nsIStandardURL.h"
 #include "nsCRT.h"
 #include "nsIComponentManager.h"
 #include "nsIInterfaceRequestor.h"
@@ -130,20 +128,18 @@ NS_IMPL_THREADSAFE_ISUPPORTS4(nsFtpProto
                               nsIProtocolHandler,
                               nsIProxiedProtocolHandler,
                               nsIObserver,
                               nsISupportsWeakReference)
 
 nsresult
 nsFtpProtocolHandler::Init()
 {
-#ifdef MOZ_IPC
     if (IsNeckoChild())
         NeckoChild::InitNeckoChild();
-#endif // MOZ_IPC
 
     if (mIdleTimeout == -1) {
         nsresult rv;
         nsCOMPtr<nsIPrefBranch2> branch = do_GetService(NS_PREFSERVICE_CONTRACTID, &rv);
         if (NS_FAILED(rv)) return rv;
 
         rv = branch->GetIntPref(IDLE_TIMEOUT_PREF, &mIdleTimeout);
         if (NS_FAILED(rv))
@@ -249,21 +245,19 @@ nsFtpProtocolHandler::NewChannel(nsIURI*
 }
 
 NS_IMETHODIMP
 nsFtpProtocolHandler::NewProxiedChannel(nsIURI* uri, nsIProxyInfo* proxyInfo,
                                         nsIChannel* *result)
 {
     NS_ENSURE_ARG_POINTER(uri);
     nsRefPtr<nsBaseChannel> channel;
-#ifdef MOZ_IPC
     if (IsNeckoChild())
         channel = new FTPChannelChild(uri);
     else
-#endif
         channel = new nsFtpChannel(uri, proxyInfo);
 
     nsresult rv = channel->Init();
     if (NS_FAILED(rv)) {
         return rv;
     }
     
     channel.forget(result);
--- a/netwerk/protocol/http/HttpBaseChannel.cpp
+++ b/netwerk/protocol/http/HttpBaseChannel.cpp
@@ -1252,21 +1252,17 @@ HttpBaseChannel::GetEntityID(nsACString&
 void
 HttpBaseChannel::AddCookiesToRequest()
 {
   if (mLoadFlags & LOAD_ANONYMOUS) {
     return;
   }
 
   bool useCookieService = 
-#ifdef MOZ_IPC
     (XRE_GetProcessType() == GeckoProcessType_Default);
-#else
-    PR_TRUE;
-#endif
   nsXPIDLCString cookie;
   if (useCookieService) {
     nsICookieService *cs = gHttpHandler->GetCookieService();
     if (cs) {
       cs->GetCookieStringFromHttp(mURI,
                                   nsnull,
                                   this, getter_Copies(cookie));
     }
--- a/netwerk/protocol/http/Makefile.in
+++ b/netwerk/protocol/http/Makefile.in
@@ -68,30 +68,28 @@ XPIDLSRCS = \
   nsIHttpAuthenticableChannel.idl \
   nsIHttpChannelChild.idl \
   $(NULL)
 
 EXPORTS_mozilla/net = \
   HttpBaseChannel.h \
   $(NULL)
 
-ifdef MOZ_IPC
 EXPORTS_mozilla/net += \
   HttpChannelParent.h \
   HttpChannelChild.h  \
   PHttpChannelParams.h \
   $(NULL)
 
 EXPORTS = \
   nsHttpResponseHead.h \
   nsHttpHeaderArray.h \
   nsHttp.h \
   nsHttpAtomList.h \
   $(NULL)
-endif
 
 CPPSRCS = \
   nsHttp.cpp \
   nsHttpHeaderArray.cpp \
   nsHttpConnectionInfo.cpp \
   nsHttpConnection.cpp \
   nsHttpConnectionMgr.cpp \
   nsHttpRequestHead.cpp \
@@ -104,25 +102,20 @@ CPPSRCS = \
   nsHttpNTLMAuth.cpp \
   nsHttpTransaction.cpp \
   nsHttpHandler.cpp \
   HttpBaseChannel.cpp \
   nsHttpChannel.cpp \
   nsHttpPipeline.cpp \
   nsHttpActivityDistributor.cpp \
   nsHttpChannelAuthProvider.cpp \
-  $(NULL)
-
-ifdef MOZ_IPC
-CPPSRCS += \
   HttpChannelParent.cpp \
   HttpChannelChild.cpp \
   HttpChannelParentListener.cpp \
   $(NULL)
-endif
 
 LOCAL_INCLUDES = \
   -I$(srcdir)/../../base/src \
   -I$(topsrcdir)/xpcom/ds \
   -I$(topsrcdir)/content/base/src \
   -I$(topsrcdir)/content/events/src \
   $(NULL)
 
--- a/netwerk/protocol/http/nsHttp.h
+++ b/netwerk/protocol/http/nsHttp.h
@@ -39,33 +39,31 @@
 
 #ifndef nsHttp_h__
 #define nsHttp_h__
 
 #if defined(MOZ_LOGGING)
 #define FORCE_PR_LOG
 #endif
 
-#ifdef MOZ_IPC
 // e10s mess: IPDL-generatd headers include chromium which both #includes
 // prlog.h, and #defines LOG in conflict with this file.
 // Solution: (as described in bug 545995)
 // 1) ensure that this file is #included before any IPDL-generated files and
 //    anything else that #includes prlog.h, so that we can make sure prlog.h
 //    sees FORCE_PR_LOG if needed.
 // 2) #include IPDL boilerplate, and then undef LOG so our LOG wins.
 // 3) nsNetModule.cpp does its own crazy stuff with #including prlog.h
 //    multiple times; allow it to define ALLOW_LATE_NSHTTP_H_INCLUDE to bypass
 //    check. 
 #if defined(PR_LOG) && !defined(ALLOW_LATE_NSHTTP_H_INCLUDE)
 #error "If nsHttp.h #included it must come before any IPDL-generated files or other files that #include prlog.h"
 #endif
 #include "mozilla/net/NeckoChild.h"
 #undef LOG
-#endif // MOZ_IPC
 
 #include "plstr.h"
 #include "prlog.h"
 #include "prtime.h"
 #include "nsISupportsUtils.h"
 #include "nsPromiseFlatString.h"
 #include "nsURLHelper.h"
 #include "netCore.h"
--- a/netwerk/protocol/http/nsHttpChannel.cpp
+++ b/netwerk/protocol/http/nsHttpChannel.cpp
@@ -40,19 +40,17 @@
  * use your version of this file under the terms of the MPL, indicate your
  * decision by deleting the provisions above and replace them with the notice
  * and other provisions required by the GPL or the LGPL. If you do not delete
  * the provisions above, a recipient may use your version of this file under
  * the terms of any one of the MPL, the GPL or the LGPL.
  *
  * ***** END LICENSE BLOCK ***** */
 
-#ifdef MOZ_IPC
 #include "base/basictypes.h"
-#endif 
 
 #include "nsHttpChannel.h"
 #include "nsHttpHandler.h"
 #include "nsIApplicationCacheService.h"
 #include "nsIApplicationCacheContainer.h"
 #include "nsIAuthInformation.h"
 #include "nsIStringBundle.h"
 #include "nsIIDNService.h"
--- a/netwerk/protocol/http/nsHttpHandler.cpp
+++ b/netwerk/protocol/http/nsHttpHandler.cpp
@@ -74,19 +74,17 @@
 #include "nsQuickSort.h"
 #include "nsNetUtil.h"
 #include "nsIOService.h"
 #include "nsAsyncRedirectVerifyHelper.h"
 #include "nsSocketTransportService2.h"
 
 #include "nsIXULAppInfo.h"
 
-#ifdef MOZ_IPC
 #include "mozilla/net/NeckoChild.h"
-#endif 
 
 #if defined(XP_UNIX)
 #include <sys/utsname.h>
 #endif
 
 #if defined(XP_WIN)
 #include <windows.h>
 #endif
@@ -97,19 +95,17 @@
 
 #if defined(XP_OS2)
 #define INCL_DOSMISC
 #include <os2.h>
 #endif
 
 //-----------------------------------------------------------------------------
 using namespace mozilla::net;
-#ifdef MOZ_IPC
 #include "mozilla/net/HttpChannelChild.h"
-#endif 
 
 #include "mozilla/FunctionTimer.h"
 
 #ifdef DEBUG
 // defined by the socket transport service while active
 extern PRThread *gSocketThread;
 #endif
 
@@ -243,20 +239,18 @@ nsHttpHandler::Init()
         return rv;
 
     mIOService = do_GetService(NS_IOSERVICE_CONTRACTID, &rv);
     if (NS_FAILED(rv)) {
         NS_WARNING("unable to continue without io service");
         return rv;
     }
 
-#ifdef MOZ_IPC
     if (IsNeckoChild())
         NeckoChild::InitNeckoChild();
-#endif // MOZ_IPC
 
     InitUserAgentComponents();
 
     // monitor some preference changes
     nsCOMPtr<nsIPrefBranch2> prefBranch = do_GetService(NS_PREFSERVICE_CONTRACTID);
     if (prefBranch) {
         prefBranch->AddObserver(HTTP_PREF_PREFIX, this, PR_TRUE);
         prefBranch->AddObserver(UA_PREF_PREFIX, this, PR_TRUE);
@@ -1483,42 +1477,36 @@ nsHttpHandler::NewProxiedChannel(nsIURI 
         NS_ENSURE_ARG(proxyInfo);
     }
 
     PRBool https;
     nsresult rv = uri->SchemeIs("https", &https);
     if (NS_FAILED(rv))
         return rv;
 
-#ifdef MOZ_IPC
     if (IsNeckoChild()) {
         httpChannel = new HttpChannelChild();
-    } else
-#endif
-    {
+    } else {
         httpChannel = new nsHttpChannel();
     }
 
     // select proxy caps if using a non-transparent proxy.  SSL tunneling
     // should not use proxy settings.
     PRInt8 caps;
     if (proxyInfo && !nsCRT::strcmp(proxyInfo->Type(), "http") && !https)
         caps = mProxyCapabilities;
     else
         caps = mCapabilities;
 
     if (https) {
         // enable pipelining over SSL if requested
         if (mPipeliningOverSSL)
             caps |= NS_HTTP_ALLOW_PIPELINING;
 
-#ifdef MOZ_IPC
-        if (!IsNeckoChild()) 
-#endif
-        {
+        if (!IsNeckoChild()) {
             // HACK: make sure PSM gets initialized on the main thread.
             net_EnsurePSMInit();
         }
     }
 
     rv = httpChannel->Init(uri, caps, proxyInfo);
     if (NS_FAILED(rv))
         return rv;
--- a/netwerk/protocol/http/nsHttpResponseHead.h
+++ b/netwerk/protocol/http/nsHttpResponseHead.h
@@ -145,14 +145,12 @@ private:
     nsCString         mStatusText;
     PRInt64           mContentLength;
     nsCString         mContentType;
     nsCString         mContentCharset;
     PRPackedBool      mCacheControlNoStore;
     PRPackedBool      mCacheControlNoCache;
     PRPackedBool      mPragmaNoCache;
 
-#ifdef MOZ_IPC
     friend struct IPC::ParamTraits<nsHttpResponseHead>;
-#endif
 };
 
 #endif // nsHttpResponseHead_h__
--- a/netwerk/protocol/http/nsHttpTransaction.cpp
+++ b/netwerk/protocol/http/nsHttpTransaction.cpp
@@ -33,19 +33,17 @@
  * use your version of this file under the terms of the MPL, indicate your
  * decision by deleting the provisions above and replace them with the notice
  * and other provisions required by the GPL or the LGPL. If you do not delete
  * the provisions above, a recipient may use your version of this file under
  * the terms of any one of the MPL, the GPL or the LGPL.
  *
  * ***** END LICENSE BLOCK ***** */
 
-#ifdef MOZ_IPC
 #include "base/basictypes.h"
-#endif 
 
 #include "nsIOService.h"
 #include "nsHttpHandler.h"
 #include "nsHttpTransaction.h"
 #include "nsHttpConnection.h"
 #include "nsHttpRequestHead.h"
 #include "nsHttpResponseHead.h"
 #include "nsHttpChunkedDecoder.h"
--- a/netwerk/protocol/res/nsResProtocolHandler.cpp
+++ b/netwerk/protocol/res/nsResProtocolHandler.cpp
@@ -33,19 +33,17 @@
  * use your version of this file under the terms of the MPL, indicate your
  * decision by deleting the provisions above and replace them with the notice
  * and other provisions required by the GPL or the LGPL. If you do not delete
  * the provisions above, a recipient may use your version of this file under
  * the terms of any one of the MPL, the GPL or the LGPL.
  *
  * ***** END LICENSE BLOCK ***** */
 
-#ifdef MOZ_IPC
 #include "mozilla/chrome/RegistryMessageUtils.h"
-#endif
 
 #include "nsResProtocolHandler.h"
 #include "nsIURL.h"
 #include "nsIIOService.h"
 #include "nsIServiceManager.h"
 #include "nsILocalFile.h"
 #include "prenv.h"
 #include "prmem.h"
@@ -251,17 +249,16 @@ nsResProtocolHandler::Init(nsIFile *aOmn
     NS_ENSURE_SUCCESS(rv, rv);
 
     // resource://gre-resources/ points to jar:omni.jar!/chrome/toolkit/res/
     SetSubstitution(kGRE_RESOURCES, uri);
     return NS_OK;
 }
 #endif
 
-#ifdef MOZ_IPC
 static PLDHashOperator
 EnumerateSubstitution(const nsACString& aKey,
                       nsIURI* aURI,
                       void* aArg)
 {
     nsTArray<ResourceMapping>* resources =
             static_cast<nsTArray<ResourceMapping>*>(aArg);
     SerializedURI uri;
@@ -277,17 +274,16 @@ EnumerateSubstitution(const nsACString& 
     return (PLDHashOperator)PL_DHASH_NEXT;
 }
 
 void
 nsResProtocolHandler::CollectSubstitutions(InfallibleTArray<ResourceMapping>& aResources)
 {
     mSubstitutions.EnumerateRead(&EnumerateSubstitution, &aResources);
 }
-#endif
 
 //----------------------------------------------------------------------------
 // nsResProtocolHandler::nsISupports
 //----------------------------------------------------------------------------
 
 NS_IMPL_THREADSAFE_ISUPPORTS3(nsResProtocolHandler,
                               nsIResProtocolHandler,
                               nsIProtocolHandler,
--- a/netwerk/protocol/res/nsResProtocolHandler.h
+++ b/netwerk/protocol/res/nsResProtocolHandler.h
@@ -66,19 +66,17 @@ public:
     NS_DECL_NSIPROTOCOLHANDLER
     NS_DECL_NSIRESPROTOCOLHANDLER
 
     nsResProtocolHandler();
     virtual ~nsResProtocolHandler();
 
     nsresult Init();
 
-#ifdef MOZ_IPC    
     void CollectSubstitutions(InfallibleTArray<ResourceMapping>& aResources);
-#endif
 
 private:
     nsresult Init(nsIFile *aOmniJar);
     nsresult AddSpecialDir(const char* aSpecialDir, const nsACString& aSubstitution);
     nsInterfaceHashtable<nsCStringHashKey,nsIURI> mSubstitutions;
     nsCOMPtr<nsIIOService> mIOService;
 
     friend class nsResURL;
--- a/netwerk/protocol/wyciwyg/Makefile.in
+++ b/netwerk/protocol/wyciwyg/Makefile.in
@@ -43,44 +43,35 @@ include $(DEPTH)/config/autoconf.mk
 
 MODULE		= necko
 LIBRARY_NAME	= nkwyciwyg_s
 LIBXUL_LIBRARY	= 1
 XPIDL_MODULE	= necko_wyciwyg
 GRE_MODULE	= 1
 FORCE_STATIC_LIB = 1
 
-ifdef MOZ_IPC
 EXPORTS_NAMESPACES = mozilla/net
-endif
 
 XPIDLSRCS	= \
 		nsIWyciwygChannel.idl \
 		$(NULL)
 
-ifdef MOZ_IPC
 EXPORTS_mozilla/net += \
   WyciwygChannelParent.h \
   WyciwygChannelChild.h  \
   $(NULL)
-endif
 
 CPPSRCS		= \
 		nsWyciwyg.cpp \
 		nsWyciwygChannel.cpp \
 		nsWyciwygProtocolHandler.cpp \
+		WyciwygChannelParent.cpp \
+		WyciwygChannelChild.cpp \
 		$(NULL)
 
-ifdef MOZ_IPC
-CPPSRCS += \
-  WyciwygChannelParent.cpp \
-  WyciwygChannelChild.cpp \
-  $(NULL)
-endif
-
 LOCAL_INCLUDES = \
   -I$(srcdir)/../../base/src \
   $(NULL)
 
 include $(topsrcdir)/config/config.mk
 include $(topsrcdir)/ipc/chromium/chromium-config.mk
 include $(topsrcdir)/config/rules.mk
 
--- a/netwerk/protocol/wyciwyg/nsWyciwyg.h
+++ b/netwerk/protocol/wyciwyg/nsWyciwyg.h
@@ -37,33 +37,31 @@
 
 #ifndef nsWyciwyg_h__
 #define nsWyciwyg_h__
 
 #if defined(MOZ_LOGGING)
 #define FORCE_PR_LOG
 #endif
 
-#ifdef MOZ_IPC
 // e10s mess: IPDL-generatd headers include chromium which both #includes
 // prlog.h, and #defines LOG in conflict with this file.
 // Solution: (as described in bug 545995)
 // 1) ensure that this file is #included before any IPDL-generated files and
 //    anything else that #includes prlog.h, so that we can make sure prlog.h
 //    sees FORCE_PR_LOG if needed.
 // 2) #include IPDL boilerplate, and then undef LOG so our LOG wins.
 // 3) nsNetModule.cpp does its own crazy stuff with #including prlog.h
 //    multiple times; allow it to define ALLOW_LATE_NSHTTP_H_INCLUDE to bypass
 //    check. 
 #if defined(PR_LOG) && !defined(ALLOW_LATE_NSHTTP_H_INCLUDE)
 #error "If nsWyciwyg.h #included it must come before any IPDL-generated files or other files that #include prlog.h"
 #endif
 #include "mozilla/net/NeckoChild.h"
 #undef LOG
-#endif // MOZ_IPC
 
 #include "plstr.h"
 #include "prlog.h"
 #include "prtime.h"
 
 #if defined(PR_LOGGING)
 //
 // Log module for HTTP Protocol logging...
--- a/netwerk/protocol/wyciwyg/nsWyciwygChannel.cpp
+++ b/netwerk/protocol/wyciwyg/nsWyciwygChannel.cpp
@@ -364,24 +364,16 @@ nsWyciwygChannel::Open(nsIInputStream **
   return NS_ERROR_NOT_IMPLEMENTED;
 }
 
 NS_IMETHODIMP
 nsWyciwygChannel::AsyncOpen(nsIStreamListener *listener, nsISupports *ctx)
 {
   LOG(("nsWyciwygChannel::AsyncOpen [this=%x]\n", this));
 
-#ifndef MOZ_IPC
-  // The only places creating wyciwyg: channels should be
-  // HTMLDocument::OpenCommon and session history.  Both should be setting an
-  // owner.
-  NS_PRECONDITION(mOwner, "Must have a principal");
-  NS_ENSURE_STATE(mOwner);
-#endif
-
   NS_ENSURE_TRUE(!mIsPending, NS_ERROR_IN_PROGRESS);
   NS_ENSURE_ARG_POINTER(listener);
 
   nsCAutoString spec;
   mURI->GetSpec(spec);
 
   // open a cache entry for this channel...
   nsresult rv = OpenCacheEntry(spec, nsICache::ACCESS_READ);
--- a/netwerk/protocol/wyciwyg/nsWyciwygProtocolHandler.cpp
+++ b/netwerk/protocol/wyciwyg/nsWyciwygProtocolHandler.cpp
@@ -42,24 +42,20 @@
 #include "nsWyciwygProtocolHandler.h"
 #include "nsIURL.h"
 #include "nsIComponentManager.h"
 #include "nsNetCID.h"
 #include "nsServiceManagerUtils.h"
 #include "plstr.h"
 #include "nsNetUtil.h"
 
-#ifdef MOZ_IPC
 #include "mozilla/net/NeckoChild.h"
-#endif
 
-#ifdef MOZ_IPC
 using namespace mozilla::net;
 #include "mozilla/net/WyciwygChannelChild.h"
-#endif
 
 ////////////////////////////////////////////////////////////////////////////////
 
 nsWyciwygProtocolHandler::nsWyciwygProtocolHandler() 
 {
 #if defined(PR_LOGGING)
   if (!gWyciwygLog)
     gWyciwygLog = PR_NewLogModule("nsWyciwygChannel");
@@ -118,40 +114,36 @@ nsWyciwygProtocolHandler::NewURI(const n
   NS_ADDREF(*result);
 
   return rv;
 }
 
 NS_IMETHODIMP
 nsWyciwygProtocolHandler::NewChannel(nsIURI* url, nsIChannel* *result)
 {
-#ifdef MOZ_IPC
   if (mozilla::net::IsNeckoChild())
     mozilla::net::NeckoChild::InitNeckoChild();
-#endif // MOZ_IPC
 
   NS_ENSURE_ARG_POINTER(url);
   nsresult rv;
 
   nsCOMPtr<nsIWyciwygChannel> channel;
-#ifdef MOZ_IPC
   if (IsNeckoChild()) {
     NS_ENSURE_TRUE(gNeckoChild != nsnull, NS_ERROR_FAILURE);
 
     WyciwygChannelChild *wcc = static_cast<WyciwygChannelChild *>(
                                  gNeckoChild->SendPWyciwygChannelConstructor());
     if (!wcc)
       return NS_ERROR_OUT_OF_MEMORY;
 
     channel = wcc;
     rv = wcc->Init(url);
     if (NS_FAILED(rv))
       PWyciwygChannelChild::Send__delete__(wcc);
   } else
-#endif
   {
     // If original channel used https, make sure PSM is initialized
     // (this may be first channel to load during a session restore)
     nsCAutoString path;
     rv = url->GetPath(path);
     NS_ENSURE_SUCCESS(rv, rv);
     PRInt32 slashIndex = path.FindChar('/', 2);
     if (slashIndex == kNotFound)
--- a/netwerk/test/Makefile.in
+++ b/netwerk/test/Makefile.in
@@ -93,22 +93,20 @@ include $(topsrcdir)/config/config.mk
 LIBS		= $(EXTRA_DSO_LIBS) \
 		  $(XPCOM_LIBS) \
 		  $(NSPR_LIBS) \
 		  $(NULL)
 
 DEFINES += $(TK_CFLAGS)
 
 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
 
 check::
 	$(RUN_TEST_PROGRAM) $(DIST)/bin/TestCookie$(BIN_SUFFIX)
 
 _RES_FILES 	= urlparse.dat \
 		  urlparse_unx.dat \
--- a/security/manager/ssl/src/Makefile.in
+++ b/security/manager/ssl/src/Makefile.in
@@ -98,26 +98,23 @@ CPPSRCS = 				\
   nsSmartCardMonitor.cpp \
   nsSmartCardEvent.cpp \
   nsStreamCipher.cpp \
   nsKeyModule.cpp \
   nsIdentityChecking.cpp \
   nsDataSignatureVerifier.cpp \
   nsRandomGenerator.cpp \
   NSSErrorsService.cpp \
+  nsNSSCertificateFakeTransport.cpp \
   $(NULL)
 
 ifdef MOZ_XUL
 CPPSRCS += nsCertTree.cpp
 endif
 
-ifdef MOZ_IPC
-CPPSRCS += nsNSSCertificateFakeTransport.cpp
-endif
-
 CSRCS += md4.c
 
 
 EXTRA_DEPS = $(NSS_DEP_LIBS)
 
 DEFINES += -DNSS_ENABLE_ECC
 
 # Use local includes because they are inserted before INCLUDES
--- a/security/manager/ssl/src/nsNSSCertificate.cpp
+++ b/security/manager/ssl/src/nsNSSCertificate.cpp
@@ -68,19 +68,17 @@
 #include "nsISupportsPrimitives.h"
 #include "nsUnicharUtils.h"
 #include "nsThreadUtils.h"
 #include "nsCertVerificationThread.h"
 #include "nsIObjectOutputStream.h"
 #include "nsIObjectInputStream.h"
 #include "nsIProgrammingLanguage.h"
 
-#ifdef MOZ_IPC
 #include "nsXULAppAPI.h"
-#endif
 
 #include "nspr.h"
 extern "C" {
 #include "pk11func.h"
 #include "certdb.h"
 #include "cert.h"
 #include "secerr.h"
 #include "nssb64.h"
@@ -121,36 +119,32 @@ NS_IMPL_THREADSAFE_ISUPPORTS7(nsNSSCerti
                                                 nsISMimeCert,
                                                 nsISerializable,
                                                 nsIClassInfo)
 
 /* static */
 nsNSSCertificate*
 nsNSSCertificate::Create(CERTCertificate *cert)
 {
-#ifdef MOZ_IPC
   if (GeckoProcessType_Default != XRE_GetProcessType()) {
     NS_ERROR("Trying to initialize nsNSSCertificate in a non-chrome process!");
     return nsnull;
   }
-#endif
   if (cert)
     return new nsNSSCertificate(cert);
   else
     return new nsNSSCertificate();
 }
 
 nsNSSCertificate*
 nsNSSCertificate::ConstructFromDER(char *certDER, int derLen)
 {
-#ifdef MOZ_IPC
   // On non-chrome process prevent instantiation
   if (GeckoProcessType_Default != XRE_GetProcessType())
     return nsnull;
-#endif
 
   nsNSSCertificate* newObject = nsNSSCertificate::Create();
   if (newObject && !newObject->InitFromDER(certDER, derLen)) {
     delete newObject;
     newObject = nsnull;
   }
 
   return newObject;
@@ -181,17 +175,17 @@ nsNSSCertificate::InitFromDER(char *cert
 }
 
 nsNSSCertificate::nsNSSCertificate(CERTCertificate *cert) : 
                                            mCert(nsnull),
                                            mPermDelete(PR_FALSE),
                                            mCertType(CERT_TYPE_NOT_YET_INITIALIZED),
                                            mCachedEVStatus(ev_status_unknown)
 {
-#if defined(MOZ_IPC) && defined(DEBUG)
+#if defined(DEBUG)
   if (GeckoProcessType_Default != XRE_GetProcessType())
     NS_ERROR("Trying to initialize nsNSSCertificate in a non-chrome process!");
 #endif
 
   nsNSSShutDownPreventionLock locker;
   if (isAlreadyShutDown())
     return;
 
@@ -200,20 +194,18 @@ nsNSSCertificate::nsNSSCertificate(CERTC
 }
 
 nsNSSCertificate::nsNSSCertificate() : 
   mCert(nsnull),
   mPermDelete(PR_FALSE),
   mCertType(CERT_TYPE_NOT_YET_INITIALIZED),
   mCachedEVStatus(ev_status_unknown)
 {
-#ifdef MOZ_IPC
   if (GeckoProcessType_Default != XRE_GetProcessType())
     NS_ERROR("Trying to initialize nsNSSCertificate in a non-chrome process!");
-#endif
 }
 
 nsNSSCertificate::~nsNSSCertificate()
 {
   nsNSSShutDownPreventionLock locker;
   if (isAlreadyShutDown())
     return;
 
--- a/security/manager/ssl/src/nsNSSComponent.cpp
+++ b/security/manager/ssl/src/nsNSSComponent.cpp
@@ -113,19 +113,17 @@
 #include "secmime.h"
 #include "ocsp.h"
 #include "cms.h"
 #include "nssckbi.h"
 #include "base64.h"
 #include "secerr.h"
 #include "sslerr.h"
 
-#ifdef MOZ_IPC
 #include "nsXULAppAPI.h"
-#endif
 
 #ifdef XP_WIN
 #include "nsILocalFileWin.h"
 #endif
 
 extern "C" {
 #include "pkcs12.h"
 #include "p12plcy.h"
@@ -287,32 +285,30 @@ PRBool nsPSMInitPanic::isPanic = PR_FALS
 
 // We must ensure that the nsNSSComponent has been loaded before
 // creating any other components.
 PRBool EnsureNSSInitialized(EnsureNSSOperator op)
 {
   if (nsPSMInitPanic::GetPanic())
     return PR_FALSE;
 
-#ifdef MOZ_IPC
   if (GeckoProcessType_Default != XRE_GetProcessType())
   {
     if (op == nssEnsureOnChromeOnly)
     {
       // If the component needs PSM/NSS initialized only on the chrome process,
       // pretend we successfully initiated it but in reality we bypass it.
       // It's up to the programmer to check for process type in such components
       // and take care not to call anything that needs NSS/PSM initiated.
       return PR_TRUE;
     }
 
     NS_ERROR("Trying to initialize PSM/NSS in a non-chrome process!");
     return PR_FALSE;
   }
-#endif
 
   static PRBool loading = PR_FALSE;
   static PRInt32 haveLoaded = 0;
 
   switch (op)
   {
     // In following 4 cases we are protected by monitor of XPCOM component
     // manager - we are inside of do_GetService call for nss component, so it is
--- a/security/manager/ssl/src/nsNSSIOLayer.cpp
+++ b/security/manager/ssl/src/nsNSSIOLayer.cpp
@@ -375,19 +375,17 @@ nsNSSSocketInfo::EnsureDocShellDependent
   // If the docshell wants the lock icon, you'll get the ssl error pages, too.
   // This is helpful to distinguish from all other contexts, like mail windows,
   // or any other SSL connections running in the background.
   // We must query it now and remember, because fatal SSL errors will come 
   // with a socket close, and the socket transport might detach the callbacks 
   // instance prior to our error reporting.
 
   nsISecureBrowserUI* secureUI = nsnull;
-#ifdef MOZ_IPC
   CallGetInterface(proxiedCallbacks.get(), &secureUI);
-#endif
 
   nsCOMPtr<nsIDocShell> docshell;
 
   nsCOMPtr<nsIDocShellTreeItem> item(do_GetInterface(proxiedCallbacks));
   if (item)
   {
     nsCOMPtr<nsIDocShellTreeItem> proxiedItem;
     nsCOMPtr<nsIDocShellTreeItem> rootItem;
--- a/security/manager/ssl/src/nsNSSModule.cpp
+++ b/security/manager/ssl/src/nsNSSModule.cpp
@@ -75,24 +75,19 @@
 #include "nsDataSignatureVerifier.h"
 #include "nsCertOverrideService.h"
 #include "nsRandomGenerator.h"
 #include "nsRecentBadCerts.h"
 #include "nsSSLStatus.h"
 #include "nsNSSIOLayer.h"
 #include "NSSErrorsService.h"
 
-#ifdef MOZ_IPC
 #include "nsXULAppAPI.h"
 #define NS_IS_PROCESS_DEFAULT                                                 \
     (GeckoProcessType_Default == XRE_GetProcessType())
-#else
-#define NS_IS_PROCESS_DEFAULT                                                 \
-    (true)
-#endif
 
 #define NS_NSS_INSTANTIATE(ensureOperator, _InstanceClass)                    \
     PR_BEGIN_MACRO                                                            \
         _InstanceClass * inst;                                                \
         inst = new _InstanceClass();                                          \
         if (NULL == inst) {                                                   \
             if (ensureOperator == nssLoadingComponent)                        \
                 EnsureNSSInitialized(nssInitFailed);                          \
@@ -223,23 +218,19 @@ NS_NSS_GENERIC_FACTORY_CONSTRUCTOR_INIT(
 // All other classes must have this set to PR_FALSE.
 
 NS_NSS_GENERIC_FACTORY_CONSTRUCTOR(nssEnsure, nsSSLSocketProvider)
 NS_NSS_GENERIC_FACTORY_CONSTRUCTOR(nssEnsure, nsTLSSocketProvider)
 NS_NSS_GENERIC_FACTORY_CONSTRUCTOR(nssEnsure, nsSecretDecoderRing)
 NS_NSS_GENERIC_FACTORY_CONSTRUCTOR(nssEnsure, nsPK11TokenDB)
 NS_NSS_GENERIC_FACTORY_CONSTRUCTOR(nssEnsure, nsPKCS11ModuleDB)
 NS_NSS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nssEnsure, PSMContentListener, init)
-#ifdef MOZ_IPC
 NS_NSS_GENERIC_FACTORY_CONSTRUCTOR_BYPROCESS(nssEnsureOnChromeOnly,
                                              nsNSSCertificate,
                                              nsNSSCertificateFakeTransport)
-#else
-NS_NSS_GENERIC_FACTORY_CONSTRUCTOR(nssEnsure, nsNSSCertificate)
-#endif
 NS_NSS_GENERIC_FACTORY_CONSTRUCTOR(nssEnsure, nsNSSCertificateDB)
 NS_NSS_GENERIC_FACTORY_CONSTRUCTOR(nssEnsure, nsNSSCertCache)
 #ifdef MOZ_XUL
 NS_NSS_GENERIC_FACTORY_CONSTRUCTOR(nssEnsure, nsCertTree)
 #endif
 NS_NSS_GENERIC_FACTORY_CONSTRUCTOR(nssEnsure, nsCrypto)
 NS_NSS_GENERIC_FACTORY_CONSTRUCTOR(nssEnsure, nsPkcs11)
 NS_NSS_GENERIC_FACTORY_CONSTRUCTOR(nssEnsure, nsCMSSecureMessage)
--- a/toolkit/components/contentprefs/tests/Makefile.in
+++ b/toolkit/components/contentprefs/tests/Makefile.in
@@ -44,18 +44,16 @@ relativesrcdir = toolkit/components/cont
 
 include $(DEPTH)/config/autoconf.mk
 
 MODULE		= test_toolkit_contentprefs
 
 ifdef MOZ_PHOENIX
 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
 
 endif
 
 include $(topsrcdir)/config/rules.mk
--- a/toolkit/components/places/History.cpp
+++ b/toolkit/components/places/History.cpp
@@ -32,21 +32,19 @@
  * use your version of this file under the terms of the MPL, indicate your
  * decision by deleting the provisions above and replace them with the notice
  * and other provisions required by the GPL or the LGPL. If you do not delete
  * the provisions above, a recipient may use your version of this file under
  * 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 "mozilla/dom/ContentParent.h"
 #include "nsXULAppAPI.h"
-#endif
 
 #include "History.h"
 #include "nsNavHistory.h"
 #include "nsNavBookmarks.h"
 #include "Helpers.h"
 #include "PlaceInfo.h"
 #include "VisitInfo.h"
 
@@ -328,27 +326,25 @@ GetJSObjectFromArray(JSContext* aCtx,
 
 class VisitedQuery : public AsyncStatementCallback
 {
 public:
   static nsresult Start(nsIURI* aURI)
   {
     NS_PRECONDITION(aURI, "Null URI");
 
-#ifdef MOZ_IPC
   // If we are a content process, always remote the request to the
   // parent process.
   if (XRE_GetProcessType() == GeckoProcessType_Content) {
     mozilla::dom::ContentChild* cpc =
       mozilla::dom::ContentChild::GetSingleton();
     NS_ASSERTION(cpc, "Content Protocol is NULL!");
     (void)cpc->SendStartVisitedQuery(aURI);
     return NS_OK;
   }
-#endif
 
     nsNavHistory* navHistory = nsNavHistory::GetHistoryService();
     NS_ENSURE_STATE(navHistory);
     if (navHistory->hasEmbedVisit(aURI)) {
       nsRefPtr<VisitedQuery> callback = new VisitedQuery(aURI, true);
       NS_ENSURE_TRUE(callback, NS_ERROR_OUT_OF_MEMORY);
       // As per IHistory contract, we must notify asynchronously.
       nsCOMPtr<nsIRunnable> event =
@@ -1272,24 +1268,22 @@ History::~History()
 #endif
 }
 
 void
 History::NotifyVisited(nsIURI* aURI)
 {
   NS_ASSERTION(aURI, "Ruh-roh!  A NULL URI was passed to us!");
 
-#ifdef MOZ_IPC
   if (XRE_GetProcessType() == GeckoProcessType_Default) {
     mozilla::dom::ContentParent* cpp = 
       mozilla::dom::ContentParent::GetSingleton(PR_FALSE);
     if (cpp)
       (void)cpp->SendNotifyVisited(aURI);
   }
-#endif
 
   // If the hash table has not been initialized, then we have nothing to notify
   // about.
   if (!mObservers.IsInitialized()) {
     return;
   }
 
   // Additionally, if we have no observers for this URI, we have nothing to
@@ -1576,25 +1570,23 @@ History::VisitURI(nsIURI* aURI,
                   nsIURI* aLastVisitedURI,
                   PRUint32 aFlags)
 {
   NS_PRECONDITION(aURI, "URI should not be NULL.");
   if (mShuttingDown) {
     return NS_OK;
   }
 
-#ifdef MOZ_IPC
   if (XRE_GetProcessType() == GeckoProcessType_Content) {
     mozilla::dom::ContentChild* cpc =
       mozilla::dom::ContentChild::GetSingleton();
     NS_ASSERTION(cpc, "Content Protocol is NULL!");
     (void)cpc->SendVisitURI(aURI, aLastVisitedURI, aFlags);
     return NS_OK;
   } 
-#endif /* MOZ_IPC */
 
   nsNavHistory* navHistory = nsNavHistory::GetHistoryService();
   NS_ENSURE_TRUE(navHistory, NS_ERROR_OUT_OF_MEMORY);
 
   // Silently return if URI is something we shouldn't add to DB.
   PRBool canAdd;
   nsresult rv = navHistory->CanAddURI(aURI, &canAdd);
   NS_ENSURE_SUCCESS(rv, rv);
@@ -1679,23 +1671,19 @@ History::VisitURI(nsIURI* aURI,
   return NS_OK;
 }
 
 NS_IMETHODIMP
 History::RegisterVisitedCallback(nsIURI* aURI,
                                  Link* aLink)
 {
   NS_ASSERTION(aURI, "Must pass a non-null URI!");
-#ifdef MOZ_IPC
   if (XRE_GetProcessType() == GeckoProcessType_Content) {
     NS_PRECONDITION(aLink, "Must pass a non-null Link!");
   }
-#else
-  NS_PRECONDITION(aLink, "Must pass a non-null Link!");
-#endif
 
   // First, ensure that our hash table is setup.
   if (!mObservers.IsInitialized()) {
     NS_ENSURE_TRUE(mObservers.Init(VISIT_OBSERVERS_INITIAL_CACHE_SIZE),
                    NS_ERROR_OUT_OF_MEMORY);
   }
 
   // Obtain our array of observers for this URI.
@@ -1720,26 +1708,24 @@ History::RegisterVisitedCallback(nsIURI*
     // entry to our list of observers, and the code after this point assumes
     // that aLink is non-NULL, we will need to return now.
     if (NS_FAILED(rv) || !aLink) {
       // Remove our array from the hashtable so we don't keep it around.
       mObservers.RemoveEntry(aURI);
       return rv;
     }
   }
-#ifdef MOZ_IPC
   // In IPC builds, we are passed a NULL Link from
   // ContentParent::RecvStartVisitedQuery.  All of our code after this point
   // assumes aLink is non-NULL, so we have to return now.
   else if (!aLink) {
     NS_ASSERTION(XRE_GetProcessType() == GeckoProcessType_Default,
                  "We should only ever get a null Link in the default process!");
     return NS_OK;
   }
-#endif
 
   // Sanity check that Links are not registered more than once for a given URI.
   // This will not catch a case where it is registered for two different URIs.
   NS_ASSERTION(!observers.Contains(aLink),
                "Already tracking this Link object!");
 
   // Start tracking our Link.
   if (!observers.AppendElement(aLink)) {
@@ -1781,25 +1767,23 @@ History::UnregisterVisitedCallback(nsIUR
 NS_IMETHODIMP
 History::SetURITitle(nsIURI* aURI, const nsAString& aTitle)
 {
   NS_PRECONDITION(aURI, "Must pass a non-null URI!");
   if (mShuttingDown) {
     return NS_OK;
   }
 
-#ifdef MOZ_IPC
   if (XRE_GetProcessType() == GeckoProcessType_Content) {
     mozilla::dom::ContentChild * cpc = 
       mozilla::dom::ContentChild::GetSingleton();
     NS_ASSERTION(cpc, "Content Protocol is NULL!");
     (void)cpc->SendSetURITitle(aURI, nsDependentString(aTitle));
     return NS_OK;
   } 
-#endif /* MOZ_IPC */
 
   nsNavHistory* navHistory = nsNavHistory::GetHistoryService();
 
   // At first, it seems like nav history should always be available here, no
   // matter what.
   //
   // nsNavHistory fails to register as a service if there is no profile in
   // place (for instance, if user is choosing a profile).
--- a/toolkit/components/places/tests/cpp/test_IHistory.cpp
+++ b/toolkit/components/places/tests/cpp/test_IHistory.cpp
@@ -588,17 +588,16 @@ test_new_visit_adds_place_guid()
   do_check_eq(place.guid.Length(), 12);
 
   run_next_test();
 }
 
 ////////////////////////////////////////////////////////////////////////////////
 //// IPC-only Tests
 
-#ifdef MOZ_IPC
 void
 test_two_null_links_same_uri()
 {
   // Tests that we do not crash when we have had two NULL Links passed to
   // RegisterVisitedCallback and then the visit occurs (bug 607469).  This only
   // happens in IPC builds.
   nsCOMPtr<nsIURI> testURI(new_test_uri());
 
@@ -611,17 +610,16 @@ test_two_null_links_same_uri()
   rv = history->VisitURI(testURI, NULL, mozilla::IHistory::TOP_LEVEL);
   do_check_success(rv);
 
   nsCOMPtr<VisitURIObserver> finisher = new VisitURIObserver();
   finisher->WaitForNotification();
 
   run_next_test();
 }
-#endif // MOZ_IPC
 
 ////////////////////////////////////////////////////////////////////////////////
 //// Test Harness
 
 /**
  * Note: for tests marked "Order Important!", please see the test for details.
  */
 Test gTests[] = {
@@ -638,17 +636,15 @@ Test gTests[] = {
   TEST(test_visituri_updates),
   TEST(test_visituri_preserves_shown_and_typed),
   TEST(test_visituri_creates_visit),
   TEST(test_visituri_transition_typed),
   TEST(test_visituri_transition_embed),
   TEST(test_new_visit_adds_place_guid),
 
   // The rest of these tests are tests that are only run in IPC builds.
-#ifdef MOZ_IPC
   TEST(test_two_null_links_same_uri),
-#endif // MOZ_IPC
 };
 
 const char* file = __FILE__;
 #define TEST_NAME "IHistory"
 #define TEST_FILE file
 #include "places_test_harness_tail.h"
--- a/toolkit/crashreporter/nsExceptionHandler.cpp
+++ b/toolkit/crashreporter/nsExceptionHandler.cpp
@@ -40,27 +40,23 @@
 #include "nsExceptionHandler.h"
 
 #if defined(XP_WIN32)
 #ifdef WIN32_LEAN_AND_MEAN
 #undef WIN32_LEAN_AND_MEAN
 #endif
 
 #include "nsIWindowsRegKey.h"
-#if defined(MOZ_IPC)
-#  include "client/windows/crash_generation/crash_generation_server.h"
-#endif
+#include "client/windows/crash_generation/crash_generation_server.h"
 #include "client/windows/handler/exception_handler.h"
 #include <DbgHelp.h>
 #include <string.h>
 #elif defined(XP_MACOSX)
-#if defined(MOZ_IPC)
-#  include "client/mac/crash_generation/client_info.h"
-#  include "client/mac/crash_generation/crash_generation_server.h"
-#endif
+#include "client/mac/crash_generation/client_info.h"
+#include "client/mac/crash_generation/crash_generation_server.h"
 #include "client/mac/handler/exception_handler.h"
 #include <string>
 #include <Carbon/Carbon.h>
 #include <CoreFoundation/CoreFoundation.h>
 #include <crt_externs.h>
 #include <fcntl.h>
 #include <mach/mach.h>
 #include <sys/types.h>
@@ -68,20 +64,18 @@
 #include <unistd.h>
 #include "mac_utils.h"
 #elif defined(XP_LINUX)
 #include "nsDirectoryServiceUtils.h"
 #include "nsDirectoryServiceDefs.h"
 #include "nsIINIParser.h"
 #include "common/linux/linux_libc_support.h"
 #include "common/linux/linux_syscall_support.h"
-#if defined(MOZ_IPC)
-#  include "client/linux/crash_generation/client_info.h"
-#  include "client/linux/crash_generation/crash_generation_server.h"
-#endif
+#include "client/linux/crash_generation/client_info.h"
+#include "client/linux/crash_generation/crash_generation_server.h"
 #include "client/linux/handler/exception_handler.h"
 #include "client/linux/minidump_writer/linux_dumper.h"
 #include "client/linux/minidump_writer/minidump_writer.h"
 #include <fcntl.h>
 #include <sys/types.h>
 #include <unistd.h>
 #elif defined(XP_SOLARIS)
 #include "client/solaris/handler/exception_handler.h"
@@ -107,24 +101,22 @@
 #include "nsIXULAppInfo.h"
 #include <map>
 #include <vector>
 
 #if defined(XP_MACOSX)
 CFStringRef reporterClientAppID = CFSTR("org.mozilla.crashreporter");
 #endif
 
-#if defined(MOZ_IPC)
 #include "nsIUUIDGenerator.h"
 
 using google_breakpad::CrashGenerationServer;
 using google_breakpad::ClientInfo;
 using mozilla::Mutex;
 using mozilla::MutexAutoLock;
-#endif // MOZ_IPC
 
 namespace CrashReporter {
 
 #ifdef XP_WIN32
 typedef wchar_t XP_CHAR;
 typedef std::wstring xpstring;
 #define CONVERT_UTF16_TO_XP_CHAR(x) x
 #define CONVERT_XP_CHAR_TO_UTF16(x) x
@@ -204,17 +196,16 @@ static const char kAvailableVirtualMemor
 static const int kAvailableVirtualMemoryParameterLen =
   sizeof(kAvailableVirtualMemoryParameter)-1;
 
 // this holds additional data sent via the API
 static AnnotationTable* crashReporterAPIData_Hash;
 static nsCString* crashReporterAPIData = nsnull;
 static nsCString* notesField = nsnull;
 
-#if defined(MOZ_IPC)
 // OOP crash reporting
 static CrashGenerationServer* crashServer; // chrome process has this
 
 #  if defined(XP_WIN) || defined(XP_MACOSX)
 // If crash reporting is disabled, we hand out this "null" pipe to the
 // child process and don't attempt to connect to a parent server.
 static const char kNullNotifyPipe[] = "-";
 static char* childCrashNotifyPipe;
@@ -236,18 +227,16 @@ static ChildMinidumpMap* pidToMinidump;
 static const char* kSubprocessBlacklist[] = {
   "FramePoisonBase",
   "FramePoisonSize",
   "StartupTime",
   "URL"
 };
 
 
-#endif  // MOZ_IPC
-
 #ifdef XP_MACOSX
 static cpu_type_t pref_cpu_types[2] = {
 #if defined(__i386__)
                                  CPU_TYPE_X86,
 #elif defined(__x86_64__)
                                  CPU_TYPE_X86_64,
 #elif defined(__ppc__)
                                  CPU_TYPE_POWERPC,
@@ -1023,19 +1012,17 @@ nsresult SetupExtraData(nsILocalFile* aA
 
   if (filename.Length() < XP_PATH_MAX)
     strncpy(lastCrashTimeFilename, filename.get(), filename.Length());
 #endif
 
   return NS_OK;
 }
 
-#ifdef MOZ_IPC
 static void OOPDeinit();
-#endif
 
 nsresult UnsetExceptionHandler()
 {
   delete gExceptionHandler;
 
   // do this here in the unlikely case that we succeeded in allocating
   // our strings but failed to allocate gExceptionHandler.
   if (crashReporterAPIData_Hash) {
@@ -1062,19 +1049,17 @@ nsresult UnsetExceptionHandler()
   posix_spawnattr_destroy(&spawnattr);
 #endif
 
   if (!gExceptionHandler)
     return NS_ERROR_NOT_INITIALIZED;
 
   gExceptionHandler = nsnull;
 
-#ifdef MOZ_IPC
   OOPDeinit();
-#endif
 
   return NS_OK;
 }
 
 static void ReplaceChar(nsCString& str, const nsACString& character,
                         const nsACString& replacement)
 {
   nsCString::const_iterator start, end;
@@ -1638,18 +1623,16 @@ WriteExtraData(nsILocalFile* extraFile,
 
 bool
 AppendExtraData(nsILocalFile* extraFile, const AnnotationTable& data)
 {
   return WriteExtraData(extraFile, data, Blacklist());
 }
 
 
-#if defined(MOZ_IPC)
-
 static bool
 WriteExtraForMinidump(nsILocalFile* minidump,
                       const Blacklist& blacklist,
                       nsILocalFile** extraFile)
 {
   nsCOMPtr<nsILocalFile> extra;
   if (!GetExtraFileForMinidump(minidump, getter_AddRefs(extra)))
     return false;
@@ -2108,18 +2091,16 @@ CreatePairedMinidumps(ProcessHandle chil
 bool
 UnsetRemoteExceptionHandler()
 {
   delete gExceptionHandler;
   gExceptionHandler = NULL;
   return true;
 }
 
-#endif  // MOZ_IPC
-
 #if defined(__ANDROID__)
 void AddLibraryMapping(const char* library_name,
                        const char* file_id,
                        uintptr_t   start_address,
                        size_t      mapping_length,
                        size_t      file_offset)
 {
   if (!gExceptionHandler) {
@@ -2137,17 +2118,16 @@ void AddLibraryMapping(const char* libra
     gExceptionHandler->AddMappingInfo(library_name,
                                       guid,
                                       start_address,
                                       mapping_length,
                                       file_offset);
   }
 }
 
-#ifdef MOZ_IPC
 void AddLibraryMappingForChild(PRUint32    childPid,
                                const char* library_name,
                                const char* file_id,
                                uintptr_t   start_address,
                                size_t      mapping_length,
                                size_t      file_offset)
 {
   if (child_library_mappings.find(childPid) == child_library_mappings.end())
@@ -2168,11 +2148,10 @@ void AddLibraryMappingForChild(PRUint32 
 
 void RemoveLibraryMappingsForChild(PRUint32 childPid)
 {
   MappingMap::iterator iter = child_library_mappings.find(childPid);
   if (iter != child_library_mappings.end())
     child_library_mappings.erase(iter);
 }
 #endif
-#endif
 
 } // namespace CrashReporter
--- a/toolkit/crashreporter/nsExceptionHandler.h
+++ b/toolkit/crashreporter/nsExceptionHandler.h
@@ -84,17 +84,16 @@ bool AppendExtraData(nsILocalFile* extra
   nsresult WriteMinidumpForException(EXCEPTION_POINTERS* aExceptionInfo);
 #endif
 #ifdef XP_MACOSX
   nsresult AppendObjCExceptionInfoToAppNotes(void *inException);
 #endif
 nsresult GetSubmitReports(PRBool* aSubmitReport);
 nsresult SetSubmitReports(PRBool aSubmitReport);
 
-#ifdef MOZ_IPC
 // Out-of-process crash reporter API.
 
 // Return true iff a dump was found for |childPid|, and return the
 // path in |dump|.  The caller owns the last reference to |dump| if it
 // is non-NULL.
 bool TakeMinidumpForChild(PRUint32 childPid,
                           nsILocalFile** dump NS_OUTPARAM);
 
@@ -151,35 +150,32 @@ bool SetRemoteExceptionHandler(const nsA
 bool CreateNotificationPipeForChild(int* childCrashFd, int* childCrashRemapFd);
 
 // Child-side API
 bool SetRemoteExceptionHandler();
 
 #endif  // XP_WIN32
 
 bool UnsetRemoteExceptionHandler();
-#endif // MOZ_IPC
 
 #if defined(__ANDROID__)
 // Android builds use a custom library loader, so /proc/<pid>/maps
 // will just show anonymous mappings for all the non-system
 // shared libraries. This API is to work around that by providing
 // info about the shared libraries that are mapped into these anonymous
 // mappings.
 void AddLibraryMapping(const char* library_name,
                        const char* file_id,
                        uintptr_t   start_address,
                        size_t      mapping_length,
                        size_t      file_offset);
 
-#if defined(MOZ_IPC)
 void AddLibraryMappingForChild(PRUint32    childPid,
                                const char* library_name,
                                const char* file_id,
                                uintptr_t   start_address,
                                size_t      mapping_length,
                                size_t      file_offset);
 void RemoveLibraryMappingsForChild(PRUint32 childPid);
 #endif
-#endif
 }
 
 #endif /* nsExceptionHandler_h__ */
--- a/toolkit/library/dlldeps-xul.cpp
+++ b/toolkit/library/dlldeps-xul.cpp
@@ -46,16 +46,14 @@ void xxxNeverCalledXUL()
   XRE_NotifyProfile();
   XRE_TermEmbedding();
   XRE_CreateAppData(nsnull, nsnull);
   XRE_ParseAppData(nsnull, nsnull);
   XRE_FreeAppData(nsnull);
   XRE_ChildProcessTypeToString(GeckoProcessType_Default);
   XRE_StringToChildProcessType("");
   XRE_GetProcessType();
-#ifdef MOZ_IPC
   XRE_InitChildProcess(0, nsnull, GeckoProcessType_Default);
   XRE_InitParentProcess(0, nsnull, nsnull, nsnull);
   XRE_RunAppShell();
   XRE_ShutdownChildProcess();
   XRE_SendTestShellCommand(nsnull, nsnull, nsnull);
-#endif
 }
--- a/toolkit/library/libxul-config.mk
+++ b/toolkit/library/libxul-config.mk
@@ -86,17 +86,16 @@ RESFILE = xulrunos2.res
 RCFLAGS += -i $(topsrcdir)/widget/src/os2
 endif
 
 LOCAL_INCLUDES += -I$(topsrcdir)/widget/src/os2
 LOCAL_INCLUDES += -I$(topsrcdir)/xpcom/base
 endif
 
 # dependent libraries
-ifdef MOZ_IPC
 STATIC_LIBS += \
   jsipc_s \
   domipc_s \
   domplugins_s \
   mozipc_s \
   mozipdlgen_s \
   ipcshell_s \
   gfxipc_s \
@@ -106,27 +105,23 @@ ifdef MOZ_IPDL_TESTS
 STATIC_LIBS += ipdlunittest_s
 endif
 
 ifeq (Linux,$(OS_ARCH))
 ifneq (Android,$(OS_TARGET))
 OS_LIBS += -lrt
 endif
 endif
-endif
 
 STATIC_LIBS += \
 	xpcom_core \
 	ucvutil_s \
+	chromium_s \
 	$(NULL)
 
-ifdef MOZ_IPC
-STATIC_LIBS += chromium_s
-endif
-
 ifndef WINCE
 STATIC_LIBS += \
 	mozreg_s \
 	$(NULL)
 endif
 
 # component libraries
 COMPONENT_LIBS += \
@@ -147,22 +142,19 @@ COMPONENT_LIBS += \
 	nsappshell \
 	txmgr \
 	commandlines \
 	toolkitcomps \
 	pipboot \
 	pipnss \
 	appcomps \
 	composer \
+	jetpack_s \
 	$(NULL)
 
-ifdef MOZ_IPC
-COMPONENT_LIBS +=  jetpack_s
-endif
-
 ifdef BUILD_CTYPES
 COMPONENT_LIBS += \
 	jsctypes \
 	$(NULL)
 endif
 
 COMPONENT_LIBS += \
   jsperf \
--- a/toolkit/library/nsStaticXULComponents.cpp
+++ b/toolkit/library/nsStaticXULComponents.cpp
@@ -122,17 +122,17 @@
 #endif
 
 #ifdef ENABLE_LAYOUTDEBUG
 #define LAYOUT_DEBUG_MODULE MODULE(nsLayoutDebugModule)
 #else
 #define LAYOUT_DEBUG_MODULE
 #endif
 
-#if defined(MOZ_IPC) && defined(ENABLE_JETPACK_SERVICE)
+#if defined(ENABLE_JETPACK_SERVICE)
 #define JETPACK_MODULES \
     MODULE(jetpack)
 #else
 #define JETPACK_MODULES
 #endif
 
 #define PLUGINS_MODULES \
     MODULE(nsPluginModule)
--- a/toolkit/mozapps/installer/packager.mk
+++ b/toolkit/mozapps/installer/packager.mk
@@ -276,19 +276,17 @@ DIST_FILES = \
 NON_DIST_FILES = \
   classes.dex \
   $(NULL)
 
 UPLOAD_EXTRA_FILES += gecko-unsigned-unaligned.apk
 
 include $(topsrcdir)/ipc/app/defs.mk
 
-ifdef MOZ_IPC
 DIST_FILES += $(MOZ_CHILD_PROCESS_NAME)
-endif
 
 ifdef MOZ_THUMB2
 ABI_DIR = armeabi-v7a
 else
 ABI_DIR = armeabi
 endif
 
 PKG_SUFFIX      = .apk
--- a/toolkit/toolkit-tiers.mk
+++ b/toolkit/toolkit-tiers.mk
@@ -98,19 +98,17 @@ tier_platform_dirs	+= gfx/qcms
 ifeq ($(OS_ARCH),WINCE)
 tier_platform_dirs += modules/lib7z
 endif
 
 #
 # "gecko" - core components
 #
 
-ifdef MOZ_IPC
 tier_platform_dirs += ipc js/ipc js/jetpack
-endif
 
 tier_platform_dirs += \
 		js/src/xpconnect \
 		intl/chardet \
 		$(NULL)
 
 ifdef MOZ_ENABLE_GTK2
 ifdef MOZ_X11
--- a/toolkit/xre/nsAppRunner.cpp
+++ b/toolkit/xre/nsAppRunner.cpp
@@ -51,20 +51,18 @@
 #if defined(MOZ_WIDGET_QT)
 #include <QtGui/QApplication>
 #include <QtCore/QScopedPointer>
 #include <QtGui/QApplication>
 #include <QtGui/QInputContextFactory>
 #include <QtGui/QInputContext>
 #endif // MOZ_WIDGET_QT
 
-#ifdef MOZ_IPC
 #include "mozilla/dom/ContentParent.h"
 using mozilla::dom::ContentParent;
-#endif
 
 #include "nsAppRunner.h"
 #include "nsUpdateDriver.h"
 
 #ifdef XP_MACOSX
 #include "MacLaunchHelper.h"
 #include "MacApplicationDelegate.h"
 #include "MacAutoreleasePool.h"
@@ -204,19 +202,17 @@ using mozilla::dom::ContentParent;
 
 #ifdef MOZ_CRASHREPORTER
 #include "nsExceptionHandler.h"
 #include "nsICrashReporter.h"
 #define NS_CRASHREPORTER_CONTRACTID "@mozilla.org/toolkit/crash-reporter;1"
 #include "nsIPrefService.h"
 #endif
 
-#ifdef MOZ_IPC
 #include "base/command_line.h"
-#endif
 
 #include "mozilla/FunctionTimer.h"
 
 #ifdef ANDROID
 #include "AndroidBridge.h"
 #endif
 
 #ifdef WINCE
@@ -773,27 +769,23 @@ nsXULAppInfo::GetProcessType(PRUint32* a
   NS_ENSURE_ARG_POINTER(aResult);
   *aResult = XRE_GetProcessType();
   return NS_OK;
 }
 
 NS_IMETHODIMP
 nsXULAppInfo::EnsureContentProcess()
 {
-#ifdef MOZ_IPC
   if (XRE_GetProcessType() != GeckoProcessType_Default)
     return NS_ERROR_NOT_AVAILABLE;
 
   ContentParent* c = ContentParent::GetSingleton();
   if (!c)
     return NS_ERROR_NOT_AVAILABLE;
   return NS_OK;
-#else
-  return NS_ERROR_NOT_AVAILABLE;
-#endif
 }
 
 NS_IMETHODIMP
 nsXULAppInfo::InvalidateCachesOnRestart()
 {
   nsCOMPtr<nsIFile> file;
   nsresult rv = NS_GetSpecialDirectory(NS_APP_PROFILE_DIR_STARTUP, 
                                        getter_AddRefs(file));
@@ -3846,18 +3838,16 @@ XRE_main(int argc, char* argv[], const n
   return NS_FAILED(rv) ? 1 : 0;
 }
 
 nsresult
 XRE_InitCommandLine(int aArgc, char* aArgv[])
 {
   nsresult rv = NS_OK;
 
-#if defined(MOZ_IPC)
-
 #if defined(OS_WIN)
   CommandLine::Init(aArgc, aArgv);
 #else
 
   // these leak on error, but that's OK: we'll just exit()
   char** canonArgs = new char*[aArgc];
 
   // get the canonical version of the binary's path
@@ -3881,17 +3871,16 @@ XRE_InitCommandLine(int aArgc, char* aAr
  
   NS_ASSERTION(!CommandLine::IsInitialized(), "Bad news!");
   CommandLine::Init(aArgc, canonArgs);
 
   for (int i = 0; i < aArgc; ++i)
       free(canonArgs[i]);
   delete[] canonArgs;
 #endif
-#endif
 
 #ifdef MOZ_OMNIJAR
   const char *omnijarPath = nsnull;
   ArgResult ar = CheckArg("omnijar", PR_FALSE, &omnijarPath);
   if (ar == ARG_BAD) {
     PR_fprintf(PR_STDERR, "Error: argument -omnijar requires an omnijar path\n");
     return NS_ERROR_FAILURE;
   }
@@ -3909,31 +3898,25 @@ XRE_InitCommandLine(int aArgc, char* aAr
   return rv;
 }
 
 nsresult
 XRE_DeinitCommandLine()
 {
   nsresult rv = NS_OK;
 
-#if defined(MOZ_IPC)
   CommandLine::Terminate();
-#endif
 
   return rv;
 }
 
 GeckoProcessType
 XRE_GetProcessType()
 {
-#ifdef MOZ_IPC
   return mozilla::startup::sChildProcessType;
-#else
-  return GeckoProcessType_Default;
-#endif
 }
 
 void
 SetupErrorHandling(const char* progname)
 {
 #ifdef XP_WIN
   /* On Windows XPSP3 and Windows Vista if DEP is configured off-by-default
      we still want DEP protection: enable it explicitly and programmatically.
--- a/toolkit/xre/nsAppRunner.h
+++ b/toolkit/xre/nsAppRunner.h
@@ -177,23 +177,21 @@ void SetAllocatedString(const char *&str
 template<class T>
 void SetStrongPtr(T *&ptr, T* newvalue)
 {
   NS_IF_RELEASE(ptr);
   ptr = newvalue;
   NS_IF_ADDREF(ptr);
 }
 
-#ifdef MOZ_IPC
 namespace mozilla {
 namespace startup {
 extern GeckoProcessType sChildProcessType;
 }
 }
-#endif
 
 /**
  * Set up platform specific error handling such as suppressing DLL load dialog
  * and the JIT debugger on Windows, and install unix signal handlers.
  */
 void SetupErrorHandling(const char* progname);
 
 #endif // nsAppRunner_h__
--- a/toolkit/xre/nsEmbedFunctions.cpp
+++ b/toolkit/xre/nsEmbedFunctions.cpp
@@ -34,19 +34,17 @@
  * the terms of any one of the MPL, the GPL or the LGPL.
  *
  * ***** END LICENSE BLOCK ***** */
 
 #if defined(MOZ_WIDGET_QT)
 #include "nsQAppInstance.h"
 #endif
 
-#ifdef MOZ_IPC
 #include "base/basictypes.h"
-#endif
 
 #include "nsXULAppAPI.h"
 
 #include <stdlib.h>
 #if defined(MOZ_WIDGET_GTK2)
 #include <glib.h>
 #endif
 
@@ -74,17 +72,16 @@
 #include "nsExceptionHandler.h"
 #include "nsString.h"
 #include "nsThreadUtils.h"
 #include "nsJSUtils.h"
 #include "nsWidgetsCID.h"
 #include "nsXREDirProvider.h"
 
 #include "mozilla/Omnijar.h"
-#ifdef MOZ_IPC
 #if defined(XP_MACOSX)
 #include "chrome/common/mach_ipc_mac.h"
 #endif
 #include "nsX11ErrorHandler.h"
 #include "base/at_exit.h"
 #include "base/command_line.h"
 #include "base/message_loop.h"
 #include "base/process_util.h"
@@ -130,17 +127,16 @@ using mozilla::dom::ContentChild;
 using mozilla::jsipc::PContextWrapperParent;
 using mozilla::jsipc::ContextWrapperParent;
 
 using mozilla::ipc::TestShellParent;
 using mozilla::ipc::TestShellCommandParent;
 using mozilla::ipc::XPCShellEnvironment;
 
 using mozilla::startup::sChildProcessType;
-#endif
 
 static NS_DEFINE_CID(kAppShellCID, NS_APPSHELL_CID);
 
 #ifdef XP_WIN
 static const PRUnichar kShellLibraryName[] =  L"shell32.dll";
 #endif
 
 nsresult
@@ -244,17 +240,16 @@ XRE_StringToChildProcessType(const char*
        ++i) {
     if (!strcmp(kGeckoProcessTypeString[i], aProcessTypeString)) {
       return static_cast<GeckoProcessType>(i);
     }
   }
   return GeckoProcessType_Invalid;
 }
 
-#ifdef MOZ_IPC
 namespace mozilla {
 namespace startup {
 GeckoProcessType sChildProcessType = GeckoProcessType_Default;
 }
 }
 
 #if defined(MOZ_CRASHREPORTER)
 // FIXME/bug 539522: this out-of-place function is stuck here because
@@ -768,11 +763,8 @@ XRE_ShutdownTestShell()
 
 #ifdef MOZ_X11
 void
 XRE_InstallX11ErrorHandler()
 {
   InstallX11ErrorHandler();
 }
 #endif
-
-#endif // MOZ_IPC
-
--- a/toolkit/xre/nsSigHandlers.cpp
+++ b/toolkit/xre/nsSigHandlers.cpp
@@ -48,19 +48,17 @@
 
 #include <signal.h>
 #include <stdio.h>
 #include <string.h>
 #include "prthread.h"
 #include "plstr.h"
 #include "prenv.h"
 #include "nsDebug.h"
-#ifdef MOZ_IPC
-#  include "nsXULAppAPI.h"
-#endif
+#include "nsXULAppAPI.h"
 
 #if defined(LINUX)
 #include <sys/time.h>
 #include <sys/resource.h>
 #include <unistd.h>
 #include <stdlib.h> // atoi
 #include <ucontext.h>
 #endif
@@ -68,21 +66,19 @@
 #if defined(SOLARIS)
 #include <sys/resource.h>
 #include <ucontext.h>
 #endif
 
 static char _progname[1024] = "huh?";
 static unsigned int _gdb_sleep_duration = 300;
 
-#ifdef MOZ_IPC
 // NB: keep me up to date with the same variable in
 // ipc/chromium/chrome/common/ipc_channel_posix.cc
 static const int kClientChannelFd = 3;
-#endif
 
 #if defined(LINUX) && defined(DEBUG) && \
       (defined(__i386) || defined(__x86_64) || defined(PPC))
 #define CRAWL_STACK_ON_SIGSEGV
 #endif
 
 #if defined(CRAWL_STACK_ON_SIGSEGV)
 
@@ -122,25 +118,23 @@ ah_crap_handler(int signum)
 
   sleep(_gdb_sleep_duration);
 
   printf("Done sleeping...\n");
 
   _exit(signum);
 }
 
-#ifdef MOZ_IPC
 void
 child_ah_crap_handler(int signum)
 {
   if (!getenv("MOZ_DONT_UNBLOCK_PARENT_ON_CHILD_CRASH"))
     close(kClientChannelFd);
   ah_crap_handler(signum);
 }
-#endif
 
 #endif // CRAWL_STACK_ON_SIGSEGV
 
 #ifdef MOZ_WIDGET_GTK2
 // Need this include for version test below.
 #include <glib.h>
 #endif
 
@@ -260,20 +254,18 @@ void InstallSignalHandlers(const char *P
     if (1 == sscanf(gdbSleep, "%u", &s)) {
       _gdb_sleep_duration = s;
     }
   }
 
 #if defined(CRAWL_STACK_ON_SIGSEGV)
   if (!getenv("XRE_NO_WINDOWS_CRASH_DIALOG")) {
     void (*crap_handler)(int) =
-#ifdef MOZ_IPC
       GeckoProcessType_Default != XRE_GetProcessType() ?
           child_ah_crap_handler :
-#endif
           ah_crap_handler;
     signal(SIGSEGV, crap_handler);
     signal(SIGILL, crap_handler);
     signal(SIGABRT, crap_handler);
   }
 #endif // CRAWL_STACK_ON_SIGSEGV
 
 #ifdef SA_SIGINFO
--- a/toolkit/xre/nsX11ErrorHandler.cpp
+++ b/toolkit/xre/nsX11ErrorHandler.cpp
@@ -33,20 +33,18 @@
  * and other provisions required by the GPL or the LGPL. If you do not delete
  * the provisions above, a recipient may use your version of this file under
  * the terms of any one of the MPL, the GPL or the LGPL.
  *
  * ***** END LICENSE BLOCK ***** */
 
 #include "nsX11ErrorHandler.h"
 
-#ifdef MOZ_IPC
 #include "mozilla/plugins/PluginProcessChild.h"
 using mozilla::plugins::PluginProcessChild;
-#endif
 
 #include "prenv.h"
 #include "nsXULAppAPI.h"
 #include "nsExceptionHandler.h"
 #include "nsDebug.h"
 
 #include "mozilla/X11Util.h"
 #include <X11/Xlib.h>
@@ -155,26 +153,24 @@ X11Error(Display *display, XErrorEvent *
     }
   }
 
 #ifdef MOZ_CRASHREPORTER
   switch (XRE_GetProcessType()) {
   case GeckoProcessType_Default:
     CrashReporter::AppendAppNotesToCrashReport(notes);
     break;
-#ifdef MOZ_IPC
   case GeckoProcessType_Plugin:
     if (CrashReporter::GetEnabled()) {
       // This is assuming that X operations are performed on the plugin
       // thread.  If plugins are using X on another thread, then we'll need to
       // handle that differently.
       PluginProcessChild::AppendNotesToCrashReport(notes);
     }
     break;
-#endif
   default: 
     ; // crash report notes not supported.
   }
 #endif
 
 #ifdef DEBUG
   // The resource id is unlikely to be useful in a crash report without
   // context of other ids, but add it to the debug console output.
--- a/uriloader/exthandler/Makefile.in
+++ b/uriloader/exthandler/Makefile.in
@@ -80,24 +80,22 @@ CMMSRCS	= nsOSHelperAppService.mm \
 			nsLocalHandlerAppMac.mm \
 			$(NULL)
 else
 OSHELPER	= nsOSHelperAppService.cpp
 endif
 
 LOCAL_INCLUDES = -I$(srcdir)
 
-ifdef MOZ_IPC
 LOCAL_INCLUDES += -I$(topsrcdir)/dom/base \
             -I$(topsrcdir)/dom/ipc \
             -I$(topsrcdir)/content/base/src \
             -I$(topsrcdir)/content/events/src \
             -I$(topsrcdir)/netwerk/base/src \
             -I$(topsrcdir)/netwerk/protocol/http
-endif
 
 ifeq ($(MOZ_WIDGET_TOOLKIT),gtk2)
 OSHELPER	+= nsGNOMERegistry.cpp
 OSHELPER  += nsMIMEInfoUnix.cpp
 endif
 
 ifeq ($(MOZ_WIDGET_TOOLKIT),android)
 OSHELPER += nsMIMEInfoAndroid.cpp
@@ -145,24 +143,20 @@ XPIDLSRCS = \
 	$(NULL)
 
 CPPSRCS	= \
 	nsExternalHelperAppService.cpp	\
 	nsExternalProtocolHandler.cpp \
 	nsMIMEInfoImpl.cpp \
 	nsLocalHandlerApp.cpp \
 	$(OSHELPER) \
+	ExternalHelperAppChild.cpp \
+	ExternalHelperAppParent.cpp \
 	$(NULL)
 
-ifdef MOZ_IPC
-CPPSRCS += \
-    ExternalHelperAppChild.cpp \
-    ExternalHelperAppParent.cpp
-endif
-
 ifdef MOZ_ENABLE_DBUS
 CPPSRCS += nsDBusHandlerApp.cpp
 LOCAL_INCLUDES   += $(TK_CFLAGS) $(MOZ_DBUS_CFLAGS)
 EXTRA_DSO_LDOPTS += $(MOZ_DBUS_LIBS)
 endif
 
 ifdef MOZ_ENABLE_MEEGOTOUCHSHARE
 OSHELPER  += nsMeegoExternalSharingAppService.cpp
--- a/uriloader/exthandler/nsExternalHelperAppService.cpp
+++ b/uriloader/exthandler/nsExternalHelperAppService.cpp
@@ -41,21 +41,19 @@
  * the terms of any one of the MPL, the GPL or the LGPL.
  *
  * ***** END LICENSE BLOCK ***** */
 
 #ifdef MOZ_LOGGING
 #define FORCE_PR_LOG
 #endif
 
-#ifdef MOZ_IPC
 #include "base/basictypes.h"
 #include "mozilla/dom/ContentChild.h"
 #include "nsXULAppAPI.h"
-#endif
 
 #include "nsExternalHelperAppService.h"
 #include "nsCExternalHandlerService.h"
 #include "nsIURI.h"
 #include "nsIURL.h"
 #include "nsIFile.h"
 #include "nsIFileURL.h"
 #include "nsIChannel.h"
@@ -134,24 +132,22 @@
 #include "nsLocalHandlerApp.h"
 
 #include "nsIRandomGenerator.h"
 #include "plbase64.h"
 #include "prmem.h"
 
 #include "nsIPrivateBrowsingService.h"
 
-#ifdef MOZ_IPC
 #include "ContentChild.h"
 #include "nsXULAppAPI.h"
 #include "nsPIDOMWindow.h"
 #include "nsIDocShellTreeOwner.h"
 #include "nsIDocShellTreeItem.h"
 #include "ExternalHelperAppChild.h"
-#endif
 
 #ifdef ANDROID
 #include "AndroidBridge.h"
 #endif
 
 // Buffer file writes in 32kb chunks
 #define BUFFERED_OUTPUT_SIZE (1024 * 32)
 
@@ -701,17 +697,16 @@ NS_IMETHODIMP nsExternalHelperAppService
   nsresult rv;
 
   // Get the file extension and name that we will need later
   nsCOMPtr<nsIChannel> channel = do_QueryInterface(aRequest);
   nsCOMPtr<nsIURI> uri;
   if (channel)
     channel->GetURI(getter_AddRefs(uri));
 
-#ifdef MOZ_IPC
   PRInt64 contentLength = GetContentLengthAsInt64(aRequest);
   if (XRE_GetProcessType() == GeckoProcessType_Content) {
     // We need to get a hold of a ContentChild so that we can begin forwarding
     // this data to the parent.  In the HTTP case, this is unfortunate, since
     // we're actually passing data from parent->child->parent wastefully, but
     // the Right Fix will eventually be to short-circuit those channels on the
     // parent side based on some sort of subscription concept.
     using mozilla::dom::ContentChild;
@@ -746,17 +741,16 @@ NS_IMETHODIMP nsExternalHelperAppService
                                reason, aForceSave);
     if (!handler)
       return NS_ERROR_OUT_OF_MEMORY;
     
     childListener->SetHandler(handler);
 
     return NS_OK;
   }
-#endif // MOZ_IPC
 
   if (channel) {
     // Check if we have a POST request, in which case we don't want to use
     // the url's extension
     PRBool allowURLExt = PR_TRUE;
     nsCOMPtr<nsIHttpChannel> httpChan = do_QueryInterface(channel);
     if (httpChan) {
       nsCAutoString requestMethod;
@@ -986,22 +980,20 @@ static const char kExternalProtocolPrefP
 static const char kExternalProtocolDefaultPref[] = "network.protocol-handler.external-default";
 
 NS_IMETHODIMP 
 nsExternalHelperAppService::LoadURI(nsIURI *aURI,
                                     nsIInterfaceRequestor *aWindowContext)
 {
   NS_ENSURE_ARG_POINTER(aURI);
 
-#ifdef MOZ_IPC
   if (XRE_GetProcessType() == GeckoProcessType_Content) {
     mozilla::dom::ContentChild::GetSingleton()->SendLoadURIExternal(aURI);
     return NS_OK;
   }
-#endif
 
   nsCAutoString spec;
   aURI->GetSpec(spec);
 
   if (spec.Find("%00") != -1)
     return NS_ERROR_MALFORMED_URI;
 
   spec.ReplaceSubstring("\"", "%22");
@@ -1654,22 +1646,20 @@ NS_IMETHODIMP nsExternalAppHandler::OnSt
           }
         }
       }    
     }
 
     encChannel->SetApplyConversion( applyConversion );
   }
 
-#ifdef MOZ_IPC
   // At this point, the child process has done everything it can usefully do
   // for OnStartRequest.
   if (XRE_GetProcessType() == GeckoProcessType_Content)
      return NS_OK;
-#endif
 
   rv = SetUpTempFile(aChannel);
   if (NS_FAILED(rv)) {
     mCanceled = PR_TRUE;
     request->Cancel(rv);
     nsAutoString path;
     if (mTempFile)
       mTempFile->GetPath(path);
@@ -1902,20 +1892,17 @@ void nsExternalAppHandler::SendStatusCha
             if(NS_SUCCEEDED(bundle->FormatStringFromName(msgId.get(), strings, 1, getter_Copies(msgText))))
             {
               if (mWebProgressListener)
               {
                 // We have a listener, let it handle the error.
                 mWebProgressListener->OnStatusChange(nsnull, (type == kReadError) ? aRequest : nsnull, rv, msgText);
               }
               else
-#ifdef MOZ_IPC
-              if (XRE_GetProcessType() == GeckoProcessType_Default)
-#endif
-              {
+              if (XRE_GetProcessType() == GeckoProcessType_Default) {
                 // We don't have a listener.  Simply show the alert ourselves.
                 nsCOMPtr<nsIPrompt> prompter(do_GetInterface(mWindowContext));
                 nsXPIDLString title;
                 bundle->FormatStringFromName(NS_LITERAL_STRING("title").get(),
                                              strings,
                                              1,
                                              getter_Copies(title));
                 if (prompter)
--- a/uriloader/exthandler/tests/Makefile.in
+++ b/uriloader/exthandler/tests/Makefile.in
@@ -46,22 +46,20 @@ DIRS += mochitest \
         $(NULL)
 
 include $(DEPTH)/config/autoconf.mk
 
 MODULE          = test_uriloader_exthandler
 
 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
 
 CPPSRCS =	\
 		WriteArgument.cpp \
 		$(NULL)
 
 SIMPLE_PROGRAMS = $(CPPSRCS:.cpp=$(BIN_SUFFIX))
 
 include $(topsrcdir)/config/config.mk
--- a/uriloader/prefetch/Makefile.in
+++ b/uriloader/prefetch/Makefile.in
@@ -41,38 +41,32 @@ srcdir		= @srcdir@
 VPATH		= @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
 MODULE		= prefetch
 LIBRARY_NAME	= prefetch_s
 LIBXUL_LIBRARY	= 1
 
-ifdef MOZ_IPC
 EXPORTS_NAMESPACES = mozilla/docshell
 
 EXPORTS_mozilla/docshell += \
   OfflineCacheUpdateParent.h \
   OfflineCacheUpdateChild.h  \
   $(NULL)
-endif
 
 CPPSRCS = \
 		nsPrefetchService.cpp \
 		nsOfflineCacheUpdate.cpp \
 		nsOfflineCacheUpdateService.cpp  \
 		OfflineCacheUpdateGlue.cpp \
+		OfflineCacheUpdateChild.cpp \
+		OfflineCacheUpdateParent.cpp \
 		$(NULL)
 
-ifdef MOZ_IPC
-CPPSRCS += \
-		OfflineCacheUpdateChild.cpp \
-		OfflineCacheUpdateParent.cpp
-endif
-
 XPIDLSRCS =	\
 		nsIPrefetchService.idl \
 		nsIOfflineCacheUpdate.idl \
 		$(NULL)
 
 EXPORTS = \
 		nsCPrefetchService.h \
 		$(NULL)
--- a/uriloader/prefetch/OfflineCacheUpdateChild.cpp
+++ b/uriloader/prefetch/OfflineCacheUpdateChild.cpp
@@ -375,19 +375,17 @@ OfflineCacheUpdateChild::RemoveObserver(
     return NS_OK;
 }
 
 NS_IMETHODIMP
 OfflineCacheUpdateChild::Schedule()
 {
     LOG(("OfflineCacheUpdateChild::Schedule [%p]", this));
 
-#ifdef MOZ_IPC
     NS_ASSERTION(mWindow, "Window must be provided to the offline cache update child");
-#endif
 
     nsCOMPtr<nsPIDOMWindow> piWindow = 
         do_QueryInterface(mWindow);
     mWindow = nsnull;
 
     nsIDocShell *docshell = piWindow->GetDocShell();
 
     nsCOMPtr<nsIDocShellTreeItem> item = do_QueryInterface(docshell);
--- a/uriloader/prefetch/nsOfflineCacheUpdate.cpp
+++ b/uriloader/prefetch/nsOfflineCacheUpdate.cpp
@@ -67,19 +67,17 @@
 #include "nsNetUtil.h"
 #include "nsServiceManagerUtils.h"
 #include "nsStreamUtils.h"
 #include "nsThreadUtils.h"
 #include "nsProxyRelease.h"
 #include "prlog.h"
 #include "nsIAsyncVerifyRedirectCallback.h"
 
-#ifdef MOZ_IPC
 #include "nsXULAppAPI.h"
-#endif
 
 static const PRUint32 kRescheduleLimit = 3;
 
 #if defined(PR_LOGGING)
 //
 // To enable logging (see prlog.h for full details):
 //
 //    set NSPR_LOG_MODULES=nsOfflineCacheUpdate:5
@@ -1953,20 +1951,18 @@ nsOfflineCacheUpdate::AddURI(nsIURI *aUR
     mAddedItems = PR_TRUE;
 
     return NS_OK;
 }
 
 NS_IMETHODIMP
 nsOfflineCacheUpdate::AddDynamicURI(nsIURI *aURI)
 {
-#if defined(MOZ_IPC)
     if (GeckoProcessType_Default != XRE_GetProcessType()) 
         return NS_ERROR_NOT_IMPLEMENTED;
-#endif
 
     // If this is a partial update and the resource is already in the
     // cache, we should only mark the entry, not fetch it again.
     if (mPartialUpdate) {
         nsCAutoString key;
         GetCacheKey(aURI, key);
 
         PRUint32 types;
--- a/uriloader/prefetch/nsOfflineCacheUpdateService.cpp
+++ b/uriloader/prefetch/nsOfflineCacheUpdateService.cpp
@@ -31,21 +31,19 @@
  * use your version of this file under the terms of the MPL, indicate your
  * decision by deleting the provisions above and replace them with the notice
  * and other provisions required by the GPL or the LGPL. If you do not delete
  * the provisions above, a recipient may use your version of this file under
  * the terms of any one of the MPL, the GPL or the LGPL.
  *
  * ***** END LICENSE BLOCK ***** */
 
-#ifdef MOZ_IPC
 #include "OfflineCacheUpdateChild.h"
 #include "OfflineCacheUpdateParent.h"
 #include "nsXULAppAPI.h"
-#endif
 #include "OfflineCacheUpdateGlue.h"
 #include "nsOfflineCacheUpdate.h"
 
 #include "nsCPrefetchService.h"
 #include "nsCURILoader.h"
 #include "nsIApplicationCacheContainer.h"
 #include "nsIApplicationCacheChannel.h"
 #include "nsIApplicationCacheService.h"
@@ -74,20 +72,18 @@
 #include "nsStreamUtils.h"
 #include "nsThreadUtils.h"
 #include "nsProxyRelease.h"
 #include "prlog.h"
 #include "nsIAsyncVerifyRedirectCallback.h"
 
 static nsOfflineCacheUpdateService *gOfflineCacheUpdateService = nsnull;
 
-#ifdef MOZ_IPC
 typedef mozilla::docshell::OfflineCacheUpdateParent OfflineCacheUpdateParent;
 typedef mozilla::docshell::OfflineCacheUpdateChild OfflineCacheUpdateChild;
-#endif
 typedef mozilla::docshell::OfflineCacheUpdateGlue OfflineCacheUpdateGlue;
 
 #if defined(PR_LOGGING)
 //
 // To enable logging (see prlog.h for full details):
 //
 //    set NSPR_LOG_MODULES=nsOfflineCacheUpdate:5
 //    set NSPR_LOG_FILE=offlineupdate.log
@@ -469,23 +465,20 @@ nsOfflineCacheUpdateService::FindUpdate(
 nsresult
 nsOfflineCacheUpdateService::Schedule(nsIURI *aManifestURI,
                                       nsIURI *aDocumentURI,
                                       nsIDOMDocument *aDocument,
                                       nsIDOMWindow* aWindow,
                                       nsIOfflineCacheUpdate **aUpdate)
 {
     nsCOMPtr<nsIOfflineCacheUpdate> update;
-#ifdef MOZ_IPC
     if (GeckoProcessType_Default != XRE_GetProcessType()) {
         update = new OfflineCacheUpdateChild(aWindow);
     }
-    else
-#endif
-    {
+    else {
         update = new OfflineCacheUpdateGlue();
     }
 
     nsresult rv;
 
     rv = update->Init(aManifestURI, aDocumentURI, aDocument);
     NS_ENSURE_SUCCESS(rv, rv);
 
--- a/widget/public/nsGUIEvent.h
+++ b/widget/public/nsGUIEvent.h
@@ -56,24 +56,22 @@
 #include "nsWeakPtr.h"
 #include "nsIWidget.h"
 #include "nsTArray.h"
 #include "nsTraceRefcnt.h"
 #include "nsITransferable.h"
 #include "nsIVariant.h"
 #include "nsStyleConsts.h"
 
-#ifdef MOZ_IPC
 namespace mozilla {
 namespace dom {
   class PBrowserParent;
   class PBrowserChild;
 }
 }
-#endif // MOZ_IPC
 
 #ifdef ACCESSIBILITY
 class nsAccessible;
 #endif
 class nsIRenderingContext;
 class nsIMenuItem;
 class nsIContent;
 class nsIURI;
@@ -539,21 +537,19 @@ protected:
       refPoint(0, 0),
       time(0),
       flags(isTrusted ? NS_EVENT_FLAG_TRUSTED : NS_EVENT_FLAG_NONE),
       userType(0)
   {
     MOZ_COUNT_CTOR(nsEvent);
   }
 
-#ifdef MOZ_IPC
   nsEvent()
   {
   }
-#endif // MOZ_IPC
 
 public:
   nsEvent(PRBool isTrusted, PRUint32 msg)
     : eventStructType(NS_EVENT),
       message(msg),
       refPoint(0, 0),
       time(0),
       flags(isTrusted ? NS_EVENT_FLAG_TRUSTED : NS_EVENT_FLAG_NONE),
@@ -596,22 +592,20 @@ class nsGUIEvent : public nsEvent
 {
 protected:
   nsGUIEvent(PRBool isTrusted, PRUint32 msg, nsIWidget *w, PRUint8 structType)
     : nsEvent(isTrusted, msg, structType),
       widget(w), pluginEvent(nsnull)
   {
   }
 
-#ifdef MOZ_IPC
   nsGUIEvent()
     : pluginEvent(nsnull)
   {
   }
-#endif // MOZ_IPC
 
 public:
   nsGUIEvent(PRBool isTrusted, PRUint32 msg, nsIWidget *w)
     : nsEvent(isTrusted, msg, NS_GUI_EVENT),
       widget(w), pluginEvent(nsnull)
   {
   }
 
@@ -767,21 +761,19 @@ class nsInputEvent : public nsGUIEvent
 protected:
   nsInputEvent(PRBool isTrusted, PRUint32 msg, nsIWidget *w,
                PRUint8 structType)
     : nsGUIEvent(isTrusted, msg, w, structType),
       isShift(PR_FALSE), isControl(PR_FALSE), isAlt(PR_FALSE), isMeta(PR_FALSE)
   {
   }
 
-#ifdef MOZ_IPC
   nsInputEvent()
   {
   }
-#endif // MOZ_IPC
 
 public:
   nsInputEvent(PRBool isTrusted, PRUint32 msg, nsIWidget *w)
     : nsGUIEvent(isTrusted, msg, w, NS_INPUT_EVENT),
       isShift(PR_FALSE), isControl(PR_FALSE), isAlt(PR_FALSE), isMeta(PR_FALSE)
   {
   }
 
@@ -1069,28 +1061,26 @@ struct nsTextRange
 
   nsTextRangeStyle mRangeStyle;
 };
 
 typedef nsTextRange* nsTextRangeArray;
 
 class nsTextEvent : public nsInputEvent
 {
-#ifdef MOZ_IPC
 private:
   friend class mozilla::dom::PBrowserParent;
   friend class mozilla::dom::PBrowserChild;
 
   nsTextEvent()
   {
   }
 
 public:
   PRUint32 seqno;
-#endif // MOZ_IPC
 
 public:
   nsTextEvent(PRBool isTrusted, PRUint32 msg, nsIWidget *w)
     : nsInputEvent(isTrusted, msg, w, NS_TEXT_EVENT),
       rangeCount(0), rangeArray(nsnull), isChar(PR_FALSE)
   {
   }
 
@@ -1100,28 +1090,26 @@ public:
   // case there will be no range of type NS_TEXTRANGE_CARETPOSITION in the
   // array.
   nsTextRangeArray  rangeArray;
   PRBool            isChar;
 };
 
 class nsCompositionEvent : public nsInputEvent
 {
-#ifdef MOZ_IPC
 private:
   friend class mozilla::dom::PBrowserParent;
   friend class mozilla::dom::PBrowserChild;
 
   nsCompositionEvent()
   {
   }
 
 public:
   PRUint32 seqno;
-#endif // MOZ_IPC
 
 public:
   nsCompositionEvent(PRBool isTrusted, PRUint32 msg, nsIWidget *w)
     : nsInputEvent(isTrusted, msg, w, NS_COMPOSITION_EVENT)
   {
   }
 };
 
@@ -1230,27 +1218,25 @@ public:
     panDirection(ePanNone),
     displayPanFeedback(PR_FALSE)
   {
   }
 };
 
 class nsQueryContentEvent : public nsGUIEvent
 {
-#ifdef MOZ_IPC
 private:
   friend class mozilla::dom::PBrowserParent;
   friend class mozilla::dom::PBrowserChild;
 
   nsQueryContentEvent()
   {
     mReply.mContentsRoot = nsnull;
     mReply.mFocusedWidget = nsnull;
   }
-#endif // MOZ_IPC
 
 public:
   nsQueryContentEvent(PRBool aIsTrusted, PRUint32 aMsg, nsIWidget *aWidget) :
     nsGUIEvent(aIsTrusted, aMsg, aWidget, NS_QUERY_CONTENT_EVENT),
     mSucceeded(PR_FALSE), mWasAsync(PR_FALSE)
   {
   }
 
@@ -1334,28 +1320,26 @@ public:
   }
 
   PRPackedBool fromRaise;
   PRPackedBool isRefocus;
 };
 
 class nsSelectionEvent : public nsGUIEvent
 {
-#ifdef MOZ_IPC
 private:
   friend class mozilla::dom::PBrowserParent;
   friend class mozilla::dom::PBrowserChild;
 
   nsSelectionEvent()
   {
   }
 
 public:
   PRUint32 seqno;
-#endif // MOZ_IPC
 
 public:
   nsSelectionEvent(PRBool aIsTrusted, PRUint32 aMsg, nsIWidget *aWidget) :
     nsGUIEvent(aIsTrusted, aMsg, aWidget, NS_SELECTION_EVENT),
     mExpandToClusterBoundary(PR_TRUE), mSucceeded(PR_FALSE)
   {
   }
 
--- a/widget/public/nsIWidget.h
+++ b/widget/public/nsIWidget.h
@@ -69,21 +69,19 @@ class   imgIContainer;
 class   gfxASurface;
 class   nsIContent;
 class   ViewWrapper;
 
 namespace mozilla {
 namespace layers {
 class LayerManager;
 }
-#ifdef MOZ_IPC
 namespace dom {
 class PBrowserChild;
 }
-#endif
 }
 
 /**
  * Callback function that processes events.
  *
  * The argument is actually a subtype (subclass) of nsEvent which carries
  * platform specific information about the event. Platform specific code
  * knows how to deal with it.
@@ -243,20 +241,18 @@ struct IMEContext {
 };
 
 
 /**
  * The base class for all the widgets. It provides the interface for
  * all basic and necessary functionality.
  */
 class nsIWidget : public nsISupports {
-#ifdef MOZ_IPC
   protected:
     typedef mozilla::dom::PBrowserChild PBrowserChild;
-#endif
 
   public:
     typedef mozilla::layers::LayerManager LayerManager;
 
     // Used in UpdateThemeGeometries.
     struct ThemeGeometry {
       // The -moz-appearance value for the themed widget
       PRUint8 mWidgetType;
@@ -1382,37 +1378,31 @@ class nsIWidget : public nsISupports {
      * Return true if this process shouldn't use platform widgets, and
      * so should use PuppetWidgets instead.  If this returns true, the
      * result of creating and using a platform widget is undefined,
      * and likely to end in crashes or other buggy behavior.
      */
     static bool
     UsePuppetWidgets()
     {
-#ifdef MOZ_IPC
       return XRE_GetProcessType() == GeckoProcessType_Content;
-#else
-      return PR_FALSE;
-#endif
     }
 
-#ifdef MOZ_IPC
     /**
      * Allocate and return a "puppet widget" that doesn't directly
      * correlate to a platform widget; platform events and data must
      * be fed to it.  Currently used in content processes.  NULL is
      * returned if puppet widgets aren't supported in this build
      * config, on this platform, or for this process type.
      *
      * This function is called "Create" to match CreateInstance().
      * The returned widget must still be nsIWidget::Create()d.
      */
     static already_AddRefed<nsIWidget>
     CreatePuppetWidget(PBrowserChild *aTabChild);
-#endif
 
     /**
      * Reparent this widget's native widget.
      * @param aNewParent the native widget of aNewParent is the new native
      *                   parent widget
      */
     NS_IMETHOD ReparentNativeWidget(nsIWidget* aNewParent) = 0;
 protected:
--- a/widget/src/android/AndroidBridge.cpp
+++ b/widget/src/android/AndroidBridge.cpp
@@ -32,19 +32,17 @@
  * and other provisions required by the GPL or the LGPL. If you do not delete
  * the provisions above, a recipient may use your version of this file under
  * the terms of any one of the MPL, the GPL or the LGPL.
  *
  * ***** END LICENSE BLOCK ***** */
 
 #include <android/log.h>
 
-#ifdef MOZ_IPC
 #include "nsXULAppAPI.h"
-#endif
 #include <pthread.h>
 #include <prthread.h>
 #include "nsXPCOMStrings.h"
 
 #include "AndroidBridge.h"
 #include "nsAppShell.h"
 #include "nsOSHelperAppService.h"
 
--- a/widget/src/android/nsWidgetFactory.cpp
+++ b/widget/src/android/nsWidgetFactory.cpp
@@ -53,20 +53,18 @@
 #include "nsClipboardHelper.h"
 #include "nsTransferable.h"
 #include "nsPrintOptionsAndroid.h"
 #include "nsPrintSession.h"
 #include "nsDeviceContextAndroid.h"
 #include "nsFilePicker.h"
 #include "nsHTMLFormatConverter.h"
 #include "nsIMEPicker.h"
-#ifdef MOZ_IPC
 #include "nsFilePickerProxy.h"
 #include "nsXULAppAPI.h"
-#endif
 
 NS_GENERIC_FACTORY_CONSTRUCTOR(nsToolkit)
 NS_GENERIC_FACTORY_CONSTRUCTOR(nsWindow)
 NS_GENERIC_FACTORY_CONSTRUCTOR(nsLookAndFeel)
 NS_GENERIC_FACTORY_CONSTRUCTOR(nsScreenManagerAndroid)
 NS_GENERIC_FACTORY_CONSTRUCTOR(nsIdleServiceAndroid)
 NS_GENERIC_FACTORY_CONSTRUCTOR(nsTransferable)
 NS_GENERIC_FACTORY_CONSTRUCTOR(nsClipboard)
@@ -86,26 +84,24 @@ NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(GfxI
 }
 
 static nsresult
 nsFilePickerConstructor(nsISupports *aOuter, REFNSIID aIID,
                         void **aResult)
 {
   *aResult = nsnull;
   if (aOuter != nsnull) {
-      return NS_ERROR_NO_AGGREGATION;
+    return NS_ERROR_NO_AGGREGATION;
   }
   nsCOMPtr<nsIFilePicker> picker;
-  
-#ifdef MOZ_IPC
-    if (XRE_GetProcessType() == GeckoProcessType_Content)
-        picker = new nsFilePickerProxy();
-    else 
-#endif
-        picker = new nsFilePicker;
+
+  if (XRE_GetProcessType() == GeckoProcessType_Content)
+    picker = new nsFilePickerProxy();
+  else
+    picker = new nsFilePicker;
 
   return picker->QueryInterface(aIID, aResult);
 }
 
 NS_DEFINE_NAMED_CID(NS_TOOLKIT_CID);
 NS_DEFINE_NAMED_CID(NS_APPSHELL_CID);
 NS_DEFINE_NAMED_CID(NS_WINDOW_CID);
 NS_DEFINE_NAMED_CID(NS_CHILD_CID);
--- a/widget/src/android/nsWindow.cpp
+++ b/widget/src/android/nsWindow.cpp
@@ -35,25 +35,23 @@
  * the provisions above, a recipient may use your version of this file under
  * the terms of any one of the MPL, the GPL or the LGPL.
  *
  * ***** END LICENSE BLOCK ***** */
 
 #include <android/log.h>
 #include <math.h>
 
-#ifdef MOZ_IPC
 #include "mozilla/dom/ContentParent.h"
 #include "mozilla/dom/ContentChild.h"
 #include "mozilla/unused.h"
 
 using mozilla::dom::ContentParent;
 using mozilla::dom::ContentChild;
 using mozilla::unused;
-#endif
 
 #include "nsAppShell.h"
 #include "nsIdleService.h"
 #include "nsWindow.h"
 #include "nsIObserverService.h"
 
 #include "nsIDeviceContext.h"
 #include "nsIRenderingContext.h"
@@ -79,17 +77,16 @@ using mozilla::unused;
 using namespace mozilla;
 
 NS_IMPL_ISUPPORTS_INHERITED0(nsWindow, nsBaseWidget)
 
 // The dimensions of the current android view
 static gfxIntSize gAndroidBounds;
 static gfxIntSize gAndroidScreenBounds;
 
-#ifdef MOZ_IPC
 class ContentCreationNotifier;
 static nsCOMPtr<ContentCreationNotifier> gContentCreationNotifier;
 // A helper class to send updates when content processes
 // are created. Currently an update for the screen size is sent.
 class ContentCreationNotifier : public nsIObserver
 {
     NS_DECL_ISUPPORTS
 
@@ -114,17 +111,16 @@ class ContentCreationNotifier : public n
         }
 
         return NS_OK;
     }
 };
 
 NS_IMPL_ISUPPORTS1(ContentCreationNotifier,
                    nsIObserver)
-#endif
 
 static PRBool gMenu;
 static PRBool gMenuConsumed;
 
 // All the toplevel windows that have been created; these are in
 // stacking order, so the window at gAndroidBounds[0] is the topmost
 // one.
 static nsTArray<nsWindow*> gTopLevelWindows;
@@ -766,17 +762,16 @@ nsWindow::OnGlobalAndroidEvent(AndroidGe
 
             if (newScreenWidth == gAndroidScreenBounds.width &&
                 newScreenHeight == gAndroidScreenBounds.height)
                 break;
 
             gAndroidScreenBounds.width = newScreenWidth;
             gAndroidScreenBounds.height = newScreenHeight;
 
-#ifdef MOZ_IPC
             if (XRE_GetProcessType() != GeckoProcessType_Default)
                 break;
 
             // Tell the content process the new screen size.
             ContentParent *cp = ContentParent::GetSingleton(PR_FALSE);
             if (cp)
                 unused << cp->SendScreenSizeChanged(gAndroidScreenBounds);
 
@@ -791,17 +786,16 @@ nsWindow::OnGlobalAndroidEvent(AndroidGe
 
             nsCOMPtr<ContentCreationNotifier> notifier = new ContentCreationNotifier;
             if (NS_SUCCEEDED(obs->AddObserver(notifier, "ipc:content-created", PR_FALSE))) {
                 if (NS_SUCCEEDED(obs->AddObserver(notifier, "xpcom-shutdown", PR_FALSE)))
                     gContentCreationNotifier = notifier;
                 else
                     obs->RemoveObserver(notifier, "ipc:content-created");
             }
-#endif
         }
 
         case AndroidGeckoEvent::MOTION_EVENT: {
             win->UserActivity();
             if (!gTopLevelWindows.IsEmpty()) {
                 nsIntPoint pt(ae->P0());
                 pt.x = NS_MIN(NS_MAX(pt.x, 0), gAndroidBounds.width - 1);
                 pt.y = NS_MIN(NS_MAX(pt.y, 0), gAndroidBounds.height - 1);
@@ -1070,21 +1064,19 @@ nsWindow::InitEvent(nsGUIEvent& event, n
     }
 
     event.time = PR_Now() / 1000;
 }
 
 gfxIntSize
 nsWindow::GetAndroidScreenBounds()
 {
-#ifdef MOZ_IPC
     if (XRE_GetProcessType() == GeckoProcessType_Content) {
         return ContentChild::GetSingleton()->GetScreenSize();
     }
-#endif
     return gAndroidScreenBounds;
 }
 
 void *
 nsWindow::GetNativeData(PRUint32 aDataType)
 {
     switch (aDataType) {
         // used by GLContextProviderEGL, NULL is EGL_DEFAULT_DISPLAY
--- a/widget/src/gtk2/nsWindow.h
+++ b/widget/src/gtk2/nsWindow.h
@@ -35,19 +35,17 @@
  * the provisions above, a recipient may use your version of this file under
  * the terms of any one of the MPL, the GPL or the LGPL.
  *
  * ***** END LICENSE BLOCK ***** */
 
 #ifndef __nsWindow_h__
 #define __nsWindow_h__
 
-#ifdef MOZ_IPC
-#  include "mozilla/ipc/SharedMemorySysV.h"
-#endif
+#include "mozilla/ipc/SharedMemorySysV.h"
 
 #include "nsAutoPtr.h"
 
 #include "mozcontainer.h"
 #include "nsWeakReference.h"
 
 #include "nsIDragService.h"
 #include "nsITimer.h"
--- a/widget/src/qt/nsWidgetFactory.cpp
+++ b/widget/src/qt/nsWidgetFactory.cpp
@@ -62,20 +62,18 @@
 #include "nsBidiKeyboard.h"
 #include "nsNativeThemeQt.h"
 #ifdef NS_PRINTING
 #include "nsDeviceContextSpecQt.h"
 #include "nsPrintSession.h"
 #include "nsPrintOptionsQt.h"
 #include "nsPrintDialogQt.h"
 #endif
-#ifdef MOZ_IPC
 #include "nsFilePickerProxy.h"
 #include "nsXULAppAPI.h"
-#endif
 
 // from nsWindow.cpp
 extern PRBool gDisableNativeTheme;
 
 NS_GENERIC_FACTORY_CONSTRUCTOR(nsWindow)
 NS_GENERIC_FACTORY_CONSTRUCTOR(nsChildWindow)
 NS_GENERIC_FACTORY_CONSTRUCTOR(nsPopupWindow)
 NS_GENERIC_FACTORY_CONSTRUCTOR(nsToolkit)
@@ -95,21 +93,19 @@ nsFilePickerConstructor(nsISupports *aOu
                         void **aResult)
 {
   *aResult = nsnull;
   if (aOuter != nsnull) {
       return NS_ERROR_NO_AGGREGATION;
   }
   nsCOMPtr<nsIFilePicker> picker;
   
-#ifdef MOZ_IPC
     if (XRE_GetProcessType() == GeckoProcessType_Content)
         picker = new nsFilePickerProxy();
     else 
-#endif
         picker = new nsFilePicker;
 
   return picker->QueryInterface(aIID, aResult);
 }
 
 
 #ifdef NS_PRINTING
 NS_GENERIC_FACTORY_CONSTRUCTOR(nsDeviceContextSpecQt)
--- a/widget/src/shared/nsShmImage.h
+++ b/widget/src/shared/nsShmImage.h
@@ -36,19 +36,17 @@
  * the provisions above, a recipient may use your version of this file under
  * the terms of any one of the MPL, the GPL or the LGPL.
  *
  * ***** END LICENSE BLOCK ***** */
 
 #ifndef __mozilla_widget_nsShmImage_h__
 #define __mozilla_widget_nsShmImage_h__
 
-#ifdef MOZ_IPC
-#  include "mozilla/ipc/SharedMemorySysV.h"
-#endif
+#include "mozilla/ipc/SharedMemorySysV.h"
 
 #if defined(MOZ_X11) && defined(MOZ_HAVE_SHAREDMEMORYSYSV)
 #  define MOZ_HAVE_SHMIMAGE
 #endif
 
 #ifdef MOZ_HAVE_SHMIMAGE
 
 #include "nsIWidget.h"
--- a/widget/src/windows/Makefile.in
+++ b/widget/src/windows/Makefile.in
@@ -136,20 +136,18 @@ LOCAL_INCLUDES	= \
 		$(NULL)
 
 FORCE_STATIC_LIB = 1
 
 ifdef WINCE
 EXTRA_DSO_LDOPTS += ddraw.lib
 endif
 
-ifdef MOZ_IPC
 include $(topsrcdir)/config/config.mk
 include $(topsrcdir)/ipc/chromium/chromium-config.mk
-endif
 
 ifdef ENABLE_TESTS
 TOOL_DIRS  += tests
 endif
 
 include $(topsrcdir)/config/rules.mk
 
 CXXFLAGS += $(MOZ_CAIRO_CFLAGS)
--- a/widget/src/windows/nsWindow.cpp
+++ b/widget/src/windows/nsWindow.cpp
@@ -99,19 +99,17 @@
  **
  ** BLOCK: Includes
  **
  ** Include headers.
  **
  **************************************************************
  **************************************************************/
 
-#ifdef MOZ_IPC
 #include "mozilla/ipc/RPCChannel.h"
-#endif
 
 #include "nsWindow.h"
 
 #include <windows.h>
 #include <process.h>
 #include <commctrl.h>
 #include <unknwn.h>
 
@@ -307,22 +305,20 @@ TriStateBool nsWindow::sHasBogusPopupsDr
 #ifdef ACCESSIBILITY
 BOOL            nsWindow::sIsAccessibilityOn      = FALSE;
 // Accessibility wm_getobject handler
 HINSTANCE       nsWindow::sAccLib                 = 0;
 LPFNLRESULTFROMOBJECT 
                 nsWindow::sLresultFromObject      = 0;
 #endif // ACCESSIBILITY
 
-#ifdef MOZ_IPC
 // Used in OOPP plugin focus processing.
 const PRUnichar* kOOPPPluginFocusEventId   = L"OOPP Plugin Focus Widget Event";
 PRUint32        nsWindow::sOOPPPluginFocusEvent   =
                   RegisterWindowMessageW(kOOPPPluginFocusEventId);
-#endif
 
 MSG             nsWindow::sRedirectedKeyDown;
 
 /**************************************************************
  *
  * SECTION: globals variables
  *
  **************************************************************/
@@ -4398,18 +4394,16 @@ PRBool nsWindow::ConvertStatus(nsEventSt
 /**************************************************************
  *
  * SECTION: IPC
  *
  * IPC related helpers.
  *
  **************************************************************/
 
-#ifdef MOZ_IPC
-
 // static
 bool
 nsWindow::IsAsyncResponseEvent(UINT aMsg, LRESULT& aResult)
 {
   switch(aMsg) {
     case WM_SETFOCUS:
     case WM_KILLFOCUS:
     case WM_ENABLE:
@@ -4509,18 +4503,16 @@ nsWindow::IPCWindowProcHandler(UINT& msg
   }
 
   if (handled &&
       (InSendMessageEx(NULL)&(ISMEX_REPLIED|ISMEX_SEND)) == ISMEX_SEND) {
     ReplyMessage(dwResult);
   }
 }
 
-#endif // MOZ_IPC
-
 /**************************************************************
  **************************************************************
  **
  ** BLOCK: Native events
  **
  ** Main Windows message handlers and OnXXX handlers for
  ** Windows event handling.
  **
@@ -4601,20 +4593,18 @@ LRESULT CALLBACK nsWindow::WindowProcInt
       WNDPROC prevWindowProc = (WNDPROC)::GetWindowLongPtr(hWnd, GWLP_USERDATA);
       return ::CallWindowProcW(prevWindowProc, hWnd, msg, wParam, lParam);
     }
   }
 
   // Get the window which caused the event and ask it to process the message
   nsWindow *someWindow = GetNSWindowPtr(hWnd);
 
-#ifdef MOZ_IPC
   if (someWindow)
     someWindow->IPCWindowProcHandler(msg, wParam, lParam);
-#endif
 
   // create this here so that we store the last rolled up popup until after
   // the event has been processed.
   nsAutoRollup autoRollup;
 
   LRESULT popupHandlingResult;
   if (DealWithPopups(hWnd, msg, wParam, lParam, &popupHandlingResult))
     return popupHandlingResult;
@@ -5789,32 +5779,30 @@ PRBool nsWindow::ProcessMessage(UINT msg
       if (msg == WM_USER_TSF_TEXTCHANGE) {
         nsTextStore::OnTextChangeMsg();
       }
 #endif //NS_ENABLE_TSF
 #if MOZ_WINSDK_TARGETVER >= MOZ_NTDDI_WIN7
       if (msg == nsAppShell::GetTaskbarButtonCreatedMessage())
         SetHasTaskbarIconBeenCreated();
 #endif
-#ifdef MOZ_IPC
       if (msg == sOOPPPluginFocusEvent) {
         if (wParam == 1) {
           // With OOPP, the plugin window exists in another process and is a child of
           // this window. This window is a placeholder plugin window for the dom. We
           // receive this event when the child window receives focus. (sent from
           // PluginInstanceParent.cpp)
           ::SendMessage(mWnd, WM_MOUSEACTIVATE, 0, 0); // See nsPluginNativeWindowWin.cpp
         } else {
           // WM_KILLFOCUS was received by the child process.
           if (sJustGotDeactivate) {
             DispatchFocusToTopLevelWindow(NS_DEACTIVATE);
           }
         }
       }
-#endif
     }
     break;
   }
 
   //*aRetValue = result;
   if (mWnd) {
     return result;
   }
@@ -6770,21 +6758,19 @@ PRBool nsWindow::OnMouseWheel(UINT msg, 
 
   if (!scrollEvent.delta) {
     // We store the wheel delta, and it will be used next wheel message, so,
     // we consume this message actually.  We shouldn't call next wndproc.
     result = PR_TRUE;
     return PR_FALSE; // break
   }
 
-#ifdef MOZ_IPC
   // The event may go to a plug-in which already dispatched this message.
   // Then, the event can cause deadlock.  We should unlock the sender here.
   ::ReplyMessage(isVertical ? 0 : TRUE);
-#endif
 
   // Assume the Control key is down if the Elantech touchpad has sent the
   // mis-ordered WM_KEYDOWN/WM_MOUSEWHEEL messages.  (See the comment in
   // OnKeyUp.)
   PRBool isControl;
   if (mAssumeWheelIsZoomUntil &&
       static_cast<DWORD>(::GetMessageTime()) < mAssumeWheelIsZoomUntil) {
     isControl = PR_TRUE;
@@ -7936,23 +7922,21 @@ PRBool nsWindow::HandleScrollingPlugins(
       nsWindow* parentWindow = GetNSWindowPtr(parentWnd);
       if (parentWindow) {
         // We have a child window - quite possibly a plugin window.
         // However, not all plugins are created equal - some will handle this 
         // message themselves, some will forward directly back to us, while 
         // others will call DefWndProc, which itself still forwards back to us.
         // So if we have sent it once, we need to handle it ourself.
 
-#ifdef MOZ_IPC
         // XXX The message shouldn't come from the plugin window at here.
         // But the message might come from it due to some bugs.  If it happens,
         // SendMessage causes deadlock.  For safety, we should unlock the
         // sender here.
         ::ReplyMessage(aMsg == WM_MOUSEHWHEEL ? TRUE : 0);
-#endif
 
         // First time we have seen this message.
         // Call the child - either it will consume it, or
         // it will wind it's way back to us,triggering the destWnd case above
         // either way,when the call returns,we are all done with the message,
         sIsProcessing = PR_TRUE;
         ::SendMessageW(destWnd, aMsg, aWParam, aLParam);
         sIsProcessing = PR_FALSE;
@@ -8020,21 +8004,19 @@ PRBool nsWindow::OnScroll(UINT aMsg, WPA
       case SB_PAGEUP:
         scrollevent.scrollFlags |= nsMouseScrollEvent::kIsFullPage;
       case SB_LINEUP:
         scrollevent.delta = -1;
         break;
       default:
         return PR_FALSE;
     }
-#ifdef MOZ_IPC
     // The event may go to a plug-in which already dispatched this message.
     // Then, the event can cause deadlock.  We should unlock the sender here.
     ::ReplyMessage(0);
-#endif
     scrollevent.isShift   = IS_VK_DOWN(NS_VK_SHIFT);
     scrollevent.isControl = IS_VK_DOWN(NS_VK_CONTROL);
     scrollevent.isMeta    = PR_FALSE;
     scrollevent.isAlt     = IS_VK_DOWN(NS_VK_ALT);
     InitEvent(scrollevent);
     if (nsnull != mEventCallback)
     {
       DispatchWindowEvent(&scrollevent);
--- a/widget/src/windows/nsWindow.h
+++ b/widget/src/windows/nsWindow.h
@@ -469,20 +469,18 @@ private:
   nsTransparencyMode      GetWindowTranslucencyInner() const { return mTransparencyMode; }
   void                    ResizeTranslucentWindow(PRInt32 aNewWidth, PRInt32 aNewHeight, PRBool force = PR_FALSE);
   nsresult                UpdateTranslucentWindow();
   void                    SetupTranslucentWindowMemoryBitmap(nsTransparencyMode aMode);
   void                    UpdateGlass();
 protected:
 #endif // MOZ_XUL
 
-#ifdef MOZ_IPC
   static bool             IsAsyncResponseEvent(UINT aMsg, LRESULT& aResult);
   void                    IPCWindowProcHandler(UINT& msg, WPARAM& wParam, LPARAM& lParam);
-#endif // MOZ_IPC
 
   /**
    * Misc.
    */
   UINT                    MapFromNativeToDOM(UINT aNativeKeyCode);
   void                    StopFlashing();
   static PRBool           IsTopLevelMouseExit(HWND aWnd);
   static void             SetupKeyModifiersSequence(nsTArray<KeyPair>* aArray, PRUint32 aModifiers);
@@ -546,19 +544,17 @@ protected:
   static const char*    sDefaultMainWindowClass;
   static PRBool         sUseElantechGestureHacks;
   static bool           sAllowD3D9;
 
   // Always use the helper method to read this property.  See bug 603793.
   static TriStateBool   sHasBogusPopupsDropShadowOnMultiMonitor;
   static bool           HasBogusPopupsDropShadowOnMultiMonitor();
 
-#ifdef MOZ_IPC
   static PRUint32       sOOPPPluginFocusEvent;
-#endif
 
   // Non-client margin settings
   // Pre-calculated outward offset applied to default frames
   nsIntMargin           mNonClientOffset;
   // Margins set by the owner
   nsIntMargin           mNonClientMargins;
 
   // Indicates custom frames are enabled
--- a/widget/src/windows/nsWindowGfx.cpp
+++ b/widget/src/windows/nsWindowGfx.cpp
@@ -48,20 +48,18 @@
  **
  ** BLOCK: Includes
  **
  ** Include headers.
  **
  **************************************************************
  **************************************************************/
 
-#ifdef MOZ_IPC
 #include "mozilla/plugins/PluginInstanceParent.h"
 using mozilla::plugins::PluginInstanceParent;
-#endif
 
 #include "nsWindowGfx.h"
 #include <windows.h>
 #include "nsIRegion.h"
 #include "gfxImageSurface.h"
 #include "gfxWindowsSurface.h"
 #include "gfxWindowsPlatform.h"
 #include "nsGfxCIID.h"
@@ -246,17 +244,16 @@ EnsureSharedSurfaceSize(gfxIntSize size)
     sSharedSurfaceData = (PRUint8 *)malloc(WORDSSIZE(sSharedSurfaceSize) * 4);
   }
 
   return (sSharedSurfaceData != nsnull);
 }
 
 PRBool nsWindow::OnPaint(HDC aDC, PRUint32 aNestingLevel)
 {
-#ifdef MOZ_IPC
   // We never have reentrant paint events, except when we're running our RPC
   // windows event spin loop. If we don't trap for this, we'll try to paint,
   // but view manager will refuse to paint the surface, resulting is black
   // flashes on the plugin rendering surface.
   if (mozilla::ipc::RPCChannel::IsSpinLoopActive() && mPainting)
     return PR_FALSE;
 
   if (mWindowType == eWindowType_plugin) {
@@ -280,26 +277,23 @@ PRBool nsWindow::OnPaint(HDC aDC, PRUint
     PluginInstanceParent* instance = reinterpret_cast<PluginInstanceParent*>(
       ::GetPropW(mWnd, L"PluginInstanceParentProperty"));
     if (instance) {
       instance->CallUpdateWindow();
       ValidateRect(mWnd, NULL);
       return PR_TRUE;
     }
   }
-#endif
 
-#ifdef MOZ_IPC
   // We never have reentrant paint events, except when we're running our RPC
   // windows event spin loop. If we don't trap for this, we'll try to paint,
   // but view manager will refuse to paint the surface, resulting is black
   // flashes on the plugin rendering surface.
   if (mozilla::ipc::RPCChannel::IsSpinLoopActive() && mPainting)
     return PR_FALSE;
-#endif
 
   nsPaintEvent willPaintEvent(PR_TRUE, NS_WILL_PAINT, this);
   willPaintEvent.willSendDidPaint = PR_TRUE;
   DispatchWindowEvent(&willPaintEvent);
 
   PRBool result = PR_TRUE;
   PAINTSTRUCT ps;
   nsEventStatus eventStatus = nsEventStatus_eIgnore;
--- a/widget/src/xpwidgets/Makefile.in
+++ b/widget/src/xpwidgets/Makefile.in
@@ -66,24 +66,19 @@ CPPSRCS		= \
 		nsPrintSettingsImpl.cpp \
 		nsPrintSession.cpp \
 		nsWidgetAtoms.cpp \
 		nsIdleService.cpp \
 		nsClipboardPrivacyHandler.cpp \
 		GfxInfoWebGL.cpp \
                 GfxDriverInfo.cpp \
                 GfxInfoBase.cpp \
-		$(NULL)
-
-ifdef MOZ_IPC
-CPPSRCS		+= \
 		PuppetWidget.cpp \
 		nsFilePickerProxy.cpp \
 		$(NULL)
-endif
 
 ifneq (,$(filter os2 cocoa windows,$(MOZ_WIDGET_TOOLKIT)))
 CPPSRCS += nsBaseClipboard.cpp
 endif
 
 ifneq (,$(filter qt gtk2 os2 cocoa windows android,$(MOZ_WIDGET_TOOLKIT)))
 CPPSRCS += nsBaseFilePicker.cpp
 endif
@@ -102,14 +97,12 @@ LOCAL_INCLUDES	+= \
 		-I$(srcdir)/../shared \
 		-I$(srcdir) \
 		$(NULL)
 
 # we don't want the shared lib, but we want to force the creation of a static lib.
 FORCE_STATIC_LIB = 1
 
 include $(topsrcdir)/config/config.mk
-ifdef MOZ_IPC
 include $(topsrcdir)/ipc/chromium/chromium-config.mk
-endif
 include $(topsrcdir)/config/rules.mk
 
 CXXFLAGS	+= $(TK_CFLAGS)
--- a/widget/src/xpwidgets/nsBaseAppShell.cpp
+++ b/widget/src/xpwidgets/nsBaseAppShell.cpp
@@ -37,19 +37,17 @@
  * ***** END LICENSE BLOCK ***** */
 
 #include "nsBaseAppShell.h"
 #include "nsThreadUtils.h"
 #include "nsIObserverService.h"
 #include "nsServiceManagerUtils.h"
 #include "mozilla/Services.h"
 
-#ifdef MOZ_IPC
 #include "base/message_loop.h"
-#endif
 
 // When processing the next thread event, the appshell may process native
 // events (if not in performance mode), which can result in suppressing the
 // next thread event for at most this many ticks:
 #define THREAD_EVENT_STARVATION_LIMIT PR_MillisecondsToInterval(20)
 
 NS_IMPL_THREADSAFE_ISUPPORTS3(nsBaseAppShell, nsIAppShell, nsIThreadObserver,
                               nsIObserver)
@@ -183,37 +181,30 @@ nsBaseAppShell::DoProcessNextNativeEvent
 NS_IMETHODIMP
 nsBaseAppShell::Run(void)
 {
   NS_ENSURE_STATE(!mRunning);  // should not call Run twice
   mRunning = PR_TRUE;
 
   nsIThread *thread = NS_GetCurrentThread();
 
-#ifdef MOZ_IPC
   MessageLoop::current()->Run();
-#else
-  while (!mExiting)
-    NS_ProcessNextEvent(thread);
-#endif
 
   NS_ProcessPendingEvents(thread);
 
   mRunning = PR_FALSE;
   return NS_OK;
 }
 
 NS_IMETHODIMP
 nsBaseAppShell::Exit(void)
 {
-#ifdef MOZ_IPC
   if (mRunning && !mExiting) {
     MessageLoop::current()->Quit();
   }
-#endif
   mExiting = PR_TRUE;
   return NS_OK;
 }
 
 NS_IMETHODIMP
 nsBaseAppShell::FavorPerformanceHint(PRBool favorPerfOverStarvation,
                                      PRUint32 starvationDelay)
 {
--- a/widget/src/xpwidgets/nsBaseWidget.cpp
+++ b/widget/src/xpwidgets/nsBaseWidget.cpp
@@ -896,21 +896,17 @@ LayerManager* nsBaseWidget::GetLayerMana
   if (aAllowRetaining) {
     *aAllowRetaining = (usedLayerManager == mLayerManager);
   }
   return usedLayerManager;
 }
 
 BasicLayerManager* nsBaseWidget::CreateBasicLayerManager()
 {
-#if !defined(MOZ_IPC)
-      return new BasicLayerManager(this);
-#else
       return new BasicShadowLayerManager(this);
-#endif
 }
 
 //-------------------------------------------------------------------------
 //
 // Return the toolkit this widget was created on
 //
 //-------------------------------------------------------------------------
 nsIToolkit* nsBaseWidget::GetToolkit()
--- a/xpcom/base/nsTraceRefcntImpl.cpp
+++ b/xpcom/base/nsTraceRefcntImpl.cpp
@@ -48,25 +48,23 @@
 #include "prlink.h"
 #include <stdlib.h>
 #include "nsCOMPtr.h"
 #include "nsCRT.h"
 #include <math.h>
 #include "nsStackWalk.h"
 #include "nsString.h"
 
-#ifdef MOZ_IPC
 #include "nsXULAppAPI.h"
 #ifdef XP_WIN
 #include <process.h>
 #define getpid _getpid
 #else
 #include <unistd.h>
 #endif
-#endif
 
 #ifdef NS_TRACE_MALLOC
 #include "nsTraceMalloc.h"
 #endif
 
 #include "mozilla/BlockingResourceBase.h"
 
 #ifdef HAVE_DLOPEN
@@ -353,22 +351,18 @@ public:
   }
 
   static PRBool HaveLeaks(nsTraceRefcntStats* stats) {
     return ((stats->mAddRefs != stats->mReleases) ||
             (stats->mCreates != stats->mDestroys));
   }
 
   PRBool PrintDumpHeader(FILE* out, const char* msg, nsTraceRefcntImpl::StatisticsType type) {
-#ifdef MOZ_IPC
     fprintf(out, "\n== BloatView: %s, %s process %d\n", msg,
             XRE_ChildProcessTypeToString(XRE_GetProcessType()), getpid());
-#else
-    fprintf(out, "\n== BloatView: %s\n", msg);
-#endif
     nsTraceRefcntStats& stats =
       (type == nsTraceRefcntImpl::NEW_STATS) ? mNewStats : mAllStats;
     if (gLogLeaksOnly && !HaveLeaks(&stats))
       return PR_FALSE;
 
     fprintf(out,
         "\n" \
         "     |<----------------Class--------------->|<-----Bytes------>|<----------------Objects---------------->|<--------------References-------------->|\n" \
@@ -665,30 +659,28 @@ static PRBool InitLog(const char* envVar
       *result = stderr;
       fprintf(stdout, "### %s defined -- logging %s to stderr\n",
               envVar, msg);
       return PR_TRUE;
     }
     else {
       FILE *stream;
       nsCAutoString fname(value);
-#ifdef MOZ_IPC
       if (XRE_GetProcessType() != GeckoProcessType_Default) {
         bool hasLogExtension = 
             fname.RFind(".log", PR_TRUE, -1, 4) == kNotFound ? false : true;
         if (hasLogExtension)
           fname.Cut(fname.Length() - 4, 4);
         fname.AppendLiteral("_");
         fname.Append((char*)XRE_ChildProcessTypeToString(XRE_GetProcessType()));
         fname.AppendLiteral("_pid");
         fname.AppendInt((PRUint32)getpid());
         if (hasLogExtension)
           fname.AppendLiteral(".log");
       }
-#endif
       stream = ::fopen(fname.get(), "w" FOPEN_NO_INHERIT);
       if (stream != NULL) {
         *result = stream;
         fprintf(stdout, "### %s defined -- logging %s to %s\n",
                 envVar, msg, fname.get());
       }
       else {
         fprintf(stdout, "### %s defined -- unable to log %s to %s\n",
--- a/xpcom/build/nsXPComInit.cpp
+++ b/xpcom/build/nsXPComInit.cpp
@@ -32,19 +32,17 @@
  * use your version of this file under the terms of the MPL, indicate your
  * decision by deleting the provisions above and replace them with the notice
  * and other provisions required by the GPL or the LGPL. If you do not delete
  * the provisions above, a recipient may use your version of this file under
  * the terms of any one of the MPL, the GPL or the LGPL.
  *
  * ***** END LICENSE BLOCK ***** */
 
-#ifdef MOZ_IPC
 #include "base/basictypes.h"
-#endif
 
 #include "mozilla/XPCOM.h"
 #include "nsXULAppAPI.h"
 
 #include "nsXPCOMPrivate.h"
 #include "nsXPCOMCIDInternal.h"
 
 #include "nsStaticComponents.h"
@@ -146,17 +144,16 @@ extern nsresult nsStringInputStreamConst
 
 #include "nsChromeRegistry.h"
 #include "nsChromeProtocolHandler.h"
 
 #ifdef MOZ_ENABLE_LIBXUL
 #include "mozilla/scache/StartupCache.h"
 #endif
 
-#ifdef MOZ_IPC
 #include "base/at_exit.h"
 #include "base/command_line.h"
 #include "base/message_loop.h"
 
 #include "mozilla/ipc/BrowserProcessSubThread.h"
 
 using base::AtExitManager;
 using mozilla::ipc::BrowserProcessSubThread;
@@ -164,17 +161,16 @@ using mozilla::ipc::BrowserProcessSubThr
 namespace {
 
 static AtExitManager* sExitManager;
 static MessageLoop* sMessageLoop;
 static bool sCommandLineWasInitialized;
 static BrowserProcessSubThread* sIOThread;
 
 } /* anonymous namespace */
-#endif
 
 // Registry Factory creation function defined in nsRegistry.cpp
 // We hook into this function locally to create and register the registry
 // Since noone outside xpcom needs to know about this and nsRegistry.cpp
 // does not have a local include file, we are putting this definition
 // here rather than in nsIRegistry.h
 extern nsresult NS_RegistryGetFactory(nsIFactory** aFactory);
 extern nsresult NS_CategoryManagerGetFactory( nsIFactory** );
@@ -363,17 +359,16 @@ NS_InitXPCOM2(nsIServiceManager* *result
 
      // We are not shutting down
     gXPCOMShuttingDown = PR_FALSE;
 
     NS_TIME_FUNCTION_MARK("Next: log init");
 
     NS_LogInit();
 
-#ifdef MOZ_IPC
     NS_TIME_FUNCTION_MARK("Next: IPC init");
 
     // Set up chromium libs
     NS_ASSERTION(!sExitManager && !sMessageLoop, "Bad logic!");
 
     if (!AtExitManager::AlreadyRegistered()) {
         sExitManager = new AtExitManager();
         NS_ENSURE_STATE(sExitManager);
@@ -391,17 +386,16 @@ NS_InitXPCOM2(nsIServiceManager* *result
         NS_ENSURE_TRUE(ioThread.get(), NS_ERROR_OUT_OF_MEMORY);
 
         base::Thread::Options options;
         options.message_loop_type = MessageLoop::TYPE_IO;
         NS_ENSURE_TRUE(ioThread->StartWithOptions(options), NS_ERROR_FAILURE);
 
         sIOThread = ioThread.release();
     }
-#endif
 
     NS_TIME_FUNCTION_MARK("Next: thread manager init");
 
     // Establish the main thread here.
     rv = nsThreadManager::get()->Init();
     if (NS_FAILED(rv)) return rv;
 
     NS_TIME_FUNCTION_MARK("Next: timer startup");
@@ -478,17 +472,16 @@ NS_InitXPCOM2(nsIServiceManager* *result
             rv = file->Append(NS_LITERAL_STRING("omni.jar"));
         if (NS_SUCCEEDED(rv))
             omnijar = do_QueryInterface(file);
         if (NS_SUCCEEDED(rv))
             mozilla::SetOmnijar(omnijar);
     }
 #endif
 
-#ifdef MOZ_IPC
     if ((sCommandLineWasInitialized = !CommandLine::IsInitialized())) {
         NS_TIME_FUNCTION_MARK("Next: IPC command line init");
 
 #ifdef OS_WIN
         CommandLine::Init(0, nsnull);
 #else
         nsCOMPtr<nsIFile> binaryFile;
         nsDirectoryService::gService->Get(NS_XPCOM_CURRENT_PROCESS_DIR, 
@@ -502,17 +495,16 @@ NS_InitXPCOM2(nsIServiceManager* *result
         nsCString binaryPath;
         rv = binaryFile->GetNativePath(binaryPath);
         NS_ENSURE_SUCCESS(rv, rv);
         
         static char const *const argv = { strdup(binaryPath.get()) };
         CommandLine::Init(1, &argv);
 #endif
     }
-#endif
 
     NS_ASSERTION(nsComponentManagerImpl::gComponentManager == NULL, "CompMgr not null at init");
 
     NS_TIME_FUNCTION_MARK("Next: component manager init");
 
     // Create the Component/Service Manager
     nsComponentManagerImpl::gComponentManager = new nsComponentManagerImpl();
     NS_ADDREF(nsComponentManagerImpl::gComponentManager);
@@ -741,34 +733,32 @@ ShutdownXPCOM(nsIServiceManager* servMgr
     nsCategoryManager::Destroy();
 
     ShutdownSpecialSystemDirectory();
 
     NS_PurgeAtomTable();
 
     NS_IF_RELEASE(gDebug);
 
-#ifdef MOZ_IPC
     if (sIOThread) {
         delete sIOThread;
         sIOThread = nsnull;
     }
     if (sMessageLoop) {
         delete sMessageLoop;
         sMessageLoop = nsnull;
     }
     if (sCommandLineWasInitialized) {
         CommandLine::Terminate();
         sCommandLineWasInitialized = false;
     }
     if (sExitManager) {
         delete sExitManager;
         sExitManager = nsnull;
     }
-#endif
 
 #ifdef MOZ_OMNIJAR
     mozilla::SetOmnijar(nsnull);
 #endif
 
     NS_LogTerm();
 
     return NS_OK;
--- a/xpcom/components/ManifestParser.cpp
+++ b/xpcom/components/ManifestParser.cpp
@@ -598,20 +598,18 @@ ParseManifestCommon(NSLocationType aType
         stApp == eBad ||
         stAppVersion == eBad ||
         stOs == eBad ||
         stOsVersion == eBad ||
         stABI == eBad)
       continue;
 
     if (directive->regfunc) {
-#ifdef MOZ_IPC
       if (GeckoProcessType_Default != XRE_GetProcessType())
         continue;
-#endif
 
       if (!nsChromeRegistry::gChromeRegistry) {
         nsCOMPtr<nsIChromeRegistry> cr =
           mozilla::services::GetChromeRegistryService();
         if (!nsChromeRegistry::gChromeRegistry) {
           LogMessageWithContext(aFile, aPath, line,
                                 "Chrome registry isn't available yet.");
           continue;
--- a/xpcom/io/nsMultiplexInputStream.cpp
+++ b/xpcom/io/nsMultiplexInputStream.cpp
@@ -36,20 +36,18 @@
  *
  * ***** END LICENSE BLOCK ***** */
 
 /**
  * The multiplex stream concatenates a list of input streams into a single
  * stream.
  */
 
-#ifdef MOZ_IPC
 #include "IPC/IPCMessageUtils.h"
 #include "mozilla/net/NeckoMessageUtils.h"
-#endif
 
 #include "nsMultiplexInputStream.h"
 #include "nsIMultiplexInputStream.h"
 #include "nsISeekableStream.h"
 #include "nsCOMPtr.h"
 #include "nsCOMArray.h"
 #include "nsIIPCSerializable.h"
 #include "nsIClassInfoImpl.h"
@@ -426,17 +424,16 @@ nsMultiplexInputStreamConstructor(nsISup
     NS_RELEASE(inst);
 
     return rv;
 }
 
 PRBool
 nsMultiplexInputStream::Read(const IPC::Message *aMsg, void **aIter)
 {
-#ifdef MOZ_IPC
     using IPC::ReadParam;
 
     PRUint32 count;
     if (!ReadParam(aMsg, aIter, &count))
         return PR_FALSE;
 
     for (PRUint32 i = 0; i < count; i++) {
         IPC::InputStream inputStream;
@@ -450,32 +447,27 @@ nsMultiplexInputStream::Read(const IPC::
     }
 
     if (!ReadParam(aMsg, aIter, &mCurrentStream) ||
         !ReadParam(aMsg, aIter, &mStartedReadingCurrent) ||
         !ReadParam(aMsg, aIter, &mStatus))
         return PR_FALSE;
 
     return PR_TRUE;
-#else
-    return PR_FALSE;
-#endif
 }
 
 void
 nsMultiplexInputStream::Write(IPC::Message *aMsg)
 {
-#ifdef MOZ_IPC