| # 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("ui_bundled") { |
| sources = [ |
| "discover_feed_preview_delegate.h", |
| "feed_control_delegate.h", |
| "feed_sign_in_promo_delegate.h", |
| "home_start_data_source.h", |
| "new_tab_page_actions_delegate.h", |
| "new_tab_page_configuring.h", |
| "new_tab_page_content_delegate.h", |
| "new_tab_page_controller_delegate.h", |
| "new_tab_page_delegate.h", |
| "new_tab_page_url_loader_delegate.h", |
| ] |
| public_deps = [ |
| ":constants", |
| ":feature_flags", |
| ] |
| } |
| |
| source_set("theme") { |
| sources = [ |
| "new_tab_page_color_palette.h", |
| "new_tab_page_color_palette.mm", |
| "new_tab_page_color_palette_util.h", |
| "new_tab_page_color_palette_util.mm", |
| "new_tab_page_color_updating.h", |
| "new_tab_page_image_background_trait.h", |
| "new_tab_page_image_background_trait.mm", |
| "new_tab_page_trait.h", |
| "new_tab_page_trait.mm", |
| "theme_utils.h", |
| "theme_utils.mm", |
| ] |
| deps = [ |
| "//base", |
| "//components/sync/protocol", |
| "//ios/chrome/browser/shared/ui/util", |
| "//skia", |
| "//skia:skia_core_public_headers", |
| "//third_party/material_color_utilities", |
| "//ui/color:color_provider_key", |
| "//ui/color/dynamic_color", |
| ] |
| } |
| |
| source_set("logo") { |
| sources = [ "logo_animation_controller.h" ] |
| frameworks = [ "UIKit.framework" ] |
| } |
| |
| source_set("constants") { |
| sources = [ |
| "discover_feed_constants.h", |
| "discover_feed_constants.mm", |
| "new_tab_page_constants.h", |
| "new_tab_page_constants.mm", |
| "new_tab_page_header_constants.h", |
| "new_tab_page_header_constants.mm", |
| ] |
| public_deps = [ "//ios/chrome/browser/discover_feed/model:constants" ] |
| } |
| |
| source_set("component_factory_protocol") { |
| sources = [ "new_tab_page_component_factory_protocol.h" ] |
| } |
| |
| source_set("component_factory") { |
| sources = [ |
| "new_tab_page_component_factory.h", |
| "new_tab_page_component_factory.mm", |
| ] |
| deps = [ |
| ":component_factory_protocol", |
| ":constants", |
| ":ntp_internal", |
| "//components/feature_engagement/public", |
| "//components/feature_engagement/public:feature_constants", |
| "//components/prefs", |
| "//components/regional_capabilities", |
| "//ios/chrome/app/profile", |
| "//ios/chrome/browser/browser_view/model", |
| "//ios/chrome/browser/content_suggestions/ui_bundled:coordinator", |
| "//ios/chrome/browser/content_suggestions/ui_bundled:ui", |
| "//ios/chrome/browser/discover_feed/model", |
| "//ios/chrome/browser/discover_feed/model:discover_feed_factory", |
| "//ios/chrome/browser/discover_feed/model:discover_feed_visibility_browser_agent", |
| "//ios/chrome/browser/feature_engagement/model", |
| "//ios/chrome/browser/home_customization/model", |
| "//ios/chrome/browser/image_fetcher/model", |
| "//ios/chrome/browser/ntp/shared/metrics", |
| "//ios/chrome/browser/ntp/shared/metrics:constants", |
| "//ios/chrome/browser/regional_capabilities/model", |
| "//ios/chrome/browser/search_engines/model:template_url_service_factory", |
| "//ios/chrome/browser/shared/model/application_context", |
| "//ios/chrome/browser/shared/model/browser", |
| "//ios/chrome/browser/shared/model/prefs:pref_names", |
| "//ios/chrome/browser/shared/model/profile", |
| "//ios/chrome/browser/signin/model", |
| "//ios/chrome/browser/signin/model:authentication_service", |
| "//ios/chrome/browser/signin/model:authentication_service_factory", |
| "//ios/chrome/browser/sync/model", |
| "//ios/chrome/browser/url_loading/model", |
| ] |
| } |
| |
| source_set("coordinator") { |
| sources = [ |
| "new_tab_page_coordinator+Testing.h", |
| "new_tab_page_coordinator.h", |
| "new_tab_page_coordinator.mm", |
| ] |
| deps = [ |
| ":component_factory_protocol", |
| ":constants", |
| ":feature_flags", |
| ":ntp_internal", |
| ":theme", |
| ":ui_bundled", |
| "//base", |
| "//components/feature_engagement/public", |
| "//components/feed/core/v2/public:common", |
| "//components/feed/core/v2/public/ios:feed_ios_public", |
| "//components/image_fetcher/ios", |
| "//components/ntp_tiles:pref_names", |
| "//components/omnibox/browser:aim_eligibility_service_features", |
| "//components/omnibox/common", |
| "//components/policy:policy_code_generate", |
| "//components/pref_registry", |
| "//components/prefs", |
| "//components/prefs/ios", |
| "//components/safety_check:pref_names", |
| "//components/search", |
| "//components/search_engines", |
| "//components/signin/public/base", |
| "//components/signin/public/identity_manager/objc", |
| "//components/supervised_user/core/common:features", |
| "//ios/chrome/app/profile", |
| "//ios/chrome/app/strings", |
| "//ios/chrome/browser/authentication/account_menu/coordinator", |
| "//ios/chrome/browser/authentication/account_menu/public", |
| "//ios/chrome/browser/authentication/ui_bundled:continuation", |
| "//ios/chrome/browser/authentication/ui_bundled/enterprise:enterprise_utils", |
| "//ios/chrome/browser/authentication/ui_bundled/signin:signin_headers", |
| "//ios/chrome/browser/bubble/ui_bundled", |
| "//ios/chrome/browser/composebox/coordinator", |
| "//ios/chrome/browser/content_suggestions/ui_bundled:coordinator", |
| "//ios/chrome/browser/content_suggestions/ui_bundled:public", |
| "//ios/chrome/browser/content_suggestions/ui_bundled:ui", |
| "//ios/chrome/browser/content_suggestions/ui_bundled:ui_util", |
| "//ios/chrome/browser/content_suggestions/ui_bundled/cells:constants", |
| "//ios/chrome/browser/context_menu/ui_bundled/link_preview", |
| "//ios/chrome/browser/discover_feed/model", |
| "//ios/chrome/browser/discover_feed/model:constants", |
| "//ios/chrome/browser/discover_feed/model:discover_feed_factory", |
| "//ios/chrome/browser/feature_engagement/model", |
| "//ios/chrome/browser/google/model:google_logo", |
| "//ios/chrome/browser/home_customization/coordinator", |
| "//ios/chrome/browser/home_customization/model", |
| "//ios/chrome/browser/home_customization/utils", |
| "//ios/chrome/browser/lens/ui_bundled:lens_entrypoint", |
| "//ios/chrome/browser/ntp/model", |
| "//ios/chrome/browser/ntp/model:util", |
| "//ios/chrome/browser/ntp/search_engine_logo/mediator", |
| "//ios/chrome/browser/ntp/shared/metrics", |
| "//ios/chrome/browser/ntp/shared/metrics:constants", |
| "//ios/chrome/browser/ntp/shared/metrics:home_metrics", |
| "//ios/chrome/browser/ntp/ui_bundled:utils", |
| "//ios/chrome/browser/ntp/ui_bundled/feed_top_section", |
| "//ios/chrome/browser/ntp/ui_bundled/incognito", |
| "//ios/chrome/browser/omnibox/model/placeholder_service", |
| "//ios/chrome/browser/overscroll_actions/ui_bundled", |
| "//ios/chrome/browser/policy/model:policy_util", |
| "//ios/chrome/browser/search_engines/model:template_url_service_factory", |
| "//ios/chrome/browser/shared/coordinator/chrome_coordinator", |
| "//ios/chrome/browser/shared/coordinator/layout_guide", |
| "//ios/chrome/browser/shared/coordinator/scene:scene_state_header", |
| "//ios/chrome/browser/shared/coordinator/scene:scene_state_observer", |
| "//ios/chrome/browser/shared/model/application_context", |
| "//ios/chrome/browser/shared/model/browser", |
| "//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/profile:features", |
| "//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/snackbar", |
| "//ios/chrome/browser/shared/ui/util", |
| "//ios/chrome/browser/shared/ui/util:util_swift", |
| "//ios/chrome/browser/sharing/ui_bundled", |
| "//ios/chrome/browser/signin/model", |
| "//ios/chrome/browser/signin/model:authentication_service", |
| "//ios/chrome/browser/signin/model:authentication_service_factory", |
| "//ios/chrome/browser/signin/model:capabilities_types", |
| "//ios/chrome/browser/signin/model:system_identity_manager", |
| "//ios/chrome/browser/supervised_user/model:capabilities", |
| "//ios/chrome/browser/sync/model", |
| "//ios/chrome/browser/tab_switcher/tab_grid/base_grid/coordinator:scene_agent", |
| "//ios/chrome/browser/toolbar/ui_bundled/public", |
| "//ios/chrome/browser/toolbar/ui_bundled/tab_groups/coordinator", |
| "//ios/chrome/browser/url_loading/model", |
| "//ios/chrome/browser/web/model", |
| "//ios/chrome/common:string_conversions", |
| "//ios/chrome/common:timing", |
| "//ios/chrome/common/ui/util", |
| "//ios/web/public", |
| "//ios/web/public/navigation", |
| "//ui/base", |
| "//ui/gfx/ios:uikit_util", |
| ] |
| } |
| |
| source_set("ntp_internal") { |
| sources = [ |
| "feed_header_view_controller.h", |
| "feed_header_view_controller.mm", |
| "feed_wrapper_view_controller.h", |
| "feed_wrapper_view_controller.mm", |
| "new_tab_page_consumer.h", |
| "new_tab_page_header_commands.h", |
| "new_tab_page_header_consumer.h", |
| "new_tab_page_header_view.h", |
| "new_tab_page_header_view.mm", |
| "new_tab_page_header_view_controller+Testing.h", |
| "new_tab_page_header_view_controller.h", |
| "new_tab_page_header_view_controller.mm", |
| "new_tab_page_header_view_controller_delegate.h", |
| "new_tab_page_mediator.h", |
| "new_tab_page_mediator.mm", |
| "new_tab_page_mutator.h", |
| "new_tab_page_quick_actions_view_controller.h", |
| "new_tab_page_quick_actions_view_controller.mm", |
| "new_tab_page_shortcuts_handler.h", |
| "new_tab_page_view_controller.h", |
| "new_tab_page_view_controller.mm", |
| ] |
| deps = [ |
| ":constants", |
| ":feature_flags", |
| ":theme", |
| ":ui_bundled", |
| ":utils", |
| "//base", |
| "//components/feature_engagement/public", |
| "//components/image_fetcher/core", |
| "//components/ntp_tiles:pref_names", |
| "//components/prefs", |
| "//components/prefs/ios", |
| "//components/regional_capabilities", |
| "//components/search", |
| "//components/signin/public/base", |
| "//components/signin/public/identity_manager/objc", |
| "//components/strings", |
| "//ios/chrome/app/strings", |
| "//ios/chrome/browser/aim/model:aim_availability", |
| "//ios/chrome/browser/alert_view/ui_bundled", |
| "//ios/chrome/browser/browser_view/model", |
| "//ios/chrome/browser/bubble/ui_bundled", |
| "//ios/chrome/browser/content_suggestions/ui_bundled:content_suggestions_constant", |
| "//ios/chrome/browser/content_suggestions/ui_bundled:coordinator", |
| "//ios/chrome/browser/content_suggestions/ui_bundled:metrics", |
| "//ios/chrome/browser/content_suggestions/ui_bundled:public", |
| "//ios/chrome/browser/content_suggestions/ui_bundled:ui", |
| "//ios/chrome/browser/content_suggestions/ui_bundled:ui_util", |
| "//ios/chrome/browser/content_suggestions/ui_bundled/cells", |
| "//ios/chrome/browser/content_suggestions/ui_bundled/cells:constants", |
| "//ios/chrome/browser/content_suggestions/ui_bundled/magic_stack", |
| "//ios/chrome/browser/content_suggestions/ui_bundled/magic_stack:constants", |
| "//ios/chrome/browser/discover_feed/model", |
| "//ios/chrome/browser/discover_feed/model:constants", |
| "//ios/chrome/browser/discover_feed/model:discover_feed_factory", |
| "//ios/chrome/browser/discover_feed/model:discover_feed_visibility_browser_agent", |
| "//ios/chrome/browser/home_customization/coordinator", |
| "//ios/chrome/browser/home_customization/model", |
| "//ios/chrome/browser/home_customization/ui", |
| "//ios/chrome/browser/home_customization/utils", |
| "//ios/chrome/browser/lens/ui_bundled:lens_availability", |
| "//ios/chrome/browser/lens/ui_bundled:lens_entrypoint", |
| "//ios/chrome/browser/location_bar/ui_bundled:fakebox_buttons_snapshot", |
| "//ios/chrome/browser/metrics/model:metrics_internal", |
| "//ios/chrome/browser/ntp/model", |
| "//ios/chrome/browser/ntp/search_engine_logo/mediator", |
| "//ios/chrome/browser/ntp/search_engine_logo/ui", |
| "//ios/chrome/browser/ntp/shared/metrics", |
| "//ios/chrome/browser/ntp/shared/metrics:constants", |
| "//ios/chrome/browser/ntp/shared/metrics:home_metrics", |
| "//ios/chrome/browser/ntp/ui_bundled/resources", |
| "//ios/chrome/browser/ntp/ui_bundled/resources:animation_files", |
| "//ios/chrome/browser/omnibox/model/placeholder_service", |
| "//ios/chrome/browser/omnibox/public", |
| "//ios/chrome/browser/omnibox/public:features", |
| "//ios/chrome/browser/omnibox/ui:omnibox_internal", |
| "//ios/chrome/browser/omnibox/ui:omnibox_popup_shared", |
| "//ios/chrome/browser/overscroll_actions/ui_bundled", |
| "//ios/chrome/browser/policy/model:policy_util", |
| "//ios/chrome/browser/push_notification/ui_bundled:prominence_notification_setting_alert", |
| "//ios/chrome/browser/regional_capabilities/model", |
| "//ios/chrome/browser/search_engines/model", |
| "//ios/chrome/browser/shared/model/application_context", |
| "//ios/chrome/browser/shared/model/prefs:pref_names", |
| "//ios/chrome/browser/shared/model/profile:features", |
| "//ios/chrome/browser/shared/model/url:constants", |
| "//ios/chrome/browser/shared/model/utils", |
| "//ios/chrome/browser/shared/model/web_state_list", |
| "//ios/chrome/browser/shared/public/commands", |
| "//ios/chrome/browser/shared/public/features", |
| "//ios/chrome/browser/shared/ui/elements", |
| "//ios/chrome/browser/shared/ui/symbols", |
| "//ios/chrome/browser/shared/ui/util", |
| "//ios/chrome/browser/shared/ui/util:util_swift", |
| "//ios/chrome/browser/signin/model", |
| "//ios/chrome/browser/signin/model:authentication_service", |
| "//ios/chrome/browser/start_surface/ui_bundled:feature_flags", |
| "//ios/chrome/browser/sync/model", |
| "//ios/chrome/browser/toolbar/ui_bundled/buttons", |
| "//ios/chrome/browser/toolbar/ui_bundled/public", |
| "//ios/chrome/browser/toolbar/ui_bundled/public:constants", |
| "//ios/chrome/browser/toolbar/ui_bundled/tab_groups/ui", |
| "//ios/chrome/browser/toolbar/ui_bundled/tab_groups/ui:constants", |
| "//ios/chrome/browser/url_loading/model", |
| "//ios/chrome/common:string_conversions", |
| "//ios/chrome/common:timing", |
| "//ios/chrome/common/ui/colors", |
| "//ios/chrome/common/ui/elements", |
| "//ios/chrome/common/ui/favicon", |
| "//ios/chrome/common/ui/util", |
| "//ios/public/provider/chrome/browser/lens:lens_api", |
| "//ios/public/provider/chrome/browser/lottie:lottie_animation_api", |
| "//ios/public/provider/chrome/browser/voice_search:voice_search_api", |
| "//ios/web/public", |
| "//ios/web/public/navigation", |
| "//ui/base", |
| "//ui/gfx/ios:uikit_util", |
| "//url", |
| ] |
| frameworks = [ |
| "CoreGraphics.framework", |
| "QuartzCore.framework", |
| "UIKit.framework", |
| ] |
| } |
| |
| source_set("unit_tests") { |
| testonly = true |
| sources = [ |
| "new_tab_page_coordinator_unittest.mm", |
| "new_tab_page_header_view_controller_unittest.mm", |
| "new_tab_page_mediator_unittest.mm", |
| "new_tab_page_trait_unittest.mm", |
| ] |
| deps = [ |
| ":component_factory", |
| ":coordinator", |
| ":feature_flags", |
| ":ntp_internal", |
| ":theme", |
| ":ui_bundled", |
| "//base", |
| "//base/test:test_support", |
| "//components/commerce/core:shopping_service_test_support", |
| "//components/feature_engagement/public", |
| "//components/feature_engagement/test:test_support", |
| "//components/feed/core/v2/public:common", |
| "//components/feed/core/v2/public/ios:feed_ios_public", |
| "//components/ntp_tiles", |
| "//components/prefs", |
| "//components/regional_capabilities", |
| "//components/search_engines", |
| "//components/signin/public/identity_manager", |
| "//ios/chrome/app/strings", |
| "//ios/chrome/browser/bookmarks/model", |
| "//ios/chrome/browser/browser_view/model", |
| "//ios/chrome/browser/browser_view/model:audience", |
| "//ios/chrome/browser/commerce/model:shopping_service", |
| "//ios/chrome/browser/content_suggestions/ui_bundled:content_suggestions_constant", |
| "//ios/chrome/browser/content_suggestions/ui_bundled:coordinator", |
| "//ios/chrome/browser/content_suggestions/ui_bundled:ui", |
| "//ios/chrome/browser/content_suggestions/ui_bundled/cells", |
| "//ios/chrome/browser/content_suggestions/ui_bundled/cells:shortcuts", |
| "//ios/chrome/browser/discover_feed/model", |
| "//ios/chrome/browser/discover_feed/model:discover_feed_factory", |
| "//ios/chrome/browser/discover_feed/model:discover_feed_visibility_browser_agent", |
| "//ios/chrome/browser/favicon/model", |
| "//ios/chrome/browser/feature_engagement/model", |
| "//ios/chrome/browser/home_customization/model", |
| "//ios/chrome/browser/image_fetcher/model", |
| "//ios/chrome/browser/ntp/model", |
| "//ios/chrome/browser/ntp/search_engine_logo/ui", |
| "//ios/chrome/browser/ntp/shared/metrics", |
| "//ios/chrome/browser/ntp/shared/metrics:constants", |
| "//ios/chrome/browser/ntp/shared/metrics:home_metrics", |
| "//ios/chrome/browser/ntp/ui_bundled/incognito", |
| "//ios/chrome/browser/regional_capabilities/model", |
| "//ios/chrome/browser/safety_check/model:factory", |
| "//ios/chrome/browser/search_engines/model:template_url_service_factory", |
| "//ios/chrome/browser/segmentation_platform/model", |
| "//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/prefs:pref_names", |
| "//ios/chrome/browser/shared/model/profile/test", |
| "//ios/chrome/browser/shared/model/url:constants", |
| "//ios/chrome/browser/shared/model/utils:test_support", |
| "//ios/chrome/browser/shared/model/web_state_list", |
| "//ios/chrome/browser/shared/public/commands", |
| "//ios/chrome/browser/shared/public/features", |
| "//ios/chrome/browser/signin/model", |
| "//ios/chrome/browser/signin/model:authentication_service", |
| "//ios/chrome/browser/signin/model:authentication_service_factory", |
| "//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/start_surface/ui_bundled", |
| "//ios/chrome/browser/tips_manager/model:factory", |
| "//ios/chrome/browser/toolbar/ui_bundled/public", |
| "//ios/chrome/browser/toolbar/ui_bundled/test", |
| "//ios/chrome/browser/url_loading/model", |
| "//ios/chrome/browser/url_loading/model:test_support", |
| "//ios/chrome/test:test_support", |
| "//ios/chrome/test/fakes", |
| "//ios/chrome/test/providers/discover_feed", |
| "//ios/testing:block_swizzler", |
| "//ios/web/public/test", |
| "//ios/web/public/test/fakes", |
| "//testing/gtest", |
| "//third_party/ocmock", |
| "//ui/base:test_support", |
| "//ui/strings", |
| ] |
| } |
| |
| source_set("eg2_tests") { |
| configs += [ "//build/config/ios:xctest_config" ] |
| testonly = true |
| sources = [ "new_tab_page_egtest.mm" ] |
| deps = [ |
| "//base/test:test_support", |
| "//components/omnibox/browser:aim_eligibility_service_features", |
| "//components/policy:generated", |
| "//components/policy/core/common:test_support", |
| "//components/signin/public/base:signin_switches", |
| "//components/strings", |
| "//ios/chrome/app/strings", |
| "//ios/chrome/browser/authentication/account_menu/public", |
| "//ios/chrome/browser/authentication/test:eg_test_support+eg2", |
| "//ios/chrome/browser/authentication/ui_bundled/signin:constants", |
| "//ios/chrome/browser/content_suggestions/ui_bundled:content_suggestions_constant", |
| "//ios/chrome/browser/flags:system_flags", |
| "//ios/chrome/browser/metrics/model:eg_test_support+eg2", |
| "//ios/chrome/browser/ntp/ui_bundled:constants", |
| "//ios/chrome/browser/ntp/ui_bundled:feature_flags", |
| "//ios/chrome/browser/policy/model:eg_test_support+eg2", |
| "//ios/chrome/browser/popup_menu/ui_bundled:constants", |
| "//ios/chrome/browser/settings/ui_bundled/google_services:constants", |
| "//ios/chrome/browser/shared/model/url:constants", |
| "//ios/chrome/browser/shared/public/features", |
| "//ios/chrome/browser/shared/public/features:system_flags", |
| "//ios/chrome/browser/signin/model:fake_system_identity", |
| "//ios/chrome/browser/signin/model:test_constants", |
| "//ios/chrome/test/earl_grey:eg_test_support+eg2", |
| "//ios/testing/earl_grey:eg_test_support+eg2", |
| "//net:test_support", |
| "//ui/base", |
| ] |
| frameworks = [ "UIKit.framework" ] |
| } |
| |
| source_set("feature_flags") { |
| sources = [ |
| "new_tab_page_feature.h", |
| "new_tab_page_feature.mm", |
| ] |
| deps = [ |
| "//components/prefs", |
| "//components/variations/service", |
| "//ios/chrome/browser/authentication/ui_bundled/cells:constants", |
| "//ios/chrome/browser/shared/model/application_context", |
| "//ios/chrome/browser/shared/model/prefs:pref_names", |
| "//ios/chrome/browser/shared/public/features", |
| "//ui/base", |
| ] |
| public_deps = [ "//base" ] |
| } |
| |
| source_set("utils") { |
| sources = [ |
| "new_tab_page_utils.h", |
| "new_tab_page_utils.mm", |
| ] |
| deps = [ |
| ":feature_flags", |
| ":theme", |
| "//components/search_engines", |
| "//ios/chrome/browser/first_run/ui_bundled:utils", |
| "//ios/chrome/common/ui/colors", |
| "//third_party/omnibox_proto", |
| ] |
| public_deps = [ "//base" ] |
| } |