1 // Copyright 2018 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4 
5 #include "chrome/browser/media/webrtc/webrtc_event_log_manager_keyed_service.h"
6 
7 #include "base/callback_forward.h"
8 #include "base/check.h"
9 #include "chrome/browser/media/webrtc/webrtc_event_log_manager.h"
10 #include "content/public/browser/browser_context.h"
11 
12 namespace webrtc_event_logging {
13 
WebRtcEventLogManagerKeyedService(content::BrowserContext * browser_context)14 WebRtcEventLogManagerKeyedService::WebRtcEventLogManagerKeyedService(
15     content::BrowserContext* browser_context)
16     : browser_context_(browser_context) {
17   DCHECK(!browser_context_->IsOffTheRecord());
18 
19   WebRtcEventLogManager* manager = WebRtcEventLogManager::GetInstance();
20   if (manager) {
21     manager->EnableForBrowserContext(browser_context_, base::OnceClosure());
22     reported_ = true;
23   } else {
24     reported_ = false;
25   }
26 }
27 
Shutdown()28 void WebRtcEventLogManagerKeyedService::Shutdown() {
29   WebRtcEventLogManager* manager = WebRtcEventLogManager::GetInstance();
30   if (manager) {
31     DCHECK(reported_) << "WebRtcEventLogManager constructed too late.";
32     manager->DisableForBrowserContext(browser_context_, base::OnceClosure());
33   }
34 }
35 
36 }  // namespace webrtc_event_logging
37