| Index: chrome/browser/ui/cocoa/extensions/extension_popup_controller.mm
|
| diff --git a/chrome/browser/ui/cocoa/extensions/extension_popup_controller.mm b/chrome/browser/ui/cocoa/extensions/extension_popup_controller.mm
|
| index bddbc41dd227af8d5cd8c61b9fb14b2b402fd474..09238930cb8e465cada23ac33e40b9c4b74d5f7c 100644
|
| --- a/chrome/browser/ui/cocoa/extensions/extension_popup_controller.mm
|
| +++ b/chrome/browser/ui/cocoa/extensions/extension_popup_controller.mm
|
| @@ -13,10 +13,11 @@
|
| #include "chrome/browser/extensions/extension_view_host_factory.h"
|
| #include "chrome/browser/profiles/profile.h"
|
| #include "chrome/browser/ui/browser.h"
|
| +#include "chrome/browser/ui/browser_finder.h"
|
| #import "chrome/browser/ui/cocoa/browser_window_cocoa.h"
|
| #import "chrome/browser/ui/cocoa/extensions/extension_view_mac.h"
|
| #import "chrome/browser/ui/cocoa/info_bubble_window.h"
|
| -#include "components/web_modal/web_contents_modal_dialog_manager.h"
|
| +#include "components/web_modal/popup_manager.h"
|
| #include "content/public/browser/devtools_agent_host.h"
|
| #include "content/public/browser/devtools_manager.h"
|
| #include "content/public/browser/notification_details.h"
|
| @@ -207,11 +208,12 @@ class DevtoolsNotificationBridge : public content::NotificationObserver {
|
| - (void)close {
|
| // |windowWillClose:| could have already been called. http://crbug.com/279505
|
| if (host_) {
|
| - web_modal::WebContentsModalDialogManager* modalDialogManager =
|
| - web_modal::WebContentsModalDialogManager::FromWebContents(
|
| - host_->host_contents());
|
| - if (modalDialogManager &&
|
| - modalDialogManager->IsDialogActive()) {
|
| + // TODO(gbillock): Change this API to say directly if the current popup
|
| + // should block tab close? This is a bit over-reaching.
|
| + Browser* browser =
|
| + chrome::FindBrowserWithWebContents(host_->host_contents());
|
| + if (browser && browser->popup_manager()->IsWebModalDialogActive(
|
| + host_->host_contents())) {
|
| return;
|
| }
|
| // We must shutdown host_ immediately, and it will notify RendererProcess
|
| @@ -237,11 +239,11 @@ class DevtoolsNotificationBridge : public content::NotificationObserver {
|
| // it steals key-ness from the popup. Don't close the popup when this
|
| // happens. There's an extra windowDidResignKey: notification after the
|
| // modal dialog closes that should also be ignored.
|
| - web_modal::WebContentsModalDialogManager* modalDialogManager =
|
| - web_modal::WebContentsModalDialogManager::FromWebContents(
|
| + web_modal::PopupManager* popupManager =
|
| + web_modal::PopupManager::FromWebContents(
|
| host_->host_contents());
|
| - if (modalDialogManager &&
|
| - modalDialogManager->IsDialogActive()) {
|
| + if (popupManager &&
|
| + popupManager->IsWebModalDialogActive(host_->host_contents())) {
|
| ignoreWindowDidResignKey_ = YES;
|
| return;
|
| }
|
|
|