Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 960e0d109099517acdff834b0f7858b2c9de68d7
      
https://github.com/WebKit/WebKit/commit/960e0d109099517acdff834b0f7858b2c9de68d7
  Author: Jer Noble <[email protected]>
  Date:   2023-09-15 (Fri, 15 Sep 2023)

  Changed paths:
    A LayoutTests/fast/scrolling/ios/video-scrolling-expected.txt
    A LayoutTests/fast/scrolling/ios/video-scrolling.html
    M Source/WebKit/SourcesCocoa.txt
    M Source/WebKit/UIProcess/Cocoa/VideoFullscreenManagerProxy.h
    M Source/WebKit/UIProcess/Cocoa/VideoFullscreenManagerProxy.mm
    M Source/WebKit/UIProcess/RemoteLayerTree/ios/RemoteLayerTreeHostIOS.mm
    A Source/WebKit/UIProcess/ios/WKVideoView.h
    A Source/WebKit/UIProcess/ios/WKVideoView.mm
    M Source/WebKit/WebKit.xcodeproj/project.pbxproj

  Log Message:
  -----------
  [iOS] Cannot scroll page by dragging on a bare <video> element
https://bugs.webkit.org/show_bug.cgi?id=261563
rdar://114720841

Reviewed by Simon Fraser.

The UI-side compositing subsystem relies on UIViews of particular classes or 
conforming to
particular protocols for collecting the appropriate views during hit testing. 
WebAVPlayerLayerView
is not one of those clasess, nor can it conform to the protocols defined in 
WebKit (as it's a
product of WebCore). So to the hit testing logic of UI-side compositing, it's a 
black hole.

Add a new class, WKVideoView, which is a WKCompositingView as well as 
WKNativelyInteractible, to
host the WebAVPlayerLayerView.

* Source/WebKit/SourcesCocoa.txt:
* Source/WebKit/UIProcess/Cocoa/VideoFullscreenManagerProxy.h:
* Source/WebKit/UIProcess/Cocoa/VideoFullscreenManagerProxy.mm:
(WebKit::VideoFullscreenManagerProxy::createViewWithID):
* Source/WebKit/UIProcess/RemoteLayerTree/ios/RemoteLayerTreeHostIOS.mm:
* Source/WebKit/UIProcess/ios/WKVideoView.h: Added.
* Source/WebKit/UIProcess/ios/WKVideoView.mm: Added.
(+[WKVideoView layerClass]):
(-[WKVideoView hitTest:withEvent:]):
* Source/WebKit/WebKit.xcodeproj/project.pbxproj:

Canonical link: https://commits.webkit.org/268041@main


_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to