Bug 261230

Summary: Clean up overlay scrollbar logic on iOS
Product: WebKit Reporter: Simon Fraser (smfr) <simon.fraser>
Component: ScrollingAssignee: Nobody <webkit-unassigned>
Status: NEW    
Severity: Normal CC: simon.fraser, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: Safari 16   
Hardware: Unspecified   
OS: Unspecified   

Simon Fraser (smfr)
Reported 2023-09-06 14:33:55 PDT
iOS has some old #ifdefs, like the one in RenderLayerScrollableArea::showsOverflowControls(), that essentially "turn off" scrollbars in WebCore, since it assumes that they are rendered in the UI process. However, when canUseCompositedScrolling() returns false, like inside SVG <foreignObject>, then the code still tries to paint scrollbars, which does nothing. Instead, we should fix ScrollbarThemeIOS to return true from `usesOverlayScrollbars()` and make the iOS code closer to the macOS UI-side compositing code. Also, at some point, we should support resizes on iOS, which requires that we run code in RenderLayerScrollableArea::paintOverflowControls.
Attachments
Radar WebKit Bug Importer
Comment 1 2023-09-13 14:34:22 PDT
Note You need to log in before you can comment on or make changes to this bug.