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)14WebRtcEventLogManagerKeyedService::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()28void 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