Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 1dd83ec82c6aa1fb87e980c1e5683ff86953af63
      
https://github.com/WebKit/WebKit/commit/1dd83ec82c6aa1fb87e980c1e5683ff86953af63
  Author: Jean-Yves Avenard <[email protected]>
  Date:   2025-03-10 (Mon, 10 Mar 2025)

  Changed paths:
    M Source/WebCore/html/HTMLMediaElement.cpp
    M Source/WebCore/html/MediaElementSession.cpp
    M Source/WebCore/html/MediaElementSession.h
    M Source/WebCore/platform/cocoa/VideoPresentationModel.h
    M Source/WebCore/platform/cocoa/VideoPresentationModelVideoElement.h
    M Source/WebCore/platform/cocoa/VideoPresentationModelVideoElement.mm
    M Source/WebKit/UIProcess/Cocoa/VideoPresentationManagerProxy.h
    M Source/WebKit/UIProcess/Cocoa/VideoPresentationManagerProxy.messages.in
    M Source/WebKit/UIProcess/Cocoa/VideoPresentationManagerProxy.mm
    M Source/WebKit/WebProcess/cocoa/VideoPresentationManager.h
    M Source/WebKit/WebProcess/cocoa/VideoPresentationManager.mm

  Log Message:
  -----------
  [visionOS] when selecting a video for docking we should select the last one 
that played.
https://bugs.webkit.org/show_bug.cgi?id=289077
rdar://146097799

Reviewed by Jer Noble.

Keep track in the VideoPresentationManagerProxy about which video was last
interacted with.
When docking, we will prefer this video when it's a child of the element in
fullscreen over the biggest.

* Source/WebCore/html/HTMLMediaElement.cpp:
(WebCore::preferMediaControlsForCandidateSessionOverOtherCandidateSession):
* Source/WebCore/html/MediaElementSession.cpp:
(WebCore::MediaElementSession::mostRecentUserInteractionTime const):
(WebCore::MediaElementSession::resetPlaybackSessionState):
* Source/WebCore/html/MediaElementSession.h: Make 
m_mostRecentUserInteractionTime a Markable so
that we can distinguish if a media element was ever interacted with via a user 
gesture.
* Source/WebCore/platform/cocoa/VideoPresentationModel.h:
(WebCore::VideoPresentationModelClient::hasBeenInteractedWith):
* Source/WebCore/platform/cocoa/VideoPresentationModelVideoElement.h:
* Source/WebCore/platform/cocoa/VideoPresentationModelVideoElement.mm:
(WebCore::VideoPresentationModelVideoElement::updateForEventName):
(WebCore::VideoPresentationModelVideoElement::videoInteractedWith):
(WebCore::VideoPresentationModelVideoElement::observedEventNames):
* Source/WebKit/UIProcess/Cocoa/VideoPresentationManagerProxy.h:
* Source/WebKit/UIProcess/Cocoa/VideoPresentationManagerProxy.messages.in:
* Source/WebKit/UIProcess/Cocoa/VideoPresentationManagerProxy.mm:
(WebKit::VideoPresentationManagerProxy::hasBeenInteractedWith):
(WebKit::VideoPresentationManagerProxy::bestVideoForElementFullscreen):
* Source/WebKit/WebProcess/cocoa/VideoPresentationManager.h:
* Source/WebKit/WebProcess/cocoa/VideoPresentationManager.mm:
(WebKit::VideoPresentationInterfaceContext::hasBeenInteractedWith):
(WebKit::VideoPresentationManager::hasBeenInteractedWith):

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