+2011-04-09 Jon Lee <jonlee@apple.com>
+
+ Reviewed by Beth Dakin.
+
+ Overlay scrollbar flashes in scrollable <textarea> with each keystroke (58180)
+ https://bugs.webkit.org/show_bug.cgi?id=58180
+ <rdar://problem/9047984>
+
+ * platform/mac/ScrollAnimatorMac.mm:
+ (WebCore::ScrollAnimatorMac::immediateScrollToPoint): Check that there is a change before submitting
+ (WebCore::ScrollAnimatorMac::immediateScrollByDeltaX):
+ (WebCore::ScrollAnimatorMac::immediateScrollByDeltaY):
+
2011-04-09 Sreeram Ramachandran <sreeram@google.com>
Reviewed by Ryosuke Niwa.
{
FloatPoint adjustedPosition = adjustScrollPositionIfNecessary(newPosition);
+ if (adjustedPosition.x() == m_currentPosX && adjustedPosition.y() == m_currentPosY)
+ return;
+
m_currentPosX = adjustedPosition.x();
m_currentPosY = adjustedPosition.y();
notityPositionChanged();
void ScrollAnimatorMac::immediateScrollByDeltaX(float deltaX)
{
- m_currentPosX = adjustScrollXPositionIfNecessary(m_currentPosX + deltaX);
+ float newPosX = adjustScrollXPositionIfNecessary(m_currentPosX + deltaX);
+
+ if (newPosX == m_currentPosX)
+ return;
+
+ m_currentPosX = newPosX;
notityPositionChanged();
}
void ScrollAnimatorMac::immediateScrollByDeltaY(float deltaY)
{
- m_currentPosY = adjustScrollYPositionIfNecessary(m_currentPosY + deltaY);
+ float newPosY = adjustScrollYPositionIfNecessary(m_currentPosY + deltaY);
+
+ if (newPosY == m_currentPosY)
+ return;
+
+ m_currentPosY = newPosY;
notityPositionChanged();
}