gecko-dev/dom/events
Masayuki Nakano 16fd3a84a4 Bug 143038 Make users can scroll contents horizontally with vertical wheel operation with a modifier r=smaug
This patch declares a new default action, "horizontal scroll", this scrolls
content horizontally with deltaY of wheel events and ignores deltaX and deltaZ.
This is used for default action with Shift key in default setting except on
macOS. On macOS, legacy mouse's vertical wheel operation with Shift key causes
native horizontal wheel event.  Therefore, we don't need to use this new
default action on macOS.  Additionally, old default action with Shift key,
navigating history, is moved to with Alt key.  This makes same settings between
macOS and the others.  So, this is better for users who use macOS and another
OS and web app developers who check wheel events only on macOS or other
platform(s).

For simpler implementation, default action handlers moves deltaY values to
deltaX values temporarily *only* while they handle wheel events.  This is
performed by AutoWheelDeltaAdjuster and restored after handling it
automatically.

So, in other words, even if default action is "horizontal scroll", web apps
receives wheel events whose deltaY is not zero but its content will be
scrolled horizontally.  This is same as Chromium, so, this behavior shouldn't
cause any incompatible behavior with it.

MozReview-Commit-ID: E4X3yZzLEAl

--HG--
extra : rebase_source : e20d854c6b0a181ad4c9e7304bd9ad14256481ff
2017-10-05 01:12:35 +09:00
..
crashtests Bug 1397711 - Null-check widget of keyboard event before invoking its PostHandleKeyEvent. r=masayuki 2017-09-07 22:07:34 +10:00
test Bug 143038 Make users can scroll contents horizontally with vertical wheel operation with a modifier r=smaug 2017-10-05 01:12:35 +09:00
AnimationEvent.cpp
AnimationEvent.h Bug 1391803 - Use nsStringFwd.h for forward declaring string classes. r=froydnj 2017-08-16 16:48:52 -07:00
AsyncEventDispatcher.cpp Bug 1378930 - Part 2: Remove the aName parameter from SchedulerGroup/DocGroup/DispatcherTrait. r=billm 2017-07-26 16:13:35 +08:00
AsyncEventDispatcher.h Bug 1372405 - Provide names for all runnables in the tree (r=froydnj) 2017-06-26 14:19:58 -07:00
BeforeUnloadEvent.cpp Bug 1378712 - Remove all trailing whitespaces r=Ehsan 2017-07-06 14:00:35 +02:00
BeforeUnloadEvent.h
ClipboardEvent.cpp
ClipboardEvent.h
CommandEvent.cpp Bug 1400460 - Rename nsIAtom as nsAtom. r=hiro. 2017-10-03 09:05:19 +11:00
CommandEvent.h
CompositionEvent.cpp Bug 1391005 - Eliminate NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION_INHERITED. r=peterv 2017-08-29 16:02:48 -07:00
CompositionEvent.h
ContentEventHandler.cpp Bug 1400460 - Rename nsIAtom as nsAtom. r=hiro. 2017-10-03 09:05:19 +11:00
ContentEventHandler.h Bug 1399626 - Part 5: Update ContentEventHandler to use the new nsIContentIterator::Init overload when possible, r=masayuki 2017-10-02 11:58:00 -04:00
CustomEvent.cpp Bug 1391005 - Eliminate NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION_INHERITED. r=peterv 2017-08-29 16:02:48 -07:00
CustomEvent.h
DataTransfer.cpp Bug 1404198: Part 1 - Add non-virtual constructor for nsIObject(Input|Output)Stream and update existing callers. r=njn 2017-10-04 20:06:28 -07:00
DataTransfer.h Bug 1398883 - Disable the DataTransfer::Protected state for Firefox 57, r=baku 2017-09-13 11:45:48 -04:00
DataTransferItem.cpp Bug 1199729 - Part 2: Respect Protected mode in content documents, r=baku 2017-09-08 11:05:07 -04:00
DataTransferItem.h Bug 1342057 - Part 1: Use correct MIME type for files as DataTransferItem.type, r=baku 2017-03-07 18:18:42 -05:00
DataTransferItemList.cpp Bug 1199729 - Part 2: Respect Protected mode in content documents, r=baku 2017-09-08 11:05:07 -04:00
DataTransferItemList.h
DeviceMotionEvent.cpp Bug 1391005 - Eliminate NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION_INHERITED. r=peterv 2017-08-29 16:02:48 -07:00
DeviceMotionEvent.h
DOMEventTargetHelper.cpp Bug 1400460 - Rename nsIAtom as nsAtom. r=hiro. 2017-10-03 09:05:19 +11:00
DOMEventTargetHelper.h Bug 1400460 - Rename nsIAtom as nsAtom. r=hiro. 2017-10-03 09:05:19 +11:00
DragEvent.cpp Bug 1378712 - Remove all trailing whitespaces r=Ehsan 2017-07-06 14:00:35 +02:00
DragEvent.h
Event.cpp Bug 1355497: Ignore preventDefault on pointerdown by WebExtensions. r=smaug. 2017-07-10 16:42:01 +08:00
Event.h Bug 1355497: Ignore preventDefault on pointerdown by WebExtensions. r=smaug. 2017-07-10 16:42:01 +08:00
EventDispatcher.cpp Bug 1388119 - Drop support for createEvent("ErrorEvent"/"PopStateEvent"); r=smaug 2017-08-07 21:19:59 +03:00
EventDispatcher.h Bug 1378712 - Remove all trailing whitespaces r=Ehsan 2017-07-06 14:00:35 +02:00
EventListenerManager.cpp Backed out changeset 759a43ebc6bf (bug 1405541) for asserting in devtools/client/performance/test/browser_perf-console-record-03.js on Windows 7. r=backout 2017-10-11 13:15:26 +02:00
EventListenerManager.h Bug 1400460 - Rename nsIAtom as nsAtom. r=hiro. 2017-10-03 09:05:19 +11:00
EventListenerService.cpp Bug 1400460 - Rename nsIAtom as nsAtom. r=hiro. 2017-10-03 09:05:19 +11:00
EventListenerService.h Bug 1400460 - Rename nsIAtom as nsAtom. r=hiro. 2017-10-03 09:05:19 +11:00
EventNameList.h Bug 1359017 - onmessageerror for WindowEventHandlers in case StructuredClone algorithm fails when deserializing, r=masayuki, r=smaug 2017-09-13 05:59:06 +02:00
EventStateManager.cpp Bug 143038 Make users can scroll contents horizontally with vertical wheel operation with a modifier r=smaug 2017-10-05 01:12:35 +09:00
EventStateManager.h Bug 143038 Make users can scroll contents horizontally with vertical wheel operation with a modifier r=smaug 2017-10-05 01:12:35 +09:00
EventStates.h Bug 1385478 - Part 2: Change Required/IsRequired() to look at NS_EVENT_STATE_REQUIRED instead. r=bz 2017-08-03 01:27:00 -04:00
EventTarget.cpp Bug 1400460 - Rename nsIAtom as nsAtom. r=hiro. 2017-10-03 09:05:19 +11:00
EventTarget.h Bug 1400460 - Rename nsIAtom as nsAtom. r=hiro. 2017-10-03 09:05:19 +11:00
FocusEvent.cpp
FocusEvent.h
ImageCaptureError.cpp
ImageCaptureError.h
IMEContentObserver.cpp Bug 1407943 - IMEContentObserver should use Selection instead of nsISelectionPrivate. r=masayuki 2017-10-12 18:11:09 +09:00
IMEContentObserver.h Bug 1407943 - IMEContentObserver should use Selection instead of nsISelectionPrivate. r=masayuki 2017-10-12 18:11:09 +09:00
IMEStateManager.cpp Merge inbound to central, a=merge 2017-10-04 16:37:59 -07:00
IMEStateManager.h Bug 1396725 - IMEStateManager doesn't need to manage whether menu keyboard listener is installed in different process r=smaug 2017-09-07 11:46:08 +09:00
InputEvent.cpp
InputEvent.h
InternalMutationEvent.h Bug 1400460 - Rename nsIAtom as nsAtom. r=hiro. 2017-10-03 09:05:19 +11:00
JSEventHandler.cpp Bug 1400460 - Rename nsIAtom as nsAtom. r=hiro. 2017-10-03 09:05:19 +11:00
JSEventHandler.h Bug 1400460 - Rename nsIAtom as nsAtom. r=hiro. 2017-10-03 09:05:19 +11:00
KeyboardEvent.cpp Bug 1387828 - Reinstate support for initKeyboardEvent; r=smaug 2017-08-06 16:52:39 +03:00
KeyboardEvent.h Bug 1387828 - Reinstate support for initKeyboardEvent; r=smaug 2017-08-06 16:52:39 +03:00
KeyNameList.h Bug 1386825 - Part 1: Remove MOZ_B2G from dom. r=bkelly 2017-08-08 14:41:05 -07:00
MessageEvent.cpp Bug 1391005 - Eliminate NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION_INHERITED. r=peterv 2017-08-29 16:02:48 -07:00
MessageEvent.h Bug 1311324 P2 Replace usage of ServiceWorkerMessageEvent with MessageEvent. r=bz 2017-03-09 20:50:13 -05:00
MouseEvent.cpp Bug 1339758, click() and similar can return 0 from various coordinate properties, r=masayuki 2017-03-23 12:57:44 +02:00
MouseEvent.h
MouseScrollEvent.cpp
MouseScrollEvent.h
moz.build Bug 143038 Make users can scroll contents horizontally with vertical wheel operation with a modifier r=smaug 2017-10-05 01:12:35 +09:00
MutationEvent.cpp Bug 1378712 - Remove all trailing whitespaces r=Ehsan 2017-07-06 14:00:35 +02:00
MutationEvent.h
NotifyPaintEvent.cpp
NotifyPaintEvent.h
nsIEventListenerService.idl Bug 1402772 - Change nsIEventListenerChange::changedListenerNames to a count of a11y-affecting elements. r=smaug. 2017-09-25 16:38:04 +10:00
PaintRequest.cpp
PaintRequest.h Bug 1378712 - Remove all trailing whitespaces r=Ehsan 2017-07-06 14:00:35 +02:00
PhysicalKeyCodeNameList.h
PointerEvent.cpp
PointerEvent.h
PointerEventHandler.cpp Bug 1404255 - [Pointer Event] Turn off active state or remove current pointer from active pointers when handling pointercancel. r=masayuki 2017-09-29 17:03:48 +08:00
PointerEventHandler.h Bug 1399740 - [Pointer Event] Handle the case that invokes setPointerCapture while the page has a locked element. r=smaug. 2017-09-14 14:29:04 +08:00
ScrollAreaEvent.cpp Bug 1391005 - Eliminate NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION_INHERITED. r=peterv 2017-08-29 16:02:48 -07:00
ScrollAreaEvent.h
SimpleGestureEvent.cpp Bug 1378712 - Remove all trailing whitespaces r=Ehsan 2017-07-06 14:00:35 +02:00
SimpleGestureEvent.h
SpeechRecognitionError.cpp
SpeechRecognitionError.h
StorageEvent.cpp Bug 1391005 - Eliminate NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION_INHERITED. r=peterv 2017-08-29 16:02:48 -07:00
StorageEvent.h
TextClause.cpp
TextClause.h
TextComposition.cpp Bug 1384584 - TextComposition::DispatchCompositionEvent() shouldn't send composition events to focused TabParent after its RequestIMEToCommitComposition() synthesizes eCompositionCommit(AsIs) event synchronously r=m_kato 2017-07-26 23:23:38 +09:00
TextComposition.h Bug 1377672 - part3: IMEStateManager::NotifyIME() should ignore notifications and requests which comes from unexpected process r=m_kato,smaug 2017-07-06 00:47:40 +09:00
Touch.cpp Bug 1382499 - Enhance fingerprinting resistance for Touch API r=arthuredelstein,bz 2017-07-31 17:30:38 +08:00
Touch.h Bug 1382499 - Enhance fingerprinting resistance for Touch API r=arthuredelstein,bz 2017-07-31 17:30:38 +08:00
TouchEvent.cpp Bug 1391005 - Eliminate NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION_INHERITED. r=peterv 2017-08-29 16:02:48 -07:00
TouchEvent.h Bug 1391803 - Use nsStringFwd.h for forward declaring string classes. r=froydnj 2017-08-16 16:48:52 -07:00
TransitionEvent.cpp
TransitionEvent.h Bug 1391803 - Use nsStringFwd.h for forward declaring string classes. r=froydnj 2017-08-16 16:48:52 -07:00
UIEvent.cpp Bug 1400143 - [Pointer Event] Update pointerevent's mLastRefPoint to get correct movementX/movementY values. r=smaug. 2017-09-15 13:51:10 +08:00
UIEvent.h Bug 1347073 Get rid of UIEvent.isChar since it's not initialized properly on most platforms and the other browsers don't support this r=smaug 2017-03-14 18:29:39 +09:00
VirtualKeyCodeList.h
WheelEvent.cpp Bug 1378712 - Remove all trailing whitespaces r=Ehsan 2017-07-06 14:00:35 +02:00
WheelEvent.h
WheelHandlingHelper.cpp Bug 143038 Make users can scroll contents horizontally with vertical wheel operation with a modifier r=smaug 2017-10-05 01:12:35 +09:00
WheelHandlingHelper.h Bug 143038 Make users can scroll contents horizontally with vertical wheel operation with a modifier r=smaug 2017-10-05 01:12:35 +09:00
XULCommandEvent.cpp Bug 1391005 - Eliminate NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION_INHERITED. r=peterv 2017-08-29 16:02:48 -07:00
XULCommandEvent.h Bug 1371219 - Add an inputSource attribute to XULCommandEvent. r=smaug 2017-07-20 17:45:56 +02:00