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

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

Issue 453493002: Improve detection of touch events when hiding media controls. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@autoHideControls
Patch Set: Cannot use isSimulated, so define derivesFromTouch Created 6 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
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, 2005, 2006, 2008 Apple Inc. All rights reserved. 5 * Copyright (C) 2003, 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 , button(0) 42 , button(0)
43 , relatedTarget(nullptr) 43 , relatedTarget(nullptr)
44 { 44 {
45 } 45 }
46 46
47 PassRefPtrWillBeRawPtr<MouseEvent> MouseEvent::create(const AtomicString& type, const MouseEventInit& initializer) 47 PassRefPtrWillBeRawPtr<MouseEvent> MouseEvent::create(const AtomicString& type, const MouseEventInit& initializer)
48 { 48 {
49 return adoptRefWillBeNoop(new MouseEvent(type, initializer)); 49 return adoptRefWillBeNoop(new MouseEvent(type, initializer));
50 } 50 }
51 51
52 PassRefPtrWillBeRawPtr<MouseEvent> MouseEvent::create(const AtomicString& eventT ype, PassRefPtrWillBeRawPtr<AbstractView> view, const PlatformMouseEvent& event, int detail, PassRefPtrWillBeRawPtr<Node> relatedTarget) 52 PassRefPtrWillBeRawPtr<MouseEvent> MouseEvent::create(const AtomicString& eventT ype, PassRefPtrWillBeRawPtr<AbstractView> view, const PlatformMouseEvent& event, int detail, PassRefPtrWillBeRawPtr<Node> relatedTarget, bool derivesFromTouch)
53 { 53 {
54 ASSERT(event.type() == PlatformEvent::MouseMoved || event.button() != NoButt on); 54 ASSERT(event.type() == PlatformEvent::MouseMoved || event.button() != NoButt on);
55 55
56 bool isMouseEnterOrLeave = eventType == EventTypeNames::mouseenter || eventT ype == EventTypeNames::mouseleave; 56 bool isMouseEnterOrLeave = eventType == EventTypeNames::mouseenter || eventT ype == EventTypeNames::mouseleave;
57 bool isCancelable = !isMouseEnterOrLeave; 57 bool isCancelable = !isMouseEnterOrLeave;
58 bool isBubbling = !isMouseEnterOrLeave; 58 bool isBubbling = !isMouseEnterOrLeave;
59 59
60 return MouseEvent::create( 60 return MouseEvent::create(
61 eventType, isBubbling, isCancelable, view, 61 eventType, isBubbling, isCancelable, view,
62 detail, event.globalPosition().x(), event.globalPosition().y(), event.po sition().x(), event.position().y(), 62 detail, event.globalPosition().x(), event.globalPosition().y(), event.po sition().x(), event.position().y(),
63 event.movementDelta().x(), event.movementDelta().y(), 63 event.movementDelta().x(), event.movementDelta().y(),
64 event.ctrlKey(), event.altKey(), event.shiftKey(), event.metaKey(), even t.button(), 64 event.ctrlKey(), event.altKey(), event.shiftKey(), event.metaKey(), even t.button(),
65 relatedTarget, nullptr, false); 65 relatedTarget, nullptr, false, derivesFromTouch);
66 } 66 }
67 67
68 PassRefPtrWillBeRawPtr<MouseEvent> MouseEvent::create(const AtomicString& type, bool canBubble, bool cancelable, PassRefPtrWillBeRawPtr<AbstractView> view, 68 PassRefPtrWillBeRawPtr<MouseEvent> MouseEvent::create(const AtomicString& type, bool canBubble, bool cancelable, PassRefPtrWillBeRawPtr<AbstractView> view,
69 int detail, int screenX, int screenY, int pageX, int pageY, 69 int detail, int screenX, int screenY, int pageX, int pageY,
70 int movementX, int movementY, 70 int movementX, int movementY,
71 bool ctrlKey, bool altKey, bool shiftKey, bool metaKey, unsigned short butto n, 71 bool ctrlKey, bool altKey, bool shiftKey, bool metaKey, unsigned short butto n,
72 PassRefPtrWillBeRawPtr<EventTarget> relatedTarget, PassRefPtrWillBeRawPtr<Da taTransfer> dataTransfer, bool isSimulated) 72 PassRefPtrWillBeRawPtr<EventTarget> relatedTarget, PassRefPtrWillBeRawPtr<Da taTransfer> dataTransfer, bool isSimulated, bool derivesFromTouch)
73 { 73 {
74 return adoptRefWillBeNoop(new MouseEvent(type, canBubble, cancelable, view, 74 return adoptRefWillBeNoop(new MouseEvent(type, canBubble, cancelable, view,
75 detail, screenX, screenY, pageX, pageY, 75 detail, screenX, screenY, pageX, pageY,
76 movementX, movementY, 76 movementX, movementY,
77 ctrlKey, altKey, shiftKey, metaKey, button, relatedTarget, dataTransfer, isSimulated)); 77 ctrlKey, altKey, shiftKey, metaKey, button, relatedTarget, dataTransfer, isSimulated, derivesFromTouch));
78 } 78 }
79 79
80 MouseEvent::MouseEvent() 80 MouseEvent::MouseEvent()
81 : m_button(0) 81 : m_button(0)
82 , m_buttonDown(false) 82 , m_buttonDown(false)
83 { 83 {
84 ScriptWrappable::init(this); 84 ScriptWrappable::init(this);
85 } 85 }
86 86
87 MouseEvent::MouseEvent(const AtomicString& eventType, bool canBubble, bool cance lable, PassRefPtrWillBeRawPtr<AbstractView> view, 87 MouseEvent::MouseEvent(const AtomicString& eventType, bool canBubble, bool cance lable, PassRefPtrWillBeRawPtr<AbstractView> view,
88 int detail, int screenX, int screenY, int pageX, int pageY, 88 int detail, int screenX, int screenY, int pageX, int pageY,
89 int movementX, int movementY, 89 int movementX, int movementY,
90 bool ctrlKey, bool altKey, bool shiftKey, bool metaKey, 90 bool ctrlKey, bool altKey, bool shiftKey, bool metaKey,
91 unsigned short button, PassRefPtrWillBeRawPtr<EventTarget> relatedTarget, 91 unsigned short button, PassRefPtrWillBeRawPtr<EventTarget> relatedTarget,
92 PassRefPtrWillBeRawPtr<DataTransfer> dataTransfer, bool isSimulated) 92 PassRefPtrWillBeRawPtr<DataTransfer> dataTransfer, bool isSimulated, bool de rivesFromTouch)
93 : MouseRelatedEvent(eventType, canBubble, cancelable, view, detail, IntPoint (screenX, screenY), 93 : MouseRelatedEvent(eventType, canBubble, cancelable, view, detail, IntPoint (screenX, screenY),
94 IntPoint(pageX, pageY), 94 IntPoint(pageX, pageY),
95 IntPoint(movementX, movementY), 95 IntPoint(movementX, movementY),
96 ctrlKey, altKey, shiftKey, metaKey, isSimulated) 96 ctrlKey, altKey, shiftKey, metaKey, isSimulated, derives FromTouch)
97 , m_button(button == (unsigned short)-1 ? 0 : button) 97 , m_button(button == (unsigned short)-1 ? 0 : button)
98 , m_buttonDown(button != (unsigned short)-1) 98 , m_buttonDown(button != (unsigned short)-1)
99 , m_relatedTarget(relatedTarget) 99 , m_relatedTarget(relatedTarget)
100 , m_dataTransfer(dataTransfer) 100 , m_dataTransfer(dataTransfer)
101 { 101 {
102 ScriptWrappable::init(this); 102 ScriptWrappable::init(this);
103 } 103 }
104 104
105 MouseEvent::MouseEvent(const AtomicString& eventType, const MouseEventInit& init ializer) 105 MouseEvent::MouseEvent(const AtomicString& eventType, const MouseEventInit& init ializer)
106 : MouseRelatedEvent(eventType, initializer.bubbles, initializer.cancelable, initializer.view, initializer.detail, IntPoint(initializer.screenX, initializer. screenY), 106 : MouseRelatedEvent(eventType, initializer.bubbles, initializer.cancelable, initializer.view, initializer.detail, IntPoint(initializer.screenX, initializer. screenY),
(...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after
200 PassRefPtrWillBeRawPtr<SimulatedMouseEvent> SimulatedMouseEvent::create(const At omicString& eventType, PassRefPtrWillBeRawPtr<AbstractView> view, PassRefPtrWill BeRawPtr<Event> underlyingEvent) 200 PassRefPtrWillBeRawPtr<SimulatedMouseEvent> SimulatedMouseEvent::create(const At omicString& eventType, PassRefPtrWillBeRawPtr<AbstractView> view, PassRefPtrWill BeRawPtr<Event> underlyingEvent)
201 { 201 {
202 return adoptRefWillBeNoop(new SimulatedMouseEvent(eventType, view, underlyin gEvent)); 202 return adoptRefWillBeNoop(new SimulatedMouseEvent(eventType, view, underlyin gEvent));
203 } 203 }
204 204
205 SimulatedMouseEvent::~SimulatedMouseEvent() 205 SimulatedMouseEvent::~SimulatedMouseEvent()
206 { 206 {
207 } 207 }
208 208
209 SimulatedMouseEvent::SimulatedMouseEvent(const AtomicString& eventType, PassRefP trWillBeRawPtr<AbstractView> view, PassRefPtrWillBeRawPtr<Event> underlyingEvent ) 209 SimulatedMouseEvent::SimulatedMouseEvent(const AtomicString& eventType, PassRefP trWillBeRawPtr<AbstractView> view, PassRefPtrWillBeRawPtr<Event> underlyingEvent )
210 : MouseEvent(eventType, true, true, view, 0, 0, 0, 0, 0, 210 : MouseEvent(eventType, true, true, view, 0, 0, 0, 0, 0, 0, 0, false, false, false, false, 0,
211 0, 0, 211 nullptr, nullptr, true, false)
212 false, false, false, false, 0, nullptr, nullptr, true)
213 { 212 {
214 if (UIEventWithKeyState* keyStateEvent = findEventWithKeyState(underlyingEve nt.get())) { 213 if (UIEventWithKeyState* keyStateEvent = findEventWithKeyState(underlyingEve nt.get())) {
215 m_ctrlKey = keyStateEvent->ctrlKey(); 214 m_ctrlKey = keyStateEvent->ctrlKey();
216 m_altKey = keyStateEvent->altKey(); 215 m_altKey = keyStateEvent->altKey();
217 m_shiftKey = keyStateEvent->shiftKey(); 216 m_shiftKey = keyStateEvent->shiftKey();
218 m_metaKey = keyStateEvent->metaKey(); 217 m_metaKey = keyStateEvent->metaKey();
219 } 218 }
220 setUnderlyingEvent(underlyingEvent); 219 setUnderlyingEvent(underlyingEvent);
221 220
222 if (this->underlyingEvent() && this->underlyingEvent()->isMouseEvent()) { 221 if (this->underlyingEvent() && this->underlyingEvent()->isMouseEvent()) {
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after
280 event()->button(), relatedTarget); 279 event()->button(), relatedTarget);
281 if (event()->defaultHandled()) 280 if (event()->defaultHandled())
282 doubleClickEvent->setDefaultHandled(); 281 doubleClickEvent->setDefaultHandled();
283 EventDispatcher::dispatchEvent(dispatcher->node(), MouseEventDispatchMediato r::create(doubleClickEvent)); 282 EventDispatcher::dispatchEvent(dispatcher->node(), MouseEventDispatchMediato r::create(doubleClickEvent));
284 if (doubleClickEvent->defaultHandled() || doubleClickEvent->defaultPrevented ()) 283 if (doubleClickEvent->defaultHandled() || doubleClickEvent->defaultPrevented ())
285 return false; 284 return false;
286 return !swallowEvent; 285 return !swallowEvent;
287 } 286 }
288 287
289 } // namespace blink 288 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698