Skip to content

Latest commit

 

History

History
152 lines (104 loc) · 21.4 KB

File metadata and controls

152 lines (104 loc) · 21.4 KB
title slug l10n
Firefox 50 for developers
Mozilla/Firefox/Releases/50
sourceCommit
1ee49b729dc4cd02b862d910f279861f4b30e704

{{FirefoxSidebar}}

Firefox の最新の開発者向け機能を試すには、Firefox Developer Edition をインストールしてください。Firefox 50 は、米国時間 2016 年 11 月 15 日にリリースされました。このページでは、開発者に影響する Firefox 50 の変更点をまとめています。

ウェブ開発者向けの変更点一覧

HTML

  • {{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 バグ 1223838Firefox バグ 1264165)。

CSS

  • 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")}} プロパティの値 isolateisolate-overrideplaintext の接頭辞を削除しました (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)。

JavaScript

  • 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)。

開発者ツール

Firefox 49 から Firefox 50 の間に解決した開発ツール関連のバグ一覧

HTTP

  • 実験的 (および非推奨) な 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)。

セキュリティ

ネットワーク

  • 非同期 {{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.cacheonly-if-cached オプションを追加しました (Firefox バグ 1272436)。

DOM

  • {{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)。

SVG

  • allowReorder 属性を廃止して、この属性に設定されていた動作を SVG {{SVGElement("switch")}} 要素の既定の動作にしました (Firefox バグ 1279690)。
  • 最新の SVG2 仕様に従って、SVG {{SVGElement("image")}} 要素の {{SVGAttr("preserveAspectRatio")}} 属性のキーワード defer を削除しました (Firefox バグ 1280425)。

ドラッグ & ドロップ API

  • HTML Drag and Drop API を使用してドラッグアンドドロップしている複数のアイテムにアクセスできる、{{domxref("DataTransfer.items")}} プロパティを実装しました。これを可能にするため、{{domxref("DataTransferItem")}} および {{domxref("DataTransferItemList")}} インターフェイスもサポートしました(Firefox バグ 906420)。これはデフォルトで有効です。
  • 古く廃止済みである、Firefox 固有のドラッグ & ドロップ API イベント dragdrop および draggesture のサポートを廃止しました。これらを使用し続けているコードは、 HTML ドラッグ & ドロップ API を使用するように更新してください (Firefox バグ 1162050

ポインターロック API

  • ポインターロック API の接頭辞を削除しました (Firefox バグ 991899)。
  • Firefox 50 より前のバージョンではドアハンガーを使用して requestPointerLock() を許可するかを問い合わせており、ユーザーが許可するまでポインターロックを有効化しませんでした。Firefox 50 より、ポインターロックは 全画面 API と同様に即座に許可されますが、終了方法をユーザーに説明する通知を表示します (Firefox バグ 1273351)。

IndexedDB

  • {{domxref("IDBDatabase/close_event", "close")}} イベントが、 {{domxref("IDBDatabase")}} オブジェクトで対応するデータベースが意図せず閉じられたときに、送信されるようになりました (Firefox バグ 1151017)。

Service Workers

  • {{domxref("WindowClient.navigate()")}} メソッドを実装しました。このメソッドで、Service Worker で制御されているクライアントウィンドウに、指定した URL を開くことができます (Firefox バグ 1218148)。

WebGL

WebRTC

  • {{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 プロパティを使用するようにコードを更新していない場合は、必ず更新してください。

ウェブオーディオ API

  • {{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)。

Audio/Video

  • AlignSetting 列挙型 ({{domxref("VTTCue.align")}} で使用可能な値を表す) が以前、誤って "center" ではなく "middle" を含んでいました。この問題を修正しました (Firefox バグ 1276130)。
  • 非標準かつ実験的な {{domxref("HTMLMediaElement.seekToNextFrame()")}} メソッドが、メディア内の次のフレームを同期的ではなく非同期的にシークするようになりました。また、シークが完了すると fulfill になる {{jsxref("Promise")}} を返します。
  • {{domxref("HTMLTrackElement")}} の実装を、ドキュメント内にない場合でも {{HTMLElement("track")}} 要素がリソースを読み込めるように修正しました (Firefox バグ 871747)。

バッテリー API

  • 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)}}