summaryrefslogtreecommitdiff
path: root/chromium/ios
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@qt.io>2017-04-05 14:08:31 +0200
committerAllan Sandfeld Jensen <allan.jensen@qt.io>2017-04-11 07:46:53 +0000
commit6a4cabb866f66d4128a97cdc6d9d08ce074f1247 (patch)
treeab00f70a5e89278d6a0d16ff0c42578dc4d84a2d /chromium/ios
parente733310db58160074f574c429d48f8308c0afe17 (diff)
downloadqtwebengine-chromium-6a4cabb866f66d4128a97cdc6d9d08ce074f1247.tar.gz
BASELINE: Update Chromium to 57.0.2987.144
Change-Id: I29db402ff696c71a04c4dbaec822c2e53efe0267 Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
Diffstat (limited to 'chromium/ios')
-rw-r--r--chromium/ios/BUILD.gn29
-rw-r--r--chromium/ios/build/chrome_build.gni60
-rw-r--r--chromium/ios/chrome/BUILD.gn56
-rw-r--r--chromium/ios/chrome/app/BUILD.gn319
-rw-r--r--chromium/ios/chrome/app/application_delegate/BUILD.gn124
-rw-r--r--chromium/ios/chrome/app/resources/BUILD.gn87
-rw-r--r--chromium/ios/chrome/app/safe_mode/BUILD.gn74
-rw-r--r--chromium/ios/chrome/app/spotlight/BUILD.gn71
-rw-r--r--chromium/ios/chrome/app/startup/BUILD.gn43
-rw-r--r--chromium/ios/chrome/browser/BUILD.gn76
-rw-r--r--chromium/ios/chrome/browser/autocomplete/BUILD.gn3
-rw-r--r--chromium/ios/chrome/browser/autofill/BUILD.gn89
-rw-r--r--chromium/ios/chrome/browser/browser_state/BUILD.gn17
-rw-r--r--chromium/ios/chrome/browser/browser_state_metrics/BUILD.gn1
-rw-r--r--chromium/ios/chrome/browser/browsing_data/BUILD.gn31
-rw-r--r--chromium/ios/chrome/browser/context_menu/BUILD.gn26
-rw-r--r--chromium/ios/chrome/browser/crash_report/BUILD.gn48
-rw-r--r--chromium/ios/chrome/browser/device_sharing/BUILD.gn24
-rw-r--r--chromium/ios/chrome/browser/dom_distiller/BUILD.gn2
-rw-r--r--chromium/ios/chrome/browser/favicon/BUILD.gn4
-rw-r--r--chromium/ios/chrome/browser/find_in_page/BUILD.gn1
-rw-r--r--chromium/ios/chrome/browser/first_run/BUILD.gn1
-rw-r--r--chromium/ios/chrome/browser/geolocation/BUILD.gn26
-rw-r--r--chromium/ios/chrome/browser/google/BUILD.gn3
-rw-r--r--chromium/ios/chrome/browser/infobars/BUILD.gn4
-rw-r--r--chromium/ios/chrome/browser/interstitials/BUILD.gn1
-rw-r--r--chromium/ios/chrome/browser/invalidation/BUILD.gn1
-rw-r--r--chromium/ios/chrome/browser/itunes_links/BUILD.gn2
-rw-r--r--chromium/ios/chrome/browser/metrics/BUILD.gn83
-rw-r--r--chromium/ios/chrome/browser/native_app_launcher/BUILD.gn102
-rw-r--r--chromium/ios/chrome/browser/net/BUILD.gn39
-rw-r--r--chromium/ios/chrome/browser/ntp_tiles/BUILD.gn1
-rw-r--r--chromium/ios/chrome/browser/omaha/BUILD.gn54
-rw-r--r--chromium/ios/chrome/browser/open_from_clipboard/BUILD.gn1
-rw-r--r--chromium/ios/chrome/browser/passwords/BUILD.gn28
-rw-r--r--chromium/ios/chrome/browser/payments/BUILD.gn89
-rw-r--r--chromium/ios/chrome/browser/payments/cells/BUILD.gn40
-rw-r--r--chromium/ios/chrome/browser/physical_web/BUILD.gn5
-rw-r--r--chromium/ios/chrome/browser/prefs/BUILD.gn23
-rw-r--r--chromium/ios/chrome/browser/providers/BUILD.gn23
-rw-r--r--chromium/ios/chrome/browser/providers/images/BUILD.gn18
-rw-r--r--chromium/ios/chrome/browser/providers/signin/BUILD.gn17
-rw-r--r--chromium/ios/chrome/browser/providers/ui/BUILD.gn16
-rw-r--r--chromium/ios/chrome/browser/reading_list/BUILD.gn47
-rw-r--r--chromium/ios/chrome/browser/search_engines/BUILD.gn2
-rw-r--r--chromium/ios/chrome/browser/sessions/BUILD.gn75
-rw-r--r--chromium/ios/chrome/browser/share_extension/BUILD.gn2
-rw-r--r--chromium/ios/chrome/browser/signin/BUILD.gn48
-rw-r--r--chromium/ios/chrome/browser/snapshots/BUILD.gn16
-rw-r--r--chromium/ios/chrome/browser/ssl/BUILD.gn5
-rw-r--r--chromium/ios/chrome/browser/suggestions/BUILD.gn6
-rw-r--r--chromium/ios/chrome/browser/sync/BUILD.gn8
-rw-r--r--chromium/ios/chrome/browser/sync/sessions/BUILD.gn1
-rw-r--r--chromium/ios/chrome/browser/tabs/BUILD.gn183
-rw-r--r--chromium/ios/chrome/browser/test/BUILD.gn34
-rw-r--r--chromium/ios/chrome/browser/translate/BUILD.gn34
-rw-r--r--chromium/ios/chrome/browser/ui/BUILD.gn351
-rw-r--r--chromium/ios/chrome/browser/ui/activity_services/BUILD.gn114
-rw-r--r--chromium/ios/chrome/browser/ui/alert_coordinator/BUILD.gn49
-rw-r--r--chromium/ios/chrome/browser/ui/authentication/BUILD.gn137
-rw-r--r--chromium/ios/chrome/browser/ui/autofill/BUILD.gn17
-rw-r--r--chromium/ios/chrome/browser/ui/autofill/cells/BUILD.gn51
-rw-r--r--chromium/ios/chrome/browser/ui/bookmarks/BUILD.gn256
-rw-r--r--chromium/ios/chrome/browser/ui/bookmarks/bars/BUILD.gn25
-rw-r--r--chromium/ios/chrome/browser/ui/bookmarks/cells/BUILD.gn45
-rw-r--r--chromium/ios/chrome/browser/ui/collection_view/BUILD.gn54
-rw-r--r--chromium/ios/chrome/browser/ui/collection_view/cells/BUILD.gn72
-rw-r--r--chromium/ios/chrome/browser/ui/colors/BUILD.gn14
-rw-r--r--chromium/ios/chrome/browser/ui/commands/BUILD.gn2
-rw-r--r--chromium/ios/chrome/browser/ui/context_menu/BUILD.gn1
-rw-r--r--chromium/ios/chrome/browser/ui/contextual_search/BUILD.gn142
-rw-r--r--chromium/ios/chrome/browser/ui/contextual_search/protos/BUILD.gn11
-rw-r--r--chromium/ios/chrome/browser/ui/dialogs/BUILD.gn77
-rw-r--r--chromium/ios/chrome/browser/ui/downloads/BUILD.gn80
-rw-r--r--chromium/ios/chrome/browser/ui/elements/BUILD.gn20
-rw-r--r--chromium/ios/chrome/browser/ui/fancy_ui/BUILD.gn37
-rw-r--r--chromium/ios/chrome/browser/ui/find_bar/BUILD.gn104
-rw-r--r--chromium/ios/chrome/browser/ui/first_run/BUILD.gn123
-rw-r--r--chromium/ios/chrome/browser/ui/history/BUILD.gn231
-rw-r--r--chromium/ios/chrome/browser/ui/icons/BUILD.gn63
-rw-r--r--chromium/ios/chrome/browser/ui/infobars/BUILD.gn87
-rw-r--r--chromium/ios/chrome/browser/ui/keyboard/BUILD.gn2
-rw-r--r--chromium/ios/chrome/browser/ui/main/BUILD.gn53
-rw-r--r--chromium/ios/chrome/browser/ui/material_components/BUILD.gn18
-rw-r--r--chromium/ios/chrome/browser/ui/no_tabs/BUILD.gn34
-rw-r--r--chromium/ios/chrome/browser/ui/ntp/BUILD.gn280
-rw-r--r--chromium/ios/chrome/browser/ui/ntp/recent_tabs/BUILD.gn91
-rw-r--r--chromium/ios/chrome/browser/ui/ntp/recent_tabs/views/BUILD.gn52
-rw-r--r--chromium/ios/chrome/browser/ui/omnibox/BUILD.gn120
-rw-r--r--chromium/ios/chrome/browser/ui/overscroll_actions/BUILD.gn54
-rw-r--r--chromium/ios/chrome/browser/ui/popup_menu/BUILD.gn35
-rw-r--r--chromium/ios/chrome/browser/ui/print/BUILD.gn42
-rw-r--r--chromium/ios/chrome/browser/ui/promos/BUILD.gn49
-rw-r--r--chromium/ios/chrome/browser/ui/qr_scanner/BUILD.gn84
-rw-r--r--chromium/ios/chrome/browser/ui/reader_mode/BUILD.gn31
-rw-r--r--chromium/ios/chrome/browser/ui/reading_list/BUILD.gn141
-rw-r--r--chromium/ios/chrome/browser/ui/sad_tab/BUILD.gn27
-rw-r--r--chromium/ios/chrome/browser/ui/settings/BUILD.gn370
-rw-r--r--chromium/ios/chrome/browser/ui/settings/cells/BUILD.gn87
-rw-r--r--chromium/ios/chrome/browser/ui/settings/utils/BUILD.gn57
-rw-r--r--chromium/ios/chrome/browser/ui/side_swipe/BUILD.gn71
-rw-r--r--chromium/ios/chrome/browser/ui/stack_view/BUILD.gn168
-rw-r--r--chromium/ios/chrome/browser/ui/static_content/BUILD.gn42
-rw-r--r--chromium/ios/chrome/browser/ui/suggestions/BUILD.gn52
-rw-r--r--chromium/ios/chrome/browser/ui/sync/BUILD.gn61
-rw-r--r--chromium/ios/chrome/browser/ui/tab_switcher/BUILD.gn201
-rw-r--r--chromium/ios/chrome/browser/ui/tabs/BUILD.gn112
-rw-r--r--chromium/ios/chrome/browser/ui/toolbar/BUILD.gn201
-rw-r--r--chromium/ios/chrome/browser/ui/tools_menu/BUILD.gn75
-rw-r--r--chromium/ios/chrome/browser/ui/util/BUILD.gn59
-rw-r--r--chromium/ios/chrome/browser/ui/voice/BUILD.gn8
-rw-r--r--chromium/ios/chrome/browser/ui/webui/BUILD.gn52
-rw-r--r--chromium/ios/chrome/browser/ui/webui/history/BUILD.gn51
-rw-r--r--chromium/ios/chrome/browser/upgrade/BUILD.gn38
-rw-r--r--chromium/ios/chrome/browser/voice/BUILD.gn17
-rw-r--r--chromium/ios/chrome/browser/web/BUILD.gn290
-rw-r--r--chromium/ios/chrome/common/BUILD.gn10
-rw-r--r--chromium/ios/chrome/common/app_group/BUILD.gn6
-rw-r--r--chromium/ios/chrome/common/physical_web/BUILD.gn1
-rw-r--r--chromium/ios/chrome/share_extension/BUILD.gn69
-rw-r--r--chromium/ios/chrome/test/BUILD.gn132
-rw-r--r--chromium/ios/chrome/test/app/BUILD.gn80
-rw-r--r--chromium/ios/chrome/test/base/BUILD.gn40
-rw-r--r--chromium/ios/chrome/test/earl_grey/BUILD.gn203
-rw-r--r--chromium/ios/chrome/test/earl_grey/chrome_ios_eg_test.gni144
-rw-r--r--chromium/ios/chrome/test/ocmock/BUILD.gn19
-rw-r--r--chromium/ios/chrome/today_extension/BUILD.gn112
-rw-r--r--chromium/ios/chrome/widget_extension/BUILD.gn50
-rw-r--r--chromium/ios/clean/chrome/app/BUILD.gn106
-rw-r--r--chromium/ios/clean/chrome/app/steps/BUILD.gn36
-rw-r--r--chromium/ios/clean/chrome/browser/BUILD.gn40
-rw-r--r--chromium/ios/clean/chrome/browser/ui/BUILD.gn11
-rw-r--r--chromium/ios/clean/chrome/browser/ui/actions/BUILD.gn15
-rw-r--r--chromium/ios/clean/chrome/browser/ui/animators/BUILD.gn17
-rw-r--r--chromium/ios/clean/chrome/browser/ui/commands/BUILD.gn14
-rw-r--r--chromium/ios/clean/chrome/browser/ui/presenters/BUILD.gn17
-rw-r--r--chromium/ios/clean/chrome/browser/ui/settings/BUILD.gn20
-rw-r--r--chromium/ios/clean/chrome/browser/ui/tab/BUILD.gn26
-rw-r--r--chromium/ios/clean/chrome/browser/ui/tab_grid/BUILD.gn44
-rw-r--r--chromium/ios/clean/chrome/browser/ui/tab_strip/BUILD.gn33
-rw-r--r--chromium/ios/clean/chrome/browser/ui/toolbar/BUILD.gn27
-rw-r--r--chromium/ios/clean/chrome/browser/ui/tools/BUILD.gn36
-rw-r--r--chromium/ios/clean/chrome/browser/ui/web_contents/BUILD.gn23
-rw-r--r--chromium/ios/clean/chrome/browser/web/BUILD.gn13
-rw-r--r--chromium/ios/clean/chrome/test/BUILD.gn19
-rw-r--r--chromium/ios/crnet/BUILD.gn10
-rw-r--r--chromium/ios/net/BUILD.gn14
-rw-r--r--chromium/ios/public/provider/chrome/browser/BUILD.gn102
-rw-r--r--chromium/ios/public/provider/chrome/browser/build_config.gni23
-rw-r--r--chromium/ios/public/provider/chrome/browser/distribution/BUILD.gn25
-rw-r--r--chromium/ios/public/provider/chrome/browser/images/BUILD.gn25
-rw-r--r--chromium/ios/public/provider/chrome/browser/native_app_launcher/BUILD.gn29
-rw-r--r--chromium/ios/public/provider/chrome/browser/omaha/BUILD.gn26
-rw-r--r--chromium/ios/public/provider/chrome/browser/signin/BUILD.gn45
-rw-r--r--chromium/ios/public/provider/chrome/browser/spotlight/BUILD.gn25
-rw-r--r--chromium/ios/public/provider/chrome/browser/ui/BUILD.gn29
-rw-r--r--chromium/ios/public/provider/chrome/browser/user_feedback/BUILD.gn25
-rw-r--r--chromium/ios/public/provider/chrome/browser/voice/BUILD.gn25
-rw-r--r--chromium/ios/public/provider/web/BUILD.gn18
-rw-r--r--chromium/ios/shared/chrome/browser/coordinator_context/BUILD.gn24
-rw-r--r--chromium/ios/showcase/BUILD.gn65
-rw-r--r--chromium/ios/showcase/common/BUILD.gn16
-rw-r--r--chromium/ios/showcase/core/BUILD.gn52
-rw-r--r--chromium/ios/showcase/settings/BUILD.gn16
-rw-r--r--chromium/ios/showcase/suggestions/BUILD.gn29
-rw-r--r--chromium/ios/showcase/tab_grid/BUILD.gn30
-rw-r--r--chromium/ios/showcase/tab_strip/BUILD.gn17
-rw-r--r--chromium/ios/showcase/test/BUILD.gn19
-rw-r--r--chromium/ios/showcase/uikit_table_view_cell/BUILD.gn12
-rw-r--r--chromium/ios/test/BUILD.gn10
-rw-r--r--chromium/ios/testing/BUILD.gn43
-rw-r--r--chromium/ios/testing/earl_grey/BUILD.gn1
-rw-r--r--chromium/ios/third_party/material_components_ios/BUILD.gn339
-rw-r--r--chromium/ios/third_party/material_font_disk_loader_ios/BUILD.gn23
-rw-r--r--chromium/ios/third_party/material_roboto_font_loader_ios/BUILD.gn51
-rw-r--r--chromium/ios/third_party/material_sprited_animation_view_ios/BUILD.gn23
-rw-r--r--chromium/ios/third_party/material_text_accessibility_ios/BUILD.gn3
-rw-r--r--chromium/ios/web/BUILD.gn88
-rw-r--r--chromium/ios/web/public/app/BUILD.gn5
-rw-r--r--chromium/ios/web/public/image_fetcher/BUILD.gn (renamed from chromium/ios/chrome/browser/webp_transcode/BUILD.gn)24
-rw-r--r--chromium/ios/web/shell/test/BUILD.gn14
181 files changed, 9760 insertions, 439 deletions
diff --git a/chromium/ios/BUILD.gn b/chromium/ios/BUILD.gn
index 218df283dc0..79a7f396389 100644
--- a/chromium/ios/BUILD.gn
+++ b/chromium/ios/BUILD.gn
@@ -26,22 +26,21 @@ group("all") {
]
} else {
deps = [
- "//ios/chrome:ios_chrome_unittests",
- "//ios/chrome/app",
- "//ios/chrome/common",
- "//ios/chrome/common/physical_web",
- "//ios/chrome/share_extension:packed_resources",
- "//ios/chrome/today_extension:packed_resources",
- "//ios/net:ios_net_unittests",
- "//ios/public/provider/chrome/browser",
- "//ios/public/provider/web",
- "//ios/testing:ocmock_support_unittest",
- "//ios/third_party/earl_grey",
- "//ios/web:earl_grey_test_support",
- "//ios/web:ios_web_inttests",
- "//ios/web:ios_web_unittests",
+ # List all the targets that need to be build on iOS by default.
+ "//ios/chrome/app:chrome",
+ "//ios/clean/chrome/app:chrome_clean_skeleton",
+ "//ios/showcase",
"//ios/web/shell:ios_web_shell",
- "//ios/web/shell/test:ios_web_shell_egtests",
+
+ # List all the test targets that need to be build on iOS by default.
+ "//ios/chrome/test:all_tests",
+ "//ios/chrome/test/earl_grey:all_tests",
+ "//ios/clean/chrome/test:all_tests",
+ "//ios/net:all_tests",
+ "//ios/showcase:all_tests",
+ "//ios/testing:all_tests",
+ "//ios/web:all_tests",
+ "//ios/web/shell/test:all_tests",
]
}
}
diff --git a/chromium/ios/build/chrome_build.gni b/chromium/ios/build/chrome_build.gni
new file mode 100644
index 00000000000..af4b46ce0a7
--- /dev/null
+++ b/chromium/ios/build/chrome_build.gni
@@ -0,0 +1,60 @@
+# 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/config/chrome_build.gni")
+import("//build/config/ios/ios_sdk.gni")
+import("//build/config/mac/symbols.gni")
+
+declare_args() {
+ # Enable today extension.
+ ios_enable_today_extension = true
+ ios_enable_widget_extension = false
+
+ # Enable share extension.
+ ios_enable_share_extension = true
+
+ # Value of the encryption export compliance code. See "Cryptography and
+ # U.S. Export Compliance" in "Submitting the App to App Review" in the
+ # Apple developer documentation (https://goo.gl/yv1xEF).
+ ios_encryption_export_compliance_code = ""
+
+ # List of plist templates to merge when generating chrome Info.plist.
+ ios_chrome_info_plist_additions = []
+
+ # List of plist templates to merge when generating chrome entitlements.
+ ios_chrome_entitlements_additions = []
+}
+assert(!(ios_enable_today_extension && ios_enable_widget_extension),
+ "Both today extensions cannot be enabled simultaneously.")
+
+# Configure whether breakpad support is enabled.
+breakpad_enabled = is_official_build && is_chrome_branded
+
+if (breakpad_enabled) {
+ breakpad_enabled_as_int = 1
+ is_official_release = enable_dsyms && !use_ios_simulator &&
+ current_toolchain == default_toolchain
+} else {
+ breakpad_enabled_as_int = 0
+ is_official_release = false
+}
+
+chromium_bundle_id = "chrome.ios.herebedragons"
+chromium_handoff_id = "$ios_app_bundle_id_prefix.chrome.handoff"
+
+if (is_chrome_branded) {
+ chromium_short_name = "Chrome"
+ url_channel_scheme = "googlechrome-dev"
+ url_secure_scheme = "googlechromes"
+ url_ssoauth_scheme = "$ios_app_bundle_id_prefix.sso.chrome.stable"
+ url_unsecure_scheme = "googlechrome"
+ url_x_callback_scheme = "googlechrome-x-callback"
+} else {
+ chromium_short_name = "Chromium"
+ url_channel_scheme = "chromium-dev"
+ url_secure_scheme = "chromiums"
+ url_ssoauth_scheme = "$ios_app_bundle_id_prefix.sso.chromium"
+ url_unsecure_scheme = "chromium"
+ url_x_callback_scheme = "chromium-x-callback"
+}
diff --git a/chromium/ios/chrome/BUILD.gn b/chromium/ios/chrome/BUILD.gn
deleted file mode 100644
index 9c650c57441..00000000000
--- a/chromium/ios/chrome/BUILD.gn
+++ /dev/null
@@ -1,56 +0,0 @@
-# Copyright 2015 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/build/config.gni")
-import("//testing/test.gni")
-
-test("ios_chrome_unittests") {
- deps = [
- # Ensure that all unit tests are run.
- "//ios/chrome/test:run_all_unittests",
-
- # Ensure that packed resources are available (it should be a dependency
- # of //ios/chrome/app however, Chrome on iOS uses different resources,
- # so the dependency cannot be added there).
- # TODO(crbug.com/653086): find a way to fix those dependency as part of
- # building Chromium for iOS, and then remove the dependency.
- "//ios/chrome/app/resources:packed_resources",
-
- # Add unit_tests target here.
- "//ios/chrome/app:unit_tests",
- "//ios/chrome/app/application_delegate:unit_tests",
- "//ios/chrome/browser:unit_tests",
- "//ios/chrome/browser/browsing_data: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/net:unit_tests",
- "//ios/chrome/browser/passwords:unit_tests",
- "//ios/chrome/browser/reading_list: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/translate:unit_tests",
- "//ios/chrome/browser/u2f:unit_tests",
- "//ios/chrome/browser/ui:unit_tests",
- "//ios/chrome/browser/ui/alert_coordinator:unit_tests",
- "//ios/chrome/browser/ui/commands:unit_tests",
- "//ios/chrome/browser/ui/context_menu:unit_tests",
- "//ios/chrome/browser/ui/dialogs:unit_tests",
- "//ios/chrome/browser/ui/elements:unit_tests",
- "//ios/chrome/browser/ui/keyboard: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_resource:unit_tests",
- "//ios/chrome/browser/webp_transcode:unit_tests",
- "//ios/chrome/common:unit_tests",
- "//ios/chrome/test:unit_tests",
- ]
-
- assert_no_deps = ios_assert_no_deps
-}
diff --git a/chromium/ios/chrome/app/BUILD.gn b/chromium/ios/chrome/app/BUILD.gn
index bd7b4910597..9b17b928557 100644
--- a/chromium/ios/chrome/app/BUILD.gn
+++ b/chromium/ios/chrome/app/BUILD.gn
@@ -2,6 +2,12 @@
# Use of this source code is governed by a BSD-style license that can be
# 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")
+
source_set("app") {
sources = [
"deferred_initialization_runner.h",
@@ -13,7 +19,9 @@ source_set("app") {
]
deps = [
+ ":resources",
"//base",
+ ios_packed_resources_target,
]
libs = [ "Foundation.framework" ]
@@ -22,13 +30,324 @@ source_set("app") {
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",
+ ]
+}
+
+source_set("tests_hook") {
+ # This target is intentionally not test-only, as the main app depends on it.
+ sources = [
+ "tests_hook.h",
+ ]
+}
+
+source_set("tests_fake_hook") {
+ # This target is intentionally not test-only, as the main app depends on it.
+ sources = [
+ "tests_fake_hook.mm",
+ ]
+ deps = [
+ ":tests_hook",
+ ]
+}
+
+bundle_data("resources") {
+ visibility = [ ":app" ]
+ sources = [
+ "resources/SafeModeCrashingModules.plist",
+ ]
+ outputs = [
+ "{{bundle_resources_dir}}/{{source_file_part}}",
+ ]
+}
+
+tweak_info_plist("info_plist") {
+ info_plists = [
+ "resources/Info.plist",
+ "resources/ChromeAddition+Info.plist",
+ ]
+ if (ios_chrome_info_plist_additions != []) {
+ info_plists += ios_chrome_info_plist_additions
+ }
+ if (ios_encryption_export_compliance_code != "") {
+ info_plists += [ "resources/EncryptionExportCompliance+Info.plist" ]
+ }
+ args = [
+ "--breakpad=$breakpad_enabled_as_int",
+ "--branding=$chromium_short_name",
+ ]
+}
+
+compile_plist("entitlements") {
+ format = "xml1"
+ plist_templates = [ "resources/Chrome.entitlements" ]
+ if (ios_chrome_entitlements_additions != []) {
+ plist_templates += ios_chrome_entitlements_additions
+ }
+ if (!ios_automatically_manage_certs) {
+ plist_templates += [ "resources/AssociatedDomains.entitlements" ]
+ }
+ 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 = [
+ ":app",
+ ":tests_hook",
+ "//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/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",
+ ":tests_fake_hook",
+ ]
+
+ bundle_deps = [ "//ios/chrome/app/resources" ]
+
+ if (current_toolchain == default_toolchain) {
+ if (ios_enable_today_extension) {
+ deps += [ ":today_extension_bundle" ]
+ }
+ if (ios_enable_widget_extension) {
+ deps += [ ":widget_extension_bundle" ]
+ }
+ if (ios_enable_share_extension) {
+ 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 (current_toolchain == default_toolchain) {
+ if (ios_enable_today_extension) {
+ 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_widget_extension) {
+ bundle_data("widget_extension_bundle") {
+ public_deps = [
+ "//ios/chrome/widget_extension",
+ ]
+ sources = [
+ "$root_out_dir/widget_extension.appex",
+ ]
+
+ # The output is renamed today_extension.appex so that signing in canary
+ # works and clobbering is not necessary when switching between this
+ # extension and the today extension.
+ # TODO(crbug.com/682230) : Rename this when widget gets its own
+ # mobileprovision.
+ outputs = [
+ "{{bundle_plugins_dir}}/today_extension.appex",
+ ]
+ }
+ }
+
+ if (ios_enable_share_extension) {
+ 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}}",
+ ]
+ }
+ }
}
diff --git a/chromium/ios/chrome/app/application_delegate/BUILD.gn b/chromium/ios/chrome/app/application_delegate/BUILD.gn
index adea24c6587..cf22cd0b0a5 100644
--- a/chromium/ios/chrome/app/application_delegate/BUILD.gn
+++ b/chromium/ios/chrome/app/application_delegate/BUILD.gn
@@ -20,12 +20,136 @@ source_set("application_delegate") {
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/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") {
+ configs += [ "//build/config/compiler:enable_arc" ]
+ 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 = [
+ ":application_delegate",
+ "//base",
+ "//components/crash/core/common",
+ "//components/handoff",
+ "//components/metrics",
+ "//components/prefs",
+ "//ios/chrome/app",
+ "//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/chromium/ios/chrome/app/resources/BUILD.gn b/chromium/ios/chrome/app/resources/BUILD.gn
index ba5d8676445..02f882a5465 100644
--- a/chromium/ios/chrome/app/resources/BUILD.gn
+++ b/chromium/ios/chrome/app/resources/BUILD.gn
@@ -2,11 +2,25 @@
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
+import("//build/config/chrome_build.gni")
+import("//build/config/ios/rules.gni")
import("//build/config/locales.gni")
-import("//tools/grit/grit_rule.gni")
import("//ios/chrome/app/resources/ios_chrome_repack.gni")
+import("//ios/chrome/tools/strings/generate_localizable_strings.gni")
+import("//ios/public/provider/chrome/browser/build_config.gni")
+import("//tools/grit/grit_rule.gni")
-grit("resources") {
+group("resources") {
+ public_deps = [
+ ":launchscreen_xib",
+ ":quick_action_icons",
+ ":system_strings",
+ ios_application_icons_target,
+ ios_packed_resources_target,
+ ]
+}
+
+grit("ios_resources") {
source = "ios_resources.grd"
output_dir = "$root_gen_dir/ios/chrome"
use_qualified_include = true
@@ -49,7 +63,7 @@ repack("repack_unscaled_resources") {
"$root_gen_dir/ui/resources/webui_resources.pak",
]
deps = [
- ":resources",
+ ":ios_resources",
"//components/resources",
"//ios/web:resources",
"//net:net_resources",
@@ -58,3 +72,70 @@ repack("repack_unscaled_resources") {
output = "$target_gen_dir/resources.pak"
copy_data_to_bundle = true
}
+
+bundle_data("chromium_icons") {
+ sources = [
+ "chromium/Icon-120.png",
+ "chromium/Icon-152.png",
+ "chromium/Icon-167.png",
+ "chromium/Icon-180.png",
+ "chromium/Icon-29.png",
+ "chromium/Icon-40.png",
+ "chromium/Icon-58.png",
+ "chromium/Icon-76.png",
+ "chromium/Icon-80.png",
+ "chromium/Icon-87.png",
+ ]
+ outputs = [
+ "{{bundle_resources_dir}}/{{source_file_part}}",
+ ]
+}
+
+bundle_data("quick_action_icons") {
+ sources = [
+ "quick_action_new_incognito_tab@2x.png",
+ "quick_action_new_incognito_tab@3x.png",
+ "quick_action_new_tab@2x.png",
+ "quick_action_new_tab@3x.png",
+ "quick_action_qr_scanner@2x.png",
+ "quick_action_qr_scanner@3x.png",
+ "quick_action_voice_search@2x.png",
+ "quick_action_voice_search@3x.png",
+ ]
+ outputs = [
+ "{{bundle_resources_dir}}/{{source_file_part}}",
+ ]
+}
+
+bundle_data("launchscreen_assets") {
+ sources = [
+ "launchscreen_images.xcassets/Contents.json",
+ "launchscreen_images.xcassets/launchscreen_app_logo.imageset/Contents.json",
+ "launchscreen_images.xcassets/launchscreen_app_logo.imageset/launchscreen_app_logo.png",
+ "launchscreen_images.xcassets/launchscreen_brand_name.imageset/Contents.json",
+ "launchscreen_images.xcassets/launchscreen_brand_name.imageset/launchscreen_brand_name.png",
+ ]
+ outputs = [
+ "{{bundle_resources_dir}}/{{source_file_part}}",
+ ]
+}
+
+bundle_data_ib_file("launchscreen_xib") {
+ source = "LaunchScreen.xib"
+ deps = [
+ ios_launchscreen_assets_target,
+ ]
+}
+
+generate_localizable_strings("system_strings") {
+ config_file = "chrome_localize_strings_config.plist"
+ datapack_dir = get_label_info(ios_packed_resources_target, "target_gen_dir")
+ packed_locales = ios_packed_locales_as_mac_outputs
+ output_filenames = [
+ "InfoPlist.strings",
+ "Localizable.strings",
+ ]
+ deps = [
+ ios_packed_resources_target,
+ ]
+}
diff --git a/chromium/ios/chrome/app/safe_mode/BUILD.gn b/chromium/ios/chrome/app/safe_mode/BUILD.gn
new file mode 100644
index 00000000000..bd5b7ea3742
--- /dev/null
+++ b/chromium/ios/chrome/app/safe_mode/BUILD.gn
@@ -0,0 +1,74 @@
+# 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.
+
+bundle_data("resources") {
+ sources = [
+ "resources/fatal_error.png",
+ "resources/fatal_error@2x.png",
+ "resources/fatal_error@3x.png",
+ ]
+ outputs = [
+ "{{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 = [
+ ":resources",
+ "//base",
+ "//ios/chrome/app",
+ "//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") {
+ configs += [ "//build/config/compiler:enable_arc" ]
+ 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/chromium/ios/chrome/app/spotlight/BUILD.gn b/chromium/ios/chrome/app/spotlight/BUILD.gn
new file mode 100644
index 00000000000..b872afa0e1a
--- /dev/null
+++ b/chromium/ios/chrome/app/spotlight/BUILD.gn
@@ -0,0 +1,71 @@
+# 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") {
+ configs += [ "//build/config/compiler:enable_arc" ]
+ 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/chromium/ios/chrome/app/startup/BUILD.gn b/chromium/ios/chrome/app/startup/BUILD.gn
new file mode 100644
index 00000000000..71c1a1970ef
--- /dev/null
+++ b/chromium/ios/chrome/app/startup/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.
+
+import("//ios/public/provider/chrome/browser/build_config.gni")
+
+source_set("startup") {
+ sources = [
+ "background_upload_alert.h",
+ "background_upload_alert.mm",
+ "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/chromium/ios/chrome/browser/BUILD.gn b/chromium/ios/chrome/browser/BUILD.gn
index bdc29ea25cf..7e026166fa3 100644
--- a/chromium/ios/chrome/browser/BUILD.gn
+++ b/chromium/ios/chrome/browser/BUILD.gn
@@ -2,7 +2,10 @@
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
+import("//build/buildflag_header.gni")
import("//build/config/features.gni")
+import("//build/config/ios/rules.gni")
+import("//rlz/features/features.gni")
import("//third_party/protobuf/proto_library.gni")
declare_args() {
@@ -19,7 +22,10 @@ declare_args() {
}
source_set("browser") {
+ configs += [ "//build/config/compiler:enable_arc" ]
sources = [
+ "about_flags.h",
+ "about_flags.mm",
"app_startup_parameters.h",
"app_startup_parameters.mm",
"application_context.cc",
@@ -73,9 +79,14 @@ source_set("browser") {
"xcallback_parameters.mm",
]
deps = [
+ ":google_api_keys_header",
+ ":settings_resources",
"//base",
"//components/autofill/core/browser",
"//components/autofill/core/common",
+ "//components/dom_distiller/core",
+ "//components/flags_ui",
+ "//components/flags_ui:switches",
"//components/gcm_driver",
"//components/handoff",
"//components/keyed_service/core",
@@ -88,23 +99,31 @@ source_set("browser") {
"//components/pref_registry",
"//components/prefs",
"//components/proxy_config",
+ "//components/reading_list/core",
+ "//components/reading_list/ios",
"//components/search_engines",
"//components/signin/core/browser",
"//components/ssl_config",
+ "//components/strings",
+ "//components/sync",
"//components/translate/core/browser",
"//components/url_formatter",
"//components/variations",
"//components/variations/service",
"//components/version_info",
"//components/webdata_services",
+ "//google_apis",
+ "//ios/chrome/app/strings",
"//ios/chrome/browser/browser_state",
"//ios/chrome/browser/sync/glue",
"//ios/chrome/common",
"//ios/net",
"//ios/public/provider/chrome/browser",
+ "//ios/public/provider/chrome/browser/voice",
"//ios/web",
"//ios/web:user_agent",
"//net",
+ "//rlz/features",
"//url",
]
allow_circular_includes_from = [
@@ -115,6 +134,7 @@ source_set("browser") {
}
source_set("browser_impl") {
+ configs += [ "//build/config/compiler:enable_arc" ]
sources = [
"application_context_impl.cc",
"application_context_impl.h",
@@ -122,7 +142,6 @@ source_set("browser_impl") {
"ios_chrome_main_parts.mm",
]
deps = [
- ":about_flags",
":browser",
"//base",
"//components/component_updater",
@@ -141,7 +160,6 @@ source_set("browser_impl") {
"//components/physical_web/data_source",
"//components/prefs",
"//components/rappor",
- "//components/task_scheduler_util",
"//components/translate/core/browser",
"//components/update_client",
"//components/variations",
@@ -157,6 +175,7 @@ source_set("browser_impl") {
"//ios/chrome/browser/open_from_clipboard",
"//ios/chrome/browser/physical_web",
"//ios/chrome/browser/prefs",
+ "//ios/chrome/browser/prefs:browser_prefs",
"//ios/chrome/browser/services/gcm",
"//ios/chrome/browser/translate",
"//ios/chrome/browser/update_client",
@@ -166,6 +185,7 @@ source_set("browser_impl") {
"//ios/web",
"//ios/web/public/app",
"//net",
+ "//rlz/features",
"//ui/base",
]
@@ -174,33 +194,9 @@ source_set("browser_impl") {
}
}
-# This is a separate target so that the 'defines' does not leak to the
-# other files (which would increase the compilation time when changing
-# the value).
-source_set("about_flags") {
- sources = [
- "about_flags.h",
- "about_flags.mm",
- ]
-
- deps = [
- ":browser",
- "//base",
- "//components/autofill/core/common",
- "//components/dom_distiller/core",
- "//components/flags_ui",
- "//components/flags_ui:switches",
- "//components/ntp_tiles",
- "//components/strings",
- "//components/sync",
- "//components/variations",
- "//google_apis",
- "//ios/chrome/app/strings",
- "//ios/web",
- "//ios/web:user_agent",
- ]
-
- defines = [
+buildflag_header("google_api_keys_header") {
+ header = "google_api_keys.h"
+ flags = [
"GOOGLE_STAGING_API_URL=\"$google_staging_api_url\"",
"GOOGLE_STAGING_LSO_URL=\"$google_staging_lso_url\"",
"GOOGLE_TEST_API_URL=\"$google_test_api_url\"",
@@ -212,9 +208,20 @@ source_set("about_flags") {
]
}
+bundle_data("settings_resources") {
+ sources = [
+ "resources/Settings.bundle/Experimental.plist",
+ "resources/Settings.bundle/Root.plist",
+ ]
+ outputs = [
+ "{{bundle_resources_dir}}/Settings.bundle/{{source_file_part}}",
+ ]
+}
+
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",
@@ -224,6 +231,7 @@ source_set("unit_tests") {
]
deps = [
":browser",
+ ":browser_internal",
"//base",
"//base/test:test_support",
"//components/prefs",
@@ -238,3 +246,13 @@ source_set("unit_tests") {
"//url",
]
}
+
+source_set("browser_internal") {
+ sources = [
+ "callback_counter.h",
+ "callback_counter.mm",
+ ]
+ deps = [
+ "//base",
+ ]
+}
diff --git a/chromium/ios/chrome/browser/autocomplete/BUILD.gn b/chromium/ios/chrome/browser/autocomplete/BUILD.gn
index 33a957c071f..c4bad9a1359 100644
--- a/chromium/ios/chrome/browser/autocomplete/BUILD.gn
+++ b/chromium/ios/chrome/browser/autocomplete/BUILD.gn
@@ -15,6 +15,9 @@ source_set("autocomplete") {
"shortcuts_backend_factory.h",
"shortcuts_backend_factory.mm",
]
+
+ configs += [ "//build/config/compiler:enable_arc" ]
+
deps = [
"//base",
"//components/browser_sync",
diff --git a/chromium/ios/chrome/browser/autofill/BUILD.gn b/chromium/ios/chrome/browser/autofill/BUILD.gn
index 2c35bce9d77..961309903b7 100644
--- a/chromium/ios/chrome/browser/autofill/BUILD.gn
+++ b/chromium/ios/chrome/browser/autofill/BUILD.gn
@@ -40,3 +40,92 @@ source_set("autofill") {
]
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 = [
+ ":autofill",
+ "//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/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",
+ ":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/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 = [
+ ":autofill",
+ "//base",
+ "//base/test:test_support",
+ "//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/testing/earl_grey:earl_grey_support",
+ "//ios/third_party/earl_grey",
+ "//ios/web:earl_grey_test_support",
+ "//ios/web:test_support",
+ ]
+}
diff --git a/chromium/ios/chrome/browser/browser_state/BUILD.gn b/chromium/ios/chrome/browser/browser_state/BUILD.gn
index b9ff7059952..adfa6b78b75 100644
--- a/chromium/ios/chrome/browser/browser_state/BUILD.gn
+++ b/chromium/ios/chrome/browser/browser_state/BUILD.gn
@@ -8,14 +8,18 @@ source_set("browser_state") {
"browser_state_otr_helper.h",
"chrome_browser_state.h",
"chrome_browser_state.mm",
+ "chrome_browser_state_manager.h",
]
deps = [
"//base",
"//components/prefs",
"//components/sync_preferences",
+ "//ios/chrome/browser/tabs",
"//ios/web",
"//net",
]
+
+ configs += [ "//build/config/compiler:enable_arc" ]
}
source_set("browser_state_impl") {
@@ -33,7 +37,6 @@ source_set("browser_state_impl") {
"chrome_browser_state_impl_io_data.mm",
"chrome_browser_state_io_data.cc",
"chrome_browser_state_io_data.h",
- "chrome_browser_state_manager.h",
"chrome_browser_state_manager_impl.cc",
"chrome_browser_state_manager_impl.h",
"chrome_browser_state_removal_controller.h",
@@ -43,6 +46,9 @@ source_set("browser_state_impl") {
"off_the_record_chrome_browser_state_io_data.h",
"off_the_record_chrome_browser_state_io_data.mm",
]
+
+ configs += [ "//build/config/compiler:enable_arc" ]
+
deps = [
":browser_state",
"//base",
@@ -84,9 +90,11 @@ source_set("browser_state_impl") {
"//ios/chrome/browser/ntp_snippets",
"//ios/chrome/browser/passwords",
"//ios/chrome/browser/prefs",
+ "//ios/chrome/browser/prefs:browser_prefs",
"//ios/chrome/browser/reading_list",
"//ios/chrome/browser/search_engines",
"//ios/chrome/browser/services/gcm",
+ "//ios/chrome/browser/sessions",
"//ios/chrome/browser/signin",
"//ios/chrome/browser/suggestions",
"//ios/chrome/browser/sync",
@@ -95,6 +103,7 @@ source_set("browser_state_impl") {
"//ios/chrome/browser/undo",
"//ios/net",
"//ios/public/provider/chrome/browser",
+ "//ios/public/provider/chrome/browser/signin",
"//ios/web",
"//net",
"//net:extras",
@@ -103,7 +112,7 @@ source_set("browser_state_impl") {
"//ios/chrome/browser",
"//ios/chrome/browser/browser_state_metrics",
"//ios/chrome/browser/net",
- "//ios/chrome/browser/prefs",
+ "//ios/chrome/browser/prefs:browser_prefs",
"//ios/chrome/browser/signin",
"//ios/chrome/browser/sync",
"//ios/chrome/browser/sync/glue",
@@ -140,10 +149,14 @@ source_set("test_support") {
"//ios/chrome/browser/history",
"//ios/chrome/browser/net",
"//ios/chrome/browser/prefs",
+ "//ios/chrome/browser/prefs:browser_prefs",
"//ios/chrome/browser/sync/glue",
"//ios/chrome/test:test_support",
"//ios/public/provider/chrome/browser",
+ "//ios/public/provider/chrome/browser/ui",
"//ios/web",
"//net:test_support",
]
+
+ configs += [ "//build/config/compiler:enable_arc" ]
}
diff --git a/chromium/ios/chrome/browser/browser_state_metrics/BUILD.gn b/chromium/ios/chrome/browser/browser_state_metrics/BUILD.gn
index 1993bb754c5..5c6756b3bb5 100644
--- a/chromium/ios/chrome/browser/browser_state_metrics/BUILD.gn
+++ b/chromium/ios/chrome/browser/browser_state_metrics/BUILD.gn
@@ -9,5 +9,6 @@ source_set("browser_state_metrics") {
]
deps = [
"//components/profile_metrics",
+ "//ios/chrome/browser/browser_state",
]
}
diff --git a/chromium/ios/chrome/browser/browsing_data/BUILD.gn b/chromium/ios/chrome/browser/browsing_data/BUILD.gn
index d8aaa48d0ba..4ca5db67140 100644
--- a/chromium/ios/chrome/browser/browsing_data/BUILD.gn
+++ b/chromium/ios/chrome/browser/browsing_data/BUILD.gn
@@ -53,17 +53,48 @@ source_set("browsing_data") {
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 = [
+ ":browsing_data",
+ "//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/native_app_launcher:native_app_launcher_internal",
+ "//ios/chrome/browser/sessions",
+ "//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/chromium/ios/chrome/browser/context_menu/BUILD.gn b/chromium/ios/chrome/browser/context_menu/BUILD.gn
new file mode 100644
index 00000000000..aa2ccd23e99
--- /dev/null
+++ b/chromium/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/chromium/ios/chrome/browser/crash_report/BUILD.gn b/chromium/ios/chrome/browser/crash_report/BUILD.gn
index 6808584422a..551342b8404 100644
--- a/chromium/ios/chrome/browser/crash_report/BUILD.gn
+++ b/chromium/ios/chrome/browser/crash_report/BUILD.gn
@@ -29,3 +29,51 @@ source_set("crash_report") {
"//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 = [
+ ":crash_report",
+ "//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/sessions",
+ "//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",
+ ":crash_report_internal",
+ "//base",
+ "//breakpad:client",
+ "//ios/chrome/browser/browser_state",
+ "//ios/chrome/browser/browser_state:test_support",
+ "//ios/chrome/browser/sessions",
+ "//ios/chrome/test/base",
+ "//ios/chrome/test/ocmock",
+ "//ios/web:test_support",
+ "//testing/gmock",
+ "//testing/gtest",
+ "//third_party/ocmock",
+ ]
+}
diff --git a/chromium/ios/chrome/browser/device_sharing/BUILD.gn b/chromium/ios/chrome/browser/device_sharing/BUILD.gn
index 6c10dd99ba3..a15e20b1732 100644
--- a/chromium/ios/chrome/browser/device_sharing/BUILD.gn
+++ b/chromium/ios/chrome/browser/device_sharing/BUILD.gn
@@ -3,6 +3,7 @@
# found in the LICENSE file.
source_set("device_sharing") {
+ configs += [ "//build/config/compiler:enable_arc" ]
sources = [
"device_sharing_manager.h",
"device_sharing_manager.mm",
@@ -11,7 +12,6 @@ source_set("device_sharing") {
"//base",
"//components/handoff",
"//components/prefs",
- "//ios/chrome/browser",
"//ios/chrome/browser/browser_state",
"//ios/chrome/browser/prefs",
"//net",
@@ -20,6 +20,7 @@ source_set("device_sharing") {
}
source_set("unit_tests") {
+ configs += [ "//build/config/compiler:enable_arc" ]
testonly = true
sources = [
"device_sharing_manager_unittest.mm",
@@ -29,7 +30,6 @@ source_set("unit_tests") {
"//base",
"//components/handoff",
"//components/sync_preferences:test_support",
- "//ios/chrome/browser",
"//ios/chrome/browser/browser_state:test_support",
"//ios/web:test_support",
"//testing/gtest",
@@ -37,3 +37,23 @@ source_set("unit_tests") {
"//url",
]
}
+
+source_set("eg_tests") {
+ configs += [ "//build/config/compiler:enable_arc" ]
+ testonly = true
+ sources = [
+ "handoff_manager_egtest.mm",
+ ]
+ deps = [
+ ":device_sharing",
+ "//components/handoff",
+ "//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/chromium/ios/chrome/browser/dom_distiller/BUILD.gn b/chromium/ios/chrome/browser/dom_distiller/BUILD.gn
index 67b4e9e30af..dab73d24a5f 100644
--- a/chromium/ios/chrome/browser/dom_distiller/BUILD.gn
+++ b/chromium/ios/chrome/browser/dom_distiller/BUILD.gn
@@ -11,7 +11,6 @@ source_set("dom_distiller") {
]
deps = [
"//base",
- "//components/dom_distiller/core",
"//components/dom_distiller/ios",
"//components/keyed_service/core",
"//components/keyed_service/ios",
@@ -19,6 +18,7 @@ source_set("dom_distiller") {
"//ios/chrome/browser/browser_state",
"//ios/web",
"//ui/gfx",
+ "//url",
]
public_deps = [
"//components/dom_distiller/core",
diff --git a/chromium/ios/chrome/browser/favicon/BUILD.gn b/chromium/ios/chrome/browser/favicon/BUILD.gn
index 162387ab68c..4b3e6af7520 100644
--- a/chromium/ios/chrome/browser/favicon/BUILD.gn
+++ b/chromium/ios/chrome/browser/favicon/BUILD.gn
@@ -3,6 +3,7 @@
# found in the LICENSE file.
source_set("favicon") {
+ configs += [ "//build/config/compiler:enable_arc" ]
sources = [
"favicon_attributes.h",
"favicon_attributes.mm",
@@ -29,12 +30,13 @@ source_set("favicon") {
"//components/favicon_base",
"//components/keyed_service/core",
"//components/keyed_service/ios",
+ "//components/resources",
"//ios/chrome/browser",
"//ios/chrome/browser/browser_state",
"//ios/chrome/browser/history",
- "//ios/public/provider/chrome/browser",
"//ios/web",
"//skia",
+ "//ui/base",
"//ui/gfx",
"//url",
]
diff --git a/chromium/ios/chrome/browser/find_in_page/BUILD.gn b/chromium/ios/chrome/browser/find_in_page/BUILD.gn
index 78b5bcb4eac..7c293261696 100644
--- a/chromium/ios/chrome/browser/find_in_page/BUILD.gn
+++ b/chromium/ios/chrome/browser/find_in_page/BUILD.gn
@@ -5,6 +5,7 @@
import("//ios/web/js_compile.gni")
source_set("find_in_page") {
+ configs += [ "//build/config/compiler:enable_arc" ]
sources = [
"find_in_page_controller.h",
"find_in_page_controller.mm",
diff --git a/chromium/ios/chrome/browser/first_run/BUILD.gn b/chromium/ios/chrome/browser/first_run/BUILD.gn
index b189a431b00..25f50590f79 100644
--- a/chromium/ios/chrome/browser/first_run/BUILD.gn
+++ b/chromium/ios/chrome/browser/first_run/BUILD.gn
@@ -3,6 +3,7 @@
# found in the LICENSE file.
source_set("first_run") {
+ configs += [ "//build/config/compiler:enable_arc" ]
sources = [
"first_run.h",
"first_run.mm",
diff --git a/chromium/ios/chrome/browser/geolocation/BUILD.gn b/chromium/ios/chrome/browser/geolocation/BUILD.gn
index 64b8a1e3c95..30306a6b8c3 100644
--- a/chromium/ios/chrome/browser/geolocation/BUILD.gn
+++ b/chromium/ios/chrome/browser/geolocation/BUILD.gn
@@ -3,6 +3,7 @@
# found in the LICENSE file.
source_set("geolocation") {
+ configs += [ "//build/config/compiler:enable_arc" ]
sources = [
"CLLocation+OmniboxGeolocation.h",
"CLLocation+OmniboxGeolocation.mm",
@@ -33,6 +34,7 @@ source_set("geolocation") {
}
source_set("test_support") {
+ configs += [ "//build/config/compiler:enable_arc" ]
testonly = true
sources = [
"test_location_manager.h",
@@ -45,6 +47,7 @@ source_set("test_support") {
}
source_set("unit_tests") {
+ configs += [ "//build/config/compiler:enable_arc" ]
testonly = true
sources = [
"CLLocation+XGeoHeaderTest.mm",
@@ -61,3 +64,26 @@ source_set("unit_tests") {
"//third_party/ocmock",
]
}
+
+source_set("geolocation_internal") {
+ sources = [
+ "omnibox_geolocation_controller+Testing.h",
+ "omnibox_geolocation_controller.h",
+ "omnibox_geolocation_controller.mm",
+ ]
+ deps = [
+ ":geolocation",
+ "//base",
+ "//components/google/core/browser",
+ "//components/version_info",
+ "//ios/chrome/browser/browser_state",
+ "//ios/chrome/browser/tabs",
+ "//ios/web",
+ "//ui/base",
+ "//url",
+ ]
+ libs = [
+ "CoreLocation.framework",
+ "UIKit.framework",
+ ]
+}
diff --git a/chromium/ios/chrome/browser/google/BUILD.gn b/chromium/ios/chrome/browser/google/BUILD.gn
index 177bd504675..77508245f46 100644
--- a/chromium/ios/chrome/browser/google/BUILD.gn
+++ b/chromium/ios/chrome/browser/google/BUILD.gn
@@ -3,6 +3,7 @@
# found in the LICENSE file.
source_set("google") {
+ configs += [ "//build/config/compiler:enable_arc" ]
sources = [
"google_brand.h",
"google_brand.mm",
@@ -18,10 +19,12 @@ source_set("google") {
"//components/prefs",
"//ios/chrome/browser/browser_state",
"//ios/public/provider/chrome/browser",
+ "//ios/public/provider/chrome/browser/distribution",
]
}
source_set("google_logo") {
+ configs += [ "//build/config/compiler:enable_arc" ]
sources = [
"google_logo_service.h",
"google_logo_service.mm",
diff --git a/chromium/ios/chrome/browser/infobars/BUILD.gn b/chromium/ios/chrome/browser/infobars/BUILD.gn
index d829cab4b46..38c173a4a73 100644
--- a/chromium/ios/chrome/browser/infobars/BUILD.gn
+++ b/chromium/ios/chrome/browser/infobars/BUILD.gn
@@ -3,6 +3,7 @@
# found in the LICENSE file.
source_set("infobars") {
+ configs += [ "//build/config/compiler:enable_arc" ]
sources = [
"confirm_infobar_controller+protected.h",
"confirm_infobar_controller.h",
@@ -23,7 +24,8 @@ source_set("infobars") {
deps = [
"//base",
"//components/translate/core/browser",
- "//ios/public/provider/chrome/browser",
+ "//ios/chrome/browser/ui/infobars",
+ "//ios/chrome/common",
"//ios/web",
"//ui/base",
"//ui/gfx",
diff --git a/chromium/ios/chrome/browser/interstitials/BUILD.gn b/chromium/ios/chrome/browser/interstitials/BUILD.gn
index dd910596b1e..ef500ba684b 100644
--- a/chromium/ios/chrome/browser/interstitials/BUILD.gn
+++ b/chromium/ios/chrome/browser/interstitials/BUILD.gn
@@ -3,6 +3,7 @@
# found in the LICENSE file.
source_set("interstitials") {
+ configs += [ "//build/config/compiler:enable_arc" ]
sources = [
"ios_chrome_controller_client.h",
"ios_chrome_controller_client.mm",
diff --git a/chromium/ios/chrome/browser/invalidation/BUILD.gn b/chromium/ios/chrome/browser/invalidation/BUILD.gn
index 1b79f920457..7b6b606ba36 100644
--- a/chromium/ios/chrome/browser/invalidation/BUILD.gn
+++ b/chromium/ios/chrome/browser/invalidation/BUILD.gn
@@ -3,6 +3,7 @@
# found in the LICENSE file.
source_set("invalidation") {
+ configs += [ "//build/config/compiler:enable_arc" ]
sources = [
"ios_chrome_profile_invalidation_provider_factory.h",
"ios_chrome_profile_invalidation_provider_factory.mm",
diff --git a/chromium/ios/chrome/browser/itunes_links/BUILD.gn b/chromium/ios/chrome/browser/itunes_links/BUILD.gn
index a4abdb0862a..7faa8c1a20d 100644
--- a/chromium/ios/chrome/browser/itunes_links/BUILD.gn
+++ b/chromium/ios/chrome/browser/itunes_links/BUILD.gn
@@ -3,6 +3,7 @@
# found in the LICENSE file.
source_set("itunes_links") {
+ configs += [ "//build/config/compiler:enable_arc" ]
sources = [
"itunes_links_observer.h",
"itunes_links_observer.mm",
@@ -16,6 +17,7 @@ source_set("itunes_links") {
}
source_set("unit_tests") {
+ configs += [ "//build/config/compiler:enable_arc" ]
testonly = true
sources = [
"itunes_links_observer_unittest.mm",
diff --git a/chromium/ios/chrome/browser/metrics/BUILD.gn b/chromium/ios/chrome/browser/metrics/BUILD.gn
index 63b0e1b980c..9e4e7182c99 100644
--- a/chromium/ios/chrome/browser/metrics/BUILD.gn
+++ b/chromium/ios/chrome/browser/metrics/BUILD.gn
@@ -3,13 +3,14 @@
# found in the LICENSE file.
source_set("metrics") {
+ configs += [ "//build/config/compiler:enable_arc" ]
sources = [
"field_trial_synchronizer.cc",
"field_trial_synchronizer.h",
"ios_chrome_metrics_service_accessor.cc",
"ios_chrome_metrics_service_accessor.h",
- "ios_chrome_metrics_service_client.cc",
"ios_chrome_metrics_service_client.h",
+ "ios_chrome_metrics_service_client.mm",
"ios_chrome_metrics_services_manager_client.h",
"ios_chrome_metrics_services_manager_client.mm",
"ios_chrome_origins_seen_service_factory.cc",
@@ -47,16 +48,16 @@ source_set("metrics") {
"//ios/chrome/browser/google",
"//ios/chrome/browser/signin",
"//ios/chrome/browser/sync",
- "//ios/chrome/browser/ui",
+ "//ios/chrome/browser/tabs",
"//ios/chrome/browser/variations",
"//ios/chrome/browser/variations:ios_chrome_ui_string_overrider_factory",
"//ios/chrome/common",
- "//ios/public/provider/chrome/browser",
"//ios/web",
]
}
source_set("unit_tests") {
+ configs += [ "//build/config/compiler:enable_arc" ]
testonly = true
sources = [
"ios_chrome_metrics_service_accessor_unittest.cc",
@@ -77,3 +78,79 @@ source_set("unit_tests") {
"//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 = [
+ ":metrics",
+ "//base",
+ "//components/google/core/browser",
+ "//ios/chrome/browser",
+ "//ios/chrome/browser/browser_state",
+ "//ios/chrome/browser/tabs",
+ "//ios/chrome/browser/ui",
+ "//ios/web",
+ "//ui/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",
+ ":metrics_internal",
+ "//base",
+ "//base/test:test_support",
+ "//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 = [
+ ":metrics_internal",
+ "//base",
+ "//base/test:test_support",
+ "//components/strings",
+ "//ios/chrome/app/strings",
+ "//ios/chrome/browser",
+ "//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/chromium/ios/chrome/browser/native_app_launcher/BUILD.gn b/chromium/ios/chrome/browser/native_app_launcher/BUILD.gn
new file mode 100644
index 00000000000..8a96523064f
--- /dev/null
+++ b/chromium/ios/chrome/browser/native_app_launcher/BUILD.gn
@@ -0,0 +1,102 @@
+# 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("native_app_launcher") {
+ sources = [
+ "ios_appstore_ids.h",
+ "ios_appstore_ids.mm",
+ "native_app_infobar_controller.h",
+ "native_app_infobar_controller.mm",
+ "native_app_infobar_delegate.h",
+ "native_app_infobar_delegate.mm",
+ "native_app_navigation_controller_protocol.h",
+ ]
+ deps = [
+ "//base",
+ "//components/infobars/core",
+ "//ios/chrome/app/strings",
+ "//ios/chrome/browser/infobars",
+ "//ios/chrome/browser/ui/infobars",
+ "//ios/public/provider/chrome/browser/native_app_launcher",
+ "//ui/base",
+ "//url",
+ ]
+}
+
+source_set("unit_tests") {
+ configs += [ "//build/config/compiler:enable_arc" ]
+ testonly = true
+ sources = [
+ "native_app_infobar_controller_unittest.mm",
+ "native_app_infobar_delegate_unittest.mm",
+ ]
+ deps = [
+ ":native_app_launcher",
+ "//base",
+ "//base/test:test_support",
+ "//components/infobars/core",
+ "//ios/chrome/browser",
+ "//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",
+ "//ios/web",
+ "//ios/web:test_support",
+ "//net:test_support",
+ "//testing/gmock",
+ "//testing/gtest",
+ "//url",
+ ]
+}
+
+source_set("native_app_launcher_internal") {
+ sources = [
+ "native_app_navigation_controller.h",
+ "native_app_navigation_controller.mm",
+ ]
+ deps = [
+ ":native_app_launcher",
+ "//base",
+ "//components/infobars/core",
+ "//ios/chrome/browser",
+ "//ios/chrome/browser/infobars",
+ "//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",
+ ":native_app_launcher_internal",
+ "//base",
+ "//base/test:test_support",
+ "//components/infobars/core",
+ "//ios/chrome/browser",
+ "//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/chromium/ios/chrome/browser/net/BUILD.gn b/chromium/ios/chrome/browser/net/BUILD.gn
index 4b26d7f72c7..2d147ebf54e 100644
--- a/chromium/ios/chrome/browser/net/BUILD.gn
+++ b/chromium/ios/chrome/browser/net/BUILD.gn
@@ -3,6 +3,7 @@
# found in the LICENSE file.
source_set("net") {
+ configs += [ "//build/config/compiler:enable_arc" ]
sources = [
"chrome_cookie_store_ios_client.h",
"chrome_cookie_store_ios_client.mm",
@@ -14,18 +15,12 @@ source_set("net") {
"crl_set_fetcher.h",
"http_server_properties_manager_factory.cc",
"http_server_properties_manager_factory.h",
- "image_fetcher.h",
- "image_fetcher.mm",
"ios_chrome_http_user_agent_settings.h",
"ios_chrome_http_user_agent_settings.mm",
"ios_chrome_network_delegate.cc",
"ios_chrome_network_delegate.h",
"ios_chrome_url_request_context_getter.cc",
"ios_chrome_url_request_context_getter.h",
- "metrics_network_client.h",
- "metrics_network_client.mm",
- "metrics_network_client_manager.h",
- "metrics_network_client_manager.mm",
"net_types.h",
"proxy_service_factory.cc",
"proxy_service_factory.h",
@@ -43,7 +38,6 @@ source_set("net") {
"//ios/chrome/browser",
"//ios/chrome/browser/browser_state",
"//ios/chrome/browser/browsing_data",
- "//ios/chrome/browser/webp_transcode",
"//ios/net",
"//ios/web",
"//net",
@@ -56,24 +50,11 @@ source_set("net") {
]
}
-source_set("test_support") {
- testonly = true
- sources = [
- "mock_image_fetcher.h",
- "mock_image_fetcher.mm",
- ]
- deps = [
- ":net",
- "//testing/gmock",
- ]
-}
-
source_set("unit_tests") {
+ configs += [ "//build/config/compiler:enable_arc" ]
testonly = true
sources = [
"cookie_util_unittest.mm",
- "image_fetcher_unittest.mm",
- "metrics_network_client_unittest.mm",
"retryable_url_fetcher_unittest.mm",
]
deps = [
@@ -86,3 +67,19 @@ source_set("unit_tests") {
"//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/chromium/ios/chrome/browser/ntp_tiles/BUILD.gn b/chromium/ios/chrome/browser/ntp_tiles/BUILD.gn
index 0aef993fdd6..a09c36d49b6 100644
--- a/chromium/ios/chrome/browser/ntp_tiles/BUILD.gn
+++ b/chromium/ios/chrome/browser/ntp_tiles/BUILD.gn
@@ -15,6 +15,7 @@ source_set("ntp_tiles") {
"//components/image_fetcher",
"//components/keyed_service/core",
"//components/ntp_tiles",
+ "//components/ntp_tiles:json_unsafe_parser",
"//ios/chrome/browser",
"//ios/chrome/browser/browser_state",
"//ios/chrome/browser/favicon",
diff --git a/chromium/ios/chrome/browser/omaha/BUILD.gn b/chromium/ios/chrome/browser/omaha/BUILD.gn
new file mode 100644
index 00000000000..8d5eb217ef9
--- /dev/null
+++ b/chromium/ios/chrome/browser/omaha/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("omaha") {
+ sources = [
+ "omaha_service.h",
+ "omaha_service.mm",
+ ]
+ deps = [
+ "//base",
+ "//base:i18n",
+ "//components/metrics",
+ "//components/prefs",
+ "//components/profile_metrics",
+ "//components/version_info",
+ "//ios/chrome/browser",
+ "//ios/chrome/browser/browser_state",
+ "//ios/chrome/browser/browser_state_metrics",
+ "//ios/chrome/browser/ui",
+ "//ios/chrome/browser/upgrade",
+ "//ios/chrome/common",
+ "//ios/public/provider/chrome/browser",
+ "//ios/public/provider/chrome/browser/omaha",
+ "//ios/web",
+ "//net",
+ "//third_party/libxml",
+ "//url",
+ ]
+}
+
+source_set("unit_tests") {
+ testonly = true
+ sources = [
+ "omaha_service_unittest.mm",
+ ]
+ deps = [
+ ":omaha",
+ "//base",
+ "//components/metrics",
+ "//components/prefs",
+ "//components/version_info",
+ "//ios/chrome/browser",
+ "//ios/chrome/browser/browser_state:test_support",
+ "//ios/chrome/common",
+ "//ios/chrome/test:test_support",
+ "//ios/public/provider/chrome/browser",
+ "//ios/public/provider/chrome/browser/omaha",
+ "//ios/web",
+ "//ios/web:test_support",
+ "//net:test_support",
+ "//testing/gtest",
+ ]
+}
diff --git a/chromium/ios/chrome/browser/open_from_clipboard/BUILD.gn b/chromium/ios/chrome/browser/open_from_clipboard/BUILD.gn
index 585762a28f6..0c4d8dcef04 100644
--- a/chromium/ios/chrome/browser/open_from_clipboard/BUILD.gn
+++ b/chromium/ios/chrome/browser/open_from_clipboard/BUILD.gn
@@ -3,6 +3,7 @@
# found in the LICENSE file.
source_set("open_from_clipboard") {
+ configs += [ "//build/config/compiler:enable_arc" ]
sources = [
"create_clipboard_recent_content.h",
"create_clipboard_recent_content.mm",
diff --git a/chromium/ios/chrome/browser/passwords/BUILD.gn b/chromium/ios/chrome/browser/passwords/BUILD.gn
index 7a426e4ed4e..acc40c17ec7 100644
--- a/chromium/ios/chrome/browser/passwords/BUILD.gn
+++ b/chromium/ios/chrome/browser/passwords/BUILD.gn
@@ -69,7 +69,9 @@ source_set("passwords") {
"//ios/chrome/browser/ui",
"//ios/chrome/browser/ui/commands",
"//ios/chrome/browser/ui/elements",
+ "//ios/chrome/browser/ui/infobars",
"//ios/public/provider/chrome/browser",
+ "//ios/public/provider/chrome/browser/ui",
"//ios/web",
"//ui/base",
"//url",
@@ -82,6 +84,7 @@ source_set("passwords") {
}
source_set("passwords_generation_utils") {
+ configs += [ "//build/config/compiler:enable_arc" ]
sources = [
"password_generation_utils.h",
"password_generation_utils.mm",
@@ -94,6 +97,7 @@ source_set("passwords_generation_utils") {
}
source_set("unit_tests") {
+ configs += [ "//build/config/compiler:enable_arc" ]
testonly = true
sources = [
"credential_manager_js_unittest.mm",
@@ -136,3 +140,27 @@ js_compile_unchecked("injected_js") {
"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 = [
+ ":passwords",
+ "//base",
+ "//components/strings",
+ "//ios/chrome/app/strings",
+ "//ios/chrome/app/theme",
+ "//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/chromium/ios/chrome/browser/payments/BUILD.gn b/chromium/ios/chrome/browser/payments/BUILD.gn
new file mode 100644
index 00000000000..19ebe31b61e
--- /dev/null
+++ b/chromium/ios/chrome/browser/payments/BUILD.gn
@@ -0,0 +1,89 @@
+# 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/web/js_compile.gni")
+
+js_compile_checked("injected_js") {
+ sources = [
+ "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",
+ "shipping_address_selection_coordinator.h",
+ "shipping_address_selection_coordinator.mm",
+ "shipping_address_selection_view_controller.h",
+ "shipping_address_selection_view_controller.mm",
+ "shipping_option_selection_coordinator.h",
+ "shipping_option_selection_coordinator.mm",
+ "shipping_option_selection_view_controller.h",
+ "shipping_option_selection_view_controller.mm",
+ ]
+ deps = [
+ ":injected_js",
+ "//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/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",
+ "shipping_option_selection_coordinator_unittest.mm",
+ "shipping_option_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/chromium/ios/chrome/browser/payments/cells/BUILD.gn b/chromium/ios/chrome/browser/payments/cells/BUILD.gn
new file mode 100644
index 00000000000..9f46adcc7b0
--- /dev/null
+++ b/chromium/ios/chrome/browser/payments/cells/BUILD.gn
@@ -0,0 +1,40 @@
+# 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 = [
+ "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",
+ "shipping_address_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/chromium/ios/chrome/browser/physical_web/BUILD.gn b/chromium/ios/chrome/browser/physical_web/BUILD.gn
index 6a9caf18a1f..832f11376f7 100644
--- a/chromium/ios/chrome/browser/physical_web/BUILD.gn
+++ b/chromium/ios/chrome/browser/physical_web/BUILD.gn
@@ -9,6 +9,8 @@ source_set("physical_web") {
"ios_chrome_physical_web_data_source.h",
"ios_chrome_physical_web_data_source.mm",
"physical_web_constants.h",
+ "physical_web_initial_state_recorder.h",
+ "physical_web_initial_state_recorder.mm",
"physical_web_prefs_registration.cc",
"physical_web_prefs_registration.h",
"start_physical_web_discovery.h",
@@ -19,8 +21,11 @@ source_set("physical_web") {
"//components/physical_web/data_source",
"//components/pref_registry",
"//components/prefs",
+ "//components/search_engines",
"//ios/chrome/browser",
+ "//ios/chrome/browser/browser_state",
"//ios/chrome/browser/geolocation",
+ "//ios/chrome/browser/search_engines",
"//ios/chrome/common/physical_web",
"//url",
]
diff --git a/chromium/ios/chrome/browser/prefs/BUILD.gn b/chromium/ios/chrome/browser/prefs/BUILD.gn
index bb416232dfd..3935d5646a2 100644
--- a/chromium/ios/chrome/browser/prefs/BUILD.gn
+++ b/chromium/ios/chrome/browser/prefs/BUILD.gn
@@ -4,8 +4,6 @@
source_set("prefs") {
sources = [
- "browser_prefs.h",
- "browser_prefs.mm",
"ios_chrome_pref_model_associator_client.cc",
"ios_chrome_pref_model_associator_client.h",
"ios_chrome_pref_service_factory.cc",
@@ -15,12 +13,29 @@ source_set("prefs") {
]
deps = [
"//base",
+ "//components/content_settings/core/browser",
+ "//components/prefs",
+ "//components/proxy_config",
+ "//components/search_engines",
+ "//components/sync_preferences",
+ "//ios/chrome/browser",
+ ]
+}
+
+source_set("browser_prefs") {
+ sources = [
+ "browser_prefs.h",
+ "browser_prefs.mm",
+ ]
+ deps = [
"//components/autofill/core/browser",
"//components/browsing_data/core",
"//components/content_settings/core/browser",
"//components/dom_distiller/core",
"//components/flags_ui",
"//components/gcm_driver",
+ "//components/handoff",
+ "//components/metrics",
"//components/network_time",
"//components/ntp_snippets",
"//components/ntp_tiles",
@@ -35,7 +50,6 @@ source_set("prefs") {
"//components/ssl_config",
"//components/strings",
"//components/sync",
- "//components/sync_preferences",
"//components/translate/core/browser",
"//components/translate/core/common",
"//components/update_client",
@@ -48,8 +62,9 @@ source_set("prefs") {
"//ios/chrome/browser/memory",
"//ios/chrome/browser/metrics",
"//ios/chrome/browser/net",
- "//ios/chrome/browser/reading_list",
+ "//ios/chrome/browser/physical_web",
"//ios/chrome/browser/signin",
+ "//ios/chrome/browser/ui/bookmarks",
"//ios/chrome/browser/voice:prefs",
"//ios/public/provider/chrome/browser",
"//ui/base",
diff --git a/chromium/ios/chrome/browser/providers/BUILD.gn b/chromium/ios/chrome/browser/providers/BUILD.gn
index ea55c568854..2a6e7c7c8e2 100644
--- a/chromium/ios/chrome/browser/providers/BUILD.gn
+++ b/chromium/ios/chrome/browser/providers/BUILD.gn
@@ -10,11 +10,34 @@ source_set("providers") {
"chromium_browser_provider.mm",
"chromium_logo_controller.h",
"chromium_logo_controller.mm",
+ "chromium_spotlight_provider.h",
+ "chromium_spotlight_provider.mm",
"chromium_voice_search_provider.h",
"chromium_voice_search_provider.mm",
]
deps = [
"//base",
+ "//ios/chrome/browser/providers/images",
+ "//ios/chrome/browser/providers/signin",
+ "//ios/chrome/browser/providers/ui",
+ "//ios/public/provider/chrome/browser",
+ "//ios/public/provider/chrome/browser/distribution",
+ "//ios/public/provider/chrome/browser/signin",
+ "//ios/public/provider/chrome/browser/spotlight",
+ "//ios/public/provider/chrome/browser/ui",
+ "//ios/public/provider/chrome/browser/user_feedback",
+ "//ios/public/provider/chrome/browser/voice",
+ ]
+ configs += [ "//build/config/compiler:enable_arc" ]
+}
+
+source_set("provider_factory") {
+ sources = [
+ "chromium_browser_provider_factory.mm",
+ ]
+ deps = [
+ ":providers",
+ "//base",
"//ios/public/provider/chrome/browser",
]
configs += [ "//build/config/compiler:enable_arc" ]
diff --git a/chromium/ios/chrome/browser/providers/images/BUILD.gn b/chromium/ios/chrome/browser/providers/images/BUILD.gn
new file mode 100644
index 00000000000..9aad49ee2d2
--- /dev/null
+++ b/chromium/ios/chrome/browser/providers/images/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("images") {
+ sources = [
+ "chromium_branded_image_provider.h",
+ "chromium_branded_image_provider.mm",
+ ]
+ deps = [
+ "//base",
+ "//ios/chrome/app/theme",
+ "//ios/public/provider/chrome/browser",
+ "//ios/public/provider/chrome/browser/images",
+ "//ui/base",
+ ]
+ configs += [ "//build/config/compiler:enable_arc" ]
+}
diff --git a/chromium/ios/chrome/browser/providers/signin/BUILD.gn b/chromium/ios/chrome/browser/providers/signin/BUILD.gn
new file mode 100644
index 00000000000..d7427bd0c28
--- /dev/null
+++ b/chromium/ios/chrome/browser/providers/signin/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("signin") {
+ sources = [
+ "chromium_signin_resources_provider.h",
+ "chromium_signin_resources_provider.mm",
+ ]
+ deps = [
+ "//base",
+ "//ios/chrome/browser/ui",
+ "//ios/public/provider/chrome/browser/signin",
+ ]
+ libs = [ "UIKit.framework" ]
+ configs += [ "//build/config/compiler:enable_arc" ]
+}
diff --git a/chromium/ios/chrome/browser/providers/ui/BUILD.gn b/chromium/ios/chrome/browser/providers/ui/BUILD.gn
new file mode 100644
index 00000000000..292643e348c
--- /dev/null
+++ b/chromium/ios/chrome/browser/providers/ui/BUILD.gn
@@ -0,0 +1,16 @@
+# 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("ui") {
+ sources = [
+ "chromium_styled_text_field.h",
+ "chromium_styled_text_field.mm",
+ ]
+ deps = [
+ "//base",
+ "//ios/public/provider/chrome/browser/ui",
+ ]
+ libs = [ "UIKit.framework" ]
+ configs += [ "//build/config/compiler:enable_arc" ]
+}
diff --git a/chromium/ios/chrome/browser/reading_list/BUILD.gn b/chromium/ios/chrome/browser/reading_list/BUILD.gn
index 9dc3842e578..40d5ac3f1f8 100644
--- a/chromium/ios/chrome/browser/reading_list/BUILD.gn
+++ b/chromium/ios/chrome/browser/reading_list/BUILD.gn
@@ -3,29 +3,22 @@
# found in the LICENSE file.
source_set("reading_list") {
+ configs += [ "//build/config/compiler:enable_arc" ]
sources = [
+ "favicon_web_state_dispatcher_impl.h",
+ "favicon_web_state_dispatcher_impl.mm",
"offline_url_utils.cc",
"offline_url_utils.h",
+ "reading_list_distiller_page.h",
+ "reading_list_distiller_page.mm",
+ "reading_list_distiller_page_factory.h",
+ "reading_list_distiller_page_factory.mm",
"reading_list_download_service.cc",
"reading_list_download_service.h",
"reading_list_download_service_factory.cc",
"reading_list_download_service_factory.h",
- "reading_list_entry.cc",
- "reading_list_entry.h",
- "reading_list_model.cc",
- "reading_list_model.h",
- "reading_list_model_bridge_observer.h",
- "reading_list_model_bridge_observer.mm",
"reading_list_model_factory.cc",
"reading_list_model_factory.h",
- "reading_list_model_impl.cc",
- "reading_list_model_impl.h",
- "reading_list_model_observer.h",
- "reading_list_model_storage.h",
- "reading_list_model_storage_defaults.h",
- "reading_list_model_storage_defaults.mm",
- "reading_list_pref_names.cc",
- "reading_list_pref_names.h",
"reading_list_web_state_observer.h",
"reading_list_web_state_observer.mm",
"url_downloader.cc",
@@ -33,12 +26,24 @@ source_set("reading_list") {
]
deps = [
"//base",
+ "//components/browser_sync",
+ "//components/dom_distiller/ios",
+ "//components/favicon/core",
+ "//components/favicon/ios",
+ "//components/google/core/browser",
"//components/keyed_service/core",
"//components/keyed_service/ios",
"//components/pref_registry",
"//components/prefs",
+ "//components/reading_list/core",
+ "//components/reading_list/ios",
+ "//components/sync",
"//ios/chrome/browser",
+ "//ios/chrome/browser/bookmarks",
"//ios/chrome/browser/browser_state",
+ "//ios/chrome/browser/favicon",
+ "//ios/chrome/browser/history",
+ "//ios/chrome/common",
"//ios/web",
"//net",
"//url",
@@ -49,21 +54,27 @@ source_set("reading_list") {
}
source_set("unit_tests") {
+ configs += [ "//build/config/compiler:enable_arc" ]
testonly = true
sources = [
+ "favicon_web_state_dispatcher_impl_unittest.mm",
"offline_url_utils_unittest.cc",
- "reading_list_entry_unittest.cc",
- "reading_list_model_storage_unittest.mm",
- "reading_list_model_unittest.cc",
- "url_downloader_unittest.cc",
+ "reading_list_web_state_observer_unittest.mm",
+ "url_downloader_unittest.mm",
]
deps = [
":reading_list",
"//base",
"//base/test:test_support",
+ "//components/favicon/ios",
+ "//components/reading_list/ios",
"//ios/chrome/browser",
+ "//ios/chrome/browser/browser_state:test_support",
"//ios/chrome/browser/dom_distiller",
+ "//ios/testing:ios_test_support",
+ "//ios/web",
"//ios/web:test_support",
+ "//net",
"//testing/gtest",
"//url",
]
diff --git a/chromium/ios/chrome/browser/search_engines/BUILD.gn b/chromium/ios/chrome/browser/search_engines/BUILD.gn
index f101496cfa1..d2226cb9132 100644
--- a/chromium/ios/chrome/browser/search_engines/BUILD.gn
+++ b/chromium/ios/chrome/browser/search_engines/BUILD.gn
@@ -3,6 +3,7 @@
# found in the LICENSE file.
import("//build/config/features.gni")
+import("//rlz/features/features.gni")
source_set("search_engines") {
sources = [
@@ -33,6 +34,7 @@ source_set("search_engines") {
"//ios/chrome/common",
"//ios/web",
"//net",
+ "//rlz/features",
"//ui/base",
"//url",
]
diff --git a/chromium/ios/chrome/browser/sessions/BUILD.gn b/chromium/ios/chrome/browser/sessions/BUILD.gn
index b64a739d4b5..cf8b95d284b 100644
--- a/chromium/ios/chrome/browser/sessions/BUILD.gn
+++ b/chromium/ios/chrome/browser/sessions/BUILD.gn
@@ -3,6 +3,7 @@
# found in the LICENSE file.
source_set("sessions") {
+ configs += [ "//build/config/compiler:enable_arc" ]
sources = [
"ios_chrome_session_tab_helper.h",
"ios_chrome_session_tab_helper.mm",
@@ -17,8 +18,82 @@ source_set("sessions") {
"//components/sessions",
"//ios/chrome/browser",
"//ios/chrome/browser/browser_state",
+ "//ios/chrome/browser/tabs",
"//ios/public/provider/chrome/browser",
"//ios/web",
"//url",
]
+ public_deps = [
+ ":sessions_non_arc",
+ ]
+}
+
+source_set("sessions_non_arc") {
+ visibility = [ ":sessions" ]
+ 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",
+ ]
+ deps = [
+ "//base",
+ "//components/keyed_service/core",
+ "//components/keyed_service/ios",
+ "//components/sessions",
+ "//ios/chrome/browser/browser_state",
+ "//ios/chrome/browser/tabs",
+ "//ios/web",
+ "//net",
+ ]
+ libs = [ "UIKit.framework" ]
+}
+
+source_set("test_support") {
+ testonly = true
+ sources = [
+ "test_session_service.h",
+ "test_session_service.mm",
+ ]
+ deps = [
+ ":sessions",
+ ]
+}
+
+source_set("unit_tests") {
+ testonly = true
+ sources = [
+ "session_service_unittest.mm",
+ "session_window_unittest.mm",
+ ]
+ deps = [
+ ":resources_unit_tests",
+ ":sessions",
+ "//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/chromium/ios/chrome/browser/share_extension/BUILD.gn b/chromium/ios/chrome/browser/share_extension/BUILD.gn
index 2daa435dec8..632575cd2f0 100644
--- a/chromium/ios/chrome/browser/share_extension/BUILD.gn
+++ b/chromium/ios/chrome/browser/share_extension/BUILD.gn
@@ -3,6 +3,7 @@
# found in the LICENSE file.
source_set("share_extension") {
+ configs += [ "//build/config/compiler:enable_arc" ]
sources = [
"share_extension_item_receiver.h",
"share_extension_item_receiver.mm",
@@ -16,6 +17,7 @@ source_set("share_extension") {
"//components/bookmarks/browser",
"//components/keyed_service/core",
"//components/keyed_service/ios",
+ "//components/reading_list/ios",
"//ios/chrome/browser",
"//ios/chrome/browser/bookmarks",
"//ios/chrome/browser/browser_state",
diff --git a/chromium/ios/chrome/browser/signin/BUILD.gn b/chromium/ios/chrome/browser/signin/BUILD.gn
index 428bc41dc6c..6790cb1bbc2 100644
--- a/chromium/ios/chrome/browser/signin/BUILD.gn
+++ b/chromium/ios/chrome/browser/signin/BUILD.gn
@@ -48,19 +48,8 @@ source_set("signin") {
"signin_util.mm",
]
deps = [
- "//components/browser_sync",
- "//components/sync",
- "//ios/chrome/browser",
- "//ios/chrome/browser/bookmarks:bookmarks_utils",
- "//ios/chrome/browser/browser_state",
- "//ios/chrome/browser/content_settings",
- "//ios/chrome/browser/crash_report",
- "//ios/chrome/browser/ui/commands",
- "//ios/web",
- "//url",
- ]
- public_deps = [
"//base",
+ "//components/browser_sync",
"//components/content_settings/core/browser",
"//components/keyed_service/core",
"//components/keyed_service/ios",
@@ -69,10 +58,20 @@ source_set("signin") {
"//components/prefs",
"//components/signin/core/browser",
"//components/signin/ios/browser",
+ "//components/sync",
"//google_apis",
+ "//ios/chrome/browser",
+ "//ios/chrome/browser/bookmarks:bookmarks_utils",
+ "//ios/chrome/browser/browser_state",
+ "//ios/chrome/browser/content_settings",
+ "//ios/chrome/browser/crash_report",
+ "//ios/chrome/browser/ui/commands",
"//ios/chrome/common",
"//ios/public/provider/chrome/browser",
+ "//ios/public/provider/chrome/browser/signin",
+ "//ios/web",
"//net",
+ "//url",
]
}
@@ -87,15 +86,14 @@ source_set("test_support") {
"fake_signin_manager_builder.h",
]
deps = [
+ ":signin",
+ "//base",
"//components/signin/core/browser:test_support",
"//components/signin/ios/browser",
"//ios/chrome/browser/browser_state",
"//ios/chrome/browser/sync",
- ]
- public_deps = [
- ":signin",
- "//base",
"//ios/public/provider/chrome/browser",
+ "//ios/public/provider/chrome/browser/signin",
]
}
@@ -122,12 +120,13 @@ source_set("unit_tests") {
"//google_apis",
"//ios/chrome/browser",
"//ios/chrome/browser/browser_state:test_support",
- "//ios/chrome/browser/prefs",
+ "//ios/chrome/browser/prefs:browser_prefs",
"//ios/chrome/browser/sync",
"//ios/chrome/browser/sync:test_support",
"//ios/chrome/test:test_support",
"//ios/public/provider/chrome/browser",
- "//ios/public/provider/chrome/browser:test_support",
+ "//ios/public/provider/chrome/browser/signin",
+ "//ios/public/provider/chrome/browser/signin:test_support",
"//ios/web:test_support",
"//net:test_support",
"//testing/gmock",
@@ -135,3 +134,16 @@ source_set("unit_tests") {
"//third_party/ocmock",
]
}
+
+source_set("signin_internal") {
+ sources = [
+ "signin_capability.cc",
+ "signin_capability.h",
+ ]
+ deps = [
+ ":signin",
+ "//base",
+ "//components/signin/core/browser",
+ "//ios/chrome/browser/browser_state",
+ ]
+}
diff --git a/chromium/ios/chrome/browser/snapshots/BUILD.gn b/chromium/ios/chrome/browser/snapshots/BUILD.gn
index cfda2e7d2a8..e6477b6e904 100644
--- a/chromium/ios/chrome/browser/snapshots/BUILD.gn
+++ b/chromium/ios/chrome/browser/snapshots/BUILD.gn
@@ -41,3 +41,19 @@ source_set("unit_tests") {
"//testing/gtest",
]
}
+
+source_set("snapshots_internal") {
+ sources = [
+ "snapshot_overlay_provider.h",
+ "web_controller_snapshot_helper.h",
+ "web_controller_snapshot_helper.mm",
+ ]
+ deps = [
+ ":snapshots",
+ "//base",
+ "//ios/chrome/browser/tabs",
+ "//ios/chrome/browser/ui",
+ "//ios/web",
+ ]
+ libs = [ "UIKit.framework" ]
+}
diff --git a/chromium/ios/chrome/browser/ssl/BUILD.gn b/chromium/ios/chrome/browser/ssl/BUILD.gn
index 149ab78975c..29e125e345a 100644
--- a/chromium/ios/chrome/browser/ssl/BUILD.gn
+++ b/chromium/ios/chrome/browser/ssl/BUILD.gn
@@ -3,7 +3,10 @@
# found in the LICENSE file.
source_set("ssl") {
+ configs += [ "//build/config/compiler:enable_arc" ]
sources = [
+ "captive_portal_detector_tab_helper.h",
+ "captive_portal_detector_tab_helper.mm",
"ios_security_state_tab_helper.h",
"ios_security_state_tab_helper.mm",
"ios_ssl_blocking_page.h",
@@ -13,6 +16,7 @@ source_set("ssl") {
]
deps = [
"//base",
+ "//components/captive_portal",
"//components/security_interstitials/core",
"//components/security_state/core",
"//components/strings",
@@ -28,6 +32,7 @@ source_set("ssl") {
}
source_set("unit_tests") {
+ configs += [ "//build/config/compiler:enable_arc" ]
testonly = true
sources = [
"ios_ssl_error_handler_unittest.mm",
diff --git a/chromium/ios/chrome/browser/suggestions/BUILD.gn b/chromium/ios/chrome/browser/suggestions/BUILD.gn
index 7043f0aba97..66a2401239e 100644
--- a/chromium/ios/chrome/browser/suggestions/BUILD.gn
+++ b/chromium/ios/chrome/browser/suggestions/BUILD.gn
@@ -3,6 +3,7 @@
# found in the LICENSE file.
source_set("suggestions") {
+ configs += [ "//build/config/compiler:enable_arc" ]
sources = [
"image_fetcher_impl.h",
"image_fetcher_impl.mm",
@@ -20,12 +21,10 @@ source_set("suggestions") {
"//components/signin/core/browser",
"//components/suggestions",
"//ios/chrome/browser/browser_state",
- "//ios/chrome/browser/net",
- "//ios/chrome/browser/net",
"//ios/chrome/browser/signin",
"//ios/chrome/browser/sync",
- "//ios/chrome/browser/webp_transcode",
"//ios/web",
+ "//ios/web/public/image_fetcher",
"//net",
"//skia",
"//ui/gfx",
@@ -33,6 +32,7 @@ source_set("suggestions") {
}
source_set("unit_tests") {
+ configs += [ "//build/config/compiler:enable_arc" ]
testonly = true
sources = [
"ios_image_decoder_impl_unittest.mm",
diff --git a/chromium/ios/chrome/browser/sync/BUILD.gn b/chromium/ios/chrome/browser/sync/BUILD.gn
index 8117bb9c394..14f9eed6e98 100644
--- a/chromium/ios/chrome/browser/sync/BUILD.gn
+++ b/chromium/ios/chrome/browser/sync/BUILD.gn
@@ -3,6 +3,7 @@
# found in the LICENSE file.
source_set("sync") {
+ configs += [ "//build/config/compiler:enable_arc" ]
sources = [
"ios_chrome_profile_sync_service_factory.cc",
"ios_chrome_profile_sync_service_factory.h",
@@ -30,6 +31,8 @@ source_set("sync") {
"//components/password_manager/core/browser",
"//components/password_manager/sync/browser",
"//components/prefs",
+ "//components/reading_list/core",
+ "//components/reading_list/ios",
"//components/search_engines",
"//components/sessions",
"//components/signin/core/browser",
@@ -46,15 +49,16 @@ source_set("sync") {
"//ios/chrome/browser/history",
"//ios/chrome/browser/invalidation",
"//ios/chrome/browser/passwords",
+ "//ios/chrome/browser/reading_list",
"//ios/chrome/browser/search_engines",
"//ios/chrome/browser/services/gcm",
"//ios/chrome/browser/sessions",
"//ios/chrome/browser/signin",
"//ios/chrome/browser/sync/glue",
"//ios/chrome/browser/sync/sessions",
+ "//ios/chrome/browser/tabs",
"//ios/chrome/browser/undo",
"//ios/chrome/common",
- "//ios/public/provider/chrome/browser",
"//ios/web",
"//net",
"//ui/base",
@@ -63,6 +67,7 @@ source_set("sync") {
allow_circular_includes_from = [
"//ios/chrome/browser/history",
"//ios/chrome/browser/passwords",
+ "//ios/chrome/browser/reading_list",
"//ios/chrome/browser/signin",
"//ios/chrome/browser/sync/glue",
"//ios/chrome/browser/sync/sessions",
@@ -108,6 +113,7 @@ source_set("unit_tests") {
":sync",
"//base",
"//components/browser_sync",
+ "//components/reading_list/core",
"//components/sync",
"//ios/chrome/browser/browser_state:test_support",
"//ios/web:test_support",
diff --git a/chromium/ios/chrome/browser/sync/sessions/BUILD.gn b/chromium/ios/chrome/browser/sync/sessions/BUILD.gn
index 997cbbb88ac..ee69c4b260b 100644
--- a/chromium/ios/chrome/browser/sync/sessions/BUILD.gn
+++ b/chromium/ios/chrome/browser/sync/sessions/BUILD.gn
@@ -3,6 +3,7 @@
# found in the LICENSE file.
source_set("sessions") {
+ configs += [ "//build/config/compiler:enable_arc" ]
sources = [
"ios_chrome_local_session_event_router.h",
"ios_chrome_local_session_event_router.mm",
diff --git a/chromium/ios/chrome/browser/tabs/BUILD.gn b/chromium/ios/chrome/browser/tabs/BUILD.gn
new file mode 100644
index 00000000000..3ac08a4db2b
--- /dev/null
+++ b/chromium/ios/chrome/browser/tabs/BUILD.gn
@@ -0,0 +1,183 @@
+# 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_headers_delegate.h",
+ "tab_model.h",
+ "tab_model_list.h",
+ "tab_model_observer.h",
+ "tab_model_order_controller.h",
+ "tab_model_synced_window_delegate.h",
+ "tab_model_synced_window_delegate_getter.h",
+ "tab_private.h",
+ "tab_snapshotting_delegate.h",
+ ]
+ deps = [
+ "//components/sessions",
+ "//components/signin/ios/browser",
+ "//components/sync_sessions",
+ "//ios/net",
+ "//ios/web",
+ "//ui/base",
+ ]
+ libs = [ "UIKit.framework" ]
+}
+
+source_set("tabs_internal") {
+ sources = [
+ "tab.mm",
+ "tab_model.mm",
+ "tab_model_order_controller.mm",
+ "tab_model_synced_window_delegate.mm",
+ "tab_model_synced_window_delegate_getter.mm",
+ ]
+ deps = [
+ ":tabs",
+ ":tabs_internal_arc",
+ "//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/reading_list/core",
+ "//components/reading_list/ios",
+ "//components/search_engines",
+ "//components/sessions",
+ "//components/signin/core/browser",
+ "//components/signin/ios/browser",
+ "//components/strings",
+ "//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/passwords",
+ "//ios/chrome/browser/passwords:passwords_internal",
+ "//ios/chrome/browser/reading_list",
+ "//ios/chrome/browser/search_engines",
+ "//ios/chrome/browser/sessions",
+ "//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:ui_internal",
+ "//ios/chrome/browser/ui/alert_coordinator",
+ "//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/ui/util",
+ "//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",
+ ]
+ allow_circular_includes_from = [ ":tabs_internal_arc" ]
+ libs = [
+ "CoreLocation.framework",
+ "UIKit.framework",
+ ]
+}
+
+source_set("tabs_internal_arc") {
+ sources = [
+ "tab_model_list.mm",
+ ]
+ deps = [
+ ":tabs",
+ "//base",
+ "//ios/chrome/browser",
+ "//ios/chrome/browser/browser_state",
+ ]
+ libs = [ "Foundation.framework" ]
+ configs += [ "//build/config/compiler:enable_arc" ]
+}
+
+source_set("unit_tests") {
+ testonly = true
+ sources = [
+ "tab_model_order_controller_unittest.mm",
+ "tab_model_unittest.mm",
+ "tab_unittest.mm",
+ ]
+ deps = [
+ ":tabs",
+ ":tabs_internal",
+ ":unit_tests_arc",
+ "//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",
+ "//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",
+ ]
+}
+
+source_set("unit_tests_arc") {
+ testonly = true
+ sources = [
+ "tab_model_list_unittest.mm",
+ ]
+ deps = [
+ ":tabs",
+ ":tabs_internal",
+ "//base",
+ "//ios/chrome/browser/browser_state:test_support",
+ "//ios/chrome/browser/sessions:test_support",
+ "//ios/web:test_support",
+ "//testing/gtest",
+ ]
+ configs += [ "//build/config/compiler:enable_arc" ]
+}
diff --git a/chromium/ios/chrome/browser/test/BUILD.gn b/chromium/ios/chrome/browser/test/BUILD.gn
new file mode 100644
index 00000000000..2383e114cbe
--- /dev/null
+++ b/chromium/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",
+ "//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/chromium/ios/chrome/browser/translate/BUILD.gn b/chromium/ios/chrome/browser/translate/BUILD.gn
index 3a294fe604f..f72f3fc4526 100644
--- a/chromium/ios/chrome/browser/translate/BUILD.gn
+++ b/chromium/ios/chrome/browser/translate/BUILD.gn
@@ -36,7 +36,7 @@ source_set("translate") {
"//ios/chrome/browser",
"//ios/chrome/browser/browser_state",
"//ios/chrome/browser/infobars",
- "//ios/public/provider/chrome/browser",
+ "//ios/chrome/browser/ui/infobars",
"//ios/web",
"//ui/base",
"//ui/gfx",
@@ -48,13 +48,45 @@ source_set("translate") {
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 = [
+ ":translate",
+ "//base",
+ "//components/strings",
+ "//components/translate/core/browser",
+ "//components/translate/core/common",
+ "//components/translate/ios/browser",
+ "//ios/chrome/browser/browser_state",
+ "//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/chromium/ios/chrome/browser/ui/BUILD.gn b/chromium/ios/chrome/browser/ui/BUILD.gn
index 210a10f846d..aea8ed31c14 100644
--- a/chromium/ios/chrome/browser/ui/BUILD.gn
+++ b/chromium/ios/chrome/browser/ui/BUILD.gn
@@ -12,8 +12,6 @@ source_set("ui") {
"animation_util.mm",
"background_generator.h",
"background_generator.mm",
- "browser_otr_state.h",
- "browser_otr_state.mm",
"favicon_view.h",
"favicon_view.mm",
"file_locations.h",
@@ -22,6 +20,8 @@ source_set("ui") {
"image_util.mm",
"native_content_controller.h",
"native_content_controller.mm",
+ "network_activity_indicator_manager.h",
+ "network_activity_indicator_manager.mm",
"orientation_limiting_navigation_controller.h",
"orientation_limiting_navigation_controller.mm",
"prerender_final_status.h",
@@ -47,7 +47,6 @@ source_set("ui") {
"//ios/chrome/browser",
"//ios/chrome/browser/favicon",
"//ios/chrome/browser/ui/commands",
- "//ios/public/provider/chrome/browser",
"//ios/web",
"//ui/base",
"//ui/gfx",
@@ -58,27 +57,371 @@ source_set("ui") {
"CoreGraphics.framework",
"QuartzCore.framework",
]
+ configs += [ "//build/config/compiler:enable_arc" ]
}
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/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",
+ "//ui/base:test_support",
"//url",
]
}
-bundle_data_xib("native_content_controller_test_xib") {
+bundle_data_ib_file("native_content_controller_test_xib") {
visibility = [ ":unit_tests" ]
testonly = true
source = "native_content_controller_test.xib"
}
+
+bundle_data("resources") {
+ sources = [
+ "resources/custom_row_voice.png",
+ "resources/custom_row_voice@2x.png",
+ "resources/custom_row_voice@2x~ipad.png",
+ "resources/custom_row_voice@3x.png",
+ "resources/custom_row_voice_pressed.png",
+ "resources/custom_row_voice_pressed@2x.png",
+ "resources/custom_row_voice_pressed@2x~ipad.png",
+ "resources/custom_row_voice_pressed@3x.png",
+ "resources/custom_row_voice_pressed~ipad.png",
+ "resources/custom_row_voice~ipad.png",
+ "resources/default_favicon.png",
+ "resources/default_favicon@2x.png",
+ "resources/default_favicon@3x.png",
+ "resources/default_favicon_incognito.png",
+ "resources/default_favicon_incognito@2x.png",
+ "resources/default_favicon_incognito@3x.png",
+ "resources/keyboard_bg_portrait_tablet.png",
+ "resources/keyboard_button.png",
+ "resources/keyboard_button@2x.png",
+ "resources/keyboard_button@2x~ipad.png",
+ "resources/keyboard_button@3x.png",
+ "resources/keyboard_button~ipad.png",
+
+ # On iOS, the terms of service file need to be loaded from the application
+ # bundle, not from a datapack. As GetTermsOfServicePath() returns path to
+ # those files, they are added to //ios/chrome/browser/ui:resources.
+ "//components/resources/terms/terms_ar.html",
+ "//components/resources/terms/terms_bg.html",
+ "//components/resources/terms/terms_ca.html",
+ "//components/resources/terms/terms_cs.html",
+ "//components/resources/terms/terms_da.html",
+ "//components/resources/terms/terms_de.html",
+ "//components/resources/terms/terms_el.html",
+ "//components/resources/terms/terms_en-GB.html",
+ "//components/resources/terms/terms_en.html",
+ "//components/resources/terms/terms_es-419.html",
+ "//components/resources/terms/terms_es.html",
+ "//components/resources/terms/terms_fa.html",
+ "//components/resources/terms/terms_fi.html",
+ "//components/resources/terms/terms_fr.html",
+ "//components/resources/terms/terms_he.html",
+ "//components/resources/terms/terms_hi.html",
+ "//components/resources/terms/terms_hr.html",
+ "//components/resources/terms/terms_hu.html",
+ "//components/resources/terms/terms_id.html",
+ "//components/resources/terms/terms_it.html",
+ "//components/resources/terms/terms_ja.html",
+ "//components/resources/terms/terms_ko.html",
+ "//components/resources/terms/terms_lt.html",
+ "//components/resources/terms/terms_nb.html",
+ "//components/resources/terms/terms_nl.html",
+ "//components/resources/terms/terms_pl.html",
+ "//components/resources/terms/terms_pt-BR.html",
+ "//components/resources/terms/terms_pt-PT.html",
+ "//components/resources/terms/terms_ro.html",
+ "//components/resources/terms/terms_ru.html",
+ "//components/resources/terms/terms_sk.html",
+ "//components/resources/terms/terms_sr.html",
+ "//components/resources/terms/terms_sv.html",
+ "//components/resources/terms/terms_th.html",
+ "//components/resources/terms/terms_tr.html",
+ "//components/resources/terms/terms_uk.html",
+ "//components/resources/terms/terms_vi.html",
+ "//components/resources/terms/terms_zh-CN.html",
+ "//components/resources/terms/terms_zh-TW.html",
+ ]
+ outputs = [
+ "{{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 = [
+ ":resources",
+ ":ui",
+ "//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/snapshots",
+ "//ios/chrome/browser/snapshots:snapshots_internal",
+ "//ios/chrome/browser/tabs",
+ "//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("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 = [
+ ":ui",
+ ":ui_internal",
+ "//base",
+ "//components/strings",
+ "//ios/chrome/app/strings",
+ "//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" ]
+}
diff --git a/chromium/ios/chrome/browser/ui/activity_services/BUILD.gn b/chromium/ios/chrome/browser/ui/activity_services/BUILD.gn
new file mode 100644
index 00000000000..3bbbee06d18
--- /dev/null
+++ b/chromium/ios/chrome/browser/ui/activity_services/BUILD.gn
@@ -0,0 +1,114 @@
+# 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.
+
+bundle_data("assets") {
+ sources = [
+ "resources/activity_services_print.xcassets/Contents.json",
+ "resources/activity_services_print.xcassets/activity_services_print.imageset/Contents.json",
+ "resources/activity_services_print.xcassets/activity_services_print.imageset/activity_services_print-60@2x.png",
+ "resources/activity_services_print.xcassets/activity_services_print.imageset/activity_services_print-60@3x.png",
+ "resources/activity_services_print.xcassets/activity_services_print.imageset/activity_services_print-76.png",
+ "resources/activity_services_print.xcassets/activity_services_print.imageset/activity_services_print-76@2x.png",
+ ]
+ outputs = [
+ "{{bundle_resources_dir}}/{{source_file_part}}",
+ ]
+}
+
+bundle_data("resources") {
+ sources = [
+ "resources/activity_services_reading_list.png",
+ "resources/activity_services_reading_list@2x.png",
+ "resources/activity_services_reading_list@3x.png",
+ ]
+ outputs = [
+ "{{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",
+ "chrome_activity_item_thumbnail_generator.h",
+ "chrome_activity_item_thumbnail_generator.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",
+ "share_to_data_builder.h",
+ "share_to_data_builder.mm",
+ ]
+ deps = [
+ ":assets",
+ ":resources",
+ "//base",
+ "//components/reading_list/core",
+ "//ios/chrome/app/strings",
+ "//ios/chrome/browser",
+ "//ios/chrome/browser/browser_state",
+ "//ios/chrome/browser/tabs",
+ "//ios/chrome/browser/ui",
+ "//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",
+ "chrome_activity_item_thumbnail_generator_unittest.mm",
+ ]
+ deps = [
+ ":activity_services",
+ "//base",
+ "//base/test:test_support",
+ "//components/reading_list/core",
+ "//ios/chrome/app/strings",
+ "//ios/chrome/browser/browser_state:test_support",
+ "//ios/chrome/browser/tabs",
+ "//ios/web:test_support",
+ "//testing/gtest",
+ "//third_party/ocmock",
+ "//ui/base",
+ "//ui/base:test_support",
+ ]
+}
+
+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/chromium/ios/chrome/browser/ui/alert_coordinator/BUILD.gn b/chromium/ios/chrome/browser/ui/alert_coordinator/BUILD.gn
index 5e70f810efd..db803b74f7a 100644
--- a/chromium/ios/chrome/browser/ui/alert_coordinator/BUILD.gn
+++ b/chromium/ios/chrome/browser/ui/alert_coordinator/BUILD.gn
@@ -3,35 +3,84 @@
# found in the LICENSE file.
source_set("alert_coordinator") {
+ configs += [ "//build/config/compiler:enable_arc" ]
sources = [
"action_sheet_coordinator.h",
"action_sheet_coordinator.mm",
"alert_coordinator.h",
"alert_coordinator.mm",
+ "form_resubmission_coordinator.h",
+ "form_resubmission_coordinator.mm",
"input_alert_coordinator.h",
"input_alert_coordinator.mm",
]
deps = [
"//base",
+ "//components/strings",
"//ios/chrome/browser",
+ "//ios/web",
"//ui/base",
"//ui/strings",
]
}
source_set("unit_tests") {
+ configs += [ "//build/config/compiler:enable_arc" ]
testonly = true
sources = [
"action_sheet_coordinator_unittest.mm",
"alert_coordinator_unittest.mm",
+ "form_resubmission_coordinator_unittest.mm",
"input_alert_coordinator_unittest.mm",
]
deps = [
":alert_coordinator",
"//base",
+ "//base/test:test_support",
+ "//components/strings",
+ "//ios/chrome/browser/ui",
+ "//ios/chrome/test:test_support",
+ "//ios/web:test_support",
"//testing/gtest",
"//third_party/ocmock",
"//ui/base",
"//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 = [
+ ":alert_coordinator",
+ "//base",
+ "//components/strings",
+ "//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/chromium/ios/chrome/browser/ui/authentication/BUILD.gn b/chromium/ios/chrome/browser/ui/authentication/BUILD.gn
new file mode 100644
index 00000000000..e55edee76c0
--- /dev/null
+++ b/chromium/ios/chrome/browser/ui/authentication/BUILD.gn
@@ -0,0 +1,137 @@
+# 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.
+
+bundle_data("resources") {
+ sources = [
+ "resources/signin_confirmation_more.png",
+ "resources/signin_confirmation_more@2x.png",
+ "resources/signin_confirmation_more@3x.png",
+ ]
+ outputs = [
+ "{{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 = [
+ ":resources",
+ "//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/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/chromium/ios/chrome/browser/ui/autofill/BUILD.gn b/chromium/ios/chrome/browser/ui/autofill/BUILD.gn
index 9b3f89faa76..0dc7a2f36e1 100644
--- a/chromium/ios/chrome/browser/ui/autofill/BUILD.gn
+++ b/chromium/ios/chrome/browser/ui/autofill/BUILD.gn
@@ -7,6 +7,10 @@ source_set("autofill") {
"autofill_client_ios.h",
"autofill_client_ios.mm",
"autofill_save_card_infobar.mm",
+ "card_unmask_prompt_view_bridge.h",
+ "card_unmask_prompt_view_bridge.mm",
+ "storage_switch_tooltip.h",
+ "storage_switch_tooltip.mm",
]
deps = [
"//base",
@@ -17,11 +21,24 @@ source_set("autofill") {
"//components/keyed_service/core",
"//components/password_manager/core/browser",
"//components/prefs",
+ "//components/strings",
"//google_apis",
"//ios/chrome/browser",
"//ios/chrome/browser/autofill",
"//ios/chrome/browser/browser_state",
"//ios/chrome/browser/infobars",
+ "//ios/chrome/browser/ui",
+ "//ios/chrome/browser/ui/autofill/cells",
+ "//ios/chrome/browser/ui/collection_view/cells",
+ "//ios/chrome/browser/ui/colors",
"//ios/public/provider/chrome/browser",
+ "//ios/third_party/material_components_ios",
+ "//ios/third_party/material_roboto_font_loader_ios",
+ "//ios/web",
+ "//ui/base",
]
+ public_deps = [
+ "//ios/chrome/browser/ui/collection_view",
+ ]
+ libs = [ "UIKit.framework" ]
}
diff --git a/chromium/ios/chrome/browser/ui/autofill/cells/BUILD.gn b/chromium/ios/chrome/browser/ui/autofill/cells/BUILD.gn
new file mode 100644
index 00000000000..086719673c8
--- /dev/null
+++ b/chromium/ios/chrome/browser/ui/autofill/cells/BUILD.gn
@@ -0,0 +1,51 @@
+# 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",
+ "//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/chromium/ios/chrome/browser/ui/bookmarks/BUILD.gn b/chromium/ios/chrome/browser/ui/bookmarks/BUILD.gn
new file mode 100644
index 00000000000..c589e263b9f
--- /dev/null
+++ b/chromium/ios/chrome/browser/ui/bookmarks/BUILD.gn
@@ -0,0 +1,256 @@
+# 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("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 = [
+ ":resources",
+ "//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/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",
+ "//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",
+ ]
+}
+
+bundle_data("resources") {
+ sources = [
+ "resources/bookmark_bar_innershadow.png",
+ "resources/bookmark_bar_innershadow@2x.png",
+ "resources/bookmark_bar_innershadow@3x.png",
+ "resources/bookmark_bar_shadow.png",
+ "resources/bookmark_bar_shadow@2x.png",
+ "resources/bookmark_bar_shadow@3x.png",
+ "resources/bookmark_black_delete.png",
+ "resources/bookmark_black_delete@2x.png",
+ "resources/bookmark_black_delete@3x.png",
+ "resources/bookmark_black_edit.png",
+ "resources/bookmark_black_edit@2x.png",
+ "resources/bookmark_black_edit@3x.png",
+ "resources/bookmark_black_move.png",
+ "resources/bookmark_black_move@2x.png",
+ "resources/bookmark_black_move@3x.png",
+ "resources/bookmark_black_select.png",
+ "resources/bookmark_black_select@2x.png",
+ "resources/bookmark_black_select@3x.png",
+ "resources/bookmark_blue_check.png",
+ "resources/bookmark_blue_check@2x.png",
+ "resources/bookmark_blue_check@3x.png",
+ "resources/bookmark_blue_folder.png",
+ "resources/bookmark_blue_folder@2x.png",
+ "resources/bookmark_blue_folder@3x.png",
+ "resources/bookmark_blue_star.png",
+ "resources/bookmark_blue_star@2x.png",
+ "resources/bookmark_blue_star@3x.png",
+ "resources/bookmark_gray_back.png",
+ "resources/bookmark_gray_back@2x.png",
+ "resources/bookmark_gray_back@3x.png",
+ "resources/bookmark_gray_check.png",
+ "resources/bookmark_gray_check@2x.png",
+ "resources/bookmark_gray_check@3x.png",
+ "resources/bookmark_gray_close.png",
+ "resources/bookmark_gray_close@2x.png",
+ "resources/bookmark_gray_close@3x.png",
+ "resources/bookmark_gray_edit.png",
+ "resources/bookmark_gray_edit@2x.png",
+ "resources/bookmark_gray_edit@3x.png",
+ "resources/bookmark_gray_folder.png",
+ "resources/bookmark_gray_folder@2x.png",
+ "resources/bookmark_gray_folder@3x.png",
+ "resources/bookmark_gray_menu.png",
+ "resources/bookmark_gray_menu@2x.png",
+ "resources/bookmark_gray_menu@3x.png",
+ "resources/bookmark_gray_new_folder.png",
+ "resources/bookmark_gray_new_folder@2x.png",
+ "resources/bookmark_gray_new_folder@3x.png",
+ "resources/bookmark_gray_star.png",
+ "resources/bookmark_gray_star@2x.png",
+ "resources/bookmark_gray_star@3x.png",
+ "resources/bookmark_gray_star_large.png",
+ "resources/bookmark_gray_star_large@2x.png",
+ "resources/bookmark_gray_star_large@3x.png",
+ "resources/bookmark_more.png",
+ "resources/bookmark_more@2x.png",
+ "resources/bookmark_more@3x.png",
+ "resources/bookmark_white_close.png",
+ "resources/bookmark_white_close@2x.png",
+ "resources/bookmark_white_close@3x.png",
+ "resources/bookmark_white_delete.png",
+ "resources/bookmark_white_delete@2x.png",
+ "resources/bookmark_white_delete@3x.png",
+ "resources/bookmark_white_edit.png",
+ "resources/bookmark_white_edit@2x.png",
+ "resources/bookmark_white_edit@3x.png",
+ "resources/bookmark_white_move.png",
+ "resources/bookmark_white_move@2x.png",
+ "resources/bookmark_white_move@3x.png",
+ ]
+ outputs = [
+ "{{bundle_resources_dir}}/{{source_file_part}}",
+ ]
+}
diff --git a/chromium/ios/chrome/browser/ui/bookmarks/bars/BUILD.gn b/chromium/ios/chrome/browser/ui/bookmarks/bars/BUILD.gn
new file mode 100644
index 00000000000..47c8cfe78f9
--- /dev/null
+++ b/chromium/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/chromium/ios/chrome/browser/ui/bookmarks/cells/BUILD.gn b/chromium/ios/chrome/browser/ui/bookmarks/cells/BUILD.gn
new file mode 100644
index 00000000000..13996b56794
--- /dev/null
+++ b/chromium/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/chromium/ios/chrome/browser/ui/collection_view/BUILD.gn b/chromium/ios/chrome/browser/ui/collection_view/BUILD.gn
new file mode 100644
index 00000000000..0aafb010ec3
--- /dev/null
+++ b/chromium/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/chromium/ios/chrome/browser/ui/collection_view/cells/BUILD.gn b/chromium/ios/chrome/browser/ui/collection_view/cells/BUILD.gn
new file mode 100644
index 00000000000..e6e8c32bcce
--- /dev/null
+++ b/chromium/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/chromium/ios/chrome/browser/ui/colors/BUILD.gn b/chromium/ios/chrome/browser/ui/colors/BUILD.gn
new file mode 100644
index 00000000000..f49ba7bc01d
--- /dev/null
+++ b/chromium/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/chromium/ios/chrome/browser/ui/commands/BUILD.gn b/chromium/ios/chrome/browser/ui/commands/BUILD.gn
index c02e52ac41a..ce2d0523b5c 100644
--- a/chromium/ios/chrome/browser/ui/commands/BUILD.gn
+++ b/chromium/ios/chrome/browser/ui/commands/BUILD.gn
@@ -3,6 +3,7 @@
# found in the LICENSE file.
source_set("commands") {
+ configs += [ "//build/config/compiler:enable_arc" ]
sources = [
"UIKit+ChromeExecuteCommand.h",
"UIKit+ChromeExecuteCommand.mm",
@@ -33,6 +34,7 @@ source_set("commands") {
}
source_set("unit_tests") {
+ configs += [ "//build/config/compiler:enable_arc" ]
testonly = true
sources = [
"set_up_for_testing_command_unittest.mm",
diff --git a/chromium/ios/chrome/browser/ui/context_menu/BUILD.gn b/chromium/ios/chrome/browser/ui/context_menu/BUILD.gn
index f78e42e0ab4..19804351c20 100644
--- a/chromium/ios/chrome/browser/ui/context_menu/BUILD.gn
+++ b/chromium/ios/chrome/browser/ui/context_menu/BUILD.gn
@@ -3,6 +3,7 @@
# found in the LICENSE file.
source_set("context_menu") {
+ configs += [ "//build/config/compiler:enable_arc" ]
sources = [
"context_menu_coordinator.h",
"context_menu_coordinator.mm",
diff --git a/chromium/ios/chrome/browser/ui/contextual_search/BUILD.gn b/chromium/ios/chrome/browser/ui/contextual_search/BUILD.gn
new file mode 100644
index 00000000000..e251d1e347e
--- /dev/null
+++ b/chromium/ios/chrome/browser/ui/contextual_search/BUILD.gn
@@ -0,0 +1,142 @@
+# 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/web/js_compile.gni")
+
+bundle_data("resources") {
+ sources = [
+ "resources/expand_less.png",
+ "resources/expand_less@2x.png",
+ "resources/expand_less@3x.png",
+ ]
+ outputs = [
+ "{{bundle_resources_dir}}/{{source_file_part}}",
+ ]
+}
+
+js_compile_unchecked("injected_js") {
+ sources = [
+ "resources/contextualsearch.js",
+ ]
+}
+
+bundle_data("resources_unit_tests") {
+ testonly = true
+ sources = [
+ "resources/contextualsearch_unittest.js",
+ ]
+ outputs = [
+ "{{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 = [
+ ":injected_js",
+ ":resources",
+ "//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/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",
+ ":resources_unit_tests",
+ ":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/web:test_support",
+ "//ios/web",
+ "//ios/web:test_support",
+ "//net",
+ "//testing/gtest",
+ "//third_party/ocmock",
+ ]
+}
diff --git a/chromium/ios/chrome/browser/ui/contextual_search/protos/BUILD.gn b/chromium/ios/chrome/browser/ui/contextual_search/protos/BUILD.gn
new file mode 100644
index 00000000000..a882a0608b1
--- /dev/null
+++ b/chromium/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/chromium/ios/chrome/browser/ui/dialogs/BUILD.gn b/chromium/ios/chrome/browser/ui/dialogs/BUILD.gn
index 506aa95b1f6..4c2159cd811 100644
--- a/chromium/ios/chrome/browser/ui/dialogs/BUILD.gn
+++ b/chromium/ios/chrome/browser/ui/dialogs/BUILD.gn
@@ -5,7 +5,7 @@
source_set("dialogs") {
deps = [
"//base",
- "//ios/web:web",
+ "//ios/web",
]
sources = [
@@ -25,10 +25,83 @@ source_set("unit_tests") {
deps = [
":dialogs",
+ "//ios/web",
"//ios/web:test_support",
- "//ios/web:web",
"//testing/gtest",
]
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 = [
+ ":dialogs",
+ "//base",
+ "//components/strings",
+ "//components/url_formatter",
+ "//ios/chrome/app/strings",
+ "//ios/chrome/browser/ui",
+ "//ios/chrome/browser/ui/alert_coordinator",
+ "//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",
+ "//ios/web:test_support",
+ "//testing/gtest",
+ "//ui/base",
+ "//url",
+ ]
+}
+
+source_set("eg_tests") {
+ configs += [ "//build/config/compiler:enable_arc" ]
+ testonly = true
+ sources = [
+ "javascript_dialog_egtest.mm",
+ ]
+ deps = [
+ ":dialogs_internal",
+ "//base",
+ "//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/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/chromium/ios/chrome/browser/ui/downloads/BUILD.gn b/chromium/ios/chrome/browser/ui/downloads/BUILD.gn
new file mode 100644
index 00000000000..685cea45c9d
--- /dev/null
+++ b/chromium/ios/chrome/browser/ui/downloads/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.
+
+import("//build/config/ios/rules.gni")
+
+bundle_data("assets") {
+ sources = [
+ "resources/download_manager_assets.xcassets/Contents.json",
+ "resources/download_manager_assets.xcassets/error_icon.imageset/Contents.json",
+ "resources/download_manager_assets.xcassets/error_icon.imageset/error_icon.png",
+ "resources/download_manager_assets.xcassets/error_icon.imageset/error_icon@2x.png",
+ "resources/download_manager_assets.xcassets/error_icon.imageset/error_icon@3x.png",
+ "resources/download_manager_assets.xcassets/file_icon_body.imageset/Contents.json",
+ "resources/download_manager_assets.xcassets/file_icon_body.imageset/file_icon_body.png",
+ "resources/download_manager_assets.xcassets/file_icon_body.imageset/file_icon_body@2x.png",
+ "resources/download_manager_assets.xcassets/file_icon_body.imageset/file_icon_body@3x.png",
+ "resources/download_manager_assets.xcassets/file_icon_fold.imageset/Contents.json",
+ "resources/download_manager_assets.xcassets/file_icon_fold.imageset/file_icon_fold.png",
+ "resources/download_manager_assets.xcassets/file_icon_fold.imageset/file_icon_fold@2x.png",
+ "resources/download_manager_assets.xcassets/file_icon_fold.imageset/file_icon_fold@3x.png",
+ "resources/download_manager_assets.xcassets/file_icon_fold_complete.imageset/Contents.json",
+ "resources/download_manager_assets.xcassets/file_icon_fold_complete.imageset/file_icon_fold_complete.png",
+ "resources/download_manager_assets.xcassets/file_icon_fold_complete.imageset/file_icon_fold_complete@2x.png",
+ "resources/download_manager_assets.xcassets/file_icon_fold_complete.imageset/file_icon_fold_complete@3x.png",
+ ]
+ outputs = [
+ "{{bundle_resources_dir}}/{{source_file_part}}",
+ ]
+}
+
+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 = [
+ ":assets",
+ ":download_manager_controller_xib",
+ "//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/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/chromium/ios/chrome/browser/ui/elements/BUILD.gn b/chromium/ios/chrome/browser/ui/elements/BUILD.gn
index 1bd7c85a094..2eb19d63057 100644
--- a/chromium/ios/chrome/browser/ui/elements/BUILD.gn
+++ b/chromium/ios/chrome/browser/ui/elements/BUILD.gn
@@ -3,6 +3,7 @@
# found in the LICENSE file.
source_set("elements") {
+ configs += [ "//build/config/compiler:enable_arc" ]
sources = [
"selector_coordinator.h",
"selector_coordinator.mm",
@@ -21,14 +22,33 @@ source_set("elements") {
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/chromium/ios/chrome/browser/ui/fancy_ui/BUILD.gn b/chromium/ios/chrome/browser/ui/fancy_ui/BUILD.gn
new file mode 100644
index 00000000000..2cab462de33
--- /dev/null
+++ b/chromium/ios/chrome/browser/ui/fancy_ui/BUILD.gn
@@ -0,0 +1,37 @@
+# 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",
+ ]
+ configs += [ "//build/config/compiler:enable_arc" ]
+}
diff --git a/chromium/ios/chrome/browser/ui/find_bar/BUILD.gn b/chromium/ios/chrome/browser/ui/find_bar/BUILD.gn
new file mode 100644
index 00000000000..f34b1639427
--- /dev/null
+++ b/chromium/ios/chrome/browser/ui/find_bar/BUILD.gn
@@ -0,0 +1,104 @@
+# 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.
+
+bundle_data("resources") {
+ sources = [
+ "resources/find_bg@2x~ipad.png",
+ "resources/find_bg~ipad.png",
+ "resources/find_close.png",
+ "resources/find_close@2x.png",
+ "resources/find_close@3x.png",
+ "resources/find_close_incognito.png",
+ "resources/find_close_incognito@2x.png",
+ "resources/find_close_incognito@3x.png",
+ "resources/find_close_pressed.png",
+ "resources/find_close_pressed@2x.png",
+ "resources/find_close_pressed@3x.png",
+ "resources/find_next.png",
+ "resources/find_next@2x.png",
+ "resources/find_next@3x.png",
+ "resources/find_next_disabled.png",
+ "resources/find_next_disabled@2x.png",
+ "resources/find_next_disabled@3x.png",
+ "resources/find_next_disabled_incognito.png",
+ "resources/find_next_disabled_incognito@2x.png",
+ "resources/find_next_disabled_incognito@3x.png",
+ "resources/find_next_incognito.png",
+ "resources/find_next_incognito@2x.png",
+ "resources/find_next_incognito@3x.png",
+ "resources/find_next_pressed.png",
+ "resources/find_next_pressed@2x.png",
+ "resources/find_next_pressed@3x.png",
+ "resources/find_next_pressed_incognito.png",
+ "resources/find_next_pressed_incognito@2x.png",
+ "resources/find_next_pressed_incognito@3x.png",
+ "resources/find_prev.png",
+ "resources/find_prev@2x.png",
+ "resources/find_prev@3x.png",
+ "resources/find_prev_disabled.png",
+ "resources/find_prev_disabled@2x.png",
+ "resources/find_prev_disabled@3x.png",
+ "resources/find_prev_disabled_incognito.png",
+ "resources/find_prev_disabled_incognito@2x.png",
+ "resources/find_prev_disabled_incognito@3x.png",
+ "resources/find_prev_incognito.png",
+ "resources/find_prev_incognito@2x.png",
+ "resources/find_prev_incognito@3x.png",
+ "resources/find_prev_pressed.png",
+ "resources/find_prev_pressed@2x.png",
+ "resources/find_prev_pressed@3x.png",
+ "resources/find_prev_pressed_incognito.png",
+ "resources/find_prev_pressed_incognito@2x.png",
+ "resources/find_prev_pressed_incognito@3x.png",
+ ]
+ outputs = [
+ "{{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 = [
+ ":resources",
+ "//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/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 = [
+ ":find_bar",
+ "//base",
+ "//components/strings",
+ "//ios/chrome/app/strings",
+ "//ios/chrome/browser/find_in_page",
+ "//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/chromium/ios/chrome/browser/ui/first_run/BUILD.gn b/chromium/ios/chrome/browser/ui/first_run/BUILD.gn
new file mode 100644
index 00000000000..ac1b3d12283
--- /dev/null
+++ b/chromium/ios/chrome/browser/ui/first_run/BUILD.gn
@@ -0,0 +1,123 @@
+# 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.
+
+bundle_data("assets") {
+ sources = [
+ "resources/FirstRun.xcassets/checkbox.imageset/Contents.json",
+ "resources/FirstRun.xcassets/checkbox.imageset/checkbox.png",
+ "resources/FirstRun.xcassets/checkbox.imageset/checkbox@2x.png",
+ "resources/FirstRun.xcassets/checkbox.imageset/checkbox@2x~ipad.png",
+ "resources/FirstRun.xcassets/checkbox.imageset/checkbox@3x.png",
+ "resources/FirstRun.xcassets/checkbox.imageset/checkbox~ipad.png",
+ "resources/FirstRun.xcassets/checkbox_checked.imageset/Contents.json",
+ "resources/FirstRun.xcassets/checkbox_checked.imageset/checkbox_checked.png",
+ "resources/FirstRun.xcassets/checkbox_checked.imageset/checkbox_checked@2x.png",
+ "resources/FirstRun.xcassets/checkbox_checked.imageset/checkbox_checked@2x~ipad.png",
+ "resources/FirstRun.xcassets/checkbox_checked.imageset/checkbox_checked@3x.png",
+ "resources/FirstRun.xcassets/checkbox_checked.imageset/checkbox_checked~ipad.png",
+ ]
+ outputs = [
+ "{{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 = [
+ ":assets",
+ "//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/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 = [
+ ":first_run",
+ "//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/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/chromium/ios/chrome/browser/ui/history/BUILD.gn b/chromium/ios/chrome/browser/ui/history/BUILD.gn
new file mode 100644
index 00000000000..57f2f8b65bd
--- /dev/null
+++ b/chromium/ios/chrome/browser/ui/history/BUILD.gn
@@ -0,0 +1,231 @@
+# 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") {
+ configs += [ "//build/config/compiler:enable_arc" ]
+ 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/keyboard",
+ "//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_entries_status_item_unittest.mm",
+ "history_entry_inserter_unittest.mm",
+ "history_entry_item_unittest.mm",
+ "history_search_view_controller_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",
+ ]
+
+ public_deps = [
+ ":unit_tests_arc",
+ ]
+ allow_circular_includes_from = [ ":unit_tests_arc" ]
+}
+
+source_set("unit_tests_arc") {
+ testonly = true
+ configs += [ "//build/config/compiler:enable_arc" ]
+
+ sources = [
+ "history_collection_view_controller_unittest.mm",
+ "history_service_facade_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",
+ ":unit_tests_arc",
+ ]
+ 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 = [
+ ":history",
+ "//base",
+ "//components/browsing_data/core",
+ "//components/prefs",
+ "//components/strings",
+ "//ios/chrome/app/strings",
+ "//ios/chrome/browser",
+ "//ios/chrome/browser/browser_state",
+ "//ios/chrome/browser/ui/settings",
+ "//ios/chrome/browser/ui/tools_menu",
+ "//ios/chrome/browser/ui/util",
+ "//ios/chrome/common",
+ "//ios/chrome/test/app:test_support",
+ "//ios/chrome/test/earl_grey:test_support",
+ "//ios/public/provider/chrome/browser/signin",
+ "//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",
+ ]
+ libs = [
+ "UIKit.framework",
+ "XCTest.framework",
+ ]
+}
diff --git a/chromium/ios/chrome/browser/ui/icons/BUILD.gn b/chromium/ios/chrome/browser/ui/icons/BUILD.gn
new file mode 100644
index 00000000000..76bb5538077
--- /dev/null
+++ b/chromium/ios/chrome/browser/ui/icons/BUILD.gn
@@ -0,0 +1,63 @@
+# 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("icons") {
+ sources = [
+ "chrome_icon.h",
+ "chrome_icon.mm",
+ ]
+ deps = [
+ ":assets",
+ "//base",
+ "//ios/chrome/app/strings",
+ "//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",
+ ]
+ configs += [ "//build/config/compiler:enable_arc" ]
+}
+
+bundle_data("assets") {
+ sources = [
+ "resources/Icons.xcassets/ic_arrow_back.imageset/Contents.json",
+ "resources/Icons.xcassets/ic_arrow_back.imageset/ic_arrow_back.png",
+ "resources/Icons.xcassets/ic_arrow_back.imageset/ic_arrow_back_2x.png",
+ "resources/Icons.xcassets/ic_arrow_back.imageset/ic_arrow_back_3x.png",
+ "resources/Icons.xcassets/ic_chevron_right.imageset/Contents.json",
+ "resources/Icons.xcassets/ic_chevron_right.imageset/ic_chevron_right.png",
+ "resources/Icons.xcassets/ic_chevron_right.imageset/ic_chevron_right_2x.png",
+ "resources/Icons.xcassets/ic_chevron_right.imageset/ic_chevron_right_3x.png",
+ "resources/Icons.xcassets/ic_close.imageset/Contents.json",
+ "resources/Icons.xcassets/ic_close.imageset/ic_close.png",
+ "resources/Icons.xcassets/ic_close.imageset/ic_close_2x.png",
+ "resources/Icons.xcassets/ic_close.imageset/ic_close_3x.png",
+ "resources/Icons.xcassets/ic_info.imageset/Contents.json",
+ "resources/Icons.xcassets/ic_info.imageset/ic_info.png",
+ "resources/Icons.xcassets/ic_info.imageset/ic_info_2x.png",
+ "resources/Icons.xcassets/ic_info.imageset/ic_info_3x.png",
+ "resources/Icons.xcassets/ic_search.imageset/Contents.json",
+ "resources/Icons.xcassets/ic_search.imageset/ic_search.png",
+ "resources/Icons.xcassets/ic_search.imageset/ic_search_2x.png",
+ "resources/Icons.xcassets/ic_search.imageset/ic_search_3x.png",
+ ]
+ outputs = [
+ "{{bundle_resources_dir}}/{{source_file_part}}",
+ ]
+}
diff --git a/chromium/ios/chrome/browser/ui/infobars/BUILD.gn b/chromium/ios/chrome/browser/ui/infobars/BUILD.gn
new file mode 100644
index 00000000000..cde8e4cc2d0
--- /dev/null
+++ b/chromium/ios/chrome/browser/ui/infobars/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("infobars") {
+ sources = [
+ "infobar_view.h",
+ "infobar_view.mm",
+ "infobar_view_delegate.h",
+ ]
+ deps = [
+ ":resources",
+ "//base",
+ "//base:i18n",
+ "//components/strings",
+ "//ios/chrome/browser/ui",
+ "//ios/chrome/browser/ui/colors",
+ "//ios/chrome/browser/ui/fancy_ui",
+ "//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" ]
+}
+
+bundle_data("resources") {
+ sources = [
+ "resources/infobar_close.png",
+ "resources/infobar_close@2x.png",
+ "resources/infobar_close@3x.png",
+ "resources/infobar_downloading.png",
+ "resources/infobar_downloading@2x.png",
+ "resources/infobar_downloading@3x.png",
+ "resources/infobar_popup_blocker.png",
+ "resources/infobar_popup_blocker@2x.png",
+ "resources/infobar_popup_blocker@3x.png",
+ "resources/infobar_shadow.png",
+ "resources/infobar_shadow@2x.png",
+ "resources/infobar_update.png",
+ "resources/infobar_update@2x.png",
+ "resources/infobar_update@3x.png",
+ "resources/infobar_warning.png",
+ "resources/infobar_warning@2x.png",
+ "resources/infobar_warning@3x.png",
+ ]
+ outputs = [
+ "{{bundle_resources_dir}}/{{source_file_part}}",
+ ]
+}
diff --git a/chromium/ios/chrome/browser/ui/keyboard/BUILD.gn b/chromium/ios/chrome/browser/ui/keyboard/BUILD.gn
index ee2525f159f..0a188fcee28 100644
--- a/chromium/ios/chrome/browser/ui/keyboard/BUILD.gn
+++ b/chromium/ios/chrome/browser/ui/keyboard/BUILD.gn
@@ -3,6 +3,7 @@
# found in the LICENSE file.
source_set("keyboard") {
+ configs += [ "//build/config/compiler:enable_arc" ]
sources = [
"UIKeyCommand+Chrome.h",
"UIKeyCommand+Chrome.mm",
@@ -16,6 +17,7 @@ source_set("keyboard") {
}
source_set("unit_tests") {
+ configs += [ "//build/config/compiler:enable_arc" ]
testonly = true
sources = [
"UIKeyCommand+ChromeTest.mm",
diff --git a/chromium/ios/chrome/browser/ui/main/BUILD.gn b/chromium/ios/chrome/browser/ui/main/BUILD.gn
new file mode 100644
index 00000000000..052aa7f544a
--- /dev/null
+++ b/chromium/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",
+ "//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/chromium/ios/chrome/browser/ui/material_components/BUILD.gn b/chromium/ios/chrome/browser/ui/material_components/BUILD.gn
new file mode 100644
index 00000000000..63e674f4287
--- /dev/null
+++ b/chromium/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/chromium/ios/chrome/browser/ui/no_tabs/BUILD.gn b/chromium/ios/chrome/browser/ui/no_tabs/BUILD.gn
new file mode 100644
index 00000000000..e243a5d18ff
--- /dev/null
+++ b/chromium/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/chromium/ios/chrome/browser/ui/ntp/BUILD.gn b/chromium/ios/chrome/browser/ui/ntp/BUILD.gn
new file mode 100644
index 00000000000..d5f8a7d9289
--- /dev/null
+++ b/chromium/ios/chrome/browser/ui/ntp/BUILD.gn
@@ -0,0 +1,280 @@
+# 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.
+
+bundle_data("resources") {
+ sources = [
+ "resources/bookmarks_bar_bg.png",
+ "resources/bookmarks_bar_bg@2x.png",
+ "resources/bookmarks_bar_bg@2x~ipad.png",
+ "resources/bookmarks_bar_bg_pressed@2x~ipad.png",
+ "resources/bookmarks_bar_bg_pressed~ipad.png",
+ "resources/bookmarks_bar_bg~ipad.png",
+ "resources/bookmarks_bar_breadcrumb.png",
+ "resources/bookmarks_bar_breadcrumb@2x.png",
+ "resources/bookmarks_bar_breadcrumb@2x~ipad.png",
+ "resources/bookmarks_bar_breadcrumb~ipad.png",
+ "resources/bookmarks_bar_edit.png",
+ "resources/bookmarks_bar_edit@2x.png",
+ "resources/bookmarks_bar_edit@2x~ipad.png",
+ "resources/bookmarks_bar_edit_moreshadow.png",
+ "resources/bookmarks_bar_edit_moreshadow@2x.png",
+ "resources/bookmarks_bar_edit_pressed.png",
+ "resources/bookmarks_bar_edit_pressed@2x.png",
+ "resources/bookmarks_bar_edit_pressed@2x~ipad.png",
+ "resources/bookmarks_bar_edit_pressed_moreshadow.png",
+ "resources/bookmarks_bar_edit_pressed_moreshadow@2x.png",
+ "resources/bookmarks_bar_edit_pressed~ipad.png",
+ "resources/bookmarks_bar_edit~ipad.png",
+ "resources/bookmarks_bar_left@2x~ipad.png",
+ "resources/bookmarks_bar_left~ipad.png",
+ "resources/bookmarks_button_bg.png",
+ "resources/bookmarks_button_bg@2x.png",
+ "resources/bookmarks_button_border.png",
+ "resources/bookmarks_button_border@2x.png",
+ "resources/disclosure_open.png",
+ "resources/disclosure_open@2x.png",
+ "resources/incognito_icon.png",
+ "resources/incognito_icon@2x.png",
+ "resources/incognito_icon@3x.png",
+ "resources/ntp_bookmarks.png",
+ "resources/ntp_bookmarks@2x.png",
+ "resources/ntp_bookmarks@3x.png",
+ "resources/ntp_bottom_bar_shadow.png",
+ "resources/ntp_bottom_bar_shadow@2x.png",
+ "resources/ntp_delete_button.png",
+ "resources/ntp_delete_button@2x.png",
+ "resources/ntp_google_search_box.png",
+ "resources/ntp_google_search_box@2x.png",
+ "resources/ntp_google_search_box@3x.png",
+ "resources/ntp_incognito.png",
+ "resources/ntp_incognito@2x.png",
+ "resources/ntp_mv_placeholder_bg.png",
+ "resources/ntp_mv_placeholder_bg@2x.png",
+ "resources/ntp_mv_placeholder_bg@3x.png",
+ "resources/ntp_mv_recentbar@2x~ipad.png",
+ "resources/ntp_mv_recentbar~ipad.png",
+ "resources/ntp_mv_recentpress@2x~ipad.png",
+ "resources/ntp_mv_recentpress~ipad.png",
+ "resources/ntp_mv_search.png",
+ "resources/ntp_mv_search@2x.png",
+ "resources/ntp_mv_thumbnail_container.png",
+ "resources/ntp_mv_thumbnail_container@2x.png",
+ "resources/ntp_mv_thumbnail_container@3x.png",
+ "resources/ntp_mv_thumbnail_empty.png",
+ "resources/ntp_mv_thumbnail_empty@2x.png",
+ "resources/ntp_mv_thumbnail_empty@2x~ipad.png",
+ "resources/ntp_mv_thumbnail_empty~ipad.png",
+ "resources/ntp_mv_welcome_favicon.png",
+ "resources/ntp_mv_welcome_favicon@2x.png",
+ "resources/ntp_opentabs@2x.png",
+ "resources/ntp_opentabs@3x.png",
+ "resources/ntp_opentabs_clock.png",
+ "resources/ntp_opentabs_clock@2x.png",
+ "resources/ntp_opentabs_clock@3x.png",
+ "resources/ntp_opentabs_header@2x~ipad.png",
+ "resources/ntp_opentabs_header~ipad.png",
+ "resources/ntp_opentabs_laptop.png",
+ "resources/ntp_opentabs_laptop@2x.png",
+ "resources/ntp_opentabs_laptop@3x.png",
+ "resources/ntp_opentabs_last_row@2x~ipad.png",
+ "resources/ntp_opentabs_last_row_h@2x~ipad.png",
+ "resources/ntp_opentabs_last_row_h~ipad.png",
+ "resources/ntp_opentabs_last_row~ipad.png",
+ "resources/ntp_opentabs_list_item@2x~ipad.png",
+ "resources/ntp_opentabs_list_item_h@2x~ipad.png",
+ "resources/ntp_opentabs_list_item_h~ipad.png",
+ "resources/ntp_opentabs_list_item~ipad.png",
+ "resources/ntp_opentabs_phone.png",
+ "resources/ntp_opentabs_phone@2x.png",
+ "resources/ntp_opentabs_phone@3x.png",
+ "resources/ntp_opentabs_recent_arrow.png",
+ "resources/ntp_opentabs_recent_arrow@2x.png",
+ "resources/ntp_opentabs_recent_arrow@3x.png",
+ "resources/ntp_opentabs_tablet.png",
+ "resources/ntp_opentabs_tablet@2x.png",
+ "resources/ntp_opentabs_tablet@3x.png",
+ "resources/ntp_recently_closed.png",
+ "resources/ntp_recently_closed@2x.png",
+ "resources/ntp_recently_closed@3x.png",
+ ]
+ outputs = [
+ "{{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",
+ ":resources",
+ "//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/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 = [
+ ":ntp_internal",
+ "//components/strings",
+ "//ios/chrome/app/strings",
+ "//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",
+ "//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/chromium/ios/chrome/browser/ui/ntp/recent_tabs/BUILD.gn b/chromium/ios/chrome/browser/ui/ntp/recent_tabs/BUILD.gn
new file mode 100644
index 00000000000..c37ad567edd
--- /dev/null
+++ b/chromium/ios/chrome/browser/ui/ntp/recent_tabs/BUILD.gn
@@ -0,0 +1,91 @@
+# 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/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/chromium/ios/chrome/browser/ui/ntp/recent_tabs/views/BUILD.gn b/chromium/ios/chrome/browser/ui/ntp/recent_tabs/views/BUILD.gn
new file mode 100644
index 00000000000..2a203c2e12a
--- /dev/null
+++ b/chromium/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/chromium/ios/chrome/browser/ui/omnibox/BUILD.gn b/chromium/ios/chrome/browser/ui/omnibox/BUILD.gn
index 10b847a569d..437c7c42b70 100644
--- a/chromium/ios/chrome/browser/ui/omnibox/BUILD.gn
+++ b/chromium/ios/chrome/browser/ui/omnibox/BUILD.gn
@@ -16,3 +16,123 @@ source_set("omnibox") {
"//ios/chrome/app/theme",
]
}
+
+bundle_data("resources") {
+ sources = [
+ "resources/omnibox_background.png",
+ "resources/omnibox_background@2x.png",
+ "resources/omnibox_background@3x.png",
+ "resources/omnibox_transparent_background.png",
+ "resources/omnibox_transparent_background@2x.png",
+ "resources/omnibox_transparent_background@3x.png",
+ ]
+ outputs = [
+ "{{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 = [
+ ":omnibox",
+ ":resources",
+ "//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/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/chromium/ios/chrome/browser/ui/overscroll_actions/BUILD.gn b/chromium/ios/chrome/browser/ui/overscroll_actions/BUILD.gn
new file mode 100644
index 00000000000..98b99f7992a
--- /dev/null
+++ b/chromium/ios/chrome/browser/ui/overscroll_actions/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.
+
+bundle_data("resources") {
+ sources = [
+ "resources/ptr_close.png",
+ "resources/ptr_close@2x.png",
+ "resources/ptr_close@3x.png",
+ "resources/ptr_close_active.png",
+ "resources/ptr_close_active@2x.png",
+ "resources/ptr_close_active@3x.png",
+ "resources/ptr_new_tab.png",
+ "resources/ptr_new_tab@2x.png",
+ "resources/ptr_new_tab@3x.png",
+ "resources/ptr_new_tab_active.png",
+ "resources/ptr_new_tab_active@2x.png",
+ "resources/ptr_new_tab_active@3x.png",
+ "resources/ptr_reload.png",
+ "resources/ptr_reload@2x.png",
+ "resources/ptr_reload@3x.png",
+ "resources/ptr_reload_active.png",
+ "resources/ptr_reload_active@2x.png",
+ "resources/ptr_reload_active@3x.png",
+ ]
+ outputs = [
+ "{{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 = [
+ ":resources",
+ "//base",
+ "//ios/chrome/app/theme",
+ "//ios/chrome/browser/ui",
+ "//ios/chrome/browser/ui/static_content",
+ "//ios/chrome/browser/ui/toolbar",
+ "//ios/chrome/browser/ui/util",
+ "//ios/chrome/browser/ui/voice",
+ "//ios/web",
+ ]
+ allow_circular_includes_from = [ "//ios/chrome/browser/ui/static_content" ]
+ libs = [
+ "QuartzCore.framework",
+ "UIKit.framework",
+ ]
+}
diff --git a/chromium/ios/chrome/browser/ui/popup_menu/BUILD.gn b/chromium/ios/chrome/browser/ui/popup_menu/BUILD.gn
new file mode 100644
index 00000000000..1d0ae53265c
--- /dev/null
+++ b/chromium/ios/chrome/browser/ui/popup_menu/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.
+
+bundle_data("resources") {
+ sources = [
+ "resources/popup_background.png",
+ "resources/popup_background@2x.png",
+ "resources/popup_background@3x.png",
+ ]
+ outputs = [
+ "{{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 = [
+ ":resources",
+ "//base",
+ "//ios/chrome/app/strings",
+ "//ios/chrome/browser/ui",
+ "//ios/chrome/common",
+ "//ui/base",
+ ]
+ libs = [
+ "QuartzCore.framework",
+ "UIKit.framework",
+ ]
+}
diff --git a/chromium/ios/chrome/browser/ui/print/BUILD.gn b/chromium/ios/chrome/browser/ui/print/BUILD.gn
new file mode 100644
index 00000000000..3b1f3adbfdb
--- /dev/null
+++ b/chromium/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/chromium/ios/chrome/browser/ui/promos/BUILD.gn b/chromium/ios/chrome/browser/ui/promos/BUILD.gn
new file mode 100644
index 00000000000..655326c2ee0
--- /dev/null
+++ b/chromium/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/chromium/ios/chrome/browser/ui/qr_scanner/BUILD.gn b/chromium/ios/chrome/browser/ui/qr_scanner/BUILD.gn
new file mode 100644
index 00000000000..20213622aca
--- /dev/null
+++ b/chromium/ios/chrome/browser/ui/qr_scanner/BUILD.gn
@@ -0,0 +1,84 @@
+# 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.
+
+bundle_data("assets") {
+ sources = [
+ "resources/QRScanner.xcassets/Contents.json",
+ "resources/QRScanner.xcassets/qr_scanner_torch_off.imageset/Contents.json",
+ "resources/QRScanner.xcassets/qr_scanner_torch_off.imageset/torch_off.png",
+ "resources/QRScanner.xcassets/qr_scanner_torch_off.imageset/torch_off@2x.png",
+ "resources/QRScanner.xcassets/qr_scanner_torch_off.imageset/torch_off@3x.png",
+ "resources/QRScanner.xcassets/qr_scanner_torch_on.imageset/Contents.json",
+ "resources/QRScanner.xcassets/qr_scanner_torch_on.imageset/torch_on.png",
+ "resources/QRScanner.xcassets/qr_scanner_torch_on.imageset/torch_on@2x.png",
+ "resources/QRScanner.xcassets/qr_scanner_torch_on.imageset/torch_on@3x.png",
+ ]
+ outputs = [
+ "{{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 = [
+ ":assets",
+ "//base",
+ "//components/version_info",
+ "//ios/chrome/app/strings",
+ "//ios/chrome/browser",
+ "//ios/chrome/browser/ui",
+ "//ios/chrome/browser/ui/icons",
+ "//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 = [
+ ":qr_scanner",
+ "//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/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/chromium/ios/chrome/browser/ui/reader_mode/BUILD.gn b/chromium/ios/chrome/browser/ui/reader_mode/BUILD.gn
new file mode 100644
index 00000000000..4916f6080da
--- /dev/null
+++ b/chromium/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/chromium/ios/chrome/browser/ui/reading_list/BUILD.gn b/chromium/ios/chrome/browser/ui/reading_list/BUILD.gn
new file mode 100644
index 00000000000..3f8c944e725
--- /dev/null
+++ b/chromium/ios/chrome/browser/ui/reading_list/BUILD.gn
@@ -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.
+
+bundle_data("resources") {
+ sources = [
+ "resources/distillation_fail.png",
+ "resources/distillation_fail@2x.png",
+ "resources/distillation_fail@3x.png",
+ "resources/distillation_success.png",
+ "resources/distillation_success@2x.png",
+ "resources/distillation_success@3x.png",
+ "resources/reading_list_empty_state.png",
+ "resources/reading_list_empty_state@2x.png",
+ "resources/reading_list_empty_state@3x.png",
+ "resources/reading_list_share_icon.png",
+ "resources/reading_list_share_icon@2x.png",
+ "resources/reading_list_share_icon@3x.png",
+ "resources/reading_list_side_swipe.png",
+ "resources/reading_list_side_swipe@2x.png",
+ "resources/reading_list_side_swipe@3x.png",
+ "resources/reading_list_toolbar_icon.png",
+ "resources/reading_list_toolbar_icon@2x.png",
+ "resources/reading_list_toolbar_icon@3x.png",
+ ]
+ outputs = [
+ "{{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_empty_collection_background.h",
+ "reading_list_empty_collection_background.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",
+ "reading_list_view_controller_container.h",
+ "reading_list_view_controller_container.mm",
+ ]
+ deps = [
+ ":resources",
+ "//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/keyboard",
+ "//ios/chrome/browser/ui/material_components",
+ "//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 = [
+ ":reading_list",
+ "//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",
+ "//ios/third_party/material_components_ios",
+ "//ios/web:test_support",
+ ]
+ libs = [
+ "UIKit.framework",
+ "XCTest.framework",
+ ]
+}
diff --git a/chromium/ios/chrome/browser/ui/sad_tab/BUILD.gn b/chromium/ios/chrome/browser/ui/sad_tab/BUILD.gn
new file mode 100644
index 00000000000..7b92411f59e
--- /dev/null
+++ b/chromium/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/chromium/ios/chrome/browser/ui/settings/BUILD.gn b/chromium/ios/chrome/browser/ui/settings/BUILD.gn
new file mode 100644
index 00000000000..9984116e053
--- /dev/null
+++ b/chromium/ios/chrome/browser/ui/settings/BUILD.gn
@@ -0,0 +1,370 @@
+# 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.
+
+bundle_data("resources") {
+ sources = [
+ "resources/app_icon_placeholder.png",
+ "resources/app_icon_placeholder@2x.png",
+ "resources/app_icon_placeholder@3x.png",
+ "resources/encryption_error.png",
+ "resources/encryption_error@2x.png",
+ "resources/encryption_error@3x.png",
+ "resources/settings_accounts_add_account.png",
+ "resources/settings_accounts_add_account@2x.png",
+ "resources/settings_accounts_add_account@3x.png",
+ "resources/settings_error.png",
+ "resources/settings_error@2x.png",
+ "resources/settings_error@3x.png",
+ "resources/settings_sync.png",
+ "resources/settings_sync@2x.png",
+ "resources/settings_sync@3x.png",
+ ]
+ outputs = [
+ "{{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 = [
+ ":resources",
+ "//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/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",
+ "personal_data_manager_data_changed_observer.cc",
+ "personal_data_manager_data_changed_observer.h",
+ ]
+ deps = [
+ ":settings",
+ "//base",
+ "//components/autofill/core/browser",
+ "//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 = [
+ ":settings",
+ "//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/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",
+ ]
+}
diff --git a/chromium/ios/chrome/browser/ui/settings/cells/BUILD.gn b/chromium/ios/chrome/browser/ui/settings/cells/BUILD.gn
new file mode 100644
index 00000000000..74d8d7c52ff
--- /dev/null
+++ b/chromium/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/chromium/ios/chrome/browser/ui/settings/utils/BUILD.gn b/chromium/ios/chrome/browser/ui/settings/utils/BUILD.gn
new file mode 100644
index 00000000000..3f4502981d7
--- /dev/null
+++ b/chromium/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/chromium/ios/chrome/browser/ui/side_swipe/BUILD.gn b/chromium/ios/chrome/browser/ui/side_swipe/BUILD.gn
new file mode 100644
index 00000000000..1291d8fbb5c
--- /dev/null
+++ b/chromium/ios/chrome/browser/ui/side_swipe/BUILD.gn
@@ -0,0 +1,71 @@
+# 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.
+
+bundle_data("resources") {
+ sources = [
+ "resources/side_swipe_navigation_back.png",
+ "resources/side_swipe_navigation_back@2x.png",
+ "resources/side_swipe_navigation_back@3x.png",
+ "resources/side_swipe_navigation_content_shadow.png",
+ "resources/side_swipe_navigation_content_shadow@2x.png",
+ "resources/side_swipe_navigation_content_shadow@3x.png",
+ ]
+ outputs = [
+ "{{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 = [
+ ":resources",
+ "//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/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/chromium/ios/chrome/browser/ui/stack_view/BUILD.gn b/chromium/ios/chrome/browser/ui/stack_view/BUILD.gn
new file mode 100644
index 00000000000..cfea1f387ba
--- /dev/null
+++ b/chromium/ios/chrome/browser/ui/stack_view/BUILD.gn
@@ -0,0 +1,168 @@
+# 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.
+
+bundle_data("resources") {
+ sources = [
+ "resources/border_frame_bottom.png",
+ "resources/border_frame_bottom@2x.png",
+ "resources/border_frame_bottom@3x.png",
+ "resources/border_frame_incognito_bottom.png",
+ "resources/border_frame_incognito_bottom@2x.png",
+ "resources/border_frame_incognito_bottom@3x.png",
+ "resources/border_frame_incognito_left.png",
+ "resources/border_frame_incognito_left@2x.png",
+ "resources/border_frame_incognito_left@3x.png",
+ "resources/border_frame_incognito_right.png",
+ "resources/border_frame_incognito_right@2x.png",
+ "resources/border_frame_incognito_right@3x.png",
+ "resources/border_frame_incognito_top.png",
+ "resources/border_frame_incognito_top@2x.png",
+ "resources/border_frame_incognito_top@3x.png",
+ "resources/border_frame_left.png",
+ "resources/border_frame_left@2x.png",
+ "resources/border_frame_left@3x.png",
+ "resources/border_frame_right.png",
+ "resources/border_frame_right@2x.png",
+ "resources/border_frame_right@3x.png",
+ "resources/border_frame_top.png",
+ "resources/border_frame_top@2x.png",
+ "resources/border_frame_top@3x.png",
+ "resources/card_close_button.png",
+ "resources/card_close_button@2x.png",
+ "resources/card_close_button@3x.png",
+ "resources/card_close_button_incognito.png",
+ "resources/card_close_button_incognito@2x.png",
+ "resources/card_close_button_incognito@3x.png",
+ "resources/card_close_button_pressed.png",
+ "resources/card_close_button_pressed@2x.png",
+ "resources/card_close_button_pressed@3x.png",
+ "resources/card_frame_shadow.png",
+ "resources/card_frame_shadow@2x.png",
+ "resources/card_frame_shadow@3x.png",
+ "resources/stack_view_background_noise.jpg",
+ "resources/stack_view_background_noise@2x.jpg",
+ "resources/stack_view_background_noise@2x~ipad.jpg",
+ "resources/stack_view_background_noise@3x.jpg",
+ "resources/stack_view_background_noise~ipad.jpg",
+ ]
+ outputs = [
+ "{{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 = [
+ ":resources",
+ "//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/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 = [
+ ":stack_view",
+ "//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/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 = [
+ ":stack_view",
+ "//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/web",
+ "//net",
+ ]
+ libs = [ "UIKit.framework" ]
+}
diff --git a/chromium/ios/chrome/browser/ui/static_content/BUILD.gn b/chromium/ios/chrome/browser/ui/static_content/BUILD.gn
new file mode 100644
index 00000000000..494c90d46a5
--- /dev/null
+++ b/chromium/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/chromium/ios/chrome/browser/ui/suggestions/BUILD.gn b/chromium/ios/chrome/browser/ui/suggestions/BUILD.gn
new file mode 100644
index 00000000000..908f7207bbf
--- /dev/null
+++ b/chromium/ios/chrome/browser/ui/suggestions/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("suggestions") {
+ configs += [ "//build/config/compiler:enable_arc" ]
+ sources = [
+ "expandable_item.h",
+ "suggestions_article_item.h",
+ "suggestions_article_item.mm",
+ "suggestions_collection_updater.h",
+ "suggestions_collection_updater.mm",
+ "suggestions_commands.h",
+ "suggestions_expandable_item.h",
+ "suggestions_expandable_item.mm",
+ "suggestions_item.h",
+ "suggestions_item.mm",
+ "suggestions_item_actions.h",
+ "suggestions_stack_item.h",
+ "suggestions_stack_item.mm",
+ "suggestions_stack_item_actions.h",
+ "suggestions_view_controller.h",
+ "suggestions_view_controller.mm",
+ ]
+ deps = [
+ "//base",
+ "//ios/chrome/browser/ui",
+ "//ios/chrome/browser/ui/collection_view",
+ "//ios/third_party/material_roboto_font_loader_ios",
+ "//ui/base",
+ ]
+ public_deps = [
+ "//ios/third_party/material_components_ios",
+ ]
+}
+
+source_set("unit_tests") {
+ configs += [ "//build/config/compiler:enable_arc" ]
+ testonly = true
+ sources = [
+ "suggestions_article_item_unittest.mm",
+ "suggestions_expandable_item_unittest.mm",
+ "suggestions_item_unittest.mm",
+ "suggestions_stack_item_unittest.mm",
+ ]
+ deps = [
+ ":suggestions",
+ "//ios/chrome/browser/ui/collection_view",
+ "//testing/gtest",
+ "//third_party/ocmock",
+ ]
+}
diff --git a/chromium/ios/chrome/browser/ui/sync/BUILD.gn b/chromium/ios/chrome/browser/ui/sync/BUILD.gn
new file mode 100644
index 00000000000..53aaf3e0fb3
--- /dev/null
+++ b/chromium/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/chromium/ios/chrome/browser/ui/tab_switcher/BUILD.gn b/chromium/ios/chrome/browser/ui/tab_switcher/BUILD.gn
new file mode 100644
index 00000000000..b38fde2afb7
--- /dev/null
+++ b/chromium/ios/chrome/browser/ui/tab_switcher/BUILD.gn
@@ -0,0 +1,201 @@
+# 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.
+
+bundle_data("resources") {
+ sources = [
+ "resources/tabswitcher_full_history.png",
+ "resources/tabswitcher_full_history@2x.png",
+ "resources/tabswitcher_full_history@3x.png",
+ "resources/tabswitcher_incognito.png",
+ "resources/tabswitcher_incognito@2x.png",
+ "resources/tabswitcher_incognito@3x.png",
+ "resources/tabswitcher_laptop.png",
+ "resources/tabswitcher_laptop@2x.png",
+ "resources/tabswitcher_laptop@3x.png",
+ "resources/tabswitcher_menu.png",
+ "resources/tabswitcher_menu@2x.png",
+ "resources/tabswitcher_menu@3x.png",
+ "resources/tabswitcher_new_tab.png",
+ "resources/tabswitcher_new_tab@2x.png",
+ "resources/tabswitcher_new_tab@3x.png",
+ "resources/tabswitcher_new_tab_fab.png",
+ "resources/tabswitcher_new_tab_fab@2x.png",
+ "resources/tabswitcher_new_tab_fab@3x.png",
+ "resources/tabswitcher_open_tabs.png",
+ "resources/tabswitcher_open_tabs@2x.png",
+ "resources/tabswitcher_open_tabs@3x.png",
+ "resources/tabswitcher_other_devices.png",
+ "resources/tabswitcher_other_devices@2x.png",
+ "resources/tabswitcher_other_devices@3x.png",
+ "resources/tabswitcher_overflow_arrow.png",
+ "resources/tabswitcher_overflow_arrow@2x.png",
+ "resources/tabswitcher_overflow_arrow@3x.png",
+ "resources/tabswitcher_phone.png",
+ "resources/tabswitcher_phone@2x.png",
+ "resources/tabswitcher_phone@3x.png",
+ "resources/tabswitcher_recently_closed.png",
+ "resources/tabswitcher_recently_closed@2x.png",
+ "resources/tabswitcher_recently_closed@3x.png",
+ "resources/tabswitcher_tab_switcher_button.png",
+ "resources/tabswitcher_tab_switcher_button@2x.png",
+ "resources/tabswitcher_tab_switcher_button@3x.png",
+ "resources/tabswitcher_tablet.png",
+ "resources/tabswitcher_tablet@2x.png",
+ "resources/tabswitcher_tablet@3x.png",
+ ]
+ outputs = [
+ "{{bundle_resources_dir}}/{{source_file_part}}",
+ ]
+}
+
+source_set("tab_switcher") {
+ sources = [
+ "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_session_changes.h",
+ "tab_switcher_session_changes.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 = [
+ ":resources",
+ ":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/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/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",
+ "//ios/chrome/browser/ui",
+ "//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/chromium/ios/chrome/browser/ui/tabs/BUILD.gn b/chromium/ios/chrome/browser/ui/tabs/BUILD.gn
new file mode 100644
index 00000000000..aa66479fc55
--- /dev/null
+++ b/chromium/ios/chrome/browser/ui/tabs/BUILD.gn
@@ -0,0 +1,112 @@
+# 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.
+
+bundle_data("resources") {
+ sources = [
+ "resources/tabstrip_background_tab@2x~ipad.png",
+ "resources/tabstrip_background_tab~ipad.png",
+ "resources/tabstrip_foreground_tab@2x~ipad.png",
+ "resources/tabstrip_foreground_tab~ipad.png",
+ "resources/tabstrip_incognito_background_tab@2x~ipad.png",
+ "resources/tabstrip_incognito_background_tab~ipad.png",
+ "resources/tabstrip_incognito_foreground_tab@2x~ipad.png",
+ "resources/tabstrip_incognito_foreground_tab~ipad.png",
+ "resources/tabstrip_incognito_switch@2x~ipad.png",
+ "resources/tabstrip_incognito_switch~ipad.png",
+ "resources/tabstrip_new_tab@2x~ipad.png",
+ "resources/tabstrip_new_tab_incognito@2x~ipad.png",
+ "resources/tabstrip_new_tab_incognito_pressed@2x~ipad.png",
+ "resources/tabstrip_new_tab_incognito_pressed~ipad.png",
+ "resources/tabstrip_new_tab_incognito~ipad.png",
+ "resources/tabstrip_new_tab_pressed@2x~ipad.png",
+ "resources/tabstrip_new_tab_pressed~ipad.png",
+ "resources/tabstrip_new_tab~ipad.png",
+ "resources/tabstrip_switch@2x~ipad.png",
+ "resources/tabstrip_switch~ipad.png",
+ "resources/tabstrip_tab_close@2x~ipad.png",
+ "resources/tabstrip_tab_close_incognito@2x~ipad.png",
+ "resources/tabstrip_tab_close_incognito_pressed@2x~ipad.png",
+ "resources/tabstrip_tab_close_incognito_pressed~ipad.png",
+ "resources/tabstrip_tab_close_incognito~ipad.png",
+ "resources/tabstrip_tab_close_pressed@2x~ipad.png",
+ "resources/tabstrip_tab_close_pressed~ipad.png",
+ "resources/tabstrip_tab_close~ipad.png",
+ "resources/tabstrip_toggle_button_gradient@2x~ipad.png",
+ "resources/tabstrip_toggle_button_gradient@3x~ipad.png",
+ "resources/tabstrip_toggle_button_gradient~ipad.png",
+ ]
+ outputs = [
+ "{{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_view.h",
+ "tab_view.mm",
+ "target_frame_cache.h",
+ "target_frame_cache.mm",
+ ]
+ deps = [
+ ":resources",
+ "//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/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 = [
+ ":tabs",
+ "//ios/chrome/app/strings",
+ "//ios/chrome/browser",
+ "//ios/chrome/browser/ui",
+ "//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/chromium/ios/chrome/browser/ui/toolbar/BUILD.gn b/chromium/ios/chrome/browser/ui/toolbar/BUILD.gn
new file mode 100644
index 00000000000..b2a94729ad0
--- /dev/null
+++ b/chromium/ios/chrome/browser/ui/toolbar/BUILD.gn
@@ -0,0 +1,201 @@
+# 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.
+
+bundle_data("resources") {
+ sources = [
+ "resources/collapse.png",
+ "resources/collapse@2x.png",
+ "resources/collapse@3x.png",
+ "resources/collapse_incognito.png",
+ "resources/collapse_incognito@2x.png",
+ "resources/collapse_incognito@3x.png",
+ "resources/collapse_pressed.png",
+ "resources/collapse_pressed@2x.png",
+ "resources/collapse_pressed@3x.png",
+ "resources/collapse_pressed_incognito.png",
+ "resources/collapse_pressed_incognito@2x.png",
+ "resources/collapse_pressed_incognito@3x.png",
+ "resources/incognito_marker_typing.png",
+ "resources/incognito_marker_typing@2x.png",
+ "resources/incognito_marker_typing@3x.png",
+ "resources/toolbar_dark_newtab.png",
+ "resources/toolbar_dark_newtab@2x.png",
+ "resources/toolbar_dark_newtab@3x.png",
+ "resources/toolbar_dark_newtab_active.png",
+ "resources/toolbar_dark_newtab_active@2x.png",
+ "resources/toolbar_dark_newtab_active@3x.png",
+ "resources/toolbar_dark_newtab_incognito.png",
+ "resources/toolbar_dark_newtab_incognito@2x.png",
+ "resources/toolbar_dark_newtab_incognito@3x.png",
+ "resources/toolbar_dark_newtab_incognito_active.png",
+ "resources/toolbar_dark_newtab_incognito_active@2x.png",
+ "resources/toolbar_dark_newtab_incognito_active@3x.png",
+ ]
+ outputs = [
+ "{{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",
+ ":resources",
+ "//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/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 = [
+ ":toolbar",
+ "//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/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" ]
+}
diff --git a/chromium/ios/chrome/browser/ui/tools_menu/BUILD.gn b/chromium/ios/chrome/browser/ui/tools_menu/BUILD.gn
new file mode 100644
index 00000000000..e1f3950e380
--- /dev/null
+++ b/chromium/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 = [
+ ":tools_menu",
+ "//base",
+ "//components/strings",
+ "//ios/chrome/app/strings",
+ "//ios/chrome/browser/ui",
+ "//ios/chrome/browser/ui:ui_internal",
+ "//ios/chrome/browser/ui/toolbar",
+ "//ios/chrome/test/earl_grey:test_support",
+ "//ios/third_party/earl_grey",
+ "//ios/web:test_support",
+ "//ui/base",
+ ]
+ libs = [ "XCTest.framework" ]
+}
diff --git a/chromium/ios/chrome/browser/ui/util/BUILD.gn b/chromium/ios/chrome/browser/ui/util/BUILD.gn
new file mode 100644
index 00000000000..48dbae062ab
--- /dev/null
+++ b/chromium/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/chromium/ios/chrome/browser/ui/voice/BUILD.gn b/chromium/ios/chrome/browser/ui/voice/BUILD.gn
index 7cb794bc476..1039524f44f 100644
--- a/chromium/ios/chrome/browser/ui/voice/BUILD.gn
+++ b/chromium/ios/chrome/browser/ui/voice/BUILD.gn
@@ -3,7 +3,9 @@
# found in the LICENSE file.
source_set("voice") {
+ configs += [ "//build/config/compiler:enable_arc" ]
sources = [
+ "text_to_speech_player+subclassing.h",
"text_to_speech_player.h",
"text_to_speech_player.mm",
"voice_search_notification_names.h",
@@ -18,6 +20,7 @@ source_set("voice") {
}
source_set("unit_tests") {
+ configs += [ "//build/config/compiler:enable_arc" ]
testonly = true
sources = [
@@ -25,6 +28,7 @@ source_set("unit_tests") {
]
deps = [
+ ":voice",
":voice_unit_tests_bundle_data",
"//base",
"//base/test:test_support",
@@ -33,10 +37,6 @@ source_set("unit_tests") {
"//testing/gtest",
"//url",
]
-
- public_deps = [
- ":voice",
- ]
}
bundle_data("voice_unit_tests_bundle_data") {
diff --git a/chromium/ios/chrome/browser/ui/webui/BUILD.gn b/chromium/ios/chrome/browser/ui/webui/BUILD.gn
index e21401d37fc..df43c20ddad 100644
--- a/chromium/ios/chrome/browser/ui/webui/BUILD.gn
+++ b/chromium/ios/chrome/browser/ui/webui/BUILD.gn
@@ -3,6 +3,7 @@
# found in the LICENSE file.
source_set("webui") {
+ configs += [ "//build/config/compiler:enable_arc" ]
sources = [
"about_ui.cc",
"about_ui.h",
@@ -11,6 +12,8 @@ source_set("webui") {
"flags_ui.cc",
"flags_ui.h",
"mojo_web_ui_ios_controller.h",
+ "ntp_tiles_internals_ui.cc",
+ "ntp_tiles_internals_ui.h",
"physical_web_ui.cc",
"physical_web_ui.h",
"popular_sites_internals_ui.cc",
@@ -37,7 +40,6 @@ source_set("webui") {
"//google_apis",
"//ios/chrome/app/strings",
"//ios/chrome/browser",
- "//ios/chrome/browser:about_flags",
"//ios/chrome/browser/browser_state",
"//ios/chrome/browser/crash_report",
"//ios/chrome/browser/metrics",
@@ -52,3 +54,51 @@ source_set("webui") {
"//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 = [
+ ":webui",
+ "//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/gcm",
+ "//ios/chrome/browser/ui/webui/net_export",
+ "//ios/chrome/browser/ui/webui/sync_internals",
+ "//ios/web",
+ "//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/chromium/ios/chrome/browser/ui/webui/history/BUILD.gn b/chromium/ios/chrome/browser/ui/webui/history/BUILD.gn
deleted file mode 100644
index a687d9f0bf1..00000000000
--- a/chromium/ios/chrome/browser/ui/webui/history/BUILD.gn
+++ /dev/null
@@ -1,51 +0,0 @@
-# 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 = [
- "browsing_history_handler.cc",
- "browsing_history_handler.h",
- "favicon_source.cc",
- "favicon_source.h",
- "history_ui.h",
- "history_ui.mm",
- "metrics_handler.cc",
- "metrics_handler.h",
- ]
- deps = [
- "//base",
- "//base:i18n",
- "//components/bookmarks/browser",
- "//components/browser_sync",
- "//components/browsing_data/core",
- "//components/favicon/core",
- "//components/favicon_base",
- "//components/history/core/browser",
- "//components/keyed_service/core",
- "//components/prefs",
- "//components/resources",
- "//components/search",
- "//components/signin/core/browser",
- "//components/strings",
- "//components/sync",
- "//components/sync_sessions",
- "//components/url_formatter",
- "//ios/chrome/app/resources",
- "//ios/chrome/browser",
- "//ios/chrome/browser/bookmarks",
- "//ios/chrome/browser/browser_state",
- "//ios/chrome/browser/favicon",
- "//ios/chrome/browser/history",
- "//ios/chrome/browser/signin",
- "//ios/chrome/browser/signin",
- "//ios/chrome/browser/sync",
- "//ios/chrome/browser/ui",
- "//ios/web",
- "//net",
- "//ui/base",
- "//ui/gfx",
- "//ui/resources",
- "//url",
- ]
-}
diff --git a/chromium/ios/chrome/browser/upgrade/BUILD.gn b/chromium/ios/chrome/browser/upgrade/BUILD.gn
new file mode 100644
index 00000000000..71132988944
--- /dev/null
+++ b/chromium/ios/chrome/browser/upgrade/BUILD.gn
@@ -0,0 +1,38 @@
+# 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("upgrade") {
+ sources = [
+ "upgrade_center.h",
+ "upgrade_center.mm",
+ "upgrade_recommended_details.h",
+ ]
+ deps = [
+ "//base",
+ "//components/infobars/core",
+ "//components/version_info",
+ "//ios/chrome/app/strings",
+ "//ios/chrome/browser",
+ "//ios/chrome/browser/ui/commands",
+ "//ios/chrome/browser/ui/infobars:resources",
+ "//ios/web",
+ "//net",
+ "//ui/base",
+ "//ui/gfx",
+ "//url",
+ ]
+ libs = [ "UIKit.framework" ]
+}
+
+source_set("unit_tests") {
+ testonly = true
+ sources = [
+ "upgrade_center_unittest.mm",
+ ]
+ deps = [
+ ":upgrade",
+ "//base",
+ "//testing/gtest",
+ ]
+}
diff --git a/chromium/ios/chrome/browser/voice/BUILD.gn b/chromium/ios/chrome/browser/voice/BUILD.gn
index 12850e1c970..d7c3926c1eb 100644
--- a/chromium/ios/chrome/browser/voice/BUILD.gn
+++ b/chromium/ios/chrome/browser/voice/BUILD.gn
@@ -14,13 +14,11 @@ source_set("voice") {
]
deps = [
+ "//base",
"//components/pref_registry",
"//components/prefs",
- ]
-
- public_deps = [
- "//base",
"//ios/public/provider/chrome/browser",
+ "//ios/public/provider/chrome/browser/voice",
]
}
@@ -33,11 +31,12 @@ source_set("prefs") {
deps = [
"//components/pref_registry",
"//components/prefs",
- "//ios/public/provider/chrome/browser",
+ "//ios/public/provider/chrome/browser/voice",
]
}
source_set("tts") {
+ configs += [ "//build/config/compiler:enable_arc" ]
sources = [
"text_to_speech_listener.h",
"text_to_speech_listener.mm",
@@ -54,7 +53,7 @@ source_set("tts") {
"//components/prefs",
"//ios/chrome/browser",
"//ios/chrome/browser/browser_state",
- "//ios/public/provider/chrome/browser",
+ "//ios/public/provider/chrome/browser/voice",
"//ios/web",
"//net",
"//third_party/google_toolbox_for_mac",
@@ -63,6 +62,7 @@ source_set("tts") {
}
source_set("unit_tests") {
+ configs += [ "//build/config/compiler:enable_arc" ]
testonly = true
sources = [
@@ -71,14 +71,11 @@ source_set("unit_tests") {
]
deps = [
+ ":tts",
"//base",
"//ios/web",
"//ios/web:test_support",
"//testing/gtest",
"//third_party/google_toolbox_for_mac",
]
-
- public_deps = [
- ":tts",
- ]
}
diff --git a/chromium/ios/chrome/browser/web/BUILD.gn b/chromium/ios/chrome/browser/web/BUILD.gn
index 3f59b9bb327..f9b589203ef 100644
--- a/chromium/ios/chrome/browser/web/BUILD.gn
+++ b/chromium/ios/chrome/browser/web/BUILD.gn
@@ -2,17 +2,303 @@
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
+import("//ios/web/js_compile.gni")
+
source_set("web") {
+ configs += [ "//build/config/compiler:enable_arc" ]
sources = [
"dom_altering_lock.h",
"dom_altering_lock.mm",
- "resubmit_data_controller.h",
- "resubmit_data_controller.mm",
+ "form_resubmission_tab_helper.h",
+ "form_resubmission_tab_helper.mm",
+ "network_activity_indicator_tab_helper.h",
+ "network_activity_indicator_tab_helper.mm",
+ ]
+ deps = [
+ "//base",
+ "//components/strings",
+ "//ios/chrome/browser/ui",
+ "//ios/chrome/browser/ui/alert_coordinator:alert_coordinator",
+ "//ios/chrome/browser/ui/util:util",
+ "//ios/web",
+ "//ui/base",
+ ]
+}
+
+source_set("unit_tests") {
+ configs += [ "//build/config/compiler:enable_arc" ]
+ testonly = true
+ sources = [
+ "form_resubmission_tab_helper_unittest.mm",
+ "network_activity_indicator_tab_helper_unittest.mm",
+ ]
+ deps = [
+ ":web",
+ "//base:base",
+ "//base/test:test_support",
+ "//components/strings:components_strings_grit",
+ "//ios/chrome/browser/ui:ui",
+ "//ios/chrome/test:test_support",
+ "//ios/web:test_support",
+ "//testing/gtest",
+ "//ui/base:base",
+ ]
+}
+
+bundle_data("resources") {
+ sources = [
+ "resources/autofill_card_american_express.png",
+ "resources/autofill_card_american_express@2x.png",
+ "resources/autofill_card_american_express@2x~ipad.png",
+ "resources/autofill_card_american_express@3x.png",
+ "resources/autofill_card_american_express~ipad.png",
+ "resources/autofill_card_diners.png",
+ "resources/autofill_card_diners@2x.png",
+ "resources/autofill_card_diners@2x~ipad.png",
+ "resources/autofill_card_diners@3x.png",
+ "resources/autofill_card_diners~ipad.png",
+ "resources/autofill_card_discover.png",
+ "resources/autofill_card_discover@2x.png",
+ "resources/autofill_card_discover@2x~ipad.png",
+ "resources/autofill_card_discover@3x.png",
+ "resources/autofill_card_discover~ipad.png",
+ "resources/autofill_card_generic.png",
+ "resources/autofill_card_generic@2x.png",
+ "resources/autofill_card_generic@2x~ipad.png",
+ "resources/autofill_card_generic@3x.png",
+ "resources/autofill_card_generic~ipad.png",
+ "resources/autofill_card_jcb.png",
+ "resources/autofill_card_jcb@2x.png",
+ "resources/autofill_card_jcb@2x~ipad.png",
+ "resources/autofill_card_jcb@3x.png",
+ "resources/autofill_card_jcb~ipad.png",
+ "resources/autofill_card_mastercard.png",
+ "resources/autofill_card_mastercard@2x.png",
+ "resources/autofill_card_mastercard@2x~ipad.png",
+ "resources/autofill_card_mastercard@3x.png",
+ "resources/autofill_card_mastercard~ipad.png",
+ "resources/autofill_card_unionpay.png",
+ "resources/autofill_card_unionpay@2x.png",
+ "resources/autofill_card_unionpay@2x~ipad.png",
+ "resources/autofill_card_unionpay@3x.png",
+ "resources/autofill_card_unionpay~ipad.png",
+ "resources/autofill_card_visa.png",
+ "resources/autofill_card_visa@2x.png",
+ "resources/autofill_card_visa@2x~ipad.png",
+ "resources/autofill_card_visa@3x.png",
+ "resources/autofill_card_visa~ipad.png",
+ "resources/autofill_close.png",
+ "resources/autofill_close@2x.png",
+ "resources/autofill_close@3x.png",
+ "resources/autofill_close_pressed.png",
+ "resources/autofill_close_pressed@2x.png",
+ "resources/autofill_close_pressed@3x.png",
+ "resources/autofill_keyboard_background.png",
+ "resources/autofill_keyboard_background@2x.png",
+ "resources/autofill_keyboard_background@3x.png",
+ "resources/autofill_keyboard_background_left.png",
+ "resources/autofill_keyboard_background_left@2x.png",
+ "resources/autofill_keyboard_background_right.png",
+ "resources/autofill_keyboard_background_right@2x.png",
+ "resources/autofill_left_sep.png",
+ "resources/autofill_left_sep@2x.png",
+ "resources/autofill_left_sep@3x.png",
+ "resources/autofill_left_sep_RTL.png",
+ "resources/autofill_left_sep_RTL@2x.png",
+ "resources/autofill_left_sep_RTL@3x.png",
+ "resources/autofill_middle_sep.png",
+ "resources/autofill_middle_sep@2x.png",
+ "resources/autofill_middle_sep@3x.png",
+ "resources/autofill_next.png",
+ "resources/autofill_next@2x.png",
+ "resources/autofill_next@3x.png",
+ "resources/autofill_next_inactive.png",
+ "resources/autofill_next_inactive@2x.png",
+ "resources/autofill_next_inactive@3x.png",
+ "resources/autofill_next_pressed.png",
+ "resources/autofill_next_pressed@2x.png",
+ "resources/autofill_next_pressed@3x.png",
+ "resources/autofill_prev.png",
+ "resources/autofill_prev@2x.png",
+ "resources/autofill_prev@3x.png",
+ "resources/autofill_prev_inactive.png",
+ "resources/autofill_prev_inactive@2x.png",
+ "resources/autofill_prev_inactive@3x.png",
+ "resources/autofill_prev_pressed.png",
+ "resources/autofill_prev_pressed@2x.png",
+ "resources/autofill_prev_pressed@3x.png",
+ "resources/autofill_right_sep.png",
+ "resources/autofill_right_sep@2x.png",
+ "resources/autofill_right_sep@3x.png",
+ "resources/autofill_right_sep_RTL.png",
+ "resources/autofill_right_sep_RTL@2x.png",
+ "resources/autofill_right_sep_RTL@3x.png",
+ ]
+ outputs = [
+ "{{bundle_resources_dir}}/{{source_file_part}}",
+ ]
+}
+
+js_compile_unchecked("injected_js") {
+ sources = [
+ "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",
+ "error_page_generator.h",
+ "error_page_generator.mm",
+ "external_app_launcher.h",
+ "external_app_launcher.mm",
+ "passkit_dialog_provider.h",
+ "print_observer.h",
+ "print_observer.mm",
]
deps = [
+ ":injected_js",
+ ":resources",
"//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/browser",
+ "//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/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_generator_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",
+ "http_auth_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" ]
}
diff --git a/chromium/ios/chrome/common/BUILD.gn b/chromium/ios/chrome/common/BUILD.gn
index b3e6bed52d0..d71c521771d 100644
--- a/chromium/ios/chrome/common/BUILD.gn
+++ b/chromium/ios/chrome/common/BUILD.gn
@@ -2,6 +2,9 @@
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
+import("//build/buildflag_header.gni")
+import("//build/config/ios/ios_sdk.gni")
+
source_set("common") {
sources = [
"channel_info.h",
@@ -18,7 +21,7 @@ source_set("common") {
"//base",
"//components/version_info",
"//ios/chrome/common/app_group:main_app",
- "//ios/chrome/common/physical_web:physical_web",
+ "//ios/chrome/common/physical_web",
"//net",
"//url",
]
@@ -40,3 +43,8 @@ source_set("unit_tests") {
"//testing/gtest",
]
}
+
+buildflag_header("ios_app_bundle_id_prefix_header") {
+ header = "ios_app_bundle_id_prefix.h"
+ flags = [ "IOS_APP_BUNDLE_ID_PREFIX=\"$ios_app_bundle_id_prefix\"" ]
+}
diff --git a/chromium/ios/chrome/common/app_group/BUILD.gn b/chromium/ios/chrome/common/app_group/BUILD.gn
index 735962e4783..2f482d83fdb 100644
--- a/chromium/ios/chrome/common/app_group/BUILD.gn
+++ b/chromium/ios/chrome/common/app_group/BUILD.gn
@@ -5,6 +5,7 @@
import("//build/config/ios/ios_sdk.gni")
source_set("app_group") {
+ configs += [ "//build/config/compiler:enable_arc" ]
sources = [
"app_group_constants.h",
"app_group_constants.mm",
@@ -15,14 +16,14 @@ source_set("app_group") {
deps = [
"//base",
"//components/version_info",
+ "//ios/chrome/common:ios_app_bundle_id_prefix_header",
]
-
- defines = [ "IOS_BUNDLE_ID_PREFIX=\"$ios_app_bundle_id_prefix\"" ]
}
# This target will be included into application extensions and the list
# of its dependencies must be kept as short as possible.
source_set("client") {
+ configs += [ "//build/config/compiler:enable_arc" ]
sources = [
"app_group_metrics_client.h",
"app_group_metrics_client.mm",
@@ -35,6 +36,7 @@ source_set("client") {
}
source_set("main_app") {
+ configs += [ "//build/config/compiler:enable_arc" ]
sources = [
"app_group_metrics_mainapp.h",
"app_group_metrics_mainapp.mm",
diff --git a/chromium/ios/chrome/common/physical_web/BUILD.gn b/chromium/ios/chrome/common/physical_web/BUILD.gn
index 0afdd5bad23..a41352be80a 100644
--- a/chromium/ios/chrome/common/physical_web/BUILD.gn
+++ b/chromium/ios/chrome/common/physical_web/BUILD.gn
@@ -3,6 +3,7 @@
# found in the LICENSE file.
source_set("physical_web") {
+ configs += [ "//build/config/compiler:enable_arc" ]
sources = [
"physical_web_device.h",
"physical_web_device.mm",
diff --git a/chromium/ios/chrome/share_extension/BUILD.gn b/chromium/ios/chrome/share_extension/BUILD.gn
index 148827185b6..17e50e135ae 100644
--- a/chromium/ios/chrome/share_extension/BUILD.gn
+++ b/chromium/ios/chrome/share_extension/BUILD.gn
@@ -2,8 +2,14 @@
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
+import("//build/config/ios/rules.gni")
import("//build/config/locales.gni")
+import("//build/config/mac/base_rules.gni")
+import("//build/mac/tweak_info_plist.gni")
+import("//ios/build/chrome_build.gni")
import("//ios/chrome/extension_repack.gni")
+import("//ios/chrome/tools/strings/generate_localizable_strings.gni")
+import("//ios/public/provider/chrome/browser/build_config.gni")
group("resources") {
deps = [
@@ -16,3 +22,66 @@ extension_repack_all_locales("packed_resources") {
input_locales = ios_packed_locales
output_locales = ios_packed_locales_as_mac_outputs
}
+
+tweak_info_plist("tweak_info_plist") {
+ info_plist = "Info.plist"
+}
+
+compile_plist("entitlements") {
+ format = "xml1"
+ substitutions = [ "IOS_BUNDLE_ID_PREFIX=$ios_app_bundle_id_prefix" ]
+ output_name = "$target_gen_dir/share_extension.appex.entitlements"
+ plist_templates =
+ [ "entitlements/external/share_extension.appex.entitlements" ] +
+ ios_chrome_entitlements_additions
+}
+
+ios_appex_bundle("share_extension") {
+ sources = [
+ "share_extension_view.h",
+ "share_extension_view.mm",
+ "share_view_controller.h",
+ "share_view_controller.mm",
+ "ui_util.h",
+ "ui_util.mm",
+ ]
+
+ configs += [ "//build/config/compiler:enable_arc" ]
+
+ deps = [
+ ":system_strings",
+ "//base",
+ "//ios/chrome/common/app_group",
+ "//ios/chrome/common/app_group:client",
+ ]
+ bundle_deps_filter = [ "//third_party/icu:icudata" ]
+
+ libs = [
+ "Foundation.framework",
+ "Social.framework",
+ "CoreGraphics.framework",
+ "MobileCoreServices.framework",
+ "UIKit.framework",
+ ]
+
+ extra_substitutions = [
+ "CHROME_CHANNEL_SCHEME=$url_channel_scheme",
+ "CHROMIUM_SHORT_NAME=$chromium_short_name",
+ "SHARE_EXTENSION_BUNDLE_ID=$chromium_bundle_id.ShareExtension",
+ ]
+
+ entitlements_target = ":entitlements"
+ info_plist_target = ":tweak_info_plist"
+}
+
+generate_localizable_strings("system_strings") {
+ visibility = [ ":*" ]
+ _packed_resources_target = ":packed_resources"
+ config_file = "share_extension_localize_strings_config.plist"
+ datapack_dir = get_label_info(_packed_resources_target, "target_gen_dir")
+ packed_locales = ios_packed_locales_as_mac_outputs
+ output_filenames = [ "Localizable.strings" ]
+ deps = [
+ _packed_resources_target,
+ ]
+}
diff --git a/chromium/ios/chrome/test/BUILD.gn b/chromium/ios/chrome/test/BUILD.gn
index c68df344616..72560b1431b 100644
--- a/chromium/ios/chrome/test/BUILD.gn
+++ b/chromium/ios/chrome/test/BUILD.gn
@@ -2,6 +2,20 @@
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
+import("//ios/build/config.gni")
+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",
+ ]
+}
+
source_set("test_support") {
testonly = true
sources = [
@@ -9,23 +23,28 @@ source_set("test_support") {
"block_cleanup_test.mm",
"ios_chrome_scoped_testing_chrome_browser_provider.h",
"ios_chrome_scoped_testing_chrome_browser_provider.mm",
+ "ios_chrome_scoped_testing_chrome_browser_state_manager.cc",
+ "ios_chrome_scoped_testing_chrome_browser_state_manager.h",
"ios_chrome_scoped_testing_local_state.cc",
"ios_chrome_scoped_testing_local_state.h",
"ios_chrome_unit_test_suite.h",
"ios_chrome_unit_test_suite.mm",
+ "scoped_key_window.h",
"testing_application_context.h",
"testing_application_context.mm",
]
deps = [
"//base",
+ "//base/test:test_support",
"//components/content_settings/core/common",
"//components/network_time",
"//components/prefs",
"//components/prefs:test_support",
"//ios/chrome/browser",
+ "//ios/chrome/browser/browser_state",
"//ios/chrome/browser/browser_state:browser_state_impl",
- "//ios/chrome/browser/prefs",
+ "//ios/chrome/browser/prefs:browser_prefs",
"//ios/public/provider/chrome/browser",
"//ios/public/provider/chrome/browser:test_support",
"//ios/web",
@@ -51,6 +70,7 @@ source_set("run_all_unittests") {
}
source_set("unit_tests") {
+ configs += [ "//build/config/compiler:enable_arc" ]
testonly = true
sources = [
"google_toolbox_unittest.mm",
@@ -61,3 +81,113 @@ source_set("unit_tests") {
"//third_party/google_toolbox_for_mac",
]
}
+
+test("ios_chrome_perftests") {
+ deps = [
+ # Ensure that all perf tests are run, use fake hooks and pack resources.
+ ":run_all_unittests",
+ "//ios/chrome/app:tests_fake_hook",
+ 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, use fake hooks and pack resources.
+ ":run_all_unittests",
+ "//ios/chrome/app:tests_fake_hook",
+ 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/omaha: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/suggestions: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",
+ "//ios/web/public/image_fetcher:unit_tests",
+ ]
+
+ assert_no_deps = ios_assert_no_deps
+}
diff --git a/chromium/ios/chrome/test/app/BUILD.gn b/chromium/ios/chrome/test/app/BUILD.gn
new file mode 100644
index 00000000000..c3a011be39f
--- /dev/null
+++ b/chromium/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",
+ "//components/bookmarks/browser",
+ "//components/browser_sync",
+ "//components/browsing_data/core",
+ "//components/content_settings/core/browser",
+ "//components/content_settings/core/common",
+ "//components/history/core/browser",
+ "//components/keyed_service/core",
+ "//components/metrics",
+ "//components/prefs",
+ "//components/signin/core/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/browser_state:browser_state_impl",
+ "//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: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/chromium/ios/chrome/test/base/BUILD.gn b/chromium/ios/chrome/test/base/BUILD.gn
new file mode 100644
index 00000000000..811cbbb4a30
--- /dev/null
+++ b/chromium/ios/chrome/test/base/BUILD.gn
@@ -0,0 +1,40 @@
+# 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("base") {
+ testonly = true
+ sources = [
+ "scoped_block_swizzler.h",
+ "scoped_block_swizzler.mm",
+ ]
+ deps = [
+ "//base",
+ ]
+}
+
+source_set("unit_tests") {
+ testonly = true
+ sources = [
+ "scoped_block_swizzler_unittest.mm",
+ ]
+ deps = [
+ ":base",
+ "//base",
+ "//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/chromium/ios/chrome/test/earl_grey/BUILD.gn b/chromium/ios/chrome/test/earl_grey/BUILD.gn
new file mode 100644
index 00000000000..6985625fd38
--- /dev/null
+++ b/chromium/ios/chrome/test/earl_grey/BUILD.gn
@@ -0,0 +1,203 @@
+# 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/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",
+ "//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/chromium/ios/chrome/test/earl_grey/chrome_ios_eg_test.gni b/chromium/ios/chrome/test/earl_grey/chrome_ios_eg_test.gni
new file mode 100644
index 00000000000..9e55660fb99
--- /dev/null
+++ b/chromium/ios/chrome/test/earl_grey/chrome_ios_eg_test.gni
@@ -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.
+
+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 (ios_chrome_entitlements_additions != []) {
+ plist_templates += ios_chrome_entitlements_additions
+ }
+ }
+ }
+
+ 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/chromium/ios/chrome/test/ocmock/BUILD.gn b/chromium/ios/chrome/test/ocmock/BUILD.gn
new file mode 100644
index 00000000000..1b830410d59
--- /dev/null
+++ b/chromium/ios/chrome/test/ocmock/BUILD.gn
@@ -0,0 +1,19 @@
+# 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",
+ "scoped_mock_object.h",
+ "scoped_verifying_mock_object.h",
+ ]
+ deps = [
+ "//base",
+ "//breakpad:client",
+ "//testing/gtest",
+ "//third_party/ocmock",
+ ]
+}
diff --git a/chromium/ios/chrome/today_extension/BUILD.gn b/chromium/ios/chrome/today_extension/BUILD.gn
index 88d5c68f1bf..f201cbf9720 100644
--- a/chromium/ios/chrome/today_extension/BUILD.gn
+++ b/chromium/ios/chrome/today_extension/BUILD.gn
@@ -2,14 +2,13 @@
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
+import("//build/config/ios/rules.gni")
import("//build/config/locales.gni")
+import("//build/config/mac/base_rules.gni")
+import("//build/mac/tweak_info_plist.gni")
+import("//ios/build/chrome_build.gni")
import("//ios/chrome/extension_repack.gni")
-
-group("resources") {
- deps = [
- "//ios/chrome/today_extension/strings",
- ]
-}
+import("//ios/public/provider/chrome/browser/build_config.gni")
extension_repack_all_locales("packed_resources") {
extension = "today_extension"
@@ -17,3 +16,104 @@ extension_repack_all_locales("packed_resources") {
output_locales = ios_packed_locales_as_mac_outputs
copy_data_to_bundle = true
}
+
+tweak_info_plist("tweak_info_plist") {
+ info_plist = "Info.plist"
+}
+
+compile_plist("entitlements") {
+ format = "xml1"
+ substitutions = [ "IOS_BUNDLE_ID_PREFIX=$ios_app_bundle_id_prefix" ]
+ output_name = "$target_gen_dir/today_extension.appex.entitlements"
+ plist_templates =
+ [ "entitlements/external/today_extension.appex.entitlements" ] +
+ ios_chrome_entitlements_additions
+}
+
+ios_appex_bundle("today_extension") {
+ sources = [
+ "footer_label.h",
+ "footer_label.mm",
+ "interactive_label.h",
+ "interactive_label.mm",
+ "lock_screen_state.h",
+ "lock_screen_state.mm",
+ "notification_center_button.h",
+ "notification_center_button.mm",
+ "notification_center_url_button.h",
+ "notification_center_url_button.mm",
+ "physical_web_optin_footer.h",
+ "physical_web_optin_footer.mm",
+ "today_metrics_logger.h",
+ "today_metrics_logger.mm",
+ "today_view_controller.h",
+ "today_view_controller.mm",
+ "transparent_button.h",
+ "transparent_button.mm",
+ "ui_util.h",
+ "ui_util.mm",
+ "url_table_cell.h",
+ "url_table_cell.mm",
+ ]
+
+ deps = [
+ ":packed_resources",
+ ":resources",
+ "//base",
+ "//base:i18n",
+ "//components/metrics",
+ "//components/metrics:net",
+ "//components/open_from_clipboard",
+ "//components/prefs",
+ "//components/variations",
+ "//components/version_info",
+ "//ios/chrome/common",
+ "//ios/chrome/common/app_group",
+ "//ios/chrome/common/app_group:client",
+ "//ios/chrome/common/physical_web",
+ "//ios/chrome/today_extension/strings",
+ "//ios/third_party/material_components_ios",
+ "//net",
+ "//ui/base",
+ "//url",
+ ]
+ bundle_deps_filter = [ "//third_party/icu:icudata" ]
+
+ libs = [
+ "CoreGraphics.framework",
+ "QuartzCore.framework",
+ "Foundation.framework",
+ "NotificationCenter.framework",
+ "UIKit.framework",
+ "MobileCoreServices.framework",
+ ]
+
+ extra_substitutions = [
+ "CHROME_CHANNEL_SCHEME=$url_channel_scheme",
+ "TODAY_EXTENSION_BUNDLE_ID=$chromium_bundle_id.TodayExtension",
+ ]
+
+ entitlements_target = ":entitlements"
+ info_plist_target = ":tweak_info_plist"
+}
+
+bundle_data("resources") {
+ visibility = [ ":*" ]
+ sources = [
+ "resources/todayview_clipboard.png",
+ "resources/todayview_clipboard@2x.png",
+ "resources/todayview_clipboard@3x.png",
+ "resources/todayview_new_tab.png",
+ "resources/todayview_new_tab@2x.png",
+ "resources/todayview_new_tab@3x.png",
+ "resources/todayview_physical_web.png",
+ "resources/todayview_physical_web@2x.png",
+ "resources/todayview_physical_web@3x.png",
+ "resources/todayview_voice_search.png",
+ "resources/todayview_voice_search@2x.png",
+ "resources/todayview_voice_search@3x.png",
+ ]
+ outputs = [
+ "{{bundle_resources_dir}}/{{source_file_part}}",
+ ]
+}
diff --git a/chromium/ios/chrome/widget_extension/BUILD.gn b/chromium/ios/chrome/widget_extension/BUILD.gn
new file mode 100644
index 00000000000..1316fa98c4f
--- /dev/null
+++ b/chromium/ios/chrome/widget_extension/BUILD.gn
@@ -0,0 +1,50 @@
+# Copyright 2017 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/config/ios/rules.gni")
+import("//build/mac/tweak_info_plist.gni")
+import("//ios/build/chrome_build.gni")
+
+tweak_info_plist("tweak_info_plist") {
+ info_plist = "Info.plist"
+}
+
+compile_plist("entitlements") {
+ format = "xml1"
+ substitutions = [ "IOS_BUNDLE_ID_PREFIX=$ios_app_bundle_id_prefix" ]
+ output_name = "$target_gen_dir/today_extension.appex.entitlements"
+ plist_templates =
+ [ "entitlements/external/widget_extension.appex.entitlements" ] +
+ ios_chrome_entitlements_additions
+}
+
+ios_appex_bundle("widget_extension") {
+ sources = [
+ "widget_view.h",
+ "widget_view.mm",
+ "widget_view_controller.h",
+ "widget_view_controller.mm",
+ ]
+
+ libs = [
+ "Foundation.framework",
+ "NotificationCenter.framework",
+ "UIKit.framework",
+ ]
+
+ extra_substitutions = [
+ "CHROME_CHANNEL_SCHEME=$url_channel_scheme",
+ "CHROMIUM_SHORT_NAME=$chromium_short_name",
+
+ # The widget_extension and today_extension are using the same provisioning
+ # profile during development work.
+ # TODO(crbug.com/682238) : Request provisioning profile if widget is kept.
+ "WIDGET_EXTENSION_BUNDLE_ID=$chromium_bundle_id.TodayExtension",
+ ]
+
+ configs += [ "//build/config/compiler:enable_arc" ]
+
+ entitlements_target = ":entitlements"
+ info_plist_target = ":tweak_info_plist"
+}
diff --git a/chromium/ios/clean/chrome/app/BUILD.gn b/chromium/ios/clean/chrome/app/BUILD.gn
new file mode 100644
index 00000000000..35525d826e7
--- /dev/null
+++ b/chromium/ios/clean/chrome/app/BUILD.gn
@@ -0,0 +1,106 @@
+# Copyright 2015 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/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")
+
+tweak_info_plist("info_plist") {
+ info_plists = [
+ "//ios/chrome/app/resources/Info.plist",
+ "//ios/chrome/app/resources/ChromeAddition+Info.plist",
+ ]
+ if (ios_chrome_info_plist_additions != []) {
+ info_plists += ios_chrome_info_plist_additions
+ }
+ if (ios_encryption_export_compliance_code != "") {
+ info_plists +=
+ [ "//ios/chrome/app/resources/EncryptionExportCompliance+Info.plist" ]
+ }
+ args = [
+ "--breakpad=$breakpad_enabled_as_int",
+ "--branding=$chromium_short_name",
+ ]
+}
+
+ios_app_bundle("chrome_clean_skeleton") {
+ output_name = "CSChromium"
+
+ entitlements_path = "//ios/chrome/app/resources/Chrome.entitlements"
+ info_plist_target = ":info_plist"
+
+ deps = [
+ ":main",
+ "//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") {
+ sources = [
+ "main.mm",
+ ]
+
+ deps = [
+ ":app",
+ "//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") {
+ sources = [
+ "application_phase.h",
+ "application_state.h",
+ "application_state.mm",
+ "application_step.h",
+ ]
+
+ configs += [ "//build/config/compiler:enable_arc" ]
+
+ deps = [
+ "//base",
+ "//ios/clean/chrome/browser",
+ ]
+}
+
+source_set("app") {
+ sources = [
+ "app_delegate.h",
+ "app_delegate.mm",
+ ]
+
+ configs += [ "//build/config/compiler:enable_arc" ]
+
+ deps = [
+ ":application_state",
+ "//ios/clean/chrome/app/steps",
+ ]
+}
diff --git a/chromium/ios/clean/chrome/app/steps/BUILD.gn b/chromium/ios/clean/chrome/app/steps/BUILD.gn
new file mode 100644
index 00000000000..0289f2673a3
--- /dev/null
+++ b/chromium/ios/clean/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/startup",
+ "//ios/chrome/browser",
+ "//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/web:web_internal",
+ "//ios/clean/chrome/app:application_state",
+ "//ios/clean/chrome/browser",
+ "//ios/clean/chrome/browser/ui/tab_grid",
+ "//ios/net",
+ "//ios/web:web_arc",
+ ]
+}
diff --git a/chromium/ios/clean/chrome/browser/BUILD.gn b/chromium/ios/clean/chrome/browser/BUILD.gn
new file mode 100644
index 00000000000..579d6d00dd7
--- /dev/null
+++ b/chromium/ios/clean/chrome/browser/BUILD.gn
@@ -0,0 +1,40 @@
+# Copyright 2015 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("browser") {
+ sources = [
+ "browser_coordinator+internal.h",
+ "browser_coordinator.h",
+ "browser_coordinator.mm",
+ "url_opening.h",
+ ]
+
+ configs += [ "//build/config/compiler:enable_arc" ]
+
+ deps = [
+ "//base",
+ "//ios/chrome/app:tests_fake_hook",
+ "//ios/chrome/browser",
+ "//ios/chrome/browser/browser_state",
+ "//ios/chrome/browser/tabs:tabs_internal",
+ "//ios/shared/chrome/browser/coordinator_context",
+ ]
+}
+
+source_set("unit_tests") {
+ testonly = true
+ sources = [
+ "browser_coordinator_unittest.mm",
+ ]
+
+ configs += [ "//build/config/compiler:enable_arc" ]
+
+ deps = [
+ ":browser",
+ "//base",
+ "//base/test:test_support",
+ "//ios/chrome/test/base",
+ "//testing/gtest",
+ ]
+}
diff --git a/chromium/ios/clean/chrome/browser/ui/BUILD.gn b/chromium/ios/clean/chrome/browser/ui/BUILD.gn
new file mode 100644
index 00000000000..0b82fd2070b
--- /dev/null
+++ b/chromium/ios/clean/chrome/browser/ui/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.
+
+source_set("ui") {
+ sources = [
+ "ui_types.h",
+ ]
+
+ configs += [ "//build/config/compiler:enable_arc" ]
+}
diff --git a/chromium/ios/clean/chrome/browser/ui/actions/BUILD.gn b/chromium/ios/clean/chrome/browser/ui/actions/BUILD.gn
new file mode 100644
index 00000000000..3c8f0a16fe7
--- /dev/null
+++ b/chromium/ios/clean/chrome/browser/ui/actions/BUILD.gn
@@ -0,0 +1,15 @@
+# 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 = [
+ "navigation_actions.h",
+ "settings_actions.h",
+ "tab_grid_actions.h",
+ "tab_strip_actions.h",
+ "tools_menu_actions.h",
+ ]
+
+ configs += [ "//build/config/compiler:enable_arc" ]
+}
diff --git a/chromium/ios/clean/chrome/browser/ui/animators/BUILD.gn b/chromium/ios/clean/chrome/browser/ui/animators/BUILD.gn
new file mode 100644
index 00000000000..32c610ad3c6
--- /dev/null
+++ b/chromium/ios/clean/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/chromium/ios/clean/chrome/browser/ui/commands/BUILD.gn b/chromium/ios/clean/chrome/browser/ui/commands/BUILD.gn
new file mode 100644
index 00000000000..8b12cb4a8a7
--- /dev/null
+++ b/chromium/ios/clean/chrome/browser/ui/commands/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("commands") {
+ sources = [
+ "settings_commands.h",
+ "tab_commands.h",
+ "tab_grid_commands.h",
+ "toolbar_commands.h",
+ ]
+
+ configs += [ "//build/config/compiler:enable_arc" ]
+}
diff --git a/chromium/ios/clean/chrome/browser/ui/presenters/BUILD.gn b/chromium/ios/clean/chrome/browser/ui/presenters/BUILD.gn
new file mode 100644
index 00000000000..3a89a3397b8
--- /dev/null
+++ b/chromium/ios/clean/chrome/browser/ui/presenters/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("presenters") {
+ sources = [
+ "menu_presentation_controller.h",
+ "menu_presentation_controller.mm",
+ "menu_presentation_delegate.h",
+ ]
+
+ configs += [ "//build/config/compiler:enable_arc" ]
+
+ deps = [
+ "//ios/clean/chrome/browser/ui/commands",
+ ]
+}
diff --git a/chromium/ios/clean/chrome/browser/ui/settings/BUILD.gn b/chromium/ios/clean/chrome/browser/ui/settings/BUILD.gn
new file mode 100644
index 00000000000..c10b38155f7
--- /dev/null
+++ b/chromium/ios/clean/chrome/browser/ui/settings/BUILD.gn
@@ -0,0 +1,20 @@
+# 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("settings") {
+ sources = [
+ "settings_coordinator.h",
+ "settings_coordinator.mm",
+ ]
+
+ configs += [ "//build/config/compiler:enable_arc" ]
+
+ deps = [
+ "//ios/chrome/browser/ui/settings",
+ "//ios/clean/chrome/browser",
+ "//ios/clean/chrome/browser/ui/actions",
+ "//ios/clean/chrome/browser/ui/commands",
+ "//ios/shared/chrome/browser/coordinator_context",
+ ]
+}
diff --git a/chromium/ios/clean/chrome/browser/ui/tab/BUILD.gn b/chromium/ios/clean/chrome/browser/ui/tab/BUILD.gn
new file mode 100644
index 00000000000..b1177b0c370
--- /dev/null
+++ b/chromium/ios/clean/chrome/browser/ui/tab/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("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/clean/chrome/browser",
+ "//ios/clean/chrome/browser/ui",
+ "//ios/clean/chrome/browser/ui/animators",
+ "//ios/clean/chrome/browser/ui/presenters",
+ "//ios/clean/chrome/browser/ui/toolbar",
+ "//ios/clean/chrome/browser/ui/web_contents",
+ "//ios/shared/chrome/browser/coordinator_context",
+ "//ios/web",
+ ]
+}
diff --git a/chromium/ios/clean/chrome/browser/ui/tab_grid/BUILD.gn b/chromium/ios/clean/chrome/browser/ui/tab_grid/BUILD.gn
new file mode 100644
index 00000000000..01b3f2b7116
--- /dev/null
+++ b/chromium/ios/clean/chrome/browser/ui/tab_grid/BUILD.gn
@@ -0,0 +1,44 @@
+# 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_state",
+ "//ios/clean/chrome/browser",
+ "//ios/clean/chrome/browser/ui/commands",
+ "//ios/clean/chrome/browser/ui/settings",
+ "//ios/clean/chrome/browser/ui/tab_strip",
+ "//ios/shared/chrome/browser/coordinator_context",
+ "//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/clean/chrome/browser/ui/actions",
+ "//ios/clean/chrome/browser/ui/animators",
+ "//ios/clean/chrome/browser/ui/commands",
+ ]
+}
diff --git a/chromium/ios/clean/chrome/browser/ui/tab_strip/BUILD.gn b/chromium/ios/clean/chrome/browser/ui/tab_strip/BUILD.gn
new file mode 100644
index 00000000000..69254568fdc
--- /dev/null
+++ b/chromium/ios/clean/chrome/browser/ui/tab_strip/BUILD.gn
@@ -0,0 +1,33 @@
+# 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_strip") {
+ sources = [
+ "tab_strip_container_coordinator.h",
+ "tab_strip_container_coordinator.mm",
+ ]
+ deps = [
+ ":tab_strip_ui",
+ "//base",
+ "//ios/clean/chrome/browser",
+ "//ios/clean/chrome/browser/ui/actions",
+ "//ios/clean/chrome/browser/ui/animators",
+ "//ios/clean/chrome/browser/ui/tab",
+ ]
+ libs = [ "UIKit.framework" ]
+ configs += [ "//build/config/compiler:enable_arc" ]
+}
+
+source_set("tab_strip_ui") {
+ sources = [
+ "tab_strip_container_view_controller.h",
+ "tab_strip_container_view_controller.mm",
+ ]
+ deps = [
+ "//ios/clean/chrome/browser/ui",
+ "//ios/clean/chrome/browser/ui/actions",
+ ]
+ libs = [ "UIKit.framework" ]
+ configs += [ "//build/config/compiler:enable_arc" ]
+}
diff --git a/chromium/ios/clean/chrome/browser/ui/toolbar/BUILD.gn b/chromium/ios/clean/chrome/browser/ui/toolbar/BUILD.gn
new file mode 100644
index 00000000000..dd46a48bcb1
--- /dev/null
+++ b/chromium/ios/clean/chrome/browser/ui/toolbar/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("toolbar") {
+ 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/app/theme",
+ "//ios/chrome/browser/ui",
+ "//ios/clean/chrome/browser",
+ "//ios/clean/chrome/browser/ui/actions",
+ "//ios/clean/chrome/browser/ui/animators",
+ "//ios/clean/chrome/browser/ui/commands",
+ "//ios/clean/chrome/browser/ui/tools",
+ "//ios/shared/chrome/browser/coordinator_context",
+ "//ios/web",
+ ]
+}
diff --git a/chromium/ios/clean/chrome/browser/ui/tools/BUILD.gn b/chromium/ios/clean/chrome/browser/ui/tools/BUILD.gn
new file mode 100644
index 00000000000..cb3e9b0b4ec
--- /dev/null
+++ b/chromium/ios/clean/chrome/browser/ui/tools/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("tools") {
+ sources = [
+ "tools_coordinator.h",
+ "tools_coordinator.mm",
+ ]
+
+ configs += [ "//build/config/compiler:enable_arc" ]
+
+ deps = [
+ ":tools_ui",
+ "//base",
+ "//ios/clean/chrome/browser",
+ "//ios/clean/chrome/browser/ui/actions",
+ "//ios/clean/chrome/browser/ui/animators",
+ "//ios/clean/chrome/browser/ui/presenters",
+ "//ios/shared/chrome/browser/coordinator_context",
+ ]
+}
+
+source_set("tools_ui") {
+ sources = [
+ "menu_view_controller.h",
+ "menu_view_controller.mm",
+ ]
+
+ configs += [ "//build/config/compiler:enable_arc" ]
+
+ deps = [
+ "//base",
+ "//ios/clean/chrome/browser/ui/actions",
+ ]
+}
diff --git a/chromium/ios/clean/chrome/browser/ui/web_contents/BUILD.gn b/chromium/ios/clean/chrome/browser/ui/web_contents/BUILD.gn
new file mode 100644
index 00000000000..df8e8c68e1f
--- /dev/null
+++ b/chromium/ios/clean/chrome/browser/ui/web_contents/BUILD.gn
@@ -0,0 +1,23 @@
+# 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/clean/chrome/browser",
+ "//ios/clean/chrome/browser/web",
+ "//ios/shared/chrome/browser/coordinator_context",
+ "//ios/web",
+ "//ui/base",
+ "//url",
+ ]
+}
diff --git a/chromium/ios/clean/chrome/browser/web/BUILD.gn b/chromium/ios/clean/chrome/browser/web/BUILD.gn
new file mode 100644
index 00000000000..e4f9f2cef5e
--- /dev/null
+++ b/chromium/ios/clean/chrome/browser/web/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("web") {
+ sources = [
+ "web_mediator+internal.h",
+ "web_mediator.h",
+ "web_mediator.mm",
+ ]
+
+ configs += [ "//build/config/compiler:enable_arc" ]
+}
diff --git a/chromium/ios/clean/chrome/test/BUILD.gn b/chromium/ios/clean/chrome/test/BUILD.gn
new file mode 100644
index 00000000000..f4231655f00
--- /dev/null
+++ b/chromium/ios/clean/chrome/test/BUILD.gn
@@ -0,0 +1,19 @@
+# Copyright 2017 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("//testing/test.gni")
+
+group("all_tests") {
+ testonly = true
+ deps = [
+ ":ios_clean_chrome_unittests",
+ ]
+}
+
+test("ios_clean_chrome_unittests") {
+ deps = [
+ "//ios/chrome/test:run_all_unittests",
+ "//ios/clean/chrome/browser:unit_tests",
+ ]
+}
diff --git a/chromium/ios/crnet/BUILD.gn b/chromium/ios/crnet/BUILD.gn
index 7397ba958ca..2030e8f0e32 100644
--- a/chromium/ios/crnet/BUILD.gn
+++ b/chromium/ios/crnet/BUILD.gn
@@ -14,10 +14,10 @@ assert(!is_component_build, "CrNet requires static library build.")
source_set("crnet_sources") {
deps = [
- "//base:base",
- "//components/metrics:metrics",
- "//components/metrics/proto:proto",
- "//components/prefs:prefs",
+ "//base",
+ "//components/metrics",
+ "//components/metrics/proto",
+ "//components/prefs",
"//ios/net",
"//ios/web:user_agent",
"//net",
@@ -117,7 +117,7 @@ ios_framework_bundle("crnet_framework") {
":crnet_framework_resources",
":crnet_sources",
"//base",
- "//net:net",
+ "//net",
]
libs = [ "UIKit.Framework" ]
diff --git a/chromium/ios/net/BUILD.gn b/chromium/ios/net/BUILD.gn
index be401baa11e..90c62253e8c 100644
--- a/chromium/ios/net/BUILD.gn
+++ b/chromium/ios/net/BUILD.gn
@@ -6,6 +6,13 @@ import("//ios/build/config.gni")
import("//testing/test.gni")
import("//url/features.gni")
+group("all_tests") {
+ testonly = true
+ deps = [
+ ":ios_net_unittests",
+ ]
+}
+
source_set("net") {
deps = [
"//base",
@@ -16,13 +23,7 @@ source_set("net") {
configs += [ "//build/config/compiler:enable_arc" ]
sources = [
- "clients/crn_forwarding_network_client.h",
- "clients/crn_forwarding_network_client.mm",
- "clients/crn_forwarding_network_client_factory.h",
- "clients/crn_forwarding_network_client_factory.mm",
"clients/crn_network_client_protocol.h",
- "clients/crn_simple_network_client_factory.h",
- "clients/crn_simple_network_client_factory.mm",
"cookies/cookie_cache.cc",
"cookies/cookie_cache.h",
"cookies/cookie_creation_time_manager.h",
@@ -74,7 +75,6 @@ test("ios_net_unittests") {
]
sources = [
- "clients/crn_forwarding_network_client_factory_unittest.mm",
"cookies/cookie_cache_unittest.cc",
"cookies/cookie_creation_time_manager_unittest.mm",
"cookies/cookie_store_ios_unittest.mm",
diff --git a/chromium/ios/public/provider/chrome/browser/BUILD.gn b/chromium/ios/public/provider/chrome/browser/BUILD.gn
index 0243745a335..d28965c507a 100644
--- a/chromium/ios/public/provider/chrome/browser/BUILD.gn
+++ b/chromium/ios/public/provider/chrome/browser/BUILD.gn
@@ -9,116 +9,38 @@ source_set("browser") {
sources = [
"chrome_browser_provider.h",
"chrome_browser_provider.mm",
- "distribution/app_distribution_provider.h",
- "distribution/app_distribution_provider.mm",
"geolocation_updater_provider.h",
"geolocation_updater_provider.mm",
- "native_app_launcher/native_app_metadata.h",
- "native_app_launcher/native_app_types.h",
- "native_app_launcher/native_app_whitelist_manager.h",
- "omaha/omaha_service_provider.h",
- "omaha/omaha_service_provider.mm",
- "sessions/live_tab_context_provider.h",
- "signin/chrome_identity.h",
- "signin/chrome_identity.mm",
- "signin/chrome_identity_browser_opener.h",
- "signin/chrome_identity_interaction_manager.h",
- "signin/chrome_identity_interaction_manager.mm",
- "signin/chrome_identity_service.h",
- "signin/chrome_identity_service.mm",
- "signin/signin_error_provider.h",
- "signin/signin_error_provider.mm",
- "signin/signin_resources_provider.h",
- "signin/signin_resources_provider.mm",
- "ui/app_rating_prompt.h",
- "ui/default_ios_web_view_factory.h",
- "ui/default_ios_web_view_factory.mm",
- "ui/infobar_view_delegate.h",
- "ui/infobar_view_protocol.h",
- "ui/logo_vendor.h",
- "ui/text_field_styling.h",
- "voice/audio_session_controller.h",
- "voice/logo_animation_controller.h",
- "voice/voice_search_bar.h",
- "voice/voice_search_bar_owner.h",
- "voice/voice_search_controller.h",
- "voice/voice_search_controller.mm",
- "voice/voice_search_controller_delegate.h",
- "voice/voice_search_language.h",
- "voice/voice_search_language.mm",
- "voice/voice_search_prefs.cc",
- "voice/voice_search_prefs.h",
- "voice/voice_search_presenter.h",
- "voice/voice_search_provider.h",
- "voice/voice_search_provider.mm",
]
-
- public_deps = [
- ":provider_flags",
- ]
-
deps = [
"//base",
- "//components/autofill/core/browser",
- "//components/favicon_base",
"//components/metrics",
- "//components/sync_sessions",
- "//ios/public/provider/web",
- "//ios/web",
- "//url",
- ]
-
- libs = [
- "CoreGraphics.framework",
- "CoreLocation.framework",
]
-}
-
-buildflag_header("provider_flags") {
- header = "provider_flags.h"
- flags = [ "USE_IOS_INTERNAL_PROVIDER=$use_ios_internal_provider" ]
+ libs = [ "CoreLocation.framework" ]
}
source_set("test_support") {
testonly = true
-
sources = [
- "distribution/test_app_distribution_provider.h",
- "distribution/test_app_distribution_provider.mm",
- "omaha/test_omaha_service_provider.h",
- "omaha/test_omaha_service_provider.mm",
- "sessions/test_live_tab_context_provider.cc",
- "sessions/test_live_tab_context_provider.h",
- "sessions/test_synced_window_delegates_getter.cc",
- "sessions/test_synced_window_delegates_getter.h",
- "signin/fake_chrome_identity.h",
- "signin/fake_chrome_identity.mm",
- "signin/fake_chrome_identity_interaction_manager.h",
- "signin/fake_chrome_identity_interaction_manager.mm",
- "signin/fake_chrome_identity_service.h",
- "signin/fake_chrome_identity_service.mm",
- "signin/test_signin_resources_provider.h",
- "signin/test_signin_resources_provider.mm",
"test_chrome_browser_provider.h",
"test_chrome_browser_provider.mm",
"test_chrome_provider_initializer.h",
"test_chrome_provider_initializer.mm",
- "ui/test_infobar_view.h",
- "ui/test_infobar_view.mm",
- "ui/test_styled_text_field.h",
- "ui/test_styled_text_field.mm",
- "voice/test_voice_search_provider.h",
- "voice/test_voice_search_provider.mm",
]
-
deps = [
":browser",
"//base",
- "//components/signin/ios/browser:test_support",
- "//components/sync_sessions",
+ "//ios/public/provider/chrome/browser/distribution:test_support",
+ "//ios/public/provider/chrome/browser/images:test_support",
+ "//ios/public/provider/chrome/browser/native_app_launcher:test_support",
+ "//ios/public/provider/chrome/browser/omaha:test_support",
+ "//ios/public/provider/chrome/browser/signin:test_support",
+ "//ios/public/provider/chrome/browser/spotlight:test_support",
+ "//ios/public/provider/chrome/browser/ui",
+ "//ios/public/provider/chrome/browser/ui:test_support",
+ "//ios/public/provider/chrome/browser/user_feedback:test_support",
+ "//ios/public/provider/chrome/browser/voice",
+ "//ios/public/provider/chrome/browser/voice:test_support",
"//testing/gtest",
]
- public_deps = [
- "//testing/gmock",
- ]
}
diff --git a/chromium/ios/public/provider/chrome/browser/build_config.gni b/chromium/ios/public/provider/chrome/browser/build_config.gni
index 64c1528db5c..aaf2ee99a28 100644
--- a/chromium/ios/public/provider/chrome/browser/build_config.gni
+++ b/chromium/ios/public/provider/chrome/browser/build_config.gni
@@ -2,10 +2,23 @@
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
-import("//build/config/chrome_build.gni")
-
declare_args() {
- # Control the provider API implementation used by Chromium on iOS. Requires
- # access to the private Google-internal Chrome on iOS repository if true.
- use_ios_internal_provider = is_chrome_branded
+ # Label of the target providing application icons. This target must be a
+ # bundle_data target that copy Icon-*.png files in the application bundle.
+ ios_application_icons_target = "//ios/chrome/app/resources:chromium_icons"
+
+ # Label of the target providing image assets for the launchscreen. This
+ # target must be an asset catalog that contains at least two imagesets, one
+ # named "launchscreen_app_logo" and one named "launchscreen_brand_name".
+ ios_launchscreen_assets_target =
+ "//ios/chrome/app/resources:launchscreen_assets"
+
+ # Label of the target providing packed resources (localizable strings,
+ # scalable and unscalable resources). This target must copy the packed
+ # resources to the application bundle when depended on.
+ ios_packed_resources_target = "//ios/chrome/app/resources:packed_resources"
+
+ # 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"
}
diff --git a/chromium/ios/public/provider/chrome/browser/distribution/BUILD.gn b/chromium/ios/public/provider/chrome/browser/distribution/BUILD.gn
new file mode 100644
index 00000000000..f75858434b3
--- /dev/null
+++ b/chromium/ios/public/provider/chrome/browser/distribution/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("distribution") {
+ sources = [
+ "app_distribution_provider.h",
+ "app_distribution_provider.mm",
+ ]
+ deps = [
+ "//base",
+ ]
+}
+
+source_set("test_support") {
+ testonly = true
+ sources = [
+ "test_app_distribution_provider.h",
+ "test_app_distribution_provider.mm",
+ ]
+ deps = [
+ ":distribution",
+ "//base",
+ ]
+}
diff --git a/chromium/ios/public/provider/chrome/browser/images/BUILD.gn b/chromium/ios/public/provider/chrome/browser/images/BUILD.gn
new file mode 100644
index 00000000000..3d96d7ff333
--- /dev/null
+++ b/chromium/ios/public/provider/chrome/browser/images/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("images") {
+ sources = [
+ "branded_image_provider.h",
+ "branded_image_provider.mm",
+ "whats_new_icon.h",
+ ]
+ deps = [
+ "//base",
+ ]
+}
+
+source_set("test_support") {
+ testonly = true
+ sources = [
+ "test_branded_image_provider.h",
+ "test_branded_image_provider.mm",
+ ]
+ deps = [
+ ":images",
+ ]
+}
diff --git a/chromium/ios/public/provider/chrome/browser/native_app_launcher/BUILD.gn b/chromium/ios/public/provider/chrome/browser/native_app_launcher/BUILD.gn
new file mode 100644
index 00000000000..b647bb388d1
--- /dev/null
+++ b/chromium/ios/public/provider/chrome/browser/native_app_launcher/BUILD.gn
@@ -0,0 +1,29 @@
+# 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("native_app_launcher") {
+ sources = [
+ "native_app_metadata.h",
+ "native_app_types.h",
+ "native_app_whitelist_manager.h",
+ ]
+ configs += [ "//build/config/compiler:enable_arc" ]
+}
+
+source_set("test_support") {
+ testonly = true
+ sources = [
+ "fake_native_app_metadata.h",
+ "fake_native_app_metadata.mm",
+ "fake_native_app_whitelist_manager.h",
+ "fake_native_app_whitelist_manager.mm",
+ ]
+ deps = [
+ ":native_app_launcher",
+ "//base",
+ "//ios/public/provider/chrome/browser",
+ "//url",
+ ]
+ configs += [ "//build/config/compiler:enable_arc" ]
+}
diff --git a/chromium/ios/public/provider/chrome/browser/omaha/BUILD.gn b/chromium/ios/public/provider/chrome/browser/omaha/BUILD.gn
new file mode 100644
index 00000000000..06f5238af01
--- /dev/null
+++ b/chromium/ios/public/provider/chrome/browser/omaha/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("omaha") {
+ sources = [
+ "omaha_service_provider.h",
+ "omaha_service_provider.mm",
+ "omaha_xml_writer.h",
+ ]
+ deps = [
+ "//base",
+ "//url",
+ ]
+}
+
+source_set("test_support") {
+ testonly = true
+ sources = [
+ "test_omaha_service_provider.h",
+ "test_omaha_service_provider.mm",
+ ]
+ deps = [
+ ":omaha",
+ ]
+}
diff --git a/chromium/ios/public/provider/chrome/browser/signin/BUILD.gn b/chromium/ios/public/provider/chrome/browser/signin/BUILD.gn
new file mode 100644
index 00000000000..fd8141a2494
--- /dev/null
+++ b/chromium/ios/public/provider/chrome/browser/signin/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("signin") {
+ sources = [
+ "chrome_identity.h",
+ "chrome_identity.mm",
+ "chrome_identity_browser_opener.h",
+ "chrome_identity_interaction_manager.h",
+ "chrome_identity_interaction_manager.mm",
+ "chrome_identity_service.h",
+ "chrome_identity_service.mm",
+ "signin_error_provider.h",
+ "signin_error_provider.mm",
+ "signin_resources_provider.h",
+ "signin_resources_provider.mm",
+ ]
+ deps = [
+ "//base",
+ ]
+}
+
+source_set("test_support") {
+ testonly = true
+ sources = [
+ "fake_chrome_identity.h",
+ "fake_chrome_identity.mm",
+ "fake_chrome_identity_interaction_manager.h",
+ "fake_chrome_identity_interaction_manager.mm",
+ "fake_chrome_identity_service.h",
+ "fake_chrome_identity_service.mm",
+ "test_signin_resources_provider.h",
+ "test_signin_resources_provider.mm",
+ ]
+ deps = [
+ ":signin",
+ "//base",
+ "//google_apis",
+ "//ios/public/provider/chrome/browser",
+ ]
+ public_deps = [
+ "//testing/gmock",
+ ]
+}
diff --git a/chromium/ios/public/provider/chrome/browser/spotlight/BUILD.gn b/chromium/ios/public/provider/chrome/browser/spotlight/BUILD.gn
new file mode 100644
index 00000000000..816bf722acf
--- /dev/null
+++ b/chromium/ios/public/provider/chrome/browser/spotlight/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("spotlight") {
+ sources = [
+ "spotlight_provider.h",
+ "spotlight_provider.mm",
+ ]
+ deps = [
+ "//base",
+ ]
+ libs = [ "Foundation.framework" ]
+}
+
+source_set("test_support") {
+ testonly = true
+ sources = [
+ "test_spotlight_provider.h",
+ "test_spotlight_provider.mm",
+ ]
+ deps = [
+ ":spotlight",
+ ]
+}
diff --git a/chromium/ios/public/provider/chrome/browser/ui/BUILD.gn b/chromium/ios/public/provider/chrome/browser/ui/BUILD.gn
new file mode 100644
index 00000000000..56d77e54877
--- /dev/null
+++ b/chromium/ios/public/provider/chrome/browser/ui/BUILD.gn
@@ -0,0 +1,29 @@
+# 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("ui") {
+ sources = [
+ "app_rating_prompt.h",
+ "default_ios_web_view_factory.h",
+ "default_ios_web_view_factory.mm",
+ "logo_vendor.h",
+ "text_field_styling.h",
+ ]
+ deps = [
+ "//base",
+ "//ios/public/provider/chrome/browser/voice",
+ ]
+ libs = [ "CoreGraphics.framework" ]
+}
+
+source_set("test_support") {
+ testonly = true
+ sources = [
+ "test_styled_text_field.h",
+ "test_styled_text_field.mm",
+ ]
+ deps = [
+ ":ui",
+ ]
+}
diff --git a/chromium/ios/public/provider/chrome/browser/user_feedback/BUILD.gn b/chromium/ios/public/provider/chrome/browser/user_feedback/BUILD.gn
new file mode 100644
index 00000000000..efd22991a8f
--- /dev/null
+++ b/chromium/ios/public/provider/chrome/browser/user_feedback/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("user_feedback") {
+ sources = [
+ "user_feedback_provider.h",
+ "user_feedback_provider.mm",
+ ]
+ deps = [
+ "//base",
+ ]
+}
+
+source_set("test_support") {
+ testonly = true
+ sources = [
+ "test_user_feedback_provider.h",
+ "test_user_feedback_provider.mm",
+ ]
+ deps = [
+ ":user_feedback",
+ "//base",
+ ]
+}
diff --git a/chromium/ios/public/provider/chrome/browser/voice/BUILD.gn b/chromium/ios/public/provider/chrome/browser/voice/BUILD.gn
index 4f160a7a3b1..02e838ac1b7 100644
--- a/chromium/ios/public/provider/chrome/browser/voice/BUILD.gn
+++ b/chromium/ios/public/provider/chrome/browser/voice/BUILD.gn
@@ -2,13 +2,38 @@
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
+source_set("voice") {
+ sources = [
+ "audio_session_controller.h",
+ "logo_animation_controller.h",
+ "voice_search_bar.h",
+ "voice_search_bar_owner.h",
+ "voice_search_controller.h",
+ "voice_search_controller.mm",
+ "voice_search_controller_delegate.h",
+ "voice_search_language.h",
+ "voice_search_language.mm",
+ "voice_search_prefs.cc",
+ "voice_search_prefs.h",
+ "voice_search_presenter.h",
+ "voice_search_provider.h",
+ "voice_search_provider.mm",
+ ]
+ deps = [
+ "//base",
+ ]
+}
+
source_set("test_support") {
sources = [
"test_audio_session_controller.cc",
"test_audio_session_controller.h",
+ "test_voice_search_provider.h",
+ "test_voice_search_provider.mm",
]
deps = [
+ ":voice",
"//base",
"//ios/public/provider/chrome/browser",
]
diff --git a/chromium/ios/public/provider/web/BUILD.gn b/chromium/ios/public/provider/web/BUILD.gn
deleted file mode 100644
index d70aa343eea..00000000000
--- a/chromium/ios/public/provider/web/BUILD.gn
+++ /dev/null
@@ -1,18 +0,0 @@
-# Copyright 2015 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") {
- sources = [
- "web_controller_provider.h",
- "web_controller_provider.mm",
- ]
-
- deps = [
- "//base",
- "//ios/web",
- "//url",
- ]
-
- allow_circular_includes_from = [ "//ios/web" ]
-}
diff --git a/chromium/ios/shared/chrome/browser/coordinator_context/BUILD.gn b/chromium/ios/shared/chrome/browser/coordinator_context/BUILD.gn
new file mode 100644
index 00000000000..4f3f5c29929
--- /dev/null
+++ b/chromium/ios/shared/chrome/browser/coordinator_context/BUILD.gn
@@ -0,0 +1,24 @@
+# Copyright 2017 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("coordinator_context") {
+ sources = [
+ "coordinator_context.h",
+ "coordinator_context.mm",
+ ]
+ configs += [ "//build/config/compiler:enable_arc" ]
+ libs = [ "UIKit.framework" ]
+}
+
+source_set("unit_tests") {
+ testonly = true
+ sources = [
+ "coordinator_context_unittest.mm",
+ ]
+ deps = [
+ ":coordinator_context",
+ "//testing/gtest",
+ ]
+ configs += [ "//build/config/compiler:enable_arc" ]
+}
diff --git a/chromium/ios/showcase/BUILD.gn b/chromium/ios/showcase/BUILD.gn
new file mode 100644
index 00000000000..ade3d342e3c
--- /dev/null
+++ b/chromium/ios/showcase/BUILD.gn
@@ -0,0 +1,65 @@
+# 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/config/ios/rules.gni")
+import("//ios/build/chrome_build.gni")
+import("//ios/build/config.gni")
+import("//ios/third_party/earl_grey/ios_eg_test.gni")
+
+ios_app_bundle("showcase") {
+ info_plist = "core/Info.plist"
+ extra_substitutions = [ "IOS_BUNDLE_ID_PREFIX=$ios_app_bundle_id_prefix" ]
+ output_name = "Showcase"
+ deps = [
+ ":features",
+ "//ios/showcase/core:main",
+
+ # All shared libraries must have the sanitizer deps to properly link in
+ # asan mode (this target will be empty in other cases).
+ "//build/config/sanitizers:deps",
+ ]
+ bundle_deps = [ ":launchscreen_storyboard" ]
+ assert_no_deps = ios_assert_no_deps
+}
+
+group("features") {
+ deps = [
+ "//ios/clean/chrome/browser/ui/tools:tools_ui",
+ "//ios/showcase/settings",
+ "//ios/showcase/suggestions",
+ "//ios/showcase/tab_grid",
+ "//ios/showcase/tab_strip",
+ "//ios/showcase/uikit_table_view_cell",
+ ]
+}
+
+group("all_tests") {
+ testonly = true
+ deps = [
+ ":ios_showcase_egtests",
+ ]
+}
+
+ios_eg_test("ios_showcase_egtests") {
+ info_plist = "core/Info.plist"
+ extra_substitutions = [ "IOS_BUNDLE_ID_PREFIX=$ios_app_bundle_id_prefix" ]
+ deps = [
+ ":features",
+ "//ios/showcase/core:main",
+
+ # Add all eg_tests targets below.
+ "//ios/showcase/core:eg_tests",
+ "//ios/showcase/tab_grid:eg_tests",
+
+ # All shared libraries must have the sanitizer deps to properly link in
+ # asan mode (this target will be empty in other cases).
+ "//build/config/sanitizers:deps",
+ ]
+ bundle_deps = [ ":launchscreen_storyboard" ]
+ assert_no_deps = ios_assert_no_deps
+}
+
+bundle_data_ib_file("launchscreen_storyboard") {
+ source = "core/LaunchScreen.storyboard"
+}
diff --git a/chromium/ios/showcase/common/BUILD.gn b/chromium/ios/showcase/common/BUILD.gn
new file mode 100644
index 00000000000..8a5dcd14a17
--- /dev/null
+++ b/chromium/ios/showcase/common/BUILD.gn
@@ -0,0 +1,16 @@
+# 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("common") {
+ sources = [
+ "coordinator.h",
+ "protocol_alerter.h",
+ "protocol_alerter.mm",
+ ]
+ deps = [
+ "//base",
+ ]
+ libs = [ "UIKit.framework" ]
+ configs += [ "//build/config/compiler:enable_arc" ]
+}
diff --git a/chromium/ios/showcase/core/BUILD.gn b/chromium/ios/showcase/core/BUILD.gn
new file mode 100644
index 00000000000..61457380dce
--- /dev/null
+++ b/chromium/ios/showcase/core/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("core") {
+ sources = [
+ "app_delegate.h",
+ "app_delegate.mm",
+ "showcase_model.h",
+ "showcase_model.mm",
+ "showcase_view_controller.h",
+ "showcase_view_controller.mm",
+ ]
+ deps = [
+ "//base",
+ "//ios/showcase/common",
+ "//ios/third_party/material_components_ios",
+ "//ios/third_party/material_roboto_font_loader_ios",
+ ]
+ libs = [ "UIKit.framework" ]
+ configs += [ "//build/config/compiler:enable_arc" ]
+}
+
+source_set("main") {
+ sources = [
+ "main.mm",
+ ]
+ deps = [
+ ":core",
+
+ # Needed to disable the tests hooks.
+ "//ios/chrome/app:tests_fake_hook",
+
+ # Needed for including ios/chrome/browser/ui.
+ "//ios/chrome/browser/tabs:tabs_internal",
+ "//ios/chrome/browser/ui:ui_internal",
+ ]
+ libs = [ "UIKit.framework" ]
+ configs += [ "//build/config/compiler:enable_arc" ]
+}
+
+source_set("eg_tests") {
+ testonly = true
+ sources = [
+ "showcase_egtest.mm",
+ ]
+ deps = [
+ "//ios/showcase/test",
+ "//ios/third_party/earl_grey",
+ ]
+ configs += [ "//build/config/compiler:enable_arc" ]
+}
diff --git a/chromium/ios/showcase/settings/BUILD.gn b/chromium/ios/showcase/settings/BUILD.gn
new file mode 100644
index 00000000000..6810351c11c
--- /dev/null
+++ b/chromium/ios/showcase/settings/BUILD.gn
@@ -0,0 +1,16 @@
+# 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("settings") {
+ sources = [
+ "settings_coordinator.h",
+ "settings_coordinator.mm",
+ ]
+ deps = [
+ "//base",
+ "//ios/showcase/common",
+ ]
+ libs = [ "UIKit.framework" ]
+ configs += [ "//build/config/compiler:enable_arc" ]
+}
diff --git a/chromium/ios/showcase/suggestions/BUILD.gn b/chromium/ios/showcase/suggestions/BUILD.gn
new file mode 100644
index 00000000000..3bf7c7740ab
--- /dev/null
+++ b/chromium/ios/showcase/suggestions/BUILD.gn
@@ -0,0 +1,29 @@
+# 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("suggestions") {
+ sources = [
+ "sc_suggestions_coordinator.h",
+ "sc_suggestions_coordinator.mm",
+ ]
+ deps = [
+ "//base",
+ "//ios/chrome/browser/ui/suggestions",
+ "//ios/showcase/common",
+ ]
+ libs = [ "UIKit.framework" ]
+ configs += [ "//build/config/compiler:enable_arc" ]
+}
+
+source_set("eg_tests") {
+ testonly = true
+ sources = [
+ "sc_suggestions_egtest.mm",
+ ]
+ deps = [
+ "//ios/showcase/test",
+ "//ios/third_party/earl_grey",
+ ]
+ configs += [ "//build/config/compiler:enable_arc" ]
+}
diff --git a/chromium/ios/showcase/tab_grid/BUILD.gn b/chromium/ios/showcase/tab_grid/BUILD.gn
new file mode 100644
index 00000000000..0da6a0b8fca
--- /dev/null
+++ b/chromium/ios/showcase/tab_grid/BUILD.gn
@@ -0,0 +1,30 @@
+# 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 = [
+ "sc_tab_grid_coordinator.h",
+ "sc_tab_grid_coordinator.mm",
+ ]
+ deps = [
+ "//base",
+ "//ios/clean/chrome/browser/ui/commands",
+ "//ios/clean/chrome/browser/ui/tab_grid:tab_grid_ui",
+ "//ios/showcase/common",
+ ]
+ libs = [ "UIKit.framework" ]
+ configs += [ "//build/config/compiler:enable_arc" ]
+}
+
+source_set("eg_tests") {
+ testonly = true
+ sources = [
+ "sc_tab_grid_egtest.mm",
+ ]
+ deps = [
+ "//ios/showcase/test",
+ "//ios/third_party/earl_grey",
+ ]
+ configs += [ "//build/config/compiler:enable_arc" ]
+}
diff --git a/chromium/ios/showcase/tab_strip/BUILD.gn b/chromium/ios/showcase/tab_strip/BUILD.gn
new file mode 100644
index 00000000000..9be2c06d884
--- /dev/null
+++ b/chromium/ios/showcase/tab_strip/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("tab_strip") {
+ sources = [
+ "sc_tab_strip_coordinator.h",
+ "sc_tab_strip_coordinator.mm",
+ ]
+ deps = [
+ "//ios/clean/chrome/browser/ui/actions",
+ "//ios/clean/chrome/browser/ui/tab_strip:tab_strip_ui",
+ "//ios/showcase/common",
+ ]
+ libs = [ "UIKit.framework" ]
+ configs += [ "//build/config/compiler:enable_arc" ]
+}
diff --git a/chromium/ios/showcase/test/BUILD.gn b/chromium/ios/showcase/test/BUILD.gn
new file mode 100644
index 00000000000..a38fe5f884b
--- /dev/null
+++ b/chromium/ios/showcase/test/BUILD.gn
@@ -0,0 +1,19 @@
+# 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") {
+ testonly = true
+ sources = [
+ "showcase_test_case.h",
+ "showcase_test_case.mm",
+ ]
+ deps = [
+ "//base",
+ "//ios/third_party/earl_grey",
+ ]
+ public_deps = [
+ "//build/config/ios:xctest",
+ ]
+ configs += [ "//build/config/compiler:enable_arc" ]
+}
diff --git a/chromium/ios/showcase/uikit_table_view_cell/BUILD.gn b/chromium/ios/showcase/uikit_table_view_cell/BUILD.gn
new file mode 100644
index 00000000000..2db31ddb8eb
--- /dev/null
+++ b/chromium/ios/showcase/uikit_table_view_cell/BUILD.gn
@@ -0,0 +1,12 @@
+# 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("uikit_table_view_cell") {
+ sources = [
+ "uikit_table_view_cell_view_controller.h",
+ "uikit_table_view_cell_view_controller.mm",
+ ]
+ libs = [ "UIKit.framework" ]
+ configs += [ "//build/config/compiler:enable_arc" ]
+}
diff --git a/chromium/ios/test/BUILD.gn b/chromium/ios/test/BUILD.gn
new file mode 100644
index 00000000000..f05c0ecb70f
--- /dev/null
+++ b/chromium/ios/test/BUILD.gn
@@ -0,0 +1,10 @@
+# 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.
+
+# 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.
+group("all_tests") {
+ testonly = true
+}
diff --git a/chromium/ios/testing/BUILD.gn b/chromium/ios/testing/BUILD.gn
index 0d6bc3712bd..8cad15ab09e 100644
--- a/chromium/ios/testing/BUILD.gn
+++ b/chromium/ios/testing/BUILD.gn
@@ -5,7 +5,15 @@
import("//ios/build/config.gni")
import("//testing/test.gni")
+group("all_tests") {
+ testonly = true
+ deps = [
+ ":ocmock_support_unittest",
+ ]
+}
+
source_set("ios_test_support") {
+ configs += [ "//build/config/compiler:enable_arc" ]
testonly = true
deps = [
@@ -19,6 +27,7 @@ source_set("ios_test_support") {
}
source_set("ocmock_support") {
+ configs += [ "//build/config/compiler:enable_arc" ]
testonly = true
deps = [
@@ -52,3 +61,37 @@ test("ocmock_support_unittest") {
assert_no_deps = ios_assert_no_deps
}
+
+bundle_data("http_server_bundle_data") {
+ testonly = true
+
+ sources = [
+ "data/http_server_files/autofill_smoke_test.html",
+ "data/http_server_files/browsing_prevent_default_test_page.html",
+ "data/http_server_files/chromium_logo.png",
+ "data/http_server_files/chromium_logo_page.html",
+ "data/http_server_files/destination.html",
+ "data/http_server_files/fullscreen.html",
+ "data/http_server_files/history.html",
+ "data/http_server_files/history.js",
+ "data/http_server_files/history_go.html",
+ "data/http_server_files/history_go.js",
+ "data/http_server_files/memory_usage.html",
+ "data/http_server_files/multi_field_form.html",
+ "data/http_server_files/pony.html",
+ "data/http_server_files/redirect_refresh.html",
+ "data/http_server_files/request_desktop_test_page.html",
+ "data/http_server_files/single_page_wide.pdf",
+ "data/http_server_files/testpage.pdf",
+ "data/http_server_files/two_pages.pdf",
+ "data/http_server_files/window_close.html",
+ "data/http_server_files/window_location.html",
+ "data/http_server_files/window_location.js",
+ "data/http_server_files/window_open.html",
+ "data/http_server_files/window_proxy.html",
+ ]
+ outputs = [
+ "{{bundle_resources_dir}}/" +
+ "{{source_root_relative_dir}}/{{source_file_part}}",
+ ]
+}
diff --git a/chromium/ios/testing/earl_grey/BUILD.gn b/chromium/ios/testing/earl_grey/BUILD.gn
index 221784c48f0..917583799f8 100644
--- a/chromium/ios/testing/earl_grey/BUILD.gn
+++ b/chromium/ios/testing/earl_grey/BUILD.gn
@@ -8,6 +8,7 @@ config("earl_grey_support_config") {
}
source_set("earl_grey_support") {
+ configs += [ "//build/config/compiler:enable_arc" ]
testonly = true
deps = [
diff --git a/chromium/ios/third_party/material_components_ios/BUILD.gn b/chromium/ios/third_party/material_components_ios/BUILD.gn
new file mode 100644
index 00000000000..fd9cc38ebc0
--- /dev/null
+++ b/chromium/ios/third_party/material_components_ios/BUILD.gn
@@ -0,0 +1,339 @@
+# 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/config/locales.gni")
+
+config("config") {
+ visibility = [ ":material_components_ios" ]
+ include_dirs = [
+ "src/components/AppBar/src",
+ "src/components/ActivityIndicator/src",
+ "src/components/ButtonBar/src",
+ "src/components/Buttons/src",
+ "src/components/CollectionCells/src",
+ "src/components/CollectionLayoutAttributes/src",
+ "src/components/Collections/src",
+ "src/components/Dialogs/src",
+ "src/components/FlexibleHeader/src",
+ "src/components/HeaderStackView/src",
+ "src/components/Ink/src",
+ "src/components/NavigationBar/src",
+ "src/components/OverlayWindow/src",
+ "src/components/Palettes/src",
+ "src/components/ProgressView/src",
+ "src/components/ShadowElevations/src",
+ "src/components/ShadowLayer/src",
+ "src/components/Snackbar/src",
+ "src/components/Typography/src",
+ ]
+
+ cflags_objc = [
+ # Do not consider use of deprecated API as errors when building third-party
+ # libraries.
+ "-Wno-error=deprecated-declarations",
+ ]
+}
+
+_icon_names = [
+ "ic_check",
+ "ic_check_circle",
+ "ic_chevron_right",
+ "ic_info",
+ "ic_radio_button_unchecked",
+ "ic_reorder",
+]
+
+source_set("material_components_ios") {
+ sources = [
+ "src/components/ActivityIndicator/src/MDCActivityIndicator.h",
+ "src/components/ActivityIndicator/src/MDCActivityIndicator.m",
+ "src/components/ActivityIndicator/src/MaterialActivityIndicator.h",
+ "src/components/AnimationTiming/src/CAMediaTimingFunction+MDCAnimationTiming.h",
+ "src/components/AnimationTiming/src/CAMediaTimingFunction+MDCAnimationTiming.m",
+ "src/components/AppBar/src/MDCAppBar.h",
+ "src/components/AppBar/src/MDCAppBar.m",
+ "src/components/AppBar/src/MDCAppBarContainerViewController.h",
+ "src/components/AppBar/src/MDCAppBarContainerViewController.m",
+ "src/components/AppBar/src/MaterialAppBar.h",
+ "src/components/ButtonBar/src/MDCButtonBar.h",
+ "src/components/ButtonBar/src/MDCButtonBar.m",
+ "src/components/ButtonBar/src/MaterialButtonBar.h",
+ "src/components/ButtonBar/src/private/MDCAppBarButtonBarBuilder.h",
+ "src/components/ButtonBar/src/private/MDCAppBarButtonBarBuilder.m",
+ "src/components/Buttons/src/MDCButton.h",
+ "src/components/Buttons/src/MDCButton.m",
+ "src/components/Buttons/src/MDCFlatButton.h",
+ "src/components/Buttons/src/MDCFlatButton.m",
+ "src/components/Buttons/src/MDCFloatingButton.h",
+ "src/components/Buttons/src/MDCFloatingButton.m",
+ "src/components/Buttons/src/MDCRaisedButton.h",
+ "src/components/Buttons/src/MDCRaisedButton.m",
+ "src/components/Buttons/src/MaterialButtons.h",
+ "src/components/Buttons/src/private/MDCButton+Subclassing.h",
+ "src/components/CollectionCells/src/MDCCollectionViewCell+Ink.h",
+ "src/components/CollectionCells/src/MDCCollectionViewCell+Ink.m",
+ "src/components/CollectionCells/src/MDCCollectionViewCell.h",
+ "src/components/CollectionCells/src/MDCCollectionViewCell.m",
+ "src/components/CollectionCells/src/MDCCollectionViewTextCell.h",
+ "src/components/CollectionCells/src/MDCCollectionViewTextCell.m",
+ "src/components/CollectionCells/src/MaterialCollectionCells.h",
+ "src/components/CollectionLayoutAttributes/src/MDCCollectionViewLayoutAttributes.h",
+ "src/components/CollectionLayoutAttributes/src/MDCCollectionViewLayoutAttributes.m",
+ "src/components/CollectionLayoutAttributes/src/MaterialCollectionLayoutAttributes.h",
+ "src/components/Collections/src/MDCCollectionViewController.h",
+ "src/components/Collections/src/MDCCollectionViewController.m",
+ "src/components/Collections/src/MDCCollectionViewEditing.h",
+ "src/components/Collections/src/MDCCollectionViewEditingDelegate.h",
+ "src/components/Collections/src/MDCCollectionViewFlowLayout.h",
+ "src/components/Collections/src/MDCCollectionViewFlowLayout.m",
+ "src/components/Collections/src/MDCCollectionViewStyling.h",
+ "src/components/Collections/src/MDCCollectionViewStylingDelegate.h",
+ "src/components/Collections/src/MaterialCollections.h",
+ "src/components/Collections/src/private/MDCCollectionGridBackgroundView.h",
+ "src/components/Collections/src/private/MDCCollectionGridBackgroundView.m",
+ "src/components/Collections/src/private/MDCCollectionInfoBarView.h",
+ "src/components/Collections/src/private/MDCCollectionInfoBarView.m",
+ "src/components/Collections/src/private/MDCCollectionStringResources.h",
+ "src/components/Collections/src/private/MDCCollectionStringResources.m",
+ "src/components/Collections/src/private/MDCCollectionViewEditor.h",
+ "src/components/Collections/src/private/MDCCollectionViewEditor.m",
+ "src/components/Collections/src/private/MDCCollectionViewStyler.h",
+ "src/components/Collections/src/private/MDCCollectionViewStyler.m",
+ "src/components/Collections/src/private/MaterialCollectionsStrings.h",
+ "src/components/Collections/src/private/MaterialCollectionsStrings_table.h",
+ "src/components/Dialogs/src/MDCAlertController.h",
+ "src/components/Dialogs/src/MDCAlertController.m",
+ "src/components/Dialogs/src/MDCDialogPresentationController.h",
+ "src/components/Dialogs/src/MDCDialogPresentationController.m",
+ "src/components/Dialogs/src/MDCDialogTransitionController.h",
+ "src/components/Dialogs/src/MDCDialogTransitionController.m",
+ "src/components/Dialogs/src/MaterialDialogs.h",
+ "src/components/Dialogs/src/private/MDCDialogShadowedView.h",
+ "src/components/Dialogs/src/private/MDCDialogShadowedView.m",
+ "src/components/FlexibleHeader/src/MDCFlexibleHeaderContainerViewController.h",
+ "src/components/FlexibleHeader/src/MDCFlexibleHeaderContainerViewController.m",
+ "src/components/FlexibleHeader/src/MDCFlexibleHeaderView.h",
+ "src/components/FlexibleHeader/src/MDCFlexibleHeaderView.m",
+ "src/components/FlexibleHeader/src/MDCFlexibleHeaderViewController.h",
+ "src/components/FlexibleHeader/src/MDCFlexibleHeaderViewController.m",
+ "src/components/FlexibleHeader/src/MaterialFlexibleHeader.h",
+ "src/components/FlexibleHeader/src/private/MDCStatusBarShifter.h",
+ "src/components/FlexibleHeader/src/private/MDCStatusBarShifter.m",
+ "src/components/HeaderStackView/src/MDCHeaderStackView.h",
+ "src/components/HeaderStackView/src/MDCHeaderStackView.m",
+ "src/components/HeaderStackView/src/MaterialHeaderStackView.h",
+ "src/components/Ink/src/MDCInkGestureRecognizer.h",
+ "src/components/Ink/src/MDCInkGestureRecognizer.m",
+ "src/components/Ink/src/MDCInkTouchController.h",
+ "src/components/Ink/src/MDCInkTouchController.m",
+ "src/components/Ink/src/MDCInkView.h",
+ "src/components/Ink/src/MDCInkView.m",
+ "src/components/Ink/src/MaterialInk.h",
+ "src/components/Ink/src/private/MDCInkLayer.h",
+ "src/components/Ink/src/private/MDCInkLayer.m",
+ "src/components/NavigationBar/src/MDCNavigationBar.h",
+ "src/components/NavigationBar/src/MDCNavigationBar.m",
+ "src/components/NavigationBar/src/MaterialNavigationBar.h",
+ "src/components/OverlayWindow/src/MDCOverlayWindow.h",
+ "src/components/OverlayWindow/src/MDCOverlayWindow.m",
+ "src/components/OverlayWindow/src/MaterialOverlayWindow.h",
+ "src/components/Palettes/src/MDCPalettes.h",
+ "src/components/Palettes/src/MDCPalettes.m",
+ "src/components/Palettes/src/MaterialPalettes.h",
+ "src/components/Palettes/src/private/MDCPaletteExpansions.h",
+ "src/components/Palettes/src/private/MDCPaletteExpansions.m",
+ "src/components/Palettes/src/private/MDCPaletteNames.h",
+ "src/components/Palettes/src/private/MDCPaletteNames.m",
+ "src/components/ProgressView/src/MDCProgressView.h",
+ "src/components/ProgressView/src/MDCProgressView.m",
+ "src/components/ProgressView/src/MaterialProgressView.h",
+ "src/components/ShadowElevations/src/MDCShadowElevations.h",
+ "src/components/ShadowElevations/src/MDCShadowElevations.m",
+ "src/components/ShadowElevations/src/MaterialShadowElevations.h",
+ "src/components/ShadowLayer/src/MDCShadowLayer.h",
+ "src/components/ShadowLayer/src/MDCShadowLayer.m",
+ "src/components/ShadowLayer/src/MaterialShadowLayer.h",
+ "src/components/Snackbar/src/MDCSnackbarManager.h",
+ "src/components/Snackbar/src/MDCSnackbarManager.m",
+ "src/components/Snackbar/src/MDCSnackbarMessage.h",
+ "src/components/Snackbar/src/MDCSnackbarMessage.m",
+ "src/components/Snackbar/src/MaterialSnackbar.h",
+ "src/components/Snackbar/src/private/MDCSnackbarMessageInternal.h",
+ "src/components/Snackbar/src/private/MDCSnackbarMessageView.h",
+ "src/components/Snackbar/src/private/MDCSnackbarMessageView.m",
+ "src/components/Snackbar/src/private/MDCSnackbarOverlayView.h",
+ "src/components/Snackbar/src/private/MDCSnackbarOverlayView.m",
+ "src/components/Typography/src/MDCTypography.h",
+ "src/components/Typography/src/MDCTypography.m",
+ "src/components/Typography/src/MaterialTypography.h",
+ "src/components/private/Application/src/MaterialApplication.h",
+ "src/components/private/Application/src/UIApplication+AppExtensions.h",
+ "src/components/private/Application/src/UIApplication+AppExtensions.m",
+ "src/components/private/Icons/icons/ic_arrow_back/src/MaterialIcons+ic_arrow_back.h",
+ "src/components/private/Icons/icons/ic_arrow_back/src/MaterialIcons+ic_arrow_back.m",
+ "src/components/private/Icons/icons/ic_check/src/MaterialIcons+ic_check.h",
+ "src/components/private/Icons/icons/ic_check/src/MaterialIcons+ic_check.m",
+ "src/components/private/Icons/icons/ic_check_circle/src/MaterialIcons+ic_check_circle.h",
+ "src/components/private/Icons/icons/ic_check_circle/src/MaterialIcons+ic_check_circle.m",
+ "src/components/private/Icons/icons/ic_chevron_right/src/MaterialIcons+ic_chevron_right.h",
+ "src/components/private/Icons/icons/ic_chevron_right/src/MaterialIcons+ic_chevron_right.m",
+ "src/components/private/Icons/icons/ic_info/src/MaterialIcons+ic_info.h",
+ "src/components/private/Icons/icons/ic_info/src/MaterialIcons+ic_info.m",
+ "src/components/private/Icons/icons/ic_radio_button_unchecked/src/MaterialIcons+ic_radio_button_unchecked.h",
+ "src/components/private/Icons/icons/ic_radio_button_unchecked/src/MaterialIcons+ic_radio_button_unchecked.m",
+ "src/components/private/Icons/icons/ic_reorder/src/MaterialIcons+ic_reorder.h",
+ "src/components/private/Icons/icons/ic_reorder/src/MaterialIcons+ic_reorder.m",
+ "src/components/private/Icons/src/MDCIcons+BundleLoader.h",
+ "src/components/private/Icons/src/MDCIcons.h",
+ "src/components/private/Icons/src/MDCIcons.m",
+ "src/components/private/Icons/src/MaterialIcons.h",
+ "src/components/private/KeyboardWatcher/src/MDCKeyboardWatcher.h",
+ "src/components/private/KeyboardWatcher/src/MDCKeyboardWatcher.m",
+ "src/components/private/Overlay/src/MDCOverlayImplementor.h",
+ "src/components/private/Overlay/src/MDCOverlayObserver.h",
+ "src/components/private/Overlay/src/MDCOverlayObserver.m",
+ "src/components/private/Overlay/src/MDCOverlayTransitioning.h",
+ "src/components/private/Overlay/src/MaterialOverlays.h",
+ "src/components/private/Overlay/src/private/MDCOverlayAnimationObserver.h",
+ "src/components/private/Overlay/src/private/MDCOverlayAnimationObserver.m",
+ "src/components/private/Overlay/src/private/MDCOverlayObserverOverlay.h",
+ "src/components/private/Overlay/src/private/MDCOverlayObserverOverlay.m",
+ "src/components/private/Overlay/src/private/MDCOverlayObserverTransition.h",
+ "src/components/private/Overlay/src/private/MDCOverlayObserverTransition.m",
+ "src/components/private/Overlay/src/private/MDCOverlayUtilities.h",
+ "src/components/private/Overlay/src/private/MDCOverlayUtilities.m",
+ "src/components/private/RTL/src/MDCRTL.h",
+ "src/components/private/RTL/src/MDCRTL.m",
+ "src/components/private/RTL/src/MaterialRTL.h",
+ "src/components/private/RTL/src/UIImage+MaterialRTL.h",
+ "src/components/private/RTL/src/UIImage+MaterialRTL.m",
+ "src/components/private/RTL/src/UIView+MaterialRTL.h",
+ "src/components/private/RTL/src/UIView+MaterialRTL.m",
+ "src/components/private/ThumbTrack/src/MDCNumericValueLabel.h",
+ "src/components/private/ThumbTrack/src/MDCNumericValueLabel.m",
+ "src/components/private/ThumbTrack/src/MDCThumbTrack.h",
+ "src/components/private/ThumbTrack/src/MDCThumbTrack.m",
+ "src/components/private/ThumbTrack/src/MDCThumbView.h",
+ "src/components/private/ThumbTrack/src/MDCThumbView.m",
+ "src/components/private/ThumbTrack/src/MaterialThumbTrack.h",
+ ]
+ include_dirs = [
+ "src/components/ActivityIndicator/src",
+ "src/components/AnimationTiming/src",
+ "src/components/AppBar/src",
+ "src/components/ButtonBar/src",
+ "src/components/NavigationBar/src",
+ "src/components/OverlayWindow/src",
+ "src/components/private/Application/src",
+ "src/components/private/Color/src",
+ "src/components/private/Icons/src",
+ "src/components/private/Icons/icons/ic_arrow_back/src",
+ "src/components/private/Icons/icons/ic_check/src",
+ "src/components/private/Icons/icons/ic_check_circle/src",
+ "src/components/private/Icons/icons/ic_chevron_right/src",
+ "src/components/private/Icons/icons/ic_info/src",
+ "src/components/private/Icons/icons/ic_radio_button_unchecked/src",
+ "src/components/private/Icons/icons/ic_reorder/src",
+ "src/components/private/KeyboardWatcher/src",
+ "src/components/private/Overlay/src",
+ "src/components/private/RTL/src",
+ "src/components/private/ThumbTrack/src",
+ ]
+
+ libs = [
+ "CoreGraphics.framework",
+ "CoreText.framework",
+ "QuartzCore.framework",
+ "UIKit.framework",
+ ]
+
+ deps = [
+ ":material_collections_bundle",
+ ":material_component_ic_arrow_back_bundle",
+ "//ios/third_party/material_text_accessibility_ios",
+ ]
+
+ foreach(icon_name, _icon_names) {
+ deps += [ ":material_component_${icon_name}_bundle" ]
+ }
+
+ public_configs = [ ":config" ]
+
+ configs -= [ "//build/config/compiler:chromium_code" ]
+ configs += [
+ ":config",
+ "//build/config/compiler:enable_arc",
+ "//build/config/compiler:no_chromium_code",
+ ]
+}
+
+bundle_data("material_collections_bundle") {
+ visibility = [ ":material_components_ios" ]
+ sources = [
+ "src/components/Collections/src/MaterialCollections.bundle/Resources/en.lproj/MaterialCollections.strings",
+ ]
+ outputs = [
+ "{{bundle_root_dir}}/MaterialCollections.bundle/Resources/en.lproj/{{source_file_part}}",
+ ]
+}
+
+# TODO(crbug.com/662421): Move back to _icon_names when there is just one
+# resource.
+bundle_data("material_component_ic_arrow_back_bundle") {
+ visibility = [ ":material_components_ios" ]
+ sources = [
+ "src/components/private/Icons/icons/ic_arrow_back/src/MaterialIcons_ic_arrow_back.bundle/ic_arrow_back.png",
+ "src/components/private/Icons/icons/ic_arrow_back/src/MaterialIcons_ic_arrow_back.bundle/ic_arrow_back@2x.png",
+ "src/components/private/Icons/icons/ic_arrow_back/src/MaterialIcons_ic_arrow_back.bundle/ic_arrow_back@3x.png",
+ "src/components/private/Icons/icons/ic_arrow_back/src/MaterialIcons_ic_arrow_back.bundle/ic_arrow_back_ios.png",
+ "src/components/private/Icons/icons/ic_arrow_back/src/MaterialIcons_ic_arrow_back.bundle/ic_arrow_back_ios@2x.png",
+ "src/components/private/Icons/icons/ic_arrow_back/src/MaterialIcons_ic_arrow_back.bundle/ic_arrow_back_ios@3x.png",
+ ]
+ outputs = [
+ "{{bundle_resources_dir}}/MaterialIcons_ic_arrow_back.bundle/" +
+ "{{source_file_part}}",
+ ]
+}
+
+# Template to declare a bundle_data target to pack an icon bundle.
+#
+# Arguments:
+#
+# icon_name:
+# string, short name of the icon without .bundle or .png extension.
+#
+template("material_component_icon_bundle") {
+ assert(defined(invoker.icon_name) && invoker.icon_name != "",
+ "icon_name must be defined for $target_name")
+
+ _icon_name = invoker.icon_name
+ _icon_path = "src/components/private/Icons/icons/$_icon_name/src/" +
+ "MaterialIcons_$_icon_name.bundle/$_icon_name"
+
+ bundle_data(target_name) {
+ forward_variables_from(invoker,
+ "*",
+ [
+ "sources",
+ "outputs",
+ "icon_name",
+ ])
+ sources = [
+ "$_icon_path.png",
+ "$_icon_path@2x.png",
+ "$_icon_path@3x.png",
+ ]
+ outputs = [
+ "{{bundle_resources_dir}}/MaterialIcons_$_icon_name.bundle/" +
+ "{{source_file_part}}",
+ ]
+ }
+}
+
+foreach(icon_name, _icon_names) {
+ material_component_icon_bundle("material_component_${icon_name}_bundle") {
+ visibility = [ ":material_components_ios" ]
+ icon_name = "$icon_name"
+ }
+}
diff --git a/chromium/ios/third_party/material_font_disk_loader_ios/BUILD.gn b/chromium/ios/third_party/material_font_disk_loader_ios/BUILD.gn
new file mode 100644
index 00000000000..4f9d914f8bf
--- /dev/null
+++ b/chromium/ios/third_party/material_font_disk_loader_ios/BUILD.gn
@@ -0,0 +1,23 @@
+# 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.
+
+config("material_font_disk_loader_ios_config") {
+ include_dirs = [ "src/src" ]
+ visibility = [ ":material_font_disk_loader_ios" ]
+}
+
+source_set("material_font_disk_loader_ios") {
+ sources = [
+ "src/src/MDFFontDiskLoader.h",
+ "src/src/MDFFontDiskLoader.m",
+ "src/src/MaterialFontDiskLoader.h",
+ ]
+ public_configs = [ ":material_font_disk_loader_ios_config" ]
+ configs -= [ "//build/config/compiler:chromium_code" ]
+ configs += [
+ ":material_font_disk_loader_ios_config",
+ "//build/config/compiler:enable_arc",
+ "//build/config/compiler:no_chromium_code",
+ ]
+}
diff --git a/chromium/ios/third_party/material_roboto_font_loader_ios/BUILD.gn b/chromium/ios/third_party/material_roboto_font_loader_ios/BUILD.gn
new file mode 100644
index 00000000000..6a3dd76cdf2
--- /dev/null
+++ b/chromium/ios/third_party/material_roboto_font_loader_ios/BUILD.gn
@@ -0,0 +1,51 @@
+# 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.
+
+config("material_roboto_font_loader_ios_config") {
+ include_dirs = [ "src/src" ]
+ visibility = [ ":material_roboto_font_loader_ios" ]
+}
+
+source_set("material_roboto_font_loader_ios") {
+ sources = [
+ "src/src/MDCTypographyAdditions/MDFRobotoFontLoader+MDCTypographyAdditions.h",
+ "src/src/MDCTypographyAdditions/MDFRobotoFontLoader+MDCTypographyAdditions.m",
+ "src/src/MDFRobotoFontLoader.h",
+ "src/src/MDFRobotoFontLoader.m",
+ "src/src/MaterialRobotoFontLoader.h",
+ ]
+ deps = [
+ ":material_roboto_font_loader_bundle",
+ "//ios/third_party/material_components_ios",
+ "//ios/third_party/material_font_disk_loader_ios",
+ ]
+ public_configs = [ ":material_roboto_font_loader_ios_config" ]
+ configs -= [ "//build/config/compiler:chromium_code" ]
+ configs += [
+ ":material_roboto_font_loader_ios_config",
+ "//build/config/compiler:enable_arc",
+ "//build/config/compiler:no_chromium_code",
+ ]
+}
+
+bundle_data("material_roboto_font_loader_bundle") {
+ visibility = [ ":material_roboto_font_loader_ios" ]
+ sources = [
+ "src/src/MaterialRobotoFontLoader.bundle/Roboto-Black.ttf",
+ "src/src/MaterialRobotoFontLoader.bundle/Roboto-BlackItalic.ttf",
+ "src/src/MaterialRobotoFontLoader.bundle/Roboto-Bold.ttf",
+ "src/src/MaterialRobotoFontLoader.bundle/Roboto-BoldItalic.ttf",
+ "src/src/MaterialRobotoFontLoader.bundle/Roboto-Italic.ttf",
+ "src/src/MaterialRobotoFontLoader.bundle/Roboto-Light.ttf",
+ "src/src/MaterialRobotoFontLoader.bundle/Roboto-LightItalic.ttf",
+ "src/src/MaterialRobotoFontLoader.bundle/Roboto-Medium.ttf",
+ "src/src/MaterialRobotoFontLoader.bundle/Roboto-MediumItalic.ttf",
+ "src/src/MaterialRobotoFontLoader.bundle/Roboto-Regular.ttf",
+ "src/src/MaterialRobotoFontLoader.bundle/Roboto-Thin.ttf",
+ "src/src/MaterialRobotoFontLoader.bundle/Roboto-ThinItalic.ttf",
+ ]
+ outputs = [
+ "{{bundle_resources_dir}}/MaterialRobotoFontLoader.bundle/{{source_file_part}}",
+ ]
+}
diff --git a/chromium/ios/third_party/material_sprited_animation_view_ios/BUILD.gn b/chromium/ios/third_party/material_sprited_animation_view_ios/BUILD.gn
new file mode 100644
index 00000000000..eeb94fc69db
--- /dev/null
+++ b/chromium/ios/third_party/material_sprited_animation_view_ios/BUILD.gn
@@ -0,0 +1,23 @@
+# 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.
+
+config("material_sprited_animation_view_ios_config") {
+ include_dirs = [ "src/src" ]
+ visibility = [ ":material_sprited_animation_view_ios" ]
+}
+
+source_set("material_sprited_animation_view_ios") {
+ sources = [
+ "src/src/MDFSpritedAnimationView.h",
+ "src/src/MDFSpritedAnimationView.m",
+ "src/src/MaterialSpritedAnimationView.h",
+ ]
+ public_configs = [ ":material_sprited_animation_view_ios_config" ]
+ configs -= [ "//build/config/compiler:chromium_code" ]
+ configs += [
+ ":material_sprited_animation_view_ios_config",
+ "//build/config/compiler:enable_arc",
+ "//build/config/compiler:no_chromium_code",
+ ]
+}
diff --git a/chromium/ios/third_party/material_text_accessibility_ios/BUILD.gn b/chromium/ios/third_party/material_text_accessibility_ios/BUILD.gn
index 72f0ead127c..c23b77797e2 100644
--- a/chromium/ios/third_party/material_text_accessibility_ios/BUILD.gn
+++ b/chromium/ios/third_party/material_text_accessibility_ios/BUILD.gn
@@ -19,10 +19,11 @@ source_set("material_text_accessibility_ios") {
"src/src/private/NSArray+MDFUtils.h",
"src/src/private/NSArray+MDFUtils.m",
]
-
public_configs = [ ":material_text_accessibility_ios_config" ]
+ configs -= [ "//build/config/compiler:chromium_code" ]
configs += [
":material_text_accessibility_ios_config",
"//build/config/compiler:enable_arc",
+ "//build/config/compiler:no_chromium_code",
]
}
diff --git a/chromium/ios/web/BUILD.gn b/chromium/ios/web/BUILD.gn
index d2b37d67358..f1bbde11346 100644
--- a/chromium/ios/web/BUILD.gn
+++ b/chromium/ios/web/BUILD.gn
@@ -7,6 +7,14 @@ import("//ios/web/js_compile.gni")
import("//testing/test.gni")
import("//tools/grit/grit_rule.gni")
+group("all_tests") {
+ testonly = true
+ deps = [
+ ":ios_web_inttests",
+ ":ios_web_unittests",
+ ]
+}
+
source_set("web_arc") {
deps = [
":core",
@@ -23,7 +31,7 @@ source_set("web_arc") {
"//services/service_manager/public/cpp",
"//ui/base",
"//ui/gfx",
- "//ui/gfx/geometry:geometry",
+ "//ui/gfx/geometry",
"//ui/resources",
"//url",
]
@@ -31,8 +39,6 @@ source_set("web_arc") {
sources = [
"active_state_manager_impl.h",
"active_state_manager_impl.mm",
- "alloc_with_zone_interceptor.h",
- "alloc_with_zone_interceptor.mm",
"browser_state.mm",
"browser_url_rewriter_impl.h",
"browser_url_rewriter_impl.mm",
@@ -66,14 +72,6 @@ source_set("web_arc") {
"net/cert_host_pair.h",
"net/cert_policy.cc",
"net/certificate_policy_cache.cc",
- "net/clients/crw_js_injection_network_client.h",
- "net/clients/crw_js_injection_network_client.mm",
- "net/clients/crw_js_injection_network_client_factory.h",
- "net/clients/crw_js_injection_network_client_factory.mm",
- "net/clients/crw_redirect_network_client.h",
- "net/clients/crw_redirect_network_client.mm",
- "net/clients/crw_redirect_network_client_factory.h",
- "net/clients/crw_redirect_network_client_factory.mm",
"net/cookie_notification_bridge.h",
"net/cookie_notification_bridge.mm",
"net/crw_cert_verification_controller.h",
@@ -118,7 +116,6 @@ source_set("web_arc") {
"public/security_style.h",
"public/ssl_status.cc",
"public/ssl_status.h",
- "public/string_util.h",
"public/url_data_source_ios.h",
"public/url_scheme_util.h",
"public/url_schemes.h",
@@ -143,6 +140,7 @@ source_set("web_arc") {
"public/web_state/page_display_state.h",
"public/web_state/page_display_state.mm",
"public/web_state/ui/crw_content_view.h",
+ "public/web_state/ui/crw_context_menu_delegate.h",
"public/web_state/ui/crw_generic_content_view.h",
"public/web_state/ui/crw_native_content.h",
"public/web_state/ui/crw_native_content_provider.h",
@@ -166,13 +164,14 @@ source_set("web_arc") {
"public/webui/web_ui_ios_controller_factory.h",
"public/webui/web_ui_ios_message_handler.cc",
"public/webui/web_ui_ios_message_handler.h",
- "string_util.cc",
"url_scheme_util.mm",
"url_util.cc",
"web_kit_constants.cc",
"web_state/blocked_popup_info.h",
"web_state/blocked_popup_info.mm",
"web_state/context_menu_params.mm",
+ "web_state/context_menu_params_utils.h",
+ "web_state/context_menu_params_utils.mm",
"web_state/credential.cc",
"web_state/crw_pass_kit_downloader.h",
"web_state/crw_pass_kit_downloader.mm",
@@ -197,10 +196,14 @@ source_set("web_arc") {
"web_state/js/page_script_util.mm",
"web_state/page_viewport_state.h",
"web_state/page_viewport_state.mm",
+ "web_state/ui/crw_context_menu_controller.h",
+ "web_state/ui/crw_context_menu_controller.mm",
"web_state/ui/crw_generic_content_view.mm",
"web_state/ui/crw_swipe_recognizer_provider.h",
"web_state/ui/crw_touch_tracking_recognizer.h",
"web_state/ui/crw_touch_tracking_recognizer.mm",
+ "web_state/ui/crw_wk_navigation_states.h",
+ "web_state/ui/crw_wk_navigation_states.mm",
"web_thread_impl.cc",
"web_thread_impl.h",
"web_view_creation_util.mm",
@@ -246,13 +249,14 @@ source_set("web") {
"//components/url_formatter",
"//ios/net",
"//ios/third_party/blink:html_tokenizer",
+ "//ios/web/public/image_fetcher",
"//mojo/public/cpp/system",
"//mojo/public/js",
"//net",
"//services/service_manager/public/cpp",
"//ui/base",
"//ui/gfx",
- "//ui/gfx/geometry:geometry",
+ "//ui/gfx/geometry",
"//ui/resources",
"//url",
]
@@ -303,16 +307,15 @@ source_set("web") {
}
source_set("core") {
+ configs += [ "//build/config/compiler:enable_arc" ]
deps = [
"//base",
"//url",
]
sources = [
- "crw_network_activity_indicator_manager.h",
- "crw_network_activity_indicator_manager.mm",
+ "history_state_util.cc",
"history_state_util.h",
- "history_state_util.mm",
]
}
@@ -325,6 +328,8 @@ source_set("user_agent") {
"public/user_agent.h",
"public/user_agent.mm",
]
+
+ configs += [ "//build/config/compiler:enable_arc" ]
}
source_set("earl_grey_test_support") {
@@ -338,6 +343,7 @@ source_set("earl_grey_test_support") {
"//ios/testing:ios_test_support",
"//ios/testing/earl_grey:earl_grey_support",
"//ios/third_party/earl_grey",
+ "//net",
]
sources = [
@@ -360,23 +366,44 @@ source_set("test_support") {
"//ios/testing:ios_test_support",
"//ios/testing:ocmock_support",
"//ios/third_party/gcdwebserver",
+ "//ios/web/public/image_fetcher",
"//ios/web/test:mojo_bindings",
"//net:test_support",
"//testing/gmock",
"//testing/gtest",
"//third_party/ocmock",
- "//ui/base:base",
+ "//ui/base",
]
sources = [
- "public/test/crw_test_js_injection_receiver.h",
- "public/test/crw_test_js_injection_receiver.mm",
+ "public/test/fakes/crw_test_js_injection_receiver.h",
+ "public/test/fakes/crw_test_js_injection_receiver.mm",
+ "public/test/fakes/test_browser_state.cc",
+ "public/test/fakes/test_browser_state.h",
+ "public/test/fakes/test_java_script_dialog_presenter.h",
+ "public/test/fakes/test_java_script_dialog_presenter.mm",
+ "public/test/fakes/test_native_content.h",
+ "public/test/fakes/test_native_content.mm",
+ "public/test/fakes/test_native_content_provider.h",
+ "public/test/fakes/test_native_content_provider.mm",
+ "public/test/fakes/test_navigation_manager.h",
+ "public/test/fakes/test_navigation_manager.mm",
+ "public/test/fakes/test_web_client.h",
+ "public/test/fakes/test_web_client.mm",
+ "public/test/fakes/test_web_state.h",
+ "public/test/fakes/test_web_state.mm",
+ "public/test/fakes/test_web_state_delegate.h",
+ "public/test/fakes/test_web_state_delegate.mm",
+ "public/test/fakes/test_web_view_content_view.h",
+ "public/test/fakes/test_web_view_content_view.mm",
"public/test/http_server.h",
"public/test/http_server.mm",
"public/test/http_server_util.h",
"public/test/http_server_util.mm",
"public/test/js_test_util.h",
"public/test/js_test_util.mm",
+ "public/test/mock_image_data_fetcher.h",
+ "public/test/mock_image_data_fetcher.mm",
"public/test/native_controller_test_util.h",
"public/test/native_controller_test_util.mm",
"public/test/navigation_test_util.h",
@@ -401,18 +428,10 @@ source_set("test_support") {
"public/test/response_providers/string_response_provider.mm",
"public/test/scoped_testing_web_client.h",
"public/test/scoped_testing_web_client.mm",
- "public/test/test_browser_state.cc",
- "public/test/test_browser_state.h",
"public/test/test_redirect_observer.h",
"public/test/test_redirect_observer.mm",
- "public/test/test_web_client.h",
- "public/test/test_web_client.mm",
- "public/test/test_web_state.h",
- "public/test/test_web_state.mm",
"public/test/test_web_thread.h",
"public/test/test_web_thread_bundle.h",
- "public/test/test_web_view_content_view.h",
- "public/test/test_web_view_content_view.mm",
"public/test/web_js_test.h",
"public/test/web_test.h",
"public/test/web_test.mm",
@@ -473,8 +492,10 @@ test("ios_web_unittests") {
":web",
"//base",
"//base/test:test_support",
+ "//components/url_formatter",
"//ios/net",
"//ios/testing:ocmock_support",
+ "//ios/web/public/image_fetcher:unit_tests",
"//ios/web/test:mojo_bindings",
"//net:test_support",
"//services/service_manager/public/cpp",
@@ -486,9 +507,7 @@ test("ios_web_unittests") {
sources = [
"active_state_manager_impl_unittest.mm",
- "alloc_with_zone_interceptor_unittest.mm",
"browser_state_unittest.cc",
- "crw_network_activity_indicator_manager_unittest.mm",
"history_state_util_unittest.mm",
"navigation/crw_session_controller_unittest.mm",
"navigation/crw_session_entry_unittest.mm",
@@ -497,7 +516,6 @@ test("ios_web_unittests") {
"navigation/nscoder_util_unittest.mm",
"net/cert_host_pair_unittest.cc",
"net/cert_policy_unittest.cc",
- "net/clients/crw_js_injection_network_client_unittest.mm",
"net/crw_cert_verification_controller_unittest.mm",
"net/crw_ssl_status_updater_unittest.mm",
"net/request_group_util_unittest.mm",
@@ -507,10 +525,9 @@ test("ios_web_unittests") {
"public/origin_util_unittest.mm",
"public/referrer_util_unittest.cc",
"public/web_state/page_viewport_state_unittest.mm",
- "string_util_unittest.cc",
- "test/crw_fake_web_controller_observer_unittest.mm",
"url_scheme_util_unittest.mm",
"url_util_unittest.cc",
+ "web_state/context_menu_params_utils_unittest.mm",
"web_state/crw_pass_kit_downloader_unittest.mm",
"web_state/crw_web_view_scroll_view_proxy_unittest.mm",
"web_state/error_translation_util_unittest.mm",
@@ -524,6 +541,7 @@ test("ios_web_unittests") {
"web_state/ui/crw_web_controller_container_view_unittest.mm",
"web_state/ui/crw_web_controller_observer_unittest.mm",
"web_state/ui/crw_web_controller_unittest.mm",
+ "web_state/ui/crw_wk_navigation_states_unittest.mm",
"web_state/ui/crw_wk_script_message_router_unittest.mm",
"web_state/ui/web_view_js_utils_unittest.mm",
"web_state/ui/wk_back_forward_list_item_holder_unittest.mm",
@@ -548,7 +566,7 @@ test("ios_web_inttests") {
":test_support",
":web",
"//base/test:test_support",
- "//ios/public/provider/web",
+ "//ios/testing:http_server_bundle_data",
"//ios/web/test:mojo_bindings",
"//ios/web/test:packed_resources",
"//ios/web/test:resources",
@@ -560,6 +578,7 @@ test("ios_web_inttests") {
]
sources = [
"browser_state_web_view_partition_inttest.mm",
+ "navigation/window_location_inttest.mm",
"public/test/http_server_inttest.mm",
"test/run_all_unittests.cc",
"webui/web_ui_mojo_inttest.mm",
@@ -577,7 +596,6 @@ js_compile_bundle("web_ui_bundle") {
"webui/resources/web_ui_base.js",
"webui/resources/web_ui_bind.js",
"webui/resources/web_ui_bundle.js",
- "webui/resources/web_ui_favicons.js",
"webui/resources/web_ui_module_load_notifier.js",
"webui/resources/web_ui_send.js",
]
diff --git a/chromium/ios/web/public/app/BUILD.gn b/chromium/ios/web/public/app/BUILD.gn
index 71cd249f3f2..0d512ff2e0c 100644
--- a/chromium/ios/web/public/app/BUILD.gn
+++ b/chromium/ios/web/public/app/BUILD.gn
@@ -10,12 +10,9 @@ source_set("app") {
"web_main_runner.h",
]
- public_deps = [
- "//ios/web/app",
- ]
-
deps = [
"//base",
+ "//ios/web/app",
]
configs += [ "//build/config/compiler:enable_arc" ]
diff --git a/chromium/ios/chrome/browser/webp_transcode/BUILD.gn b/chromium/ios/web/public/image_fetcher/BUILD.gn
index 499ec31ccb2..7c93ce1d42e 100644
--- a/chromium/ios/chrome/browser/webp_transcode/BUILD.gn
+++ b/chromium/ios/web/public/image_fetcher/BUILD.gn
@@ -2,26 +2,34 @@
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
-source_set("webp_transcode") {
+source_set("image_fetcher") {
+ configs += [ "//build/config/compiler:enable_arc" ]
sources = [
+ "image_data_fetcher.h",
+ "image_data_fetcher.mm",
"webp_decoder.h",
"webp_decoder.mm",
]
deps = [
"//base",
+ "//net",
"//third_party/libwebp:libwebp_dec",
]
}
source_set("unit_tests") {
+ configs += [ "//build/config/compiler:enable_arc" ]
testonly = true
sources = [
+ "image_data_fetcher_unittest.mm",
"webp_decoder_unittest.mm",
]
deps = [
- ":webp_transcode",
+ ":image_fetcher",
":webp_transcode_unit_tests_bundle_data",
"//base",
+ "//net",
+ "//net:test_support",
"//testing/gmock",
"//testing/gtest",
]
@@ -32,12 +40,12 @@ bundle_data("webp_transcode_unit_tests_bundle_data") {
visibility = [ ":unit_tests" ]
testonly = true
sources = [
- "//ios/chrome/test/data/webp_transcode/test.jpg",
- "//ios/chrome/test/data/webp_transcode/test.webp",
- "//ios/chrome/test/data/webp_transcode/test_alpha.png",
- "//ios/chrome/test/data/webp_transcode/test_alpha.webp",
- "//ios/chrome/test/data/webp_transcode/test_small.tiff",
- "//ios/chrome/test/data/webp_transcode/test_small.webp",
+ "//ios/web/test/data/webp_transcode/test.jpg",
+ "//ios/web/test/data/webp_transcode/test.webp",
+ "//ios/web/test/data/webp_transcode/test_alpha.png",
+ "//ios/web/test/data/webp_transcode/test_alpha.webp",
+ "//ios/web/test/data/webp_transcode/test_small.tiff",
+ "//ios/web/test/data/webp_transcode/test_small.webp",
]
outputs = [
"{{bundle_resources_dir}}/{{source_root_relative_dir}}/" +
diff --git a/chromium/ios/web/shell/test/BUILD.gn b/chromium/ios/web/shell/test/BUILD.gn
index 150b03a0558..47e138e211c 100644
--- a/chromium/ios/web/shell/test/BUILD.gn
+++ b/chromium/ios/web/shell/test/BUILD.gn
@@ -5,7 +5,15 @@
import("//ios/build/config.gni")
import("//ios/third_party/earl_grey/ios_eg_test.gni")
+group("all_tests") {
+ testonly = true
+ deps = [
+ ":ios_web_shell_egtests",
+ ]
+}
+
ios_eg_test("ios_web_shell_egtests") {
+ info_plist = "//ios/web/shell/Info.plist"
sources = [
"context_menu_egtest.mm",
"meta_tags_egtest.mm",
@@ -17,6 +25,7 @@ ios_eg_test("ios_web_shell_egtests") {
]
deps = [
+ ":earl_grey_test_support",
"//base",
"//base/test:test_support",
"//ios/testing:ios_test_support",
@@ -24,9 +33,8 @@ ios_eg_test("ios_web_shell_egtests") {
"//ios/web:earl_grey_test_support",
"//ios/web:test_support",
"//ios/web/shell",
- "//ios/web/shell/test:earl_grey_test_support",
- "//net:net",
- "//url:url",
+ "//net",
+ "//url",
# All shared libraries must have the sanitizer deps to properly link in
# asan mode (this target will be empty in other cases).