2004-10-28

Chasse au bug

L'année dernière, j'ai compilé Mozilla pour la première fois afin de comprendre pourquoi les espaces insécables sautaient dans les formulaires. À l'envoi, toute espace insécable était remplacée par une espace sécable. J'avais ouvert la fiche de bug 218277 et proposé un patch.

Le problème du patch que j'avais soumis, c'est qu'il avait un effet domino. La zone de code affectée est utilisée par Thunderbird, mais aussi par le Composer. Pire, la logique comportementale du Composer se base sur ce remplacement des espaces.

Ainsi, mon petit patch avait une grosse influence, et par conséquent, pour conserver les espaces insécables dans les formulaires, il aurait fallu effectuer de profonds changements dans le Composer. Tâche trop délicate pour moi qui ne suit qu'un développeur extérieur.

J'avais eu l'idée d'un code intermédiaire, où la conversion était inactive pour le navigateur Web, mais active pour le Composer. Mais cette solution temporaire ne me plaisait pas trop, donc je n'ai pas fouillé plus loin.

Un an après, un développeur a proposé un nouveau patch, qui implémente plus ou moins cette solution intermédiaire. C'est, avec le recul, une solution satisfaisante. Il sera toujours temps d'ouvrir une nouvelle fiche de bug pour Thunderbird, qui bouffe encore les espace insécables. Au moins, pour Firefox, le problème sera réglé.

L'astuce est la suivante : quand du texte doit prendre le chemin qui passe par le code de conversion, ce dernier est désactivé si ce texte provient d'un champ d'un formulaire.

Ce patch attend une validation. Petit à petit j'ai de moins en moins de choses à redire sur Gecko :) Le seul truc c'est que les derniers bugs qui m'ont intéressé ont été corrigés, ou seront corrigés pour une version de Gecko qui n'est pas encore présente dans Firefox. On en est à la version 1.8 de Gecko, or Firefox (je pense à la 1.0 qui sort le 9 novembre) est basée sur une version 1.7 personnalisée. Je vais brancher une interruption sur la sortie de Firefox 1.x avec du gecko 1.8 dedans. ^^