Bug 261230 - Clean up overlay scrollbar logic on iOS
Summary: Clean up overlay scrollbar logic on iOS
Status: NEW
Alias: None
Product: WebKit
Classification: Unclassified
Component: Scrolling (show other bugs)
Version: Safari 16
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Nobody
URL:
Keywords: InRadar
Depends on:
Blocks:
 
Reported: 2023-09-06 14:33 PDT by Simon Fraser (smfr)
Modified: 2023-09-13 14:34 PDT (History)
2 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Simon Fraser (smfr) 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.
Comment 1 Radar WebKit Bug Importer 2023-09-13 14:34:22 PDT
<rdar://problem/115450826>