» アドオン開発
WebExtensionを書いてみよう
この記事はhttps://hacks.mozilla.org/2015/09/lets_write_a_webextension/の翻訳です。
WebExtensionを書いてみよう
By Blake Winton
WebExtensionはFirefox extensionを書く新しい方法です。
このテクノロジーはクロスブラウザ互換性の為に開発されました: 膨大な量のAPIがGoogle ChromeやOperaがサポートしているextension API と互換性を保っています。 他のブラウザの為に作られたアドオンは大抵の場合、少しの変更を加えるだけで動きます。APIもまたmultiprocess Firefoxとほぼ互換性を保っています。
一つだけ付け加えると、MozillaはChrome and OperaのサポートしているおおよそのAPIを実装している間、私たちはそれらAPIだけに制限されるわけではありません。それが理にかなっている場合、私たちは新しく機能を追加して、他のブラウザベンダーとこの機能を同様にを実装するかどうかという話をします。最後に、WebExtension APIはまだ開発途中です。Firefox Nightlyを使用する場合、最新のものを得られるため標準準拠の動作になります。よってこのチュートリアルを行うにはたぶんFirefox Nightlyを使用するのがベストでしょう。しかし覚えておいてください、これはまだ実験的な技術です – もしかしたら、なかったことになるかもしれません(訳注:もう正式機能になりました)。
始めてみる
よし、じゃあまずはシンプルなアドオンから始めてみようか。ボタンを追加して、クリックされたとき、私の一番好きなサイトが新しいタブで開くようにしよう。
まず最初のファイルとしてFirefoxに私たちのアドオンを伝える manifest.json
が必要だ。
<code>{ "manifest_version": 2, "name": "Cat Gifs!", "version": "1.0", "applications": { "gecko": { "id": "catgifs@mozilla.org" } }, "browser_action": { "default_title": "Cat Gifs!" } }</code>
よし!これで完了!たぶんあなたのアドオンはこのようになったと思います。もちろん、私たちはまだそれが動くかどうかわからない。なのでFirefoxにインストールしてみよう(最新のFirefox Nightlyを使います)。ディレクトリからFirefoxに manifest.json
をドラッグしてみてください。しかし実際にはあなたが望んだとおりに動かなかったと思います。
インストール
Firefoxがあなたの拡張をアドオンとして認めるには拡張子を.xpiとしてzipファイルを与える必要があります。なので最初に7-Zipをインストールして(訳注:win7,win10以降は標準でzip圧縮できます。)、7z a catgifs.xpi manifest.json
と入力します。(もしあなたがMacやLinuxを使っているならzipコマンドが標準で入っています。なのでzip catgifs.xpi manifest.json
とタイピングするだけで大丈夫です)。そうしたら、 catgifs.xpi
をFirefoxにドラッグします。そうするとエラーが表示されます。なぜなら私たちのアドオンはまだ署名されていないからです。
about:config
に行き、xpinstall.signatures.required
と検索ボックスに入力し、エントリーをダブルクリックし、falseに設定し、タブを閉じます。その後、もう一度 catgifs.xpi
をFirefoxにドラッグしてみてください。新しいアドオンをインストールするかどうかの選択画面が現れるはずです!
ここで重要なことは、Firefox44(年内にリリース)で始める場合、Firefox Betaやリリースバージョンアドオンのブラウザにインストールするためには署名を要求します。なのでもしあなたが上の設定をセットした場合でも、このチュートリアルを行うためにはまだFirefox NightlyやDeveloper Editionが必要になります。
もちろん、私たちのアドオンはまだほとんど動きません。
なので修正してみましょう!
機能を加える
最初に、下のコードを manifest.jsonの
browser_action
:という記述が含まれている行の上に記述します。
<code> "background": { "scripts": ["background.js"], "persistent": false },</code>
もちろん現在、上に出てきたbackground.js
ファイルはまだ存在していませんので作成しましょう。下のjavascript をbackground.js
の中に貼り付けます。
<code>'use strict'; /*global chrome:false */ chrome.browserAction.setBadgeText({text: '(ツ)'}); chrome.browserAction.setBadgeBackgroundColor({color: '#eae'}); chrome.browserAction.onClicked.addListener(function(aTab) { chrome.tabs.create({'url': 'http://chilloutandwatchsomecatgifs.com/', 'active': true}); });</code>
そうするとこんな風になるはずです。 もう一度7z a catgifs.xpi manifest.json background.js
(もしくは zip catgifs.xpi manifest.json background.js
)とタイピングしてアドオンを再生成し, catgifs.xpi
をFirefoxに再度ドロップします。そしてボタンをクリックする新しいタブが開くようになりました!
Firefox 47 アドオン互換性情報
[これは Mozilla Add-ons Blog の記事 Add-on Compatibility for Firefox 47 の翻訳です]
Firefox 47 が 6 月 7 日 [日本時間同日深夜] リリース となります。Firefox 47 の変更点でアドオンの互換性に影響を及ぼす可能性のあるものを以下にまとめました。Firefox 47 for Developers により詳しい情報が載っていますので、こちらも併せてご覧ください。
一般
- FUEL が削除されました。FUEL ライブラリ は Firefox 40 以降廃止予定となっていました。
about:customizing
の先読みハックが削除されました。UI カスタマイズパネルはabout:customizing
URL を使って開かれなくなりました。gDevTools.jsm
がcommonjs
モジュールへ移動されました。今後はCu.import
の代わりにrequire("devtools/client/framework/devtools-browser");
を使って読み込む必要があります。このモジュールは後方互換性のためまだ動作しますが、将来的に削除されます。- Web ページから
view-source:
URL へリンクを貼ることはできなくなりました。
タブ
TabOpen
とTabClose
イベントが、ウィンドウ間で移動されたタブに関してさらなる詳細を提供するようになりました。- タブの
visibleLabel
プロパティとTabLabelModified
イベントが廃止されました。これは、タブに異なるラベルを付けることを可能にした以前の変更を取り消す形となります。
XPCOM
CookieManager
はuserContextId
が一致する Cookie のみ削除するようになりました。これにより、nsICookieManager.remove
に新たな必須引数originAttributes
が追加されました。nsIX509CertDB
に様々な変更が行われました。該当バグは Bug 1064402、Bug 1241646、Bug 1241650 です。多くの関数が変更されたため、ここではすべて取り上げません。- PSM で
nsIEnumerator
の使用が中止されました。これにより、listTokens
、listSlots
両関数に変更が加えられ、いずれもnsIEnumerator
の代わりにnsISimpleEnumerator
を返すようになりました。 nsINavHistoryQuery
からuriIsPrefix
オプションが削除されました。removeVisitsTimeframe
がHistory.removeVisitsByFilter
に置き換えられ、廃止予定となりました。
新機能
- 自動的に閉じる XUL パネルのデバッグが難しい問題が解決しました。アドオン内の ポップアップパネルをデバッグ できるようになりました。
- デスクトップ版 Firefox が
mozbrowser
のようなフレームに対応しました。トップレベルウィンドウで読み込まれているかのようにコンテンツに認識させられる 新たなiframe
API が実装されました。
この一覧に載っていない変更点や間違いを見つけたらコメント欄でお知らせください。もしあなたのアドオンが Firefox 47 で動かなくなった場合は、筆者の方でも調査したいと思います。
AMO に登録されているアドオンの 自動互換性テストと対応バージョンの更新 は数週間以内に行われますので、AMO に Firefox 46 対応のアドオンを登録している方は後日メールをチェックしてみてください。
Developer Edition 47:ユーザエージェントの変更、ポップアップデバッグなど
Developer Edition 47 – User agent emulation, popup debugging and more の抄訳です。
今週 Firefox Developer Edition 47 がリリースされました。この記事に関連して Devtools reload add-on や service worker tooling などのポストもあります。それぞれのトピックについては、そちらもぜひご参照下さい。この記事では、Developer Edition のその他の変更点についてまとめます。
ユーザエーエジェントの偽装
ユーザエージェントを変更できる機能が、レスポンシブデザインモードに追加されました。「Custom User Agent」にユーザエージェント名を入力するだけで、ユーザエージェントを変更できます。例えばモバイルブラウザのユーザエージェントを入力すれば、デスクトップでもスマートフォン向けサイトを見ることができます。
ユーザエージェントを変更している様子は、こちらのスクリーンキャストをご覧ください:
参照グラフの表示
前回のリリースで、ドミネータビューが追加されました。これはメモリを多く利用するアプリのデバッグを助けるツールでした。今回のリリースでは、これにパスパネルが追加されました。このパネルではノードがグラフとして表示され、その中の選択されたノードはガーベジコレクションの対象ではなくなります。この機能は、メモリリークのデバッグを行う際に有用です。詳細については、MDN の解説をご覧ください。
コンソールでの複数行入力
コンソールでの複数行入力がよりやりやすくなりました。Enter キーを押すだけで、入力が終了しているかどうかをコンソールが自動判断します。継続入力があると判断した場合は、次の入力行が表示されます。複数行を入力するのか、1 行のみの入力なのかを機にすることなく、コマンドを入力できるようになりました。
ストレージインスペクタ
ストレージインスペクタが、キャッシュストレージをサポートしました。Service worker のデバッグ時に有用な機能です。Service Worker のデバッグに関しては Sole Penadés のブログポストをご覧ください。
またツールバーにある検索ボックスを利用して、表示するコンテンツをフィルタできるようにもなりました。フィルタしている様子は、こちらのスクリーンショットをご覧ください:
テーマの変更
ツールボックスの表示も改善しました。標準のタブを少し短くすることや、メモリツールに新しくアイコンを追加といった小さな変更に加えて、いくつかの大きな変更もあります。ライトテーマの一新がその代表例です。より見やすく、洗練されたルック & フィールとなりました。
新しいライトテーマを利用した例は次のスクリーンショットをご覧ください:
またデバッガの表示も更新しました。条件付きのブレークポイントは、スクリーンショットのようにオレンジ色で表示されるようになりました:
ネットワークモニタのツールバーの位置も、画面上部に変更されました。これでよりアクセスしやくなり、他のツールとのデザイン上の一貫性も保たれるようになりました。
アドオン向け:ポップアップのデバッグ
WebExtensions のリリースに向けて、アドオンのデバッグを簡単にする機能を追加されつつあります。今回のリリースでは、ポップアップの調査を簡単に行うための機能が追加されました。この機能を利用すると、クリックしてもポップアップが消えないようにロックできるようになります。ブラウザツールボックスを起動し、右上にある 4 つの四角を持つアイコンをクリックすることで、ポップアップをロックできます。詳しくはこちらの記事をご覧ください。
また実際の利用例をこちらのスクリーンキャストでご覧いただけます:
Firefox 47: debugging popups in WebExtensions
その他の変更点
上記の変更点に加えて、ツールボックスに全般にわたって改善が行われています。特筆するべきものは、以下の 2 つです:
- DOM の属性を切り詰めて表示できるようになりました (Bug 1225063, development notes)
- 開発ツールバーで ‘mdn css’ と入力することで、MDN の文書を表示させられるようになりました (Bug 768469, development notes)
また、Firefox のマルチプロセス化の関係で、3D ビューが削除されました。この機能を利用されたい場合は、こちらのアドオンをご利用ください。
フォントインスペクタも、標準では無効化されるようになりました。将来的には再度有効化される予定ですが、現在のリリースで有効化するには、about:config で devtools.fontinspector.enabled の値を変更する必要があります。
Developer Edition のリリースに貢献いただいたみなさま、ありがとうございました!最新版をこちらからインストールして、フィードバックをお願いします。
Tim Nguyen について
Firefox の開発ツールのコントリビュータ。Web 開発と Web デザインに情熱を持つ。
Firefox 46 アドオン互換性情報
[これは Mozilla Add-ons Blog の記事 Add-on Compatibility for Firefox 46 の翻訳です]
Firefox 46 が 4 月 19 日 [日本時間同日深夜] リリース となります。Firefox 46 の変更点でアドオンの互換性に影響を及ぼす可能性のあるものを以下にまとめました。Firefox 46 for Developers により詳しい情報が載っていますので、こちらも併せてご覧ください。
一般
<tabbrowser>
のmTabListeners
とmTabFilters
プロパティが配列からMap
に変わりました。これらはプライベートプロパティですので、一般的に使用は避けるべきです。なお、プロパティ名も併せて変更されており、それぞれ_tabListeners
、_tabFilters
となっています。- e10s が有効の場合に
window.showModalDialog
が無効化されます。これまでのバージョンでは、e10s 有効時にこの API を使った場合、例外が投げられていました。今後はまったく存在しなくなるため、機能判別もしやすくなります。 - 古い配列・ジェネレータ内包が削除されました。配列内包 と ジェネレータ内包 は非標準の機能でした。バグのコメント 42 に書き換えのためのヒントがあります。
署名
- Firefox は今のところ、挙動を上書きするための設定を提供しつつ、アドオンの署名を強制しています。Firefox 46 でこの設定は完全に削除され、Firefox のリリース版でアドオンを動かすには必ず署名を付けなければならなくなります。あなたが取り得る選択肢はこの記事を参照してください。
新機能
- ランタイム許可設定を確認、要求するための JavaScript モジュールが追加されました。これは Android 版 Firefox 用です。ドキュメントに書かれている通り、このモジュールを使うと、あなたの拡張機能で許可設定を必要とする何らかの API を活用したい場合に、Android 版 Firefox が与えられている許可設定 (例えばカメラアクセス) を確認したり、それらを要求したりすることができます。
この一覧に載っていない変更点や間違いを見つけたらコメント欄でお知らせください。もしあなたのアドオンが Firefox 46 で動かなくなった場合は、筆者の方でも調査したいと思います。
AMO に登録されているアドオンの 自動互換性テストと対応バージョンの更新 は数週間以内に行われますので (Firefox 45 向けの更新もまだ保留となっています)、AMO に Firefox 45 対応のアドオンを登録している方は後日メールをチェックしてみてください。
Firefox 45 アドオン互換性情報
[これは Mozilla Add-ons Blog の記事 Add-on Compatibility for Firefox 45 の翻訳です]
Firefox 45 が 3 月 8 日 [日本時間同日深夜] リリース となります。Firefox 45 の変更点でアドオンの互換性に影響を及ぼす可能性のあるものを以下にまとめました。Firefox 45 for Developers により詳しい情報が載っていますので、こちらも併せてご覧ください。
一般
- JavaScript 式クロージャ (簡略関数構文) が廃止予定となりました。バグ報告によれば、
var x = function() 1;
のような構文が廃止されます。 - システムから WebIDL コンストラクタを関数として呼び出す方法が禁止されました。コンストラクタは常に
new
キーワードを使って呼び出さなければなりません。 jar:
URI の標準対応が打ち切られました。この変更はjar:
プロトコルで読み込まれている Web コンテンツにのみ影響します。
UI
- タブグループ (Panorama) が削除されました。既に先手を打って、必要な人のためにこの機能を復元する拡張機能が いくつか提供されています 。
- 地球アイコンが「i」アイコンに置き換えられ、安全なページの南京錠アイコンは別途表示されるようになりました。これにより、ロケーションバー上の URL 左端に表示されるサイト識別情報の見た目と挙動が変わります。
- コマンドボタン向けアイコンスプライトの使用が中止されました。これは開発者ツール内のボタンに手を加えている拡張機能やテーマにのみ影響します。
XPCOM
- お気に入りアイコンの
loadInfo
データ指定に読み込み中ドキュメントのプリンシパルが使われるようになりました。コメント 51 で変更点がうまく要約されています。mozIAsyncFavicons.setAndFetchFaviconForPage
あるいはmozIAsyncFavicons.replaceFaviconDataFromDataURL
を呼び出す場合、この新しいオプション引数を使って適切なプリンシパルを渡す必要があります。 removeAllPages
がhistory.clear()
に置き換えられる形で廃止予定となりました。nsIURIChecker
が削除されました。nsISaveAsCharset
が削除されました。インタフェースはまだ存在し動作するはずですが、メソッドが取る一部の引数は無視されるようになっています。listbox.selectedItems
の形式がnsIDOMNodeList
となりました。
署名
- Firefox は今のところ、挙動を上書きするための設定を提供しつつ、アドオンの署名を強制しています。Firefox 46 でこの設定は完全に削除され、Firefox のリリース版でアドオンを動かすには必ず署名を付けなければならなくなります。あなたが取り得る選択肢はこの記事を参照してください。
新機能
- 簡易 JSON アドオン更新プロトコルに対応しました。Firefox は、独自に自動更新を管理しているアドオンのために、既存 XML 形式の代わりとなる JSON 更新ファイル に対応しました。新しいアドオンについては JSON 形式の使用を推奨します。既存のアドオンについては、大半のユーザが 45 以降にアップグレードするまで切り替えるべきではありません。
この一覧に載っていない変更点や間違いを見つけたらコメント欄でお知らせください。もしあなたのアドオンが Firefox 45 で動かなくなった場合は、筆者の方でも調査したいと思います。
AMO に登録されているアドオンの 自動互換性テストと対応バージョンの更新 は数週間以内に行われますので、AMO に Firefox 44 対応のアドオンを登録している方は後日メールをチェックしてみてください。
アドオンの署名に関する最新情報
Firefox 43 から、アドオンのデジタル署名が初期設定で強制されるようになりました。この要件は、当初 Firefox 44 のベータ版とリリース版で削除される予定だった 設定を切り替える方法 で無効化することもできます (Firefox Nightly、Developer Edition および ESR では、この設定は当面存続します)。
いくつかの理由から、この設定の削除は Firefox 46 へ延期されました。まず、未署名の再起動不要アドオンを一時的に読み込む ことを可能にする機能を Firefox 45 へ追加する作業を進めており、これによって、そうしたアドオンの開発者はリリース版の Firefox を使って動作確認を行えるようになります。このオプションは設定を廃止する前に提供したいと考えています。また、開発者が署名済みアドオンへの移行を完了するまで十分な時間を確保したいと思っています。
署名に関する wiki ページを更新して 最新のスケジュール を記載しました。Firefox のバージョン別公開日 はリリース関連のページに載っています。Firefox 46 およびそれ以降のベータ版とリリース版では署名が必須となり、その時点でベータ版とリリース版を元にしたノンブランド版 Firefox もテスト用に提供します。
Firefox 44 アドオン互換性情報
[これは Mozilla Add-ons Blog の記事 Add-on Compatibility for Firefox 44 の翻訳です]
Firefox 44 が 1 月 26 日 [日本時間同日深夜] リリース となります。Firefox 44 の変更点でアドオンの互換性に影響を及ぼす可能性のあるものを以下にまとめました。Firefox 44 for Developers により詳しい情報が載っていますので、こちらも併せてご覧ください。
一般
- 開発者ツールのコードが
devtools
トップレベルディレクトリへ移動されました。これには テーマ や拡張機能に影響を及ぼす可能性のある様々なパスの変更が含まれます。特に、開発者ツールに関連する JavaScript モジュールは すべてresource://devtools/
以下に置かれるようになりました。 - [表示] > [ページスタイル] メニューを開いた際に安全でない CPOW 使用警告が表示される問題が修正されました。この変更により、グローバル関数
getAllStyleSheets
が削除され、似たような (まったく同じではない)getBrowserStyleSheets
が導入されました。 localStorage
の変更に関するセッションストア内の一貫性のない処理が修正されました。これによりMozStorageChanged
イベントがMozSessionStorageChanged
とMozLocalStorageChanged
へ分割されました。- Web コンテンツ上の Sherlock プラグインのインストール対応が廃止されました。検索プロバイダのアドオンは OpenSearch 形式を採用しなければなりません。
about:
ページからリモートコンテンツの読み込みが可能となりました。このバグでNewTabUrl.jsm
が廃止予定となりました。詳しくは このコメントを参照してください。
JavaScript
let
とconst
に互換性に影響する変更が行われました。Firefox 44 でついにlet
とconst
の実装が標準準拠となりましたが、これにより一部後方互換性のない変更も実装されることとなりました。詳しくはリンク先のブログ記事を参照してください。__noSuchMethod__
が削除されました。多くの場合 ES6Proxy
が適切な代替策となります。
テーマ
gIdentityHandler
が簡素化されました。これは、#urlbar
の使われなくなったlevel
属性に依存しているアドオンに影響します。このコメント で代わりの実装方法が説明されています。- 拡張機能アイコンにサイズ制限が課されました。これは大きすぎるツールバーアイコンがツールバーの見た目を損なうのを防ぐための措置です。
alert()
が他のタブからフォーカスを奪う問題が修正されました。これにより、テーマに影響を及ぼす可能性のある様々な変更がtabbrowser
バインディングへ行われました。- 通知バーから両端の境界線が削除されました。
署名
- 現行版の Firefox 43 で アドオンの署名 が必須となりましたが、一方でこの強制を上書きして無効化する設定項目も用意されています。Firefox 44 でこの設定も完全に削除されるため、Firefox の Release チャンネルでアドオンを動かすには必ず署名を付ける必要があります。取り得る選択肢については こちらの記事 を参照してください。
この一覧に載っていない変更点や間違いを見つけたらコメント欄でお知らせください。もしあなたのアドオンが Firefox 44 で動かなくなった場合は、筆者の方でも調査したいと思います。
AMO に登録されているアドオンの 自動互換性テストと対応バージョンの更新 は数週間以内に行われますので、AMO に Firefox 43 対応のアドオンを登録している方は後日メールをチェックしてみてください。
Firefox 43 アドオン互換性情報
[これは Mozilla Add-ons Blog の記事 Add-on Compatibility for Firefox 43 の翻訳です]
Firefox 43 が 12 月 15 日 [日本時間同日深夜] リリース となります。Firefox 43 の変更点でアドオンの互換性に影響を及ぼす可能性のあるものを以下にまとめました。Firefox 43 for Developers により詳しい情報が載っていますので、こちらも併せてご覧ください。
一般
dom/xbl/nsXBLService.cpp
でchannel->ascynOpen2
が使われるようになりました。コメント 64 でアドオンへの影響が説明されています。要約すれば、Web ページへ読み込まれたあらゆるコンテンツには、読み込み方法に関わらずcontentaccessible=yes
を持たせなければならないということで、そのためコンテンツに XBL を読み込んでいるアドオンはおそらくこの属性を追加する必要があるでしょう。@-moz-document
の使用がユーザスタイルシートと UA スタイルシートに制限されました。
XPCOM
nsIDOMHTMLCanvasElement::MozFetchAsStream()
が削除されました。これは非標準の内部用関数でしたが、一部のアドオンで使われています。代わりとなる方法については Canvas のドキュメント を参照してください。nsIUsageCallback
内でorigin
属性が使われるようになりました。これによりnsIQuotaManager
とnsIUsageCallback
に変更が加えられています。- セキュリティ問題の修正により、
nsIDocShell
、nsIDocShellLoadInfo
、nsISHEntry
インタフェースに多少の変更が行われました。ただし、これらの変更が影響するのは、バイナリレベルでこれらのコンポーネントを使用している場合に限られるはずです。
署名
- これは Firefox で 署名が必須となる 初めてのバージョンとなります。未署名のアドオンはインストールできず、初期設定で無効化されます。署名の強制を無効化する設定 (
about:config
内のxpinstall.signatures.required
) はありますが、今のところの予定では Firefox 44 でこの設定は廃止されます。
この一覧に載っていない変更点や間違いを見つけたらコメント欄でお知らせください。もしあなたのアドオンが Firefox 43 で動かなくなった場合は、筆者の方でも調査したいと思います。
AMO に登録されているアドオンの 自動互換性テストと対応バージョンの更新 は数週間以内に行われますので、AMO に Firefox 42 対応のアドオンを登録している方は後日メールをチェックしてみてください。
Firefox 42 アドオン互換性情報
[これは Mozilla Add-ons Blog の記事 Add-on Compatibility for Firefox 42 の翻訳です]
Firefox 42 が 11 月 3 日 [日本時間同日深夜] リリース となります。Firefox 42 の変更点でアドオンの互換性に影響を及ぼす可能性のあるものを以下にまとめました。Firefox 42 for Developers により詳しい情報が載っていますので、こちらも併せてご覧ください。
一般
- 接頭辞付き
mozRequestAnimationFrame
への対応が打ち切られました。 newTab.xul
がnewTab.xhtml
へ変更されました。- どのタブから音が鳴っているかを視覚的に知らせるインジケータが追加されました。これにより、タブの XBL バインディングに多少の変更が必要となったため、タブの挙動や表示に変更を加えるアドオンは影響を受ける可能性があります。
- バッジボタン (ソーシャルボタンなど) がオーバーフローとパネルメニューによって壊れる問題が修正されました。この問題はしばらく前からありましたが、このバージョンで修正されました。
new
なしにMap
/Set
/WeakMap
を呼び出すと例外が投げられるようになりました。
XPCOM
nsIContentPolicy::TYPE_SUBDOCUMENT
がTYPE_FRAME
とTYPE_IFRAME
に分割されました。これはnsIContentPolicy
を実装しているアドオンにのみ影響します。nsIPermissionManager
にorigin
が使われるようになりました。Permission Manager の許可設定はこれまでホストごとに処理されていましたが、配信元ごとに処理されるようになりました。つまり、https://mozilla.org
とhttp://mozilla.org
は別々の許可設定を持つようになります。これにより Permission Manager の一部メソッドに変更が加えられ、文字列の代わりに URI を受け付けるようになりました。
新機能
- スピードダイヤル風ホームパネルに大きなヘッダ画像を追加する API が提供されます。この API は Android 版 Fireofx 向けのアドオンで利用可能です。
この一覧に載っていない変更点や間違いを見つけたらコメント欄でお知らせください。もしあなたのアドオンが Firefox 42 で動かなくなった場合は、筆者の方でも調査したいと思います。
AMO に登録されているアドオンの 自動互換性テストと対応バージョンの更新 は数週間以内に行われますので、AMO に Firefox 41 対応のアドオンを登録している方は後日メールをチェックしてみてください。
アドオン署名の締め切りを延長します
[これは Mozilla Add-ons Blog の記事 Extending the deadline for add-on signing の翻訳です]
皆さんからのフィードバックを受けて、先週 Bug 1203584 が登録され、Firefox 41 と 42 のアドオン署名要件が無効化されました。これにより、署名の強制は 2015 年 12 月 15 日頃リリース予定の Firefox 43 へ延期されます。
新規 AMO 非掲載アドオンの審査待ちは (Andreas Wagner、別名 TheOne のたゆまない努力のおかげで) 短期間に保たれていますが、Firefox 42 がベータ版になる 9 月 22 日の締め切りまでに必要な変更を実装する十分な時間がないという声が多くの開発者から聞かれています。皆さんに一息つく時間をもたらすとともに、Mozilla 側でこの時間を利用してアドオン登録手順に多少の改善を加え、どのような審査が必要とされるのかをより明確にします。この作業は Bug 1186369 で行なわれています。
この新たなプロセスの展開にあたって皆さんの辛抱に感謝します。既にアドオンの署名を済ませた開発者には、素早い対応をしてもらっていることから、特に感謝の意を表したいと思います。