| 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 |