Index: chrome/browser/profile_resetter/profile_resetter.cc |
diff --git a/chrome/browser/profile_resetter/profile_resetter.cc b/chrome/browser/profile_resetter/profile_resetter.cc |
index 3c797a70bcc682cb4e8efe3b9e8e13497f4145f8..327c3141f527fd7586d296318e34c3e4637ed8e7 100644 |
--- a/chrome/browser/profile_resetter/profile_resetter.cc |
+++ b/chrome/browser/profile_resetter/profile_resetter.cc |
@@ -203,9 +203,21 @@ void ProfileResetter::ResetExtensions() { |
std::vector<std::string> brandcode_extensions; |
master_settings_->GetExtensions(&brandcode_extensions); |
+ // These are the types that we disable because they can have an impact on the |
+ // core browser (websites the user visits and UI) and their permissions are |
+ // not contained to themselves. |
+ std::set<extensions::Manifest::Type> type_filter; |
+ type_filter.insert(extensions::Manifest::TYPE_EXTENSION); |
+ type_filter.insert(extensions::Manifest::TYPE_THEME); |
+ type_filter.insert(extensions::Manifest::TYPE_UNKNOWN); |
+ type_filter.insert(extensions::Manifest::TYPE_USER_SCRIPT); |
+ type_filter.insert(extensions::Manifest::TYPE_LEGACY_PACKAGED_APP); |
+ // These are the extension types that we don't disable: |
+ // TYPE_HOSTED_APP, TYPE_PLATFORM_APP, TYPE_SHARED_MODULE. |
+ |
ExtensionService* extension_service = profile_->GetExtensionService(); |
DCHECK(extension_service); |
- extension_service->DisableUserExtensions(brandcode_extensions); |
+ extension_service->DisableUserExtensions(type_filter, brandcode_extensions); |
MarkAsDone(EXTENSIONS); |
} |