Chrome 134

稳定版发布日期:2025 年 3 月 4 日

除非另有说明,否则以下变更适用于适用于 Android、ChromeOS、Linux、macOS 和 Windows 的 Chrome 134 稳定版。

HTML 和 DOM

可自定义的 <select> 元素

借助可自定义的 <select>,开发者可以通过添加 appearance: base-select CSS 属性和值来完全控制 <select> 元素的呈现方式。

此功能依赖于 SelectParserRelaxation 标志,该标志会更改 HTML 解析器,以允许在 <select> 标记中添加更多标记。

跟踪 bug #40146374 | ChromeStatus.com 条目 | 规范

选择解析器放宽

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

此功能受临时政策 (SelectParserRelaxationEnabled) 的控制。这只是一个临时过渡期,该政策将从 Chrome 141 开始失效。

如果您遇到的问题可能由此更改所致,可以试用反向来源来停用解析器放宽

跟踪 bug #335456114 | ChromeStatus.com 条目 | 规范

关闭对话框

Popover API 的一项实用功能是其轻量关闭行为。此行为现在是 <dialog> 的一部分,并且有一个新的 closedby 属性用于控制此行为:

  • <dialog closedby="none">:完全没有用户触发的对话框关闭。
  • <dialog closedby="closerequest">:按 Esc(或其他关闭触发器)可关闭对话框
  • <dialog closedby="any">:点击对话框外部或按 Esc 键可关闭对话框。类似于 popover="auto" 行为。

跟踪 bug #376516550 | ChromeStatus.com 条目 | 规范

CSS

CSS 突出显示继承

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

ChromeStatus.com 条目 | 规范

PWA

文档副标题(修复 PWA 应用标题)

借助此功能,您可以指定有关已安装且正在运行的 PWA 的当前窗口的补充信息。它会向页面添加副标题,以提供在窗口标题栏中显示的上下文信息。这会替换 HTML title 元素中包含的文本。

跟踪 bug #1351682 | ChromeStatus.com 条目 | 规范

Web 链接会自动将用户定向至已安装的 Web 应用。 为了更好地满足用户对已安装应用体验的预期,Chrome 让用户更轻松地在浏览器和已安装的 Web 应用之间切换。当用户点击可由已安装的 Web 应用处理的链接时,该链接将在该已安装的 Web 应用中打开。用户可以通过已安装的 Web 应用的设置更改此行为。开发者可以使用 launch_handler 清单属性控制此行为,并可以参阅此开发者文档,详细了解深层链接在已安装的 Web 应用中的运作方式。

ChromeStatus.com 条目

效果

Document-Policy:expect-no-linked-resources

借助文档政策中的 expect-no-linked-resources 配置点,文档可以向用户代理发出提示,以更好地优化其加载顺序,例如不使用默认的推测性解析行为。

用户代理实现了 HTML 的推测性解析,以推测性提取 HTML 标记中存在的资源,从而加快网页加载速度。对于在 HTML 标记中声明了资源的 Web 上的绝大多数网页,此优化是有益的,并且在确定此类资源时所付出的代价是合理的权衡。不过,与为确定要提取的子资源而解析 HTML 所花费的显式时间相比,以下场景可能会导致性能不佳:

  • HTML 中未声明任何资源的网页。
  • 大型 HTML 网页,资源加载量极少或为零,可以使用其他可用的预加载机制明确控制预加载资源。

expect-no-linked-resources Document-Policy 会提示用户代理,它可以选择优化在此类子资源确定上花费的时间。

跟踪 bug #365632977 | ChromeStatus.com 条目 | 规范

显式资源管理(异步)

这些功能解决了软件开发中与各种资源(例如内存和 I/O)的生命周期和管理相关的常见模式。此模式通常包括资源分配以及明确释放关键资源的功能。

跟踪 bug #42203814 | ChromeStatus.com 条目 | 规范

显式资源管理 (sync)

这些功能解决了软件开发中与各种资源(例如内存和 I/O)的生命周期和管理相关的常见问题。此模式通常包括资源分配以及明确释放关键资源的功能。

跟踪 bug #42203506 | ChromeStatus.com 条目 | 规范

扩展了 console.timeStamp API,以支持测量和呈现选项

以向后兼容的方式扩展了 console.timeStamp() API,以提供一种高性能的方法来插桩应用并将时间数据显示在 DevTools 的“性能”面板中。

使用此 API 添加的时间记录条目可以具有自定义时间戳、时长和呈现选项(轨道、泳道和颜色)。

ChromeStatus.com 条目 | 规范

Web API

允许在共享存储空间 Worklet 中读取兴趣群组

向共享存储工作流添加了 interestGroups() 方法,以返回与共享存储源的所有者关联的 Protected Audience 兴趣群体,以及一些其他元数据。

此 API 可让 Protected Audience 买方更好地了解其用户的情况,从而生成不公开汇总报告。

ChromeStatus.com 条目

归因报告功能:当触发器情境 ID 不为 null 时,移除可汇总报告限制

此项变更基于 API 调用方反馈,以及需要能够衡量更多特定用户流程的转化事件。

目前,该 API 存在一个限制,即每个来源注册最多只能生成 20 份可汇总的报告,这对于用户历程可能较长的用例来说是一个限制。这项变更移除了在注册过程中提供触发器上下文 ID 时可汇总的报告数量限制。仅当指定了触发器上下文 ID 时,此限制才会解除,因为在指定该 ID 后,API 会应用更高的 null 报告速率,这有助于防止通过报告数量泄露跨网站信息。

此外,可汇总的报告仍受其他限制的约束,这些限制会限制可衡量的信息总量,例如每个来源的 L1 贡献预算 (65,536) 和归因率限制。

ChromeStatus.com 条目

HTTP 缓存上的跳出跟踪缓解措施

HTTP 缓存的跳出跟踪缓解措施是对现有反跳出跟踪行为的扩展。它取消了以下要求:涉嫌跟踪的网站必须执行存储空间访问,才能启用跳出率跟踪缓解措施。

Chrome 最初提出的跳出率跟踪缓解解决方案会在网站在重定向流程中访问浏览器存储空间(例如 Cookie)时触发。不过,跳出率跟踪器可以通过使用 HTTP 缓存来保留数据,从而系统性地规避此类缓解措施。通过放宽弹跳跟踪缓解措施的触发条件,浏览器应该能够使用 HTTP 缓存捕获弹跳跟踪器。

跟踪 bug #40264244 | ChromeStatus.com 条目 | 规范

在 Android 设备上依托 LLM 技术检测滥用通知

此功能旨在隐藏疑似滥用的通知内容。然后,用户可以选择关闭、显示通知或退订来源。此检测将由设备端模型执行。

ChromeStatus.com 条目

OffscreenCanvas getContextAttributes

CanvasRenderingContext2D 中的 getContextAttributes 接口添加到 OffscreenCanvasRenderingContext2D

跟踪 bug #388437261 | ChromeStatus.com 条目 | 规范

Private Aggregation API:Shared Storage 调用方在每个上下文中的贡献限制

允许 Shared Storage 调用方自定义每个“不公开汇总”报告的贡献次数。

借助此功能,共享存储空间调用方可以使用新字段 maxContributions 配置每个上下文的贡献限制。调用方可以设置此字段来替换每份报告的默认贡献数量,允许设置更大或更小的数字。Chrome 接受的 maxContributions 值介于 1 到 1000 之间(包括这两个数值);如果值更大,则会被解读为 1000。

由于填充,每个报告的载荷大小大致与每个报告选择的贡献数量成正比。我们预计,选择生成更大报告会增加汇总服务的运营成本。

Protected Audience 调用方不会受到此功能的影响。不过,我们计划在未来的功能中添加对自定义 Protected Audience 报告贡献次数的支持。

跟踪 bug #376707230 | ChromeStatus.com 条目 | 规范

在 Shared Storage 中支持 Web Locks API

将 Web Locks API 集成到 Shared Storage 中。这可防止出现跨网站覆盖面衡量因 get()set() 逻辑中可能存在的争用情况而导致报告重复的情况。

此次变更:

  • 向 Worklet 环境引入了 navigator.locks.request
  • 向所有修饰符方法引入了 { withLock: <resource>} 选项。
  • 引入了批量修改方法:sharedStorage.batchUpdate(methods, options)。结合使用此方法和 withLock 选项可原子地执行多个修饰符方法,从而支持在更新按多个键组织的数据时需要保持一致性的用例。

跟踪 bug #373899210 | ChromeStatus.com 条目

渲染和图形

PaintCanvas 中支持 ImageSmoothingQuality

添加了对 Paint Canvas 上的 imageSmoothingQuality 属性的支持。这样,您就可以在放大图片时选择画质或性能权衡。imageSmoothingQuality 总共有三个选项:lowmediumhigh

跟踪 bug #None | ChromeStatus.com 条目 | 规范

WebGPU 子群组

向 WebGPU 添加了子群组功能。子组运算会执行 SIMT 运算,以便在调用组之间高效通信和共享数据。这些操作可用于减少因调用间通信而产生的内存开销,从而加速应用。

ChromeStatus.com 条目 | 规范

源试用

Digital Credential API

目前,网站可以通过各种机制(例如自定义网址处理程序和二维码扫描)从移动钱包应用获取凭据,并且确实会这样做。借助此功能,网站可以使用 Android 的 IdentityCredential CredMan 系统向钱包请求身份信息。它可扩展以支持多种凭据格式(例如 ISO mDoc 和 W3C 可验证凭据),并允许使用多个钱包应用。我们正在添加一些机制,以帮助降低在整个生态系统中滥用真实身份的风险。

从 Chrome 134 开始,源代码测试版在桌面平台上添加了对此 API 的支持,其中桌面版 Chrome 将与 Android 手机上的数字钱包安全通信,以提取请求的凭据。

Origin Trial | 跟踪 bug #40257092 | ChromeStatus.com 条目 | 规范

SelectParserRelaxation 的弃用试用

这是一次弃用试用,用于重新启用旧版解析器行为来解析 <select> 标记。在旧行为下,系统会静默舍弃不受支持的内容,而不会将其包含在 <select> 下的 DOM 内容中。如果从 Chrome 135 启用的新行为破坏了某个网站,您可以使用此试用版。

Origin Trial | ChromeStatus.com 条目

废弃和移除

移除了非标准 getUserMedia 音频约束条件

在约束条件得到适当标准化之前,Blink 支持为 getUserMedia 使用多个带有 goog 前缀的非标准约束条件。

使用量已大幅下降到 0.000001% 到 0.0009% 之间(具体取决于限制),由于 Chromium 音频捕获堆栈中的更改,其中一些限制甚至没有影响。由于即将发生的其他变更,这些更改很快就不会再起任何作用。

我们预计不会因这项变更而出现任何重大回归问题。使用这些约束条件的应用将继续运行,但将以默认设置获取音频(就像未传递任何约束条件一样)。他们可以选择迁移到标准约束条件。

跟踪 bug #377131184 | ChromeStatus.com 条目 | 规范