Closed Bug 637608 Opened 13 years ago Closed 10 years ago

Tab-strip overflow/scroll arrows seem to have inverted enabled/disabled state icons with some Gtk themes

Categories

(Firefox :: Theme, defect)

x86
Linux
defect
Not set
minor

Tracking

()

VERIFIED FIXED
Firefox 33

People

(Reporter: george.carstoiu, Assigned: dao)

References

Details

(Keywords: regression, Whiteboard: p=2 s=33.1 [qa!])

Attachments

(3 files)

Attached image Screenshot 1
Mozilla/5.0 (X11; Linux i686; rv:2.0b13pre) Gecko/20110228 Firefox/4.0b13pre

The two overflow tab-strip arrows have inverted icons - should be active when grayed out and the other way around (see Screenshot 1)

Reproducible: always

Steps to reproduce:
1. Open FF and populate it with tabs until overflow buttons appear
2. Observe behavior

Actual results:
 - the two icons are inverted

Expected results:
 - the two buttons are displayed correctly
Regression range:

Last good build:
http://hg.mozilla.org/mozilla-central/rev/4b9e814fe3ab
Mozilla/5.0 (X11; Linux i686; rv:2.0b12pre) Gecko/20110217 Firefox/4.0b12pre

First bad build:
http://hg.mozilla.org/mozilla-central/rev/1eed87fac9ce
Mozilla/5.0 (X11; Linux i686; rv:2.0b12pre) Gecko/20110218 Firefox/4.0b12pre

Pushlog:
http://hg.mozilla.org/mozilla-central/pushloghtml?fromchange=4b9e814fe3ab&tochange=1eed87fac9ce
Looks like a regression from bug 580970.
Blocks: 580970
Component: Tabbed Browser → Theme
Keywords: regression
QA Contact: tabbed.browser → theme
Got this issue too.
I did some more investigation, it seems the part is causing issue :

#TabsToolbar[tabsontop=true]:not(:-moz-lwtheme) {
  -moz-appearance: menulist;
  color: -moz-menubartext;
}
From top to bottom :
Ambiance (default Ubuntu theme)
New Wave
Radiance
Clearlooks
Dustsand

(I did not include screen for High Contrast, but the bug doesn't happen)

The bug only happen on Ambiance and New Wave So I guess this is not a Firefox/Mozilla bug.
Ambiance has a light toolbar background, and a dark menu background.  The GTK_ARROW_LEFT/RIGHT icons are designed to be appear on the light toolbar background, but Firefox is drawing them on the dark menu background.

This gives the light gray "disabled" arrows higher contrast than the dark gray "enabled" arrows.  Thus the disabled arrows appear enabled, and vice versa.
I can't think of a really great way to fix this in Firefox. We could replace the GTK icons in the tab bar with custom icons, and use -moz-MenuBarText as the color for these icons.  But we shouldn't ditch the stock icons if we can help it, at least in themes where they work just fine.

To fix this upstream, the appearance of the Ambiance icons on dark backgrounds could be improved by using opacity (rather than color) to reduce the contrast of the disabled icons, and/or adding a semitransparent light border or glow to the enabled icons.
I can still reproduce this issue in :  Mozilla/5.0 (X11; Linux i686; rv:6.0) Gecko/20100101 Firefox/6.0 - beta 4.
And autorepeat button in menupopup also have inverted icons.
This has been going on for a while for me as well.  I don't know exactly how long.  

This is not some weird edge case but a mostly default Firefox install.

Firefox 11.0 with Default 11.0 theme Under Opensuse 11.4.

User Agent
Mozilla/5.0 (X11; Linux x86_64; rv:11.0) Gecko/20100101 Firefox/11.0
i am a noob, how can i fix this bug.
This now works correctly for me with Firefox 18.0 under OpenSUSE 12.2.
User Agent
Mozilla/5.0 (X11; Linux x86_64; rv:18.0) Gecko/20100101 Firefox/18.0
This bug depends on the specific GTK theme, so it may appear or disappear if you switch themes or upgrade to a new version of the same theme.

As I suggested in comment 7, the best way to fix this might be to update any affected GTK themes to use transparent images (instead of just lighter images) for their scroll arrow icons.  I can't help you here; you'll need to track down the maintainers of Ubuntu's Ambiance and other affected themes.

If you'd rather try to fix this in Firefox itself, you could override the styles for the tab strip scrollbox buttons here to use custom images; you'd need to make sure they look right against a variety of dark and light backgrounds:
http://hg.mozilla.org/mozilla-central/file/784b9beebe90/browser/themes/gnomestripe/browser.css#l1738

or perhaps instead you could change the code here to do something different (I don't know enough about GTK to suggest anything specific):
http://mxr.mozilla.org/mozilla-central/ident?i=MOZ_GTK_TOOLBARBUTTON_ARROW
Summary: Tab-strip overflow arrows have inverted icons → Tab-strip overflow/scroll arrows seem to have inverted enabled/disabled state icons with some Gtk themes
Marco, can you please add this to the current iteration?
Assignee: nobody → dao
Depends on: 1012629
Flags: needinfo?(mmucci)
Flags: firefox-backlog+
Whiteboard: p=2 [qa+]
Blocks: 947356
Attached patch patchSplinter Review
using the same icons and mostly the same CSS rules as on Windows
Attachment #8442688 - Flags: review?(mdeboer)
Added to Iteration 33.1
Status: NEW → ASSIGNED
Flags: needinfo?(mmucci)
Whiteboard: p=2 [qa+] → p=2 s=33.1 [qa+]
Comment on attachment 8442688 [details] [diff] [review]
patch

Review of attachment 8442688 [details] [diff] [review]:
-----------------------------------------------------------------

Well, uhm, this patch is nothing short of awesome. It just works(tm), no comments.

Just land it, I'd say! :)
Attachment #8442688 - Flags: review?(mdeboer) → review+
https://hg.mozilla.org/mozilla-central/rev/14a55cab5f57
Status: ASSIGNED → RESOLVED
Closed: 10 years ago
Resolution: --- → FIXED
Target Milestone: --- → Firefox 33
Hi Florin, can a QA contact be assigned for verification.
Flags: needinfo?(florin.mezei)
Flags: needinfo?(florin.mezei)
QA Contact: catalin.varga
Verified as fixed using the following environment:

FF Nighlty 33
Build Id: 20140623030201
OS: Ubuntu 13.04 x64
Status: RESOLVED → VERIFIED
Whiteboard: p=2 s=33.1 [qa+] → p=2 s=33.1 [qa!]
You need to log in before you can comment on or make changes to this bug.