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

Trừ khi có ghi chú khác, các thay đổi sau đây sẽ áp dụng cho bản phát hành mới nhất của kênh beta 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 trong danh sách trên ChromeStatus.com. Chrome 129 đang ở giai đoạn thử nghiệm beta kể từ ngày 21 tháng 8 năm 2024. Bạn có thể tải phiên bản mới nhất xuống từ Google.com dành cho máy tính hoặc từ Cửa hàng Google Play trên Android.

CSS

Bản phát hành này bổ sung 2 tính năng CSS mới và cập nhật 3 tính năng.

Hàm interpolate-size propertycalc-size() của CSS

Thuộc tính interpolate-size CSS cho phép một trang chọn sử dụng ảnh động và chuyển đổi của các từ khoá định cỡ nội tại CSS như auto, min-contentfit-content, trong trường hợp các từ khoá đó có thể tạo ảnh động.

Hàm calc-size() CSS là một hàm CSS tương tự như calc(), tuy nhiên, hàm này cũng hỗ trợ các thao tác trên đúng một từ khoá định cỡ được hỗ trợ. Các từ khoá định cỡ được hỗ trợ hiện tại là auto, min-content, max-contentfit-content. Các từ khoá định cỡ khác có thể được hỗ trợ trong tương lai bao gồm stretch (hiện được hỗ trợ dưới dạng tiền tố -webkit-fill-available) và contain. Hàm này dùng để biểu thị các giá trị ở giữa ảnh động mà thuộc tính interpolate-size cho phép.

Đổi tên vị trí neo CSS inset-area thành position-area

CSSWG đã quyết định đổi tên thuộc tính này từ inset-area thành position-area. Chrome 129 sẽ phân phối position-area, tên inset-area sẽ bị xoá trong một bản phát hành trong tương lai.

Vị trí neo CSS: inset-area() chưa được gói

Thay thế hàm inset-area() bằng các giá trị vùng lồng ghép ngay trong position-try-fallbacks. Ví dụ: thay vì position-try-fallbacks:inset-area(top), hãy sử dụng position-try-fallbacks:top.

Cập nhật bộ lọc phông nền CSS để sử dụng edgeMode phản chiếu

Thuộc tính CSS backdrop-filter áp dụng một hoặc nhiều bộ lọc cho phông nền của một phần tử. Phông nền là nội dung được vẽ nằm phía sau phần tử. Một bộ lọc phổ biến là bộ lọc làm mờ, cho phép nhà thiết kế tạo hộp thoại "kính mờ", lớp phủ video, tiêu đề điều hướng mờ và nhiều hiệu ứng khác.

Ban đầu, hiệu ứng này được triển khai giống như hiệu ứng làm mờ thông thường, nhưng việc lấy mẫu ngoài các cạnh của phần tử cho phép màu sắc từ các cạnh bị loang vào. Thông số kỹ thuật đã được thay đổi để lấy mẫu các pixel bên ngoài cạnh phông nền bằng cách sao chép các pixel ở cạnh. Tuy nhiên, điều này dẫn đến tình trạng nhấp nháy nội dung cực độ khi nội dung đó đi vào cạnh phông nền. Thay đổi mới nhất về thông số kỹ thuật phản ánh phông nền khi lấy mẫu ngoài cạnh, cho phép giới thiệu dần dần các màu mới ở các cạnh mà không làm nặng các đường màu đơn lẻ.

API web

Hỗ trợ Blob trong kênh dữ liệu WebRTC

Triển khai RTCDataChannel.send(Blob) và sự kiện onMessage hiện có thể nhận dữ liệu thuộc loại Blob bằng cách sử dụng thuộc tính binaryType.

Ngoài việc hỗ trợ gửi chuỗi và ArrayBuffer, giờ đây, bạn có thể chọn gửi Blob miễn là kích thước của Blob nhỏ hơn maxMessageSize truyền tải SCTP như được chỉ định trong thông số kỹ thuật WebRTC.

Khi thuộc tính binaryType được đặt thành "blob", thuộc tính dữ liệu sự kiện onMessage sẽ thuộc loại Blob thay vì ArrayBuffer hiện được hỗ trợ.

Tính toán các lệnh của tiện ích WebDriver về áp lực

Hiển thị các lệnh WebDriver để tạo, xoá và cập nhật mẫu nguồn áp suất cho nguồn áp suất ảo. Các nguồn áp lực như vậy không phụ thuộc vào phần cứng cơ bản hoặc khả năng hỗ trợ hệ điều hành và có thể được dùng để kiểm thử.

Intl.DurationFormat

Cung cấp phương thức định dạng thời lượng, ví dụ: "1 giờ 40 phút 30 giây" hỗ trợ nhiều ngôn ngữ.

Private Aggregation API: hợp nhất nội dung đóng góp phía máy khách

Sửa đổi API tổng hợp riêng tư để hợp nhất các giá trị đóng góp biểu đồ với cùng một bộ chứa và mã lọc trước khi nhúng vào tải trọng đã mã hoá của báo cáo tổng hợp.

Tính năng Tổng hợp riêng tư áp đặt giới hạn về số lượng dữ liệu đóng góp có thể được nhúng vào một báo cáo tổng hợp, mọi dữ liệu đóng góp bổ sung sẽ bị loại bỏ. Bằng cách hợp nhất các phần đóng góp với nhau khi có thể, chúng ta có thể sử dụng thêm tiện ích ngoài giới hạn. Xin lưu ý rằng việc bỏ qua các giá trị đóng góp thừa, việc hợp nhất các loại giá trị đóng góp này sẽ không ảnh hưởng đến kết quả cuối cùng, ví dụ: báo cáo tóm tắt.

scheduler.yield()

Cung cấp một phương thức để chuyển quyền kiểm soát cho trình duyệt. Phương thức này có thể được dùng để phân chia các tác vụ dài. Việc chờ lời hứa do scheduler.yield() trả về sẽ khiến tác vụ hiện tại mang lại kết quả, tiếp tục trong một tác vụ trình duyệt mới. Bạn có thể dùng tính năng này để cải thiện các vấn đề về khả năng phản hồi do các tác vụ dài gây ra. Các lệnh tiếp tục được ưu tiên để giảm thiểu các vấn đề về hiệu suất của các phương án thay thế hiện có.

API xác thực web: Các phương thức chuyển đổi tuần tự JSON

Các phương thức WebAuthn PublicKeyCredential.toJSON(), parseCreationOptionsFromJSON()parseRequestOptionsFromJSON() cho phép nhà phát triển chuyển đổi tuần tự phản hồi WebAuthn thành đối tượng JSON hoặc chuyển đổi tuần tự đối tượng yêu cầu WebAuthn từ bản trình bày JSON.

Hỗ trợ phạm vi mở rộng (HDR) của WebGPU

Thêm các tham số ánh xạ tông màu vào cấu hình canvas WebGPU và thêm các tuỳ chọn standard (hành vi hiện tại là hạn chế nội dung trong phạm vi SDR của màn hình) làm mặc định và extended (không áp dụng quy định hạn chế này) làm hành vi mới. Điều này cho phép nội dung WebGPU sử dụng toàn bộ phạm vi của màn hình.

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

Trong Chrome 129, bạn có thể chọn sử dụng các bản dùng thử mới về nguồn gốc sau đây.

Giao diện FileSystemObserver

Giao diện FileSystemObserver thông báo cho các trang web về những thay đổi đối với hệ thống tệp. Các trang web quan sát những thay đổi đối với tệp và thư mục trong thiết bị cục bộ của người dùng (như được chỉ định trong WICG/file-system-access) hoặc trong Hệ thống tệp bộ chứa (như được chỉ định trong fs.spec.whatwg.org) và được thông báo về thông tin thay đổi cơ bản, chẳng hạn như loại thay đổi.

Đăng ký dùng thử nguồn gốc FileSystemObserver.

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

Phiên bản Chrome này giới thiệu các tính năng ngừng hoạt động và bị xoá được liệt kê bên dưới. Truy cập vào ChromeStatus.com để xem danh sách các tính năng ngừng hoạt động theo kế hoạch, các tính năng ngừng hoạt động hiện tại và các tính năng đã bị xoá trước đây.

Bản phát hành Chrome này không còn sử dụng một tính năng.

Ngừng sử dụng 0.0.0.0 cho quyền Truy cập mạng riêng

Chrome sẽ chặn quyền truy cập vào địa chỉ IP 0.0.0.0 trước khi triển khai hoàn toàn tính năng Quyền truy cập vào mạng riêng (PNA).

Chrome sẽ ngừng hỗ trợ quyền truy cập trực tiếp vào các điểm cuối mạng riêng tư từ các trang web công khai như một phần của thông số kỹ thuật PNA. Các dịch vụ nghe trên máy chủ cục bộ (127.0.0.0/8) được coi là riêng tư theo quy cách. Bạn có thể bỏ qua tính năng bảo vệ PNA của Chrome bằng cách sử dụng địa chỉ IP 0.0.0.0 để truy cập vào các dịch vụ đang nghe trên máy chủ cục bộ trên macOS và Linux.

Kiểu tấn công này cũng có thể bị lợi dụng trong các cuộc tấn công liên kết lại DNS nhắm đến một ứng dụng web đang nghe trên máy chủ cục bộ.

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

Xoá đối số includeShadowRoots trên DOMParser

Đối số includeShadowRoots là một đối số chưa bao giờ được chuẩn hoá cho hàm DOMParser.parseFromString(). Đối số này cho phép phân tích cú pháp bắt buộc nội dung HTML chứa DOM bóng đổ khai báo. Tính năng này được phân phối trong Chrome 90 như một phần của bản phân phối ban đầu của DOM bóng đổ khai báo.

Giờ đây, phiên bản chuẩn hoá của tính năng này đã có sẵn với các phương thức setHTMLUnsafe()parseHTMLUnsafe(), đối số includeShadowRoots không chuẩn sẽ bị xoá. Bạn nên cập nhật mã như sau:

Thay vì:

((new DOMParser()).parseFromString(html,'text/html',{includeShadowRoots: true});

Sử dụng:

Document.parseHTMLUnsafe(html);

Xoá quá trình chuyển đổi tuần tự DOM bóng không theo tiêu chuẩn

Quá trình triển khai nguyên mẫu của shadow DOM khai báo chứa một phương thức có tên là getInnerHTML() dùng để chuyển đổi tuần tự các cây DOM chứa gốc bóng. Phần đó của nguyên mẫu không được chuẩn hoá với phần còn lại của dom bóng đổ khai báo, thay vào đó, một phần thay thế đã được thiết kế – getHTML().

Do đó, phương thức getInnerHTML() cũ hiện đang bị xoá khỏi Chrome, bạn nên sử dụng getHTML() để thay thế. Phương thức này sẽ sớm tương tác được trên các trình duyệt.

Xoá PointerEvent.getCoalescedEvents() khỏi các ngữ cảnh không an toàn

Nhóm làm việc về sự kiện con trỏ đã hạn chế PointerEvent.getCoalescedEvents() chỉ dành cho các bối cảnh bảo mật cách đây hơn 4 năm, do đó đã xoá API khỏi các bối cảnh không an toàn. Ban đầu, Chrome đã triển khai hành vi cũ và không tuân theo thay đổi về thông số kỹ thuật ngay lập tức do các vấn đề về khả năng tương thích.

Chúng tôi hiện đang xoá tính năng này khỏi các ngữ cảnh không an toàn vì mức sử dụng Chrome trong các ngữ cảnh không an toàn hóa ra rất thấp.