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 beta kể từ ngày 9 tháng 6. Danh sách này có thể thay đổi bất cứ lúc nào.

Thuật toán mật mã dựa trên DHE đang ngừng hoạt động

Tóm tắt: Các thuật toán mã hoá dựa trên DHE bị xoá trong Chrome 53 dành cho máy tính vì không đủ để sử dụng lâu dài. Máy chủ nên sử dụng ECDHE nếu có hoặc 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 đã tăng kích thước nhóm TLS Diffie-Hellman tối thiểu từ 512 bit lê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, cùng với cách DHE được đàm phán trong TLS, khiến việc chuyển sang quá 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 ngừng sử 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" (mã).

Đ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 thay, các loại lỗi FileError, DOMErrorDOMException đều có chung các thuộc tính namemessage, giúp đặ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"). Thay vào đó, mã nên sử dụng các thuộc tính đó. Các thuộc tính này sẽ hoạt động trên các trình duyệt và tiếp tục hoạt động sau khi 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, 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 trên trường nhập.

    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.