| 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
|
|
|
|
|