Chrome 119 Beta 版

Chrome 119 Beta 版可为您提供 CSS 相对颜色语法、新的伪类以及更多精彩功能。

除非另有说明,否则上述更改均适用于最新 Chrome Beta 版(Android、ChromeOS、Linux、macOS 和 Windows)。如要详细了解此处列出的功能,请点击以下链接或 ChromeStatus.com 上的列表。Chrome 119 为 Beta 版,自 2023 年 10 月 4 日起即为 Beta 版。您可以访问 Google.com(桌面版)或 Google Play 商店(Android 版)下载最新版本。

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 品红色比 oklab 少 80%。

CSS clip-path 几何图形值

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

CSS clip-path xywh() 和 rect() 值

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

Web API

自 Chrome 104 以来,对于新创建的 Cookie 或设有失效日期更新的 Cookie,其相应日期的上限为 400 天后。这一限制现在会追溯应用于已存储在存储中的 Cookie。Chrome 119+ 首次启动并进行一次性数据库迁移后,这些 Cookie 的失效日期不超过 400 天。只有在 Chrome 119 发布至少 400 天后,用户才能感受到此项变更的影响,而且也只有该时间段内尚未更新的现有 Cookie 才会受到此影响。

DisplayMediaStreamOptions monitoringTypeSurfaces

调用 getDisplayMedia() 时,浏览器会为用户提供多种显示 surface:标签页、窗口或监视器。使用 monitorTypeSurfaces 选项时,Web 应用现在可以提示浏览器,如果它倾向于在向用户提供的选项中包含类型为“监控”的显示 surface,

围栏框架功能更新

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 键和箭头键来聚焦于剪辑的内容。仅当滚动条不包含任何可聚焦键盘的子项时,系统才会启用此行为。

适用于 Automotive 的专用网络访问限制

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

读取 Chrome 设备属性

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

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

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

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

用户偏好设置媒体功能客户端提示标头定义了一组关于用户偏好设置媒体功能(由媒体查询级别 5 定义)的 HTTP 客户端提示标头。如果用作关键客户端提示,则这些标头可让服务器做出有关 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。这也会导致系统绕过 Trusted Types。因此,我们计划弃用并取消对此功能的支持。

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

Chrome 111 中随附了标准轨道 shadowrootmode 属性,用于启用声明式 Shadow DOM。较旧的非标准 shadowroot 属性将从 Chrome 119 中移除。有一个简单的迁移路径:将 shadowroot 替换为 shadowrootmode