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/common/extensions/extension.h" | 5 #include "chrome/common/extensions/extension.h" |
6 | 6 |
7 #include <ostream> | 7 #include <ostream> |
8 | 8 |
9 #include "base/base64.h" | 9 #include "base/base64.h" |
10 #include "base/basictypes.h" | 10 #include "base/basictypes.h" |
(...skipping 3811 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3822 } | 3822 } |
3823 | 3823 |
3824 scoped_refptr<const PermissionSet> Extension::GetTabSpecificPermissions( | 3824 scoped_refptr<const PermissionSet> Extension::GetTabSpecificPermissions( |
3825 int tab_id) const { | 3825 int tab_id) const { |
3826 base::AutoLock auto_lock(runtime_data_lock_); | 3826 base::AutoLock auto_lock(runtime_data_lock_); |
3827 return runtime_data_.GetTabSpecificPermissions(tab_id); | 3827 return runtime_data_.GetTabSpecificPermissions(tab_id); |
3828 } | 3828 } |
3829 | 3829 |
3830 void Extension::UpdateTabSpecificPermissions( | 3830 void Extension::UpdateTabSpecificPermissions( |
3831 int tab_id, | 3831 int tab_id, |
3832 const PermissionSet* permissions) const { | 3832 scoped_refptr<const PermissionSet> permissions) const { |
3833 base::AutoLock auto_lock(runtime_data_lock_); | 3833 base::AutoLock auto_lock(runtime_data_lock_); |
3834 runtime_data_.UpdateTabSpecificPermissions(tab_id, permissions); | 3834 runtime_data_.UpdateTabSpecificPermissions(tab_id, permissions); |
3835 } | 3835 } |
3836 | 3836 |
3837 void Extension::ClearTabSpecificPermissions(int tab_id) const { | 3837 void Extension::ClearTabSpecificPermissions(int tab_id) const { |
3838 base::AutoLock auto_lock(runtime_data_lock_); | 3838 base::AutoLock auto_lock(runtime_data_lock_); |
3839 runtime_data_.ClearTabSpecificPermissions(tab_id); | 3839 runtime_data_.ClearTabSpecificPermissions(tab_id); |
3840 } | 3840 } |
3841 | 3841 |
3842 bool Extension::CheckPlatformAppFeatures(std::string* utf8_error) { | 3842 bool Extension::CheckPlatformAppFeatures(std::string* utf8_error) { |
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3880 | 3880 |
3881 scoped_refptr<const PermissionSet> | 3881 scoped_refptr<const PermissionSet> |
3882 Extension::RuntimeData::GetTabSpecificPermissions(int tab_id) const { | 3882 Extension::RuntimeData::GetTabSpecificPermissions(int tab_id) const { |
3883 CHECK_GE(tab_id, 0); | 3883 CHECK_GE(tab_id, 0); |
3884 TabPermissionsMap::const_iterator it = tab_specific_permissions_.find(tab_id); | 3884 TabPermissionsMap::const_iterator it = tab_specific_permissions_.find(tab_id); |
3885 return (it != tab_specific_permissions_.end()) ? it->second : NULL; | 3885 return (it != tab_specific_permissions_.end()) ? it->second : NULL; |
3886 } | 3886 } |
3887 | 3887 |
3888 void Extension::RuntimeData::UpdateTabSpecificPermissions( | 3888 void Extension::RuntimeData::UpdateTabSpecificPermissions( |
3889 int tab_id, | 3889 int tab_id, |
3890 const PermissionSet* permissions) { | 3890 scoped_refptr<const PermissionSet> permissions) { |
3891 CHECK_GE(tab_id, 0); | 3891 CHECK_GE(tab_id, 0); |
3892 if (tab_specific_permissions_.count(tab_id)) { | 3892 if (tab_specific_permissions_.count(tab_id)) { |
3893 tab_specific_permissions_[tab_id] = PermissionSet::CreateUnion( | 3893 tab_specific_permissions_[tab_id] = PermissionSet::CreateUnion( |
3894 tab_specific_permissions_[tab_id], | 3894 tab_specific_permissions_[tab_id], |
3895 permissions); | 3895 permissions.get()); |
3896 } else { | 3896 } else { |
3897 tab_specific_permissions_[tab_id] = permissions; | 3897 tab_specific_permissions_[tab_id] = permissions; |
3898 } | 3898 } |
3899 } | 3899 } |
3900 | 3900 |
3901 void Extension::RuntimeData::ClearTabSpecificPermissions(int tab_id) { | 3901 void Extension::RuntimeData::ClearTabSpecificPermissions(int tab_id) { |
3902 CHECK_GE(tab_id, 0); | 3902 CHECK_GE(tab_id, 0); |
3903 tab_specific_permissions_.erase(tab_id); | 3903 tab_specific_permissions_.erase(tab_id); |
3904 } | 3904 } |
3905 | 3905 |
3906 UnloadedExtensionInfo::UnloadedExtensionInfo( | 3906 UnloadedExtensionInfo::UnloadedExtensionInfo( |
3907 const Extension* extension, | 3907 const Extension* extension, |
3908 extension_misc::UnloadedExtensionReason reason) | 3908 extension_misc::UnloadedExtensionReason reason) |
3909 : reason(reason), | 3909 : reason(reason), |
3910 already_disabled(false), | 3910 already_disabled(false), |
3911 extension(extension) {} | 3911 extension(extension) {} |
3912 | 3912 |
3913 UpdatedExtensionPermissionsInfo::UpdatedExtensionPermissionsInfo( | 3913 UpdatedExtensionPermissionsInfo::UpdatedExtensionPermissionsInfo( |
3914 const Extension* extension, | 3914 const Extension* extension, |
3915 const PermissionSet* permissions, | 3915 const PermissionSet* permissions, |
3916 Reason reason) | 3916 Reason reason) |
3917 : reason(reason), | 3917 : reason(reason), |
3918 extension(extension), | 3918 extension(extension), |
3919 permissions(permissions) {} | 3919 permissions(permissions) {} |
3920 | 3920 |
3921 } // namespace extensions | 3921 } // namespace extensions |
OLD | NEW |