Quelques infos à propos de WebIDL. Utiliser ceci pour générer une partie du code (pour les API du DOM) a plusieurs avantages:
1) Comme la spec utilise WebIDL de façon normative, on diminue le nombre d'incompatibilités et d'erreur en utilisant la même source de données.
2) Le système n'utilise plus XPConnect, cela accélère les appels au DOM (et donc va faire gagner (parfois) beaucoup de temps dans certains tests et à l'utilisateur)
3) C'est plus facile à maintenir (on peut même imaginer automatiser la comparaison entre le webIDL dans la spec et dans Gecko, même s'il y a des informations supplémentaires dans celui de Gecko)
C'est un gros boulot qui dure depuis Fx18 et continuera encore quelques versions. Cela entraîne parfois des régressions (souvent des corrections de bug qui étaient utilisés par des bibliothèques pour détecter si c'était du Gecko, ...).
A la fin le code sera plus simple, plus performant et plus maintenable. C'est appréciable: cela fait partie de ces activités nécessaires d'évolution ou de réusinage d'un code source.
D'ailleurs, un de mes rêves est d'utiliser ces fichiers WebIDL pour aider à maintenir la documentation

Une nouvelle méthode dans la spec, hop un bug de documentation est ajouté automatiquement

Ah! si les journées avaient 50 heures…
Votre Navigateur : Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:21.0) Gecko/20130127 Firefox/21.0
La liberté n'est jamais accordée de bon gré par l'oppresseur; elle doit être exigée par l'opprimé (Martin Luther King).
Les convictions sont des ennemis de la vérité plus dangereux que les mensonges. (Nietzsche).
Native Mozillian.