Safari 技术预览版 43 发布说明

Safari 技术预览版 43 现已发布,可下载用于 macOS Sierra 和 macOS High Sierra。如果您已安装 Safari 技术预览版,可以从 Mac App Store 的“更新”标签页进行更新。此版本涵盖 WebKit 修订版 223209-223953

如果您最近从 macOS Sierra 更新到 macOS High Sierra,您可能需要手动安装适用于 High Sierra 的 Safari 技术预览版。

Cache Storage API

  • 默认激活 Cache Storage API (r223433)
  • 添加了用于清理 CacheStorage 数据的 API (r223213, r223220, r223263, r223702)
  • 启用了 Cache Storage API 实现来计算存储大小 (r223558)
  • 实现了列出 CacheStorage 正在存储数据的来源 (r223299)

Web 动画

  • 将动画添加到时间线 (r223825)
  • 添加了基本计时和目标属性 (r223883)
  • 提供了基本时间线和动画接口 (r223779)

ImageBitmap

  • 增加了对带有基本 HTMLImageElement 的 createImageBitmap 的支持 (r223819)
  • createImageBitmap 添加到 Window 和 Worker (r223775)
  • 使 ImageData 构造函数与规范对齐 (r223611)
  • 在 2D canvas 上实现了 drawImage(ImageBitmap) (r223843)
  • 实现了 ImageBitmap 渲染的调整大小选项 (r223925)

地理位置 API

  • 暴露了 Coordinates.floorLevel (r223211)

拖放

  • 修复了 event.dataTransfer.getData("text/uri-list") 返回被拖动图像的 HTTP 或 HTTPS URL 的问题 (r223340)
  • 在跨源拖放时暴露“text/html”数据 (r223278)
  • 防止在粘贴板中向网页内容暴露原始 HTML (r223678)

CSS

  • 增加了对带有 display:contents 的元素上的 ::before::after 伪元素的支持 (r223748, r223810, r223898)
  • 在样式解析期间解析了 ::before::after 伪元素 (r223604)

渲染

  • 修复了所有 CSS 字体规范中的文本重叠问题 (r223688)
  • 避免了因样式更改触发布局 (r223210)
  • 修复了当策略指示字体应可见时,字体错误地不可见的问题 (r223576)
  • 修复了 UTF-8 解码,使其为每个非法序列而非每个字节生成一个替换字符 (r223329)
  • 修复了循环播放电影支持的 <img> 后图像损坏的问题 (r223564)

WebGL

  • 添加了 WebGL2 texImage3D 重载 (r223501)
  • 避免了 WebGL 合成前的重复多样本解析 (r223707)
  • 从 WebGL2RenderingContext 中移除了专有常量 (r223743)
  • 通过一步执行像素一致性和纹理化来提高性能 (r223280)
  • 如果源图像和目标纹理未更改,则通过跳过纹理上传来提高性能 (r223315)
  • 更新了 texSubImage3D 的签名 (r223602)
  • 在 5120 显示器或画布上,WebGL 将 drawingBufferWidth 限制为 4096 像素 (r223567)

错误修复

  • 修复了删除按钮无法完全删除某些表情符号的问题 (r223578)
  • 更新了 cookie 分区,以便在中间重定向请求中相应地添加和删除 (r223565)

JavaScript

  • 优化了 __proto__ getter 以提高速度 (r223594)

Web Inspector

重新设计的样式侧边栏可以在 Web Inspector 的“设置”标签页下的“实验性”中启用。

  • 默认开启新的“网络”标签页 (r223778)
  • 默认开启“Canvas”标签页 (r223920)
  • 在“网络”标签页中添加了 HAR 导出支持 (r223856)
  • 为 JSON 内容启用了 JSON 树视图 (r223806)
  • 修复了调整“控制台”抽屉大小以匹配光标位置的问题 (r223931)
  • 在重新设计的样式侧边栏中启用了上下箭头来修改 CSS 数值 (r223336)
  • 在重新设计的样式侧边栏中添加了颜色选择器内联小部件 (r223575)
  • 在重新设计的样式侧边栏中对属性值应用了语法高亮 (r223453)
  • 在重新设计的样式侧边栏中启用了属性名称和值的自动完成功能 (r223283)
  • 在重新设计的样式侧边栏的“计算”标签页中启用了跳转箭头 (r223333)
  • 修复了“图层”标签页错误地丢弃根元素图层的问题 (r223428)
  • 使 3D 对象在“图层”标签页的可视化中可选 (r223209)
  • 将分屏控制台更改为使用标签页视图的完整宽度 (r223310)
  • 将所有标签页中的“清除”按钮改回“垃圾桶”图标 (r223268)
  • 调试时在滚动编辑器时防止弹出窗口 (r223807)

Web API

  • 当 XMLHttpRequest responseType 设置为“text”时,阻止检测 HTML 或 XML (r223217)
  • 阻止 DOMTokenList 添加空属性 (r223306)
  • 除非处理了按键事件,否则停止按键事件更新 Document.lastHandledUserGestureTimestamp (r223626)
  • 增加了对 MouseEvent.buttons 的支持 (r223264)
  • 移除了 Fetch Request.type getter (r223441)

Web Driver

  • 修复了“全选”(⌃A)键盘快捷键的处理问题 (r223869)
  • 模拟不允许操作的键盘快捷键不再触发玻璃面板对话框

Payment Request

  • 实现了“PaymentRequest 更新”算法 (r223910)
  • 为 PaymentRequest 实现了 paymentmethodselected 事件 (r223945)
  • 更改为仅在请求配送时处理配送选项,并在配送选项 ID 重复时抛出异常 (r223701)
  • 更改为在支付获得授权时,解决 PaymentRequest.show() 的接受 promise (r223855)

子资源完整性

  • 增加了对模块脚本上的 integrity="" 的支持 (r223237)

辅助功能

  • 将显式设置的 aria-sort"none" 暴露为对象属性 (r223522)