Permalink
Please
sign in to comment.
Showing
with
94 additions
and 59 deletions.
- +1 −25 BUILD.gn
- +44 −0 atom/app/manifests.cc
- +16 −0 atom/app/manifests.h
- +10 −13 atom/browser/atom_browser_client.cc
- +0 −2 electron_resources.grd
- +23 −0 manifests/BUILD.gn
- +0 −14 manifests/electron_content_browser_manifest_overlay.json
- +0 −5 manifests/electron_content_packaged_services_manifest_overlay.json
| @@ -0,0 +1,44 @@ | |||
| // 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 "atom/app/manifests.h" | |||
|
|
|||
| #include "base/no_destructor.h" | |||
| #include "printing/buildflags/buildflags.h" | |||
| #include "services/proxy_resolver/proxy_resolver_manifest.h" | |||
| #include "services/service_manager/public/cpp/manifest_builder.h" | |||
|
|
|||
| #if BUILDFLAG(ENABLE_PRINTING) | |||
| #include "components/services/pdf_compositor/pdf_compositor_manifest.h" | |||
| #endif | |||
|
|
|||
| #if BUILDFLAG(ENABLE_PRINT_PREVIEW) | |||
| #include "chrome/services/printing/manifest.h" | |||
| #endif | |||
|
|
|||
| const service_manager::Manifest& GetElectronContentBrowserOverlayManifest() { | |||
| static base::NoDestructor<service_manager::Manifest> 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") | |||
| .Build()}; | |||
| return *manifest; | |||
| } | |||
|
|
|||
| const std::vector<service_manager::Manifest>& | |||
| GetElectronPackagedServicesOverlayManifest() { | |||
| static base::NoDestructor<std::vector<service_manager::Manifest>> manifests{{ | |||
| proxy_resolver::GetManifest(), | |||
| #if BUILDFLAG(ENABLE_PRINTING) | |||
| pdf_compositor::GetManifest(), | |||
| #endif | |||
| #if BUILDFLAG(ENABLE_PRINT_PREVIEW) | |||
| chrome_printing::GetManifest(), | |||
| #endif | |||
| }}; | |||
| return *manifests; | |||
| } | |||
| @@ -0,0 +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 ATOM_APP_MANIFESTS_H_ | |||
| #define ATOM_APP_MANIFESTS_H_ | |||
|
|
|||
| #include <vector> | |||
|
|
|||
| #include "services/service_manager/public/cpp/manifest.h" | |||
|
|
|||
| const service_manager::Manifest& GetElectronContentBrowserOverlayManifest(); | |||
| const std::vector<service_manager::Manifest>& | |||
| GetElectronPackagedServicesOverlayManifest(); | |||
|
|
|||
| #endif // ATOM_APP_MANIFESTS_H_ | |||
| @@ -0,0 +1,23 @@ | |||
| import("//printing/buildflags/buildflags.gni") | |||
|
|
|||
| source_set("manifests") { | |||
| sources = [ | |||
| "//electron/atom/app/manifests.cc", | |||
| "//electron/atom/app/manifests.h", | |||
| ] | |||
|
|
|||
| include_dirs = [ "//electron" ] | |||
|
|
|||
| deps = [ | |||
| "//printing/buildflags", | |||
| "//services/proxy_resolver:proxy_resolver_manifest", | |||
| ] | |||
|
|
|||
| if (enable_basic_printing) { | |||
| deps += [ "//components/services/pdf_compositor:pdf_compositor_manifest" ] | |||
| } | |||
|
|
|||
| if (enable_print_preview) { | |||
| deps += [ "//chrome/services/printing:manifest" ] | |||
| } | |||
| } | |||
0 comments on commit
d7557cb