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

Side by Side Diff: extensions/browser/guest_view/web_view/web_view_guest.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: Removed code from one non-essential function that was causing tests to fail. It will be re-added in… 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/guest_view/web_view/web_view_guest.h" 5 #include "extensions/browser/guest_view/web_view/web_view_guest.h"
6 6
7 #include "base/message_loop/message_loop.h" 7 #include "base/message_loop/message_loop.h"
8 #include "base/strings/stringprintf.h" 8 #include "base/strings/stringprintf.h"
9 #include "base/strings/utf_string_conversions.h" 9 #include "base/strings/utf_string_conversions.h"
10 #include "content/public/browser/browser_context.h" 10 #include "content/public/browser/browser_context.h"
(...skipping 297 matching lines...) Expand 10 before | Expand all | Expand 10 after
308 } 308 }
309 309
310 void WebViewGuest::AttachWebViewHelpers(WebContents* contents) { 310 void WebViewGuest::AttachWebViewHelpers(WebContents* contents) {
311 if (web_view_guest_delegate_) 311 if (web_view_guest_delegate_)
312 web_view_guest_delegate_->OnAttachWebViewHelpers(contents); 312 web_view_guest_delegate_->OnAttachWebViewHelpers(contents);
313 web_view_permission_helper_.reset(new WebViewPermissionHelper(this)); 313 web_view_permission_helper_.reset(new WebViewPermissionHelper(this));
314 } 314 }
315 315
316 void WebViewGuest::DidStopLoading() { 316 void WebViewGuest::DidStopLoading() {
317 scoped_ptr<base::DictionaryValue> args(new base::DictionaryValue()); 317 scoped_ptr<base::DictionaryValue> args(new base::DictionaryValue());
318 DispatchEventToEmbedder( 318 DispatchEventToView(
319 new GuestViewBase::Event(webview::kEventLoadStop, args.Pass())); 319 new GuestViewBase::Event(webview::kEventLoadStop, args.Pass()));
320 } 320 }
321 321
322 void WebViewGuest::EmbedderWillBeDestroyed() { 322 void WebViewGuest::EmbedderWillBeDestroyed() {
323 // Clean up rules registries for the webview. 323 // Clean up rules registries for the webview.
324 RulesRegistryService::Get(browser_context()) 324 RulesRegistryService::Get(browser_context())
325 ->RemoveRulesRegistriesByID(rules_registry_id_); 325 ->RemoveRulesRegistriesByID(rules_registry_id_);
326 WebViewKey key(owner_web_contents()->GetRenderProcessHost()->GetID(), 326 WebViewKey key(owner_web_contents()->GetRenderProcessHost()->GetID(),
327 view_instance_id()); 327 view_instance_id());
328 web_view_key_to_id_map.Get().erase(key); 328 web_view_key_to_id_map.Get().erase(key);
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
365 } 365 }
366 } 366 }
367 367
368 void WebViewGuest::GuestSizeChangedDueToAutoSize(const gfx::Size& old_size, 368 void WebViewGuest::GuestSizeChangedDueToAutoSize(const gfx::Size& old_size,
369 const gfx::Size& new_size) { 369 const gfx::Size& new_size) {
370 scoped_ptr<base::DictionaryValue> args(new base::DictionaryValue()); 370 scoped_ptr<base::DictionaryValue> args(new base::DictionaryValue());
371 args->SetInteger(webview::kOldHeight, old_size.height()); 371 args->SetInteger(webview::kOldHeight, old_size.height());
372 args->SetInteger(webview::kOldWidth, old_size.width()); 372 args->SetInteger(webview::kOldWidth, old_size.width());
373 args->SetInteger(webview::kNewHeight, new_size.height()); 373 args->SetInteger(webview::kNewHeight, new_size.height());
374 args->SetInteger(webview::kNewWidth, new_size.width()); 374 args->SetInteger(webview::kNewWidth, new_size.width());
375 DispatchEventToEmbedder( 375 DispatchEventToView(
376 new GuestViewBase::Event(webview::kEventSizeChanged, args.Pass())); 376 new GuestViewBase::Event(webview::kEventSizeChanged, args.Pass()));
377 } 377 }
378 378
379 bool WebViewGuest::IsAutoSizeSupported() const { 379 bool WebViewGuest::IsAutoSizeSupported() const {
380 return true; 380 return true;
381 } 381 }
382 382
383 bool WebViewGuest::IsDragAndDropEnabled() const { 383 bool WebViewGuest::IsDragAndDropEnabled() const {
384 return true; 384 return true;
385 } 385 }
386 386
387 void WebViewGuest::WillDestroy() { 387 void WebViewGuest::WillDestroy() {
388 if (!attached() && GetOpener()) 388 if (!attached() && GetOpener())
389 GetOpener()->pending_new_windows_.erase(this); 389 GetOpener()->pending_new_windows_.erase(this);
390 } 390 }
391 391
392 bool WebViewGuest::AddMessageToConsole(WebContents* source, 392 bool WebViewGuest::AddMessageToConsole(WebContents* source,
393 int32 level, 393 int32 level,
394 const base::string16& message, 394 const base::string16& message,
395 int32 line_no, 395 int32 line_no,
396 const base::string16& source_id) { 396 const base::string16& source_id) {
397 scoped_ptr<base::DictionaryValue> args(new base::DictionaryValue()); 397 scoped_ptr<base::DictionaryValue> args(new base::DictionaryValue());
398 // Log levels are from base/logging.h: LogSeverity. 398 // Log levels are from base/logging.h: LogSeverity.
399 args->SetInteger(webview::kLevel, level); 399 args->SetInteger(webview::kLevel, level);
400 args->SetString(webview::kMessage, message); 400 args->SetString(webview::kMessage, message);
401 args->SetInteger(webview::kLine, line_no); 401 args->SetInteger(webview::kLine, line_no);
402 args->SetString(webview::kSourceId, source_id); 402 args->SetString(webview::kSourceId, source_id);
403 DispatchEventToEmbedder( 403 DispatchEventToView(
404 new GuestViewBase::Event(webview::kEventConsoleMessage, args.Pass())); 404 new GuestViewBase::Event(webview::kEventConsoleMessage, args.Pass()));
405 return true; 405 return true;
406 } 406 }
407 407
408 void WebViewGuest::CloseContents(WebContents* source) { 408 void WebViewGuest::CloseContents(WebContents* source) {
409 scoped_ptr<base::DictionaryValue> args(new base::DictionaryValue()); 409 scoped_ptr<base::DictionaryValue> args(new base::DictionaryValue());
410 DispatchEventToEmbedder( 410 DispatchEventToView(
411 new GuestViewBase::Event(webview::kEventClose, args.Pass())); 411 new GuestViewBase::Event(webview::kEventClose, args.Pass()));
412 } 412 }
413 413
414 void WebViewGuest::FindReply(WebContents* source, 414 void WebViewGuest::FindReply(WebContents* source,
415 int request_id, 415 int request_id,
416 int number_of_matches, 416 int number_of_matches,
417 const gfx::Rect& selection_rect, 417 const gfx::Rect& selection_rect,
418 int active_match_ordinal, 418 int active_match_ordinal,
419 bool final_update) { 419 bool final_update) {
420 find_helper_.FindReply(request_id, 420 find_helper_.FindReply(request_id,
(...skipping 27 matching lines...) Expand all
448 // See http://crbug.com/229882. 448 // See http://crbug.com/229882.
449 embedder_web_contents()->GetDelegate()->HandleKeyboardEvent( 449 embedder_web_contents()->GetDelegate()->HandleKeyboardEvent(
450 web_contents(), event); 450 web_contents(), event);
451 } 451 }
452 452
453 void WebViewGuest::LoadProgressChanged(content::WebContents* source, 453 void WebViewGuest::LoadProgressChanged(content::WebContents* source,
454 double progress) { 454 double progress) {
455 scoped_ptr<base::DictionaryValue> args(new base::DictionaryValue()); 455 scoped_ptr<base::DictionaryValue> args(new base::DictionaryValue());
456 args->SetString(guestview::kUrl, web_contents()->GetURL().spec()); 456 args->SetString(guestview::kUrl, web_contents()->GetURL().spec());
457 args->SetDouble(webview::kProgress, progress); 457 args->SetDouble(webview::kProgress, progress);
458 DispatchEventToEmbedder( 458 DispatchEventToView(
459 new GuestViewBase::Event(webview::kEventLoadProgress, args.Pass())); 459 new GuestViewBase::Event(webview::kEventLoadProgress, args.Pass()));
460 } 460 }
461 461
462 void WebViewGuest::LoadAbort(bool is_top_level, 462 void WebViewGuest::LoadAbort(bool is_top_level,
463 const GURL& url, 463 const GURL& url,
464 const std::string& error_type) { 464 const std::string& error_type) {
465 scoped_ptr<base::DictionaryValue> args(new base::DictionaryValue()); 465 scoped_ptr<base::DictionaryValue> args(new base::DictionaryValue());
466 args->SetBoolean(guestview::kIsTopLevel, is_top_level); 466 args->SetBoolean(guestview::kIsTopLevel, is_top_level);
467 args->SetString(guestview::kUrl, url.possibly_invalid_spec()); 467 args->SetString(guestview::kUrl, url.possibly_invalid_spec());
468 args->SetString(guestview::kReason, error_type); 468 args->SetString(guestview::kReason, error_type);
469 DispatchEventToEmbedder( 469 DispatchEventToView(
470 new GuestViewBase::Event(webview::kEventLoadAbort, args.Pass())); 470 new GuestViewBase::Event(webview::kEventLoadAbort, args.Pass()));
471 } 471 }
472 472
473 void WebViewGuest::OnFrameNameChanged(bool is_top_level, 473 void WebViewGuest::OnFrameNameChanged(bool is_top_level,
474 const std::string& name) { 474 const std::string& name) {
475 if (!is_top_level) 475 if (!is_top_level)
476 return; 476 return;
477 477
478 if (name_ == name) 478 if (name_ == name)
479 return; 479 return;
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
522 params.user_gesture, 522 params.user_gesture,
523 new_guest->web_contents()); 523 new_guest->web_contents());
524 } 524 }
525 525
526 // TODO(fsamuel): Find a reliable way to test the 'responsive' and 526 // TODO(fsamuel): Find a reliable way to test the 'responsive' and
527 // 'unresponsive' events. 527 // 'unresponsive' events.
528 void WebViewGuest::RendererResponsive(content::WebContents* source) { 528 void WebViewGuest::RendererResponsive(content::WebContents* source) {
529 scoped_ptr<base::DictionaryValue> args(new base::DictionaryValue()); 529 scoped_ptr<base::DictionaryValue> args(new base::DictionaryValue());
530 args->SetInteger(webview::kProcessId, 530 args->SetInteger(webview::kProcessId,
531 web_contents()->GetRenderProcessHost()->GetID()); 531 web_contents()->GetRenderProcessHost()->GetID());
532 DispatchEventToEmbedder( 532 DispatchEventToView(
533 new GuestViewBase::Event(webview::kEventResponsive, args.Pass())); 533 new GuestViewBase::Event(webview::kEventResponsive, args.Pass()));
534 } 534 }
535 535
536 void WebViewGuest::RendererUnresponsive(content::WebContents* source) { 536 void WebViewGuest::RendererUnresponsive(content::WebContents* source) {
537 scoped_ptr<base::DictionaryValue> args(new base::DictionaryValue()); 537 scoped_ptr<base::DictionaryValue> args(new base::DictionaryValue());
538 args->SetInteger(webview::kProcessId, 538 args->SetInteger(webview::kProcessId,
539 web_contents()->GetRenderProcessHost()->GetID()); 539 web_contents()->GetRenderProcessHost()->GetID());
540 DispatchEventToEmbedder( 540 DispatchEventToView(
541 new GuestViewBase::Event(webview::kEventUnresponsive, args.Pass())); 541 new GuestViewBase::Event(webview::kEventUnresponsive, args.Pass()));
542 } 542 }
543 543
544 void WebViewGuest::Observe(int type, 544 void WebViewGuest::Observe(int type,
545 const content::NotificationSource& source, 545 const content::NotificationSource& source,
546 const content::NotificationDetails& details) { 546 const content::NotificationDetails& details) {
547 switch (type) { 547 switch (type) {
548 case content::NOTIFICATION_LOAD_COMPLETED_MAIN_FRAME: { 548 case content::NOTIFICATION_LOAD_COMPLETED_MAIN_FRAME: {
549 DCHECK_EQ(content::Source<WebContents>(source).ptr(), web_contents()); 549 DCHECK_EQ(content::Source<WebContents>(source).ptr(), web_contents());
550 if (content::Source<WebContents>(source).ptr() == web_contents()) 550 if (content::Source<WebContents>(source).ptr() == web_contents())
(...skipping 121 matching lines...) Expand 10 before | Expand all | Expand 10 after
672 ->GetController() 672 ->GetController()
673 .GetLastCommittedEntry() 673 .GetLastCommittedEntry()
674 ->GetBaseURLForDataURL() 674 ->GetBaseURLForDataURL()
675 .spec()); 675 .spec());
676 args->SetInteger(webview::kInternalCurrentEntryIndex, 676 args->SetInteger(webview::kInternalCurrentEntryIndex,
677 web_contents()->GetController().GetCurrentEntryIndex()); 677 web_contents()->GetController().GetCurrentEntryIndex());
678 args->SetInteger(webview::kInternalEntryCount, 678 args->SetInteger(webview::kInternalEntryCount,
679 web_contents()->GetController().GetEntryCount()); 679 web_contents()->GetController().GetEntryCount());
680 args->SetInteger(webview::kInternalProcessId, 680 args->SetInteger(webview::kInternalProcessId,
681 web_contents()->GetRenderProcessHost()->GetID()); 681 web_contents()->GetRenderProcessHost()->GetID());
682 DispatchEventToEmbedder( 682 DispatchEventToView(
683 new GuestViewBase::Event(webview::kEventLoadCommit, args.Pass())); 683 new GuestViewBase::Event(webview::kEventLoadCommit, args.Pass()));
684 684
685 find_helper_.CancelAllFindSessions(); 685 find_helper_.CancelAllFindSessions();
686 686
687 // Update the current zoom factor for the new page. 687 // Update the current zoom factor for the new page.
688 ui_zoom::ZoomController* zoom_controller = 688 ui_zoom::ZoomController* zoom_controller =
689 ui_zoom::ZoomController::FromWebContents(web_contents()); 689 ui_zoom::ZoomController::FromWebContents(web_contents());
690 DCHECK(zoom_controller); 690 DCHECK(zoom_controller);
691 current_zoom_factor_ = 691 current_zoom_factor_ =
692 content::ZoomLevelToZoomFactor(zoom_controller->GetZoomLevel()); 692 content::ZoomLevelToZoomFactor(zoom_controller->GetZoomLevel());
(...skipping 14 matching lines...) Expand all
707 } 707 }
708 708
709 void WebViewGuest::DidStartProvisionalLoadForFrame( 709 void WebViewGuest::DidStartProvisionalLoadForFrame(
710 content::RenderFrameHost* render_frame_host, 710 content::RenderFrameHost* render_frame_host,
711 const GURL& validated_url, 711 const GURL& validated_url,
712 bool is_error_page, 712 bool is_error_page,
713 bool is_iframe_srcdoc) { 713 bool is_iframe_srcdoc) {
714 scoped_ptr<base::DictionaryValue> args(new base::DictionaryValue()); 714 scoped_ptr<base::DictionaryValue> args(new base::DictionaryValue());
715 args->SetString(guestview::kUrl, validated_url.spec()); 715 args->SetString(guestview::kUrl, validated_url.spec());
716 args->SetBoolean(guestview::kIsTopLevel, !render_frame_host->GetParent()); 716 args->SetBoolean(guestview::kIsTopLevel, !render_frame_host->GetParent());
717 DispatchEventToEmbedder( 717 DispatchEventToView(
718 new GuestViewBase::Event(webview::kEventLoadStart, args.Pass())); 718 new GuestViewBase::Event(webview::kEventLoadStart, args.Pass()));
719 } 719 }
720 720
721 void WebViewGuest::DocumentLoadedInFrame( 721 void WebViewGuest::DocumentLoadedInFrame(
722 content::RenderFrameHost* render_frame_host) { 722 content::RenderFrameHost* render_frame_host) {
723 if (web_view_guest_delegate_) 723 if (web_view_guest_delegate_)
724 web_view_guest_delegate_->OnDocumentLoadedInFrame(render_frame_host); 724 web_view_guest_delegate_->OnDocumentLoadedInFrame(render_frame_host);
725 } 725 }
726 726
727 bool WebViewGuest::OnMessageReceived(const IPC::Message& message, 727 bool WebViewGuest::OnMessageReceived(const IPC::Message& message,
728 RenderFrameHost* render_frame_host) { 728 RenderFrameHost* render_frame_host) {
729 bool handled = true; 729 bool handled = true;
730 IPC_BEGIN_MESSAGE_MAP(WebViewGuest, message) 730 IPC_BEGIN_MESSAGE_MAP(WebViewGuest, message)
731 IPC_MESSAGE_HANDLER(ExtensionHostMsg_FrameNameChanged, OnFrameNameChanged) 731 IPC_MESSAGE_HANDLER(ExtensionHostMsg_FrameNameChanged, OnFrameNameChanged)
732 IPC_MESSAGE_UNHANDLED(handled = false) 732 IPC_MESSAGE_UNHANDLED(handled = false)
733 IPC_END_MESSAGE_MAP() 733 IPC_END_MESSAGE_MAP()
734 return handled; 734 return handled;
735 } 735 }
736 736
737 void WebViewGuest::RenderProcessGone(base::TerminationStatus status) { 737 void WebViewGuest::RenderProcessGone(base::TerminationStatus status) {
738 // Cancel all find sessions in progress. 738 // Cancel all find sessions in progress.
739 find_helper_.CancelAllFindSessions(); 739 find_helper_.CancelAllFindSessions();
740 740
741 scoped_ptr<base::DictionaryValue> args(new base::DictionaryValue()); 741 scoped_ptr<base::DictionaryValue> args(new base::DictionaryValue());
742 args->SetInteger(webview::kProcessId, 742 args->SetInteger(webview::kProcessId,
743 web_contents()->GetRenderProcessHost()->GetID()); 743 web_contents()->GetRenderProcessHost()->GetID());
744 args->SetString(webview::kReason, TerminationStatusToString(status)); 744 args->SetString(webview::kReason, TerminationStatusToString(status));
745 DispatchEventToEmbedder( 745 DispatchEventToView(
746 new GuestViewBase::Event(webview::kEventExit, args.Pass())); 746 new GuestViewBase::Event(webview::kEventExit, args.Pass()));
747 } 747 }
748 748
749 void WebViewGuest::UserAgentOverrideSet(const std::string& user_agent) { 749 void WebViewGuest::UserAgentOverrideSet(const std::string& user_agent) {
750 content::NavigationController& controller = web_contents()->GetController(); 750 content::NavigationController& controller = web_contents()->GetController();
751 content::NavigationEntry* entry = controller.GetVisibleEntry(); 751 content::NavigationEntry* entry = controller.GetVisibleEntry();
752 if (!entry) 752 if (!entry)
753 return; 753 return;
754 entry->SetIsOverridingUserAgent(!user_agent.empty()); 754 entry->SetIsOverridingUserAgent(!user_agent.empty());
755 web_contents()->GetController().Reload(false); 755 web_contents()->GetController().Reload(false);
756 } 756 }
757 757
758 void WebViewGuest::ReportFrameNameChange(const std::string& name) { 758 void WebViewGuest::ReportFrameNameChange(const std::string& name) {
759 name_ = name; 759 name_ = name;
760 scoped_ptr<base::DictionaryValue> args(new base::DictionaryValue()); 760 scoped_ptr<base::DictionaryValue> args(new base::DictionaryValue());
761 args->SetString(webview::kName, name); 761 args->SetString(webview::kName, name);
762 DispatchEventToEmbedder( 762 DispatchEventToView(
763 new GuestViewBase::Event(webview::kEventFrameNameChanged, args.Pass())); 763 new GuestViewBase::Event(webview::kEventFrameNameChanged, args.Pass()));
764 } 764 }
765 765
766 void WebViewGuest::LoadHandlerCalled() { 766 void WebViewGuest::LoadHandlerCalled() {
767 scoped_ptr<base::DictionaryValue> args(new base::DictionaryValue()); 767 scoped_ptr<base::DictionaryValue> args(new base::DictionaryValue());
768 DispatchEventToEmbedder( 768 DispatchEventToView(
769 new GuestViewBase::Event(webview::kEventContentLoad, args.Pass())); 769 new GuestViewBase::Event(webview::kEventContentLoad, args.Pass()));
770 } 770 }
771 771
772 void WebViewGuest::LoadRedirect(const GURL& old_url, 772 void WebViewGuest::LoadRedirect(const GURL& old_url,
773 const GURL& new_url, 773 const GURL& new_url,
774 bool is_top_level) { 774 bool is_top_level) {
775 scoped_ptr<base::DictionaryValue> args(new base::DictionaryValue()); 775 scoped_ptr<base::DictionaryValue> args(new base::DictionaryValue());
776 args->SetBoolean(guestview::kIsTopLevel, is_top_level); 776 args->SetBoolean(guestview::kIsTopLevel, is_top_level);
777 args->SetString(webview::kNewURL, new_url.spec()); 777 args->SetString(webview::kNewURL, new_url.spec());
778 args->SetString(webview::kOldURL, old_url.spec()); 778 args->SetString(webview::kOldURL, old_url.spec());
779 DispatchEventToEmbedder( 779 DispatchEventToView(
780 new GuestViewBase::Event(webview::kEventLoadRedirect, args.Pass())); 780 new GuestViewBase::Event(webview::kEventLoadRedirect, args.Pass()));
781 } 781 }
782 782
783 void WebViewGuest::PushWebViewStateToIOThread() { 783 void WebViewGuest::PushWebViewStateToIOThread() {
784 const GURL& site_url = web_contents()->GetSiteInstance()->GetSiteURL(); 784 const GURL& site_url = web_contents()->GetSiteInstance()->GetSiteURL();
785 std::string partition_domain; 785 std::string partition_domain;
786 std::string partition_id; 786 std::string partition_id;
787 bool in_memory; 787 bool in_memory;
788 if (!GetGuestPartitionConfigForSite( 788 if (!GetGuestPartitionConfigForSite(
789 site_url, &partition_domain, &partition_id, &in_memory)) { 789 site_url, &partition_domain, &partition_id, &in_memory)) {
(...skipping 240 matching lines...) Expand 10 before | Expand all | Expand 10 after
1030 void WebViewGuest::SetZoom(double zoom_factor) { 1030 void WebViewGuest::SetZoom(double zoom_factor) {
1031 auto zoom_controller = 1031 auto zoom_controller =
1032 ui_zoom::ZoomController::FromWebContents(web_contents()); 1032 ui_zoom::ZoomController::FromWebContents(web_contents());
1033 DCHECK(zoom_controller); 1033 DCHECK(zoom_controller);
1034 double zoom_level = content::ZoomFactorToZoomLevel(zoom_factor); 1034 double zoom_level = content::ZoomFactorToZoomLevel(zoom_factor);
1035 zoom_controller->SetZoomLevel(zoom_level); 1035 zoom_controller->SetZoomLevel(zoom_level);
1036 1036
1037 scoped_ptr<base::DictionaryValue> args(new base::DictionaryValue()); 1037 scoped_ptr<base::DictionaryValue> args(new base::DictionaryValue());
1038 args->SetDouble(webview::kOldZoomFactor, current_zoom_factor_); 1038 args->SetDouble(webview::kOldZoomFactor, current_zoom_factor_);
1039 args->SetDouble(webview::kNewZoomFactor, zoom_factor); 1039 args->SetDouble(webview::kNewZoomFactor, zoom_factor);
1040 DispatchEventToEmbedder( 1040 DispatchEventToView(
1041 new GuestViewBase::Event(webview::kEventZoomChange, args.Pass())); 1041 new GuestViewBase::Event(webview::kEventZoomChange, args.Pass()));
1042 current_zoom_factor_ = zoom_factor; 1042 current_zoom_factor_ = zoom_factor;
1043 } 1043 }
1044 1044
1045 void WebViewGuest::SetAllowTransparency(bool allow) { 1045 void WebViewGuest::SetAllowTransparency(bool allow) {
1046 if (guest_opaque_ != allow) 1046 if (guest_opaque_ != allow)
1047 return; 1047 return;
1048 1048
1049 guest_opaque_ = !allow; 1049 guest_opaque_ = !allow;
1050 if (!web_contents()->GetRenderViewHost()->GetView()) 1050 if (!web_contents()->GetRenderViewHost()->GetView())
(...skipping 185 matching lines...) Expand 10 before | Expand all | Expand 10 after
1236 WebViewGuest::From(owner_web_contents()->GetRenderProcessHost()->GetID(), 1236 WebViewGuest::From(owner_web_contents()->GetRenderProcessHost()->GetID(),
1237 new_window_instance_id); 1237 new_window_instance_id);
1238 if (!guest) 1238 if (!guest)
1239 return; 1239 return;
1240 1240
1241 if (!allow) 1241 if (!allow)
1242 guest->Destroy(); 1242 guest->Destroy();
1243 } 1243 }
1244 1244
1245 } // namespace extensions 1245 } // namespace extensions
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698