Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(432)

Side by Side Diff: chrome/browser/extensions/extension_host.h

Issue 7096016: Remove JS dialog dependency from content. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: now a tc delegate Created 9 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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_EXTENSIONS_EXTENSION_HOST_H_ 5 #ifndef CHROME_BROWSER_EXTENSIONS_EXTENSION_HOST_H_
6 #define CHROME_BROWSER_EXTENSIONS_EXTENSION_HOST_H_ 6 #define CHROME_BROWSER_EXTENSIONS_EXTENSION_HOST_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 "base/memory/scoped_ptr.h" 12 #include "base/memory/scoped_ptr.h"
13 #include "base/perftimer.h" 13 #include "base/perftimer.h"
14 #include "chrome/browser/extensions/extension_function_dispatcher.h" 14 #include "chrome/browser/extensions/extension_function_dispatcher.h"
15 #include "chrome/browser/tab_contents/render_view_host_delegate_helper.h" 15 #include "chrome/browser/tab_contents/render_view_host_delegate_helper.h"
16 #include "chrome/browser/ui/app_modal_dialogs/js_modal_dialog.h" 16 #include "content/browser/javascript_dialogs.h"
17 #include "content/browser/renderer_host/render_view_host_delegate.h" 17 #include "content/browser/renderer_host/render_view_host_delegate.h"
18 #include "content/common/notification_observer.h"
18 #include "content/common/notification_registrar.h" 19 #include "content/common/notification_registrar.h"
19 20
20 #if defined(TOOLKIT_VIEWS) 21 #if defined(TOOLKIT_VIEWS)
21 #include "chrome/browser/ui/views/extensions/extension_view.h" 22 #include "chrome/browser/ui/views/extensions/extension_view.h"
22 #elif defined(OS_MACOSX) 23 #elif defined(OS_MACOSX)
23 #include "chrome/browser/ui/cocoa/extensions/extension_view_mac.h" 24 #include "chrome/browser/ui/cocoa/extensions/extension_view_mac.h"
24 #elif defined(TOOLKIT_GTK) 25 #elif defined(TOOLKIT_GTK)
25 #include "chrome/browser/ui/gtk/extensions/extension_view_gtk.h" 26 #include "chrome/browser/ui/gtk/extensions/extension_view_gtk.h"
26 #endif 27 #endif
27 28
28 class Browser; 29 class Browser;
29 class Extension; 30 class Extension;
30 class FileSelectHelper; 31 class FileSelectHelper;
31 class RenderProcessHost; 32 class RenderProcessHost;
32 class RenderWidgetHostView; 33 class RenderWidgetHostView;
33 class TabContents; 34 class TabContents;
34 struct ViewHostMsg_RunFileChooser_Params; 35 struct ViewHostMsg_RunFileChooser_Params;
35 struct WebPreferences; 36 struct WebPreferences;
36 37
37 // This class is the browser component of an extension component's RenderView. 38 // This class is the browser component of an extension component's RenderView.
38 // It handles setting up the renderer process, if needed, with special 39 // It handles setting up the renderer process, if needed, with special
39 // privileges available to extensions. It may have a view to be shown in the 40 // privileges available to extensions. It may have a view to be shown in the
40 // browser UI, or it may be hidden. 41 // browser UI, or it may be hidden.
41 class ExtensionHost : public RenderViewHostDelegate, 42 class ExtensionHost : public RenderViewHostDelegate,
42 public RenderViewHostDelegate::View, 43 public RenderViewHostDelegate::View,
43 public ExtensionFunctionDispatcher::Delegate, 44 public ExtensionFunctionDispatcher::Delegate,
44 public NotificationObserver, 45 public NotificationObserver,
45 public JavaScriptAppModalDialogDelegate { 46 public content::JavaScriptDialogDelegate {
46 public: 47 public:
47 class ProcessCreationQueue; 48 class ProcessCreationQueue;
48 49
49 // Enable DOM automation in created render view hosts. 50 // Enable DOM automation in created render view hosts.
50 static void EnableDOMAutomation() { enable_dom_automation_ = true; } 51 static void EnableDOMAutomation() { enable_dom_automation_ = true; }
51 52
52 ExtensionHost(const Extension* extension, SiteInstance* site_instance, 53 ExtensionHost(const Extension* extension, SiteInstance* site_instance,
53 const GURL& url, ViewType::Type host_type); 54 const GURL& url, ViewType::Type host_type);
54 virtual ~ExtensionHost(); 55 virtual ~ExtensionHost();
55 56
(...skipping 124 matching lines...) Expand 10 before | Expand all | Expand 10 after
180 virtual void UpdatePreferredSize(const gfx::Size& new_size); 181 virtual void UpdatePreferredSize(const gfx::Size& new_size);
181 virtual void UpdateInspectorSetting(const std::string& key, 182 virtual void UpdateInspectorSetting(const std::string& key,
182 const std::string& value); 183 const std::string& value);
183 virtual void ClearInspectorSettings(); 184 virtual void ClearInspectorSettings();
184 185
185 // NotificationObserver 186 // NotificationObserver
186 virtual void Observe(NotificationType type, 187 virtual void Observe(NotificationType type,
187 const NotificationSource& source, 188 const NotificationSource& source,
188 const NotificationDetails& details); 189 const NotificationDetails& details);
189 190
190 // Overridden from JavaScriptAppModalDialogDelegate: 191 // Overridden from content::JavaScriptDialogDelegate:
191 virtual void OnMessageBoxClosed(IPC::Message* reply_msg, 192 virtual void OnDialogClosed(IPC::Message* reply_msg,
192 bool success, 193 bool success,
193 const std::wstring& user_input); 194 const string16& user_input) OVERRIDE;
194 virtual void SetSuppressMessageBoxes(bool suppress_message_boxes); 195 virtual gfx::NativeWindow GetDialogRootWindow() OVERRIDE;
195 virtual gfx::NativeWindow GetMessageBoxRootWindow(); 196 virtual TabContents* AsTabContents() OVERRIDE;
196 virtual TabContents* AsTabContents(); 197 virtual ExtensionHost* AsExtensionHost() OVERRIDE;
197 virtual ExtensionHost* AsExtensionHost();
198 198
199 protected: 199 protected:
200 // Internal functions used to support the CreateNewWidget() method. If a 200 // Internal functions used to support the CreateNewWidget() method. If a
201 // platform requires plugging into widget creation at a lower level, then a 201 // platform requires plugging into widget creation at a lower level, then a
202 // subclass might want to override these functions, but otherwise they should 202 // subclass might want to override these functions, but otherwise they should
203 // be fine just implementing RenderWidgetHostView::InitAsPopup(). 203 // be fine just implementing RenderWidgetHostView::InitAsPopup().
204 // 204 //
205 // The Create function returns the newly created widget so it can be 205 // The Create function returns the newly created widget so it can be
206 // associated with the given route. When the widget needs to be shown later, 206 // associated with the given route. When the widget needs to be shown later,
207 // we'll look it up again and pass the object to the Show functions rather 207 // we'll look it up again and pass the object to the Show functions rather
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after
284 284
285 // The relevant TabContents associated with this ExtensionHost, if any. 285 // The relevant TabContents associated with this ExtensionHost, if any.
286 TabContents* associated_tab_contents_; 286 TabContents* associated_tab_contents_;
287 287
288 // Used to measure how long it's been since the host was created. 288 // Used to measure how long it's been since the host was created.
289 PerfTimer since_created_; 289 PerfTimer since_created_;
290 290
291 // FileSelectHelper, lazily created. 291 // FileSelectHelper, lazily created.
292 scoped_ptr<FileSelectHelper> file_select_helper_; 292 scoped_ptr<FileSelectHelper> file_select_helper_;
293 293
294 // The time that the last javascript message was dismissed.
295 base::TimeTicks last_javascript_message_dismissal_;
296
297 // Whether to suppress all javascript messages.
298 bool suppress_javascript_messages_;
299
300 DISALLOW_COPY_AND_ASSIGN(ExtensionHost); 294 DISALLOW_COPY_AND_ASSIGN(ExtensionHost);
301 }; 295 };
302 296
303 #endif // CHROME_BROWSER_EXTENSIONS_EXTENSION_HOST_H_ 297 #endif // CHROME_BROWSER_EXTENSIONS_EXTENSION_HOST_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698