Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(225)

Side by Side Diff: chrome/browser/chromeos/system_logs/system_logs_fetcher.cc

Issue 11035014: Collect user logs that debugd can not access (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Created 8 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/chromeos/system_logs/system_logs_fetcher.h" 5 #include "chrome/browser/chromeos/system_logs/system_logs_fetcher.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/bind_helpers.h" 8 #include "base/bind_helpers.h"
9 #include "chrome/browser/chromeos/system_logs/command_line_log_source.h" 9 #include "chrome/browser/chromeos/system_logs/command_line_log_source.h"
10 #include "chrome/browser/chromeos/system_logs/debug_daemon_log_source.h" 10 #include "chrome/browser/chromeos/system_logs/debug_daemon_log_source.h"
11 #include "chrome/browser/chromeos/system_logs/lsb_release_log_source.h" 11 #include "chrome/browser/chromeos/system_logs/lsb_release_log_source.h"
12 #include "chrome/browser/chromeos/system_logs/memory_details_log_source.h" 12 #include "chrome/browser/chromeos/system_logs/memory_details_log_source.h"
13 #include "chrome/browser/chromeos/system_logs/user_log_source.h"
13 #include "content/public/browser/browser_thread.h" 14 #include "content/public/browser/browser_thread.h"
14 15
15 using content::BrowserThread; 16 using content::BrowserThread;
16 17
17 namespace chromeos { 18 namespace chromeos {
18 19
19 SystemLogsFetcher::SystemLogsFetcher() 20 SystemLogsFetcher::SystemLogsFetcher()
20 : response_(new SystemLogsResponse), 21 : response_(new SystemLogsResponse),
21 num_pending_requests_(0), 22 num_pending_requests_(0),
22 ALLOW_THIS_IN_INITIALIZER_LIST(weak_ptr_factory_(this)) { 23 ALLOW_THIS_IN_INITIALIZER_LIST(weak_ptr_factory_(this)) {
23 // Debug Daemon data source. 24 // Debug Daemon data source.
24 data_sources_.push_back(new DebugDaemonLogSource()); 25 data_sources_.push_back(new DebugDaemonLogSource());
25 26
26 // Chrome data sources. 27 // Chrome data sources.
27 data_sources_.push_back(new CommandLineLogSource()); 28 data_sources_.push_back(new CommandLineLogSource());
28 data_sources_.push_back(new LsbReleaseLogSource()); 29 data_sources_.push_back(new LsbReleaseLogSource());
29 data_sources_.push_back(new MemoryDetailsLogSource()); 30 data_sources_.push_back(new MemoryDetailsLogSource());
31 data_sources_.push_back(new UserLogSource());
32
30 num_pending_requests_ = data_sources_.size(); 33 num_pending_requests_ = data_sources_.size();
31 } 34 }
32 35
33 SystemLogsFetcher::~SystemLogsFetcher() {} 36 SystemLogsFetcher::~SystemLogsFetcher() {}
34 37
35 void SystemLogsFetcher::Fetch(const SysLogsFetcherCallback& callback) { 38 void SystemLogsFetcher::Fetch(const SysLogsFetcherCallback& callback) {
36 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 39 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
37 DCHECK(callback_.is_null()); 40 DCHECK(callback_.is_null());
38 DCHECK(!callback.is_null()); 41 DCHECK(!callback.is_null());
39 42
(...skipping 20 matching lines...) Expand all
60 --num_pending_requests_; 63 --num_pending_requests_;
61 if (num_pending_requests_ > 0) 64 if (num_pending_requests_ > 0)
62 return; 65 return;
63 66
64 callback_.Run(response_.Pass()); 67 callback_.Run(response_.Pass());
65 BrowserThread::DeleteSoon(BrowserThread::UI, FROM_HERE, this); 68 BrowserThread::DeleteSoon(BrowserThread::UI, FROM_HERE, this);
66 } 69 }
67 70
68 } // namespace chromeos 71 } // namespace chromeos
69 72
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698