Changeset 92256 in webkit
- Timestamp:
- Aug 2, 2011 8:25:57 PM (13 years ago)
- Location:
- trunk/Source/WebCore
- Files:
-
- 12 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r92255 r92256 1 2011-08-02 Hayato Ito <hayato@chromium.org> 2 3 Make EventDispatchMediator RefCounted. 4 https://bugs.webkit.org/show_bug.cgi?id=65529 5 6 Reviewed by Dimitri Glazkov. 7 8 Make EventDispatchMediator RefCounted so that it can be enqueued into a 9 ScopedEventQueue and called later. 10 A necessary change for ScopedEventQueue should be addressed in another patch. 11 12 No changes to functionality so no new tests. 13 14 * dom/Event.cpp: 15 (WebCore::EventDispatchMediator::create): 16 * dom/Event.h: 17 * dom/EventDispatcher.cpp: 18 (WebCore::EventDispatcher::dispatchEvent): 19 * dom/EventDispatcher.h: 20 * dom/KeyboardEvent.cpp: 21 (WebCore::KeyboardEventDispatchMediator::create): 22 * dom/KeyboardEvent.h: 23 * dom/MouseEvent.cpp: 24 (WebCore::MouseEventDispatchMediator::create): 25 * dom/MouseEvent.h: 26 * dom/Node.cpp: 27 (WebCore::Node::dispatchEvent): 28 (WebCore::Node::dispatchKeyEvent): 29 (WebCore::Node::dispatchMouseEvent): 30 (WebCore::Node::dispatchWheelEvent): 31 * dom/WheelEvent.cpp: 32 (WebCore::WheelEventDispatchMediator::create): 33 * dom/WheelEvent.h: 34 1 35 2011-08-02 David Reveman <reveman@chromium.org> 2 36 -
trunk/Source/WebCore/dom/Event.cpp
r89044 r92256 290 290 } 291 291 292 PassRefPtr<EventDispatchMediator> EventDispatchMediator::create(PassRefPtr<Event> event) 293 { 294 return adoptRef(new EventDispatchMediator(event)); 295 } 296 292 297 EventDispatchMediator::EventDispatchMediator(PassRefPtr<Event> event) 293 298 : m_event(event) -
trunk/Source/WebCore/dom/Event.h
r90972 r92256 200 200 }; 201 201 202 class EventDispatchMediator {202 class EventDispatchMediator : public RefCounted<Event> { 203 203 public: 204 static PassRefPtr<EventDispatchMediator> create(PassRefPtr<Event>); 205 virtual ~EventDispatchMediator(); 206 207 virtual bool dispatchEvent(EventDispatcher*) const; 208 209 protected: 204 210 explicit EventDispatchMediator(PassRefPtr<Event>); 205 virtual ~EventDispatchMediator();206 207 virtual bool dispatchEvent(EventDispatcher*) const;208 209 protected:210 211 EventDispatchMediator(); 211 212 -
trunk/Source/WebCore/dom/EventDispatcher.cpp
r92098 r92256 47 47 static HashSet<Node*>* gNodesDispatchingSimulatedClicks = 0; 48 48 49 bool EventDispatcher::dispatchEvent(Node* node, const EventDispatchMediator&mediator)49 bool EventDispatcher::dispatchEvent(Node* node, PassRefPtr<EventDispatchMediator> mediator) 50 50 { 51 51 ASSERT(!eventDispatchForbidden()); 52 52 53 53 EventDispatcher dispatcher(node); 54 return mediator .dispatchEvent(&dispatcher);54 return mediator->dispatchEvent(&dispatcher); 55 55 } 56 56 -
trunk/Source/WebCore/dom/EventDispatcher.h
r88026 r92256 49 49 class EventDispatcher { 50 50 public: 51 static bool dispatchEvent(Node*, const EventDispatchMediator&);51 static bool dispatchEvent(Node*, PassRefPtr<EventDispatchMediator>); 52 52 static void dispatchScopedEvent(Node*, PassRefPtr<Event>); 53 static void dispatchScopedEventDispatchMediator(Node*, PassRefPtr<EventDispatchMediator>); 53 54 54 55 static void dispatchSimulatedClick(Node*, PassRefPtr<Event> underlyingEvent, bool sendMouseEvents, bool showPressedLook); -
trunk/Source/WebCore/dom/KeyboardEvent.cpp
r84879 r92256 160 160 } 161 161 162 PassRefPtr<KeyboardEventDispatchMediator> KeyboardEventDispatchMediator::create(PassRefPtr<KeyboardEvent> event) 163 { 164 return adoptRef(new KeyboardEventDispatchMediator(event)); 165 } 166 162 167 KeyboardEventDispatchMediator::KeyboardEventDispatchMediator(PassRefPtr<KeyboardEvent> event) 163 168 : EventDispatchMediator(event) -
trunk/Source/WebCore/dom/KeyboardEvent.h
r82891 r92256 118 118 class KeyboardEventDispatchMediator : public EventDispatchMediator { 119 119 public: 120 static PassRefPtr<KeyboardEventDispatchMediator> create(PassRefPtr<KeyboardEvent>); 121 private: 120 122 explicit KeyboardEventDispatchMediator(PassRefPtr<KeyboardEvent>); 121 122 private:123 123 virtual bool dispatchEvent(EventDispatcher*) const; 124 124 }; -
trunk/Source/WebCore/dom/MouseEvent.cpp
r91416 r92256 160 160 } 161 161 162 PassRefPtr<MouseEventDispatchMediator> MouseEventDispatchMediator::create(PassRefPtr<MouseEvent> mouseEvent) 163 { 164 return adoptRef(new MouseEventDispatchMediator(mouseEvent)); 165 } 166 162 167 MouseEventDispatchMediator::MouseEventDispatchMediator(PassRefPtr<MouseEvent> mouseEvent) 163 168 : EventDispatchMediator(mouseEvent) -
trunk/Source/WebCore/dom/MouseEvent.h
r82948 r92256 101 101 class MouseEventDispatchMediator : public EventDispatchMediator { 102 102 public: 103 explicit MouseEventDispatchMediator(PassRefPtr<MouseEvent>);103 static PassRefPtr<MouseEventDispatchMediator> create(PassRefPtr<MouseEvent>); 104 104 105 105 private: 106 explicit MouseEventDispatchMediator(PassRefPtr<MouseEvent>); 106 107 MouseEvent* event() const; 107 108 -
trunk/Source/WebCore/dom/Node.cpp
r92139 r92256 2715 2715 bool Node::dispatchEvent(PassRefPtr<Event> event) 2716 2716 { 2717 return EventDispatcher::dispatchEvent(this, EventDispatchMediator (event));2717 return EventDispatcher::dispatchEvent(this, EventDispatchMediator::create(event)); 2718 2718 } 2719 2719 … … 2747 2747 bool Node::dispatchKeyEvent(const PlatformKeyboardEvent& event) 2748 2748 { 2749 return EventDispatcher::dispatchEvent(this, KeyboardEventDispatchMediator (KeyboardEvent::create(event, document()->defaultView())));2749 return EventDispatcher::dispatchEvent(this, KeyboardEventDispatchMediator::create(KeyboardEvent::create(event, document()->defaultView()))); 2750 2750 } 2751 2751 … … 2753 2753 int detail, Node* relatedTarget) 2754 2754 { 2755 return EventDispatcher::dispatchEvent(this, MouseEventDispatchMediator (MouseEvent::create(eventType, document()->defaultView(), event, detail, relatedTarget)));2755 return EventDispatcher::dispatchEvent(this, MouseEventDispatchMediator::create(MouseEvent::create(eventType, document()->defaultView(), event, detail, relatedTarget))); 2756 2756 } 2757 2757 … … 2763 2763 bool Node::dispatchWheelEvent(const PlatformWheelEvent& event) 2764 2764 { 2765 return EventDispatcher::dispatchEvent(this, WheelEventDispatchMediator (event, document()->defaultView()));2765 return EventDispatcher::dispatchEvent(this, WheelEventDispatchMediator::create(event, document()->defaultView())); 2766 2766 } 2767 2767 -
trunk/Source/WebCore/dom/WheelEvent.cpp
r92234 r92256 92 92 } 93 93 94 PassRefPtr<WheelEventDispatchMediator> WheelEventDispatchMediator::create(const PlatformWheelEvent& event, PassRefPtr<AbstractView> view) 95 { 96 return adoptRef(new WheelEventDispatchMediator(event, view)); 97 } 98 94 99 WheelEventDispatchMediator::WheelEventDispatchMediator(const PlatformWheelEvent& event, PassRefPtr<AbstractView> view) 95 100 { -
trunk/Source/WebCore/dom/WheelEvent.h
r92234 r92256 84 84 class WheelEventDispatchMediator : public EventDispatchMediator { 85 85 public: 86 static PassRefPtr<WheelEventDispatchMediator> create(const PlatformWheelEvent&, PassRefPtr<AbstractView>); 87 private: 86 88 WheelEventDispatchMediator(const PlatformWheelEvent&, PassRefPtr<AbstractView>); 87 88 private:89 89 WheelEvent* event() const; 90 90 virtual bool dispatchEvent(EventDispatcher*) const;
Note: See TracChangeset
for help on using the changeset viewer.