2010-09-12  Robin Qiu  <[email protected]>

        Reviewed by Antonio Gomes.

        https://bugs.webkit.org/show_bug.cgi?id=18768
        Fixed a bug in scroll flow. When we don't have scrollbars, we need to
        repaintFixedElementsAfterScrolling(), sendScrollEvent() ... as well as
        scrollContents();

        * scrollbars/resources/scrollable-iframe.html: Added.
        * scrollbars/scrollevent-iframe-no-scrolling-expected.txt: Added.
        * scrollbars/scrollevent-iframe-no-scrolling-wheel-expected.txt: Added.
        * scrollbars/scrollevent-iframe-no-scrolling-wheel.html: Added.
        * scrollbars/scrollevent-iframe-no-scrolling.html: Added.
2010-09-12  Robin Qiu  <[email protected]>

        Reviewed by Antonio Gomes.

        https://bugs.webkit.org/show_bug.cgi?id=18768
        Fixed a bug in scroll flow. When we don't have scrollbars, we need to
        repaintFixedElementsAfterScrolling(), sendScrollEvent() ... as well as
        scrollContents();

        Tests: scrollbars/scrollevent-iframe-no-scrolling-wheel.html
               scrollbars/scrollevent-iframe-no-scrolling.html

        * page/FrameView.cpp:
        (WebCore::FrameView::valueChanged): Added.
        * page/FrameView.h: Added a new method.
        * platform/ScrollView.cpp:
        (WebCore::ScrollView::valueChanged): Added.
        (WebCore::ScrollView::updateScrollbars):
        * platform/ScrollView.h: Added a new method.

git-svn-id: svn://svn.chromium.org/blink/trunk@67365 bbb929c8-8fbe-4397-9dbb-9b2b20218538
diff --git a/third_party/WebKit/LayoutTests/scrollbars/scrollevent-iframe-no-scrolling.html b/third_party/WebKit/LayoutTests/scrollbars/scrollevent-iframe-no-scrolling.html
new file mode 100644
index 0000000..b7b6435
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/scrollbars/scrollevent-iframe-no-scrolling.html
@@ -0,0 +1,33 @@
+<html>
+    <head>
+        <script>
+            if (window.layoutTestController) {
+                layoutTestController.dumpAsText();
+                layoutTestController.waitUntilDone();
+            }
+            function timeoutFired()
+            {
+                document.getElementById('console').innerHTML = "Scrolled by JavaScript scrollTo(): FAILED";
+                if (window.layoutTestController)
+                    window.layoutTestController.notifyDone();
+            }
+            function scrollEventFired()
+            {
+                document.getElementById('console').innerHTML = "Scrolled by JavaScript scrollTo(): PASS";
+                if (window.layoutTestController)
+                    window.layoutTestController.notifyDone();
+            }
+            function runTest()
+            {
+                window.frames[0].onscroll = scrollEventFired;
+                window.frames[0].scrollTo(0, 50);
+                setTimeout("timeoutFired()", 1000);
+            }
+        </script>
+    </head>
+    <body>
+        <div id="console"></div>
+        <iframe onload="runTest();" scrolling="no" style="width:200px;height:200px;" src="resources/scrollable-iframe.html"> 
+    </body>
+</html>
+