Safari 技术预览 122 发布说明

Safari 技术预览 122 版本现已适用于 macOS Big Sur 和 macOS Catalina,可供下载。如果您已安装 Safari 技术预览,可以在 macOS 的“系统偏好设置”中的“软件更新”面板中进行更新。

此版本涵盖 WebKit 修订版本 272845-273903

Web Inspector

动画

  • 将禁止负值的 CSS 属性更改为不动画到负值 (r273001)
  • 更改了 border-image-width 的混合方式,使其在 auto 值和其他类型之间离散 (r273635)
  • 修复了 border-image-outset 处理浮点值的问题 (r273478)
  • 修复了 border-image-slice 混合以考虑 fill 关键字的问题 (r273625)

CSS

  • min-contentmax-content 关键字更改为在块轴中作为初始值 (r273206)
  • 将 CSS 网格更改为不允许负高度 (r273470)
  • 修复了受祖先影响的网格最小和最大宽度问题 (r273435)
  • border-image-outset 的初始值更改为 0 (r273882)
  • 实现了 :focus-visible (r273812, r272983)
  • 实现了 flexbox 的 Definite and Indefinite Sizes 规范第 9.8 节中的第一个用例 (r273072)
  • 修复了运行时禁用的 CSS 功能通过 CSS.supports() 仍显示为已启用的问题 (r273385)
  • 在 CSS 解析器中移除了对 -khtml- 前缀 CSS 值的支持 (r273637)
  • 移除了对 pospixel 前缀 CSS 值的支持 (r273627)

CSS 颜色

  • 添加了对 CSS Color 5 color-contrast() 的实验性支持 (r273683)
  • 添加了对 CSS Color 5 color-mix() 的实验性支持 (r273244)
  • 添加了对 CSS Color 5 相对颜色语法 (Relative Color Syntax) 的实验性支持 (r273127)
  • 根据最新的 CSS Color 4 规范,将 color(lab ...) 更改为序列化为 color(lab ...) 而不是 lab() (r273211)
  • 修复了 lab()lch() 颜色在解析时钳制超出范围值的问题 (r272909)
  • 修复了 lch() 颜色序列化为 lch() 的问题 (r273078)

CSS 宽高比

  • 添加了对 flexbox 项目上 aspect-ratio 的支持 (r273193)
  • 将以正斜杠结尾的 aspect-ratio 更改为视为无效 (r273068)
  • 修复了 aspect-ratio 在禁用时仍显示在计算样式中的问题 (r273314)
  • 更改为在替换元素的固有尺寸中考虑 box-sizing,以用于 aspect-ratio (r273753)

JavaScript

  • 启用了私有方法 (r273125)
  • 实现了私有静态方法 (r273107)
  • 实现了顶层 await (r273225)
  • 实现了 RegExp 匹配索引 (r273086)
  • 实现了 GC 验证器 (r273138)
  • 添加了对 Workers 和 Worklets 中模块的支持 (r273203)
  • 添加了对 Service Workers 中模块的支持 (r273224)
  • 避免在新 Intl 构造函数中对选项执行 toObject,以使其与新的规范更改保持一致 (r273153)
  • 在存在多个 promise 响应时减少了 promise 响应的内存使用 (r273718)
  • 优化了对象重置表达式 (r273135)
  • 通过在主要情况下避免函数分配来优化 Promise#then (r273605)
  • 微优化了 for-in (r273766)
  • getFunctionRealm 遇到已撤销的 Proxy 时抛出 TypeError (r273661)
  • 当 TypedArray 的 [[DefineOwnProperty]] 失败时抛出 TypeError (r273750)
  • 修复了当任意模块标识符使用索引时,对模块命名空间对象使用带索引的 delete 的问题 (r273816)

WebAssembly

  • 用类型索引扩展了 wasm 类型 (r273813)
  • 实现了非陷阱浮点数到整数的转换 (r272933)

Web API

  • 启用了绘制计时 (Paint Timing) (r273221, r273220)
  • 更改了分离的 iframe 的窗口代理不遵守全局值更新的问题 (r273901)
  • 修复了在允许 Feature-Policy 的第三方 iframe 中,devicemotion 和 deviceorientation 事件无法工作的问题 (r273444)

媒体

  • 修复了在使用负 timestampOffset 或在 MSE 中设置源缓冲区 appendWindow 时,媒体片段被错误丢弃的问题 (r273461)
  • 修复了在后台运行正在播放和捕获音频的页面时,音频停止播放的问题 (r273069)

WebRTC

  • 添加了对 WebRTC 优先级的支持 (r273550)
  • 修复了在录制暂停时 MediaRecorder.stop() 无法正确工作的问题 (r272911)
  • 添加了对将 BigInt 作为媒体流加密密钥的支持 (r273158)

辅助功能

  • 添加了在可用时报告图像文件中嵌入的辅助功能图像描述的能力 (r273214)
  • 修复了 VoiceOver 将网格宣布为具有“0 列”,导致 VoiceOver 无法进入网格的问题 (r273715)
  • 修复了 VoiceOver 错误地将 ARIA 树实例中的组宣布为空的问题 (r273328)

滚动

  • 修复了拖动滚动条时滚动捕捉的问题 (r273690)