Title: [127421] trunk/Source/WebCore
Revision
127421
Author
[email protected]
Date
2012-09-03 07:41:42 -0700 (Mon, 03 Sep 2012)

Log Message

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):

Modified Paths

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;
              }
         }
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to