• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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