Firefox 52 for developers

Firefox 52 は、米国時間 2017 年 3 月 7 日にリリースされました。このページでは、開発者に影響する Firefox 52 の変更点をまとめています。

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

開発者ツール

HTML

CSS

新機能

  • :focus-within 擬似クラスを追加しました (Firefox バグ 1176997)。

  • <button> 要素内で display:flex/grid および段組みレイアウトをサポートしました (Firefox バグ 984869)。

  • 数値で表した色と currentcolor との間の補完処理を実装しました (Firefox バグ 1299741)。

  • justify-content: space-evenly および align-content: space-evenly 向けに flexbox レイアウトを実装しました (Firefox バグ 1235922)。

  • CSS mask / clip-path でサブピクセルアンチエイリアシングをサポートしました (Firefox バグ 1305259)。

  • CSS Text 3 の、区分分断の変換規則を実装しました (Firefox バグ 1081858)。

  • SVG コンテンツで、(clip-path プロパティで適用する) 基本的な図形のクリッピングをサポートしました (Firefox バグ 1246741)。

  • align-self|justify-self: [ first | last ]? baseline 向けの Flexbox レイアウトを実装しました (Firefox バグ 1221524)。

  • touch-action プロパティを、すべてのプラットフォームにおいてデフォルトで有効にしました。(詳しくは intent to ship mail #1 および intent to ship mail #2 をご覧ください)

  • Flexbox の align-content の処理および単一ラインのサイズ調整が、ラインの数ではなく flex-wrap に依存するようになりました (Firefox バグ 1090031)。

  • 補間処理ができないプロパティのアニメーションに CSS Animations を使用できるようになりました (Firefox バグ 1064937)。

  • baseline|last-baseline[ first | last ]? baseline に変更しました (Firefox バグ 1313254).

  • block-axis について、left/right の使用値を start にしました (Firefox バグ 1221565)。

  • 包含ブロックの長さが不定である、flexible tracks を伸長する際に、最小サイズや最大サイズを重視するようになりました (Firefox バグ 1309407)。

  • mask-position および mask-repeat の初期値を、それぞれ 0% 0% および repeat に変更しました (Firefox バグ 1308963)。

  • CSS の <color> 値に対していくつか変更を施しました (Firefox バグ 1295456):

    • rgba() および hsla() を、rgb() および hsl() の別名として再定義しました。どちらも同じ引数構文を受け入れます。
    • rgb() および hsl() が、アルファ値 (省略可能) を受け入れるようになりました。例: rgb(255, 0, 0, 0.5)
    • 色関数が、カンマ区切りではなく空白区切りの引数を受け入れるようになりました。例: rgb(255 0 0 / 0.5)
    • アルファ値を、数値だけでなくパーセンテージでも指定できるようになりました。例: rgb(255 0 0 / 50%)
    • hsl() 色の色相を、数値だけでなく角度でも指定できるようになりました。例: hsl(120deg, 60%, 70%)
  • Firefox の子インデックス付き擬似クラス (:nth-child, :first-child など) の実装が CSS selectors level 4 仕様に合わせて更新されました。これらの擬似クラスは親要素の子ではなく、適切な兄弟要素に一致するようになりました。これにより、親要素がない場合や、親要素が Element でない場合にも、これらの擬似クラスを使用することができるようになりました (Firefox バグ 1300374.

CSS グリッド

変更および削除

  • CSS3 マルチカラム関連プロパティの接頭辞を削除しました (また、-moz 接頭辞付きのプロパティを別名として再追加しました) (Firefox バグ 1300895)。
  • 無名のフレックスアイテム内で、フレックスコンテナーの絶対配置の子を折り返さないようになりました (Firefox バグ 1269045)。
  • グリッドコンテナーのベースラインを実装しました。 (Firefox バグ 1151204)。
  • スタイルシステムから、<flex> 値を最小値として使用する箇所を削除しました (Firefox バグ 1305244)。
  • 設定項目 layout.css.masking.enabled を削除しました (Firefox バグ 1308239)。
  • 独自の -moz-images-in-menus および -moz-images-in-buttons メディア特性 を削除しました (Firefox バグ 1302157)。
  • 色のプロパティから -moz-use-text-color を削除しました。代わりに currentcolor を使用してください (Firefox バグ 1306214)。
  • [css-grid] グリッドアイテムに 'max-width' を設定するとテキストがはみ出す問題を修正しました (Firefox バグ 1330380)。

JavaScript

新機能

変更および削除

WebAssembly

DOM

変更および削除

  • 通話を制御する Firefox OS の API (Contacts、MobileConnection、Icc など) を削除しました (Firefox バグ 1311206)。
  • Firefox OS の Identity インターフェイスを削除しました (Firefox バグ 1309030)。
  • Firefox OS の Voicemail API (MozVoicemailMozVoicemailEventMozVoicemailStatusNavigator.mozVoicemail) を削除しました (Firefox バグ 1309723)。
  • Firefox OS の Cell Broadcast API (MozCellBroadcastMozCellBroadcastEventMozCellBroadcastMessageNavigator.mozCellBroadcast) を削除しました (Firefox バグ 1306772)。
  • Firefox OS の TV broadcast 関連 API を削除しました (Firefox バグ 1306778)。
  • Firefox OS の FM Radio API (FMRadioNavigator.mozFMRadio) を削除しました (Firefox バグ 1306779)。

サービスワーカーと Fetch

  • Headers.getAll() を削除しました。また Headers.get() が、指定したヘッダーの (最初の値だけではなく) すべての値を取り出すようになりました (Firefox バグ 1278275)。これは、最新の Fetch API 仕様の更新内容に準拠しています。

Web Audio API

  • ConstantSourceNode インターフェイスを追加しました。これは、すべて同じ値であるサンプルのストリームを常に出力するオーディオソースを表します。複雑なオーディオフローを単純化するためにこのインターフェイスをどのように使用するかを示す例を、Controlling multiple parameters with ConstantSourceNode でご覧ください。

WebRTC

  • ICE 接続が一時的に不通になったとき、RTCPeerConnection.iceConnectionState プロパティが "disconnected" に設定されるようになりました。これは一時的な問題で間もなく解決する見込みであり、後に接続が "connected" 状態に戻ることを示します (Firefox バグ 852665)。
  • MediaDevices.devicechange_event イベントと、これに対応するハンドラーは、 Firefox 51 で Mac に限り実装してデフォルトで無効化していましたが、Windows および Linux でも実装して、すべてのプラットフォームでデフォルトで有効にしました。
  • MediaStream.active プロパティをサポートしました。これはストリームで少なくとも 1 つのトラックが現在再生中であるかを示す、読み取り専用の Boolean 型プロパティです。
  • Firefox 52 より前のバージョンでは MediaStreamTrack.stop() メソッドで、ローカルトラック (すなわち、getUserMedia() で取得したトラック) しか停止できませんでした。Firefox 52 で、WebRTC 接続と関連付けられた MediaStreamWeb Audio API ストリーム、CanvasCaptureMediaStream など、さまざまなトラックを停止できるようになりました。
  • 以前は Firefox のイベントループによってひとつのパスで TextTrackmode を繰り返し変更すると、複数の change イベントが親メディア要素の textTracks で指定された TextTrackList に発行されていました。Firefox 52 から、ひとつのイベントに統合するようになりました (Firefox バグ 882674)。

Audio/Video/Media

  • <audio> または <video> 要素を扱っていてエラーが発生したときに HTMLMediaElement.error で指定される MediaError オブジェクトが、message プロパティを持つようになりました。これは、発生したエラーの具体的な説明を提供します。この文字列はエラーの事象について詳細情報を提供して、なぜ誤っているかの見識を与えます (Firefox バグ 1299072)。このフィールドは Firefox 51 から nightly ビルドに含まれていましたが、release を含むすべてのビルドで有効化しました。

その他の API

HTTP

SVG

  • SVG ドキュメントは、SVGDocument に代わり XMLDocument インターフェイスを使用して表すようになりました。これは SVG 2 仕様で変更されました。

セキュリティ

  • ログインページ (すなわち <input type="password"> フィールドを含むページ) でログイン情報が安全でない方法で送信されると思われる場合に、Firefox はユーザーに警告するため、ページ内のパスワードフィールドの下に警告メッセージを表示します (Firefox バグ 1319119)。また、安全でないログインフォームではオートフィルが無効になります (Firefox バグ 1217152)。詳しくは 安全でないパスワード をご覧ください。
  • SHA-1 SSL 証明書のサポートを廃止しました。SHA-1 証明書を使用する安全なページに移動すると、Untrusted Connection エラーが発生します (Firefox バグ 1330043)。

プラグイン

Flash を除くすべての NPAPI プラグインのサポートを廃止しました。Flash の使用も将来、段階的に廃止します。

アドオン開発者と Mozilla 開発者向けの変更点

WebExtensions

新規 API:

インターフェイス

  • ドロップされた複数のアイテムを扱うための nsIDroppedLinkHandler.dropLinks メソッドおよび nsIDroppedLinkItem インターフェイスを追加しました (Firefox バグ 92737)。

XUL

  • tabbrowser.loadTabs(uris, params) メソッドのオーバーロードを追加しました (Firefox バグ 92737)。
  • browser.droppedLinkHandler 関数のシグネチャを変更しました (Firefox バグ 92737)。

過去のバージョン