Peta jalan untuk meningkatkan dukungan Wayland di Firefox

Martin Stransky, pengelola paket Firefox untuk Fedora dan RHEL yang mem-porting Firefox ke Wayland, menerbitkan laporan yang meninjau perkembangan terbaru Firefox yang berjalan di lingkungan berbasis protokol Wayland.

Dalam rilis Firefox mendatang, direncanakan untuk memecahkan masalah yang diamati pada build Wayland dengan clipboard dan penanganan pop-up. Fitur-fitur ini tidak dapat segera diimplementasikan karena perbedaan pendekatan penerapannya di X11 dan Wayland. Dalam kasus pertama, kesulitan muncul karena clipboard Wayland berjalan secara asinkron, yang memerlukan pembuatan lapisan terpisah untuk mengabstraksikan akses ke clipboard Wayland. Lapisan yang ditentukan akan ditambahkan ke Firefox 93 dan diaktifkan secara default di Firefox 94.

Mengenai dialog pop-up, kesulitan utamanya adalah Wayland memerlukan hierarki jendela pop-up yang ketat, mis. jendela induk dapat membuat jendela anak dengan popup, tetapi popup berikutnya yang dimulai dari jendela tersebut harus terikat ke jendela anak asli, membentuk sebuah rantai. Di Firefox, setiap jendela dapat memunculkan beberapa popup yang tidak membentuk hierarki. Masalahnya adalah ketika menggunakan Wayland, menutup salah satu pop-up memerlukan pembangunan kembali seluruh rantai jendela dengan pop-up lainnya, meskipun faktanya kehadiran beberapa pop-up terbuka tidak jarang terjadi, karena menu dan pop-up diimplementasikan dalam bentuk tooltip popup, dialog add-on, permintaan izin, dll. Situasi ini juga diperumit oleh kelemahan pada Wayland dan GTK, yang menyebabkan perubahan kecil dapat menyebabkan berbagai kemunduran. Namun, kode penanganan pop-up untuk Wayland telah di-debug dan rencananya akan disertakan di Firefox 94.

Peningkatan lain terkait Wayland mencakup penambahan 93 perubahan penskalaan pada Firefox pada layar DPI berbeda, yang menghilangkan kedipan saat memindahkan jendela ke tepi layar dalam konfigurasi multi-monitor. Firefox 95 berencana untuk mengatasi masalah yang muncul saat menggunakan antarmuka drag&drop, misalnya saat menyalin file dari sumber eksternal ke file lokal dan saat memindahkan tab.

Dengan dirilisnya Firefox 96, port Firefox untuk Wayland direncanakan akan memiliki fungsionalitas yang setara secara keseluruhan dengan build X11, setidaknya ketika dijalankan di lingkungan GNOME Fedora. Setelah ini, perhatian pengembang akan dialihkan untuk mengasah pekerjaan di lingkungan Wayland pada proses GPU, yang berisi kode untuk berinteraksi dengan adaptor grafis dan yang melindungi proses browser utama agar tidak mogok jika terjadi kegagalan driver. Proses GPU juga direncanakan menyertakan kode untuk decoding video menggunakan VAAPI, yang saat ini dijalankan dalam proses pemrosesan konten.

Selain itu, kami dapat mencatat penyertaan mode isolasi situs yang ketat, yang dikembangkan sebagai bagian dari proyek Fission, untuk sebagian kecil pengguna cabang stabil Firefox. Berbeda dengan distribusi pemrosesan tab yang sewenang-wenang di seluruh kumpulan proses yang tersedia (8 secara default), yang digunakan sejauh ini, mode garis isolasi menempatkan pemrosesan setiap situs dalam prosesnya yang terpisah, tidak dipisahkan berdasarkan tab, tetapi berdasarkan domain (Publik Suffix), yang memungkinkan isolasi tambahan konten skrip eksternal dan blok iframe. Mengaktifkan mode Fission dikontrol melalui variabel β€œfission.autostart=true” di about:config atau di halaman about:preferences#experimental.

Mode isolasi ketat membantu melindungi terhadap serangan saluran samping, seperti yang terkait dengan kerentanan Spectre, dan juga mengurangi fragmentasi memori, mengembalikan memori ke sistem operasi dengan lebih efisien, meminimalkan dampak pengumpulan sampah dan perhitungan intensif pada halaman dalam proses lain, dan meningkatkan efisiensi distribusi beban di seluruh inti CPU yang berbeda dan meningkatkan stabilitas (kegagalan proses pemrosesan iframe tidak akan memengaruhi situs utama dan tab lainnya).

Di antara masalah yang diketahui yang muncul saat menggunakan mode isolasi ketat, terdapat peningkatan nyata dalam konsumsi memori dan deskriptor file saat membuka banyak tab, serta terganggunya pengoperasian beberapa add-on, hilangnya konten iframe saat mencetak dan memanggil fungsi perekaman tangkapan layar, mengurangi efisiensi cache dokumen dari iframe, Hilangnya konten formulir yang sudah diisi tetapi belum dikirimkan ketika sesi dipulihkan setelah crash.

Perubahan lain di Firefox termasuk penyelesaian migrasi ke sistem lokalisasi Lancar, perbaikan pada Mode Kontras Tinggi, penambahan kemampuan untuk merekam profil kinerja proses dalam satu klik ke about:processes, dan penghapusan pengaturan untuk mengembalikan yang lama. gaya halaman tab baru yang digunakan sebelum Firefox 89.

Sumber: opennet.ru

Tambah komentar