| Index: content/browser/media/session/media_session_service_impl.cc
|
| diff --git a/content/browser/media/session/media_session_service_impl.cc b/content/browser/media/session/media_session_service_impl.cc
|
| index cf452e2204df634b8f8e29dc8b873006c40c9484..524399dfcf10bce162b0855ee13d44f09f109be0 100644
|
| --- a/content/browser/media/session/media_session_service_impl.cc
|
| +++ b/content/browser/media/session/media_session_service_impl.cc
|
| @@ -43,6 +43,14 @@ RenderFrameHost* MediaSessionServiceImpl::GetRenderFrameHost() {
|
| render_frame_routing_id_);
|
| }
|
|
|
| +void MediaSessionServiceImpl::DidFinishNavigation() {
|
| + // At this point the BrowsingContext of the frame has changed, so the members
|
| + // need to be reset, and notify MediaSessionImpl.
|
| + SetPlaybackState(blink::mojom::MediaSessionPlaybackState::NONE);
|
| + SetMetadata(base::nullopt);
|
| + ClearActions();
|
| +}
|
| +
|
| void MediaSessionServiceImpl::SetClient(
|
| blink::mojom::MediaSessionClientPtr client) {
|
| client_ = std::move(client);
|
| @@ -92,6 +100,13 @@ void MediaSessionServiceImpl::DisableAction(
|
| session->OnMediaSessionActionsChanged(this);
|
| }
|
|
|
| +void MediaSessionServiceImpl::ClearActions() {
|
| + actions_.clear();
|
| + MediaSessionImpl* session = GetMediaSession();
|
| + if (session)
|
| + session->OnMediaSessionActionsChanged(this);
|
| +}
|
| +
|
| MediaSessionImpl* MediaSessionServiceImpl::GetMediaSession() {
|
| RenderFrameHost* rfh = GetRenderFrameHost();
|
| if (!rfh)
|
|
|