Reviewed by Sam.
* page/EventHandler.cpp:
(WebCore::EventHandler::hitTestResultAtPoint): Moved logic into
HitTestResult::setToNonShadowAncestor.
* rendering/HitTestResult.cpp:
(WebCore::HitTestResult::setToNonShadowAncestor):
* rendering/HitTestResult.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@23995
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
+2007-07-04 Adam Roben <aroben@apple.com>
+
+ Add HitTestResult::setToNonShadowAncestor
+
+ Reviewed by Sam.
+
+ * page/EventHandler.cpp:
+ (WebCore::EventHandler::hitTestResultAtPoint): Moved logic into
+ HitTestResult::setToNonShadowAncestor.
+ * rendering/HitTestResult.cpp:
+ (WebCore::HitTestResult::setToNonShadowAncestor):
+ * rendering/HitTestResult.h:
+
2007-07-04 Adam Roben <aroben@apple.com>
Change MouseEventWithHitTestResults to hold onto a HitTestResult
result = widgetHitTestResult;
}
- if (!allowShadowContent) {
- Node* node = result.innerNode();
- if (node)
- node = node->shadowAncestorNode();
- result.setInnerNode(node);
- node = result.innerNonSharedNode();
- if (node)
- node = node->shadowAncestorNode();
- result.setInnerNonSharedNode(node);
- }
+ if (!allowShadowContent)
+ result.setToNonShadowAncestor();
return result;
}
return *this;
}
+void HitTestResult::setToNonShadowAncestor()
+{
+ Node* node = innerNode();
+ if (node)
+ node = node->shadowAncestorNode();
+ setInnerNode(node);
+ node = innerNonSharedNode();
+ if (node)
+ node = node->shadowAncestorNode();
+ setInnerNonSharedNode(node);
+}
+
void HitTestResult::setInnerNode(Node* n)
{
m_innerNode = n;
Element* URLElement() const { return m_innerURLElement.get(); }
PlatformScrollbar* scrollbar() const { return m_scrollbar.get(); }
+ void setToNonShadowAncestor();
+
void setInnerNode(Node*);
void setInnerNonSharedNode(Node*);
void setPoint(const IntPoint& p) { m_point = p; }