diff options
author | rdevlin.cronin@chromium.org <rdevlin.cronin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-06-15 18:09:41 +0000 |
---|---|---|
committer | rdevlin.cronin@chromium.org <rdevlin.cronin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-06-15 18:09:41 +0000 |
commit | 8c000882d15a528fee4e9f7ca81b9644eb8cf1c0 (patch) | |
tree | 21d4e10bbc6f87877ed96fd574e63969db58bbc4 /chrome/browser/extensions/extension_service.h | |
parent | 10ad40dad0875a5eb9f1a87b0681728a618d8465 (diff) | |
download | chromium_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.h | 6 |
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_; |