Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 6355462b3a9548b4d9df5a39afc5b4b923b57c95
      
https://github.com/WebKit/WebKit/commit/6355462b3a9548b4d9df5a39afc5b4b923b57c95
  Author: Wenson Hsieh <wenson_hs...@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@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@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
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to