在几乎每个版本的 Chrome 中,我们都会对该产品及其性能以及 Web 平台的功能进行大量更新和改进。本文介绍了 Chrome 52 中的变更。Chrome 52 目前处于 Beta 版阶段,发布时间为 6 月 9 日。此列表随时都可能发生变化。
基于 DHE 的加密方式将逐步淘汰
要点:桌面版 Chrome 53 中移除了基于 DHE 的密码,因为它们不适合长期使用。服务器应采用 ECDHE(如果可用),否则应采用纯 RSA 加密。
移除意图 | Chromestatus 跟踪器 | Chromium bug
去年,我们将 Chrome 中的最低 TLS 迪菲-赫尔曼组大小从 512 位增加到了 1024 位;不过,1024 位在长期来看是不够的。相关指标报告,Chrome 发现的大约 95% 的 DHE 连接使用 1024 位 DHE。再加上 TLS 中 DHE 的协商方式,使得很难超出 1024 位。
虽然有一个规范草稿可以解决此问题,但它仍处于草稿阶段,需要同时更改客户端和服务器。与此同时,ECDHE 已广泛实现和部署。服务器应升级到 ECDHE(如有)。否则,请确保已启用纯 RSA 加密套件。
自 Chrome 51 起,基于 DHE 的密码已被弃用。Chrome 53 将从桌面版中移除对此功能的支持。
FileError 废弃警告
要点:Chrome 54 预计会移除已废弃的 FileError
接口。将对 err
.code
的引用替换为 err
.name
和 err
.message
。
移除意图 | Chromestatus 跟踪器 | Chromium bug
当前版本的 File API 标准不包含 FileError
接口,并且在 2013 年的某个时间段弃用了对该接口的支持。在 Chrome 53 中,系统会将以下弃用警告输出到开发者工具控制台:
“FileError”已被弃用,并将在 54 中移除。请使用错误的“name”或“message”属性,而不是“code”。
这在不同情境下会产生不同的效果。
FileReader.error
和FileWriter.error
将是DOMException
对象,而不是FileError
对象。- 对于异步
FileSystem
调用,ErrorCallback
将传递FileError.ErrorCode
,而不是FileError
。 - 对于同步
FileSystem
调用,系统会抛出FileError.ErrorCode
,而不是FileError
。
此更改仅会影响依赖于直接将错误实例的代码 (e.code
) 与 FileError
枚举值 (FileError.NOT_FOUND_ERR
等) 进行比较的代码。针对硬编码常量(例如 e.code === 1
)进行测试的代码可能会因向用户报告错误而失败。
幸运的是,FileError
、DOMError
和 DOMException
错误类型都共享 name
和 message
属性,这些属性会为错误情形(换句话说,e.name === "NotFoundError"
)提供一致的名称。代码应改用这些属性,这些属性在所有浏览器中都适用,并且在 FileError
接口本身被移除后也能继续使用。
FileError
预计会移除在 Chrome 54 中。
移除了 <input type=search> 的 results 属性
要点:results
属性将被移除,因为它不属于任何标准,并且在各浏览器中的实现也不一致。
意图移除 | Chrome 状态跟踪器 | Chromium bug
results
值仅在 webkit 中实现,在 webkit 中实现的行为非常不一致。例如,Chrome 向输入框添加了放大镜图标,而在 Safari 桌面版上,该值可以通过点击放大镜图标来控制弹出式窗口中显示的数量。由于这不属于任何标准,因此即将被弃用。
如果您仍需要在输入字段中添加搜索图标,则必须为该元素添加一些自定义样式。为此,您可以添加背景图片并在输入字段上指定左内边距。
input[type=search] {
background: url(some-great-icon.png) no-repeat scroll 15px 15px;
padding-left:30px;
}
```
This attribute has been deprecated since Chrome 51.