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

Side by Side Diff: chrome/renderer/extensions/extension_helper.cc

Issue 6874038: Remove the last Chrome dependencies from renderer, and enforce no more includes through DEPS. I ... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 9 years, 8 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 #include "chrome/renderer/extensions/extension_helper.h" 5 #include "chrome/renderer/extensions/extension_helper.h"
6 6
7 #include "base/command_line.h" 7 #include "base/command_line.h"
8 #include "base/lazy_instance.h" 8 #include "base/lazy_instance.h"
9 #include "base/message_loop.h" 9 #include "base/message_loop.h"
10 #include "base/utf_string_conversions.h" 10 #include "base/utf_string_conversions.h"
11 #include "chrome/common/chrome_switches.h" 11 #include "chrome/common/chrome_switches.h"
12 #include "chrome/common/extensions/extension_messages.h" 12 #include "chrome/common/extensions/extension_messages.h"
13 #include "chrome/common/render_messages.h"
13 #include "chrome/common/url_constants.h" 14 #include "chrome/common/url_constants.h"
14 #include "chrome/renderer/extensions/extension_dispatcher.h" 15 #include "chrome/renderer/extensions/extension_dispatcher.h"
15 #include "chrome/renderer/extensions/extension_process_bindings.h" 16 #include "chrome/renderer/extensions/extension_process_bindings.h"
16 #include "chrome/renderer/extensions/renderer_extension_bindings.h" 17 #include "chrome/renderer/extensions/renderer_extension_bindings.h"
17 #include "chrome/renderer/extensions/user_script_idle_scheduler.h" 18 #include "chrome/renderer/extensions/user_script_idle_scheduler.h"
18 #include "chrome/renderer/extensions/user_script_slave.h" 19 #include "chrome/renderer/extensions/user_script_slave.h"
19 #include "content/common/json_value_serializer.h" 20 #include "content/common/json_value_serializer.h"
20 #include "content/renderer/render_view.h" 21 #include "content/renderer/render_view.h"
21 #include "webkit/glue/image_resource_fetcher.h" 22 #include "webkit/glue/image_resource_fetcher.h"
22 #include "webkit/glue/resource_fetcher.h" 23 #include "webkit/glue/resource_fetcher.h"
(...skipping 17 matching lines...) Expand all
40 // RenderViewObserver means it might miss some notifications after it moves. 41 // RenderViewObserver means it might miss some notifications after it moves.
41 typedef std::map<WebFrame*, UserScriptIdleScheduler*> SchedulerMap; 42 typedef std::map<WebFrame*, UserScriptIdleScheduler*> SchedulerMap;
42 static base::LazyInstance<SchedulerMap> g_schedulers(base::LINKER_INITIALIZED); 43 static base::LazyInstance<SchedulerMap> g_schedulers(base::LINKER_INITIALIZED);
43 } 44 }
44 45
45 ExtensionHelper::ExtensionHelper(RenderView* render_view, 46 ExtensionHelper::ExtensionHelper(RenderView* render_view,
46 ExtensionDispatcher* extension_dispatcher) 47 ExtensionDispatcher* extension_dispatcher)
47 : RenderViewObserver(render_view), 48 : RenderViewObserver(render_view),
48 RenderViewObserverTracker<ExtensionHelper>(render_view), 49 RenderViewObserverTracker<ExtensionHelper>(render_view),
49 extension_dispatcher_(extension_dispatcher), 50 extension_dispatcher_(extension_dispatcher),
50 pending_app_icon_requests_(0) { 51 pending_app_icon_requests_(0),
52 view_type_(ViewType::INVALID),
53 browser_window_id_(-1) {
51 } 54 }
52 55
53 ExtensionHelper::~ExtensionHelper() { 56 ExtensionHelper::~ExtensionHelper() {
54 } 57 }
55 58
56 bool ExtensionHelper::InstallWebApplicationUsingDefinitionFile( 59 bool ExtensionHelper::InstallWebApplicationUsingDefinitionFile(
57 WebFrame* frame, string16* error) { 60 WebFrame* frame, string16* error) {
58 // There is an issue of drive-by installs with the below implementation. A web 61 // There is an issue of drive-by installs with the below implementation. A web
59 // site could force a user to install an app by timing the dialog to come up 62 // site could force a user to install an app by timing the dialog to come up
60 // just before the user clicks. 63 // just before the user clicks.
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
99 return true; 102 return true;
100 } 103 }
101 104
102 bool ExtensionHelper::OnMessageReceived(const IPC::Message& message) { 105 bool ExtensionHelper::OnMessageReceived(const IPC::Message& message) {
103 bool handled = true; 106 bool handled = true;
104 IPC_BEGIN_MESSAGE_MAP(ExtensionHelper, message) 107 IPC_BEGIN_MESSAGE_MAP(ExtensionHelper, message)
105 IPC_MESSAGE_HANDLER(ExtensionMsg_Response, OnExtensionResponse) 108 IPC_MESSAGE_HANDLER(ExtensionMsg_Response, OnExtensionResponse)
106 IPC_MESSAGE_HANDLER(ExtensionMsg_MessageInvoke, OnExtensionMessageInvoke) 109 IPC_MESSAGE_HANDLER(ExtensionMsg_MessageInvoke, OnExtensionMessageInvoke)
107 IPC_MESSAGE_HANDLER(ExtensionMsg_ExecuteCode, OnExecuteCode) 110 IPC_MESSAGE_HANDLER(ExtensionMsg_ExecuteCode, OnExecuteCode)
108 IPC_MESSAGE_HANDLER(ExtensionMsg_GetApplicationInfo, OnGetApplicationInfo) 111 IPC_MESSAGE_HANDLER(ExtensionMsg_GetApplicationInfo, OnGetApplicationInfo)
112 IPC_MESSAGE_HANDLER(ViewMsg_UpdateBrowserWindowId, OnUpdateBrowserWindowId)
113 IPC_MESSAGE_HANDLER(ViewMsg_NotifyRenderViewType, OnNotifyRendererViewType)
109 IPC_MESSAGE_UNHANDLED(handled = false) 114 IPC_MESSAGE_UNHANDLED(handled = false)
110 IPC_END_MESSAGE_MAP() 115 IPC_END_MESSAGE_MAP()
111 return handled; 116 return handled;
112 } 117 }
113 118
114 void ExtensionHelper::DidFinishDocumentLoad(WebFrame* frame) { 119 void ExtensionHelper::DidFinishDocumentLoad(WebFrame* frame) {
115 extension_dispatcher_->user_script_slave()->InjectScripts( 120 extension_dispatcher_->user_script_slave()->InjectScripts(
116 frame, UserScript::DOCUMENT_END); 121 frame, UserScript::DOCUMENT_END);
117 122
118 SchedulerMap::iterator i = g_schedulers.Get().find(frame); 123 SchedulerMap::iterator i = g_schedulers.Get().find(frame);
(...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after
214 if (app_info.icons[i].url.SchemeIs(chrome::kDataScheme)) { 219 if (app_info.icons[i].url.SchemeIs(chrome::kDataScheme)) {
215 app_info.icons.erase(app_info.icons.begin() + i); 220 app_info.icons.erase(app_info.icons.begin() + i);
216 --i; 221 --i;
217 } 222 }
218 } 223 }
219 224
220 Send(new ExtensionHostMsg_DidGetApplicationInfo( 225 Send(new ExtensionHostMsg_DidGetApplicationInfo(
221 routing_id(), page_id, app_info)); 226 routing_id(), page_id, app_info));
222 } 227 }
223 228
229 void ExtensionHelper::OnNotifyRendererViewType(ViewType::Type type) {
230 view_type_ = type;
231 }
232
233 void ExtensionHelper::OnUpdateBrowserWindowId(int window_id) {
234 browser_window_id_ = window_id;
235 }
236
224 void ExtensionHelper::DidDownloadApplicationDefinition( 237 void ExtensionHelper::DidDownloadApplicationDefinition(
225 const WebKit::WebURLResponse& response, 238 const WebKit::WebURLResponse& response,
226 const std::string& data) { 239 const std::string& data) {
227 scoped_ptr<WebApplicationInfo> app_info( 240 scoped_ptr<WebApplicationInfo> app_info(
228 pending_app_info_.release()); 241 pending_app_info_.release());
229 242
230 JSONStringValueSerializer serializer(data); 243 JSONStringValueSerializer serializer(data);
231 int error_code = 0; 244 int error_code = 0;
232 std::string error_message; 245 std::string error_message;
233 scoped_ptr<Value> result(serializer.Deserialize(&error_code, &error_message)); 246 scoped_ptr<Value> result(serializer.Deserialize(&error_code, &error_message));
(...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after
312 routing_id(), *pending_app_info_)); 325 routing_id(), *pending_app_info_));
313 pending_app_info_.reset(NULL); 326 pending_app_info_.reset(NULL);
314 } 327 }
315 328
316 void ExtensionHelper::AddErrorToRootConsole(const string16& message) { 329 void ExtensionHelper::AddErrorToRootConsole(const string16& message) {
317 if (render_view()->webview() && render_view()->webview()->mainFrame()) { 330 if (render_view()->webview() && render_view()->webview()->mainFrame()) {
318 render_view()->webview()->mainFrame()->addMessageToConsole( 331 render_view()->webview()->mainFrame()->addMessageToConsole(
319 WebConsoleMessage(WebConsoleMessage::LevelError, message)); 332 WebConsoleMessage(WebConsoleMessage::LevelError, message));
320 } 333 }
321 } 334 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698