Bug 1615112 - part1 : create 'GetDefaultTitle()'. r=MeFisto94

We would use the default title in other places in the future, so make it as a separate function to re-use those code.

Differential Revision: https://phabricator.services.mozilla.com/D65655

--HG--
extra : moz-landing-system : lando
This commit is contained in:
alwu 2020-03-09 16:50:28 +00:00
parent bdb57e8112
commit 9faa8f0aa9
2 changed files with 19 additions and 12 deletions

View File

@ -126,15 +126,25 @@ void MediaSessionController::UpdateActiveMediaSessionContextId() {
MediaMetadataBase MediaSessionController::CreateDefaultMetadata() const {
MediaMetadataBase metadata;
metadata.mTitle = GetDefaultTitle();
metadata.mArtwork.AppendElement()->mSrc = GetDefaultFaviconURL();
LOG("Default media metadata, title=%s, album src=%s",
NS_ConvertUTF16toUTF8(metadata.mTitle).get(),
NS_ConvertUTF16toUTF8(metadata.mArtwork[0].mSrc).get());
return metadata;
}
nsString MediaSessionController::GetDefaultTitle() const {
RefPtr<CanonicalBrowsingContext> bc =
CanonicalBrowsingContext::Get(mTopLevelBCId);
if (!bc) {
return metadata;
return EmptyString();
}
RefPtr<WindowGlobalParent> globalParent = bc->GetCurrentWindowGlobal();
if (!globalParent) {
return metadata;
return EmptyString();
}
// The media metadata would be shown on the virtual controller interface. For
@ -148,26 +158,22 @@ MediaMetadataBase MediaSessionController::CreateDefaultMetadata() const {
nsContentUtils::IsInPrivateBrowsing(element->OwnerDoc());
}
nsString defaultTitle;
if (inPrivateBrowsing) {
// TODO : maybe need l10n?
if (nsCOMPtr<nsIXULAppInfo> appInfo =
do_GetService("@mozilla.org/xre/app-info;1")) {
nsCString appName;
appInfo->GetName(appName);
CopyUTF8toUTF16(appName, metadata.mTitle);
CopyUTF8toUTF16(appName, defaultTitle);
} else {
metadata.mTitle.AssignLiteral("Firefox");
defaultTitle.AssignLiteral("Firefox");
}
metadata.mTitle.AppendLiteral(" is playing media");
defaultTitle.AppendLiteral(" is playing media");
} else {
metadata.mTitle = globalParent->GetDocumentTitle();
defaultTitle = globalParent->GetDocumentTitle();
}
metadata.mArtwork.AppendElement()->mSrc = GetDefaultFaviconURL();
LOG("Default media metadata, title=%s, album src=%s",
NS_ConvertUTF16toUTF8(metadata.mTitle).get(),
NS_ConvertUTF16toUTF8(metadata.mArtwork[0].mSrc).get());
return metadata;
return defaultTitle;
}
nsString MediaSessionController::GetDefaultFaviconURL() const {

View File

@ -66,6 +66,7 @@ class MediaSessionController {
private:
nsString GetDefaultFaviconURL() const;
nsString GetDefaultTitle() const;
MediaMetadataBase CreateDefaultMetadata() const;
void UpdateActiveMediaSessionContextId();