diff options
author | bauerb@chromium.org <bauerb@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-06-02 18:09:07 +0000 |
---|---|---|
committer | bauerb@chromium.org <bauerb@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-06-02 18:09:07 +0000 |
commit | c9471eabfabc96a43afcbef3d394fdb2657206c9 (patch) | |
tree | cb4f627e6d51382a69c1ef068170f116a97c335a /chrome/browser/extensions/extension_preference_api.cc | |
parent | 56d4600b883fbc3d6b4fbf37ee1545de3321eed9 (diff) | |
download | chromium_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.cc | 32 |
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() { |