Bug 1326245: Tell the child processes when we're in safe mode.
MozReview-Commit-ID: EiuULIb5L6A
--- a/dom/ipc/ContentParent.cpp
+++ b/dom/ipc/ContentParent.cpp
@@ -1865,16 +1865,20 @@ ContentParent::LaunchSubprocess(ProcessP
extraArgs.push_back("-intPrefs");
extraArgs.push_back(intPrefs.str());
extraArgs.push_back("-boolPrefs");
extraArgs.push_back(boolPrefs.str());
extraArgs.push_back("-stringPrefs");
extraArgs.push_back(stringPrefs.str());
+ if (gSafeMode) {
+ extraArgs.push_back("-safeMode");
+ }
+
if (!mSubprocess->LaunchAndWaitForProcessHandle(extraArgs)) {
MarkAsDead();
return false;
}
Open(mSubprocess->GetChannel(),
base::GetProcId(mSubprocess->GetChildProcessHandle()));
--- a/dom/ipc/ContentProcess.cpp
+++ b/dom/ipc/ContentProcess.cpp
@@ -192,16 +192,19 @@ ContentProcess::Init(int aArgc, char* aA
MaybePrefValue value(PrefValue(nsCString(str, length)));
PrefSetting pref(nsCString(ContentPrefs::GetContentPref(index)), value, MaybePrefValue());
prefsArray.AppendElement(pref);
str += length + 1;
}
SET_PREF_PHASE(END_INIT_PREFS);
foundStringPrefs = true;
}
+ else if (!strcmp(aArgv[idx], "-safeMode")) {
+ gSafeMode = true;
+ }
#if defined(XP_MACOSX) && defined(MOZ_CONTENT_SANDBOX)
else if (!strcmp(aArgv[idx], "-profile")) {
MOZ_ASSERT(!foundProfile);
if (foundProfile) {
continue;
}
bool flag;