| // Copyright 2014 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #ifndef CHROMECAST_BROWSER_GEOLOCATION_CAST_ACCESS_TOKEN_STORE_H_ |
| #define CHROMECAST_BROWSER_GEOLOCATION_CAST_ACCESS_TOKEN_STORE_H_ |
| |
| #include "base/macros.h" |
| #include "content/public/browser/access_token_store.h" |
| |
| namespace content { |
| class BrowserContext; |
| } |
| |
| namespace chromecast { |
| namespace shell { |
| |
| // Access token store for chromecast devices used to initialize the network |
| // location provider. |
| class CastAccessTokenStore : public content::AccessTokenStore { |
| public: |
| explicit CastAccessTokenStore(content::BrowserContext* browser_context); |
| |
| private: |
| ~CastAccessTokenStore() override; |
| |
| // AccessTokenStore implementation: |
| void LoadAccessTokens(const LoadAccessTokensCallback& callback) override; |
| void SaveAccessToken( |
| const GURL& server_url, const base::string16& access_token) override; |
| |
| void GetRequestContextGetterOnUIThread(); |
| void RespondOnOriginatingThread(); |
| |
| content::BrowserContext* const browser_context_; |
| net::URLRequestContextGetter* request_context_; |
| AccessTokenMap access_token_map_; |
| LoadAccessTokensCallback callback_; |
| |
| DISALLOW_COPY_AND_ASSIGN(CastAccessTokenStore); |
| }; |
| |
| } // namespace shell |
| } // namespace chromecast |
| |
| #endif // CHROMECAST_BROWSER_GEOLOCATION_CAST_ACCESS_TOKEN_STORE_H_ |