summaryrefslogtreecommitdiff
path: root/chromium/chrome/browser/media/webrtc/webrtc_event_log_manager_keyed_service.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/chrome/browser/media/webrtc/webrtc_event_log_manager_keyed_service.cc')
-rw-r--r--chromium/chrome/browser/media/webrtc/webrtc_event_log_manager_keyed_service.cc36
1 files changed, 36 insertions, 0 deletions
diff --git a/chromium/chrome/browser/media/webrtc/webrtc_event_log_manager_keyed_service.cc b/chromium/chrome/browser/media/webrtc/webrtc_event_log_manager_keyed_service.cc
new file mode 100644
index 00000000000..ec5401e454a
--- /dev/null
+++ b/chromium/chrome/browser/media/webrtc/webrtc_event_log_manager_keyed_service.cc
@@ -0,0 +1,36 @@
+// Copyright 2018 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 "chrome/browser/media/webrtc/webrtc_event_log_manager_keyed_service.h"
+
+#include "base/callback_forward.h"
+#include "base/logging.h"
+#include "chrome/browser/media/webrtc/webrtc_event_log_manager.h"
+#include "content/public/browser/browser_context.h"
+
+namespace webrtc_event_logging {
+
+WebRtcEventLogManagerKeyedService::WebRtcEventLogManagerKeyedService(
+ content::BrowserContext* browser_context)
+ : browser_context_(browser_context) {
+ DCHECK(!browser_context_->IsOffTheRecord());
+
+ WebRtcEventLogManager* manager = WebRtcEventLogManager::GetInstance();
+ if (manager) {
+ manager->EnableForBrowserContext(browser_context_, base::OnceClosure());
+ reported_ = true;
+ } else {
+ reported_ = false;
+ }
+}
+
+void WebRtcEventLogManagerKeyedService::Shutdown() {
+ WebRtcEventLogManager* manager = WebRtcEventLogManager::GetInstance();
+ if (manager) {
+ DCHECK(reported_) << "WebRtcEventLogManager constructed too late.";
+ manager->DisableForBrowserContext(browser_context_, base::OnceClosure());
+ }
+}
+
+} // namespace webrtc_event_logging