为 CSS 展示属性添加多个关键字、适用于 WebGPU 的 WGSLLanguageFeatures、HTTPS 升级等。
除非另有说明,否则上述变更适用于 Android、ChromeOS、Linux、macOS 和 Windows 的最新 Chrome Beta 渠道版本。您可以通过提供的链接或 ChromeStatus.com 上的列表详细了解本文所列的功能。Chrome 115 Beta 版自 2023 年 5 月 31 日起推出。您可以在桌面版 Google.com 或 Android 版 Google Play 商店中下载最新版本。
CSS
此版本新增了三项 CSS 功能。
display
属性的多个值
除了旧的预组合关键字之外,CSS display
属性现在还接受多个关键字作为值。前两个关键字表示 display 的外部值和内部值,还有 list-item
的可选标志、内部值(例如 table-cell
)以及 box 值 contents
和 none
。
借助外部和内部关键字,您可以定义外框的行为方式(代码块或内嵌)以及内部子项的行为方式,例如 flex
、grid
或 flow
。因此,display: flex
会变为 display: block flex
,display: block
会变为 display: block flow
。有关常见映射列表及更多信息,请参阅 MDN。
布尔值上下文样式容器查询
Chrome 115 支持在不使用声明值和属性名称的情况下查询 style()
容器,以匹配非初始值。以前,您必须使用 not style(--my-property: initial)
。现在,您可以使用 style(--my-property)
来匹配任何非初始值。
滚动条驱动的动画
ScrollTimeline
和 ViewTimeline
是 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 的改进,此扩展才得以实现。8 MB 这一上限是通过对 Google Pixel 1 手机(目前被视为代表性低端手机)进行的性能测量确定的。未来在 V8 或硬件方面的开发可能会允许进一步扩展此限制。
FedCM:支持自动重新身份验证的凭据管理中介要求
支持凭据管理中介要求,以便为使用 FedCM API 在网站上创建联合账号的用户提供简化的重新身份验证用户体验。
HTTPS 升级
自动且乐观地将所有主机导航升级到 HTTPS,并快速回退到 HTTP。
对 Storage API、Service Worker API 和 Communication API 进行分区
为防止某些类型的旁路跨网站跟踪,Chrome 正在第三方环境中对存储空间和通信 API 进行分区。这包括配额管理的存储空间、Service Worker 和通信 API(如 BroadcastChannel)。如需了解详情,请参阅关于存储分区的文档。
Resource Timing:公开临时响应时间
在导航或子资源提取遇到临时 1xx 响应的情况下,公开 PerformanceResourceTiming.firstInterimResponseStart
。例如,如果有 100 条继续提示或 103 条早期提示,firstInterimResponseStart
现在对应于第一个临时响应的时间,而 responseStart
则对应于最终响应(例如状态为 200)。
更新“xml”lookupNamespaceURI()
和 createNSResolver()
中的前缀处理
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 源试用。
带有魔法注释的显式编译提示
允许附加相关信息,说明应在 JavaScript 文件中进行即时解析和编译的函数。这些信息将被编码为魔术注释。我们将对不同的魔法评论格式进行实验。例如,将文件中的所有函数标记为进行即时编译,或仅标记一部分函数。
长动画帧 API
这是 Long Tasks API 的扩展。它会测量任务及其后续渲染更新,添加相关信息,例如长时间运行的脚本、渲染时间以及在强制布局和样式上所花的时间(称为布局抖动)。开发者可以通过找出主线程拥塞的原因(通常是导致 INP 不良的原因)找出导致主线程拥塞的原因,以此诊断“运行缓慢”的情况,通过 Interaction to Next Paint (INP) 来衡量。
报名参加 Long Animation Frames 源试用活动。
Storage Buckets API
通过存储分区,网站可以创建多个存储分区来整理自己的数据,而用户代理可以独立地删除每个存储分区,与其他存储分区互不影响。每个存储分区都可以存储与已建立的存储 API(如 IndexedDB 和 CacheStorage)关联的数据。 注册 Storage Buckets API 源试用。
弃用和移除
此版本的 Chrome 引入了下列弃用和移除功能。请访问 ChromeStatus.com,查看计划内弃用、当前弃用和先前移除的列表。
此版本的 Chrome 弃用了两项功能。
废弃了 document.domain
setter
document.domain
setter 即将被弃用,因为它允许开发者放宽同源政策,因此这会使我们希望维护的基本安全边界复杂化,并为 Chromium 进程模型的 Spectre 更改设置带来障碍。
如需了解使用 document.domain 的替代方案,请参阅 Chrome 禁止修改 document.domain。在大多数情况下,跨源 postMessage()
或 Channel Messaging API 可以替换 document.domain。最后,您可以通过以源为键的代理集群选择启用文档网域。setter 将保留,但源站保持不变。
弃用变更事件
变更事件(包括 DOMSubtreeModified
、DOMNodeInserted
、DOMNodeRemoved
、DOMNodeRemovedFromDocument
和 DOMNodeInsertedIntoDocument
)已于 2011 年从规范中弃用,并于 2012 年被 Mutation Observer API 取代。必须先将过时变更事件迁移到 Mutation Observer,然后再从 Chrome 127(2024 年 7 月 20 日)中移除。
详细了解变更事件弃用。