| Index: chrome/browser/ui/app_list/arc/arc_app_utils.cc
|
| diff --git a/chrome/browser/ui/app_list/arc/arc_app_utils.cc b/chrome/browser/ui/app_list/arc/arc_app_utils.cc
|
| index 3535fd77b1291f5be071671d43a4528f5a2dd95e..e25a2fcb40db72a2505b962fff64dd2b0fdecf22 100644
|
| --- a/chrome/browser/ui/app_list/arc/arc_app_utils.cc
|
| +++ b/chrome/browser/ui/app_list/arc/arc_app_utils.cc
|
| @@ -20,12 +20,12 @@ bool LaunchApp(content::BrowserContext* context, const std::string& app_id) {
|
|
|
| scoped_ptr<ArcAppListPrefs::AppInfo> app_info = prefs->GetApp(app_id);
|
| if (!app_info) {
|
| - VLOG(2) << "Cannot launch unavailable app:" << app_id << ".";
|
| + VLOG(2) << "Cannot launch unavailable app: " << app_id << ".";
|
| return false;
|
| }
|
|
|
| if (!app_info->ready) {
|
| - VLOG(2) << "Cannot launch not-ready app:" << app_id << ".";
|
| + VLOG(2) << "Cannot launch not-ready app: " << app_id << ".";
|
| return false;
|
| }
|
|
|
| @@ -61,7 +61,7 @@ bool LaunchApp(content::BrowserContext* context, const std::string& app_id) {
|
| bool CanHandleResolution(content::BrowserContext* context,
|
| const std::string& app_id,
|
| const gfx::Rect& rect,
|
| - const CanHandleResolutionCallback callback) {
|
| + const CanHandleResolutionCallback& callback) {
|
| ArcAppListPrefs* prefs = ArcAppListPrefs::Get(context);
|
| scoped_ptr<ArcAppListPrefs::AppInfo> app_info = prefs->GetApp(app_id);
|
| if (!app_info) {
|
| @@ -98,4 +98,31 @@ bool CanHandleResolution(content::BrowserContext* context,
|
| return true;
|
| }
|
|
|
| +bool UninstallApp(content::BrowserContext* context,
|
| + const std::string& package_name,
|
| + const UninstallAppCallback& callback) {
|
| + VLOG(2) << "Uninstalling " << package_name;
|
| + arc::ArcBridgeService* bridge_service = arc::ArcBridgeService::Get();
|
| + if (!bridge_service) {
|
| + VLOG(2) << "Request to uninstall app when bridge service is not ready: "
|
| + << package_name << ".";
|
| + return false;
|
| + }
|
| + arc::AppInstance* app_instance = bridge_service->app_instance();
|
| + if (!app_instance) {
|
| + VLOG(2) << "Request to uninstall app when bridge service is not ready: "
|
| + << package_name << ".";
|
| + return false;
|
| + }
|
| +
|
| + if (bridge_service->app_version() < 2) {
|
| + LOG(ERROR) << "Request to uninstall app when version "
|
| + << bridge_service->app_version() << " does not support it";
|
| + return false;
|
| + }
|
| +
|
| + app_instance->UninstallApp(package_name, callback);
|
| + return true;
|
| +}
|
| +
|
| } // namespace arc
|
|
|