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 #include "chrome/browser/ui/app_list/extension_uninstaller.h"
7 #include "chrome/browser/extensions/extension_service.h"
8 #include "chrome/browser/profiles/profile.h"
9 #include "chrome/browser/ui/app_list/app_list_controller_delegate.h"
10 #include "extensions/browser/extension_system.h"
11 #include "extensions/browser/uninstall_reason.h"
12 #include "extensions/common/extension.h"
14 ExtensionUninstaller::ExtensionUninstaller(
16 const std::string
& extension_id
,
17 AppListControllerDelegate
* controller
)
19 app_id_(extension_id
),
20 controller_(controller
) {
23 ExtensionUninstaller::~ExtensionUninstaller() {
26 void ExtensionUninstaller::Run() {
27 const extensions::Extension
* extension
=
28 extensions::ExtensionSystem::Get(profile_
)->extension_service()->
29 GetInstalledExtension(app_id_
);
34 controller_
->OnShowChildDialog();
35 dialog_
.reset(extensions::ExtensionUninstallDialog::Create(
36 profile_
, controller_
->GetAppListWindow(), this));
37 dialog_
->ConfirmUninstall(extension
,
38 extensions::UNINSTALL_REASON_USER_INITIATED
);
41 void ExtensionUninstaller::OnExtensionUninstallDialogClosed(
42 bool did_start_uninstall
,
43 const base::string16
& error
) {
44 controller_
->OnCloseChildDialog();
48 void ExtensionUninstaller::CleanUp() {