blob: b055b4ba0c8276d0882905c080d46fd534417e57 [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 is shared across all production and test UI realms that
// contain scene manager.
//
// It contains any capabilities that:
//
// (1) Scene manager exposes from every production or test UI realm in
// which it's present.
// (2) Scene manager always consumes from the same source in every
// production or test UI realm in which it's present.
//
// This shard should **NOT** include:
//
// (1) Routes that have different sources in different ui realms.
// (2) Scene manager's child definition, as we may use a differnt url
// in test vs. production ui realms.
// (3) Capabilities that other components consume from scene manager.
// Those routes belong in those components' routing shards.
{
offer: [
{
protocol: [
"fuchsia.logger.LogSink",
"fuchsia.sysmem.Allocator",
"fuchsia.sysmem2.Allocator",
// TODO(103539): Remove once cursor component is no longer
// a child of scene manager.
"fuchsia.vulkan.loader.Loader",
],
from: "parent",
to: [ "#scene_manager" ],
},
{
protocol: "fuchsia.tracing.provider.Registry",
from: "parent",
to: [ "#scene_manager" ],
availability: "optional",
},
{
protocol: [
"fuchsia.ui.composition.Allocator",
"fuchsia.ui.composition.Flatland",
"fuchsia.ui.composition.FlatlandDisplay",
"fuchsia.ui.composition.internal.DisplayOwnership",
"fuchsia.ui.display.color.Converter",
"fuchsia.ui.display.singleton.Info",
"fuchsia.ui.focus.FocusChainListenerRegistry",
"fuchsia.ui.pointerinjector.Registry",
"fuchsia.ui.scenic.Scenic",
"fuchsia.ui.views.ViewRefInstalled",
],
from: "#scenic",
to: [ "#scene_manager" ],
},
// Routes below may only be present on certain products.
// We communicate this expectation to component framework
// with the `source_availability: "unknown"` attribute.
{
protocol: [
"fuchsia.ui.input.ImeService",
"fuchsia.ui.input3.Keyboard",
"fuchsia.ui.input3.KeyEventInjector",
// Used by the input pipeline library to distribute focus.
"fuchsia.ui.keyboard.focus.Controller",
],
from: "#text_manager",
to: [ "#scene_manager" ],
source_availability: "unknown",
},
],
expose: [
{
protocol: [
"fuchsia.input.injection.InputDeviceRegistry", // test-only
// Dynamic keymap changes for Wayland bridge.
"fuchsia.input.wayland.Keymap",
"fuchsia.recovery.policy.Device",
"fuchsia.recovery.ui.FactoryResetCountdown",
"fuchsia.session.scene.Manager",
"fuchsia.ui.brightness.ColorAdjustment",
"fuchsia.ui.brightness.ColorAdjustmentHandler",
"fuchsia.ui.input.config.Features",
"fuchsia.ui.policy.DeviceListenerRegistry",
"fuchsia.ui.policy.DisplayBacklight",
],
from: "#scene_manager",
},
],
}