Firefox 29 アドオン互換性情報
[これは Mozilla Add-ons Blog の記事 Add-on Compatibility for Firefox 29 の翻訳です]
Firefox 29 が 4 月 29 日 [日本時間同日深夜] リリース となります。Firefox 29 の変更点でアドオンの互換性に影響を及ぼす可能性のあるものを以下にまとめました。Firefox 29 for Developers により詳しい情報が載っていますので、こちらも併せてご覧ください。
Australis!
いずれにしれも、これは大物です。Australis テーマによって、すべてのアドオン開発者が留意すべき大規模な変更が行われますが、当初考えられていたほど劇的な影響をもたらすものではありませんでした。Australis に関しては既に幅広くブログで取り上げていますので、まだ読んでいない人は一度目を通してください。
- Australis アドオン互換性情報 – パート 1: ツールバー
- Australis for Add-on Developers – Part 2: CustomizableUI (未訳)
- New Add-on SDK Australis UI features in Firefox 29 (未訳)
特筆すべき変更点としては、アドオンバーと Windows 版の Firefox ボタンの削除、メニューパネルの導入、ツールバーカスタマイズシステムの刷新が挙げられます。ツールバーは about: ページでも非表示にならなくなり、大小ボタンの設定は削除され、タブは常に最上部に表示されます。
あなたのアドオンも幅広くテストしてください。ボタンのカスタマイズに関しては特に注意して見るようにしてください。
あなたのアドオンに何か Australis に関する問題が見つかった場合は、バグを登録し、以下のいずれかのバグのブロッカーに設定してください。
- アドオンの問題。これは、まだ Australis に対応しておらず Firefox 29 以降で見た目が崩れているアドオン向けです。
- Australis のアドオン関連バグ。あなたのアドオンの何かが壊れていて、その原因が Firefox の新しい本体コードに含まれるバグと考えられるときは、こちらを使ってください。
一般
window._contentがクローム専用となりました。今後_contentは特権付きスクリプトからのみアクセス可能となります。mozIAsyncLivemarksにPromiseが適用されました。addLivemark、removeLivemark、getLivemarkの 3 つの関数に変更が行われました。これらは今のところ従来通り動作しますが、コールバックは将来的に削除されますので、これらの関数によって返されるようになったPromiseを使うよう書き換えてください。cloneNodeとimportNodeにdeep引数が指定されていない場合の挙動が浅い複製になりました。- 複数プロセスのセッション復元に対応しました。セッション復元コードの一部リファクタリングが行われ、特に、コンテンツ関連のコード型のモジュールへ分離されました。
HTMLIFrameElement.sandboxの型が変更されました。文字列ではなく文字列のリストになりました。
XPCOM
nsIMarkupDocumentViewerのbidi属性が削除されました。nsIXPConnectがスクリプトから利用できなくなりました。nsISecurityCheckedComponentが削除されました。
新機能
- ファイルパスを
file://URI へ (あるいはその逆へ) 変換する関数が追加されました。ついに簡単な方法が提供されました。OS.Path.toFileURIとOS.Path.fromFileURIです。 - lz4 (zlib) のバインディングが追加されました。
この一覧に載っていない変更点や間違いを見つけたらコメント欄でお知らせください。もしあなたのアドオンが Firefox 29 で動かなくなった場合は、筆者の方でも調査したいと思います。
AMO に登録されているアドオンの 自動互換性テストと対応バージョンの更新 はまもなく行われますので、AMO に Firefox 28 対応のアドオンを登録している方は後日メールをチェックしてみてください。
