Commit fca33472 authored by btolsch's avatar btolsch Committed by Chromium LUCI CQ

Factor out build rules for simple implementations

This change moves some files under //chromecast which provide simple
implementations of delegate interfaces into their own GN targets so they
can be linked separately.  This is useful for a downstream POC.

Bug: None
Change-Id: Ie19eba94d93d48a00549202d49755c1b94ce9791
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2532864Reviewed-by: default avatarSergey Volk <servolk@chromium.org>
Reviewed-by: default avatarSean Topping <seantopping@chromium.org>
Commit-Queue: Brandon Tolsch <btolsch@chromium.org>
Cr-Commit-Position: refs/heads/master@{#832468}
parent f7e2d285
......@@ -19,25 +19,36 @@ buildflag_header("browser_buildflags") {
flags = [ "ENABLE_CAST_AUDIO_MANAGER_MIXER=$enable_cast_audio_manager_mixer" ]
}
cast_source_set("prefs") {
group("prefs") {
public_deps = [ ":prefs_base" ]
if (chromecast_branding == "public") {
public_deps += [ ":prefs_simple" ]
}
}
cast_source_set("prefs_base") {
sources = [
"pref_service_helper.cc",
"pref_service_helper.h",
]
if (chromecast_branding == "public") {
sources += [ "pref_service_helper_simple.cc" ]
}
public_deps = [ "//components/prefs" ]
deps = [
"//base",
"//chromecast:chromecast_buildflags",
"//chromecast/base",
"//components/cdm/browser",
"//components/prefs",
]
}
cast_source_set("prefs_simple") {
sources = [ "pref_service_helper_simple.cc" ]
public_deps = [ ":prefs_base" ]
}
cast_source_set("feature_list") {
sources = [
"cast_feature_list_creator.cc",
......@@ -64,7 +75,18 @@ cast_source_set("web_preferences") {
]
}
cast_source_set("browser") {
group("browser") {
public_deps = [ ":browser_base" ]
if (chromecast_branding == "public") {
public_deps += [
":simple_client",
":simple_main_parts",
]
}
}
cast_source_set("browser_base") {
sources = [
"application_media_capabilities.cc",
"application_media_capabilities.h",
......@@ -154,13 +176,6 @@ cast_source_set("browser") {
"webui/constants.h",
]
if (chromecast_branding == "public") {
sources += [
"cast_browser_main_parts_simple.cc",
"cast_content_browser_client_simple.cc",
]
}
public_deps = [
":feature_list",
":prefs",
......@@ -493,6 +508,20 @@ cast_source_set("browser") {
}
}
cast_source_set("simple_main_parts") {
sources = [ "cast_browser_main_parts_simple.cc" ]
public_deps = [ ":browser_base" ]
}
cast_source_set("simple_client") {
sources = [ "cast_content_browser_client_simple.cc" ]
public_deps = [ ":browser_base" ]
deps = [ "//base" ]
}
# Lightweight target for Cast interfaces that wrap //content/public/browser.
# This target should only include interfaces which are required for unit tests.
cast_source_set("public") {
......
......@@ -24,7 +24,15 @@ grit("extensions_resources") {
]
}
cast_source_set("renderer") {
group("renderer") {
public_deps = [ ":renderer_base" ]
if (chromecast_branding == "public") {
public_deps += [ ":simple_client" ]
}
}
cast_source_set("renderer_base") {
sources = [
"activity_filtering_websocket_handshake_throttle.cc",
"activity_filtering_websocket_handshake_throttle.h",
......@@ -47,39 +55,38 @@ cast_source_set("renderer") {
"queryable_data_store.h",
]
public_deps = [ "//chromecast/renderer/media" ]
if (chromecast_branding == "public") {
sources += [ "cast_content_renderer_client_simple.cc" ]
}
public_deps = [
"//chromecast:chromecast_buildflags",
"//chromecast/common/mojom",
"//content/public/renderer",
"//media",
"//mojo/public/cpp/bindings",
"//v8",
]
deps = [
"//base",
"//chromecast:chromecast_buildflags",
"//chromecast/base",
"//chromecast/common",
"//chromecast/common:activity_url_filter",
"//chromecast/common:queryable_data",
"//chromecast/common/media",
"//chromecast/common/mojom",
"//chromecast/crash",
"//chromecast/media",
"//chromecast/media/base:media_codec_support",
"//chromecast/renderer/media",
"//components/media_control/renderer",
"//components/network_hints/renderer",
"//components/on_load_script_injector/renderer",
"//content/public/common",
"//content/public/renderer",
"//crypto",
"//gin",
"//ipc",
"//media",
"//media/remoting:remoting_constants",
"//media/remoting:remoting_renderer",
"//net",
"//services/network/public/cpp:cpp",
"//services/service_manager/public/cpp",
"//v8",
]
if (!is_android) {
......@@ -87,11 +94,6 @@ cast_source_set("renderer") {
"memory_pressure_observer_impl.cc",
"memory_pressure_observer_impl.h",
]
deps += [
"//chromecast/common/mojom",
"//mojo/public/cpp/bindings",
]
} else {
deps += [ "//chromecast/media/audio:cast_audio_device_factory" ]
}
......@@ -120,3 +122,12 @@ cast_source_set("renderer") {
]
}
}
cast_source_set("simple_client") {
sources = [ "cast_content_renderer_client_simple.cc" ]
public_deps = [
":renderer_base",
"//base",
]
}
......@@ -4,7 +4,15 @@
import("//chromecast/chromecast.gni")
cast_source_set("utility") {
group("utility") {
public_deps = [ ":utility_base" ]
if (chromecast_branding == "public") {
public_deps += [ ":simple_client" ]
}
}
cast_source_set("utility_base") {
sources = [
"cast_content_utility_client.cc",
"cast_content_utility_client.h",
......@@ -17,8 +25,10 @@ cast_source_set("utility") {
"//mojo/public/cpp/system",
"//services/service_manager/public/mojom",
]
}
if (chromecast_branding == "public") {
sources += [ "cast_content_utility_client_simple.cc" ]
}
cast_source_set("simple_client") {
sources = [ "cast_content_utility_client_simple.cc" ]
public_deps = [ ":utility_base" ]
}
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