From e5bedf9939c6658f4c5b7676b680f6c52a27f4c8 Mon Sep 17 00:00:00 2001 From: Shelley Vohr Date: Wed, 13 Apr 2022 11:10:34 +0200 Subject: [PATCH] fix: event propagation after exiting fullscreen on Windows --- shell/browser/api/electron_api_web_contents.cc | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/shell/browser/api/electron_api_web_contents.cc b/shell/browser/api/electron_api_web_contents.cc index 714d0d60c6076..caf9cdb41b3ea 100644 --- a/shell/browser/api/electron_api_web_contents.cc +++ b/shell/browser/api/electron_api_web_contents.cc @@ -1342,6 +1342,11 @@ void WebContents::ExitFullscreenModeForTab(content::WebContents* source) { if (!owner_window_) return; + // This needs to be called before we exit fullscreen on the native window, + // or the controller will incorrectly think we weren't fullscreen and bail. + exclusive_access_manager_->fullscreen_controller()->ExitFullscreenModeForTab( + source); + SetHtmlApiFullscreen(false); if (native_fullscreen_) { @@ -1350,9 +1355,6 @@ void WebContents::ExitFullscreenModeForTab(content::WebContents* source) { // `chrome/browser/ui/exclusive_access/fullscreen_controller.cc`. source->GetRenderViewHost()->GetWidget()->SynchronizeVisualProperties(); } - - exclusive_access_manager_->fullscreen_controller()->ExitFullscreenModeForTab( - source); } void WebContents::RendererUnresponsive(