Commit 4fc642b3 authored by Joel Hockey's avatar Joel Hockey Committed by Commit Bot

Track last active terminal in TerminalPrivateAPI and use for vsh

Keep track of the last active terminal by capturing terminal_id
sent from the web app.  When a new process is opened, we call
cicerone GetVshSession to find the container shell pid to set for cwd.

Bug: 1113207
Change-Id: Ia6ff0eb43b9bcefa781f19d141b36143cfd48649
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2351644Reviewed-by: default avatarJason Lin <lxj@google.com>
Commit-Queue: Joel Hockey <joelhockey@chromium.org>
Cr-Commit-Position: refs/heads/master@{#799003}
parent 356964bd
......@@ -59,27 +59,38 @@ class TerminalPrivateOpenTerminalProcessFunction : public ExtensionFunction {
std::unique_ptr<std::vector<std::string>> args);
private:
// Callback for when starting crostini is complete.
void OnCrostiniRestarted(
std::unique_ptr<CrostiniStartupStatus> startup_status,
const std::string& user_id_hash,
int tab_id,
const std::vector<std::string>& arguments,
base::CommandLine cmdline,
crostini::CrostiniResult result);
void OpenVmshellProcess(const std::string& user_id_hash,
int tab_id,
base::CommandLine cmdline);
void OnGetVshSession(const std::string& user_id_hash,
int tab_id,
base::CommandLine cmdline,
int32_t vsh_pid,
bool success,
const std::string& failure_reason,
int32_t container_shell_pid);
void OpenProcess(const std::string& user_id_hash,
int tab_id,
base::CommandLine cmdline);
using ProcessOutputCallback =
base::Callback<void(const std::string& terminal_id,
const std::string& output_type,
const std::string& output)>;
using OpenProcessCallback =
base::Callback<void(bool success, const std::string& terminal_id)>;
void OpenProcess(const std::string& user_id_hash,
int tab_id,
const std::vector<std::string>& arguments);
void OpenOnRegistryTaskRunner(const ProcessOutputCallback& output_callback,
const OpenProcessCallback& callback,
const std::vector<std::string>& arguments,
base::CommandLine cmdline,
const std::string& user_id_hash);
void RespondOnUIThread(bool success, const std::string& terminal_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