# Copyright 2020 The Chromium Authors # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. import("//build/buildflag_header.gni") import("//testing/test.gni") declare_args() { # If true, forces cast_api_bindings::CreatePlatformMessagePortPair to use # cast_message_port::CreateMessagePortPair as its implementation. Otherwise, # uses one of the other types based on platform. use_message_port_core = false } buildflag_header("message_port_buildflags") { header = "message_port_buildflags.h" flags = [ "USE_MESSAGE_PORT_CORE=$use_message_port_core" ] } source_set("message_port") { public = [ "platform_message_port.h" ] sources = [ "platform_message_port.cc" ] public_deps = [ ":public" ] deps = [ ":message_port_buildflags", "//base", ] if (use_message_port_core) { public_deps += [ ":message_port_core" ] } else if (is_fuchsia) { public_deps += [ ":message_port_fuchsia" ] } else { public_deps += [ ":message_port_cast" ] } } source_set("blink_message_port_adapter") { public = [ "blink_message_port_adapter.h" ] sources = [ "blink_message_port_adapter.cc" ] public_deps = [ ":message_port", "//third_party/blink/public/common", ] deps = [ ":message_port_cast", "//base", ] } source_set("public") { sources = [ "message_port.cc", "message_port.h", ] deps = [ "//base", "//components/cast:export", ] defines = [ "CAST_COMPONENT_IMPLEMENTATION" ] } if (is_fuchsia) { source_set("message_port_fuchsia") { public = [ "fuchsia/create_web_message.h", "fuchsia/message_port_fuchsia.h", ] sources = [ "fuchsia/create_web_message.cc", "fuchsia/message_port_fuchsia.cc", ] public_deps = [ ":public", "//base", "//third_party/abseil-cpp:absl", "//third_party/fuchsia-sdk/sdk/fidl/fuchsia.web:fuchsia.web_hlcpp", ] deps = [ "//third_party/fuchsia-sdk/sdk/pkg/fit-promise" ] } } source_set("message_port_cast") { public = [ "cast/message_port_cast.h" ] sources = [ "cast/message_port_cast.cc" ] public_deps = [ ":public", "//third_party/blink/public/common", ] deps = [ ":public", "//base", "//third_party/blink/public/common", ] } source_set("message_port_core") { public = [ "cast_core/create_message_port_core.h", "cast_core/message_connector.h", "cast_core/message_port_core.h", "cast_core/message_port_core_with_task_runner.h", ] sources = [ "cast_core/create_message_port_core.cc", "cast_core/message_connector.cc", "cast_core/message_port_core.cc", "cast_core/message_port_core_with_task_runner.cc", ] public_deps = [ ":public" ] deps = [ ":public", "//base", ] } source_set("message_port_unittest") { testonly = true sources = [ "message_port_unittest.cc" ] deps = [ ":blink_message_port_adapter", ":message_port", ":message_port_buildflags", ":message_port_cast", ":message_port_core", ":test_message_port_receiver", "//base/test:test_support", "//testing/gtest", ] if (is_fuchsia) { deps += [ ":message_port_fuchsia" ] } } source_set("test_message_port_receiver") { testonly = true sources = [ "test_message_port_receiver.cc", "test_message_port_receiver.h", ] deps = [ ":public", "//base", ] }