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

Side by Side Diff: components/data_use_measurement/core/data_use_recorder.cc

Issue 2534023002: Create a DataUseRecorder instance for each page load in Chrome. (Closed)
Patch Set: Use emplace to insert; remove copy constructor Created 4 years 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
« no previous file with comments | « components/data_use_measurement/core/data_use_recorder.h ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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
OLDNEW
« no previous file with comments | « components/data_use_measurement/core/data_use_recorder.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698