剛剛,谷歌正式釋出了 Chrome 94 穩定版。作為 3 周前 Chrome 93 版釋出後的再次更新, Chrome 94 穩定版盡管更新幅度較小,但也有不少小驚喜和亮點。

全新 Chrome 94 穩定版 更新了其畫布顔色形式化管理,實作了螢幕捕獲規範中的顯示捕獲功能政策。同時,新版本添加了圍繞音頻/視訊編碼和解碼以及原始視訊幀處理等的低級編解碼器 API、虛拟鍵盤 API 、本地排程 API 以及用于确定使用者是否與系統互動的空閑檢測 API。
據悉,Webcodes API 這一功能最初是在 Chrome 93 中作為一個源代碼試用引入的。此次 Chrome 94 穩定版引入 Webcodes API ,總體來說也是令人興奮的,因為它已經通過了先前的 origin 試用版。WebCodecs 是圍繞音頻/視訊編碼和解碼以及原始視訊幀處理等的低級編解碼器 API。WebCodecs API 處理旨在比 JavaScript 或 WebAssembly 編解碼器實作更高效。
早在上個月,谷歌釋出的 Chrome 93 穩定版中,就為桌面端添加了對 WebOTP 的支援,但廢除了傳輸層安全(TLS)中的 3DES 密碼套件。而 8 月 30 日,谷歌宣布了 Chrome v94 的測試版,并強調其中将包括一個新的 Webcodecs API,該 API 旨在處理廣泛級别的低級别視訊處理。
Chromium 在此前的部落格中對這一新 API 的重要性進行了概括,原文指出:
“A low-level codec API would better support emerging applications, such as latency-sensitive game streaming, client-side effects or transcoding, and polyfillable media Container support, without the increased network and CPU cost of JavaScript or WebAssembly codec implementations.”
“低級别編解碼器 API 将更好地支援新興應用程式,如對延遲敏感的遊戲流、用戶端效果或轉碼,以及多填充媒體容器支援,而不會增加 JavaScript 或 WebAssembly 編解碼器實作的網絡和 CPU 成本。”
同時,本次 Chrome 94 中,包含了新的開發者界面——虛拟鍵盤 API。該 API 可以讓網頁開發者在如何放置虛拟鍵盤及其形狀方面有更多控制權,目前該 API 是完全由使用者代理行為處理的。
谷歌在全新的 Chrome 94 版本中删除了 AppCache,表示這是一個廢棄的标準,并建議開發者使用 Service Workers 來代替。目前 Mozilla 和蘋果也正在将其從各自的浏覽器中删除。
Chrome 94 還将支援一個本地排程 API,該 API 允許開發者以使用者阻擋、使用者可見和背景這三個級别的優先級來排程任務。同時,本地排程 API 還啟用了一個任務控制器(TaskController),以動态地改變任務的優先級或完全取消優先級。
另外,Chrome 94 還有一些讓人興奮的小亮點,比如獲得了一個新的顯示捕捉功能政策,支援 2D 畫布中的更多色彩空間。同時,Chrome 94 還更新了 WebGPU ,作為 WebGL 的下一代 web 圖形 API 替代品,WebGPU 是為當今網絡中的現代圖形需求而設計的,它可以允許根據平台映射到 Vulkan、Direct3D 或 Metal。
預設啟用“空閑檢測 API” 引争議
此次 Chrome 94 穩定版的到來,除了上述令人興奮的亮點之外,其中提供的“為開發者提供更多信号以了解使用者何時處于閑置狀态”的“空閑檢測 API ”,成為該版本頗具争議的地方。
據悉,在 Chrome 94 穩定版中,更新後的“空閑檢測 API ”為開發者提供了更多信号,以了解使用者何時處于閑置狀态。該面向開發者的通知現在不僅僅對目前的浏覽器視窗進行監測,還将對(如與其他應用程式的互動)全局信号進行觸發。
相比網絡開發者更加積極的反應,但業内對該 空閑檢測 API 表示擔憂。Mozilla 認為其是一種“資本主義的視監”,他們擔心一些惡意網站會通過該 API 搞“破壞”,比如在使用者不同意或不知道的情況下,最大限度地利用裝置的計算資源。
對此,WebKit(蘋果 Safari 浏覽器引擎)背後開發團隊也對 該 API 表示反對。該團隊表示:
“沒有充足的理由來使用這個 API。首先,不能保證使用者不會立即回到裝置上。另外,這樣的服務應該由誰來知道使用者在任何時候可能使用的其他裝置?我們肯定不會讓一個網站知道一個特定的使用者在任何時候可能使用的所有裝置。這是對上述使用者的隐私的非常嚴重的侵犯。在我看來,這樣的壓制/分發機制最好留給底層作業系統/網絡浏覽器來處理。
在這一點上,我将停止對這個主題的回應,因為這裡或其他地方提出的用例沒有一個是令人信服的,而且你在這裡提出的和我在其他地方發現的隐私或安全緩解措施沒有一個是充分的。然而,不回應這個主題或未來關于這個主題的主題并不意味着我們會重新考慮我們的立場。除非在我們提出的任何一個問題上有重大的新進展,否則我們的立場仍将是反對增加這個API,除非另有說明,無論我們是否繼續在公開場合這麼說。”
盡管有反對的聲音,但目前這個空閑檢測 API 将在 Chrome 94 中預設啟用,以提供給開發者使用。