Index: content/browser/media/session/media_session_observer.cc |
diff --git a/content/browser/media/session/media_session_observer.cc b/content/browser/media/session/media_session_observer.cc |
new file mode 100644 |
index 0000000000000000000000000000000000000000..b93f7d75e4eb73a799dd21128d8c5860c4c30aa9 |
--- /dev/null |
+++ b/content/browser/media/session/media_session_observer.cc |
@@ -0,0 +1,30 @@ |
+// Copyright 2016 The Chromium Authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+#include "content/browser/media/session/media_session_observer.h" |
+ |
+#include "content/browser/media/session/media_session.h" |
+ |
+namespace content { |
+ |
+MediaSessionObserver::MediaSessionObserver(MediaSession* session) |
+ : session_(nullptr) { |
+ Observe(session); |
whywhat
2016/10/21 18:28:15
I don't feel strongly about removing this, TBH. Ju
|
+} |
+ |
+MediaSessionObserver::~MediaSessionObserver() { |
+ if (session_) |
+ session_->RemoveObserver(this); |
+} |
+ |
+void MediaSessionObserver::MediaSessionDisconnected() { |
+ session_ = nullptr; |
+} |
+ |
+void MediaSessionObserver::Observe(MediaSession* session) { |
+ session->AddObserver(this); |
+ session_ = session; |
+} |
+ |
+} // namespace content |