[webkit-changes] [WebKit/WebKit] 91675a: [iOS] Clipping fails in position: relative; text f...

Wenson Hsieh noreply at github.com
Thu Oct 3 20:34:17 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 91675a20f98f106e9ae7313d58d459bbdbdb5f3d
      https://github.com/WebKit/WebKit/commit/91675a20f98f106e9ae7313d58d459bbdbdb5f3d
  Author: Wenson Hsieh <wenson_hsieh at apple.com>
  Date:   2024-10-03 (Thu, 03 Oct 2024)

  Changed paths:
    A LayoutTests/editing/selection/ios/selection-clip-in-position-relative-text-field-expected.txt
    A LayoutTests/editing/selection/ios/selection-clip-in-position-relative-text-field.html
    M LayoutTests/editing/selection/ios/selection-hit-testing-in-overflow-scroller.html
    M Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm

  Log Message:
  -----------
  [iOS] Clipping fails in position: relative; text fields when SelectionHonorsOverflowScrolling is enabled
https://bugs.webkit.org/show_bug.cgi?id=280863
rdar://137243937

Reviewed by Aditya Keerthi.

It's possible for a scrollable `RenderBox` (i.e. `canBeScrolledAndHasScrollableArea()` is `true`) to
not have a `ScrollableArea`. In this case, we currently bail from the ancestor walk altogether;
however, this means we could potentially miss a scrolling node that's further up the render tree.

Fix this by continuing on to the next scroller, rather than breaking from the for loop entirely
during this traversal.

* LayoutTests/editing/selection/ios/selection-clip-in-position-relative-text-field-expected.txt: Added.
* LayoutTests/editing/selection/ios/selection-clip-in-position-relative-text-field.html: Added.

Add a layout test to exercise the change.

* LayoutTests/editing/selection/ios/selection-hit-testing-in-overflow-scroller.html:

Drive-by fix: delete a redundant `querySelector` call.

* Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::forEachEnclosingScroller):
(WebKit::WebPage::computeSelectionClipRectAndEnclosingScroller const):

Canonical link: https://commits.webkit.org/284659@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