Safari 技术预览版 49 的发布说明

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

Service Worker

  • 更改了从持久存储中恢复的 Service Worker,使其具有“已激活”状态 (r227153)
  • 更改为终止无响应的 Service Worker (r227174)
  • 防止了从磁盘恢复的 Service Worker 注册在 JavaScript 再次调用 register() 时被重复使用 (r227220)

Fetch

  • 在接收到 Fetch 响应的块数据时,增加了对 ConsumeData 回调的支持 (r227870)
  • 更改了不透明的正在加载中的响应以克隆其主体 (r227581)
  • 从不透明响应中过滤掉 Fetch 头部 (r227339)
  • 修复了 Fetch 重定向以兼容“no-cors”模式 (r227270)
  • 修复了 Fetch 响应在 URL 为空时从请求中复制其 URL 的问题 (r227531)
  • 为加载脚本和 CSS 设置了完整性 Fetch 选项 (r227612)

智能跟踪预防

  • 阻止了没有用户交互的常见资源的 Cookie (r227103)
  • 确保了 ServiceWorker 的加载和请求能被智能跟踪预防正确清除 (r227358)
  • 引入了调试模式作为实验性功能 (r227762)

CSS

  • 增加了对 column-gap 中百分比的支持 (r227676)
  • 增加了对 CSS 媒体查询中解析 calc() 的支持 (r227295)
  • 采纳了 CSS 工作组推荐的语法更改,以移除块/交叉轴对齐属性中的 "left""right" (r227432)
  • 采纳了 CSS 工作组推荐的语法更改,要求 overflow-position 位于
    css-align 属性中的 self-positioncontent-position 之前 (r227297)
  • 采纳了最近的规范更改,移除了 "baseline" 作为 ‘justify-content’ 属性的有效值 (r227786)
  • 修复了当比例大于 1 时,计算 position:fixed 元素的滚动位置的问题 (r227430)
  • 在启用颜色反转时,保留了原始图像和图片元素的颜色 (r227219)

渲染

  • 修复了显示数学公式的溢出问题 (r227722)
  • 优化了构建包含多个 iframe 的非快速滚动区域 (r227396)

SVG

  • 修复了 feMorphology SVG 滤镜,使其允许一个轴上的半径为 0 仍能应用效果 (r227440)

JavaScript

  • 实现了 trimStarttrimEnd (r227779)
  • 放宽了字符串中的行终止符,使 JSON 成为 JavaScript 的子集 (r227775)

Web Inspector

  • 更改为点击没有同级组件的路径组件时,现在可以选中它 (r227108)
  • 更改了“图层”标签页,使其使用静态定位的图层详细信息面板,而不是可移动的弹出框 (r227244)
  • 更改了“样式”侧边栏,使其始终从左到右显示 CSS 规则,即使 Web Inspector 使用 RTL 布局 (r227228)
  • 修复了导致“Canvas”标签页显示多个“等待帧”消息的问题 (r227243)
  • 修复了导致“Canvas”标签页画布上的录制按钮有时在悬停时未显示的问题 (r227155)
  • 修复了导致“网络”标签页排序指示器在已排序的列隐藏并重新显示时隐藏的错误 (r227667)
  • 修复了“网络”标签页的表格列在非默认缩放级别滚动时不再抖动的问题 (r227463)
  • 修复了因快速更新“样式”侧边栏中的值而触发的数据损坏问题 (r227370)
  • 修复了“样式”侧边栏在通过 Tab 键跳过已注释掉的属性时不再抛出异常的问题 (r227232)
  • 修复了“资源”标签页详细信息侧边栏,使其更好地换行超长 URL (r227072)
  • 修复了 Web Inspector 从浏览器分离时窗口大小调整的问题 (r227429)
  • 防止在表头中右键单击时显示“已显示列”,如果所有列都是必需的 (r227652)
  • 改进了“网络”标签页中 Cookie 表格在窄宽度下的行为 (r227666)
  • 改进了导航栏在窄高度下的布局 (r227707)

媒体

  • 在 CDMinstanceClearKey 中增加了对来自不同会话的多个密钥的支持 (r227409)
  • 更改为在没有符合条件的媒体元素时辞去“正在播放”状态 (r227373, r227457)
  • 更改为使用现有 RGB 色彩空间,而不是创建新的 (r227094)
  • 修复了通过 HLS 提供的 WebVTT 提示 (r227121)

存储

  • 在使用 AppCache 时,向控制台添加了弃用警告 (r227225)
  • 为缓存存储错误(如配额错误)添加了控制台消息 (r227245)
  • 更改为在没有注册 Service Worker 时,加载主资源时不使用存储进程 (r227161)
  • 更改为在没有注册 Service Worker 时,注册 Service Worker 客户端时不使用存储进程 (r227242)
  • 确保 Cache API 将按照调用顺序解析 caches.open promise (r227768)
  • 修复了清除给定源的数据时 DOMCache 数据未能正确移除的问题 (r227269)
  • 将默认缓存存储配额增加到 50MB (r227298)

安全

  • 在导航到 JavaScript URL 时,为目标窗口添加了策略检查 (r227567)
  • 为 Service Worker 响应添加了 CSP 后检查 (r227680)
  • 在没有 allow-same-origin 标志的沙盒框架中禁用了对 Service Worker 和 Cache API 的访问 (r227639)
  • 更新了 frame-ancestor 指令,以匹配内容安全策略级别 3 (r227238)

辅助功能

  • 增加了对 ARIA active-descendant 的支持 (r227144)
  • 为 VoiceOver 添加了一种唯一标识网络会话的方式 (r227526)
  • 实现了对图形 ARIA 角色(graphics-document、graphics-object、
    和 graphics-symbol)的支持 (r227344)
  • 在 SVG 根的情况下,防止 SVG AAM 映射覆盖 ARIA 角色属性 (r227536)

错误修复

  • 修复了 forums.swift.org 上的 GitHub 登录问题,确保子资源加载的重定向可以更改 Service Worker 控制器 (r227348)
  • 修复了适用于 Microsoft Word for Mac 2011 的 blob 转换和清理问题 (r227351)
  • 如果指定了 PostScript 名称,则阻止使用不允许的用户安装字体 (r227776)