blob: 3a57ee17aca202ac919cd8b096ab29060c48a4e7 [file] [log] [blame]
// Copyright 2013 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef CHROME_BROWSER_ASH_LOGIN_CHROME_RESTART_REQUEST_H_
#define CHROME_BROWSER_ASH_LOGIN_CHROME_RESTART_REQUEST_H_
#include <stdint.h>
class GURL;
namespace base {
class CommandLine;
}
namespace ash {
// Keep in sync with RestartJobReason in
// chromeos/ash/components/dbus/session_manager/session_manager_client.h
enum class RestartChromeReason : uint32_t {
// Restart browser for Guest session.
kGuest = 0,
// Restart browser without user session for headless Chromium.
kUserless = 1,
};
// Determines the `command_line` to be used for the OTR process.
void GetOffTheRecordCommandLine(const GURL& start_url,
const base::CommandLine& base_command_line,
base::CommandLine* command_line);
// Request session manager to restart chrome with a new command line.
// |reason| - reason to restart chrome with user session (for guest sessions
// only) or without user session (for headless chrome).
void RestartChrome(const base::CommandLine& command_line,
RestartChromeReason reason);
} // namespace ash
#endif // CHROME_BROWSER_ASH_LOGIN_CHROME_RESTART_REQUEST_H_