Firefox 49 for developers
Firefox の最新の開発者向け機能を試すには、 Firefox Developer Edition をインストールしてください。 Firefox 49 は、米国時間 2016 年 9 月 20 日にリリースされました。このページでは、開発者に影響する Firefox 49 の変更点をまとめています。
ウェブ開発者向けの変更点一覧
開発者ツール
- コンソールに記録された JavaScript のエラーで、デバッグのためのヒントを [Learn more] リンクで提供します (Firefox バグ 1179876)。
- CSS オートコンプリート: オートコンプリートのポップアップで、より多くの候補を表示します (Firefox バグ 1260419)。
- アニメーションインスペクターで、アニメーションのパフォーマンス情報を提供する ようになりました (Firefox バグ 1254408)。
- インスペクターのコンテキストメニュー を、よりきれいで使いやすくなるように再編しました (Firefox バグ 1211613)。
- インスペクターで、
#RRGGBBAAおよび#RGBA構文の色の値をサポートしました (Firefox バグ 1271191)。 - HTML のページにおける開発ツールで、自己完結タグ (
<br>や<img>など) が終了タグを持つかのように表示しないようになりました。XHTML ページではこの動作を変更していません (Firefox バグ 820926)。 - アクセシビリティが向上しました。
- ツールボックスで、キーボードフォーカスが見やすくなるように対処しました (Firefox バグ 1242851)。
- アクセシビリティのラベルがついていないコントロールに、ラベルを追加しました (Firefox バグ 1242715)。
- インスペクターのマークアップビューに、適切なツリービューの意味とキーボードナビゲーションを追加しました (Firefox バグ 1242694)。
- ネットワークモニター に Cause 列を追加しました。個々のネットワークリクエストを発生させたのは何かを示します (Firefox バグ 1134073)。
- about:debugging のアドオンページで、再読み込みボタンは一時的なアドオンに限り使用できるようになりました。他のアドオンでは無効になります (Firefox バグ 1273184)。
- about:debugging の Workers ページで、現在のブラウザーの設定に対して 互換性がない service worker について、警告メッセージを Service Workers セクションに表示するようになりました (Firefox バグ 1266415)。
- about:debugging で、新たに Tabs ページ が使用可能になりました。現在の Firefox のインスタンスで開いている、デバッグ可能なタブを一覧表示します (Firefox バグ 1266128)。
- ツールボックスの詳細設定 の [キャッシュを無効化] を、[HTTP キャッシュを無効化] に改名しました。HTTP キャッシュに影響があり、Service Workers や Cache API には影響がないことを明確にするためです (bug(1253018))。
- ストレージインスペクターのコンテキストメニューで IndexedDB データベースを削除できるようになりました (Firefox バグ 1205123)。また、何らかの理由で IndexedDB が削除できない (例えばアクティブな接続が存在する) 場合に警告メッセージを表示します (Firefox バグ 1268460)。
HTML
<details>要素および<summary>要素をサポートしました (Firefox バグ 1226455)。<input>要素のpattern属性は、背後の JavaScriptRegExpで'u'引数ーを使用するようになりました (Firefox バグ 1227906)。- 仕様書の変更に合わせて、
<track>要素のkind属性で無効な値は、'subtitles'ではなく'metadata'と同様に扱うようになりました (Firefox バグ 1269712)。 <iframe>要素のsandbox属性で値'allow-popups-to-escape-sandbox'および'allow-modals'をサポートしました (Firefox バグ 1190641)。- microdata 属性および Microdata API のサポートを廃止しました (Firefox バグ 909633)。
<a>要素のreferrerpolicy属性で値'no-referrer-when-downgrade' および'origin-when-cross-origin'をサポートしました (Firefox バグ 1178337)。<label>要素のformコンテンツ属性を削除しました。HTMLLabelElement.formはまだ存在していますが、コントロールが存在する (およびそのコントロールがフォームに関連付けられている) 場合に、ラベルのコントロールが関連付けられているフォームを返すようになりました (Firefox バグ 1268852)。
CSS
- 背景画像を描画する位置のオフセットを水平方向および垂直方向に分けて指定できる、
background-position-xプロパティおよびbackground-position-yプロパティをサポートしました。これらはbackground-positionを構成します (Firefox バグ 550426)。 background-repeatで、キーワードroundおよびspaceをサポートしました (Firefox バグ 548372)。background-clipで、キーワードtextをデフォルトで有効化しました (Firefox バグ 1264905)。- 4 桁および 8 桁の 16 進数による CSS 色 の値 (#RRGGBBAA や #RGBA) による、アルファチャンネルを含む色の指定をサポートしました (Firefox バグ 567283)。
:dir()(en-US) 疑似クラスの接頭辞を外しました (Firefox バグ 859301)。clip-pathの実験的な実装 (デフォルトで有効化していません) で、複数の<basic-shape>値の間で補間処理が可能になりました (Firefox バグ 1110460)。- 長さの単位
qをサポートしました (Firefox バグ 1274526)。 text-align-lastプロパティの接頭辞を削除しました (Firefox バグ 1039541)。overflow-wrapをサポートしました。word-wrapを置き換えるものですが、こちらも別名としてサポートを続けます (Firefox バグ 955857)。- CSS グリッド の実験的な実装が進展しました。
<percentage>をgrid-gap、grid-row-gap、grid-column-gapプロパティで対応しました (Firefox バグ 1266268)。align、justify-self:baseline、last-baseline("baseline self-alignment" として知られる) でグリッドレイアウトをサポートしました (Firefox バグ 1221525)。- グリッドアイテムの Baseline Content Alignment を実装しました (Firefox バグ 1256429)。
- CSS マスク の実験的な実装が進展しました。
mask-originプロパティの初期値を、仕様書に合わせてpadding-boxからborder-boxに変更しました (Firefox バグ 1258286)。mask-repeatプロパティで値spaceおよびroundをサポートしました (Firefox バグ 1258626)。mask-position属性でアニメーションを行えない問題を修正しました (Firefox バグ 1273804)。
text-emphasisを制御する設定項目を削除しました。このプロパティを無効化することはできません (Firefox バグ 1229609)。
JavaScript
- ES2015 の
ProxyのトラップであるgetPrototypeOf()およびsetPrototypeOf()を実装しました (Firefox バグ 888969)。 - ES2015 の
RegExp.prototype[@@match]()、RegExp.prototype[@@replace]()、RegExp.prototype[@@search]()、RegExp.prototype[@@split]()メソッドおよびRegExp[@@species]getter を実装しました (Firefox バグ 887016)。 - 非推奨かつ非標準である、
String.prototype.match/search/replaceのflags引数を廃止しました (Firefox バグ 1108382)。 - Google Chrome ブラウザーとの相互運用性を高めるため
Date.parse()で、2 桁で表す年の処理を変更しました (Firefox バグ 1265136)。
インターフェイス/API/DOM
DOM & HTML DOM
DOMTokenList.supports()メソッドを追加しました (Firefox バグ 1257849)。DOMTokenList.replace()メソッドを追加しました (Firefox バグ 1224186)。URLSearchParams()コンストラクターの引数で、先頭の'?'文字は無視するようになりました (Firefox バグ 1268361)。URL.origin、HTMLAnchorElement.origin、HTMLAreaElement.originでblob:スキームの URL を使用した場合の返値が、誤った値であるnullではなく、先頭のblob:を除いた URL のオリジンになりました (Firefox バグ 1270451)。- プリレンダリングモードで、
Document.visibilityStateプロパティが'prerender'を返すようになりました (Firefox バグ 1069772)。 isSecureContextプロパティを実装しました (Firefox バグ 1162772)。- DOM4 の
ChildNode.before()(en-US)、ChildNode.after()(en-US)、ChildNode.replaceWith()(en-US)、ParentNode.append(en-US)、ParentNode.prepend(en-US) メソッドを実装しました (Firefox バグ 911477)。 TouchList.identifiedTouch()メソッドを削除しました (Firefox バグ 1188539)。Window.open()を呼び出した際に、Windowのscrollbars特性をデフォルトで有効にしました。従来から、これは有効化することが強く推奨されていましたが、デフォルトでは有効化していませんでした (Firefox バグ 1257887)。- 動画コンテンツの frame-by-frame シークを可能にする、実験的かつ非標準の
HTMLMediaElement.seekToNextFrame()メソッドを追加しました (Firefox バグ 1235301。これがどれだけ役に立つかを私たちが理解するのを助けるために試用することをお勧めしますが、製品版のコードでは使用しないでください! HTMLLabelElement.formプロパティが、コントロールが存在する (およびそのコントロールがフォームに関連付けられている) 場合に、ラベルのコントロールが関連付けられているフォームを返すようになりました。以前は、このプロパティを使用して label を直接フォームに関連付けていました (Firefox バグ 1268852)。EventTarget.addEventListener()の第 3 引数でサポートする値に、BooleanおよびEventListenerOptionsを追加しました (Firefox バグ 1266164 および Firefox バグ 1266066)。KeyboardEvent.keyで、音量に関する値を改名しました。"VolumeDown"は"AudioVolumeDown"に、"VolumeUp"は"AudioVolumeUp"に、"VolumeMute"は"AudioVolumeMute"に変わりました。この変更により、Firefox が UI Events 仕様の最新ドラフトに準拠しました (Firefox バグ 1272578)。使用可能なすべてのキーコードについては、Code values for keyboard events (en-US) をご覧ください。- 以前は
"MozHomeScreen"、"MozCameraFocusAdjust"、"MozPhoneCall"として参照されていたキーに、UI Events 仕様で公式な名称がつきました。"GoHome"、"CameraFocus"、"Call"になります。Firefox 49 で、新しい名称を使用するように更新しました (Firefox バグ 1272599)。使用可能なすべてのキーコードについては、Code values for keyboard events (en-US) をご覧ください。 - キーの値
"Separator"および"MediaSkip"は、非推奨になったうえに使用されていませんので、削除しました (Firefox バグ 1232919)。 - キーの値
"Hyper"および"Super"とそれらに対応するキーコードを、過去のモディファイアキーを表すように追加しました (Firefox バグ 1232919)。 - マルチメディア数値キーパッド用に、2 つのキーの値を追加しました:
"Key11"、"Key12"(Firefox バグ 1232919)。 - オーディオコントロールキー用に、以下の新たなキーの値を追加しました:
"AudioBassBoostToggle"、"AudioTrebleDown"、"AudioTrebleUp"(Firefox バグ 123919)。 - マイクコントロールキー用に、以下のキーの値を追加しました:
MicrophoneToggle、MicrophoneVolumeDown、MicrophoneVolumeUp、MicrophoneVolumeMute(Firefox バグ 123919)。 - 音声認識デバイス用に、以下の新たなキーの値を追加しました: "
SpeechCorrectionList"、SpeechInputToggle(Firefox バグ 1232919)。 - 電話機の特殊キーをサポートするため、以下のキーの値を追加しました:
AppSwitch、Call、CameraFocus、EndCall、GoBack、GoHome、HeadsetHook、LastNumberRedial、Notification、MannerMode、VoiceDial(Firefox バグ 1232919)。 - アプリケーションキー用に、以下のキーの値を追加しました:
LaunchContacts、LaunchPhone(Firefox バグ 1232919)。 - テレビデバイス用に、以下の新たなキーの値を追加しました:
TV3DMode、TVAntennaCable、TVAudioDescription、TVAudioDescriptionMixDown、TVAudioDescriptionMixUp、TVContentsMenu、TVDataService、TVInput、TVInputComponent1、TVInputComponent2、TVInputComposite1、TVInputComposite2、TVInputHDMI1、TVInputHDMI2、TVInputHDMI3、TVInputHDMI4、TVInputVGA1、TVMediaContext、TVNetwork、TVNumberEntry、TVRadioService、TVSatellite、TVSatelliteBS、TVSatelliteCS、TVSatelliteToggle、TVTerrestrialAnalog、TVTerrestrialDigital、TVTimer、DVR(Firefox バグ 1232919)。 - キーの値
MediaSelectを、標準のキーの値であるLaunchMediaPlayerに置き換えました (Firefox バグ 1272592)。 - メディアプレイヤーの付加機能キーの値を追加しました。
MediaAudioTrack、MediaSkipBackward、MediaSkipForward、MediaStepBackward、MediaStepForward、MediaTopMenu、NavigateIn、NavigateNext、NavigateOut、NavigatePreviousです (Firefox バグ 1232919)。
Canvas
- Canvas にフィルターを追加する機能を提供する
CanvasRenderingContext2D.filter(en-US) プロパティがデフォルトで有効になり、設定の切り替えが不要になりました (Firefox バグ 1173545)。
WebGL
- WebGL 2 (en-US) の
EXT_color_buffer_float(en-US) 拡張を実装しました (Firefox バグ 1129332)。 - WebGL コンテキストの作成が失敗したときに発生する、
webglcontextcreationerrorイベントを実装しました (Firefox バグ 1271478)。デバッグや製品版のエラー制御において、何が誤っているかの理解を助けるために使用してください。
IndexedDB
- IndexedDB のインデックスがリネーム可能になりました。
IDBIndex.name(en-US) プロパティが読み書き可能になっています (Firefox バグ 1118028)。 IDBObjectStoreもリネーム可能になりました。IDBObjectStore.name(en-US) プロパティが読み書き可能になっています (Firefox バグ 1118028)。
サービスワーカー関連
- フェッチ API の
Responseオブジェクトに、リダイレクトされたリクエストのレスポンスであるかを示すredirectedプロパティを実装しました。このプロパティを使用する前に、ドキュメントでセキュリティ関連の注意事項を確認してください (Firefox バグ 1243792)。 - Permissions API で、Firefox は
PermissionDescriptor辞書型 (仕様書ではPushPermissionDescriptorとして言及されています) の 'push' のサポートを廃止しました。Firefox はuserVisibleOnlyステータスの制御で代わりにクォータシステムに依存しており、PushPermissionDescriptorインスタンスに出くわしたときにエラーが発生していたためです (Firefox バグ 1266821)。この辞書の削除により、Firefox は単に無視するようになりました。
メディアストリーム
- 以前はユーザーが 2 種類のハードウェアのうち一方しか使用できない状況で、音声および映像を要求する
MediaDevices.getUserMedia()の呼び出しが成功していました。この問題を修正しました (Firefox バグ 802326)。 - 以前のバージョンの Firefox では、合致するデバイスのうち (両方ではなく) 一方のアクセスが拒否されたにもかかわらず、音声および映像を要求する
MediaDevices.getUserMedia()の呼び出しが成功していました。この問題を修正しました (Firefox バグ 802326)。これはユーザーインターフェイスを若干変更させており、ユーザーが許可を求められる際の選択肢で "No audio" や "No video" を削除しました。 MediaStream.getTrackById()メソッドを実装しました (Firefox バグ 1208390)。
WebRTC
- 指定したストリームを構成していないトラックをコネクションへ追加できるように、
RTCPeerConnection.addTrack()(en-US) メソッドを更新しました。代わりに、コネクションの受信側でトラックをまとめるためにストリームが使用されます (Firefox バグ 1271669)。
新規 API
PerformanceObserverAPI を、Nightly でデフォルトで有効にしました (Firefox バグ 1271487)。他のバージョンの Firefox 49 では、デフォルトで無効化しています (Firefox バグ 1271487)。
その他
XMLHttpRequest.getResponseHeader()およびXMLHttpRequest.getAllResponseHeaders()で、設定項目network.http.keep_empty_response_headers_as_empty_stringがtrueに設定されている場合は、空のヘッダーを返すようになりました (Firefox バグ 669259)。- Firefox OS 限定の Data Store API を削除しました (Firefox バグ 1261009)。
- Fullscreen API の
Document.onfullscreenchange、Document.onfullscreenerrorイベントハンドラーを、Elementから削除しました。そこでは発生していなかったためです。ただし、接頭辞付きのイベントハンドラーは互換性のために維持しています (Firefox バグ 1270386)。これは設定項目full-screen-api.unprefix.enabledで制御されており、デフォルトで有効化していないことに注意してください (Firefox バグ 1268749)。 - 廃止済みの
Document.mozFullScreenプロパティの接頭辞を削除して、Document.fullscreenとしました (Firefox バグ 1269157}。これは設定項目full-screen-api.unprefix.enabledで制御されており、デフォルトで有効化していないことに注意してください (Firefox バグ 1268749)。 - 読み取り専用の
Document.fullscreenElementおよびDocument.fullscreenEnabledプロパティで、値を変更しようとしても例外が発生しないようになりました。代わりに新しい値は暗黙的に無視され、setter 関数は何も行いません (Firefox バグ 1269798)。 DataTransfer.getData()で、どのような種類のデータでもクリップボードから取り出せるようになりました。以前は、特定の MIME タイプのデータのみ取り出し可能でした (Firefox バグ 860857)。- Frame Timing API の実装を削除しました。これは、
PerformanceCompositeTimingおよびPerformanceRenderTimingの 2 つのインターフェイスで構成されていましたが、仕様書が全面的に書き直されたためです (Firefox バグ 1271846)。 - 仕様書に合わせて、
VTTCue.positionAlign(en-US) プロパティがAlign列挙型ではなくPositionAlign列挙型を返すようになりました (Firefox バグ 1276129)。 - ウェブ音声 API の、音声合成の部分をサポートしました (Firefox バグ 1268633)。
- Performance Timeline API を、Nightly でデフォルトで有効化しました (Aurora、Beta、Release では無効です)。
installイベントおよびWindow.oninstallイベントハンドラーをウェブマニフェスト向けにサポートしました (Firefox バグ 1265279)。- ウェブオーディオ API の
AudioContext.createPeriodicWave()メソッドを使用するとき、結果の周期的な波形をノーマライズすべきかを、第 3 引数にディクショナリーオブジェクトを含めることで指定可能になりました。このオブジェクトにはひとつの引数を含めて{disableNormalization: true}のようにします (Firefox バグ 1265405)。 - WebVTT API で
VTTCue.positionAlign(en-US) が、仕様書どおりに正しくPositionAlignSetting列挙型を返すようになりました。以前はAlignSetting列挙型を返していました (Firefox バグ 1276129)。 - ウェブ音声 API の音声合成の部分を、すべてのデスクトップブラウザーでデフォルトで有効にしました (Firefox バグ 1268633)。
- ウェブアニメーション API の
Animation()コンストラクターが、null タイムラインを受け入れるようになりました (Firefox バグ 1096776)。 KeyframeEffect(en-US) のtarget(en-US) プロパティが Firefox で対応されました。ウェブアニメーションを有効にした場合です。 (Firefox バグ 1067769).
MathML
変更なし。
SVG
- 非推奨の
<altGlyph>、<altGlyphDef>、<altGlyphItem>要素のサポートを廃止しました (Firefox バグ 1260032)。
Audio/Video
変更なし。
プラグインと Flash
Firefox 49 より、サイトが正しく機能するために必要ではない特定の種類の Flash コンテンツをデフォルトでブロックするようになりました。この動作は設定項目 browser.safebrowsing.blockedURIs.enabled で制御しており、サイトのユーザービリティに大きな影響を与えることなく、一般的にはサイトや Firefox のパフォーマンスを向上する助けになります。また、クラッシュの主要な原因を取り除くことにより、ブラウジング体験の安定性を向上する助けにもなります。ブロックされる Flash モジュールにはフィンガープリンティングのためだけに使用されるものやいくつかの "スーパー Cookie" モジュールが含まれまており、将来はより多くの種類のモジュールをブロックするように拡張するでしょう。詳しくは Firefox バグ 1275591 をご覧ください。
これはプラグインがない未来への行程の、次のステップになります。機能を果たすためにプラグインを必要としない段階に、HTML はとても近づいています。
HTTP
Cache-Control: immutableディレクティブを実装しました (Firefox バグ 1267474)。詳しくは ブログ記事 もご覧ください。Content-Security-Policyのrequire-sri-forを実装しました (Firefox バグ 1265318)。
ネットワーク
- Proxy Auto-Configuration (PAC) の実装を更新しました。
weekdayRange、dateRange、timeRangeで "リバースレンジ" をサポートしました。例えばweekdayRange("SAT", "MON")は、当日が土曜日、日曜日、月曜日である場合にtrueになります (Firefox バグ 1251332)。
セキュリティ
isSecureContextプロパティを実装し、これが安全なコンテキストを必要とする機能を使用できるコンテキストであるかを示ようになりました (Firefox バグ 1162772)。
互換性
既存のコンテンツとの互換性を高めるために、一部の webkit 接頭辞つきプロパティおよび属性を Firefox で受け入れるようになりました。
- 以下のプロパティは、
-webkit接頭辞がついていても動作します。-webkit-align-items-webkit-align-content-webkit-align-self-webkit-animation-webkit-animation-delay-webkit-animation-direction-webkit-animation-duration-webkit-animation-fill-mode-webkit-animation-iteration-count-webkit-animation-name-webkit-animation-play-state-webkit-animation-timing-function-webkit-backface-visibility-webkit-background-clip-webkit-background-origin-webkit-background-size-webkit-border-bottom-left-radius-webkit-border-bottom-right-radius-webkit-border-image-webkit-border-top-left-radius-webkit-border-top-right-radius-webkit-border-radius-webkit-box-shadow-webkit-filter-webkit-flex-webkit-flex-basis-webkit-flex-direction-webkit-flex-flow-webkit-flex-grow-webkit-flex-shrink-webkit-flex-wrap-webkit-justify-content-webkit-order-webkit-perspective-webkit-perspective-origin-webkit-text-size-adjust-webkit-transform-webkit-transform-origin-webkit-transform-style-webkit-transition-webkit-transition-delay-webkit-transition-duration-webkit-transition-property-webkit-transition-timing-function-webkit-user-select
- 以下のプロパティは、同等の接頭辞つきプロパティに紐づけています:
-webkit-box-flex-webkit-box-ordinal-group-webkit-box-orient-webkit-box-align-webkit-box-pack
<image>の値について:-webkit-linear-gradient()、-webkit-radial-gradient()、-webkit-repeating-linear-gradient()、-webkit-repeating-radial-gradient()関数は、接頭辞なしの同等物に紐づけています。- 旧式の
-webkit-gradientをサポートします (また、正規のグラデーションに変換します)。
- 以下の
displayの値を変換します:-webkit-boxを-moz-boxに変換-webkit-flexをflexに変換-webkit-inline-boxをinline-flexに変換-webkit-inline-flexを-moz-inline-flexに変換
- 以下のプロパティをサポートします (接頭辞なしの同等物に紐づけません)。
WebKitCSSMatrixインターフェイスをDOMMatrixの別名にしました。- 以下のメディアクエリー特性を実装しました:
-webkit-min-device-pixel-ratioをmin-resolutionの別名として、同じ値 (dppx) で実装しました。ただし、この機能は デフォルトで無効 です (about:config の設定layout.css.prefixes.device-pixel-ratio-webkitで制御)。-webkit-max-device-pixel-ratioをmax-resolutionの別名として、同じ値 (dppx) で実装しました。この機能も about:config の同じ設定で、デフォルトで無効にしています。-webkit-transform-3dがマッチするようになりました。3D Transform をサポートすることを示します。
アドオン開発者と Mozilla 開発者向けの変更点
WebExtensions
historyをサポートしました。この機能でブラウザーの履歴にアクセスでき、履歴の検索、以前アクセスしたページの情報を取得、履歴項目の追加や削除を可能にするメソッドがあります。- tabs API に
tabs.removeCSS()(en-US) メソッドを追加しました。このメソッドで、以前にtabs.insertCSS()(en-US) を呼び出して挿入した CSS を削除できます。
インターフェイス
EventTarget.addEventListener()で、XBL または Firefox の chrome で実行するコードに限り有効化されている値mozSystemGroupをサポートしました。これは、リスナーがシステムグループに追加されるかを示すBooleanです (Firefox バグ 1274520)。
その他
変更なし。
過去のバージョン
- Firefox 48 for developers
- Firefox 47 for developers
- Firefox 46 for developers
- Firefox 45 for developers
- Firefox 44 for developers
- Firefox 43 for developers
- Firefox 42 for developers
- Firefox 41 for developers
- Firefox 40 for developers
- Firefox 39 for developers
- Firefox 38 for developers
- Firefox 37 for developers
- Firefox 36 for developers
- Firefox 35 for developers
- Firefox 34 for developers
- Firefox 33 for developers
- Firefox 32 for developers
- Firefox 31 for developers
- Firefox 30 for developers
- Firefox 29 for developers
- Firefox 28 for developers
- Firefox 27 for developers
- Firefox 26 for developers
- Firefox 25 for developers
- Firefox 24 for developers
- Firefox 23 for developers
- Firefox 22 for developers
- Firefox 21 for developers
- Firefox 20 for developers
- Firefox 19 for developers
- Firefox 18 for developers