Firefox 63 for developers
Firefox 63 は、米国時間 2018 年 10 月 23 日 にリリースされました。このページでは、開発者に影響する Firefox 63 の変更点をまとめています。
ウェブ開発者向けの変更点一覧
開発者ツール
- インスペクター のフォントタブに、ページ上のフォントの設定を簡単に確認および編集できるエディターを追加しました。詳しくは フォントを編集する をご覧ください。
- アクセシビリティインスペクター をデフォルトで有効化しました (Firefox バグ 1482454)。
- アクセシビリティインスペクター でオブジェクトにマウスポインターを載せると、アイテムを強調表示 して、ページ上の情報バーにアイテムのロールや名前を表示するようになりました (Firefox バグ 1473030)。
- ウェブコンソール で、コマンドラインをコンソール出力の直後に表示するようになりました (Firefox バグ 1136299)。
- ネットワークモニター で、URL が既知のトラッカーに属することを示すアイコンを追加しました。セキュリティアイコン をご覧ください (Firefox バグ 1333994)。
devtools.aboutdebugging.showSystemAddons
の既定値がfalse
になりました。これは、about:debugging
ページにシステムアドオンを表示しないことを意味します。about:config
で、この設定を変更できます (Firefox バグ 1425347)。- レスポンシブデザインモード のツールバーをわかりやすくして、ビューポートを左寄せにするオプションを追加しました。
- ページインスペクターに、カスタム要素の クラス定義へのリンク を表示する機能を追加しました (Firefox バグ 1443923)。
HTML
<img>
要素のdecoding
属性をサポートしました (Firefox バグ 1416328)。HTMLImageElement.decoding
もご覧ください。
廃止
sidebar
リンクタイプ (rel="sidebar"
) のサポートを廃止しました。アンカータグがこの属性を含んでいても、属性が無視されます (Firefox バグ 1452645)。
CSS
:defined
疑似クラスをサポートしました (Firefox バグ 1331334)。- Flexbox レイアウト で
row-gap
、column-gap
、gap
をサポートしました (Firefox バグ 1398483)。 - webkit 接頭辞付きの画素密度に関する @media クエリー のサポートを再び有効化しました (Firefox バグ 1444139)。
- Firefox で CSS Flexible Box レイアウト (Flexbox) の
align-self
、align-content
、align-items
、justify-content
プロパティをサポートしました (Firefox バグ 1472843)。 offset-path
のpath()
関数を実装しました (Firefox バグ 1429298)。- Media Queries Level 4 仕様で改良された構文 を実装しました (Firefox バグ 1472843)。
offset-*
プロパティをinset-block-start
、inset-block-end
、inset-inline-start
、inset-inline-end
に改名しました (Firefox バグ 1464782)。- prefers-reduced-motion メディア特性をサポートしました (Firefox バグ 1365045、Firefox バグ 1475462)。
resize
プロパティにフロー関連の値 (block
、inline
) を追加しました (Firefox バグ 1464786)。align-self
、align-content
、justify-content
で、safe
およびunsafe
値の flexbox レイアウトを実装しました (Firefox バグ 1297774)。- 適切な 論理プロパティ がアニメーション可能になりました (Firefox バグ 1309752)。
廃止
offset-block-start
、offset-block-end
、offset-inline-start
、offset-inline-end
を削除しました。これらは前述のとおりinset-*
に改名されました (Firefox バグ 1464782)。
SVG
変更なし。
JavaScript
Symbol.prototype.description
プロパティを実装しました (Firefox バグ 1472170)。Object.fromEntries()
メソッドを実装しました (Firefox バグ 1469019)。- undefined であるオブジェクトのプロパティにアクセスしようとしたときのエラーメッセージを改善しました。
x
が undefined である状況でx.y
にアクセスしようとすると、コンソールが従来のTypeError: x is undefined
に代わって、より具体的なx is undefined; can't access its "y" property
を返します (Firefox バグ 1259822)。
廃止
- WebAssembly Module で、実験的な IndexedDB のシリアライズのサポートを廃止しました (Firefox バグ 1469395)。
API
新規 API
- Shadow DOM (Firefox バグ 1471947) および Custom Elements (Firefox バグ 1471948) API をデフォルトで有効にしました。詳しくは Web components をご覧ください。
- Media Capabilities API (en-US) を実装しました (Firefox バグ 1409664)。
- Async Clipboard API を実装して、デフォルトですべてのチャンネルで有効化しました。Chrome および Firefox では現在
writeText()
およびreadText()
メソッドのみ実装しています。ただし、readText()
が ブラウザー拡張機能 に限り使用可能であることが Chrome とは異なります。 SecurityPolicyViolationEvent
(en-US) インターフェイスをサポートしました。Content-Security-Policy
に違反したときにイベントを送信できます (Firefox バグ 1472661)。
DOM
- Web Animations API で、以下の部分をデフォルトで有効にしました (Firefox バグ 1476158)。
Animation
のready
(en-US) およびfinished
(en-US) プロパティ。Animation
オブジェクトのready
およびfinished
Promise
を指定します。Animation
オブジェクトのeffect
(en-US) プロパティ。KeyframeEffect
(en-US) およびAnimationEffect
(en-US) インターフェイス。
Element.toggleAttribute()
メソッドを実装しました (Firefox バグ 1469592)。- 以前は非標準であった
Event.returnValue
プロパティを、互換性のためにサポートしました (Firefox バグ 1452569)。 - ウェブ互換性を向上するために
Window.event
プロパティを実装しました。現在は標準化されています (Firefox バグ 218415)。ただし複数のウェブ互換性の問題 (例えば Firefox バグ 1479964) により、すぐに設定項目dom.window.event.enabled
で Nightly 以外のチャンネルでは無効化しました (Firefox バグ 1493869)。 - Firefox の動作を Edge や Chrome に合わせるため、
navigator.platform
プロパティが 64 ビット版 Windows で実行している場合でも"Win32"
を返すようになりました (Firefox バグ 1472618)。 - Firefox 63 より前のバージョンでは、
rel="noopener"
を持つ新しいウィンドウを開くリンク、およびnoopener
機能を有効にしてWindow.open()
を呼び出した場合にすべてのウィンドウ機能を無効にしており、必要な標準機能を明示的に再有効化しなければなりませんでした。Firefox 63 ではこれらのウィンドウでほかのウィンドウと同じ機能が有効になり、不要な機能を明示的に無効化しなければなりません (Firefox バグ 1419960)。
DOM イベント
-
キーボードの右側にある
Alt
キーの扱いが、Windows で改善しました。ユーザーの現在のキーボードレイアウトで
Alt
キーが
AltGr
モディファイアキーにマッピングされている場合に、
KeyboardEvent.key
が"AltGraph"
として値を返します。これは最近 Chrome に導入された動作に合致します (Firefox バグ 900750)。
メディア、Web Audio、WebRTC
- マイクへのアクセスが、同じコンテンツプロセス内でも複数のタブで同時に動作するようになりました (Firefox バグ 1404977)。
RTCDataChannel
を、以前からサポートしていた旧来の sctp-sdp-05 データ形式に加えて、sctp-sdp-21 データ形式をサポートするように更新しました。- Web Audio API の
ConstantSourceNode
ノード型で、仕様書に合わせるためデフォルトのチャンネル数を 1 から 2 に変更しました (Firefox バグ 1413283)。 - Web Audio API の
AudioScheduledSourceNode
インターフェイス (および拡張によって、このインターフェイスを基にしたすべてのノード) でノードの開始時間として負の値が指定されたときに、正しい例外が発生するようになりました。そのエラーはRangeError
です (Firefox バグ 1413284)。 AudioParam
オブジェクトのvalue
(en-US) で許可される最小値と最大値を、それぞれ単精度浮動小数点数で最小の負の値 (-340,282,346,638,528,859,811,704,183,484,516,925,440) と最大の正の値 (+340,282,346,638,528,859,811,704,183,484,516,925,440) に変更しました (Firefox バグ 1476695)。- アクティブなストリームのコーデックを変更できる、{domxref("SourceBuffer.changeType")}} メソッドをデフォルトで有効にしました。これは Media Source Extensions API の一部です (Firefox バグ 1481166)。
AudioParam.setValueCurveAtTime()
(en-US) メソッドを、引数の値が次第に変わることを示すために浮動小数点数値の配列を受け入れるように更新しました。以前はFloat32Array
(en-US) であることが必要でした (Firefox バグ 1421091)。- また
AudioParam.setValueCurveAtTime()
(en-US) が、values
の配列に有限ではない値が存在する場合に、TypeError
を正しく返すようになりました (Firefox バグ 1472095)。 - さらに
setValueCurveAtTime()
で、時間が経過した後に指定した値のカーブに従ってパラメーターが終了したとき、パラメーターの値がカーブの値のリストの最後の値に設定されるようになりました (Firefox バグ 1308436)。 - ほかのディクショナリーや仕様書に合わせて、
RTCRTPStreamStats
ディクショナリーをRTCRtpStreamStats
(en-US) に改名しました (Firefox バグ 1480498)。 RTCRtpStreamStats
ディクショナリーのkind
(en-US) プロパティをサポートしました (Firefox バグ 1481851)。RTCRtpStreamStats
(en-US) ディクショナリーのisRemote
プロパティが推奨になりました。Firefox 65 で削除する予定です。このプロパティにアクセスすると、コンソールに警告を表示します。詳しくは Advancing WebRTC ブログの投稿 をご覧ください (Firefox バグ 1393306)。
Canvas と WebGL
HTMLCanvasElement.getContext()
に、新しいpowerPreference
コンテキスト属性を追加しました。macOS ではパフォーマンスを重視しない WebGL のアプリケーションやアプレットが、マルチ GPU のシステムで高性能な GPU ではなく低消費電力の GPU を要求することができます (Firefox バグ 1349799)。
廃止
- 廃止済みおよび Firefox 限定の非標準メソッドである
Window.back()
およびWindow.forward()
を削除しました。代わりにwindow.history.back()
およびwindow.history.forward()
メソッドを使用してください (Firefox バグ 1479486)。 - メモリーリークを発生させるおそれがあるため、
createObjectURL()
およびrevokeObjectURL()
メソッドがServiceWorker
のインスタンスで使用できなくなりました (Firefox バグ 1264182)。 - 仕様書で非推奨とされたため限定的にサポートしていた、
PannerNode
のドップラー効果のサポートを Web Audio API から削除しました。AudioListener
のdopplerFactor
およびspeedOfSound
プロパティと、PannerNode
のsetVelocity()
メソッドを削除しました (Firefox バグ 1148354)。
CSSOM
変更なし。
HTTP
Clear-Site-Data
ヘッダーを実装して、設定で無効化しないようにしました (Firefox バグ 1470111)。
セキュリティ
- サイトで Content Security Policy が設定されている場合に、favicon も CSP に従うようになりました (Firefox バグ 1297156)。
- CSP の違反レポートを生成するとき、
script-src
ディレクティブの'report-sample'
式を認識するようになりました。このディレクディブは、違反が発生した場所の短いサンプルをレポートに含めるべきであることを示します。以前は、Firefox は常にサンプルを含めていました (Firefox バグ 1473218)。 - Firefox が NSS 3.39 を使用するようになりました (Firefox バグ 1470914)。
プラグイン
変更なし。
WebDriver conformance (Marionette)
新機能
- Marionette が
WebDriver:NewSession
の応答でsetWindowRect
capability (en-US) を返すようになりました。これは、ブラウザーのウィンドウの移動やリサイズが可能である場合 (例えばモバイルアプリケーション以外の Firefox) に true になります (Firefox バグ 1470659)。 unhandledPromptBehavior
capability をサポートしました。これは、WebDriver 仕様の特定の prompt behavior を定義できます (Firefox バグ 1264259)。WebDriver:ExecuteScript
およびWebDriver:ExecuteAsyncScript
コマンドに、ユーザープロンプトの処理を追加しました (Firefox バグ 1439995)。
API の変更点
WebDriver:
接頭辞がない、非推奨のコマンドエンドポイントを削除しました (Firefox バグ 1451725)。WebDriver:NewSession
コマンドが、platformName
について WebDriver 仕様で定義されている推奨文字列 (linux
、mac
、windows
) を返すようになりました (Firefox バグ 1470646)。
バグ修正
- Firefox が最前面のアプリケーションではないとき、要素との対話でフォーカスに関するイベントが失われる問題を修正しました (Firefox バグ 1398111)。
WebDriver:ReleaseActions
がダブルクリックのトラッカーをリセットしないため、一連のアクションでpointerDown
およびpointerUp
アクションを実行するとダブルクリックが発生する問題を修正しました (Firefox バグ 1422583)。pause
アクションを繰り返し実行するとハングアップする問題を修正しました (Firefox バグ 1447449)。WebDriver:ExecuteScript
やWebDriver:ExecuteAsyncScript
が返す要素コレクションで循環参照エラーが発生する場合がある問題を修正しました (Firefox バグ 1447977)。WebDriver:AcceptAlert
およびWebDriver:DismissAlert
コマンドの競合を防ぐため、ユーザープロンプトが閉じられるまで待つようになりました (Firefox バグ 1479368)。- フレームのスクリプトから発生したログが
MarionettePrefs.logLevel
で制限されず、すべて記録される問題を修正しました (Firefox バグ 1482829)。 - 幅または高さが 32767 ピクセルを超えるウィンドウのスクリーンショットを取得するとき、
WebDriver:TakeScreenshot
でエラーが発生する問題を修正しました (Firefox バグ 1485730)。 - 送信したテキストが空文字列である場合に、
WebDriver:SendAlertText
がユーザープロンプトの値を置き換えない問題を修正しました (Firefox バグ 1486485)。
その他
PerformanceObserver.observe()
の動作を、指定したエントリータイプの配列に有効な値が見つからない場合や、配列が空または存在しない場合に、単に何もしないように修正しました。以前は、Firefox は誤ってTypeError
を発生させていました (Firefox バグ 1403027)。- OpenSearch で、検索 URL の型として
application/json
を、application/x-suggestions+json
の別名として受け入れるようになりました (Firefox バグ 1425827)。
アドオン開発者向けの変更点
API の変更点
テーマ
browserAction
バッジのデフォルトの文字色が、背景とのコントラストを最大化するため、自動的に黒色か白色に設定されるようになりました (Firefox バグ 1474110)。theme
(en-US) マニフェストキーのaccentcolor
およびtextcolor
プロパティが省略可能になりました (Firefox バグ 1413144)。browserAction.getBadgeTextColor()
(en-US) およびbrowserAction.setBadgeTextColor()
(en-US) で、ブラウザーのアクションバッジの文字色を取得および設定できるようになりました (Firefox バグ 1424620)。manifest.json
のテーマcolors
キーで、新しいタブの文字色を設定するntp_text
プロパティと、新しいタブの色を設定するntp_background
プロパティをサポートしました (Firefox バグ 1347204)。- ブックマークサイドバーなど、サイドバーの色をテーマで定義可能になりました (Firefox バグ 1418602)。関連プロパティ:
sidebar
: サイドバーの背景色。sidebar_text
: サイドバーの文字色。sidebar_highlight
: サイドバーで選択したアイテムの背景色。sidebar_highlight_text
: サイドバーで選択したアイテムの文字色。
management.install()
(en-US) メソッドで、ブラウザー拡張機能が署名付きブラウザーテーマをインストールできます (Firefox バグ 1369209)。
検索
- インストール済みの検索エンジンの一覧を取得したり、それらで検索を行ったりすることが可能な、新しい
search
(en-US) API が使用可能になりました (Firefox バグ 1352598)。 topSites.get()
(en-US) で、サイトが返すさまざまなリストのオプションを設定可能なoptions
引数をサポートしました (Firefox バグ 1445836)。
タブ
tabs.onHighlighted
(en-US) で複数選択をサポートしました (Firefox バグ 1474440)。tabs.highlight
(en-US) で、highlightInfo
オブジェクトに省略可能なフィールドであるpopulate
を追加しました。既定値はtrue
です。false
に設定するとパフォーマンスを向上させるため、返されるwindows.Window
がタブのリストを持たないようになります (Firefox バグ 1489814)。tabs.update
(en-US) で、updateProperties
引数内にhighlighted: true
を含むことによる、タブの選択状態の変化をサポートしました (Firefox バグ 1479129)。tabs.update
(en-US) で、updateProperties
引数内にhighlighted: true
およびactive: false
を含むことにより、フォーカスがあるタブを変えずにタブの選択状態を変更できるようになりました (Firefox バグ 1486050)。tabs.query
で、複数のタブが選択されている場合にtabs.Tab
オブジェクトの配列を返すようになりました (Firefox バグ 1465170)。tabs.Tab
プロパティが、ブラウザーウィンドウでどのタブが選択 (ハイライト) されているかを適切に反映するようになりました。またtabs.highlight
(en-US) で、複数のタブのハイライト状態の変化をサポートしました (Firefox バグ 1464862)。tabs.onUpdated
(en-US) に渡されるextraParameters
のisarticle
プロパティをisArticle
に改名しました。古い名前は残されていますが、非推奨です。この変更は Firefox 62 に適用されました (Firefox バグ 1461695)。tabs.onUpdated
(en-US) イベントを使用して、changeInfo
オブジェクトのattention
プロパティでタブがユーザーの注意を引いていることを検出できます (Firefox バグ 1396684)。
メニュー
menus
API にmenus.getTargetElement()
(en-US) を追加しました。このメソッドはtargetElementId
引数が参照する、クリックされた要素を返します (Firefox バグ 1325814)。menus.create()
(en-US) で非表示のメニュー項目を作成できるようになりました。また、menus.update()
(en-US) で項目の表示・非表示を切り替えられるようになりました (Firefox バグ 1482529)。menus
API を使用して作成した項目でアクセスキーをサポートしました (Firefox バグ 1320462)。menus.create()
(en-US) およびmenus.update()
(en-US) のtargetUrlPatterns
引数で、通常はマッチパターンで許可されないものを含む任意の URL スキームをサポートしました (Firefox バグ 1280370)。- タブのコンテキストメニューがクリックされたとき、そのタブが現在アクティブなタブではない場合でも "activeTab" パーミッション が認められるようになりました (Firefox バグ 1446956)。
その他
commands.onCommand
(en-US) が ユーザー入力 (en-US) として扱われるようになりました (Firefox バグ 1408129)。webRequest
API で、投機的接続のフィルターが可能になりました (Firefox バグ 1479565)。webRequest.SecurityInfo
(en-US) にkeaGroupName
およびsignatureSchemeName
プロパティを追加しました。この変更は Firefox 62 に適用されました (Firefox バグ 1471959)。cookies.Cookie
が、Cookie の SameSite 状態を示すプロパティを含むようになりました。cookies.SameSiteStatus
(en-US) 列挙型が SameSite 状態の値を定義します (Firefox バグ 1351663)。- URL のマッチパターンが、"data" URL スキームへ明白にマッチするようになりました (Firefox バグ 1280370)。
関連情報
過去のバージョン
- Firefox 62 for developers
- Firefox 61 for developers
- Firefox 60 for developers
- Firefox 59 for developers
- Firefox 58 for developers
- Firefox 57 for developers
- Firefox 56 for developers
- Firefox 55 for developers
- Firefox 54 for developers
- Firefox 53 for developers
- Firefox 52 for developers
- Firefox 51 for developers
- Firefox 50 for developers
- Firefox 49 for developers
- Firefox 48 for developers
- Firefox 47 for developers
- Firefox 46 for developers
- Firefox 45 for developers
- Firefox 44 for developers
- Firefox 43 for developers
- Firefox 42 for developers
- Firefox 41 for developers
- Firefox 40 for developers
- Firefox 39 for developers
- Firefox 38 for developers
- Firefox 37 for developers
- Firefox 36 for developers
- Firefox 35 for developers
- Firefox 34 for developers
- Firefox 33 for developers
- Firefox 32 for developers