Changeset 172365 in webkit


Ignore:
Timestamp:
Aug 8, 2014 4:24:02 PM (10 years ago)
Author:
Simon Fraser
Message:

[WK2] Scrolling does not work inside nested frames
https://bugs.webkit.org/show_bug.cgi?id=135775
<rdar://problem/17959896>

Reviewed by Tim Horton.

Source/WebCore:

r169733 added an "isMainFrame" check in AsyncScrollingCoordinator::frameViewNonFastScrollableRegionChanged.
However we have to rebuild the non-fast-scrollable region when any subframe changes,
even a deeply nested one. So always rebuild it, starting from the root frame.

Fixes scrolling on nested framesets like http://www.opengl.org/sdk/docs/man3/.

Test: platform/mac-wk2/tiled-drawing/scrolling/frames/frameset-nested-frame-scrollability.html

  • page/scrolling/AsyncScrollingCoordinator.cpp:

(WebCore::AsyncScrollingCoordinator::frameViewNonFastScrollableRegionChanged):

LayoutTests:

Nested frameset test that dumps the scrolling tree.

  • platform/mac-wk2/tiled-drawing/scrolling/frames/frameset-nested-frame-scrollability-expected.txt: Added.
  • platform/mac-wk2/tiled-drawing/scrolling/frames/frameset-nested-frame-scrollability.html: Added.
  • platform/mac-wk2/tiled-drawing/scrolling/frames/resources/frameset-frame.html: Added.
Location:
trunk
Files:
3 added
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r172351 r172365  
     12014-08-08  Simon Fraser  <simon.fraser@apple.com>
     2
     3        [WK2] Scrolling does not work inside nested frames
     4        https://bugs.webkit.org/show_bug.cgi?id=135775
     5        <rdar://problem/17959896>
     6
     7        Reviewed by Tim Horton.
     8       
     9        Nested frameset test that dumps the scrolling tree.
     10
     11        * platform/mac-wk2/tiled-drawing/scrolling/frames/frameset-nested-frame-scrollability-expected.txt: Added.
     12        * platform/mac-wk2/tiled-drawing/scrolling/frames/frameset-nested-frame-scrollability.html: Added.
     13        * platform/mac-wk2/tiled-drawing/scrolling/frames/resources/frameset-frame.html: Added.
     14
    1152014-08-07  Roger Fong  <roger_fong@apple.com>
    216
  • trunk/Source/WebCore/ChangeLog

    r172357 r172365  
     12014-08-08  Simon Fraser  <simon.fraser@apple.com>
     2
     3        [WK2] Scrolling does not work inside nested frames
     4        https://bugs.webkit.org/show_bug.cgi?id=135775
     5        <rdar://problem/17959896>
     6
     7        Reviewed by Tim Horton.
     8       
     9        r169733 added an "isMainFrame" check in AsyncScrollingCoordinator::frameViewNonFastScrollableRegionChanged.
     10        However we have to rebuild the non-fast-scrollable region when any subframe changes,
     11        even a deeply nested one. So always rebuild it, starting from the root frame.
     12       
     13        Fixes scrolling on nested framesets like http://www.opengl.org/sdk/docs/man3/.
     14
     15        Test: platform/mac-wk2/tiled-drawing/scrolling/frames/frameset-nested-frame-scrollability.html
     16
     17        * page/scrolling/AsyncScrollingCoordinator.cpp:
     18        (WebCore::AsyncScrollingCoordinator::frameViewNonFastScrollableRegionChanged):
     19
    1202014-08-08  Bem Jones-Bey  <bjonesbe@adobe.com>
    221
  • trunk/Source/WebCore/page/scrolling/AsyncScrollingCoordinator.cpp

    r171370 r172365  
    109109}
    110110
    111 void AsyncScrollingCoordinator::frameViewNonFastScrollableRegionChanged(FrameView* frameView)
     111void AsyncScrollingCoordinator::frameViewNonFastScrollableRegionChanged(FrameView*)
    112112{
    113113    if (!m_scrollingStateTree->rootStateNode())
    114114        return;
    115115
    116     if (frameView->frame().isMainFrame())
    117         m_scrollingStateTree->rootStateNode()->setNonFastScrollableRegion(computeNonFastScrollableRegion(&frameView->frame(), IntPoint()));
     116    m_scrollingStateTree->rootStateNode()->setNonFastScrollableRegion(computeNonFastScrollableRegion(&m_page->mainFrame(), IntPoint()));
    118117}
    119118
Note: See TracChangeset for help on using the changeset viewer.