Penghentian dan Penghapusan di Chrome 58

Joe Medley
Joe Medley

Di hampir setiap versi Chrome, kami melihat sejumlah besar update dan peningkatan pada produk, performanya, dan juga kemampuan Platform Web. Artikel ini menjelaskan penghentian dan penghapusan di Chrome 58, yang masih dalam versi beta per 16 Maret. Daftar ini dapat berubah sewaktu-waktu.

Mouse di Android berhenti memicu TouchEvents

Hingga Chrome 57, peristiwa mouse tingkat rendah Android di Chrome terutama mengikuti jalur peristiwa yang dirancang untuk interaksi sentuh. Misalnya, gerakan tarik mouse yang terjadi saat tombol mouse ditekan akan menghasilkan MotionEvents, yang dikirim melalui View.onTouchEvent.

Namun, karena peristiwa sentuh tidak dapat mendukung pengarahan kursor, pengarahan kursor mousemove mengikuti jalur terpisah. Desain ini memiliki banyak efek samping, termasuk interaksi mouse yang memicu TouchEvents, semua tombol mouse yang muncul sebagai tombol mouse kiri, dan MouseEvents yang ditekan oleh TouchEvents.

Mulai Chrome 58, mouse di Android M atau yang lebih baru akan:

  • Tidak lagi mengaktifkan TouchEvents.
  • Aktifkan urutan MouseEvents yang konsisten dengan tombol yang sesuai dan properti lainnya.

Intent to Remove | Chromestatus Tracker | Chromium Bug

Menghapus pencocokan tidak peka huruf besar/kecil untuk atribut usemap

Atribut usemap sebelumnya ditentukan sebagai tidak peka huruf besar/kecil. Sayangnya, implementasi ini cukup rumit sehingga tidak ada browser yang menerapkannya dengan benar. Riset menunjukkan bahwa algoritma yang rumit seperti itu tidak diperlukan, dan bahkan pencocokan ASCII yang tidak peka huruf besar/kecil tidak diperlukan.

Oleh karena itu, spesifikasi diperbarui sehingga pencocokan peka huruf besar kecil diterapkan. Perilaku lama tidak digunakan lagi di Chrome 57, dan sekarang dihapus.

Intent to Remove | Chromestatus Tracker | Chromium Bug

Menghapus navigasi frame atas yang dimulai konten ke URL data

Karena tidak dikenal oleh pengguna browser non-teknis, kami semakin sering melihat skema data: digunakan dalam serangan spoofing dan phishing. Untuk mencegah hal ini, kami memblokir halaman web agar tidak memuat URL data: di frame atas. Hal ini berlaku untuk tag <a>, window.open, window.location, dan mekanisme serupa. Skema data: akan tetap berfungsi untuk resource yang dimuat di bawah oleh halaman.

Fitur ini akan dihapus di Chrome 60.

Intent to Remove | Chromestatus Tracker | Chromium Bug

Menghapus nama yang tidak digunakan lagi untuk properti jalur gerakan

Properti CSS jalur gerakan memungkinkan penulis menganimasikan objek grafis apa pun di sepanjang jalur yang ditentukan penulis. Sesuai dengan spesifikasi, beberapa properti diterapkan di Chrome 45. Nama properti ini diubah dalam spesifikasi pada pertengahan 2016. Chrome menerapkan nama baru di Chrome 55 dan Chrome 56. Peringatan penghentian penggunaan konsol juga diterapkan.

Di Chrome 58, nama properti lama akan dihapus. Properti yang terpengaruh dan nama barunya ditampilkan di bawah.

Properti yang Dihapus Nama Saat Ini
motion-path offset-path
motion-offset offset-distance
rotasi-gerakan offset-rotate
gerakan offset

Rencana Penghapusan

Menghapus EME dari konteks yang tidak aman

Beberapa penggunaan Encrypted Media Extensions (EME) mengekspos implementasi pengelolaan hak digital yang bukan open source, melibatkan akses ke ID unik persisten, dan/atau berjalan tanpa sandbox atau dengan akses dengan hak istimewa. Risiko keamanan meningkat untuk situs yang diekspos melalui HTTP tidak aman karena dapat diserang oleh siapa saja di saluran tersebut. Selain itu, jika izin pengguna diperlukan, penerimaan yang dipertahankan untuk situs HTTP yang tidak aman dapat dieksploitasi oleh penyerang tersebut.

Dukungan untuk konteks tidak aman telah dihapus dari spesifikasi EME versi 1 dan tidak didukung dalam rekomendasi yang diusulkan atau diantisipasi dalam versi final berikutnya. tidak akan ada dalam rekomendasi yang diusulkan mendatang atau rekomendasi final berikutnya. API ini telah menampilkan pesan penghentian penggunaan di origin yang tidak aman sejak Chrome 44 (Mei 2015). Di Chrome 58, fitur ini kini dihapus. Perubahan ini adalah bagian dari upaya kami yang lebih luas untuk menghapus fitur canggih dari origin yang tidak aman.

Intent to Remove | Chromestatus Tracker | Chromium Bug

Menghapus pemanggil lama untuk HTMLEmbedElement dan HTMLObjectElement

Antarmuka yang memiliki pemanggil lama berarti instance dapat dipanggil sebagai fungsi. Saat ini, HTMLEmbedElement dan HTMLObjectElement mendukung fungsi ini. Di Chrome 57, kemampuan ini tidak digunakan lagi. Mulai Chrome 58, panggilan akan menampilkan pengecualian.

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

Intent to Remove | Chromestatus Tracker | Chromium Bug

Menghapus cipher ChaCha20-Poly1305 pra-standar

Pada tahun 2013, Chrome 31 men-deploy cipher suite TLS baru berdasarkan algoritma ChaCha20 dan Poly1305 Prof. Dan Bernstein. Hal ini kemudian distandardisasi, dengan sedikit penyesuaian, di IETF sebagai RFC 7539 dan RFC 7905. Kami meluncurkan varian standar pada awal tahun 2016 dengan Chrome 49. Sekarang kami menghapus varian pra-standar.

Intent to Remove | Chromestatus Tracker | Chromium Bug

Menghapus dukungan untuk pencocokan commonName dalam sertifikat

RFC 2818 menjelaskan dua metode untuk mencocokkan nama domain dengan sertifikat: menggunakan nama yang tersedia dalam ekstensi subjectAlternativeName, atau, jika tidak ada ekstensi SAN, kembali ke commonName. Penggantian ke commonName tidak digunakan lagi di RFC 2818 (dipublikasikan pada tahun 2000), tetapi dukungan tetap ada di sejumlah klien TLS, sering kali salah.

Penggunaan kolom subjectAlternativeName membuat tidak ambigu apakah sertifikat menyatakan binding ke alamat IP atau nama domain, dan ditentukan sepenuhnya dalam hal interaksinya dengan Batasan Nama. Namun, commonName bersifat ambigu, dan karenanya, dukungan untuknya telah menjadi sumber bug keamanan di Chrome, library yang digunakannya, dan dalam ekosistem TLS secara keseluruhan.

Risiko kompatibilitas untuk menghapus commonName rendah. RFC 2818 telah tidak lagi menggunakannya selama hampir dua dekade, dan persyaratan dasar (yang harus dipatuhi oleh semua certificate authority tepercaya publik) telah mewajibkan adanya subjectAltName sejak tahun 2012. Firefox sudah mewajibkan subjectAltName untuk setiap sertifikat tepercaya publik yang baru diterbitkan sejak Firefox 48.

Intent to Remove | Chromestatus Tracker | Chromium Bug

Elemen antarmuka regions, addRegion(), dan removeRegion() telah dihapus dari spesifikasi WebVTT dan dihapus di Chrome 58 untuk mematuhi spesifikasi terbaru. Kami memperkirakan sedikit dampak dari penghapusan ini karena fitur tersebut tidak pernah diaktifkan secara default (artinya fitur tersebut ada di balik tanda). Pengguna yang memerlukan alternatif dapat menggunakan properti VTTCue.region yang ditambahkan di Chrome 58.

Pelacak Chromestatus | Bug Chromium

WebAudio: menghapus antarmuka AudioSourceNode

Antarmuka AudioSourceNode bukan bagian dari spesifikasi Audio Web, tidak dapat dibuat, dan tidak memiliki atribut sehingga pada dasarnya tidak memiliki fungsi yang dapat diakses developer. Oleh karena itu, video tersebut dihapus.

Intent to Remove | Chromestatus Tracker | Chromium Bug

Menghapus atribut global webkitdropzone

Atribut global dropzone diperkenalkan oleh spesifikasi tarik lalu lepas HTML5 sebagai metode deklaratif untuk menentukan kesediaan elemen HTML menjadi target operasi tarik lalu lepas, jenis konten yang dapat dilepas ke elemen, dan operasi tarik lalu lepas (salin/pindahkan/tautkan).

Atribut ini gagal mendapatkan daya tarik di kalangan vendor browser. Blink dan WebKit hanya menerapkan bentuk atribut berawalan, webkitdropzone. Karena atribut dropzone dihapus dari spesifikasi pada awal Maret 2017, versi dengan awalan dihapus dari Chrome.

Intent to Remove | Chromestatus Tracker | Chromium Bug

Menghentikan penggunaan notifikasi yang tidak aman

Notifikasi adalah fitur yang canggih karena memungkinkan situs memanggil UI sistem untuk mengirimkan informasi pribadi itu sendiri atau sinyal bahwa informasi pribadi telah diubah. Penyerang dapat menyadap atau mencuri informasi apa pun yang dikirim melalui notifikasi melalui koneksi yang tidak aman. Push web memerlukan origin yang aman, sehingga perubahan ini akan menyelaraskan notifikasi non-push dengan notifikasi push. Perubahan ini adalah bagian dari upaya kami yang lebih luas untuk menghapus fitur canggih dari origin yang tidak aman.

Intent to Remove | Chromestatus Tracker | Chromium Bug

Menghentikan penggunaan notifikasi dari iframe yang tidak aman

Permintaan izin dari iframe dapat membingungkan pengguna karena sulit untuk membedakan antara asal halaman yang berisi dan asal iframe yang membuat permintaan. Jika cakupan permintaan tidak jelas, akan sulit bagi pengguna untuk menilai apakah akan memberikan atau menolak izin.

Tidak mengizinkan notifikasi di iframe juga akan menyelaraskan persyaratan untuk izin notifikasi dengan notifikasi push, sehingga mengurangi hambatan bagi developer.

Developer yang memerlukan fungsi ini dapat membuka jendela baru untuk meminta izin notifikasi.

Penghapusan dilakukan di Chrome 62.

Intent to Remove | Chromestatus Tracker | Chromium Bug

Menghapus indexedDB.webkitGetDatabaseNames()

Kami menambahkan fitur ini saat Indexed DB relatif baru di Chrome dan penggunaan awalan sedang populer. API secara asinkron menampilkan daftar nama database yang ada di origin, yang tampaknya cukup masuk akal.

Sayangnya, desain ini memiliki kekurangan, karena hasilnya mungkin sudah tidak berlaku begitu ditampilkan, sehingga hanya dapat digunakan untuk logging, bukan logika aplikasi yang serius. Masalah GitHub melacak/menautkan ke diskusi sebelumnya tentang alternatif, yang akan memerlukan pendekatan yang berbeda. Meskipun ada minat yang terus-menerus dari developer, mengingat kurangnya kemajuan lintas browser, masalah ini telah diatasi oleh penulis library.

Developer yang memerlukan fungsi ini harus mengembangkan solusi mereka sendiri. Library seperti Dexie.js misalnya menggunakan tabel global yang merupakan database lain untuk melacak nama database.

Fitur ini dihapus di Chrome 60.

Intent to Deprecate | Chromestatus Tracker | Chromium Bug