in web_tool/js/noty.js [1087:1138]
value: function requestSubscription() {
var _this2 = this;
var userVisibleOnly = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
var self = this;
var current = this.getPermissionStatus();
var cb = function cb(result) {
if (result === 'granted') {
_this2.fire('onPermissionGranted');
if ('serviceWorker' in navigator) {
navigator.serviceWorker.register(_this2.workerPath).then(function () {
navigator.serviceWorker.ready.then(function (serviceWorkerRegistration) {
self.fire('onWorkerSuccess');
serviceWorkerRegistration.pushManager.subscribe({
userVisibleOnly: userVisibleOnly
}).then(function (subscription) {
var key = subscription.getKey('p256dh');
var token = subscription.getKey('auth');
self.subData = {
endpoint: self.getEndpoint(subscription),
p256dh: key ? window.btoa(String.fromCharCode.apply(null, new Uint8Array(key))) : null,
auth: token ? window.btoa(String.fromCharCode.apply(null, new Uint8Array(token))) : null
};
self.fire('onSubscriptionSuccess', [self.subData]);
}).catch(function (err) {
self.fire('onWorkerError', [err]);
});
});
});
} else {
self.fire('onWorkerNotSupported');
}
} else if (result === 'denied') {
_this2.fire('onPermissionDenied');
_this2.unregisterWorker();
}
};
if (current === 'default') {
if (window.Notification && window.Notification.requestPermission) {
window.Notification.requestPermission(cb);
} else if (window.webkitNotifications && window.webkitNotifications.checkPermission) {
window.webkitNotifications.requestPermission(cb);
}
} else {
cb(current);
}
}