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>
+