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( 37 views::WidgetDelegate* dialog, 38 content::WebContents* initiator_web_contents); 39 40// Create a widget for |dialog| that is modal to |web_contents|. 41views::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. 46views::Widget* CreateBrowserModalDialogViews(views::DialogDelegate* dialog, 47 gfx::NativeWindow parent); 48 49#endif // CHROME_BROWSER_UI_VIEWS_CONSTRAINED_WINDOW_VIEWS_H_ 50