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

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

もずはっく日記(2015年7月)

2015年7月19日

Bug-org 1179093 ContentEventHandler::mSelection should be nsRefPtr<Selection>
初回投稿日時: 2015年07月19日12時07分05秒
カテゴリ: Mozilla Core Mozilla42 バグ修正
SNS: (list)

現在、nsISelectionmozilla::dom::Selectionでしか実装されていません。そのため、多くの内部処理はSelectionクラスを直接利用するようになっていますが、ContentEventHandlerは未だにnsCOMPtr<nsISelection>を利用していたため、コードが無用に複雑なままでした(XPCOMのメソッドで値を取得する場合、値は引数で受け取らないといけないため)。そこで、nsRefPtr<Selection>として保存するようにし、コードをシンプルにしようというバグです。

しかし、nsISelectionとして取得したものを現在の設計を理由にSelectionにキャストしているので、安全とは言い切れない修正にもなっています。nsISelection::AsSelection()のようなメソッドを今後追加すべきかもしれません。

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

bug-org 1179093を含むエントリ