#include <memory>
#include <string>
#include <utility>
#include "base/functional/bind.h"
#include "base/memory/weak_ptr.h"
#include "base/no_destructor.h"
#include "base/not_fatal_until.h"
#include "base/observer_list.h"
#include "base/process/process.h"
#include "base/strings/utf_string_conversions.h"
#include "base/synchronization/lock.h"
#include "content/browser/utility_process_host.h"
#include "content/common/child_process.mojom.h"
#include "content/public/browser/browser_task_traits.h"
#include "content/public/browser/browser_thread.h"
#include "content/public/browser/content_browser_client.h"
#include "content/public/browser/service_process_host.h"
#include "content/public/browser/service_process_info.h"
#include "content/public/common/content_client.h"
#include "mojo/public/cpp/bindings/generic_pending_receiver.h"
#include "mojo/public/cpp/bindings/remote.h"
#include "sandbox/policy/mojom/sandbox.mojom.h"
namespace content {
namespace {
bool ShouldEnableSandbox(sandbox::mojom::Sandbox sandbox) { … }
class ServiceProcessTracker { … };
ServiceProcessTracker& GetServiceProcessTracker() { … }
class UtilityProcessClient : public UtilityProcessHost::Client { … };
void LaunchServiceProcess(mojo::GenericPendingReceiver receiver,
ServiceProcessHost::Options options,
sandbox::mojom::Sandbox sandbox) { … }
}
std::vector<ServiceProcessInfo> ServiceProcessHost::GetRunningProcessInfo() { … }
void ServiceProcessHost::AddObserver(Observer* observer) { … }
void ServiceProcessHost::RemoveObserver(Observer* observer) { … }
void ServiceProcessHost::Launch(mojo::GenericPendingReceiver receiver,
Options options,
sandbox::mojom::Sandbox sandbox) { … }
}