summaryrefslogtreecommitdiffstats
path: root/chrome/browser/extensions/extension_service.h
diff options
context:
space:
mode:
authorrdevlin.cronin@chromium.org <rdevlin.cronin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-06-15 18:09:41 +0000
committerrdevlin.cronin@chromium.org <rdevlin.cronin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-06-15 18:09:41 +0000
commit8c000882d15a528fee4e9f7ca81b9644eb8cf1c0 (patch)
tree21d4e10bbc6f87877ed96fd574e63969db58bbc4 /chrome/browser/extensions/extension_service.h
parent10ad40dad0875a5eb9f1a87b0681728a618d8465 (diff)
downloadchromium_src-8c000882d15a528fee4e9f7ca81b9644eb8cf1c0.zip
chromium_src-8c000882d15a528fee4e9f7ca81b9644eb8cf1c0.tar.gz
chromium_src-8c000882d15a528fee4e9f7ca81b9644eb8cf1c0.tar.bz2
Cleaning Up Extensions When Local Content Removed
This fixes an issue where removing an extension's local content, e.g. deleting the user-data-dir/Default/Extensions/<id> directory, would result in a broken extension. Chrome will now uninstall/remove any extensions where the path to the extension cannot be resolved. BUG=31910 TEST=ExtensionServiceTest.CleanupInternalExtensionsMissingLocalContent; ExtensionServiceTest.CleanupUnpackedExtensionsMissingLocalContent; test by hand by loading an extension, deleting the local directory, and restarting chrome Review URL: https://chromiumcodereview.appspot.com/10541126 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@142427 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/extensions/extension_service.h')
-rw-r--r--chrome/browser/extensions/extension_service.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/chrome/browser/extensions/extension_service.h b/chrome/browser/extensions/extension_service.h
index b79ed33..f46ed87 100644
--- a/chrome/browser/extensions/extension_service.h
+++ b/chrome/browser/extensions/extension_service.h
@@ -27,6 +27,7 @@
#include "chrome/browser/extensions/app_shortcut_manager.h"
#include "chrome/browser/extensions/app_sync_bundle.h"
#include "chrome/browser/extensions/apps_promo.h"
+#include "chrome/browser/extensions/extension_garbage_collector.h"
#include "chrome/browser/extensions/extension_icon_manager.h"
#include "chrome/browser/extensions/extension_menu_manager.h"
#include "chrome/browser/extensions/extension_prefs.h"
@@ -711,6 +712,11 @@ class ExtensionService
// Preferences for the owning profile (weak reference).
ExtensionPrefs* extension_prefs_;
+ // The ExtensionGarbageCollector associated with this service; this is
+ // responsible for cleaning up old or partially deleted extensions.
+ scoped_ptr<extensions::ExtensionGarbageCollector>
+ extension_garbage_collector_;
+
// Settings for the owning profile.
scoped_ptr<extensions::SettingsFrontend> settings_frontend_;