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

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: Addressed comments. 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 302 matching lines...) Expand 10 before | Expand all | Expand 10 after
313 } 313 }
314 314
315 void WebViewGuest::AttachWebViewHelpers(WebContents* contents) { 315 void WebViewGuest::AttachWebViewHelpers(WebContents* contents) {
316 if (web_view_guest_delegate_) 316 if (web_view_guest_delegate_)
317 web_view_guest_delegate_->OnAttachWebViewHelpers(contents); 317 web_view_guest_delegate_->OnAttachWebViewHelpers(contents);
318 web_view_permission_helper_.reset(new WebViewPermissionHelper(this)); 318 web_view_permission_helper_.reset(new WebViewPermissionHelper(this));
319 } 319 }
320 320
321 void WebViewGuest::DidStopLoading() { 321 void WebViewGuest::DidStopLoading() {
322 scoped_ptr<base::DictionaryValue> args(new base::DictionaryValue()); 322 scoped_ptr<base::DictionaryValue> args(new base::DictionaryValue());
323 DispatchEventToEmbedder( 323 DispatchEventToView(
324 new GuestViewBase::Event(webview::kEventLoadStop, args.Pass())); 324 new GuestViewBase::Event(webview::kEventLoadStop, args.Pass()));
325 } 325 }
326 326
327 void WebViewGuest::EmbedderWillBeDestroyed() { 327 void WebViewGuest::EmbedderWillBeDestroyed() {
328 // Clean up rules registries for the webview. 328 // Clean up rules registries for the webview.
329 RulesRegistryService::Get(browser_context()) 329 RulesRegistryService::Get(browser_context())
330 ->RemoveRulesRegistriesByID(rules_registry_id_); 330 ->RemoveRulesRegistriesByID(rules_registry_id_);
331 WebViewKey key(owner_web_contents()->GetRenderProcessHost()->GetID(), 331 WebViewKey key(owner_web_contents()->GetRenderProcessHost()->GetID(),
332 view_instance_id()); 332 view_instance_id());
333 web_view_key_to_id_map.Get().erase(key); 333 web_view_key_to_id_map.Get().erase(key);
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
370 } 370 }
371 } 371 }
372 372
373 void WebViewGuest::GuestSizeChangedDueToAutoSize(const gfx::Size& old_size, 373 void WebViewGuest::GuestSizeChangedDueToAutoSize(const gfx::Size& old_size,
374 const gfx::Size& new_size) { 374 const gfx::Size& new_size) {
375 scoped_ptr<base::DictionaryValue> args(new base::DictionaryValue()); 375 scoped_ptr<base::DictionaryValue> args(new base::DictionaryValue());
376 args->SetInteger(webview::kOldHeight, old_size.height()); 376 args->SetInteger(webview::kOldHeight, old_size.height());
377 args->SetInteger(webview::kOldWidth, old_size.width()); 377 args->SetInteger(webview::kOldWidth, old_size.width());
378 args->SetInteger(webview::kNewHeight, new_size.height()); 378 args->SetInteger(webview::kNewHeight, new_size.height());
379 args->SetInteger(webview::kNewWidth, new_size.width()); 379 args->SetInteger(webview::kNewWidth, new_size.width());
380 DispatchEventToEmbedder( 380 DispatchEventToView(
381 new GuestViewBase::Event(webview::kEventSizeChanged, args.Pass())); 381 new GuestViewBase::Event(webview::kEventSizeChanged, args.Pass()));
382 } 382 }
383 383
384 bool WebViewGuest::IsAutoSizeSupported() const { 384 bool WebViewGuest::IsAutoSizeSupported() const {
385 return true; 385 return true;
386 } 386 }
387 387
388 bool WebViewGuest::IsDragAndDropEnabled() const { 388 bool WebViewGuest::IsDragAndDropEnabled() const {
389 return true; 389 return true;
390 } 390 }
391 391
392 void WebViewGuest::WillDestroy() { 392 void WebViewGuest::WillDestroy() {
393 if (!attached() && GetOpener()) 393 if (!attached() && GetOpener())
394 GetOpener()->pending_new_windows_.erase(this); 394 GetOpener()->pending_new_windows_.erase(this);
395 } 395 }
396 396
397 bool WebViewGuest::AddMessageToConsole(WebContents* source, 397 bool WebViewGuest::AddMessageToConsole(WebContents* source,
398 int32 level, 398 int32 level,
399 const base::string16& message, 399 const base::string16& message,
400 int32 line_no, 400 int32 line_no,
401 const base::string16& source_id) { 401 const base::string16& source_id) {
402 scoped_ptr<base::DictionaryValue> args(new base::DictionaryValue()); 402 scoped_ptr<base::DictionaryValue> args(new base::DictionaryValue());
403 // Log levels are from base/logging.h: LogSeverity. 403 // Log levels are from base/logging.h: LogSeverity.
404 args->SetInteger(webview::kLevel, level); 404 args->SetInteger(webview::kLevel, level);
405 args->SetString(webview::kMessage, message); 405 args->SetString(webview::kMessage, message);
406 args->SetInteger(webview::kLine, line_no); 406 args->SetInteger(webview::kLine, line_no);
407 args->SetString(webview::kSourceId, source_id); 407 args->SetString(webview::kSourceId, source_id);
408 DispatchEventToEmbedder( 408 DispatchEventToView(
409 new GuestViewBase::Event(webview::kEventConsoleMessage, args.Pass())); 409 new GuestViewBase::Event(webview::kEventConsoleMessage, args.Pass()));
410 return true; 410 return true;
411 } 411 }
412 412
413 void WebViewGuest::CloseContents(WebContents* source) { 413 void WebViewGuest::CloseContents(WebContents* source) {
414 scoped_ptr<base::DictionaryValue> args(new base::DictionaryValue()); 414 scoped_ptr<base::DictionaryValue> args(new base::DictionaryValue());
415 DispatchEventToEmbedder( 415 DispatchEventToView(
416 new GuestViewBase::Event(webview::kEventClose, args.Pass())); 416 new GuestViewBase::Event(webview::kEventClose, args.Pass()));
417 } 417 }
418 418
419 void WebViewGuest::FindReply(WebContents* source, 419 void WebViewGuest::FindReply(WebContents* source,
420 int request_id, 420 int request_id,
421 int number_of_matches, 421 int number_of_matches,
422 const gfx::Rect& selection_rect, 422 const gfx::Rect& selection_rect,
423 int active_match_ordinal, 423 int active_match_ordinal,
424 bool final_update) { 424 bool final_update) {
425 find_helper_.FindReply(request_id, 425 find_helper_.FindReply(request_id,
(...skipping 27 matching lines...) Expand all
453 // See http://crbug.com/229882. 453 // See http://crbug.com/229882.
454 embedder_web_contents()->GetDelegate()->HandleKeyboardEvent( 454 embedder_web_contents()->GetDelegate()->HandleKeyboardEvent(
455 web_contents(), event); 455 web_contents(), event);
456 } 456 }
457 457
458 void WebViewGuest::LoadProgressChanged(content::WebContents* source, 458 void WebViewGuest::LoadProgressChanged(content::WebContents* source,
459 double progress) { 459 double progress) {
460 scoped_ptr<base::DictionaryValue> args(new base::DictionaryValue()); 460 scoped_ptr<base::DictionaryValue> args(new base::DictionaryValue());
461 args->SetString(guestview::kUrl, web_contents()->GetURL().spec()); 461 args->SetString(guestview::kUrl, web_contents()->GetURL().spec());
462 args->SetDouble(webview::kProgress, progress); 462 args->SetDouble(webview::kProgress, progress);
463 DispatchEventToEmbedder( 463 DispatchEventToView(
464 new GuestViewBase::Event(webview::kEventLoadProgress, args.Pass())); 464 new GuestViewBase::Event(webview::kEventLoadProgress, args.Pass()));
465 } 465 }
466 466
467 void WebViewGuest::LoadAbort(bool is_top_level, 467 void WebViewGuest::LoadAbort(bool is_top_level,
468 const GURL& url, 468 const GURL& url,
469 const std::string& error_type) { 469 const std::string& error_type) {
470 scoped_ptr<base::DictionaryValue> args(new base::DictionaryValue()); 470 scoped_ptr<base::DictionaryValue> args(new base::DictionaryValue());
471 args->SetBoolean(guestview::kIsTopLevel, is_top_level); 471 args->SetBoolean(guestview::kIsTopLevel, is_top_level);
472 args->SetString(guestview::kUrl, url.possibly_invalid_spec()); 472 args->SetString(guestview::kUrl, url.possibly_invalid_spec());
473 args->SetString(guestview::kReason, error_type); 473 args->SetString(guestview::kReason, error_type);
474 DispatchEventToEmbedder( 474 DispatchEventToView(
475 new GuestViewBase::Event(webview::kEventLoadAbort, args.Pass())); 475 new GuestViewBase::Event(webview::kEventLoadAbort, args.Pass()));
476 } 476 }
477 477
478 void WebViewGuest::OnFrameNameChanged(bool is_top_level, 478 void WebViewGuest::OnFrameNameChanged(bool is_top_level,
479 const std::string& name) { 479 const std::string& name) {
480 if (!is_top_level) 480 if (!is_top_level)
481 return; 481 return;
482 482
483 if (name_ == name) 483 if (name_ == name)
484 return; 484 return;
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
527 params.user_gesture, 527 params.user_gesture,
528 new_guest->web_contents()); 528 new_guest->web_contents());
529 } 529 }
530 530
531 // TODO(fsamuel): Find a reliable way to test the 'responsive' and 531 // TODO(fsamuel): Find a reliable way to test the 'responsive' and
532 // 'unresponsive' events. 532 // 'unresponsive' events.
533 void WebViewGuest::RendererResponsive(content::WebContents* source) { 533 void WebViewGuest::RendererResponsive(content::WebContents* source) {
534 scoped_ptr<base::DictionaryValue> args(new base::DictionaryValue()); 534 scoped_ptr<base::DictionaryValue> args(new base::DictionaryValue());
535 args->SetInteger(webview::kProcessId, 535 args->SetInteger(webview::kProcessId,
536 web_contents()->GetRenderProcessHost()->GetID()); 536 web_contents()->GetRenderProcessHost()->GetID());
537 DispatchEventToEmbedder( 537 DispatchEventToView(
538 new GuestViewBase::Event(webview::kEventResponsive, args.Pass())); 538 new GuestViewBase::Event(webview::kEventResponsive, args.Pass()));
539 } 539 }
540 540
541 void WebViewGuest::RendererUnresponsive(content::WebContents* source) { 541 void WebViewGuest::RendererUnresponsive(content::WebContents* source) {
542 scoped_ptr<base::DictionaryValue> args(new base::DictionaryValue()); 542 scoped_ptr<base::DictionaryValue> args(new base::DictionaryValue());
543 args->SetInteger(webview::kProcessId, 543 args->SetInteger(webview::kProcessId,
544 web_contents()->GetRenderProcessHost()->GetID()); 544 web_contents()->GetRenderProcessHost()->GetID());
545 DispatchEventToEmbedder( 545 DispatchEventToView(
546 new GuestViewBase::Event(webview::kEventUnresponsive, args.Pass())); 546 new GuestViewBase::Event(webview::kEventUnresponsive, args.Pass()));
547 } 547 }
548 548
549 void WebViewGuest::Observe(int type, 549 void WebViewGuest::Observe(int type,
550 const content::NotificationSource& source, 550 const content::NotificationSource& source,
551 const content::NotificationDetails& details) { 551 const content::NotificationDetails& details) {
552 switch (type) { 552 switch (type) {
553 case content::NOTIFICATION_LOAD_COMPLETED_MAIN_FRAME: { 553 case content::NOTIFICATION_LOAD_COMPLETED_MAIN_FRAME: {
554 DCHECK_EQ(content::Source<WebContents>(source).ptr(), web_contents()); 554 DCHECK_EQ(content::Source<WebContents>(source).ptr(), web_contents());
555 if (content::Source<WebContents>(source).ptr() == web_contents()) 555 if (content::Source<WebContents>(source).ptr() == web_contents())
(...skipping 124 matching lines...) Expand 10 before | Expand all | Expand 10 after
680 ->GetController() 680 ->GetController()
681 .GetLastCommittedEntry() 681 .GetLastCommittedEntry()
682 ->GetBaseURLForDataURL() 682 ->GetBaseURLForDataURL()
683 .spec()); 683 .spec());
684 args->SetInteger(webview::kInternalCurrentEntryIndex, 684 args->SetInteger(webview::kInternalCurrentEntryIndex,
685 web_contents()->GetController().GetCurrentEntryIndex()); 685 web_contents()->GetController().GetCurrentEntryIndex());
686 args->SetInteger(webview::kInternalEntryCount, 686 args->SetInteger(webview::kInternalEntryCount,
687 web_contents()->GetController().GetEntryCount()); 687 web_contents()->GetController().GetEntryCount());
688 args->SetInteger(webview::kInternalProcessId, 688 args->SetInteger(webview::kInternalProcessId,
689 web_contents()->GetRenderProcessHost()->GetID()); 689 web_contents()->GetRenderProcessHost()->GetID());
690 DispatchEventToEmbedder( 690 DispatchEventToView(
691 new GuestViewBase::Event(webview::kEventLoadCommit, args.Pass())); 691 new GuestViewBase::Event(webview::kEventLoadCommit, args.Pass()));
692 692
693 find_helper_.CancelAllFindSessions(); 693 find_helper_.CancelAllFindSessions();
694 694
695 // Update the current zoom factor for the new page. 695 // Update the current zoom factor for the new page.
696 ui_zoom::ZoomController* zoom_controller = 696 ui_zoom::ZoomController* zoom_controller =
697 ui_zoom::ZoomController::FromWebContents(web_contents()); 697 ui_zoom::ZoomController::FromWebContents(web_contents());
698 DCHECK(zoom_controller); 698 DCHECK(zoom_controller);
699 current_zoom_factor_ = 699 current_zoom_factor_ =
700 content::ZoomLevelToZoomFactor(zoom_controller->GetZoomLevel()); 700 content::ZoomLevelToZoomFactor(zoom_controller->GetZoomLevel());
(...skipping 14 matching lines...) Expand all
715 } 715 }
716 716
717 void WebViewGuest::DidStartProvisionalLoadForFrame( 717 void WebViewGuest::DidStartProvisionalLoadForFrame(
718 content::RenderFrameHost* render_frame_host, 718 content::RenderFrameHost* render_frame_host,
719 const GURL& validated_url, 719 const GURL& validated_url,
720 bool is_error_page, 720 bool is_error_page,
721 bool is_iframe_srcdoc) { 721 bool is_iframe_srcdoc) {
722 scoped_ptr<base::DictionaryValue> args(new base::DictionaryValue()); 722 scoped_ptr<base::DictionaryValue> args(new base::DictionaryValue());
723 args->SetString(guestview::kUrl, validated_url.spec()); 723 args->SetString(guestview::kUrl, validated_url.spec());
724 args->SetBoolean(guestview::kIsTopLevel, !render_frame_host->GetParent()); 724 args->SetBoolean(guestview::kIsTopLevel, !render_frame_host->GetParent());
725 DispatchEventToEmbedder( 725 DispatchEventToView(
726 new GuestViewBase::Event(webview::kEventLoadStart, args.Pass())); 726 new GuestViewBase::Event(webview::kEventLoadStart, args.Pass()));
727 } 727 }
728 728
729 void WebViewGuest::DocumentLoadedInFrame( 729 void WebViewGuest::DocumentLoadedInFrame(
730 content::RenderFrameHost* render_frame_host) { 730 content::RenderFrameHost* render_frame_host) {
731 if (web_view_guest_delegate_) 731 if (web_view_guest_delegate_)
732 web_view_guest_delegate_->OnDocumentLoadedInFrame(render_frame_host); 732 web_view_guest_delegate_->OnDocumentLoadedInFrame(render_frame_host);
733 } 733 }
734 734
735 bool WebViewGuest::OnMessageReceived(const IPC::Message& message, 735 bool WebViewGuest::OnMessageReceived(const IPC::Message& message,
736 RenderFrameHost* render_frame_host) { 736 RenderFrameHost* render_frame_host) {
737 bool handled = true; 737 bool handled = true;
738 IPC_BEGIN_MESSAGE_MAP(WebViewGuest, message) 738 IPC_BEGIN_MESSAGE_MAP(WebViewGuest, message)
739 IPC_MESSAGE_HANDLER(ExtensionHostMsg_FrameNameChanged, OnFrameNameChanged) 739 IPC_MESSAGE_HANDLER(ExtensionHostMsg_FrameNameChanged, OnFrameNameChanged)
740 IPC_MESSAGE_UNHANDLED(handled = false) 740 IPC_MESSAGE_UNHANDLED(handled = false)
741 IPC_END_MESSAGE_MAP() 741 IPC_END_MESSAGE_MAP()
742 return handled; 742 return handled;
743 } 743 }
744 744
745 void WebViewGuest::RenderProcessGone(base::TerminationStatus status) { 745 void WebViewGuest::RenderProcessGone(base::TerminationStatus status) {
746 // Cancel all find sessions in progress. 746 // Cancel all find sessions in progress.
747 find_helper_.CancelAllFindSessions(); 747 find_helper_.CancelAllFindSessions();
748 748
749 scoped_ptr<base::DictionaryValue> args(new base::DictionaryValue()); 749 scoped_ptr<base::DictionaryValue> args(new base::DictionaryValue());
750 args->SetInteger(webview::kProcessId, 750 args->SetInteger(webview::kProcessId,
751 web_contents()->GetRenderProcessHost()->GetID()); 751 web_contents()->GetRenderProcessHost()->GetID());
752 args->SetString(webview::kReason, TerminationStatusToString(status)); 752 args->SetString(webview::kReason, TerminationStatusToString(status));
753 DispatchEventToEmbedder( 753 DispatchEventToView(
754 new GuestViewBase::Event(webview::kEventExit, args.Pass())); 754 new GuestViewBase::Event(webview::kEventExit, args.Pass()));
755 } 755 }
756 756
757 void WebViewGuest::UserAgentOverrideSet(const std::string& user_agent) { 757 void WebViewGuest::UserAgentOverrideSet(const std::string& user_agent) {
758 content::NavigationController& controller = web_contents()->GetController(); 758 content::NavigationController& controller = web_contents()->GetController();
759 content::NavigationEntry* entry = controller.GetVisibleEntry(); 759 content::NavigationEntry* entry = controller.GetVisibleEntry();
760 if (!entry) 760 if (!entry)
761 return; 761 return;
762 entry->SetIsOverridingUserAgent(!user_agent.empty()); 762 entry->SetIsOverridingUserAgent(!user_agent.empty());
763 web_contents()->GetController().Reload(false); 763 web_contents()->GetController().Reload(false);
764 } 764 }
765 765
766 void WebViewGuest::ReportFrameNameChange(const std::string& name) { 766 void WebViewGuest::ReportFrameNameChange(const std::string& name) {
767 name_ = name; 767 name_ = name;
768 scoped_ptr<base::DictionaryValue> args(new base::DictionaryValue()); 768 scoped_ptr<base::DictionaryValue> args(new base::DictionaryValue());
769 args->SetString(webview::kName, name); 769 args->SetString(webview::kName, name);
770 DispatchEventToEmbedder( 770 DispatchEventToView(
771 new GuestViewBase::Event(webview::kEventFrameNameChanged, args.Pass())); 771 new GuestViewBase::Event(webview::kEventFrameNameChanged, args.Pass()));
772 } 772 }
773 773
774 void WebViewGuest::LoadHandlerCalled() { 774 void WebViewGuest::LoadHandlerCalled() {
775 scoped_ptr<base::DictionaryValue> args(new base::DictionaryValue()); 775 scoped_ptr<base::DictionaryValue> args(new base::DictionaryValue());
776 DispatchEventToEmbedder( 776 DispatchEventToView(
777 new GuestViewBase::Event(webview::kEventContentLoad, args.Pass())); 777 new GuestViewBase::Event(webview::kEventContentLoad, args.Pass()));
778 } 778 }
779 779
780 void WebViewGuest::LoadRedirect(const GURL& old_url, 780 void WebViewGuest::LoadRedirect(const GURL& old_url,
781 const GURL& new_url, 781 const GURL& new_url,
782 bool is_top_level) { 782 bool is_top_level) {
783 scoped_ptr<base::DictionaryValue> args(new base::DictionaryValue()); 783 scoped_ptr<base::DictionaryValue> args(new base::DictionaryValue());
784 args->SetBoolean(guestview::kIsTopLevel, is_top_level); 784 args->SetBoolean(guestview::kIsTopLevel, is_top_level);
785 args->SetString(webview::kNewURL, new_url.spec()); 785 args->SetString(webview::kNewURL, new_url.spec());
786 args->SetString(webview::kOldURL, old_url.spec()); 786 args->SetString(webview::kOldURL, old_url.spec());
787 DispatchEventToEmbedder( 787 DispatchEventToView(
788 new GuestViewBase::Event(webview::kEventLoadRedirect, args.Pass())); 788 new GuestViewBase::Event(webview::kEventLoadRedirect, args.Pass()));
789 } 789 }
790 790
791 void WebViewGuest::PushWebViewStateToIOThread() { 791 void WebViewGuest::PushWebViewStateToIOThread() {
792 const GURL& site_url = web_contents()->GetSiteInstance()->GetSiteURL(); 792 const GURL& site_url = web_contents()->GetSiteInstance()->GetSiteURL();
793 std::string partition_domain; 793 std::string partition_domain;
794 std::string partition_id; 794 std::string partition_id;
795 bool in_memory; 795 bool in_memory;
796 if (!GetGuestPartitionConfigForSite( 796 if (!GetGuestPartitionConfigForSite(
797 site_url, &partition_domain, &partition_id, &in_memory)) { 797 site_url, &partition_domain, &partition_id, &in_memory)) {
(...skipping 241 matching lines...) Expand 10 before | Expand all | Expand 10 after
1039 void WebViewGuest::SetZoom(double zoom_factor) { 1039 void WebViewGuest::SetZoom(double zoom_factor) {
1040 ui_zoom::ZoomController* zoom_controller = 1040 ui_zoom::ZoomController* zoom_controller =
1041 ui_zoom::ZoomController::FromWebContents(web_contents()); 1041 ui_zoom::ZoomController::FromWebContents(web_contents());
1042 DCHECK(zoom_controller); 1042 DCHECK(zoom_controller);
1043 double zoom_level = content::ZoomFactorToZoomLevel(zoom_factor); 1043 double zoom_level = content::ZoomFactorToZoomLevel(zoom_factor);
1044 zoom_controller->SetZoomLevel(zoom_level); 1044 zoom_controller->SetZoomLevel(zoom_level);
1045 1045
1046 scoped_ptr<base::DictionaryValue> args(new base::DictionaryValue()); 1046 scoped_ptr<base::DictionaryValue> args(new base::DictionaryValue());
1047 args->SetDouble(webview::kOldZoomFactor, current_zoom_factor_); 1047 args->SetDouble(webview::kOldZoomFactor, current_zoom_factor_);
1048 args->SetDouble(webview::kNewZoomFactor, zoom_factor); 1048 args->SetDouble(webview::kNewZoomFactor, zoom_factor);
1049 DispatchEventToEmbedder( 1049 DispatchEventToView(
1050 new GuestViewBase::Event(webview::kEventZoomChange, args.Pass())); 1050 new GuestViewBase::Event(webview::kEventZoomChange, args.Pass()));
1051 current_zoom_factor_ = zoom_factor; 1051 current_zoom_factor_ = zoom_factor;
1052 } 1052 }
1053 1053
1054 void WebViewGuest::SetAllowTransparency(bool allow) { 1054 void WebViewGuest::SetAllowTransparency(bool allow) {
1055 if (guest_opaque_ != allow) 1055 if (guest_opaque_ != allow)
1056 return; 1056 return;
1057 1057
1058 guest_opaque_ = !allow; 1058 guest_opaque_ = !allow;
1059 if (!web_contents()->GetRenderViewHost()->GetView()) 1059 if (!web_contents()->GetRenderViewHost()->GetView())
(...skipping 186 matching lines...) Expand 10 before | Expand all | Expand 10 after
1246 WebViewGuest::From(owner_web_contents()->GetRenderProcessHost()->GetID(), 1246 WebViewGuest::From(owner_web_contents()->GetRenderProcessHost()->GetID(),
1247 new_window_instance_id); 1247 new_window_instance_id);
1248 if (!guest) 1248 if (!guest)
1249 return; 1249 return;
1250 1250
1251 if (!allow) 1251 if (!allow)
1252 guest->Destroy(); 1252 guest->Destroy();
1253 } 1253 }
1254 1254
1255 } // namespace extensions 1255 } // namespace extensions
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698