| Index: chrome/browser/ui/cocoa/constrained_window/constrained_window_mac.mm
|
| diff --git a/chrome/browser/ui/cocoa/constrained_window/constrained_window_mac.mm b/chrome/browser/ui/cocoa/constrained_window/constrained_window_mac.mm
|
| index c3b9a2c85252195b82ab12b1ba2dc4de25b2e426..f043fad5a0c019634695a187d725aec839d59d58 100644
|
| --- a/chrome/browser/ui/cocoa/constrained_window/constrained_window_mac.mm
|
| +++ b/chrome/browser/ui/cocoa/constrained_window/constrained_window_mac.mm
|
| @@ -9,54 +9,32 @@
|
| #import "chrome/browser/ui/cocoa/constrained_window/constrained_window_sheet.h"
|
| #import "chrome/browser/ui/cocoa/single_web_contents_dialog_manager_cocoa.h"
|
| #include "components/guest_view/browser/guest_view_base.h"
|
| +#include "components/web_modal/web_contents_modal_dialog_manager.h"
|
| #include "content/public/browser/browser_thread.h"
|
|
|
| using web_modal::WebContentsModalDialogManager;
|
| -
|
| -ConstrainedWindowMac* CreateAndShowWebModalDialogMac(
|
| - ConstrainedWindowMacDelegate* delegate,
|
| - content::WebContents* web_contents,
|
| - id<ConstrainedWindowSheet> sheet) {
|
| - ConstrainedWindowMac* window =
|
| - new ConstrainedWindowMac(delegate, web_contents, sheet);
|
| - window->ShowWebContentsModalDialog();
|
| - return window;
|
| -}
|
| -
|
| -ConstrainedWindowMac* CreateWebModalDialogMac(
|
| - ConstrainedWindowMacDelegate* delegate,
|
| - content::WebContents* web_contents,
|
| - id<ConstrainedWindowSheet> sheet) {
|
| - return new ConstrainedWindowMac(delegate, web_contents, sheet);
|
| -}
|
|
|
| ConstrainedWindowMac::ConstrainedWindowMac(
|
| ConstrainedWindowMacDelegate* delegate,
|
| content::WebContents* web_contents,
|
| id<ConstrainedWindowSheet> sheet)
|
| - : delegate_(delegate),
|
| - sheet_([sheet retain]) {
|
| + : delegate_(delegate) {
|
| DCHECK(sheet);
|
|
|
| // |web_contents| may be embedded within a chain of nested GuestViews. If it
|
| // is, follow the chain of embedders to the outermost WebContents and use it.
|
| - web_contents_ =
|
| + web_contents =
|
| guest_view::GuestViewBase::GetTopLevelWebContents(web_contents);
|
|
|
| - native_manager_.reset(
|
| - new SingleWebContentsDialogManagerCocoa(this, sheet_.get(),
|
| - GetDialogManager()));
|
| + auto manager = WebContentsModalDialogManager::FromWebContents(web_contents);
|
| + scoped_ptr<SingleWebContentsDialogManagerCocoa> native_manager(
|
| + new SingleWebContentsDialogManagerCocoa(this, sheet, manager));
|
| + manager->ShowDialogWithManager([sheet sheetWindow], native_manager.Pass());
|
| }
|
|
|
| ConstrainedWindowMac::~ConstrainedWindowMac() {
|
| CHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::UI));
|
| - native_manager_.reset();
|
| DCHECK(!manager_);
|
| -}
|
| -
|
| -void ConstrainedWindowMac::ShowWebContentsModalDialog() {
|
| - GetDialogManager()->ShowDialogWithManager(
|
| - [sheet_.get() sheetWindow], native_manager_.Pass());
|
| }
|
|
|
| void ConstrainedWindowMac::CloseWebContentsModalDialog() {
|
| @@ -68,8 +46,3 @@
|
| if (delegate_)
|
| delegate_->OnConstrainedWindowClosed(this);
|
| }
|
| -
|
| -WebContentsModalDialogManager* ConstrainedWindowMac::GetDialogManager() {
|
| - DCHECK(web_contents_);
|
| - return WebContentsModalDialogManager::FromWebContents(web_contents_);
|
| -}
|
|
|