Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(8)

Side by Side Diff: third_party/WebKit/Source/core/input/MouseEventManager.h

Issue 2678683002: Delay instantiating InputDeviceCapabilities until accessed. (Closed)
Patch Set: rebased Created 3 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef MouseEventManager_h 5 #ifndef MouseEventManager_h
6 #define MouseEventManager_h 6 #define MouseEventManager_h
7 7
8 #include "core/CoreExport.h" 8 #include "core/CoreExport.h"
9 #include "core/dom/SynchronousMutationObserver.h" 9 #include "core/dom/SynchronousMutationObserver.h"
10 #include "core/input/BoundaryEventDispatcher.h" 10 #include "core/input/BoundaryEventDispatcher.h"
11 #include "core/input/InputDeviceCapabilities.h"
11 #include "core/page/DragActions.h" 12 #include "core/page/DragActions.h"
12 #include "core/page/EventWithHitTestResults.h" 13 #include "core/page/EventWithHitTestResults.h"
13 #include "platform/Timer.h" 14 #include "platform/Timer.h"
14 #include "public/platform/WebInputEventResult.h" 15 #include "public/platform/WebInputEventResult.h"
15 #include "public/platform/WebMouseEvent.h" 16 #include "public/platform/WebMouseEvent.h"
16 #include "wtf/Allocator.h" 17 #include "wtf/Allocator.h"
17 #include "wtf/Time.h" 18 #include "wtf/Time.h"
18 19
19 namespace blink { 20 namespace blink {
20 21
21 class ContainerNode; 22 class ContainerNode;
22 class DragState; 23 class DragState;
23 class DataTransfer; 24 class DataTransfer;
24 class Element; 25 class Element;
25 class FloatQuad; 26 class FloatQuad;
26 class HitTestResult; 27 class HitTestResult;
27 class InputDeviceCapabilities;
28 class LocalFrame; 28 class LocalFrame;
29 class ScrollManager; 29 class ScrollManager;
30 30
31 enum class DragInitiator; 31 enum class DragInitiator;
32 32
33 // This class takes care of dispatching all mouse events and keeps track of 33 // This class takes care of dispatching all mouse events and keeps track of
34 // positions and states of mouse. 34 // positions and states of mouse.
35 class CORE_EXPORT MouseEventManager final 35 class CORE_EXPORT MouseEventManager final
36 : public GarbageCollectedFinalized<MouseEventManager>, 36 : public GarbageCollectedFinalized<MouseEventManager>,
37 public SynchronousMutationObserver { 37 public SynchronousMutationObserver {
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
73 EventTarget* enteredTarget, 73 EventTarget* enteredTarget,
74 const String& canvasRegionId, 74 const String& canvasRegionId,
75 const WebMouseEvent&); 75 const WebMouseEvent&);
76 76
77 void setNodeUnderMouse(Node*, 77 void setNodeUnderMouse(Node*,
78 const String& canvasRegionId, 78 const String& canvasRegionId,
79 const WebMouseEvent&); 79 const WebMouseEvent&);
80 80
81 WebInputEventResult handleMouseFocus( 81 WebInputEventResult handleMouseFocus(
82 const HitTestResult&, 82 const HitTestResult&,
83 InputDeviceCapabilities* sourceCapabilities); 83 const InputDeviceCapabilitiesValue& sourceCapabilities);
84 84
85 void fakeMouseMoveEventTimerFired(TimerBase*); 85 void fakeMouseMoveEventTimerFired(TimerBase*);
86 86
87 void cancelFakeMouseMoveEvent(); 87 void cancelFakeMouseMoveEvent();
88 void dispatchFakeMouseMoveEventSoon(); 88 void dispatchFakeMouseMoveEventSoon();
89 void dispatchFakeMouseMoveEventSoonInQuad(const FloatQuad&); 89 void dispatchFakeMouseMoveEventSoonInQuad(const FloatQuad&);
90 90
91 void setLastKnownMousePosition(const WebMouseEvent&); 91 void setLastKnownMousePosition(const WebMouseEvent&);
92 92
93 bool handleDragDropIfPossible(const GestureEventWithHitTestResults&); 93 bool handleDragDropIfPossible(const GestureEventWithHitTestResults&);
(...skipping 135 matching lines...) Expand 10 before | Expand all | Expand 10 after
229 WebMouseEvent m_mouseDown; 229 WebMouseEvent m_mouseDown;
230 230
231 LayoutPoint m_dragStartPos; 231 LayoutPoint m_dragStartPos;
232 232
233 TaskRunnerTimer<MouseEventManager> m_fakeMouseMoveEventTimer; 233 TaskRunnerTimer<MouseEventManager> m_fakeMouseMoveEventTimer;
234 }; 234 };
235 235
236 } // namespace blink 236 } // namespace blink
237 237
238 #endif // MouseEventManager_h 238 #endif // MouseEventManager_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698