Firefox 20 以降の主なアドオン互換性問題

[これは Mozilla Add-ons Blog の記事 Add-on Compatibility Updates, Firefox 20 and above の抄訳です]

この記事は、開発者が留意すべきアドオン互換性問題を取りまとめたものです。ほどんとは、このブログに今後投稿するバージョン別の互換性情報にも掲載しますが、事前にお知らせしておくのが良いかと思い、今回記事にしました。

非同期 Places [21]

Places の完全非同期化に向け、Firefox 21 で多数の Places API が削除されます。変更が行われる API の一覧と議論は この dev.extensions のスレッド で確認できます。

ウィンドウ別プライベートブラウジングモード [20]

ウィンドウ別プライベートブラウジングモードの実現に向け、過去数バージョンで様々な変更が加えられてきました。Firefox 20 では、nsIPrivateBrowsingService や一部のオブザーバ通知など、残されていた機能の大半が削除されます。

遅延タブ復元 [20]

Firefox は既にこの機能を実装しており、Firefox の起動後、前回のセッションで開いていたタブは選択後に読み込まれる挙動となっています。この機能をさらに最適化しメモリを削減するため、これらのタブ内の browser 要素に display: none が設定されます。つまり、docShellbrowser.contentWindow の存在など、それらのタブの参照に関する多くの前提が崩れるということを意味します。もしあなたのアドオンで既存のタブのコンテンツを参照している場合は、まだ読み込まれていないタブがあったとしても正しく動作するかどうか確認してください。これは現在ベータ版として公開されている Firefox 20 の変更点です。

Java の Click-to-Play

Java のため継続的に実施してきた Click-to-Play 機能によるブロックが、Java のコードに依存している一部アドオンの互換性を損なう可能性があります。私たちは、Java の採用を中止し、JavaScript または外部ライブラリと JS-ctypes を使ってアドオンのコードを実装するよう強く推奨します。あなたのアドオンがまだ Java に依存しており、Click-to-Play に関する問題に遭遇した場合は、このバグが参考になるかもしれません