Safari Technology Preview 121 发布说明

Safari Technology Preview Release 121 现已开放下载,适用于 macOS Big Sur 和 macOS Catalina。如果您已安装 Safari Technology Preview,可以在 macOS“系统偏好设置”的“软件更新”面板中进行更新。

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

Web Inspector

  • 来源
    • 折叠调用堆栈部分的黑盒调用帧 (r272371)

CSS

  • 新增支持在网格项上使用 aspect-ratio (r272307)
  • 新增支持 scroll-paddingscroll-margin 的逻辑变体 (r272035)
  • 新增支持 color(a98-rgb ...), color(prophoto-rgb ...), color(rec2020 ...), color(xyz ...), hwb() 作为 CSS Color 4 的一部分 (r271992, r272125, r272123, r272311, r272344)
  • 新增支持在解析 color(srgb ...)color(display-p3 ...) 时按规范使用百分比 (r271866)
  • 更改了 sRGBXYZ 的转换矩阵值,使其与最新规范中的值匹配 (r272498)
  • 修复了 `max-height` 百分比值在替换网格项上解析错误的问题 (r272309)
  • 修复了网格项在 stretchnormal 自对齐时填充网格区域的问题 (r272308)
  • 修复了 `rotate` 或 `scale` 属性动画未正确处理静态 `translate` 属性的问题 (r272201)
  • 修复了 `font-stretch` 应用于 `system-ui` 的问题 (r272073)
  • 修复了嵌套网格容器中具有 `max-height` 的替换项错误地获得 `width(0px)` 的问题 (r272338, r272711)
  • 实现了用于滚动对齐的 `scroll-snap-stop` (r272610)
  • 处理了替换元素的 `aspect-ratio: auto m/n` (r272360)
  • 处理了 `aspect-ratio` 的 `min-width: auto` 或 `min-height: auto` (r272718)
  • 处理了零 `aspect-ratio` 宽度或高度 (r271948)
  • 使 `auto && ` 使用内容 `box-sizing` (r272569)

GPU 进程

  • 默认在 GPU 进程中启用了音频捕获 (r272735)
  • 在 GPU 进程中启用了用于语音识别的音频捕获 (r272434)
  • 默认在 macOS 的 GPU 进程中启用了 GPU WebRTC 编解码器 (r272496)
  • 默认在 macOS 的 GPU 进程中启用了视频捕获 (r272810)
  • 修复了当 URL 以 `.php` 结尾时 `
  • 修复了使用 ANGLE 实现 WebGL 电源偏好设置和独立/集成 GPU 选择的问题 (r271880)

媒体

  • 在“静音”和“最大音量”之间添加了中间音量图标状态 (r272375)
  • 更改了媒体控件,默认显示总时长,点击后才切换到剩余时间 (r272373)
  • 更改了 MediaStream 支持的视频元素,不再根据轨道静音状态计算 mediaType (r272583)
  • 将 MediaSession 连接到 MediaRemote 和 NowPlaying (r272445, r272589)
  • 修复了在切换回前台后 YouTube 没有声音的问题 (r272829)
  • 修复了播放从 Chrome MediaRecorder 生成的 WebM/Opus 的问题 (r272822)
  • 修复了在 Twitter 上滚动时画中画视频暂停的问题 (r271870)
  • 更新了媒体控件时间轴样式 (r272352, r272438)
  • 更新了媒体控件以使用新的 SF Symbols (r272339)

Web API

  • 修复了日期输入框的回车键绑定与按回车提交表单冲突的问题 (r272495)
  • 修复了在 `datetime-local` 输入框中选择日期后意外添加秒和毫秒字段的问题 (r272368)
  • 修复了使用 SVG 图像渲染图案的问题 (r272549)
  • 禁止在 URL 主机名中使用“|” (r271899)
  • 降低了 `innerHTML` 设置器中 HTMLDocumentParser 的开销 (r272622)

JavaScript

  • 即使函数名不存在,也在 `Error#stack` 中添加了 `@` (r272139)
  • 在运行时标志 (`JSC_useSharedArrayBuffer=1`) 后新增了 `Atomics` 对 `BigInt64Array` 和 `BigUint64Array` 的支持 (r272341)
  • 调整了宿主 JS 函数的属性顺序 (r272099)
  • 更改了 `Object.assign` 在不可扩展的 `target` 上创建属性时抛出错误 (r272411)
  • 处理了 Date 时区中的毫秒,避免了浮点数取整 (r272127)
  • 实现了 `BigInt64Array` 和 `BigUint64Array` (r272170, r272215)
  • 在标志 (`JSC_usePrivateMethods=1`) 后实现了私有方法 (r272580)
  • 通过使用表进行快速字符串解析,提高了 `JSON.parse` 的速度 (r272570)

WebAssembly

  • 实现了 `WebAssembly.instantiateStreaming` 和 `WebAssembly.compileStreaming` (r271993)
  • 实现了针对 Blob 类型的流式编译/实例化 (r272221)
  • 更新了 `WebAssembly.Global` 以支持 `Funcref` 和 `Externref` (r272071, r272081, r272119)
  • 启用了 Wasm 批量内存和引用类型 (r272074)

辅助功能

  • 即使元素或祖先元素设置了 `aria-hidden=true`,也暴露了可聚焦元素 (r272390)
  • 修复了长而窄的表格不会不必要地被制成数据表格的问题 (r272024)

语音识别

  • 为语音识别使用了用户媒体权限提示 (r272165)