// 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_OBSERVER_H_
#define CHROME_BROWSER_EXTENSIONS_INSTALL_OBSERVER_H_
#include <string>
#include "ui/gfx/image/image_skia.h"
namespace extensions {
class Extension;
class InstallObserver {
public:
struct ExtensionInstallParams {
ExtensionInstallParams(
std::string extension_id,
std::string extension_name,
gfx::ImageSkia installing_icon,
bool is_app,
bool is_platform_app);
std::string extension_id;
std::string extension_name;
gfx::ImageSkia installing_icon;
bool is_app;
bool is_platform_app;
bool is_ephemeral;
};
virtual void OnBeginExtensionInstall(
const ExtensionInstallParams& params) = 0;
virtual void OnDownloadProgress(const std::string& extension_id,
int percent_downloaded) = 0;
virtual void OnInstallFailure(const std::string& extension_id) = 0;
virtual void OnExtensionInstalled(const Extension* extension) = 0;
virtual void OnExtensionLoaded(const Extension* extension) = 0;
virtual void OnExtensionUnloaded(const Extension* extension) = 0;
virtual void OnExtensionUninstalled(const Extension* extension) = 0;
virtual void OnAppsReordered() = 0;
virtual void OnAppInstalledToAppList(const std::string& extension_id) = 0;
// Notifies observers that the observed object is going away.
virtual void OnShutdown() = 0;
protected:
virtual ~InstallObserver() {}
};
} // namespace extensions
#endif // CHROME_BROWSER_EXTENSIONS_INSTALL_OBSERVER_H_