#include "extensions/browser/extension_pref_value_map.h"
#include <utility>
#include "base/memory/ptr_util.h"
#include "base/observer_list.h"
#include "base/time/time.h"
#include "base/values.h"
#include "components/prefs/pref_value_map.h"
#include "extensions/common/api/types.h"
#include "extensions/common/extension_id.h"
struct ExtensionPrefValueMap::ExtensionEntry { … };
ExtensionPrefValueMap::ExtensionPrefValueMap() : … { … }
ExtensionPrefValueMap::~ExtensionPrefValueMap() { … }
void ExtensionPrefValueMap::Shutdown() { … }
void ExtensionPrefValueMap::SetExtensionPref(const std::string& ext_id,
const std::string& key,
ChromeSettingScope scope,
base::Value value) { … }
void ExtensionPrefValueMap::RemoveExtensionPref(const std::string& ext_id,
const std::string& key,
ChromeSettingScope scope) { … }
bool ExtensionPrefValueMap::CanExtensionControlPref(
const extensions::ExtensionId& extension_id,
const std::string& pref_key,
bool incognito) const { … }
void ExtensionPrefValueMap::ClearAllIncognitoSessionOnlyPreferences() { … }
bool ExtensionPrefValueMap::DoesExtensionControlPref(
const extensions::ExtensionId& extension_id,
const std::string& pref_key,
bool* from_incognito) const { … }
void ExtensionPrefValueMap::RegisterExtension(const std::string& ext_id,
const base::Time& install_time,
bool is_enabled,
bool is_incognito_enabled) { … }
void ExtensionPrefValueMap::UnregisterExtension(const std::string& ext_id) { … }
void ExtensionPrefValueMap::SetExtensionState(const std::string& ext_id,
bool is_enabled) { … }
void ExtensionPrefValueMap::SetExtensionIncognitoState(
const std::string& ext_id,
bool is_incognito_enabled) { … }
PrefValueMap* ExtensionPrefValueMap::GetExtensionPrefValueMap(
const std::string& ext_id,
ChromeSettingScope scope) { … }
const PrefValueMap* ExtensionPrefValueMap::GetExtensionPrefValueMap(
const std::string& ext_id,
ChromeSettingScope scope) const { … }
void ExtensionPrefValueMap::GetExtensionControlledKeys(
const ExtensionEntry& entry,
std::set<std::string>* out) const { … }
const base::Value* ExtensionPrefValueMap::GetEffectivePrefValue(
const std::string& key,
bool incognito,
bool* from_incognito) const { … }
ExtensionPrefValueMap::ExtensionEntryMap::const_iterator
ExtensionPrefValueMap::GetEffectivePrefValueController(
const std::string& key,
bool incognito,
bool* from_incognito) const { … }
void ExtensionPrefValueMap::AddObserver(
ExtensionPrefValueMap::Observer* observer) { … }
void ExtensionPrefValueMap::RemoveObserver(
ExtensionPrefValueMap::Observer* observer) { … }
std::string ExtensionPrefValueMap::GetExtensionControllingPref(
const std::string& pref_key) const { … }
void ExtensionPrefValueMap::NotifyInitializationCompleted() { … }
void ExtensionPrefValueMap::NotifyPrefValueChanged(
const std::set<std::string>& keys) { … }
void ExtensionPrefValueMap::NotifyPrefValueChanged(const std::string& key) { … }
void ExtensionPrefValueMap::NotifyOfDestruction() { … }