blob: 414ef79957fb0c76f222aa8de03ab6eef5052961 [file] [log] [blame]
// Copyright 2022 The Fuchsia Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// This shard contains the minimum set of capabilities required to create a
// `fuchsia.web.Context`(aka `web_instance`) via `fuchsia.web.ContextProvider`.
// per https://fuchsia.dev/reference/fidl/fuchsia.web#CreateContextParams.
// It includes `use` declarations for all capabilities whose `use` is required
// in Chromium's `web_instance.cml` as well as optional but recommended
// capabilities for which use is not explicitly controlled.
//
// Include this shard when `fuchsia.web.ContextProvider.Create` may be used.
// Capabilities only required by ContextProvider are not included.
//
{
include: [ "syslog/client.shard.cml" ],
use: [
{
protocol: [
"fuchsia.buildinfo.Provider",
"fuchsia.device.NameProvider",
"fuchsia.fonts.Provider",
"fuchsia.hwinfo.Product",
"fuchsia.intl.PropertyProvider",
"fuchsia.kernel.VmexResource", // Assuming JavaScript desired.
// "fuchsia.logger/LogSink", is included by the shard above.
"fuchsia.memorypressure.Provider",
"fuchsia.process.Launcher",
"fuchsia.sysmem.Allocator",
"fuchsia.sysmem2.Allocator",
],
},
{
protocol: [
// TODO(crbug.com/1224707): Migrate to `fuchsia.scheduler`.
"fuchsia.media.ProfileProvider",
// The `web_instance` attempts to connect to this service.
// Tests may pass a clone of the test component's Service
// Directory in the `Create()` call. Including it here
// suppresses "proper `use` declaration" warnings.
// If the protocol is not actually provided, an "Optional
// protocol `fuchsia.tracing.perfetto.ProducerConnector` was
// not available for target component" message will be logged.
// TODO(crbug.com/1364196): Provide and use conditionally when
// enabled once WebEngine respects the same condition.
"fuchsia.tracing.perfetto.ProducerConnector",
],
availability: "optional",
},
],
}