Move Webstore URL concepts to //extensions and out
[chromium-blink-merge.git] / chrome / browser / ui / app_list / extension_uninstaller.h
blob867063a7019a2c1813fbde64cbcedb9c6cc227a2
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.
5 #ifndef CHROME_BROWSER_UI_APP_LIST_EXTENSION_UNINSTALLER_H_
6 #define CHROME_BROWSER_UI_APP_LIST_EXTENSION_UNINSTALLER_H_
8 #include "chrome/browser/extensions/extension_uninstall_dialog.h"
10 class AppListControllerDelegate;
11 class Profile;
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();
24 void Run();
26 private:
27 // Overridden from ExtensionUninstallDialog::Delegate:
28 virtual void ExtensionUninstallAccepted() OVERRIDE;
29 virtual void ExtensionUninstallCanceled() OVERRIDE;
30 void CleanUp();
32 Profile* profile_;
33 std::string app_id_;
34 AppListControllerDelegate* controller_;
35 scoped_ptr<extensions::ExtensionUninstallDialog> dialog_;
37 DISALLOW_COPY_AND_ASSIGN(ExtensionUninstaller);
41 #endif // CHROME_BROWSER_UI_APP_LIST_EXTENSION_UNINSTALLER_H_