Changeset 181514 in webkit
- Timestamp:
- Mar 15, 2015 3:47:08 PM (9 years ago)
- Location:
- trunk/Source
- Files:
-
- 11 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r181513 r181514 1 2015-03-15 Simon Fraser <simon.fraser@apple.com> 2 3 Clean up related to wheelEvent names 4 https://bugs.webkit.org/show_bug.cgi?id=142713 5 6 Reviewed by Anders Carlsson. 7 8 Add EventNames::isWheelEventType() and use it in places that test for the 9 two wheel event names. 10 11 * dom/Document.cpp: 12 (WebCore::Document::didAddWheelEventHandler): 13 (WebCore::Document::didRemoveWheelEventHandler): 14 * dom/Document.h: No need for exports (I grepped). Pass the Node*, which 15 will be used in a later patch. 16 * dom/EventNames.h: 17 (WebCore::EventNames::isWheelEventType): 18 * dom/Node.cpp: 19 (WebCore::Node::didMoveToNewDocument): 20 (WebCore::tryAddEventListener): 21 (WebCore::tryRemoveEventListener): 22 (WebCore::Node::defaultEventHandler): 23 * html/shadow/MediaControlsApple.cpp: 24 (WebCore::MediaControlsAppleEventListener::handleEvent): 25 * page/DOMWindow.cpp: 26 (WebCore::DOMWindow::addEventListener): 27 (WebCore::DOMWindow::removeEventListener): 28 * page/ios/FrameIOS.mm: 29 (WebCore::ancestorRespondingToScrollWheelEvents): Remove dead code. 30 1 31 2015-03-15 Simon Fraser <simon.fraser@apple.com> 2 32 -
trunk/Source/WebCore/dom/Document.cpp
r181442 r181514 5996 5996 } 5997 5997 5998 void Document::didAddWheelEventHandler( )5998 void Document::didAddWheelEventHandler(Node&) 5999 5999 { 6000 6000 ++m_wheelEventHandlerCount; … … 6002 6002 } 6003 6003 6004 void Document::didRemoveWheelEventHandler( )6004 void Document::didRemoveWheelEventHandler(Node&) 6005 6005 { 6006 6006 ASSERT(m_wheelEventHandlerCount > 0); … … 6009 6009 } 6010 6010 6011 void Document::didAddTouchEventHandler(Node *handler)6011 void Document::didAddTouchEventHandler(Node& handler) 6012 6012 { 6013 6013 #if ENABLE(TOUCH_EVENTS) 6014 6014 if (!m_touchEventTargets.get()) 6015 6015 m_touchEventTargets = std::make_unique<TouchEventTargetSet>(); 6016 m_touchEventTargets->add( handler);6016 m_touchEventTargets->add(&handler); 6017 6017 if (Document* parent = parentDocument()) { 6018 6018 parent->didAddTouchEventHandler(this); … … 6028 6028 } 6029 6029 6030 void Document::didRemoveTouchEventHandler(Node *handler)6030 void Document::didRemoveTouchEventHandler(Node& handler) 6031 6031 { 6032 6032 #if ENABLE(TOUCH_EVENTS) … … 6034 6034 return; 6035 6035 ASSERT(m_touchEventTargets->contains(handler)); 6036 m_touchEventTargets->remove( handler);6036 m_touchEventTargets->remove(&handler); 6037 6037 if (Document* parent = parentDocument()) { 6038 6038 parent->didRemoveTouchEventHandler(this); -
trunk/Source/WebCore/dom/Document.h
r181423 r181514 1123 1123 1124 1124 unsigned wheelEventHandlerCount() const { return m_wheelEventHandlerCount; } 1125 WEBCORE_EXPORT void didAddWheelEventHandler();1126 WEBCORE_EXPORT void didRemoveWheelEventHandler();1125 void didAddWheelEventHandler(Node&); 1126 void didRemoveWheelEventHandler(Node&); 1127 1127 1128 1128 double lastHandledUserGestureTimestamp() const { return m_lastHandledUserGestureTimestamp; } … … 1135 1135 #endif 1136 1136 1137 void didAddTouchEventHandler(Node *);1138 void didRemoveTouchEventHandler(Node *);1137 void didAddTouchEventHandler(Node&); 1138 void didRemoveTouchEventHandler(Node&); 1139 1139 1140 1140 #if ENABLE(TOUCH_EVENTS) -
trunk/Source/WebCore/dom/EventNames.h
r181212 r181514 265 265 // FIXME: Inelegant to call these both event names and event types. 266 266 // We should choose one term and stick to it. 267 bool isWheelEventType(const AtomicString& eventType) const; 267 268 bool isGestureEventType(const AtomicString& eventType) const; 268 269 bool isTouchEventType(const AtomicString& eventType) const; … … 300 301 } 301 302 303 inline bool EventNames::isWheelEventType(const AtomicString& eventType) const 304 { 305 return eventType == wheelEvent 306 || eventType == mousewheelEvent; 307 } 308 302 309 inline std::array<std::reference_wrapper<const AtomicString>, 4> EventNames::touchEventNames() const 303 310 { -
trunk/Source/WebCore/dom/Node.cpp
r181212 r181514 1713 1713 } 1714 1714 1715 unsigned numWheelEventHandlers = getEventListeners(eventNames().mousewheelEvent).size() 1716 + getEventListeners(eventNames().wheelEvent).size(); 1715 unsigned numWheelEventHandlers = getEventListeners(eventNames().mousewheelEvent).size() + getEventListeners(eventNames().wheelEvent).size(); 1717 1716 for (unsigned i = 0; i < numWheelEventHandlers; ++i) { 1718 oldDocument->didRemoveWheelEventHandler( );1719 document().didAddWheelEventHandler( );1717 oldDocument->didRemoveWheelEventHandler(*this); 1718 document().didAddWheelEventHandler(*this); 1720 1719 } 1721 1720 … … 1723 1722 for (auto& name : eventNames().touchEventNames()) 1724 1723 numTouchEventHandlers += getEventListeners(name).size(); 1724 1725 1725 for (unsigned i = 0; i < numTouchEventHandlers; ++i) { 1726 oldDocument->didRemoveTouchEventHandler( this);1727 document().didAddTouchEventHandler( this);1726 oldDocument->didRemoveTouchEventHandler(*this); 1727 document().didAddTouchEventHandler(*this); 1728 1728 } 1729 1729 … … 1747 1747 1748 1748 targetNode->document().addListenerTypeIfNeeded(eventType); 1749 if (event Type == eventNames().wheelEvent || eventType == eventNames().mousewheelEvent)1750 targetNode->document().didAddWheelEventHandler( );1749 if (eventNames().isWheelEventType(eventType)) 1750 targetNode->document().didAddWheelEventHandler(*targetNode); 1751 1751 else if (eventNames().isTouchEventType(eventType)) 1752 targetNode->document().didAddTouchEventHandler( targetNode);1752 targetNode->document().didAddTouchEventHandler(*targetNode); 1753 1753 1754 1754 #if PLATFORM(IOS) … … 1789 1789 // FIXME: Notify Document that the listener has vanished. We need to keep track of a number of 1790 1790 // listeners for each type, not just a bool - see https://bugs.webkit.org/show_bug.cgi?id=33861 1791 if (event Type == eventNames().wheelEvent || eventType == eventNames().mousewheelEvent)1792 targetNode->document().didRemoveWheelEventHandler( );1791 if (eventNames().isWheelEventType(eventType)) 1792 targetNode->document().didRemoveWheelEventHandler(*targetNode); 1793 1793 else if (eventNames().isTouchEventType(eventType)) 1794 targetNode->document().didRemoveTouchEventHandler( targetNode);1794 targetNode->document().didRemoveTouchEventHandler(*targetNode); 1795 1795 1796 1796 #if PLATFORM(IOS) … … 2087 2087 } 2088 2088 #endif 2089 } else if ((eventType == eventNames().wheelEvent || eventType == eventNames().mousewheelEvent) && is<WheelEvent>(*event)) { 2090 2089 } else if (eventNames().isWheelEventType(eventType) && is<WheelEvent>(*event)) { 2091 2090 // If we don't have a renderer, send the wheel event to the first node we find with a renderer. 2092 2091 // This is needed for <option> and <optgroup> elements so that <select>s get a wheel scroll. -
trunk/Source/WebCore/history/CachedFrame.cpp
r179409 r181514 117 117 if (DOMWindow* domWindow = m_document->domWindow()) { 118 118 // FIXME: Add SCROLL_LISTENER to the list of event types on Document, and use m_document->hasListenerType(). See <rdar://problem/9615482>. 119 // FIXME: Can use Document::hasListenerType() now. 119 120 if (domWindow->scrollEventListenerCount() && frame.page()) 120 121 frame.page()->chrome().client().setNeedsScrollNotifications(&frame, true); -
trunk/Source/WebCore/html/shadow/MediaControlsApple.cpp
r180441 r181514 589 589 if (event->type() == eventNames().clickEvent) 590 590 m_mediaControls->handleClickEvent(event); 591 else if ( (event->type() == eventNames().wheelEvent || event->type() == eventNames().mousewheelEvent) && is<WheelEvent>(*event)) {591 else if (eventNames().isWheelEventType(event->type()) && is<WheelEvent>(*event)) { 592 592 WheelEvent& wheelEvent = downcast<WheelEvent>(*event); 593 593 if (m_mediaControls->shouldClosedCaptionsContainerPreventPageScrolling(wheelEvent.wheelDeltaY())) -
trunk/Source/WebCore/page/DOMWindow.cpp
r180653 r181514 1698 1698 if (Document* document = this->document()) { 1699 1699 document->addListenerTypeIfNeeded(eventType); 1700 if (event Type == eventNames().wheelEvent || eventType == eventNames().mousewheelEvent)1701 document->didAddWheelEventHandler( );1700 if (eventNames().isWheelEventType(eventType)) 1701 document->didAddWheelEventHandler(*document); 1702 1702 else if (eventNames().isTouchEventType(eventType)) 1703 document->didAddTouchEventHandler( document);1703 document->didAddTouchEventHandler(*document); 1704 1704 else if (eventType == eventNames().storageEvent) 1705 1705 didAddStorageEventListener(this); … … 1789 1789 1790 1790 if (Document* document = this->document()) { 1791 if (event Type == eventNames().wheelEvent || eventType == eventNames().mousewheelEvent)1792 document->didRemoveWheelEventHandler( );1791 if (eventNames().isWheelEventType(eventType)) 1792 document->didRemoveWheelEventHandler(*document); 1793 1793 else if (eventNames().isTouchEventType(eventType)) 1794 document->didRemoveTouchEventHandler( document);1794 document->didRemoveTouchEventHandler(*document); 1795 1795 } 1796 1796 -
trunk/Source/WebCore/page/ios/FrameIOS.mm
r179157 r181514 274 274 } 275 275 276 #define ALLOW_SCROLL_LISTENERS 0277 278 276 static Node* ancestorRespondingToScrollWheelEvents(const HitTestResult& hitTestResult, Node* terminationNode, IntRect* nodeBounds) 279 277 { … … 283 281 Node* scrollingAncestor = nullptr; 284 282 for (Node* node = hitTestResult.innerNode(); node && node != terminationNode && !node->hasTagName(HTMLNames::bodyTag); node = node->parentNode()) { 285 #if ALLOW_SCROLL_LISTENERS286 if (node->willRespondToMouseWheelEvents()) {287 scrollingAncestor = node;288 continue;289 }290 #endif291 292 283 RenderObject* renderer = node->renderer(); 293 284 if (!renderer) -
trunk/Source/WebKit2/ChangeLog
r181511 r181514 1 2015-03-15 Simon Fraser <simon.fraser@apple.com> 2 3 Clean up related to wheelEvent names 4 https://bugs.webkit.org/show_bug.cgi?id=142713 5 6 Reviewed by Anders Carlsson. 7 8 Add EventNames::isWheelEventType() and use it in places that test for the 9 two wheel event names. 10 11 * WebProcess/Plugins/PluginView.cpp: 12 (WebKit::PluginView::handleEvent): 13 1 14 2015-03-15 Dan Bernstein <mitz@apple.com> 2 15 -
trunk/Source/WebKit2/WebProcess/Plugins/PluginView.cpp
r180115 r181514 920 920 if (event->type() != eventNames().mousemoveEvent) 921 921 pluginDidReceiveUserInteraction(); 922 } else if ( (event->type() == eventNames().wheelEvent || event->type() == eventNames().mousewheelEvent)922 } else if (eventNames().isWheelEventType(event->type()) 923 923 && currentEvent->type() == WebEvent::Wheel && m_plugin->wantsWheelEvents()) { 924 924 didHandleEvent = m_plugin->handleWheelEvent(static_cast<const WebWheelEvent&>(*currentEvent));
Note: See TracChangeset
for help on using the changeset viewer.