Pourquoi devez-vous quitter Safari pour mettre à jour certaines extensions et pas d’autres ? Parce que certaines sont des extensions web, qui peuvent se mettre à jour indépendamment de Safari, et d’autres des extensions d’application, qui nécessitent un redémarrage de Safari. En remarquant que les extensions d’applications pouvaient être mises à jour sans autre forme de procès après avoir été désactivées, l’artiste et développeur web Nick Heer a conduit le développeur d’extensions Jeff Johnson à faire une autre découverte. Même lorsqu’elles sont « désactivées », les extensions ne sont pas complètement inopérantes.
À la réflexion, ce n’est pas une surprise. Lorsque vous désactivez une extension, ses feuilles de style et ses scripts ne sont pas retirés des pages ouvertes. Tant que ces pages ne sont pas rechargées, l’extension est fonctionnelle mais désactivée. Comme les extensions web peuvent être quittées et relancées à volonté1, sans quitter le navigateur lui-même, les données d’une nouvelle version peuvent être chargées sans que celles de l’ancienne aient été déchargées.
Comme les extensions d’applications sont lancées et quittées en même temps que Safari lui-même, elles ne peuvent pas être rechargées sans que le navigateur lui-même l’ait été, ce qui masque ce problème. Sauf si l’on désactive l’extension dans les réglages de Safari ou que l’on « tue » son processus depuis le Moniteur d’activité : l’extension peut alors être mise à jour sans quitter le navigateur, et lorsqu’elle est relancée, elle injecte ses données sans que celles de l’ancienne version n’aient été purgées.
Cette situation pourrait avoir des effets indésirables si les deux versions se contredisent sur certains points, mais ne semble pas causer de problèmes évidents de sécurité, le fonctionnement des extensions étant strictement encadré. Reste que Safari est le seul navigateur manifestant ce comportement. Chrome et ses dérivés ne déchargent pas les données déjà chargées, mais n’injectent pas non plus les fichiers d’une nouvelle version de l’extension si d’anciennes sont présentes. Firefox décharge les données des extensions lors de leur désactivation.
Le développeur de StopTheMadness appelle au boycott de l’Assistant d’évaluation d’Apple
Apple, Google, Microsoft et Mozilla ensemble pour standardiser les extensions web
Safari 10 : un nouveau type d'extension distribué dans le Mac App Store
-
Sauf si elles exigent de tourner en permanence à l’arrière-plan, auquel cas elles se comportent exactement comme des extensions d’application. ↩︎