diff --git a/shell/app/manifests.cc b/shell/app/manifests.cc index adb7881fe7f3..86b26e93b854 100644 --- a/shell/app/manifests.cc +++ b/shell/app/manifests.cc @@ -1,65 +1,65 @@ -// Copyright (c) 2019 GitHub, Inc. -// Use of this source code is governed by the MIT license that can be -// found in the LICENSE file. - -#include "shell/app/manifests.h" - -#include "base/no_destructor.h" -#include "electron/shell/common/api/api.mojom.h" -#include "printing/buildflags/buildflags.h" -#include "services/proxy_resolver/public/cpp/manifest.h" -#include "services/service_manager/public/cpp/manifest_builder.h" - -#if BUILDFLAG(ENABLE_PRINTING) -#include "components/services/pdf_compositor/public/cpp/manifest.h" -#endif - -#if BUILDFLAG(ENABLE_PRINT_PREVIEW) -#include "chrome/services/printing/public/cpp/manifest.h" -#endif - -namespace { - -// TODO(https://crbug.com/781334): Remove these helpers and just update the -// manifest definitions to be marked out-of-process. This is here only to avoid -// extra churn when transitioning away from content_packaged_services. -service_manager::Manifest MakeOutOfProcess( - const service_manager::Manifest& manifest) { - // cpplint.py emits a false positive [build/include_what_you_use] - service_manager::Manifest copy(manifest); // NOLINT - copy.options.execution_mode = - service_manager::Manifest::ExecutionMode::kOutOfProcessBuiltin; - return copy; -} - -} // namespace - -const service_manager::Manifest& GetElectronContentBrowserOverlayManifest() { - static base::NoDestructor manifest{ - service_manager::ManifestBuilder() - .WithDisplayName("Electron (browser process)") - .RequireCapability("device", "device:geolocation_control") - .RequireCapability("proxy_resolver", "factory") - .RequireCapability("chrome_printing", "converter") - .RequireCapability("pdf_compositor", "compositor") - .ExposeInterfaceFilterCapability_Deprecated( - "navigation:frame", "renderer", - service_manager::Manifest::InterfaceList< - electron::mojom::ElectronBrowser>()) - .Build()}; - return *manifest; -} - -const std::vector& -GetElectronBuiltinServiceManifests() { - static base::NoDestructor> manifests{{ - MakeOutOfProcess(proxy_resolver::GetManifest()), -#if BUILDFLAG(ENABLE_PRINTING) - MakeOutOfProcess(printing::GetPdfCompositorManifest()), -#endif -#if BUILDFLAG(ENABLE_PRINT_PREVIEW) - MakeOutOfProcess(GetChromePrintingManifest()), -#endif - }}; - return *manifests; -} +// Copyright (c) 2019 GitHub, Inc. +// Use of this source code is governed by the MIT license that can be +// found in the LICENSE file. + +#include "shell/app/manifests.h" + +#include "base/no_destructor.h" +#include "electron/shell/common/api/api.mojom.h" +#include "printing/buildflags/buildflags.h" +#include "services/proxy_resolver/public/cpp/manifest.h" +#include "services/service_manager/public/cpp/manifest_builder.h" + +#if BUILDFLAG(ENABLE_PRINTING) +#include "components/services/pdf_compositor/public/cpp/manifest.h" +#endif + +#if BUILDFLAG(ENABLE_PRINT_PREVIEW) +#include "chrome/services/printing/public/cpp/manifest.h" +#endif + +namespace { + +// TODO(https://crbug.com/781334): Remove these helpers and just update the +// manifest definitions to be marked out-of-process. This is here only to avoid +// extra churn when transitioning away from content_packaged_services. +service_manager::Manifest MakeOutOfProcess( + const service_manager::Manifest& manifest) { + // cpplint.py emits a false positive [build/include_what_you_use] + service_manager::Manifest copy(manifest); // NOLINT + copy.options.execution_mode = + service_manager::Manifest::ExecutionMode::kOutOfProcessBuiltin; + return copy; +} + +} // namespace + +const service_manager::Manifest& GetElectronContentBrowserOverlayManifest() { + static base::NoDestructor manifest{ + service_manager::ManifestBuilder() + .WithDisplayName("Electron (browser process)") + .RequireCapability("device", "device:geolocation_control") + .RequireCapability("proxy_resolver", "factory") + .RequireCapability("chrome_printing", "converter") + .RequireCapability("pdf_compositor", "compositor") + .ExposeInterfaceFilterCapability_Deprecated( + "navigation:frame", "renderer", + service_manager::Manifest::InterfaceList< + electron::mojom::ElectronBrowser>()) + .Build()}; + return *manifest; +} + +const std::vector& +GetElectronBuiltinServiceManifests() { + static base::NoDestructor> manifests{{ + MakeOutOfProcess(proxy_resolver::GetManifest()), +#if BUILDFLAG(ENABLE_PRINTING) + MakeOutOfProcess(printing::GetPdfCompositorManifest()), +#endif +#if BUILDFLAG(ENABLE_PRINT_PREVIEW) + MakeOutOfProcess(GetChromePrintingManifest()), +#endif + }}; + return *manifests; +} diff --git a/shell/app/manifests.h b/shell/app/manifests.h index 3996cbdadab0..c0ac370fd744 100644 --- a/shell/app/manifests.h +++ b/shell/app/manifests.h @@ -1,16 +1,16 @@ -// Copyright (c) 2019 GitHub, Inc. -// Use of this source code is governed by the MIT license that can be -// found in the LICENSE file. - -#ifndef SHELL_APP_MANIFESTS_H_ -#define SHELL_APP_MANIFESTS_H_ - -#include - -#include "services/service_manager/public/cpp/manifest.h" - -const service_manager::Manifest& GetElectronContentBrowserOverlayManifest(); -const std::vector& -GetElectronBuiltinServiceManifests(); - -#endif // SHELL_APP_MANIFESTS_H_ +// Copyright (c) 2019 GitHub, Inc. +// Use of this source code is governed by the MIT license that can be +// found in the LICENSE file. + +#ifndef SHELL_APP_MANIFESTS_H_ +#define SHELL_APP_MANIFESTS_H_ + +#include + +#include "services/service_manager/public/cpp/manifest.h" + +const service_manager::Manifest& GetElectronContentBrowserOverlayManifest(); +const std::vector& +GetElectronBuiltinServiceManifests(); + +#endif // SHELL_APP_MANIFESTS_H_