Index: chrome/browser/first_run/first_run_win.cc |
diff --git a/chrome/browser/first_run/first_run_win.cc b/chrome/browser/first_run/first_run_win.cc |
index c3242a2efe102ca8348f84bfb0682a6645fd646f..de456a98360a20f6b033b52364aff31b085db1f5 100644 |
--- a/chrome/browser/first_run/first_run_win.cc |
+++ b/chrome/browser/first_run/first_run_win.cc |
@@ -274,8 +274,7 @@ int ImportFromBrowser(Profile* profile, |
} |
#endif // !defined(USE_AURA) |
-bool ImportSettingsWin(Profile* profile, |
- int importer_type, |
+bool ImportSettingsWin(int importer_type, |
int items_to_import, |
const base::FilePath& import_bookmarks_path, |
bool skip_first_run_ui) { |
@@ -333,11 +332,6 @@ bool ImportSettingsWin(Profile* profile, |
// importer process ends. |
ImportProcessRunner import_runner(import_process); |
- // Import process finished. Reload the prefs, because importer may set |
- // the pref value. |
- if (profile) |
- profile->GetPrefs()->ReloadPersistentPrefs(); |
- |
return (import_runner.exit_code() == content::RESULT_CODE_NORMAL_EXIT); |
} |
@@ -364,59 +358,10 @@ void DoPostImportPlatformSpecificTasks() { |
} |
} |
-bool ImportSettings(Profile* profile, |
- scoped_refptr<ImporterHost> importer_host, |
- scoped_refptr<ImporterList> importer_list, |
- int items_to_import) { |
- return ImportSettingsWin( |
- profile, |
- importer_list->GetSourceProfileAt(0).importer_type, |
- items_to_import, |
- base::FilePath(), |
- false); |
-} |
- |
bool GetFirstRunSentinelFilePath(base::FilePath* path) { |
return GetSentinelFilePath(chrome::kFirstRunSentinel, path); |
} |
-void SetImportPreferencesAndLaunchImport( |
- MasterPrefs* out_prefs, |
- installer::MasterPreferences* install_prefs) { |
- std::string import_bookmarks_path; |
- install_prefs->GetString( |
- installer::master_preferences::kDistroImportBookmarksFromFilePref, |
- &import_bookmarks_path); |
- |
- if (!IsOrganicFirstRun()) { |
- // If search engines aren't explicitly imported, don't import. |
- if (!(out_prefs->do_import_items & importer::SEARCH_ENGINES)) { |
- out_prefs->dont_import_items |= importer::SEARCH_ENGINES; |
- } |
- // If home page isn't explicitly imported, don't import. |
- if (!(out_prefs->do_import_items & importer::HOME_PAGE)) { |
- out_prefs->dont_import_items |= importer::HOME_PAGE; |
- } |
- // If history isn't explicitly forbidden, do import. |
- if (!(out_prefs->dont_import_items & importer::HISTORY)) { |
- out_prefs->do_import_items |= importer::HISTORY; |
- } |
- } |
- |
- if (out_prefs->do_import_items || !import_bookmarks_path.empty()) { |
- // There is something to import from the default browser. This launches |
- // the importer process and blocks until done or until it fails. |
- scoped_refptr<ImporterList> importer_list(new ImporterList(NULL)); |
- importer_list->DetectSourceProfilesHack(); |
- if (!ImportSettingsWin( |
- NULL, importer_list->GetSourceProfileAt(0).importer_type, |
- out_prefs->do_import_items, base::FilePath::FromWStringHack(UTF8ToWide( |
- import_bookmarks_path)), true)) { |
- LOG(WARNING) << "silent import failed"; |
- } |
- } |
-} |
- |
bool ShowPostInstallEULAIfNeeded(installer::MasterPreferences* install_prefs) { |
if (IsEULANotAccepted(install_prefs)) { |
// Show the post-installation EULA. This is done by setup.exe and the |
@@ -463,6 +408,41 @@ int ImportNow(Profile* profile, const CommandLine& cmdline) { |
return return_code; |
} |
+// On Windows this is the complete import (i.e., AutoImport() is skipped). |
+// TODO(gab): Merge this into AutoImport() as part of http://crbug.com/22142 |
+void LaunchInitialImport(MasterPrefs* out_prefs) { |
+ if (!internal::IsOrganicFirstRun()) { |
+ // If search engines aren't explicitly imported, don't import. |
+ if (!(out_prefs->do_import_items & importer::SEARCH_ENGINES)) { |
+ out_prefs->dont_import_items |= importer::SEARCH_ENGINES; |
+ } |
+ // If home page isn't explicitly imported, don't import. |
+ if (!(out_prefs->do_import_items & importer::HOME_PAGE)) { |
+ out_prefs->dont_import_items |= importer::HOME_PAGE; |
+ } |
+ // If history isn't explicitly forbidden, do import. |
+ if (!(out_prefs->dont_import_items & importer::HISTORY)) { |
+ out_prefs->do_import_items |= importer::HISTORY; |
+ } |
+ } |
+ |
+ if (out_prefs->do_import_items || !out_prefs->import_bookmarks_path.empty()) { |
+ // There is something to import from the default browser. This launches |
+ // the importer process and blocks until done or until it fails. |
+ scoped_refptr<ImporterList> importer_list(new ImporterList(NULL)); |
+ importer_list->DetectSourceProfilesHack(); |
+ internal::g_profile_import_exited_successfully = ImportSettingsWin( |
+ importer_list->GetSourceProfileAt(0).importer_type, |
+ out_prefs->do_import_items, |
+ base::FilePath::FromWStringHack(UTF8ToWide( |
+ out_prefs->import_bookmarks_path)), |
+ true); |
+ if (!internal::g_profile_import_exited_successfully) |
+ LOG(WARNING) << "silent import failed"; |
+ } |
+ internal::g_did_perform_profile_import = true; |
+} |
+ |
base::FilePath MasterPrefsPath() { |
// The standard location of the master prefs is next to the chrome binary. |
base::FilePath master_prefs; |