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

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

Issue 12670013: Out-of-process import on Windows. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Keep Google Toolbar import in-process. Created 7 years, 7 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
OLDNEW
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/profiles/profile_manager.h" 5 #include "chrome/browser/profiles/profile_manager.h"
6 6
7 #include <set> 7 #include <set>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/command_line.h" 10 #include "base/command_line.h"
(...skipping 717 matching lines...) Expand 10 before | Expand all | Expand 10 after
728 for (it = active_profiles_.begin(); it != active_profiles_.end(); ++it) { 728 for (it = active_profiles_.begin(); it != active_profiles_.end(); ++it) {
729 std::string profile_path = (*it)->GetPath().BaseName().MaybeAsASCII(); 729 std::string profile_path = (*it)->GetPath().BaseName().MaybeAsASCII();
730 if (profile_paths.find(profile_path) == profile_paths.end()) { 730 if (profile_paths.find(profile_path) == profile_paths.end()) {
731 profile_paths.insert(profile_path); 731 profile_paths.insert(profile_path);
732 profile_list->Append(new StringValue(profile_path)); 732 profile_list->Append(new StringValue(profile_path));
733 } 733 }
734 } 734 }
735 } 735 }
736 } 736 }
737 737
738 // static
739 bool ProfileManager::IsImportProcess(const CommandLine& command_line) {
740 return (command_line.HasSwitch(switches::kImport) ||
741 command_line.HasSwitch(switches::kImportFromFile));
742 }
743
744 void ProfileManager::SetWillImport() { 738 void ProfileManager::SetWillImport() {
745 will_import_ = true; 739 will_import_ = true;
746 } 740 }
747 741
748 void ProfileManager::OnImportFinished(Profile* profile) { 742 void ProfileManager::OnImportFinished(Profile* profile) {
749 will_import_ = false; 743 will_import_ = false;
750 DCHECK(profile); 744 DCHECK(profile);
751 745
752 #if !defined(OS_CHROMEOS) 746 #if !defined(OS_CHROMEOS)
753 // If the import process was not run, it means this branch was not called, 747 // If the import process was not run, it means this branch was not called,
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
809 ProfileMetrics::LogNumberOfProfiles(this); 803 ProfileMetrics::LogNumberOfProfiles(this);
810 content::NotificationService::current()->Notify( 804 content::NotificationService::current()->Notify(
811 chrome::NOTIFICATION_PROFILE_ADDED, 805 chrome::NOTIFICATION_PROFILE_ADDED,
812 content::Source<Profile>(profile), 806 content::Source<Profile>(profile),
813 content::NotificationService::NoDetails()); 807 content::NotificationService::NoDetails());
814 } 808 }
815 809
816 void ProfileManager::DoFinalInitForServices(Profile* profile, 810 void ProfileManager::DoFinalInitForServices(Profile* profile,
817 bool go_off_the_record) { 811 bool go_off_the_record) {
818 #if defined(ENABLE_EXTENSIONS) 812 #if defined(ENABLE_EXTENSIONS)
819 const CommandLine& command_line = *CommandLine::ForCurrentProcess(); 813 extensions::ExtensionSystem::Get(profile)->InitForRegularProfile(
820 if (!IsImportProcess(command_line)) { 814 !go_off_the_record);
821 extensions::ExtensionSystem::Get(profile)->InitForRegularProfile( 815 // During tests, when |profile| is an instance of TestingProfile,
822 !go_off_the_record); 816 // ExtensionSystem might not create an ExtensionService.
823 // During tests, when |profile| is an instance of TestingProfile, 817 if (extensions::ExtensionSystem::Get(profile)->extension_service()) {
824 // ExtensionSystem might not create an ExtensionService. 818 profile->GetHostContentSettingsMap()->RegisterExtensionService(
825 if (extensions::ExtensionSystem::Get(profile)->extension_service()) { 819 extensions::ExtensionSystem::Get(profile)->extension_service());
826 profile->GetHostContentSettingsMap()->RegisterExtensionService(
827 extensions::ExtensionSystem::Get(profile)->extension_service());
828 }
829 } 820 }
830 #endif 821 #endif
831 #if defined(ENABLE_MANAGED_USERS) 822 #if defined(ENABLE_MANAGED_USERS)
832 // Initialization needs to happen after extension system initialization (for 823 // Initialization needs to happen after extension system initialization (for
833 // extension::ManagementPolicy) and InitProfileUserPrefs (for setting the 824 // extension::ManagementPolicy) and InitProfileUserPrefs (for setting the
834 // initializing the managed flag if necessary). 825 // initializing the managed flag if necessary).
835 ManagedUserServiceFactory::GetForProfile(profile)->Init(); 826 ManagedUserServiceFactory::GetForProfile(profile)->Init();
836 #endif 827 #endif
837 // Start the deferred task runners once the profile is loaded. 828 // Start the deferred task runners once the profile is loaded.
838 StartupTaskRunnerServiceFactory::GetForProfile(profile)-> 829 StartupTaskRunnerServiceFactory::GetForProfile(profile)->
(...skipping 347 matching lines...) Expand 10 before | Expand all | Expand 10 after
1186 ProfileManager::ProfileInfo::ProfileInfo( 1177 ProfileManager::ProfileInfo::ProfileInfo(
1187 Profile* profile, 1178 Profile* profile,
1188 bool created) 1179 bool created)
1189 : profile(profile), 1180 : profile(profile),
1190 created(created) { 1181 created(created) {
1191 } 1182 }
1192 1183
1193 ProfileManager::ProfileInfo::~ProfileInfo() { 1184 ProfileManager::ProfileInfo::~ProfileInfo() {
1194 ProfileDestroyer::DestroyProfileWhenAppropriate(profile.release()); 1185 ProfileDestroyer::DestroyProfileWhenAppropriate(profile.release());
1195 } 1186 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698