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

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

Issue 11636031: [Fixit Dec-2012] Refactor first_run, very few things should depend on whether the First Run senti... (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fix android and chromeos compile Created 8 years 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/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/metrics/histogram.h" 10 #include "base/metrics/histogram.h"
(...skipping 513 matching lines...) Expand 10 before | Expand all | Expand 10 after
524 524
525 ProcessMasterPreferencesResult ProcessMasterPreferences( 525 ProcessMasterPreferencesResult ProcessMasterPreferences(
526 const FilePath& user_data_dir, 526 const FilePath& user_data_dir,
527 MasterPrefs* out_prefs) { 527 MasterPrefs* out_prefs) {
528 DCHECK(!user_data_dir.empty()); 528 DCHECK(!user_data_dir.empty());
529 529
530 #if defined(OS_CHROMEOS) 530 #if defined(OS_CHROMEOS)
531 // Chrome OS has its own out-of-box-experience code. Create the sentinel to 531 // Chrome OS has its own out-of-box-experience code. Create the sentinel to
532 // mark the fact that we've run once but skip the full first-run flow. 532 // mark the fact that we've run once but skip the full first-run flow.
533 CreateSentinel(); 533 CreateSentinel();
534 return SKIP_FIRST_RUN; 534 return SKIP_FIRST_RUN_TASKS;
535 #endif 535 #endif
536 536
537 FilePath master_prefs_path; 537 FilePath master_prefs_path;
538 scoped_ptr<installer::MasterPreferences> 538 scoped_ptr<installer::MasterPreferences>
539 install_prefs(internal::LoadMasterPrefs(&master_prefs_path)); 539 install_prefs(internal::LoadMasterPrefs(&master_prefs_path));
540 if (!install_prefs.get()) 540 if (!install_prefs.get())
541 return SHOW_FIRST_RUN; 541 return DO_FIRST_RUN_TASKS;
542 542
543 out_prefs->new_tabs = install_prefs->GetFirstRunTabs(); 543 out_prefs->new_tabs = install_prefs->GetFirstRunTabs();
544 544
545 internal::SetRLZPref(out_prefs, install_prefs.get()); 545 internal::SetRLZPref(out_prefs, install_prefs.get());
546 546
547 if (!internal::ShowPostInstallEULAIfNeeded(install_prefs.get())) 547 if (!internal::ShowPostInstallEULAIfNeeded(install_prefs.get()))
548 return EULA_EXIT_NOW; 548 return EULA_EXIT_NOW;
549 549
550 if (!internal::CopyPrefFile(user_data_dir, master_prefs_path)) 550 if (!internal::CopyPrefFile(user_data_dir, master_prefs_path))
551 return SHOW_FIRST_RUN; 551 return DO_FIRST_RUN_TASKS;
552 552
553 DoDelayedInstallExtensionsIfNeeded(install_prefs.get()); 553 DoDelayedInstallExtensionsIfNeeded(install_prefs.get());
554 554
555 internal::SetupMasterPrefsFromInstallPrefs(out_prefs, 555 internal::SetupMasterPrefsFromInstallPrefs(out_prefs,
556 install_prefs.get()); 556 install_prefs.get());
557 557
558 internal::SetImportPreferencesAndLaunchImport(out_prefs, install_prefs.get()); 558 internal::SetImportPreferencesAndLaunchImport(out_prefs, install_prefs.get());
559 internal::SetDefaultBrowser(install_prefs.get()); 559 internal::SetDefaultBrowser(install_prefs.get());
560 560
561 return SHOW_FIRST_RUN; 561 return DO_FIRST_RUN_TASKS;
562 } 562 }
563 563
564 void AutoImport( 564 void AutoImport(
565 Profile* profile, 565 Profile* profile,
566 bool homepage_defined, 566 bool homepage_defined,
567 int import_items, 567 int import_items,
568 int dont_import_items, 568 int dont_import_items,
569 ProcessSingleton* process_singleton) { 569 ProcessSingleton* process_singleton) {
570 #if !defined(USE_AURA) 570 #if !defined(USE_AURA)
571 // We need to avoid dispatching new tabs when we are importing because 571 // We need to avoid dispatching new tabs when we are importing because
(...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after
646 internal::ImportSettings(profile, importer_host, importer_list, items); 646 internal::ImportSettings(profile, importer_host, importer_list, items);
647 } 647 }
648 648
649 content::RecordAction(UserMetricsAction("FirstRunDef_Accept")); 649 content::RecordAction(UserMetricsAction("FirstRunDef_Accept"));
650 650
651 process_singleton->Unlock(); 651 process_singleton->Unlock();
652 first_run::CreateSentinel(); 652 first_run::CreateSentinel();
653 #endif // !defined(USE_AURA) 653 #endif // !defined(USE_AURA)
654 } 654 }
655 655
656 void DoFirstRunTasks(Profile* profile, bool make_chrome_default) { 656 void DoPostImportTasks(Profile* profile, bool make_chrome_default) {
657 if (make_chrome_default && 657 if (make_chrome_default &&
658 ShellIntegration::CanSetAsDefaultBrowser() == 658 ShellIntegration::CanSetAsDefaultBrowser() ==
659 ShellIntegration::SET_DEFAULT_UNATTENDED) { 659 ShellIntegration::SET_DEFAULT_UNATTENDED) {
660 ShellIntegration::SetAsDefaultBrowser(); 660 ShellIntegration::SetAsDefaultBrowser();
661 } 661 }
662 662
663 #if !defined(USE_AURA) 663 #if !defined(USE_AURA)
664 FilePath local_state_path; 664 FilePath local_state_path;
665 PathService::Get(chrome::FILE_LOCAL_STATE, &local_state_path); 665 PathService::Get(chrome::FILE_LOCAL_STATE, &local_state_path);
666 bool local_state_file_exists = file_util::PathExists(local_state_path); 666 bool local_state_file_exists = file_util::PathExists(local_state_path);
667 667
668 // Launch the first run dialog only for certain builds, and only if the user 668 // Launch the first run dialog only for certain builds, and only if the user
669 // has not already set preferences. 669 // has not already set preferences.
670 if (internal::IsOrganicFirstRun() && !local_state_file_exists) { 670 if (internal::IsOrganicFirstRun() && !local_state_file_exists) {
671 startup_metric_utils::SetNonBrowserUIDisplayed(); 671 startup_metric_utils::SetNonBrowserUIDisplayed();
672 ShowFirstRunDialog(profile); 672 ShowFirstRunDialog(profile);
673 } 673 }
674 // Display the first run bubble if there is a default search provider. 674 // Display the first run bubble if there is a default search provider.
675 TemplateURLService* template_url = 675 TemplateURLService* template_url =
676 TemplateURLServiceFactory::GetForProfile(profile); 676 TemplateURLServiceFactory::GetForProfile(profile);
677 if (template_url && template_url->GetDefaultSearchProvider()) 677 if (template_url && template_url->GetDefaultSearchProvider())
678 FirstRunBubbleLauncher::ShowFirstRunBubbleSoon(); 678 FirstRunBubbleLauncher::ShowFirstRunBubbleSoon();
679 SetShowWelcomePagePref(); 679 SetShowWelcomePagePref();
680 SetPersonalDataManagerFirstRunPref(); 680 SetPersonalDataManagerFirstRunPref();
681 #endif // !defined(USE_AURA) 681 #endif // !defined(USE_AURA)
682 } 682 }
683 683
684 } // namespace first_run 684 } // namespace first_run
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698