blob: a36fbbaf861e9b327711fe4df41fd39b50ed41eb [file] [log] [blame]
# 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/ios/swift_source_set.gni")
source_set("overflow_menu_constants") {
configs += [ "//build/config/compiler:enable_arc" ]
sources = [
"overflow_menu_constants.cc",
"overflow_menu_constants.h",
]
deps = [ "//base" ]
}
source_set("overflow_menu") {
configs += [ "//build/config/compiler:enable_arc" ]
sources = [
"overflow_menu_mediator.h",
"overflow_menu_mediator.mm",
"overflow_menu_orderer.h",
"overflow_menu_orderer.mm",
]
deps = [
":feature_flags",
":overflow_menu_constants",
":overflow_menu_swift",
"resources:destination_highlight_color",
"resources:overflow_menu_footer_managed",
"//components/bookmarks/browser",
"//components/bookmarks/common",
"//components/feature_engagement/public",
"//components/language/ios/browser",
"//components/prefs",
"//components/prefs/ios",
"//components/profile_metrics",
"//components/sync/service",
"//components/translate/core/browser",
"//ios/chrome/app/strings",
"//ios/chrome/browser/bookmarks",
"//ios/chrome/browser/commerce/push_notification",
"//ios/chrome/browser/default_browser:utils",
"//ios/chrome/browser/find_in_page",
"//ios/chrome/browser/follow:browser_agent",
"//ios/chrome/browser/follow:enums",
"//ios/chrome/browser/follow:tab_helper",
"//ios/chrome/browser/follow:utils",
"//ios/chrome/browser/ntp:features",
"//ios/chrome/browser/overlays",
"//ios/chrome/browser/policy",
"//ios/chrome/browser/policy:policy_util",
"//ios/chrome/browser/reading_list",
"//ios/chrome/browser/settings/sync/utils:identity_error_util",
"//ios/chrome/browser/shared/model/browser_state",
"//ios/chrome/browser/shared/model/prefs:pref_names",
"//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/tabs:features",
"//ios/chrome/browser/translate",
"//ios/chrome/browser/ui/bookmarks:core",
"//ios/chrome/browser/ui/bookmarks:utils",
"//ios/chrome/browser/ui/browser_container:ui",
"//ios/chrome/browser/ui/follow",
"//ios/chrome/browser/ui/ntp/metrics",
"//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/reading_list",
"//ios/chrome/browser/ui/sharing",
"//ios/chrome/browser/ui/tab_switcher:tab_utils",
"//ios/chrome/browser/ui/whats_new:util",
"//ios/chrome/browser/web",
"//ios/chrome/browser/web/font_size",
"//ios/chrome/browser/window_activities",
"//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",
"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_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_model.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",
]
}
source_set("feature_flags") {
configs += [ "//build/config/compiler:enable_arc" ]
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 = [
"overflow_menu_mediator_unittest.mm",
"overflow_menu_orderer_unittest.mm",
]
deps = [
":overflow_menu",
":overflow_menu_constants",
"//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/prefs",
"//components/prefs:test_support",
"//components/sync/service",
"//components/translate/core/browser",
"//components/translate/core/language_detection",
"//ios/chrome/browser/bookmarks",
"//ios/chrome/browser/overlays",
"//ios/chrome/browser/overlays/public/web_content_area",
"//ios/chrome/browser/overlays/test",
"//ios/chrome/browser/passwords:store_factory",
"//ios/chrome/browser/policy:test_support",
"//ios/chrome/browser/promos_manager:test_support",
"//ios/chrome/browser/shared/model/browser/test:test_support",
"//ios/chrome/browser/shared/model/browser_state:test_support",
"//ios/chrome/browser/shared/model/prefs:pref_names",
"//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/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:util",
"//ios/chrome/browser/web/font_size",
"//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",
]
configs += [ "//build/config/compiler:enable_arc" ]
}
source_set("eg2_tests") {
configs += [
"//build/config/compiler:enable_arc",
"//build/config/ios:xctest_config",
]
testonly = true
sources = [ "overflow_menu_carousel_egtest.mm" ]
deps = [
"//base",
"//components/sync/base",
"//ios/chrome/app/strings",
"//ios/chrome/browser/metrics:eg_test_support+eg2",
"//ios/chrome/browser/shared/model/prefs:pref_names",
"//ios/chrome/browser/shared/public/features",
"//ios/chrome/browser/signin: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" ]
}