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

Unified Diff: chrome/browser/chrome_browser_main.cc

Issue 11413121: Move Windows-specific first run task out of chrome_browser_main.cc by introducing first_run::DoFirs… (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fix comment + TODO(thakis) 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/browser/chrome_browser_main.h ('k') | chrome/browser/chrome_browser_main_extra_parts.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/chrome_browser_main.cc
diff --git a/chrome/browser/chrome_browser_main.cc b/chrome/browser/chrome_browser_main.cc
index 98775e264b732ad0769cc41183049c7ef3da70ed..042b21c97cc727717d0286b161e6f1c5e36c81df 100644
--- a/chrome/browser/chrome_browser_main.cc
+++ b/chrome/browser/chrome_browser_main.cc
@@ -31,7 +31,6 @@
#include "base/sys_info.h"
#include "base/sys_string_conversions.h"
#include "base/threading/platform_thread.h"
-#include "base/threading/sequenced_worker_pool.h"
#include "base/time.h"
#include "base/utf_string_conversions.h"
#include "base/values.h"
@@ -947,6 +946,10 @@ void ChromeBrowserMainParts::PreMainMessageLoopRun() {
// ... additional setup, including CreateProfile()
// PostProfileInit()
// ... additional setup
+// PreInteractiveFirstRunInit()
+// ... first_run::AutoImport()
+// PostInteractiveFirstRunInit()
+// ... additional setup
// PreBrowserStart()
// ... browser_creator_->Start (OR parameters().ui_task->Run())
// PostBrowserStart()
@@ -961,6 +964,16 @@ void ChromeBrowserMainParts::PostProfileInit() {
chrome_extra_parts_[i]->PostProfileInit();
}
+void ChromeBrowserMainParts::PreInteractiveFirstRunInit() {
+ for (size_t i = 0; i < chrome_extra_parts_.size(); ++i)
+ chrome_extra_parts_[i]->PreInteractiveFirstRunInit();
+}
+
+void ChromeBrowserMainParts::PostInteractiveFirstRunInit() {
+ for (size_t i = 0; i < chrome_extra_parts_.size(); ++i)
+ chrome_extra_parts_[i]->PostInteractiveFirstRunInit();
+}
+
void ChromeBrowserMainParts::PreBrowserStart() {
for (size_t i = 0; i < chrome_extra_parts_.size(); ++i)
chrome_extra_parts_[i]->PreBrowserStart();
@@ -1196,25 +1209,8 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() {
// preferences are registered, since some of the code that the importer
// touches reads preferences.
if (is_first_run_) {
-#if defined(OS_WIN)
- // On Windows, trigger the Active Setup command for system-level Chromes to
- // finish configuring this user's install (e.g. per-user shortcuts).
- // Delay the task slightly to give Chrome launch I/O priority while also
- // making sure shortcuts are created promptly to avoid annoying the user by
- // re-creating shortcuts he previously deleted.
- // TODO(gab): Add a first run section to ChromeBrowserMainParts and remove
- // OS specific sections below.
- static const int64 kTiggerActiveSetupDelaySeconds = 5;
- FilePath chrome_exe;
- if (!PathService::Get(base::FILE_EXE, &chrome_exe)) {
- NOTREACHED();
- } else if (!InstallUtil::IsPerUserInstall(chrome_exe.value().c_str())) {
- BrowserThread::GetBlockingPool()->PostDelayedTask(
- FROM_HERE,
- base::Bind(&InstallUtil::TriggerActiveSetupCommand),
- base::TimeDelta::FromSeconds(kTiggerActiveSetupDelaySeconds));
- }
-#endif // OS_WIN
+ PreInteractiveFirstRunInit();
+
if (!first_run_ui_bypass_) {
first_run::AutoImport(profile_,
master_prefs_->homepage_defined,
@@ -1223,6 +1219,9 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() {
master_prefs_->make_chrome_default,
process_singleton_.get());
#if defined(OS_POSIX) && !defined(OS_CHROMEOS)
+ // TODO(thakis): Look into moving this POSIX-specific section to
+ // ChromeBrowserMainPartsPosix::PostInteractiveFirstRunInit().
+
// On Windows, the download is tagged with enable/disable stats so there
// is no need for this code.
@@ -1232,6 +1231,7 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() {
local_state_->SetBoolean(prefs::kMetricsReportingEnabled, true);
#endif // OS_POSIX && !OS_CHROMEOS
} // if (!first_run_ui_bypass_)
+ PostInteractiveFirstRunInit();
browser_process_->profile_manager()->OnImportFinished(profile_);
« no previous file with comments | « chrome/browser/chrome_browser_main.h ('k') | chrome/browser/chrome_browser_main_extra_parts.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698