Im gelben "Doorhanger" mit dem Kontextmenü für externe Inhalte ("remote content") wird vom Add-on das oncommand per experimenteller API überschrieben (mehr oder minder entfernt) und mittels eines eventlisteners abgefangen, um an der Stelle bei installiertem Add-on nach dem Klick auf "HTML zeigen" dann auch das vom Anwender erwartete Verhalten beim Klick auf "Externe Inhalte in dieser Nachricht anzeigen" zu bewirken (es muss dann nämlich für den Reload mit externen Inhalten nochmals temporär HTML erlaubt werden).
Dieses oncommand wird beim Shutdown des Add-ons in der experimentellen API zurück gesetzt:
Code
onShutdown(isAppShutdown) {
if (isAppShutdown) {
return; // the application gets unloaded anyway
}
ExtensionSupport.unregisterWindowListener(
tracker.windowListenerId,
);
for(let window of tracker.trackedWindows) {
// console.debug("AHT - onShutdown");
let element = window.document.getElementById("remoteContentOptionAllowForMsg");
element.removeEventListener("click", tracker.notifyOnClickedListener);
let oncommand_original = "LoadMsgWithRemoteContent();";
element.setAttribute("oncommand", oncommand_original);
}
// Flush all caches
Services.obs.notifyObservers(null, "startupcache-invalidate");
}
Alles anzeigen