blob: ae7451024a54e1323a23c1cbdb94bc9467466b34 [file] [log] [blame]
# Copyright 2019 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
assert(is_fuchsia)
import("//build/config/fuchsia/rules.gni")
import("//build/config/fuchsia/symbol_archive.gni")
import("//mojo/public/tools/bindings/mojom.gni")
import("//testing/test.gni")
import("//tools/grit/repack.gni")
config("web_engine_implementation") {
defines = [ "WEB_ENGINE_IMPLEMENTATION" ]
}
source_set("test_support") {
testonly = true
sources = [
"test/fake_context.cc",
"test/fake_context.h",
"test/test_common.cc",
"test/test_common.h",
]
deps = [
"//base",
"//base/test:test_config",
"//content/test:test_support",
"//fuchsia/base",
]
public_deps = [
"//fuchsia:web_fidl",
"//skia/public/interfaces",
]
}
mojom("mojom") {
sources = [
"on_load_script_injector.mojom",
]
public_deps = [
"//mojo/public/mojom/base",
]
visibility = [ ":*" ]
}
repack("web_engine_pak") {
sources = [
"$root_gen_dir/components/components_resources.pak",
"$root_gen_dir/components/strings/components_strings_en-US.pak",
"$root_gen_dir/content/app/resources/content_resources_100_percent.pak",
"$root_gen_dir/content/app/strings/content_strings_en-US.pak",
"$root_gen_dir/content/browser/tracing/tracing_resources.pak",
"$root_gen_dir/content/content_resources.pak",
"$root_gen_dir/mojo/public/js/mojo_bindings_resources.pak",
"$root_gen_dir/net/net_resources.pak",
"$root_gen_dir/third_party/blink/public/resources/blink_resources.pak",
"$root_gen_dir/third_party/blink/public/resources/blink_scaled_resources_100_percent.pak",
"$root_gen_dir/ui/resources/ui_resources_100_percent.pak",
"$root_gen_dir/ui/strings/app_locale_settings_en-US.pak",
"$root_gen_dir/ui/strings/ui_strings_en-US.pak",
]
deps = [
"//components/resources:components_resources",
"//components/strings",
"//content:resources",
"//content/app/resources",
"//content/app/strings",
"//content/browser/tracing:resources",
"//mojo/public/js:resources",
"//net:net_resources",
"//third_party/blink/public:resources",
"//third_party/blink/public:scaled_resources_100_percent",
"//ui/resources",
"//ui/strings",
]
output = "$root_out_dir/webrunner.pak"
visibility = [ ":*" ]
}
component("web_engine_core") {
deps = [
":mojom",
":web_engine_pak",
"//base",
"//components/version_info",
"//content/public/app:both",
"//content/public/browser",
"//content/public/child",
"//content/public/common",
"//content/public/renderer",
"//fuchsia/base",
"//fuchsia/base:modular",
"//mojo/public/cpp/bindings",
"//services/network/public/cpp",
"//services/service_manager/sandbox",
"//skia/public/interfaces",
"//third_party/blink/public/common",
"//ui/aura",
"//ui/base/ime",
"//ui/display",
"//ui/ozone",
"//ui/platform_window",
"//ui/wm",
"//ui/wm/public",
]
data_deps = [
":web_engine_pak",
]
data = [
"$root_out_dir/webrunner.pak",
]
public_deps = [
"//fuchsia:web_fidl",
]
configs += [ ":web_engine_implementation" ]
sources = [
"browser/context_impl.cc",
"browser/context_impl.h",
"browser/discarding_event_filter.cc",
"browser/discarding_event_filter.h",
"browser/frame_impl.cc",
"browser/frame_impl.h",
"browser/message_port_impl.cc",
"browser/message_port_impl.h",
"browser/web_engine_browser_context.cc",
"browser/web_engine_browser_context.h",
"browser/web_engine_browser_main.cc",
"browser/web_engine_browser_main.h",
"browser/web_engine_browser_main_parts.cc",
"browser/web_engine_browser_main_parts.h",
"browser/web_engine_content_browser_client.cc",
"browser/web_engine_content_browser_client.h",
"browser/web_engine_devtools_manager_delegate.cc",
"browser/web_engine_devtools_manager_delegate.h",
"browser/web_engine_net_log.cc",
"browser/web_engine_net_log.h",
"browser/web_engine_screen.cc",
"browser/web_engine_screen.h",
"browser/web_engine_url_request_context_getter.cc",
"browser/web_engine_url_request_context_getter.h",
"common.cc",
"common.h",
"context_provider_impl.cc",
"context_provider_impl.h",
"context_provider_main.cc",
"context_provider_main.h",
"renderer/on_load_script_injector.cc",
"renderer/on_load_script_injector.h",
"renderer/web_engine_content_renderer_client.cc",
"renderer/web_engine_content_renderer_client.h",
"web_engine_content_client.cc",
"web_engine_content_client.h",
"web_engine_export.h",
"web_engine_main_delegate.cc",
"web_engine_main_delegate.h",
]
visibility = [ ":*" ]
}
executable("web_engine_exe") {
deps = [
":web_engine_core",
"//base",
"//content/public/app:both",
"//services/service_manager/embedder:embedder_switches",
]
sources = [
"web_engine_main.cc",
]
visibility = [ ":*" ]
}
fuchsia_package("web_engine") {
binary = ":web_engine_exe"
package_name_override = "chromium"
sandbox_policy = "sandbox_policy"
excluded_files = [
"lib/libswiftshader_libEGL.so",
"lib/libswiftshader_libGLESv2.so",
]
}
fuchsia_package_runner("web_engine_runner") {
package = ":web_engine"
package_name_override = "chromium"
install_only = true
}
source_set("browsertest_core") {
testonly = true
sources = [
"test/web_engine_browser_test.cc",
"test/web_engine_browser_test.h",
"test/web_engine_test_launcher.cc",
]
deps = [
":web_engine_core",
"//content/public/browser",
"//content/test:test_support",
"//fuchsia:web_fidl",
"//net:test_support",
"//testing/gtest",
"//ui/ozone",
]
}
test("web_engine_browsertests") {
sources = [
"browser/context_impl_browsertest.cc",
"browser/frame_impl_browsertest.cc",
]
defines = [ "HAS_OUT_OF_PROC_TEST_RUNNER" ]
data = [
"test/data",
]
deps = [
":browsertest_core",
":test_support",
":web_engine_core",
"//base/test:test_support",
"//content/public/browser",
"//fuchsia/base",
"//fuchsia/base:test_support",
"//net:test_support",
"//testing/gmock",
"//testing/gtest",
"//ui/ozone",
]
}
test("web_engine_unittests") {
sources = [
"context_provider_impl_unittest.cc",
]
deps = [
":test_support",
":web_engine_core",
"//base/test:run_all_unittests",
"//base/test:test_support",
"//testing/gmock",
"//testing/gtest",
]
}
if (is_official_build) {
symbol_archive("symbol_archive") {
deps = [
":web_engine",
]
ids_txt = "$root_gen_dir/fuchsia/engine/chromium/ids.txt"
archive_name =
"$root_gen_dir/fuchsia/engine/chromium/chromium.symbols.tar.bz2"
}
} # is_official_build