#include "content/shell/utility/shell_content_utility_client.h"
#include <memory>
#include <utility>
#include "base/command_line.h"
#include "base/containers/span.h"
#include "base/files/file.h"
#include "base/files/file_util.h"
#include "base/files/scoped_temp_dir.h"
#include "base/functional/bind.h"
#include "base/memory/ptr_util.h"
#include "base/memory/read_only_shared_memory_region.h"
#include "base/memory/shared_memory_mapping.h"
#include "base/memory/unsafe_shared_memory_region.h"
#include "base/memory/writable_shared_memory_region.h"
#include "base/process/process.h"
#include "base/ranges/algorithm.h"
#include "base/task/single_thread_task_runner.h"
#include "build/build_config.h"
#include "components/services/storage/test_api/test_api.h"
#include "content/public/child/child_thread.h"
#include "content/public/common/content_switches.h"
#include "content/public/common/pseudonymization_util.h"
#include "content/public/test/test_service.mojom.h"
#include "content/public/utility/utility_thread.h"
#include "content/shell/common/power_monitor_test_impl.h"
#include "mojo/public/cpp/bindings/binder_map.h"
#include "mojo/public/cpp/bindings/pending_receiver.h"
#include "mojo/public/cpp/bindings/receiver.h"
#include "mojo/public/cpp/bindings/self_owned_receiver.h"
#include "mojo/public/cpp/bindings/service_factory.h"
#include "mojo/public/cpp/system/buffer.h"
#include "sandbox/policy/sandbox.h"
#include "services/test/echo/echo_service.h"
#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
#include "content/test/sandbox_status_service.h"
#endif
#if BUILDFLAG(IS_POSIX)
#include "base/file_descriptor_store.h"
#endif
namespace content {
namespace {
class TestUtilityServiceImpl : public mojom::TestService { … };
auto RunTestService(mojo::PendingReceiver<mojom::TestService> receiver) { … }
auto RunEchoService(mojo::PendingReceiver<echo::mojom::EchoService> receiver) { … }
}
ShellContentUtilityClient::ShellContentUtilityClient(bool is_browsertest) { … }
ShellContentUtilityClient::~ShellContentUtilityClient() = default;
void ShellContentUtilityClient::ExposeInterfacesToBrowser(
mojo::BinderMap* binders) { … }
void ShellContentUtilityClient::RegisterIOThreadServices(
mojo::ServiceFactory& services) { … }
}