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

Reply via email to