| // 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. |
| { |
| include: [ |
| "//src/sys/test_runners/gtest/default.shard.cml", |
| "inspect/offer.shard.cml", |
| "sys/component/realm_builder.shard.cml", |
| "syslog/client.shard.cml", |
| |
| // Required for ContextFeatureFlags::VULKAN. |
| "vulkan/client.shard.cml", |
| ], |
| program: { |
| binary: "bin/web_runner_integration_tests_bin", |
| }, |
| children: [ |
| { |
| name: "build_info", |
| url: "#meta/fake_build_info.cm", |
| }, |
| { |
| name: "property_provider", |
| url: "fuchsia-pkg://fuchsia.com/intl_property_manager#meta/intl_property_manager.cm", |
| }, |
| { |
| name: "netstack", |
| url: "#meta/netstack-debug.cm", |
| }, |
| { |
| name: "ui", |
| url: "fuchsia-pkg://fuchsia.com/test-ui-stack#meta/test-ui-stack.cm", |
| }, |
| ], |
| use: [ |
| // The following blocks contain protocols that must be provided when |
| // creating a `fuchsia.web.Context` that can render Frames in Scenic. |
| { |
| protocol: [ |
| "fuchsia.accessibility.semantics.SemanticsManager", |
| |
| // "fuchsia.buildinfo.Provider", is provided below. |
| "fuchsia.device.NameProvider", |
| "fuchsia.fonts.Provider", |
| "fuchsia.hwinfo.Product", |
| |
| // "fuchsia.intl.PropertyProvider", is provided below. |
| "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: "fuchsia.buildinfo.Provider", |
| from: "#build_info", |
| }, |
| { |
| protocol: "fuchsia.intl.PropertyProvider", |
| from: "#property_provider", |
| }, |
| { |
| protocol: [ |
| "fuchsia.ui.composition.Allocator", |
| "fuchsia.ui.composition.Flatland", |
| "fuchsia.ui.scenic.Scenic", |
| ], |
| from: "#ui", |
| }, |
| { |
| 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", |
| }, |
| |
| // Required for `ContextFeatureFlags::NETWORK`. |
| // Get these directly from the hermetic netstack component. |
| { |
| protocol: [ |
| "fuchsia.net.interfaces.State", |
| "fuchsia.net.name.Lookup", |
| |
| // This is also needed to launch a web server. |
| "fuchsia.posix.socket.Provider", |
| ], |
| from: "#netstack", |
| }, |
| ], |
| offer: [ |
| { |
| directory: "config-data", |
| from: "parent", |
| as: "config-data", |
| to: "#realm_builder", |
| subdir: "web-runner-integration-test", |
| }, |
| { |
| // Required for `ContextFeatureFlags::NETWORK`. |
| directory: "root-ssl-certificates", |
| from: "parent", |
| to: "#realm_builder", |
| availability: "required", |
| }, |
| { |
| directory: "tzdata-icu", |
| from: "parent", |
| to: "#realm_builder", |
| }, |
| { |
| // Used by ContextProvider. |
| protocol: [ |
| "fuchsia.feedback.ComponentDataRegister", |
| "fuchsia.feedback.CrashReportingProductRegister", |
| ], |
| from: "parent", |
| to: "#realm_builder", |
| }, |
| { |
| protocol: [ |
| "fuchsia.scheduler.RoleManager", |
| "fuchsia.sysmem.Allocator", |
| "fuchsia.sysmem2.Allocator", |
| "fuchsia.tracing.provider.Registry", |
| "fuchsia.vulkan.loader.Loader", |
| ], |
| from: "parent", |
| to: [ |
| "#realm_builder", |
| "#ui", |
| ], |
| }, |
| ], |
| facets: { |
| "fuchsia.test": { |
| "deprecated-allowed-packages": [ |
| "intl_property_manager", |
| "test-ui-stack", |
| "web_engine", |
| ], |
| }, |
| }, |
| } |