Journal Mozilla, corrupteur de données

Posté par  (site web personnel) .
Étiquettes : aucune
0
28
nov.
2004
L'histoire est un peu compliquée. Au tout début, il y a des programmeurs essentiellement américain, qui considèrent que l'espace insécable ça casse tout, et que personne ne s'en sert. Du coup, ils s'en servent comme marqueur spécial dans l'éditeur de mail, pour indiquer une suite d'espaces qui se répètent : un espace sur deux est stocké en mémoire comme espace insécable. Bien sûr, au moment de l'envoi, ils convertissent tous les espaces insécables (qui ne servent pas, n'est-ce pas) en espaces, et le tour est joué, l'espacement préservé, passons à la suite.

Ensuite, bien sûr, il y a toutes les autres parties de Mozilla qui se servent de ce bout de code : l'éditeur de formulaires, le visualisateur de code source de la page, la barre d'adresse, etc. Tout ce beau monde convertit les espaces insécables en espaces normales, parce que c'est bien connu, ça sert à rien.

Le résultat est simple : Mozilla massacre allègrement tous les espaces insécables qui lui passent par la main. Vous tapez un beau mail ? Vos efforts sont vains. Vous éditez un wiki ? Dites au revoir à tous les espaces insécables que les autres utilisateurs ont saisi. Vous pensez qu'avec Unicode, on a enfin du support pour tous les caractères de la planète ? Oui, sauf l'espace insécable.

Bref, Mozilla massacre les données qu'on lui confie, et sur ce coup là, je me trouverais presque à souhaiter qu'il ne prenne pas une trop grosse part de marché. Heureusement que j'ai Internet Explorer pour préserver mon travail. (Nan, je trolle, j'utilise Konqueror quand je tiens à mes données.)

Si vous trouvez ce comportement un peu gênant, ou même complètement crétin, allez donc voter et mettre un peu d'activité sur le bug n°194498 de Mozilla : https://bugzilla.mozilla.org/show_bug.cgi?id=194498(...)

Et pour rire jaune une dernière fois, un extrait du code :


void
nsPlainTextSerializer::Output(nsString& aString)
{
(...)
// First, replace all nbsp characters with spaces,
// which the unicode encoder won't do for us.
static PRUnichar nbsp = 160;
static PRUnichar space = ' ';
aString.ReplaceChar(nbsp, space);

mOutputString->Append(aString);
}
  • # Influence sur les sites

    Posté par  . Évalué à 5.

    Sur wikipedia, on a renoncé à coder les espaces insécables autrement que par   (ou équivalents) car sinon des navigateurs (dont mozilla) avaient effectivement tendance à casser les espaces insécables présentes dans une pages lors de l'enregistrement. On a aussi modifié le logiciel pour qu'il remplace les espaces simples par des insécables dans des cas particuliers lors de la génération d'une page pour profiter des espaces insécables tout de même. Par exemple pour « toto », les espaces deviennent des espaces insécables bien que dans le source cela reste des espaces simples.
    • [^] # Re: Influence sur les sites

      Posté par  (site web personnel) . Évalué à 4.

      Quels autres navigateurs sont des mangeurs d'insécables ? D'après le rapport de bogue (et des tests perso dans certains cas), Konqueror, Opera et Internet Explorer préservent les espaces insécables (au moins dans les text area, où c'est le plus critique). Qui reste-t-il, en dehors de tous les navigateurs dérivés de Mozilla ?
      • [^] # Re: Influence sur les sites

        Posté par  . Évalué à 4.

        Après avoir vérifié en fait il n'y a apparemment qui les dérivés de mozilla qui posaient problème effectivement. Mais comme ça fait une part non négligeable pour nous (typiquement > 10%), ce n'était pas acceptable. Cependant ce serait très agréable que ce problème soit corrigé. Ça permettrait de coder les   correctement pour avoir une fenêtre d'édition un peu plus lisible.
    • [^] # Re: Influence sur les sites

      Posté par  . Évalué à 3.

      En fait c'est thinsp que vous devriez utiliser pour la ponctuation, mais le support est encore pire je crois. La dernière fois que je m'en étais rendu compte je n'étais pas le premier :
      https://bugzilla.mozilla.org/show_bug.cgi?id=70610(...)
      Ils l'ont doucement endormi. :-/

      Bon il y a une page de test qui semble marcher mais si je me souviens bien, les polices de Microsoft rendaient thinsp encore plus grand qu'une espace normale ! Vera le gère bien en tout cas, merci Bitstream.

      Je vais aussi voter pour ce bug là, même si ce système ne semble pas avoir d'influence (ça peut pas être pire que l'abstentionnisme !).

      Wow ! j'en ai même 10 000 ! Qui a son bug fétiche que j'y pousse au cul ? :-)
  • # Le découvreur original du bug

    Posté par  . Évalué à 0.

    Ce bug a été trouvé et rapporté par un français, qui plus est un ami : Darken. il me paraît normal de vous donner un lien vers son site : http://www.psydk.org/(...)

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.