| # 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. |
| |
| if (is_android) { |
| import("//build/config/android/rules.gni") |
| } |
| import("//components/optimization_guide/features.gni") |
| |
| static_library("bloomfilter") { |
| sources = [ |
| "bloom_filter.cc", |
| "bloom_filter.h", |
| ] |
| deps = [ |
| "//base", |
| "//third_party/smhasher:murmurhash3", |
| ] |
| } |
| |
| static_library("entities") { |
| sources = [ |
| "batch_entity_metadata_task.cc", |
| "batch_entity_metadata_task.h", |
| "entity_metadata.cc", |
| "entity_metadata.h", |
| "entity_metadata_provider.h", |
| ] |
| public_deps = [ |
| "//base", |
| "//third_party/abseil-cpp:absl", |
| ] |
| } |
| |
| static_library("model_executor") { |
| sources = [ |
| "execution_status.cc", |
| "execution_status.h", |
| "model_enums.h", |
| "model_executor.h", |
| "model_info.cc", |
| "model_info.h", |
| "model_util.cc", |
| "model_util.h", |
| ] |
| if (build_with_tflite_lib) { |
| sources += [ |
| "base_model_executor.h", |
| "base_model_executor_helpers.h", |
| "bert_model_executor.cc", |
| "bert_model_executor.h", |
| "tflite_model_executor.h", |
| ] |
| } |
| |
| public_deps = [ |
| "//components/optimization_guide:machine_learning_tflite_buildflags", |
| "//third_party/re2", |
| ] |
| if (build_with_tflite_lib) { |
| public_deps += [ |
| "//components/optimization_guide/core:machine_learning", |
| "//third_party/abseil-cpp:absl", |
| "//third_party/tflite", |
| "//third_party/tflite:tflite_public_headers", |
| "//third_party/tflite_support", |
| "//third_party/tflite_support:tflite_support_proto", |
| ] |
| } |
| deps = [ |
| "//base", |
| "//components/optimization_guide/proto:optimization_guide_proto", |
| "//net", |
| "//url", |
| ] |
| } |
| |
| if (build_with_tflite_lib) { |
| static_library("machine_learning") { |
| sources = [ |
| "tflite_op_resolver.cc", |
| "tflite_op_resolver.h", |
| ] |
| deps = [ |
| "//third_party/tflite", |
| "//third_party/tflite:tflite_public_headers", |
| ] |
| } |
| } |
| |
| static_library("core") { |
| sources = [ |
| "command_line_top_host_provider.cc", |
| "command_line_top_host_provider.h", |
| "decision_tree_prediction_model.cc", |
| "decision_tree_prediction_model.h", |
| "hint_cache.cc", |
| "hint_cache.h", |
| "hints_component_info.h", |
| "hints_component_util.cc", |
| "hints_component_util.h", |
| "hints_fetcher.cc", |
| "hints_fetcher.h", |
| "hints_fetcher_factory.cc", |
| "hints_fetcher_factory.h", |
| "hints_manager.cc", |
| "hints_manager.h", |
| "hints_processing_util.cc", |
| "hints_processing_util.h", |
| "insertion_ordered_set.h", |
| "local_page_entities_metadata_provider.cc", |
| "local_page_entities_metadata_provider.h", |
| "memory_hint.cc", |
| "memory_hint.h", |
| "model_handler.h", |
| "noisy_metrics_recorder.cc", |
| "noisy_metrics_recorder.h", |
| "optimization_filter.cc", |
| "optimization_filter.h", |
| "optimization_guide_constants.cc", |
| "optimization_guide_constants.h", |
| "optimization_guide_decision.h", |
| "optimization_guide_enums.h", |
| "optimization_guide_features.cc", |
| "optimization_guide_features.h", |
| "optimization_guide_model_provider.h", |
| "optimization_guide_navigation_data.cc", |
| "optimization_guide_navigation_data.h", |
| "optimization_guide_permissions_util.cc", |
| "optimization_guide_permissions_util.h", |
| "optimization_guide_prefs.cc", |
| "optimization_guide_prefs.h", |
| "optimization_guide_store.cc", |
| "optimization_guide_store.h", |
| "optimization_guide_switches.cc", |
| "optimization_guide_switches.h", |
| "optimization_guide_util.cc", |
| "optimization_guide_util.h", |
| "optimization_hints_component_observer.h", |
| "optimization_hints_component_update_listener.cc", |
| "optimization_hints_component_update_listener.h", |
| "optimization_metadata.cc", |
| "optimization_metadata.h", |
| "optimization_target_model_observer.h", |
| "page_content_annotation_job.cc", |
| "page_content_annotation_job.h", |
| "page_content_annotations_common.cc", |
| "page_content_annotations_common.h", |
| "prediction_model.cc", |
| "prediction_model.h", |
| "prediction_model_fetcher.h", |
| "prediction_model_fetcher_impl.cc", |
| "prediction_model_fetcher_impl.h", |
| "push_notification_manager.h", |
| "store_update_data.cc", |
| "store_update_data.h", |
| "tab_url_provider.h", |
| "top_host_provider.h", |
| "url_pattern_with_wildcards.cc", |
| "url_pattern_with_wildcards.h", |
| ] |
| if (build_with_tflite_lib) { |
| sources += [ |
| "bert_model_handler.cc", |
| "bert_model_handler.h", |
| "model_validator.cc", |
| "model_validator.h", |
| "page_content_annotation_job_executor.cc", |
| "page_content_annotation_job_executor.h", |
| "page_entities_model_executor.h", |
| "page_topics_model_executor.cc", |
| "page_topics_model_executor.h", |
| "page_visibility_model_executor.cc", |
| "page_visibility_model_executor.h", |
| ] |
| } |
| |
| public_deps = [ |
| ":entities", |
| ":model_executor", |
| "//components/optimization_guide:machine_learning_tflite_buildflags", |
| "//third_party/re2", |
| ] |
| if (build_with_tflite_lib) { |
| public_deps += [ |
| "//components/optimization_guide/core:machine_learning", |
| "//third_party/abseil-cpp:absl", |
| "//third_party/tflite", |
| "//third_party/tflite:tflite_public_headers", |
| "//third_party/tflite_support", |
| "//third_party/tflite_support:tflite_support_proto", |
| ] |
| } |
| |
| deps = [ |
| ":bloomfilter", |
| "//base", |
| "//components/leveldb_proto", |
| "//components/optimization_guide/proto:optimization_guide_proto", |
| "//components/prefs", |
| "//components/unified_consent", |
| "//components/variations", |
| "//components/variations/net", |
| "//google_apis", |
| "//net:net", |
| "//services/metrics/public/cpp:metrics_cpp", |
| "//services/metrics/public/cpp:ukm_builders", |
| "//services/network/public/cpp", |
| "//ui/base:base", |
| "//url:url", |
| ] |
| } |
| |
| static_library("test_support") { |
| testonly = true |
| sources = [ |
| "mock_push_notification_manager.cc", |
| "mock_push_notification_manager.h", |
| "optimization_guide_test_util.cc", |
| "optimization_guide_test_util.h", |
| "proto_database_provider_test_base.cc", |
| "proto_database_provider_test_base.h", |
| "test_hints_component_creator.cc", |
| "test_hints_component_creator.h", |
| "test_model_executor.cc", |
| "test_model_executor.h", |
| "test_model_handler.h", |
| "test_model_info_builder.cc", |
| "test_model_info_builder.h", |
| "test_optimization_guide_model_provider.cc", |
| "test_optimization_guide_model_provider.h", |
| ] |
| if (build_with_tflite_lib) { |
| sources += [ |
| "test_tflite_model_executor.cc", |
| "test_tflite_model_executor.h", |
| "test_tflite_model_handler.h", |
| ] |
| } |
| |
| deps = [ |
| ":bloomfilter", |
| ":core", |
| "//base", |
| "//components/leveldb_proto", |
| "//components/optimization_guide/proto:optimization_guide_proto", |
| "//testing/gmock", |
| "//testing/gtest", |
| "//url", |
| ] |
| if (build_with_tflite_lib) { |
| deps += [ "//third_party/abseil-cpp:absl" ] |
| } |
| } |
| |
| if (is_ios) { |
| source_set("eg_test_support+eg2") { |
| testonly = true |
| sources = [ |
| "optimization_guide_constants.cc", |
| "optimization_guide_constants.h", |
| "optimization_guide_enums.h", |
| "optimization_guide_switches.cc", |
| "optimization_guide_switches.h", |
| "optimization_guide_test_util.cc", |
| "optimization_guide_test_util.h", |
| ] |
| deps = [ |
| "//base", |
| "//components/optimization_guide/proto:optimization_guide_proto", |
| "//url", |
| ] |
| } |
| } |
| |
| source_set("unit_tests") { |
| testonly = true |
| sources = [ |
| "batch_entity_metadata_task_unittest.cc", |
| "bloom_filter_unittest.cc", |
| "command_line_top_host_provider_unittest.cc", |
| "decision_tree_prediction_model_unittest.cc", |
| "hint_cache_unittest.cc", |
| "hints_component_util_unittest.cc", |
| "hints_fetcher_unittest.cc", |
| "hints_manager_unittest.cc", |
| "hints_processing_util_unittest.cc", |
| "insertion_ordered_set_unittest.cc", |
| "local_page_entities_metadata_provider_unittest.cc", |
| "model_handler_unittest.cc", |
| "noisy_metrics_recorder_unittest.cc", |
| "optimization_filter_unittest.cc", |
| "optimization_guide_features_unittest.cc", |
| "optimization_guide_navigation_data_unittest.cc", |
| "optimization_guide_permissions_util_unittest.cc", |
| "optimization_guide_store_unittest.cc", |
| "optimization_guide_switches_unittest.cc", |
| "optimization_guide_util_unittest.cc", |
| "optimization_hints_component_update_listener_unittest.cc", |
| "optimization_metadata_unittest.cc", |
| "page_content_annotation_job_unittest.cc", |
| "prediction_model_fetcher_unittest.cc", |
| "prediction_model_unittest.cc", |
| "store_update_data_unittest.cc", |
| "url_pattern_with_wildcards_unittest.cc", |
| ] |
| if (build_with_tflite_lib) { |
| sources += [ |
| "bert_model_executor_unittest.cc", |
| "model_validator_unittest.cc", |
| "page_content_annotation_job_executor_unittest.cc", |
| "page_topics_model_executor_unittest.cc", |
| "page_visibility_model_executor_unittest.cc", |
| "tflite_model_executor_unittest.cc", |
| ] |
| } |
| |
| deps = [ |
| ":bloomfilter", |
| ":core", |
| ":entities", |
| ":test_support", |
| "//base", |
| "//base/test:test_support", |
| "//components/leveldb_proto:test_support", |
| "//components/optimization_guide/proto:optimization_guide_proto", |
| "//components/prefs:test_support", |
| "//components/sync_preferences:test_support", |
| "//components/ukm:test_support", |
| "//components/unified_consent", |
| "//components/variations:test_support", |
| "//net:test_support", |
| "//services/network:network_service", |
| "//services/network:test_support", |
| "//testing/gmock", |
| "//testing/gtest", |
| "//url:url", |
| ] |
| if (build_with_tflite_lib) { |
| deps += [ |
| "//third_party/abseil-cpp:absl", |
| "//third_party/tflite", |
| "//third_party/tflite:tflite_public_headers", |
| "//third_party/tflite_support", |
| "//third_party/tflite_support:tflite_support_proto", |
| ] |
| } |
| } |
| |
| if (is_android) { |
| java_cpp_enum("optimization_guide_generated_enums") { |
| sources = [ "optimization_guide_decision.h" ] |
| visibility = [ "//chrome/browser/optimization_guide/android:*" ] |
| } |
| } |