From 0b349f19e5d0d95d65f92ac1cdaa029d46ae59a6 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jo=C3=A3o=20Magalh=C3=A3es?= <joamag@gmail.com>
Date: Mon, 14 Nov 2022 01:54:27 +0000
Subject: [PATCH] feat: initial support for safari fullscreen

---
 .../web/react/components/display/display.tsx   | 18 ++++++++++++++----
 1 file changed, 14 insertions(+), 4 deletions(-)

diff --git a/examples/web/react/components/display/display.tsx b/examples/web/react/components/display/display.tsx
index e5137bb2..3aacfda2 100644
--- a/examples/web/react/components/display/display.tsx
+++ b/examples/web/react/components/display/display.tsx
@@ -97,9 +97,14 @@ export const Display: FC<DisplayProps> = ({
 
             // requests the browser to go fullscreen using the
             // body of the document as the entry HTML element
-            nativeFullscreen &&
-                document.body.requestFullscreen &&
+            if (nativeFullscreen && document.body.requestFullscreen) {
                 document.body.requestFullscreen().catch(() => {});
+            } else if (
+                nativeFullscreen &&
+                (document.body as any).webkitRequestFullscreen
+            ) {
+                (document.body as any).webkitRequestFullscreen();
+            }
         } else {
             setWidth(undefined);
             setHeight(undefined);
@@ -110,9 +115,14 @@ export const Display: FC<DisplayProps> = ({
 
             // restores the window mode, returning from the
             // fullscreen browser
-            nativeFullscreen &&
-                document.exitFullscreen &&
+            if (nativeFullscreen && document.exitFullscreen) {
                 document.exitFullscreen().catch(() => {});
+            } else if (
+                nativeFullscreen &&
+                (document as any).webkitExitFullscreen
+            ) {
+                (document as any).webkitExitFullscreen();
+            }
         }
         return () => {
             window.removeEventListener("resize", resizeRef.current);
-- 
GitLab