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

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

Issue 1232003009: Implement DragEvent and move MouseEvent.dataTransfer (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: fix 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
OLDNEW
(Empty)
1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #ifndef DragEvent_h
6 #define DragEvent_h
7
8 #include "core/events/DragEventInit.h"
9 #include "core/events/MouseEvent.h"
10
11 namespace blink {
12
13 class DataTransfer;
14
15 class DragEvent final : public MouseEvent {
16 DEFINE_WRAPPERTYPEINFO();
17
18 public:
19 static PassRefPtrWillBeRawPtr<DragEvent> create()
20 {
21 return adoptRefWillBeNoop(new DragEvent);
22 }
23
24 static PassRefPtrWillBeRawPtr<DragEvent> create(DataTransfer* dataTransfer)
25 {
26 return adoptRefWillBeNoop(new DragEvent(dataTransfer));
27 }
28
29 static PassRefPtrWillBeRawPtr<DragEvent> create(const AtomicString& type, bo ol canBubble, bool cancelable, PassRefPtrWillBeRawPtr<AbstractView>,
30 int detail, int screenX, int screenY, int windowX, int windowY,
31 int movementX, int movementY,
32 bool ctrlKey, bool altKey, bool shiftKey, bool metaKey, short button, un signed short buttons,
33 PassRefPtrWillBeRawPtr<EventTarget> relatedTarget, DataTransfer*,
34 bool isSimulated = false, PlatformMouseEvent::SyntheticEventType = Platf ormMouseEvent::RealOrIndistinguishable,
35 double uiCreateTime = 0);
36
37 static PassRefPtrWillBeRawPtr<DragEvent> create(const AtomicString& type, co nst DragEventInit& initializer)
38 {
39 return adoptRefWillBeNoop(new DragEvent(type, initializer));
40 }
41
42 DataTransfer* dataTransfer() const override { return isDragEvent() ? m_dataT ransfer.get() : 0; }
43
44 bool isDragEvent() const override;
45
46 DECLARE_VIRTUAL_TRACE();
47
48 private:
49 DragEvent();
50 DragEvent(DataTransfer*);
51 DragEvent(const AtomicString& type, bool canBubble, bool cancelable, PassRef PtrWillBeRawPtr<AbstractView>,
52 int detail, int screenX, int screenY, int windowX, int windowY,
53 int movementX, int movementY,
54 bool ctrlKey, bool altKey, bool shiftKey, bool metaKey, short button, un signed short buttons,
55 PassRefPtrWillBeRawPtr<EventTarget> relatedTarget, DataTransfer*,
56 bool isSimulated, PlatformMouseEvent::SyntheticEventType, double uiCreat eTime = 0);
57
58 DragEvent(const AtomicString& type, const DragEventInit&);
59
60 PersistentWillBeMember<DataTransfer> m_dataTransfer;
61 };
62
63 class DragEventDispatchMediator final : public EventDispatchMediator {
64 public:
65 static PassRefPtrWillBeRawPtr<DragEventDispatchMediator> create(PassRefPtrWi llBeRawPtr<DragEvent>);
66
67 private:
68 explicit DragEventDispatchMediator(PassRefPtrWillBeRawPtr<DragEvent>);
69 DragEvent& event() const;
70 bool dispatchEvent(EventDispatcher&) const override;
71 };
72
73 DEFINE_EVENT_TYPE_CASTS(DragEvent);
74
75 } // namespace blink
76
77 #endif // DragEvent_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698