# Copyright 2016 The Chromium Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
source_set("model") {
sources = [
"closing_web_state_observer_browser_agent.h",
"ios_synced_window_delegate_getter.h",
"synced_window_delegate_browser_agent.h",
"tab_helper_delegate_installer.h",
"tab_helper_util.h",
"tab_parenting_browser_agent.h",
"tab_parenting_browser_agent.mm",
"tab_parenting_global_observer.cc",
"tab_parenting_global_observer.h",
"tab_title_util.h",
"tabs_closer.h",
]
public_deps = [ "//ios/web" ]
deps = [
"//components/saved_tab_groups:model",
"//components/sessions:session_id",
"//components/sync_sessions",
"//ios/chrome/browser/shared/model/browser",
"//ios/chrome/browser/shared/model/web_state_list",
]
frameworks = [ "UIKit.framework" ]
}
source_set("tabs_internal") {
sources = [
"closing_web_state_observer_browser_agent.mm",
"ios_synced_window_delegate_getter.mm",
"synced_window_delegate_browser_agent.mm",
"tab_helper_util.mm",
"tab_title_util.h",
"tab_title_util.mm",
"tabs_closer.mm",
]
deps = [
":model",
":synced_tabs",
"//base",
"//components/autofill/ios/form_util",
"//components/breadcrumbs/core:status",
"//components/commerce/ios/browser",
"//components/favicon/core",
"//components/favicon/ios",
"//components/history/core/browser",
"//components/history/ios/browser",
"//components/language/ios/browser",
"//components/omnibox/common",
"//components/optimization_guide/core",
"//components/safe_browsing/core/common",
"//components/safe_browsing/ios/browser:allow_list",
"//components/saved_tab_groups:core",
"//components/security_state/ios",
"//components/sessions",
"//components/strings",
"//components/supervised_user/core/common",
"//ios/chrome/browser/app_launcher/model",
"//ios/chrome/browser/autofill/model",
"//ios/chrome/browser/autofill/model:model_internal",
"//ios/chrome/browser/autofill/model/bottom_sheet",
"//ios/chrome/browser/commerce/model",
"//ios/chrome/browser/commerce/model:shopping_service",
"//ios/chrome/browser/commerce/model/price_notifications",
"//ios/chrome/browser/commerce/model/push_notification",
"//ios/chrome/browser/complex_tasks/model",
"//ios/chrome/browser/contextual_panel/model",
"//ios/chrome/browser/crash_report/model/breadcrumbs",
"//ios/chrome/browser/download/model",
"//ios/chrome/browser/download/ui_bundled:features",
"//ios/chrome/browser/drive/model:drive_tab_helper",
"//ios/chrome/browser/favicon/model",
"//ios/chrome/browser/find_in_page/model",
"//ios/chrome/browser/find_in_page/model:util",
"//ios/chrome/browser/follow/model:tab_helper",
"//ios/chrome/browser/geolocation/model",
"//ios/chrome/browser/history/model",
"//ios/chrome/browser/history/model:tab_helper",
"//ios/chrome/browser/https_upgrades/model",
"//ios/chrome/browser/infobars/model",
"//ios/chrome/browser/infobars/model:badge",
"//ios/chrome/browser/infobars/model/overlays",
"//ios/chrome/browser/itunes_urls/model",
"//ios/chrome/browser/language/model",
"//ios/chrome/browser/lens/model",
"//ios/chrome/browser/lens_overlay/coordinator:lens_overlay_availability",
"//ios/chrome/browser/lens_overlay/model",
"//ios/chrome/browser/link_to_text/model",
"//ios/chrome/browser/main/model",
"//ios/chrome/browser/metrics/model",
"//ios/chrome/browser/ntp/model",
"//ios/chrome/browser/optimization_guide/model",
"//ios/chrome/browser/overlays/model",
"//ios/chrome/browser/overscroll_actions/model",
"//ios/chrome/browser/page_info:model",
"//ios/chrome/browser/passwords/model",
"//ios/chrome/browser/permissions/model:tab_helper",
"//ios/chrome/browser/policy_url_blocking/model",
"//ios/chrome/browser/prerender/model",
"//ios/chrome/browser/reading_list/model",
"//ios/chrome/browser/safe_browsing/model",
"//ios/chrome/browser/safe_browsing/model/tailored_security",
"//ios/chrome/browser/saved_tab_groups/model",
"//ios/chrome/browser/search_engines/model",
"//ios/chrome/browser/sessions/model",
"//ios/chrome/browser/sessions/model:session_restoration_service",
"//ios/chrome/browser/sessions/model:session_restoration_service_factory",
"//ios/chrome/browser/shared/coordinator/scene:scene_state_header",
"//ios/chrome/browser/shared/model/application_context",
"//ios/chrome/browser/shared/model/browser_state",
"//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/features",
"//ios/chrome/browser/sharing/model",
"//ios/chrome/browser/snapshots/model",
"//ios/chrome/browser/ssl/model",
"//ios/chrome/browser/store_kit/model",
"//ios/chrome/browser/supervised_user/model",
"//ios/chrome/browser/sync/model",
"//ios/chrome/browser/translate/model",
"//ios/chrome/browser/ui/page_info:features",
"//ios/chrome/browser/voice/model",
"//ios/chrome/browser/web/model",
"//ios/chrome/browser/web/model:page_placeholder",
"//ios/chrome/browser/web/model/annotations",
"//ios/chrome/browser/web/model/font_size",
"//ios/chrome/browser/web/model/image_fetch",
"//ios/chrome/browser/web/model/print",
"//ios/chrome/browser/web/model/web_performance_metrics",
"//ios/chrome/browser/web_selection/model",
"//ios/chrome/browser/webui/model",
"//ios/components/security_interstitials",
"//ios/components/security_interstitials/https_only_mode",
"//ios/components/security_interstitials/https_only_mode:feature",
"//ios/components/security_interstitials/lookalikes",
"//ios/components/security_interstitials/safe_browsing",
"//ios/public/provider/chrome/browser/text_zoom:text_zoom_api",
"//ios/web/annotations",
"//ios/web/common",
"//ios/web/public/find_in_page",
"//ios/web/public/security",
"//ios/web/public/session",
"//ios/web/public/session/proto",
"//ui/base",
]
frameworks = [
"Foundation.framework",
"UIKit.framework",
]
}
source_set("synced_tabs") {
sources = [
"ios_chrome_local_session_event_router.h",
"ios_chrome_local_session_event_router.mm",
"ios_chrome_synced_tab_delegate.h",
"ios_chrome_synced_tab_delegate.mm",
]
deps = [
":model",
"//base",
"//components/history/core/browser",
"//components/keyed_service/core",
"//components/sessions",
"//components/sessions:session_id",
"//components/sync/base:features",
"//components/sync/model",
"//components/sync_sessions",
"//ios/chrome/browser/complex_tasks/model",
"//ios/chrome/browser/history/model",
"//ios/chrome/browser/ntp/ui_bundled:feature_flags",
"//ios/chrome/browser/sessions/model",
"//ios/chrome/browser/shared/model/browser",
"//ios/chrome/browser/shared/model/browser_state",
"//ios/chrome/browser/shared/model/prefs:pref_names",
"//ios/chrome/browser/shared/model/profile",
"//ios/chrome/browser/shared/model/web_state_list",
"//ios/chrome/browser/signin/model",
"//ios/chrome/browser/sync/model/glue",
"//ios/web/public",
"//ios/web/public:web_state_observer",
"//ios/web/public/navigation",
]
}
source_set("unit_tests") {
testonly = true
sources = [
"ios_chrome_synced_tab_delegate_unittest.mm",
"tab_helper_delegate_installer_unittest.mm",
"tab_sync_util_unittest.mm",
"tab_title_util_unittest.mm",
"tabs_closer_unittest.mm",
]
deps = [
":model",
":synced_tabs",
":tab_sync_util",
":tabs_internal",
"//base",
"//base/test:test_support",
"//components/saved_tab_groups:fake_tab_group_sync_service",
"//components/saved_tab_groups:model",
"//components/saved_tab_groups:test_support",
"//components/strings",
"//components/sync_sessions:test_support",
"//components/tab_groups",
"//ios/chrome/browser/download/model",
"//ios/chrome/browser/ntp/ui_bundled:feature_flags",
"//ios/chrome/browser/saved_tab_groups/model",
"//ios/chrome/browser/sessions/model",
"//ios/chrome/browser/sessions/model:fake",
"//ios/chrome/browser/sessions/model:session_restoration_service_factory",
"//ios/chrome/browser/sessions/model:test_support",
"//ios/chrome/browser/shared/coordinator/scene:scene_state_header",
"//ios/chrome/browser/shared/model/application_context",
"//ios/chrome/browser/shared/model/browser",
"//ios/chrome/browser/shared/model/browser/test:test_support",
"//ios/chrome/browser/shared/model/browser_state:test_support",
"//ios/chrome/browser/shared/model/profile/test",
"//ios/chrome/browser/shared/model/web_state_list",
"//ios/chrome/browser/shared/model/web_state_list/test:test_support",
"//ios/chrome/browser/shared/public/features",
"//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:test_support",
"//ios/chrome/browser/synced_sessions/model",
"//ios/chrome/browser/synced_sessions/model:test_support",
"//ios/chrome/test:test_support",
"//ios/web/public/test",
"//ios/web/public/test/fakes",
"//testing/gtest",
"//third_party/ocmock",
"//ui/base",
]
}
source_set("tab_sync_util") {
sources = [
"tab_sync_util.h",
"tab_sync_util.mm",
]
deps = [
"//base",
"//ios/chrome/browser/synced_sessions/model",
]
}