@@ -37,11 +37,10 @@ diff --git a/chrome/browser/resources/new_tab_page/app.html b/chrome/browser/res
- @open-voice-search="${this.onOpenVoiceSearch_}" ?shown="${this.realboxShown_}"
- ?had-secondary-side="${this.realboxHadSecondarySide}"
- @had-secondary-side-changed="${this.onRealboxHadSecondarySideChanged_}"
-- @context-menu-entrypoint-click="${this.onContextMenuEntrypointClick_}"
- ?can-show-secondary-side="${this.realboxCanShowSecondarySide}"
- ?compose-button-enabled="${this.composeButtonEnabled}"
- ?composebox-enabled="${this.composeboxEnabled}"
-- searchbox-layout-mode="${this.realboxLayoutMode_}"
+- searchbox-layout-mode="${this.ntpRealboxNextEnabled_ ? 'Compact' : ''}"
- ?ntp-realbox-next-enabled="${this.ntpRealboxNextEnabled_}"
- ?cycling-placeholders="${this.searchboxCyclingPlaceholders_}"
- context-menu-glif-animation-state="${this.contextMenuGlifAnimationState_}"
@@ -54,14 +53,15 @@ diff --git a/chrome/browser/resources/new_tab_page/app.html b/chrome/browser/res
diff --git a/chrome/browser/ui/webui/cr_components/searchbox/searchbox_handler.cc b/chrome/browser/ui/webui/cr_components/searchbox/searchbox_handler.cc
--- a/chrome/browser/ui/webui/cr_components/searchbox/searchbox_handler.cc
+++ b/chrome/browser/ui/webui/cr_components/searchbox/searchbox_handler.cc
-@@ -307,6 +307,7 @@ void SearchboxHandler::SetupWebUIDataSource(content::WebUIDataSource* source,
- bool enable_voice_search,
- bool enable_lens_search,
- bool session_allows_drag_and_drop) {
-+ enable_lens_search = false;
+@@ -321,6 +321,8 @@ base::DictValue SearchboxHandler::GetWebUIDataSourceDict(Profile* profile) {
+ base::DictValue SearchboxHandler::GetWebUIDataSourceDict(
+ Profile* profile,
+ WebUIDataSourceOptions options) {
++ options.enable_lens_search = false;
++ options.enable_voice_search = false;
+ base::DictValue dict;
+
// The WebUI Omnibox code will override this to `true` to adjust various
- // color and layout options.
- source->AddBoolean("isTopChromeSearchbox", false);
diff --git a/components/search/ntp_features.cc b/components/search/ntp_features.cc
--- a/components/search/ntp_features.cc
+++ b/components/search/ntp_features.cc
diff --git a/build/patches/Disable-Sticky-User-Activation-Across-Same-Origin-Navigation.patch b/build/patches/Disable-Sticky-User-Activation-Across-Same-Origin-Navigation.patch
index 3d09ad175..ca9ec9d48 100644
--- a/build/patches/Disable-Sticky-User-Activation-Across-Same-Origin-Navigation.patch
+++ b/build/patches/Disable-Sticky-User-Activation-Across-Same-Origin-Navigation.patch
@@ -14,7 +14,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
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
-@@ -5384,8 +5384,8 @@
+@@ -5510,8 +5510,8 @@
{
// Preserves the sticky user activation state after a page navigates to
// another same-origin page. https://crbug.com/433729626
diff --git a/build/patches/Disable-TLS-resumption.patch b/build/patches/Disable-TLS-resumption.patch
index 36f472bd8..4c06c8cb0 100644
--- a/build/patches/Disable-TLS-resumption.patch
+++ b/build/patches/Disable-TLS-resumption.patch
@@ -26,13 +26,13 @@ Original License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
.../about_flags_cc/Disable-TLS-resumption.inc | 12 ++++
- .../features_cc/Disable-TLS-resumption.inc | 7 +++
+ .../features_cc/Disable-TLS-resumption.inc | 7 ++
.../features_h/Disable-TLS-resumption.inc | 5 ++
net/http/http_network_session.cc | 1 +
- net/quic/quic_session_pool.cc | 35 ++++++++++-
- net/socket/ssl_client_socket_impl.cc | 59 +++++++++++++++++++
+ net/quic/quic_session_pool.cc | 35 +++++++++-
+ net/socket/ssl_client_socket_impl.cc | 68 +++++++++++++++++++
net/socket/ssl_client_socket_impl.h | 2 +
- 7 files changed, 119 insertions(+), 2 deletions(-)
+ 7 files changed, 128 insertions(+), 2 deletions(-)
create mode 100644 cromite_flags/chrome/browser/about_flags_cc/Disable-TLS-resumption.inc
create mode 100644 cromite_flags/net/base/features_cc/Disable-TLS-resumption.inc
create mode 100644 cromite_flags/net/base/features_h/Disable-TLS-resumption.inc
@@ -90,7 +90,7 @@ diff --git a/net/http/http_network_session.cc b/net/http/http_network_session.cc
diff --git a/net/quic/quic_session_pool.cc b/net/quic/quic_session_pool.cc
--- a/net/quic/quic_session_pool.cc
+++ b/net/quic/quic_session_pool.cc
-@@ -380,6 +380,38 @@ base::TimeDelta GetAdditionalDelayForMainJob() {
+@@ -384,6 +384,38 @@ base::TimeDelta GetAdditionalDelayForMainJob() {
} // namespace
@@ -129,7 +129,7 @@ diff --git a/net/quic/quic_session_pool.cc b/net/quic/quic_session_pool.cc
QuicSessionRequest::QuicSessionRequest(QuicSessionPool* pool) : pool_(pool) {}
QuicSessionRequest::~QuicSessionRequest() {
-@@ -2429,8 +2461,7 @@ QuicSessionPool::CreateCryptoConfigHandle(QuicCryptoClientConfigKey key) {
+@@ -2484,8 +2516,7 @@ QuicSessionPool::CreateCryptoConfigHandle(QuicCryptoClientConfigKey key) {
cert_verifier_, transport_security_state_, sct_auditing_delegate_,
std::move(hostnames_to_allow_unknown_roots),
key.network_anonymization_key),
@@ -142,7 +142,15 @@ diff --git a/net/quic/quic_session_pool.cc b/net/quic/quic_session_pool.cc
diff --git a/net/socket/ssl_client_socket_impl.cc b/net/socket/ssl_client_socket_impl.cc
--- a/net/socket/ssl_client_socket_impl.cc
+++ b/net/socket/ssl_client_socket_impl.cc
-@@ -292,7 +292,33 @@ SSLClientSocketImpl::SSLClientSocketImpl(
+@@ -31,6 +31,7 @@
+ #include "base/strings/string_view_util.h"
+ #include "base/synchronization/lock.h"
+ #include "base/task/sequenced_task_runner.h"
++#include "base/types/fixed_array.h"
+ #include "base/trace_event/trace_event.h"
+ #include "base/values.h"
+ #include "build/build_config.h"
+@@ -292,7 +293,41 @@ SSLClientSocketImpl::SSLClientSocketImpl(
CHECK(context_);
}
@@ -156,18 +164,26 @@ diff --git a/net/socket/ssl_client_socket_impl.cc b/net/socket/ssl_client_socket
+ }
+
+ unsigned len;
-+ auto* session_id = SSL_SESSION_get_id(session, &len);
++ const uint8_t *session_id = SSL_SESSION_get_id(session, &len);
++ base::FixedArray
session_id_bytes(len);
++ for (unsigned i = 0; i < len; i++) {
++ session_id_bytes[i] = UNSAFE_TODO(session_id[i]);
++ }
+
+ const uint8_t *ticket;
+ size_t ticklen;
+ SSL_SESSION_get0_ticket(session, &ticket, &ticklen);
++ base::FixedArray ticket_bytes(ticklen);
++ for (size_t i = 0; i < ticklen; i++) {
++ ticket_bytes[i] = UNSAFE_TODO(ticket[i]);
++ }
+
+ LOG(INFO) << "SSL Log: "
+ << tag
+ << " host: " << host_and_port_.ToString()
+ << " NIK: " << ssl_config_.network_anonymization_key.ToDebugString()
-+ << " sessionid: " << base::HexEncode(session_id, len)
-+ << (ticklen > 0 ? " ticket:" + base::HexEncode(ticket, ticklen) : "");
++ << " sessionid: " << base::HexEncode(base::span(session_id_bytes))
++ << (ticklen > 0 ? " ticket:" + base::HexEncode(ticket_bytes) : "");
+}
+
SSLClientSocketImpl::~SSLClientSocketImpl() {
@@ -176,7 +192,7 @@ diff --git a/net/socket/ssl_client_socket_impl.cc b/net/socket/ssl_client_socket
Disconnect();
}
-@@ -710,6 +736,8 @@ int SSLClientSocketImpl::Init() {
+@@ -710,6 +745,8 @@ int SSLClientSocketImpl::Init() {
}
if (session)
SSL_set_session(ssl_.get(), session.get());
@@ -185,7 +201,7 @@ diff --git a/net/socket/ssl_client_socket_impl.cc b/net/socket/ssl_client_socket
}
transport_adapter_ = std::make_unique(
-@@ -994,6 +1022,35 @@ int SSLClientSocketImpl::DoHandshakeComplete(int result) {
+@@ -994,6 +1031,35 @@ int SSLClientSocketImpl::DoHandshakeComplete(int result) {
: SSLHandshakeDetails::kTLS13Full;
}
}
@@ -221,7 +237,7 @@ diff --git a/net/socket/ssl_client_socket_impl.cc b/net/socket/ssl_client_socket
UMA_HISTOGRAM_ENUMERATION("Net.SSLHandshakeDetails", details);
// Measure TLS connections that implement the renegotiation_info and EMS
-@@ -1624,6 +1681,8 @@ bool SSLClientSocketImpl::IsRenegotiationAllowed() const {
+@@ -1624,6 +1690,8 @@ bool SSLClientSocketImpl::IsRenegotiationAllowed() const {
}
bool SSLClientSocketImpl::IsCachingEnabled() const {
diff --git a/build/patches/Disable-UA-full-version.patch b/build/patches/Disable-UA-full-version.patch
index 89fa33f93..5c294773a 100644
--- a/build/patches/Disable-UA-full-version.patch
+++ b/build/patches/Disable-UA-full-version.patch
@@ -23,7 +23,7 @@ diff --git a/third_party/blink/renderer/core/frame/navigator_ua_data.cc b/third_
#include "third_party/blink/public/mojom/use_counter/metrics/web_feature.mojom-blink.h"
#include "third_party/blink/renderer/bindings/core/v8/script_promise_resolver.h"
#include "third_party/blink/renderer/bindings/core/v8/v8_ua_data_values.h"
-@@ -17,6 +20,20 @@
+@@ -16,6 +19,20 @@
namespace blink {
@@ -36,7 +36,7 @@ diff --git a/third_party/blink/renderer/core/frame/navigator_ua_data.cc b/third_
+ if (components.size() > 0) {
+ version_str = base::StrCat({base::NumberToString(components[0]), ".0.0.0"});
+ }
-+ return String::FromUTF8(version_str);
++ return String::FromUtf8(version_str);
+}
+
+}
@@ -44,16 +44,16 @@ diff --git a/third_party/blink/renderer/core/frame/navigator_ua_data.cc b/third_
NavigatorUAData::NavigatorUAData(ExecutionContext* context)
: ExecutionContextClient(context) {
NavigatorUABrandVersion* dict = NavigatorUABrandVersion::Create();
-@@ -53,7 +70,7 @@ void NavigatorUAData::SetFullVersionList(
+@@ -52,7 +69,7 @@ void NavigatorUAData::SetFullVersionList(
const UserAgentBrandList& full_version_list) {
for (const auto& brand_version : full_version_list) {
- AddBrandFullVersion(String::FromUTF8(brand_version.brand),
-- String::FromUTF8(brand_version.version));
-+ GetReducedVersionNumber(brand_version.version));
+ AddBrandFullVersion(String::FromUtf8(brand_version.brand),
+- String::FromUtf8(brand_version.version));
++ GetReducedVersionNumber(brand_version.version));
}
}
-@@ -75,7 +92,7 @@ void NavigatorUAData::SetModel(const String& model) {
+@@ -74,7 +91,7 @@ void NavigatorUAData::SetModel(const String& model) {
}
void NavigatorUAData::SetUAFullVersion(const String& ua_full_version) {
diff --git a/build/patches/Disable-Viewport-Segments.patch b/build/patches/Disable-Viewport-Segments.patch
index fc9b9c277..5fc689e45 100644
--- a/build/patches/Disable-Viewport-Segments.patch
+++ b/build/patches/Disable-Viewport-Segments.patch
@@ -21,7 +21,7 @@ new file mode 100644
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
-@@ -6054,8 +6054,7 @@
+@@ -6174,8 +6174,7 @@
status: "stable",
},
{
diff --git a/build/patches/Disable-WebGPU.patch b/build/patches/Disable-WebGPU.patch
index dd15bf78c..dc85b079f 100644
--- a/build/patches/Disable-WebGPU.patch
+++ b/build/patches/Disable-WebGPU.patch
@@ -12,7 +12,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
diff --git a/content/child/runtime_features.cc b/content/child/runtime_features.cc
--- a/content/child/runtime_features.cc
+++ b/content/child/runtime_features.cc
-@@ -528,6 +528,8 @@ void SetCustomizedRuntimeFeaturesFromCombinedArgs(
+@@ -531,6 +531,8 @@ void SetCustomizedRuntimeFeaturesFromCombinedArgs(
WebRuntimeFeatures::EnableRemotePlayback(false);
@@ -24,7 +24,7 @@ diff --git a/content/child/runtime_features.cc b/content/child/runtime_features.
diff --git a/gpu/config/gpu_finch_features.cc b/gpu/config/gpu_finch_features.cc
--- a/gpu/config/gpu_finch_features.cc
+++ b/gpu/config/gpu_finch_features.cc
-@@ -205,7 +205,7 @@ BASE_FEATURE(kEnableDrDc,
+@@ -215,7 +215,7 @@ BASE_FEATURE(kEnableDrDc,
// enabled by default on supported platforms.
#if BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_CHROMEOS) || \
BUILDFLAG(IS_ANDROID) || BUILDFLAG(USE_WEBGPU_ON_VULKAN_VIA_GL_INTEROP)
diff --git a/build/patches/Disable-all-predictors-code.patch b/build/patches/Disable-all-predictors-code.patch
index 6f45b7ae2..8b79f35af 100644
--- a/build/patches/Disable-all-predictors-code.patch
+++ b/build/patches/Disable-all-predictors-code.patch
@@ -5,90 +5,125 @@ 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 | 1 -
- .../background_download_service_factory.cc | 2 +-
- .../preloading_model_keyed_service.cc | 3 ++
- .../preloading_model_keyed_service_factory.cc | 4 +--
- .../chrome_hints_manager.cc | 1 +
- .../model_validator_keyed_service.cc | 6 +++-
- .../optimization_guide_keyed_service.cc | 1 -
- .../password_change_delegate_impl.cc | 2 ++
- chrome/browser/permissions/BUILD.gn | 2 --
- .../permissions/chrome_permissions_client.cc | 2 --
- .../passage_embedder_delegate.cc | 2 ++
- .../permissions_ai_ui_selector.cc | 5 ++++
- .../permissions_ai_ui_selector.h | 5 +++-
- .../prediction_model_handler_provider.cc | 12 ++++++--
- .../prediction_model_handler_provider.h | 2 ++
- .../quiet_notification_permission_ui_state.cc | 4 +--
- .../autocomplete_action_predictor.cc | 2 ++
- .../predictors/loading_predictor_config.cc | 4 +--
- .../browser/predictors/predictors_features.cc | 3 +-
- .../search_prefetch/field_trial_settings.cc | 4 +++
- .../search_prefetch_url_loader_interceptor.cc | 1 +
- ...hrome_browser_main_extra_parts_profiles.cc | 1 -
- chrome/browser/safe_browsing/BUILD.gn | 1 -
- ...ation_content_detection_service_factory.cc | 6 ++++
- .../preloading/AndroidPrerenderManager.java | 1 +
- .../ui/autofill/chrome_autofill_client.cc | 13 +-------
- 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_app_controller.h | 4 +++
- chrome/test/BUILD.gn | 2 --
- chrome/utility/BUILD.gn | 2 +-
- chrome/utility/services.cc | 8 -----
- components/BUILD.gn | 2 +-
- .../browser/foundations/autofill_manager.cc | 6 ++++
- .../browser/foundations/autofill_manager.h | 3 ++
- .../autofill_optimization_guide_decider.cc | 5 ++--
- .../field_classification_model_handler.cc | 12 +++++---
- .../field_classification_model_handler.h | 10 +++++--
- .../aim_eligibility_service_features.cc | 1 +
- .../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 | 11 ++++---
- components/optimization_guide/features.gni | 3 +-
- .../page_category_classifier_bridge_impl.cc | 4 +++
- .../page_category_classifier_bridge_impl.h | 3 ++
- .../core/page_content_annotations_features.cc | 8 +++++
- .../page_content_annotations_model_manager.cc | 1 +
- .../core/page_content_annotations_service.h | 7 +++--
- .../browser/client_side_phishing_model.cc | 4 +--
- .../notification_content_detection/BUILD.gn | 4 ---
- components/viz/service/BUILD.gn | 4 +--
- components/viz/service/gl/gpu_service_impl.cc | 19 ------------
- content/browser/BUILD.gn | 6 ++--
- content/browser/gpu/gpu_process_host.cc | 6 ++--
- .../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 +
- .../Disable-all-predictors-code.inc | 1 +
- .../Disable-all-predictors-code.inc | 5 ++++
- .../Disable-all-predictors-code.inc | 1 +
- .../Disable-all-predictors-code.inc | 1 +
- .../Disable-all-predictors-code.inc | 2 ++
- media/webrtc/BUILD.gn | 1 +
- media/webrtc/helpers.cc | 1 +
- services/on_device_model/ml/ts_model.cc | 4 +--
- services/on_device_model/on_device_model.gni | 2 +-
- services/on_device_model/safety/BUILD.gn | 2 +-
- services/webnn/BUILD.gn | 2 +-
- services/webnn/features.gni | 2 +-
- services/webnn/webnn_context_provider_impl.cc | 30 +------------------
- .../core/html/parser/html_document_parser.cc | 1 +
- .../document_speculation_rules.cc | 1 +
- .../platform/runtime_enabled_features.json5 | 2 +-
- 83 files changed, 209 insertions(+), 141 deletions(-)
+ chrome/browser/BUILD.gn | 1 -
+ chrome/browser/about_flags.cc | 2 +
+ .../chrome_autocomplete_provider_client.cc | 4 +-
+ chrome/browser/autofill/BUILD.gn | 4 +-
+ ...ld_classification_model_service_factory.cc | 14 +--
+ .../background_download_service_factory.cc | 2 +-
+ .../history_embeddings_utils.cc | 5 +
+ .../preloading_model_keyed_service.cc | 2 +
+ .../preloading_model_keyed_service_factory.cc | 4 +-
+ chrome/browser/optimization_guide/BUILD.gn | 4 +-
+ .../chrome_hints_manager.cc | 1 +
+ .../optimization_guide_global_state.cc | 2 +-
+ .../optimization_guide_global_state.h | 4 +-
+ .../model_validator_keyed_service.cc | 8 ++
+ .../optimization_guide_keyed_service.cc | 114 ++----------------
+ .../optimization_guide_keyed_service.h | 8 +-
+ .../private_ai_model_execution_fetcher.cc | 47 +-------
+ .../password_change_delegate_impl.cc | 2 +
+ ...ld_classification_model_handler_factory.cc | 11 +-
+ chrome/browser/permissions/BUILD.gn | 24 ++--
+ .../permissions/chrome_permissions_client.cc | 2 -
+ .../passage_embedder_delegate.cc | 2 +
+ .../permissions_ai_ui_selector.cc | 5 +
+ .../permissions_ai_ui_selector.h | 5 +-
+ .../prediction_model_handler_provider.cc | 15 ++-
+ .../prediction_model_handler_provider.h | 2 +
+ .../quiet_notification_permission_ui_state.cc | 4 +-
+ .../autocomplete_action_predictor.cc | 2 +
+ .../predictors/loading_predictor_config.cc | 4 +-
+ .../browser/predictors/predictors_features.cc | 3 +-
+ .../search_prefetch/field_trial_settings.cc | 4 +
+ .../search_prefetch_url_loader_interceptor.cc | 1 +
+ ...hrome_browser_main_extra_parts_profiles.cc | 3 +-
+ chrome/browser/safe_browsing/BUILD.gn | 9 +-
+ ...ction_intelligent_scan_delegate_factory.cc | 3 +-
+ ...ation_content_detection_service_factory.cc | 6 +
+ .../preloading/AndroidPrerenderManager.java | 1 +
+ .../ui/autofill/chrome_autofill_client.cc | 13 +-
+ 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 +
+ .../new_tab_page/new_tab_page_handler.cc | 10 +-
+ .../webui/new_tab_page/new_tab_page_handler.h | 4 +-
+ .../ui/webui/omnibox/omnibox_page_handler.cc | 5 +-
+ .../ui/webui/on_device_internals/BUILD.gn | 4 +-
+ .../on_device_internals_page_handler.h | 2 +
+ .../read_anything/read_aloud_app_model.cc | 16 ++-
+ .../read_anything/read_aloud_app_model.h | 9 +-
+ .../read_anything_app_controller.cc | 10 ++
+ .../read_anything_app_controller.h | 4 +
+ chrome/test/BUILD.gn | 2 -
+ chrome/utility/BUILD.gn | 2 +-
+ chrome/utility/services.cc | 8 --
+ components/BUILD.gn | 2 +-
+ components/autofill/core/browser/BUILD.gn | 30 ++---
+ .../browser/foundations/autofill_manager.cc | 14 ++-
+ .../browser/foundations/autofill_manager.h | 3 +
+ .../autofill_optimization_guide_decider.cc | 5 +-
+ .../field_classification_model_handler.cc | 12 +-
+ .../field_classification_model_handler.h | 10 +-
+ .../core/history_embeddings_features.cc | 1 +
+ .../aim_eligibility_service_features.cc | 1 +
+ .../browser/autocomplete_controller.cc | 6 +
+ .../omnibox/browser/base_search_provider.cc | 4 +-
+ .../omnibox/browser/omnibox_field_trial.cc | 2 +-
+ .../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 | 13 +-
+ components/optimization_guide/features.gni | 2 +-
+ .../page_category_classifier_bridge_impl.cc | 4 +
+ .../page_category_classifier_bridge_impl.h | 3 +
+ .../core/page_content_annotations_features.cc | 8 ++
+ .../page_content_annotations_model_manager.cc | 1 +
+ .../core/page_content_annotations_service.cc | 6 +
+ .../core/page_content_annotations_service.h | 9 +-
+ .../permissions/prediction_service/BUILD.gn | 34 +++---
+ .../browser/client_side_phishing_model.cc | 4 +-
+ .../notification_content_detection/BUILD.gn | 4 -
+ .../core/language_detection/BUILD.gn | 1 -
+ components/viz/service/BUILD.gn | 4 +-
+ components/viz/service/gl/gpu_service_impl.cc | 21 ----
+ content/browser/BUILD.gn | 6 +-
+ content/browser/gpu/gpu_process_host.cc | 6 +-
+ .../service_worker_main_resource_loader.cc | 1 +
+ content/utility/services.cc | 10 --
+ .../Disable-all-predictors-code.inc | 2 +
+ .../Disable-all-predictors-code.inc | 1 +
+ .../Disable-all-predictors-code.inc | 1 +
+ .../Disable-all-predictors-code.inc | 1 +
+ .../Disable-all-predictors-code.inc | 5 +
+ .../Disable-all-predictors-code.inc | 1 +
+ .../Disable-all-predictors-code.inc | 1 +
+ .../Disable-all-predictors-code.inc | 2 +
+ media/webrtc/BUILD.gn | 1 +
+ media/webrtc/helpers.cc | 1 +
+ services/on_device_model/BUILD.gn | 6 +-
+ services/on_device_model/fake/BUILD.gn | 10 +-
+ .../fake/fake_chrome_ml_api.cc | 4 +
+ .../fake/on_device_model_fake.cc | 4 +-
+ services/on_device_model/ml/BUILD.gn | 2 +
+ services/on_device_model/ml/chrome_ml_api.h | 4 +
+ services/on_device_model/ml/ts_model.cc | 4 +-
+ services/on_device_model/on_device_model.gni | 4 +-
+ .../on_device_model_service.cc | 9 +-
+ .../on_device_model/public/cpp/features.cc | 2 +
+ .../public/cpp/test_support/BUILD.gn | 2 +-
+ .../on_device_model/public/mojom/BUILD.gn | 2 +-
+ services/on_device_model/safety/BUILD.gn | 2 +-
+ .../passage_embeddings_service.cc | 4 +
+ services/webnn/BUILD.gn | 2 +-
+ services/webnn/features.gni | 2 +-
+ services/webnn/webnn_context_provider_impl.cc | 30 +----
+ .../core/html/parser/html_document_parser.cc | 1 +
+ .../document_speculation_rules.cc | 1 +
+ .../platform/runtime_enabled_features.json5 | 2 +-
+ 118 files changed, 368 insertions(+), 414 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
@@ -101,7 +136,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
--- a/chrome/browser/BUILD.gn
+++ b/chrome/browser/BUILD.gn
-@@ -2230,7 +2230,6 @@ static_library("browser") {
+@@ -2081,7 +2081,6 @@ static_library("browser") {
"//components/resources",
"//components/safe_browsing/content/browser",
"//components/safe_browsing/content/browser:safe_browsing_service",
@@ -109,6 +144,88 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
"//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/about_flags.cc b/chrome/browser/about_flags.cc
+--- a/chrome/browser/about_flags.cc
++++ b/chrome/browser/about_flags.cc
+@@ -8974,6 +8974,7 @@ const FeatureEntry kFeatureEntries[] = {
+ FEATURE_VALUE_TYPE(
+ ntp_features::kCustomizeChromeWallpaperSearchInspirationCard)},
+
++#if false /*BUILDFLAG(BUILD_WITH_TFLITE_LIB)*/
+ {"wallpaper-search-settings-visibility",
+ flag_descriptions::kWallpaperSearchSettingsVisibilityName,
+ flag_descriptions::kWallpaperSearchSettingsVisibilityDescription,
+@@ -8981,6 +8982,7 @@ const FeatureEntry kFeatureEntries[] = {
+ FEATURE_VALUE_TYPE(optimization_guide::features::internal::
+ kWallpaperSearchSettingsVisibility)},
+ #endif
++#endif
+
+ #if BUILDFLAG(IS_CHROMEOS)
+ {"enable-component-updater-test-request",
+diff --git a/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc b/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc
+--- a/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc
++++ b/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc
+@@ -441,12 +441,12 @@ signin::IdentityManager* ChromeAutocompleteProviderClient::GetIdentityManager()
+
+ AutocompleteScoringModelService*
+ ChromeAutocompleteProviderClient::GetAutocompleteScoringModelService() const {
+- return AutocompleteScoringModelServiceFactory::GetForProfile(profile_);
++ return nullptr;
+ }
+
+ OnDeviceTailModelService*
+ ChromeAutocompleteProviderClient::GetOnDeviceTailModelService() const {
+- return OnDeviceTailModelServiceFactory::GetForProfile(profile_);
++ return nullptr;
+ }
+
+ ProviderStateService*
+diff --git a/chrome/browser/autofill/BUILD.gn b/chrome/browser/autofill/BUILD.gn
+--- a/chrome/browser/autofill/BUILD.gn
++++ b/chrome/browser/autofill/BUILD.gn
+@@ -32,8 +32,8 @@ static_library("autofill") {
+ "gmail_otp_backend_factory.h",
+ "merchant_promo_code_manager_factory.cc",
+ "merchant_promo_code_manager_factory.h",
+- "ml_log_router_factory.cc",
+- "ml_log_router_factory.h",
++ # "ml_log_router_factory.cc",
++ # "ml_log_router_factory.h",
+ "one_time_token_service_factory.cc",
+ "one_time_token_service_factory.h",
+ "personal_data_manager_factory.cc",
+diff --git a/chrome/browser/autofill/autofill_field_classification_model_service_factory.cc b/chrome/browser/autofill/autofill_field_classification_model_service_factory.cc
+--- a/chrome/browser/autofill/autofill_field_classification_model_service_factory.cc
++++ b/chrome/browser/autofill/autofill_field_classification_model_service_factory.cc
+@@ -29,8 +29,7 @@ AutofillFieldClassificationModelServiceFactory::GetInstance() {
+ FieldClassificationModelHandler*
+ AutofillFieldClassificationModelServiceFactory::GetForBrowserContext(
+ content::BrowserContext* context) {
+- return static_cast(
+- GetInstance()->GetServiceForBrowserContext(context, /*create=*/true));
++ return nullptr;
+ }
+
+ AutofillFieldClassificationModelServiceFactory::
+@@ -58,16 +57,7 @@ AutofillFieldClassificationModelServiceFactory::GetBrowserContextToUse(
+ std::unique_ptr AutofillFieldClassificationModelServiceFactory::
+ BuildServiceInstanceForBrowserContext(
+ content::BrowserContext* context) const {
+- OptimizationGuideKeyedService* optimization_guide =
+- OptimizationGuideKeyedServiceFactory::GetForProfile(
+- Profile::FromBrowserContext(context));
+- MlLogRouter* log_router = MlLogRouterFactory::GetForProfile(
+- Profile::FromBrowserContext(context));
+- return std::make_unique(
+- optimization_guide,
+- optimization_guide::proto::OptimizationTarget::
+- OPTIMIZATION_TARGET_AUTOFILL_FIELD_CLASSIFICATION,
+- log_router);
++ return nullptr;
+ }
+
+ } // namespace autofill
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
@@ -121,33 +238,54 @@ diff --git a/chrome/browser/download/background_download_service_factory.cc b/ch
clients->insert(std::make_pair(
download::DownloadClient::OPTIMIZATION_GUIDE_PREDICTION_MODELS,
std::make_unique(
+diff --git a/chrome/browser/history_embeddings/history_embeddings_utils.cc b/chrome/browser/history_embeddings/history_embeddings_utils.cc
+--- a/chrome/browser/history_embeddings/history_embeddings_utils.cc
++++ b/chrome/browser/history_embeddings/history_embeddings_utils.cc
+@@ -58,6 +58,7 @@ constexpr auto kEnabledByDefaultForDesktopOnly =
+
+ // These are the kill switches for the launched history embeddings features.
+ BASE_FEATURE(kLaunchedHistoryEmbeddings, kEnabledByDefaultForDesktopOnly);
++SET_CROMITE_FEATURE_DISABLED(kLaunchedHistoryEmbeddings);
+
+ bool IsHistoryEmbeddingsEnabledForProfile(Profile* profile) {
+ if (!IsHistoryEmbeddingsFeatureEnabled()) {
+@@ -77,6 +78,7 @@ bool IsHistoryEmbeddingsAnswersEnabledForProfile(Profile* profile) {
+ return false;
+ }
+
++#if false /*BUILDFLAG(BUILD_WITH_TFLITE_LIB)*/
+ if (optimization_guide::
+ GetGenAILocalFoundationalModelEnterprisePolicySettings(
+ g_browser_process->local_state()) ==
+@@ -91,6 +93,9 @@ bool IsHistoryEmbeddingsAnswersEnabledForProfile(Profile* profile) {
+ optimization_guide_keyed_service
+ ->ShouldFeatureAllowModelExecutionForSignedInUser(
+ optimization_guide::UserVisibleFeatureKey::kHistorySearch);
++#else
++ return false;
++#endif
+ }
+
+ bool IsHistoryEmbeddingsSettingVisible(Profile* profile) {
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 {
+@@ -32,6 +32,7 @@ PreloadingModelKeyedService::Inputs::operator=(const Inputs& other) = default;
- // 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
++#if false /*BUILDFLAG(BUILD_WITH_TFLITE_LIB)*/
auto* model_provider =
static_cast(
optimization_guide_keyed_service);
+@@ -40,6 +41,7 @@ PreloadingModelKeyedService::PreloadingModelKeyedService(
+ preloading_model_handler_ =
+ std::make_unique(model_provider);
+ }
++#endif
+ }
+
+ PreloadingModelKeyedService::~PreloadingModelKeyedService() = default;
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
@@ -160,6 +298,27 @@ diff --git a/chrome/browser/navigation_predictor/preloading_model_keyed_service_
- OptimizationGuideKeyedServiceFactory::GetForProfile(profile));
+ return nullptr;
}
+diff --git a/chrome/browser/optimization_guide/BUILD.gn b/chrome/browser/optimization_guide/BUILD.gn
+--- a/chrome/browser/optimization_guide/BUILD.gn
++++ b/chrome/browser/optimization_guide/BUILD.gn
+@@ -56,7 +56,7 @@ source_set("impl") {
+ sources = [
+ "chrome_browser_main_extra_parts_optimization_guide.cc",
+ "chrome_hints_manager.cc",
+- "chrome_model_quality_logs_uploader_service.cc",
++ # "chrome_model_quality_logs_uploader_service.cc",
+ "model_execution/optimization_guide_global_state.cc",
+ "model_validator_keyed_service.cc",
+ "model_validator_keyed_service_factory.cc",
+@@ -109,7 +109,7 @@ source_set("impl") {
+
+ source_set("optimization_guide_on_device_model_installer") {
+ sources = [
+- "../component_updater/optimization_guide_on_device_model_installer.cc",
++ # "../component_updater/optimization_guide_on_device_model_installer.cc",
+ "../component_updater/optimization_guide_on_device_model_installer.h",
+ ]
+
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
@@ -171,33 +330,76 @@ diff --git a/chrome/browser/optimization_guide/chrome_hints_manager.cc b/chrome/
if (prediction.prediction_source() !=
NavigationPredictorKeyedService::PredictionSource::
kAnchorElementsParsedFromWebPage) {
+diff --git a/chrome/browser/optimization_guide/model_execution/optimization_guide_global_state.cc b/chrome/browser/optimization_guide/model_execution/optimization_guide_global_state.cc
+--- a/chrome/browser/optimization_guide/model_execution/optimization_guide_global_state.cc
++++ b/chrome/browser/optimization_guide/model_execution/optimization_guide_global_state.cc
+@@ -170,7 +170,7 @@ OptimizationGuideGlobalState::OptimizationGuideGlobalState(
+ #else
+ OptimizationGuideGlobalState::OptimizationGuideGlobalState()
+ : on_device_capability_(
+-#if BUILDFLAG(IS_ANDROID)
++#if false && BUILDFLAG(IS_ANDROID)
+ *g_browser_process->local_state(),
+ prediction_manager_.prediction_manager()
+ #endif // BUILDFLAG(IS_ANDROID)
+diff --git a/chrome/browser/optimization_guide/model_execution/optimization_guide_global_state.h b/chrome/browser/optimization_guide/model_execution/optimization_guide_global_state.h
+--- a/chrome/browser/optimization_guide/model_execution/optimization_guide_global_state.h
++++ b/chrome/browser/optimization_guide/model_execution/optimization_guide_global_state.h
+@@ -98,8 +98,8 @@ class OptimizationGuideGlobalState final
+ ModelBrokerState on_device_capability_;
+ std::unique_ptr
+ component_state_manager_observer_;
+-#elif BUILDFLAG(IS_ANDROID)
+- ModelBrokerAndroid on_device_capability_;
++// #elif BUILDFLAG(IS_ANDROID)
++// ModelBrokerAndroid on_device_capability_;
+ #else
+ OnDeviceCapability on_device_capability_;
+ #endif // BUILDFLAG(USE_ON_DEVICE_MODEL_SERVICE)
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
-@@ -68,13 +68,13 @@ namespace optimization_guide {
+@@ -32,6 +32,7 @@
+
+ namespace {
+
++#if false /*BUILDFLAG(BUILD_WITH_TFLITE_LIB)*/
+ std::unique_ptr
+ ParseRequestFromFile(base::FilePath path) {
+ std::string serialized_request;
+@@ -45,6 +46,7 @@ ParseRequestFromFile(base::FilePath path) {
+ }
+ return request;
+ }
++#endif
+
+ void WriteResponseToFile(
+ base::FilePath path,
+@@ -64,6 +66,7 @@ namespace optimization_guide {
ModelValidatorKeyedService::ModelValidatorKeyedService(Profile* profile)
: profile_(profile) {
DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
-+#if BUILDFLAG(BUILD_WITH_TFLITE_LIB)
++#if false /*BUILDFLAG(BUILD_WITH_TFLITE_LIB)*/
DCHECK(ShouldStartModelValidator());
auto* opt_guide_service =
OptimizationGuideKeyedServiceFactory::GetForProfile(profile);
- if (!opt_guide_service) {
- return;
+@@ -103,6 +106,7 @@ ModelValidatorKeyedService::ModelValidatorKeyedService(Profile* profile)
+ &ModelValidatorKeyedService::StartOnDeviceModelExecutionValidation,
+ weak_ptr_factory_.GetWeakPtr()));
}
--#if BUILDFLAG(BUILD_WITH_TFLITE_LIB)
- if (switches::ShouldValidateModel()) {
- // Create the validator object which will get destroyed when the model
- // load is complete.
-@@ -135,6 +135,7 @@ void ModelValidatorKeyedService::OnPrimaryAccountChanged(
++#endif
+ }
+
+ ModelValidatorKeyedService::~ModelValidatorKeyedService() = default;
+@@ -129,6 +133,7 @@ void ModelValidatorKeyedService::OnPrimaryAccountChanged(
void ModelValidatorKeyedService::StartModelExecutionValidation() {
DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
-+#if BUILDFLAG(BUILD_WITH_TFLITE_LIB)
++#if false /*BUILDFLAG(BUILD_WITH_TFLITE_LIB)*/
auto* opt_guide_service =
OptimizationGuideKeyedServiceFactory::GetForProfile(profile_);
if (!opt_guide_service) {
-@@ -153,6 +154,7 @@ void ModelValidatorKeyedService::StartModelExecutionValidation() {
+@@ -147,6 +152,7 @@ void ModelValidatorKeyedService::StartModelExecutionValidation() {
/*options=*/{},
base::BindOnce(&ModelValidatorKeyedService::OnModelExecuteResponse,
weak_ptr_factory_.GetWeakPtr()));
@@ -205,15 +407,15 @@ diff --git a/chrome/browser/optimization_guide/model_validator_keyed_service.cc
}
void ModelValidatorKeyedService::StartOnDeviceModelExecutionValidation(
-@@ -170,6 +172,7 @@ void ModelValidatorKeyedService::StartOnDeviceModelExecutionValidation(
+@@ -164,6 +170,7 @@ void ModelValidatorKeyedService::StartOnDeviceModelExecutionValidation(
void ModelValidatorKeyedService::PerformOnDeviceModelExecutionValidation(
std::unique_ptr input) {
-+#if BUILDFLAG(BUILD_WITH_TFLITE_LIB)
++#if false /*BUILDFLAG(BUILD_WITH_TFLITE_LIB)*/
DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
auto* opt_guide_service =
OptimizationGuideKeyedServiceFactory::GetForProfile(profile_);
-@@ -217,6 +220,7 @@ void ModelValidatorKeyedService::ExecuteModel(
+@@ -211,6 +218,7 @@ void ModelValidatorKeyedService::ExecuteModel(
*metadata, base::BindRepeating(
&ModelValidatorKeyedService::OnDeviceModelExecuteResponse,
weak_ptr_factory_.GetWeakPtr(), std::move(request)));
@@ -224,7 +426,76 @@ diff --git a/chrome/browser/optimization_guide/model_validator_keyed_service.cc
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
-@@ -465,7 +465,6 @@ void OptimizationGuideKeyedService::RemoveObserverForOptimizationTargetModel(
+@@ -173,7 +173,7 @@ class FetcherDelegate : public ModelExecutionManager::Delegate {
+ };
+ #endif
+
+-ModelExecutionFeaturesController::SettingsVisibilityResult
++[[maybe_unused]] ModelExecutionFeaturesController::SettingsVisibilityResult
+ ShouldHideHistorySearch(PrefService* local_state) {
+ using SettingsVisibilityResult =
+ ModelExecutionFeaturesController::SettingsVisibilityResult;
+@@ -253,11 +253,7 @@ void OptimizationGuideKeyedService::BindModelBroker(
+
+ std::unique_ptr
+ OptimizationGuideKeyedService::CreateModelBrokerClient() {
+- mojo::PendingRemote remote;
+- GetGlobalState().on_device_capability().BindModelBroker(
+- remote.InitWithNewPipeAndPassReceiver());
+- return std::make_unique(
+- std::move(remote), optimization_guide_logger_->GetWeakPtr());
++ return nullptr;
+ }
+
+ #if BUILDFLAG(IS_ANDROID)
+@@ -367,32 +363,11 @@ void OptimizationGuideKeyedService::InitializeModelExecution(Profile* profile) {
+ ->GetURLLoaderFactoryForBrowserProcess();
+
+ if (!profile->IsOffTheRecord() && !profile->IsGuestSession()) {
+- auto* variations_service = g_browser_process->variations_service();
+- auto dogfood_status =
+- variations_service && variations_service->IsLikelyDogfoodClient()
+- ? ModelExecutionFeaturesController::DogfoodStatus::DOGFOOD
+- : ModelExecutionFeaturesController::DogfoodStatus::NON_DOGFOOD;
+- bool is_official_build = g_is_official_build_for_testing.value_or(
+- version_info::IsOfficialBuild());
+- model_execution_features_controller_ =
+- std::make_unique(
+- profile->GetPrefs(), IdentityManagerFactory::GetForProfile(profile),
+- policy::ManagementServiceFactory::GetForProfile(profile),
+- dogfood_status, is_official_build,
+- base::BindRepeating(&ShouldHideHistorySearch,
+- g_browser_process->local_state()));
+-
+ // Don't create logs uploader service when feature is disabled. All the
+ // logs upload get route through this service which exists one per
+ // profile.
+ if (base::FeatureList::IsEnabled(
+ optimization_guide::features::kModelQualityLogging)) {
+- model_quality_logs_uploader_service_ = std::make_unique<
+- optimization_guide::ChromeModelQualityLogsUploaderService>(
+- url_loader_factory, g_browser_process->local_state(),
+- model_execution_features_controller_
+- ? model_execution_features_controller_->GetWeakPtr()
+- : nullptr);
+ }
+ RecordModelExecutionFeatureSyntheticFieldTrial(
+ optimization_guide::UserVisibleFeatureKey::kHistorySearch,
+@@ -406,13 +381,6 @@ void OptimizationGuideKeyedService::InitializeModelExecution(Profile* profile) {
+ delegate = std::make_unique(browser_context_);
+ }
+ #endif
+-
+- model_execution_manager_ = std::make_unique(
+- url_loader_factory, IdentityManagerFactory::GetForProfile(profile),
+- std::move(delegate), optimization_guide_logger_.get(),
+- model_quality_logs_uploader_service_
+- ? model_quality_logs_uploader_service_->GetWeakPtr()
+- : nullptr);
+ }
+
+ optimization_guide::ChromeHintsManager*
+@@ -464,7 +432,6 @@ void OptimizationGuideKeyedService::RemoveObserverForOptimizationTargetModel(
void OptimizationGuideKeyedService::RegisterOptimizationTypes(
const std::vector&
optimization_types) {
@@ -232,14 +503,284 @@ diff --git a/chrome/browser/optimization_guide/optimization_guide_keyed_service.
}
optimization_guide::OptimizationGuideDecision
+@@ -529,7 +496,6 @@ void OptimizationGuideKeyedService::ExecuteModel(
+ optimization_guide::OptimizationGuideModelExecutionResultCallback
+ callback) {
+ DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
+- if (!model_execution_manager_) {
+ std::move(callback).Run(
+ optimization_guide::OptimizationGuideModelExecutionResult(
+ base::unexpected(
+@@ -540,12 +506,6 @@ void OptimizationGuideKeyedService::ExecuteModel(
+ ModelExecutionError::kGenericFailure)),
+ nullptr),
+ nullptr);
+- return;
+- }
+- model_execution_manager_->ExecuteModel(
+- feature, request_metadata, options.execution_timeout,
+- /*log_ai_data_request=*/nullptr, options.service_type,
+- std::move(callback));
+ }
+
+ void OptimizationGuideKeyedService::AddOnDeviceModelAvailabilityChangeObserver(
+@@ -597,8 +557,6 @@ void OptimizationGuideKeyedService::AddOnDemandHintForTesting(
+ void OptimizationGuideKeyedService::AddExecutionResultForTesting(
+ optimization_guide::ModelBasedCapabilityKey feature,
+ optimization_guide::OptimizationGuideModelExecutionResult result) {
+- model_execution_manager_->AddExecutionResultForTesting(feature, // IN-TEST
+- std::move(result));
+ }
+
+ void OptimizationGuideKeyedService::ClearData() {
+@@ -607,9 +565,6 @@ void OptimizationGuideKeyedService::ClearData() {
+
+ void OptimizationGuideKeyedService::Shutdown() {
+ hints_manager_->Shutdown();
+- if (model_execution_manager_) {
+- model_execution_manager_->Shutdown();
+- }
+ }
+
+ void OptimizationGuideKeyedService::OverrideTargetModelForTesting(
+@@ -623,7 +578,6 @@ void OptimizationGuideKeyedService::
+ SetModelQualityLogsUploaderServiceForTesting(
+ std::unique_ptr
+ uploader) {
+- model_quality_logs_uploader_service_ = std::move(uploader);
+ }
+
+ optimization_guide::ModelExecutionFeaturesController*
+@@ -633,8 +587,6 @@ OptimizationGuideKeyedService::GetModelExecutionFeaturesController() {
+
+ void OptimizationGuideKeyedService::AllowUnsignedUserForTesting(
+ optimization_guide::UserVisibleFeatureKey feature) {
+- model_execution_features_controller_->AllowUnsignedUserForTesting(
+- feature); // IN-TEST
+ }
+
+ bool OptimizationGuideKeyedService::ShouldFeatureBeCurrentlyEnabledForUser(
+@@ -643,8 +595,7 @@ bool OptimizationGuideKeyedService::ShouldFeatureBeCurrentlyEnabledForUser(
+ if (!model_execution_features_controller_) {
+ return false;
+ }
+- return model_execution_features_controller_
+- ->ShouldFeatureBeCurrentlyEnabledForUser(feature);
++ return false;
+ }
+
+ bool OptimizationGuideKeyedService::
+@@ -653,84 +604,33 @@ bool OptimizationGuideKeyedService::
+ if (!model_execution_features_controller_) {
+ return false;
+ }
+- return model_execution_features_controller_
+- ->ShouldFeatureAllowModelExecutionForSignedInUser(feature);
++ return false;
+ }
+
+ bool OptimizationGuideKeyedService::ShouldFeatureBeCurrentlyAllowedForFeedback(
+ optimization_guide::proto::LogAiDataRequest::FeatureCase feature) const {
+- DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
+-
+- // If logging is enabled, feedback is always also enabled.
+- const optimization_guide::MqlsFeatureMetadata* metadata =
+- optimization_guide::MqlsFeatureRegistry::GetInstance().GetFeature(
+- feature);
+- DCHECK(metadata);
+- if (model_execution_features_controller_ &&
+- model_execution_features_controller_
+- ->ShouldFeatureBeCurrentlyAllowedForLogging(metadata)) {
+- return true;
+- }
+-
+- // Otherwise, feedback is disabled, with one exception: On dogfood clients,
+- // feedback is always enabled (as long as the feature is enabled).
+- auto* variations_service = g_browser_process->variations_service();
+- return !!variations_service && variations_service->IsLikelyDogfoodClient();
++ return false;
+ }
+
+ bool OptimizationGuideKeyedService::ShouldModelExecutionBeAllowedForUser()
+ const {
+- return model_execution_features_controller_ &&
+- model_execution_features_controller_
+- ->ShouldModelExecutionBeAllowedForUser();
++ return false;
+ }
+
+ bool OptimizationGuideKeyedService::IsSettingVisible(
+ optimization_guide::UserVisibleFeatureKey feature) const {
+ DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
+- if (!model_execution_features_controller_) {
+- return false;
+- }
+-
+-#if !BUILDFLAG(IS_ANDROID)
+- if (base::FeatureList::IsEnabled(
+- optimization_guide::features::kAiSettingsPageForceAvailable)) {
+- return true;
+- }
+-#endif
+-
+- using SettingsVisibilityResult =
+- ModelExecutionFeaturesController::SettingsVisibilityResult;
+- const SettingsVisibilityResult visibility =
+- model_execution_features_controller_->GetSettingsVisibility(feature);
+-
+- base::UmaHistogramEnumeration(
+- base::StrCat(
+- {"OptimizationGuide.ModelExecution.SettingsVisibilityResult.",
+- GetStringNameForModelExecutionFeature(feature)}),
+- visibility);
+-
+- return visibility ==
+- SettingsVisibilityResult::kVisibleFeatureAlreadyEnabled ||
+- visibility == SettingsVisibilityResult::kVisibleFieldTrialEnabled;
++ return true;
+ }
+
+ void OptimizationGuideKeyedService::AddModelExecutionSettingsEnabledObserver(
+ optimization_guide::SettingsEnabledObserver* observer) {
+ DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
+- if (!model_execution_features_controller_) {
+- return;
+- }
+- model_execution_features_controller_->AddObserver(observer);
+ }
+
+ void OptimizationGuideKeyedService::RemoveModelExecutionSettingsEnabledObserver(
+ optimization_guide::SettingsEnabledObserver* observer) {
+ DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
+- if (!model_execution_features_controller_) {
+- return;
+- }
+- model_execution_features_controller_->RemoveObserver(observer);
+ }
+
+ void OptimizationGuideKeyedService::
+diff --git a/chrome/browser/optimization_guide/optimization_guide_keyed_service.h b/chrome/browser/optimization_guide/optimization_guide_keyed_service.h
+--- a/chrome/browser/optimization_guide/optimization_guide_keyed_service.h
++++ b/chrome/browser/optimization_guide/optimization_guide_keyed_service.h
+@@ -264,7 +264,7 @@ class OptimizationGuideKeyedService
+
+ optimization_guide::ModelQualityLogsUploaderService*
+ GetModelQualityLogsUploaderService() {
+- return model_quality_logs_uploader_service_.get();
++ return nullptr; // model_quality_logs_uploader_service_.get();
+ }
+
+ virtual optimization_guide::ModelExecutionFeaturesController*
+@@ -321,7 +321,7 @@ class OptimizationGuideKeyedService
+ }
+
+ optimization_guide::ModelExecutionManager* GetModelExecutionManager() {
+- return model_execution_manager_.get();
++ return nullptr; //model_execution_manager_.get();
+ }
+
+ // Notifies |hints_manager_| that the navigation associated with
+@@ -390,17 +390,21 @@ class OptimizationGuideKeyedService
+ // Manages the storing, loading, and fetching of hints.
+ std::unique_ptr hints_manager_;
+
++#if false /*BUILDFLAG(BUILD_WITH_TFLITE_LIB)*/
+ // Manages the model execution. Not created for off the record profiles.
+ std::unique_ptr
+ model_execution_manager_;
++#endif
+
+ std::unique_ptr
+ model_execution_features_controller_;
+
++#if false /*BUILDFLAG(BUILD_WITH_TFLITE_LIB)*/
+ // Manages the model quality logs uploader service. Not created for off the
+ // record profiles.
+ std::unique_ptr
+ model_quality_logs_uploader_service_;
++#endif
+
+ #if BUILDFLAG(IS_ANDROID)
+ // Manage and fetch the java object that wraps this OptimizationGuide on
+diff --git a/chrome/browser/optimization_guide/private_ai_model_execution_fetcher.cc b/chrome/browser/optimization_guide/private_ai_model_execution_fetcher.cc
+--- a/chrome/browser/optimization_guide/private_ai_model_execution_fetcher.cc
++++ b/chrome/browser/optimization_guide/private_ai_model_execution_fetcher.cc
+@@ -25,6 +25,7 @@ namespace {
+ using ModelExecutionError =
+ OptimizationGuideModelExecutionError::ModelExecutionError;
+
++#if false /*BUILDFLAG(BUILD_WITH_TFLITE_LIB)*/
+ private_ai::proto::FeatureName ToPrivateAiFeatureName(
+ ModelBasedCapabilityKey feature) {
+ switch (feature) {
+@@ -54,6 +55,7 @@ OptimizationGuideModelExecutionError ToModelExecutionError(
+ ModelExecutionError::kUnknown);
+ }
+ }
++#endif
+
+ } // namespace
+
+@@ -71,48 +73,9 @@ void PrivateAiModelExecutionFetcher::ExecuteModel(
+ const google::protobuf::MessageLite& request_metadata,
+ std::optional timeout,
+ ModelExecuteResponseCallback callback) {
+- auto private_ai_feature_name = ToPrivateAiFeatureName(feature);
+-
+- private_ai::proto::PaicMessage paic_message;
+- paic_message.set_feature_name(private_ai_feature_name);
+- *paic_message.mutable_execute_request_ext() =
+- ToExecuteRequest(feature, request_metadata);
+-
+- private_ai::Client::RequestOptions options;
+- if (timeout) {
+- options.timeout = *timeout;
+- }
+-
+- private_ai_client_->SendPaicRequest(
+- private_ai_feature_name, paic_message,
+- base::BindOnce(
+- [](ModelBasedCapabilityKey feature,
+- ModelExecuteResponseCallback callback,
+- base::expected result) {
+- if (!result.has_value()) {
+- RecordRequestStatusHistogram(
+- feature, FetcherRequestStatus::kResponseError);
+- std::move(callback).Run(
+- base::unexpected(ToModelExecutionError(result.error())));
+- return;
+- }
+-
+- if (!result->has_execute_response_ext()) {
+- RecordRequestStatusHistogram(
+- feature, FetcherRequestStatus::kResponseError);
+- std::move(callback).Run(base::unexpected(
+- OptimizationGuideModelExecutionError::FromModelExecutionError(
+- ModelExecutionError::kUnknown)));
+- return;
+- }
+-
+- RecordRequestStatusHistogram(feature,
+- FetcherRequestStatus::kSuccess);
+- std::move(callback).Run(base::ok(result->execute_response_ext()));
+- },
+- feature, std::move(callback)),
+- options);
++ std::move(callback).Run(base::unexpected(
++ OptimizationGuideModelExecutionError::FromModelExecutionError(
++ ModelExecutionError::kGenericFailure)));
+ }
+
+ } // namespace optimization_guide
diff --git a/chrome/browser/password_manager/password_change_delegate_impl.cc b/chrome/browser/password_manager/password_change_delegate_impl.cc
--- a/chrome/browser/password_manager/password_change_delegate_impl.cc
+++ b/chrome/browser/password_manager/password_change_delegate_impl.cc
-@@ -343,12 +343,14 @@ void PasswordChangeDelegateImpl::StartPasswordChangeFlow() {
+@@ -342,12 +342,14 @@ void PasswordChangeDelegateImpl::StartPasswordChangeFlow() {
// a local ML model for field classification.
// TODO(452883239): Clean this up when model is downloaded on start-up for
// everybody.
-+#if BUILDFLAG(BUILD_WITH_TFLITE_LIB)
++#if false /*BUILDFLAG(BUILD_WITH_TFLITE_LIB)*/
if (base::FeatureList::IsEnabled(
password_manager::features::
kProactivelyDownloadModelForPasswordChange)) {
@@ -250,10 +791,29 @@ diff --git a/chrome/browser/password_manager/password_change_delegate_impl.cc b/
}
void PasswordChangeDelegateImpl::OnLoginStateCheckResult(
+diff --git a/chrome/browser/password_manager/password_field_classification_model_handler_factory.cc b/chrome/browser/password_manager/password_field_classification_model_handler_factory.cc
+--- a/chrome/browser/password_manager/password_field_classification_model_handler_factory.cc
++++ b/chrome/browser/password_manager/password_field_classification_model_handler_factory.cc
+@@ -99,14 +99,5 @@ PasswordFieldClassificationModelHandlerFactory::GetBrowserContextToUse(
+ std::unique_ptr PasswordFieldClassificationModelHandlerFactory::
+ BuildServiceInstanceForBrowserContext(
+ content::BrowserContext* context) const {
+- Profile* profile = Profile::FromBrowserContext(context);
+- OptimizationGuideKeyedService* optimization_guide =
+- OptimizationGuideKeyedServiceFactory::GetForProfile(profile);
+- autofill::MlLogRouter* log_router =
+- autofill::MlLogRouterFactory::GetForProfile(profile);
+- return std::make_unique(
+- optimization_guide,
+- optimization_guide::proto::OptimizationTarget::
+- OPTIMIZATION_TARGET_PASSWORD_MANAGER_FORM_CLASSIFICATION,
+- log_router);
++ return nullptr;
+ }
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
-@@ -43,8 +43,6 @@ source_set("permissions") {
+@@ -43,12 +43,10 @@ source_set("permissions") {
"prediction_service/language_detection_observer.h",
"prediction_service/passage_embedder_delegate.cc",
"prediction_service/passage_embedder_delegate.h",
@@ -261,11 +821,63 @@ diff --git a/chrome/browser/permissions/BUILD.gn b/chrome/browser/permissions/BU
- "prediction_service/permissions_ai_ui_selector.h",
"prediction_service/prediction_model_handler_provider.cc",
"prediction_service/prediction_model_handler_provider.h",
+- "prediction_service/prediction_model_handler_provider_factory.cc",
+- "prediction_service/prediction_model_handler_provider_factory.h",
++ # "prediction_service/prediction_model_handler_provider_factory.cc",
++ # "prediction_service/prediction_model_handler_provider_factory.h",
"prediction_service/prediction_service_factory.cc",
+ "prediction_service/prediction_service_factory.h",
+ "prediction_service/prediction_service_request.cc",
+@@ -86,7 +84,7 @@ source_set("permissions") {
+ "//chrome/browser/metrics",
+ "//chrome/browser/nfc",
+ "//chrome/browser/optimization_guide",
+- "//chrome/browser/passage_embeddings",
++ # "//chrome/browser/passage_embeddings",
+ "//chrome/browser/profiles",
+ "//chrome/browser/profiles:profile",
+ "//chrome/browser/resource_coordinator",
+@@ -116,7 +114,7 @@ source_set("permissions") {
+ "//components/language_detection/core",
+ "//components/optimization_guide/core",
+ "//components/optimization_guide/proto:optimization_guide_proto",
+- "//components/passage_embeddings/core",
++ # "//components/passage_embeddings/core",
+ "//components/permissions",
+ "//components/permissions/prediction_service",
+ "//components/pref_registry",
+@@ -125,7 +123,7 @@ source_set("permissions") {
+ "//components/safe_browsing/core/browser/db:database_manager",
+ "//components/safe_browsing/core/common",
+ "//components/safe_browsing/core/common:safe_browsing_prefs",
+- "//components/segmentation_platform/internal:optimization_guide_segmentation_handler",
++ # "//components/segmentation_platform/internal:optimization_guide_segmentation_handler",
+ "//components/site_engagement/content",
+ "//components/subresource_filter/content/browser",
+ "//components/supervised_user/core/common:features",
+@@ -188,12 +186,12 @@ source_set("permissions") {
+ }
+ }
+
+- if (!is_android) {
+- deps += [
+- "//chrome/browser/ui/permission_bubble",
+- "//third_party/tflite_support",
+- ]
+- }
++ # if (!is_android) {
++ # deps += [
++ # "//chrome/browser/ui/permission_bubble",
++ # "//third_party/tflite_support",
++ # ]
++ # }
+
+ if (safe_browsing_mode != 0) {
+ sources += [
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
-@@ -474,8 +474,6 @@ ChromePermissionsClient::CreatePermissionUiSelectors(
+@@ -475,8 +475,6 @@ ChromePermissionsClient::CreatePermissionUiSelectors(
#endif
selectors.emplace_back(std::make_unique(
Profile::FromBrowserContext(browser_context)));
@@ -277,15 +889,15 @@ diff --git a/chrome/browser/permissions/chrome_permissions_client.cc b/chrome/br
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
-@@ -25,6 +25,7 @@ PassageEmbedderDelegate::PassageEmbedderDelegate(Profile* profile)
+@@ -26,6 +26,7 @@ PassageEmbedderDelegate::PassageEmbedderDelegate(Profile* profile)
: profile_(profile) {}
Embedder* PassageEmbedderDelegate::GetPassageEmbedder() {
-+#if BUILDFLAG(BUILD_WITH_TFLITE_LIB)
++#if false /*BUILDFLAG(BUILD_WITH_TFLITE_LIB)*/
if (auto* prediction_model_handler_provider =
PredictionModelHandlerProviderFactory::GetForBrowserContext(
profile_)) {
-@@ -38,6 +39,7 @@ Embedder* PassageEmbedderDelegate::GetPassageEmbedder() {
+@@ -39,6 +40,7 @@ Embedder* PassageEmbedderDelegate::GetPassageEmbedder() {
return prediction_model_handler_provider->GetPassageEmbedder();
}
PermissionUmaUtil::RecordPassageEmbedderMetadataValid(false);
@@ -296,15 +908,15 @@ diff --git a/chrome/browser/permissions/prediction_service/passage_embedder_dele
diff --git a/chrome/browser/permissions/prediction_service/permissions_ai_ui_selector.cc b/chrome/browser/permissions/prediction_service/permissions_ai_ui_selector.cc
--- a/chrome/browser/permissions/prediction_service/permissions_ai_ui_selector.cc
+++ b/chrome/browser/permissions/prediction_service/permissions_ai_ui_selector.cc
-@@ -414,6 +414,7 @@ void PermissionsAiUiSelector::SelectUiToUse(
+@@ -383,6 +383,7 @@ void PermissionsAiUiSelector::SelectUiToUse(
}
}
-+#if BUILDFLAG(BUILD_WITH_TFLITE_LIB)
++#if false /*BUILDFLAG(BUILD_WITH_TFLITE_LIB)*/
void PermissionsAiUiSelector::OnGetInnerTextForOnDeviceModel(
ModelExecutionData model_data,
ModelExecutionCallback model_execution_callback,
-@@ -468,6 +469,7 @@ void PermissionsAiUiSelector::OnGetInnerTextForOnDeviceModel(
+@@ -437,6 +438,7 @@ void PermissionsAiUiSelector::OnGetInnerTextForOnDeviceModel(
InquireServerModel(model_data.features,
std::move(model_data.request_metadata));
}
@@ -312,7 +924,7 @@ diff --git a/chrome/browser/permissions/prediction_service/permissions_ai_ui_sel
void PermissionsAiUiSelector::OnTimeout() {
VLOG(1) << "[CPSS] Overall timeout for prediction reached.";
-@@ -677,6 +679,7 @@ bool PermissionsAiUiSelector::ShouldHoldBack(
+@@ -647,6 +649,7 @@ bool PermissionsAiUiSelector::ShouldHoldBack(
PredictionSource PermissionsAiUiSelector::GetPredictionTypeToUse(
permissions::RequestType request_type) {
@@ -320,30 +932,30 @@ diff --git a/chrome/browser/permissions/prediction_service/permissions_ai_ui_sel
const bool is_msbb_enabled = profile_->GetPrefs()->GetBoolean(
unified_consent::prefs::kUrlKeyedAnonymizedDataCollectionEnabled);
-@@ -749,6 +752,7 @@ PredictionSource PermissionsAiUiSelector::GetPredictionTypeToUse(
+@@ -715,6 +718,7 @@ PredictionSource PermissionsAiUiSelector::GetPredictionTypeToUse(
return PredictionSource::kNoCpssModel;
}
-+#if BUILDFLAG(BUILD_WITH_TFLITE_LIB)
++#if false /*BUILDFLAG(BUILD_WITH_TFLITE_LIB)*/
void PermissionsAiUiSelector::set_language_detection_observer_for_testing(
std::unique_ptr
language_detection_observer) {
-@@ -761,6 +765,7 @@ void PermissionsAiUiSelector::set_inner_text_for_testing(
+@@ -727,6 +731,7 @@ void PermissionsAiUiSelector::set_inner_text_for_testing(
CHECK_IS_TEST();
inner_text_for_testing_ = std::move(inner_text_);
}
+#endif
- #if BUILDFLAG(BUILD_WITH_TFLITE_LIB)
void PermissionsAiUiSelector::set_snapshot_for_testing(SkBitmap snapshot) {
+ CHECK_IS_TEST();
diff --git a/chrome/browser/permissions/prediction_service/permissions_ai_ui_selector.h b/chrome/browser/permissions/prediction_service/permissions_ai_ui_selector.h
--- a/chrome/browser/permissions/prediction_service/permissions_ai_ui_selector.h
+++ b/chrome/browser/permissions/prediction_service/permissions_ai_ui_selector.h
-@@ -119,13 +119,14 @@ class PermissionsAiUiSelector : public permissions::PermissionUiSelector {
+@@ -111,13 +111,14 @@ class PermissionsAiUiSelector : public permissions::PermissionUiSelector {
+
void set_snapshot_for_testing(SkBitmap snapshot);
- #endif
-+#if BUILDFLAG(BUILD_WITH_TFLITE_LIB)
++#if false /*BUILDFLAG(BUILD_WITH_TFLITE_LIB)*/
void set_inner_text_for_testing(
content_extraction::InnerTextResult inner_text);
@@ -355,11 +967,11 @@ diff --git a/chrome/browser/permissions/prediction_service/permissions_ai_ui_sel
void set_callback_for_testing(DecisionMadeCallback callback) {
callback_ = std::move(callback);
}
-@@ -176,10 +177,12 @@ class PermissionsAiUiSelector : public permissions::PermissionUiSelector {
+@@ -168,10 +169,12 @@ class PermissionsAiUiSelector : public permissions::PermissionUiSelector {
// later. When the text is fetched asynchronously with success,
// model_execution_callback will get called to continue the chain of
// asynchronously added input data.
-+#if BUILDFLAG(BUILD_WITH_TFLITE_LIB)
++#if false /*BUILDFLAG(BUILD_WITH_TFLITE_LIB)*/
void OnGetInnerTextForOnDeviceModel(
ModelExecutionData model_data,
ModelExecutionCallback model_execution_callback,
@@ -371,28 +983,15 @@ diff --git a/chrome/browser/permissions/prediction_service/permissions_ai_ui_sel
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,8 +13,11 @@
- #include "chrome/browser/optimization_guide/optimization_guide_keyed_service.h"
- #include "components/optimization_guide/core/delivery/optimization_guide_model_provider.h"
- #include "components/permissions/features.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/request_type.h"
-+#endif
-
- #if BUILDFLAG(IS_ANDROID)
- #include "components/download/public/background_service/download_params.h"
-@@ -30,6 +33,7 @@ using optimization_guide::proto::OptimizationTarget;
+@@ -26,6 +26,7 @@ using optimization_guide::proto::OptimizationTarget;
namespace {
-+#if BUILDFLAG(BUILD_WITH_TFLITE_LIB)
++#if false /*BUILDFLAG(BUILD_WITH_TFLITE_LIB)*/
inline OptimizationTarget getGeolocationAiv4OptTarget() {
#if BUILDFLAG(IS_ANDROID)
return OptimizationTarget::
-@@ -48,6 +52,7 @@ inline OptimizationTarget getNotificationsAiv4OptTarget() {
+@@ -44,6 +45,7 @@ inline OptimizationTarget getNotificationsAiv4OptTarget() {
OPTIMIZATION_TARGET_PERMISSIONS_AIV4_NOTIFICATIONS_DESKTOP;
#endif
}
@@ -400,33 +999,86 @@ diff --git a/chrome/browser/permissions/prediction_service/prediction_model_hand
} // namespace
-@@ -55,7 +60,10 @@ PredictionModelHandlerProvider::PredictionModelHandlerProvider(
- OptimizationGuideKeyedService* optimization_guide,
+@@ -51,7 +53,10 @@ PredictionModelHandlerProvider::PredictionModelHandlerProvider(
+ optimization_guide::OptimizationGuideModelProvider* optimization_guide,
passage_embeddings::EmbedderMetadataProvider* embedder_metadata_provider,
passage_embeddings::Embedder* passage_embedder)
- : passage_embedder_(passage_embedder) {
-+#if BUILDFLAG(BUILD_WITH_TFLITE_LIB)
++#if false /*BUILDFLAG(BUILD_WITH_TFLITE_LIB)*/
+ : passage_embedder_(passage_embedder)
+#endif
+ {
VLOG(1) << "[PermissionsAI] PredictionModelHandlerProvider ctor "
"passage_embedder available: "
<< (passage_embedder ? "true" : "false");
+@@ -76,6 +81,7 @@ PredictionModelHandlerProvider::PredictionModelHandlerProvider(
+
+ // This feature is enabled by default; we add the check here to fix internally
+ // failing tests.
++#if false /*BUILDFLAG(BUILD_WITH_TFLITE_LIB)*/
+ if (base::FeatureList::IsEnabled(
+ permissions::features::kPermissionOnDeviceNotificationPredictions)) {
+ notification_prediction_model_handler_ =
+@@ -84,9 +90,11 @@ PredictionModelHandlerProvider::PredictionModelHandlerProvider(
+ OptimizationTarget::
+ OPTIMIZATION_TARGET_NOTIFICATION_PERMISSION_PREDICTIONS);
+ }
++#endif
+
+ // This feature is enabled by default; we add the check here to fix internally
+ // failing tests.
++#if false /*BUILDFLAG(BUILD_WITH_TFLITE_LIB)*/
+ if (base::FeatureList::IsEnabled(
+ permissions::features::kPermissionOnDeviceGeolocationPredictions)) {
+ geolocation_prediction_model_handler_ =
+@@ -95,7 +103,9 @@ PredictionModelHandlerProvider::PredictionModelHandlerProvider(
+ OptimizationTarget::
+ OPTIMIZATION_TARGET_GEOLOCATION_PERMISSION_PREDICTIONS);
+ }
++#endif
+
++#if false /*BUILDFLAG(BUILD_WITH_TFLITE_LIB)*/
+ if (IsAIv4FeatureEnabled()) {
+ VLOG(1) << "[PermissionsAI] PredictionModelHandlerProvider init AIv4";
+ #if BUILDFLAG(IS_ANDROID)
+@@ -116,6 +126,7 @@ PredictionModelHandlerProvider::PredictionModelHandlerProvider(
+ RequestType::kGeolocation, scheduling_params);
+ return;
+ }
++#endif
+ }
+
+ PredictionModelHandlerProvider::~PredictionModelHandlerProvider() = default;
+@@ -129,12 +140,14 @@ void PredictionModelHandlerProvider::Shutdown() {
+ // LINT.ThenChange(//chrome/browser/permissions/prediction_service/prediction_model_handler_provider.h:ModelHandlers)
+ }
+
++#if false /*BUILDFLAG(BUILD_WITH_TFLITE_LIB)*/
+ void PredictionModelHandlerProvider::EmbedderMetadataUpdated(
+ passage_embeddings::EmbedderMetadata metadata) {
+ is_passage_embedder_ready_ = metadata.IsValid();
+ VLOG(1) << "[PermissionsAI] Passage embedder readiness updated to: "
+ << is_passage_embedder_ready_;
+ }
++#endif
+
+ bool PredictionModelHandlerProvider::IsPassageEmbedderReady() const {
+ return is_passage_embedder_ready_;
diff --git a/chrome/browser/permissions/prediction_service/prediction_model_handler_provider.h b/chrome/browser/permissions/prediction_service/prediction_model_handler_provider.h
--- a/chrome/browser/permissions/prediction_service/prediction_model_handler_provider.h
+++ b/chrome/browser/permissions/prediction_service/prediction_model_handler_provider.h
-@@ -56,9 +56,11 @@ class PredictionModelHandlerProvider
- #endif // BUILDFLAG(BUILD_WITH_TFLITE_LIB)
+@@ -54,9 +54,11 @@ class PredictionModelHandlerProvider
+ passage_embeddings::Embedder* passage_embedder_);
private:
-+#if BUILDFLAG(BUILD_WITH_TFLITE_LIB)
++#if false /*BUILDFLAG(BUILD_WITH_TFLITE_LIB)*/
// EmbedderMetadataObserver:
void EmbedderMetadataUpdated(
passage_embeddings::EmbedderMetadata metadata) override;
+#endif
- #if BUILDFLAG(BUILD_WITH_TFLITE_LIB)
// LINT.IfChange(ModelHandlers)
+ std::unique_ptr
diff --git a/chrome/browser/permissions/quiet_notification_permission_ui_state.cc b/chrome/browser/permissions/quiet_notification_permission_ui_state.cc
--- a/chrome/browser/permissions/quiet_notification_permission_ui_state.cc
+++ b/chrome/browser/permissions/quiet_notification_permission_ui_state.cc
@@ -484,7 +1136,7 @@ diff --git a/chrome/browser/predictors/predictors_features.cc b/chrome/browser/p
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
-@@ -255,3 +255,7 @@ bool ShouldSuppressPrefetchForUnsupportedMode(const AutocompleteMatch& match) {
+@@ -258,3 +258,7 @@ bool ShouldSuppressPrefetchForUnsupportedMode(const AutocompleteMatch& match) {
}
return ShouldSuppressPrefetchForUnsupportedMode(match.destination_url);
}
@@ -506,7 +1158,16 @@ diff --git a/chrome/browser/preloading/prefetch/search_prefetch/search_prefetch_
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
-@@ -1240,7 +1240,6 @@ void ChromeBrowserMainExtraPartsProfiles::
+@@ -757,7 +757,7 @@ void ChromeBrowserMainExtraPartsProfiles::
+ autofill::AutofillOfferManagerFactory::GetInstance();
+ autofill::AutofillOptimizationGuideDeciderFactory::GetInstance();
+ autofill::MerchantPromoCodeManagerFactory::GetInstance();
+- autofill::MlLogRouterFactory::GetInstance();
++ // autofill::MlLogRouterFactory::GetInstance();
+ autofill::PersonalDataManagerFactory::GetInstance();
+ autofill::ValuablesDataManagerFactory::GetInstance();
+ autofill::WalletPassAccessManagerFactory::GetInstance();
+@@ -1261,7 +1261,6 @@ void ChromeBrowserMainExtraPartsProfiles::
#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN)
policy::UserPolicyOidcSigninServiceFactory::GetInstance();
#endif
@@ -517,7 +1178,7 @@ diff --git a/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc
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
-@@ -60,7 +60,6 @@ static_library("safe_browsing") {
+@@ -64,7 +64,6 @@ static_library("safe_browsing") {
"//components/resources:components_resources_grit",
"//components/safe_browsing:buildflags",
"//components/safe_browsing/content/browser",
@@ -525,6 +1186,34 @@ diff --git a/chrome/browser/safe_browsing/BUILD.gn b/chrome/browser/safe_browsin
"//components/safe_browsing/content/browser/triggers:suspicious_site_trigger",
"//components/safe_browsing/content/browser/web_ui",
"//components/safe_browsing/core/browser",
+@@ -248,10 +247,10 @@ static_library("safe_browsing") {
+ "user_interaction_observer.h",
+ ]
+ if (is_android) {
+- sources += [
+- "android/client_side_detection_intelligent_scan_delegate_android.cc",
+- "android/client_side_detection_intelligent_scan_delegate_android.h",
+- ]
++ # sources += [
++ # "android/client_side_detection_intelligent_scan_delegate_android.cc",
++ # "android/client_side_detection_intelligent_scan_delegate_android.h",
++ # ]
+ } else {
+ sources += [
+ "client_side_detection_intelligent_scan_delegate_desktop.cc",
+diff --git a/chrome/browser/safe_browsing/client_side_detection_intelligent_scan_delegate_factory.cc b/chrome/browser/safe_browsing/client_side_detection_intelligent_scan_delegate_factory.cc
+--- a/chrome/browser/safe_browsing/client_side_detection_intelligent_scan_delegate_factory.cc
++++ b/chrome/browser/safe_browsing/client_side_detection_intelligent_scan_delegate_factory.cc
+@@ -57,8 +57,7 @@ ClientSideDetectionIntelligentScanDelegateFactory::
+ return nullptr;
+ }
+ #if BUILDFLAG(IS_ANDROID)
+- return std::make_unique(
+- *profile->GetPrefs(), opt_guide->CreateModelBrokerClient(), opt_guide);
++ return nullptr;
+ #else
+ return std::make_unique(
+ *profile->GetPrefs(), opt_guide);
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
@@ -548,7 +1237,7 @@ diff --git a/chrome/browser/safe_browsing/notification_content_detection/notific
content::BrowserContext* context) const {
CHECK(opt_guide);
CHECK(context);
-+#if BUILDFLAG(BUILD_WITH_TFLITE_LIB)
++#if false /*BUILDFLAG(BUILD_WITH_TFLITE_LIB)*/
auto database_manager =
g_browser_process->safe_browsing_service()->database_manager();
scoped_refptr background_task_runner =
@@ -576,7 +1265,7 @@ diff --git a/chrome/browser/ui/android/preloading/java/src/org/chromium/chrome/b
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
-@@ -585,7 +585,7 @@ void ChromeAutofillClient::GetAiPageContent(GetAiPageContentCallback callback) {
+@@ -580,7 +580,7 @@ void ChromeAutofillClient::GetAiPageContent(GetAiPageContentCallback callback) {
}
AutofillAiManager* ChromeAutofillClient::GetAutofillAiManager() {
@@ -607,7 +1296,7 @@ diff --git a/chrome/browser/ui/autofill/chrome_autofill_client.cc b/chrome/brows
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
-@@ -477,7 +477,6 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) {
+@@ -486,7 +486,6 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) {
}
MixedContentSettingsTabHelper::CreateForWebContents(web_contents);
NavigationMetricsRecorder::CreateForWebContents(web_contents);
@@ -622,7 +1311,7 @@ diff --git a/chrome/browser/ui/webui/autofill_ml_internals/autofill_ml_internals
mojo::PendingReceiver receiver,
autofill::MlLogRouter* log_router)
: receiver_(this, std::move(receiver)) {
-+#if BUILDFLAG(BUILD_WITH_TFLITE_LIB)
++#if false /*BUILDFLAG(BUILD_WITH_TFLITE_LIB)*/
if (log_router) {
log_router_observation_.Observe(log_router);
}
@@ -645,7 +1334,7 @@ diff --git a/chrome/browser/ui/webui/autofill_ml_internals/autofill_ml_internals
private:
mojo::Receiver receiver_;
mojo::Remote page_;
-+#if BUILDFLAG(BUILD_WITH_TFLITE_LIB)
++#if false /*BUILDFLAG(BUILD_WITH_TFLITE_LIB)*/
base::ScopedObservation
log_router_observation_{this};
+#endif
@@ -667,7 +1356,7 @@ diff --git a/chrome/browser/ui/webui/autofill_ml_internals/autofill_ml_internals
void AutofillMlInternalsUI::BindInterface(
mojo::PendingReceiver receiver) {
-+#if BUILDFLAG(BUILD_WITH_TFLITE_LIB)
++#if false /*BUILDFLAG(BUILD_WITH_TFLITE_LIB)*/
page_handler_ = std::make_unique(
std::move(receiver), autofill::MlLogRouterFactory::GetForProfile(
Profile::FromWebUI(web_ui())));
@@ -675,6 +1364,132 @@ diff --git a/chrome/browser/ui/webui/autofill_ml_internals/autofill_ml_internals
}
WEB_UI_CONTROLLER_TYPE_IMPL(AutofillMlInternalsUI)
+diff --git a/chrome/browser/ui/webui/new_tab_page/new_tab_page_handler.cc b/chrome/browser/ui/webui/new_tab_page/new_tab_page_handler.cc
+--- a/chrome/browser/ui/webui/new_tab_page/new_tab_page_handler.cc
++++ b/chrome/browser/ui/webui/new_tab_page/new_tab_page_handler.cc
+@@ -479,8 +479,8 @@ NewTabPageHandler::NewTabPageHandler(
+ content::WebContents* web_contents,
+ const base::Time& ntp_navigation_start_time,
+ const std::vector* module_id_details)
+- : SettingsEnabledObserver(
+- optimization_guide::UserVisibleFeatureKey::kWallpaperSearch),
++ : // SettingsEnabledObserver(
++ // optimization_guide::UserVisibleFeatureKey::kWallpaperSearch),
+ ntp_custom_background_service_(ntp_custom_background_service),
+ logo_service_(logo_service),
+ theme_provider_(webui::GetThemeProviderDeprecated(web_contents)),
+@@ -519,6 +519,7 @@ NewTabPageHandler::NewTabPageHandler(
+ ntp_custom_background_service_observation_.Observe(
+ ntp_custom_background_service_.get());
+ promo_service_observation_.Observe(promo_service_.get());
++#if false /*BUILDFLAG(BUILD_WITH_TFLITE_LIB)*/
+ if (customize_chrome::IsWallpaperSearchEnabledForProfile(profile_)) {
+ optimization_guide_keyed_service_ =
+ OptimizationGuideKeyedServiceFactory::GetForProfile(profile_);
+@@ -527,6 +528,7 @@ NewTabPageHandler::NewTabPageHandler(
+ ->AddModelExecutionSettingsEnabledObserver(this);
+ }
+ }
++#endif
+
+ if (microsoft_auth_service_) {
+ microsoft_auth_service_->AddObserver(this);
+@@ -578,11 +580,13 @@ NewTabPageHandler::NewTabPageHandler(
+ }
+
+ NewTabPageHandler::~NewTabPageHandler() {
++#if false /*BUILDFLAG(BUILD_WITH_TFLITE_LIB)*/
+ if (optimization_guide_keyed_service_) {
+ optimization_guide_keyed_service_
+ ->RemoveModelExecutionSettingsEnabledObserver(this);
+ optimization_guide_keyed_service_ = nullptr;
+ }
++#endif
+ if (microsoft_auth_service_) {
+ microsoft_auth_service_->RemoveObserver(this);
+ }
+@@ -1163,10 +1167,12 @@ void NewTabPageHandler::OnPromoServiceShuttingDown() {
+ promo_service_ = nullptr;
+ }
+
++#if false /*BUILDFLAG(BUILD_WITH_TFLITE_LIB)*/
+ void NewTabPageHandler::OnChangeInFeatureCurrentlyEnabledState(
+ bool is_now_enabled) {
+ page_->SetWallpaperSearchButtonVisibility(is_now_enabled);
+ }
++#endif
+
+ void NewTabPageHandler::OnAuthStateUpdated() {
+ UpdateModulesLoadable();
+diff --git a/chrome/browser/ui/webui/new_tab_page/new_tab_page_handler.h b/chrome/browser/ui/webui/new_tab_page/new_tab_page_handler.h
+--- a/chrome/browser/ui/webui/new_tab_page/new_tab_page_handler.h
++++ b/chrome/browser/ui/webui/new_tab_page/new_tab_page_handler.h
+@@ -82,7 +82,7 @@ class NewTabPageHandler
+ public ThemeServiceObserver,
+ public NtpCustomBackgroundServiceObserver,
+ public PromoServiceObserver,
+- public optimization_guide::SettingsEnabledObserver,
++ // public optimization_guide::SettingsEnabledObserver,
+ public MicrosoftAuthServiceObserver,
+ public new_tab_footer::NewTabFooterControllerObserver {
+ public:
+@@ -185,7 +185,9 @@ class NewTabPageHandler
+ void OnPromoServiceShuttingDown() override;
+
+ // SettingsEnabledObserver:
++#if false /*BUILDFLAG(BUILD_WITH_TFLITE_LIB)*/
+ void OnChangeInFeatureCurrentlyEnabledState(bool is_now_enabled) override;
++#endif
+
+ // MicrosoftAuthServiceObserver:
+ void OnAuthStateUpdated() override;
+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
+@@ -290,8 +290,5 @@ OmniboxPageHandler::GetAutocompleteControllerType(
+ }
+
+ AutocompleteScoringModelService* OmniboxPageHandler::GetMlService() {
+- return OmniboxFieldTrial::IsMlUrlScoringEnabled()
+- ? AutocompleteScoringModelServiceFactory::GetInstance()
+- ->GetForProfile(profile_)
+- : nullptr;
++ return nullptr;
+ }
+diff --git a/chrome/browser/ui/webui/on_device_internals/BUILD.gn b/chrome/browser/ui/webui/on_device_internals/BUILD.gn
+--- a/chrome/browser/ui/webui/on_device_internals/BUILD.gn
++++ b/chrome/browser/ui/webui/on_device_internals/BUILD.gn
+@@ -19,7 +19,7 @@ mojom("mojom") {
+ source_set("on_device_internals") {
+ public = [ "on_device_internals_ui.h" ]
+ sources = [
+- "on_device_internals_crx_component.cc",
++ # "on_device_internals_crx_component.cc",
+ "on_device_internals_crx_component.h",
+ "on_device_internals_page_handler.cc",
+ "on_device_internals_page_handler.h",
+@@ -37,7 +37,7 @@ source_set("on_device_internals") {
+ "//chrome/common",
+ "//components/update_client",
+ "//content/public/browser",
+- "//services/on_device_model/ml:ml_no_internal",
++ #"//services/on_device_model/ml:ml_no_internal",
+ "//services/preferences/public/cpp",
+ "//ui/base",
+ "//ui/webui",
+diff --git a/chrome/browser/ui/webui/on_device_internals/on_device_internals_page_handler.h b/chrome/browser/ui/webui/on_device_internals/on_device_internals_page_handler.h
+--- a/chrome/browser/ui/webui/on_device_internals/on_device_internals_page_handler.h
++++ b/chrome/browser/ui/webui/on_device_internals/on_device_internals_page_handler.h
+@@ -110,7 +110,9 @@ class PageHandler : public mojom::PageHandler,
+ on_device_model::mojom::DevicePerformanceInfoPtr perf_info_;
+ on_device_model::mojom::DeviceInfoPtr device_info_;
+
++#if false /*BUILDFLAG(BUILD_WITH_TFLITE_LIB)*/
+ OnDeviceInternalsCrxObserver download_observer_{*this};
++#endif
+
+ #if BUILDFLAG(USE_CHROMEOS_MODEL_SERVICE)
+ mojo::Remote platform_service_;
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
@@ -682,7 +1497,7 @@ diff --git a/chrome/renderer/accessibility/read_anything/read_aloud_app_model.cc
#include "base/task/thread_pool.h"
#include "base/time/time.h"
#include "base/values.h"
-+#if BUILDFLAG(BUILD_WITH_TFLITE_LIB)
++#if false /*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"
@@ -692,7 +1507,7 @@ diff --git a/chrome/renderer/accessibility/read_anything/read_aloud_app_model.cc
namespace {
-+#if BUILDFLAG(BUILD_WITH_TFLITE_LIB)
++#if false /*BUILDFLAG(BUILD_WITH_TFLITE_LIB)*/
// Returns the dependency parser model for this renderer process.
DependencyParserModel& GetDependencyParserModel_() {
static base::NoDestructor instance;
@@ -708,13 +1523,13 @@ diff --git a/chrome/renderer/accessibility/read_anything/read_aloud_app_model.cc
}
}
-+#if BUILDFLAG(BUILD_WITH_TFLITE_LIB)
++#if false /*BUILDFLAG(BUILD_WITH_TFLITE_LIB)*/
DependencyParserModel& ReadAloudAppModel::GetDependencyParserModel() {
return GetDependencyParserModel_();
}
+#endif
-+#if BUILDFLAG(BUILD_WITH_TFLITE_LIB)
++#if false /*BUILDFLAG(BUILD_WITH_TFLITE_LIB)*/
void ReadAloudAppModel::CalculatePhrases(
a11y::ReadAloudCurrentGranularity& granularity) {
if (!features::IsReadAnythingReadAloudPhraseHighlightingEnabled()) {
@@ -732,7 +1547,7 @@ diff --git a/chrome/renderer/accessibility/read_anything/read_aloud_app_model.cc
void ReadAloudAppModel::StartPhraseCalculation() {
if (processed_granularities_on_current_page_.size() > 0) {
current_phrase_calculation_index_ = 0;
-+#if BUILDFLAG(BUILD_WITH_TFLITE_LIB)
++#if false /*BUILDFLAG(BUILD_WITH_TFLITE_LIB)*/
CalculatePhrases(processed_granularities_on_current_page_[0]);
+#endif
}
@@ -740,7 +1555,7 @@ diff --git a/chrome/renderer/accessibility/read_anything/read_aloud_app_model.cc
void ReadAloudAppModel::UpdatePhraseBoundaries(std::vector tokens,
std::vector heads) {
-+#if BUILDFLAG(BUILD_WITH_TFLITE_LIB)
++#if false /*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;
@@ -760,7 +1575,7 @@ diff --git a/chrome/renderer/accessibility/read_anything/read_aloud_app_model.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)
++#if false /*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"
@@ -770,7 +1585,7 @@ diff --git a/chrome/renderer/accessibility/read_anything/read_aloud_app_model.h
bool is_docs,
const std::set* current_nodes);
-+#if BUILDFLAG(BUILD_WITH_TFLITE_LIB)
++#if false /*BUILDFLAG(BUILD_WITH_TFLITE_LIB)*/
// Get the dependency parsing model for this renderer process.
DependencyParserModel& GetDependencyParserModel();
+#endif
@@ -781,7 +1596,7 @@ diff --git a/chrome/renderer/accessibility/read_anything/read_aloud_app_model.h
// still needs to be read.
bool NoValidTextRemainingInCurrentNode(bool is_pdf, bool is_docs) const;
-+#if BUILDFLAG(BUILD_WITH_TFLITE_LIB)
++#if false /*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);
@@ -805,21 +1620,21 @@ diff --git a/chrome/renderer/accessibility/read_anything/read_anything_app_contr
#include "chrome/common/read_anything/read_anything.mojom-shared.h"
#include "chrome/common/read_anything/read_anything_util.h"
#include "chrome/renderer/accessibility/ax_tree_distiller.h"
-+#if BUILDFLAG(BUILD_WITH_TFLITE_LIB)
++#if false /*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"
-@@ -2135,6 +2137,7 @@ void ReadAnythingAppController::OnConnected() {
+@@ -2152,6 +2154,7 @@ void ReadAnythingAppController::OnConnected() {
render_frame()->GetBrowserInterfaceBroker().GetInterface(
std::move(page_handler_factory_receiver));
-+#if BUILDFLAG(BUILD_WITH_TFLITE_LIB)
++#if false /*BUILDFLAG(BUILD_WITH_TFLITE_LIB)*/
// Get the dependency parser model used by phrase-based highlighting.
if (read_aloud_model_.GetDependencyParserModel().IsAvailable()) {
return;
-@@ -2143,6 +2146,7 @@ void ReadAnythingAppController::OnConnected() {
+@@ -2160,6 +2163,7 @@ void ReadAnythingAppController::OnConnected() {
page_handler_->GetDependencyParserModel(
base::BindOnce(&ReadAnythingAppController::UpdateDependencyParserModel,
weak_ptr_factory_.GetWeakPtr()));
@@ -827,28 +1642,28 @@ diff --git a/chrome/renderer/accessibility/read_anything/read_anything_app_contr
SetDistillationState(
read_anything::mojom::ReadAnythingDistillationState::kNotAttempted);
}
-@@ -2415,8 +2419,10 @@ std::u16string ReadAnythingAppController::GetCurrentTextContent() {
+@@ -2432,8 +2436,10 @@ std::u16string ReadAnythingAppController::GetCurrentTextContent() {
}
void ReadAnythingAppController::PreprocessTextForSpeech() {
-+#if BUILDFLAG(BUILD_WITH_TFLITE_LIB)
++#if false /*BUILDFLAG(BUILD_WITH_TFLITE_LIB)*/
read_aloud_model_.PreprocessTextForSpeech(model_.is_pdf(), model_.IsDocs(),
model_.GetCurrentlyVisibleNodes());
+#endif
}
void ReadAnythingAppController::MovePositionToNextGranularity() {
-@@ -2768,14 +2774,18 @@ bool ReadAnythingAppController::IsDocsLoadMoreButtonVisible() const {
+@@ -2801,14 +2807,18 @@ bool ReadAnythingAppController::IsDocsLoadMoreButtonVisible() const {
void ReadAnythingAppController::UpdateDependencyParserModel(
base::File model_file) {
-+#if BUILDFLAG(BUILD_WITH_TFLITE_LIB)
++#if false /*BUILDFLAG(BUILD_WITH_TFLITE_LIB)*/
read_aloud_model_.GetDependencyParserModel().UpdateWithFile(
std::move(model_file));
+#endif
}
-+#if BUILDFLAG(BUILD_WITH_TFLITE_LIB)
++#if false /*BUILDFLAG(BUILD_WITH_TFLITE_LIB)*/
DependencyParserModel&
ReadAnythingAppController::GetDependencyParserModelForTesting() {
return read_aloud_model_.GetDependencyParserModel();
@@ -864,17 +1679,17 @@ diff --git a/chrome/renderer/accessibility/read_anything/read_anything_app_contr
} // namespace ukm
class AXTreeDistiller;
-+#if BUILDFLAG(BUILD_WITH_TFLITE_LIB)
++#if false /*BUILDFLAG(BUILD_WITH_TFLITE_LIB)*/
class DependencyParserModel;
+#endif
class ReadAnythingAppControllerTest;
class ReadAnythingAppControllerScreen2xDataCollectionModeTest;
class ReadAnythingAppControllerReadabilityTest;
-@@ -381,7 +383,9 @@ class ReadAnythingAppController
+@@ -382,7 +384,9 @@ class ReadAnythingAppController
// available.
void UpdateDependencyParserModel(base::File model_file);
-+#if BUILDFLAG(BUILD_WITH_TFLITE_LIB)
++#if false /*BUILDFLAG(BUILD_WITH_TFLITE_LIB)*/
DependencyParserModel& GetDependencyParserModelForTesting();
+#endif
@@ -883,7 +1698,7 @@ diff --git a/chrome/renderer/accessibility/read_anything/read_anything_app_contr
diff --git a/chrome/test/BUILD.gn b/chrome/test/BUILD.gn
--- a/chrome/test/BUILD.gn
+++ b/chrome/test/BUILD.gn
-@@ -6005,8 +6005,6 @@ if (!is_android) {
+@@ -5969,8 +5969,6 @@ if (!is_android) {
"//chrome/browser/ui/exclusive_access:test_support",
"//chrome/browser/ui/hats",
"//components/safe_browsing/content/browser:safe_browsing_blocking_page",
@@ -932,34 +1747,117 @@ diff --git a/chrome/utility/services.cc b/chrome/utility/services.cc
diff --git a/components/BUILD.gn b/components/BUILD.gn
--- a/components/BUILD.gn
+++ b/components/BUILD.gn
-@@ -629,7 +629,7 @@ test("components_unittests") {
- "//components/media_router/common/providers/cast/channel:unit_tests",
+@@ -639,7 +639,7 @@ test("components_unittests") {
"//components/one_time_tokens/core/browser:unit_tests",
"//components/page_info:unit_tests",
+ "//components/password_manager/core/browser/actor_login: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/BUILD.gn b/components/autofill/core/browser/BUILD.gn
+--- a/components/autofill/core/browser/BUILD.gn
++++ b/components/autofill/core/browser/BUILD.gn
+@@ -555,16 +555,16 @@ static_library("browser") {
+ "ml_model/autofill_ai/autofill_ai_model_executor.h",
+ "ml_model/autofill_ai/autofill_ai_model_executor_impl.cc",
+ "ml_model/autofill_ai/autofill_ai_model_executor_impl.h",
+- "ml_model/field_classification_model_encoder.cc",
+- "ml_model/field_classification_model_encoder.h",
+- "ml_model/field_classification_model_executor.cc",
+- "ml_model/field_classification_model_executor.h",
+- "ml_model/field_classification_model_handler.cc",
+- "ml_model/field_classification_model_handler.h",
+- "ml_model/logging/ml_log_router.cc",
+- "ml_model/logging/ml_log_router.h",
+- "ml_model/model_predictions.cc",
+- "ml_model/model_predictions.h",
++ # "ml_model/field_classification_model_encoder.cc",
++ # "ml_model/field_classification_model_encoder.h",
++ # "ml_model/field_classification_model_executor.cc",
++ # "ml_model/field_classification_model_executor.h",
++ # "ml_model/field_classification_model_handler.cc",
++ # "ml_model/field_classification_model_handler.h",
++ # "ml_model/logging/ml_log_router.cc",
++ # "ml_model/logging/ml_log_router.h",
++ # "ml_model/model_predictions.cc",
++ # "ml_model/model_predictions.h",
+ "network/autofill_ai/fake_wallet_pass_access_manager.cc",
+ "network/autofill_ai/fake_wallet_pass_access_manager.h",
+ "network/autofill_ai/private_pass_conversion_util.cc",
+@@ -997,7 +997,7 @@ static_library("browser") {
+ ":country_data",
+ ":legal_message_line",
+ ":payments_sync_utils",
+- "//components/autofill/core/browser/ml_model/logging:mojo_bindings",
++ # "//components/autofill/core/browser/ml_model/logging:mojo_bindings",
+ "//components/autofill/core/browser/payments:card_unmask_challenge_option",
+ "//components/autofill/core/browser/proto",
+ "//components/autofill/core/browser/proto:autofill_ai_proto",
+@@ -1013,10 +1013,10 @@ static_library("browser") {
+ "//third_party/abseil-cpp:absl",
+ "//third_party/libaddressinput",
+ "//third_party/libaddressinput:strings_grit",
+- "//third_party/tflite",
+- "//third_party/tflite:tflite_public_headers",
+- "//third_party/tflite_support",
+- "//third_party/tflite_support:tflite_support_proto",
++ # "//third_party/tflite",
++ # "//third_party/tflite:tflite_public_headers",
++ # "//third_party/tflite_support",
++ # "//third_party/tflite_support:tflite_support_proto",
+ "//ui/base",
+ "//ui/gfx/geometry",
+ "//ui/gfx/range",
diff --git a/components/autofill/core/browser/foundations/autofill_manager.cc b/components/autofill/core/browser/foundations/autofill_manager.cc
--- a/components/autofill/core/browser/foundations/autofill_manager.cc
+++ b/components/autofill/core/browser/foundations/autofill_manager.cc
-@@ -140,8 +140,10 @@ struct AutofillManager::AsyncContext {
+@@ -35,8 +35,8 @@
+ #include "components/autofill/core/browser/logging/log_manager.h"
+ #include "components/autofill/core/browser/metrics/form_interactions_ukm_logger.h"
+ #include "components/autofill/core/browser/metrics/quality_metrics.h"
+-#include "components/autofill/core/browser/ml_model/field_classification_model_handler.h"
+-#include "components/autofill/core/browser/ml_model/model_predictions.h"
++// #include "components/autofill/core/browser/ml_model/field_classification_model_handler.h"
++// #include "components/autofill/core/browser/ml_model/model_predictions.h"
+ #include "components/autofill/core/browser/suggestions/suggestion_hiding_reason.h"
+ #include "components/autofill/core/browser/suggestions/suggestion_util.h"
+ #include "components/autofill/core/common/autofill_constants.h"
+@@ -137,8 +137,10 @@ struct AutofillManager::AsyncContext {
std::vector forms;
std::vector regex_predictions;
-+#if BUILDFLAG(BUILD_WITH_TFLITE_LIB)
++#if false /*BUILDFLAG(BUILD_WITH_TFLITE_LIB)*/
std::vector autofill_predictions;
std::vector password_manager_predictions;
+#endif
GeoIpCountryCode country_code;
LanguageCode current_page_language;
std::unique_ptr log_manager;
-@@ -1034,12 +1036,14 @@ void AutofillManager::UpdateFormCache(
+@@ -759,6 +761,7 @@ void AutofillManager::ParseFormsAsyncCommon(
+ void AutofillManager::RunMlModels(
+ AsyncContext context,
+ base::OnceCallback done_callback) {
++#if false /*BUILDFLAG(BUILD_WITH_TFLITE_LIB)*/
+ // Runs the specified model and calls `response` with the results.
+ // Otherwise runs `response` with the empty vector.
+ // Called on the UI thread.
+@@ -839,6 +842,9 @@ void AutofillManager::RunMlModels(
+ // Then finish.
+ std::move(done_callback)))),
+ std::move(context));
++#else
++ std::move(done_callback).Run(std::move(context));
++#endif
+ }
+
+ void AutofillManager::PopulateCacheForQueryResponse(
+@@ -1024,12 +1030,14 @@ void AutofillManager::UpdateFormCache(
auto apply_predictions = [](FormStructure& form_structure,
const AsyncContext& context, size_t i) {
-+#if BUILDFLAG(BUILD_WITH_TFLITE_LIB)
++#if false /*BUILDFLAG(BUILD_WITH_TFLITE_LIB)*/
if (!context.autofill_predictions.empty()) {
context.autofill_predictions[i].ApplyTo(form_structure.fields());
}
@@ -970,15 +1868,15 @@ diff --git a/components/autofill/core/browser/foundations/autofill_manager.cc b/
if (!context.regex_predictions.empty()) {
context.regex_predictions[i].ApplyTo(form_structure.fields());
}
-@@ -1155,6 +1159,7 @@ void AutofillManager::LogCurrentFieldTypes(
+@@ -1145,6 +1153,7 @@ void AutofillManager::LogCurrentFieldTypes(
}
}
-+#if BUILDFLAG(BUILD_WITH_TFLITE_LIB)
++#if false /*BUILDFLAG(BUILD_WITH_TFLITE_LIB)*/
void AutofillManager::SubscribeToMlModelChanges(
FieldClassificationModelHandler& handler) {
switch (handler.optimization_target()) {
-@@ -1178,5 +1183,6 @@ void AutofillManager::SubscribeToMlModelChanges(
+@@ -1168,5 +1177,6 @@ void AutofillManager::SubscribeToMlModelChanges(
NOTREACHED();
}
}
@@ -988,7 +1886,7 @@ diff --git a/components/autofill/core/browser/foundations/autofill_manager.cc b/
diff --git a/components/autofill/core/browser/foundations/autofill_manager.h b/components/autofill/core/browser/foundations/autofill_manager.h
--- a/components/autofill/core/browser/foundations/autofill_manager.h
+++ b/components/autofill/core/browser/foundations/autofill_manager.h
-@@ -40,6 +40,7 @@
+@@ -41,6 +41,7 @@
#include "components/autofill/core/common/mojom/autofill_types.mojom.h"
#include "components/autofill/core/common/signatures.h"
#include "components/autofill/core/common/unique_ids.h"
@@ -996,11 +1894,11 @@ diff --git a/components/autofill/core/browser/foundations/autofill_manager.h b/c
#include "components/translate/core/browser/translate_driver.h"
namespace autofill {
-@@ -392,10 +393,12 @@ class AutofillManager
+@@ -394,10 +395,12 @@ class AutofillManager
// Reparses all known forms.
void ReparseKnownForms();
-+#if BUILDFLAG(BUILD_WITH_TFLITE_LIB)
++#if false /*BUILDFLAG(BUILD_WITH_TFLITE_LIB)*/
// After subscribing, FieldClassificationModelHandler::OnModelUpdated() will
// trigger ReparseKnownForms(). There may be a handler for Autofill and/or
// Password Manager.
@@ -1012,7 +1910,7 @@ diff --git a/components/autofill/core/browser/foundations/autofill_manager.h b/c
diff --git a/components/autofill/core/browser/integrators/optimization_guide/autofill_optimization_guide_decider.cc b/components/autofill/core/browser/integrators/optimization_guide/autofill_optimization_guide_decider.cc
--- a/components/autofill/core/browser/integrators/optimization_guide/autofill_optimization_guide_decider.cc
+++ b/components/autofill/core/browser/integrators/optimization_guide/autofill_optimization_guide_decider.cc
-@@ -282,6 +282,7 @@ void AutofillOptimizationGuideDecider::OnPaymentsDataLoaded(
+@@ -292,6 +292,7 @@ void AutofillOptimizationGuideDecider::OnPaymentsDataLoaded(
// If we do not have any optimization types to register, do not do anything.
if (!optimization_types.empty()) {
@@ -1020,7 +1918,7 @@ diff --git a/components/autofill/core/browser/integrators/optimization_guide/aut
decider_->RegisterOptimizationTypes(
std::vector(
std::move(optimization_types).extract()));
-@@ -386,7 +387,7 @@ bool AutofillOptimizationGuideDecider::ShouldBlockSingleFieldSuggestions(
+@@ -396,7 +397,7 @@ bool AutofillOptimizationGuideDecider::ShouldBlockSingleFieldSuggestions(
const AutofillField* field) const {
// If the field's storable type is `IBAN_VALUE`, check whether IBAN
// suggestions should be blocked based on `url`.
@@ -1029,7 +1927,7 @@ diff --git a/components/autofill/core/browser/integrators/optimization_guide/aut
optimization_guide::OptimizationGuideDecision decision =
decider_->CanApplyOptimization(
url, optimization_guide::proto::IBAN_AUTOFILL_BLOCKED,
-@@ -412,7 +413,7 @@ bool AutofillOptimizationGuideDecider::ShouldBlockFormFieldSuggestion(
+@@ -422,7 +423,7 @@ bool AutofillOptimizationGuideDecider::ShouldBlockFormFieldSuggestion(
const CreditCard& card) const {
if (auto optimization_type =
GetVcnMerchantOptOutOptimizationTypeForCard(card);
@@ -1065,11 +1963,11 @@ diff --git a/components/autofill/core/browser/ml_model/field_classification_mode
}
}
-+#if BUILDFLAG(BUILD_WITH_TFLITE_LIB)
++#if false /*BUILDFLAG(BUILD_WITH_TFLITE_LIB)*/
autofill_ml_internals::mojom::MlPredictionLogPtr
FieldClassificationModelHandler::CreateMlPredictionLog(
const FormData& form) const {
-@@ -239,6 +238,7 @@ FieldClassificationModelHandler::CreateMlPredictionLog(
+@@ -223,6 +222,7 @@ FieldClassificationModelHandler::CreateMlPredictionLog(
prediction_log->start_time = base::Time::Now();
return prediction_log;
}
@@ -1077,11 +1975,11 @@ diff --git a/components/autofill/core/browser/ml_model/field_classification_mode
void PopulateMlPredictionLogAfterInference(
autofill_ml_internals::mojom::MlPredictionLog& prediction_log,
-@@ -268,9 +268,11 @@ void FieldClassificationModelHandler::GetModelPredictionsForForm(
+@@ -252,9 +252,11 @@ void FieldClassificationModelHandler::GetModelPredictionsForForm(
std::optional
prediction_log = std::nullopt;
-+#if BUILDFLAG(BUILD_WITH_TFLITE_LIB)
++#if false /*BUILDFLAG(BUILD_WITH_TFLITE_LIB)*/
if (log_router_ && log_router_->HasReceivers()) {
prediction_log = CreateMlPredictionLog(form);
}
@@ -1089,11 +1987,11 @@ diff --git a/components/autofill/core/browser/ml_model/field_classification_mode
FieldClassificationModelEncoder::ModelInput encoded_input =
state_->encoder.EncodeForm(form);
-@@ -336,11 +338,13 @@ void FieldClassificationModelHandler::GetModelPredictionsForForm(
+@@ -320,11 +322,13 @@ void FieldClassificationModelHandler::GetModelPredictionsForForm(
predicted_types);
}
}
-+#if BUILDFLAG(BUILD_WITH_TFLITE_LIB)
++#if false /*BUILDFLAG(BUILD_WITH_TFLITE_LIB)*/
if (output && prediction_log && self->log_router_) {
PopulateMlPredictionLogAfterInference(*prediction_log.value(),
output.value());
@@ -1111,7 +2009,7 @@ diff --git a/components/autofill/core/browser/ml_model/field_classification_mode
#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)
++#if false /*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
@@ -1132,7 +2030,7 @@ diff --git a/components/autofill/core/browser/ml_model/field_classification_mode
ModelInputHash CalculateModelInputHash(
const FieldClassificationModelEncoder::ModelInput& input);
-+#if BUILDFLAG(BUILD_WITH_TFLITE_LIB)
++#if false /*BUILDFLAG(BUILD_WITH_TFLITE_LIB)*/
autofill_ml_internals::mojom::MlPredictionLogPtr CreateMlPredictionLog(
const FormData& form_structure) const;
+#endif
@@ -1143,12 +2041,23 @@ diff --git a/components/autofill/core/browser/ml_model/field_classification_mode
ModelChangeCallbackList model_change_callback_list_;
-+#if BUILDFLAG(BUILD_WITH_TFLITE_LIB)
++#if false /*BUILDFLAG(BUILD_WITH_TFLITE_LIB)*/
raw_ptr log_router_ = nullptr;
+#endif
base::WeakPtrFactory weak_ptr_factory_{this};
};
+diff --git a/components/history_embeddings/core/history_embeddings_features.cc b/components/history_embeddings/core/history_embeddings_features.cc
+--- a/components/history_embeddings/core/history_embeddings_features.cc
++++ b/components/history_embeddings/core/history_embeddings_features.cc
+@@ -24,6 +24,7 @@ FeatureParameters& GetFeatureParametersMutable() {
+ // is client-side launched on desktop platforms in US only, so it remains
+ // disabled by default for other regions.
+ BASE_FEATURE(kHistoryEmbeddings, base::FEATURE_DISABLED_BY_DEFAULT);
++SET_CROMITE_FEATURE_DISABLED(kHistoryEmbeddings);
+
+ // This feature specifies whether to answer queries using an answerer; it can be
+ // considered a toggle for v2 answering functionality. Parameters are all kept
diff --git a/components/omnibox/browser/aim_eligibility_service_features.cc b/components/omnibox/browser/aim_eligibility_service_features.cc
--- a/components/omnibox/browser/aim_eligibility_service_features.cc
+++ b/components/omnibox/browser/aim_eligibility_service_features.cc
@@ -1167,28 +2076,42 @@ diff --git a/components/omnibox/browser/autocomplete_controller.cc b/components/
#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)
++#if false /*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"
-@@ -128,6 +130,7 @@ using ProviderType = AutocompleteProvider::Type;
-
- constexpr bool is_android = !!BUILDFLAG(IS_ANDROID);
+@@ -132,11 +134,13 @@ 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) {
++#if false /*BUILDFLAG(BUILD_WITH_TFLITE_LIB)*/
int percent_score_coverage =
-@@ -236,6 +239,7 @@ void RecordTotalMatchesScored(size_t num_scored) {
- base::UmaHistogramCounts1000("Omnibox.URLScoringModelExecuted.Matches",
- num_scored);
+ matches_with_non_null_scores * 100 / total_scored_matches;
+ base::UmaHistogramPercentage(
+ "Omnibox.URLScoringModelExecuted.MLScoreCoverage",
+ percent_score_coverage);
++#endif
}
+
+ // Records the coverage (i.e. null vs non-null values) for each of the
+@@ -144,6 +148,7 @@ void RecordMlScoreCoverage(size_t matches_with_non_null_scores,
+ void RecordScoringSignalCoverageForProvider(
+ const ScoringSignals& scoring_signals,
+ const AutocompleteProvider* provider) {
++#if false /*BUILDFLAG(BUILD_WITH_TFLITE_LIB)*/
+ // Keep consistent:
+ // - omnibox_event.proto `ScoringSignals`
+ // - omnibox_scoring_signals.proto `OmniboxScoringSignals`
+@@ -226,6 +231,7 @@ void RecordScoringSignalCoverageForProvider(
+ provider_type + "." + pair.first,
+ pair.second);
+ }
+#endif
+ }
- // Appends available autocompletion of the given type, subtype, and number to
- // the existing available autocompletions string, encoding according to the
+ void RecordMlScoringElapsedTime(base::TimeDelta elapsed) {
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
@@ -1209,10 +2132,22 @@ diff --git a/components/omnibox/browser/base_search_provider.cc b/components/omn
}
// static
+diff --git a/components/omnibox/browser/omnibox_field_trial.cc b/components/omnibox/browser/omnibox_field_trial.cc
+--- a/components/omnibox/browser/omnibox_field_trial.cc
++++ b/components/omnibox/browser/omnibox_field_trial.cc
+@@ -830,7 +830,7 @@ bool AreScoringSignalsAnnotatorsEnabled() {
+ return GetMLConfig().enable_scoring_signals_annotators;
+ }
+ bool IsMlUrlScoringEnabled() {
+- return IsUrlScoringModelEnabled() && GetMLConfig().ml_url_scoring;
++ return false;
+ }
+ bool IsMlUrlScoringCounterfactual() {
+ return IsMlUrlScoringEnabled() && GetMLConfig().ml_url_scoring_counterfactual;
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
-@@ -55,7 +55,7 @@ const char kDisableModelDownloadsForBenchmarking[] =
+@@ -56,7 +56,7 @@ const char kDisableModelDownloadsForBenchmarking[] =
// we require models to come from.
constexpr std::array kPublisherKeyHash = {
0x66, 0xa1, 0xd9, 0x3e, 0x4e, 0x5a, 0x66, 0x8a, 0x0f, 0xd3, 0xfa,
@@ -1221,7 +2156,7 @@ diff --git a/components/optimization_guide/core/delivery/prediction_model_downlo
0x5c, 0x7f, 0xd0, 0x0c, 0xa1, 0x6e, 0xef, 0xdd, 0x63, 0x7a};
const net::NetworkTrafficAnnotationTag
kOptimizationGuidePredictionModelsTrafficAnnotation =
-@@ -125,7 +125,7 @@ PredictionModelDownloadManager::PredictionModelDownloadManager(
+@@ -126,7 +126,7 @@ PredictionModelDownloadManager::PredictionModelDownloadManager(
unzip::UnzipperFactory unzipper_factory,
scoped_refptr background_task_runner)
: download_service_tracker_(download_service_tracker),
@@ -1230,7 +2165,7 @@ diff --git a/components/optimization_guide/core/delivery/prediction_model_downlo
api_key_(features::GetOptimizationGuideServiceAPIKey()),
get_base_model_dir_for_download_callback_(
get_base_model_dir_for_download_callback),
-@@ -139,6 +139,7 @@ void PredictionModelDownloadManager::StartDownload(
+@@ -140,6 +140,7 @@ void PredictionModelDownloadManager::StartDownload(
const GURL& download_url,
proto::OptimizationTarget optimization_target,
const std::optional& scheduling_params) {
@@ -1238,7 +2173,7 @@ diff --git a/components/optimization_guide/core/delivery/prediction_model_downlo
download::DownloadParams download_params;
download_params.client =
download::DownloadClient::OPTIMIZATION_GUIDE_PREDICTION_MODELS;
-@@ -303,6 +304,7 @@ bool PredictionModelDownloadManager::VerifyDownload(
+@@ -304,6 +305,7 @@ bool PredictionModelDownloadManager::VerifyDownload(
const base::FilePath& download_file_path,
const base::FilePath& base_model_dir,
bool delete_file_on_error) {
@@ -1249,7 +2184,7 @@ diff --git a/components/optimization_guide/core/delivery/prediction_model_downlo
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
-@@ -53,6 +53,7 @@ bool PredictionModelFetcherImpl::FetchOptimizationGuideServiceModels(
+@@ -54,6 +54,7 @@ bool PredictionModelFetcherImpl::FetchOptimizationGuideServiceModels(
proto::RequestContext request_context,
const std::string& locale,
ModelsFetchedCallback models_fetched_callback) {
@@ -1260,7 +2195,7 @@ diff --git a/components/optimization_guide/core/delivery/prediction_model_fetche
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
-@@ -204,6 +204,7 @@ bool HintsFetcher::FetchOptimizationGuideServiceHints(
+@@ -206,6 +206,7 @@ bool HintsFetcher::FetchOptimizationGuideServiceHints(
bool skip_cache,
HintsFetchedCallback hints_fetched_callback,
std::optional request_context_metadata) {
@@ -1271,7 +2206,7 @@ diff --git a/components/optimization_guide/core/hints/hints_fetcher.cc b/compone
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
-@@ -461,6 +461,7 @@ void HintsManager::Shutdown() {
+@@ -460,6 +460,7 @@ void HintsManager::Shutdown() {
OptimizationGuideDecision
HintsManager::GetOptimizationGuideDecisionFromOptimizationTypeDecision(
OptimizationTypeDecision optimization_type_decision) {
@@ -1279,7 +2214,7 @@ diff --git a/components/optimization_guide/core/hints/hints_manager.cc b/compone
switch (optimization_type_decision) {
case OptimizationTypeDecision::kAllowedByOptimizationFilter:
case OptimizationTypeDecision::kAllowedByHint:
-@@ -2063,4 +2064,5 @@ void HintsManager::RemoveFetchedEntriesByHintKeys(
+@@ -2062,4 +2063,5 @@ void HintsManager::RemoveFetchedEntriesByHintKeys(
hint_cache_->RemoveHintsForHosts(std::move(on_success), hint_keys);
}
@@ -1288,7 +2223,7 @@ diff --git a/components/optimization_guide/core/hints/hints_manager.cc b/compone
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
-@@ -42,11 +42,7 @@ namespace features {
+@@ -43,11 +43,7 @@ namespace optimization_guide::features {
namespace {
constexpr auto enabled_by_default_mobile_only =
@@ -1300,7 +2235,7 @@ diff --git a/components/optimization_guide/core/optimization_guide_features.cc b
} // namespace
-@@ -275,8 +271,7 @@ size_t MaxHostKeyedHintCacheSize() {
+@@ -280,8 +276,7 @@ size_t MaxHostKeyedHintCacheSize() {
}
bool ShouldPersistHintsToDisk() {
@@ -1310,7 +2245,7 @@ diff --git a/components/optimization_guide/core/optimization_guide_features.cc b
}
RequestContextSet GetAllowedContextsForPersonalizedMetadata() {
-@@ -637,5 +632,9 @@ std::optional GetMainFrameGetAIPageContentTimeout() {
+@@ -642,4 +637,10 @@ std::optional GetMainFrameGetAIPageContentTimeout() {
return kGetAIPageContentMainFrameTimeoutParam.Get();
}
@@ -1318,50 +2253,48 @@ diff --git a/components/optimization_guide/core/optimization_guide_features.cc b
+SET_CROMITE_FEATURE_DISABLED(kOptimizationTargetPrediction);
+SET_CROMITE_FEATURE_DISABLED(kPreventLongRunningPredictionModels);
+SET_CROMITE_FEATURE_DISABLED(kOptimizationGuideFetchingForSRP);
- } // namespace features
- } // namespace optimization_guide
++SET_CROMITE_FEATURE_DISABLED(kOptimizationGuideOnDeviceModel);
++SET_CROMITE_FEATURE_DISABLED(kLogOnDeviceMetricsOnStartup);
+ } // namespace optimization_guide::features
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
+@@ -47,5 +47,5 @@ declare_args() {
+ declare_args() {
+ # Exclude the model on builders targeting web_engine on fuchsia.
+ # TODO: crbug.com/393434571 - Clarify the boundary / strategy here.
+- build_with_model_execution = !(is_fuchsia && is_web_engine)
++ build_with_model_execution = false
}
-
- if (is_ios) {
diff --git a/components/page_content_annotations/content/page_category_classifier_bridge_impl.cc b/components/page_content_annotations/content/page_category_classifier_bridge_impl.cc
--- a/components/page_content_annotations/content/page_category_classifier_bridge_impl.cc
+++ b/components/page_content_annotations/content/page_category_classifier_bridge_impl.cc
-@@ -24,7 +24,9 @@ PageCategoryClassifierBridgeImpl::PageCategoryClassifierBridgeImpl(
- : page_embeddings_service_(page_embeddings_service),
- category_classifier_(category_classifier) {
+@@ -28,7 +28,9 @@ PageCategoryClassifierBridgeImpl::PageCategoryClassifierBridgeImpl(
+ category_classifier_(category_classifier),
+ optimization_guide_logger_(optimization_guide_logger) {
scoped_observation_.Observe(&*page_embeddings_service_);
-+#if BUILDFLAG(BUILD_WITH_TFLITE_LIB)
++#if false /*BUILDFLAG(BUILD_WITH_TFLITE_LIB)*/
category_classifier_observation_.Observe(&*category_classifier_);
+#endif
}
PageCategoryClassifierBridgeImpl::~PageCategoryClassifierBridgeImpl() = default;
-@@ -36,6 +38,7 @@ PageCategoryClassifierBridgeImpl::GetUsageMode() const {
+@@ -40,6 +42,7 @@ PageCategoryClassifierBridgeImpl::GetUsageMode() const {
void PageCategoryClassifierBridgeImpl::OnPageEmbeddingsAvailable(
content::Page& page) {
-+#if BUILDFLAG(BUILD_WITH_TFLITE_LIB)
++#if false /*BUILDFLAG(BUILD_WITH_TFLITE_LIB)*/
std::vector embeddings =
page_embeddings_service_->GetEmbeddings(page);
-@@ -53,6 +56,7 @@ void PageCategoryClassifierBridgeImpl::OnPageEmbeddingsAvailable(
+@@ -57,6 +60,7 @@ void PageCategoryClassifierBridgeImpl::OnPageEmbeddingsAvailable(
page.GetMainDocument().GetLastCommittedURL(),
page.GetMainDocument().GetPageUkmSourceId(),
std::move(title_url_embedding), std::move(passage_embeddings));
+#endif
}
- // TODO - crbug.com/434047312: Move the metrics recording to the actual user of
+ void PageCategoryClassifierBridgeImpl::OnCategoriesClassified(
diff --git a/components/page_content_annotations/content/page_category_classifier_bridge_impl.h b/components/page_content_annotations/content/page_category_classifier_bridge_impl.h
--- a/components/page_content_annotations/content/page_category_classifier_bridge_impl.h
+++ b/components/page_content_annotations/content/page_category_classifier_bridge_impl.h
@@ -1373,11 +2306,11 @@ diff --git a/components/page_content_annotations/content/page_category_classifie
#include "components/page_content_annotations/content/page_embeddings_service.h"
#include "components/page_content_annotations/core/on_device_category_classifier.h"
#include "components/page_content_annotations/core/page_category_classifier_bridge.h"
-@@ -50,9 +51,11 @@ class PageCategoryClassifierBridgeImpl
+@@ -54,9 +55,11 @@ class PageCategoryClassifierBridgeImpl
PageEmbeddingsService::Observer>
scoped_observation_{this};
-+#if BUILDFLAG(BUILD_WITH_TFLITE_LIB)
++#if false /*BUILDFLAG(BUILD_WITH_TFLITE_LIB)*/
base::ScopedObservation
category_classifier_observation_{this};
@@ -1388,7 +2321,7 @@ diff --git a/components/page_content_annotations/content/page_category_classifie
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
-@@ -63,6 +63,7 @@ const base::FeatureParam kPageContentExtractionTriggeringMode{
+@@ -56,6 +56,7 @@ const base::FeatureParam kPageContentExtractionTriggeringMode{
bool IsSupportedLocale(const std::string& locale,
const std::string& supported_locales) {
@@ -1396,7 +2329,7 @@ diff --git a/components/page_content_annotations/core/page_content_annotations_f
if (supported_locales == "*") {
return true;
}
-@@ -82,6 +83,7 @@ bool IsSupportedLocale(const std::string& locale,
+@@ -75,6 +76,7 @@ bool IsSupportedLocale(const std::string& locale,
bool IsSupportedCountry(const std::string& country_code,
const std::string& supported_countries) {
@@ -1404,7 +2337,7 @@ diff --git a/components/page_content_annotations/core/page_content_annotations_f
if (supported_countries == "*") {
return true;
}
-@@ -149,6 +151,7 @@ base::TimeDelta PCAServiceWaitForTitleDelayDuration() {
+@@ -144,6 +146,7 @@ base::TimeDelta PCAServiceWaitForTitleDelayDuration() {
}
bool ShouldEnablePageContentAnnotations() {
@@ -1412,7 +2345,7 @@ diff --git a/components/page_content_annotations/core/page_content_annotations_f
// Allow for the validation experiment or remote page metadata to enable the
// PCAService without need to enable both features.
return base::FeatureList::IsEnabled(kPageContentAnnotations) ||
-@@ -281,6 +284,7 @@ bool IsSupportedLocaleForFeature(
+@@ -283,6 +286,7 @@ bool IsSupportedLocaleForFeature(
const std::string& locale,
const base::Feature& feature,
const std::string& default_value = "de,en,es,fr,it,nl,pt,tr") {
@@ -1420,7 +2353,7 @@ diff --git a/components/page_content_annotations/core/page_content_annotations_f
if (!base::FeatureList::IsEnabled(feature)) {
return false;
}
-@@ -298,6 +302,7 @@ bool IsSupportedLocaleForFeature(
+@@ -300,6 +304,7 @@ bool IsSupportedLocaleForFeature(
bool IsSupportedCountryForFeature(const std::string& country_code,
const base::Feature& feature,
const std::string& default_value) {
@@ -1428,7 +2361,7 @@ diff --git a/components/page_content_annotations/core/page_content_annotations_f
if (!base::FeatureList::IsEnabled(feature)) {
return false;
}
-@@ -312,4 +317,7 @@ bool IsSupportedCountryForFeature(const std::string& country_code,
+@@ -314,4 +319,7 @@ bool IsSupportedCountryForFeature(const std::string& country_code,
return IsSupportedCountry(country_code, value);
}
@@ -1447,27 +2380,143 @@ diff --git a/components/page_content_annotations/core/page_content_annotations_m
if (page_visibility_model_handler_)
return;
+diff --git a/components/page_content_annotations/core/page_content_annotations_service.cc b/components/page_content_annotations/core/page_content_annotations_service.cc
+--- a/components/page_content_annotations/core/page_content_annotations_service.cc
++++ b/components/page_content_annotations/core/page_content_annotations_service.cc
+@@ -206,12 +206,14 @@ PageContentAnnotationsService::PageContentAnnotationsService(
+ annotation_types_to_execute_.push_back(AnnotationType::kContentVisibility);
+ }
+
++#if false /*BUILDFLAG(BUILD_WITH_TFLITE_LIB)*/
+ if (base::FeatureList::IsEnabled(features::kOnDeviceCategoryClassifier)) {
+ on_device_category_classifier_ =
+ std::make_unique(
+ optimization_guide_model_provider, embedder_metadata_provider);
+ on_device_category_classifier_->AddObserver(this);
+ }
++#endif
+
+ if (features::RemotePageMetadataEnabled(application_locale, country_code)) {
+ std::vector optimization_types;
+@@ -227,9 +229,11 @@ PageContentAnnotationsService::PageContentAnnotationsService(
+ }
+
+ PageContentAnnotationsService::~PageContentAnnotationsService() {
++#if false /*BUILDFLAG(BUILD_WITH_TFLITE_LIB)*/
+ if (on_device_category_classifier_) {
+ on_device_category_classifier_->RemoveObserver(this);
+ }
++#endif
+ }
+
+ void PageContentAnnotationsService::Shutdown() {
+@@ -299,6 +303,7 @@ void PageContentAnnotationsService::Annotate(const HistoryVisit& visit) {
+ }
+ }
+
++#if false /*BUILDFLAG(BUILD_WITH_TFLITE_LIB)*/
+ void PageContentAnnotationsService::OnCategoriesClassified(
+ const GURL& url,
+ ukm::SourceId source_id,
+@@ -312,6 +317,7 @@ void PageContentAnnotationsService::OnCategoriesClassified(
+ AnnotationType::kCategoryClassifier, it->second,
+ PageContentAnnotationsResult::CreateCategoryResults(categories));
+ }
++#endif
+
+ bool PageContentAnnotationsService::MaybeStartAnnotateVisitBatch() {
+ bool is_full_batch_available =
diff --git a/components/page_content_annotations/core/page_content_annotations_service.h b/components/page_content_annotations/core/page_content_annotations_service.h
--- a/components/page_content_annotations/core/page_content_annotations_service.h
+++ b/components/page_content_annotations/core/page_content_annotations_service.h
-@@ -127,8 +127,11 @@ enum class PageContentAnnotationsType {
+@@ -126,8 +126,11 @@ enum class PageContentAnnotationsType {
class PageContentAnnotationsService
: public KeyedService,
public history::HistoryServiceObserver,
- public ZeroSuggestCacheServiceInterface::Observer,
- public OnDeviceCategoryClassifier::Observer {
+ public ZeroSuggestCacheServiceInterface::Observer
-+#if BUILDFLAG(BUILD_WITH_TFLITE_LIB)
++#if false /*BUILDFLAG(BUILD_WITH_TFLITE_LIB)*/
+ , public OnDeviceCategoryClassifier::Observer
+#endif
+ {
public:
// Observer interface to listen for PageContentAnnotations for page loads.
// Annotations will be sent for each page load for the registered annotation
+@@ -235,9 +238,11 @@ class PageContentAnnotationsService
+ }
+
+ // OnDeviceCategoryClassifier::Observer:
++#if false /*BUILDFLAG(BUILD_WITH_TFLITE_LIB)*/
+ void OnCategoriesClassified(const GURL& url,
+ ukm::SourceId source_id,
+ const std::vector& categories) override;
++#endif
+
+ private:
+ // Callback invoked when a single |visit| has been annotated.
+diff --git a/components/permissions/prediction_service/BUILD.gn b/components/permissions/prediction_service/BUILD.gn
+--- a/components/permissions/prediction_service/BUILD.gn
++++ b/components/permissions/prediction_service/BUILD.gn
+@@ -16,37 +16,37 @@ source_set("prediction_service") {
+ sources = [
+ "permission_ui_selector.cc",
+ "permission_ui_selector.h",
+- "permissions_ai_encoder_base.cc",
+- "permissions_ai_encoder_base.h",
+- "permissions_aiv4_executor.cc",
+- "permissions_aiv4_executor.h",
+- "permissions_aiv4_handler.cc",
+- "permissions_aiv4_handler.h",
++ # "permissions_ai_encoder_base.cc",
++ # "permissions_ai_encoder_base.h",
++ # "permissions_aiv4_executor.cc",
++ # "permissions_aiv4_executor.h",
++ # "permissions_aiv4_handler.cc",
++ # "permissions_aiv4_handler.h",
+ "prediction_common.cc",
+ "prediction_common.h",
+- "prediction_model_executor.cc",
+- "prediction_model_executor.h",
+- "prediction_model_handler.cc",
+- "prediction_model_handler.h",
++ # "prediction_model_executor.cc",
++ # "prediction_model_executor.h",
++ # "prediction_model_handler.cc",
++ # "prediction_model_handler.h",
+ "prediction_request_features.h",
+ "prediction_service.cc",
+ "prediction_service.h",
+ "prediction_service_base.h",
+- "prediction_signature_model_executor.cc",
+- "prediction_signature_model_executor.h",
++ # "prediction_signature_model_executor.cc",
++ # "prediction_signature_model_executor.h",
+ ]
+ deps = [
+ "//components/keyed_service/content",
+- "//components/passage_embeddings/core",
++ # "//components/passage_embeddings/core",
+ "//components/permissions:permissions_common",
+ "//components/version_info",
+ "//content/public/browser",
+ "//services/network/public/cpp",
+- "//skia",
++ # "//skia",
+ "//third_party/protobuf:protobuf_lite",
+- "//third_party/tflite:tflite_public_headers",
+- "//third_party/tflite_support",
+- "//third_party/tflite_support:tflite_support_proto",
++ # "//third_party/tflite:tflite_public_headers",
++ # "//third_party/tflite_support",
++ # "//third_party/tflite_support:tflite_support_proto",
+ ]
+ public_deps = [
+ ":prediction_service_messages_proto",
diff --git a/components/safe_browsing/content/browser/client_side_phishing_model.cc b/components/safe_browsing/content/browser/client_side_phishing_model.cc
--- a/components/safe_browsing/content/browser/client_side_phishing_model.cc
+++ b/components/safe_browsing/content/browser/client_side_phishing_model.cc
-@@ -486,7 +486,7 @@ void ClientSidePhishingModel::OnImageEmbeddingModelFileAndEmbeddingListLoaded(
+@@ -523,7 +523,7 @@ void ClientSidePhishingModel::OnImageEmbeddingModelFileAndEmbeddingListLoaded(
model_metadata.value());
}
@@ -1476,17 +2525,22 @@ diff --git a/components/safe_browsing/content/browser/client_side_phishing_model
if (image_embedding_model_metadata.has_value()) {
embedding_model_opt_guide_metadata_image_embedding_version_ =
image_embedding_model_metadata->image_embedding_model_version();
-@@ -510,9 +510,9 @@ void ClientSidePhishingModel::OnImageEmbeddingModelFileAndEmbeddingListLoaded(
+@@ -547,6 +547,7 @@ void ClientSidePhishingModel::OnImageEmbeddingModelFileAndEmbeddingListLoaded(
embedding_list_version_num);
}
}
-+#if BUILDFLAG(BUILD_WITH_TFLITE_LIB)
++#if false /*BUILDFLAG(BUILD_WITH_TFLITE_LIB)*/
// Drop any existing target image embeddings in preparation for a new set.
target_image_embeddings_.clear();
--#if BUILDFLAG(BUILD_WITH_TFLITE_LIB)
// Only load image embeddings when the version of their embedder matches the
- // version of the embedder that's been loaded.
- if (model_and_list.second.has_value() &&
+@@ -567,6 +568,7 @@ void ClientSidePhishingModel::OnImageEmbeddingModelFileAndEmbeddingListLoaded(
+ }
+ base::UmaHistogramCounts100000("SBClientPhishing.ImageEmbeddingList.Size",
+ target_image_embeddings_.size());
++#endif
+ // There is no use of the image embedding model if the visual trigger model is
+ // not present, so we will only send to the renderer when that is the case.
+ if (visual_tflite_model_ && image_embedding_model_) {
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
@@ -1501,6 +2555,17 @@ diff --git a/components/safe_browsing/content/browser/notification_content_detec
]
deps = [
+diff --git a/components/translate/core/language_detection/BUILD.gn b/components/translate/core/language_detection/BUILD.gn
+--- a/components/translate/core/language_detection/BUILD.gn
++++ b/components/translate/core/language_detection/BUILD.gn
+@@ -28,7 +28,6 @@ static_library("language_detection") {
+ ":chinese_script_classifier",
+ "//base",
+ "//components/language/core/common",
+- "//components/language_detection/core",
+ "//components/translate/core/common",
+ "//third_party/cld_3/src/src:cld_3",
+ "//third_party/icu",
diff --git a/components/viz/service/BUILD.gn b/components/viz/service/BUILD.gn
--- a/components/viz/service/BUILD.gn
+++ b/components/viz/service/BUILD.gn
@@ -1518,31 +2583,43 @@ diff --git a/components/viz/service/BUILD.gn b/components/viz/service/BUILD.gn
diff --git a/components/viz/service/gl/gpu_service_impl.cc b/components/viz/service/gl/gpu_service_impl.cc
--- a/components/viz/service/gl/gpu_service_impl.cc
+++ b/components/viz/service/gl/gpu_service_impl.cc
-@@ -641,25 +641,6 @@ void GpuServiceImpl::BindWebNNContextProvider(
- client_id, client_tracing_id, is_incognito));
- return;
+@@ -643,27 +643,9 @@ void GpuServiceImpl::BindWebNNContextProvider(
}
--
-- if (!webnn_context_provider_) {
-- scoped_refptr shared_context_state =
-- GetContextState();
-- // `shared_context_state` may be nullptr if there is no GPU acceleration.
-- // For such case, WebNN CPU backend, e.g. TFLite XNNPACK, is still useful.
--
-- // TODO(crbug.com/345352987): manage `WebNNContextProviderImpl` instance per
-- // `client_id` in order to support memory metrics.
-- webnn_context_provider_ = webnn::WebNNContextProviderImpl::Create(
-- std::move(shared_context_state), gpu_feature_info_, gpu_info_,
-- shared_image_manager(), gpu_channel_manager_->peak_memory_monitor(),
-- base::BindOnce(&GpuServiceImpl::LoseAllContexts, weak_ptr_),
-- main_runner(), GetGpuScheduler(), gpu_host_);
-- }
+
+ CreateWebNNContextProviderIfNeeded();
-
- webnn_context_provider_->BindWebNNContextProvider(
- std::move(pending_receiver),
- {is_incognito, client_id, client_tracing_id});
}
+ void GpuServiceImpl::CreateWebNNContextProviderIfNeeded() {
+- if (webnn_context_provider_) {
+- return;
+- }
+-
+- scoped_refptr shared_context_state =
+- GetContextState();
+- // `shared_context_state` may be nullptr if there is no GPU acceleration.
+- // For such case, WebNN CPU backend, e.g. TFLite XNNPACK, is still useful.
+-
+- webnn_context_provider_ = webnn::WebNNContextProviderImpl::Create(
+- std::move(shared_context_state), gpu_feature_info_, gpu_info_,
+- shared_image_manager(), gpu_channel_manager_->peak_memory_monitor(),
+- base::BindOnce(&GpuServiceImpl::LoseAllContexts, weak_ptr_),
+- main_runner(), GetGpuScheduler(), gpu_host_);
+ }
+
+ void GpuServiceImpl::BindWebNNServiceIntrospection(
+@@ -678,9 +660,6 @@ void GpuServiceImpl::BindWebNNServiceIntrospection(
+ }
+
+ CreateWebNNContextProviderIfNeeded();
+-
+- webnn_context_provider_->BindWebNNServiceIntrospection(
+- std::move(pending_receiver));
+ }
+
void GpuServiceImpl::GetVideoMemoryUsageStats(
diff --git a/content/browser/BUILD.gn b/content/browser/BUILD.gn
--- a/content/browser/BUILD.gn
@@ -1579,14 +2656,41 @@ diff --git a/content/browser/gpu/gpu_process_host.cc b/content/browser/gpu/gpu_p
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
-@@ -543,6 +543,7 @@ bool ServiceWorkerMainResourceLoader::StartRaceNetworkRequest(
+@@ -539,6 +539,7 @@ bool ServiceWorkerMainResourceLoader::StartRaceNetworkRequest(
scoped_refptr context,
scoped_refptr version,
base::OnceCallback clone_completed_for_fetch_handler_callback) {
+ if ((true)) return false;
// Set fetch_handler_bypass_option to tell the renderer that
// RaceNetworkRequest is enabled.
- version->set_fetch_handler_bypass_option(
+ service_worker_client_->set_fetch_handler_bypass_option(
+diff --git a/content/utility/services.cc b/content/utility/services.cc
+--- a/content/utility/services.cc
++++ b/content/utility/services.cc
+@@ -334,12 +334,6 @@ auto RunVideoCapture(
+ return service;
+ }
+
+-auto RunOnDeviceModel(
+- mojo::PendingReceiver
+- receiver) {
+- return on_device_model::OnDeviceModelService::Create(std::move(receiver));
+-}
+-
+ #if BUILDFLAG(ENABLE_VR) && !BUILDFLAG(IS_ANDROID)
+ auto RunXrDeviceService(
+ mojo::PendingReceiver receiver) {
+@@ -404,10 +398,6 @@ void RegisterMainThreadServices(mojo::ServiceFactory& services) {
+ services.Add(RunOOPVideoDecoderFactoryProcessService);
+ #endif
+
+- if (optimization_guide::features::CanLaunchOnDeviceModelService()) {
+- services.Add(RunOnDeviceModel);
+- }
+-
+ #if BUILDFLAG(IS_WIN) || (BUILDFLAG(GOOGLE_CHROME_BRANDING) && \
+ (BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX)))
+ services.Add(RunShapeDetectionService);
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
@@ -1644,8 +2748,8 @@ new file mode 100644
diff --git a/media/webrtc/BUILD.gn b/media/webrtc/BUILD.gn
--- a/media/webrtc/BUILD.gn
+++ b/media/webrtc/BUILD.gn
-@@ -5,6 +5,7 @@
- import("//components/optimization_guide/features.gni")
+@@ -4,6 +4,7 @@
+
import("//media/media_options.gni")
import("//third_party/webrtc/webrtc.gni")
+import("//components/optimization_guide/features.gni")
@@ -1655,38 +2759,173 @@ diff --git a/media/webrtc/BUILD.gn b/media/webrtc/BUILD.gn
diff --git a/media/webrtc/helpers.cc b/media/webrtc/helpers.cc
--- a/media/webrtc/helpers.cc
+++ b/media/webrtc/helpers.cc
-@@ -14,6 +14,7 @@
+@@ -13,6 +13,7 @@
+ #include "base/time/time.h"
#include "build/build_config.h"
#include "build/chromecast_buildflags.h"
- #include "components/optimization_guide/machine_learning_tflite_buildflags.h"
+#include "components/optimization_guide/machine_learning_tflite_buildflags.h"
#include "media/base/media_switches.h"
#include "media/webrtc/webrtc_features.h"
#include "third_party/webrtc/api/audio/audio_processing.h"
+diff --git a/services/on_device_model/BUILD.gn b/services/on_device_model/BUILD.gn
+--- a/services/on_device_model/BUILD.gn
++++ b/services/on_device_model/BUILD.gn
+@@ -25,7 +25,7 @@ component("on_device_model_service") {
+ sources = [
+ "on_device_model_mojom_impl.cc",
+ "on_device_model_mojom_impl.h",
+- "on_device_model_service.cc",
++ # "on_device_model_service.cc",
+ "on_device_model_service.h",
+ ]
+ deps = [
+@@ -34,7 +34,7 @@ component("on_device_model_service") {
+ "//build:chromecast_buildflags",
+ "//components/optimization_guide/core:features",
+ "//services/on_device_model/fake",
+- "//services/on_device_model/ml:ml_no_internal",
++ # "//services/on_device_model/ml:ml_no_internal",
+
+ # TODO(crbug.com/41492700): Remove this once possible. This is a hack due to
+ # an implicit dependency via //third_party/utf via language_detection above.
+@@ -83,7 +83,7 @@ source_set("tests") {
+ "//base/test:test_support",
+ "//mojo/public/cpp/test_support:test_utils",
+ "//services/on_device_model/fake",
+- "//services/on_device_model/ml:ml_no_internal",
++ #"//services/on_device_model/ml:ml_no_internal",
+ "//services/on_device_model/public/cpp/test_support",
+ "//services/on_device_model/public/mojom",
+ "//testing/gmock",
+diff --git a/services/on_device_model/fake/BUILD.gn b/services/on_device_model/fake/BUILD.gn
+--- a/services/on_device_model/fake/BUILD.gn
++++ b/services/on_device_model/fake/BUILD.gn
+@@ -8,14 +8,16 @@ component("fake") {
+ "on_device_model_fake.h",
+ ]
+ sources = [
+- "fake_chrome_ml_api.cc",
+- "on_device_model_fake.cc",
++ # "fake_chrome_ml_api.cc",
++ # "on_device_model_fake.cc",
++ "//services/on_device_model/ml/chrome_ml_tool_types.cc",
++ "//services/on_device_model/ml/chrome_ml_audio_buffer.cc",
+ ]
+ deps = [
+ "//base",
+ "//mojo/public/cpp/bindings",
+- "//services/on_device_model/ml:api",
+- "//services/on_device_model/ml:ml_no_internal",
++ #"//services/on_device_model/ml:api",
++ #"//services/on_device_model/ml:ml_no_internal",
+ "//services/on_device_model/public/mojom",
+ "//skia:skia_core_public_headers",
+ ]
+diff --git a/services/on_device_model/fake/fake_chrome_ml_api.cc b/services/on_device_model/fake/fake_chrome_ml_api.cc
+--- a/services/on_device_model/fake/fake_chrome_ml_api.cc
++++ b/services/on_device_model/fake/fake_chrome_ml_api.cc
+@@ -130,7 +130,9 @@ size_t TokenizeBytes(const void* user_data,
+
+ } // namespace
+
++#if false /*BUILDFLAG(BUILD_WITH_TFLITE_LIB)*/
+ void InitDawnProcs(const DawnProcTable& procs) {}
++#endif
+
+ void SetMetricsFns(const ChromeMLMetricsFns* fns) {}
+
+@@ -504,7 +506,9 @@ ChromeMLSafetyResult TSModelClassifyTextSafety(ChromeMLTSModel model,
+ }
+
+ const ChromeMLAPI g_api = {
++#if false /*BUILDFLAG(BUILD_WITH_TFLITE_LIB)*/
+ .InitDawnProcs = &InitDawnProcs,
++#endif
+ .SetMetricsFns = &SetMetricsFns,
+ .SetFatalErrorFn = &SetFatalErrorFn,
+ .ClassifyTextSafety = &ClassifyTextSafety,
+diff --git a/services/on_device_model/fake/on_device_model_fake.cc b/services/on_device_model/fake/on_device_model_fake.cc
+--- a/services/on_device_model/fake/on_device_model_fake.cc
++++ b/services/on_device_model/fake/on_device_model_fake.cc
+@@ -12,9 +12,7 @@ namespace fake_ml {
+
+ COMPONENT_EXPORT(ON_DEVICE_MODEL_FAKE)
+ const ml::ChromeML* GetFakeChromeML() {
+- static const base::NoDestructor> fake{
+- ml::ChromeML::CreateForTesting(fake_ml::GetFakeMlApi())};
+- return fake->get();
++ return nullptr;
+ }
+
+ } // namespace fake_ml
+diff --git a/services/on_device_model/ml/BUILD.gn b/services/on_device_model/ml/BUILD.gn
+--- a/services/on_device_model/ml/BUILD.gn
++++ b/services/on_device_model/ml/BUILD.gn
+@@ -6,6 +6,8 @@ import("//build/config/features.gni")
+ import("//components/optimization_guide/features.gni")
+ import("//services/on_device_model/on_device_model.gni")
+
++assert(false)
++
+ source_set("api") {
+ public = [
+ "chrome_ml_api.h",
+diff --git a/services/on_device_model/ml/chrome_ml_api.h b/services/on_device_model/ml/chrome_ml_api.h
+--- a/services/on_device_model/ml/chrome_ml_api.h
++++ b/services/on_device_model/ml/chrome_ml_api.h
+@@ -12,7 +12,9 @@
+ #include
+
+ #include "services/on_device_model/ml/chrome_ml_types.h"
++#if false /*BUILDFLAG(BUILD_WITH_TFLITE_LIB)*/
+ #include "third_party/dawn/include/dawn/dawn_proc_table.h"
++#endif
+ #include "third_party/dawn/include/dawn/webgpu.h"
+
+ // This header defines the public interface to the ChromeML shared library.
+@@ -470,7 +472,9 @@ struct ChromeMLASRAPI {
+ struct ChromeMLAPI {
+ // Initializes the Dawn proc table. This must be called before any other
+ // functions.
++#if false /*BUILDFLAG(BUILD_WITH_TFLITE_LIB)*/
+ void (*InitDawnProcs)(const DawnProcTable& procs);
++#endif
+
+ // Sets functions which can be used to log metrics from within the library.
+ void (*SetMetricsFns)(const ChromeMLMetricsFns* fns);
diff --git a/services/on_device_model/ml/ts_model.cc b/services/on_device_model/ml/ts_model.cc
--- a/services/on_device_model/ml/ts_model.cc
+++ b/services/on_device_model/ml/ts_model.cc
-@@ -27,7 +27,7 @@
+@@ -26,7 +26,7 @@
#include "services/on_device_model/public/mojom/on_device_model_service.mojom.h"
#include "services/on_device_model/safety/safety_util.h"
--#if !BUILDFLAG(IS_FUCHSIA) && BUILDFLAG(BUILD_WITH_TFLITE_LIB)
-+#if false && !BUILDFLAG(IS_FUCHSIA) && BUILDFLAG(BUILD_WITH_TFLITE_LIB)
+-#if !BUILDFLAG(IS_FUCHSIA)
++#if false && !BUILDFLAG(IS_FUCHSIA)
#include "services/on_device_model/safety/bert_safety_model.h"
#endif
-@@ -207,7 +207,7 @@ void TsHolder::Reset(mojom::TextSafetyModelParamsPtr params,
+@@ -198,7 +198,7 @@ void TsHolder::Reset(mojom::TextSafetyModelParamsPtr params,
mojo::PendingReceiver model) {
model_.Clear();
--#if !BUILDFLAG(IS_FUCHSIA) && BUILDFLAG(BUILD_WITH_TFLITE_LIB)
-+#if false && !BUILDFLAG(IS_FUCHSIA) && BUILDFLAG(BUILD_WITH_TFLITE_LIB)
+-#if !BUILDFLAG(IS_FUCHSIA)
++#if false && !BUILDFLAG(IS_FUCHSIA)
if (!params->safety_assets || params->safety_assets->which() ==
mojom::SafetyModelAssets::Tag::kTsAssets) {
auto impl = TsModel::Create(*chrome_ml_, std::move(params));
diff --git a/services/on_device_model/on_device_model.gni b/services/on_device_model/on_device_model.gni
--- a/services/on_device_model/on_device_model.gni
+++ b/services/on_device_model/on_device_model.gni
+@@ -14,7 +14,7 @@ declare_args() {
+ declare_args() {
+ # The on device model service is only enabled on a subset of platforms.
+ # Exclude it on other platforms due to binary size.
+- use_on_device_model_service = is_win || is_mac || is_linux || is_ios || is_cbx
++ use_on_device_model_service = false
+ }
+
+ declare_args() {
@@ -29,5 +29,5 @@ declare_args() {
# MLKit is the developer-facing APIs and AICore is the system-level AI runtime
# to host on-device model services. Chrome-branded builds use internal/private
@@ -1694,18 +2933,91 @@ diff --git a/services/on_device_model/on_device_model.gni b/services/on_device_m
- use_mlkit_for_aicore = !is_chrome_branded
+ use_mlkit_for_aicore = false
}
+diff --git a/services/on_device_model/on_device_model_service.cc b/services/on_device_model/on_device_model_service.cc
+--- a/services/on_device_model/on_device_model_service.cc
++++ b/services/on_device_model/on_device_model_service.cc
+@@ -31,14 +31,7 @@ const base::FeatureParam kForceFastestInference{
+ "on_device_model_force_fastest_inference", false};
+
+ scoped_refptr DefaultImpl() {
+- if (base::FeatureList::IsEnabled(features::kUseFakeChromeML)) {
+- return base::MakeRefCounted(fake_ml::GetFakeChromeML());
+- }
+-#if BUILDFLAG(ENABLE_ML_INTERNAL)
+- return base::MakeRefCounted(::ml::ChromeML::Get());
+-#else
+- return base::MakeRefCounted(fake_ml::GetFakeChromeML());
+-#endif // BUILDFLAG(ENABLE_ML_INTERNAL)
++ return nullptr;
+ }
+
+ } // namespace
+diff --git a/services/on_device_model/public/cpp/features.cc b/services/on_device_model/public/cpp/features.cc
+--- a/services/on_device_model/public/cpp/features.cc
++++ b/services/on_device_model/public/cpp/features.cc
+@@ -7,10 +7,12 @@
+ namespace on_device_model::features {
+
+ BASE_FEATURE(kUseFakeChromeML, base::FEATURE_DISABLED_BY_DEFAULT);
++SET_CROMITE_FEATURE_ENABLED(kUseFakeChromeML);
+
+ BASE_FEATURE(kOnDeviceModelForceCpuBackend, base::FEATURE_DISABLED_BY_DEFAULT);
+
+ BASE_FEATURE(kOnDeviceModelCpuBackend, base::FEATURE_ENABLED_BY_DEFAULT);
++SET_CROMITE_FEATURE_DISABLED(kOnDeviceModelCpuBackend);
+
+ BASE_FEATURE(kOnDeviceModelLitertLmBackend, base::FEATURE_DISABLED_BY_DEFAULT);
+
+diff --git a/services/on_device_model/public/cpp/test_support/BUILD.gn b/services/on_device_model/public/cpp/test_support/BUILD.gn
+--- a/services/on_device_model/public/cpp/test_support/BUILD.gn
++++ b/services/on_device_model/public/cpp/test_support/BUILD.gn
+@@ -14,7 +14,7 @@ source_set("test_support") {
+ public_deps = [
+ "//base",
+ "//mojo/public/cpp/bindings",
+- "//services/on_device_model/ml:api",
++ #"//services/on_device_model/ml:api",
+ "//services/on_device_model/public/cpp",
+ "//services/on_device_model/public/mojom",
+ "//third_party/re2",
+diff --git a/services/on_device_model/public/mojom/BUILD.gn b/services/on_device_model/public/mojom/BUILD.gn
+--- a/services/on_device_model/public/mojom/BUILD.gn
++++ b/services/on_device_model/public/mojom/BUILD.gn
+@@ -75,7 +75,7 @@ mojom("mojom") {
+ "//services/on_device_model/public/cpp/chrome_ml_types_mojom_traits.cc",
+ ]
+ traits_public_deps = [
+- "//services/on_device_model/ml:api",
++ #"//services/on_device_model/ml:api",
+ "//services/on_device_model/public/cpp:types",
+ ]
+ },
diff --git a/services/on_device_model/safety/BUILD.gn b/services/on_device_model/safety/BUILD.gn
--- a/services/on_device_model/safety/BUILD.gn
+++ b/services/on_device_model/safety/BUILD.gn
-@@ -4,7 +4,7 @@
-
- import("//components/optimization_guide/features.gni")
+@@ -2,7 +2,7 @@
+ # Use of this source code is governed by a BSD-style license that can be
+ # found in the LICENSE file.
--if (!is_fuchsia && build_with_tflite_lib) {
-+if (build_with_tflite_lib && !is_fuchsia) {
+-if (!is_fuchsia) {
++if (false) { # build_with_tflite_lib
source_set("bert_safety_op_resolver") {
sources = [
"bert_safety_op_resolver.cc",
+diff --git a/services/passage_embeddings/passage_embeddings_service.cc b/services/passage_embeddings/passage_embeddings_service.cc
+--- a/services/passage_embeddings/passage_embeddings_service.cc
++++ b/services/passage_embeddings/passage_embeddings_service.cc
+@@ -36,6 +36,10 @@ void PassageEmbeddingsService::LoadModels(
+ mojom::PassageEmbedderParamsPtr embedder_params,
+ mojo::PendingReceiver receiver,
+ LoadModelsCallback callback) {
++ if ((true)) {
++ std::move(callback).Run(false);
++ return;
++ }
+ embedder_ = std::make_unique(
+ std::move(receiver), std::move(embedder_params),
+ base::BindOnce(&PassageEmbeddingsService::OnEmbedderDisconnect,
diff --git a/services/webnn/BUILD.gn b/services/webnn/BUILD.gn
--- a/services/webnn/BUILD.gn
+++ b/services/webnn/BUILD.gn
@@ -1728,12 +3040,12 @@ diff --git a/services/webnn/features.gni b/services/webnn/features.gni
- 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
- # TODO(crbug.com/454732289): Enable LiteRT after migration is complete.
- webnn_use_litert = false
+ # LiteRT matches TFLite except for arm.
+ # TODO(b/454732289): Add arm support once APK size issue is resolved.
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
-@@ -263,35 +263,7 @@ void WebNNContextProviderImpl::CreateWebNNContext(
+@@ -331,35 +331,7 @@ void WebNNContextProviderImpl::CreateWebNNContext(
}
#if BUILDFLAG(IS_WIN)
@@ -1773,7 +3085,7 @@ diff --git a/services/webnn/webnn_context_provider_impl.cc b/services/webnn/webn
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
-@@ -1782,6 +1782,7 @@ ALWAYS_INLINE bool HTMLDocumentParser::ShouldCheckTimeBudget(
+@@ -1788,6 +1788,7 @@ ALWAYS_INLINE bool HTMLDocumentParser::ShouldCheckTimeBudget(
}
bool HTMLDocumentParser::ShouldSkipPreloadScan() {
@@ -1795,7 +3107,7 @@ diff --git a/third_party/blink/renderer/core/speculation_rules/document_speculat
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
-@@ -4319,7 +4319,7 @@
+@@ -4416,7 +4416,7 @@
//
// It also has some feature params defined throughout the codebase.
name: "Prerender2",
diff --git a/build/patches/Disable-all-promo-dialogs.patch b/build/patches/Disable-all-promo-dialogs.patch
index 08be67928..8ea8b176f 100644
--- a/build/patches/Disable-all-promo-dialogs.patch
+++ b/build/patches/Disable-all-promo-dialogs.patch
@@ -15,7 +15,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java b/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java
-@@ -2065,6 +2065,7 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator {
+@@ -2185,6 +2185,7 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator {
}
private boolean maybeShowPromo(Profile profile) {
@@ -26,7 +26,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/Tab
diff --git a/chrome/browser/ui/browser_ui_prefs.cc b/chrome/browser/ui/browser_ui_prefs.cc
--- a/chrome/browser/ui/browser_ui_prefs.cc
+++ b/chrome/browser/ui/browser_ui_prefs.cc
-@@ -191,7 +191,7 @@ void RegisterBrowserUserPrefs(user_prefs::PrefRegistrySyncable* registry) {
+@@ -193,7 +193,7 @@ void RegisterBrowserUserPrefs(user_prefs::PrefRegistrySyncable* registry) {
registry->RegisterBooleanPref(prefs::kEnterpriseHardwarePlatformAPIEnabled,
false);
diff --git a/build/patches/Disable-conversion-measurement-api.patch b/build/patches/Disable-conversion-measurement-api.patch
index fc39397a0..2b2a416b9 100644
--- a/build/patches/Disable-conversion-measurement-api.patch
+++ b/build/patches/Disable-conversion-measurement-api.patch
@@ -53,7 +53,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/android_webview/browser/aw_content_browser_client.cc b/android_webview/browser/aw_content_browser_client.cc
--- a/android_webview/browser/aw_content_browser_client.cc
+++ b/android_webview/browser/aw_content_browser_client.cc
-@@ -1371,6 +1371,7 @@ network::mojom::AttributionSupport
+@@ -1380,6 +1380,7 @@ network::mojom::AttributionSupport
AwContentBrowserClient::GetAttributionSupport(
AttributionReportingOsApiState state,
bool client_os_disabled) {
@@ -61,7 +61,7 @@ diff --git a/android_webview/browser/aw_content_browser_client.cc b/android_webv
// WebView only supports OS-level attribution and not web-attribution.
switch (state) {
case AttributionReportingOsApiState::kDisabled:
-@@ -1389,6 +1390,8 @@ bool AwContentBrowserClient::IsAttributionReportingOperationAllowed(
+@@ -1398,6 +1399,8 @@ bool AwContentBrowserClient::IsAttributionReportingOperationAllowed(
const url::Origin* destination_origin,
const url::Origin* reporting_origin,
bool* can_bypass) {
@@ -79,10 +79,10 @@ diff --git a/android_webview/java/src/org/chromium/android_webview/AwSettings.ja
private int mMixedContentMode = WebSettings.MIXED_CONTENT_NEVER_ALLOW;
- private int mAttributionBehavior = AttributionBehavior.APP_SOURCE_AND_WEB_TRIGGER;
+ private int mAttributionBehavior = AttributionBehavior.DISABLED;
+ private boolean mIgnoreDuplicateNavEnabled;
+ private int mIgnoreDuplicateNavThresholdMs = -1;
- @SpeculativeLoadingAllowedFlags
- private int mSpeculativeLoadingAllowedFlags =
-@@ -1820,7 +1820,7 @@ public class AwSettings {
+@@ -1868,7 +1868,7 @@ public class AwSettings {
public void setAttributionBehavior(@AttributionBehavior int behavior) {
synchronized (mAwSettingsLock) {
if (mAttributionBehavior != behavior) {
@@ -115,7 +115,7 @@ diff --git a/chrome/android/java/AndroidManifest.xml b/chrome/android/java/Andro
@@ -30,7 +30,7 @@ diff --git a/chrome/app/generated_resources.grd b/chrome/app/generated_resources
diff --git a/chrome/browser/ui/views/toolbar/toolbar_view.cc b/chrome/browser/ui/views/toolbar/toolbar_view.cc
--- a/chrome/browser/ui/views/toolbar/toolbar_view.cc
+++ b/chrome/browser/ui/views/toolbar/toolbar_view.cc
-@@ -1149,7 +1149,7 @@ void ToolbarView::Update(WebContents* tab) {
+@@ -1153,7 +1153,7 @@ void ToolbarView::Update(WebContents* tab) {
if (ReloadControl* reload_control = GetReloadButton(); reload_control) {
reload_control->SetDevToolsStatus(
diff --git a/build/patches/Enable-native-Android-autofill.patch b/build/patches/Enable-native-Android-autofill.patch
index 2cdfa3868..f6d127492 100644
--- a/build/patches/Enable-native-Android-autofill.patch
+++ b/build/patches/Enable-native-Android-autofill.patch
@@ -38,7 +38,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../browser/content_autofill_driver.cc | 11 +++
.../content/browser/content_autofill_driver.h | 10 ++
.../content_autofill_driver_factory.cc | 12 +++
- .../content/renderer/autofill_agent.cc | 10 +-
+ .../content/renderer/autofill_agent.cc | 4 -
.../renderer/password_autofill_agent.cc | 5 +-
.../browser/foundations/autofill_driver.h | 2 +
.../foundations/autofill_driver_factory.cc | 4 +
@@ -50,7 +50,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../core/browser/password_form_manager.cc | 4 +
.../core/browser/password_manager_client.cc | 2 +
.../core/browser/password_manager_client.h | 2 +
- 35 files changed, 255 insertions(+), 144 deletions(-)
+ 35 files changed, 249 insertions(+), 144 deletions(-)
create mode 100644 components/android_autofill/browser/java/src/org/chromium/components/autofill/BrowserSelectionActionMenuDelegate.java
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/password_manager/settings/PasswordSettings.java b/chrome/android/java/src/org/chromium/chrome/browser/password_manager/settings/PasswordSettings.java
@@ -192,10 +192,10 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/password_manage
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/MainSettings.java b/chrome/android/java/src/org/chromium/chrome/browser/settings/MainSettings.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/settings/MainSettings.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/settings/MainSettings.java
-@@ -627,22 +627,8 @@ public class MainSettings extends ChromeBaseSettingsFragment
- }
+@@ -720,22 +720,8 @@ public class MainSettings extends ChromeBaseSettingsFragment
- private void updateAutofillPreferences() {
+ // TODO(crbug.com/482988366): Remove this method once the Autofill and passwords feature is launched.
+ private void updateAutofillPreferencesPreAutofillAndPasswords() {
- addPreferenceIfAbsent(PREF_AUTOFILL_SECTION);
- addPreferenceIfAbsent(PREF_AUTOFILL_OPTIONS);
- Preference autofillOptionsPreference = findPreference(PREF_AUTOFILL_OPTIONS);
@@ -220,7 +220,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/MainSe
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.java
-@@ -122,6 +122,13 @@ import java.util.HashMap;
+@@ -121,6 +121,13 @@ import java.util.HashMap;
import java.util.Map;
import java.util.Objects;
@@ -234,7 +234,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.jav
/**
* Implementation of the interface {@link Tab}. Contains and manages a {@link ContentView}. This
* class is not intended to be extended.
-@@ -1248,6 +1255,11 @@ class TabImpl implements Tab {
+@@ -1252,6 +1259,11 @@ class TabImpl implements Tab {
}
mObservers.clear();
@@ -246,7 +246,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.jav
if (!abortNavigationsFromTabClosures) mUserDataHost.destroy();
mTabViewManager.destroy();
hideNativePage(false, null);
-@@ -1637,6 +1649,7 @@ class TabImpl implements Tab {
+@@ -1641,6 +1653,7 @@ class TabImpl implements Tab {
* @return iff the AutofillProvider should provide a ViewStructure when prompted.
*/
boolean providesAutofillStructure() {
@@ -254,7 +254,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.jav
if (!mProfile.isNativeInitialized()) {
return false;
}
-@@ -2436,16 +2449,21 @@ class TabImpl implements Tab {
+@@ -2440,16 +2453,21 @@ class TabImpl implements Tab {
* @return true if the the provider is available for the given WebContents.
*/
private boolean prepareAutofillProvider(WebContents newWebContents) {
@@ -282,7 +282,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.jav
// TODO: crbug.com/432447902 — Provide only an activity context and push changes.
mAutofillProvider =
new AutofillProvider(
-@@ -2455,7 +2473,16 @@ class TabImpl implements Tab {
+@@ -2459,7 +2477,16 @@ class TabImpl implements Tab {
getContext().getString(R.string.app_name));
TabImplJni.get().initializeAutofillIfNecessary(mNativeTabAndroid);
}
@@ -311,7 +311,7 @@ diff --git a/chrome/browser/android/tab_android.cc b/chrome/browser/android/tab_
#include "chrome/browser/ui/android/context_menu_helper.h"
#include "chrome/browser/ui/android/tab_model/tab_model.h"
#include "chrome/browser/ui/android/tab_model/tab_model_list.h"
-@@ -417,8 +418,7 @@ void TabAndroid::InitializeAutofillIfNecessary() {
+@@ -431,8 +432,7 @@ void TabAndroid::InitializeAutofillIfNecessary() {
->MaybeInitKeyboardSuppressor();
return;
}
@@ -324,7 +324,7 @@ diff --git a/chrome/browser/android/tab_android.cc b/chrome/browser/android/tab_
diff --git a/chrome/browser/autofill/actor/actor_form_filling_service_impl.cc b/chrome/browser/autofill/actor/actor_form_filling_service_impl.cc
--- a/chrome/browser/autofill/actor/actor_form_filling_service_impl.cc
+++ b/chrome/browser/autofill/actor/actor_form_filling_service_impl.cc
-@@ -426,14 +426,6 @@ GetAutofillManager(const tabs::TabInterface& tab) {
+@@ -427,14 +427,6 @@ GetAutofillManager(const tabs::TabInterface& tab) {
if (!profile) {
return base::unexpected(kAutofillNotAvailable);
}
@@ -379,7 +379,7 @@ diff --git a/chrome/browser/autofill/android/java/src/org/chromium/chrome/browse
diff --git a/chrome/browser/password_manager/chrome_password_manager_client.cc b/chrome/browser/password_manager/chrome_password_manager_client.cc
--- a/chrome/browser/password_manager/chrome_password_manager_client.cc
+++ b/chrome/browser/password_manager/chrome_password_manager_client.cc
-@@ -518,6 +518,12 @@ bool ChromePasswordManagerClient::PromptUserToChooseCredentials(
+@@ -521,6 +521,12 @@ bool ChromePasswordManagerClient::PromptUserToChooseCredentials(
}
#if BUILDFLAG(IS_ANDROID)
@@ -407,7 +407,7 @@ diff --git a/chrome/browser/password_manager/chrome_password_manager_client.h b/
diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd
--- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
+++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
-@@ -336,6 +336,12 @@ CHAR_LIMIT guidelines:
+@@ -345,6 +345,12 @@ CHAR_LIMIT guidelines:
You and Google
@@ -558,7 +558,7 @@ diff --git a/chrome/browser/ui/autofill/autofill_client_provider.h b/chrome/brow
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
-@@ -380,9 +380,7 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) {
+@@ -389,9 +389,7 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) {
web_contents);
ChainedBackNavigationTracker::CreateForWebContents(web_contents);
chrome_browser_net::NetErrorTabHelper::CreateForWebContents(web_contents);
@@ -712,7 +712,7 @@ new file mode 100644
diff --git a/components/autofill/content/browser/content_autofill_driver.cc b/components/autofill/content/browser/content_autofill_driver.cc
--- a/components/autofill/content/browser/content_autofill_driver.cc
+++ b/components/autofill/content/browser/content_autofill_driver.cc
-@@ -280,6 +280,13 @@ void RouteToManager(ContentAutofillDriver& source,
+@@ -281,6 +281,13 @@ void RouteToManager(ContentAutofillDriver& source,
AutofillManager& manager = target.GetAutofillManager();
(manager.*
manager_fun)(WithNewVersion(std::forward(args))...);
@@ -726,7 +726,7 @@ diff --git a/components/autofill/content/browser/content_autofill_driver.cc b/co
},
source, Lift(source, std::forward(args))...);
}
-@@ -700,6 +707,10 @@ ContentAutofillDriver::GetAutofillAgent() {
+@@ -701,6 +708,10 @@ ContentAutofillDriver::GetAutofillAgent() {
return autofill_agent_;
}
@@ -796,7 +796,7 @@ diff --git a/components/autofill/content/browser/content_autofill_driver_factory
diff --git a/components/autofill/content/renderer/autofill_agent.cc b/components/autofill/content/renderer/autofill_agent.cc
--- a/components/autofill/content/renderer/autofill_agent.cc
+++ b/components/autofill/content/renderer/autofill_agent.cc
-@@ -1615,17 +1615,19 @@ void AutofillAgent::ShowSuggestions(
+@@ -1551,10 +1551,6 @@ void AutofillAgent::ShowSuggestions(
password_generation_agent_->ShowPasswordGenerationSuggestions(
input_element, form_cache)) {
is_popup_possibly_visible_ = true;
@@ -804,22 +804,9 @@ diff --git a/components/autofill/content/renderer/autofill_agent.cc b/components
- features::kAutofillAndroidKeyboardAccessoryDynamicPositioning)) {
- return;
- }
-+#if !BUILDFLAG(IS_ANDROID)
-+ return;
-+#endif
}
-+ [[maybe_unused]]
- bool password_agent_handled_request = TryShowPasswordSuggestions(
- input_element, IsPasswordsAutofillManuallyTriggered(trigger_source),
- password_request);
-+#if !BUILDFLAG(IS_ANDROID)
- if (password_agent_handled_request) {
- return;
- }
-+#endif
}
- if (config_.secure_context_required &&
diff --git a/components/autofill/content/renderer/password_autofill_agent.cc b/components/autofill/content/renderer/password_autofill_agent.cc
--- a/components/autofill/content/renderer/password_autofill_agent.cc
+++ b/components/autofill/content/renderer/password_autofill_agent.cc
@@ -864,7 +851,7 @@ diff --git a/components/autofill/core/browser/foundations/autofill_driver_factor
diff --git a/components/autofill/core/browser/foundations/autofill_manager.h b/components/autofill/core/browser/foundations/autofill_manager.h
--- a/components/autofill/core/browser/foundations/autofill_manager.h
+++ b/components/autofill/core/browser/foundations/autofill_manager.h
-@@ -247,6 +247,8 @@ class AutofillManager
+@@ -249,6 +249,8 @@ class AutofillManager
LifecycleState new_state,
base::PassKey pass_key);
@@ -888,7 +875,7 @@ diff --git a/components/autofill/core/browser/foundations/browser_autofill_manag
diff --git a/components/autofill/core/browser/foundations/browser_autofill_manager.h b/components/autofill/core/browser/foundations/browser_autofill_manager.h
--- a/components/autofill/core/browser/foundations/browser_autofill_manager.h
+++ b/components/autofill/core/browser/foundations/browser_autofill_manager.h
-@@ -457,6 +457,8 @@ class BrowserAutofillManager : public AutofillManager {
+@@ -452,6 +452,8 @@ class BrowserAutofillManager : public AutofillManager {
// latter check is needed because IPC messages can arrive out of order.
void UpdateInitialInteractionTimestamp(base::TimeTicks interaction_timestamp);
@@ -921,7 +908,7 @@ diff --git a/components/autofill/core/common/autofill_prefs.cc b/components/auto
diff --git a/components/autofill/core/common/autofill_prefs.h b/components/autofill/core/common/autofill_prefs.h
--- a/components/autofill/core/common/autofill_prefs.h
+++ b/components/autofill/core/common/autofill_prefs.h
-@@ -152,6 +152,11 @@ inline constexpr char kAutofillWasNameAndEmailProfileUsed[] =
+@@ -153,6 +153,11 @@ inline constexpr char kAutofillWasNameAndEmailProfileUsed[] =
// retention policy was run.
inline constexpr char kAutocompleteLastVersionRetentionPolicy[] =
"autocomplete.retention_policy_last_version";
@@ -936,7 +923,7 @@ diff --git a/components/autofill/core/common/autofill_prefs.h b/components/autof
diff --git a/components/password_manager/core/browser/password_form_manager.cc b/components/password_manager/core/browser/password_form_manager.cc
--- a/components/password_manager/core/browser/password_form_manager.cc
+++ b/components/password_manager/core/browser/password_form_manager.cc
-@@ -1196,6 +1196,10 @@ void PasswordFormManager::FillNow() {
+@@ -1200,6 +1200,10 @@ void PasswordFormManager::FillNow() {
}
autofills_left_--;
@@ -962,7 +949,7 @@ diff --git a/components/password_manager/core/browser/password_manager_client.cc
diff --git a/components/password_manager/core/browser/password_manager_client.h b/components/password_manager/core/browser/password_manager_client.h
--- a/components/password_manager/core/browser/password_manager_client.h
+++ b/components/password_manager/core/browser/password_manager_client.h
-@@ -224,6 +224,8 @@ class PasswordManagerClient {
+@@ -228,6 +228,8 @@ class PasswordManagerClient {
virtual void ShowKeyboardReplacingSurface(
PasswordManagerDriver* driver,
const autofill::PasswordSuggestionRequest& request);
diff --git a/build/patches/Enable-network-isolation-features.patch b/build/patches/Enable-network-isolation-features.patch
index b5257dd01..58f1e6533 100644
--- a/build/patches/Enable-network-isolation-features.patch
+++ b/build/patches/Enable-network-isolation-features.patch
@@ -21,7 +21,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/chrome/browser/net/profile_network_context_service.cc b/chrome/browser/net/profile_network_context_service.cc
--- a/chrome/browser/net/profile_network_context_service.cc
+++ b/chrome/browser/net/profile_network_context_service.cc
-@@ -459,8 +459,8 @@ bool GetHttpCacheBackendResetParam(PrefService* local_state) {
+@@ -458,8 +458,8 @@ bool GetHttpCacheBackendResetParam(PrefService* local_state) {
experiment_parts.push_back(kDiskCacheExperimentNameNone);
// SplitCacheByIncludeCredentials experiment:
experiment_parts.push_back(credentials_field_trial
diff --git a/build/patches/Enable-platform-aac-audio-and-h264-video.patch b/build/patches/Enable-platform-aac-audio-and-h264-video.patch
index 447fbb9a3..ef30a18df 100644
--- a/build/patches/Enable-platform-aac-audio-and-h264-video.patch
+++ b/build/patches/Enable-platform-aac-audio-and-h264-video.patch
@@ -62,15 +62,15 @@ diff --git a/media/base/android/java/src/org/chromium/media/AudioManagerAndroid.
diff --git a/media/base/android/media_codec_util.cc b/media/base/android/media_codec_util.cc
--- a/media/base/android/media_codec_util.cc
+++ b/media/base/android/media_codec_util.cc
-@@ -15,6 +15,7 @@
- #include "base/logging.h"
+@@ -16,6 +16,7 @@
+ #include "base/numerics/safe_conversions.h"
#include "base/strings/string_util.h"
#include "base/system/sys_info.h"
+#include "media/media_buildflags.h"
#include "media/base/android/media_codec_bridge.h"
#include "media/base/video_codecs.h"
#include "third_party/re2/src/re2/re2.h"
-@@ -102,6 +103,9 @@ std::string MediaCodecUtil::CodecToAndroidMimeType(AudioCodec codec) {
+@@ -127,6 +128,9 @@ std::string MediaCodecUtil::CodecToAndroidMimeType(AudioCodec codec) {
// static
std::string MediaCodecUtil::CodecToAndroidMimeType(AudioCodec codec,
SampleFormat sample_format) {
@@ -98,7 +98,7 @@ diff --git a/media/base/win/mf_helpers.cc b/media/base/win/mf_helpers.cc
diff --git a/media/filters/ffmpeg_audio_decoder.cc b/media/filters/ffmpeg_audio_decoder.cc
--- a/media/filters/ffmpeg_audio_decoder.cc
+++ b/media/filters/ffmpeg_audio_decoder.cc
-@@ -96,6 +96,16 @@ void FFmpegAudioDecoder::Initialize(const AudioDecoderConfig& config,
+@@ -127,6 +127,16 @@ void FFmpegAudioDecoder::Initialize(const AudioDecoderConfig& config,
return;
}
@@ -118,7 +118,7 @@ diff --git a/media/filters/ffmpeg_audio_decoder.cc b/media/filters/ffmpeg_audio_
diff --git a/media/filters/ffmpeg_demuxer.cc b/media/filters/ffmpeg_demuxer.cc
--- a/media/filters/ffmpeg_demuxer.cc
+++ b/media/filters/ffmpeg_demuxer.cc
-@@ -727,6 +727,7 @@ void FFmpegDemuxerStream::InitBitstreamConverter() {
+@@ -728,6 +728,7 @@ void FFmpegDemuxerStream::InitBitstreamConverter() {
// FFmpeg doesn't understand xHE-AAC profiles yet, which can't be put in
// ADTS anyways, so skip bitstream conversion when the profile is
// unknown.
@@ -221,8 +221,8 @@ diff --git a/media/gpu/windows/supported_profile_helpers.cc b/media/gpu/windows/
diff --git a/media/media_options.gni b/media/media_options.gni
--- a/media/media_options.gni
+++ b/media/media_options.gni
-@@ -64,6 +64,14 @@ declare_args() {
- media_use_libvpx = false
+@@ -65,6 +65,14 @@ declare_args() {
+ media_use_symphonia = false
}
+ # Enables AAC audio decoder using only MediaCodecAudioDecoder in Android
diff --git a/build/patches/Enable-share-intent.patch b/build/patches/Enable-share-intent.patch
index b85599440..222189b6a 100644
--- a/build/patches/Enable-share-intent.patch
+++ b/build/patches/Enable-share-intent.patch
@@ -35,7 +35,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/chrome/android/chrome_java_resources.gni b/chrome/android/chrome_java_resources.gni
--- a/chrome/android/chrome_java_resources.gni
+++ b/chrome/android/chrome_java_resources.gni
-@@ -596,6 +596,7 @@ chrome_java_resources = [
+@@ -606,6 +606,7 @@ chrome_java_resources = [
"java/res/layout/shopping_accessory_view_layout.xml",
"java/res/layout/status_indicator_container.xml",
"java/res/layout/suggestions_tile_view_condensed.xml",
@@ -46,10 +46,10 @@ diff --git a/chrome/android/chrome_java_resources.gni b/chrome/android/chrome_ja
diff --git a/chrome/android/chrome_java_sources.gni b/chrome/android/chrome_java_sources.gni
--- a/chrome/android/chrome_java_sources.gni
+++ b/chrome/android/chrome_java_sources.gni
-@@ -1072,6 +1072,7 @@ chrome_java_sources = [
+@@ -1087,6 +1087,7 @@ chrome_java_sources = [
+ "java/src/org/chromium/chrome/browser/signin/SigninBridge.java",
"java/src/org/chromium/chrome/browser/signin/SigninCheckerProvider.java",
"java/src/org/chromium/chrome/browser/signin/SigninFirstRunFragment.java",
- "java/src/org/chromium/chrome/browser/signin/SigninManagerImpl.java",
+ "java/src/org/chromium/chrome/browser/sharing/shared_intent/SharedIntentShareActivity.java",
"java/src/org/chromium/chrome/browser/site_settings/ChromeSiteSettingsDelegate.java",
"java/src/org/chromium/chrome/browser/site_settings/ManageSpaceActivity.java",
@@ -57,7 +57,7 @@ diff --git a/chrome/android/chrome_java_sources.gni b/chrome/android/chrome_java
diff --git a/chrome/android/java/AndroidManifest.xml b/chrome/android/java/AndroidManifest.xml
--- a/chrome/android/java/AndroidManifest.xml
+++ b/chrome/android/java/AndroidManifest.xml
-@@ -279,12 +279,6 @@ by a child template that "extends" this file.
+@@ -271,12 +271,6 @@ by a child template that "extends" this file.
@@ -70,7 +70,7 @@ diff --git a/chrome/android/java/AndroidManifest.xml b/chrome/android/java/Andro
-@@ -363,6 +357,10 @@ by a child template that "extends" this file.
+@@ -355,6 +349,10 @@ by a child template that "extends" this file.
@@ -81,7 +81,7 @@ diff --git a/chrome/android/java/AndroidManifest.xml b/chrome/android/java/Andro
-@@ -399,6 +397,24 @@ by a child template that "extends" this file.
+@@ -391,6 +389,24 @@ by a child template that "extends" this file.
@@ -202,7 +202,7 @@ new file mode 100644
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/IntentHandler.java b/chrome/android/java/src/org/chromium/chrome/browser/IntentHandler.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/IntentHandler.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/IntentHandler.java
-@@ -204,6 +204,9 @@ public class IntentHandler {
+@@ -215,6 +215,9 @@ public class IntentHandler {
private static final String EXTRA_TAB_LAUNCH_TYPE =
"org.chromium.chrome.browser.tab_launch_type";
@@ -212,8 +212,8 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/IntentHandler.j
/** A hash code for the URL to verify intent data hasn't been modified. */
public static final String EXTRA_DATA_HASH_CODE = "org.chromium.chrome.browser.data_hash";
-@@ -1541,6 +1544,17 @@ public class IntentHandler {
- return IntentUtils.safeGetIntExtra(intent, EXTRA_DEST_TAB_ID, Tab.INVALID_TAB_ID);
+@@ -1636,6 +1639,17 @@ public class IntentHandler {
+ return (tabContext instanceof Activity) ? (Activity) tabContext : null;
}
+ public static void setForceIncognitoMode(Intent intent) {
@@ -230,7 +230,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/IntentHandler.j
/**
* Creates an Intent that will launch a ChromeTabbedActivity on the new tab page. The Intent
* will be trusted and therefore able to launch Incognito tabs.
-@@ -1751,7 +1765,7 @@ public class IntentHandler {
+@@ -1857,7 +1871,7 @@ public class IntentHandler {
String headers = getExtraHeadersFromIntent(intent);
headers = maybeAddAdditionalContentHeaders(intent, url, headers);
@@ -290,7 +290,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/document/Chrome
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/init/ProcessInitializationHandler.java b/chrome/android/java/src/org/chromium/chrome/browser/init/ProcessInitializationHandler.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/init/ProcessInitializationHandler.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/init/ProcessInitializationHandler.java
-@@ -110,6 +110,7 @@ import org.chromium.chrome.browser.tabmodel.TabPersistentStoreImpl;
+@@ -109,6 +109,7 @@ import org.chromium.chrome.browser.tabmodel.TabPersistentStoreImpl;
import org.chromium.chrome.browser.ui.cars.DrivingRestrictionsManager;
import org.chromium.chrome.browser.ui.hats.SurveyClientFactory;
import org.chromium.chrome.browser.ui.searchactivityutils.SearchActivityPreferencesManager;
@@ -298,7 +298,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/init/ProcessIni
import org.chromium.chrome.browser.usb.UsbNotificationManager;
import org.chromium.chrome.browser.util.AfterStartupTaskUtils;
import org.chromium.chrome.browser.webapps.ChromeWebApkHost;
-@@ -705,6 +706,7 @@ public class ProcessInitializationHandler {
+@@ -702,6 +703,7 @@ public class ProcessInitializationHandler {
tasks.add(WebApkUninstallTracker::runDeferredTasks);
@@ -473,19 +473,19 @@ new file mode 100644
diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browser/flags/android/chrome_feature_list.cc
--- a/chrome/browser/flags/android/chrome_feature_list.cc
+++ b/chrome/browser/flags/android/chrome_feature_list.cc
-@@ -418,6 +418,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
+@@ -435,6 +435,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
&kRelatedSearchesAllLanguage,
&kRelatedSearchesSwitch,
&kReloadTabUiResourcesIfChanged,
+ &kSharedIntentUI,
&kRemoveTabFocusOnShowingAndSelect,
&kRightEdgeGoesForwardGestureNav,
- &kRobustWindowManagement,
+ &kRobustWindowManagementExperimental,
diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
--- a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
+++ b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
-@@ -585,6 +585,7 @@ public abstract class ChromeFeatureList {
- public static final String RECENTLY_CLOSED_TABS_AND_WINDOWS = "RecentlyClosedTabsAndWindows";
+@@ -602,6 +602,7 @@ public abstract class ChromeFeatureList {
+ public static final String READALOUD_PLAYBACK = "ReadAloudPlayback";
public static final String RECORD_INCOGNITO_NTP_TIME_TO_FIRST_NAVIGATION_METRIC =
"RecordIncognitoNtpTimeToFirstNavigationMetric";
+ public static final String SHARED_INTENT_UI = "SharedIntentUI";
@@ -495,7 +495,7 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f
diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd
--- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
+++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
-@@ -6610,6 +6610,19 @@ To change this setting, BEGIN_LINKdelete the Chrome d
+@@ -6595,6 +6595,19 @@ To change this setting, BEGIN_LINKdelete the Chrome d
Make sure a phone app is enabled on this device
diff --git a/build/patches/Enable-snackbar-swipe.patch b/build/patches/Enable-snackbar-swipe.patch
index 35b314f6d..73eed35b2 100644
--- a/build/patches/Enable-snackbar-swipe.patch
+++ b/build/patches/Enable-snackbar-swipe.patch
@@ -30,7 +30,7 @@ diff --git a/chrome/browser/ui/messages/android/java/src/org/chromium/chrome/bro
import android.view.View.OnLayoutChangeListener;
import android.view.ViewGroup;
import android.widget.FrameLayout;
-@@ -35,6 +38,8 @@ import org.chromium.chrome.browser.ui.messages.snackbar.SnackbarSwipeHandler.Del
+@@ -36,6 +39,8 @@ import org.chromium.chrome.browser.ui.messages.snackbar.SnackbarSwipeHandler.Del
import org.chromium.chrome.ui.messages.R;
import org.chromium.components.browser_ui.styles.SemanticColorUtils;
import org.chromium.components.browser_ui.widget.gesture.SwipeGestureListener;
@@ -39,7 +39,7 @@ diff --git a/chrome/browser/ui/messages/android/java/src/org/chromium/chrome/bro
import org.chromium.components.browser_ui.widget.text.TemplatePreservingTextView;
import org.chromium.ui.base.WindowAndroid;
import org.chromium.ui.insets.InsetObserver;
-@@ -47,7 +52,7 @@ import org.chromium.ui.interpolators.Interpolators;
+@@ -48,7 +53,7 @@ import org.chromium.ui.interpolators.Interpolators;
// TODO (jianli): Change this class and its methods back to package protected after the offline
// indicator experiment is done.
@NullMarked
@@ -48,7 +48,7 @@ diff --git a/chrome/browser/ui/messages/android/java/src/org/chromium/chrome/bro
private static final int MAX_LINES = 5;
private static final int DEFAULT_LINES = 2;
-@@ -92,6 +97,16 @@ public class SnackbarView implements InsetObserver.WindowInsetObserver {
+@@ -96,6 +101,16 @@ public class SnackbarView implements InsetObserver.WindowInsetObserver {
}
};
@@ -65,7 +65,7 @@ diff --git a/chrome/browser/ui/messages/android/java/src/org/chromium/chrome/bro
/**
* Creates an instance of the {@link SnackbarView}.
*
-@@ -145,21 +160,15 @@ public class SnackbarView implements InsetObserver.WindowInsetObserver {
+@@ -151,21 +166,15 @@ public class SnackbarView implements InsetObserver.WindowInsetObserver {
adjustViewPosition();
}
});
@@ -94,7 +94,7 @@ diff --git a/chrome/browser/ui/messages/android/java/src/org/chromium/chrome/bro
mSnackbarView = mContainerView.findViewById(R.id.snackbar);
mAnimationDuration =
mContainerView.getResources().getInteger(android.R.integer.config_mediumAnimTime);
-@@ -292,6 +301,60 @@ public class SnackbarView implements InsetObserver.WindowInsetObserver {
+@@ -311,6 +320,60 @@ public class SnackbarView implements InsetObserver.WindowInsetObserver {
return mContainerView.isShown();
}
diff --git a/build/patches/Enables-deactivation-of-the-js-debugger-statement.patch b/build/patches/Enables-deactivation-of-the-js-debugger-statement.patch
index 88dca2341..5fba68f1e 100644
--- a/build/patches/Enables-deactivation-of-the-js-debugger-statement.patch
+++ b/build/patches/Enables-deactivation-of-the-js-debugger-statement.patch
@@ -7,7 +7,7 @@ deactivating the debugger javascript statement
License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
---
- .../src/front_end/core/sdk/DebuggerModel.ts | 9 ++++++++
+ .../src/front_end/core/sdk/DebuggerModel.ts | 8 +++++++
.../src/front_end/core/sdk/sdk-meta.ts | 23 +++++++++++++++++++
.../generated/InspectorBackendCommands.ts | 4 ++++
.../front_end/generated/protocol-mapping.d.ts | 4 ++++
@@ -23,41 +23,40 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
v8/src/inspector/v8-debugger-agent-impl.cc | 8 +++++++
v8/src/inspector/v8-debugger-agent-impl.h | 1 +
v8/src/runtime/runtime-debug.cc | 17 ++++++++++++--
- 16 files changed, 101 insertions(+), 5 deletions(-)
+ 16 files changed, 100 insertions(+), 5 deletions(-)
diff --git a/third_party/devtools-frontend/src/front_end/core/sdk/DebuggerModel.ts b/third_party/devtools-frontend/src/front_end/core/sdk/DebuggerModel.ts
--- a/third_party/devtools-frontend/src/front_end/core/sdk/DebuggerModel.ts
+++ b/third_party/devtools-frontend/src/front_end/core/sdk/DebuggerModel.ts
-@@ -185,6 +185,9 @@ export class DebuggerModel extends SDKModel {
- Common.Settings.Settings.instance()
- .moduleSetting('disable-async-stack-traces')
- .addChangeListener(this.asyncStackTracesStateChanged, this);
-+ Common.Settings.Settings.instance()
-+ .moduleSetting('disableDebuggerStatement')
-+ .addChangeListener(this.DebuggerStatementChanged, this);
- Common.Settings.Settings.instance()
- .moduleSetting('breakpoints-active')
- .addChangeListener(this.breakpointsActiveChanged, this);
-@@ -198,6 +201,7 @@ export class DebuggerModel extends SDKModel {
- Common.Settings.Settings.instance()
- .moduleSetting('js-source-maps-enabled')
+@@ -179,6 +179,7 @@ export class DebuggerModel extends SDKModel {
+ settings.moduleSetting('pause-on-uncaught-exception').addChangeListener(this.pauseOnExceptionStateChanged, this);
+ settings.moduleSetting('disable-async-stack-traces').addChangeListener(this.asyncStackTracesStateChanged, this);
+ settings.moduleSetting('breakpoints-active').addChangeListener(this.breakpointsActiveChanged, this);
++ settings.moduleSetting('disableDebuggerStatement').addChangeListener(this.debuggerStatementChanged, this);
+
+ if (!target.suspended()) {
+ void this.enableDebugger();
+@@ -187,6 +188,7 @@ export class DebuggerModel extends SDKModel {
+ this.#sourceMapManager.setEnabled(settings.moduleSetting('js-source-maps-enabled').get());
+ settings.moduleSetting('js-source-maps-enabled')
.addChangeListener(event => this.#sourceMapManager.setEnabled((event.data as boolean)));
-+ this.DebuggerStatementChanged();
++ this.debuggerStatementChanged();
const resourceTreeModel = (target.model(ResourceTreeModel) as ResourceTreeModel);
if (resourceTreeModel) {
-@@ -389,6 +393,11 @@ export class DebuggerModel extends SDKModel {
+@@ -379,6 +381,12 @@ export class DebuggerModel extends SDKModel {
return this.agent.invoke_setAsyncCallStackDepth({maxDepth});
}
-+ private DebuggerStatementChanged(): Promise {
-+ const enabled = !Common.Settings.Settings.instance().moduleSetting('disableDebuggerStatement').get();
++ private debuggerStatementChanged(): Promise {
++ const settings = this.target().targetManager().settings;
++ const enabled = !settings.moduleSetting('disableDebuggerStatement').get();
+ return this.agent.invoke_setDebuggerStatementEnabled({enabled});
+ }
+
private breakpointsActiveChanged(): void {
- void this.agent.invoke_setBreakpointsActive(
- {active: Common.Settings.Settings.instance().moduleSetting('breakpoints-active').get()});
+ const settings = this.target().targetManager().settings;
+ void this.agent.invoke_setBreakpointsActive({active: settings.moduleSetting('breakpoints-active').get()});
diff --git a/third_party/devtools-frontend/src/front_end/core/sdk/sdk-meta.ts b/third_party/devtools-frontend/src/front_end/core/sdk/sdk-meta.ts
--- a/third_party/devtools-frontend/src/front_end/core/sdk/sdk-meta.ts
+++ b/third_party/devtools-frontend/src/front_end/core/sdk/sdk-meta.ts
@@ -101,7 +100,7 @@ diff --git a/third_party/devtools-frontend/src/front_end/core/sdk/sdk-meta.ts b/
diff --git a/third_party/devtools-frontend/src/front_end/generated/InspectorBackendCommands.ts b/third_party/devtools-frontend/src/front_end/generated/InspectorBackendCommands.ts
--- a/third_party/devtools-frontend/src/front_end/generated/InspectorBackendCommands.ts
+++ b/third_party/devtools-frontend/src/front_end/generated/InspectorBackendCommands.ts
-@@ -1548,6 +1548,10 @@ inspectorBackend.registerCommand("Debugger.resume", [{"name": "terminateOnResume
+@@ -1531,6 +1531,10 @@ inspectorBackend.registerCommand("Debugger.resume", [{"name": "terminateOnResume
inspectorBackend.registerCommand("Debugger.searchInContent", [{"name": "scriptId", "type": "string", "optional": false, "description": "Id of the script to search in.", "typeRef": "Runtime.ScriptId"}, {"name": "query", "type": "string", "optional": false, "description": "String to search for.", "typeRef": null}, {"name": "caseSensitive", "type": "boolean", "optional": true, "description": "If true, search is case sensitive.", "typeRef": null}, {"name": "isRegex", "type": "boolean", "optional": true, "description": "If true, treats string parameter as regex.", "typeRef": null}], ["result"], "Searches for given string in script content.");
inspectorBackend.registerCommand("Debugger.setAsyncCallStackDepth", [{"name": "maxDepth", "type": "number", "optional": false, "description": "Maximum depth of async call stacks. Setting to `0` will effectively disable collecting async call stacks (default).", "typeRef": null}], [], "Enables or disables async call stacks tracking.");
inspectorBackend.registerCommand("Debugger.setBlackboxExecutionContexts", [{"name": "uniqueIds", "type": "array", "optional": false, "description": "Array of execution context unique ids for the debugger to ignore.", "typeRef": "string"}], [], "Replace previous blackbox execution contexts with passed ones. Forces backend to skip stepping/pausing in scripts in these execution contexts. VM will try to leave blackboxed script by performing 'step in' several times, finally resorting to 'step out' if unsuccessful.");
@@ -115,7 +114,7 @@ diff --git a/third_party/devtools-frontend/src/front_end/generated/InspectorBack
diff --git a/third_party/devtools-frontend/src/front_end/generated/protocol-mapping.d.ts b/third_party/devtools-frontend/src/front_end/generated/protocol-mapping.d.ts
--- a/third_party/devtools-frontend/src/front_end/generated/protocol-mapping.d.ts
+++ b/third_party/devtools-frontend/src/front_end/generated/protocol-mapping.d.ts
-@@ -5511,6 +5511,10 @@ export namespace ProtocolMapping {
+@@ -5523,6 +5523,10 @@ export namespace ProtocolMapping {
paramsType: [Protocol.Debugger.SetBlackboxExecutionContextsRequest];
returnType: void;
};
@@ -129,7 +128,7 @@ diff --git a/third_party/devtools-frontend/src/front_end/generated/protocol-mapp
diff --git a/third_party/devtools-frontend/src/front_end/generated/protocol-proxy-api.d.ts b/third_party/devtools-frontend/src/front_end/generated/protocol-proxy-api.d.ts
--- a/third_party/devtools-frontend/src/front_end/generated/protocol-proxy-api.d.ts
+++ b/third_party/devtools-frontend/src/front_end/generated/protocol-proxy-api.d.ts
-@@ -4957,6 +4957,8 @@ declare namespace ProtocolProxyApi {
+@@ -4987,6 +4987,8 @@ declare namespace ProtocolProxyApi {
*/
invoke_setBlackboxExecutionContexts(params: Protocol.Debugger.SetBlackboxExecutionContextsRequest): Promise;
@@ -141,7 +140,7 @@ diff --git a/third_party/devtools-frontend/src/front_end/generated/protocol-prox
diff --git a/third_party/devtools-frontend/src/front_end/generated/protocol.ts b/third_party/devtools-frontend/src/front_end/generated/protocol.ts
--- a/third_party/devtools-frontend/src/front_end/generated/protocol.ts
+++ b/third_party/devtools-frontend/src/front_end/generated/protocol.ts
-@@ -21087,6 +21087,10 @@ export namespace Debugger {
+@@ -20945,6 +20945,10 @@ export namespace Debugger {
uniqueIds: string[];
}
@@ -155,7 +154,7 @@ diff --git a/third_party/devtools-frontend/src/front_end/generated/protocol.ts b
diff --git a/third_party/devtools-frontend/src/third_party/blink/public/devtools_protocol/browser_protocol.json b/third_party/devtools-frontend/src/third_party/blink/public/devtools_protocol/browser_protocol.json
--- a/third_party/devtools-frontend/src/third_party/blink/public/devtools_protocol/browser_protocol.json
+++ b/third_party/devtools-frontend/src/third_party/blink/public/devtools_protocol/browser_protocol.json
-@@ -31997,8 +31997,17 @@
+@@ -31482,8 +31482,17 @@
"$ref": "WasmDisassemblyChunk"
}
]
@@ -175,7 +174,7 @@ diff --git a/third_party/devtools-frontend/src/third_party/blink/public/devtools
"name": "nextWasmDisassemblyChunk",
"description": "Disassemble the next chunk of lines for the module corresponding to the\nstream. If disassembly is complete, this API will invalidate the streamId\nand return an empty chunk. Any subsequent calls for the now invalid stream\nwill return errors.",
"experimental": true,
-@@ -35188,4 +35197,4 @@
+@@ -34673,4 +34682,4 @@
]
}
]
@@ -199,7 +198,7 @@ diff --git a/v8/include/js_protocol.pdl b/v8/include/js_protocol.pdl
diff --git a/v8/src/common/message-template.h b/v8/src/common/message-template.h
--- a/v8/src/common/message-template.h
+++ b/v8/src/common/message-template.h
-@@ -778,6 +778,7 @@ namespace internal {
+@@ -784,6 +784,7 @@ namespace internal {
/* AggregateError */ \
T(AllPromisesRejected, "All promises were rejected") \
T(CannotDeepFreezeObject, "Cannot DeepFreeze object of type %") \
@@ -210,7 +209,7 @@ diff --git a/v8/src/common/message-template.h b/v8/src/common/message-template.h
diff --git a/v8/src/debug/debug-interface.cc b/v8/src/debug/debug-interface.cc
--- a/v8/src/debug/debug-interface.cc
+++ b/v8/src/debug/debug-interface.cc
-@@ -1090,6 +1090,11 @@ void SetAsyncEventDelegate(Isolate* v8_isolate, AsyncEventDelegate* delegate) {
+@@ -1101,6 +1101,11 @@ void SetAsyncEventDelegate(Isolate* v8_isolate, AsyncEventDelegate* delegate) {
reinterpret_cast(v8_isolate)->set_async_event_delegate(delegate);
}
@@ -260,7 +259,7 @@ diff --git a/v8/src/debug/debug.h b/v8/src/debug/debug.h
diff --git a/v8/src/execution/messages.cc b/v8/src/execution/messages.cc
--- a/v8/src/execution/messages.cc
+++ b/v8/src/execution/messages.cc
-@@ -488,6 +488,7 @@ MaybeHandle MessageFormatter::TryFormat(
+@@ -495,6 +495,7 @@ MaybeHandle MessageFormatter::TryFormat(
MessageTemplate::kUndefinedOrNullToObject,
MessageTemplate::kUnexpectedStrictReserved,
MessageTemplate::kUnexpectedTokenIdentifier,
@@ -271,7 +270,7 @@ diff --git a/v8/src/execution/messages.cc b/v8/src/execution/messages.cc
diff --git a/v8/src/inspector/v8-debugger-agent-impl.cc b/v8/src/inspector/v8-debugger-agent-impl.cc
--- a/v8/src/inspector/v8-debugger-agent-impl.cc
+++ b/v8/src/inspector/v8-debugger-agent-impl.cc
-@@ -1697,6 +1697,14 @@ Response V8DebuggerAgentImpl::setAsyncCallStackDepth(int depth) {
+@@ -1703,6 +1703,14 @@ Response V8DebuggerAgentImpl::setAsyncCallStackDepth(int depth) {
return Response::Success();
}
diff --git a/build/patches/Enables-keyword-based-site-search-on-Android-devices.patch b/build/patches/Enables-keyword-based-site-search-on-Android-devices.patch
index 32bc496cc..f36fce91a 100644
--- a/build/patches/Enables-keyword-based-site-search-on-Android-devices.patch
+++ b/build/patches/Enables-keyword-based-site-search-on-Android-devices.patch
@@ -13,7 +13,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
diff --git a/components/omnibox/common/android/java/src/org/chromium/components/omnibox/OmniboxFeatures.java b/components/omnibox/common/android/java/src/org/chromium/components/omnibox/OmniboxFeatures.java
--- a/components/omnibox/common/android/java/src/org/chromium/components/omnibox/OmniboxFeatures.java
+++ b/components/omnibox/common/android/java/src/org/chromium/components/omnibox/OmniboxFeatures.java
-@@ -125,7 +125,7 @@ public class OmniboxFeatures {
+@@ -128,7 +128,7 @@ public class OmniboxFeatures {
newFlag(OmniboxFeatureList.POST_DELAYED_TASK_FOCUS_TAB, FeatureState.ENABLED_IN_PROD);
public static final CachedFlag sOmniboxSiteSearch =
diff --git a/build/patches/Experimental-support-for-extensions-on-Android.patch b/build/patches/Experimental-support-for-extensions-on-Android.patch
index b71e4633a..033569efd 100644
--- a/build/patches/Experimental-support-for-extensions-on-Android.patch
+++ b/build/patches/Experimental-support-for-extensions-on-Android.patch
@@ -14,11 +14,11 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
---
android_webview/BUILD.gn | 2 +-
.../src/partition_alloc/BUILD.gn | 2 +
- base/android/device_info.cc | 8 ++-
+ base/android/device_info.cc | 8 +-
base/android/device_info.h | 3 +-
- .../src/org/chromium/base/DeviceInfo.java | 8 ++-
+ .../src/org/chromium/base/DeviceInfo.java | 8 +-
build/BUILD.gn | 2 +-
- .../java/templates/BuildConfig.template | 8 ++-
+ .../java/templates/BuildConfig.template | 8 +-
build/config/android/rules.gni | 4 +-
build/config/chrome_build.gni | 7 +-
build/config/compiler/BUILD.gn | 2 +-
@@ -30,66 +30,75 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
.../java/res/layout/manage_space_activity.xml | 14 +++-
.../java/res/xml/developer_preferences.xml | 6 ++
.../browser/ChromeBaseAppCompatActivity.java | 2 +-
+ .../chrome/browser/ChromeTabbedActivity.java | 2 +-
.../chrome/browser/app/ChromeActivity.java | 2 +-
.../AppMenuPropertiesDelegateImpl.java | 2 +-
.../settings/AppearanceSettingsFragment.java | 2 +-
+ .../layouts/LayoutManagerChrome.java | 2 +-
.../overlays/strip/StripLayoutUtils.java | 2 +-
+ .../IncognitoCustomTabIntentDataProvider.java | 4 +
.../DesktopSiteSettingsIphController.java | 2 +-
+ .../ExternalNavigationDelegateImpl.java | 3 +
.../browser/multiwindow/MultiWindowUtils.java | 2 +-
.../ChromeSiteSettingsDelegate.java | 2 +-
- .../site_settings/ManageSpaceActivity.java | 20 ++++++
+ .../site_settings/ManageSpaceActivity.java | 20 +++++
...InterceptNavigationDelegateClientImpl.java | 2 +-
.../browser/tab/RequestDesktopUtils.java | 2 +-
.../TabbedAppMenuPropertiesDelegate.java | 2 +-
.../tabbed_mode/TabbedRootUiCoordinator.java | 4 +-
- .../browser/tasks/ReturnToChromeUtil.java | 2 +-
.../browser/toolbar/ToolbarManager.java | 2 +-
chrome/app/extensions_strings.grdp | 7 ++
chrome/app/theme/theme_resources.grd | 4 +-
- chrome/browser/BUILD.gn | 6 +-
- chrome/browser/about_flags.cc | 4 ++
+ chrome/browser/BUILD.gn | 4 +-
+ chrome/browser/about_flags.cc | 4 +
...chrome_selection_dropdown_menu_delegate.cc | 4 +-
.../bookmarks/bar/BookmarkBarUtils.java | 6 +-
.../bar/BookmarkBarVisibilityProvider.java | 2 +-
.../BrowserControlsUtils.java | 2 +-
chrome/browser/browser_process_impl.cc | 2 +-
- chrome/browser/chrome_browser_field_trials.cc | 66 +++++++++----------
+ chrome/browser/chrome_browser_field_trials.cc | 76 +++++++++----------
.../chrome_browser_interface_binders_webui.cc | 4 +-
.../browser/chrome_content_browser_client.cc | 4 +-
chrome/browser/devtools/BUILD.gn | 2 +-
+ chrome/browser/download/BUILD.gn | 2 +-
.../chrome_download_manager_delegate.cc | 2 +-
.../download_offline_content_provider.cc | 4 +-
- chrome/browser/extensions/BUILD.gn | 12 +++-
+ chrome/browser/extensions/BUILD.gn | 3 +-
.../chrome_extensions_api_client_android.cc | 2 +-
.../extensions/api/identity/web_auth_flow.cc | 6 +-
.../extensions/api/identity/web_auth_flow.h | 4 +-
.../browser/extensions/api/tabs/tabs_api.cc | 3 +
- .../extensions/api/tabs/tabs_event_router.cc | 22 ++++++-
- .../browser_extension_window_controller.cc | 19 +++++-
+ .../extensions/api/tabs/tabs_event_router.cc | 22 +++++-
+ .../browser_extension_window_controller.cc | 19 ++++-
.../browser_extension_window_controller.h | 6 +-
- .../extensions/extension_management.cc | 8 ++-
+ .../extensions/extension_management.cc | 8 +-
.../browser/extensions/extension_management.h | 2 +-
- chrome/browser/extensions/extension_util.cc | 11 ++++
+ .../browser/extensions/extension_tab_util.cc | 9 ++-
+ chrome/browser/extensions/extension_util.cc | 11 +++
.../chrome/browser/feed/FeedFeatures.java | 2 +-
.../feedback/DeviceInfoFeedbackSource.java | 2 +-
+ chrome/browser/finds/core/finds_tab_helper.cc | 2 +-
.../browser/flags/ChromeFeatureList.java | 6 +-
+ chrome/browser/glic/public/features.cc | 2 +-
+ .../glic/service/glic_instance_impl.cc | 2 +-
.../browser/incognito/IncognitoUtils.java | 2 +-
- .../magic_stack/HomeModulesConfigManager.java | 2 +-
chrome/browser/media/router/BUILD.gn | 4 +-
.../browser/media/router/discovery/BUILD.gn | 2 +-
.../media/router/media_router_feature.cc | 10 +--
.../media/router/media_router_feature.h | 2 +-
.../media/webrtc/webrtc_event_log_manager.cc | 4 +-
+ .../NtpCustomizationUtils.java | 2 +-
.../browser/open_in_app/OpenInAppUtils.java | 2 +-
.../policy_value_and_status_aggregator.cc | 2 +-
...hrome_browser_main_extra_parts_profiles.cc | 2 +-
- .../profiles/off_the_record_profile_impl.cc | 9 ++-
+ .../profiles/off_the_record_profile_impl.cc | 5 +-
chrome/browser/profiles/profile_destroyer.cc | 2 +-
chrome/browser/resources/BUILD.gn | 2 +-
chrome/browser/resources/discards/BUILD.gn | 2 +-
.../resources/extensions/detail_view.css | 6 ++
- .../resources/extensions/extensions.html | 8 ++-
+ .../resources/extensions/extensions.html | 8 +-
.../resources/extensions/item_list.css | 10 +++
+ .../browser/resources/extensions/manager.css | 4 +
.../resources/extensions/toolbar.html.ts | 7 --
.../sessions/session_restore_android.cc | 4 +-
...omeProvidedSharingOptionsProviderBase.java | 4 +-
@@ -97,39 +106,39 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
chrome/browser/startup_data.h | 6 +-
.../common/task_manager_features.cc | 2 +-
chrome/browser/ui/BUILD.gn | 4 +-
- .../browser/ui/android/context_menu_helper.cc | 12 +++-
+ .../browser/ui/android/context_menu_helper.cc | 12 ++-
.../browser/ui/android/context_menu_helper.h | 4 +-
.../desktop_site/DesktopSiteUtils.java | 4 +-
.../TopControlsLockCoordinator.java | 2 +-
chrome/browser/ui/android/extensions/BUILD.gn | 4 +-
- .../extensions/extension_actions_bridge.cc | 23 +++++++
+ .../extensions/extension_actions_bridge.cc | 23 ++++++
.../extensions/extension_actions_bridge.h | 1 +
.../extensions/extensions_toolbar_android.cc | 1 +
- .../java/res/layout/extensions_menu.xml | 1 +
- .../res/layout/extensions_menu_footer.xml | 4 +-
+ .../res/layout/extensions_menu_footer.xml | 3 +-
.../extensions/java/res/values/dimens.xml | 1 +
.../ui/extensions/ExtensionActionsBridge.java | 6 ++
.../extensions/windowing/internal/BUILD.gn | 2 +-
- .../extension_window_controller_bridge.cc | 17 ++---
+ .../extension_window_controller_bridge.cc | 17 +++--
.../extension_window_controller_bridge.h | 2 +-
- .../Enable-extensions-Android.grdp | 15 +++++
+ .../Enable-extensions-Android.grdp | 15 ++++
.../Extensions-Android.grdp | 9 +++
.../browser/ui/android/tab_model/tab_model.cc | 2 +-
.../android/tab_model/tab_model_test_helper.h | 2 +-
.../toolbar/java/res/layout/toolbar_phone.xml | 6 ++
- .../ExtensionToolbarCoordinatorImpl.java | 12 +++-
- .../extensions/ExtensionsMenuCoordinator.java | 8 ++-
- .../ExtensionsMenuItemProperties.java | 5 +-
+ .../extensions/ExtensionsMenuCoordinator.java | 8 +-
+ .../ExtensionsMenuItemProperties.java | 4 +
.../ExtensionsMenuItemViewBinder.java | 2 +
.../extensions/ExtensionsMenuMediator.java | 9 ++-
+ .../ExtensionsToolbarCoordinatorImpl.java | 9 ++-
chrome/browser/ui/browser_window/BUILD.gn | 2 +-
.../ChromeAndroidTaskTrackerFactory.java | 2 +-
chrome/browser/ui/prefs/BUILD.gn | 4 +-
- chrome/browser/ui/prefs/prefs_tab_helper.cc | 8 +--
+ chrome/browser/ui/prefs/prefs_tab_helper.cc | 8 +-
.../browser/ui/webui/chrome_web_ui_configs.cc | 4 +-
.../browser/ui/webui/current_channel_logo.cc | 3 +-
- .../browser/ui/webui/discards/discards_ui.cc | 8 +--
+ .../browser/ui/webui/discards/discards_ui.cc | 8 +-
chrome/chrome_paks.gni | 2 +-
+ chrome/common/chrome_features.cc | 2 +-
chrome/common/chrome_switches.cc | 2 +-
chrome/common/chrome_switches.h | 2 +-
chrome/common/extensions/api/api_sources.gni | 7 ++
@@ -137,15 +146,16 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
chrome/common/webui_url_constants.h | 2 +-
.../sandbox_status_extension_android.cc | 3 +-
.../sandbox_status_extension_android.h | 1 +
- chrome/test/BUILD.gn | 18 ++---
+ chrome/test/BUILD.gn | 22 +++---
chrome/version.gni | 4 +-
.../core/browser/host_content_settings_map.cc | 6 ++
.../embedder_support/view/ContentView.java | 2 +-
.../embedder_support/user_agent_utils.cc | 14 ++--
+ components/local_state/local_state_utils.cc | 2 +-
.../browser/android/media_router_android.cc | 2 +-
.../browser/android/media_router_android.h | 2 +-
.../media_router/browser/media_router.h | 4 +-
- .../policy/CombinedPolicyProvider.java | 8 +--
+ .../policy/CombinedPolicyProvider.java | 8 +-
.../components/policy/PolicyCacheUpdater.java | 2 +-
.../android/policy_cache_updater_android.cc | 4 +-
.../cloud/user_policy_signin_service_base.cc | 2 +-
@@ -164,15 +174,15 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
.../SelectionPopupControllerImpl.java | 5 ++
content/public/common/content_features.cc | 4 +-
.../render_frame_media_playback_options.cc | 2 +-
- .../about_flags_cc/Extensions-Android.inc | 12 ++++
- .../about_flags_cc/Webstore-protection.inc | 8 +--
+ .../about_flags_cc/Extensions-Android.inc | 12 +++
+ .../about_flags_cc/Webstore-protection.inc | 8 +-
...ntal-support-for-extensions-on-Android.inc | 1 +
extensions/browser/BUILD.gn | 4 +-
...browser_context_keyed_service_factories.cc | 2 +-
extensions/browser/api/system_cpu/BUILD.gn | 2 +-
.../api/web_request/permission_helper.cc | 2 +-
- extensions/browser/extension_frame_host.cc | 8 +++
- extensions/browser/extension_host.cc | 24 ++++++-
+ extensions/browser/extension_frame_host.cc | 8 ++
+ extensions/browser/extension_host.cc | 24 +++++-
extensions/buildflags/BUILD.gn | 3 +-
extensions/buildflags/buildflags.gni | 4 +-
extensions/common/api/schema.gni | 2 +-
@@ -187,13 +197,14 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
.../chromium/media/AudioManagerAndroid.java | 2 +-
net/features.gni | 4 +-
skia/features.gni | 2 +-
- third_party/blink/common/features.cc | 2 +-
+ third_party/blink/common/features.cc | 4 +-
.../renderer/modules/modules_initializer.cc | 4 +-
+ third_party/libvpx/BUILD.gn | 2 +-
tools/grit/grit_args.gni | 3 +-
.../cpp_bundle_generator.py | 2 +-
.../chromium/ui/base/SelectFileDialog.java | 2 +-
.../ui/widget/PopupSpecCalculator.java | 9 ++-
- .../ui/test/util/UiDisableIfSkipCheck.java | 8 +--
+ .../ui/test/util/UiDisableIfSkipCheck.java | 8 +-
.../chromium/ui/test/util/UiRestriction.java | 4 +-
ui/base/accelerators/command.cc | 2 +-
ui/base/device_form_factor_android.cc | 2 +-
@@ -205,7 +216,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
ui/webui/resources/cr_elements/BUILD.gn | 2 +-
.../cr_elements/cr_toolbar/cr_toolbar.css | 3 +
ui/webui/resources/css/BUILD.gn | 2 +-
- 193 files changed, 642 insertions(+), 309 deletions(-)
+ 204 files changed, 657 insertions(+), 325 deletions(-)
create mode 100644 chrome/browser/ui/android/strings/cromite_android_chrome_strings_grd/Enable-extensions-Android.grdp
create mode 100644 chrome/browser/ui/android/strings/cromite_android_chrome_strings_grd/Extensions-Android.grdp
create mode 100644 cromite_flags/chrome/browser/about_flags_cc/Extensions-Android.inc
@@ -214,7 +225,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
diff --git a/android_webview/BUILD.gn b/android_webview/BUILD.gn
--- a/android_webview/BUILD.gn
+++ b/android_webview/BUILD.gn
-@@ -1316,7 +1316,7 @@ declare_args() {
+@@ -1315,7 +1315,7 @@ declare_args() {
# logic more easily on an emulator, so the decision to use the arm64
# orderfile for x64 (instead of arm32) is somewhat arbitrary. We just
# needed to use some real orderfile.
@@ -226,15 +237,15 @@ diff --git a/android_webview/BUILD.gn b/android_webview/BUILD.gn
diff --git a/base/allocator/partition_allocator/src/partition_alloc/BUILD.gn b/base/allocator/partition_allocator/src/partition_alloc/BUILD.gn
--- a/base/allocator/partition_allocator/src/partition_alloc/BUILD.gn
+++ b/base/allocator/partition_allocator/src/partition_alloc/BUILD.gn
-@@ -170,6 +170,8 @@ pa_buildflag_header("buildflags") {
+@@ -171,6 +171,8 @@ pa_buildflag_header("buildflags") {
"HAS_64_BIT_POINTERS=$has_64_bit_pointers",
"HAS_MEMORY_TAGGING=$has_memory_tagging",
"IS_ANDROID=$is_android",
+ "IS_DESKTOP_ANDROID_FALSE=false",
+ "IS_DESKTOP_ANDROID_CROMITE=$is_desktop_android_cromite",
"IS_CASTOS=$is_castos",
- "IS_CAST_ANDROID=$is_cast_android",
"IS_CHROMEOS=$is_chromeos",
+ "IS_DEBUG=$partition_alloc_is_debug",
diff --git a/base/android/device_info.cc b/base/android/device_info.cc
--- a/base/android/device_info.cc
+++ b/base/android/device_info.cc
@@ -279,7 +290,7 @@ diff --git a/base/android/device_info.h b/base/android/device_info.h
diff --git a/base/android/java/src/org/chromium/base/DeviceInfo.java b/base/android/java/src/org/chromium/base/DeviceInfo.java
--- a/base/android/java/src/org/chromium/base/DeviceInfo.java
+++ b/base/android/java/src/org/chromium/base/DeviceInfo.java
-@@ -143,10 +143,14 @@ public final class DeviceInfo {
+@@ -152,10 +152,14 @@ public final class DeviceInfo {
return getInstance().mIDeviceInfo.isFoldable;
}
@@ -295,7 +306,7 @@ diff --git a/base/android/java/src/org/chromium/base/DeviceInfo.java b/base/andr
public static int getVulkanDeqpLevel() {
return getInstance().mIDeviceInfo.vulkanDeqpLevel;
}
-@@ -308,7 +312,7 @@ public final class DeviceInfo {
+@@ -320,7 +324,7 @@ public final class DeviceInfo {
mIDeviceInfo.isDesktop =
(sIsDesktopForTesting != null)
? sIsDesktopForTesting
@@ -338,7 +349,7 @@ diff --git a/build/android/java/templates/BuildConfig.template b/build/android/j
diff --git a/build/config/android/rules.gni b/build/config/android/rules.gni
--- a/build/config/android/rules.gni
+++ b/build/config/android/rules.gni
-@@ -2047,8 +2047,8 @@ if (!is_robolectric && enable_java_templates) {
+@@ -2048,8 +2048,8 @@ if (!is_robolectric && enable_java_templates) {
} else {
defines += [ "_LOGTAG_PREFIX=cr_" ]
}
@@ -416,7 +427,7 @@ diff --git a/cc/resources/ui_resource_bitmap.cc b/cc/resources/ui_resource_bitma
diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
--- a/chrome/android/BUILD.gn
+++ b/chrome/android/BUILD.gn
-@@ -981,7 +981,7 @@ if (_is_default_toolchain) {
+@@ -991,7 +991,7 @@ if (_is_default_toolchain) {
"//chrome/browser/password_entry_edit/android/internal:java",
]
@@ -425,7 +436,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
deps +=
[ "//chrome/browser/ui/android/extensions/windowing/internal:java" ]
} else {
-@@ -2367,7 +2367,7 @@ if (_is_default_toolchain) {
+@@ -2394,7 +2394,7 @@ if (_is_default_toolchain) {
"//components/embedder_support/android:virtual_structure_javatests",
]
@@ -449,7 +460,7 @@ diff --git a/chrome/android/chrome_public_apk_tmpl.gni b/chrome/android/chrome_p
diff --git a/chrome/android/java/AndroidManifest.xml b/chrome/android/java/AndroidManifest.xml
--- a/chrome/android/java/AndroidManifest.xml
+++ b/chrome/android/java/AndroidManifest.xml
-@@ -558,9 +558,6 @@ by a child template that "extends" this file.
+@@ -550,9 +550,6 @@ by a child template that "extends" this file.
android:theme="@style/Theme.Chromium.TabbedMode"
android:exported="true"
android:launchMode="singleTask"
@@ -485,7 +496,7 @@ diff --git a/chrome/android/java/res/layout/manage_space_activity.xml b/chrome/a
diff --git a/chrome/android/java/res/xml/developer_preferences.xml b/chrome/android/java/res/xml/developer_preferences.xml
--- a/chrome/android/java/res/xml/developer_preferences.xml
+++ b/chrome/android/java/res/xml/developer_preferences.xml
-@@ -44,4 +44,10 @@ found in the LICENSE file.
+@@ -49,4 +49,10 @@ found in the LICENSE file.
android:key="pixel_perfect_mode"
android:title="@string/android_pixel_perfect_mode_title"
android:summary="@string/android_pixel_perfect_mode_summary" />
@@ -508,6 +519,18 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeBaseAppCo
applySingleThemeOverlay(R.style.ThemeOverlay_BrowserUI_DesktopDensity);
}
+diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
+--- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
++++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
+@@ -2167,7 +2167,7 @@ public class ChromeTabbedActivity extends ChromeActivity implements PreAttachInt
+
+ @Override
+ public boolean shouldPersistAcrossReboots() {
+- return DeviceInfo.isDesktop() && ChromeFeatureList.sPersistAcrossReboots.isEnabled();
++ return DeviceInfo.isDesktopFalse() && ChromeFeatureList.sPersistAcrossReboots.isEnabled();
+ }
+
+ private void handleDebugIntent(Intent intent) {
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
@@ -523,7 +546,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/AppMenuPropertiesDelegateImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/AppMenuPropertiesDelegateImpl.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/AppMenuPropertiesDelegateImpl.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/AppMenuPropertiesDelegateImpl.java
-@@ -1195,7 +1195,7 @@ public abstract class AppMenuPropertiesDelegateImpl implements AppMenuProperties
+@@ -1225,7 +1225,7 @@ public abstract class AppMenuPropertiesDelegateImpl implements AppMenuProperties
&& !shouldShowReaderModePrefs(currentTab)
&& currentTab != null
&& currentTab.getWebContents() != null
@@ -544,18 +567,50 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/appearance/sett
initBookmarkBarPref();
initToolbarShortcutPref();
initUiThemePref();
+diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/LayoutManagerChrome.java b/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/LayoutManagerChrome.java
+--- a/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/LayoutManagerChrome.java
++++ b/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/LayoutManagerChrome.java
+@@ -523,7 +523,7 @@ public class LayoutManagerChrome extends LayoutManagerImpl implements Accessibil
+ // proper solution that handles all formfactors.
+ if (ChromeFeatureList.isEnabled(
+ ChromeFeatureList.ENABLE_TOOLBAR_SWIPE_ON_NON_DESKTOP_LFF)
+- ? DeviceInfo.isDesktop()
++ ? DeviceInfo.isDesktopCromite()
+ : DeviceFormFactor.isNonMultiDisplayContextOnTablet(mHost.getContext())) {
+ return false;
+ }
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/strip/StripLayoutUtils.java b/chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/strip/StripLayoutUtils.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/strip/StripLayoutUtils.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/strip/StripLayoutUtils.java
-@@ -415,7 +415,7 @@ public class StripLayoutUtils {
+@@ -415,6 +415,6 @@ public class StripLayoutUtils {
public static boolean shouldApplyMoreDensity() {
return ChromeFeatureList.sTabStripDensityChangeAndroid.isEnabled()
- && DeviceInfo.isDesktop();
+ && DeviceInfo.isDesktopFalse();
}
+ }
+diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/IncognitoCustomTabIntentDataProvider.java b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/IncognitoCustomTabIntentDataProvider.java
+--- a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/IncognitoCustomTabIntentDataProvider.java
++++ b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/IncognitoCustomTabIntentDataProvider.java
+@@ -41,6 +41,7 @@ import org.chromium.chrome.browser.flags.ChromeFeatureList;
+ import org.chromium.chrome.browser.flags.CustomTabProfileType;
+ import org.chromium.chrome.browser.util.WindowFeatures;
+ import org.chromium.components.browser_ui.widget.TintedDrawable;
++import org.chromium.components.embedder_support.util.UrlConstants;
+
+ import java.util.ArrayList;
+ import java.util.List;
+@@ -237,6 +238,9 @@ public class IncognitoCustomTabIntentDataProvider extends BrowserServicesIntentD
+ }
- // Testing booleans
+ public static boolean isValidIncognitoIntent(Intent intent, boolean recordMetrics) {
++ if (IntentHandler.getUrlFromIntent(intent).startsWith(UrlConstants.CHROME_EXTENSIONS_URL)) {
++ return false;
++ }
+ if (ContextUtils.getAppSharedPreferences()
+ .getBoolean(PrivacySettings.PREF_OPEN_EXTERNAL_LINKS_INCOGNITO, false)) {
+ return true;
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/desktop_site/DesktopSiteSettingsIphController.java b/chrome/android/java/src/org/chromium/chrome/browser/desktop_site/DesktopSiteSettingsIphController.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/desktop_site/DesktopSiteSettingsIphController.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/desktop_site/DesktopSiteSettingsIphController.java
@@ -568,10 +623,23 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/desktop_site/De
return new DesktopSiteSettingsIphController(
windowAndroid,
activityTabProvider,
+diff --git a/chrome/android/java/src/org/chromium/chrome/browser/externalnav/ExternalNavigationDelegateImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/externalnav/ExternalNavigationDelegateImpl.java
+--- a/chrome/android/java/src/org/chromium/chrome/browser/externalnav/ExternalNavigationDelegateImpl.java
++++ b/chrome/android/java/src/org/chromium/chrome/browser/externalnav/ExternalNavigationDelegateImpl.java
+@@ -294,6 +294,9 @@ public class ExternalNavigationDelegateImpl implements ExternalNavigationDelegat
+
+ @Override
+ public @Nullable Intent createIntentToPreventIncognitoAccess(GURL url) {
++ if (url.getSpec().startsWith(UrlConstants.CHROME_EXTENSIONS_URL)) {
++ return null;
++ }
+ if (!url.getSpec().startsWith(UrlConstants.CHROME_EXTENSIONS_URL)) {
+ return null;
+ }
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/multiwindow/MultiWindowUtils.java b/chrome/android/java/src/org/chromium/chrome/browser/multiwindow/MultiWindowUtils.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/multiwindow/MultiWindowUtils.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/multiwindow/MultiWindowUtils.java
-@@ -225,7 +225,7 @@ public class MultiWindowUtils implements ActivityStateListener {
+@@ -216,7 +216,7 @@ public class MultiWindowUtils implements ActivityStateListener {
return TabWindowManager.MAX_SELECTORS_LEGACY;
}
@@ -670,7 +738,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/RequestDesk
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedAppMenuPropertiesDelegate.java b/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedAppMenuPropertiesDelegate.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedAppMenuPropertiesDelegate.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedAppMenuPropertiesDelegate.java
-@@ -1004,7 +1004,7 @@ public class TabbedAppMenuPropertiesDelegate extends AppMenuPropertiesDelegateIm
+@@ -1023,7 +1023,7 @@ public class TabbedAppMenuPropertiesDelegate extends AppMenuPropertiesDelegateIm
// 2. The current tab is a PDF page.
NativePage nativePage = currentTab.getNativePage();
boolean isPdf = nativePage != null && nativePage.isPdf();
@@ -682,7 +750,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/Tab
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java b/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java
-@@ -650,7 +650,7 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator {
+@@ -671,7 +671,7 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator {
});
mCrossDeviceSettingImporter =
@@ -691,7 +759,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/Tab
? null
: new CrossDeviceSettingImporter(
activityLifecycleDispatcher,
-@@ -2224,7 +2224,7 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator {
+@@ -2351,7 +2351,7 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator {
} else if (id == R.id.toggle_bookmark_bar) {
// isActivityStateBookmarkBarCompatible already checks the flag sAndroidBookmarkBar.
if (BookmarkBarUtils.isActivityStateBookmarkBarCompatible(mActivity)) {
@@ -700,22 +768,10 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/Tab
// Desktop uses the synced UserPref.
BookmarkBarUtils.toggleUserPrefsShowBookmarksBar(
mProfileSupplier.get(), /* fromKeyboardShortcut= */ true);
-diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tasks/ReturnToChromeUtil.java b/chrome/android/java/src/org/chromium/chrome/browser/tasks/ReturnToChromeUtil.java
---- a/chrome/android/java/src/org/chromium/chrome/browser/tasks/ReturnToChromeUtil.java
-+++ b/chrome/android/java/src/org/chromium/chrome/browser/tasks/ReturnToChromeUtil.java
-@@ -133,7 +133,7 @@ public final class ReturnToChromeUtil {
- PersistableBundle persistableBundle,
- ChromeInactivityTracker inactivityTracker) {
- // If the device is android desktop, don't show a NTP homepage.
-- if (ChromeFeatureList.sNtpSimplification.isEnabled() && DeviceInfo.isDesktop()) {
-+ if (ChromeFeatureList.sNtpSimplification.isEnabled() && DeviceInfo.isDesktopFalse()) {
- return false;
- }
-
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/ToolbarManager.java b/chrome/android/java/src/org/chromium/chrome/browser/toolbar/ToolbarManager.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/ToolbarManager.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/toolbar/ToolbarManager.java
-@@ -2391,7 +2391,7 @@ public class ToolbarManager
+@@ -2526,7 +2526,7 @@ public class ToolbarManager
mActivityTabProvider.asObservable(),
mTabCreatorManager.getTabCreator(false),
getBrowsingModeThemeColorProvider(),
@@ -723,7 +779,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/Toolbar
+ mToolbarLayout,
contextMenuPopulatorFactory,
selectionDropdownMenuDelegate);
- if (mExtensionToolbarCoordinator != null) {
+ if (mExtensionsToolbarCoordinator != null) {
diff --git a/chrome/app/extensions_strings.grdp b/chrome/app/extensions_strings.grdp
--- a/chrome/app/extensions_strings.grdp
+++ b/chrome/app/extensions_strings.grdp
@@ -768,16 +824,7 @@ diff --git a/chrome/app/theme/theme_resources.grd b/chrome/app/theme/theme_resou
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
--- a/chrome/browser/BUILD.gn
+++ b/chrome/browser/BUILD.gn
-@@ -7466,7 +7466,7 @@ static_library("browser") {
- deps += [ "//media/mojo/mojom:remoting" ]
- }
-
-- if (is_android && !enable_desktop_android_extensions) {
-+ if (is_android && !enable_desktop_android_extensions_cromite) {
- sources += [ "download/download_crx_util_android.cc" ]
- }
-
-@@ -7810,7 +7810,7 @@ static_library("browser") {
+@@ -7267,7 +7267,7 @@ static_library("browser") {
# TODO(https://crbug.com/356905053): Add more dependencies here and merge this
# block with the `enable_extensions` block above.
@@ -786,7 +833,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
sources += [
# TODO(https://crbug.com/356905053): These files are temporary workarounds
# allow for a lightweight extensions runtime in desktop-android builds.
-@@ -8590,7 +8590,7 @@ static_library("browser_generated_files") {
+@@ -7894,7 +7894,7 @@ group("browser_generated_files") {
[ "//chrome/browser/ui/webui/new_tab_page/foo:mojo_bindings" ]
}
}
@@ -798,7 +845,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
--- a/chrome/browser/about_flags.cc
+++ b/chrome/browser/about_flags.cc
-@@ -385,6 +385,10 @@
+@@ -389,6 +389,10 @@
#include "extensions/common/switches.h"
#endif // BUILDFLAG(ENABLE_EXTENSIONS_CORE)
@@ -885,7 +932,7 @@ diff --git a/chrome/browser/browser_controls/android/java/src/org/chromium/chrom
diff --git a/chrome/browser/browser_process_impl.cc b/chrome/browser/browser_process_impl.cc
--- a/chrome/browser/browser_process_impl.cc
+++ b/chrome/browser/browser_process_impl.cc
-@@ -396,7 +396,7 @@ void BrowserProcessImpl::Init() {
+@@ -399,7 +399,7 @@ void BrowserProcessImpl::Init() {
// TODO(devlin): Move this block out of BrowserProcessImpl to somewhere like
// //chrome/browser/initialize_extensions_browser_client, analogous to
// `EnsureExtensionsClientInitialized()` above?
@@ -915,7 +962,7 @@ diff --git a/chrome/browser/chrome_browser_field_trials.cc b/chrome/browser/chro
// If enabled, render processes associated only with tabs in unfocused windows
// will be downgraded to "vis" priority, rather than remaining at "fg". This
-@@ -163,23 +163,23 @@ void ChromeBrowserFieldTrials::RegisterFeatureOverrides(
+@@ -163,37 +163,37 @@ void ChromeBrowserFieldTrials::RegisterFeatureOverrides(
// TODO(crbug.com/426461170): Remove once we enable this feature for all form
// factors. Currently we have no conclusion whether to enable this on mobile
// phones yet.
@@ -947,8 +994,10 @@ diff --git a/chrome/browser/chrome_browser_field_trials.cc b/chrome/browser/chro
+ // chrome::android::kLockTopControlsOnLargeTablets);
// TODO(crbug.com/445446479): Remove when rollout is complete to all form
// factors.
- feature_overrides.EnableFeature(
-@@ -187,13 +187,13 @@ void ChromeBrowserFieldTrials::RegisterFeatureOverrides(
+- feature_overrides.EnableFeature(
+- sandbox::policy::features::kAndroidGpuSandbox);
++ // feature_overrides.EnableFeature(
++ // sandbox::policy::features::kAndroidGpuSandbox);
// Bypass the WebAudio output buffer, to reduce audio latency.
// TODO(crbug.com/436988695): Remove when the long term solution is
// implemented.
@@ -967,7 +1016,16 @@ diff --git a/chrome/browser/chrome_browser_field_trials.cc b/chrome/browser/chro
// Enables automatic picture-in-picture.
// TODO(crbug.com/421608904): Remove when rollout is complete to all form
// factors.
-@@ -212,51 +212,51 @@ void ChromeBrowserFieldTrials::RegisterFeatureOverrides(
+@@ -206,57 +206,57 @@ void ChromeBrowserFieldTrials::RegisterFeatureOverrides(
+ // Enable Media Engagement bypass and preload for desktop Android.
+ // TODO(crbug.com/490450572): Re-evaluate if we want to enable these features
+ // for all Android form factors after analysis.
+- feature_overrides.EnableFeature(
+- media::kMediaEngagementBypassAutoplayPolicies);
+- feature_overrides.EnableFeature(media::kPreloadMediaEngagementData);
++ // feature_overrides.EnableFeature(
++ // media::kMediaEngagementBypassAutoplayPolicies);
++ // feature_overrides.EnableFeature(media::kPreloadMediaEngagementData);
// Disables the enhanced pip transition and uses the default animation.
// TODO(crbug.com/440384447): Remove when enhanced pip transition is fixed.
@@ -1051,7 +1109,7 @@ diff --git a/chrome/browser/chrome_browser_field_trials.cc b/chrome/browser/chro
diff --git a/chrome/browser/chrome_browser_interface_binders_webui.cc b/chrome/browser/chrome_browser_interface_binders_webui.cc
--- a/chrome/browser/chrome_browser_interface_binders_webui.cc
+++ b/chrome/browser/chrome_browser_interface_binders_webui.cc
-@@ -48,7 +48,7 @@
+@@ -52,7 +52,7 @@
#include "mojo/public/cpp/bindings/binder_map.h"
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
@@ -1060,7 +1118,7 @@ diff --git a/chrome/browser/chrome_browser_interface_binders_webui.cc b/chrome/b
#include "chrome/browser/ui/webui/discards/discards.mojom.h"
#include "chrome/browser/ui/webui/discards/discards_ui.h"
#include "chrome/browser/ui/webui/discards/site_data.mojom.h"
-@@ -165,7 +165,7 @@ void PopulateChromeWebUIFrameBinders(
+@@ -178,7 +178,7 @@ void PopulateChromeWebUIFrameBinders(
#endif // BUILDFLAG(IS_CHROMEOS)
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
@@ -1072,7 +1130,7 @@ diff --git a/chrome/browser/chrome_browser_interface_binders_webui.cc b/chrome/b
diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/chrome_content_browser_client.cc
--- a/chrome/browser/chrome_content_browser_client.cc
+++ b/chrome/browser/chrome_content_browser_client.cc
-@@ -4379,7 +4379,7 @@ base::OnceClosure ChromeContentBrowserClient::SelectClientCertificate(
+@@ -4363,7 +4363,7 @@ base::OnceClosure ChromeContentBrowserClient::SelectClientCertificate(
// TODO(wenz): This should instead proceed with the selected certificate
// when there are matching certificates in the OS.
#if BUILDFLAG(ENABLE_EXTENSIONS) && \
@@ -1081,7 +1139,7 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch
if (matching_certificates.empty() && nonmatching_certificates.empty()) {
extensions::ProcessMap* process_map =
extensions::ProcessMap::Get(profile);
-@@ -4611,7 +4611,7 @@ void ChromeContentBrowserClient::OverrideWebPreferences(
+@@ -4646,7 +4646,7 @@ void ChromeContentBrowserClient::OverrideWebPreferences(
// Fill font preferences. These are not registered on Android unless we're built
// with extensions (the chrome.fontSettings API can change these).
// - http://crbug.com/40337093, http://crbug.com/41304476.
@@ -1093,7 +1151,7 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch
diff --git a/chrome/browser/devtools/BUILD.gn b/chrome/browser/devtools/BUILD.gn
--- a/chrome/browser/devtools/BUILD.gn
+++ b/chrome/browser/devtools/BUILD.gn
-@@ -356,7 +356,7 @@ static_library("devtools") {
+@@ -363,7 +363,7 @@ static_library("devtools") {
}
}
@@ -1102,10 +1160,22 @@ diff --git a/chrome/browser/devtools/BUILD.gn b/chrome/browser/devtools/BUILD.gn
sources += [
"global_confirm_info_bar.cc",
"global_confirm_info_bar.h",
+diff --git a/chrome/browser/download/BUILD.gn b/chrome/browser/download/BUILD.gn
+--- a/chrome/browser/download/BUILD.gn
++++ b/chrome/browser/download/BUILD.gn
+@@ -295,7 +295,7 @@ source_set("impl") {
+ sources += [ "drag_download_item_aura.cc" ]
+ }
+
+- if (is_android && !enable_desktop_android_extensions) {
++ if (is_android && !enable_desktop_android_extensions_cromite) {
+ sources += [ "download_crx_util_android.cc" ]
+ }
+
diff --git a/chrome/browser/download/chrome_download_manager_delegate.cc b/chrome/browser/download/chrome_download_manager_delegate.cc
--- a/chrome/browser/download/chrome_download_manager_delegate.cc
+++ b/chrome/browser/download/chrome_download_manager_delegate.cc
-@@ -749,7 +749,7 @@ bool ChromeDownloadManagerDelegate::DetermineDownloadTarget(
+@@ -745,7 +745,7 @@ bool ChromeDownloadManagerDelegate::DetermineDownloadTarget(
DownloadPathReservationTracker::FilenameConflictAction action =
kDefaultPlatformConflictAction;
#if BUILDFLAG(IS_ANDROID)
@@ -1138,7 +1208,7 @@ diff --git a/chrome/browser/download/download_offline_content_provider.cc b/chro
diff --git a/chrome/browser/extensions/BUILD.gn b/chrome/browser/extensions/BUILD.gn
--- a/chrome/browser/extensions/BUILD.gn
+++ b/chrome/browser/extensions/BUILD.gn
-@@ -1736,7 +1736,7 @@ source_set("chrome_extensions_browser_client") {
+@@ -1697,7 +1697,7 @@ source_set("chrome_extensions_browser_client") {
"//extensions/browser/updater",
]
@@ -1147,19 +1217,10 @@ diff --git a/chrome/browser/extensions/BUILD.gn b/chrome/browser/extensions/BUIL
sources += [ "chrome_extensions_browser_client_android.cc" ]
deps += [
-@@ -1751,6 +1751,16 @@ source_set("chrome_extensions_browser_client") {
+@@ -1712,6 +1712,7 @@ source_set("chrome_extensions_browser_client") {
"//extensions/browser",
"//extensions/browser/kiosk",
]
-+
-+ ### Extensions API module start
-+ sources += [
-+ "api/adblock_private/adblock_private_api.cc",
-+ "api/adblock_private/adblock_private_api.h",
-+ "api/eyeo_filtering_private/eyeo_filtering_private_api.cc",
-+ "api/eyeo_filtering_private/eyeo_filtering_private_api.h",
-+ ]
-+
+ deps += [ "//components/adblock/content:browser" ]
}
@@ -1230,7 +1291,7 @@ diff --git a/chrome/browser/extensions/api/identity/web_auth_flow.h b/chrome/bro
diff --git a/chrome/browser/extensions/api/tabs/tabs_api.cc b/chrome/browser/extensions/api/tabs/tabs_api.cc
--- a/chrome/browser/extensions/api/tabs/tabs_api.cc
+++ b/chrome/browser/extensions/api/tabs/tabs_api.cc
-@@ -1693,6 +1693,9 @@ base::ListValue TabsQueryFunction::BuildTabList(
+@@ -1725,6 +1725,9 @@ base::ListValue TabsQueryFunction::BuildTabList(
}
TabListInterface* tab_list = TabListInterface::From(browser);
@@ -1287,7 +1348,7 @@ diff --git a/chrome/browser/extensions/api/tabs/tabs_event_router.cc b/chrome/br
CHECK(web_contents);
// Removing a tab can affect the indices of all existing tabs in the tab
-@@ -513,6 +527,9 @@ void TabsEventRouter::OnTabMoved(TabListInterface& tab_list,
+@@ -509,6 +523,9 @@ void TabsEventRouter::OnTabMoved(TabListInterface& tab_list,
int to_index) {
CHECK(tab);
content::WebContents* web_contents = tab->GetContents();
@@ -1297,7 +1358,7 @@ diff --git a/chrome/browser/extensions/api/tabs/tabs_event_router.cc b/chrome/br
CHECK(web_contents);
// Moving tab can affect the indices of all existing tabs in the tab list
-@@ -551,6 +568,9 @@ void TabsEventRouter::OnHighlightedTabsChanged(
+@@ -547,6 +564,9 @@ void TabsEventRouter::OnHighlightedTabsChanged(
for (tabs::TabInterface* tab : highlighted_tabs) {
content::WebContents* web_contents = tab->GetContents();
@@ -1310,7 +1371,7 @@ diff --git a/chrome/browser/extensions/api/tabs/tabs_event_router.cc b/chrome/br
diff --git a/chrome/browser/extensions/browser_extension_window_controller.cc b/chrome/browser/extensions/browser_extension_window_controller.cc
--- a/chrome/browser/extensions/browser_extension_window_controller.cc
+++ b/chrome/browser/extensions/browser_extension_window_controller.cc
-@@ -105,14 +105,22 @@ BrowserExtensionWindowController::BrowserExtensionWindowController(
+@@ -109,14 +109,22 @@ BrowserExtensionWindowController::BrowserExtensionWindowController(
#if !BUILDFLAG(IS_ANDROID)
window_(CHECK_DEREF(browser->GetBrowserForMigrationOnly()->window())),
#endif // !BUILDFLAG(IS_ANDROID)
@@ -1334,7 +1395,7 @@ diff --git a/chrome/browser/extensions/browser_extension_window_controller.cc b/
WindowControllerList::GetInstance()->RemoveExtensionWindow(this);
}
-@@ -122,6 +130,13 @@ BrowserExtensionWindowController* BrowserExtensionWindowController::From(
+@@ -126,6 +134,13 @@ BrowserExtensionWindowController* BrowserExtensionWindowController::From(
browser_window_interface->GetUnownedUserDataHost());
}
@@ -1348,7 +1409,7 @@ diff --git a/chrome/browser/extensions/browser_extension_window_controller.cc b/
int BrowserExtensionWindowController::GetWindowId() const {
return static_cast(session_id_.id());
}
-@@ -268,7 +283,7 @@ base::ListValue BrowserExtensionWindowController::CreateTabList(
+@@ -272,7 +287,7 @@ base::ListValue BrowserExtensionWindowController::CreateTabList(
ExtensionTabUtil::GetScrubTabBehavior(extension, context, web_contents);
tab_list.Append(
ExtensionTabUtil::CreateTabObject(web_contents, scrub_tab_behavior,
@@ -1397,7 +1458,7 @@ diff --git a/chrome/browser/extensions/browser_extension_window_controller.h b/c
diff --git a/chrome/browser/extensions/extension_management.cc b/chrome/browser/extensions/extension_management.cc
--- a/chrome/browser/extensions/extension_management.cc
+++ b/chrome/browser/extensions/extension_management.cc
-@@ -177,8 +177,12 @@ ManagedInstallationMode ExtensionManagement::GetInstallationMode(
+@@ -178,8 +178,12 @@ ManagedInstallationMode ExtensionManagement::GetInstallationMode(
update_url ? *update_url : std::string());
}
@@ -1411,7 +1472,7 @@ diff --git a/chrome/browser/extensions/extension_management.cc b/chrome/browser/
std::string user_name = profile_->GetProfileUserName();
// Crude check to avoid passing invalid strings to `ExtractDomainName`.
if (user_name.contains("@")) {
-@@ -195,7 +199,7 @@ bool ExtensionManagement::ExtensionsEnabledForDesktopAndroid() const {
+@@ -196,7 +200,7 @@ bool ExtensionManagement::ExtensionsEnabledForDesktopAndroid() const {
ManagedInstallationMode ExtensionManagement::GetInstallationMode(
const ExtensionId& extension_id,
const std::string& update_url) {
@@ -1432,6 +1493,34 @@ diff --git a/chrome/browser/extensions/extension_management.h b/chrome/browser/e
// Checks if extensions are enabled for Desktop Android for the current
// profile. This is temporary for until extensions are ready for dogfooding.
// TODO(crbug.com/422307625): Remove this check once extensions are ready for
+diff --git a/chrome/browser/extensions/extension_tab_util.cc b/chrome/browser/extensions/extension_tab_util.cc
+--- a/chrome/browser/extensions/extension_tab_util.cc
++++ b/chrome/browser/extensions/extension_tab_util.cc
+@@ -447,8 +447,10 @@ api::tabs::Tab ExtensionTabUtil::CreateTabObject(
+ tab_list->GetOpenerForTab(tab_interface->GetHandle());
+ if (opener) {
+ content::WebContents* opener_contents = opener->GetContents();
++#if !BUILDFLAG(IS_ANDROID)
+ CHECK(opener_contents);
+- tab_object.opener_tab_id = GetTabIdForExtensions(*opener_contents);
++#endif
++ if (opener_contents) tab_object.opener_tab_id = GetTabIdForExtensions(*opener_contents);
+ }
+ }
+
+@@ -1130,7 +1132,12 @@ base::expected ExtensionTabUtil::PrepareURLForNavigation(
+ void ExtensionTabUtil::ForEachTab(
+ base::RepeatingCallback callback) {
+ tabs::ForEachTabInterface([&callback](tabs::TabInterface* tab) {
++#if BUILDFLAG(IS_ANDROID)
++ WebContents* web_contents = tab->GetContents();
++ if (web_contents) callback.Run(web_contents);
++#else
+ callback.Run(tab->GetContents());
++#endif
+ return true;
+ });
+ }
diff --git a/chrome/browser/extensions/extension_util.cc b/chrome/browser/extensions/extension_util.cc
--- a/chrome/browser/extensions/extension_util.cc
+++ b/chrome/browser/extensions/extension_util.cc
@@ -1470,7 +1559,7 @@ diff --git a/chrome/browser/feed/android/java/src/org/chromium/chrome/browser/fe
- return (!ChromeFeatureList.sNtpSimplification.isEnabled() || !DeviceInfo.isDesktop())
+ return (!ChromeFeatureList.sNtpSimplification.isEnabled() || !DeviceInfo.isDesktopCromite())
&& FeedServiceBridge.isEnabled()
- && isFeedEnabledByDSE(profile);
+ && isFeedEnabledByDse(profile);
}
diff --git a/chrome/browser/feedback/android/java/src/org/chromium/chrome/browser/feedback/DeviceInfoFeedbackSource.java b/chrome/browser/feedback/android/java/src/org/chromium/chrome/browser/feedback/DeviceInfoFeedbackSource.java
--- a/chrome/browser/feedback/android/java/src/org/chromium/chrome/browser/feedback/DeviceInfoFeedbackSource.java
@@ -1484,19 +1573,31 @@ diff --git a/chrome/browser/feedback/android/java/src/org/chromium/chrome/browse
type = TYPE_DESKTOP;
} else if (DeviceFormFactor.isNonMultiDisplayContextOnTablet(
ContextUtils.getApplicationContext())) {
+diff --git a/chrome/browser/finds/core/finds_tab_helper.cc b/chrome/browser/finds/core/finds_tab_helper.cc
+--- a/chrome/browser/finds/core/finds_tab_helper.cc
++++ b/chrome/browser/finds/core/finds_tab_helper.cc
+@@ -31,7 +31,7 @@ bool IsValidNavigation(content::NavigationHandle* navigation_handle) {
+
+ bool IsSupportedPlatform() {
+ #if BUILDFLAG(IS_ANDROID)
+- if (base::android::device_info::is_desktop() ||
++ if (base::android::device_info::is_desktop_false() ||
+ base::android::device_info::is_tv() ||
+ base::android::device_info::is_automotive() ||
+ base::android::device_info::is_xr()) {
diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
--- a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
+++ b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
-@@ -767,7 +767,7 @@ public abstract class ChromeFeatureList {
+@@ -793,7 +793,7 @@ public abstract class ChromeFeatureList {
public static final CachedFlag sAndroidNewMediaPicker =
newCachedFlag(ANDROID_NEW_MEDIA_PICKER, false);
public static final CachedFlag sAndroidOpenIncognitoAsWindow =
- newCachedFlag(ANDROID_OPEN_INCOGNITO_AS_WINDOW, BuildConfig.IS_DESKTOP_ANDROID, true);
+ newCachedFlag(ANDROID_OPEN_INCOGNITO_AS_WINDOW, BuildConfig.IS_DESKTOP_ANDROID_FALSE, false);
+ public static final CachedFlag sAndroidPageInfoAsAppMenuItem =
+ newCachedFlag(ANDROID_PAGE_INFO_AS_APP_MENU_ITEM, false);
public static final CachedFlag sAndroidProgressBarVisualUpdate =
- newCachedFlag(
- ANDROID_PROGRESS_BAR_VISUAL_UPDATE,
-@@ -891,7 +891,7 @@ public abstract class ChromeFeatureList {
+@@ -927,7 +927,7 @@ public abstract class ChromeFeatureList {
public static final CachedFlag sChromeItemPickerUi =
newCachedFlag(CHROME_ITEM_PICKER_UI, /* defaultValue= */ false);
public static final CachedFlag sChromeNativeUrlOverriding =
@@ -1505,7 +1606,7 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f
public static final CachedFlag sClampAutomotiveScaling =
newCachedFlag(CLAMP_AUTOMOTIVE_SCALING, true);
public static final CachedFlag sClankStartupLatencyInjection =
-@@ -1067,7 +1067,7 @@ public abstract class ChromeFeatureList {
+@@ -1122,7 +1122,7 @@ public abstract class ChromeFeatureList {
newCachedFlag(POWER_SAVING_MODE_BROADCAST_RECEIVER_IN_BACKGROUND, true);
public static final CachedFlag sPriceChangeModule = newCachedFlag(PRICE_CHANGE_MODULE, true);
public static final CachedFlag sProtectRecentlyVisibleTab =
@@ -1514,6 +1615,30 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f
public static final CachedFlag sReportNotificationContentDetectionData =
newCachedFlag(
REPORT_NOTIFICATION_CONTENT_DETECTION_DATA,
+diff --git a/chrome/browser/glic/public/features.cc b/chrome/browser/glic/public/features.cc
+--- a/chrome/browser/glic/public/features.cc
++++ b/chrome/browser/glic/public/features.cc
+@@ -52,7 +52,7 @@ BASE_FEATURE(kGlicLiveMode,
+ );
+
+ BASE_FEATURE(kGlicDefaultToLastActiveConversation,
+-#if BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_DESKTOP_ANDROID)
++#if BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_DESKTOP_ANDROID_CROMITE)
+ base::FEATURE_ENABLED_BY_DEFAULT
+ #else
+ base::FEATURE_DISABLED_BY_DEFAULT
+diff --git a/chrome/browser/glic/service/glic_instance_impl.cc b/chrome/browser/glic/service/glic_instance_impl.cc
+--- a/chrome/browser/glic/service/glic_instance_impl.cc
++++ b/chrome/browser/glic/service/glic_instance_impl.cc
+@@ -112,7 +112,7 @@ BASE_FEATURE(kGlicSuppressAnimationsOnDetach, base::FEATURE_ENABLED_BY_DEFAULT);
+ BASE_FEATURE(kGlicRemoveDaisyChainingWhenFreShowing,
+ base::FEATURE_ENABLED_BY_DEFAULT);
+
+-#if BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_DESKTOP_ANDROID)
++#if BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_DESKTOP_ANDROID_CROMITE)
+ BASE_FEATURE(kGlicUnbindOnClose, base::FEATURE_ENABLED_BY_DEFAULT);
+ #else
+ BASE_FEATURE(kGlicUnbindOnClose, base::FEATURE_DISABLED_BY_DEFAULT);
diff --git a/chrome/browser/incognito/android/java/src/org/chromium/chrome/browser/incognito/IncognitoUtils.java b/chrome/browser/incognito/android/java/src/org/chromium/chrome/browser/incognito/IncognitoUtils.java
--- a/chrome/browser/incognito/android/java/src/org/chromium/chrome/browser/incognito/IncognitoUtils.java
+++ b/chrome/browser/incognito/android/java/src/org/chromium/chrome/browser/incognito/IncognitoUtils.java
@@ -1526,22 +1651,10 @@ diff --git a/chrome/browser/incognito/android/java/src/org/chromium/chrome/brows
|| ThreadUtils.runOnUiThreadBlocking(
() ->
DisplayUtil.isGlobalDefaultDisplayWithMinDiagonal(
-diff --git a/chrome/browser/magic_stack/android/java/src/org/chromium/chrome/browser/magic_stack/HomeModulesConfigManager.java b/chrome/browser/magic_stack/android/java/src/org/chromium/chrome/browser/magic_stack/HomeModulesConfigManager.java
---- a/chrome/browser/magic_stack/android/java/src/org/chromium/chrome/browser/magic_stack/HomeModulesConfigManager.java
-+++ b/chrome/browser/magic_stack/android/java/src/org/chromium/chrome/browser/magic_stack/HomeModulesConfigManager.java
-@@ -89,7 +89,7 @@ public class HomeModulesConfigManager {
- */
- public boolean getPrefModuleTypeEnabled(@ModuleType int moduleType) {
- boolean defaultEnabled =
-- !ChromeFeatureList.sNtpSimplification.isEnabled() || !DeviceInfo.isDesktop();
-+ !ChromeFeatureList.sNtpSimplification.isEnabled() || !DeviceInfo.isDesktopFalse();
- return mSharedPreferencesManager.readBoolean(
- getSettingsPreferenceKey(moduleType), defaultEnabled);
- }
diff --git a/chrome/browser/media/router/BUILD.gn b/chrome/browser/media/router/BUILD.gn
--- a/chrome/browser/media/router/BUILD.gn
+++ b/chrome/browser/media/router/BUILD.gn
-@@ -261,7 +261,7 @@ static_library("test_support") {
+@@ -262,7 +262,7 @@ static_library("test_support") {
deps = []
sources = []
@@ -1550,7 +1663,7 @@ diff --git a/chrome/browser/media/router/BUILD.gn b/chrome/browser/media/router/
deps += [
"//base",
"//chrome/browser/media/router/discovery",
-@@ -412,7 +412,7 @@ source_set("unittests") {
+@@ -413,7 +413,7 @@ source_set("unittests") {
}
# Traditional desktop platforms and desktop android with extensions support.
@@ -1634,7 +1747,7 @@ diff --git a/chrome/browser/media/router/media_router_feature.h b/chrome/browser
diff --git a/chrome/browser/media/webrtc/webrtc_event_log_manager.cc b/chrome/browser/media/webrtc/webrtc_event_log_manager.cc
--- a/chrome/browser/media/webrtc/webrtc_event_log_manager.cc
+++ b/chrome/browser/media/webrtc/webrtc_event_log_manager.cc
-@@ -112,7 +112,7 @@ class PeerConnectionTrackerProxyImpl
+@@ -113,7 +113,7 @@ class PeerConnectionTrackerProxyImpl
// necessarily for any given user profile.
// Certain platforms (mobile) are blocked from remote-bound logging.
bool IsRemoteLoggingFeatureEnabled() {
@@ -1643,7 +1756,7 @@ diff --git a/chrome/browser/media/webrtc/webrtc_event_log_manager.cc b/chrome/br
bool enabled = false;
#else
bool enabled = true;
-@@ -464,7 +464,7 @@ WebRtcEventLogManager::CreateRemoteLogFileWriterFactory() {
+@@ -465,7 +465,7 @@ WebRtcEventLogManager::CreateRemoteLogFileWriterFactory() {
if (remote_log_file_writer_factory_for_testing_) {
return std::move(remote_log_file_writer_factory_for_testing_);
} else {
@@ -1652,6 +1765,18 @@ diff --git a/chrome/browser/media/webrtc/webrtc_event_log_manager.cc b/chrome/br
return std::make_unique(
std::make_unique(
std::make_unique()));
+diff --git a/chrome/browser/ntp_customization/java/src/org/chromium/chrome/browser/ntp_customization/NtpCustomizationUtils.java b/chrome/browser/ntp_customization/java/src/org/chromium/chrome/browser/ntp_customization/NtpCustomizationUtils.java
+--- a/chrome/browser/ntp_customization/java/src/org/chromium/chrome/browser/ntp_customization/NtpCustomizationUtils.java
++++ b/chrome/browser/ntp_customization/java/src/org/chromium/chrome/browser/ntp_customization/NtpCustomizationUtils.java
+@@ -274,7 +274,7 @@ public class NtpCustomizationUtils {
+
+ /** Returns whether the NTP simplification is enabled on desktop. */
+ public static boolean isNtpSimplificationEnabledOnDesktop() {
+- return ChromeFeatureList.sNtpSimplification.isEnabled() && DeviceInfo.isDesktop();
++ return ChromeFeatureList.sNtpSimplification.isEnabled() && DeviceInfo.isDesktopCromite();
+ }
+
+ /**
diff --git a/chrome/browser/open_in_app/android/java/src/org/chromium/chrome/browser/open_in_app/OpenInAppUtils.java b/chrome/browser/open_in_app/android/java/src/org/chromium/chrome/browser/open_in_app/OpenInAppUtils.java
--- a/chrome/browser/open_in_app/android/java/src/org/chromium/chrome/browser/open_in_app/OpenInAppUtils.java
+++ b/chrome/browser/open_in_app/android/java/src/org/chromium/chrome/browser/open_in_app/OpenInAppUtils.java
@@ -1679,7 +1804,7 @@ diff --git a/chrome/browser/policy/policy_value_and_status_aggregator.cc b/chrom
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
-@@ -663,7 +663,7 @@ void ChromeBrowserMainExtraPartsProfiles::
+@@ -669,7 +669,7 @@ void ChromeBrowserMainExtraPartsProfiles::
chromeos_extensions::EnsureBrowserContextKeyedServiceFactoriesBuilt();
#endif
extensions::EnsureBrowserContextKeyedServiceFactoriesBuilt();
@@ -1691,36 +1816,25 @@ diff --git a/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc
diff --git a/chrome/browser/profiles/off_the_record_profile_impl.cc b/chrome/browser/profiles/off_the_record_profile_impl.cc
--- a/chrome/browser/profiles/off_the_record_profile_impl.cc
+++ b/chrome/browser/profiles/off_the_record_profile_impl.cc
-@@ -108,6 +108,8 @@
- #if BUILDFLAG(ENABLE_EXTENSIONS_CORE)
+@@ -110,6 +110,7 @@
#include "chrome/browser/extensions/extension_special_storage_policy.h"
#include "chrome/browser/ui/webui/extensions/extension_icon_source.h"
-+#include "extensions/browser/api/web_request/extension_web_request_event_router.h"
+ #include "extensions/browser/api/web_request/extension_web_request_event_router.h"
+#include "extensions/browser/process_manager.h"
#endif
- #if BUILDFLAG(ENABLE_EXTENSIONS)
-@@ -216,7 +218,10 @@ void OffTheRecordProfileImpl::Init() {
+ #if BUILDFLAG(ENABLE_GUEST_VIEW)
+@@ -209,7 +210,9 @@ void OffTheRecordProfileImpl::Init() {
+ // Make the chrome//extension-icon/ resource available.
+ content::URLDataSource::Add(
this, std::make_unique(profile_));
- #endif
-
--#if BUILDFLAG(ENABLE_EXTENSIONS)
-+#if BUILDFLAG(ENABLE_EXTENSIONS_CORE)
+-
+ if (extensions::ProcessManager* process_manager = extensions::ProcessManager::Get(this)) {
+ process_manager->MaybeCreateStartupBackgroundHosts();
+ }
extensions::WebRequestEventRouter::OnOTRBrowserContextCreated(profile_, this);
- #endif
-
-@@ -275,7 +280,7 @@ OffTheRecordProfileImpl::~OffTheRecordProfileImpl() {
-
- SimpleKeyMap::GetInstance()->Dissociate(this);
+ #endif // BUILDFLAG(ENABLE_EXTENSIONS_CORE)
--#if BUILDFLAG(ENABLE_EXTENSIONS)
-+#if BUILDFLAG(ENABLE_EXTENSIONS_CORE)
- extensions::WebRequestEventRouter::OnOTRBrowserContextDestroyed(profile_,
- this);
- #endif
diff --git a/chrome/browser/profiles/profile_destroyer.cc b/chrome/browser/profiles/profile_destroyer.cc
--- a/chrome/browser/profiles/profile_destroyer.cc
+++ b/chrome/browser/profiles/profile_destroyer.cc
@@ -1742,9 +1856,9 @@ diff --git a/chrome/browser/resources/BUILD.gn b/chrome/browser/resources/BUILD.
- if (is_win || is_mac || is_linux || is_chromeos || is_desktop_android) {
+ if (is_win || is_mac || is_linux || is_chromeos || is_desktop_android_cromite) {
- public_deps += [ "discards:resources" ]
- }
-
+ public_deps += [
+ "discards:resources",
+ "management:resources",
diff --git a/chrome/browser/resources/discards/BUILD.gn b/chrome/browser/resources/discards/BUILD.gn
--- a/chrome/browser/resources/discards/BUILD.gn
+++ b/chrome/browser/resources/discards/BUILD.gn
@@ -1819,10 +1933,21 @@ diff --git a/chrome/browser/resources/extensions/item_list.css b/chrome/browser/
}
#content-wrapper:has(extensions-review-panel),
+diff --git a/chrome/browser/resources/extensions/manager.css b/chrome/browser/resources/extensions/manager.css
+--- a/chrome/browser/resources/extensions/manager.css
++++ b/chrome/browser/resources/extensions/manager.css
+@@ -73,3 +73,7 @@ extensions-item {
+ #right {
+ flex: 1 1 0;
+ }
++
++#drawer {
++ z-index: 9999;
++}
diff --git a/chrome/browser/resources/extensions/toolbar.html.ts b/chrome/browser/resources/extensions/toolbar.html.ts
--- a/chrome/browser/resources/extensions/toolbar.html.ts
+++ b/chrome/browser/resources/extensions/toolbar.html.ts
-@@ -25,13 +25,6 @@ export function getHtml(this: ToolbarElement) {
+@@ -26,13 +26,6 @@ export function getHtml(this: ToolbarElement) {
aria-labelledby="devModeLabel">
@@ -1860,7 +1985,7 @@ diff --git a/chrome/browser/sessions/session_restore_android.cc b/chrome/browser
diff --git a/chrome/browser/share/android/java/src/org/chromium/chrome/browser/share/ChromeProvidedSharingOptionsProviderBase.java b/chrome/browser/share/android/java/src/org/chromium/chrome/browser/share/ChromeProvidedSharingOptionsProviderBase.java
--- a/chrome/browser/share/android/java/src/org/chromium/chrome/browser/share/ChromeProvidedSharingOptionsProviderBase.java
+++ b/chrome/browser/share/android/java/src/org/chromium/chrome/browser/share/ChromeProvidedSharingOptionsProviderBase.java
-@@ -285,7 +285,7 @@ public abstract class ChromeProvidedSharingOptionsProviderBase {
+@@ -305,7 +305,7 @@ public abstract class ChromeProvidedSharingOptionsProviderBase {
}
private void maybeAddCollaborateFirstPartyOption() {
@@ -1869,7 +1994,7 @@ diff --git a/chrome/browser/share/android/java/src/org/chromium/chrome/browser/s
return;
}
FirstPartyOption option = createCollaborateFirstPartyOption();
-@@ -317,7 +317,7 @@ public abstract class ChromeProvidedSharingOptionsProviderBase {
+@@ -337,7 +337,7 @@ public abstract class ChromeProvidedSharingOptionsProviderBase {
private void maybeAddPrintFirstPartyOption() {
// For the desktop case, the Print action will be showed in the main menu.
@@ -1953,7 +2078,7 @@ diff --git a/chrome/browser/task_manager/common/task_manager_features.cc b/chrom
diff --git a/chrome/browser/ui/BUILD.gn b/chrome/browser/ui/BUILD.gn
--- a/chrome/browser/ui/BUILD.gn
+++ b/chrome/browser/ui/BUILD.gn
-@@ -706,7 +706,7 @@ static_library("ui") {
+@@ -719,7 +719,7 @@ static_library("ui") {
}
# Desktop-Android-only dependencies.
@@ -1962,7 +2087,7 @@ diff --git a/chrome/browser/ui/BUILD.gn b/chrome/browser/ui/BUILD.gn
deps += [ "//chrome/browser/ui/android/extensions/windowing/internal" ]
}
-@@ -2975,7 +2975,7 @@ static_library("ui") {
+@@ -3022,7 +3022,7 @@ static_library("ui") {
allow_circular_includes_from += [ "//chrome/browser/ui/wallet" ]
}
@@ -2076,8 +2201,8 @@ diff --git a/chrome/browser/ui/android/desktop_windowing/java/src/org/chromium/c
diff --git a/chrome/browser/ui/android/extensions/BUILD.gn b/chrome/browser/ui/android/extensions/BUILD.gn
--- a/chrome/browser/ui/android/extensions/BUILD.gn
+++ b/chrome/browser/ui/android/extensions/BUILD.gn
-@@ -88,8 +88,8 @@ if (enable_extensions_core) {
- # BuildConfig.
+@@ -87,8 +87,8 @@ if (enable_extensions_core) {
+
java_cpp_template("generate_buildflags") {
sources = [ "java/templates/ExtensionsBuildflags.template" ]
- if (enable_desktop_android_extensions) {
@@ -2106,9 +2231,9 @@ diff --git a/chrome/browser/ui/android/extensions/extension_actions_bridge.cc b/
#include "chrome/browser/ui/android/extensions/jni_headers/ExtensionAction_jni.h"
#include "chrome/browser/ui/android/extensions/jni_headers/ExtensionActionsBridge_jni.h"
-@@ -34,6 +37,26 @@ void ExtensionActionsBridge::Destroy(JNIEnv* env) {
- delete this;
- }
+@@ -28,6 +31,26 @@ ExtensionActionsBridge::ExtensionActionsBridge(
+
+ ExtensionActionsBridge::~ExtensionActionsBridge() = default;
+void ExtensionActionsBridge::ClearExtensionData(JNIEnv* env) {
+ auto install_directory = profile_->GetPath().AppendASCII(kInstallDirectoryName);
@@ -2130,24 +2255,24 @@ diff --git a/chrome/browser/ui/android/extensions/extension_actions_bridge.cc b/
+ install_directory, install_updacked_directory));
+}
+
- jni_zero::ScopedJavaLocalRef