Skip to content
  • commit-queue@webkit.org's avatar
    Crash in ScrollAnimator.cpp · f190377e
    commit-queue@webkit.org authored
    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
    f190377e