chromium/ash/webui/boca_ui/BUILD.gn

# Copyright 2024 The Chromium Authors
# Use of this source code is governed by a BSD - style license that can be
# found in the LICENSE file.

import("//ash/webui/boca_ui/boca_app.gni")
import("//build/buildflag_header.gni")
import("//build/config/chromeos/ui_mode.gni")
import("//mojo/public/tools/bindings/mojom.gni")
import("//third_party/closure_compiler/compile_js.gni")
import("//tools/grit/preprocess_if_expr.gni")
import("//ui/webui/resources/tools/generate_grd.gni")

assert(is_chromeos_ash, "Boca App is ash-chrome only")

static_library("boca_ui") {
  sources = [
    "boca_app_page_handler.cc",
    "boca_app_page_handler.h",
    "boca_ui.cc",
    "boca_ui.h",
    "provider/classroom_page_handler_impl.cc",
    "provider/classroom_page_handler_impl.h",
    "provider/tab_info_collector.cc",
    "provider/tab_info_collector.h",
    "url_constants.h",
  ]

  deps = [
    "resources:resources",
    "//ash",
    "//ash/constants:constants",
    "//ash/public/cpp",
    "//ash/webui/boca_ui/mojom",
    "//ash/webui/common:chrome_os_webui_config",
    "//ash/webui/resources:boca_app_bundle_resources",
    "//ash/webui/system_apps/public:system_web_app_config",
    "//base",
    "//chromeos/ash/components/boca",
    "//chromeos/ash/components/boca/proto",
    "//chromeos/ash/components/boca/session_api",
    "//components/account_id",
    "//components/app_constants",
    "//components/app_restore",
    "//components/signin/public/identity_manager",
    "//content/public/browser",
    "//content/public/browser",
    "//google_apis",
    "//google_apis/classroom",
    "//google_apis/common",
    "//skia",
    "//ui/gfx",
    "//ui/webui",
    "//ui/wm",
  ]
}

# Used to turn off tests that only work with our CIPD package.
buildflag_header("buildflags") {
  header = "buildflags.h"

  flags = [ "ENABLE_CROS_BOCA_APP=$enable_cros_boca_app" ]
}

source_set("unit_tests") {
  testonly = true

  sources = [
    "boca_app_page_handler_unittest.cc",
    "provider/classroom_page_handler_impl_unittest.cc",
  ]

  deps = [
    ":boca_ui",
    "//ash:test_support",
    "//ash/webui/boca_ui/mojom",
    "//base/test:test_support",
    "//chrome/test:test_support",
    "//chromeos/ash/components:test_support",
    "//chromeos/ash/components/boca/proto",
    "//chromeos/ash/components/boca/session_api",
    "//content/test:test_support",
    "//google_apis:test_support",
    "//google_apis/common:test_support",
    "//mojo/public/cpp/bindings",
    "//net:test_support",
    "//services/network:test_support",
    "//testing/gmock",
    "//testing/gtest",
  ]
}