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

Side by Side Diff: third_party/WebKit/Source/core/events/MouseEvent.h

Issue 1654653002: Canvas2d: Implement rerouting event by hit region's control. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 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 /* 1 /*
2 * Copyright (C) 2001 Peter Kelly (pmk@post.com) 2 * Copyright (C) 2001 Peter Kelly (pmk@post.com)
3 * Copyright (C) 2001 Tobias Anton (anton@stud.fbi.fh-darmstadt.de) 3 * Copyright (C) 2001 Tobias Anton (anton@stud.fbi.fh-darmstadt.de)
4 * Copyright (C) 2006 Samuel Weinig (sam.weinig@gmail.com) 4 * Copyright (C) 2006 Samuel Weinig (sam.weinig@gmail.com)
5 * Copyright (C) 2003, 2004, 2005, 2006, 2008 Apple Inc. All rights reserved. 5 * Copyright (C) 2003, 2004, 2005, 2006, 2008 Apple Inc. All rights reserved.
6 * 6 *
7 * This library is free software; you can redistribute it and/or 7 * This library is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU Library General Public 8 * modify it under the terms of the GNU Library General Public
9 * License as published by the Free Software Foundation; either 9 * License as published by the Free Software Foundation; either
10 * version 2 of the License, or (at your option) any later version. 10 * version 2 of the License, or (at your option) any later version.
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
42 return adoptRefWillBeNoop(new MouseEvent); 42 return adoptRefWillBeNoop(new MouseEvent);
43 } 43 }
44 44
45 // TODO(mustaq): Should replace most/all of these params with a MouseEventIn it. 45 // TODO(mustaq): Should replace most/all of these params with a MouseEventIn it.
46 static PassRefPtrWillBeRawPtr<MouseEvent> create(const AtomicString& type, b ool canBubble, bool cancelable, PassRefPtrWillBeRawPtr<AbstractView>, 46 static PassRefPtrWillBeRawPtr<MouseEvent> create(const AtomicString& type, b ool canBubble, bool cancelable, PassRefPtrWillBeRawPtr<AbstractView>,
47 int detail, int screenX, int screenY, int windowX, int windowY, 47 int detail, int screenX, int screenY, int windowX, int windowY,
48 int movementX, int movementY, PlatformEvent::Modifiers, 48 int movementX, int movementY, PlatformEvent::Modifiers,
49 short button, unsigned short buttons, 49 short button, unsigned short buttons,
50 PassRefPtrWillBeRawPtr<EventTarget> relatedTarget, 50 PassRefPtrWillBeRawPtr<EventTarget> relatedTarget,
51 double platformTimeStamp, 51 double platformTimeStamp,
52 PlatformMouseEvent::SyntheticEventType = PlatformMouseEvent::RealOrIndis tinguishable); 52 PlatformMouseEvent::SyntheticEventType = PlatformMouseEvent::RealOrIndis tinguishable,
53 const String& region = String());
53 54
54 static PassRefPtrWillBeRawPtr<MouseEvent> create(const AtomicString& eventTy pe, PassRefPtrWillBeRawPtr<AbstractView>, const PlatformMouseEvent&, int detail, PassRefPtrWillBeRawPtr<Node> relatedTarget); 55 static PassRefPtrWillBeRawPtr<MouseEvent> create(const AtomicString& eventTy pe, PassRefPtrWillBeRawPtr<AbstractView>, const PlatformMouseEvent&, int detail, PassRefPtrWillBeRawPtr<Node> relatedTarget);
55 56
56 static PassRefPtrWillBeRawPtr<MouseEvent> create(ScriptState*, const AtomicS tring& eventType, const MouseEventInit&); 57 static PassRefPtrWillBeRawPtr<MouseEvent> create(ScriptState*, const AtomicS tring& eventType, const MouseEventInit&);
57 58
58 static PassRefPtrWillBeRawPtr<MouseEvent> create(const AtomicString& eventTy pe, PassRefPtrWillBeRawPtr<AbstractView>, PassRefPtrWillBeRawPtr<Event> underlyi ngEvent, SimulatedClickCreationScope); 59 static PassRefPtrWillBeRawPtr<MouseEvent> create(const AtomicString& eventTy pe, PassRefPtrWillBeRawPtr<AbstractView>, PassRefPtrWillBeRawPtr<Event> underlyi ngEvent, SimulatedClickCreationScope);
59 60
60 ~MouseEvent() override; 61 ~MouseEvent() override;
61 62
62 static unsigned short platformModifiersToButtons(unsigned modifiers); 63 static unsigned short platformModifiersToButtons(unsigned modifiers);
63 static unsigned short buttonToButtons(short button); 64 static unsigned short buttonToButtons(short button);
64 65
65 void initMouseEvent(ScriptState*, const AtomicString& type, bool canBubble, bool cancelable, PassRefPtrWillBeRawPtr<AbstractView>, 66 void initMouseEvent(ScriptState*, const AtomicString& type, bool canBubble, bool cancelable, PassRefPtrWillBeRawPtr<AbstractView>,
66 int detail, int screenX, int screenY, int clientX, int clientY, 67 int detail, int screenX, int screenY, int clientX, int clientY,
67 bool ctrlKey, bool altKey, bool shiftKey, bool metaKey, 68 bool ctrlKey, bool altKey, bool shiftKey, bool metaKey,
68 short button, PassRefPtrWillBeRawPtr<EventTarget> relatedTarget, unsigne d short buttons = 0); 69 short button, PassRefPtrWillBeRawPtr<EventTarget> relatedTarget, unsigne d short buttons = 0);
69 70
70 // WinIE uses 1,4,2 for left/middle/right but not for click (just for moused own/up, maybe others), 71 // WinIE uses 1,4,2 for left/middle/right but not for click (just for moused own/up, maybe others),
71 // but we will match the standard DOM. 72 // but we will match the standard DOM.
72 virtual short button() const { return m_button == -1 ? 0 : m_button; } 73 virtual short button() const { return m_button == -1 ? 0 : m_button; }
73 unsigned short buttons() const { return m_buttons; } 74 unsigned short buttons() const { return m_buttons; }
74 bool buttonDown() const { return m_button != -1; } 75 bool buttonDown() const { return m_button != -1; }
75 EventTarget* relatedTarget() const { return m_relatedTarget.get(); } 76 EventTarget* relatedTarget() const { return m_relatedTarget.get(); }
76 void setRelatedTarget(PassRefPtrWillBeRawPtr<EventTarget> relatedTarget) { m _relatedTarget = relatedTarget; } 77 void setRelatedTarget(PassRefPtrWillBeRawPtr<EventTarget> relatedTarget) { m _relatedTarget = relatedTarget; }
77 PlatformMouseEvent::SyntheticEventType syntheticEventType() const { return m _syntheticEventType; } 78 PlatformMouseEvent::SyntheticEventType syntheticEventType() const { return m _syntheticEventType; }
79 const String& region() const { return m_region; }
80 void setRegion(const String& region) { m_region = region; }
78 81
79 Node* toElement() const; 82 Node* toElement() const;
80 Node* fromElement() const; 83 Node* fromElement() const;
81 84
82 virtual DataTransfer* dataTransfer() const { return nullptr; } 85 virtual DataTransfer* dataTransfer() const { return nullptr; }
83 86
84 bool fromTouch() const { return m_syntheticEventType == PlatformMouseEvent:: FromTouch; } 87 bool fromTouch() const { return m_syntheticEventType == PlatformMouseEvent:: FromTouch; }
85 88
86 const AtomicString& interfaceName() const override; 89 const AtomicString& interfaceName() const override;
87 90
(...skipping 11 matching lines...) Expand all
99 102
100 DECLARE_VIRTUAL_TRACE(); 103 DECLARE_VIRTUAL_TRACE();
101 104
102 protected: 105 protected:
103 MouseEvent(const AtomicString& type, bool canBubble, bool cancelable, PassRe fPtrWillBeRawPtr<AbstractView>, 106 MouseEvent(const AtomicString& type, bool canBubble, bool cancelable, PassRe fPtrWillBeRawPtr<AbstractView>,
104 int detail, int screenX, int screenY, int windowX, int windowY, 107 int detail, int screenX, int screenY, int windowX, int windowY,
105 int movementX, int movementY, 108 int movementX, int movementY,
106 PlatformEvent::Modifiers, short button, unsigned short buttons, 109 PlatformEvent::Modifiers, short button, unsigned short buttons,
107 PassRefPtrWillBeRawPtr<EventTarget> relatedTarget, 110 PassRefPtrWillBeRawPtr<EventTarget> relatedTarget,
108 double platformTimeStamp, 111 double platformTimeStamp,
109 PlatformMouseEvent::SyntheticEventType); 112 PlatformMouseEvent::SyntheticEventType,
113 const String& region = String());
philipj_slow 2016/02/15 10:45:24 Is the default needed? Update callers?
zino 2016/03/08 12:33:48 Done.
110 114
111 MouseEvent(const AtomicString& type, const MouseEventInit&); 115 MouseEvent(const AtomicString& type, const MouseEventInit&);
112 116
113 MouseEvent(); 117 MouseEvent();
114 118
115 short rawButton() const { return m_button; } 119 short rawButton() const { return m_button; }
116 120
117 private: 121 private:
118 friend class MouseEventDispatchMediator; 122 friend class MouseEventDispatchMediator;
119 void initMouseEventInternal(const AtomicString& type, bool canBubble, bool c ancelable, PassRefPtrWillBeRawPtr<AbstractView>, 123 void initMouseEventInternal(const AtomicString& type, bool canBubble, bool c ancelable, PassRefPtrWillBeRawPtr<AbstractView>,
120 int detail, int screenX, int screenY, int clientX, int clientY, 124 int detail, int screenX, int screenY, int clientX, int clientY,
121 PlatformEvent::Modifiers, 125 PlatformEvent::Modifiers,
122 short button, PassRefPtrWillBeRawPtr<EventTarget> relatedTarget, InputDe viceCapabilities* sourceCapabilities, unsigned short buttons = 0); 126 short button, PassRefPtrWillBeRawPtr<EventTarget> relatedTarget, InputDe viceCapabilities* sourceCapabilities, unsigned short buttons = 0);
123 127
124 short m_button; 128 short m_button;
125 unsigned short m_buttons; 129 unsigned short m_buttons;
126 RefPtrWillBeMember<EventTarget> m_relatedTarget; 130 RefPtrWillBeMember<EventTarget> m_relatedTarget;
127 PlatformMouseEvent::SyntheticEventType m_syntheticEventType; 131 PlatformMouseEvent::SyntheticEventType m_syntheticEventType;
132 String m_region;
128 }; 133 };
129 134
130 class MouseEventDispatchMediator final : public EventDispatchMediator { 135 class MouseEventDispatchMediator final : public EventDispatchMediator {
131 public: 136 public:
132 static PassRefPtrWillBeRawPtr<MouseEventDispatchMediator> create(PassRefPtrW illBeRawPtr<MouseEvent>); 137 static PassRefPtrWillBeRawPtr<MouseEventDispatchMediator> create(PassRefPtrW illBeRawPtr<MouseEvent>);
133 138
134 private: 139 private:
135 explicit MouseEventDispatchMediator(PassRefPtrWillBeRawPtr<MouseEvent>); 140 explicit MouseEventDispatchMediator(PassRefPtrWillBeRawPtr<MouseEvent>);
136 MouseEvent& event() const; 141 MouseEvent& event() const;
137 142
138 bool dispatchEvent(EventDispatcher&) const override; 143 bool dispatchEvent(EventDispatcher&) const override;
139 }; 144 };
140 145
141 DEFINE_EVENT_TYPE_CASTS(MouseEvent); 146 DEFINE_EVENT_TYPE_CASTS(MouseEvent);
142 147
143 } // namespace blink 148 } // namespace blink
144 149
145 #endif // MouseEvent_h 150 #endif // MouseEvent_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698