OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) | 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) |
3 * (C) 1999 Antti Koivisto (koivisto@kde.org) | 3 * (C) 1999 Antti Koivisto (koivisto@kde.org) |
4 * (C) 2001 Dirk Mueller (mueller@kde.org) | 4 * (C) 2001 Dirk Mueller (mueller@kde.org) |
5 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010 Apple Inc. All rights
reserved. | 5 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010 Apple Inc. All rights
reserved. |
6 * Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies) | 6 * Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies) |
7 * Copyright (C) 2009 Torch Mobile Inc. All rights reserved. (http://www.torchmo
bile.com/) | 7 * Copyright (C) 2009 Torch Mobile Inc. All rights reserved. (http://www.torchmo
bile.com/) |
8 * Copyright (C) 2011 Google Inc. All rights reserved. | 8 * Copyright (C) 2011 Google Inc. All rights reserved. |
9 * | 9 * |
10 * This library is free software; you can redistribute it and/or | 10 * This library is free software; you can redistribute it and/or |
(...skipping 28 matching lines...) Expand all Loading... |
39 class Node; | 39 class Node; |
40 class NodeEventContext; | 40 class NodeEventContext; |
41 class WindowEventContext; | 41 class WindowEventContext; |
42 | 42 |
43 enum EventDispatchContinuation { | 43 enum EventDispatchContinuation { |
44 ContinueDispatching, | 44 ContinueDispatching, |
45 DoneDispatching | 45 DoneDispatching |
46 }; | 46 }; |
47 | 47 |
48 class EventDispatcher { | 48 class EventDispatcher { |
| 49 STACK_ALLOCATED(); |
49 public: | 50 public: |
50 static bool dispatchEvent(Node*, PassRefPtr<EventDispatchMediator>); | 51 static bool dispatchEvent(Node*, PassRefPtr<EventDispatchMediator>); |
51 static void dispatchScopedEvent(Node*, PassRefPtr<EventDispatchMediator>); | 52 static void dispatchScopedEvent(Node*, PassRefPtr<EventDispatchMediator>); |
52 | 53 |
53 static void dispatchSimulatedClick(Node*, Event* underlyingEvent, SimulatedC
lickMouseEventOptions); | 54 static void dispatchSimulatedClick(Node*, Event* underlyingEvent, SimulatedC
lickMouseEventOptions); |
54 | 55 |
55 bool dispatch(); | 56 bool dispatch(); |
56 Node* node() const { return m_node.get(); } | 57 Node* node() const { return m_node.get(); } |
57 Event* event() const { return m_event.get(); } | 58 Event* event() const { return m_event.get(); } |
58 | 59 |
59 private: | 60 private: |
60 EventDispatcher(Node*, PassRefPtrWillBeRawPtr<Event>); | 61 EventDispatcher(Node*, PassRefPtrWillBeRawPtr<Event>); |
61 const NodeEventContext* topNodeEventContext(); | 62 const NodeEventContext* topNodeEventContext(); |
62 | 63 |
63 EventDispatchContinuation dispatchEventPreProcess(void*& preDispatchEventHan
dlerResult); | 64 EventDispatchContinuation dispatchEventPreProcess(void*& preDispatchEventHan
dlerResult); |
64 EventDispatchContinuation dispatchEventAtCapturing(WindowEventContext&); | 65 EventDispatchContinuation dispatchEventAtCapturing(WindowEventContext&); |
65 EventDispatchContinuation dispatchEventAtTarget(); | 66 EventDispatchContinuation dispatchEventAtTarget(); |
66 void dispatchEventAtBubbling(WindowEventContext&); | 67 void dispatchEventAtBubbling(WindowEventContext&); |
67 void dispatchEventPostProcess(void* preDispatchEventHandlerResult); | 68 void dispatchEventPostProcess(void* preDispatchEventHandlerResult); |
68 | 69 |
69 RefPtr<Node> m_node; | 70 RefPtrWillBeMember<Node> m_node; |
70 RefPtrWillBePersistent<Event> m_event; | 71 RefPtrWillBeMember<Event> m_event; |
71 RefPtr<FrameView> m_view; | 72 RefPtr<FrameView> m_view; |
72 #ifndef NDEBUG | 73 #ifndef NDEBUG |
73 bool m_eventDispatched; | 74 bool m_eventDispatched; |
74 #endif | 75 #endif |
75 }; | 76 }; |
76 | 77 |
77 } | 78 } |
78 | 79 |
79 #endif | 80 #endif |
OLD | NEW |