[Mac] Only create the App Shim Socket after taking process singleton lock.
[chromium-blink-merge.git] / chrome / browser / browser_process_platform_part_mac.mm
blob4a2df717a1893ddd85f917b47e1bdba0dcb3c121
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #include "chrome/browser/browser_process_platform_part_mac.h"
7 #include "chrome/browser/chrome_browser_application_mac.h"
9 BrowserProcessPlatformPart::BrowserProcessPlatformPart() {
12 BrowserProcessPlatformPart::~BrowserProcessPlatformPart() {
15 void BrowserProcessPlatformPart::StartTearDown() {
16   app_shim_host_manager_ = NULL;
19 void BrowserProcessPlatformPart::AttemptExit() {
20   // On the Mac, the application continues to run once all windows are closed.
21   // Terminate will result in a CloseAllBrowsers() call, and once (and if)
22   // that is done, will cause the application to exit cleanly.
23   chrome_browser_application_mac::Terminate();
26 void BrowserProcessPlatformPart::PreMainMessageLoopRun() {
27   // AppShimHostManager can not simply be reset, otherwise destroying the old
28   // domain socket will cause the just-created socket to be unlinked.
29   DCHECK(!app_shim_host_manager_);
30   app_shim_host_manager_ = new AppShimHostManager;
33 AppShimHostManager* BrowserProcessPlatformPart::app_shim_host_manager() {
34   return app_shim_host_manager_.get();