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 750 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
863 | 871 |
864 void GuestViewBase::UpdateGuestSize(const gfx::Size& new_size, | 872 void GuestViewBase::UpdateGuestSize(const gfx::Size& new_size, |
865 bool due_to_auto_resize) { | 873 bool due_to_auto_resize) { |
866 if (due_to_auto_resize) | 874 if (due_to_auto_resize) |
867 GuestSizeChangedDueToAutoSize(guest_size_, new_size); | 875 GuestSizeChangedDueToAutoSize(guest_size_, new_size); |
868 DispatchOnResizeEvent(guest_size_, new_size); | 876 DispatchOnResizeEvent(guest_size_, new_size); |
869 guest_size_ = new_size; | 877 guest_size_ = new_size; |
870 } | 878 } |
871 | 879 |
872 } // namespace guest_view | 880 } // namespace guest_view |
OLD | NEW |