Safari Technology Preview 117 发布说明
Safari Technology Preview Release 117 现已适用于 macOS Big Sur 和 macOS Catalina,可供下载。如果您已安装 Safari Technology Preview,可以在 macOS 的“系统偏好设置”中通过“软件更新”面板进行更新。
本次发布涵盖 WebKit 修订版本 268651-270230。
Web Inspector
- 元素
- 网络
- 搜索
- 防止搜索字段在显示时窃取焦点 (r269074)
- 源
- 将默认断点操作更改为 evaluate (r269547)
- 控制台
- 其他更改
- 更新了样式以使用具有中性方向性的 CSS 属性 (r269166)
CSS
- 新增对许多 CSS 属性离散动画的支持 (r269812, r269333, r269357, r268792, r268718, r268726)
- 新增对更多伪元素(如
:marker
)动画的支持 (r269813) - 新增对
::marker
更多属性的支持 (r269774) - 新增对
aspect-ratio
CSS 属性的解析支持 (r269641) - 使 CSS 字体简写可以在 worker 中解析 (r269957)
- 将作为 flex 项的图像更改为在定义时使用 overridingLogicalHeight 计算逻辑宽度 (r270073)
- 将作为 flex 项的图像更改为在定义时使用 overridingLogicalWidth 计算逻辑高度 (r270116)
- 将
background-size
更改为不接受负值 (r269237) - 修复了当网格项具有滚动条时,网格项替换子元素的百分比高度问题 (r269717)
- 将宽高比序列化为在斜线周围有空格的形式 (r268659)
JavaScript
- 启用静态公共类字段 (r269922, r269939)
- 启用静态和实例私有类字段 (r270066)
- 实现了
Intl.DateTimeFormat.formatRangeToParts
(r269706) - 实现了
Intl.ListFormat
(r268956) - 使
%TypedArray%
行为与最新的规范调整保持一致 (r269670) - 在
ArrayBuffer#slice
中实现了@@species
支持 (r269574) - 修复了
toLocaleDateString()
对某些旧日期解析不正确的问题 (r269502) - 在标志 (
JSC_useSharedArrayBuffer=1
) 后重新启用SharedArrayBuffer
和Atomics
(r269531)
WebAssembly
- 添加了 wasm 原子指令,部分在标志 (
JSC_useSharedArrayBuffer=1
) 后启用 (r270208) - 修复了
table.grow
和table.size
的操作码 (r269790) - 在标志 (
JSC_useSharedArrayBuffer=1
) 后实现了共享WebAssembly.Memory
(r269940) - 实现了 i32
sign-extension-ops
(符号扩展操作) (r269929)
Web API
- 为 ResizeObserver 添加了适当的垃圾回收机制 (r268860)
- 将
Worklet.addModule()
更改为在网络加载失败时以 AbortError 拒绝 Promise (r270033) - 更改了事件目标,使其在调度后如果目标指向阴影树则被清除 (r269546)
- 将 WebSocket 构造函数更改为在端口被阻止时不抛出错误 (r269459)
- 修复了切换深色模式时,更新
overflow: scroll
元素中滚动条外观的问题 (r269437) - 修复了
navigator.clipboard
在 *.localhost 页面上暴露的问题 (r269960) - 修复了文本输入框自动聚焦时不选择文本的问题 (r269587)
- 修复了 Canvas
drawImage
在空源时不引发 IndexSizeError 的问题 (r270126) - 修复了
getIndexedParameter
索引崩溃问题 (r270160) - 修复了将文本赋值给
input.defaultValue
时文本被覆盖的问题 (r269528) - 修复了
<input disabled>
在 dispatchEvent 后触发点击事件的问题 (r269452) - 修复了时间输入框中分钟和子午线字段之间的空间过大的问题 (r270148)
- 修复了
window.event
不受调度后节点移动影响的问题 (r269500) - 改进了
AudioContext.suspend()
/resume()
promise 被拒绝时的异常消息 (r268999) - DOM API 返回的 Promise 具有调用者的全局对象,而非被调用者的全局对象 (r269227)
- 移除了内容和
<br>
之间不必要的空白 (r268958, r269036)
语音识别
- 为 SpeechRecognition 添加了音频捕获 (r270158)
- 为 SpeechRecognition 权限请求添加了默认操作 (r269918)
- 实现了 SpeechRecognition 的基本权限检查 (r269810)
WebRTC
- 添加了 WebRTC
SFrame
转换 (r269830) - 添加了 WebRTC 转换的基础设施 (r269764)
- 新增对
RTCPeerConnection.onicecandidateerror
事件的支持 (r270101) - 新增对 RTCRtpScriptTransform 的支持 (r270107)
- 在 WebRTC 中新增对 VP9 Profile 2 (10 位颜色) 的支持 (r268971)
- 将摄像头故障计时器增加到 30 秒 (r269190)
媒体
- 视频元素可能无法从全屏进入画中画模式 (r268816)
- 在 MSE 中新增了跨初始化片段处理 trackId 更改的功能 (r269121)
- 为 AudioSummingJunction 添加了
addOutput()
和removeOutput()
实用函数 (r268820) - 添加了 Media Session API 的骨架实现 (r268735)
- 更改为确保 WebAudio API 抛出带有有用错误消息的异常 (r268812)
- 将 AudioBuffer 通道更改为可中立和可分离 (r269108)
- 修复了 MSE 中持续时间为 NaN 时样本驱逐的无限循环问题 (r270106)
- 修复了通过 iframe 导航离开网页时 Web Audio 继续播放的问题 (r268893)
- 修复了使用 AudioContext sampleRate 参数时重采样质量差的问题 (r270141, r270157)
- 修复了
AudioBuffer.getChannelData(x)
对给定通道始终返回相同 JavaScript 封装器的问题 (r269081) - 修复了当音频会话被中断时,
AudioContext.suspend()
不拒绝 Promise 的问题 (r269039) - 修复了透明视频海报图像,使其在预加载第一帧后仍保持元素透明 (r269407)
- 修复了使用数据 URL 获取音频 worklet 模块的问题 (r270046)
- 将音频和视频元素的创建速度提高了多达 50 倍 (r269077)
Web 动画
- 确保在没有要更新的样式时,不调度动画更新 (r269963)
- 修复了
KeyframeEffect.pseudoElement
在定位::marker
或::first-letter
时返回有效字符串的问题 (r269623) - 修复了单个变换属性的加速动画,使其先应用旋转再应用缩放 (r269527)
滚动
滚动捕捉
- 修复了在
:root
上指定的滚动捕捉问题 (r269506) - 修复了根元素上的
scroll-snap
对齐到 body 外边距边缘而非视口边缘的问题 (r269622) - 使
scroll-snap-type
中的轴变为必需 (r268665) - 使
scroll-margin
独立于滚动捕捉,并在滚动到锚点时应用 (r269144) - 使
scroll-padding
独立于scroll-snap
,并影响 scrollIntoView (r270023) - 停止在
scrollmin
和scrollmax
处创建隐式捕捉点 (r268856)
私密点击测量
- 新增对待处理广告点击和归因的持久性,使其在浏览器重启后仍能保留 (r270136)
- 更改为在链接打开新窗口时接受广告点击数据 (r269129)
- 根据 W3C 讨论更改了属性和 JSON 键名称 (r269886)
- 切换到 JSON 报告格式 (r269489)