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

Side by Side Diff: components/signin/core/browser/refresh_token_annotation_request.cc

Issue 2888053003: Network traffic annotation added to OAuth2ApiCallFlow and its subclasses. (Closed)
Patch Set: Created 3 years, 7 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 "components/signin/core/browser/refresh_token_annotation_request.h" 5 #include "components/signin/core/browser/refresh_token_annotation_request.h"
6 6
7 #include "base/location.h" 7 #include "base/location.h"
8 #include "base/metrics/histogram_macros.h" 8 #include "base/metrics/histogram_macros.h"
9 #include "base/rand_util.h" 9 #include "base/rand_util.h"
10 #include "base/single_thread_task_runner.h" 10 #include "base/single_thread_task_runner.h"
11 #include "base/strings/stringprintf.h" 11 #include "base/strings/stringprintf.h"
12 #include "base/threading/thread_task_runner_handle.h" 12 #include "base/threading/thread_task_runner_handle.h"
13 #include "base/time/time.h" 13 #include "base/time/time.h"
14 #include "components/prefs/pref_service.h" 14 #include "components/prefs/pref_service.h"
15 #include "components/signin/core/browser/signin_client.h" 15 #include "components/signin/core/browser/signin_client.h"
16 #include "components/signin/core/common/signin_pref_names.h" 16 #include "components/signin/core/common/signin_pref_names.h"
17 #include "google_apis/gaia/gaia_constants.h" 17 #include "google_apis/gaia/gaia_constants.h"
18 #include "google_apis/gaia/gaia_urls.h" 18 #include "google_apis/gaia/gaia_urls.h"
19 #include "net/base/escape.h" 19 #include "net/base/escape.h"
20 #include "net/traffic_annotation/network_traffic_annotation.h"
20 #include "net/url_request/url_request_context_getter.h" 21 #include "net/url_request/url_request_context_getter.h"
21 22
22 namespace { 23 namespace {
23 24
24 void RecordRequestStatusHistogram(bool success) { 25 void RecordRequestStatusHistogram(bool success) {
25 UMA_HISTOGRAM_BOOLEAN("Signin.RefreshTokenAnnotationRequest", success); 26 UMA_HISTOGRAM_BOOLEAN("Signin.RefreshTokenAnnotationRequest", success);
26 } 27 }
27 } 28 }
28 29
29 RefreshTokenAnnotationRequest::RefreshTokenAnnotationRequest( 30 RefreshTokenAnnotationRequest::RefreshTokenAnnotationRequest(
(...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after
107 scopes.insert(GaiaConstants::kOAuth1LoginScope); 108 scopes.insert(GaiaConstants::kOAuth1LoginScope);
108 access_token_request_ = token_service->StartRequest(account_id, scopes, this); 109 access_token_request_ = token_service->StartRequest(account_id, scopes, this);
109 } 110 }
110 111
111 void RefreshTokenAnnotationRequest::OnGetTokenSuccess( 112 void RefreshTokenAnnotationRequest::OnGetTokenSuccess(
112 const OAuth2TokenService::Request* request, 113 const OAuth2TokenService::Request* request,
113 const std::string& access_token, 114 const std::string& access_token,
114 const base::Time& expiration_time) { 115 const base::Time& expiration_time) {
115 DCHECK(CalledOnValidThread()); 116 DCHECK(CalledOnValidThread());
116 DVLOG(2) << "Got access token"; 117 DVLOG(2) << "Got access token";
117 Start(request_context_getter_.get(), access_token); 118 net::NetworkTrafficAnnotationTag traffic_annotation =
119 net::DefineNetworkTrafficAnnotation("...", R"(
120 semantics {
121 sender: "..."
122 description: "..."
123 trigger: "..."
124 data: "..."
125 destination: WEBSITE/GOOGLE_OWNED_SERVICE/OTHER/LOCAL
126 }
127 policy {
128 cookies_allowed: false/true
129 cookies_store: "..."
130 setting: "..."
131 chrome_policy {
132 [POLICY_NAME] {
133 policy_options {mode: MANDATORY/RECOMMENDED/UNSET}
134 [POLICY_NAME]: ... //(value to disable it)
135 }
136 }
137 policy_exception_justification: "..."
138 })");
139 Start(request_context_getter_.get(), access_token, traffic_annotation);
118 } 140 }
119 141
120 void RefreshTokenAnnotationRequest::OnGetTokenFailure( 142 void RefreshTokenAnnotationRequest::OnGetTokenFailure(
121 const OAuth2TokenService::Request* request, 143 const OAuth2TokenService::Request* request,
122 const GoogleServiceAuthError& error) { 144 const GoogleServiceAuthError& error) {
123 DCHECK(CalledOnValidThread()); 145 DCHECK(CalledOnValidThread());
124 DVLOG(2) << "Failed to get access token"; 146 DVLOG(2) << "Failed to get access token";
125 RecordRequestStatusHistogram(false); 147 RecordRequestStatusHistogram(false);
126 base::ThreadTaskRunnerHandle::Get()->PostTask(FROM_HERE, request_callback_); 148 base::ThreadTaskRunnerHandle::Get()->PostTask(FROM_HERE, request_callback_);
127 request_callback_.Reset(); 149 request_callback_.Reset();
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
164 } 186 }
165 187
166 void RefreshTokenAnnotationRequest::ProcessApiCallFailure( 188 void RefreshTokenAnnotationRequest::ProcessApiCallFailure(
167 const net::URLFetcher* source) { 189 const net::URLFetcher* source) {
168 DCHECK(CalledOnValidThread()); 190 DCHECK(CalledOnValidThread());
169 DVLOG(2) << "Request failed"; 191 DVLOG(2) << "Request failed";
170 RecordRequestStatusHistogram(false); 192 RecordRequestStatusHistogram(false);
171 base::ThreadTaskRunnerHandle::Get()->PostTask(FROM_HERE, request_callback_); 193 base::ThreadTaskRunnerHandle::Get()->PostTask(FROM_HERE, request_callback_);
172 request_callback_.Reset(); 194 request_callback_.Reset();
173 } 195 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698