Bug 1440019 - removed some dead code from ContentParent::InitInternal; r?jld
MozReview-Commit-ID: 7ZqXBxJ6Yw9
--- a/dom/ipc/ContentParent.cpp
+++ b/dom/ipc/ContentParent.cpp
@@ -2067,19 +2067,17 @@ ContentParent::LaunchSubprocess(ProcessP
base::ProcessId procId = base::GetProcId(mSubprocess->GetChildProcessHandle());
Open(mSubprocess->GetChannel(), procId);
#ifdef MOZ_CODE_COVERAGE
Unused << SendShareCodeCoverageMutex(CodeCoverageHandler::Get()->GetMutexHandle(procId));
#endif
- InitInternal(aInitialPriority,
- true, /* Setup off-main thread compositing */
- true /* Send registered chrome */);
+ InitInternal(aInitialPriority);
ContentProcessManager::GetSingleton()->AddContentProcess(this);
mHangMonitorActor = ProcessHangMonitor::AddProcess(this);
// Set a reply timeout for CPOWs.
SetReplyTimeoutMs(Preferences::GetInt("dom.ipc.cpow.timeout", 0));
@@ -2163,19 +2161,17 @@ ContentParent::~ContentParent()
} else {
MOZ_ASSERT(!sBrowserContentParents ||
!sBrowserContentParents->Contains(mRemoteType) ||
!sBrowserContentParents->Get(mRemoteType)->Contains(this));
}
}
void
-ContentParent::InitInternal(ProcessPriority aInitialPriority,
- bool aSetupOffMainThreadCompositing,
- bool aSendRegisteredChrome)
+ContentParent::InitInternal(ProcessPriority aInitialPriority)
{
Telemetry::Accumulate(Telemetry::CONTENT_PROCESS_LAUNCH_TIME_MS,
static_cast<uint32_t>((TimeStamp::Now() - mLaunchTS)
.ToMilliseconds()));
XPCOMInitData xpcomInit;
Preferences::GetPreferences(&xpcomInit.prefs());
@@ -2293,22 +2289,20 @@ ContentParent::InitInternal(ProcessPrior
// Must send screen info before send initialData
ScreenManager& screenManager = ScreenManager::GetSingleton();
screenManager.CopyScreensToRemote(this);
Unused << SendSetXPCOMProcessAttributes(xpcomInit, initialData, lnfCache,
fontList);
- if (aSendRegisteredChrome) {
- nsCOMPtr<nsIChromeRegistry> registrySvc = nsChromeRegistry::GetService();
- nsChromeRegistryChrome* chromeRegistry =
- static_cast<nsChromeRegistryChrome*>(registrySvc.get());
- chromeRegistry->SendRegisteredChrome(this);
- }
+ nsCOMPtr<nsIChromeRegistry> registrySvc = nsChromeRegistry::GetService();
+ nsChromeRegistryChrome* chromeRegistry =
+ static_cast<nsChromeRegistryChrome*>(registrySvc.get());
+ chromeRegistry->SendRegisteredChrome(this);
if (gAppData) {
nsCString version(gAppData->version);
nsCString buildID(gAppData->buildID);
nsCString name(gAppData->name);
nsCString UAName(gAppData->UAName);
nsCString ID(gAppData->ID);
nsCString vendor(gAppData->vendor);
@@ -2331,51 +2325,47 @@ ContentParent::InitInternal(ProcessPrior
// Set the subprocess's priority. We do this early on because we're likely
// /lowering/ the process's CPU and memory priority, which it has inherited
// from this process.
//
// This call can cause us to send IPC messages to the child process, so it
// must come after the Open() call above.
ProcessPriorityManager::SetProcessPriority(this, aInitialPriority);
- if (aSetupOffMainThreadCompositing) {
- // NB: internally, this will send an IPC message to the child
- // process to get it to create the CompositorBridgeChild. This
- // message goes through the regular IPC queue for this
- // channel, so delivery will happen-before any other messages
- // we send. The CompositorBridgeChild must be created before any
- // PBrowsers are created, because they rely on the Compositor
- // already being around. (Creation is async, so can't happen
- // on demand.)
- GPUProcessManager* gpm = GPUProcessManager::Get();
-
- Endpoint<PCompositorManagerChild> compositor;
- Endpoint<PImageBridgeChild> imageBridge;
- Endpoint<PVRManagerChild> vrBridge;
- Endpoint<PVideoDecoderManagerChild> videoManager;
- AutoTArray<uint32_t, 3> namespaces;
-
- DebugOnly<bool> opened = gpm->CreateContentBridges(
- OtherPid(),
- &compositor,
- &imageBridge,
- &vrBridge,
- &videoManager,
- &namespaces);
- MOZ_ASSERT(opened);
-
- Unused << SendInitRendering(
- Move(compositor),
- Move(imageBridge),
- Move(vrBridge),
- Move(videoManager),
- namespaces);
-
- gpm->AddListener(this);
- }
+ // NB: internally, this will send an IPC message to the child
+ // process to get it to create the CompositorBridgeChild. This
+ // message goes through the regular IPC queue for this
+ // channel, so delivery will happen-before any other messages
+ // we send. The CompositorBridgeChild must be created before any
+ // PBrowsers are created, because they rely on the Compositor
+ // already being around. (Creation is async, so can't happen
+ // on demand.)
+ GPUProcessManager* gpm = GPUProcessManager::Get();
+
+ Endpoint<PCompositorManagerChild> compositor;
+ Endpoint<PImageBridgeChild> imageBridge;
+ Endpoint<PVRManagerChild> vrBridge;
+ Endpoint<PVideoDecoderManagerChild> videoManager;
+ AutoTArray<uint32_t, 3> namespaces;
+
+ DebugOnly<bool> opened = gpm->CreateContentBridges(OtherPid(),
+ &compositor,
+ &imageBridge,
+ &vrBridge,
+ &videoManager,
+ &namespaces);
+ MOZ_ASSERT(opened);
+
+ Unused << SendInitRendering(Move(compositor),
+ Move(imageBridge),
+ Move(vrBridge),
+ Move(videoManager),
+ namespaces);
+
+ gpm->AddListener(this);
nsStyleSheetService *sheetService = nsStyleSheetService::GetInstance();
if (sheetService) {
// This looks like a lot of work, but in a normal browser session we just
// send two loads.
//
// The URIs of the Gecko and Servo sheets should be the same, so it
// shouldn't matter which we look at.
--- a/dom/ipc/ContentParent.h
+++ b/dom/ipc/ContentParent.h
@@ -746,19 +746,17 @@ private:
const nsAString& aRemoteType,
int32_t aPluginID);
// Launch the subprocess and associated initialization.
// Returns false if the process fails to start.
bool LaunchSubprocess(hal::ProcessPriority aInitialPriority = hal::PROCESS_PRIORITY_FOREGROUND);
// Common initialization after sub process launch or adoption.
- void InitInternal(ProcessPriority aPriority,
- bool aSetupOffMainThreadCompositing,
- bool aSendRegisteredChrome);
+ void InitInternal(ProcessPriority aPriority);
virtual ~ContentParent();
void Init();
// Some information could be sent to content very early, it
// should be send from this function. This function should only be
// called after the process has been transformed to browser.