Index: google_apis/gcm/engine/unregistration_request.cc |
diff --git a/google_apis/gcm/engine/unregistration_request.cc b/google_apis/gcm/engine/unregistration_request.cc |
index b7a07e4e6a60648a105dd01c941b351d47f63cf6..3d0d4774c25b02fdb1ad59843c099626cc848738 100644 |
--- a/google_apis/gcm/engine/unregistration_request.cc |
+++ b/google_apis/gcm/engine/unregistration_request.cc |
@@ -18,6 +18,7 @@ |
#include "net/base/load_flags.h" |
#include "net/http/http_request_headers.h" |
#include "net/http/http_status_code.h" |
+#include "net/traffic_annotation/network_traffic_annotation.h" |
#include "net/url_request/url_fetcher.h" |
#include "net/url_request/url_request_context_getter.h" |
#include "net/url_request/url_request_status.h" |
@@ -127,9 +128,36 @@ UnregistrationRequest::~UnregistrationRequest() {} |
void UnregistrationRequest::Start() { |
DCHECK(!callback_.is_null()); |
DCHECK(!url_fetcher_.get()); |
- |
- url_fetcher_ = |
- net::URLFetcher::Create(registration_url_, net::URLFetcher::POST, this); |
+ net::NetworkTrafficAnnotationTag traffic_annotation = |
+ net::DefineNetworkTrafficAnnotation("gcm_unregistration", R"( |
+ semantics { |
+ sender: "GCM Driver" |
+ description: |
+ "Chromium interacts with Google Cloud Messaging to receive push " |
+ "messages for various browser features, as well as on behalf of " |
+ "websites and extensions. This requests Google Cloud Messaging to " |
+ "invalidate the included registration so that it can no longer be " |
+ "used to distribute messages to Chromium." |
+ trigger: |
+ "Immediately after a feature, website or extension removes a " |
+ "registration they previously created with the GCM Driver." |
+ data: |
+ "The profile-bound Android ID and associated secret, and the " |
+ "identifiers for the feature, website or extension that is " |
+ "removing the registration." |
+ destination: GOOGLE_OWNED_SERVICE |
+ } |
+ policy { |
+ cookies_allowed: false |
+ setting: |
+ "Support for interacting with Google Cloud Messaging is enabled by " |
+ "default, and there is no configuration option to completely " |
+ "disable it." |
+ policy_exception_justification: |
+ "Not implemented, considered not useful." |
+ })"); |
+ url_fetcher_ = net::URLFetcher::Create( |
+ registration_url_, net::URLFetcher::POST, this, traffic_annotation); |
url_fetcher_->SetRequestContext(request_context_getter_.get()); |
url_fetcher_->SetLoadFlags(net::LOAD_DO_NOT_SEND_COOKIES | |
net::LOAD_DO_NOT_SAVE_COOKIES); |