Hi, let me tell you about the new D3E WheelEvent landing.
https://bugzilla.mozilla.org/show_bug.cgi?id=719320
http://dev.w3.org/2006/webapi/DOM-Level-3-Events/html/DOM3-Events.html#events-wheelevents
https://developer.mozilla.org/en-US/docs/DOM/WheelEvent
https://developer.mozilla.org/en-US/docs/DOM/DOM_event_reference/wheel

All developers should use "wheel" event instead of "DOMMouseScroll" and "MozMousePixelScroll" if it's possible. If you need pixel delta values and line or page delta values in any deltaMode, please file a bug, it might be nice for internal code.



New "wheel" event replaces legacy mouse scroll events such as "DOMMouseScroll" and "MozMousePixelScroll" internally. I mean that widget/* will never dispatch the legacy events anymore and nsEventStateManager will never handle them too. But for web application's compatibility, the legacy events are fired almost same timing. The event order is:

1. content "wheel" event
2. content/chrome "DOMMouseScroll" (if deltaX/deltaY of "wheel" event is over 1 line)
3. content/chrome "MozMousePixelScroll"
4. chrome "wheel" event

If somebody calls preventDefault() in #1, #2 and #3 are skipped.
If somebody calls preventDefault() in #1, #2 or #3, chrome wheel event's defaultPrevented attribute becomes true.
# I'll document the detail in MDN later.



There is additional important change you should know.

By the changes, some prefs of mousewheel.* don't make sense now. They are replaced with new prefs:

* mousewheel.(horizscroll.)?(withshiftkey|withaltkey|withmetakey|withcontrolkey|withnokey).sysnumlines

  Just removed.

* mousewheel.(horizscroll.)?(withshiftkey|withaltkey|withmetakey|withcontrolkey|withnokey).numlines

Replaced with mousewheel.(default|with_shif|with_alt|with_control|with_meta|with_win).delta_multiplier_(x|y|z) New prefs' value multiplies deltaX, deltaY or deltaZ of "wheel" event. 100 means 1.0 but values less than 100 and larger than -100 are not allowed.

* mousewheel.(horizscroll.)?(withshiftkey|withaltkey|withmetakey|withcontrolkey|withnokey).action

Replaced with mousewheel.(default|with_shif|with_alt|with_control|with_meta|with_win).action
  New pref's value are:
    0: Nothing happens
    1: Scrolling contents
    2: Go back or go forward, in your history
    3: Zoom in or out.
You cannot specify different actions to X and Y since a wheel event can have non-zero values to both deltaX and deltaY attributes same time.

Any new pref names are not same as old pref names. I.e., users need to customize them again but users can share the customized settings between ESR10 and Mozilla 17 or later.

I guess that somebody will report the old prefs don't work anymore. Then, please mark such bugs as INVALID. I'll document this in MDN later.

Thanks.

--
Masayuki Nakano <masay...@d-toybox.com>
Manager, Internationalization, Mozilla Japan.
_______________________________________________
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform

Reply via email to