Skip to content
  • benjamin@webkit.org's avatar
    1f7ed753
    Scrolling with spacebar on a page with fixed header breaks reading flow · 1f7ed753
    benjamin@webkit.org authored
    https://bugs.webkit.org/show_bug.cgi?id=135506
    
    Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-08-28
    Reviewed by Simon Fraser.
    
    Source/WebCore:
    
    When scrolling by page, find the height of any bar that is obscuring the top or bottom of the page,
    and substract that height from the step to scroll.
    
    Tests: scrollbars/scrolling-backward-by-page-accounting-bottom-fixed-elements-on-keyboard-spacebar.html
           scrollbars/scrolling-backward-by-page-on-keyboard-spacebar.html
           scrollbars/scrolling-by-page-accounting-oversized-fixed-elements-on-keyboard-spacebar.html
           scrollbars/scrolling-by-page-accounting-top-fixed-elements-on-keyboard-spacebar.html
           scrollbars/scrolling-by-page-accounting-top-fixed-elements-with-negative-top-on-keyboard-spacebar.html
           scrollbars/scrolling-by-page-ignoring-hidden-fixed-elements-on-keyboard-spacebar.html
           scrollbars/scrolling-by-page-ignoring-transparent-fixed-elements-on-keyboard-spacebar.html
           scrollbars/scrolling-by-page-on-keyboard-spacebar.html
    
    * WebCore.exp.in:
    * page/FrameView.cpp:
    (WebCore::FrameView::adjustScrollStepForFixedContent):
    * page/FrameView.h:
    * platform/ScrollableArea.cpp:
    (WebCore::ScrollableArea::adjustScrollStepForFixedContent):
    (WebCore::ScrollableArea::scroll):
    * platform/ScrollableArea.h:
    
    LayoutTests:
    
    There was pretty much no test coverage for scrolling by page, add some tests.
    
    * fast/events/scrollbar-double-click-expected.txt:
    * platform/mac-wk1/TestExpectations:
    * scrollbars/scrolling-backward-by-page-accounting-bottom-fixed-elements-on-keyboard-spacebar-expected.txt: Added.
    * scrollbars/scrolling-backward-by-page-accounting-bottom-fixed-elements-on-keyboard-spacebar.html: Added.
    * scrollbars/scrolling-backward-by-page-on-keyboard-spacebar-expected.txt: Added.
    * scrollbars/scrolling-backward-by-page-on-keyboard-spacebar.html: Added.
    * scrollbars/scrolling-by-page-accounting-oversized-fixed-elements-on-keyboard-spacebar-expected.txt: Added.
    * scrollbars/scrolling-by-page-accounting-oversized-fixed-elements-on-keyboard-spacebar.html: Added.
    * scrollbars/scrolling-by-page-accounting-top-fixed-elements-on-keyboard-spacebar-expected.txt: Added.
    * scrollbars/scrolling-by-page-accounting-top-fixed-elements-on-keyboard-spacebar.html: Added.
    * scrollbars/scrolling-by-page-accounting-top-fixed-elements-with-negative-top-on-keyboard-spacebar-expected.txt: Added.
    * scrollbars/scrolling-by-page-accounting-top-fixed-elements-with-negative-top-on-keyboard-spacebar.html: Added.
    * scrollbars/scrolling-by-page-ignoring-hidden-fixed-elements-on-keyboard-spacebar-expected.txt: Added.
    * scrollbars/scrolling-by-page-ignoring-hidden-fixed-elements-on-keyboard-spacebar.html: Added.
    * scrollbars/scrolling-by-page-ignoring-transparent-fixed-elements-on-keyboard-spacebar-expected.txt: Added.
    * scrollbars/scrolling-by-page-ignoring-transparent-fixed-elements-on-keyboard-spacebar.html: Added.
    * scrollbars/scrolling-by-page-on-keyboard-spacebar-expected.txt: Added.
    * scrollbars/scrolling-by-page-on-keyboard-spacebar.html: Added.
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@173074 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    1f7ed753
    Scrolling with spacebar on a page with fixed header breaks reading flow
    benjamin@webkit.org authored
    https://bugs.webkit.org/show_bug.cgi?id=135506
    
    Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-08-28
    Reviewed by Simon Fraser.
    
    Source/WebCore:
    
    When scrolling by page, find the height of any bar that is obscuring the top or bottom of the page,
    and substract that height from the step to scroll.
    
    Tests: scrollbars/scrolling-backward-by-page-accounting-bottom-fixed-elements-on-keyboard-spacebar.html
           scrollbars/scrolling-backward-by-page-on-keyboard-spacebar.html
           scrollbars/scrolling-by-page-accounting-oversized-fixed-elements-on-keyboard-spacebar.html
           scrollbars/scrolling-by-page-accounting-top-fixed-elements-on-keyboard-spacebar.html
           scrollbars/scrolling-by-page-accounting-top-fixed-elements-with-negative-top-on-keyboard-spacebar.html
           scrollbars/scrolling-by-page-ignoring-hidden-fixed-elements-on-keyboard-spacebar.html
           scrollbars/scrolling-by-page-ignoring-transparent-fixed-elements-on-keyboard-spacebar.html
           scrollbars/scrolling-by-page-on-keyboard-spacebar.html
    
    * WebCore.exp.in:
    * page/FrameView.cpp:
    (WebCore::FrameView::adjustScrollStepForFixedContent):
    * page/FrameView.h:
    * platform/ScrollableArea.cpp:
    (WebCore::ScrollableArea::adjustScrollStepForFixedContent):
    (WebCore::ScrollableArea::scroll):
    * platform/ScrollableArea.h:
    
    LayoutTests:
    
    There was pretty much no test coverage for scrolling by page, add some tests.
    
    * fast/events/scrollbar-double-click-expected.txt:
    * platform/mac-wk1/TestExpectations:
    * scrollbars/scrolling-backward-by-page-accounting-bottom-fixed-elements-on-keyboard-spacebar-expected.txt: Added.
    * scrollbars/scrolling-backward-by-page-accounting-bottom-fixed-elements-on-keyboard-spacebar.html: Added.
    * scrollbars/scrolling-backward-by-page-on-keyboard-spacebar-expected.txt: Added.
    * scrollbars/scrolling-backward-by-page-on-keyboard-spacebar.html: Added.
    * scrollbars/scrolling-by-page-accounting-oversized-fixed-elements-on-keyboard-spacebar-expected.txt: Added.
    * scrollbars/scrolling-by-page-accounting-oversized-fixed-elements-on-keyboard-spacebar.html: Added.
    * scrollbars/scrolling-by-page-accounting-top-fixed-elements-on-keyboard-spacebar-expected.txt: Added.
    * scrollbars/scrolling-by-page-accounting-top-fixed-elements-on-keyboard-spacebar.html: Added.
    * scrollbars/scrolling-by-page-accounting-top-fixed-elements-with-negative-top-on-keyboard-spacebar-expected.txt: Added.
    * scrollbars/scrolling-by-page-accounting-top-fixed-elements-with-negative-top-on-keyboard-spacebar.html: Added.
    * scrollbars/scrolling-by-page-ignoring-hidden-fixed-elements-on-keyboard-spacebar-expected.txt: Added.
    * scrollbars/scrolling-by-page-ignoring-hidden-fixed-elements-on-keyboard-spacebar.html: Added.
    * scrollbars/scrolling-by-page-ignoring-transparent-fixed-elements-on-keyboard-spacebar-expected.txt: Added.
    * scrollbars/scrolling-by-page-ignoring-transparent-fixed-elements-on-keyboard-spacebar.html: Added.
    * scrollbars/scrolling-by-page-on-keyboard-spacebar-expected.txt: Added.
    * scrollbars/scrolling-by-page-on-keyboard-spacebar.html: Added.
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@173074 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Loading