Firefox 8 のアドオン互換性に関わる修正のまとめ
[これは Mozilla Add-ons Blog の記事 Add-on Compatibility for Firefox 8 の抄訳です]
この記事は本来もっと早く公開するはずでしたが、ずっと先延ばしになっていました。遅れて申し訳ありません。AMO では先週金曜日 (8 月 26 日) に Firefox 8 へ向けた互換性情報の更新を行いました。このシステムにはまだいくつか修正すべきバグがありますが、検証はほぼ成功し、約 3,000 個のアドオンが自動的に Firefox 8 対応となりました。
以下、現在 Aurora として公開されている Firefox 8 に投入された、アドオンの互換性に影響する変更点を、筆者 [Jorge Villalobos] が分かる範囲でまとめました。
ISO8601DateUtils.jsm
が削除されました。Date
オブジェクトがこのモジュールが提供していた機能に対応したため、これは不要となりました。nsIDOMWindowInternal
が削除されました。この変更は多くのアドオンに影響するため、結局 取り消されました。ただしこのインタフェースは廃止予定であり、将来的に 削除される可能性 があります。代わりにnsIDOMWindow
を使うよう説明した互換性の警告を追加しました。document.getSelection()
は、stringification
ではなくgetSelection()
と同じ内容を返すようになりました。これによってdocument.getSelection
の戻り値が変わり、window.getSelection
と一致するようになりました。文字列の代わりにオブジェクトが返ります。nsISelection*
インタフェースを統合しました。いくつかの比較的知名度の低いインタフェースが統合されました。今後はnsISelection
を使ってください。- File API の実装によって
File
というグローバルオブジェクトが導入されました。これはアドオンのスクリプトに書かれたオブジェクトと競合する可能性があります。私たちは互換性情報の更新後にこの変更に気付きましたが、いずれにしてもこの検証を行う自動テストの作成は、ノイズが多く発生するため、非常に難しいと思われます。もしFile
というグローバルオブジェクトを使用している場合は、別の名前に変えてください。 - 同様に、グローバルオブジェクト
ChromeWorker
が導入されました。この自動テストも行っていませんが、私たちの知る限りでは影響を受けるアドオンはありません。このコンストラクタは、nsIWorkerFactory
のように以前から存在した XPCOM インタフェースの代わりに導入されたものです。この作業の大半は Bug 649537 で行われました。この変更も事後に気付いたのですが、影響を受けるアドオンはほとんどないと思われます。万が一あなたのアドオンが影響を受ける場合はお知らせください。 - SSL 2.0 対応が廃止されました。これは既存のアドオンには一切影響しないため、自動テストは追加しませんでした。いくつかの非常に古いコードと関連する設定 —
security.enable_ssl2
(初期設定はfalse
)、security.ssl2.*
— が削除されただけです。
他にも、アドオン作者の皆さんの興味を惹きそうな変更をいくつか挙げておきますが、これらが互換性に影響することはおそらくないでしょう。
- インストールされるアドオンをユーザが完全に選択できるようになりました。ユーザによって自発的にインストールされたものではないサードパーティ製アドオン (つまりセキュリティ対策ソフトなどによって強制的に追加されるアドオン) は、Firefox 8 へアップグレードしたときに無効化されます。残したいアドオンと削除するアドオンをユーザが選択できるダイアログが起動時に表示されます。この多少意見の分かれる決定は 以前議論された ものです。
- バイナリ xpidl xpt の出力が、
xpidl.py
を使った Python 版に置き換えられました。あなたのアドオンで IDL ファイルをコンパイルしている場合、これは大幅な変更となります。バイナリ xpidl ツールは Python スクリプトに置き換えられました。 loadSubScript
で読み込まれたスクリプトがキャッシュされるようになりました。これによって多くのスクリプトを動的に読み込んでいるアドオンのパフォーマンスが向上します。特に、大量のスクリプトを読み込む Jetpack ベースのアドオンに有効です。about:config
の URL クエリで設定項目をフィルタできるようになりました。これは単にabout:config
で設定を編集したいときのちょっとしたショートカットです。- 選択されたダウンロードファイル名やその他メタデータが履歴に保存されるようになりました。これは単に拡張機能作者にとっても便利と思われる Places の追加機能です。
いつものように、より詳しい情報は Firefox 8 for Developers にまとまっています。この記事や MDC のページに載っていない変更点や、今回行われた互換性情報の更新に関して何か問題があった場合は、コメント欄でお知らせください。
アドオンチームでは、互換性に影響する変更点の判別方法を効率化しようと試みており、ニュースグループに「高速リリースサイクルでアドオンの互換性を保つには」という投稿を行いました。これを読んであなたの考えをお聞かせください。