OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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/api/preference/preference_api.h" | 5 #include "chrome/browser/extensions/api/preference/preference_api.h" |
6 | 6 |
7 #include <map> | 7 #include <map> |
8 #include <utility> | 8 #include <utility> |
9 | 9 |
10 #include "base/lazy_instance.h" | 10 #include "base/lazy_instance.h" |
(...skipping 106 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
117 APIPermission::kAccessibilityFeaturesRead, | 117 APIPermission::kAccessibilityFeaturesRead, |
118 APIPermission::kAccessibilityFeaturesModify}, | 118 APIPermission::kAccessibilityFeaturesModify}, |
119 {"virtualKeyboard", prefs::kAccessibilityVirtualKeyboardEnabled, | 119 {"virtualKeyboard", prefs::kAccessibilityVirtualKeyboardEnabled, |
120 APIPermission::kAccessibilityFeaturesRead, | 120 APIPermission::kAccessibilityFeaturesRead, |
121 APIPermission::kAccessibilityFeaturesModify}, | 121 APIPermission::kAccessibilityFeaturesModify}, |
122 #endif | 122 #endif |
123 }; | 123 }; |
124 | 124 |
125 class IdentityPrefTransformer : public PrefTransformerInterface { | 125 class IdentityPrefTransformer : public PrefTransformerInterface { |
126 public: | 126 public: |
127 virtual base::Value* ExtensionToBrowserPref(const base::Value* extension_pref, | 127 base::Value* ExtensionToBrowserPref(const base::Value* extension_pref, |
128 std::string* error, | 128 std::string* error, |
129 bool* bad_message) override { | 129 bool* bad_message) override { |
130 return extension_pref->DeepCopy(); | 130 return extension_pref->DeepCopy(); |
131 } | 131 } |
132 | 132 |
133 virtual base::Value* BrowserToExtensionPref( | 133 base::Value* BrowserToExtensionPref( |
134 const base::Value* browser_pref) override { | 134 const base::Value* browser_pref) override { |
135 return browser_pref->DeepCopy(); | 135 return browser_pref->DeepCopy(); |
136 } | 136 } |
137 }; | 137 }; |
138 | 138 |
139 class InvertBooleanTransformer : public PrefTransformerInterface { | 139 class InvertBooleanTransformer : public PrefTransformerInterface { |
140 public: | 140 public: |
141 virtual base::Value* ExtensionToBrowserPref(const base::Value* extension_pref, | 141 base::Value* ExtensionToBrowserPref(const base::Value* extension_pref, |
142 std::string* error, | 142 std::string* error, |
143 bool* bad_message) override { | 143 bool* bad_message) override { |
144 return InvertBooleanValue(extension_pref); | 144 return InvertBooleanValue(extension_pref); |
145 } | 145 } |
146 | 146 |
147 virtual base::Value* BrowserToExtensionPref( | 147 base::Value* BrowserToExtensionPref( |
148 const base::Value* browser_pref) override { | 148 const base::Value* browser_pref) override { |
149 return InvertBooleanValue(browser_pref); | 149 return InvertBooleanValue(browser_pref); |
150 } | 150 } |
151 | 151 |
152 private: | 152 private: |
153 static base::Value* InvertBooleanValue(const base::Value* value) { | 153 static base::Value* InvertBooleanValue(const base::Value* value) { |
154 bool bool_value = false; | 154 bool bool_value = false; |
155 bool result = value->GetAsBoolean(&bool_value); | 155 bool result = value->GetAsBoolean(&bool_value); |
156 DCHECK(result); | 156 DCHECK(result); |
157 return new base::FundamentalValue(!bool_value); | 157 return new base::FundamentalValue(!bool_value); |
(...skipping 559 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
717 pref_key, PreferenceFunction::PERMISSION_TYPE_WRITE, &browser_pref)) { | 717 pref_key, PreferenceFunction::PERMISSION_TYPE_WRITE, &browser_pref)) { |
718 return false; | 718 return false; |
719 } | 719 } |
720 | 720 |
721 PreferenceAPI::Get(GetProfile()) | 721 PreferenceAPI::Get(GetProfile()) |
722 ->RemoveExtensionControlledPref(extension_id(), browser_pref, scope); | 722 ->RemoveExtensionControlledPref(extension_id(), browser_pref, scope); |
723 return true; | 723 return true; |
724 } | 724 } |
725 | 725 |
726 } // namespace extensions | 726 } // namespace extensions |
OLD | NEW |