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 975 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
986 to_disable.push_back(*extension); | 986 to_disable.push_back(*extension); |
987 } | 987 } |
988 for (ExtensionSet::const_iterator extension = terminated_extensions_.begin(); | 988 for (ExtensionSet::const_iterator extension = terminated_extensions_.begin(); |
989 extension != terminated_extensions_.end(); ++extension) { | 989 extension != terminated_extensions_.end(); ++extension) { |
990 if (management_policy->UserMayModifySettings(extension->get(), NULL)) | 990 if (management_policy->UserMayModifySettings(extension->get(), NULL)) |
991 to_disable.push_back(*extension); | 991 to_disable.push_back(*extension); |
992 } | 992 } |
993 | 993 |
994 for (extensions::ExtensionList::const_iterator extension = to_disable.begin(); | 994 for (extensions::ExtensionList::const_iterator extension = to_disable.begin(); |
995 extension != to_disable.end(); ++extension) { | 995 extension != to_disable.end(); ++extension) { |
| 996 if ((*extension)->was_installed_by_default() && |
| 997 extension_urls::IsWebstoreUpdateUrl( |
| 998 extensions::ManifestURL::GetUpdateURL(*extension))) |
| 999 continue; |
996 const std::string& id = (*extension)->id(); | 1000 const std::string& id = (*extension)->id(); |
997 if (except_ids.end() == std::find(except_ids.begin(), except_ids.end(), id)) | 1001 if (except_ids.end() == std::find(except_ids.begin(), except_ids.end(), id)) |
998 DisableExtension(id, extensions::Extension::DISABLE_USER_ACTION); | 1002 DisableExtension(id, extensions::Extension::DISABLE_USER_ACTION); |
999 } | 1003 } |
1000 } | 1004 } |
1001 | 1005 |
1002 void ExtensionService::GrantPermissionsAndEnableExtension( | 1006 void ExtensionService::GrantPermissionsAndEnableExtension( |
1003 const Extension* extension) { | 1007 const Extension* extension) { |
1004 GrantPermissions(extension); | 1008 GrantPermissions(extension); |
1005 RecordPermissionMessagesHistogram( | 1009 RecordPermissionMessagesHistogram( |
(...skipping 2074 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3080 } | 3084 } |
3081 | 3085 |
3082 void ExtensionService::AddUpdateObserver(extensions::UpdateObserver* observer) { | 3086 void ExtensionService::AddUpdateObserver(extensions::UpdateObserver* observer) { |
3083 update_observers_.AddObserver(observer); | 3087 update_observers_.AddObserver(observer); |
3084 } | 3088 } |
3085 | 3089 |
3086 void ExtensionService::RemoveUpdateObserver( | 3090 void ExtensionService::RemoveUpdateObserver( |
3087 extensions::UpdateObserver* observer) { | 3091 extensions::UpdateObserver* observer) { |
3088 update_observers_.RemoveObserver(observer); | 3092 update_observers_.RemoveObserver(observer); |
3089 } | 3093 } |
OLD | NEW |