Warum FLST unter Firefox 57 nicht mehr funktioniert, und warum ich daran nichts ändern kann
Dienstag, 28. November 2017 (von fabian)Vor einigen Tagen wurde Firefox 57 veröffentlicht (auch unter dem Namen „Firefox Quantum“ bekannt), und wer keine Add-Ons installiert hat, wird vor allem eines gemerkt haben: Der Browser ist merklich schneller geworden und auch das Font-Rendering auf Webseiten ist nun schöner.
Alles in allem also ein toller Fortschritt – oder?
Nun ja – Langjährige Firefox-User, die seit über 12 Jahren Funktionalitäten zu schätzen gelernt haben, die nur mit Add-Ons realisierbar waren (zum Beispiel das von FLST implementierte Tab-Flipping per Klick auf den aktuellen Tab… ;-), aber auch: Tab-Scrolling durch alle offenen Tabs durch Drehen des Mausrades auf der Tableiste; bunte Tabs usw.) werden das anders sehen. All ihre geliebten Add-Ons funktionieren auf einen Schlag nicht mehr. So auch mein Add-On „FLST (Focus Last Selected Tab)“ mit seiner wohl tatsächlich von einer Vielzahl von Usern jetzt schmerzlich vermissen Tab-Flipping-Funktion.
Warum? Weil Mozilla die XPCOM/XUL-API, die die Grundlage für alle Add-Ons war, einfach „abgeklemmt“ hat. Das Killer-Feature von Firefox, nämlich die Erweiterbarkeit durch Add-Ons (und zwar nicht nur „optische Erweiterbarkeit“ wie bei Skins/Themes oder Erweiterbarkeit um bestimmte Website-spezifische Aktionen wie bei Chrome-Extensions), welches für viele eingefleischte Firefox-Fans das Hauptargument war, bei diesem Browser zu bleiben (denn langsamer als Chrome war er schon immer…), ist damit einfach weg. Einfach so.
Begründung von Mozilla: Die XUL-API habe Firefox verlangsamt und sei unsicher gewesen, da Add-Ons im Prinzip die komplette Kontrolle über den Browser (nämlich: über seine Oberfläche, seine Funktionalitäten, sein Aussehen, sein Verhalten) hatten.
Stimmt soweit – aber genau das war ja der Punkt, der die Add-Ons und damit die gesamte Firefox-„Biosphäre“ so interessant gemacht hat!
Absurd ist das deshalb, weil mit der Einführung von Add-On-Signaturen das Problem der Sicherheit von XUL-Add-Ons eigentlich schon gelöst oder zumindest gelindert wurde, und weil die neuen WebExtensions „nur noch“ so Sachen machen dürfen, wie… JavaScript in Seiten injizieren. Ja, richtig gelesen. Mein FLST darf nicht mehr den Klick auf die Tab-Leiste abfragen, aber JavaScript in jede beliebige Seite injizieren (nachdem ich bei der Installation einmal um Erlaubnis gefragt habe) dürfte es! Da schüttelt man doch den Kopf.
Und jetzt? Die erwähnten WebExtensions sind der neue Weg, Erweiterungen für Mozilla zu schreiben. Vorteil soll sein, dass diese (fast) unverändert kompatibel zu Chrome sind (oder gemacht werden können) und weniger tief in den Browser eingreifen. Damit soll der Browser insgesamt wartbarer werden, schneller, sicherer.
Und das stimmt sogar. Ja, alles wirklich valide Argumente aus Sicht der Entwickler! Vielleicht lassen sich damit neue User gewinnen, und klar: der neue Firefox ist schnell und sieht gut aus! Aber meiner Meinung nach hat sich Mozilla hier den Ärger all derer selbst eingehandelt, die über Jahre hinweg die größten Verfechter waren und selbst gegenüber anderen, die immer meinten, Firefox sei langsam(er), argumentierten, das habe gute Gründe und dafür sei er von den Features her auch viel mächtiger.
Jetzt ist er es jedenfalls nicht mehr.
Schade!
Wie geht es nun mit den „Legacy-Add-Ons“ weiter? Einige simple Funktionen lassen sich sicher in WebExtensions abbilden, aber gerade die Add-Ons, die die vermeintlich einfachsten Features (wie FLST) implementiert haben, lassen sich auf der neuen API einfach nicht mehr implementieren. Weil, „geht halt nicht“! Punkt!
Ganz konkret scheitert es im Falle von FLST am Fehlen eines bestimmten Event-Listeners (nämlich dem für Klicks auf der Tableiste bzw. auf Tabs). Und ich scheine mit meinem Add-On nicht der Einzige zu sein, der sich diesen (oder auch Events für Rechtsklicks/Linksklicks/Mausradklicks/Mausrad-Bewegung auf der Tableiste) wieder herbeiwünscht – ein Blick in den Mozilla-Bugtracker unter der ID 1246706 zeigt hitzige Diskussionen (Tipp: auch die als „unangemessen“ gemeldeten Beiträge mal einblenden…) ;-)
Was soll ich sagen: der Bug ist im Status „RESOLVED – WONTFIX“. Was soviel heißt wie: „Gibbet nich. Wird nicht mehr implementiert. Basta.“
Also – allen, die sich in den vergangenen Tagen darüber geärgert haben, dass mein Add-On nicht mehr funktioniert, oder mich angeschrieben und darum gebeten haben, dass ich das Add-On für Firefox 57 aktualisiere, sei gesagt: Ich würde ja gerne – aber es gibt einfach technisch keine Möglichkeit! Bedankt euch bei Mozilla! ;-P
Tipp: wer FLST weiter nutzen möchte, kann noch bis Mitte nächsten Jahres auf die (in erster Linie für Unternehmen mit „konservativerer“ Update-Politik gedachte) sogenannte ESR-Version von Firefox zurückgreifen. Dort werden bis voraussichtlich Juni 2018 noch XUL-Add-Ons unterstützt. Danach ist, wie es aussieht, auch hier Schluss.
Sollte sich an Mozillas Haltung etwas ändern bzw. bestimmte APIs wieder eingeführt werden, werde ich gerne nochmal einen Anlauf unternehmen. Für jetzt ist das Projekt „FLST als WebExtension für Firefox 57+“ allerdings erstmal begraben.
Euer Fabian
Aufgrund des erhöhten Spam-Aufkommens musste die Kommentarfunktion leider für neue Kommentare geschlossen werden.