Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(4760)

Unified Diff: chrome/browser/extensions/extension_prefs.cc

Issue 3517004: Revert 60997 - o Add user customizable launch type for apps by adding options... (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Created 10 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/browser/extensions/extension_prefs.h ('k') | chrome/browser/prefs/pref_notifier.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/extensions/extension_prefs.cc
===================================================================
--- chrome/browser/extensions/extension_prefs.cc (revision 60999)
+++ chrome/browser/extensions/extension_prefs.cc (working copy)
@@ -14,8 +14,12 @@
namespace {
-// Additional preferences keys
+// Preferences keys
+// A preference that keeps track of per-extension settings. This is a dictionary
+// object read from the Preferences file, keyed off of extension id's.
+const char kExtensionsPref[] = "extensions.settings";
+
// Where an extension was installed from. (see Extension::Location)
const char kPrefLocation[] = "location";
@@ -75,10 +79,6 @@
// purchased apps.
const char kWebStoreLogin[] = "extensions.webstore_login";
-// A preference set by the the NTP to persist the desired launch container type
-// used for apps.
-const char kPrefLaunchType[] = "launchType";
-
} // namespace
////////////////////////////////////////////////////////////////////////////////
@@ -90,8 +90,7 @@
// id. We can remove this in a couple of months. (See http://crbug.com/40017
// and http://crbug.com/39745 for more details).
static void CleanupBadExtensionKeys(PrefService* prefs) {
- DictionaryValue* dictionary =
- prefs->GetMutableDictionary(ExtensionPrefs::kExtensionsPref);
+ DictionaryValue* dictionary = prefs->GetMutableDictionary(kExtensionsPref);
std::set<std::string> bad_keys;
for (DictionaryValue::key_iterator i = dictionary->begin_keys();
i != dictionary->end_keys(); ++i) {
@@ -122,9 +121,6 @@
MakePathsRelative();
}
-// static
-const char ExtensionPrefs::kExtensionsPref[] = "extensions.settings";
-
static FilePath::StringType MakePathRelative(const FilePath& parent,
const FilePath& child,
bool *dirty) {
@@ -168,7 +164,7 @@
}
}
if (dirty)
- SavePrefsAndNotify();
+ prefs_->ScheduleSavePersistentPrefs();
}
void ExtensionPrefs::MakePathsAbsolute(DictionaryValue* dict) {
@@ -237,36 +233,6 @@
return ReadBooleanFromPref(ext, pref_key);
}
-bool ExtensionPrefs::ReadIntegerFromPref(
- DictionaryValue* ext, const std::string& pref_key, int* out_value) {
- if (!ext->HasKey(pref_key)) return false;
- if (!ext->GetInteger(pref_key, out_value)) {
- NOTREACHED() << "Failed to fetch " << pref_key << " flag.";
- // In case we could not fetch the flag, we treat it as false.
- return false;
- }
- return out_value;
-}
-
-bool ExtensionPrefs::ReadExtensionPrefInteger(
- const std::string& extension_id, const std::string& pref_key,
- int* out_value) {
- const DictionaryValue* extensions = prefs_->GetDictionary(kExtensionsPref);
- if (!extensions)
- return false;
- DictionaryValue* ext = NULL;
- if (!extensions->GetDictionary(extension_id, &ext)) {
- // No such extension yet.
- return false;
- }
- return ReadIntegerFromPref(ext, pref_key, out_value);
-}
-
-void ExtensionPrefs::SavePrefsAndNotify() {
- prefs_->ScheduleSavePersistentPrefs();
- prefs_->pref_notifier()->OnUserPreferenceSet(kExtensionsPref);
-}
-
bool ExtensionPrefs::IsBlacklistBitSet(DictionaryValue* ext) {
return ReadBooleanFromPref(ext, kPrefBlacklist);
}
@@ -323,7 +289,7 @@
Extension* extension, bool did_escalate) {
UpdateExtensionPref(extension->id(), kExtensionDidEscalatePermissions,
Value::CreateBooleanValue(did_escalate));
- prefs_->ScheduleSavePersistentPrefs();
+ prefs_->SavePersistentPrefs();
}
void ExtensionPrefs::UpdateBlacklist(
@@ -377,7 +343,8 @@
for (unsigned int i = 0; i < remove_pref_ids.size(); ++i) {
DeleteExtensionPrefs(remove_pref_ids[i]);
}
- SavePrefsAndNotify();
+ // Update persistent registry
+ prefs_->ScheduleSavePersistentPrefs();
return;
}
@@ -401,7 +368,7 @@
}
std::string value = base::Int64ToString(time.ToInternalValue());
dictionary->SetString(kLastPingDay, value);
- SavePrefsAndNotify();
+ prefs_->ScheduleSavePersistentPrefs();
}
Time ExtensionPrefs::LastPingDay(const std::string& extension_id) const {
@@ -432,7 +399,7 @@
bool enabled) {
UpdateExtensionPref(extension_id, kPrefIncognitoEnabled,
Value::CreateBooleanValue(enabled));
- SavePrefsAndNotify();
+ prefs_->SavePersistentPrefs();
}
bool ExtensionPrefs::AllowFileAccess(const std::string& extension_id) {
@@ -443,28 +410,9 @@
bool allow) {
UpdateExtensionPref(extension_id, kPrefAllowFileAccess,
Value::CreateBooleanValue(allow));
- SavePrefsAndNotify();
+ prefs_->SavePersistentPrefs();
}
-ExtensionPrefs::LaunchType ExtensionPrefs::GetLaunchType(
- const std::string& extension_id) {
- int value;
- if (ReadExtensionPrefInteger(extension_id, kPrefLaunchType, &value) && (
- value == LAUNCH_PINNED ||
- value == LAUNCH_REGULAR ||
- value == LAUNCH_FULLSCREEN)) {
- return static_cast<LaunchType>(value);
- }
- return LAUNCH_PINNED;
-}
-
-void ExtensionPrefs::SetLaunchType(const std::string& extension_id,
- LaunchType launch_type) {
- UpdateExtensionPref(extension_id, kPrefLaunchType,
- Value::CreateIntegerValue(static_cast<int>(launch_type)));
- SavePrefsAndNotify();
-}
-
void ExtensionPrefs::GetKilledExtensionIds(std::set<std::string>* killed_ids) {
const DictionaryValue* dict = prefs_->GetDictionary(kExtensionsPref);
if (!dict || dict->empty())
@@ -514,7 +462,7 @@
iter != extension_ids.end(); ++iter) {
toolbar_order->Append(new StringValue(*iter));
}
- SavePrefsAndNotify();
+ prefs_->ScheduleSavePersistentPrefs();
}
void ExtensionPrefs::OnExtensionInstalled(
@@ -536,7 +484,7 @@
UpdateExtensionPref(id, kPrefManifest,
extension->manifest_value()->DeepCopy());
}
- SavePrefsAndNotify();
+ prefs_->SavePersistentPrefs();
}
void ExtensionPrefs::OnExtensionUninstalled(const std::string& extension_id,
@@ -549,7 +497,7 @@
if (!external_uninstall && Extension::IsExternalLocation(location)) {
UpdateExtensionPref(extension_id, kPrefState,
Value::CreateIntegerValue(Extension::KILLBIT));
- SavePrefsAndNotify();
+ prefs_->ScheduleSavePersistentPrefs();
} else {
DeleteExtensionPrefs(extension_id);
}
@@ -577,7 +525,7 @@
Extension::State state) {
UpdateExtensionPref(extension->id(), kPrefState,
Value::CreateIntegerValue(state));
- SavePrefsAndNotify();
+ prefs_->SavePersistentPrefs();
}
std::string ExtensionPrefs::GetVersionString(const std::string& extension_id) {
@@ -598,7 +546,7 @@
if (extension->location() != Extension::LOAD) {
UpdateExtensionPref(extension->id(), kPrefManifest,
extension->manifest_value()->DeepCopy());
- SavePrefsAndNotify();
+ prefs_->ScheduleSavePersistentPrefs();
}
}
@@ -629,7 +577,7 @@
DictionaryValue* dict = prefs_->GetMutableDictionary(kExtensionsPref);
if (dict->HasKey(extension_id)) {
dict->Remove(extension_id, NULL);
- SavePrefsAndNotify();
+ prefs_->ScheduleSavePersistentPrefs();
}
}
@@ -769,7 +717,7 @@
info->SetString(kIdleInstallInfoFetchTime,
base::Int64ToString(fetch_time.ToInternalValue()));
extension_prefs->Set(kIdleInstallInfo, info);
- SavePrefsAndNotify();
+ prefs_->ScheduleSavePersistentPrefs();
}
bool ExtensionPrefs::RemoveIdleInstallInfo(const std::string& extension_id) {
@@ -777,7 +725,7 @@
if (!extension_prefs)
return false;
bool result = extension_prefs->Remove(kIdleInstallInfo, NULL);
- SavePrefsAndNotify();
+ prefs_->ScheduleSavePersistentPrefs();
return result;
}
@@ -859,7 +807,7 @@
void ExtensionPrefs::SetWebStoreLogin(const std::string& login) {
prefs_->SetString(kWebStoreLogin, login);
- SavePrefsAndNotify();
+ prefs_->ScheduleSavePersistentPrefs();
}
// static
« no previous file with comments | « chrome/browser/extensions/extension_prefs.h ('k') | chrome/browser/prefs/pref_notifier.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698