Changeset 143426 in webkit
- Timestamp:
- Feb 19, 2013 7:05:32 PM (11 years ago)
- Location:
- trunk/Source/WebCore
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r143423 r143426 1 2013-02-19 Hayato Ito <hayato@chromium.org> 2 3 Calculate EventPath in EventDispatcher's constructor. 4 https://bugs.webkit.org/show_bug.cgi?id=109905 5 6 Reviewed by Dimitri Glazkov. 7 8 This patch calculates an EventPath in EventDispatcher's 9 constructor and removes EventDispatcher::ensureEventPath(). 10 We don't have any reason to initialize an EventPath lazily. 11 12 No tests. No change in behavior. 13 14 * dom/EventDispatcher.cpp: 15 (WebCore::EventDispatcher::EventDispatcher): 16 (WebCore::EventDispatcher::dispatch): 17 * dom/EventDispatcher.h: 18 (WebCore::EventDispatcher::eventPath): 19 (EventDispatcher): 20 * dom/FocusEvent.cpp: 21 (WebCore::FocusEventDispatchMediator::dispatchEvent): 22 (WebCore::BlurEventDispatchMediator::dispatchEvent): 23 (WebCore::FocusInEventDispatchMediator::dispatchEvent): 24 (WebCore::FocusOutEventDispatchMediator::dispatchEvent): 25 * dom/MouseEvent.cpp: 26 (WebCore::MouseEventDispatchMediator::dispatchEvent): 27 1 28 2013-02-19 Simon Fraser <simon.fraser@apple.com> 2 29 -
trunk/Source/WebCore/dom/EventDispatcher.cpp
r143422 r143426 60 60 : m_node(node) 61 61 , m_event(event) 62 , m_eventPathInitialized(false)63 62 #ifndef NDEBUG 64 63 , m_eventDispatched(false) … … 69 68 ASSERT(!m_event->type().isNull()); // JavaScript code can create an event with an empty name, but not null. 70 69 m_view = node->document()->view(); 71 }72 73 EventPath& EventDispatcher::ensureEventPath()74 {75 if (m_eventPathInitialized)76 return m_eventPath;77 m_eventPathInitialized = true;78 70 EventRetargeter::calculateEventPath(m_node.get(), m_event.get(), m_eventPath); 79 return m_eventPath;80 71 } 81 72 … … 126 117 ASSERT(!NoEventDispatchAssertion::isEventDispatchForbidden()); 127 118 ASSERT(m_event->target()); 128 ensureEventPath();129 119 WindowEventContext windowEventContext(m_event.get(), m_node.get(), topEventContext()); 130 120 InspectorInstrumentationCookie cookie = InspectorInstrumentation::willDispatchEvent(m_node->document(), *m_event, windowEventContext.window(), m_node.get(), m_eventPath); -
trunk/Source/WebCore/dom/EventDispatcher.h
r143303 r143426 62 62 Node* node() const { return m_node.get(); } 63 63 Event* event() const { return m_event.get(); } 64 EventPath& e nsureEventPath();64 EventPath& eventPath() { return m_eventPath; } 65 65 66 66 private: … … 78 78 RefPtr<Event> m_event; 79 79 RefPtr<FrameView> m_view; 80 bool m_eventPathInitialized;81 80 #ifndef NDEBUG 82 81 bool m_eventDispatched; -
trunk/Source/WebCore/dom/FocusEvent.cpp
r143303 r143426 78 78 bool FocusEventDispatchMediator::dispatchEvent(EventDispatcher* dispatcher) const 79 79 { 80 EventRetargeter::adjustForFocusEvent(dispatcher->node(), *event(), dispatcher->e nsureEventPath());80 EventRetargeter::adjustForFocusEvent(dispatcher->node(), *event(), dispatcher->eventPath()); 81 81 return EventDispatchMediator::dispatchEvent(dispatcher); 82 82 } … … 94 94 bool BlurEventDispatchMediator::dispatchEvent(EventDispatcher* dispatcher) const 95 95 { 96 EventRetargeter::adjustForFocusEvent(dispatcher->node(), *event(), dispatcher->e nsureEventPath());96 EventRetargeter::adjustForFocusEvent(dispatcher->node(), *event(), dispatcher->eventPath()); 97 97 return EventDispatchMediator::dispatchEvent(dispatcher); 98 98 } … … 110 110 bool FocusInEventDispatchMediator::dispatchEvent(EventDispatcher* dispatcher) const 111 111 { 112 EventRetargeter::adjustForFocusEvent(dispatcher->node(), *event(), dispatcher->e nsureEventPath());112 EventRetargeter::adjustForFocusEvent(dispatcher->node(), *event(), dispatcher->eventPath()); 113 113 return EventDispatchMediator::dispatchEvent(dispatcher); 114 114 } … … 126 126 bool FocusOutEventDispatchMediator::dispatchEvent(EventDispatcher* dispatcher) const 127 127 { 128 EventRetargeter::adjustForFocusEvent(dispatcher->node(), *event(), dispatcher->e nsureEventPath());128 EventRetargeter::adjustForFocusEvent(dispatcher->node(), *event(), dispatcher->eventPath()); 129 129 return EventDispatchMediator::dispatchEvent(dispatcher); 130 130 } -
trunk/Source/WebCore/dom/MouseEvent.cpp
r143303 r143426 263 263 { 264 264 if (isSyntheticMouseEvent()) { 265 EventRetargeter::adjustForMouseEvent(dispatcher->node(), *event(), dispatcher->e nsureEventPath());265 EventRetargeter::adjustForMouseEvent(dispatcher->node(), *event(), dispatcher->eventPath()); 266 266 return dispatcher->dispatch(); 267 267 } … … 276 276 277 277 EventTarget* relatedTarget = event()->relatedTarget(); 278 EventRetargeter::adjustForMouseEvent(dispatcher->node(), *event(), dispatcher->e nsureEventPath());278 EventRetargeter::adjustForMouseEvent(dispatcher->node(), *event(), dispatcher->eventPath()); 279 279 280 280 dispatcher->dispatch();
Note: See TracChangeset
for help on using the changeset viewer.