Safari Technology Preview 139 发布说明

Safari Technology Preview 版本 139 现已开放下载,支持 macOS Big Sur 和 macOS Monterey。如果您已安装 Safari Technology Preview,可在 macOS 的“系统偏好设置”>“软件更新”面板中进行更新。

此版本涵盖 WebKit 修订版本 286944-287834

注意:此版本中,标签页组不同步。

Web Inspector

  • Elements Tab(元素面板)
    • 在 CSS 自动补全中添加了 revert-layer (r287636)
    • 支持在渐变编辑器和自动补全中显示 CSS 圆锥形渐变 (r287409)
    • 使渐变编辑器角度输入在深色模式下可读 (r287408)
  • Sources Tab(源文件面板)
    • 为折叠的黑盒部分添加了图标 (r287586)
    • 修复了展开一组黑盒调用堆栈使其保持持久性 (r287590)

CSS

  • 修复了媒体查询评估时,通过 import 规则指定的 CSS 层级不能重新排序的问题 (r286972)
  • 修复了 revert-layer 在 CSS 层级中将样式属性恢复到常规作者样式的问题 (r287018)
  • 修复了在 flexbox 内部,绝对定位的子元素使用 margin box 对齐的问题 (r287064)
  • 在正交流中,在 computeInlinePreferredLogicalWidths 中使用了正确的 margins (r286952)
  • 修复了在通过鼠标聚焦后,:focus-visible 在 accessKey 聚焦时无法匹配的问题 (r287563, r287662)
  • 修复了 flexbox 在 align-items: flex-endjustify-content: flex-end 时忽略绝对定位子元素 margins 的问题 (r287128)
  • 修复了 drop-shadow 滤镜在未指定颜色时使用 color 属性值的问题 (r287817)
  • 修复了 transform 属性考虑 transform 参考框的问题 (r287606)
  • 修复了包含带有 min-width, box-sizing: border-box 文本的 inline block,使其在宽度计算中包含 border (r287779)
  • 修复了输入框失去焦点且移除 outline 后,text-decoration 颜色未恢复的问题 (r287674)
  • 实现了 text-combine-upright 属性 (标准版本的 -webkit-text-combine) (r287487)
    • -webkit-text-combine 属性设为继承属性 (r287451)
  • 取消了 -webkit-print-color-adjust CSS 属性的前缀 (r287712)
  • 移除了非标准的 -webkit-background-composite 属性 (r287433)
  • 移除了非标准的 -webkit-margin-*-collapse 属性 (r287429)

:has()

  • :disabled, :enabled, :valid, and :invalid 添加了样式失效 (r287445, r287551)
  • 修复了 :has() 由于样式共享导致匹配错误元素的问题 (r287362)
  • 修复了切换 :checked:has() 选择器失效的问题 (r287363)
  • 使用了布隆过滤器快速拒绝 :has() 选择器 (r287091)

Web Animations

  • 在计算样式中添加了对 animation 简写属性的支持 (r287535)
  • 将反向因子计算移至取消上一次过渡之前 (r287548)
  • 将没有显式 transition-property 的过渡视为不考虑 (r287764)
  • 修复了 animation 简写属性按正确顺序解析值的问题 (r287509)
  • 修复了 animation 简写属性在序列化时列出所有完整属性值的问题 (r287534)
  • 修复了在正在运行的 CSS Transition 上调用 setKeyframes() 没有立即生效的问题 (r287549)
  • 修复了更改过渡效果不再将其标记为运行中的问题 (r287550)
  • 修复了 CSS Animation 的 getKeyframes() 不对关键帧使用计算样式的问题 (r287820)
  • 修复了 getKeyframes() 确保所有属性都存在于 0% 和 100% 关键帧上的问题 (r287518)
  • 修复了当 @keyframes 规则中没有可动画属性时,getKeyframes() 返回空对象的问题 (r287517)
  • 修复了在 @keyframes 规则中插入规则应更新动画的问题 (r287707)
  • 修复了插入新的 @keyframes 规则应启动已经使用该名称的动画的问题 (r287769)
  • 修复了 CSS Animation 的隐式关键帧始终使用基础样式的问题 (r287827)
  • 修复了 filter 属性使用单个关键帧时插值失败的问题 (r287826)
  • 修复了 transform 属性中的 translate() 函数在解析时移除末尾 0 值的问题 (r287822)

渲染

  • 更改为在 flexbox 内部预布局正交子元素以计算首选逻辑宽度 (r287263)
  • 修复了 CSS 文本装饰的绘制顺序 (r286955)
  • 修复了与 box-sizing: border-boxpadding 组合时,display: table 子元素内部基于百分比的高度计算不正确的问题。(r287063)
  • 修复了 aspect-ratio 尺寸计算 (r287023)

SVG

  • 修复了 SVG 资源失效逻辑导致布局状态不正确的问题 (r287076)

WebAuthn

  • 更改为允许对同站跨域 iframe 执行 get() 操作 (r286993, r287116)
  • 修复了验证器在内部验证失败并被阻止后回退到 clientPIN 的问题 (r287315)

Web API

  • 添加了在使用系统首选颜色方案之前使用用户指定偏好的支持 (r287030)
  • 修复了在表单提交事件监听器中构造的 FormData 不包含提交者的问题 (r286988)
  • 修复了 TextDecoder 尽早检测无效 UTF-8 序列的问题 (r287024)

JavaScript

  • 使 Array.prototype.toLocaleString 与 ECMA402 定义对齐 (r287560)
  • 修复了 Intl.PluralRules.selectRange 输入验证 (r287546)
  • 修复了 Intl.NumberFormat.formatRangeIntl.PluralRules.selectRange 的长度问题 (r287543)

Content Security Policy(内容安全策略)

  • 更改为在检查哈希时始终使用 UTF-8 编码内容 (r287270)
  • 为模块脚本实现了 CSP strict-dynamic (r287756)

Media(媒体)

  • 添加了 MediaRecorder 对 bitsPerSecond 选项的支持 (r287613)
  • 更改为防止将不连续的音频样本打包在一起 (r287249)

Service Workers

  • 添加了对 Service Worker 拦截带有 FormData 主体的 fetch 请求的全面支持 (r287612)
  • 修复了 FetchRequest.clone 不需要使用当前上下文调用的问题 (r287532)

Web Extensions(Web 扩展)

  • 添加了对 declarativeNetRequestredirect 规则类型的支持,这需要为重定向 URL 的主机授予主机权限
  • 添加了对 declarativeNetRequest.getMatchedRules 的支持,这需要授予主机权限才能查看被阻止资源的 URL