lazy-timeout.js 449 B

12345678910111213141516171819
  1. /* global browser, setTimeout, clearTimeout */
  2. this.lazyTimeout = (() => {
  3. "use strict";
  4. browser.runtime.onMessage.addListener((request, sender) => {
  5. if (request.setTimeoutRequest) {
  6. const timeoutId = setTimeout(() => {
  7. browser.tabs.sendMessage(sender.tab.id, { onTimeout: true, id: timeoutId });
  8. }, request.delay);
  9. return Promise.resolve(timeoutId);
  10. }
  11. if (request.clearTimeout) {
  12. clearTimeout(request.id);
  13. }
  14. });
  15. })();