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();
|
TopLevelWindow::OnWindowResize();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void BrowserWindow::OnWindowLeaveFullScreen() {
|
||||||
|
TopLevelWindow::OnWindowLeaveFullScreen();
|
||||||
|
#if defined(OS_MACOSX)
|
||||||
|
if (web_contents()->IsFullscreenForCurrentTab())
|
||||||
|
web_contents()->ExitFullscreen(true);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
void BrowserWindow::Focus() {
|
void BrowserWindow::Focus() {
|
||||||
if (api_web_contents_->IsOffScreen())
|
if (api_web_contents_->IsOffScreen())
|
||||||
FocusOnWebView();
|
FocusOnWebView();
|
||||||
|
|
|
@ -66,6 +66,7 @@ class BrowserWindow : public TopLevelWindow,
|
||||||
void OnWindowBlur() override;
|
void OnWindowBlur() override;
|
||||||
void OnWindowFocus() override;
|
void OnWindowFocus() override;
|
||||||
void OnWindowResize() override;
|
void OnWindowResize() override;
|
||||||
|
void OnWindowLeaveFullScreen() override;
|
||||||
void Focus() override;
|
void Focus() override;
|
||||||
void Blur() override;
|
void Blur() override;
|
||||||
void SetBackgroundColor(const std::string& color_name) 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', () => {
|
describe('parent window', () => {
|
||||||
let c = null
|
let c = null
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue