Firefox 20 アドオン互換性情報
[これは Mozilla Add-ons Blog の記事 Add-on Compatibility for Firefox 20 の翻訳です]
Firefox 20 が 4 月 2 日 [日本時間同日深夜] にリリースとなります。Firefox 20 の変更点でアドオンの互換性に影響を及ぼす可能性のあるものを以下にまとめました。Firefox 20 for Developers により詳しい情報が載っていますので、こちらも併せてご覧ください。
一般
- 遅延タブ復元の実行時に、未復元の
<browser>
にdisplay:none
が設定されるようになりました。これにより、セッション復元が行われたもののまだユーザによって選択されていないタブの読み込みによるメモリ使用量が最小限に抑えられます。その一方で、読み込みが完了するまで、アドオンからそれらのタブ内のコンテンツへアクセスすることが不可能となります。読み込まれていないタブはtab.getAttribute("pending")
もしくはtab.linkedBrowser.getAttribute("pending")
で確認できます。 - ブックマーク書き出しサービスが JavaScript モジュールへ移植されました。
nsIPlacesImportExportService
が廃止され、移行関連の関数がBookmarkHTMLUtils.jsm
へ移動されました。 - ダウンロードパネルが実装されました。ダウンロードマネージャは引き続き存在していますが、この新しい UI によってダウンロードの初期表示方法が大幅に変わります。
javascript.options.xml.chrome
が初期設定で無効化されました。これは Firefox からの E4X 対応の完全削除に向けた次なる一歩です。- リダイレクトの訪問が履歴オブザーバを通じて通知されなくなった問題が修正されました。これにより、履歴オブザーバがいくつかの新しい予期せぬ通知を受け取ることになります。
プライベートブラウジング
プライベートと非プライベートのウィンドウを同時に開けるよう、プライベートブラウジングモードに変更が加えられています。つまり、多くの XPCOM インタフェースやその他の関数が、新仕様に対応するため変更されつつあるということです。
- グローバルプライベートブラウジングサービスが削除されました。これにより、実際に使用されているすべてのサービスから
nsIPrivateBrowsingService
が削除されました。このインタフェースは後方互換性維持のため 残されています が、オブザーバ通知 (private-browsing
、private-browsing-transition-complete
、private-browsing-cancel-vote
、private-browsing-change-granted
) を含めて、中身はまったくの空となっています。
新しいプライベートブラウジングモードに関しては、以下のドキュメントに詳しい情報が載っています。
XPCOM
|non editable element|.QueryInterface(Components.interfaces.nsIDOMNSEditableElement)
が例外を投げない問題があります。編集可能な要素の確認にQueryInterface
を使っていた場合、そのコードは 20 では動作しないでしょう。これは 21 以降では修正されていますが、instanceof
による代用が推奨されます。imgTools::DecodeImageData
のリファクタリングが行われました。decodeImageData
が廃止予定となり、代わりに新たな関数decodeImage
が同インタフェースへ追加されました。XMLSerializer
とDOMParser
が WebIDL バインディングへ変換されました。nsIDOMParserJS
が削除されました。代わりのインタフェースはnsIDOMParser
を参照してください。image-sniffing-services
の対応が削除されました。これにより XPCOM カテゴリのimage-sniffing-services
が削除されました。EventSource
が Paris バインディングへ変換されました。nsIEventSource
が削除されました。
新機能
- フォームのボタンや
select
要素上でコンテキストメニューが表示されない問題が修正されました。 RemoveAllDownloads
API がnsIDownloadHistory
へ追加されました。
この一覧に載っていない変更点や間違いを見つけたらコメント欄でお知らせください。もしあなたのアドオンが Firefox 20 で動かなくなった場合は、筆者の方でも調査したいと思います。
AMO に登録されているアドオンの 自動互換性テストと対応バージョンの更新 はまもなく行われますので、AMO にアドオンを登録している方はメールをチェックしてみてください。