Safari技术预览版161发布说明

Safari技术预览版161现已发布下载,适用于 macOS Monterey 12.3 或更高版本以及 macOS Ventura。如果您已安装 Safari技术预览版,可以在 macOS Monterey 的“系统偏好设置”中的“软件更新”面板,或 macOS Ventura 的“系统设置”中“通用”→“软件更新”下进行更新。

此版本包含 WebKit 在以下提交之间的更改:257351@main…258382@main

注意:此版本未启用共享标签页组以及标签页组、网站设置和网页扩展的同步功能。

Web检查器

  • 在“元素”选项卡中添加了 prefers-reduced-motionprefers-contrast 的模拟开关 (257383@main)
  • 更改为显示所有会话的“设备”菜单 (257426@main)
  • 重新定位了媒体特性 prefers-color-schemeappearance 的开关 (257744@main)

CSS自定义属性

CSS Typed OM

  • 启用 CSS Typed OM (258269@main)
  • 允许通过 CSS Typed OM API 设置自定义标识符 (257859@main)
  • 使 transition-duration 属性不允许负值 (258295@main)
  • 确保 z-index 属性可以设置为 -3.14 (258265@main)
  • 确保 column-count 值被限制在 [1, 无穷大] 范围内 (258218@main)
  • 确保 orphanswidows 值被限制在 [1, 无穷大] 范围内 (258243@main)
  • 使 StylePropertyMap 完全按照设置的方式返回CSS值 (257815@main)
  • 使 StylePropertyMap.set() 在值超出允许范围时将其包装在 calc() 中 (257485@main)
  • 使 StylePropertyMap.set() 在尝试为不允许数字的属性设置数字时抛出错误 (258242@main)

:has() 伪类

  • 添加对 :picture-in-picture 伪类的失效支持 (257995@main)
  • 添加对 :playing:paused:seeking:muted:volume-locked 伪类的失效支持 (257991@main)

CSS

  • 添加对 :user-invalid:user-valid 伪类的支持 (257997@main)
  • 使 stroke-dasharray CSS属性解析与规范对齐 (258136@main)
  • 修复渐变中的长度值以考虑有效缩放 (257659@main)
  • 修复 CSS ::marker 以支持定义 CSS 变量 (257711@main)
  • 修复 font-variant-alternates: historical-forms 以通过 StylePropertyMap 正确反映 (257955@main)
  • 修复 stroke-dasharray 的计算值为 px (258300@main)
  • 修复空 input[type=number]:out-of-range 伪类匹配问题 (258165@main)
  • 修复 transform 属性的计算值 (257964@main)
  • 修复 perspective 属性的 calc() 值未被裁剪为0 (257779@main)
  • 更改 transform-style: preserve-3dperspective,使其仅适用于直接的DOM子元素 (257509@main, 257432@main)
  • 确保 baseline-shift CSS属性的计算值长度单位为 px (257928@main)
  • 在解析 baseline-shift CSS属性时不再允许数字 (258025@main)
  • 在解析 cxcyxy CSS属性时不再允许数字 (258029@main)

Web动画

  • 在插值自定义属性时考虑 iterationComposite (257925@main)
  • 添加对 <length> 自定义属性的基本插值支持 (257906@main)
  • 添加对 <transform-function> 自定义属性的插值支持 (258009@main)
  • 添加对 <transform-list>、+ 和 # 自定义属性的插值支持 (258039@main)
  • 添加 <length-percentage> 自定义属性插值测试 (257931@main)
  • 使自定义属性支持单个关键帧的插值 (257911@main)
  • 在插值自定义属性时支持可加性 (257920@main)
  • 支持 <color> 自定义属性的插值 (257929@main)
  • 支持数字自定义属性的插值 (257930@main)
  • 修复超过2个关键帧的复合动画 (257731@main)

渲染

  • 当下一段文本有前导空格时,在文本末尾添加一个不间断空格 (257622@main)
  • 在存在干扰浮动时调整嵌套列表标记 (258372@main)
  • 在计算弹性尺寸时,更改为使用被替换元素的固有比例 (257474@main)
  • 使 ::backdrop 渲染器在可能时使用背景层 (257538@main)
  • 修复按钮元素默认裁剪溢出 (257439@main)
  • 修复在没有高度的内联元素中渲染懒加载图片的问题 (257565@main)
  • 修复 box-sizing 的逻辑宽度计算 (258342@main)
  • 修复0像素约束的行,如果它有内容,仍被视为非空行 (257528@main)
  • 当脱离流时,在旧的包含块链中重新计算固有宽度 (257980@main)

JavaScript

  • 添加对 RegExp 后向断言的支持 (257823@main)
  • 启用 AVX JIT 代码生成 (257884@main)
  • 修复 Atomics.waitAtomics.waitAsync 中的竞态条件 (257423@main)
  • 修复 ResizableArrayBuffer 和 lastIndexOf (258164@main)
  • 修复从 JavaScript 调用 WASM SIMD 函数时抛出 TypeError (257494@main)
  • 提高 Object.values 的速度 (257382@main)

WebAssembly SIMD

  • 在 ARM 上启用 WASM SIMD (257632@main)
  • 在 x64 上启用 WASM SIMD (258309@main)
  • 添加对英特尔平台转换的支持 (257592@main)
  • 添加对英特尔平台扩展整数算术的支持,并修复位掩码操作 (257657@main)
  • 添加对英特尔平台浮点绝对值、取反、最小值、最大值和平方根的支持 (257880@main)
  • 添加对英特尔平台加载和存储操作的支持,并修复操作混洗 (257818@main)
  • 添加对英特尔平台饱和整数算术运算的支持 (257468@main)
  • 添加对英特尔平台 swizzle 和 shuffle 的支持,并修复 extract_lanereplace_lane (257400@main)
  • 添加对英特尔平台位运算的支持 (257640@main)
  • 添加对英特尔平台整数和浮点算术的支持 (257511@main)
  • 添加对英特尔平台向量比较的支持 (257532@main)
  • 添加对英特尔平台剩余转换操作码的支持 (257965@main)
  • 使 SIMD 函数支持线性扫描和图着色寄存器分配器 (257519@main)
  • 在英特尔平台上模拟8位移位指令和 i8x16.popcnt (258089@main)
  • 在英特尔平台上模拟向量浮点绝对值 (257806@main)
  • 修复 minmax 和 CompareIntegerVector 操作 (257935@main)

WebAssembly

媒体

  • 更改为使用 dav1d 解码器而不是 libaom 解码器 (257357@main)
  • 修复播放停止时进度条继续移动的问题 (257403@main)

全屏API

  • 启用无前缀版本的全屏API (257658@main)
  • 添加对全屏元素上 ::backdrop 伪元素的支持 (257337@main)
  • 修复正确解析全屏API Promise的问题 (257668@main)
  • 实现无前缀的 :fullscreen 伪类 (257542@main)
  • 实现 ShadowRoot.fullscreenElement (257457@main)
  • 使全屏API使用顶层 (257456@main)
  • 使全屏元素匹配 :modal 伪类 (257572@main)
  • 使 requestFullscreen() 消耗用户激活 (257554@main)
  • 报告屏幕尺寸时使用全屏首选尺寸 (258005@main)
  • 全屏模式下不再将根元素的位置调整为绝对 (257946@main)

HTML

  • 添加对 <model src> 的支持并遵循 <source type> 属性 (257518@main)

Web API

  • 启用 2D OffscreenCanvas (257672@main, 258237@main)
  • 添加 iframe 深度限制 (257550@main)
  • 添加支持从 JavaScript 绑定访问时返回调整后的URL (257490@main)
  • 确保将视频绘制到画布时视频色彩空间一致 (258030@main)
  • 确保负的字母间距不会将内容拉出内联框之外 (258356@main)
  • 转义 innerHTMLouterHTML 中 JavaScript URL 的与号 (&) (258112@main)
  • 修复了在某个框架中没有mouseup的mousedown会干扰另一个框架中点击事件的bug (258055@main)
  • 修复了带复选框的label元素上嵌套点击事件的行为 (258287@main)
  • 修复 BroadcastChannel 未能始终正确计算其源的问题 (257551@main)
  • 修复 legend.focus() 不委托焦点的问题 (258074@main)
  • 改进 <textarea> 验证性能 (257417@main)
  • 使站点隔离的跨源 iframe 在其自己的进程中加载 (257435@main)
  • 移除 WebSocket 接口上已弃用的大写 URL 属性别名 (257467@main)

辅助功能

  • 修复复选框不遵循 indeterminate 属性状态的问题 (258314@main)
  • 修复颜色 <input> 元素、<textarea> 元素或 <progress> 元素动态更改后控件值未更新的问题 (257976@main)
  • 为 macOS 将粗体和斜体字体样式公开为文本属性 (258212@main)
  • 修复 VoiceOver 未将不确定进度元素报告为不确定的问题 (258332@main)

智能跟踪预防

  • 修复用户发起的跨域链接导航被计为顶层框架重定向的问题 (258382@main)

SVG

  • 停止自动换行 svg:text (257993@main)
  • 限制 setCurrentTime 和 setCurrentScale 上的浮点数为有限值 (258322@main)

WebAuthn

  • 更改用户手势要求,以便在成功断言或注册后返还用户手势的“免费”机会 (257940@main)
  • 改进了对具有完整密钥存储的安全密钥的处理 (257989@main)
  • 修复了 WebAuthn 超时导致错误的问题 (258116@main)
  • 修复了通过混合传输执行操作时 authenticatorAttachment 始终为 "platform" 的问题 (257576@main)

WebDriver

  • 修复 Get Element Rect 命令不再四舍五入为整数值 (257498@main)

WebGL

  • 添加在 Web Worker 中为 OffscreenCanvas 创建 WebGL 上下文的支持 (257541@main)
  • 修复设置为重复的视频纹理被限制的问题 (257365@main)
  • 修复 WebGL 在主线程上的 OffscreenCanvas 中初始化失败的问题 (258222@main)