summaryrefslogtreecommitdiffstats
path: root/chrome/browser/extensions/install_tracker.h
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/browser/extensions/install_tracker.h')
-rw-r--r--chrome/browser/extensions/install_tracker.h43
1 files changed, 43 insertions, 0 deletions
diff --git a/chrome/browser/extensions/install_tracker.h b/chrome/browser/extensions/install_tracker.h
new file mode 100644
index 0000000..a15dd53
--- /dev/null
+++ b/chrome/browser/extensions/install_tracker.h
@@ -0,0 +1,43 @@
+// Copyright 2013 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef CHROME_BROWSER_EXTENSIONS_INSTALL_TRACKER_H_
+#define CHROME_BROWSER_EXTENSIONS_INSTALL_TRACKER_H_
+
+#include "base/observer_list.h"
+#include "chrome/browser/extensions/install_observer.h"
+#include "chrome/browser/profiles/profile_keyed_service.h"
+
+namespace gfx {
+class ImageSkia;
+}
+
+namespace extensions {
+
+class InstallTracker : public ProfileKeyedService {
+ public:
+ InstallTracker();
+ virtual ~InstallTracker();
+
+ void AddObserver(InstallObserver* observer);
+ void RemoveObserver(InstallObserver* observer);
+
+ void OnBeginExtensionInstall(
+ const std::string& extension_id,
+ const std::string& extension_name,
+ const gfx::ImageSkia& installing_icon,
+ bool is_app);
+ void OnDownloadProgress(const std::string& extension_id,
+ int percent_downloaded);
+ void OnInstallFailure(const std::string& extension_id);
+
+ private:
+ ObserverList<InstallObserver> observers_;
+
+ DISALLOW_COPY_AND_ASSIGN(InstallTracker);
+};
+
+} // namespace extensions
+
+#endif // CHROME_BROWSER_EXTENSIONS_INSTALL_TRACKER_H_