[webkit-changes] [WebKit/WebKit] e021db: REGRESSION (276177 at main): LinearMediaPlayer contro...

aestes noreply at github.com
Tue Mar 19 13:08:18 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: e021db348aed9d2cc916ea427bb6b3113558de12
      https://github.com/WebKit/WebKit/commit/e021db348aed9d2cc916ea427bb6b3113558de12
  Author: Andy Estes <aestes at apple.com>
  Date:   2024-03-19 (Tue, 19 Mar 2024)

  Changed paths:
    M Source/WebKit/WebProcess/cocoa/VideoPresentationManager.mm

  Log Message:
  -----------
  REGRESSION (276177 at main): LinearMediaPlayer controls briefly appear when entering element fullscreen
https://bugs.webkit.org/show_bug.cgi?id=271251
rdar://125019855

Reviewed by Jer Noble.

On platforms that support fullscreen standby, VideoPresentationInterface::setupFullscreen() is
called (with `standby` set to true) when element fullscreen is activated for an element containing
a <video> descendant. This prewarms the presentation interface so that's it's ready to enter
picture-in-picture if requested.

After 276177 at main, this prewarming inserts a LMKPlayableViewController in the WKWebView's hierarchy.
Even though the VC's root view's `hidden` property is set to YES, due to a bug in LinearMediaKit
parts of the media controls remain visible for a brief period. To work around this bug, since
visionOS does not support automatic picture-in-picture we can just disable support for fullscreen
standby. This avoids calls to VideoPresentationInterface::setupFullscreen() when entering element
fullscreen.

* Source/WebKit/WebProcess/cocoa/VideoPresentationManager.mm:
(WebKit::VideoPresentationManager::supportsVideoFullscreenStandby const):

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