Chrome 112 Beta 版

CSS 嵌套、Animation-composition 以及 FormData 构造函数的 submitter 参数。

除非另有说明,否则下文所述的更改均适用于最新 Chrome Beta 版(Android、ChromeOS、Linux、macOS 和 Windows)。如要详细了解此处列出的功能,请通过所提供的链接或 ChromeStatus.com 上的列表进行了解。Chrome 112 从 2023 年 3 月 9 日起进入 Beta 版阶段。您可以访问 Google.com(桌面版)或 Google Play 商店(Android 版)下载最新版本。

CSS

CSS 嵌套

将 CSS 样式规则嵌套在其他样式规则中,将外部选择器与内部规则相结合,以提高样式表的模块化和可维护性。如需了解详情,请参阅有关 CSS 嵌套的这篇文章。

CSS animation-composition 属性

借助 animation-composition 属性,您可以指定复合操作,以便在多个动画同时影响同一属性时使用。查看此演示中的示例

Web API

如果顶级框架观察到权限更改,则不再显示“重新加载此页面”信息栏

如果顶级框架已订阅 PermissionStatusonchange 事件,则禁止显示“重新加载此页面”信息栏,这表示应用希望对通过页面信息对话框发起的摄像头或麦克风权限变更进行动态响应。无论事件监听器是否存在,原有行为保持不变,即在权限撤消后立即终止媒体流。

FormData 构造函数添加了可选的提交者参数

允许将提交按钮传递给 FormData 构造函数。如果按钮具有名称或图片按钮,则会向表单数据集贡献数据。这样,您便能够使用与由按钮触发的 vanilla 表单提交行为相同的数据集创建 FormData 对象。

具有集合表示法和字符串属性的正则表达式 v 标记

向正则表达式字符类添加了 set 操作、字符串字面量、嵌套类和字符串的 Unicode 属性。通过字符串的 set 操作和 Unicode 属性,开发者可以轻松地创建与具有特定 Unicode 字符匹配的字符串的正则表达式。

例如:/[\p{Script_Extensions=Greek}&&\p{Letter}]/v 会匹配所有希腊字母。

更新了 <dialog> 初始对焦算法

对在 <dialog> 元素打开时选择哪个元素作为焦点,进行了一些更改:

  • 让对话框聚焦步骤的视角是键盘可聚焦元素,而不是任何可聚焦元素。
  • 如果设置了 autofocus 属性,则让 dialog 元素本身获得焦点。
  • 让 dialog 元素本身作为后备元素获得焦点,而不是将焦点“重置”到正文元素。

WebAssembly 尾调用

向 WebAssembly 添加了显式尾调用和间接尾调用运算码。

Web Worker 上的 WebGLContextEvent

多年来,Khronos 的 WebGL 规范中便已定义 WebGLContextEvent 类型,但直到最近在 Blink 中,这种类型并未在 Web Worker 中公开。

大多数应用只会为 类型添加事件监听器,而不会在全局范围内查找其原型。这可轻松修复 Blink 针对 WebGLContextEvent 的 Web IDL,但这项变更是一项公开 Web 更改。

跳过 Service Worker 空操作提取处理程序

该功能可通过跳过空操作 Service Worker 提取处理程序来快速浏览页面。

某些网站具有无操作(无操作)提取监听器(例如 onfetch = () => {})。由于拥有提取监听器是成为渐进式 Web 应用 (PWA) 的要求之一,因此我们假设网站采取了此操作才能使其网站被识别为 PWA。不过,这只会带来启动 Service Worker 和执行空操作监听器的开销,而不会带来缓存或离线功能等任何功能优势,因为代码没有任何作用。

为了加快导航到此类页面的速度,从 Chrome 112 开始,如果用户代理确定所有 Service Worker 的获取监听器为空操作,我们将忽略 Service Worker 启动以及导航关键路径中的监听器调度。

作为此次变更的一部分,如果 Service Worker 的所有提取监听器都为空操作,Chromium 将显示控制台警告,并建议开发者移除无用的提取监听器。希望网站停止使用无用的提取监听器,我们将来可以弃用该功能。

接受编码:WebView 中的 HTTPS 连接 br (Brotli)

Brotli(内容编码类型:br)是一种通用的无损压缩算法,可提供更密集的压缩,其压缩比率和速度与当前可用的最佳通用压缩方法相当(如需了解详情,请参阅 google/brotliRFC 7932)。

虽然 Chrome 从版本 50 开始支持 Brotli 的 HTTP 内容编码类型 (Accept-Encoding: br),但 WebView 到目前为止尚未启用该类型。我们将分阶段推出此功能,以确保稳定性,并将在 WebView Beta 版中面向 50% 的用户提供该功能。

正在进行源试用

在 Chrome 112 中,您可以选择参与以下源试用

FedCM:自动重新验证 API

最新版 FedCM 包含“用户自选的自动重新验证”功能,通过该功能,可在用户使用 FedCM 进行初始身份验证后自动对用户重新进行身份验证。

目前,当用户通过 FedCM 在 RP(依赖方)与 IdP(身份提供方)创建联合账号后,下次他们访问相应网站时需要在界面中执行相同的步骤。也就是说,用户需要明确确认并重新进行身份验证,才能继续登录流程。由于 FedCM 的主要目标之一是防止隐蔽跟踪,因此这种用户体验 (UX) 在用户创建联合帐号之前是有意义的,但在用户创建过联合帐号之后,这种体验就变得不必要和麻烦了。正因如此,Chrome 引入了更精简的用户体验,让角色扮演 (RP) 可以为回访用户选择。

注册参加 FedCM 自动重新身份验证源试用

弃用试用

RTCPeerConnectiongetStats() 方法将不再返回状态为 type == "track""stream" 的统计信息对象。此功能已从 Chrome 112 中移除,请选择加入此试用方案以腾出更多时间进行所需更改。

注册参加此弃用试用

废弃 WebView 中的 X-Requested-With

在调用依赖于 X-Requested-With 标头的服务时,弃用源试用支持预先启用跨源功能。Chrome 112 及以上版本的 WebView 中提供了此选项。如需了解如何使用此功能,请参阅源试用设置说明。

注册试用 X-Requested with WebView 弃用试用

弃用和移除

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

此版本的 Chrome 弃用了一项功能。

废弃了 document.domain setter

document.domain setter 可让开发者放宽同源政策,使我们想要维护的基本安全边界变得复杂,并妨碍 Spectre 之后对 Chromium 进程模型的更改。它现在通过以源为键的代理集群选择启用。

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

RTCPeerConnectiongetStats() 方法中移除了统计信息对象 trackstream

RTCPeerConnectiongetStats() 方法将不再返回状态为 type == "track""stream" 的统计信息对象。已在 Chrome 112 中停止提供,并提供了弃用试用(如上所列)的功能,以便在 Chrome 115 中继续使用这些指标。