Closed Bug 339576 Opened 19 years ago Closed 19 years ago

[Modern theme] No arrows at end of scrollbars

Categories

(Core Graveyard :: Widget: Mac, defect)

PowerPC
macOS
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: gulliver, Assigned: jaas)

References

Details

Attachments

(1 file)

User-Agent: Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-US; rv:1.9a1) Gecko/20060521 SeaMonkey/1.5a Build Identifier: Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; de-AT; rv:1.9a1) Gecko/20060521 SeaMonkey/1.5a There are no arrows displayed at the ends of the horizontal and vertical sscrollbars. Reproducible: Always Steps to Reproduce: 1. Go to any page that exceeds the size of your monitor resolution 2. When the scrollbars appear check for arrows Actual Results: No arrows at the ends of the scrollbars. Expected Results: Arrows should show
Summary: No arrows at scrollbars → No arrows at end of scrollbars
The same bug is also present in all builts up to Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-US; rv:1.9a1) Gecko/20060528 SeaMonkey/1.5a
Still present in Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-US; rv:1.9a1) Gecko/20060603 SeaMonkey/1.5a Anybody?
Still not working in Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-US; rv:1.9a1) Gecko/20060610 SeaMonkey/1.5a. Anybody???
Gulliver, Does this happen in both Classic and Modern theme?
(In reply to comment #4) > Gulliver, > > Does this happen in both Classic and Modern theme? > Hi Stefan, no. I only see this in the Modern theme. How did you know? ;-)
==> Widget/Mac
Assignee: general → joshmoz
Component: General → Widget: Mac
Product: Mozilla Application Suite → Core
QA Contact: general → mac
Version: unspecified → Trunk
Hmm, this does not happen on branch, right (the forthcoming 1.1a release)?
Stefan, are you working on this bug?
(In reply to comment #8) > Stefan, > > are you working on this bug? > No, this looks like a layout/widget issue - out of my knowledge :-( I see this too in a debug build on 10.3.9 with the difference that I only lack one scrollbar arrow. Something that would help track this down a regression range - that is, when did this first appear? If you could find out in what build this started to happen there's a chance that we could find out what caused this. I do recall seeing this for like a year ago - but the issue disappeared and I never understood what caused it to go away. What we know here is: 1) It only occurs in Modern theme. 2) It seems to be affected by your system preferences settings (at least mine, perhaps you can confirm): If I choose to display scrollarrows together (ie, up/down and left/right in the bottom right corner only one arrow can be seen (down, right). If I choose to display the arrows separated, no arrows appear.
Severity: major → normal
Status: UNCONFIRMED → NEW
Ever confirmed: true
Summary: No arrows at end of scrollbars → [Modern theme] No arrows at end of scrollbars
(In reply to comment #9) > (In reply to comment #8) > > Stefan, > > > > are you working on this bug? > > > > No, this looks like a layout/widget issue - out of my knowledge :-( > > I see this too in a debug build on 10.3.9 with the difference that I only lack > one scrollbar arrow. Something that would help track this down a regression > range - that is, when did this first appear? If you could find out in what > build this started to happen there's a chance that we could find out what > caused this. I do recall seeing this for like a year ago - but the issue > disappeared and I never understood what caused it to go away. > > What we know here is: > > 1) It only occurs in Modern theme. > > 2) It seems to be affected by your system preferences settings (at least mine, > perhaps you can confirm): > > If I choose to display scrollarrows together (ie, up/down and left/right in > the bottom right corner only one arrow can be seen (down, right). > > If I choose to display the arrows separated, no arrows appear. > Stefan, this built woks perfectly: Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-US; rv:1.9a1) Gecko/20060419 SeaMonkey/1.5a Then there was a long time when the Mac-builts were only 12k. The built from May 17th and all builts thereafter were broken. As far as I can remember there were no working Mac-builts in the meantime.
(In reply to comment #9) > (In reply to comment #8) > > No, this looks like a layout/widget issue - out of my knowledge :-( > > I see this too in a debug build on 10.3.9 with the difference that I only lack > one scrollbar arrow. Something that would help track this down a regression > range - that is, when did this first appear? If you could find out in what > build this started to happen there's a chance that we could find out what > caused this. I do recall seeing this for like a year ago - but the issue > disappeared and I never understood what caused it to go away. > > What we know here is: > > 1) It only occurs in Modern theme. > > 2) It seems to be affected by your system preferences settings (at least mine, > perhaps you can confirm): > > If I choose to display scrollarrows together (ie, up/down and left/right in > the bottom right corner only one arrow can be seen (down, right). > > If I choose to display the arrows separated, no arrows appear. > Changing the system preferences from "Together at both ends" to "Top and bottom" does NOT solve the problem.
(In reply to comment #11) > (In reply to comment #9) > > (In reply to comment #8) > > > > No, this looks like a layout/widget issue - out of my knowledge :-( > > > > I see this too in a debug build on 10.3.9 with the difference that I only lack > > one scrollbar arrow. Something that would help track this down a regression > > range - that is, when did this first appear? If you could find out in what > > build this started to happen there's a chance that we could find out what > > caused this. I do recall seeing this for like a year ago - but the issue > > disappeared and I never understood what caused it to go away. > > > > What we know here is: > > > > 1) It only occurs in Modern theme. > > > > 2) It seems to be affected by your system preferences settings (at least mine, > > perhaps you can confirm): > > > > If I choose to display scrollarrows together (ie, up/down and left/right in > > the bottom right corner only one arrow can be seen (down, right). > > > > If I choose to display the arrows separated, no arrows appear. > > > > Changing the system preferences from "Together at both ends" to "Top and > bottom" does NOT solve the problem. > No change at all (like seeing one arrow)?
> > > > No change at all (like seeing one arrow)? > No, unfortunately not.
Hmm, this doesn't seem to happen in all windows. For instance, in the composer window i get scrollbar arrows. But not in the browser/View Source window.
(In reply to comment #14) >Hmm, this doesn't seem to happen in all windows. For instance, in the composer >window i get scrollbar arrows. But not in the browser/View Source window. That's because Compose windows disable scripts including the one that's supposed to make the scrollbar arrows match look & feel. Can you open a window with a tree (History, say), and inspect the contained anonymous scrollbar parts to see which buttons are hidden? Can you also evaluate the following expressions in the JS, sorry, Error Console? top.document.documentElement.boxObject.getLookAndFeelMetric("scrollbarArrows") top.document.documentElement.boxObject.getLookAndFeelMetric("thumbStyle") If you could try that with different system preferences that would be great.
(In reply to comment #7) >Hmm, this does not happen on branch, right (the forthcoming 1.1a release)? No, that uses a different metric, "scrollbarStyle".
(In reply to comment #15) > (In reply to comment #14) > >Hmm, this doesn't seem to happen in all windows. For instance, in the composer > >window i get scrollbar arrows. But not in the browser/View Source window. > That's because Compose windows disable scripts including the one that's > supposed to make the scrollbar arrows match look & feel. > > Can you open a window with a tree (History, say), and inspect the contained > anonymous scrollbar parts to see which buttons are hidden? > > Can you also evaluate the following expressions in the JS, sorry, Error > Console? > top.document.documentElement.boxObject.getLookAndFeelMetric("scrollbarArrows") > top.document.documentElement.boxObject.getLookAndFeelMetric("thumbStyle") > If you could try that with different system preferences that would be great. > I'll have a look the next few days.
arrows LAFM: end-forward "Oops"
Hmm, interesting. http://bonsai.mozilla.org/cvsblame.cgi?file=mozilla/widget/src/mac/nsLookAndFeel.cpp&rev=1.68#555 takes the output from ::GetThemeScrollBarArrowStyle(), which http://bonsai.mozilla.org/cvsblame.cgi?file=mozilla/layout/xul/base/src/nsBoxObject.cpp&rev=1.61#317 interprets to be a 4-bit field with each bit specifying whether a particular arrow button should be shown or not. However, according to http://developer.apple.com/documentation/Carbon/Reference/Appearance_Manager/Reference/reference.html#//apple_ref/doc/uid/TP30000243-CH4g-C005342 it only has two values, 0 and 1, with 0 meaning one arrow at each end, and 1 meaning both arrows at the bottom or right-hand side. Ah, bug 263444 changed the enums without changing this direct mapping. With the old enums the above mapping worked. Patch coming up.
I applied the same fix to the ThumbStyle section.
Attachment #230847 - Flags: superreview?(neil)
Attachment #230847 - Flags: review?(joshmoz)
Comment on attachment 230847 [details] [diff] [review] Don't depend on enum values being the same > case eMetric_ScrollArrowStyle: > ThemeScrollBarArrowStyle arrowStyle; > ::GetThemeScrollBarArrowStyle ( &arrowStyle ); >- aMetric = arrowStyle; >+ switch (arrowStyle) { >+ case kThemeScrollBarArrowsSingle: >+ aMetric = eMetric_ScrollArrowStyleSingle; >+ break; >+ default: >+ NS_WARNING("Not handling all possible ThemeScrollBarArrowStyle values"); >+ // fall through so we default to BothAtBottom >+ case kThemeScrollBarArrowsLowerRight: >+ aMetric = eMetric_ScrollArrowStyleBothAtBottom; >+ } > break; Presumably in opt builds this simplifies to aMetric = arrowStyle ? eMetric_ScrollArrowStyleBothAtBottom : eMetric_ScrollArrowStyleSingle; > case eMetric_ScrollSliderStyle: > ThemeScrollBarThumbStyle thumbStyle; > ::GetThemeScrollBarThumbStyle ( &thumbStyle ); >- aMetric = thumbStyle; Why this change? The thumb style enums didn't change, did they?
Comment on attachment 230847 [details] [diff] [review] Don't depend on enum values being the same Oh I see, you don't want to depend on those values being the same either. If only we could make the thumb style a boolean metric...
Attachment #230847 - Flags: superreview?(neil) → superreview+
Attachment #230847 - Flags: review?(joshmoz) → review+
Comment on attachment 230847 [details] [diff] [review] Don't depend on enum values being the same fwiw, just tested this patch and it works fine - arrows are back again.
BTW, yeah, I would assume that when NS_WARNING gets compiled away, the compiler will do smart things with two-case switches where one value is 0 :-) Checking in nsLookAndFeel.cpp; /cvsroot/mozilla/widget/src/mac/nsLookAndFeel.cpp,v <-- nsLookAndFeel.cpp new revision: 1.69; previous revision: 1.68 done
Status: NEW → RESOLVED
Closed: 19 years ago
Resolution: --- → FIXED
Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-US; rv:1.9a1) Gecko/20060805 SeaMonkey/1.5a: On the bottom of the vertical scrollbar and on the right side of the horizontal scrollbar both arrows appear o.k. now. They are still missing on top of the vertical scrollbar and the left side of the horizontal.
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
(In reply to comment #25) > Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-US; rv:1.9a1) Gecko/20060805 > SeaMonkey/1.5a: > > On the bottom of the vertical scrollbar and on the right side of the horizontal > scrollbar both arrows appear o.k. now. They are still missing on top of the > vertical scrollbar and the left side of the horizontal. > I don't see this with 2006080504 on mac os 10.3.9. To clarify: 1) System prefs set to have scrollarrows "together": Up/down and left/right arrows should appear in the lower right corner. 2) System prefs set to have scrollarrows "separated": Up arrow should appear at the top right corner, down arrow and right arrow at the lower right corner and left arrow at the left lower corner. Gulliver, you're saying that 2) shows the down/right arrow at the lower right corner but not the up arrow at the top right corner and the left arrow at the left lower corner?
Stefan, I have set it to "together" and yes, they do show up together in the lower right corner. However, in all other programs they show on both ends of the scrollbar. Is this my problem?
(In reply to comment #27) > Stefan, > > I have set it to "together" and yes, they do show up together in the lower > right corner. However, in all other programs they show on both ends of the > scrollbar. Is this my problem? > I think so. How do they appear for you in the build you mention in comment #10 (the build that works)? How do they appear in Classic theme? Have you done some tweaks with (for instance) TinkerTools? Note that according to the documentation that jag mention in comment #19 there are only two values.
> > I think so. How do they appear for you in the build you mention in comment #10 > (the build that works)? How do they appear in Classic theme? Have you done some > tweaks with (for instance) TinkerTools? Note that according to the > documentation that jag mention in comment #19 there are only two values. > That's it! Thank You! Indeed I did set it to show both arrows on both ends with Tinker Tools - and forgot about that.
OK, marking fixed again since this wasn't really about making hidden system prefs working with the Modern theme.
Status: REOPENED → RESOLVED
Closed: 19 years ago19 years ago
Resolution: --- → FIXED
Product: Core → Core Graveyard
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: