Chrome 120 Beta 版

CSS 遮罩、CSS 巢狀結構放寬的規則;使用 <details> 元素 (Media Session API 的 enterpictureinpicture 動作) 建立摺疊模式。

除非另有註明,否則上述異動適用於 Android、ChromeOS、Linux、macOS 和 Windows 的最新 Chrome Beta 版。如要進一步瞭解這裡列出的功能,請參閱隨附的連結或 chromestatus.com 清單中的功能。Chrome 120 已於 2023 年 11 月 1 日推出 Beta 版。你可以透過電腦前往 Google.com 或使用 Android 裝置前往 Google Play 商店下載最新版本。

CSS

這個版本加入了七項 CSS 功能,

已註冊自訂屬性的 CSS <image> 語法

支援透過 @propertyregisterProperty() 註冊的自訂屬性使用 <image> 語法。<image> 語法可用於將自訂屬性值限制為 url() 值及生成的圖片 (例如漸層)。

已註冊自訂屬性的 CSS <transform-function><transform-list> 語法

支援透過 @propertyregisterProperty() 註冊的自訂屬性,使用 <transform-function><transform-list> 語法。

語法可用來限制自訂屬性的值,以便代表轉換。這樣也可以在這些已註冊的自訂屬性上直接使用轉場效果和動畫。

媒體查詢:指令碼編寫功能

透過指令碼媒體功能,查詢目前的文件是否支援 JavaScript 等指令碼語言。有效選項為「已啟用」、「初始僅限初始」和「無」。不過,與瀏覽器中的內容不符。

:dir() 虛擬類別選取器

:dir() CSS 虛擬類別選取器會根據 HTML dir 屬性決定方向,比對元素。

:dir(ltr) 會將文字方向設為從左到右。 :dir(rtl) 會將文字方向性與從右到左的項目進行比對。

這與 [dir] 屬性選取器不同,因為前者會與從祖系繼承,使用 dir 屬性的方向進行比對,而且也會比對從使用 dir=auto 計算出來的方向 (這個方向會決定文字中第一個字元的方向性)。

CSS 指數函式

新增 CSS 值和單位層級 4 規格中的 CSS 指數函式:pow()sqrt()hypot()log()exp()

CSS 遮蓋

您可以利用 CSS mask 和相關屬性 (例如 mask-imagemask-mode),將圖片遮蓋或裁剪在特定點,以隱藏部分或完整元素。

這項功能會移除 -webkit-mask* 屬性的前置字串,並讓屬性與目前的規格保持一致。包括 mask-imagemask-modemask-repeatmask-positionmask-clipmask-originmask-sizemask-composite,以及 mask 簡寫。系統支援本機 mask-image 參照,序列化現在符合規格,接受的值現在符合規格 (例如,mask-composite 的接受值為 add,而非 source-over)。

寬鬆的 CSS 巢狀結構

這項變更在 CSS 巢狀實作方式上,可讓巢狀樣式規則以元素 (例如 h1) 開頭,不會要求前方需要 & 符號或納入 is()。以下範例現已提供有效規格,適用於 Chrome 120 版。

.card {
  h1 {
    /* h1 does not start with a symbol */
  }
}

HTML

<details> 中使用名稱屬性的手風琴模式

這項功能可讓您使用一連串的 HTML <details> 元素,來建構指示。這會在 <details> 元素中加入名稱屬性。使用這項屬性時,多個名稱相同的 <details> 元素形成群組。群組中最多只可開啟一個元素。

網站 API

允許將 ArrayBuffer 傳輸至 VideoFrame、AudioData、EncodedVideoChunk、EncodedAudioChunk、ImageDecoder 建構函式

這樣即可卸離陣列緩衝區,並在 VideoFrame、ImageDecoder、EncodedVideoChunk、EncodedAudioChunk 和 AudioData 中使用,而不需要複製。

CSS Font 正在載入 API FontFaceSet:check() 方法

FontFaceSetcheck() 方法會驗證是否能在 FontFaceSet 中使用尚未完成載入的字型的情況下,以指定的字型顯示文字。這可讓使用者安全地使用字型,而不會觸發替換字型。

關閉要求和 CloseWatcher

「關閉要求」這個新概念涵蓋使用者要求關閉目前開啟的項目,使用電腦的 Esc 鍵,或 Android 裝置的返回手勢或按鈕。將這些功能整合至 Chrome 後,將會有兩項變更:

  • CloseWatcher 這個新 API,可用來直接監聽及回應關閉要求。
  • 升級至 <dialog>popover="",即可使用新的關閉要求架構,以便回應 Android 返回按鈕。

專用工作站和 Storage Access API

專屬工作站會繼承父項結構定義的儲存空間存取狀態。因此,如果文件透過 document.requestStorageAccess() 取得儲存空間存取權,然後建立專屬的工作站,該工作站也會具有儲存空間存取權,並且可以存取未分區的 Cookie。

FedCM:Error API 和 AutoSelectedFlag API

專屬 API 可協助開發人員和使用者進一步瞭解驗證流程。這兩種 API 都會在使用者授權透過識別資訊提供者登入網站或應用程式 (在這種情況下稱為依賴方 (RP)) 後觸發。換句話說,在使用者點選「繼續使用身分」按鈕後。

透過 Error API 之後,如果使用者的登入嘗試失敗,識別資訊提供者可與瀏覽器分享原因,讓使用者和 RP 開發人員保持在最新狀態。

有了 AutoSelectedFlag API,識別資訊提供者與 RP 開發人員都能進一步瞭解登入使用者體驗,並據此評估成效和區隔指標。

詳情請參閱 FedCM Chrome 120 網誌文章

Fenced Frames 功能更新

在 Privacy Sandbox 中,Protected Audience API 中有額外的 Protected Audience 廣告大小巨集格式選項。「選擇採用」功能可讓你使用巨集,指定在廣告網址中贏得競價的廣告大小,例如:

https://ad.com?width={/%AD_WIDTH%}&height={/%AD_HEIGHT%}

為配合 Protected Audience 中其他類型的巨集 (例如 deprecatedReplaceInURNregisterAdMacro() 所使用的巨集),系統會在 Chrome 120 版中除了目前的格式,還新增了使用「${AD_WIDTH}」和「${AD_HEIGHT}」做為巨集格式的功能。

現在起,自動信標會傳送至所有已註冊的網址。先前,只有在呼叫 setReportEventDataForAutomaticBeacons() 時指定的目的地才會收到自動信標,即使該目的地在 Worklet 中針對 reserved.top_navigation 呼叫 registerAdBeacon(),也會收到自動信標。現在,對 reserved.top_navigation 呼叫 registerAdBeacon() 的任何目的地都會獲得自動信標,但只有 setReportEventDataForAutomaticBeacons() 中指定的目的地才會收到自動信標資料和信標資料。setReportEventDataForAutomaticBeacons() 中的 once 參數現在會判斷資料是否傳送一次,而非是否傳送整個信標。

交叉式觀察器捲動邊界

Intersection Observer scrollMargin 可讓開發人員觀察巢狀捲動容器中目前遭捲動容器裁剪的目標。方法是在計算交集時,由 scrollMargin 展開容器的裁剪矩形。

權限政策違規報表

這會整合 Permissions Policy API 與 Reporting API,可讓網頁開發人員設定要傳送哪些權限政策違規報告的端點,讓網站擁有者查看相關欄位何時要求禁止的功能。

這也包含 Permissions-Policy-Report-Only 標頭,可讓系統根據建議的政策 (類似於 Content-Security-Policy-Report-Only) 傳送報表,以便評估政策變更是否可能毀損,再以一般強制執行模式執行。

Media Session API:enterpictureinpicture 動作

enterpictureinpicture 動作新增至 Media Session API。網站可以註冊動作處理常式,用於開啟子母畫面或文件子母畫面視窗。

詳情請參閱網頁應用程式的自動子母畫面

WebGPU f16 支援

允許在 WebGPU 著色器 (WGSL) 中使用半精度浮點類型 f16。

開發人員可以使用「shader-f16」WebGPU 規格和「f16」,存取其著色器中的 16 位元浮點變數和 API。

MediaCapabilities:使用 decodingInfo() 查詢 HDR 支援

擴充 Media Capabilities API 以允許透過三個新的 VideoConfiguration 字典欄位偵測 HDR 算繪支援:hdrMetadataTypecolorGamuttransferFunction。Chrome 會實作專屬的色調對應演算法,因此 HDR10 (smpteSt2086) 靜態中繼資料一律會傳回 true。目前不支援 HDR10+ (smpteSt2094-10) 和 Dolby Vision (smpteSt2094-40) 動態中繼資料,因此會傳回 false。我們預計未來將支援動態中繼資料,因此這個 API 可讓開發人員為支援使用者選取合適的內容。

MediaStreamTrack 統計資料 (影片)

這個 API 可公開類型影片的 MediaStreamTrack 影片事件計數器 (已放送、已捨棄、總計)。其他的 Chrome 功能推出將涵蓋音訊統計資料。

Private Aggregation API:匯總協調工具選項

修改 Private Aggregation API,提供機制讓您選取要使用哪個協調者 (透過廠商指定的許可清單) 來加密酬載。如要選擇這項服務,請在 run()selectURL() SharedStorage 呼叫、runAdAuction()joinAdInterestGroup() Protected Audience 呼叫中另外設定一個選項。廣泛的做法大多與 Attribution Reporting API 的方法一致。

FedCM 中的 Login Status API

Login Status API (原稱 IdP Sign-in Status API) 可讓識別資訊提供者在使用者登入或登出時,向瀏覽器發出信號。

FedCM 會使用這個變數來解決無聲時間攻擊,進而讓 FedCM 得以在沒有第三方 Cookie 的情況下運作。

日後這個 API 可能會用於更多用途。

詳情請參閱公告網誌文章

查看轉換:使回呼不可為空值

startViewTransition 呼叫目前可使用選用的可為空值回呼類型,預設值為空值:startViewTransition(optional UpdateCallback? callback = null)

這項功能會將此變更為不可為空值類型:startViewTransition(optional UpdateCallback callback)

TLS 適用的 X25519Kyber768 金鑰封裝

部署防範 Kyber768 可量子金鑰協議演算法,保護目前的 Chrome TLS 流量,防範日後的量子密碼分析。這是以 IETF 標準的混合 X25519 + Kyber768 金鑰協議。此規範和啟動範圍不在 W3C 的涵蓋範圍內。這份金鑰協議將以傳輸層安全標準 (TLS) 加密方式發布,並須向使用者公開。

來源試用進行中

在 Chrome 120 中,您可以選擇啟用下列新的來源試用功能。

「Priority」HTTP 要求標頭

這項功能會在傳送要求時,為所有 HTTP 要求新增 priority 要求標頭,以及要求的優先順序資訊。

RFC 9218 (HTTP 的可延伸優先順序配置) 定義了「優先順序」用來將要求優先順序傳送給來源 (和中介商) 的 HTTP 要求標頭。它還定義了 HTTP/2 和 HTTP/3 的交涉程序和通訊協定層級框架,以提供相同的優先順序資訊。只有在首次要求資源時,標頭才能指出資源的初始優先順序,而以影格為基礎的機制則允許在事後修改優先順序。標頭可以在來源伺服器端對端上執行,並提供讓來源在經過中介商確認的情況下覆寫優先順序的機制,而頁框則僅限在連結層級上運作。這項功能專門用於支援以標頭為基礎的優先順序配置。

我們提議擴充 Storage Access API (回溯相容),以便在第三方內容中存取未分區 (Cookie 和非 Cookie) 的儲存空間。

透過私人網路存取權放寬複合型內容的權限

為連線至區域網路中的裝置,這類網路沒有全域專屬名稱,因此無法取得 TLS 憑證,這項功能將導入 fetch() 的新選項,宣告開發人員是 Google 的全新政策控管功能 用來限制每個網站存取這項功能,並為伺服器的預檢回應提供新標頭,以提供額外中繼資料。

註冊私人網路存取權權限提示來源試用計畫

無限制存取 performance.measureUserAgentSpecificMemory()

已指定 performance.measureUserAgentSpecificMemory() 僅適用於跨來源獨立環境 (COOP/COEP 後方)。這項功能移除了 COOP/COEP 限制,在無法完整部署 COOP/COEP 時允許進行迴歸測試並測量影響。請注意,Performance.memory (舊版 API) 並不能用於此目的,因為工作站上從未啟用 Performance.memory。

performance.measureUserAgentSpecificMemory()

這項功能新增 performance.measureUserAgentSpecificMemory() 函式,可估算網頁的記憶體用量。網站需要跨來源隔離,才能使用這個 API。

淘汰和下架

這個版本的 Chrome 導入下列淘汰和移除程序。請前往 ChromeStatus.com 查看預定淘汰事宜、目前淘汰項目和先前移除內容的清單。

這個版本的 Chrome 淘汰了一項功能。

淘汰並移除 Theora 支援

有鑑於此,Chrome 將淘汰並停止支援電腦版 Chrome 的 Theora 視訊轉碼器,Theora 低用量 (且現在通常不正確) 無法再支援大多數使用者。

這個版本的 Chrome 移除了兩項功能。

移除資料:SVGUseElement 中的網址

指派資料:SVGUseElement 中的網址可能會造成 XSS。這也導致信任類型迴避。因此,我們計劃淘汰並移除對其支援功能。

移除 CSPEE 中對相同來源的全面強制措施

從 CSP 嵌入強制執行政策中移除對相同來源 iframe 的特殊處理方式。這符合對跨來源 iframe 和相同來源 iframe 強制執行 CSP Embedded Enforcement 的行為。