Index: chrome/browser/ui/webui/signin/inline_login_handler_impl.cc |
diff --git a/chrome/browser/ui/webui/signin/inline_login_handler_impl.cc b/chrome/browser/ui/webui/signin/inline_login_handler_impl.cc |
index 8b41c80df6fe9bb590e53291392c01e76b4aa360..988abfac20ba31406cb69dff30be8384a787535e 100644 |
--- a/chrome/browser/ui/webui/signin/inline_login_handler_impl.cc |
+++ b/chrome/browser/ui/webui/signin/inline_login_handler_impl.cc |
@@ -62,6 +62,8 @@ void InlineLoginHandlerImpl::SetExtraInitParams(base::DictionaryValue& params) { |
GaiaUrls::GetInstance()->embedded_signin_url().path().substr(1)); |
} |
+ // TODO(isherman): Should the continue URL be passed on to GAIA? When I try |
+ // to pass it on, the tab crashes... I'm not exactly sure why. |
Ilya Sherman
2014/03/14 05:42:56
^^^
guohui
2014/03/14 22:09:44
nope gaia does not need to know the continue url.
|
params.SetString("service", "chromiumsync"); |
params.SetString("continueUrl", |
signin::GetLandingURL("source", static_cast<int>(source)).spec()); |
@@ -319,6 +321,8 @@ void InlineLoginHandlerImpl::SyncStarterCallback( |
signin::Source source = signin::GetSourceForPromoURL(current_url); |
DCHECK(source != signin::SOURCE_UNKNOWN); |
bool auto_close = signin::IsAutoCloseEnabledInURL(current_url); |
+ std::string continue_url; |
+ net::GetValueForKeyInQuery(current_url, "continueUrl", &continue_url); |
if (result == OneClickSigninSyncStarter::SYNC_SETUP_FAILURE) { |
OneClickSigninHelper::RedirectToNtpOrAppsPage(contents, source); |
@@ -327,6 +331,13 @@ void InlineLoginHandlerImpl::SyncStarterCallback( |
FROM_HERE, |
base::Bind(&InlineLoginHandlerImpl::CloseTab, |
weak_factory_.GetWeakPtr())); |
+ } else if (!continue_url.empty()) { |
+ // TODO(isherman): If the user opts to choose what is synced, this code is |
+ // reached, but then the tab is hijacked by chrome://settings/syncSetup. |
Ilya Sherman
2014/03/14 05:42:56
I'm not sure what to do about this. Conceptually,
guohui
2014/03/14 22:09:44
yup sync setup should open in the current tab, and
|
+ contents->GetController().LoadURL(GURL(continue_url), |
+ content::Referrer(), |
+ content::PAGE_TRANSITION_AUTO_TOPLEVEL, |
+ std::string()); |
} else { |
OneClickSigninHelper::RedirectToNtpOrAppsPageIfNecessary(contents, source); |
} |