• 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 COMPONENTS_WEB_MODAL_WEB_CONTENTS_MODAL_DIALOG_MANAGER_DELEGATE_H_
6 #define COMPONENTS_WEB_MODAL_WEB_CONTENTS_MODAL_DIALOG_MANAGER_DELEGATE_H_
7 
8 namespace content {
9 class WebContents;
10 }
11 
12 namespace gfx {
13 class Point;
14 }
15 
16 namespace web_modal {
17 
18 class WebContentsModalDialogHost;
19 
20 class WebContentsModalDialogManagerDelegate {
21  public:
22   // Changes the blocked state of |web_contents|. WebContentses are considered
23   // blocked while displaying a web contents modal dialog. During that time
24   // renderer host will ignore any UI interaction within WebContents outside of
25   // the currently displaying dialog.
26   virtual void SetWebContentsBlocked(content::WebContents* web_contents,
27                                      bool blocked);
28 
29   // Returns the WebContentsModalDialogHost for use in positioning web contents
30   // modal dialogs within the browser window.
31   virtual WebContentsModalDialogHost* GetWebContentsModalDialogHost();
32 
33   // Returns whether the WebContents is currently visible or not.
34   virtual bool IsWebContentsVisible(content::WebContents* web_contents);
35 
36  protected:
37   virtual ~WebContentsModalDialogManagerDelegate();
38 };
39 
40 }  // namespace web_modal
41 
42 #endif  // COMPONENTS_WEB_MODAL_WEB_CONTENTS_MODAL_DIALOG_MANAGER_DELEGATE_H_
43