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 BrowserContext; 12 } 13 14 namespace views { 15 class DialogDelegate; 16 class NonClientFrameView; 17 class Widget; 18 class WidgetDelegate; 19 } 20 21 namespace web_modal { 22 class ModalDialogHost; 23 class WebContentsModalDialogHost; 24 } 25 26 // Update the position of dialog |widget| against |dialog_host|. This is used to 27 // reposition widgets e.g. when the host dimensions change. 28 void UpdateWebContentsModalDialogPosition( 29 views::Widget* widget, 30 web_modal::WebContentsModalDialogHost* dialog_host); 31 32 void UpdateBrowserModalDialogPosition( 33 views::Widget* widget, 34 web_modal::ModalDialogHost* dialog_host); 35 36 // Create a widget for |dialog| that is modal to the browser window |parent|. 37 // This places the dialog appropriately if |parent| is a valid browser window. 38 views::Widget* CreateBrowserModalDialogViews(views::DialogDelegate* dialog, 39 gfx::NativeWindow parent); 40 41 views::NonClientFrameView* CreateConstrainedStyleNonClientFrameView( 42 views::Widget* widget, 43 content::BrowserContext* browser_context); 44 45 #endif // CHROME_BROWSER_UI_VIEWS_CONSTRAINED_WINDOW_VIEWS_H_ 46