summaryrefslogtreecommitdiffstats
path: root/content/browser/geolocation/access_token_store.h
diff options
context:
space:
mode:
Diffstat (limited to 'content/browser/geolocation/access_token_store.h')
-rw-r--r--content/browser/geolocation/access_token_store.h14
1 files changed, 11 insertions, 3 deletions
diff --git a/content/browser/geolocation/access_token_store.h b/content/browser/geolocation/access_token_store.h
index 5fc2c57..2089dfb 100644
--- a/content/browser/geolocation/access_token_store.h
+++ b/content/browser/geolocation/access_token_store.h
@@ -19,6 +19,7 @@
#include "base/callback.h"
#include "base/memory/ref_counted.h"
#include "base/string16.h"
+#include "content/browser/cancelable_request.h"
#include "content/common/content_export.h"
#include "googleurl/src/gurl.h"
@@ -29,8 +30,10 @@ class URLRequestContextGetter;
}
// Provides storage for the access token used in the network request.
-class AccessTokenStore : public base::RefCountedThreadSafe<AccessTokenStore> {
+class AccessTokenStore : public base::RefCountedThreadSafe<AccessTokenStore>,
+ public CancelableRequestProvider {
public:
+
// Map of server URLs to associated access token.
typedef std::map<GURL, string16> AccessTokenSet;
typedef base::Callback<void(AccessTokenSet, net::URLRequestContextGetter*)>
@@ -42,8 +45,10 @@ class AccessTokenStore : public base::RefCountedThreadSafe<AccessTokenStore> {
// in Chrome the call to obtain this must also be performed on the UI thread
// so it is efficient to piggyback it onto this request.
// Takes ownership of |callback|.
- CONTENT_EXPORT virtual void LoadAccessTokens(
- const LoadAccessTokensCallbackType& callback) = 0;
+ // Returns a handle which can subsequently be used with CancelRequest().
+ CONTENT_EXPORT Handle LoadAccessTokens(
+ CancelableRequestConsumerBase* consumer,
+ const LoadAccessTokensCallbackType& callback);
virtual void SaveAccessToken(
const GURL& server_url, const string16& access_token) = 0;
@@ -53,6 +58,9 @@ class AccessTokenStore : public base::RefCountedThreadSafe<AccessTokenStore> {
CONTENT_EXPORT AccessTokenStore();
CONTENT_EXPORT virtual ~AccessTokenStore();
+ virtual void DoLoadAccessTokens(
+ scoped_refptr<CancelableRequest<LoadAccessTokensCallbackType> > req) = 0;
+
private:
DISALLOW_COPY_AND_ASSIGN(AccessTokenStore);
};