blob: 95c340a3aee006d1affabaeac6eb7c260d01ec6c [file] [log] [blame]
// Copyright 2014 The Chromium OS Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef LOGIN_MANAGER_CHROME_SETUP_H_
#define LOGIN_MANAGER_CHROME_SETUP_H_
#include <sys/types.h>
#include <map>
#include <string>
#include <vector>
namespace chromeos {
namespace ui {
class ChromiumCommandBuilder;
class XServerRunner;
} // namespace ui
} // namespace chromeos
namespace login_manager {
// Initializes a ChromiumCommandBuilder and performs additional Chrome-specific
// setup. If X is being used, it also starts the X server. Returns environment
// variables that the caller should export for Chrome and arguments that it
// should pass to the Chrome binary, along with the UID that should be used to
// run Chrome.
//
// Initialization that is common across all Chromium-derived binaries (e.g.
// content_shell, app_shell, etc.) rather than just applying to the Chrome
// browser should be added to libchromeos's ChromiumCommandBuilder class
// instead.
void PerformChromeSetup(bool* is_developer_end_user_out,
std::map<std::string, std::string>* env_vars_out,
std::vector<std::string>* args_out,
uid_t* uid_out);
} // namespace login_manager
#endif // LOGIN_MANAGER_CHROME_SETUP_H_