| 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 |