diff options
-rw-r--r-- | chromecast/BUILD.gn | 87 | ||||
-rw-r--r-- | chromecast/app/BUILD.gn | 98 | ||||
-rw-r--r-- | chromecast/browser/BUILD.gn | 164 | ||||
-rw-r--r-- | chromecast/browser/media/BUILD.gn | 32 | ||||
-rw-r--r-- | chromecast/build/args.gn | 16 | ||||
-rw-r--r-- | chromecast/chromecast.gni | 1 | ||||
-rw-r--r-- | chromecast/common/BUILD.gn | 7 | ||||
-rw-r--r-- | chromecast/common/media/BUILD.gn | 30 | ||||
-rw-r--r-- | chromecast/graphics/BUILD.gn | 16 | ||||
-rw-r--r-- | chromecast/renderer/BUILD.gn | 44 | ||||
-rw-r--r-- | chromecast/renderer/media/BUILD.gn | 31 |
11 files changed, 522 insertions, 4 deletions
diff --git a/chromecast/BUILD.gn b/chromecast/BUILD.gn index e5f3b89..feb33a5 100644 --- a/chromecast/BUILD.gn +++ b/chromecast/BUILD.gn @@ -3,6 +3,11 @@ # found in the LICENSE file. import("//chromecast/chromecast.gni") +import("//build/config/features.gni") +import("//build/config/ui.gni") +import("//testing/test.gni") +import("//tools/grit/repack.gni") +import("//ui/ozone/ozone.gni") config("config") { defines = [] @@ -25,9 +30,89 @@ group("chromecast_unittests") { testonly = true deps = [ - "//chromecast/app:cast_shell_unittests", + # TODO(slan): Get this target building and comment it in. + # "//chromecast/app:cast_shell_unittests", "//chromecast/base:cast_base_unittests", "//chromecast/crash:cast_crash_unittests", "//chromecast/media:cast_media_unittests", ] } + +source_set("cast_shell_common") { + deps = [ + # TODO(slan): add ":cast_locales_pak" (b/22959691) + ":cast_shell_pak", + "//chromecast/app", + "//chromecast/browser", + "//chromecast/common", + "//chromecast/common/media", + "//chromecast/renderer", + ] +} + +source_set("cast_shell_media") { + deps = [ + "//chromecast/browser/media", + "//chromecast/common/media", + "//chromecast/renderer/media", + ] +} + +executable("cast_shell") { + sources = [ + "app/cast_main.cc", + ] + + deps = [ + ":cast_shell_common", + ":cast_shell_media", + "//chromecast/app", + "//content/public/app:both", + ] + + if (ozone_platform_egltest) { + deps += [ "//ui/ozone/platform/egltest:eglplatform_shim_x11" ] + } +} + +repack("cast_shell_pak") { + sources = [ + "$root_gen_dir/blink/public/resources/blink_image_resources_100_percent.pak", + "$root_gen_dir/blink/public/resources/blink_resources.pak", + "$root_gen_dir/chromecast/app/shell_resources.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/content_resources.pak", + "$root_gen_dir/net/net_resources.pak", + "$root_gen_dir/ui/resources/ui_resources_100_percent.pak", + "$root_gen_dir/ui/resources/webui_resources.pak", + "$root_gen_dir/ui/strings/app_locale_settings_en-US.pak", + "$root_gen_dir/ui/strings/ui_strings_en-US.pak", + ] + + if (chromecast_branding != "public" && use_chromecast_webui) { + sources += [ + # TODO(slan): Update these paths to be accurate for internal builds. + ] + } + + output = "$root_out_dir/assets/cast_shell.pak" + + deps = [ + "//chromecast/app:resources", + "//content:resources", + "//content/app/resources", + "//content/app/strings", + "//net:net_resources", + "//third_party/WebKit/public:resources", + "//third_party/WebKit/public:image_resources_grit", + "//ui/resources", + "//ui/strings", + ] + + if (chromecast_branding != "public" && use_chromecast_webui) { + deps += [ + # TODO(slan): Update these paths to be accurate for internal builds. + ] + } +} diff --git a/chromecast/app/BUILD.gn b/chromecast/app/BUILD.gn index 6515e11..d1a69e2 100644 --- a/chromecast/app/BUILD.gn +++ b/chromecast/app/BUILD.gn @@ -3,6 +3,28 @@ # found in the LICENSE file. import("//testing/test.gni") +import("//tools/grit/grit_rule.gni") + +source_set("app") { + sources = [ + "cast_main_delegate.cc", + "cast_main_delegate.h", + ] + + deps = [ + ":cast_crash_client", + "//base", + "//chromecast/base", + "//chromecast/browser", + "//chromecast/common", + "//chromecast/renderer", + "//components/crash/app:lib", + "//content/public/app:both", + "//content/public/browser", + "//content/public/common", + "//ui/base", + ] +} source_set("cast_crash_client") { sources = [ @@ -40,3 +62,79 @@ test("cast_shell_unittests") { "//testing/gtest", ] } + +grit("resources") { + source = "//chromecast/app/resources/shell_resources.grd" + + resource_ids = "//chromecast/app/resources/resource_ids" + + outputs = [ + "grit/shell_resources.h", + "shell_resources.pak", + "shell_resources.rc", + ] +} + +grit("chromecast_settings") { + source = "//chromecast/app/resources/chromecast_settings.grd" + + resource_ids = "//chromecast/app/resources/resource_ids" + + outputs = [ + "grit/chromecast_settings.h", + "chromecast_settings_am.pak", + "chromecast_settings_ar.pak", + "chromecast_settings_bg.pak", + "chromecast_settings_bn.pak", + "chromecast_settings_ca.pak", + "chromecast_settings_cs.pak", + "chromecast_settings_da.pak", + "chromecast_settings_de.pak", + "chromecast_settings_el.pak", + "chromecast_settings_en-GB.pak", + "chromecast_settings_en-US.pak", + "chromecast_settings_es.pak", + "chromecast_settings_es-419.pak", + "chromecast_settings_et.pak", + "chromecast_settings_fa.pak", + "chromecast_settings_fake-bidi.pak", + "chromecast_settings_fi.pak", + "chromecast_settings_fil.pak", + "chromecast_settings_fr.pak", + "chromecast_settings_gu.pak", + "chromecast_settings_he.pak", + "chromecast_settings_hi.pak", + "chromecast_settings_hr.pak", + "chromecast_settings_hu.pak", + "chromecast_settings_id.pak", + "chromecast_settings_it.pak", + "chromecast_settings_ja.pak", + "chromecast_settings_kn.pak", + "chromecast_settings_ko.pak", + "chromecast_settings_lt.pak", + "chromecast_settings_lv.pak", + "chromecast_settings_ml.pak", + "chromecast_settings_mr.pak", + "chromecast_settings_ms.pak", + "chromecast_settings_nl.pak", + "chromecast_settings_nb.pak", + "chromecast_settings_pl.pak", + "chromecast_settings_pt-BR.pak", + "chromecast_settings_pt-PT.pak", + "chromecast_settings_ro.pak", + "chromecast_settings_ru.pak", + "chromecast_settings_sk.pak", + "chromecast_settings_sl.pak", + "chromecast_settings_sr.pak", + "chromecast_settings_sv.pak", + "chromecast_settings_sw.pak", + "chromecast_settings_ta.pak", + "chromecast_settings_te.pak", + "chromecast_settings_th.pak", + "chromecast_settings_tr.pak", + "chromecast_settings_uk.pak", + "chromecast_settings_vi.pak", + "chromecast_settings_zh-CN.pak", + "chromecast_settings_zh-TW.pak", + ] +} diff --git a/chromecast/browser/BUILD.gn b/chromecast/browser/BUILD.gn new file mode 100644 index 0000000..c6236a4d --- /dev/null +++ b/chromecast/browser/BUILD.gn @@ -0,0 +1,164 @@ +# Copyright 2015 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. + +import("//chromecast/chromecast.gni") +import("//testing/test.gni") + +source_set("browser") { + sources = [ + "cast_browser_context.cc", + "cast_browser_context.h", + "cast_browser_main_parts.cc", + "cast_browser_main_parts.h", + "cast_browser_process.cc", + "cast_browser_process.h", + "cast_content_browser_client.cc", + "cast_content_browser_client.h", + "cast_content_window.cc", + "cast_content_window.h", + "cast_download_manager_delegate.cc", + "cast_download_manager_delegate.h", + "cast_http_user_agent_settings.cc", + "cast_http_user_agent_settings.h", + "cast_net_log.cc", + "cast_net_log.h", + "cast_network_delegate.cc", + "cast_network_delegate.h", + "cast_permission_manager.cc", + "cast_permission_manager.h", + "cast_quota_permission_context.cc", + "cast_quota_permission_context.h", + "cast_resource_dispatcher_host_delegate.cc", + "cast_resource_dispatcher_host_delegate.h", + "devtools/cast_dev_tools_delegate.cc", + "devtools/cast_dev_tools_delegate.h", + "devtools/remote_debugging_server.cc", + "devtools/remote_debugging_server.h", + "geolocation/cast_access_token_store.cc", + "geolocation/cast_access_token_store.h", + "metrics/cast_metrics_prefs.cc", + "metrics/cast_metrics_prefs.h", + "metrics/cast_metrics_service_client.cc", + "metrics/cast_metrics_service_client.h", + "metrics/cast_stability_metrics_provider.cc", + "metrics/cast_stability_metrics_provider.h", + "metrics/platform_metrics_providers.h", + "pref_service_helper.cc", + "pref_service_helper.h", + "service/cast_service.cc", + "service/cast_service.h", + "service/cast_service_android.cc", + "service/cast_service_android.h", + "url_request_context_factory.cc", + "url_request_context_factory.h", + ] + + if (chromecast_branding == "public") { + sources += [ + "cast_content_browser_client_simple.cc", + "cast_network_delegate_simple.cc", + "devtools/remote_debugging_server_simple.cc", + "pref_service_helper_simple.cc", + ] + + if (!is_android) { + sources += [ + "metrics/platform_metrics_providers_simple.cc", + "service/cast_service_simple.cc", + "service/cast_service_simple.h", + ] + } + } + + deps = [ + "//base", + "//base:prefs", + "//base:i18n", + "//cc", + "//chromecast/app:chromecast_settings", + "//chromecast/app:resources", + "//chromecast/base", + "//chromecast/base:cast_sys_info", + "//chromecast/common", + "//chromecast/graphics", + "//chromecast/media", + "//chromecast/net", + "//chromecast/public", + "//components/crash/app", + "//components/crash/browser", + "//components/devtools_http_handler:devtools_http_handler", + "//components/metrics", + "//components/metrics:gpu", + "//components/metrics:net", + "//components/metrics:profiler", + "//components/network_hints/browser", + "//content", + "//content/public/browser", + "//content/public/common", + "//content/public/utility", + "//media", + "//ipc", + "//net", + "//ui/base", + "//ui/compositor", + "//ui/gl", + ] + + if (!is_android) { + sources += [ + "metrics/external_metrics.cc", + "metrics/external_metrics.h", + ] + + public_deps = [ + "//chromecast/browser/media", + ] + + deps += [ "//components/metrics:serialization" ] + } +} + +source_set("test_support") { + testonly = true + + sources = [ + "test/chromecast_browser_test.cc", + "test/chromecast_browser_test.h", + "test/chromecast_browser_test_runner.cc", + ] + + public_deps = [ + ":browser", + "//chromecast:cast_shell_common", + ] + + deps = [ + "//base", + "//chromecast/app", + "//chromecast/base", + "//content/public/browser", + "//content/public/common", + "//content/test:test_support", + "//testing/gtest", + ] +} + +config("browser_test_config") { + defines = [ "HAS_OUT_OF_PROC_TEST_RUNNER" ] +} + +test("cast_shell_browser_test") { + sources = [ + "test/chromecast_shell_browser_test.cc", + ] + + configs += [ ":browser_test_config" ] + + deps = [ + ":test_support", + "//base", + "//testing/gtest", + "//url", + ] +} diff --git a/chromecast/browser/media/BUILD.gn b/chromecast/browser/media/BUILD.gn new file mode 100644 index 0000000..74b6754 --- /dev/null +++ b/chromecast/browser/media/BUILD.gn @@ -0,0 +1,32 @@ +# Copyright 2015 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. + +import("//chromecast/chromecast.gni") + +source_set("media") { + sources = [ + "cast_browser_cdm_factory.cc", + "cast_browser_cdm_factory.h", + "cast_media_client_android.cc", + "cast_media_client_android.h", + "cma_message_filter_host.cc", + "cma_message_filter_host.h", + "media_pipeline_host.cc", + "media_pipeline_host.h", + ] + + if (chromecast_branding == "public" && !is_android) { + sources += [ "cast_browser_cdm_factory_simple.cc" ] + } + + deps = [ + "//base", + "//chromecast/common/media", + "//chromecast/media", + "//chromecast/public", + "//content/public/browser", + "//media", + "//ui/gfx/geometry", + ] +} diff --git a/chromecast/build/args.gn b/chromecast/build/args.gn index 54f0ca9..a768a59 100644 --- a/chromecast/build/args.gn +++ b/chromecast/build/args.gn @@ -11,9 +11,25 @@ enable_plugins = true enable_pepper_cdms = false # Flags set from build/common.gypi + +# Compile with MSE support for MPEG2 TS. See //media/media_options.gni for more +# detail. enable_mpeg2ts_stream_parser = true + +# Instead of maintaining a separate "Chromecast" ffmpeg branding, "ChromeOS" is +# used, as it sufficiently covers all the required codecs. ffmpeg_branding = "ChromeOS" + +# Setting this to true generates libeglplatform_shim.so.1 from +# //ui/ozone/platform/egltest:egl_platform_x11. +ozone_platform_ozonex = true + +# Chromecast must use proprietary codecs. Setting this to true defines the +# USE_PROPRIETARY_CODECS macro and the proper EME_CODEC macros. proprietary_codecs = true + +# See //build/config/ui.gni. Notice that use_x11 = is_linux && !use_ozone. +use_ozone = true # TODO(halliwell): look into supporting Cast Ozone with GN. # ozone_platform_cast = 1 # TODO(gyp): Add support for blink_logging_always_on and enable it. diff --git a/chromecast/chromecast.gni b/chromecast/chromecast.gni index 646d19f..610b179 100644 --- a/chromecast/chromecast.gni +++ b/chromecast/chromecast.gni @@ -5,7 +5,6 @@ declare_args() { # chromecast_branding is used to indicate build version. Set it to # "public" for Chromium build. - # TODO(slan): Make this variable consistent with the GYP build. chromecast_branding = "public" use_playready = false diff --git a/chromecast/common/BUILD.gn b/chromecast/common/BUILD.gn index 127823b..9c2ed7b 100644 --- a/chromecast/common/BUILD.gn +++ b/chromecast/common/BUILD.gn @@ -2,6 +2,8 @@ # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. +import("//chromecast/chromecast.gni") + source_set("common") { sources = [ "cast_content_client.cc", @@ -14,8 +16,9 @@ source_set("common") { "pref_names.h", ] - # TODO(kmackay) Add "platform_client_auth._simple.cc" to sources - # if chromecast_branding != "Chrome" + if (chromecast_branding == "public") { + sources += [ "platform_client_auth_simple.cc" ] + } deps = [ "//base", diff --git a/chromecast/common/media/BUILD.gn b/chromecast/common/media/BUILD.gn new file mode 100644 index 0000000..a2052cd --- /dev/null +++ b/chromecast/common/media/BUILD.gn @@ -0,0 +1,30 @@ +# Copyright 2015 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. + +source_set("media") { + sources = [ + "cast_message_generator.cc", + "cast_message_generator.h", + "cast_messages.h", + "cma_ipc_common.h", + "cma_message_generator.cc", + "cma_message_generator.h", + "cma_messages.h", + "cma_param_traits.cc", + "cma_param_traits.h", + "cma_param_traits_macros.h", + "shared_memory_chunk.cc", + "shared_memory_chunk.h", + ] + + deps = [ + "//base", + "//chromecast/media", + "//content/public/common", + "//ipc", + "//media", + "//media:shared_memory_support", + "//ui/gfx/ipc", + ] +} diff --git a/chromecast/graphics/BUILD.gn b/chromecast/graphics/BUILD.gn new file mode 100644 index 0000000..f07a871 --- /dev/null +++ b/chromecast/graphics/BUILD.gn @@ -0,0 +1,16 @@ +# Copyright 2015 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. + +source_set("graphics") { + sources = [ + "cast_screen.cc", + "cast_screen.h", + ] + + deps = [ + "//ui/aura", + "//ui/gfx", + "//ui/gfx/geometry", + ] +} diff --git a/chromecast/renderer/BUILD.gn b/chromecast/renderer/BUILD.gn new file mode 100644 index 0000000..cd7f240 --- /dev/null +++ b/chromecast/renderer/BUILD.gn @@ -0,0 +1,44 @@ +# Copyright 2015 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. + +import("//chromecast/chromecast.gni") + +source_set("renderer") { + sources = [ + "cast_content_renderer_client.cc", + "cast_content_renderer_client.h", + "cast_media_load_deferrer.cc", + "cast_media_load_deferrer.h", + "cast_render_process_observer.cc", + "cast_render_process_observer.h", + "key_systems_cast.cc", + "key_systems_cast.h", + ] + + if (chromecast_branding == "public") { + sources += [ "cast_content_renderer_client_simple.cc" ] + } + + if (!is_android) { + public_deps = [ + "//chromecast/renderer/media", + ] + } + + deps = [ + "//base", + "//chromecast/base", + "//chromecast/crash", + "//chromecast/common/media", + "//chromecast/media", + "//components/cdm/renderer", + "//components/network_hints/renderer", + "//content/public/common", + "//content/public/renderer", + "//crypto", + "//ipc", + "//media", + "//third_party/widevine/cdm:version_h", + ] +} diff --git a/chromecast/renderer/media/BUILD.gn b/chromecast/renderer/media/BUILD.gn new file mode 100644 index 0000000..6bbba52 --- /dev/null +++ b/chromecast/renderer/media/BUILD.gn @@ -0,0 +1,31 @@ +# Copyright 2015 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. + +source_set("media") { + sources = [ + "audio_pipeline_proxy.cc", + "audio_pipeline_proxy.h", + "capabilities_message_filter.cc", + "capabilities_message_filter.h", + "chromecast_media_renderer_factory.cc", + "chromecast_media_renderer_factory.h", + "cma_message_filter_proxy.cc", + "cma_message_filter_proxy.h", + "media_channel_proxy.cc", + "media_channel_proxy.h", + "media_pipeline_proxy.cc", + "media_pipeline_proxy.h", + "video_pipeline_proxy.cc", + "video_pipeline_proxy.h", + ] + + deps = [ + "//base", + "//chromecast/common/media", + "//chromecast/media", + "//content/public/renderer", + "//ipc", + "//media", + ] +} |