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

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

Issue 856563002: Added the infrastructure for surfaceProxy.onResize() and SurfaceView.onResize() (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Addressed comment by kalman@. Created 5 years, 11 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
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_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 159 matching lines...) Expand 10 before | Expand all | Expand 10 after
170 170
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 ExtensionHostMsg_CreateMimeHandlerViewGuest_Params& params) {
181 const std::string& content_url,
182 const std::string& mime_type,
183 int element_instance_id) {
184 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 181 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
185 GuestViewManager* manager = 182 GuestViewManager* manager =
186 GuestViewManager::FromBrowserContext(browser_context_); 183 GuestViewManager::FromBrowserContext(browser_context_);
187 if (!manager) 184 if (!manager)
188 return; 185 return;
189 186
190 content::RenderFrameHost* rfh = 187 content::RenderFrameHost* rfh =
191 content::RenderFrameHost::FromID(render_process_id_, render_frame_id); 188 content::RenderFrameHost::FromID(render_process_id_, render_frame_id);
192 content::WebContents* embedder_web_contents = 189 content::WebContents* embedder_web_contents =
193 content::WebContents::FromRenderFrameHost(rfh); 190 content::WebContents::FromRenderFrameHost(rfh);
194 if (!embedder_web_contents) 191 if (!embedder_web_contents)
195 return; 192 return;
196 193
197 GuestViewManager::WebContentsCreatedCallback callback = 194 GuestViewManager::WebContentsCreatedCallback callback =
198 base::Bind(&ExtensionMessageFilter::MimeHandlerViewGuestCreatedCallback, 195 base::Bind(&ExtensionMessageFilter::MimeHandlerViewGuestCreatedCallback,
199 this, 196 this,
200 element_instance_id, 197 params.element_instance_id,
201 render_process_id_, 198 render_process_id_,
202 render_frame_id, 199 render_frame_id,
203 src); 200 params.embedder_url,
201 params.element_size);
202
204 base::DictionaryValue create_params; 203 base::DictionaryValue create_params;
205 create_params.SetString(mime_handler_view::kMimeType, mime_type); 204 create_params.SetString(mime_handler_view::kMimeType, params.mime_type);
206 create_params.SetString(mime_handler_view::kSrc, src); 205 create_params.SetString(mime_handler_view::kSrc, params.embedder_url);
207 create_params.SetString(mime_handler_view::kContentUrl, content_url); 206 create_params.SetString(mime_handler_view::kContentUrl, params.content_url);
207 create_params.SetInteger(guestview::kElementWidth,
208 params.element_size.width());
209 create_params.SetInteger(guestview::kElementHeight,
210 params.element_size.height());
211
208 manager->CreateGuest(MimeHandlerViewGuest::Type, 212 manager->CreateGuest(MimeHandlerViewGuest::Type,
209 embedder_web_contents, 213 embedder_web_contents,
210 create_params, 214 create_params,
211 callback); 215 callback);
212 } 216 }
213 217
214 void ExtensionMessageFilter::OnExtensionRemoveLazyListener( 218 void ExtensionMessageFilter::OnExtensionRemoveLazyListener(
215 const std::string& extension_id, const std::string& event_name) { 219 const std::string& extension_id, const std::string& event_name) {
216 EventRouter* router = EventRouter::Get(browser_context_); 220 EventRouter* router = EventRouter::Get(browser_context_);
217 if (!router) 221 if (!router)
(...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after
289 weak_ptr_factory_.GetWeakPtr(), 293 weak_ptr_factory_.GetWeakPtr(),
290 routing_id, 294 routing_id,
291 params); 295 params);
292 } 296 }
293 297
294 void ExtensionMessageFilter::MimeHandlerViewGuestCreatedCallback( 298 void ExtensionMessageFilter::MimeHandlerViewGuestCreatedCallback(
295 int element_instance_id, 299 int element_instance_id,
296 int embedder_render_process_id, 300 int embedder_render_process_id,
297 int embedder_render_frame_id, 301 int embedder_render_frame_id,
298 const std::string& src, 302 const std::string& src,
303 const gfx::Size& element_size,
299 content::WebContents* web_contents) { 304 content::WebContents* web_contents) {
300 GuestViewManager* manager = 305 GuestViewManager* manager =
301 GuestViewManager::FromBrowserContext(browser_context_); 306 GuestViewManager::FromBrowserContext(browser_context_);
302 if (!manager) 307 if (!manager)
303 return; 308 return;
304 309
305 MimeHandlerViewGuest* guest_view = 310 MimeHandlerViewGuest* guest_view =
306 MimeHandlerViewGuest::FromWebContents(web_contents); 311 MimeHandlerViewGuest::FromWebContents(web_contents);
307 if (!guest_view) 312 if (!guest_view)
308 return; 313 return;
309 int guest_instance_id = guest_view->guest_instance_id(); 314 int guest_instance_id = guest_view->guest_instance_id();
310 315
311 content::RenderFrameHost* rfh = content::RenderFrameHost::FromID( 316 content::RenderFrameHost* rfh = content::RenderFrameHost::FromID(
312 embedder_render_process_id, embedder_render_frame_id); 317 embedder_render_process_id, embedder_render_frame_id);
313 if (!rfh) 318 if (!rfh)
314 return; 319 return;
315 320
316 base::DictionaryValue attach_params; 321 base::DictionaryValue attach_params;
317 attach_params.SetString(mime_handler_view::kSrc, src); 322 attach_params.SetString(mime_handler_view::kSrc, src);
323 attach_params.SetInteger(guestview::kElementWidth, element_size.width());
324 attach_params.SetInteger(guestview::kElementHeight, element_size.height());
318 manager->AttachGuest(embedder_render_process_id, 325 manager->AttachGuest(embedder_render_process_id,
319 rfh->GetRenderViewHost()->GetRoutingID(), 326 rfh->GetRenderViewHost()->GetRoutingID(),
320 element_instance_id, 327 element_instance_id,
321 guest_instance_id, 328 guest_instance_id,
322 attach_params); 329 attach_params);
323 330
324 rfh->Send( 331 rfh->Send(
325 new ExtensionMsg_CreateMimeHandlerViewGuestACK(element_instance_id)); 332 new ExtensionMsg_CreateMimeHandlerViewGuestACK(element_instance_id));
326 } 333 }
327 334
328 } // namespace extensions 335 } // namespace extensions
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698