| Index: extensions/browser/guest_view/guest_view_base.cc
|
| diff --git a/extensions/browser/guest_view/guest_view_base.cc b/extensions/browser/guest_view/guest_view_base.cc
|
| index 7e5568711db5d64b17226cc211db8ede3f94a465..5340ff5a02e5a97f51559a210fe918a2dee3a6c1 100644
|
| --- a/extensions/browser/guest_view/guest_view_base.cc
|
| +++ b/extensions/browser/guest_view/guest_view_base.cc
|
| @@ -79,10 +79,34 @@ class GuestViewBase::OwnerLifetimeObserver : public WebContentsObserver {
|
| content::WebContents* embedder_web_contents)
|
| : WebContentsObserver(embedder_web_contents),
|
| destroyed_(false),
|
| - guest_(guest) {}
|
| + guest_(guest),
|
| + fullscreen_(false) {}
|
|
|
| ~OwnerLifetimeObserver() override {}
|
|
|
| + void DidToggleFullscreenModeForTab(
|
| + bool entered_fullscreen) override {
|
| + fullscreen_ = entered_fullscreen;
|
| + printf("+++++ %s, entered_fullscreen: %d\n",
|
| + __PRETTY_FUNCTION__, entered_fullscreen);
|
| + guest_->EmbedderFullscreenToggled(fullscreen_);
|
| + }
|
| +
|
| + void MainFrameWasResized(bool width_changed) override {
|
| + printf("EMB::MainFrameWasResized\n");
|
| + printf("Will call EMB::IsFullscreenForTabOrPending\n");
|
| + bool is_f =
|
| + web_contents()->GetDelegate()->IsFullscreenForTabOrPending(
|
| + web_contents());
|
| + printf("Called EMB::IsFullscreenForTabOrPending\n");
|
| + if (fullscreen_ && !is_f) {
|
| +// web_contents()->GetDelegate()->IsFullscreenForTabOrPending(
|
| +// web_contents())) {
|
| + fullscreen_ = false;
|
| + guest_->EmbedderFullscreenToggled(fullscreen_);
|
| + }
|
| + }
|
| +
|
| // WebContentsObserver implementation.
|
| void WebContentsDestroyed() override {
|
| // If the embedder is destroyed then destroy the guest.
|
| @@ -105,6 +129,7 @@ class GuestViewBase::OwnerLifetimeObserver : public WebContentsObserver {
|
| private:
|
| bool destroyed_;
|
| GuestViewBase* guest_;
|
| + bool fullscreen_;
|
|
|
| void Destroy() {
|
| if (destroyed_)
|
|
|