CSS 巢狀結構的寬鬆規則,可使用 <details>
元素 (Media Session API 的 enterpictureinpicture
動作) 建立摺疊模式。
除非另有註明,否則上述變更將適用於 Android、ChromeOS、Linux、macOS 和 Windows 的最新 Chrome Beta 版 Chrome 測試版。透過我們提供的連結或 chromestatus.com 提供的清單,進一步瞭解本節介紹的功能。Chrome 120 已於 2023 年 11 月 1 日推出 Beta 版。你可以透過電腦前往 Google.com 下載最新版本,也可以透過 Android 裝置前往 Google Play 商店下載最新版本。
CSS
這個版本新增了七項 CSS 功能。
已註冊自訂屬性的 CSS <image>
語法
支援使用 <image>
語法搭配 @property
或 registerProperty()
註冊的自訂屬性。<image>
語法可用於將自訂屬性的值限制為 url()
值和產生的圖片 (例如漸層)。
已註冊自訂屬性的 CSS <transform-function>
和 <transform-list>
語法
支援使用 <transform-function>
和 <transform-list>
語法來處理以 @property
或 registerProperty()
註冊的自訂屬性。
這個語法可用於限制自訂屬性的值來代表轉換。這樣一來,您還可直接在這些已註冊的自訂屬性上使用轉場效果和動畫。
媒體查詢:指令碼功能
指令碼媒體功能可用於查詢目前的文件是否支援 JavaScript 等指令碼語言。有效選項包括「已啟用」、「初始專用」和「無」。不過,瀏覽器中的「僅限初始」值一律不會相符。
:dir() 虛擬類別選取器
:dir()
CSS 虛擬類別選取器會根據 HTML dir 屬性決定元素,並根據方向比對元素。
:dir(ltr)
用於比對由左至右的文字方向。:dir(rtl)
會以文字方向為由右至左比對元素。
這不等於 [dir]
屬性選取器,因為它與透過 dir
屬性繼承的方向相符,並且與使用 dir=auto
計算的方向 (以具有強烈方向性的情況下,從文字中第一個字元決定方向) 相符。
CSS 指數函式
加入 CSS 指數函式:pow()
、sqrt()
、hypot()
、log()
和 exp()
(CSS 值和單元層級 4 規格)。
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>
元素來建立和平板。這個 SDK 會將名稱屬性新增至 <details>
元素。使用這個屬性時,多個名稱相同的 <details>
元素會形成一個群組。一次最多只能開啟群組中的一個元素。
網站 API
允許將 ArrayBuffer 轉移至 VideoFrame、AudioData、EncodedVideoChunk、EncodedAudioChunk、ImageDecoder 建構函式
這將允許卸離陣列緩衝區,並在 VideoFrame、ImageDecoder、EncodedVideoChunk、EncodedAudioChunk、AudioData 中不使用複製的情況下,使用對應的緩衝區。
CSS 字型載入 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()
時指定的目的地才會收到自動信標,即使該目的地稱為 registerAdBeacon()
的工作程式中為 reserved.top_navigation
亦然。現在,針對 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。
開發人員可以使用 WebGPU 規格中的「shader-f16」功能,以及 WGSL 規格中的「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 統計資料 (影片)
針對 MediaStreamTracks 類型影片公開影格計數器 (已放送、捨棄、總計) 的 API。系統將另外推出 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 中,您可以選擇加入下列新的來源試用。
「優先順序」HTTP 要求標頭
這項功能會針對所有 HTTP 要求新增 priority
要求標頭,並附上要求傳送時的優先順序資訊。
RFC 9218 (HTTP 的可擴充優先順序配置) 定義「優先順序」HTTP 要求標頭,用於向來源 (和中介商) 發出信號要求優先順序。此外,它也會定義 HTTP/2 和 HTTP/3 的交涉程序和通訊協定層級頁框,以傳遞相同的優先順序資訊。標頭只能在首次要求資源時表示初始優先順序,而以影格為基礎的機制允許在事後修改優先順序。標頭可以端對端運作至原始伺服器,並提供機制,讓來源能在經由連結層級辨識時覆寫優先順序。這項功能是特別支援標頭式優先順序配置。
將 Storage Access API (SAA) 擴充至非 Cookie 儲存空間
我們建議 Storage Access API 的延伸 (回溯相容),以允許在第三方環境中存取未分區 (Cookie 和非 Cookie) 儲存空間。
具備私人網路存取權,可放寬複合型內容的存取權
為了與沒有全域專屬名稱的區域網路上裝置建立連線,導致無法取得 TLS 憑證,這項功能推出了 fetch()
的新選項,用於宣告開發人員要與這類裝置通訊的意圖、透過政策控管功能控管每個網站對這項功能的存取權,並為伺服器的預檢回應提供額外的中繼資料。
無限制存取 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 嵌入式違規處置的行為。