Safari Technology Preview 171 发行说明

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

此发行版包含 WebKit 在以下版本之间的更改:263538@main…264301@main

Web Inspector

  • 控制台标签页
  • 源代码标签页
    • 修复了在单步跳过带有虚假条件断点的函数时,“单步跳过”行为类似于“继续”的问题 (264160@main)
  • 存储标签页
    • 修复了截断的 localStorage 编辑造成了看似正常编辑的错觉,并且截断的字符串被保存的问题 (264166@main)
  • 修复了弹出框,使其一次只能显示一个 (264159@main)

CSS

  • 新增支持 @font-face { src: tech() }@supports font-tech() (263725@main)
  • 新增支持 @font-facesize-adjust 描述符 (263604@main)
  • 修复了作为滚动容器的 flex 项的上沿被限制在边框盒的问题 (263974@main)
  • 修复了带有 currentcolortext-shadowbox-shadow 问题 (264120@main)
  • 修复了砌体列网格中项目的包含块是网格内容盒的逻辑宽度的问题 (264011@main)
  • 修复了在砌体行底部不添加额外网格间隙的问题 (263657@main)
  • 修复了计算砌体项目偏移量的问题 (263709@main)
  • 修复了 image-set 接受零分辨率并限制 calc 表达式中使用的负分辨率的问题 (264298@main)
  • 修复了容器查询长度单位使用内容盒而非边框盒的问题 (263595@main)
  • 修复了 CSS 砌体布局,确保在调整大小时更新网格尺寸 (263712@main)
  • 修复了当存在侵扰性浮动时 overflow: clip 失效的问题 (264101@main)
  • 移除了对 caption-sideleftright 值解析支持 (264262@main)
  • text-box-trim 的值 normal 重命名为 none (263702@main)
  • leading-trim 重命名为 text-box-trim 以匹配最新规范 (263587@main)
  • text-edge 重命名为 text-box-edge 以匹配最新规范 (263612@main)
  • 修复了 `@supports selector()` 对所有 `-webkit-` 前缀的伪元素都失败的问题 (264090@main)

CSS 计数器样式

Web 动画

渲染

  • 修复了带有 decoding="async" 的图像在放大时闪烁的问题 (264433@main)
  • 修复了处理多列固有内联尺寸变化的问题 (264292@main)
  • 修复了 SVG use 元素在样式解析后引用后续元素时不渲染的问题 (264085@main)
  • 修复了 alt 文本在垂直书写模式下水平渲染的问题 (263776@main)
  • 修复了 OffscreenCanvas 渲染隐藏元素边框的问题 (263731@main)
  • 复杂文本路径:前进后使制表符字形不可见 (263929@main)
  • 修复了嵌套网格中文本不换行的问题 (264252@main)
  • 修改为尊重列表项的样式包含 (264273@main)
  • 修复了负阴影重绘问题 (263899@main)
  • 修复了 overflow 为 hidden 的 textarea 宽度包含滚动条厚度的问题 (264095@main)
  • 修复了 textareaoverflow: auto 时逻辑高度不包含滚动条厚度的问题 (264251@main)

JavaScript

  • 缓存了默认的 Intl NumberFormat (264057@main)
  • 缓存了 ProxyObject traps 的查找 (263944@main)
  • 修改为不在 VM 中使用 Strong<> 并简化 jsString (264099@main)
  • 修改为不使用 Vector 作为类型化数组的中间传输缓冲区 (263942@main)
  • 禁用了 Array#groupArray#groupToMap (263922@main)
  • 修复了 definePropertyOnReceiver() 以考虑 put_by_val_with_this 字节码操作 (263559@main)
  • 修复了 /\p{Number}--]/v; 应为语法错误的问题 (264175@main)
  • 修复了 JSON.parse 在达到软递归阈值之前使用简单递归的问题 (263744@main)
  • 修复了在 [[Construct]] 情况下的 StringConstructor 常量函数内联问题 (264191@main)
  • 修复了 Stringifier 即使涉及访问器也能快速获取名称的问题 (263619@main)
  • 优化了 Dictionary 访问 (264040@main)
  • 优化了 JSON.stringify 整数序列化 (263765@main)

弹出框

  • 修改为在弹出框或对话框处于请求状态时不抛出错误 (263957@main)
  • 修改为仅使用调用者来建立弹出框层级 (264002@main)
  • 修改为对对话框弹出框使用 <dialog> 焦点算法 (263749@main)
  • 修改了 hidePopover,使其仅在焦点位于弹出框内时恢复焦点 (263645@main)
  • showPopover() 中重置调用者 (264006@main)

Web API

  • new URL(url, base) 构造函数添加了更明确的错误消息 (264129@main)
  • 为 URLSearchParams 的 has()delete() 方法添加了 value 参数 (263726@main)
  • 新增支持 AbortSignal.any() (264163@main)
  • 新增支持 ServiceWorkerRegistration.getNotifications() (264169@main)
  • 新增支持 <search> 元素 (264110@main)
  • 在 macOS 上向全局 Window 对象公开了 DeviceMotionEventDeviceOrientationEvent (264271@main)
  • 修改了 document.body.onerror setter,以设置一个五参数监听器 (264190@main)
  • 根据 WebKit 团队贡献的最近 HTML 标准变更,修改了 HTML 解析器,允许在 <select> 内部使用 <hr> 作为分隔符,这使得在 macOS 上更容易添加视觉分隔符 (263624@main)
  • 修改为在启用脚本时,不对 <noscript> 元素内部的 <>&nbsp 进行转义 (263633@main)
  • 修改为尊重内部头部中的 Content-Type,而不是将其缓存在 body 中 (264054@main)
  • 修改为在 WebSocket 构造函数中允许使用相对 URL 和 http(s) scheme (263968@main)
  • 修改了 WebSocketbinaryType setter,使其不抛出错误 (263963@main)
  • 修复了在删除 service worker 时,向客户端触发 controllerchange 事件的问题 (264255@main)
  • 修复了在触发 service worker 的 activate 事件之前运行 service worker 的问题 (264242@main)
  • 修复了模板的 document.write 生成多个文本节点的问题 (263841@main)
  • 修复了在禁用表单控件上分派事件的问题 (264098@main)
  • 修复了预加载扫描器处理嵌套模板时的一个错误 (263850@main)
  • 修复了 ResizeObserver 中影子节点的节点深度计算问题 (263920@main)
  • 修复了在事件循环任务而不是布局后任务中显示获得焦点的输入元素的问题 (263665@main)
  • 修复了带有无效日期的 <input type="date"> 返回空字符串作为值而不是默认值的问题 (263784@main)
  • 修复了设置了 multiple 属性时,清理电子邮件输入的问题 (263555@main)
  • 修复了选择链接并粘贴纯文本时,更改了链接中的文本但未更改链接 href 的问题 (263539@main)
  • 修复了 StorageManager.persist() 的问题 (263930@main)
  • 修复了 input.validity 对部分完成的日期和时间报告 valid: true 的问题 (263748@main)
  • 修复了 Compression Streams 在 flush 阶段无法处理大输出的问题 (263997@main)
  • align="abscenter" 映射到 vertical-align: middle (263852@main)

媒体

  • 新增支持 getDisplayMedia 视频轨道克隆尺寸调整 (263750@main)
  • 在 RTCPeerConnection 远程 MediaStreamTrack 设置中公开了 aspectRatioframeRate (263849@main)
  • 修复了摄像头和麦克风都具有 groupIds 的问题 (264112@main)

辅助功能

  • 修复了 HTML <menu> 元素映射到 role=list 的问题 (264077@main)
  • 修复了 aria-describedby 等效于 aria-description 并在两者都存在时覆盖 aria-description 的问题 (263813@main)
  • 修复了 slot 元素不计算 aria-labelledby 的标签的问题 (263644@main)
  • 修复了 <dialog>aria-modal 内部的 slotted 元素无法访问的问题 (263561@main)

SVG

  • 修复了 <marker orient="-1"> 正确定向的问题 (264053@main)
  • 修复了除非指定尺寸,否则 overflow="visible"use 元素的尺寸没有影响的问题 (263977@main)