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

Unified Diff: chrome/browser/ui/webui/inline_login_ui.cc

Issue 99913004: Add error handling to inline signin flow (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years 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/ui/sync/one_click_signin_helper.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/ui/webui/inline_login_ui.cc
diff --git a/chrome/browser/ui/webui/inline_login_ui.cc b/chrome/browser/ui/webui/inline_login_ui.cc
index d973be72cee0154e10236815dbeb48bad968adf6..f632164ac81d0d6a1c5e87ee6c39270f6be67358 100644
--- a/chrome/browser/ui/webui/inline_login_ui.cc
+++ b/chrome/browser/ui/webui/inline_login_ui.cc
@@ -25,6 +25,7 @@
#include "chrome/browser/sync/profile_sync_service.h"
#include "chrome/browser/sync/profile_sync_service_factory.h"
#include "chrome/browser/ui/browser_finder.h"
+#include "chrome/browser/ui/sync/one_click_signin_helper.h"
#include "chrome/browser/ui/sync/one_click_signin_sync_starter.h"
#include "chrome/browser/ui/tabs/tab_strip_model.h"
#include "chrome/common/chrome_switches.h"
@@ -207,6 +208,18 @@ class InlineLoginUIHandler : public content::WebUIMessageHandler {
dict->GetBoolean("chooseWhatToSync", &choose_what_to_sync_);
content::WebContents* web_contents = web_ui()->GetWebContents();
+ std::string error_msg;
+ OneClickSigninHelper::CanOffer(
+ web_contents, OneClickSigninHelper::CAN_OFFER_FOR_ALL,
+ UTF16ToASCII(email), &error_msg);
+ if (!error_msg.empty()) {
+ RedirectToNtpOrAppsPage(
+ web_contents, signin::GetSourceForPromoURL(web_contents->GetURL()));
+ Browser* browser = chrome::FindBrowserWithWebContents(web_contents);
+ OneClickSigninHelper::ShowSigninErrorBubble(browser, error_msg);
+ return;
+ }
+
content::StoragePartition* partition =
content::BrowserContext::GetStoragePartitionForSite(
web_contents->GetBrowserContext(),
@@ -288,20 +301,25 @@ class InlineLoginUIHandler : public content::WebUIMessageHandler {
} else if (source != signin::SOURCE_UNKNOWN &&
source != signin::SOURCE_SETTINGS &&
source != signin::SOURCE_WEBSTORE_INSTALL) {
- // Redirect to NTP/Apps page and display a confirmation bubble.
// TODO(guohui): should redirect to the given continue url for webstore
// install flows.
- GURL url(source == signin::SOURCE_APPS_PAGE_LINK ?
- chrome::kChromeUIAppsURL : chrome::kChromeUINewTabURL);
- content::OpenURLParams params(url,
- content::Referrer(),
- CURRENT_TAB,
- content::PAGE_TRANSITION_AUTO_TOPLEVEL,
- false);
- contents->OpenURL(params);
+ RedirectToNtpOrAppsPage(contents, source);
}
}
+ void RedirectToNtpOrAppsPage(content::WebContents* contents,
+ signin::Source source) {
+ VLOG(1) << "RedirectToNtpOrAppsPage";
+ GURL url(source == signin::SOURCE_APPS_PAGE_LINK ?
+ chrome::kChromeUIAppsURL : chrome::kChromeUINewTabURL);
+ content::OpenURLParams params(url,
+ content::Referrer(),
+ CURRENT_TAB,
+ content::PAGE_TRANSITION_AUTO_TOPLEVEL,
+ false);
+ contents->OpenURL(params);
+ }
Roger Tawa OOO till Jul 10th 2013/12/02 21:04:51 Should reuse function from OneClickSigninHelper, l
+
void CloseTab() {
content::WebContents* tab = web_ui()->GetWebContents();
Browser* browser = chrome::FindBrowserWithWebContents(tab);
« no previous file with comments | « chrome/browser/ui/sync/one_click_signin_helper.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698