exit HTML fullscreen when window leaves fullscreen (#13090)
This commit is contained in:
parent
28fd571d0c
commit
2eb5b751f3
3 changed files with 32 additions and 0 deletions
|
@ -270,6 +270,14 @@ void BrowserWindow::OnWindowResize() {
|
|||
TopLevelWindow::OnWindowResize();
|
||||
}
|
||||
|
||||
void BrowserWindow::OnWindowLeaveFullScreen() {
|
||||
TopLevelWindow::OnWindowLeaveFullScreen();
|
||||
#if defined(OS_MACOSX)
|
||||
if (web_contents()->IsFullscreenForCurrentTab())
|
||||
web_contents()->ExitFullscreen(true);
|
||||
#endif
|
||||
}
|
||||
|
||||
void BrowserWindow::Focus() {
|
||||
if (api_web_contents_->IsOffScreen())
|
||||
FocusOnWebView();
|
||||
|
|
|
@ -66,6 +66,7 @@ class BrowserWindow : public TopLevelWindow,
|
|||
void OnWindowBlur() override;
|
||||
void OnWindowFocus() override;
|
||||
void OnWindowResize() override;
|
||||
void OnWindowLeaveFullScreen() override;
|
||||
void Focus() override;
|
||||
void Blur() override;
|
||||
void SetBackgroundColor(const std::string& color_name) override;
|
||||
|
|
|
@ -2590,6 +2590,29 @@ describe('BrowserWindow module', () => {
|
|||
})
|
||||
})
|
||||
|
||||
describe('BrowserWindow.setFullScreen(false) when HTML fullscreen', () => {
|
||||
before(function () {
|
||||
if (process.platform !== 'darwin') {
|
||||
this.skip()
|
||||
}
|
||||
})
|
||||
|
||||
it('exits HTML fullscreen when window leaves fullscreen', (done) => {
|
||||
w.destroy()
|
||||
w = new BrowserWindow()
|
||||
w.webContents.once('did-finish-load', () => {
|
||||
w.once('enter-full-screen', () => {
|
||||
w.once('leave-html-full-screen', () => {
|
||||
done()
|
||||
})
|
||||
w.setFullScreen(false)
|
||||
})
|
||||
w.webContents.executeJavaScript('document.body.webkitRequestFullscreen()', true)
|
||||
})
|
||||
w.loadURL('about:blank')
|
||||
})
|
||||
})
|
||||
|
||||
describe('parent window', () => {
|
||||
let c = null
|
||||
|
||||
|
|
Loading…
Reference in a new issue