Commit 35f76eb0 authored by Nicholas Verne's avatar Nicholas Verne Committed by Commit Bot

The Crostini terminal window now has a corresponding item in the shelf.

This is achieved by setting an extension in it AppLaunchParams.

Bug: 813699
Change-Id: Id519c61a8974ba7aa69b982d9c594b71828425c2
Reviewed-on: https://chromium-review.googlesource.com/1009513Reviewed-by: default avatarBen Wells <benwells@chromium.org>
Commit-Queue: Nicholas Verne <nverne@chromium.org>
Cr-Commit-Position: refs/heads/master@{#550112}
parent d601a085
...@@ -8,12 +8,14 @@ ...@@ -8,12 +8,14 @@
#include "base/strings/stringprintf.h" #include "base/strings/stringprintf.h"
#include "base/sys_info.h" #include "base/sys_info.h"
#include "base/task_scheduler/post_task.h" #include "base/task_scheduler/post_task.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/browser/ui/app_list/crostini/crostini_util.h" #include "chrome/browser/ui/app_list/crostini/crostini_util.h"
#include "chrome/browser/ui/extensions/application_launch.h" #include "chrome/browser/ui/extensions/application_launch.h"
#include "chromeos/dbus/concierge_client.h" #include "chromeos/dbus/concierge_client.h"
#include "chromeos/dbus/dbus_thread_manager.h" #include "chromeos/dbus/dbus_thread_manager.h"
#include "chromeos/dbus/debug_daemon_client.h" #include "chromeos/dbus/debug_daemon_client.h"
#include "dbus/message.h" #include "dbus/message.h"
#include "extensions/browser/extension_registry.h"
#include "net/base/escape.h" #include "net/base/escape.h"
namespace { namespace {
...@@ -248,6 +250,9 @@ void CrostiniManager::LaunchContainerTerminal( ...@@ -248,6 +250,9 @@ void CrostiniManager::LaunchContainerTerminal(
net::EscapeQueryParamValue("LXD_DIR=/mnt/stateful/lxd", false); net::EscapeQueryParamValue("LXD_DIR=/mnt/stateful/lxd", false);
std::string lxd_conf = std::string lxd_conf =
net::EscapeQueryParamValue("LXD_CONF=/mnt/stateful/lxd_conf", false); net::EscapeQueryParamValue("LXD_CONF=/mnt/stateful/lxd_conf", false);
const extensions::Extension* crosh_extension =
extensions::ExtensionRegistry::Get(profile)->GetInstalledExtension(
kCrostiniCroshBuiltinAppId);
std::vector<base::StringPiece> pieces = {vsh_crosh, std::vector<base::StringPiece> pieces = {vsh_crosh,
vm_name_param, vm_name_param,
...@@ -263,11 +268,9 @@ void CrostiniManager::LaunchContainerTerminal( ...@@ -263,11 +268,9 @@ void CrostiniManager::LaunchContainerTerminal(
GURL vsh_in_crosh_url(base::JoinString(pieces, "&args[]=")); GURL vsh_in_crosh_url(base::JoinString(pieces, "&args[]="));
AppLaunchParams launch_params(profile, AppLaunchParams launch_params(
nullptr, // this is a URL app. No extension. profile, crosh_extension, extensions::LAUNCH_CONTAINER_WINDOW,
extensions::LAUNCH_CONTAINER_WINDOW, WindowOpenDisposition::NEW_WINDOW, extensions::SOURCE_APP_LAUNCHER);
WindowOpenDisposition::NEW_WINDOW,
extensions::SOURCE_APP_LAUNCHER);
OpenApplicationWindow(launch_params, vsh_in_crosh_url); OpenApplicationWindow(launch_params, vsh_in_crosh_url);
} }
......
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