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

Side by Side Diff: chrome/browser/guest_view/guest_view_base.cc

Issue 444813002: Remove BrowserPlugin's -internal-attach method (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Move AttachToBrowserPlugin to RenderFrame 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
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 "chrome/browser/guest_view/guest_view_base.h" 5 #include "chrome/browser/guest_view/guest_view_base.h"
6 6
7 #include "base/lazy_instance.h" 7 #include "base/lazy_instance.h"
8 #include "base/strings/utf_string_conversions.h" 8 #include "base/strings/utf_string_conversions.h"
9 #include "chrome/browser/guest_view/guest_view_manager.h" 9 #include "chrome/browser/guest_view/guest_view_manager.h"
10 #include "content/public/browser/render_frame_host.h" 10 #include "content/public/browser/render_frame_host.h"
(...skipping 303 matching lines...) Expand 10 before | Expand all | Expand 10 after
314 } 314 }
315 315
316 void GuestViewBase::GuestSizeChanged(const gfx::Size& old_size, 316 void GuestViewBase::GuestSizeChanged(const gfx::Size& old_size,
317 const gfx::Size& new_size) { 317 const gfx::Size& new_size) {
318 if (!auto_size_enabled_) 318 if (!auto_size_enabled_)
319 return; 319 return;
320 guest_size_ = new_size; 320 guest_size_ = new_size;
321 GuestSizeChangedDueToAutoSize(old_size, new_size); 321 GuestSizeChangedDueToAutoSize(old_size, new_size);
322 } 322 }
323 323
324 void GuestViewBase::SetAttachParams(const base::DictionaryValue& params) {
325 attach_params_.reset(params.DeepCopy());
326 attach_params_->GetInteger(guestview::kParameterInstanceId,
327 &view_instance_id_);
328 }
329
324 void GuestViewBase::SetOpener(GuestViewBase* guest) { 330 void GuestViewBase::SetOpener(GuestViewBase* guest) {
325 if (guest && guest->IsViewType(GetViewType())) { 331 if (guest && guest->IsViewType(GetViewType())) {
326 opener_ = guest->AsWeakPtr(); 332 opener_ = guest->AsWeakPtr();
327 return; 333 return;
328 } 334 }
329 opener_ = base::WeakPtr<GuestViewBase>(); 335 opener_ = base::WeakPtr<GuestViewBase>();
330 } 336 }
331 337
332 void GuestViewBase::RegisterDestructionCallback( 338 void GuestViewBase::RegisterDestructionCallback(
333 const DestructionCallback& callback) { 339 const DestructionCallback& callback) {
334 destruction_callback_ = callback; 340 destruction_callback_ = callback;
335 } 341 }
336 342
337 void GuestViewBase::WillAttach(content::WebContents* embedder_web_contents, 343 void GuestViewBase::WillAttach(content::WebContents* embedder_web_contents) {
338 const base::DictionaryValue& extra_params) {
339 // After attachment, this GuestViewBase's lifetime is restricted to the 344 // After attachment, this GuestViewBase's lifetime is restricted to the
340 // lifetime of its embedder WebContents. Observing the RenderProcessHost 345 // lifetime of its embedder WebContents. Observing the RenderProcessHost
341 // of the embedder is no longer necessary. 346 // of the embedder is no longer necessary.
342 embedder_web_contents->GetRenderProcessHost()->RemoveObserver(this); 347 embedder_web_contents->GetRenderProcessHost()->RemoveObserver(this);
343 embedder_web_contents_ = embedder_web_contents; 348 embedder_web_contents_ = embedder_web_contents;
344 embedder_web_contents_observer_.reset( 349 embedder_web_contents_observer_.reset(
345 new EmbedderWebContentsObserver(this)); 350 new EmbedderWebContentsObserver(this));
346 extra_params.GetInteger(guestview::kParameterInstanceId, &view_instance_id_);
347 extra_params_.reset(extra_params.DeepCopy());
348 351
349 WillAttachToEmbedder(); 352 WillAttachToEmbedder();
350 } 353 }
351 354
352 void GuestViewBase::DidStopLoading(content::RenderViewHost* render_view_host) { 355 void GuestViewBase::DidStopLoading(content::RenderViewHost* render_view_host) {
353 if (!IsDragAndDropEnabled()) { 356 if (!IsDragAndDropEnabled()) {
354 const char script[] = "window.addEventListener('dragstart', function() { " 357 const char script[] = "window.addEventListener('dragstart', function() { "
355 " window.event.preventDefault(); " 358 " window.event.preventDefault(); "
356 "});"; 359 "});";
357 render_view_host->GetMainFrame()->ExecuteJavaScript( 360 render_view_host->GetMainFrame()->ExecuteJavaScript(
(...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after
441 InitWithWebContents(embedder_extension_id, 444 InitWithWebContents(embedder_extension_id,
442 embedder_render_process_id, 445 embedder_render_process_id,
443 guest_web_contents); 446 guest_web_contents);
444 callback.Run(guest_web_contents); 447 callback.Run(guest_web_contents);
445 } 448 }
446 449
447 // static 450 // static
448 void GuestViewBase::RegisterGuestViewTypes() { 451 void GuestViewBase::RegisterGuestViewTypes() {
449 extensions::ExtensionsAPIClient::Get()->RegisterGuestViewTypes(); 452 extensions::ExtensionsAPIClient::Get()->RegisterGuestViewTypes();
450 } 453 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698