Firefox 49 は、米国時間 2016 年 9 月 20 日にリリースされました。このページでは、開発者に影響する Firefox 49 の変更点をまとめています。
ウェブ開発者向けの変更点一覧
開発者ツール
- コンソールに記録された JavaScript のエラーで、デバッグのためのヒントを [Learn more] リンクで提供します (バグ 1179876)。
- CSS オートコンプリート: オートコンプリートのポップアップで、より多くの候補を表示します (バグ 1260419)。
- アニメーションインスペクターで、アニメーションのパフォーマンス情報を提供する ようになりました (バグ 1254408)。
- インスペクターのコンテキストメニュー を、よりきれいで使いやすくなるように再編しました (バグ 1211613)。
- インスペクターで、
#RRGGBBAA
および#RGBA
構文の色の値をサポートしました (バグ 1271191)。 - HTML のページでは開発ツールで、self-closing タグ (
<br>
や<img>
など) が終了タグを持つかのように表示しないようになりました。XHTML ページではこの動作を変更していません (バグ 820926)。 - アクセシビリティが向上しました。
- ツールボックスで、キーボードフォーカスが見やすくなるように対処しました (バグ 1242851)。
- アクセシビリティのラベルがついていないコントロールに、ラベルを追加しました (バグ 1242715)。
- インスペクターのマークアップビューに、適切なツリービューの意味とキーボードナビゲーションを追加しました (バグ 1242694)。
- ネットワークモニター に Cause 列を追加しました。個々のネットワークリクエストを発生させたのは何かを示します (バグ 1134073)。
- about:debugging のアドオンページで、再読み込みボタンは一時的なアドオンに限り使用できるようになりました。他のアドオンでは無効になります (バグ 1273184)。
- about:debugging の Workers ページで、現在のブラウザーの設定に対して 互換性がない service worker について、警告メッセージを Service Workers セクションに表示するようになりました (バグ 1266415)。
- about:debugging で、新たに Tabs ページ が使用可能になりました。現在の Firefox のインスタンスで開いている、デバッグ可能なタブを一覧表示します (バグ 1266128)。
- ツールボックスの詳細設定 のキャッシュを無効化を、Disable HTTP Cache に改名しました。HTTP キャッシュに影響があり、Service Workers や Cache API には影響がないことを明確にするためです (bug(1253018))。
- ストレージインスペクターのコンテキストメニューで IndexedDB データベースを削除できるようになりました (バグ 1205123)。また、何らかの理由で IndexedDB が削除できない (例えばアクティブな接続が存在する) 場合に警告メッセージを表示します (バグ 1268460)。
HTML
<details>
要素および<summary>
要素をサポートしました (バグ 1226455)。<input>
要素のpattern
属性は、背後の JavaScriptRegExp
で'u'
パラメーターを使用するようになりました (バグ 1227906)。- 仕様書の変更に合わせて、
<track>
要素のkind
属性で無効な値は、'subtitles'
ではなく'metadata'
と同様に扱うようになりました (バグ 1269712)。 <iframe>
要素のsandbox
属性で値'allow-popups-to-escape-sandbox'
および'allow-modals'
をサポートしました (バグ 1190641)。- microdata 属性および Microdata API のサポートを廃止しました (バグ 909633)。
<a>
要素のreferrerpolicy
属性で値'no-referrer-when-downgrade
' および'origin-when-cross-origin'
をサポートしました (バグ 1178337)。<label>
要素のform
コンテンツ属性を削除しました。HTMLLabelElement.form
はまだ存在していますが、コントロールが存在する (およびそのコントロールがフォームに関連付けられている) 場合に、ラベルのコントロールが関連付けられているフォームを返すようになりました (バグ 1268852)。
CSS
- 背景画像を描画する位置のオフセットを水平方向および垂直方向に分けて指定できる、
background-position-x
プロパティおよびbackground-position-y
プロパティをサポートしました。これらはbackground-position
を構成します (バグ 550426)。 background-repeat
で、キーワードround
およびspace
をサポートしました (バグ 548372)。background-clip
で、キーワードtext
をデフォルトで有効化しました (バグ 1264905)。- 4 桁および 8 桁の 16 進数による CSS 色 の値 (#RRGGBBAA や #RGBA) による、アルファチャンネルを含む色の指定をサポートしました (バグ 567283)。
:dir()
疑似クラスの接頭辞を外しました (バグ 859301)。clip-path
の実験的な実装 (デフォルトで有効化していません) で、複数の<basic-shape>
値の間で補間処理が可能になりました (バグ 1110460)。- 長さの単位
q
をサポートしました (バグ 1274526)。 text-align-last
プロパティの接頭辞を削除しました (バグ 1039541)。overflow-wrap
をサポートしました。word-wrap
を置き換えるものですが、こちらも別名としてサポートを続けます (バグ 955857)。- CSS Grids の実験的な実装が進展しました:
grid-gap
、grid-row-gap
、grid-column-gap
プロパティで<percentage>
をサポートしました (バグ 1266268)。align
、justify-self
:baseline
、last-baseline
("baseline self-alignment" として知られる) でグリッドレイアウトをサポートしました (バグ 1221525)。- グリッドアイテムの Baseline Content Alignment を実装しました (バグ 1256429)。
- CSS Masks の実験的な実装が進展しました:
mask-origin
プロパティの初期値を、仕様書に合わせてpadding-box
からborder-box
に変更しました (バグ 1258286)。mask-repeat
プロパティで値space
およびround
をサポートしました (バグ 1258626)。mask-position
属性でアニメーションを行えない問題を修正しました (バグ 1273804)。
text-emphasis
を制御する設定項目を削除しました。このプロパティを無効化することはできません (バグ 1229609)。
JavaScript
- ES2015 (ES6) の
Proxy
のトラップであるgetPrototypeOf()
およびsetPrototypeOf()
を実装しました (バグ 888969)。 - ES2015 (ES6) の
RegExp.prototype[@@match]()
、RegExp.prototype[@@replace]()
、RegExp.prototype[@@search]()
、RegExp.prototype[@@split]()
メソッドおよびRegExp[@@species]
getter を実装しました (バグ 887016)。 - 非推奨かつ非標準である、
String.prototype.
match
/search
/replace
のflags
引数を廃止しました (バグ 1108382)。 - Google Chrome ブラウザとの相互運用性を高めるため
Date.parse()
で、2 桁で表す年の処理を変更しました (バグ 1265136)。
インターフェイス/API/DOM
DOM & HTML DOM
DOMTokenList.supports()
メソッドを追加しました (バグ 1257849)。DOMTokenList.replace()
メソッドを追加しました (バグ 1224186)。URLSearchParams()
コンストラクタのパラメータで、先頭の'?'
文字は無視するようになりました (バグ 1268361)。URL.origin
、HTMLAnchorElement.origin
、HTMLAreaElement.origin
でblob:
スキームの URL を使用した場合の戻り値が、誤った値であるnull
ではなく、先頭のblob:
を除いた URL のオリジンになりました (バグ 1270451)。- プリレンダリングモードで、
Document.visibilityState
プロパティが'prerender'
を返すようになりました (バグ 1069772)。 Window.isSecureContext
プロパティを実装しました (バグ 1162772)。- DOM4 の
ChildNode.before()
、ChildNode.after()
、ChildNode.replaceWith()
、ParentNode.append()
、ParentNode.prepend()
メソッドを実装しました (バグ 911477)。 TouchList.identifiedTouch()
メソッドを削除しました (バグ 1188539)。Window.open()
を呼び出した際に、Window
のscrollbars
特性をデフォルトで有効にしました。従来から、これは有効化することが強く推奨されていましたが、デフォルトでは有効化していませんでした (バグ 1257887)。- 動画コンテンツの frame-by-frame シークを可能にする、実験的かつ非標準の
HTMLMediaElement.seekToNextFrame()
メソッドを追加しました (バグ 1235301。これがどれだけ役に立つかを私たちが理解するのを助けるために試用することをお勧めしますが、製品版のコードでは使用しないでください! HTMLLabelElement.form
プロパティが、コントロールが存在する (およびそのコントロールがフォームに関連付けられている) 場合に、ラベルのコントロールが関連付けられているフォームを返すようになりました。以前は、このプロパティを使用して label を直接フォームに関連付けていました (バグ 1268852)。EventTarget.addEventListener()
の第 3 引数でサポートする値に、Boolean
およびEventListenerOptions
を追加しました (バグ 1266164 および バグ 1266066)。KeyboardEvent.key
で、音量に関する値を改名しました。"VolumeDown"
は"AudioVolumeDown"
に、"VolumeUp"
は"AudioVolumeUp"
に、"VolumeMute"
は"AudioVolumeMute"
に変わりました。この変更により、Firefox が UI Events 仕様の最新ドラフトに準拠しました (バグ 1272578)。使用可能なすべてのキーコードについては、"Code values" in KeyboardEvent.code をご覧ください。- 以前は
"MozHomeScreen"
、"MozCameraFocusAdjust"
、"MozPhoneCall"
として参照されていたキーに、UI Events 仕様で公式な名称がつきました。"GoHome"
、"CameraFocus"
、"Call"
になります。Firefox 49 で、新しい名称を使用するように更新しました (バグ 1272599)。使用可能なすべてのキーコードについては、"Code values" in KeyboardEvent.code をご覧ください。 - キーの値
"Separator"
および"MediaSkip"
は、非推奨になったうえに使用されていませんので、削除しました (バグ 1232919)。 - キーの値
"Hyper"
および"Super"
とそれらに対応するキーコードを、過去のモディファイアキーを表すように追加しました (バグ 1232919)。 - マルチメディア数値キーパッド用に、2 つのキーの値を追加しました:
"Key11"
、"Key12"
(バグ 1232919)。 - オーディオコントロールキー用に、以下の新たなキーの値を追加しました:
"AudioBassBoostToggle"
、"AudioTrebleDown"
、"AudioTrebleUp"
(バグ 123919)。 - マイクコントロールキー用に、以下のキーの値を追加しました:
"MicrophoneToggle"
、"MicrophoneVolumeDown"
、"MicrophoneVolumeUp"
、"MicrophoneVolumeMute"
(バグ 123919)。 - 音声認識デバイス用に、以下の新たなキーの値を追加しました: "
SpeechCorrectionList"
、"SpeechInputToggle"
(バグ 1232919)。 - 電話機の特殊キーをサポートするため、以下のキーの値を追加しました:
"AppSwitch"
、"Call"
、"CameraFocus"
、"EndCall"
、"GoBack"
、"GoHome"
、"HeadsetHook"
、"LastNumberRedial"
、"Notification"
、"MannerMode"
、"VoiceDial"
(バグ 1232919)。 - アプリケーションキー用に、以下のキーの値を追加しました:
"LaunchContacts"
、"LaunchPhone"
(バグ 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"
(バグ 1232919)。 - キーの値
"MediaSelect"
を、標準のキーの値である"LaunchMediaPlayer"
に置き換えました (バグ 1272592)。 - メディアプレイヤーの付加機能キーの値を追加しました。
"MediaAudioTrack"
、"MediaSkipBackward"
、"MediaSkipForward"
、"MediaStepBackward"
、"MediaStepForward"
、"MediaTopMenu"
、"NavigateIn"
、"NavigateNext"
、"NavigateOut"
、"NavigatePrevious"
です (バグ 1232919)。
Canvas
- Canvas にフィルターを追加する機能を提供する
CanvasRenderingContext2D.filter
プロパティがデフォルトで有効になり、設定の切り替えが不要になりました (バグ 1173545)。
WebGL
- WebGL 2 の
EXT_color_buffer_float
拡張を実装しました (バグ 1129332)。 - WebGL コンテキストの作成が失敗したときに発生する、
webglcontextcreationerror
イベントを実装しました (バグ 1271478)。デバッグや製品版のエラー制御において、何が誤っているかの理解を助けるために使用してください。
IndexedDB
- IndexedDB のインデックスがリネーム可能になりました。
IDBIndex.name
プロパティが読み書き可能になっています (バグ 1118028)。 IDBObjectStore
もリネーム可能になりました。IDBObjectStore.name
プロパティが読み書き可能になっています (バグ 1118028)。
Service Worker 関連
- Fetch API の
Response
オブジェクトに、リダイレクトされたリクエストのレスポンスであるかを示すredirected
プロパティを実装しました。このプロパティを使用する前に、ドキュメントでセキュリティ関連の注意事項を確認してください (バグ 1243792)。 - Permissions API で、Firefox は
PermissionDescriptor
ディクショナリータイプの 'push' のサポートを廃止しました (仕様書ではPushPermissionDescriptor
として言及されています)。Firefox はuserVisibleOnly
ステータスの制御で代わりにクォータシステムに依存しており、PushPermissionDescriptor
インスタンスに出くわしたときにエラーが発生していたためです (バグ 1266821)。このディクショナリの削除により、Firefox は単に無視するようになりました。
Media Stream
- 以前はユーザーが 2 種類のハードウェアのうち一方しか使用できない状況で、音声および映像を要求する
MediaDevices.getUserMedia()
の呼び出しが成功していました。この問題を修正しました (バグ 802326)。 - 以前のバージョンの Firefox では、合致するデバイスのうち (両方ではなく) 一方のアクセスが拒否されたにもかかわらず、音声および映像を要求する
MediaDevices.getUserMedia()
の呼び出しが成功していました。この問題を修正しました (バグ 802326)。これはユーザーインターフェイスを若干変更させており、ユーザーが許可を求められる際の選択肢で "No audio" や "No video" を削除しました。 MediaStream.getTrackById()
メソッドを実装しました (バグ 1208390)。
WebRTC
- 指定したストリームを構成していないトラックをコネクションへ追加できるように、
RTCPeerConnection.addTrack()
メソッドを更新しました。代わりに、コネクションの受信側でトラックをまとめるためにストリームが使用されます (バグ 1271669)。
新規 API
PerformanceObserver
API を、Nightly でデフォルトで有効にしました (バグ 1271487)。他のバージョンの Firefox 49 では、デフォルトで無効化しています (バグ 1271487)。
その他
XMLHttpRequest.getResponseHeader()
およびXMLHttpRequest.getAllResponseHeaders()
で、設定項目network.http.keep_empty_response_headers_as_empty_string
がtrue
に設定されている場合は、空のヘッダーを返すようになりました (バグ 669259)。- Firefox OS 限定の Data Store API を削除しました (バグ 1261009)。
- Fullscreen API の
Document.onfullscreenchange
、Document.onfullscreenerror
イベントハンドラーを、Element
から削除しました。そこでは発生していなかったためです。ただし、接頭辞付きのイベントハンドラーは互換性のために維持しています (バグ 1270386)。これは設定項目full-screen-api.unprefix.enabled
で制御されており、デフォルトで有効化していないことに注意してください (バグ 1268749)。 - 廃止済みの
Document.mozFullScreen
プロパティの接頭辞を削除して、Document.fullscreen
としました (バグ 1269157}。これは設定項目full-screen-api.unprefix.enabled
で制御されており、デフォルトで有効化していないことに注意してください (バグ 1268749)。 - 読み取り専用の
Document.fullscreenElement
およびDocument.fullscreenEnabled
プロパティで、値を変更しようとしても例外が発生しないようになりました。代わりに新しい値は暗黙的に無視され、setter 関数は何も行いません (バグ 1269798)。 DataTransfer.getData()
で、どのような種類のデータでもクリップボードから取り出せるようになりました。以前は、特定の MIME タイプのデータのみ取り出し可能でした (バグ 860857)。PerformanceCompositeTiming
およびPerformanceRenderTiming
の 2 つのインターフェイスで構成される、Frame Timing API の実装を削除しました。仕様書が全面的に書き直されたためです (バグ 1271846)。- 仕様書に合わせて、
VTTCue.positionAlign
プロパティがAlign
列挙型ではなくPositionAlign
列挙型を返すようになりました (バグ 1276129)。 - Web Speech API の、音声合成の部分をサポートしました (バグ 1268633)。
- Performance Timeline API を、Nightly でデフォルトで有効化しました (Aurora、Beta、Release では無効です)。
install
イベントおよびWindow.oninstall
イベントハンドラーを Web Manifests 向けにサポートしました (バグ 1265279)。- Web Audio API の
AudioContext.createPeriodicWave()
メソッドを使用するとき、結果の周期的な波形をノーマライズすべきかを、第 3 引数にディクショナリーオブジェクトを含めることで指定可能になりました。このオブジェクトにはひとつのパラメータを含めて{disableNormalization: true}
のようにします (バグ 1265405)。 - WebVTT API で
VTTCue.positionAlign
が、仕様書どおりに正しくPositionAlignSetting
列挙型を返すようになりました。以前はAlignSetting
列挙型を返していました (バグ 1276129)。 - Web Speech API の音声合成の部分を、すべてのデスクトップブラウザーでデフォルトで有効にしました (バグ 1268633)。
- Web Animations API の
Animation()
コンストラクターが、null タイムラインを受け入れるようになりました (バグ 1096776)。
MathML
変更なし。
SVG
- 非推奨の
<altGlyph>
、<altGlyphDef>
、<altGlyphItem>
要素のサポートを廃止しました (バグ 1260032)。
Audio/Video
変更なし。
HTTP
Cache-Control: immutable
ディレクティブを実装しました (バグ 1267474)。詳しくは ブログ記事 もご覧ください。
ネットワーク
- Proxy Auto-Configuration (PAC) の実装を更新しました。
weekdayRange
、dateRange
、timeRange
で "リバースレンジ" をサポートしました。例えばweekdayRange("SAT", "MON")
は、当日が土曜日、日曜日、月曜日である場合にtrue
になります (バグ 1251332)。
セキュリティ
- secure contexts を必要とする機能を使用できるコンテキストであるかを示す、
Window.isSecureContext
プロパティを実装しました (バグ 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
- 以下のプロパティは、同等の接頭辞つきプロパティに紐づけています:
<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()
メソッドを追加しました。このメソッドで、以前にtabs.insertCSS()
を呼び出して挿入した CSS を削除できます。
インターフェイス
EventTarget.addEventListener()
で、XBL または Firefox の chrome で実行するコードに限り有効化されている値mozSystemGroup
をサポートしました。これは、リスナーがシステムグループに追加されるかを示すBoolean
です (バグ 1274520)。
その他
変更なし。
関連情報
過去のバージョン
- Firefox 50 for developers
- Firefox 49 for developers
- 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