Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: a89e5daa466bf4e8e3bc61ac1208ef6019465133
https://github.com/WebKit/WebKit/commit/a89e5daa466bf4e8e3bc61ac1208ef6019465133
Author: Joanne Pan <[email protected]>
Date: 2026-05-22 (Fri, 22 May 2026)
Changed paths:
M Source/WebCore/page/Quirks.cpp
M Source/WebCore/page/Quirks.h
M Source/WebCore/page/QuirksData.h
M Source/WebKit/Shared/EditorState.h
M Source/WebKit/Shared/EditorState.serialization.in
M Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm
M Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm
Log Message:
-----------
claude.com: Selection highlight in the search field moves up as you scroll
the page on iPhone
https://bugs.webkit.org/show_bug.cgi?id=314856
rdar://171039225
Reviewed by Wenson Hsieh.
The problem: claude.ai's chat input is a position:sticky contenteditable
inside an overflow:auto scroller. The selection markers are positioned in
root view coordinates that get computed when the EditorState snapshot is
taken, and EditorState updates are throttled during an active overflow scroll.
So during scroll the markers are drawn against stale coordinates while
the underlying text is at a fresh sticky position. Thus we see the visible
drift in the chat input.
The fix: A quirk for claude.ai and claude.com
that forces _shouldHideSelectionDuringOverflowScroll: to return YES.
That's the existing mechanism for masking scroll window staleness.
This pattern (sticky positioned editable inside an overflow scroller)
could allude a broader WebKit issue around how selection markers track during
scroll. However, that would warrant its own investigation, a follow up will
be filed.
* Source/WebCore/page/Quirks.cpp:
* Source/WebCore/page/Quirks.h:
* Source/WebCore/page/QuirksData.h:
* Source/WebKit/Shared/EditorState.h:
* Source/WebKit/Shared/EditorState.serialization.in:
* Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView _shouldHideSelectionDuringOverflowScroll:]):
* Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::getPlatformEditorState const):
Canonical link: https://commits.webkit.org/313739@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications