| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "chrome/browser/browser_shutdown.h" | 5 #include "chrome/browser/browser_shutdown.h" |
| 6 | 6 |
| 7 #include <stdint.h> | 7 #include <stdint.h> |
| 8 | 8 |
| 9 #include <map> | 9 #include <map> |
| 10 #include <string> | 10 #include <string> |
| (...skipping 176 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 187 | 187 |
| 188 #if defined(ENABLE_RLZ) | 188 #if defined(ENABLE_RLZ) |
| 189 // Cleanup any statics created by RLZ. Must be done before NotificationService | 189 // Cleanup any statics created by RLZ. Must be done before NotificationService |
| 190 // is destroyed. | 190 // is destroyed. |
| 191 rlz::RLZTracker::CleanupRlz(); | 191 rlz::RLZTracker::CleanupRlz(); |
| 192 #endif | 192 #endif |
| 193 | 193 |
| 194 return restart_last_session; | 194 return restart_last_session; |
| 195 } | 195 } |
| 196 | 196 |
| 197 void ShutdownPostThreadsStop(bool restart_last_session) { | 197 void ShutdownPostThreadsStop(bool restart_last_session, |
| 198 bool restart_in_background) { |
| 198 delete g_browser_process; | 199 delete g_browser_process; |
| 199 g_browser_process = NULL; | 200 g_browser_process = NULL; |
| 200 | 201 |
| 201 // crbug.com/95079 - This needs to happen after the browser process object | 202 // crbug.com/95079 - This needs to happen after the browser process object |
| 202 // goes away. | 203 // goes away. |
| 203 ProfileManager::NukeDeletedProfilesFromDisk(); | 204 ProfileManager::NukeDeletedProfilesFromDisk(); |
| 204 | 205 |
| 205 #if defined(OS_CHROMEOS) | 206 #if defined(OS_CHROMEOS) |
| 206 chromeos::BootTimesRecorder::Get()->AddLogoutTimeMarker("BrowserDeleted", | 207 chromeos::BootTimesRecorder::Get()->AddLogoutTimeMarker("BrowserDeleted", |
| 207 true); | 208 true); |
| (...skipping 24 matching lines...) Expand all Loading... |
| 232 about_flags::RemoveFlagsSwitches(&switches); | 233 about_flags::RemoveFlagsSwitches(&switches); |
| 233 switches::RemoveSwitchesForAutostart(&switches); | 234 switches::RemoveSwitchesForAutostart(&switches); |
| 234 // Append the old switches to the new command line. | 235 // Append the old switches to the new command line. |
| 235 for (const auto& it : switches) { | 236 for (const auto& it : switches) { |
| 236 const base::CommandLine::StringType& switch_value = it.second; | 237 const base::CommandLine::StringType& switch_value = it.second; |
| 237 if (!switch_value.empty()) | 238 if (!switch_value.empty()) |
| 238 new_cl->AppendSwitchNative(it.first, it.second); | 239 new_cl->AppendSwitchNative(it.first, it.second); |
| 239 else | 240 else |
| 240 new_cl->AppendSwitch(it.first); | 241 new_cl->AppendSwitch(it.first); |
| 241 } | 242 } |
| 243 if (restart_in_background) |
| 244 new_cl->AppendSwitch(switches::kNoStartupWindow); |
| 242 | 245 |
| 243 #if defined(OS_POSIX) || defined(OS_WIN) | 246 #if defined(OS_POSIX) || defined(OS_WIN) |
| 244 upgrade_util::RelaunchChromeBrowser(*new_cl.get()); | 247 upgrade_util::RelaunchChromeBrowser(*new_cl.get()); |
| 245 #endif // defined(OS_WIN) | 248 #endif // defined(OS_WIN) |
| 246 | 249 |
| 247 #else | 250 #else |
| 248 NOTIMPLEMENTED(); | 251 NOTIMPLEMENTED(); |
| 249 #endif // !defined(OS_CHROMEOS) | 252 #endif // !defined(OS_CHROMEOS) |
| 250 } | 253 } |
| 251 | 254 |
| (...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 342 base::trace_event::TraceConfig trace_config( | 345 base::trace_event::TraceConfig trace_config( |
| 343 command_line.GetSwitchValueASCII(switches::kTraceShutdown), ""); | 346 command_line.GetSwitchValueASCII(switches::kTraceShutdown), ""); |
| 344 content::TracingController::GetInstance()->StartTracing( | 347 content::TracingController::GetInstance()->StartTracing( |
| 345 trace_config, | 348 trace_config, |
| 346 content::TracingController::StartTracingDoneCallback()); | 349 content::TracingController::StartTracingDoneCallback()); |
| 347 } | 350 } |
| 348 TRACE_EVENT0("shutdown", "StartShutdownTracing"); | 351 TRACE_EVENT0("shutdown", "StartShutdownTracing"); |
| 349 } | 352 } |
| 350 | 353 |
| 351 } // namespace browser_shutdown | 354 } // namespace browser_shutdown |
| OLD | NEW |