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); });
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); });
setTimeout(() => { tabs.off("ready", onReady); }, 5000);
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);