Firefox 33 アドオン互換性情報
[これは Mozilla Add-ons Blog の記事 Add-on Compatibility for Firefox 33 の翻訳です]
Firefox 33 が 10 月 14 日 [日本時間同日深夜] リリース となります。Firefox 33 の変更点でアドオンの互換性に影響を及ぼす可能性のあるものを以下にまとめました。Firefox 33 for Developers により詳しい情報が載っていますので、こちらも併せてご覧ください。
一般
- JSD が削除されました。古い JS デバッグ用 API がようやく廃止されました。これは主に人気の高い Firebug 拡張機能で使用されていたものです。この API を置き換える 新しいデバッガ API は少し前から使用可能で、Firebug も既に移行しています。
- XUL のコンテンツドキュメント内へのインポートについて、廃止予定の警告がコンソールへ出力されるようになりました。XUL の HTML ドキュメントへの注入は将来的に非対応となるため、開発者が他の方法へ移行する時間を確保すべく、まずは警告が導入されました。HTML の注入が最も簡単な代替策となるでしょう。
- NSS ベースの証明書検証バックエンドが削除されました。バグのコメントによれば、「
CERT_VerifyCert、CERT_VerifyCertificate、CERT_PKIXVerifyCertあるいはそれらの関数を呼び出すその他の NSS 関数を使用しているアドオンは問題に遭遇する可能性があります」。これは NSS を使用しているバイナリアドオンにのみ影響します。 MOZ_FOLD_LIBSとエクスポートされたシンボルの最小セットによる NSS がビルド可能となりました。これも NSS を使用しているアドオンに影響する可能性のある変更点です。
XPCOM
nsISessionStoreの関数が、SessionStore.jsmと一貫性を保つため、非文字列について例外を投げるようになりました。これは、setTabValue、setWindowValue、setGlobalValueの各関数に影響します。これらの関数の第 3 引数は文字列でなければならず、それ以外を渡した場合はおそらく例外が投げられることになるでしょう。nsIX509Cert2とnsIX509Cert3がnsIX509Certへ統合されました。HTMLMediaElementがnsIDOMHTMLMediaElementを継承していない問題が修正されました。その結果、nsIDOMHTMLAudioElement、nsIDOMHTMLVideoElement各インタフェースが廃止されました。- PSM の Firefox ビルドから CMS 対応が削除されました。この変更は安全なメールの処理に
nsICMS*インタフェースを使用しているアドオンにのみ影響します。非常にまれなケースですが、一部のアドオンは影響を受けるようです。 nsIRecentBadCertsとその実装が削除されました。
新機能
- Electrolysis と互換性のあるアドオンのための項目が
install.rdfへ追加されました。multiprocessCompatibleフラグ がinstall.rdfへ追加され、そのアドオンが互換性確保機能を使用しなくても Electrolysis (e10s) と呼ばれる新たなマルチプロセスモードで動作することを宣言できるようになりました。つまり、Nightly ビルドで e10s を有効化しても、このフラグをtrueにして実行するまでは、そのアドオンが e10s モードで確実に動作するという保証はありません。互換性確保機能は一時的なものであり、パフォーマンスに悪影響を与えますので、できるだけ早い時期にあなたのアドオンをテストし、このフラグを設定してください。e10s の互換性については MDN の記事を参照してください。なお、このフラグは Firefox 33 で導入されましたが、e10s 自体はまだ開発中であり、初期設定で無効化されています。いつ有効化されるかはまだ分かりません。進捗があった場合は当ブログでお知らせします。
この一覧に載っていない変更点や間違いを見つけたらコメント欄でお知らせください。もしあなたのアドオンが Firefox 33 で動かなくなった場合は、筆者の方でも調査したいと思います。
AMO に登録されているアドオンの 自動互換性テストと対応バージョンの更新 はまもなく行われますので、AMO に Firefox 32 対応のアドオンを登録している方は後日メールをチェックしてみてください。