Closed Bug 297095 Opened 20 years ago Closed 6 months 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: 6 months ago
Resolution: --- → INCOMPLETE
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: