Index: chrome/browser/geolocation/access_token_store.cc |
=================================================================== |
--- chrome/browser/geolocation/access_token_store.cc (revision 98089) |
+++ chrome/browser/geolocation/access_token_store.cc (working copy) |
@@ -1,110 +0,0 @@ |
-// Copyright (c) 2011 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. |
- |
-#include "content/browser/geolocation/access_token_store.h" |
- |
-#include "base/string_piece.h" |
-#include "base/utf_string_conversions.h" |
-#include "base/values.h" |
-#include "chrome/browser/browser_process.h" |
-#include "chrome/browser/prefs/pref_service.h" |
-#include "chrome/browser/prefs/scoped_user_pref_update.h" |
-#include "chrome/common/pref_names.h" |
-#include "content/browser/browser_thread.h" |
-#include "googleurl/src/gurl.h" |
- |
-namespace { |
-class ChromePrefsAccessTokenStore : public AccessTokenStore { |
- public: |
- ChromePrefsAccessTokenStore(); |
- |
- private: |
- void LoadDictionaryStoreInUIThread( |
- scoped_refptr<CancelableRequest<LoadAccessTokensCallbackType> > request); |
- |
- // AccessTokenStore |
- virtual void DoLoadAccessTokens( |
- scoped_refptr<CancelableRequest<LoadAccessTokensCallbackType> > request); |
- virtual void SaveAccessToken( |
- const GURL& server_url, const string16& access_token); |
- |
- DISALLOW_COPY_AND_ASSIGN(ChromePrefsAccessTokenStore); |
-}; |
- |
-ChromePrefsAccessTokenStore::ChromePrefsAccessTokenStore() { |
-} |
- |
-void ChromePrefsAccessTokenStore::LoadDictionaryStoreInUIThread( |
- scoped_refptr<CancelableRequest<LoadAccessTokensCallbackType> > request) { |
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
- if (request->canceled()) |
- return; |
- const DictionaryValue* token_dictionary = |
- g_browser_process->local_state()->GetDictionary( |
- prefs::kGeolocationAccessToken); |
- |
- AccessTokenStore::AccessTokenSet access_token_set; |
- // The dictionary value could be NULL if the pref has never been set. |
- if (token_dictionary != NULL) { |
- for (DictionaryValue::key_iterator it = token_dictionary->begin_keys(); |
- it != token_dictionary->end_keys(); ++it) { |
- GURL url(*it); |
- if (!url.is_valid()) |
- continue; |
- token_dictionary->GetStringWithoutPathExpansion(*it, |
- &access_token_set[url]); |
- } |
- } |
- request->ForwardResultAsync(MakeTuple(access_token_set)); |
-} |
- |
-void ChromePrefsAccessTokenStore::DoLoadAccessTokens( |
- scoped_refptr<CancelableRequest<LoadAccessTokensCallbackType> > request) { |
- BrowserThread::PostTask(BrowserThread::UI, FROM_HERE, NewRunnableMethod( |
- this, &ChromePrefsAccessTokenStore::LoadDictionaryStoreInUIThread, |
- request)); |
-} |
- |
-void SetAccessTokenOnUIThread(const GURL& server_url, const string16& token) { |
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
- DictionaryPrefUpdate update(g_browser_process->local_state(), |
- prefs::kGeolocationAccessToken); |
- DictionaryValue* access_token_dictionary = update.Get(); |
- access_token_dictionary->SetWithoutPathExpansion( |
- server_url.spec(), Value::CreateStringValue(token)); |
-} |
- |
-void ChromePrefsAccessTokenStore::SaveAccessToken( |
- const GURL& server_url, const string16& access_token) { |
- BrowserThread::PostTask(BrowserThread::UI, FROM_HERE, NewRunnableFunction( |
- &SetAccessTokenOnUIThread, server_url, access_token)); |
-} |
-} // namespace |
- |
-AccessTokenStore::AccessTokenStore() { |
-} |
- |
-AccessTokenStore::~AccessTokenStore() { |
-} |
- |
-void AccessTokenStore::RegisterPrefs(PrefService* prefs) { |
- prefs->RegisterDictionaryPref(prefs::kGeolocationAccessToken); |
-} |
- |
-AccessTokenStore::Handle AccessTokenStore::LoadAccessTokens( |
- CancelableRequestConsumerBase* consumer, |
- LoadAccessTokensCallbackType* callback) { |
- scoped_refptr<CancelableRequest<LoadAccessTokensCallbackType> > request( |
- new CancelableRequest<LoadAccessTokensCallbackType>(callback)); |
- AddRequest(request, consumer); |
- DCHECK(request->handle()); |
- |
- DoLoadAccessTokens(request); |
- return request->handle(); |
-} |
- |
-// Creates a new access token store backed by the global chome prefs. |
-AccessTokenStore* NewChromePrefsAccessTokenStore() { |
- return new ChromePrefsAccessTokenStore; |
-} |