Files
cromite/build/patches/Disable-all-predictors-code.patch
T

828 lines
41 KiB
Diff

From: uazo <uazo@users.noreply.github.com>
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 | 3 ---
.../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/safe_browsing/BUILD.gn | 1 -
...ification_content_detection_service_factory.cc | 5 +++++
chrome/browser/ui/tab_helpers.cc | 1 -
.../ui/webui/omnibox/omnibox_page_handler.cc | 2 ++
.../read_anything/read_aloud_app_model.cc | 8 ++++++++
.../read_anything/read_aloud_app_model.h | 7 +++++++
.../read_anything/read_anything_app_controller.cc | 12 ++++++++++++
.../read_anything/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 +++++
components/safe_browsing/core/common/features.cc | 1 +
.../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 | 3 +++
.../features_cc/Disable-all-predictors-code.inc | 1 +
.../features_cc/Disable-all-predictors-code.inc | 2 ++
services/webnn/features.gni | 2 +-
.../core/html/parser/html_document_parser.cc | 1 +
.../document_speculation_rules.cc | 1 +
.../platform/runtime_enabled_features.json5 | 2 +-
39 files changed, 103 insertions(+), 37 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
@@ -760,8 +760,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",
@@ -2242,7 +2240,6 @@ static_library("browser") {
"//components/safe_browsing/content/browser",
"//components/safe_browsing/content/browser:client_side_detection",
"//components/safe_browsing/content/browser:safe_browsing_service",
- "//components/safe_browsing/content/browser/notification_content_detection",
"//components/safe_browsing/content/browser/password_protection",
"//components/safe_browsing/content/browser/web_ui",
"//components/safe_browsing/core/browser",
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::OptimizationGuideModelProvider*>(
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<KeyedService>
blink::features::kPreloadingHeuristicsMLModel)) {
return nullptr;
}
- auto* profile = Profile::FromBrowserContext(context);
- return std::make_unique<PreloadingModelKeyedService>(
- 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
@@ -25,6 +25,7 @@ namespace {
// Returns true if we can make a request for hints for |prediction|.
bool IsAllowedToFetchForNavigationPrediction(
const NavigationPredictorKeyedService::Prediction& prediction) {
+ if ((true)) return false;
if (prediction.prediction_source() !=
NavigationPredictorKeyedService::PredictionSource::
kAnchorElementsParsedFromWebPage) {
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) {
@@ -151,6 +152,7 @@ void ModelValidatorKeyedService::StartModelExecutionValidation() {
/*execution_timeout=*/std::nullopt,
base::BindOnce(&ModelValidatorKeyedService::OnModelExecuteResponse,
weak_ptr_factory_.GetWeakPtr()));
+#endif
}
void ModelValidatorKeyedService::StartOnDeviceModelExecutionValidation(
@@ -168,6 +170,7 @@ void ModelValidatorKeyedService::StartOnDeviceModelExecutionValidation(
void ModelValidatorKeyedService::PerformOnDeviceModelExecutionValidation(
std::unique_ptr<optimization_guide::proto::ModelValidationInput> input) {
+#if BUILDFLAG(BUILD_WITH_TFLITE_LIB)
DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
auto* opt_guide_service =
OptimizationGuideKeyedServiceFactory::GetForProfile(profile_);
@@ -207,6 +210,7 @@ void ModelValidatorKeyedService::ExecuteModel(
*metadata, base::BindRepeating(
&ModelValidatorKeyedService::OnDeviceModelExecuteResponse,
weak_ptr_factory_.GetWeakPtr(), std::move(request)));
+#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
@@ -497,7 +497,6 @@ void OptimizationGuideKeyedService::RemoveObserverForOptimizationTargetModel(
void OptimizationGuideKeyedService::RegisterOptimizationTypes(
const std::vector<optimization_guide::proto::OptimizationType>&
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/safe_browsing/BUILD.gn b/chrome/browser/safe_browsing/BUILD.gn
--- a/chrome/browser/safe_browsing/BUILD.gn
+++ b/chrome/browser/safe_browsing/BUILD.gn
@@ -51,7 +51,6 @@ static_library("safe_browsing") {
"//components/safe_browsing/content/browser",
"//components/safe_browsing/content/browser:client_side_detection",
"//components/safe_browsing/content/browser:client_side_detection_service",
- "//components/safe_browsing/content/browser/notification_content_detection:notification_content_detection",
"//components/safe_browsing/content/browser/triggers:suspicious_site_trigger",
"//components/safe_browsing/content/browser/web_ui",
"//components/safe_browsing/core/browser",
diff --git a/chrome/browser/safe_browsing/notification_content_detection_service_factory.cc b/chrome/browser/safe_browsing/notification_content_detection_service_factory.cc
--- a/chrome/browser/safe_browsing/notification_content_detection_service_factory.cc
+++ b/chrome/browser/safe_browsing/notification_content_detection_service_factory.cc
@@ -14,6 +14,7 @@
#include "components/safe_browsing/content/browser/notification_content_detection/notification_content_detection_service.h"
#include "components/safe_browsing/core/browser/db/database_manager.h"
#include "components/safe_browsing/core/common/features.h"
+#include "components/optimization_guide/machine_learning_tflite_buildflags.h"
#include "content/public/browser/browser_context.h"
namespace safe_browsing {
@@ -63,6 +64,7 @@ std::unique_ptr<KeyedService> NotificationContentDetectionServiceFactory::
return nullptr;
}
+#if BUILDFLAG(BUILD_WITH_TFLITE_LIB)
auto database_manager =
g_browser_process->safe_browsing_service()->database_manager();
scoped_refptr<base::SequencedTaskRunner> background_task_runner =
@@ -70,6 +72,9 @@ std::unique_ptr<KeyedService> NotificationContentDetectionServiceFactory::
{base::MayBlock(), base::TaskPriority::BEST_EFFORT});
return std::make_unique<NotificationContentDetectionService>(
opt_guide, background_task_runner, database_manager, context);
+#else
+ return nullptr;
+#endif
}
} // namespace safe_browsing
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
@@ -439,7 +439,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
@@ -41,7 +41,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_anything/read_aloud_app_model.cc b/chrome/renderer/accessibility/read_anything/read_aloud_app_model.cc
--- a/chrome/renderer/accessibility/read_anything/read_aloud_app_model.cc
+++ b/chrome/renderer/accessibility/read_anything/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<unsigned int> GetDependencyHeads(
DependencyParserModel& dependency_parser_model,
std::vector<std::string> input) {
@@ -25,6 +28,7 @@ std::vector<unsigned int> 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_anything/read_aloud_app_model.h b/chrome/renderer/accessibility/read_anything/read_aloud_app_model.h
--- a/chrome/renderer/accessibility/read_anything/read_aloud_app_model.h
+++ b/chrome/renderer/accessibility/read_anything/read_aloud_app_model.h
@@ -9,7 +9,10 @@
#include "base/values.h"
#include "chrome/common/read_anything/read_anything.mojom.h"
#include "chrome/common/read_anything/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_anything/read_aloud_traversal_utils.h"
#include "ui/accessibility/ax_node_position.h"
@@ -87,7 +90,9 @@ class ReadAloudAppModel {
bool is_docs,
const std::set<ui::AXNodeID>* 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/read_anything_app_controller.cc b/chrome/renderer/accessibility/read_anything/read_anything_app_controller.cc
--- a/chrome/renderer/accessibility/read_anything/read_anything_app_controller.cc
+++ b/chrome/renderer/accessibility/read_anything/read_anything_app_controller.cc
@@ -21,7 +21,9 @@
#include "base/strings/utf_string_conversions.h"
#include "chrome/common/read_anything/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_anything/read_aloud_traversal_utils.h"
#include "chrome/renderer/accessibility/read_anything/read_anything_node_utils.h"
#include "components/language/core/common/locale_util.h"
@@ -363,11 +365,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<DependencyParserModel> instance;
return *instance;
}
+#endif
} // namespace
@@ -1457,6 +1461,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()) {
@@ -1466,6 +1471,7 @@ void ReadAnythingAppController::OnConnected() {
page_handler_->GetDependencyParserModel(
base::BindOnce(&ReadAnythingAppController::UpdateDependencyParserModel,
weak_ptr_factory_.GetWeakPtr()));
+#endif
}
void ReadAnythingAppController::OnCopy() const {
@@ -1675,6 +1681,7 @@ std::vector<ui::AXNodeID> ReadAnythingAppController::GetCurrentText() {
}
void ReadAnythingAppController::PreprocessTextForSpeech() {
+#if BUILDFLAG(BUILD_WITH_TFLITE_LIB)
const std::set<ui::AXNodeID>* node_ids = model_.selection_node_ids().empty()
? &model_.display_node_ids()
: &model_.selection_node_ids();
@@ -1684,6 +1691,7 @@ void ReadAnythingAppController::PreprocessTextForSpeech() {
DependencyParserModel& model = GetDependencyParserModel();
read_aloud_model_.PreprocessPhrasesForText(model);
}
+#endif
}
void ReadAnythingAppController::MovePositionToNextGranularity() {
@@ -1857,14 +1865,18 @@ 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
void ReadAnythingAppController::OnTreeAdded(ui::AXTree* tree) {
auto observation =
diff --git a/chrome/renderer/accessibility/read_anything/read_anything_app_controller.h b/chrome/renderer/accessibility/read_anything/read_anything_app_controller.h
--- a/chrome/renderer/accessibility/read_anything/read_anything_app_controller.h
+++ b/chrome/renderer/accessibility/read_anything/read_anything_app_controller.h
@@ -46,7 +46,9 @@ class MojoUkmRecorder;
} // namespace ukm
class AXTreeDistiller;
+#if BUILDFLAG(BUILD_WITH_TFLITE_LIB)
class DependencyParserModel;
+#endif
class ReadAnythingAppControllerTest;
class ReadAnythingAppControllerScreen2xDataCollectionModeTest;
@@ -378,7 +380,9 @@ class ReadAnythingAppController
// available.
void UpdateDependencyParserModel(base::File model_file);
+#if BUILDFLAG(BUILD_WITH_TFLITE_LIB)
DependencyParserModel& GetDependencyParserModelForTesting();
+#endif
std::unique_ptr<AXTreeDistiller> distiller_;
mojo::Remote<read_anything::mojom::UntrustedPageHandlerFactory>
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
@@ -243,13 +243,6 @@ auto RunMirroringService(
std::move(receiver), content::UtilityThread::Get()->GetIOTaskRunner());
}
-auto RunPassageEmbeddingsService(
- mojo::PendingReceiver<passage_embeddings::mojom::PassageEmbeddingsService>
- receiver) {
- return std::make_unique<passage_embeddings::PassageEmbeddingsService>(
- std::move(receiver));
-}
-
#endif // !BUILDFLAG(IS_ANDROID)
#if BUILDFLAG(ENABLE_BROWSER_SPEECH_SERVICE)
@@ -466,7 +459,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
@@ -208,6 +208,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<optimization_guide::proto::OptimizationType>(
std::move(optimization_types).extract()));
@@ -259,7 +260,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,
@@ -285,7 +286,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
@@ -196,6 +196,7 @@ bool HintsFetcher::FetchOptimizationGuideServiceHints(
bool skip_cache,
HintsFetchedCallback hints_fetched_callback,
std::optional<proto::RequestContextMetadata> 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
@@ -391,6 +391,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:
@@ -1114,6 +1115,7 @@ void HintsManager::CanApplyOptimizationOnDemand(
OnDemandOptimizationGuideDecisionRepeatingCallback callback,
std::optional<proto::RequestContextMetadata> request_context_metadata) {
DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
+ if ((true)) return; // no consent on bromite
InsertionOrderedSet<GURL> urls_to_fetch;
InsertionOrderedSet<std::string> hosts_to_fetch;
@@ -1417,6 +1419,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
@@ -38,11 +38,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
@@ -422,8 +418,7 @@ size_t MaxURLKeyedHintCacheSize() {
}
bool ShouldPersistHintsToDisk() {
- return GetFieldTrialParamByFeatureAsBool(kOptimizationHints,
- "persist_hints_to_disk", true);
+ return false;
}
RequestContextSet GetAllowedContextsForPersonalizedMetadata() {
@@ -864,5 +859,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<base::SequencedTaskRunner> 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
@@ -263,4 +263,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/safe_browsing/core/common/features.cc b/components/safe_browsing/core/common/features.cc
--- a/components/safe_browsing/core/common/features.cc
+++ b/components/safe_browsing/core/common/features.cc
@@ -228,6 +228,7 @@ BASE_FEATURE(kLogAccountEnhancedProtectionStateInProtegoPings,
BASE_FEATURE(kOnDeviceNotificationContentDetectionModel,
"OnDeviceNotificationContentDetectionModel",
base::FEATURE_DISABLED_BY_DEFAULT);
+SET_CROMITE_FEATURE_DISABLED(kOnDeviceNotificationContentDetectionModel);
constexpr base::FeatureParam<int>
kOnDeviceNotificationContentDetectionModelAllowlistSamplingRate{
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,3 @@
+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/html/parser/html_document_parser.cc b/third_party/blink/renderer/core/html/parser/html_document_parser.cc
--- a/third_party/blink/renderer/core/html/parser/html_document_parser.cc
+++ b/third_party/blink/renderer/core/html/parser/html_document_parser.cc
@@ -1764,6 +1764,7 @@ ALWAYS_INLINE bool HTMLDocumentParser::ShouldCheckTimeBudget(
}
bool HTMLDocumentParser::ShouldSkipPreloadScan() {
+ if ((true)) return true; // see https://wpt.live/html/syntax/speculative-parsing/expect-no-linked-resources/no-speculative-fetch.tentative.optional.html
// Check if Document-Policy has Expect-No-Linked-Resources hint.
auto* document = GetDocument();
if (const auto* context = document->GetExecutionContext()) {
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
@@ -642,6 +642,7 @@ void DocumentSpeculationRules::UpdateSpeculationCandidates() {
return;
}
+ if ((true)) return;
HeapVector<Member<SpeculationCandidate>> 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
@@ -3363,7 +3363,7 @@
//
// It also has some feature params defined throughout the codebase.
name: "Prerender2",
- status: "stable",
+ status: "test",
},
{
name: "Presentation",
--