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_UI_APP_LIST_EXTENSION_UNINSTALLER_H_ 6 #define CHROME_BROWSER_UI_APP_LIST_EXTENSION_UNINSTALLER_H_ 7 8 #include "chrome/browser/extensions/extension_uninstall_dialog.h" 9 10 class AppListControllerDelegate; 11 class Profile; 12 13 // ExtensionUninstaller runs the extension uninstall flow. It shows the 14 // extension uninstall dialog and wait for user to confirm or cancel the 15 // uninstall. 16 class ExtensionUninstaller 17 : public extensions::ExtensionUninstallDialog::Delegate { 18 public: 19 ExtensionUninstaller(Profile* profile, 20 const std::string& extension_id, 21 AppListControllerDelegate* controller); 22 virtual ~ExtensionUninstaller(); 23 24 void Run(); 25 26 private: 27 // Overridden from ExtensionUninstallDialog::Delegate: 28 virtual void ExtensionUninstallAccepted() OVERRIDE; 29 virtual void ExtensionUninstallCanceled() OVERRIDE; 30 void CleanUp(); 31 32 Profile* profile_; 33 std::string app_id_; 34 AppListControllerDelegate* controller_; 35 scoped_ptr<extensions::ExtensionUninstallDialog> dialog_; 36 37 DISALLOW_COPY_AND_ASSIGN(ExtensionUninstaller); 38 }; 39 40 41 #endif // CHROME_BROWSER_UI_APP_LIST_EXTENSION_UNINSTALLER_H_ 42