A Wayland támogatásának javítása a Firefoxban

Martin Stransky, a package maintainer for Firefox in Fedora and RHEL, who is working on porting Firefox for Wayland, published a report summarizing the latest achievements in Firefox's functionality in environments based on the Wayland protocol.

In upcoming releases of Firefox, there are plans to address the clipboard and popup handling issues observed in the Wayland builds. These features could not be immediately implemented due to differences in implementation approaches in X11 and Wayland. In the former case, difficulties arose because the Wayland clipboard operates in asynchronous mode, necessitating the creation of a separate layer to abstract access to the Wayland clipboard. This layer will be included in Firefox 93 and enabled by default in Firefox 94.

Regarding popup dialogs, the main difficulty was that Wayland requires strict adherence to a hierarchy of popups, meaning a parent window can create a child window with a popup, but any subsequent popup initiated from this window must be attached to the original child window, forming a chain. In Firefox, each window could spawn multiple popups that didn’t form a hierarchy. The problem was that when using Wayland, closing one of the popups requires rebuilding the entire chain of windows with other popups, and having several open popups is not uncommon, as popups are used for menus, tooltips, extension dialogs, permission requests, etc. The situation was further complicated by shortcomings in Wayland and GTK, which meant that even minor changes could lead to various regressions. Nevertheless, the code for handling popups for Wayland has been fine-tuned and is planned for inclusion in Firefox 94.

Among other Wayland-related improvements, changes related to scaling on screens with different DPI were added to Firefox 93, which eliminated flickering when moving windows to the edge of the screen in multi-monitor setups. In Firefox 95, the team plans to address issues arising from using the drag & drop interface, such as copying files from external sources to local file systems and moving tabs.

A Firefox 96 kiadásában a Wayland portot a lehető legmagasabb szintre kívánják emelni a X11-hez képest, legalább a Fedora GNOME környezetében. Ezt követően a fejlesztők figyelme a Wayland GPU-processz munkájának finomítására fordul, amelyben a grafikus adapterekkel való interakcióhoz szükséges kód található, és amely megvédi a böngésző fő processzét a grafikus meghajtók hibája esetén bekövetkező összeomlástól. A GPU-processzba a VAAPI használatával történő videodekódolás kódját is át kívánják helyezni, amely jelenleg a tartalomszolgáltató folyamatokban fut.

Továbbá érdemes megjegyezni, hogy a Firefox stabil ágainak kis százaléka számára bevezetik a szigorú weboldal-izoláció módját, amely a Fission projekt keretein belül fejlődött ki. Ellentétben a korábban alkalmazott, az elérhető folyamatok közötti önkényes tabkezeléssel (alapértelmezett 8), a szigorú izolációs mód minden weboldal feldolgozását egy külön folyamatba helyezi át, amely a tabok helyett a domainek (Public Suffix) között osztja meg az erőforrásokat, lehetővé téve a külső szkriptek és iframe-blokkok tartalmának további izolálását. A Fission mód aktiválása az about:config-ban található „fission.autostart=true” változón keresztül vagy az about:preferences#experimental oldalon végezhető.

A szigorú izolációs mód védelmet nyújt a harmadik féltől származó támadások ellen, például a Spectre-osztályú sebezhetőségekkel kapcsolatban, és csökkenti a memóriafragmentációt, hatékonyabban adja vissza a memóriát az operációs rendszernek, minimalizálja a szemétgyűjtés és az intenzív számítások más folyamatokra gyakorolt hatását, növeli a CPU különböző magjai közötti terheléselosztás hatékonyságát, és elősegíti a stabilitást (az iframe-t kezelő folyamat összeomlása nem vonja magával a fő weboldalt és más lapokat).

A szigorú izolációs mód használatával kapcsolatos ismert problémák közé tartozik a memória és a fájlkezelők észlelhető növekedése számos fül egyidejű megnyitásakor, valamint egyes bővítmények működésének zavara, az iframe tartalmának eltűnése nyomtatáskor és a képernyőfelvétel funkció használatakor, a dokumentumok iframe-ekkel történő gyorsítótárazásának hatékonyságának csökkenése, és az űrlapok tartalmának elvesztése, amikor a munkamenetet összeomlás után állítják vissza.

A Firefox más változásai közé tartozik a Fluent lokalizációs rendszerre való áttérés befejezése, a nagy kontrasztú üzemmód (High Contrast Mode) fejlesztése, az about:processes oldalon megtalálható teljesítményprofilok egy kattintással történő rögzítésének lehetősége, valamint a Firefox 89-ig használt új lapnyitási stílus visszaállításának beállításának eltávolítása.

Forrás: opennet.ru

Megbízható hosting vásárlása weboldalak számára, DDoS védelemmel, VPS VDS szerverek. 🔥 Megbízható webtárhely vásárlása DDoS védelemmel, VPS VDS szerverek | ProHoster