[webkit-changes] [WebKit/WebKit] 02b832: REGRESSION(?): bbc.com fullscreen video does not s...

Jer Noble noreply at github.com
Sat Jan 6 09:30:48 PST 2024


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 02b83217134d074024a7d0369fec6325375058c2
      https://github.com/WebKit/WebKit/commit/02b83217134d074024a7d0369fec6325375058c2
  Author: Jer Noble <jer.noble at apple.com>
  Date:   2024-01-06 (Sat, 06 Jan 2024)

  Changed paths:
    M Source/WebKit/GPUProcess/media/cocoa/RemoteMediaPlayerProxyCocoa.mm
    M Source/WebKit/WebProcess/GPU/media/MediaPlayerPrivateRemote.h
    M Source/WebKit/WebProcess/GPU/media/MediaPlayerPrivateRemote.messages.in
    M Source/WebKit/WebProcess/GPU/media/cocoa/MediaPlayerPrivateRemoteCocoa.mm

  Log Message:
  -----------
  REGRESSION(?): bbc.com fullscreen video does not scale to display size
https://bugs.webkit.org/show_bug.cgi?id=267161
rdar://119893556

Reviewed by Eric Carlson.

If the first frame of video from a MediaPlayer becomes available after
RemoteMediaPlayerProxy::setVideoLayerSizeFenced)() is called, it's possible for the cached sizes of
that layer to become invalid across the WebContent, GPU, and UI processes. In this case, the GPU
process pushes up new layer sizing information to the WebContent process, but never updates its own
cached video layer size. Whats more, in this case the layer will likely use an incorrect size to
create the layer in the first place.

In the case where the first video frame is available before setVideoLayerSizeFenced() is called,
update the cached videoLayerSize with that initial sizing information. However, if the first video
frame is available after setVideoLayerSizeFenced() is called, use that cached size as the initial
size of the layer.

* Source/WebKit/GPUProcess/media/cocoa/RemoteMediaPlayerProxyCocoa.mm:
(WebKit::RemoteMediaPlayerProxy::mediaPlayerRenderingModeChanged):
* Source/WebKit/WebProcess/GPU/media/MediaPlayerPrivateRemote.h:
* Source/WebKit/WebProcess/GPU/media/MediaPlayerPrivateRemote.messages.in:
* Source/WebKit/WebProcess/GPU/media/cocoa/MediaPlayerPrivateRemoteCocoa.mm:
(WebKit::MediaPlayerPrivateRemote::layerHostingContextIdChanged):

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




More information about the webkit-changes mailing list