Chrome 121 (thử nghiệm)

Trừ phi có ghi chú khác, những thay đổi sau đây sẽ áp dụng cho bản phát hành kênh thử nghiệm mới nhất của Chrome dành cho Android, ChromeOS, Linux, macOS và Windows. Tìm hiểu thêm về các tính năng có trong danh sách tại đây thông qua các đường liên kết được cung cấp hoặc trong danh sách trên ChromeStatus.com. Chrome 121 là phiên bản beta kể từ ngày 6 tháng 12 năm 2023. Bạn có thể tải phiên bản mới nhất xuống từ Google.com cho máy tính hoặc trên Cửa hàng Google Play đối với Android.

CSS

Bản phát hành này bổ sung 6 tính năng mới của CSS.

Tính kế thừa của tính năng CSS Điểm nổi bật

Với tính năng kế thừa của tính năng làm nổi bật CSS, các lớp giả lập của CSS (chẳng hạn như ::selection::highlight) sẽ kế thừa các thuộc tính của chúng thông qua chuỗi làm nổi bật giả, thay vì chuỗi phần tử. Kết quả là một mô hình trực quan hơn cho việc kế thừa các thuộc tính trong vùng nổi bật.

Cách này sẽ triển khai yêu cầu trong quy cách kỹ thuật của Dịch vụ giả mạo CSS cấp 4:

"Khi một thuộc tính được hỗ trợ không được cấp giá trị theo tầng ... giá trị được chỉ định của thuộc tính đó được xác định bằng cách kế thừa từ phần tử giả làm nổi bật tương ứng của phần tử mẹ của phần tử gốc."

Thanh cuộn CSS: scrollbar-colorscrollbar-width

Thông số kỹ thuật của Thanh cuộn CSS cho phép nhà phát triển tạo kiểu cho thanh cuộn bằng cách chỉ định màu sắc và độ dày của thanh cuộn. Thông số kỹ thuật này cho biết hai thuộc tính sau. Thuộc tính scrollbar-color cho phép thay đổi bảng phối màu của thanh cuộn để thanh cuộn phù hợp hơn với kiểu cụ thể của trang web. Thuộc tính scrollbar-width cho phép sử dụng thanh cuộn hẹp hơn có thể phù hợp hơn với một số trường hợp sử dụng, hoặc thậm chí là ẩn hoàn toàn thanh cuộn mà không ảnh hưởng đến khả năng cuộn.

Ảnh động CSS font-palette cho phông chữ màu

Thuộc tính font-palette của CSS cho phép lựa chọn một bảng màu cụ thể dùng để kết xuất phông chữ màu. Với tính năng hỗ trợ mới được bổ sung để tạo ảnh động thuộc tính này, việc chuyển đổi giữa các bảng màu không còn là một bước riêng biệt, mà trở thành quá trình chuyển đổi suôn sẻ giữa hai bảng màu đã chọn. Tính năng này hoạt động ở mọi nơi trong các ảnh động và hiệu ứng chuyển tiếp CSS.

Các tính năng về chính tả và ngữ pháp trong CSS

CSS làm nổi bật các phần tử giả để định kiểu cho văn bản mà tác nhân người dùng đã đánh dấu là sai chính tả hoặc không đúng ngữ pháp và trang trí dòng để hiển thị trang trí mặc định của tác nhân người dùng khi gặp lỗi chính tả và ngữ pháp. Các tính năng này cho phép nhà phát triển chọn màu dễ đọc hơn đối với các lỗi chính tả và ngữ pháp mặc định, làm nổi bật những từ sai chính tả bằng màu nền hoặc các thành phần trang trí khác, đồng thời triển khai tính năng kiểm tra lỗi chính tả tuỳ chỉnh để phù hợp với trải nghiệm trên thiết bị.

Cải thiện tính năng tạo mặt nạ CSS cho SVG

Đây là phần tiếp nối tính năng hỗ trợ mặt nạ CSS được cải tiến trong Chrome 120, bổ sung tính năng hỗ trợ mặt nạ mới cho SVG (nhiều mặt nạ, cũng như mask-mode, mask-composite, mask-positionmask-repeat). Ngoài ra, các mặt nạ SVG từ xa (ví dụ: mask: url(masks.svg#star)) hiện cũng được hỗ trợ.

Giá trị hiển thị dành riêng cho hồng ngọc

Thêm các giá trị mới của thuộc tính hiển thị CSS, rubyruby-text. Giá trị hiển thị mặc định của <ruby><rt> lần lượt được thay đổi thành rubyruby-text, đồng thời bố cục hồng ngọc tuân theo các giá trị hiển thị này. Tác giả web có thể sử dụng bất kỳ phần tử nào như <div> để kết xuất hồng ngọc bằng cách thiết lập các giá trị hiển thị mới.

API web

Gói tính năng Báo cáo phân bổ: Giảm độ trễ tổng hợp, Trường Epsilon báo cáo ở cấp sự kiện, Khoá đặt trước

Chrome có các thay đổi đối với Attribution Reporting API tập trung vào:

  • Giảm độ trễ truyền dữ liệu bằng cách hỗ trợ giảm độ trễ báo cáo tổng hợp.
  • Khả năng định cấu hình API bổ sung bằng cách hỗ trợ trường epsilon báo cáo ở cấp sự kiện.
  • Cải thiện khả năng mở rộng của API bằng cách đăng ký không thành công khi gặp phải các khoá dành riêng.

API bộ nhớ đệm cho thao tác tiến/lùi notkhôi phục

API notRestoreReason sẽ báo cáo danh sách lý do khiến một trang không được phân phát từ bfcache bằng API PerformanceNavigationTiming.

Yêu cầu cử chỉ của người dùng để đổi kích thước API ở chế độ hình trong hình của tài liệu

Việc này cho phép các phương thức resizeBy()resizeTo() trên cửa sổ hình trong hình của tài liệu, nhưng kèm theo hạn chế bổ sung về yêu cầu cử chỉ của người dùng để giảm thiểu nguy cơ sử dụng sai mục đích.

API EditContext

API EditContext đơn giản hóa quá trình tích hợp ứng dụng web với các phương thức nhập văn bản nâng cao như viết hình dạng VK, bảng chữ viết tay, nhận dạng lời nói và Thành phần IME. Phiên bản này cải thiện khả năng tiếp cận và hiệu suất, đồng thời mang đến cho bạn các tính năng mới cho trình chỉnh sửa dựa trên nền tảng web.

Phát hiện tính năng cho các định dạng bảng nhớ tạm được hỗ trợ

Giờ đây, bạn có thể kiểm tra xem API Bảng nhớ tạm Async có hỗ trợ một loại MIME nhất định hay không bằng cách gọi hàm supports() mới, chuyển loại MIME dưới dạng đối số, chẳng hạn như ClipboardItem.supports('image/png').

HTMLSelectElement showPicker()

Phương thức showPicker() của HTMLSelectElement cung cấp cho nhà phát triển một cách lập trình để mở bộ chọn tuỳ chọn của phần tử <select>, theo mẫu input.showPicker().

MediaCapabilities: Truy vấn tính năng hỗ trợ HDR bằng decodingInfo()

Mở rộng Media Capabilities API để cho phép phát hiện việc hỗ trợ kết xuất HDR qua 3 trường từ điển VideoConfiguration mới: hdrMetadataType, colorGamut, transferFunction.

Chromium thực hiện các thuật toán ánh xạ âm của riêng mình để luôn trả về true cho siêu dữ liệu tĩnh HDR10 (smpteSt2086).

API tổng hợp riêng tư: lựa chọn điều phối viên tổng hợp

Sửa đổi đối với API tổng hợp riêng tư cung cấp cơ chế chọn điều phối viên sẽ sử dụng cho việc mã hoá tải trọng (từ danh sách cho phép do nhà cung cấp chỉ định). Việc lựa chọn dịch vụ được đưa ra với một tuỳ chọn bổ sung trong các lệnh gọi run()selectURL() của Bộ nhớ dùng chung, cũng như trong các lệnh gọi runAdAuction()joinAdInterestGroup() của Protected Audience. Phương pháp tiếp cận rộng này phần lớn phù hợp với phương pháp của API Báo cáo phân bổ.

API Phát từ xa trên máy tính

API này mở rộng HTMLMediaElement cho phép kiểm soát việc phát nội dung nghe nhìn từ xa từ một trang web. Tính năng này được phát hành trên Android trong Chrome 56 và có trên Chrome 121 trên Máy tính.

API quy tắc suy đoán

API Quy tắc suy đoán có các tính năng mới.

Hỗ trợ các quy tắc tài liệu: Đây là phần mở rộng cho cú pháp quy tắc suy đoán cho phép trình duyệt lấy danh sách URL để tải theo suy đoán từ các phần tử <a> trong một trang. Các tiêu chí này có thể bao gồm các tiêu chí để dùng đường liên kết nào trong số này. Tính năng này cùng với trường "eagerness" mới cho các quy tắc suy đoán cho phép các nhà phát triển tự động tìm nạp trước hoặc kết xuất trước các đường liên kết trên trang ngay lập tức, khi di chuột hoặc khi di chuột xuống.

Thay đổi riêng biệt cho phép chỉ định các quy tắc suy đoán bằng cách sử dụng tiêu đề phản hồi HTTP Speculation-Rules như một giải pháp thay thế cho việc sử dụng các phần tử <script> cùng dòng. Giá trị của tiêu đề này phải là một URL trỏ đến tài nguyên văn bản có loại MIME "application/speculationrules+json". Các quy tắc của tài nguyên sẽ được thêm vào bộ quy tắc của tài liệu.

Cuối cùng, gợi ý No-Vary-Search cho phép tìm nạp trước theo suy đoán ngay cả khi tham số truy vấn URL thay đổi. Tiêu đề phản hồi HTTP No-Vary-Search khai báo rằng một số hoặc tất cả các phần trong truy vấn của URL có thể bị bỏ qua cho mục đích so khớp. Trình phân tích cú pháp có thể khai báo rằng thứ tự của các khoá tham số truy vấn không được ngăn chặn việc so khớp, các tham số truy vấn cụ thể không được ngăn việc so khớp hoặc chỉ một số tham số truy vấn đã biết mới gây ra kết quả không khớp.

Đối tượng giao diện SpeechSynthesis và SpeechSynthesisVoice

Thêm các đối tượng giao diện cho SpeechSynthesisSpeechSynthesisVoice vào các tính năng đã được hỗ trợ. Điều này giúp bạn có thể phát hiện tính năng bằng SpeechSynthesisVoice.prototype.

API bộ chứa bộ nhớ

Bộ chứa lưu trữ giúp các trang web sắp xếp dữ liệu trên thiết bị thành các "bộ chứa" riêng biệt, cho phép tác nhân người dùng loại bỏ dữ liệu đã nhóm một cách độc lập với dữ liệu trong các bộ chứa khác, đồng thời giúp các trang web quản lý dữ liệu liên quan về mặt ngữ nghĩa một cách hợp lý. Mỗi bộ chứa lưu trữ có thể chứa dữ liệu được liên kết với các API lưu trữ đã thiết lập như IndexedDB và CacheStorage.

URLPattern: Kế thừa trái, ký tự đại diện phải

Hành vi thay đổi đối với các mẫu được tạo bằng URL cơ sở, cú pháp chuỗi hàm khởi tạo hoặc cả hai – nhưng không phải bất kỳ mẫu nào chỉ định rõ các thành phần riêng biệt mà không có URL cơ sở.

Các thành phần không được kế thừa từ URL cơ sở nếu chỉ định rõ thành phần "trước đó". Trong định dạng chuỗi, các thành phần "sau" không được chỉ định sẽ được đặt thành ký tự đại diện ngầm thay vì bắt buộc phải để trống (ngoại trừ cổng luôn được dùng để chỉ định khi tên máy chủ là). Tên người dùng và mật khẩu không bao giờ được chỉ định hoặc kế thừa ngầm.

Điều này giúp các mẫu mở rộng hơn trước đây, trong trường hợp cần sử dụng ký tự đại diện.

URLPattern: cờ RegExp v thay vì u

API mẫu URL cho phép nhà phát triển chỉ định chuỗi mẫu. Các biến đó được chuyển đổi thành biểu thức chính quy trong nội bộ.

Trong lần đầu triển khai API, các biểu thức chính quy này được biên dịch với cờ u. Chrome 121 cập nhật thành cờ v, cho phép các bộ Unicode.

Bổ sung vào WebGPU

Giờ đây, WebGPU cho phép nhà phát triển bỏ qua các điểm truy cập đến các mô-đun chương trình đổ bóng khi tạo quy trình, nhờ đó cải thiện hiệu quả sử dụng. Nếu không tìm thấy điểm truy cập mặc định, lỗi GPUValidationError sẽ được kích hoạt như bình thường.

Các truy vấn dấu thời gian WebGPU cho phép các ứng dụng WebGPU đo lường chính xác (xuống đến nano giây) thời lượng các lệnh GPU cần để thực thi, đặc biệt là ở đầu và cuối quá trình truyền. Truy vấn dấu thời gian được dùng rất nhiều để thu thập thông tin chi tiết về hiệu suất và hành vi của khối lượng công việc GPU.

Mặc dù thông số kỹ thuật WebGPU khiến truy vấn dấu thời gian trở thành một tính năng không bắt buộc do vấn đề về tấn công thời gian, chúng tôi tin rằng việc lượng tử hoá truy vấn dấu thời gian là một biện pháp tốt bằng cách giảm độ chính xác của bộ tính giờ với độ phân giải 100 micrô giây.

Đóng gói khoá X25519Kyber768 cho TLS

Bảo vệ lưu lượng truy cập TLS (Bảo mật tầng truyền tải) hiện tại của Chrome khỏi phương pháp phân tích mật mã lượng tử trong tương lai bằng cách triển khai thuật toán thoả thuận về khoá kháng lượng tử Kyber768. Đây là một thoả thuận khoá lai X25519 + Kyber768 dựa trên tiêu chuẩn IETF. Thông số kỹ thuật và bản phát hành này nằm ngoài phạm vi W3C. Thoả thuận về khoá này sẽ được ra mắt dưới dạng thuật toán mật mã TLS và phải minh bạch với người dùng.

Đang trong quá trình dùng thử theo nguyên gốc

Trong Chrome 121, bạn có thể chọn tham gia các bản dùng thử theo nguyên gốc mới sau đây.

API Chụp phần tử

Element Capture API cung cấp các phương thức để thu thập cây con của DOM.

Do một video MediaStreamTrack thu được thông qua các phương thức có sẵn để bắt đầu chụp thẻ, Element Capture cho phép thay đổi bản nhạc để chỉ thu thập cây con của DOM bắt đầu từ một Phần tử nhất định.

API này có một số điểm tương đồng với Zone Capture API (API Chụp khu vực) nhưng cho phép các ứng dụng linh hoạt hơn vì cả nội dung bị che khuất và bị che khuất đều không được chụp.

Đăng ký dùng thử theo nguyên gốc ElementCapture

Thay đổi đối với hành vi hiện tại

Chrome 121 có thay đổi sau đây đối với hoạt động hiện tại. Thay đổi này được đưa vào đây để nhà phát triển biết về sự thay đổi này.

Loại bỏ sự kiện đầu vào khỏi các iframe chéo nguồn gốc đã di chuyển gần đây

Nếu gần đây iframe nhiều nguồn gốc đã di chuyển trong trang nhúng, thì Chrome sẽ tự động loại bỏ các sự kiện nhắm đến iframe đó. Lý do là nếu iframe mới di chuyển gần đây, thì có thể người dùng không có ý định nhấp hoặc nhấn vào iframe đó.

Thay đổi này được phát hành ở dạng giới hạn vào năm 2019: thay đổi này chỉ ảnh hưởng đến các iframe chứa tập lệnh sử dụng các tính năng của IntersectionObserver phiên bản 2 (tức là phát hiện hiệu ứng che khuất hoặc phát hiện hiệu ứng). Bản phát hành này mở rộng hành vi này sang tất cả các iframe nhiều nguồn gốc và sẽ bắt đầu dưới dạng thử nghiệm có giới hạn trong Chrome 121, sau đó sẽ được tăng dần.