Changeset 130692 in webkit
- Timestamp:
- Oct 8, 2012, 3:15:44 PM (14 years ago)
- Location:
- trunk/Source
- Files:
-
- 1 added
- 4 edited
-
WebCore/ChangeLog (modified) (1 diff)
-
WebCore/rendering/RenderLayer.cpp (modified) (2 diffs)
-
WebKit/chromium/ChangeLog (modified) (1 diff)
-
WebKit/chromium/tests/ScrollingCoordinatorChromiumTest.cpp (modified) (1 diff)
-
WebKit/chromium/tests/data/clipped-body.html (added)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r130689 r130692 1 2012-10-08 Sami Kyostila <skyostil@chromium.org> 2 3 Some non-scrollable elements are added to non-fast-scrollable region 4 https://bugs.webkit.org/show_bug.cgi?id=97927 5 6 Reviewed by James Robinson. 7 8 Only RenderLayers that can actually be scrolled should be added to the 9 ScrollingCoordinator's non-fast scrollable region. Otherwise we may 10 needlessly fall back to main thread scrolling. 11 12 Test: ScrollingCoordinatorChromiumTest.clippedBodyTest 13 14 * rendering/RenderLayer.cpp: 15 (WebCore::RenderLayer::updateScrollbarsAfterLayout): 16 (WebCore::RenderLayer::updateScrollbarsAfterStyleChange): 17 1 18 2012-10-08 Simon Fraser <simon.fraser@apple.com> 2 19 -
trunk/Source/WebCore/rendering/RenderLayer.cpp
r130612 r130692 2630 2630 } 2631 2631 2632 updateScrollableAreaSet((hasHorizontalOverflow || hasVerticalOverflow) && scrollsOverflow() );2632 updateScrollableAreaSet((hasHorizontalOverflow || hasVerticalOverflow) && scrollsOverflow() && allowsScrolling()); 2633 2633 } 2634 2634 … … 4848 4848 4849 4849 if (!m_scrollDimensionsDirty) 4850 updateScrollableAreaSet((hasHorizontalOverflow() || hasVerticalOverflow()) && scrollsOverflow() );4850 updateScrollableAreaSet((hasHorizontalOverflow() || hasVerticalOverflow()) && scrollsOverflow() && allowsScrolling()); 4851 4851 } 4852 4852 -
trunk/Source/WebKit/chromium/ChangeLog
r130691 r130692 1 2012-10-08 Sami Kyostila <skyostil@chromium.org> 2 3 Some non-scrollable elements are added to non-fast-scrollable region 4 https://bugs.webkit.org/show_bug.cgi?id=97927 5 6 Reviewed by James Robinson. 7 8 Test that a non-scrollable RenderLayer isn't added to the non-fast scrollable 9 region. 10 11 The test in this patch consists of a web page where both the html and 12 body elements clip horizontal overflow. This results in a hierarchy 13 where the body element gets a scrollable RenderLayer. However, that 14 layer isn't (interactively) scrollable because while the scroll geometry 15 is calculated based on the amount of overflow, the scroll bars are 16 hidden because of the "overflow-x: hidden" style. 17 18 Previously this layer would have made the entire page part of the 19 non-fast scrollable region. With this patch, 20 RenderLayer::allowScrolling() is used as a pre-requisite for expanding 21 the region, thus avoiding the problem. 22 23 * tests/ScrollingCoordinatorChromiumTest.cpp: 24 (WebKit::TEST_F): 25 (WebKit): 26 * tests/data/clipped-body.html: Added. 27 1 28 2012-10-08 Sailesh Agrawal <sail@chromium.org> 2 29 -
trunk/Source/WebKit/chromium/tests/ScrollingCoordinatorChromiumTest.cpp
r129225 r130692 184 184 } 185 185 186 TEST_F(ScrollingCoordinatorChromiumTest, clippedBodyTest) 187 { 188 registerMockedHttpURLLoad("clipped-body.html"); 189 navigateTo(m_baseURL + "clipped-body.html"); 190 191 WebLayer* rootScrollLayer = getRootScrollLayer(); 192 ASSERT_EQ(0u, rootScrollLayer->nonFastScrollableRegion().size()); 193 } 194 186 195 #if ENABLE(ACCELERATED_OVERFLOW_SCROLLING) 187 196 TEST_F(ScrollingCoordinatorChromiumTest, touchOverflowScrolling)
Note:
See TracChangeset
for help on using the changeset viewer.