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

Side by Side Diff: components/data_use_measurement/core/data_use_ascriber.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
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_ascriber.h" 5 #include "components/data_use_measurement/core/data_use_ascriber.h"
6 6
7 #include <utility> 7 #include <utility>
8 8
9 #include "base/memory/ptr_util.h" 9 #include "base/memory/ptr_util.h"
10 #include "components/data_use_measurement/core/data_use_network_delegate.h" 10 #include "components/data_use_measurement/core/data_use_network_delegate.h"
11 #include "components/data_use_measurement/core/data_use_recorder.h" 11 #include "components/data_use_measurement/core/data_use_recorder.h"
12 #include "components/data_use_measurement/core/url_request_classifier.h" 12 #include "components/data_use_measurement/core/url_request_classifier.h"
13 13
14 namespace data_use_measurement { 14 namespace data_use_measurement {
15 15
16 std::unique_ptr<net::NetworkDelegate> DataUseAscriber::CreateNetworkDelegate( 16 std::unique_ptr<net::NetworkDelegate> DataUseAscriber::CreateNetworkDelegate(
17 std::unique_ptr<net::NetworkDelegate> wrapped_network_delegate, 17 std::unique_ptr<net::NetworkDelegate> wrapped_network_delegate,
18 const metrics::UpdateUsagePrefCallbackType& metrics_data_use_forwarder) { 18 const metrics::UpdateUsagePrefCallbackType& metrics_data_use_forwarder) {
19 return base::MakeUnique<data_use_measurement::DataUseNetworkDelegate>( 19 return base::MakeUnique<data_use_measurement::DataUseNetworkDelegate>(
20 std::move(wrapped_network_delegate), this, CreateURLRequestClassifier(), 20 std::move(wrapped_network_delegate), this, CreateURLRequestClassifier(),
21 metrics_data_use_forwarder); 21 metrics_data_use_forwarder);
22 } 22 }
23 23
24 void DataUseAscriber::OnBeforeUrlRequest(net::URLRequest* request) { 24 void DataUseAscriber::OnBeforeUrlRequest(net::URLRequest* request) {
25 DataUseRecorder* recorder = GetDataUseRecorder(request); 25 DataUseRecorder* recorder = GetDataUseRecorder(request, true);
26 if (recorder) 26 if (recorder)
27 recorder->OnBeforeUrlRequest(request); 27 recorder->OnBeforeUrlRequest(request);
28 } 28 }
29 29
30 void DataUseAscriber::OnBeforeRedirect(net::URLRequest* request,
31 const GURL& new_location) {}
32
33 void DataUseAscriber::OnNetworkBytesSent(net::URLRequest* request, 30 void DataUseAscriber::OnNetworkBytesSent(net::URLRequest* request,
34 int64_t bytes_sent) { 31 int64_t bytes_sent) {
35 DataUseRecorder* recorder = GetDataUseRecorder(request); 32 DataUseRecorder* recorder = GetDataUseRecorder(request, false);
36 if (recorder) 33 if (recorder)
37 recorder->OnNetworkBytesSent(request, bytes_sent); 34 recorder->OnNetworkBytesSent(request, bytes_sent);
38 } 35 }
39 36
40 void DataUseAscriber::OnNetworkBytesReceived(net::URLRequest* request, 37 void DataUseAscriber::OnNetworkBytesReceived(net::URLRequest* request,
41 int64_t bytes_received) { 38 int64_t bytes_received) {
42 DataUseRecorder* recorder = GetDataUseRecorder(request); 39 DataUseRecorder* recorder = GetDataUseRecorder(request, false);
43 if (recorder) 40 if (recorder)
44 recorder->OnNetworkBytesReceived(request, bytes_received); 41 recorder->OnNetworkBytesReceived(request, bytes_received);
45 } 42 }
46 43
44 void DataUseAscriber::OnUrlRequestCompleted(net::URLRequest* request,
45 bool started) {}
46
47 void DataUseAscriber::OnUrlRequestDestroyed(net::URLRequest* request) { 47 void DataUseAscriber::OnUrlRequestDestroyed(net::URLRequest* request) {
48 DataUseRecorder* recorder = GetDataUseRecorder(request); 48 DataUseRecorder* recorder = GetDataUseRecorder(request, true);
49 // TODO(kundaji): Enforce DCHECK(recorder).
50 if (recorder) 49 if (recorder)
51 recorder->OnUrlRequestDestroyed(request); 50 recorder->OnUrlRequestDestroyed(request);
52 } 51 }
53 52
54 } // namespace data_use_measurement 53 } // namespace data_use_measurement
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698