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

Side by Side Diff: chrome/browser/extensions/extension_preference_api.cc

Issue 7298005: Expose privacy-relevant preferences via Chrome's extension API. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Alphabetizing. Created 9 years, 5 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/extensions/extension_preference_api.h" 5 #include "chrome/browser/extensions/extension_preference_api.h"
6 6
7 #include <map> 7 #include <map>
8 8
9 #include "base/json/json_writer.h" 9 #include "base/json/json_writer.h"
10 #include "base/memory/singleton.h" 10 #include "base/memory/singleton.h"
(...skipping 27 matching lines...) Expand all
38 const char kControllableByThisExtension[] = "controllable_by_this_extension"; 38 const char kControllableByThisExtension[] = "controllable_by_this_extension";
39 const char kControlledByThisExtension[] = "controlled_by_this_extension"; 39 const char kControlledByThisExtension[] = "controlled_by_this_extension";
40 40
41 const char kIncognitoSpecific[] = "incognitoSpecific"; 41 const char kIncognitoSpecific[] = "incognitoSpecific";
42 const char kLevelOfControl[] = "levelOfControl"; 42 const char kLevelOfControl[] = "levelOfControl";
43 const char kValue[] = "value"; 43 const char kValue[] = "value";
44 44
45 const char kOnPrefChangeFormat[] = "types.ChromeSetting.%s.onChange"; 45 const char kOnPrefChangeFormat[] = "types.ChromeSetting.%s.onChange";
46 46
47 PrefMappingEntry kPrefMapping[] = { 47 PrefMappingEntry kPrefMapping[] = {
48 { "thirdPartyCookiesAllowed", 48 { "alternateErrorPagesEnabled",
49 prefs::kBlockThirdPartyCookies, 49 prefs::kAlternateErrorPagesEnabled,
50 ExtensionAPIPermission::kContentSettings 50 ExtensionAPIPermission::kContentSettings
51 }, 51 },
52 { "referrersEnabled", 52 { "autofillEnabled",
53 prefs::kEnableReferrers, 53 prefs::kAutofillEnabled,
54 ExtensionAPIPermission::kContentSettings
55 },
56 { "clearSiteDataOnExit",
57 prefs::kClearSiteDataOnExit,
54 ExtensionAPIPermission::kContentSettings 58 ExtensionAPIPermission::kContentSettings
55 }, 59 },
56 { "hyperlinkAuditingEnabled", 60 { "hyperlinkAuditingEnabled",
57 prefs::kEnableHyperlinkAuditing, 61 prefs::kEnableHyperlinkAuditing,
58 ExtensionAPIPermission::kContentSettings 62 ExtensionAPIPermission::kContentSettings
59 }, 63 },
64 { "instantEnabled",
65 prefs::kInstantEnabled,
66 ExtensionAPIPermission::kContentSettings
67 },
68 // TODO(mkwst): come back to this once the UMA discussion has been resolved.
69 // { "metricsReportingEnabled",
70 // prefs::kMetricsReportingEnabled,
71 // ExtensionAPIPermission::kMetrics
72 // },
73 { "networkPredictionEnabled",
74 prefs::kNetworkPredictionEnabled,
75 ExtensionAPIPermission::kContentSettings
76 },
60 { "proxy", 77 { "proxy",
61 prefs::kProxy, 78 prefs::kProxy,
62 ExtensionAPIPermission::kProxy 79 ExtensionAPIPermission::kProxy
63 }, 80 },
81 { "referrersEnabled",
82 prefs::kEnableReferrers,
83 ExtensionAPIPermission::kContentSettings
84 },
85 { "searchSuggestEnabled",
86 prefs::kSearchSuggestEnabled,
87 ExtensionAPIPermission::kContentSettings
88 },
89 { "safeBrowsingEnabled",
90 prefs::kSafeBrowsingEnabled,
91 ExtensionAPIPermission::kContentSettings
92 },
93 { "thirdPartyCookiesAllowed",
94 prefs::kBlockThirdPartyCookies,
95 ExtensionAPIPermission::kContentSettings
96 },
97 { "translateEnabled",
98 prefs::kEnableTranslate,
99 ExtensionAPIPermission::kContentSettings
100 }
64 }; 101 };
65 102
66 class IdentityPrefTransformer : public PrefTransformerInterface { 103 class IdentityPrefTransformer : public PrefTransformerInterface {
67 public: 104 public:
68 virtual Value* ExtensionToBrowserPref(const Value* extension_pref, 105 virtual Value* ExtensionToBrowserPref(const Value* extension_pref,
69 std::string* error, 106 std::string* error,
70 bool* bad_message) { 107 bool* bad_message) {
71 return extension_pref->DeepCopy(); 108 return extension_pref->DeepCopy();
72 } 109 }
73 110
(...skipping 396 matching lines...) Expand 10 before | Expand all | Expand 10 after
470 pref_key, &browser_pref, &permission)); 507 pref_key, &browser_pref, &permission));
471 if (!GetExtension()->HasAPIPermission(permission)) { 508 if (!GetExtension()->HasAPIPermission(permission)) {
472 error_ = ExtensionErrorUtils::FormatErrorMessage( 509 error_ = ExtensionErrorUtils::FormatErrorMessage(
473 keys::kPermissionErrorMessage, pref_key); 510 keys::kPermissionErrorMessage, pref_key);
474 return false; 511 return false;
475 } 512 }
476 ExtensionPrefs* prefs = profile_->GetExtensionService()->extension_prefs(); 513 ExtensionPrefs* prefs = profile_->GetExtensionService()->extension_prefs();
477 prefs->RemoveExtensionControlledPref(extension_id(), browser_pref, scope); 514 prefs->RemoveExtensionControlledPref(extension_id(), browser_pref, scope);
478 return true; 515 return true;
479 } 516 }
OLDNEW
« no previous file with comments | « chrome/browser/extensions/extension_content_settings_apitest.cc ('k') | chrome/common/extensions/api/extension_api.json » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698