Home | History | Annotate | Download | only in browser
      1 // Copyright (c) 2013 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.
      4 
      5 #include "android_webview/browser/aw_pref_store.h"
      6 
      7 #include "base/memory/scoped_ptr.h"
      8 #include "base/values.h"
      9 
     10 AwPrefStore::AwPrefStore() {}
     11 
     12 AwPrefStore::~AwPrefStore() {}
     13 
     14 bool AwPrefStore::GetValue(const std::string& key,
     15                                 const Value** value) const {
     16   return prefs_.GetValue(key, value);
     17 }
     18 
     19 bool AwPrefStore::GetMutableValue(const std::string& key,
     20                                        Value** value) {
     21   return prefs_.GetValue(key, value);
     22 }
     23 
     24 void AwPrefStore::AddObserver(PrefStore::Observer* observer) {
     25   observers_.AddObserver(observer);
     26 }
     27 
     28 void AwPrefStore::RemoveObserver(PrefStore::Observer* observer) {
     29   observers_.RemoveObserver(observer);
     30 }
     31 
     32 size_t AwPrefStore::NumberOfObservers() const {
     33   return observers_.size();
     34 }
     35 
     36 bool AwPrefStore::IsInitializationComplete() const {
     37   return true;
     38 }
     39 
     40 void AwPrefStore::SetValue(const std::string& key, Value* value) {
     41   DCHECK(value);
     42   if (prefs_.SetValue(key, value))
     43       ReportValueChanged(key);
     44 }
     45 
     46 void AwPrefStore::SetValueSilently(const std::string& key, Value* value) {
     47   prefs_.SetValue(key, value);
     48 }
     49 
     50 void AwPrefStore::RemoveValue(const std::string& key) {
     51   if (prefs_.RemoveValue(key))
     52     ReportValueChanged(key);
     53 }
     54 
     55 void AwPrefStore::MarkNeedsEmptyValue(const std::string& key) {
     56 }
     57 
     58 bool AwPrefStore::ReadOnly() const {
     59   return false;
     60 }
     61 
     62 PersistentPrefStore::PrefReadError AwPrefStore::GetReadError() const {
     63   return PersistentPrefStore::PREF_READ_ERROR_NONE;
     64 }
     65 
     66 PersistentPrefStore::PrefReadError AwPrefStore::ReadPrefs() {
     67   return PersistentPrefStore::PREF_READ_ERROR_NONE;
     68 }
     69 
     70 void AwPrefStore::ReadPrefsAsync(ReadErrorDelegate* error_delegate_raw) {
     71 }
     72 
     73 void AwPrefStore::ReportValueChanged(const std::string& key) {
     74   FOR_EACH_OBSERVER(Observer, observers_, OnPrefValueChanged(key));
     75 }
     76