Chrome 149 ベータ版

公開日: 2026 年 5 月 6 日

特に記載がない限り、以下の変更は Android、ChromeOS、Linux、macOS、Windows 向けの最新の Chrome ベータ版チャンネル リリースに適用されます。ここに記載されている機能について詳しくは、提供されているリンクまたは ChromeStatus.com のリストをご覧ください。2026 年 5 月 6 日時点で、Chrome はベータ版です。最新版は、パソコンの場合は Google.com、Android の場合は Google Play ストアからダウンロードできます。

CSS と UI

表の明示的な枠線の色に関する UA スタイルシート ルールを削除

この変更により、<table> 要素の UA スタイルシートから誤った border-color: gray CSS ルールが削除されます。

HTML 仕様にはこのルールが含まれていないため、境界線がデフォルトで currentColor にならないという誤った動作が発生します。Firefox と Webkit のどちらも UA スタイルシートにこの gray 枠線の色ルールがないため、相互運用性の問題が発生します。

shape-outsidepath()shape() をサポート

CSS の shape-outside プロパティで path()shape() のシェイプ関数をサポートします。これらの関数を使用すると、デベロッパーは長方形の座標を使用してフロート除外シェイプを定義できます。

shape-outsiderect()xywh() をサポート

CSS の shape-outside プロパティで rect()xywh() の基本形状関数をサポートします。これらの関数を使用すると、デベロッパーは長方形の座標を使用してフロート除外シェイプを定義できます。これにより、Chrome の動作が、この機能をすでにサポートしている Firefox や Safari と一致するようになります。

ウェブアプリのスコープのシステム アクセント カラー

CSS キーワードと accent-color: auto のシステム アクセント カラーへのアクセスを、ウェブアプリと初期プロファイル コンテキスト内のみに制限します。

AccentColorAccentColorText の CSS キーワードは、ウェブ上でユーザーのシステムカラーを幅広く公開する際に、フィンガープリント ベクターとして大きな意味を持ちます。そのため、インストールされたウェブアプリのコンテキストでのみ使用できます。accent-color: auto を含むフォーム コントロールも、この機能のリリースでこのスコープに一致します。これにより、システムカラーに対するデベロッパーとユーザーの期待がより一貫したものになり、AccentColor[Text] のフィンガープリント制限に沿ったものになります。

ユーザー インタラクション時にテキストのオーバーフローをクリップする

text-overflow: ellipsis が設定されたテキストをユーザーが操作(編集またはキャレット ナビゲーション)すると、テキストは一時的に省略記号からクリップに切り替わり、ユーザーは非表示のオーバーフロー コンテンツを表示して操作できるようになります。この機能は、編集可能な要素と編集不可能な要素の両方に適用されます。フォーム コントロール(textareainput)の場合、この動作はすでにサポートされています。

CSS ギャップ装飾

CSS のギャップ装飾を使用すると、複数列レイアウトの column-rule と同様に、グリッドや flexbox などのコンテナ レイアウトのギャップのスタイルを設定できます。この機能は、グリッド レイアウトとフレックスボックス レイアウトのギャップをスタイル設定するためにハックを使用する必要があるウェブ デベロッパーから強く要望されています。

image-rendering: crisp-edges

image-rendering: crisp-edges は、コントラストとエッジを保持し、色を滑らかにしたり、プロセスで画像にぼかしを導入したりしない方法で画像をスケーリングする必要があることを示します。

ユーザー アクションの疑似クラスの最上位レイヤの境界

この機能は、CSS セレクタ レベル 4 仕様で説明されている動作を表します。この仕様では、:hover:active:focus-within は要素の親に一致しますが、親チェーンの最初の最上位レイヤ要素までしか一致しないと規定されています。Chromium の変更では、最上位レイヤ要素に対してこの制限が実装されます。

具体的には、次の構造でユーザーが <button> にカーソルを合わせると、:hover 疑似クラスは <button> とポップオーバーに一致しますが、<main> 要素には一致しません。

<main>
  <div popover>
    <button></button>
  </div>
</main>
<script>document.querySelector('[popover]').showPopover();</script>

この変更の理由は、通常、トップレイヤ要素は親要素から視覚的に切り離された場所で「別の場所」にレンダリングされるためです。そのため、最上位レイヤの要素にカーソルを合わせたときや、最上位レイヤの要素がアクティブになったときに、親要素のスタイルを変更することは通常意味がありません。

Chromium でリリースされたカスタマイズ可能な select 実装では、select ::picker() ポップオーバーの特定のケースに対してこのロジックがハードコードされています。この機能では、より一般的な動作を優先して、その特殊なケースのロジックが削除されます。

CSS プロパティとして path-length をサポート

この変更により、既存の SVG pathLength プレゼンテーション属性にマッピングされる新しい CSS プロパティ path-length が導入されます。これは、pathLength をサポートする SVG ジオメトリ要素(<path><circle><rect><line><polyline><polygon><ellipse> を含む)に適用されます。

pathLength を CSS プロパティとして公開することで、作成者はスタイルシート、インライン スタイル、アニメーションで指定できるようになり、通常の CSS カスケード、限定性、トランジション、アニメーションに参加できるようになります。このプロパティは、ストロークの破線レンダリングや <textPath> に沿ったテキストの配置など、パスの全長に依存するすべての計算に影響します。

CSS 宣言は、標準の CSS 優先順位ルールに従って、プレゼンテーション属性をオーバーライドします。path-length の初期値は none です。これは、作成者が指定した経路の数が存在しないことを表し、0 などの明示的な数値とは異なります。

この機能が無効になっている場合、属性のみの既存の動作は保持されます。

ウェブ API

Intl.Locale.prototype.variants

TC39 提案に記載されているとおり Intl.Locale.prototype.variants を追加し、TC39 言語 ID の更新に記載されているとおり Intl.Locale コンストラクタのオプション バッグで「variants」も受け入れます。ECMA402 の変更は pull リクエスト 960 でマージされ、test262 のテストコードは pull リクエスト 4474 でマージされました。

プログラマティック スクロール プロミス

現在、ウェブ デベロッパーは、プログラムによるスムーズ スクロールが完了したタイミングを知る方法がありません。この機能は、プログラマティック スクロール メソッドが、スクロール完了時に中断ステータスで解決される Promise オブジェクトを返すようにすることで、この問題を解決します。

Payment Request: 支払いハンドラが内部エラーを報告できるようにする

Payment Request API でアクセスされる支払いハンドラが、「ユーザーがキャンセルした」エラーと「内部支払いアプリのエラー」に対して別々のエラーを返すことを可能にします。これにより、ウェブ デベロッパーは、たとえば内部アプリエラーが発生したときに再試行したり、別のフローにフォールバックしたりして、ユーザー向けのより優れたフローを構築できます。また、ユーザーがキャンセルを希望した場合は、フローを適切に停止できます。

ウェブベースの Payment Handler API は、PaymentRequestEvent.respondWith に渡された Promise を拒否するために使用するエラーに基づいて、この違いを示すことができます。Promise が OperationError で拒否された場合は、PaymentRequest.show() メソッドを使用して「内部アプリエラー」(OperationError)が販売者に返されます。それ以外の場合は、「ユーザーキャンセル」(AbortError)が返されます。

ネイティブ アプリの支払いハンドラのインフラストラクチャも同様に更新されますが、ウェブ API の範囲外です。

TSF で Windows タッチキーボードの autocorrect="off" を尊重

HTML の autocorrect 属性を使用すると、ウェブ作成者は、<input><textarea>、contenteditable ホストなどの編集可能な要素でユーザー入力に自動修正を適用するかどうかを制御できます。Windows では、タッチキーボードはこの属性を無視し、常に単語を自動修正します。たとえば、autocorrect="off" を含む要素で "truf" の後にスペースを入力すると、"truf " が保持されるのではなく、"true " が生成されます。この機能により、フォーカスされた編集可能な要素に autocorrect="off" が設定されている場合、Chrome の TSF 統合でタッチキーボードの自動修正が検出され、元に戻されます。

bfcache エントリで WebSocket を切断

アクティブな WebSocket 接続があっても、ページがバックフォワード キャッシュ(bfcache)に保存されるのを妨げることはなくなりました。ドキュメントを不適格としてマークする代わりに bfcache エントリで接続を閉じることで、ブラウザはアクティブな WebSocket を含むページを保存して復元できます。

Request.isReloadNavigation 属性

Fetch API の Request インターフェースに読み取り専用のブール値属性 isReloadNavigation を追加します。この属性は、現在のナビゲーション リクエストがユーザーがトリガーした再読み込み(更新ボタン、location.reload()history.go(0) の使用など)として開始されたかどうかを示します。このシグナルは主に、Service Worker の FetchEvent 内の Request オブジェクトで公開されます。

プラグイン、クロスオリジン、制限付き iframe で SVG フィルタを無効化

このリリースにより、クロスオリジンまたは制限付きの iframe(サンドボックス化された iframe など)と埋め込みプラグイン(PDF など)に SVG フィルタが適用されなくなります。フレームまたはプラグインが SVG フィルタ効果でペイントされる場合、効果ツリーをトラバースして SVG フィルタのない最上位の祖先を見つけ、その効果を代わりに適用します。

新しいオリジン トライアル

Chrome 149 では、次の新しいオリジン トライアルにオプトインできます。

Permissions Policy: focus-without-user-activation

埋め込みコンテンツからのプログラムによるフォーカスを focus-without-user-activation 権限ポリシーで制御できるようにします。フレームでポリシーが拒否された場合、ユーザーのアクティベーションによってトリガーされない限り、プログラムによるフォーカス呼び出し(element.focus()autofocuswindow.focus()dialog.showModal()、ポップオーバーのフォーカス)はブロックされます。クリックやタブ移動などのユーザー操作によるフォーカスは影響を受けません。

このポリシーは、Permissions-Policy HTTP レスポンス ヘッダーまたは iframe allow 属性を使用して設定できます。フォーカス委任がサポートされています。フォーカスを持つ親フレームは、子フレームにポリシーが拒否されていても、プログラムでフォーカスを子 iframe に渡すことができます。また、フレームがフォーカスを持つと、そのサブツリー内でフォーカスを移動できます。

ゲームパッドのイベント駆動型入力 API

この提案では、アプリケーションがより低いレイテンシでゲームパッド入力を受け取れるようにする、新しいイベント駆動型モデルで Gamepad API を拡張します。navigator.getGamepads() を使用した頻繁なポーリングに頼る代わりに、デベロッパーは rawgamepadinputchange イベントをリッスンできるようになりました。このイベントは、デバイスから新しい入力データが利用可能になるたびに発生します。これにより、特にレイテンシの影響を受けやすいアプリケーションで、より応答性の高い入力処理が可能になります。

WebAssembly カスタム記述子

WebAssembly がソースレベルの型に関連付けられたデータを新しいカスタム記述子オブジェクトに効率的に保存できるようにします。これらのカスタム記述子は、そのソースレベル型の WebAssembly オブジェクトのプロトタイプで構成できます。これにより、メソッドを WebAssembly オブジェクトのプロトタイプ チェーンにインストールし、通常のメソッド呼び出し構文を使用して JavaScript から直接呼び出すことができます。プロトタイプとメソッドは、インポートされた組み込み関数を使用して宣言的に構成できます。