Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(41)

Side by Side Diff: chrome/browser/extensions/extension_service.cc

Issue 21779002: Don't disable packaged / hosted Apps on profile_reset (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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 959 matching lines...) Expand 10 before | Expand all | Expand 10 after
970 extensions_.Remove(extension->id()); 970 extensions_.Remove(extension->id());
971 NotifyExtensionUnloaded(extension, extension_misc::UNLOAD_REASON_DISABLE); 971 NotifyExtensionUnloaded(extension, extension_misc::UNLOAD_REASON_DISABLE);
972 } else { 972 } else {
973 terminated_extensions_.Remove(extension->id()); 973 terminated_extensions_.Remove(extension->id());
974 } 974 }
975 975
976 SyncExtensionChangeIfNeeded(*extension); 976 SyncExtensionChangeIfNeeded(*extension);
977 } 977 }
978 978
979 void ExtensionService::DisableUserExtensions( 979 void ExtensionService::DisableUserExtensions(
980 const std::set<extensions::Manifest::Type> type_filter,
980 const std::vector<std::string>& except_ids) { 981 const std::vector<std::string>& except_ids) {
981 extensions::ManagementPolicy* management_policy = 982 extensions::ManagementPolicy* management_policy =
982 system_->management_policy(); 983 system_->management_policy();
983 extensions::ExtensionList to_disable; 984 extensions::ExtensionList to_disable;
984 985
985 for (ExtensionSet::const_iterator extension = extensions_.begin(); 986 for (ExtensionSet::const_iterator extension = extensions_.begin();
986 extension != extensions_.end(); ++extension) { 987 extension != extensions_.end(); ++extension) {
987 if (management_policy->UserMayModifySettings(extension->get(), NULL)) 988 if (management_policy->UserMayModifySettings(extension->get(), NULL))
988 to_disable.push_back(*extension); 989 to_disable.push_back(*extension);
989 } 990 }
990 for (ExtensionSet::const_iterator extension = terminated_extensions_.begin(); 991 for (ExtensionSet::const_iterator extension = terminated_extensions_.begin();
991 extension != terminated_extensions_.end(); ++extension) { 992 extension != terminated_extensions_.end(); ++extension) {
992 if (management_policy->UserMayModifySettings(extension->get(), NULL)) 993 if (management_policy->UserMayModifySettings(extension->get(), NULL))
993 to_disable.push_back(*extension); 994 to_disable.push_back(*extension);
994 } 995 }
995 996
996 for (extensions::ExtensionList::const_iterator extension = to_disable.begin(); 997 for (extensions::ExtensionList::const_iterator extension = to_disable.begin();
997 extension != to_disable.end(); ++extension) { 998 extension != to_disable.end(); ++extension) {
999 if (!(*extension)->manifest() ||
vasilii 2013/08/02 09:32:04 I don't think it's possible.
battre 2013/08/02 10:36:21 Me neither, but I don't want to merge a crasher in
1000 type_filter.end() == type_filter.find((*extension)->manifest()->type()))
vasilii 2013/08/02 09:32:04 (*extension)->GetType()?
battre 2013/08/02 10:36:21 Done.
1001 continue;
998 const std::string& id = (*extension)->id(); 1002 const std::string& id = (*extension)->id();
999 if (except_ids.end() == std::find(except_ids.begin(), except_ids.end(), id)) 1003 if (except_ids.end() == std::find(except_ids.begin(), except_ids.end(), id))
1000 DisableExtension(id, extensions::Extension::DISABLE_USER_ACTION); 1004 DisableExtension(id, extensions::Extension::DISABLE_USER_ACTION);
1001 } 1005 }
1002 } 1006 }
1003 1007
1004 void ExtensionService::GrantPermissionsAndEnableExtension( 1008 void ExtensionService::GrantPermissionsAndEnableExtension(
1005 const Extension* extension) { 1009 const Extension* extension) {
1006 GrantPermissions(extension); 1010 GrantPermissions(extension);
1007 RecordPermissionMessagesHistogram( 1011 RecordPermissionMessagesHistogram(
(...skipping 2103 matching lines...) Expand 10 before | Expand all | Expand 10 after
3111 } 3115 }
3112 3116
3113 void ExtensionService::AddUpdateObserver(extensions::UpdateObserver* observer) { 3117 void ExtensionService::AddUpdateObserver(extensions::UpdateObserver* observer) {
3114 update_observers_.AddObserver(observer); 3118 update_observers_.AddObserver(observer);
3115 } 3119 }
3116 3120
3117 void ExtensionService::RemoveUpdateObserver( 3121 void ExtensionService::RemoveUpdateObserver(
3118 extensions::UpdateObserver* observer) { 3122 extensions::UpdateObserver* observer) {
3119 update_observers_.RemoveObserver(observer); 3123 update_observers_.RemoveObserver(observer);
3120 } 3124 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698