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 10class AppListControllerDelegate; 11class 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. 16class 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