Diff
Modified: trunk/Source/WebCore/ChangeLog (86806 => 86807)
--- trunk/Source/WebCore/ChangeLog 2011-05-19 00:10:38 UTC (rev 86806)
+++ trunk/Source/WebCore/ChangeLog 2011-05-19 00:16:40 UTC (rev 86807)
@@ -1,3 +1,20 @@
+2011-05-18 Emil A Eklund <[email protected]>
+
+ Reviewed by Darin Adler.
+
+ Change RenderTextControl::hitInnerTextElement to use IntPoint
+ https://bugs.webkit.org/show_bug.cgi?id=61003
+
+ 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-05-18 Chris Fleizach <[email protected]>
Reviewed by Maciej Stachowiak.
Modified: trunk/Source/WebCore/rendering/RenderTextControl.cpp (86806 => 86807)
--- trunk/Source/WebCore/rendering/RenderTextControl.cpp 2011-05-19 00:10:38 UTC (rev 86806)
+++ trunk/Source/WebCore/rendering/RenderTextControl.cpp 2011-05-19 00:16:40 UTC (rev 86807)
@@ -465,12 +465,12 @@
RenderBlock::computeLogicalHeight();
}
-void RenderTextControl::hitInnerTextElement(HitTestResult& result, int xPos, int yPos, int tx, int ty)
+void RenderTextControl::hitInnerTextElement(HitTestResult& result, const IntPoint& pointInContainer, int tx, int ty)
{
result.setInnerNode(m_innerText.get());
result.setInnerNonSharedNode(m_innerText.get());
- result.setLocalPoint(IntPoint(xPos - tx - x() - m_innerText->renderBox()->x(),
- yPos - ty - y() - m_innerText->renderBox()->y()));
+ result.setLocalPoint(pointInContainer -
+ IntSize(tx + x() + m_innerText->renderBox()->x(), ty + y() + m_innerText->renderBox()->y()));
}
void RenderTextControl::forwardEvent(Event* event)
Modified: trunk/Source/WebCore/rendering/RenderTextControl.h (86806 => 86807)
--- trunk/Source/WebCore/rendering/RenderTextControl.h 2011-05-19 00:10:38 UTC (rev 86806)
+++ trunk/Source/WebCore/rendering/RenderTextControl.h 2011-05-19 00:16:40 UTC (rev 86807)
@@ -63,7 +63,7 @@
virtual void styleDidChange(StyleDifference, const RenderStyle* oldStyle);
void createSubtreeIfNeeded(TextControlInnerElement* innerBlock);
- void hitInnerTextElement(HitTestResult&, int x, int y, int tx, int ty);
+ void hitInnerTextElement(HitTestResult&, const IntPoint& pointInContainer, int tx, int ty);
void forwardEvent(Event*);
int textBlockWidth() const;
Modified: trunk/Source/WebCore/rendering/RenderTextControlMultiLine.cpp (86806 => 86807)
--- trunk/Source/WebCore/rendering/RenderTextControlMultiLine.cpp 2011-05-19 00:10:38 UTC (rev 86806)
+++ trunk/Source/WebCore/rendering/RenderTextControlMultiLine.cpp 2011-05-19 00:16:40 UTC (rev 86807)
@@ -63,7 +63,7 @@
return false;
if (result.innerNode() == node() || result.innerNode() == innerTextElement())
- hitInnerTextElement(result, pointInContainer.x(), pointInContainer.y(), tx, ty);
+ hitInnerTextElement(result, pointInContainer, tx, ty);
return true;
}
Modified: trunk/Source/WebCore/rendering/RenderTextControlSingleLine.cpp (86806 => 86807)
--- trunk/Source/WebCore/rendering/RenderTextControlSingleLine.cpp 2011-05-19 00:10:38 UTC (rev 86806)
+++ trunk/Source/WebCore/rendering/RenderTextControlSingleLine.cpp 2011-05-19 00:16:40 UTC (rev 86807)
@@ -348,7 +348,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.x(), pointInContainer.y(), tx, ty);
+ hitInnerTextElement(result, pointInContainer, tx, ty);
// If we found a spin button, we're done.
if (m_innerSpinButton && result.innerNode() == m_innerSpinButton)