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

Joe Medley
Joe Medley

Trong hầu hết mọi phiên bản Chrome, chúng tôi nhận thấy có rất nhiều bản cập nhật và những 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 Web Nền tảng. Bài viết này mô tả việc ngừng sử dụng và xoá trong Chrome 57, đang trong giai đoạn thử nghiệm vào đầu tháng 2. Danh sách này có thể thay đổi bất kỳ lúc nào bất cứ lúc nào.

Xoá thuộc tính BluetoothDevice.uuids

Thuộc tính BluetoothDevice.uuids sẽ bị xoá để đưa Web Bluetooth API trong phù hợp với thông số kỹ thuật hiện tại. Bạn có thể truy xuất tất cả các dịch vụ GATT được phép bằng cách gọi device.getPrimaryServices().

Lỗi Chromium

Xoá phần tử tạo khoá

Kể từ Chrome 49, hành vi mặc định của <keygen> là trả về giá trị trống trừ khi được cấp quyền cho trang này. IE/Edge không hỗ trợ <keygen> và chưa chỉ ra tín hiệu công cộng để hỗ trợ <keygen>. Firefox đã cổng <keygen> sau một cử chỉ của người dùng, nhưng đang công khai ủng hộ việc xoá nội dung đó. Động vật hoang dã vận chuyển <keygen> và chưa được khai báo lượt xem công khai liên quan đến sự ủng hộ không ngừng của công ty. Với Chrome 57, phần tử này sẽ bị xoá.

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

Xoá API quản lý vùng đệm thời gian tài nguyên có tiền tố

Hai phương thức và một trình xử lý sự kiện, webkitClearResourceTimings(), webkitSetResourceTimingBufferSize()onwebkitresourcetimingbufferfull lỗi thời và tuỳ theo nhà cung cấp. Chiến lược phát hành đĩa đơn phiên bản chuẩn của những API này đã được hỗ trợ kể từ Chrome 46 và các hàm có tiền tố là không được dùng nữa trong phiên bản đó. Các tính năng này ban đầu được triển khai trong WebKit, nhưng Safari chưa bật chúng. Firefox, IE 10 trở lên và Edge chỉ có phiên bản API chưa được thêm tiền tố. Do đó, phiên bản webkit đang bị xoá.

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

Xoá ServiceWorkerMessageEvent và thay bằng việc sử dụng MessageEvent

Thông số kỹ thuật HTML đã mở rộng MessageEvent để cho phép ServiceWorker làm loại cho thuộc tính source. client.postMessage() và tạo thông báo tuỳ chỉnh các sự kiện được thay đổi để sử dụng MessageEvent thay vì ServiceWorkerMessageEvent. Đã xoá ServiceWorkerMessageEvent.

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

Xoá bí danh chung IndexedDB có tiền tố webkit

Điểm truy cập IndexedDB và các hàm khởi tạo chung đã được thấy bằng webkit tiền tố ở đâu đó xung quanh Chrome 11. Các phiên bản không có tiền tố đã được thêm vào Chrome 24 và các phiên bản có tiền tố không còn được dùng trong Chrome 38. Chiến lược phát hành đĩa đơn sau đây là các giao diện bị ảnh hưởng:

  • webkitIndexedDB (điểm truy cập chính)
  • webkitIDBKeyRange (hàm khởi tạo chung không thể gọi, nhưng có các phương thức tĩnh hữu ích)
  • webkitIDBCursor
  • webkitIDBDatabase
  • webkitIDBFactory
  • webkitIDBIndex
  • webkitIDBObjectStore
  • webkitIDBRequest
  • webkitIDBTransaction (các hàm khởi tạo toàn cục không gọi được)

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

WebAudio: Xoá AudioContext có tiền tố và OfflineAudioContext

Chrome đã hỗ trợ WebAudio kể từ giữa năm 2011, bao gồm cả AudioContext. OfflineAudioContext đã được thêm vào năm tiếp theo. Dựa trên khoảng thời gian giao diện đã được hỗ trợ và mục tiêu dài hạn của Google là loại bỏ tiền tố các tính năng chính, phiên bản có tiền tố của các giao diện này đã ngừng hoạt động kể từ khi cuối năm 2014 và hiện đang bị xóa.

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

Không dùng nữa và xoá webkitCancelRequestAnimationFrame

Phương thức webkitCancelRequestAnimationFrame() đã lỗi thời, API dành riêng cho nhà cung cấp và cancelAnimationFrame() tiêu chuẩn đã được hỗ trợ trong Chromium. Do đó, phiên bản webkit sẽ bị xoá.

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

Ngừng sử dụng kiểu khớp không phân biệt chữ hoa chữ thường cho thuộc tính usemap

Thuộc tính usemap trước đây được định nghĩa là không có chữ hoa chữ thường. Rất tiếc Việc triển khai việc này đủ phức tạp để không trình duyệt nào triển khai chính xác. Nghiên cứu cho thấy rằng thuật toán phức tạp như vậy là không cần thiết, và ngay cả việc khớp không phân biệt chữ hoa chữ thường ASCII cũng không cần thiết.

Do đó, quy cách đã được cập nhật để tính năng so khớp phân biệt chữ hoa chữ thường áp dụng. Hành vi cũ không còn được dùng trong Chrome 57 và dự kiến sẽ bị xoá trong Chrome 58.

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

Ngừng sử dụng FileReaderSync trong trình chạy dịch vụ

Quy cách của Trình chạy dịch vụ luôn có lưu ý (không theo quy chuẩn) rằng "bất kỳ không được khởi tạo loại yêu cầu đồng bộ bên trong một dịch vụ worker" để tránh chặn trình chạy dịch vụ. Chặn trình chạy dịch vụ sẽ chặn tất cả yêu cầu mạng từ các trang được kiểm soát. Thật không may, API FileReaderSync đã có sẵn trong trình chạy dịch vụ từ lâu.

Hiện tại, chỉ Firefox và Chrome hiển thị FileReaderSync trong trình chạy dịch vụ. Có thỏa thuận từ Firefox trong cuộc thảo luận về thông số kỹ thuật rằng vấn đề này phải được khắc phục. Dự kiến sẽ bị loại bỏ trong Chrome 59.

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

Ngừng sử dụng phương thức gọi cũ cho HTMLNhúngElement và HTMLObjectElement

Việc giao diện có phương thức gọi cũ nghĩa là một thực thể có thể được gọi dưới dạng một . Hiện tại, HTMLEmbedElementHTMLObjectElement hỗ trợ định dạng này của Google. Trong Chrome 57, tính năng này không còn được dùng nữa. Sau khi loại bỏ, tức là như dự kiến trong Chrome 58, thì lệnh gọi sẽ gửi một ngoại lệ.

Thay đổi này giúp Chrome phù hợp với những thay đổi gần đây về thông số kỹ thuật. Hành vi cũ không được hỗ trợ trong Edge hoặc Safari và đang được đã bị xoá khỏi Firefox.

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

Ngừng sử dụng RTCRtcpMuxPolicy của " lao động thương lượng"

Chrome sử dụng rtcpMuxPolicy để chỉ định chính sách ưu tiên liên quan đến sử dụng ghép kênh RTP/RTCP. Trong Chrome 57, chúng tôi đã thay đổi chế độ cài đặt mặc định rtcpMuxPolicy để "yêu cầu" và ngừng sử dụng tính năng "thương lượng" vì những lý do sau:

  • RTCP không kết hợp sử dụng tài nguyên mạng bổ sung.
  • Đang xóa "thương lượng" sẽ làm cho nền tảng API đơn giản hơn, vì &quot;RtpSender&quot;/&quot;RtpReceiver&quot; thì sẽ chỉ có một lần di chuyển.

Trong Chrome 57, tính năng "thương lượng" không được dùng nữa. Chúng tôi cho rằng đây là một thay đổi không gây ra lỗi vì người dùng sẽ nhận được thông báo về việc ngừng sử dụng và RTCPeerConnection vẫn có thể được tạo. Tính năng xoá được xử lý trong Chrome 63.

Ý định không còn được dùng nữa | Lỗi Chromium

Ngừng hỗ trợ thông tin đăng nhập được nhúng trong các yêu cầu về tài nguyên phụ

Thông tin xác thực mã hoá cứng thành các yêu cầu về tài nguyên phụ đang gặp vấn đề từ quan điểm bảo mật, vì phương thức này cho phép tin tặc tấn công thông tin đăng nhập trong quá khứ. Những mối nguy hiểm này ngày càng trầm trọng hơn đối với những yêu cầu về tài nguyên phụ đã được xác thực tiếp cận dải IP nội bộ (bộ định tuyến, v.v.). Do mức sử dụng thấp, việc đóng lỗ hổng bảo mật (nhỏ) này có vẻ khá hợp lý.

Nhà phát triển có thể nhúng các tài nguyên không yêu cầu xác thực cơ bản/thông báo, dựa vào thay vào đó dựa trên cookie và các cơ chế quản lý phiên khác.

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