Chrome 105 发布

谷歌发布了Chrome 105网络浏览器,同时作为Chrome基础的免费Chromium项目也发布了稳定版本。 Chrome 浏览器与 Chromium 的不同之处在于使用 Google 徽标、存在崩溃时发送通知的系统、播放受版权保护的视频内容 (DRM) 的模块、自动安装更新的系统、永久启用沙盒隔离,向 Google API 提供密钥并在搜索时传输 RLZ- 参数。 对于那些需要更多时间更新的人,单独支持 Extended Stable 分支,随后是 8 周。 Chrome 106 的下一个版本计划于 27 月 XNUMX 日发布。

Chrome 105 的主要变化:

  • 对专用 Web 应用程序 Chrome Apps 的支持已停止,取而代之的是基于渐进式 Web 应用程序 (PWA) 技术和标准 Web API 的独立 Web 应用程序。 谷歌最初于 2016 年宣布打算放弃 Chrome Apps,并计划在 2018 年之前停止支持它们,但后来推迟了这一计划。 在 Chrome 105 中,当您尝试安装 Chrome 应用程序时,您将收到一条警告,指出它们将不再受支持,但应用程序将继续运行。 在 Chrome 109 中,运行 Chrome 应用程序的功能将被禁用。
  • 为负责渲染的渲染器进程提供额外的隔离。 此过程现在在另一个容器(应用程序容器)中执行,该容器在现有沙箱隔离系统之上实现。 如果渲染代码中的漏洞被利用,则添加的限制将通过阻止访问与网络功能相关的系统调用来阻止攻击者访问网络。
  • 实现了自己的认证机构根证书的统一存储(Chrome Root Store)。 默认情况下,新存储尚未启用,在实施完成之前,将继续使用特定于每个操作系统的存储来验证证书。 正在测试的解决方案让人想起 Mozilla 的方法,该方法为 Firefox 维护一个单独的独立根证书存储,用作通过 HTTPS 打开站点时检查证书信任链的第一个链接。
  • 弃用 Web SQL API 的准备工作已经开始,该 API 是非标准化的,大部分未使用,需要重新设计以满足现代安全要求。 Chrome 105 阻止从不使用 HTTPS 加载的代码访问 Web SQL,并且还在 DevTools 中添加了弃用警告。 Web SQL API 计划于 2023 年删除。 对于需要此类功能的开发人员,将准备基于 WebAssembly 的替代品。
  • Chrome 同步不再支持与 Chrome 73 及更早版本同步。
  • 对于macOS和Windows平台,激活内置证书查看器,代替调用操作系统提供的接口。 此前,内置查看器仅用于 Linux 和 ChromeOS 的构建中。
  • Android 版本添加了管理主题和兴趣组 API 的设置,该 API 作为 Privacy Sandbox 计划的一部分进行推广,允许您定义用户兴趣类别并使用它们而不是跟踪 Cookie 来识别具有相似兴趣的用户组,而无需识别个人用户。 在上一个版本中,Linux、ChromeOS、macOS 和 Windows 版本中添加了类似的设置。
  • 当您启用增强型浏览器保护(安全浏览 > 增强型保护)时,系统会收集有关已安装的加载项、API 访问以及外部站点连接的遥测数据。 这些数据在 Google 服务器上用于检测浏览器插件的恶意活动和违反规则的行为。
  • 已弃用,并将阻止在 Chrome 106 的 Cookie 标头中指定的域中使用非 ASCII 字符(对于 IDN 域,域必须采用 punycode 格式)。 此更改将使浏览器符合 RFC 6265bis 以及 Firefox 中实现的行为。
  • 提出了自定义突出显示 API,旨在任意更改文本选定区域的样式,让您不受浏览器为突出显示区域(::selection、::inactive-selection)和突出显示提供的固定样式的限制语法错误(::拼写错误、::语法错误)。 API 的第一个版本支持使用颜色和背景颜色伪元素更改文本和背景颜色,但将来将添加其他样式选项。

    作为使用新 API 可以解决的任务的一个例子,提到了添加到提供文本编辑工具的 Web 框架、它们自己的文本选择机制、多个用户同时联合编辑的不同突出显示、虚拟化文档中的搜索,并在检查拼写时标记错误。 如果以前创建非标准突出显示需要使用 DOM 树进行复杂的操作,那么自定义突出显示 API 提供了现成的操作来添加和删除突出显示,这些操作不会影响 DOM 结构并应用与 Range 对象相关的样式。

  • 在 CSS 中添加了“@container”查询,允许根据父元素的大小设置元素的样式。 “@container”与“@media”查询类似,但不应用于整个可见区域的大小,而是应用于放置元素的块(容器)的大小,这允许您设置自己的子元素的样式选择逻辑,无论元素放置在页面上的确切位置。
    Chrome 105 发布
  • 添加了 CSS 伪类“:has()”来检查父元素中是否存在子元素。 例如,“p:has(span)”跨越元素,其中有一个元素。
  • 添加了 HTML Sanitizer API,该 API 允许您通过 setHTML() 方法在输出期间从内容中删除影响显示和执行的元素。 该 API 可用于清理外部数据,以删除可用于执行 XSS 攻击的 HTML 标签。
  • 可以使用 Streams API (ReadableStream) 在加载响应正文之前发送获取请求,即您可以开始发送数据,而无需等待页面生成完成。
  • 对于已安装的独立 Web 应用程序(PWA、渐进式 Web 应用程序),可以使用 Window Controls Overlay 组件更改窗口标题区域的设计,该组件将 Web 应用程序的屏幕区域扩展到整个窗口,并且使 Web 应用程序具有常规桌面应用程序的外观。 Web 应用程序可以控制整个窗口中输入的渲染和处理,但带有标准窗口控制按钮(关闭、最小化、最大化)的覆盖块除外。
    Chrome 105 发布
  • 从专用工作线程(在 DedicatedWorker 上下文中)访问媒体源扩展的能力已经稳定,例如,可以通过在单独的工作线程中创建 MediaSource 对象并广播媒体源对象来提高多媒体数据缓冲播放的性能。其工作结果传递给主线程中的 HTMLMediaElement 。
  • 在 Client Hints API 中,该 API 正在开发中,用于替换 User-Agent 标头,并允许您仅在服务器发出请求后有选择地提供有关特定浏览器和系统参数(版本、平台等)的数据,支持 Sec添加了-CH-Viewport-Heigh属性,允许您获取有关可见区域高度的信息。 “meta”标签中用于设置外部资源的客户端提示参数的标记格式已更改: 以前: 变成:
  • 添加了创建全局 onbeforeinput 事件处理程序 (document.documentElement.onbeforeinput) 的功能,Web 应用程序可以使用该处理程序覆盖编辑块中文本时的行为, 以及其他设置了“contenteditable”属性的元素,然后浏览器更改元素的内容和 DOM 树。
  • 导航 API 的功能已得到扩展,允许 Web 应用程序拦截窗口中的导航操作、启动转换并分析应用程序的操作历史记录。 添加了新方法 Intercept() 来拦截转换,并添加了 Scroll() 来滚动到给定位置。
  • 新增静态方法Response.json(),可根据JSON类型的数据生成响应体。
  • Web 开发人员的工具已得到改进。 在调试器中,当触发断点时,允许编辑堆栈中的顶部函数,而不会中断调试会话。 记录器面板允许您记录、回放和分析页面上的用户操作,支持断点、逐步回放和记录鼠标悬停事件。

    LCP(最大内容绘制)指标已添加到性能仪表板中,以识别在可见区域中渲染大型(用户可见)元素(例如图像、视频和块元素)时的延迟。 在“元素”面板中,显示在其他内容之上的顶层会用特殊图标进行标记。 WebAssembly 现在能够加载 DWARF 格式的调试数据。

除了创新和错误修复之外,新版本还消除了 24 个漏洞。 许多漏洞是通过使用 AddressSanitizer、MemorySanitizer、控制流完整性、LibFuzzer 和 AFL 工具进行自动化测试而发现的。 目前还没有发现任何严重问题可以让人们绕过所有级别的浏览器保护并在沙箱环境之外的系统上执行代码。 作为为当前版本的漏洞提供现金奖励计划的一部分,Google 支付了 21 个价值 60500 美元的奖项(10000 个 9000 美元奖励,7500 个 7000 美元奖励,5000 个 3000 美元奖励,2000 个 1000 美元奖励,XNUMX 个 XNUMX 美元奖励,XNUMX 个 XNUMX 美元奖励,XNUMX 个 XNUMX 美元奖励。 ). XNUMX 美元和一笔 XNUMX 美元的奖金)。 七项奖励的数额尚未确定。

来源: opennet.ru

添加评论