OLD | NEW |
---|---|
1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "chrome/browser/ui/views/profiles/signin_view_controller_delegate_views .h" | 5 #include "chrome/browser/ui/views/profiles/signin_view_controller_delegate_views .h" |
6 | 6 |
7 #include "base/macros.h" | 7 #include "base/macros.h" |
8 #include "chrome/browser/profiles/profile.h" | 8 #include "chrome/browser/profiles/profile.h" |
9 #include "chrome/browser/profiles/profile_avatar_icon_util.h" | 9 #include "chrome/browser/profiles/profile_avatar_icon_util.h" |
10 #include "chrome/browser/signin/signin_promo.h" | 10 #include "chrome/browser/signin/signin_promo.h" |
11 #include "chrome/browser/ui/browser.h" | 11 #include "chrome/browser/ui/browser.h" |
12 #include "chrome/browser/ui/tabs/tab_strip_model.h" | 12 #include "chrome/browser/ui/tabs/tab_strip_model.h" |
13 #include "chrome/browser/ui/views/frame/browser_view.h" | 13 #include "chrome/browser/ui/views/frame/browser_view.h" |
14 #include "chrome/common/url_constants.h" | 14 #include "chrome/common/url_constants.h" |
15 #include "components/constrained_window/constrained_window_views.h" | 15 #include "components/constrained_window/constrained_window_views.h" |
16 #include "components/signin/core/common/profile_management_switches.h" | 16 #include "components/signin/core/common/profile_management_switches.h" |
17 #include "components/web_modal/web_contents_modal_dialog_host.h" | 17 #include "components/web_modal/web_contents_modal_dialog_host.h" |
18 #include "content/public/browser/render_widget_host_view.h" | 18 #include "content/public/browser/render_widget_host_view.h" |
19 #include "content/public/browser/web_contents.h" | 19 #include "content/public/browser/web_contents.h" |
20 #include "ui/views/controls/webview/webview.h" | 20 #include "ui/views/controls/webview/webview.h" |
21 #include "ui/views/widget/widget.h" | 21 #include "ui/views/widget/widget.h" |
22 | 22 |
23 const int kPasswordCombinedFixedGaiaViewHeight = 440; | 23 const int kPasswordCombinedFixedGaiaViewHeight = 440; |
24 const int kPasswordCombinedFixedGaiaViewWidth = 360; | 24 const int kPasswordCombinedFixedGaiaViewWidth = 360; |
25 const int kFixedGaiaViewHeight = 612; | 25 const int kFixedGaiaViewHeight = 612; |
26 const int kModalDialogWidth = 448; | 26 const int kModalDialogWidth = 448; |
27 const int kSyncConfirmationDialogHeight = 487; | 27 const int kSyncConfirmationDialogHeight = 487; |
28 const int kSigninErrorDialogHeight = 164; | |
28 | 29 |
29 SigninViewControllerDelegateViews::SigninViewControllerDelegateViews( | 30 SigninViewControllerDelegateViews::SigninViewControllerDelegateViews( |
30 SigninViewController* signin_view_controller, | 31 SigninViewController* signin_view_controller, |
31 views::WebView* content_view, | 32 views::WebView* content_view, |
32 Browser* browser, | 33 Browser* browser, |
33 bool wait_for_size) | 34 bool wait_for_size) |
34 : SigninViewControllerDelegate(signin_view_controller, | 35 : SigninViewControllerDelegate(signin_view_controller, |
35 content_view->GetWebContents()), | 36 content_view->GetWebContents()), |
36 content_view_(content_view), | 37 content_view_(content_view), |
37 modal_signin_widget_(nullptr), | 38 modal_signin_widget_(nullptr), |
(...skipping 108 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
146 ->window() | 147 ->window() |
147 ->GetWebContentsModalDialogHost() | 148 ->GetWebContentsModalDialogHost() |
148 ->GetMaximumDialogSize().height(); | 149 ->GetMaximumDialogSize().height(); |
149 web_view->SetPreferredSize( | 150 web_view->SetPreferredSize( |
150 gfx::Size(kModalDialogWidth, | 151 gfx::Size(kModalDialogWidth, |
151 std::min(kSyncConfirmationDialogHeight, max_height))); | 152 std::min(kSyncConfirmationDialogHeight, max_height))); |
152 | 153 |
153 return web_view; | 154 return web_view; |
154 } | 155 } |
155 | 156 |
157 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
| |
158 Browser* browser) { | |
159 views::WebView* web_view = new views::WebView(browser->profile()); | |
160 web_view->LoadInitialURL(GURL(chrome::kChromeUISigninErrorURL)); | |
161 | |
162 int max_height = browser->window() | |
163 ->GetWebContentsModalDialogHost() | |
164 ->GetMaximumDialogSize() | |
165 .height(); | |
166 web_view->SetPreferredSize(gfx::Size( | |
167 kModalDialogWidth, std::min(kSigninErrorDialogHeight, max_height))); | |
168 | |
169 return web_view; | |
170 } | |
171 | |
156 SigninViewControllerDelegate* | 172 SigninViewControllerDelegate* |
157 SigninViewControllerDelegate::CreateModalSigninDelegate( | 173 SigninViewControllerDelegate::CreateModalSigninDelegate( |
158 SigninViewController* signin_view_controller, | 174 SigninViewController* signin_view_controller, |
159 profiles::BubbleViewMode mode, | 175 profiles::BubbleViewMode mode, |
160 Browser* browser, | 176 Browser* browser, |
161 signin_metrics::AccessPoint access_point) { | 177 signin_metrics::AccessPoint access_point) { |
162 return new SigninViewControllerDelegateViews( | 178 return new SigninViewControllerDelegateViews( |
163 signin_view_controller, | 179 signin_view_controller, |
164 SigninViewControllerDelegateViews::CreateGaiaWebView( | 180 SigninViewControllerDelegateViews::CreateGaiaWebView( |
165 nullptr, mode, browser, access_point), | 181 nullptr, mode, browser, access_point), |
166 browser, false); | 182 browser, false); |
167 } | 183 } |
168 | 184 |
169 SigninViewControllerDelegate* | 185 SigninViewControllerDelegate* |
170 SigninViewControllerDelegate::CreateSyncConfirmationDelegate( | 186 SigninViewControllerDelegate::CreateSyncConfirmationDelegate( |
171 SigninViewController* signin_view_controller, | 187 SigninViewController* signin_view_controller, |
172 Browser* browser) { | 188 Browser* browser) { |
173 return new SigninViewControllerDelegateViews( | 189 return new SigninViewControllerDelegateViews( |
174 signin_view_controller, | 190 signin_view_controller, |
175 SigninViewControllerDelegateViews::CreateSyncConfirmationWebView(browser), | 191 SigninViewControllerDelegateViews::CreateSyncConfirmationWebView(browser), |
176 browser, true); | 192 browser, true); |
177 } | 193 } |
194 | |
195 SigninViewControllerDelegate* | |
196 SigninViewControllerDelegate::CreateSigninErrorDelegate( | |
197 SigninViewController* signin_view_controller, | |
198 Browser* browser) { | |
199 return new SigninViewControllerDelegateViews( | |
200 signin_view_controller, | |
201 SigninViewControllerDelegateViews::CreateSigninErrorWebView(browser), | |
202 browser, true); | |
203 } | |
OLD | NEW |