Remove most uses of new keyword in BrowserProcessImpl.

Change-Id: Ifbfed9f8f72740684f828ed518e2e3e70aafd032
Reviewed-on: https://chromium-review.googlesource.com/630578
Reviewed-by: Tommy Li <[email protected]>
Commit-Queue: Lei Zhang <[email protected]>
Cr-Commit-Position: refs/heads/master@{#497516}
diff --git a/chrome/browser/browser_process_impl.cc b/chrome/browser/browser_process_impl.cc
index 2ef318d..675e9220 100644
--- a/chrome/browser/browser_process_impl.cc
+++ b/chrome/browser/browser_process_impl.cc
@@ -225,18 +225,18 @@
       created_subresource_filter_ruleset_service_(false),
       shutting_down_(false),
       tearing_down_(false),
-      download_status_updater_(new DownloadStatusUpdater),
+      download_status_updater_(base::MakeUnique<DownloadStatusUpdater>()),
       local_state_task_runner_(local_state_task_runner),
       cached_default_web_client_state_(shell_integration::UNKNOWN_DEFAULT),
       pref_service_factory_(
           base::MakeUnique<prefs::InProcessPrefServiceFactory>()) {
   g_browser_process = this;
   rappor::SetDefaultServiceAccessor(&GetBrowserRapporService);
-  platform_part_.reset(new BrowserProcessPlatformPart());
+  platform_part_ = base::MakeUnique<BrowserProcessPlatformPart>();
 
 #if BUILDFLAG(ENABLE_PRINTING)
   // Must be created after the NotificationService.
-  print_job_manager_.reset(new printing::PrintJobManager);
+  print_job_manager_ = base::MakeUnique<printing::PrintJobManager>();
 #endif
 
   net_log_ = base::MakeUnique<net_log::ChromeNetLog>();
@@ -255,18 +255,19 @@
   ui::InitIdleMonitor();
 #endif
 
-  device_client_.reset(new ChromeDeviceClient);
+  device_client_ = base::MakeUnique<ChromeDeviceClient>();
 
 #if BUILDFLAG(ENABLE_EXTENSIONS)
   extensions::AppWindowClient::Set(ChromeAppWindowClient::GetInstance());
 
-  extension_event_router_forwarder_ = new extensions::EventRouterForwarder;
+  extension_event_router_forwarder_ =
+      base::MakeRefCounted<extensions::EventRouterForwarder>();
 
   extensions::ExtensionsClient::Set(
       extensions::ChromeExtensionsClient::GetInstance());
 
-  extensions_browser_client_.reset(
-      new extensions::ChromeExtensionsBrowserClient);
+  extensions_browser_client_ =
+      base::MakeUnique<extensions::ChromeExtensionsBrowserClient>();
   extensions::ExtensionsBrowserClient::Set(extensions_browser_client_.get());
 #endif
 
@@ -483,7 +484,8 @@
   // Mark all the profiles as clean.
   ProfileManager* pm = profile_manager();
   std::vector<Profile*> profiles(pm->GetLoadedProfiles());
-  scoped_refptr<RundownTaskCounter> rundown_counter(new RundownTaskCounter());
+  scoped_refptr<RundownTaskCounter> rundown_counter =
+      base::MakeRefCounted<RundownTaskCounter>();
   for (size_t i = 0; i < profiles.size(); ++i) {
     Profile* profile = profiles[i];
     profile->SetExitType(Profile::EXIT_SESSION_ENDED);
@@ -541,10 +543,11 @@
 BrowserProcessImpl::GetMetricsServicesManager() {
   DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
   if (!metrics_services_manager_) {
-    metrics_services_manager_.reset(
-        new metrics_services_manager::MetricsServicesManager(
-            base::MakeUnique<ChromeMetricsServicesManagerClient>(
-                local_state())));
+    auto client =
+        base::MakeUnique<ChromeMetricsServicesManagerClient>(local_state());
+    metrics_services_manager_ =
+        base::MakeUnique<metrics_services_manager::MetricsServicesManager>(
+            std::move(client));
   }
   return metrics_services_manager_.get();
 }
@@ -680,8 +683,8 @@
 
 GpuModeManager* BrowserProcessImpl::gpu_mode_manager() {
   DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
-  if (!gpu_mode_manager_.get())
-    gpu_mode_manager_.reset(new GpuModeManager());
+  if (!gpu_mode_manager_)
+    gpu_mode_manager_ = base::MakeUnique<GpuModeManager>();
   return gpu_mode_manager_.get();
 }
 
@@ -692,8 +695,9 @@
 #if !defined(OS_ANDROID)
   // StartupBrowserCreator::LaunchBrowser can be run multiple times when browser
   // is started with several profiles or existing browser process is reused.
-  if (!remote_debugging_server_.get()) {
-    remote_debugging_server_.reset(new RemoteDebuggingServer(ip, port));
+  if (!remote_debugging_server_) {
+    remote_debugging_server_ =
+        base::MakeUnique<RemoteDebuggingServer>(ip, port);
   }
 #endif
 }
@@ -703,8 +707,8 @@
 #if !defined(OS_ANDROID)
   // StartupBrowserCreator::LaunchBrowser can be run multiple times when browser
   // is started with several profiles or existing browser process is reused.
-  if (!devtools_auto_opener_.get())
-    devtools_auto_opener_.reset(new DevToolsAutoOpener());
+  if (!devtools_auto_opener_)
+    devtools_auto_opener_ = base::MakeUnique<DevToolsAutoOpener>();
 #endif
 }
 
@@ -737,7 +741,7 @@
     BrowserProcessImpl::background_printing_manager() {
 #if BUILDFLAG(ENABLE_PRINT_PREVIEW)
   DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
-  if (!background_printing_manager_.get())
+  if (!background_printing_manager_)
     CreateBackgroundPrintingManager();
   return background_printing_manager_.get();
 #else
@@ -748,7 +752,7 @@
 
 IntranetRedirectDetector* BrowserProcessImpl::intranet_redirect_detector() {
   DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
-  if (!intranet_redirect_detector_.get())
+  if (!intranet_redirect_detector_)
     CreateIntranetRedirectDetector();
   return intranet_redirect_detector_.get();
 }
@@ -775,7 +779,7 @@
 MediaFileSystemRegistry* BrowserProcessImpl::media_file_system_registry() {
 #if BUILDFLAG(ENABLE_EXTENSIONS)
   if (!media_file_system_registry_)
-    media_file_system_registry_.reset(new MediaFileSystemRegistry());
+    media_file_system_registry_ = base::MakeUnique<MediaFileSystemRegistry>();
   return media_file_system_registry_.get();
 #else
   return NULL;
@@ -784,18 +788,18 @@
 
 #if BUILDFLAG(ENABLE_WEBRTC)
 WebRtcLogUploader* BrowserProcessImpl::webrtc_log_uploader() {
-  if (!webrtc_log_uploader_.get())
-    webrtc_log_uploader_.reset(new WebRtcLogUploader());
+  if (!webrtc_log_uploader_)
+    webrtc_log_uploader_ = base::MakeUnique<WebRtcLogUploader>();
   return webrtc_log_uploader_.get();
 }
 #endif
 
 network_time::NetworkTimeTracker* BrowserProcessImpl::network_time_tracker() {
   if (!network_time_tracker_) {
-    network_time_tracker_.reset(new network_time::NetworkTimeTracker(
+    network_time_tracker_ = base::MakeUnique<network_time::NetworkTimeTracker>(
         base::WrapUnique(new base::DefaultClock()),
         base::WrapUnique(new base::DefaultTickClock()), local_state(),
-        system_request_context()));
+        system_request_context());
   }
   return network_time_tracker_.get();
 }
@@ -810,8 +814,8 @@
 resource_coordinator::TabManager* BrowserProcessImpl::GetTabManager() {
   DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
 #if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX)
-  if (!tab_manager_.get())
-    tab_manager_.reset(new resource_coordinator::TabManager());
+  if (!tab_manager_)
+    tab_manager_ = base::MakeUnique<resource_coordinator::TabManager>();
   return tab_manager_.get();
 #else
   return nullptr;
@@ -881,15 +885,16 @@
 
 DownloadRequestLimiter* BrowserProcessImpl::download_request_limiter() {
   DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
-  if (!download_request_limiter_.get())
-    download_request_limiter_ = new DownloadRequestLimiter();
+  if (!download_request_limiter_.get()) {
+    download_request_limiter_ = base::MakeRefCounted<DownloadRequestLimiter>();
+  }
   return download_request_limiter_.get();
 }
 
 BackgroundModeManager* BrowserProcessImpl::background_mode_manager() {
   DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
 #if BUILDFLAG(ENABLE_BACKGROUND)
-  if (!background_mode_manager_.get())
+  if (!background_mode_manager_)
     CreateBackgroundModeManager();
   return background_mode_manager_.get();
 #else
@@ -907,7 +912,7 @@
 
 StatusTray* BrowserProcessImpl::status_tray() {
   DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
-  if (!status_tray_.get())
+  if (!status_tray_)
     CreateStatusTray();
   return status_tray_.get();
 }
@@ -968,7 +973,7 @@
 
 CRLSetFetcher* BrowserProcessImpl::crl_set_fetcher() {
   if (!crl_set_fetcher_)
-    crl_set_fetcher_ = new CRLSetFetcher();
+    crl_set_fetcher_ = base::MakeRefCounted<CRLSetFetcher>();
   return crl_set_fetcher_.get();
 }
 
@@ -977,7 +982,7 @@
 #if !defined(DISABLE_NACL)
   if (!pnacl_component_installer_) {
     pnacl_component_installer_ =
-        new component_updater::PnaclComponentInstaller();
+        base::MakeRefCounted<component_updater::PnaclComponentInstaller>();
   }
   return pnacl_component_installer_.get();
 #else
@@ -998,8 +1003,8 @@
 }
 
 void BrowserProcessImpl::ResourceDispatcherHostCreated() {
-  resource_dispatcher_host_delegate_.reset(
-      new ChromeResourceDispatcherHostDelegate);
+  resource_dispatcher_host_delegate_ =
+      base::MakeUnique<ChromeResourceDispatcherHostDelegate>();
   ResourceDispatcherHost::Get()->SetDelegate(
       resource_dispatcher_host_delegate_.get());
 
@@ -1023,7 +1028,7 @@
   DCHECK(!created_watchdog_thread_ && !watchdog_thread_);
   created_watchdog_thread_ = true;
 
-  std::unique_ptr<WatchDogThread> thread(new WatchDogThread());
+  auto thread = base::MakeUnique<WatchDogThread>();
   base::Thread::Options options;
   options.timer_slack = base::TIMER_SLACK_MAXIMUM;
   if (!thread->StartWithOptions(options))
@@ -1037,7 +1042,7 @@
 
   base::FilePath user_data_dir;
   PathService::Get(chrome::DIR_USER_DATA, &user_data_dir);
-  profile_manager_.reset(new ProfileManager(user_data_dir));
+  profile_manager_ = base::MakeUnique<ProfileManager>(user_data_dir);
 }
 
 void BrowserProcessImpl::CreateLocalState() {
@@ -1045,7 +1050,7 @@
 
   base::FilePath local_state_path;
   CHECK(PathService::Get(chrome::FILE_LOCAL_STATE, &local_state_path));
-  scoped_refptr<PrefRegistrySimple> pref_registry = new PrefRegistrySimple;
+  auto pref_registry = base::MakeRefCounted<PrefRegistrySimple>();
 
   // Register local state preferences.
   chrome::RegisterLocalState(pref_registry.get());
@@ -1138,31 +1143,29 @@
   storage_monitor::StorageMonitor::Create();
 #endif
 
-  child_process_watcher_.reset(new ChromeChildProcessWatcher());
+  child_process_watcher_ = base::MakeUnique<ChromeChildProcessWatcher>();
 
   CacheDefaultWebClientState();
 
   platform_part_->PreMainMessageLoopRun();
 
   if (base::FeatureList::IsEnabled(network_time::kNetworkTimeServiceQuerying)) {
-    network_time_tracker_.reset(new network_time::NetworkTimeTracker(
+    network_time_tracker_ = base::MakeUnique<network_time::NetworkTimeTracker>(
         base::WrapUnique(new base::DefaultClock()),
         base::WrapUnique(new base::DefaultTickClock()), local_state(),
-        system_request_context()));
+        system_request_context());
   }
 }
 
 void BrowserProcessImpl::CreateIconManager() {
   DCHECK(!created_icon_manager_ && !icon_manager_);
   created_icon_manager_ = true;
-  icon_manager_.reset(new IconManager);
+  icon_manager_ = base::MakeUnique<IconManager>();
 }
 
 void BrowserProcessImpl::CreateIntranetRedirectDetector() {
   DCHECK(!intranet_redirect_detector_);
-  std::unique_ptr<IntranetRedirectDetector> intranet_redirect_detector(
-      new IntranetRedirectDetector);
-  intranet_redirect_detector_.swap(intranet_redirect_detector);
+  intranet_redirect_detector_ = base::MakeUnique<IntranetRedirectDetector>();
 }
 
 void BrowserProcessImpl::CreateNotificationPlatformBridge() {
@@ -1186,10 +1189,9 @@
 void BrowserProcessImpl::CreateBackgroundModeManager() {
 #if BUILDFLAG(ENABLE_BACKGROUND)
   DCHECK(!background_mode_manager_);
-  background_mode_manager_.reset(
-      new BackgroundModeManager(
-              *base::CommandLine::ForCurrentProcess(),
-              &profile_manager()->GetProfileAttributesStorage()));
+  background_mode_manager_ = base::MakeUnique<BackgroundModeManager>(
+      *base::CommandLine::ForCurrentProcess(),
+      &profile_manager()->GetProfileAttributesStorage());
 #endif
 }
 
@@ -1202,7 +1204,7 @@
 #if BUILDFLAG(ENABLE_PRINT_PREVIEW)
   DCHECK(!print_preview_dialog_controller_);
   print_preview_dialog_controller_ =
-      new printing::PrintPreviewDialogController();
+      base::MakeRefCounted<printing::PrintPreviewDialogController>();
 #else
   NOTIMPLEMENTED();
 #endif
@@ -1211,7 +1213,8 @@
 void BrowserProcessImpl::CreateBackgroundPrintingManager() {
 #if BUILDFLAG(ENABLE_PRINT_PREVIEW)
   DCHECK(!background_printing_manager_);
-  background_printing_manager_.reset(new printing::BackgroundPrintingManager());
+  background_printing_manager_ =
+      base::MakeUnique<printing::BackgroundPrintingManager>();
 #else
   NOTIMPLEMENTED();
 #endif
@@ -1299,8 +1302,8 @@
     // The worker pointer is reference counted. While it is running, the
     // message loops of the FILE and UI thread will hold references to it
     // and it will be automatically freed once all its tasks have finished.
-    scoped_refptr<shell_integration::DefaultBrowserWorker> set_browser_worker =
-        new shell_integration::DefaultBrowserWorker(
+    auto set_browser_worker =
+        base::MakeRefCounted<shell_integration::DefaultBrowserWorker>(
             shell_integration::DefaultWebClientWorkerCallback());
     // The user interaction must always be disabled when applying the default
     // browser policy since it is done at each browser startup and the result
@@ -1396,8 +1399,7 @@
 
 void BrowserProcessImpl::RestartBackgroundInstance() {
   base::CommandLine* old_cl = base::CommandLine::ForCurrentProcess();
-  std::unique_ptr<base::CommandLine> new_cl(
-      new base::CommandLine(old_cl->GetProgram()));
+  auto new_cl = base::MakeUnique<base::CommandLine>(old_cl->GetProgram());
 
   std::map<std::string, base::CommandLine::StringType> switches =
       old_cl->GetSwitches();
@@ -1406,15 +1408,12 @@
 
   // Append the rest of the switches (along with their values, if any)
   // to the new command line
-  for (std::map<std::string, base::CommandLine::StringType>::const_iterator i =
-           switches.begin();
-       i != switches.end(); ++i) {
-    base::CommandLine::StringType switch_value = i->second;
-      if (switch_value.length() > 0) {
-        new_cl->AppendSwitchNative(i->first, i->second);
-      } else {
-        new_cl->AppendSwitch(i->first);
-      }
+  for (const auto& it : switches) {
+    base::CommandLine::StringType switch_value = it.second;
+    if (switch_value.length() > 0)
+      new_cl->AppendSwitchNative(it.first, it.second);
+    else
+      new_cl->AppendSwitch(it.first);
   }
 
   // Ensure that our desired switches are set on the new process.