Chromium Code Reviews| Index: components/invalidation/impl/gcm_network_channel.cc |
| diff --git a/components/invalidation/impl/gcm_network_channel.cc b/components/invalidation/impl/gcm_network_channel.cc |
| index 033843c4ec2f8999febb1da5b6cc41ee6d7fada1..a677ea58ce1981af2d51fd2929fbda9fa269e632 100644 |
| --- a/components/invalidation/impl/gcm_network_channel.cc |
| +++ b/components/invalidation/impl/gcm_network_channel.cc |
| @@ -21,6 +21,7 @@ |
| #include "google_apis/gaia/google_service_auth_error.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" |
| @@ -218,8 +219,41 @@ void GCMNetworkChannel::OnGetTokenComplete( |
| access_token_ = token; |
| DVLOG(2) << "Got access token, sending message"; |
| - fetcher_ = net::URLFetcher::Create(BuildUrl(registration_id_), |
| - net::URLFetcher::POST, this); |
| + net::NetworkTrafficAnnotationTag traffic_annotation = |
| + net::DefineNetworkTrafficAnnotation("invalidation_service", R"( |
| + semantics { |
| + sender: "Invalidation service" |
| + description: |
| + "Chromium uses cacheinvalidation library to receive push " |
| + "notifications from server about sync items (bookmarks, passwords, " |
|
msramek
2017/03/07 10:53:29
the server
Ramin Halavati
2017/03/07 13:10:35
Done.
|
| + "preferences, etc.) modified on other clients. It uses GCMClient " |
| + "to receive incoming messages. This request is used for " |
| + "client-to-server communications." |
| + trigger: |
| + "The first message is sent to register client with the server on " |
| + "Chromium startup. It is then sent periodically to confirm that " |
| + "client is still online. After receiving notification about server " |
|
msramek
2017/03/07 10:53:29
the client
Ramin Halavati
2017/03/07 13:10:35
Done.
|
| + "changes client sends this request to acknowledge that " |
|
msramek
2017/03/07 10:53:29
changes, the client
Ramin Halavati
2017/03/07 13:10:35
Done.
|
| + "notification is processed." |
|
msramek
2017/03/07 10:53:29
the notification
Ramin Halavati
2017/03/07 13:10:34
Done.
|
| + data: |
| + "No PII data is sent in this request. Request contains " |
|
msramek
2017/03/07 10:53:29
The request.
Ramin Halavati
2017/03/07 13:10:34
Done.
|
| + "client_token generated on the server. It includes invalidation " |
| + "object ids (not specific to client) and versions when confirming " |
|
msramek
2017/03/07 10:53:29
a client
I also don't fully understand the senten
msramek
2017/03/14 16:17:50
pavely@, can you please clarify this?
pavely
2017/03/15 17:55:46
As I understand version is internal invalidations
Ramin Halavati
2017/03/16 08:30:41
Done.
|
| + "invalidations. When updating registrations request includes " |
|
msramek
2017/03/07 10:53:30
registrations, the request
Ramin Halavati
2017/03/07 13:10:35
Done.
msramek
2017/03/14 16:17:49
nit: Still missing the article :)
Ramin Halavati
2017/03/15 07:04:19
Done.
|
| + "object ids." |
| + destination: GOOGLE_OWNED_SERVICE |
| + } |
| + policy { |
| + cookies_allowed: false |
| + setting: "This feature cannot be disabled." |
| + policy_exception_justification: |
| + "Not implemented. Disabling InvalidationService might break " |
| + "features that depend on it. I think it makes sense to control " |
|
msramek
2017/03/07 10:53:29
Keep in mind that this text will be read by enterp
Ramin Halavati
2017/03/07 13:10:34
Done.
|
| + "top level features that use InvalidationService." |
| + })"); |
| + fetcher_ = |
| + net::URLFetcher::Create(BuildUrl(registration_id_), net::URLFetcher::POST, |
| + this, traffic_annotation); |
| data_use_measurement::DataUseUserData::AttachToFetcher( |
| fetcher_.get(), data_use_measurement::DataUseUserData::INVALIDATION); |
| fetcher_->SetRequestContext(request_context_getter_.get()); |