Chromium Code Reviews| 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..8d3c25a74ba0538213a6d06dd209c514a4b57595 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,6 +25,7 @@ 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, |
| @@ -153,6 +154,21 @@ SigninViewControllerDelegateViews::CreateSyncConfirmationWebView( |
| return web_view; |
| } |
| +views::WebView* SigninViewControllerDelegateViews::CreateSigninErrorWebView( |
|
sky
2016/09/21 16:14:39
It's hard to reason about lifetime with raw pointe
anthonyvd
2016/09/22 16:52:01
Agreed, done. Could you clarify something about vi
sky
2016/09/22 20:29:35
You are correct for the common case. The exception
|
| + 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 web_view; |
| +} |
| + |
| SigninViewControllerDelegate* |
| SigninViewControllerDelegate::CreateModalSigninDelegate( |
| SigninViewController* signin_view_controller, |
| @@ -175,3 +191,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); |
| +} |