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.
This patch makes the style behave better on linux as well as make
fullscreen mode work better. It also fixes an issue where invisible
menubar would prevent window from being draggable from flexible-space
placed to the left of urlbar.
This opaque background allows us to draw statuspanel behind it.
Without this patch, the statupanel could be shown on tabs
that don't yet have associated <browser> such as when restoring
a tab after startup.
This change makes compatible with pop-up windows. I use extensions that creates new pup-up windows and looks bad with that space in blank. this affects to other windows than don't use tabs.
Someone might use this style to make the bookmarks toolbar itself
vertical housing buttons etc. but have bookmarks-toolbar-items in some
other horizontal toolbar.
This is done because we want the button background to fill toolbar
height, but we don't actually know how tall the toolbar is and thus
working with list-style-image + padding is going to produce stretced
icon on some systems.
If native titlebar is enabled the rules would move tabs and navbar
partially below native titlebar. Those rules are not needed anyway
with native titlebar since window controls are in native titlebar.
This patch makes outward curves use a sliver of toolbox background-image
to mask some artifacts that are results of several semi-transparent
surfaces. This also changes the curve svg image a bit to makes
curve-border transitions more smooth.
This patch makes the style work together with non_floating sharp tabs
which is now a requirement for this style, because this style won't make
sense with proton-like tabs.
With positioninnedtabs, the left-most tab might end up outside of the
window under some circumstances (for example when menubar is enabled).
This patch moves tabbrowser-tabs away from the window edge equal to the
curve-size and makes the pre-tabs spacer a bit narrower to make the
space not look too large when the spacer is shown.
This rewrites the style to achieve compatibility with
inline_tab_audio_icons.css. compatibility only requires few small
non-affecting extra rules in inline_tab_audio_icons. This patch also
makes combined_favicon_and_tab_close_button work with themes where tab
background is not full opaque which is a nice bonus :)