1effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch// Copyright 2014 The Chromium Authors. All rights reserved. 2effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch// Use of this source code is governed by a BSD-style license that can be 3effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch// found in the LICENSE file. 4effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch 5effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch#include "chrome/browser/media/webrtc_log_list.h" 6effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch 7effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch#include "base/files/file.h" 8effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch#include "base/files/file_path.h" 91320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#include "base/files/file_util.h" 10effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch#include "base/path_service.h" 11effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch#include "chrome/browser/profiles/profile.h" 12effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch#include "chrome/common/chrome_paths.h" 13effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch 14effb81e5f8246d0db0270817048dc992db66e9fbBen Murdochnamespace { 15effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch 16effb81e5f8246d0db0270817048dc992db66e9fbBen Murdochconst char kWebRtcLogDirectory[] = "WebRTC Logs"; 17effb81e5f8246d0db0270817048dc992db66e9fbBen Murdochconst char kWebRtcLogListFilename[] = "Log List"; 18effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch 19effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch} 20effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch 21effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch// static 22effb81e5f8246d0db0270817048dc992db66e9fbBen MurdochUploadList* WebRtcLogList::CreateWebRtcLogList(UploadList::Delegate* delegate, 23effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch Profile* profile) { 24effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch base::FilePath log_list_path = GetWebRtcLogListFileForDirectory( 25effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch GetWebRtcLogDirectoryForProfile(profile->GetPath())); 26effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch return new UploadList(delegate, log_list_path); 27effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch} 28effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch 29effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch// static 30effb81e5f8246d0db0270817048dc992db66e9fbBen Murdochbase::FilePath WebRtcLogList::GetWebRtcLogDirectoryForProfile( 31effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch const base::FilePath& profile_path) { 32effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch DCHECK(!profile_path.empty()); 33effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch return profile_path.AppendASCII(kWebRtcLogDirectory); 34effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch} 35effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch 36effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch// static 37effb81e5f8246d0db0270817048dc992db66e9fbBen Murdochbase::FilePath WebRtcLogList::GetWebRtcLogListFileForDirectory( 38effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch const base::FilePath& dir) { 39effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch DCHECK(!dir.empty()); 40effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch return dir.AppendASCII(kWebRtcLogListFilename); 41effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch} 42