| Index: components/sync_driver/startup_controller.cc
|
| diff --git a/components/sync_driver/startup_controller.cc b/components/sync_driver/startup_controller.cc
|
| index 631cdcce3466a2e60ab2bad542f0b951427be415..05532530cb2676b8b4b5f79961f8e1066964c527 100644
|
| --- a/components/sync_driver/startup_controller.cc
|
| +++ b/components/sync_driver/startup_controller.cc
|
| @@ -12,8 +12,6 @@
|
| #include "base/single_thread_task_runner.h"
|
| #include "base/strings/string_number_conversions.h"
|
| #include "base/thread_task_runner_handle.h"
|
| -#include "components/signin/core/browser/profile_oauth2_token_service.h"
|
| -#include "components/sync_driver/signin_manager_wrapper.h"
|
| #include "components/sync_driver/sync_driver_switches.h"
|
| #include "components/sync_driver/sync_prefs.h"
|
|
|
| @@ -38,16 +36,13 @@ enum DeferredInitTrigger {
|
|
|
| } // namespace
|
|
|
| -StartupController::StartupController(
|
| - const ProfileOAuth2TokenService* token_service,
|
| - const sync_driver::SyncPrefs* sync_prefs,
|
| - const SigninManagerWrapper* signin,
|
| - base::Closure start_backend)
|
| +StartupController::StartupController(const sync_driver::SyncPrefs* sync_prefs,
|
| + base::Callback<bool()> can_start,
|
| + base::Closure start_backend)
|
| : received_start_request_(false),
|
| setup_in_progress_(false),
|
| sync_prefs_(sync_prefs),
|
| - token_service_(token_service),
|
| - signin_(signin),
|
| + can_start_(can_start),
|
| start_backend_(start_backend),
|
| fallback_timeout_(
|
| base::TimeDelta::FromSeconds(kDeferredInitFallbackSeconds)),
|
| @@ -119,29 +114,9 @@ void StartupController::OverrideFallbackTimeoutForTest(
|
| }
|
|
|
| bool StartupController::TryStart() {
|
| - if (sync_prefs_->IsManaged())
|
| + if (!can_start_.Run())
|
| return false;
|
|
|
| - if (!sync_prefs_->IsSyncRequested())
|
| - return false;
|
| -
|
| - if (signin_->GetAccountIdToUse().empty())
|
| - return false;
|
| -
|
| - if (!token_service_)
|
| - return false;
|
| -
|
| - if (!token_service_->RefreshTokenIsAvailable(signin_->GetAccountIdToUse())) {
|
| - return false;
|
| - }
|
| -
|
| - // TODO(tim): Seems wrong to always record this histogram here...
|
| - // If we got here then tokens are loaded and user logged in and sync is
|
| - // enabled. If OAuth refresh token is not available then something is wrong.
|
| - // When PSS requests access token, OAuth2TokenService will return error and
|
| - // PSS will show error to user asking to reauthenticate.
|
| - UMA_HISTOGRAM_BOOLEAN("Sync.RefreshTokenAvailable", true);
|
| -
|
| // For performance reasons, defer the heavy lifting for sync init unless:
|
| //
|
| // - a datatype has requested an immediate start of sync, or
|
|
|