From 6b886a4bd320245a58a4b0a31aa64ad6d8cafa06 Mon Sep 17 00:00:00 2001 From: Stephen Horlander Date: Fri, 14 Mar 2014 16:59:44 +0100 Subject: [PATCH] Bug 978752 - fix Windows Classic gradient for Australis, r=mconley --HG-- extra : rebase_source : 9653aec995257946f65c826f439539c848da6d63 --- browser/themes/windows/browser.css | 59 ++++++++++++++++++++++++++---- 1 file changed, 51 insertions(+), 8 deletions(-) diff --git a/browser/themes/windows/browser.css b/browser/themes/windows/browser.css index 3065991ebd16..40bf011e560a 100644 --- a/browser/themes/windows/browser.css +++ b/browser/themes/windows/browser.css @@ -117,18 +117,59 @@ /** * In the classic themes, the titlebar has a horizontal gradient, which is * problematic for reading the text of background tabs when they're in the - * titlebar. We side-step this issue by layering our own gradient underneath - * the tabs. + * titlebar. We side-step this issue by layering our own background underneath + * the tabs. Unfortunately, this requires a bunch of positioning in order to get + * text and icons to not appear fuzzy. */ @media (-moz-windows-classic) { - #main-window[tabsintitlebar]:not([inFullscreen]) #TabsToolbar:not(:-moz-lwtheme) { - background: linear-gradient(to top, @toolbarShadowColor@ 2px, transparent 2px), - linear-gradient(rgba(50%,50%,50%,0), ActiveCaption 85%); + #main-window[tabsintitlebar]:not([sizemode=fullscreen]) .tabbrowser-tab:not([selected=true]), + #main-window[tabsintitlebar]:not([sizemode=fullscreen]) .tabs-newtab-button { + position: relative; + z-index: 1; } - #main-window[tabsintitlebar]:not([inFullscreen]) #TabsToolbar:not(:-moz-lwtheme):-moz-window-inactive { - background: linear-gradient(to top, @toolbarShadowColor@ 2px, transparent 2px), - linear-gradient(rgba(50%,50%,50%,0), InactiveCaption 85%); + #main-window[tabsintitlebar] #TabsToolbar:not(:-moz-lwtheme) { + background-image: none; + position: relative; + } + + #main-window[tabsintitlebar]:not([sizemode=fullscreen]) #TabsToolbar:not(:-moz-lwtheme)::after { + /* Because we use placeholders for window controls etc. in the tabstrip, + * and position those with ordinal attributes, and because our layout code + * expects :before/:after nodes to come first/last in the frame list, + * we have to reorder this element to come last, hence the + * ordinal group value (see bug 853415). */ + -moz-box-ordinal-group: 1001; + box-shadow: 0 0 50px 8px ActiveCaption; + content: ""; + display: -moz-box; + height: 0; + margin: 0 50px; + position: absolute; + pointer-events: none; + top: 100%; + width: -moz-available; + z-index: 0; + } + + #main-window[tabsintitlebar]:not([sizemode=fullscreen]) #TabsToolbar:not(:-moz-lwtheme):-moz-window-inactive::after { + box-shadow: 0 0 50px 8px InactiveCaption; + } + + /* Need to constrain the box shadow fade to avoid overlapping layers, see bug 886281. */ + #main-window[tabsintitlebar]:not([sizemode=fullscreen]) #navigator-toolbox:not(:-moz-lwtheme) { + overflow: -moz-hidden-unscrollable; + } + + #main-window[tabsintitlebar][sizemode=normal] .tabbrowser-arrowscrollbox > .arrowscrollbox-scrollbox > .scrollbox-innerbox:not(:-moz-lwtheme) { + position: relative; + } + + #main-window[tabsintitlebar]:not([sizemode=fullscreen]) #TabsToolbar .toolbarbutton-1, + #main-window[tabsintitlebar]:not([sizemode=fullscreen]) .tabbrowser-arrowscrollbox > .scrollbutton-up, + #main-window[tabsintitlebar]:not([sizemode=fullscreen]) .tabbrowser-arrowscrollbox > .scrollbutton-down { + position: relative; + z-index: 1; } #main-window[tabsintitlebar][sizemode="normal"] #titlebar-content:-moz-lwtheme { @@ -922,6 +963,8 @@ toolbarbutton[sdk-button="true"][cui-areatype="toolbar"] > .toolbarbutton-icon { #main-window[tabsintitlebar]:not([inFullscreen]) :-moz-any(#TabsToolbar, #toolbar-menubar) > toolbarpaletteitem > :-moz-any(@primaryToolbarButtons@):-moz-system-metric(windows-classic):not(:-moz-lwtheme), #main-window[tabsintitlebar]:not([inFullscreen]) :-moz-any(#TabsToolbar, #toolbar-menubar) > :-moz-any(@primaryToolbarButtons@):-moz-system-metric(windows-classic):not(:-moz-lwtheme), #home-button.bookmark-item:-moz-lwtheme-brighttext { + position: relative; + z-index: 1; list-style-image: url("chrome://browser/skin/Toolbar-inverted.png"); }