OLD | NEW |
1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 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 "components/data_use_measurement/core/data_use_recorder.h" | 5 #include "components/data_use_measurement/core/data_use_recorder.h" |
6 | 6 |
7 #include "net/url_request/url_request.h" | 7 #include "net/url_request/url_request.h" |
8 | 8 |
9 namespace data_use_measurement { | 9 namespace data_use_measurement { |
10 | 10 |
11 DataUseRecorder::DataUseRecorder() {} | 11 DataUseRecorder::DataUseRecorder() : main_url_request_(nullptr) {} |
12 | 12 |
13 DataUseRecorder::~DataUseRecorder() {} | 13 DataUseRecorder::~DataUseRecorder() {} |
14 | 14 |
15 bool DataUseRecorder::IsDataUseComplete() { | 15 bool DataUseRecorder::IsDataUseComplete() { |
16 return pending_url_requests_.empty() && pending_data_sources_.empty(); | 16 return pending_url_requests_.empty() && pending_data_sources_.empty(); |
17 } | 17 } |
18 | 18 |
19 void DataUseRecorder::OnBeforeUrlRequest(net::URLRequest* request) { | 19 void DataUseRecorder::AddPendingURLRequest(net::URLRequest* request) { |
20 pending_url_requests_.insert(request); | 20 pending_url_requests_.insert(request); |
21 } | 21 } |
22 | 22 |
23 void DataUseRecorder::OnUrlRequestDestroyed(net::URLRequest* request) { | 23 void DataUseRecorder::OnUrlRequestDestroyed(net::URLRequest* request) { |
24 pending_url_requests_.erase(request); | 24 pending_url_requests_.erase(request); |
25 } | 25 } |
26 | 26 |
| 27 void DataUseRecorder::RemoveAllPendingURLRequests() { |
| 28 pending_url_requests_.clear(); |
| 29 } |
| 30 |
| 31 void DataUseRecorder::OnBeforeUrlRequest(net::URLRequest* request) {} |
| 32 |
27 void DataUseRecorder::OnNetworkBytesReceived(net::URLRequest* request, | 33 void DataUseRecorder::OnNetworkBytesReceived(net::URLRequest* request, |
28 int64_t bytes_received) { | 34 int64_t bytes_received) { |
29 data_use_.total_bytes_received_ += bytes_received; | 35 data_use_.total_bytes_received_ += bytes_received; |
30 } | 36 } |
31 | 37 |
32 void DataUseRecorder::OnNetworkBytesSent(net::URLRequest* request, | 38 void DataUseRecorder::OnNetworkBytesSent(net::URLRequest* request, |
33 int64_t bytes_sent) { | 39 int64_t bytes_sent) { |
34 data_use_.total_bytes_sent_ += bytes_sent; | 40 data_use_.total_bytes_sent_ += bytes_sent; |
35 } | 41 } |
36 | 42 |
37 void DataUseRecorder::AddPendingDataSource(void* source) { | 43 void DataUseRecorder::AddPendingDataSource(void* source) { |
38 pending_data_sources_.insert(source); | 44 pending_data_sources_.insert(source); |
39 } | 45 } |
40 | 46 |
41 bool DataUseRecorder::HasPendingDataSource(void* source) { | 47 bool DataUseRecorder::HasPendingDataSource(void* source) { |
42 return pending_data_sources_.find(source) != pending_data_sources_.end(); | 48 return pending_data_sources_.find(source) != pending_data_sources_.end(); |
43 } | 49 } |
44 | 50 |
45 void DataUseRecorder::RemovePendingDataSource(void* source) { | 51 void DataUseRecorder::RemovePendingDataSource(void* source) { |
46 pending_data_sources_.erase(source); | 52 pending_data_sources_.erase(source); |
47 } | 53 } |
48 | 54 |
49 bool DataUseRecorder::HasPendingURLRequest(const net::URLRequest* request) { | 55 bool DataUseRecorder::HasPendingURLRequest(net::URLRequest* request) { |
50 return pending_url_requests_.find(request) != pending_url_requests_.end(); | 56 return pending_url_requests_.find(request) != pending_url_requests_.end(); |
51 } | 57 } |
52 | 58 |
| 59 void DataUseRecorder::MergeFrom(DataUseRecorder* other) { |
| 60 data_use_.MergeFrom(other->data_use()); |
| 61 } |
| 62 |
53 } // namespace data_use_measurement | 63 } // namespace data_use_measurement |
OLD | NEW |