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

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

Powered by Google App Engine
This is Rietveld 408576698