فهرست منبع

Catch navigator.serviceWorker.getRegistrations() Promise rejection (#7708)

GitOrigin-RevId: 4c68e4272ea9618503ad655dd6c24841486601b2
Alf Eaton 4 سال پیش
والد
کامیت
24a317a836
1فایلهای تغییر یافته به همراه12 افزوده شده و 4 حذف شده
  1. 12 4
      services/web/frontend/js/features/pdf-preview/util/service-worker.js

+ 12 - 4
services/web/frontend/js/features/pdf-preview/util/service-worker.js

@@ -56,10 +56,18 @@ export function unregisterServiceWorker() {
         type: 'disable',
       })
     }
-    navigator.serviceWorker.getRegistrations().then(registrations => {
-      registrations.forEach(worker => {
-        worker.unregister()
+
+    navigator.serviceWorker
+      .getRegistrations()
+      .catch(error => {
+        // fail silently if permission not given (e.g. SecurityError)
+        console.error('error listing service worker registrations', error)
+        return []
+      })
+      .then(registrations => {
+        registrations.forEach(worker => {
+          worker.unregister()
+        })
       })
-    })
   }
 }