Le titre est volontairement racoleur, mais loin d'être mensonger. Les dernières versions de Firefox stockent leurs données dans une base SQLite. l'intérêt est d'utiliser un outil destiné au stockage de données et facilement extensible (une base de données quoi) plutôt que d'avoir à mettre à jour un parseur ou créer un nouveau fichier à chaque nouvelle information à stoker.

Malheureusement, avec le temps, des données sont supprimées et les données qui viennent les remplacer n'occupent pas forcément tout l'espace libre. Au final, le travail de lecture devient de plus en plus complexe, il faut bien les ignorer tout ces trous.

J'avais, il y a peu, trouvé une méthode en ligne de commande mais c'était un peut trop intrusif. Il fallait récupérer le client sqlit en ligne de commande et faire tout un tas de manœuvres.

Heureusement, un gentil blogueur à trouvé une solution plus pratique:

Ouvrir la console d'erreur de firefox, et entrer la ligne suivante avant de valider.

Components.classes["@mozilla.org/browser/nav-history-service;1"].getService(Components.interfaces.nsPIPlacesDatabase).DBConnection.executeSimpleSQL("VACUUM");

Paf, fini les trous.