Chromium Code Reviews| 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" |
| (...skipping 24 matching lines...) Expand all Loading... | |
| 35 return profile->IsSyncAllowed() ? kSyncConfirmationDialogHeight | 35 return profile->IsSyncAllowed() ? kSyncConfirmationDialogHeight |
| 36 : kSigninErrorDialogHeight; | 36 : kSigninErrorDialogHeight; |
| 37 } | 37 } |
| 38 | 38 |
| 39 } // namespace | 39 } // namespace |
| 40 | 40 |
| 41 SigninViewControllerDelegateViews::SigninViewControllerDelegateViews( | 41 SigninViewControllerDelegateViews::SigninViewControllerDelegateViews( |
| 42 SigninViewController* signin_view_controller, | 42 SigninViewController* signin_view_controller, |
| 43 std::unique_ptr<views::WebView> content_view, | 43 std::unique_ptr<views::WebView> content_view, |
| 44 Browser* browser, | 44 Browser* browser, |
| 45 DialogModalType dialog_modal_type_, | |
| 45 bool wait_for_size) | 46 bool wait_for_size) |
| 46 : SigninViewControllerDelegate(signin_view_controller, | 47 : SigninViewControllerDelegate(signin_view_controller, |
| 47 content_view->GetWebContents()), | 48 content_view->GetWebContents()), |
| 48 content_view_(content_view.release()), | 49 content_view_(content_view.release()), |
| 49 modal_signin_widget_(nullptr), | 50 modal_signin_widget_(nullptr), |
| 51 dialog_modal_type_(dialog_modal_type_), | |
| 50 wait_for_size_(wait_for_size), | 52 wait_for_size_(wait_for_size), |
| 51 browser_(browser) { | 53 browser_(browser) { |
| 52 DCHECK(browser_); | 54 DCHECK(browser_); |
| 53 DCHECK(browser_->tab_strip_model()->GetActiveWebContents()) | 55 DCHECK(browser_->tab_strip_model()->GetActiveWebContents()) |
| 54 << "A tab must be active to present the sign-in modal dialog."; | 56 << "A tab must be active to present the sign-in modal dialog."; |
| 55 | 57 |
| 56 if (!wait_for_size_) | 58 if (!wait_for_size_) |
| 57 DisplayModal(); | 59 DisplayModal(); |
| 58 } | 60 } |
| 59 | 61 |
| (...skipping 11 matching lines...) Expand all Loading... | |
| 71 const views::Widget* SigninViewControllerDelegateViews::GetWidget() const { | 73 const views::Widget* SigninViewControllerDelegateViews::GetWidget() const { |
| 72 return content_view_->GetWidget(); | 74 return content_view_->GetWidget(); |
| 73 } | 75 } |
| 74 | 76 |
| 75 void SigninViewControllerDelegateViews::DeleteDelegate() { | 77 void SigninViewControllerDelegateViews::DeleteDelegate() { |
| 76 ResetSigninViewControllerDelegate(); | 78 ResetSigninViewControllerDelegate(); |
| 77 delete this; | 79 delete this; |
| 78 } | 80 } |
| 79 | 81 |
| 80 ui::ModalType SigninViewControllerDelegateViews::GetModalType() const { | 82 ui::ModalType SigninViewControllerDelegateViews::GetModalType() const { |
| 81 return ui::MODAL_TYPE_WINDOW; | 83 switch (dialog_modal_type_) { |
| 84 case TAB_MODAL: | |
| 85 return ui::MODAL_TYPE_CHILD; | |
| 86 case WINDOW_MODAL: | |
| 87 return ui::MODAL_TYPE_WINDOW; | |
|
Peter Kasting
2017/01/11 01:24:45
Why not just use these values directly everywhere,
msarda
2017/01/11 09:54:25
I hesitated to do that because we only support 2 v
| |
| 88 } | |
| 89 NOTREACHED(); | |
| 90 return ui::MODAL_TYPE_CHILD; | |
| 82 } | 91 } |
| 83 | 92 |
| 84 bool SigninViewControllerDelegateViews::ShouldShowCloseButton() const { | 93 bool SigninViewControllerDelegateViews::ShouldShowCloseButton() const { |
| 85 return false; | 94 return false; |
| 86 } | 95 } |
| 87 | 96 |
| 88 int SigninViewControllerDelegateViews::GetDialogButtons() const { | 97 int SigninViewControllerDelegateViews::GetDialogButtons() const { |
| 89 return ui::DIALOG_BUTTON_NONE; | 98 return ui::DIALOG_BUTTON_NONE; |
| 90 } | 99 } |
| 91 | 100 |
| (...skipping 22 matching lines...) Expand all Loading... | |
| 114 content::WebContents* host_web_contents = | 123 content::WebContents* host_web_contents = |
| 115 browser_->tab_strip_model()->GetActiveWebContents(); | 124 browser_->tab_strip_model()->GetActiveWebContents(); |
| 116 | 125 |
| 117 // Avoid displaying the sign-in modal view if there are no active web | 126 // Avoid displaying the sign-in modal view if there are no active web |
| 118 // contents. This happens if the user closes the browser window before this | 127 // contents. This happens if the user closes the browser window before this |
| 119 // dialog has a chance to be displayed. | 128 // dialog has a chance to be displayed. |
| 120 if (!host_web_contents) | 129 if (!host_web_contents) |
| 121 return; | 130 return; |
| 122 | 131 |
| 123 gfx::NativeWindow window = host_web_contents->GetTopLevelNativeWindow(); | 132 gfx::NativeWindow window = host_web_contents->GetTopLevelNativeWindow(); |
| 124 modal_signin_widget_ = | 133 switch (dialog_modal_type_) { |
| 125 constrained_window::CreateBrowserModalDialogViews(this, window); | 134 case WINDOW_MODAL: |
| 126 modal_signin_widget_->Show(); | 135 modal_signin_widget_ = |
| 136 constrained_window::CreateBrowserModalDialogViews(this, window); | |
| 137 modal_signin_widget_->Show(); | |
| 138 break; | |
| 139 case TAB_MODAL: | |
| 140 modal_signin_widget_ = constrained_window::ShowWebModalDialogViews( | |
| 141 this, browser_->tab_strip_model()->GetActiveWebContents()); | |
| 142 break; | |
| 143 } | |
| 144 content_view_->RequestFocus(); | |
| 127 } | 145 } |
| 128 | 146 |
| 129 // static | 147 // static |
| 130 std::unique_ptr<views::WebView> | 148 std::unique_ptr<views::WebView> |
| 131 SigninViewControllerDelegateViews::CreateGaiaWebView( | 149 SigninViewControllerDelegateViews::CreateGaiaWebView( |
| 132 content::WebContentsDelegate* delegate, | 150 content::WebContentsDelegate* delegate, |
| 133 profiles::BubbleViewMode mode, | 151 profiles::BubbleViewMode mode, |
| 134 Browser* browser, | 152 Browser* browser, |
| 135 signin_metrics::AccessPoint access_point) { | 153 signin_metrics::AccessPoint access_point) { |
| 136 GURL url = | 154 GURL url = |
| (...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 199 SigninViewControllerDelegate* | 217 SigninViewControllerDelegate* |
| 200 SigninViewControllerDelegate::CreateModalSigninDelegate( | 218 SigninViewControllerDelegate::CreateModalSigninDelegate( |
| 201 SigninViewController* signin_view_controller, | 219 SigninViewController* signin_view_controller, |
| 202 profiles::BubbleViewMode mode, | 220 profiles::BubbleViewMode mode, |
| 203 Browser* browser, | 221 Browser* browser, |
| 204 signin_metrics::AccessPoint access_point) { | 222 signin_metrics::AccessPoint access_point) { |
| 205 return new SigninViewControllerDelegateViews( | 223 return new SigninViewControllerDelegateViews( |
| 206 signin_view_controller, | 224 signin_view_controller, |
| 207 SigninViewControllerDelegateViews::CreateGaiaWebView( | 225 SigninViewControllerDelegateViews::CreateGaiaWebView( |
| 208 nullptr, mode, browser, access_point), | 226 nullptr, mode, browser, access_point), |
| 209 browser, false); | 227 browser, SigninViewControllerDelegateViews::TAB_MODAL, false); |
| 210 } | 228 } |
| 211 | 229 |
| 212 SigninViewControllerDelegate* | 230 SigninViewControllerDelegate* |
| 213 SigninViewControllerDelegate::CreateSyncConfirmationDelegate( | 231 SigninViewControllerDelegate::CreateSyncConfirmationDelegate( |
| 214 SigninViewController* signin_view_controller, | 232 SigninViewController* signin_view_controller, |
| 215 Browser* browser) { | 233 Browser* browser) { |
| 216 return new SigninViewControllerDelegateViews( | 234 return new SigninViewControllerDelegateViews( |
| 217 signin_view_controller, | 235 signin_view_controller, |
| 218 SigninViewControllerDelegateViews::CreateSyncConfirmationWebView(browser), | 236 SigninViewControllerDelegateViews::CreateSyncConfirmationWebView(browser), |
| 219 browser, true); | 237 browser, SigninViewControllerDelegateViews::WINDOW_MODAL, true); |
| 220 } | 238 } |
| 221 | 239 |
| 222 SigninViewControllerDelegate* | 240 SigninViewControllerDelegate* |
| 223 SigninViewControllerDelegate::CreateSigninErrorDelegate( | 241 SigninViewControllerDelegate::CreateSigninErrorDelegate( |
| 224 SigninViewController* signin_view_controller, | 242 SigninViewController* signin_view_controller, |
| 225 Browser* browser) { | 243 Browser* browser) { |
| 226 return new SigninViewControllerDelegateViews( | 244 return new SigninViewControllerDelegateViews( |
| 227 signin_view_controller, | 245 signin_view_controller, |
| 228 SigninViewControllerDelegateViews::CreateSigninErrorWebView(browser), | 246 SigninViewControllerDelegateViews::CreateSigninErrorWebView(browser), |
| 229 browser, true); | 247 browser, SigninViewControllerDelegateViews::WINDOW_MODAL, true); |
| 230 } | 248 } |
| OLD | NEW |