Right now the mouse logic is mostly in EventHandler and some in PointerEventManager. We need a standalone class firing mouse events based on pointerevents.
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/2c6e050f06efedae49f77dd91baa016dbd2e8fe9 commit 2c6e050f06efedae49f77dd91baa016dbd2e8fe9 Author: nzolghadr <nzolghadr@chromium.org> Date: Wed Sep 07 17:40:49 2016 The first step of separating mouse code from EventHandler. There will be follow up CLs to refactor more code and address the TODOs added in this CL. Creating MouseEventManager to encapsule mouse related bookkeeping and dispatching. Creating abstract BoundaryEventDispatcher to keep the boundary node elements calculation so PEM and MEM can make subclasses from it and send their own boundary events. Creating EventHandlingUtil to share the common functions used in different EventHandling path instead of putting them all as static in EventHandler. BUG= 625843 Review-Url: https://codereview.chromium.org/2255323004 Cr-Commit-Position: refs/heads/master@{#416984} [modify] https://crrev.com/2c6e050f06efedae49f77dd91baa016dbd2e8fe9/third_party/WebKit/Source/core/events/MouseEvent.h [modify] https://crrev.com/2c6e050f06efedae49f77dd91baa016dbd2e8fe9/third_party/WebKit/Source/core/html/HTMLLabelElement.cpp [modify] https://crrev.com/2c6e050f06efedae49f77dd91baa016dbd2e8fe9/third_party/WebKit/Source/core/input/BUILD.gn [add] https://crrev.com/2c6e050f06efedae49f77dd91baa016dbd2e8fe9/third_party/WebKit/Source/core/input/BoundaryEventDispatcher.cpp [add] https://crrev.com/2c6e050f06efedae49f77dd91baa016dbd2e8fe9/third_party/WebKit/Source/core/input/BoundaryEventDispatcher.h [modify] https://crrev.com/2c6e050f06efedae49f77dd91baa016dbd2e8fe9/third_party/WebKit/Source/core/input/EventHandler.cpp [modify] https://crrev.com/2c6e050f06efedae49f77dd91baa016dbd2e8fe9/third_party/WebKit/Source/core/input/EventHandler.h [add] https://crrev.com/2c6e050f06efedae49f77dd91baa016dbd2e8fe9/third_party/WebKit/Source/core/input/EventHandlingUtil.cpp [add] https://crrev.com/2c6e050f06efedae49f77dd91baa016dbd2e8fe9/third_party/WebKit/Source/core/input/EventHandlingUtil.h [modify] https://crrev.com/2c6e050f06efedae49f77dd91baa016dbd2e8fe9/third_party/WebKit/Source/core/input/GestureManager.cpp [modify] https://crrev.com/2c6e050f06efedae49f77dd91baa016dbd2e8fe9/third_party/WebKit/Source/core/input/GestureManager.h [modify] https://crrev.com/2c6e050f06efedae49f77dd91baa016dbd2e8fe9/third_party/WebKit/Source/core/input/KeyboardEventManager.cpp [modify] https://crrev.com/2c6e050f06efedae49f77dd91baa016dbd2e8fe9/third_party/WebKit/Source/core/input/KeyboardEventManager.h [add] https://crrev.com/2c6e050f06efedae49f77dd91baa016dbd2e8fe9/third_party/WebKit/Source/core/input/MouseEventManager.cpp [add] https://crrev.com/2c6e050f06efedae49f77dd91baa016dbd2e8fe9/third_party/WebKit/Source/core/input/MouseEventManager.h [modify] https://crrev.com/2c6e050f06efedae49f77dd91baa016dbd2e8fe9/third_party/WebKit/Source/core/input/PointerEventManager.cpp [modify] https://crrev.com/2c6e050f06efedae49f77dd91baa016dbd2e8fe9/third_party/WebKit/Source/core/input/PointerEventManager.h [modify] https://crrev.com/2c6e050f06efedae49f77dd91baa016dbd2e8fe9/third_party/WebKit/Source/core/input/ScrollManager.cpp [modify] https://crrev.com/2c6e050f06efedae49f77dd91baa016dbd2e8fe9/third_party/WebKit/Source/core/input/ScrollManager.h [modify] https://crrev.com/2c6e050f06efedae49f77dd91baa016dbd2e8fe9/third_party/WebKit/Source/core/input/TouchEventManager.cpp [modify] https://crrev.com/2c6e050f06efedae49f77dd91baa016dbd2e8fe9/third_party/WebKit/Source/core/input/TouchEventManager.h
Comment 1 by nzolghadr@chromium.org
, Jul 5 2016