| # 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("//build/config/chromeos/args.gni") |
| |
| assert(is_win || is_mac || is_linux || is_chromeos) |
| |
| # This is the public interface for the user education service. |
| source_set("user_education") { |
| sources = [ |
| "browser_user_education_interface.h", |
| "polling_idle_observer.h", |
| "recent_session_observer_impl.h", |
| "recent_session_policy.h", |
| "show_promo_in_page.h", |
| "start_tutorial_in_page.h", |
| "user_education_types.h", |
| ] |
| public_deps = [ |
| "//base", |
| "//chrome/browser/user_education", |
| "//components/user_education/common", |
| "//ui/base:types", |
| "//ui/base/idle", |
| "//ui/base/unowned_user_data", |
| "//url", |
| ] |
| } |
| |
| source_set("impl") { |
| sources = [ |
| "browser_user_education_interface.cc", |
| "recent_session_observer_impl.cc", |
| "recent_session_policy.cc", |
| "user_education_types.cc", |
| |
| # The following files have circular dependencies against /c/b/ui:ui. |
| "polling_idle_observer.cc", |
| "show_promo_in_page.cc", |
| "start_tutorial_in_page.cc", |
| ] |
| deps = [ |
| ":user_education", |
| "//chrome/browser/ui:browser_list", |
| "//chrome/browser/ui:browser_navigator_params_headers", |
| "//chrome/browser/ui/browser_window", |
| "//chrome/browser/ui/interaction", |
| "//chrome/browser/ui/tabs:tabs_public", |
| "//components/user_education/webui", |
| "//ui/base/unowned_user_data", |
| ] |
| public_deps = [ "//chrome/browser:browser_public_dependencies" ] |
| } |
| |
| source_set("unit_tests") { |
| testonly = true |
| sources = [ "recent_session_policy_unittest.cc" ] |
| deps = [ |
| ":user_education", |
| "//base/test:test_support", |
| "//chrome/browser/user_education", |
| "//testing/gmock", |
| "//testing/gtest", |
| ] |
| } |
| |
| source_set("browser_tests") { |
| testonly = true |
| defines = [ "HAS_OUT_OF_PROC_TEST_RUNNER" ] |
| sources = [ |
| "show_promo_in_page_browsertest.cc", |
| "start_tutorial_in_page_browsertest.cc", |
| "user_education_configuration_provider_browsertest.cc", |
| ] |
| deps = [ |
| ":user_education", |
| "//base/test:test_support", |
| "//chrome/browser:browser_process", |
| "//chrome/browser/ui:browser_element_identifiers", |
| "//chrome/browser/ui/tabs:tab_strip_model_observer", |
| "//chrome/common", |
| "//chrome/test:test_support", |
| "//chrome/test:test_support_ui", |
| "//components/feature_engagement/test:test_support", |
| "//components/prefs", |
| "//components/strings:components_strings", |
| "//components/webui/chrome_urls", |
| "//content/test:test_support", |
| "//testing/gtest", |
| ] |
| |
| # 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" ] |
| } |
| |
| if (!is_chromeos_device) { |
| source_set("interactive_ui_tests") { |
| testonly = true |
| defines = [ "HAS_OUT_OF_PROC_TEST_RUNNER" ] |
| sources = [ "show_promo_in_page_interactive_uitest.cc" ] |
| deps = [ |
| ":user_education", |
| "//chrome/browser:browser_process", |
| "//chrome/browser/ui:browser_element_identifiers", |
| "//chrome/common", |
| "//chrome/test:test_support", |
| "//chrome/test:test_support_ui", |
| "//components/prefs", |
| "//components/strings:components_strings", |
| "//components/user_education/common", |
| "//components/webui/chrome_urls", |
| "//content/test:test_support", |
| "//testing/gtest", |
| "//ui/base", |
| "//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" ] |
| } |
| } |