| # Copyright 2014 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("//build/config/features.gni") |
| import("//testing/test.gni") |
| |
| static_library("jingle_glue") { |
| sources = [ |
| "glue/chrome_async_socket.cc", |
| "glue/chrome_async_socket.h", |
| "glue/network_service_async_socket.cc", |
| "glue/network_service_async_socket.h", |
| "glue/resolving_client_socket_factory.h", |
| "glue/task_pump.cc", |
| "glue/task_pump.h", |
| "glue/thread_wrapper.cc", |
| "glue/thread_wrapper.h", |
| "glue/utils.cc", |
| "glue/utils.h", |
| "glue/xmpp_client_socket_factory.cc", |
| "glue/xmpp_client_socket_factory.h", |
| ] |
| public_deps = [ |
| "//third_party/webrtc_overrides", |
| ] |
| deps = [ |
| ":jingle_fake_socket", |
| "//base", |
| "//base/third_party/dynamic_annotations", |
| "//net", |
| "//services/network:network_service", |
| "//services/network/public/mojom", |
| "//third_party/libjingle_xmpp:rtc_task_runner", |
| ] |
| |
| configs += [ "//build/config/compiler:no_size_t_to_int_warning" ] |
| |
| if (is_nacl) { |
| sources -= [ |
| "glue/chrome_async_socket.cc", |
| "glue/network_service_async_socket.cc", |
| "glue/xmpp_client_socket_factory.cc", |
| ] |
| deps -= [ |
| "//services/network:network_service", |
| "//services/network/public/mojom", |
| ] |
| } |
| } |
| |
| # These files are separated into their own target to avoid a circular dependency |
| # since services/network depends on this. |
| static_library("jingle_fake_socket") { |
| sources = [ |
| "glue/fake_ssl_client_socket.cc", |
| "glue/fake_ssl_client_socket.h", |
| ] |
| deps = [ |
| "//base", |
| "//net", |
| ] |
| } |
| |
| # A library for sending and receiving peer-issued notifications. |
| static_library("notifier") { |
| sources = [ |
| "notifier/base/const_communicator.h", |
| "notifier/base/gaia_constants.cc", |
| "notifier/base/gaia_constants.h", |
| "notifier/base/gaia_token_pre_xmpp_auth.cc", |
| "notifier/base/gaia_token_pre_xmpp_auth.h", |
| "notifier/base/notification_method.cc", |
| "notifier/base/notification_method.h", |
| "notifier/base/notifier_options.cc", |
| "notifier/base/notifier_options.h", |
| "notifier/base/notifier_options_util.cc", |
| "notifier/base/notifier_options_util.h", |
| "notifier/base/server_information.cc", |
| "notifier/base/server_information.h", |
| "notifier/base/weak_xmpp_client.cc", |
| "notifier/base/weak_xmpp_client.h", |
| "notifier/base/xmpp_connection.cc", |
| "notifier/base/xmpp_connection.h", |
| "notifier/communicator/connection_settings.cc", |
| "notifier/communicator/connection_settings.h", |
| "notifier/communicator/login.cc", |
| "notifier/communicator/login.h", |
| "notifier/communicator/login_settings.cc", |
| "notifier/communicator/login_settings.h", |
| "notifier/communicator/single_login_attempt.cc", |
| "notifier/communicator/single_login_attempt.h", |
| "notifier/listener/non_blocking_push_client.cc", |
| "notifier/listener/non_blocking_push_client.h", |
| "notifier/listener/notification_constants.cc", |
| "notifier/listener/notification_constants.h", |
| "notifier/listener/notification_defines.cc", |
| "notifier/listener/notification_defines.h", |
| "notifier/listener/push_client.cc", |
| "notifier/listener/push_client.h", |
| "notifier/listener/push_client_observer.cc", |
| "notifier/listener/push_client_observer.h", |
| "notifier/listener/push_notifications_listen_task.cc", |
| "notifier/listener/push_notifications_listen_task.h", |
| "notifier/listener/push_notifications_send_update_task.cc", |
| "notifier/listener/push_notifications_send_update_task.h", |
| "notifier/listener/push_notifications_subscribe_task.cc", |
| "notifier/listener/push_notifications_subscribe_task.h", |
| "notifier/listener/send_ping_task.cc", |
| "notifier/listener/send_ping_task.h", |
| "notifier/listener/xml_element_util.cc", |
| "notifier/listener/xml_element_util.h", |
| "notifier/listener/xmpp_push_client.cc", |
| "notifier/listener/xmpp_push_client.h", |
| ] |
| defines = [ "_CRT_SECURE_NO_WARNINGS" ] |
| |
| public_deps = [ |
| "//third_party/libjingle_xmpp", |
| "//third_party/webrtc_overrides", |
| ] |
| deps = [ |
| ":jingle_glue", |
| "//base", |
| "//net", |
| "//third_party/expat", |
| "//third_party/libjingle_xmpp:rtc_task_runner", |
| "//url", |
| ] |
| } |
| |
| static_library("notifier_test_util") { |
| testonly = true |
| sources = [ |
| "notifier/base/fake_base_task.cc", |
| "notifier/base/fake_base_task.h", |
| "notifier/listener/fake_push_client.cc", |
| "notifier/listener/fake_push_client.h", |
| "notifier/listener/fake_push_client_observer.cc", |
| "notifier/listener/fake_push_client_observer.h", |
| ] |
| public_deps = [ |
| ":jingle_glue", |
| ":notifier", |
| ] |
| deps = [ |
| "//base", |
| "//testing/gmock", |
| ] |
| } |
| |
| test("jingle_unittests") { |
| sources = [ |
| "glue/chrome_async_socket_unittest.cc", |
| "glue/fake_ssl_client_socket_unittest.cc", |
| "glue/jingle_glue_mock_objects.cc", |
| "glue/jingle_glue_mock_objects.h", |
| "glue/logging_unittest.cc", |
| "glue/mock_task.cc", |
| "glue/mock_task.h", |
| "glue/network_service_async_socket_unittest.cc", |
| "glue/task_pump_unittest.cc", |
| "glue/thread_wrapper_unittest.cc", |
| "notifier/base/weak_xmpp_client_unittest.cc", |
| "notifier/base/xmpp_connection_unittest.cc", |
| "notifier/communicator/connection_settings_unittest.cc", |
| "notifier/communicator/login_settings_unittest.cc", |
| "notifier/communicator/single_login_attempt_unittest.cc", |
| "notifier/listener/non_blocking_push_client_unittest.cc", |
| "notifier/listener/notification_defines_unittest.cc", |
| "notifier/listener/push_client_unittest.cc", |
| "notifier/listener/push_notifications_send_update_task_unittest.cc", |
| "notifier/listener/push_notifications_subscribe_task_unittest.cc", |
| "notifier/listener/send_ping_task_unittest.cc", |
| "notifier/listener/xml_element_util_unittest.cc", |
| "notifier/listener/xmpp_push_client_unittest.cc", |
| "run_all_unittests.cc", |
| ] |
| |
| if (is_android || is_ios) { |
| sources -= [ |
| # TODO(jrg): |
| # EXPECT_DEBUG_DEATH() uses features not enabled. |
| # Should we -std=c++0x or -std=gnu++0x? |
| "glue/chrome_async_socket_unittest.cc", |
| "glue/network_service_async_socket_unittest.cc", |
| "notifier/base/xmpp_connection_unittest.cc", |
| ] |
| } |
| |
| if (is_android) { |
| # LibjingleLogTest don't pass on Android (crbug.com/843104). |
| sources -= [ "glue/logging_unittest.cc" ] |
| } |
| |
| configs += [ "//build/config/compiler:no_size_t_to_int_warning" ] |
| |
| public_deps = [ |
| "//third_party/libjingle_xmpp", |
| "//third_party/webrtc_overrides", |
| "//third_party/webrtc_overrides:init_webrtc", |
| ] |
| deps = [ |
| ":jingle_glue", |
| ":notifier", |
| ":notifier_test_util", |
| "//base", |
| "//base/test:test_support", |
| "//mojo/core/embedder", |
| "//mojo/public/cpp/bindings", |
| "//mojo/public/cpp/system", |
| "//net", |
| "//net:test_support", |
| "//services/network:network_service", |
| "//services/network:test_support", |
| "//testing/gmock", |
| "//testing/gtest", |
| "//third_party/libjingle_xmpp:rtc_task_runner", |
| ] |
| } |