Chromium Code Reviews| 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..3242c10ced1313e9527494f152ea2496fbe65b74 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,8 @@ |
| #import <Cocoa/Cocoa.h> |
| +#include "components/web_modal/web_contents_modal_dialog_manager.h" |
| + |
| namespace content { |
| class WebContents; |
| } |
| @@ -21,6 +23,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 +45,9 @@ class ConstrainedWindowMac { |
| id<ConstrainedWindowSheet> sheet); |
| ~ConstrainedWindowMac(); |
| + // Shows the constrained window. |
| + void ShowWebContentsModalDialog(); |
| + |
| // Closes the constrained window. |
| void CloseWebContentsModalDialog(); |
| @@ -38,13 +55,20 @@ class ConstrainedWindowMac { |
| void set_manager(SingleWebContentsDialogManagerCocoa* manager) { |
| manager_ = manager; |
| } |
| + id<ConstrainedWindowSheet> sheet() const { return sheet_; } |
| // 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. |
| + id<ConstrainedWindowSheet> sheet_; |
|
erikchen
2015/11/12 18:31:27
Instead of using an id (raw pointer), use a scoped
apacible
2015/11/12 21:57:42
Done.
|
| + scoped_ptr<SingleWebContentsDialogManagerCocoa> native_manager_; |
| }; |
| #endif // CHROME_BROWSER_UI_COCOA_CONSTRAINED_WINDOW_CONSTRAINED_WINDOW_MAC_ |