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

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

Issue 2808923003: Revert of Enable find-in-page across GuestViews. (Closed)
Patch Set: Fixed patch conflicts. Created 3 years, 8 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 "components/guest_view/browser/guest_view_base.h" 5 #include "components/guest_view/browser/guest_view_base.h"
6 6
7 #include <utility> 7 #include <utility>
8 8
9 #include "base/lazy_instance.h" 9 #include "base/lazy_instance.h"
10 #include "base/macros.h" 10 #include "base/macros.h"
(...skipping 427 matching lines...) Expand 10 before | Expand all | Expand 10 after
438 void GuestViewBase::DidDetach() { 438 void GuestViewBase::DidDetach() {
439 GuestViewManager::FromBrowserContext(browser_context_)->DetachGuest(this); 439 GuestViewManager::FromBrowserContext(browser_context_)->DetachGuest(this);
440 StopTrackingEmbedderZoomLevel(); 440 StopTrackingEmbedderZoomLevel();
441 owner_web_contents()->Send(new GuestViewMsg_GuestDetached( 441 owner_web_contents()->Send(new GuestViewMsg_GuestDetached(
442 element_instance_id_)); 442 element_instance_id_));
443 element_instance_id_ = kInstanceIDNone; 443 element_instance_id_ = kInstanceIDNone;
444 if (!CanRunInDetachedState()) 444 if (!CanRunInDetachedState())
445 Destroy(true); 445 Destroy(true);
446 } 446 }
447 447
448 bool GuestViewBase::HandleFindForEmbedder(
449 int request_id,
450 const base::string16& search_text,
451 const blink::WebFindOptions& options) {
452 if (ShouldHandleFindRequestsForEmbedder()) {
453 web_contents()->Find(request_id, search_text, options);
454 return true;
455 }
456 return false;
457 }
458
459 bool GuestViewBase::HandleStopFindingForEmbedder(
460 content::StopFindAction action) {
461 if (ShouldHandleFindRequestsForEmbedder()) {
462 web_contents()->StopFinding(action);
463 return true;
464 }
465 return false;
466 }
467
448 WebContents* GuestViewBase::GetOwnerWebContents() const { 468 WebContents* GuestViewBase::GetOwnerWebContents() const {
449 return owner_web_contents_; 469 return owner_web_contents_;
450 } 470 }
451 471
452 void GuestViewBase::GuestSizeChanged(const gfx::Size& new_size) { 472 void GuestViewBase::GuestSizeChanged(const gfx::Size& new_size) {
453 UpdateGuestSize(new_size, auto_size_enabled_); 473 UpdateGuestSize(new_size, auto_size_enabled_);
454 } 474 }
455 475
456 const GURL& GuestViewBase::GetOwnerSiteURL() const { 476 const GURL& GuestViewBase::GetOwnerSiteURL() const {
457 return owner_web_contents()->GetLastCommittedURL(); 477 return owner_web_contents()->GetLastCommittedURL();
(...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after
543 // queued events. 563 // queued events.
544 SignalWhenReady(callback); 564 SignalWhenReady(callback);
545 } 565 }
546 566
547 void GuestViewBase::SignalWhenReady(const base::Closure& callback) { 567 void GuestViewBase::SignalWhenReady(const base::Closure& callback) {
548 // The default behavior is to call the |callback| immediately. Derived classes 568 // The default behavior is to call the |callback| immediately. Derived classes
549 // can implement an alternative signal for readiness. 569 // can implement an alternative signal for readiness.
550 callback.Run(); 570 callback.Run();
551 } 571 }
552 572
573 bool GuestViewBase::ShouldHandleFindRequestsForEmbedder() const {
574 return false;
575 }
576
553 int GuestViewBase::LogicalPixelsToPhysicalPixels(double logical_pixels) const { 577 int GuestViewBase::LogicalPixelsToPhysicalPixels(double logical_pixels) const {
554 DCHECK(logical_pixels >= 0); 578 DCHECK(logical_pixels >= 0);
555 double zoom_factor = GetEmbedderZoomFactor(); 579 double zoom_factor = GetEmbedderZoomFactor();
556 return lround(logical_pixels * zoom_factor); 580 return lround(logical_pixels * zoom_factor);
557 } 581 }
558 582
559 double GuestViewBase::PhysicalPixelsToLogicalPixels(int physical_pixels) const { 583 double GuestViewBase::PhysicalPixelsToLogicalPixels(int physical_pixels) const {
560 DCHECK(physical_pixels >= 0); 584 DCHECK(physical_pixels >= 0);
561 double zoom_factor = GetEmbedderZoomFactor(); 585 double zoom_factor = GetEmbedderZoomFactor();
562 return physical_pixels / zoom_factor; 586 return physical_pixels / zoom_factor;
(...skipping 132 matching lines...) Expand 10 before | Expand all | Expand 10 after
695 return; 719 return;
696 720
697 embedder_web_contents()->GetDelegate()->UpdateTargetURL( 721 embedder_web_contents()->GetDelegate()->UpdateTargetURL(
698 embedder_web_contents(), url); 722 embedder_web_contents(), url);
699 } 723 }
700 724
701 bool GuestViewBase::ShouldResumeRequestsForCreatedWindow() { 725 bool GuestViewBase::ShouldResumeRequestsForCreatedWindow() {
702 return false; 726 return false;
703 } 727 }
704 728
729 void GuestViewBase::FindReply(WebContents* source,
730 int request_id,
731 int number_of_matches,
732 const gfx::Rect& selection_rect,
733 int active_match_ordinal,
734 bool final_update) {
735 if (ShouldHandleFindRequestsForEmbedder() &&
736 attached() && embedder_web_contents()->GetDelegate()) {
737 embedder_web_contents()->GetDelegate()->FindReply(embedder_web_contents(),
738 request_id,
739 number_of_matches,
740 selection_rect,
741 active_match_ordinal,
742 final_update);
743 }
744 }
745
705 content::RenderWidgetHost* GuestViewBase::GetOwnerRenderWidgetHost() { 746 content::RenderWidgetHost* GuestViewBase::GetOwnerRenderWidgetHost() {
706 // We assume guests live inside an owner RenderFrame but the RenderFrame may 747 // We assume guests live inside an owner RenderFrame but the RenderFrame may
707 // not be cross-process. In case a type of guest should be allowed to be 748 // not be cross-process. In case a type of guest should be allowed to be
708 // embedded in a cross-process frame, this method should be overrode for that 749 // embedded in a cross-process frame, this method should be overrode for that
709 // specific guest type. For all other guests, the owner RenderWidgetHost is 750 // specific guest type. For all other guests, the owner RenderWidgetHost is
710 // that of the owner WebContents. 751 // that of the owner WebContents.
711 if (GetOwnerWebContents() && 752 if (GetOwnerWebContents() &&
712 GetOwnerWebContents()->GetRenderWidgetHostView()) { 753 GetOwnerWebContents()->GetRenderWidgetHostView()) {
713 return GetOwnerWebContents() 754 return GetOwnerWebContents()
714 ->GetRenderWidgetHostView() 755 ->GetRenderWidgetHostView()
(...skipping 173 matching lines...) Expand 10 before | Expand all | Expand 10 after
888 929
889 void GuestViewBase::UpdateGuestSize(const gfx::Size& new_size, 930 void GuestViewBase::UpdateGuestSize(const gfx::Size& new_size,
890 bool due_to_auto_resize) { 931 bool due_to_auto_resize) {
891 if (due_to_auto_resize) 932 if (due_to_auto_resize)
892 GuestSizeChangedDueToAutoSize(guest_size_, new_size); 933 GuestSizeChangedDueToAutoSize(guest_size_, new_size);
893 DispatchOnResizeEvent(guest_size_, new_size); 934 DispatchOnResizeEvent(guest_size_, new_size);
894 guest_size_ = new_size; 935 guest_size_ = new_size;
895 } 936 }
896 937
897 } // namespace guest_view 938 } // namespace guest_view
OLDNEW
« no previous file with comments | « components/guest_view/browser/guest_view_base.h ('k') | content/browser/browser_plugin/browser_plugin_embedder.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698