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-outside の形状をより柔軟に定義し、アニメーションをサポートできます。

2026 年 6 月 7 日に更新し、以前は長方形の座標の使用について言及していた説明を修正しました。

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 ギャップ装飾を使用すると、グリッドや Flexbox などのコンテナ レイアウトのギャップを、複数列レイアウトの 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 コンストラクタのオプション バッグで「バリアント」も受け入れます。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 " が生成されます。この機能により、Chrome の TSF 統合では、フォーカスされた編集可能な要素に autocorrect="off" が設定されている場合に、タッチキーボードの自動修正を検出して元に戻すことができます。

bfcache エントリで WebSocket を切断

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

Request.isReloadNavigation 属性

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

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

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

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

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

権限ポリシー: 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 から直接呼び出すことができます。プロトタイプとメソッドは、インポートされた組み込み関数を使用して宣言的に構成できます。