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>
語法
支援透過 @property
或 registerProperty()
註冊的自訂屬性使用 <image>
語法。<image>
語法可用於將自訂屬性值限制為 url()
值及生成的圖片 (例如漸層)。
已註冊自訂屬性的 CSS <transform-function>
和 <transform-list>
語法
支援透過 @property
或 registerProperty()
註冊的自訂屬性,使用 <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-image
和 mask-mode
),將圖片遮蓋或裁剪在特定點,以隱藏部分或完整元素。
這項功能會移除 -webkit-mask*
屬性的前置字串,並讓屬性與目前的規格保持一致。包括 mask-image
、mask-mode
、mask-repeat
、mask-position
、mask-clip
、mask-origin
、mask-size
和 mask-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() 方法
FontFaceSet
的 check()
方法會驗證是否能在 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 中其他類型的巨集 (例如 deprecatedReplaceInURN
和 registerAdMacro()
所使用的巨集),系統會在 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 算繪支援:hdrMetadataType
、colorGamut
和 transferFunction
。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 (SAA) 擴充至非 Cookie 儲存空間
我們提議擴充 Storage Access API (回溯相容),以便在第三方內容中存取未分區 (Cookie 和非 Cookie) 的儲存空間。
透過私人網路存取權放寬複合型內容的權限
為連線至區域網路中的裝置,這類網路沒有全域專屬名稱,因此無法取得 TLS 憑證,這項功能將導入 fetch()
的新選項,宣告開發人員是 Google 的全新政策控管功能
用來限制每個網站存取這項功能,並為伺服器的預檢回應提供新標頭,以提供額外中繼資料。
無限制存取 performance.measureUserAgentSpecificMemory()
已指定 performance.measureUserAgentSpecificMemory() 僅適用於跨來源獨立環境 (COOP/COEP 後方)。這項功能移除了 COOP/COEP 限制,在無法完整部署 COOP/COEP 時允許進行迴歸測試並測量影響。請注意,Performance.memory (舊版 API) 無法用於此作業,因為未在工作站上啟用。
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 的行為。