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

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

Issue 1232003009: Implement DragEvent and move MouseEvent.dataTransfer (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Fix plugin failure of LayoutTest Created 5 years, 4 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
« no previous file with comments | « Source/core/events/DragEventInit.idl ('k') | Source/core/events/MouseEvent.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 13 matching lines...) Expand all
24 #ifndef MouseEvent_h 24 #ifndef MouseEvent_h
25 #define MouseEvent_h 25 #define MouseEvent_h
26 26
27 #include "core/CoreExport.h" 27 #include "core/CoreExport.h"
28 #include "core/events/EventDispatchMediator.h" 28 #include "core/events/EventDispatchMediator.h"
29 #include "core/events/MouseEventInit.h" 29 #include "core/events/MouseEventInit.h"
30 #include "core/events/MouseRelatedEvent.h" 30 #include "core/events/MouseRelatedEvent.h"
31 #include "platform/PlatformMouseEvent.h" 31 #include "platform/PlatformMouseEvent.h"
32 32
33 namespace blink { 33 namespace blink {
34
35 class DataTransfer; 34 class DataTransfer;
36 class EventDispatcher; 35 class EventDispatcher;
37 36
38 class CORE_EXPORT MouseEvent : public MouseRelatedEvent { 37 class CORE_EXPORT MouseEvent : public MouseRelatedEvent {
39 DEFINE_WRAPPERTYPEINFO(); 38 DEFINE_WRAPPERTYPEINFO();
40 public: 39 public:
41 static PassRefPtrWillBeRawPtr<MouseEvent> create() 40 static PassRefPtrWillBeRawPtr<MouseEvent> create()
42 { 41 {
43 return adoptRefWillBeNoop(new MouseEvent); 42 return adoptRefWillBeNoop(new MouseEvent);
44 } 43 }
45 44
46 static PassRefPtrWillBeRawPtr<MouseEvent> create(const AtomicString& type, b ool canBubble, bool cancelable, PassRefPtrWillBeRawPtr<AbstractView>, 45 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, 46 int detail, int screenX, int screenY, int windowX, int windowY,
48 int movementX, int movementY, 47 int movementX, int movementY,
49 bool ctrlKey, bool altKey, bool shiftKey, bool metaKey, short button, un signed short buttons, 48 bool ctrlKey, bool altKey, bool shiftKey, bool metaKey, short button, un signed short buttons,
50 PassRefPtrWillBeRawPtr<EventTarget> relatedTarget, DataTransfer*, 49 PassRefPtrWillBeRawPtr<EventTarget> relatedTarget,
51 bool isSimulated = false, PlatformMouseEvent::SyntheticEventType = Platf ormMouseEvent::RealOrIndistinguishable, 50 bool isSimulated = false, PlatformMouseEvent::SyntheticEventType = Platf ormMouseEvent::RealOrIndistinguishable,
52 double uiCreateTime = 0); 51 double uiCreateTime = 0);
53 52
54 static PassRefPtrWillBeRawPtr<MouseEvent> create(const AtomicString& eventTy pe, PassRefPtrWillBeRawPtr<AbstractView>, const PlatformMouseEvent&, int detail, PassRefPtrWillBeRawPtr<Node> relatedTarget); 53 static PassRefPtrWillBeRawPtr<MouseEvent> create(const AtomicString& eventTy pe, PassRefPtrWillBeRawPtr<AbstractView>, const PlatformMouseEvent&, int detail, PassRefPtrWillBeRawPtr<Node> relatedTarget);
55 54
56 static PassRefPtrWillBeRawPtr<MouseEvent> create(ScriptState*, const AtomicS tring& eventType, const MouseEventInit&); 55 static PassRefPtrWillBeRawPtr<MouseEvent> create(ScriptState*, const AtomicS tring& eventType, const MouseEventInit&);
57 56
58 ~MouseEvent() override; 57 ~MouseEvent() override;
59 58
60 static unsigned short platformModifiersToButtons(unsigned modifiers); 59 static unsigned short platformModifiersToButtons(unsigned modifiers);
(...skipping 14 matching lines...) Expand all
75 short button() const { return m_button == -1 ? 0 : m_button; } 74 short button() const { return m_button == -1 ? 0 : m_button; }
76 unsigned short buttons() const { return m_buttons; } 75 unsigned short buttons() const { return m_buttons; }
77 bool buttonDown() const { return m_button != -1; } 76 bool buttonDown() const { return m_button != -1; }
78 EventTarget* relatedTarget() const { return m_relatedTarget.get(); } 77 EventTarget* relatedTarget() const { return m_relatedTarget.get(); }
79 void setRelatedTarget(PassRefPtrWillBeRawPtr<EventTarget> relatedTarget) { m _relatedTarget = relatedTarget; } 78 void setRelatedTarget(PassRefPtrWillBeRawPtr<EventTarget> relatedTarget) { m _relatedTarget = relatedTarget; }
80 PlatformMouseEvent::SyntheticEventType syntheticEventType() const { return m _syntheticEventType; } 79 PlatformMouseEvent::SyntheticEventType syntheticEventType() const { return m _syntheticEventType; }
81 80
82 Node* toElement() const; 81 Node* toElement() const;
83 Node* fromElement() const; 82 Node* fromElement() const;
84 83
85 DataTransfer* dataTransfer() const { return isDragEvent() ? m_dataTransfer.g et() : 0; } 84 virtual DataTransfer* dataTransfer() const { return 0; }
86 85
87 bool fromTouch() const { return m_syntheticEventType == PlatformMouseEvent:: FromTouch; } 86 bool fromTouch() const { return m_syntheticEventType == PlatformMouseEvent:: FromTouch; }
88 87
89 const AtomicString& interfaceName() const override; 88 const AtomicString& interfaceName() const override;
90 89
91 bool isMouseEvent() const override; 90 bool isMouseEvent() const override;
92 bool isDragEvent() const final;
93 int which() const final; 91 int which() const final;
94 92
95 PassRefPtrWillBeRawPtr<EventDispatchMediator> createMediator() override; 93 PassRefPtrWillBeRawPtr<EventDispatchMediator> createMediator() override;
96 94
97 DECLARE_VIRTUAL_TRACE(); 95 DECLARE_VIRTUAL_TRACE();
98 96
99 protected: 97 protected:
100 MouseEvent(const AtomicString& type, bool canBubble, bool cancelable, PassRe fPtrWillBeRawPtr<AbstractView>, 98 MouseEvent(const AtomicString& type, bool canBubble, bool cancelable, PassRe fPtrWillBeRawPtr<AbstractView>,
101 int detail, int screenX, int screenY, int windowX, int windowY, 99 int detail, int screenX, int screenY, int windowX, int windowY,
102 int movementX, int movementY, 100 int movementX, int movementY,
103 bool ctrlKey, bool altKey, bool shiftKey, bool metaKey, short button, un signed short buttons, 101 bool ctrlKey, bool altKey, bool shiftKey, bool metaKey, short button, un signed short buttons,
104 PassRefPtrWillBeRawPtr<EventTarget> relatedTarget, DataTransfer*, 102 PassRefPtrWillBeRawPtr<EventTarget> relatedTarget,
105 bool isSimulated, PlatformMouseEvent::SyntheticEventType, double uiCreat eTime = 0); 103 bool isSimulated, PlatformMouseEvent::SyntheticEventType, double uiCreat eTime = 0);
106 104
107 MouseEvent(const AtomicString& type, const MouseEventInit&); 105 MouseEvent(const AtomicString& type, const MouseEventInit&);
108 106
109 MouseEvent(); 107 MouseEvent();
110 108
111 private: 109 private:
112 short m_button; 110 short m_button;
113 unsigned short m_buttons; 111 unsigned short m_buttons;
114 RefPtrWillBeMember<EventTarget> m_relatedTarget; 112 RefPtrWillBeMember<EventTarget> m_relatedTarget;
115 PersistentWillBeMember<DataTransfer> m_dataTransfer;
116 PlatformMouseEvent::SyntheticEventType m_syntheticEventType; 113 PlatformMouseEvent::SyntheticEventType m_syntheticEventType;
117 }; 114 };
118 115
119 class SimulatedMouseEvent final : public MouseEvent { 116 class SimulatedMouseEvent final : public MouseEvent {
120 public: 117 public:
121 static PassRefPtrWillBeRawPtr<SimulatedMouseEvent> create(const AtomicString & eventType, PassRefPtrWillBeRawPtr<AbstractView>, PassRefPtrWillBeRawPtr<Event> underlyingEvent); 118 static PassRefPtrWillBeRawPtr<SimulatedMouseEvent> create(const AtomicString & eventType, PassRefPtrWillBeRawPtr<AbstractView>, PassRefPtrWillBeRawPtr<Event> underlyingEvent);
122 ~SimulatedMouseEvent() override; 119 ~SimulatedMouseEvent() override;
123 120
124 DECLARE_VIRTUAL_TRACE(); 121 DECLARE_VIRTUAL_TRACE();
125 122
(...skipping 10 matching lines...) Expand all
136 MouseEvent& event() const; 133 MouseEvent& event() const;
137 134
138 bool dispatchEvent(EventDispatcher&) const override; 135 bool dispatchEvent(EventDispatcher&) const override;
139 }; 136 };
140 137
141 DEFINE_EVENT_TYPE_CASTS(MouseEvent); 138 DEFINE_EVENT_TYPE_CASTS(MouseEvent);
142 139
143 } // namespace blink 140 } // namespace blink
144 141
145 #endif // MouseEvent_h 142 #endif // MouseEvent_h
OLDNEW
« no previous file with comments | « Source/core/events/DragEventInit.idl ('k') | Source/core/events/MouseEvent.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698