Upstream Chrome on iOS source code [11/11].
Upstream all BUILD.gn changes to enable compilation of the code
that has been upstreamed by the previous ten CLs and changes to
browser_state_keyed_service_factories.mm to use the new factory.
Update the default provider factory to use chromium provider (it
will be merged with ChromeBrowserProvider eventually).
BUG=653086
[email protected], [email protected]
Committed: https://chromium.googlesource.com/chromium/src/+/1e23576749d95a02d22b2ff4277eaf132dce4831
Review-Url: https://codereview.chromium.org/2589843002
Cr-Commit-Position: refs/heads/master@{#439601}
diff --git a/ios/BUILD.gn b/ios/BUILD.gn
index bed47ee..feff75c 100644
--- a/ios/BUILD.gn
+++ b/ios/BUILD.gn
@@ -27,6 +27,8 @@
} else {
deps = [
# List all the targets that need to be build on iOS by default.
+ "//ios/chrome/app:chrome",
+ "//ios/chrome/app:chrome_clean_skeleton",
"//ios/web/shell:ios_web_shell",
# List all the test targets that need to be build on iOS by default.
diff --git a/ios/chrome/app/BUILD.gn b/ios/chrome/app/BUILD.gn
index 8f522fc..c94edae 100644
--- a/ios/chrome/app/BUILD.gn
+++ b/ios/chrome/app/BUILD.gn
@@ -3,6 +3,7 @@
# found in the LICENSE file.
import("//build/config/ios/rules.gni")
+import("//build/config/mac/base_rules.gni")
import("//build/mac/tweak_info_plist.gni")
import("//ios/build/chrome_build.gni")
import("//ios/public/provider/chrome/browser/build_config.gni")
@@ -29,14 +30,28 @@
source_set("unit_tests") {
testonly = true
sources = [
+ "chrome_app_startup_parameters_unittest.mm",
+ "chrome_overlay_window_testing.h",
"deferred_initialization_runner_unittest.mm",
+ "main_application_delegate_unittest.mm",
+ "main_controller_unittest.mm",
"safe_mode_util_unittest.cc",
]
deps = [
":app",
+ ":app_internal",
"//base",
"//base/test:test_support",
+ "//ios/chrome/app/application_delegate:application_delegate_internal",
+ "//ios/chrome/browser",
+ "//ios/chrome/browser/tabs",
+ "//ios/chrome/common/app_group",
+ "//ios/chrome/test/base",
+ "//ios/public/provider/chrome/browser",
+ "//ios/public/provider/chrome/browser/distribution",
"//testing/gtest",
+ "//third_party/ocmock",
+ "//url",
]
}
@@ -96,3 +111,297 @@
substitutions = [ "IOS_BUNDLE_ID_PREFIX=$ios_app_bundle_id_prefix" ]
output_name = "$target_gen_dir/$chromium_short_name.entitlements"
}
+
+source_set("app_internal") {
+ sources = [
+ "application_mode.h",
+ "chrome_app_startup_parameters.h",
+ "chrome_app_startup_parameters.mm",
+ "chrome_overlay_window.h",
+ "chrome_overlay_window.mm",
+ "main_application_delegate.h",
+ "main_application_delegate.mm",
+ "main_application_delegate_testing.h",
+ "main_controller.h",
+ "main_controller.mm",
+ "main_controller_private.h",
+ "memory_monitor.h",
+ "memory_monitor.mm",
+ "startup_tasks.h",
+ "startup_tasks.mm",
+ ]
+
+ deps = [
+ "//base",
+ "//components/bookmarks/browser",
+ "//components/browser_sync",
+ "//components/browsing_data/core",
+ "//components/component_updater",
+ "//components/content_settings/core/browser",
+ "//components/crash/core/common",
+ "//components/favicon/core",
+ "//components/favicon_base",
+ "//components/handoff",
+ "//components/history/core/browser",
+ "//components/infobars/core",
+ "//components/keyed_service/core",
+ "//components/keyed_service/ios",
+ "//components/metrics",
+ "//components/prefs",
+ "//components/proxy_config",
+ "//components/reading_list/core",
+ "//components/signin/core/browser",
+ "//components/suggestions",
+ "//components/sync",
+ "//components/url_formatter",
+ "//components/web_resource",
+ "//ios/chrome/app",
+ "//ios/chrome/app:tests_hook",
+ "//ios/chrome/app/application_delegate",
+ "//ios/chrome/app/application_delegate:application_delegate_internal",
+ "//ios/chrome/app/safe_mode",
+ "//ios/chrome/app/spotlight",
+ "//ios/chrome/app/startup",
+ "//ios/chrome/app/strings",
+ "//ios/chrome/browser",
+ "//ios/chrome/browser:browser_internal",
+ "//ios/chrome/browser/bookmarks",
+ "//ios/chrome/browser/browser_state",
+ "//ios/chrome/browser/browser_state:browser_state_impl",
+ "//ios/chrome/browser/browsing_data",
+ "//ios/chrome/browser/browsing_data:browsing_data_internal",
+ "//ios/chrome/browser/content_settings",
+ "//ios/chrome/browser/crash_report",
+ "//ios/chrome/browser/crash_report:crash_report_internal",
+ "//ios/chrome/browser/favicon",
+ "//ios/chrome/browser/first_run",
+ "//ios/chrome/browser/geolocation",
+ "//ios/chrome/browser/geolocation:geolocation_internal",
+ "//ios/chrome/browser/history",
+ "//ios/chrome/browser/memory",
+ "//ios/chrome/browser/metrics",
+ "//ios/chrome/browser/metrics:metrics_internal",
+ "//ios/chrome/browser/native_app_launcher:native_app_launcher_internal",
+ "//ios/chrome/browser/net",
+ "//ios/chrome/browser/omaha",
+ "//ios/chrome/browser/prefs",
+ "//ios/chrome/browser/reading_list",
+ "//ios/chrome/browser/search_engines",
+ "//ios/chrome/browser/share_extension",
+ "//ios/chrome/browser/signin",
+ "//ios/chrome/browser/snapshots",
+ "//ios/chrome/browser/suggestions",
+ "//ios/chrome/browser/sync",
+ "//ios/chrome/browser/tabs",
+ "//ios/chrome/browser/ui",
+ "//ios/chrome/browser/ui:ui_internal",
+ "//ios/chrome/browser/ui/authentication",
+ "//ios/chrome/browser/ui/commands",
+ "//ios/chrome/browser/ui/contextual_search",
+ "//ios/chrome/browser/ui/downloads",
+ "//ios/chrome/browser/ui/first_run",
+ "//ios/chrome/browser/ui/history",
+ "//ios/chrome/browser/ui/main",
+ "//ios/chrome/browser/ui/promos",
+ "//ios/chrome/browser/ui/settings",
+ "//ios/chrome/browser/ui/stack_view",
+ "//ios/chrome/browser/ui/tab_switcher",
+ "//ios/chrome/browser/ui/tabs",
+ "//ios/chrome/browser/ui/util",
+ "//ios/chrome/browser/ui/webui:webui_internal",
+ "//ios/chrome/browser/upgrade",
+ "//ios/chrome/browser/variations:ios_chrome_ui_string_overrider_factory",
+ "//ios/chrome/browser/voice",
+ "//ios/chrome/browser/web:web_internal",
+ "//ios/chrome/common",
+ "//ios/chrome/common/app_group",
+ "//ios/chrome/common/app_group:main_app",
+ "//ios/net",
+ "//ios/public/provider/chrome/browser",
+ "//ios/public/provider/chrome/browser/distribution",
+ "//ios/public/provider/chrome/browser/native_app_launcher",
+ "//ios/public/provider/chrome/browser/signin",
+ "//ios/public/provider/chrome/browser/user_feedback",
+ "//ios/third_party/material_roboto_font_loader_ios",
+ "//ios/web",
+ "//ios/web/public/app",
+ "//mojo/edk/system",
+ "//net",
+ "//skia",
+ "//ui/base",
+ "//ui/gfx",
+ "//ui/resources",
+ "//ui/strings:ui_strings",
+ ]
+
+ libs = [
+ "CoreSpotlight.framework",
+ "MediaPlayer.framework",
+ ]
+
+ allow_circular_includes_from =
+ [ "//ios/chrome/app/application_delegate:application_delegate_internal" ]
+}
+
+source_set("main") {
+ sources = [
+ "chrome_exe_main.mm",
+ ]
+
+ deps = [
+ ":app_internal",
+ "//base",
+ "//components/crash/core/common",
+ "//ios/chrome/app/startup",
+ "//ios/chrome/browser:browser_internal",
+ "//ios/chrome/browser/crash_report",
+ "//ios/chrome/common",
+ "//third_party/google_toolbox_for_mac",
+ ]
+}
+
+ios_app_bundle("chrome") {
+ output_name = chromium_short_name
+
+ entitlements_target = ":entitlements"
+ info_plist_target = ":info_plist"
+
+ deps = [
+ ":main",
+ "//ios/chrome/app:tests_fake_hook",
+ ]
+
+ bundle_deps = [ "//ios/chrome/app/resources" ]
+
+ if (ios_enable_today_extension && current_toolchain == default_toolchain) {
+ deps += [ ":today_extension_bundle" ]
+ }
+
+ if (ios_enable_share_extension && current_toolchain == default_toolchain) {
+ deps += [ ":share_extension_bundle" ]
+ }
+
+ extra_substitutions = [
+ "CHROMIUM_BUNDLE_ID=$chromium_bundle_id",
+ "CHROMIUM_HANDOFF_ID=$chromium_handoff_id",
+ "CHROMIUM_SHORT_NAME=$chromium_short_name",
+ "CHROMIUM_URL_SCHEME_1=$url_unsecure_scheme",
+ "CHROMIUM_URL_SCHEME_2=$url_secure_scheme",
+ "CHROMIUM_URL_SCHEME_3=$url_x_callback_scheme",
+ "CHROMIUM_URL_SCHEME_4=$url_channel_scheme",
+ "SSOAUTH_URL_SCHEME=$url_ssoauth_scheme",
+ ]
+
+ if (ios_encryption_export_compliance_code != "") {
+ extra_substitutions += [ "ENCRYPTION_EXPORT_COMPLIANCE_CODE=" +
+ ios_encryption_export_compliance_code ]
+ }
+}
+
+if (ios_enable_today_extension && current_toolchain == default_toolchain) {
+ bundle_data("today_extension_bundle") {
+ public_deps = [
+ "//ios/chrome/today_extension",
+ ]
+ sources = [
+ "$root_out_dir/today_extension.appex",
+ ]
+ outputs = [
+ "{{bundle_plugins_dir}}/{{source_file_part}}",
+ ]
+ }
+}
+
+if (ios_enable_share_extension && current_toolchain == default_toolchain) {
+ bundle_data("share_extension_bundle") {
+ public_deps = [
+ "//ios/chrome/share_extension",
+ ]
+ sources = [
+ "$root_out_dir/share_extension.appex",
+ ]
+ outputs = [
+ "{{bundle_plugins_dir}}/{{source_file_part}}",
+ ]
+ }
+}
+
+# Clean Skeleton targets.
+ios_app_bundle("chrome_clean_skeleton") {
+ output_name = "CSChromium"
+
+ entitlements_path = "//ios/chrome/app/resources/Chrome.entitlements"
+ info_plist_target = ":info_plist"
+
+ deps = [
+ ":main_clean_skeleton",
+ "//ios/chrome/app:tests_fake_hook",
+ ]
+
+ bundle_deps = [ "//ios/chrome/app/resources" ]
+
+ extra_substitutions = [
+ "CHROMIUM_BUNDLE_ID=$chromium_bundle_id",
+ "CHROMIUM_SHORT_NAME=$chromium_short_name",
+ "CHROMIUM_URL_SCHEME_1=$url_unsecure_scheme",
+ "CHROMIUM_URL_SCHEME_2=$url_secure_scheme",
+ "CHROMIUM_URL_SCHEME_3=$url_x_callback_scheme",
+ "CHROMIUM_URL_SCHEME_4=$url_channel_scheme",
+ ]
+
+ if (ios_encryption_export_compliance_code != "") {
+ extra_substitutions += [ "ENCRYPTION_EXPORT_COMPLIANCE_CODE=" +
+ ios_encryption_export_compliance_code ]
+ }
+}
+
+source_set("main_clean_skeleton") {
+ sources = [
+ "main.mm",
+ ]
+
+ deps = [
+ ":app_clean_skeleton",
+ "//base",
+ "//components/crash/core/common",
+ "//ios/chrome/app:app_internal",
+ "//ios/chrome/app/startup",
+ "//ios/chrome/browser",
+ "//ios/chrome/browser:browser_internal",
+ "//ios/chrome/browser/crash_report",
+ "//ios/chrome/common",
+ "//third_party/google_toolbox_for_mac",
+ ]
+
+ configs += [ "//build/config/compiler:enable_arc" ]
+}
+
+source_set("application_state_clean_skeleton") {
+ sources = [
+ "application_phase.h",
+ "application_state.h",
+ "application_state.mm",
+ "application_step.h",
+ ]
+
+ configs += [ "//build/config/compiler:enable_arc" ]
+
+ deps = [
+ "//base",
+ "//ios/chrome/browser:browser_clean_skeleton",
+ ]
+}
+
+source_set("app_clean_skeleton") {
+ sources = [
+ "app_delegate.h",
+ "app_delegate.mm",
+ ]
+
+ configs += [ "//build/config/compiler:enable_arc" ]
+
+ deps = [
+ ":application_state_clean_skeleton",
+ "//ios/chrome/app/steps",
+ ]
+}
diff --git a/ios/chrome/app/application_delegate/BUILD.gn b/ios/chrome/app/application_delegate/BUILD.gn
index adea24c..c56736b 100644
--- a/ios/chrome/app/application_delegate/BUILD.gn
+++ b/ios/chrome/app/application_delegate/BUILD.gn
@@ -20,12 +20,136 @@
source_set("unit_tests") {
testonly = true
sources = [
+ "app_state_unittest.mm",
+ "background_activity_unittest.mm",
"memory_warning_helper_unittest.mm",
+ "metrics_mediator_unittest.mm",
+ "url_opener_unittest.mm",
+ "user_activity_handler_unittest.mm",
]
deps = [
":application_delegate",
+ ":application_delegate_internal",
+ ":test_support",
"//base",
+ "//base/test:test_support",
+ "//breakpad:client",
+ "//components/handoff",
+ "//components/metrics",
+ "//ios/chrome/app",
+ "//ios/chrome/app:app_internal",
+ "//ios/chrome/app/application_delegate",
+ "//ios/chrome/app/safe_mode",
+ "//ios/chrome/app/spotlight",
+ "//ios/chrome/browser",
+ "//ios/chrome/browser/browser_state:test_support",
+ "//ios/chrome/browser/crash_report",
+ "//ios/chrome/browser/device_sharing",
+ "//ios/chrome/browser/geolocation",
"//ios/chrome/browser/metrics",
+ "//ios/chrome/browser/tabs",
+ "//ios/chrome/browser/u2f",
+ "//ios/chrome/browser/ui:ui_internal",
+ "//ios/chrome/browser/ui/main",
+ "//ios/chrome/browser/ui/settings",
+ "//ios/chrome/test:test_support",
+ "//ios/chrome/test/base",
+ "//ios/chrome/test/ocmock",
+ "//ios/public/provider/chrome/browser:test_support",
+ "//ios/public/provider/chrome/browser/distribution",
+ "//ios/public/provider/chrome/browser/user_feedback:test_support",
+ "//ios/testing:ocmock_support",
+ "//ios/web",
+ "//ios/web:test_support",
+ "//net:test_support",
"//testing/gtest",
+ "//third_party/ocmock",
+ "//ui/base",
+ "//url",
]
+ libs = [
+ "CoreSpotlight.framework",
+ "QuartzCore.framework",
+ ]
+}
+
+source_set("application_delegate_internal") {
+ sources = [
+ "app_navigation.h",
+ "app_state.h",
+ "app_state.mm",
+ "background_activity.h",
+ "background_activity.mm",
+ "browser_launcher.h",
+ "metrics_mediator.h",
+ "metrics_mediator.mm",
+ "startup_information.h",
+ "tab_opening.h",
+ "tab_switching.h",
+ "url_opener.h",
+ "url_opener.mm",
+ "user_activity_handler.h",
+ "user_activity_handler.mm",
+ ]
+ deps = [
+ "//base",
+ "//components/crash/core/common",
+ "//components/handoff",
+ "//components/metrics",
+ "//components/prefs",
+ "//ios/chrome/app",
+ "//ios/chrome/app/application_delegate",
+ "//ios/chrome/app/safe_mode",
+ "//ios/chrome/app/spotlight",
+ "//ios/chrome/browser",
+ "//ios/chrome/browser/browser_state",
+ "//ios/chrome/browser/crash_report",
+ "//ios/chrome/browser/device_sharing",
+ "//ios/chrome/browser/geolocation",
+ "//ios/chrome/browser/metrics",
+ "//ios/chrome/browser/metrics:metrics_internal",
+ "//ios/chrome/browser/net",
+ "//ios/chrome/browser/tabs",
+ "//ios/chrome/browser/u2f",
+ "//ios/chrome/browser/ui",
+ "//ios/chrome/browser/ui:ui_internal",
+ "//ios/chrome/browser/ui/authentication",
+ "//ios/chrome/browser/ui/main",
+ "//ios/chrome/common/app_group:main_app",
+ "//ios/net",
+ "//ios/public/provider/chrome/browser",
+ "//ios/public/provider/chrome/browser/distribution",
+ "//ios/public/provider/chrome/browser/user_feedback",
+ "//ios/web",
+ "//net",
+ "//ui/base",
+ "//url",
+ ]
+ libs = [
+ "CoreSpotlight.framework",
+ "UIKit.framework",
+ ]
+}
+
+source_set("test_support") {
+ testonly = true
+ sources = [
+ "app_state_testing.h",
+ "fake_startup_information.h",
+ "fake_startup_information.mm",
+ "metrics_mediator_testing.h",
+ "mock_tab_opener.h",
+ "mock_tab_opener.mm",
+ ]
+ deps = [
+ ":application_delegate_internal",
+ "//base",
+ "//base/test:test_support",
+ "//ios/chrome/app:app_internal",
+ "//ios/chrome/browser",
+ "//net",
+ "//ui/base",
+ "//url",
+ ]
+ libs = [ "UIKit.framework" ]
}
diff --git a/ios/chrome/app/safe_mode/BUILD.gn b/ios/chrome/app/safe_mode/BUILD.gn
index 17b18e6b..947affb 100644
--- a/ios/chrome/app/safe_mode/BUILD.gn
+++ b/ios/chrome/app/safe_mode/BUILD.gn
@@ -12,3 +12,62 @@
"{{bundle_resources_dir}}/{{source_file_part}}",
]
}
+
+source_set("safe_mode") {
+ sources = [
+ "safe_mode_coordinator.h",
+ "safe_mode_coordinator.mm",
+ "safe_mode_view_controller.h",
+ "safe_mode_view_controller.mm",
+ ]
+
+ deps = [
+ "//base",
+ "//ios/chrome/app",
+ "//ios/chrome/app/safe_mode:resources",
+ "//ios/chrome/app/strings",
+ "//ios/chrome/browser",
+ "//ios/chrome/browser/crash_report",
+ "//ios/chrome/browser/ui",
+ "//ios/chrome/browser/ui/fancy_ui",
+ "//ui/gfx",
+ ]
+
+ libs = [ "UIKit.framework" ]
+}
+
+source_set("eg_tests") {
+ testonly = true
+ sources = [
+ "safe_mode_egtest.mm",
+ ]
+ deps = [
+ ":safe_mode",
+ "//base",
+ "//ios/chrome/app:app_internal",
+ "//ios/chrome/app/strings",
+ "//ios/chrome/browser/ui/main",
+ "//ios/chrome/test/base",
+ "//ios/chrome/test/earl_grey:test_support",
+ "//ios/third_party/earl_grey",
+ ]
+}
+
+source_set("unit_tests") {
+ testonly = true
+ sources = [
+ "safe_mode_coordinator_unittest.mm",
+ "safe_mode_view_controller_unittest.mm",
+ ]
+ deps = [
+ ":safe_mode",
+ "//base",
+ "//breakpad:client",
+ "//ios/chrome/browser/crash_report",
+ "//ios/chrome/test/base",
+ "//ios/chrome/test/ocmock",
+ "//testing/gtest",
+ "//third_party/ocmock",
+ ]
+ libs = [ "UIKit.framework" ]
+}
diff --git a/ios/chrome/app/spotlight/BUILD.gn b/ios/chrome/app/spotlight/BUILD.gn
new file mode 100644
index 0000000..89c8853
--- /dev/null
+++ b/ios/chrome/app/spotlight/BUILD.gn
@@ -0,0 +1,70 @@
+# Copyright 2016 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+source_set("spotlight") {
+ sources = [
+ "actions_spotlight_manager.h",
+ "actions_spotlight_manager.mm",
+ "base_spotlight_manager.h",
+ "base_spotlight_manager.mm",
+ "bookmarks_spotlight_manager.h",
+ "bookmarks_spotlight_manager.mm",
+ "spotlight_manager.h",
+ "spotlight_manager.mm",
+ "spotlight_util.h",
+ "spotlight_util.mm",
+ "topsites_spotlight_manager.h",
+ "topsites_spotlight_manager.mm",
+ ]
+ deps = [
+ "//base",
+ "//components/bookmarks/browser",
+ "//components/browser_sync",
+ "//components/favicon/core",
+ "//components/favicon_base",
+ "//components/history/core/browser",
+ "//components/suggestions",
+ "//ios/chrome/app/strings",
+ "//ios/chrome/browser",
+ "//ios/chrome/browser/bookmarks",
+ "//ios/chrome/browser/favicon",
+ "//ios/chrome/browser/history",
+ "//ios/chrome/browser/suggestions",
+ "//ios/chrome/browser/sync",
+ "//ios/chrome/browser/ui/ntp:ntp_internal",
+ "//ios/chrome/common/app_group",
+ "//ios/public/provider/chrome/browser",
+ "//ios/public/provider/chrome/browser/spotlight",
+ "//ios/third_party/material_components_ios",
+ "//net",
+ "//skia",
+ "//ui/base",
+ "//url",
+ ]
+ libs = [
+ "CoreSpotlight.framework",
+ "UIKit.framework",
+ ]
+}
+
+source_set("unit_tests") {
+ testonly = true
+ sources = [
+ "spotlight_manager_unittest.mm",
+ ]
+ deps = [
+ ":spotlight",
+ "//base",
+ "//components/bookmarks/browser",
+ "//components/bookmarks/test",
+ "//components/favicon/core",
+ "//components/favicon_base",
+ "//ios/chrome/browser/bookmarks",
+ "//ios/public/provider/chrome/browser",
+ "//ios/public/provider/chrome/browser/spotlight",
+ "//net",
+ "//testing/gtest",
+ ]
+ libs = [ "CoreSpotlight.framework" ]
+}
diff --git a/ios/chrome/app/startup/BUILD.gn b/ios/chrome/app/startup/BUILD.gn
new file mode 100644
index 0000000..f99be35
--- /dev/null
+++ b/ios/chrome/app/startup/BUILD.gn
@@ -0,0 +1,41 @@
+# Copyright 2016 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+import("//ios/public/provider/chrome/browser/build_config.gni")
+
+source_set("startup") {
+ sources = [
+ "chrome_main_starter.h",
+ "chrome_main_starter.mm",
+ "client_registration.h",
+ "client_registration.mm",
+ "ios_chrome_main.h",
+ "ios_chrome_main.mm",
+ "ios_chrome_main_delegate.h",
+ "ios_chrome_main_delegate.mm",
+ "network_stack_setup.h",
+ "network_stack_setup.mm",
+ "provider_registration.h",
+ "provider_registration.mm",
+ "register_experimental_settings.h",
+ "register_experimental_settings.mm",
+ "setup_debugging.h",
+ "setup_debugging.mm",
+ ]
+
+ deps = [
+ "//base",
+ "//components/crash/core/common",
+ "//ios/chrome/browser",
+ "//ios/chrome/browser:browser_internal",
+ "//ios/chrome/browser/web",
+ "//ios/chrome/browser/web:web_internal",
+ "//ios/net",
+ "//ios/public/provider/chrome/browser",
+ "//ios/web",
+ "//ios/web/public/app",
+ "//skia",
+ ios_provider_target,
+ ]
+}
diff --git a/ios/chrome/app/steps/BUILD.gn b/ios/chrome/app/steps/BUILD.gn
new file mode 100644
index 0000000..5d44d5c
--- /dev/null
+++ b/ios/chrome/app/steps/BUILD.gn
@@ -0,0 +1,36 @@
+# Copyright 2016 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+source_set("steps") {
+ sources = [
+ "launch_to_background.h",
+ "launch_to_background.mm",
+ "launch_to_basic.h",
+ "launch_to_basic.mm",
+ "launch_to_foreground.h",
+ "launch_to_foreground.mm",
+ "tab_grid_coordinator+application_step.h",
+ "tab_grid_coordinator+application_step.mm",
+ ]
+
+ configs += [ "//build/config/compiler:enable_arc" ]
+
+ deps = [
+ "//base",
+ "//components/content_settings/core/browser",
+ "//ios/chrome/app:app_internal",
+ "//ios/chrome/app:application_state_clean_skeleton",
+ "//ios/chrome/app/startup",
+ "//ios/chrome/browser",
+ "//ios/chrome/browser:browser_clean_skeleton",
+ "//ios/chrome/browser:browser_internal",
+ "//ios/chrome/browser/browser_state",
+ "//ios/chrome/browser/browser_state:browser_state_impl",
+ "//ios/chrome/browser/content_settings",
+ "//ios/chrome/browser/ui/tab_grid",
+ "//ios/chrome/browser/web:web_internal",
+ "//ios/net",
+ "//ios/web:web_arc",
+ ]
+}
diff --git a/ios/chrome/browser/BUILD.gn b/ios/chrome/browser/BUILD.gn
index bcea0d6f..81b92b1 100644
--- a/ios/chrome/browser/BUILD.gn
+++ b/ios/chrome/browser/BUILD.gn
@@ -221,6 +221,7 @@
source_set("unit_tests") {
testonly = true
sources = [
+ "callback_counter_unittest.mm",
"chrome_url_util_unittest.mm",
"crash_loop_detection_util_unittest.mm",
"install_time_util_unittest.mm",
@@ -230,6 +231,7 @@
]
deps = [
":browser",
+ ":browser_internal",
"//base",
"//base/test:test_support",
"//components/prefs",
@@ -244,3 +246,72 @@
"//url",
]
}
+
+source_set("browser_internal") {
+ sources = [
+ "callback_counter.h",
+ "callback_counter.mm",
+ ]
+ deps = [
+ "//base",
+ ]
+}
+
+source_set("downstream_provider") {
+ sources = [
+ "downstream_chromium_browser_provider.h",
+ "downstream_chromium_browser_provider.mm",
+ ]
+ deps = [
+ "//base",
+ "//components/handoff",
+ "//components/pref_registry",
+ "//components/prefs",
+ "//ios/chrome/browser",
+ "//ios/chrome/browser/autofill:autofill_internal",
+ "//ios/chrome/browser/browser_state",
+ "//ios/chrome/browser/browser_state:browser_state_impl",
+ "//ios/chrome/browser/providers",
+ "//ios/chrome/browser/sessions:sessions_internal",
+ "//ios/chrome/browser/sync/glue",
+ "//ios/chrome/browser/sync/sessions",
+ "//ios/chrome/browser/tabs",
+ "//ios/chrome/browser/tabs:tabs_internal",
+ "//ios/chrome/browser/ui",
+ "//ios/chrome/browser/ui:browser_list",
+ "//ios/chrome/browser/ui/autofill:autofill_internal",
+ "//ios/chrome/browser/ui/bookmarks",
+ "//ios/chrome/browser/ui/infobars",
+ "//ios/chrome/browser/ui/webui:webui_internal",
+ "//ios/chrome/common",
+ ]
+}
+
+source_set("downstream_provider_factory") {
+ sources = [
+ "downstream_chromium_browser_provider_factory.mm",
+ ]
+ deps = [
+ ":downstream_provider",
+ "//base",
+ "//ios/public/provider/chrome/browser",
+ ]
+}
+
+# Clean Skeleton targets
+source_set("browser_clean_skeleton") {
+ sources = [
+ "browser_coordinator+internal.h",
+ "browser_coordinator.h",
+ "browser_coordinator.mm",
+ "url_opening.h",
+ ]
+
+ configs += [ "//build/config/compiler:enable_arc" ]
+
+ deps = [
+ "//base",
+ "//ios/chrome/browser",
+ "//ios/chrome/browser/browser_state",
+ ]
+}
diff --git a/ios/chrome/browser/autofill/BUILD.gn b/ios/chrome/browser/autofill/BUILD.gn
index 2c35bce9..21bd1b6 100644
--- a/ios/chrome/browser/autofill/BUILD.gn
+++ b/ios/chrome/browser/autofill/BUILD.gn
@@ -40,3 +40,92 @@
]
libs = [ "QuartzCore.framework" ]
}
+
+source_set("autofill_internal") {
+ configs += [ "//build/config/compiler:enable_arc" ]
+ sources = [
+ "autofill_agent.h",
+ "autofill_agent.mm",
+ "autofill_controller.h",
+ "autofill_controller.mm",
+ ]
+ deps = [
+ "//base",
+ "//components/autofill/core/browser",
+ "//components/autofill/core/common",
+ "//components/autofill/ios/browser",
+ "//components/infobars/core",
+ "//components/pref_registry",
+ "//components/prefs",
+ "//components/signin/core/browser",
+ "//ios/chrome/app/strings",
+ "//ios/chrome/browser",
+ "//ios/chrome/browser/autofill",
+ "//ios/chrome/browser/browser_state",
+ "//ios/chrome/browser/infobars",
+ "//ios/chrome/browser/signin",
+ "//ios/chrome/browser/ui/autofill",
+ "//ios/web",
+ "//ui/gfx/geometry",
+ "//url",
+ ]
+ libs = [ "UIKit.framework" ]
+}
+
+source_set("unit_tests") {
+ configs += [ "//build/config/compiler:enable_arc" ]
+ testonly = true
+ sources = [
+ "autofill_controller_js_unittest.mm",
+ "autofill_controller_unittest.mm",
+ "form_structure_browsertest.mm",
+ "form_suggestion_controller_unittest.mm",
+ "js_autofill_manager_unittest.mm",
+ "js_suggestion_manager_unittest.mm",
+ ]
+ deps = [
+ ":autofill_internal",
+ "//base",
+ "//base/test:test_support",
+ "//components/autofill/core/browser",
+ "//components/autofill/core/browser:test_support",
+ "//components/autofill/core/common",
+ "//components/autofill/ios/browser",
+ "//components/infobars/core",
+ "//components/keyed_service/core",
+ "//ios/chrome/browser",
+ "//ios/chrome/browser/autofill",
+ "//ios/chrome/browser/browser_state:test_support",
+ "//ios/chrome/browser/infobars",
+ "//ios/chrome/browser/ui",
+ "//ios/chrome/browser/ui/autofill",
+ "//ios/chrome/browser/web:test_support",
+ "//ios/chrome/test/base",
+ "//ios/web",
+ "//ios/web:test_support",
+ "//testing/gtest",
+ "//third_party/ocmock",
+ "//ui/base:test_support",
+ ]
+}
+
+source_set("eg_tests") {
+ testonly = true
+ sources = [
+ "form_input_egtest.mm",
+ ]
+ deps = [
+ "//base",
+ "//base/test:test_support",
+ "//ios/chrome/app/strings",
+ "//ios/chrome/browser/autofill",
+ "//ios/chrome/browser/ui",
+ "//ios/chrome/test/app:test_support",
+ "//ios/chrome/test/earl_grey:test_support",
+ "//ios/testing:ios_test_support",
+ "//ios/testing/earl_grey:earl_grey_support",
+ "//ios/third_party/earl_grey",
+ "//ios/web:earl_grey_test_support",
+ "//ios/web:test_support",
+ ]
+}
diff --git a/ios/chrome/browser/browser_state/BUILD.gn b/ios/chrome/browser/browser_state/BUILD.gn
index ff04e6ea..f4cb360a 100644
--- a/ios/chrome/browser/browser_state/BUILD.gn
+++ b/ios/chrome/browser/browser_state/BUILD.gn
@@ -93,6 +93,7 @@
"//ios/chrome/browser/reading_list",
"//ios/chrome/browser/search_engines",
"//ios/chrome/browser/services/gcm",
+ "//ios/chrome/browser/sessions:sessions_internal",
"//ios/chrome/browser/signin",
"//ios/chrome/browser/suggestions",
"//ios/chrome/browser/sync",
diff --git a/ios/chrome/browser/browser_state/browser_state_keyed_service_factories.mm b/ios/chrome/browser/browser_state/browser_state_keyed_service_factories.mm
index 441bd71..68a3cc3d 100644
--- a/ios/chrome/browser/browser_state/browser_state_keyed_service_factories.mm
+++ b/ios/chrome/browser/browser_state/browser_state_keyed_service_factories.mm
@@ -28,6 +28,7 @@
#include "ios/chrome/browser/reading_list/reading_list_model_factory.h"
#include "ios/chrome/browser/search_engines/template_url_service_factory.h"
#include "ios/chrome/browser/services/gcm/ios_chrome_gcm_profile_service_factory.h"
+#include "ios/chrome/browser/sessions/tab_restore_service_delegate_impl_ios_factory.h"
#include "ios/chrome/browser/signin/about_signin_internals_factory.h"
#include "ios/chrome/browser/signin/account_consistency_service_factory.h"
#include "ios/chrome/browser/signin/account_fetcher_service_factory.h"
@@ -98,5 +99,6 @@
SigninClientFactory::GetInstance();
suggestions::SuggestionsServiceFactory::GetInstance();
SyncSetupServiceFactory::GetInstance();
+ TabRestoreServiceDelegateImplIOSFactory::GetInstance();
TranslateAcceptLanguagesFactory::GetInstance();
}
diff --git a/ios/chrome/browser/browsing_data/BUILD.gn b/ios/chrome/browser/browsing_data/BUILD.gn
index d8aaa48..6985aa83 100644
--- a/ios/chrome/browser/browsing_data/BUILD.gn
+++ b/ios/chrome/browser/browsing_data/BUILD.gn
@@ -53,17 +53,48 @@
source_set("unit_tests") {
testonly = true
sources = [
+ "browsing_data_removal_controller_unittest.mm",
"cache_counter_unittest.cc",
]
deps = [
":browsing_data",
+ ":browsing_data_internal",
"//base",
+ "//base/test:test_support",
"//components/browsing_data/core",
"//components/prefs",
"//components/prefs:test_support",
+ "//ios/chrome/browser/browser_state:test_support",
"//ios/web",
"//ios/web:test_support",
"//net",
"//testing/gtest",
+ "//third_party/ocmock",
]
}
+
+source_set("browsing_data_internal") {
+ sources = [
+ "browsing_data_removal_controller.h",
+ "browsing_data_removal_controller.mm",
+ ]
+ deps = [
+ "//base",
+ "//components/browsing_data/core",
+ "//components/open_from_clipboard",
+ "//components/signin/ios/browser",
+ "//ios/chrome/browser:browser_internal",
+ "//ios/chrome/browser/browser_state",
+ "//ios/chrome/browser/browsing_data",
+ "//ios/chrome/browser/native_app_launcher:native_app_launcher_internal",
+ "//ios/chrome/browser/sessions:sessions_internal",
+ "//ios/chrome/browser/signin",
+ "//ios/chrome/browser/snapshots",
+ "//ios/chrome/browser/ui:ui_internal",
+ "//ios/public/provider/chrome/browser",
+ "//ios/public/provider/chrome/browser/native_app_launcher",
+ "//ios/web",
+ "//net",
+ ]
+ libs = [ "WebKit.framework" ]
+}
diff --git a/ios/chrome/browser/context_menu/BUILD.gn b/ios/chrome/browser/context_menu/BUILD.gn
new file mode 100644
index 0000000..aa2ccd23
--- /dev/null
+++ b/ios/chrome/browser/context_menu/BUILD.gn
@@ -0,0 +1,26 @@
+# Copyright 2016 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+source_set("eg_tests") {
+ testonly = true
+ sources = [
+ "context_menu_egtest.mm",
+ ]
+ deps = [
+ "//base",
+ "//ios/chrome/app/strings",
+ "//ios/chrome/browser/ui",
+ "//ios/chrome/test/app:test_support",
+ "//ios/chrome/test/earl_grey:test_support",
+ "//ios/testing:ios_test_support",
+ "//ios/third_party/earl_grey",
+ "//ios/web:earl_grey_test_support",
+ "//ios/web:test_support",
+ "//url",
+ ]
+ libs = [
+ "UIKit.framework",
+ "XCTest.framework",
+ ]
+}
diff --git a/ios/chrome/browser/crash_report/BUILD.gn b/ios/chrome/browser/crash_report/BUILD.gn
index 68085844..9b69033 100644
--- a/ios/chrome/browser/crash_report/BUILD.gn
+++ b/ios/chrome/browser/crash_report/BUILD.gn
@@ -29,3 +29,52 @@
"//ios/web",
]
}
+
+source_set("crash_report_internal") {
+ sources = [
+ "crash_report_helper.h",
+ "crash_report_helper.mm",
+ "crash_restore_helper.h",
+ "crash_restore_helper.mm",
+ ]
+ deps = [
+ "//base",
+ "//components/infobars/core",
+ "//components/sessions",
+ "//components/strings",
+ "//components/upload_list",
+ "//ios/chrome/app/theme",
+ "//ios/chrome/browser",
+ "//ios/chrome/browser/browser_state",
+ "//ios/chrome/browser/crash_report",
+ "//ios/chrome/browser/sessions",
+ "//ios/chrome/browser/sessions:sessions_internal",
+ "//ios/chrome/browser/tabs",
+ "//ios/web",
+ "//net",
+ "//ui/base",
+ ]
+}
+
+source_set("unit_tests") {
+ testonly = true
+ sources = [
+ "breakpad_helper_unittest.mm",
+ "crash_restore_helper_unittest.mm",
+ ]
+ deps = [
+ ":crash_report_internal",
+ "//base",
+ "//breakpad:client",
+ "//ios/chrome/browser/browser_state",
+ "//ios/chrome/browser/browser_state:test_support",
+ "//ios/chrome/browser/crash_report",
+ "//ios/chrome/browser/sessions:sessions_internal",
+ "//ios/chrome/test/base",
+ "//ios/chrome/test/ocmock",
+ "//ios/web:test_support",
+ "//testing/gmock",
+ "//testing/gtest",
+ "//third_party/ocmock",
+ ]
+}
diff --git a/ios/chrome/browser/device_sharing/BUILD.gn b/ios/chrome/browser/device_sharing/BUILD.gn
index ef719c3f..ab5c388b 100644
--- a/ios/chrome/browser/device_sharing/BUILD.gn
+++ b/ios/chrome/browser/device_sharing/BUILD.gn
@@ -36,3 +36,22 @@
"//url",
]
}
+
+source_set("eg_tests") {
+ testonly = true
+ sources = [
+ "handoff_manager_egtest.mm",
+ ]
+ deps = [
+ "//components/handoff",
+ "//ios/chrome/browser/device_sharing",
+ "//ios/chrome/browser/ui",
+ "//ios/chrome/test/app:test_support",
+ "//ios/chrome/test/earl_grey:test_support",
+ "//ios/third_party/earl_grey",
+ "//ios/web:test_support",
+ "//net",
+ "//url",
+ ]
+ libs = [ "XCTest.framework" ]
+}
diff --git a/ios/chrome/browser/geolocation/BUILD.gn b/ios/chrome/browser/geolocation/BUILD.gn
index d386fa59..57c5fa44f 100644
--- a/ios/chrome/browser/geolocation/BUILD.gn
+++ b/ios/chrome/browser/geolocation/BUILD.gn
@@ -64,3 +64,26 @@
"//third_party/ocmock",
]
}
+
+source_set("geolocation_internal") {
+ sources = [
+ "omnibox_geolocation_controller+Testing.h",
+ "omnibox_geolocation_controller.h",
+ "omnibox_geolocation_controller.mm",
+ ]
+ deps = [
+ "//base",
+ "//components/google/core/browser",
+ "//components/version_info",
+ "//ios/chrome/browser/browser_state",
+ "//ios/chrome/browser/geolocation",
+ "//ios/chrome/browser/tabs",
+ "//ios/web",
+ "//ui/base",
+ "//url",
+ ]
+ libs = [
+ "CoreLocation.framework",
+ "UIKit.framework",
+ ]
+}
diff --git a/ios/chrome/browser/metrics/BUILD.gn b/ios/chrome/browser/metrics/BUILD.gn
index e9a7abf..a103be6 100644
--- a/ios/chrome/browser/metrics/BUILD.gn
+++ b/ios/chrome/browser/metrics/BUILD.gn
@@ -79,3 +79,80 @@
"//testing/gtest",
]
}
+
+source_set("metrics_internal") {
+ sources = [
+ "first_user_action_recorder.cc",
+ "first_user_action_recorder.h",
+ "new_tab_page_uma.h",
+ "new_tab_page_uma.mm",
+ "size_class_recorder.h",
+ "size_class_recorder.mm",
+ "size_class_recorder_private.h",
+ "tab_usage_recorder.h",
+ "tab_usage_recorder.mm",
+ "tab_usage_recorder_delegate.h",
+ ]
+ deps = [
+ "//base",
+ "//components/google/core/browser",
+ "//ios/chrome/browser",
+ "//ios/chrome/browser/browser_state",
+ "//ios/chrome/browser/metrics",
+ "//ios/chrome/browser/tabs",
+ "//ios/chrome/browser/ui",
+ "//ios/chrome/browser/ui:browser_list",
+ "//ios/web",
+ "//ui/base:base",
+ "//url",
+ ]
+ libs = [ "UIKit.framework" ]
+}
+
+source_set("unit_tests_internal") {
+ testonly = true
+ sources = [
+ "first_user_action_recorder_unittest.cc",
+ "size_class_recorder_unittest.mm",
+ "tab_usage_recorder_unittest.mm",
+ ]
+ deps = [
+ ":metrics_internal",
+ "//base",
+ "//base/test:test_support",
+ "//ios/chrome/browser/metrics",
+ "//ios/chrome/browser/tabs",
+ "//ios/chrome/browser/ui",
+ "//ios/testing:ocmock_support",
+ "//ios/web",
+ "//ios/web:test_support",
+ "//testing/gtest",
+ "//third_party/ocmock",
+ ]
+}
+
+source_set("eg_tests") {
+ testonly = true
+ sources = [
+ "tab_usage_recorder_egtest.mm",
+ ]
+ deps = [
+ "//base",
+ "//base/test:test_support",
+ "//components/strings",
+ "//ios/chrome/app/strings",
+ "//ios/chrome/browser",
+ "//ios/chrome/browser/metrics:metrics_internal",
+ "//ios/chrome/browser/ui",
+ "//ios/chrome/browser/ui/settings",
+ "//ios/chrome/browser/ui/toolbar",
+ "//ios/chrome/browser/ui/tools_menu",
+ "//ios/chrome/test/app:test_support",
+ "//ios/chrome/test/earl_grey:test_support",
+ "//ios/testing:ios_test_support",
+ "//ios/third_party/earl_grey",
+ "//ios/web:test_support",
+ "//ui/base",
+ ]
+ libs = [ "XCTest.framework" ]
+}
diff --git a/ios/chrome/browser/native_app_launcher/BUILD.gn b/ios/chrome/browser/native_app_launcher/BUILD.gn
index 0bac471d..a4de503 100644
--- a/ios/chrome/browser/native_app_launcher/BUILD.gn
+++ b/ios/chrome/browser/native_app_launcher/BUILD.gn
@@ -50,3 +50,54 @@
"//url",
]
}
+
+source_set("native_app_launcher_internal") {
+ sources = [
+ "native_app_navigation_controller.h",
+ "native_app_navigation_controller.mm",
+ ]
+ deps = [
+ "//base",
+ "//components/infobars/core",
+ "//ios/chrome/browser",
+ "//ios/chrome/browser/infobars",
+ "//ios/chrome/browser/native_app_launcher",
+ "//ios/chrome/browser/net",
+ "//ios/chrome/browser/tabs",
+ "//ios/public/provider/chrome/browser",
+ "//ios/public/provider/chrome/browser/native_app_launcher",
+ "//ios/public/provider/chrome/browser/signin",
+ "//ios/public/provider/chrome/browser/ui",
+ "//ios/web",
+ "//net",
+ "//ui/base",
+ "//url",
+ ]
+ libs = [ "StoreKit.framework" ]
+}
+
+source_set("unit_tests_internal") {
+ testonly = true
+ sources = [
+ "native_app_navigation_controller_unittest.mm",
+ ]
+ deps = [
+ ":native_app_launcher_internal",
+ "//base",
+ "//base/test:test_support",
+ "//components/infobars/core",
+ "//ios/chrome/browser",
+ "//ios/chrome/browser/native_app_launcher",
+ "//ios/chrome/test:test_support",
+ "//ios/public/provider/chrome/browser",
+ "//ios/public/provider/chrome/browser:test_support",
+ "//ios/public/provider/chrome/browser/native_app_launcher:test_support",
+ "//ios/public/provider/chrome/browser/signin:test_support",
+ "//ios/web",
+ "//ios/web:test_support",
+ "//net:test_support",
+ "//testing/gmock",
+ "//testing/gtest",
+ "//url",
+ ]
+}
diff --git a/ios/chrome/browser/net/BUILD.gn b/ios/chrome/browser/net/BUILD.gn
index ad7fb27..b628ccce 100644
--- a/ios/chrome/browser/net/BUILD.gn
+++ b/ios/chrome/browser/net/BUILD.gn
@@ -72,3 +72,19 @@
"//testing/gtest",
]
}
+
+source_set("eg_tests") {
+ testonly = true
+ sources = [
+ "cookies_egtest.mm",
+ ]
+ deps = [
+ "//base",
+ "//ios/chrome/test/app:test_support",
+ "//ios/chrome/test/earl_grey:test_support",
+ "//ios/third_party/earl_grey",
+ "//ios/web:test_support",
+ "//url",
+ ]
+ libs = [ "XCTest.framework" ]
+}
diff --git a/ios/chrome/browser/passwords/BUILD.gn b/ios/chrome/browser/passwords/BUILD.gn
index 8aea29c..d0bd285 100644
--- a/ios/chrome/browser/passwords/BUILD.gn
+++ b/ios/chrome/browser/passwords/BUILD.gn
@@ -139,3 +139,27 @@
"resources/password_controller.js",
]
}
+
+source_set("passwords_internal") {
+ sources = [
+ "password_generation_prompt_view.h",
+ "password_generation_prompt_view.mm",
+ "password_generation_prompt_view_controller.h",
+ "password_generation_prompt_view_controller.mm",
+ "passwords_ui_delegate_impl.h",
+ "passwords_ui_delegate_impl.mm",
+ ]
+ deps = [
+ "//base",
+ "//components/strings",
+ "//ios/chrome/app/strings",
+ "//ios/chrome/app/theme",
+ "//ios/chrome/browser/passwords",
+ "//ios/chrome/browser/ui",
+ "//ios/chrome/common",
+ "//ios/third_party/material_components_ios",
+ "//ios/third_party/material_roboto_font_loader_ios",
+ "//ui/base",
+ ]
+ libs = [ "UIKit.framework" ]
+}
diff --git a/ios/chrome/browser/payments/BUILD.gn b/ios/chrome/browser/payments/BUILD.gn
index 3055b88c..bbfbeb1f 100644
--- a/ios/chrome/browser/payments/BUILD.gn
+++ b/ios/chrome/browser/payments/BUILD.gn
@@ -9,3 +9,77 @@
"resources/payment_request_manager.js",
]
}
+
+source_set("payments") {
+ sources = [
+ "js_payment_request_manager.h",
+ "js_payment_request_manager.mm",
+ "payment_items_display_coordinator.h",
+ "payment_items_display_coordinator.mm",
+ "payment_items_display_view_controller.h",
+ "payment_items_display_view_controller.mm",
+ "payment_method_selection_coordinator.h",
+ "payment_method_selection_coordinator.mm",
+ "payment_method_selection_view_controller.h",
+ "payment_method_selection_view_controller.mm",
+ "payment_request_coordinator.h",
+ "payment_request_coordinator.mm",
+ "payment_request_manager.h",
+ "payment_request_manager.mm",
+ "payment_request_utils.h",
+ "payment_request_utils.mm",
+ "payment_request_view_controller.h",
+ "payment_request_view_controller.mm",
+ "payment_request_web_state_observer.h",
+ "payment_request_web_state_observer.mm",
+ "shipping_address_selection_coordinator.h",
+ "shipping_address_selection_coordinator.mm",
+ "shipping_address_selection_view_controller.h",
+ "shipping_address_selection_view_controller.mm",
+ ]
+ deps = [
+ "//base",
+ "//components/autofill/core/browser",
+ "//components/strings",
+ "//ios/chrome/app/strings",
+ "//ios/chrome/browser",
+ "//ios/chrome/browser/autofill",
+ "//ios/chrome/browser/browser_state",
+ "//ios/chrome/browser/payments:injected_js",
+ "//ios/chrome/browser/payments/cells",
+ "//ios/chrome/browser/ui",
+ "//ios/chrome/browser/ui/collection_view",
+ "//ios/chrome/browser/ui/collection_view/cells",
+ "//ios/chrome/browser/ui/colors",
+ "//ios/chrome/browser/ui/icons",
+ "//ios/third_party/material_components_ios",
+ "//ios/third_party/material_roboto_font_loader_ios",
+ "//ios/web",
+ "//ui/base",
+ ]
+ libs = [ "UIKit.framework" ]
+}
+
+source_set("unit_tests") {
+ testonly = true
+ sources = [
+ "payment_items_display_coordinator_unittest.mm",
+ "payment_items_display_view_controller_unittest.mm",
+ "shipping_address_selection_coordinator_unittest.mm",
+ "shipping_address_selection_view_controller_unittest.mm",
+ ]
+ deps = [
+ ":payments",
+ "//base",
+ "//base/test:test_support",
+ "//components/autofill/core/browser",
+ "//ios/chrome/app/strings",
+ "//ios/chrome/browser/ui/collection_view:test_support",
+ "//ios/chrome/browser/ui/collection_view/cells",
+ "//ios/chrome/browser/ui/collection_view/cells:test_support",
+ "//ios/chrome/test:test_support",
+ "//ios/third_party/material_components_ios",
+ "//ios/web",
+ "//testing/gtest",
+ ]
+}
diff --git a/ios/chrome/browser/payments/cells/BUILD.gn b/ios/chrome/browser/payments/cells/BUILD.gn
new file mode 100644
index 0000000..1671ba3
--- /dev/null
+++ b/ios/chrome/browser/payments/cells/BUILD.gn
@@ -0,0 +1,43 @@
+# Copyright 2016 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+source_set("cells") {
+ sources = [
+ "order_summary_line_item.h",
+ "order_summary_line_item.mm",
+ "order_summary_total_item.h",
+ "order_summary_total_item.mm",
+ "page_info_item.h",
+ "page_info_item.mm",
+ "payment_method_item.h",
+ "payment_method_item.mm",
+ "shipping_address_item.h",
+ "shipping_address_item.mm",
+ ]
+
+ deps = [
+ "//ios/chrome/browser/ui/collection_view/cells",
+ "//ios/third_party/material_components_ios",
+ "//ios/third_party/material_roboto_font_loader_ios",
+ ]
+
+ configs += [ "//build/config/compiler:enable_arc" ]
+}
+
+source_set("unit_tests") {
+ testonly = true
+ sources = [
+ "page_info_item_unittest.mm",
+ "payment_method_item_unittest.mm",
+ ]
+
+ deps = [
+ ":cells",
+ "//ios/chrome/browser/ui/collection_view/cells:test_support",
+ "//ios/third_party/material_components_ios",
+ "//testing/gtest",
+ ]
+
+ configs += [ "//build/config/compiler:enable_arc" ]
+}
diff --git a/ios/chrome/browser/sessions/BUILD.gn b/ios/chrome/browser/sessions/BUILD.gn
index a64f3a8..5e7154f5 100644
--- a/ios/chrome/browser/sessions/BUILD.gn
+++ b/ios/chrome/browser/sessions/BUILD.gn
@@ -24,3 +24,76 @@
"//url",
]
}
+
+source_set("sessions_internal") {
+ sources = [
+ "NSCoder+Compatibility.h",
+ "NSCoder+Compatibility.mm",
+ "session_service.h",
+ "session_service.mm",
+ "session_util.h",
+ "session_util.mm",
+ "session_window.h",
+ "session_window.mm",
+ "tab_restore_service_delegate_impl_ios.h",
+ "tab_restore_service_delegate_impl_ios.mm",
+ "tab_restore_service_delegate_impl_ios_factory.h",
+ "tab_restore_service_delegate_impl_ios_factory.mm",
+ "tab_restore_service_delegate_provider_impl.h",
+ "tab_restore_service_delegate_provider_impl.mm",
+ ]
+ deps = [
+ "//base",
+ "//components/keyed_service/core",
+ "//components/keyed_service/ios",
+ "//components/sessions",
+ "//ios/chrome/browser/browser_state",
+ "//ios/chrome/browser/tabs",
+ "//ios/chrome/browser/ui:browser_list",
+ "//ios/public/provider/chrome/browser/sessions",
+ "//ios/web",
+ "//net",
+ ]
+ libs = [ "UIKit.framework" ]
+}
+
+source_set("test_support") {
+ testonly = true
+ sources = [
+ "test_session_service.h",
+ "test_session_service.mm",
+ ]
+ deps = [
+ ":sessions_internal",
+ ]
+}
+
+source_set("unit_tests") {
+ testonly = true
+ sources = [
+ "session_service_unittest.mm",
+ "session_window_unittest.mm",
+ ]
+ deps = [
+ ":resources_unit_tests",
+ ":sessions_internal",
+ "//base",
+ "//ios/chrome/browser",
+ "//ios/chrome/browser/browser_state:test_support",
+ "//ios/web",
+ "//ios/web:test_support",
+ "//testing/gtest",
+ "//third_party/ocmock",
+ ]
+}
+
+bundle_data("resources_unit_tests") {
+ visibility = [ ":unit_tests" ]
+ testonly = true
+ sources = [
+ "//ios/chrome/test/data/sessions/corrupted.plist",
+ ]
+ outputs = [
+ "{{bundle_resources_dir}}/ios/chrome/test/data/sessions/{{source_file_part}}",
+ ]
+}
diff --git a/ios/chrome/browser/signin/BUILD.gn b/ios/chrome/browser/signin/BUILD.gn
index c31264b..8e7b805f 100644
--- a/ios/chrome/browser/signin/BUILD.gn
+++ b/ios/chrome/browser/signin/BUILD.gn
@@ -134,3 +134,16 @@
"//third_party/ocmock",
]
}
+
+source_set("signin_internal") {
+ sources = [
+ "signin_capability.cc",
+ "signin_capability.h",
+ ]
+ deps = [
+ "//base",
+ "//components/signin/core/browser",
+ "//ios/chrome/browser/browser_state",
+ "//ios/chrome/browser/signin",
+ ]
+}
diff --git a/ios/chrome/browser/snapshots/BUILD.gn b/ios/chrome/browser/snapshots/BUILD.gn
index cfda2e7..3a7d0968 100644
--- a/ios/chrome/browser/snapshots/BUILD.gn
+++ b/ios/chrome/browser/snapshots/BUILD.gn
@@ -41,3 +41,19 @@
"//testing/gtest",
]
}
+
+source_set("snapshots_internal") {
+ sources = [
+ "snapshot_overlay_provider.h",
+ "web_controller_snapshot_helper.h",
+ "web_controller_snapshot_helper.mm",
+ ]
+ deps = [
+ "//base",
+ "//ios/chrome/browser/snapshots",
+ "//ios/chrome/browser/tabs",
+ "//ios/chrome/browser/ui",
+ "//ios/web",
+ ]
+ libs = [ "UIKit.framework" ]
+}
diff --git a/ios/chrome/browser/tabs/BUILD.gn b/ios/chrome/browser/tabs/BUILD.gn
new file mode 100644
index 0000000..be04f826
--- /dev/null
+++ b/ios/chrome/browser/tabs/BUILD.gn
@@ -0,0 +1,144 @@
+# Copyright 2016 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+source_set("tabs") {
+ sources = [
+ "tab.h",
+ "tab_delegate.h",
+ "tab_dialog_delegate.h",
+ "tab_model.h",
+ "tab_model_observer.h",
+ "tab_private.h",
+ "tab_snapshotting_delegate.h",
+ ]
+ deps = [
+ "//components/signin/ios/browser",
+ "//ios/net",
+ "//ios/web",
+ "//ui/base",
+ ]
+ libs = [ "UIKit.framework" ]
+}
+
+source_set("tabs_internal") {
+ sources = [
+ "tab.mm",
+ "tab_model.mm",
+ "tab_model_order_controller.h",
+ "tab_model_order_controller.mm",
+ "tab_model_synced_window_delegate.h",
+ "tab_model_synced_window_delegate.mm",
+ "tab_model_synced_window_delegate_getter.h",
+ "tab_model_synced_window_delegate_getter.mm",
+ ]
+ deps = [
+ ":tabs",
+ "//base",
+ "//components/content_settings/core/browser",
+ "//components/favicon/core",
+ "//components/favicon/ios",
+ "//components/google/core/browser",
+ "//components/history/core/browser",
+ "//components/history/ios/browser",
+ "//components/infobars/core",
+ "//components/keyed_service/core",
+ "//components/metrics_services_manager",
+ "//components/navigation_metrics",
+ "//components/prefs",
+ "//components/search_engines",
+ "//components/sessions",
+ "//components/signin/core/browser",
+ "//components/signin/ios/browser",
+ "//components/strings",
+ "//components/sync_sessions",
+ "//components/url_formatter",
+ "//ios/chrome/app/strings",
+ "//ios/chrome/browser",
+ "//ios/chrome/browser/autofill",
+ "//ios/chrome/browser/autofill:autofill_internal",
+ "//ios/chrome/browser/bookmarks",
+ "//ios/chrome/browser/browser_state",
+ "//ios/chrome/browser/content_settings",
+ "//ios/chrome/browser/favicon",
+ "//ios/chrome/browser/find_in_page",
+ "//ios/chrome/browser/geolocation:geolocation_internal",
+ "//ios/chrome/browser/history",
+ "//ios/chrome/browser/infobars",
+ "//ios/chrome/browser/metrics",
+ "//ios/chrome/browser/metrics:metrics_internal",
+ "//ios/chrome/browser/native_app_launcher:native_app_launcher_internal",
+ "//ios/chrome/browser/net",
+ "//ios/chrome/browser/passwords",
+ "//ios/chrome/browser/passwords:passwords_internal",
+ "//ios/chrome/browser/search_engines",
+ "//ios/chrome/browser/sessions",
+ "//ios/chrome/browser/sessions:sessions_internal",
+ "//ios/chrome/browser/signin",
+ "//ios/chrome/browser/signin:signin_internal",
+ "//ios/chrome/browser/snapshots",
+ "//ios/chrome/browser/snapshots:snapshots_internal",
+ "//ios/chrome/browser/ssl",
+ "//ios/chrome/browser/sync",
+ "//ios/chrome/browser/translate",
+ "//ios/chrome/browser/u2f",
+ "//ios/chrome/browser/ui",
+ "//ios/chrome/browser/ui:browser_list",
+ "//ios/chrome/browser/ui:ui_internal",
+ "//ios/chrome/browser/ui/commands",
+ "//ios/chrome/browser/ui/downloads",
+ "//ios/chrome/browser/ui/overscroll_actions",
+ "//ios/chrome/browser/ui/reader_mode",
+ "//ios/chrome/browser/ui/sad_tab",
+ "//ios/chrome/browser/ui/toolbar",
+ "//ios/chrome/browser/web",
+ "//ios/chrome/browser/web:web_internal",
+ "//ios/net",
+ "//ios/public/provider/chrome/browser",
+ "//ios/public/provider/chrome/browser/native_app_launcher",
+ "//ios/web",
+ "//net",
+ "//ui/base",
+ "//url",
+ ]
+ libs = [
+ "CoreLocation.framework",
+ "UIKit.framework",
+ ]
+}
+
+source_set("unit_tests") {
+ testonly = true
+ sources = [
+ "tab_model_order_controller_unittest.mm",
+ "tab_model_unittest.mm",
+ "tab_unittest.mm",
+ ]
+ deps = [
+ ":tabs",
+ ":tabs_internal",
+ "//base",
+ "//components/bookmarks/test",
+ "//components/history/core/browser",
+ "//components/keyed_service/core",
+ "//ios/chrome/browser",
+ "//ios/chrome/browser/bookmarks",
+ "//ios/chrome/browser/browser_state:test_support",
+ "//ios/chrome/browser/history",
+ "//ios/chrome/browser/infobars",
+ "//ios/chrome/browser/sessions:sessions_internal",
+ "//ios/chrome/browser/sessions:test_support",
+ "//ios/chrome/browser/ui:ui_internal",
+ "//ios/chrome/browser/web:web_internal",
+ "//ios/chrome/test:test_support",
+ "//ios/public/provider/chrome/browser",
+ "//ios/public/provider/chrome/browser:test_support",
+ "//ios/public/provider/chrome/browser/native_app_launcher:test_support",
+ "//ios/testing:ocmock_support",
+ "//ios/web",
+ "//ios/web:test_support",
+ "//net",
+ "//testing/gtest",
+ "//third_party/ocmock",
+ ]
+}
diff --git a/ios/chrome/browser/test/BUILD.gn b/ios/chrome/browser/test/BUILD.gn
new file mode 100644
index 0000000..f80eac2
--- /dev/null
+++ b/ios/chrome/browser/test/BUILD.gn
@@ -0,0 +1,34 @@
+# Copyright 2016 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+import("//ios/public/provider/chrome/browser/build_config.gni")
+
+source_set("perf_test_support") {
+ testonly = true
+ sources = [
+ "perf_test_with_bvc_ios.h",
+ "perf_test_with_bvc_ios.mm",
+ ]
+ deps = [
+ "//base",
+ "//components/bookmarks/test",
+ "//ios/chrome/browser/autocomplete",
+ "//ios/chrome/browser/bookmarks",
+ "//ios/chrome/browser/browser_state:test_support",
+ "//ios/chrome/browser/search_engines",
+ "//ios/chrome/browser/sessions:sessions_internal",
+ "//ios/chrome/browser/tabs",
+ "//ios/chrome/browser/ui:ui_internal",
+ "//ios/chrome/browser/web:web_internal",
+ "//ios/chrome/test:test_support",
+ "//ios/chrome/test/base:perf_test_support",
+ "//ios/public/provider/chrome/browser",
+ "//ios/web:test_support",
+
+ # Perf tests can run with any provider, but the resulting numbers will only
+ # be meaningful if ChromeBrowserProviderImpl is used.
+ ios_provider_target,
+ ]
+ libs = [ "UIKit.framework" ]
+}
diff --git a/ios/chrome/browser/translate/BUILD.gn b/ios/chrome/browser/translate/BUILD.gn
index c2eb31f..46432c0 100644
--- a/ios/chrome/browser/translate/BUILD.gn
+++ b/ios/chrome/browser/translate/BUILD.gn
@@ -49,13 +49,45 @@
source_set("unit_tests") {
testonly = true
sources = [
+ "js_language_detection_manager_unittest.mm",
"translate_service_ios_unittest.cc",
]
deps = [
":translate",
+ "//base",
+ "//base/test:test_support",
+ "//components/translate/ios/browser",
"//ios/chrome/browser",
+ "//ios/chrome/browser/web:test_support",
+ "//ios/chrome/common",
"//ios/public/provider/chrome/browser:test_support",
+ "//ios/web",
+ "//ios/web:test_support",
"//testing/gtest",
"//url",
]
}
+
+source_set("eg_tests") {
+ testonly = true
+ sources = [
+ "translate_egtest.mm",
+ ]
+ deps = [
+ "//base",
+ "//components/strings",
+ "//components/translate/core/browser",
+ "//components/translate/core/common",
+ "//components/translate/ios/browser",
+ "//ios/chrome/browser/browser_state",
+ "//ios/chrome/browser/translate",
+ "//ios/chrome/test/app:test_support",
+ "//ios/chrome/test/earl_grey:test_support",
+ "//ios/testing:ios_test_support",
+ "//ios/third_party/earl_grey",
+ "//ios/web:test_support",
+ "//net",
+ "//ui/base",
+ ]
+ libs = [ "XCTest.framework" ]
+}
diff --git a/ios/chrome/browser/ui/BUILD.gn b/ios/chrome/browser/ui/BUILD.gn
index 0a78411..91f2f65 100644
--- a/ios/chrome/browser/ui/BUILD.gn
+++ b/ios/chrome/browser/ui/BUILD.gn
@@ -81,17 +81,61 @@
source_set("unit_tests") {
testonly = true
sources = [
+ "browser_container_view_unittest.mm",
+ "browser_view_controller_unittest.mm",
+ "chrome_web_view_factory_unittest.mm",
+ "file_locations_unittest.mm",
+ "fullscreen_controller_unittest.mm",
+ "key_commands_provider_unittest.mm",
"native_content_controller_unittest.mm",
"network_activity_indicator_manager_unittest.mm",
+ "open_in_controller_unittest.mm",
+ "open_in_toolbar_unittest.mm",
+ "page_not_available_controller_unittest.mm",
+ "preload_controller_unittest.mm",
"ui_util_unittest.mm",
"uikit_ui_util_unittest.mm",
]
deps = [
":native_content_controller_test_xib",
+ ":resources_unit_tests",
+ ":test_support",
":ui",
+ ":ui_internal",
"//base",
+ "//base/test:test_support",
+ "//components/bookmarks/test",
+ "//components/prefs:test_support",
+ "//components/search_engines",
+ "//components/sessions",
+ "//components/toolbar:test_support",
+ "//ios/chrome/app/strings",
+ "//ios/chrome/browser",
+ "//ios/chrome/browser/bookmarks",
+ "//ios/chrome/browser/browser_state",
+ "//ios/chrome/browser/browser_state:test_support",
+ "//ios/chrome/browser/find_in_page",
+ "//ios/chrome/browser/search_engines",
+ "//ios/chrome/browser/sessions",
+ "//ios/chrome/browser/tabs",
+ "//ios/chrome/browser/ui",
+ "//ios/chrome/browser/ui/activity_services",
+ "//ios/chrome/browser/ui/alert_coordinator",
+ "//ios/chrome/browser/ui/commands",
+ "//ios/chrome/browser/ui/ntp:ntp_internal",
+ "//ios/chrome/browser/ui/toolbar",
+ "//ios/chrome/browser/ui/toolbar:test_support",
+ "//ios/chrome/browser/web:web_internal",
+ "//ios/chrome/test:test_support",
+ "//ios/testing:ocmock_support",
+ "//ios/web",
+ "//ios/web:test_support",
+ "//net",
+ "//net:test_support",
+ "//testing/gmock",
"//testing/gtest",
"//third_party/ocmock",
+ "//ui/base",
"//url",
]
}
@@ -174,3 +218,251 @@
"{{bundle_resources_dir}}/{{source_file_part}}",
]
}
+
+source_set("ui_internal") {
+ sources = [
+ "browser_container_view.h",
+ "browser_container_view.mm",
+ "browser_view_controller.h",
+ "browser_view_controller.mm",
+ "browser_view_controller_dependency_factory.h",
+ "browser_view_controller_dependency_factory.mm",
+ "chrome_web_view_factory.h",
+ "chrome_web_view_factory.mm",
+ "external_file_controller.h",
+ "external_file_controller.mm",
+ "external_file_remover.h",
+ "external_file_remover.mm",
+ "fade_truncated_label.h",
+ "fade_truncated_label.mm",
+ "fullscreen_controller.h",
+ "fullscreen_controller.mm",
+ "key_commands_provider.h",
+ "key_commands_provider.mm",
+ "open_in_controller.h",
+ "open_in_controller.mm",
+ "open_in_controller_testing.h",
+ "open_in_toolbar.h",
+ "open_in_toolbar.mm",
+ "page_not_available_controller.h",
+ "page_not_available_controller.mm",
+ "preload_controller.h",
+ "preload_controller.mm",
+ "preload_controller_delegate.h",
+ "prerender_delegate.h",
+ ]
+ deps = [
+ ":browser_list",
+ "//base",
+ "//base:i18n",
+ "//components/bookmarks/browser",
+ "//components/infobars/core",
+ "//components/prefs",
+ "//components/reading_list/core",
+ "//components/reading_list/ios",
+ "//components/search_engines",
+ "//components/sessions",
+ "//components/strings",
+ "//components/toolbar",
+ "//components/url_formatter",
+ "//ios/chrome/app:tests_hook",
+ "//ios/chrome/app/strings",
+ "//ios/chrome/browser",
+ "//ios/chrome/browser/bookmarks",
+ "//ios/chrome/browser/browser_state",
+ "//ios/chrome/browser/favicon",
+ "//ios/chrome/browser/find_in_page",
+ "//ios/chrome/browser/first_run",
+ "//ios/chrome/browser/geolocation:geolocation_internal",
+ "//ios/chrome/browser/infobars",
+ "//ios/chrome/browser/metrics:metrics_internal",
+ "//ios/chrome/browser/native_app_launcher:native_app_launcher_internal",
+ "//ios/chrome/browser/net",
+ "//ios/chrome/browser/passwords",
+ "//ios/chrome/browser/payments",
+ "//ios/chrome/browser/prefs",
+ "//ios/chrome/browser/reading_list",
+ "//ios/chrome/browser/search_engines",
+ "//ios/chrome/browser/sessions",
+ "//ios/chrome/browser/sessions:sessions_internal",
+ "//ios/chrome/browser/snapshots",
+ "//ios/chrome/browser/snapshots:snapshots_internal",
+ "//ios/chrome/browser/tabs",
+ "//ios/chrome/browser/ui",
+ "//ios/chrome/browser/ui:resources",
+ "//ios/chrome/browser/ui/activity_services",
+ "//ios/chrome/browser/ui/alert_coordinator",
+ "//ios/chrome/browser/ui/authentication",
+ "//ios/chrome/browser/ui/bookmarks",
+ "//ios/chrome/browser/ui/colors",
+ "//ios/chrome/browser/ui/commands",
+ "//ios/chrome/browser/ui/context_menu",
+ "//ios/chrome/browser/ui/contextual_search",
+ "//ios/chrome/browser/ui/dialogs:dialogs_internal",
+ "//ios/chrome/browser/ui/elements:elements_internal",
+ "//ios/chrome/browser/ui/find_bar",
+ "//ios/chrome/browser/ui/first_run",
+ "//ios/chrome/browser/ui/history",
+ "//ios/chrome/browser/ui/keyboard",
+ "//ios/chrome/browser/ui/no_tabs",
+ "//ios/chrome/browser/ui/ntp",
+ "//ios/chrome/browser/ui/ntp:ntp_internal",
+ "//ios/chrome/browser/ui/ntp/recent_tabs",
+ "//ios/chrome/browser/ui/omnibox:omnibox_internal",
+ "//ios/chrome/browser/ui/overscroll_actions",
+ "//ios/chrome/browser/ui/print",
+ "//ios/chrome/browser/ui/qr_scanner",
+ "//ios/chrome/browser/ui/reading_list",
+ "//ios/chrome/browser/ui/stack_view",
+ "//ios/chrome/browser/ui/static_content",
+ "//ios/chrome/browser/ui/sync",
+ "//ios/chrome/browser/ui/tab_switcher",
+ "//ios/chrome/browser/ui/tabs",
+ "//ios/chrome/browser/ui/tools_menu",
+ "//ios/chrome/browser/ui/voice",
+ "//ios/chrome/browser/upgrade",
+ "//ios/chrome/browser/web:web_internal",
+ "//ios/chrome/common",
+ "//ios/net",
+ "//ios/public/provider/chrome/browser",
+ "//ios/public/provider/chrome/browser/ui",
+ "//ios/public/provider/chrome/browser/voice",
+ "//ios/third_party/material_components_ios",
+ "//ios/web",
+ "//ios/web/public/image_fetcher",
+ "//net",
+ "//third_party/google_toolbox_for_mac",
+ "//ui/base",
+ "//ui/gfx",
+ "//url",
+ ]
+ public_deps = [
+ "//ios/chrome/browser/ui/side_swipe",
+ "//ios/chrome/browser/ui/toolbar",
+ ]
+ allow_circular_includes_from = [
+ "//ios/chrome/browser/ui/tabs",
+ "//ios/chrome/browser/ui/tab_switcher",
+ "//ios/chrome/browser/ui/toolbar",
+ "//ios/chrome/browser/ui/overscroll_actions",
+ "//ios/chrome/browser/snapshots:snapshots_internal",
+ "//ios/chrome/browser/web:web_internal",
+ "//ios/chrome/browser/ui/ntp:ntp_internal",
+ "//ios/chrome/browser/ui/stack_view",
+ ]
+ libs = [
+ "AssetsLibrary.framework",
+ "MessageUI.framework",
+ "MobileCoreServices.framework",
+ "PassKit.framework",
+ "Photos.framework",
+ "QuartzCore.framework",
+ "StoreKit.framework",
+ "UIKit.framework",
+ "WebKit.framework",
+ ]
+}
+
+source_set("browser_list") {
+ sources = [
+ "browser_ios.h",
+ "browser_list_ios.h",
+ "browser_list_ios.mm",
+ ]
+ deps = [
+ "//ios/chrome/browser/browser_state",
+ "//ios/chrome/browser/tabs",
+ ]
+}
+
+source_set("test_support") {
+ testonly = true
+ sources = [
+ "browser_view_controller_testing.h",
+ "browser_view_controller_testing.mm",
+ ]
+ deps = [
+ ":ui_internal",
+ "//ios/chrome/browser/ui/toolbar",
+ "//ios/chrome/browser/ui/toolbar:test_support",
+ ]
+}
+
+bundle_data("resources_unit_tests") {
+ visibility = [ ":unit_tests" ]
+ testonly = true
+ sources = [
+ "//ios/chrome/test/data/testbadpass.pkpass",
+ "//ios/chrome/test/data/testpass.pkpass",
+ ]
+ outputs = [
+ "{{bundle_resources_dir}}/ios/chrome/test/data/{{source_file_part}}",
+ ]
+}
+
+source_set("eg_tests") {
+ testonly = true
+ sources = [
+ "browser_view_controller_egtest.mm",
+ "error_page_egtest.mm",
+ "fullscreen_egtest.mm",
+ "keyboard_commands_egtest.mm",
+ ]
+ deps = [
+ "//base",
+ "//components/strings",
+ "//ios/chrome/app/strings",
+ "//ios/chrome/browser/ui",
+ "//ios/chrome/browser/ui:ui_internal",
+ "//ios/chrome/browser/ui/commands",
+ "//ios/chrome/browser/ui/ntp:ntp_internal",
+ "//ios/chrome/browser/ui/toolbar",
+ "//ios/chrome/browser/ui/tools_menu",
+ "//ios/chrome/test/app:test_support",
+ "//ios/chrome/test/earl_grey:test_support",
+ "//ios/testing:ios_test_support",
+ "//ios/third_party/earl_grey",
+ "//ios/web:earl_grey_test_support",
+ "//ios/web:test_support",
+ "//ui/base",
+ "//url",
+ ]
+ libs = [
+ "UIKit.framework",
+ "WebKit.framework",
+ "XCTest.framework",
+ ]
+}
+
+source_set("perf_tests") {
+ testonly = true
+ sources = [
+ "omnibox_perftest.mm",
+ ]
+ deps = [
+ "//base",
+ "//base/test:test_support",
+ "//components/toolbar:test_support",
+ "//ios/chrome/browser/autocomplete",
+ "//ios/chrome/browser/browser_state:test_support",
+ "//ios/chrome/browser/search_engines",
+ "//ios/chrome/browser/tabs",
+ "//ios/chrome/browser/tabs:tabs_internal",
+ "//ios/chrome/browser/ui/omnibox:omnibox_internal",
+ "//ios/chrome/browser/ui/toolbar",
+ "//ios/chrome/test/base:perf_test_support",
+ "//testing/gtest",
+ "//third_party/ocmock",
+ "//ui/base:test_support",
+ ]
+ libs = [ "UIKit.framework" ]
+}
+
+# Clean skeleton targets
+source_set("ui_clean_skeleton") {
+ sources = [
+ "ui_types.h",
+ ]
+
+ configs += [ "//build/config/compiler:enable_arc" ]
+}
diff --git a/ios/chrome/browser/ui/actions/BUILD.gn b/ios/chrome/browser/ui/actions/BUILD.gn
new file mode 100644
index 0000000..361b2424
--- /dev/null
+++ b/ios/chrome/browser/ui/actions/BUILD.gn
@@ -0,0 +1,13 @@
+# Copyright 2016 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+source_set("actions") {
+ sources = [
+ "settings_actions.h",
+ "tab_grid_actions.h",
+ "tools_menu_actions.h",
+ ]
+
+ configs += [ "//build/config/compiler:enable_arc" ]
+}
diff --git a/ios/chrome/browser/ui/activity_services/BUILD.gn b/ios/chrome/browser/ui/activity_services/BUILD.gn
index bbc602f..53b8977 100644
--- a/ios/chrome/browser/ui/activity_services/BUILD.gn
+++ b/ios/chrome/browser/ui/activity_services/BUILD.gn
@@ -26,3 +26,80 @@
"{{bundle_resources_dir}}/{{source_file_part}}",
]
}
+
+source_set("activity_services") {
+ configs += [ "//build/config/compiler:enable_arc" ]
+ sources = [
+ "activity_service_controller.h",
+ "activity_service_controller.mm",
+ "activity_type_util.h",
+ "activity_type_util.mm",
+ "appex_constants.h",
+ "appex_constants.mm",
+ "chrome_activity_item_source.h",
+ "chrome_activity_item_source.mm",
+ "print_activity.h",
+ "print_activity.mm",
+ "reading_list_activity.h",
+ "reading_list_activity.mm",
+ "share_protocol.h",
+ "share_to_data.h",
+ "share_to_data.mm",
+ ]
+ deps = [
+ "//base",
+ "//components/reading_list/core",
+ "//ios/chrome/app/strings",
+ "//ios/chrome/browser",
+ "//ios/chrome/browser/tabs",
+ "//ios/chrome/browser/ui",
+ "//ios/chrome/browser/ui/activity_services:assets",
+ "//ios/chrome/browser/ui/activity_services:resources",
+ "//ios/chrome/browser/ui/commands",
+ "//net",
+ "//ui/base",
+ "//url",
+ ]
+ libs = [
+ "MobileCoreServices.framework",
+ "UIKit.framework",
+ ]
+}
+
+source_set("unit_tests") {
+ testonly = true
+ sources = [
+ "activity_service_controller_unittest.mm",
+ "activity_type_util_unittest.mm",
+ ]
+ deps = [
+ ":activity_services",
+ "//base",
+ "//base/test:test_support",
+ "//components/reading_list/core",
+ "//ios/chrome/app/strings",
+ "//ios/web:test_support",
+ "//testing/gtest",
+ "//third_party/ocmock",
+ "//ui/base",
+ ]
+}
+
+source_set("eg_tests") {
+ testonly = true
+ sources = [
+ "activity_service_controller_egtest.mm",
+ ]
+ deps = [
+ "//base",
+ "//components/strings",
+ "//ios/chrome/app/strings",
+ "//ios/chrome/browser/ui",
+ "//ios/chrome/browser/ui:ui_internal",
+ "//ios/chrome/test/earl_grey:test_support",
+ "//ios/third_party/material_components_ios",
+ "//ios/web:test_support",
+ "//ui/base",
+ ]
+ libs = [ "XCTest.framework" ]
+}
diff --git a/ios/chrome/browser/ui/alert_coordinator/BUILD.gn b/ios/chrome/browser/ui/alert_coordinator/BUILD.gn
index ba5bab4..78049b0f 100644
--- a/ios/chrome/browser/ui/alert_coordinator/BUILD.gn
+++ b/ios/chrome/browser/ui/alert_coordinator/BUILD.gn
@@ -37,3 +37,40 @@
"//ui/strings",
]
}
+
+source_set("alert_coordinator_internal") {
+ sources = [
+ "loading_alert_coordinator.h",
+ "loading_alert_coordinator.mm",
+ ]
+ deps = [
+ "//base",
+ "//components/strings",
+ "//ios/chrome/browser",
+ "//ios/chrome/browser/ui",
+ "//ios/chrome/browser/ui/material_components",
+ "//ios/third_party/material_components_ios",
+ "//ios/third_party/material_roboto_font_loader_ios",
+ "//ui/base",
+ ]
+ libs = [ "UIKit.framework" ]
+}
+
+source_set("eg_tests") {
+ testonly = true
+ sources = [
+ "alert_coordinator_egtest.mm",
+ ]
+ deps = [
+ "//base",
+ "//components/strings",
+ "//ios/chrome/browser/ui/alert_coordinator",
+ "//ios/chrome/test/earl_grey:test_support",
+ "//ios/testing/earl_grey:earl_grey_support",
+ "//ios/third_party/earl_grey",
+ ]
+ libs = [
+ "UIKit.framework",
+ "XCTest.framework",
+ ]
+}
diff --git a/ios/chrome/browser/ui/animators/BUILD.gn b/ios/chrome/browser/ui/animators/BUILD.gn
new file mode 100644
index 0000000..32c610a
--- /dev/null
+++ b/ios/chrome/browser/ui/animators/BUILD.gn
@@ -0,0 +1,17 @@
+# Copyright 2016 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+source_set("animators") {
+ sources = [
+ "zoom_transition_animator.h",
+ "zoom_transition_animator.mm",
+ "zoom_transition_delegate.h",
+ ]
+
+ configs += [ "//build/config/compiler:enable_arc" ]
+
+ deps = [
+ "//base",
+ ]
+}
diff --git a/ios/chrome/browser/ui/authentication/BUILD.gn b/ios/chrome/browser/ui/authentication/BUILD.gn
index 96c2912..718a53d 100644
--- a/ios/chrome/browser/ui/authentication/BUILD.gn
+++ b/ios/chrome/browser/ui/authentication/BUILD.gn
@@ -12,3 +12,126 @@
"{{bundle_resources_dir}}/{{source_file_part}}",
]
}
+
+source_set("authentication") {
+ sources = [
+ "authentication_flow.h",
+ "authentication_flow.mm",
+ "authentication_flow_performer.h",
+ "authentication_flow_performer.mm",
+ "authentication_flow_performer_delegate.h",
+ "authentication_ui_util.h",
+ "authentication_ui_util.mm",
+ "chrome_signin_view_controller.h",
+ "chrome_signin_view_controller.mm",
+ "re_signin_infobar_delegate.h",
+ "re_signin_infobar_delegate.mm",
+ "signed_in_accounts_view_controller.h",
+ "signed_in_accounts_view_controller.mm",
+ "signin_account_selector_view_controller.h",
+ "signin_account_selector_view_controller.mm",
+ "signin_confirmation_view_controller.h",
+ "signin_confirmation_view_controller.mm",
+ "signin_interaction_controller.h",
+ "signin_interaction_controller.mm",
+ ]
+ deps = [
+ "//base",
+ "//components/google/core/browser",
+ "//components/infobars/core",
+ "//components/prefs",
+ "//components/signin/core/browser",
+ "//components/signin/core/common",
+ "//components/signin/ios/browser",
+ "//components/strings",
+ "//google_apis",
+ "//ios/chrome/app/strings",
+ "//ios/chrome/app/theme",
+ "//ios/chrome/browser",
+ "//ios/chrome/browser/browser_state",
+ "//ios/chrome/browser/browsing_data",
+ "//ios/chrome/browser/infobars",
+ "//ios/chrome/browser/signin",
+ "//ios/chrome/browser/sync",
+ "//ios/chrome/browser/tabs",
+ "//ios/chrome/browser/ui",
+ "//ios/chrome/browser/ui/alert_coordinator",
+ "//ios/chrome/browser/ui/authentication:resources",
+ "//ios/chrome/browser/ui/collection_view",
+ "//ios/chrome/browser/ui/collection_view/cells",
+ "//ios/chrome/browser/ui/colors",
+ "//ios/chrome/browser/ui/commands",
+ "//ios/chrome/browser/ui/settings/cells",
+ "//ios/chrome/browser/ui/settings/utils",
+ "//ios/chrome/browser/ui/util",
+ "//ios/chrome/common",
+ "//ios/public/provider/chrome/browser",
+ "//ios/public/provider/chrome/browser/images",
+ "//ios/public/provider/chrome/browser/signin",
+ "//ios/third_party/material_components_ios",
+ "//ios/third_party/material_roboto_font_loader_ios",
+ "//ui/base",
+ "//ui/gfx",
+ "//url",
+ ]
+ libs = [
+ "CoreGraphics.framework",
+ "QuartzCore.framework",
+ "UIKit.framework",
+ ]
+}
+
+source_set("unit_tests") {
+ testonly = true
+ sources = [
+ "authentication_flow_unittest.mm",
+ "re_signin_infobar_delegate_unittest.mm",
+ "signed_in_accounts_view_controller_unittest.mm",
+ ]
+ deps = [
+ ":authentication",
+ "//base",
+ "//base/test:test_support",
+ "//components/pref_registry",
+ "//components/sync_preferences",
+ "//components/sync_preferences:test_support",
+ "//ios/chrome/browser/browser_state:test_support",
+ "//ios/chrome/browser/infobars",
+ "//ios/chrome/browser/prefs:browser_prefs",
+ "//ios/chrome/browser/signin",
+ "//ios/chrome/browser/signin:test_support",
+ "//ios/chrome/browser/ui/commands",
+ "//ios/chrome/test:test_support",
+ "//ios/public/provider/chrome/browser/signin:test_support",
+ "//ios/web:test_support",
+ "//testing/gtest",
+ "//third_party/ocmock",
+ "//ui/base",
+ ]
+}
+
+source_set("eg_tests") {
+ testonly = true
+ sources = [
+ "signin_interaction_controller_egtest.mm",
+ ]
+ deps = [
+ "//base",
+ "//base/test:test_support",
+ "//components/signin/core/browser",
+ "//ios/chrome/app/strings",
+ "//ios/chrome/browser",
+ "//ios/chrome/browser/signin",
+ "//ios/chrome/browser/ui",
+ "//ios/chrome/browser/ui/commands",
+ "//ios/chrome/browser/ui/settings",
+ "//ios/chrome/browser/ui/tools_menu",
+ "//ios/chrome/test/app:test_support",
+ "//ios/chrome/test/earl_grey:test_support",
+ "//ios/public/provider/chrome/browser/signin:test_support",
+ "//ios/testing:ios_test_support",
+ "//ios/testing/earl_grey:earl_grey_support",
+ "//ios/third_party/earl_grey",
+ ]
+ libs = [ "XCTest.framework" ]
+}
diff --git a/ios/chrome/browser/ui/autofill/BUILD.gn b/ios/chrome/browser/ui/autofill/BUILD.gn
index 9b3f89f..0f2627a 100644
--- a/ios/chrome/browser/ui/autofill/BUILD.gn
+++ b/ios/chrome/browser/ui/autofill/BUILD.gn
@@ -25,3 +25,28 @@
"//ios/public/provider/chrome/browser",
]
}
+
+source_set("autofill_internal") {
+ sources = [
+ "card_unmask_prompt_view_bridge.h",
+ "card_unmask_prompt_view_bridge.mm",
+ "storage_switch_tooltip.h",
+ "storage_switch_tooltip.mm",
+ ]
+ deps = [
+ "//base",
+ "//components/autofill/core/browser",
+ "//components/strings",
+ "//ios/chrome/browser/ui",
+ "//ios/chrome/browser/ui/autofill/cells",
+ "//ios/chrome/browser/ui/collection_view/cells",
+ "//ios/chrome/browser/ui/colors",
+ "//ios/third_party/material_components_ios",
+ "//ios/third_party/material_roboto_font_loader_ios",
+ "//ui/base",
+ ]
+ public_deps = [
+ "//ios/chrome/browser/ui/collection_view",
+ ]
+ libs = [ "UIKit.framework" ]
+}
diff --git a/ios/chrome/browser/ui/autofill/cells/BUILD.gn b/ios/chrome/browser/ui/autofill/cells/BUILD.gn
new file mode 100644
index 0000000..8bd7c3e
--- /dev/null
+++ b/ios/chrome/browser/ui/autofill/cells/BUILD.gn
@@ -0,0 +1,50 @@
+# Copyright 2016 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+source_set("cells") {
+ sources = [
+ "cvc_item.h",
+ "cvc_item.mm",
+ "status_item.h",
+ "status_item.mm",
+ "storage_switch_item.h",
+ "storage_switch_item.mm",
+ ]
+
+ deps = [
+ "//components/resources",
+ "//components/strings",
+ "//ios/chrome/app/strings",
+ "//ios/chrome/app/theme",
+ "//ios/chrome/browser/ui/collection_view/cells",
+ "//ios/chrome/browser/ui/colors",
+ "//ios/public/provider/chrome/browser",
+ "//ios/public/provider/chrome/browser/ui",
+ "//ios/third_party/material_components_ios",
+ "//ios/third_party/material_roboto_font_loader_ios",
+ "//ui/base",
+ ]
+
+ configs += [ "//build/config/compiler:enable_arc" ]
+}
+
+source_set("unit_tests") {
+ testonly = true
+ sources = [
+ "cvc_item_unittest.mm",
+ "status_item_unittest.mm",
+ "storage_switch_item_unittest.mm",
+ ]
+
+ deps = [
+ ":cells",
+ "//base",
+ "//components/resources",
+ "//ios/chrome/browser/ui/collection_view/cells",
+ "//ios/third_party/material_components_ios",
+ "//testing/gtest",
+ ]
+
+ configs += [ "//build/config/compiler:enable_arc" ]
+}
diff --git a/ios/chrome/browser/ui/bookmarks/BUILD.gn b/ios/chrome/browser/ui/bookmarks/BUILD.gn
index 4f2fb6b..627dca3 100644
--- a/ios/chrome/browser/ui/bookmarks/BUILD.gn
+++ b/ios/chrome/browser/ui/bookmarks/BUILD.gn
@@ -78,3 +78,180 @@
"{{bundle_resources_dir}}/{{source_file_part}}",
]
}
+
+source_set("bookmarks") {
+ sources = [
+ "bookmark_all_collection_view.h",
+ "bookmark_all_collection_view.mm",
+ "bookmark_collection_cells.h",
+ "bookmark_collection_cells.mm",
+ "bookmark_collection_view.h",
+ "bookmark_collection_view.mm",
+ "bookmark_collection_view_background.h",
+ "bookmark_collection_view_background.mm",
+ "bookmark_controller_factory.h",
+ "bookmark_controller_factory.mm",
+ "bookmark_edit_view_controller.h",
+ "bookmark_edit_view_controller.mm",
+ "bookmark_elevated_toolbar.h",
+ "bookmark_elevated_toolbar.mm",
+ "bookmark_extended_button.h",
+ "bookmark_extended_button.mm",
+ "bookmark_folder_collection_view.h",
+ "bookmark_folder_collection_view.mm",
+ "bookmark_folder_editor_view_controller.h",
+ "bookmark_folder_editor_view_controller.mm",
+ "bookmark_folder_table_view_cell.h",
+ "bookmark_folder_table_view_cell.mm",
+ "bookmark_folder_view_controller.h",
+ "bookmark_folder_view_controller.mm",
+ "bookmark_home_handset_view_controller.h",
+ "bookmark_home_handset_view_controller.mm",
+ "bookmark_home_primary_view.h",
+ "bookmark_home_tablet_ntp_controller.h",
+ "bookmark_home_tablet_ntp_controller.mm",
+ "bookmark_home_view_controller.h",
+ "bookmark_home_view_controller.mm",
+ "bookmark_home_waiting_view.h",
+ "bookmark_home_waiting_view.mm",
+ "bookmark_interaction_controller.h",
+ "bookmark_interaction_controller.mm",
+ "bookmark_menu_cell.h",
+ "bookmark_menu_cell.mm",
+ "bookmark_menu_item.h",
+ "bookmark_menu_item.mm",
+ "bookmark_menu_view.h",
+ "bookmark_menu_view.mm",
+ "bookmark_model_bridge_observer.h",
+ "bookmark_model_bridge_observer.mm",
+ "bookmark_navigation_controller.h",
+ "bookmark_navigation_controller.mm",
+ "bookmark_panel_view.h",
+ "bookmark_panel_view.mm",
+ "bookmark_position_cache.h",
+ "bookmark_position_cache.mm",
+ "bookmark_promo_cell.h",
+ "bookmark_promo_cell.mm",
+ "bookmark_promo_controller.h",
+ "bookmark_promo_controller.mm",
+ "bookmark_utils_ios.h",
+ "bookmark_utils_ios.mm",
+ "undo_manager_bridge_observer.h",
+ "undo_manager_bridge_observer.mm",
+ "undo_manager_wrapper.h",
+ "undo_manager_wrapper.mm",
+ ]
+ deps = [
+ "//base",
+ "//base:i18n",
+ "//components/bookmarks/browser",
+ "//components/favicon/core",
+ "//components/favicon_base",
+ "//components/pref_registry",
+ "//components/prefs",
+ "//components/query_parser",
+ "//components/signin/core/browser",
+ "//components/strings",
+ "//components/undo",
+ "//components/url_formatter",
+ "//google_apis",
+ "//ios/chrome/app/strings",
+ "//ios/chrome/app/theme",
+ "//ios/chrome/browser",
+ "//ios/chrome/browser/bookmarks",
+ "//ios/chrome/browser/bookmarks:bookmarks_utils",
+ "//ios/chrome/browser/browser_state",
+ "//ios/chrome/browser/favicon",
+ "//ios/chrome/browser/metrics:metrics_internal",
+ "//ios/chrome/browser/signin",
+ "//ios/chrome/browser/tabs",
+ "//ios/chrome/browser/ui",
+ "//ios/chrome/browser/ui/alert_coordinator",
+ "//ios/chrome/browser/ui/bookmarks:resources",
+ "//ios/chrome/browser/ui/bookmarks/bars",
+ "//ios/chrome/browser/ui/bookmarks/cells",
+ "//ios/chrome/browser/ui/collection_view",
+ "//ios/chrome/browser/ui/collection_view/cells",
+ "//ios/chrome/browser/ui/colors",
+ "//ios/chrome/browser/ui/commands",
+ "//ios/chrome/browser/ui/icons",
+ "//ios/chrome/browser/ui/keyboard",
+ "//ios/chrome/browser/ui/material_components",
+ "//ios/chrome/browser/ui/ntp",
+ "//ios/chrome/browser/undo",
+ "//ios/public/provider/chrome/browser",
+ "//ios/public/provider/chrome/browser/ui",
+ "//ios/third_party/material_components_ios",
+ "//ios/third_party/material_roboto_font_loader_ios",
+ "//ios/web",
+ "//skia",
+ "//ui/base",
+ "//ui/gfx",
+ "//url",
+ ]
+ allow_circular_includes_from = [
+ "//ios/chrome/browser/ui/bookmarks/bars",
+ "//ios/chrome/browser/ui/bookmarks/cells",
+ ]
+ libs = [
+ "CoreGraphics.framework",
+ "QuartzCore.framework",
+ "UIKit.framework",
+ ]
+}
+
+source_set("unit_tests") {
+ testonly = true
+ sources = [
+ "bookmark_home_view_controller_unittest.mm",
+ "bookmark_ios_unittest.mm",
+ "bookmark_position_cache_unittest.mm",
+ "bookmark_utils_ios_unittest.mm",
+ ]
+ deps = [
+ ":bookmarks",
+ "//base",
+ "//components/bookmarks/browser",
+ "//components/bookmarks/test",
+ "//components/sync_preferences:test_support",
+ "//ios/chrome/browser",
+ "//ios/chrome/browser/bookmarks",
+ "//ios/chrome/browser/browser_state:test_support",
+ "//ios/web:test_support",
+ "//testing/gtest",
+ ]
+}
+
+source_set("eg_tests") {
+ testonly = true
+ sources = [
+ "bookmarks_egtest.mm",
+ ]
+ deps = [
+ "//base",
+ "//components/bookmarks/browser",
+ "//components/prefs",
+ "//components/strings",
+ "//ios/chrome/app/strings",
+ "//ios/chrome/browser",
+ "//ios/chrome/browser/bookmarks",
+ "//ios/chrome/browser/bookmarks:bookmarks_utils",
+ "//ios/chrome/browser/browser_state",
+ "//ios/chrome/browser/ui",
+ "//ios/chrome/browser/ui/commands",
+ "//ios/chrome/browser/ui/toolbar",
+ "//ios/chrome/browser/ui/tools_menu",
+ "//ios/chrome/test/app:test_support",
+ "//ios/chrome/test/earl_grey:test_support",
+ "//ios/public/provider/chrome/browser/signin:test_support",
+ "//ios/testing:ios_test_support",
+ "//ios/third_party/earl_grey",
+ "//ios/web:test_support",
+ "//ui/base",
+ "//url",
+ ]
+ libs = [
+ "UIKit.framework",
+ "XCTest.framework",
+ ]
+}
diff --git a/ios/chrome/browser/ui/bookmarks/bars/BUILD.gn b/ios/chrome/browser/ui/bookmarks/bars/BUILD.gn
new file mode 100644
index 0000000..47c8cfe
--- /dev/null
+++ b/ios/chrome/browser/ui/bookmarks/bars/BUILD.gn
@@ -0,0 +1,25 @@
+# Copyright 2016 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+source_set("bars") {
+ sources = [
+ "bookmark_editing_bar.h",
+ "bookmark_editing_bar.mm",
+ "bookmark_navigation_bar.h",
+ "bookmark_navigation_bar.mm",
+ "bookmark_top_bar.h",
+ "bookmark_top_bar.mm",
+ ]
+ deps = [
+ "//base",
+ "//ios/chrome/app/strings",
+ "//ios/chrome/browser/ui",
+ "//ios/third_party/material_components_ios",
+ "//ui/base",
+ ]
+ libs = [
+ "QuartzCore.framework",
+ "UIKit.framework",
+ ]
+}
diff --git a/ios/chrome/browser/ui/bookmarks/cells/BUILD.gn b/ios/chrome/browser/ui/bookmarks/cells/BUILD.gn
new file mode 100644
index 0000000..13996b5
--- /dev/null
+++ b/ios/chrome/browser/ui/bookmarks/cells/BUILD.gn
@@ -0,0 +1,45 @@
+# Copyright 2016 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+source_set("cells") {
+ sources = [
+ "bookmark_parent_folder_item.h",
+ "bookmark_parent_folder_item.mm",
+ "bookmark_text_field_item.h",
+ "bookmark_text_field_item.mm",
+ ]
+
+ deps = [
+ "//base",
+ "//ios/chrome/app/strings",
+ "//ios/chrome/browser/ui",
+ "//ios/chrome/browser/ui/collection_view/cells",
+ "//ios/chrome/browser/ui/icons",
+ "//ios/public/provider/chrome/browser",
+ "//ios/public/provider/chrome/browser/ui",
+ "//ios/third_party/material_components_ios",
+ "//ios/third_party/material_roboto_font_loader_ios",
+ "//ui/base",
+ ]
+
+ configs += [ "//build/config/compiler:enable_arc" ]
+}
+
+source_set("unit_tests") {
+ testonly = true
+ sources = [
+ "bookmark_parent_folder_item_unittest.mm",
+ "bookmark_text_field_item_unittest.mm",
+ ]
+
+ deps = [
+ ":cells",
+ "//ios/chrome/browser/ui/collection_view/cells",
+ "//ios/third_party/material_components_ios",
+ "//testing/gtest",
+ "//third_party/ocmock",
+ ]
+
+ configs += [ "//build/config/compiler:enable_arc" ]
+}
diff --git a/ios/chrome/browser/ui/collection_view/BUILD.gn b/ios/chrome/browser/ui/collection_view/BUILD.gn
new file mode 100644
index 0000000..0aafb01
--- /dev/null
+++ b/ios/chrome/browser/ui/collection_view/BUILD.gn
@@ -0,0 +1,54 @@
+# Copyright 2016 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+source_set("collection_view") {
+ sources = [
+ "collection_view_controller.h",
+ "collection_view_controller.mm",
+ "collection_view_model.h",
+ "collection_view_model.mm",
+ ]
+ deps = [
+ "//base",
+ "//ios/chrome/browser/ui/material_components",
+ ]
+ public_deps = [
+ "//ios/chrome/browser/ui/collection_view/cells",
+ "//ios/third_party/material_components_ios",
+ ]
+}
+
+source_set("test_support") {
+ testonly = true
+ sources = [
+ "collection_view_controller_test.h",
+ "collection_view_controller_test.mm",
+ ]
+ deps = [
+ ":collection_view",
+ "//base",
+ "//ios/chrome/browser/ui/collection_view/cells",
+ "//ios/chrome/test:test_support",
+ "//ios/third_party/material_components_ios",
+ "//testing/gtest",
+ "//ui/base",
+ ]
+}
+
+source_set("unit_tests") {
+ testonly = true
+ sources = [
+ "collection_view_controller_unittest.mm",
+ "collection_view_model_unittest.mm",
+ ]
+ deps = [
+ ":collection_view",
+ "//base",
+ "//ios/chrome/browser/ui/collection_view/cells",
+ "//ios/chrome/test:test_support",
+ "//ios/chrome/test/base",
+ "//ios/third_party/material_components_ios",
+ "//testing/gtest",
+ ]
+}
diff --git a/ios/chrome/browser/ui/collection_view/cells/BUILD.gn b/ios/chrome/browser/ui/collection_view/cells/BUILD.gn
new file mode 100644
index 0000000..e6e8c32
--- /dev/null
+++ b/ios/chrome/browser/ui/collection_view/cells/BUILD.gn
@@ -0,0 +1,72 @@
+# Copyright 2016 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+source_set("cells") {
+ sources = [
+ "MDCCollectionViewCell+Chrome.h",
+ "MDCCollectionViewCell+Chrome.mm",
+ "activity_indicator_cell.h",
+ "activity_indicator_cell.mm",
+ "collection_view_account_item.h",
+ "collection_view_account_item.mm",
+ "collection_view_detail_item.h",
+ "collection_view_detail_item.mm",
+ "collection_view_footer_item.h",
+ "collection_view_footer_item.mm",
+ "collection_view_item.h",
+ "collection_view_item.mm",
+ "collection_view_switch_item.h",
+ "collection_view_switch_item.mm",
+ "collection_view_text_item.h",
+ "collection_view_text_item.mm",
+ ]
+
+ deps = [
+ "//base",
+ "//ios/chrome/app/strings",
+ "//ios/chrome/browser/ui/colors",
+ "//ios/chrome/browser/ui/material_components",
+ "//ios/chrome/browser/ui/util",
+ "//ios/chrome/common",
+ "//ios/third_party/material_roboto_font_loader_ios",
+ "//ui/base",
+ "//url",
+ ]
+ public_deps = [
+ "//ios/third_party/material_components_ios",
+ ]
+
+ configs += [ "//build/config/compiler:enable_arc" ]
+}
+
+source_set("test_support") {
+ testonly = true
+ sources = [
+ "test_utils.h",
+ "test_utils.mm",
+ ]
+}
+
+source_set("unit_tests") {
+ testonly = true
+ sources = [
+ "MDCCollectionViewCell+Chrome_unittest.mm",
+ "activity_indicator_cell_unittest.mm",
+ "collection_view_account_item_unittest.mm",
+ "collection_view_detail_item_unittest.mm",
+ "collection_view_footer_item_unittest.mm",
+ "collection_view_item_unittest.mm",
+ "collection_view_switch_item_unittest.mm",
+ "collection_view_text_item_unittest.mm",
+ ]
+
+ deps = [
+ ":cells",
+ ":test_support",
+ "//ios/third_party/material_components_ios",
+ "//testing/gtest",
+ ]
+
+ configs += [ "//build/config/compiler:enable_arc" ]
+}
diff --git a/ios/chrome/browser/ui/colors/BUILD.gn b/ios/chrome/browser/ui/colors/BUILD.gn
new file mode 100644
index 0000000..f49ba7b
--- /dev/null
+++ b/ios/chrome/browser/ui/colors/BUILD.gn
@@ -0,0 +1,14 @@
+# Copyright 2016 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+source_set("colors") {
+ sources = [
+ "MDCPalette+CrAdditions.h",
+ "MDCPalette+CrAdditions.mm",
+ ]
+ deps = [
+ "//ios/third_party/material_components_ios",
+ "//ios/web",
+ ]
+}
diff --git a/ios/chrome/browser/ui/contextual_search/BUILD.gn b/ios/chrome/browser/ui/contextual_search/BUILD.gn
index 40e83396..6d1813a 100644
--- a/ios/chrome/browser/ui/contextual_search/BUILD.gn
+++ b/ios/chrome/browser/ui/contextual_search/BUILD.gn
@@ -30,3 +30,113 @@
"{{bundle_resources_dir}}/{{source_file_part}}",
]
}
+
+source_set("contextual_search") {
+ sources = [
+ "contextual_search_context.cc",
+ "contextual_search_context.h",
+ "contextual_search_controller.h",
+ "contextual_search_controller.mm",
+ "contextual_search_delegate.cc",
+ "contextual_search_delegate.h",
+ "contextual_search_header_view.h",
+ "contextual_search_header_view.mm",
+ "contextual_search_highlighter_view.h",
+ "contextual_search_highlighter_view.mm",
+ "contextual_search_mask_view.h",
+ "contextual_search_mask_view.mm",
+ "contextual_search_metrics.h",
+ "contextual_search_metrics.mm",
+ "contextual_search_panel_protocols.h",
+ "contextual_search_panel_view.h",
+ "contextual_search_panel_view.mm",
+ "contextual_search_promo_view.h",
+ "contextual_search_promo_view.mm",
+ "contextual_search_results_view.h",
+ "contextual_search_results_view.mm",
+ "contextual_search_web_state_observer.h",
+ "contextual_search_web_state_observer.mm",
+ "js_contextual_search_manager.h",
+ "js_contextual_search_manager.mm",
+ "panel_configuration.h",
+ "panel_configuration.mm",
+ "touch_to_search_permissions_mediator.h",
+ "touch_to_search_permissions_mediator.mm",
+ "window_gesture_observer.h",
+ "window_gesture_observer.mm",
+ ]
+ deps = [
+ "//base",
+ "//components/google/core/browser",
+ "//components/prefs",
+ "//components/search_engines",
+ "//components/variations",
+ "//components/variations/net",
+ "//ios/chrome/app:tests_hook",
+ "//ios/chrome/app/strings",
+ "//ios/chrome/browser",
+ "//ios/chrome/browser/browser_state",
+ "//ios/chrome/browser/prefs",
+ "//ios/chrome/browser/search_engines",
+ "//ios/chrome/browser/sync",
+ "//ios/chrome/browser/tabs",
+ "//ios/chrome/browser/ui",
+ "//ios/chrome/browser/ui/colors",
+ "//ios/chrome/browser/ui/commands",
+ "//ios/chrome/browser/ui/contextual_search:injected_js",
+ "//ios/chrome/browser/ui/contextual_search:resources",
+ "//ios/chrome/browser/ui/contextual_search/protos",
+ "//ios/chrome/browser/ui/util",
+ "//ios/chrome/browser/web",
+ "//ios/chrome/common",
+ "//ios/public/provider/chrome/browser",
+ "//ios/public/provider/chrome/browser/images",
+ "//ios/third_party/material_components_ios",
+ "//ios/third_party/material_roboto_font_loader_ios",
+ "//ios/web",
+ "//net",
+ "//ui/base",
+ "//url",
+ ]
+ libs = [ "UIKit.framework" ]
+}
+
+source_set("test_support") {
+ testonly = true
+ sources = [
+ "touch_to_search_permissions_mediator+testing.h",
+ "touch_to_search_permissions_mediator+testing.mm",
+ ]
+ deps = [
+ ":contextual_search",
+ ]
+}
+
+source_set("unit_tests") {
+ testonly = true
+ sources = [
+ "contextual_search_js_unittest.mm",
+ "touch_to_search_permissions_mediator_unittest.mm",
+ ]
+ deps = [
+ ":contextual_search",
+ ":test_support",
+ "//base",
+ "//base/test:test_support",
+ "//components/pref_registry",
+ "//components/prefs",
+ "//components/search_engines",
+ "//ios/chrome/browser",
+ "//ios/chrome/browser/browser_state:test_support",
+ "//ios/chrome/browser/search_engines",
+ "//ios/chrome/browser/sync",
+ "//ios/chrome/browser/sync:test_support",
+ "//ios/chrome/browser/ui/contextual_search:resources_unit_tests",
+ "//ios/chrome/browser/web:test_support",
+ "//ios/web",
+ "//ios/web:test_support",
+ "//net",
+ "//testing/gtest",
+ "//third_party/ocmock",
+ ]
+}
diff --git a/ios/chrome/browser/ui/contextual_search/protos/BUILD.gn b/ios/chrome/browser/ui/contextual_search/protos/BUILD.gn
new file mode 100644
index 0000000..a882a06
--- /dev/null
+++ b/ios/chrome/browser/ui/contextual_search/protos/BUILD.gn
@@ -0,0 +1,11 @@
+# Copyright 2016 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+import("//third_party/protobuf/proto_library.gni")
+
+proto_library("protos") {
+ sources = [
+ "client_discourse_context.proto",
+ ]
+}
diff --git a/ios/chrome/browser/ui/dialogs/BUILD.gn b/ios/chrome/browser/ui/dialogs/BUILD.gn
index 506aa95..6f7f557 100644
--- a/ios/chrome/browser/ui/dialogs/BUILD.gn
+++ b/ios/chrome/browser/ui/dialogs/BUILD.gn
@@ -32,3 +32,76 @@
configs += [ "//build/config/compiler:enable_arc" ]
}
+
+source_set("dialogs_internal") {
+ sources = [
+ "dialog_presenter.h",
+ "dialog_presenter.mm",
+ "java_script_dialog_presenter_impl.h",
+ "java_script_dialog_presenter_impl.mm",
+ "nsurl_protection_space_util.h",
+ "nsurl_protection_space_util.mm",
+ ]
+ deps = [
+ "//base",
+ "//components/strings",
+ "//components/url_formatter",
+ "//ios/chrome/app/strings",
+ "//ios/chrome/browser/ui",
+ "//ios/chrome/browser/ui/alert_coordinator",
+ "//ios/chrome/browser/ui/dialogs",
+ "//ios/web",
+ "//ui/base",
+ "//url",
+ ]
+ libs = [ "UIKit.framework" ]
+}
+
+source_set("unit_tests_internal") {
+ testonly = true
+ sources = [
+ "dialog_presenter_unittest.mm",
+ "nsurl_protection_space_util_unittest.mm",
+ ]
+ deps = [
+ ":dialogs_internal",
+ "//base",
+ "//components/strings",
+ "//ios/chrome/app/strings",
+ "//ios/chrome/browser/ui/alert_coordinator",
+ "//ios/web:test_support",
+ "//ios/web:web",
+ "//testing/gtest",
+ "//ui/base",
+ "//url",
+ ]
+}
+
+source_set("eg_tests") {
+ configs += [ "//build/config/compiler:enable_arc" ]
+ testonly = true
+ sources = [
+ "javascript_dialog_egtest.mm",
+ ]
+ deps = [
+ "//base",
+ "//components/strings",
+ "//ios/chrome/app/strings",
+ "//ios/chrome/browser/ui",
+ "//ios/chrome/browser/ui/dialogs:dialogs_internal",
+ "//ios/chrome/browser/ui/tools_menu",
+ "//ios/chrome/test/app:test_support",
+ "//ios/chrome/test/earl_grey:test_support",
+ "//ios/testing:ios_test_support",
+ "//ios/testing/earl_grey:earl_grey_support",
+ "//ios/third_party/earl_grey",
+ "//ios/web",
+ "//ios/web:test_support",
+ "//ui/base",
+ "//url",
+ ]
+ libs = [
+ "UIKit.framework",
+ "XCTest.framework",
+ ]
+}
diff --git a/ios/chrome/browser/ui/downloads/BUILD.gn b/ios/chrome/browser/ui/downloads/BUILD.gn
index 033ec0c..eafa4b4 100644
--- a/ios/chrome/browser/ui/downloads/BUILD.gn
+++ b/ios/chrome/browser/ui/downloads/BUILD.gn
@@ -32,3 +32,49 @@
bundle_data_ib_file("download_manager_controller_xib") {
source = "resources/DownloadManagerController.xib"
}
+
+source_set("downloads") {
+ sources = [
+ "download_manager_controller.h",
+ "download_manager_controller.mm",
+ ]
+ deps = [
+ "//base",
+ "//components/strings",
+ "//ios/chrome/app/strings",
+ "//ios/chrome/browser",
+ "//ios/chrome/browser/native_app_launcher",
+ "//ios/chrome/browser/native_app_launcher:native_app_launcher_internal",
+ "//ios/chrome/browser/ui",
+ "//ios/chrome/browser/ui/alert_coordinator",
+ "//ios/chrome/browser/ui/colors",
+ "//ios/chrome/browser/ui/downloads:assets",
+ "//ios/chrome/browser/ui/downloads:download_manager_controller_xib",
+ "//ios/chrome/browser/web:web_internal",
+ "//ios/public/provider/chrome/browser",
+ "//ios/public/provider/chrome/browser/native_app_launcher",
+ "//ios/third_party/material_components_ios",
+ "//ios/third_party/material_roboto_font_loader_ios",
+ "//ios/web",
+ "//ios/web:core",
+ "//net",
+ "//ui/base",
+ "//ui/gfx",
+ ]
+ libs = [ "UIKit.framework" ]
+}
+
+source_set("unit_tests") {
+ testonly = true
+ sources = [
+ "download_manager_controller_unittest.mm",
+ ]
+ deps = [
+ ":downloads",
+ "//base",
+ "//ios/chrome/browser",
+ "//ios/web:test_support",
+ "//net:test_support",
+ "//testing/gtest",
+ ]
+}
diff --git a/ios/chrome/browser/ui/elements/BUILD.gn b/ios/chrome/browser/ui/elements/BUILD.gn
index 4a287e8..2eb19d6 100644
--- a/ios/chrome/browser/ui/elements/BUILD.gn
+++ b/ios/chrome/browser/ui/elements/BUILD.gn
@@ -22,14 +22,33 @@
source_set("unit_tests") {
testonly = true
sources = [
+ "activity_overlay_coordinator_unittest.mm",
"selector_coordinator_unittest.mm",
"selector_picker_view_controller_unittest.mm",
]
deps = [
":elements",
+ ":elements_internal",
"//base",
"//base/test:test_support",
"//testing/gtest",
"//third_party/ocmock",
]
}
+
+source_set("elements_internal") {
+ sources = [
+ "activity_overlay_coordinator.h",
+ "activity_overlay_coordinator.mm",
+ "activity_overlay_view_controller.h",
+ "activity_overlay_view_controller.mm",
+ ]
+ deps = [
+ "//base",
+ "//ios/chrome/browser",
+ "//ios/chrome/browser/ui",
+ "//ios/chrome/browser/ui/material_components",
+ "//ios/third_party/material_components_ios",
+ ]
+ libs = [ "UIKit.framework" ]
+}
diff --git a/ios/chrome/browser/ui/fancy_ui/BUILD.gn b/ios/chrome/browser/ui/fancy_ui/BUILD.gn
new file mode 100644
index 0000000..7af8ee0e
--- /dev/null
+++ b/ios/chrome/browser/ui/fancy_ui/BUILD.gn
@@ -0,0 +1,36 @@
+# Copyright 2016 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+source_set("fancy_ui") {
+ sources = [
+ "bidi_container_view.h",
+ "bidi_container_view.mm",
+ "primary_action_button.h",
+ "primary_action_button.mm",
+ "tinted_button.h",
+ "tinted_button.mm",
+ ]
+ deps = [
+ "//base",
+ "//base:i18n",
+ "//ios/chrome/browser/ui/colors",
+ ]
+ public_deps = [
+ "//ios/third_party/material_components_ios",
+ ]
+ libs = [ "UIKit.framework" ]
+}
+
+source_set("unit_tests") {
+ testonly = true
+ sources = [
+ "bidi_container_view_unittest.mm",
+ ]
+ deps = [
+ ":fancy_ui",
+ "//base",
+ "//base:i18n",
+ "//testing/gtest",
+ ]
+}
diff --git a/ios/chrome/browser/ui/find_bar/BUILD.gn b/ios/chrome/browser/ui/find_bar/BUILD.gn
index ae4b3e8..1d2280e 100644
--- a/ios/chrome/browser/ui/find_bar/BUILD.gn
+++ b/ios/chrome/browser/ui/find_bar/BUILD.gn
@@ -56,3 +56,49 @@
"{{bundle_resources_dir}}/{{source_file_part}}",
]
}
+
+source_set("find_bar") {
+ sources = [
+ "find_bar_controller_ios.h",
+ "find_bar_controller_ios.mm",
+ "find_bar_touch_forwarding_view.h",
+ "find_bar_touch_forwarding_view.mm",
+ "find_bar_view.h",
+ "find_bar_view.mm",
+ ]
+ deps = [
+ "//base",
+ "//base:i18n",
+ "//components/strings",
+ "//ios/chrome/app/strings",
+ "//ios/chrome/browser/find_in_page",
+ "//ios/chrome/browser/ui",
+ "//ios/chrome/browser/ui/commands",
+ "//ios/chrome/browser/ui/find_bar:resources",
+ "//ios/third_party/material_components_ios",
+ "//ui/base",
+ "//ui/gfx",
+ ]
+ libs = [ "UIKit.framework" ]
+}
+
+source_set("eg_tests") {
+ testonly = true
+ sources = [
+ "find_in_page_egtest.mm",
+ ]
+ deps = [
+ "//base",
+ "//components/strings",
+ "//ios/chrome/app/strings",
+ "//ios/chrome/browser/find_in_page",
+ "//ios/chrome/browser/ui/find_bar",
+ "//ios/chrome/browser/ui/tools_menu",
+ "//ios/chrome/test/app:test_support",
+ "//ios/chrome/test/earl_grey:test_support",
+ "//ios/testing:ios_test_support",
+ "//ios/web:test_support",
+ "//ui/base",
+ ]
+ libs = [ "XCTest.framework" ]
+}
diff --git a/ios/chrome/browser/ui/first_run/BUILD.gn b/ios/chrome/browser/ui/first_run/BUILD.gn
index 57823a4..379efcc 100644
--- a/ios/chrome/browser/ui/first_run/BUILD.gn
+++ b/ios/chrome/browser/ui/first_run/BUILD.gn
@@ -21,3 +21,103 @@
"{{bundle_resources_dir}}/{{source_file_part}}",
]
}
+
+source_set("first_run") {
+ sources = [
+ "first_run_chrome_signin_view_controller.h",
+ "first_run_chrome_signin_view_controller.mm",
+ "first_run_histograms.h",
+ "first_run_util.h",
+ "first_run_util.mm",
+ "static_file_view_controller.h",
+ "static_file_view_controller.mm",
+ "welcome_to_chrome_view.h",
+ "welcome_to_chrome_view.mm",
+ "welcome_to_chrome_view_controller.h",
+ "welcome_to_chrome_view_controller.mm",
+ ]
+ deps = [
+ "//base",
+ "//base:i18n",
+ "//components/metrics",
+ "//components/prefs",
+ "//components/signin/core/browser",
+ "//ios/chrome/app/strings",
+ "//ios/chrome/browser",
+ "//ios/chrome/browser/browser_state",
+ "//ios/chrome/browser/crash_report",
+ "//ios/chrome/browser/first_run",
+ "//ios/chrome/browser/signin",
+ "//ios/chrome/browser/tabs",
+ "//ios/chrome/browser/ui",
+ "//ios/chrome/browser/ui/authentication",
+ "//ios/chrome/browser/ui/commands",
+ "//ios/chrome/browser/ui/fancy_ui",
+ "//ios/chrome/browser/ui/first_run:assets",
+ "//ios/chrome/browser/ui/material_components",
+ "//ios/chrome/browser/ui/promos",
+ "//ios/chrome/browser/ui/settings",
+ "//ios/chrome/browser/ui/sync",
+ "//ios/chrome/browser/ui/util",
+ "//ios/chrome/common",
+ "//ios/public/provider/chrome/browser",
+ "//ios/public/provider/chrome/browser/signin",
+ "//ios/third_party/material_components_ios",
+ "//ios/third_party/material_roboto_font_loader_ios",
+ "//ios/web",
+ "//ui/base",
+ "//ui/gfx",
+ "//url",
+ ]
+ libs = [ "UIKit.framework" ]
+}
+
+source_set("unit_tests") {
+ testonly = true
+ sources = [
+ "first_run_util_unittest.mm",
+ "welcome_to_chrome_view_controller_unittest.mm",
+ ]
+ deps = [
+ ":first_run",
+ "//base",
+ "//components/metrics",
+ "//components/prefs",
+ "//components/prefs:test_support",
+ "//ios/chrome/browser/browser_state:test_support",
+ "//ios/chrome/browser/tabs",
+ "//ios/chrome/browser/ui",
+ "//ios/chrome/browser/ui/fancy_ui",
+ "//ios/chrome/test:test_support",
+ "//ios/web:test_support",
+ "//testing/gtest",
+ "//third_party/ocmock",
+ ]
+}
+
+source_set("eg_tests") {
+ testonly = true
+ sources = [
+ "first_run_egtest.mm",
+ ]
+ deps = [
+ "//base",
+ "//components/metrics",
+ "//components/prefs",
+ "//components/signin/core/browser",
+ "//ios/chrome/app:app_internal",
+ "//ios/chrome/app/strings",
+ "//ios/chrome/browser",
+ "//ios/chrome/browser/geolocation:geolocation_internal",
+ "//ios/chrome/browser/geolocation:test_support",
+ "//ios/chrome/browser/signin",
+ "//ios/chrome/browser/sync",
+ "//ios/chrome/browser/ui/first_run",
+ "//ios/chrome/test/app:test_support",
+ "//ios/chrome/test/earl_grey:test_support",
+ "//ios/public/provider/chrome/browser/signin:test_support",
+ "//ios/third_party/earl_grey",
+ "//ui/base",
+ ]
+ libs = [ "XCTest.framework" ]
+}
diff --git a/ios/chrome/browser/ui/history/BUILD.gn b/ios/chrome/browser/ui/history/BUILD.gn
new file mode 100644
index 0000000..ba1c361c
--- /dev/null
+++ b/ios/chrome/browser/ui/history/BUILD.gn
@@ -0,0 +1,176 @@
+# Copyright 2016 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+source_set("history") {
+ sources = [
+ "clear_browsing_bar.h",
+ "clear_browsing_bar.mm",
+ "favicon_view.h",
+ "favicon_view.mm",
+ "favicon_view_provider.h",
+ "favicon_view_provider.mm",
+ "history_collection_view_controller.h",
+ "history_collection_view_controller.mm",
+ "history_entries_status_item.h",
+ "history_entries_status_item.mm",
+ "history_entry.cc",
+ "history_entry.h",
+ "history_entry_inserter.h",
+ "history_entry_inserter.mm",
+ "history_entry_item.h",
+ "history_entry_item.mm",
+ "history_panel_view_controller.h",
+ "history_panel_view_controller.mm",
+ "history_search_view.h",
+ "history_search_view.mm",
+ "history_search_view_controller.h",
+ "history_search_view_controller.mm",
+ "history_service_facade.h",
+ "history_service_facade.mm",
+ "history_service_facade_delegate.h",
+ "history_util.h",
+ "history_util.mm",
+ "tab_history_cell.h",
+ "tab_history_cell.mm",
+ "tab_history_popup_controller.h",
+ "tab_history_popup_controller.mm",
+ "tab_history_view_controller.h",
+ "tab_history_view_controller.mm",
+ ]
+ deps = [
+ "//base",
+ "//base:i18n",
+ "//components/browser_sync",
+ "//components/browsing_data/core",
+ "//components/favicon/core",
+ "//components/favicon_base",
+ "//components/history/core/browser",
+ "//components/keyed_service/core",
+ "//components/prefs",
+ "//components/query_parser",
+ "//components/strings",
+ "//components/sync/protocol",
+ "//components/url_formatter",
+ "//ios/chrome/app/strings",
+ "//ios/chrome/browser",
+ "//ios/chrome/browser/browser_state",
+ "//ios/chrome/browser/favicon",
+ "//ios/chrome/browser/history",
+ "//ios/chrome/browser/signin",
+ "//ios/chrome/browser/sync",
+ "//ios/chrome/browser/ui",
+ "//ios/chrome/browser/ui/collection_view",
+ "//ios/chrome/browser/ui/collection_view/cells",
+ "//ios/chrome/browser/ui/colors",
+ "//ios/chrome/browser/ui/commands",
+ "//ios/chrome/browser/ui/context_menu",
+ "//ios/chrome/browser/ui/icons",
+ "//ios/chrome/browser/ui/material_components",
+ "//ios/chrome/browser/ui/ntp/recent_tabs/views",
+ "//ios/chrome/browser/ui/popup_menu",
+ "//ios/chrome/browser/ui/settings",
+ "//ios/chrome/browser/ui/util",
+ "//ios/chrome/common",
+ "//ios/third_party/material_components_ios",
+ "//ios/third_party/material_roboto_font_loader_ios",
+ "//ios/web",
+ "//net",
+ "//skia",
+ "//ui/base",
+ "//ui/gfx",
+ "//url",
+ ]
+ libs = [
+ "MobileCoreServices.framework",
+ "QuartzCore.framework",
+ "UIKit.framework",
+ ]
+}
+
+source_set("unit_tests") {
+ testonly = true
+ sources = [
+ "favicon_view_provider_unittest.mm",
+ "history_collection_view_controller_unittest.mm",
+ "history_entries_status_item_unittest.mm",
+ "history_entry_inserter_unittest.mm",
+ "history_entry_item_unittest.mm",
+ "history_search_view_controller_unittest.mm",
+ "history_service_facade_unittest.mm",
+ "history_util_unittest.mm",
+ "tab_history_popup_controller_unittest.mm",
+ ]
+ deps = [
+ ":history",
+ ":resources_unit_tests",
+ "//base",
+ "//base/test:test_support",
+ "//components/favicon/core",
+ "//components/favicon_base",
+ "//components/history/core/browser",
+ "//components/keyed_service/core",
+ "//components/sessions",
+ "//components/strings",
+ "//ios/chrome/app/strings",
+ "//ios/chrome/browser",
+ "//ios/chrome/browser/browser_state:test_support",
+ "//ios/chrome/browser/history",
+ "//ios/chrome/browser/signin",
+ "//ios/chrome/browser/signin:test_support",
+ "//ios/chrome/browser/ui",
+ "//ios/chrome/browser/ui/collection_view",
+ "//ios/chrome/browser/ui/util",
+ "//ios/chrome/common",
+ "//ios/chrome/test:test_support",
+ "//ios/web",
+ "//ios/web:test_support",
+ "//skia",
+ "//testing/gtest",
+ "//third_party/ocmock",
+ "//ui/base",
+ "//ui/gfx",
+ "//url",
+ ]
+}
+
+bundle_data("resources_unit_tests") {
+ visibility = [ ":unit_tests" ]
+ testonly = true
+ sources = [
+ "//ios/chrome/test/data/favicon/test_favicon.png",
+ ]
+ outputs = [
+ "{{bundle_resources_dir}}/" +
+ "ios/chrome/test/data/favicon/{{source_file_part}}",
+ ]
+}
+
+source_set("eg_tests") {
+ testonly = true
+ sources = [
+ "history_ui_egtest.mm",
+ "tab_history_popup_controller_egtest.mm",
+ ]
+ deps = [
+ "//base",
+ "//components/browsing_data/core",
+ "//components/prefs",
+ "//components/strings",
+ "//ios/chrome/app/strings",
+ "//ios/chrome/browser/browser_state",
+ "//ios/chrome/browser/ui/history",
+ "//ios/chrome/browser/ui/settings",
+ "//ios/chrome/test/app:test_support",
+ "//ios/chrome/test/earl_grey:test_support",
+ "//ios/testing:ios_test_support",
+ "//ios/third_party/earl_grey",
+ "//ios/web:test_support",
+ "//net",
+ "//ui/base",
+ ]
+ libs = [
+ "UIKit.framework",
+ "XCTest.framework",
+ ]
+}
diff --git a/ios/chrome/browser/ui/icons/BUILD.gn b/ios/chrome/browser/ui/icons/BUILD.gn
index 8ecfe91..8114034 100644
--- a/ios/chrome/browser/ui/icons/BUILD.gn
+++ b/ios/chrome/browser/ui/icons/BUILD.gn
@@ -29,3 +29,34 @@
"{{bundle_resources_dir}}/{{source_file_part}}",
]
}
+
+source_set("icons") {
+ sources = [
+ "chrome_icon.h",
+ "chrome_icon.mm",
+ ]
+ deps = [
+ "//base",
+ "//ios/chrome/app/strings",
+ "//ios/chrome/browser/ui/icons:assets",
+ "//ui/base",
+ ]
+ libs = [
+ "CoreGraphics.framework",
+ "UIKit.framework",
+ ]
+}
+
+source_set("unit_tests") {
+ testonly = true
+ sources = [
+ "chrome_icon_unittest.mm",
+ ]
+ deps = [
+ ":icons",
+ "//ios/chrome/app/strings",
+ "//testing/gtest",
+ "//third_party/ocmock",
+ "//ui/base",
+ ]
+}
diff --git a/ios/chrome/browser/ui/infobars/BUILD.gn b/ios/chrome/browser/ui/infobars/BUILD.gn
index b23164c..1f0e2f4 100644
--- a/ios/chrome/browser/ui/infobars/BUILD.gn
+++ b/ios/chrome/browser/ui/infobars/BUILD.gn
@@ -26,3 +26,61 @@
"{{bundle_resources_dir}}/{{source_file_part}}",
]
}
+
+source_set("infobars") {
+ sources = [
+ "infobar_view.h",
+ "infobar_view.mm",
+ ]
+ deps = [
+ "//base",
+ "//base:i18n",
+ "//components/strings",
+ "//ios/chrome/browser/ui",
+ "//ios/chrome/browser/ui/colors",
+ "//ios/chrome/browser/ui/fancy_ui",
+ "//ios/chrome/browser/ui/infobars:resources",
+ "//ios/chrome/browser/ui/util",
+ "//ios/public/provider/chrome/browser/ui",
+ "//ios/third_party/material_components_ios",
+ "//ui/base",
+ "//ui/gfx",
+ "//url",
+ ]
+ libs = [
+ "CoreGraphics.framework",
+ "QuartzCore.framework",
+ "UIKit.framework",
+ ]
+}
+
+source_set("unit_tests") {
+ testonly = true
+ sources = [
+ "infobar_view_unittest.mm",
+ ]
+ deps = [
+ ":infobars",
+ "//testing/gtest",
+ ]
+}
+
+source_set("eg_tests") {
+ configs += [ "//build/config/compiler:enable_arc" ]
+ testonly = true
+ sources = [
+ "infobar_egtest.mm",
+ ]
+ deps = [
+ "//base",
+ "//components/infobars/core",
+ "//ios/chrome/app:app_internal",
+ "//ios/chrome/browser/tabs",
+ "//ios/chrome/test/app:test_support",
+ "//ios/chrome/test/earl_grey:test_support",
+ "//ios/third_party/earl_grey",
+ "//ios/web:test_support",
+ "//url",
+ ]
+ libs = [ "XCTest.framework" ]
+}
diff --git a/ios/chrome/browser/ui/main/BUILD.gn b/ios/chrome/browser/ui/main/BUILD.gn
new file mode 100644
index 0000000..e7ea0ca
--- /dev/null
+++ b/ios/chrome/browser/ui/main/BUILD.gn
@@ -0,0 +1,53 @@
+# Copyright 2016 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+source_set("main") {
+ sources = [
+ "browser_view_information.h",
+ "browser_view_wrangler.h",
+ "browser_view_wrangler.mm",
+ "main_coordinator.h",
+ "main_coordinator.mm",
+ "main_view_controller.h",
+ "main_view_controller.mm",
+ ]
+ deps = [
+ "//base",
+ "//ios/chrome/browser",
+ "//ios/chrome/browser/browser_state",
+ "//ios/chrome/browser/browsing_data",
+ "//ios/chrome/browser/browsing_data:browsing_data_internal",
+ "//ios/chrome/browser/crash_report:crash_report_internal",
+ "//ios/chrome/browser/device_sharing",
+ "//ios/chrome/browser/physical_web",
+ "//ios/chrome/browser/sessions:sessions_internal",
+ "//ios/chrome/browser/tabs",
+ "//ios/chrome/browser/tabs:tabs_internal",
+ "//ios/public/provider/chrome/browser",
+ ]
+ public_deps = [
+ "//ios/chrome/browser/ui:ui_internal",
+ ]
+ libs = [ "UIKit.framework" ]
+}
+
+source_set("unit_tests") {
+ testonly = true
+ sources = [
+ "browser_view_wrangler_unittest.mm",
+ "main_coordinator_unittest.mm",
+ "main_view_controller_unittest.mm",
+ ]
+ deps = [
+ ":main",
+ "//base",
+ "//components/bookmarks/test",
+ "//ios/chrome/browser/bookmarks",
+ "//ios/chrome/browser/browser_state:test_support",
+ "//ios/chrome/browser/tabs",
+ "//ios/chrome/browser/ui:ui_internal",
+ "//ios/web:test_support",
+ "//testing/gtest",
+ ]
+}
diff --git a/ios/chrome/browser/ui/material_components/BUILD.gn b/ios/chrome/browser/ui/material_components/BUILD.gn
new file mode 100644
index 0000000..63e674f
--- /dev/null
+++ b/ios/chrome/browser/ui/material_components/BUILD.gn
@@ -0,0 +1,18 @@
+# Copyright 2016 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+source_set("material_components") {
+ sources = [
+ "activity_indicator.h",
+ "activity_indicator.mm",
+ "app_bar_presenting.h",
+ "utils.h",
+ "utils.mm",
+ ]
+ deps = [
+ "//ios/chrome/browser/ui/colors",
+ "//ios/third_party/material_components_ios",
+ ]
+ libs = [ "UIKit.framework" ]
+}
diff --git a/ios/chrome/browser/ui/no_tabs/BUILD.gn b/ios/chrome/browser/ui/no_tabs/BUILD.gn
new file mode 100644
index 0000000..e243a5d
--- /dev/null
+++ b/ios/chrome/browser/ui/no_tabs/BUILD.gn
@@ -0,0 +1,34 @@
+# Copyright 2016 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+source_set("no_tabs") {
+ sources = [
+ "no_tabs_controller.h",
+ "no_tabs_controller.mm",
+ "no_tabs_controller_testing.h",
+ "no_tabs_toolbar_controller.h",
+ "no_tabs_toolbar_controller.mm",
+ ]
+ deps = [
+ "//base",
+ "//ios/chrome/browser/ui",
+ "//ios/chrome/browser/ui/commands",
+ "//ios/chrome/browser/ui/toolbar",
+ "//ios/chrome/browser/ui/tools_menu",
+ "//ui/gfx",
+ ]
+ libs = [ "UIKit.framework" ]
+}
+
+source_set("unit_tests") {
+ testonly = true
+ sources = [
+ "no_tabs_controller_unittest.mm",
+ ]
+ deps = [
+ ":no_tabs",
+ "//base",
+ "//testing/gtest",
+ ]
+}
diff --git a/ios/chrome/browser/ui/ntp/BUILD.gn b/ios/chrome/browser/ui/ntp/BUILD.gn
index d16c6993..4ea93cdb 100644
--- a/ios/chrome/browser/ui/ntp/BUILD.gn
+++ b/ios/chrome/browser/ui/ntp/BUILD.gn
@@ -100,3 +100,179 @@
"{{bundle_resources_dir}}/{{source_file_part}}",
]
}
+
+source_set("ntp") {
+ sources = [
+ "new_tab_page_panel_protocol.h",
+ ]
+}
+
+source_set("ntp_internal") {
+ sources = [
+ "centering_scrollview.h",
+ "centering_scrollview.mm",
+ "google_landing_controller.h",
+ "google_landing_controller.mm",
+ "incognito_panel_controller.h",
+ "incognito_panel_controller.mm",
+ "most_visited_cell.h",
+ "most_visited_cell.mm",
+ "most_visited_layout.h",
+ "most_visited_layout.mm",
+ "new_tab_page_bar.h",
+ "new_tab_page_bar.mm",
+ "new_tab_page_bar_button.h",
+ "new_tab_page_bar_button.mm",
+ "new_tab_page_bar_item.h",
+ "new_tab_page_bar_item.mm",
+ "new_tab_page_controller.h",
+ "new_tab_page_controller.mm",
+ "new_tab_page_header_constants.h",
+ "new_tab_page_header_constants.mm",
+ "new_tab_page_header_view.h",
+ "new_tab_page_header_view.mm",
+ "new_tab_page_panel_protocol.mm",
+ "new_tab_page_toolbar_controller.h",
+ "new_tab_page_toolbar_controller.mm",
+ "new_tab_page_view.h",
+ "new_tab_page_view.mm",
+ "notification_promo_whats_new.h",
+ "notification_promo_whats_new.mm",
+ "whats_new_header_view.h",
+ "whats_new_header_view.mm",
+ ]
+ deps = [
+ ":ntp",
+ "//base",
+ "//base:i18n",
+ "//components/favicon/core",
+ "//components/favicon_base",
+ "//components/google/core/browser",
+ "//components/history/core/browser",
+ "//components/keyed_service/core",
+ "//components/metrics",
+ "//components/ntp_tiles",
+ "//components/prefs",
+ "//components/rappor",
+ "//components/reading_list/core",
+ "//components/search_engines",
+ "//components/strings",
+ "//components/suggestions",
+ "//components/sync_sessions",
+ "//components/toolbar",
+ "//ios/chrome/app/strings",
+ "//ios/chrome/app/theme",
+ "//ios/chrome/browser",
+ "//ios/chrome/browser/browser_state",
+ "//ios/chrome/browser/favicon",
+ "//ios/chrome/browser/history",
+ "//ios/chrome/browser/metrics:metrics_internal",
+ "//ios/chrome/browser/ntp_tiles",
+ "//ios/chrome/browser/reading_list",
+ "//ios/chrome/browser/search_engines",
+ "//ios/chrome/browser/suggestions",
+ "//ios/chrome/browser/sync",
+ "//ios/chrome/browser/tabs",
+ "//ios/chrome/browser/ui",
+ "//ios/chrome/browser/ui/bookmarks",
+ "//ios/chrome/browser/ui/commands",
+ "//ios/chrome/browser/ui/context_menu",
+ "//ios/chrome/browser/ui/ntp:resources",
+ "//ios/chrome/browser/ui/ntp/recent_tabs",
+ "//ios/chrome/browser/ui/overscroll_actions",
+ "//ios/chrome/browser/ui/toolbar",
+ "//ios/chrome/browser/ui/toolbar:resource_macros",
+ "//ios/chrome/common",
+ "//ios/public/provider/chrome/browser",
+ "//ios/public/provider/chrome/browser/images",
+ "//ios/public/provider/chrome/browser/ui",
+ "//ios/public/provider/chrome/browser/voice",
+ "//ios/third_party/material_components_ios",
+ "//ios/third_party/material_roboto_font_loader_ios",
+ "//ios/web",
+ "//net",
+ "//skia",
+ "//ui/base",
+ "//ui/gfx",
+ "//url",
+ ]
+ libs = [
+ "CoreGraphics.framework",
+ "QuartzCore.framework",
+ "UIKit.framework",
+ ]
+}
+
+source_set("unit_tests") {
+ testonly = true
+ sources = [
+ "centering_scrollview_unittest.mm",
+ "google_landing_controller_unittest.mm",
+ "most_visited_cell_unittest.mm",
+ "new_tab_page_bar_unittest.mm",
+ "new_tab_page_controller_unittest.mm",
+ "notification_promo_whats_new_unittest.mm",
+ ]
+ deps = [
+ ":ntp",
+ ":ntp_internal",
+ "//base",
+ "//base/test:test_support",
+ "//components/bookmarks/test",
+ "//components/metrics",
+ "//components/prefs:test_support",
+ "//components/search_engines",
+ "//components/sessions",
+ "//components/variations",
+ "//ios/chrome/app/strings",
+ "//ios/chrome/browser",
+ "//ios/chrome/browser/bookmarks",
+ "//ios/chrome/browser/browser_state:test_support",
+ "//ios/chrome/browser/search_engines",
+ "//ios/chrome/browser/sessions",
+ "//ios/chrome/browser/ui",
+ "//ios/chrome/browser/ui/commands",
+ "//ios/chrome/test:test_support",
+ "//ios/public/provider/chrome/browser/images",
+ "//ios/web:test_support",
+ "//testing/gtest",
+ "//third_party/ocmock",
+ "//ui/base",
+ "//url",
+ ]
+}
+
+source_set("eg_tests") {
+ testonly = true
+ sources = [
+ "new_tab_page_egtest.mm",
+ ]
+ deps = [
+ "//components/strings",
+ "//ios/chrome/app/strings",
+ "//ios/chrome/browser/ui",
+ "//ios/chrome/browser/ui/commands",
+ "//ios/chrome/browser/ui/ntp:ntp_internal",
+ "//ios/chrome/test/app:test_support",
+ "//ios/chrome/test/earl_grey:test_support",
+ "//ios/testing:ios_test_support",
+ "//ios/testing/earl_grey:earl_grey_support",
+ "//ios/third_party/earl_grey",
+ "//ui/base",
+ ]
+ libs = [ "XCTest.framework" ]
+}
+
+source_set("perf_tests") {
+ testonly = true
+ sources = [
+ "new_tab_page_perftest.mm",
+ ]
+ deps = [
+ "//base/test:test_support",
+ "//ios/chrome/browser/sessions",
+ "//ios/chrome/browser/tabs",
+ "//ios/chrome/browser/test:perf_test_support",
+ "//ios/chrome/browser/ui:ui_internal",
+ ]
+}
diff --git a/ios/chrome/browser/ui/ntp/recent_tabs/BUILD.gn b/ios/chrome/browser/ui/ntp/recent_tabs/BUILD.gn
new file mode 100644
index 0000000..5317f199
--- /dev/null
+++ b/ios/chrome/browser/ui/ntp/recent_tabs/BUILD.gn
@@ -0,0 +1,92 @@
+# Copyright 2016 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+source_set("recent_tabs") {
+ sources = [
+ "recent_tabs_bridges.h",
+ "recent_tabs_bridges.mm",
+ "recent_tabs_panel_controller.h",
+ "recent_tabs_panel_controller.mm",
+ "recent_tabs_panel_view_controller.h",
+ "recent_tabs_panel_view_controller.mm",
+ "recent_tabs_table_view_controller.h",
+ "recent_tabs_table_view_controller.mm",
+ "sessions_sync_user_state.h",
+ "synced_sessions.h",
+ "synced_sessions.mm",
+ "synced_sessions_bridge.h",
+ "synced_sessions_bridge.mm",
+ ]
+ deps = [
+ "//base",
+ "//components/browser_sync",
+ "//components/sessions",
+ "//components/signin/core/browser",
+ "//components/sync",
+ "//ios/chrome/app/strings",
+ "//ios/chrome/app/theme",
+ "//ios/chrome/browser/browser_state",
+ "//ios/chrome/browser/metrics:metrics_internal",
+ "//ios/chrome/browser/sessions",
+ "//ios/chrome/browser/sessions:sessions_internal",
+ "//ios/chrome/browser/signin",
+ "//ios/chrome/browser/sync",
+ "//ios/chrome/browser/ui",
+ "//ios/chrome/browser/ui/commands",
+ "//ios/chrome/browser/ui/context_menu",
+ "//ios/chrome/browser/ui/ntp",
+ "//ios/chrome/browser/ui/ntp/recent_tabs/views",
+ "//ios/web",
+ "//ui/base",
+ "//url",
+ ]
+ public_deps = [
+ "//components/sync_sessions",
+ ]
+ allow_circular_includes_from =
+ [ "//ios/chrome/browser/ui/ntp/recent_tabs/views" ]
+ libs = [ "UIKit.framework" ]
+}
+
+source_set("unit_tests") {
+ testonly = true
+ sources = [
+ "recent_tabs_panel_controller_unittest.mm",
+ ]
+ deps = [
+ ":recent_tabs",
+ "//base",
+ "//components/browser_sync",
+ "//components/browser_sync:test_support",
+ "//components/signin/core/browser",
+ "//components/sync_sessions",
+ "//ios/chrome/browser/browser_state:test_support",
+ "//ios/chrome/browser/signin",
+ "//ios/chrome/browser/sync",
+ "//ios/chrome/browser/sync:test_support",
+ "//ios/chrome/browser/ui/ntp:ntp_internal",
+ "//ios/chrome/test:test_support",
+ "//ios/web:test_support",
+ "//testing/gtest",
+ "//third_party/ocmock",
+ ]
+}
+
+source_set("eg_tests") {
+ testonly = true
+ sources = [
+ "recent_tabs_panel_controller_egtest.mm",
+ ]
+ deps = [
+ "//components/strings",
+ "//ios/chrome/app/strings",
+ "//ios/chrome/browser/ui",
+ "//ios/chrome/browser/ui/tools_menu",
+ "//ios/chrome/test/app:test_support",
+ "//ios/chrome/test/earl_grey:test_support",
+ "//ios/third_party/earl_grey",
+ "//ios/web:test_support",
+ ]
+ libs = [ "XCTest.framework" ]
+}
diff --git a/ios/chrome/browser/ui/ntp/recent_tabs/views/BUILD.gn b/ios/chrome/browser/ui/ntp/recent_tabs/views/BUILD.gn
new file mode 100644
index 0000000..2a203c2
--- /dev/null
+++ b/ios/chrome/browser/ui/ntp/recent_tabs/views/BUILD.gn
@@ -0,0 +1,52 @@
+# Copyright 2016 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+source_set("views") {
+ configs += [ "//build/config/compiler:enable_arc" ]
+ sources = [
+ "disclosure_view.h",
+ "disclosure_view.mm",
+ "generic_section_header_view.h",
+ "generic_section_header_view.mm",
+ "header_of_collapsable_section_protocol.h",
+ "panel_bar_view.h",
+ "panel_bar_view.mm",
+ "session_section_header_view.h",
+ "session_section_header_view.mm",
+ "session_tab_data_view.h",
+ "session_tab_data_view.mm",
+ "show_full_history_view.h",
+ "show_full_history_view.mm",
+ "signed_in_sync_in_progress_view.h",
+ "signed_in_sync_in_progress_view.mm",
+ "signed_in_sync_off_view.h",
+ "signed_in_sync_off_view.mm",
+ "signed_in_sync_on_no_sessions_view.h",
+ "signed_in_sync_on_no_sessions_view.mm",
+ "signed_out_view.h",
+ "signed_out_view.mm",
+ "spacers_view.h",
+ "spacers_view.mm",
+ "views_utils.h",
+ "views_utils.mm",
+ ]
+ deps = [
+ "//base",
+ "//components/resources",
+ "//components/sessions",
+ "//components/strings",
+ "//ios/chrome/app/strings",
+ "//ios/chrome/browser/favicon",
+ "//ios/chrome/browser/ui",
+ "//ios/chrome/browser/ui/commands",
+ "//ios/chrome/browser/ui/fancy_ui",
+ "//ios/chrome/browser/ui/material_components",
+ "//ios/chrome/browser/ui/sync",
+ "//ios/chrome/browser/ui/tab_switcher:utils",
+ "//ios/third_party/material_components_ios",
+ "//ios/third_party/material_roboto_font_loader_ios",
+ "//ui/base",
+ ]
+ libs = [ "UIKit.framework" ]
+}
diff --git a/ios/chrome/browser/ui/omnibox/BUILD.gn b/ios/chrome/browser/ui/omnibox/BUILD.gn
index 8deca11..7bf0059 100644
--- a/ios/chrome/browser/ui/omnibox/BUILD.gn
+++ b/ios/chrome/browser/ui/omnibox/BUILD.gn
@@ -30,3 +30,109 @@
"{{bundle_resources_dir}}/{{source_file_part}}",
]
}
+
+source_set("omnibox_internal") {
+ sources = [
+ "chrome_omnibox_client_ios.h",
+ "chrome_omnibox_client_ios.mm",
+ "location_bar_view_ios.h",
+ "location_bar_view_ios.mm",
+ "omnibox_popup_material_row.h",
+ "omnibox_popup_material_row.mm",
+ "omnibox_popup_material_view_controller.h",
+ "omnibox_popup_material_view_controller.mm",
+ "omnibox_popup_positioner.h",
+ "omnibox_popup_view_ios.h",
+ "omnibox_popup_view_ios.mm",
+ "omnibox_text_field_ios.h",
+ "omnibox_text_field_ios.mm",
+ "omnibox_view_ios.h",
+ "omnibox_view_ios.mm",
+ "page_info_model.cc",
+ "page_info_model.h",
+ "page_info_model_observer.h",
+ "page_info_view_controller.h",
+ "page_info_view_controller.mm",
+ "preload_provider.h",
+ "truncating_attributed_label.h",
+ "truncating_attributed_label.mm",
+ ]
+ deps = [
+ "//base",
+ "//base:i18n",
+ "//components/favicon/ios",
+ "//components/keyed_service/core",
+ "//components/open_from_clipboard",
+ "//components/resources",
+ "//components/search_engines",
+ "//components/ssl_errors",
+ "//components/strings",
+ "//components/toolbar",
+ "//ios/chrome/app/strings",
+ "//ios/chrome/app/theme",
+ "//ios/chrome/browser",
+ "//ios/chrome/browser/autocomplete",
+ "//ios/chrome/browser/bookmarks",
+ "//ios/chrome/browser/bookmarks:bookmarks_utils",
+ "//ios/chrome/browser/browser_state",
+ "//ios/chrome/browser/net",
+ "//ios/chrome/browser/search_engines",
+ "//ios/chrome/browser/sessions",
+ "//ios/chrome/browser/ui",
+ "//ios/chrome/browser/ui/commands",
+ "//ios/chrome/browser/ui/fancy_ui",
+ "//ios/chrome/browser/ui/omnibox",
+ "//ios/chrome/browser/ui/omnibox:resources",
+ "//ios/chrome/browser/ui/popup_menu",
+ "//ios/chrome/common",
+ "//ios/public/provider/chrome/browser",
+ "//ios/third_party/material_components_ios",
+ "//ios/third_party/material_roboto_font_loader_ios",
+ "//ios/web",
+ "//ios/web/public/image_fetcher",
+ "//net",
+ "//skia",
+ "//third_party/google_toolbox_for_mac",
+ "//ui/base",
+ "//ui/gfx",
+ "//ui/gfx/geometry",
+ "//url",
+ ]
+ public_deps = [
+ "//components/omnibox/browser",
+ ]
+ libs = [
+ "CoreText.framework",
+ "MobileCoreServices.framework",
+ "QuartzCore.framework",
+ "UIKit.framework",
+ ]
+}
+
+source_set("unit_tests") {
+ testonly = true
+ sources = [
+ "omnibox_text_field_ios_unittest.mm",
+ ]
+ deps = [
+ ":omnibox_internal",
+ ":resources_unit_tests",
+ "//base",
+ "//ios/chrome/app/strings",
+ "//ios/chrome/browser",
+ "//testing/gtest",
+ "//ui/base",
+ ]
+}
+
+bundle_data("resources_unit_tests") {
+ visibility = [ ":unit_tests" ]
+ testonly = true
+ sources = [
+ "//ios/chrome/test/data/omnibox/selected_ranges.txt",
+ ]
+ outputs = [
+ "{{bundle_resources_dir}}/" +
+ "ios/chrome/test/data/omnibox/{{source_file_part}}",
+ ]
+}
diff --git a/ios/chrome/browser/ui/overscroll_actions/BUILD.gn b/ios/chrome/browser/ui/overscroll_actions/BUILD.gn
index 5a3642f..ab71ac6 100644
--- a/ios/chrome/browser/ui/overscroll_actions/BUILD.gn
+++ b/ios/chrome/browser/ui/overscroll_actions/BUILD.gn
@@ -27,3 +27,29 @@
"{{bundle_resources_dir}}/{{source_file_part}}",
]
}
+
+source_set("overscroll_actions") {
+ sources = [
+ "overscroll_actions_controller.h",
+ "overscroll_actions_controller.mm",
+ "overscroll_actions_view.h",
+ "overscroll_actions_view.mm",
+ ]
+ deps = [
+ "//base",
+ "//ios/chrome/app/theme",
+ "//ios/chrome/browser/ui",
+ "//ios/chrome/browser/ui/overscroll_actions:resources",
+ "//ios/chrome/browser/ui/static_content",
+ "//ios/chrome/browser/ui/toolbar",
+ "//ios/chrome/browser/ui/util",
+ "//ios/chrome/browser/ui/voice",
+ "//ios/web",
+ "//ui/base",
+ ]
+ allow_circular_includes_from = [ "//ios/chrome/browser/ui/static_content" ]
+ libs = [
+ "QuartzCore.framework",
+ "UIKit.framework",
+ ]
+}
diff --git a/ios/chrome/browser/ui/popup_menu/BUILD.gn b/ios/chrome/browser/ui/popup_menu/BUILD.gn
index 7ac0c67..7d59bd4a 100644
--- a/ios/chrome/browser/ui/popup_menu/BUILD.gn
+++ b/ios/chrome/browser/ui/popup_menu/BUILD.gn
@@ -12,3 +12,24 @@
"{{bundle_resources_dir}}/{{source_file_part}}",
]
}
+
+source_set("popup_menu") {
+ sources = [
+ "popup_menu_controller.h",
+ "popup_menu_controller.mm",
+ "popup_menu_view.h",
+ "popup_menu_view.mm",
+ ]
+ deps = [
+ "//base",
+ "//ios/chrome/app/strings",
+ "//ios/chrome/browser/ui",
+ "//ios/chrome/browser/ui/popup_menu:resources",
+ "//ios/chrome/common",
+ "//ui/base",
+ ]
+ libs = [
+ "QuartzCore.framework",
+ "UIKit.framework",
+ ]
+}
diff --git a/ios/chrome/browser/ui/presenters/BUILD.gn b/ios/chrome/browser/ui/presenters/BUILD.gn
new file mode 100644
index 0000000..99e39183
--- /dev/null
+++ b/ios/chrome/browser/ui/presenters/BUILD.gn
@@ -0,0 +1,13 @@
+# Copyright 2016 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+source_set("presenters") {
+ sources = [
+ "menu_presentation_controller.h",
+ "menu_presentation_controller.mm",
+ "menu_presentation_delegate.h",
+ ]
+
+ configs += [ "//build/config/compiler:enable_arc" ]
+}
diff --git a/ios/chrome/browser/ui/print/BUILD.gn b/ios/chrome/browser/ui/print/BUILD.gn
new file mode 100644
index 0000000..3b1f3ad
--- /dev/null
+++ b/ios/chrome/browser/ui/print/BUILD.gn
@@ -0,0 +1,42 @@
+# Copyright 2016 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+source_set("print") {
+ sources = [
+ "print_controller.h",
+ "print_controller.mm",
+ ]
+ deps = [
+ "//base",
+ "//components/strings",
+ "//ios/chrome/app/strings",
+ "//ios/chrome/browser/ui/alert_coordinator",
+ "//ios/chrome/browser/ui/alert_coordinator:alert_coordinator_internal",
+ "//ios/web",
+ "//net",
+ "//ui/base",
+ ]
+ libs = [ "UIKit.framework" ]
+}
+
+source_set("eg_tests") {
+ testonly = true
+ sources = [
+ "print_controller_egtest.mm",
+ ]
+ deps = [
+ "//ios/chrome/app/strings",
+ "//ios/chrome/browser/ui",
+ "//ios/chrome/test/app:test_support",
+ "//ios/chrome/test/earl_grey:test_support",
+ "//ios/third_party/earl_grey",
+ "//ios/web:test_support",
+ "//ui/base",
+ "//url",
+ ]
+ libs = [
+ "UIKit.framework",
+ "XCTest.framework",
+ ]
+}
diff --git a/ios/chrome/browser/ui/promos/BUILD.gn b/ios/chrome/browser/ui/promos/BUILD.gn
new file mode 100644
index 0000000..655326c
--- /dev/null
+++ b/ios/chrome/browser/ui/promos/BUILD.gn
@@ -0,0 +1,49 @@
+# Copyright 2016 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+source_set("promos") {
+ sources = [
+ "promo_view_controller.h",
+ "signin_promo_view_controller.h",
+ "signin_promo_view_controller.mm",
+ ]
+ deps = [
+ "//base",
+ "//components/signin/core/browser",
+ "//components/version_info",
+ "//ios/chrome/app:tests_hook",
+ "//ios/chrome/app/strings",
+ "//ios/chrome/browser/browser_state",
+ "//ios/chrome/browser/signin",
+ "//ios/chrome/browser/ui/authentication",
+ "//ios/chrome/browser/ui/commands",
+ "//ios/public/provider/chrome/browser",
+ "//ios/public/provider/chrome/browser/signin",
+ "//net",
+ ]
+ libs = [ "UIKit.framework" ]
+}
+
+source_set("unit_tests") {
+ testonly = true
+ sources = [
+ "signin_promo_view_controller_unittest.mm",
+ ]
+ deps = [
+ ":promos",
+ "//base",
+ "//components/pref_registry",
+ "//components/sync_preferences",
+ "//components/sync_preferences:test_support",
+ "//ios/chrome/browser/browser_state:test_support",
+ "//ios/chrome/browser/prefs:browser_prefs",
+ "//ios/chrome/browser/signin",
+ "//ios/chrome/browser/signin:test_support",
+ "//ios/chrome/test:test_support",
+ "//ios/public/provider/chrome/browser/signin:test_support",
+ "//ios/web:test_support",
+ "//testing/gtest",
+ "//third_party/ocmock",
+ ]
+}
diff --git a/ios/chrome/browser/ui/qr_scanner/BUILD.gn b/ios/chrome/browser/ui/qr_scanner/BUILD.gn
index 3fbb672b..8116491 100644
--- a/ios/chrome/browser/ui/qr_scanner/BUILD.gn
+++ b/ios/chrome/browser/ui/qr_scanner/BUILD.gn
@@ -21,3 +21,67 @@
"{{bundle_resources_dir}}/{{source_file_part}}",
]
}
+
+source_set("qr_scanner") {
+ sources = [
+ "camera_controller.h",
+ "camera_controller.mm",
+ "qr_scanner_alerts.h",
+ "qr_scanner_alerts.mm",
+ "qr_scanner_transitioning_delegate.h",
+ "qr_scanner_transitioning_delegate.mm",
+ "qr_scanner_view.h",
+ "qr_scanner_view.mm",
+ "qr_scanner_view_controller.h",
+ "qr_scanner_view_controller.mm",
+ ]
+ deps = [
+ "//base",
+ "//components/version_info",
+ "//ios/chrome/app/strings",
+ "//ios/chrome/browser",
+ "//ios/chrome/browser/ui",
+ "//ios/chrome/browser/ui/icons",
+ "//ios/chrome/browser/ui/qr_scanner:assets",
+ "//ios/chrome/common:ios_app_bundle_id_prefix_header",
+ "//ios/third_party/material_components_ios",
+ "//ui/base",
+ ]
+ libs = [
+ "AVFoundation.framework",
+ "UIKit.framework",
+ ]
+}
+
+source_set("eg_tests") {
+ testonly = true
+ sources = [
+ "qr_scanner_view_controller_egtest.mm",
+ ]
+ deps = [
+ "//base",
+ "//base/test:test_support",
+ "//components/strings",
+ "//components/version_info",
+ "//ios/chrome/app:app_internal",
+ "//ios/chrome/app/strings",
+ "//ios/chrome/browser",
+ "//ios/chrome/browser/ui:ui_internal",
+ "//ios/chrome/browser/ui/commands",
+ "//ios/chrome/browser/ui/icons",
+ "//ios/chrome/browser/ui/qr_scanner",
+ "//ios/chrome/browser/ui/toolbar",
+ "//ios/chrome/test/app:test_support",
+ "//ios/chrome/test/base",
+ "//ios/chrome/test/earl_grey:test_support",
+ "//ios/testing/earl_grey:earl_grey_support",
+ "//ios/third_party/earl_grey",
+ "//ios/web:test_support",
+ "//third_party/ocmock",
+ "//ui/base",
+ ]
+ libs = [
+ "AVFoundation.framework",
+ "UIKit.framework",
+ ]
+}
diff --git a/ios/chrome/browser/ui/reader_mode/BUILD.gn b/ios/chrome/browser/ui/reader_mode/BUILD.gn
new file mode 100644
index 0000000..4916f60
--- /dev/null
+++ b/ios/chrome/browser/ui/reader_mode/BUILD.gn
@@ -0,0 +1,31 @@
+# Copyright 2016 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+source_set("reader_mode") {
+ sources = [
+ "reader_mode_checker.h",
+ "reader_mode_checker.mm",
+ "reader_mode_controller.h",
+ "reader_mode_controller.mm",
+ "reader_mode_infobar_delegate.h",
+ "reader_mode_infobar_delegate.mm",
+ "reader_mode_view.h",
+ "reader_mode_view.mm",
+ ]
+ deps = [
+ "//base",
+ "//components/dom_distiller/core",
+ "//components/infobars/core",
+ "//components/resources",
+ "//ios/chrome/browser/browser_state",
+ "//ios/chrome/browser/dom_distiller",
+ "//ios/chrome/browser/infobars",
+ "//ios/chrome/browser/ui/material_components",
+ "//ios/third_party/material_components_ios",
+ "//ios/web",
+ "//ui/base",
+ "//url",
+ ]
+ libs = [ "UIKit.framework" ]
+}
diff --git a/ios/chrome/browser/ui/reading_list/BUILD.gn b/ios/chrome/browser/ui/reading_list/BUILD.gn
index 7a673fd..924867c 100644
--- a/ios/chrome/browser/ui/reading_list/BUILD.gn
+++ b/ios/chrome/browser/ui/reading_list/BUILD.gn
@@ -24,3 +24,107 @@
"{{bundle_resources_dir}}/{{source_file_part}}",
]
}
+
+source_set("reading_list") {
+ configs += [ "//build/config/compiler:enable_arc" ]
+ sources = [
+ "number_badge_view.h",
+ "number_badge_view.mm",
+ "offline_page_native_content.h",
+ "offline_page_native_content.mm",
+ "reading_list_collection_view_item.h",
+ "reading_list_collection_view_item.mm",
+ "reading_list_menu_notification_delegate.h",
+ "reading_list_menu_notifier.h",
+ "reading_list_menu_notifier.mm",
+ "reading_list_side_swipe_provider.h",
+ "reading_list_side_swipe_provider.mm",
+ "reading_list_toolbar.h",
+ "reading_list_toolbar.mm",
+ "reading_list_view_controller.h",
+ "reading_list_view_controller.mm",
+ "reading_list_view_controller_builder.h",
+ "reading_list_view_controller_builder.mm",
+ ]
+ deps = [
+ "//base",
+ "//components/prefs",
+ "//components/reading_list/core",
+ "//components/strings",
+ "//components/url_formatter",
+ "//ios/chrome/app/strings",
+ "//ios/chrome/browser",
+ "//ios/chrome/browser/browser_state",
+ "//ios/chrome/browser/favicon",
+ "//ios/chrome/browser/reading_list",
+ "//ios/chrome/browser/tabs",
+ "//ios/chrome/browser/ui",
+ "//ios/chrome/browser/ui/alert_coordinator",
+ "//ios/chrome/browser/ui/collection_view/cells",
+ "//ios/chrome/browser/ui/colors",
+ "//ios/chrome/browser/ui/material_components",
+ "//ios/chrome/browser/ui/reading_list:resources",
+ "//ios/chrome/browser/ui/side_swipe",
+ "//ios/chrome/browser/ui/static_content",
+ "//ios/chrome/common",
+ "//ios/third_party/material_components_ios",
+ "//ios/third_party/material_roboto_font_loader_ios",
+ "//ios/web",
+ "//net",
+ "//ui/base",
+ "//url",
+ ]
+ public_deps = [
+ "//components/reading_list/ios",
+ "//ios/chrome/browser/ui/collection_view",
+ ]
+ allow_circular_includes_from = [ "//ios/chrome/browser/ui/side_swipe" ]
+ libs = [ "UIKit.framework" ]
+}
+
+source_set("unit_tests") {
+ testonly = true
+ sources = [
+ "offline_page_native_content_unittest.mm",
+ "reading_list_view_controller_unittest.mm",
+ ]
+ deps = [
+ ":reading_list",
+ "//base",
+ "//components/favicon/core",
+ "//components/prefs",
+ "//components/reading_list/ios",
+ "//ios/chrome/browser/browser_state:test_support",
+ "//ios/chrome/browser/favicon",
+ "//ios/chrome/browser/reading_list",
+ "//ios/chrome/browser/tabs",
+ "//ios/chrome/browser/ui",
+ "//ios/chrome/browser/ui/static_content",
+ "//ios/web",
+ "//ios/web:test_support",
+ "//testing/gtest",
+ "//third_party/ocmock",
+ ]
+}
+
+source_set("eg_tests") {
+ testonly = true
+ sources = [
+ "reading_list_egtest.mm",
+ ]
+ deps = [
+ "//base",
+ "//components/reading_list/ios",
+ "//ios/chrome/app/strings",
+ "//ios/chrome/browser/reading_list",
+ "//ios/chrome/browser/ui/commands",
+ "//ios/chrome/test/app:test_support",
+ "//ios/chrome/test/earl_grey:test_support",
+ "//ios/testing:ios_test_support",
+ "//ios/third_party/earl_grey",
+ ]
+ libs = [
+ "UIKit.framework",
+ "XCTest.framework",
+ ]
+}
diff --git a/ios/chrome/browser/ui/sad_tab/BUILD.gn b/ios/chrome/browser/ui/sad_tab/BUILD.gn
new file mode 100644
index 0000000..7b92411f
--- /dev/null
+++ b/ios/chrome/browser/ui/sad_tab/BUILD.gn
@@ -0,0 +1,27 @@
+# Copyright 2016 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+source_set("sad_tab") {
+ sources = [
+ "sad_tab_view.h",
+ "sad_tab_view.mm",
+ ]
+ deps = [
+ "//base",
+ "//components/resources",
+ "//components/strings",
+ "//ios/chrome/browser",
+ "//ios/chrome/browser/ui",
+ "//ios/chrome/browser/ui/colors",
+ "//ios/chrome/browser/ui/commands",
+ "//ios/chrome/browser/ui/util",
+ "//ios/third_party/material_components_ios",
+ "//ios/third_party/material_roboto_font_loader_ios",
+ "//ios/web",
+ "//net",
+ "//ui/base",
+ "//ui/gfx",
+ ]
+ libs = [ "UIKit.framework" ]
+}
diff --git a/ios/chrome/browser/ui/settings/BUILD.gn b/ios/chrome/browser/ui/settings/BUILD.gn
index c006f69..e358659 100644
--- a/ios/chrome/browser/ui/settings/BUILD.gn
+++ b/ios/chrome/browser/ui/settings/BUILD.gn
@@ -24,3 +24,360 @@
"{{bundle_resources_dir}}/{{source_file_part}}",
]
}
+
+source_set("settings") {
+ sources = [
+ "about_chrome_collection_view_controller.h",
+ "about_chrome_collection_view_controller.mm",
+ "accounts_collection_view_controller.h",
+ "accounts_collection_view_controller.mm",
+ "autofill_collection_view_controller.h",
+ "autofill_collection_view_controller.mm",
+ "autofill_credit_card_edit_collection_view_controller.h",
+ "autofill_credit_card_edit_collection_view_controller.mm",
+ "autofill_edit_accessory_view.h",
+ "autofill_edit_accessory_view.mm",
+ "autofill_edit_collection_view_controller.h",
+ "autofill_edit_collection_view_controller.mm",
+ "autofill_profile_edit_collection_view_controller.h",
+ "autofill_profile_edit_collection_view_controller.mm",
+ "bandwidth_management_collection_view_controller.h",
+ "bandwidth_management_collection_view_controller.mm",
+ "bar_button_activity_indicator.h",
+ "bar_button_activity_indicator.mm",
+ "block_popups_collection_view_controller.h",
+ "block_popups_collection_view_controller.mm",
+ "clear_browsing_data_collection_view_controller.h",
+ "clear_browsing_data_collection_view_controller.mm",
+ "content_settings_collection_view_controller.h",
+ "content_settings_collection_view_controller.mm",
+ "contextual_search_collection_view_controller.h",
+ "contextual_search_collection_view_controller.mm",
+ "dataplan_usage_collection_view_controller.h",
+ "dataplan_usage_collection_view_controller.mm",
+ "do_not_track_collection_view_controller.h",
+ "do_not_track_collection_view_controller.mm",
+ "handoff_collection_view_controller.h",
+ "handoff_collection_view_controller.mm",
+ "import_data_collection_view_controller.h",
+ "import_data_collection_view_controller.mm",
+ "material_cell_catalog_view_controller.h",
+ "material_cell_catalog_view_controller.mm",
+ "native_apps_collection_view_controller.h",
+ "native_apps_collection_view_controller.mm",
+ "native_apps_collection_view_controller_private.h",
+ "password_details_collection_view_controller.h",
+ "password_details_collection_view_controller.mm",
+ "physical_web_collection_view_controller.h",
+ "physical_web_collection_view_controller.mm",
+ "privacy_collection_view_controller.h",
+ "privacy_collection_view_controller.mm",
+ "reauthentication_module.h",
+ "reauthentication_module.mm",
+ "reauthentication_protocol.h",
+ "save_passwords_collection_view_controller.h",
+ "save_passwords_collection_view_controller.mm",
+ "search_engine_settings_collection_view_controller.h",
+ "search_engine_settings_collection_view_controller.mm",
+ "settings_collection_view_controller.h",
+ "settings_collection_view_controller.mm",
+ "settings_navigation_controller.h",
+ "settings_navigation_controller.mm",
+ "settings_root_collection_view_controller.h",
+ "settings_root_collection_view_controller.mm",
+ "settings_utils.h",
+ "settings_utils.mm",
+ "sync_create_passphrase_collection_view_controller.h",
+ "sync_create_passphrase_collection_view_controller.mm",
+ "sync_encryption_collection_view_controller.h",
+ "sync_encryption_collection_view_controller.mm",
+ "sync_encryption_passphrase_collection_view_controller.h",
+ "sync_encryption_passphrase_collection_view_controller.mm",
+ "sync_settings_collection_view_controller.h",
+ "sync_settings_collection_view_controller.mm",
+ "time_range_selector_collection_view_controller.h",
+ "time_range_selector_collection_view_controller.mm",
+ "translate_collection_view_controller.h",
+ "translate_collection_view_controller.mm",
+ "voicesearch_collection_view_controller.h",
+ "voicesearch_collection_view_controller.mm",
+ ]
+ deps = [
+ "//base",
+ "//base:i18n",
+ "//components/autofill/core/browser",
+ "//components/autofill/core/common",
+ "//components/autofill/ios/browser",
+ "//components/browser_sync",
+ "//components/browsing_data/core",
+ "//components/content_settings/core/browser",
+ "//components/content_settings/core/common",
+ "//components/google/core/browser",
+ "//components/handoff",
+ "//components/history/core/browser",
+ "//components/keyed_service/core",
+ "//components/metrics",
+ "//components/password_manager/core/browser",
+ "//components/password_manager/core/common",
+ "//components/physical_web/data_source",
+ "//components/prefs",
+ "//components/resources",
+ "//components/search_engines",
+ "//components/signin/core/browser",
+ "//components/signin/core/common",
+ "//components/signin/ios/browser",
+ "//components/strings",
+ "//components/sync",
+ "//components/translate/core/browser",
+ "//components/translate/core/common",
+ "//components/url_formatter",
+ "//components/version_info",
+ "//ios/chrome/app/strings",
+ "//ios/chrome/browser",
+ "//ios/chrome/browser/autofill",
+ "//ios/chrome/browser/autofill:autofill_internal",
+ "//ios/chrome/browser/browser_state",
+ "//ios/chrome/browser/browser_state:browser_state_impl",
+ "//ios/chrome/browser/browsing_data",
+ "//ios/chrome/browser/content_settings",
+ "//ios/chrome/browser/history",
+ "//ios/chrome/browser/native_app_launcher:native_app_launcher_internal",
+ "//ios/chrome/browser/passwords",
+ "//ios/chrome/browser/physical_web",
+ "//ios/chrome/browser/prefs",
+ "//ios/chrome/browser/search_engines",
+ "//ios/chrome/browser/signin",
+ "//ios/chrome/browser/sync",
+ "//ios/chrome/browser/translate",
+ "//ios/chrome/browser/ui",
+ "//ios/chrome/browser/ui/alert_coordinator",
+ "//ios/chrome/browser/ui/authentication",
+ "//ios/chrome/browser/ui/autofill/cells",
+ "//ios/chrome/browser/ui/collection_view",
+ "//ios/chrome/browser/ui/colors",
+ "//ios/chrome/browser/ui/commands",
+ "//ios/chrome/browser/ui/contextual_search",
+ "//ios/chrome/browser/ui/icons",
+ "//ios/chrome/browser/ui/keyboard",
+ "//ios/chrome/browser/ui/material_components",
+ "//ios/chrome/browser/ui/settings:resources",
+ "//ios/chrome/browser/ui/settings/cells",
+ "//ios/chrome/browser/ui/settings/utils",
+ "//ios/chrome/browser/ui/sync",
+ "//ios/chrome/browser/voice",
+ "//ios/chrome/common",
+ "//ios/public/provider/chrome/browser",
+ "//ios/public/provider/chrome/browser/images",
+ "//ios/public/provider/chrome/browser/native_app_launcher",
+ "//ios/public/provider/chrome/browser/signin",
+ "//ios/public/provider/chrome/browser/user_feedback",
+ "//ios/public/provider/chrome/browser/voice",
+ "//ios/third_party/material_components_ios",
+ "//ios/third_party/material_roboto_font_loader_ios",
+ "//ios/web",
+ "//net",
+ "//ui/base",
+ "//url",
+ ]
+ public_deps = [
+ "//ios/chrome/browser/ui/collection_view/cells",
+ ]
+ allow_circular_includes_from = [ "//ios/chrome/browser/ui/authentication" ]
+ libs = [
+ "CoreLocation.framework",
+ "LocalAuthentication.framework",
+ "StoreKit.framework",
+ "UIKit.framework",
+ ]
+}
+
+source_set("test_support") {
+ testonly = true
+ sources = [
+ "passphrase_collection_view_controller_test.h",
+ "passphrase_collection_view_controller_test.mm",
+ ]
+ deps = [
+ ":settings",
+ "//base",
+ "//components/browser_sync",
+ "//components/browser_sync:test_support",
+ "//components/keyed_service/core",
+ "//components/pref_registry",
+ "//components/sync",
+ "//components/sync_preferences",
+ "//components/sync_preferences:test_support",
+ "//google_apis",
+ "//ios/chrome/browser/browser_state",
+ "//ios/chrome/browser/browser_state:test_support",
+ "//ios/chrome/browser/prefs:browser_prefs",
+ "//ios/chrome/browser/signin",
+ "//ios/chrome/browser/signin:test_support",
+ "//ios/chrome/browser/sync",
+ "//ios/chrome/browser/sync:test_support",
+ "//ios/chrome/browser/ui/collection_view:test_support",
+ "//ios/public/provider/chrome/browser/signin:test_support",
+ "//ios/web:test_support",
+ "//testing/gtest",
+ ]
+}
+
+source_set("unit_tests") {
+ testonly = true
+ sources = [
+ "about_chrome_collection_view_controller_unittest.mm",
+ "autofill_collection_view_controller_unittest.mm",
+ "autofill_profile_edit_collection_view_controller_unittest.mm",
+ "bandwidth_management_collection_view_controller_unittest.mm",
+ "block_popups_collection_view_controller_unittest.mm",
+ "clear_browsing_data_collection_view_controller_unittest.mm",
+ "content_settings_collection_view_controller_unittest.mm",
+ "contextual_search_collection_view_controller_unittest.mm",
+ "dataplan_usage_collection_view_controller_unittest.mm",
+ "do_not_track_collection_view_controller_unittest.mm",
+ "import_data_collection_view_controller_unittest.mm",
+ "native_apps_collection_view_controller_unittest.mm",
+ "password_details_collection_view_controller_unittest.mm",
+ "physical_web_collection_view_controller_unittest.mm",
+ "privacy_collection_view_controller_unittest.mm",
+ "save_passwords_collection_view_controller_unittest.mm",
+ "search_engine_settings_collection_view_controller_unittest.mm",
+ "settings_navigation_controller_unittest.mm",
+ "settings_root_collection_view_controller_unittest.mm",
+ "sync_create_passphrase_collection_view_controller_unittest.mm",
+ "sync_encryption_collection_view_controller_unittest.mm",
+ "sync_encryption_passphrase_collection_view_controller_unittest.mm",
+ "sync_settings_collection_view_controller_unittest.mm",
+ "time_range_selector_collection_view_controller_unittest.mm",
+ "translate_collection_view_controller_unittest.mm",
+ "voicesearch_collection_view_controller_unittest.mm",
+ ]
+ deps = [
+ ":settings",
+ ":test_support",
+ "//base",
+ "//base/test:test_support",
+ "//components/autofill/core/browser",
+ "//components/autofill/core/common",
+ "//components/browser_sync:test_support",
+ "//components/browsing_data/core",
+ "//components/content_settings/core/browser",
+ "//components/google/core/browser",
+ "//components/handoff",
+ "//components/password_manager/core/browser:test_support",
+ "//components/pref_registry",
+ "//components/prefs:test_support",
+ "//components/search_engines",
+ "//components/signin/core/browser:test_support",
+ "//components/strings",
+ "//components/sync_preferences",
+ "//components/sync_preferences:test_support",
+ "//components/translate/core/browser",
+ "//components/translate/core/common",
+ "//ios/chrome/app/strings",
+ "//ios/chrome/browser",
+ "//ios/chrome/browser/autofill",
+ "//ios/chrome/browser/autofill:autofill_internal",
+ "//ios/chrome/browser/browser_state",
+ "//ios/chrome/browser/browser_state:test_support",
+ "//ios/chrome/browser/browsing_data",
+ "//ios/chrome/browser/content_settings",
+ "//ios/chrome/browser/passwords",
+ "//ios/chrome/browser/physical_web",
+ "//ios/chrome/browser/prefs:browser_prefs",
+ "//ios/chrome/browser/search_engines",
+ "//ios/chrome/browser/signin",
+ "//ios/chrome/browser/signin:test_support",
+ "//ios/chrome/browser/sync",
+ "//ios/chrome/browser/sync:test_support",
+ "//ios/chrome/browser/translate",
+ "//ios/chrome/browser/ui/collection_view",
+ "//ios/chrome/browser/ui/collection_view:test_support",
+ "//ios/chrome/browser/ui/collection_view/cells",
+ "//ios/chrome/browser/ui/commands",
+ "//ios/chrome/browser/ui/contextual_search",
+ "//ios/chrome/browser/ui/icons",
+ "//ios/chrome/browser/ui/settings/cells",
+ "//ios/chrome/browser/ui/sync",
+ "//ios/chrome/browser/voice",
+ "//ios/chrome/browser/web:test_support",
+ "//ios/chrome/common",
+ "//ios/chrome/test:test_support",
+ "//ios/public/provider/chrome/browser",
+ "//ios/public/provider/chrome/browser/native_app_launcher:test_support",
+ "//ios/public/provider/chrome/browser/voice",
+ "//ios/third_party/material_components_ios",
+ "//ios/web",
+ "//ios/web:test_support",
+ "//net",
+ "//net:test_support",
+ "//testing/gmock",
+ "//testing/gtest",
+ "//third_party/ocmock",
+ "//ui/base",
+ "//url",
+ ]
+}
+
+source_set("eg_tests") {
+ testonly = true
+ sources = [
+ "accounts_collection_egtest.mm",
+ "autofill_settings_egtest.mm",
+ "block_popups_egtest.mm",
+ "clear_browsing_data_egtest.mm",
+ "settings_egtest.mm",
+ "translate_ui_egtest.mm",
+ ]
+
+ deps = [
+ "//base",
+ "//components/browsing_data/core",
+ "//components/content_settings/core/browser",
+ "//components/metrics",
+ "//components/password_manager/core/common",
+ "//components/prefs",
+ "//components/search_engines",
+ "//components/signin/core/browser",
+ "//components/strings",
+ "//ios/chrome/app/strings",
+ "//ios/chrome/app/theme",
+ "//ios/chrome/browser",
+ "//ios/chrome/browser/browser_state",
+ "//ios/chrome/browser/content_settings",
+ "//ios/chrome/browser/search_engines",
+ "//ios/chrome/browser/signin",
+ "//ios/chrome/browser/ui/settings",
+ "//ios/chrome/browser/ui/tools_menu",
+ "//ios/chrome/test/app:test_support",
+ "//ios/chrome/test/earl_grey:test_support",
+ "//ios/public/provider/chrome/browser/signin:test_support",
+ "//ios/testing/earl_grey:earl_grey_support",
+ "//ios/third_party/earl_grey",
+ "//ios/web",
+ "//ios/web:test_support",
+ "//net",
+ "//ui/base",
+ "//url",
+ ]
+ libs = [
+ "UIKit.framework",
+ "XCTest.framework",
+ ]
+}
+
+# Clean Skeleton targets.
+source_set("settings_clean_skeleton") {
+ sources = [
+ "settings_coordinator.h",
+ "settings_coordinator.mm",
+ ]
+
+ configs += [ "//build/config/compiler:enable_arc" ]
+
+ deps = [
+ ":settings",
+ "//ios/chrome/browser:browser_clean_skeleton",
+ "//ios/chrome/browser/ui/actions",
+ ]
+}
diff --git a/ios/chrome/browser/ui/settings/cells/BUILD.gn b/ios/chrome/browser/ui/settings/cells/BUILD.gn
new file mode 100644
index 0000000..74d8d7c5
--- /dev/null
+++ b/ios/chrome/browser/ui/settings/cells/BUILD.gn
@@ -0,0 +1,87 @@
+# Copyright 2016 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+source_set("cells") {
+ sources = [
+ "account_control_item.h",
+ "account_control_item.mm",
+ "account_signin_item.h",
+ "account_signin_item.mm",
+ "autofill_data_item.h",
+ "autofill_data_item.mm",
+ "autofill_edit_item.h",
+ "autofill_edit_item.mm",
+ "byo_textfield_item.h",
+ "byo_textfield_item.mm",
+ "card_multiline_item.h",
+ "card_multiline_item.mm",
+ "copied_to_chrome_item.h",
+ "copied_to_chrome_item.mm",
+ "encryption_item.h",
+ "encryption_item.mm",
+ "import_data_multiline_detail_cell.h",
+ "import_data_multiline_detail_cell.mm",
+ "native_app_item.h",
+ "native_app_item.mm",
+ "passphrase_error_item.h",
+ "passphrase_error_item.mm",
+ "password_details_item.h",
+ "password_details_item.mm",
+ "sync_switch_item.h",
+ "sync_switch_item.mm",
+ "text_and_error_item.h",
+ "text_and_error_item.mm",
+ "version_item.h",
+ "version_item.mm",
+ ]
+
+ deps = [
+ "//components/autofill/core/browser",
+ "//components/strings",
+ "//ios/chrome/app/strings",
+ "//ios/chrome/browser/ui",
+ "//ios/chrome/browser/ui/collection_view/cells",
+ "//ios/chrome/browser/ui/colors",
+ "//ios/third_party/material_components_ios",
+ "//ios/third_party/material_roboto_font_loader_ios",
+ "//ui/base",
+ ]
+
+ configs += [ "//build/config/compiler:enable_arc" ]
+}
+
+source_set("unit_tests") {
+ testonly = true
+ sources = [
+ "account_control_item_unittest.mm",
+ "account_signin_item_unittest.mm",
+ "autofill_data_item_unittest.mm",
+ "autofill_edit_item_unittest.mm",
+ "byo_textfield_item_unittest.mm",
+ "card_multiline_item_unittest.mm",
+ "copied_to_chrome_item_unittest.mm",
+ "encryption_item_unittest.mm",
+ "import_data_multiline_detail_cell_unittest.mm",
+ "native_app_item_unittest.mm",
+ "passphrase_error_item_unittest.mm",
+ "password_details_item_unittest.mm",
+ "sync_switch_item_unittest.mm",
+ "text_and_error_item_unittest.mm",
+ "version_item_unittest.mm",
+ ]
+
+ deps = [
+ ":cells",
+ "//components/strings",
+ "//ios/chrome/app/strings",
+ "//ios/chrome/browser/ui/collection_view/cells",
+ "//ios/chrome/browser/ui/collection_view/cells:test_support",
+ "//ios/chrome/browser/ui/colors",
+ "//ios/third_party/material_components_ios",
+ "//testing/gtest",
+ "//ui/base",
+ ]
+
+ configs += [ "//build/config/compiler:enable_arc" ]
+}
diff --git a/ios/chrome/browser/ui/settings/utils/BUILD.gn b/ios/chrome/browser/ui/settings/utils/BUILD.gn
new file mode 100644
index 0000000..3f450298
--- /dev/null
+++ b/ios/chrome/browser/ui/settings/utils/BUILD.gn
@@ -0,0 +1,57 @@
+# Copyright 2016 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+source_set("utils") {
+ sources = [
+ "content_setting_backed_boolean.h",
+ "content_setting_backed_boolean.mm",
+ "observable_boolean.h",
+ "pref_backed_boolean.h",
+ "pref_backed_boolean.mm",
+ "resized_avatar_cache.h",
+ "resized_avatar_cache.mm",
+ ]
+ deps = [
+ "//base",
+ "//components/content_settings/core/browser",
+ "//components/content_settings/core/common",
+ "//components/prefs",
+ "//ios/chrome/browser/ui",
+ "//ios/public/provider/chrome/browser",
+ "//ios/public/provider/chrome/browser/signin",
+ ]
+}
+
+source_set("test_support") {
+ testonly = true
+ sources = [
+ "fake_observable_boolean.h",
+ "fake_observable_boolean.mm",
+ ]
+ deps = [
+ ":utils",
+ ]
+}
+
+source_set("unit_tests") {
+ testonly = true
+ sources = [
+ "content_setting_backed_boolean_unittest.mm",
+ "pref_backed_boolean_unittest.mm",
+ ]
+ deps = [
+ ":test_support",
+ ":utils",
+ "//base",
+ "//components/content_settings/core/browser",
+ "//components/content_settings/core/common",
+ "//components/prefs",
+ "//components/prefs:test_support",
+ "//components/sync_preferences:test_support",
+ "//ios/chrome/browser/browser_state:test_support",
+ "//ios/chrome/browser/content_settings",
+ "//ios/web:test_support",
+ "//testing/gtest",
+ ]
+}
diff --git a/ios/chrome/browser/ui/side_swipe/BUILD.gn b/ios/chrome/browser/ui/side_swipe/BUILD.gn
index 0b2f874..404b0f6 100644
--- a/ios/chrome/browser/ui/side_swipe/BUILD.gn
+++ b/ios/chrome/browser/ui/side_swipe/BUILD.gn
@@ -15,3 +15,57 @@
"{{bundle_resources_dir}}/{{source_file_part}}",
]
}
+
+source_set("side_swipe") {
+ sources = [
+ "card_side_swipe_view.h",
+ "card_side_swipe_view.mm",
+ "history_side_swipe_provider.h",
+ "history_side_swipe_provider.mm",
+ "side_swipe_controller.h",
+ "side_swipe_controller.mm",
+ "side_swipe_navigation_view.h",
+ "side_swipe_navigation_view.mm",
+ "side_swipe_util.h",
+ "side_swipe_util.mm",
+ ]
+ deps = [
+ "//base",
+ "//components/reading_list/core",
+ "//components/reading_list/ios",
+ "//ios/chrome/app/theme",
+ "//ios/chrome/browser",
+ "//ios/chrome/browser/browser_state",
+ "//ios/chrome/browser/reading_list",
+ "//ios/chrome/browser/snapshots",
+ "//ios/chrome/browser/tabs",
+ "//ios/chrome/browser/ui",
+ "//ios/chrome/browser/ui/ntp",
+ "//ios/chrome/browser/ui/side_swipe:resources",
+ "//ios/chrome/browser/ui/tabs",
+ "//ios/chrome/common",
+ "//ios/web",
+ "//ui/base",
+ "//url",
+ ]
+ public_deps = [
+ "//ios/chrome/browser/infobars",
+ ]
+ libs = [ "UIKit.framework" ]
+}
+
+source_set("unit_tests") {
+ testonly = true
+ sources = [
+ "side_swipe_controller_unittest.mm",
+ ]
+ deps = [
+ ":side_swipe",
+ "//base",
+ "//ios/chrome/browser/browser_state:test_support",
+ "//ios/chrome/browser/ui/toolbar",
+ "//ios/web:test_support",
+ "//testing/gtest",
+ "//third_party/ocmock",
+ ]
+}
diff --git a/ios/chrome/browser/ui/stack_view/BUILD.gn b/ios/chrome/browser/ui/stack_view/BUILD.gn
index 692c3ac..4df6b3c 100644
--- a/ios/chrome/browser/ui/stack_view/BUILD.gn
+++ b/ios/chrome/browser/ui/stack_view/BUILD.gn
@@ -50,3 +50,119 @@
"{{bundle_resources_dir}}/{{source_file_part}}",
]
}
+
+source_set("stack_view") {
+ sources = [
+ "card_set.h",
+ "card_set.mm",
+ "card_stack_layout_manager.h",
+ "card_stack_layout_manager.mm",
+ "card_stack_pinch_gesture_recognizer.h",
+ "card_stack_pinch_gesture_recognizer.mm",
+ "card_view.h",
+ "card_view.mm",
+ "close_button.h",
+ "close_button.mm",
+ "page_animation_util.h",
+ "page_animation_util.mm",
+ "stack_card.h",
+ "stack_card.mm",
+ "stack_view_controller.h",
+ "stack_view_controller.mm",
+ "stack_view_controller_private.h",
+ "stack_view_toolbar_controller.h",
+ "stack_view_toolbar_controller.mm",
+ "title_label.h",
+ "title_label.mm",
+ ]
+ deps = [
+ "//base",
+ "//components/strings",
+ "//ios/chrome/app/strings",
+ "//ios/chrome/browser",
+ "//ios/chrome/browser/tabs",
+ "//ios/chrome/browser/ui",
+ "//ios/chrome/browser/ui/commands",
+ "//ios/chrome/browser/ui/keyboard",
+ "//ios/chrome/browser/ui/ntp",
+ "//ios/chrome/browser/ui/ntp:ntp_internal",
+ "//ios/chrome/browser/ui/stack_view:resources",
+ "//ios/chrome/browser/ui/tab_switcher",
+ "//ios/chrome/browser/ui/tabs",
+ "//ios/chrome/browser/ui/toolbar",
+ "//ios/chrome/browser/ui/tools_menu",
+ "//ios/chrome/common",
+ "//ios/third_party/material_components_ios",
+ "//ios/web",
+ "//net",
+ "//ui/base",
+ "//ui/gfx",
+ ]
+ libs = [
+ "CoreGraphics.framework",
+ "QuartzCore.framework",
+ "UIKit.framework",
+ ]
+}
+
+source_set("unit_tests") {
+ testonly = true
+ sources = [
+ "card_set_unittest.mm",
+ "card_stack_layout_manager_unittest.mm",
+ "stack_card_unittest.mm",
+ "stack_view_controller_unittest.mm",
+ ]
+ deps = [
+ ":stack_view",
+ "//base",
+ "//ios/chrome/browser/tabs",
+ "//ios/chrome/browser/ui",
+ "//ios/chrome/test:test_support",
+ "//ios/testing:ocmock_support",
+ "//testing/gtest",
+ "//third_party/ocmock",
+ ]
+}
+
+source_set("eg_tests") {
+ testonly = true
+ sources = [
+ "stack_view_egtest.mm",
+ ]
+ deps = [
+ "//base",
+ "//base/test:test_support",
+ "//ios/chrome/browser",
+ "//ios/chrome/browser/browser_state",
+ "//ios/chrome/browser/tabs",
+ "//ios/chrome/browser/ui:ui_internal",
+ "//ios/chrome/browser/ui/stack_view",
+ "//ios/chrome/browser/ui/toolbar",
+ "//ios/chrome/browser/ui/tools_menu",
+ "//ios/chrome/test/app:test_support",
+ "//ios/chrome/test/earl_grey:test_support",
+ "//ios/testing/earl_grey:earl_grey_support",
+ ]
+ libs = [ "XCTest.framework" ]
+}
+
+source_set("perf_tests") {
+ testonly = true
+ sources = [
+ "stack_view_controller_perftest.mm",
+ ]
+ deps = [
+ "//base",
+ "//base/test:test_support",
+ "//ios/chrome/browser/snapshots",
+ "//ios/chrome/browser/tabs",
+ "//ios/chrome/browser/test:perf_test_support",
+ "//ios/chrome/browser/ui",
+ "//ios/chrome/browser/ui:ui_internal",
+ "//ios/chrome/browser/ui/stack_view",
+ "//ios/web",
+ "//net",
+ ]
+ libs = [ "UIKit.framework" ]
+}
diff --git a/ios/chrome/browser/ui/static_content/BUILD.gn b/ios/chrome/browser/ui/static_content/BUILD.gn
new file mode 100644
index 0000000..494c90d
--- /dev/null
+++ b/ios/chrome/browser/ui/static_content/BUILD.gn
@@ -0,0 +1,42 @@
+# Copyright 2016 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+source_set("static_content") {
+ sources = [
+ "static_html_native_content.h",
+ "static_html_native_content.mm",
+ "static_html_view_controller.h",
+ "static_html_view_controller.mm",
+ ]
+ deps = [
+ "//base",
+ "//ios/chrome/browser/ui",
+ "//ios/web",
+ "//net",
+ "//ui/base",
+ ]
+}
+
+source_set("unit_tests") {
+ testonly = true
+ sources = [
+ "static_html_native_content_unittest.mm",
+ "static_html_view_controller_unittest.mm",
+ ]
+ deps = [
+ ":static_content",
+ "//base",
+ "//base/test:test_support",
+ "//ios/chrome/app/strings",
+ "//ios/chrome/browser/browser_state:test_support",
+ "//ios/chrome/browser/ui",
+ "//ios/testing:ocmock_support",
+ "//ios/web",
+ "//ios/web:test_support",
+ "//net",
+ "//testing/gtest",
+ "//third_party/ocmock",
+ "//ui/base",
+ ]
+}
diff --git a/ios/chrome/browser/ui/sync/BUILD.gn b/ios/chrome/browser/ui/sync/BUILD.gn
new file mode 100644
index 0000000..53aaf3e
--- /dev/null
+++ b/ios/chrome/browser/ui/sync/BUILD.gn
@@ -0,0 +1,61 @@
+# Copyright 2016 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+import("//ios/public/provider/chrome/browser/build_config.gni")
+
+source_set("sync") {
+ sources = [
+ "sync_error_infobar_delegate.h",
+ "sync_error_infobar_delegate.mm",
+ "sync_util.h",
+ "sync_util.mm",
+ ]
+ deps = [
+ "//base",
+ "//components/browser_sync",
+ "//components/infobars/core",
+ "//components/strings",
+ "//components/sync",
+ "//google_apis",
+ "//ios/chrome/app/strings",
+ "//ios/chrome/browser/browser_state",
+ "//ios/chrome/browser/sync",
+ "//ios/chrome/browser/tabs",
+ "//ios/chrome/browser/ui/commands",
+ "//ui/base",
+ "//ui/gfx",
+ ]
+ libs = [ "UIKit.framework" ]
+}
+
+source_set("eg_tests") {
+ testonly = true
+ sources = [
+ "sync_fake_server_egtest.mm",
+ ]
+ deps = [
+ "//base",
+ "//components/bookmarks/browser",
+ "//components/browser_sync",
+ "//components/strings",
+ "//components/sync",
+ "//ios/chrome/app/strings",
+ "//ios/chrome/browser/bookmarks",
+ "//ios/chrome/browser/bookmarks:bookmarks_utils",
+ "//ios/chrome/browser/signin",
+ "//ios/chrome/browser/sync",
+ "//ios/chrome/browser/ui/settings",
+ "//ios/chrome/browser/ui/tools_menu",
+ "//ios/chrome/test/app:test_support",
+ "//ios/chrome/test/earl_grey:test_support",
+ "//ios/public/provider/chrome/browser/signin:test_support",
+ "//ios/testing:ios_test_support",
+ "//ios/third_party/earl_grey",
+ "//ios/web:test_support",
+ "//net",
+ "//ui/base",
+ "//url",
+ ]
+ libs = [ "XCTest.framework" ]
+}
diff --git a/ios/chrome/browser/ui/tab/BUILD.gn b/ios/chrome/browser/ui/tab/BUILD.gn
new file mode 100644
index 0000000..396fb44
--- /dev/null
+++ b/ios/chrome/browser/ui/tab/BUILD.gn
@@ -0,0 +1,25 @@
+# Copyright 2016 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+source_set("tab") {
+ sources = [
+ "tab_container_view_controller.h",
+ "tab_container_view_controller.mm",
+ "tab_coordinator.h",
+ "tab_coordinator.mm",
+ ]
+
+ configs += [ "//build/config/compiler:enable_arc" ]
+
+ deps = [
+ "//base",
+ "//ios/chrome/browser:browser_clean_skeleton",
+ "//ios/chrome/browser/ui:ui_clean_skeleton",
+ "//ios/chrome/browser/ui/animators",
+ "//ios/chrome/browser/ui/presenters",
+ "//ios/chrome/browser/ui/toolbar:toolbar_clean_skeleton",
+ "//ios/chrome/browser/ui/web_contents",
+ "//ios/web",
+ ]
+}
diff --git a/ios/chrome/browser/ui/tab_grid/BUILD.gn b/ios/chrome/browser/ui/tab_grid/BUILD.gn
new file mode 100644
index 0000000..e38eb26e
--- /dev/null
+++ b/ios/chrome/browser/ui/tab_grid/BUILD.gn
@@ -0,0 +1,41 @@
+# Copyright 2016 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+source_set("tab_grid") {
+ sources = [
+ "tab_grid_coordinator.h",
+ "tab_grid_coordinator.mm",
+ ]
+
+ configs += [ "//build/config/compiler:enable_arc" ]
+
+ deps = [
+ ":tab_grid_ui",
+ "//base",
+ "//ios/chrome/browser:browser_clean_skeleton",
+ "//ios/chrome/browser/browser_state",
+ "//ios/chrome/browser/ui/settings:settings_clean_skeleton",
+ "//ios/chrome/browser/ui/tab",
+ "//ios/web",
+ "//net",
+ "//ui/base",
+ ]
+}
+
+source_set("tab_grid_ui") {
+ sources = [
+ "tab_grid_tab_cell.h",
+ "tab_grid_tab_cell.mm",
+ "tab_grid_view_controller.h",
+ "tab_grid_view_controller.mm",
+ ]
+
+ configs += [ "//build/config/compiler:enable_arc" ]
+
+ deps = [
+ "//base",
+ "//ios/chrome/browser/ui/actions",
+ "//ios/chrome/browser/ui/animators",
+ ]
+}
diff --git a/ios/chrome/browser/ui/tab_switcher/BUILD.gn b/ios/chrome/browser/ui/tab_switcher/BUILD.gn
index dfa0ffef..55c1d92 100644
--- a/ios/chrome/browser/ui/tab_switcher/BUILD.gn
+++ b/ios/chrome/browser/ui/tab_switcher/BUILD.gn
@@ -48,3 +48,154 @@
"{{bundle_resources_dir}}/{{source_file_part}}",
]
}
+
+source_set("tab_switcher") {
+ sources = [
+ "session_changes.h",
+ "session_changes.mm",
+ "tab_model_snapshot.h",
+ "tab_model_snapshot.mm",
+ "tab_switcher.h",
+ "tab_switcher_button.h",
+ "tab_switcher_button.mm",
+ "tab_switcher_cache.h",
+ "tab_switcher_cache.mm",
+ "tab_switcher_controller.h",
+ "tab_switcher_controller.mm",
+ "tab_switcher_header_cell.h",
+ "tab_switcher_header_cell.mm",
+ "tab_switcher_header_view.h",
+ "tab_switcher_header_view.mm",
+ "tab_switcher_model.h",
+ "tab_switcher_model.mm",
+ "tab_switcher_model_private.h",
+ "tab_switcher_panel_cell.h",
+ "tab_switcher_panel_cell.mm",
+ "tab_switcher_panel_collection_view_layout.h",
+ "tab_switcher_panel_collection_view_layout.mm",
+ "tab_switcher_panel_controller.h",
+ "tab_switcher_panel_controller.mm",
+ "tab_switcher_panel_overlay_view.h",
+ "tab_switcher_panel_overlay_view.mm",
+ "tab_switcher_panel_view.h",
+ "tab_switcher_panel_view.mm",
+ "tab_switcher_session_cell_data.h",
+ "tab_switcher_session_cell_data.mm",
+ "tab_switcher_tab_strip_placeholder_view.h",
+ "tab_switcher_tab_strip_placeholder_view.mm",
+ "tab_switcher_transition_context.h",
+ "tab_switcher_transition_context.mm",
+ "tab_switcher_view.h",
+ "tab_switcher_view.mm",
+ ]
+ deps = [
+ ":utils",
+ "//base",
+ "//components/browser_sync",
+ "//components/sessions",
+ "//components/signin/core/browser",
+ "//components/sync",
+ "//components/sync_sessions",
+ "//ios/chrome/app/strings",
+ "//ios/chrome/app/theme",
+ "//ios/chrome/browser",
+ "//ios/chrome/browser/browser_state",
+ "//ios/chrome/browser/favicon",
+ "//ios/chrome/browser/metrics:metrics_internal",
+ "//ios/chrome/browser/sessions",
+ "//ios/chrome/browser/sessions:sessions_internal",
+ "//ios/chrome/browser/signin",
+ "//ios/chrome/browser/sync",
+ "//ios/chrome/browser/tabs",
+ "//ios/chrome/browser/ui",
+ "//ios/chrome/browser/ui/colors",
+ "//ios/chrome/browser/ui/commands",
+ "//ios/chrome/browser/ui/keyboard",
+ "//ios/chrome/browser/ui/material_components",
+ "//ios/chrome/browser/ui/ntp/recent_tabs/views",
+ "//ios/chrome/browser/ui/sync",
+ "//ios/chrome/browser/ui/tab_switcher:resources",
+ "//ios/chrome/browser/ui/tabs",
+ "//ios/chrome/browser/ui/toolbar",
+ "//ios/chrome/common:ios_app_bundle_id_prefix_header",
+ "//ios/public/provider/chrome/browser",
+ "//ios/third_party/material_components_ios",
+ "//ios/third_party/material_roboto_font_loader_ios",
+ "//ios/third_party/material_text_accessibility_ios",
+ "//ios/web",
+ "//ui/base",
+ "//ui/gfx",
+ "//url",
+ ]
+ public_deps = [
+ "//ios/chrome/browser/ui/ntp/recent_tabs",
+ ]
+ allow_circular_includes_from = [ "//ios/chrome/browser/ui/tabs" ]
+ libs = [
+ "QuartzCore.framework",
+ "UIKit.framework",
+ ]
+}
+
+source_set("utils") {
+ sources = [
+ "tab_switcher_utils.h",
+ "tab_switcher_utils.mm",
+ ]
+ deps = [
+ "//base",
+ "//components/browser_sync",
+ "//components/sync",
+ "//components/sync_sessions",
+ "//ios/chrome/app/strings",
+ "//ios/chrome/app/theme",
+ "//ios/chrome/browser/browser_state",
+ "//ios/chrome/browser/favicon",
+ "//ios/chrome/browser/sync",
+ "//ui/base",
+ ]
+}
+
+source_set("unit_tests") {
+ testonly = true
+ sources = [
+ "tab_model_snapshot_unittest.mm",
+ "tab_switcher_model_unittest.mm",
+ "tab_switcher_utils_unittest.mm",
+ ]
+ deps = [
+ ":tab_switcher",
+ ":utils",
+ "//base",
+ "//ios/chrome/browser/browser_state:test_support",
+ "//ios/chrome/browser/tabs",
+ "//ios/chrome/browser/ui/ntp/recent_tabs",
+ "//testing/gtest",
+ "//third_party/ocmock",
+ ]
+}
+
+source_set("eg_tests") {
+ testonly = true
+ sources = [
+ "tab_switcher_controller_egtest.mm",
+ ]
+ deps = [
+ "//base",
+ "//base/test:test_support",
+ "//ios/chrome/app:app_internal",
+ "//ios/chrome/app/strings",
+ "//ios/chrome/browser",
+ "//ios/chrome/browser/ui",
+ "//ios/chrome/browser/ui/commands",
+ "//ios/chrome/browser/ui/tools_menu",
+ "//ios/chrome/test/app:test_support",
+ "//ios/chrome/test/earl_grey:test_support",
+ "//ios/third_party/earl_grey",
+ "//ui/base",
+ ]
+ libs = [
+ "UIKit.framework",
+ "XCTest.framework",
+ ]
+}
diff --git a/ios/chrome/browser/ui/tabs/BUILD.gn b/ios/chrome/browser/ui/tabs/BUILD.gn
index 8f2fb48..1f607c1 100644
--- a/ios/chrome/browser/ui/tabs/BUILD.gn
+++ b/ios/chrome/browser/ui/tabs/BUILD.gn
@@ -40,3 +40,75 @@
"{{bundle_resources_dir}}/{{source_file_part}}",
]
}
+
+source_set("tabs") {
+ sources = [
+ "tab_strip_controller+tab_switcher_animation.h",
+ "tab_strip_controller.h",
+ "tab_strip_controller.mm",
+ "tab_strip_controller_private.h",
+ "tab_strip_view.h",
+ "tab_strip_view.mm",
+ "tab_util.h",
+ "tab_util.mm",
+ "tab_view.h",
+ "tab_view.mm",
+ "target_frame_cache.h",
+ "target_frame_cache.mm",
+ ]
+ deps = [
+ "//base",
+ "//base:i18n",
+ "//ios/chrome/app/strings",
+ "//ios/chrome/browser",
+ "//ios/chrome/browser/browser_state",
+ "//ios/chrome/browser/tabs",
+ "//ios/chrome/browser/ui",
+ "//ios/chrome/browser/ui/colors",
+ "//ios/chrome/browser/ui/commands",
+ "//ios/chrome/browser/ui/tabs:resources",
+ "//ios/chrome/browser/ui/util",
+ "//ios/third_party/material_components_ios",
+ "//ios/web",
+ "//third_party/google_toolbox_for_mac",
+ "//ui/base",
+ "//ui/gfx",
+ ]
+ libs = [ "UIKit.framework" ]
+}
+
+source_set("unit_tests") {
+ testonly = true
+ sources = [
+ "tab_strip_controller_unittest.mm",
+ ]
+ deps = [
+ ":tabs",
+ "//base",
+ "//ios/chrome/browser/browser_state:test_support",
+ "//ios/chrome/browser/sessions:test_support",
+ "//ios/chrome/browser/tabs",
+ "//ios/chrome/browser/ui",
+ "//ios/web:test_support",
+ "//testing/gtest",
+ "//third_party/ocmock",
+ ]
+}
+
+source_set("eg_tests") {
+ testonly = true
+ sources = [
+ "tab_strip_egtest.mm",
+ ]
+ deps = [
+ "//ios/chrome/app/strings",
+ "//ios/chrome/browser",
+ "//ios/chrome/browser/ui",
+ "//ios/chrome/browser/ui/tabs",
+ "//ios/chrome/test/app:test_support",
+ "//ios/chrome/test/earl_grey:test_support",
+ "//ios/third_party/earl_grey",
+ "//ui/base",
+ ]
+ libs = [ "XCTest.framework" ]
+}
diff --git a/ios/chrome/browser/ui/toolbar/BUILD.gn b/ios/chrome/browser/ui/toolbar/BUILD.gn
index a612d73..360b1db6 100644
--- a/ios/chrome/browser/ui/toolbar/BUILD.gn
+++ b/ios/chrome/browser/ui/toolbar/BUILD.gn
@@ -39,3 +39,187 @@
"{{bundle_resources_dir}}/{{source_file_part}}",
]
}
+
+source_set("toolbar") {
+ sources = [
+ "new_tab_button.h",
+ "new_tab_button.mm",
+ "toolbar_button_tints.h",
+ "toolbar_button_tints.mm",
+ "toolbar_controller+protected.h",
+ "toolbar_controller.h",
+ "toolbar_controller.mm",
+ "toolbar_controller_private.h",
+ "toolbar_model_delegate_ios.h",
+ "toolbar_model_delegate_ios.mm",
+ "toolbar_model_impl_ios.h",
+ "toolbar_model_impl_ios.mm",
+ "toolbar_model_ios.h",
+ "toolbar_owner.h",
+ "toolbar_tools_menu_button.h",
+ "toolbar_tools_menu_button.mm",
+ "tools_menu_button_observer_bridge.h",
+ "tools_menu_button_observer_bridge.mm",
+ "web_toolbar_controller.h",
+ "web_toolbar_controller.mm",
+ ]
+ deps = [
+ ":resource_macros",
+ "//base",
+ "//base:i18n",
+ "//components/bookmarks/browser",
+ "//components/google/core/browser",
+ "//components/omnibox/browser",
+ "//components/prefs",
+ "//components/reading_list/core",
+ "//components/reading_list/ios",
+ "//components/search_engines",
+ "//components/strings",
+ "//components/toolbar",
+ "//ios/chrome/app/strings",
+ "//ios/chrome/app/theme",
+ "//ios/chrome/browser",
+ "//ios/chrome/browser/autocomplete",
+ "//ios/chrome/browser/bookmarks",
+ "//ios/chrome/browser/browser_state",
+ "//ios/chrome/browser/reading_list",
+ "//ios/chrome/browser/search_engines",
+ "//ios/chrome/browser/ssl",
+ "//ios/chrome/browser/tabs",
+ "//ios/chrome/browser/ui",
+ "//ios/chrome/browser/ui/colors",
+ "//ios/chrome/browser/ui/commands",
+ "//ios/chrome/browser/ui/fancy_ui",
+ "//ios/chrome/browser/ui/history",
+ "//ios/chrome/browser/ui/keyboard",
+ "//ios/chrome/browser/ui/qr_scanner",
+ "//ios/chrome/browser/ui/toolbar:resources",
+ "//ios/chrome/browser/ui/tools_menu",
+ "//ios/chrome/browser/ui/util",
+ "//ios/chrome/browser/ui/voice",
+ "//ios/chrome/common",
+ "//ios/public/provider/chrome/browser",
+ "//ios/public/provider/chrome/browser/images",
+ "//ios/public/provider/chrome/browser/voice",
+ "//ios/third_party/material_components_ios",
+ "//ios/third_party/material_roboto_font_loader_ios",
+ "//ios/web",
+ "//net",
+ "//ui/base",
+ "//ui/gfx",
+
+ # Fake dependencies to break cycles
+ "//ios/chrome/browser/ui/ntp",
+ "//ios/chrome/browser/ui/side_swipe",
+ ]
+ public_deps = [
+ "//ios/chrome/browser/ui/omnibox:omnibox_internal",
+ ]
+ allow_circular_includes_from = [
+ "//ios/chrome/browser/ui/side_swipe",
+ "//ios/chrome/browser/ui/ntp",
+ ]
+ libs = [
+ "CoreLocation.framework",
+ "UIKit.framework",
+ ]
+}
+
+source_set("resource_macros") {
+ sources = [
+ "toolbar_resource_macros.h",
+ ]
+ deps = [
+ "//ios/chrome/app/theme",
+ ]
+}
+
+source_set("test_support") {
+ testonly = true
+ sources = [
+ "test_toolbar_model_ios.h",
+ "test_toolbar_model_ios.mm",
+ "web_toolbar_controller_private.h",
+ ]
+ deps = [
+ ":toolbar",
+ "//base",
+ "//components/toolbar",
+ "//components/toolbar:test_support",
+ "//ios/chrome/browser/tabs",
+ ]
+}
+
+source_set("unit_tests") {
+ testonly = true
+ sources = [
+ "toolbar_controller_unittest.mm",
+ "toolbar_model_impl_ios_unittest.mm",
+ "web_toolbar_controller_unittest.mm",
+ ]
+ deps = [
+ ":test_support",
+ ":toolbar",
+ "//base",
+ "//components/bookmarks/browser",
+ "//components/bookmarks/test",
+ "//components/toolbar:test_support",
+ "//ios/chrome/browser",
+ "//ios/chrome/browser/bookmarks",
+ "//ios/chrome/browser/browser_state:test_support",
+ "//ios/chrome/browser/tabs",
+ "//ios/chrome/browser/ui",
+ "//ios/chrome/test:test_support",
+ "//ios/testing:ocmock_support",
+ "//ios/web:test_support",
+ "//testing/gtest",
+ "//third_party/ocmock",
+ ]
+}
+
+source_set("eg_tests") {
+ testonly = true
+ sources = [
+ "toolbar_egtest.mm",
+ ]
+
+ deps = [
+ "//base",
+ "//components/strings",
+ "//ios/chrome/app/strings",
+ "//ios/chrome/browser/ui",
+ "//ios/chrome/browser/ui/commands",
+ "//ios/chrome/browser/ui/ntp:ntp_internal",
+ "//ios/chrome/browser/ui/omnibox:omnibox_internal",
+ "//ios/chrome/browser/ui/toolbar",
+ "//ios/chrome/browser/ui/tools_menu",
+ "//ios/chrome/test/app:test_support",
+ "//ios/chrome/test/earl_grey:test_support",
+ "//ios/testing/earl_grey:earl_grey_support",
+ "//ios/third_party/earl_grey",
+ "//ios/web:test_support",
+ "//ui/base",
+ ]
+ libs = [ "XCTest.framework" ]
+}
+
+# Clean Skeleton Targets
+source_set("toolbar_clean_skeleton") {
+ sources = [
+ "toolbar_coordinator.h",
+ "toolbar_coordinator.mm",
+ "toolbar_view_controller.h",
+ "toolbar_view_controller.mm",
+ ]
+
+ configs += [ "//build/config/compiler:enable_arc" ]
+
+ deps = [
+ "//base",
+ "//ios/chrome/browser:browser_clean_skeleton",
+ "//ios/chrome/browser/ui/actions",
+ "//ios/chrome/browser/ui/animators",
+ "//ios/chrome/browser/ui/tools",
+ "//ios/web",
+ ]
+}
diff --git a/ios/chrome/browser/ui/tools/BUILD.gn b/ios/chrome/browser/ui/tools/BUILD.gn
new file mode 100644
index 0000000..a3225331
--- /dev/null
+++ b/ios/chrome/browser/ui/tools/BUILD.gn
@@ -0,0 +1,35 @@
+# Copyright 2016 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+source_set("tools") {
+ sources = [
+ "tools_coordinator.h",
+ "tools_coordinator.mm",
+ ]
+
+ configs += [ "//build/config/compiler:enable_arc" ]
+
+ deps = [
+ ":tools_ui",
+ "//base",
+ "//ios/chrome/browser:browser_clean_skeleton",
+ "//ios/chrome/browser/ui/actions",
+ "//ios/chrome/browser/ui/animators",
+ "//ios/chrome/browser/ui/presenters",
+ ]
+}
+
+source_set("tools_ui") {
+ sources = [
+ "menu_view_controller.h",
+ "menu_view_controller.mm",
+ ]
+
+ configs += [ "//build/config/compiler:enable_arc" ]
+
+ deps = [
+ "//base",
+ "//ios/chrome/browser/ui/actions",
+ ]
+}
diff --git a/ios/chrome/browser/ui/tools_menu/BUILD.gn b/ios/chrome/browser/ui/tools_menu/BUILD.gn
new file mode 100644
index 0000000..4e29989
--- /dev/null
+++ b/ios/chrome/browser/ui/tools_menu/BUILD.gn
@@ -0,0 +1,75 @@
+# Copyright 2016 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+source_set("tools_menu") {
+ sources = [
+ "reading_list_menu_view_item.h",
+ "reading_list_menu_view_item.mm",
+ "tools_menu_context.h",
+ "tools_menu_context.mm",
+ "tools_menu_view_controller.h",
+ "tools_menu_view_controller.mm",
+ "tools_menu_view_item.h",
+ "tools_menu_view_item.mm",
+ "tools_popup_controller.h",
+ "tools_popup_controller.mm",
+ ]
+ deps = [
+ "//base",
+ "//base:i18n",
+ "//components/reading_list/core",
+ "//components/strings",
+ "//ios/chrome/app/strings",
+ "//ios/chrome/browser",
+ "//ios/chrome/browser/ui",
+ "//ios/chrome/browser/ui/colors",
+ "//ios/chrome/browser/ui/commands",
+ "//ios/chrome/browser/ui/popup_menu",
+ "//ios/chrome/browser/ui/reading_list",
+ "//ios/chrome/browser/ui/toolbar:resource_macros",
+ "//ios/chrome/common",
+ "//ios/public/provider/chrome/browser",
+ "//ios/public/provider/chrome/browser/user_feedback",
+ "//ios/third_party/material_components_ios",
+ "//ios/third_party/material_roboto_font_loader_ios",
+ "//ui/base",
+ ]
+ libs = [
+ "QuartzCore.framework",
+ "UIKit.framework",
+ ]
+}
+
+source_set("unit_tests") {
+ testonly = true
+ sources = [
+ "tools_menu_view_item_unittest.mm",
+ ]
+ deps = [
+ ":tools_menu",
+ "//base",
+ "//testing/gtest",
+ ]
+}
+
+source_set("eg_tests") {
+ testonly = true
+ sources = [
+ "tools_popup_menu_egtest.mm",
+ ]
+ deps = [
+ "//base",
+ "//components/strings",
+ "//ios/chrome/app/strings",
+ "//ios/chrome/browser/ui",
+ "//ios/chrome/browser/ui:ui_internal",
+ "//ios/chrome/browser/ui/toolbar",
+ "//ios/chrome/browser/ui/tools_menu",
+ "//ios/chrome/test/earl_grey:test_support",
+ "//ios/third_party/earl_grey",
+ "//ios/web:test_support",
+ "//ui/base",
+ ]
+ libs = [ "XCTest.framework" ]
+}
diff --git a/ios/chrome/browser/ui/util/BUILD.gn b/ios/chrome/browser/ui/util/BUILD.gn
new file mode 100644
index 0000000..48dbae0
--- /dev/null
+++ b/ios/chrome/browser/ui/util/BUILD.gn
@@ -0,0 +1,59 @@
+# Copyright 2016 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+source_set("util") {
+ sources = [
+ "CRUILabel+AttributeUtils.h",
+ "CRUILabel+AttributeUtils.mm",
+ "core_text_util.h",
+ "core_text_util.mm",
+ "label_link_controller.h",
+ "label_link_controller.mm",
+ "label_observer.h",
+ "label_observer.mm",
+ "manual_text_framer.h",
+ "manual_text_framer.mm",
+ "relaxed_bounds_constraints_hittest.h",
+ "snapshot_util.h",
+ "snapshot_util.mm",
+ "text_frame.h",
+ "text_frame.mm",
+ "text_region_mapper.h",
+ "text_region_mapper.mm",
+ "top_view_controller.h",
+ "top_view_controller.mm",
+ "transparent_link_button.h",
+ "transparent_link_button.mm",
+ "unicode_util.h",
+ "unicode_util.mm",
+ ]
+ deps = [
+ "//base",
+ "//base:i18n",
+ "//ios/chrome/browser",
+ "//ios/chrome/browser/ui",
+ "//net",
+ "//url",
+ ]
+}
+
+source_set("unit_tests") {
+ testonly = true
+ sources = [
+ "CRUILabel+AttributeUtils_unittest.mm",
+ "core_text_util_unittest.mm",
+ "label_link_controller_unittest.mm",
+ "label_observer_unittest.mm",
+ "manual_text_framer_unittest.mm",
+ "text_region_mapper_unittest.mm",
+ ]
+ deps = [
+ ":util",
+ "//base",
+ "//ios/third_party/material_components_ios",
+ "//ios/third_party/material_roboto_font_loader_ios",
+ "//testing/gtest",
+ "//url",
+ ]
+}
diff --git a/ios/chrome/browser/ui/web_contents/BUILD.gn b/ios/chrome/browser/ui/web_contents/BUILD.gn
new file mode 100644
index 0000000..dcbe549da
--- /dev/null
+++ b/ios/chrome/browser/ui/web_contents/BUILD.gn
@@ -0,0 +1,22 @@
+# Copyright 2016 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+source_set("web_contents") {
+ sources = [
+ "web_contents_view_controller.h",
+ "web_contents_view_controller.mm",
+ "web_coordinator.h",
+ "web_coordinator.mm",
+ ]
+
+ configs += [ "//build/config/compiler:enable_arc" ]
+
+ deps = [
+ "//ios/chrome/browser:browser_clean_skeleton",
+ "//ios/chrome/browser/web:web_clean_skeleton",
+ "//ios/web",
+ "//ui/base",
+ "//url",
+ ]
+}
diff --git a/ios/chrome/browser/ui/webui/BUILD.gn b/ios/chrome/browser/ui/webui/BUILD.gn
index b1478185..456c5ad 100644
--- a/ios/chrome/browser/ui/webui/BUILD.gn
+++ b/ios/chrome/browser/ui/webui/BUILD.gn
@@ -54,3 +54,55 @@
"//url",
]
}
+
+source_set("webui_internal") {
+ sources = [
+ "chrome_web_ui_ios_controller_factory.h",
+ "chrome_web_ui_ios_controller_factory.mm",
+ "omaha_ui.cc",
+ "omaha_ui.h",
+ "signin_internals_ui_ios.cc",
+ "signin_internals_ui_ios.h",
+ ]
+ deps = [
+ "//base",
+ "//components/favicon/core",
+ "//components/favicon_base",
+ "//components/resources",
+ "//components/signin/core/browser",
+ "//ios/chrome/app/resources:ios_resources",
+ "//ios/chrome/browser",
+ "//ios/chrome/browser/browser_state",
+ "//ios/chrome/browser/omaha",
+ "//ios/chrome/browser/signin",
+ "//ios/chrome/browser/ui/webui",
+ "//ios/chrome/browser/ui/webui/gcm",
+ "//ios/chrome/browser/ui/webui/net_export",
+ "//ios/chrome/browser/ui/webui/sync_internals",
+ "//ios/web",
+ "//ui/base",
+ "//ui/gfx",
+ "//url",
+ ]
+}
+
+source_set("eg_tests") {
+ testonly = true
+ sources = [
+ "web_ui_egtest.mm",
+ ]
+ deps = [
+ "//base",
+ "//components/strings",
+ "//components/version_info",
+ "//ios/chrome/browser",
+ "//ios/chrome/browser/ui/omnibox:omnibox_internal",
+ "//ios/chrome/test/app:test_support",
+ "//ios/chrome/test/earl_grey:test_support",
+ "//ios/testing:ios_test_support",
+ "//ios/web",
+ "//ui/base",
+ "//url",
+ ]
+ libs = [ "XCTest.framework" ]
+}
diff --git a/ios/chrome/browser/web/BUILD.gn b/ios/chrome/browser/web/BUILD.gn
index acb5fb5..f825fc6 100644
--- a/ios/chrome/browser/web/BUILD.gn
+++ b/ios/chrome/browser/web/BUILD.gn
@@ -155,3 +155,170 @@
"resources/print.js",
]
}
+
+source_set("web_internal") {
+ sources = [
+ "auto_reload_bridge.h",
+ "auto_reload_bridge.mm",
+ "auto_reload_controller.h",
+ "auto_reload_controller.mm",
+ "blocked_popup_handler.h",
+ "blocked_popup_handler.mm",
+ "chrome_web_client.h",
+ "chrome_web_client.mm",
+ "error_page_content.h",
+ "error_page_content.mm",
+ "external_app_launcher.h",
+ "external_app_launcher.mm",
+ "passkit_dialog_provider.h",
+ "print_observer.h",
+ "print_observer.mm",
+ ]
+ deps = [
+ "//base",
+ "//components/content_settings/core/browser",
+ "//components/dom_distiller/core",
+ "//components/error_page/common",
+ "//components/infobars/core",
+ "//components/prefs",
+ "//components/resources",
+ "//components/strings",
+ "//components/task_scheduler_util/initialization",
+ "//components/task_scheduler_util/variations",
+ "//components/version_info",
+ "//ios/chrome/app/strings",
+ "//ios/chrome/browser",
+ "//ios/chrome/browser:browser_impl",
+ "//ios/chrome/browser/browser_state",
+ "//ios/chrome/browser/content_settings",
+ "//ios/chrome/browser/ssl",
+ "//ios/chrome/browser/ui/commands",
+ "//ios/chrome/browser/ui/overscroll_actions",
+ "//ios/chrome/browser/ui/static_content",
+ "//ios/chrome/browser/web:injected_js",
+ "//ios/chrome/browser/web:resources",
+ "//ios/public/provider/chrome/browser",
+ "//ios/public/provider/chrome/browser/voice",
+ "//ios/third_party/material_components_ios",
+ "//ios/web",
+ "//ios/web:user_agent",
+ "//net",
+ "//ui/base",
+ "//ui/gfx",
+ "//url",
+ ]
+ libs = [ "UIKit.framework" ]
+}
+
+source_set("test_support") {
+ testonly = true
+ sources = [
+ "chrome_web_test.h",
+ "chrome_web_test.mm",
+ ]
+ deps = [
+ "//components/password_manager/core/browser:test_support",
+ "//ios/chrome/browser/browser_state:test_support",
+ "//ios/chrome/browser/passwords",
+ "//ios/chrome/browser/ui:ui_internal",
+ "//ios/web",
+ "//ios/web:test_support",
+ ]
+}
+
+source_set("unit_tests_internal") {
+ testonly = true
+ sources = [
+ "auto_reload_controller_unittest.mm",
+ "chrome_web_client_unittest.mm",
+ "error_page_content_unittest.mm",
+ "external_app_launcher_unittest.mm",
+ "find_in_page_js_unittest.mm",
+ "js_findinpage_manager_unittest.mm",
+ ]
+ deps = [
+ ":test_support",
+ ":web_internal",
+ "//base",
+ "//base/test:test_support",
+ "//ios/chrome/browser/find_in_page",
+ "//ios/chrome/browser/ui",
+ "//ios/web",
+ "//ios/web:test_support",
+ "//net",
+ "//testing/gtest",
+ "//third_party/ocmock",
+ "//url",
+ ]
+}
+
+source_set("eg_tests") {
+ testonly = true
+ sources = [
+ "browsing_egtest.mm",
+ "browsing_prevent_default_egtest.mm",
+ "cache_egtest.mm",
+ "child_window_open_by_dom_egtest.mm",
+ "forms_egtest.mm",
+ "js_print_egtest.mm",
+ "navigation_egtest.mm",
+ "progress_indicator_egtest.mm",
+ "push_and_replace_state_navigation_egtest.mm",
+ "stop_loading_egtest.mm",
+ "visible_url_egtest.mm",
+ "window_open_by_dom_egtest.mm",
+ ]
+ deps = [
+ "//base",
+ "//base/test:test_support",
+ "//components/content_settings/core/browser",
+ "//components/content_settings/core/common",
+ "//components/strings",
+ "//ios/chrome/app/strings",
+ "//ios/chrome/browser",
+ "//ios/chrome/browser/browser_state",
+ "//ios/chrome/browser/content_settings",
+ "//ios/chrome/browser/ui",
+ "//ios/chrome/browser/ui/commands",
+ "//ios/chrome/test/app:test_support",
+ "//ios/chrome/test/earl_grey:test_support",
+ "//ios/testing:ios_test_support",
+ "//ios/testing/earl_grey:earl_grey_support",
+ "//ios/third_party/earl_grey",
+ "//ios/third_party/material_components_ios",
+ "//ios/web:earl_grey_test_support",
+ "//ios/web:test_support",
+ "//net",
+ "//ui/base",
+ "//url",
+ ]
+ libs = [
+ "UIKit.framework",
+ "XCTest.framework",
+ ]
+}
+
+source_set("perf_tests") {
+ testonly = true
+ sources = [
+ "early_page_script_perftest.mm",
+ ]
+ deps = [
+ "//base",
+ "//ios/chrome/test/base:perf_test_support",
+ "//ios/web",
+ "//ios/web:test_support",
+ ]
+ libs = [ "WebKit.framework" ]
+}
+
+# Clean Skeleton targets.
+source_set("web_clean_skeleton") {
+ sources = [
+ "web_mediator+internal.h",
+ "web_mediator.h",
+ "web_mediator.mm",
+ ]
+
+ configs += [ "//build/config/compiler:enable_arc" ]
+}
diff --git a/ios/chrome/test/BUILD.gn b/ios/chrome/test/BUILD.gn
index 127dd9b..4dd78dcb 100644
--- a/ios/chrome/test/BUILD.gn
+++ b/ios/chrome/test/BUILD.gn
@@ -6,9 +6,12 @@
import("//ios/public/provider/chrome/browser/build_config.gni")
import("//testing/test.gni")
+# All tests needs to be listed in that target to be built as part of
+# "gn_all" target (i.e. by the bots).
group("all_tests") {
testonly = true
deps = [
+ ":ios_chrome_perftests",
":ios_chrome_unittests",
]
}
@@ -74,45 +77,105 @@
]
}
+test("ios_chrome_perftests") {
+ deps = [
+ # Ensure that all perf tests are run, use fake hooks and pack resources.
+ "//ios/chrome/app:tests_fake_hook",
+ "//ios/chrome/test:run_all_unittests",
+ ios_packed_resources_target,
+
+ # Add perf_tests target here.
+ "//ios/chrome/browser/ui:perf_tests",
+ "//ios/chrome/browser/ui/ntp:perf_tests",
+ "//ios/chrome/browser/ui/stack_view:perf_tests",
+ "//ios/chrome/browser/web:perf_tests",
+ ]
+
+ assert_no_deps = ios_assert_no_deps
+}
+
test("ios_chrome_unittests") {
deps = [
- # Ensure that all unit tests are run and packed resources available.
- ":run_all_unittests",
+ # Ensure that all unit tests are run, use fake hooks and pack resources.
+ "//ios/chrome/app:tests_fake_hook",
+ "//ios/chrome/test:run_all_unittests",
ios_packed_resources_target,
# Add unit_tests target here.
":unit_tests",
"//ios/chrome/app:unit_tests",
"//ios/chrome/app/application_delegate:unit_tests",
+ "//ios/chrome/app/safe_mode:unit_tests",
+ "//ios/chrome/app/spotlight:unit_tests",
"//ios/chrome/browser:unit_tests",
+ "//ios/chrome/browser/autofill:unit_tests",
"//ios/chrome/browser/browsing_data:unit_tests",
+ "//ios/chrome/browser/crash_report:unit_tests",
"//ios/chrome/browser/device_sharing:unit_tests",
"//ios/chrome/browser/favicon:unit_tests",
"//ios/chrome/browser/geolocation:unit_tests",
"//ios/chrome/browser/itunes_links:unit_tests",
"//ios/chrome/browser/metrics:unit_tests",
+ "//ios/chrome/browser/metrics:unit_tests_internal",
"//ios/chrome/browser/native_app_launcher:unit_tests",
+ "//ios/chrome/browser/native_app_launcher:unit_tests_internal",
"//ios/chrome/browser/net:unit_tests",
"//ios/chrome/browser/passwords:unit_tests",
+ "//ios/chrome/browser/payments:unit_tests",
+ "//ios/chrome/browser/payments/cells:unit_tests",
"//ios/chrome/browser/reading_list:unit_tests",
+ "//ios/chrome/browser/sessions:unit_tests",
"//ios/chrome/browser/signin:unit_tests",
"//ios/chrome/browser/snapshots:unit_tests",
"//ios/chrome/browser/ssl:unit_tests",
"//ios/chrome/browser/suggestions:unit_tests",
"//ios/chrome/browser/sync:unit_tests",
+ "//ios/chrome/browser/tabs:unit_tests",
"//ios/chrome/browser/translate:unit_tests",
"//ios/chrome/browser/u2f:unit_tests",
"//ios/chrome/browser/ui:unit_tests",
+ "//ios/chrome/browser/ui/activity_services:unit_tests",
"//ios/chrome/browser/ui/alert_coordinator:unit_tests",
+ "//ios/chrome/browser/ui/authentication:unit_tests",
+ "//ios/chrome/browser/ui/autofill/cells:unit_tests",
+ "//ios/chrome/browser/ui/bookmarks:unit_tests",
+ "//ios/chrome/browser/ui/bookmarks/cells:unit_tests",
+ "//ios/chrome/browser/ui/collection_view:unit_tests",
+ "//ios/chrome/browser/ui/collection_view/cells:unit_tests",
"//ios/chrome/browser/ui/commands:unit_tests",
"//ios/chrome/browser/ui/context_menu:unit_tests",
+ "//ios/chrome/browser/ui/contextual_search:unit_tests",
"//ios/chrome/browser/ui/dialogs:unit_tests",
+ "//ios/chrome/browser/ui/dialogs:unit_tests_internal",
+ "//ios/chrome/browser/ui/downloads:unit_tests",
"//ios/chrome/browser/ui/elements:unit_tests",
+ "//ios/chrome/browser/ui/fancy_ui:unit_tests",
+ "//ios/chrome/browser/ui/first_run:unit_tests",
+ "//ios/chrome/browser/ui/history:unit_tests",
+ "//ios/chrome/browser/ui/icons:unit_tests",
+ "//ios/chrome/browser/ui/infobars:unit_tests",
"//ios/chrome/browser/ui/keyboard:unit_tests",
+ "//ios/chrome/browser/ui/main:unit_tests",
+ "//ios/chrome/browser/ui/no_tabs:unit_tests",
+ "//ios/chrome/browser/ui/ntp:unit_tests",
+ "//ios/chrome/browser/ui/omnibox:unit_tests",
+ "//ios/chrome/browser/ui/promos:unit_tests",
+ "//ios/chrome/browser/ui/reading_list:unit_tests",
+ "//ios/chrome/browser/ui/settings:unit_tests",
+ "//ios/chrome/browser/ui/settings/cells:unit_tests",
+ "//ios/chrome/browser/ui/side_swipe:unit_tests",
+ "//ios/chrome/browser/ui/stack_view:unit_tests",
+ "//ios/chrome/browser/ui/static_content:unit_tests",
+ "//ios/chrome/browser/ui/tab_switcher:unit_tests",
+ "//ios/chrome/browser/ui/tabs:unit_tests",
+ "//ios/chrome/browser/ui/toolbar:unit_tests",
+ "//ios/chrome/browser/ui/tools_menu:unit_tests",
+ "//ios/chrome/browser/ui/util:unit_tests",
"//ios/chrome/browser/ui/voice:unit_tests",
"//ios/chrome/browser/update_client:unit_tests",
"//ios/chrome/browser/voice:unit_tests",
"//ios/chrome/browser/web:unit_tests",
+ "//ios/chrome/browser/web:unit_tests_internal",
"//ios/chrome/browser/web_resource:unit_tests",
"//ios/chrome/common:unit_tests",
"//ios/chrome/test/base:unit_tests",
diff --git a/ios/chrome/test/app/BUILD.gn b/ios/chrome/test/app/BUILD.gn
new file mode 100644
index 0000000..8b6ccd5
--- /dev/null
+++ b/ios/chrome/test/app/BUILD.gn
@@ -0,0 +1,80 @@
+# Copyright 2016 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+source_set("test_support") {
+ testonly = true
+ sources = [
+ "bookmarks_test_util.h",
+ "bookmarks_test_util.mm",
+ "chrome_test_util.h",
+ "chrome_test_util.mm",
+ "histogram_test_util.h",
+ "histogram_test_util.mm",
+ "history_test_util.h",
+ "history_test_util.mm",
+ "navigation_test_util.h",
+ "navigation_test_util.mm",
+ "settings_test_util.h",
+ "settings_test_util.mm",
+ "signin_test_util.h",
+ "signin_test_util.mm",
+ "stack_view_test_util.h",
+ "stack_view_test_util.mm",
+ "sync_test_util.h",
+ "sync_test_util.mm",
+ "tab_test_util.h",
+ "tab_test_util.mm",
+ "web_view_interaction_test_util.h",
+ "web_view_interaction_test_util.mm",
+ ]
+ deps = [
+ "//base",
+ "//base/test:test_support",
+ "//breakpad:client",
+ "//components/autofill/core/browser:browser",
+ "//components/bookmarks/browser:browser",
+ "//components/browser_sync",
+ "//components/browsing_data/core",
+ "//components/content_settings/core/browser:browser",
+ "//components/content_settings/core/common:common",
+ "//components/history/core/browser:browser",
+ "//components/keyed_service/core",
+ "//components/metrics",
+ "//components/prefs:prefs",
+ "//components/signin/core/browser:browser",
+ "//components/sync:test_support_fake_server",
+ "//google_apis",
+ "//ios/chrome/app:app_internal",
+ "//ios/chrome/app/application_delegate:application_delegate_internal",
+ "//ios/chrome/app/application_delegate:test_support",
+ "//ios/chrome/browser",
+ "//ios/chrome/browser:browser_internal",
+ "//ios/chrome/browser/autofill",
+ "//ios/chrome/browser/bookmarks",
+ "//ios/chrome/browser/browser_state",
+ "//ios/chrome/browser/browsing_data",
+ "//ios/chrome/browser/content_settings",
+ "//ios/chrome/browser/history",
+ "//ios/chrome/browser/metrics",
+ "//ios/chrome/browser/metrics:metrics_internal",
+ "//ios/chrome/browser/signin",
+ "//ios/chrome/browser/sync",
+ "//ios/chrome/browser/tabs",
+ "//ios/chrome/browser/ui:browser_list",
+ "//ios/chrome/browser/ui:ui_internal",
+ "//ios/chrome/browser/ui/commands",
+ "//ios/chrome/browser/ui/main",
+ "//ios/chrome/browser/ui/ntp:ntp_internal",
+ "//ios/chrome/browser/ui/stack_view",
+ "//ios/chrome/browser/ui/tabs",
+ "//ios/public/provider/chrome/browser",
+ "//ios/public/provider/chrome/browser/signin:test_support",
+ "//ios/testing:ios_test_support",
+ "//ios/web",
+ "//ios/web:test_support",
+ "//net",
+ "//net:test_support",
+ "//url",
+ ]
+}
diff --git a/ios/chrome/test/base/BUILD.gn b/ios/chrome/test/base/BUILD.gn
index 9c7dffc..811cbbb 100644
--- a/ios/chrome/test/base/BUILD.gn
+++ b/ios/chrome/test/base/BUILD.gn
@@ -24,3 +24,17 @@
"//testing/gtest",
]
}
+
+source_set("perf_test_support") {
+ testonly = true
+ sources = [
+ "perf_test_ios.h",
+ "perf_test_ios.mm",
+ ]
+ deps = [
+ "//base",
+ "//ios/chrome/browser/web:web_internal",
+ "//ios/chrome/test:test_support",
+ "//ios/web:test_support",
+ ]
+}
diff --git a/ios/chrome/test/earl_grey/BUILD.gn b/ios/chrome/test/earl_grey/BUILD.gn
index f05c0ec..eb83ac00 100644
--- a/ios/chrome/test/earl_grey/BUILD.gn
+++ b/ios/chrome/test/earl_grey/BUILD.gn
@@ -2,9 +2,202 @@
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
-# This empty target is there to help with upstreaming by removing a manual
-# step from the process (updating the //ios:all target). It will be changed
-# to a real target as part of upstreaming.
+import("//ios/chrome/test/earl_grey/chrome_ios_eg_test.gni")
+
group("all_tests") {
testonly = true
+ deps = [
+ ":ios_chrome_device_check_egtests",
+ ":ios_chrome_flaky_egtests",
+ ":ios_chrome_integration_egtests",
+ ":ios_chrome_multitasking_egtests",
+ ":ios_chrome_reading_list_egtests",
+ ":ios_chrome_settings_egtests",
+ ":ios_chrome_smoke_egtests",
+ ":ios_chrome_ui_egtests",
+ ":ios_chrome_web_egtests",
+ ]
+}
+
+chrome_ios_eg_test("ios_chrome_integration_egtests") {
+ deps = [
+ "//ios/chrome/browser/autofill:eg_tests",
+ "//ios/chrome/browser/context_menu:eg_tests",
+ "//ios/chrome/browser/device_sharing:eg_tests",
+ "//ios/chrome/browser/metrics:eg_tests",
+ "//ios/chrome/browser/net:eg_tests",
+ "//ios/chrome/browser/translate:eg_tests",
+ ]
+}
+
+chrome_ios_eg_test("ios_chrome_reading_list_egtests") {
+ deps = [
+ ":test_support",
+ "//ios/chrome/browser/ui/reading_list:eg_tests",
+ ]
+}
+
+chrome_ios_eg_test("ios_chrome_settings_egtests") {
+ deps = [
+ "//ios/chrome/browser/ui/settings:eg_tests",
+ ]
+}
+
+chrome_ios_eg_test("ios_chrome_ui_egtests") {
+ deps = [
+ "//ios/chrome/app/safe_mode:eg_tests",
+ "//ios/chrome/browser/ui:eg_tests",
+ "//ios/chrome/browser/ui/activity_services:eg_tests",
+ "//ios/chrome/browser/ui/alert_coordinator:eg_tests",
+ "//ios/chrome/browser/ui/authentication:eg_tests",
+ "//ios/chrome/browser/ui/bookmarks:eg_tests",
+ "//ios/chrome/browser/ui/dialogs:eg_tests",
+ "//ios/chrome/browser/ui/find_bar:eg_tests",
+ "//ios/chrome/browser/ui/first_run:eg_tests",
+ "//ios/chrome/browser/ui/history:eg_tests",
+ "//ios/chrome/browser/ui/infobars:eg_tests",
+ "//ios/chrome/browser/ui/ntp:eg_tests",
+ "//ios/chrome/browser/ui/ntp/recent_tabs:eg_tests",
+ "//ios/chrome/browser/ui/print:eg_tests",
+ "//ios/chrome/browser/ui/qr_scanner:eg_tests",
+ "//ios/chrome/browser/ui/stack_view:eg_tests",
+ "//ios/chrome/browser/ui/sync:eg_tests",
+ "//ios/chrome/browser/ui/tab_switcher:eg_tests",
+ "//ios/chrome/browser/ui/tabs:eg_tests",
+ "//ios/chrome/browser/ui/toolbar:eg_tests",
+ "//ios/chrome/browser/ui/tools_menu:eg_tests",
+ "//ios/chrome/browser/ui/webui:eg_tests",
+ ]
+}
+
+chrome_ios_eg_test("ios_chrome_web_egtests") {
+ deps = [
+ "//ios/chrome/browser/web:eg_tests",
+ ]
+}
+
+chrome_ios_eg_test("ios_chrome_multitasking_egtests") {
+ sources = [
+ "//ios/chrome/app/multitasking_test_application_delegate.h",
+ "//ios/chrome/app/multitasking_test_application_delegate.mm",
+ ]
+
+ deps = [
+ ":test_support",
+ "//base",
+ "//ios/chrome/app:app_internal",
+ "//ios/chrome/app/application_delegate:application_delegate_internal",
+
+ # Depends on all EarlGrey test suites to create multitasking tests suite.
+ ":ios_chrome_integration_egtests_deps_group",
+ ":ios_chrome_settings_egtests_deps_group",
+ ":ios_chrome_ui_egtests_deps_group",
+ ":ios_chrome_web_egtests_deps_group",
+ ]
+
+ eg_main_application_delegate = "MultitaskingTestApplicationDelegate"
+}
+
+chrome_ios_eg_test("ios_chrome_device_check_egtests") {
+ sources = [
+ "device_check_egtest.mm",
+ ]
+ deps = [
+ ":test_support",
+ "//ios/third_party/earl_grey",
+ "//url",
+ ]
+}
+
+chrome_ios_eg_test("ios_chrome_flaky_egtests") {
+ deps = [
+ ":test_support",
+ "//base",
+
+ # Depends on all EarlGrey test suites to run all the FLAKY_ tests found.
+ # When adding a new test application, please follow the same pattern.
+ ":ios_chrome_integration_egtests_deps_group",
+ ":ios_chrome_settings_egtests_deps_group",
+ ":ios_chrome_ui_egtests_deps_group",
+ ":ios_chrome_web_egtests_deps_group",
+ ]
+}
+
+chrome_ios_eg_test("ios_chrome_smoke_egtests") {
+ sources = [
+ "smoke_egtest.mm",
+ ]
+ deps = [
+ ":test_support",
+ "//ios/chrome/app:app_internal",
+ "//ios/chrome/app/strings",
+ "//ios/chrome/browser/ui:ui_internal",
+ "//ios/third_party/earl_grey",
+ "//ui/base",
+ ]
+ libs = [ "XCTest.framework" ]
+}
+
+source_set("test_support") {
+ testonly = true
+ sources = [
+ "accessibility_util.h",
+ "accessibility_util.mm",
+ "chrome_actions.h",
+ "chrome_actions.mm",
+ "chrome_assertions.h",
+ "chrome_assertions.mm",
+ "chrome_earl_grey.h",
+ "chrome_earl_grey.mm",
+ "chrome_earl_grey_ui.h",
+ "chrome_earl_grey_ui.mm",
+ "chrome_matchers.h",
+ "chrome_matchers.mm",
+ "chrome_test_case.h",
+ "chrome_test_case.mm",
+ "chrome_util.h",
+ "chrome_util.mm",
+ ]
+
+ deps = [
+ "//base",
+ "//base/test:test_support",
+ "//components/strings",
+ "//ios/chrome/app/strings",
+ "//ios/chrome/browser/ui:ui",
+ "//ios/chrome/browser/ui/collection_view/cells",
+ "//ios/chrome/browser/ui/omnibox:omnibox_internal",
+ "//ios/chrome/browser/ui/static_content",
+ "//ios/chrome/browser/ui/toolbar",
+ "//ios/chrome/browser/ui/tools_menu",
+ "//ios/chrome/test/app:test_support",
+ "//ios/testing:ios_test_support",
+ "//ios/third_party/material_components_ios",
+ "//ios/web",
+ "//ios/web:earl_grey_test_support",
+ "//ios/web:test_support",
+ "//ui/base",
+ "//url",
+ ]
+
+ public_deps = [
+ "//build/config/ios:xctest",
+ "//ios/third_party/earl_grey",
+ ]
+
+ libs = [
+ "OCHamcrest.framework",
+ "WebKit.framework",
+ "XCTest.framework",
+ ]
+}
+
+source_set("hooks") {
+ testonly = true
+ sources = [
+ "eg_tests_hook.mm",
+ ]
+ deps = [
+ "//ios/chrome/app:tests_hook",
+ ]
}
diff --git a/ios/chrome/test/earl_grey/chrome_ios_eg_test.gni b/ios/chrome/test/earl_grey/chrome_ios_eg_test.gni
new file mode 100644
index 0000000..c5d7fb9
--- /dev/null
+++ b/ios/chrome/test/earl_grey/chrome_ios_eg_test.gni
@@ -0,0 +1,141 @@
+# Copyright 2016 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+import("//build/mac/tweak_info_plist.gni")
+import("//ios/build/chrome_build.gni")
+import("//ios/public/provider/chrome/browser/build_config.gni")
+import("//ios/third_party/earl_grey/ios_eg_test.gni")
+
+# Template wrapping ios_eg_test, setting default values for EarlGrey test
+# based on //ios/chrome/app:chrome.
+#
+# Arguments:
+#
+# info_plist:
+# (optional) string, path to the Info.plist file that will be used for
+# the bundle.
+#
+# info_plist_target:
+# (optional) string, if the info_plist is generated from an action,
+# rather than a regular source file, specify the target name in lieu
+# of info_plist. The two arguments are mutually exclusive.
+#
+# extra_info_plists:
+# (optional) string array, extra list of plist files that will be merged
+# and tweaked; ignored if either info_plist or info_plist_target is set.
+#
+# entitlements_path:
+# (optional) path to the template to use to generate the application
+# entitlements by performing variable substitutions, defaults to
+# //build/config/ios/entitlements.plist.
+#
+# entitlements_target:
+# (optional) label of the target generating the application
+# entitlements (must generate a single file as output); cannot be
+# defined if entitlements_path is set.
+#
+# deps
+# list of labels to depends on.
+#
+# This template defines two targets, one named "${target_name}" is the EarlGrey
+# test application, and the other named "${target_name}_deps_group" is a group
+# target that depends on the template "deps" property (used to implement the
+# test suite running the FLAKY_ tests).
+#
+template("chrome_ios_eg_test") {
+ if (!defined(entitlements_path) && !defined(entitlements_target)) {
+ _target_name = target_name
+ _tweak_entitlements = target_name + "_tweak_entitlements"
+ compile_plist(_tweak_entitlements) {
+ format = "xml1"
+ substitutions = [ "IOS_BUNDLE_ID_PREFIX=$ios_app_bundle_id_prefix" ]
+ output_name = "$target_gen_dir/$_target_name.entitlements"
+ plist_templates =
+ [ "//ios/chrome/test/earl_grey/resources/Chrome.entitlements" ]
+ }
+ }
+
+ if (!defined(info_plist) && !defined(info_plist_target)) {
+ _tweak_info_plist = target_name + "_tweak_info_plist"
+ tweak_info_plist(_tweak_info_plist) {
+ info_plists = [
+ "//ios/chrome/app/resources/Info.plist",
+ "//ios/chrome/app/resources/EarlGreyAddition+Info.plist",
+ ]
+ if (ios_chrome_info_plist_additions != []) {
+ info_plists += ios_chrome_info_plist_additions
+ }
+ if (defined(invoker.extra_info_plists)) {
+ info_plists += invoker.extra_info_plists
+ }
+ args = [
+ "--breakpad=$breakpad_enabled_as_int",
+ "--branding=$chromium_short_name",
+ "--version-overrides=MINOR=9999",
+ ]
+ }
+ }
+
+ _deps_group_name = target_name + "_deps_group"
+ group(_deps_group_name) {
+ testonly = true
+ public_deps = invoker.deps
+ if (defined(invoker.public_deps)) {
+ public_deps += invoker.public_deps
+ }
+ }
+
+ ios_eg_test(target_name) {
+ forward_variables_from(invoker,
+ "*",
+ [
+ "deps",
+ "entitlements_path",
+ "entitlements_target",
+ "eg_main_application_delegate",
+ "info_plist",
+ "info_plist_target",
+ "public_deps",
+ ])
+
+ if (!defined(entitlements_path) && !defined(entitlements_target)) {
+ entitlements_target = ":$_tweak_entitlements"
+ }
+
+ if (!defined(info_plist) && !defined(info_plist_target)) {
+ info_plist_target = ":$_tweak_info_plist"
+ }
+
+ _eg_main_application_delegate = "MainApplicationDelegate"
+ if (defined(invoker.eg_main_application_delegate)) {
+ _eg_main_application_delegate = invoker.eg_main_application_delegate
+ }
+
+ deps = [
+ ":$_deps_group_name",
+ "//ios/chrome/app:main",
+ "//ios/chrome/test/earl_grey:hooks",
+ "//ios/testing:http_server_bundle_data",
+ ]
+ if (!defined(bundle_deps)) {
+ bundle_deps = []
+ }
+ bundle_deps += [ "//ios/chrome/app/resources" ]
+
+ if (!defined(extra_substitutions)) {
+ extra_substitutions = []
+ }
+ extra_substitutions += [
+ "CHROMIUM_BUNDLE_ID=gtest.$target_name",
+ "CHROMIUM_HANDOFF_ID=$chromium_handoff_id",
+ "CHROMIUM_SHORT_NAME=$target_name",
+ "CHROMIUM_URL_SCHEME_1=$url_unsecure_scheme",
+ "CHROMIUM_URL_SCHEME_2=$url_secure_scheme",
+ "CHROMIUM_URL_SCHEME_3=$url_x_callback_scheme",
+ "CHROMIUM_URL_SCHEME_4=$url_channel_scheme",
+ "EG_MAIN_APPLICATION_DELEGATE=$_eg_main_application_delegate",
+ "SSOAUTH_URL_SCHEME=$url_ssoauth_scheme",
+ ]
+ }
+}
diff --git a/ios/chrome/test/ocmock/BUILD.gn b/ios/chrome/test/ocmock/BUILD.gn
new file mode 100644
index 0000000..a023247
--- /dev/null
+++ b/ios/chrome/test/ocmock/BUILD.gn
@@ -0,0 +1,21 @@
+# Copyright 2016 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+source_set("ocmock") {
+ testonly = true
+ sources = [
+ "OCMockObject+BreakpadControllerTesting.h",
+ "OCMockObject+BreakpadControllerTesting.mm",
+ "OCMockObject+CrOCMockAdditions.h",
+ "OCMockObject+CrOCMockAdditions.mm",
+ "scoped_mock_object.h",
+ "scoped_verifying_mock_object.h",
+ ]
+ deps = [
+ "//base",
+ "//breakpad:client",
+ "//testing/gtest",
+ "//third_party/ocmock",
+ ]
+}
diff --git a/ios/public/provider/chrome/browser/build_config.gni b/ios/public/provider/chrome/browser/build_config.gni
index aaf2ee9..676dd82 100644
--- a/ios/public/provider/chrome/browser/build_config.gni
+++ b/ios/public/provider/chrome/browser/build_config.gni
@@ -20,5 +20,5 @@
# Label of the target providing implementation for ChromeBrowserProvider.
# Overridden when using the Google-internal repository to build Chrome on iOS.
- ios_provider_target = "//ios/chrome/browser/providers:provider_factory"
+ ios_provider_target = "//ios/chrome/browser:downstream_provider_factory"
}