summaryrefslogtreecommitdiffstats
path: root/chrome/browser/extensions/extension_preference_api.cc
diff options
context:
space:
mode:
authorbauerb@chromium.org <bauerb@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-06-02 18:09:07 +0000
committerbauerb@chromium.org <bauerb@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-06-02 18:09:07 +0000
commitc9471eabfabc96a43afcbef3d394fdb2657206c9 (patch)
treecb4f627e6d51382a69c1ef068170f116a97c335a /chrome/browser/extensions/extension_preference_api.cc
parent56d4600b883fbc3d6b4fbf37ee1545de3321eed9 (diff)
downloadchromium_src-c9471eabfabc96a43afcbef3d394fdb2657206c9.zip
chromium_src-c9471eabfabc96a43afcbef3d394fdb2657206c9.tar.gz
chromium_src-c9471eabfabc96a43afcbef3d394fdb2657206c9.tar.bz2
Extension API: Rename contentSettings.misc to .global and rename preferences under it.
BUG=71067 Review URL: http://codereview.chromium.org/7031063 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@87632 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/extensions/extension_preference_api.cc')
-rw-r--r--chrome/browser/extensions/extension_preference_api.cc32
1 files changed, 26 insertions, 6 deletions
diff --git a/chrome/browser/extensions/extension_preference_api.cc b/chrome/browser/extensions/extension_preference_api.cc
index ae65a58..bfc4f50 100644
--- a/chrome/browser/extensions/extension_preference_api.cc
+++ b/chrome/browser/extensions/extension_preference_api.cc
@@ -58,15 +58,15 @@ const char kPermissionErrorMessage[] =
"Be sure to declare in your manifest what permissions you need.";
PrefMappingEntry kPrefMapping[] = {
- { "blockThirdPartyCookies",
+ { "thirdPartyCookiesAllowed",
prefs::kBlockThirdPartyCookies,
Extension::kContentSettingsPermission
},
- { "enableReferrers",
+ { "referrersEnabled",
prefs::kEnableReferrers,
Extension::kContentSettingsPermission
},
- { "enableHyperlinkAuditing",
+ { "hyperlinkAuditingEnabled",
prefs::kEnableHyperlinkAuditing,
Extension::kContentSettingsPermission
},
@@ -78,9 +78,6 @@ PrefMappingEntry kPrefMapping[] = {
class IdentityPrefTransformer : public PrefTransformerInterface {
public:
- IdentityPrefTransformer() { }
- virtual ~IdentityPrefTransformer() { }
-
virtual Value* ExtensionToBrowserPref(const Value* extension_pref,
std::string* error,
bool* bad_message) {
@@ -92,6 +89,27 @@ class IdentityPrefTransformer : public PrefTransformerInterface {
}
};
+class InvertBooleanTransformer : public PrefTransformerInterface {
+ public:
+ virtual Value* ExtensionToBrowserPref(const Value* extension_pref,
+ std::string* error,
+ bool* bad_message) {
+ return InvertBooleanValue(extension_pref);
+ }
+
+ virtual Value* BrowserToExtensionPref(const Value* browser_pref) {
+ return InvertBooleanValue(browser_pref);
+ }
+
+ private:
+ static Value* InvertBooleanValue(const Value* value) {
+ bool bool_value = false;
+ bool result = value->GetAsBoolean(&bool_value);
+ DCHECK(result);
+ return Value::CreateBooleanValue(!bool_value);
+ }
+};
+
// Returns a string constant (defined in the API) indicating the level of
// control this extension has over the specified preference.
const char* GetLevelOfControl(
@@ -190,6 +208,8 @@ class PrefMapping {
DCHECK_EQ(arraysize(kPrefMapping), mapping_.size());
DCHECK_EQ(arraysize(kPrefMapping), event_mapping_.size());
RegisterPrefTransformer(prefs::kProxy, new ProxyPrefTransformer());
+ RegisterPrefTransformer(prefs::kBlockThirdPartyCookies,
+ new InvertBooleanTransformer());
}
~PrefMapping() {