blob: a34cc7f47ab914787332a1a3f4d302b636fbffda [file] [log] [blame]
// Copyright 2019 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "content/public/browser/service_process_host.h"
#include "base/strings/utf_string_conversions.h"
#include "content/public/common/content_client.h"
namespace content {
ServiceProcessHost::Options::Options() = default;
ServiceProcessHost::Options::~Options() = default;
ServiceProcessHost::Options::Options(Options&&) = default;
ServiceProcessHost::Options& ServiceProcessHost::Options::WithDisplayName(
const std::string& name) {
display_name = base::UTF8ToUTF16(name);
return *this;
}
ServiceProcessHost::Options& ServiceProcessHost::Options::WithDisplayName(
const std::u16string& name) {
display_name = name;
return *this;
}
ServiceProcessHost::Options& ServiceProcessHost::Options::WithDisplayName(
int resource_id) {
display_name = GetContentClient()->GetLocalizedString(resource_id);
return *this;
}
ServiceProcessHost::Options& ServiceProcessHost::Options::WithChildFlags(
int flags) {
child_flags = flags;
return *this;
}
ServiceProcessHost::Options&
ServiceProcessHost::Options::WithExtraCommandLineSwitches(
std::vector<std::string> switches) {
extra_switches = std::move(switches);
return *this;
}
ServiceProcessHost::Options ServiceProcessHost::Options::Pass() {
return std::move(*this);
}
} // namespace content