# Copyright 2021 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/apple/swift_source_set.gni")
source_set("overflow_menu_constants") {
sources = [
"overflow_menu_constants.cc",
"overflow_menu_constants.h",
]
deps = [ "//base" ]
}
source_set("overflow_menu") {
sources = [
"overflow_menu_action_provider.h",
"overflow_menu_mediator.h",
"overflow_menu_mediator.mm",
"overflow_menu_metrics.h",
"overflow_menu_metrics.mm",
"overflow_menu_orderer.h",
"overflow_menu_orderer.mm",
]
deps = [
":feature_flags",
":overflow_menu_constants",
":overflow_menu_swift",
"//components/bookmarks/browser",
"//components/bookmarks/common",
"//components/feature_engagement/public",
"//components/language/ios/browser",
"//components/prefs",
"//components/prefs/ios",
"//components/profile_metrics",
"//components/reading_list/core",
"//components/reading_list/ios",
"//components/supervised_user/core/browser",
"//components/supervised_user/core/common",
"//components/sync/service",
"//components/translate/core/browser",
"//ios/chrome/app/strings",
"//ios/chrome/browser/bookmarks/model",
"//ios/chrome/browser/bookmarks/ui_bundled:core",
"//ios/chrome/browser/bookmarks/ui_bundled:utils",
"//ios/chrome/browser/commerce/model/push_notification",
"//ios/chrome/browser/default_browser/model:default_browser_interest_signals",
"//ios/chrome/browser/default_browser/model:utils",
"//ios/chrome/browser/find_in_page/model",
"//ios/chrome/browser/follow/model:browser_agent",
"//ios/chrome/browser/follow/model:enums",
"//ios/chrome/browser/follow/model:tab_helper",
"//ios/chrome/browser/follow/model:utils",
"//ios/chrome/browser/follow/ui_bundled",
"//ios/chrome/browser/intents:intents_donation_helper",
"//ios/chrome/browser/iph_for_new_chrome_user/model",
"//ios/chrome/browser/lens_overlay/coordinator:lens_overlay_availability",
"//ios/chrome/browser/ntp/shared/metrics",
"//ios/chrome/browser/overlays/model",
"//ios/chrome/browser/policy/model",
"//ios/chrome/browser/policy/model:policy_util",
"//ios/chrome/browser/policy/ui_bundled:user_policy_scene_agent",
"//ios/chrome/browser/reading_list/model",
"//ios/chrome/browser/settings/model/sync/utils:identity_error_util",
"//ios/chrome/browser/shared/coordinator/chrome_coordinator",
"//ios/chrome/browser/shared/model/browser",
"//ios/chrome/browser/shared/model/browser_state",
"//ios/chrome/browser/shared/model/prefs",
"//ios/chrome/browser/shared/model/prefs:pref_names",
"//ios/chrome/browser/shared/model/profile",
"//ios/chrome/browser/shared/model/url:constants",
"//ios/chrome/browser/shared/model/web_state_list",
"//ios/chrome/browser/shared/public/commands",
"//ios/chrome/browser/shared/public/features",
"//ios/chrome/browser/shared/public/features:system_flags",
"//ios/chrome/browser/shared/ui/symbols",
"//ios/chrome/browser/shared/ui/util",
"//ios/chrome/browser/supervised_user/model:capabilities",
"//ios/chrome/browser/translate/model",
"//ios/chrome/browser/ui/browser_container:ui",
"//ios/chrome/browser/ui/popup_menu:constants",
"//ios/chrome/browser/ui/popup_menu:metrics_protocols",
"//ios/chrome/browser/ui/popup_menu/overflow_menu/destination_usage_history",
"//ios/chrome/browser/ui/popup_menu/overflow_menu/resources",
"//ios/chrome/browser/ui/reading_list",
"//ios/chrome/browser/ui/settings/clear_browsing_data:features",
"//ios/chrome/browser/ui/sharing",
"//ios/chrome/browser/ui/tab_switcher:utils",
"//ios/chrome/browser/ui/whats_new:util",
"//ios/chrome/browser/web/model",
"//ios/chrome/browser/web/model/font_size",
"//ios/chrome/browser/window_activities/model",
"//ios/public/provider/chrome/browser/user_feedback:user_feedback_api",
"//ios/web/common:user_agent",
"//ios/web/public",
"//ui/base",
]
}
swift_source_set("overflow_menu_swift") {
bridge_header = "overflow_menu_swift_bridge.h"
sources = [
"Color+overflow_menu.swift",
"action_customization_model.swift",
"destination_customization_model.swift",
"destination_drag_handler.swift",
"destination_edit_button.swift",
"menu_customization_animation_id.swift",
"menu_customization_view.swift",
"overflow_menu_action.swift",
"overflow_menu_action_group.swift",
"overflow_menu_action_list.swift",
"overflow_menu_action_row.swift",
"overflow_menu_action_section.swift",
"overflow_menu_container_view.swift",
"overflow_menu_destination.swift",
"overflow_menu_destination_list.swift",
"overflow_menu_destination_view.swift",
"overflow_menu_footer.swift",
"overflow_menu_footer_row.swift",
"overflow_menu_hosting_controller.swift",
"overflow_menu_item.swift",
"overflow_menu_list_style.swift",
"overflow_menu_model.swift",
"overflow_menu_row_icon.swift",
"overflow_menu_ui_configuration.swift",
"overflow_menu_view.swift",
"overflow_menu_view_provider.swift",
]
deps = [
"//base",
"//ios/chrome/app/strings",
"//ios/chrome/browser/shared/ui/util:util_swiftui",
"//ios/chrome/browser/ui/popup_menu:constants",
"//ios/chrome/browser/ui/popup_menu:metrics_protocols",
"//ios/chrome/common:timing",
"//ios/chrome/common/ui/colors:swift",
"//ui/base",
]
frameworks = [
"Foundation.framework",
"SwiftUI.framework",
"Combine.framework",
]
}
source_set("feature_flags") {
sources = [
"feature_flags.h",
"feature_flags.mm",
]
deps = [
"//base",
"//components/password_manager/core/common:features",
"//ios/chrome/browser/shared/public/features",
]
}
source_set("unit_tests") {
testonly = true
sources = [
"action_customization_model_unittest.mm",
"destination_customization_model_unittest.mm",
"overflow_menu_constants_unittest.mm",
"overflow_menu_mediator_unittest.mm",
"overflow_menu_metrics_unittest.mm",
"overflow_menu_orderer_unittest.mm",
]
deps = [
":overflow_menu",
":overflow_menu_constants",
":overflow_menu_swift",
"//base",
"//base/test:test_support",
"//components/bookmarks/browser",
"//components/bookmarks/common",
"//components/bookmarks/test",
"//components/feature_engagement/test:test_support",
"//components/language/ios/browser",
"//components/password_manager/core/browser:test_support",
"//components/policy/core/common:test_support",
"//components/pref_registry",
"//components/prefs",
"//components/prefs:test_support",
"//components/reading_list/core",
"//components/signin/public/identity_manager",
"//components/signin/public/identity_manager:test_support",
"//components/supervised_user/core/browser",
"//components/supervised_user/core/common",
"//components/supervised_user/test_support",
"//components/sync/service",
"//components/sync_preferences",
"//components/sync_preferences:test_support",
"//components/translate/core/browser",
"//components/translate/core/language_detection",
"//ios/chrome/browser/bookmarks/model",
"//ios/chrome/browser/bookmarks/model:test_support",
"//ios/chrome/browser/overlays/model",
"//ios/chrome/browser/overlays/model/public/web_content_area",
"//ios/chrome/browser/overlays/model/test",
"//ios/chrome/browser/passwords/model:store_factory",
"//ios/chrome/browser/policy/model:constants",
"//ios/chrome/browser/policy/model:test_support",
"//ios/chrome/browser/promos_manager/model:test_support",
"//ios/chrome/browser/reading_list/model",
"//ios/chrome/browser/reading_list/model:test_support",
"//ios/chrome/browser/search_engines/model:template_url_service_factory",
"//ios/chrome/browser/shared/model/application_context",
"//ios/chrome/browser/shared/model/browser/test:test_support",
"//ios/chrome/browser/shared/model/prefs:browser_prefs",
"//ios/chrome/browser/shared/model/prefs:pref_names",
"//ios/chrome/browser/shared/model/profile/test",
"//ios/chrome/browser/shared/model/web_state_list",
"//ios/chrome/browser/shared/public/features",
"//ios/chrome/browser/shared/ui/symbols",
"//ios/chrome/browser/shared/ui/util",
"//ios/chrome/browser/signin/model",
"//ios/chrome/browser/signin/model:fake_system_identity",
"//ios/chrome/browser/signin/model:fake_system_identity_manager",
"//ios/chrome/browser/signin/model:system_identity",
"//ios/chrome/browser/signin/model:system_identity_manager",
"//ios/chrome/browser/signin/model:test_support",
"//ios/chrome/browser/supervised_user/model",
"//ios/chrome/browser/ui/popup_menu:constants",
"//ios/chrome/browser/ui/popup_menu/overflow_menu:feature_flags",
"//ios/chrome/browser/ui/popup_menu/overflow_menu/destination_usage_history",
"//ios/chrome/browser/ui/toolbar/test",
"//ios/chrome/browser/ui/whats_new:constants",
"//ios/chrome/browser/ui/whats_new:util",
"//ios/chrome/browser/web/model/font_size",
"//ios/chrome/test:test_support",
"//ios/public/provider/chrome/browser/text_zoom:text_zoom_api",
"//ios/public/provider/chrome/browser/user_feedback:user_feedback_api",
"//ios/web/public",
"//ios/web/public/navigation",
"//ios/web/public/test",
"//ios/web/public/test/fakes",
"//testing/gtest",
"//ui/base:base",
]
}
source_set("eg2_tests") {
configs += [ "//build/config/ios:xctest_config" ]
testonly = true
sources = [ "overflow_menu_carousel_egtest.mm" ]
deps = [
":feature_flags",
"//base",
"//components/feature_engagement/public",
"//components/signin/internal/identity_manager:capabilities",
"//components/sync/base",
"//ios/chrome/app/strings",
"//ios/chrome/browser/metrics/model:eg_test_support+eg2",
"//ios/chrome/browser/shared/model/prefs:pref_names",
"//ios/chrome/browser/shared/public/features",
"//ios/chrome/browser/signin/model:fake_system_identity",
"//ios/chrome/browser/ui/authentication:eg_test_support+eg2",
"//ios/chrome/browser/ui/popup_menu:constants",
"//ios/chrome/browser/ui/whats_new:constants",
"//ios/chrome/test/earl_grey:eg_test_support+eg2",
"//ios/chrome/test/earl_grey:switches",
"//ios/testing/earl_grey:eg_test_support+eg2",
"//ui/base",
]
frameworks = [ "UIKit.framework" ]
}