Penghentian dan Penghapusan API di Chrome 57

Joe Medley
Joe Medley

Di hampir setiap versi Chrome, kami melihat sejumlah pembaruan dan pada produk, kinerjanya, dan juga kemampuan web Peron. Artikel ini menjelaskan penghentian penggunaan dan penghapusan di Chrome 57, yang masih dalam versi beta pada awal Februari. Daftar ini dapat berubah sewaktu-waktu baik.

Menghapus atribut BluetoothDevice.uuids

Atribut BluetoothDevice.uuids dihapus untuk membawa Web Bluetooth API di sesuai dengan spesifikasi saat ini. Anda dapat mengambil semua layanan GATT yang diizinkan dengan memanggil device.getPrimaryServices().

Bug Chromium

Menghapus elemen pembuatan kunci

Sejak Chrome 49, perilaku default <keygen> adalah menampilkan nilai kosong , kecuali jika izin diberikan untuk halaman ini. IE/Edge tidak mendukung <keygen> dan belum menunjukkan sinyal publik untuk mendukung <keygen>. Firefox sudah membatasi <keygen> di belakang gestur pengguna, tetapi bersifat publik untuk menghapusnya. Safari mengirimkan <keygen> dan belum menyatakan pandangan publik mengenai dukungan berkelanjutan mereka. Dengan Chrome 57, elemen ini akan dihapus.

Rencana Penghapusan | Pelacak Chromestatus | Bug Chromium

Menghapus API pengelolaan buffer waktu resource berawalan

Dua metode dan sebuah pengendali peristiwa, webkitClearResourceTimings(), webkitSetResourceTimingBufferSize(), dan onwebkitresourcetimingbufferfull sudah usang dan khusus untuk vendor. Tujuan versi standar API ini telah didukung sejak Chrome 46, dan fungsi berawalan tidak digunakan lagi dalam versi itu juga. Fitur-fitur ini awalnya yang diimplementasikan di WebKit, tetapi Safari belum mengaktifkannya. Firefox, IE 10+, dan Edge hanya memiliki versi API tanpa awalan. Oleh karena itu, versi webkit akan dihapus.

Rencana Penghapusan | Pelacak Chromestatus | Bug Chromium

Menghapus ServiceWorkerMessageEvent dan memilih menggunakan MessageEvent

Spesifikasi HTML diperluas MessageEvent sehingga memungkinkan ServiceWorker sebagai jenis untuk atribut source. client.postMessage() dan pembuatan pesan kustom peristiwa diubah untuk menggunakan MessageEvent, bukan ServiceWorkerMessageEvent. ServiceWorkerMessageEvent dihapus.

Rencana Penghapusan | Pelacak Chromestatus | Bug Chromium

Menghapus alias global BYOD berawalan webkit

Titik entri IndexedDB dan konstruktor global diekspos dengan webkit awalan di sekitar Chrome 11. Versi tanpa awalan ditambahkan di Chrome 24 dan versi berawalan tidak digunakan lagi di Chrome 38. Tujuan antarmuka berikut terpengaruh:

  • webkitIndexedDB (titik entri utama)
  • webkitIDBKeyRange (konstruktor global yang tidak dapat dipanggil, tetapi memiliki metode statis yang berguna)
  • webkitIDBCursor
  • webkitIDBDatabase
  • webkitIDBFactory
  • webkitIDBIndex
  • webkitIDBObjectStore
  • webkitIDBRequest
  • webkitIDBTransaction (konstruktor global yang tidak dapat dipanggil)

Rencana Penghapusan | Pelacak Chromestatus | Bug Chromium

WebAudio: Menghapus AudioContext dan OfflineAudioContext yang berawalan

Chrome telah mendukung WebAudio sejak pertengahan 2011, termasuk AudioContext. OfflineAudioContext ditambahkan pada tahun berikutnya. Mengingat berapa lama standar standar telah didukung dan tujuan jangka panjang Google menghapus baru, versi berawalan dari antarmuka ini sudah tidak digunakan lagi sejak akhir tahun 2014 dan sekarang sedang dihapus.

Rencana Penghapusan | Pelacak Chromestatus | Bug Chromium

Menghentikan penggunaan dan menghapus webkitCancelRequestAnimationFrame

Metode webkitCancelRequestAnimationFrame() sudah tidak berlaku lagi, API khusus vendor dan cancelAnimationFrame() standar memiliki didukung di Chromium. Oleh karena itu, versi webkit akan dihapus.

Rencana Penghapusan | Pelacak Chromestatus | Bug Chromium

Menghentikan penggunaan pencocokan yang tidak peka huruf besar/kecil untuk atribut usemap

Atribut usemap sebelumnya didefinisikan sebagai tanpa huruf besar/kecil. Sayangnya menerapkan langkah ini cukup rumit sehingga tidak ada {i>browser<i} yang menerapkannya dengan benar. Penelitian menyarankan bahwa algoritma yang rumit seperti itu tidak diperlukan, dan bahkan pencocokan huruf besar/kecil ASCII tidak diperlukan.

Karenanya, spesifikasi diperbarui sehingga pencocokan peka huruf besar/kecil diterapkan. Perilaku lama tidak digunakan lagi di Chrome 57, dan akan dihapus dalam waktu Chrome 58.

Rencana Penghapusan | Pelacak Chromestatus | Bug Chromium

Menghentikan penggunaan FileReaderSync di pekerja layanan

Spesifikasi Service Worker selalu memiliki catatan (non-normatif) bahwa "setiap Jenis permintaan sinkron tidak boleh dimulai di dalam layanan pekerja layanan", untuk menghindari pemblokiran pekerja layanan. Memblokir pekerja layanan akan memblokir semua permintaan jaringan dari halaman yang dikontrol. Sayangnya, FileReaderSync API telah lama tersedia di pekerja layanan.

Saat ini, hanya Firefox dan Chrome yang menampilkan FileReaderSync di pekerja layanan. Terdapat persetujuan dari Firefox dalam diskusi spesifikasi masalah ini harus diperbaiki. Penghapusan diperkirakan akan dilakukan di Chrome 59.

Rencana Penghapusan | Pelacak Chromestatus | Bug Chromium

Menghentikan penggunaan pemanggil lama untuk HTMLEmbedElement dan HTMLObjectElement

Bahwa antarmuka memiliki pemanggil lama berarti bahwa {i>instance<i} dapat dipanggil sebagai fungsi tersebut. Saat ini, HTMLEmbedElement dan HTMLObjectElement mendukung fitur ini fungsionalitasnya. Di Chrome 57, kemampuan ini tidak digunakan lagi. Setelah penghapusan, yaitu diharapkan di Chrome 58, panggilan akan menampilkan pengecualian.

Perubahan ini menyesuaikan Chrome dengan perubahan spesifikasi terbaru. Perilaku lama tidak didukung di Edge atau Safari, dan saat ini dihapus dari Firefox.

Rencana Penghapusan | Pelacak Chromestatus | Bug Chromium

Menghentikan penggunaan RTCRtcpMuxPolicy dari "negotiation"

rtcpMuxPolicy digunakan oleh Chrome untuk menentukan kebijakan pilihannya terkait penggunaan {i>multiplexing<i} RTP/RTCP. Di Chrome 57, kami mengubah setelan rtcpMuxPolicy untuk "mewajibkan" dan menghentikan "negosiasi" karena alasan berikut:

  • RTCP yang di-muxed menggunakan resource jaringan tambahan.
  • Menghapus "negosiasi" akan membuat tampilan API lebih sederhana, karena &quot;RtpSender&quot;/&quot;RtpReceiver&quot; maka hanya akan memiliki satu {i>transport<i}.

Di Chrome 57, "negosiasi" tidak digunakan lagi. Kami yakin ini adalah perubahan yang tidak menyebabkan gangguan karena pengguna akan mendapatkan pesan penghentian penggunaan dan RTCPeerConnection tetap dapat dibuat. Penghapusan dilakukan di Chrome 63.

Rencana Penghentian Penggunaan | Bug Chromium

Penghentian dukungan untuk kredensial tersemat dalam permintaan subresource

Melakukan hard-coding terhadap kredensial ke dalam permintaan subresource bermasalah dari keamanan, karena memungkinkan peretas untuk melakukan {i>brute force <i}terhadap kredensial di di masa lalu. Bahaya ini diperburuk untuk permintaan subresource berkredensial yang menjangkau rentang IP internal ({i>router<i} Anda, dll.). Mengingat rendahnya penggunaan, menutup lubang keamanan (kecil) ini sepertinya cukup masuk akal.

Developer dapat menyematkan resource yang tidak memerlukan autentikasi dasar/ringkasan, alih-alih cookie dan mekanisme pengelolaan sesi lainnya.

Rencana Penghapusan | Pelacak Chromestatus | Bug Chromium