Plan voor het verbeteren van de ondersteuning van Wayland in Firefox

Martin Stransky, maintainer van de Firefox-pakketten in Fedora en RHEL, die zich bezighoudt met het porteren van Firefox voor Wayland, heeft een rapport gepubliceerd met een overzicht van de recente prestaties van Firefox in omgevingen die zijn gebaseerd op het Wayland-protocol.

In de komende versies van Firefox is het de bedoeling om de in de builds voor Wayland waargenomen problemen met het klembord en de verwerking van pop-ups op te lossen. Deze functies konden niet onmiddellijk worden geïmplementeerd vanwege de verschillen in de benadering van hun realisatie in X11 en Wayland. In het eerste geval deden zich moeilijkheden voor vanwege de werking van het Wayland-klembord in een asynchroon modus, wat vereiste dat er een aparte laag moest worden gecreëerd voor de abstractie van de toegang tot het Wayland-klembord. Deze laag zal worden toegevoegd in Firefox 93 en standaard worden ingeschakeld in Firefox 94.

Wat betreft de pop-up dialoogvensters, de belangrijkste moeilijkheid was dat Wayland een strikte hiërarchie van pop-up vensters vereist, d.w.z. het bovenliggende venster kan een onderliggend venster met een pop-up maken, maar die pop-up die vanuit dit venster wordt geïnitieerd, moet aan het oorspronkelijke onderliggende venster worden gekoppeld, waardoor een keten ontstaat. In Firefox kon elk venster meerdere pop-ups genereren die geen hiërarchie vormden. Het probleem was dat, bij gebruik van Wayland, het sluiten van een van de pop-ups vereiste dat de gehele keten van vensters met andere pop-ups opnieuw moest worden opgesteld, terwijl het hebben van meerdere geopende pop-ups geen zeldzaamheid is, aangezien menu's, tooltipvensters, add-ons dialoogvensters, machtigingsverzoeken, enz. ook als pop-ups zijn geïmplementeerd. De situatie werd ook bemoeilijkt door de tekortkomingen in Wayland en GTK, waardoor zelfs kleine wijzigingen tot verschillende regressies konden leiden. Desondanks is de code voor het beheren van pop-up vensters voor Wayland geoptimaliseerd en zal deze naar verwachting worden opgenomen in Firefox 94.

Andere verbeteringen met betrekking tot Wayland zijn de toevoegingen in Firefox 93 die verband houden met schaalvergroting op schermen met verschillende DPI's, waardoor het flikkeren bij het verplaatsen van een venster naar de rand van het scherm in multi-monitorconfiguraties kon worden geƫlimineerd. In Firefox 95 is het de bedoeling om de problemen die zich voordoen bij het gebruik van de drag & drop-interface aan te pakken, bijvoorbeeld bij het kopiƫren van bestanden vanuit externe bronnen naar lokale FS en bij het verplaatsen van tabbladen.

In Firefox 96, the port of Firefox for Wayland aims to achieve functional parity with the X11 build, at least when operating in the GNOME environment of Fedora. After that, developer focus will shift to refining the operation of the Wayland GPU process, which encapsulates the code for interacting with graphics adapters and protects the main browser process from crashing in case of driver failures. Additionally, the code for video decoding using VAAPI, which is currently running in content processing processes, is also planned to be moved to the GPU process.

Additionally, it is worth noting the inclusion of a strict site isolation mode for a small percentage of users on stable Firefox branches, which has been developed under the Fission project. Unlike the arbitrary distribution of tab processing across an available pool of processes (default is 8) used until now, the strict isolation mode assigns each site to its own separate process, separating them not by tabs but by domains (Public Suffix), which allows for further isolation of external scripts and iframe blocks. The control over enabling the Fission mode is managed through the variable 'fission.autostart=true' in about:config or on the about:preferences#experimental page.

The strict isolation mode helps protect against side-channel attacks, such as those related to Spectre-class vulnerabilities, and also reduces memory fragmentation, returning memory to the operating system more efficiently, minimizing the impact of garbage collection and intensive computations on pages in other processes, increasing the efficiency of load distribution across different CPU cores, and enhancing stability (a crash of the process handling iframes will not affect the main site and other tabs).

Among the known issues arising from using the strict isolation mode, there is a noticeable increase in memory and file descriptor consumption when opening a large number of tabs, as well as disruptions in the operation of some extensions, loss of iframe content when printing and invoking the screenshot function, reduced efficiency in caching documents with iframes, and loss of content in filled but unsubmitted forms when restoring a session after a crash.

Onder andere veranderingen in Firefox zijn de voltooiing van de migratie naar het Fluent-localisatiesysteem, verbeteringen in de hoge-contrastmodus (High Contrast Mode), de toevoeging van een ƩƩn-klik mogelijkheid om prestatieprofielen van processen op te nemen in about:processes, en het verwijderen van de instelling om de oude stijl van de opening pagina van een nieuw tabblad, die tot Firefox 89 werd gebruikt, te herstellen.

Bron: opennet.ru

Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers šŸ”„ Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers | ProHoster