发布时间:2025 年 6 月 25 日
除非另有说明,否则以下更改适用于 Android、ChromeOS、Linux、macOS 和 Windows 的最新 Chrome Beta 版渠道。您可以通过提供的链接或 ChromeStatus.com 上的列表详细了解此处列出的功能。截至 2025 年 6 月 25 日,Chrome 139 处于 Beta 版阶段。您可以从 Google.com 下载桌面版最新版本,也可以从 Android 上的 Google Play 商店下载。
CSS
此版本新增了六项 CSS 和界面功能。
var() 和 attr() 的短路
如果不采用回退,var() 和 attr() 函数的计算将不会在回退中查找循环。以下 CSS 可正常运行,因为 --green 和 --blue 存在。
--green: green;
--blue: blue;
--a: var(--green, var(--b));
--b: var(--blue, var(--a));
CSS caret-animation 属性
Chrome 已经支持 caret-color 属性的动画效果,但当光标的默认闪烁行为添加动画效果时,会干扰动画效果。CSS caret-animation 属性有两个可能的值:auto 和 manual,其中 auto 表示浏览器默认值(闪烁),manual 表示 Web 开发者正在控制插入符号动画。该属性还允许用户使用用户样式表停用闪烁。
边角形状
通过指定边角的形状或曲率,在现有 border-radius 的基础上启用样式边角。这样,您就可以创建类似圆角矩形、凹口和圆角等形状,并在它们之间添加动画效果。如需了解详情,请参阅 Amit
Sheen 的这篇
博文。
切换到初始过渡值时,继续运行过渡。
过渡相关属性发生更改时,它们应该只会影响新开始的过渡。这意味着,如果您更改了过渡属性,除非您还更改了具有活跃过渡动画的属性,否则这些过渡动画将继续使用之前指定的时长、缓动等。当过渡属性设置为“none”时,Blink 会错误地取消过渡,即使您仅更改 transition-duration,它也不会取消过渡。借助此功能,Blink 将与 WebKit 和 Gecko 保持一致,允许活跃过渡继续运行,除非或直到其属性值发生更改并触发新的过渡更新。
CSS 自定义函数
自定义函数与自定义属性类似,但它们不是返回单个固定值,而是根据其他自定义属性、参数和条件返回值。
@function --negate(--value) {
result: calc(var(--value) * -1);
}
div {
--gap: 1em;
margin-top: --negate(var(--gap));
}
支持将 width 和 height 作为嵌套 <svg> 元素上的呈现属性
支持通过 SVG 标记和 CSS 将 width 和 height 作为呈现属性应用于嵌套
<svg> 元素。这种双重方法提供了更大的灵活性,让您可以在复杂的设计中更高效地管理 SVG 元素并为其设置样式。
Web API
Web 应用清单:指定更新资格,图标网址为 Cache-Control: immutable
在清单规范中指定更新资格算法。这使得更新过程更具确定性和可预测性,让开发者可以更好地控制是否(以及何时)将更新应用于现有安装,并允许移除用户代理目前需要实现的“更新检查限制”,以避免浪费网络资源。
WebXR 深度感应性能改进
公开了多种新机制,用于自定义 WebXR 会话中深度感应功能的行为,旨在提高深度缓冲区的生成或使用性能。公开的关键机制包括:能够请求原始或平滑深度缓冲区;能够请求运行时停止或恢复提供深度缓冲区;能够公开与用户视图不完全一致的深度缓冲区,以便用户代理无需每帧都执行不必要的重新投影。
允许在 JavaScript DOM API 中使用更多字符
HTML 解析器一直(或很长时间以来)允许元素和属性具有各种有效的字符和名称,但创建相同元素和属性的 JavaScript DOM API 更加严格,与解析器不匹配。此更改放宽了 JavaScript DOM API 的验证,以与 HTML 解析器保持一致。
request-close 调用方命令
对话框元素可以通过多种机制关闭,有时开发者希望能够阻止关闭。为此,对话框会触发取消事件。最初,此事件仅通过关闭请求(例如,按 Esc 键)触发,最近添加了一个 requestClose() JS 函数,该函数也会触发取消事件。request-close 命令将这项新功能引入了声明式调用方命令 API。
WebGPU:支持 BC 和 ASTC 压缩格式的 3D 纹理
texture-compression-bc-sliced-3d 和 texture-compression-astc-sliced-3d WebGPU 功能分别添加了对 BC 和 ASTC 压缩格式的 3D 纹理支持。
安全支付确认:浏览器绑定密钥
在安全支付确认断言和凭据创建中添加了额外的加密签名。相应的私钥不会在设备之间同步。这有助于 Web 开发者满足支付交易的设备绑定要求。
安全支付确认:界面刷新
更新了 Android Chrome 上 SPC 对话框的界面元素。除了界面呈现之外,还添加了以下内容:
- 允许商家提供与将显示的付款相关的付款实体徽标的可选列表。
- 根据用户是否希望在没有 SPC 的情况下继续交易或取消交易,向商家返回不同的输出状态。
- 向支付方式添加了一个新的支付详细信息标签字段,以便文本显示在两行中。
WebGPU core-features-and-limits
core-features-and-limits 功能表示 WebGPU 适配器和设备支持规范的核心功能和限制。
滚动锚定优先级候选修复
目前,滚动锚定算法会在优先级候选对象可用作锚定目标时选择它们。优先级候选对象目前是聚焦的可修改元素和页内搜索突出显示。如果存在一个大型聚焦的 contenteditable 元素,其内容在屏幕外发生了更改(光标最终会因此而发生偏移),则可能会导致用户体验不佳。此修复程序更改了算法:不选择优先级候选对象作为锚点,而是将候选对象用作常规锚点选择算法的范围或根,该算法会选择屏幕上最深的元素作为锚点。
支持 SVG <script> 元素的 async 属性
SVG 2.0 中的 SVGScriptElement 接口引入了 async 属性,类似于 HTMLScriptElement。此属性允许异步执行脚本,从而提高使用 SVG 的 Web 应用的性能和响应能力。
设备端 Web Speech API
此功能为 Web Speech API 添加了设备端语音识别支持,允许网站确保音频和转录的语音都不会发送到第三方服务进行处理。网站可以查询特定语言的设备端语音识别功能的可用性,提示用户安装设备端语音识别所需的资源,并根据需要选择设备端或基于云的语音识别。
清除切换浏览上下文群组的跨网站导航的 window.name
目前,window.name 属性的值在标签页的整个生命周期内都会保留,即使是切换浏览上下文群组的导航也是如此,这可能会泄露信息并可能用作跟踪向量。
清除 window.name 属性可以解决此问题。这应该是一项低风险的更改,因为如果浏览上下文位于另一个浏览上下文群组中,则按名称查找浏览上下文已不起作用,因此该名称实际上没有用。
企业政策:ClearWindowNameCrossSiteBrowsing(将在 Chrome 142 中停止运行)。
Web 应用范围扩展
添加了一个 "scope_extensions" Web 应用
清单字段,使 Web 应用能够将其范围扩展到其他来源。
这样,控制多个子网域和顶级网域的网站就可以作为单个 Web 应用呈现。需要列出的来源使用 .well-known/web-app-origin-association 配置文件确认与 Web 应用的关联。
符合规范的 JSON MIME 类型检测
Chromium 现在可以识别 WHATWG mimesniff 规范定义的所有有效 JSON MIME 类型。除了传统的 application/json 和 text/json 之外,这还包括子类型以 +json 结尾的任何 MIME 类型。此更改可确保依赖 JSON 检测的 Web API 和功能与 Web 平台标准和其他浏览器保持一致。此更改的一个主要动机是修复 JSON 模块导入行为,因为之前有效的 JSON MIME 类型(例如 text/html+json 和 image/svg+json)无法作为模块加载。
Private Aggregation API:汇总错误报告
使用 Private Aggregation API 时,可能会遇到一系列错误情况。例如,隐私预算可能会用完,从而阻止任何进一步的直方图贡献。借助此功能,开发者可以注册仅在发生特定类型的错误时才应发送的直方图贡献。此功能支持衡量错误情况的频率,并根据开发者指定的相关维度(例如,已部署代码的版本)拆分这些衡量结果。由于错误本身可能是跨网站信息,因此我们无法简单地将其公开给没有第三方 Cookie 的用户。相反,此功能通过 Aggregation Service 重用了现有的汇总式噪声报告流水线。
Crash Reporting API:指定 crash-reporting 以仅接收崩溃报告
此功能通过指定名为 crash-reporting 的端点,确保开发者仅收到崩溃报告。默认情况下,崩溃报告会发送到 default 端点,该端点除了崩溃报告外,还会接收许多其他类型的报告。开发者可以向名为 crash-reporting 的知名端点提供单独的网址,以便将崩溃报告定向到该端点,而不是 default 端点。
减少 Accept-Language 标头信息中的数字“指纹”收集
减少了 Accept-Language 标头值字符串在 HTTP 请求和 navigator.languages 中公开的信息量。现在,我们不会在每个带有 Accept-Language 标头的 HTTP 请求中发送用户首选语言的完整列表。我们现在会在 Accept-Language 标头中发送用户最喜欢的语言。为了最大限度地降低兼容性风险,初始发布会减少 HTTP 标头中的信息,我们日后会减少相关的 navigator.languages JavaScript getter。
针对 CSP 屏蔽的工作人员触发错误事件,而不是抛出异常
当被内容安全政策 (CSP) 屏蔽时,Chrome 目前会从 Worker 和 SharedWorker 的构造函数抛出 SecurityError。规范要求将 CSP 作为提取的一部分进行检查,并异步触发错误事件,而不是在脚本运行 new
Worker(url) 或 new SharedWorker(url) 时抛出异常。此更改使 Chrome 符合规范:在构造函数期间不抛出异常,并异步触发错误事件。
RTC 编码帧的音频级别
向 Web 公开了使用 RTCPeerConnection 传输并使用 WebRTC 编码转换公开的编码帧的音频级别。
新的来源试用
在 Chrome 139 中,您可以选择加入以下新的 来源 试用。
Prompt API
Prompt API 旨在通过文本、图片和音频输入与 AI 语言模型进行交互。它支持各种用例,从生成图片说明和执行视觉搜索,到转录音频、对声音事件进行分类、按照特定说明生成文本,以及从文本中提取信息或洞见。它支持 结构化输出,确保响应遵循预定义的格式(通常表示为 JSON 架构),以提高响应一致性,并方便与需要标准化输出格式的下游应用无缝集成 。此 API 也在 Chrome 扩展程序中公开。此源试用适用于在 Web 上公开。
全帧速率渲染阻塞属性
我们建议向阻塞属性添加新的渲染阻塞令牌 full-frame-rate。当渲染器被 full-frame-rate 令牌阻塞时,渲染器将以较低的帧速率运行,以便为加载保留更多资源。
WebGPU 兼容模式
添加了 WebGPU API 的选择加入、轻度限制的子集,能够运行较旧的图形 API,例如 OpenGL 和 Direct3D11。通过选择加入此模式并遵守其限制,开发者可以将其 WebGPU 应用的覆盖范围扩展到许多没有核心 WebGPU 所需的现代显式图形 API 的旧设备。对于简单的应用,唯一
需要的更改是在调用
requestAdapter时指定 "compatibility" featureLevel。对于更高级的应用,可能需要进行一些修改以适应该模式的限制。由于兼容模式是子集,因此生成的应用也是有效的 WebGPU Core 应用,即使在不支持兼容模式的用户代理上也能运行。
弃用和移除
此版本的 Chrome 引入了以下列出的弃用和移除。 如需查看计划弃用、当前弃用和之前移除的列表,请访问 ChromeStatus.com。
此版本的 Chrome 移除了两项功能。
移除对 macOS 11 的支持
Chrome 138 是支持 macOS 11 的最后一个版本。从 Chrome 139 开始,macOS 11 不再受支持,因为它超出了 Apple 的支持窗口。在受支持的操作系统上运行对于维护安全性至关重要。在运行 macOS 11 的 Mac 上,Chrome 将继续运行,显示警告信息栏,但不会再更新。如果用户希望更新 Chrome,则需要将其计算机更新到受支持的 macOS 版本。对于 Chrome 139 及更高版本的新安装,将需要 macOS 12 或更高版本。
移除 HTML 中 ISO-2022-JP 字符集的自动检测功能
ISO-2022-JP 的字符集自动检测存在已知安全 问题 。鉴于使用率非常低,并且 Safari 不支持自动检测 ISO-2022-JP,Chrome 移除了对它的支持,以消除安全问题。