From: uazo Date: Tue, 25 Jan 2022 12:22:52 +0000 Subject: Disable all predictors code Original License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html --- .../chrome_hints_manager.cc | 1 + .../optimization_guide_keyed_service.cc | 1 - chrome/common/chrome_features.cc | 8 ++-- .../optimization_guide/core/hints_fetcher.cc | 1 + .../optimization_guide/core/hints_manager.cc | 5 +++ .../core/optimization_guide_features.cc | 38 +++++++++---------- .../core/prediction_model_download_manager.cc | 6 ++- .../core/prediction_model_fetcher_impl.cc | 1 + components/optimization_guide/features.gni | 4 +- components/permissions/features.cc | 8 ++-- third_party/blink/common/features.cc | 8 +--- 11 files changed, 40 insertions(+), 41 deletions(-) diff --git a/chrome/browser/optimization_guide/chrome_hints_manager.cc b/chrome/browser/optimization_guide/chrome_hints_manager.cc --- a/chrome/browser/optimization_guide/chrome_hints_manager.cc +++ b/chrome/browser/optimization_guide/chrome_hints_manager.cc @@ -26,6 +26,7 @@ bool IsAllowedToFetchForNavigationPrediction( const absl::optional prediction) { DCHECK(prediction); + if ((true)) return false; if (prediction->prediction_source() != NavigationPredictorKeyedService::PredictionSource:: diff --git a/chrome/browser/optimization_guide/optimization_guide_keyed_service.cc b/chrome/browser/optimization_guide/optimization_guide_keyed_service.cc --- a/chrome/browser/optimization_guide/optimization_guide_keyed_service.cc +++ b/chrome/browser/optimization_guide/optimization_guide_keyed_service.cc @@ -326,7 +326,6 @@ void OptimizationGuideKeyedService::RemoveObserverForOptimizationTargetModel( void OptimizationGuideKeyedService::RegisterOptimizationTypes( const std::vector& optimization_types) { - hints_manager_->RegisterOptimizationTypes(optimization_types); } optimization_guide::OptimizationGuideDecision diff --git a/chrome/common/chrome_features.cc b/chrome/common/chrome_features.cc --- a/chrome/common/chrome_features.cc +++ b/chrome/common/chrome_features.cc @@ -891,8 +891,8 @@ BASE_FEATURE(kPermissionAuditing, // Enables using the prediction service for permission prompts. We will keep // this feature in order to allow us to update the holdback chance via finch. BASE_FEATURE(kPermissionPredictions, - "PermissionPredictions", - base::FEATURE_ENABLED_BY_DEFAULT); + "PermissionPredictions", // disabled by default + base::FEATURE_DISABLED_BY_DEFAULT); // in Bromite // The holdback chance is 30% but it can also be configured/updated // through finch if needed. @@ -903,8 +903,8 @@ const base::FeatureParam kPermissionPredictionsHoldbackChance( // Enables using the prediction service for geolocation permission prompts. BASE_FEATURE(kPermissionGeolocationPredictions, - "PermissionGeolocationPredictions", - base::FEATURE_ENABLED_BY_DEFAULT); + "PermissionGeolocationPredictions", // disabled by default + base::FEATURE_DISABLED_BY_DEFAULT); // in Bromite const base::FeatureParam kPermissionGeolocationPredictionsHoldbackChance( diff --git a/components/optimization_guide/core/hints_fetcher.cc b/components/optimization_guide/core/hints_fetcher.cc --- a/components/optimization_guide/core/hints_fetcher.cc +++ b/components/optimization_guide/core/hints_fetcher.cc @@ -174,6 +174,7 @@ bool HintsFetcher::FetchOptimizationGuideServiceHints( optimization_guide::proto::RequestContext request_context, const std::string& locale, HintsFetchedCallback hints_fetched_callback) { + if ((true)) return false; DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); DCHECK_GT(optimization_types.size(), 0u); request_context_ = request_context; diff --git a/components/optimization_guide/core/hints_manager.cc b/components/optimization_guide/core/hints_manager.cc --- a/components/optimization_guide/core/hints_manager.cc +++ b/components/optimization_guide/core/hints_manager.cc @@ -352,6 +352,7 @@ void HintsManager::Shutdown() { OptimizationGuideDecision HintsManager::GetOptimizationGuideDecisionFromOptimizationTypeDecision( OptimizationTypeDecision optimization_type_decision) { + if ((true)) return OptimizationGuideDecision::kFalse; switch (optimization_type_decision) { case OptimizationTypeDecision::kAllowedByOptimizationFilter: case OptimizationTypeDecision::kAllowedByHint: @@ -1056,6 +1057,7 @@ void HintsManager::CanApplyOptimizationOnDemand( DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); // TODO(crbug/1275612): Check whether we have consent to fetch. + if ((true)) return; // no consent on bromite // This set contains URLs that require some information to be fetched, whether // that be a URL-keyed hint or a host-keyed hint. @@ -1264,6 +1266,9 @@ OptimizationTypeDecision HintsManager::CanApplyOptimization( proto::OptimizationType optimization_type, OptimizationMetadata* optimization_metadata) { DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); + if ((true)) { + return OptimizationTypeDecision::kNoHintAvailable; + } ScopedCanApplyOptimizationLogger scoped_logger( optimization_type, navigation_url, optimization_guide_logger_); diff --git a/components/optimization_guide/core/optimization_guide_features.cc b/components/optimization_guide/core/optimization_guide_features.cc --- a/components/optimization_guide/core/optimization_guide_features.cc +++ b/components/optimization_guide/core/optimization_guide_features.cc @@ -78,17 +78,17 @@ bool IsSupportedLocaleForFeature(const std::string locale, // Enables the syncing of the Optimization Hints component, which provides // hints for what optimizations can be applied on a page load. BASE_FEATURE(kOptimizationHints, - "OptimizationHints", - base::FEATURE_ENABLED_BY_DEFAULT); + "OptimizationHints", // disabled by default + base::FEATURE_DISABLED_BY_DEFAULT); // in Bromite // Enables fetching from a remote Optimization Guide Service. BASE_FEATURE(kRemoteOptimizationGuideFetching, - "OptimizationHintsFetching", - base::FEATURE_ENABLED_BY_DEFAULT); + "OptimizationHintsFetching", // disabled by default + base::FEATURE_DISABLED_BY_DEFAULT); // in Bromite BASE_FEATURE(kRemoteOptimizationGuideFetchingAnonymousDataConsent, - "OptimizationHintsFetchingAnonymousDataConsent", - base::FEATURE_ENABLED_BY_DEFAULT); + "OptimizationHintsFetchingAnonymousDataConsent", // disabled by default + base::FEATURE_DISABLED_BY_DEFAULT); // in Bromite // Enables performance info in the context menu and fetching from a remote // Optimization Guide Service. @@ -98,17 +98,13 @@ BASE_FEATURE(kContextMenuPerformanceInfoAndRemoteHintFetching, // Enables the prediction of optimization targets. BASE_FEATURE(kOptimizationTargetPrediction, - "OptimizationTargetPrediction", - base::FEATURE_ENABLED_BY_DEFAULT); + "OptimizationTargetPrediction", // disabled by default + base::FEATURE_DISABLED_BY_DEFAULT); // in Bromite // Enables the downloading of models. BASE_FEATURE(kOptimizationGuideModelDownloading, - "OptimizationGuideModelDownloading", -#if BUILDFLAG(BUILD_WITH_TFLITE_LIB) - base::FEATURE_ENABLED_BY_DEFAULT -#else // BUILD_WITH_TFLITE_LIB - base::FEATURE_DISABLED_BY_DEFAULT -#endif // !BUILD_WITH_TFLITE_LIB + "OptimizationGuideModelDownloading", // disabled by default + base::FEATURE_DISABLED_BY_DEFAULT // in Bromite ); // Enables page content to be annotated. @@ -143,8 +139,8 @@ BASE_FEATURE(kPageEntitiesModelResetOnShutdown, // Enables push notification of hints. BASE_FEATURE(kPushNotifications, - "OptimizationGuidePushNotifications", - base::FEATURE_DISABLED_BY_DEFAULT); + "OptimizationGuidePushNotifications", // disabled by default + base::FEATURE_DISABLED_BY_DEFAULT); // in Bromite // This feature flag does not turn off any behavior, it is only used for // experiment parameters. @@ -158,15 +154,15 @@ BASE_FEATURE(kOptimizationGuideMetadataValidation, base::FEATURE_DISABLED_BY_DEFAULT); BASE_FEATURE(kPageTopicsBatchAnnotations, - "PageTopicsBatchAnnotations", - base::FEATURE_ENABLED_BY_DEFAULT); + "PageTopicsBatchAnnotations", // disabled by default + base::FEATURE_DISABLED_BY_DEFAULT); // in Bromite BASE_FEATURE(kPageVisibilityBatchAnnotations, "PageVisibilityBatchAnnotations", base::FEATURE_ENABLED_BY_DEFAULT); BASE_FEATURE(kUseLocalPageEntitiesMetadataProvider, - "UseLocalPageEntitiesMetadataProvider", - base::FEATURE_DISABLED_BY_DEFAULT); + "UseLocalPageEntitiesMetadataProvider", // disabled by default + base::FEATURE_DISABLED_BY_DEFAULT); // in Bromite BASE_FEATURE(kPageContentAnnotationsValidation, "PageContentAnnotationsValidation", @@ -418,7 +414,7 @@ size_t MaxURLKeyedHintCacheSize() { bool ShouldPersistHintsToDisk() { return GetFieldTrialParamByFeatureAsBool(kOptimizationHints, - "persist_hints_to_disk", true); + "persist_hints_to_disk", false); } bool ShouldOverrideOptimizationTargetDecisionForMetricsPurposes( diff --git a/components/optimization_guide/core/prediction_model_download_manager.cc b/components/optimization_guide/core/prediction_model_download_manager.cc --- a/components/optimization_guide/core/prediction_model_download_manager.cc +++ b/components/optimization_guide/core/prediction_model_download_manager.cc @@ -47,7 +47,7 @@ constexpr char kGoogApiKey[] = "X-Goog-Api-Key"; // we require models to come from. constexpr uint8_t kPublisherKeyHash[] = { 0x66, 0xa1, 0xd9, 0x3e, 0x4e, 0x5a, 0x66, 0x8a, 0x0f, 0xd3, 0xfa, - 0xa3, 0x70, 0x71, 0x42, 0x16, 0x0d, 0x2d, 0x68, 0xb0, 0x53, 0x02, + 0x01, 0x02, 0x03, 0x04, 0x16, 0x0d, 0x2d, 0x68, 0xb0, 0x53, 0x02, 0x5c, 0x7f, 0xd0, 0x0c, 0xa1, 0x6e, 0xef, 0xdd, 0x63, 0x7a}; const net::NetworkTrafficAnnotationTag kOptimizationGuidePredictionModelsTrafficAnnotation = @@ -106,7 +106,7 @@ PredictionModelDownloadManager::PredictionModelDownloadManager( const proto::ModelCacheKey& model_cache_key, scoped_refptr background_task_runner) : download_service_(download_service), - is_available_for_downloads_(true), + is_available_for_downloads_(false), api_key_(features::GetOptimizationGuideServiceAPIKey()), models_dir_path_(models_dir_path), prediction_model_store_(prediction_model_store), @@ -118,6 +118,7 @@ PredictionModelDownloadManager::~PredictionModelDownloadManager() = default; void PredictionModelDownloadManager::StartDownload( const GURL& download_url, proto::OptimizationTarget optimization_target) { + if ((true)) return; download::DownloadParams download_params; download_params.client = download::DownloadClient::OPTIMIZATION_GUIDE_PREDICTION_MODELS; @@ -254,6 +255,7 @@ void PredictionModelDownloadManager::OnDownloadFailed( absl::optional> PredictionModelDownloadManager::VerifyDownload(const base::FilePath& file_path, bool delete_file_on_error) { + if ((true)) return absl::nullopt; if (!switches::ShouldSkipModelDownloadVerificationForTesting()) { // Verify that the |file_path| contains a valid CRX file. std::string public_key; diff --git a/components/optimization_guide/core/prediction_model_fetcher_impl.cc b/components/optimization_guide/core/prediction_model_fetcher_impl.cc --- a/components/optimization_guide/core/prediction_model_fetcher_impl.cc +++ b/components/optimization_guide/core/prediction_model_fetcher_impl.cc @@ -50,6 +50,7 @@ bool PredictionModelFetcherImpl::FetchOptimizationGuideServiceModels( proto::RequestContext request_context, const std::string& locale, ModelsFetchedCallback models_fetched_callback) { + if ((true)) return false; DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); if (url_loader_) diff --git a/components/optimization_guide/features.gni b/components/optimization_guide/features.gni --- a/components/optimization_guide/features.gni +++ b/components/optimization_guide/features.gni @@ -10,9 +10,7 @@ if (is_android) { declare_args() { # This enables build with TFLite library. # Currently only available for Desktop and Android. - build_with_tflite_lib = - is_android || (is_win && target_cpu != "arm64") || is_linux || is_mac || - is_chromeos || is_fuchsia || is_ios + build_with_tflite_lib = false # You can set the variable 'build_with_internal_optimization_guide' to true # even in a developer build in args.gn. Setting this variable explicitly to true will diff --git a/components/permissions/features.cc b/components/permissions/features.cc --- a/components/permissions/features.cc +++ b/components/permissions/features.cc @@ -78,12 +78,12 @@ const base::FeatureParam kPermissionChipAutoDismissDelay{ // When enabled, use the value of the `service_url` FeatureParam as the url // for the Web Permission Predictions Service. BASE_FEATURE(kPermissionPredictionServiceUseUrlOverride, - "kPermissionPredictionServiceUseUrlOverride", - base::FEATURE_DISABLED_BY_DEFAULT); + "kPermissionPredictionServiceUseUrlOverride", // disabled by default + base::FEATURE_DISABLED_BY_DEFAULT); // in Bromite BASE_FEATURE(kPermissionOnDeviceNotificationPredictions, - "PermissionOnDeviceNotificationPredictions", - base::FEATURE_ENABLED_BY_DEFAULT); + "PermissionOnDeviceNotificationPredictions", // disabled by default + base::FEATURE_DISABLED_BY_DEFAULT); // in Bromite BASE_FEATURE(kPermissionOnDeviceGeolocationPredictions, "PermissionOnDeviceGeolocationPredictions", diff --git a/third_party/blink/common/features.cc b/third_party/blink/common/features.cc --- a/third_party/blink/common/features.cc +++ b/third_party/blink/common/features.cc @@ -230,12 +230,8 @@ BASE_FEATURE(kMixedContentAutoupgrade, // predictor may preconnect/prefetch to resources/origins to make the // future navigations faster. BASE_FEATURE(kNavigationPredictor, - "NavigationPredictor", -#if BUILDFLAG(IS_ANDROID) - base::FEATURE_ENABLED_BY_DEFAULT -#else - base::FEATURE_DISABLED_BY_DEFAULT -#endif + "NavigationPredictor", // disabled by default + base::FEATURE_DISABLED_BY_DEFAULT // in Bromite ); // Anchor Element Interaction -- 2.25.1