Bug 223795

Summary: Now Playing content isn't updated when media session's Metadata is modified
Product: WebKit Reporter: Jean-Yves Avenard [:jya] <jean-yves.avenard>
Component: MediaAssignee: Jean-Yves Avenard [:jya] <jean-yves.avenard>
Status: RESOLVED FIXED    
Severity: Normal CC: cdumez, changseok, eric.carlson, esprehn+autocc, ews-watchlist, glenn, gyuyoung.kim, jer.noble, philipj, sergio, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
See Also: https://bugs.webkit.org/show_bug.cgi?id=222158
Bug Depends on:    
Bug Blocks: 223731    
Attachments:
Description Flags
Patch
ews-feeder: commit-queue-
Patch
ews-feeder: commit-queue-
Patch
none
Patch
none
Patch none

Jean-Yves Avenard [:jya]
Reported 2021-03-26 05:49:56 PDT
Currently the Now Playing content is updated when the PlatformMediaSessionManager (MediaSessionManagerCocoa) requests from the PlatformMediaSession (MediaElementSession). The PlatformMediaSession will retrieve the Media Session metadata and then pass it on. When the Media Session metadata gets updated (like after retrieving the image data), for the PlatformMediaSessionManager to refresh the Now Playing content, the user must interact with the media element (such as seeking, changing the focus of the window, pausing the video etc). If no such interaction is to occur, then the Now Playing will show stale data. We need to notify the PlatformMediaSession that the Metadata got updated and refresh the Now Playing content. Bug 222158 introduced a mechanism to set observer of the Metadata content. We will use it to fix this bug.
Attachments
Patch (13.65 KB, patch)
2021-03-26 06:17 PDT, Jean-Yves Avenard [:jya]
ews-feeder: commit-queue-
Patch (18.23 KB, patch)
2021-03-26 06:42 PDT, Jean-Yves Avenard [:jya]
ews-feeder: commit-queue-
Patch (18.14 KB, patch)
2021-03-26 06:48 PDT, Jean-Yves Avenard [:jya]
no flags
Patch (18.24 KB, patch)
2021-03-28 20:53 PDT, Jean-Yves Avenard [:jya]
no flags
Patch (20.11 KB, patch)
2021-03-29 19:19 PDT, Jean-Yves Avenard [:jya]
no flags
Radar WebKit Bug Importer
Comment 1 2021-03-26 05:50:04 PDT
Jean-Yves Avenard [:jya]
Comment 2 2021-03-26 05:52:12 PDT
Additionally, by implementing the Media Session observer it will allow to set default action when a Media Session handler isn't defined.
Jean-Yves Avenard [:jya]
Comment 3 2021-03-26 06:17:55 PDT
Jean-Yves Avenard [:jya]
Comment 4 2021-03-26 06:42:20 PDT
Jean-Yves Avenard [:jya]
Comment 5 2021-03-26 06:44:57 PDT
Issue with forward declaration and Optional, changing method prototype to use reference instead
Jean-Yves Avenard [:jya]
Comment 6 2021-03-26 06:48:16 PDT
Created attachment 424347 [details] Patch Fix unresolved symbol on TVOS
Eric Carlson
Comment 7 2021-03-28 16:55:39 PDT
Comment on attachment 424345 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=424345&action=review > Source/WebCore/html/MediaElementSession.cpp:213 > + session->removeObserver(*m_observer); You could give MediaSessionObserver a pointer to the media session and have it call add/removeObserver automatically
Jean-Yves Avenard [:jya]
Comment 8 2021-03-28 20:53:11 PDT
Eric Carlson
Comment 9 2021-03-29 15:03:50 PDT
Comment on attachment 424521 [details] Patch I'm afraid this will need to be rebased.
Jean-Yves Avenard [:jya]
Comment 10 2021-03-29 19:19:49 PDT
Created attachment 424611 [details] Patch rebase
Jean-Yves Avenard [:jya]
Comment 11 2021-03-29 22:36:38 PDT
Comment on attachment 424611 [details] Patch unrelated iPhoto.Framework failure.
EWS
Comment 12 2021-03-30 07:12:12 PDT
Committed r275203: <https://commits.webkit.org/r275203> All reviewed patches have been landed. Closing bug and clearing flags on attachment 424611 [details].
Note You need to log in before you can comment on or make changes to this bug.