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

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

Issue 7031063: Extension API: Rename contentSettings.misc to .global and rename preferences under it. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: sync Created 9 years, 7 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 | « no previous file | chrome/common/extensions/api/extension_api.json » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/extensions/extension_preference_api.cc
diff --git a/chrome/browser/extensions/extension_preference_api.cc b/chrome/browser/extensions/extension_preference_api.cc
index ae65a58ec40a63222adcd15141b560a92dcc3da3..bfc4f50a6c30c9fcd46bfb67b2912836a8fb647c 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() {
« no previous file with comments | « no previous file | chrome/common/extensions/api/extension_api.json » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698