| OLD | NEW |
| 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_frame_host.h" | 9 #include "content/public/browser/render_frame_host.h" |
| 10 #include "content/public/browser/render_process_host.h" | 10 #include "content/public/browser/render_process_host.h" |
| (...skipping 160 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 171 manager->AttachGuest(render_process_id_, | 171 manager->AttachGuest(render_process_id_, |
| 172 routing_id, | 172 routing_id, |
| 173 element_instance_id, | 173 element_instance_id, |
| 174 guest_instance_id, | 174 guest_instance_id, |
| 175 params); | 175 params); |
| 176 } | 176 } |
| 177 | 177 |
| 178 void ExtensionMessageFilter::OnExtensionCreateMimeHandlerViewGuest( | 178 void ExtensionMessageFilter::OnExtensionCreateMimeHandlerViewGuest( |
| 179 int render_frame_id, | 179 int render_frame_id, |
| 180 const std::string& src, | 180 const std::string& src, |
| 181 const std::string& content_url, |
| 181 const std::string& mime_type, | 182 const std::string& mime_type, |
| 182 int element_instance_id) { | 183 int element_instance_id) { |
| 183 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); | 184 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
| 184 GuestViewManager* manager = | 185 GuestViewManager* manager = |
| 185 GuestViewManager::FromBrowserContext(browser_context_); | 186 GuestViewManager::FromBrowserContext(browser_context_); |
| 186 if (!manager) | 187 if (!manager) |
| 187 return; | 188 return; |
| 188 | 189 |
| 189 content::RenderFrameHost* rfh = | 190 content::RenderFrameHost* rfh = |
| 190 content::RenderFrameHost::FromID(render_process_id_, render_frame_id); | 191 content::RenderFrameHost::FromID(render_process_id_, render_frame_id); |
| 191 content::WebContents* embedder_web_contents = | 192 content::WebContents* embedder_web_contents = |
| 192 content::WebContents::FromRenderFrameHost(rfh); | 193 content::WebContents::FromRenderFrameHost(rfh); |
| 193 if (!embedder_web_contents) | 194 if (!embedder_web_contents) |
| 194 return; | 195 return; |
| 195 | 196 |
| 196 GuestViewManager::WebContentsCreatedCallback callback = | 197 GuestViewManager::WebContentsCreatedCallback callback = |
| 197 base::Bind(&ExtensionMessageFilter::MimeHandlerViewGuestCreatedCallback, | 198 base::Bind(&ExtensionMessageFilter::MimeHandlerViewGuestCreatedCallback, |
| 198 this, | 199 this, |
| 199 element_instance_id, | 200 element_instance_id, |
| 200 render_process_id_, | 201 render_process_id_, |
| 201 render_frame_id, | 202 render_frame_id, |
| 202 src); | 203 src); |
| 203 base::DictionaryValue create_params; | 204 base::DictionaryValue create_params; |
| 204 create_params.SetString(mime_handler_view::kMimeType, mime_type); | 205 create_params.SetString(mime_handler_view::kMimeType, mime_type); |
| 205 create_params.SetString(mime_handler_view::kSrc, src); | 206 create_params.SetString(mime_handler_view::kSrc, src); |
| 207 create_params.SetString(mime_handler_view::kContentUrl, content_url); |
| 206 manager->CreateGuest(MimeHandlerViewGuest::Type, | 208 manager->CreateGuest(MimeHandlerViewGuest::Type, |
| 207 "", | 209 "", |
| 208 embedder_web_contents, | 210 embedder_web_contents, |
| 209 create_params, | 211 create_params, |
| 210 callback); | 212 callback); |
| 211 } | 213 } |
| 212 | 214 |
| 213 void ExtensionMessageFilter::OnExtensionRemoveLazyListener( | 215 void ExtensionMessageFilter::OnExtensionRemoveLazyListener( |
| 214 const std::string& extension_id, const std::string& event_name) { | 216 const std::string& extension_id, const std::string& event_name) { |
| 215 EventRouter* router = EventRouter::Get(browser_context_); | 217 EventRouter* router = EventRouter::Get(browser_context_); |
| (...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 320 guest_instance_id, | 322 guest_instance_id, |
| 321 attach_params); | 323 attach_params); |
| 322 | 324 |
| 323 IPC::Message* msg = | 325 IPC::Message* msg = |
| 324 new ExtensionMsg_CreateMimeHandlerViewGuestACK(element_instance_id); | 326 new ExtensionMsg_CreateMimeHandlerViewGuestACK(element_instance_id); |
| 325 msg->set_routing_id(rfh->GetRoutingID()); | 327 msg->set_routing_id(rfh->GetRoutingID()); |
| 326 rfh->Send(msg); | 328 rfh->Send(msg); |
| 327 } | 329 } |
| 328 | 330 |
| 329 } // namespace extensions | 331 } // namespace extensions |
| OLD | NEW |