Chrome 80 发布

谷歌 提交 网络浏览器版本 铬80的... 同时 是可用的 免费项目的稳定发布 ,这是Chrome的基础。 Chrome浏览器 不同 使用 Google 徽标、在崩溃时发送通知的系统、根据请求下载 Flash 模块的能力、播放受保护视频内容 (DRM) 的模块、在搜索期间自动安装更新和传输的系统 RLZ参数。 Chrome 81 的下一个版本计划于 17 月 XNUMX 日发布。

变化 в 80:

  • 对于一小部分用户,提供了选项卡分组功能,该功能允许您将具有相似用途的多个选项卡组合成视觉上分开的组。 每个组都可以指定自己的颜色和名称。 未参与第一波激活的用户可以通过“chrome://flags/#tab-groups”选项启用分组支持。

    Chrome 80 发布

  • 添加了对此功能的支持 滚动到文本,它允许您创建指向单个单词或短语的链接,而无需使用“a name”标签或“id”属性在文档中显式指定标签。 此类链接的语法计划被批准为网络标准,但仍处于阶段 草稿。 转换掩码(本质上是滚动搜索)通过“:~:”属性与常规锚点分开。 例如,当您打开链接“https://opennet.ru/52312/#:~:text=Chrome”时,页面将移动到第一次提到“Chrome”一词的位置,并且该词将突出显示。
  • 应用 对站点间 Cookie 的传输进行更严格的限制,对于非 HTTPS 请求,禁止处理当前页面域以外的站点时设置的第三方 Cookie。 此类 Cookie 用于在广告网络、社交网络小部件和网络分析系统的代码中跟踪站点之间的用户移动。 回想一下,为了控制 Cookie 的传输,使用了 Set-Cookie 标头中指定的 SameSite 属性,该属性现在默认设置为值“SameSite=Lax”,这限制了跨站点子请求的 Cookie 发送,例如图像请求或通过 iframe 从另一个站点加载内容。 站点可以通过将 Cookie 设置显式设置为 SameSite=None 来覆盖默认 SameSite 行为。 但是,Cookie 的值 SameSite=None 只能在安全模式下设置(对通过 HTTPS 的连接有效)。 变革将分阶段开始 应用 17月XNUMX日,最初针对一小部分用户,然后逐渐扩大覆盖范围。
  • 添加者 防止与凭证确认相关的烦人通知。 由于垃圾邮件推送通知请求等活动会中断用户体验并分散对确认对话框的注意力,因此在 Chrome 80 中,现在可以在地址栏中显示信息工具提示,而不是单独的对话框,警告权限请求已被阻止,然后它会折叠成一个带有划叉钟形图像的指示器。 通过单击该指示器,您可以在任何方便的时间激活或拒绝所请求的权限。 自动地,将有选择地为以前通常阻止此类请求的用户以及记录大量被拒绝请求的网站选择性地启用新模式。 为了对所有请求启用新模式,设置中添加了一个特殊选项 (chrome://flags/#quiet-notification-prompts)。

    Chrome 80 发布

  • 禁止 显示弹出窗口(调用 window.open() 方法)并在页面关闭或隐藏事件处理程序(unload、beforeunload、pagehide 和visibilitychange)中发送同步 XMLHttpRequest;
  • 建议初始 安全 加载混合多媒体内容(当通过 http:// 协议在 HTTPS 页面上加载资源时)。 在通过 HTTPS 打开的页面上,与播放音频和视频文件相关的块中的“http://”链接现在将自动替换为“https://”。 如果音频或视频资源无法通过 https 获得,则其下载将被阻止(您可以通过地址栏中的挂锁符号访问的菜单手动标记阻止)。

    图像将继续加载不变(自动更正将在 Chrome 81 中应用),但为了将其替换为 https 或块图像,网站开发人员可以使用 CSP 属性升级不安全请求和阻止所有混合内容。 对于脚本和 iframe,之前已经实现了混合内容阻止。

  • 一个渐进的 断开 FTP 支持。 默认情况下,FTP 支持仍然可用,但会 执行 一项实验,其中将对一定比例的用户禁用 FTP 支持(要返回,您需要使用“-enable-ftp”选项启动浏览器)。 让我们回想一下,在以前的版本中,通过“ftp://”协议下载的资源内容在浏览器窗口中的显示已经被禁用(例如,停止显示 HTML 文档和 README 文件),FTP 的使用被禁用。从文档下载子资源时被禁止,并且停止对 FTP 的代理支持。 但是,仍然可以通过直接链接下载文件并显示目录内容。
  • 添加者
    使用矢量 SVG 图像作为站点图标 (favicon) 的能力。

  • 设置中添加了选择性禁用浏览器之间同步期间传输的某些类型数据的功能。
  • 已为集中管理的企业用户添加了一条规则 块外部扩展,它允许您阻止在设备上安装外部加载项。
  • 实施的 机会 对整个属性链或 JavaScript 调用的一次性检查。 例如,访问“db.user.name.length”时,之前需要一步步检查所有组件的定义,例如通过“if (db && db.user && db.user.name)”。 现在使用操作“?”。 您无需进行初步检查即可访问值“db?.user?.name?.length”,并且此类访问不会导致错误。 如果出现问题(如果某些元素被处理为空或未定义)),输出将为“未定义”。
  • JavaScript 引入了新的逻辑连接运算符“??",如果左操作数为 NULL 或未定义,则返回右操作数,反之亦然。 例如,“const foo = bar ?? '默认字符串'”如果 bar 为 null,则返回 bar 的值,否则,包括当 bar 为 0 和“ ”时,与“||”运算符相反。
  • 在 Origin Trials 模式下(需要单独的实验功能 激活)建议的内容索引 API。 Origin Trial 意味着能够使用从 localhost 或 127.0.0.1 下载的应用程序中的指定 API,或者在注册并接收在特定站点的有限时间内有效的特殊令牌之后。 应用程序编程接口 内容索引,提供有关以前在渐进式 Web 应用程序 (PWS) 模式下运行的 Web 应用程序缓存的内容的元数据。 该应用程序可以在浏览器端保存各种数据,包括图像、视频和文章,并且当网络连接丢失时,通过Cache Storage 和 IndexedDB API 来使用它。 内容索引 API 可以添加、查找和删除此类资源。 在浏览器中,该 API 已用于列出可供离线查看的页面和多媒体数据的列表。

    Chrome 80 发布

  • 已稳定并已在 Origin Trials API 之外分发 联系选择器,允许用户从地址簿中选择条目并将有关它们的某些详细信息传输到站点。 该请求指定需要检索的属性列表。 这些属性显式地显示给用户,由用户决定是否传递这些属性。 例如,该 API 可用于在 Web 邮件客户端中选择发送信件的收件人,在具有 VoIP 功能的 Web 应用程序中用于发起对特定号码的呼叫,或者在社交网络中搜索已注册的朋友。 同时,作为 Origin 试用的一部分,提供了一些新的联系人选择器属性:除了以前可用的全名、电子邮件和电话号码之外,还添加了传输电子邮件地址和图像的功能。
  • 在网络工作者中 建议的 一种加载 ECMAScript 模块的新方法,允许您避免使用 importScripts() 函数,该函数会在处理导入的脚本并在全局上下文中执行它时阻止工作线程。 新方法涉及为 Web Workers 创建特殊模块,这些模块支持标准 JavaScript 导入机制,并且可以动态加载而不会阻止 Worker 执行。 为了加载模块,Worker 构造函数提供了一个新的资源类型 - 'module':

    const Worker = new Worker('worker.js', {
    类型:'模块'
    });

  • 实施的 JavaScript 具有处理压缩流的内置功能,无需使用外部库。 添加了用于压缩和解压缩的 API 压缩流和解压缩流。 支持使用 gzip 和 deflate 算法进行压缩。

    常量压缩可读流
    = inputReadableStream.pipeThrough(new CompressionStream('gzip'));

  • 添加了 CSS 属性“换行符:任何地方",它允许在任何印刷字符级别进行中断,包括由空格预定义的标点字符附近的中断( )并在单词中间。 还添加了 CSS 属性“溢出换行:任何地方» 如果在行中找不到合适的中断位置,则允许您在任意位置中断完整的字符序列。
  • 对于以加密形式处理的媒体上下文,已实现对该方法的支持 MediaCapability.decodingInfo(),它提供有关浏览器解码受保护内容的能力的信息(例如,该方法可用于根据可用带宽和屏幕尺寸选择高质量或节能的解码方案)。
  • 添加方法 HTMLVideoElement.getVideoPlaybackQuality(),通过它您可以获得视频播放性能的信息,以调整码率、分辨率等视频参数。
  • 在API中 支付处理程序,简化了与现有支付系统的集成,增加了以下功能 代表团 将地址和联系信息处理到支付系统的外部处理器(支付系统应用程序可能具有比浏览器更准确的信息)。
  • 添加了 HTTP 标头支持 秒取目标,它允许您发送有关与请求关联的内容类型的附加元数据(例如,对于通过 img 标签的请求,类型为“image”,对于字体 - “font”,对于脚本 - “script”,对于样式 - “样式”等)。 根据指定的类型,服务器可以采取措施来防止某些类型的攻击(例如,不太可能通过 img 标签指定指向汇款处理程序的链接,因此此类请求不需要进行处理)。
  • 在 JavaScript 引擎 V8 中 进行了优化 在堆上存储指针。 不存储完整的 64 位值,而是仅存储指针的唯一低位。 这种优化可以将堆内存消耗减少 40%,但代价是性能下降 3-8%。
    Chrome 80 发布

    Chrome 80 发布

  • 变化 在 Web 开发人员的工具中:
    • Web 控制台现在能够重新定义 let 和 class 表达式。

      Chrome 80 发布

    • 改进了 WebAssembly 调试工具。 增加了支持 用于逐步调试、指定断点以及分析编写 WebAssembly 应用程序的源代码中的堆栈跟踪。

      Chrome 80 发布

    • 改进的用于分析网络活动的面板。 添加了查看与请求启动相关的脚本调用链的功能。

      Chrome 80 发布

      添加了新的路径和 URL 列,显示每个网络资源的绝对路径和完整 URL。 确保所选查询在概览图中突出显示。

      Chrome 80 发布

    • 在“网络条件”选项卡中,添加了一个选项来更改“用户代理”参数。

      Chrome 80 发布

    • 已提出用于配置审计面板的新界面。
      Chrome 80 发布

    • 在标签中 报道 提供了为每个函数或每个代码块收集覆盖率数据的选择(更详细的统计数据,但需要更多资源)。

      Chrome 80 发布

  • AppCache 清单操作(用于在离线模式下组织 Web 应用程序操作的技术) 有限 站点的当前目录(如果清单是从 www.example.com/foo/bar/ 下载的,则覆盖 URL 的功能仅在 /foo/bar/ 内有效)。 计划在 Chrome 82 中完全删除 AppCache 支持。 引用的原因是希望摆脱跨站点脚本攻击的载体之一。 建议使用API​​代替AppCache 缓存.
  • 停产 支持旧版WebVR 1.1 API,可替换为API WebXR 设备,它允许您访问用于创建虚拟和增强现实的组件,并统一与各种类型的设备(从固定虚拟现实头盔到基于移动设备的解决方案)的工作。
  • 通过 registerProtocolHandler() 和 unregisterProtocolHandler() 方法连接的协议处理程序现在只能在安全上下文中工作(当通过 HTTPS 访问时)。

除了创新和错误修复之外,新版本还消除了 56个漏洞。 许多漏洞是由自动化测试工具发现的 地址消毒剂, 内存消毒器, 控制流完整性, 库模糊器 и AFL。 目前还没有发现任何严重问题可以让人们绕过所有级别的浏览器保护并在沙箱环境之外的系统上执行代码。 作为为当前版本的漏洞提供现金奖励计划的一部分,Google 支付了 37 个价值 48 美元的奖励(10000 个 5000 美元奖励,3000 个 2000 美元奖励,1000 个 500 美元奖励,17 个 XNUMX 美元奖励,XNUMX 个 XNUMX 美元奖励和 XNUMX 个 XNUMX 美元奖励)。 XNUMX项奖励的规模尚未确定。

来源: opennet.ru

添加评论