首页 > 要闻 > > 正文
2019-11-07 15:47:39

Chrome 76默认情况下阻止Flash 检测到隐身模式已禁用以及PWA改进

导读 谷歌今天推出适用于Windows,Mac,Linux,Android和iOS的Chrome 76。该版本包括默认情况下阻止的Adobe Flash,禁用的隐身模式检测,多个P

谷歌今天推出适用于Windows,Mac,Linux,Android和iOS的Chrome 76。该版本包括默认情况下阻止的Adobe Flash,禁用的隐身模式检测,多个PWA改进以及更多开发人员功能。您现在可以使用Chrome的内置更新程序更新到最新版本,也可以直接从google.com/chrome下载。

Chrome拥有超过10亿用户,是浏览器和Web开发人员必须考虑的主要平台。实际上,随着Chrome的定期添加和更改,开发人员通常必须始终掌握所有可用内容 - 以及已弃用或删除的内容。例如,Chrome 76会删除延迟加载功能策略。

Adobe Flash和隐身模式检测被阻止

谷歌多年来一直采取措施杀死Flash。2015年,Chrome开始自动暂停不太重要的Flash内容。2016年,Chrome阻止“幕后”Flash内容并默认使用HTML5。

然而,在2017年7月,Adobe表示它将在2020年之前杀死Flash。使用Chrome 76时,默认情况下会阻止Flash。用户仍然可以在设置中打开它,但明年,Flash将完全从Chrome中删除。

另外,如果您使用的是隐身模式,Chrome 76也会禁用网站可以检测到的一种方式。一些网站使用它来阻止用户绕过付费墙。Chrome 76以不同方式实现FileSystem API,因此脚本不再将其用作指示符。

渐进式Web应用程序

Chrome 76通过多功能框中的安装按钮,可以更轻松地在桌面上安装Progressive Web Apps(PWA)。如果站点符合PWA可安装性标准,用户只需单击该按钮,而不是隐藏在三点式菜单中的安装流程。

用户首次访问符合上述条件的网站时,Chrome也会显示迷你信息栏。想要阻止mini-infobar出现并提供自己的安装促销的开发人员现在可以通过监听beforeinstallprompt事件和呼叫来实现preventDefault()。然后,您可以通过添加安装按钮或其他元素来更新UI以通知用户。

在Android上安装PWA后,Chrome会自动请求并安装WebAPK。通过APK安装后,您的应用可以在Android的应用设置中显示在应用启动器中,并注册一组意图过滤器。到目前为止,Chrome会每三天检查一下清单是否已更改,以及是否需要新的WebAPK。从Chrome 76开始,Chrome会每天检查清单。如果任何关键属性发生更改,Chrome将请求并安装新的WebAPK。

Android和iOS

适用于Android的Chrome 76在Google Play上推出速度很快,但更新日志尚未完成。上述PWA变更可能是主要亮点。

适用于iOS的Chrome 76也在Apple的App Store上慢慢推出。它包括五项改进:

Find In Page现在适用于iFrame,包括AMP(加速移动页面)。

当您注册新网站时,您会看到键盘上有一个强大且唯一的密码的建议。

您可以在一个位置控制所有同步和Google服务设置,并查看每个功能使用的数据。

您的历史记录现在可以更加可靠地同步和删除。

有些用户会看到Chrome提供的用于保存密码的新设计。

第一个变化可能是最有用的变化。

安全修复程序

Chrome 76实现了43种安全修复程序。以下是外部研究人员发现的:

[$ 10000] [977462]高CVE-2019-5850:离线页面提取器中的免费使用。Brendon Tiszka于2019-06-21报道

[$ 6000] [956947]高CVE-2019-5860:PDFium中的免费使用。匿名者于2019-04-26报道

[$ 3000] [976627]高CVE-2019-5853:正则表达式长度检查中的内存损坏。2019-06-19由腾讯玄武实验室的IIE Varas和樱花(@ eternalsakura13)的yngwei(@yngweijw)报道

[$ 3000] [977107]高CVE-2019-5851:在离线音频环境中使用毒药。来自奇虎360科技有限公司成都安全响应中心的哲金(刘路遥)于2019-06-20报道

[$ TBD] [959438]高CVE-2019-5859:res:URI可以加载其他浏览器。由James Kryptos Logic的James Lee(@Windowsrcer)于2019-05-03报道

[$ 5000] [964245]中CVE-2019-5856:对文件系统的检查不足:URI权限。由腾讯玄武实验室的Yongke Wang(xlab.tencent.com)于2019-05-17报道

[$ N / A] [943494] Medium CVE-2019-5863:在Windows上的WebUSB中使用后免费。由腾讯安防平台部的Yuxiang Li(@ Xbalien29)于2019-03-19报道

[$ N / A] [964872] Medium CVE-2019-5855:PDFium中的整数溢出。绿盟科技安保队郑振2019-05-20报道

[$ TBD] [973103] Medium CVE-2019-5865:从受损渲染器绕过站点隔离。由Project Project Zero的Ivan Fratric于2019-06-11报道

[$ 500] [960209]低CVE-2019-5858:对Open URL服务参数的过滤不足。由Bilibili Security Team的evi1m0于2019-05-07报道

[$ 500] [936900]低CVE-2019-5864:CORS中的扩展端口过滤不足。由Devin Grindle在2019-02-28报道

[$ TBD] [946260]低CVE-2019-5862:AppCache对受损的渲染器不稳健。Jun Kokatsu报道,微软浏览器漏洞研究2019-03-26

[$ TBD] [951525]低CVE-2019-5861:未正确选中点击位置。Robin Linus(robinlinus.com)于2019-04-10报道

[$ N / A] [961237]低CVE-2019-5857:-0和null的比较产生崩溃。报告由cloudfuzzer于2019-05-09报道

[$ N / A] [966263]低CVE-2019-5854:PDFium文本渲染中的整数溢出。由NSFOCUS安全小组的周振于2019-05-23报道

[$ TBD] [976713]低CVE-2019-5852:实用功能的对象泄漏。David Erceg于2019-06-19报道

[988889]内部审计,模糊测试和其他举措的各种修复

因此,谷歌为这个版本花费了至少28,000美元的bug奖励。与往常一样,单独的安全修复程序应该足以让您升级。

开发者功能

Chrome 73为Mac用户引入了黑暗模式,而Chrome 74则为Windows用户提供了相同的功能。Chrome 76包含一个首选颜色方案媒体查询,允许网站或网络应用程序采用操作系统中用户首选的显示模式。

Chrome团队继续改进付款API,Chrome 76带来了三项变化。商家网站或网络应用现在可以在用户更改付款工具时进行响应。该PaymentRequestEvent有一个所谓的新方法changePaymentMethod()和PaymentRequest对象现在支持所谓的事件处理程序paymentmethodchange。当用户更改支付工具时,两者都可以通知商家 - 前者返回使用新PaymentRequest实例解决的承诺。Chrome现在还可以通过—ignore-certificate-errors标志更轻松地将支付API用于本地开发环境中的自签名证书。

Chrome 76还会更新V8 JavaScript引擎。7.6版包括JSON.parse改进,冻结/密封数组改进,unicode字符串处理,新的JavaScript语言功能和本机堆栈遍历。查看完整的更新日志以获取更多信息。

此版本中的其他开发人员功能包括:

Animation.updatePlaybackRate:AddsAnimation.updatePlaybackRate(),可让您无缝转换动画的播放速率,使动画中没有可见的跳跃。在新播放速率生效的实例中保留当前时间。

异步剪贴板:读取和写入图像:实现Async Clipboard API的图像编程复制和粘贴。此更改还会更新navigator.clipboard.read()并navigator.clipboard.write()符合规范。程序化复制和粘贴图像是Chromium的顶级主演错误。

转义键不再被视为用户激活。除非用户通过直接交互激活页面,否则浏览器会阻止调用可滥用的API(如弹出窗口,全屏,振动等)。并非所有交互都会触发用户激活

引入一个新的HTTP请求标头,该标头向服务器发送有关请求的起源(是跨站点,是否触发等)的其他元数据,以允许它做出安全决策,这可能会减少某些类型的攻击服务器的响应(XSS泄漏和其他)。

添加form.requestSubmit()请求表单提交的功能。它包括交互式约束验证,调度submit事件以及引用提交者按钮。

Image Capture API提供了一种将focusMode设置为手动的方法,如果无法设置焦距,则无效。此更改提供了获取焦点范围值和设置焦距值的界面。

将pending属性添加到Web Animations API。挂起动画是等待影响播放状态的异步操作的动画。添加对此属性的支持不会影响动画的渲染或计时,而只是公开信号。

向对象添加一个commit()函数IDBTransaction,该函数将事务显式标记为不接受进一步的请求。目前,IndexedDB仅在所有关联请求执行完成事件处理程序后才提交事务,并且事件处理程序没有新请求排队。开发人员可以使用显式commit()函数从事务延迟中减少一些事件循环周期。

显式提交的主要好处是它增加了在对象存储上进行的读写请求的吞吐量。就可以处理的操作速率而言,这是一个明显的性能优势。此外,速度的提高是有利的,因为它通过降低在事务的生命周期内发生破坏性事件的可能性来增加IndexedDB的稳定性。

功能的添加dateStyle和timeStyle选项Intl.DateTimeFormat,特别是formatToParts()和resolveOptions()。这些选项提供了一种紧凑的方式来请求给定长度样式的适当的特定于语言环境的日期和时间。

更改BigInt.prototype.toLocaleString()到语言环境敏感的数字格式和变化Intl.NumberFormat.prototype.format(),并formatToParts()接受BigInt作为输入。

在所有类型的工作人员中启用Media Capabilities API,以帮助网站和Web应用程序选择从工作人员流式传输的最佳媒体。然后可以使用该信息来创建MediaStream工作者。

添加Promise.allSettled(),它返回一个承诺,该承诺通过一系列承诺状态快照来实现,但只有在所有原始承诺都已解决之后,换句话说,在它已经解决或拒绝之后。

增加了三种新的方法来Blob接口进行读操作:text(),arrayBuffer(),和stream()。

公开有关SCTP传输信息被用于携带的WebRTC数据信道,如max-message-size和max信道。

允许更改与a关联的轨道RTCRtpSender与流之间的关联。流关联使同一流中的轨道同步。例如,如果在呼叫期间用户从前置摄像头切换到后置摄像头并且应用程序使用,则这很有用RTCRtpSender.replaceTrack()。在接收端,新轨道必须与现有流相关联并与其自动轨道同步。

添加该setCodecPreferences()方法,该方法将覆盖用户代理使用的默认编解码器首选项。这允许应用程序禁用特定编解码器的协商。它还允许应用程序使远程对等方更喜欢列表中首先出现的编解码器。

该white-space:break-spaces值允许作者指定任何保留的空白序列,否则将溢出一行并挂起(根据CSS文本模块规范的修剪和定位规则)必须被破坏。

有关新功能的详细信息,请查看Chrome 76里程碑热门列表。

谷歌每六周左右发布一个新版本的浏览器。Chrome 77将于9月初到货。