Diff
Modified: trunk/Source/WebCore/ChangeLog (127420 => 127421)
--- trunk/Source/WebCore/ChangeLog 2012-09-03 14:15:03 UTC (rev 127420)
+++ trunk/Source/WebCore/ChangeLog 2012-09-03 14:41:42 UTC (rev 127421)
@@ -1,3 +1,52 @@
+2012-09-03 Allan Sandfeld Jensen <[email protected]>
+
+ Move AllowShadowContent flag to HitTestRequest
+ https://bugs.webkit.org/show_bug.cgi?id=95685
+
+ Reviewed by Antonio Gomes.
+
+ Moves the flag and updates the interface for HitTestResult::addNodeToRectBasedTestResult so that
+ it can read the flag from HitTestRequest instead of from HitTestResult.
+
+ No change in functionality. No new tests.
+
+ * dom/Document.cpp:
+ (WebCore::Document::nodesFromRect):
+ * page/EventHandler.cpp:
+ (WebCore::EventHandler::hitTestResultAtPoint):
+ * rendering/HitTestRequest.h:
+ * rendering/HitTestResult.cpp:
+ (WebCore::HitTestLocation::HitTestLocation):
+ (WebCore::HitTestResult::HitTestResult):
+ (WebCore::HitTestResult::operator=):
+ (WebCore::HitTestResult::addNodeToRectBasedTestResult):
+ * rendering/HitTestResult.h:
+ (HitTestLocation):
+ (HitTestResult):
+ * rendering/InlineFlowBox.cpp:
+ (WebCore::InlineFlowBox::nodeAtPoint):
+ * rendering/InlineTextBox.cpp:
+ (WebCore::InlineTextBox::nodeAtPoint):
+ * rendering/RenderBlock.cpp:
+ (WebCore::RenderBlock::nodeAtPoint):
+ * rendering/RenderBox.cpp:
+ (WebCore::RenderBox::nodeAtPoint):
+ * rendering/RenderImage.cpp:
+ (WebCore::RenderImage::nodeAtPoint):
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::hitTestLayer):
+ (WebCore::RenderLayer::hitTestList):
+ * rendering/RenderMultiColumnSet.cpp:
+ (WebCore::RenderMultiColumnSet::nodeAtPoint):
+ * rendering/RenderRegion.cpp:
+ (WebCore::RenderRegion::nodeAtPoint):
+ * rendering/RenderTable.cpp:
+ (WebCore::RenderTable::nodeAtPoint):
+ * rendering/svg/RenderSVGRoot.cpp:
+ (WebCore::RenderSVGRoot::nodeAtPoint):
+ * rendering/svg/SVGInlineTextBox.cpp:
+ (WebCore::SVGInlineTextBox::nodeAtPoint):
+
2012-09-03 Alexander Pavlov <[email protected]>
Web Inspector: Unhide hidden characters
Modified: trunk/Source/WebCore/dom/Document.cpp (127420 => 127421)
--- trunk/Source/WebCore/dom/Document.cpp 2012-09-03 14:15:03 UTC (rev 127420)
+++ trunk/Source/WebCore/dom/Document.cpp 2012-09-03 14:41:42 UTC (rev 127421)
@@ -1406,6 +1406,8 @@
type |= HitTestRequest::IgnoreClipping;
else if (!frameView->visibleContentRect().intersects(HitTestResult::rectForPoint(point, topPadding, rightPadding, bottomPadding, leftPadding)))
return 0;
+ if (allowShadowContent)
+ type |= HitTestRequest::AllowShadowContent;
HitTestRequest request(type);
@@ -1416,8 +1418,7 @@
return handleZeroPadding(request, result);
}
- enum ShadowContentFilterPolicy shadowContentFilterPolicy = allowShadowContent ? AllowShadowContent : DoNotAllowShadowContent;
- HitTestResult result(point, topPadding, rightPadding, bottomPadding, leftPadding, shadowContentFilterPolicy);
+ HitTestResult result(point, topPadding, rightPadding, bottomPadding, leftPadding);
renderView()->hitTest(request, result);
return StaticHashSetNodeList::adopt(result.rectBasedTestResult());
Modified: trunk/Source/WebCore/page/EventHandler.cpp (127420 => 127421)
--- trunk/Source/WebCore/page/EventHandler.cpp 2012-09-03 14:15:03 UTC (rev 127420)
+++ trunk/Source/WebCore/page/EventHandler.cpp 2012-09-03 14:41:42 UTC (rev 127421)
@@ -1041,13 +1041,14 @@
HitTestResult EventHandler::hitTestResultAtPoint(const LayoutPoint& point, bool allowShadowContent, bool ignoreClipping, HitTestScrollbars testScrollbars, HitTestRequest::HitTestRequestType hitType, const LayoutSize& padding)
{
- enum ShadowContentFilterPolicy shadowContentFilterPolicy = allowShadowContent ? AllowShadowContent : DoNotAllowShadowContent;
- HitTestResult result(point, padding.height(), padding.width(), padding.height(), padding.width(), shadowContentFilterPolicy);
+ HitTestResult result(point, padding.height(), padding.width(), padding.height(), padding.width());
if (!m_frame->contentRenderer())
return result;
if (ignoreClipping)
hitType |= HitTestRequest::IgnoreClipping;
+ if (allowShadowContent)
+ hitType |= HitTestRequest::AllowShadowContent;
m_frame->contentRenderer()->hitTest(HitTestRequest(hitType), result);
while (true) {
@@ -1064,7 +1065,7 @@
FrameView* view = static_cast<FrameView*>(widget);
LayoutPoint widgetPoint(result.localPoint().x() + view->scrollX() - renderWidget->borderLeft() - renderWidget->paddingLeft(),
result.localPoint().y() + view->scrollY() - renderWidget->borderTop() - renderWidget->paddingTop());
- HitTestResult widgetHitTestResult(widgetPoint, padding.height(), padding.width(), padding.height(), padding.width(), shadowContentFilterPolicy);
+ HitTestResult widgetHitTestResult(widgetPoint, padding.height(), padding.width(), padding.height(), padding.width());
frame->contentRenderer()->hitTest(HitTestRequest(hitType), widgetHitTestResult);
result = widgetHitTestResult;
Modified: trunk/Source/WebCore/rendering/HitTestRequest.h (127420 => 127421)
--- trunk/Source/WebCore/rendering/HitTestRequest.h 2012-09-03 14:15:03 UTC (rev 127420)
+++ trunk/Source/WebCore/rendering/HitTestRequest.h 2012-09-03 14:41:42 UTC (rev 127421)
@@ -34,7 +34,8 @@
Release = 1 << 4,
IgnoreClipping = 1 << 5,
SVGClipContent = 1 << 6,
- TouchEvent = 1 << 7
+ TouchEvent = 1 << 7,
+ AllowShadowContent = 1 << 8
};
typedef unsigned HitTestRequestType;
@@ -52,6 +53,7 @@
bool svgClipContent() const { return m_requestType & SVGClipContent; }
bool touchEvent() const { return m_requestType & TouchEvent; }
bool mouseEvent() const { return !touchEvent(); }
+ bool allowsShadowContent() const { return m_requestType & AllowShadowContent; }
// Convenience functions
bool touchMove() const { return move() && touchEvent(); }
Modified: trunk/Source/WebCore/rendering/HitTestResult.cpp (127420 => 127421)
--- trunk/Source/WebCore/rendering/HitTestResult.cpp 2012-09-03 14:15:03 UTC (rev 127420)
+++ trunk/Source/WebCore/rendering/HitTestResult.cpp 2012-09-03 14:41:42 UTC (rev 127421)
@@ -104,7 +104,6 @@
, m_boundingBox(other.m_boundingBox)
, m_transformedPoint(other.m_transformedPoint)
, m_transformedRect(other.m_transformedRect)
- , m_region(region)
, m_isRectBased(other.m_isRectBased)
, m_isRectilinear(other.m_isRectilinear)
{
@@ -194,27 +193,23 @@
HitTestResult::HitTestResult() : HitTestLocation()
, m_isOverWidget(false)
- , m_shadowContentFilterPolicy(DoNotAllowShadowContent)
{
}
HitTestResult::HitTestResult(const LayoutPoint& point) : HitTestLocation(point)
, m_isOverWidget(false)
- , m_shadowContentFilterPolicy(DoNotAllowShadowContent)
{
}
-HitTestResult::HitTestResult(const LayoutPoint& centerPoint, unsigned topPadding, unsigned rightPadding, unsigned bottomPadding, unsigned leftPadding, ShadowContentFilterPolicy allowShadowContent)
+HitTestResult::HitTestResult(const LayoutPoint& centerPoint, unsigned topPadding, unsigned rightPadding, unsigned bottomPadding, unsigned leftPadding)
: HitTestLocation(centerPoint, topPadding, rightPadding, bottomPadding, leftPadding)
, m_isOverWidget(false)
- , m_shadowContentFilterPolicy(allowShadowContent)
{
}
-HitTestResult::HitTestResult(const HitTestLocation& other, ShadowContentFilterPolicy allowShadowContent)
+HitTestResult::HitTestResult(const HitTestLocation& other)
: HitTestLocation(other)
, m_isOverWidget(false)
- , m_shadowContentFilterPolicy(allowShadowContent)
{
}
@@ -226,7 +221,6 @@
, m_innerURLElement(other.URLElement())
, m_scrollbar(other.scrollbar())
, m_isOverWidget(other.isOverWidget())
- , m_shadowContentFilterPolicy(other.shadowContentFilterPolicy())
{
// Only copy the NodeSet in case of rect hit test.
m_rectBasedTestResult = adoptPtr(other.m_rectBasedTestResult ? new NodeSet(*other.m_rectBasedTestResult) : 0);
@@ -248,7 +242,6 @@
// Only copy the NodeSet in case of rect hit test.
m_rectBasedTestResult = adoptPtr(other.m_rectBasedTestResult ? new NodeSet(*other.m_rectBasedTestResult) : 0);
- m_shadowContentFilterPolicy = other.shadowContentFilterPolicy();
return *this;
}
@@ -674,7 +667,7 @@
return m_innerNonSharedNode->rendererIsEditable();
}
-bool HitTestResult::addNodeToRectBasedTestResult(Node* node, const HitTestLocation& locationInContainer, const LayoutRect& rect)
+bool HitTestResult::addNodeToRectBasedTestResult(Node* node, const HitTestRequest& request, const HitTestLocation& locationInContainer, const LayoutRect& rect)
{
// If it is not a rect-based hit test, this method has to be no-op.
// Return false, so the hit test stops.
@@ -685,7 +678,7 @@
if (!node)
return true;
- if (m_shadowContentFilterPolicy == DoNotAllowShadowContent)
+ if (!request.allowsShadowContent())
node = node->shadowAncestorNode();
mutableRectBasedTestResult().add(node);
@@ -709,7 +702,7 @@
return !regionFilled;
}
-bool HitTestResult::addNodeToRectBasedTestResult(Node* node, const HitTestLocation& locationInContainer, const FloatRect& rect)
+bool HitTestResult::addNodeToRectBasedTestResult(Node* node, const HitTestRequest& request, const HitTestLocation& locationInContainer, const FloatRect& rect)
{
// If it is not a rect-based hit test, this method has to be no-op.
// Return false, so the hit test stops.
@@ -720,7 +713,7 @@
if (!node)
return true;
- if (m_shadowContentFilterPolicy == DoNotAllowShadowContent)
+ if (!request.allowsShadowContent())
node = node->shadowAncestorNode();
mutableRectBasedTestResult().add(node);
Modified: trunk/Source/WebCore/rendering/HitTestResult.h (127420 => 127421)
--- trunk/Source/WebCore/rendering/HitTestResult.h 2012-09-03 14:15:03 UTC (rev 127420)
+++ trunk/Source/WebCore/rendering/HitTestResult.h 2012-09-03 14:41:42 UTC (rev 127421)
@@ -45,8 +45,6 @@
class RenderRegion;
class Scrollbar;
-enum ShadowContentFilterPolicy { DoNotAllowShadowContent, AllowShadowContent };
-
class HitTestLocation {
public:
@@ -109,8 +107,8 @@
HitTestResult();
HitTestResult(const LayoutPoint&);
// Pass non-negative padding values to perform a rect-based hit test.
- HitTestResult(const LayoutPoint& centerPoint, unsigned topPadding, unsigned rightPadding, unsigned bottomPadding, unsigned leftPadding, ShadowContentFilterPolicy);
- HitTestResult(const HitTestLocation&, ShadowContentFilterPolicy);
+ HitTestResult(const LayoutPoint& centerPoint, unsigned topPadding, unsigned rightPadding, unsigned bottomPadding, unsigned leftPadding);
+ HitTestResult(const HitTestLocation&);
HitTestResult(const HitTestResult&);
~HitTestResult();
HitTestResult& operator=(const HitTestResult&);
@@ -125,7 +123,6 @@
void setToNonShadowAncestor();
const HitTestLocation& hitTestLocation() const { return *this; }
- ShadowContentFilterPolicy shadowContentFilterPolicy() const { return m_shadowContentFilterPolicy; }
void setInnerNode(Node*);
void setInnerNonSharedNode(Node*);
@@ -166,8 +163,8 @@
// Returns true if it is rect-based hit test and needs to continue until the rect is fully
// enclosed by the boundaries of a node.
- bool addNodeToRectBasedTestResult(Node*, const HitTestLocation& locationInContainer, const LayoutRect& = LayoutRect());
- bool addNodeToRectBasedTestResult(Node*, const HitTestLocation& locationInContainer, const FloatRect&);
+ bool addNodeToRectBasedTestResult(Node*, const HitTestRequest&, const HitTestLocation& pointInContainer, const LayoutRect& = LayoutRect());
+ bool addNodeToRectBasedTestResult(Node*, const HitTestRequest&, const HitTestLocation& pointInContainer, const FloatRect&);
void append(const HitTestResult&);
// If m_rectBasedTestResult is 0 then set it to a new NodeSet. Return *m_rectBasedTestResult. Lazy allocation makes
@@ -194,8 +191,6 @@
RefPtr<Scrollbar> m_scrollbar;
bool m_isOverWidget; // Returns true if we are over a widget (and not in the border/padding area of a RenderWidget for example).
- ShadowContentFilterPolicy m_shadowContentFilterPolicy;
-
mutable OwnPtr<NodeSet> m_rectBasedTestResult;
};
Modified: trunk/Source/WebCore/rendering/InlineFlowBox.cpp (127420 => 127421)
--- trunk/Source/WebCore/rendering/InlineFlowBox.cpp 2012-09-03 14:15:03 UTC (rev 127420)
+++ trunk/Source/WebCore/rendering/InlineFlowBox.cpp 2012-09-03 14:41:42 UTC (rev 127421)
@@ -1013,7 +1013,7 @@
if (visibleToHitTesting() && locationInContainer.intersects(rect)) {
renderer()->updateHitTestResult(result, flipForWritingMode(locationInContainer.point() - toLayoutSize(accumulatedOffset))); // Don't add in m_x or m_y here, we want coords in the containing block's space.
- if (!result.addNodeToRectBasedTestResult(renderer()->node(), locationInContainer, rect))
+ if (!result.addNodeToRectBasedTestResult(renderer()->node(), request, locationInContainer, rect))
return true;
}
Modified: trunk/Source/WebCore/rendering/InlineTextBox.cpp (127420 => 127421)
--- trunk/Source/WebCore/rendering/InlineTextBox.cpp 2012-09-03 14:15:03 UTC (rev 127420)
+++ trunk/Source/WebCore/rendering/InlineTextBox.cpp 2012-09-03 14:41:42 UTC (rev 127421)
@@ -349,7 +349,7 @@
return renderer()->isBR() || (renderer()->style()->preserveNewline() && len() == 1 && (*textRenderer()->text())[start()] == '\n');
}
-bool InlineTextBox::nodeAtPoint(const HitTestRequest&, HitTestResult& result, const HitTestLocation& locationInContainer, const LayoutPoint& accumulatedOffset, LayoutUnit /* lineTop */, LayoutUnit /*lineBottom*/)
+bool InlineTextBox::nodeAtPoint(const HitTestRequest& request, HitTestResult& result, const HitTestLocation& locationInContainer, const LayoutPoint& accumulatedOffset, LayoutUnit /* lineTop */, LayoutUnit /*lineBottom*/)
{
if (isLineBreak())
return false;
@@ -359,7 +359,7 @@
FloatRect rect(boxOrigin, size());
if (m_truncation != cFullTruncation && visibleToHitTesting() && locationInContainer.intersects(rect)) {
renderer()->updateHitTestResult(result, flipForWritingMode(locationInContainer.point() - toLayoutSize(accumulatedOffset)));
- if (!result.addNodeToRectBasedTestResult(renderer()->node(), locationInContainer, rect))
+ if (!result.addNodeToRectBasedTestResult(renderer()->node(), request, locationInContainer, rect))
return true;
}
return false;
Modified: trunk/Source/WebCore/rendering/RenderBlock.cpp (127420 => 127421)
--- trunk/Source/WebCore/rendering/RenderBlock.cpp 2012-09-03 14:15:03 UTC (rev 127420)
+++ trunk/Source/WebCore/rendering/RenderBlock.cpp 2012-09-03 14:41:42 UTC (rev 127421)
@@ -4704,7 +4704,7 @@
if ((hitTestAction == HitTestBlockBackground || hitTestAction == HitTestChildBlockBackground) && isPointInOverflowControl(result, locationInContainer.point(), adjustedLocation)) {
updateHitTestResult(result, locationInContainer.point() - localOffset);
// FIXME: isPointInOverflowControl() doesn't handle rect-based tests yet.
- if (!result.addNodeToRectBasedTestResult(node(), locationInContainer))
+ if (!result.addNodeToRectBasedTestResult(node(), request, locationInContainer))
return true;
}
@@ -4737,7 +4737,7 @@
LayoutRect boundsRect(adjustedLocation, size());
if (visibleToHitTesting() && locationInContainer.intersects(boundsRect)) {
updateHitTestResult(result, flipForWritingMode(locationInContainer.point() - localOffset));
- if (!result.addNodeToRectBasedTestResult(node(), locationInContainer, boundsRect))
+ if (!result.addNodeToRectBasedTestResult(node(), request, locationInContainer, boundsRect))
return true;
}
}
Modified: trunk/Source/WebCore/rendering/RenderBox.cpp (127420 => 127421)
--- trunk/Source/WebCore/rendering/RenderBox.cpp 2012-09-03 14:15:03 UTC (rev 127420)
+++ trunk/Source/WebCore/rendering/RenderBox.cpp 2012-09-03 14:41:42 UTC (rev 127421)
@@ -756,7 +756,7 @@
boundsRect.moveBy(adjustedLocation);
if (visibleToHitTesting() && action == HitTestForeground && locationInContainer.intersects(boundsRect)) {
updateHitTestResult(result, locationInContainer.point() - toLayoutSize(adjustedLocation));
- if (!result.addNodeToRectBasedTestResult(node(), locationInContainer, boundsRect))
+ if (!result.addNodeToRectBasedTestResult(node(), request, locationInContainer, boundsRect))
return true;
}
Modified: trunk/Source/WebCore/rendering/RenderImage.cpp (127420 => 127421)
--- trunk/Source/WebCore/rendering/RenderImage.cpp 2012-09-03 14:15:03 UTC (rev 127420)
+++ trunk/Source/WebCore/rendering/RenderImage.cpp 2012-09-03 14:41:42 UTC (rev 127421)
@@ -501,7 +501,7 @@
bool RenderImage::nodeAtPoint(const HitTestRequest& request, HitTestResult& result, const HitTestLocation& locationInContainer, const LayoutPoint& accumulatedOffset, HitTestAction hitTestAction)
{
- HitTestResult tempResult(result.hitTestLocation(), result.shadowContentFilterPolicy());
+ HitTestResult tempResult(result.hitTestLocation());
bool inside = RenderReplaced::nodeAtPoint(request, tempResult, locationInContainer, accumulatedOffset, hitTestAction);
if (tempResult.innerNode() && node()) {
Modified: trunk/Source/WebCore/rendering/RenderLayer.cpp (127420 => 127421)
--- trunk/Source/WebCore/rendering/RenderLayer.cpp 2012-09-03 14:15:03 UTC (rev 127420)
+++ trunk/Source/WebCore/rendering/RenderLayer.cpp 2012-09-03 14:41:42 UTC (rev 127421)
@@ -3697,7 +3697,7 @@
// Next we want to see if the mouse pos is inside the child RenderObjects of the layer.
if (fgRect.intersects(hitTestLocation) && isSelfPaintingLayer()) {
// Hit test with a temporary HitTestResult, because we only want to commit to 'result' if we know we're frontmost.
- HitTestResult tempResult(result.hitTestLocation(), result.shadowContentFilterPolicy());
+ HitTestResult tempResult(result.hitTestLocation());
if (hitTestContents(request, tempResult, layerBounds, hitTestLocation, HitTestDescendants)
&& isHitCandidate(this, false, zOffsetForContentsPtr, unflattenedTransformState.get())) {
if (result.isRectBasedTest())
@@ -3726,7 +3726,7 @@
return candidateLayer;
if (bgRect.intersects(hitTestLocation) && isSelfPaintingLayer()) {
- HitTestResult tempResult(result.hitTestLocation(), result.shadowContentFilterPolicy());
+ HitTestResult tempResult(result.hitTestLocation());
if (hitTestContents(request, tempResult, layerBounds, hitTestLocation, HitTestSelf)
&& isHitCandidate(this, false, zOffsetForContentsPtr, unflattenedTransformState.get())) {
if (result.isRectBasedTest())
@@ -3783,7 +3783,7 @@
for (int i = list->size() - 1; i >= 0; --i) {
RenderLayer* childLayer = list->at(i);
RenderLayer* hitLayer = 0;
- HitTestResult tempResult(result.hitTestLocation(), result.shadowContentFilterPolicy());
+ HitTestResult tempResult(result.hitTestLocation());
if (childLayer->isPaginated())
hitLayer = hitTestPaginatedChildLayer(childLayer, rootLayer, request, tempResult, hitTestRect, hitTestLocation, transformState, zOffsetForDescendants);
else
Modified: trunk/Source/WebCore/rendering/RenderMultiColumnSet.cpp (127420 => 127421)
--- trunk/Source/WebCore/rendering/RenderMultiColumnSet.cpp 2012-09-03 14:15:03 UTC (rev 127420)
+++ trunk/Source/WebCore/rendering/RenderMultiColumnSet.cpp 2012-09-03 14:41:42 UTC (rev 127421)
@@ -318,7 +318,7 @@
}
updateHitTestResult(result, locationInContainer.point() - toLayoutSize(adjustedLocation));
- return !result.addNodeToRectBasedTestResult(node(), locationInContainer, boundsRect);
+ return !result.addNodeToRectBasedTestResult(node(), request, locationInContainer, boundsRect);
}
void RenderMultiColumnSet::repaintFlowThreadContent(const LayoutRect& repaintRect, bool immediate) const
Modified: trunk/Source/WebCore/rendering/RenderRegion.cpp (127420 => 127421)
--- trunk/Source/WebCore/rendering/RenderRegion.cpp 2012-09-03 14:15:03 UTC (rev 127420)
+++ trunk/Source/WebCore/rendering/RenderRegion.cpp 2012-09-03 14:41:42 UTC (rev 127421)
@@ -150,7 +150,7 @@
if (m_flowThread && m_flowThread->hitTestFlowThreadPortionInRegion(this, flowThreadPortionRect(), flowThreadPortionOverflowRect(), request, result, locationInContainer, LayoutPoint(adjustedLocation.x() + borderLeft() + paddingLeft(), adjustedLocation.y() + borderTop() + paddingTop())))
return true;
updateHitTestResult(result, locationInContainer.point() - toLayoutSize(adjustedLocation));
- if (!result.addNodeToRectBasedTestResult(generatingNode(), locationInContainer, boundsRect))
+ if (!result.addNodeToRectBasedTestResult(generatingNode(), request, locationInContainer, boundsRect))
return true;
}
Modified: trunk/Source/WebCore/rendering/RenderTable.cpp (127420 => 127421)
--- trunk/Source/WebCore/rendering/RenderTable.cpp 2012-09-03 14:15:03 UTC (rev 127420)
+++ trunk/Source/WebCore/rendering/RenderTable.cpp 2012-09-03 14:41:42 UTC (rev 127421)
@@ -1292,7 +1292,7 @@
LayoutRect boundsRect(adjustedLocation, size());
if (visibleToHitTesting() && (action == HitTestBlockBackground || action == HitTestChildBlockBackground) && locationInContainer.intersects(boundsRect)) {
updateHitTestResult(result, flipForWritingMode(locationInContainer.point() - toLayoutSize(adjustedLocation)));
- if (!result.addNodeToRectBasedTestResult(node(), locationInContainer, boundsRect))
+ if (!result.addNodeToRectBasedTestResult(node(), request, locationInContainer, boundsRect))
return true;
}
Modified: trunk/Source/WebCore/rendering/svg/RenderSVGRoot.cpp (127420 => 127421)
--- trunk/Source/WebCore/rendering/svg/RenderSVGRoot.cpp 2012-09-03 14:15:03 UTC (rev 127420)
+++ trunk/Source/WebCore/rendering/svg/RenderSVGRoot.cpp 2012-09-03 14:41:42 UTC (rev 127421)
@@ -429,7 +429,7 @@
// FIXME: nodeAtFloatPoint() doesn't handle rect-based hit tests yet.
if (child->nodeAtFloatPoint(request, result, localPoint, hitTestAction)) {
updateHitTestResult(result, pointInBorderBox);
- if (!result.addNodeToRectBasedTestResult(child->node(), locationInContainer))
+ if (!result.addNodeToRectBasedTestResult(child->node(), request, locationInContainer))
return true;
}
}
@@ -444,7 +444,7 @@
LayoutRect boundsRect(accumulatedOffset + location(), size());
if (locationInContainer.intersects(boundsRect)) {
updateHitTestResult(result, pointInBorderBox);
- if (!result.addNodeToRectBasedTestResult(node(), locationInContainer, boundsRect))
+ if (!result.addNodeToRectBasedTestResult(node(), request, locationInContainer, boundsRect))
return true;
}
}
Modified: trunk/Source/WebCore/rendering/svg/SVGInlineTextBox.cpp (127420 => 127421)
--- trunk/Source/WebCore/rendering/svg/SVGInlineTextBox.cpp 2012-09-03 14:15:03 UTC (rev 127420)
+++ trunk/Source/WebCore/rendering/svg/SVGInlineTextBox.cpp 2012-09-03 14:41:42 UTC (rev 127421)
@@ -716,7 +716,7 @@
FloatRect rect(boxOrigin, size());
if (locationInContainer.intersects(rect)) {
renderer()->updateHitTestResult(result, locationInContainer.point() - toLayoutSize(accumulatedOffset));
- if (!result.addNodeToRectBasedTestResult(renderer()->node(), locationInContainer, rect))
+ if (!result.addNodeToRectBasedTestResult(renderer()->node(), request, locationInContainer, rect))
return true;
}
}