1254 lines
64 KiB
Diff
1254 lines
64 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 | 4 +---
|
|
.../background_download_service_factory.cc | 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 -
|
|
chrome/browser/permissions/BUILD.gn | 2 --
|
|
.../permissions/chrome_permissions_client.cc | 2 --
|
|
.../passage_embedder_delegate.cc | 2 ++
|
|
.../prediction_model_handler_provider.cc | 9 ++++++---
|
|
.../predictors/autocomplete_action_predictor.cc | 2 ++
|
|
.../predictors/loading_predictor_config.cc | 4 ++--
|
|
chrome/browser/predictors/predictors_features.cc | 3 +--
|
|
.../search_prefetch/field_trial_settings.cc | 4 ++++
|
|
.../search_prefetch_url_loader_interceptor.cc | 1 +
|
|
.../chrome_browser_main_extra_parts_profiles.cc | 1 -
|
|
chrome/browser/safe_browsing/BUILD.gn | 1 -
|
|
...fication_content_detection_service_factory.cc | 6 ++++++
|
|
.../ui/autofill/chrome_autofill_client.cc | 15 ---------------
|
|
chrome/browser/ui/tab_helpers.cc | 1 -
|
|
.../autofill_ml_internals_page_handler.cc | 2 ++
|
|
.../autofill_ml_internals_page_handler.h | 3 +++
|
|
.../autofill_ml_internals_ui.cc | 3 +++
|
|
.../read_anything/read_aloud_app_model.cc | 16 ++++++++++++++--
|
|
.../read_anything/read_aloud_app_model.h | 9 ++++++++-
|
|
.../read_anything_app_controller.cc | 10 ++++++++++
|
|
.../read_anything/read_anything_app_controller.h | 4 ++++
|
|
chrome/utility/BUILD.gn | 2 +-
|
|
chrome/utility/services.cc | 8 --------
|
|
components/BUILD.gn | 2 +-
|
|
.../autofill_optimization_guide.cc | 5 +++--
|
|
.../field_classification_model_handler.cc | 12 ++++++++----
|
|
.../field_classification_model_handler.h | 10 ++++++----
|
|
.../omnibox/browser/autocomplete_controller.cc | 4 ++++
|
|
.../omnibox/browser/base_search_provider.cc | 4 ++--
|
|
.../prediction_model_download_manager.cc | 6 ++++--
|
|
.../delivery/prediction_model_fetcher_impl.cc | 1 +
|
|
.../core/hints/hints_fetcher.cc | 1 +
|
|
.../core/hints/hints_manager.cc | 2 ++
|
|
.../core/optimization_guide_features.cc | 12 ++++++------
|
|
components/optimization_guide/features.gni | 3 +--
|
|
.../core/page_content_annotations_features.cc | 4 ++++
|
|
.../page_content_annotations_model_manager.cc | 1 +
|
|
.../notification_content_detection/BUILD.gn | 7 +++++++
|
|
.../service_worker_main_resource_loader.cc | 1 +
|
|
.../Disable-all-predictors-code.inc | 2 ++
|
|
.../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 | 1 +
|
|
.../features_cc/Disable-all-predictors-code.inc | 2 ++
|
|
services/webnn/BUILD.gn | 2 +-
|
|
services/webnn/features.gni | 2 +-
|
|
services/webnn/webnn_context_provider_impl.cc | 13 +------------
|
|
.../core/html/parser/html_document_parser.cc | 1 +
|
|
.../document_speculation_rules.cc | 1 +
|
|
.../platform/runtime_enabled_features.json5 | 2 +-
|
|
59 files changed, 150 insertions(+), 88 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/net/base/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
|
|
@@ -797,8 +797,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",
|
|
@@ -2400,7 +2398,7 @@ static_library("browser") {
|
|
"//components/resources",
|
|
"//components/safe_browsing/content/browser",
|
|
"//components/safe_browsing/content/browser:safe_browsing_service",
|
|
- "//components/safe_browsing/content/browser/notification_content_detection",
|
|
+ "//components/safe_browsing/content/browser/notification_content_detection:constants",
|
|
"//components/safe_browsing/content/browser/password_protection",
|
|
"//components/safe_browsing/content/browser/web_ui",
|
|
"//components/safe_browsing/content/common/proto:download_file_types_proto",
|
|
diff --git a/chrome/browser/download/background_download_service_factory.cc b/chrome/browser/download/background_download_service_factory.cc
|
|
--- a/chrome/browser/download/background_download_service_factory.cc
|
|
+++ b/chrome/browser/download/background_download_service_factory.cc
|
|
@@ -179,7 +179,7 @@ BackgroundDownloadServiceFactory::BuildServiceInstanceFor(
|
|
}
|
|
#endif // BUILDFLAG(IS_CHROMEOS)
|
|
|
|
- if (!key->IsOffTheRecord()) {
|
|
+ if (((false)) && !key->IsOffTheRecord()) {
|
|
clients->insert(std::make_pair(
|
|
download::DownloadClient::OPTIMIZATION_GUIDE_PREDICTION_MODELS,
|
|
std::make_unique<download::DeferredClientWrapper>(
|
|
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
|
|
@@ -67,13 +67,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.
|
|
@@ -134,6 +134,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) {
|
|
@@ -152,6 +153,7 @@ void ModelValidatorKeyedService::StartModelExecutionValidation() {
|
|
/*execution_timeout=*/std::nullopt,
|
|
base::BindOnce(&ModelValidatorKeyedService::OnModelExecuteResponse,
|
|
weak_ptr_factory_.GetWeakPtr()));
|
|
+#endif
|
|
}
|
|
|
|
void ModelValidatorKeyedService::StartOnDeviceModelExecutionValidation(
|
|
@@ -169,6 +171,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_);
|
|
@@ -219,6 +222,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
|
|
@@ -410,7 +410,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/permissions/BUILD.gn b/chrome/browser/permissions/BUILD.gn
|
|
--- a/chrome/browser/permissions/BUILD.gn
|
|
+++ b/chrome/browser/permissions/BUILD.gn
|
|
@@ -44,8 +44,6 @@ source_set("permissions") {
|
|
"prediction_service/passage_embedder_delegate.h",
|
|
"prediction_service/permissions_aiv1_handler.cc",
|
|
"prediction_service/permissions_aiv1_handler.h",
|
|
- "prediction_service/prediction_based_permission_ui_selector.cc",
|
|
- "prediction_service/prediction_based_permission_ui_selector.h",
|
|
"prediction_service/prediction_model_handler_provider.cc",
|
|
"prediction_service/prediction_model_handler_provider.h",
|
|
"prediction_service/prediction_service_factory.cc",
|
|
diff --git a/chrome/browser/permissions/chrome_permissions_client.cc b/chrome/browser/permissions/chrome_permissions_client.cc
|
|
--- a/chrome/browser/permissions/chrome_permissions_client.cc
|
|
+++ b/chrome/browser/permissions/chrome_permissions_client.cc
|
|
@@ -475,8 +475,6 @@ ChromePermissionsClient::CreatePermissionUiSelectors(
|
|
#endif
|
|
selectors.emplace_back(std::make_unique<PrefBasedQuietPermissionUiSelector>(
|
|
Profile::FromBrowserContext(browser_context)));
|
|
- selectors.emplace_back(std::make_unique<PredictionBasedPermissionUiSelector>(
|
|
- Profile::FromBrowserContext(browser_context)));
|
|
return selectors;
|
|
}
|
|
|
|
diff --git a/chrome/browser/permissions/prediction_service/passage_embedder_delegate.cc b/chrome/browser/permissions/prediction_service/passage_embedder_delegate.cc
|
|
--- a/chrome/browser/permissions/prediction_service/passage_embedder_delegate.cc
|
|
+++ b/chrome/browser/permissions/prediction_service/passage_embedder_delegate.cc
|
|
@@ -17,11 +17,13 @@ PassageEmbedderDelegate::PassageEmbedderDelegate(Profile* profile)
|
|
: profile_(profile) {}
|
|
|
|
Embedder* PassageEmbedderDelegate::get_passage_embedder() {
|
|
+#if BUILDFLAG(BUILD_WITH_TFLITE_LIB)
|
|
if (auto* prediction_model_handler_provider =
|
|
PredictionModelHandlerProviderFactory::GetForBrowserContext(
|
|
profile_)) {
|
|
return prediction_model_handler_provider->GetPassageEmbedder();
|
|
}
|
|
+#endif
|
|
return nullptr;
|
|
}
|
|
|
|
diff --git a/chrome/browser/permissions/prediction_service/prediction_model_handler_provider.cc b/chrome/browser/permissions/prediction_service/prediction_model_handler_provider.cc
|
|
--- a/chrome/browser/permissions/prediction_service/prediction_model_handler_provider.cc
|
|
+++ b/chrome/browser/permissions/prediction_service/prediction_model_handler_provider.cc
|
|
@@ -13,11 +13,11 @@
|
|
#include "chrome/browser/permissions/prediction_service/permissions_aiv1_handler.h"
|
|
#include "components/optimization_guide/core/delivery/optimization_guide_model_provider.h"
|
|
#include "components/permissions/features.h"
|
|
-#include "components/permissions/prediction_service/permissions_aiv3_handler.h"
|
|
-#include "components/permissions/prediction_service/permissions_aiv4_handler.h"
|
|
#include "components/permissions/request_type.h"
|
|
|
|
#if BUILDFLAG(BUILD_WITH_TFLITE_LIB)
|
|
+#include "components/permissions/prediction_service/permissions_aiv3_handler.h"
|
|
+#include "components/permissions/prediction_service/permissions_aiv4_handler.h"
|
|
#include "components/permissions/prediction_service/prediction_model_handler.h"
|
|
#endif // BUILDFLAG(BUILD_WITH_TFLITE_LIB)
|
|
|
|
@@ -26,7 +26,10 @@ namespace permissions {
|
|
PredictionModelHandlerProvider::PredictionModelHandlerProvider(
|
|
OptimizationGuideKeyedService* optimization_guide,
|
|
passage_embeddings::Embedder* passage_embedder)
|
|
- : passage_embedder_(passage_embedder) {
|
|
+#if BUILDFLAG(BUILD_WITH_TFLITE_LIB)
|
|
+ : passage_embedder_(passage_embedder)
|
|
+#endif
|
|
+ {
|
|
VLOG(1) << "[PermissionsAI] PredictionModelHandlerProvider ctor";
|
|
// We set up model handlers if necessary in order of preference:
|
|
// Aiv4, Aiv3, Aiv1
|
|
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
|
|
@@ -211,6 +211,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/preloading/prefetch/search_prefetch/field_trial_settings.cc b/chrome/browser/preloading/prefetch/search_prefetch/field_trial_settings.cc
|
|
--- a/chrome/browser/preloading/prefetch/search_prefetch/field_trial_settings.cc
|
|
+++ b/chrome/browser/preloading/prefetch/search_prefetch/field_trial_settings.cc
|
|
@@ -146,3 +146,7 @@ const base::FeatureParam<base::TimeDelta>
|
|
kSuppressesSearchPrefetchOnSlowNetworkThreshold{
|
|
&kSuppressesSearchPrefetchOnSlowNetwork,
|
|
"slow_network_threshold_for_search_prefetch", base::Milliseconds(208)};
|
|
+
|
|
+SET_CROMITE_FEATURE_DISABLED(kSearchPrefetchServicePrefetching);
|
|
+SET_CROMITE_FEATURE_DISABLED(kSearchPrefetchWithNoVarySearchDiskCache);
|
|
+SET_CROMITE_FEATURE_DISABLED(kSearchNavigationPrefetch);
|
|
diff --git a/chrome/browser/preloading/prefetch/search_prefetch/search_prefetch_url_loader_interceptor.cc b/chrome/browser/preloading/prefetch/search_prefetch/search_prefetch_url_loader_interceptor.cc
|
|
--- a/chrome/browser/preloading/prefetch/search_prefetch/search_prefetch_url_loader_interceptor.cc
|
|
+++ b/chrome/browser/preloading/prefetch/search_prefetch/search_prefetch_url_loader_interceptor.cc
|
|
@@ -84,6 +84,7 @@ SearchPrefetchURLLoader::RequestHandler
|
|
SearchPrefetchURLLoaderInterceptor::MaybeCreateLoaderForRequest(
|
|
const network::ResourceRequest& tentative_resource_request,
|
|
content::FrameTreeNodeId frame_tree_node_id) {
|
|
+ if ((true)) return {};
|
|
// Do not intercept non-main frame navigations.
|
|
if (!tentative_resource_request.is_outermost_main_frame) {
|
|
// Use the is_outermost_main_frame flag instead of obtaining the
|
|
diff --git a/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc b/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc
|
|
--- a/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc
|
|
+++ b/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc
|
|
@@ -1196,7 +1196,6 @@ void ChromeBrowserMainExtraPartsProfiles::
|
|
base::FeatureList::IsEnabled(
|
|
permissions::features::kPermissionOnDeviceGeolocationPredictions) ||
|
|
base::FeatureList::IsEnabled(permissions::features::kPermissionsAIv1)) {
|
|
- PredictionModelHandlerProviderFactory::GetInstance();
|
|
}
|
|
PredictionServiceFactory::GetInstance();
|
|
predictors::AutocompleteActionPredictorFactory::GetInstance();
|
|
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
|
|
@@ -49,7 +49,6 @@ static_library("safe_browsing") {
|
|
"//components/resources:components_resources_grit",
|
|
"//components/safe_browsing:buildflags",
|
|
"//components/safe_browsing/content/browser",
|
|
- "//components/safe_browsing/content/browser/notification_content_detection",
|
|
"//components/safe_browsing/content/browser/triggers:suspicious_site_trigger",
|
|
"//components/safe_browsing/content/browser/web_ui",
|
|
"//components/safe_browsing/content/browser/web_ui:local_state_delegate",
|
|
diff --git a/chrome/browser/safe_browsing/notification_content_detection/notification_content_detection_service_factory.cc b/chrome/browser/safe_browsing/notification_content_detection/notification_content_detection_service_factory.cc
|
|
--- a/chrome/browser/safe_browsing/notification_content_detection/notification_content_detection_service_factory.cc
|
|
+++ b/chrome/browser/safe_browsing/notification_content_detection/notification_content_detection_service_factory.cc
|
|
@@ -15,6 +15,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 {
|
|
@@ -50,6 +51,7 @@ NotificationContentDetectionServiceFactory::
|
|
std::unique_ptr<KeyedService> NotificationContentDetectionServiceFactory::
|
|
BuildServiceInstanceForBrowserContext(
|
|
content::BrowserContext* context) const {
|
|
+ if ((true)) return nullptr;
|
|
auto* opt_guide = OptimizationGuideKeyedServiceFactory::GetForProfile(
|
|
Profile::FromBrowserContext(context));
|
|
if (!opt_guide) {
|
|
@@ -81,6 +83,7 @@ NotificationContentDetectionServiceFactory::
|
|
content::BrowserContext* context) const {
|
|
CHECK(opt_guide);
|
|
CHECK(context);
|
|
+#if BUILDFLAG(BUILD_WITH_TFLITE_LIB)
|
|
auto database_manager =
|
|
g_browser_process->safe_browsing_service()->database_manager();
|
|
scoped_refptr<base::SequencedTaskRunner> background_task_runner =
|
|
@@ -88,6 +91,9 @@ 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/autofill/chrome_autofill_client.cc b/chrome/browser/ui/autofill/chrome_autofill_client.cc
|
|
--- a/chrome/browser/ui/autofill/chrome_autofill_client.cc
|
|
+++ b/chrome/browser/ui/autofill/chrome_autofill_client.cc
|
|
@@ -516,11 +516,7 @@ void ChromeAutofillClient::GetAiPageContent(GetAiPageContentCallback callback) {
|
|
}
|
|
|
|
AutofillAiManager* ChromeAutofillClient::GetAutofillAiManager() {
|
|
-#if !BUILDFLAG(IS_ANDROID)
|
|
- return &autofill_ai_manager_;
|
|
-#else
|
|
return nullptr;
|
|
-#endif
|
|
}
|
|
|
|
AutofillAiModelCache* ChromeAutofillClient::GetAutofillAiModelCache() {
|
|
@@ -1206,18 +1202,7 @@ void ChromeAutofillClient::TriggerPlusAddressUserPerceptionSurvey(
|
|
|
|
optimization_guide::ModelQualityLogsUploaderService*
|
|
ChromeAutofillClient::GetMqlsUploadService() {
|
|
-#if !BUILDFLAG(IS_ANDROID)
|
|
- Profile* profile =
|
|
- Profile::FromBrowserContext(web_contents()->GetBrowserContext());
|
|
- OptimizationGuideKeyedService* optimization_guide_keyed_service =
|
|
- OptimizationGuideKeyedServiceFactory::GetForProfile(profile);
|
|
- if (!optimization_guide_keyed_service) {
|
|
- return nullptr;
|
|
- }
|
|
- return optimization_guide_keyed_service->GetModelQualityLogsUploaderService();
|
|
-#else
|
|
return nullptr;
|
|
-#endif
|
|
}
|
|
|
|
void ChromeAutofillClient::ShowEntitySaveOrUpdateBubble(
|
|
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
|
|
@@ -443,7 +443,6 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) {
|
|
}
|
|
MixedContentSettingsTabHelper::CreateForWebContents(web_contents);
|
|
NavigationMetricsRecorder::CreateForWebContents(web_contents);
|
|
- NavigationPredictorPreconnectClient::CreateForWebContents(web_contents);
|
|
OpenerHeuristicService::Get(web_contents->GetBrowserContext());
|
|
if (optimization_guide::features::IsOptimizationHintsEnabled()) {
|
|
OptimizationGuideWebContentsObserver::CreateForWebContents(web_contents);
|
|
diff --git a/chrome/browser/ui/webui/autofill_ml_internals/autofill_ml_internals_page_handler.cc b/chrome/browser/ui/webui/autofill_ml_internals/autofill_ml_internals_page_handler.cc
|
|
--- a/chrome/browser/ui/webui/autofill_ml_internals/autofill_ml_internals_page_handler.cc
|
|
+++ b/chrome/browser/ui/webui/autofill_ml_internals/autofill_ml_internals_page_handler.cc
|
|
@@ -12,9 +12,11 @@ AutofillMlInternalsPageHandlerImpl::AutofillMlInternalsPageHandlerImpl(
|
|
mojo::PendingReceiver<autofill_ml_internals::mojom::PageHandler> receiver,
|
|
autofill::MLLogRouter* log_router)
|
|
: receiver_(this, std::move(receiver)) {
|
|
+#if BUILDFLAG(BUILD_WITH_TFLITE_LIB)
|
|
if (log_router) {
|
|
log_router_observation_.Observe(log_router);
|
|
}
|
|
+#endif
|
|
}
|
|
|
|
void AutofillMlInternalsPageHandlerImpl::SetPage(
|
|
diff --git a/chrome/browser/ui/webui/autofill_ml_internals/autofill_ml_internals_page_handler.h b/chrome/browser/ui/webui/autofill_ml_internals/autofill_ml_internals_page_handler.h
|
|
--- a/chrome/browser/ui/webui/autofill_ml_internals/autofill_ml_internals_page_handler.h
|
|
+++ b/chrome/browser/ui/webui/autofill_ml_internals/autofill_ml_internals_page_handler.h
|
|
@@ -8,6 +8,7 @@
|
|
#include "base/scoped_observation.h"
|
|
#include "components/autofill/core/browser/ml_model/logging/autofill_ml_internals.mojom.h"
|
|
#include "components/autofill/core/browser/ml_model/logging/ml_log_router.h"
|
|
+#include "components/optimization_guide/machine_learning_tflite_buildflags.h"
|
|
#include "mojo/public/cpp/bindings/pending_receiver.h"
|
|
#include "mojo/public/cpp/bindings/receiver.h"
|
|
#include "mojo/public/cpp/bindings/remote.h"
|
|
@@ -35,8 +36,10 @@ class AutofillMlInternalsPageHandlerImpl
|
|
private:
|
|
mojo::Receiver<autofill_ml_internals::mojom::PageHandler> receiver_;
|
|
mojo::Remote<autofill_ml_internals::mojom::Page> page_;
|
|
+#if BUILDFLAG(BUILD_WITH_TFLITE_LIB)
|
|
base::ScopedObservation<autofill::MLLogRouter, autofill::MLLogReceiver>
|
|
log_router_observation_{this};
|
|
+#endif
|
|
};
|
|
|
|
#endif // CHROME_BROWSER_UI_WEBUI_AUTOFILL_ML_INTERNALS_AUTOFILL_ML_INTERNALS_PAGE_HANDLER_H_
|
|
diff --git a/chrome/browser/ui/webui/autofill_ml_internals/autofill_ml_internals_ui.cc b/chrome/browser/ui/webui/autofill_ml_internals/autofill_ml_internals_ui.cc
|
|
--- a/chrome/browser/ui/webui/autofill_ml_internals/autofill_ml_internals_ui.cc
|
|
+++ b/chrome/browser/ui/webui/autofill_ml_internals/autofill_ml_internals_ui.cc
|
|
@@ -11,6 +11,7 @@
|
|
#include "chrome/grit/autofill_ml_internals_resources.h"
|
|
#include "chrome/grit/autofill_ml_internals_resources_map.h"
|
|
#include "components/autofill/core/browser/ml_model/logging/autofill_ml_internals.mojom.h"
|
|
+#include "components/optimization_guide/machine_learning_tflite_buildflags.h"
|
|
#include "content/public/browser/web_ui.h"
|
|
#include "content/public/browser/web_ui_data_source.h"
|
|
#include "ui/webui/webui_util.h"
|
|
@@ -29,9 +30,11 @@ AutofillMlInternalsUI::AutofillMlInternalsUI(content::WebUI* web_ui)
|
|
|
|
void AutofillMlInternalsUI::BindInterface(
|
|
mojo::PendingReceiver<autofill_ml_internals::mojom::PageHandler> receiver) {
|
|
+#if BUILDFLAG(BUILD_WITH_TFLITE_LIB)
|
|
page_handler_ = std::make_unique<AutofillMlInternalsPageHandlerImpl>(
|
|
std::move(receiver), autofill::MLLogRouterFactory::GetForProfile(
|
|
Profile::FromWebUI(web_ui())));
|
|
+#endif
|
|
}
|
|
|
|
WEB_UI_CONTROLLER_TYPE_IMPL(AutofillMlInternalsUI)
|
|
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
|
|
@@ -17,7 +17,9 @@
|
|
#include "base/task/thread_pool.h"
|
|
#include "base/time/time.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"
|
|
@@ -27,6 +29,7 @@
|
|
|
|
namespace {
|
|
|
|
+#if BUILDFLAG(BUILD_WITH_TFLITE_LIB)
|
|
// Returns the dependency parser model for this renderer process.
|
|
DependencyParserModel& GetDependencyParserModel_() {
|
|
static base::NoDestructor<DependencyParserModel> instance;
|
|
@@ -39,6 +42,7 @@ std::vector<size_t> GetDependencyHeads(base::span<const std::string> input) {
|
|
? dependency_parser_model.GetDependencyHeads(input)
|
|
: std::vector<size_t>();
|
|
}
|
|
+#endif
|
|
|
|
} // namespace
|
|
|
|
@@ -154,10 +158,13 @@ void ReadAloudAppModel::PreprocessTextForSpeech(
|
|
}
|
|
}
|
|
|
|
+#if BUILDFLAG(BUILD_WITH_TFLITE_LIB)
|
|
DependencyParserModel& ReadAloudAppModel::GetDependencyParserModel() {
|
|
return GetDependencyParserModel_();
|
|
}
|
|
+#endif
|
|
|
|
+#if BUILDFLAG(BUILD_WITH_TFLITE_LIB)
|
|
void ReadAloudAppModel::CalculatePhrases(
|
|
a11y::ReadAloudCurrentGranularity& granularity) {
|
|
if (!features::IsReadAnythingReadAloudPhraseHighlightingEnabled()) {
|
|
@@ -214,19 +221,23 @@ void ReadAloudAppModel::CalculatePhrases(
|
|
base::BindOnce(&ReadAloudAppModel::UpdatePhraseBoundaries,
|
|
weak_ptr_factory_.GetWeakPtr(), phrase_tokens));
|
|
}
|
|
+#endif
|
|
|
|
-static const Strategy kPhraseStrategy = Strategy::kWords;
|
|
-static const int kPhraseStrategyParameter = 5;
|
|
+[[maybe_unused]] static const Strategy kPhraseStrategy = Strategy::kWords;
|
|
+[[maybe_unused]] static const int kPhraseStrategyParameter = 5;
|
|
|
|
void ReadAloudAppModel::StartPhraseCalculation() {
|
|
if (processed_granularities_on_current_page_.size() > 0) {
|
|
current_phrase_calculation_index_ = 0;
|
|
+#if BUILDFLAG(BUILD_WITH_TFLITE_LIB)
|
|
CalculatePhrases(processed_granularities_on_current_page_[0]);
|
|
+#endif
|
|
}
|
|
}
|
|
|
|
void ReadAloudAppModel::UpdatePhraseBoundaries(std::vector<std::string> tokens,
|
|
std::vector<size_t> heads) {
|
|
+#if BUILDFLAG(BUILD_WITH_TFLITE_LIB)
|
|
// Reset the phrase calculation flag, so that the next phrase calculation can
|
|
// be scheduled, if needed.
|
|
is_calculating_phrases = false;
|
|
@@ -288,6 +299,7 @@ void ReadAloudAppModel::UpdatePhraseBoundaries(std::vector<std::string> tokens,
|
|
current_phrase_calculation_index_ = -1;
|
|
LOG(WARNING) << "All phrases calculated!";
|
|
}
|
|
+#endif
|
|
}
|
|
|
|
// TODO(crbug.com/40927698): Update to use AXRange to better handle multiple
|
|
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
|
|
@@ -8,7 +8,10 @@
|
|
#include "base/metrics/single_sample_metrics.h"
|
|
#include "base/values.h"
|
|
#include "chrome/common/read_anything/read_anything.mojom.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"
|
|
|
|
@@ -122,8 +125,10 @@ class ReadAloudAppModel {
|
|
bool is_docs,
|
|
const std::set<ui::AXNodeID>* current_nodes);
|
|
|
|
+#if BUILDFLAG(BUILD_WITH_TFLITE_LIB)
|
|
// Get the dependency parsing model for this renderer process.
|
|
DependencyParserModel& GetDependencyParserModel();
|
|
+#endif
|
|
|
|
// Increments the processed_granularity_index_, updating ReadAloud's state of
|
|
// the current granularity to refer to the next granularity. The current
|
|
@@ -282,9 +287,11 @@ class ReadAloudAppModel {
|
|
// still needs to be read.
|
|
bool NoValidTextRemainingInCurrentNode(bool is_pdf, bool is_docs) const;
|
|
|
|
+#if BUILDFLAG(BUILD_WITH_TFLITE_LIB)
|
|
// Asynchronously segment the given granularity into phrases. Once the phrases
|
|
// are calculated, `UpdatePhraseBoundaries` will be called.
|
|
void CalculatePhrases(a11y::ReadAloudCurrentGranularity& granularity);
|
|
+#endif
|
|
|
|
// Once the phrase segmentation has completed for a given sentence, update the
|
|
// granularity with the phrase boundaries, and calculate phrases for the next
|
|
@@ -358,7 +365,7 @@ class ReadAloudAppModel {
|
|
|
|
// Whether a phrase calculation for a sentence is currently underway. (We
|
|
// do not initiate a second calculation before the first has completed.)
|
|
- bool is_calculating_phrases = false;
|
|
+ [[maybe_unused]] bool is_calculating_phrases = false;
|
|
|
|
// Which sentence (index into `processed_granularities_on_current_page`) is
|
|
// currently being processed for phrases. -1 if none.
|
|
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
|
|
@@ -30,7 +30,9 @@
|
|
#include "build/build_config.h"
|
|
#include "chrome/common/read_anything/read_anything_util.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_app_model.h"
|
|
#include "chrome/renderer/accessibility/read_anything/read_anything_node_utils.h"
|
|
@@ -1733,6 +1735,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.
|
|
if (read_aloud_model_.GetDependencyParserModel().IsAvailable()) {
|
|
return;
|
|
@@ -1741,6 +1744,7 @@ void ReadAnythingAppController::OnConnected() {
|
|
page_handler_->GetDependencyParserModel(
|
|
base::BindOnce(&ReadAnythingAppController::UpdateDependencyParserModel,
|
|
weak_ptr_factory_.GetWeakPtr()));
|
|
+#endif
|
|
}
|
|
|
|
void ReadAnythingAppController::OnCopy() const {
|
|
@@ -1972,8 +1976,10 @@ std::vector<ui::AXNodeID> ReadAnythingAppController::GetCurrentText() {
|
|
}
|
|
|
|
void ReadAnythingAppController::PreprocessTextForSpeech() {
|
|
+#if BUILDFLAG(BUILD_WITH_TFLITE_LIB)
|
|
read_aloud_model_.PreprocessTextForSpeech(model_.is_pdf(), model_.IsDocs(),
|
|
model_.GetCurrentlyVisibleNodes());
|
|
+#endif
|
|
}
|
|
|
|
void ReadAnythingAppController::MovePositionToNextGranularity() {
|
|
@@ -2196,14 +2202,18 @@ bool ReadAnythingAppController::IsDocsLoadMoreButtonVisible() const {
|
|
|
|
void ReadAnythingAppController::UpdateDependencyParserModel(
|
|
base::File model_file) {
|
|
+#if BUILDFLAG(BUILD_WITH_TFLITE_LIB)
|
|
read_aloud_model_.GetDependencyParserModel().UpdateWithFile(
|
|
std::move(model_file));
|
|
+#endif
|
|
}
|
|
|
|
+#if BUILDFLAG(BUILD_WITH_TFLITE_LIB)
|
|
DependencyParserModel&
|
|
ReadAnythingAppController::GetDependencyParserModelForTesting() {
|
|
return read_aloud_model_.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
|
|
@@ -47,7 +47,9 @@ class MojoUkmRecorder;
|
|
} // namespace ukm
|
|
|
|
class AXTreeDistiller;
|
|
+#if BUILDFLAG(BUILD_WITH_TFLITE_LIB)
|
|
class DependencyParserModel;
|
|
+#endif
|
|
class ReadAnythingAppControllerTest;
|
|
class ReadAnythingAppControllerScreen2xDataCollectionModeTest;
|
|
|
|
@@ -303,7 +305,9 @@ class ReadAnythingAppController
|
|
// available.
|
|
void UpdateDependencyParserModel(base::File model_file);
|
|
|
|
+#if BUILDFLAG(BUILD_WITH_TFLITE_LIB)
|
|
DependencyParserModel& GetDependencyParserModelForTesting();
|
|
+#endif
|
|
|
|
// Called when distillation has completed.
|
|
void OnAXTreeDistilled(const ui::AXTreeID& tree_id,
|
|
diff --git a/chrome/utility/BUILD.gn b/chrome/utility/BUILD.gn
|
|
--- a/chrome/utility/BUILD.gn
|
|
+++ b/chrome/utility/BUILD.gn
|
|
@@ -66,7 +66,7 @@ static_library("utility") {
|
|
"//printing/buildflags",
|
|
"//services/data_decoder:lib",
|
|
"//services/network:network_service",
|
|
- "//services/passage_embeddings",
|
|
+ # "//services/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
|
|
@@ -251,13 +251,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)
|
|
@@ -475,7 +468,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/BUILD.gn b/components/BUILD.gn
|
|
--- a/components/BUILD.gn
|
|
+++ b/components/BUILD.gn
|
|
@@ -613,7 +613,7 @@ test("components_unittests") {
|
|
"//components/media_router/common/providers/cast/channel:unit_tests",
|
|
"//components/page_info:unit_tests",
|
|
"//components/permissions:unit_tests",
|
|
- "//components/permissions/prediction_service:unit_tests",
|
|
+ # "//components/permissions/prediction_service:unit_tests",
|
|
"//components/privacy_sandbox/privacy_sandbox_attestations:unit_tests",
|
|
"//components/safety_check:unit_tests",
|
|
"//components/security_interstitials/content:unit_tests",
|
|
diff --git a/components/autofill/core/browser/integrators/optimization_guide/autofill_optimization_guide.cc b/components/autofill/core/browser/integrators/optimization_guide/autofill_optimization_guide.cc
|
|
--- a/components/autofill/core/browser/integrators/optimization_guide/autofill_optimization_guide.cc
|
|
+++ b/components/autofill/core/browser/integrators/optimization_guide/autofill_optimization_guide.cc
|
|
@@ -264,6 +264,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()));
|
|
@@ -331,7 +332,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().GetTypes().contains(IBAN_VALUE)) {
|
|
+ if (decider_ && field->Type().GetTypes().contains(IBAN_VALUE)) {
|
|
optimization_guide::OptimizationGuideDecision decision =
|
|
decider_->CanApplyOptimization(
|
|
url, optimization_guide::proto::IBAN_AUTOFILL_BLOCKED,
|
|
@@ -357,7 +358,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/autofill/core/browser/ml_model/field_classification_model_handler.cc b/components/autofill/core/browser/ml_model/field_classification_model_handler.cc
|
|
--- a/components/autofill/core/browser/ml_model/field_classification_model_handler.cc
|
|
+++ b/components/autofill/core/browser/ml_model/field_classification_model_handler.cc
|
|
@@ -97,8 +97,7 @@ bool ParsingSupportsMultipleFieldsOfType(FieldType type) {
|
|
|
|
FieldClassificationModelHandler::FieldClassificationModelHandler(
|
|
optimization_guide::OptimizationGuideModelProvider* model_provider,
|
|
- optimization_guide::proto::OptimizationTarget optimization_target,
|
|
- autofill::MLLogRouter* log_router)
|
|
+ optimization_guide::proto::OptimizationTarget optimization_target)
|
|
: optimization_guide::ModelHandler<
|
|
FieldClassificationModelEncoder::ModelOutput,
|
|
const FieldClassificationModelEncoder::ModelInput&>(
|
|
@@ -110,8 +109,7 @@ FieldClassificationModelHandler::FieldClassificationModelHandler(
|
|
optimization_target,
|
|
CreateModelMetadata()),
|
|
optimization_target_(optimization_target),
|
|
- predictions_cache_(kMaxPredictionsToCache),
|
|
- log_router_(log_router) {
|
|
+ predictions_cache_(kMaxPredictionsToCache) {
|
|
// Store the model in memory as soon as it is available and keep it loaded for
|
|
// the whole browser session since we query predictions very regularly.
|
|
// TODO(crbug.com/40276177): Maybe change both back to default behavior if we
|
|
@@ -160,6 +158,7 @@ void FieldClassificationModelHandler::ApplySmallFormRules(
|
|
}
|
|
}
|
|
|
|
+#if BUILDFLAG(BUILD_WITH_TFLITE_LIB)
|
|
autofill_ml_internals::mojom::MLPredictionLogPtr
|
|
FieldClassificationModelHandler::CreateMLPredictionLog(
|
|
const FormStructure& form_structure) const {
|
|
@@ -231,6 +230,7 @@ FieldClassificationModelHandler::CreateMLPredictionLog(
|
|
prediction_log->start_time = base::Time::Now();
|
|
return prediction_log;
|
|
}
|
|
+#endif
|
|
|
|
void PopulateMLPredictionLogAfterInference(
|
|
autofill_ml_internals::mojom::MLPredictionLog& prediction_log,
|
|
@@ -259,9 +259,11 @@ void FieldClassificationModelHandler::GetModelPredictionsForForm(
|
|
|
|
std::optional<autofill_ml_internals::mojom::MLPredictionLogPtr>
|
|
prediction_log = std::nullopt;
|
|
+#if BUILDFLAG(BUILD_WITH_TFLITE_LIB)
|
|
if (log_router_ && log_router_->HasReceivers()) {
|
|
prediction_log = CreateMLPredictionLog(*form_structure);
|
|
}
|
|
+#endif
|
|
|
|
// TODO(crbug.com/428686605) Set tokenized representation in `prediction_log`.
|
|
FieldClassificationModelEncoder::ModelInput encoded_input =
|
|
@@ -312,11 +314,13 @@ void FieldClassificationModelHandler::GetModelPredictionsForForm(
|
|
predicted_types);
|
|
}
|
|
}
|
|
+#if BUILDFLAG(BUILD_WITH_TFLITE_LIB)
|
|
if (self && output && prediction_log && self->log_router_) {
|
|
PopulateMLPredictionLogAfterInference(*(prediction_log.value()),
|
|
output.value());
|
|
self->log_router_->ProcessLog(std::move(*prediction_log));
|
|
}
|
|
+#endif
|
|
std::move(callback).Run(std::move(form_structure));
|
|
},
|
|
weak_ptr_factory_.GetWeakPtr(), std::move(prediction_log),
|
|
diff --git a/components/autofill/core/browser/ml_model/field_classification_model_handler.h b/components/autofill/core/browser/ml_model/field_classification_model_handler.h
|
|
--- a/components/autofill/core/browser/ml_model/field_classification_model_handler.h
|
|
+++ b/components/autofill/core/browser/ml_model/field_classification_model_handler.h
|
|
@@ -15,8 +15,11 @@
|
|
#include "components/autofill/core/browser/field_types.h"
|
|
#include "components/autofill/core/browser/form_structure.h"
|
|
#include "components/autofill/core/browser/ml_model/field_classification_model_encoder.h"
|
|
+#include "components/optimization_guide/machine_learning_tflite_buildflags.h"
|
|
+#if BUILDFLAG(BUILD_WITH_TFLITE_LIB)
|
|
#include "components/autofill/core/browser/ml_model/logging/autofill_ml_internals.mojom.h"
|
|
#include "components/autofill/core/browser/ml_model/logging/ml_log_router.h"
|
|
+#endif
|
|
#include "components/keyed_service/core/keyed_service.h"
|
|
#include "components/optimization_guide/core/delivery/optimization_guide_model_provider.h"
|
|
#include "components/optimization_guide/core/inference/model_handler.h"
|
|
@@ -42,8 +45,7 @@ class FieldClassificationModelHandler
|
|
|
|
FieldClassificationModelHandler(
|
|
optimization_guide::OptimizationGuideModelProvider* model_provider,
|
|
- optimization_guide::proto::OptimizationTarget optimization_target,
|
|
- autofill::MLLogRouter* log_router = nullptr);
|
|
+ optimization_guide::proto::OptimizationTarget optimization_target);
|
|
~FieldClassificationModelHandler() override;
|
|
|
|
// This function asynchronously queries predictions for the `form_structure`
|
|
@@ -136,10 +138,10 @@ class FieldClassificationModelHandler
|
|
// Cached model classifications.
|
|
base::LRUCache<ModelInputHash, std::vector<FieldType>> predictions_cache_;
|
|
|
|
- raw_ptr<autofill::MLLogRouter> log_router_ = nullptr;
|
|
-
|
|
+#if BUILDFLAG(BUILD_WITH_TFLITE_LIB)
|
|
autofill_ml_internals::mojom::MLPredictionLogPtr CreateMLPredictionLog(
|
|
const FormStructure& form_structure) const;
|
|
+#endif
|
|
|
|
base::WeakPtrFactory<FieldClassificationModelHandler> weak_ptr_factory_{this};
|
|
};
|
|
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
|
|
@@ -52,7 +52,9 @@
|
|
#include "components/omnibox/browser/autocomplete_match.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"
|
|
@@ -126,6 +128,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 =
|
|
@@ -234,6 +237,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/omnibox/browser/base_search_provider.cc b/components/omnibox/browser/base_search_provider.cc
|
|
--- a/components/omnibox/browser/base_search_provider.cc
|
|
+++ b/components/omnibox/browser/base_search_provider.cc
|
|
@@ -100,14 +100,14 @@ BaseSearchProvider::BaseSearchProvider(AutocompleteProvider::Type type,
|
|
bool BaseSearchProvider::ShouldPrefetch(const AutocompleteMatch& match) {
|
|
// TODO (manukh): `GetAdditionalInfoForDebugging()` shouldn't be used for
|
|
// non-debugging purposes.
|
|
- return match.GetAdditionalInfoForDebugging(kShouldPrefetchKey) == kTrue;
|
|
+ return false;
|
|
}
|
|
|
|
// static
|
|
bool BaseSearchProvider::ShouldPrerender(const AutocompleteMatch& match) {
|
|
// TODO (manukh): `GetAdditionalInfoForDebugging()` shouldn't be used for
|
|
// non-debugging purposes.
|
|
- return match.GetAdditionalInfoForDebugging(kShouldPrerenderKey) == kTrue;
|
|
+ return false;
|
|
}
|
|
|
|
// static
|
|
diff --git a/components/optimization_guide/core/delivery/prediction_model_download_manager.cc b/components/optimization_guide/core/delivery/prediction_model_download_manager.cc
|
|
--- a/components/optimization_guide/core/delivery/prediction_model_download_manager.cc
|
|
+++ b/components/optimization_guide/core/delivery/prediction_model_download_manager.cc
|
|
@@ -44,7 +44,7 @@ namespace {
|
|
// we require models to come from.
|
|
constexpr std::array<uint8_t, crypto::hash::kSha256Size> 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(
|
|
unzip::UnzipperFactory unzipper_factory,
|
|
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),
|
|
@@ -117,6 +117,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;
|
|
@@ -265,6 +266,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/delivery/prediction_model_fetcher_impl.cc b/components/optimization_guide/core/delivery/prediction_model_fetcher_impl.cc
|
|
--- a/components/optimization_guide/core/delivery/prediction_model_fetcher_impl.cc
|
|
+++ b/components/optimization_guide/core/delivery/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/core/hints/hints_fetcher.cc b/components/optimization_guide/core/hints/hints_fetcher.cc
|
|
--- a/components/optimization_guide/core/hints/hints_fetcher.cc
|
|
+++ b/components/optimization_guide/core/hints/hints_fetcher.cc
|
|
@@ -202,6 +202,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/hints_manager.cc b/components/optimization_guide/core/hints/hints_manager.cc
|
|
--- a/components/optimization_guide/core/hints/hints_manager.cc
|
|
+++ b/components/optimization_guide/core/hints/hints_manager.cc
|
|
@@ -457,6 +457,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:
|
|
@@ -2040,4 +2041,5 @@ void HintsManager::RemoveFetchedEntriesByHintKeys(
|
|
hint_cache_->RemoveHintsForHosts(std::move(on_success), hint_keys);
|
|
}
|
|
|
|
+SET_CROMITE_FEATURE_DISABLED(kHintsBatchUpdateForActiveTabsAndTopHosts);
|
|
} // namespace optimization_guide
|
|
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
|
|
|
|
@@ -288,8 +284,7 @@ size_t MaxHostKeyedHintCacheSize() {
|
|
}
|
|
|
|
bool ShouldPersistHintsToDisk() {
|
|
- return GetFieldTrialParamByFeatureAsBool(kOptimizationHints,
|
|
- "persist_hints_to_disk", true);
|
|
+ return false;
|
|
}
|
|
|
|
RequestContextSet GetAllowedContextsForPersonalizedMetadata() {
|
|
@@ -692,5 +687,10 @@ bool IsPrivacyGuideAiSettingsEnabled() {
|
|
return base::FeatureList::IsEnabled(kPrivacyGuideAiSettings);
|
|
}
|
|
|
|
+SET_CROMITE_FEATURE_DISABLED(kOptimizationHints);
|
|
+SET_CROMITE_FEATURE_DISABLED(kOptimizationTargetPrediction);
|
|
+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/features.gni b/components/optimization_guide/features.gni
|
|
--- a/components/optimization_guide/features.gni
|
|
+++ b/components/optimization_guide/features.gni
|
|
@@ -15,8 +15,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
|
|
@@ -291,4 +291,8 @@ bool ShouldAnnotatedPageContentStudyIncludeInnerText() {
|
|
return kAnnotatedPageContentStudyIncludeInnerText.Get();
|
|
}
|
|
|
|
+SET_CROMITE_FEATURE_DISABLED(kPageContentAnnotations);
|
|
+SET_CROMITE_FEATURE_DISABLED(kRemotePageMetadata);
|
|
+SET_CROMITE_FEATURE_DISABLED(kPageContentAnnotationsValidation);
|
|
+SET_CROMITE_FEATURE_DISABLED(kPageContentAnnotationsPersistSalientImageMetadata);
|
|
} // namespace page_content_annotations::features
|
|
diff --git a/components/page_content_annotations/core/page_content_annotations_model_manager.cc b/components/page_content_annotations/core/page_content_annotations_model_manager.cc
|
|
--- a/components/page_content_annotations/core/page_content_annotations_model_manager.cc
|
|
+++ b/components/page_content_annotations/core/page_content_annotations_model_manager.cc
|
|
@@ -44,6 +44,7 @@ PageContentAnnotationsModelManager::~PageContentAnnotationsModelManager() =
|
|
void PageContentAnnotationsModelManager::SetUpPageVisibilityModel(
|
|
optimization_guide::OptimizationGuideModelProvider*
|
|
optimization_guide_model_provider) {
|
|
+ if ((true)) return; // was kPageVisibilityBatchAnnotations
|
|
if (page_visibility_model_handler_)
|
|
return;
|
|
|
|
diff --git a/components/safe_browsing/content/browser/notification_content_detection/BUILD.gn b/components/safe_browsing/content/browser/notification_content_detection/BUILD.gn
|
|
--- a/components/safe_browsing/content/browser/notification_content_detection/BUILD.gn
|
|
+++ b/components/safe_browsing/content/browser/notification_content_detection/BUILD.gn
|
|
@@ -40,6 +40,13 @@ source_set("notification_content_detection") {
|
|
]
|
|
}
|
|
|
|
+source_set("constants") {
|
|
+ sources = [
|
|
+ "notification_content_detection_constants.cc",
|
|
+ "notification_content_detection_constants.h",
|
|
+ ]
|
|
+}
|
|
+
|
|
source_set("test_utils") {
|
|
testonly = true
|
|
sources = [
|
|
diff --git a/content/browser/service_worker/service_worker_main_resource_loader.cc b/content/browser/service_worker/service_worker_main_resource_loader.cc
|
|
--- a/content/browser/service_worker/service_worker_main_resource_loader.cc
|
|
+++ b/content/browser/service_worker/service_worker_main_resource_loader.cc
|
|
@@ -538,6 +538,7 @@ bool ServiceWorkerMainResourceLoader::MaybeStartAutoPreload(
|
|
bool ServiceWorkerMainResourceLoader::StartRaceNetworkRequest(
|
|
scoped_refptr<ServiceWorkerContextWrapper> context,
|
|
scoped_refptr<ServiceWorkerVersion> version) {
|
|
+ if ((true)) return false;
|
|
// Set fetch_handler_bypass_option to tell the renderer that
|
|
// RaceNetworkRequest is enabled.
|
|
version->set_fetch_handler_bypass_option(
|
|
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,2 @@
|
|
+SET_CROMITE_FEATURE_DISABLED(kBookmarkTriggerForPrerender2);
|
|
+SET_CROMITE_FEATURE_DISABLED(kNewTabPageTriggerForPrerender2);
|
|
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/net/base/features_cc/Disable-all-predictors-code.inc b/cromite_flags/net/base/features_cc/Disable-all-predictors-code.inc
|
|
new file mode 100644
|
|
--- /dev/null
|
|
+++ b/cromite_flags/net/base/features_cc/Disable-all-predictors-code.inc
|
|
@@ -0,0 +1 @@
|
|
+SET_CROMITE_FEATURE_DISABLED(kHttpCacheNoVarySearch);
|
|
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/BUILD.gn b/services/webnn/BUILD.gn
|
|
--- a/services/webnn/BUILD.gn
|
|
+++ b/services/webnn/BUILD.gn
|
|
@@ -170,7 +170,7 @@ component("webnn_service") {
|
|
}
|
|
}
|
|
|
|
- if (is_win) {
|
|
+ if (is_win && webnn_use_tflite) {
|
|
sources += [
|
|
"ort/buffer_content_ort.cc",
|
|
"ort/buffer_content_ort.h",
|
|
diff --git a/services/webnn/features.gni b/services/webnn/features.gni
|
|
--- a/services/webnn/features.gni
|
|
+++ b/services/webnn/features.gni
|
|
@@ -9,7 +9,7 @@ assert(use_blink)
|
|
|
|
declare_args() {
|
|
# TFLite is used as a fallback option on Apple and Windows.
|
|
- webnn_use_tflite = is_android || is_chromeos || is_linux || is_apple || is_win
|
|
+ webnn_use_tflite = false #is_android || is_chromeos || is_linux || is_apple || is_win
|
|
|
|
# Enable the GPU delegate provided by the Optimization Guide library.
|
|
webnn_use_chrome_ml_api = enable_ml_internal
|
|
diff --git a/services/webnn/webnn_context_provider_impl.cc b/services/webnn/webnn_context_provider_impl.cc
|
|
--- a/services/webnn/webnn_context_provider_impl.cc
|
|
+++ b/services/webnn/webnn_context_provider_impl.cc
|
|
@@ -217,18 +217,7 @@ void WebNNContextProviderImpl::CreateWebNNContext(
|
|
RecordDeviceType(options->device);
|
|
|
|
#if BUILDFLAG(IS_WIN)
|
|
- if (ort::ShouldCreateOrtContext(*options)) {
|
|
- base::expected<scoped_refptr<ort::Environment>, std::string>
|
|
- env_creation_results = ort::Environment::Create(gpu_info_);
|
|
- if (!env_creation_results.has_value()) {
|
|
- LOG(ERROR) << "[WebNN] Failed to create ONNX Runtime context: "
|
|
- << env_creation_results.error();
|
|
- } else {
|
|
- context_impl = std::make_unique<ort::ContextImplOrt>(
|
|
- std::move(receiver), this, std::move(options),
|
|
- std::move(env_creation_results.value()));
|
|
- }
|
|
- } else if (dml::ShouldCreateDmlContext(*options)) {
|
|
+ if (dml::ShouldCreateDmlContext(*options)) {
|
|
base::expected<std::unique_ptr<WebNNContextImpl>, mojom::ErrorPtr>
|
|
context_creation_results = dml::CreateContextFromOptions(
|
|
std::move(options), gpu_feature_info_, gpu_info_,
|
|
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
|
|
@@ -1801,6 +1801,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
|
|
@@ -662,6 +662,7 @@ void DocumentSpeculationRules::UpdateSpeculationCandidates() {
|
|
return;
|
|
}
|
|
|
|
+ if ((true)) return;
|
|
HeapVector<Member<SpeculationCandidate>> candidates;
|
|
auto push_candidates = [&candidates, &document, this](
|
|
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
|
|
@@ -3734,7 +3734,7 @@
|
|
//
|
|
// It also has some feature params defined throughout the codebase.
|
|
name: "Prerender2",
|
|
- status: "stable",
|
|
+ status: "test",
|
|
},
|
|
{
|
|
name: "PrerenderUntilScript",
|
|
--
|