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 "chrome/browser/data_use_measurement/chrome_data_use_ascriber.h" | 5 #include "chrome/browser/data_use_measurement/chrome_data_use_ascriber.h" |
6 | 6 |
7 #include <string> | 7 #include <string> |
8 | 8 |
9 #include "base/memory/ptr_util.h" | 9 #include "base/memory/ptr_util.h" |
10 #include "chrome/browser/data_use_measurement/chrome_data_use_recorder.h" | 10 #include "chrome/browser/data_use_measurement/chrome_data_use_recorder.h" |
(...skipping 119 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
130 DataUseRecorderEntry new_entry = CreateNewDataUseRecorder(request); | 130 DataUseRecorderEntry new_entry = CreateNewDataUseRecorder(request); |
131 new_entry->set_main_frame_request_id(navigation_key); | 131 new_entry->set_main_frame_request_id(navigation_key); |
132 pending_navigation_data_use_map_.insert( | 132 pending_navigation_data_use_map_.insert( |
133 std::make_pair(navigation_key, new_entry)); | 133 std::make_pair(navigation_key, new_entry)); |
134 | 134 |
135 return new_entry; | 135 return new_entry; |
136 } | 136 } |
137 | 137 |
138 DCHECK(frame_iter != main_render_frame_data_use_map_.end()); | 138 DCHECK(frame_iter != main_render_frame_data_use_map_.end()); |
139 auto entry = frame_iter->second; | 139 auto entry = frame_iter->second; |
140 request->SetUserData(DataUseRecorderEntryAsUserData::kUserDataKey, | 140 request->SetUserData( |
141 new DataUseRecorderEntryAsUserData(entry)); | 141 DataUseRecorderEntryAsUserData::kUserDataKey, |
| 142 base::MakeUnique<DataUseRecorderEntryAsUserData>(entry)); |
142 entry->AddPendingURLRequest(request); | 143 entry->AddPendingURLRequest(request); |
143 return entry; | 144 return entry; |
144 } | 145 } |
145 | 146 |
146 // Create a new DataUseRecorder for all other requests. | 147 // Create a new DataUseRecorder for all other requests. |
147 DataUseRecorderEntry entry = CreateNewDataUseRecorder(request); | 148 DataUseRecorderEntry entry = CreateNewDataUseRecorder(request); |
148 DataUse& data_use = entry->data_use(); | 149 DataUse& data_use = entry->data_use(); |
149 data_use.set_url(request->url()); | 150 data_use.set_url(request->url()); |
150 return entry; | 151 return entry; |
151 } | 152 } |
(...skipping 161 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
313 data_use_recorders_.erase(entry); | 314 data_use_recorders_.erase(entry); |
314 } | 315 } |
315 return; | 316 return; |
316 } | 317 } |
317 DataUseRecorderEntry old_frame_entry = frame_it->second; | 318 DataUseRecorderEntry old_frame_entry = frame_it->second; |
318 if (is_same_page_navigation) { | 319 if (is_same_page_navigation) { |
319 old_frame_entry->MergeFrom(&(*entry)); | 320 old_frame_entry->MergeFrom(&(*entry)); |
320 | 321 |
321 for (auto* request : entry->pending_url_requests()) { | 322 for (auto* request : entry->pending_url_requests()) { |
322 request->RemoveUserData(DataUseRecorderEntryAsUserData::kUserDataKey); | 323 request->RemoveUserData(DataUseRecorderEntryAsUserData::kUserDataKey); |
323 request->SetUserData(DataUseRecorderEntryAsUserData::kUserDataKey, | 324 request->SetUserData( |
324 new DataUseRecorderEntryAsUserData(old_frame_entry)); | 325 DataUseRecorderEntryAsUserData::kUserDataKey, |
| 326 base::MakeUnique<DataUseRecorderEntryAsUserData>(old_frame_entry)); |
325 old_frame_entry->AddPendingURLRequest(request); | 327 old_frame_entry->AddPendingURLRequest(request); |
326 } | 328 } |
327 | 329 |
328 entry->RemoveAllPendingURLRequests(); | 330 entry->RemoveAllPendingURLRequests(); |
329 | 331 |
330 data_use_recorders_.erase(entry); | 332 data_use_recorders_.erase(entry); |
331 } else { | 333 } else { |
332 // Navigation is not same page, so remove old entry from | 334 // Navigation is not same page, so remove old entry from |
333 // |main_render_frame_data_use_map_|, possibly marking it complete. | 335 // |main_render_frame_data_use_map_|, possibly marking it complete. |
334 main_render_frame_data_use_map_.erase(frame_it); | 336 main_render_frame_data_use_map_.erase(frame_it); |
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
376 ChromeDataUseAscriber::CreateURLRequestClassifier() const { | 378 ChromeDataUseAscriber::CreateURLRequestClassifier() const { |
377 return base::MakeUnique<ContentURLRequestClassifier>(); | 379 return base::MakeUnique<ContentURLRequestClassifier>(); |
378 } | 380 } |
379 | 381 |
380 ChromeDataUseAscriber::DataUseRecorderEntry | 382 ChromeDataUseAscriber::DataUseRecorderEntry |
381 ChromeDataUseAscriber::CreateNewDataUseRecorder(net::URLRequest* request) { | 383 ChromeDataUseAscriber::CreateNewDataUseRecorder(net::URLRequest* request) { |
382 DataUseRecorderEntry entry = data_use_recorders_.emplace( | 384 DataUseRecorderEntry entry = data_use_recorders_.emplace( |
383 data_use_recorders_.end()); | 385 data_use_recorders_.end()); |
384 if (request) { | 386 if (request) { |
385 entry->AddPendingURLRequest(request); | 387 entry->AddPendingURLRequest(request); |
386 request->SetUserData(DataUseRecorderEntryAsUserData::kUserDataKey, | 388 request->SetUserData( |
387 new DataUseRecorderEntryAsUserData(entry)); | 389 DataUseRecorderEntryAsUserData::kUserDataKey, |
| 390 base::MakeUnique<DataUseRecorderEntryAsUserData>(entry)); |
388 } | 391 } |
389 return entry; | 392 return entry; |
390 } | 393 } |
391 | 394 |
392 void ChromeDataUseAscriber::WasShownOrHidden(int main_render_process_id, | 395 void ChromeDataUseAscriber::WasShownOrHidden(int main_render_process_id, |
393 int main_render_frame_id, | 396 int main_render_frame_id, |
394 bool visible) { | 397 bool visible) { |
395 RenderFrameHostID main_render_frame_host_id(main_render_process_id, | 398 RenderFrameHostID main_render_frame_host_id(main_render_process_id, |
396 main_render_frame_id); | 399 main_render_frame_id); |
397 | 400 |
(...skipping 14 matching lines...) Expand all Loading... |
412 int new_render_process_id, | 415 int new_render_process_id, |
413 int new_render_frame_id) { | 416 int new_render_frame_id) { |
414 if (visible_main_render_frames_.find( | 417 if (visible_main_render_frames_.find( |
415 RenderFrameHostID(old_render_process_id, old_render_frame_id)) != | 418 RenderFrameHostID(old_render_process_id, old_render_frame_id)) != |
416 visible_main_render_frames_.end()) { | 419 visible_main_render_frames_.end()) { |
417 WasShownOrHidden(new_render_process_id, new_render_frame_id, true); | 420 WasShownOrHidden(new_render_process_id, new_render_frame_id, true); |
418 } | 421 } |
419 } | 422 } |
420 | 423 |
421 } // namespace data_use_measurement | 424 } // namespace data_use_measurement |
OLD | NEW |