Title: [124964] branches/safari-536.26-branch/Source/WebCore

Diff

Modified: branches/safari-536.26-branch/Source/WebCore/ChangeLog (124963 => 124964)


--- branches/safari-536.26-branch/Source/WebCore/ChangeLog	2012-08-08 01:22:11 UTC (rev 124963)
+++ branches/safari-536.26-branch/Source/WebCore/ChangeLog	2012-08-08 01:23:18 UTC (rev 124964)
@@ -1,5 +1,23 @@
 2012-08-07  Lucas Forschler  <lforsch...@apple.com>
 
+    Merge 124714
+
+    2012-08-04  Dan Bernstein  <m...@apple.com>
+
+            <rdar://problem/11875795> REGRESSION (tiled drawing): Page’s scroll bars flash with each character you type in a textarea (affects Wikipedia and YouTube)
+            https://bugs.webkit.org/show_bug.cgi?id=91348
+
+            Reviewed by Andy Estes.
+
+            * platform/ScrollableArea.cpp:
+            (WebCore::ScrollableArea::scrollPositionChanged): Changed to call notifyContentAreaScrolled()
+            only if the scroll position after the change differs from what it was before the change.
+            * rendering/RenderListBox.cpp:
+            (WebCore::RenderListBox::scrollPosition): Added an override of this ScrollableArea function.
+            * rendering/RenderListBox.h:
+
+2012-08-07  Lucas Forschler  <lforsch...@apple.com>
+
     Merge 124510
 
     2012-08-02  Oliver Hunt  <oli...@apple.com>

Modified: branches/safari-536.26-branch/Source/WebCore/platform/ScrollableArea.cpp (124963 => 124964)


--- branches/safari-536.26-branch/Source/WebCore/platform/ScrollableArea.cpp	2012-08-08 01:22:11 UTC (rev 124963)
+++ branches/safari-536.26-branch/Source/WebCore/platform/ScrollableArea.cpp	2012-08-08 01:23:18 UTC (rev 124964)
@@ -141,6 +141,7 @@
 
 void ScrollableArea::scrollPositionChanged(const IntPoint& position)
 {
+    IntPoint oldPosition = scrollPosition();
     // Tell the derived class to scroll its contents.
     setScrollOffset(position);
 
@@ -167,7 +168,8 @@
             verticalScrollbar->invalidate();
     }
 
-    scrollAnimator()->notifyContentAreaScrolled();
+    if (scrollPosition() != oldPosition)
+        scrollAnimator()->notifyContentAreaScrolled();
 }
 
 bool ScrollableArea::handleWheelEvent(const PlatformWheelEvent& wheelEvent)

Modified: branches/safari-536.26-branch/Source/WebCore/rendering/RenderListBox.cpp (124963 => 124964)


--- branches/safari-536.26-branch/Source/WebCore/rendering/RenderListBox.cpp	2012-08-08 01:22:11 UTC (rev 124963)
+++ branches/safari-536.26-branch/Source/WebCore/rendering/RenderListBox.cpp	2012-08-08 01:23:18 UTC (rev 124964)
@@ -621,6 +621,11 @@
     scrollTo(offset.y());
 }
 
+IntPoint RenderListBox::scrollPosition() const
+{
+    return IntPoint(0, m_indexOffset);
+}
+
 void RenderListBox::scrollTo(int newOffset)
 {
     if (newOffset == m_indexOffset)

Modified: branches/safari-536.26-branch/Source/WebCore/rendering/RenderListBox.h (124963 => 124964)


--- branches/safari-536.26-branch/Source/WebCore/rendering/RenderListBox.h	2012-08-08 01:22:11 UTC (rev 124963)
+++ branches/safari-536.26-branch/Source/WebCore/rendering/RenderListBox.h	2012-08-08 01:23:18 UTC (rev 124964)
@@ -100,6 +100,7 @@
     virtual int scrollSize(ScrollbarOrientation) const;
     virtual int scrollPosition(Scrollbar*) const;
     virtual void setScrollOffset(const IntPoint&);
+    virtual IntPoint scrollPosition() const OVERRIDE;
     virtual void invalidateScrollbarRect(Scrollbar*, const IntRect&);
     virtual bool isActive() const;
     virtual bool isScrollCornerVisible() const { return false; } // We don't support resize on list boxes yet. If we did these would have to change.
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to