OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 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 | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef CHROME_BROWSER_UI_WEBUI_CONSTRAINED_WEB_DIALOG_DELEGATE_BASE_H_ | 5 #ifndef CHROME_BROWSER_UI_WEBUI_CONSTRAINED_WEB_DIALOG_DELEGATE_BASE_H_ |
6 #define CHROME_BROWSER_UI_WEBUI_CONSTRAINED_WEB_DIALOG_DELEGATE_BASE_H_ | 6 #define CHROME_BROWSER_UI_WEBUI_CONSTRAINED_WEB_DIALOG_DELEGATE_BASE_H_ |
7 | 7 |
8 #include "base/memory/scoped_ptr.h" | 8 #include "base/memory/scoped_ptr.h" |
9 #include "chrome/browser/ui/webui/constrained_web_dialog_ui.h" | 9 #include "chrome/browser/ui/webui/constrained_web_dialog_ui.h" |
10 #include "ui/web_dialogs/web_dialog_ui.h" | 10 #include "ui/web_dialogs/web_dialog_ui.h" |
11 #include "ui/web_dialogs/web_dialog_web_contents_delegate.h" | 11 #include "ui/web_dialogs/web_dialog_web_contents_delegate.h" |
12 | 12 |
13 namespace content { | 13 namespace content { |
14 class BrowserContext; | 14 class BrowserContext; |
15 } | 15 } |
16 | 16 |
17 namespace ui { | 17 namespace ui { |
18 class WebDialogDelegate; | 18 class WebDialogDelegate; |
19 } | 19 } |
20 | 20 |
21 // Platform-agnostic base implementation of ConstrainedWebDialogDelegate. | 21 // Platform-agnostic base implementation of ConstrainedWebDialogDelegate. |
22 class ConstrainedWebDialogDelegateBase | 22 class ConstrainedWebDialogDelegateBase |
23 : public ConstrainedWebDialogDelegate, | 23 : public ConstrainedWebDialogDelegate, |
24 public ui::WebDialogWebContentsDelegate { | 24 public ui::WebDialogWebContentsDelegate { |
25 public: | 25 public: |
26 ConstrainedWebDialogDelegateBase(content::BrowserContext* browser_context, | 26 ConstrainedWebDialogDelegateBase(content::BrowserContext* browser_context, |
27 ui::WebDialogDelegate* delegate, | 27 ui::WebDialogDelegate* delegate, |
28 WebDialogWebContentsDelegate* tab_delegate); | 28 WebDialogWebContentsDelegate* tab_delegate); |
29 virtual ~ConstrainedWebDialogDelegateBase(); | 29 ~ConstrainedWebDialogDelegateBase() override; |
30 | 30 |
31 bool closed_via_webui() const; | 31 bool closed_via_webui() const; |
32 | 32 |
33 // ConstrainedWebDialogDelegate interface. | 33 // ConstrainedWebDialogDelegate interface. |
34 virtual const ui::WebDialogDelegate* GetWebDialogDelegate() const override; | 34 const ui::WebDialogDelegate* GetWebDialogDelegate() const override; |
35 virtual ui::WebDialogDelegate* GetWebDialogDelegate() override; | 35 ui::WebDialogDelegate* GetWebDialogDelegate() override; |
36 virtual void OnDialogCloseFromWebUI() override; | 36 void OnDialogCloseFromWebUI() override; |
37 virtual void ReleaseWebContentsOnDialogClose() override; | 37 void ReleaseWebContentsOnDialogClose() override; |
38 virtual web_modal::NativeWebContentsModalDialog GetNativeDialog() override; | 38 web_modal::NativeWebContentsModalDialog GetNativeDialog() override; |
39 virtual content::WebContents* GetWebContents() override; | 39 content::WebContents* GetWebContents() override; |
40 | 40 |
41 // WebDialogWebContentsDelegate interface. | 41 // WebDialogWebContentsDelegate interface. |
42 virtual void HandleKeyboardEvent( | 42 void HandleKeyboardEvent( |
43 content::WebContents* source, | 43 content::WebContents* source, |
44 const content::NativeWebKeyboardEvent& event) override; | 44 const content::NativeWebKeyboardEvent& event) override; |
45 | 45 |
46 private: | 46 private: |
47 scoped_ptr<ui::WebDialogDelegate> web_dialog_delegate_; | 47 scoped_ptr<ui::WebDialogDelegate> web_dialog_delegate_; |
48 | 48 |
49 // Holds the HTML to display in the constrained dialog. | 49 // Holds the HTML to display in the constrained dialog. |
50 scoped_ptr<content::WebContents> web_contents_; | 50 scoped_ptr<content::WebContents> web_contents_; |
51 | 51 |
52 // Was the dialog closed from WebUI (in which case |web_dialog_delegate_|'s | 52 // Was the dialog closed from WebUI (in which case |web_dialog_delegate_|'s |
53 // OnDialogClosed() method has already been called)? | 53 // OnDialogClosed() method has already been called)? |
54 bool closed_via_webui_; | 54 bool closed_via_webui_; |
55 | 55 |
56 // If true, release |web_contents_| on close instead of destroying it. | 56 // If true, release |web_contents_| on close instead of destroying it. |
57 bool release_contents_on_close_; | 57 bool release_contents_on_close_; |
58 | 58 |
59 scoped_ptr<WebDialogWebContentsDelegate> override_tab_delegate_; | 59 scoped_ptr<WebDialogWebContentsDelegate> override_tab_delegate_; |
60 | 60 |
61 DISALLOW_COPY_AND_ASSIGN(ConstrainedWebDialogDelegateBase); | 61 DISALLOW_COPY_AND_ASSIGN(ConstrainedWebDialogDelegateBase); |
62 }; | 62 }; |
63 | 63 |
64 #endif // CHROME_BROWSER_UI_WEBUI_CONSTRAINED_WEB_DIALOG_DELEGATE_BASE_H_ | 64 #endif // CHROME_BROWSER_UI_WEBUI_CONSTRAINED_WEB_DIALOG_DELEGATE_BASE_H_ |
OLD | NEW |