blob: 42d17724abe1878df2d0279006379356ce07fbcd [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/app/content_utility_manifest.h"
#include "base/no_destructor.h"
#include "content/public/app/v8_snapshot_overlay_manifest.h"
#include "content/public/common/service_names.mojom.h"
#include "services/service_manager/public/cpp/manifest_builder.h"
namespace content {
const service_manager::Manifest& GetContentUtilityManifest() {
static base::NoDestructor<service_manager::Manifest> manifest{
service_manager::ManifestBuilder()
.WithServiceName(mojom::kUtilityServiceName)
.WithDisplayName("Content (utility process)")
.ExposeCapability("browser",
std::set<const char*>{
"content.mojom.Child",
"content.mojom.ChildControl",
"content.mojom.ChildHistogramFetcher",
"content.mojom.ChildHistogramFetcherFactory",
"content.mojom.ResourceUsageReporter",
"IPC.mojom.ChannelBootstrap",
"printing.mojom.PdfToEmfConverterFactory",
"printing.mojom.PdfToPwgRasterConverter",
})
.RequireCapability("device", "device:power_monitor")
.RequireCapability("device", "device:time_zone_monitor")
.RequireCapability(mojom::kBrowserServiceName, "dwrite_font_proxy")
.RequireCapability(mojom::kBrowserServiceName, "field_trials")
.RequireCapability(mojom::kBrowserServiceName, "font_cache")
.RequireCapability(mojom::kBrowserServiceName, "sandbox_support")
.RequireCapability("*", "app")
.RequireCapability("font_service", "font_service")
.Build()
.Amend(GetV8SnapshotOverlayManifest())};
return *manifest;
}
} // namespace content