Changeset 170270 in webkit
- Timestamp:
- Jun 22, 2014 11:35:32 AM (10 years ago)
- Location:
- trunk
- Files:
-
- 3 added
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r170267 r170270 1 2014-06-20 Simon Fraser <simon.fraser@apple.com> 2 3 [WK2] Frameset frames are not scrollable after loading (and should be) 4 https://bugs.webkit.org/show_bug.cgi?id=134151 5 <rdar://problem/17403365> 6 7 Reviewed by Dan Bates. 8 9 Frameset test that dumps the scrolling tree. 10 11 * platform/mac-wk2/tiled-drawing/scrolling/frames/frameset-frame-scrollability.html: Added. 12 * platform/mac-wk2/tiled-drawing/scrolling/frames/resources/scrollable-page.html: Added. 13 1 14 2014-06-20 Simon Fraser <simon.fraser@apple.com> 2 15 -
trunk/Source/WebCore/ChangeLog
r170268 r170270 1 2014-06-20 Simon Fraser <simon.fraser@apple.com> 2 3 [WK2] Frameset frames are not scrollable after loading (and should be) 4 https://bugs.webkit.org/show_bug.cgi?id=134151 5 <rdar://problem/17403365> 6 7 Reviewed by Dan Bates. 8 9 When loading a <frameset>, we could end up with an empty non-fast-scrollable 10 region for the main frame, because after the initial frameset document layout, 11 nothing updated the non-fast scrollable region as the subframes added their 12 scrollable areas to the the main frame's scrollable area set. 13 14 Fix by having addScrollableArea() and removeScrollableArea() trigger an update 15 of the non-fast scrollable region. 16 17 Test: platform/mac-wk2/tiled-drawing/scrolling/frames/frameset-frame-scrollability.html 18 19 * page/FrameView.cpp: 20 (WebCore::FrameView::addScrollableArea): 21 (WebCore::FrameView::removeScrollableArea): 22 (WebCore::FrameView::scrollableAreaSetChanged): 23 * page/FrameView.h: 24 1 25 2014-06-22 Commit Queue <commit-queue@webkit.org> 2 26 -
trunk/Source/WebCore/page/FrameView.cpp
r170024 r170270 4046 4046 if (!m_scrollableAreas) 4047 4047 m_scrollableAreas = std::make_unique<ScrollableAreaSet>(); 4048 return m_scrollableAreas->add(scrollableArea).isNewEntry; 4048 4049 if (m_scrollableAreas->add(scrollableArea).isNewEntry) { 4050 scrollableAreaSetChanged(); 4051 return true; 4052 } 4053 4054 return false; 4049 4055 } 4050 4056 4051 4057 bool FrameView::removeScrollableArea(ScrollableArea* scrollableArea) 4052 4058 { 4053 return m_scrollableAreas && m_scrollableAreas->remove(scrollableArea); 4059 if (m_scrollableAreas && m_scrollableAreas->remove(scrollableArea)) { 4060 scrollableAreaSetChanged(); 4061 return true; 4062 } 4063 return false; 4054 4064 } 4055 4065 … … 4057 4067 { 4058 4068 return m_scrollableAreas && m_scrollableAreas->contains(scrollableArea); 4069 } 4070 4071 void FrameView::scrollableAreaSetChanged() 4072 { 4073 if (auto* page = frame().page()) { 4074 if (auto* scrollingCoordinator = page->scrollingCoordinator()) 4075 scrollingCoordinator->frameViewNonFastScrollableRegionChanged(this); 4076 } 4059 4077 } 4060 4078 -
trunk/Source/WebCore/page/FrameView.h
r169852 r170270 594 594 void scrollToAnchor(); 595 595 void scrollPositionChanged(const IntPoint& oldPosition, const IntPoint& newPosition); 596 void scrollableAreaSetChanged(); 596 597 597 598 bool hasCustomScrollbars() const;
Note: See TracChangeset
for help on using the changeset viewer.