Use prefixed versions of other fullscreen APIs too

This commit is contained in:
David Baker 2023-01-03 18:33:11 +00:00
commit c34a1f7f65
2 changed files with 15 additions and 2 deletions

View file

@ -54,16 +54,23 @@ export function useFullscreen(ref: React.RefObject<HTMLElement>): {
);
const onFullscreenChanged = useCallback(() => {
if (!document.fullscreenElement) {
if (!document.fullscreenElement && !document.webkitFullscreenElement) {
setFullscreenParticipant(null);
}
}, [setFullscreenParticipant]);
useEventTarget(ref.current, "fullscreenchange", onFullscreenChanged);
useEventTarget(ref.current, "webkitfullscreenchange", onFullscreenChanged);
useEffect(() => {
if (disposed) {
document.exitFullscreen();
if (document.exitFullscreen) {
document.exitFullscreen();
} else if (document.webkitExitFullscreen) {
document.webkitExitFullscreen();
} else {
logger.error("No available fullscreen API!");
}
setFullscreenParticipant(null);
}
}, [disposed]);