| # Copyright 2021 The Chromium Authors |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| |
| source_set("optimization_guide") { |
| sources = [ |
| "ios_chrome_hints_manager.h", |
| "ios_chrome_hints_manager.mm", |
| "optimization_guide_push_notification_client.h", |
| "optimization_guide_push_notification_client.mm", |
| "optimization_guide_service.h", |
| "optimization_guide_service.mm", |
| "optimization_guide_service_factory.h", |
| "optimization_guide_service_factory.mm", |
| "optimization_guide_tab_helper.h", |
| "optimization_guide_tab_helper.mm", |
| "optimization_guide_validation_tab_helper.h", |
| "optimization_guide_validation_tab_helper.mm", |
| "prediction_model_download_client.mm", |
| "tab_url_provider_impl.h", |
| "tab_url_provider_impl.mm", |
| ] |
| deps = [ |
| "//base", |
| "//components/component_updater", |
| "//components/download/public/background_service:public", |
| "//components/keyed_service/core", |
| "//components/keyed_service/ios", |
| "//components/leveldb_proto", |
| "//components/optimization_guide/core", |
| "//components/optimization_guide/core:prediction", |
| "//components/optimization_guide/proto:optimization_guide_proto", |
| "//components/prefs", |
| "//components/variations", |
| "//ios/chrome/browser/application_context", |
| "//ios/chrome/browser/browser_state", |
| "//ios/chrome/browser/download/background_service", |
| "//ios/chrome/browser/main:public", |
| "//ios/chrome/browser/metrics:accessor", |
| "//ios/chrome/browser/paths", |
| "//ios/chrome/browser/push_notification:push_notification_client", |
| "//ios/chrome/browser/web_state_list", |
| "//ios/web", |
| ] |
| configs += [ "//build/config/compiler:enable_arc" ] |
| frameworks = [ "UIKit.framework" ] |
| public_deps = [ |
| ":download_client_header", |
| "//components/optimization_guide/proto:optimization_guide_proto", |
| ] |
| } |
| |
| source_set("download_client_header") { |
| configs += [ "//build/config/compiler:enable_arc" ] |
| sources = [ "prediction_model_download_client.h" ] |
| deps = [ |
| "//base", |
| "//components/download/public/background_service:public", |
| ] |
| } |
| |
| source_set("unit_tests") { |
| configs += [ "//build/config/compiler:enable_arc" ] |
| testonly = true |
| sources = [ |
| "optimization_guide_push_notification_client_unittest.mm", |
| "optimization_guide_service_factory_unittest.mm", |
| "optimization_guide_service_unittest.mm", |
| "optimization_guide_tab_helper_unittest.mm", |
| "optimization_guide_test_utils.h", |
| "optimization_guide_test_utils.mm", |
| "optimization_guide_validation_tab_helper_unittest.mm", |
| "prediction_manager_browsertest.mm", |
| "tab_url_provider_impl_unittest.mm", |
| ] |
| deps = [ |
| ":optimization_guide", |
| ":resources_unit_tests", |
| "//base/test:test_support", |
| "//components/component_updater", |
| "//components/download/internal/background_service/ios:background_service", |
| "//components/optimization_guide/core", |
| "//components/optimization_guide/core:test_support", |
| "//components/optimization_guide/proto:optimization_guide_proto", |
| "//components/sync_preferences", |
| "//components/sync_preferences:test_support", |
| "//components/ukm:test_support", |
| "//components/unified_consent", |
| "//components/variations", |
| "//components/variations:test_support", |
| "//ios/chrome/browser/application_context", |
| "//ios/chrome/browser/browser_state:test_support", |
| "//ios/chrome/browser/main:public", |
| "//ios/chrome/browser/main:test_support", |
| "//ios/chrome/browser/prefs:browser_prefs", |
| "//ios/chrome/browser/push_notification:push_notification_client", |
| "//ios/chrome/browser/web_state_list", |
| "//ios/chrome/test:test_support", |
| "//ios/web/public/test", |
| "//ios/web/public/test/fakes", |
| "//net:test_support", |
| "//services/metrics/public/cpp:ukm_builders", |
| "//testing/gtest", |
| ] |
| } |
| |
| source_set("eg_app_support+eg2") { |
| configs += [ |
| "//build/config/compiler:enable_arc", |
| "//build/config/ios:xctest_config", |
| ] |
| testonly = true |
| sources = [ |
| "optimization_guide_test_app_interface.h", |
| "optimization_guide_test_app_interface.mm", |
| ] |
| deps = [ |
| "//base", |
| "//base/test:test_support", |
| "//components/optimization_guide/core", |
| "//components/optimization_guide/core:test_support", |
| "//components/optimization_guide/proto:optimization_guide_proto", |
| "//ios/chrome/browser/optimization_guide", |
| "//ios/chrome/test/app:test_support", |
| ] |
| } |
| |
| source_set("eg_test_support+eg2") { |
| configs += [ |
| "//build/config/compiler:enable_arc", |
| "//build/config/ios:xctest_config", |
| ] |
| testonly = true |
| sources = [ |
| "optimization_guide_test_app_interface.h", |
| "optimization_guide_test_app_interface_stub.mm", |
| ] |
| deps = [ |
| "//components/optimization_guide/proto:optimization_guide_proto", |
| "//ios/third_party/earl_grey2:test_lib", |
| ] |
| } |
| |
| source_set("eg2_tests") { |
| configs += [ |
| "//build/config/compiler:enable_arc", |
| "//build/config/ios:xctest_config", |
| ] |
| testonly = true |
| sources = [ "hints_fetcher_egtest.mm" ] |
| deps = [ |
| ":eg_test_support+eg2", |
| "//base/test:test_support", |
| "//components/optimization_guide/core:eg_test_support+eg2", |
| "//ios/chrome/browser/metrics:eg_test_support+eg2", |
| "//ios/chrome/test/earl_grey:eg_test_support+eg2", |
| "//ios/testing/earl_grey:eg_test_support+eg2", |
| "//ios/third_party/earl_grey2:test_lib", |
| "//net:test_support", |
| ] |
| frameworks = [ "UIKit.framework" ] |
| } |
| |
| bundle_data("resources_unit_tests") { |
| visibility = [ ":unit_tests" ] |
| testonly = true |
| sources = [ |
| "//ios/chrome/test/data/optimization_guide/additional_file_doesnt_exist.crx3", |
| "//ios/chrome/test/data/optimization_guide/additional_file_exists.crx3", |
| "//ios/chrome/test/data/optimization_guide/amp.html", |
| "//ios/chrome/test/data/optimization_guide/empty.html", |
| "//ios/chrome/test/data/optimization_guide/english_page.html", |
| "//ios/chrome/test/data/optimization_guide/hello.html", |
| "//ios/chrome/test/data/optimization_guide/hello_world.html", |
| "//ios/chrome/test/data/optimization_guide/signed_valid_model.crx3", |
| ] |
| outputs = [ "{{bundle_resources_dir}}/ios/chrome/test/data/optimization_guide/{{source_file_part}}" ] |
| } |