Closed Bug 297095 Opened 21 years ago Closed 2 years ago

Native scrollbars don't fire events

Categories

(Core Graveyard :: Widget: Mac, defect)

PowerPC
macOS
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED INCOMPLETE

People

(Reporter: jhpedemonte, Assigned: mark)

References

Details

(Keywords: testcase)

Attachments

(1 file)

When using the default theme, which uses native scrollbars on Mac, mouse events related to the scrollbar are not fired. Works fine on other themes that use XUL scrollbars. See attached testcase.
Attached file testcase —
Keywords: testcase
So it looks like native scrollbars do fire events, just not the ones this testcase is looking for. Specifically, a "mousemove" event is fired with the target of "nativescrollbar". The "mousedown" event is consumed by the |eatEvent| code in |nsNativeScrollbar::DispatchMouseEvent()|. "mouseup" is similarly consumed in |nsMacControl::DispatchMouseEvent()|. However, I'm not sure how to synthesize the appropriate events to point to the correct XUL parts (i.e. "scrollbarbutton", "thumb", "slider", "scrollbar").
Also covered by bug 276142.
This is pretty serious; it can totally break some custom sites that rely on scrollbar events.
I'm not sure how serious this is. According to Neil in bug 276142, there's no actual API for this kind of stuff, and we do different things on different platforms. Is this just the case that some sites are taking advantage of this because it happens to work on windows?
In 1.0, I see the scrollbar, complete with thumb and buttons, but no events fire. On the trunk and 1.8 branch, all I see is the scrollbar track. No thumb or buttons, and of course, no events.
Assignee: joshmoz → mark
Product: Core → Core Graveyard
Status: NEW → RESOLVED
Closed: 2 years ago
Resolution: --- → INCOMPLETE
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: