Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(11)

Side by Side Diff: chrome/browser/chromeos/chrome_browser_main_chromeos.cc

Issue 23790005: UserManager shutdown now also stops the profile image downloader. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Typo fixed. Created 7 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « no previous file | chrome/browser/chromeos/login/user_image_manager.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. 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 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/chromeos/chrome_browser_main_chromeos.h" 5 #include "chrome/browser/chromeos/chrome_browser_main_chromeos.h"
6 6
7 #include <string> 7 #include <string>
8 #include <vector> 8 #include <vector>
9 9
10 #include "ash/ash_switches.h" 10 #include "ash/ash_switches.h"
(...skipping 751 matching lines...) Expand 10 before | Expand all | Expand 10 after
762 screensaver_controller_.reset(); 762 screensaver_controller_.reset();
763 idle_action_warning_observer_.reset(); 763 idle_action_warning_observer_.reset();
764 764
765 // Delete ContactManager while |g_browser_process| is still alive. 765 // Delete ContactManager while |g_browser_process| is still alive.
766 contact_manager_.reset(); 766 contact_manager_.reset();
767 767
768 MagnificationManager::Shutdown(); 768 MagnificationManager::Shutdown();
769 AccessibilityManager::Shutdown(); 769 AccessibilityManager::Shutdown();
770 770
771 // Let the UserManager and WallpaperManager unregister itself as an observer 771 // Let the UserManager and WallpaperManager unregister itself as an observer
772 // of the CrosSettings singleton before it is destroyed. 772 // of the CrosSettings singleton before it is destroyed. This also ensures
773 // that the UserManager has no URLRequest pending (see
774 // http://crbug.com/276659).
773 UserManager::Get()->Shutdown(); 775 UserManager::Get()->Shutdown();
774 WallpaperManager::Get()->Shutdown(); 776 WallpaperManager::Get()->Shutdown();
775 777
776 // Let the AutomaticRebootManager unregister itself as an observer of several 778 // Let the AutomaticRebootManager unregister itself as an observer of several
777 // subsystems. 779 // subsystems.
778 g_browser_process->platform_part()->ShutdownAutomaticRebootManager(); 780 g_browser_process->platform_part()->ShutdownAutomaticRebootManager();
779 781
780 // Clean up dependency on CrosSettings and stop pending data fetches. 782 // Clean up dependency on CrosSettings and stop pending data fetches.
781 KioskAppManager::Shutdown(); 783 KioskAppManager::Shutdown();
782 784
785 // We first call PostMainMessageLoopRun and then destroy UserManager, because
786 // Ash needs to be closed before UserManager is destroyed. Also, on some tests
787 // MergeSessionThrottle::ShouldShowMergeSessionPage gets triggered during
788 // PostMainMessageLoopRun, which also requires UserManager to live (see
789 // http://crbug.com/243364).
783 ChromeBrowserMainPartsLinux::PostMainMessageLoopRun(); 790 ChromeBrowserMainPartsLinux::PostMainMessageLoopRun();
784 791
785 // Destroy the UserManager after ash has been destroyed and
786 // ChromeBrowserMainPartsLinux::PostMainMessageLoopRun run. The latter might
787 // trigger MergeSessionThrottle::ShouldShowMergeSessionPage, which requires
788 // the UserManager to exist.
789 UserManager::Destroy(); 792 UserManager::Destroy();
790 } 793 }
791 794
792 void ChromeBrowserMainPartsChromeos::PostDestroyThreads() { 795 void ChromeBrowserMainPartsChromeos::PostDestroyThreads() {
793 // Destroy DBus services immediately after threads are stopped. 796 // Destroy DBus services immediately after threads are stopped.
794 dbus_services_.reset(); 797 dbus_services_.reset();
795 798
796 ChromeBrowserMainPartsLinux::PostDestroyThreads(); 799 ChromeBrowserMainPartsLinux::PostDestroyThreads();
797 800
798 // Destroy DeviceSettingsService after g_browser_process. 801 // Destroy DeviceSettingsService after g_browser_process.
799 DeviceSettingsService::Shutdown(); 802 DeviceSettingsService::Shutdown();
800 } 803 }
801 804
802 void ChromeBrowserMainPartsChromeos::SetupPlatformFieldTrials() { 805 void ChromeBrowserMainPartsChromeos::SetupPlatformFieldTrials() {
803 default_pinned_apps_field_trial::SetupTrial(); 806 default_pinned_apps_field_trial::SetupTrial();
804 } 807 }
805 808
806 } // namespace chromeos 809 } // namespace chromeos
OLDNEW
« no previous file with comments | « no previous file | chrome/browser/chromeos/login/user_image_manager.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698