Di hampir setiap versi Chrome, kami melihat sejumlah pembaruan dan pada produk, kinerjanya, dan juga kemampuan web Peron. Artikel ini menjelaskan penghentian dan penghapusan di Chrome 60, yang masih dalam versi beta per 8 Juni. Daftar ini dapat berubah sewaktu-waktu.
Keamanan
crypto.subtle kini memerlukan origin yang aman
Web Crypto API
yang telah didukung sejak Chrome 37 selalu berfungsi pada
origin. Karena kebijakan Chrome yang
sudah lama ada tentang
lebih memilih origin aman untuk fitur canggih,
crypto.subtle
tidak hanya terlihat di origin yang aman.
Rencana Penghapusan | Bug Chromium
Menghapus navigasi frame teratas yang dimulai konten ke URL data
Karena ketidaktahuan mereka terhadap
pengguna {i>browser<i} non-teknis, kami
semakin sering melihat skema data:
yang digunakan dalam spoofing dan phishing
serangan. Untuk mencegah hal ini, kami memblokir halaman web agar tidak memuat data:
URL
di {i>frame<i} atas. Ini berlaku untuk tag <a>
, window.open
,
window.location
dan mekanisme serupa. Skema data:
akan tetap berfungsi untuk
resource yang dimuat oleh halaman.
Fitur ini tidak digunakan lagi di Chrome 58 dan sekarang dihapus.
Rencana Penghapusan | Pelacak Chromestatus | Bug Chromium
Menonaktifkan navigator.sendBeacon() untuk beberapa blob untuk sementara
Fungsi navigator.sendBeacon()
telah tersedia
sejak Chrome 39.
Seperti yang awalnya diterapkan, argumen data
fungsi dapat berisi semua
blob arbitrer yang jenisnya tidak termasuk dalam daftar aman CORS. Kami yakin ini adalah potensi
ancaman keamanan, meskipun belum ada
yang mencoba mengeksploitasinya. Karena kita TIDAK
memiliki perbaikan langsung yang wajar untuk masalah ini, untuk sementara, sendBeacon()
tidak dapat
lagi dapat dipanggil di blob yang jenisnya TIDAK termasuk dalam daftar aman CORS.
Meskipun perubahan ini diterapkan untuk Chrome 60, perubahan ini telah digabungkan kembali ke Chrome 59.
CSS
Membuat kombinator turunan yang menembus bayangan berperilaku seperti kombinator turunan
kombinator turunan shadow-piercing (>>>
), bagian dari
Modul Cakupan CSS Level 1
, dimaksudkan untuk mencocokkan turunan dari elemen ancestor tertentu
bahkan saat muncul di dalam pohon bayangan. Tindakan ini memiliki beberapa batasan.
Pertama, sesuai spesifikasi,
hanya dapat digunakan dalam panggilan JavaScript seperti querySelector()
dan tidak
bekerja di stylesheet. Lebih penting lagi, vendor {i>browser<i}
tidak dapat melakukannya
bekerja di luar satu level Shadow DOM.
Akibatnya, kombinator turunan telah dihapus dari spesifikasi yang relevan termasuk Shadow DOM v1. Daripada merusak halaman web dengan menghapus pemilih ini dari Chromium, kita memilih untuk menggunakan alias turunan yang menembus bayangan kombinator ke kombinator turunan. Perilaku aslinya adalah tidak digunakan lagi di Chrome 45. Perilaku baru ini diterapkan di Chrome 61.
Rencana Penghapusan | Pelacak Chromestatus | Bug Chromium
JavaScript
Menghentikan penggunaan dan menghapus RTCPeerConnection.getStreamById()
Hampir dua tahun yang lalu, getStreamById()
telah dihapus dari spesifikasi WebRTC. Kebanyakan {i>browser<i} lain
memiliki
menghapus ini dari implementasi mereka. Meskipun fungsi ini
dianggap jarang digunakan, dan juga
diyakini bahwa ada beberapa kelompok
risiko interoperabilitas dengan browser berbasis Edge dan WebKit selain Safari
di mana getStreamById()
masih didukung. Developer yang membutuhkan alternatif
bisa menemukan kode contoh dalam Intent to Remove, di bawah ini.
Penghapusan dilakukan di Chrome 62.
Rencana Penghapusan | Pelacak Chromestatus | Bug Chromium
Menghentikan penggunaan SVGPathElement.getPathSegAtLength
Lebih dari dua tahun lalu, getPathSegAtLength()
telah dihapus dari spesifikasi SVG.
Karena hanya ada sedikit klik untuk metode ini di httparchive,
tidak digunakan lagi di Chrome 60. Penghapusan diperkirakan akan dilakukan di Chrome 62, yang
akan dikirimkan pada awal atau pertengahan Oktober.
Rencana Penghentian Penggunaan | Pelacak Chromestatus | Bug Chromium
Memindahkan getContextAttributes() di belakang tanda
Fungsi getContextAttributes()
telah didukung di
CanvasRenderingContext2D
sejak 2013. Namun, fitur tersebut bukan bagian
dari standar apa pun dan tidak menjadi
satu bagian dari satu sejak saat itu. Sistem ini seharusnya diterapkan di balik
Tanda command line --enable-experimental-canvas-features
, tetapi keliru
tidak. Pada Chrome 60, kesalahan ini telah diperbaiki. Hal ini diyakini bahwa
perubahan itu aman, karena tidak ada data
yang menunjukkan bahwa ada orang yang menggunakan metode ini.
Menghapus Header.prototype.getAll()
Fungsi Headers.prototype.getAll()
sedang dihapus berdasarkan versi terbaru
dari Spesifikasi pengambilan.
Rencana Penghapusan | Pelacak Chromestatus | Bug Chromium
Menghapus indexedDB.webkitGetDatabaseNames()
Kami menambahkan fitur ini saat Indexed DB relatif baru di Chrome dan memberikan awalan itu semua. API secara asinkron menampilkan daftar database yang ada nama dalam suatu asal, yang tampak cukup masuk akal.
Sayangnya, desain ini cacat, sehingga hasilnya mungkin akan segera usang ketika dikembalikan, sehingga hanya dapat digunakan untuk pencatatan, tidak logika aplikasi. Tujuan masalah github jalur/link ke diskusi sebelumnya tentang berbagai alternatif, yang memerlukan pendekatan berbeda. Meskipun ada minat aktif dan nonaktif oleh pengembang, mengingat kurangnya kemajuan {i>browser<i} masalah telah diselesaikan oleh penulis {i>library<i}.
Developer yang memerlukan fungsi ini harus mengembangkan solusi mereka sendiri. Misalnya, library seperti Dexie.js menggunakan tabel global yang merupakan {i>database<i} lain untuk melacak nama-nama {i>database<i}.
Fitur ini tidak digunakan lagi di Chrome 58 dan sekarang dihapus.
Rencana Penghapusan | Pelacak Chromestatus | Bug Chromium
Hapus WEBKIT_KEYFRAMES_Rules dan WEBKIT_KEYFRAME_Rules
Konstanta WEBKIT_KEYFRAMES_RULE
dan WEBKIT_KEYFRAME_RULE
non-standar
dihapus dari
Aturan CSS.
Sebagai gantinya, developer sebaiknya menggunakan KEYFRAMES_RULE
dan KEYFRAME_RULE
.
Rencana Penghapusan | Pelacak Chromestatus | Bug Chromium
Antarmuka Pengguna
Mewajibkan gestur pengguna untuk dialog beforeunload
Mulai Chrome 60 dan seterusnya, dialog beforeunload
hanya akan muncul jika frame
yang mencoba menampilkannya telah menerima {i>gesture <i}pengguna atau interaksi pengguna (atau jika
{i>frame<i} yang tersemat telah menerima {i>gesture <i}tersebut). Untuk lebih jelasnya, ini bukanlah
ubah pengiriman peristiwa beforeunload
. Ini hanyalah perubahan pada
apakah dialog ditampilkan.
Dialog beforeunload
adalah kotak dialog modal aplikasi. Dengan demikian, secara inheren
bermusuhan dengan pengguna, artinya merespons navigasi pengguna dengan mempertanyakan
keputusan tersebut. Fitur ini memiliki kegunaan yang positif. Misalnya, sering digunakan
untuk memperingatkan pengguna saat mereka akan kehilangan data dengan melakukan navigasi.
Meskipun kemampuan halaman untuk menyediakan teks untuk dialog beforeunload
dihapus beberapa waktu lalu, dialog beforeunload
tetap menjadi vektor penyalahgunaan. Di beberapa
khususnya, dialog beforeunload
merupakan ramuan situs scam, dengan
audio putar otomatis dan teks ancaman memberikan konteks di mana Chromium
diberikan "apakah Anda yakin ingin meninggalkan halaman ini" menjadi mengkhawatirkan.
Kita ingin memasukkan thread, dan hanya mengizinkan penggunaan beforeunload
yang baik
dialog. Penggunaan dialog yang baik adalah ketika pengguna memiliki status yang mungkin
turun. Jika pengguna tidak pernah berinteraksi dengan halaman, maka pengguna tidak dapat memiliki
status yang mungkin hilang, dan karena itu kita tidak
risiko kehilangan data pengguna dengan
menyembunyikan dialog dalam kasus tersebut.