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

Side by Side Diff: extensions/browser/extension_message_filter.cc

Issue 497103002: Move ChromeExtensionHostMsg_AttachGuest to extensions. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Move guest_view_internal register to dispatcher in extensions. Created 6 years, 4 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
« no previous file with comments | « extensions/browser/extension_message_filter.h ('k') | extensions/common/extension_messages.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 "extensions/browser/extension_message_filter.h" 5 #include "extensions/browser/extension_message_filter.h"
6 6
7 #include "components/crx_file/id_util.h" 7 #include "components/crx_file/id_util.h"
8 #include "content/public/browser/browser_thread.h" 8 #include "content/public/browser/browser_thread.h"
9 #include "content/public/browser/render_process_host.h" 9 #include "content/public/browser/render_process_host.h"
10 #include "content/public/browser/resource_dispatcher_host.h" 10 #include "content/public/browser/resource_dispatcher_host.h"
11 #include "extensions/browser/blob_holder.h" 11 #include "extensions/browser/blob_holder.h"
12 #include "extensions/browser/event_router.h" 12 #include "extensions/browser/event_router.h"
13 #include "extensions/browser/extension_function_dispatcher.h" 13 #include "extensions/browser/extension_function_dispatcher.h"
14 #include "extensions/browser/extension_system.h" 14 #include "extensions/browser/extension_system.h"
15 #include "extensions/browser/guest_view/guest_view_manager.h"
15 #include "extensions/browser/info_map.h" 16 #include "extensions/browser/info_map.h"
16 #include "extensions/browser/process_manager.h" 17 #include "extensions/browser/process_manager.h"
17 #include "extensions/common/extension.h" 18 #include "extensions/common/extension.h"
18 #include "extensions/common/extension_messages.h" 19 #include "extensions/common/extension_messages.h"
19 #include "ipc/ipc_message_macros.h" 20 #include "ipc/ipc_message_macros.h"
20 21
21 using content::BrowserThread; 22 using content::BrowserThread;
22 using content::RenderProcessHost; 23 using content::RenderProcessHost;
23 24
24 namespace extensions { 25 namespace extensions {
(...skipping 10 matching lines...) Expand all
35 36
36 ExtensionMessageFilter::~ExtensionMessageFilter() { 37 ExtensionMessageFilter::~ExtensionMessageFilter() {
37 DCHECK_CURRENTLY_ON(BrowserThread::IO); 38 DCHECK_CURRENTLY_ON(BrowserThread::IO);
38 } 39 }
39 40
40 void ExtensionMessageFilter::OverrideThreadForMessage( 41 void ExtensionMessageFilter::OverrideThreadForMessage(
41 const IPC::Message& message, 42 const IPC::Message& message,
42 BrowserThread::ID* thread) { 43 BrowserThread::ID* thread) {
43 switch (message.type()) { 44 switch (message.type()) {
44 case ExtensionHostMsg_AddListener::ID: 45 case ExtensionHostMsg_AddListener::ID:
46 case ExtensionHostMsg_AttachGuest::ID:
45 case ExtensionHostMsg_RemoveListener::ID: 47 case ExtensionHostMsg_RemoveListener::ID:
46 case ExtensionHostMsg_AddLazyListener::ID: 48 case ExtensionHostMsg_AddLazyListener::ID:
47 case ExtensionHostMsg_RemoveLazyListener::ID: 49 case ExtensionHostMsg_RemoveLazyListener::ID:
48 case ExtensionHostMsg_AddFilteredListener::ID: 50 case ExtensionHostMsg_AddFilteredListener::ID:
49 case ExtensionHostMsg_RemoveFilteredListener::ID: 51 case ExtensionHostMsg_RemoveFilteredListener::ID:
50 case ExtensionHostMsg_ShouldSuspendAck::ID: 52 case ExtensionHostMsg_ShouldSuspendAck::ID:
51 case ExtensionHostMsg_SuspendAck::ID: 53 case ExtensionHostMsg_SuspendAck::ID:
52 case ExtensionHostMsg_TransferBlobsAck::ID: 54 case ExtensionHostMsg_TransferBlobsAck::ID:
53 *thread = BrowserThread::UI; 55 *thread = BrowserThread::UI;
54 break; 56 break;
(...skipping 10 matching lines...) Expand all
65 67
66 bool ExtensionMessageFilter::OnMessageReceived(const IPC::Message& message) { 68 bool ExtensionMessageFilter::OnMessageReceived(const IPC::Message& message) {
67 bool handled = true; 69 bool handled = true;
68 IPC_BEGIN_MESSAGE_MAP(ExtensionMessageFilter, message) 70 IPC_BEGIN_MESSAGE_MAP(ExtensionMessageFilter, message)
69 IPC_MESSAGE_HANDLER(ExtensionHostMsg_AddListener, 71 IPC_MESSAGE_HANDLER(ExtensionHostMsg_AddListener,
70 OnExtensionAddListener) 72 OnExtensionAddListener)
71 IPC_MESSAGE_HANDLER(ExtensionHostMsg_RemoveListener, 73 IPC_MESSAGE_HANDLER(ExtensionHostMsg_RemoveListener,
72 OnExtensionRemoveListener) 74 OnExtensionRemoveListener)
73 IPC_MESSAGE_HANDLER(ExtensionHostMsg_AddLazyListener, 75 IPC_MESSAGE_HANDLER(ExtensionHostMsg_AddLazyListener,
74 OnExtensionAddLazyListener) 76 OnExtensionAddLazyListener)
77 IPC_MESSAGE_HANDLER(ExtensionHostMsg_AttachGuest,
78 OnExtensionAttachGuest)
75 IPC_MESSAGE_HANDLER(ExtensionHostMsg_RemoveLazyListener, 79 IPC_MESSAGE_HANDLER(ExtensionHostMsg_RemoveLazyListener,
76 OnExtensionRemoveLazyListener) 80 OnExtensionRemoveLazyListener)
77 IPC_MESSAGE_HANDLER(ExtensionHostMsg_AddFilteredListener, 81 IPC_MESSAGE_HANDLER(ExtensionHostMsg_AddFilteredListener,
78 OnExtensionAddFilteredListener) 82 OnExtensionAddFilteredListener)
79 IPC_MESSAGE_HANDLER(ExtensionHostMsg_RemoveFilteredListener, 83 IPC_MESSAGE_HANDLER(ExtensionHostMsg_RemoveFilteredListener,
80 OnExtensionRemoveFilteredListener) 84 OnExtensionRemoveFilteredListener)
81 IPC_MESSAGE_HANDLER(ExtensionHostMsg_ShouldSuspendAck, 85 IPC_MESSAGE_HANDLER(ExtensionHostMsg_ShouldSuspendAck,
82 OnExtensionShouldSuspendAck) 86 OnExtensionShouldSuspendAck)
83 IPC_MESSAGE_HANDLER(ExtensionHostMsg_SuspendAck, 87 IPC_MESSAGE_HANDLER(ExtensionHostMsg_SuspendAck,
84 OnExtensionSuspendAck) 88 OnExtensionSuspendAck)
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
138 } 142 }
139 143
140 void ExtensionMessageFilter::OnExtensionAddLazyListener( 144 void ExtensionMessageFilter::OnExtensionAddLazyListener(
141 const std::string& extension_id, const std::string& event_name) { 145 const std::string& extension_id, const std::string& event_name) {
142 EventRouter* router = EventRouter::Get(browser_context_); 146 EventRouter* router = EventRouter::Get(browser_context_);
143 if (!router) 147 if (!router)
144 return; 148 return;
145 router->AddLazyEventListener(event_name, extension_id); 149 router->AddLazyEventListener(event_name, extension_id);
146 } 150 }
147 151
152 void ExtensionMessageFilter::OnExtensionAttachGuest(
153 int routing_id,
154 int element_instance_id,
155 int guest_instance_id,
156 const base::DictionaryValue& params) {
157 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
158 extensions::GuestViewManager* manager =
159 extensions::GuestViewManager::FromBrowserContext(browser_context_);
160 if (!manager)
161 return;
162
163 manager->AttachGuest(render_process_id_,
164 routing_id,
165 element_instance_id,
166 guest_instance_id,
167 params);
168 }
169
148 void ExtensionMessageFilter::OnExtensionRemoveLazyListener( 170 void ExtensionMessageFilter::OnExtensionRemoveLazyListener(
149 const std::string& extension_id, const std::string& event_name) { 171 const std::string& extension_id, const std::string& event_name) {
150 EventRouter* router = EventRouter::Get(browser_context_); 172 EventRouter* router = EventRouter::Get(browser_context_);
151 if (!router) 173 if (!router)
152 return; 174 return;
153 router->RemoveLazyEventListener(event_name, extension_id); 175 router->RemoveLazyEventListener(event_name, extension_id);
154 } 176 }
155 177
156 void ExtensionMessageFilter::OnExtensionAddFilteredListener( 178 void ExtensionMessageFilter::OnExtensionAddFilteredListener(
157 const std::string& extension_id, 179 const std::string& extension_id,
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after
224 ExtensionFunctionDispatcher::DispatchOnIOThread( 246 ExtensionFunctionDispatcher::DispatchOnIOThread(
225 extension_info_map_.get(), 247 extension_info_map_.get(),
226 browser_context_, 248 browser_context_,
227 render_process_id_, 249 render_process_id_,
228 weak_ptr_factory_.GetWeakPtr(), 250 weak_ptr_factory_.GetWeakPtr(),
229 routing_id, 251 routing_id,
230 params); 252 params);
231 } 253 }
232 254
233 } // namespace extensions 255 } // namespace extensions
OLDNEW
« no previous file with comments | « extensions/browser/extension_message_filter.h ('k') | extensions/common/extension_messages.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698