Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 446c43cd723c47515e20b9c3f6cc7d848c07cbca
https://github.com/WebKit/WebKit/commit/446c43cd723c47515e20b9c3f6cc7d848c07cbca
Author: Jean-Yves Avenard <[email protected]>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
A
LayoutTests/http/tests/media/now-playing-info-default-artwork-favicon-expected.txt
A LayoutTests/http/tests/media/now-playing-info-default-artwork-favicon.html
M
LayoutTests/http/tests/media/now-playing-info-media-session-artwork-favicon-expected.txt
M
LayoutTests/http/tests/media/now-playing-info-media-session-artwork-favicon.html
M
LayoutTests/media/now-playing-info-media-session-private-browsing-expected.txt
M LayoutTests/media/now-playing-info-media-session-private-browsing.html
M
LayoutTests/media/now-playing-info-media-session-suspend-playback-expected.txt
M LayoutTests/media/now-playing-info-media-session-suspend-playback.html
M LayoutTests/media/video-test.js
M LayoutTests/platform/glib/TestExpectations
M LayoutTests/platform/mac-wk1/TestExpectations
M Source/WebCore/Modules/mediasession/MediaMetadata.cpp
M Source/WebCore/Modules/mediasession/MediaMetadata.h
M Source/WebCore/Modules/mediasession/MediaSession.cpp
M Source/WebCore/Modules/mediasession/MediaSession.h
Log Message:
-----------
Provide a fallback image to NowPlaying when a website doesn't specify a
MediaSession.metadata
https://bugs.webkit.org/show_bug.cgi?id=277944
rdar://133662839
Reviewed by Jer Noble.
Following-up on 282096@main, handle the case where no MediaSession's Metadata
is set. We will retrieve the document's favicon
if any.
We move the handling of looking for fallbacks from the MediaMetadata to the
MediaSession, this allows to re-use already downloaded
favicons if the MediaMetadata content ever change.
Fly-by: some tests were intermittently failing in WK1 mode as they were always
testing the same value and never updating it.
*
LayoutTests/http/tests/media/now-playing-info-default-artwork-favicon-expected.txt:
Added.
* LayoutTests/http/tests/media/now-playing-info-default-artwork-favicon.html:
Copied from
LayoutTests/http/tests/media/now-playing-info-media-session-artwork-favicon.html.
*
LayoutTests/http/tests/media/now-playing-info-media-session-artwork-favicon-expected.txt:
*
LayoutTests/http/tests/media/now-playing-info-media-session-artwork-favicon.html:
*
LayoutTests/media/now-playing-info-media-session-private-browsing-expected.txt:
* LayoutTests/media/now-playing-info-media-session-private-browsing.html:
*
LayoutTests/media/now-playing-info-media-session-suspend-playback-expected.txt:
* LayoutTests/media/now-playing-info-media-session-suspend-playback.html:
* LayoutTests/media/video-test.js:
(testExpectedEventuallyIgnoringError):
(testExpectedEventuallyWhileRunningBetweenTests):
* LayoutTests/platform/glib/TestExpectations:
* LayoutTests/platform/mac-wk1/TestExpectations:
* Source/WebCore/Modules/mediasession/MediaMetadata.cpp:
(WebCore::MediaMetadata::create):
(WebCore::MediaMetadata::setTitle):
(WebCore::MediaMetadata::setArtist):
(WebCore::MediaMetadata::setAlbum):
(WebCore::MediaMetadata::setArtwork):
(WebCore::MediaMetadata::refreshArtworkImage):
(WebCore::MediaMetadata::tryNextArtworkImage): Explicitly test for m_session
and its document, while they could never be null it makes the code easier to
read.
(WebCore::MediaMetadata::MediaMetadata): Deleted.
(WebCore::MediaMetadata::maybeStartTimer): Deleted.
Simplify code introduced in 282096@main, instead we will only ever look for a
default image on the MediaMetadata creation if an artwork isn't set.
* Source/WebCore/Modules/mediasession/MediaMetadata.h:
(WebCore::MediaMetadata::title const): Deleted.
(WebCore::MediaMetadata::artist const): Deleted.
(WebCore::MediaMetadata::album const): Deleted.
(WebCore::MediaMetadata::artwork const): Deleted.
(WebCore::MediaMetadata::artworkSrc const): Deleted.
(WebCore::MediaMetadata::artworkImage const): Deleted.
(WebCore::MediaMetadata::metadata const): Deleted.
(WebCore::MediaMetadata::trackIdentifier const): Deleted.
* Source/WebCore/Modules/mediasession/MediaSession.cpp:
(WebCore::MediaSession::~MediaSession):
(WebCore::MediaSession::notifyMetadataObservers):
(WebCore::MediaSession::updateNowPlayingInfo):
(WebCore::MediaSession::currentMetadata const):
* Source/WebCore/Modules/mediasession/MediaSession.h:
Canonical link: https://commits.webkit.org/282158@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