| 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/command_line.h" | 7 #include "base/command_line.h" |
| 8 #include "base/string_number_conversions.h" | 8 #include "base/string_number_conversions.h" |
| 9 #include "base/string_util.h" | 9 #include "base/string_util.h" |
| 10 #include "base/utf_string_conversions.h" | 10 #include "base/utf_string_conversions.h" |
| (...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 57 | 57 |
| 58 // Indicates whether an extension is blacklisted. | 58 // Indicates whether an extension is blacklisted. |
| 59 const char kPrefBlacklist[] = "blacklist"; | 59 const char kPrefBlacklist[] = "blacklist"; |
| 60 | 60 |
| 61 // The oauth client id used for app notification setup. | 61 // The oauth client id used for app notification setup. |
| 62 const char kPrefAppNotificationClientId[] = "app_notif_client_id"; | 62 const char kPrefAppNotificationClientId[] = "app_notif_client_id"; |
| 63 | 63 |
| 64 // Indicates whether the user has disabled notifications or not. | 64 // Indicates whether the user has disabled notifications or not. |
| 65 const char kPrefAppNotificationDisbaled[] = "app_notif_disabled"; | 65 const char kPrefAppNotificationDisbaled[] = "app_notif_disabled"; |
| 66 | 66 |
| 67 // The count of how many times we prompted the user to acknowledge an |
| 68 // extension. |
| 69 const char kPrefAcknowledgePromptCount[] = "ack_prompt_count"; |
| 70 |
| 67 // Indicates whether the user has acknowledged various types of extensions. | 71 // Indicates whether the user has acknowledged various types of extensions. |
| 68 const char kPrefExternalAcknowledged[] = "ack_external"; | 72 const char kPrefExternalAcknowledged[] = "ack_external"; |
| 69 const char kPrefBlacklistAcknowledged[] = "ack_blacklist"; | 73 const char kPrefBlacklistAcknowledged[] = "ack_blacklist"; |
| 70 const char kPrefOrphanAcknowledged[] = "ack_orphan"; | 74 const char kPrefOrphanAcknowledged[] = "ack_orphan"; |
| 71 | 75 |
| 72 // Indicates whether to show an install warning when the user enables. | 76 // Indicates whether to show an install warning when the user enables. |
| 73 const char kExtensionDidEscalatePermissions[] = "install_warning_on_enable"; | 77 const char kExtensionDidEscalatePermissions[] = "install_warning_on_enable"; |
| 74 | 78 |
| 75 // DO NOT USE, use kPrefDisableReasons instead. | 79 // DO NOT USE, use kPrefDisableReasons instead. |
| 76 // Indicates whether the extension was updated while it was disabled. | 80 // Indicates whether the extension was updated while it was disabled. |
| (...skipping 513 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 590 } | 594 } |
| 591 } | 595 } |
| 592 | 596 |
| 593 bool ExtensionPrefs::IsExtensionOrphaned(const std::string& extension_id) { | 597 bool ExtensionPrefs::IsExtensionOrphaned(const std::string& extension_id) { |
| 594 // TODO(miket): we believe that this test will hinge on the number of | 598 // TODO(miket): we believe that this test will hinge on the number of |
| 595 // consecutive times that an update check has returned a certain response | 599 // consecutive times that an update check has returned a certain response |
| 596 // versus a success response. For now nobody is orphaned. | 600 // versus a success response. For now nobody is orphaned. |
| 597 return false; | 601 return false; |
| 598 } | 602 } |
| 599 | 603 |
| 604 int ExtensionPrefs::IncrementAcknowledgePromptCount( |
| 605 const std::string& extension_id) { |
| 606 int count = 0; |
| 607 ReadExtensionPrefInteger(extension_id, kPrefAcknowledgePromptCount, &count); |
| 608 ++count; |
| 609 UpdateExtensionPref(extension_id, kPrefAcknowledgePromptCount, |
| 610 Value::CreateIntegerValue(count)); |
| 611 return count; |
| 612 } |
| 613 |
| 600 bool ExtensionPrefs::IsExternalExtensionAcknowledged( | 614 bool ExtensionPrefs::IsExternalExtensionAcknowledged( |
| 601 const std::string& extension_id) { | 615 const std::string& extension_id) { |
| 602 return ReadExtensionPrefBoolean(extension_id, kPrefExternalAcknowledged); | 616 return ReadExtensionPrefBoolean(extension_id, kPrefExternalAcknowledged); |
| 603 } | 617 } |
| 604 | 618 |
| 605 void ExtensionPrefs::AcknowledgeExternalExtension( | 619 void ExtensionPrefs::AcknowledgeExternalExtension( |
| 606 const std::string& extension_id) { | 620 const std::string& extension_id) { |
| 607 DCHECK(Extension::IdIsValid(extension_id)); | 621 DCHECK(Extension::IdIsValid(extension_id)); |
| 608 UpdateExtensionPref(extension_id, kPrefExternalAcknowledged, | 622 UpdateExtensionPref(extension_id, kPrefExternalAcknowledged, |
| 609 Value::CreateBooleanValue(true)); | 623 Value::CreateBooleanValue(true)); |
| 624 UpdateExtensionPref(extension_id, kPrefAcknowledgePromptCount, NULL); |
| 610 } | 625 } |
| 611 | 626 |
| 612 bool ExtensionPrefs::IsBlacklistedExtensionAcknowledged( | 627 bool ExtensionPrefs::IsBlacklistedExtensionAcknowledged( |
| 613 const std::string& extension_id) { | 628 const std::string& extension_id) { |
| 614 return ReadExtensionPrefBoolean(extension_id, kPrefBlacklistAcknowledged); | 629 return ReadExtensionPrefBoolean(extension_id, kPrefBlacklistAcknowledged); |
| 615 } | 630 } |
| 616 | 631 |
| 617 void ExtensionPrefs::AcknowledgeBlacklistedExtension( | 632 void ExtensionPrefs::AcknowledgeBlacklistedExtension( |
| 618 const std::string& extension_id) { | 633 const std::string& extension_id) { |
| 619 DCHECK(Extension::IdIsValid(extension_id)); | 634 DCHECK(Extension::IdIsValid(extension_id)); |
| 620 UpdateExtensionPref(extension_id, kPrefBlacklistAcknowledged, | 635 UpdateExtensionPref(extension_id, kPrefBlacklistAcknowledged, |
| 621 Value::CreateBooleanValue(true)); | 636 Value::CreateBooleanValue(true)); |
| 637 UpdateExtensionPref(extension_id, kPrefAcknowledgePromptCount, NULL); |
| 622 } | 638 } |
| 623 | 639 |
| 624 bool ExtensionPrefs::IsOrphanedExtensionAcknowledged( | 640 bool ExtensionPrefs::IsOrphanedExtensionAcknowledged( |
| 625 const std::string& extension_id) { | 641 const std::string& extension_id) { |
| 626 return ReadExtensionPrefBoolean(extension_id, kPrefOrphanAcknowledged); | 642 return ReadExtensionPrefBoolean(extension_id, kPrefOrphanAcknowledged); |
| 627 } | 643 } |
| 628 | 644 |
| 629 void ExtensionPrefs::AcknowledgeOrphanedExtension( | 645 void ExtensionPrefs::AcknowledgeOrphanedExtension( |
| 630 const std::string& extension_id) { | 646 const std::string& extension_id) { |
| 631 DCHECK(Extension::IdIsValid(extension_id)); | 647 DCHECK(Extension::IdIsValid(extension_id)); |
| 632 UpdateExtensionPref(extension_id, kPrefOrphanAcknowledged, | 648 UpdateExtensionPref(extension_id, kPrefOrphanAcknowledged, |
| 633 Value::CreateBooleanValue(true)); | 649 Value::CreateBooleanValue(true)); |
| 650 UpdateExtensionPref(extension_id, kPrefAcknowledgePromptCount, NULL); |
| 634 } | 651 } |
| 635 | 652 |
| 636 bool ExtensionPrefs::SetAlertSystemFirstRun() { | 653 bool ExtensionPrefs::SetAlertSystemFirstRun() { |
| 637 if (prefs_->GetBoolean(prefs::kExtensionAlertsInitializedPref)) { | 654 if (prefs_->GetBoolean(prefs::kExtensionAlertsInitializedPref)) { |
| 638 return true; | 655 return true; |
| 639 } | 656 } |
| 640 prefs_->SetBoolean(prefs::kExtensionAlertsInitializedPref, true); | 657 prefs_->SetBoolean(prefs::kExtensionAlertsInitializedPref, true); |
| 641 return false; | 658 return false; |
| 642 } | 659 } |
| 643 | 660 |
| (...skipping 1576 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2220 const ExtensionIdList& strings) { | 2237 const ExtensionIdList& strings) { |
| 2221 ListPrefUpdate update(prefs_, pref); | 2238 ListPrefUpdate update(prefs_, pref); |
| 2222 ListValue* list_of_values = update.Get(); | 2239 ListValue* list_of_values = update.Get(); |
| 2223 list_of_values->Clear(); | 2240 list_of_values->Clear(); |
| 2224 for (ExtensionIdList::const_iterator iter = strings.begin(); | 2241 for (ExtensionIdList::const_iterator iter = strings.begin(); |
| 2225 iter != strings.end(); ++iter) | 2242 iter != strings.end(); ++iter) |
| 2226 list_of_values->Append(new StringValue(*iter)); | 2243 list_of_values->Append(new StringValue(*iter)); |
| 2227 } | 2244 } |
| 2228 | 2245 |
| 2229 } // namespace extensions | 2246 } // namespace extensions |
| OLD | NEW |