# 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. if (!is_android) { source_set("performance_controls") { sources = [ "battery_saver_bubble_delegate.h", "battery_saver_bubble_observer.h", "battery_saver_button_controller.h", "battery_saver_button_controller_delegate.h", "memory_saver_bubble_controller.h", "memory_saver_bubble_delegate.h", "memory_saver_bubble_observer.h", "memory_saver_chip_controller.h", "memory_saver_chip_tab_helper.h", "memory_saver_opt_in_iph_controller.h", "memory_saver_utils.h", "performance_controls_hats_service.h", "performance_controls_hats_service_factory.h", "performance_controls_metrics.h", "performance_intervention_bubble_delegate.h", "performance_intervention_bubble_observer.h", "performance_intervention_button_controller.h", "performance_intervention_button_controller_delegate.h", "tab_list_model.h", "tab_resource_usage_collector.h", "tab_resource_usage_tab_helper.h", ] public_deps = [ "//base", "//chrome/browser/performance_manager/public/user_tuning", "//chrome/browser/profiles:profile", "//chrome/browser/resource_coordinator", "//chrome/browser/resource_coordinator:mojo_bindings_shared", "//chrome/browser/resource_coordinator:mojo_bindings_shared_cpp_sources", "//chrome/browser/ui/hats", "//chrome/browser/ui/tabs", "//chrome/browser/ui/tabs:tab_strip_model_observer", "//components/keyed_service/core", "//components/metrics", "//components/performance_manager", "//components/prefs", "//components/tabs:public", "//content/public/browser", "//ui/base", "//ui/base/unowned_user_data", "//url", ] } source_set("impl") { sources = [ "battery_saver_bubble_delegate.cc", "battery_saver_button_controller.cc", "memory_saver_bubble_controller.cc", "memory_saver_bubble_delegate.cc", "memory_saver_chip_controller.cc", "memory_saver_chip_tab_helper.cc", "memory_saver_opt_in_iph_controller.cc", "memory_saver_utils.cc", "performance_controls_hats_service.cc", "performance_controls_hats_service_factory.cc", "performance_controls_metrics.cc", "performance_intervention_bubble_delegate.cc", "performance_intervention_button_controller.cc", "tab_list_model.cc", "tab_resource_usage_collector.cc", "tab_resource_usage_tab_helper.cc", ] deps = [ ":performance_controls", "//base", "//chrome/app:generated_resources", "//chrome/browser:browser_process", "//chrome/browser:primitives", "//chrome/browser/content_settings:content_settings_factory", "//chrome/browser/feature_engagement", "//chrome/browser/performance_manager/public/user_tuning", "//chrome/browser/profiles:profile", "//chrome/browser/ui:browser_actions", "//chrome/browser/ui:chrome_pages", "//chrome/browser/ui:ui_features", "//chrome/browser/ui/actions:actions_headers", "//chrome/browser/ui/browser_window", "//chrome/browser/ui/hats", "//chrome/browser/ui/page_action:icon_type", "//chrome/browser/ui/tabs:tab_strip", "//chrome/browser/ui/tabs:tab_strip_model_observer", "//chrome/browser/ui/tabs:tabs_public", "//chrome/browser/ui/user_education", "//chrome/browser/ui/views/frame:toolbar_button_provider", "//chrome/browser/ui/views/page_action", "//chrome/browser/ui/views/performance_controls", "//chrome/common", "//chrome/common:channel_info", "//chrome/common:constants", "//components/feature_engagement/public", "//components/feature_engagement/public:feature_constants", "//components/metrics", "//components/performance_manager", "//components/prefs", "//components/tabs:public", "//content/public/browser", "//content/public/common", "//ui/base", "//ui/views", ] public_deps = [ "//chrome/browser:browser_public_dependencies" ] } source_set("unit_tests") { testonly = true sources = [ "performance_controls_hats_service_unittest.cc", "performance_controls_metrics_unittest.cc", "performance_intervention_button_controller_unittest.cc", "tab_resource_usage_tab_helper_unittest.cc", ] deps = [ ":performance_controls", "//base", "//base/test:test_support", "//chrome/browser:browser_process", "//chrome/browser/performance_manager/public/user_tuning", "//chrome/browser/ui/browser_window", "//chrome/browser/ui/hats", "//chrome/browser/ui/hats:test_support", "//chrome/browser/ui/tabs:tab_strip", "//chrome/browser/ui/tabs:test_support", "//chrome/common:constants", "//chrome/test:test_support", "//components/feature_engagement/public", "//components/feature_engagement/public:feature_constants", "//components/feature_engagement/test:test_support", "//components/performance_manager", "//components/prefs", "//components/prefs:test_support", "//components/tabs:test_support", "//content/test:test_support", "//testing/gmock", "//testing/gtest", "//url", ] } source_set("browser_tests") { testonly = true defines = [ "HAS_OUT_OF_PROC_TEST_RUNNER" ] sources = [ "tab_resource_usage_collector_browsertest.cc", "tab_resource_usage_tab_helper_browsertest.cc", ] deps = [ ":performance_controls", "//base", "//base/test:test_support", "//chrome/browser/ui:browser_element_identifiers", "//chrome/browser/ui/performance_controls/test_support", "//chrome/browser/ui/tabs:tab_strip", "//chrome/test:test_support", "//chrome/test:test_support_ui", "//components/tabs:public", "//content/test:test_support", "//net:test_support", "//testing/gtest", "//ui/base", "//url", ] } }