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