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/autocomplete_action_predictor.cc | 2 ++ .../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 ++ .../accessibility/read_aloud_app_model.cc | 8 ++++++++ .../renderer/accessibility/read_aloud_app_model.h | 7 +++++++ .../accessibility/read_anything_app_controller.cc | 12 ++++++++++++ .../accessibility/read_anything_app_controller.h | 4 ++++ chrome/utility/BUILD.gn | 2 +- chrome/utility/services.cc | 8 -------- .../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 +++++ .../Disable-all-predictors-code.inc | 3 +++ .../Disable-all-predictors-code.inc | 1 + .../Disable-all-predictors-code.inc | 1 + .../features_cc/Disable-all-predictors-code.inc | 4 ++++ .../features_cc/Disable-all-predictors-code.inc | 1 + .../features_cc/Disable-all-predictors-code.inc | 2 ++ services/webnn/features.gni | 2 +- .../document_speculation_rules.cc | 1 + .../platform/runtime_enabled_features.json5 | 2 +- 35 files changed, 97 insertions(+), 35 deletions(-) create mode 100644 cromite_flags/chrome/browser/browser_features_cc/Disable-all-predictors-code.inc create mode 100644 cromite_flags/chrome/browser/flags/android/chrome_feature_list_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/services/network/public/cpp/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 @@ -774,8 +774,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,6 +29,7 @@ constexpr float ToInput(base::TimeDelta val) { static_assert(1.0f == ToInput(true)); } // namespace +#endif PreloadingModelKeyedService::Inputs::Inputs() = default; PreloadingModelKeyedService::Inputs::Inputs(const Inputs& other) = default; @@ -37,6 +39,7 @@ PreloadingModelKeyedService::Inputs::operator=(const Inputs& other) = 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 @@ -66,13 +66,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. @@ -133,6 +133,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) { @@ -150,6 +151,7 @@ void ModelValidatorKeyedService::StartModelExecutionValidation() { ModelBasedCapabilityKey::kTest, request, base::BindOnce(&ModelValidatorKeyedService::OnModelExecuteResponse, weak_ptr_factory_.GetWeakPtr())); +#endif } void ModelValidatorKeyedService::StartOnDeviceModelExecutionValidation( @@ -167,6 +169,7 @@ void ModelValidatorKeyedService::StartOnDeviceModelExecutionValidation( void ModelValidatorKeyedService::PerformOnDeviceModelExecutionValidation( std::unique_ptr input) { +#if BUILDFLAG(BUILD_WITH_TFLITE_LIB) DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); auto* opt_guide_service = OptimizationGuideKeyedServiceFactory::GetForProfile(profile_); @@ -203,6 +206,7 @@ void ModelValidatorKeyedService::ExecuteModel( 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 @@ -558,7 +558,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/autocomplete_action_predictor.cc b/chrome/browser/predictors/autocomplete_action_predictor.cc --- a/chrome/browser/predictors/autocomplete_action_predictor.cc +++ b/chrome/browser/predictors/autocomplete_action_predictor.cc @@ -209,6 +209,8 @@ void AutocompleteActionPredictor::StartPrerendering( SetIsNavigationInDomainCallback(preloading_data); + if ((true)) return; // was kOmniboxTriggerForPrerender2 + // Create new PreloadingAttempt and pass all the values corresponding to this // prerendering attempt for Prerender. content::PreloadingAttempt* preloading_attempt = 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 @@ -444,7 +444,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 @@ -40,7 +40,9 @@ #include "components/omnibox/browser/autocomplete_provider.h" #include "components/omnibox/browser/autocomplete_result.h" #include "components/omnibox/browser/omnibox_feature_configs.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/chrome/renderer/accessibility/read_aloud_app_model.cc b/chrome/renderer/accessibility/read_aloud_app_model.cc --- a/chrome/renderer/accessibility/read_aloud_app_model.cc +++ b/chrome/renderer/accessibility/read_aloud_app_model.cc @@ -6,7 +6,9 @@ #include "base/strings/utf_string_conversions.h" #include "base/values.h" +#if BUILDFLAG(BUILD_WITH_TFLITE_LIB) #include "chrome/renderer/accessibility/phrase_segmentation/dependency_parser_model.h" +#endif #include "chrome/renderer/accessibility/phrase_segmentation/dependency_tree.h" #include "chrome/renderer/accessibility/phrase_segmentation/phrase_segmenter.h" #include "chrome/renderer/accessibility/phrase_segmentation/token_boundaries.h" @@ -16,6 +18,7 @@ namespace { +#if BUILDFLAG(BUILD_WITH_TFLITE_LIB) std::vector GetDependencyHeads( DependencyParserModel& dependency_parser_model, std::vector input) { @@ -25,6 +28,7 @@ std::vector GetDependencyHeads( return {}; } } +#endif } // namespace @@ -131,6 +135,7 @@ void ReadAloudAppModel::PreprocessTextForSpeech( } } +#if BUILDFLAG(BUILD_WITH_TFLITE_LIB) void ReadAloudAppModel::PreprocessPhrasesForText( DependencyParserModel& dependency_parser_model) { if (features::IsReadAnythingReadAloudPhraseHighlightingEnabled()) { @@ -145,7 +150,9 @@ void ReadAloudAppModel::PreprocessPhrasesForText( DLOG(WARNING) << "Phrase calculation done."; } } +#endif +#if BUILDFLAG(BUILD_WITH_TFLITE_LIB) void ReadAloudAppModel::CalculatePhrases( DependencyParserModel& dependency_parser_model, a11y::ReadAloudCurrentGranularity& granularity) { @@ -200,6 +207,7 @@ void ReadAloudAppModel::CalculatePhrases( smart_highlight, tokenized_sentence, token_boundaries, Strategy::kWords, /* max_words_per_phrase=*/5); } +#endif // TODO(crbug.com/40927698): Update to use AXRange to better handle multiple // nodes. This may require updating GetText in ax_range.h to return AXNodeIds. diff --git a/chrome/renderer/accessibility/read_aloud_app_model.h b/chrome/renderer/accessibility/read_aloud_app_model.h --- a/chrome/renderer/accessibility/read_aloud_app_model.h +++ b/chrome/renderer/accessibility/read_aloud_app_model.h @@ -9,7 +9,10 @@ #include "base/values.h" #include "chrome/common/accessibility/read_anything.mojom.h" #include "chrome/common/accessibility/read_anything_constants.h" +#include "components/optimization_guide/machine_learning_tflite_buildflags.h" +#if BUILDFLAG(BUILD_WITH_TFLITE_LIB) #include "chrome/renderer/accessibility/phrase_segmentation/dependency_parser_model.h" +#endif #include "chrome/renderer/accessibility/read_aloud_traversal_utils.h" #include "ui/accessibility/ax_node_position.h" @@ -87,7 +90,9 @@ class ReadAloudAppModel { bool is_docs, const std::set* current_nodes); +#if BUILDFLAG(BUILD_WITH_TFLITE_LIB) void PreprocessPhrasesForText(DependencyParserModel& dependency_parser_model); +#endif // Increments the processed_granularity_index_, updating ReadAloud's state of // the current granularity to refer to the next granularity. The current @@ -241,9 +246,11 @@ class ReadAloudAppModel { // still needs to be read. bool NoValidTextRemainingInCurrentNode(bool is_pdf, bool is_docs) const; +#if BUILDFLAG(BUILD_WITH_TFLITE_LIB) // Segment the given granularity into phrases with the given model. void CalculatePhrases(DependencyParserModel& dependency_parser_model, a11y::ReadAloudCurrentGranularity& granularity); +#endif // Whether Read Aloud speech is currently playing or not. bool speech_playing_ = false; diff --git a/chrome/renderer/accessibility/read_anything_app_controller.cc b/chrome/renderer/accessibility/read_anything_app_controller.cc --- a/chrome/renderer/accessibility/read_anything_app_controller.cc +++ b/chrome/renderer/accessibility/read_anything_app_controller.cc @@ -20,7 +20,9 @@ #include "base/strings/utf_string_conversions.h" #include "chrome/common/accessibility/read_anything_constants.h" #include "chrome/renderer/accessibility/ax_tree_distiller.h" +#if BUILDFLAG(BUILD_WITH_TFLITE_LIB) #include "chrome/renderer/accessibility/phrase_segmentation/dependency_parser_model.h" +#endif #include "chrome/renderer/accessibility/read_aloud_traversal_utils.h" #include "chrome/renderer/accessibility/read_anything_node_utils.h" #include "components/language/core/common/locale_util.h" @@ -362,11 +364,13 @@ SkBitmap CorrectColorOfBitMap(SkBitmap& originalBitmap) { return converted; } +#if BUILDFLAG(BUILD_WITH_TFLITE_LIB) // Returns the dependency parser model for this renderer process. DependencyParserModel& GetDependencyParserModel() { static base::NoDestructor instance; return *instance; } +#endif } // namespace @@ -1474,6 +1478,7 @@ void ReadAnythingAppController::OnConnected() { render_frame()->GetBrowserInterfaceBroker().GetInterface( std::move(page_handler_factory_receiver)); +#if BUILDFLAG(BUILD_WITH_TFLITE_LIB) // Get the dependency parser model used by phrase-based highlighting. DependencyParserModel& dependency_parser_model = GetDependencyParserModel(); if (dependency_parser_model.IsAvailable()) { @@ -1483,6 +1488,7 @@ void ReadAnythingAppController::OnConnected() { page_handler_->GetDependencyParserModel( base::BindOnce(&ReadAnythingAppController::UpdateDependencyParserModel, weak_ptr_factory_.GetWeakPtr())); +#endif } void ReadAnythingAppController::OnCopy() const { @@ -1692,6 +1698,7 @@ std::vector ReadAnythingAppController::GetCurrentText() { } void ReadAnythingAppController::PreprocessTextForSpeech() { +#if BUILDFLAG(BUILD_WITH_TFLITE_LIB) const std::set* node_ids = model_.selection_node_ids().empty() ? &model_.display_node_ids() : &model_.selection_node_ids(); @@ -1701,6 +1708,7 @@ void ReadAnythingAppController::PreprocessTextForSpeech() { DependencyParserModel& model = GetDependencyParserModel(); read_aloud_model_.PreprocessPhrasesForText(model); } +#endif } void ReadAnythingAppController::MovePositionToNextGranularity() { @@ -1874,11 +1882,15 @@ bool ReadAnythingAppController::IsDocsLoadMoreButtonVisible() const { void ReadAnythingAppController::UpdateDependencyParserModel( base::File model_file) { +#if BUILDFLAG(BUILD_WITH_TFLITE_LIB) DependencyParserModel& dependency_parser_model = GetDependencyParserModel(); dependency_parser_model.UpdateWithFile(std::move(model_file)); +#endif } +#if BUILDFLAG(BUILD_WITH_TFLITE_LIB) DependencyParserModel& ReadAnythingAppController::GetDependencyParserModelForTesting() { return GetDependencyParserModel(); } +#endif diff --git a/chrome/renderer/accessibility/read_anything_app_controller.h b/chrome/renderer/accessibility/read_anything_app_controller.h --- a/chrome/renderer/accessibility/read_anything_app_controller.h +++ b/chrome/renderer/accessibility/read_anything_app_controller.h @@ -44,7 +44,9 @@ class MojoUkmRecorder; } // namespace ukm class AXTreeDistiller; +#if BUILDFLAG(BUILD_WITH_TFLITE_LIB) class DependencyParserModel; +#endif class ReadAnythingAppControllerTest; class ReadAnythingAppControllerScreen2xDataCollectionModeTest; @@ -366,7 +368,9 @@ class ReadAnythingAppController // available. void UpdateDependencyParserModel(base::File model_file); +#if BUILDFLAG(BUILD_WITH_TFLITE_LIB) DependencyParserModel& GetDependencyParserModelForTesting(); +#endif std::unique_ptr distiller_; mojo::Remote diff --git a/chrome/utility/BUILD.gn b/chrome/utility/BUILD.gn --- a/chrome/utility/BUILD.gn +++ b/chrome/utility/BUILD.gn @@ -65,7 +65,7 @@ static_library("utility") { "//printing/buildflags", "//services/data_decoder:lib", "//services/network:network_service", - "//services/passage_embeddings:passage_embeddings", + # "//services/passage_embeddings:passage_embeddings", "//services/passage_embeddings/public/mojom", "//services/screen_ai/buildflags", "//services/service_manager/public/cpp", diff --git a/chrome/utility/services.cc b/chrome/utility/services.cc --- a/chrome/utility/services.cc +++ b/chrome/utility/services.cc @@ -246,13 +246,6 @@ auto RunMirroringService( std::move(receiver), content::UtilityThread::Get()->GetIOTaskRunner()); } -auto RunPassageEmbeddingsService( - mojo::PendingReceiver - receiver) { - return std::make_unique( - std::move(receiver)); -} - #endif // !BUILDFLAG(IS_ANDROID) #if BUILDFLAG(ENABLE_BROWSER_SPEECH_SERVICE) @@ -459,7 +452,6 @@ void RegisterMainThreadServices(mojo::ServiceFactory& services) { #if !BUILDFLAG(IS_ANDROID) services.Add(RunProfileImporter); services.Add(RunMirroringService); - services.Add(RunPassageEmbeddingsService); services.Add(RunScreenAIServiceFactory); #endif // !BUILDFLAG(IS_ANDROID) 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 @@ -209,6 +209,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())); @@ -260,7 +261,7 @@ bool AutofillOptimizationGuide::ShouldBlockSingleFieldSuggestions( const 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, @@ -286,7 +287,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 @@ -48,7 +48,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" @@ -120,6 +122,7 @@ using ProviderType = AutocompleteProvider::Type; 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 = @@ -228,6 +231,7 @@ void RecordTotalMatchesScored(size_t num_scored) { base::UmaHistogramCounts1000("Omnibox.URLScoringModelExecuted.Matches", num_scored); } +#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 @@ -198,6 +198,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 @@ -39,11 +39,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 @@ -412,8 +408,7 @@ size_t MaxURLKeyedHintCacheSize() { } bool ShouldPersistHintsToDisk() { - return GetFieldTrialParamByFeatureAsBool(kOptimizationHints, - "persist_hints_to_disk", true); + return false; } RequestContextSet GetAllowedContextsForPersonalizedMetadata() { @@ -869,5 +864,13 @@ int GetOnDeviceModelValidationAttemptCount() { return kParam.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 @@ -46,7 +46,7 @@ namespace { // 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; @@ -264,6 +265,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 } if (is_ios) { 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 @@ -280,4 +280,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/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,3 @@ +SET_CROMITE_FEATURE_DISABLED(kBookmarkTriggerForPrerender2); +SET_CROMITE_FEATURE_DISABLED(kNewTabPageTriggerForPrerender2); +SET_CROMITE_FEATURE_DISABLED(kSupportSearchSuggestionForPrerender2); diff --git a/cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/Disable-all-predictors-code.inc b/cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/Disable-all-predictors-code.inc new file mode 100644 --- /dev/null +++ b/cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/Disable-all-predictors-code.inc @@ -0,0 +1 @@ +SET_CROMITE_FEATURE_DISABLED(kNewTabPageAndroidTriggerForPrerender2); 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/services/network/public/cpp/features_cc/Disable-all-predictors-code.inc b/cromite_flags/services/network/public/cpp/features_cc/Disable-all-predictors-code.inc new file mode 100644 --- /dev/null +++ b/cromite_flags/services/network/public/cpp/features_cc/Disable-all-predictors-code.inc @@ -0,0 +1 @@ +SET_CROMITE_FEATURE_DISABLED(kNetworkContextPrefetch); 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/services/webnn/features.gni b/services/webnn/features.gni --- a/services/webnn/features.gni +++ b/services/webnn/features.gni @@ -5,7 +5,7 @@ import("//build/config/features.gni") declare_args() { - webnn_use_tflite = is_android || is_chromeos || is_linux || is_win + webnn_use_tflite = false #is_android || is_chromeos || is_linux || is_win # Enable logging of TFLite profiling information on MLGraph destruction. webnn_enable_tflite_profiler = false 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 @@ -645,6 +645,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 @@ -3331,7 +3331,7 @@ // // It also has some feature params defined throughout the codebase. name: "Prerender2", - status: "stable", + status: "test", }, { name: "Presentation", --