Changeset 23994 in webkit
- Timestamp:
- Jul 4, 2007, 7:59:41 PM (18 years ago)
- Location:
- trunk/WebCore
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/WebCore/ChangeLog
r23992 r23994 1 2007-07-04 Adam Roben <aroben@apple.com> 2 3 Change MouseEventWithHitTestResults to hold onto a HitTestResult 4 5 Reviewed by Sam. 6 7 * dom/Document.cpp: 8 (WebCore::Document::prepareMouseEvent): 9 * page/MouseEventWithHitTestResults.cpp: 10 (WebCore::MouseEventWithHitTestResults::MouseEventWithHitTestResults): 11 (WebCore::MouseEventWithHitTestResults::targetNode): 12 (WebCore::MouseEventWithHitTestResults::localPoint): 13 (WebCore::MouseEventWithHitTestResults::scrollbar): 14 * page/MouseEventWithHitTestResults.h: 15 (WebCore::MouseEventWithHitTestResults::event): 16 (WebCore::MouseEventWithHitTestResults::hitTestResult): 17 1 18 2007-07-04 Matt Lilek <pewtermoose@gmail.com> 2 19 -
trunk/WebCore/dom/Document.cpp
r22035 r23994 1749 1749 1750 1750 if (!renderer()) 1751 return MouseEventWithHitTestResults(event, 0, IntPoint(), 0, false);1751 return MouseEventWithHitTestResults(event, HitTestResult(IntPoint())); 1752 1752 1753 1753 HitTestResult result(documentPoint); … … 1757 1757 updateRendering(); 1758 1758 1759 bool isOverLink = result.URLElement() && result.URLElement()->isLink(); 1760 return MouseEventWithHitTestResults(event, result.innerNode(), result.localPoint(), result.scrollbar(), isOverLink); 1759 return MouseEventWithHitTestResults(event, result); 1761 1760 } 1762 1761 -
trunk/WebCore/page/MouseEventWithHitTestResults.cpp
r18758 r23994 21 21 #include "MouseEventWithHitTestResults.h" 22 22 23 #include "Element.h" 24 #include "Node.h" 25 23 26 // Would TargetedMouseEvent be a better name? 24 27 … … 35 38 } 36 39 37 MouseEventWithHitTestResults::MouseEventWithHitTestResults(const PlatformMouseEvent& event, 38 PassRefPtr<Node> node, const IntPoint& localPoint, PlatformScrollbar* scrollbar, bool isOverLink) 40 MouseEventWithHitTestResults::MouseEventWithHitTestResults(const PlatformMouseEvent& event, const HitTestResult& hitTestResult) 39 41 : m_event(event) 40 , m_targetNode(node) 41 , m_targetElement(targetElement(m_targetNode.get())) 42 , m_localPoint(localPoint) 43 , m_scrollbar(scrollbar) 44 , m_isOverLink(isOverLink) 42 , m_hitTestResult(hitTestResult) 45 43 { 46 44 } … … 48 46 Node* MouseEventWithHitTestResults::targetNode() const 49 47 { 50 if (m_targetElement && !m_targetNode->inDocument() && m_targetElement->inDocument()) 51 return m_targetElement.get(); 52 return m_targetNode.get(); 48 Node* node = m_hitTestResult.innerNonSharedNode(); 49 if (node && node->inDocument()) 50 return node; 51 52 Element* element = targetElement(node); 53 if (element && element->inDocument()) 54 return element; 55 56 return node; 57 } 58 59 const IntPoint MouseEventWithHitTestResults::localPoint() const 60 { 61 return m_hitTestResult.localPoint(); 62 } 63 64 PlatformScrollbar* MouseEventWithHitTestResults::scrollbar() const 65 { 66 return m_hitTestResult.scrollbar(); 67 } 68 69 bool MouseEventWithHitTestResults::isOverLink() const 70 { 71 return m_hitTestResult.URLElement() && m_hitTestResult.URLElement()->isLink(); 53 72 } 54 73 -
trunk/WebCore/page/MouseEventWithHitTestResults.h
r18758 r23994 22 22 #define MouseEventWithHitTestResults_h 23 23 24 #include " Element.h"24 #include "HitTestResult.h" 25 25 #include "PlatformMouseEvent.h" 26 26 … … 32 32 class MouseEventWithHitTestResults { 33 33 public: 34 MouseEventWithHitTestResults(const PlatformMouseEvent&, PassRefPtr<Node>, const IntPoint& localPoint, PlatformScrollbar*, bool isOverLink);34 MouseEventWithHitTestResults(const PlatformMouseEvent&, const HitTestResult&); 35 35 36 36 const PlatformMouseEvent& event() const { return m_event; } 37 const HitTestResult& hitTestResult() const { return m_hitTestResult; } 37 38 Node* targetNode() const; 38 const IntPoint & localPoint() const { return m_localPoint; }39 PlatformScrollbar* scrollbar() const { return m_scrollbar; }40 bool isOverLink() const { return m_isOverLink; }39 const IntPoint localPoint() const; 40 PlatformScrollbar* scrollbar() const; 41 bool isOverLink() const; 41 42 42 43 private: 43 44 PlatformMouseEvent m_event; 44 RefPtr<Node> m_targetNode; 45 RefPtr<Element> m_targetElement; 46 IntPoint m_localPoint; 47 PlatformScrollbar* m_scrollbar; 48 bool m_isOverLink; 45 HitTestResult m_hitTestResult; 49 46 }; 50 47
Note:
See TracChangeset
for help on using the changeset viewer.