[webkit-changes] [WebKit/WebKit] 635546: [iPad] scribd.com: Selection handles are missing a...
Wenson Hsieh
noreply at github.com
Tue Jan 28 07:51:45 PST 2025
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 6355462b3a9548b4d9df5a39afc5b4b923b57c95
https://github.com/WebKit/WebKit/commit/6355462b3a9548b4d9df5a39afc5b4b923b57c95
Author: Wenson Hsieh <wenson_hsieh at apple.com>
Date: 2025-01-28 (Tue, 28 Jan 2025)
Changed paths:
A LayoutTests/editing/selection/ios/do-not-hide-selection-in-non-editable-visible-container-2-expected.txt
A LayoutTests/editing/selection/ios/do-not-hide-selection-in-non-editable-visible-container-2.html
M Source/WebCore/rendering/RenderObject.h
M Source/WebKit/WebProcess/WebPage/Cocoa/WebPageCocoa.mm
M Source/WebKit/WebProcess/WebPage/WebPage.h
Log Message:
-----------
[iPad] scribd.com: Selection handles are missing after selecting text across multiple lines
https://bugs.webkit.org/show_bug.cgi?id=286595
rdar://143720155
Reviewed by Abrar Rahman Protyasha.
Make another adjustment to the "hidden selection" heuristic after 289369 at main. In the case where:
- There's a parent renderer that is out-of-flow, empty (zero width or zero height), and the
nearest common ancestor of both selection endpoints.
- The selection endpoints are both out-of-flow as well, but are visible (non-zero width and
height).
…we'll currently (incorrectly) treat the selection as hidden. Mitigate this by relaxing the
conditions for this heuristic, such that _both_ selection endpoints must be hidden, in order for
this codepath to kick in.
This allows us to keep the native selection in iCloud Pages hidden (285925 at main), but still show the
default selection highlight and handles in the case of Scribd.
* LayoutTests/editing/selection/ios/do-not-hide-selection-in-non-editable-visible-container-2-expected.txt: Added.
* LayoutTests/editing/selection/ios/do-not-hide-selection-in-non-editable-visible-container-2.html: Added.
Add another layout test to exercise this case.
* Source/WebCore/rendering/RenderObject.h:
* Source/WebKit/WebProcess/WebPage/Cocoa/WebPageCocoa.mm:
(WebKit::rendererIsTransparentOrFullyClipped):
(WebKit::WebPage::isTransparentOrFullyClipped const):
(WebKit::selectionIsTransparentOrFullyClipped):
(WebKit::WebPage::getPlatformEditorStateCommon const):
(WebKit::closestCommonContainerInRenderTree): Deleted.
* Source/WebKit/WebProcess/WebPage/WebPage.h:
Canonical link: https://commits.webkit.org/289453@main
To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications
More information about the webkit-changes
mailing list