blob: a95c2f9e964280cd2e120cae8f8aa6aa7189facb [file] [log] [blame]
Avi Drissmand878a5012022-09-12 19:13:301// Copyright 2019 The Chromium Authors
Ken Rockot8655a7fd2019-01-18 08:52:012// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#include "chromecast/browser/cast_overlay_manifests.h"
6
7#include "base/no_destructor.h"
8#include "build/build_config.h"
Ken MacKay14362b22019-03-04 20:58:079#include "chromecast/chromecast_buildflags.h"
Ken Rockot8655a7fd2019-01-18 08:52:0110#include "chromecast/common/mojom/application_media_capabilities.mojom.h"
Ken Rockot8655a7fd2019-01-18 08:52:0111#include "chromecast/common/mojom/media_caps.mojom.h"
Ken Rockot8655a7fd2019-01-18 08:52:0112#include "chromecast/common/mojom/memory_pressure.mojom.h"
Ken Rockot8655a7fd2019-01-18 08:52:0113#include "services/service_manager/public/cpp/manifest_builder.h"
14
Ken MacKay14362b22019-03-04 20:58:0715#if BUILDFLAG(ENABLE_EXTERNAL_MOJO_SERVICES)
zxliang4ae98be12020-11-12 21:19:2316#include "chromecast/external_mojo/broker_service/broker_service.h" // nogncheck
Ken MacKay14362b22019-03-04 20:58:0717#endif
18
Ken Rockot8655a7fd2019-01-18 08:52:0119namespace chromecast {
20namespace shell {
21
22const service_manager::Manifest& GetCastContentBrowserOverlayManifest() {
23 static base::NoDestructor<service_manager::Manifest> manifest {
24 service_manager::ManifestBuilder()
25 .ExposeCapability("renderer",
26 service_manager::Manifest::InterfaceList<
27 chromecast::media::mojom::MediaCaps,
28 chromecast::mojom::MemoryPressureController>())
Ken Rockot8655a7fd2019-01-18 08:52:0129 .Build()
Ken Rockot8655a7fd2019-01-18 08:52:0130 };
31 return *manifest;
32}
33
Ken Rockot8655a7fd2019-01-18 08:52:0134const service_manager::Manifest&
35GetCastContentPackagedServicesOverlayManifest() {
36 static base::NoDestructor<service_manager::Manifest> manifest {
37 service_manager::ManifestBuilder()
Ken MacKay14362b22019-03-04 20:58:0738#if BUILDFLAG(ENABLE_EXTERNAL_MOJO_SERVICES)
39 .PackageService(chromecast::external_mojo::BrokerService::GetManifest())
40#endif
Ken Rockot8655a7fd2019-01-18 08:52:0141 .Build()
Ken Rockot8655a7fd2019-01-18 08:52:0142 };
43 return *manifest;
44}
45
46} // namespace shell
47} // namespace chromecast