Index: chrome/browser/ui/webui/constrained_web_dialog_ui.h |
diff --git a/chrome/browser/ui/webui/constrained_web_dialog_ui.h b/chrome/browser/ui/webui/constrained_web_dialog_ui.h |
index 172fab6b2c623a89f0fc471c8a9eedd92d317e0a..fcc8a67c084b6a8060f8ca6068e31e7b016e83dd 100644 |
--- a/chrome/browser/ui/webui/constrained_web_dialog_ui.h |
+++ b/chrome/browser/ui/webui/constrained_web_dialog_ui.h |
@@ -10,6 +10,10 @@ |
#include "content/public/browser/web_ui_controller.h" |
#include "ui/gfx/native_widget_types.h" |
+namespace gfx { |
+class Size; |
+} |
+ |
namespace content { |
class BrowserContext; |
class RenderViewHost; |
@@ -41,6 +45,14 @@ class ConstrainedWebDialogDelegate { |
// Returns the native type used to display the dialog. |
virtual web_modal::NativeWebContentsModalDialog GetNativeDialog() = 0; |
+ // Returns the minimum size for the dialog. |
+ virtual gfx::Size GetMinimumSize() const = 0; |
+ |
+ // Returns the maximum size for the dialog. |
+ virtual gfx::Size GetMaximumSize() const = 0; |
+ |
+ virtual gfx::Size GetPreferredSize() const = 0; |
+ |
protected: |
virtual ~ConstrainedWebDialogDelegate() {} |
}; |
@@ -75,16 +87,32 @@ class ConstrainedWebDialogUI : public content::WebUIController { |
DISALLOW_COPY_AND_ASSIGN(ConstrainedWebDialogUI); |
}; |
-// Create a constrained HTML dialog. The actual object that gets created |
-// is a ConstrainedWebDialogDelegate, which later triggers construction of a |
-// ConstrainedWebDialogUI object. |
+// Create and show a constrained HTML dialog. The actual object that gets |
+// created is a ConstrainedWebDialogDelegate, which later triggers construction |
+// of a ConstrainedWebDialogUI object. |
// |browser_context| is used to construct the constrained HTML dialog's |
// WebContents. |
// |delegate| controls the behavior of the dialog. |
// |overshadowed| is the tab being overshadowed by the dialog. |
-ConstrainedWebDialogDelegate* CreateConstrainedWebDialog( |
+ConstrainedWebDialogDelegate* ShowConstrainedWebDialog( |
content::BrowserContext* browser_context, |
ui::WebDialogDelegate* delegate, |
content::WebContents* overshadowed); |
+// Create a constrained HTML dialog with auto-resize enabled. The dialog |
+// is shown by calling constrained_window::ShowModalDialogViews() after |
+// document load has completed to avoid UI jankiness. |
+// |browser_context| is used to construct the constrained HTML dialog's |
msw
2014/12/09 19:51:50
nit: remove "constrained HTML", it's implicit.
apacible
2014/12/10 18:39:28
Done.
|
+// WebContents. |
+// |delegate| controls the behavior of the dialog. |
+// |overshadowed| is the tab being overshadowed by the dialog. |
+// |min_size| is the minimum size of the dialog. |
+// |max_size| is the maximum size of the dialog. |
+ConstrainedWebDialogDelegate* CreateConstrainedWebDialogWithAutoResize( |
+ content::BrowserContext* browser_context, |
+ ui::WebDialogDelegate* delegate, |
+ content::WebContents* overshadowed, |
+ const gfx::Size& min_size, |
+ const gfx::Size& max_size); |
+ |
#endif // CHROME_BROWSER_UI_WEBUI_CONSTRAINED_WEB_DIALOG_UI_H_ |