Firefox 16 のアドオン互換性に関わる修正のまとめ
[これは Mozilla Add-ons Blog の記事 Add-on Compatibility for Firefox 16 の抄訳です。この記事の公開後に判明した Firefox 16 でウィンドウ読み込みハンドラが呼び出されない可能性 も併せてご覧ください]
Firefox 16 が来週リリースとなります。Firefox 16 の変更点でアドオンの互換性に影響を及ぼす可能性のあるものを以下にまとめました。Firefox 16 for Developers により詳しい情報が載っていますので、こちらも併せてご覧ください。
一般
- 多数の CSS プロパティの接頭辞が外されました。このため、以前書かれた CSS が適用されなくなる可能性があります。接頭辞付きプロパティを使う場合は、前方互換性のため、接頭辞なしの形式も必ず併記するようにしましょう。MDN と Mozilla Hacks にも詳しい情報が載っています。
java
DOM オブジェクトが廃止されました。拡張機能で Java を使っている場合、グローバルjava
オブジェクトを取得するために採用している方法を見直す必要があるかもしれません。また、Java がアドオンに十分対応していないことや、Java プラグインがブロックリストに追加された場合にあなたの拡張機能も影響を受けることを考え、可能であれば Java の使用をやめることを検討すべきでしょう。リンク先のバグに回避策についての情報が載っています。- IndexedDB の接頭辞が外れました。この接頭辞外しも一部のアドオンに影響する可能性があります。
- 署名された拡張機能の証明書が起動時に毎回検証される挙動が廃止されました。今後、デジタル署名されたアドオンの証明書はインストール時のみ検証されます。この変更による影響は特にないと思いますが、自社のアドオンに署名している場合は、いずれにしても気を付けてテストしてみてください。
browser.js
のinit
/shutdown
関数がリファクタリングされました。これはbrowser.js
のBrowserStartup
/delayedStartup
などの関数にパッチを当てているアドオンに影響します。
XPCOM
nsClipboardPrivacyHandler
が使用するプライベートブラウジングモードが、グローバルからウィンドウごとに変わりました。このバグの修正によってnsITransferable
の使われ方が変わりました。このインタフェースはドラッグ&ドロップやクリップボード操作によく使われていますが、今後は使用前に初期化関数呼び出しが必要となります。- Bug 767134 の修正によって一部の
nsIContentPolicy
コンシューマが動作しなくなります。この変更についてはバグのコメント 1 で詳しく説明されていますが、簡単に言えば、nsIContentPolicy
を実装している場合、ロケーションバーに URL が入力されたときにchrome://
URL をリクエスト元引数として取得できなくなります。 - サイクルコレクションの静的初期化処理が削除されました。これは独自の XPCOM クラスにサイクルコレクションを実装しているバイナリアドオンのみに影響します。
新機能
- Firefox コマンドラインが実装されました。これは Web 開発者にとってより便利な機能ですが、このツールは拡張可能なものとして設計されていることから、アドオン開発に活用するクリエイティブな方法があるのではないかと思います。まだドキュメントは用意されていませんが、コードを読む ところから始めることはできます。また、テーマ作者はこの新しい UI に注意すべきでしょう。当該スタイルは
gcli.css
に書かれています。 - OS.File が実装されました。このライブラリはファイルシステムへのアクセスをより一層簡単にするものです。またこれは、これまで一般的にワーカーの使用に関する重要な制限事項であったクロームワーカーに対して提供されます。yoric のブログ記事 に、このライブラリを開発した動機が書かれています。
- 共有モジュール
Identity.jsm
が実装されました。Persona (旧名 BrowserID) が最近 ベータ版へ移行 し、この機能を利用するためのモジュールが Firefox へ統合されました。開発者の皆さんは、どのようなものか調べて、素晴らしい応用作品を作ってください
この一覧に載っていない変更点や間違いを見つけたらコメント欄でお知らせください。もしあなたのアドオンが Firefox 16 で動かなくなった場合は、筆者の方でも調査したいと思います。
AMO に登録されているアドオンの 自動互換性テストと対応バージョンの更新 はもう間もなく行われますので、後ほどメールをチェックしてみてください。
t :
Kohei Yoshino :