1 // Copyright 2013 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #ifndef CHROME_BROWSER_EXTENSIONS_INSTALL_OBSERVER_H_ 6 #define CHROME_BROWSER_EXTENSIONS_INSTALL_OBSERVER_H_ 7 8 namespace gfx { 9 class ImageSkia; 10 } 11 12 namespace extensions { 13 14 class Extension; 15 16 class InstallObserver { 17 public: 18 virtual void OnBeginExtensionInstall( 19 const std::string& extension_id, 20 const std::string& extension_name, 21 const gfx::ImageSkia& installing_icon, 22 bool is_app, 23 bool is_platform_app) = 0; 24 25 virtual void OnDownloadProgress(const std::string& extension_id, 26 int percent_downloaded) = 0; 27 28 virtual void OnInstallFailure(const std::string& extension_id) = 0; 29 30 virtual void OnExtensionInstalled(const Extension* extension) = 0; 31 virtual void OnExtensionLoaded(const Extension* extension) = 0; 32 virtual void OnExtensionUnloaded(const Extension* extension) = 0; 33 virtual void OnExtensionUninstalled(const Extension* extension) = 0; 34 virtual void OnAppsReordered() = 0; 35 virtual void OnAppInstalledToAppList(const std::string& extension_id) = 0; 36 37 // Notifies observers that the observed object is going away. 38 virtual void OnShutdown() = 0; 39 40 protected: 41 virtual ~InstallObserver() {} 42 }; 43 44 } // namespace extensions 45 46 #endif // CHROME_BROWSER_EXTENSIONS_INSTALL_OBSERVER_H_ 47