Chromium Code Reviews| Index: chrome/browser/ui/views/frame/browser_view.cc |
| diff --git a/chrome/browser/ui/views/frame/browser_view.cc b/chrome/browser/ui/views/frame/browser_view.cc |
| index 2deae98f3f4f27b3af24bad518cd95c7a44ed0a9..414b1023864c10d12a42b997743ebcf979b61241 100644 |
| --- a/chrome/browser/ui/views/frame/browser_view.cc |
| +++ b/chrome/browser/ui/views/frame/browser_view.cc |
| @@ -176,6 +176,10 @@ |
| #include "chrome/browser/ui/views/sync/one_click_signin_dialog_view.h" |
| #endif |
| +#if (defined(OS_WIN) || defined(OS_LINUX)) && !defined(OS_CHROMEOS) |
| +#include "chrome/browser/ui/views/profiles/force_signout_dialog.h" |
| +#endif |
| + |
| using base::TimeDelta; |
| using base::UserMetricsAction; |
| using content::NativeWebKeyboardEvent; |
| @@ -1580,8 +1584,12 @@ bool BrowserView::CanMinimize() const { |
| bool BrowserView::CanActivate() const { |
| app_modal::AppModalDialogQueue* queue = |
| app_modal::AppModalDialogQueue::GetInstance(); |
| - if (!queue->active_dialog() || !queue->active_dialog()->native_dialog() || |
| - !queue->active_dialog()->native_dialog()->IsShowing()) { |
| + if ((!queue->active_dialog() || !queue->active_dialog()->native_dialog() || |
|
sky
2017/05/12 13:15:16
Continually adding dependencies from BrowserView o
|
| + !queue->active_dialog()->native_dialog()->IsShowing()) |
| +#if (defined(OS_WIN) || defined(OS_LINUX)) && !defined(OS_CHROMEOS) |
| + && !ForceSignoutDialog::IsShowing() |
| +#endif |
| + ) { |
| return true; |
| } |
| @@ -2595,6 +2603,12 @@ bool BrowserView::DoCutCopyPasteForWebContents( |
| } |
| void BrowserView::ActivateAppModalDialog() const { |
| +#if (defined(OS_WIN) || defined(OS_LINUX)) && !defined(OS_CHROMEOS) |
| + if (ForceSignoutDialog::IsShowing()) { |
| + ForceSignoutDialog::ActivateModalDialog(); |
| + return; |
| + } |
| +#endif |
| // If another browser is app modal, flash and activate the modal browser. |
| app_modal::AppModalDialog* active_dialog = |
| app_modal::AppModalDialogQueue::GetInstance()->active_dialog(); |