Commit 57a19db6 authored by Kevin Marshall's avatar Kevin Marshall Committed by Commit Bot

[fuchsia] Whitelist required Fuchsia services in component manifest.

The application manager will require components to explicitly declare
the services which they depend on in the component manifest.

This CL defines new, more granular "sandbox_policy" files
which specifies the minimal list of required features and services for
each type of package.


Bug: 750938

Change-Id: Iec3b4e5abe96d81a9e4e149a2a1d9e387d55ab42
Reviewed-on: https://chromium-review.googlesource.com/1208444Reviewed-by: default avatarAlex Sakhartchouk <alexst@chromium.org>
Reviewed-by: default avatarMichael Spang <spang@chromium.org>
Reviewed-by: default avatarSami Kyöstilä <skyostil@chromium.org>
Reviewed-by: default avatarJohn Budorick <jbudorick@chromium.org>
Reviewed-by: default avatarKevin Marshall <kmarshall@chromium.org>
Reviewed-by: default avatarWez <wez@chromium.org>
Reviewed-by: default avatarScott Graham <scottmg@chromium.org>
Commit-Queue: Kevin Marshall <kmarshall@chromium.org>
Cr-Commit-Position: refs/heads/master@{#590799}
parent c015c9c2
...@@ -752,11 +752,13 @@ if (is_fuchsia) { ...@@ -752,11 +752,13 @@ if (is_fuchsia) {
# TODO(https://crbug.com/731217): This can't practically be in //v8 without # TODO(https://crbug.com/731217): This can't practically be in //v8 without
# duplicating all the Fuchsia running infrastructure there. # duplicating all the Fuchsia running infrastructure there.
fuchsia_package("d8_fuchsia_pkg") { fuchsia_package("d8_fuchsia_pkg") {
testonly = true
binary = "//v8:d8" binary = "//v8:d8"
package_name_override = "d8" package_name_override = "d8"
} }
fuchsia_package_runner("d8_fuchsia") { fuchsia_package_runner("d8_fuchsia") {
testonly = true
package = ":d8_fuchsia_pkg" package = ":d8_fuchsia_pkg"
package_name_override = "d8" package_name_override = "d8"
} }
......
...@@ -12,7 +12,9 @@ import("//build/config/sysroot.gni") ...@@ -12,7 +12,9 @@ import("//build/config/sysroot.gni")
# if different than |target_name|. # if different than |target_name|.
# binary: The executable target which should be launched. # binary: The executable target which should be launched.
# sandbox_policy: A path to the sandbox_policy that will be used. # sandbox_policy: A path to the sandbox_policy that will be used.
# Defaults to //build/config/fuchsia/sandbox_policy. # "testonly" targets default to using
# //build/config/fuchsia/testing_sandbox_policy by default.
# Non-test targets must explicitly specify a |sandbox_policy|.
# deps: Additional targets to build and include in the package (optional). # deps: Additional targets to build and include in the package (optional).
template("fuchsia_package") { template("fuchsia_package") {
pkg = { pkg = {
...@@ -25,7 +27,8 @@ template("fuchsia_package") { ...@@ -25,7 +27,8 @@ template("fuchsia_package") {
} }
if (!defined(sandbox_policy)) { if (!defined(sandbox_policy)) {
sandbox_policy = "//build/config/fuchsia/sandbox_policy" assert(testonly == true)
sandbox_policy = "//build/config/fuchsia/testing_sandbox_policy"
} }
} }
assert(defined(pkg.binary)) assert(defined(pkg.binary))
......
{
"features": [ "persistent-storage", "root-ssl-certificates", "system-temp",
"deprecated-all-services", "vulkan" ]
}
{ {
"features": [ "persistent-storage", "root-ssl-certificates", "system-temp", "features": [ "persistent-storage", "root-ssl-certificates", "system-temp",
"deprecated-all-services", "vulkan" ], "vulkan" ],
"dev": ["null", "zero"] "dev": ["null", "zero"],
"services": [
"fuchsia.fonts.FontProvider",
"fuchsia.media.Audio",
"fuchsia.net.LegacySocketProvider",
"fuchsia.netstack.Netstack",
"fuchsia.process.Launcher",
"fuchsia.ui.policy.Presenter",
"fuchsia.ui.scenic.Scenic",
"fuchsia.ui.viewsv1.ViewManager"
]
} }
...@@ -893,6 +893,7 @@ if (is_fuchsia) { ...@@ -893,6 +893,7 @@ if (is_fuchsia) {
fuchsia_package("headless_shell_pkg") { fuchsia_package("headless_shell_pkg") {
binary = ":headless_shell" binary = ":headless_shell"
package_name_override = "headless_shell" package_name_override = "headless_shell"
sandbox_policy = "//build/config/fuchsia/testing_sandbox_policy"
} }
fuchsia_package_runner("headless_shell_fuchsia") { fuchsia_package_runner("headless_shell_fuchsia") {
......
...@@ -275,7 +275,6 @@ template("test") { ...@@ -275,7 +275,6 @@ template("test") {
fuchsia_package(_pkg_target) { fuchsia_package(_pkg_target) {
testonly = true testonly = true
sandbox_policy = "//build/config/fuchsia/testing_sandbox_policy"
binary = ":$_exec_target" binary = ":$_exec_target"
package_name_override = _output_name package_name_override = _output_name
} }
......
...@@ -101,11 +101,13 @@ executable("skia_demo") { ...@@ -101,11 +101,13 @@ executable("skia_demo") {
if (is_fuchsia) { if (is_fuchsia) {
fuchsia_package("ozone_demo_pkg") { fuchsia_package("ozone_demo_pkg") {
testonly = true
binary = ":ozone_demo" binary = ":ozone_demo"
package_name_override = "ozone_demo" package_name_override = "ozone_demo"
} }
fuchsia_package_runner("ozone_demo_fuchsia") { fuchsia_package_runner("ozone_demo_fuchsia") {
testonly = true
package = ":ozone_demo_pkg" package = ":ozone_demo_pkg"
package_name_override = "ozone_demo" package_name_override = "ozone_demo"
} }
......
...@@ -17,6 +17,7 @@ config("webrunner_implementation") { ...@@ -17,6 +17,7 @@ config("webrunner_implementation") {
fuchsia_package("webrunner_pkg") { fuchsia_package("webrunner_pkg") {
binary = ":webrunner_exe" binary = ":webrunner_exe"
package_name_override = "web_runner" package_name_override = "web_runner"
sandbox_policy = "app/sandbox_policy"
} }
fuchsia_package_runner("webrunner") { fuchsia_package_runner("webrunner") {
...@@ -47,6 +48,7 @@ executable("webrunner_exe") { ...@@ -47,6 +48,7 @@ executable("webrunner_exe") {
fuchsia_package("service_pkg") { fuchsia_package("service_pkg") {
binary = ":service_exe" binary = ":service_exe"
package_name_override = "chromium" package_name_override = "chromium"
sandbox_policy = "service/sandbox_policy"
} }
executable("service_exe") { executable("service_exe") {
......
{
"features": [],
"services": [
"chromium.web.ContextProvider",
"fuchsia.fonts.FontProvider",
"fuchsia.media.Audio",
"fuchsia.net.LegacySocketProvider",
"fuchsia.netstack.Netstack",
"fuchsia.process.Launcher",
"fuchsia.ui.scenic.Scenic",
"fuchsia.ui.viewsv1.ViewManager"
]
}
...@@ -29,6 +29,7 @@ executable("http_service") { ...@@ -29,6 +29,7 @@ executable("http_service") {
fuchsia_package("http_pkg") { fuchsia_package("http_pkg") {
binary = ":http_service" binary = ":http_service"
package_name_override = "http" package_name_override = "http"
sandbox_policy = "sandbox_policy"
} }
fuchsia_package_runner("http_pkg_runner") { fuchsia_package_runner("http_pkg_runner") {
......
{
"features": [ "root-ssl-certificates" ],
"services": [
"fuchsia.net.LegacySocketProvider",
"fuchsia.netstack.Netstack"
]
}
{
"features": [ "root-ssl-certificates", "vulkan" ],
"services": [
"fuchsia.process.Launcher"
]
}
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment