Chrome 122 phiên bản 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 mới nhất của kênh thử nghiệm Chrome dành cho Android, ChromeOS, Linux, macOS và Windows. Tìm hiểu thêm về các tính năng được liệt kê ở đâ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 122 là phiên bản beta kể từ ngày 24 tháng 1 năm 2024. 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 trên Android.

CSS

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

Các truy vấn CSS @container có các tính năng không được hỗ trợ sẽ không bao giờ khớp

Bộ chọn @container chứa các truy vấn không được hỗ trợ sẽ không bao giờ chọn bất kỳ vùng chứa nào, nghĩa là các bộ chọn này sẽ không bao giờ khớp.

Điều đó có nghĩa là truy vấn này sẽ không bao giờ khớp với bất kỳ vùng chứa nào ngay cả khi cũng có vùng chứa khớp với truy vấn chiều rộng. Ví dụ: truy vấn sau đây sẽ không bao giờ khớp do tính năng không xác định:

@container (width > 0px) or (unknown) {}

Đây là thay đổi gần đây đối với quy cách để tránh các vấn đề về khả năng tương thích chuyển tiếp.

Phần tử giả CSS ::backdrop kế thừa từ phần tử gốc

Phần tử giả ::backdrop dùng để kế thừa từ các giá trị ban đầu. Điều đó có nghĩa là ::backdrop không thể sử dụng các giá trị thuộc tính tuỳ chỉnh trừ phi được chỉ định trực tiếp trên quy tắc ::backdrop. Thông số kỹ thuật hiện đã thay đổi để ::backdrop kế thừa từ phần tử gốc. Thay đổi này sẽ giúp quá trình triển khai Chrome phù hợp với thông số kỹ thuật mới.

Các điều kiện supports() của CSS cho @import

@import hiện chấp nhận điều kiện supports(). Nếu điều kiện supports() không khớp, thì dữ liệu nhập sẽ không được tìm nạp.

@import "scroll-driven-animations.css" supports(animation-timeline: auto);

Các truy vấn tính năng được đặt bên trong supports() cũng giống như các truy vấn tính năng được sử dụng với @supports

API web

API bảng nhớ tạm không đồng bộ: Đọc HTML chưa được dọn dẹp

Thêm tuỳ chọn unsanitized trong phương thức read() để tải định dạng HTML chưa được dọn dẹp. Trừ phi các trang web có chứa thuộc tính này, việc đọc từ bảng nhớ tạm sẽ được dọn dẹp.

Theo mặc định, khi đọc các loại MIME text/html bằng API không đồng bộ, trình dọn dẹp sẽ được gọi để loại bỏ nội dung khỏi mã đánh dấu HTML do vấn đề về bảo mật, và các kiểu sẽ được đưa vào HTML. Điều này dẫn đến việc tải trọng HTML lớn và làm mất độ trung thực của nội dung HTML khi các nhà phát triển web hoặc ứng dụng di động đọc.

Không xoá các đối tượng Loại tệp trong dataTransfer.clearData()

Cập nhật Chrome để phù hợp với spec, trong đó chỉ định rằng clearData() không ảnh hưởng đến đối tượng Tệp. Thao tác này chỉ xoá các đối tượng loại text.

FedCM: ngắt kết nối

Cho phép ngắt kết nối tài khoản đăng nhập liên kết bằng trang web của bên đáng tin cậy. Với API ngắt kết nối, một bên đáng tin cậy có thể thông báo cho nhà cung cấp danh tính rằng tài khoản đã dùng trước đó hiện đã bị ngắt kết nối. Do đó, nếu dùng lại tài khoản đó bằng thông tin đăng nhập liên kết, thì bên đó sẽ phải coi tài khoản đó là tài khoản mới.

Huỷ sự kiện di chuột xuống có khả năng tương tác trong iframe

Tạo các mục tiêu sự kiện chuột không phụ thuộc vào việc huỷ sự kiện di chuột xuống khi con trỏ được kéo ra khỏi iframe. Khi chuột được kéo ra khỏi iframe, tất cả các trình duyệt (bao gồm cả Chrome) sẽ gửi các sự kiện mousemovemouseup tới iframe. Tuy nhiên, nếu sự kiện di chuột xuống bị huỷ, Chrome hôm nay sẽ duy trì một ngoại lệ WebKit cũ mà các sự kiện di chuột lên và di chuột lên được gửi đến khung ngoài. WebKit đã xoá ngoại lệ này vào năm ngoái và Mozilla chưa bao giờ hiển thị hành vi này trong những năm gần đây. Tính năng này sẽ xoá trường hợp ngoại lệ chỉ dành cho Chrome đối với trường hợp đặc biệt này.

Trình trợ giúp biến lặp

Trình trợ giúp biến lặp là các phương thức mới trên nguyên mẫu trình lặp để cho phép sử dụng và tiêu thụ chung đối với trình lặp.

MessagePort.onclose

Thay đổi đối với Channel Messaging API (API Gửi thông báo kênh) để thông báo cho một trong các MessagePorts rằng cổng khác đã bị loại bỏ. Điều này có nghĩa là close() được gọi, tài liệu ghi nợ bị huỷ hoặc cổng được thu gom rác.

Tiện ích RTCRtpSender setParameters() để yêu cầu tạo khung khoá

Thêm tham số thứ hai (không bắt buộc) vào lệnh gọi RTCRtpSender.setParameters của WebRTC. Lệnh gọi này có thể dùng để yêu cầu bộ mã hoá được liên kết tạo khung chính.

Đặt phương thức

Phương thức đặt là các phương thức mới như hợp nhất và giao lộ được thêm vào lớp Set tích hợp của JavaScript.

API bộ chứa bộ nhớ

Bộ chứa lưu trữ cho phé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 các tác nhân người dùng loại bỏ dữ liệu được 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 cho phé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, chẳng hạn như IndexedDB và CacheStorage.

Mẫu URL: hasRegExpGroups

Cho phép kiểm tra xem URLPattern có sử dụng một hay nhiều nhóm biểu thức chính quy ECMAScript hay không. Do đó, có thể không phù hợp để sử dụng trong trường hợp không có công cụ ECMAScript (chẳng hạn như một số API theo kế hoạch sắp ra mắt). Nói một cách chính xác thì việc này phản ánh điều mà nhà phát triển vẫn có thể biết từ việc kiểm tra mẫu, nhưng việc có quyền truy cập vào quy trình triển khai quy trình kiểm tra này của UA sẽ khiến việc đó trở nên đơn giản hơn.

drawBufferStorage

WebGL cho phép kết xuất thành kết cấu và vùng đệm kết xuất của nhiều định dạng pixel khác nhau. Ví dụ: được mã hoá 8 bit, dấu phẩy động và sRGB.

Vùng đệm vẽ của WebGL (vùng đệm được truyền đến trình tổng hợp) là 8 bit theo mặc định. Tính năng drawBufferStorage cho phép WebGL định cấu hình định dạng pixel của vùng đệm vẽ này, giúp các nhà phát triển thực hiện các thao tác sau.

  • Tránh sao chép thêm khi chuyển đổi kết xuất của chúng sang định dạng pixel vùng đệm vẽ mặc định.
  • Vẽ nội dung có độ chính xác cao hơn 8 bit.

Tính năng thứ hai mở khóa một số ứng dụng bổ sung:

  • Nội dung gam màu rất rộng mà không làm giảm độ chính xác.
  • Các ứng dụng y tế yêu cầu độ chính xác lớn hơn 8 bit.
  • Các ứng dụng có dải động cao (nếu có).

Đó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á X25519 + Kyber768 kết hợp dựa trên tiêu chuẩn IETF. Quy cách 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 một 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 122, bạn có thể chọn sử dụng các bản dùng thử theo nguyên gốc mới sau đây.

Tiện ích phạm vi ứng dụng web

Bạn chỉ có thể xác định phạm vi ứng dụng web (do trường phạm vi xác định) bằng một đường dẫn từ một nguồn gốc duy nhất. Mã này dùng để xác định xem tài liệu hiện tại của cửa sổ ứng dụng có phải là một phần của ứng dụng hay không. Mã này cũng xác định URL nào được phép trong các thành phần khác của tệp kê khai.

Với scope_extensions, nhà phát triển có thể mở rộng hành vi của ứng dụng để thêm các nguồn gốc khác nếu có sự thoả thuận giữa nguồn gốc chính của ứng dụng web và các nguồn gốc liên quan.

Đăng ký dùng thử theo nguyên gốc của tiện ích phạm vi ứng dụng web

Điều khiển bề mặt đã thu thập

Captured Surface Control API (API Kiểm soát bề mặt đã chụp) cho phép các ứng dụng web tạo sự kiện bánh xe trong thẻ hoặc cửa sổ đã chụp, đồng thời đọc hoặc ghi mức thu phóng của thẻ đã chụp.

Đăng ký bản dùng thử theo nguyên gốc Captured Surface Control.