Ejemplo n.º 1
0
 tabs.on("ready", function onOpen(model) {
   if (tab != viewFor(model)) {
     return;
   }
   dump(`Tab added and finished loading: ${model.url}.\n`);
   tabs.off("ready", onOpen);
   resolve(tab);
 });
Ejemplo n.º 2
0
 tabs.on("close", function onClose(model) {
   if (tab != viewFor(model)) {
     return;
   }
   dump(`Tab removed and finished closing: ${model.url}.\n`);
   tabs.off("close", onClose);
   resolve(tab);
 });
Ejemplo n.º 3
0
 setTimeout(() => {
   tabs.off("ready", onReady);
 }, 5000);
Ejemplo n.º 4
0
      if (e.target !== navbar) {
        return;
      }
      win.ToolbarIconColor.inferFromText();
      DOMEvents.removeListener(navbar, "transitionend", onTransitionEnd);
    };
    DOMEvents.on(navbar, "transitionend", onTransitionEnd);
  },
  onUpdatePrefs() {
    if (Preferences.prefs["use-page-colours"]) {
      tabs.on("close", this.onTabRemove);
      tabs.on("activate", this.onTabChange);
      tabs.on("ready", this.onNewURL);
      this.onNewURL(tabs.activeTab);
    } else {
      tabs.off("close", this.onTabRemove);
      tabs.off("activate", this.onTabChange);
      tabs.off("ready", this.onNewURL);
      doToAllWindows(this.resetColours)();
    }
  },

  destroy: doToAllWindows((win) => {
    removeSheet(win, self.data.url("browser.css"), "author");
  }),

  init() {
    this.onTabRemove = this.onTabRemove.bind(this);
    this.onTabChange = this.onTabChange.bind(this);
    this.onNewURL = this.onNewURL.bind(this);
    this.resetColours = this.resetColours.bind(this);