Index: components/data_use_measurement/core/data_use_recorder.cc |
diff --git a/components/data_use_measurement/core/data_use_recorder.cc b/components/data_use_measurement/core/data_use_recorder.cc |
index ce45d1b7101eef0b2d2bfb5f25e62df23c30186e..5e1ef7271ecc746933b2ba9d003b779ff4aa1289 100644 |
--- a/components/data_use_measurement/core/data_use_recorder.cc |
+++ b/components/data_use_measurement/core/data_use_recorder.cc |
@@ -8,7 +8,13 @@ |
namespace data_use_measurement { |
-DataUseRecorder::DataUseRecorder() {} |
+DataUseRecorder::DataUseRecorder() : main_url_request_(nullptr) {} |
+ |
+DataUseRecorder::DataUseRecorder(const DataUseRecorder& other) : |
+ pending_url_requests_(other.pending_url_requests_), |
+ pending_data_sources_(other.pending_data_sources_), |
+ main_url_request_(other.main_url_request_), |
+ data_use_(other.data_use_) {} |
DataUseRecorder::~DataUseRecorder() {} |
@@ -16,7 +22,7 @@ bool DataUseRecorder::IsDataUseComplete() { |
return pending_url_requests_.empty() && pending_data_sources_.empty(); |
} |
-void DataUseRecorder::OnBeforeUrlRequest(net::URLRequest* request) { |
+void DataUseRecorder::AddPendingURLRequest(net::URLRequest* request) { |
pending_url_requests_.insert(request); |
} |
@@ -24,6 +30,12 @@ void DataUseRecorder::OnUrlRequestDestroyed(net::URLRequest* request) { |
pending_url_requests_.erase(request); |
} |
+void DataUseRecorder::RemoveAllPendingURLRequests() { |
+ pending_url_requests_.clear(); |
+} |
+ |
+void DataUseRecorder::OnBeforeUrlRequest(net::URLRequest* request) {} |
+ |
void DataUseRecorder::OnNetworkBytesReceived(net::URLRequest* request, |
int64_t bytes_received) { |
data_use_.total_bytes_received_ += bytes_received; |
@@ -46,8 +58,12 @@ void DataUseRecorder::RemovePendingDataSource(void* source) { |
pending_data_sources_.erase(source); |
} |
-bool DataUseRecorder::HasPendingURLRequest(const net::URLRequest* request) { |
+bool DataUseRecorder::HasPendingURLRequest(net::URLRequest* request) { |
return pending_url_requests_.find(request) != pending_url_requests_.end(); |
} |
+void DataUseRecorder::MergeFrom(DataUseRecorder* other) { |
+ data_use_.MergeFrom(other->data_use()); |
+} |
+ |
} // namespace data_use_measurement |