| OLD | NEW |
| 1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "content/public/browser/media_session_observer.h" | 5 #include "content/public/browser/media_session_observer.h" |
| 6 | 6 |
| 7 #include "content/browser/media/session/media_session_impl.h" | 7 #include "content/browser/media/session/media_session_impl.h" |
| 8 | 8 |
| 9 namespace content { | 9 namespace content { |
| 10 | 10 |
| 11 MediaSessionObserver::MediaSessionObserver(MediaSession* media_session) | 11 MediaSessionObserver::MediaSessionObserver(MediaSession* media_session) |
| 12 : media_session_(static_cast<MediaSessionImpl*>(media_session)) { | 12 : media_session_(media_session) { |
| 13 if (media_session_) | 13 if (media_session_) |
| 14 media_session_->AddObserver(this); | 14 media_session_->AddObserver(this); |
| 15 } | 15 } |
| 16 | 16 |
| 17 MediaSessionObserver::~MediaSessionObserver() { | 17 MediaSessionObserver::~MediaSessionObserver() { |
| 18 StopObserving(); | 18 StopObserving(); |
| 19 } | 19 } |
| 20 | 20 |
| 21 MediaSession* MediaSessionObserver::media_session() const { | 21 MediaSession* MediaSessionObserver::media_session() const { |
| 22 return media_session_; | 22 return media_session_; |
| 23 } | 23 } |
| 24 | 24 |
| 25 void MediaSessionObserver::StopObserving() { | 25 void MediaSessionObserver::StopObserving() { |
| 26 if (media_session_) | 26 if (media_session_) |
| 27 media_session_->RemoveObserver(this); | 27 media_session_->RemoveObserver(this); |
| 28 media_session_ = nullptr; | 28 media_session_ = nullptr; |
| 29 } | 29 } |
| 30 | 30 |
| 31 } // namespace content | 31 } // namespace content |
| OLD | NEW |