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_