Closed Bug 377439 Opened 16 years ago Closed 14 years ago

Switching scrollbar styles in Appearance.prefpane doesn't work right.

Categories

(Core :: Widget: Cocoa, defect)

All
macOS
defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla1.9.1b2

People

(Reporter: cbarrett, Assigned: mstange)

References

Details

(Keywords: regression)

Attachments

(1 file)

STR:

1. Open a window, navigate to a page with a scrollbar on it (Minefield start page works).
2. Open System Prefs -> Appearance
3. Change your setting for "Place scroll arrows:"
4. Switch back to Minefield. Try scrolling the page, moving the mouse over the scrollbar track, doing things to the scrollbar.

Expected results:
Either the scrollbar switches to the new style immediately and completely, or (not as good, but still not horrible) keeps the old style until you create a new one.

Actual results:
The scrollbar adopts the visual style of the new setting, but functionally, still works the same! Awesome...

This happens because the initalize funtion in the XBL binding for scrollbars only gets run when a scrollbar is created.

Three ways to fix this:
1) Get that code to run again when the metric changes (or poll and check the metric against a saved value and or something...)
2) Get scrollbars to expose what metric value they're using, so we can draw with that. New scrollbars would then use the new style. This might be OK. It'd be better than nothing, and better than option 3, imo.
3) Have the theme stuff check the metric value for scroll styles *once* at startup, and a restart to change it. I'm not that thrilled about it, but it'd certainly solve this problem.
Flags: blocking1.9?
Flags: blocking1.9? → blocking1.9-
(In reply to comment #0)
> 3) Have the theme stuff check the metric value for scroll styles *once* at
> startup, and a restart to change it. I'm not that thrilled about it, but it'd
> certainly solve this problem.

This is probably the quickest and easiest thing to do, I'll get a patch for this eventually.
This will be fixed by 384612
bug 384612 that is.
Depends on: 384612
With the patch in bug 384612 this should get better. What should happen is that changes to the system prefs will be fully ignored until firefox is restarted.
Turns out my patch there isn't going to help here that much. We still need to make nsILookAndFeel cache these values at startup or the first time it's called.
Keywords: helpwanted
Assignee: mozcbarrett → joshmoz
Assignee: joshmoz → mstange
Status: NEW → ASSIGNED
Hardware: PC → All
Attached patch patch v1Splinter Review
The "AppleAquaScrollBarVariantChanged" notification name isn't documented, but Webkit uses it, too: http://trac.webkit.org/changeset/36860
I asked Dave Hyatt if it's safe to use and he said "i don't see why not... if they change it, they'd break webkit".
Attachment #342933 - Flags: review?(roc)
pushed: http://hg.mozilla.org/mozilla-central/rev/a8e34fecaaf3
Status: ASSIGNED → RESOLVED
Closed: 14 years ago
Keywords: helpwanted
Resolution: --- → FIXED
Target Milestone: --- → mozilla1.9.1b2
You need to log in before you can comment on or make changes to this bug.