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
3 // found in the LICENSE file.
5 #ifndef CHROMECAST_SHELL_BROWSER_GEOLOCATION_CAST_ACCESS_TOKEN_STORE_H_
6 #define CHROMECAST_SHELL_BROWSER_GEOLOCATION_CAST_ACCESS_TOKEN_STORE_H_
8 #include "base/macros.h"
9 #include "content/public/browser/access_token_store.h"
15 namespace chromecast {
18 // Access token store for chromecast devices used to initialize the network
20 class CastAccessTokenStore : public content::AccessTokenStore {
22 explicit CastAccessTokenStore(content::BrowserContext* browser_context);
25 virtual ~CastAccessTokenStore();
27 // AccessTokenStore implementation:
28 virtual void LoadAccessTokens(
29 const LoadAccessTokensCallbackType& callback) OVERRIDE;
30 virtual void SaveAccessToken(
31 const GURL& server_url, const base::string16& access_token) OVERRIDE;
33 void GetRequestContextGetterOnUIThread();
34 void RespondOnOriginatingThread();
36 content::BrowserContext* const browser_context_;
37 net::URLRequestContextGetter* request_context_;
38 AccessTokenSet access_token_set_;
39 LoadAccessTokensCallbackType callback_;
41 DISALLOW_COPY_AND_ASSIGN(CastAccessTokenStore);
45 } // namespace chromecast
47 #endif // CHROMECAST_SHELL_BROWSER_GEOLOCATION_CAST_ACCESS_TOKEN_STORE_H_