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