| 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..33aa9dd47efb0bba8d14089236c1408727d35079 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.
|
| +scoped_ptr<ConstrainedWindowMac> CreateAndShowWebModalDialogMac(
|
| + ConstrainedWindowMacDelegate* delegate,
|
| + content::WebContents* web_contents,
|
| + id<ConstrainedWindowSheet> sheet);
|
| +
|
| +// Creates a ConstrainedWindowMac and returns it.
|
| +scoped_ptr<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,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_
|
|
|