Closed
Bug 222654
Opened 22 years ago
Closed 20 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•22 years ago
|
||
Sorry, in "Steps to reproduce, step 1", it should say http://mozthemes.tk
instead of http://mozthemes.css!
Comment 2•22 years ago
|
||
also got this problem when making my qute status and crystal status themes...
![]() |
||
Comment 3•22 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•22 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•21 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•21 years ago
|
Flags: blocking1.8a2?
Flags: blocking1.7.1?
Comment 7•21 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•21 years ago
|
Flags: blocking1.8a2? → blocking1.8a2-
Reporter | ||
Comment 9•21 years ago
|
||
Asa, how about nominating this as a blocker for 1.9???
Please?
Comment 10•21 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•21 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•21 years ago
|
||
Is it in the same place for Firefox?
Comment 13•21 years ago
|
||
*** Bug 254783 has been marked as a duplicate of this bug. ***
Comment 14•21 years ago
|
||
*** Bug 256280 has been marked as a duplicate of this bug. ***
Comment 15•21 years ago
|
||
*** Bug 262174 has been marked as a duplicate of this bug. ***
Comment 16•21 years ago
|
||
Steffen -
Can you please turn your idea into a formal patch?
Comment 17•21 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•21 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•21 years ago
|
Flags: blocking-aviary1.0mac?
Comment 20•21 years ago
|
||
*** Bug 272307 has been marked as a duplicate of this bug. ***
Updated•21 years ago
|
Flags: blocking1.7.5? → blocking1.7.5-
Comment 21•20 years ago
|
||
Comment 22•20 years ago
|
||
*** Bug 285084 has been marked as a duplicate of this bug. ***
Comment 23•20 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•20 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•20 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•20 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•20 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•20 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•20 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•20 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•20 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•20 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•20 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•20 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•20 years ago
|
Attachment #184366 -
Flags: superreview?(neil.parkwaycc.co.uk)
Assignee | ||
Comment 33•20 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•20 years ago
|
Attachment #184242 -
Flags: review?(neil.parkwaycc.co.uk)
Attachment #184242 -
Flags: review?(kevin)
Assignee | ||
Updated•20 years ago
|
Attachment #184366 -
Flags: superreview?(neil.parkwaycc.co.uk)
Comment 34•20 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•20 years ago
|
||
I'll try to look at this in the next week.
![]() |
||
Comment 36•20 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•20 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•20 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•20 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•20 years ago
|
Flags: blocking-aviary1.1? → blocking1.8b4?
Assignee | ||
Comment 41•20 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•20 years ago
|
Attachment #189572 -
Attachment is obsolete: true
Attachment #189572 -
Flags: review?(neil.parkwaycc.co.uk)
Assignee | ||
Comment 42•20 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•20 years ago
|
||
Hmm, the patch-viewer ("Diff") still suppresses two lines from the
pinstripe/global/jar.mn part.
Comment 44•20 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•20 years ago
|
Attachment #189573 -
Flags: approval1.8b4?
Updated•20 years ago
|
Attachment #189573 -
Flags: approval1.8b4? → approval1.8b4+
Assignee | ||
Comment 45•20 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•20 years ago
|
Flags: blocking1.8b4? → blocking1.8b4+
Assignee | ||
Updated•20 years ago
|
Whiteboard: cvs copies needed before checkin
Assignee | ||
Comment 46•20 years ago
|
||
Justdave, can you help here please? See previous comment.
Comment 47•20 years ago
|
||
*** Bug 294365 has been marked as a duplicate of this bug. ***
Comment 48•20 years ago
|
||
CVS copy being tracked in bug 304354.
Assignee | ||
Comment 49•20 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•20 years ago
|
||
Checked in trunk and 1.8-branch.
Status: ASSIGNED → RESOLVED
Closed: 20 years ago
Resolution: --- → FIXED
Whiteboard: cvs copies needed before checkin
Target Milestone: --- → mozilla1.8beta4
Comment 51•20 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•20 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•20 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•20 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•20 years ago
|
||
*** Bug 307000 has been marked as a duplicate of this bug. ***
Assignee | ||
Comment 58•17 years ago
|
||
This has been reverted by bug 379319 because we don't need different scrollbars.css files anymore.
Updated•17 years ago
|
Product: Core → SeaMonkey
You need to log in
before you can comment on or make changes to this bug.
Description
•