Chrome 58 中的弃用和移除功能

Joe Medley
Joe Medley

在几乎所有版本的 Chrome 中,我们都会看到大量的更新, 产品改进、性能以及 Web 功能 平台。本文介绍了 Chrome 58 中的弃用和移除功能。 该版本自 3 月 16 日起处于 Beta 版阶段。此列表随时可能更改。

Android 上的鼠标停止触发 TouchEvent

在 Chrome 57 之前,Chrome 中的 Android 低级鼠标事件主要遵循 专为触摸互动设计的事件路径。例如, 按下鼠标按钮会生成 MotionEvents,传递至 View.onTouchEvent

不过,由于触摸事件不支持悬停,因此鼠标悬停在 独立路径。该设计带来了许多副作用,包括鼠标交互 触发 TouchEvents,所有鼠标按钮都显示为鼠标按钮,以及 MouseEventsTouchEvents 抑制。

从 Chrome 58 开始,搭载 Android M 或更高版本的鼠标将具备以下特点:

  • 不再触发 TouchEvents
  • 使用适当的按钮触发一致的 MouseEvents 序列, 其他属性。

打算移除 | Chromestatus Tracker | Chromium bug

为 usemap 属性移除不区分大小写的匹配

usemap 属性以前定义为无大小写。很遗憾 实施过程太复杂了,没有浏览器实施 正确。研究表明,这种复杂的算法没有必要, 甚至 ASCII 不区分大小写的匹配也没必要。

因此,该规范进行了更新,使区分大小写的匹配 。旧行为已在 Chrome 57 中弃用,现在已被移除。

打算移除 | Chromestatus Tracker | Chromium bug

移除内容启动的顶部帧导航到数据网址

由于非技术性浏览器用户不熟悉 data: 方案被用于欺骗和钓鱼式攻击的越来越多 攻击。为防止出现这种情况,我们禁止网页加载 data: 个网址 放在顶部框架中这适用于 <a> 个标记、window.openwindow.location 和类似机制。data:架构对 通过网页在下面加载的资源

在 Chrome 60 中,我们将移除此功能。

打算移除 | Chromestatus Tracker | Chromium bug

移除了动画路径属性已弃用的名称

动画路径 CSS 属性可让作者沿着任何图形对象添加动画效果 作者指定的路径。根据该规范, 在 Chrome 45 中实现。 相关规范在 2016 年年中对这些属性的名称进行了更改。Chrome 浏览器 实施了 新名称。 此外,我们还添加了管理中心弃用警告。

在 Chrome 58 中,旧属性名称将被移除。受影响的房源 它们的新名称如下所示

已移除的属性 当前名称
动画路径 偏移路径
动作偏移 偏移距离
动作旋转 偏移旋转
动作 offset

打算移除

从非安全上下文中移除 EME

加密媒体扩展 (EME) 公开非开源的数字版权管理实施方案; 涉及访问永久唯一标识符和/或运行非沙盒或 特权访问网站的安全风险会增加, 因为它们可能会遭到频道中的任何用户攻击。此外,如果 需要征得用户同意,即使对于不安全的 HTTP 网站,也要始终接受 被此类攻击者所利用。

对非安全上下文的支持已从 EME 版本 1 规范 且在 建议的建议 预期目标是什么将不会出现在 或后续的最终建议该 API 已显示 自 Chrome 44(2015 年 5 月)以来,非安全源的弃用消息。在 Chrome 中 58,现在已被移除。为了实现这一目标,我们采取了更大规模的措施, 从不安全的源中移除强大的功能

打算移除 | Chromestatus Tracker | Chromium bug

移除了 HTMLEmbedElement 和 HTMLObjectElement 的旧版调用方

如果某个接口具有旧版调用方,则意味着可以作为 函数。目前,HTMLEmbedElementHTMLObjectElement 支持此功能 功能在 Chrome 57 中,此功能已废弃。从 Chrome 58 开始, 调用会抛出异常。

此更改使 Chrome 与近期的规范变更保持一致。旧版行为 不支持 Edge 或 Safari, 已从 Firefox 中移除

打算移除 | Chromestatus Tracker | Chromium bug

移除未满足标准的 ChaCha20-Poly1305 加密

2013 年,部署了 Chrome 31 新的 TLS 加密套件 基于 Dan Bernstein 教授的 ChaCha20 和 Poly1305 算法。这些是 之后在 IETF 上进行了标准化处理,并稍作调整, RFC 7539RFC 7905。 我们在 2016 年初推出了标准化变体, Chrome 49。 我们现在将移除非标准版本。

打算移除 | Chromestatus Tracker | Chromium bug

移除对证书中的 commonName 匹配的支持

RFC 2818 介绍了两种方法 将域名与证书相关联:使用 subjectAlternativeName 扩展,在没有 SAN 扩展的情况下, 回退到 commonName。回退到commonName RFC 2818(于 2000 年发布)中已弃用,但许多 TLS 客户端,通常不正确。

通过使用 subjectAlternativeName 字段,您可以清楚了解 表示与 IP 地址或域名的绑定 完全定义其与名称限制条件的交互作用。不过, commonName 不明确,因此,对它的支持一直是一个来源 Chrome 中的安全错误、使用的库以及 TLS 生态系统 大型语言模型。

移除 commonName 的兼容性风险很低。RFC 2818 包含 近二十年来, 基准要求 (所有受大众信任的证书授权中心必须遵守)的要求 自 2012 年以来出现了 subjectAltName。Firefox 已要求使用 自 subjectAltNameFirefox 48

打算移除 | Chromestatus Tracker | Chromium bug

已对界面元素 regionsaddRegion()removeRegion() 从 WebVTT 规范中移除,并在 Chrome 58 中移除,以符合 最新规范。我们预计, 因为默认情况下该功能从来没有启用(也就是说, )。需要替代解决方案的用户可以使用VTTCue.region 属性。

Chromestatus Tracker | Chromium bug

WebAudio:移除了 AudioSourceNode 接口

AudioSourceNode 接口不属于 网络音频规范、 是不可构造的,也没有属性,因此基本上没有开发者 易于使用的功能因此,我们即将将其移除。

打算移除 | Chromestatus Tracker | Chromium bug

移除 webkitdropzone 全局属性

dropzone 全局属性由 HTML5 拖放规范 作为声明性方法,用于指定某个 HTML 元素是否愿意成为 拖放操作目标上可拖放到的内容类型 元素和拖放操作(复制/移动/链接)。

此属性未能在浏览器供应商之间获得关注。Blink 和 WebKit 仅实现带前缀的属性形式 webkitdropzone。由于 已从以下版本的规范中移除 dropzone 属性: 2017 年 3 月初 带前缀的版本将从 Chrome 中移除。

打算移除 | Chromestatus Tracker | Chromium bug

弃用以不安全的方式使用通知

通知是一项强大的功能,可让网站调用系统 界面:传输私密信息或 信息已更改。攻击者可以嗅探或窃取发送的任何信息, 通过不安全连接发出通知。Web 推送需要安全的 来源,因此这一变更会将非推送通知与推送保持一致 通知。为了实现这一目标,我们采取了更大规模的措施, 从不安全的源中移除强大的功能

打算移除 | Chromestatus Tracker | Chromium bug

不再使用来自不安全 iframe 的通知

来自 iframe 的权限请求可能会令用户感到困惑,因为 区分包含网页的来源和 iframe 的来源 请求者。如果请求范围不明确,则很难 供用户判断是授予还是拒绝权限。

禁止在 iframe 中显示通知也会符合 通知权限和推送通知权限, 开发者。

需要此功能的开发者可以打开一个新窗口来请求 通知权限。

Chrome 62 中移除了此功能。

打算移除 | Chromestatus Tracker | Chromium bug

移除 indexDB.webkitGetDatabaseNames()

当索引型数据库在 Chrome 中相对较新且带有前缀时,我们添加了此功能 这也太疯狂了API 异步返回现有数据库的列表 这似乎很有道理。

遗憾的是,该设计存在缺陷,结果可能会立即过时 因此它只能用于日志记录,而不是用于严重的 应用逻辑通过 GitHub 问题跟踪/链接 关于替代方法的讨论,这就需要采用不同的方法。 由于缺乏跨界, 浏览器进度,库作者已经解决了这个问题。

需要此功能的开发者需要开发自己的解决方案。 例如,像 Dexie.js 这样的库使用全局表 而后者本身就是另一个用于跟踪数据库名称的数据库。

此功能已从 Chrome 60 中移除。

打算弃用 |Chromestatus Tracker | Chromium bug