[Extensions] Cleanup Extension Uninstall Dialog logic
[chromium-blink-merge.git] / chrome / browser / ui / app_list / extension_uninstaller.h
blob7004229be200eee626708b06b579fe53edf0f792
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 ~ExtensionUninstaller() override;
24 void Run();
26 private:
27 // Overridden from ExtensionUninstallDialog::Delegate:
28 void OnExtensionUninstallDialogClosed(bool did_start_uninstall,
29 const base::string16& error) override;
31 void CleanUp();
33 Profile* profile_;
34 std::string app_id_;
35 AppListControllerDelegate* controller_;
36 scoped_ptr<extensions::ExtensionUninstallDialog> dialog_;
38 DISALLOW_COPY_AND_ASSIGN(ExtensionUninstaller);
42 #endif // CHROME_BROWSER_UI_APP_LIST_EXTENSION_UNINSTALLER_H_