/* Copyright 2020 Tecnativa - Alexandre D. Díaz * License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). */ odoo.define("web_pwa_oca.PWAManager", function (require) { "use strict"; var core = require("web.core"); var Widget = require("web.Widget"); var _t = core._t; var PWAManager = Widget.extend({ /** * @override */ init: function () { this._super.apply(this, arguments); if (!('serviceWorker' in navigator)) { console.error( _t("Service workers are not supported! Maybe you are not using HTTPS or you work in private mode.")); } else { this._service_worker = navigator.serviceWorker; this.registerServiceWorker('/service-worker.js'); } }, /** * @param {String} sw_script * @returns {Promise} */ registerServiceWorker: function (sw_script) { return this._service_worker.register(sw_script) .then(this._onRegisterServiceWorker) .catch(function (error) { console.log(_t('[ServiceWorker] Registration failed: '), error); }); }, /** * Need register some extra API? override this! * * @private * @param {ServiceWorkerRegistration} registration */ _onRegisterServiceWorker: function (registration) { console.log(_t('[ServiceWorker] Registered:'), registration); }, }); return PWAManager; });