Flexbox model will replace old xul box as the default display model so
this patch adds support for that in a whole bunch of styles.
A lot of style rules are marked as "Fx < 112 compatibility" rules and
those can be removed when 112 hits release.
This patch "unhides" tabs scrollbox overflow indicators as well as adds
background for scrollbuttons when re-oredering tabs. Both of these are
pretty complicated things to achieve, so this patch also adds a small
compatibility layer for non_floating_sharp_tabs.css
browser-bottombox doesn't exist anymore so create space using
body::after instead. This patch additionally fixes various alignment
issues with elements in the statusbar.
There is still one(known?) case that happens if one uses a theme with
non-opaque toolbar background-color with optional extra-border rules.
But that option isn't too nice with non-opaque colors anyway so left as
todo.
In addition, this patch makes the optional rules use @supports
-moz-bool-pref rules instead of having to remove commented sections in
the css file.
Normally web-content hides the real statusbar but with RFP letterboxing
that might not happen. So lets inherit the background-color from
tabbrowser-tabpanels to make sure it's covered properly.
This patch changes how we deal with window control buttons on left
layouts. Previously, we looked to a pref that was only set on macos
but with this patch we use media queries to detect whether the system
is macOS or gtk-csd buttons use left-side layout.
To support old-style "override pref" this patch also introduces a
new custom pref userchrome.force-window-controls-on-left.enabled
which can be used e.g on Windows to move window controls to left side.
This logic is currently only supported in styles that use
window_control_placeholder_support.css
On Firefox 107, the tab bar displays all the tab rows, even if they are empty because there are few tabs.
This change removes the empty tab rows and restores the right behavior, only displaying tab rows when there are too many tabs to fit in one row.
This patch makes focused urlbar overlay other toolbar instead of being
constrained to urlbar-container width. This also disables that weird
bookmarks toolbar margin by default, but leaves code for Firefox <108
compatibility. Unpinned tabs are now visible by default but that can be
reversed by setting a pref. And lastly this disables tabs
arrowwscrollbox css containment which would cause the style to not work
in Firefox 108.