この日記はMozilla Japanのプロダクトへの貢献を中心に書いていますが、断り書きがある場合を除き、 オフィシャルな発表ではありません。あくまでも個人的なものです。 Mozilla Japan、Mozilla Foundation、Mozilla Corporation、及び関連企業の公式情報ではないことに注意してください。
ちなみに、誰の日記なのかよく分からないという方はInside Mozilla Japan内の 私の自己紹介 を参照してください。
色々あって一ヶ月ぶりの修正になってしまいました。
nsPlaintextEditorは、nsEditorEventListenersで6個のリスナーを作成し、nsHTMLEditorはさらにそのうちのひとつをnsHTMLEditorMouseListenerで継承して利用していました。
なぜ、6個のリスナーに分離して作成されたのか分かりませんが、このためにnsEditorはポインタを6つも保持する必要があり、6回、リスナーのインスタンスを生成する必要があります。また、リスナー間で共通のメンバも重複して保持しないといけないため、非常に無駄の多い形になっていました。
このバグの修正でnsPlaintextEditor用の6つのリスナーは、nsEditor依存のリスナーとして統合、再設計しています。これによりBug-org 389372とBug-org 467715の修正が容易になってるかもしれません。