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

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

Issue 181153003: Make Event RefCountedGarbageCollected and implement trace() methods to the Event hierarcy (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 6 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 | Annotate | Revision Log
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 172 matching lines...) Expand 10 before | Expand all | Expand 10 after
183 183
184 Node* MouseEvent::fromElement() const 184 Node* MouseEvent::fromElement() const
185 { 185 {
186 // MSIE extension - "object from which activation or the mouse pointer is ex iting during the event" (huh?) 186 // MSIE extension - "object from which activation or the mouse pointer is ex iting during the event" (huh?)
187 if (type() != EventTypeNames::mouseout && type() != EventTypeNames::mouselea ve) 187 if (type() != EventTypeNames::mouseout && type() != EventTypeNames::mouselea ve)
188 return relatedTarget() ? relatedTarget()->toNode() : 0; 188 return relatedTarget() ? relatedTarget()->toNode() : 0;
189 189
190 return target() ? target()->toNode() : 0; 190 return target() ? target()->toNode() : 0;
191 } 191 }
192 192
193 void MouseEvent::trace(Visitor* visitor)
194 {
195 visitor->trace(m_clipboard);
196 MouseRelatedEvent::trace(visitor);
197 }
198
193 PassRefPtr<SimulatedMouseEvent> SimulatedMouseEvent::create(const AtomicString& eventType, PassRefPtr<AbstractView> view, PassRefPtr<Event> underlyingEvent) 199 PassRefPtr<SimulatedMouseEvent> SimulatedMouseEvent::create(const AtomicString& eventType, PassRefPtr<AbstractView> view, PassRefPtr<Event> underlyingEvent)
194 { 200 {
195 return adoptRef(new SimulatedMouseEvent(eventType, view, underlyingEvent)); 201 return adoptRef(new SimulatedMouseEvent(eventType, view, underlyingEvent));
196 } 202 }
197 203
198 SimulatedMouseEvent::~SimulatedMouseEvent() 204 SimulatedMouseEvent::~SimulatedMouseEvent()
199 { 205 {
200 } 206 }
201 207
202 SimulatedMouseEvent::SimulatedMouseEvent(const AtomicString& eventType, PassRefP tr<AbstractView> view, PassRefPtr<Event> underlyingEvent) 208 SimulatedMouseEvent::SimulatedMouseEvent(const AtomicString& eventType, PassRefP tr<AbstractView> view, PassRefPtr<Event> underlyingEvent)
203 : MouseEvent(eventType, true, true, view, 0, 0, 0, 0, 0, 209 : MouseEvent(eventType, true, true, view, 0, 0, 0, 0, 0,
204 0, 0, 210 0, 0,
205 false, false, false, false, 0, nullptr, nullptr, true) 211 false, false, false, false, 0, nullptr, nullptr, true)
206 { 212 {
207 if (UIEventWithKeyState* keyStateEvent = findEventWithKeyState(underlyingEve nt.get())) { 213 if (UIEventWithKeyState* keyStateEvent = findEventWithKeyState(underlyingEve nt.get())) {
208 m_ctrlKey = keyStateEvent->ctrlKey(); 214 m_ctrlKey = keyStateEvent->ctrlKey();
209 m_altKey = keyStateEvent->altKey(); 215 m_altKey = keyStateEvent->altKey();
210 m_shiftKey = keyStateEvent->shiftKey(); 216 m_shiftKey = keyStateEvent->shiftKey();
211 m_metaKey = keyStateEvent->metaKey(); 217 m_metaKey = keyStateEvent->metaKey();
212 } 218 }
213 setUnderlyingEvent(underlyingEvent); 219 setUnderlyingEvent(underlyingEvent);
214 220
215 if (this->underlyingEvent() && this->underlyingEvent()->isMouseEvent()) { 221 if (this->underlyingEvent() && this->underlyingEvent()->isMouseEvent()) {
216 MouseEvent* mouseEvent = toMouseEvent(this->underlyingEvent()); 222 MouseEvent* mouseEvent = toMouseEvent(this->underlyingEvent());
217 m_screenLocation = mouseEvent->screenLocation(); 223 m_screenLocation = mouseEvent->screenLocation();
218 initCoordinates(mouseEvent->clientLocation()); 224 initCoordinates(mouseEvent->clientLocation());
219 } 225 }
220 } 226 }
221 227
228 void SimulatedMouseEvent::trace(Visitor* visitor)
229 {
230 MouseEvent::trace(visitor);
231 }
232
222 PassRefPtr<MouseEventDispatchMediator> MouseEventDispatchMediator::create(PassRe fPtr<MouseEvent> mouseEvent, MouseEventType mouseEventType) 233 PassRefPtr<MouseEventDispatchMediator> MouseEventDispatchMediator::create(PassRe fPtr<MouseEvent> mouseEvent, MouseEventType mouseEventType)
223 { 234 {
224 return adoptRef(new MouseEventDispatchMediator(mouseEvent, mouseEventType)); 235 return adoptRef(new MouseEventDispatchMediator(mouseEvent, mouseEventType));
225 } 236 }
226 237
227 MouseEventDispatchMediator::MouseEventDispatchMediator(PassRefPtr<MouseEvent> mo useEvent, MouseEventType mouseEventType) 238 MouseEventDispatchMediator::MouseEventDispatchMediator(PassRefPtr<MouseEvent> mo useEvent, MouseEventType mouseEventType)
228 : EventDispatchMediator(mouseEvent), m_mouseEventType(mouseEventType) 239 : EventDispatchMediator(mouseEvent), m_mouseEventType(mouseEventType)
229 { 240 {
230 } 241 }
231 242
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
268 event()->button(), relatedTarget); 279 event()->button(), relatedTarget);
269 if (event()->defaultHandled()) 280 if (event()->defaultHandled())
270 doubleClickEvent->setDefaultHandled(); 281 doubleClickEvent->setDefaultHandled();
271 EventDispatcher::dispatchEvent(dispatcher->node(), MouseEventDispatchMediato r::create(doubleClickEvent)); 282 EventDispatcher::dispatchEvent(dispatcher->node(), MouseEventDispatchMediato r::create(doubleClickEvent));
272 if (doubleClickEvent->defaultHandled() || doubleClickEvent->defaultPrevented ()) 283 if (doubleClickEvent->defaultHandled() || doubleClickEvent->defaultPrevented ())
273 return false; 284 return false;
274 return !swallowEvent; 285 return !swallowEvent;
275 } 286 }
276 287
277 } // namespace WebCore 288 } // namespace WebCore
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698