Google hat in dieser Woche ein neues Konzept für Chrome-Erweiterungen vorgestellt. Ab Chrome 18 gibt es ein neues Manifest, welches Entwickler optional nutzen können. Erweiterungen, die dieses Nutzen möchten, müssen unter Umständen vom Entwickler angepasst werden.
Google setzt dabei die Content-Security-Policy (CSP) um. Scripte, die inline verwenden werden, müssen vorher entfernt werden. Google verwendet die CSP-Regel „script-src ’self‘; object-src ’self'“. Möchte man JavaScript in seiner Erweiterung verwenden, dann muss dieses JavaScript in einer js-Datei ausgelagert und mit der Erweiterung ausgeliefert werden.
Ähnliches gilt auch für SWF-Dateien. Nur wenn diese in der Erweiterung ausgeliefert werden, können sie verwendet werden. Andere Daten können von extern mittels HTTPS geladen werden, wenn diese Server auf einer Whitelist stehen.
Die Funktion eval() ist ebenfalls nicht mehr nutzbar. Wer das verwendet hat, sollte auf JSON und JSON.parse umsteigen, empfiehlt Google in der Ankündigung.
Noch besteht kein Handlungsbedarf. In Zukunft wird es aber wohl einige Features der Erweiterungen nur geben, wenn der Entwickler die Manifest-Version 2 verwendet. Bis auf weiteres laufen alte Erweiterungen einfach weiter. Das neue Manifest ist ab Chrome 18 integriert. Chrome 18 ist aktuell noch in der Beta. Die finale Version davon dürfte in den kommenden drei bis vier Wochen veröffentlicht werden.
Weitere Details gibt es im Posting auf dem Chromium Blog.