| # 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("//pdf/features.gni") |
| |
| # Contained Lens dependencies are currently for desktop platforms only |
| assert(!is_android, "Lens Overlay is for desktop platforms only") |
| |
| source_set("lens") { |
| # The public interface is intentionally minimal. There should be a small |
| # number of entry points and publicly used headers. |
| public = [ |
| "lens_composebox_controller.h", |
| "lens_keyed_service.h", |
| "lens_keyed_service_factory.h", |
| "lens_overlay_controller.h", |
| "lens_overlay_entry_point_controller.h", |
| "lens_overlay_gen204_controller.h", |
| "lens_overlay_image_helper.h", |
| "lens_overlay_side_panel_navigation_throttle.h", |
| "lens_overlay_untrusted_ui.h", |
| "lens_search_controller.h", |
| "lens_search_feature_flag_utils.h", |
| "lens_searchbox_controller.h", |
| "lens_side_panel_untrusted_ui.h", |
| "lens_string_utils.h", |
| ] |
| friend = [ ":*" ] |
| sources = [ |
| "lens_composebox_handler.h", |
| "lens_help_menu_utils.h", |
| "lens_keyed_service.cc", |
| "lens_keyed_service.h", |
| "lens_keyed_service_factory.cc", |
| "lens_keyed_service_factory.h", |
| "lens_media_link_handler.h", |
| "lens_overlay_blur_layer_delegate.h", |
| "lens_overlay_colors.h", |
| "lens_overlay_event_handler.h", |
| "lens_overlay_image_helper.h", |
| "lens_overlay_languages_controller.h", |
| "lens_overlay_proto_converter.h", |
| "lens_overlay_query_controller.h", |
| "lens_overlay_side_panel_coordinator.h", |
| "lens_overlay_side_panel_web_view.h", |
| "lens_overlay_theme_utils.h", |
| "lens_overlay_translate_options.h", |
| "lens_overlay_url_builder.h", |
| "lens_permission_bubble_controller.h", |
| "lens_preselection_bubble.h", |
| "lens_search_contextualization_controller.h", |
| "lens_session_metrics_logger.h", |
| "lens_url_matcher.h", |
| "page_content_type_conversions.h", |
| ] |
| |
| public_deps = [ |
| "//base", |
| "//chrome/browser/companion/text_finder", |
| "//chrome/browser/content_extraction", |
| "//chrome/browser/lens/core/mojom:mojo_bindings", |
| "//chrome/browser/search_engines", |
| "//chrome/browser/themes", |
| "//chrome/browser/ui/exclusive_access", |
| "//chrome/browser/ui/omnibox", |
| "//chrome/browser/ui/promos:service", |
| "//chrome/browser/ui/views/frame:immersive_mode_controller", |
| "//chrome/browser/ui/views/side_panel", |
| "//chrome/browser/ui/webui/new_tab_page/composebox", |
| "//chrome/browser/ui/webui/searchbox", |
| "//chrome/browser/ui/webui/top_chrome", |
| "//components/content_extraction/content/browser", |
| "//components/endpoint_fetcher", |
| "//components/find_in_page", |
| "//components/lens", |
| "//components/optimization_guide/content/browser", |
| "//components/optimization_guide/content/browser:page_context_eligibility", |
| "//components/sharing_message", |
| "//components/sync_preferences", |
| "//components/user_education/webui", |
| "//content/public/browser", |
| "//third_party/lens_server_proto:lens_overlay_proto", |
| "//ui/base/mojom:ui_base_types", |
| "//ui/base/unowned_user_data", |
| "//ui/views", |
| ] |
| |
| if (enable_pdf) { |
| public_deps += [ |
| "//components/pdf/browser", |
| "//pdf/mojom", |
| ] |
| } |
| } |
| |
| source_set("impl") { |
| sources = [ |
| "lens_composebox_controller.cc", |
| "lens_composebox_handler.cc", |
| "lens_help_menu_utils.cc", |
| "lens_media_link_handler.cc", |
| "lens_overlay_blur_layer_delegate.cc", |
| "lens_overlay_controller.cc", |
| "lens_overlay_entry_point_controller.cc", |
| "lens_overlay_event_handler.cc", |
| "lens_overlay_gen204_controller.cc", |
| "lens_overlay_image_helper.cc", |
| "lens_overlay_languages_controller.cc", |
| "lens_overlay_proto_converter.cc", |
| "lens_overlay_query_controller.cc", |
| "lens_overlay_side_panel_coordinator.cc", |
| "lens_overlay_side_panel_navigation_throttle.cc", |
| "lens_overlay_side_panel_web_view.cc", |
| "lens_overlay_theme_utils.cc", |
| "lens_overlay_untrusted_ui.cc", |
| "lens_overlay_url_builder.cc", |
| "lens_permission_bubble_controller.cc", |
| "lens_preselection_bubble.cc", |
| "lens_search_contextualization_controller.cc", |
| "lens_search_controller.cc", |
| "lens_search_feature_flag_utils.cc", |
| "lens_searchbox_controller.cc", |
| "lens_session_metrics_logger.cc", |
| "lens_side_panel_untrusted_ui.cc", |
| "lens_string_utils.cc", |
| "lens_url_matcher.cc", |
| "page_content_type_conversions.cc", |
| ] |
| |
| deps = [ |
| ":lens", |
| "//build:branding_buildflags", |
| "//chrome/app:generated_resources_grit", |
| "//chrome/app/theme:theme_resources_grit", |
| "//chrome/app/vector_icons", |
| "//chrome/browser:browser_process", |
| "//chrome/browser:global_features", |
| "//chrome/browser:primitives", |
| "//chrome/browser/autocomplete:aim_eligibility_service", |
| "//chrome/browser/feedback", |
| "//chrome/browser/lens/region_search", |
| "//chrome/browser/media/webrtc", |
| "//chrome/browser/profiles", |
| "//chrome/browser/resources/lens/overlay:resources", |
| "//chrome/browser/resources/lens/overlay:resources_grit", |
| "//chrome/browser/resources/lens/shared:resources", |
| "//chrome/browser/resources/lens/shared:resources_grit", |
| "//chrome/browser/search", |
| "//chrome/browser/task_manager", |
| "//chrome/browser/ui:browser_element_identifiers", |
| "//chrome/browser/ui/browser_window", |
| "//chrome/browser/ui/color:color_headers", |
| "//chrome/browser/ui/hats", |
| "//chrome/browser/ui/omnibox", |
| "//chrome/browser/ui/search", |
| "//chrome/browser/ui/user_education", |
| "//chrome/browser/ui/views/bubble", |
| "//chrome/browser/ui/views/interaction", |
| "//chrome/browser/ui/views/page_action", |
| "//chrome/browser/ui/views/toolbar", |
| "//chrome/browser/ui/webui", |
| "//chrome/browser/ui/webui:webui_util", |
| "//chrome/browser/ui/webui/util", |
| "//chrome/common", |
| "//chrome/common:channel_info", |
| "//components/application_locale_storage", |
| "//components/base32", |
| "//components/constrained_window", |
| "//components/feature_engagement/public", |
| "//components/input", |
| "//components/language/core/common", |
| "//components/lens:enterprise_policy", |
| "//components/lens:features", |
| "//components/lens/proto/server:proto", |
| "//components/metrics_services_manager", |
| "//components/optimization_guide/content/browser", |
| "//components/optimization_guide/content/browser:page_context_eligibility", |
| "//components/prefs", |
| "//components/sessions", |
| "//components/signin/public/identity_manager", |
| "//components/strings:components_strings_grit", |
| "//components/sync/service", |
| "//components/sync_preferences", |
| "//components/unified_consent", |
| "//components/variations", |
| "//components/variations:variations_mojom", |
| "//components/version_info:channel", |
| "//components/web_modal", |
| "//components/zoom", |
| "//google_apis", |
| "//google_apis/common", |
| "//google_apis/common:request_util", |
| "//mojo/public/cpp/bindings", |
| "//net", |
| "//net/traffic_annotation", |
| "//pdf:buildflags", |
| "//services/metrics/public/cpp:ukm_builders", |
| "//services/network/public/cpp", |
| "//skia", |
| "//third_party/farmhash", |
| "//third_party/lens_server_proto:lens_overlay_proto", |
| "//third_party/omnibox_proto", |
| "//third_party/zlib/google:compression_utils", |
| "//ui/base:types", |
| "//ui/gfx", |
| "//ui/gfx/codec", |
| "//ui/gfx/geometry", |
| "//ui/menus", |
| "//ui/webui", |
| "//url", |
| ] |
| |
| if (enable_pdf) { |
| deps += [ |
| "//chrome/browser/pdf", |
| "//components/pdf/browser", |
| ] |
| } |
| } |
| |
| source_set("test_support") { |
| testonly = true |
| sources = [ |
| "test_lens_overlay_controller.cc", |
| "test_lens_overlay_controller.h", |
| "test_lens_overlay_query_controller.cc", |
| "test_lens_overlay_query_controller.h", |
| "test_lens_overlay_side_panel_coordinator.cc", |
| "test_lens_overlay_side_panel_coordinator.h", |
| "test_lens_search_contextualization_controller.cc", |
| "test_lens_search_contextualization_controller.h", |
| "test_lens_search_controller.cc", |
| "test_lens_search_controller.h", |
| ] |
| |
| deps = [ |
| ":lens", |
| "//base/test:test_support", |
| "//google_apis/common", |
| "//testing/gtest", |
| "//third_party/lens_server_proto:lens_overlay_proto", |
| ] |
| } |
| |
| source_set("browser_tests") { |
| testonly = true |
| defines = [ "HAS_OUT_OF_PROC_TEST_RUNNER" ] |
| sources = [ |
| "lens_composebox_controller_browsertest.cc", |
| "lens_overlay_controller_browsertest.cc", |
| "lens_overlay_live_test.cc", |
| "lens_search_feature_flag_utils_browsertest.cc", |
| ] |
| deps = [ |
| ":lens", |
| ":test_support", |
| "//base", |
| "//base/test:test_support", |
| "//chrome/browser", |
| "//chrome/browser/autocomplete:aim_eligibility_service", |
| "//chrome/browser/lens/core/mojom:mojo_bindings", |
| "//chrome/browser/profiles:profile", |
| "//chrome/browser/signin/e2e_tests:test_support", |
| "//chrome/browser/sync", |
| "//chrome/browser/themes", |
| "//chrome/browser/ui", |
| "//chrome/browser/ui:browser_element_identifiers", |
| "//chrome/browser/ui:ui_features", |
| "//chrome/browser/ui/browser_window", |
| "//chrome/browser/ui/exclusive_access", |
| "//chrome/browser/ui/find_bar", |
| "//chrome/browser/ui/hats", |
| "//chrome/browser/ui/hats:test_support", |
| "//chrome/browser/ui/location_bar", |
| "//chrome/browser/ui/tabs:tabs_public", |
| "//chrome/browser/ui/views/location_bar", |
| "//chrome/browser/ui/views/page_action", |
| "//chrome/browser/ui/views/side_panel", |
| "//chrome/browser/ui/webui/searchbox:searchbox_test_utils", |
| "//chrome/test:test_support", |
| "//chrome/test:test_support_ui", |
| "//components/base32", |
| "//components/constrained_window", |
| "//components/feature_engagement/public", |
| "//components/lens:enterprise_policy", |
| "//components/lens:features", |
| "//components/lens/proto/server:proto", |
| "//components/permissions:test_support", |
| "//components/prefs", |
| "//components/renderer_context_menu", |
| "//components/signin/public/identity_manager:test_support", |
| "//components/ukm:test_support", |
| "//content/public/browser", |
| "//content/public/common", |
| "//content/test:test_support", |
| "//mojo/public/cpp/bindings", |
| "//net", |
| "//pdf:features", |
| "//third_party/lens_server_proto:lens_overlay_proto", |
| "//ui/base", |
| "//ui/base:types", |
| "//ui/base/unowned_user_data", |
| "//ui/compositor", |
| "//ui/events:events_base", |
| "//ui/events:test_support", |
| "//ui/views", |
| "//ui/views:test_support", |
| "//ui/views/controls/webview", |
| "//url", |
| ] |
| if (enable_pdf) { |
| deps += [ "//chrome/browser/pdf" ] |
| } |
| |
| # 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("interactive_ui_tests") { |
| testonly = true |
| defines = [ "HAS_OUT_OF_PROC_TEST_RUNNER" ] |
| sources = [ |
| "lens_overlay_controller_interactive_uitest.cc", |
| "lens_permission_bubble_controller_interactive_uitest.cc", |
| ] |
| deps = [ |
| ":lens", |
| ":test_support", |
| "//base/test:test_support", |
| "//chrome/browser", |
| "//chrome/browser/profiles:profile", |
| "//chrome/browser/search_engines", |
| "//chrome/browser/signin", |
| "//chrome/browser/sync", |
| "//chrome/browser/themes", |
| "//chrome/browser/ui", |
| "//chrome/browser/ui:browser_element_identifiers", |
| "//chrome/browser/ui/tabs:tabs_public", |
| "//chrome/browser/ui/views/location_bar", |
| "//chrome/test:test_support", |
| "//chrome/test:test_support_ui", |
| "//components/feature_engagement/public", |
| "//components/lens:enterprise_policy", |
| "//components/lens:features", |
| "//components/prefs", |
| "//components/search_engines", |
| "//components/user_education/views", |
| "//content/test:test_support", |
| "//testing/gtest", |
| ] |
| if (enable_pdf) { |
| deps += [ "//components/pdf/browser" ] |
| } |
| } |
| |
| source_set("unit_tests") { |
| testonly = true |
| sources = [ |
| "lens_media_link_handler_unittest.cc", |
| "lens_overlay_gen204_controller_unittest.cc", |
| "lens_overlay_image_helper_unittest.cc", |
| "lens_overlay_languages_controller_unittest.cc", |
| "lens_overlay_proto_converter_unittest.cc", |
| "lens_overlay_query_controller_unittest.cc", |
| "lens_overlay_side_panel_navigation_throttle_unittest.cc", |
| "lens_overlay_url_builder_unittest.cc", |
| "lens_url_matcher_unittest.cc", |
| ] |
| deps = [ |
| ":lens", |
| ":test_support", |
| "//base", |
| "//base/test:test_support", |
| "//chrome/browser", |
| "//chrome/browser:browser_process", |
| "//chrome/browser/lens/core/mojom:mojo_bindings", |
| "//chrome/browser/search_engines", |
| "//chrome/browser/signin", |
| "//chrome/browser/themes", |
| "//chrome/test:test_support", |
| "//components/base32", |
| "//components/endpoint_fetcher", |
| "//components/lens:features", |
| "//components/optimization_guide/content/browser:page_context_eligibility", |
| "//content/public/browser", |
| "//content/test:test_support", |
| "//google_apis/common", |
| "//net", |
| "//net/traffic_annotation", |
| "//testing/gtest", |
| "//third_party/icu:icui18n", |
| "//third_party/icu:icuuc_public", |
| "//third_party/lens_server_proto:lens_overlay_proto", |
| "//third_party/omnibox_proto", |
| "//third_party/zlib/google:compression_utils", |
| "//third_party/zstd:compress", |
| "//ui/gfx", |
| "//ui/gfx/codec", |
| "//ui/gfx/geometry", |
| "//url", |
| ] |
| |
| # 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" ] |
| } |