[webkit-changes] [WebKit/WebKit] 960e0d: [iOS] Cannot scroll page by dragging on a bare <vi...

Jer Noble noreply at github.com
Fri Sep 15 15:41:21 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 960e0d109099517acdff834b0f7858b2c9de68d7
      https://github.com/WebKit/WebKit/commit/960e0d109099517acdff834b0f7858b2c9de68d7
  Author: Jer Noble <jer.noble at apple.com>
  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




More information about the webkit-changes mailing list