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

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

Issue 2344693002: Support WebPointerProperties in MouseEvent (Closed)
Patch Set: fixed osx build Created 4 years, 3 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 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
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 MouseEvent* create(const AtomicString& type, bool canBubble, bool can celable, AbstractView*, 46 static MouseEvent* create(const AtomicString& type, bool canBubble, bool can celable, 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 EventTarget* relatedTarget, 50 EventTarget* relatedTarget,
51 double platformTimeStamp, 51 double platformTimeStamp,
52 PlatformMouseEvent::SyntheticEventType, 52 PlatformMouseEvent::SyntheticEventType,
53 const String& region); 53 const String& region,
54 const PlatformMouseEvent*);
54 55
55 static MouseEvent* create(const AtomicString& eventType, AbstractView*, cons t PlatformMouseEvent&, int detail, Node* relatedTarget); 56 static MouseEvent* create(const AtomicString& eventType, AbstractView*, cons t PlatformMouseEvent&, int detail, Node* relatedTarget);
56 57
57 static MouseEvent* create(ScriptState*, const AtomicString& eventType, const MouseEventInit&); 58 static MouseEvent* create(ScriptState*, const AtomicString& eventType, const MouseEventInit&);
58 59
59 static MouseEvent* create(const AtomicString& eventType, AbstractView*, Even t* underlyingEvent, SimulatedClickCreationScope); 60 static MouseEvent* create(const AtomicString& eventType, AbstractView*, Even t* underlyingEvent, SimulatedClickCreationScope);
60 61
61 ~MouseEvent() override; 62 ~MouseEvent() override;
62 63
63 static unsigned short platformModifiersToButtons(unsigned modifiers); 64 static unsigned short platformModifiersToButtons(unsigned modifiers);
(...skipping 23 matching lines...) Expand all
87 88
88 const AtomicString& interfaceName() const override; 89 const AtomicString& interfaceName() const override;
89 90
90 bool isMouseEvent() const override; 91 bool isMouseEvent() const override;
91 int which() const final; 92 int which() const final;
92 93
93 EventDispatchMediator* createMediator() override; 94 EventDispatchMediator* createMediator() override;
94 95
95 int clickCount() { return detail(); } 96 int clickCount() { return detail(); }
96 97
98 const PlatformMouseEvent* mouseEvent() const { return m_mouseEvent.get(); }
99
97 DECLARE_VIRTUAL_TRACE(); 100 DECLARE_VIRTUAL_TRACE();
98 101
99 protected: 102 protected:
100 MouseEvent(const AtomicString& type, bool canBubble, bool cancelable, Abstra ctView*, 103 MouseEvent(const AtomicString& type, bool canBubble, bool cancelable, Abstra ctView*,
101 int detail, int screenX, int screenY, int windowX, int windowY, 104 int detail, int screenX, int screenY, int windowX, int windowY,
102 int movementX, int movementY, 105 int movementX, int movementY,
103 PlatformEvent::Modifiers, short button, unsigned short buttons, 106 PlatformEvent::Modifiers, short button, unsigned short buttons,
104 EventTarget* relatedTarget, 107 EventTarget* relatedTarget,
105 double platformTimeStamp, 108 double platformTimeStamp,
106 PlatformMouseEvent::SyntheticEventType, 109 PlatformMouseEvent::SyntheticEventType,
107 const String& region); 110 const String& region,
111 const PlatformMouseEvent*);
108 112
109 MouseEvent(const AtomicString& type, const MouseEventInit&); 113 MouseEvent(const AtomicString& type, const MouseEventInit&);
110 114
111 MouseEvent(); 115 MouseEvent();
112 116
113 short rawButton() const { return m_button; } 117 short rawButton() const { return m_button; }
114 118
115 private: 119 private:
116 friend class MouseEventDispatchMediator; 120 friend class MouseEventDispatchMediator;
117 void initMouseEventInternal(const AtomicString& type, bool canBubble, bool c ancelable, AbstractView*, 121 void initMouseEventInternal(const AtomicString& type, bool canBubble, bool c ancelable, AbstractView*,
118 int detail, int screenX, int screenY, int clientX, int clientY, 122 int detail, int screenX, int screenY, int clientX, int clientY,
119 PlatformEvent::Modifiers, 123 PlatformEvent::Modifiers,
120 short button, EventTarget* relatedTarget, InputDeviceCapabilities* sourc eCapabilities, unsigned short buttons = 0); 124 short button, EventTarget* relatedTarget, InputDeviceCapabilities* sourc eCapabilities, unsigned short buttons = 0);
121 125
122 short m_button; 126 short m_button;
123 unsigned short m_buttons; 127 unsigned short m_buttons;
124 Member<EventTarget> m_relatedTarget; 128 Member<EventTarget> m_relatedTarget;
125 PlatformMouseEvent::SyntheticEventType m_syntheticEventType; 129 PlatformMouseEvent::SyntheticEventType m_syntheticEventType;
126 String m_region; 130 String m_region;
131 std::unique_ptr<PlatformMouseEvent> m_mouseEvent;
127 }; 132 };
128 133
129 class MouseEventDispatchMediator final : public EventDispatchMediator { 134 class MouseEventDispatchMediator final : public EventDispatchMediator {
130 public: 135 public:
131 static MouseEventDispatchMediator* create(MouseEvent*); 136 static MouseEventDispatchMediator* create(MouseEvent*);
132 137
133 private: 138 private:
134 explicit MouseEventDispatchMediator(MouseEvent*); 139 explicit MouseEventDispatchMediator(MouseEvent*);
135 MouseEvent& event() const; 140 MouseEvent& event() const;
136 141
137 DispatchEventResult dispatchEvent(EventDispatcher&) const override; 142 DispatchEventResult dispatchEvent(EventDispatcher&) const override;
138 }; 143 };
139 144
140 DEFINE_EVENT_TYPE_CASTS(MouseEvent); 145 DEFINE_EVENT_TYPE_CASTS(MouseEvent);
141 146
142 } // namespace blink 147 } // namespace blink
143 148
144 #endif // MouseEvent_h 149 #endif // MouseEvent_h
OLDNEW
« no previous file with comments | « third_party/WebKit/Source/core/events/DragEvent.cpp ('k') | third_party/WebKit/Source/core/events/MouseEvent.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698