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

Unified Diff: chrome/browser/ui/views/profiles/signin_view_controller_delegate_views.cc

Issue 2348423002: [Signin Error Dialog] (3/3) Added the triggering code (Closed)
Patch Set: Fix malformed function declaration on mac. Created 4 years, 3 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/views/profiles/signin_view_controller_delegate_views.cc
diff --git a/chrome/browser/ui/views/profiles/signin_view_controller_delegate_views.cc b/chrome/browser/ui/views/profiles/signin_view_controller_delegate_views.cc
index d85e39091424b0a2fbec5c6b34b98025da167fce..ae24ddb6782eedd580719b44c9128267b958af12 100644
--- a/chrome/browser/ui/views/profiles/signin_view_controller_delegate_views.cc
+++ b/chrome/browser/ui/views/profiles/signin_view_controller_delegate_views.cc
@@ -25,15 +25,16 @@ const int kPasswordCombinedFixedGaiaViewWidth = 360;
const int kFixedGaiaViewHeight = 612;
const int kModalDialogWidth = 448;
const int kSyncConfirmationDialogHeight = 487;
+const int kSigninErrorDialogHeight = 164;
SigninViewControllerDelegateViews::SigninViewControllerDelegateViews(
SigninViewController* signin_view_controller,
- views::WebView* content_view,
+ std::unique_ptr<views::WebView> content_view,
Browser* browser,
bool wait_for_size)
: SigninViewControllerDelegate(signin_view_controller,
content_view->GetWebContents()),
- content_view_(content_view),
+ content_view_(content_view.release()),
modal_signin_widget_(nullptr),
wait_for_size_(wait_for_size),
browser_(browser) {
@@ -101,7 +102,8 @@ void SigninViewControllerDelegateViews::DisplayModal() {
}
// static
-views::WebView* SigninViewControllerDelegateViews::CreateGaiaWebView(
+std::unique_ptr<views::WebView>
+SigninViewControllerDelegateViews::CreateGaiaWebView(
content::WebContentsDelegate* delegate,
profiles::BubbleViewMode mode,
Browser* browser,
@@ -133,10 +135,10 @@ views::WebView* SigninViewControllerDelegateViews::CreateGaiaWebView(
if (rwhv)
rwhv->SetBackgroundColor(profiles::kAvatarBubbleGaiaBackgroundColor);
- return web_view;
+ return std::unique_ptr<views::WebView>(web_view);
}
-views::WebView*
+std::unique_ptr<views::WebView>
SigninViewControllerDelegateViews::CreateSyncConfirmationWebView(
Browser* browser) {
views::WebView* web_view = new views::WebView(browser->profile());
@@ -150,7 +152,22 @@ SigninViewControllerDelegateViews::CreateSyncConfirmationWebView(
gfx::Size(kModalDialogWidth,
std::min(kSyncConfirmationDialogHeight, max_height)));
- return web_view;
+ return std::unique_ptr<views::WebView>(web_view);
+}
+
+std::unique_ptr<views::WebView>
+SigninViewControllerDelegateViews::CreateSigninErrorWebView(Browser* browser) {
+ views::WebView* web_view = new views::WebView(browser->profile());
+ web_view->LoadInitialURL(GURL(chrome::kChromeUISigninErrorURL));
+
+ int max_height = browser->window()
+ ->GetWebContentsModalDialogHost()
+ ->GetMaximumDialogSize()
+ .height();
+ web_view->SetPreferredSize(gfx::Size(
+ kModalDialogWidth, std::min(kSigninErrorDialogHeight, max_height)));
+
+ return std::unique_ptr<views::WebView>(web_view);
}
SigninViewControllerDelegate*
@@ -175,3 +192,13 @@ SigninViewControllerDelegate::CreateSyncConfirmationDelegate(
SigninViewControllerDelegateViews::CreateSyncConfirmationWebView(browser),
browser, true);
}
+
+SigninViewControllerDelegate*
+SigninViewControllerDelegate::CreateSigninErrorDelegate(
+ SigninViewController* signin_view_controller,
+ Browser* browser) {
+ return new SigninViewControllerDelegateViews(
+ signin_view_controller,
+ SigninViewControllerDelegateViews::CreateSigninErrorWebView(browser),
+ browser, true);
+}

Powered by Google App Engine
This is Rietveld 408576698