Commit 7d9744e6 authored by nancy's avatar nancy Committed by Commit Bot

Add crostini app list menu items to AppService.

This CL is used to integrate Crostini's context menus for app list to
AppService:
https://cs.chromium.org/chromium/src/chrome/browser/ui/app_list/crostini/crostini_app_context_menu.cc?l=57
https://cs.chromium.org/chromium/src/chrome/browser/ui/app_list/crostini/crostini_app_context_menu.cc?l=34

BUG=1038487

Change-Id: Icde50aaf93cd961476f46a6652112005fe4a3ae4
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2002554Reviewed-by: default avatarDominick Ng <dominickn@chromium.org>
Commit-Queue: Nancy Wang <nancylingwang@chromium.org>
Cr-Commit-Position: refs/heads/master@{#732271}
parent 404c7994
...@@ -8,6 +8,7 @@ ...@@ -8,6 +8,7 @@
#include <vector> #include <vector>
#include "ash/public/cpp/app_list/app_list_metrics.h" #include "ash/public/cpp/app_list/app_list_metrics.h"
#include "ash/public/cpp/app_menu_constants.h"
#include "base/time/time.h" #include "base/time/time.h"
#include "chrome/browser/apps/app_service/app_icon_factory.h" #include "chrome/browser/apps/app_service/app_icon_factory.h"
#include "chrome/browser/apps/app_service/app_service_metrics.h" #include "chrome/browser/apps/app_service/app_service_metrics.h"
......
...@@ -6,7 +6,9 @@ ...@@ -6,7 +6,9 @@
#include <utility> #include <utility>
#include "ash/public/cpp/app_menu_constants.h"
#include "chrome/browser/apps/app_service/dip_px_util.h" #include "chrome/browser/apps/app_service/dip_px_util.h"
#include "chrome/browser/apps/app_service/menu_util.h"
#include "chrome/browser/chromeos/crostini/crostini_features.h" #include "chrome/browser/chromeos/crostini/crostini_features.h"
#include "chrome/browser/chromeos/crostini/crostini_package_service.h" #include "chrome/browser/chromeos/crostini/crostini_package_service.h"
#include "chrome/browser/chromeos/crostini/crostini_pref_names.h" #include "chrome/browser/chromeos/crostini/crostini_pref_names.h"
...@@ -14,6 +16,7 @@ ...@@ -14,6 +16,7 @@
#include "chrome/browser/chromeos/crostini/crostini_util.h" #include "chrome/browser/chromeos/crostini/crostini_util.h"
#include "chrome/browser/profiles/profile.h" #include "chrome/browser/profiles/profile.h"
#include "chrome/grit/chrome_unscaled_resources.h" #include "chrome/grit/chrome_unscaled_resources.h"
#include "chrome/grit/generated_resources.h"
#include "components/prefs/pref_change_registrar.h" #include "components/prefs/pref_change_registrar.h"
// TODO(crbug.com/826982): the equivalent of // TODO(crbug.com/826982): the equivalent of
...@@ -175,7 +178,18 @@ void CrostiniApps::UnpauseApps(const std::string& app_id) { ...@@ -175,7 +178,18 @@ void CrostiniApps::UnpauseApps(const std::string& app_id) {
void CrostiniApps::GetMenuModel(const std::string& app_id, void CrostiniApps::GetMenuModel(const std::string& app_id,
apps::mojom::MenuType menu_type, apps::mojom::MenuType menu_type,
GetMenuModelCallback callback) { GetMenuModelCallback callback) {
std::move(callback).Run(apps::mojom::MenuItems::New()); apps::mojom::MenuItemsPtr menu_items = apps::mojom::MenuItems::New();
if (crostini::IsUninstallable(profile_, app_id)) {
AddCommandItem(ash::UNINSTALL, IDS_APP_LIST_UNINSTALL_ITEM, &menu_items);
}
if (app_id == crostini::GetTerminalId() &&
crostini::IsCrostiniRunning(profile_)) {
AddCommandItem(ash::STOP_APP, IDS_CROSTINI_SHUT_DOWN_LINUX_MENU_ITEM,
&menu_items);
}
std::move(callback).Run(std::move(menu_items));
} }
void CrostiniApps::OpenNativeSettings(const std::string& app_id) { void CrostiniApps::OpenNativeSettings(const std::string& app_id) {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment