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:
parent
fcee7212ce
commit
15dffb3dde
4 changed files with 119 additions and 0 deletions
15
spec/fixtures/pages/fullscreen-ipif.html
vendored
Normal file
15
spec/fixtures/pages/fullscreen-ipif.html
vendored
Normal 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>
|
19
spec/fixtures/pages/fullscreen-oopif.html
vendored
Normal file
19
spec/fixtures/pages/fullscreen-oopif.html
vendored
Normal 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>
|
Loading…
Add table
Add a link
Reference in a new issue