メインコンテンツへスキップ

All Posts

News bits

Chrome 136 リリース

Chrome 136 がリリース。RegExp.escape静的メソッドのベースライン入りや:visitedリンク履歴のパーティショニングなど。

出展:Chrome 136 の新機能

#RegExp.escape がベースライン入り

RegExp.escape静的メソッドが全ブラウザで利用可能に。正規表現用のエスケープ処理が簡単にできる。渡された文字列を正規表現で利用するようなケースでは、そのまま RegExp などに渡すと危険なため対処が必要だったが、これによりモダンな環境では Web 標準の API のみで対処が可能になった。

js
const unsafe = "a+b*c?";
const safe = RegExp.escape(unsafe);
const regex = new RegExp(safe); // /a\+b\*c\?/

# リンク履歴のパーティショニング

:visited疑似クラスの履歴がサイト・フレーム単位で分離され、サイドチャネル攻撃による履歴漏洩が防止される。Chrome 136 以降、:visited履歴はグローバルなリストではなく、リンク URL・トップレベルサイト・フレームオリジンごとに分割管理される。これにより、他サイトやサードパーティ iframe からの履歴推測が不可能になった。

同一サイト内のサブページへのリンク(セルフリンク)は:visitedとして表示されるため、通常のナビゲーション体験は維持される。

css
a:visited {
  color: purple;
}

参考:Chrome の のプライバシー保護を強化

#パスワード認証情報のパスキーアップグレード

WebAuthn の条件付き作成リクエストで、既存のパスワード認証情報をパスキーにアップグレード可能。ユーザーの同意があればモーダルなしで自動作成できる。

js
const registration = await navigator.credentials.create({
  mediation: 'conditional',
  publicKey: {
    challenge: /*...*/,
    user: /*...*/,
    rp: /*...*/,
  }
});

出展:Explainer Conditional Create - w3c/webauthn

#HDR 最大輝度の制限

dynamic-range-limit プロパティで HDR コンテンツの最大輝度を制限可能。

css
/* HDR最大輝度の制限 */
body {
  dynamic-range-limit: 1000;
}

著者について

Hi there. I'm hrdtbs, a frontend expert and technical consultant. I started my career in the creative industry over 13 years ago, learning on the job as a 3DCG modeler and game engineer in the indie scene.

In 2015 I began working as a freelance web designer and engineer. I handled everything from design and development to operation and advertising, delivering comprehensive solutions for various clients.

In 2016 I joined Wemotion as CTO, where I built the engineering team from the ground up and led the development of core web and mobile applications for three years.

In 2019 I joined matsuri technologies as a Frontend Expert, and in 2020 I also began serving as a technical manager supporting streamers and content creators.

I'm so grateful to be working in this field, doing something that brings me so much joy. Thanks for stopping by.