| Index: chrome/browser/ui/webui/sync_setup_handler.cc
|
| ===================================================================
|
| --- chrome/browser/ui/webui/sync_setup_handler.cc (revision 183386)
|
| +++ chrome/browser/ui/webui/sync_setup_handler.cc (working copy)
|
| @@ -1202,15 +1202,21 @@
|
| // since the user is doing something with it. Disconnect and forget about it
|
| // before closing down the sync setup.
|
| // The one exception is the expected continue URL. If the user lands there,
|
| - // this means sign in was successful.
|
| + // this means sign in was successful. Ignore the source parameter in the
|
| + // continue URL since this user may have changed the state of the
|
| + // "Let me choose what to sync" checkbox.
|
| const GURL& url = active_gaia_signin_tab_->GetURL();
|
| const GURL continue_url =
|
| SyncPromoUI::GetNextPageURLForSyncPromoURL(
|
| SyncPromoUI::GetSyncPromoURL(GURL(),
|
| SyncPromoUI::SOURCE_SETTINGS,
|
| false));
|
| + GURL::Replacements replacements;
|
| + replacements.ClearQuery();
|
|
|
| - if (url != continue_url && !gaia::IsGaiaSignonRealm(url.GetOrigin())) {
|
| + if (!gaia::IsGaiaSignonRealm(url.GetOrigin()) &&
|
| + url.ReplaceComponents(replacements) !=
|
| + continue_url.ReplaceComponents(replacements)) {
|
| content::WebContentsObserver::Observe(NULL);
|
| active_gaia_signin_tab_ = NULL;
|
| CloseSyncSetup();
|
|
|