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

Unified Diff: components/gcm_driver/instance_id/fake_gcm_driver_for_instance_id.cc

Issue 2111973002: Add support for GCM subtypes to desktop Instance ID implementation (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@iid9push
Patch Set: Address review comments Created 4 years, 5 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 side-by-side diff with in-line comments
Download patch
Index: components/gcm_driver/instance_id/fake_gcm_driver_for_instance_id.cc
diff --git a/components/gcm_driver/instance_id/fake_gcm_driver_for_instance_id.cc b/components/gcm_driver/instance_id/fake_gcm_driver_for_instance_id.cc
index 0ee7f0b6320f07f2dafc1f3e97a0102ddd48b5cc..0a4ddd521a9e98684a5bf0c12d80bd0e2c61ee12 100644
--- a/components/gcm_driver/instance_id/fake_gcm_driver_for_instance_id.cc
+++ b/components/gcm_driver/instance_id/fake_gcm_driver_for_instance_id.cc
@@ -12,6 +12,18 @@
#include "base/threading/thread_task_runner_handle.h"
#include "components/gcm_driver/gcm_client.h"
+namespace {
+
+std::string MakeKey(const std::string& app_id,
+ bool use_subtype,
+ const std::string& authorized_entity,
+ const std::string& scope) {
+ return base::IntToString(use_subtype) + ',' + app_id + ',' +
+ authorized_entity + ',' + scope;
Peter Beverloo 2016/07/28 12:34:10 nit: consider using: return base::StringPrintf(
johnme 2016/08/04 17:47:14 Done, though I had to use .c_str() x3 since String
+}
+
+} // namespace
+
namespace instance_id {
FakeGCMDriverForInstanceID::FakeGCMDriverForInstanceID()
@@ -53,13 +65,14 @@ void FakeGCMDriverForInstanceID::GetInstanceIDData(
void FakeGCMDriverForInstanceID::GetToken(
const std::string& app_id,
+ bool use_subtype,
const std::string& authorized_entity,
const std::string& scope,
const std::map<std::string, std::string>& options,
const GetTokenCallback& callback) {
- std::string token;
- std::string key = app_id + authorized_entity + scope;
+ std::string key = MakeKey(app_id, use_subtype, authorized_entity, scope);
auto iter = tokens_.find(key);
+ std::string token;
if (iter != tokens_.end()) {
token = iter->second;
} else {
@@ -73,10 +86,11 @@ void FakeGCMDriverForInstanceID::GetToken(
void FakeGCMDriverForInstanceID::DeleteToken(
const std::string& app_id,
+ bool use_subtype,
const std::string& authorized_entity,
const std::string& scope,
const DeleteTokenCallback& callback) {
- std::string key = app_id + authorized_entity + scope;
+ std::string key = MakeKey(app_id, use_subtype, authorized_entity, scope);
tokens_.erase(key);
base::ThreadTaskRunnerHandle::Get()->PostTask(
FROM_HERE, base::Bind(callback, gcm::GCMClient::SUCCESS));

Powered by Google App Engine
This is Rietveld 408576698