Chrome 131 Beta 版

发布时间:2024 年 10 月 16 日

除非另有说明,否则以下更改适用于 Android、ChromeOS、Linux、macOS 和 Windows 的最新 Chrome Beta 版渠道版本。如需详细了解此处列出的功能,请点击提供的链接或访问 ChromeStatus.com 上的列表。截至 2024 年 10 月 16 日,Chrome 131 仍处于 Beta 版阶段。您可以访问 Google.com 下载桌面版,也可以在 Android 设备上访问 Google Play 商店下载。

CSS

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

CSS 锚点定位:anchor-scope

借助 anchor-scope 属性,您可以将锚点名称的可见性限制为给定的子树。

CSS font-variant-emoji

font-variant-emoji CSS 属性提供了一种在彩色(表情符号样式)和单色(文本样式)表情符号字形之间进行控制的方法。您也可以通过在每个表情符号代码点后添加表情符号变体选择器(具体而言,文本为 U+FE0E,表情符号为 U+FE0F)来实现此目的。

CSS 突出显示继承

借助 CSS 突出显示继承,CSS 突出显示伪类(例如 ::selection::highlight)通过伪突出显示链(而非元素链)继承其属性。这样一来,在精彩集锦中继承属性的模型就更直观了。

如需了解详情,请参阅 Igalia 的 Stephen Chenney 撰写的博文针对 CSS 选择样式设置的继承变更

改进了 <details><summary> 元素的样式结构

<details><summary> 元素的结构提供更多 CSS 样式支持,以便在更多情况下使用这些元素,在这些情况下,公开 widget 或手风琴 widget 是在 Web 上构建的。具体而言,此变更移除了之前阻止在这些元素上设置 display 属性的限制,并添加了 ::details-content 伪元素来设置展开和收缩部分的容器样式。

@page 边距框

在打印网页文档或将其导出为 PDF 时,添加了对页面边距框的支持。

借助 @page 边距框,您可以定义页面边距区域中的内容,例如提供自定义页眉和页脚,而不是使用浏览器生成的内置页眉和页脚。

边距框是使用 CSS @page 规则内的 at 规则定义的。边距框的外观和内容通过 at 规则内的 CSS 属性(包括 content 属性)指定。系统还支持计数器,用于页码编号。该规范定义了两个特殊的计数器名称:page 表示当前页码,pages 表示总页数。

@property 支持 <string> 语法

支持为已注册的自定义属性使用 <string> 语法组件名称。

在相对颜色语法中支持 currentcolor

允许在 CSS 中使用相对颜色(使用 from 关键字),以 currentcolor 作为基准。这样一来,您就可以根据元素的文本颜色,为该元素的边框、阴影或背景设置互补色。

此功能还包括颜色函数嵌套且依赖于 currentcolor 的使用情形,例如 color-mix(in srgb, rgb(from currentcolor r g b), white))rgb(from rgb(from currentcolor 1 g b) b g r)

支持为 clip-pathfillstrokemarker-* 属性使用外部 SVG 资源

此功能增加了对剪辑路径、标记和绘制服务器(针对“fill”和“stroke”属性)的外部引用的支持。例如,clip-path: url("resources.svg#myPath")

Web API

Direct Sockets API

允许隔离的 Web 应用与网络设备和系统建立直接传输控制协议 (TCP) 和用户数据报协议 (UDP) 通信,以及监听和接受传入连接。

从 CSP 限制中排除 Speculation-Rules 标头

更新了推测规则与 CSP 之间的集成,以便 CSP 仅应用于 <script type=speculationrules>,而不应用于 Speculation-Rules 标头。CSP 的脚本政策旨在防止将脚本注入到 HTML 中,而 CSP 威胁模型与 HTTP 标头无关。这样可以更轻松地从 CDN 和其他边缘服务器部署推测规则。

将 FedCM 作为 Storage Access API 的信任信号

通过使之前的 FedCM 授权成为自动批准存储空间访问请求的有效原因,协调 FedCM 和 Storage Access API。

当用户在信赖方 (RP) 上授予权限以使用第三方身份提供方 (IdP) 的身份时,许多 IdP 需要第三方 Cookie 才能正常安全地运行。此提案旨在通过更新存储访问权限 API (SAA) 权限检查来满足该要求,使其不仅接受存储访问权限提示授予的权限,还接受 FedCM 提示授予的权限,从而以私密且安全的方式满足该要求。

此机制的一个关键属性是,仅在 RP 通过 FedCM 权限政策明确允许的情况下授予许可,从而强制执行 RP 的每框架控制,并防止 IdP 超出 FedCM 已授予的功能进行被动监视。

COOP 值 noopener-allow-popups

某些来源可能包含具有不同安全要求级别的不同应用。在这些情况下,阻止在一个应用中运行的脚本打开和编写另一个同源应用的页面可能是有益的。

在这种情况下,确保文档的打开者无法通过脚本控制该文档可能是有益的,即使打开者文档是同源文档也是如此。noopener-allow-popups Cross-Origin-Opener-Policy 值可让文档定义该行为。

Private Aggregation API:将 Protected Audience 调用方的贡献限额提高到 100

使 Protected Audience 脚本运行程序能够为每个 Private Aggregation 报告做出最多 100 次贡献,而当前限制为 20 次。

Private Aggregation 会限制可嵌入单个可汇总报告中的直方图贡献数量,并舍弃任何额外的贡献。Shared Storage 调用方可以通过调用另一项 Shared Storage 操作来规避此限制。不过,Protected Audience 调用方没有持久性存储空间,因此会在竞价结束时失去其过多的贡献。 请注意,此变更不会影响隐私权,因为 API 的贡献仍受相同的隐私权预算限制。

由于存在填充,即使不需要更大的贡献限额,每个 Protected Audience 报告也会有更大的载荷。我们预计,这些更大的报告会增加汇总服务的运营成本。

选择解析器放宽

此变更使 HTML 解析器允许在 <select> 中添加除 <option><optgroup><hr> 之外的其他标记。

此更改是为了支持可自定义的 <select> 功能,但会率先发布,因为此更改可以单独完成,并且存在一些兼容性风险,Chrome 团队希望获得相关反馈。

WebGPU:剪辑距离

添加了可选 GPU 功能 clip-distances,该功能允许在顶点着色器输出中设置用户定义的裁剪距离。对于需要剪裁场景中超出用户定义平面的所有顶点的应用(例如许多 CAD 应用),此技术特别有用。

WebGPU:GPUCanvasContext getConfiguration()

使用配置字典调用 GPUCanvasContext configure() 后,您可以使用 GPUCanvasContext getConfiguration() 方法检查画布上下文配置。它包括 GPU deviceformatusageviewFormatscolorSpacetoneMappingalphaMode 成员。 如问题 4828 中所述,Web 应用可以使用它来检测 WebGPU 中是否支持 HDR 画布。

专用工作器上的 WebHID

在专用工作器情境中启用 WebHID。这样一来,您就可以在单独的线程上执行来自 HID 设备的数据的繁重 I/O 和处理,从而有助于减少对主线程的性能影响。

WebRTC RTCRtpEncodingParameters.scaleResolutionDownTo

一种 API,用于配置 WebRTC 编码器,以在输入帧大于指定 maxWidthmaxHeight 时缩放输入帧。此 API 类似于 scaleResolutionDownBy,不同之处在于分辨率限制以绝对值(例如 640x360)而非相对值(例如缩小 2 倍)表示,从而避免了与动态更改输入帧大小相关的竞态条件。

新的源试用

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

WebAudio 的播放统计信息

借助 AudioContext.playoutStats 功能,应用可以使用 WebAudio 衡量音频播放的质量和延迟时间。

Summarizer API

一种 JavaScript API,用于生成输入文本的摘要,由 AI 语言模型提供支持。

弃用和移除

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

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

移除 CSS 锚点定位属性 inset-area

根据 CSS 工作组关于将 inset-area 属性重命名为 position-area 的决议,此移除操作可清理 Chromium 中符合标准的功能实现。

移除停用 BeforeunloadEventCancelByPreventDefault 的功能

功能 BeforeunloadEventCancelByPreventDefault 已在 Chrome 117 中发布,但有一项企业政策允许强制停用此标志。此企业政策将在 Chrome 131 中移除。

移除了非标准的 GPUAdapter requestAdapterInfo() 方法

WebGPU 工作组认为,让 requestAdapterInfo() 触发权限提示是不切实际的,因此他们移除了该选项,并将其替换为 GPUAdapter info 属性,以便 Web 开发者可以同步获取相同的 GPUAdapterInfo 值。