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

Side by Side Diff: components/gcm_driver/gcm_driver.h

Issue 1701973003: Remove associated keying material when unregistering from GCM (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 10 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 #ifndef COMPONENTS_GCM_DRIVER_GCM_DRIVER_H_ 5 #ifndef COMPONENTS_GCM_DRIVER_GCM_DRIVER_H_
6 #define COMPONENTS_GCM_DRIVER_GCM_DRIVER_H_ 6 #define COMPONENTS_GCM_DRIVER_GCM_DRIVER_H_
7 7
8 #include <map> 8 #include <map>
9 #include <string> 9 #include <string>
10 #include <vector> 10 #include <vector>
(...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after
102 // instead multiple simultaneous registrations are allowed. 102 // instead multiple simultaneous registrations are allowed.
103 // |app_id|: application ID. 103 // |app_id|: application ID.
104 // |sender_ids|: list of IDs of the servers that are allowed to send the 104 // |sender_ids|: list of IDs of the servers that are allowed to send the
105 // messages to the application. These IDs are assigned by the 105 // messages to the application. These IDs are assigned by the
106 // Google API Console. 106 // Google API Console.
107 // |callback|: to be called once the asynchronous operation is done. 107 // |callback|: to be called once the asynchronous operation is done.
108 void Register(const std::string& app_id, 108 void Register(const std::string& app_id,
109 const std::vector<std::string>& sender_ids, 109 const std::vector<std::string>& sender_ids,
110 const RegisterCallback& callback); 110 const RegisterCallback& callback);
111 111
112 // Unregisters all sender_ids for an app. Only works on non-Android. 112 // Unregisters all sender_ids for an app. Only works on non-Android. Will also
113 // remove any encryption keys associated with the |app_id|.
113 // |app_id|: application ID. 114 // |app_id|: application ID.
114 // |callback|: to be called once the asynchronous operation is done. 115 // |callback|: to be called once the asynchronous operation is done.
115 void Unregister(const std::string& app_id, 116 void Unregister(const std::string& app_id,
116 const UnregisterCallback& callback); 117 const UnregisterCallback& callback);
117 118
118 // Unregisters an (app_id, sender_id) pair from using GCM. Only works on 119 // Unregisters an (app_id, sender_id) pair from using GCM. Only works on
119 // Android. 120 // Android. Will also remove any encryption keys associated with the |app_id|.
120 // TODO(jianli): Switch to using GCM's unsubscribe API. 121 // TODO(jianli): Switch to using GCM's unsubscribe API.
121 // |app_id|: application ID. 122 // |app_id|: application ID.
122 // |sender_id|: the sender ID that was passed when registering. 123 // |sender_id|: the sender ID that was passed when registering.
123 // |callback|: to be called once the asynchronous operation is done. 124 // |callback|: to be called once the asynchronous operation is done.
124 void UnregisterWithSenderId(const std::string& app_id, 125 void UnregisterWithSenderId(const std::string& app_id,
125 const std::string& sender_id, 126 const std::string& sender_id,
126 const UnregisterCallback& callback); 127 const UnregisterCallback& callback);
127 128
128 // Sends a message to a given receiver. 129 // Sends a message to a given receiver.
129 // |app_id|: application ID. 130 // |app_id|: application ID.
(...skipping 129 matching lines...) Expand 10 before | Expand all | Expand 10 after
259 // Platform-specific implementation of recording message decryption failures. 260 // Platform-specific implementation of recording message decryption failures.
260 virtual void RecordDecryptionFailure( 261 virtual void RecordDecryptionFailure(
261 const std::string& app_id, 262 const std::string& app_id,
262 GCMEncryptionProvider::DecryptionFailure reason) = 0; 263 GCMEncryptionProvider::DecryptionFailure reason) = 0;
263 264
264 // Runs the Register callback. 265 // Runs the Register callback.
265 void RegisterFinished(const std::string& app_id, 266 void RegisterFinished(const std::string& app_id,
266 const std::string& registration_id, 267 const std::string& registration_id,
267 GCMClient::Result result); 268 GCMClient::Result result);
268 269
270 // To be called when a registration for |app_id| has been unregistered, having
271 // |result| as the result of the unregistration. Will remove any encryption
272 // information associated with the |app_id| and then calls UnregisterFinished.
273 void UnregisterRemoveEncryptionInfo(const std::string& app_id,
Nicolas Zea 2016/02/16 22:59:22 nit: maybe rename to RemoveEncryptionInfoAfterUnre
Peter Beverloo 2016/02/17 10:20:24 Done.
274 GCMClient::Result result);
275
269 // Runs the Unregister callback. 276 // Runs the Unregister callback.
270 void UnregisterFinished(const std::string& app_id, 277 void UnregisterFinished(const std::string& app_id, GCMClient::Result result);
271 GCMClient::Result result);
272 278
273 // Runs the Send callback. 279 // Runs the Send callback.
274 void SendFinished(const std::string& app_id, 280 void SendFinished(const std::string& app_id,
275 const std::string& message_id, 281 const std::string& message_id,
276 GCMClient::Result result); 282 GCMClient::Result result);
277 283
278 bool HasRegisterCallback(const std::string& app_id); 284 bool HasRegisterCallback(const std::string& app_id);
279 285
280 void ClearCallbacks(); 286 void ClearCallbacks();
281 287
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
321 DefaultGCMAppHandler default_app_handler_; 327 DefaultGCMAppHandler default_app_handler_;
322 328
323 base::WeakPtrFactory<GCMDriver> weak_ptr_factory_; 329 base::WeakPtrFactory<GCMDriver> weak_ptr_factory_;
324 330
325 DISALLOW_COPY_AND_ASSIGN(GCMDriver); 331 DISALLOW_COPY_AND_ASSIGN(GCMDriver);
326 }; 332 };
327 333
328 } // namespace gcm 334 } // namespace gcm
329 335
330 #endif // COMPONENTS_GCM_DRIVER_GCM_DRIVER_H_ 336 #endif // COMPONENTS_GCM_DRIVER_GCM_DRIVER_H_
OLDNEW
« no previous file with comments | « components/gcm_driver/crypto/gcm_key_store_unittest.cc ('k') | components/gcm_driver/gcm_driver.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698