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

Side by Side Diff: google_apis/gcm/engine/registration_request.cc

Issue 2737433002: Network traffic annotation added to goolge_apis/gcm/engine. (Closed)
Patch Set: Created 3 years, 9 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 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 "google_apis/gcm/engine/registration_request.h" 5 #include "google_apis/gcm/engine/registration_request.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 #include <utility> 8 #include <utility>
9 9
10 #include "base/bind.h" 10 #include "base/bind.h"
11 #include "base/location.h" 11 #include "base/location.h"
12 #include "base/macros.h" 12 #include "base/macros.h"
13 #include "base/message_loop/message_loop.h" 13 #include "base/message_loop/message_loop.h"
14 #include "base/metrics/histogram.h" 14 #include "base/metrics/histogram.h"
15 #include "base/strings/string_number_conversions.h" 15 #include "base/strings/string_number_conversions.h"
16 #include "base/threading/thread_task_runner_handle.h" 16 #include "base/threading/thread_task_runner_handle.h"
17 #include "base/values.h" 17 #include "base/values.h"
18 #include "google_apis/gcm/base/gcm_util.h" 18 #include "google_apis/gcm/base/gcm_util.h"
19 #include "google_apis/gcm/monitoring/gcm_stats_recorder.h" 19 #include "google_apis/gcm/monitoring/gcm_stats_recorder.h"
20 #include "net/base/load_flags.h" 20 #include "net/base/load_flags.h"
21 #include "net/http/http_request_headers.h" 21 #include "net/http/http_request_headers.h"
22 #include "net/http/http_status_code.h" 22 #include "net/http/http_status_code.h"
23 #include "net/traffic_annotation/network_traffic_annotation.h"
23 #include "net/url_request/url_fetcher.h" 24 #include "net/url_request/url_fetcher.h"
24 #include "net/url_request/url_request_context_getter.h" 25 #include "net/url_request/url_request_context_getter.h"
25 #include "net/url_request/url_request_status.h" 26 #include "net/url_request/url_request_status.h"
26 #include "url/gurl.h" 27 #include "url/gurl.h"
27 28
28 namespace gcm { 29 namespace gcm {
29 30
30 namespace { 31 namespace {
31 32
32 const char kRegistrationRequestContentType[] = 33 const char kRegistrationRequestContentType[] =
(...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after
137 source_to_record_(source_to_record), 138 source_to_record_(source_to_record),
138 weak_ptr_factory_(this) { 139 weak_ptr_factory_(this) {
139 DCHECK_GE(max_retry_count, 0); 140 DCHECK_GE(max_retry_count, 0);
140 } 141 }
141 142
142 RegistrationRequest::~RegistrationRequest() {} 143 RegistrationRequest::~RegistrationRequest() {}
143 144
144 void RegistrationRequest::Start() { 145 void RegistrationRequest::Start() {
145 DCHECK(!callback_.is_null()); 146 DCHECK(!callback_.is_null());
146 DCHECK(!url_fetcher_.get()); 147 DCHECK(!url_fetcher_.get());
147 148 net::NetworkTrafficAnnotationTag traffic_annotation =
Peter Beverloo 2017/03/15 18:58:04 Proposal (gcm_registration): semantics { sender
Ramin Halavati 2017/03/16 08:43:51 Done.
148 url_fetcher_ = 149 net::DefineNetworkTrafficAnnotation("...", R"(
149 net::URLFetcher::Create(registration_url_, net::URLFetcher::POST, this); 150 semantics {
151 sender: "..."
152 description: "..."
153 trigger: "..."
154 data: "..."
155 destination: WEBSITE/GOOGLE_OWNED_SERVICE/OTHER
156 }
157 policy {
158 cookies_allowed: false/true
159 cookies_store: "..."
160 setting: "..."
161 policy {
162 [POLICY_NAME] {
163 policy_options {mode: MANDATORY/RECOMMENDED/UNSET}
164 [POLICY_NAME]: ... //(value to disable it)
165 }
166 }
167 policy_exception_justification: "..."
168 })");
169 url_fetcher_ = net::URLFetcher::Create(
170 registration_url_, net::URLFetcher::POST, this, traffic_annotation);
150 url_fetcher_->SetRequestContext(request_context_getter_.get()); 171 url_fetcher_->SetRequestContext(request_context_getter_.get());
151 url_fetcher_->SetLoadFlags(net::LOAD_DO_NOT_SEND_COOKIES | 172 url_fetcher_->SetLoadFlags(net::LOAD_DO_NOT_SEND_COOKIES |
152 net::LOAD_DO_NOT_SAVE_COOKIES); 173 net::LOAD_DO_NOT_SAVE_COOKIES);
153 174
154 std::string extra_headers; 175 std::string extra_headers;
155 BuildRequestHeaders(&extra_headers); 176 BuildRequestHeaders(&extra_headers);
156 url_fetcher_->SetExtraRequestHeaders(extra_headers); 177 url_fetcher_->SetExtraRequestHeaders(extra_headers);
157 178
158 std::string body; 179 std::string body;
159 BuildRequestBody(&body); 180 BuildRequestBody(&body);
(...skipping 113 matching lines...) Expand 10 before | Expand all | Expand 10 after
273 // Only REACHED_MAX_RETRIES is reported because the function will skip 294 // Only REACHED_MAX_RETRIES is reported because the function will skip
274 // reporting count and time when status is not SUCCESS. 295 // reporting count and time when status is not SUCCESS.
275 DCHECK(custom_request_handler_.get()); 296 DCHECK(custom_request_handler_.get());
276 custom_request_handler_->ReportUMAs(status, 0, base::TimeDelta()); 297 custom_request_handler_->ReportUMAs(status, 0, base::TimeDelta());
277 } 298 }
278 299
279 callback_.Run(status, token); 300 callback_.Run(status, token);
280 } 301 }
281 302
282 } // namespace gcm 303 } // namespace gcm
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698