Firefox 34 アドオン互換性情報
[これは Mozilla Add-ons Blog の記事 Add-on Compatibility for Firefox 34 の翻訳です]
Firefox 34 が 11 月 25 日 [日本時間同日深夜] リリース となります。Firefox 34 の変更点でアドオンの互換性に影響を及ぼす可能性のあるものを以下にまとめました。Firefox 34 for Developers により詳しい情報が載っていますので、こちらも併せてご覧ください。
一般
- 更新: 新しい検索 UI. ベータサイクルの最後で投入された新しい検索 UI に関する この投稿 を読んでください。
- 新しい .app バンドル構造を持った OS X 版 Firefox がビルドされました。OS X 向けアプリケーションの内部レイアウトに新たな要件が加えられたため、アプリケーションパッケージの構造にいくつかの変更が必要となりました。アドオンに関しては、Firefox パッケージ内の特定バイナリへのアクセスを取得するために特別なディレクトリ「
GreD
」を参照していた場合、コードに変更が必要となるかもしれません。それらのバイナリは 新しい特別なディレクトリ「GreBinD
」へ移動されました。バイナリ以外のファイルは引き続き「GreD
」でアクセス可能なはずです。 localstore.rdf
が削除されました。Firefox から大半の RDF 関連コードを削除するより広範な取り組みの一環として、localstore.rdf
の内容がxulstore.json
へ移動されました。つまり、この RDF ストアを直接参照してデータを取得しているようなアドオンは正しく動作しなくなるでしょう。- 信頼できないコンテンツへ適用可能な XBL バインディングをホワイトリストへ追加できる仕組みが導入されました。XBL バインディングから信頼できない (Web) コンテンツへアクセスしたい場合、その宣言に
bindToUntrustedContent="true"
を含める必要があります。 - JavaScript 正規表現のキャプチャが特定の交代で正常に動作しない問題が修正されました。
XPCOM
nsIDOMStorage
にプロキシが実装されました。これにより、createStorage
メソッドにwindow
引数が追加されます。nsINavHistoryService
からSetCharsetForURI
、GetCharsetForURI
が削除されました。これらのメソッドはPlacesUtils
に移動されましたが、値そのものではなくPromise
を返すものとなっています。XMLDocument
にアサーションが追加され、callingDoc
とdoc
が常に同じプリンシパルを持つようになりました。簡単に言えば、アドオンからドキュメントを読み込む場合はXMLDocument
ではなくXMLHttpRequest
を使ってください。nsIMarkupDocumentViewer
がnsIContentViewer
へ統合されました。nsICommandParams
から列挙メソッドが削除されました。nsITelemetry
のnewHistogram
とregisterAddonHistogram
メソッドのmin
、max
、bucket_count
引数がオプションとなりました。
新機能
- パブリックドメインの
JNI.jsm
実装がインポート、使用可能となりました。これは低レベルアクセスが必要な Android アドオン開発者にとって便利なモジュールです。より完全な実装を伴って刷新されました。このモジュールはComponents.utils.import("resource://gre/modules/JNI.jsm");
で取得可能です。
この一覧に載っていない変更点や間違いを見つけたらコメント欄でお知らせください。もしあなたのアドオンが Firefox 34 で動かなくなった場合は、筆者の方でも調査したいと思います。
AMO に登録されているアドオンの 自動互換性テストと対応バージョンの更新 はまもなく行われますので、AMO に Firefox 33 対応のアドオンを登録している方は後日メールをチェックしてみてください。