[webkit-changes] [WebKit/WebKit] 8e09f2: REGRESSION(??): Clicking ‘Next Episode’ on Netflix...

Jer Noble noreply at github.com
Wed Jun 7 14:55:06 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 8e09f28bc0dfe61e8c4b1b4a41d49801f479358c
      https://github.com/WebKit/WebKit/commit/8e09f28bc0dfe61e8c4b1b4a41d49801f479358c
  Author: Jer Noble <jer.noble at apple.com>
  Date:   2023-06-07 (Wed, 07 Jun 2023)

  Changed paths:
    M Source/WebKit/UIProcess/Cocoa/VideoFullscreenManagerProxy.h
    M Source/WebKit/UIProcess/Cocoa/VideoFullscreenManagerProxy.messages.in
    M Source/WebKit/UIProcess/Cocoa/VideoFullscreenManagerProxy.mm
    M Source/WebKit/WebProcess/cocoa/VideoFullscreenManager.mm

  Log Message:
  -----------
  REGRESSION(??): Clicking ‘Next Episode’ on Netflix results in black video feed
https://bugs.webkit.org/show_bug.cgi?id=257820
rdar://110281016

Reviewed by Eric Carlson.

When entering "standby" fullscreen mode (to ensure media playing in Element fullscreen automatically
enters picture-in-picture mode when the application is backgrounded), we send a
`setupFullscreenWithID()` message to the VideoFullscreenManagerProxy from
`enterVideoFullscreenForVideoElement()` containing the videos location in screen coordinates.
Inside `setupFullscreenWithID()` we use the initial screen rect to derive the initial layer size
when creating a hosting layer for the video content. In the case of Netflix content in fullscreen
mode, this step happens before the layer is created by the player, and when the layer is eventually
created, the layer host view is already the correct size, and the WebContent and GPU processes are
never informed of the new layer's size.

Rather than use the initial window rect of the video element, pass in the current value of
`videoInlineSize()` as the initial layer size, as we do in other places.

* Source/WebKit/UIProcess/Cocoa/VideoFullscreenManagerProxy.h:
* Source/WebKit/UIProcess/Cocoa/VideoFullscreenManagerProxy.messages.in:
* Source/WebKit/UIProcess/Cocoa/VideoFullscreenManagerProxy.mm:
(WebKit::VideoFullscreenManagerProxy::setupFullscreenWithID):
* Source/WebKit/WebProcess/cocoa/VideoFullscreenManager.mm:
(WebKit::VideoFullscreenManager::enterVideoFullscreenForVideoElement):

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




More information about the webkit-changes mailing list