Ngừng sử dụng và xoá API trong Chrome 53

Joe Medley
Joe Medley

Trong hầu hết các phiên bản Chrome, chúng ta đều thấy một số lượng đáng kể các bản cập nhật và cải tiến đối với sản phẩm, hiệu suất của sản phẩm cũng như các tính năng của Nền tảng web. Bài viết này mô tả các thay đổi trong Chrome 52, đang ở giai đoạn thử nghiệm kể từ ngày 9 tháng 6. Danh sách này có thể thay đổi bất cứ lúc nào.

Phương pháp mật mã dựa trên DHE sẽ bị loại bỏ

Tóm tắt: Thuật toán mật mã dựa trên DHE đã bị xoá trong Chrome 53 dành cho máy tính vì không đủ để sử dụng trong thời gian dài. Máy chủ nên sử dụng ECDHE (nếu có) hoặc là thuật toán mật mã RSA thuần tuý nếu không có.

Ý định xoá | Trình theo dõi trạng thái Chrome | Lỗi Chromium

Năm ngoái, chúng tôi sử dụng Chrome kích thước nhóm TLS Diffie-Hellman tối thiểu từ 512-bit đến 1024-bit; tuy nhiên, 1024-bit là không đủ cho lâu dài. Các chỉ số báo cáo rằng khoảng 95% kết nối DHE mà Chrome nhìn thấy sử dụng DHE 1024 bit. Điều này kết hợp với cách thương lượng DHE trong TLS, khiến việc chuyển qua phiên bản 1024 bit trở nên khó khăn.

Mặc dù có một bản đặc tả nháp khắc phục vấn đề này, nhưng đây vẫn là bản nháp và yêu cầu thay đổi cả máy khách và máy chủ. Trong khi đó, ECDHE đã được triển khai và triển khai rộng rãi. Máy chủ nên nâng cấp lên ECDHE nếu có. Nếu không, hãy đảm bảo bạn đã bật bộ thuật toán mật mã RSA thuần tuý.

Các thuật toán mã hoá dựa trên DHE không còn được dùng nữa kể từ Chrome 51. Tính năng hỗ trợ sẽ bị xoá khỏi phiên bản dành cho máy tính trong Chrome 53.

Cảnh báo về việc không dùng FileError

Tóm tắt: Dự kiến sẽ xoá giao diện FileError không dùng nữa trong Chrome 54. Thay thế các tệp tham chiếu đến err.code bằng err.nameerr.message.

Ý định xoá | Trình theo dõi trạng thái Chrome | Lỗi Chromium

Phiên bản hiện tại của tiêu chuẩn File API (API Tệp) không chứa giao diện FileError và tính năng hỗ trợ này đã ngừng hoạt động vào khoảng năm 2013. Trong Chrome 53, cảnh báo về việc ngừng sử dụng này sẽ được in vào bảng điều khiển DevTools:

"FileError" không còn được dùng nữa và sẽ bị xoá trong phiên bản 54. Vui lòng sử dụng thuộc tính "name" (tên) hoặc "message" (thông báo) của lỗi thay vì "code".

Điều này có các hiệu ứng khác nhau trong các ngữ cảnh khác nhau.

  • FileReader.errorFileWriter.error sẽ là các đối tượng DOMException thay vì các đối tượng FileError.
  • Đối với các lệnh gọi FileSystem không đồng bộ, ErrorCallback sẽ được truyền FileError.ErrorCode thay vì FileError.
  • Đối với các lệnh gọi FileSystem đồng bộ, FileError.ErrorCode sẽ được gửi thay vì FileError.

Thay đổi này chỉ ảnh hưởng đến mã dựa vào việc so sánh trực tiếp mã của thực thể lỗi (e.code) với các giá trị enum FileError (FileError.NOT_FOUND_ERR, v.v.). Mã kiểm thử các hằng số được mã hoá cứng (ví dụ: e.code === 1) có thể không thành công do báo cáo lỗi không chính xác cho người dùng.

May mắn là các loại lỗi FileError, DOMErrorDOMException đều có chung thuộc tính namemessage, đặt tên nhất quán cho các trường hợp lỗi (nói cách khác là e.name === "NotFoundError"). Mã phải sử dụng các thuộc tính đó. Điều này sẽ hoạt động trên nhiều trình duyệt và tiếp tục hoạt động sau khi chính giao diện FileError bị xoá.

Dự kiến Chrome 54 sẽ xoá FileError.

Xoá thuộc tính kết quả cho <input type=search>

TL;DR: Thuộc tính results đang bị xoá vì không thuộc bất kỳ tiêu chuẩn nào và được triển khai không nhất quán trên các trình duyệt.

Ý định xoá | Trình theo dõi trạng thái Chrome | Lỗi Chromium

Giá trị results chỉ được triển khai trong webkit và hoạt động không nhất quán trên các giá trị đó. Ví dụ: Chrome thêm biểu tượng kính lúp vào hộp nhập, trong khi trên máy tính Safari, biểu tượng này kiểm soát số lượt tìm kiếm trước đó xuất hiện trong một cửa sổ bật lên bằng cách nhấp vào biểu tượng kính lúp. Vì không thuộc bất kỳ tiêu chuẩn nào nên tính năng này sẽ ngừng hoạt động.

Nếu vẫn cần thêm biểu tượng tìm kiếm vào trường nhập dữ liệu, bạn sẽ phải thêm một số kiểu tuỳ chỉnh vào phần tử. Bạn có thể thực hiện việc này bằng cách thêm hình nền và chỉ định khoảng đệm bên trái vào trường nhập dữ liệu.

    input[type=search] {
      background: url(some-great-icon.png) no-repeat scroll 15px 15px;
      padding-left:30px;
    }
 ```   

This attribute has been deprecated since Chrome 51.