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

Unified Diff: chrome/browser/ui/webui/signin/inline_login_handler.cc

Issue 1814513002: Fix sizing issues in the tab modal signin flow. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix unit tests Created 4 years, 8 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
Index: chrome/browser/ui/webui/signin/inline_login_handler.cc
diff --git a/chrome/browser/ui/webui/signin/inline_login_handler.cc b/chrome/browser/ui/webui/signin/inline_login_handler.cc
index 80d536314821f9d7964d1055917d2f1cff196391..f127b29914813fb01f54a5f82aa4f4a8c3b11b3f 100644
--- a/chrome/browser/ui/webui/signin/inline_login_handler.cc
+++ b/chrome/browser/ui/webui/signin/inline_login_handler.cc
@@ -14,8 +14,10 @@
#include "chrome/browser/extensions/signin/gaia_auth_extension_loader.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/browser/signin/signin_promo.h"
+#include "chrome/browser/ui/browser_finder.h"
#include "chrome/browser/ui/browser_navigator.h"
#include "chrome/browser/ui/browser_navigator_params.h"
+#include "chrome/browser/ui/signin_view_controller_delegate.h"
#include "chrome/common/pref_names.h"
#include "components/metrics/metrics_pref_names.h"
#include "components/prefs/pref_service.h"
@@ -27,6 +29,19 @@
#include "google_apis/gaia/gaia_urls.h"
#include "net/base/url_util.h"
+namespace {
+
+Browser* GetDesktopBrowser(content::WebUI* web_ui) {
+ Browser* browser = chrome::FindBrowserWithWebContents(
+ web_ui->GetWebContents());
+ if (!browser)
+ browser = chrome::FindLastActiveWithProfile(Profile::FromWebUI(web_ui));
+ DCHECK(browser);
+ return browser;
+}
+
+} // namespace
+
InlineLoginHandler::InlineLoginHandler() : weak_ptr_factory_(this) {}
InlineLoginHandler::~InlineLoginHandler() {}
@@ -42,6 +57,9 @@ void InlineLoginHandler::RegisterMessages() {
"switchToFullTab",
base::Bind(&InlineLoginHandler::HandleSwitchToFullTabMessage,
base::Unretained(this)));
+ web_ui()->RegisterMessageCallback("navigationButtonClicked",
+ base::Bind(&InlineLoginHandler::HandleNavigationButtonClicked,
+ base::Unretained(this)));
}
void InlineLoginHandler::HandleInitializeMessage(const base::ListValue* args) {
@@ -235,3 +253,11 @@ void InlineLoginHandler::HandleSwitchToFullTabMessage(
web_ui()->CallJavascriptFunction("inline.login.closeDialog");
}
+
+void InlineLoginHandler::HandleNavigationButtonClicked(
+ const base::ListValue* args) {
+ Browser* browser = GetDesktopBrowser(web_ui());
+ DCHECK(browser);
+
+ browser->signin_view_controller()->delegate()->PerformNavigation();
+}
« no previous file with comments | « chrome/browser/ui/webui/signin/inline_login_handler.h ('k') | chrome/browser/ui/webui/signin/sync_confirmation_handler.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698