[webkit-changes] [WebKit/WebKit] b6a2c8: Some Overlay Regions are missing for fixed elements

Etienne Segonzac noreply at github.com
Wed Feb 28 10:40:02 PST 2024


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: b6a2c84bcb5e069688d976fff1e57953741c7f47
      https://github.com/WebKit/WebKit/commit/b6a2c84bcb5e069688d976fff1e57953741c7f47
  Author: Etienne Segonzac <sgz at apple.com>
  Date:   2024-02-28 (Wed, 28 Feb 2024)

  Changed paths:
    A LayoutTests/overlay-region/overlay-element-expected.txt
    A LayoutTests/overlay-region/overlay-element-overflow-expected.txt
    A LayoutTests/overlay-region/overlay-element-overflow.html
    A LayoutTests/overlay-region/overlay-element.html
    M Source/WebKit/UIProcess/API/ios/WKWebViewIOS.mm

  Log Message:
  -----------
  Some Overlay Regions are missing for fixed elements
https://bugs.webkit.org/show_bug.cgi?id=270224
<rdar://119326797>

Reviewed by Mike Wyrzykowski.

We can't filter Overlay Regions based on size. Instead, when
looking at regions from parent ScrollViews, only keep regions
originating from layers that draw above the selected ScrollView.

* Source/WebKit/UIProcess/API/ios/WKWebViewIOS.mm:
(addOverlayEventRegions):
When traversing fixed layer hierarchies, stop at ScrollView boundaries.
The issue wasn't with solid background colors layers, they don't have
Event Regions. But when a scroller is `position: fixed` we don't want to
generate Overlay Regions for all its descendants (like the scrolled
content layer, which always has an Event Region).
(configureScrollViewWithOverlayRegionsIDs):
(-[WKWebView _updateOverlayRegions:destroyedLayers:]):
Only keep regions from layers that draw above the selected ScrollView.
Remove the size check for Overlay Regions.

* LayoutTests/overlay-region/overlay-element-expected.txt: Added.
* LayoutTests/overlay-region/overlay-element-overflow-expected.txt: Added.
* LayoutTests/overlay-region/overlay-element-overflow.html: Added.
* LayoutTests/overlay-region/overlay-element.html: Added.
Add new test cases for the "full page overlay" scenario.

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