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

Side by Side Diff: chrome/browser/data_use_measurement/chrome_data_use_ascriber.cc

Issue 2950603003: Minor refactor to get rid of a friend association (Closed)
Patch Set: Created 3 years, 6 months 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 "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 120 matching lines...) Expand 10 before | Expand all | Expand 10 after
131 const auto main_frame_key_iter = subframe_to_mainframe_map_.find(frame_key); 131 const auto main_frame_key_iter = subframe_to_mainframe_map_.find(frame_key);
132 if (main_frame_key_iter == subframe_to_mainframe_map_.end()) { 132 if (main_frame_key_iter == subframe_to_mainframe_map_.end()) {
133 return data_use_recorders_.end(); 133 return data_use_recorders_.end();
134 } 134 }
135 const auto frame_iter = 135 const auto frame_iter =
136 main_render_frame_data_use_map_.find(main_frame_key_iter->second); 136 main_render_frame_data_use_map_.find(main_frame_key_iter->second);
137 if (frame_iter == main_render_frame_data_use_map_.end()) { 137 if (frame_iter == main_render_frame_data_use_map_.end()) {
138 return data_use_recorders_.end(); 138 return data_use_recorders_.end();
139 } 139 }
140 140
141 const auto entry = frame_iter->second; 141 AscribeRecorderWithRequest(request, frame_iter->second);
142 request->SetUserData( 142 return frame_iter->second;
143 DataUseRecorderEntryAsUserData::kUserDataKey,
144 base::MakeUnique<DataUseRecorderEntryAsUserData>(entry));
145 entry->AddPendingURLRequest(request);
146 return entry;
147 } 143 }
148 144
149 // Create a new DataUseRecorder for all other requests. 145 // Create a new DataUseRecorder for all other requests.
150 DataUseRecorderEntry entry = CreateNewDataUseRecorder( 146 DataUseRecorderEntry entry = CreateNewDataUseRecorder(
151 request, 147 request,
152 content::ResourceRequestInfo::OriginatedFromServiceWorker(request) 148 content::ResourceRequestInfo::OriginatedFromServiceWorker(request)
153 ? DataUse::TrafficType::SERVICE_WORKER 149 ? DataUse::TrafficType::SERVICE_WORKER
154 : DataUse::TrafficType::UNKNOWN); 150 : DataUse::TrafficType::UNKNOWN);
155 DataUse& data_use = entry->data_use(); 151 DataUse& data_use = entry->data_use();
156 data_use.set_url(request->url()); 152 data_use.set_url(request->url());
(...skipping 212 matching lines...) Expand 10 before | Expand all | Expand 10 after
369 } 365 }
370 return; 366 return;
371 } 367 }
372 DataUseRecorderEntry old_frame_entry = frame_it->second; 368 DataUseRecorderEntry old_frame_entry = frame_it->second;
373 old_frame_entry->set_page_transition(page_transition); 369 old_frame_entry->set_page_transition(page_transition);
374 NotifyPageLoadCommit(old_frame_entry); 370 NotifyPageLoadCommit(old_frame_entry);
375 371
376 if (is_same_page_navigation) { 372 if (is_same_page_navigation) {
377 old_frame_entry->MergeFrom(&(*entry)); 373 old_frame_entry->MergeFrom(&(*entry));
378 374
379 for (auto* request : entry->pending_url_requests()) { 375 for (auto* request : entry->pending_url_requests())
380 request->RemoveUserData(DataUseRecorderEntryAsUserData::kUserDataKey); 376 AscribeRecorderWithRequest(request, old_frame_entry);
381 request->SetUserData(
382 DataUseRecorderEntryAsUserData::kUserDataKey,
383 base::MakeUnique<DataUseRecorderEntryAsUserData>(old_frame_entry));
384 old_frame_entry->AddPendingURLRequest(request);
385 }
386 377
387 entry->RemoveAllPendingURLRequests(); 378 entry->RemoveAllPendingURLRequests();
388
389 data_use_recorders_.erase(entry); 379 data_use_recorders_.erase(entry);
390 } else { 380 } else {
391 if (old_frame_entry->IsDataUseComplete()) { 381 if (old_frame_entry->IsDataUseComplete()) {
392 NotifyDataUseCompleted(old_frame_entry); 382 NotifyDataUseCompleted(old_frame_entry);
393 data_use_recorders_.erase(old_frame_entry); 383 data_use_recorders_.erase(old_frame_entry);
394 384
395 if (visible_main_render_frames_.find(mainframe) != 385 if (visible_main_render_frames_.find(mainframe) !=
396 visible_main_render_frames_.end()) { 386 visible_main_render_frames_.end()) {
397 entry->set_is_visible(true); 387 entry->set_is_visible(true);
398 } 388 }
(...skipping 28 matching lines...) Expand all
427 ChromeDataUseAscriber::CreateURLRequestClassifier() const { 417 ChromeDataUseAscriber::CreateURLRequestClassifier() const {
428 return base::MakeUnique<ContentURLRequestClassifier>(); 418 return base::MakeUnique<ContentURLRequestClassifier>();
429 } 419 }
430 420
431 ChromeDataUseAscriber::DataUseRecorderEntry 421 ChromeDataUseAscriber::DataUseRecorderEntry
432 ChromeDataUseAscriber::CreateNewDataUseRecorder( 422 ChromeDataUseAscriber::CreateNewDataUseRecorder(
433 net::URLRequest* request, 423 net::URLRequest* request,
434 DataUse::TrafficType traffic_type) { 424 DataUse::TrafficType traffic_type) {
435 DataUseRecorderEntry entry = 425 DataUseRecorderEntry entry =
436 data_use_recorders_.emplace(data_use_recorders_.end(), traffic_type); 426 data_use_recorders_.emplace(data_use_recorders_.end(), traffic_type);
437 if (request) { 427 if (request)
438 entry->AddPendingURLRequest(request); 428 AscribeRecorderWithRequest(request, entry);
439 request->SetUserData(
440 DataUseRecorderEntryAsUserData::kUserDataKey,
441 base::MakeUnique<DataUseRecorderEntryAsUserData>(entry));
442 }
443 return entry; 429 return entry;
444 } 430 }
445 431
432 void ChromeDataUseAscriber::AscribeRecorderWithRequest(
433 net::URLRequest* request,
434 DataUseRecorderEntry recorder) {
435 recorder->AddPendingURLRequest(request);
436 request->SetUserData(
437 DataUseRecorderEntryAsUserData::kUserDataKey,
438 base::MakeUnique<DataUseRecorderEntryAsUserData>(recorder));
439 }
440
446 void ChromeDataUseAscriber::WasShownOrHidden(int main_render_process_id, 441 void ChromeDataUseAscriber::WasShownOrHidden(int main_render_process_id,
447 int main_render_frame_id, 442 int main_render_frame_id,
448 bool visible) { 443 bool visible) {
449 RenderFrameHostID main_render_frame_host_id(main_render_process_id, 444 RenderFrameHostID main_render_frame_host_id(main_render_process_id,
450 main_render_frame_id); 445 main_render_frame_id);
451 446
452 auto frame_iter = 447 auto frame_iter =
453 main_render_frame_data_use_map_.find(main_render_frame_host_id); 448 main_render_frame_data_use_map_.find(main_render_frame_host_id);
454 if (frame_iter != main_render_frame_data_use_map_.end()) 449 if (frame_iter != main_render_frame_data_use_map_.end())
455 frame_iter->second->set_is_visible(visible); 450 frame_iter->second->set_is_visible(visible);
(...skipping 18 matching lines...) Expand all
474 pending_navigation_global_request_id_.find(old_frame); 469 pending_navigation_global_request_id_.find(old_frame);
475 if (pending_navigation_iter != pending_navigation_global_request_id_.end()) { 470 if (pending_navigation_iter != pending_navigation_global_request_id_.end()) {
476 pending_navigation_global_request_id_.insert(std::make_pair( 471 pending_navigation_global_request_id_.insert(std::make_pair(
477 RenderFrameHostID(new_render_process_id, new_render_frame_id), 472 RenderFrameHostID(new_render_process_id, new_render_frame_id),
478 pending_navigation_iter->second)); 473 pending_navigation_iter->second));
479 pending_navigation_global_request_id_.erase(pending_navigation_iter); 474 pending_navigation_global_request_id_.erase(pending_navigation_iter);
480 } 475 }
481 } 476 }
482 477
483 } // namespace data_use_measurement 478 } // namespace data_use_measurement
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698