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

Side by Side Diff: chrome/browser/profiles/profile_manager.cc

Issue 8502033: Add Windows desktop shortcut for multiple profiles. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: '' Created 9 years, 1 month 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
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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 <set> 5 #include <set>
6 6
7 #include "chrome/browser/profiles/profile_manager.h" 7 #include "chrome/browser/profiles/profile_manager.h"
8 8
9 #include "base/command_line.h" 9 #include "base/command_line.h"
10 #include "base/file_path.h" 10 #include "base/file_path.h"
(...skipping 195 matching lines...) Expand 10 before | Expand all | Expand 10 after
206 #if defined(OS_CHROMEOS) 206 #if defined(OS_CHROMEOS)
207 registrar_.Add( 207 registrar_.Add(
208 this, 208 this,
209 chrome::NOTIFICATION_LOGIN_USER_CHANGED, 209 chrome::NOTIFICATION_LOGIN_USER_CHANGED,
210 content::NotificationService::AllSources()); 210 content::NotificationService::AllSources());
211 #endif 211 #endif
212 } 212 }
213 213
214 ProfileManager::~ProfileManager() { 214 ProfileManager::~ProfileManager() {
215 BrowserList::RemoveObserver(this); 215 BrowserList::RemoveObserver(this);
216 #if defined(OS_WIN)
217 profile_info_cache_->RemoveObserver(profile_shortcut_manager_.get());
218 #endif
216 } 219 }
217 220
218 FilePath ProfileManager::GetDefaultProfileDir( 221 FilePath ProfileManager::GetDefaultProfileDir(
219 const FilePath& user_data_dir) { 222 const FilePath& user_data_dir) {
220 FilePath default_profile_dir(user_data_dir); 223 FilePath default_profile_dir(user_data_dir);
221 default_profile_dir = 224 default_profile_dir =
222 default_profile_dir.AppendASCII(chrome::kInitialProfile); 225 default_profile_dir.AppendASCII(chrome::kInitialProfile);
223 return default_profile_dir; 226 return default_profile_dir;
224 } 227 }
225 228
(...skipping 356 matching lines...) Expand 10 before | Expand all | Expand 10 after
582 return false; 585 return false;
583 } else { 586 } else {
584 return pair1.first < pair2.first; 587 return pair1.first < pair2.first;
585 } 588 }
586 } 589 }
587 590
588 ProfileInfoCache& ProfileManager::GetProfileInfoCache() { 591 ProfileInfoCache& ProfileManager::GetProfileInfoCache() {
589 if (!profile_info_cache_.get()) { 592 if (!profile_info_cache_.get()) {
590 profile_info_cache_.reset(new ProfileInfoCache( 593 profile_info_cache_.reset(new ProfileInfoCache(
591 g_browser_process->local_state(), user_data_dir_)); 594 g_browser_process->local_state(), user_data_dir_));
595 #if defined(OS_WIN)
596 profile_shortcut_manager_.reset(new ProfileShortcutManagerWin());
597 profile_info_cache_->AddObserver(profile_shortcut_manager_.get());
598 #endif
592 } 599 }
593 return *profile_info_cache_.get(); 600 return *profile_info_cache_.get();
594 } 601 }
595 602
596 void ProfileManager::AddProfileToCache(Profile* profile) { 603 void ProfileManager::AddProfileToCache(Profile* profile) {
597 ProfileInfoCache& cache = GetProfileInfoCache(); 604 ProfileInfoCache& cache = GetProfileInfoCache();
598 if (profile->GetPath().DirName() != cache.GetUserDataDir()) 605 if (profile->GetPath().DirName() != cache.GetUserDataDir())
599 return; 606 return;
600 607
601 if (cache.GetIndexOfProfileWithPath(profile->GetPath()) != std::string::npos) 608 if (cache.GetIndexOfProfileWithPath(profile->GetPath()) != std::string::npos)
(...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after
676 ProfileManagerWithoutInit::ProfileManagerWithoutInit( 683 ProfileManagerWithoutInit::ProfileManagerWithoutInit(
677 const FilePath& user_data_dir) : ProfileManager(user_data_dir) { 684 const FilePath& user_data_dir) : ProfileManager(user_data_dir) {
678 } 685 }
679 686
680 void ProfileManager::RegisterTestingProfile(Profile* profile, 687 void ProfileManager::RegisterTestingProfile(Profile* profile,
681 bool add_to_cache) { 688 bool add_to_cache) {
682 RegisterProfile(profile, true); 689 RegisterProfile(profile, true);
683 if (add_to_cache) 690 if (add_to_cache)
684 AddProfileToCache(profile); 691 AddProfileToCache(profile);
685 } 692 }
693
694 #if defined(OS_WIN)
695 void ProfileManager::RemoveProfileShortcutManagerForTesting() {
696 profile_info_cache_->RemoveObserver(profile_shortcut_manager_.get());
697 }
698 #endif
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698