Safari Technology Preview 13 发布说明

Safari Technology Preview 版本 13 现已可供下载,适用于 macOS Sierra Beta 版和 OS X El Capitan 10.11.6。如果您已安装 Safari Technology Preview,可以通过 Mac App Store 的“更新”标签页进行更新。此版本涵盖 WebKit 修订版本 204876–205519

Fetch API

  • 新增对 BufferSource 主体的支持 (r205115)
  • 修复了 Blob 资源处理,以便在 URL 未找到时引发网络错误 (r205190)
  • 针对空主体正确设置 Blob 类型 (r205250)
  • 从 Response/Request contentType 标头设置 Blob 类型 (r205076)
  • 使主体混合(mix-in)的 text() 方法将数据解码为 UTF–8 (r205188)
  • 确保在数据加载时响应克隆功能正常 (r205110)
  • 启用 Fetch API 在同源模式下加载数据 URL (r205265)
  • 阻止不透明响应的任何主体 (r205082)
  • 更改 opaqueredirect 响应,使其 URL 设置为原始 URL (r205081)
  • 阻止在请求构建失败时设置 bodyUsed (r205253)
  • 设置 Response 的 bodyUsed 以检查其主体是否被扰乱的状态 (r205251)
  • 更改响应克隆以在分流 Response 流时使用 structureClone (r205117)
  • 使 ReadableStream 的内部结构与规范对齐 (r205289)
  • 使 XHR 的 data:// URL 行为符合规范 (r205113)

自定义元素

  • appendChild() 上为自定义元素添加了 adopted 回调 (r205085)
  • 为 adopted 的自定义元素启用了 reaction 回调 (r205060)
  • 更新了 :defined 的语义,以重新与规范变更对齐 (r205416)
  • 为同步构建的自定义元素添加了验证 (r205386)
  • 新增对 CustomElementRegistry 上的 whenDefined() 方法的支持 (r205315)
  • 为重入添加了 CustomElementRegistry 检查 (r205261)

JavaScript

  • 在非严格模式下启用 for…in 头部中的赋值 (r204895)
  • 更改 newPromiseCapabilities 以检查给定参数是否为构造函数 (r205027)
  • 修复 toString() 在代理对象上调用时返回正确的标签 (r205023)

Web API

  • 新增对 <link preload> 的事件支持 (r205269)
  • 实现了 xyScrollToOptions 参数,适用于 Element.scroll()Element.scrollTo()Element.scrollBy() (r205505)
  • 更新 location.toString 以使其可枚举 (r204953)
  • 更新 Web Workers 中的 location.toString 以使其可枚举 (r204954)
  • 更改 Object.preventExtensions(window) 以抛出 TypeError 异常 (r205404)
  • 使 coordssrcset 属性解析与 HTML 规范对齐 (r205030, r205515)
  • 新增对 CanvasRenderingContext2D.prototype.resetTransform 的支持 (r204878)
  • 使跨源的 Object.getOwnPropertyNames() 与 HTML 规范对齐 (r205409)

Web Inspector

  • 将 IndexedDB Database、ObjectStore 和 Index 数据添加到详细信息侧边栏 (r205043)
  • 新增对 Shift-Command-D (⇧⌘D) 的支持,以切换到上次使用的停靠配置 (r205413)
  • 新增对 Shift-Tab (⇧⇥) 的支持,以取消缩进所选行 (r204924)
  • 更改 Command-D (⌘D) 以选择下一个匹配项而不是删除行 (r205414)
  • 在 DOM 树中为影子内容添加了视觉指示器 (r205322)
  • 允许在计算样式面板中隐藏 CSS 变量 (r205518)
  • 修复了阻止在断点编辑器中使用撤销操作的问题 (r205499)
  • 阻止资源内容视图显示“CR”字符 (r205517)
  • 修复了阻止在 Web Inspector 进程崩溃后重新检查页面的问题 (r205370)
  • 改进了针对小资源的缩小(minification)检测启发式算法 (r205314)
  • 修复了导致网络记录条定位到意外行的问题 (r205349)
  • 提供了一种清除 IndexedDB 对象存储的方法 (r205041)
  • 改进了调试器弹出窗口,以美观地打印函数 (r205223)
  • 纠正了在渲染帧时间线中拖动标尺手柄时出现的意外光标变化 (r204940)
  • 纠正了当 responseType="blob" 时纯文本 XHR 响应的显示 (r205268)

CSS

  • 根据 CSSOM 规范实现了 CSS.escape (r204952)
  • 改进了 CSS 样式表检查,以确保干净的样式表可以从 JavaScript 访问 (r205455)
  • 改进了 :enabled:disabled 选择器,使其仅匹配可被禁用的元素 (r205050)

渲染

  • 修复了 <div align="right"> 内部带有溢出内容的 <table> 的滚动条 (r205489)
  • 新增对非 BMP MathML 运算符 U+1EEF0 和 U+1EEF1 的支持 (r205111)
  • 修复了获取 MathML 的字体边界矩形的问题 (r205031)

安全

  • 更改了图像加载器以根据其 crossOrigin 属性设置获取模式 (r205134)
  • 在尝试访问跨源 Location 属性时添加了 SecurityError (r205026)
  • 更新了 Object.defineProperty()Object.preventExtensions(),使其针对跨源 WindowLocation 对象抛出错误 (r205358, r205359)
  • 更新了 Object.setPrototypeOf(),使其在用于跨源 WindowLocation 对象时抛出错误并返回 null (r205205, r205258)

插件

  • 在 macOS 上将 YouTube.com 的 Flash 嵌入内容替换为 HTML5 等效内容 (r205274)