Firefox 10 のアドオン互換性に関わる修正のまとめ
[これは Mozilla Add-ons Blog の記事 Add-on Compatibility for Firefox 10 の抄訳です]
Firefox 10 が数週間前に Aurora チャネルへ移行しましたので、またいつも通り、アドオンの互換性に影響するバグをまとめたいと思います。今回挙げたリストは若干長めですが、ほとんどは無名で滅多に使われていない XPCOM や DOM インタフェースの削除です。
Firefox 10 に関するより包括的な情報については、MDN の Firefox 10 for Developers を参照してください。
DOM 関連の変更
isSameNode
が削除されました。これは多くのアドオンや Web サイトで使われているため、最も影響が大きい変更でしょう。ノードを比較したいときは、代わりに===
演算子を使ってください。isElementContentWhitespace
が削除されました。replaceWholeText()
が削除されました。Document.xmlEncoding
が削除されました。Document.xmlStandalone
が削除されました。Document.xmlVersion
が削除されました。
XPCOM 関連の変更
browser.startup.page == 2
の対応が廃止されました。この設定は実際には使われていませんでしたが、この変更の結果、nsIBrowserHistory
のlastPageVisited
プロパティが削除されました。nsIDOMNSHTMLFrameElement
が削除されました。代わりにnsIDOMHTMLFrameElement
を使ってください。nsIDOMNSHTMLElement
が削除されました。代わりにnsIDOMHTMLElement
を使ってください。PRBool
からbool
への移行が行われました。PRBool
型は一掃され、bool
型に置き換えられました。nsIDocumentViewer
が削除されました。- IndexedDB
setVersion
API の変更が実装されました。これによってデータベースインタフェースがいくつか変更されましたが、それらは内部用に実装されているものです。 nsNavHistory nsICharsetResolver
の実装が削除されました。
その他の変更
- XBL メソッドとプロパティの読み込みが高速化されました。あなたのアドオンで XBL を使っている場合は、必ず十分なテストを行ってください。もし何か Firefox 9 で再現できないバグを見つけた場合は報告してください。
- Firefox 7 以降、正規表現の結果が異なる問題が修正されました。正規表現に関する小さな修正ですが、特定の表現の結果が変わる可能性があります。
- Windows で ASLR の使用が必須となりました。バイナリコンポーネントは ASLR に対応させる必要があります。そうしないと Firefox で読み込んだときにパフォーマンスが低下します。AMO では、NX と ASLR に対応していないバイナリを検出する機能の追加を検討しており、将来的にはそうしたバイナリを却下する可能性があります。
新機能
- Windows 7 のタスクバーアイコンオーバーレイに対応しました。Windows 7 のタスクバーアイコンに要素を重ねられるようになりました。興味がある人は、バグのコメント からリンクされているサンプルを見てください。
- 再起動不要なアドオンで
chrome.manifest
ファイルを動的に読み込めるようになりました。これによって、再起動不要なアドオンへ簡単にクロームを追加できるようになりました。 mouseenter
とmouseleave
イベントに対応しました。
この一覧に載っていない変更点や間違いを見つけたらコメント欄でお知らせください。もしあなたのアドオンが Firefox 10 で動かなくなった場合は、筆者 [Jorge Villalobos] の方でも調査したいと思います。
Firefox 10 へ向けた 対応バージョンの自動更新 はまもなく行う予定です。現時点で maxVersion
が 9.*
となっているアドオンが対象です。レビュー待ちのバージョンも対象となります。