Title: [88251] trunk/Source/WebCore
Revision
88251
Author
[email protected]
Date
2011-06-07 11:58:22 -0700 (Tue, 07 Jun 2011)

Log Message

2011-06-07  Emil A Eklund  <[email protected]>

        Reviewed by Eric Seidel.

        Convert RenderTextControl::hitInnerTextElement to IntPoint
        https://bugs.webkit.org/show_bug.cgi?id=62167

        Covered by existing tests.

        * rendering/RenderTextControl.cpp:
        (WebCore::RenderTextControl::hitInnerTextElement):
        * rendering/RenderTextControl.h:
        * rendering/RenderTextControlMultiLine.cpp:
        (WebCore::RenderTextControlMultiLine::nodeAtPoint):
        * rendering/RenderTextControlSingleLine.cpp:
        (WebCore::RenderTextControlSingleLine::nodeAtPoint):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (88250 => 88251)


--- trunk/Source/WebCore/ChangeLog	2011-06-07 18:56:41 UTC (rev 88250)
+++ trunk/Source/WebCore/ChangeLog	2011-06-07 18:58:22 UTC (rev 88251)
@@ -1,3 +1,20 @@
+2011-06-07  Emil A Eklund  <[email protected]>
+
+        Reviewed by Eric Seidel.
+
+        Convert RenderTextControl::hitInnerTextElement to IntPoint
+        https://bugs.webkit.org/show_bug.cgi?id=62167
+
+        Covered by existing tests.
+
+        * rendering/RenderTextControl.cpp:
+        (WebCore::RenderTextControl::hitInnerTextElement):
+        * rendering/RenderTextControl.h:
+        * rendering/RenderTextControlMultiLine.cpp:
+        (WebCore::RenderTextControlMultiLine::nodeAtPoint):
+        * rendering/RenderTextControlSingleLine.cpp:
+        (WebCore::RenderTextControlSingleLine::nodeAtPoint):
+
 2011-06-07  Levi Weintraub  <[email protected]>
 
         Reviewed by Eric Seidel.

Modified: trunk/Source/WebCore/rendering/RenderTextControl.cpp (88250 => 88251)


--- trunk/Source/WebCore/rendering/RenderTextControl.cpp	2011-06-07 18:56:41 UTC (rev 88250)
+++ trunk/Source/WebCore/rendering/RenderTextControl.cpp	2011-06-07 18:58:22 UTC (rev 88251)
@@ -449,13 +449,13 @@
     RenderBlock::computeLogicalHeight();
 }
 
-void RenderTextControl::hitInnerTextElement(HitTestResult& result, const IntPoint& pointInContainer, int tx, int ty)
+void RenderTextControl::hitInnerTextElement(HitTestResult& result, const IntPoint& pointInContainer, const IntPoint& accumulatedOffset)
 {
+    IntPoint adjustedLocation = accumulatedOffset + location();
     HTMLElement* innerText = innerTextElement();
     result.setInnerNode(innerText);
     result.setInnerNonSharedNode(innerText);
-    result.setLocalPoint(pointInContainer -
-        IntSize(tx + x() + innerText->renderBox()->x(), ty + y() + innerText->renderBox()->y()));
+    result.setLocalPoint(pointInContainer - toSize(adjustedLocation + innerText->renderBox()->location()));
 }
 
 void RenderTextControl::forwardEvent(Event* event)

Modified: trunk/Source/WebCore/rendering/RenderTextControl.h (88250 => 88251)


--- trunk/Source/WebCore/rendering/RenderTextControl.h	2011-06-07 18:56:41 UTC (rev 88250)
+++ trunk/Source/WebCore/rendering/RenderTextControl.h	2011-06-07 18:58:22 UTC (rev 88251)
@@ -63,7 +63,7 @@
 
     virtual void styleDidChange(StyleDifference, const RenderStyle* oldStyle);
 
-    void hitInnerTextElement(HitTestResult&, const IntPoint& pointInContainer, int tx, int ty);
+    void hitInnerTextElement(HitTestResult&, const IntPoint& pointInContainer, const IntPoint& accumulatedOffset);
     void forwardEvent(Event*);
 
     int textBlockWidth() const;

Modified: trunk/Source/WebCore/rendering/RenderTextControlMultiLine.cpp (88250 => 88251)


--- trunk/Source/WebCore/rendering/RenderTextControlMultiLine.cpp	2011-06-07 18:56:41 UTC (rev 88250)
+++ trunk/Source/WebCore/rendering/RenderTextControlMultiLine.cpp	2011-06-07 18:58:22 UTC (rev 88251)
@@ -70,7 +70,7 @@
         return false;
 
     if (result.innerNode() == node() || result.innerNode() == innerTextElement())
-        hitInnerTextElement(result, pointInContainer, tx, ty);
+        hitInnerTextElement(result, pointInContainer, IntPoint(tx, ty));
 
     return true;
 }

Modified: trunk/Source/WebCore/rendering/RenderTextControlSingleLine.cpp (88250 => 88251)


--- trunk/Source/WebCore/rendering/RenderTextControlSingleLine.cpp	2011-06-07 18:56:41 UTC (rev 88250)
+++ trunk/Source/WebCore/rendering/RenderTextControlSingleLine.cpp	2011-06-07 18:58:22 UTC (rev 88251)
@@ -342,7 +342,7 @@
     // and if we hit our node (e.g. we're over the border or padding), also say that we hit the
     // inner text element so that it gains focus.
     if (result.innerNode()->isDescendantOf(innerTextElement()) || result.innerNode() == node())
-        hitInnerTextElement(result, pointInContainer, tx, ty);
+        hitInnerTextElement(result, pointInContainer, IntPoint(tx, ty));
 
     // If we found a spin button, we're done.
     HTMLElement* innerSpinButton = innerSpinButtonElement();
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to