mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
Backed out changeset a5dbece71e4a due to test failures
This commit is contained in:
parent
1f81122982
commit
61ff9410c4
@ -948,8 +948,10 @@ pref("dom.ipc.plugins.enabled.i386.flash player.plugin", true);
|
||||
pref("dom.ipc.plugins.enabled.i386.javaplugin2_npapi.plugin", true);
|
||||
// x86_64 ipc preferences
|
||||
pref("dom.ipc.plugins.enabled.x86_64", true);
|
||||
#else
|
||||
#elifdef MOZ_IPC
|
||||
pref("dom.ipc.plugins.enabled", true);
|
||||
#else
|
||||
pref("dom.ipc.plugins.enabled", false);
|
||||
#endif
|
||||
|
||||
#ifdef XP_WIN
|
||||
|
@ -94,6 +94,7 @@ DEFINES += -DMOZ_D3DX9_DLL=$(MOZ_D3DX9_DLL)
|
||||
DEFINES += -DMOZ_D3DCOMPILER_DLL=$(MOZ_D3DCOMPILER_DLL)
|
||||
endif
|
||||
|
||||
# Don't ifdef MOZ_IPC this because mac ppc needs it too.
|
||||
include $(topsrcdir)/ipc/app/defs.mk
|
||||
DEFINES += -DMOZ_CHILD_PROCESS_NAME=$(MOZ_CHILD_PROCESS_NAME)
|
||||
|
||||
|
@ -51,11 +51,13 @@
|
||||
#else
|
||||
@BINPATH@/@DLL_PREFIX@xul@DLL_SUFFIX@
|
||||
#endif
|
||||
#ifdef MOZ_IPC
|
||||
#ifdef XP_MACOSX
|
||||
@BINPATH@/@MOZ_CHILD_PROCESS_NAME@.app/
|
||||
#else
|
||||
@BINPATH@/@MOZ_CHILD_PROCESS_NAME@
|
||||
#endif
|
||||
#endif
|
||||
#ifdef WINCE
|
||||
@BINPATH@/mozce_shunt.dll
|
||||
#elifdef XP_WIN32
|
||||
|
@ -58,9 +58,12 @@ CPPSRCS = \
|
||||
nsChromeRegistry.cpp \
|
||||
nsChromeRegistryChrome.cpp \
|
||||
nsChromeProtocolHandler.cpp \
|
||||
nsChromeRegistryContent.cpp \
|
||||
$(NULL)
|
||||
|
||||
ifdef MOZ_IPC
|
||||
CPPSRCS += nsChromeRegistryContent.cpp
|
||||
endif
|
||||
|
||||
EXTRA_DSO_LDOPTS = \
|
||||
$(MOZ_UNICHARUTIL_LIBS) \
|
||||
$(MOZ_COMPONENT_LIBS) \
|
||||
|
@ -41,7 +41,9 @@
|
||||
|
||||
#include "nsChromeRegistry.h"
|
||||
#include "nsChromeRegistryChrome.h"
|
||||
#ifdef MOZ_IPC
|
||||
#include "nsChromeRegistryContent.h"
|
||||
#endif
|
||||
|
||||
#include <string.h>
|
||||
|
||||
@ -675,9 +677,11 @@ nsChromeRegistry::GetSingleton()
|
||||
}
|
||||
|
||||
nsRefPtr<nsChromeRegistry> cr;
|
||||
#ifdef MOZ_IPC
|
||||
if (GeckoProcessType_Content == XRE_GetProcessType())
|
||||
cr = new nsChromeRegistryContent();
|
||||
else
|
||||
#endif
|
||||
cr = new nsChromeRegistryChrome();
|
||||
|
||||
if (NS_FAILED(cr->Init()))
|
||||
|
@ -36,9 +36,11 @@
|
||||
*
|
||||
* ***** END LICENSE BLOCK ***** */
|
||||
|
||||
#ifdef MOZ_IPC
|
||||
#include "mozilla/dom/PContentParent.h"
|
||||
#include "RegistryMessageUtils.h"
|
||||
#include "nsResProtocolHandler.h"
|
||||
#endif
|
||||
|
||||
#include "nsChromeRegistryChrome.h"
|
||||
|
||||
@ -441,6 +443,7 @@ void nsChromeRegistryChrome::UpdateSelectedLocale()
|
||||
}
|
||||
}
|
||||
|
||||
#ifdef MOZ_IPC
|
||||
static void
|
||||
SerializeURI(nsIURI* aURI,
|
||||
SerializedURI& aSerializedURI)
|
||||
@ -538,6 +541,7 @@ nsChromeRegistryChrome::CollectPackages(PLDHashTable *table,
|
||||
args->packages.AppendElement(chromePackage);
|
||||
return (PLDHashOperator)PL_DHASH_NEXT;
|
||||
}
|
||||
#endif
|
||||
|
||||
static PRBool
|
||||
CanLoadResource(nsIURI* aResourceURI)
|
||||
|
@ -75,12 +75,16 @@ class nsChromeRegistryChrome : public nsChromeRegistry
|
||||
nsISimpleEnumerator **_retval);
|
||||
#endif
|
||||
|
||||
#ifdef MOZ_IPC
|
||||
void SendRegisteredChrome(mozilla::dom::PContentParent* aChild);
|
||||
#endif
|
||||
|
||||
private:
|
||||
#ifdef MOZ_IPC
|
||||
static PLDHashOperator CollectPackages(PLDHashTable *table,
|
||||
PLDHashEntryHdr *entry,
|
||||
PRUint32 number, void *arg);
|
||||
#endif
|
||||
|
||||
nsresult SelectLocaleFromPref(nsIPrefBranch* prefs);
|
||||
NS_OVERRIDE void UpdateSelectedLocale();
|
||||
|
@ -47,9 +47,11 @@ MODULE = test_chrome
|
||||
|
||||
XPCSHELL_TESTS = unit \
|
||||
$(NULL)
|
||||
ifdef MOZ_IPC
|
||||
# FIXME/bug 575918: out-of-process xpcshell is broken on OS X
|
||||
ifneq ($(OS_ARCH),Darwin)
|
||||
XPCSHELL_TESTS += unit_ipc
|
||||
endif
|
||||
endif
|
||||
|
||||
include $(topsrcdir)/config/rules.mk
|
||||
|
@ -102,6 +102,7 @@ MOZ_DEBUG_FLAGS = @MOZ_DEBUG_FLAGS@
|
||||
MOZ_DEBUG_LDFLAGS=@MOZ_DEBUG_LDFLAGS@
|
||||
MOZ_EXTENSIONS = @MOZ_EXTENSIONS@
|
||||
MOZ_JSDEBUGGER = @MOZ_JSDEBUGGER@
|
||||
MOZ_IPC = @MOZ_IPC@
|
||||
MOZ_IPDL_TESTS = @MOZ_IPDL_TESTS@
|
||||
MOZ_LEAKY = @MOZ_LEAKY@
|
||||
MOZ_MEMORY = @MOZ_MEMORY@
|
||||
|
16
configure.in
16
configure.in
@ -4950,6 +4950,7 @@ MOZ_BRANDING_DIRECTORY=
|
||||
MOZ_OFFICIAL_BRANDING=
|
||||
MOZ_FEEDS=1
|
||||
MOZ_INSTALLER=1
|
||||
MOZ_IPC=1
|
||||
MOZ_JAVAXPCOM=
|
||||
MOZ_JSDEBUGGER=1
|
||||
MOZ_MATHML=1
|
||||
@ -5821,6 +5822,21 @@ MOZ_ARG_DISABLE_BOOL(jsd,
|
||||
MOZ_JSDEBUGGER=1)
|
||||
|
||||
|
||||
dnl ========================================================
|
||||
dnl = Disable IPC support for tabs and plugins
|
||||
dnl ========================================================
|
||||
MOZ_ARG_DISABLE_BOOL(ipc,
|
||||
[ --disable-ipc Disable IPC for tabs and plugins (not supported)],
|
||||
MOZ_IPC=,
|
||||
MOZ_IPC=1)
|
||||
|
||||
if test -z "$MOZ_IPC"; then
|
||||
AC_MSG_ERROR([--disable-ipc is no longer supported.])
|
||||
fi
|
||||
|
||||
AC_DEFINE(MOZ_IPC)
|
||||
AC_SUBST(MOZ_IPC)
|
||||
|
||||
dnl ========================================================
|
||||
dnl = Enable IPDL's "expensive" unit tests
|
||||
dnl ========================================================
|
||||
|
@ -178,9 +178,14 @@ EXTRA_COMPONENTS = \
|
||||
contentSecurityPolicy.manifest \
|
||||
contentAreaDropListener.js \
|
||||
contentAreaDropListener.manifest \
|
||||
$(NULL)
|
||||
|
||||
ifdef MOZ_IPC
|
||||
EXTRA_COMPONENTS += \
|
||||
messageWakeupService.js \
|
||||
messageWakeupService.manifest \
|
||||
$(NULL)
|
||||
endif
|
||||
|
||||
EXTRA_JS_MODULES = \
|
||||
CSPUtils.jsm \
|
||||
|
@ -8350,10 +8350,12 @@ PLDHashOperator UnlockEnumerator(imgIRequest* aKey,
|
||||
nsresult
|
||||
nsDocument::SetImageLockingState(PRBool aLocked)
|
||||
{
|
||||
#ifdef MOZ_IPC
|
||||
if (XRE_GetProcessType() == GeckoProcessType_Content &&
|
||||
!nsContentUtils::GetBoolPref("content.image.allow_locking", PR_TRUE)) {
|
||||
return NS_OK;
|
||||
}
|
||||
#endif // MOZ_IPC
|
||||
|
||||
// If there's no change, there's nothing to do.
|
||||
if (mLockingImages == aLocked)
|
||||
|
@ -44,7 +44,9 @@
|
||||
* handling of loads in it, recursion-checking).
|
||||
*/
|
||||
|
||||
#include "base/basictypes.h"
|
||||
#ifdef MOZ_IPC
|
||||
# include "base/basictypes.h"
|
||||
#endif
|
||||
|
||||
#include "prenv.h"
|
||||
|
||||
@ -110,12 +112,15 @@
|
||||
|
||||
#include "Layers.h"
|
||||
|
||||
#ifdef MOZ_IPC
|
||||
#include "ContentParent.h"
|
||||
#include "TabParent.h"
|
||||
#include "mozilla/layout/RenderFrameParent.h"
|
||||
|
||||
using namespace mozilla;
|
||||
using namespace mozilla::dom;
|
||||
#endif
|
||||
|
||||
using namespace mozilla::layers;
|
||||
typedef FrameMetrics::ViewID ViewID;
|
||||
|
||||
@ -319,11 +324,13 @@ nsFrameLoader::nsFrameLoader(nsIContent *aOwner, PRBool aNetworkCreated)
|
||||
, mInShow(PR_FALSE)
|
||||
, mHideCalled(PR_FALSE)
|
||||
, mNetworkCreated(aNetworkCreated)
|
||||
#ifdef MOZ_IPC
|
||||
, mDelayRemoteDialogs(PR_FALSE)
|
||||
, mRemoteBrowserShown(PR_FALSE)
|
||||
, mRemoteFrame(false)
|
||||
, mCurrentRemoteFrame(nsnull)
|
||||
, mRemoteBrowser(nsnull)
|
||||
#endif
|
||||
, mRenderMode(RENDER_MODE_DEFAULT)
|
||||
{
|
||||
}
|
||||
@ -441,6 +448,7 @@ nsFrameLoader::ReallyStartLoadingInternal()
|
||||
return rv;
|
||||
}
|
||||
|
||||
#ifdef MOZ_IPC
|
||||
if (mRemoteFrame) {
|
||||
if (!mRemoteBrowser) {
|
||||
TryRemoteBrowser();
|
||||
@ -455,6 +463,7 @@ nsFrameLoader::ReallyStartLoadingInternal()
|
||||
mRemoteBrowser->LoadURL(mURIToLoad);
|
||||
return NS_OK;
|
||||
}
|
||||
#endif
|
||||
|
||||
NS_ASSERTION(mDocShell,
|
||||
"MaybeCreateDocShell succeeded with a null mDocShell");
|
||||
@ -525,9 +534,11 @@ nsFrameLoader::CheckURILoad(nsIURI* aURI)
|
||||
if (NS_FAILED(rv)) {
|
||||
return rv;
|
||||
}
|
||||
#ifdef MOZ_IPC
|
||||
if (mRemoteFrame) {
|
||||
return NS_OK;
|
||||
}
|
||||
#endif
|
||||
return CheckForRecursiveLoad(aURI);
|
||||
}
|
||||
|
||||
@ -543,10 +554,12 @@ nsFrameLoader::GetDocShell(nsIDocShell **aDocShell)
|
||||
nsresult rv = MaybeCreateDocShell();
|
||||
if (NS_FAILED(rv))
|
||||
return rv;
|
||||
#ifdef MOZ_IPC
|
||||
if (mRemoteFrame) {
|
||||
NS_WARNING("No docshells for remote frames!");
|
||||
return NS_ERROR_NOT_AVAILABLE;
|
||||
}
|
||||
#endif
|
||||
NS_ASSERTION(mDocShell,
|
||||
"MaybeCreateDocShell succeeded, but null mDocShell");
|
||||
}
|
||||
@ -763,7 +776,10 @@ nsFrameLoader::Show(PRInt32 marginWidth, PRInt32 marginHeight,
|
||||
return PR_FALSE;
|
||||
}
|
||||
|
||||
if (!mRemoteFrame) {
|
||||
#ifdef MOZ_IPC
|
||||
if (!mRemoteFrame)
|
||||
#endif
|
||||
{
|
||||
if (!mDocShell)
|
||||
return PR_FALSE;
|
||||
nsCOMPtr<nsIPresShell> presShell;
|
||||
@ -787,9 +803,11 @@ nsFrameLoader::Show(PRInt32 marginWidth, PRInt32 marginHeight,
|
||||
if (!view)
|
||||
return PR_FALSE;
|
||||
|
||||
#ifdef MOZ_IPC
|
||||
if (mRemoteFrame) {
|
||||
return ShowRemoteFrame(GetSubDocumentSize(frame));
|
||||
}
|
||||
#endif
|
||||
|
||||
nsCOMPtr<nsIBaseWindow> baseWindow = do_QueryInterface(mDocShell);
|
||||
NS_ASSERTION(baseWindow, "Found a nsIDocShell that isn't a nsIBaseWindow.");
|
||||
@ -862,6 +880,7 @@ nsFrameLoader::Show(PRInt32 marginWidth, PRInt32 marginHeight,
|
||||
return PR_TRUE;
|
||||
}
|
||||
|
||||
#ifdef MOZ_IPC
|
||||
bool
|
||||
nsFrameLoader::ShowRemoteFrame(const nsIntSize& size)
|
||||
{
|
||||
@ -890,6 +909,7 @@ nsFrameLoader::ShowRemoteFrame(const nsIntSize& size)
|
||||
|
||||
return true;
|
||||
}
|
||||
#endif
|
||||
|
||||
void
|
||||
nsFrameLoader::Hide()
|
||||
@ -1214,11 +1234,13 @@ nsFrameLoader::SwapWithOtherLoader(nsFrameLoader* aOther,
|
||||
void
|
||||
nsFrameLoader::DestroyChild()
|
||||
{
|
||||
#ifdef MOZ_IPC
|
||||
if (mRemoteBrowser) {
|
||||
mRemoteBrowser->SetOwnerElement(nsnull);
|
||||
mRemoteBrowser->Destroy();
|
||||
mRemoteBrowser = nsnull;
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
@ -1305,11 +1327,14 @@ void
|
||||
nsFrameLoader::SetOwnerContent(nsIContent* aContent)
|
||||
{
|
||||
mOwnerContent = aContent;
|
||||
#ifdef MOZ_IPC
|
||||
if (RenderFrameParent* rfp = GetCurrentRemoteFrame()) {
|
||||
rfp->OwnerContentChanged(aContent);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
#ifdef MOZ_IPC
|
||||
bool
|
||||
nsFrameLoader::ShouldUseRemoteProcess()
|
||||
{
|
||||
@ -1345,6 +1370,7 @@ nsFrameLoader::ShouldUseRemoteProcess()
|
||||
PR_FALSE);
|
||||
return (bool) remoteEnabled;
|
||||
}
|
||||
#endif
|
||||
|
||||
nsresult
|
||||
nsFrameLoader::MaybeCreateDocShell()
|
||||
@ -1352,15 +1378,19 @@ nsFrameLoader::MaybeCreateDocShell()
|
||||
if (mDocShell) {
|
||||
return NS_OK;
|
||||
}
|
||||
#ifdef MOZ_IPC
|
||||
if (mRemoteFrame) {
|
||||
return NS_OK;
|
||||
}
|
||||
#endif
|
||||
NS_ENSURE_STATE(!mDestroyCalled);
|
||||
|
||||
#ifdef MOZ_IPC
|
||||
if (ShouldUseRemoteProcess()) {
|
||||
mRemoteFrame = true;
|
||||
return NS_OK;
|
||||
}
|
||||
#endif
|
||||
|
||||
// Get our parent docshell off the document of mOwnerContent
|
||||
// XXXbz this is such a total hack.... We really need to have a
|
||||
@ -1509,8 +1539,10 @@ nsFrameLoader::CheckForRecursiveLoad(nsIURI* aURI)
|
||||
if (NS_FAILED(rv)) {
|
||||
return rv;
|
||||
}
|
||||
#ifdef MOZ_IPC
|
||||
NS_ASSERTION(!mRemoteFrame,
|
||||
"Shouldn't call CheckForRecursiveLoad on remote frames.");
|
||||
#endif
|
||||
if (!mDocShell) {
|
||||
return NS_ERROR_FAILURE;
|
||||
}
|
||||
@ -1610,6 +1642,7 @@ nsFrameLoader::CheckForRecursiveLoad(nsIURI* aURI)
|
||||
NS_IMETHODIMP
|
||||
nsFrameLoader::UpdatePositionAndSize(nsIFrame *aIFrame)
|
||||
{
|
||||
#ifdef MOZ_IPC
|
||||
if (mRemoteFrame) {
|
||||
if (mRemoteBrowser) {
|
||||
nsIntSize size = GetSubDocumentSize(aIFrame);
|
||||
@ -1617,6 +1650,7 @@ nsFrameLoader::UpdatePositionAndSize(nsIFrame *aIFrame)
|
||||
}
|
||||
return NS_OK;
|
||||
}
|
||||
#endif
|
||||
return UpdateBaseWindowPositionAndSize(aIFrame);
|
||||
}
|
||||
|
||||
@ -1684,6 +1718,7 @@ nsFrameLoader::GetSubDocumentSize(const nsIFrame *aIFrame)
|
||||
presContext->AppUnitsToDevPixels(docSizeAppUnits.height));
|
||||
}
|
||||
|
||||
#ifdef MOZ_IPC
|
||||
bool
|
||||
nsFrameLoader::TryRemoteBrowser()
|
||||
{
|
||||
@ -1763,19 +1798,24 @@ nsFrameLoader::TryRemoteBrowser()
|
||||
}
|
||||
return true;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef MOZ_IPC
|
||||
mozilla::dom::PBrowserParent*
|
||||
nsFrameLoader::GetRemoteBrowser()
|
||||
{
|
||||
return mRemoteBrowser;
|
||||
}
|
||||
#endif
|
||||
|
||||
NS_IMETHODIMP
|
||||
nsFrameLoader::ActivateRemoteFrame() {
|
||||
#ifdef MOZ_IPC
|
||||
if (mRemoteBrowser) {
|
||||
mRemoteBrowser->Activate();
|
||||
return NS_OK;
|
||||
}
|
||||
#endif
|
||||
return NS_ERROR_UNEXPECTED;
|
||||
}
|
||||
|
||||
@ -1788,12 +1828,14 @@ nsFrameLoader::SendCrossProcessMouseEvent(const nsAString& aType,
|
||||
PRInt32 aModifiers,
|
||||
PRBool aIgnoreRootScrollFrame)
|
||||
{
|
||||
#ifdef MOZ_IPC
|
||||
if (mRemoteBrowser) {
|
||||
mRemoteBrowser->SendMouseEvent(aType, aX, aY, aButton,
|
||||
aClickCount, aModifiers,
|
||||
aIgnoreRootScrollFrame);
|
||||
return NS_OK;
|
||||
}
|
||||
#endif
|
||||
return NS_ERROR_FAILURE;
|
||||
}
|
||||
|
||||
@ -1801,10 +1843,12 @@ NS_IMETHODIMP
|
||||
nsFrameLoader::ActivateFrameEvent(const nsAString& aType,
|
||||
PRBool aCapture)
|
||||
{
|
||||
#ifdef MOZ_IPC
|
||||
if (mRemoteBrowser) {
|
||||
return mRemoteBrowser->SendActivateFrameEvent(nsString(aType), aCapture) ?
|
||||
NS_OK : NS_ERROR_NOT_AVAILABLE;
|
||||
}
|
||||
#endif
|
||||
return NS_ERROR_FAILURE;
|
||||
}
|
||||
|
||||
@ -1815,24 +1859,31 @@ nsFrameLoader::SendCrossProcessKeyEvent(const nsAString& aType,
|
||||
PRInt32 aModifiers,
|
||||
PRBool aPreventDefault)
|
||||
{
|
||||
#ifdef MOZ_IPC
|
||||
if (mRemoteBrowser) {
|
||||
mRemoteBrowser->SendKeyEvent(aType, aKeyCode, aCharCode, aModifiers,
|
||||
aPreventDefault);
|
||||
return NS_OK;
|
||||
}
|
||||
#endif
|
||||
return NS_ERROR_FAILURE;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
nsFrameLoader::GetDelayRemoteDialogs(PRBool* aRetVal)
|
||||
{
|
||||
#ifdef MOZ_IPC
|
||||
*aRetVal = mDelayRemoteDialogs;
|
||||
#else
|
||||
*aRetVal = PR_FALSE;
|
||||
#endif
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
nsFrameLoader::SetDelayRemoteDialogs(PRBool aDelay)
|
||||
{
|
||||
#ifdef MOZ_IPC
|
||||
if (mRemoteBrowser && mDelayRemoteDialogs && !aDelay) {
|
||||
nsRefPtr<nsIRunnable> ev =
|
||||
NS_NewRunnableMethod(mRemoteBrowser,
|
||||
@ -1840,6 +1891,7 @@ nsFrameLoader::SetDelayRemoteDialogs(PRBool aDelay)
|
||||
NS_DispatchToCurrentThread(ev);
|
||||
}
|
||||
mDelayRemoteDialogs = aDelay;
|
||||
#endif
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
@ -1870,11 +1922,13 @@ nsFrameLoader::CreateStaticClone(nsIFrameLoader* aDest)
|
||||
|
||||
bool LoadScript(void* aCallbackData, const nsAString& aURL)
|
||||
{
|
||||
#ifdef MOZ_IPC
|
||||
mozilla::dom::PBrowserParent* tabParent =
|
||||
static_cast<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());
|
||||
@ -1911,11 +1965,13 @@ 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);
|
||||
@ -1940,6 +1996,7 @@ nsFrameLoader::GetContentViewsIn(float aXPx, float aYPx,
|
||||
PRUint32* aLength,
|
||||
nsIContentView*** aResult)
|
||||
{
|
||||
#ifdef MOZ_IPC
|
||||
nscoord x = nsPresContext::CSSPixelsToAppUnits(aXPx - aLeftSize);
|
||||
nscoord y = nsPresContext::CSSPixelsToAppUnits(aYPx - aTopSize);
|
||||
nscoord w = nsPresContext::CSSPixelsToAppUnits(aLeftSize + aRightSize) + 1;
|
||||
@ -1967,6 +2024,10 @@ nsFrameLoader::GetContentViewsIn(float aXPx, float aYPx,
|
||||
|
||||
*aResult = result;
|
||||
*aLength = ids.Length();
|
||||
#else
|
||||
*aResult = nsnull;
|
||||
*aLength = 0;
|
||||
#endif
|
||||
|
||||
return NS_OK;
|
||||
}
|
||||
@ -1974,6 +2035,7 @@ nsFrameLoader::GetContentViewsIn(float aXPx, float aYPx,
|
||||
NS_IMETHODIMP
|
||||
nsFrameLoader::GetRootContentView(nsIContentView** aContentView)
|
||||
{
|
||||
#ifdef MOZ_IPC
|
||||
RenderFrameParent* rfp = GetCurrentRemoteFrame();
|
||||
if (!rfp) {
|
||||
*aContentView = nsnull;
|
||||
@ -1985,6 +2047,10 @@ nsFrameLoader::GetRootContentView(nsIContentView** aContentView)
|
||||
nsRefPtr<nsIContentView>(view).forget(aContentView);
|
||||
|
||||
return NS_OK;
|
||||
#else
|
||||
return NS_ERROR_NOT_IMPLEMENTED;
|
||||
#endif
|
||||
|
||||
}
|
||||
|
||||
nsresult
|
||||
@ -1997,14 +2063,20 @@ nsFrameLoader::EnsureMessageManager()
|
||||
return rv;
|
||||
}
|
||||
|
||||
if (!mIsTopLevelContent && !mRemoteFrame) {
|
||||
if (!mIsTopLevelContent
|
||||
#ifdef MOZ_IPC
|
||||
&& !mRemoteFrame
|
||||
#endif
|
||||
) {
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
if (mMessageManager) {
|
||||
#ifdef MOZ_IPC
|
||||
if (ShouldUseRemoteProcess()) {
|
||||
mMessageManager->SetCallbackData(mRemoteBrowserShown ? this : nsnull);
|
||||
}
|
||||
#endif
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
@ -2020,6 +2092,7 @@ nsFrameLoader::EnsureMessageManager()
|
||||
nsCOMPtr<nsIChromeFrameMessageManager> parentManager;
|
||||
chromeWindow->GetMessageManager(getter_AddRefs(parentManager));
|
||||
|
||||
#ifdef MOZ_IPC
|
||||
if (ShouldUseRemoteProcess()) {
|
||||
mMessageManager = new nsFrameMessageManager(PR_TRUE,
|
||||
nsnull,
|
||||
@ -2030,6 +2103,7 @@ nsFrameLoader::EnsureMessageManager()
|
||||
cx);
|
||||
NS_ENSURE_TRUE(mMessageManager, NS_ERROR_OUT_OF_MEMORY);
|
||||
} else
|
||||
#endif
|
||||
{
|
||||
|
||||
mMessageManager = new nsFrameMessageManager(PR_TRUE,
|
||||
|
@ -61,6 +61,7 @@ class nsIView;
|
||||
class nsIInProcessContentFrameMessageManager;
|
||||
class AutoResetInShow;
|
||||
|
||||
#ifdef MOZ_IPC
|
||||
namespace mozilla {
|
||||
namespace dom {
|
||||
class PBrowserParent;
|
||||
@ -78,6 +79,7 @@ typedef struct _GtkWidget GtkWidget;
|
||||
#ifdef MOZ_WIDGET_QT
|
||||
class QX11EmbedContainer;
|
||||
#endif
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Defines a target configuration for this <browser>'s content
|
||||
@ -165,9 +167,11 @@ class nsFrameLoader : public nsIFrameLoader,
|
||||
public nsIContentViewManager
|
||||
{
|
||||
friend class AutoResetInShow;
|
||||
#ifdef MOZ_IPC
|
||||
typedef mozilla::dom::PBrowserParent PBrowserParent;
|
||||
typedef mozilla::dom::TabParent TabParent;
|
||||
typedef mozilla::layout::RenderFrameParent RenderFrameParent;
|
||||
#endif
|
||||
|
||||
protected:
|
||||
nsFrameLoader(nsIContent *aOwner, PRBool aNetworkCreated);
|
||||
@ -242,6 +246,7 @@ public:
|
||||
nsIDocument* GetOwnerDoc() const
|
||||
{ return mOwnerContent ? mOwnerContent->GetOwnerDoc() : nsnull; }
|
||||
|
||||
#ifdef MOZ_IPC
|
||||
PBrowserParent* GetRemoteBrowser();
|
||||
|
||||
/**
|
||||
@ -272,6 +277,7 @@ public:
|
||||
{
|
||||
mCurrentRemoteFrame = aFrame;
|
||||
}
|
||||
#endif
|
||||
nsFrameMessageManager* GetFrameMessageManager() { return mMessageManager; }
|
||||
|
||||
nsIContent* GetOwnerContent() { return mOwnerContent; }
|
||||
@ -279,7 +285,9 @@ public:
|
||||
|
||||
private:
|
||||
|
||||
#ifdef MOZ_IPC
|
||||
bool ShouldUseRemoteProcess();
|
||||
#endif
|
||||
|
||||
/**
|
||||
* If we are an IPC frame, set mRemoteFrame. Otherwise, create and
|
||||
@ -299,11 +307,13 @@ private:
|
||||
void FireErrorEvent();
|
||||
nsresult ReallyStartLoadingInternal();
|
||||
|
||||
#ifdef MOZ_IPC
|
||||
// Return true if remote browser created; nothing else to do
|
||||
bool TryRemoteBrowser();
|
||||
|
||||
// Tell the remote browser that it's now "virtually visible"
|
||||
bool ShowRemoteFrame(const nsIntSize& size);
|
||||
#endif
|
||||
|
||||
nsCOMPtr<nsIDocShell> mDocShell;
|
||||
nsCOMPtr<nsIURI> mURIToLoad;
|
||||
@ -325,6 +335,7 @@ private:
|
||||
// it may lose the flag.
|
||||
PRPackedBool mNetworkCreated : 1;
|
||||
|
||||
#ifdef MOZ_IPC
|
||||
PRPackedBool mDelayRemoteDialogs : 1;
|
||||
PRPackedBool mRemoteBrowserShown : 1;
|
||||
bool mRemoteFrame;
|
||||
@ -332,6 +343,7 @@ private:
|
||||
nsCOMPtr<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
|
||||
|
@ -35,8 +35,10 @@
|
||||
*
|
||||
* ***** END LICENSE BLOCK ***** */
|
||||
|
||||
#ifdef MOZ_IPC
|
||||
#include "ContentChild.h"
|
||||
#include "ContentParent.h"
|
||||
#endif
|
||||
#include "jscntxt.h"
|
||||
#include "nsFrameMessageManager.h"
|
||||
#include "nsContentUtils.h"
|
||||
@ -727,6 +729,7 @@ NS_IMPL_ISUPPORTS1(nsScriptCacheCleaner, nsIObserver)
|
||||
nsFrameMessageManager* nsFrameMessageManager::sChildProcessManager = nsnull;
|
||||
nsFrameMessageManager* nsFrameMessageManager::sParentProcessManager = nsnull;
|
||||
|
||||
#ifdef MOZ_IPC
|
||||
bool SendAsyncMessageToChildProcess(void* aCallbackData,
|
||||
const nsAString& aMessage,
|
||||
const nsAString& aJSON)
|
||||
@ -766,11 +769,14 @@ bool SendAsyncMessageToParentProcess(void* aCallbackData,
|
||||
return true;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
nsresult
|
||||
NS_NewParentProcessMessageManager(nsIFrameMessageManager** aResult)
|
||||
{
|
||||
NS_ASSERTION(!nsFrameMessageManager::sParentProcessManager,
|
||||
"Re-creating sParentProcessManager");
|
||||
#ifdef MOZ_IPC
|
||||
NS_ENSURE_TRUE(IsChromeProcess(), NS_ERROR_NOT_AVAILABLE);
|
||||
nsFrameMessageManager* mm = new nsFrameMessageManager(PR_TRUE,
|
||||
nsnull,
|
||||
@ -784,6 +790,9 @@ NS_NewParentProcessMessageManager(nsIFrameMessageManager** aResult)
|
||||
NS_ENSURE_TRUE(mm, NS_ERROR_OUT_OF_MEMORY);
|
||||
nsFrameMessageManager::sParentProcessManager = mm;
|
||||
return CallQueryInterface(mm, aResult);
|
||||
#else
|
||||
return NS_ERROR_NOT_AVAILABLE;
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
@ -792,6 +801,7 @@ NS_NewChildProcessMessageManager(nsISyncMessageSender** aResult)
|
||||
{
|
||||
NS_ASSERTION(!nsFrameMessageManager::sChildProcessManager,
|
||||
"Re-creating sChildProcessManager");
|
||||
#ifdef MOZ_IPC
|
||||
NS_ENSURE_TRUE(!IsChromeProcess(), NS_ERROR_NOT_AVAILABLE);
|
||||
nsFrameMessageManager* mm = new nsFrameMessageManager(PR_FALSE,
|
||||
SendSyncMessageToParentProcess,
|
||||
@ -805,4 +815,7 @@ NS_NewChildProcessMessageManager(nsISyncMessageSender** aResult)
|
||||
NS_ENSURE_TRUE(mm, NS_ERROR_OUT_OF_MEMORY);
|
||||
nsFrameMessageManager::sChildProcessManager = mm;
|
||||
return CallQueryInterface(mm, aResult);
|
||||
#else
|
||||
return NS_ERROR_NOT_AVAILABLE;
|
||||
#endif
|
||||
}
|
||||
|
@ -55,9 +55,14 @@ CPPSRCS = \
|
||||
CanvasImageCache.cpp \
|
||||
CanvasUtils.cpp \
|
||||
nsCanvasRenderingContext2D.cpp \
|
||||
$(NULL)
|
||||
|
||||
ifdef MOZ_IPC
|
||||
CPPSRCS += \
|
||||
DocumentRendererParent.cpp \
|
||||
DocumentRendererChild.cpp \
|
||||
$(NULL)
|
||||
endif
|
||||
|
||||
# Canvas 3D Pieces
|
||||
|
||||
|
@ -38,7 +38,9 @@
|
||||
*
|
||||
* ***** END LICENSE BLOCK ***** */
|
||||
|
||||
#ifdef MOZ_IPC
|
||||
# include "base/basictypes.h"
|
||||
#endif
|
||||
|
||||
#include "nsIDOMXULElement.h"
|
||||
|
||||
@ -117,6 +119,7 @@
|
||||
#include "nsStyleUtil.h"
|
||||
#include "CanvasImageCache.h"
|
||||
|
||||
#ifdef MOZ_IPC
|
||||
# include <algorithm>
|
||||
# include "mozilla/dom/ContentParent.h"
|
||||
# include "mozilla/ipc/PDocumentRendererParent.h"
|
||||
@ -127,6 +130,7 @@
|
||||
# undef DrawText
|
||||
|
||||
using namespace mozilla::ipc;
|
||||
#endif
|
||||
|
||||
#ifdef MOZ_SVG
|
||||
#include "nsSVGEffects.h"
|
||||
@ -1230,6 +1234,7 @@ nsCanvasRenderingContext2D::SetIsOpaque(PRBool isOpaque)
|
||||
NS_IMETHODIMP
|
||||
nsCanvasRenderingContext2D::SetIsIPC(PRBool isIPC)
|
||||
{
|
||||
#ifdef MOZ_IPC
|
||||
if (isIPC == mIPC)
|
||||
return NS_OK;
|
||||
|
||||
@ -1243,6 +1248,9 @@ nsCanvasRenderingContext2D::SetIsIPC(PRBool isIPC)
|
||||
}
|
||||
|
||||
return NS_OK;
|
||||
#else
|
||||
return NS_ERROR_NOT_IMPLEMENTED;
|
||||
#endif
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
@ -3759,6 +3767,7 @@ nsCanvasRenderingContext2D::AsyncDrawXULElement(nsIDOMXULElement* aElem, float a
|
||||
if (!frameloader)
|
||||
return NS_ERROR_FAILURE;
|
||||
|
||||
#ifdef MOZ_IPC
|
||||
PBrowserParent *child = frameloader->GetRemoteBrowser();
|
||||
if (!child) {
|
||||
nsCOMPtr<nsIDOMWindow> window =
|
||||
@ -3806,6 +3815,14 @@ nsCanvasRenderingContext2D::AsyncDrawXULElement(nsIDOMXULElement* aElem, float a
|
||||
}
|
||||
|
||||
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
|
||||
}
|
||||
|
||||
//
|
||||
|
@ -37,8 +37,10 @@
|
||||
*
|
||||
* ***** END LICENSE BLOCK ***** */
|
||||
|
||||
#ifdef MOZ_IPC
|
||||
#include "base/basictypes.h"
|
||||
#include "IPC/IPCMessageUtils.h"
|
||||
#endif
|
||||
#include "nsCOMPtr.h"
|
||||
#include "nsDOMEvent.h"
|
||||
#include "nsEventStateManager.h"
|
||||
@ -1368,6 +1370,7 @@ nsDOMEvent::GetPreventDefault(PRBool* aReturn)
|
||||
void
|
||||
nsDOMEvent::Serialize(IPC::Message* aMsg, PRBool aSerializeInterfaceType)
|
||||
{
|
||||
#ifdef MOZ_IPC
|
||||
if (aSerializeInterfaceType) {
|
||||
IPC::WriteParam(aMsg, NS_LITERAL_STRING("event"));
|
||||
}
|
||||
@ -1389,11 +1392,13 @@ nsDOMEvent::Serialize(IPC::Message* aMsg, PRBool aSerializeInterfaceType)
|
||||
IPC::WriteParam(aMsg, trusted);
|
||||
|
||||
// No timestamp serialization for now!
|
||||
#endif
|
||||
}
|
||||
|
||||
PRBool
|
||||
nsDOMEvent::Deserialize(const IPC::Message* aMsg, void** aIter)
|
||||
{
|
||||
#ifdef MOZ_IPC
|
||||
nsString type;
|
||||
NS_ENSURE_TRUE(IPC::ReadParam(aMsg, aIter, &type), PR_FALSE);
|
||||
|
||||
@ -1411,6 +1416,9 @@ nsDOMEvent::Deserialize(const IPC::Message* aMsg, void** aIter)
|
||||
SetTrusted(trusted);
|
||||
|
||||
return PR_TRUE;
|
||||
#else
|
||||
return PR_FALSE;
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
|
@ -36,8 +36,10 @@
|
||||
*
|
||||
* ***** END LICENSE BLOCK ***** */
|
||||
|
||||
#ifdef MOZ_IPC
|
||||
#include "base/basictypes.h"
|
||||
#include "IPC/IPCMessageUtils.h"
|
||||
#endif
|
||||
#include "nsDOMNotifyPaintEvent.h"
|
||||
#include "nsContentUtils.h"
|
||||
#include "nsClientRect.h"
|
||||
@ -146,6 +148,7 @@ nsDOMNotifyPaintEvent::GetPaintRequests(nsIDOMPaintRequestList** aResult)
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
#ifdef MOZ_IPC
|
||||
void
|
||||
nsDOMNotifyPaintEvent::Serialize(IPC::Message* aMsg,
|
||||
PRBool aSerializeInterfaceType)
|
||||
@ -187,6 +190,7 @@ nsDOMNotifyPaintEvent::Deserialize(const IPC::Message* aMsg, void** aIter)
|
||||
|
||||
return PR_TRUE;
|
||||
}
|
||||
#endif
|
||||
|
||||
nsresult NS_NewDOMNotifyPaintEvent(nsIDOMEvent** aInstancePtrResult,
|
||||
nsPresContext* aPresContext,
|
||||
|
@ -61,8 +61,10 @@ public:
|
||||
// Forward to base class
|
||||
NS_FORWARD_TO_NSDOMEVENT
|
||||
|
||||
#ifdef MOZ_IPC
|
||||
virtual void Serialize(IPC::Message* aMsg, PRBool aSerializeInterfaceType);
|
||||
virtual PRBool Deserialize(const IPC::Message* aMsg, void** aIter);
|
||||
#endif
|
||||
private:
|
||||
nsRegion GetRegion();
|
||||
|
||||
|
@ -35,8 +35,10 @@
|
||||
*
|
||||
* ***** END LICENSE BLOCK ***** */
|
||||
|
||||
#ifdef MOZ_IPC
|
||||
#include "base/basictypes.h"
|
||||
#include "IPC/IPCMessageUtils.h"
|
||||
#endif
|
||||
|
||||
#include "nsDOMScrollAreaEvent.h"
|
||||
#include "nsGUIEvent.h"
|
||||
@ -114,6 +116,7 @@ nsDOMScrollAreaEvent::InitScrollAreaEvent(const nsAString &aEventType,
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
#ifdef MOZ_IPC
|
||||
void
|
||||
nsDOMScrollAreaEvent::Serialize(IPC::Message* aMsg,
|
||||
PRBool aSerializeInterfaceType)
|
||||
@ -149,6 +152,7 @@ nsDOMScrollAreaEvent::Deserialize(const IPC::Message* aMsg, void** aIter)
|
||||
|
||||
return PR_TRUE;
|
||||
}
|
||||
#endif
|
||||
|
||||
nsresult
|
||||
NS_NewDOMScrollAreaEvent(nsIDOMEvent **aInstancePtrResult,
|
||||
|
@ -58,8 +58,10 @@ public:
|
||||
|
||||
NS_FORWARD_TO_NSDOMUIEVENT
|
||||
|
||||
#ifdef MOZ_IPC
|
||||
virtual void Serialize(IPC::Message* aMsg, PRBool aSerializeInterfaceType);
|
||||
virtual PRBool Deserialize(const IPC::Message* aMsg, void** aIter);
|
||||
#endif
|
||||
|
||||
protected:
|
||||
nsClientRect mClientArea;
|
||||
|
@ -37,8 +37,10 @@
|
||||
*
|
||||
* ***** END LICENSE BLOCK ***** */
|
||||
|
||||
#ifdef MOZ_IPC
|
||||
#include "base/basictypes.h"
|
||||
#include "IPC/IPCMessageUtils.h"
|
||||
#endif
|
||||
#include "nsCOMPtr.h"
|
||||
#include "nsDOMUIEvent.h"
|
||||
#include "nsIPresShell.h"
|
||||
@ -392,6 +394,7 @@ nsDOMUIEvent::DuplicatePrivateData()
|
||||
return rv;
|
||||
}
|
||||
|
||||
#ifdef MOZ_IPC
|
||||
void
|
||||
nsDOMUIEvent::Serialize(IPC::Message* aMsg, PRBool aSerializeInterfaceType)
|
||||
{
|
||||
@ -413,6 +416,7 @@ nsDOMUIEvent::Deserialize(const IPC::Message* aMsg, void** aIter)
|
||||
NS_ENSURE_TRUE(IPC::ReadParam(aMsg, aIter, &mDetail), PR_FALSE);
|
||||
return PR_TRUE;
|
||||
}
|
||||
#endif
|
||||
|
||||
nsresult NS_NewDOMUIEvent(nsIDOMEvent** aInstancePtrResult,
|
||||
nsPresContext* aPresContext,
|
||||
|
@ -62,8 +62,10 @@ public:
|
||||
|
||||
// nsIPrivateDOMEvent interface
|
||||
NS_IMETHOD DuplicatePrivateData();
|
||||
#ifdef MOZ_IPC
|
||||
virtual void Serialize(IPC::Message* aMsg, PRBool aSerializeInterfaceType);
|
||||
virtual PRBool Deserialize(const IPC::Message* aMsg, void** aIter);
|
||||
#endif
|
||||
|
||||
// Forward to nsDOMEvent
|
||||
NS_FORWARD_TO_NSDOMEVENT
|
||||
|
@ -44,7 +44,9 @@
|
||||
*
|
||||
* ***** END LICENSE BLOCK ***** */
|
||||
|
||||
#ifdef MOZ_IPC
|
||||
#include "mozilla/dom/TabParent.h"
|
||||
#endif
|
||||
|
||||
#include "nsCOMPtr.h"
|
||||
#include "nsEventStateManager.h"
|
||||
@ -162,7 +164,9 @@
|
||||
#import <ApplicationServices/ApplicationServices.h>
|
||||
#endif
|
||||
|
||||
#ifdef MOZ_IPC
|
||||
using namespace mozilla::dom;
|
||||
#endif
|
||||
|
||||
//#define DEBUG_DOCSHELL_FOCUS
|
||||
|
||||
@ -1334,16 +1338,20 @@ nsEventStateManager::PreHandleEvent(nsPresContext* aPresContext,
|
||||
break;
|
||||
case NS_QUERY_SELECTED_TEXT:
|
||||
{
|
||||
#ifdef MOZ_IPC
|
||||
if (RemoteQueryContentEvent(aEvent))
|
||||
break;
|
||||
#endif
|
||||
nsContentEventHandler handler(mPresContext);
|
||||
handler.OnQuerySelectedText((nsQueryContentEvent*)aEvent);
|
||||
}
|
||||
break;
|
||||
case NS_QUERY_TEXT_CONTENT:
|
||||
{
|
||||
#ifdef MOZ_IPC
|
||||
if (RemoteQueryContentEvent(aEvent))
|
||||
break;
|
||||
#endif
|
||||
nsContentEventHandler handler(mPresContext);
|
||||
handler.OnQueryTextContent((nsQueryContentEvent*)aEvent);
|
||||
}
|
||||
@ -1399,6 +1407,7 @@ nsEventStateManager::PreHandleEvent(nsPresContext* aPresContext,
|
||||
break;
|
||||
case NS_SELECTION_SET:
|
||||
{
|
||||
#ifdef MOZ_IPC
|
||||
nsSelectionEvent *selectionEvent =
|
||||
static_cast<nsSelectionEvent*>(aEvent);
|
||||
if (IsTargetCrossProcess(selectionEvent)) {
|
||||
@ -1407,6 +1416,7 @@ nsEventStateManager::PreHandleEvent(nsPresContext* aPresContext,
|
||||
selectionEvent->mSucceeded = PR_TRUE;
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
nsContentEventHandler handler(mPresContext);
|
||||
handler.OnSelectionEvent((nsSelectionEvent*)aEvent);
|
||||
}
|
||||
@ -1427,6 +1437,7 @@ nsEventStateManager::PreHandleEvent(nsPresContext* aPresContext,
|
||||
DoContentCommandScrollEvent(static_cast<nsContentCommandEvent*>(aEvent));
|
||||
}
|
||||
break;
|
||||
#ifdef MOZ_IPC
|
||||
case NS_TEXT_TEXT:
|
||||
{
|
||||
nsTextEvent *textEvent = static_cast<nsTextEvent*>(aEvent);
|
||||
@ -1453,6 +1464,7 @@ nsEventStateManager::PreHandleEvent(nsPresContext* aPresContext,
|
||||
}
|
||||
}
|
||||
break;
|
||||
#endif // MOZ_IPC
|
||||
}
|
||||
return NS_OK;
|
||||
}
|
||||
@ -3325,6 +3337,7 @@ nsEventStateManager::PostHandleEvent(nsPresContext* aPresContext,
|
||||
return ret;
|
||||
}
|
||||
|
||||
#ifdef MOZ_IPC
|
||||
PRBool
|
||||
nsEventStateManager::RemoteQueryContentEvent(nsEvent *aEvent)
|
||||
{
|
||||
@ -3354,6 +3367,7 @@ nsEventStateManager::IsTargetCrossProcess(nsGUIEvent *aEvent)
|
||||
return PR_FALSE;
|
||||
return TabParent::GetIMETabParent() != nsnull;
|
||||
}
|
||||
#endif
|
||||
|
||||
NS_IMETHODIMP
|
||||
nsEventStateManager::NotifyDestroyPresContext(nsPresContext* aPresContext)
|
||||
|
@ -349,9 +349,11 @@ protected:
|
||||
nsresult DoContentCommandEvent(nsContentCommandEvent* aEvent);
|
||||
nsresult DoContentCommandScrollEvent(nsContentCommandEvent* aEvent);
|
||||
|
||||
#ifdef MOZ_IPC
|
||||
PRBool RemoteQueryContentEvent(nsEvent *aEvent);
|
||||
mozilla::dom::TabParent *GetCrossProcessTarget();
|
||||
PRBool IsTargetCrossProcess(nsGUIEvent *aEvent);
|
||||
#endif
|
||||
|
||||
PRInt32 mLockCursor;
|
||||
|
||||
|
@ -50,9 +50,14 @@ LIBXUL_LIBRARY = 1
|
||||
EXPORTS = \
|
||||
nsImageMapUtils.h \
|
||||
nsClientRect.h \
|
||||
nsHTMLDNSPrefetch.h \
|
||||
$(NULL)
|
||||
|
||||
ifdef MOZ_IPC
|
||||
EXPORTS += \
|
||||
nsHTMLDNSPrefetch.h \
|
||||
$(NULL)
|
||||
endif
|
||||
|
||||
CPPSRCS = \
|
||||
nsClientRect.cpp \
|
||||
nsHTMLDNSPrefetch.cpp \
|
||||
|
@ -553,6 +553,7 @@ NS_IMETHODIMP
|
||||
nsHTMLCanvasElement::MozGetIPCContext(const nsAString& aContextId,
|
||||
nsISupports **aContext)
|
||||
{
|
||||
#ifdef MOZ_IPC
|
||||
if(!nsContentUtils::IsCallerTrustedForRead()) {
|
||||
// XXX ERRMSG we need to report an error to developers here! (bug 329026)
|
||||
return NS_ERROR_DOM_SECURITY_ERR;
|
||||
@ -587,6 +588,9 @@ nsHTMLCanvasElement::MozGetIPCContext(const nsAString& aContextId,
|
||||
|
||||
NS_ADDREF (*aContext = mCurrentContext);
|
||||
return NS_OK;
|
||||
#else
|
||||
return NS_ERROR_NOT_IMPLEMENTED;
|
||||
#endif
|
||||
}
|
||||
|
||||
nsresult
|
||||
|
@ -36,10 +36,12 @@
|
||||
*
|
||||
* ***** END LICENSE BLOCK ***** */
|
||||
|
||||
#ifdef MOZ_IPC
|
||||
#include "base/basictypes.h"
|
||||
#include "mozilla/net/NeckoCommon.h"
|
||||
#include "mozilla/net/NeckoChild.h"
|
||||
#include "nsURLHelper.h"
|
||||
#endif
|
||||
|
||||
#include "nsHTMLDNSPrefetch.h"
|
||||
#include "nsCOMPtr.h"
|
||||
@ -106,8 +108,10 @@ nsHTMLDNSPrefetch::Initialize()
|
||||
rv = CallGetService(kDNSServiceCID, &sDNSService);
|
||||
if (NS_FAILED(rv)) return rv;
|
||||
|
||||
#ifdef MOZ_IPC
|
||||
if (IsNeckoChild())
|
||||
NeckoChild::InitNeckoChild();
|
||||
#endif
|
||||
|
||||
sInitialized = PR_TRUE;
|
||||
return NS_OK;
|
||||
@ -138,6 +142,7 @@ nsHTMLDNSPrefetch::IsAllowed (nsIDocument *aDocument)
|
||||
nsresult
|
||||
nsHTMLDNSPrefetch::Prefetch(Link *aElement, PRUint16 flags)
|
||||
{
|
||||
#ifdef MOZ_IPC
|
||||
if (IsNeckoChild()) {
|
||||
// Instead of transporting the Link object to the other process
|
||||
// we are using the hostname based function here, too. Compared to the
|
||||
@ -148,6 +153,7 @@ nsHTMLDNSPrefetch::Prefetch(Link *aElement, PRUint16 flags)
|
||||
|
||||
return Prefetch(hostname, flags);
|
||||
}
|
||||
#endif
|
||||
|
||||
if (!(sInitialized && sPrefetches && sDNSService && sDNSListener))
|
||||
return NS_ERROR_NOT_AVAILABLE;
|
||||
@ -176,6 +182,7 @@ nsHTMLDNSPrefetch::PrefetchHigh(Link *aElement)
|
||||
nsresult
|
||||
nsHTMLDNSPrefetch::Prefetch(nsAString &hostname, PRUint16 flags)
|
||||
{
|
||||
#ifdef MOZ_IPC
|
||||
if (IsNeckoChild()) {
|
||||
// We need to check IsEmpty() because net_IsValidHostName()
|
||||
// considers empty strings to be valid hostnames
|
||||
@ -185,6 +192,7 @@ nsHTMLDNSPrefetch::Prefetch(nsAString &hostname, PRUint16 flags)
|
||||
}
|
||||
return NS_OK;
|
||||
}
|
||||
#endif
|
||||
|
||||
if (!(sInitialized && sDNSService && sPrefetches && sDNSListener))
|
||||
return NS_ERROR_NOT_AVAILABLE;
|
||||
|
@ -143,7 +143,9 @@ public:
|
||||
} mEntries[sMaxDeferred];
|
||||
};
|
||||
|
||||
#ifdef MOZ_IPC
|
||||
friend class mozilla::net::NeckoParent;
|
||||
#endif
|
||||
};
|
||||
|
||||
#endif
|
||||
|
@ -37,12 +37,14 @@
|
||||
*
|
||||
* ***** END LICENSE BLOCK ***** */
|
||||
|
||||
#ifdef MOZ_IPC
|
||||
#include "mozilla/dom/ContentChild.h"
|
||||
#include "mozilla/dom/PAudioChild.h"
|
||||
#include "mozilla/dom/AudioChild.h"
|
||||
#include "mozilla/Monitor.h"
|
||||
#include "nsXULAppAPI.h"
|
||||
using namespace mozilla::dom;
|
||||
#endif
|
||||
|
||||
#include <stdio.h>
|
||||
#include <math.h>
|
||||
@ -63,7 +65,7 @@ extern "C" {
|
||||
|
||||
// Android's audio backend is not available in content processes, so audio must
|
||||
// be remoted to the parent chrome process.
|
||||
#if defined(ANDROID)
|
||||
#if defined(ANDROID) && defined(MOZ_IPC)
|
||||
#define REMOTE_AUDIO 1
|
||||
#endif
|
||||
|
||||
@ -120,6 +122,7 @@ class nsAudioStreamLocal : public nsAudioStream
|
||||
|
||||
};
|
||||
|
||||
#ifdef MOZ_IPC
|
||||
class nsAudioStreamRemote : public nsAudioStream
|
||||
{
|
||||
public:
|
||||
@ -291,6 +294,7 @@ class AudioShutdownEvent : public nsRunnable
|
||||
|
||||
nsRefPtr<AudioChild> mAudioChild;
|
||||
};
|
||||
#endif // MOZ_IPC
|
||||
|
||||
|
||||
void nsAudioStream::InitLibrary()
|
||||
@ -593,6 +597,8 @@ PRInt32 nsAudioStreamLocal::GetMinWriteSamples()
|
||||
return static_cast<PRInt32>(samples);
|
||||
}
|
||||
|
||||
#ifdef MOZ_IPC
|
||||
|
||||
nsAudioStreamRemote::nsAudioStreamRemote()
|
||||
: mAudioChild(NULL),
|
||||
mFormat(FORMAT_S16_LE),
|
||||
@ -744,3 +750,5 @@ nsAudioStreamRemote::IsPaused()
|
||||
{
|
||||
return mPaused;
|
||||
}
|
||||
|
||||
#endif // MOZ_IPC
|
||||
|
@ -64,13 +64,14 @@ public:
|
||||
// library after using it.
|
||||
static void ShutdownLibrary();
|
||||
|
||||
// Thread that is shared between audio streams.
|
||||
// Thread, usually for MOZ_IPC handling, that is shared between audio streams.
|
||||
// This may return null in the child process
|
||||
nsIThread *GetThread();
|
||||
|
||||
// AllocateStream will return either a local stream or a remoted stream
|
||||
// depending on where you call it from. If you call this from a child process,
|
||||
// you may receive an implementation which forwards to a compositing process.
|
||||
// depending on where you call it from. If MOZ_IPC is enabled, and you
|
||||
// call this from a child process, you may recieve an implementation which
|
||||
// forwards to a compositing process.
|
||||
static nsAudioStream* AllocateStream();
|
||||
|
||||
// Initialize the audio stream. aNumChannels is the number of audio channels
|
||||
|
@ -71,7 +71,7 @@ public:
|
||||
* UnregisterVisitedCallback.
|
||||
*
|
||||
* @pre aURI must not be null.
|
||||
* @pre aLink may be null only in the parent (chrome) process.
|
||||
* @pre aLink may be null only in the MOZ_IPC parent process.
|
||||
*
|
||||
* @param aURI
|
||||
* The URI to check.
|
||||
|
@ -229,7 +229,9 @@ static NS_DEFINE_CID(kAppShellCID, NS_APPSHELL_CID);
|
||||
#include "nsIChannelPolicy.h"
|
||||
#include "nsIContentSecurityPolicy.h"
|
||||
|
||||
#ifdef MOZ_IPC
|
||||
#include "nsXULAppAPI.h"
|
||||
#endif
|
||||
|
||||
using namespace mozilla;
|
||||
|
||||
@ -6010,10 +6012,12 @@ nsDocShell::OnRedirectStateChange(nsIChannel* aOldChannel,
|
||||
nsCOMPtr<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));
|
||||
}
|
||||
|
||||
@ -8724,10 +8728,12 @@ nsDocShell::DoURILoad(nsIURI * aURI,
|
||||
|
||||
// Loads with the correct permissions should check for a matching
|
||||
// application cache.
|
||||
#ifdef MOZ_IPC
|
||||
// Permission will be checked in the parent process
|
||||
if (GeckoProcessType_Default != XRE_GetProcessType())
|
||||
appCacheChannel->SetChooseApplicationCache(PR_TRUE);
|
||||
else
|
||||
#endif
|
||||
appCacheChannel->SetChooseApplicationCache(
|
||||
ShouldCheckAppCache(aURI));
|
||||
}
|
||||
|
@ -83,8 +83,13 @@ DIRS += \
|
||||
plugins \
|
||||
indexedDB \
|
||||
system \
|
||||
$(NULL)
|
||||
|
||||
ifdef MOZ_IPC
|
||||
DIRS += \
|
||||
ipc \
|
||||
$(NULL)
|
||||
endif
|
||||
|
||||
ifdef ENABLE_TESTS
|
||||
DIRS += tests
|
||||
|
@ -83,7 +83,6 @@ EXPORTS = \
|
||||
nsPIWindowRoot.h \
|
||||
nsFocusManager.h \
|
||||
nsWrapperCache.h \
|
||||
nsContentPermissionHelper.h \
|
||||
$(NULL)
|
||||
|
||||
CPPSRCS = \
|
||||
@ -107,17 +106,27 @@ CPPSRCS = \
|
||||
nsScriptNameSpaceManager.cpp \
|
||||
nsDOMScriptObjectFactory.cpp \
|
||||
nsQueryContentEventResult.cpp \
|
||||
nsContentPermissionHelper.cpp \
|
||||
$(NULL)
|
||||
|
||||
ifdef MOZ_IPC
|
||||
EXPORTS += \
|
||||
nsContentPermissionHelper.h \
|
||||
$(NULL)
|
||||
CPPSRCS += \
|
||||
nsContentPermissionHelper.cpp \
|
||||
$(NULL)
|
||||
endif
|
||||
|
||||
include $(topsrcdir)/dom/dom-config.mk
|
||||
|
||||
ifdef MOZ_JSDEBUGGER
|
||||
DEFINES += -DMOZ_JSDEBUGGER
|
||||
endif
|
||||
|
||||
ifdef MOZ_IPC
|
||||
include $(topsrcdir)/config/config.mk
|
||||
include $(topsrcdir)/ipc/chromium/chromium-config.mk
|
||||
endif
|
||||
|
||||
include $(topsrcdir)/config/rules.mk
|
||||
|
||||
|
@ -46,7 +46,9 @@
|
||||
*
|
||||
* ***** END LICENSE BLOCK ***** */
|
||||
|
||||
#ifdef MOZ_IPC
|
||||
#include "base/basictypes.h"
|
||||
#endif
|
||||
|
||||
// Local Includes
|
||||
#include "nsGlobalWindow.h"
|
||||
|
@ -50,6 +50,8 @@ EXPORTS_mozilla = \
|
||||
PluginLibrary.h \
|
||||
$(NULL)
|
||||
|
||||
ifdef MOZ_IPC
|
||||
|
||||
EXPORTS_NAMESPACES = mozilla mozilla/plugins
|
||||
|
||||
EXPORTS_mozilla/plugins = \
|
||||
@ -149,6 +151,7 @@ LOCAL_INCLUDES = \
|
||||
|
||||
include $(topsrcdir)/config/config.mk
|
||||
include $(topsrcdir)/ipc/chromium/chromium-config.mk
|
||||
endif
|
||||
|
||||
include $(topsrcdir)/config/rules.mk
|
||||
|
||||
|
@ -83,7 +83,9 @@ LOCAL_INCLUDES += -I$(topsrcdir)/dom/system/android \
|
||||
$(NULL)
|
||||
endif
|
||||
|
||||
ifdef MOZ_IPC
|
||||
EXPORTS += nsGeoPositionIPCSerialiser.h
|
||||
endif
|
||||
|
||||
include $(topsrcdir)/config/config.mk
|
||||
include $(topsrcdir)/ipc/chromium/chromium-config.mk
|
||||
|
@ -34,6 +34,7 @@
|
||||
*
|
||||
* ***** END LICENSE BLOCK ***** */
|
||||
|
||||
#ifdef MOZ_IPC
|
||||
#include "nsContentPermissionHelper.h"
|
||||
#include "nsXULAppAPI.h"
|
||||
|
||||
@ -52,6 +53,7 @@
|
||||
|
||||
#include "nsDOMEventTargetHelper.h"
|
||||
#include "TabChild.h"
|
||||
#endif
|
||||
|
||||
#include "nsGeolocation.h"
|
||||
#include "nsAutoPtr.h"
|
||||
@ -480,6 +482,7 @@ nsGeolocationRequest::Shutdown()
|
||||
mErrorCallback = nsnull;
|
||||
}
|
||||
|
||||
#ifdef MOZ_IPC
|
||||
bool nsGeolocationRequest::Recv__delete__(const bool& allow)
|
||||
{
|
||||
if (allow)
|
||||
@ -488,6 +491,7 @@ bool nsGeolocationRequest::Recv__delete__(const bool& allow)
|
||||
(void) Cancel();
|
||||
return true;
|
||||
}
|
||||
#endif
|
||||
////////////////////////////////////////////////////
|
||||
// nsGeolocationService
|
||||
////////////////////////////////////////////////////
|
||||
@ -677,11 +681,13 @@ nsGeolocationService::StartDevice()
|
||||
// inactivivity
|
||||
SetDisconnectTimer();
|
||||
|
||||
#ifdef MOZ_IPC
|
||||
if (XRE_GetProcessType() == GeckoProcessType_Content) {
|
||||
ContentChild* cpc = ContentChild::GetSingleton();
|
||||
cpc->SendAddGeolocationListener();
|
||||
return NS_OK;
|
||||
}
|
||||
#endif
|
||||
|
||||
// Start them up!
|
||||
nsCOMPtr<nsIObserverService> obs = mozilla::services::GetObserverService();
|
||||
@ -720,11 +726,13 @@ nsGeolocationService::StopDevice()
|
||||
mDisconnectTimer = nsnull;
|
||||
}
|
||||
|
||||
#ifdef MOZ_IPC
|
||||
if (XRE_GetProcessType() == GeckoProcessType_Content) {
|
||||
ContentChild* cpc = ContentChild::GetSingleton();
|
||||
cpc->SendRemoveGeolocationListener();
|
||||
return; // bail early
|
||||
}
|
||||
#endif
|
||||
|
||||
nsCOMPtr<nsIObserverService> obs = mozilla::services::GetObserverService();
|
||||
if (!obs)
|
||||
@ -1045,6 +1053,7 @@ nsGeolocation::WindowOwnerStillExists()
|
||||
bool
|
||||
nsGeolocation::RegisterRequestWithPrompt(nsGeolocationRequest* request)
|
||||
{
|
||||
#ifdef MOZ_IPC
|
||||
if (XRE_GetProcessType() == GeckoProcessType_Content) {
|
||||
nsCOMPtr<nsPIDOMWindow> window = do_QueryReferent(mOwner);
|
||||
if (!window)
|
||||
@ -1066,6 +1075,7 @@ nsGeolocation::RegisterRequestWithPrompt(nsGeolocationRequest* request)
|
||||
request->Sendprompt();
|
||||
return true;
|
||||
}
|
||||
#endif
|
||||
|
||||
if (nsContentUtils::GetBoolPref("geo.prompt.testing", PR_FALSE))
|
||||
{
|
||||
|
@ -37,9 +37,11 @@
|
||||
#ifndef nsGeoLocation_h
|
||||
#define nsGeoLocation_h
|
||||
|
||||
#ifdef MOZ_IPC
|
||||
#include "mozilla/dom/PContentPermissionRequestChild.h"
|
||||
// Microsoft's API Name hackery sucks
|
||||
#undef CreateEvent
|
||||
#endif
|
||||
|
||||
#include "nsCOMPtr.h"
|
||||
#include "nsAutoPtr.h"
|
||||
@ -65,7 +67,9 @@
|
||||
#include "nsIGeolocationProvider.h"
|
||||
#include "nsIContentPermissionPrompt.h"
|
||||
|
||||
#ifdef MOZ_IPC
|
||||
#include "PCOMContentPermissionRequestChild.h"
|
||||
#endif
|
||||
|
||||
class nsGeolocationService;
|
||||
class nsGeolocation;
|
||||
@ -73,7 +77,9 @@ class nsGeolocation;
|
||||
class nsGeolocationRequest
|
||||
: public nsIContentPermissionRequest
|
||||
, public nsITimerCallback
|
||||
#ifdef MOZ_IPC
|
||||
, public PCOMContentPermissionRequestChild
|
||||
#endif
|
||||
{
|
||||
public:
|
||||
NS_DECL_CYCLE_COLLECTING_ISUPPORTS
|
||||
@ -101,8 +107,10 @@ class nsGeolocationRequest
|
||||
|
||||
~nsGeolocationRequest();
|
||||
|
||||
#ifdef MOZ_IPC
|
||||
bool Recv__delete__(const bool& allow);
|
||||
void IPDLRelease() { Release(); }
|
||||
#endif
|
||||
|
||||
private:
|
||||
|
||||
|
@ -36,6 +36,7 @@
|
||||
|
||||
#include "nsDesktopNotification.h"
|
||||
|
||||
#ifdef MOZ_IPC
|
||||
#include "nsContentPermissionHelper.h"
|
||||
#include "nsXULAppAPI.h"
|
||||
|
||||
@ -43,6 +44,7 @@
|
||||
#include "TabChild.h"
|
||||
|
||||
using namespace mozilla::dom;
|
||||
#endif
|
||||
|
||||
/* ------------------------------------------------------------------------ */
|
||||
/* AlertServiceObserver */
|
||||
@ -127,6 +129,7 @@ nsDOMDesktopNotification::nsDOMDesktopNotification(const nsAString & title,
|
||||
nsRefPtr<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
|
||||
@ -149,6 +152,7 @@ nsDOMDesktopNotification::nsDOMDesktopNotification(const nsAString & title,
|
||||
request->Sendprompt();
|
||||
return;
|
||||
}
|
||||
#endif
|
||||
|
||||
// otherwise, dispatch it
|
||||
NS_DispatchToMainThread(request);
|
||||
|
@ -37,7 +37,10 @@
|
||||
#ifndef nsDesktopNotification_h
|
||||
#define nsDesktopNotification_h
|
||||
|
||||
#ifdef MOZ_IPC
|
||||
#include "PCOMContentPermissionRequestChild.h"
|
||||
#endif
|
||||
|
||||
|
||||
#include "nsDOMClassInfo.h"
|
||||
#include "nsIJSContextStack.h"
|
||||
@ -152,8 +155,10 @@ protected:
|
||||
* Simple Request
|
||||
*/
|
||||
class nsDesktopNotificationRequest : public nsIContentPermissionRequest,
|
||||
public nsRunnable,
|
||||
public PCOMContentPermissionRequestChild
|
||||
public nsRunnable
|
||||
#ifdef MOZ_IPC
|
||||
, public PCOMContentPermissionRequestChild
|
||||
#endif
|
||||
|
||||
{
|
||||
public:
|
||||
@ -177,6 +182,8 @@ class nsDesktopNotificationRequest : public nsIContentPermissionRequest,
|
||||
{
|
||||
}
|
||||
|
||||
#ifdef MOZ_IPC
|
||||
|
||||
bool Recv__delete__(const bool& allow)
|
||||
{
|
||||
if (allow)
|
||||
@ -186,6 +193,7 @@ class nsDesktopNotificationRequest : public nsIContentPermissionRequest,
|
||||
return true;
|
||||
}
|
||||
void IPDLRelease() { Release(); }
|
||||
#endif
|
||||
|
||||
nsRefPtr<nsDOMDesktopNotification> mDesktopNotification;
|
||||
};
|
||||
|
@ -57,9 +57,14 @@
|
||||
#include "nsIScriptGlobalObject.h"
|
||||
#include "nsIWebNavigation.h"
|
||||
|
||||
#ifdef MOZ_IPC
|
||||
#include "nsXULAppAPI.h"
|
||||
#define IS_CHILD_PROCESS() \
|
||||
(GeckoProcessType_Default != XRE_GetProcessType())
|
||||
#else
|
||||
#define IS_CHILD_PROCESS() \
|
||||
(false)
|
||||
#endif
|
||||
|
||||
// Event names
|
||||
|
||||
|
@ -55,11 +55,13 @@ CPPSRCS = \
|
||||
ifdef MOZ_STORAGE
|
||||
CPPSRCS += nsDOMStorageDBWrapper.cpp nsDOMStoragePersistentDB.cpp nsDOMStorageMemoryDB.cpp
|
||||
|
||||
ifdef MOZ_IPC
|
||||
CPPSRCS += StorageChild.cpp StorageParent.cpp
|
||||
|
||||
EXPORTS_NAMESPACES = mozilla/dom
|
||||
EXPORTS_mozilla/dom = StorageChild.h StorageParent.h
|
||||
endif
|
||||
endif
|
||||
|
||||
# we don't want the shared lib, but we want to force the creation of a static lib.
|
||||
FORCE_STATIC_LIB = 1
|
||||
|
@ -40,10 +40,12 @@
|
||||
*
|
||||
* ***** END LICENSE BLOCK ***** */
|
||||
|
||||
#ifdef MOZ_IPC
|
||||
#include "StorageChild.h"
|
||||
#include "StorageParent.h"
|
||||
#include "nsXULAppAPI.h"
|
||||
using mozilla::dom::StorageChild;
|
||||
#endif
|
||||
|
||||
#include "prnetdb.h"
|
||||
#include "nsCOMPtr.h"
|
||||
@ -269,9 +271,11 @@ nsDOMStorageManager::Initialize()
|
||||
|
||||
NS_ADDREF(gStorageManager);
|
||||
|
||||
#ifdef MOZ_IPC
|
||||
// No observers needed in non-chrome
|
||||
if (XRE_GetProcessType() != GeckoProcessType_Default)
|
||||
return NS_OK;
|
||||
#endif
|
||||
|
||||
nsCOMPtr<nsIObserverService> os = mozilla::services::GetObserverService();
|
||||
if (!os)
|
||||
@ -1351,10 +1355,12 @@ nsDOMStorage::nsDOMStorage()
|
||||
{
|
||||
mSecurityChecker = this;
|
||||
|
||||
#ifdef MOZ_IPC
|
||||
if (XRE_GetProcessType() != GeckoProcessType_Default)
|
||||
mStorageImpl = new StorageChild(this);
|
||||
else
|
||||
mStorageImpl = new DOMStorageImpl(this);
|
||||
#endif
|
||||
mStorageImpl = new DOMStorageImpl(this);
|
||||
}
|
||||
|
||||
nsDOMStorage::nsDOMStorage(nsDOMStorage& aThat)
|
||||
@ -1363,10 +1369,13 @@ nsDOMStorage::nsDOMStorage(nsDOMStorage& aThat)
|
||||
{
|
||||
mSecurityChecker = this;
|
||||
|
||||
#ifdef MOZ_IPC
|
||||
if (XRE_GetProcessType() != GeckoProcessType_Default) {
|
||||
StorageChild* other = static_cast<StorageChild*>(aThat.mStorageImpl.get());
|
||||
mStorageImpl = new StorageChild(this, *other);
|
||||
} else {
|
||||
} else
|
||||
#endif
|
||||
{
|
||||
DOMStorageImpl* other = static_cast<DOMStorageImpl*>(aThat.mStorageImpl.get());
|
||||
mStorageImpl = new DOMStorageImpl(this, *other);
|
||||
}
|
||||
|
@ -1229,7 +1229,10 @@ NS_IMETHODIMP nsWebBrowser::Create()
|
||||
}
|
||||
mDocShellAsNav->SetSessionHistory(mInitInfo->sessionHistory);
|
||||
|
||||
if (XRE_GetProcessType() == GeckoProcessType_Default) {
|
||||
#ifdef MOZ_IPC
|
||||
if (XRE_GetProcessType() == GeckoProcessType_Default)
|
||||
#endif
|
||||
{
|
||||
// Hook up global history. Do not fail if we can't - just warn.
|
||||
rv = EnableGlobalHistory(mShouldEnableHistory);
|
||||
NS_WARN_IF_FALSE(NS_SUCCEEDED(rv), "EnableGlobalHistory() failed");
|
||||
|
@ -37,9 +37,11 @@
|
||||
*
|
||||
* ***** END LICENSE BLOCK ***** */
|
||||
|
||||
#ifdef MOZ_IPC
|
||||
#include "mozilla/dom/ContentParent.h"
|
||||
#include "mozilla/dom/ContentChild.h"
|
||||
#include "mozilla/unused.h"
|
||||
#endif
|
||||
#include "nsPermissionManager.h"
|
||||
#include "nsPermission.h"
|
||||
#include "nsCRT.h"
|
||||
@ -61,6 +63,7 @@
|
||||
|
||||
static nsPermissionManager *gPermissionManager = nsnull;
|
||||
|
||||
#ifdef MOZ_IPC
|
||||
using mozilla::dom::ContentParent;
|
||||
using mozilla::dom::ContentChild;
|
||||
using mozilla::unused; // ha!
|
||||
@ -105,6 +108,7 @@ ParentProcess()
|
||||
|
||||
return nsnull;
|
||||
}
|
||||
#endif
|
||||
|
||||
#define ENSURE_NOT_CHILD_PROCESS_(onError) \
|
||||
PR_BEGIN_MACRO \
|
||||
@ -170,7 +174,9 @@ NS_IMPL_ISUPPORTS3(nsPermissionManager, nsIPermissionManager, nsIObserver, nsISu
|
||||
|
||||
nsPermissionManager::nsPermissionManager()
|
||||
: mLargestID(0)
|
||||
#ifdef MOZ_IPC
|
||||
, mUpdateChildProcess(PR_FALSE)
|
||||
#endif
|
||||
{
|
||||
}
|
||||
|
||||
@ -227,6 +233,7 @@ nsPermissionManager::Init()
|
||||
mObserverService->AddObserver(this, "profile-do-change", PR_TRUE);
|
||||
}
|
||||
|
||||
#ifdef MOZ_IPC
|
||||
if (IsChildProcess()) {
|
||||
// Get the permissions from the parent process
|
||||
InfallibleTArray<IPC::Permission> perms;
|
||||
@ -241,6 +248,7 @@ nsPermissionManager::Init()
|
||||
// Stop here; we don't need the DB in the child process
|
||||
return NS_OK;
|
||||
}
|
||||
#endif
|
||||
|
||||
// ignore failure here, since it's non-fatal (we can run fine without
|
||||
// persistent storage - e.g. if there's no profile).
|
||||
@ -432,7 +440,9 @@ nsPermissionManager::Add(nsIURI *aURI,
|
||||
PRUint32 aExpireType,
|
||||
PRInt64 aExpireTime)
|
||||
{
|
||||
#ifdef MOZ_IPC
|
||||
ENSURE_NOT_CHILD_PROCESS;
|
||||
#endif
|
||||
|
||||
NS_ENSURE_ARG_POINTER(aURI);
|
||||
NS_ENSURE_ARG_POINTER(aType);
|
||||
@ -466,6 +476,7 @@ nsPermissionManager::AddInternal(const nsAFlatCString &aHost,
|
||||
NotifyOperationType aNotifyOperation,
|
||||
DBOperationType aDBOperation)
|
||||
{
|
||||
#ifdef MOZ_IPC
|
||||
if (!IsChildProcess()) {
|
||||
// In the parent, send the update now, if the child is ready
|
||||
if (mUpdateChildProcess) {
|
||||
@ -475,6 +486,7 @@ nsPermissionManager::AddInternal(const nsAFlatCString &aHost,
|
||||
unused << ParentProcess()->SendAddPermission(permission);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
if (!gHostArena) {
|
||||
gHostArena = new PLArenaPool;
|
||||
@ -615,7 +627,9 @@ NS_IMETHODIMP
|
||||
nsPermissionManager::Remove(const nsACString &aHost,
|
||||
const char *aType)
|
||||
{
|
||||
#ifdef MOZ_IPC
|
||||
ENSURE_NOT_CHILD_PROCESS;
|
||||
#endif
|
||||
|
||||
NS_ENSURE_ARG_POINTER(aType);
|
||||
|
||||
@ -633,7 +647,9 @@ nsPermissionManager::Remove(const nsACString &aHost,
|
||||
NS_IMETHODIMP
|
||||
nsPermissionManager::RemoveAll()
|
||||
{
|
||||
#ifdef MOZ_IPC
|
||||
ENSURE_NOT_CHILD_PROCESS;
|
||||
#endif
|
||||
|
||||
nsresult rv = RemoveAllInternal();
|
||||
NotifyObservers(nsnull, NS_LITERAL_STRING("cleared").get());
|
||||
@ -790,7 +806,9 @@ AddPermissionsToList(nsHostEntry *entry, void *arg)
|
||||
|
||||
NS_IMETHODIMP nsPermissionManager::GetEnumerator(nsISimpleEnumerator **aEnum)
|
||||
{
|
||||
#ifdef MOZ_IPC
|
||||
ENSURE_NOT_CHILD_PROCESS;
|
||||
#endif
|
||||
|
||||
// roll an nsCOMArray of all our permissions, then hand out an enumerator
|
||||
nsCOMArray<nsIPermission> array;
|
||||
@ -803,7 +821,9 @@ NS_IMETHODIMP nsPermissionManager::GetEnumerator(nsISimpleEnumerator **aEnum)
|
||||
|
||||
NS_IMETHODIMP nsPermissionManager::Observe(nsISupports *aSubject, const char *aTopic, const PRUnichar *someData)
|
||||
{
|
||||
#ifdef MOZ_IPC
|
||||
ENSURE_NOT_CHILD_PROCESS;
|
||||
#endif
|
||||
|
||||
if (!nsCRT::strcmp(aTopic, "profile-before-change")) {
|
||||
// The profile is about to change,
|
||||
@ -900,7 +920,9 @@ nsPermissionManager::NotifyObservers(nsIPermission *aPermission,
|
||||
nsresult
|
||||
nsPermissionManager::Read()
|
||||
{
|
||||
#ifdef MOZ_IPC
|
||||
ENSURE_NOT_CHILD_PROCESS;
|
||||
#endif
|
||||
|
||||
nsresult rv;
|
||||
|
||||
@ -968,7 +990,9 @@ static const char kMatchTypeHost[] = "host";
|
||||
nsresult
|
||||
nsPermissionManager::Import()
|
||||
{
|
||||
#ifdef MOZ_IPC
|
||||
ENSURE_NOT_CHILD_PROCESS;
|
||||
#endif
|
||||
|
||||
nsresult rv;
|
||||
|
||||
@ -1074,7 +1098,9 @@ nsPermissionManager::UpdateDB(OperationType aOp,
|
||||
PRUint32 aExpireType,
|
||||
PRInt64 aExpireTime)
|
||||
{
|
||||
#ifdef MOZ_IPC
|
||||
ENSURE_NOT_CHILD_PROCESS_NORET;
|
||||
#endif
|
||||
|
||||
nsresult rv;
|
||||
|
||||
|
@ -251,6 +251,7 @@ private:
|
||||
// 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.
|
||||
@ -261,6 +262,7 @@ public:
|
||||
{
|
||||
mUpdateChildProcess = PR_TRUE;
|
||||
}
|
||||
#endif
|
||||
};
|
||||
|
||||
// {4F6B5E00-0C36-11d5-A535-0010A401EB10}
|
||||
|
@ -96,10 +96,12 @@ libs:: $(_BROWSER_TEST_FILES)
|
||||
|
||||
XPCSHELL_TESTS = unit
|
||||
|
||||
ifdef MOZ_IPC
|
||||
# FIXME/bug 575918: out-of-process xpcshell is broken on OS X
|
||||
ifneq ($(OS_ARCH),Darwin)
|
||||
XPCSHELL_TESTS += unit_ipc
|
||||
endif
|
||||
endif
|
||||
|
||||
include $(topsrcdir)/config/rules.mk
|
||||
|
||||
|
@ -59,12 +59,16 @@ endif
|
||||
DIRS += angle
|
||||
|
||||
|
||||
DIRS += src qcms layers harfbuzz/src ots/src thebes src/thebes ipc
|
||||
DIRS += src qcms layers harfbuzz/src ots/src thebes src/thebes
|
||||
|
||||
ifdef BUILD_STATIC_LIBS
|
||||
DIRS += ycbcr
|
||||
endif
|
||||
|
||||
ifdef MOZ_IPC
|
||||
DIRS += ipc
|
||||
endif
|
||||
|
||||
ifdef ENABLE_TESTS
|
||||
TOOL_DIRS += tests
|
||||
endif
|
||||
|
@ -42,6 +42,8 @@ VPATH = @srcdir@
|
||||
|
||||
include $(DEPTH)/config/autoconf.mk
|
||||
|
||||
ifdef MOZ_IPC
|
||||
|
||||
MODULE = gfxipc
|
||||
LIBRARY_NAME = gfxipc_s
|
||||
FORCE_STATIC_LIB = 1
|
||||
@ -71,6 +73,8 @@ endif
|
||||
include $(topsrcdir)/config/config.mk
|
||||
include $(topsrcdir)/ipc/chromium/chromium-config.mk
|
||||
|
||||
endif
|
||||
|
||||
include $(topsrcdir)/config/rules.mk
|
||||
|
||||
CXXFLAGS += $(MOZ_CAIRO_CFLAGS) $(TK_CFLAGS)
|
||||
|
@ -38,7 +38,9 @@
|
||||
*
|
||||
* ***** END LICENSE BLOCK ***** */
|
||||
|
||||
#include "mozilla/layers/ShadowLayers.h"
|
||||
#ifdef MOZ_IPC
|
||||
# include "mozilla/layers/ShadowLayers.h"
|
||||
#endif // MOZ_IPC
|
||||
|
||||
#include "ImageLayers.h"
|
||||
#include "Layers.h"
|
||||
@ -239,6 +241,7 @@ Layer::CanUseOpaqueSurface()
|
||||
parent->CanUseOpaqueSurface();
|
||||
}
|
||||
|
||||
#ifdef MOZ_IPC
|
||||
// NB: eventually these methods will be defined unconditionally, and
|
||||
// can be moved into Layers.h
|
||||
const nsIntRect*
|
||||
@ -259,6 +262,13 @@ Layer::GetEffectiveVisibleRegion()
|
||||
return GetVisibleRegion();
|
||||
}
|
||||
|
||||
#else
|
||||
|
||||
const nsIntRect* Layer::GetEffectiveClipRect() { return GetClipRect(); }
|
||||
const nsIntRegion& Layer::GetEffectiveVisibleRegion() { return GetVisibleRegion(); }
|
||||
|
||||
#endif // MOZ_IPC
|
||||
|
||||
gfx3DMatrix
|
||||
Layer::SnapTransform(const gfx3DMatrix& aTransform,
|
||||
const gfxRect& aSnapRect,
|
||||
@ -351,8 +361,10 @@ Layer::CalculateScissorRect(bool aIntermediate,
|
||||
const gfx3DMatrix&
|
||||
Layer::GetLocalTransform()
|
||||
{
|
||||
#ifdef MOZ_IPC
|
||||
if (ShadowLayer* shadow = AsShadowLayer())
|
||||
return shadow->GetShadowTransform();
|
||||
#endif
|
||||
return mTransform;
|
||||
}
|
||||
|
||||
@ -690,6 +702,7 @@ LayerManager::IsLogEnabled()
|
||||
return PR_LOG_TEST(sLog, PR_LOG_DEBUG);
|
||||
}
|
||||
|
||||
# ifdef MOZ_IPC
|
||||
static nsACString&
|
||||
PrintInfo(nsACString& aTo, ShadowLayer* aShadowLayer)
|
||||
{
|
||||
@ -707,6 +720,12 @@ PrintInfo(nsACString& aTo, ShadowLayer* aShadowLayer)
|
||||
}
|
||||
return aTo;
|
||||
}
|
||||
# else
|
||||
static nsACString& PrintInfo(nsACString& aTo, ShadowLayer* aShadowLayer)
|
||||
{
|
||||
return aTo;
|
||||
}
|
||||
# endif // MOZ_IPC
|
||||
|
||||
#else // !MOZ_LAYERS_HAVE_LOG
|
||||
|
||||
|
@ -44,11 +44,14 @@ VPATH = \
|
||||
$(srcdir)/opengl \
|
||||
$(srcdir)/d3d9 \
|
||||
$(srcdir)/d3d10 \
|
||||
$(srcdir)/ipc \
|
||||
$(NULL)
|
||||
|
||||
include $(DEPTH)/config/autoconf.mk
|
||||
|
||||
ifdef MOZ_IPC
|
||||
VPATH += $(srcdir)/ipc
|
||||
endif
|
||||
|
||||
MODULE = thebes
|
||||
LIBRARY_NAME = layers
|
||||
LIBXUL_LIBRARY = 1
|
||||
@ -124,6 +127,7 @@ CPPSRCS += \
|
||||
endif
|
||||
endif
|
||||
|
||||
ifdef MOZ_IPC #{
|
||||
EXPORTS_NAMESPACES = IPC mozilla/layers
|
||||
EXPORTS_IPC = ShadowLayerUtils.h
|
||||
EXPORTS_mozilla/layers =\
|
||||
@ -145,6 +149,8 @@ EXPORTS_mozilla/layers += ShadowLayerUtilsX11.h
|
||||
CPPSRCS += ShadowLayerUtilsX11.cpp
|
||||
endif #}
|
||||
|
||||
endif #}
|
||||
|
||||
# Enable GLES2.0 under maemo
|
||||
ifdef MOZ_X11
|
||||
ifdef MOZ_PLATFORM_MAEMO
|
||||
@ -154,7 +160,9 @@ endif
|
||||
|
||||
include $(topsrcdir)/config/rules.mk
|
||||
|
||||
ifdef MOZ_IPC
|
||||
include $(topsrcdir)/ipc/chromium/chromium-config.mk
|
||||
endif
|
||||
|
||||
CXXFLAGS += $(MOZ_CAIRO_CFLAGS) $(TK_CFLAGS)
|
||||
|
||||
|
@ -36,12 +36,14 @@
|
||||
*
|
||||
* ***** END LICENSE BLOCK ***** */
|
||||
|
||||
#include "gfxSharedImageSurface.h"
|
||||
#ifdef MOZ_IPC
|
||||
# include "gfxSharedImageSurface.h"
|
||||
|
||||
#include "mozilla/layers/PLayerChild.h"
|
||||
#include "mozilla/layers/PLayersChild.h"
|
||||
#include "mozilla/layers/PLayersParent.h"
|
||||
#include "ipc/ShadowLayerChild.h"
|
||||
# include "mozilla/layers/PLayerChild.h"
|
||||
# include "mozilla/layers/PLayersChild.h"
|
||||
# include "mozilla/layers/PLayersParent.h"
|
||||
# include "ipc/ShadowLayerChild.h"
|
||||
#endif
|
||||
|
||||
#include "BasicLayers.h"
|
||||
#include "ImageLayers.h"
|
||||
@ -1607,6 +1609,8 @@ BasicLayerManager::CreateReadbackLayer()
|
||||
return layer.forget();
|
||||
}
|
||||
|
||||
#ifdef MOZ_IPC
|
||||
|
||||
class BasicShadowableThebesLayer;
|
||||
class BasicShadowableLayer : public ShadowableLayer
|
||||
{
|
||||
@ -2890,6 +2894,7 @@ BasicShadowLayerManager::IsCompositingCheap()
|
||||
return mShadowManager &&
|
||||
LayerManager::IsCompositingCheap(GetParentBackendType());
|
||||
}
|
||||
#endif // MOZ_IPC
|
||||
|
||||
}
|
||||
}
|
||||
|
@ -45,7 +45,9 @@
|
||||
#include "nsAutoRef.h"
|
||||
#include "nsThreadUtils.h"
|
||||
|
||||
#ifdef MOZ_IPC
|
||||
#include "mozilla/layers/ShadowLayers.h"
|
||||
#endif
|
||||
|
||||
class nsIWidget;
|
||||
|
||||
@ -69,7 +71,11 @@ class ReadbackProcessor;
|
||||
* between layers).
|
||||
*/
|
||||
class THEBES_API BasicLayerManager :
|
||||
#ifdef MOZ_IPC
|
||||
public ShadowLayerManager
|
||||
#else
|
||||
public LayerManager
|
||||
#endif
|
||||
{
|
||||
public:
|
||||
/**
|
||||
@ -229,6 +235,7 @@ protected:
|
||||
};
|
||||
|
||||
|
||||
#ifdef MOZ_IPC
|
||||
class BasicShadowLayerManager : public BasicLayerManager,
|
||||
public ShadowLayerForwarder
|
||||
{
|
||||
@ -277,6 +284,7 @@ private:
|
||||
|
||||
LayerRefArray mKeepAlive;
|
||||
};
|
||||
#endif // MOZ_IPC
|
||||
|
||||
}
|
||||
}
|
||||
|
@ -35,7 +35,9 @@
|
||||
*
|
||||
* ***** END LICENSE BLOCK ***** */
|
||||
|
||||
#ifdef MOZ_IPC
|
||||
# include "gfxSharedImageSurface.h"
|
||||
#endif
|
||||
|
||||
#include "CanvasLayerOGL.h"
|
||||
|
||||
@ -251,6 +253,8 @@ CanvasLayerOGL::RenderLayer(int aPreviousDestination,
|
||||
}
|
||||
|
||||
|
||||
#ifdef MOZ_IPC
|
||||
|
||||
ShadowCanvasLayerOGL::ShadowCanvasLayerOGL(LayerManagerOGL* aManager)
|
||||
: ShadowCanvasLayer(aManager, nsnull)
|
||||
, LayerOGL(aManager)
|
||||
@ -338,3 +342,5 @@ ShadowCanvasLayerOGL::RenderLayer(int aPreviousFrameBuffer,
|
||||
|
||||
mOGLManager->BindAndDrawQuad(program);
|
||||
}
|
||||
|
||||
#endif // MOZ_IPC
|
||||
|
@ -38,8 +38,10 @@
|
||||
#ifndef GFX_CANVASLAYEROGL_H
|
||||
#define GFX_CANVASLAYEROGL_H
|
||||
|
||||
#ifdef MOZ_IPC
|
||||
# include "mozilla/layers/PLayers.h"
|
||||
# include "mozilla/layers/ShadowLayers.h"
|
||||
#endif // MOZ_IPC
|
||||
|
||||
#include "LayerManagerOGL.h"
|
||||
#include "gfxASurface.h"
|
||||
@ -87,6 +89,7 @@ protected:
|
||||
PRPackedBool mNeedsYFlip;
|
||||
};
|
||||
|
||||
#ifdef MOZ_IPC
|
||||
// NB: eventually we'll have separate shadow canvas2d and shadow
|
||||
// canvas3d layers, but currently they look the same from the
|
||||
// perspective of the compositor process
|
||||
@ -127,6 +130,7 @@ private:
|
||||
|
||||
|
||||
};
|
||||
#endif // MOZ_IPC
|
||||
|
||||
} /* layers */
|
||||
} /* mozilla */
|
||||
|
@ -80,12 +80,14 @@ ColorLayerOGL::RenderLayer(int,
|
||||
return RenderColorLayer(this, mOGLManager, aOffset);
|
||||
}
|
||||
|
||||
#ifdef MOZ_IPC
|
||||
void
|
||||
ShadowColorLayerOGL::RenderLayer(int,
|
||||
const nsIntPoint& aOffset)
|
||||
{
|
||||
return RenderColorLayer(this, mOGLManager, aOffset);
|
||||
}
|
||||
#endif // MOZ_IPC
|
||||
|
||||
|
||||
} /* layers */
|
||||
|
@ -38,8 +38,10 @@
|
||||
#ifndef GFX_COLORLAYEROGL_H
|
||||
#define GFX_COLORLAYEROGL_H
|
||||
|
||||
#ifdef MOZ_IPC
|
||||
# include "mozilla/layers/PLayers.h"
|
||||
# include "mozilla/layers/ShadowLayers.h"
|
||||
#endif // MOZ_IPC
|
||||
|
||||
#include "LayerManagerOGL.h"
|
||||
|
||||
@ -67,6 +69,7 @@ public:
|
||||
const nsIntPoint& aOffset);
|
||||
};
|
||||
|
||||
#ifdef MOZ_IPC
|
||||
class ShadowColorLayerOGL : public ShadowColorLayer,
|
||||
public LayerOGL
|
||||
{
|
||||
@ -87,6 +90,7 @@ public:
|
||||
virtual void RenderLayer(int aPreviousFrameBuffer,
|
||||
const nsIntPoint& aOffset);
|
||||
};
|
||||
#endif // MOZ_IPC
|
||||
|
||||
} /* layers */
|
||||
} /* mozilla */
|
||||
|
@ -343,6 +343,8 @@ ContainerLayerOGL::RenderLayer(int aPreviousFrameBuffer,
|
||||
}
|
||||
|
||||
|
||||
#ifdef MOZ_IPC
|
||||
|
||||
ShadowContainerLayerOGL::ShadowContainerLayerOGL(LayerManagerOGL *aManager)
|
||||
: ShadowContainerLayer(aManager, NULL)
|
||||
, LayerOGL(aManager)
|
||||
@ -389,6 +391,8 @@ ShadowContainerLayerOGL::RenderLayer(int aPreviousFrameBuffer,
|
||||
ContainerRender(this, aPreviousFrameBuffer, aOffset, mOGLManager);
|
||||
}
|
||||
|
||||
#endif // MOZ_IPC
|
||||
|
||||
|
||||
} /* layers */
|
||||
} /* mozilla */
|
||||
|
@ -38,8 +38,10 @@
|
||||
#ifndef GFX_CONTAINERLAYEROGL_H
|
||||
#define GFX_CONTAINERLAYEROGL_H
|
||||
|
||||
#ifdef MOZ_IPC
|
||||
# include "mozilla/layers/PLayers.h"
|
||||
# include "mozilla/layers/ShadowLayers.h"
|
||||
#endif
|
||||
|
||||
#include "Layers.h"
|
||||
#include "LayerManagerOGL.h"
|
||||
@ -98,6 +100,7 @@ public:
|
||||
}
|
||||
};
|
||||
|
||||
#ifdef MOZ_IPC
|
||||
class ShadowContainerLayerOGL : public ShadowContainerLayer,
|
||||
public LayerOGL
|
||||
{
|
||||
@ -136,6 +139,7 @@ public:
|
||||
DefaultComputeEffectiveTransforms(aTransformToSurface);
|
||||
}
|
||||
};
|
||||
#endif // MOZ_IPC
|
||||
|
||||
} /* layers */
|
||||
} /* mozilla */
|
||||
|
@ -36,7 +36,9 @@
|
||||
*
|
||||
* ***** END LICENSE BLOCK ***** */
|
||||
|
||||
#ifdef MOZ_IPC
|
||||
# include "gfxSharedImageSurface.h"
|
||||
#endif
|
||||
|
||||
#include "ImageLayerOGL.h"
|
||||
#include "gfxImageSurface.h"
|
||||
@ -743,6 +745,8 @@ CairoImageOGL::SetData(const CairoImage::Data &aData)
|
||||
tex);
|
||||
}
|
||||
|
||||
#ifdef MOZ_IPC
|
||||
|
||||
ShadowImageLayerOGL::ShadowImageLayerOGL(LayerManagerOGL* aManager)
|
||||
: ShadowImageLayer(aManager, nsnull)
|
||||
, LayerOGL(aManager)
|
||||
@ -833,6 +837,8 @@ ShadowImageLayerOGL::RenderLayer(int aPreviousFrameBuffer,
|
||||
mOGLManager->BindAndDrawQuad(program);
|
||||
}
|
||||
|
||||
#endif // MOZ_IPC
|
||||
|
||||
|
||||
} /* layers */
|
||||
} /* mozilla */
|
||||
|
@ -38,8 +38,10 @@
|
||||
#ifndef GFX_IMAGELAYEROGL_H
|
||||
#define GFX_IMAGELAYEROGL_H
|
||||
|
||||
#ifdef MOZ_IPC
|
||||
# include "mozilla/layers/PLayers.h"
|
||||
# include "mozilla/layers/ShadowLayers.h"
|
||||
#endif // MOZ_IPC
|
||||
|
||||
#include "LayerManagerOGL.h"
|
||||
#include "ImageLayers.h"
|
||||
@ -232,6 +234,7 @@ public:
|
||||
gl::ShaderProgramType mLayerProgram;
|
||||
};
|
||||
|
||||
#ifdef MOZ_IPC
|
||||
class ShadowImageLayerOGL : public ShadowImageLayer,
|
||||
public LayerOGL
|
||||
{
|
||||
@ -268,6 +271,7 @@ private:
|
||||
|
||||
|
||||
};
|
||||
#endif
|
||||
|
||||
} /* layers */
|
||||
} /* mozilla */
|
||||
|
@ -37,7 +37,9 @@
|
||||
*
|
||||
* ***** END LICENSE BLOCK ***** */
|
||||
|
||||
#ifdef MOZ_IPC
|
||||
# include "mozilla/layers/PLayers.h"
|
||||
#endif // MOZ_IPC
|
||||
|
||||
#include "LayerManagerOGL.h"
|
||||
#include "ThebesLayerOGL.h"
|
||||
@ -968,6 +970,8 @@ void LayerOGL::ApplyFilter(gfxPattern::GraphicsFilter aFilter)
|
||||
}
|
||||
}
|
||||
|
||||
#ifdef MOZ_IPC
|
||||
|
||||
already_AddRefed<ShadowThebesLayer>
|
||||
LayerManagerOGL::CreateShadowThebesLayer()
|
||||
{
|
||||
@ -1018,6 +1022,20 @@ LayerManagerOGL::CreateShadowCanvasLayer()
|
||||
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 */
|
||||
|
@ -42,7 +42,9 @@
|
||||
|
||||
#include "Layers.h"
|
||||
|
||||
#ifdef MOZ_IPC
|
||||
#include "mozilla/layers/ShadowLayers.h"
|
||||
#endif
|
||||
|
||||
#ifdef XP_WIN
|
||||
#include <windows.h>
|
||||
@ -82,7 +84,11 @@ class ShadowColorLayer;
|
||||
* the main thread.
|
||||
*/
|
||||
class THEBES_API LayerManagerOGL :
|
||||
#ifdef MOZ_IPC
|
||||
public ShadowLayerManager
|
||||
#else
|
||||
public LayerManager
|
||||
#endif
|
||||
{
|
||||
typedef mozilla::gl::GLContext GLContext;
|
||||
typedef mozilla::gl::ShaderProgramType ProgramType;
|
||||
|
@ -36,8 +36,10 @@
|
||||
*
|
||||
* ***** END LICENSE BLOCK ***** */
|
||||
|
||||
#ifdef MOZ_IPC
|
||||
# include "mozilla/layers/PLayers.h"
|
||||
# include "mozilla/layers/ShadowLayers.h"
|
||||
#endif
|
||||
|
||||
#include "ThebesLayerBuffer.h"
|
||||
#include "ThebesLayerOGL.h"
|
||||
@ -776,6 +778,8 @@ ThebesLayerOGL::IsEmpty()
|
||||
}
|
||||
|
||||
|
||||
#ifdef MOZ_IPC
|
||||
|
||||
class ShadowBufferOGL : public ThebesLayerBufferOGL
|
||||
{
|
||||
public:
|
||||
@ -948,6 +952,8 @@ ShadowThebesLayerOGL::RenderLayer(int aPreviousFrameBuffer,
|
||||
mBuffer->RenderTo(aOffset, mOGLManager);
|
||||
}
|
||||
|
||||
#endif // MOZ_IPC
|
||||
|
||||
|
||||
} /* layers */
|
||||
} /* mozilla */
|
||||
|
@ -38,8 +38,10 @@
|
||||
#ifndef GFX_THEBESLAYEROGL_H
|
||||
#define GFX_THEBESLAYEROGL_H
|
||||
|
||||
#include "mozilla/layers/PLayers.h"
|
||||
#include "mozilla/layers/ShadowLayers.h"
|
||||
#ifdef MOZ_IPC
|
||||
# include "mozilla/layers/PLayers.h"
|
||||
# include "mozilla/layers/ShadowLayers.h"
|
||||
#endif
|
||||
|
||||
#include "Layers.h"
|
||||
#include "LayerManagerOGL.h"
|
||||
@ -84,6 +86,7 @@ private:
|
||||
nsRefPtr<Buffer> mBuffer;
|
||||
};
|
||||
|
||||
#ifdef MOZ_IPC
|
||||
class ShadowThebesLayerOGL : public ShadowThebesLayer,
|
||||
public LayerOGL
|
||||
{
|
||||
@ -114,6 +117,7 @@ public:
|
||||
private:
|
||||
nsRefPtr<ShadowBufferOGL> mBuffer;
|
||||
};
|
||||
#endif // MOZ_IPC
|
||||
|
||||
} /* layers */
|
||||
} /* mozilla */
|
||||
|
@ -47,8 +47,13 @@ EXPORTS = \
|
||||
GLContextProviderImpl.h \
|
||||
nsCoreAnimationSupport.h \
|
||||
EGLUtils.h \
|
||||
$(NULL)
|
||||
|
||||
ifdef MOZ_IPC
|
||||
EXPORTS += \
|
||||
gfxSharedImageSurface.h \
|
||||
$(NULL)
|
||||
endif
|
||||
|
||||
ifeq ($(MOZ_WIDGET_TOOLKIT),android)
|
||||
EXPORTS += \
|
||||
@ -180,7 +185,6 @@ CPPSRCS = \
|
||||
gfxHarfBuzzShaper.cpp \
|
||||
GLContext.cpp \
|
||||
GLContextProviderOSMesa.cpp \
|
||||
gfxSharedImageSurface.cpp \
|
||||
$(NULL)
|
||||
|
||||
# Are we targeting x86 or x64? If so, build gfxAlphaRecoverySSE2.cpp.
|
||||
@ -199,6 +203,12 @@ endif
|
||||
|
||||
endif
|
||||
|
||||
ifdef MOZ_IPC
|
||||
CPPSRCS += \
|
||||
gfxSharedImageSurface.cpp \
|
||||
$(NULL)
|
||||
endif
|
||||
|
||||
SHARED_LIBRARY_LIBS += \
|
||||
../layers/$(LIB_PREFIX)layers.$(LIB_SUFFIX) \
|
||||
$(NULL)
|
||||
|
@ -35,8 +35,10 @@
|
||||
* the terms of any one of the MPL, the GPL or the LGPL.
|
||||
*
|
||||
* ***** END LICENSE BLOCK ***** */
|
||||
#ifdef MOZ_IPC
|
||||
#include "mozilla/dom/ContentChild.h"
|
||||
#include "nsXULAppAPI.h"
|
||||
#endif
|
||||
|
||||
#include <android/log.h>
|
||||
|
||||
@ -171,8 +173,10 @@ public:
|
||||
mMap.ops = nsnull;
|
||||
LOG("initializing the map failed");
|
||||
}
|
||||
#ifdef MOZ_IPC
|
||||
NS_ABORT_IF_FALSE(XRE_GetProcessType() == GeckoProcessType_Default,
|
||||
"StartupCacheFontNameCache should only be used in chrome procsess");
|
||||
#endif
|
||||
mCache = mozilla::scache::StartupCache::GetSingleton();
|
||||
Init();
|
||||
}
|
||||
|
@ -46,6 +46,8 @@ CHROMIUM_CONFIG_INCLUDED = 1
|
||||
|
||||
EXTRA_DEPS += $(topsrcdir)/ipc/chromium/chromium-config.mk
|
||||
|
||||
ifdef MOZ_IPC # {
|
||||
|
||||
DEFINES += \
|
||||
-DEXCLUDE_SKIA_DEPENDENCIES \
|
||||
-DCHROMIUM_MOZILLA_BUILD \
|
||||
@ -106,3 +108,4 @@ OS_CXXFLAGS := $(filter-out -pedantic,$(OS_CXXFLAGS))
|
||||
endif # }
|
||||
endif # }
|
||||
|
||||
endif # }
|
@ -678,6 +678,8 @@ Clear(JSContext *cx, uintN argc, jsval *vp)
|
||||
return JS_TRUE;
|
||||
}
|
||||
|
||||
#ifdef MOZ_IPC
|
||||
|
||||
static JSBool
|
||||
SendCommand(JSContext* cx,
|
||||
uintN argc,
|
||||
@ -722,6 +724,8 @@ GetChildGlobalObject(JSContext* cx,
|
||||
return JS_FALSE;
|
||||
}
|
||||
|
||||
#endif // MOZ_IPC
|
||||
|
||||
/*
|
||||
* JSContext option name to flag map. The option names are in alphabetical
|
||||
* order for better reporting.
|
||||
@ -856,8 +860,10 @@ static JSFunctionSpec glob_functions[] = {
|
||||
#ifdef DEBUG
|
||||
{"dumpHeap", DumpHeap, 5,0},
|
||||
#endif
|
||||
#ifdef MOZ_IPC
|
||||
{"sendCommand", SendCommand, 1,0},
|
||||
{"getChildGlobalObject", GetChildGlobalObject, 0,0},
|
||||
#endif
|
||||
#ifdef MOZ_CALLGRIND
|
||||
{"startCallgrind", js_StartCallgrind, 0,0},
|
||||
{"stopCallgrind", js_StopCallgrind, 0,0},
|
||||
@ -2013,8 +2019,10 @@ main(int argc, char **argv)
|
||||
JS_DestroyContext(cx);
|
||||
} // this scopes the nsCOMPtrs
|
||||
|
||||
#ifdef MOZ_IPC
|
||||
if (!XRE_ShutdownTestShell())
|
||||
NS_ERROR("problem shutting down testshell");
|
||||
#endif
|
||||
|
||||
#ifdef MOZ_CRASHREPORTER
|
||||
// Get the crashreporter service while XPCOM is still active.
|
||||
|
@ -52,13 +52,16 @@ PARALLEL_DIRS = \
|
||||
tables \
|
||||
xul/base/public \
|
||||
xul/base/src \
|
||||
ipc \
|
||||
$(NULL)
|
||||
|
||||
ifdef NS_PRINTING
|
||||
PARALLEL_DIRS += printing
|
||||
endif
|
||||
|
||||
ifdef MOZ_IPC
|
||||
PARALLEL_DIRS += ipc
|
||||
endif
|
||||
|
||||
ifdef MOZ_MATHML
|
||||
PARALLEL_DIRS += \
|
||||
mathml \
|
||||
|
@ -148,7 +148,9 @@ FORCE_STATIC_LIB = 1
|
||||
|
||||
include $(topsrcdir)/config/rules.mk
|
||||
|
||||
ifdef MOZ_IPC
|
||||
include $(topsrcdir)/ipc/chromium/chromium-config.mk
|
||||
endif
|
||||
|
||||
LOCAL_INCLUDES += \
|
||||
-I$(srcdir) \
|
||||
|
@ -1701,6 +1701,8 @@ nsDisplayOwnLayer::BuildLayer(nsDisplayListBuilder* aBuilder,
|
||||
return layer.forget();
|
||||
}
|
||||
|
||||
#ifdef MOZ_IPC
|
||||
|
||||
nsDisplayScrollLayer::nsDisplayScrollLayer(nsDisplayListBuilder* aBuilder,
|
||||
nsDisplayList* aList,
|
||||
nsIFrame* aForFrame,
|
||||
@ -1780,6 +1782,8 @@ nsDisplayScrollLayer::~nsDisplayScrollLayer()
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
nsDisplayClip::nsDisplayClip(nsDisplayListBuilder* aBuilder,
|
||||
nsIFrame* aFrame, nsDisplayItem* aItem,
|
||||
const nsRect& aRect)
|
||||
|
@ -1769,6 +1769,7 @@ public:
|
||||
NS_DISPLAY_DECL_NAME("OwnLayer", TYPE_OWN_LAYER)
|
||||
};
|
||||
|
||||
#ifdef MOZ_IPC
|
||||
/**
|
||||
* This creates a layer for the given list of items, whose visibility is
|
||||
* determined by the displayport for the given frame instead of what is
|
||||
@ -1816,6 +1817,7 @@ public:
|
||||
private:
|
||||
nsIFrame* mViewportFrame;
|
||||
};
|
||||
#endif
|
||||
|
||||
/**
|
||||
* nsDisplayClip can clip a list of items, but we take a single item
|
||||
|
@ -78,11 +78,17 @@ EXPORTS = \
|
||||
nsLayoutStatics.h \
|
||||
$(NULL)
|
||||
|
||||
ifdef MOZ_IPC
|
||||
GKIPCLIB=../ipc/$(LIB_PREFIX)gkipc_s.$(LIB_SUFFIX)
|
||||
else
|
||||
GKIPCLIB=$(NULL)
|
||||
endif
|
||||
|
||||
SHARED_LIBRARY_LIBS = \
|
||||
../base/$(LIB_PREFIX)gkbase_s.$(LIB_SUFFIX) \
|
||||
../forms/$(LIB_PREFIX)gkforms_s.$(LIB_SUFFIX) \
|
||||
../generic/$(LIB_PREFIX)gkgeneric_s.$(LIB_SUFFIX) \
|
||||
../ipc/$(LIB_PREFIX)gkipc_s.$(LIB_SUFFIX) \
|
||||
$(GKIPCLIB) \
|
||||
../style/$(LIB_PREFIX)gkstyle_s.$(LIB_SUFFIX) \
|
||||
../tables/$(LIB_PREFIX)gktable_s.$(LIB_SUFFIX) \
|
||||
../xul/base/src/$(LIB_PREFIX)gkxulbase_s.$(LIB_SUFFIX) \
|
||||
@ -294,8 +300,10 @@ ifdef MOZ_NATIVE_LIBVPX
|
||||
EXTRA_DSO_LDOPTS += $(MOZ_LIBVPX_LIBS)
|
||||
endif
|
||||
|
||||
ifdef MOZ_IPC
|
||||
include $(topsrcdir)/config/config.mk
|
||||
include $(topsrcdir)/ipc/chromium/chromium-config.mk
|
||||
endif
|
||||
|
||||
include $(topsrcdir)/config/rules.mk
|
||||
|
||||
|
@ -36,7 +36,9 @@
|
||||
*
|
||||
* ***** END LICENSE BLOCK ***** */
|
||||
|
||||
#ifdef MOZ_IPC
|
||||
#include "base/basictypes.h"
|
||||
#endif
|
||||
|
||||
#include "xpcmodule.h"
|
||||
#include "mozilla/ModuleUtils.h"
|
||||
|
@ -55,7 +55,9 @@
|
||||
#undef slots
|
||||
#endif
|
||||
|
||||
#ifdef MOZ_IPC
|
||||
#include "mozilla/plugins/PluginMessageUtils.h"
|
||||
#endif
|
||||
|
||||
#ifdef MOZ_X11
|
||||
#include <cairo-xlib.h>
|
||||
@ -238,7 +240,9 @@ static PRLogModuleInfo *nsObjectFrameLM = PR_NewLogModule("nsObjectFrame");
|
||||
#endif
|
||||
|
||||
using namespace mozilla;
|
||||
#ifdef MOZ_IPC
|
||||
using namespace mozilla::plugins;
|
||||
#endif
|
||||
using namespace mozilla::layers;
|
||||
|
||||
// special class for handeling DOM context menu events because for
|
||||
@ -2351,6 +2355,7 @@ nsObjectFrame::PaintPlugin(nsDisplayListBuilder* aBuilder,
|
||||
nsPoint origin;
|
||||
|
||||
gfxWindowsNativeDrawing nativeDraw(ctx, frameGfxRect);
|
||||
#ifdef MOZ_IPC
|
||||
if (nativeDraw.IsDoublePass()) {
|
||||
// OOP plugin specific: let the shim know before we paint if we are doing a
|
||||
// double pass render. If this plugin isn't oop, the register window message
|
||||
@ -2362,6 +2367,7 @@ nsObjectFrame::PaintPlugin(nsDisplayListBuilder* aBuilder,
|
||||
if (pluginEvent.event)
|
||||
inst->HandleEvent(&pluginEvent, nsnull);
|
||||
}
|
||||
#endif
|
||||
do {
|
||||
HDC hdc = nativeDraw.BeginNativeDrawing();
|
||||
if (!hdc)
|
||||
|
@ -43,8 +43,10 @@
|
||||
* 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"
|
||||
@ -275,6 +277,7 @@ nsSubDocumentFrame::BuildDisplayList(nsDisplayListBuilder* aBuilder,
|
||||
if (!mInnerView)
|
||||
return NS_OK;
|
||||
|
||||
#ifdef MOZ_IPC
|
||||
nsFrameLoader* frameLoader = FrameLoader();
|
||||
if (frameLoader) {
|
||||
RenderFrameParent* rfp = frameLoader->GetCurrentRemoteFrame();
|
||||
@ -282,6 +285,7 @@ nsSubDocumentFrame::BuildDisplayList(nsDisplayListBuilder* aBuilder,
|
||||
return rfp->BuildDisplayList(aBuilder, this, aDirtyRect, aLists);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
nsIView* subdocView = mInnerView->GetFirstChild();
|
||||
if (!subdocView)
|
||||
|
@ -38,8 +38,10 @@
|
||||
*
|
||||
* ***** END LICENSE BLOCK ***** */
|
||||
|
||||
#ifdef MOZ_IPC
|
||||
#include "mozilla/dom/ContentChild.h"
|
||||
#include "nsXULAppAPI.h"
|
||||
#endif
|
||||
|
||||
#include "nsPrefBranch.h"
|
||||
#include "nsILocalFile.h"
|
||||
@ -72,6 +74,7 @@ static PLDHashOperator
|
||||
pref_enumChild(PLDHashTable *table, PLDHashEntryHdr *heh,
|
||||
PRUint32 i, void *arg);
|
||||
|
||||
#ifdef MOZ_IPC
|
||||
using mozilla::dom::ContentChild;
|
||||
|
||||
static ContentChild*
|
||||
@ -86,6 +89,7 @@ GetContentChild()
|
||||
}
|
||||
return nsnull;
|
||||
}
|
||||
#endif // MOZ_IPC
|
||||
|
||||
/*
|
||||
* Constructor/Destructor
|
||||
@ -166,10 +170,12 @@ NS_IMETHODIMP nsPrefBranch::GetBoolPref(const char *aPrefName, PRBool *_retval)
|
||||
|
||||
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);
|
||||
@ -185,10 +191,12 @@ NS_IMETHODIMP nsPrefBranch::GetCharPref(const char *aPrefName, char **_retval)
|
||||
|
||||
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);
|
||||
@ -205,10 +213,12 @@ NS_IMETHODIMP nsPrefBranch::GetIntPref(const char *aPrefName, PRInt32 *_retval)
|
||||
|
||||
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);
|
||||
@ -268,10 +278,12 @@ NS_IMETHODIMP nsPrefBranch::GetComplexValue(const char *aPrefName, const nsIID &
|
||||
}
|
||||
|
||||
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));
|
||||
|
||||
@ -286,10 +298,12 @@ NS_IMETHODIMP nsPrefBranch::GetComplexValue(const char *aPrefName, const nsIID &
|
||||
}
|
||||
|
||||
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);
|
||||
@ -343,10 +357,12 @@ NS_IMETHODIMP nsPrefBranch::GetComplexValue(const char *aPrefName, const nsIID &
|
||||
|
||||
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);
|
||||
|
||||
@ -432,10 +448,12 @@ NS_IMETHODIMP nsPrefBranch::SetComplexValue(const char *aPrefName, const nsIID &
|
||||
|
||||
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);
|
||||
@ -453,10 +471,12 @@ NS_IMETHODIMP nsPrefBranch::PrefHasUserValue(const char *aPrefName, PRBool *_ret
|
||||
|
||||
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);
|
||||
@ -465,10 +485,12 @@ NS_IMETHODIMP nsPrefBranch::LockPref(const char *aPrefName)
|
||||
|
||||
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);
|
||||
@ -479,10 +501,12 @@ NS_IMETHODIMP nsPrefBranch::PrefIsLocked(const char *aPrefName, PRBool *_retval)
|
||||
|
||||
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);
|
||||
@ -497,10 +521,12 @@ NS_IMETHODIMP nsPrefBranch::ResetBranch(const char *aStartingAt)
|
||||
|
||||
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);
|
||||
|
@ -37,8 +37,10 @@
|
||||
*
|
||||
* ***** END LICENSE BLOCK ***** */
|
||||
|
||||
#ifdef MOZ_IPC
|
||||
#include "mozilla/dom/ContentChild.h"
|
||||
#include "nsXULAppAPI.h"
|
||||
#endif
|
||||
|
||||
#include "nsPrefService.h"
|
||||
#include "nsAppDirectoryServiceDefs.h"
|
||||
@ -139,6 +141,7 @@ nsresult nsPrefService::Init()
|
||||
rv = pref_InitInitialObjects();
|
||||
NS_ENSURE_SUCCESS(rv, rv);
|
||||
|
||||
#ifdef MOZ_IPC
|
||||
using mozilla::dom::ContentChild;
|
||||
if (XRE_GetProcessType() == GeckoProcessType_Content) {
|
||||
InfallibleTArray<PrefTuple> array;
|
||||
@ -151,6 +154,7 @@ nsresult nsPrefService::Init()
|
||||
}
|
||||
return NS_OK;
|
||||
}
|
||||
#endif
|
||||
|
||||
nsXPIDLCString lockFileName;
|
||||
/*
|
||||
@ -184,8 +188,10 @@ nsresult nsPrefService::Init()
|
||||
|
||||
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;
|
||||
|
||||
@ -213,10 +219,12 @@ NS_IMETHODIMP nsPrefService::Observe(nsISupports *aSubject, const char *aTopic,
|
||||
|
||||
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;
|
||||
|
||||
@ -234,10 +242,12 @@ NS_IMETHODIMP nsPrefService::ReadUserPrefs(nsIFile *aFile)
|
||||
|
||||
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();
|
||||
@ -250,10 +260,12 @@ NS_IMETHODIMP nsPrefService::ResetPrefs()
|
||||
|
||||
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;
|
||||
@ -261,10 +273,12 @@ NS_IMETHODIMP nsPrefService::ResetUserPrefs()
|
||||
|
||||
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);
|
||||
}
|
||||
|
@ -48,9 +48,11 @@ 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
|
||||
|
@ -119,7 +119,9 @@ 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)
|
||||
|
@ -36,7 +36,9 @@
|
||||
*
|
||||
* ***** END LICENSE BLOCK ***** */
|
||||
|
||||
#ifdef MOZ_IPC
|
||||
#include "base/basictypes.h"
|
||||
#endif
|
||||
|
||||
// FIXME(bug 332648): Give me a real API please!
|
||||
#include "jscntxt.h"
|
||||
@ -57,9 +59,11 @@
|
||||
|
||||
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
|
||||
@ -93,7 +97,11 @@ namespace {
|
||||
inline bool
|
||||
NPObjectIsOutOfProcessProxy(NPObject *obj)
|
||||
{
|
||||
#ifdef MOZ_IPC
|
||||
return obj->_class == PluginScriptableObjectParent::GetClass();
|
||||
#else
|
||||
return false;
|
||||
#endif
|
||||
}
|
||||
|
||||
} // anonymous namespace
|
||||
@ -1328,6 +1336,7 @@ NPObjWrapper_GetProperty(JSContext *cx, JSObject *obj, jsid id, jsval *vp)
|
||||
|
||||
NPIdentifier identifier = JSIdToNPIdentifier(id);
|
||||
|
||||
#ifdef MOZ_IPC
|
||||
if (NPObjectIsOutOfProcessProxy(npobj)) {
|
||||
PluginScriptableObjectParent* actor =
|
||||
static_cast<ParentNPObject*>(npobj)->parent;
|
||||
@ -1359,6 +1368,7 @@ NPObjWrapper_GetProperty(JSContext *cx, JSObject *obj, jsid id, jsval *vp)
|
||||
}
|
||||
return JS_TRUE;
|
||||
}
|
||||
#endif
|
||||
|
||||
hasProperty = npobj->_class->hasProperty(npobj, identifier);
|
||||
if (!ReportExceptionIfPending(cx))
|
||||
|
@ -40,7 +40,9 @@
|
||||
#include <QX11Info>
|
||||
#endif
|
||||
|
||||
#ifdef MOZ_IPC
|
||||
#include "base/basictypes.h"
|
||||
#endif
|
||||
|
||||
#include "prtypes.h"
|
||||
#include "prmem.h"
|
||||
@ -112,8 +114,10 @@ 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"
|
||||
@ -261,6 +265,7 @@ nsNPAPIPlugin::SetPluginRefNum(short aRefNum)
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef MOZ_IPC
|
||||
void
|
||||
nsNPAPIPlugin::PluginCrashed(const nsAString& pluginDumpID,
|
||||
const nsAString& browserDumpID)
|
||||
@ -268,6 +273,9 @@ nsNPAPIPlugin::PluginCrashed(const nsAString& pluginDumpID,
|
||||
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()
|
||||
@ -452,6 +460,8 @@ nsNPAPIPlugin::RunPluginOOP(const nsPluginTag *aPluginTag)
|
||||
return oopPluginsEnabled;
|
||||
}
|
||||
|
||||
#endif // MOZ_IPC
|
||||
|
||||
inline PluginLibrary*
|
||||
GetNewPluginLibrary(nsPluginTag *aPluginTag)
|
||||
{
|
||||
@ -459,9 +469,11 @@ GetNewPluginLibrary(nsPluginTag *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);
|
||||
}
|
||||
|
||||
|
@ -96,6 +96,7 @@ public:
|
||||
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
|
||||
@ -104,6 +105,7 @@ public:
|
||||
const nsAString& browserDumpID);
|
||||
|
||||
static PRBool RunPluginOOP(const nsPluginTag *aPluginTag);
|
||||
#endif
|
||||
|
||||
protected:
|
||||
|
||||
|
@ -1741,7 +1741,11 @@ 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");
|
||||
@ -4083,6 +4087,7 @@ NS_IMETHODIMP nsPluginHost::Notify(nsITimer* timer)
|
||||
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.
|
||||
@ -4192,6 +4197,7 @@ nsPluginHost::PluginCrashed(nsNPAPIPlugin* aPlugin,
|
||||
CheckForDisabledWindows();
|
||||
#endif
|
||||
}
|
||||
#endif
|
||||
|
||||
nsNPAPIPluginInstance*
|
||||
nsPluginHost::FindInstance(const char *mimetype)
|
||||
|
@ -176,9 +176,11 @@ public:
|
||||
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);
|
||||
|
@ -721,6 +721,7 @@ nsresult nsPluginNativeWindowWin::SubclassAndAssociateWindow()
|
||||
}
|
||||
|
||||
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.
|
||||
@ -728,6 +729,9 @@ nsresult nsPluginNativeWindowWin::SubclassAndAssociateWindow()
|
||||
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);
|
||||
|
@ -45,8 +45,10 @@
|
||||
by Patrick C. Beard.
|
||||
*/
|
||||
|
||||
#ifdef MOZ_IPC
|
||||
#include "GeckoChildProcessHost.h"
|
||||
#include "base/process_util.h"
|
||||
#endif
|
||||
|
||||
#include "prlink.h"
|
||||
#include "prnetdb.h"
|
||||
@ -458,6 +460,7 @@ static PRBool IsCompatibleArch(nsIFile *file)
|
||||
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';
|
||||
@ -475,6 +478,9 @@ static PRBool IsCompatibleArch(nsIFile *file)
|
||||
|
||||
// Consider the plugin architecture valid if there is any overlap in the masks.
|
||||
isPluginFile = !!(containerArchitectures & pluginLibArchitectures);
|
||||
#else
|
||||
isPluginFile = !!::CFBundlePreflightExecutable(pluginBundle, NULL);
|
||||
#endif
|
||||
}
|
||||
::CFRelease(pluginBundle);
|
||||
}
|
||||
|
@ -54,9 +54,21 @@ DIRS = \
|
||||
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
|
||||
|
@ -143,11 +143,15 @@ XPIDLSRCS = \
|
||||
nsIRedirectResultListener.idl \
|
||||
mozIThirdPartyUtil.idl \
|
||||
nsISerializationHelper.idl \
|
||||
$(NULL)
|
||||
|
||||
ifdef MOZ_IPC
|
||||
XPIDLSRCS += \
|
||||
nsIChildChannel.idl \
|
||||
nsIParentChannel.idl \
|
||||
nsIParentRedirectingChannel.idl \
|
||||
nsIRedirectChannelRegistrar.idl \
|
||||
$(NULL)
|
||||
nsIRedirectChannelRegistrar.idl
|
||||
endif
|
||||
|
||||
ifdef MOZ_TOOLKIT_SEARCH
|
||||
XPIDLSRCS += nsIBrowserSearchService.idl
|
||||
|
@ -109,7 +109,9 @@
|
||||
#include "nsISocketProvider.h"
|
||||
#include "mozilla/Services.h"
|
||||
|
||||
#ifdef MOZ_IPC
|
||||
#include "nsIRedirectChannelRegistrar.h"
|
||||
#endif
|
||||
|
||||
#ifdef MOZILLA_INTERNAL_API
|
||||
|
||||
@ -1782,6 +1784,7 @@ NS_IsInternalSameURIRedirect(nsIChannel *aOldChannel,
|
||||
return NS_SUCCEEDED(oldURI->Equals(newURI, &res)) && res;
|
||||
}
|
||||
|
||||
#ifdef MOZ_IPC
|
||||
inline nsresult
|
||||
NS_LinkRedirectChannels(PRUint32 channelId,
|
||||
nsIParentChannel *parentChannel,
|
||||
@ -1797,6 +1800,7 @@ NS_LinkRedirectChannels(PRUint32 channelId,
|
||||
parentChannel,
|
||||
_result);
|
||||
}
|
||||
#endif // MOZ_IPC
|
||||
|
||||
/**
|
||||
* Helper function to create a random URL string that's properly formed
|
||||
|
@ -47,7 +47,9 @@ MODULE = necko
|
||||
LIBRARY_NAME = neckobase_s
|
||||
LIBXUL_LIBRARY = 1
|
||||
|
||||
EXPORTS = nsURLHelper.h
|
||||
ifdef MOZ_IPC
|
||||
EXPORTS = nsURLHelper.h
|
||||
endif
|
||||
|
||||
CPPSRCS = \
|
||||
nsTransportUtils.cpp \
|
||||
@ -90,9 +92,12 @@ CPPSRCS = \
|
||||
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
|
||||
|
@ -35,8 +35,10 @@
|
||||
*
|
||||
* ***** END LICENSE BLOCK ***** */
|
||||
|
||||
#ifdef MOZ_IPC
|
||||
#include "IPC/IPCMessageUtils.h"
|
||||
#include "mozilla/net/NeckoMessageUtils.h"
|
||||
#endif
|
||||
|
||||
#include "nsBufferedStreams.h"
|
||||
#include "nsStreamUtils.h"
|
||||
@ -489,6 +491,7 @@ nsBufferedInputStream::GetUnbufferedStream(nsISupports* *aStream)
|
||||
PRBool
|
||||
nsBufferedInputStream::Read(const IPC::Message *aMsg, void **aIter)
|
||||
{
|
||||
#ifdef MOZ_IPC
|
||||
using IPC::ReadParam;
|
||||
|
||||
PRUint32 bufferSize;
|
||||
@ -503,17 +506,22 @@ nsBufferedInputStream::Read(const IPC::Message *aMsg, void **aIter)
|
||||
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
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
@ -35,7 +35,9 @@
|
||||
*
|
||||
* ***** END LICENSE BLOCK ***** */
|
||||
|
||||
#ifdef MOZ_IPC
|
||||
#include "IPC/IPCMessageUtils.h"
|
||||
#endif
|
||||
|
||||
#if defined(XP_UNIX) || defined(XP_BEOS)
|
||||
#include <unistd.h>
|
||||
@ -439,6 +441,7 @@ nsFileInputStream::Seek(PRInt32 aWhence, PRInt64 aOffset)
|
||||
PRBool
|
||||
nsFileInputStream::Read(const IPC::Message *aMsg, void **aIter)
|
||||
{
|
||||
#ifdef MOZ_IPC
|
||||
using IPC::ReadParam;
|
||||
|
||||
nsCString path;
|
||||
@ -461,11 +464,15 @@ nsFileInputStream::Read(const IPC::Message *aMsg, void **aIter)
|
||||
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;
|
||||
@ -476,6 +483,7 @@ nsFileInputStream::Write(IPC::Message *aMsg)
|
||||
localFile->GetFollowLinks(&followLinks);
|
||||
WriteParam(aMsg, followLinks);
|
||||
WriteParam(aMsg, mBehaviorFlags);
|
||||
#endif
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
@ -262,8 +262,10 @@ nsIOService::Init()
|
||||
|
||||
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)
|
||||
@ -728,6 +730,7 @@ nsIOService::SetOffline(PRBool offline)
|
||||
|
||||
NS_ASSERTION(observerService, "The observer service should not be null");
|
||||
|
||||
#ifdef MOZ_IPC
|
||||
if (XRE_GetProcessType() == GeckoProcessType_Default) {
|
||||
if (observerService) {
|
||||
(void)observerService->NotifyObservers(nsnull,
|
||||
@ -736,6 +739,7 @@ nsIOService::SetOffline(PRBool offline)
|
||||
NS_LITERAL_STRING("false").get());
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
while (mSetOfflineValue != mOffline) {
|
||||
offline = mSetOfflineValue;
|
||||
|
@ -41,8 +41,10 @@
|
||||
* 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"
|
||||
@ -329,6 +331,7 @@ nsMIMEInputStreamConstructor(nsISupports *outer, REFNSIID iid, void **result)
|
||||
PRBool
|
||||
nsMIMEInputStream::Read(const IPC::Message *aMsg, void **aIter)
|
||||
{
|
||||
#ifdef MOZ_IPC
|
||||
using IPC::ReadParam;
|
||||
|
||||
if (!ReadParam(aMsg, aIter, &mHeaders) ||
|
||||
@ -358,11 +361,15 @@ nsMIMEInputStream::Read(const IPC::Message *aMsg, void **aIter)
|
||||
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);
|
||||
@ -373,4 +380,5 @@ nsMIMEInputStream::Write(IPC::Message *aMsg)
|
||||
WriteParam(aMsg, inputStream);
|
||||
|
||||
WriteParam(aMsg, mAddContentLength);
|
||||
#endif
|
||||
}
|
||||
|
@ -36,8 +36,10 @@
|
||||
*
|
||||
* ***** END LICENSE BLOCK ***** */
|
||||
|
||||
#ifdef MOZ_IPC
|
||||
#include "IPCMessageUtils.h"
|
||||
#include "mozilla/net/NeckoMessageUtils.h"
|
||||
#endif
|
||||
|
||||
#include "nsSimpleNestedURI.h"
|
||||
#include "nsIObjectInputStream.h"
|
||||
@ -93,6 +95,7 @@ nsSimpleNestedURI::Write(nsIObjectOutputStream* aStream)
|
||||
PRBool
|
||||
nsSimpleNestedURI::Read(const IPC::Message *aMsg, void **aIter)
|
||||
{
|
||||
#ifdef MOZ_IPC
|
||||
if (!nsSimpleURI::Read(aMsg, aIter))
|
||||
return PR_FALSE;
|
||||
|
||||
@ -103,15 +106,19 @@ nsSimpleNestedURI::Read(const IPC::Message *aMsg, void **aIter)
|
||||
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
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user