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 for Developers にまとまっています。この記事や MDC のページに載っていない変更点や、今回行われた互換性情報の更新に関して何か問題があった場合は、コメント欄でお知らせください。

アドオンチームでは、互換性に影響する変更点の判別方法を効率化しようと試みており、ニュースグループに「高速リリースサイクルでアドオンの互換性を保つには」という投稿を行いました。これを読んであなたの考えをお聞かせください。