Xuất bản: Ngày 16 tháng 10 năm 2024
Trừ phi có ghi chú khác, các thay đổi sau đây áp dụng cho bản phát hành mới nhất của kênh Chrome beta 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 131 là phiên bản thử nghiệm kể từ ngày 16 tháng 10 năm 2024. Bạn có thể tải phiên bản mới nhất xuống trên 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 8 tính năng CSS mới.
CSS Anchor Positioning: anchor-scope
Thuộc tính anchor-scope cho phép giới hạn khả năng hiển thị của tên điểm neo trong một cây con nhất định.
CSS font-variant-emoji
Thuộc tính font-variant-emoji của CSS cung cấp một cách để kiểm soát giữa các glyph biểu tượng cảm xúc có màu (kiểu biểu tượng cảm xúc) và đơn sắc (kiểu văn bản). Bạn cũng có thể thực hiện việc này bằng cách thêm một Bộ chọn biến thể biểu tượng cảm xúc, cụ thể là U+FE0E cho văn bản và U+FE0F cho biểu tượng cảm xúc, sau mỗi điểm mã biểu tượng cảm xúc.
CSS highlight inheritance (Kế thừa điểm đánh dấu CSS)
Với tính năng kế thừa điểm đánh dấu CSS, các lớp giả điểm đánh dấu CSS (chẳng hạn như ::selection và ::highlight) sẽ kế thừa các thuộc tính của chúng thông qua chuỗi điểm đánh dấu giả, chứ không phải chuỗi phần tử. Kết quả là một mô hình trực quan hơn để kế thừa các thuộc tính trong phần làm nổi bật.
Để tìm hiểu thêm, hãy đọc bài đăng trên blog Các thay đổi về tính kế thừa đối với kiểu chọn CSS do Stephen Chenney của Igalia viết.
Cải tiến cấu trúc định kiểu của các phần tử <details> và <summary>
Hỗ trợ thêm kiểu CSS cho cấu trúc của các phần tử <details> và <summary> để cho phép sử dụng các phần tử này trong nhiều trường hợp hơn khi các tiện ích tiết lộ hoặc tiện ích đàn accordion được tạo trên web. Cụ thể, thay đổi này sẽ xoá các hạn chế ngăn việc đặt thuộc tính hiển thị trên những phần tử này và thêm một phần tử giả ::details-content để tạo kiểu cho vùng chứa của phần mở rộng và thu gọn.
@page hộp lề
Thêm chế độ hỗ trợ cho các hộp lề trang khi in tài liệu trên web hoặc xuất tài liệu đó dưới dạng PDF.
Các hộp lề @page cho phép bạn xác định nội dung trong vùng lề của một trang, chẳng hạn như cung cấp tiêu đề và chân trang tuỳ chỉnh, thay vì sử dụng tiêu đề và chân trang tích hợp do trình duyệt tạo.
Hộp lề được xác định bằng cách dùng một quy tắc @ bên trong quy tắc @page CSS. Giao diện và nội dung của hộp lề được chỉ định bằng các thuộc tính CSS bên trong quy tắc @, bao gồm cả thuộc tính content. Các bộ đếm cũng được hỗ trợ để đánh số trang. Quy cách này xác định 2 tên bộ đếm đặc biệt: page cho số trang hiện tại và pages cho tổng số trang.
Cú pháp hỗ trợ @property <string>
Hỗ trợ tên thành phần cú pháp <string> cho các thuộc tính tuỳ chỉnh đã đăng ký.
Hỗ trợ currentcolor trong cú pháp màu tương đối
Cho phép dùng màu tương đối trong CSS (bằng từ khoá from) để dùng currentcolor làm cơ sở. Nhờ đó, bạn có thể đặt các màu bổ sung, dựa trên màu văn bản của một phần tử, cho đường viền, bóng hoặc nền của phần tử đó.
Tính năng này cũng bao gồm các trường hợp sử dụng trong đó các hàm màu được lồng với một phần phụ thuộc vào currentcolor, ví dụ: color-mix(in srgb, rgb(from currentcolor r g b), white)) hoặc rgb(from rgb(from currentcolor 1 g b) b g r).
Hỗ trợ các tài nguyên SVG bên ngoài cho các thuộc tính clip-path, fill, stroke và marker-*
Tính năng này bổ sung khả năng hỗ trợ cho các tham chiếu bên ngoài đối với đường dẫn cắt, điểm đánh dấu và máy chủ vẽ (đối với các thuộc tính "fill" và "stroke"). Ví dụ: clip-path: url("resources.svg#myPath").
Web API
Direct Sockets API
Cho phép Các ứng dụng web riêng biệt thiết lập giao thức kiểm soát truyền (TCP) và giao tiếp giao thức dữ liệu người dùng (UDP) trực tiếp với các thiết bị và hệ thống mạng, cũng như theo dõi và chấp nhận các kết nối đến.
Miễn tiêu đề Speculation-Rules khỏi các quy định hạn chế về CSP
Cập nhật mối liên kết giữa quy tắc suy đoán và CSP để CSP chỉ áp dụng cho <script type=speculationrules>, chứ không áp dụng cho tiêu đề Speculation-Rules. Chính sách tập lệnh của CSP nhằm mục đích bảo vệ khỏi việc chèn tập lệnh vào HTML và mô hình mối đe doạ CSP không liên quan đến tiêu đề HTTP. Điều này giúp bạn dễ dàng triển khai các quy tắc suy đoán từ CDN và các máy chủ biên khác.
FedCM là một tín hiệu đáng tin cậy cho Storage Access API
Điều chỉnh FedCM và Storage Access API bằng cách cấp cho FedCM trước đó một lý do hợp lệ để tự động phê duyệt yêu cầu truy cập vào bộ nhớ.
Khi người dùng cấp quyền sử dụng danh tính của họ với một nhà cung cấp danh tính (IdP) bên thứ ba trên một bên đáng tin cậy (RP), nhiều IdP yêu cầu cookie của bên thứ ba hoạt động đúng cách và an toàn. Đề xuất này nhằm đáp ứng yêu cầu đó một cách riêng tư và an toàn bằng cách cập nhật các quy trình kiểm tra quyền của Storage Access API (SAA) để không chỉ chấp nhận quyền truy cập do lời nhắc truy cập bộ nhớ cấp mà còn chấp nhận quyền truy cập do lời nhắc FedCM cấp.
Một thuộc tính chính của cơ chế này là giới hạn việc cấp quyền cho những trường hợp được RP cho phép một cách rõ ràng bằng chính sách quyền FedCM, thực thi chế độ kiểm soát trên mỗi khung hình cho RP và ngăn chặn hoạt động giám sát thụ động của IdP ngoài những chức năng mà FedCM đã cấp.
Giá trị COOP noopener-allow-popups
Một số nguồn gốc có thể chứa nhiều ứng dụng với các mức độ yêu cầu bảo mật khác nhau. Trong những trường hợp đó, bạn nên ngăn các tập lệnh chạy trong một ứng dụng có thể mở và tạo tập lệnh cho các trang của một ứng dụng khác có cùng nguồn gốc.
Trong những trường hợp như vậy, tài liệu sẽ có lợi nếu đảm bảo rằng trình mở không thể tạo tập lệnh cho tài liệu đó, ngay cả khi tài liệu mở là tài liệu cùng nguồn. Giá trị noopener-allow-popups Cross-Origin-Opener-Policy cho phép các tài liệu xác định hành vi đó.
Private Aggregation API: tăng giới hạn đóng góp lên 100 cho các đối tượng gọi Protected Audience
Cho phép các trình chạy tập lệnh Protected Audience đóng góp tối đa 100 lần cho mỗi báo cáo Private Aggregation (Tổng hợp riêng tư), so với giới hạn hiện tại là 20.
Private Aggregation giới hạn số lượng lượt đóng góp vào biểu đồ có thể được nhúng trong một báo cáo tổng hợp duy nhất, loại bỏ mọi lượt đóng góp bổ sung. Các đối tượng gọi Shared Storage có thể giải quyết giới hạn này bằng cách gọi một thao tác Shared Storage khác. Tuy nhiên, các đối tượng gọi Protected Audience API không có bộ nhớ liên tục, nên họ sẽ mất các lượt đóng góp dư thừa khi kết thúc phiên đấu giá. Xin lưu ý rằng thay đổi này không ảnh hưởng đến quyền riêng tư vì các đóng góp của API vẫn bị giới hạn bởi cùng một ngân sách quyền riêng tư.
Do khoảng đệm, mỗi báo cáo Protected Audience sẽ có tải trọng lớn hơn, ngay cả khi không cần giới hạn đóng góp lớn hơn. Chúng tôi dự đoán rằng những báo cáo lớn hơn này sẽ làm tăng chi phí vận hành Dịch vụ tổng hợp.
Chọn chế độ nới lỏng trình phân tích cú pháp
Thay đổi này giúp trình phân tích cú pháp HTML cho phép các thẻ bổ sung trong <select> ngoài <option>, <optgroup> và <hr>.
Thay đổi này hỗ trợ tính năng <select> có thể tuỳ chỉnh nhưng sẽ được phát hành trước vì có thể thực hiện riêng và có một số rủi ro về khả năng tương thích mà nhóm Chrome muốn nhận được ý kiến phản hồi.
WebGPU: Khoảng cách cắt
Thêm tính năng GPU không bắt buộc clip-distances cho phép đặt khoảng cách cắt do người dùng xác định trong các đầu ra của chương trình đổ bóng đỉnh. Kỹ thuật này đặc biệt hữu ích cho những ứng dụng cần cắt tất cả các đỉnh trong một cảnh nằm ngoài mặt phẳng do người dùng xác định, chẳng hạn như nhiều ứng dụng CAD.
WebGPU: GPUCanvasContext getConfiguration()
Sau khi gọi GPUCanvasContext configure() bằng một từ điển cấu hình, bạn có thể sử dụng phương thức GPUCanvasContext getConfiguration() để kiểm tra cấu hình ngữ cảnh canvas. Nhóm này bao gồm các thành viên device, format, usage, viewFormats, colorSpace, toneMapping và alphaMode của GPU.
Như đã thảo luận trong vấn đề 4828, các ứng dụng web có thể sử dụng API này để phát hiện xem WebGPU có hỗ trợ canvas HDR hay không.
WebHID trên các worker chuyên dụng
Cho phép WebHID trong ngữ cảnh worker chuyên dụng. Điều này cho phép bạn thực hiện các thao tác I/O và xử lý dữ liệu từ một thiết bị HID trên một luồng riêng biệt, giúp giảm tác động đến hiệu suất trên luồng chính.
WebRTC RTCRtpEncodingParameters.scaleResolutionDownTo
Một API định cấu hình bộ mã hoá WebRTC để mở rộng khung hình đầu vào nếu các khung hình này lớn hơn maxWidth và maxHeight được chỉ định. API này tương tự như scaleResolutionDownBy, ngoại trừ việc các ràng buộc về độ phân giải được thể hiện bằng các thuật ngữ tuyệt đối (ví dụ: 640x360) thay vì các thuật ngữ tương đối (ví dụ: giảm tỷ lệ xuống 2), tránh các tình trạng xung đột liên quan đến việc thay đổi kích thước khung hình đầu vào ngay lập tức.
Bản dùng thử theo nguyên gốc mới
Trong Chrome 131, bạn có thể chọn tham gia các thử nghiệm theo nguyên gốc mới sau đây.
Số liệu thống kê về việc phát WebAudio
Tính năng AudioContext.playoutStats cho phép một ứng dụng đo lường chất lượng và độ trễ của việc phát âm thanh bằng WebAudio.
Summarizer API
Một API JavaScript để tạo bản tóm tắt cho văn bản đầu vào, được hỗ trợ bởi một mô hình ngôn ngữ AI.
Bản không dùng nữa và xoá
Phiên bản Chrome này giới thiệu những thay đổi sau đây về việc ngừng sử dụng và xoá. Hãy truy cập ChromeStatus.com để xem danh sách các tính năng dự kiến sẽ không dùng nữa, các tính năng hiện không dùng nữa và các tính năng đã bị xoá trước đây.
Bản phát hành Chrome này loại bỏ 3 tính năng.
Xoá thuộc tính CSS Anchor Positioning inset-area
Với quyết định của Nhóm công tác CSS về việc đổi tên thuộc tính inset-area thành position-area, việc xoá này sẽ dọn dẹp quá trình triển khai trong Chromium cho một tính năng tuân thủ các tiêu chuẩn.
Xoá quyền tắt BeforeunloadEventCancelByPreventDefault
Tính năng BeforeunloadEventCancelByPreventDefault được phát hành trong Chrome 117, nhưng có một chính sách doanh nghiệp cho phép buộc tắt cờ này. Chính sách dành cho doanh nghiệp này sẽ bị xoá trong Chrome 131.
Xoá phương thức GPUAdapter requestAdapterInfo() không theo tiêu chuẩn
Nhóm công tác WebGPU nhận thấy việc requestAdapterInfo() kích hoạt lời nhắc cấp quyền là không thực tế, vì vậy, họ đã xoá lựa chọn đó và thay thế bằng thuộc tính GPUAdapter info để các nhà phát triển web có thể nhận được giá trị GPUAdapterInfo tương tự một cách đồng bộ.