| Index: chrome/browser/ui/cocoa/constrained_window/constrained_window_mac.h | 
| diff --git a/chrome/browser/ui/cocoa/constrained_window/constrained_window_mac.h b/chrome/browser/ui/cocoa/constrained_window/constrained_window_mac.h | 
| index e3d981edd473d5ba63b33dffd050956c2b3e3fe3..2a3b5a6dbf1ecdd347cc7d15c7d6b899d9d1dac8 100644 | 
| --- a/chrome/browser/ui/cocoa/constrained_window/constrained_window_mac.h | 
| +++ b/chrome/browser/ui/cocoa/constrained_window/constrained_window_mac.h | 
| @@ -7,6 +7,9 @@ | 
|  | 
| #import <Cocoa/Cocoa.h> | 
|  | 
| +#include "base/mac/scoped_nsobject.h" | 
| +#include "components/web_modal/web_contents_modal_dialog_manager.h" | 
| + | 
| namespace content { | 
| class WebContents; | 
| } | 
| @@ -21,6 +24,18 @@ class ConstrainedWindowMacDelegate { | 
| virtual void OnConstrainedWindowClosed(ConstrainedWindowMac* window) = 0; | 
| }; | 
|  | 
| +// Creates a ConstrainedWindowMac, shows the dialog, and returns it. | 
| +ConstrainedWindowMac* CreateAndShowWebModalDialogMac( | 
| +    ConstrainedWindowMacDelegate* delegate, | 
| +    content::WebContents* web_contents, | 
| +    id<ConstrainedWindowSheet> sheet); | 
| + | 
| +// Creates a ConstrainedWindowMac and returns it. | 
| +ConstrainedWindowMac* CreateWebModalDialogMac( | 
| +    ConstrainedWindowMacDelegate* delegate, | 
| +    content::WebContents* web_contents, | 
| +    id<ConstrainedWindowSheet> sheet); | 
| + | 
| // Constrained window implementation for Mac. | 
| // Normally an instance of this class is owned by the delegate. The delegate | 
| // should delete the instance when the window is closed. | 
| @@ -31,6 +46,9 @@ class ConstrainedWindowMac { | 
| id<ConstrainedWindowSheet> sheet); | 
| ~ConstrainedWindowMac(); | 
|  | 
| +  // Shows the constrained window. | 
| +  void ShowWebContentsModalDialog(); | 
| + | 
| // Closes the constrained window. | 
| void CloseWebContentsModalDialog(); | 
|  | 
| @@ -38,13 +56,20 @@ class ConstrainedWindowMac { | 
| void set_manager(SingleWebContentsDialogManagerCocoa* manager) { | 
| manager_ = manager; | 
| } | 
| +  id<ConstrainedWindowSheet> sheet() const { return sheet_.get(); } | 
|  | 
| // Called by |manager_| when the dialog is closing. | 
| void OnDialogClosing(); | 
|  | 
| +  // Gets the dialog manager for |web_contents_|. | 
| +  web_modal::WebContentsModalDialogManager* GetDialogManager(); | 
| + | 
| private: | 
| ConstrainedWindowMacDelegate* delegate_;  // weak, owns us. | 
| SingleWebContentsDialogManagerCocoa* manager_;  // weak, owned by WCMDM. | 
| +  content::WebContents* web_contents_;  // weak, owned by dialog initiator. | 
| +  base::scoped_nsprotocol<id<ConstrainedWindowSheet>> sheet_; | 
| +  scoped_ptr<SingleWebContentsDialogManagerCocoa> native_manager_; | 
| }; | 
|  | 
| #endif  // CHROME_BROWSER_UI_COCOA_CONSTRAINED_WINDOW_CONSTRAINED_WINDOW_MAC_ | 
|  |