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

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

Issue 1408393003: Propagate pageScaleFactor to GuestViews (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Remove redundant initialization of AwLayoutSizer's page scale factor in tests Created 5 years, 1 month 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 "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
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
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
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
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698