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

Unified Diff: chrome/browser/extensions/api/identity/identity_mint_queue.h

Issue 99173004: Identity API: add multi-account support to token cache and request queues (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years 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: chrome/browser/extensions/api/identity/identity_mint_queue.h
diff --git a/chrome/browser/extensions/api/identity/identity_mint_queue.h b/chrome/browser/extensions/api/identity/identity_mint_queue.h
index f0149987c00a25513d475d7867b6f1c8575101b4..a1ca89be9f137876f4074797532306463da4bd2c 100644
--- a/chrome/browser/extensions/api/identity/identity_mint_queue.h
+++ b/chrome/browser/extensions/api/identity/identity_mint_queue.h
@@ -10,6 +10,8 @@
#include <set>
#include <string>
+#include "chrome/browser/extensions/api/identity/extension_token_key.h"
+
namespace extensions {
// getAuthToken requests are serialized to avoid excessive traffic to
@@ -37,36 +39,26 @@ class IdentityMintRequestQueue {
virtual void StartMintToken(IdentityMintRequestQueue::MintType type) = 0;
};
- struct RequestKey {
- RequestKey(IdentityMintRequestQueue::MintType type,
- const std::string& extension_id,
- const std::set<std::string> scopes);
- ~RequestKey();
- bool operator<(const RequestKey& rhs) const;
- IdentityMintRequestQueue::MintType type;
- std::string extension_id;
- std::set<std::string> scopes;
- };
-
- // Adds a request to the queue specified by the id and scopes.
+ // Adds a request to the queue specified by the token key.
void RequestStart(IdentityMintRequestQueue::MintType type,
- const std::string& extension_id,
- const std::set<std::string> scopes,
+ const ExtensionTokenKey& key,
IdentityMintRequestQueue::Request* request);
- // Removes a request from the queue specified by the id and scopes.
+ // Removes a request from the queue specified by the token key.
void RequestComplete(IdentityMintRequestQueue::MintType type,
- const std::string& extension_id,
- const std::set<std::string> scopes,
+ const ExtensionTokenKey& key,
IdentityMintRequestQueue::Request* request);
bool empty(IdentityMintRequestQueue::MintType type,
- const std::string& extension_id,
- const std::set<std::string> scopes) const;
+ const ExtensionTokenKey& key);
private:
- typedef std::list<IdentityMintRequestQueue::Request*> RequestList;
- std::map<RequestKey, RequestList> request_queue_;
-};
+ typedef std::list<IdentityMintRequestQueue::Request*> RequestQueue;
+ typedef std::map<const ExtensionTokenKey, RequestQueue> RequestQueueMap;
+
+ RequestQueueMap& GetRequestQueueMap(IdentityMintRequestQueue::MintType type);
+ RequestQueueMap interactive_request_queue_map_;
+ RequestQueueMap noninteractive_request_queue_map_;
+};
} // namespace extensions

Powered by Google App Engine
This is Rietveld 408576698