tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

push.js (1224B)


      1 window.doSubscribe = async function (applicationServerKey) {
      2  const registration = await navigator.serviceWorker.register("./sw.js");
      3  const sub = await registration.pushManager.subscribe({
      4    applicationServerKey,
      5  });
      6  return sub.toJSON();
      7 };
      8 
      9 window.doGetSubscription = async function () {
     10  const registration = await navigator.serviceWorker.register("./sw.js");
     11  const sub = await registration.pushManager.getSubscription();
     12  if (sub) {
     13    return sub.toJSON();
     14  }
     15 
     16  return null;
     17 };
     18 
     19 window.doUnsubscribe = async function () {
     20  const registration = await navigator.serviceWorker.register("./sw.js");
     21  const sub = await registration.pushManager.getSubscription();
     22  sub.unsubscribe();
     23  return {};
     24 };
     25 
     26 window.doWaitForPushEvent = function () {
     27  return new Promise(resolve => {
     28    navigator.serviceWorker.addEventListener("message", function (e) {
     29      if (e.data.type === "push") {
     30        resolve(e.data.payload);
     31      }
     32    });
     33  });
     34 };
     35 
     36 window.doWaitForSubscriptionChange = function () {
     37  return new Promise(resolve => {
     38    navigator.serviceWorker.addEventListener("message", function (e) {
     39      if (e.data.type === "pushsubscriptionchange") {
     40        resolve(e.data.type);
     41      }
     42    });
     43  });
     44 };