Keluaran Chrome 74

Google dibentangkan keluaran pelayar web Chrome 74... serentak ada keluaran stabil projek percuma Kromium, yang berfungsi sebagai asas Chrome. penyemak imbas Chrome berbeza penggunaan logo Google, keupayaan untuk memuat turun modul Flash atas permintaan, kehadiran sistem untuk menghantar pemberitahuan sekiranya berlaku ranap, modul untuk memainkan kandungan video yang dilindungi, sistem untuk memasang kemas kini dan penghantaran secara automatik semasa carian Parameter RLZ. Keluaran seterusnya Chrome 75 dijadualkan pada 4 Jun.

Utama perubahan Π² Chrome 74:

  • Apabila peristiwa onUnload berlaku, yang dipanggil apabila halaman ditutup, sekarang Adalah dilarang paparan tetingkap timbul (panggilan window.open() disekat), yang akan melindungi pengguna daripada dipaksa untuk membuka halaman pengiklanan selepas menutup tapak yang meragukan;
  • Dalam enjin JavaScript dilaksanakan rejim baru telah muncul JIT-kurang (β€œβ€”jitless” flag), yang memungkinkan untuk melaksanakan JavaScript tanpa menggunakan JIT (hanya penterjemah digunakan) dan tanpa memperuntukkan memori boleh laku semasa pelaksanaan kod. Melumpuhkan JIT boleh berguna untuk meningkatkan keselamatan apabila bekerja dengan aplikasi web yang berpotensi berbahaya, serta memastikan binaan pada platform yang melarang penggunaan JIT (contohnya, iOS, beberapa TV pintar dan konsol permainan. Apabila JIT dilumpuhkan, pelaksanaan JavaScript prestasi menurun sebanyak 40% dalam ujian Speedometer 2.0 dan 80% dalam ujian Penanda Aras Alatan Web, tetapi apabila mensimulasikan kerja dengan YouTube, terdapat hanya penurunan 6% dalam prestasi, manakala penggunaan memori berkurangan sedikit, sebanyak 1.7% sahaja;
  • V8 juga menawarkan sebahagian besar pengoptimuman baharu. Sebagai contoh, pelaksanaan panggilan fungsi di mana bilangan parameter yang benar-benar diluluskan tidak sepadan dengan bilangan argumen yang ditentukan semasa mentakrifkan fungsi telah dipercepatkan sebanyak 60%. Akses kepada sifat DOM menggunakan fungsi get telah dipercepatkan, yang memberi kesan positif pada prestasi rangka kerja Sudut. Penghuraian JavaScript telah dipercepatkan: pengoptimuman penyahkod UTF-8 memungkinkan untuk meningkatkan prestasi penghurai dalam mod penstriman (penghuraian semasa ia dimuatkan) sebanyak 8%, dan menghapuskan operasi penyahduplikasian yang tidak perlu memberikan peningkatan sebanyak 10.5% lagi;
  • Kerja telah dilakukan untuk mengurangkan penggunaan memori enjin JavaScript.
    Menambahkan kod untuk mengosongkan cache bytecode, yang mengambil kira-kira 15% daripada jumlah saiz timbunan. Satu peringkat telah ditambahkan pada pemungut sampah untuk mengusir kod bait yang jarang disusun daripada cache untuk fungsi yang digunakan atau fungsi yang hanya dipanggil semasa permulaan. Keputusan untuk membersihkan dibuat berdasarkan kaunter baharu yang mengambil kira kali terakhir kod bait itu diakses. Perubahan ini mengurangkan penggunaan memori sebanyak 5–15% tanpa menjejaskan prestasi secara negatif. Selain itu, pengkompil bytecode mengecualikan penjanaan kod yang jelas tidak digunakan, contohnya, yang mengikuti pemulangan atau pemecahan (jika tiada peralihan Jump kepadanya);

    Keluaran Chrome 74

  • Untuk WebAssembly dilaksanakan sokongan untuk benang dan operasi atom (API WebAssembly Threads dan WebAssembly Atomics);
  • Untuk penghantaran skrip yang berasingan, sokongan untuk pengepala β€œ#!” telah ditambahkan, yang menentukan penterjemah untuk dijalankan. Sebagai contoh, sama dengan bahasa skrip lain, fail JavaScript mungkin kelihatan seperti ini:

    #!/usr/bin/env nod
    console.log(42);

  • Pertanyaan media baharu telah ditambahkan pada CSS "lebih suka-dikurangkan-gerakanβ€œ, membenarkan tapak menentukan keadaan tetapan dalam sistem pengendalian yang berkaitan dengan melumpuhkan kesan animasi. Menggunakan permintaan yang dicadangkan, pemilik tapak boleh ketahui bahawa pengguna telah melumpuhkan kesan animasi dan juga melumpuhkan pelbagai ciri animasi di tapak, sebagai contoh, keluarkan kesan gegaran butang yang digunakan untuk menarik perhatian;
  • Sebagai tambahan kepada keupayaan untuk menentukan medan awam yang diperkenalkan dalam Chrome 72 sokongan dilaksanakan Menandai medan sebagai peribadi, selepas itu akses kepada nilainya akan dibuka hanya dalam kelas. Untuk menandakan medan sebagai peribadi, tambahkan tanda "#" sebelum nama medan. Seperti bidang awam, harta persendirian tidak memerlukan penggunaan pembina yang jelas.
  • Pengepala HTTP Polisi Ciri, yang membolehkan anda mengawal kelakuan API dan mendayakan ciri tertentu (contohnya, anda boleh mendayakan mod operasi segerak XMLHttpRequest atau melumpuhkan API Geolokasi), telah ditambahkan API JavaScript untuk mengawal aktiviti peluang tertentu. Untuk pembangun, terdapat dua kaedah baharu document.featurePolicy dan frame.featurePolicy, menawarkan tiga fungsi:
    allowedFeatures() untuk mendapatkan senarai ciri yang dibenarkan untuk domain semasa, membolehkanFeature() menyemak secara terpilih sama ada ciri tertentu didayakan dan getAllowlistForFeature() untuk mengembalikan senarai domain yang mana ciri tertentu dibenarkan pada halaman semasa;

  • Menambah sokongan percubaan ("chrome://flags#enable-text-fragment-anchor") untuk mod Tatal-Ke-Teks, yang membolehkan anda membentuk pautan kepada perkataan atau frasa individu, tanpa menyatakan secara eksplisit label dalam dokumen menggunakan teg "nama" atau sifat "id". Untuk menghantar pautan, parameter khas "#targetText=" ditawarkan, di mana anda boleh menentukan teks untuk peralihan. Ia dibenarkan untuk menentukan topeng yang termasuk frasa yang menunjukkan permulaan dan akhir serpihan menggunakan koma sebagai pemisahnya (contohnya, "example.com#targetText=start%20words, end%20words");
  • Pilihan telah ditambahkan pada pembina AudioContext kadar sampel, yang membolehkan anda menetapkan kadar pensampelan untuk operasi audio melalui API Audio Web;
  • Menambah sokongan kelas Intl.Locale, yang menyediakan kaedah untuk menghuraikan dan memproses parameter bahasa, rantau dan gaya yang ditetapkan oleh tempat, serta untuk membaca dan menulis teg sambungan Unicode, menyimpan tetapan tempat pengguna dalam format bersiri;
  • Mekanisme Pertukaran HTTP yang ditandatangani (SXG) dikembangkan dengan alatan untuk memaklumkan pengedar kandungan tentang ralat dalam memuat turun kandungan yang ditandatangani, seperti masalah dengan pengesahan sijil. Pengendalian ralat dilakukan melalui sambungan API Pengelogan Ralat Rangkaian. Ingat SXG itu membolehkan pemilik satu tapak, menggunakan tandatangan digital, membenarkan penempatan halaman tertentu di tapak lain, selepas itu, jika halaman ini diakses di tapak kedua, penyemak imbas akan menunjukkan kepada pengguna URL tapak asal, walaupun hakikatnya bahawa halaman itu dimuatkan daripada hos yang berbeza;
  • Satu kaedah telah ditambahkan pada kelas TextEncoder encodeInto(), yang membolehkan anda menulis rentetan yang dikodkan terus ke dalam penimbal yang telah diperuntukkan sebelumnya. Kaedah encodeInto() ialah alternatif berprestasi tinggi kepada kaedah encode(), yang memerlukan operasi peruntukan penimbal dilakukan setiap kali ia diakses.
  • Dalam pekerja Perkhidmatan terjamin menimbal panggilan client.postMessage() sehingga dokumen sedia. Mesej yang dihantar melalui client.postMessage() akan ditahan sehingga acara DOMContentLoaded dinaikkan, onmessage ditetapkan atau startMessages() dipanggil;
  • Seperti yang dikehendaki oleh spesifikasi CSS Transitions tambah peristiwa transitionrun, transitioncancel, transitionstart dan transitionend yang dijana apabila peralihan CSS dibatalkan, dibatalkan, dimulakan atau selesai dilaksanakan.
  • Apabila menentukan pengekodan aksara yang salah melalui overrideMimeType() atau jenis MIME untuk XMLHttpRequest, ia kini kembali kepada UTF-8 dan bukannya Latin-1;
  • Sifat "benarkan-muat turun-tanpa-pengaktifan-pengguna", yang membolehkan anda memuat turun fail secara automatik semasa memproses iframe, telah ditamatkan dan akan dialih keluar dalam keluaran akan datang. Pada masa hadapan, memulakan muat turun fail tanpa tindakan pengguna yang jelas akan dilarang, kerana ia telah digunakan secara aktif untuk penyalahgunaan, memaksa muat turun dan memasukkan bahagian perisian hasad ke komputer pengguna. Klik pengguna pada halaman yang sama diperlukan untuk memulakan muat turun. Harta ini pada asalnya dirancang untuk dialih keluar dalam Chrome 74, tetapi pengalihan keluar itu telah berlaku ditangguhkan sehingga Chrome 76.
  • Tema gelap pilihan untuk reka bentuk antara muka ditawarkan untuk platform Windows (dalam keluaran sebelumnya, tema gelap telah disediakan untuk macOS). Memandangkan reka bentuk gelap hampir sama dengan reka bentuk dalam mod inkognito, penunjuk khas telah ditambah dan bukannya ikon profil pengguna untuk menyerlahkan mod pengendalian peribadi;
  • Peluang telah ditambah untuk pengguna korporat Pengurusan Awan Penyemak Imbas Chrome untuk mengurus tetapan penyemak imbas pengguna melalui konsol Pentadbiran Google;

    Keluaran Chrome 74

Sebagai tambahan kepada inovasi dan pembetulan pepijat, versi baharu dihapuskan 39 kelemahan. Banyak kelemahan telah dikenal pasti hasil daripada ujian automatik dengan alatan AddressSanitizer, MemorySanitizer, Integriti Aliran Kawalan, LibFuzzer ΠΈ AFL. Tiada masalah kritikal telah dikenal pasti yang membolehkan seseorang memintas semua peringkat perlindungan penyemak imbas dan melaksanakan kod pada sistem di luar persekitaran kotak pasir. Sebagai sebahagian daripada program untuk membayar ganjaran tunai kerana menemui kelemahan untuk keluaran semasa, Google membayar 19 anugerah dalam jumlah $26837 (empat anugerah $3000, empat anugerah $2000, satu anugerah $1337, empat anugerah $1000, tiga anugerah $500). Saiz 4 ganjaran masih belum ditentukan.

Sumber: opennet.ru

Tambah komen