Chrome 97 于 1 月初进入 Stable 频道,带来了一系列新功能,包括更新的键盘 API,苹果和 Mozilla 因过于侵犯用户隐私而将其驳回。经过 4 周的开发周期,今天我们可以期待 Chrome 98 的发布,虽然它没有那么有争议,但肯定有一个功能很突出。
Chrome 98 正在增加对 COLRv1 颜色渐变矢量字体的支持,这是从 COLRv0 演变而来的。它们以渐变、构图、变换、多色字母的形式带来更具表现力的视觉能力,即使是非常小的字体。谷歌吹嘘它能够使用 COLRv1 字体格式渲染 Noto Color Emoji,在 WOFF2 压缩后大小为 1.85MB。同时,同一个表情符号的标准位图字体占用了 9MB,这是一个显着的改进。
与任何新的浏览器功能一样,获得其他 Web 浏览器供应商和 Web 开发人员的支持以确保无缝的交叉兼容性有些重要。尽管 Mozilla 和 Web 开发人员表示支持新的矢量字体,但 Apple 的 WebKit 和 Core Text 团队对该提案提供了负面信号。他们反对 COLRv1 的理由如下:
- 它重新发明了轮子。这种新格式与任何通用 2D 图形序列化格式一样具有表现力和强大功能。通用 2D 图形有许多现有的序列化格式。
- 它还不存在(在 Chrome 的开发配置之外)。具有同样表现力的 OT-SVG 存在并在 DirectWrite、Core Text、Firefox 和许多(大多数?全部?)Adobe 创建应用程序中实现了交付。许多 OT-SVG 字体已经存在。
- 由于该提案在 Chrome 之外尚不存在,因此现有创作工具中没有生态系统。相反,许多设计创作工具已经导出 SVG。
- 同时支持 OT-SVG 和这个新提案是维护负担的两倍(-ish),因为这种格式并不比我们已经支持的格式更具表现力。
- 同时支持 OT-SVG 和这个新提案会增加我们的二进制大小。我们预计额外的二进制大小增加大致相当于我们在实施 OT-SVG 后观察到的二进制大小增加。(OT-SVG 确实涉及 XML 解析器,但 WebKit 已经与 XML 解析器链接,因此我们预计这个新提案的大小大致等于我们在实施 OT-SVG 后看到的大小增加。这个提案需要自己的新颖的解析/溢出检测/解释代码。)
- 同时支持 OT-SVG 和这个新提案大约使基于矢量的彩色字体的安全攻击表面积增加了一倍。
- 即使考虑一个只支持这个提议而不支持 SVG 的引擎,我们也没有看到任何证据表明与新的二进制格式相比,避免 XML 会减少安全漏洞。从历史上看,在 WebKit 中,我们观察到不透明的二进制格式(如图像格式)有很多自己的安全漏洞。
- 该规范有 2500 多行,规范的 images/ 目录有 77 个数字,并且该提案只有一个实现。它足够复杂,我们不相信它可以互操作地实现。我们担心绘图操作的行为可能是 Skia 特有的,并且难以/不可能在 Core Graphics 上实现。例如,乍一看,我们不确定这个提案中的径向渐变是否可以在 Core Graphics 上实现。据我们所知,该提案尚未经过许多独立利益相关者的严格标准化流程。
- 在彩色字体表中嵌入光栅图像数据今天很常见,但是这个新提议没有允许它的能力,尽管它的矢量设施与任何通用 2d 图形序列化格式一样具有表现力。因此,它实际上并没有改善彩色字体表碎片化的情况,这被广泛认为是当今彩色字体的最大缺点之一。
无论如何,Chrome 98 将支持 COLRv1 字体格式。
除此之外,Chrome 98 还包含其他较小的改进和增强功能。用于密钥交换的简单数据加密标准 (SDES)也正在逐步淘汰,因为它被称为“历史性”,因此存在安全风险。
Web 开发人员还可以使用 CSS 媒体查询,以便他们能够自动检测 HDR 显示并相应地呈现其内容。对于颜色调整,CSS color-scheme 规范中重新引入了“only”关键字。
为了代替潜在的性能优势和某些用例的易于开发,正在为“ClipboardItem”对象添加对 Promises 的支持。此外,开发人员还可以利用“self.structuredClone()”方法来克隆和传输对象。为了避免混淆并实现与标准规范的互操作性,一些用于弹出窗口的 API 也正在更改。
现在可以立即终止流写入,并且还可以将跨域资源共享 (CORS) 预检请求发送到专用网络上的目标服务器,以便在访问子资源之前首先明确请求权限。另一种方法使开发人员能够使用文件句柄更轻松地删除文件,而不是被迫首先获取父目录。
但这还不是全部,Chrome 98 的 DevTools 中还有很多新东西,请务必在此处查看所有内容。
Chrome 98 将在今天晚些时候开始推出。如果它在一天中没有自动为您更新到版本 98,请转到帮助 > 关于 Google Chrome以在更新可用时触发更新。接下来是 Chrome 99,它将于 2 月 3 日进入 Beta 通道,并将于 3 月 1 日登陆 Stable。
原创文章,作者:校长,如若转载,请注明出处:https://www.yundongfang.com/Yun123467.html