|  | # 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("tabs") { | 
|  | 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", | 
|  | ] | 
|  | public_deps = [ "//ios/web" ] | 
|  | deps = [ | 
|  | "//components/sessions", | 
|  | "//components/sync_sessions", | 
|  | "//ios/chrome/browser/sessions:serialisation", | 
|  | "//ios/chrome/browser/sessions:session_service", | 
|  | "//ios/chrome/browser/shared/model/browser", | 
|  | "//ios/chrome/browser/shared/model/web_state_list", | 
|  | "//ui/base", | 
|  | ] | 
|  | frameworks = [ "UIKit.framework" ] | 
|  | configs += [ "//build/config/compiler:enable_arc" ] | 
|  | } | 
|  |  | 
|  | 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", | 
|  | ] | 
|  | deps = [ | 
|  | ":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/safe_browsing/core/common", | 
|  | "//components/safe_browsing/ios/browser:allow_list", | 
|  | "//components/security_state/ios", | 
|  | "//components/strings", | 
|  | "//components/supervised_user/core/common", | 
|  | "//ios/chrome/browser/app_launcher", | 
|  | "//ios/chrome/browser/autofill", | 
|  | "//ios/chrome/browser/autofill:autofill_internal", | 
|  | "//ios/chrome/browser/autofill/bottom_sheet", | 
|  | "//ios/chrome/browser/commerce", | 
|  | "//ios/chrome/browser/commerce:shopping_service", | 
|  | "//ios/chrome/browser/commerce/price_notifications", | 
|  | "//ios/chrome/browser/commerce/push_notification", | 
|  | "//ios/chrome/browser/complex_tasks", | 
|  | "//ios/chrome/browser/crash_report/breadcrumbs", | 
|  | "//ios/chrome/browser/download", | 
|  | "//ios/chrome/browser/favicon", | 
|  | "//ios/chrome/browser/find_in_page", | 
|  | "//ios/chrome/browser/follow:tab_helper", | 
|  | "//ios/chrome/browser/geolocation", | 
|  | "//ios/chrome/browser/history", | 
|  | "//ios/chrome/browser/history:tab_helper", | 
|  | "//ios/chrome/browser/https_upgrades", | 
|  | "//ios/chrome/browser/infobars", | 
|  | "//ios/chrome/browser/infobars:badge", | 
|  | "//ios/chrome/browser/infobars/overlays", | 
|  | "//ios/chrome/browser/itunes_urls", | 
|  | "//ios/chrome/browser/language", | 
|  | "//ios/chrome/browser/link_to_text", | 
|  | "//ios/chrome/browser/main", | 
|  | "//ios/chrome/browser/metrics", | 
|  | "//ios/chrome/browser/ntp", | 
|  | "//ios/chrome/browser/ntp:features", | 
|  | "//ios/chrome/browser/optimization_guide", | 
|  | "//ios/chrome/browser/overscroll_actions", | 
|  | "//ios/chrome/browser/passwords", | 
|  | "//ios/chrome/browser/permissions:tab_helper", | 
|  | "//ios/chrome/browser/policy_url_blocking", | 
|  | "//ios/chrome/browser/prerender", | 
|  | "//ios/chrome/browser/reading_list", | 
|  | "//ios/chrome/browser/safe_browsing", | 
|  | "//ios/chrome/browser/safe_browsing/tailored_security", | 
|  | "//ios/chrome/browser/search_engines", | 
|  | "//ios/chrome/browser/sessions", | 
|  | "//ios/chrome/browser/sessions:restoration_agent", | 
|  | "//ios/chrome/browser/shared/model/application_context", | 
|  | "//ios/chrome/browser/shared/model/browser_state", | 
|  | "//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", | 
|  | "//ios/chrome/browser/snapshots", | 
|  | "//ios/chrome/browser/ssl", | 
|  | "//ios/chrome/browser/store_kit", | 
|  | "//ios/chrome/browser/supervised_user", | 
|  | "//ios/chrome/browser/sync", | 
|  | "//ios/chrome/browser/translate", | 
|  | "//ios/chrome/browser/ui/download:features", | 
|  | "//ios/chrome/browser/voice", | 
|  | "//ios/chrome/browser/web", | 
|  | "//ios/chrome/browser/web:delegate", | 
|  | "//ios/chrome/browser/web:feature_flags", | 
|  | "//ios/chrome/browser/web:page_placeholder", | 
|  | "//ios/chrome/browser/web/annotations", | 
|  | "//ios/chrome/browser/web/font_size", | 
|  | "//ios/chrome/browser/web/image_fetch", | 
|  | "//ios/chrome/browser/web/print", | 
|  | "//ios/chrome/browser/web/session_state", | 
|  | "//ios/chrome/browser/web/web_performance_metrics", | 
|  | "//ios/chrome/browser/web_selection", | 
|  | "//ios/chrome/browser/web_state_list/web_usage_enabler", | 
|  | "//ios/chrome/browser/webui", | 
|  | "//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/find_in_page:find_in_page_api", | 
|  | "//ios/public/provider/chrome/browser/text_zoom:text_zoom_api", | 
|  | "//ios/web/annotations", | 
|  | "//ios/web/common", | 
|  | "//ios/web/common:features", | 
|  | "//ios/web/public/security", | 
|  | "//ios/web/public/session", | 
|  | "//ui/base", | 
|  | ] | 
|  | frameworks = [ | 
|  | "Foundation.framework", | 
|  | "UIKit.framework", | 
|  | ] | 
|  | configs += [ "//build/config/compiler:enable_arc" ] | 
|  | } | 
|  |  | 
|  | source_set("unit_tests") { | 
|  | testonly = true | 
|  | sources = [ | 
|  | "tab_helper_delegate_installer_unittest.mm", | 
|  | "tab_title_util_unittest.mm", | 
|  | ] | 
|  | deps = [ | 
|  | ":tabs", | 
|  | ":tabs_internal", | 
|  | "//base", | 
|  | "//base/test:test_support", | 
|  | "//components/strings", | 
|  | "//ios/chrome/browser/download", | 
|  | "//ios/chrome/browser/main", | 
|  | "//ios/chrome/browser/sessions", | 
|  | "//ios/chrome/browser/sessions:restoration_agent", | 
|  | "//ios/chrome/browser/sessions:serialisation", | 
|  | "//ios/chrome/browser/sessions: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/web_state_list", | 
|  | "//ios/chrome/browser/web", | 
|  | "//ios/chrome/browser/web_state_list:agents", | 
|  | "//ios/chrome/browser/web_state_list/web_usage_enabler", | 
|  | "//ios/chrome/test:test_support", | 
|  | "//ios/web/public/test", | 
|  | "//ios/web/public/test/fakes", | 
|  | "//ios/web/test/fakes:fakes", | 
|  | "//testing/gtest", | 
|  | "//ui/base", | 
|  | ] | 
|  | configs += [ "//build/config/compiler:enable_arc" ] | 
|  | } | 
|  |  | 
|  | source_set("features") { | 
|  | configs += [ "//build/config/compiler:enable_arc" ] | 
|  | sources = [ | 
|  | "features.h", | 
|  | "features.mm", | 
|  | ] | 
|  | public_deps = [ "//base" ] | 
|  | deps = [ "//ui/base" ] | 
|  | } |