Chrome 115 Beta 版

CSS 显示属性的多个关键字、适用于 WebGPU 的 WGSLLanguageFeatures、HTTPS 升级等。

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

CSS

此版本新增了三项 CSS 功能。

display 属性的多个值

除了旧版的预组合关键字之外,CSS display 属性现在还接受多个关键字作为值。前两个关键字表示显示的外部值和内部值,list-item 的可选标记、table-cell 等内部值以及 contentsnone 的 box 值。

使用外部和内部关键字,您可以定义外部框的行为方式(块或内嵌)以及内部子项的行为方式,例如 flexgridflow。因此,display: flex 将变为 display: block flexdisplay: block 将变为 display: block flow。如需了解常见映射列表及更多信息,请参阅 MDN。

布尔值上下文样式容器查询

Chrome 115 支持使用不含声明值、只有属性名称的 style() 容器查询来匹配非初始值。以前,您必须使用 not style(--my-property: initial)。现在,您可以使用 style(--my-property) 匹配任何非初始值。

滚动条驱动的动画

ScrollTimelineViewTimeline 是对 Web Animations 规范的扩展,允许开发者将滚动条的位置或元素在滚动条中的位置用作输入“时间”,而不是默认的单调时钟时间。这样可以实现加速的基于滚动的动画(例如收缩导航栏),而无需执行用户脚本。它们可通过 CSS 动画和网络动画中使用的 CSS 和 JavaScript 进行声明和实例化。

如需了解详情,请参阅使用滚动条驱动的动画在滚动时为元素添加动画效果

修复了具有 display: contents 的元素不再出现在无障碍功能树中的回归问题

引入的回归会导致具有 display: contents 的元素丢失语义信息,并且无法再在无障碍功能树中正确表示。Chrome 115 包含此问题的修复程序

Web API

将主线程上 WebAssembly.Module() 的大小上限增加到 8 MB

WebAssembly.Module() 构造函数可同步编译二进制 WebAssembly 模块,这样可以阻塞主线程。为避免出现这种情况,可使用此构造函数编译的 WebAssembly 模块大小上限为 8 MB。较大的模块可使用 WebAssembly.compile() 在主线程上异步编译,或在工作线程上同步编译。该 8 MB 限制是对 4 KB 原始限制的扩展。得益于对 WebAssembly 运行时 V8 的改进,此扩展得以实现。我们通过 Google Pixel 1 手机的性能测量确定了 8 MB 的限制,Google Pixel 1 手机目前被视为一款代表性的低端手机。V8 或硬件的未来开发可能会允许进一步延长该限制。

FedCM:支持针对自动重新进行身份验证的凭据管理中介要求

支持凭据管理中介要求,以便为使用 FedCM API 在网站上创建联合帐号的用户提供简化的重新身份验证用户体验。

HTTPS 升级

乐观地自动将所有大型框架导航升级到 HTTPS,并快速回退到 HTTP。

对 Storage、Service Worker 和 Communication API 进行分区

为防止发生某些类型的边信道跨网站跟踪,Chrome 正对第三方上下文中的存储和通信 API 进行分区。这包括配额管理的存储空间、Service Worker 和通信 API(如 BroadcastChannel)。如需了解详情,请参阅有关存储分区的文档

Resource Timing:公开临时响应时间

在导航或子资源提取遇到临时 1xx 响应的情况下公开 PerformanceResourceTiming.firstInterimResponseStart。例如,如果有 100 个继续或 103 个早期提示,firstInterimResponseStart 现在对应于第一个临时响应的时间,而 responseStart 则对应于最终响应(例如,具有 200 个状态)。

更新了 lookupNamespaceURI()createNSResolver() 中的“xml”前缀处理

Node.lookupNamespaceURI() 默认支持“xml”和“xmlns”前缀。该函数会为它们返回固定的命名空间字符串。Document.createNSResolver()XPathEvaluator.createNSResolver() 会停止封装指定节点,以添加“xml”前缀处理。它们会按原样返回指定的节点。现在,Web 开发者可以将元素用作 XPathNSResolver,而无需使用 createNSResolver() 封装该元素。

VisibilityStateEntry

在效果时间轴中显示可见性状态(可见或隐藏)。时间轴始终包含一个 startTime 为 0 和初始可见性状态的条目,以及与任何可见性状态更改对应的条目。

适用于 WebGPU 的 WGSLLanguageFeatures

为 WebGPU 的 GPU 对象添加 wgslLanguageFeatures getter 及其相应的 WGSLLanguageFeatures 类型。

用于与 FedCM 对话框交互的 WebDriver 命令

这公开了多个 WebDriver 命令,可让浏览器自动化(例如自动化测试)与 FedCM 对话框进行交互。

正在进行源试用

在 Chrome 115 中,您可以选择启用以下新的源试用

计算压力

Compute Pressure API 提供有关设备硬件当前状态的概要信息,让网站能够在利用可用的处理能力和使系统面临无法管理的压力之间取得适当的平衡。从设计上来说,“计算压力”是一个通用术语。目前,它是基于 CPU 负载计算的,但将来的计划包括使用温度和电池状态等信号。如需了解详情,请参阅宣布推出第二次 Compute Pressure 源试用

注册 Compute Pressure 源试用

带魔法注释的显式编译提示

允许附加有关应在 JavaScript 文件中即时解析和编译哪些函数的信息。此信息将被编码为魔法注释。我们将对不同的魔术评论格式进行实验。例如,将文件中的所有函数标记为进行即时编译,或仅标记函数的子集。

注册使用魔法注释源试用获取显式编译提示

Long Animation Frames API

这是 Long Tasks API 的扩展。它会衡量任务及其后续渲染更新,从而添加长时间运行的脚本、渲染时间和强制布局和样式所花费的时间(称为布局抖动)等信息。开发者可以将此情况用作“运行缓慢”的诊断手段,通过对下一次绘制 (INP) 进行衡量,找出导致主线程拥塞的原因,而主线程拥塞通常是导致 INP 不佳的原因。

注册参加 Long Animation Frames 源试用

Storage 存储分区 API

借助存储分区,网站可以创建多个存储分区来整理其数据,这样用户代理就可以独立于其他存储分区来删除每个存储分区。每个存储分区都可以存储与已建立的存储 API(例如 IndexedDB 和 CacheStorage)关联的数据。注册 Storage Buckets API 源试用

弃用和移除

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

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

废弃了 document.domain setter

我们即将弃用 document.domain setter,因为它可以让开发者放宽同源政策,从而使我们旨在维护的基本安全边界更为复杂,并且阻碍了 Spectre 之后对 Chromium 进程模型进行更改。 请参阅 Chrome 禁止修改 document.domain,了解使用 document.domain 的替代方案。在大多数用例中,跨源 postMessage() 或 Channel Messaging API 可以替换 document.domain。万不得已时,您可以通过以源为键的代理集群选择启用文档网域。setter 会保留,但原点保持不变。

废弃变更事件

包括 DOMSubtreeModifiedDOMNodeInsertedDOMNodeRemovedDOMNodeRemovedFromDocumentDOMNodeInsertedIntoDocument 在内的变更事件已于 2011 年从该规范中弃用,并于 2012 年由 Mutation Observer API 取代。您必须先将过时的变更事件迁移到 Mutation Observer,然后再从 Chrome 127(2024 年 7 月 20 日)将其移除。

不妨详细了解如何弃用变更事件