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..84a5fc750351edefc4d3270ebf5d856aad91f39e 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( |
|
Nico
2016/02/05 15:31:10
i mean this should return a unique_ptr, so that it
apacible
2016/02/05 21:40:41
Done.
Nico
2016/02/05 21:52:40
Sorry, returning a scoped_ptr would've been ok too
|
| + ConstrainedWindowMacDelegate* delegate, |
| + content::WebContents* web_contents, |
| + id<ConstrainedWindowSheet> sheet); |
| + |
| +// Creates a ConstrainedWindowMac and returns it. |
| +ConstrainedWindowMac* CreateWebModalDialogMac( |
|
Nico
2016/02/05 15:31:10
this too
apacible
2016/02/05 21:40:41
Done.
|
| + 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,24 @@ 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(); |
| + // Whether or not the dialog was shown. If the dialog is auto-resizable, it |
| + // is hidden until its WebContents initially loads. |
| + bool DialogWasShown(); |
| + |
| + // 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_ |