この日記はMozillaのプロダクトへの貢献者としての私の成果を中心に、気になったバグやWeb界隈の話題について書いていますが、 断り書きがある場合を除き、いかなる団体のオフィシャルな見解ではありません。あくまでも個人的なものです。 Mozilla Foundation、Mozilla Corporation、及び関連企業の公式情報ではないことに注意してください。

現在、XHTML 1.0 (もどき)から、HTML5なコンテンツに修正中です。古い日記は修正が完了していませんので表示が崩れます。 順次、修正していく予定ですのでしばらくお待ちください。

もずはっく日記(2010年5月)

2010年5月8日

editor/idlのカオス
初回投稿日時: 2010年05月08日17時36分13秒
カテゴリ: Mozilla Core
SNS: (list)

editor/idlにあるインターフェースが中々にカオスです。前からですが。

nsIEditor.idl
nsEditorにアクセスするための外部インターフェース。
nsIEditorIMESupport.idl
IME関連の機能にアクセスするための外部インターフェース。nsEditorで実装。
nsIEditorMailSupport.idl
引用して貼り付け、等のメール関連に特化した機能だけを集めた外部インターフェース。nsPlaintextEditorで実装。
nsIHTMLEditor.idl
nsHTMLEditorにアクセスするための外部インターフェース。
nsIPlaintextEditor.idl
nsPlaintextEditorにアクセスするための外部インターフェース。

エディタの実装と、その利用に関してはこれらのインターフェースが利用されますが、まず問題の一点目は、実装をもとにインターフェースがデザインされているため、利用者からはさっぱり分からないこの分け方。また、二点目は無駄にnsIEditorからQIが必要なため、コードが無駄に読みにくくなっていることです。

ひとまず、nsIEditorIMESupportnsIEditorに統合しようと企んでいます

それが終われば、nsIEditorMailSupport.idlも同様にできるかなぁとは思いますが、ユーザ次第というところでしょうか(拡張レベルでもこの辺にアクセスしてくるのは希だとは思いますので、そこまでは考えていませんが)。

これをやってしまうと、今度はnsIEditorがふくれあがってきますが、ここには実装に必要なだけのメソッドが大量にあります。これらを別のインターフェースに移して、もうちょっとわかりやすくできないかなぁと考えてるところです。

関連するかもしれないエントリ

関連するかもしれないエントリを発見できませんでしたが、無いとは限りません。