Chrome 143

稳定版发布日期:2025 年 12 月 2 日

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

CSS 和界面

CSS 锚定后备容器查询

引入了 @container anchored(fallback),用于根据应用了哪些 position-try-fallbacks 来设置定位元素的锚定后代的样式。

此类查询可用于根据锚定元素和被锚定元素之间的相对位置来设置锚定元素的系绳或动画的样式。

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

background-position-x/y 长式语法的边相关语法

定义背景图片相对于其某个边缘的位置。

此语法提供了一种更灵活、更具自适应性的机制来定义背景图片位置,而不是使用需要根据窗口或框架大小进行调整的固定值。

此功能也适用于 -webkit-mask-position 属性,以确保 Web 兼容性级别相同。

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

实现 CSS 属性 font-language-override

引入了对 font-language-override CSS 属性的支持。 借助此属性,开发者可以直接在 CSS 中指定四字符语言标记,从而替换用于 OpenType 字形替换的系统语言。

这可实现精细的排版控制,对于多语言内容或具有特定于语言的字形变体的字体尤其有用。

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

Web 应用清单:指定更新资格

在清单规范中指定更新资格算法。这使得更新过程更具确定性和可预测性,让开发者可以更好地控制更新是否(以及何时)应应用于现有安装,并允许移除用户代理目前需要实现的更新检查节流,以避免浪费网络资源。

跟踪 bug #403253129 | ChromeStatus.com 条目

设备

游戏手柄 ongamepadconnectedongamepaddisconnected 事件处理脚本属性

WindowEventHandlers 接口 mixin 添加了 ongamepadconnectedongamepaddisconnected 事件处理脚本。

这样便可支持以下事件处理程序属性:

  • window.ongamepadconnected
  • document.body.ongamepadconnected
  • window.ongamepaddisconnected
  • document.body.ongamepaddisconnected

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

DOM

允许在 JavaScript DOM API 中使用更多字符

HTML 解析器允许元素和属性具有各种有效的字符和名称,但用于创建相同元素和属性的 JavaScript DOM API 更加严格,与解析器不匹配。

此项更改放宽了对 JavaScript DOM API 的验证,以与 HTML 解析器保持一致。

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

图形

WebGPU:纹理组件混杂

允许 GPUTextureViews 在着色器访问纹理时,重新排列或替换纹理的红色/绿色/蓝色/Alpha 通道的颜色分量。

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

JavaScript

ICU 77(支持 Unicode 16)

Unicode 支持库 ICU(International Components for Unicode,国际化组件)从版本 74.2 升级到 77.1,添加了对 Unicode 16 的支持并更新了语言区域数据。以下两项变更可能会给假定 Intl JS API 采用特定格式的 Web 应用带来一些风险:

  1. 默认的意大利语数字格式已更改为省略 4 位数数字的千位分隔符。例如,new Intl.NumberFormat("it").format(1234) 将返回 1234 而不是 1.234。通过 Intl.NumberFormat 构造函数的 useGrouping 参数可以实现旧的行为。
  2. 在某些英语语言区域设置(en-AUen-GBen-IN)中,系统会在完整长度的星期几后添加英文逗号,例如将“Saturday 30 April 2011”更改为“Saturday, 30 April 2011”。Web 应用应避免依赖于日期的精确格式,因为这些格式未来可能会再次发生变化。

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

EditContext:TextFormat underlineStyle 和 underlineThickness

随 Chrome 一起发布的 EditContext API 存在一个 bug,即由 textformatupdate 事件提供的 TextFormat 对象为 underlineStyleunderlineThickness 属性提供的值不正确。在 Chrome 143 之前,可能的值包括 NoneSolidDottedDashedSquiggleNoneThinThick。不过,规范列出了 nonesoliddotteddashedwavynonethinthick

从 Chrome 143 开始,系统现在会实现指定为正确的值。

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

适用于 insertFromPasteinsertFromDropinsertReplacementText 输入事件的 DataTransfer 属性

使用 insertFromPasteinsertFromDropinsertReplacementTextinputType 填充输入事件的 dataTransfer 属性,以便在 contenteditable 元素中的编辑操作期间访问剪贴板和拖放数据。

dataTransfer 对象包含与 beforeinput 事件期间可用的数据相同的数据。

此功能仅适用于 contenteditable 元素。对于表单控件(textarea、input),行为保持不变 - data 属性包含插入的文本,而 dataTransfer 仍为 null。

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

FedCM:支持来自 IdP 的结构化 JSON 响应

允许身份提供方 (IdP) 使用 id_assertion_endpoint 向信赖方 (RP) 返回结构化 JSON 对象,而不是纯字符串。

此更改消除了手动序列化和解析 JSON 字符串的需求,从而简化了开发者的集成流程。它支持更动态、更灵活的身份验证流程,允许 RP 直接解读复杂响应,并支持 OAuth2、OIDC 或 IndieAuth 等各种协议,而无需带外协议。

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

网络

WebTransport 应用协议协商

WebTransport 应用协议协商允许在 WebTransport 握手期间协商 Web 应用使用的协议。

Web 应用可以在构建 WebTransport 对象时指定所提供的应用协议列表,然后使用 HTTP 标头将这些协议传达给服务器;如果服务器选择其中一种协议,则可以在响应标头中指明该协议,并且该回复可在 WebTransport 对象中使用。

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

性能

推测规则:移动设备 eager 积极性改进

在移动设备上,eager 积极程度推测规则现在会在 HTML 锚元素在视口中停留一小段时间后触发预提取和预渲染。

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

WebRTC

WebRTC RTP 标头扩展行为变更

实现对规范的更改,以确保后续的 offer 或 answer 不会置换协商的标头扩展,除非用户希望这样做。

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

独立式 Web 应用

适用于独立式 Web 应用的 Web Smart Card API

仅适用于独立式 Web 应用 (IWA)。使智能卡 (PC/SC) 应用能够迁移到 Web 平台。它使它们能够访问主机操作系统中可用的 PC/SC 实现(和读卡器驱动程序)。

管理员可以通过以下任一方式控制此 API 的可用性:

  • 全局 - 使用 DefaultSmartCardConnectSetting 政策。
  • 按应用 - 使用 SmartCardConnectAllowedForUrlsSmartCardConnectBlockedForUrls 政策。

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

源试用

Digital Credentials API(支持签发)

借助此功能,签发网站(例如大学、政府机构或银行)可以安全地直接在用户的移动钱包应用中启动数字凭证的配置(签发)流程。在 Android 上,此功能使用 Android IdentityCredential CredMan 系统(Credential Manager)。在桌面设备上,它使用类似于数字凭据呈现的 CTAP 协议,采用跨设备方法。

源试用 | 跟踪 bug #378330032 | ChromeStatus.com 条目 | 规范

Web Install API

提供安装 Web 应用的功能。调用时,网站会根据提供的参数将自身或来自不同来源的另一个网站安装为 Web 应用。

源试用 | 跟踪 bug #333795265 | ChromeStatus.com 条目 | 规范

弃用和移除

弃用 XSLT

XSLT v1.0 于 1999 年标准化,所有浏览器都遵循该标准。与此同时,XSLT 已发展到 v2.0 和 v3.0,添加了许多功能,并与浏览器中冻结的版本渐行渐远。这种缺乏进步的情况,再加上 JavaScript 库和框架的兴起,这些库和框架提供了更灵活、更强大的 DOM 操作,导致客户端 XSLT 的使用量大幅下降。在网络浏览器中,它的作用已在很大程度上被基于 JavaScript 的技术(例如 JSON 和 React)所取代。

Chromium 使用 libxslt 库来处理这些转换,而 libxslt 在 2025 年大约有 6 个月的时间处于无人维护状态。Libxslt 是一个复杂的旧 C 代码库,极易受到内存安全漏洞(如缓冲区溢出)的影响,而这些漏洞可能会导致任意代码执行。由于客户端 XSLT 现在是一种很少使用的利基功能,这些库获得的维护和安全审查远少于核心 JavaScript 引擎,但它们代表了处理不受信任的网络内容的直接、强大的攻击面。事实上,XSLT 是近期多起重大安全漏洞的根源,这些漏洞仍在威胁着浏览器用户的安全。出于上述原因,Chromium(以及其他两个浏览器引擎)计划弃用并从 Web 平台中移除 XSLT。如需了解详情,请参阅移除 XSLT 以提高浏览器安全性

ChromeStatus.com 条目

弃用了 Intl Locale Info 的 getter

Intl Locale Info API 是一项 Stage 3 ECMAScript TC39 提案,旨在通过公开语言区域信息(例如周数据 [一周中的第一天、周末开始日期、周末结束日期、第一周中的最少天数])和语言区域中使用的文字方向小时周期来增强 Intl.Locale 对象。

规范的第 3 阶段中的更改将多个 getter 移至函数。 现在,Chrome 中正在更新这些属性,以符合规范。

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

针对客户端元数据的 FedCM 隐私权强制执行

为了解决 FedCM API 中的跨网站身份相关性风险,在其 FedCM 配置中使用 client_metadata 的身份提供方 (IdP) 必须在 .well-known/web-identity 文件中实现直接端点格式。此强制性要求可确保在存在 client_metadata_endpoint 时,明确定义 accounts_endpoint 和 login_url。这种方法可防止依赖方利用元数据关联多个网站上的用户身份,从而加强隐私保护。

在 Chrome 143(警告阶段):如果 client_metadata_endpoint 存在,但缺少 accounts_endpoint 或 login_url,浏览器将显示控制台警告。这样,IdP 便有时间更新配置。

ChromeStatus.com 条目 | 规范

将随机数迁移到参数字段,并将 IdentityCredentialError code 属性重命名为 error

将随机数迁移到 params 字段:navigator.credentials.get() 中的随机数参数将从顶级字段移至 params 对象,以实现更好的 API 设计、可扩展性和可维护性。这种结构化方法可简化身份提供商的解析,支持未来兼容性,而无需进行版本控制,并符合现代 API 模式。对于信赖方,影响很小,它们只需在新位置提供相同的随机数即可。

在 Chrome 143(警告阶段):nonce 在顶级和参数内部均可接受。顶级使用会触发控制台警告。

IdentityCredentialError 中的代码重命名为错误:IdentityCredentialError 中的 code 属性已重命名为 error,以实现更清晰的语义、更好的开发者体验,并与 Web 标准保持一致。此更改可减少歧义,并避免与 DOMException.code 发生冲突。此外,error.code 会变为 error.error,并保留其 DOMString 类型。

在 Chrome 143(警告阶段):支持 errorcode 属性。使用 code 会触发控制台警告,引导开发者进行迁移。

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