[webkit-changes] [WebKit/WebKit] 5a93ec: Full screen flashes when resuming from PIP

Dana Estra noreply at github.com
Tue Jan 21 10:37:37 PST 2025


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 5a93ec6dc5b9a5575696f4cfac8a5ea778f564e4
      https://github.com/WebKit/WebKit/commit/5a93ec6dc5b9a5575696f4cfac8a5ea778f564e4
  Author: Dana Estra <destra at apple.com>
  Date:   2025-01-21 (Tue, 21 Jan 2025)

  Changed paths:
    M Source/WebCore/Modules/modern-media-controls/media/media-controller.js
    M Source/WebCore/Modules/modern-media-controls/media/placard-support.js
    M Source/WebCore/PAL/pal/ios/UIKitSoftLink.h
    M Source/WebCore/PAL/pal/ios/UIKitSoftLink.mm
    M Source/WebCore/platform/cocoa/WebAVPlayerLayerView.mm
    M Source/WebCore/platform/ios/VideoPresentationInterfaceIOS.h
    M Source/WebCore/platform/ios/VideoPresentationInterfaceIOS.mm

  Log Message:
  -----------
  Full screen flashes when resuming from PIP
https://bugs.webkit.org/show_bug.cgi?id=286035
rdar://103974885

Reviewed by Jer Noble.

When returning from pip to inline on iPad, the pip placard briefly flashes
before the video content has returned to inline. This is caused by the
placard being in the shadow DOM, instead of part of the UI view hierarchy.

To fix this, the pip placard in modern media controls should not be activated
if the platform is iOS. There is a new pip placard added in VideoPresentationInterfaceIOS.

* Source/WebCore/Modules/modern-media-controls/media/media-controller.js:
(MediaController.prototype._shouldControlsBeAvailable):
* Source/WebCore/Modules/modern-media-controls/media/placard-support.js:
(PlacardSupport.prototype._updatePlacard):
(PlacardSupport.prototype._controlsNeedJavascriptPipPlacard):
* Source/WebCore/PAL/pal/ios/UIKitSoftLink.h:
* Source/WebCore/PAL/pal/ios/UIKitSoftLink.mm:
* Source/WebCore/platform/cocoa/WebAVPlayerLayerView.mm:
(WebCore::WebAVPlayerLayerView_transferVideoViewTo):
* Source/WebCore/platform/ios/VideoPresentationInterfaceIOS.h:
* Source/WebCore/platform/ios/VideoPresentationInterfaceIOS.mm:
(WebCore::VideoPresentationInterfaceIOS::ensurePipPlacardIsShowing):
(WebCore::VideoPresentationInterfaceIOS::setupFullscreen):
(WebCore::VideoPresentationInterfaceIOS::preparedToReturnToInline):
(WebCore::VideoPresentationInterfaceIOS::doExitFullscreen):
* Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:

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