Closed
Bug 222654
Opened 21 years ago
Closed 19 years ago
global/scrollbars.css for native scrollbars different on Mac (many Firefox themes break scrollbars on Mac)
Categories
(SeaMonkey :: Themes, defect)
SeaMonkey
Themes
Tracking
(Not tracked)
RESOLVED
FIXED
mozilla1.8beta4
People
(Reporter: aaronspuler, Assigned: steffen.wilberg)
References
Details
(Keywords: fixed1.8)
Attachments
(1 file, 9 obsolete files)
23.55 KB,
patch
|
Details | Diff | Splinter Review |
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.4) Gecko/20030624 Build Identifier: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.4) Gecko/20030624 If you look at the classic.jar for MacOS X and all other platforms, the code is different. To achieve native scrollbars, it (to me anyway) is impossible to use a non-mac classic.jar scrollbars.css file. To test this out, I have 2 themes that use native scrollbars, named Rain and Smoke. You may find them at http://mozthemes.tk, and if you try to install the non-Mac version on a Mac, everything is correct except for the scrollbars (they don't appear). However, installing the Mac-specific builds corrects this problem. I have not modified the code global/scrollbars.css -- I just copied the file straight from the classic.jar file. For the Mac-specific version, I pulled it from the Mac classic.jar, and for the non-Mac version, I pulled it from the Windows classic.jar. I am not the only themer noticing this problem, others on the Mozillazine forums have noticed this issue. Reproducible: Always Steps to Reproduce: 1.Install non-Mac version of Rain or Smoke themes from http://mozthemes.css 2.Restart Mozilla Actual Results: Scrollbars missing. Expected Results: Native scrollbars. Then to get native scrollbars, install the Mac-specific version, restart Mozilla, and there you go. Since Mozilla is cross-platform, themes should not have to be platform-specific.
Reporter | ||
Comment 1•21 years ago
|
||
Sorry, in "Steps to reproduce, step 1", it should say http://mozthemes.tk instead of http://mozthemes.css!
Comment 2•21 years ago
|
||
also got this problem when making my qute status and crystal status themes...
Comment 3•21 years ago
|
||
Themes may need to be platform-specific if you want a different look on different platforms, which is the case here...
Reporter | ||
Comment 4•21 years ago
|
||
But the only thing different about the themes is the scrollbars... all other os widgets are cross-platform on the themes. And here's another thing: If I take a non-Mac theme and change the -moz-appearance for all instances of scrollbar code in scrollbars.css to -moz-appearance: none, then there ARE scrollbars appearing in the mail folder pane and mail message pane! But nowhere else :(
This is about themes being cross-platform, which seems to no longer be the case. This doesn't seem to be about using OSX specific widgets and currently only appears to be a problem with scrollbars. Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.6a) Gecko/20031025 Firebird/0.7+ (Mike Tigas (Nova); SVG-DOMi-Venkman; i686)
Reporter | ||
Comment 6•20 years ago
|
||
No progress yet on this bug?? I still have to maintain two versions of each theme that uses Native OS Scrollbars, and the only difference is global\scrollbars.css -- This behavior occurs on Mozilla, Mozilla Firefox, and Mozilla Thunderbird.
Reporter | ||
Updated•20 years ago
|
Flags: blocking1.8a2?
Flags: blocking1.7.1?
Comment 7•20 years ago
|
||
I agree with this. For all the themes I've hacked to get to work with OS X all i've had to do was replace scrollbars.css Us Mac users shouldn't have to do that. And the theme authors shouldn't have to create a seperate theme just for us.
Maintaining two versions of the same theme just to solve the missing OS X scrollbars issue is more work than should be necessary. For what it's worth I vote this issue be fixed.
Updated•20 years ago
|
Flags: blocking1.8a2? → blocking1.8a2-
Reporter | ||
Comment 9•20 years ago
|
||
Asa, how about nominating this as a blocker for 1.9??? Please?
Comment 10•20 years ago
|
||
Requesting blocking-aviary1.0mac on this bug.. Unless it's intentional that themes aren't cross-platform for MacOSX on Firefox and Tbird. Bug 252294, was filed against Mozilla Update asking that the Cross-Platform "All" themes be hidden for MacOSX users, because of this bug. As most cross-platform themes that don't take Mac into consideration appearantly are failing to show up appropriately. I'd rather see this bug fixed than have to implement such a workaround for Update.
Flags: blocking-aviary1.0mac?
Assignee | ||
Comment 11•20 years ago
|
||
The only place using chrome://global/skin/scrollbars.css is http://lxr.mozilla.org/seamonkey/source/content/base/src/nsLayoutStylesheetCache.cpp#83 (there's also mozilla/extensions/inspector/resources/content/tests/allskin.xul, but that's only used by inspector/jar.mn). We could do this: -NS_LITERAL_CSTRING("chrome://global/skin/scrollbars.css")); +#idef XP_MACOSX + NS_LITERAL_CSTRING("chrome://global/skin/nativescrollbars.css")); +#else + NS_LITERAL_CSTRING("chrome://global/skin/xulscrollbars.css")); +#endif Include both css files in the appropriate jar.mn (and clean up some cruft in makefiles). Each theme could provide both css files then, and the app would use the one appropriate for its platform.
Comment 12•20 years ago
|
||
Is it in the same place for Firefox?
Comment 13•20 years ago
|
||
*** Bug 254783 has been marked as a duplicate of this bug. ***
Comment 14•20 years ago
|
||
*** Bug 256280 has been marked as a duplicate of this bug. ***
Comment 15•20 years ago
|
||
*** Bug 262174 has been marked as a duplicate of this bug. ***
Comment 16•20 years ago
|
||
Steffen - Can you please turn your idea into a formal patch?
Comment 17•20 years ago
|
||
This is really causing a problem for UMO. Unfortunately this didn't make it for 1.0, which means a lot of frustrated users.
Severity: normal → major
Comment 18•20 years ago
|
||
I can make a formal patch out of the idea, not "now" though, not sure who to r? though, or if that patch is optimal...but it will likely be a much better work-around than what is currently in place.
Updated•20 years ago
|
Flags: blocking-aviary1.0mac?
Comment 20•20 years ago
|
||
*** Bug 272307 has been marked as a duplicate of this bug. ***
Updated•20 years ago
|
Flags: blocking1.7.5? → blocking1.7.5-
Comment 21•19 years ago
|
||
Comment 22•19 years ago
|
||
*** Bug 285084 has been marked as a duplicate of this bug. ***
Comment 23•19 years ago
|
||
Comment on attachment 175042 [details] [diff] [review] patch #1 - first part of what has been described in comment 11 hmm forgive me for talking this late at night, but do we not need the #ifdef etc as teh first character on the line, at least the # anyway, with possible space between that and teh command. Plus #idef XP_MACOSX is wrong, mistyped. I am unsure of which new-file scrollbars.css will be best shipped to, though a new file for the other will be needed, and an edit of the jar.mn for those CSS files.
Updated•19 years ago
|
Flags: blocking-aviary1.1?
Summary: global/scrollbars.css for native scrollbars different on mac → global/scrollbars.css for native scrollbars different on Mac (many Firefox themes break scrollbars on Mac)
Comment 24•19 years ago
|
||
Of course this doesn't help the theme developer who wants to have the scrollbars on every OS; e.g. Modern Pinball
Comment 25•19 years ago
|
||
Of course this doesn't help the theme developer who wants to have the same scrollbars on every OS; e.g. Modern Pinball
Comment 26•19 years ago
|
||
Comment on attachment 184227 [details] [diff] [review] Tweaked patch addressing #idef and #ifdef etc at the start of the line I'll diff -u next time : )
Attachment #184227 -
Attachment is obsolete: true
Comment 27•19 years ago
|
||
Regarding comment 24 [25] nativescrollbars.css would only need to be : @import(xulscrollbars.css); /* absolute paths if absolutely necessary */ or @import(chrome://global/skin/xulscrollbars.css); To get around that. Apologies for excessive bugspam. Been up since approx 4am
Attachment #184228 -
Attachment is obsolete: true
Assignee | ||
Comment 28•19 years ago
|
||
The above patches are nowhere near complete, so lLet's start again. The goal is to allow themes to provide two css files, one for Mac (nativescrollbars.css) and one for the other platforms (xulscrollbars.css). The advantage is that you can provide a single theme for all platforms. This patch changes the reference from the generic chrome://global/skin/scrollbars.css to chrome://global/skin/nativescrollbars.css and chrome://global/skin/xulscrollbars.css. On the Seamonkey Classic theme, there are already two files, nativescrollbars.css and xulscrollbars.css. So I only need to change the jar.mn packaging. On the Seamonkey Modern theme, there's only scrollbars.css, providing xul scrollbars on all platforms. The jar.mn file packages it as nativescrollbars.css on Mac, and as xulscrollbars.css on the other platforms. On Pinstripe, which is used by Firefox on Mac, there's a scrollbars.css file, which I move to nativescrollbars.css, and pack that. On Qute, which is used by Thunderbird on all platforms, there's only scrollbars.css, providing xul scrollbars on all platforms. The jar.mn file packages it as nativescrollbars.css on Mac, and as xulscrollbars.css on the other platforms. On Winstripe, which is used by Firefox on non-Mac platforms, there's a scrollbars.css file, which I move to xulscrollbars.css, and pack that. The allskin.xul file is the only other file referencing chrome://global/skin/scrollbars.css.
Assignee | ||
Updated•19 years ago
|
Assignee: bugspam.Callek → steffen.wilberg
Attachment #175042 -
Attachment is obsolete: true
Attachment #184229 -
Attachment is obsolete: true
Status: NEW → ASSIGNED
Attachment #184242 -
Flags: superreview?(dbaron)
Attachment #184242 -
Flags: review?(dbaron)
Assignee | ||
Comment 29•19 years ago
|
||
I tested this with Firefox on Linux. There's no difference to Firefox/Windows. I'd be glad if someone could test this on Mac and on Seamonkey.
Comment on attachment 184242 [details] [diff] [review] complete patch I'm not the right reviewer for this.
Attachment #184242 -
Flags: superreview?(dbaron)
Attachment #184242 -
Flags: superreview?
Attachment #184242 -
Flags: review?(dbaron)
Attachment #184242 -
Flags: review?
Assignee | ||
Updated•19 years ago
|
Attachment #184242 -
Flags: superreview?
Attachment #184242 -
Flags: review?(neil.parkwaycc.co.uk)
Attachment #184242 -
Flags: review?(kevin)
Attachment #184242 -
Flags: review?
Comment 31•19 years ago
|
||
Comment on attachment 184242 [details] [diff] [review] complete patch >- NS_LITERAL_CSTRING("chrome://global/skin/scrollbars.css")); >+#ifdef XP_MACOSX >+ NS_LITERAL_CSTRING("chrome://global/skin/nativescrollbars.css")); >+#else >+ NS_LITERAL_CSTRING("chrome://global/skin/xulscrollbars.css")); >+#endif On IRC bz suggested changing this to chrome://global/content/scrollbars.css then using preprocessing to @import the relevant skin file. I think it's too much pain for too little gain. But you should still get some sort of layout sign-off either way. >+#ifndef XP_MACOSX >+# use xul scrollbars on non-Mac platforms >+ skin/classic/global/xulscrollbars.css (global/win/scrollbars.css) >+#endif I'd rather that this line be moved into the #else section of the #ifdef XP_MACOSX instead of having its own #if block. >+#ifdef XP_MACOSX >+# referenced as chrome://global/skin/nativescrollbars.css on Mac >+ skin/modern/global/nativescrollbars.css (global/scrollbars.css) >+#else >+# referenced as chrome://global/skin/xulscrollbars.css on non-Mac platforms >+ skin/modern/global/xulscrollbars.css (global/scrollbars.css) >+#endif I think I'd prefer to package it twice for Modern, so that the platforms get identical .jar files (which is the point). >-+ skin/classic/global/scrollbars.css >++ skin/classic/global/nativescrollbars.css I assume this would be done with a CVS move... unless your toolkit theme reviewer will let you get away with renaming it in jar.mn instead ;-) >-<?xml-stylesheet href="chrome://global/skin/scrollbars.css"?> >+#ifdef XP_MACOSX >+<?xml-stylesheet href="chrome://global/skin/nativescrollbars.css"?> >+#else >+<?xml-stylesheet href="chrome://global/skin/xulscrollbars.css"?> >+#endif Since the layout code always loads the scrollbars anyway (except for the sidebar in the modern theme, which I doubt applies here), you could probably get away with simply removing that line. sr=me with these nits fixed.
Comment 32•19 years ago
|
||
- NS_ASSERTION(gStyleCache->mScrollbarsSheet, "Could not load scrollbars.css."); + NS_ASSERTION(gStyleCache->mScrollbarsSheet, "Could not load [native]scrollbars.css."); bit still looks wrong since it's now xulscrollbars.css ... and then they're sort of "native" since Firefox etc on Linux pick up the GTK scrollbars. Are native scrollbars native or pseudo-native ?
Updated•19 years ago
|
Attachment #184366 -
Flags: superreview?(neil.parkwaycc.co.uk)
Assignee | ||
Comment 33•19 years ago
|
||
This patch addresses Neil's comments except bz's suggestion, because that would result in shipping three css files: The nativescrollbars.css, xulscrollbars.css, and scrollbars.css, the latter having either of the first two @import'ed. I also splitted the NS_ASSERTION to report the proper file names.
Attachment #184242 -
Attachment is obsolete: true
Attachment #184366 -
Attachment is obsolete: true
Attachment #184444 -
Flags: superreview?(neil.parkwaycc.co.uk)
Attachment #184444 -
Flags: review?(kevin)
Assignee | ||
Updated•19 years ago
|
Attachment #184242 -
Flags: review?(neil.parkwaycc.co.uk)
Attachment #184242 -
Flags: review?(kevin)
Assignee | ||
Updated•19 years ago
|
Attachment #184366 -
Flags: superreview?(neil.parkwaycc.co.uk)
Comment 34•19 years ago
|
||
Comment on attachment 184444 [details] [diff] [review] complete patch v1.1 Looks OK now but I was just wondering whether we should try to load scrollbars.css just in case.
Attachment #184444 -
Flags: superreview?(neil.parkwaycc.co.uk)
Attachment #184444 -
Flags: superreview?(bzbarsky)
Attachment #184444 -
Flags: review+
Comment 35•19 years ago
|
||
I'll try to look at this in the next week.
Comment 36•19 years ago
|
||
Comment on attachment 184444 [details] [diff] [review] complete patch v1.1 >Index: mozilla/themes/classic/jar.mn Wouldn't it make sense to package both files no matter what the target OS is? That way theme developers who make a copy of this theme as a basis for their theme won't run into issues... Or is that what the patch is doing? >Index: mozilla/toolkit/themes/pinstripe/global/scrollbars.css Please get this repository moved (so as not to lose the CVS history) or just leave it be and only change the packaging. Again, it might make sense to package under both names so people developing themes based on this don't get screwed over. >Index: mozilla/toolkit/themes/qute/global/jar.mn Please package under both names no matter what the target platform is, like Modern does. >Index: mozilla/toolkit/themes/winstripe/global/scrollbars.css Same comments here as for Pinstripe. sr=bzbarsky with those comments addressed.
Attachment #184444 -
Flags: superreview?(bzbarsky) → superreview+
Comment 37•19 years ago
|
||
Comment on attachment 184444 [details] [diff] [review] complete patch v1.1 Excuse the delay. Skin changes look good, though I haven't gotten a chance to test this on Mac since we don't build on Tiger yet
Attachment #184444 -
Flags: review?(kevin) → review+
Comment 38•19 years ago
|
||
Let me see if I have this straight from a theme developer's point of view: Old: OSX: scrollbars.css Other: scrollbars.css New: OSX: nativescrollbars.css Other: xulscrollbars.css
Comment 39•19 years ago
|
||
Comment on attachment 184444 [details] [diff] [review] complete patch v1.1 >Index: mozilla/extensions/inspector/resources/content/tests/allskin.xul >=================================================================== > <?xml-stylesheet href="chrome://global/skin/radio.css"?> >-<?xml-stylesheet href="chrome://global/skin/scrollbars.css"?> > <?xml-stylesheet href="chrome://global/skin/splitter.css"?> Shouldn't you have added the others back in? And I agree with bz, you should always package both native and xulscrollbars since people base their themes on the included one. Many thanks to Anne and cdn for really getting this done.
Updated•19 years ago
|
Flags: blocking-aviary1.1? → blocking1.8b4?
Assignee | ||
Comment 41•19 years ago
|
||
Sorry for the delay. This patch addresses bz's comments by shipping both xulscrollbars.css and nativescrollbars.css on all platforms. Comment 38 is correct. Tested with Firefox on Linux.
Attachment #184444 -
Attachment is obsolete: true
Attachment #189572 -
Flags: review?(neil.parkwaycc.co.uk)
Assignee | ||
Updated•19 years ago
|
Attachment #189572 -
Attachment is obsolete: true
Attachment #189572 -
Flags: review?(neil.parkwaycc.co.uk)
Assignee | ||
Comment 42•19 years ago
|
||
Bugzilla's patch-viewer doesn't like long lines. Shorter comments this time.
Attachment #189573 -
Flags: review?(neil.parkwaycc.co.uk)
Assignee | ||
Comment 43•19 years ago
|
||
Hmm, the patch-viewer ("Diff") still suppresses two lines from the pinstripe/global/jar.mn part.
Comment 44•19 years ago
|
||
Comment on attachment 189573 [details] [diff] [review] ship both files on all platforms >- NS_ASSERTION(gStyleCache->mScrollbarsSheet, "Could not load scrollbars.css."); >+#ifdef XP_MACOSX >+ NS_ASSERTION(gStyleCache->mScrollbarsSheet, "Could not load nativescrollbars.css."); >+#else >+ NS_ASSERTION(gStyleCache->mScrollbarsSheet, "Could not load xulscrollbars.css."); >+#endif I always hate trailing dots after filenames ;-)
Attachment #189573 -
Flags: review?(neil.parkwaycc.co.uk) → review+
Assignee | ||
Updated•19 years ago
|
Attachment #189573 -
Flags: approval1.8b4?
Updated•19 years ago
|
Attachment #189573 -
Flags: approval1.8b4? → approval1.8b4+
Assignee | ||
Comment 45•19 years ago
|
||
Chase, can you please do repository copies (so as not to lose the CVS history) of mozilla/toolkit/themes/pinstripe/global/scrollbars.css to nativescrollbars.css, and mozilla/toolkit/themes/winstripe/global/scrollbars.css to xulscrollbars.css, as requested by bz in comment 36? Thanks.
Updated•19 years ago
|
Flags: blocking1.8b4? → blocking1.8b4+
Assignee | ||
Updated•19 years ago
|
Whiteboard: cvs copies needed before checkin
Assignee | ||
Comment 46•19 years ago
|
||
Justdave, can you help here please? See previous comment.
Comment 47•19 years ago
|
||
*** Bug 294365 has been marked as a duplicate of this bug. ***
Comment 48•19 years ago
|
||
CVS copy being tracked in bug 304354.
Assignee | ||
Comment 49•19 years ago
|
||
Thanks for the cvs copies. This is an unbitrotted patch which doesn't add the already copied files, but modifies them in place. I don't have spare time today, so I'd appreciate if anybody could test this and check it in.
Attachment #189573 -
Attachment is obsolete: true
Assignee | ||
Comment 50•19 years ago
|
||
Checked in trunk and 1.8-branch.
Status: ASSIGNED → RESOLVED
Closed: 19 years ago
Resolution: --- → FIXED
Whiteboard: cvs copies needed before checkin
Target Milestone: --- → mozilla1.8beta4
Comment 51•19 years ago
|
||
(In reply to comment #50) > Checked in trunk and 1.8-branch. Seems like you may have mistakenly checked in a few files on the branch.
Assignee | ||
Comment 52•19 years ago
|
||
> Seems like you may have mistakenly checked in a few files on the branch.
I don't think so, but bonsai's display of files removed from a branch is indeed
a bit strange:
mozilla/ toolkit/ themes/ pinstripe/ global/ Tag:
mozilla/ toolkit/ themes/ pinstripe/ global/ MOZILLA_1_8_BRANCH
mozilla/ toolkit/ themes/ winstripe/ global/ Tag:
mozilla/ toolkit/ themes/ winstripe/ global/ MOZILLA_1_8_BRANCH
Comment 53•19 years ago
|
||
I'm running Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9a1) Gecko/20050822 SeaMonkey/1.0a and the fix for this bug has caused the scrollbars to disappear on all of the themes from www.spuler.us (OP of this thread). There's a fix sort of discussed over here: http://forums.mozillazine.org/viewtopic.php?t=305665, so what do we do now about this bugfix? Do I start another bug?
Comment 54•19 years ago
|
||
Shriramana, those themes need to be updated, there is no need to open a bugzilla bug.
*** Bug 305864 has been marked as a duplicate of this bug. ***
*** Bug 306329 has been marked as a duplicate of this bug. ***
Comment 57•19 years ago
|
||
*** Bug 307000 has been marked as a duplicate of this bug. ***
Assignee | ||
Comment 58•16 years ago
|
||
This has been reverted by bug 379319 because we don't need different scrollbars.css files anymore.
Updated•16 years ago
|
Product: Core → SeaMonkey
You need to log in
before you can comment on or make changes to this bug.
Description
•