From 1bf7d140148f407ee22fb2ab0d8ca4a8c7e75de2 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:58:42 +0000
Subject: [PATCH] feat: improved event handlng on full screen for safari

---
 examples/web/react/app.tsx | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/examples/web/react/app.tsx b/examples/web/react/app.tsx
index 4f02e160..21113e59 100644
--- a/examples/web/react/app.tsx
+++ b/examples/web/react/app.tsx
@@ -352,7 +352,10 @@ export const App: FC<AppProps> = ({
     }, [keyaction]);
     useEffect(() => {
         const onFullChange = (event: Event) => {
-            if (!document.fullscreenElement) {
+            if (
+                !document.fullscreenElement &&
+                !(document as any).webkitFullscreenElement
+            ) {
                 setFullscreenState(false);
             }
         };
@@ -391,11 +394,16 @@ export const App: FC<AppProps> = ({
             showToast(params.text, params.error, params.timeout);
         };
         document.addEventListener("fullscreenchange", onFullChange);
+        document.addEventListener("webkitfullscreenchange", onFullChange);
         document.addEventListener("keydown", onKeyDown);
         emulator.bind("booted", onBooted);
         emulator.bind("message", onMessage);
         return () => {
             document.removeEventListener("fullscreenchange", onFullChange);
+            document.removeEventListener(
+                "webkitfullscreenchange",
+                onFullChange
+            );
             document.removeEventListener("keydown", onKeyDown);
             emulator.unbind("booted", onBooted);
             emulator.unbind("message", onMessage);
-- 
GitLab