[webkit-changes] [WebKit/WebKit] 3ee555: REGRESSION (iOS 17): Video bug z-index pointer-eve...

Jer Noble noreply at github.com
Thu Mar 28 15:55:06 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 3ee555da60e64a8fcdadcd1541e66eaeb6763a2f
      https://github.com/WebKit/WebKit/commit/3ee555da60e64a8fcdadcd1541e66eaeb6763a2f
  Author: Jer Noble <jer.noble at apple.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    A LayoutTests/fast/scrolling/ios/video-atop-overflow-scroll-expected.txt
    A LayoutTests/fast/scrolling/ios/video-atop-overflow-scroll.html
    M LayoutTests/platform/ios/TestExpectations
    M Source/WebKit/UIProcess/Cocoa/VideoPresentationManagerProxy.mm

  Log Message:
  -----------
  REGRESSION (iOS 17): Video bug z-index pointer-events doesn't work well
https://bugs.webkit.org/show_bug.cgi?id=265520
rdar://118936715

Reviewed by Eric Carlson.

When a video is placed atop a scrolling element, the hit test machinery walks over the compositing
views that make up the compositing heirarchy, searching for views which are "hit test" targets.
For any view which is a subclass of WKCompositingView, collectDescendantViewsInRect() will query
that view's associated Node to tell if it's a hit test target. Any UIView that is _not_ a subclass
of WKCompositingView is assumed to be a hit-test target unless it specifically opts-out of hit
testing via -isUserInteractionEnabled. The subviews of WKVideoView (itself a subclass of
WKCompositingView) have not opted out of hit testing, so are selected as a hit testing view.

Opt out these utility views by setting their userInteractionEnabled property to NO.

* LayoutTests/fast/scrolling/ios/video-atop-overflow-scroll-expected.txt: Added.
* LayoutTests/fast/scrolling/ios/video-atop-overflow-scroll.html: Added.
* Source/WebKit/UIProcess/Cocoa/VideoPresentationManagerProxy.mm:
(WebKit::VideoPresentationManagerProxy::createLayerHostViewWithID):
(WebKit::VideoPresentationManagerProxy::createViewWithID):

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