Chrome 119 Beta 版

Chrome 119 Beta 版为您带来 CSS 相对颜色语法、新的伪类以及更多功能。

除非另有说明,否则上述变更适用于 Android、ChromeOS、Linux、macOS 和 Windows 的最新 Chrome Beta 渠道版本。您可以通过提供的链接或 ChromeStatus.com 上的列表详细了解本文所列的功能。Chrome 119 Beta 版自 2023 年 10 月 4 日起推出。您可以在桌面版 Google.com 或 Android 版 Google Play 商店中下载最新版本。

CSS

此版本新增了四项 CSS 功能。

:user-valid 和 :user-invalid CSS 伪类

:user-invalid:user-valid 伪类分别表示输入不正确或正确的元素,但前提是这些元素是在用户与之进行重大互动之后的。这类似于 :valid:invalid,但添加了一个约束条件,即这些伪类仅在用户与元素互动后才匹配。

CSS 相对颜色语法 (RCS)

借助相对颜色语法,开发者可以通过修改其他颜色的参数来定义颜色。

例如:使用 oklab(from magenta calc(l * 0.8) a b); 生成的 oklab 品红色会变浅 80%。

CSSClip-path metry-box 值

CSS clip-path 属性现在支持 <geometry-box> 值来控制剪辑的参考框,从而使 clip-path 更易于使用。这些 box 值可与基本形状(例如 clip-path: circle(50%) margin-box)一起使用,也可以单独用于裁剪到指定框(例如 clip-path: content-box)。

CSSClip-path xywh() 和 rect() 值

Chrome 现在支持 clip-path 属性的 xywh()rect() 值,以便更轻松地指定矩形裁剪或圆角矩形裁剪。

Web API

自 Chrome 104 开始,对于新创建的 Cookie 或具有失效日期更新的 Cookie,其上限是未来不超过 400 天的 Cookie。现在,这一限制也将同样应用于已存储的 Cookie。Chrome 119 及更高版本首次启动并进行一次性数据库迁移后,这些 Cookie 的失效日期不会超过 400 天。在 Chrome 119 发布至少 400 天后,用户才会感受到此项变更的影响,并且只会对在此期间未更新的现有 Cookie 产生影响。

DisplayMediaStreamOptions monitoringTypeSurfaces

调用 getDisplayMedia() 时,浏览器会为用户提供一个显示界面选项:标签页、窗口或显示器。使用 monitorTypeSurfaces 选项,Web 应用现在可以提示浏览器是否想要在向用户提供的选项中包含类型监控的显示界面。

Fenced Frames 功能更新

Chrome 119 对围栏框架进行了以下改进。

在 Privacy Sandbox 内的 Protected Audience API 中,Protected Audience 广告尺寸宏还有一个额外的格式选项。通过选择启用功能,您可以将赢得竞价的广告的尺寸宏宏添加到广告的网址,例如:

https://ad.com?width={/%AD_WIDTH%}&height={/%AD_HEIGHT%}

为了与 Protected Audience 中其他类型的宏(例如 deprecatedReplaceInURNregisterAdMacro 使用的宏)更加一致,我们在 Chrome 119 中添加了一项功能,除了当前格式之外,我们还增加了使用 ${AD_WIDTH}${AD_HEIGHT} 作为宏格式的功能。

自动信标现在将会发送到所有注册的网址。以前,只有在调用 setReportEventDataForAutomaticBeacons() 时指定的目的地才会接收自动信标,即使该目的地在其 Worklet 中针对 "reserved.top_navigation" 调用 registerAdBeacon() 也是如此。现在,任何针对 "reserved.top_navigation" 调用 registerAdBeacon() 的目的地都将获得自动信标,但只有 setReportEventDataForAutomaticBeacons() 中指定的目的地才会获得自动信标数据和信标。现在,setReportEventDataForAutomaticBeacons() 中的 "once" 参数将确定数据是否发送一次,而不是确定整个信标是否发送一次。

Intersection Observer 滚动边距

借助 Intersection Observer scrollMargin 属性,开发者可以观察当前被滚动容器裁剪的嵌套滚动容器内的目标。这是在计算交集时通过 scrollMargin 扩展容器的裁剪矩形来实现的。

键盘可聚焦滚动容器

此功能使用顺序焦点导航使滚动容器可聚焦,从而改善了无障碍功能。以前,除非 tabIndex 明确设置为 0 或更大的值,否则 Tab 键不会聚焦滚动条。通过将滚动条默认设置为可聚焦,无法(或不想)使用鼠标的用户将能够使用键盘的 Tab 键和箭头键来聚焦剪辑的内容。仅当滚动条不包含任何可在键盘上聚焦的子项时,才会启用此行为。

针对车载设备的专用网络访问限制

对 Chrome for Android Automotive 强制执行专用网络访问限制(而非只是警告)(如果 BuildInfo::is_automotive)。其中包括针对子资源的专用网络访问预检请求,以及针对工作器的专用网络访问。

读取 Chrome 设备属性

Device Attributes Web API 是 Managed Device Web API 的一部分,可为 Web 应用提供查询设备信息的功能。例如,设备 ID、序列号和位置。

将目标名称中的悬空标记替换为 _blank

如果可导航目标名称(通常由 target 属性设置)包含悬空标记(例如 \n<),则此更改会替换成 _blank。这修复了绕过悬空标记注入缓解措施的问题。

Sec-CH-Prefers-Reduced-Transparency 用户偏好设置媒体功能客户端提示标头

用户偏好设置媒体功能客户端提示标头围绕用户偏好设置媒体功能定义一组 HTTP 客户端提示标头(如媒体查询级别 5 所定义)。如果用作关键客户端提示,这些标头可让服务器在 CSS 内嵌等方面做出明智的选择。Sec-CH-Prefers-Reduced-Transparency 反映了用户的 prefers-reduced-transparency 偏好设置,适用于 Chrome 119。

符合标准的网址主机标点字符

使 Chrome 对网址主机标点字符的处理方式符合网址标准。例如:

Before:

> const url = new URL("http://exa(mple.com;");
> url.href
'http://exa%28mple.com/&apos;

( 是禁用字符,但 Chrome 错误地允许了该字符。

之后:

> const url = new URL("http://exa(mple.com;");
> => throws TypeError: Invalid URL.

WebCodecs AudioEncoder bitrateMode

某些音频编解码器支持指定音频编码器比特率模式。此功能向 WebCodec 的 AudioEncoderConfig 添加了一个默认值为 "variable""bitrateMode" 标志,该标志镜像了 VideoEncoderConfig 的配置选项,并且已默认存在。

通过此标记,开发者可以选择是使用可变比特率的音频编码还是对恒定比特率的音频进行编码。特定编解码器编码器实现的术语可能略有不同(例如,Opus 的 CBRVBR),但所有这些术语都应映射到“常量”的一般概念还是“可变”比特率。

这两个选项会产生以下效果:

  • variable:允许音频编码器根据正在编码的音频的内容来提高或降低其比特率,以便在保持目标质量的同时保持带宽/二进制大小。例如,编码器可能会在无声编码时降低其比特率,而在对语音编码时还原到全比特率。
  • 固定:强制音频编码器保持相同的比特率,而不考虑音频内容。当需要可预测的带宽消耗时,这会非常有用。

自 Chrome 119 起,此标志会影响 Chromium 上的两种编解码器:Opus 和 AAC。

适用于 TLS 的 X25519Kyber768 密钥封装

通过部署 Kyber768 抗量子密钥协议算法,保护当前的 Chrome TLS 流量,防范未来的量子加密分析。这是基于 IETF 标准的混合 X25519 + Kyber768 密钥协议。此规范和发布不在 W3C 的范围内。此密钥协议将以 TLS 加密形式发布,并且应向用户公开。

正在进行源试用

在 Chrome 119 中,您可以选择参加以下新的源试用

以全屏窗口打开弹出式窗口

这项新的源试用window.open() JavaScript API 添加了 fullscreen windowFeatures 参数。这样一来,调用方可以直接在包含该弹出式窗口的显示屏上以全屏模式打开一个弹出式窗口(基于 screenX 和 screenY)。这样一来,开发者就无需手动将弹出式窗口转换为全屏,也就不需要新的用户激活信号。

弃用和移除

此版本的 Chrome 引入了下列弃用和移除功能。请访问 ChromeStatus.com,查看计划内弃用、当前弃用和先前移除的列表。

此版本的 Chrome 移除了四项功能。

移除 Web SQL

我们之前已宣布弃用并移除 Web SQL。从 Chrome 119 开始,此功能已完全移除。反向源试用可让开发者在 Chrome 123 之前继续使用 WebSQL。

移除 Sanitizer API

Sanitizer API 旨在为平台构建一款易于使用、始终安全且由浏览器维护的 HTML 排错程序。Chrome 根据当时的规范草案在 Chrome 105 中推出了初始版本。不过,相关讨论已经继续,提议的 API 形式也发生了显著改变。

为防止当前的 API 变得固定,我们将移除当前的实现。我们预计,待所提议的规范再次稳定后,我们将重新实现 Sanitizer API。

移除数据:SVGUseElement 中的网址

SVGUseElement 中分配 data: URL 可能会导致 XSS。这也导致攻击者可以绕过可信类型。因此,我们计划取消并取消对该工具的支持。

移除了声明式 shadow DOM 的非标准 shadowroot 属性

Chrome 111 中提供了标准跟踪 shadowrootmode 属性,该属性用于启用声明式 Shadow DOM。Chrome 119 即将移除较旧的非标准 shadowroot 属性。迁移路径非常简单:将 shadowroot 替换为 shadowrootmode