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

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: Pass existing tests. 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 57 matching lines...) Expand 10 before | Expand all | Expand 10 after
68 short button, PassRefPtrWillBeRawPtr<EventTarget> relatedTarget, unsigne d short buttons = 0); 68 short button, PassRefPtrWillBeRawPtr<EventTarget> relatedTarget, unsigne d short buttons = 0);
69 69
70 // WinIE uses 1,4,2 for left/middle/right but not for click (just for moused own/up, maybe others), 70 // 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. 71 // but we will match the standard DOM.
72 virtual short button() const { return m_button == -1 ? 0 : m_button; } 72 virtual short button() const { return m_button == -1 ? 0 : m_button; }
73 unsigned short buttons() const { return m_buttons; } 73 unsigned short buttons() const { return m_buttons; }
74 bool buttonDown() const { return m_button != -1; } 74 bool buttonDown() const { return m_button != -1; }
75 EventTarget* relatedTarget() const { return m_relatedTarget.get(); } 75 EventTarget* relatedTarget() const { return m_relatedTarget.get(); }
76 void setRelatedTarget(PassRefPtrWillBeRawPtr<EventTarget> relatedTarget) { m _relatedTarget = relatedTarget; } 76 void setRelatedTarget(PassRefPtrWillBeRawPtr<EventTarget> relatedTarget) { m _relatedTarget = relatedTarget; }
77 PlatformMouseEvent::SyntheticEventType syntheticEventType() const { return m _syntheticEventType; } 77 PlatformMouseEvent::SyntheticEventType syntheticEventType() const { return m _syntheticEventType; }
78 const String& region() const { return m_region; }
79 void setRegion(const String& region) { m_region = region; }
78 80
79 Node* toElement() const; 81 Node* toElement() const;
80 Node* fromElement() const; 82 Node* fromElement() const;
81 83
82 virtual DataTransfer* dataTransfer() const { return nullptr; } 84 virtual DataTransfer* dataTransfer() const { return nullptr; }
83 85
84 bool fromTouch() const { return m_syntheticEventType == PlatformMouseEvent:: FromTouch; } 86 bool fromTouch() const { return m_syntheticEventType == PlatformMouseEvent:: FromTouch; }
85 87
86 const AtomicString& interfaceName() const override; 88 const AtomicString& interfaceName() const override;
87 89
(...skipping 30 matching lines...) Expand all
118 friend class MouseEventDispatchMediator; 120 friend class MouseEventDispatchMediator;
119 void initMouseEventInternal(const AtomicString& type, bool canBubble, bool c ancelable, PassRefPtrWillBeRawPtr<AbstractView>, 121 void initMouseEventInternal(const AtomicString& type, bool canBubble, bool c ancelable, PassRefPtrWillBeRawPtr<AbstractView>,
120 int detail, int screenX, int screenY, int clientX, int clientY, 122 int detail, int screenX, int screenY, int clientX, int clientY,
121 PlatformEvent::Modifiers, 123 PlatformEvent::Modifiers,
122 short button, PassRefPtrWillBeRawPtr<EventTarget> relatedTarget, InputDe viceCapabilities* sourceCapabilities, unsigned short buttons = 0); 124 short button, PassRefPtrWillBeRawPtr<EventTarget> relatedTarget, InputDe viceCapabilities* sourceCapabilities, unsigned short buttons = 0);
123 125
124 short m_button; 126 short m_button;
125 unsigned short m_buttons; 127 unsigned short m_buttons;
126 RefPtrWillBeMember<EventTarget> m_relatedTarget; 128 RefPtrWillBeMember<EventTarget> m_relatedTarget;
127 PlatformMouseEvent::SyntheticEventType m_syntheticEventType; 129 PlatformMouseEvent::SyntheticEventType m_syntheticEventType;
130 String m_region;
128 }; 131 };
129 132
130 class MouseEventDispatchMediator final : public EventDispatchMediator { 133 class MouseEventDispatchMediator final : public EventDispatchMediator {
131 public: 134 public:
132 static PassRefPtrWillBeRawPtr<MouseEventDispatchMediator> create(PassRefPtrW illBeRawPtr<MouseEvent>); 135 static PassRefPtrWillBeRawPtr<MouseEventDispatchMediator> create(PassRefPtrW illBeRawPtr<MouseEvent>);
133 136
134 private: 137 private:
135 explicit MouseEventDispatchMediator(PassRefPtrWillBeRawPtr<MouseEvent>); 138 explicit MouseEventDispatchMediator(PassRefPtrWillBeRawPtr<MouseEvent>);
136 MouseEvent& event() const; 139 MouseEvent& event() const;
137 140
138 bool dispatchEvent(EventDispatcher&) const override; 141 bool dispatchEvent(EventDispatcher&) const override;
139 }; 142 };
140 143
141 DEFINE_EVENT_TYPE_CASTS(MouseEvent); 144 DEFINE_EVENT_TYPE_CASTS(MouseEvent);
142 145
143 } // namespace blink 146 } // namespace blink
144 147
145 #endif // MouseEvent_h 148 #endif // MouseEvent_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698