Firefox 49 for developers

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

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

開発者ツール

HTML

  • <details> 要素および <summary> 要素をサポートしました (バグ 1226455)。
  • <input> 要素の pattern 属性は、背後の JavaScript RegExp'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

JavaScript

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

DOM & HTML DOM

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

Canvas

WebGL

IndexedDB

サービスワーカー関連

  • フェッチ APIResponse オブジェクトに、リダイレクトされたリクエストのレスポンスであるかを示す redirected プロパティを実装しました。このプロパティを使用する前に、ドキュメントでセキュリティ関連の注意事項を確認してください (バグ 1243792)。
  • Permissions API で、Firefox は PermissionDescriptor 辞書型 (仕様書では PushPermissionDescriptor として言及されています) の 'push' のサポートを廃止しました。Firefox は userVisibleOnly ステータスの制御で代わりにクォータシステムに依存しており、PushPermissionDescriptor インスタンスに出くわしたときにエラーが発生していたためです (バグ 1266821)。この辞書の削除により、Firefox は単に無視するようになりました。

メディアストリーム

  • 以前はユーザーが 2 種類のハードウェアのうち一方しか使用できない状況で、音声および映像を要求する MediaDevices.getUserMedia() の呼び出しが成功していました。この問題を修正しました (バグ 802326)。
  • 以前のバージョンの Firefox では、合致するデバイスのうち (両方ではなく) 一方のアクセスが拒否されたにもかかわらず、音声および映像を要求する MediaDevices.getUserMedia() の呼び出しが成功していました。この問題を修正しました (バグ 802326)。これはユーザーインターフェイスを若干変更させており、ユーザーが許可を求められる際の選択肢で "No audio" や "No video" を削除しました。
  • MediaStream.getTrackById() メソッドを実装しました (バグ 1208390)。

WebRTC

  • 指定したストリームを構成していないトラックをコネクションへ追加できるように、RTCPeerConnection.addTrack() (en-US) メソッドを更新しました。代わりに、コネクションの受信側でトラックをまとめるためにストリームが使用されます (バグ 1271669)。

新規 API

その他

MathML

変更なし。

SVG

Audio/Video

変更なし。

プラグインと Flash

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

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

HTTP

ネットワーク

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

その他

変更なし。

過去のバージョン