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/extension_prefs.h" | 5 #include "chrome/browser/extensions/extension_prefs.h" |
6 | 6 |
7 #include "base/string_number_conversions.h" | 7 #include "base/string_number_conversions.h" |
8 #include "base/string_util.h" | 8 #include "base/string_util.h" |
9 #include "base/utf_string_conversions.h" | 9 #include "base/utf_string_conversions.h" |
10 #include "chrome/browser/extensions/admin_policy.h" | 10 #include "chrome/browser/extensions/admin_policy.h" |
(...skipping 262 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
273 case kExtensionPrefsScopeIncognitoPersistent: | 273 case kExtensionPrefsScopeIncognitoPersistent: |
274 *result = kPrefIncognitoPreferences; | 274 *result = kPrefIncognitoPreferences; |
275 return true; | 275 return true; |
276 case kExtensionPrefsScopeIncognitoSessionOnly: | 276 case kExtensionPrefsScopeIncognitoSessionOnly: |
277 return false; | 277 return false; |
278 } | 278 } |
279 NOTREACHED(); | 279 NOTREACHED(); |
280 return false; | 280 return false; |
281 } | 281 } |
282 | 282 |
| 283 const char* GetToolbarOrderKeyName() { |
| 284 return switch_utils::IsExtensionsInActionBoxEnabled() ? |
| 285 kExtensionActionBoxBar : kExtensionToolbar; |
| 286 } |
| 287 |
| 288 const char* GetToolbarVisibilityKeyName() { |
| 289 return switch_utils::IsExtensionsInActionBoxEnabled() ? |
| 290 kBrowserActionPinned : kBrowserActionVisible; |
| 291 } |
| 292 |
283 } // namespace | 293 } // namespace |
284 | 294 |
285 ExtensionPrefs::ExtensionPrefs( | 295 ExtensionPrefs::ExtensionPrefs( |
286 PrefService* prefs, | 296 PrefService* prefs, |
287 const FilePath& root_dir, | 297 const FilePath& root_dir, |
288 ExtensionPrefValueMap* extension_pref_value_map) | 298 ExtensionPrefValueMap* extension_pref_value_map) |
289 : prefs_(prefs), | 299 : prefs_(prefs), |
290 install_directory_(root_dir), | 300 install_directory_(root_dir), |
291 extension_pref_value_map_(extension_pref_value_map), | 301 extension_pref_value_map_(extension_pref_value_map), |
292 ALLOW_THIS_IN_INITIALIZER_LIST(extension_sorting_( | 302 ALLOW_THIS_IN_INITIALIZER_LIST(extension_sorting_( |
(...skipping 1018 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1311 const std::string& id) const { | 1321 const std::string& id) const { |
1312 return DoesExtensionHaveState(id, Extension::EXTERNAL_EXTENSION_UNINSTALLED); | 1322 return DoesExtensionHaveState(id, Extension::EXTERNAL_EXTENSION_UNINSTALLED); |
1313 } | 1323 } |
1314 | 1324 |
1315 bool ExtensionPrefs::IsExtensionDisabled( | 1325 bool ExtensionPrefs::IsExtensionDisabled( |
1316 const std::string& id) const { | 1326 const std::string& id) const { |
1317 return DoesExtensionHaveState(id, Extension::DISABLED); | 1327 return DoesExtensionHaveState(id, Extension::DISABLED); |
1318 } | 1328 } |
1319 | 1329 |
1320 ExtensionPrefs::ExtensionIdSet ExtensionPrefs::GetToolbarOrder() { | 1330 ExtensionPrefs::ExtensionIdSet ExtensionPrefs::GetToolbarOrder() { |
1321 bool action_box_enabled = extensions::switch_utils::IsActionBoxEnabled(); | 1331 return GetExtensionPrefAsVector(GetToolbarOrderKeyName()); |
1322 return GetExtensionPrefAsVector( | |
1323 action_box_enabled ? kExtensionActionBoxBar : kExtensionToolbar); | |
1324 } | 1332 } |
1325 | 1333 |
1326 void ExtensionPrefs::SetToolbarOrder(const ExtensionIdSet& extension_ids) { | 1334 void ExtensionPrefs::SetToolbarOrder(const ExtensionIdSet& extension_ids) { |
1327 SetExtensionPrefFromVector(extensions::switch_utils::IsActionBoxEnabled() ? | 1335 SetExtensionPrefFromVector(GetToolbarOrderKeyName(), extension_ids); |
1328 kExtensionActionBoxBar : kExtensionToolbar, extension_ids); | |
1329 } | 1336 } |
1330 | 1337 |
1331 ExtensionPrefs::ExtensionIdSet ExtensionPrefs::GetActionBoxOrder() { | 1338 ExtensionPrefs::ExtensionIdSet ExtensionPrefs::GetActionBoxOrder() { |
1332 return GetExtensionPrefAsVector(kExtensionActionBox); | 1339 return GetExtensionPrefAsVector(kExtensionActionBox); |
1333 } | 1340 } |
1334 | 1341 |
1335 void ExtensionPrefs::SetActionBoxOrder(const ExtensionIdSet& extension_ids) { | 1342 void ExtensionPrefs::SetActionBoxOrder(const ExtensionIdSet& extension_ids) { |
1336 SetExtensionPrefFromVector(kExtensionActionBox, extension_ids); | 1343 SetExtensionPrefFromVector(kExtensionActionBox, extension_ids); |
1337 } | 1344 } |
1338 | 1345 |
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1414 void ExtensionPrefs::SetExtensionState(const std::string& extension_id, | 1421 void ExtensionPrefs::SetExtensionState(const std::string& extension_id, |
1415 Extension::State state) { | 1422 Extension::State state) { |
1416 UpdateExtensionPref(extension_id, kPrefState, | 1423 UpdateExtensionPref(extension_id, kPrefState, |
1417 Value::CreateIntegerValue(state)); | 1424 Value::CreateIntegerValue(state)); |
1418 bool enabled = (state == Extension::ENABLED); | 1425 bool enabled = (state == Extension::ENABLED); |
1419 extension_pref_value_map_->SetExtensionState(extension_id, enabled); | 1426 extension_pref_value_map_->SetExtensionState(extension_id, enabled); |
1420 content_settings_store_->SetExtensionState(extension_id, enabled); | 1427 content_settings_store_->SetExtensionState(extension_id, enabled); |
1421 } | 1428 } |
1422 | 1429 |
1423 bool ExtensionPrefs::GetBrowserActionVisibility(const Extension* extension) { | 1430 bool ExtensionPrefs::GetBrowserActionVisibility(const Extension* extension) { |
1424 bool action_box_enabled = switch_utils::IsActionBoxEnabled(); | 1431 bool extensions_in_action_box_enabled = |
1425 bool default_value = !action_box_enabled; | 1432 switch_utils::IsExtensionsInActionBoxEnabled(); |
| 1433 bool default_value = !extensions_in_action_box_enabled; |
1426 | 1434 |
1427 const DictionaryValue* extension_prefs = GetExtensionPref(extension->id()); | 1435 const DictionaryValue* extension_prefs = GetExtensionPref(extension->id()); |
1428 if (!extension_prefs) | 1436 if (!extension_prefs) |
1429 return default_value; | 1437 return default_value; |
1430 | 1438 |
1431 bool visible = false; | 1439 bool visible = false; |
1432 const char* browser_action_pref = action_box_enabled ? kBrowserActionPinned : | 1440 bool pref_exists = extension_prefs->GetBoolean(GetToolbarVisibilityKeyName(), |
1433 kBrowserActionVisible; | 1441 &visible); |
1434 bool pref_exists = extension_prefs->GetBoolean(browser_action_pref, &visible); | |
1435 if (!pref_exists) | 1442 if (!pref_exists) |
1436 return default_value; | 1443 return default_value; |
1437 | 1444 |
1438 return visible; | 1445 return visible; |
1439 } | 1446 } |
1440 | 1447 |
1441 void ExtensionPrefs::SetBrowserActionVisibility(const Extension* extension, | 1448 void ExtensionPrefs::SetBrowserActionVisibility(const Extension* extension, |
1442 bool visible) { | 1449 bool visible) { |
1443 if (GetBrowserActionVisibility(extension) == visible) | 1450 if (GetBrowserActionVisibility(extension) == visible) |
1444 return; | 1451 return; |
1445 | 1452 |
1446 bool action_box_enabled = switch_utils::IsActionBoxEnabled(); | 1453 UpdateExtensionPref(extension->id(), GetToolbarVisibilityKeyName(), |
1447 const char* browser_action_pref = action_box_enabled ? kBrowserActionPinned : | |
1448 kBrowserActionVisible; | |
1449 UpdateExtensionPref(extension->id(), browser_action_pref, | |
1450 Value::CreateBooleanValue(visible)); | 1454 Value::CreateBooleanValue(visible)); |
1451 content::NotificationService::current()->Notify( | 1455 content::NotificationService::current()->Notify( |
1452 chrome::NOTIFICATION_EXTENSION_BROWSER_ACTION_VISIBILITY_CHANGED, | 1456 chrome::NOTIFICATION_EXTENSION_BROWSER_ACTION_VISIBILITY_CHANGED, |
1453 content::Source<ExtensionPrefs>(this), | 1457 content::Source<ExtensionPrefs>(this), |
1454 content::Details<const Extension>(extension)); | 1458 content::Details<const Extension>(extension)); |
1455 } | 1459 } |
1456 | 1460 |
1457 std::string ExtensionPrefs::GetVersionString(const std::string& extension_id) { | 1461 std::string ExtensionPrefs::GetVersionString(const std::string& extension_id) { |
1458 const DictionaryValue* extension = GetExtensionPref(extension_id); | 1462 const DictionaryValue* extension = GetExtensionPref(extension_id); |
1459 if (!extension) | 1463 if (!extension) |
(...skipping 638 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2098 const ExtensionIdSet& strings) { | 2102 const ExtensionIdSet& strings) { |
2099 ListPrefUpdate update(prefs_, pref); | 2103 ListPrefUpdate update(prefs_, pref); |
2100 ListValue* list_of_values = update.Get(); | 2104 ListValue* list_of_values = update.Get(); |
2101 list_of_values->Clear(); | 2105 list_of_values->Clear(); |
2102 for (ExtensionIdSet::const_iterator iter = strings.begin(); | 2106 for (ExtensionIdSet::const_iterator iter = strings.begin(); |
2103 iter != strings.end(); ++iter) | 2107 iter != strings.end(); ++iter) |
2104 list_of_values->Append(new StringValue(*iter)); | 2108 list_of_values->Append(new StringValue(*iter)); |
2105 } | 2109 } |
2106 | 2110 |
2107 } // namespace extensions | 2111 } // namespace extensions |
OLD | NEW |