Index: chrome/browser/sync/startup_controller.cc |
diff --git a/chrome/browser/sync/startup_controller.cc b/chrome/browser/sync/startup_controller.cc |
index bd6c0c469b78061f73c0faacb3d20dc4e675a30c..0e1bae9269468ea5f61e661ee4608bb70897af9b 100644 |
--- a/chrome/browser/sync/startup_controller.cc |
+++ b/chrome/browser/sync/startup_controller.cc |
@@ -7,6 +7,7 @@ |
#include "base/command_line.h" |
#include "base/message_loop/message_loop.h" |
#include "base/metrics/histogram.h" |
+#include "base/strings/string_number_conversions.h" |
#include "chrome/browser/managed_mode/managed_user_signin_manager_wrapper.h" |
#include "chrome/browser/signin/profile_oauth2_token_service.h" |
#include "chrome/browser/sync/sync_prefs.h" |
@@ -46,9 +47,17 @@ StartupController::StartupController( |
token_service_(token_service), |
signin_(signin), |
start_backend_(start_backend), |
- fallback_timeout_( |
- base::TimeDelta::FromSeconds(kDeferredInitFallbackSeconds)), |
- weak_factory_(this) {} |
+ weak_factory_(this) { |
+ |
+ int timeout = kDeferredInitFallbackSeconds; |
+ if (CommandLine::ForCurrentProcess()->HasSwitch( |
+ switches::kSyncDeferredStartupTimeoutSeconds)) { |
+ base::StringToInt(CommandLine::ForCurrentProcess()->GetSwitchValueASCII( |
rlarocque
2014/03/07 20:00:27
Could you check the return value? And maybe sanit
|
+ switches::kSyncDeferredStartupTimeoutSeconds), &timeout); |
+ } |
+ |
+ fallback_timeout_ = base::TimeDelta::FromSeconds(timeout); |
+} |
StartupController::~StartupController() {} |
@@ -72,8 +81,8 @@ bool StartupController::StartUp(StartUpDeferredOption deferred_option) { |
start_up_time_ = base::Time::Now(); |
if (deferred_option == STARTUP_BACKEND_DEFERRED && |
- CommandLine::ForCurrentProcess()->HasSwitch( |
- switches::kSyncEnableDeferredStartup) && |
+ !CommandLine::ForCurrentProcess()->HasSwitch( |
+ switches::kSyncDisableDeferredStartup) && |
sync_prefs_->GetPreferredDataTypes(registered_types_) |
.Has(syncer::SESSIONS)) { |
if (first_start) { |
@@ -152,8 +161,8 @@ bool StartupController::TryStart() { |
} |
void StartupController::OnFallbackStartupTimerExpired() { |
- DCHECK(CommandLine::ForCurrentProcess()->HasSwitch( |
- switches::kSyncEnableDeferredStartup)); |
+ DCHECK(!CommandLine::ForCurrentProcess()->HasSwitch( |
+ switches::kSyncDisableDeferredStartup)); |
if (!start_backend_time_.is_null()) |
return; |
@@ -179,8 +188,8 @@ std::string StartupController::GetBackendInitializationStateString() const { |
} |
void StartupController::OnDataTypeRequestsSyncStartup(syncer::ModelType type) { |
- if (!CommandLine::ForCurrentProcess()->HasSwitch( |
- switches::kSyncEnableDeferredStartup)) { |
+ if (CommandLine::ForCurrentProcess()->HasSwitch( |
+ switches::kSyncDisableDeferredStartup)) { |
DVLOG(2) << "Ignoring data type request for sync startup: " |
<< syncer::ModelTypeToString(type); |
return; |