# 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. assert(is_win || is_mac || is_linux || is_chromeos) import("//build/config/compiler/compiler.gni") import("//chrome/common/features.gni") import("//extensions/buildflags/buildflags.gni") import("//testing/test.gni") source_set("prefs") { sources = [ "read_anything_prefs.cc", "read_anything_prefs.h", ] deps = [ "//base", "//chrome/browser/ui:ui_features", "//chrome/common", "//chrome/common/read_anything:mojo_bindings", "//components/pref_registry", "//ui/accessibility", ] } source_set("read_anything") { sources = [ "read_anything_controller.h", "read_anything_entry_point_controller.cc", "read_anything_entry_point_controller.h", "read_anything_enums.h", "read_anything_hats_survey_controller.cc", "read_anything_hats_survey_controller.h", "read_anything_immersive_activation_observer.h", "read_anything_immersive_overlay_view.cc", "read_anything_immersive_overlay_view.h", "read_anything_immersive_web_view.cc", "read_anything_immersive_web_view.h", "read_anything_lifecycle_observer.h", "read_anything_omnibox_controller.cc", "read_anything_omnibox_controller.h", "read_anything_service.cc", "read_anything_service.h", "read_anything_service_factory.cc", "read_anything_service_factory.h", "read_anything_side_panel_controller.cc", "read_anything_side_panel_controller.h", "read_anything_side_panel_controller_utils.cc", "read_anything_side_panel_controller_utils.h", "read_anything_side_panel_navigation_throttle.cc", "read_anything_side_panel_navigation_throttle.h", "read_anything_side_panel_web_view.cc", "read_anything_side_panel_web_view.h", "read_anything_soft_navigation_observer.cc", "read_anything_soft_navigation_observer.h", ] public_deps = [ ":prefs", "//base", "//chrome/browser:browser_public_dependencies", "//chrome/browser:primitives", "//chrome/browser/dom_distiller", "//chrome/browser/profiles:profile", "//chrome/browser/ui/webui_browser:headers", "//chrome/common", "//chrome/common/read_anything:mojo_bindings", "//content/public/browser", "//ui/base", "//ui/views", "//ui/views/controls/webview", ] deps = [ "//chrome/app:generated_resources", "//chrome/browser:browser_process", "//chrome/browser/accessibility", "//chrome/browser/component_updater", "//chrome/browser/extensions", "//chrome/browser/language", "//chrome/browser/profiles", "//chrome/browser/translate", "//chrome/browser/ui:accelerator_utils_headers", "//chrome/browser/ui:ui_features", "//chrome/browser/ui:view_ids", "//chrome/browser/ui/browser_window", "//chrome/browser/ui/exclusive_access", "//chrome/browser/ui/find_bar", "//chrome/browser/ui/side_panel", "//chrome/browser/ui/side_panel:side_panel_views_dependent", "//chrome/browser/ui/user_education", "//chrome/browser/ui/views/interaction", "//chrome/browser/ui/views/page_action", "//chrome/browser/ui/views/side_panel", "//components/accessibility:reading", "//components/find_in_page", "//components/language/core/browser", "//components/language/core/common", "//components/page_load_metrics/browser", # Temporarily added to avoid build flakiness while we untangle a circular # dependency "//components/user_education/webui:mojo_bindings", "//services/metrics/public/cpp:metrics_cpp", ] } source_set("impl") { # TODO(https://crbug.com/552467653): Migrate additional implementation- # specific cc files to this project to reduce overall dependencies of the # main project above. sources = [ "read_anything_controller.cc" ] deps = [ ":read_anything", "//chrome/app:command_ids", "//chrome/browser/translate", "//chrome/browser/ui:accelerator_utils_headers", "//chrome/browser/ui:ui_features", "//chrome/browser/ui:view_ids", "//chrome/browser/ui/find_bar", "//chrome/browser/ui/side_panel", "//chrome/browser/ui/side_panel:side_panel_views_dependent", "//chrome/browser/ui/tabs:tab_model", "//chrome/browser/ui/tabs:tab_strip", "//chrome/browser/ui/user_education", "//chrome/browser/ui/webui/side_panel/read_anything", ] } source_set("browser_tests") { testonly = true defines = [ "HAS_OUT_OF_PROC_TEST_RUNNER" ] sources = [ "read_anything_controller_browsertest.cc", "read_anything_entry_point_controller_browsertest.cc", "read_anything_omnibox_controller_browsertest.cc", "read_anything_side_panel_navigation_throttle_browsertest.cc", ] deps = [ ":read_anything", "//base", "//base/test:test_support", "//chrome/browser", "//chrome/browser/optimization_guide:test_support", "//chrome/browser/pdf:pdf_extension_test_utils", "//chrome/browser/search_engines", "//chrome/browser/ui", "//chrome/browser/ui:ui_features", "//chrome/browser/ui:view_ids", "//chrome/browser/ui/browser_window", "//chrome/browser/ui/find_bar", "//chrome/browser/ui/side_panel", "//chrome/browser/ui/side_panel:side_panel_views_dependent", "//chrome/browser/ui/views/side_panel", "//chrome/test:test_support", "//chrome/test:test_support_ui", "//chrome/test/user_education:impl", "//components/optimization_guide/core", "//components/page_load_metrics/browser:test_support", "//components/search_engines", "//content/test:test_support", "//testing/gtest", "//ui/views", ] } source_set("interactive_ui_tests") { testonly = true defines = [ "HAS_OUT_OF_PROC_TEST_RUNNER" ] sources = [ "read_anything_omnibox_controller_interactive_uitest.cc", "read_anything_service_interactive_uitest.cc", "read_anything_side_panel_controller_interactive_uitest.cc", ] deps = [ ":read_anything", "//base", "//base/test:test_support", "//chrome/browser", "//chrome/browser/ui", "//chrome/browser/ui:ui_features", "//chrome/browser/ui/browser_window", "//chrome/browser/ui/side_panel", "//chrome/browser/ui/side_panel:side_panel_views_dependent", "//chrome/browser/ui/views/side_panel", "//chrome/test:test_support", "//chrome/test:test_support_ui", "//chrome/test/user_education:impl", "//components/accessibility:reading", "//components/user_education/views", "//content/test:test_support", "//testing/gtest", "//ui/views", ] } source_set("unit_tests") { testonly = true sources = [ "read_anything_hats_survey_controller_unittest.cc" ] deps = [ ":read_anything", "//base", "//chrome/browser/ui", "//chrome/browser/ui/hats:test_support", "//chrome/browser/ui/side_panel:side_panel_views_dependent", "//chrome/test:test_support", "//components/tabs:test_support", "//content/test:test_support", "//testing/gmock", "//testing/gtest", ] }