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
- 控制台标签页
- 新增显示
WeakRef
的target
(264171@main) - 修复了时间戳占用空间不同的问题 (264161@main)
- 新增显示
- 源代码标签页
- 修复了在单步跳过带有虚假条件断点的函数时,“单步跳过”行为类似于“继续”的问题 (264160@main)
- 存储标签页
- 修复了截断的 localStorage 编辑造成了看似正常编辑的错觉,并且截断的字符串被保存的问题 (264166@main)
- 修复了弹出框,使其一次只能显示一个 (264159@main)
CSS
- 新增支持
@font-face { src: tech() }
和@supports font-tech()
(263725@main) - 新增支持
@font-face
的size-adjust
描述符 (263604@main) - 修复了作为滚动容器的 flex 项的上沿被限制在边框盒的问题 (263974@main)
- 修复了带有
currentcolor
的text-shadow
和box-shadow
问题 (264120@main) - 修复了砌体列网格中项目的包含块是网格内容盒的逻辑宽度的问题 (264011@main)
- 修复了在砌体行底部不添加额外网格间隙的问题 (263657@main)
- 修复了计算砌体项目偏移量的问题 (263709@main)
- 修复了
image-set
接受零分辨率并限制calc
表达式中使用的负分辨率的问题 (264298@main) - 修复了容器查询长度单位使用内容盒而非边框盒的问题 (263595@main)
- 修复了 CSS 砌体布局,确保在调整大小时更新网格尺寸 (263712@main)
- 修复了当存在侵扰性浮动时
overflow: clip
失效的问题 (264101@main) - 移除了对
caption-side
的left
和right
值解析支持 (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 计数器样式
- 新增支持扩展埃塞俄比亚计数器样式 (263602@main)
- 新增支持扩展 CJK 计数器样式 (263542@main, 263544@main)
Web 动画
- 移除了对
zoom
的动画支持 (263908@main)
渲染
- 修复了带有
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)
- 修复了
textarea
在overflow: auto
时逻辑高度不包含滚动条厚度的问题 (264251@main)
JavaScript
- 缓存了默认的
Intl
NumberFormat
(264057@main) - 缓存了 ProxyObject traps 的查找 (263944@main)
- 修改为不在 VM 中使用 Strong<> 并简化 jsString (264099@main)
- 修改为不使用 Vector 作为类型化数组的中间传输缓冲区 (263942@main)
- 禁用了
Array#group
和Array#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
对象公开了DeviceMotionEvent
和DeviceOrientationEvent
(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) - 修改了
WebSocket
的binaryType
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 设置中公开了
aspectRatio
和frameRate
(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)