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/first_run/first_run.cc

Issue 12223062: Support variations_seed parameter in MasterPrefs. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Created 7 years, 10 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 | « chrome/browser/first_run/first_run.h ('k') | chrome/browser/first_run/first_run_internal.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) 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 "base/command_line.h" 7 #include "base/command_line.h"
8 #include "base/compiler_specific.h" 8 #include "base/compiler_specific.h"
9 #include "base/file_util.h" 9 #include "base/file_util.h"
10 #include "base/lazy_instance.h" 10 #include "base/lazy_instance.h"
(...skipping 232 matching lines...) Expand 10 before | Expand all | Expand 10 after
243 base::FilePath user_prefs = GetDefaultPrefFilePath(true, user_data_dir); 243 base::FilePath user_prefs = GetDefaultPrefFilePath(true, user_data_dir);
244 if (user_prefs.empty()) 244 if (user_prefs.empty())
245 return false; 245 return false;
246 246
247 // The master prefs are regular prefs so we can just copy the file 247 // The master prefs are regular prefs so we can just copy the file
248 // to the default place and they just work. 248 // to the default place and they just work.
249 return file_util::CopyFile(master_prefs_path, user_prefs); 249 return file_util::CopyFile(master_prefs_path, user_prefs);
250 } 250 }
251 251
252 void SetupMasterPrefsFromInstallPrefs( 252 void SetupMasterPrefsFromInstallPrefs(
253 MasterPrefs* out_prefs, 253 const installer::MasterPreferences& install_prefs,
254 installer::MasterPreferences* install_prefs) { 254 MasterPrefs* out_prefs) {
255 bool value = false; 255 bool value = false;
256 if (install_prefs->GetBool( 256 if (install_prefs.GetBool(
257 installer::master_preferences::kDistroImportSearchPref, &value)) { 257 installer::master_preferences::kDistroImportSearchPref, &value)) {
258 if (value) { 258 if (value) {
259 out_prefs->do_import_items |= importer::SEARCH_ENGINES; 259 out_prefs->do_import_items |= importer::SEARCH_ENGINES;
260 } else { 260 } else {
261 out_prefs->dont_import_items |= importer::SEARCH_ENGINES; 261 out_prefs->dont_import_items |= importer::SEARCH_ENGINES;
262 } 262 }
263 } 263 }
264 264
265 // If we're suppressing the first-run bubble, set that preference now. 265 // If we're suppressing the first-run bubble, set that preference now.
266 // Otherwise, wait until the user has completed first run to set it, so the 266 // Otherwise, wait until the user has completed first run to set it, so the
267 // user is guaranteed to see the bubble iff he or she has completed the first 267 // user is guaranteed to see the bubble iff he or she has completed the first
268 // run process. 268 // run process.
269 if (install_prefs->GetBool( 269 if (install_prefs.GetBool(
270 installer::master_preferences::kDistroSuppressFirstRunBubble, 270 installer::master_preferences::kDistroSuppressFirstRunBubble,
271 &value) && value) 271 &value) && value)
272 SetShowFirstRunBubblePref(FIRST_RUN_BUBBLE_SUPPRESS); 272 SetShowFirstRunBubblePref(FIRST_RUN_BUBBLE_SUPPRESS);
273 273
274 if (install_prefs->GetBool( 274 if (install_prefs.GetBool(
275 installer::master_preferences::kDistroImportHistoryPref, 275 installer::master_preferences::kDistroImportHistoryPref,
276 &value)) { 276 &value)) {
277 if (value) { 277 if (value) {
278 out_prefs->do_import_items |= importer::HISTORY; 278 out_prefs->do_import_items |= importer::HISTORY;
279 } else { 279 } else {
280 out_prefs->dont_import_items |= importer::HISTORY; 280 out_prefs->dont_import_items |= importer::HISTORY;
281 } 281 }
282 } 282 }
283 283
284 std::string not_used; 284 std::string not_used;
285 out_prefs->homepage_defined = install_prefs->GetString( 285 out_prefs->homepage_defined = install_prefs.GetString(
286 prefs::kHomePage, &not_used); 286 prefs::kHomePage, &not_used);
287 287
288 if (install_prefs->GetBool( 288 if (install_prefs.GetBool(
289 installer::master_preferences::kDistroImportHomePagePref, 289 installer::master_preferences::kDistroImportHomePagePref,
290 &value)) { 290 &value)) {
291 if (value) { 291 if (value) {
292 out_prefs->do_import_items |= importer::HOME_PAGE; 292 out_prefs->do_import_items |= importer::HOME_PAGE;
293 } else { 293 } else {
294 out_prefs->dont_import_items |= importer::HOME_PAGE; 294 out_prefs->dont_import_items |= importer::HOME_PAGE;
295 } 295 }
296 } 296 }
297 297
298 // Bookmarks are never imported unless specifically turned on. 298 // Bookmarks are never imported unless specifically turned on.
299 if (install_prefs->GetBool( 299 if (install_prefs.GetBool(
300 installer::master_preferences::kDistroImportBookmarksPref, 300 installer::master_preferences::kDistroImportBookmarksPref,
301 &value)) { 301 &value)) {
302 if (value) 302 if (value)
303 out_prefs->do_import_items |= importer::FAVORITES; 303 out_prefs->do_import_items |= importer::FAVORITES;
304 else 304 else
305 out_prefs->dont_import_items |= importer::FAVORITES; 305 out_prefs->dont_import_items |= importer::FAVORITES;
306 } 306 }
307 307
308 if (install_prefs->GetBool( 308 if (install_prefs.GetBool(
309 installer::master_preferences::kMakeChromeDefaultForUser, 309 installer::master_preferences::kMakeChromeDefaultForUser,
310 &value) && value) { 310 &value) && value) {
311 out_prefs->make_chrome_default = true; 311 out_prefs->make_chrome_default = true;
312 } 312 }
313 313
314 if (install_prefs->GetBool( 314 if (install_prefs.GetBool(
315 installer::master_preferences::kSuppressFirstRunDefaultBrowserPrompt, 315 installer::master_preferences::kSuppressFirstRunDefaultBrowserPrompt,
316 &value) && value) { 316 &value) && value) {
317 out_prefs->suppress_first_run_default_browser_prompt = true; 317 out_prefs->suppress_first_run_default_browser_prompt = true;
318 } 318 }
319
320 out_prefs->variations_seed = install_prefs.GetVariationsSeed();
319 } 321 }
320 322
321 void SetDefaultBrowser(installer::MasterPreferences* install_prefs){ 323 void SetDefaultBrowser(installer::MasterPreferences* install_prefs){
322 // Even on the first run we only allow for the user choice to take effect if 324 // Even on the first run we only allow for the user choice to take effect if
323 // no policy has been set by the admin. 325 // no policy has been set by the admin.
324 if (!g_browser_process->local_state()->IsManagedPreference( 326 if (!g_browser_process->local_state()->IsManagedPreference(
325 prefs::kDefaultBrowserSettingEnabled)) { 327 prefs::kDefaultBrowserSettingEnabled)) {
326 bool value = false; 328 bool value = false;
327 if (install_prefs->GetBool( 329 if (install_prefs->GetBool(
328 installer::master_preferences::kMakeChromeDefaultForUser, 330 installer::master_preferences::kMakeChromeDefaultForUser,
(...skipping 259 matching lines...) Expand 10 before | Expand all | Expand 10 after
588 internal::SetRLZPref(out_prefs, install_prefs.get()); 590 internal::SetRLZPref(out_prefs, install_prefs.get());
589 591
590 if (!internal::ShowPostInstallEULAIfNeeded(install_prefs.get())) 592 if (!internal::ShowPostInstallEULAIfNeeded(install_prefs.get()))
591 return EULA_EXIT_NOW; 593 return EULA_EXIT_NOW;
592 594
593 if (!internal::CopyPrefFile(user_data_dir, master_prefs_path)) 595 if (!internal::CopyPrefFile(user_data_dir, master_prefs_path))
594 DLOG(ERROR) << "Failed to copy master_preferences to user data dir."; 596 DLOG(ERROR) << "Failed to copy master_preferences to user data dir.";
595 597
596 DoDelayedInstallExtensionsIfNeeded(install_prefs.get()); 598 DoDelayedInstallExtensionsIfNeeded(install_prefs.get());
597 599
598 internal::SetupMasterPrefsFromInstallPrefs(out_prefs, 600 internal::SetupMasterPrefsFromInstallPrefs(*install_prefs, out_prefs);
599 install_prefs.get());
600 601
601 internal::SetImportPreferencesAndLaunchImport(out_prefs, install_prefs.get()); 602 internal::SetImportPreferencesAndLaunchImport(out_prefs, install_prefs.get());
602 internal::SetDefaultBrowser(install_prefs.get()); 603 internal::SetDefaultBrowser(install_prefs.get());
603 604
604 return DO_FIRST_RUN_TASKS; 605 return DO_FIRST_RUN_TASKS;
605 } 606 }
606 607
607 void AutoImport( 608 void AutoImport(
608 Profile* profile, 609 Profile* profile,
609 bool homepage_defined, 610 bool homepage_defined,
(...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after
720 if (template_url && template_url->GetDefaultSearchProvider()) 721 if (template_url && template_url->GetDefaultSearchProvider())
721 FirstRunBubbleLauncher::ShowFirstRunBubbleSoon(); 722 FirstRunBubbleLauncher::ShowFirstRunBubbleSoon();
722 SetShowWelcomePagePref(); 723 SetShowWelcomePagePref();
723 SetPersonalDataManagerFirstRunPref(); 724 SetPersonalDataManagerFirstRunPref();
724 #endif // !defined(USE_AURA) 725 #endif // !defined(USE_AURA)
725 726
726 internal::DoPostImportPlatformSpecificTasks(); 727 internal::DoPostImportPlatformSpecificTasks();
727 } 728 }
728 729
729 } // namespace first_run 730 } // namespace first_run
OLDNEW
« no previous file with comments | « chrome/browser/first_run/first_run.h ('k') | chrome/browser/first_run/first_run_internal.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698