[Media Session] [3/4] Move Metadata to service
This CL moves any existing uses of content::MediaMetadata to the new media_session::MediaMetadata. BUG=875004 Change-Id: If4b2f889ffb2264daa2bc2f5d9403e9e18586856 Reviewed-on: https://chromium-review.googlesource.com/c/1241572 Commit-Queue: Becca Hughes <beccahughes@chromium.org> Reviewed-by: Ted Choc <tedchoc@chromium.org> Reviewed-by: Nasko Oskov <nasko@chromium.org> Reviewed-by: Mounir Lamouri <mlamouri@chromium.org> Cr-Commit-Position: refs/heads/master@{#612704}
This commit is contained in:
content
browser
android
media
session
media_metadata_sanitizer.ccmedia_metadata_sanitizer.hmedia_session_android.ccmedia_session_android.hmedia_session_impl.ccmedia_session_impl.hmedia_session_impl_browsertest.ccmedia_session_impl_service_routing_unittest.ccmedia_session_service_impl.ccmedia_session_service_impl.hmock_media_session_observer.h
public
browser
services/media_session/public/cpp
third_party/blink
public
platform
modules
mediasession
renderer
modules
@ -14,11 +14,9 @@
|
||||
#include "base/trace_event/trace_event.h"
|
||||
#include "content/browser/renderer_host/render_widget_host_impl.h"
|
||||
#include "content/browser/web_contents/web_contents_impl.h"
|
||||
#include "content/common/android/media_metadata_android.h"
|
||||
#include "content/public/browser/navigation_details.h"
|
||||
#include "content/public/browser/navigation_entry.h"
|
||||
#include "content/public/browser/navigation_handle.h"
|
||||
#include "content/public/common/media_metadata.h"
|
||||
#include "jni/WebContentsObserverProxy_jni.h"
|
||||
|
||||
using base::android::AttachCurrentThread;
|
||||
|
@ -7,7 +7,7 @@
|
||||
#include <algorithm>
|
||||
#include <string>
|
||||
|
||||
#include "content/public/common/media_metadata.h"
|
||||
#include "services/media_session/public/cpp/media_metadata.h"
|
||||
|
||||
namespace content {
|
||||
|
||||
@ -42,7 +42,8 @@ bool CheckMediaImageSrcSanity(const GURL& src) {
|
||||
return true;
|
||||
}
|
||||
|
||||
bool CheckMediaImageSanity(const MediaMetadata::MediaImage& image) {
|
||||
bool CheckMediaImageSanity(
|
||||
const media_session::MediaMetadata::MediaImage& image) {
|
||||
if (!CheckMediaImageSrcSanity(image.src))
|
||||
return false;
|
||||
if (image.type.size() > kMaxMediaImageTypeLength)
|
||||
@ -54,9 +55,9 @@ bool CheckMediaImageSanity(const MediaMetadata::MediaImage& image) {
|
||||
}
|
||||
|
||||
// Sanitize MediaImage. The method should not be called if |image.src| is bad.
|
||||
MediaMetadata::MediaImage SanitizeMediaImage(
|
||||
const MediaMetadata::MediaImage& image) {
|
||||
MediaMetadata::MediaImage sanitized_image;
|
||||
media_session::MediaMetadata::MediaImage SanitizeMediaImage(
|
||||
const media_session::MediaMetadata::MediaImage& image) {
|
||||
media_session::MediaMetadata::MediaImage sanitized_image;
|
||||
|
||||
sanitized_image.src = image.src;
|
||||
sanitized_image.type = image.type.substr(0, kMaxMediaImageTypeLength);
|
||||
@ -71,7 +72,8 @@ MediaMetadata::MediaImage SanitizeMediaImage(
|
||||
|
||||
} // anonymous namespace
|
||||
|
||||
bool MediaMetadataSanitizer::CheckSanity(const MediaMetadata& metadata) {
|
||||
bool MediaMetadataSanitizer::CheckSanity(
|
||||
const media_session::MediaMetadata& metadata) {
|
||||
if (metadata.title.size() > kMaxIPCStringLength)
|
||||
return false;
|
||||
if (metadata.artist.size() > kMaxIPCStringLength)
|
||||
@ -89,8 +91,9 @@ bool MediaMetadataSanitizer::CheckSanity(const MediaMetadata& metadata) {
|
||||
return true;
|
||||
}
|
||||
|
||||
MediaMetadata MediaMetadataSanitizer::Sanitize(const MediaMetadata& metadata) {
|
||||
MediaMetadata sanitized_metadata;
|
||||
media_session::MediaMetadata MediaMetadataSanitizer::Sanitize(
|
||||
const media_session::MediaMetadata& metadata) {
|
||||
media_session::MediaMetadata sanitized_metadata;
|
||||
|
||||
sanitized_metadata.title = metadata.title.substr(0, kMaxIPCStringLength);
|
||||
sanitized_metadata.artist = metadata.artist.substr(0, kMaxIPCStringLength);
|
||||
|
@ -5,17 +5,20 @@
|
||||
#ifndef CONTENT_BROWSER_MEDIA_SESSION_MEDIA_METADATA_SANITIZER_H_
|
||||
#define CONTENT_BROWSER_MEDIA_SESSION_MEDIA_METADATA_SANITIZER_H_
|
||||
|
||||
namespace content {
|
||||
|
||||
namespace media_session {
|
||||
struct MediaMetadata;
|
||||
} // namespace media_session
|
||||
|
||||
namespace content {
|
||||
|
||||
class MediaMetadataSanitizer {
|
||||
public:
|
||||
// Check the sanity of |metadata|.
|
||||
static bool CheckSanity(const MediaMetadata& metadata);
|
||||
static bool CheckSanity(const media_session::MediaMetadata& metadata);
|
||||
|
||||
// Sanitizes |metadata| and return the result.
|
||||
static MediaMetadata Sanitize(const MediaMetadata& metadata);
|
||||
static media_session::MediaMetadata Sanitize(
|
||||
const media_session::MediaMetadata& metadata);
|
||||
};
|
||||
|
||||
} // namespace content
|
||||
|
@ -9,7 +9,6 @@
|
||||
#include "content/browser/media/session/media_session_impl.h"
|
||||
#include "content/browser/web_contents/web_contents_android.h"
|
||||
#include "content/browser/web_contents/web_contents_impl.h"
|
||||
#include "content/common/android/media_metadata_android.h"
|
||||
#include "content/public/browser/media_session.h"
|
||||
#include "jni/MediaSessionImpl_jni.h"
|
||||
#include "services/media_session/public/mojom/audio_focus.mojom.h"
|
||||
@ -82,7 +81,7 @@ void MediaSessionAndroid::MediaSessionStateChanged(bool is_controllable,
|
||||
}
|
||||
|
||||
void MediaSessionAndroid::MediaSessionMetadataChanged(
|
||||
const base::Optional<MediaMetadata>& metadata) {
|
||||
const base::Optional<media_session::MediaMetadata>& metadata) {
|
||||
ScopedJavaLocalRef<jobject> j_local_session = GetJavaObject();
|
||||
if (j_local_session.is_null())
|
||||
return;
|
||||
@ -95,7 +94,7 @@ void MediaSessionAndroid::MediaSessionMetadataChanged(
|
||||
|
||||
ScopedJavaLocalRef<jobject> j_metadata;
|
||||
if (metadata.has_value())
|
||||
j_metadata = MediaMetadataAndroid::CreateJavaObject(env, metadata.value());
|
||||
j_metadata = metadata.value().CreateJavaObject(env);
|
||||
Java_MediaSessionImpl_mediaSessionMetadataChanged(env, j_local_session,
|
||||
j_metadata);
|
||||
}
|
||||
|
@ -36,7 +36,7 @@ class MediaSessionAndroid final : public MediaSessionObserver {
|
||||
void MediaSessionStateChanged(bool is_controllable,
|
||||
bool is_suspended) override;
|
||||
void MediaSessionMetadataChanged(
|
||||
const base::Optional<MediaMetadata>& metadata) override;
|
||||
const base::Optional<media_session::MediaMetadata>& metadata) override;
|
||||
void MediaSessionActionsChanged(
|
||||
const std::set<media_session::mojom::MediaSessionAction>& actions)
|
||||
override;
|
||||
|
@ -208,7 +208,7 @@ void MediaSessionImpl::NotifyAddedObserver(MediaSessionObserver* observer) {
|
||||
}
|
||||
|
||||
void MediaSessionImpl::NotifyMediaSessionMetadataChange(
|
||||
const base::Optional<MediaMetadata>& metadata) {
|
||||
const base::Optional<media_session::MediaMetadata>& metadata) {
|
||||
for (auto& observer : observers_)
|
||||
observer.MediaSessionMetadataChanged(metadata);
|
||||
}
|
||||
|
@ -22,7 +22,6 @@
|
||||
#include "content/public/browser/media_session_observer.h"
|
||||
#include "content/public/browser/web_contents_observer.h"
|
||||
#include "content/public/browser/web_contents_user_data.h"
|
||||
#include "content/public/common/media_metadata.h"
|
||||
#include "mojo/public/cpp/bindings/binding.h"
|
||||
#include "mojo/public/cpp/bindings/binding_set.h"
|
||||
#include "mojo/public/cpp/bindings/interface_ptr_set.h"
|
||||
@ -38,6 +37,10 @@ namespace media {
|
||||
enum class MediaContentType;
|
||||
} // namespace media
|
||||
|
||||
namespace media_session {
|
||||
struct MediaMetadata;
|
||||
} // namespace media_session
|
||||
|
||||
namespace content {
|
||||
|
||||
class AudioFocusManagerTest;
|
||||
@ -89,7 +92,7 @@ class MediaSessionImpl : public MediaSession,
|
||||
#endif // defined(OS_ANDROID)
|
||||
|
||||
void NotifyMediaSessionMetadataChange(
|
||||
const base::Optional<MediaMetadata>& metadata);
|
||||
const base::Optional<media_session::MediaMetadata>& metadata);
|
||||
void NotifyMediaSessionActionsChange(
|
||||
const std::set<media_session::mojom::MediaSessionAction>& actions);
|
||||
|
||||
|
@ -1714,7 +1714,7 @@ IN_PROC_BROWSER_TEST_P(MediaSessionImplParamBrowserTest,
|
||||
// Set up the service and information.
|
||||
EnsureMediaSessionService();
|
||||
|
||||
content::MediaMetadata metadata;
|
||||
media_session::MediaMetadata metadata;
|
||||
metadata.title = base::ASCIIToUTF16("title");
|
||||
metadata.artist = base::ASCIIToUTF16("artist");
|
||||
metadata.album = base::ASCIIToUTF16("album");
|
||||
|
@ -16,6 +16,7 @@
|
||||
#include "content/test/test_render_view_host.h"
|
||||
#include "content/test/test_web_contents.h"
|
||||
#include "media/base/media_content_type.h"
|
||||
#include "services/media_session/public/cpp/media_metadata.h"
|
||||
#include "services/media_session/public/mojom/constants.mojom.h"
|
||||
#include "third_party/blink/public/platform/modules/mediasession/media_session.mojom.h"
|
||||
|
||||
@ -271,14 +272,14 @@ TEST_F(MediaSessionImplServiceRoutingTest,
|
||||
|
||||
CreateServiceForFrame(main_frame_);
|
||||
|
||||
services_[main_frame_]->SetMetadata(MediaMetadata());
|
||||
services_[main_frame_]->SetMetadata(media_session::MediaMetadata());
|
||||
services_[main_frame_]->EnableAction(
|
||||
media_session::mojom::MediaSessionAction::kPlay);
|
||||
}
|
||||
|
||||
TEST_F(MediaSessionImplServiceRoutingTest,
|
||||
NotifyMetadataAndActionsChangeWhenControllable) {
|
||||
MediaMetadata expected_metadata;
|
||||
media_session::MediaMetadata expected_metadata;
|
||||
expected_metadata.title = base::ASCIIToUTF16("title");
|
||||
expected_metadata.artist = base::ASCIIToUTF16("artist");
|
||||
expected_metadata.album = base::ASCIIToUTF16("album");
|
||||
@ -311,7 +312,7 @@ TEST_F(MediaSessionImplServiceRoutingTest,
|
||||
|
||||
TEST_F(MediaSessionImplServiceRoutingTest,
|
||||
NotifyMetadataAndActionsChangeWhenTurningControllable) {
|
||||
MediaMetadata expected_metadata;
|
||||
media_session::MediaMetadata expected_metadata;
|
||||
expected_metadata.title = base::ASCIIToUTF16("title");
|
||||
expected_metadata.artist = base::ASCIIToUTF16("artist");
|
||||
expected_metadata.album = base::ASCIIToUTF16("album");
|
||||
@ -337,7 +338,7 @@ TEST_F(MediaSessionImplServiceRoutingTest,
|
||||
|
||||
TEST_F(MediaSessionImplServiceRoutingTest,
|
||||
DontNotifyMetadataAndActionsChangeWhenTurningUncontrollable) {
|
||||
MediaMetadata expected_metadata;
|
||||
media_session::MediaMetadata expected_metadata;
|
||||
expected_metadata.title = base::ASCIIToUTF16("title");
|
||||
expected_metadata.artist = base::ASCIIToUTF16("artist");
|
||||
expected_metadata.album = base::ASCIIToUTF16("album");
|
||||
|
@ -65,7 +65,7 @@ void MediaSessionServiceImpl::SetPlaybackState(
|
||||
}
|
||||
|
||||
void MediaSessionServiceImpl::SetMetadata(
|
||||
const base::Optional<content::MediaMetadata>& metadata) {
|
||||
const base::Optional<media_session::MediaMetadata>& metadata) {
|
||||
// When receiving a MediaMetadata, the browser process can't trust that it is
|
||||
// coming from a known and secure source. It must be processed accordingly.
|
||||
if (metadata.has_value() &&
|
||||
|
@ -6,10 +6,13 @@
|
||||
#define CONTENT_BROWSER_MEDIA_SESSION_MEDIA_SESSION_SERVICE_IMPL_H_
|
||||
|
||||
#include "base/optional.h"
|
||||
#include "content/public/common/media_metadata.h"
|
||||
#include "mojo/public/cpp/bindings/binding.h"
|
||||
#include "third_party/blink/public/platform/modules/mediasession/media_session.mojom.h"
|
||||
|
||||
namespace media_session {
|
||||
struct MediaMetadata;
|
||||
} // namespace media_session
|
||||
|
||||
namespace content {
|
||||
|
||||
class RenderFrameHost;
|
||||
@ -31,7 +34,9 @@ class CONTENT_EXPORT MediaSessionServiceImpl
|
||||
blink::mojom::MediaSessionPlaybackState playback_state() const {
|
||||
return playback_state_;
|
||||
}
|
||||
const base::Optional<MediaMetadata>& metadata() const { return metadata_; }
|
||||
const base::Optional<media_session::MediaMetadata>& metadata() const {
|
||||
return metadata_;
|
||||
}
|
||||
const std::set<media_session::mojom::MediaSessionAction>& actions() const {
|
||||
return actions_;
|
||||
}
|
||||
@ -42,7 +47,8 @@ class CONTENT_EXPORT MediaSessionServiceImpl
|
||||
void SetClient(blink::mojom::MediaSessionClientPtr client) override;
|
||||
|
||||
void SetPlaybackState(blink::mojom::MediaSessionPlaybackState state) override;
|
||||
void SetMetadata(const base::Optional<MediaMetadata>& metadata) override;
|
||||
void SetMetadata(
|
||||
const base::Optional<media_session::MediaMetadata>& metadata) override;
|
||||
|
||||
void EnableAction(media_session::mojom::MediaSessionAction action) override;
|
||||
void DisableAction(media_session::mojom::MediaSessionAction action) override;
|
||||
@ -65,7 +71,7 @@ class CONTENT_EXPORT MediaSessionServiceImpl
|
||||
std::unique_ptr<mojo::Binding<blink::mojom::MediaSessionService>> binding_;
|
||||
blink::mojom::MediaSessionClientPtr client_;
|
||||
blink::mojom::MediaSessionPlaybackState playback_state_;
|
||||
base::Optional<MediaMetadata> metadata_;
|
||||
base::Optional<media_session::MediaMetadata> metadata_;
|
||||
std::set<media_session::mojom::MediaSessionAction> actions_;
|
||||
|
||||
DISALLOW_COPY_AND_ASSIGN(MediaSessionServiceImpl);
|
||||
|
@ -6,6 +6,7 @@
|
||||
#define CONTENT_BROWSER_MEDIA_SESSION_MOCK_MEDIA_SESSION_OBSERVER_H_
|
||||
|
||||
#include "content/public/browser/media_session_observer.h"
|
||||
#include "services/media_session/public/cpp/media_metadata.h"
|
||||
#include "testing/gmock/include/gmock/gmock.h"
|
||||
|
||||
namespace content {
|
||||
@ -18,8 +19,9 @@ class MockMediaSessionObserver : public MediaSessionObserver {
|
||||
MOCK_METHOD0(MediaSessionDestroyed, void());
|
||||
MOCK_METHOD2(MediaSessionStateChanged,
|
||||
void(bool is_controllable, bool is_suspended));
|
||||
MOCK_METHOD1(MediaSessionMetadataChanged,
|
||||
void(const base::Optional<MediaMetadata>& metadata));
|
||||
MOCK_METHOD1(
|
||||
MediaSessionMetadataChanged,
|
||||
void(const base::Optional<media_session::MediaMetadata>& metadata));
|
||||
MOCK_METHOD1(
|
||||
MediaSessionActionsChanged,
|
||||
void(const std::set<media_session::mojom::MediaSessionAction>& action));
|
||||
|
@ -10,7 +10,6 @@
|
||||
#include "base/macros.h"
|
||||
#include "base/optional.h"
|
||||
#include "content/common/content_export.h"
|
||||
#include "content/public/common/media_metadata.h"
|
||||
|
||||
namespace media_session {
|
||||
namespace mojom {
|
||||
@ -18,6 +17,10 @@ enum class MediaSessionAction;
|
||||
} // namespace mojom
|
||||
} // namespace media_session
|
||||
|
||||
namespace media_session {
|
||||
struct MediaMetadata;
|
||||
} // namespace media_session
|
||||
|
||||
namespace content {
|
||||
|
||||
class MediaSession;
|
||||
@ -40,7 +43,7 @@ class CONTENT_EXPORT MediaSessionObserver {
|
||||
|
||||
// Called when the observed MediaSession has changed metadata.
|
||||
virtual void MediaSessionMetadataChanged(
|
||||
const base::Optional<MediaMetadata>& metadata) {}
|
||||
const base::Optional<media_session::MediaMetadata>& metadata) {}
|
||||
|
||||
// Called when the media session action list has changed.
|
||||
virtual void MediaSessionActionsChanged(
|
||||
|
@ -60,7 +60,8 @@ struct COMPONENT_EXPORT(MEDIA_SESSION_CPP) MediaMetadata {
|
||||
|
||||
#if defined(OS_ANDROID)
|
||||
// Creates a Java MediaMetadata instance and returns the JNI ref.
|
||||
base::android::ScopedJavaLocalRef<jobject> CreateJavaObject(JNIEnv* env);
|
||||
base::android::ScopedJavaLocalRef<jobject> CreateJavaObject(
|
||||
JNIEnv* env) const;
|
||||
#endif
|
||||
|
||||
// Title associated to the MediaSession.
|
||||
|
@ -30,7 +30,7 @@ std::vector<int> GetFlattenedSizeArray(const std::vector<gfx::Size>& sizes) {
|
||||
} // anonymous namespace
|
||||
|
||||
base::android::ScopedJavaLocalRef<jobject> MediaMetadata::CreateJavaObject(
|
||||
JNIEnv* env) {
|
||||
JNIEnv* env) const {
|
||||
ScopedJavaLocalRef<jstring> j_title(
|
||||
base::android::ConvertUTF16ToJavaString(env, title));
|
||||
ScopedJavaLocalRef<jstring> j_artist(
|
||||
|
@ -15,23 +15,6 @@ enum MediaSessionPlaybackState {
|
||||
PLAYING,
|
||||
};
|
||||
|
||||
// Album art in MediaMetadata
|
||||
// Spec: https://wicg.github.io/mediasession/
|
||||
struct MediaImage {
|
||||
url.mojom.Url src;
|
||||
mojo_base.mojom.String16 type;
|
||||
array<gfx.mojom.Size> sizes;
|
||||
};
|
||||
|
||||
// MediaMetadata
|
||||
// Spec: https://wicg.github.io/mediasession/
|
||||
struct MediaMetadata {
|
||||
mojo_base.mojom.String16 title;
|
||||
mojo_base.mojom.String16 artist;
|
||||
mojo_base.mojom.String16 album;
|
||||
array<MediaImage> artwork;
|
||||
};
|
||||
|
||||
interface MediaSessionClient {
|
||||
// Notifies the Blink side that a MediaSessionAction has been fired from the
|
||||
// UI or the platform.
|
||||
@ -48,7 +31,7 @@ interface MediaSessionService {
|
||||
|
||||
// Notifies the browser that the metadata is set, |metadata| will be displayed
|
||||
// on the UI.
|
||||
SetMetadata(MediaMetadata? metadata);
|
||||
SetMetadata(media_session.mojom.MediaMetadata? metadata);
|
||||
|
||||
// Notifies the browser that the event handler for |action| has been set,
|
||||
// browser needs to show a media button in the UI or register listeners to the
|
||||
|
@ -1,5 +1,6 @@
|
||||
include_rules = [
|
||||
"+mojo/public/cpp/bindings/binding.h",
|
||||
"+services/media_session/public/mojom",
|
||||
"-third_party/blink/renderer/modules",
|
||||
"+third_party/blink/renderer/modules/event_target_modules.h",
|
||||
"+third_party/blink/renderer/modules/modules_export.h",
|
||||
|
@ -59,16 +59,16 @@ bool CheckMediaImageSrcSanity(const KURL& src, ExecutionContext* context) {
|
||||
|
||||
// Sanitize MediaImage and do mojo serialization. Returns null when
|
||||
// |image.src()| is bad.
|
||||
blink::mojom::blink::MediaImagePtr SanitizeMediaImageAndConvertToMojo(
|
||||
media_session::mojom::blink::MediaImagePtr SanitizeMediaImageAndConvertToMojo(
|
||||
const MediaImage* image,
|
||||
ExecutionContext* context) {
|
||||
blink::mojom::blink::MediaImagePtr mojo_image;
|
||||
media_session::mojom::blink::MediaImagePtr mojo_image;
|
||||
|
||||
KURL url = KURL(image->src());
|
||||
if (!CheckMediaImageSrcSanity(url, context))
|
||||
return mojo_image;
|
||||
|
||||
mojo_image = blink::mojom::blink::MediaImage::New();
|
||||
mojo_image = media_session::mojom::blink::MediaImage::New();
|
||||
mojo_image->src = url;
|
||||
mojo_image->type = image->type().Left(kMaxImageTypeLength);
|
||||
for (const auto& web_size :
|
||||
@ -87,21 +87,21 @@ blink::mojom::blink::MediaImagePtr SanitizeMediaImageAndConvertToMojo(
|
||||
|
||||
} // anonymous namespace
|
||||
|
||||
blink::mojom::blink::MediaMetadataPtr
|
||||
media_session::mojom::blink::MediaMetadataPtr
|
||||
MediaMetadataSanitizer::SanitizeAndConvertToMojo(const MediaMetadata* metadata,
|
||||
ExecutionContext* context) {
|
||||
blink::mojom::blink::MediaMetadataPtr mojo_metadata;
|
||||
media_session::mojom::blink::MediaMetadataPtr mojo_metadata;
|
||||
if (!metadata)
|
||||
return mojo_metadata;
|
||||
|
||||
mojo_metadata = blink::mojom::blink::MediaMetadata::New();
|
||||
mojo_metadata = media_session::mojom::blink::MediaMetadata::New();
|
||||
|
||||
mojo_metadata->title = metadata->title().Left(kMaxStringLength);
|
||||
mojo_metadata->artist = metadata->artist().Left(kMaxStringLength);
|
||||
mojo_metadata->album = metadata->album().Left(kMaxStringLength);
|
||||
|
||||
for (const MediaImage* image : metadata->artwork()) {
|
||||
blink::mojom::blink::MediaImagePtr mojo_image =
|
||||
media_session::mojom::blink::MediaImagePtr mojo_image =
|
||||
SanitizeMediaImageAndConvertToMojo(image, context);
|
||||
if (!mojo_image.is_null())
|
||||
mojo_metadata->artwork.push_back(std::move(mojo_image));
|
||||
|
@ -5,7 +5,7 @@
|
||||
#ifndef THIRD_PARTY_BLINK_RENDERER_MODULES_MEDIASESSION_MEDIA_METADATA_SANITIZER_H_
|
||||
#define THIRD_PARTY_BLINK_RENDERER_MODULES_MEDIASESSION_MEDIA_METADATA_SANITIZER_H_
|
||||
|
||||
#include "third_party/blink/public/platform/modules/mediasession/media_session.mojom-blink.h"
|
||||
#include "services/media_session/public/mojom/media_session.mojom-blink.h"
|
||||
|
||||
namespace blink {
|
||||
|
||||
@ -16,7 +16,7 @@ class MediaMetadataSanitizer {
|
||||
public:
|
||||
// Produce the sanitized metadata, which will later be sent to the
|
||||
// MediaSession mojo service.
|
||||
static blink::mojom::blink::MediaMetadataPtr SanitizeAndConvertToMojo(
|
||||
static media_session::mojom::blink::MediaMetadataPtr SanitizeAndConvertToMojo(
|
||||
const MediaMetadata*,
|
||||
ExecutionContext*);
|
||||
};
|
||||
|
Reference in New Issue
Block a user