Bug 242930
| Summary: | Make webkit*Fullscreen properties as an alias of standard fullscreen ones | ||
|---|---|---|---|
| Product: | WebKit | Reporter: | Karl Dubost <karlcow> |
| Component: | WebCore Misc. | Assignee: | Nobody <webkit-unassigned> |
| Status: | RESOLVED DUPLICATE | ||
| Severity: | Normal | CC: | han.guokai, webkit-bug-importer |
| Priority: | P2 | Keywords: | BrowserCompat, InRadar |
| Version: | Safari Technology Preview | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
Karl Dubost
Currently WebKit is the only rendering engine using the prefixed property for fullScreen: window.document.webkitFullscreenElement
the standard property is implemented on Gecko and Blink.
See https://developer.mozilla.org/en-US/docs/Web/API/Document/fullscreenElement#browser_compatibility
It is probably time to add aliases
* fullscreenElement <- webkitFullscreenElement.
* requestFullscreen <- webkitRequestFullscreen
* exitFullscreen <- webkitExitFullscreen
it is common to see code such as
```
{
key: "isFullscreen",
value: function() {
return window.document.fullscreenElement || window.document.webkitFullscreenElement || window.document.mozFullScreenElement || window.document.msFullscreenElement
}
}
```
This can't be fully removed because of probable webcompat breakage.
worse it encourages code like this. (if you read this, do not do that)
```
const isFullScreenCapable =
document.fullscreenElement || document.webkitFullScreenElement;
const isWebkit = document.webkitFullScreenElement;
if (isFullScreenCapable) {
if (isWebkit) {
document.webkitExitFullscreen();
} else {
document.exitFullscreen();
}
}
if (isWebkit) {
canvas.webkitRequestFullscreen();
} else {
canvas.requestFullscreen();
}
```
and allow for fingerprinting.
| Attachments | ||
|---|---|---|
| Add attachment proposed patch, testcase, etc. |
Radar WebKit Bug Importer
<rdar://problem/97296290>
Sam Sneddon [:gsnedders]
*** This bug has been marked as a duplicate of bug 158125 ***