| OLD | NEW |
| 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 "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 "components/guest_view/browser/guest_view_event.h" | 9 #include "components/guest_view/browser/guest_view_event.h" |
| 10 #include "components/guest_view/browser/guest_view_manager.h" | 10 #include "components/guest_view/browser/guest_view_manager.h" |
| (...skipping 28 matching lines...) Expand all Loading... |
| 39 | 39 |
| 40 } // namespace | 40 } // namespace |
| 41 | 41 |
| 42 SetSizeParams::SetSizeParams() { | 42 SetSizeParams::SetSizeParams() { |
| 43 } | 43 } |
| 44 SetSizeParams::~SetSizeParams() { | 44 SetSizeParams::~SetSizeParams() { |
| 45 } | 45 } |
| 46 | 46 |
| 47 // This observer ensures that the GuestViewBase destroys itself when its | 47 // This observer ensures that the GuestViewBase destroys itself when its |
| 48 // embedder goes away. It also tracks when the embedder's fullscreen is | 48 // embedder goes away. It also tracks when the embedder's fullscreen is |
| 49 // toggled so the guest can change itself accordingly. | 49 // toggled or when its page scale factor changes so the guest can change |
| 50 // itself accordingly. |
| 50 class GuestViewBase::OwnerContentsObserver : public WebContentsObserver { | 51 class GuestViewBase::OwnerContentsObserver : public WebContentsObserver { |
| 51 public: | 52 public: |
| 52 OwnerContentsObserver(GuestViewBase* guest, | 53 OwnerContentsObserver(GuestViewBase* guest, |
| 53 WebContents* embedder_web_contents) | 54 WebContents* embedder_web_contents) |
| 54 : WebContentsObserver(embedder_web_contents), | 55 : WebContentsObserver(embedder_web_contents), |
| 55 is_fullscreen_(false), | 56 is_fullscreen_(false), |
| 56 destroyed_(false), | 57 destroyed_(false), |
| 57 guest_(guest) {} | 58 guest_(guest) {} |
| 58 | 59 |
| 59 ~OwnerContentsObserver() override {} | 60 ~OwnerContentsObserver() override {} |
| (...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 93 | 94 |
| 94 bool current_fullscreen = | 95 bool current_fullscreen = |
| 95 web_contents()->GetDelegate()->IsFullscreenForTabOrPending( | 96 web_contents()->GetDelegate()->IsFullscreenForTabOrPending( |
| 96 web_contents()); | 97 web_contents()); |
| 97 if (is_fullscreen_ && !current_fullscreen) { | 98 if (is_fullscreen_ && !current_fullscreen) { |
| 98 is_fullscreen_ = false; | 99 is_fullscreen_ = false; |
| 99 guest_->EmbedderFullscreenToggled(is_fullscreen_); | 100 guest_->EmbedderFullscreenToggled(is_fullscreen_); |
| 100 } | 101 } |
| 101 } | 102 } |
| 102 | 103 |
| 104 void OnPageScaleFactorChanged(float page_scale_factor) override { |
| 105 if (destroyed_) |
| 106 return; |
| 107 |
| 108 guest_->web_contents()->SetPageScale(page_scale_factor); |
| 109 } |
| 110 |
| 103 private: | 111 private: |
| 104 bool is_fullscreen_; | 112 bool is_fullscreen_; |
| 105 bool destroyed_; | 113 bool destroyed_; |
| 106 GuestViewBase* guest_; | 114 GuestViewBase* guest_; |
| 107 | 115 |
| 108 void Destroy() { | 116 void Destroy() { |
| 109 if (destroyed_) | 117 if (destroyed_) |
| 110 return; | 118 return; |
| 111 destroyed_ = true; | 119 destroyed_ = true; |
| 112 guest_->Destroy(); | 120 guest_->Destroy(); |
| (...skipping 759 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 872 | 880 |
| 873 void GuestViewBase::UpdateGuestSize(const gfx::Size& new_size, | 881 void GuestViewBase::UpdateGuestSize(const gfx::Size& new_size, |
| 874 bool due_to_auto_resize) { | 882 bool due_to_auto_resize) { |
| 875 if (due_to_auto_resize) | 883 if (due_to_auto_resize) |
| 876 GuestSizeChangedDueToAutoSize(guest_size_, new_size); | 884 GuestSizeChangedDueToAutoSize(guest_size_, new_size); |
| 877 DispatchOnResizeEvent(guest_size_, new_size); | 885 DispatchOnResizeEvent(guest_size_, new_size); |
| 878 guest_size_ = new_size; | 886 guest_size_ = new_size; |
| 879 } | 887 } |
| 880 | 888 |
| 881 } // namespace guest_view | 889 } // namespace guest_view |
| OLD | NEW |