Ngày xuất bản: 25 tháng 6 năm 2025
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 139 là phiên bản thử nghiệm kể từ ngày 25 tháng 6 năm 2025. 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 từ Cửa hàng Google Play trên Android.
CSS
Bản phát hành này bổ sung 6 tính năng mới về CSS và giao diện người dùng.
Đoản mạch var()
và attr()
Khi không dùng phương án dự phòng, các hàm var()
và attr()
sẽ đánh giá mà không tìm kiếm các chu kỳ trong phương án dự phòng đó. CSS sau đây hoạt động vì --green
và --blue
tồn tại.
--green: green;
--blue: blue;
--a: var(--green, var(--b));
--b: var(--blue, var(--a));
Thuộc tính caret-animation
của CSS
Chrome đã hỗ trợ ảnh động của thuộc tính caret-color
, nhưng khi ảnh động, hành vi nhấp nháy mặc định của dấu nháy đã ảnh hưởng đến ảnh động. Thuộc tính caret-animation
của CSS có hai giá trị có thể có: auto
và manual
, trong đó auto
có nghĩa là mặc định của trình duyệt (nhấp nháy) và manual
có nghĩa là nhà phát triển web đang kiểm soát hiệu ứng nhấp nháy của dấu nháy. Thuộc tính này cũng cho phép người dùng tắt hiệu ứng nhấp nháy bằng cách sử dụng biểu định kiểu người dùng.
Tạo hình góc
Bật tính năng tạo kiểu cho các góc, ngoài border-radius
hiện có, bằng cách chỉ định hình dạng hoặc độ cong của góc. Nhờ đó, bạn có thể tạo các hình dạng như hình tròn vuông, vết cắt và vết khoét, đồng thời tạo hiệu ứng chuyển động giữa các hình dạng đó. Tìm hiểu thêm trong bài đăng này của Amit Sheen.
Tiếp tục chạy hiệu ứng chuyển đổi khi chuyển sang giá trị chuyển đổi ban đầu.
Khi các thuộc tính liên quan đến hiệu ứng chuyển đổi thay đổi, chúng chỉ ảnh hưởng đến các hiệu ứng chuyển đổi mới bắt đầu. Điều này có nghĩa là nếu bạn thay đổi các thuộc tính chuyển đổi, trừ phi bạn cũng thay đổi các thuộc tính có ảnh động chuyển đổi đang hoạt động, nếu không, các ảnh động chuyển đổi đó sẽ tiếp tục với thời lượng, tốc độ tăng tốc, v.v. đã chỉ định trước đó. Blink đã huỷ các hiệu ứng chuyển đổi không chính xác khi thuộc tính chuyển đổi được đặt thành "none", mặc dù thuộc tính này không huỷ các hiệu ứng chuyển đổi nếu bạn chỉ thay đổi transition-duration. Với tính năng này, blink sẽ nhất quán với webkit và gecko, cho phép các hiệu ứng chuyển đổi đang hoạt động tiếp tục chạy, trừ phi hoặc cho đến khi giá trị thuộc tính của chúng thay đổi, kích hoạt một bản cập nhật hiệu ứng chuyển đổi mới.
Hàm tuỳ chỉnh CSS
Hàm tuỳ chỉnh tương tự như thuộc tính tuỳ chỉnh, nhưng thay vì trả về một giá trị cố định duy nhất, hàm tuỳ chỉnh sẽ trả về các giá trị dựa trên các thuộc tính tuỳ chỉnh, tham số và điều kiện khác.
@function --negate(--value) {
result: calc(var(--value) * -1);
}
div {
--gap: 1em;
margin-top: --negate(var(--gap));
}
Hỗ trợ width
và height
dưới dạng thuộc tính trình bày trên các phần tử <svg>
được lồng
Hỗ trợ việc áp dụng width
và height
làm thuộc tính trình bày trên các phần tử <svg>
lồng nhau thông qua cả mã đánh dấu SVG và CSS. Phương pháp kép này mang lại sự linh hoạt cao hơn nữa, cho phép bạn quản lý và tạo kiểu cho các phần tử SVG hiệu quả hơn trong các thiết kế phức tạp.
Web API
Tệp kê khai ứng dụng web: chỉ định điều kiện cập nhật, URL biểu tượng là Cache-Control: immutable
Chỉ định một thuật toán đủ điều kiện cập nhật trong thông số kỹ thuật tệp kê khai. Điều này giúp quy trình cập nhật mang tính xác định và dự đoán hơn, giúp nhà phát triển kiểm soát tốt hơn việc (và thời điểm) cập nhật sẽ áp dụng cho các bản cài đặt hiện có, đồng thời cho phép xoá "giới hạn kiểm tra bản cập nhật" mà các tác nhân người dùng hiện cần triển khai để tránh lãng phí tài nguyên mạng.
Cải thiện hiệu suất của tính năng Cảm biến độ sâu WebXR
Cung cấp một số cơ chế mới để tuỳ chỉnh hành vi của tính năng cảm biến độ sâu trong một phiên WebXR, với mục tiêu cải thiện hiệu suất của quá trình tạo hoặc sử dụng vùng đệm độ sâu. Các cơ chế chính được hiển thị là: khả năng yêu cầu vùng đệm độ sâu thô hoặc mượt mà, khả năng yêu cầu thời gian chạy dừng hoặc tiếp tục cung cấp vùng đệm độ sâu và khả năng hiển thị vùng đệm độ sâu không hoàn toàn phù hợp với chế độ xem của người dùng, để tác nhân người dùng không cần thực hiện các phép chiếu lại không cần thiết cho mỗi khung hình.
Cho phép nhiều ký tự hơn trong các API DOM của JavaScript
Trình phân tích cú pháp HTML luôn (hoặc trong một thời gian dài) cho phép các phần tử và thuộc tính có nhiều ký tự và tên hợp lệ, nhưng các API DOM JavaScript tạo ra các phần tử và thuộc tính tương tự thì nghiêm ngặt hơn và không khớp với trình phân tích cú pháp. Thay đổi này nới lỏng quy trình xác thực các API DOM JavaScript để khớp với trình phân tích cú pháp HTML.
Lệnh gọi request-close
Các phần tử hộp thoại có thể đóng thông qua nhiều cơ chế, đôi khi nhà phát triển muốn có khả năng ngăn việc đóng. Để đạt được điều này, các hộp thoại sẽ kích hoạt một sự kiện huỷ. Ban đầu, sự kiện này chỉ được kích hoạt thông qua một yêu cầu đóng (ví dụ: nhấn phím Esc
), gần đây, một hàm requestClose()
JS đã được thêm vào và cũng kích hoạt sự kiện huỷ. Lệnh request-close
mang đến khả năng mới đó cho API lệnh gọi khai báo.
WebGPU: Hỗ trợ hoạ tiết 3D cho các định dạng nén BC và ASTC
Các tính năng texture-compression-bc-sliced-3d
và texture-compression-astc-sliced-3d
của WebGPU lần lượt bổ sung khả năng hỗ trợ kết cấu 3D cho các định dạng nén BC và ASTC.
Xác nhận thanh toán an toàn: Khoá liên kết với trình duyệt
Thêm một chữ ký mật mã bổ sung vào các câu khẳng định Xác nhận thanh toán an toàn và quy trình tạo thông tin đăng nhập. Khoá riêng tư tương ứng không được đồng bộ hoá trên các thiết bị. Điều này giúp nhà phát triển web đáp ứng các yêu cầu về việc liên kết thiết bị cho các giao dịch thanh toán.
Xác nhận thanh toán an toàn: Làm mới trải nghiệm người dùng
Cập nhật các phần tử UX cho hộp thoại SPC trên Chrome dành cho Android. Ngoài việc trình bày UX, những nội dung sau đây sẽ được thêm vào:
- Cho phép người bán cung cấp danh sách không bắt buộc gồm các biểu trưng của pháp nhân thanh toán liên quan đến khoản thanh toán sẽ được hiển thị.
- Trả về các trạng thái đầu ra khác nhau cho người bán, tuỳ thuộc vào việc người dùng muốn tiếp tục giao dịch mà không có SPC hay huỷ giao dịch.
- Thêm một trường nhãn thông tin thanh toán mới vào công cụ thanh toán để văn bản xuất hiện trên hai dòng.
WebGPU core-features-and-limits
Tính năng core-features-and-limits
cho biết rằng một bộ điều hợp và thiết bị WebGPU hỗ trợ các tính năng và giới hạn cốt lõi của thông số kỹ thuật.
Bản sửa lỗi ứng viên ưu tiên cho tính năng cố định vị trí khi cuộn
Hiện tại, thuật toán neo cuộn sẽ chọn các đề xuất ưu tiên khi các đề xuất này có sẵn dưới dạng mục tiêu neo. Các đề xuất ưu tiên hiện là một phần tử có thể chỉnh sửa được tập trung và có tính năng đánh dấu nội dung tìm thấy trên trang. Điều này có thể gây ra trải nghiệm người dùng không tối ưu nếu có một phần tử contenteditable lớn được lấy làm tâm điểm có nội dung đã thay đổi ngoài màn hình (hậu quả là con trỏ bị dịch chuyển). Bản sửa lỗi này thay đổi thuật toán: thay vì chọn ứng viên ưu tiên làm tâm, hãy dùng ứng viên làm phạm vi hoặc gốc của thuật toán chọn tâm thông thường, thuật toán này sẽ chọn phần tử sâu nhất trên màn hình làm tâm.
Hỗ trợ thuộc tính async
cho các phần tử <script>
SVG
Giao diện SVGScriptElement
trong SVG 2.0 giới thiệu thuộc tính async
, tương tự như HTMLScriptElement
. Thuộc tính này cho phép các tập lệnh được thực thi không đồng bộ, cải thiện hiệu suất và khả năng phản hồi của các ứng dụng web sử dụng SVG.
On-device Web Speech API
Tính năng này bổ sung khả năng hỗ trợ tính năng nhận dạng lời nói trên thiết bị cho Web Speech API, cho phép các trang web đảm bảo rằng cả âm thanh và lời nói được phiên âm đều không được gửi đến dịch vụ của bên thứ ba để xử lý. Các trang web có thể truy vấn trạng thái sẵn có của tính năng nhận dạng lời nói trên thiết bị cho các ngôn ngữ cụ thể, nhắc người dùng cài đặt các tài nguyên cần thiết cho tính năng nhận dạng lời nói trên thiết bị và chọn giữa tính năng nhận dạng lời nói trên thiết bị hoặc dựa trên đám mây khi cần.
Xoá window.name
đối với các thao tác điều hướng giữa các trang web chuyển đổi nhóm bối cảnh duyệt web
Giá trị của thuộc tính window.name
hiện được giữ nguyên trong suốt thời gian tồn tại của một thẻ, ngay cả khi hoạt động điều hướng chuyển đổi các nhóm bối cảnh duyệt web. Điều này có thể làm rò rỉ thông tin và có khả năng được dùng làm vectơ theo dõi.
Việc xoá tài sản window.name
sẽ giải quyết vấn đề này. Đây là một thay đổi có rủi ro thấp vì việc tra cứu một ngữ cảnh duyệt web theo tên sẽ không hoạt động nếu ngữ cảnh đó nằm trong một nhóm ngữ cảnh duyệt web khác, vì vậy, tên này thực sự không hữu ích.
Chính sách doanh nghiệp: ClearWindowNameCrossSiteBrowsing
(sẽ ngừng hoạt động trong Chrome 142).
Tiện ích phạm vi ứng dụng web
Thêm một trường tệp kê khai ứng dụng web "scope_extensions"
cho phép các ứng dụng web mở rộng phạm vi của chúng sang các nguồn khác.
Điều này cho phép các trang web kiểm soát nhiều miền phụ và miền cấp cao nhất được trình bày dưới dạng một ứng dụng web duy nhất. Yêu cầu các nguồn gốc được liệt kê xác nhận mối liên kết với ứng dụng web bằng cách sử dụng tệp cấu hình .well-known/web-app-origin-association
.
Phát hiện loại MIME JSON tuân thủ quy cách
Giờ đây, Chromium nhận dạng tất cả các loại MIME JSON hợp lệ theo quy cách mimesniff của WHATWG. Điều này bao gồm mọi loại MIME có kiểu phụ kết thúc bằng +json
, ngoài application/json
và text/json
truyền thống. Thay đổi này đảm bảo rằng các API và tính năng web dựa trên tính năng phát hiện JSON hoạt động nhất quán với tiêu chuẩn nền tảng web và các trình duyệt khác. Động lực chính cho thay đổi này là để khắc phục hành vi nhập mô-đun JSON, trong đó các loại MIME JSON hợp lệ trước đây như text/html+json
và image/svg+json
sẽ không tải được dưới dạng mô-đun.
Private Aggregation API: báo cáo lỗi tổng hợp
Có nhiều điều kiện lỗi có thể xảy ra khi sử dụng Private Aggregation API. Ví dụ: ngân sách quyền riêng tư có thể hết, ngăn chặn mọi hoạt động đóng góp biểu đồ tiếp theo. Tính năng này cho phép nhà phát triển đăng ký các giá trị đóng góp cho biểu đồ chỉ được gửi nếu một loại lỗi cụ thể xảy ra. Tính năng này hỗ trợ đo lường tần suất của các điều kiện lỗi và chia các hoạt động đo lường này theo các phương diện có liên quan do nhà phát triển chỉ định (ví dụ: phiên bản mã đã triển khai). Vì bản thân các lỗi có thể là thông tin trên nhiều trang web, nên chúng tôi không thể chỉ cần hiển thị các lỗi đó cho người dùng trên trang mà không có cookie của bên thứ ba. Thay vào đó, tính năng này sẽ sử dụng lại các quy trình báo cáo tổng hợp hiện có, có thêm nhiễu thông qua Dịch vụ tổng hợp.
API Báo cáo lỗi: Chỉ định tính năng báo cáo lỗi để chỉ nhận báo cáo lỗi
Tính năng này đảm bảo nhà phát triển chỉ nhận được báo cáo sự cố bằng cách chỉ định điểm cuối có tên crash-reporting
. Theo mặc định, báo cáo sự cố được gửi đến điểm cuối default
. Điểm cuối này nhận được nhiều loại báo cáo khác ngoài báo cáo sự cố. Nhà phát triển có thể cung cấp một URL riêng cho điểm cuối nổi tiếng có tên là crash-reporting
để chuyển hướng báo cáo sự cố đến đó, thay vì điểm cuối default
.
Giảm việc lấy dấu vân tay trong thông tin tiêu đề Accept-Language
Giảm lượng thông tin mà chuỗi giá trị tiêu đề Accept-Language
hiển thị trong các yêu cầu HTTP và trong navigator.languages
. Thay vì gửi danh sách đầy đủ các ngôn ngữ ưu tiên của người dùng trong mọi yêu cầu HTTP có tiêu đề Accept-Language
. Giờ đây, chúng tôi gửi ngôn ngữ mà người dùng ưu tiên nhất trong tiêu đề Accept-Language
. Để giảm thiểu rủi ro về khả năng tương thích, lần ra mắt ban đầu sẽ giảm thông tin trong tiêu đề HTTP, chúng tôi sẽ giảm các phương thức truy xuất JavaScript navigator.languages
có liên quan trong tương lai.
Kích hoạt sự kiện lỗi thay vì truyền cho worker bị chặn CSP
Khi bị Chính sách bảo mật nội dung (CSP) chặn, Chrome hiện sẽ gửi một SecurityError
từ hàm khởi tạo của Worker và SharedWorker. Thông số kỹ thuật yêu cầu kiểm tra CSP trong quá trình tìm nạp và kích hoạt các sự kiện lỗi không đồng bộ thay vì tạo ra một ngoại lệ khi một tập lệnh chạy new
Worker(url)
hoặc new SharedWorker(url)
. Thay đổi này giúp Chrome tuân thủ quy cách: không gặp lỗi trong quá trình tạo và kích hoạt các sự kiện lỗi không đồng bộ.
Mức âm thanh cho các khung hình được mã hoá RTC
Hiển thị cho web mức âm thanh của một khung được mã hoá truyền bằng RTCPeerConnection
và hiển thị bằng WebRTC Encoded Transform.
Bản dùng thử theo nguyên gốc mới
Trong Chrome 139, bạn có thể chọn sử dụng các thử nghiệm nguồn gốc mới sau đây.
Prompt API
Prompt API được thiết kế để tương tác với mô hình ngôn ngữ AI bằng cách sử dụng dữ liệu đầu vào là văn bản, hình ảnh và âm thanh. Mô hình này hỗ trợ nhiều trường hợp sử dụng, từ tạo chú thích cho hình ảnh và thực hiện tìm kiếm bằng hình ảnh đến chép lời âm thanh, phân loại sự kiện âm thanh, tạo văn bản theo hướng dẫn cụ thể và trích xuất thông tin hoặc thông tin chi tiết từ văn bản. Nó hỗ trợ đầu ra có cấu trúc để đảm bảo rằng các phản hồi tuân thủ một định dạng được xác định trước, thường được thể hiện dưới dạng một lược đồ JSON, nhằm nâng cao khả năng tuân thủ phản hồi và tạo điều kiện tích hợp liền mạch với các ứng dụng hạ nguồn yêu cầu định dạng đầu ra được tiêu chuẩn hoá. API này cũng được cung cấp trong Tiện ích của Chrome. Bản dùng thử theo nguyên gốc này dành cho việc hiển thị trên web.
Thuộc tính chặn kết xuất tốc độ khung hình đầy đủ
Chúng tôi đề xuất thêm một mã thông báo chặn hiển thị mới có tốc độ khung hình đầy đủ vào các thuộc tính chặn. Khi trình kết xuất bị chặn bằng mã thông báo tốc độ khung hình đầy đủ, trình kết xuất sẽ hoạt động ở tốc độ khung hình thấp hơn để dành nhiều tài nguyên hơn cho quá trình tải.
Chế độ tương thích WebGPU
Thêm một tập hợp con được hạn chế nhẹ của API WebGPU có khả năng chạy các API đồ hoạ cũ hơn như OpenGL và Direct3D11. Bằng cách chọn sử dụng chế độ này và tuân thủ các ràng buộc của chế độ này, nhà phát triển có thể mở rộng phạm vi tiếp cận của các ứng dụng WebGPU đến nhiều thiết bị cũ không có các API đồ hoạ hiện đại, rõ ràng mà WebGPU cốt lõi yêu cầu. Đối với các ứng dụng đơn giản, thay đổi duy nhất bắt buộc là chỉ định "compatibility"
featureLevel khi gọi requestAdapter
. Đối với các ứng dụng nâng cao hơn, bạn có thể cần phải sửa đổi một số điểm để đáp ứng các hạn chế của chế độ này. Vì Chế độ tương thích là một tập hợp con, nên các ứng dụng kết quả cũng là các ứng dụng WebGPU Core hợp lệ và sẽ chạy ngay cả trên những tác nhân người dùng không hỗ trợ Chế độ tương thích.
Ngừng sử dụng và xoá
Phiên bản Chrome này giới thiệu các tính năng không dùng nữa và bị xoá như được liệt kê bên dưới. 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ỏ 2 tính năng.
Ngừng hỗ trợ macOS 11
Chrome 138 là bản phát hành cuối cùng hỗ trợ macOS 11. Kể từ Chrome 139, macOS 11 sẽ không được hỗ trợ vì nằm ngoài khung thời gian hỗ trợ của Apple. Việc chạy trên một hệ điều hành được hỗ trợ là điều cần thiết để duy trì tính bảo mật. Trên máy Mac chạy macOS 11, Chrome sẽ tiếp tục hoạt động, hiển thị một thanh thông tin cảnh báo nhưng sẽ không cập nhật thêm. Nếu muốn cập nhật Chrome, người dùng cần cập nhật máy tính lên phiên bản macOS được hỗ trợ. Đối với các bản cài đặt mới của Chrome 139 trở lên, bạn sẽ cần macOS 12 trở lên.
Xoá tính năng tự động phát hiện bộ ký tự ISO-2022-JP trong HTML
Có các vấn đề bảo mật đã biết liên quan đến tính năng tự động phát hiện bộ ký tự cho ISO-2022-JP. Vì mức sử dụng rất thấp và Safari không hỗ trợ tính năng tự động phát hiện ISO-2022-JP, nên Chrome sẽ xoá tính năng hỗ trợ này để loại bỏ các vấn đề về bảo mật.