• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 
10 namespace content {
11 class WebContents;
12 }
13 
14 namespace views {
15 class DialogDelegate;
16 class Widget;
17 class WidgetDelegate;
18 }
19 
20 namespace web_modal {
21 class ModalDialogHost;
22 class 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.
27 void UpdateWebContentsModalDialogPosition(
28     views::Widget* widget,
29     web_modal::WebContentsModalDialogHost* dialog_host);
30 
31 void UpdateBrowserModalDialogPosition(
32     views::Widget* widget,
33     web_modal::ModalDialogHost* dialog_host);
34 
35 // Calls CreateWebModalDialogViews, shows the dialog, and returns its widget.
36 views::Widget* ShowWebModalDialogViews(
37     views::WidgetDelegate* dialog,
38     content::WebContents* initiator_web_contents);
39 
40 // Create a widget for |dialog| that is modal to |web_contents|.
41 views::Widget* CreateWebModalDialogViews(views::WidgetDelegate* dialog,
42                                          content::WebContents* web_contents);
43 
44 // Create a widget for |dialog| that is modal to the browser window |parent|.
45 // This places the dialog appropriately if |parent| is a valid browser window.
46 views::Widget* CreateBrowserModalDialogViews(views::DialogDelegate* dialog,
47                                              gfx::NativeWindow parent);
48 
49 #endif  // CHROME_BROWSER_UI_VIEWS_CONSTRAINED_WINDOW_VIEWS_H_
50