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..f2a0ed0c39db01fe1771108bbe359621aabb2988 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,16 +23,33 @@ class ConstrainedWindowMacDelegate { |
virtual void OnConstrainedWindowClosed(ConstrainedWindowMac* window) = 0; |
}; |
+// Creates a ConstrainedWindowMac, shows the dialog, and returns it. |
+ConstrainedWindowMac* ShowWebModalDialogMac( |
erikchen
2015/11/11 21:22:30
s/Show/CreateAndShow/
apacible
2015/11/12 02:02:24
Done.
|
+ 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. |
class ConstrainedWindowMac { |
public: |
+ ConstrainedWindowMac(ConstrainedWindowMacDelegate* delegate); |
erikchen
2015/11/11 21:22:30
explicit
apacible
2015/11/12 02:02:24
Done.
|
ConstrainedWindowMac(ConstrainedWindowMacDelegate* delegate, |
content::WebContents* web_contents, |
id<ConstrainedWindowSheet> sheet); |
erikchen
2015/11/11 21:22:30
The public interface for ConstrainedWindowMac is c
apacible
2015/11/12 02:02:24
Cleaned up:
- Back to one constructor.
- One ShowD
|
~ConstrainedWindowMac(); |
+ void ShowDialog(content::WebContents* web_contents, |
+ id<ConstrainedWindowSheet> sheet); |
+ void ShowDialog(); |
+ |
// Closes the constrained window. |
void CloseWebContentsModalDialog(); |
@@ -38,6 +57,7 @@ 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(); |
@@ -45,6 +65,10 @@ class ConstrainedWindowMac { |
private: |
ConstrainedWindowMacDelegate* delegate_; // weak, owns us. |
SingleWebContentsDialogManagerCocoa* manager_; // weak, owned by WCMDM. |
+ |
+ id<ConstrainedWindowSheet> sheet_; |
erikchen
2015/11/11 21:22:30
What are the expected/required lifetime semantics
apacible
2015/11/12 02:02:24
Ownership should be passed to the WebContentsModal
|
+ scoped_ptr<SingleWebContentsDialogManagerCocoa> native_manager_; |
+ web_modal::WebContentsModalDialogManager* dialog_manager_; |
erikchen
2015/11/11 21:22:30
What are you expected/required lifetime semantics
apacible
2015/11/12 02:02:24
Correct, it's tied to web_contents. Updated to dyn
|
}; |
#endif // CHROME_BROWSER_UI_COCOA_CONSTRAINED_WINDOW_CONSTRAINED_WINDOW_MAC_ |