fix: allow iframe-initiated HTML fullscreen to exit while in macOS fullscreen (#20962)

* fix: explicitly resize the contents when exiting html fullscreen while in OS fullscreen

* test: ensure HTML fullscreen toggles while in OS fullscreen
This commit is contained in:
loc 2019-11-05 16:34:45 -05:00 committed by Samuel Attard
parent fcee7212ce
commit 15dffb3dde
4 changed files with 119 additions and 0 deletions

View file

@ -0,0 +1,15 @@
<body>
<iframe style="width: 0" frameborder=0 src="fullscreen.html" allowfullscreen></iframe>
<script>
const { webFrame, ipcRenderer } = require('electron')
const iframe = document.querySelector('iframe')
document.addEventListener('fullscreenchange', () => {
ipcRenderer.send('fullscreenChange')
})
iframe.addEventListener('load', () => {
webFrame.executeJavaScript("document.querySelector('iframe').contentDocument.querySelector('video').requestFullscreen()", true)
})
</script>
</body>

View file

@ -0,0 +1,19 @@
<script>
const { webFrame, ipcRenderer } = require('electron')
document.addEventListener('fullscreenchange', () => {
ipcRenderer.send('fullscreenChange', webFrame.routingId)
});
window.addEventListener('message', ({ data }) => {
if (data === 'exitFullscreen') {
document.exitFullscreen()
}
})
window.addEventListener('load', () => {
window.focus()
webFrame.executeJavaScript('document.querySelector("video").requestFullscreen()', true)
});
</script>
<video></video>