Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: c60efc0d66011d3c7fc29303b13558daf6d6f6c8
      
https://github.com/WebKit/WebKit/commit/c60efc0d66011d3c7fc29303b13558daf6d6f6c8
  Author: Jer Noble <[email protected]>
  Date:   2024-07-23 (Tue, 23 Jul 2024)

  Changed paths:
    M Source/WebCore/platform/cocoa/VideoPresentationModelVideoElement.mm
    M Source/WebKit/UIProcess/Cocoa/VideoPresentationManagerProxy.mm

  Log Message:
  -----------
  [Viewer Mode] PiP breaks when hiding the <video> element while in Viewer Mode
https://bugs.webkit.org/show_bug.cgi?id=276865
rdar://131786564

Reviewed by Eric Carlson.

A mismatch in retain counts on either side of the UIProcess/WebContent process 
divide causes
the VideoPresentationInterfaceMac to get torn down while PiP is still active. 
This gets the
state machine into an unrecoverable state where the WebContent process thinks 
PiP is still
active, but no PiP exists in the UIProcess.

Drive-by fix: Fixing this retain count issue reveals a bug where we 
unconditionally use
m_videoElement without null-checking in VideoPresentationModelVideoElement.

* Source/WebCore/platform/cocoa/VideoPresentationModelVideoElement.mm:
(WebCore::VideoPresentationModelVideoElement::requestFullscreenMode):
* Source/WebKit/UIProcess/Cocoa/VideoPresentationManagerProxy.mm:
(WebKit::VideoPresentationManagerProxy::setupFullscreenWithID):

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



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to