Firefox 49 for developers

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

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

開発者ツール

HTML

CSS

JavaScript

インターフェイス/API/DOM

DOM & HTML DOM

  • DOMTokenList.supports() メソッドを追加しました (Firefox バグ 1257849)。
  • DOMTokenList.replace() メソッドを追加しました (Firefox バグ 1224186)。
  • URLSearchParams() コンストラクターの引数で、先頭の '?' 文字は無視するようになりました (Firefox バグ 1268361)。
  • URL.originHTMLAnchorElement.originHTMLAreaElement.originblob: スキームの 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() を呼び出した際に、Windowscrollbars 特性をデフォルトで有効にしました。従来から、これは有効化することが強く推奨されていましたが、デフォルトでは有効化していませんでした (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 をご覧ください。
  • 以前は "MozHomeScreen""MozCameraFocusAdjust""MozPhoneCall" として参照されていたキーに、UI Events 仕様で公式な名称がつきました。"GoHome""CameraFocus""Call" になります。Firefox 49 で、新しい名称を使用するように更新しました (Firefox バグ 1272599)。使用可能なすべてのキーコードについては、Code values for keyboard events をご覧ください。
  • キーの値 "Separator" および "MediaSkip" は、非推奨になったうえに使用されていませんので、削除しました (Firefox バグ 1232919)。
  • キーの値 "Hyper" および "Super" とそれらに対応するキーコードを、過去のモディファイアキーを表すように追加しました (Firefox バグ 1232919)。
  • マルチメディア数値キーパッド用に、2 つのキーの値を追加しました: "Key11""Key12" (Firefox バグ 1232919)。
  • オーディオコントロールキー用に、以下の新たなキーの値を追加しました: "AudioBassBoostToggle""AudioTrebleDown""AudioTrebleUp" (Firefox バグ 123919)。
  • マイクコントロールキー用に、以下のキーの値を追加しました: MicrophoneToggleMicrophoneVolumeDownMicrophoneVolumeUpMicrophoneVolumeMute (Firefox バグ 123919)。
  • 音声認識デバイス用に、以下の新たなキーの値を追加しました: "SpeechCorrectionList"SpeechInputToggle (Firefox バグ 1232919)。
  • 電話機の特殊キーをサポートするため、以下のキーの値を追加しました: AppSwitchCallCameraFocusEndCallGoBackGoHomeHeadsetHookLastNumberRedialNotificationMannerModeVoiceDial (Firefox バグ 1232919)。
  • アプリケーションキー用に、以下のキーの値を追加しました: LaunchContactsLaunchPhone (Firefox バグ 1232919)。
  • テレビデバイス用に、以下の新たなキーの値を追加しました: TV3DModeTVAntennaCableTVAudioDescriptionTVAudioDescriptionMixDownTVAudioDescriptionMixUpTVContentsMenuTVDataServiceTVInputTVInputComponent1TVInputComponent2TVInputComposite1TVInputComposite2TVInputHDMI1TVInputHDMI2TVInputHDMI3TVInputHDMI4TVInputVGA1TVMediaContextTVNetworkTVNumberEntryTVRadioServiceTVSatelliteTVSatelliteBSTVSatelliteCSTVSatelliteToggleTVTerrestrialAnalogTVTerrestrialDigitalTVTimerDVR (Firefox バグ 1232919)。
  • キーの値 MediaSelect を、標準のキーの値である LaunchMediaPlayer に置き換えました (Firefox バグ 1272592)。
  • メディアプレイヤーの付加機能キーの値を追加しました。MediaAudioTrackMediaSkipBackwardMediaSkipForwardMediaStepBackwardMediaStepForwardMediaTopMenuNavigateInNavigateNextNavigateOutNavigatePrevious です (Firefox バグ 1232919)。

Canvas

WebGL

IndexedDB

サービスワーカー関連

  • フェッチ APIResponse オブジェクトに、リダイレクトされたリクエストのレスポンスであるかを示す 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

その他

MathML

変更なし。

SVG

Audio/Video

変更なし。

プラグインと Flash

Firefox 49 より、サイトが正しく機能するために必要ではない特定の種類の Flash コンテンツをデフォルトでブロックするようになりました。この動作は設定項目 browser.safebrowsing.blockedURIs.enabled で制御しており、サイトのユーザビリティに大きな影響を与えることなく、一般的にはサイトや Firefox のパフォーマンスを向上する助けになります。また、クラッシュの主要な原因を取り除くことにより、ブラウジング体験の安定性を向上する助けにもなります。ブロックされる Flash モジュールにはフィンガープリンティングのためだけに使用されるものやいくつかの "スーパー Cookie" モジュールが含まれまており、将来はより多くの種類のモジュールをブロックするように拡張するでしょう。詳しくは Firefox バグ 1275591 をご覧ください。

これはプラグインがない未来への行程の、次のステップになります。機能を果たすためにプラグインを必要としない段階に、HTML はとても近づいています。

HTTP

ネットワーク

  • Proxy Auto-Configuration (PAC) の実装を更新しました。weekdayRangedateRangetimeRange で "リバースレンジ" をサポートしました。例えば weekdayRange("SAT", "MON") は、当日が土曜日、日曜日、月曜日である場合に true になります (Firefox バグ 1251332)。

セキュリティ

互換性

既存のコンテンツとの互換性を高めるために、一部の 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-flexflex に変換
    • -webkit-inline-boxinline-flex に変換
    • -webkit-inline-flex-moz-inline-flex に変換
  • 以下のプロパティをサポートします (接頭辞なしの同等物に紐づけません)。
  • WebKitCSSMatrix インターフェイスを DOMMatrix の別名にしました。
  • 以下のメディアクエリー特性を実装しました:
    • -webkit-min-device-pixel-ratiomin-resolution の別名として、同じ値 (dppx) で実装しました。ただし、この機能は デフォルトで無効 です (about:config の設定 layout.css.prefixes.device-pixel-ratio-webkit で制御)。
    • -webkit-max-device-pixel-ratiomax-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)。

その他

変更なし。

過去のバージョン