summaryrefslogtreecommitdiffstats
path: root/chrome/browser/extensions/extension_service.h
diff options
context:
space:
mode:
authorjennb@chromium.org <jennb@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-01-13 00:21:20 +0000
committerjennb@chromium.org <jennb@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-01-13 00:21:20 +0000
commitbb7f4095f73cf4c0ce0fe8a3cff37def81311d57 (patch)
tree7622be5faaa5342ea48c2627eb45ab1586d2be4d /chrome/browser/extensions/extension_service.h
parent31ae9addcfc81537293f5c4fc6c12ac9d8006159 (diff)
downloadchromium_src-bb7f4095f73cf4c0ce0fe8a3cff37def81311d57.zip
chromium_src-bb7f4095f73cf4c0ce0fe8a3cff37def81311d57.tar.gz
chromium_src-bb7f4095f73cf4c0ce0fe8a3cff37def81311d57.tar.bz2
Show crashed extensions on chrome://extensions.
BUG=31535 TEST=updated JSON serialization tests, added check in browsertest, manual test using task manager to terminate an extension process Review URL: http://codereview.chromium.org/6158001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@71263 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/extensions/extension_service.h')
-rw-r--r--chrome/browser/extensions/extension_service.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/chrome/browser/extensions/extension_service.h b/chrome/browser/extensions/extension_service.h
index 9e4206c..21c4a57 100644
--- a/chrome/browser/extensions/extension_service.h
+++ b/chrome/browser/extensions/extension_service.h
@@ -156,6 +156,7 @@ class ExtensionService
// Gets the list of currently installed extensions.
virtual const ExtensionList* extensions() const;
virtual const ExtensionList* disabled_extensions() const;
+ virtual const ExtensionList* terminated_extensions() const;
// Gets the set of pending extensions.
virtual const PendingExtensionMap& pending_extensions() const;
@@ -468,6 +469,11 @@ class ExtensionService
bool include_enabled,
bool include_disabled);
+
+ // Keep track of terminated extensions.
+ void TrackTerminatedExtension(const Extension* extension);
+ void UntrackTerminatedExtension(const std::string& id);
+
// Like AddPendingExtension*() functions above, but assumes an
// extension with the same id is not already installed.
void AddPendingExtensionInternal(
@@ -508,6 +514,12 @@ class ExtensionService
// The list of installed extensions that have been disabled.
ExtensionList disabled_extensions_;
+ // The list of installed extensions that have been terminated.
+ ExtensionList terminated_extensions_;
+
+ // Used to quickly check if an extension was terminated.
+ std::set<std::string> terminated_extension_ids_;
+
// The set of pending extensions.
PendingExtensionMap pending_extensions_;