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