このサイトの記事更新は2019年11月に終了されました。過去記事アーカイブを公開しています。
投稿されたすべてのトピック
Firefox 46 サイト互換性情報
昨日、Firefox 45 Beta と Firefox 46 Developer Edition (Aurora) がリリースされました。いつも通りサイト互換性情報を用意していますので、Web 開発者の皆さんは一読されることをお勧めします。
もし一覧に漏れや間違いがあるときは下のコメント欄でお知らせください。
アドオンの署名に関する最新情報
Firefox 43 から、アドオンのデジタル署名が初期設定で強制されるようになりました。この要件は、当初 Firefox 44 のベータ版とリリース版で削除される予定だった 設定を切り替える方法 で無効化することもできます (Firefox Nightly、Developer Edition および ESR では、この設定は当面存続します)。
いくつかの理由から、この設定の削除は Firefox 46 へ延期されました。まず、未署名の再起動不要アドオンを一時的に読み込む ことを可能にする機能を Firefox 45 へ追加する作業を進めており、これによって、そうしたアドオンの開発者はリリース版の Firefox を使って動作確認を行えるようになります。このオプションは設定を廃止する前に提供したいと考えています。また、開発者が署名済みアドオンへの移行を完了するまで十分な時間を確保したいと思っています。
署名に関する wiki ページを更新して 最新のスケジュール を記載しました。Firefox のバージョン別公開日 はリリース関連のページに載っています。Firefox 46 およびそれ以降のベータ版とリリース版では署名が必須となり、その時点でベータ版とリリース版を元にしたノンブランド版 Firefox もテスト用に提供します。
オフラインの世界
原文: Beyond Offline ★ Mozilla Hacks – the Web developer blog on December 30, 2015 by Potch
これは私の個人的なブログの内容であるにもかかわらずMozilla Hacksとしての最初の投稿であり、Mozillianとしての最初の投稿でもあります!今月はずっとWeb Application Developer Initiative(WADI)のService Worker Cookbook projectに取り組んでいました。Service Worker Cookbook projectは私にService Workersの専門知識をアウトプットする機会を与えてくれて、それと同時にこのエキサイティングな新しいWebテクノロジーを活用する方法を学ばせて くれました。私の考えをシェアしてみませんか。
このシリーズの以前の投稿に私の同僚のDavid WalshがApplication Cacheの柔軟性の欠如について話しています。なので私はこのトピックについて詳しく掘り下げません。私はService Worker Cookbookのレシピの詳細を見ていこうかと思います。DavidはService Workerの導入といくつかのoffline recipesについて議論してくれました。私はもう少し広げてService Workerのほかの使い方についてみていこうかと思います。
今日におけるServiceWorker
まだ開発下であるにもかかわらず、Service Workersは世界中で使われていると聞き始めています。
最初の取り組みは、ナビゲーションコントロールの概念を導入することになりました。これは後にService Worker の fetch functional event の概念へと成長しました。つまり、ネットワークへ向かうリクエストを乗っ取り、ネットワークまたはデータベースより得たデータ、もしくは手続きに従って生成されたデータを返すやり 方です。良い点は?制御されているページは、乗っ取られていることを知る必要がないので(知らせを受け取ることは可能です)、サービスロジックは完全にア プリケーションロジックから切り離されています。完全な”中間者”です。
しかしハッカー(結局これもハッカーブログだからね!!)として、私たちが好むのは、そうすることが適切である問題に対しては「まっとうでない」解決策を 作ることで、時として「まっとうでない」とはあるものの使い方がその本来の目的とは異なっていることを意味します。Mozilla では WADIと Firefox OS initiative が Service Worker の次に挙げるような、本来の用法とは異なる使い方を探っています。
APIの解析
MitMアプローチの直接的な応用をやってみましょう:API analytics
あなたはAPIの使用方法の統計がほしい、そしてサーバーにアクセスできないと想定しましょう。従来の解決方法はクライアントコードに手を加え、HTTPリクエストを作成し適切なログをanalytics serviceに送信します。Service Workerは一枚上手で、それぞれのリクエストを捕まえて引数を抽出し、解析に備えてログを送信した上で、元の形のリクエストがネットワークに到達するようにできます。
パッケージ化されたアプリのインストール
他のユニークな使い方を探る前に、伝統に従いましょう。
Service Workerは installing packaged applicationsを 使いオフラインのリソースが使用できます。これはzipパッケージとしてダウンロードし、Service Worker有効時に解凍することができます。これはそれぞれのHTTPリクエストのオーバーヘッドを減らし、原始的な(一度の)操作によってダウンロー ドすることが可能です。フォントや画像などの静的なオフセットの自動キャッシュは”offlining”の良い例であり良い方法です。
サーバーを偽装する
上記のServiceWorkerがプロキシとして動作するMitMアプローチをもう一度考えて見ま しょう。ServiceWorkerはサーバーを偽装し、クライアントがネットワークを通して期待するAPIを実装することができます。Service workerはクライアントがネットワークを通して届いてほしいAPIを実装することもできます。
impersonate a serverライブラリはFirefox OSで開発されていて New Gaia Architecture と呼ばれるものをサポートしています。
New Gaia Architecture はアプリケーションや開発者にService Workers in a declarative way で記述することを許可し、Express (Node.jsのライブラリ)のクライアントサイドで動く環境をサポートしています。
機能的な現代のフレームワークを実装する。
Service Worker はモダンなフレームワーク用の構成要素として、独自の位置づけを確保しています。
例として、template interpolationを考えてみます。backbone.js や Angularのような現在のポピュラーなウェブアプリ用のフレームワークの多くは、テンプレートにプロパティを補間することで、モデルから動作するもの を作り出しています。上で述べた New Gaia Architecture では、render storeという概念を導入しています。これはオフラインキャッシュであり、テンプレートのデータモデルを補間した結果を格納しておきます。再びクライアント が同じモデルをリクエストしたときにはレンダーストアから取り出すことで、補間にかかる時間を節約することができます。
Dependency injection
現代的なフレームワークの他のポピュラーなコンセプトに dependency injectionがあります。これは依存するコードが依存関係を知る必要は無い状態です。
これは抽象的なインターフェースのみ知っていて、詳細な仕様はinjectorと呼ばれるabstract factoryから提供されます。Service Workerはinjectorとして動作します。
フレームワークはスクリプトタグを経由してそのコンポーネントのAPIの依存関係を宣言させます。その後Service Workerはinjectorとして動作し、抽象的なリソースのリクエストを特定して、実際のモジュールを返却します。
リクエストの遅延
もしデバイスが connectivityを持っていなくて、しかし連続して操作を受け入れていると最終的にクライアントアプリケーションやサービスが非同期になってしまいます。
フレームワークの面白い特徴としてリクエストの遅延をすることができます。例としてオフライン時のサービスworkerはAPIのリクエストを保留して接続が来たときにリクエストを解き放つことができます。
一方でServiceWorkerはクライアントにgeneric OK (status code 200)やACCEPTED (status code 202)などの サーバーの応答を模倣することができます。コネクションが復帰するとServiceWorkerはdeferred requestsキューからネットワークに対してリクエストを再作成し同期します。
Network logic のアイデア
最 後に、Service Workerはnetwork logicを含むこともできます。たぶんmultiplexing リクエストを複数のソースに使用することもできるでしょう。可用性や計測やそれぞれの正しいチャンネルを通り、返ってきたデータソースの質の計測もできま す。
結論を出す前に小さい例を挙げましょう。ユーザーはHDの動画を見たいため、アプリケーションは動画のURLをリクエストしま す。しかしコンテンツの提供が始まる前に、ServiceWorkerがリクエストを妨害し、サーバーにサーバー自身のロードレベルを聞きに行きます。一 番低いボリュームを選択し、その特定のサーバからコンテンツを提供開始します。なにか気づかないか?そう、これはロードバランサーだ!今はクライアント側で使える!すごいとは思わないか?
最後に
今はこれくらいにしておきましょう。7つの使い道、単にオフラインで使用するためにコンテンツをキャッシュするだけを超えた7つのユニークなレシピ。現在、 Service Worker Cookbook projectはService Workers APIによって提供される特徴を活用するためこれらのすべての(そのほかにもある)方法を公開しています。
そして私たちはここでとまらず、先へ行く。
Push API は定着し、 Background Sync ももうすぐです。
Service Workersの更なる情報や他のプラットフォームでの実装状況はPlatatusを参照してください。私たちはあなたの参加を待っています!
Trainspotting: 2015 年の Firefox
原文: Trainspotting: Firefox in 2015 on December 30, 2015 by Potch
Trainspotting は最新の Firefox に搭載された機能を紹介する連載記事です。新しい Firefox は 6 週間ごとにリリースされますが、Mozilla はこのサイクルを “release trains” と呼んでいます。
2015 年も終わりに近づいたということで、今年リリースされた Firefox についてお話ししようと思います! ブラウザで使える新しい奥の手から、私が気に入っている今年の新機能まで、以下にまとめてご紹介します。
Firefox 42 と 43 は、前回の Trainspotting を投稿した後にリリースされました。Firefox 42 のリリースノートはこちらを、Firefox 43 についてはこちらをご覧ください。
「コンソールで使う」(Firefox 43)
まずは身近な新機能から見てみましょう。インスペクタで選択した要素を調べたり操作したいとき、コンソールを使うと便利であったりします。これまでは querySelector で要素を探したり、(一部のブラウザでは)現在選択されている要素を $0 という特別な変数で参照していました。(今まで $0 を知らなかったのなら、今年最後のプレゼントですね!)Firefox 43 からのインスペクタでは、要素に対してコンテキストメニューを開き、メニュー内にある「コンソールで使う」をクリックすることで、調べたい要素を一時変数に代入することができます。以前の $0 変数とは異なり、コンソールに複数の一時変数を用意できるうえ、今までの参照を失うことなく他の要素を選択することができます。地道な改善ですが、これを使うと操作が楽になります。
プライバシー・セキュリティの新しいコントロールセンター (Firefox 42)
アドレスバーをクリックすることで、Web サイトと安全に接続できているかどうかを確認できるようになりました。Firefox 42 でセキュリティパネルのデザインが変更されたことで、Web サイトの安全性を確認しやすくなり、プライバシー設定とサイトに与える権限とを指定できるようになりました。この変更により、かつてはより多くのクリックが必要だったインターフェイスが改善されました。
要素のスクリーンショットをより簡単に (Firefox 41)
この機能はとても広く使われていることが分かりました!Firefox 41 のインスペクタでは、要素に対するコンテキストメニューで「ノードのスクリーンショットを撮影」をクリックすると、指定したページの一部をキャプチャできる機能が追加されました。
BroadcastChannel (Firefox 38)
この機能は私のお気に入りです。あるドメインで開かれているページから他のページに対し、メッセージをブロードキャストできる機能が追加されました。アプリの状態を同期させたり、イベント通知を行ったりするのに最適です。
// とあるタブ var ch = new BroadcastChannel('test'); ch.postMessage('this is a test'); // もう一つのタブ ch.addEventListener('message', function (e) { alert('I got a message!', e.data); }); // さらにもう一つのタブ ch.addEventListener('message', function (e) { alert('Avast! a message!' e.data); });
2015 年を振り返って
今年は素晴らしい年になり、Firefox の注目すべき新機能について数多くの記事を書きました。2015 年の Firefox がどのように成長し改善されてきたかを詳しく知りたい場合は、これまでに書かれた Trainspotting の連載記事をご覧ください。
2016 年にまた会いましょう!
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 45 サイト互換性情報
先週、Firefox 44 Beta と Firefox 45 Developer Edition (Aurora) がリリースされました。いつも通りサイト互換性情報を用意していますので、Web 開発者の皆さんは一読されることをお勧めします。延長サポート版 (ESR) となる Firefox 45 に先立って、44 には様々な変更が入っていますのでご注意ください。
もし一覧に漏れや間違いがあるときは下のコメント欄でお知らせください。
FirebugとDevToolsの統合
原文: Firebug & DevTools Integration on Oct 28, 2015 by Jan Honza Odvarko
Firebug 3
次のスクリーンショットを見てください。Firebug 3 (first beta) をインストールすると DevTools の見た目がどうなるかを示しています。よく似ていると思いませんか?
(Firebug.next として知られる)Firebug 3 はまだ AMO からは配布されていません。そのため(about:configから)xpinstall.signatures.required の設定を
false に変更する必要があります。
DevTools に移植された Firebug テーマは UI とレイアウトに関していくつかのメリットをもたらします。また、みなさんご存知の Firefox のツールバーにある Firebug のスタートボタンは developer toolbox のエントリーポイントを表します。
次の画面では Firebug Theme が有効になっています。
開発ツールの画面に切り替える方法は全く同じです。スタートボタンを押すか、F12 キーを押します。
DOM を調べるために DOM パネルをよく利用しているかもしれません。Firebug にその機能はありますが、(まだ)サポートされていません。
(多くの要望があった)コンソールパネル内の XHR プレビューもすでにサポートされています。
いくつかの人気のある拡張機能については DevTools の上に再実装されました。このことは人気の機能を使い続けられるということだけではなく、新しい拡張機能を直接 DevTools に対して作成する方法について、素晴らしいサンプルでもあります。これらの拡張機能を実行するのに Firebug は必須ではありません。
拡張機能の開発者のみなさんにとっては、こちらのサンプルコードやリソースへのリンクが DevTools を拡張する方法について役に立つでしょう。
それでは、どんな拡張機能があるのが見ていきましょう。
FireQuery extension
FireQuery は jQuery 開発のための Firefox プラグインです。DevTools 上に開発されました。Firebug 3 は必須ではありませんが、下記のスクリーンショットのいくつかは、DevTools の Firebug テーマが有効になっていることを示しています(その他のライトとダークテーマもサポートされています)。
jQuery data に関連づいた要素はコンソールパネルに小さな封筒のアイコンとともに表示されます。アイコンをクリックして要素を調べることができます。さらにコンソールパネルのツールバーには jQuerify ボタンがあり、現在のページに jQuery を読み込むことができます。
インスペクタパネルでも jQuery data に関連づく要素は封筒のアイコンが表示されます。アイコンをクリックするとポップアップで詳細が表示されます。
- 詳細は FireQuery home page をご覧ください。
- AMO から拡張機能をダウンロードしてください。
- test pageでこの拡張機能を試してください。
PixelPerfect extension
Pixel Perfect はWebデベロッパとデザイナが簡単に Web の構成要素に半透明のレイヤー(画像)をかぶせて確認することができる Firefox 拡張機能です。ピクセル単位で Web ページとレイヤーを比較して確認することができます。
この機能拡張は、ショートカットとして Pixel Perfect ボタンを追加します。
下記の画面はボタンをクリックした時に表示されるPixel Perfect機能拡張のUIです。
- 詳しくは Pixel Perfect home page をご覧ください。
- AMO から拡張機能をダウンロードしてください。
HAR export
ネットワークパネルから HAR (the HTTP Archive format)にエクスポートする機能は、標準機能に組み込まれました。これからは追加の拡張機能は必要なくなります。ネットワークパネルを選択(もし必要ならWebページをリロード)して、次の2つのコンテキストメニューを使います。
- Copy All As HAR: データをクリップボードにコピーします。
- Save All As HAR: データをファイルに保存します。
ネットワークパネルからのデータエクスポートは自動化されることがよくあります(例: Selenium を使ったテスト時など)。Web ページを読み込むたびに自動的に HAR ファイルを作成したい場合は、(about:configから)下記の設定を true に変更します。
devtools.netmonitor.har.enableAutoExportToFile
ページをロードするたびに HAR ファイルを作成することについて、自動化システムの中にはもっと柔軟に行えるものもあります。リモートサーバからデータを送信し、ユーザーのアクションに応じて、HAR をエクスポートするなどです。これが私たちが HARExportTrigger 拡張機能を導入した理由です。これは HAR API を使ってページのコンテンツをエクスポートする操作の自動化を改善します。簡単なスクリプトで HAR エクスポートをいつでも実行することができます。
下記はネットワークパネルから HAR データを取得するサンプルスクリプトです。
<code>var options = { token: "test", getData: true, }; HAR.triggerExport(options).then(result => { console.log(result.data); }); </code>
- 詳細は HAR Export Trigger の Web サイトをご覧ください。
- AMO から拡張機能をダウンロードする。
サーバサイドで console.*
APIを使用するには
Firebug コミュニティによってサーバサイドで console.*
API を使うことを可能にする多くのエクステンションが開発されました。そのため、バックエンドのログをブラウザーですぐに見ることができます。この機能は Firefox でネイティブサポートされたので、追加のエクステンションをインストールする必要はなくなりました。
コンソールパネルでサーバからのログを有効にするだけです。
本機能は(Chrome Logger で使われているような)HTTP ヘッダを通じてログを送るという既存のプロトコルをサポートしています。JavaScript のログ出力のように、継続的にコンソールパネルに表示されます。すでに様々な言語(NodeJS, Ruby, Python, PHP, .NET, Java など)で適切なサーバサイドの API を提供する多くのライブラリが存在します。
下記はサーバサイドのログ出力のサンプルコードです:
<code>var chromelogger = require('chromelogger'); var http = require('http'); var server = http.createServer(); server.on('request', chromelogger.middleware); server.on('request', function(req, res) { res.chrome.log('Hello from Node.js %s', process.version); res.end(); });</code>
<code></code>
そして、下記の画面はコンソールパネルにサーバサイドのログがどのように表示されるかを示しています。
最後に
冒頭でご説明したように、私たちはネイティブの Firefox Developer tools (DevTools) と Firebug を統合しようとしています。それが Web デベロッパーのみなさんに素晴らしい開発ツールを提供するための効果的な戦略だと確信しているためです。まだまだ言い足りないことがありますが、この記事ではプランの概要と目標を示すにとどめたいと思います。続報をご期待ください!
記事のフィードバックは Firebug group にお寄せください。
Jan ‘Honza’ Odvarko
Jan Honza Odvarko について
Firebugチームリーダー
Firefox 44 サイト互換性情報
先々週、Firefox 43 Beta と Firefox 44 Developer Edition (Aurora) がリリースされました。modest でタイムリーに告知しそびれてしまいましたが、いつも通りサイト互換性情報を用意していますので、Web 開発者の皆さんは一読されることをお勧めします。
もし一覧に漏れや間違いがあるときは下のコメント欄でお知らせください。
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 対応のアドオンを登録している方は後日メールをチェックしてみてください。