Как обрабатывать уведомления Web API в содержимом надстройки ThunderbirdTab - PullRequest
0 голосов
/ 06 февраля 2019

Я создаю надстройку Thunderbird (60.4.0) с содержимым веб-страницы на вкладке.Веб-страница использует уведомления Web API для всплывающих сообщений.Как с ними обращаться и как показывать их как уведомление Thunderbird?

Я попытался повторно привязать окно. Объект уведомления с новым объектом Proxy - я обнаружил окно внутренней панели contentTab / browser, но Proxy не был вызван.

overlay.js

var gogotab = {
  onLoad: function() {
    this.initialized = true;
    this.strings = document.getElementById("gogotab-strings");
  },

  onToolbarButtonCommand: function(e) {
    var mailPane = Components.classes['@mozilla.org/appshell/window-mediator;1'].getService(Components.interfaces.nsIWindowMediator).getMostRecentWindow("mail:3pane");
    var weburl = "https://gogotab.example.com/";
    var tab = mailPane.document.getElementById("tabmail").openTab("contentTab", {
      contentPage: weburl,
      type: "gogotab",
      clickHandler: "gogotab._siteClickHandler(event);"
    });
    tab.browser.contentWindow.Notification = new Proxy({}, {
        //... implemented 'construct', 'apply' and 'get' methods reporting calls to console.
    });
  },

  _siteClickHandler: function(event) {
    return specialTabs.siteClickHandler(event, gogotab._gogoRegExp);
  },

  _gogoRegExp: new RegExp("^(http|https):\\/\\/([^/][^/]*\\.|)gogotab\\.example\\.com\\/")
};

Сначала я хочу обработать уведомление с веб-страницы.Затем я хочу найти способ передать сообщение какому-либо обработчику внутри скрипта наложения и применить его в структуре уведомлений Thunderbird.В настоящее время я не обрабатываю даже Уведомления с веб-страницы контента.

...