发布时间:2024 年 10 月 16 日
除非另有说明,否则以下变更适用于适用于 Android、ChromeOS、Linux、macOS 和 Windows 的最新 Chrome Beta 版分支。如需详细了解此处列出的一些功能,请点击所提供的链接,或访问 ChromeStatus.com 上的列表。Chrome 131 自 2024 年 10 月 16 日起处于 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 样式,以便在 Web 上构建展开式 widget 或折叠式 widget 的更多情况下使用这些元素。具体而言,此更改移除了阻止在这些元素上设置 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-path
、fill
、stroke
和 marker-*
属性的外部 SVG 资源
此功能增加了对剪辑路径、标记和绘制服务器(针对“fill”和“stroke”属性)的外部引用的支持。例如,clip-path: url("resources.svg#myPath")
。
Web API
Direct Sockets API
允许隔离的 Web 应用与网络设备和系统建立直接传输控制协议 (TCP) 和用户数据报协议 (UDP) 通信,以及监听和接受传入连接。
将 Speculation-Rules 标头从 CSP 限制中豁免
更新了推测规则与 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 才能正常且安全地运行。此提案旨在通过更新 Storage Access API (SAA) 权限检查,以私密且安全的方式满足此要求,不仅接受存储空间访问提示授予的权限,还接受 FedCM 提示授予的权限。
此机制的一个关键属性是,将授予权限限制为 RP 使用 FedCM 权限政策明确允许的情况,为 RP 强制执行每帧控制,并防止 IdP 超出 FedCM 已授予的功能进行被动监视。
合作平台价值 noopener-allow-popups
某些来源可能包含具有不同安全要求级别的不同应用。在这些情况下,阻止在一个应用中运行的脚本能够打开另一个同源应用的页面并在其中植入脚本会很有帮助。
在这种情况下,为文档确保其打开者无法对其编写脚本会很有帮助,即使打开者文档是同源文档也是如此。借助 noopener-allow-popups
Cross-Origin-Opener-Policy 值,文档可以定义此行为。
Private Aggregation API:将 Protected Audience 调用方的贡献限制提高到 100
让 Protected Audience 脚本运行程序能够为每份不公开汇总报告贡献最多 100 项数据,而目前的上限为 20 项。
私密汇总会限制可嵌入单个可汇总报告中的直方图贡献数量,并舍弃任何其他贡献。共享存储空间调用方可以通过调用其他共享存储空间操作来规避此限制。不过,Protected Audience 调用方没有永久存储空间,因此在竞价结束时会失去其过剩的贡献。请注意,此更改对隐私权没有影响,因为 API 的贡献仍受相同的隐私预算限制。
由于填充,每个 Protected Audience 报告都会具有较大的载荷,即使不需要更大的贡献限制也是如此。我们预计,这些更大的报告会增加汇总服务的运营成本。
选择解析器放宽
此更改使 HTML 解析器除了 <option>
、<optgroup>
和 <hr>
之外,还允许在 <select>
中添加其他标记。
这项更改是为了支持可自定义的 <select>
功能,但会先发布,因为它可以单独完成,并且存在一些兼容性风险,Chrome 团队希望收到相关反馈。
WebGPU:剪裁距离
添加了可选的 GPU 功能 clip-distances
,可在顶点着色器输出中设置用户定义的剪裁距离。对于需要剪裁场景中超出用户定义平面的所有顶点的应用(例如许多 CAD 应用),此技术尤为有用。
WebGPU:GPUCanvasContext getConfiguration()
使用配置字典调用 GPUCanvasContext configure()
后,您可以使用 GPUCanvasContext getConfiguration()
方法检查画布上下文配置。其中包括 GPU device
、format
、usage
、viewFormats
、colorSpace
、toneMapping
和 alphaMode
成员。如问题 4828 中所述,Web 应用可以使用它来检测 WebGPU 是否支持 HDR 画布。
专用工作器上的 WebHID
在专用工作器上下文中启用 WebHID。这样,您就可以在单独的线程中执行大量 I/O 操作并处理来自 HID 设备的数据,从而减少对主线程的性能影响。
WebRTC RTCRtpEncodingParameters.scaleResolutionDownTo
此 API 用于配置 WebRTC 编码器,以便在输入帧大于指定的 maxWidth
和 maxHeight
时进行缩放。此 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
值。