Firefox 65 for developers

この記事では、開発者に影響を与える Firefox 65 の変更点について説明します。Firefox 65 は 2019 年 1 月 29 日に出荷されました。

ウェブ開発者のための変更

開発者ツール

  • Flexbox インスペクター をデフォルトで有効にしました。
  • JavaScript デバッガー で、XHR のブレークポイントをサポートしました (Firefox バグ 821610)。
  • アクセシビリティツリーでアイテムを右クリックすると、JSON ビューアに移動して ツリーを JSON として表示 できます。
  • アクセシビリティピッカーの 色のコントラスト 表示機能を、文字列の背景が複雑 (例えばグラデーションや複雑な画像) である場合はコントラスト値の範囲を表示するように改良しました。
  • ネットワークモニター のヘッダータブに、選択した要求のリファラーポリシーを表示するようになりました (Firefox バグ 1496742)。
  • スタックトレースを表示するとき (例えばコンソールのログや JavaScript デバッガー)、自身のコードに集中できるようにするため、フレームワークのメソッドの呼び出しを認識してデフォルトで折りたたむようにしました。
  • ネイティブの端末と同じように、JavaScript コンソールの履歴を見つけるための逆検索が可能になりました (Windows/Linux では F9、macOS では Ctrl + R を押下して検索文字列を入力します。さらに Ctrl + R/Ctrl + S で結果を切り替えます)。
  • JavaScript コンソールの $0 ショートカット (ページで現在調査している要素を参照します) で自動補完が可能になりました。例えば $0.textContent のようなプロパティの自動補完候補を得るために $0.te と入力できます。
  • インスペクターのルールビューで編集した箇所が、変更点パネルに表示されるようになりました (Firefox バグ 1503920)。

HTML

CSS

  • image-rendering プロパティの値 crisp-edges の接頭辞を削除しました (Firefox バグ 1496617)。
  • 値が auto である scrollbar-color が、2 つの色ではなく auto として解釈するようになりました (Firefox バグ 1501418)。
  • break-* プロパティを実装して、古い page-break-* プロパティをそれらの別名にしました (Firefox バグ 775618):
  • overflow-wrap プロパティの値 anywhere を実装しました (Firefox バグ 1505786)。
  • 新しいステップ位置のキーワードである jump-startjump-endjump-nonejump-both (steps() タイミング関数 内で使用可能) を実装しました (Firefox バグ 1496619)。これは frames() タイミング関数の削除と同時に行いました。この関数は過去に同様の機能を実装していたものであり、非推奨になりました。
  • ほかのブラウザーとの互換性のために、-webkit-appearance で新しい値をいくつか追加しました。特に、以下の値です。
    • meter。これはユーザーエージェントのスタイルシートで、<meter> 要素のデフォルトの値として使用されます。既存の値 meterbar は、meter の別名になりました (Firefox バグ 1501483)。
    • progress-bar。これはユーザーエージェントのスタイルシートで、<progress> 要素のデフォルトの値として使用されます。既存の値 progressbar は、progress-bar の別名になりました (Firefox バグ 1501506)。
    • textarea。これはユーザーエージェントのスタイルシートで、<textarea> 要素のデフォルトの値として使用されます。既存の値 textfield-multiline は、textarea の別名になりました (Firefox バグ 1507905)。
  • ほかのブラウザーの動作に合わせるため、user-select の動作を変更しました (Firefox バグ 1506547)。具体的には以下のとおりです:
    • 要素で user-select: all を設定したとき、子孫要素で設定した user-select のほかの値を上書きしないようになりました。例えば、以下のコードをご覧ください:
      html
      <div style="-webkit-user-select: all">
        All
        <div style="-webkit-user-select: none">None</div>
      </div>
      
      none を設定した <div> は、選択不可になります。以前はこの値が、親要素の値 all で上書きされました。
    • contenteditable である要素の内部にある contenteditable ではない要素が、選択可能になりました。
    • user-select の動作が、shadow DOM の内部・外部ともに同じになりました。
    • 独自仕様である値 -moz-text を削除しました。
  • CSS 環境変数 (env() 関数) を実装しました (Firefox バグ 1462233)。

廃止

SVG

変更なし。

JavaScript

API

新しい API

DOM

DOM イベント

  • 今後、Window.open() はイベントごとに 1 回だけ呼び出し可能になります (Firefox バグ 675574)。
  • CJKT ユーザーに対してブラウザー間の互換性を高めるため、IME で変換している間に keyup および keydown イベントが発生するようになりました (Firefox バグ 354358)。

ウェブワーカー

フェッチとサービスワーカー

メディア、ウェブオーディオ、WebRTC

Canvas と WebGL

廃止

  • Mutation events を、シャドウツリーで無効化しました (Firefox バグ 1489858)。
  • MediaStream の非標準プロパティである currentTime を削除しました (Firefox バグ 1502927)。
  • 設定項目 dom.webcomponents.shadowdom.enabled および dom.webcomponents.customelements.enabled を削除しました。Shadow DOM および Custom Elements は about:config で無効化できません (Firefox バグ 1503019)。
  • 非標準の DOM text イベント (ブラウザーのエディター UI に、IME のコンポジション文字列や選択範囲を伝えるために発生します) を削除しました (Firefox バグ 1288640)。
  • keypress イベントが非表示キー では 発生しなくなりました (Firefox バグ 968056)。ただし Enter キーと、 Shift + Enter および Ctrl + Enter の組み合わせは除きます (これらはブラウザー間の互換性のために維持します)。

セキュリティ

ネットワーク

変更なし。

プラグイン

変更なし。

WebDriver conformance (Marionette)

API の変更点

  • WebDriver:ElementSendKeys が対話性の確認で <input type=file> をより緩やかに扱うようになり、not interactable エラーメッセージを発生させずに要素を非表示にできるようになりました。厳密な対話性の確認を行いたい場合は strictFileInteractability を使用できます (Firefox バグ 1502864)。

バグ修正

  • ウィンドウ操作コマンドの WebDriver:FullscreenWindowWebDriver:MinimizeWindowWebDriver:MaximizeWindowWebDriver:SetWindowRect が、より安定的になりました (Firefox バグ 1492499)。特殊な状況で無限ハングアップが発生しなくなりましたが、ウィンドウが 5 秒以内に要求した状態に達しなければタイムアウトします (Firefox バグ 1521527)。
  • WebDriver:ElementClick が、クリックする要素の中心点を正しく計算するようになりました。寸法が 1 ピクセル四方でも対話できます (Firefox バグ 1499360)。

その他

  • unexpected alert open エラーで、より有益なメッセージを提供するようになりました (Firefox バグ 1502268)。

その他

  • WebP 画像をサポートしました (Firefox バグ 1294490)。
    • また、特定の状況でブラウザー間の互換性を向上するために、WebP の MIMEType (image/webp) を HTML ファイルの Accept 標準 HTTP 要求ヘッダーに追加しました (Firefox バグ 1507691)。
  • Windows で、AV1 コーデックをデフォルトでサポートしました (Firefox バグ 1452146)。

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

API の変更

タブ

  • tabs API を、タブサクセサーをサポートするように強化しました。タブがサクセサーを持つことができ、サクセサーはタブが閉じられたときにアクティブになるタブの ID です (Firefox バグ 1500479。詳しくは this blog post をご覧ください)。特に、以下の値です:
    • tabs.Tab 型が successorId プロパティを持つようになりました。これは、タブのサクセサーの ID を登録および取得するために使用できます。
    • tabs.onActivated (en-US) イベントリスナーのコールバックで、新しい引数 previousTabId を使用できます。これは、以前アクティブであったタブがまだ開かれていれば、その ID が入ります。
    • tabs.update() (en-US) 関数の updateProperties オブジェクトに、新しい省略可能のプロパティsuccessorTabId を追加しました。ID を更新するために使用できます。
    • successorTabId は、tabs.get()tabs.query() といった関数でも返ります。
    • 新たに tabs.moveInSuccession() で、タブサクセサーをまとめて操作できます。

Manifest の変更

変更なし。

その他

関連情報

旧バージョン