Changeset 45565 in webkit
- Timestamp:
- Jul 6, 2009 1:59:09 PM (15 years ago)
- Location:
- trunk
- Files:
-
- 9 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/WebCore/ChangeLog
r45564 r45565 1 2009-07-06 Anders Carlsson <andersca@apple.com> 2 3 Reviewed by Adele Peterson. 4 5 Add the ability for wheel events to latch to a node. 6 7 * WebCore.base.exp: 8 * page/EventHandler.cpp: 9 (WebCore::EventHandler::EventHandler): 10 (WebCore::EventHandler::clear): 11 (WebCore::EventHandler::handleWheelEvent): 12 * page/EventHandler.h: 13 * page/mac/EventHandlerMac.mm: 14 (WebCore::EventHandler::wheelEvent): 15 * platform/mac/WebCoreSystemInterface.h: 16 * platform/mac/WebCoreSystemInterface.mm: 17 1 18 2009-07-06 Nate Chapin <japhet@chromium.org> 2 19 -
trunk/WebCore/WebCore.base.exp
r45502 r45565 1002 1002 _wkHitTestMediaUIPart 1003 1003 _wkInitializeMaximumHTTPConnectionCountPerHost 1004 _wkIsLatchingWheelEvent 1004 1005 _wkMeasureMediaUIPart 1005 1006 _wkPopupMenu -
trunk/WebCore/page/EventHandler.cpp
r45515 r45565 155 155 , m_clickCount(0) 156 156 , m_mouseDownTimestamp(0) 157 , m_useLatchedWheelEventNode(false) 158 , m_widgetIsLatched(false) 157 159 #if PLATFORM(MAC) 158 160 , m_mouseDownView(nil) … … 194 196 m_capturesDragging = false; 195 197 m_capturingMouseEventsNode = 0; 198 m_latchedWheelEventNode = 0; 196 199 } 197 200 … … 1716 1719 IntPoint vPoint = view->windowToContents(e.pos()); 1717 1720 1718 HitTestRequest request(HitTestRequest::ReadOnly); 1719 HitTestResult result(vPoint); 1720 doc->renderView()->layer()->hitTest(request, result); 1721 Node* node = result.innerNode(); 1721 Node* node; 1722 bool isOverWidget; 1723 bool didSetLatchedNode = false; 1724 1725 if (m_useLatchedWheelEventNode) { 1726 if (!m_latchedWheelEventNode) { 1727 HitTestRequest request(HitTestRequest::ReadOnly); 1728 HitTestResult result(vPoint); 1729 doc->renderView()->layer()->hitTest(request, result); 1730 m_latchedWheelEventNode = result.innerNode(); 1731 m_widgetIsLatched = result.isOverWidget(); 1732 didSetLatchedNode = true; 1733 } 1734 1735 node = m_latchedWheelEventNode.get(); 1736 isOverWidget = m_widgetIsLatched; 1737 } else { 1738 if (m_latchedWheelEventNode) 1739 m_latchedWheelEventNode = 0; 1740 1741 HitTestRequest request(HitTestRequest::ReadOnly); 1742 HitTestResult result(vPoint); 1743 doc->renderView()->layer()->hitTest(request, result); 1744 node = result.innerNode(); 1745 isOverWidget = result.isOverWidget(); 1746 } 1722 1747 1723 1748 if (node) { … … 1725 1750 RenderObject* target = node->renderer(); 1726 1751 1727 if ( result.isOverWidget()&& target && target->isWidget()) {1752 if (isOverWidget && target && target->isWidget()) { 1728 1753 Widget* widget = static_cast<RenderWidget*>(target)->widget(); 1729 1754 -
trunk/WebCore/page/EventHandler.h
r45304 r45565 333 333 PlatformMouseEvent m_mouseDown; 334 334 335 bool m_useLatchedWheelEventNode; 336 RefPtr<Node> m_latchedWheelEventNode; 337 bool m_widgetIsLatched; 338 335 339 #if PLATFORM(MAC) 336 340 NSView *m_mouseDownView; -
trunk/WebCore/page/mac/EventHandlerMac.mm
r45278 r45565 46 46 #include "Scrollbar.h" 47 47 #include "Settings.h" 48 #include "WebCoreSystemInterface.h" 48 49 #include <objc/objc-runtime.h> 49 50 #include <wtf/StdLibExtras.h> … … 108 109 CurrentEventScope scope(event); 109 110 111 m_useLatchedWheelEventNode = wkIsLatchingWheelEvent(event); 112 110 113 PlatformWheelEvent wheelEvent(event, page->chrome()->platformWindow()); 111 114 handleWheelEvent(wheelEvent); -
trunk/WebCore/platform/mac/WebCoreSystemInterface.h
r45474 r45565 136 136 extern void (*wkSignalCFReadStreamHasBytes)(CFReadStreamRef stream); 137 137 extern unsigned (*wkInitializeMaximumHTTPConnectionCountPerHost)(unsigned preferredConnectionCount); 138 extern BOOL (*wkIsLatchingWheelEvent)(NSEvent *); 138 139 139 140 #ifndef BUILDING_ON_TIGER -
trunk/WebCore/platform/mac/WebCoreSystemInterface.mm
r45474 r45565 80 80 id (*wkCreateNSURLConnectionDelegateProxy)(void); 81 81 unsigned (*wkInitializeMaximumHTTPConnectionCountPerHost)(unsigned preferredConnectionCount); 82 BOOL (*wkIsLatchingWheelEvent)(NSEvent *); 82 83 83 84 #ifndef BUILDING_ON_TIGER -
trunk/WebKit/mac/ChangeLog
r45541 r45565 1 2009-07-06 Anders Carlsson <andersca@apple.com> 2 3 Reviewed by Adele Peterson. 4 5 Initialize wkIsLatchingWheelEvent. 6 7 * WebCoreSupport/WebSystemInterface.m: 8 (InitWebCoreSystemInterface): 9 1 10 2009-07-03 Dan Bernstein <mitz@apple.com> 2 11 -
trunk/WebKit/mac/WebCoreSupport/WebSystemInterface.m
r45348 r45565 61 61 INIT(HitTestMediaUIPart); 62 62 INIT(InitializeMaximumHTTPConnectionCountPerHost); 63 INIT(IsLatchingWheelEvent); 63 64 INIT(MeasureMediaUIPart); 64 65 INIT(PopupMenu);
Note: See TracChangeset
for help on using the changeset viewer.