| Index: content/browser/media/android/browser_media_session_manager.cc
|
| diff --git a/content/browser/media/android/browser_media_session_manager.cc b/content/browser/media/android/browser_media_session_manager.cc
|
| index a7e5fd5bbfa28e38fdeb8ac7290cacdf3c34f1ec..80d3173aa5533c49516c16eaa3079e3654d6cfbe 100644
|
| --- a/content/browser/media/android/browser_media_session_manager.cc
|
| +++ b/content/browser/media/android/browser_media_session_manager.cc
|
| @@ -4,6 +4,9 @@
|
|
|
| #include "content/browser/media/android/browser_media_session_manager.h"
|
|
|
| +#include "content/browser/media/session/media_session.h"
|
| +#include "content/browser/web_contents/web_contents_impl.h"
|
| +#include "content/common/media/media_metadata_sanitizer.h"
|
| #include "content/common/media/media_session_messages_android.h"
|
| #include "content/public/browser/render_frame_host.h"
|
| #include "content/public/browser/render_process_host.h"
|
| @@ -30,15 +33,7 @@ void BrowserMediaSessionManager::OnSetMetadata(
|
| const MediaMetadata& insecure_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.
|
| - MediaMetadata metadata;
|
| - metadata.title =
|
| - insecure_metadata.title.substr(0, MediaMetadata::kMaxIPCStringLength);
|
| - metadata.artist =
|
| - insecure_metadata.artist.substr(0, MediaMetadata::kMaxIPCStringLength);
|
| - metadata.album =
|
| - insecure_metadata.album.substr(0, MediaMetadata::kMaxIPCStringLength);
|
| -
|
| - if (metadata != insecure_metadata) {
|
| + if (!MediaMetadataSanitizer::CheckSanity(insecure_metadata)) {
|
| render_frame_host_->GetProcess()->ShutdownForBadMessage();
|
| return;
|
| }
|
|
|