Firefox 19 のアドオン互換性に関わる修正のまとめ
[これは Mozilla Add-ons Blog の記事 Add-on Compatibility for Firefox 19 の抄訳です]
Firefox 19 が 2 月 19 日 [日本時間同日深夜] にリリースとなります。Firefox 19 の変更点でアドオンの互換性に影響を及ぼす可能性のあるものを以下にまとめました。Firefox 19 for Developers により詳しい情報が載っていますので、こちらも併せてご覧ください。
一般
- XML イベントが削除されました。これは、だいぶ前に廃止された XForms に関連する無名の機能でした。
- XTF が削除されました。これも XForms 関連の機能でした。
mozallowfullscreen
の接頭辞が外れてallowfullscreen
となりました。
プライベートブラウジング
プライベートと非プライベートのウィンドウを同時に開けるよう、プライベートブラウジングモードに変更が加えられました。これは、多くの XPCOM インタフェースやその他の関数が、新仕様に対応するため変更されたということを意味します。変更の多くは、呼び出し元のコンテキストを関数に伝える新たな引数の追加で、それらの関数はその値に従って動作するようになりました。
ContentPrefService
がグローバルプライベートブラウジング状態を使用するようになりました。このサービスの全メソッドについてコンテキスト渡しが必須となりました。nsNavHistory
がグローバルプライベートブラウジング状態を使用するようになりました。ウィンドウ別プライベートブラウジングに対応するため、History
コンポーネントコードの一部に変更が加えられました。ただし、このパッチには API の変更は含まれていません。- ダウンロードに GUID が追加されました。これにより、
nsIDownloads
に GUID が追加され、GUID ごとにダウンロードを処理する API も用意されました。他の API も今のところ使用できますが、徐々に廃止予定となります。 nsStrictTransportSecurityService
がグローバルプライベートブラウジングサービスを使用するようになりました。
新しいプライベートブラウジングモードに関しては、以下のドキュメントに詳しい情報が載っています。
XPCOM
nsIConsoleService::GetMessageArray
のシグネチャが改善されました。これは API の改善ですが、多くのアドオンに影響します。getMessageArray
関数は、戻り値を保持するために変更される可能性のあるオブジェクトを渡すことが必要なコードで使われていました。この関数が変更され、配列を返すようになりました。そのため、msgArray = consoleService.getMessageArray(…);
のような処理が可能となります。DOMImplementation
が Paris バインディングに移植されました。これによりnsIDOMDOMImplementation
が変更され、スクリプトからの使用が不可能になりました。nsIDOMCanvasRenderingContext2D
インタフェースが削除されました。これにより、DRAWWINDOW_
定数を除き、nsIDOMCanvasRenderingContext2D
のすべての関数・プロパティが削除されました。nsIUrlListManager.safeLookup
が更新されない問題が修正されました。safeLookup
関数が引数としてnsIPrincipal
を取るようになりました。imgIRequest::loadImage
のaRequest
引数が削除されました。nsIChannel
が変更され 64 ビットcontent-length
対応になりました。これは単なる戻り値の種類変更なので、もしあったとしても影響を受けるのはバイナリアドオンだけです。
新機能
この一覧に載っていない変更点や間違いを見つけたらコメント欄でお知らせください。もしあなたのアドオンが Firefox 19 で動かなくなった場合は、筆者の方でも調査したいと思います。
AMO に登録されているアドオンの 自動互換性テストと対応バージョンの更新 はまもなく行われますので、AMO にアドオンを登録している方はメールをチェックしてみてください。