OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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_HTML_DIALOG_UI_H_ | 5 #ifndef CHROME_BROWSER_UI_WEBUI_HTML_DIALOG_UI_H_ |
6 #define CHROME_BROWSER_UI_WEBUI_HTML_DIALOG_UI_H_ | 6 #define CHROME_BROWSER_UI_WEBUI_HTML_DIALOG_UI_H_ |
7 #pragma once | 7 #pragma once |
8 | 8 |
9 #include <string> | 9 #include <string> |
10 #include <vector> | 10 #include <vector> |
11 | 11 |
12 #include "chrome/browser/ui/webui/chrome_web_ui.h" | 12 #include "chrome/browser/ui/webui/chrome_web_ui.h" |
13 #include "content/common/property_bag.h" | 13 #include "content/common/property_bag.h" |
14 #include "googleurl/src/gurl.h" | 14 #include "googleurl/src/gurl.h" |
15 | 15 |
16 namespace gfx { | 16 namespace gfx { |
17 class Size; | 17 class Size; |
18 } | 18 } |
19 | 19 |
20 struct ContextMenuParams; | 20 struct ContextMenuParams; |
21 | 21 |
| 22 namespace base { |
| 23 class ListValue; |
| 24 } |
| 25 |
22 // Implement this class to receive notifications. | 26 // Implement this class to receive notifications. |
23 class HtmlDialogUIDelegate { | 27 class HtmlDialogUIDelegate { |
24 public: | 28 public: |
25 // Returns true if the contents needs to be run in a modal dialog. | 29 // Returns true if the contents needs to be run in a modal dialog. |
26 virtual bool IsDialogModal() const = 0; | 30 virtual bool IsDialogModal() const = 0; |
27 | 31 |
28 // Returns the title of the dialog. | 32 // Returns the title of the dialog. |
29 virtual std::wstring GetDialogTitle() const = 0; | 33 virtual std::wstring GetDialogTitle() const = 0; |
30 | 34 |
31 // Get the HTML file path for the content to load in the dialog. | 35 // Get the HTML file path for the content to load in the dialog. |
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
99 | 103 |
100 // Returns the PropertyBag accessor object used to write the delegate pointer | 104 // Returns the PropertyBag accessor object used to write the delegate pointer |
101 // into the TabContents (see class-level comment above). | 105 // into the TabContents (see class-level comment above). |
102 static PropertyAccessor<HtmlDialogUIDelegate*>& GetPropertyAccessor(); | 106 static PropertyAccessor<HtmlDialogUIDelegate*>& GetPropertyAccessor(); |
103 | 107 |
104 private: | 108 private: |
105 // WebUI | 109 // WebUI |
106 virtual void RenderViewCreated(RenderViewHost* render_view_host); | 110 virtual void RenderViewCreated(RenderViewHost* render_view_host); |
107 | 111 |
108 // JS message handler. | 112 // JS message handler. |
109 void OnDialogClosed(const ListValue* args); | 113 void OnDialogClosed(const base::ListValue* args); |
110 | 114 |
111 DISALLOW_COPY_AND_ASSIGN(HtmlDialogUI); | 115 DISALLOW_COPY_AND_ASSIGN(HtmlDialogUI); |
112 }; | 116 }; |
113 | 117 |
114 // Displays external URL contents inside a modal HTML dialog. | 118 // Displays external URL contents inside a modal HTML dialog. |
115 // | 119 // |
116 // Intended to be the place to collect the settings and lockdowns | 120 // Intended to be the place to collect the settings and lockdowns |
117 // necessary for running external UI conponents securely (e.g., the | 121 // necessary for running external UI conponents securely (e.g., the |
118 // cloud print dialog). | 122 // cloud print dialog). |
119 class ExternalHtmlDialogUI : public HtmlDialogUI { | 123 class ExternalHtmlDialogUI : public HtmlDialogUI { |
120 public: | 124 public: |
121 explicit ExternalHtmlDialogUI(TabContents* tab_contents); | 125 explicit ExternalHtmlDialogUI(TabContents* tab_contents); |
122 virtual ~ExternalHtmlDialogUI(); | 126 virtual ~ExternalHtmlDialogUI(); |
123 }; | 127 }; |
124 | 128 |
125 #endif // CHROME_BROWSER_UI_WEBUI_HTML_DIALOG_UI_H_ | 129 #endif // CHROME_BROWSER_UI_WEBUI_HTML_DIALOG_UI_H_ |
OLD | NEW |