blob: 47cdc10728843a32acfddcff0019ea5b8215415b [file] [log] [blame]
# Copyright 2025 The Chromium Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
import("//mojo/public/tools/bindings/mojom.gni")
assert(!is_android)
mojom("mojo_bindings") {
disable_variants = true
public_deps = [ "//mojo/public/mojom/base" ]
deps = [ "//ui/gfx/geometry/mojom" ]
sources = [ "actor_overlay.mojom" ]
webui_module_path = "/"
}
source_set("ui") {
sources = [
"actor_border_view_controller.cc",
"actor_border_view_controller.h",
"actor_overlay_ui.cc",
"actor_overlay_ui.h",
"actor_overlay_view_controller.cc",
"actor_overlay_view_controller.h",
"actor_overlay_window_controller.cc",
"actor_overlay_window_controller.h",
"actor_ui_metrics.cc",
"actor_ui_metrics.h",
"actor_ui_state_manager.cc",
"actor_ui_state_manager.h",
"actor_ui_state_manager_interface.h",
"actor_ui_state_manager_prefs.cc",
"actor_ui_state_manager_prefs.h",
"actor_ui_tab_controller.cc",
"actor_ui_tab_controller.h",
"actor_ui_tab_controller_interface.cc",
"actor_ui_tab_controller_interface.h",
"handoff_button_controller.cc",
"handoff_button_controller.h",
]
deps = [
":ui_event_types",
"//base",
"//chrome/app/vector_icons",
"//chrome/browser/actor",
"//chrome/browser/profiles:profile",
"//chrome/browser/resources/actor_overlay:resources",
"//chrome/browser/ui/browser_window",
"//chrome/browser/ui/tabs:tab_strip",
"//chrome/browser/ui/tabs:tabs_public",
"//chrome/browser/ui/toasts",
"//chrome/browser/ui/toasts/api:toasts",
"//chrome/browser/ui/views/frame:immersive_mode_controller",
"//chrome/browser/ui/webui:webui_util",
"//chrome/common",
"//content/public/browser",
"//third_party/abseil-cpp:absl",
"//ui/base/unowned_user_data",
"//ui/views",
"//ui/views/controls/webview",
"//ui/webui",
]
public_deps = [ ":mojo_bindings" ]
# TODO(crbug.com/40031409): Fix code that adds exit-time destructors and
# enable the diagnostic by removing this line.
configs += [ "//build/config/compiler:no_exit_time_destructors" ]
}
source_set("states") {
public = [
"states/actor_overlay_state.h",
"states/handoff_button_state.h",
]
sources = [ "states/actor_overlay_state.cc" ]
public_deps = [ "//chrome/browser/actor:types" ]
}
source_set("event_dispatcher") {
sources = [
"event_dispatcher.cc",
"event_dispatcher.h",
"event_dispatcher_computations.cc",
]
public_deps = [
":ui",
"//base",
"//chrome/browser/actor:types",
]
deps = [
":dom_node_geometry",
":tool_request_variant",
":ui_event_types",
":ui_event_utils",
"//chrome/browser/actor",
"//chrome/browser/actor/ui",
"//third_party/abseil-cpp:absl",
]
}
source_set("dom_node_geometry") {
sources = [
"dom_node_geometry.cc",
"dom_node_geometry.h",
]
deps = [
"//chrome/browser/actor:types",
"//components/optimization_guide/proto:optimization_guide_proto",
]
}
source_set("test_support") {
sources = [
"mocks/mock_actor_overlay_view_controller.cc",
"mocks/mock_actor_overlay_view_controller.h",
"mocks/mock_actor_ui_state_manager.cc",
"mocks/mock_actor_ui_state_manager.h",
"mocks/mock_actor_ui_tab_controller.cc",
"mocks/mock_actor_ui_tab_controller.h",
"mocks/mock_actor_ui_tab_controller_factory.cc",
"mocks/mock_actor_ui_tab_controller_factory.h",
"mocks/mock_event_dispatcher.cc",
"mocks/mock_event_dispatcher.h",
"mocks/mock_handoff_button_controller.cc",
"mocks/mock_handoff_button_controller.h",
]
testonly = true
public_deps = [
"//base",
"//chrome/browser/ui:test_support",
"//components/tabs:test_support",
"//testing/gmock",
]
deps = [
":event_dispatcher",
":ui",
"//chrome/browser/actor",
]
# TODO(crbug.com/40031409): Fix code that adds exit-time destructors and
# enable the diagnostic by removing this line.
configs += [ "//build/config/compiler:no_exit_time_destructors" ]
}
source_set("tool_request_variant") {
sources = [
"tool_request_variant.cc",
"tool_request_variant.h",
]
deps = [
"//base",
"//chrome/browser/actor",
]
}
source_set("ui_event_types") {
sources = [
"ui_event.cc",
"ui_event.h",
]
public_deps = [
"//base",
# ActorTask::State isn't in actor:types
"//chrome/browser/actor",
"//chrome/browser/actor:types",
]
deps = [ "//components/tabs:public" ]
}
source_set("ui_event_utils") {
sources = [
"ui_event_debugstring.cc",
"ui_event_debugstring.h",
]
deps = [
":ui_event_types",
"//base",
"//third_party/abseil-cpp:absl",
]
}
source_set("unit_tests") {
testonly = true
sources = [
"actor_border_view_controller_unittest.cc",
"actor_overlay_view_controller_unittest.cc",
"actor_ui_state_manager_unittest.cc",
"actor_ui_tab_controller_unittest.cc",
"dom_node_geometry_unittest.cc",
"event_dispatcher_unittest.cc",
"handoff_button_controller_unittest.cc",
"ui_event_debugstring_unittest.cc",
]
deps = [
":dom_node_geometry",
":event_dispatcher",
":test_support",
":ui",
":ui_event_types",
":ui_event_utils",
"//chrome/browser/actor",
"//chrome/browser/actor:impl",
"//chrome/browser/actor:test_support",
"//chrome/browser/ui/tabs:tabs_public",
"//chrome/browser/ui/tabs:test_support",
"//chrome/browser/ui/views/frame:test_support",
"//chrome/common",
"//chrome/test:test_support",
"//components/tabs:public",
"//components/tabs:test_support",
"//content/test:test_support",
"//testing/gmock",
"//testing/gtest",
"//ui/base/unowned_user_data",
]
# TODO(crbug.com/40031409): Fix code that adds exit-time destructors and
# enable the diagnostic by removing this line.
configs += [ "//build/config/compiler:no_exit_time_destructors" ]
}
source_set("browser_tests") {
testonly = true
defines = [ "HAS_OUT_OF_PROC_TEST_RUNNER" ]
sources = [
"actor_overlay_browsertest.cc",
"actor_ui_tab_controller_browsertest.cc",
"dom_node_geometry_browsertest.cc",
"handoff_button_controller_pixel_test.cc",
]
deps = [
":dom_node_geometry",
":ui",
":ui_event_types",
"//base/test:test_support",
"//chrome/browser/actor",
"//chrome/browser/actor:test_support",
"//chrome/browser/profiles:profile",
"//chrome/browser/ui",
"//chrome/browser/ui/browser_window",
"//chrome/browser/ui/tabs:tab_strip",
"//chrome/browser/ui/tabs/alert:tab_alert",
"//chrome/common",
"//chrome/test:test_support",
"//chrome/test:test_support_ui",
"//content/test:test_support",
"//testing/gmock",
"//testing/gtest",
"//ui/views:view_pixel_diff_test_support",
]
}
source_set("interactive_ui_tests") {
testonly = true
defines = [ "HAS_OUT_OF_PROC_TEST_RUNNER" ]
sources = [ "handoff_button_controller_interactive_uitest.cc" ]
deps = [
":ui",
"//base/test:test_support",
"//chrome/browser/actor",
"//chrome/browser/actor:test_support",
"//chrome/browser/profiles:profile",
"//chrome/browser/ui",
"//chrome/common",
"//chrome/test:test_support_ui",
"//content/test:test_support",
"//ui/base/interaction",
]
}