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 中实现了 isFiniteisNaN 以提升性能 (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 伪类,使其不匹配 disabledreadonly 输入框 (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)
  • 更改了 HTMLElementSVGElement 以实现 GlobalEventHandlers (r202539)
  • 实现了 TouchEvent 的构造函数 (r202178)
  • 修复了在 Yahoo Finance 上双击缩放的问题 (r202354)
  • 实现了在隐私浏览中对 Vary:Cookie 验证的支持 (r202089)
  • 修复了 Vimeo.com 视频上的播放控制问题 (r202455)
  • 改进了导航时的资源处理,通过丢弃仅因页面缓存而非实际页面而“正在使用”的解码图像 (r202231)