OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 "extensions/browser/extension_prefs.h" | 5 #include "extensions/browser/extension_prefs.h" |
6 | 6 |
7 #include <iterator> | 7 #include <iterator> |
8 | 8 |
9 #include "base/command_line.h" | 9 #include "base/command_line.h" |
10 #include "base/prefs/pref_notifier.h" | 10 #include "base/prefs/pref_notifier.h" |
(...skipping 728 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
739 } | 739 } |
740 | 740 |
741 bool ExtensionPrefs::HasDisableReason( | 741 bool ExtensionPrefs::HasDisableReason( |
742 const std::string& extension_id, | 742 const std::string& extension_id, |
743 Extension::DisableReason disable_reason) const { | 743 Extension::DisableReason disable_reason) const { |
744 return (GetDisableReasons(extension_id) & disable_reason) != 0; | 744 return (GetDisableReasons(extension_id) & disable_reason) != 0; |
745 } | 745 } |
746 | 746 |
747 void ExtensionPrefs::AddDisableReason(const std::string& extension_id, | 747 void ExtensionPrefs::AddDisableReason(const std::string& extension_id, |
748 Extension::DisableReason disable_reason) { | 748 Extension::DisableReason disable_reason) { |
749 ModifyDisableReason(extension_id, disable_reason, DISABLE_REASON_ADD); | 749 ModifyDisableReasons(extension_id, disable_reason, DISABLE_REASON_ADD); |
| 750 } |
| 751 |
| 752 void ExtensionPrefs::AddDisableReasons(const std::string& extension_id, |
| 753 int disable_reasons) { |
| 754 ModifyDisableReasons(extension_id, disable_reasons, DISABLE_REASON_ADD); |
750 } | 755 } |
751 | 756 |
752 void ExtensionPrefs::RemoveDisableReason( | 757 void ExtensionPrefs::RemoveDisableReason( |
753 const std::string& extension_id, | 758 const std::string& extension_id, |
754 Extension::DisableReason disable_reason) { | 759 Extension::DisableReason disable_reason) { |
755 ModifyDisableReason(extension_id, disable_reason, DISABLE_REASON_REMOVE); | 760 ModifyDisableReasons(extension_id, disable_reason, DISABLE_REASON_REMOVE); |
756 } | 761 } |
757 | 762 |
758 void ExtensionPrefs::ClearDisableReasons(const std::string& extension_id) { | 763 void ExtensionPrefs::ClearDisableReasons(const std::string& extension_id) { |
759 ModifyDisableReason( | 764 ModifyDisableReasons(extension_id, Extension::DISABLE_NONE, |
760 extension_id, Extension::DISABLE_NONE, DISABLE_REASON_CLEAR); | 765 DISABLE_REASON_CLEAR); |
761 } | 766 } |
762 | 767 |
763 void ExtensionPrefs::ModifyDisableReason(const std::string& extension_id, | 768 void ExtensionPrefs::ModifyDisableReasons(const std::string& extension_id, |
764 Extension::DisableReason reason, | 769 int reasons, |
765 DisableReasonChange change) { | 770 DisableReasonChange change) { |
766 int old_value = GetDisableReasons(extension_id); | 771 int old_value = GetDisableReasons(extension_id); |
767 int new_value = old_value; | 772 int new_value = old_value; |
768 switch (change) { | 773 switch (change) { |
769 case DISABLE_REASON_ADD: | 774 case DISABLE_REASON_ADD: |
770 new_value |= static_cast<int>(reason); | 775 new_value |= reasons; |
771 break; | 776 break; |
772 case DISABLE_REASON_REMOVE: | 777 case DISABLE_REASON_REMOVE: |
773 new_value &= ~static_cast<int>(reason); | 778 new_value &= ~reasons; |
774 break; | 779 break; |
775 case DISABLE_REASON_CLEAR: | 780 case DISABLE_REASON_CLEAR: |
776 new_value = Extension::DISABLE_NONE; | 781 new_value = Extension::DISABLE_NONE; |
777 break; | 782 break; |
778 } | 783 } |
779 | 784 |
780 if (old_value == new_value) // no change, return. | 785 if (old_value == new_value) // no change, return. |
781 return; | 786 return; |
782 | 787 |
783 if (new_value == Extension::DISABLE_NONE) { | 788 if (new_value == Extension::DISABLE_NONE) { |
(...skipping 1317 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2101 extension_pref_value_map_->RegisterExtension( | 2106 extension_pref_value_map_->RegisterExtension( |
2102 extension_id, install_time, is_enabled, is_incognito_enabled); | 2107 extension_id, install_time, is_enabled, is_incognito_enabled); |
2103 | 2108 |
2104 FOR_EACH_OBSERVER( | 2109 FOR_EACH_OBSERVER( |
2105 ExtensionPrefsObserver, | 2110 ExtensionPrefsObserver, |
2106 observer_list_, | 2111 observer_list_, |
2107 OnExtensionRegistered(extension_id, install_time, is_enabled)); | 2112 OnExtensionRegistered(extension_id, install_time, is_enabled)); |
2108 } | 2113 } |
2109 | 2114 |
2110 } // namespace extensions | 2115 } // namespace extensions |
OLD | NEW |