Mozilla正式發(fā)布Firefox 50。最新的版本中提升了來自多個內(nèi)容進程用戶的用戶體驗,并修復了十幾個高影響的安全漏洞。
在Firefox最新版本的變更中,我們注意到了它對于Electrolysis的進一步改進。Electrolysis是Mozilla實現(xiàn)在后臺進程中呈現(xiàn)和執(zhí)行web相關(guān)內(nèi)容的功能,旨在提升瀏覽器的響應速度和穩(wěn)定性。
Firefox最新版本還改進了SDK擴展的性能,使用SDK模塊加載器的擴展的性能,以及對多平臺無插件視頻的支持,這其中包括WebM EME Support for Widevine。
Firefox的產(chǎn)品副總裁Nick Nguyen告訴InfoQ,雖然Firefox 50“并沒有為JavaScript引擎做出重大改變”,但還是提供了好幾個重要功能。
值得JavaScript開發(fā)者關(guān)注的更新包括sourcemap連接、對XHR的堆棧跟蹤以及Web Console中的fetch()請求。
根據(jù)MDN發(fā)表的文章,如果開發(fā)人員的JavaScript源代碼被壓縮,就會提供source map。任何源代碼中產(chǎn)生的消息和錯誤都將顯示在Web Console中,并連接回到原始來源。
Firefox 50為JavaScript開發(fā)者實現(xiàn)了ES2015 Symbol.hasInstance屬性,用來“確定構(gòu)造函數(shù)對象是否將對象識別為構(gòu)造函數(shù)的實例之一”。
除此之外,Object.getOwnPropertyDescriptors()方法可以“為一個給定對象的自有屬性(即直接出現(xiàn)在對象上,而不是出現(xiàn)在對象的原型鏈中)返回一個屬性描述符”。
在Mozilla Foundation Security Advisory 2016-89中指出,十二個具有高影響的安全漏洞,以及一個關(guān)鍵的漏洞CVE-2016-5296在Firefox 50中修復。這個關(guān)鍵漏洞是由于“編譯器優(yōu)化處理SVG內(nèi)容而導致Cairo中的堆緩沖區(qū)溢出,從而引起的潛在的崩潰”。
根據(jù)RedHat安全問題解決更新所示,“在處理異常的web內(nèi)容的時候發(fā)現(xiàn)了多個缺陷。包含惡意內(nèi)容的網(wǎng)頁可能會導致Firefox的崩潰,或潛在地以運行Firefox的用戶的權(quán)限執(zhí)行任意代碼”。
修復的一個高影響漏洞CVE-2016-9064中的擴展更新無法驗證是否包內(nèi)的擴展ID與正在更新的擴展ID相匹配,因此用戶在連接時會受到“中間人攻擊”。CVE-2016-9075高影響漏洞修復了惡意web擴展通過mozAddonManager API未經(jīng)允許安裝其他擴展的問題。
Nguyen告訴InfoQ,所有漏洞“都在內(nèi)部發(fā)現(xiàn)或是有選擇的披露”,“并沒有已知的漏洞利用”。
發(fā)布說明中提供了Firefox 50變更的完整列表。
Mozilla非常歡迎人們加入Firefox項目,InfoQ的讀者可以通過多種方式加入到Firefox中來。Mozilla Developer Network上提供了完整的說明,指導開發(fā)者的操作指南。
查看英文原文:Firefox 50 Extends Benefits of Electrolysis