Safari Technology Preview 8 发布说明
Safari Technology Preview Release 8 现已提供下载,适用于 macOS Sierra beta 2 和 OS X El Capitan。如果您已安装 Safari Technology Preview,可从 Mac App Store 的“更新”标签页进行更新。Safari Technology Preview Release 8 包含 WebKit 版本 202085–202612。
JavaScript
- 通过重新添加
Symbol.isConcatSpreadable
实现了 100% ECMAScript 2015 (ES6) 支持 (r202125) - 统一处理正则表达式字符转义
\w
和\W
以及单词断言\b
和\B
(r202490) - 在 JavaScript 中实现了
isFinite
和isNaN
以提升性能 (r202413) - 修复了在
for-in
循环内部使用finally
子句时导致的崩溃 (r202608)
CSS
- 更新了
:default
CSS 伪类,使其匹配具有checked
属性的复选框和单选输入框 (r202245) - 修复了鼠标离开元素后
:hover
CSS 伪类仍匹配的问题 (r202324) - 阻止了
:in-range
和:out-of-range
CSS 伪类匹配没有范围限制的输入框 (r202143) - 更改了
:in-range
和:out-of-range
CSS 伪类,使其不匹配disabled
或readonly
输入框 (r202159) - 修复了
min-width: -webkit-fill-available
且可用宽度为零的元素的边框渲染问题 (r202103) - 修复了更改阴影宿主元素 CSS 类名时,
:host()
应用的样式更新问题 (r202227)
Web API
- 添加了 MathML 中根式符号拉伸和镜像的后备机制 (r202161)
- 使用
MathOperator
处理 MathML 中一些不可拉伸的运算符 (r202271) - 设置了 MathML 中可拉伸运算符大小或部分数量的上限 (r202489)
- 允许
<mo>
元素接受 phrasing 内容 (r202572) - 修复了在 WebKit2 沙盒中使用游标从 IndexedDB 检索 Blob 的错误 (r202414)
- 将同步事件跟踪更改为按每个事件类型而不是每个事件序列 (r202408)
Apple Pay
- 将 Apple Pay 代码移至开源仓库 (r202298, r202309, r202310, r202311, r202312, r202432, r202345, r202346, r202444)
- 将 WebKit2 Apple Pay 代码移至开源仓库 (r202432)
- 将 WebKit1 Apple Pay 代码移至开源仓库 (r202346)
- 在向
ApplePaySession
构造函数传递无效 API 版本时添加了日志错误消息 (r202499) - 将用户手势要求移至
ApplePaySession
构造函数 (r202584) - 修复了 Apple Pay 总金额错误消息在正确限制下触发的问题 (r202582)
- 将
shippingType
添加到有效的 Apple Pay 付款请求属性列表中 (r202409) - 当配送方式金额无效时,为 Apple Pay 添加了异常处理 (r202341, r202342)
- 修复了 Apple Pay 折扣项目显示正值金额的问题 (r202504)
Web Inspector
- 将
console.profile
更改为使用新的采样分析器 (r202234) - 修复了关闭 Web Inspector 时可能发生的罕见但持续的崩溃问题 (r202492, r202515)
- 阻止了在 Web Inspector 不可见时自动记录时间线 (r202352, r202353)
- 推迟了页面重新加载期间的首次自动捕获堆快照,直至页面完成首次导航后 (r202384)
- 修复了内存时间线中 bmalloc 下溢大小显示不可能值的问题 (r202394)
- 将快速控制台选择更新与 UI 分离,以改进测试 (r202566)
- 修复了控制台中
selectElement.options
条目对超出集合长度的命名索引的处理问题 (r202568) - 修复了快照列表显示总大小和总活动大小的问题 (r202253)
- 改进了 JavaScript 堆快照清理处理 (r202383)
- 确保在修改 sessionStorage 时更新 localStorage (r202529)
- 修复了在包含
<CR>
的资源中文本搜索中断的问题 (r202498)
媒体
- 修复了移除
controls
属性时,画中画占位符的可见性问题 (r202509) - 修复了右到左内容中,网页视频播放控制条音量滑块的问题 (r202183)
- 实现了对“替换”编解码器的支持 (r202599)
- 修复了退出画中画模式后媒体控制停止工作的问题 (r202333)
- 修复了媒体元素在用户手势静音后不会丢失播放控制的问题 (r202459)
- 修复了在页面中播放多个项目时使用的播放控制元素问题 (r202425)
渲染
- 修复了右到左内容中组合下划线的位置问题 (r202250)
- 修复了字幕文本略有变化时
<attachment>
元素跳动的问题 (r202117) - 修复了激活节点没有渲染器时
:active
样式的失效问题 (r202517) - 在右到左内容中,翻转了 前进 和 后退 键盘快捷键的行为 (r202129)
- 修复了右到左内容中
<select>
弹出菜单的放置问题 (r202112) - 修正了焦点改变时元素
:active
状态的行为 (r202470)
辅助功能
- 添加了对 CSS4
:focus-within
伪类的支持 (r202358) - 将匿名
RenderMathMLOperators
暴露给辅助功能树 (r202497) - 修复了 label 元素的 ARIA role 属性问题 (r202516)
安全
- 阻止文件 scheme 访问不同卷上的资源 (r202186)
- 将 CORS 预检(响应非 200)设置为预检失败 (r202162)
- 允许
*
在内容安全策略中匹配源页面的 scheme (r202155) - 更改了安全源继承检查,使其忽略大小写 (r202174)
错误修复
- 修复了在
<iframe>
中分派焦点事件时,父文档滚动的问题 (r202292) - 修复了导致 Google 地图公交时刻表浏览器初始加载空白的问题 (r202104)
- 更改了
HTMLElement
和SVGElement
以实现 GlobalEventHandlers (r202539) - 实现了
TouchEvent
的构造函数 (r202178) - 修复了在 Yahoo Finance 上双击缩放的问题 (r202354)
- 实现了在隐私浏览中对
Vary:Cookie
验证的支持 (r202089) - 修复了 Vimeo.com 视频上的播放控制问题 (r202455)
- 改进了导航时的资源处理,通过丢弃仅因页面缓存而非实际页面而“正在使用”的解码图像 (r202231)