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 của CSS, lớp giả mới và nhiều tính năng khác.

Trừ phi có ghi chú khác, các thay đổi được mô tả sẽ áp dụng cho bản phát hành kênh thử nghiệm beta 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 liệt kê tại đây thông qua các đường liên kết được cung cấp hoặc từ danh sách trên ChromeStatus.com. Chrome 119 là phiên bản thử nghiệm kể từ ngày 4 tháng 10 năm 2023. Bạn có thể tải xuống những bản phát hành mới nhất trên Google.com dành 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 cho Dịch vụ so sánh giá (CSS).

Lớp giả CSS :user-hợp lệ và :user- không hợp lệ

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 đúng, 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 quy tắc ràng buộc là 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 sắc 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 bằng cách sửa đổi tham số của màu khác.

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

Các 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ị CSS clip-path xywh() và rect()

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 cắt hình chữ nhật hoặc hình chữ nhật góc tròn.

API web

Vì cookie mới tạo trên Chrome 104 hoặc những cookie được cập nhật có ngày hết hạn đã bị giới hạn trong khoảng thời gian không quá 400 ngày trong tương lai. Giờ đây, giới hạn tương tự này sẽ được áp dụng trở về trước cho các cookie đã được lưu trữ. Ngày hết hạn của những cookie này sẽ được giới hạn không quá 400 ngày sau lần đầu tiên Chrome 119 trở lên khởi động và thực hiện việc 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 trong vòng ít nhất 400 ngày sau khi Chrome 119 được phát hành. Sau đó, người dùng sẽ chỉ cảm nhận được tác động của sự thay đổi này đối với những cookie hiện có mà chưa được cập nhật trong khoảng thời gian đó.

DisplayMediaStreamOptions MonitorTypeSurfaces

Khi getDisplayMedia() được gọi, trình duyệt sẽ cho phép người dùng lựa chọn 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 giờ đây có thể gợi ý cho trình duyệt nếu muốn thêm các nền tảng hiển thị có loại màn hình được giám sát trong số các lựa chọn được cung cấp cho người dùng.

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

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

Bạn cũng có thể sử dụng định dạng bổ sung 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 phóng to kích thước của quảng cáo thắng 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 macro mà deprecatedReplaceInURNregisterAdMacro sử dụng, trong Chrome 119, chúng tôi sẽ thêm khả năng sử dụng ${AD_WIDTH}${AD_HEIGHT} làm định dạng cho các macro ngoài định dạng hiện tại.

Bây giờ, beacon tự động sẽ gửi tới tất cả các URL đã đăng ký. Trước đây, chỉ các đích đến được chỉ định khi gọi setReportEventDataForAutomaticBeacons() mới nhận được beacon tự động, ngay cả khi đích đến đó gọi registerAdBeacon() cho "reserved.top_navigation" trong worklet của chúng. Bây giờ, mọi đích được gọi registerAdBeacon() cho "reserved.top_navigation" sẽ nhận được beacon tự động, nhưng chỉ các đí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 đối tượng tiếp nhận dữ liệu giao nhau

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

Vùng chứa cuộn có thể làm tâm điểm bằng bàn phím

Tính năng này cải thiện khả năng hỗ trợ tiếp cận bằng cách làm cho các vùng chứa cuộn có thể làm tâm đ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 có thanh cuộn tiêu điểm trừ phi tabIndex được đặt rõ ràng thành 0 trở lên. Bằng cách đặt trình cuộn có thể làm tâm điểm theo mặc định, người dùng không thể (hoặc không muốn) sử dụng chuột sẽ có thể lấy tiêu điểm nội dung bị cắt bằng cách sử dụng phím tab và 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ỳ phần tử con nào có thể làm tâm điểm bằng bàn phím.

Quy định hạn chế về quyền truy cập vào mạng riêng trên ô 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 trên Chrome dành cho Android Automotive (nếu BuildInfo::is_automotive). Trong đó bao gồm các yêu cầu kiểm tra Quyền truy cập mạng riêng tư đối với các nguồn phụ và Quyền truy cập vào mạng riêng tư dành cho nhân viên.

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

Device Attributes API là một tập hợp con của Managed Device Web API, 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ế chuỗi đánh dấu lủng 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 mục này có chứa ký tự đánh dấu lủng lẳng (ví dụ: \n<). Khắc phục lỗi bỏ qua trong giải pháp giảm thiểu tình trạng chèn mã đánh dấu treo.

Tiêu đề Gợi ý ứng dụng chứa các tính năng đa phương tiện của lựa chọn ưu tiên người dùng theo Sec-CH-Prefers-Reduced-Transparency

Tiêu đề Gợi ý về ứng dụng khách của tính năng nội dung nghe nhìn theo lựa chọn ưu tiên của người dùng xác định một tập hợp các tiêu đề Gợi ý về ứng dụng HTTP xung quanh các tính năng nội dung nghe nhì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 dùng làm Gợi ý quan trọng về ứng dụng, thì các tiêu đề này sẽ cho phép máy chủ đưa ra lựa chọn thông minh về nội dung CSS, chẳng hạn như CSS. Sec-CH-Prefers-Reduced-Transparency phản ánh lựa chọn ưu tiên của người dùng về prefers-reduced-transparency và có trong Chrome 119.

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

Làm cho 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à ký tự bị cấm nhưng Chrome không chấp nhận ký tự này.

Sau:

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

WebCodecs AudioEncoder nhưtbitMode

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 sẽ thêm một cờ "bitrateMode" có giá trị mặc định "variable" vào AudioEncoderConfig của WebCodec, phản ánh lựa chọn config và giá trị mặc định đã có cho VideoEncoderConfig.

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

Hai tuỳ chọn có các hiệu ứng sau:

  • variable: cho phép bộ mã hoá âm thanh tăng hoặc giảm tốc độ bit theo nội dung âm thanh mà bộ mã hoá đang mã hoá, để duy trì băng thông/kích thước nhị phân mà 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á giọng nói.
  • Constant : buộc 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 ưu tiên mức tiêu thụ băng thông có thể dự đoán.

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

Đóng gói khóa X25519Kyber768 cho TLS

Bảo vệ lưu lượng truy cập TLS hiện tại trên 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à thỏa 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 của W3C. Thoả thuận về khoá này sẽ được đưa ra dưới dạng thuật toán mật mã TLS và phải minh bạch đối với người dùng.

Bản dùng thử theo nguyên gốc đang diễn ra

Trong Chrome 119, bạn có thể chọn tham gia 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

Tính năng dùng thử theo nguyên gốc mới này thêm một thông số fullscreen windowFeatures vào window.open() API JavaScript. Đ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 ở chế độ toàn màn hình trên màn hình có 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, do đó có thể yêu cầu tín hiệu kích hoạt người dùng mới.

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

Phiên bản Chrome này đã ngừng sử dụng và loại bỏ được liệt kê bên dưới. Truy cập vào ChromeStatus.com để biết danh sách các miền ngừng sử dụng theo kế hoạch, các lượt ngừng sử dụng hiện tại 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 đã 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 đảo ngược cho phép nhà phát triển tiếp tục sử dụng WebSQL cho đến hết Chrome 123.

Xoá Sanitizer API

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

Để tránh việc API hiện tại cố định, chúng tôi sẽ loại bỏ cách triển khai hiện tại. Chúng tôi dự kiến sẽ triển khai lại Sanitizer API khi quy cách được đề xuất ổn định trở lại.

Xoá dữ liệu: URL trong SVGUseElement

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

Xoá thuộc tính shadowroot không chuẩn đối với DOM bóng khai báo

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