Crash in ScrollAnimator.cpp
https://bugs.webkit.org/show_bug.cgi?id=69865
The code in ScrollAnimator assumes that horizontal per-page mouse
wheel events cannot happen, which is not true. This patch adds layout
tests for all paging wheel event situations and fixes the broken
horizontal case.
Source/WebCore:
Patch by Stephen Chenney <schenney@chromium.org> on 2011-11-04
Reviewed by Anders Carlsson
Tests: fast/events/platform-wheelevent-paging-x-in-non-scrolling-div.html
fast/events/platform-wheelevent-paging-x-in-non-scrolling-page.html
fast/events/platform-wheelevent-paging-x-in-scrolling-div.html
fast/events/platform-wheelevent-paging-x-in-scrolling-page.html
fast/events/platform-wheelevent-paging-xy-in-scrolling-div.html
fast/events/platform-wheelevent-paging-xy-in-scrolling-page.html
fast/events/platform-wheelevent-paging-y-in-non-scrolling-div.html
fast/events/platform-wheelevent-paging-y-in-non-scrolling-page.html
fast/events/platform-wheelevent-paging-y-in-scrolling-div.html
fast/events/platform-wheelevent-paging-y-in-scrolling-page.html
* platform/PlatformWheelEvent.h: Modify the comment to reflect the new
reality.
* platform/ScrollAnimator.cpp:
(WebCore::ScrollAnimator::handleWheelEvent): Modified the code to handle the
horizontal per-page wheel event case.
Tools:
Patch by Stephen Chenney <schenney@chromium.org> on 2011-11-04
Reviewed by Anders Carlsson
* DumpRenderTree/chromium/EventSender.cpp:
(EventSender::handleMouseWheel): Added the ability to specify that a
mouse wheel event should be paging.
LayoutTests:
Patch by Stephen Chenney <schenney@chromium.org> on 2011-11-04
Reviewed by Anders Carlsson
* fast/events/platform-wheelevent-paging-x-in-non-scrolling-div-expected.txt: Added.
* fast/events/platform-wheelevent-paging-x-in-non-scrolling-div.html: Added.
* fast/events/platform-wheelevent-paging-x-in-non-scrolling-page-expected.txt: Added.
* fast/events/platform-wheelevent-paging-x-in-non-scrolling-page.html: Added.
* fast/events/platform-wheelevent-paging-x-in-scrolling-div-expected.txt: Added.
* fast/events/platform-wheelevent-paging-x-in-scrolling-div.html: Added.
* fast/events/platform-wheelevent-paging-x-in-scrolling-page-expected.txt: Added.
* fast/events/platform-wheelevent-paging-x-in-scrolling-page.html: Added.
* fast/events/platform-wheelevent-paging-xy-in-scrolling-div-expected.txt: Added.
* fast/events/platform-wheelevent-paging-xy-in-scrolling-div.html: Added.
* fast/events/platform-wheelevent-paging-xy-in-scrolling-page-expected.txt: Added.
* fast/events/platform-wheelevent-paging-xy-in-scrolling-page.html: Added.
* fast/events/platform-wheelevent-paging-y-in-non-scrolling-div-expected.txt: Added.
* fast/events/platform-wheelevent-paging-y-in-non-scrolling-div.html: Added.
* fast/events/platform-wheelevent-paging-y-in-non-scrolling-page-expected.txt: Added.
* fast/events/platform-wheelevent-paging-y-in-non-scrolling-page.html: Added.
* fast/events/platform-wheelevent-paging-y-in-scrolling-div-expected.txt: Added.
* fast/events/platform-wheelevent-paging-y-in-scrolling-div.html: Added.
* fast/events/platform-wheelevent-paging-y-in-scrolling-page-expected.txt: Added.
* fast/events/platform-wheelevent-paging-y-in-scrolling-page.html: Added.
* platform/chromium-mac/fast/events/platform-wheelevent-paging-x-in-scrolling-page-expected.txt: Added.
* platform/chromium-mac/fast/events/platform-wheelevent-paging-xy-in-scrolling-page-expected.txt: Added.
* platform/chromium-mac/fast/events/platform-wheelevent-paging-y-in-scrolling-page-expected.txt: Added.
* platform/mac/Skipped: Added skip for the new tests, as the platform
does not support it.
* platform/win/Skipped: Added skip for the new tests, as the platform
does not support it.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@99339 268f45cc-cd09-0410-ab3c-d52691b4dbfc
31 files changed