summaryrefslogtreecommitdiffstats
path: root/platform/web/js
diff options
context:
space:
mode:
authorAdam Scott <ascott.ca@gmail.com>2023-12-12 15:39:25 -0500
committerAdam Scott <ascott.ca@gmail.com>2024-02-12 09:27:39 -0500
commit62cec03a06f695f80746c9507afbe726945388d1 (patch)
treec16abd45a75344a8195f2ef0f5a92809c9f3ce2d /platform/web/js
parent4e990cd7e51d17cf24f854cc33b2715eaa27200f (diff)
downloadredot-engine-62cec03a06f695f80746c9507afbe726945388d1.tar.gz
Add option to ensure cross-origin isolation headers on web export
Diffstat (limited to 'platform/web/js')
-rw-r--r--platform/web/js/engine/engine.js16
1 files changed, 13 insertions, 3 deletions
diff --git a/platform/web/js/engine/engine.js b/platform/web/js/engine/engine.js
index 3d6720a2fc..7e24ad9ae2 100644
--- a/platform/web/js/engine/engine.js
+++ b/platform/web/js/engine/engine.js
@@ -179,9 +179,7 @@ const Engine = (function () {
preloader.preloadedFiles.length = 0; // Clear memory
me.rtenv['callMain'](me.config.args);
initPromise = null;
- if (me.config.serviceWorker && 'serviceWorker' in navigator) {
- navigator.serviceWorker.register(me.config.serviceWorker);
- }
+ me.installServiceWorker();
resolve();
});
});
@@ -242,6 +240,17 @@ const Engine = (function () {
this.rtenv['request_quit']();
}
},
+
+ /**
+ * Install the progressive-web app service worker.
+ * @returns {Promise} The service worker registration promise.
+ */
+ installServiceWorker: function () {
+ if (this.config.serviceWorker && 'serviceWorker' in navigator) {
+ return navigator.serviceWorker.register(this.config.serviceWorker);
+ }
+ return Promise.resolve();
+ },
};
Engine.prototype = proto;
@@ -252,6 +261,7 @@ const Engine = (function () {
Engine.prototype['startGame'] = Engine.prototype.startGame;
Engine.prototype['copyToFS'] = Engine.prototype.copyToFS;
Engine.prototype['requestQuit'] = Engine.prototype.requestQuit;
+ Engine.prototype['installServiceWorker'] = Engine.prototype.installServiceWorker;
// Also expose static methods as instance methods
Engine.prototype['load'] = Engine.load;
Engine.prototype['unload'] = Engine.unload;