title | slug | l10n | ||
---|---|---|---|---|
Firefox 50 for developers |
Mozilla/Firefox/Releases/50 |
|
{{FirefoxSidebar}}
Firefox の最新の開発者向け機能を試すには、Firefox Developer Edition をインストールしてください。Firefox 50 は、米国時間 2016 年 11 月 15 日にリリースされました。このページでは、開発者に影響する Firefox 50 の変更点をまとめています。
- {{HTMLElement("bdo")}} の既定のスタイルで、{{cssxref("unicode-bidi")}} の値が
isolate-override
になりました (Firefox バグ 1249497)。 - {{HTMLElement("track")}} 要素の
src
属性の設定が正しく動作するようになりました (Firefox バグ 1281418)。 - {{HTMLElement("area")}}、{{HTMLElement("a")}}、{{HTMLElement("img")}}、{{HTMLElement("iframe")}}、{{HTMLElement("link")}} 要素の
referrerpolicy
属性を、デフォルトで有効化しました (Firefox バグ 1223838、Firefox バグ 1264165)。
- dashed および dotted スタイルのボーダーに border-radius を設定したとき、角の部分を solid スタイルではなく指定したスタイルで描画するようになりました (Firefox バグ 382721)。
- 非標準の {{cssxref(":-moz-full-screen-ancestor")}} 擬似クラスセレクターを削除しました (Firefox バグ 1199529)。
- 仕様書から削除されたため、および実装していた主要ブラウザーが Firefox だけであったため、{{cssxref("box-sizing")}}
: padding-box
を削除しました (Firefox バグ 1166728)。 - {{cssxref("unicode-bidi")}} プロパティの値
isolate
、isolate-override
、plaintext
の接頭辞を削除しました (Firefox バグ 1141895)。 - Quirk モードでリストのビュレットが、標準準拠モードと同様にリストのサイズを継承するようになりました (Firefox バグ 648331)。
- {{cssxref(":in-range")}} および {{cssxref(":out-of-range")}} 擬似クラスが、無効状態または読み取り専用の input に一致しないように動作を変更しました (Firefox バグ 1264157)。
- {{cssxref(":any-link")}} 擬似クラスの接頭辞を削除しました (Firefox バグ 843579)。
- {{cssxref("border-image-repeat")}} で、値
space
を実装しました (Firefox バグ 720531)。
- ES2015 の {{jsxref("Symbol.hasInstance")}} プロパティを実装しました (Firefox バグ 1054906)。
- ES2017 の {{jsxref("Object.getOwnPropertyDescriptors()")}} メソッドを実装しました (Firefox バグ 1245024)。
- Unicode および ignoreCase フラグを使用する {{jsxref("RegExp")}} の、\W の動作を最新の仕様草案に合わせて変更しました。K、S、k、s、KELVIN SIGN (U+212A)、LATIN SMALL LETTER LONG S (U+017F) に一致しないようになりました (Firefox バグ 1281739)。
- ウェブコンソールがソースマップを理解するようになりました。
- ストレージインスペクターで、IndexedDB のオブジェクトストアから個々のアイテムを削除できるようになりました。
- メモリーツールをデフォルトで有効化しました。
- ボックスモデルビューを計算済みビューに移動しました。
- ウェブコンソールで、XHR や Fetch() によるネットワークリクエストのスタックトレースを表示します。
Firefox 49 から Firefox 50 の間に解決した開発ツール関連のバグ一覧
- 実験的 (および非推奨) な SPDY 3.1 をデフォルトで無効にしました (Firefox バグ 1287132)。
- {{HTTPHeader("X-Content-Type-Options")}} をサポートしました (Firefox バグ 471020)。
- cookie の
__Host-
および__Secure-
接頭辞を実装しました。{{HTTPHeader("Set-Cookie")}} および Firefox バグ 1283368 をご覧ください。 - {{HTTPHeader("Referrer-Policy")}} ヘッダーを実装しました (Firefox バグ 1264164)。
- {{htmlelement("a")}} 要素の
ping
属性が、connect-src
CSP 1.1 ポリシーディレクティブに従うようになりました (Firefox バグ 1100181)。 sandbox
CSP ディレクティブをサポートしました (Firefox バグ 671389)。- workers に content security policy を設定する ことが可能になりました (Firefox バグ 959388)。
- Content Security Policy の制限によりビーコンデータを送信できなかったとき、{{domxref("Navigator.sendBeacon()")}} メソッドで例外が発生しないようになりました。代わりに、想定どおり
false
を返します (Firefox バグ 1234813)。 - RC4 暗号のサポートは Firefox 36 から非推奨にしており、Firefox 44 では既定で無効にしました。1 年間の猶予期間が終了しましたので、Firefox 50 で RC4 のサポートを全面的に廃止しました (Google Chrome は 2016 年 8 月に RC4 のサポートを廃止しました)。今後、Firefox は RC4 暗号に出くわすと常に
SSL_ERROR_NO_CYPHER_OVERLAP
エラーが発生します。
- 非同期 {{domxref("XMLHttpRequest")}} でエラーが発生したとき、{{domxref("XMLHttpRequest.getAllResponseHeaders()")}} メソッドが空文字列を返すようになりました (Firefox バグ 1286744)。
- CORS または他のネットワークの制約により失敗した非同期 {{domxref("XMLHttpRequest")}} は
NetworkError
を返すのではなく、他のエラーと同様にキャッチ可能な {{domxref("XMLHttpRequest/error_event", "error")}} が発生するようになりました (Firefox バグ 709991)。 - {{domxref("XMLHttpRequest.getResponseHeader()")}} および {{domxref("XMLHttpRequest.getAllResponseHeaders()")}} が、デフォルトで空のヘッダーを返すようになりました。これは設定項目
network.http.keep_empty_response_headers_as_empty_string
で制御しています (Firefox バグ 918721)。 Request.cache
にonly-if-cached
オプションを追加しました (Firefox バグ 1272436)。
- {{domxref("EventTarget.addEventListener()")}} の
once
オプションをサポートしました (Firefox バグ 1287706)。 - {{domxref("NodeList")}} インターフェイスがイテレート可能になり、{{domxref("NodeList.forEach()", "forEach()")}}、{{domxref("NodeList.values()", "values()")}}、{{domxref("NodeList.entries()")}}、{{domxref("NodeList.keys()")}} の各メソッドが使用可能になりました (Firefox バグ 1290636)。
- {{domxref("DOMTokenList")}} インターフェイスがイテレート可能になり、{{domxref("DOMTokenList.forEach()", "forEach()")}}、{{domxref("DOMTokenList.values()", "values()")}}、{{domxref("DOMTokenList.entries()")}}、{{domxref("DOMTokenList.keys()")}} の各メソッドが使用可能になりました (Firefox バグ 1290636)。
- {{domxref("Document.createElement()")}} および {{domxref("Document.createElementNS()")}} メソッドで、カスタム要素を作成するための省略可能な引数
options
を追加しました (Firefox バグ 1276579)。
allowReorder
属性を廃止して、この属性に設定されていた動作を SVG {{SVGElement("switch")}} 要素の既定の動作にしました (Firefox バグ 1279690)。- 最新の SVG2 仕様に従って、SVG {{SVGElement("image")}} 要素の {{SVGAttr("preserveAspectRatio")}} 属性のキーワード
defer
を削除しました (Firefox バグ 1280425)。
- HTML Drag and Drop API を使用してドラッグアンドドロップしている複数のアイテムにアクセスできる、{{domxref("DataTransfer.items")}} プロパティを実装しました。これを可能にするため、{{domxref("DataTransferItem")}} および {{domxref("DataTransferItemList")}} インターフェイスもサポートしました(Firefox バグ 906420)。これはデフォルトで有効です。
- 古く廃止済みである、Firefox 固有のドラッグ & ドロップ API イベント
dragdrop
およびdraggesture
のサポートを廃止しました。これらを使用し続けているコードは、 HTML ドラッグ & ドロップ API を使用するように更新してください (Firefox バグ 1162050。
- ポインターロック API の接頭辞を削除しました (Firefox バグ 991899)。
- Firefox 50 より前のバージョンではドアハンガーを使用して
requestPointerLock()
を許可するかを問い合わせており、ユーザーが許可するまでポインターロックを有効化しませんでした。Firefox 50 より、ポインターロックは 全画面 API と同様に即座に許可されますが、終了方法をユーザーに説明する通知を表示します (Firefox バグ 1273351)。
- {{domxref("IDBDatabase/close_event", "close")}} イベントが、 {{domxref("IDBDatabase")}} オブジェクトで対応するデータベースが意図せず閉じられたときに、送信されるようになりました (Firefox バグ 1151017)。
- {{domxref("WindowClient.navigate()")}} メソッドを実装しました。このメソッドで、Service Worker で制御されているクライアントウィンドウに、指定した URL を開くことができます (Firefox バグ 1218148)。
- {{domxref("EXT_shader_texture_lod")}} WebGL 拡張を実装しました (Firefox バグ 1111689)。
- PBO (
PIXEL_UNPACK_BUFFER
) を実装するため、WebGL 2 向けに texImage 関係のメソッドを更新しました (Firefox バグ 1280499)。
- {{domxref("MediaStream")}} にトラックを追加すると、仕様書で示されているように {{domxref("MediaStream/addtrack_event", "addtrack")}} イベントが発生するようになりました。このイベントは {{domxref("MediaStreamTrackEvent")}} タイプであり、トラックが追加されたストリームで発生します。
"addtrack"
イベントを扱うために、{{domxref("EventTarget.addEventListener", "MediaStream.addEventListener('addtrack', ...)")}} またはonaddtrack
プロパティを使用できます。 - {{domxref("MediaStreamTrack")}} インターフェイスが、 {{domxref("MediaStreamTrack.ended_event", "ended")}} イベントおよびそのイベントハンドラーをサポートしました。
- Firefox で {{domxref("MediaStreamTrack.readyState")}} プロパティをサポートしました。これは、トラックが生存中であるか永久に終了した状態であるかを示します。
- {{domxref("MediaStreamTrack")}} の {{domxref("MediaStreamTrack.getConstraints", "getConstraints()")}} および {{domxref("MediaStreamTrack.getSettings", "getSettings()")}} メソッドを実装しました。それぞれ、カスタマイズしたプロパティ制約で直近に適用された値のセットを取得する、およびトラックで制限可能なすべてのプロパティの実際の値を取得するメソッドです。付随するデータ型もドキュメントに記載しています。
- {{domxref("RTCDataChannel.stream")}} プロパティを削除しました。これは Firefox 24 で {{domxref("RTCDataChannel.id")}} に置き換えられましたが、後方互換性のためにサポートしていました。まだ
id
プロパティを使用するようにコードを更新していない場合は、必ず更新してください。
- {{domxref("PannerNode")}} インターフェイスで、オーディオソースの位置 ({{domxref("PannerNode.positionX")}}、{{domxref("PannerNode.positionY")}}、{{domxref("PannerNode.positionZ")}}) や方向性 ({{domxref("PannerNode.orientationX")}}、{{domxref("PannerNode.orientationY")}}、{{domxref("PannerNode.orientationZ")}}) に関する 3D 直交座標系のプロパティをサポートしました。
- 一般的な 無限インパルス応答 (IIR) フィルターを生成する、{{domxref("IIRFilterNode")}} インターフェイスを実装しました。
- {{domxref("setInterval()")}} および {{domxref("setTimeout()")}} で作成したタイマーをバッググラウンドのタブで抑制する機能は、ウェブオーディオ API の {{domxref("AudioContext")}} がアクティブで音声を再生しているときに実施しないようになりました。これは、タイミングに敏感な音声再生 (タイマーを使用して個々の音を生成する音楽プレイヤーなど) をバックグラウンドで行う際の問題を避ける助けになります (Firefox バグ 1181073)。
AlignSetting
列挙型 ({{domxref("VTTCue.align")}} で使用可能な値を表す) が以前、誤って"center"
ではなく"middle"
を含んでいました。この問題を修正しました (Firefox バグ 1276130)。- 非標準かつ実験的な {{domxref("HTMLMediaElement.seekToNextFrame()")}} メソッドが、メディア内の次のフレームを同期的ではなく非同期的にシークするようになりました。また、シークが完了すると fulfill になる {{jsxref("Promise")}} を返します。
- {{domxref("HTMLTrackElement")}} の実装を、ドキュメント内にない場合でも {{HTMLElement("track")}} 要素がリソースを読み込めるように修正しました (Firefox バグ 871747)。
- Firefox 43 から非推奨にしていた {{domxref("navigator.battery")}} プロパティを廃止および削除しました。代わりに、バッテリーの {{jsxref("Promise")}} を取得する {{domxref("navigator.getBattery()")}} メソッドを使用してください。これは {{domxref("BatteryManager")}} が使用可能になったときに完了します。{{domxref("BatteryManager")}} は、promise が成功した場合のハンドラーに渡されます (Firefox バグ 12593355)。
-
以前は Google Chrome との互換性しか有していなかったサイトとの互換性を向上するため、ファイルとディレクトリー項目 API のサブセットを実装しました (Firefox バグ 1265767)。
-
非同期 API インターフェイスを実装しましたが、ファイルの読み取りしかサポートしませんので注意してください。例えば {{domxref("FileSystemFileEntry.createWriter()")}} メソッドは何も行いません。
-
以下のインターフェイスを実装しました:
- {{domxref("FileSystem")}}
- {{domxref("FileSystemEntry")}} (プロパティのみ。メソッドは未実装)
- {{domxref("FileSystemFileEntry")}} ({{domxref("FileSystemFileEntry.createWriter", "createWriter()")}} を除く)
- {{domxref("FileSystemDirectoryEntry")}} ({{domxref("FileSystemDirectoryEntry.removeRecursively", "removeRecursively()")}} を除く)
- {{domxref("FileSystemDirectoryReader")}}
-
{{HTMLElement("input")}} 要素の
webkitdirectory
属性および {{domxref("HTMLInputElement.webkitdirectory")}} を実装しました。ファイルではなくディレクトリーを受け入れるように、file 型の input を設定できます (Firefox バグ 1258489)。 -
{{domxref("HTMLInputElement.webkitEntries")}} を実装しました。これは、選択されたアイテムを表す {{domxref("FileSystemEntry")}} ベースのオブジェクトの配列を返します。
-
{{domxref("File.webkitRelativePath")}} を実装しました。これは、{{domxref("HTMLInputElement.webkitGetEntries()")}} が返すリスト内のアイテムのひとつである {{domxref("FileSystemDirectoryEntry")}} に含まれているルートに対して相対的な、ファイルのパスを持ちます。
-
この API で何をサポートしているかについて、詳しくは Firefox におけるファイルとディレクトリー項目 API をご覧ください。
-
これらの API はデフォルトで有効です。一部の API は以前から使用できましたが、設定で無効化されていました (Firefox バグ 1288683)。
-
-
ファイルとディレクトリー項目 API の一部として、{{domxref("DataTransferItem.webkitGetAsEntry()")}} を実装しました。これは、ドロップされたファイルを表す {{domxref("FileSystemEntry")}} を取得できます (Firefox バグ 1289255)。これはデフォルトで有効です。
-
ディレクトリーアップロード API 提案の一部である
HTMLInputElement.directory
プロパティをallowdirs
に改名しました (Firefox バグ 1288681)。このプロパティは設定で無効化しています。
{{Firefox_for_developers(49)}}