Chromium Code Reviews| Index: chrome/browser/ui/views/sync/profile_signin_confirmation_dialog_views.cc |
| diff --git a/chrome/browser/ui/views/sync/profile_signin_confirmation_dialog_views.cc b/chrome/browser/ui/views/sync/profile_signin_confirmation_dialog_views.cc |
| index 1ee37beef818dcebd047089e0f82086eb244dc6e..774b60956331a6c48eb75ee6e8197a70b75ba1d7 100644 |
| --- a/chrome/browser/ui/views/sync/profile_signin_confirmation_dialog_views.cc |
| +++ b/chrome/browser/ui/views/sync/profile_signin_confirmation_dialog_views.cc |
| @@ -13,7 +13,6 @@ |
| #include "chrome/browser/ui/browser_navigator.h" |
| #include "chrome/browser/ui/browser_navigator_params.h" |
| #include "chrome/browser/ui/browser_window.h" |
| -#include "chrome/browser/ui/views/profiles/profile_chooser_view.h" |
| #include "chrome/grit/chromium_strings.h" |
| #include "chrome/grit/generated_resources.h" |
| #include "components/constrained_window/constrained_window_views.h" |
| @@ -22,6 +21,7 @@ |
| #include "google_apis/gaia/gaia_auth_util.h" |
| #include "third_party/skia/include/core/SkColor.h" |
| #include "ui/base/l10n/l10n_util.h" |
| +#include "ui/base/ui_features.h" |
| #include "ui/gfx/font.h" |
| #include "ui/gfx/native_widget_types.h" |
| #include "ui/gfx/range/range.h" |
| @@ -36,13 +36,17 @@ |
| #include "ui/views/widget/widget.h" |
| #include "ui/views/window/dialog_client_view.h" |
| +#if !defined(OS_MACOSX) || BUILDFLAG(MAC_VIEWS_BROWSER) |
| +#include "chrome/browser/ui/views/profiles/profile_chooser_view.h" |
| +#endif |
| + |
| ProfileSigninConfirmationDialogViews::ProfileSigninConfirmationDialogViews( |
| Browser* browser, |
| const std::string& username, |
| - ui::ProfileSigninConfirmationDelegate* delegate) |
| + std::unique_ptr<ui::ProfileSigninConfirmationDelegate> delegate) |
| : browser_(browser), |
| username_(username), |
| - delegate_(delegate), |
| + delegate_(std::move(delegate)), |
| prompt_for_new_profile_(true) {} |
| ProfileSigninConfirmationDialogViews::~ProfileSigninConfirmationDialogViews() {} |
| @@ -52,7 +56,8 @@ void ProfileSigninConfirmationDialogViews::ShowDialog( |
| Browser* browser, |
| Profile* profile, |
| const std::string& username, |
| - ui::ProfileSigninConfirmationDelegate* delegate) { |
| + std::unique_ptr<ui::ProfileSigninConfirmationDelegate> delegate) { |
| +#if !defined(OS_MACOSX) || BUILDFLAG(MAC_VIEWS_BROWSER) |
| // Hides the new avatar bubble if it is currently shown. The new avatar bubble |
|
msw
2017/01/13 23:23:51
aside: It'd be nice to just remove this workaround
tapted
2017/01/13 23:48:45
With the recent changes in http://crbug.com/677012
msw
2017/01/13 23:53:52
sgtm, it's not a blocker for this CL.
|
| // should be automatically closed when it loses focus. However on windows the |
| // profile signin confirmation dialog is not modal yet thus it does not take |
| @@ -61,10 +66,11 @@ void ProfileSigninConfirmationDialogViews::ShowDialog( |
| // TODO(guohui): removes the workaround once the profile confirmation dialog |
| // is fixed. |
| ProfileChooserView::Hide(); |
| +#endif |
| ProfileSigninConfirmationDialogViews* dialog = |
| - new ProfileSigninConfirmationDialogViews( |
| - browser, username, delegate); |
| + new ProfileSigninConfirmationDialogViews(browser, username, |
| + std::move(delegate)); |
| ui::CheckShouldPromptForNewProfile( |
| profile, |
| // This callback is guaranteed to be invoked, and once it is, the dialog |
| @@ -117,7 +123,7 @@ bool ProfileSigninConfirmationDialogViews::Accept() { |
| delegate_->OnSigninWithNewProfile(); |
| else |
| delegate_->OnContinueSignin(); |
| - delegate_ = NULL; |
| + delegate_ = nullptr; |
| } |
| return true; |
| } |
| @@ -125,7 +131,7 @@ bool ProfileSigninConfirmationDialogViews::Accept() { |
| bool ProfileSigninConfirmationDialogViews::Cancel() { |
| if (delegate_) { |
| delegate_->OnCancelSignin(); |
| - delegate_ = NULL; |
| + delegate_ = nullptr; |
| } |
| return true; |
| } |
| @@ -246,7 +252,7 @@ void ProfileSigninConfirmationDialogViews::ButtonPressed( |
| DCHECK(prompt_for_new_profile_); |
| if (delegate_) { |
| delegate_->OnContinueSignin(); |
| - delegate_ = NULL; |
| + delegate_ = nullptr; |
| } |
| GetWidget()->Close(); |
| } |