Chromium Code Reviews| Index: components/gcm_driver/gcm_channel_status_request.cc |
| diff --git a/components/gcm_driver/gcm_channel_status_request.cc b/components/gcm_driver/gcm_channel_status_request.cc |
| index 43c90eed2ced9358fe0878d38540ffff144af00b..a635f7aa17ecffa907472a406be8294b76cd845b 100644 |
| --- a/components/gcm_driver/gcm_channel_status_request.cc |
| +++ b/components/gcm_driver/gcm_channel_status_request.cc |
| @@ -14,6 +14,7 @@ |
| #include "net/base/escape.h" |
| #include "net/base/load_flags.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_status.h" |
| #include "url/gurl.h" |
| @@ -67,8 +68,42 @@ void GCMChannelStatusRequest::Start() { |
| NOTREACHED(); |
| } |
| - url_fetcher_ = |
| - net::URLFetcher::Create(request_url, net::URLFetcher::POST, this); |
| + net::NetworkTrafficAnnotationTag traffic_annotation = |
| + net::DefineNetworkTrafficAnnotation("gcm_channel_status_request", R"( |
| + semantics { |
| + sender: "GCM Driver" |
| + description: |
| + "Google Chrome interacts with Google Cloud Messaging to receive " |
| + "push messages for various browser features, as well as on behalf " |
| + "of websites and extensions. The channel status request " |
| + "periodically confirms with Google servers whether the feature " |
| + "should be enabled." |
| + trigger: |
| + "Periodically when Chrome has established an active Google Cloud " |
| + "Messaging subscription. The first request will be issued a minute " |
| + "after the first subscription activates. Subsequent requests will " |
| + "be issued each hour with a jitter of 15 minutes. Google can " |
| + "adjust this interval when it deems that necessary." |
|
fgorski
2017/02/21 19:08:11
nit: how do you feel about dropping "that" from th
Peter Beverloo
2017/02/21 20:15:27
sgtm
Ramin Halavati
2017/02/22 12:13:40
Done.
|
| + data: |
| + "A user agent string containing the Chrome version, channel and " |
| + "platform will be sent to the server. No user identifier is sent " |
| + "along with the request." |
| + 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. Websites wishing to receive push messages must " |
| + "acquire express permission from the user for the 'Notification' " |
| + "permission." |
| + policy_exception_justification: |
| + "Not implemented, considered not useful." |
| + })"); |
| + |
| + url_fetcher_ = net::URLFetcher::Create(request_url, net::URLFetcher::POST, |
| + this, traffic_annotation); |
| data_use_measurement::DataUseUserData::AttachToFetcher( |
| url_fetcher_.get(), data_use_measurement::DataUseUserData::GCM_DRIVER); |
| url_fetcher_->SetRequestContext(request_context_getter_.get()); |