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/browser/BUILD.gn | 2 -- .../preloading_model_keyed_service.cc | 3 +++ .../preloading_model_keyed_service_factory.cc | 4 +--- .../optimization_guide/chrome_hints_manager.cc | 1 + .../model_validator_keyed_service.cc | 6 +++++- .../optimization_guide_keyed_service.cc | 1 - .../predictors/loading_predictor_config.cc | 4 ++-- chrome/browser/predictors/predictors_features.cc | 3 +-- chrome/browser/ui/tab_helpers.cc | 1 - .../ui/webui/omnibox/omnibox_page_handler.cc | 2 ++ .../core/browser/autofill_optimization_guide.cc | 5 +++-- .../omnibox/browser/autocomplete_controller.cc | 4 ++++ .../optimization_guide/core/hints_fetcher.cc | 1 + .../optimization_guide/core/hints_manager.cc | 5 +++++ .../core/optimization_guide_features.cc | 15 +++++++++------ .../core/prediction_model_download_manager.cc | 6 ++++-- .../core/prediction_model_fetcher_impl.cc | 1 + components/optimization_guide/features.gni | 3 +-- .../core/page_content_annotations_features.cc | 5 +++++ components/search/ntp_features.cc | 3 +++ .../Disable-all-predictors-code.inc | 4 ++++ .../Disable-all-predictors-code.inc | 1 + .../features_cc/Disable-all-predictors-code.inc | 4 ++++ .../features_cc/Disable-all-predictors-code.inc | 2 ++ .../document_speculation_rules.cc | 1 + .../platform/runtime_enabled_features.json5 | 2 +- 26 files changed, 64 insertions(+), 25 deletions(-) create mode 100644 cromite_flags/chrome/browser/browser_features_cc/Disable-all-predictors-code.inc create mode 100644 cromite_flags/chrome/common/chrome_features_cc/Disable-all-predictors-code.inc create mode 100644 cromite_flags/components/permissions/features_cc/Disable-all-predictors-code.inc create mode 100644 cromite_flags/third_party/blink/common/features_cc/Disable-all-predictors-code.inc diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn --- a/chrome/browser/BUILD.gn +++ b/chrome/browser/BUILD.gn @@ -853,8 +853,6 @@ static_library("browser") { "navigation_predictor/navigation_predictor_keyed_service_factory.h", "navigation_predictor/navigation_predictor_metrics_document_data.cc", "navigation_predictor/navigation_predictor_metrics_document_data.h", - "navigation_predictor/navigation_predictor_preconnect_client.cc", - "navigation_predictor/navigation_predictor_preconnect_client.h", "navigation_predictor/preloading_model_keyed_service.cc", "navigation_predictor/preloading_model_keyed_service.h", "navigation_predictor/preloading_model_keyed_service_factory.cc", diff --git a/chrome/browser/navigation_predictor/preloading_model_keyed_service.cc b/chrome/browser/navigation_predictor/preloading_model_keyed_service.cc --- a/chrome/browser/navigation_predictor/preloading_model_keyed_service.cc +++ b/chrome/browser/navigation_predictor/preloading_model_keyed_service.cc @@ -11,6 +11,7 @@ #include "chrome/browser/navigation_predictor/preloading_model_handler.h" #endif +#if BUILDFLAG(BUILD_WITH_TFLITE_LIB) namespace { // The model takes all of its inputs as floats, so this is a convenience @@ -28,12 +29,14 @@ constexpr float ToInput(base::TimeDelta val) { static_assert(1.0f == ToInput(true)); } // namespace +#endif PreloadingModelKeyedService::Inputs::Inputs() = default; PreloadingModelKeyedService::PreloadingModelKeyedService( OptimizationGuideKeyedService* optimization_guide_keyed_service) { #if BUILDFLAG(BUILD_WITH_TFLITE_LIB) +#error BUILD_WITH_TFLITE_LIB must be disabled auto* model_provider = static_cast( optimization_guide_keyed_service); diff --git a/chrome/browser/navigation_predictor/preloading_model_keyed_service_factory.cc b/chrome/browser/navigation_predictor/preloading_model_keyed_service_factory.cc --- a/chrome/browser/navigation_predictor/preloading_model_keyed_service_factory.cc +++ b/chrome/browser/navigation_predictor/preloading_model_keyed_service_factory.cc @@ -42,7 +42,5 @@ std::unique_ptr blink::features::kPreloadingHeuristicsMLModel)) { return nullptr; } - auto* profile = Profile::FromBrowserContext(context); - return std::make_unique( - OptimizationGuideKeyedServiceFactory::GetForProfile(profile)); + return nullptr; } 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 @@ -27,6 +27,7 @@ bool IsAllowedToFetchForNavigationPrediction( const std::optional prediction) { DCHECK(prediction); + if ((true)) return false; if (prediction->prediction_source() != NavigationPredictorKeyedService::PredictionSource:: diff --git a/chrome/browser/optimization_guide/model_validator_keyed_service.cc b/chrome/browser/optimization_guide/model_validator_keyed_service.cc --- a/chrome/browser/optimization_guide/model_validator_keyed_service.cc +++ b/chrome/browser/optimization_guide/model_validator_keyed_service.cc @@ -53,13 +53,13 @@ namespace optimization_guide { ModelValidatorKeyedService::ModelValidatorKeyedService(Profile* profile) : profile_(profile) { DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); +#if BUILDFLAG(BUILD_WITH_TFLITE_LIB) DCHECK(ShouldStartModelValidator()); auto* opt_guide_service = OptimizationGuideKeyedServiceFactory::GetForProfile(profile); if (!opt_guide_service) { return; } -#if BUILDFLAG(BUILD_WITH_TFLITE_LIB) if (switches::ShouldValidateModel()) { // Create the validator object which will get destroyed when the model // load is complete. @@ -120,6 +120,7 @@ void ModelValidatorKeyedService::OnPrimaryAccountChanged( void ModelValidatorKeyedService::StartModelExecutionValidation() { DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); +#if BUILDFLAG(BUILD_WITH_TFLITE_LIB) auto* opt_guide_service = OptimizationGuideKeyedServiceFactory::GetForProfile(profile_); if (!opt_guide_service) { @@ -137,6 +138,7 @@ void ModelValidatorKeyedService::StartModelExecutionValidation() { ModelBasedCapabilityKey::kTest, request, base::BindOnce(&ModelValidatorKeyedService::OnModelExecuteResponse, weak_ptr_factory_.GetWeakPtr())); +#endif } void ModelValidatorKeyedService::StartOnDeviceModelExecutionValidation( @@ -154,6 +156,7 @@ void ModelValidatorKeyedService::StartOnDeviceModelExecutionValidation( void ModelValidatorKeyedService::PerformOnDeviceModelExecutionValidation( std::unique_ptr request) { +#if BUILDFLAG(BUILD_WITH_TFLITE_LIB) DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); auto* opt_guide_service = OptimizationGuideKeyedServiceFactory::GetForProfile(profile_); @@ -167,6 +170,7 @@ void ModelValidatorKeyedService::PerformOnDeviceModelExecutionValidation( *request, base::RepeatingCallback(base::BindRepeating( &ModelValidatorKeyedService::OnDeviceModelExecuteResponse, weak_ptr_factory_.GetWeakPtr()))); +#endif } void ModelValidatorKeyedService::OnDeviceModelExecuteResponse( 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 @@ -522,7 +522,6 @@ void OptimizationGuideKeyedService::RemoveObserverForOptimizationTargetModel( void OptimizationGuideKeyedService::RegisterOptimizationTypes( const std::vector& optimization_types) { - hints_manager_->RegisterOptimizationTypes(optimization_types); } optimization_guide::OptimizationGuideDecision diff --git a/chrome/browser/predictors/loading_predictor_config.cc b/chrome/browser/predictors/loading_predictor_config.cc --- a/chrome/browser/predictors/loading_predictor_config.cc +++ b/chrome/browser/predictors/loading_predictor_config.cc @@ -13,8 +13,8 @@ namespace predictors { bool IsLoadingPredictorEnabled(Profile* profile) { - // Disabled for off-the-record. Policy choice, not a technical limitation. - return profile && !profile->IsOffTheRecord(); + // Disabled for all profiles + return false; } bool IsPreconnectAllowed(Profile* profile) { diff --git a/chrome/browser/predictors/predictors_features.cc b/chrome/browser/predictors/predictors_features.cc --- a/chrome/browser/predictors/predictors_features.cc +++ b/chrome/browser/predictors/predictors_features.cc @@ -12,8 +12,7 @@ namespace features { namespace { constexpr base::FeatureState kFeatureEnabledOnlyOnAndroid = - BUILDFLAG(IS_ANDROID) ? base::FEATURE_ENABLED_BY_DEFAULT - : base::FEATURE_DISABLED_BY_DEFAULT; + base::FEATURE_DISABLED_BY_DEFAULT; } // namespace diff --git a/chrome/browser/ui/tab_helpers.cc b/chrome/browser/ui/tab_helpers.cc --- a/chrome/browser/ui/tab_helpers.cc +++ b/chrome/browser/ui/tab_helpers.cc @@ -418,7 +418,6 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) { } MixedContentSettingsTabHelper::CreateForWebContents(web_contents); NavigationMetricsRecorder::CreateForWebContents(web_contents); - NavigationPredictorPreconnectClient::CreateForWebContents(web_contents); OpenerHeuristicTabHelper::CreateForWebContents(web_contents); if (optimization_guide::features::IsOptimizationHintsEnabled()) { OptimizationGuideWebContentsObserver::CreateForWebContents(web_contents); diff --git a/chrome/browser/ui/webui/omnibox/omnibox_page_handler.cc b/chrome/browser/ui/webui/omnibox/omnibox_page_handler.cc --- a/chrome/browser/ui/webui/omnibox/omnibox_page_handler.cc +++ b/chrome/browser/ui/webui/omnibox/omnibox_page_handler.cc @@ -39,7 +39,9 @@ #include "components/omnibox/browser/autocomplete_match.h" #include "components/omnibox/browser/autocomplete_provider.h" #include "components/omnibox/browser/autocomplete_result.h" +#if BUILDFLAG(BUILD_WITH_TFLITE_LIB) #include "components/omnibox/browser/omnibox_field_trial.h" +#endif #include "components/optimization_guide/machine_learning_tflite_buildflags.h" #include "components/search_engines/template_url.h" #include "content/public/browser/web_ui.h" diff --git a/components/autofill/core/browser/autofill_optimization_guide.cc b/components/autofill/core/browser/autofill_optimization_guide.cc --- a/components/autofill/core/browser/autofill_optimization_guide.cc +++ b/components/autofill/core/browser/autofill_optimization_guide.cc @@ -165,6 +165,7 @@ void AutofillOptimizationGuide::OnDidParseForm( // If we do not have any optimization types to register, do not do anything. if (!optimization_types.empty()) { // Register all optimization types that we need based on `form_structure`. + if (decider_) decider_->RegisterOptimizationTypes( std::vector( std::move(optimization_types).extract())); @@ -216,7 +217,7 @@ bool AutofillOptimizationGuide::ShouldBlockSingleFieldSuggestions( AutofillField* field) const { // If the field's storable type is `IBAN_VALUE`, check whether IBAN // suggestions should be blocked based on `url`. - if (field->Type().GetStorableType() == IBAN_VALUE) { + if (decider_ && field->Type().GetStorableType() == IBAN_VALUE) { optimization_guide::OptimizationGuideDecision decision = decider_->CanApplyOptimization( url, optimization_guide::proto::IBAN_AUTOFILL_BLOCKED, @@ -242,7 +243,7 @@ bool AutofillOptimizationGuide::ShouldBlockFormFieldSuggestion( const CreditCard& card) const { if (auto optimization_type = GetVcnMerchantOptOutOptimizationTypeForCard(card); - optimization_type != optimization_guide::proto::TYPE_UNSPECIFIED) { + decider_ && optimization_type != optimization_guide::proto::TYPE_UNSPECIFIED) { optimization_guide::OptimizationGuideDecision decision = decider_->CanApplyOptimization(url, optimization_type, /*optimization_metadata=*/nullptr); diff --git a/components/omnibox/browser/autocomplete_controller.cc b/components/omnibox/browser/autocomplete_controller.cc --- a/components/omnibox/browser/autocomplete_controller.cc +++ b/components/omnibox/browser/autocomplete_controller.cc @@ -47,7 +47,9 @@ #include "components/omnibox/browser/autocomplete_input.h" #include "components/omnibox/browser/autocomplete_match_type.h" #include "components/omnibox/browser/autocomplete_provider.h" +#if BUILDFLAG(BUILD_WITH_TFLITE_LIB) #include "components/omnibox/browser/autocomplete_provider_client.h" +#endif #include "components/omnibox/browser/autocomplete_scoring_signals_annotator.h" #include "components/omnibox/browser/bookmark_provider.h" #include "components/omnibox/browser/bookmark_scoring_signals_annotator.h" @@ -116,6 +118,7 @@ using ScoringSignals = ::metrics::OmniboxEventProto::Suggestion::ScoringSignals; constexpr bool is_android = !!BUILDFLAG(IS_ANDROID); +#if BUILDFLAG(BUILD_WITH_TFLITE_LIB) void RecordMlScoreCoverage(size_t matches_with_non_null_scores, size_t total_scored_matches) { int percent_score_coverage = @@ -124,6 +127,7 @@ void RecordMlScoreCoverage(size_t matches_with_non_null_scores, "Omnibox.URLScoringModelExecuted.MLScoreCoverage", percent_score_coverage); } +#endif // Appends available autocompletion of the given type, subtype, and number to // the existing available autocompletions string, encoding according to the 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 @@ -185,6 +185,7 @@ bool HintsFetcher::FetchOptimizationGuideServiceHints( bool skip_cache, HintsFetchedCallback hints_fetched_callback, std::optional request_context_metadata) { + 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 @@ -393,6 +393,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: @@ -1116,6 +1117,7 @@ void HintsManager::CanApplyOptimizationOnDemand( OnDemandOptimizationGuideDecisionRepeatingCallback callback, std::optional request_context_metadata) { DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); + if ((true)) return; // no consent on bromite InsertionOrderedSet urls_to_fetch; InsertionOrderedSet hosts_to_fetch; @@ -1421,6 +1423,9 @@ OptimizationTypeDecision HintsManager::CanApplyOptimization( bool skip_cache, OptimizationMetadata* optimization_metadata) { DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); + if ((true)) { + return OptimizationTypeDecision::kNoHintAvailable; + } ScopedCanApplyOptimizationLogger scoped_logger(optimization_type, 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 @@ -37,11 +37,7 @@ namespace features { namespace { constexpr auto enabled_by_default_mobile_only = -#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_IOS) - base::FEATURE_ENABLED_BY_DEFAULT; -#else base::FEATURE_DISABLED_BY_DEFAULT; -#endif } // namespace @@ -427,8 +423,7 @@ size_t MaxURLKeyedHintCacheSize() { } bool ShouldPersistHintsToDisk() { - return GetFieldTrialParamByFeatureAsBool(kOptimizationHints, - "persist_hints_to_disk", true); + return false; } RequestContextSet GetAllowedContextsForPersonalizedMetadata() { @@ -814,5 +809,13 @@ double GetOnDeviceModelDefaultTemperature() { return kTemperature.Get(); } +SET_CROMITE_FEATURE_DISABLED(kOptimizationHints); +SET_CROMITE_FEATURE_DISABLED(kRemoteOptimizationGuideFetching); +SET_CROMITE_FEATURE_DISABLED(kRemoteOptimizationGuideFetchingAnonymousDataConsent); +SET_CROMITE_FEATURE_DISABLED(kOptimizationTargetPrediction); +SET_CROMITE_FEATURE_DISABLED(kOptimizationGuideModelDownloading); +SET_CROMITE_FEATURE_DISABLED(kPushNotifications); +SET_CROMITE_FEATURE_DISABLED(kPreventLongRunningPredictionModels); +SET_CROMITE_FEATURE_DISABLED(kOptimizationGuideFetchingForSRP); } // namespace features } // namespace optimization_guide 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 = @@ -104,7 +104,7 @@ PredictionModelDownloadManager::PredictionModelDownloadManager( GetBaseModelDirForDownloadCallback get_base_model_dir_for_download_callback, scoped_refptr background_task_runner) : download_service_(download_service), - is_available_for_downloads_(true), + is_available_for_downloads_(false), api_key_(features::GetOptimizationGuideServiceAPIKey()), get_base_model_dir_for_download_callback_( get_base_model_dir_for_download_callback), @@ -115,6 +115,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; @@ -260,6 +261,7 @@ bool PredictionModelDownloadManager::VerifyDownload( const base::FilePath& download_file_path, const base::FilePath& base_model_dir, bool delete_file_on_error) { + if ((true)) return false; if (!switches::ShouldSkipModelDownloadVerificationForTesting()) { // Verify that the |download_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 @@ -11,8 +11,7 @@ declare_args() { # This enables build with TFLite library. # TODO(b/269198471): Make sure the internal archive files for opt guide get # updated when win arm64 gets added as a supported platform for TFLite. - build_with_tflite_lib = is_android || is_win || is_linux || is_mac || - is_chromeos || is_fuchsia || is_ios + build_with_tflite_lib = false } declare_args() { diff --git a/components/page_content_annotations/core/page_content_annotations_features.cc b/components/page_content_annotations/core/page_content_annotations_features.cc --- a/components/page_content_annotations/core/page_content_annotations_features.cc +++ b/components/page_content_annotations/core/page_content_annotations_features.cc @@ -270,4 +270,9 @@ size_t MaxRelatedSearchesCacheSize() { "max_related_searches_cache_size", 10); } +SET_CROMITE_FEATURE_DISABLED(kPageContentAnnotations); +SET_CROMITE_FEATURE_DISABLED(kRemotePageMetadata); +SET_CROMITE_FEATURE_DISABLED(kPageVisibilityBatchAnnotations); +SET_CROMITE_FEATURE_DISABLED(kPageContentAnnotationsValidation); +SET_CROMITE_FEATURE_DISABLED(kPageContentAnnotationsPersistSalientImageMetadata); } // namespace page_content_annotations::features diff --git a/components/search/ntp_features.cc b/components/search/ntp_features.cc --- a/components/search/ntp_features.cc +++ b/components/search/ntp_features.cc @@ -566,4 +566,7 @@ std::vector GetModulesOrder() { base::SplitResult::SPLIT_WANT_NONEMPTY); } +SET_CROMITE_FEATURE_DISABLED(kNtpHistoryClustersModule); +SET_CROMITE_FEATURE_DISABLED(kNtpHistoryClustersModuleLoad); +SET_CROMITE_FEATURE_DISABLED(kNtpHistoryClustersModuleUseModelRanking); } // namespace ntp_features diff --git a/cromite_flags/chrome/browser/browser_features_cc/Disable-all-predictors-code.inc b/cromite_flags/chrome/browser/browser_features_cc/Disable-all-predictors-code.inc new file mode 100644 --- /dev/null +++ b/cromite_flags/chrome/browser/browser_features_cc/Disable-all-predictors-code.inc @@ -0,0 +1,4 @@ +SET_CROMITE_FEATURE_DISABLED(kOmniboxTriggerForPrerender2); +SET_CROMITE_FEATURE_DISABLED(kBookmarkTriggerForPrerender2); +SET_CROMITE_FEATURE_DISABLED(kNewTabPageTriggerForPrerender2); +SET_CROMITE_FEATURE_DISABLED(kSupportSearchSuggestionForPrerender2); diff --git a/cromite_flags/chrome/common/chrome_features_cc/Disable-all-predictors-code.inc b/cromite_flags/chrome/common/chrome_features_cc/Disable-all-predictors-code.inc new file mode 100644 --- /dev/null +++ b/cromite_flags/chrome/common/chrome_features_cc/Disable-all-predictors-code.inc @@ -0,0 +1 @@ +SET_CROMITE_FEATURE_DISABLED(kPrerenderFallbackToPreconnect); diff --git a/cromite_flags/components/permissions/features_cc/Disable-all-predictors-code.inc b/cromite_flags/components/permissions/features_cc/Disable-all-predictors-code.inc new file mode 100644 --- /dev/null +++ b/cromite_flags/components/permissions/features_cc/Disable-all-predictors-code.inc @@ -0,0 +1,4 @@ +SET_CROMITE_FEATURE_DISABLED(kPermissionPredictionServiceUseUrlOverride); +SET_CROMITE_FEATURE_DISABLED(kPermissionOnDeviceNotificationPredictions); +SET_CROMITE_FEATURE_DISABLED(kPermissionOnDeviceGeolocationPredictions); +SET_CROMITE_FEATURE_DISABLED(kPermissionPredictionsV2); diff --git a/cromite_flags/third_party/blink/common/features_cc/Disable-all-predictors-code.inc b/cromite_flags/third_party/blink/common/features_cc/Disable-all-predictors-code.inc new file mode 100644 --- /dev/null +++ b/cromite_flags/third_party/blink/common/features_cc/Disable-all-predictors-code.inc @@ -0,0 +1,2 @@ +SET_CROMITE_FEATURE_DISABLED(kNavigationPredictor); +SET_CROMITE_FEATURE_DISABLED(kPreloadingHeuristicsMLModel); diff --git a/third_party/blink/renderer/core/speculation_rules/document_speculation_rules.cc b/third_party/blink/renderer/core/speculation_rules/document_speculation_rules.cc --- a/third_party/blink/renderer/core/speculation_rules/document_speculation_rules.cc +++ b/third_party/blink/renderer/core/speculation_rules/document_speculation_rules.cc @@ -657,6 +657,7 @@ void DocumentSpeculationRules::UpdateSpeculationCandidates() { return; } + if ((true)) return; HeapVector> candidates; auto push_candidates = [&candidates, &document]( mojom::blink::SpeculationAction action, diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5 b/third_party/blink/renderer/platform/runtime_enabled_features.json5 --- a/third_party/blink/renderer/platform/runtime_enabled_features.json5 +++ b/third_party/blink/renderer/platform/runtime_enabled_features.json5 @@ -3053,7 +3053,7 @@ // // It also has some feature params defined throughout the codebase. name: "Prerender2", - status: "stable", + status: "test", }, { name: "Presentation", --