Chrome 119 phiên bản thử nghiệm

Chrome 119 beta mang đến cho bạn cú pháp màu tương đối CSS, các lớp giả mới và nhiều tính năng khác.

Trừ phi có ghi chú khác, những thay đổi được mô tả sẽ áp dụng cho bản phát hành kênh thử nghiệm Chrome mới nhất dành cho Android, ChromeOS, Linux, macOS và Windows. Tìm hiểu thêm về các tính năng nêu tại đây thông qua đường liên kết đi kèm hoặc trong danh sách trên ChromeStatus.com. Chrome 119 sẽ ở giai đoạn thử nghiệm beta kể từ ngày 4 tháng 10 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 trên Android.

CSS

Bản phát hành này bổ sung 4 tính năng mới của Dịch vụ so sánh giá (CSS).

Các lớp giả lập CSS :user-Valid và :user-invalid

Các lớp giả :user-invalid:user-valid lần lượt biểu thị một phần tử có dữ liệu đầu vào không chính xác hoặc không chính xác, nhưng chỉ sau khi người dùng đã tương tác đáng kể với phần tử đó. Điều này tương tự như :valid:invalid, nhưng có thêm một điều kiện ràng buộc bổ sung rằng các lớp giả này chỉ khớp sau khi người dùng đã tương tác với phần tử.

Cú pháp màu tương đối của CSS (RCS)

Cú pháp màu tương đối cho phép nhà phát triển xác định màu sắc bằng cách sửa đổi tham số của các màu khác.

Ví dụ: oklab(from magenta calc(l * 0.8) a b); cho ra màu đỏ tươi sáng hơn 80%.

Giá trị hộp hình học clip-path của CSS

Thuộc tính clip-path của CSS nay hỗ trợ các giá trị <geometry-box> để kiểm soát hộp tham chiếu của đoạn video, giúp clip-path dễ sử dụng hơn. Bạn có thể sử dụng các giá trị hộp này cùng với các hình dạng cơ bản (ví dụ: clip-path: circle(50%) margin-box) hoặc có thể dùng riêng các giá trị này để cắt vào hộp được chỉ định (ví dụ: clip-path: content-box).

Các giá trị xyWh() và rect() của CSS clip-path

Chrome hiện hỗ trợ các giá trị xywh()rect() của thuộc tính clip-path, giúp bạn dễ dàng chỉ định các đoạn video hình chữ nhật hoặc hình chữ nhật góc tròn.

API web

Vì Chrome 104 cookie mới tạo hoặc các cookie được cập nhật có ngày hết hạn nên bị giới hạn không quá 400 ngày trong tương lai. Giới hạn này hiện sẽ được áp dụng ngược thời gian đối với các cookie đã có trong bộ nhớ. Ngày hết hạn của những cookie này sẽ được giới hạn tối đa là 400 ngày sau lần đầu tiên Chrome 119+ khởi động và di chuyển cơ sở dữ liệu một lần. Người dùng sẽ không cảm nhận được tác động của thay đổi này cho đến ít nhất 400 ngày sau khi Chrome 119 được phát hành, và sau đó chỉ ảnh hưởng đến các cookie hiện có mà chưa được cập nhật trong khoảng thời gian đó.

MonitorTypeSurfaces DisplayMediaStreamOptions

Khi getDisplayMedia() được gọi, trình duyệt sẽ cho phép người dùng lựa chọn các nền tảng hiển thị: thẻ, cửa sổ hoặc màn hình. Khi sử dụng tuỳ chọn monitorTypeSurfaces, ứng dụng web hiện có thể gợi ý cho trình duyệt nếu muốn bao gồm những nền tảng hiển thị có kiểu màn hình trong số các lựa chọn được cung cấp cho người dùng.

Bản cập nhật chức năng của Khung bảo vệ

Chrome 119 có các điểm cải tiến sau đây cho Khung bảo vệ.

Ngoài ra, còn có một tuỳ chọn định dạng khác cho các macro kích thước quảng cáo của Protected Audience trong Protected Audience API trong Hộp cát về quyền riêng tư. Tính năng chọn tham gia cho phép bạn đặt macro kích thước của quảng cáo giành chiến thắng trong phiên đấu giá vào url của quảng cáo, ví dụ:

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

Để nhất quán hơn với các loại macro khác trong Protected Audience, chẳng hạn như các loại macro mà deprecatedReplaceInURNregisterAdMacro sử dụng, trong Chrome 119, chúng tôi sẽ bổ sung khả năng sử dụng ${AD_WIDTH}${AD_HEIGHT} làm định dạng cho macro, bên cạnh định dạng hiện tại.

Bây giờ, beacon tự động sẽ gửi đến tất cả các URL đã đăng ký. Trước đây, chỉ những đích đến được chỉ định khi gọi setReportEventDataForAutomaticBeacons() mới nhận được beacon tự động, ngay cả khi đích đó được gọi là registerAdBeacon() cho "reserved.top_navigation" trong worklet của chúng. Giờ đây, mọi đích đến có tên là registerAdBeacon() cho "reserved.top_navigation" đều sẽ nhận được beacon tự động, nhưng chỉ những đích đến được chỉ định trong setReportEventDataForAutomaticBeacons() mới nhận được dữ liệu beacon tự động cùng với beacon. Giờ đây, tham số "once" trong setReportEventDataForAutomaticBeacons() sẽ xác định xem dữ liệu có được gửi đi một lần hay không, thay vì xác định xem toàn bộ beacon có được gửi một lần hay không.

Lề cuộn của Trình quan sát giao điểm

Thuộc tính scrollMargin Intersection Observer cho phép nhà phát triển quan sát các mục tiêu bên trong vùng chứa cuộn lồng hiện đang bị cắt bớt bởi vùng chứa cuộn. Thực hiện việc này bằng cách mở rộng hình chữ nhật cắt của vùng chứa bằng scrollMargin khi tính toán giao điểm.

Vùng chứa cuộn có thể lấy tiêu điểm bằng bàn phím

Tính năng này cải thiện khả năng tiếp cận bằng cách giúp vùng chứa cuộn có thể lấy tiêu điểm thông qua tính năng điều hướng lấy tiêu điểm tuần tự. Trước đây, phím tab không tập trung vào trình cuộn trừ khi tabIndex được đặt rõ ràng thành từ 0 trở lên. Bằng cách đặt tiêu điểm cho trình cuộn theo mặc định, những người dùng không thể (hoặc không muốn) sử dụng chuột sẽ có thể đặt tiêu điểm vào nội dung bị cắt bằng cách sử dụng thẻ và các phím mũi tên trên bàn phím. Hành vi này chỉ được bật nếu trình cuộn không chứa bất kỳ bàn phím con nào có thể làm tâm điểm.

Hạn chế quyền truy cập vào mạng riêng đối với ô tô

Thực thi (thay vì chỉ cảnh báo) các hạn chế về Quyền truy cập mạng riêng tư trên Chrome dành cho Android Automotive (nếu BuildInfo::is_automotive). Điều này bao gồm cả các yêu cầu kiểm tra Quyền truy cập mạng riêng cho các tài nguyên phụ và Quyền truy cập mạng riêng cho Worker.

Đọc thuộc tính của thiết bị Chrome

API Web Thuộc tính của thiết bị là một tập hợp con của API Web của thiết bị được quản lý, cung cấp cho các ứng dụng web khả năng truy vấn thông tin thiết bị. Ví dụ: mã thiết bị, số sê-ri và vị trí.

Thay thế mã đánh dấu lơ lửng trong tên mục tiêu thành _blank

Thay đổi này sẽ thay thế tên mục tiêu có thể điều hướng (thường được đặt theo thuộc tính mục tiêu) thành _blank, nếu tên mục tiêu này chứa một mã đánh dấu lơ lửng (ví dụ: \n<). Thay đổi này khắc phục lỗi bỏ qua trong tính năng giảm thiểu thao tác chèn mã đánh dấu bị bỏ qua.

Tính năng nội dung nghe nhìn lựa chọn ưu tiên của người dùng Sec-CH-Prefers-Low-Transparency của người dùng tiêu đề Gợi ý ứng dụng

Tiêu đề của tính năng Gợi ý ứng dụng về các tính năng đa phương tiện của người dùng xác định một tập hợp các tiêu đề Gợi ý ứng dụng HTTP xoay quanh các tính năng đa phương tiện theo lựa chọn ưu tiên của người dùng như được xác định theo Truy vấn nội dung nghe nhìn Cấp 5. Nếu được sử dụng làm Gợi ý ứng dụng quan trọng, các tiêu đề này sẽ cho phép máy chủ đưa ra lựa chọn thông minh, chẳng hạn như nội tuyến CSS. Sec-CH-Prefers-Reduced-Transparency phản ánh lựa chọn ưu tiên prefers-reduced-transparency của người dùng và có trên Chrome 119.

Ký tự dấu câu của máy chủ URL tuân thủ tiêu chuẩn

Đảm bảo cách xử lý của Chrome đối với các ký tự dấu câu của máy chủ URL tuân thủ tiêu chuẩn URL. Ví dụ:

Trước:

> const url = new URL("http://exa(mple.com;");
> url.href
'http://exa%28mple.com/&apos;

( là một ký tự bị cấm, tuy nhiên, Chrome cho phép ký tự này không chính xác.

Sau:

> const url = new URL("http://exa(mple.com;");
> => throws TypeError: Invalid URL.

WebCodecs AudioEncoder tốc độ bitMode

Một số bộ mã hoá và giải mã âm thanh hỗ trợ việc chỉ định chế độ tốc độ bit của bộ mã hoá âm thanh. Tính năng này thêm một cờ "bitrateMode" có giá trị mặc định là "variable" vào AudioEncoderConfig của WebCodec, phản ánh tuỳ chọn cấu hình và chế độ mặc định đã có cho VideoEncoderConfig.

Cờ này sẽ cho phép các nhà phát triển lựa chọn giữa việc mã hoá âm thanh có tốc độ bit biến đổi hoặc tốc độ bit không đổi. Một số phương thức triển khai bộ mã hoá bộ mã hoá và giải mã có thể có thuật ngữ hơi khác nhau (ví dụ: CBRVBR cho Opus). Tuy nhiên, tất cả các thuật ngữ này đều phải tương ứng với khái niệm chung về tốc độ bit "hằng" và "biến".

Hai tuỳ chọn này có những tác động sau:

  • biến: cho phép bộ mã hoá tăng hoặc giảm tốc độ bit theo nội dung âm thanh đang mã hoá nhằm duy trì băng thông/kích thước nhị phân, trong khi vẫn duy trì chất lượng mục tiêu. Ví dụ: Một bộ mã hoá có thể giảm tốc độ bit khi mã hoá khoảng lặng và chuyển về tốc độ bit đầy đủ khi mã hoá lời nói.
  • constant (hằng số): buộc một bộ mã hoá âm thanh duy trì cùng một tốc độ bit, bất kể nội dung âm thanh là gì. Điều này có thể hữu ích khi mức tiêu thụ băng thông có thể dự đoán được ưu tiên.

Kể từ Chrome 119, cờ này sẽ ảnh hưởng đến hai bộ mã hoá và giải mã trên Chromium: Opus và AAC.

X25519Kyber768 đóng gói phím 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 khoá chống lượng tử Kyber768. Đây là một thoả thuận khoá kết hợp 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 của W3C. Thoả thuận về khoá này sẽ được phát hành dưới dạng thuật toán mật mã TLS và phải minh bạch trước người dùng.

Đang chạy bản dùng thử theo nguyên gốc

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

Mở cửa sổ bật lên ở dạng cửa sổ toàn màn hình

Bản dùng thử theo nguyên gốc mới này sẽ thêm tham số fullscreen windowFeatures vào API JavaScript window.open(). Điều này cho phép phương thức gọi mở cửa sổ bật lên trực tiếp toàn màn hình trên màn hình chứa cửa sổ bật lên (dựa trên screenX và screenY). Điều này giúp nhà phát triển không cần phải chuyển cửa sổ bật lên sang chế độ toàn màn hình theo cách thủ công, vốn có thể cần có tín hiệu kích hoạt của người dùng mới.

Ngừng sử dụng và xoá

Phiên bản Chrome này giới thiệu các ngừng sử dụng và xoá được liệt kê dưới đây. Hãy truy cập vào ChromeStatus.com để xem danh sách các phương thức ngừng hoạt động theo kế hoạch, không dùng nữa và các lượt xoá trước đây.

Bản phát hành Chrome này xoá 4 tính năng.

Xoá Web SQL

Trước đây, chúng tôi có thông báo về việc ngừng sử dụng và xoá Web SQL. Tính năng này sẽ bị xoá hoàn toàn kể từ Chrome 119. Bản dùng thử theo nguyên gốc ngược cho phép nhà phát triển tiếp tục sử dụng WebSQL cho đến Chrome 123.

Xoá API Sanitizer

Sanitizer API hướng đến việc tích hợp một trình dọn dẹp HTML dễ sử dụng, luôn an toàn và do trình duyệt duy trì vào nền tảng. Chrome đã gửi phiên bản đầu tiên trong Chrome 105, dựa trên bản nháp thông số kỹ thuật hiện hành vào thời điểm đó. Tuy nhiên, trong lúc thảo luận, hình dạng API được đề xuất đã có những thay đổi đáng kể.

Để ngăn API hiện tại cố định, chúng tôi sẽ xoá phương thức triển khai hiện tại. Chúng tôi dự kiến sẽ triển khai lại Sanitizer API khi thông số kỹ thuật đề xuất ổn định trở lại.

Xoá dữ liệu: URL trong SVGUseElement

Việc chỉ định data: URL trong SVGUseElement có thể gây ra lỗi XSS. Và điều này cũng dẫn đến việc bỏ qua Loại đáng tin cậy. Do đó, chúng tôi dự định sẽ ngừng sử dụng và ngừng hỗ trợ phiên bản này.

Xoá thuộc tính shadowroot không chuẩn cho DOM bóng đang khai báo

Thuộc tính shadowrootmode theo dõi tiêu chuẩn (cho phép DOM bóng khai báo) được vận chuyển trong Chrome 111. Thuộc tính shadowroot cũ, không theo chuẩn sẽ bị loại bỏ trong Chrome 119. Có một đường dẫn di chuyển đơn giản: thay thế shadowroot bằng shadowrootmode.