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

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

Issue 11615002: Exclude PluginService for builds with enable_plugins==0 (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebase Created 8 years 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) 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/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 1088 matching lines...) Expand 10 before | Expand all | Expand 10 after
1099 } 1099 }
1100 #endif 1100 #endif
1101 1101
1102 // Same for chrome://thumb/ resources. 1102 // Same for chrome://thumb/ resources.
1103 if (extension->HasHostPermission(GURL(chrome::kChromeUIThumbnailURL))) { 1103 if (extension->HasHostPermission(GURL(chrome::kChromeUIThumbnailURL))) {
1104 ThumbnailSource* thumbnail_source = new ThumbnailSource(profile_); 1104 ThumbnailSource* thumbnail_source = new ThumbnailSource(profile_);
1105 ChromeURLDataManagerFactory::GetForProfile(profile_)-> 1105 ChromeURLDataManagerFactory::GetForProfile(profile_)->
1106 AddDataSource(thumbnail_source); 1106 AddDataSource(thumbnail_source);
1107 } 1107 }
1108 1108
1109 #if defined(ENABLE_PLUGINS)
1109 // TODO(mpcomplete): This ends up affecting all profiles. See crbug.com/80757. 1110 // TODO(mpcomplete): This ends up affecting all profiles. See crbug.com/80757.
1110 bool plugins_changed = false; 1111 bool plugins_changed = false;
1111 for (size_t i = 0; i < extension->plugins().size(); ++i) { 1112 for (size_t i = 0; i < extension->plugins().size(); ++i) {
1112 const Extension::PluginInfo& plugin = extension->plugins()[i]; 1113 const Extension::PluginInfo& plugin = extension->plugins()[i];
1113 PluginService::GetInstance()->RefreshPlugins(); 1114 PluginService::GetInstance()->RefreshPlugins();
1114 PluginService::GetInstance()->AddExtraPluginPath(plugin.path); 1115 PluginService::GetInstance()->AddExtraPluginPath(plugin.path);
1115 plugins_changed = true; 1116 plugins_changed = true;
1116 ChromePluginServiceFilter* filter = 1117 ChromePluginServiceFilter* filter =
1117 ChromePluginServiceFilter::GetInstance(); 1118 ChromePluginServiceFilter::GetInstance();
1118 if (plugin.is_public) { 1119 if (plugin.is_public) {
(...skipping 10 matching lines...) Expand all
1129 const Extension::NaClModuleInfo& module = extension->nacl_modules()[i]; 1130 const Extension::NaClModuleInfo& module = extension->nacl_modules()[i];
1130 RegisterNaClModule(module.url, module.mime_type); 1131 RegisterNaClModule(module.url, module.mime_type);
1131 nacl_modules_changed = true; 1132 nacl_modules_changed = true;
1132 } 1133 }
1133 1134
1134 if (nacl_modules_changed) 1135 if (nacl_modules_changed)
1135 UpdatePluginListWithNaClModules(); 1136 UpdatePluginListWithNaClModules();
1136 1137
1137 if (plugins_changed || nacl_modules_changed) 1138 if (plugins_changed || nacl_modules_changed)
1138 PluginService::GetInstance()->PurgePluginListCache(profile_, false); 1139 PluginService::GetInstance()->PurgePluginListCache(profile_, false);
1140 #endif // defined(ENABLE_PLUGINS)
1139 } 1141 }
1140 1142
1141 void ExtensionService::NotifyExtensionUnloaded( 1143 void ExtensionService::NotifyExtensionUnloaded(
1142 const Extension* extension, 1144 const Extension* extension,
1143 extension_misc::UnloadedExtensionReason reason) { 1145 extension_misc::UnloadedExtensionReason reason) {
1144 UnloadedExtensionInfo details(extension, reason); 1146 UnloadedExtensionInfo details(extension, reason);
1145 content::NotificationService::current()->Notify( 1147 content::NotificationService::current()->Notify(
1146 chrome::NOTIFICATION_EXTENSION_UNLOADED, 1148 chrome::NOTIFICATION_EXTENSION_UNLOADED,
1147 content::Source<Profile>(profile_), 1149 content::Source<Profile>(profile_),
1148 content::Details<UnloadedExtensionInfo>(&details)); 1150 content::Details<UnloadedExtensionInfo>(&details));
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
1180 BrowserContext::GetDefaultStoragePartition(profile_)-> 1182 BrowserContext::GetDefaultStoragePartition(profile_)->
1181 GetFileSystemContext(); 1183 GetFileSystemContext();
1182 if (filesystem_context && filesystem_context->external_provider()) { 1184 if (filesystem_context && filesystem_context->external_provider()) {
1183 filesystem_context->external_provider()-> 1185 filesystem_context->external_provider()->
1184 RevokeAccessForExtension(extension->id()); 1186 RevokeAccessForExtension(extension->id());
1185 } 1187 }
1186 #endif 1188 #endif
1187 1189
1188 UpdateActiveExtensionsInCrashReporter(); 1190 UpdateActiveExtensionsInCrashReporter();
1189 1191
1192 #if defined(ENABLE_PLUGINS)
1190 bool plugins_changed = false; 1193 bool plugins_changed = false;
1191 for (size_t i = 0; i < extension->plugins().size(); ++i) { 1194 for (size_t i = 0; i < extension->plugins().size(); ++i) {
1192 const Extension::PluginInfo& plugin = extension->plugins()[i]; 1195 const Extension::PluginInfo& plugin = extension->plugins()[i];
1193 PluginService::GetInstance()->ForcePluginShutdown(plugin.path); 1196 PluginService::GetInstance()->ForcePluginShutdown(plugin.path);
1194 PluginService::GetInstance()->RefreshPlugins(); 1197 PluginService::GetInstance()->RefreshPlugins();
1195 PluginService::GetInstance()->RemoveExtraPluginPath(plugin.path); 1198 PluginService::GetInstance()->RemoveExtraPluginPath(plugin.path);
1196 plugins_changed = true; 1199 plugins_changed = true;
1197 ChromePluginServiceFilter::GetInstance()->UnrestrictPlugin(plugin.path); 1200 ChromePluginServiceFilter::GetInstance()->UnrestrictPlugin(plugin.path);
1198 } 1201 }
1199 1202
1200 bool nacl_modules_changed = false; 1203 bool nacl_modules_changed = false;
1201 for (size_t i = 0; i < extension->nacl_modules().size(); ++i) { 1204 for (size_t i = 0; i < extension->nacl_modules().size(); ++i) {
1202 const Extension::NaClModuleInfo& module = extension->nacl_modules()[i]; 1205 const Extension::NaClModuleInfo& module = extension->nacl_modules()[i];
1203 UnregisterNaClModule(module.url); 1206 UnregisterNaClModule(module.url);
1204 nacl_modules_changed = true; 1207 nacl_modules_changed = true;
1205 } 1208 }
1206 1209
1207 if (nacl_modules_changed) 1210 if (nacl_modules_changed)
1208 UpdatePluginListWithNaClModules(); 1211 UpdatePluginListWithNaClModules();
1209 1212
1210 if (plugins_changed || nacl_modules_changed) 1213 if (plugins_changed || nacl_modules_changed)
1211 PluginService::GetInstance()->PurgePluginListCache(profile_, false); 1214 PluginService::GetInstance()->PurgePluginListCache(profile_, false);
1215 #endif // defined(ENABLE_PLUGINS)
1212 } 1216 }
1213 1217
1214 Profile* ExtensionService::profile() { 1218 Profile* ExtensionService::profile() {
1215 return profile_; 1219 return profile_;
1216 } 1220 }
1217 1221
1218 extensions::ExtensionPrefs* ExtensionService::extension_prefs() { 1222 extensions::ExtensionPrefs* ExtensionService::extension_prefs() {
1219 return extension_prefs_; 1223 return extension_prefs_;
1220 } 1224 }
1221 1225
(...skipping 1908 matching lines...) Expand 10 before | Expand all | Expand 10 after
3130 scoped_refptr<const Extension> extension = GetInstalledExtension(*it); 3134 scoped_refptr<const Extension> extension = GetInstalledExtension(*it);
3131 DCHECK(extension); 3135 DCHECK(extension);
3132 if (!extension) 3136 if (!extension)
3133 continue; 3137 continue;
3134 blacklisted_extensions_.Insert(extension); 3138 blacklisted_extensions_.Insert(extension);
3135 UnloadExtension(*it, extension_misc::UNLOAD_REASON_BLACKLIST); 3139 UnloadExtension(*it, extension_misc::UNLOAD_REASON_BLACKLIST);
3136 } 3140 }
3137 3141
3138 IdentifyAlertableExtensions(); 3142 IdentifyAlertableExtensions();
3139 } 3143 }
OLDNEW
« no previous file with comments | « chrome/browser/chrome_content_browser_client.cc ('k') | chrome/browser/extensions/extension_service_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698