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

Unified Diff: chrome/browser/sync/sync_setup_flow.cc

Issue 9295044: Start moving signin code out of browser/sync. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Cleaned up unnecessary inclusions of signin_manager.h Created 8 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/browser/sync/sync_setup_flow.h ('k') | chrome/browser/sync/sync_setup_flow_handler.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/sync/sync_setup_flow.cc
diff --git a/chrome/browser/sync/sync_setup_flow.cc b/chrome/browser/sync/sync_setup_flow.cc
index 67e0a5a331b1880aed0e2e2f5ae93a4afeb6a3ab..fb9e188300897eff081495625a202abf7ddb8e2a 100644
--- a/chrome/browser/sync/sync_setup_flow.cc
+++ b/chrome/browser/sync/sync_setup_flow.cc
@@ -12,7 +12,6 @@
#include "base/string_util.h"
#include "base/utf_string_conversions.h"
#include "base/values.h"
-#include "chrome/browser/net/gaia/gaia_oauth_fetcher.h"
#include "chrome/browser/prefs/pref_service.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/browser/signin/signin_manager.h"
@@ -39,37 +38,6 @@ void DisablePasswordSync(ProfileSyncService* service) {
service->OnUserChoseDatatypes(false, types);
}
-// Returns the next step for the non-fatal error case.
-SyncSetupWizard::State GetStepForNonFatalError(ProfileSyncService* service) {
- // TODO(sync): Update this error handling to allow different platforms to
- // display the error appropriately (http://crbug.com/92722) instead of
- // navigating to a LOGIN state that is not supported on every platform.
- if (service->IsPassphraseRequired()) {
-#if defined(OS_CHROMEOS)
- // On ChromeOS, we never want to request login information; this state
- // always represents an invalid secondary passphrase.
- // TODO(sync): correctly handle auth errors on ChromeOS: crosbug.com/24647.
- return SyncSetupWizard::ENTER_PASSPHRASE;
-#else
- if (service->IsUsingSecondaryPassphrase())
- return SyncSetupWizard::ENTER_PASSPHRASE;
- return SyncSetupWizard::GetLoginState();
-#endif
- }
-
- const GoogleServiceAuthError& error = service->GetAuthError();
- if (error.state() == GoogleServiceAuthError::INVALID_GAIA_CREDENTIALS ||
- error.state() == GoogleServiceAuthError::CAPTCHA_REQUIRED ||
- error.state() == GoogleServiceAuthError::ACCOUNT_DELETED ||
- error.state() == GoogleServiceAuthError::ACCOUNT_DISABLED ||
- error.state() == GoogleServiceAuthError::SERVICE_UNAVAILABLE) {
- return SyncSetupWizard::GetLoginState();
- }
-
- NOTREACHED();
- return SyncSetupWizard::FATAL_ERROR;
-}
-
bool HasConfigurationChanged(const SyncConfiguration& configuration,
Profile* profile) {
CHECK(profile);
@@ -226,8 +194,6 @@ SyncSetupFlow* SyncSetupFlow::Run(ProfileSyncService* service,
SyncSetupFlowContainer* container,
SyncSetupWizard::State start,
SyncSetupWizard::State end) {
- if (start == SyncSetupWizard::NONFATAL_ERROR)
- start = GetStepForNonFatalError(service);
if ((start == SyncSetupWizard::CONFIGURE ||
start == SyncSetupWizard::SYNC_EVERYTHING ||
start == SyncSetupWizard::ENTER_PASSPHRASE) &&
@@ -241,24 +207,6 @@ SyncSetupFlow* SyncSetupFlow::Run(ProfileSyncService* service,
return new SyncSetupFlow(start, end, container, service);
}
-void SyncSetupFlow::GetArgsForGaiaLogin(DictionaryValue* args) {
- const GoogleServiceAuthError& error = service_->GetAuthError();
- if (!last_attempted_user_email_.empty()) {
- args->SetString("user", last_attempted_user_email_);
- args->SetInteger("error", error.state());
- args->SetBoolean("editable_user", true);
- } else {
- string16 user;
- user = UTF8ToUTF16(service_->profile()->GetPrefs()->GetString(
- prefs::kGoogleServicesUsername));
- args->SetString("user", user);
- args->SetInteger("error", 0);
- args->SetBoolean("editable_user", user.empty());
- }
-
- args->SetString("captchaUrl", error.captcha().image_url.spec());
-}
-
void SyncSetupFlow::GetArgsForConfigure(DictionaryValue* args) {
// The SYNC_EVERYTHING case will set this to true.
args->SetBoolean("showSyncEverythingPage", false);
@@ -364,7 +312,6 @@ void SyncSetupFlow::Focus() {
}
// A callback to notify the delegate that the dialog closed.
-// TODO(rickcam): Bug 90713: Handle OAUTH_LOGIN case here
void SyncSetupFlow::OnDialogClosed(const std::string& json_retval) {
DCHECK(json_retval.empty());
container_->set_flow(NULL); // Sever ties from the wizard.
@@ -375,14 +322,6 @@ void SyncSetupFlow::OnDialogClosed(const std::string& json_retval) {
// Record the state at which the user cancelled the signon dialog.
switch (current_state_) {
- case SyncSetupWizard::GAIA_LOGIN:
- ProfileSyncService::SyncEvent(
- ProfileSyncService::CANCEL_FROM_SIGNON_WITHOUT_AUTH);
- break;
- case SyncSetupWizard::GAIA_SUCCESS:
- ProfileSyncService::SyncEvent(
- ProfileSyncService::CANCEL_DURING_SIGNON);
- break;
case SyncSetupWizard::CONFIGURE:
case SyncSetupWizard::ENTER_PASSPHRASE:
case SyncSetupWizard::SETTING_UP:
@@ -391,53 +330,14 @@ void SyncSetupFlow::OnDialogClosed(const std::string& json_retval) {
ProfileSyncService::SyncEvent(
ProfileSyncService::CANCEL_DURING_CONFIGURE);
break;
- case SyncSetupWizard::DONE:
- // TODO(sync): rename this histogram; it's tracking authorization AND
- // initial sync download time.
- UMA_HISTOGRAM_MEDIUM_TIMES("Sync.UserPerceivedAuthorizationTime",
- base::TimeTicks::Now() - login_start_time_);
- break;
default:
break;
}
- service_->SetUIShouldDepictAuthInProgress(false);
service_->OnUserCancelledDialog();
delete this;
}
-void SyncSetupFlow::OnUserSubmittedAuth(const std::string& username,
- const std::string& password,
- const std::string& captcha,
- const std::string& access_code) {
- last_attempted_user_email_ = username;
- service_->SetUIShouldDepictAuthInProgress(true);
-
- // If we're just being called to provide an ASP, then pass it to the
- // SigninManager and wait for the next step.
- if (!access_code.empty()) {
- service_->signin()->ProvideSecondFactorAccessCode(access_code);
- return;
- }
-
- // Kick off a sign-in through the signin manager.
- SigninManager* signin = service_->signin();
- signin->StartSignIn(username,
- password,
- signin->GetLoginAuthError().captcha().token,
- captcha);
-}
-
-void SyncSetupFlow::OnUserSubmittedOAuth(
- const std::string& oauth1_request_token) {
- GaiaOAuthFetcher* fetcher = new GaiaOAuthFetcher(
- service_->signin(),
- service_->profile()->GetRequestContext(),
- service_->profile(),
- GaiaConstants::kSyncServiceOAuth);
- service_->signin()->StartOAuthSignIn(oauth1_request_token, fetcher);
-}
-
void SyncSetupFlow::OnUserConfigured(const SyncConfiguration& configuration) {
// Update sync histograms. This is a no-op if |configuration| has not changed.
UpdateHistogram(configuration, service_);
@@ -523,7 +423,6 @@ SyncSetupFlow::SyncSetupFlow(SyncSetupWizard::State start_state,
: container_(container),
current_state_(start_state),
end_state_(end_state),
- login_start_time_(base::TimeTicks::Now()),
flow_handler_(NULL),
service_(service),
user_tried_creating_explicit_passphrase_(false),
@@ -533,33 +432,17 @@ SyncSetupFlow::SyncSetupFlow(SyncSetupWizard::State start_state,
// Returns true if the flow should advance to |state| based on |current_state_|.
bool SyncSetupFlow::ShouldAdvance(SyncSetupWizard::State state) {
switch (state) {
- case SyncSetupWizard::OAUTH_LOGIN:
- return current_state_ == SyncSetupWizard::FATAL_ERROR ||
- current_state_ == SyncSetupWizard::OAUTH_LOGIN ||
- current_state_ == SyncSetupWizard::SETTING_UP;
- case SyncSetupWizard::GAIA_LOGIN:
- return current_state_ == SyncSetupWizard::FATAL_ERROR ||
- current_state_ == SyncSetupWizard::GAIA_LOGIN ||
- current_state_ == SyncSetupWizard::SETTING_UP;
- case SyncSetupWizard::GAIA_SUCCESS:
- return current_state_ == SyncSetupWizard::GAIA_LOGIN ||
- current_state_ == SyncSetupWizard::OAUTH_LOGIN;
case SyncSetupWizard::SYNC_EVERYTHING: // Intentionally fall through.
case SyncSetupWizard::CONFIGURE:
- return current_state_ == SyncSetupWizard::GAIA_SUCCESS;
+ return current_state_ != SyncSetupWizard::SETTING_UP;
case SyncSetupWizard::ENTER_PASSPHRASE:
- return (service_->auto_start_enabled() &&
- current_state_ == SyncSetupWizard::GAIA_LOGIN) ||
- current_state_ == SyncSetupWizard::SYNC_EVERYTHING ||
+ return current_state_ == SyncSetupWizard::SYNC_EVERYTHING ||
current_state_ == SyncSetupWizard::CONFIGURE ||
current_state_ == SyncSetupWizard::SETTING_UP;
- case SyncSetupWizard::SETUP_ABORTED_BY_PENDING_CLEAR:
- return current_state_ != SyncSetupWizard::ABORT;
case SyncSetupWizard::SETTING_UP:
return current_state_ == SyncSetupWizard::SYNC_EVERYTHING ||
current_state_ == SyncSetupWizard::CONFIGURE ||
current_state_ == SyncSetupWizard::ENTER_PASSPHRASE;
- case SyncSetupWizard::NONFATAL_ERROR: // Intentionally fall through.
case SyncSetupWizard::FATAL_ERROR:
return current_state_ != SyncSetupWizard::ABORT;
case SyncSetupWizard::ABORT:
@@ -576,31 +459,9 @@ bool SyncSetupFlow::ShouldAdvance(SyncSetupWizard::State state) {
void SyncSetupFlow::ActivateState(SyncSetupWizard::State state) {
DCHECK(flow_handler_);
- if (state == SyncSetupWizard::NONFATAL_ERROR)
- state = GetStepForNonFatalError(service_);
-
current_state_ = state;
switch (state) {
- case SyncSetupWizard::OAUTH_LOGIN: {
- flow_handler_->ShowOAuthLogin();
- break;
- }
- case SyncSetupWizard::GAIA_LOGIN: {
- DictionaryValue args;
- GetArgsForGaiaLogin(&args);
- flow_handler_->ShowGaiaLogin(args);
- break;
- }
- case SyncSetupWizard::GAIA_SUCCESS:
- // Authentication is complete now.
- service_->SetUIShouldDepictAuthInProgress(false);
- if (end_state_ == SyncSetupWizard::GAIA_SUCCESS) {
- flow_handler_->ShowGaiaSuccessAndClose();
- break;
- }
- flow_handler_->ShowGaiaSuccessAndSettingUp();
- break;
case SyncSetupWizard::SYNC_EVERYTHING: {
DictionaryValue args;
GetArgsForConfigure(&args);
@@ -622,17 +483,6 @@ void SyncSetupFlow::ActivateState(SyncSetupWizard::State state) {
flow_handler_->ShowPassphraseEntry(args);
break;
}
- case SyncSetupWizard::SETUP_ABORTED_BY_PENDING_CLEAR: {
- // TODO(sync): We should expose a real "display an error" API on
- // SyncSetupFlowHandler (crbug.com/92722) but for now just transition
- // to the login state with a special error code.
- DictionaryValue args;
- GetArgsForGaiaLogin(&args);
- args.SetInteger("error", GoogleServiceAuthError::SERVICE_UNAVAILABLE);
- current_state_ = SyncSetupWizard::GAIA_LOGIN;
- flow_handler_->ShowGaiaLogin(args);
- break;
- }
case SyncSetupWizard::SETTING_UP: {
flow_handler_->ShowSettingUp();
break;
@@ -641,11 +491,7 @@ void SyncSetupFlow::ActivateState(SyncSetupWizard::State state) {
// This shows the user the "Could not connect to server" error.
// TODO(sync): Update this error handling to allow different platforms to
// display the error appropriately (http://crbug.com/92722).
- DictionaryValue args;
- GetArgsForGaiaLogin(&args);
- args.SetBoolean("fatalError", true);
- current_state_ = SyncSetupWizard::GAIA_LOGIN;
- flow_handler_->ShowGaiaLogin(args);
+ flow_handler_->ShowFatalError();
break;
}
case SyncSetupWizard::DONE:
« no previous file with comments | « chrome/browser/sync/sync_setup_flow.h ('k') | chrome/browser/sync/sync_setup_flow_handler.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698