# 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.

# `7MM"""Mq.                       `7MM
#   MM   `MM.                        MM
#   MM   ,M9  .gP"Ya   ,6"Yb.   ,M""bMM  `7MMpMMMb.pMMMb.  .gP"Ya
#   MMmmdM9  ,M'   Yb 8)   MM ,AP    MM    MM    MM    MM ,M'   Yb
#   MM  YM.  8M""""""  ,pm9MM 8MI    MM    MM    MM    MM 8M""""""
#   MM   `Mb.YM.    , 8M   MM `Mb    MM    MM    MM    MM YM.    ,
# .JMML. .JMM.`Mbmmd' `Moo9^Yo.`Wbmd"MML..JMML  JMML  JMML.`Mbmmd'
#
# Please keep this file in sync with remoting/remoting_webapp_files.gypi .

# JSCompiler externs.
remoting_webapp_js_externs_files = [ "externs/qunit.js" ]

# Jscompile proto files.
# These provide type information for jscompile.
remoting_webapp_js_proto_files = [
  "js_proto/chrome_proto.js",
  "js_proto/dom_proto.js",
  "js_proto/remoting_proto.js",
]

#
# Webapp browsertest JavaScript files.
#

# Browser test files.
remoting_webapp_browsertest_js_files = [
  "browser_test/browser_test.js",
  "browser_test/bump_scroll_browser_test.js",
  "browser_test/cancel_pin_browser_test.js",
  "browser_test/invalid_pin_browser_test.js",
  "browser_test/it2me_browser_test.js",
  "browser_test/me2me_browser_test.js",
  "browser_test/scrollbar_browser_test.js",
  "browser_test/timeout_waiter.js",
  "browser_test/unauthenticated_browser_test.js",
  "browser_test/update_pin_browser_test.js",
]

# Browser test files.
remoting_webapp_browsertest_js_mock_files = [
  "crd/js/mock_client_plugin.js",
  "crd/js/mock_host_list_api.js",
  "crd/js/mock_identity.js",
  "crd/js/mock_oauth2_api.js",
  "crd/js/mock_signal_strategy.js",
]
remoting_webapp_browsertest_js_proto_files = [
                                               "js_proto/sinon_proto.js",
                                               "js_proto/test_proto.js",
                                             ] + remoting_webapp_js_proto_files

remoting_webapp_browsertest_all_js_files =
    remoting_webapp_browsertest_js_files +
    remoting_webapp_browsertest_js_mock_files

remoting_webapp_browsertest_main_html_extra_files =
    remoting_webapp_browsertest_all_js_files +
    [ "//third_party/sinonjs/src/sinon.js" ]

#
# Webapp unittest JavaScript files.
#

# These product files are excluded from our JavaScript unittest
remoting_webapp_unittests_exclude_js_files = [
  # background.js is where the onLoad handler is defined, which
  # makes it the entry point of the background page.
  "crd/js/background.js",
]

# The unit test cases for the webapp
remoting_webapp_unittests_js_files = [
  "base/js/base_unittest.js",
  "base/js/base_event_hook_unittest.js",
  "base/js/base_inherits_unittest.js",
  "base/js/callstack_unittest.js",
  "base/js/client_session_unittest.js",
  "base/js/client_session_factory_unittest.js",
  "base/js/console_wrapper_unittest.js",
  "base/js/dns_blackhole_checker_unittest.js",
  "base/js/error_unittest.js",
  "base/js/fallback_signal_strategy_unittest.js",
  "base/js/host_options_unittest.js",
  "base/js/identity_unittest.js",
  "base/js/ipc_unittest.js",
  "base/js/l10n_unittest.js",
  "base/js/network_connectivity_detector_unittest.js",
  "base/js/platform_unittest.js",
  "base/js/protocol_extension_manager_unittest.js",
  "base/js/session_logger_unittest.js",
  "base/js/telemetry_event_writer_unittest.js",
  "base/js/typecheck_unittest.js",
  "base/js/viewport_unittest.js",
  "base/js/window_shape_unittest.js",
  "base/js/window_message_dispatcher_unittest.js",
  "base/js/xhr_event_writer_unittest.js",
  "base/js/xhr_unittest.js",
  "base/js/xmpp_connection_unittest.js",
  "base/js/xmpp_error_cache_unittest.js",
  "base/js/xmpp_login_handler_unittest.js",
  "base/js/xmpp_stream_parser_unittest.js",
  "crd/js/apps_v2_migration_unittest.js",
  "crd/js/butter_bar_unittest.js",
  "crd/js/combined_host_list_api_unittest.js",
  "crd/js/gcd_client_unittest.js",
  "crd/js/gcd_client_with_mock_xhr_unittest.js",
  "crd/js/gnubby_auth_handler_unittest.js",
  "crd/js/host_controller_unittest.js",
  "crd/js/host_daemon_facade_unittest.js",
  "crd/js/host_table_entry_unittest.js",
  "crd/js/legacy_host_list_api_unittest.js",
  "crd/js/menu_button_unittest.js",
  "crd/js/mock_xhr_unittest.js",
]
remoting_webapp_unittests_js_mock_files = [
  "crd/js/mock_client_plugin.js",
  "crd/js/mock_host_daemon_facade.js",
  "crd/js/mock_host_list_api.js",
  "crd/js/mock_identity.js",
  "crd/js/mock_signal_strategy.js",
  "js_proto/chrome_mocks.js",
  "unittests/sinon_helpers.js",
  "crd/js/mock_xhr.js",
]

# Prototypes for objects that are not mocked.
remoting_webapp_unittests_js_proto_files = [
  "js_proto/chrome_proto.js",
  "js_proto/dom_proto.js",
  "js_proto/remoting_proto.js",
  "js_proto/sinon_proto.js",
]
remoting_webapp_unittests_all_js_files =
    remoting_webapp_unittests_js_files +
    remoting_webapp_unittests_js_mock_files + [ "unittests/qunit_callbacks.js" ]

# All the files needed to run the unittests.
remoting_webapp_unittests_all_files =
    [ "crd/html/menu_button.css" ] + remoting_webapp_unittests_all_js_files
remoting_webapp_unittests_template_main = "crd/html/template_unittests.html"

#
# Shared webapp JavaScript file groups.
#

# Auth (Google account) JavaScript files.
remoting_webapp_shared_js_auth_google_files = [
  "base/js/auth_init.js",
  "base/js/identity.js",
  "base/js/oauth2.js",
  "base/js/oauth2_api.js",
  "base/js/oauth2_api_impl.js",
]

# Client JavaScript files.
remoting_webapp_shared_js_client_files = [
  "base/js/activity.js",
  "base/js/client_plugin.js",
  "base/js/client_plugin_host_desktop_impl.js",
  "base/js/client_plugin_impl.js",
  "base/js/client_session.js",
  "base/js/client_session_factory.js",
  "base/js/clipboard.js",
  "base/js/connected_view.js",
  "base/js/connection_info.js",
  "base/js/credentials_provider.js",
  "base/js/experiments.js",
  "base/js/host_desktop.js",
  "base/js/telemetry_event_writer.js",
  "base/js/xmpp_error_cache.js",
]

# Remoting core JavaScript files.
remoting_webapp_shared_js_core_files = [
  "base/js/application.js",
  "base/js/base.js",
  "base/js/callstack.js",
  "base/js/chromoting_event.js",
  "base/js/console_wrapper.js",
  "base/js/ipc.js",
  "base/js/modal_dialogs.js",
  "base/js/platform.js",
  "base/js/protocol_extension_manager.js",
  "base/js/protocol_extension.js",
  "base/js/error.js",
  "base/js/network_connectivity_detector.js",
  "base/js/plugin_settings.js",
  "base/js/suspend_detector.js",
  "base/js/typecheck.js",
  "base/js/window_message_dispatcher.js",
  "base/js/xhr.js",
  "base/js/xhr_event_writer.js",
]

# Host JavaScript files.
remoting_webapp_shared_js_host_files = [
  "base/js/host.js",
  "base/js/host_options.js",
]

# Logging and stats JavaScript files.
remoting_webapp_shared_js_logging_files = [
  "base/js/format_iq.js",
  "base/js/session_logger.js",
]

# Remoting signaling files.
remoting_webapp_shared_js_signaling_files = [
  "base/js/dns_blackhole_checker.js",
  "base/js/fallback_signal_strategy.js",
  "base/js/signal_strategy.js",
  "base/js/tcp_socket.js",
  "base/js/wcs_adapter.js",
  "base/js/wcs_sandbox_container.js",
  "base/js/xmpp_connection.js",
  "base/js/xmpp_login_handler.js",
  "base/js/xmpp_stream_parser.js",
]

# UI JavaScript files.
remoting_webapp_shared_js_ui_files = [
  "base/js/connection_dropped_dialog.js",
  "base/js/connection_stats.js",
  "base/js/l10n.js",
  "base/js/ui_mode.js",
  "base/js/viewport.js",
  "base/js/window_shape.js",
]

#
# DesktopRemoting webapp JavaScript file groups.
#

# Auth (apps v1) JavaScript files.
# These files aren"t included directly from main.html. They are
# referenced from the manifest.json file (appsv1 only).
remoting_webapp_js_auth_v1_files = [
  "crd/js/cs_third_party_auth_trampoline.js",  # client to host
  "crd/js/cs_oauth2_trampoline.js",  # Google account
]

# Auth (client to host) JavaScript files.
remoting_webapp_js_auth_client2host_files = [
  "crd/js/third_party_host_permissions.js",
  "crd/js/third_party_token_fetcher.js",
]

# Client JavaScript files.
remoting_webapp_js_client_files = [
  "crd/js/apps_v2_migration.js",
  "crd/js/event_handlers.js",
  "crd/js/gcd_client.js",
]

# Gnubby authentication JavaScript files.
remoting_webapp_js_gnubby_auth_files = [ "crd/js/gnubby_auth_handler.js" ]

# Files for controlling the local machine as a host.
# Includes both it2me and me2me files.
remoting_webapp_js_host_control_files = [
  "crd/js/host_controller.js",
  "crd/js/host_daemon_facade.js",
  "crd/js/host_screen.js",
  "crd/js/host_session.js",
  "crd/js/host_setup_dialog.js",
  "crd/js/host_install_dialog.js",
  "crd/js/host_installer.js",
  "crd/js/it2me_host_facade.js",
  "crd/js/native_message_host_log_message_handler.js",
  "crd/js/paired_client_manager.js",
]

# Files for controlling the local it2me host.
# Included by public_session.html.
remoting_webapp_js_it2me_host_control_files = [
  "crd/js/host_screen.js",
  "crd/js/host_session.js",
  "crd/js/host_install_dialog.js",
  "crd/js/host_installer.js",
  "crd/js/it2me_host_facade.js",
  "crd/js/native_message_host_log_message_handler.js",
]

# Files for displaying (in the client) info about available hosts.
remoting_webapp_js_host_display_files = [
  "crd/js/host_list.js",
  "crd/js/host_list_api.js",
  "crd/js/host_table_entry.js",
  "crd/js/local_host_section.js",

  # Must come after host_list_api.js because of an issue with
  # JSCompiler.  If an implementation of an interface occurs in a
  # file processed before the interface itself, the @override tag
  # doesn't always work correctly.
  "crd/js/combined_host_list_api.js",
  "crd/js/gcd_host_list_api.js",
  "crd/js/legacy_host_list_api.js",
]

# The CRD-specific JavaScript files required by main.html.
remoting_webapp_crd_js_ui_files = [
  "crd/js/bump_scroller.js",
  "crd/js/butter_bar.js",
  "crd/js/crd_auth_dialog.js",
  "crd/js/crd_event_handlers.js",
  "crd/js/crd_experimental.js",
  "crd/js/desktop_connected_view.js",
  "crd/js/desktop_remoting.js",
  "crd/js/desktop_remoting_activity.js",
  "crd/js/desktop_viewport.js",
  "crd/js/feedback.js",
  "crd/js/fullscreen.js",
  "crd/js/fullscreen_v1.js",
  "crd/js/fullscreen_v2.js",
  "crd/js/it2me_activity.js",
  "crd/js/me2me_activity.js",
  "crd/js/menu_button.js",
  "crd/js/options_menu.js",
  "crd/js/toolbar.js",
  "crd/js/window_frame.js",
]

#
# DesktopRemoting main.html generation files.
#

remoting_webapp_template_main = "crd/html/template_main.html"

# The shared JavaScript files required by main.html.
remoting_webapp_shared_main_html_js_files =
    # Include the core files first as it is required by the other files.
    # Otherwise, Jscompile will complain.
    remoting_webapp_shared_js_core_files +
    remoting_webapp_shared_js_auth_google_files +
    remoting_webapp_shared_js_client_files +
    remoting_webapp_shared_js_host_files +
    remoting_webapp_shared_js_logging_files +
    remoting_webapp_shared_js_ui_files +
    remoting_webapp_shared_js_signaling_files +
    remoting_webapp_js_auth_client2host_files +
    remoting_webapp_js_client_files + remoting_webapp_js_gnubby_auth_files +
    remoting_webapp_js_host_control_files +
    remoting_webapp_js_host_display_files

# Uncomment this line to include browser test files in the web app
# to expedite debugging or local development.
#+ remoting_webapp_browsertest_all_js_files

remoting_webapp_unittest_html_all_js_files =
    remoting_webapp_shared_main_html_js_files + remoting_webapp_crd_js_ui_files

# The CRD-specific JavaScript files required by main.html.
remoting_webapp_crd_main_html_all_js_files =
    remoting_webapp_shared_main_html_js_files +
    remoting_webapp_crd_js_ui_files + [ "crd/js/crd_main.js" ]

# These template files are used to construct main.html.
remoting_webapp_template_files = [
  "base/html/client_plugin.html",
  "crd/html/butter_bar.html",
  "crd/html/dialog_auth.html",
  "crd/html/dialog_client_connect_failed.html",
  "crd/html/dialog_client_connecting.html",
  "crd/html/dialog_client_host_needs_upgrade.html",
  "crd/html/dialog_client_pin_prompt.html",
  "crd/html/dialog_client_session_finished.html",
  "crd/html/dialog_client_third_party_auth.html",
  "crd/html/dialog_client_unconnected.html",
  "crd/html/dialog_confirm_host_delete.html",
  "crd/html/dialog_connection_history.html",
  "crd/html/dialog_host.html",
  "crd/html/dialog_host_install.html",
  "crd/html/dialog_host_setup.html",
  "crd/html/dialog_manage_pairings.html",
  "crd/html/dialog_token_refresh_failed.html",
  "crd/html/toolbar.html",
  "crd/html/ui_header.html",
  "crd/html/ui_it2me.html",
  "crd/html/ui_me2me.html",
  "crd/html/window_frame.html",
]

#
# DesktopRemoting public_session.html generation files.
#
remoting_webapp_template_public_session =
    "crd/html/template_public_session.html"

# The shared JavaScript files required by public_session.html.
remoting_webapp_public_session_html_all_js_files =
    # Include the core files first as it is required by the other files.
    # Otherwise, Jscompile will complain.
    remoting_webapp_shared_js_core_files +
    remoting_webapp_shared_js_auth_google_files +
    remoting_webapp_shared_js_client_files +
    remoting_webapp_shared_js_host_files +
    remoting_webapp_shared_js_logging_files +
    remoting_webapp_shared_js_ui_files +
    remoting_webapp_shared_js_signaling_files +
    remoting_webapp_js_it2me_host_control_files +
    [
      "crd/js/crd_auth_dialog.js",
      "crd/js/public_session_main.js",
    ]

# These template files are used to construct public_session.html.
remoting_webapp_public_session_template_files = [ "crd/html/dialog_host.html" ]

#
# DesktopRemoting background.html generation files.
#

remoting_webapp_template_background = "crd/html/template_background.html"

# These JS files are specific to the background page and are not part of
# the main JS files.
remoting_webapp_background_html_js_files = [
  "crd/js/activation_handler.js",
  "crd/js/app_launcher.js",
  "crd/js/background.js",
  "crd/js/options_export.js",
]

# All the JavaScript files required by background.html.
remoting_webapp_background_html_all_js_files =
    remoting_webapp_background_html_js_files
remoting_webapp_background_html_all_js_files += [
  "base/js/base.js",
  "base/js/chromoting_event.js",
  "base/js/error.js",
  "base/js/identity.js",
  "base/js/ipc.js",
  "base/js/l10n.js",
  "base/js/oauth2.js",
  "base/js/oauth2_api.js",
  "base/js/oauth2_api_impl.js",
  "base/js/platform.js",
  "base/js/plugin_settings.js",
  "base/js/telemetry_event_writer.js",
  "base/js/typecheck.js",
  "base/js/xhr.js",
  "base/js/xhr_event_writer.js",
  "crd/js/host_controller.js",
  "crd/js/host_daemon_facade.js",
  "crd/js/native_message_host_log_message_handler.js",
]

#
# DesktopRemoting wcs_sandbox.html generation files.
#

remoting_webapp_template_wcs_sandbox = "base/html/template_wcs_sandbox.html"

# These JS files are specific to the WCS sandbox page and are not part of
# the main JS files.
remoting_webapp_wcs_sandbox_html_js_files = [
  "crd/js/wcs.js",
  "crd/js/wcs_loader.js",
  "crd/js/wcs_sandbox_content.js",
  "crd/js/xhr_proxy.js",
]

# All the JavaScript files required by wcs_sandbox.html.
remoting_webapp_wcs_sandbox_html_all_js_files =
    remoting_webapp_wcs_sandbox_html_js_files
remoting_webapp_wcs_sandbox_html_all_js_files += [
  "base/js/chromoting_event.js",
  "base/js/error.js",
  "base/js/platform.js",
  "base/js/plugin_settings.js",
]

#
# DesktopRemoting message_window.html generation files.
#

remoting_webapp_template_message_window =
    "base/html/template_message_window.html"

# These JS files are specific to the message window page and are not part of
# the main JS files.
remoting_webapp_message_window_html_js_files = [ "base/js/message_window.js" ]

# All the JavaScript files required by message_window.html.
remoting_webapp_message_window_html_all_js_files =
    remoting_webapp_message_window_html_js_files + [ "base/js/base.js" ]

#
# All the JavaScript files required by credits.html
#

remoting_webapp_credits_html_all_js_files = [ "base/js/credits_js.js" ]

#
# DesktopRemoting webapp JS and resource files.
#

# All the JavaScript files that are shared by webapps.
remoting_webapp_shared_js_files = remoting_webapp_shared_main_html_js_files +
                                  remoting_webapp_background_html_js_files +
                                  remoting_webapp_credits_html_all_js_files +
                                  remoting_webapp_message_window_html_js_files +
                                  remoting_webapp_wcs_sandbox_html_js_files +
                                  # JS files referenced in manifest.json.
                                  remoting_webapp_js_auth_v1_files

# All the JavaScript files required by DesktopRemoting.
remoting_webapp_crd_js_files =
    remoting_webapp_shared_js_files + remoting_webapp_crd_main_html_all_js_files

remoting_webapp_info_files = [
  "../resources/chromoting16.webp",
  "../resources/chromoting48.webp",
  "../resources/chromoting128.webp",
]

# All the resource files required by DesktopRemoting.
remoting_webapp_resource_files = [
  "../resources/disclosure_arrow_down.webp",
  "../resources/disclosure_arrow_right.webp",
  "../resources/drag.webp",
  "../resources/host_setup_instructions.webp",
  "../resources/icon_close.webp",
  "../resources/icon_cross.webp",
  "../resources/icon_disconnect.webp",
  "../resources/icon_fullscreen.webp",
  "../resources/icon_host.webp",
  "../resources/icon_maximize_restore.webp",
  "../resources/icon_minimize.webp",
  "../resources/icon_options.webp",
  "../resources/icon_pencil.webp",
  "../resources/icon_warning.webp",
  "../resources/infographic_my_computers.webp",
  "../resources/infographic_remote_assistance.webp",
  "../resources/plus.webp",
  "../resources/reload.webp",
  "../resources/tick.webp",
  "base/html/connection_stats.css",
  "base/html/credits_css.css",
  "base/html/main.css",
  "base/html/message_window.css",
  "base/resources/open_sans.css",
  "base/resources/open_sans.woff",
  "base/resources/spinner.gif",
  "crd/html/butter_bar.css",
  "crd/html/crd_main.css",
  "crd/html/toolbar.css",
  "crd/html/menu_button.css",
  "crd/html/public_session.css",
  "crd/html/window_frame.css",
  "crd/resources/scale-to-fit.webp",
]

remoting_webapp_crd_files =
    remoting_webapp_info_files + remoting_webapp_crd_js_files +
    remoting_webapp_resource_files +
    remoting_webapp_public_session_html_all_js_files

# Files that contain localizable strings.
desktop_remoting_webapp_localizable_files =
    [
      "webapp/crd/manifest.json.jinja2",
      remoting_webapp_template_background,
      remoting_webapp_template_main,
      remoting_webapp_template_message_window,
      remoting_webapp_template_wcs_sandbox,
    ] + remoting_webapp_template_files + remoting_webapp_crd_js_files

webapp_js_files = remoting_webapp_unittest_html_all_js_files +
                  remoting_webapp_wcs_sandbox_html_js_files +
                  remoting_webapp_background_html_js_files
