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; |
} |