| 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_process_impl.h" |     5 #include "chrome/browser/browser_process_impl.h" | 
|     6  |     6  | 
|     7 #include <algorithm> |     7 #include <algorithm> | 
|     8 #include <map> |     8 #include <map> | 
|     9 #include <vector> |     9 #include <vector> | 
|    10  |    10  | 
| (...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|    54 #include "chrome/browser/plugins/chrome_plugin_service_filter.h" |    54 #include "chrome/browser/plugins/chrome_plugin_service_filter.h" | 
|    55 #include "chrome/browser/plugins/plugin_finder.h" |    55 #include "chrome/browser/plugins/plugin_finder.h" | 
|    56 #include "chrome/browser/policy/policy_service.h" |    56 #include "chrome/browser/policy/policy_service.h" | 
|    57 #include "chrome/browser/prefs/browser_prefs.h" |    57 #include "chrome/browser/prefs/browser_prefs.h" | 
|    58 #include "chrome/browser/prefs/chrome_pref_service_factory.h" |    58 #include "chrome/browser/prefs/chrome_pref_service_factory.h" | 
|    59 #include "chrome/browser/prerender/prerender_tracker.h" |    59 #include "chrome/browser/prerender/prerender_tracker.h" | 
|    60 #include "chrome/browser/printing/background_printing_manager.h" |    60 #include "chrome/browser/printing/background_printing_manager.h" | 
|    61 #include "chrome/browser/printing/print_job_manager.h" |    61 #include "chrome/browser/printing/print_job_manager.h" | 
|    62 #include "chrome/browser/printing/print_preview_dialog_controller.h" |    62 #include "chrome/browser/printing/print_preview_dialog_controller.h" | 
|    63 #include "chrome/browser/profiles/profile_manager.h" |    63 #include "chrome/browser/profiles/profile_manager.h" | 
 |    64 #include "chrome/browser/profiles/profiles_state.h" | 
|    64 #include "chrome/browser/renderer_host/chrome_resource_dispatcher_host_delegate.
      h" |    65 #include "chrome/browser/renderer_host/chrome_resource_dispatcher_host_delegate.
      h" | 
|    65 #include "chrome/browser/safe_browsing/safe_browsing_service.h" |    66 #include "chrome/browser/safe_browsing/safe_browsing_service.h" | 
|    66 #include "chrome/browser/shell_integration.h" |    67 #include "chrome/browser/shell_integration.h" | 
|    67 #include "chrome/browser/status_icons/status_tray.h" |    68 #include "chrome/browser/status_icons/status_tray.h" | 
|    68 #include "chrome/browser/storage_monitor/storage_monitor.h" |    69 #include "chrome/browser/storage_monitor/storage_monitor.h" | 
|    69 #include "chrome/browser/thumbnails/render_widget_snapshot_taker.h" |    70 #include "chrome/browser/thumbnails/render_widget_snapshot_taker.h" | 
|    70 #include "chrome/browser/ui/bookmarks/bookmark_prompt_controller.h" |    71 #include "chrome/browser/ui/bookmarks/bookmark_prompt_controller.h" | 
 |    72 #include "chrome/browser/ui/browser_dialogs.h" | 
|    71 #include "chrome/browser/ui/browser_finder.h" |    73 #include "chrome/browser/ui/browser_finder.h" | 
|    72 #include "chrome/browser/web_resource/promo_resource_service.h" |    74 #include "chrome/browser/web_resource/promo_resource_service.h" | 
|    73 #include "chrome/common/chrome_constants.h" |    75 #include "chrome/common/chrome_constants.h" | 
|    74 #include "chrome/common/chrome_paths.h" |    76 #include "chrome/common/chrome_paths.h" | 
|    75 #include "chrome/common/chrome_switches.h" |    77 #include "chrome/common/chrome_switches.h" | 
|    76 #include "chrome/common/extensions/chrome_extensions_client.h" |    78 #include "chrome/common/extensions/chrome_extensions_client.h" | 
|    77 #include "chrome/common/extensions/extension_l10n_util.h" |    79 #include "chrome/common/extensions/extension_l10n_util.h" | 
|    78 #include "chrome/common/pref_names.h" |    80 #include "chrome/common/pref_names.h" | 
|    79 #include "chrome/common/switch_utils.h" |    81 #include "chrome/common/switch_utils.h" | 
|    80 #include "chrome/common/url_constants.h" |    82 #include "chrome/common/url_constants.h" | 
| (...skipping 160 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|   241  |   243  | 
|   242   // Need to clear the desktop notification balloons before the io_thread_ and |   244   // Need to clear the desktop notification balloons before the io_thread_ and | 
|   243   // before the profiles, since if there are any still showing we will access |   245   // before the profiles, since if there are any still showing we will access | 
|   244   // those things during teardown. |   246   // those things during teardown. | 
|   245   notification_ui_manager_.reset(); |   247   notification_ui_manager_.reset(); | 
|   246  |   248  | 
|   247   // Need to clear profiles (download managers) before the io_thread_. |   249   // Need to clear profiles (download managers) before the io_thread_. | 
|   248   { |   250   { | 
|   249     TRACE_EVENT0("shutdown", |   251     TRACE_EVENT0("shutdown", | 
|   250                  "BrowserProcessImpl::StartTearDown:ProfileManager"); |   252                  "BrowserProcessImpl::StartTearDown:ProfileManager"); | 
 |   253     // The desktop User Manager needs to be closed before the guest profile | 
 |   254     // can be destroyed. | 
 |   255     if (profiles::IsNewProfileManagementEnabled()) | 
 |   256       chrome::HideUserManager(); | 
|   251     profile_manager_.reset(); |   257     profile_manager_.reset(); | 
|   252   } |   258   } | 
|   253  |   259  | 
|   254 #if !defined(OS_ANDROID) |   260 #if !defined(OS_ANDROID) | 
|   255   // Debugger must be cleaned up before IO thread and NotificationService. |   261   // Debugger must be cleaned up before IO thread and NotificationService. | 
|   256   remote_debugging_server_.reset(); |   262   remote_debugging_server_.reset(); | 
|   257 #endif |   263 #endif | 
|   258  |   264  | 
|   259   ExtensionRendererState::GetInstance()->Shutdown(); |   265   ExtensionRendererState::GetInstance()->Shutdown(); | 
|   260  |   266  | 
| (...skipping 841 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  1102 } |  1108 } | 
|  1103  |  1109  | 
|  1104 void BrowserProcessImpl::OnAutoupdateTimer() { |  1110 void BrowserProcessImpl::OnAutoupdateTimer() { | 
|  1105   if (CanAutorestartForUpdate()) { |  1111   if (CanAutorestartForUpdate()) { | 
|  1106     DLOG(WARNING) << "Detected update.  Restarting browser."; |  1112     DLOG(WARNING) << "Detected update.  Restarting browser."; | 
|  1107     RestartBackgroundInstance(); |  1113     RestartBackgroundInstance(); | 
|  1108   } |  1114   } | 
|  1109 } |  1115 } | 
|  1110  |  1116  | 
|  1111 #endif  // (defined(OS_WIN) || defined(OS_LINUX)) && !defined(OS_CHROMEOS) |  1117 #endif  // (defined(OS_WIN) || defined(OS_LINUX)) && !defined(OS_CHROMEOS) | 
| OLD | NEW |