Multiple Layout Test crashes (ASSERT) on chromium linux debug after r143727
authorallan.jensen@digia.com <allan.jensen@digia.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 22 Feb 2013 16:12:40 +0000 (16:12 +0000)
committerallan.jensen@digia.com <allan.jensen@digia.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 22 Feb 2013 16:12:40 +0000 (16:12 +0000)
https://bugs.webkit.org/show_bug.cgi?id=110609

Reviewed by Antonio Gomes.

Point based hit tests should not append but assign HitTestResults.

* rendering/RenderFrameBase.cpp:
(WebCore::RenderFrameBase::nodeAtPoint):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@143730 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Source/WebCore/ChangeLog
Source/WebCore/rendering/RenderFrameBase.cpp

index b6c683f..eb5cad8 100644 (file)
@@ -1,3 +1,15 @@
+2013-02-22  Allan Sandfeld Jensen  <allan.jensen@digia.com>
+
+        Multiple Layout Test crashes (ASSERT) on chromium linux debug after r143727
+        https://bugs.webkit.org/show_bug.cgi?id=110609
+
+        Reviewed by Antonio Gomes.
+
+        Point based hit tests should not append but assign HitTestResults.
+
+        * rendering/RenderFrameBase.cpp:
+        (WebCore::RenderFrameBase::nodeAtPoint):
+
 2013-02-22  Andrey Lushnikov  <lushnikov@chromium.org>
 
         Web Inspector: show source location after drawer views
index a504d46..c2a26b5 100644 (file)
@@ -121,7 +121,12 @@ bool RenderFrameBase::nodeAtPoint(const HitTestRequest& request, HitTestResult&
         HitTestResult childFrameResult(newHitTestLocation);
 
         bool isInsideChildFrame = childRoot->hitTest(newHitTestRequest, newHitTestLocation, childFrameResult);
-        result.append(childFrameResult);
+
+        if (newHitTestLocation.isRectBasedTest())
+            result.append(childFrameResult);
+        else if (isInsideChildFrame)
+            result = childFrameResult;
+
         if (isInsideChildFrame)
             return true;