Chromium Code Reviews| 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 67 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 78 request->GetUserData(DataUseRecorderEntryAsUserData::kUserDataKey)); | 78 request->GetUserData(DataUseRecorderEntryAsUserData::kUserDataKey)); |
| 79 if (user_data) | 79 if (user_data) |
| 80 return user_data->recorder_entry(); | 80 return user_data->recorder_entry(); |
| 81 | 81 |
| 82 // If request is associated with a ChromeService, create a new | 82 // If request is associated with a ChromeService, create a new |
| 83 // DataUseRecorder for it. There is no reason to aggregate URLRequests | 83 // DataUseRecorder for it. There is no reason to aggregate URLRequests |
| 84 // from ChromeServices into the same DataUseRecorder instance. | 84 // from ChromeServices into the same DataUseRecorder instance. |
| 85 DataUseUserData* service = static_cast<DataUseUserData*>( | 85 DataUseUserData* service = static_cast<DataUseUserData*>( |
| 86 request->GetUserData(DataUseUserData::kUserDataKey)); | 86 request->GetUserData(DataUseUserData::kUserDataKey)); |
| 87 if (service) { | 87 if (service) { |
| 88 DataUseRecorderEntry entry = CreateNewDataUseRecorder(request); | 88 DataUseRecorderEntry entry = CreateNewDataUseRecorder(request); |
|
tbansal1
2017/05/09 00:59:08
May be just provide traffic type as an argument to
rajendrant
2017/05/11 21:16:08
Done.
But still UNKNOWN type is needed.
| |
| 89 | 89 entry->data_use().set_traffic_type(DataUse::SERVICES); |
| 90 entry->data_use().set_description( | 90 entry->data_use().set_description( |
| 91 DataUseUserData::GetServiceNameAsString(service->service_name())); | 91 DataUseUserData::GetServiceNameAsString(service->service_name())); |
| 92 return entry; | 92 return entry; |
| 93 } | 93 } |
| 94 | 94 |
| 95 int render_process_id = -1; | 95 int render_process_id = -1; |
| 96 int render_frame_id = -1; | 96 int render_frame_id = -1; |
| 97 bool has_valid_frame = content::ResourceRequestInfo::GetRenderFrameForRequest( | 97 bool has_valid_frame = content::ResourceRequestInfo::GetRenderFrameForRequest( |
| 98 request, &render_process_id, &render_frame_id); | 98 request, &render_process_id, &render_frame_id); |
| 99 if (has_valid_frame && | 99 if (has_valid_frame && |
| (...skipping 22 matching lines...) Expand all Loading... | |
| 122 content::ResourceType resource_type = | 122 content::ResourceType resource_type = |
| 123 request_info ? request_info->GetResourceType() | 123 request_info ? request_info->GetResourceType() |
| 124 : content::RESOURCE_TYPE_LAST_TYPE; | 124 : content::RESOURCE_TYPE_LAST_TYPE; |
| 125 | 125 |
| 126 if (resource_type == content::RESOURCE_TYPE_MAIN_FRAME) { | 126 if (resource_type == content::RESOURCE_TYPE_MAIN_FRAME) { |
| 127 content::GlobalRequestID navigation_key = | 127 content::GlobalRequestID navigation_key = |
| 128 request_info->GetGlobalRequestID(); | 128 request_info->GetGlobalRequestID(); |
| 129 | 129 |
| 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 new_entry->data_use().set_traffic_type(DataUse::USER_TRAFFIC); | |
| 132 pending_navigation_data_use_map_.insert( | 133 pending_navigation_data_use_map_.insert( |
| 133 std::make_pair(navigation_key, new_entry)); | 134 std::make_pair(navigation_key, new_entry)); |
| 134 | 135 |
| 135 return new_entry; | 136 return new_entry; |
| 136 } | 137 } |
| 137 | 138 |
| 138 DCHECK(frame_iter != main_render_frame_data_use_map_.end()); | 139 DCHECK(frame_iter != main_render_frame_data_use_map_.end()); |
| 139 auto entry = frame_iter->second; | 140 auto entry = frame_iter->second; |
| 140 request->SetUserData( | 141 request->SetUserData( |
| 141 DataUseRecorderEntryAsUserData::kUserDataKey, | 142 DataUseRecorderEntryAsUserData::kUserDataKey, |
| 142 base::MakeUnique<DataUseRecorderEntryAsUserData>(entry)); | 143 base::MakeUnique<DataUseRecorderEntryAsUserData>(entry)); |
| 143 entry->AddPendingURLRequest(request); | 144 entry->AddPendingURLRequest(request); |
| 144 return entry; | 145 return entry; |
| 145 } | 146 } |
| 146 | 147 |
| 147 // Create a new DataUseRecorder for all other requests. | 148 // Create a new DataUseRecorder for all other requests. |
| 148 DataUseRecorderEntry entry = CreateNewDataUseRecorder(request); | 149 DataUseRecorderEntry entry = CreateNewDataUseRecorder(request); |
| 149 DataUse& data_use = entry->data_use(); | 150 DataUse& data_use = entry->data_use(); |
| 150 data_use.set_url(request->url()); | 151 data_use.set_url(request->url()); |
| 152 if (content::ResourceRequestInfo::OriginatedFromServiceWorker(request)) | |
| 153 data_use.set_traffic_type(DataUse::SERVICE_WORKER); | |
| 151 return entry; | 154 return entry; |
| 152 } | 155 } |
| 153 | 156 |
| 154 void ChromeDataUseAscriber::OnUrlRequestDestroyed(net::URLRequest* request) { | 157 void ChromeDataUseAscriber::OnUrlRequestDestroyed(net::URLRequest* request) { |
| 155 DCHECK_CURRENTLY_ON(content::BrowserThread::IO); | 158 DCHECK_CURRENTLY_ON(content::BrowserThread::IO); |
| 156 | 159 |
| 157 DataUseRecorderEntry entry = GetOrCreateDataUseRecorderEntry(request); | 160 DataUseRecorderEntry entry = GetOrCreateDataUseRecorderEntry(request); |
| 158 | 161 |
| 159 if (entry == data_use_recorders_.end()) | 162 if (entry == data_use_recorders_.end()) |
| 160 return; | 163 return; |
| (...skipping 254 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 415 int new_render_process_id, | 418 int new_render_process_id, |
| 416 int new_render_frame_id) { | 419 int new_render_frame_id) { |
| 417 if (visible_main_render_frames_.find( | 420 if (visible_main_render_frames_.find( |
| 418 RenderFrameHostID(old_render_process_id, old_render_frame_id)) != | 421 RenderFrameHostID(old_render_process_id, old_render_frame_id)) != |
| 419 visible_main_render_frames_.end()) { | 422 visible_main_render_frames_.end()) { |
| 420 WasShownOrHidden(new_render_process_id, new_render_frame_id, true); | 423 WasShownOrHidden(new_render_process_id, new_render_frame_id, true); |
| 421 } | 424 } |
| 422 } | 425 } |
| 423 | 426 |
| 424 } // namespace data_use_measurement | 427 } // namespace data_use_measurement |
| OLD | NEW |