ajaxorg/ace — pull request #1576 by danyaPostfactum (2013-08-29 06:40:08+00:00)
Title: Improve WheelEvent handling (scroll by lines)

Editor should respect system scroll speed settings.
This works perfectly on Firefox (tested on Windows FF23 and on Linux FF16). Firefox always provides delta in lines unit.
This seems to work fine with Opera (Presto) (tested on Windows). By the way Opera dispatches no event when `Scroll By Pages` system setting is `on`.
IE and WebKit do not reflect `Scroll Lines Number` setting. In this case, default value is `3`.
WebKit reflects `Scroll By Pages` setting, while IE doesn't.

I did not test much Safari on MacOS, but it seems to work the way the OS works.
IE9+ supports DOM3 `wheel`, but it is not used by ACE, because there is no `onwheel` property defined. Besides, this event provides incorrect delta value.

Blink is going to add DOM3 `wheel` event: https://code.google.com/p/chromium/issues/detail?id=227454 .But it seems they are going to use DOL_DELTA_PIXEL delta unit. I don't like that. @nightwing what do you think?
This will cause us to sniff OS, because MacOS scrolls by pixel, while on Windows and Linux we must convert pixels to lines (just like for `mousewheel` event for now). That's not good. I am going to discuss that there, but I don't think somebody will listen me ((