Martin Stransky, the Firefox package maintainer for Fedora and RHEL, who is responsible for porting Firefox for Wayland, has published a report summarizing the latest advances in Firefox in Wayland environments.
In the coming releases of Firefox, it is planned to address the issues observed in builds for Wayland with the clipboard and popup handling . These features could not be immediately implemented due to differences in the approach to their implementation in X11 and Wayland. In the first case, difficulties arose due to the operation of the Wayland clipboard in asynchronous mode, which required the creation of a separate layer to abstract access to the Wayland clipboard. The specified layer will be added to Firefox 93 and enabled by default in Firefox 94.
With regard to pop-up dialogs, the main difficulty was that Wayland requires adherence to a strict hierarchy of pop-ups, those. the parent window can create a child window with a popup, but the next popup initiated from this window must bind to the original child window, forming a chain. In Firefox, each window could spawn multiple popups that did not form a hierarchy. The problem was that when using Wayland, closing one of the pop-ups requires rebuilding the entire chain of windows with other pop-ups, while the presence of several open pop-ups is not uncommon, since pop-ups are implemented as pop-up menus. prompts, add-on dialogs, permission requests, etc. The situation was also compounded by flaws in Wayland and GTK , where small changes could lead to various regressions. However, the pop-up handling code for Wayland has been tweaked and is planned for inclusion in Firefox 94.
Other Wayland-related improvements mentioned include the addition of 93 to Firefox changes DPI scaling to eliminate flicker when moving the window to the edge of the screen in multi-monitor configurations. In Firefox 95, it is planned to deal with the problems that arise when using the drag & drop interface, for example, when copying files from external sources to local file systems and when moving tabs.
With the release of Firefox 96, the Firefox port for Wayland will be brought to overall parity in functionality with the X11 build, at least when running on the GNOME Fedora environment. After that, the attention of developers will be switched to honing the work in the Wayland environments of the GPU process, in which the code for interacting with graphics adapters is taken out and which protects the main browser process from crashing in the event of driver failures. It is also planned to bring code to the GPU process for decoding video using VAAPI, which is currently being launched in content processing processes.
Additionally, we can note the inclusion for a small percentage of users of the stable branches of Firefox, the regime of strict isolation of sites , developed within the framework of the Fission project. Unlike the arbitrary distribution of tab processing across the available process pool for content processing (8 by default), which has been used so far, the isolation string mode brings the processing of each site into its own separate process with division not by tabs, but by domains ( Public Suffix ), which allows you to further isolate the content of external scripts and iframes. Fission mode activation is controlled through the “fission.autostart = true” variable in about: config or on the about: preferences # experimental page.
Strong isolation mode protects against side-channel attacks, such as those associated with Specter class vulnerabilities, as well as reduces memory fragmentation, returns memory to the operating system more efficiently, minimizes the impact of garbage collection and computation intensive on pages in other processes, and improves load balancing efficiency. different CPU cores and improves stability (the crash of the process that processes the iframe will not pull the main site and other tabs along with it).
Among the known issues that occur when using the lockdown, there is a marked increase in memory consumption, connections X11 and file deskriptrov at the opening of a large number of tabs, as well as the disruption of some supplements, loss of the contents of iframe print and calling screenshot recording function, decrease the effectiveness of caching of documents with iframe, loss of content of filled but not submitted forms when recovering session after crash.
Other changes in Firefox include the completion of the migration to the localization system Fluent , an improvement in High Contrast Mode, the addition of the ability to in about: processes, record process performance profiles in one click and the removal of the setting to revert to the pre-Firefox 89 style new tab page layout. …