Changeset 259445 in webkit
- Timestamp:
- Apr 3, 2020 12:04:45 AM (4 years ago)
- Location:
- trunk/Source/WebCore
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r259443 r259445 1 2020-04-03 Simon Fraser <simon.fraser@apple.com> 2 3 Flesh out enclosingScrollableArea() implementations 4 https://bugs.webkit.org/show_bug.cgi?id=209953 5 6 Reviewed by Timothy Hatcher. 7 8 enclosingScrollableArea() is a virtual function on ScrollableArea. It's currently 9 only called in an unused iOS WebKit1 code path, but will soon be used for scroll 10 latching, so flesh out implementations. 11 12 Will be tested by future scroll latching tests. 13 14 * page/FrameView.cpp: 15 (WebCore::FrameView::enclosingScrollableArea const): 16 * rendering/RenderLayer.cpp: 17 (WebCore::RenderLayer::enclosingScrollableArea const): 18 * rendering/RenderListBox.cpp: 19 (WebCore::RenderListBox::enclosingScrollableArea const): 20 1 21 2020-04-02 Simon Fraser <simon.fraser@apple.com> 2 22 -
trunk/Source/WebCore/page/FrameView.cpp
r259335 r259445 3801 3801 ScrollableArea* FrameView::enclosingScrollableArea() const 3802 3802 { 3803 // FIXME: Walk up the frame tree and look for a scrollable parent frame or RenderLayer. 3804 return nullptr; 3803 if (frame().isMainFrame()) 3804 return nullptr; 3805 3806 auto* ownerElement = frame().ownerElement(); 3807 if (!ownerElement) 3808 return nullptr; 3809 3810 auto* ownerRenderer = ownerElement->renderer(); 3811 if (!ownerRenderer) 3812 return nullptr; 3813 3814 auto* layer = ownerRenderer->enclosingLayer(); 3815 if (!layer) 3816 return nullptr; 3817 3818 return layer->enclosingScrollableLayer(IncludeSelfOrNot::IncludeSelf, CrossFrameBoundaries::No); 3805 3819 } 3806 3820 -
trunk/Source/WebCore/rendering/RenderLayer.cpp
r259248 r259445 3599 3599 ScrollableArea* RenderLayer::enclosingScrollableArea() const 3600 3600 { 3601 if ( RenderLayer* scrollableLayer = enclosingScrollableLayer(IncludeSelfOrNot::ExcludeSelf, CrossFrameBoundaries::Yes))3601 if (auto* scrollableLayer = enclosingScrollableLayer(IncludeSelfOrNot::ExcludeSelf, CrossFrameBoundaries::No)) 3602 3602 return scrollableLayer; 3603 3603 3604 // FIXME: We should return the frame view here (or possibly an ancestor frame view, 3605 // if the frame view isn't scrollable. 3606 return nullptr; 3604 return &renderer().view().frameView(); 3607 3605 } 3608 3606 -
trunk/Source/WebCore/rendering/RenderListBox.cpp
r255957 r259445 879 879 ScrollableArea* RenderListBox::enclosingScrollableArea() const 880 880 { 881 // FIXME: Return a RenderLayer that's scrollable. 882 return nullptr; 881 auto* layer = enclosingLayer(); 882 if (!layer) 883 return nullptr; 884 885 return layer->enclosingScrollableLayer(IncludeSelfOrNot::ExcludeSelf, CrossFrameBoundaries::No); 883 886 } 884 887
Note: See TracChangeset
for help on using the changeset viewer.