OLD | NEW |
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2013 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_service.h" | 5 #include "chrome/browser/extensions/extension_service.h" |
6 | 6 |
7 #include <algorithm> | 7 #include <algorithm> |
8 #include <iterator> | 8 #include <iterator> |
9 #include <set> | 9 #include <set> |
10 | 10 |
(...skipping 2135 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2146 // hasn't been initialized yet. | 2146 // hasn't been initialized yet. |
2147 scoped_refptr<PermissionSet> granted_permissions = | 2147 scoped_refptr<PermissionSet> granted_permissions = |
2148 extension_prefs_->GetGrantedPermissions(extension->id()); | 2148 extension_prefs_->GetGrantedPermissions(extension->id()); |
2149 CHECK(granted_permissions.get()); | 2149 CHECK(granted_permissions.get()); |
2150 | 2150 |
2151 // Here, we check if an extension's privileges have increased in a manner | 2151 // Here, we check if an extension's privileges have increased in a manner |
2152 // that requires the user's approval. This could occur because the browser | 2152 // that requires the user's approval. This could occur because the browser |
2153 // upgraded and recognized additional privileges, or an extension upgrades | 2153 // upgraded and recognized additional privileges, or an extension upgrades |
2154 // to a version that requires additional privileges. | 2154 // to a version that requires additional privileges. |
2155 is_privilege_increase = granted_permissions->HasLessPrivilegesThan( | 2155 is_privilege_increase = granted_permissions->HasLessPrivilegesThan( |
2156 extension->GetActivePermissions().get()); | 2156 extension->GetActivePermissions().get(), extension->GetType()); |
2157 } | 2157 } |
2158 | 2158 |
2159 if (is_extension_upgrade) { | 2159 if (is_extension_upgrade) { |
2160 // If the extension was already disabled, suppress any alerts for becoming | 2160 // If the extension was already disabled, suppress any alerts for becoming |
2161 // disabled on permissions increase. | 2161 // disabled on permissions increase. |
2162 bool previously_disabled = | 2162 bool previously_disabled = |
2163 extension_prefs_->IsExtensionDisabled(extension->id()); | 2163 extension_prefs_->IsExtensionDisabled(extension->id()); |
2164 // Legacy disabled extensions do not have a disable reason. Infer that if | 2164 // Legacy disabled extensions do not have a disable reason. Infer that if |
2165 // there was no permission increase, it was likely disabled by the user. | 2165 // there was no permission increase, it was likely disabled by the user. |
2166 if (previously_disabled && disable_reasons == Extension::DISABLE_NONE && | 2166 if (previously_disabled && disable_reasons == Extension::DISABLE_NONE && |
(...skipping 895 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3062 } | 3062 } |
3063 | 3063 |
3064 void ExtensionService::AddUpdateObserver(extensions::UpdateObserver* observer) { | 3064 void ExtensionService::AddUpdateObserver(extensions::UpdateObserver* observer) { |
3065 update_observers_.AddObserver(observer); | 3065 update_observers_.AddObserver(observer); |
3066 } | 3066 } |
3067 | 3067 |
3068 void ExtensionService::RemoveUpdateObserver( | 3068 void ExtensionService::RemoveUpdateObserver( |
3069 extensions::UpdateObserver* observer) { | 3069 extensions::UpdateObserver* observer) { |
3070 update_observers_.RemoveObserver(observer); | 3070 update_observers_.RemoveObserver(observer); |
3071 } | 3071 } |
OLD | NEW |