| // 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.tracing.provider.Registry", |
| |
| // 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.ui.composition.Allocator", |
| "fuchsia.ui.composition.Flatland", |
| "fuchsia.ui.composition.FlatlandDisplay", |
| "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 |
| "fuchsia.input.interaction.Notifier", |
| |
| // Dynamic keymap changes for Wayland bridge. |
| "fuchsia.input.wayland.Keymap", |
| "fuchsia.recovery.policy.Device", |
| "fuchsia.recovery.ui.FactoryResetCountdown", |
| "fuchsia.session.scene.Manager", |
| "fuchsia.ui.accessibility.view.Registry", |
| "fuchsia.ui.brightness.ColorAdjustmentHandler", |
| "fuchsia.ui.input.config.Features", |
| "fuchsia.ui.policy.DeviceListenerRegistry", |
| "fuchsia.ui.policy.DisplayBacklight", |
| ], |
| from: "#scene_manager", |
| }, |
| ], |
| } |