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

Side by Side Diff: chrome/browser/first_run/first_run_win.cc

Issue 11299038: Return first_run_win to using the Chrome path provider to look up the user data dir. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 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
« no previous file with comments | « chrome/browser/first_run/first_run_internal.h ('k') | no next file » | 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) 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/first_run/first_run.h" 5 #include "chrome/browser/first_run/first_run.h"
6 6
7 #include <shellapi.h> 7 #include <shellapi.h>
8 #include <shlobj.h> 8 #include <shlobj.h>
9 #include <windows.h> 9 #include <windows.h>
10 10
(...skipping 135 matching lines...) Expand 10 before | Expand all | Expand 10 after
146 if (!base::LaunchProcess(setup_path, launch_options, &ph) || 146 if (!base::LaunchProcess(setup_path, launch_options, &ph) ||
147 !::GetExitCodeProcess(ph, &exit_code)) { 147 !::GetExitCodeProcess(ph, &exit_code)) {
148 return false; 148 return false;
149 } 149 }
150 150
151 *ret_code = exit_code; 151 *ret_code = exit_code;
152 return true; 152 return true;
153 } 153 }
154 } 154 }
155 155
156 // Populates |path| with the path to |file| in the sentinel directory. This is
157 // the application directory for user-level installs, and the default user data
158 // dir for system-level installs. Returns false on error.
159 bool GetSentinelFilePath(const wchar_t* file, FilePath* path) {
160 FilePath exe_path;
161 if (!PathService::Get(base::DIR_EXE, &exe_path))
162 return false;
163 if (InstallUtil::IsPerUserInstall(exe_path.value().c_str()))
164 *path = exe_path;
165 else if (!PathService::Get(chrome::DIR_USER_DATA, path))
166 return false;
167 *path = path->Append(file);
168 return true;
169 }
170
156 bool GetEULASentinelFilePath(FilePath* path) { 171 bool GetEULASentinelFilePath(FilePath* path) {
157 return InstallUtil::GetSentinelFilePath( 172 return GetSentinelFilePath(installer::kEULASentinelFile, path);
158 installer::kEULASentinelFile,
159 BrowserDistribution::GetDistribution(),
160 path);
161 } 173 }
162 174
163 // Returns true if the EULA is required but has not been accepted by this user. 175 // Returns true if the EULA is required but has not been accepted by this user.
164 // The EULA is considered having been accepted if the user has gotten past 176 // The EULA is considered having been accepted if the user has gotten past
165 // first run in the "other" environment (desktop or metro). 177 // first run in the "other" environment (desktop or metro).
166 bool IsEULANotAccepted(installer::MasterPreferences* install_prefs) { 178 bool IsEULANotAccepted(installer::MasterPreferences* install_prefs) {
167 bool value = false; 179 bool value = false;
168 if (install_prefs->GetBool(installer::master_preferences::kRequireEula, 180 if (install_prefs->GetBool(installer::master_preferences::kRequireEula,
169 &value) && value) { 181 &value) && value) {
170 FilePath eula_sentinel; 182 FilePath eula_sentinel;
(...skipping 293 matching lines...) Expand 10 before | Expand all | Expand 10 after
464 int items_to_import) { 476 int items_to_import) {
465 return ImportSettingsWin( 477 return ImportSettingsWin(
466 profile, 478 profile,
467 importer_list->GetSourceProfileAt(0).importer_type, 479 importer_list->GetSourceProfileAt(0).importer_type,
468 items_to_import, 480 items_to_import,
469 FilePath(), 481 FilePath(),
470 false); 482 false);
471 } 483 }
472 484
473 bool GetFirstRunSentinelFilePath(FilePath* path) { 485 bool GetFirstRunSentinelFilePath(FilePath* path) {
474 return InstallUtil::GetSentinelFilePath( 486 return GetSentinelFilePath(chrome::kFirstRunSentinel, path);
475 chrome::kFirstRunSentinel,
476 BrowserDistribution::GetDistribution(),
477 path);
478 } 487 }
479 488
480 void SetImportPreferencesAndLaunchImport( 489 void SetImportPreferencesAndLaunchImport(
481 MasterPrefs* out_prefs, 490 MasterPrefs* out_prefs,
482 installer::MasterPreferences* install_prefs) { 491 installer::MasterPreferences* install_prefs) {
483 std::string import_bookmarks_path; 492 std::string import_bookmarks_path;
484 install_prefs->GetString( 493 install_prefs->GetString(
485 installer::master_preferences::kDistroImportBookmarksFromFilePref, 494 installer::master_preferences::kDistroImportBookmarksFromFilePref,
486 &import_bookmarks_path); 495 &import_bookmarks_path);
487 496
(...skipping 116 matching lines...) Expand 10 before | Expand all | Expand 10 after
604 return SKIP_FIRST_RUN; 613 return SKIP_FIRST_RUN;
605 614
606 internal::SetShowWelcomePagePrefIfNeeded(install_prefs.get()); 615 internal::SetShowWelcomePagePrefIfNeeded(install_prefs.get());
607 internal::SetImportPreferencesAndLaunchImport(out_prefs, install_prefs.get()); 616 internal::SetImportPreferencesAndLaunchImport(out_prefs, install_prefs.get());
608 internal::SetDefaultBrowser(install_prefs.get()); 617 internal::SetDefaultBrowser(install_prefs.get());
609 618
610 return SKIP_FIRST_RUN; 619 return SKIP_FIRST_RUN;
611 } 620 }
612 621
613 } // namespace first_run 622 } // namespace first_run
OLDNEW
« no previous file with comments | « chrome/browser/first_run/first_run_internal.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698