constrained_window_views.h revision 46d4c2bc3267f3f028f39e7e311b0f89aba2e4fd
1// Copyright (c) 2012 The Chromium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#ifndef CHROME_BROWSER_UI_VIEWS_CONSTRAINED_WINDOW_VIEWS_H_
6#define CHROME_BROWSER_UI_VIEWS_CONSTRAINED_WINDOW_VIEWS_H_
7
8#include "ui/gfx/native_widget_types.h"
9
10namespace content {
11class WebContents;
12}
13
14namespace views {
15class DialogDelegate;
16class Widget;
17class WidgetDelegate;
18}
19
20namespace web_modal {
21class ModalDialogHost;
22class WebContentsModalDialogHost;
23}
24
25// Update the position of dialog |widget| against |dialog_host|. This is used to
26// reposition widgets e.g. when the host dimensions change.
27void UpdateWebContentsModalDialogPosition(
28    views::Widget* widget,
29    web_modal::WebContentsModalDialogHost* dialog_host);
30
31void UpdateBrowserModalDialogPosition(
32    views::Widget* widget,
33    web_modal::ModalDialogHost* dialog_host);
34
35// Calls CreateWebModalDialogViews, shows the dialog, and returns its widget.
36views::Widget* ShowWebModalDialogViews(views::WidgetDelegate* dialog,
37                                       content::WebContents* web_contents);
38
39// Create a widget for |dialog| that is modal to |web_contents|.
40views::Widget* CreateWebModalDialogViews(views::WidgetDelegate* dialog,
41                                         content::WebContents* web_contents);
42
43// Create a widget for |dialog| that is modal to the browser window |parent|.
44// This places the dialog appropriately if |parent| is a valid browser window.
45views::Widget* CreateBrowserModalDialogViews(views::DialogDelegate* dialog,
46                                             gfx::NativeWindow parent);
47
48#endif  // CHROME_BROWSER_UI_VIEWS_CONSTRAINED_WINDOW_VIEWS_H_
49