+ @focusin="${this.onSearchboxContainerFocusin_}"
+ @focusout="${this.onSearchboxContainerFocusout_}">
-
&
optimization_types) {
@@ -258,7 +249,7 @@ diff --git a/chrome/browser/password_manager/password_change_delegate_impl.cc b/
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
-@@ -42,8 +42,6 @@ source_set("permissions") {
+@@ -43,8 +43,6 @@ source_set("permissions") {
"prediction_service/language_detection_observer.h",
"prediction_service/passage_embedder_delegate.cc",
"prediction_service/passage_embedder_delegate.h",
@@ -270,7 +261,7 @@ diff --git a/chrome/browser/permissions/BUILD.gn b/chrome/browser/permissions/BU
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
-@@ -477,8 +477,6 @@ ChromePermissionsClient::CreatePermissionUiSelectors(
+@@ -474,8 +474,6 @@ ChromePermissionsClient::CreatePermissionUiSelectors(
#endif
selectors.emplace_back(std::make_unique(
Profile::FromBrowserContext(browser_context)));
@@ -282,15 +273,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
-@@ -17,6 +17,7 @@ PassageEmbedderDelegate::PassageEmbedderDelegate(Profile* profile)
+@@ -25,6 +25,7 @@ PassageEmbedderDelegate::PassageEmbedderDelegate(Profile* profile)
: profile_(profile) {}
- Embedder* PassageEmbedderDelegate::get_passage_embedder() {
+ Embedder* PassageEmbedderDelegate::GetPassageEmbedder() {
+#if BUILDFLAG(BUILD_WITH_TFLITE_LIB)
if (auto* prediction_model_handler_provider =
PredictionModelHandlerProviderFactory::GetForBrowserContext(
profile_)) {
-@@ -30,6 +31,7 @@ Embedder* PassageEmbedderDelegate::get_passage_embedder() {
+@@ -38,6 +39,7 @@ Embedder* PassageEmbedderDelegate::GetPassageEmbedder() {
return prediction_model_handler_provider->GetPassageEmbedder();
}
PermissionUmaUtil::RecordPassageEmbedderMetadataValid(false);
@@ -301,7 +292,7 @@ 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
-@@ -434,6 +434,7 @@ void PermissionsAiUiSelector::SelectUiToUse(
+@@ -414,6 +414,7 @@ void PermissionsAiUiSelector::SelectUiToUse(
}
}
@@ -309,7 +300,7 @@ diff --git a/chrome/browser/permissions/prediction_service/permissions_ai_ui_sel
void PermissionsAiUiSelector::OnGetInnerTextForOnDeviceModel(
ModelExecutionData model_data,
ModelExecutionCallback model_execution_callback,
-@@ -481,6 +482,7 @@ void PermissionsAiUiSelector::OnGetInnerTextForOnDeviceModel(
+@@ -468,6 +469,7 @@ void PermissionsAiUiSelector::OnGetInnerTextForOnDeviceModel(
InquireServerModel(model_data.features,
std::move(model_data.request_metadata));
}
@@ -317,7 +308,7 @@ diff --git a/chrome/browser/permissions/prediction_service/permissions_ai_ui_sel
void PermissionsAiUiSelector::OnTimeout() {
VLOG(1) << "[CPSS] Overall timeout for prediction reached.";
-@@ -697,6 +699,7 @@ bool PermissionsAiUiSelector::ShouldHoldBack(
+@@ -677,6 +679,7 @@ bool PermissionsAiUiSelector::ShouldHoldBack(
PredictionSource PermissionsAiUiSelector::GetPredictionTypeToUse(
permissions::RequestType request_type) {
@@ -325,7 +316,7 @@ diff --git a/chrome/browser/permissions/prediction_service/permissions_ai_ui_sel
const bool is_msbb_enabled = profile_->GetPrefs()->GetBoolean(
unified_consent::prefs::kUrlKeyedAnonymizedDataCollectionEnabled);
-@@ -773,6 +776,7 @@ PredictionSource PermissionsAiUiSelector::GetPredictionTypeToUse(
+@@ -749,6 +752,7 @@ PredictionSource PermissionsAiUiSelector::GetPredictionTypeToUse(
return PredictionSource::kNoCpssModel;
}
@@ -333,7 +324,7 @@ diff --git a/chrome/browser/permissions/prediction_service/permissions_ai_ui_sel
void PermissionsAiUiSelector::set_language_detection_observer_for_testing(
std::unique_ptr
language_detection_observer) {
-@@ -785,6 +789,7 @@ void PermissionsAiUiSelector::set_inner_text_for_testing(
+@@ -761,6 +765,7 @@ void PermissionsAiUiSelector::set_inner_text_for_testing(
CHECK_IS_TEST();
inner_text_for_testing_ = std::move(inner_text_);
}
@@ -376,16 +367,16 @@ 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,15 +13,16 @@
+@@ -13,14 +13,16 @@
#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"
-+#include "components/permissions/request_type.h"
+
+#if BUILDFLAG(BUILD_WITH_TFLITE_LIB)
- #include "components/permissions/prediction_service/permissions_aiv3_handler.h"
++#include "components/permissions/prediction_service/permissions_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"
@@ -395,7 +386,7 @@ diff --git a/chrome/browser/permissions/prediction_service/prediction_model_hand
#include "components/permissions/prediction_service/prediction_model_handler.h"
#endif // BUILDFLAG(BUILD_WITH_TFLITE_LIB)
-@@ -31,6 +32,7 @@ using optimization_guide::proto::OptimizationTarget;
+@@ -30,6 +32,7 @@ using optimization_guide::proto::OptimizationTarget;
namespace {
@@ -403,7 +394,7 @@ diff --git a/chrome/browser/permissions/prediction_service/prediction_model_hand
inline OptimizationTarget getGeolocationAiv4OptTarget() {
#if BUILDFLAG(IS_ANDROID)
return OptimizationTarget::
-@@ -49,6 +51,7 @@ inline OptimizationTarget getNotificationsAiv4OptTarget() {
+@@ -48,6 +51,7 @@ inline OptimizationTarget getNotificationsAiv4OptTarget() {
OPTIMIZATION_TARGET_PERMISSIONS_AIV4_NOTIFICATIONS_DESKTOP;
#endif
}
@@ -411,7 +402,7 @@ diff --git a/chrome/browser/permissions/prediction_service/prediction_model_hand
} // namespace
-@@ -56,7 +59,10 @@ PredictionModelHandlerProvider::PredictionModelHandlerProvider(
+@@ -55,7 +59,10 @@ PredictionModelHandlerProvider::PredictionModelHandlerProvider(
OptimizationGuideKeyedService* optimization_guide,
passage_embeddings::EmbedderMetadataProvider* embedder_metadata_provider,
passage_embeddings::Embedder* passage_embedder)
@@ -426,7 +417,7 @@ diff --git a/chrome/browser/permissions/prediction_service/prediction_model_hand
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
-@@ -61,9 +61,11 @@ class PredictionModelHandlerProvider
+@@ -56,9 +56,11 @@ class PredictionModelHandlerProvider
#endif // BUILDFLAG(BUILD_WITH_TFLITE_LIB)
private:
@@ -441,7 +432,7 @@ diff --git a/chrome/browser/permissions/prediction_service/prediction_model_hand
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
-@@ -25,9 +25,9 @@ void QuietNotificationPermissionUiState::RegisterProfilePrefs(
+@@ -24,9 +24,9 @@ void QuietNotificationPermissionUiState::RegisterProfilePrefs(
registry->RegisterTimePref(prefs::kQuietNotificationPermissionUiDisabledTime,
base::Time());
registry->RegisterBooleanPref(prefs::kEnableNotificationCPSS,
@@ -495,10 +486,10 @@ 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
-@@ -202,3 +202,7 @@ const base::FeatureParam
- kSuppressesSearchPrefetchOnSlowNetworkThreshold{
- &kSuppressesSearchPrefetchOnSlowNetwork,
- "slow_network_threshold_for_search_prefetch", base::Milliseconds(208)};
+@@ -255,3 +255,7 @@ bool ShouldSuppressPrefetchForUnsupportedMode(const AutocompleteMatch& match) {
+ }
+ return ShouldSuppressPrefetchForUnsupportedMode(match.destination_url);
+ }
+
+SET_CROMITE_FEATURE_DISABLED(kSearchPrefetchServicePrefetching);
+SET_CROMITE_FEATURE_DISABLED(kSearchPrefetchWithNoVarySearchDiskCache);
@@ -517,7 +508,7 @@ 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
-@@ -1221,7 +1221,6 @@ void ChromeBrowserMainExtraPartsProfiles::
+@@ -1240,7 +1240,6 @@ void ChromeBrowserMainExtraPartsProfiles::
#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN)
policy::UserPolicyOidcSigninServiceFactory::GetInstance();
#endif
@@ -528,7 +519,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
-@@ -57,7 +57,6 @@ static_library("safe_browsing") {
+@@ -60,7 +60,6 @@ static_library("safe_browsing") {
"//components/resources:components_resources_grit",
"//components/safe_browsing:buildflags",
"//components/safe_browsing/content/browser",
@@ -587,7 +578,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
-@@ -572,7 +572,7 @@ void ChromeAutofillClient::GetAiPageContent(GetAiPageContentCallback callback) {
+@@ -585,7 +585,7 @@ void ChromeAutofillClient::GetAiPageContent(GetAiPageContentCallback callback) {
}
AutofillAiManager* ChromeAutofillClient::GetAutofillAiManager() {
@@ -596,7 +587,7 @@ diff --git a/chrome/browser/ui/autofill/chrome_autofill_client.cc b/chrome/brows
}
AutofillAiModelCache* ChromeAutofillClient::GetAutofillAiModelCache() {
-@@ -1404,18 +1404,7 @@ void ChromeAutofillClient::TriggerPlusAddressUserPerceptionSurvey(
+@@ -1417,18 +1417,7 @@ void ChromeAutofillClient::TriggerPlusAddressUserPerceptionSurvey(
optimization_guide::ModelQualityLogsUploaderService*
ChromeAutofillClient::GetMqlsUploadService() {
@@ -618,7 +609,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
-@@ -459,7 +459,6 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) {
+@@ -477,7 +477,6 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) {
}
MixedContentSettingsTabHelper::CreateForWebContents(web_contents);
NavigationMetricsRecorder::CreateForWebContents(web_contents);
@@ -812,8 +803,8 @@ diff --git a/chrome/renderer/accessibility/read_anything/read_aloud_app_model.h
diff --git a/chrome/renderer/accessibility/read_anything/read_anything_app_controller.cc b/chrome/renderer/accessibility/read_anything/read_anything_app_controller.cc
--- a/chrome/renderer/accessibility/read_anything/read_anything_app_controller.cc
+++ b/chrome/renderer/accessibility/read_anything/read_anything_app_controller.cc
-@@ -27,7 +27,9 @@
- #include "build/build_config.h"
+@@ -28,7 +28,9 @@
+ #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)
@@ -822,7 +813,7 @@ diff --git a/chrome/renderer/accessibility/read_anything/read_anything_app_contr
#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"
-@@ -2129,6 +2131,7 @@ void ReadAnythingAppController::OnConnected() {
+@@ -2135,6 +2137,7 @@ void ReadAnythingAppController::OnConnected() {
render_frame()->GetBrowserInterfaceBroker().GetInterface(
std::move(page_handler_factory_receiver));
@@ -830,7 +821,7 @@ diff --git a/chrome/renderer/accessibility/read_anything/read_anything_app_contr
// Get the dependency parser model used by phrase-based highlighting.
if (read_aloud_model_.GetDependencyParserModel().IsAvailable()) {
return;
-@@ -2137,6 +2140,7 @@ void ReadAnythingAppController::OnConnected() {
+@@ -2143,6 +2146,7 @@ void ReadAnythingAppController::OnConnected() {
page_handler_->GetDependencyParserModel(
base::BindOnce(&ReadAnythingAppController::UpdateDependencyParserModel,
weak_ptr_factory_.GetWeakPtr()));
@@ -838,7 +829,7 @@ diff --git a/chrome/renderer/accessibility/read_anything/read_anything_app_contr
SetDistillationState(
read_anything::mojom::ReadAnythingDistillationState::kNotAttempted);
}
-@@ -2398,8 +2402,10 @@ std::u16string ReadAnythingAppController::GetCurrentTextContent() {
+@@ -2415,8 +2419,10 @@ std::u16string ReadAnythingAppController::GetCurrentTextContent() {
}
void ReadAnythingAppController::PreprocessTextForSpeech() {
@@ -849,7 +840,7 @@ diff --git a/chrome/renderer/accessibility/read_anything/read_anything_app_contr
}
void ReadAnythingAppController::MovePositionToNextGranularity() {
-@@ -2755,14 +2761,18 @@ bool ReadAnythingAppController::IsDocsLoadMoreButtonVisible() const {
+@@ -2768,14 +2774,18 @@ bool ReadAnythingAppController::IsDocsLoadMoreButtonVisible() const {
void ReadAnythingAppController::UpdateDependencyParserModel(
base::File model_file) {
@@ -881,7 +872,7 @@ diff --git a/chrome/renderer/accessibility/read_anything/read_anything_app_contr
class ReadAnythingAppControllerTest;
class ReadAnythingAppControllerScreen2xDataCollectionModeTest;
class ReadAnythingAppControllerReadabilityTest;
-@@ -383,7 +385,9 @@ class ReadAnythingAppController
+@@ -381,7 +383,9 @@ class ReadAnythingAppController
// available.
void UpdateDependencyParserModel(base::File model_file);
@@ -894,7 +885,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
-@@ -5902,8 +5902,6 @@ if (!is_android) {
+@@ -6004,8 +6004,6 @@ if (!is_android) {
"//chrome/browser/ui/exclusive_access:test_support",
"//chrome/browser/ui/hats",
"//components/safe_browsing/content/browser:safe_browsing_blocking_page",
@@ -943,7 +934,7 @@ 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
-@@ -627,7 +627,7 @@ test("components_unittests") {
+@@ -629,7 +629,7 @@ test("components_unittests") {
"//components/media_router/common/providers/cast/channel:unit_tests",
"//components/one_time_tokens/core/browser:unit_tests",
"//components/page_info:unit_tests",
@@ -966,7 +957,7 @@ diff --git a/components/autofill/core/browser/foundations/autofill_manager.cc b/
GeoIpCountryCode country_code;
LanguageCode current_page_language;
std::unique_ptr log_manager;
-@@ -1027,12 +1029,14 @@ void AutofillManager::UpdateFormCache(
+@@ -1034,12 +1036,14 @@ void AutofillManager::UpdateFormCache(
auto apply_predictions = [](FormStructure& form_structure,
const AsyncContext& context, size_t i) {
@@ -981,7 +972,7 @@ 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());
}
-@@ -1148,6 +1152,7 @@ void AutofillManager::LogCurrentFieldTypes(
+@@ -1155,6 +1159,7 @@ void AutofillManager::LogCurrentFieldTypes(
}
}
@@ -989,7 +980,7 @@ diff --git a/components/autofill/core/browser/foundations/autofill_manager.cc b/
void AutofillManager::SubscribeToMlModelChanges(
FieldClassificationModelHandler& handler) {
switch (handler.optimization_target()) {
-@@ -1171,5 +1176,6 @@ void AutofillManager::SubscribeToMlModelChanges(
+@@ -1178,5 +1183,6 @@ void AutofillManager::SubscribeToMlModelChanges(
NOTREACHED();
}
}
@@ -999,7 +990,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
-@@ -39,6 +39,7 @@
+@@ -40,6 +40,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"
@@ -1007,7 +998,7 @@ diff --git a/components/autofill/core/browser/foundations/autofill_manager.h b/c
#include "components/translate/core/browser/translate_driver.h"
namespace autofill {
-@@ -375,10 +376,12 @@ class AutofillManager
+@@ -392,10 +393,12 @@ class AutofillManager
// Reparses all known forms.
void ReparseKnownForms();
@@ -1223,7 +1214,7 @@ diff --git a/components/omnibox/browser/base_search_provider.cc b/components/omn
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
-@@ -53,7 +53,7 @@ const char kDisableModelDownloadsForBenchmarking[] =
+@@ -55,7 +55,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,
@@ -1232,7 +1223,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 =
-@@ -123,7 +123,7 @@ PredictionModelDownloadManager::PredictionModelDownloadManager(
+@@ -125,7 +125,7 @@ PredictionModelDownloadManager::PredictionModelDownloadManager(
unzip::UnzipperFactory unzipper_factory,
scoped_refptr background_task_runner)
: download_service_tracker_(download_service_tracker),
@@ -1241,7 +1232,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),
-@@ -137,6 +137,7 @@ void PredictionModelDownloadManager::StartDownload(
+@@ -139,6 +139,7 @@ void PredictionModelDownloadManager::StartDownload(
const GURL& download_url,
proto::OptimizationTarget optimization_target,
const std::optional& scheduling_params) {
@@ -1249,7 +1240,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;
-@@ -299,6 +300,7 @@ bool PredictionModelDownloadManager::VerifyDownload(
+@@ -303,6 +304,7 @@ bool PredictionModelDownloadManager::VerifyDownload(
const base::FilePath& download_file_path,
const base::FilePath& base_model_dir,
bool delete_file_on_error) {
@@ -1311,7 +1302,7 @@ diff --git a/components/optimization_guide/core/optimization_guide_features.cc b
} // namespace
-@@ -279,8 +275,7 @@ size_t MaxHostKeyedHintCacheSize() {
+@@ -275,8 +271,7 @@ size_t MaxHostKeyedHintCacheSize() {
}
bool ShouldPersistHintsToDisk() {
@@ -1321,7 +1312,7 @@ diff --git a/components/optimization_guide/core/optimization_guide_features.cc b
}
RequestContextSet GetAllowedContextsForPersonalizedMetadata() {
-@@ -641,5 +636,9 @@ std::optional GetMainFrameGetAIPageContentTimeout() {
+@@ -637,5 +632,9 @@ std::optional GetMainFrameGetAIPageContentTimeout() {
return kGetAIPageContentMainFrameTimeoutParam.Get();
}
@@ -1347,7 +1338,7 @@ diff --git a/components/optimization_guide/features.gni b/components/optimizatio
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
-@@ -56,6 +56,7 @@ const base::FeatureParam kPageContentExtractionTriggeringMode{
+@@ -63,6 +63,7 @@ const base::FeatureParam kPageContentExtractionTriggeringMode{
bool IsSupportedLocale(const std::string& locale,
const std::string& supported_locales) {
@@ -1355,7 +1346,7 @@ diff --git a/components/page_content_annotations/core/page_content_annotations_f
if (supported_locales == "*") {
return true;
}
-@@ -75,6 +76,7 @@ bool IsSupportedLocale(const std::string& locale,
+@@ -82,6 +83,7 @@ bool IsSupportedLocale(const std::string& locale,
bool IsSupportedCountry(const std::string& country_code,
const std::string& supported_countries) {
@@ -1363,7 +1354,7 @@ diff --git a/components/page_content_annotations/core/page_content_annotations_f
if (supported_countries == "*") {
return true;
}
-@@ -274,6 +276,7 @@ bool IsSupportedLocaleForFeature(
+@@ -281,6 +283,7 @@ bool IsSupportedLocaleForFeature(
const std::string& locale,
const base::Feature& feature,
const std::string& default_value = "de,en,es,fr,it,nl,pt,tr") {
@@ -1371,7 +1362,7 @@ diff --git a/components/page_content_annotations/core/page_content_annotations_f
if (!base::FeatureList::IsEnabled(feature)) {
return false;
}
-@@ -291,6 +294,7 @@ bool IsSupportedLocaleForFeature(
+@@ -298,6 +301,7 @@ bool IsSupportedLocaleForFeature(
bool IsSupportedCountryForFeature(const std::string& country_code,
const base::Feature& feature,
const std::string& default_value) {
@@ -1379,7 +1370,7 @@ diff --git a/components/page_content_annotations/core/page_content_annotations_f
if (!base::FeatureList::IsEnabled(feature)) {
return false;
}
-@@ -305,4 +309,7 @@ bool IsSupportedCountryForFeature(const std::string& country_code,
+@@ -312,4 +316,7 @@ bool IsSupportedCountryForFeature(const std::string& country_code,
return IsSupportedCountry(country_code, value);
}
@@ -1452,8 +1443,8 @@ 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
-@@ -652,24 +652,6 @@ void GpuServiceImpl::BindWebNNContextProvider(
- std::move(pending_receiver), client_id, is_incognito));
+@@ -641,25 +641,6 @@ void GpuServiceImpl::BindWebNNContextProvider(
+ client_id, client_tracing_id, is_incognito));
return;
}
-
@@ -1467,20 +1458,21 @@ diff --git a/components/viz/service/gl/gpu_service_impl.cc b/components/viz/serv
- // `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(),
+- shared_image_manager(), gpu_channel_manager_->peak_memory_monitor(),
- base::BindOnce(&GpuServiceImpl::LoseAllContexts, weak_ptr_),
- main_runner(), GetGpuScheduler(), gpu_host_);
- }
-
-- webnn_context_provider_->BindWebNNContextProvider(std::move(pending_receiver),
-- {is_incognito, client_id});
+- webnn_context_provider_->BindWebNNContextProvider(
+- std::move(pending_receiver),
+- {is_incognito, client_id, client_tracing_id});
}
void GpuServiceImpl::GetVideoMemoryUsageStats(
diff --git a/content/browser/BUILD.gn b/content/browser/BUILD.gn
--- a/content/browser/BUILD.gn
+++ b/content/browser/BUILD.gn
-@@ -272,9 +272,9 @@ source_set("browser") {
+@@ -290,9 +290,9 @@ source_set("browser") {
"//services/viz/public/cpp/gpu",
"//services/viz/public/mojom",
"//services/webnn:buildflags",
@@ -1496,7 +1488,7 @@ diff --git a/content/browser/BUILD.gn b/content/browser/BUILD.gn
diff --git a/content/browser/gpu/gpu_process_host.cc b/content/browser/gpu/gpu_process_host.cc
--- a/content/browser/gpu/gpu_process_host.cc
+++ b/content/browser/gpu/gpu_process_host.cc
-@@ -1338,9 +1338,9 @@ bool GpuProcessHost::LaunchGpuProcess() {
+@@ -1341,9 +1341,9 @@ bool GpuProcessHost::LaunchGpuProcess() {
cmd_line->CopySwitchesFrom(browser_command_line, kSwitchNames);
cmd_line->CopySwitchesFrom(browser_command_line,
switches::kGLSwitchesCopiedFromGpuProcessHost);
@@ -1512,7 +1504,7 @@ 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
-@@ -537,6 +537,7 @@ bool ServiceWorkerMainResourceLoader::StartRaceNetworkRequest(
+@@ -543,6 +543,7 @@ bool ServiceWorkerMainResourceLoader::StartRaceNetworkRequest(
scoped_refptr context,
scoped_refptr version,
base::OnceCallback clone_completed_for_fetch_handler_callback) {
@@ -1577,17 +1569,17 @@ 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
-@@ -4,6 +4,7 @@
-
+@@ -5,6 +5,7 @@
+ import("//components/optimization_guide/features.gni")
import("//media/media_options.gni")
import("//third_party/webrtc/webrtc.gni")
+import("//components/optimization_guide/features.gni")
component("webrtc") {
output_name = "media_webrtc"
-@@ -31,6 +32,10 @@ component("webrtc") {
- "//third_party/webrtc_overrides:webrtc_component",
- ]
+@@ -36,6 +37,10 @@ component("webrtc") {
+ deps += [ "//components/optimization_guide/core/inference:op_resolver" ]
+ }
+ if (!build_with_tflite_lib) {
+ deps -= [ "//components/optimization_guide/core/inference:op_resolver" ]
@@ -1602,20 +1594,11 @@ diff --git a/media/webrtc/helpers.cc b/media/webrtc/helpers.cc
@@ -14,6 +14,7 @@
#include "build/build_config.h"
#include "build/chromecast_buildflags.h"
- #include "components/optimization_guide/core/tflite_op_resolver.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"
-@@ -161,7 +162,7 @@ CreateWebRtcAudioProcessingModule(
- // Fuchsia does not use the optimization guide.
- // Avoid linking the op resolver to keep Fuchsia binary size down.
- // TODO(crbug.com/450466837): Investigate if this build guard can be avoided.
--#if !BUILDFLAG(IS_FUCHSIA)
-+#if !BUILDFLAG(IS_FUCHSIA) && BUILDFLAG(BUILD_WITH_TFLITE_LIB)
- if (residual_echo_estimator_model) {
- optimization_guide::TFLiteOpResolver op_resolver;
- echo_estimator = webrtc::CreateNeuralResidualEchoEstimator(
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
@@ -1676,7 +1659,7 @@ diff --git a/services/webnn/features.gni b/services/webnn/features.gni
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
-@@ -258,35 +258,7 @@ void WebNNContextProviderImpl::CreateWebNNContext(
+@@ -263,35 +263,7 @@ void WebNNContextProviderImpl::CreateWebNNContext(
}
#if BUILDFLAG(IS_WIN)
@@ -1694,7 +1677,7 @@ diff --git a/services/webnn/webnn_context_provider_impl.cc b/services/webnn/webn
- std::move(read_tensor_producer), std::move(read_tensor_consumer),
- command_buffer_id, std::move(gpu_sequence),
- std::move(owning_task_runner), std::move(receiver), std::move(remote),
-- std::move(callback), params.is_incognito,
+- std::move(callback), params.is_incognito, std::move(memory_tracker),
- /*ep_package_info=*/{});
- return;
- }
@@ -1706,7 +1689,7 @@ diff --git a/services/webnn/webnn_context_provider_impl.cc b/services/webnn/webn
- std::move(read_tensor_producer), std::move(read_tensor_consumer),
- command_buffer_id, std::move(gpu_sequence),
- std::move(owning_task_runner), std::move(receiver), std::move(remote),
-- std::move(callback), params.is_incognito));
+- std::move(callback), params.is_incognito, std::move(memory_tracker)));
- return;
- } else if (dml::ShouldCreateDmlContext(*options)) {
+ if (dml::ShouldCreateDmlContext(*options)) {
@@ -1716,7 +1699,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
-@@ -1797,6 +1797,7 @@ ALWAYS_INLINE bool HTMLDocumentParser::ShouldCheckTimeBudget(
+@@ -1782,6 +1782,7 @@ ALWAYS_INLINE bool HTMLDocumentParser::ShouldCheckTimeBudget(
}
bool HTMLDocumentParser::ShouldSkipPreloadScan() {
@@ -1738,7 +1721,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
-@@ -4213,7 +4213,7 @@
+@@ -4329,7 +4329,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 9b7051cc..1ea25053 100644
--- a/build/patches/Disable-all-promo-dialogs.patch
+++ b/build/patches/Disable-all-promo-dialogs.patch
@@ -4,21 +4,18 @@ Subject: Disable all promo dialogs
License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
---
- .../chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java | 1 +
- chrome/browser/ui/browser_ui_prefs.cc | 2 +-
- .../views/profiles/profile_picker_feature_promo_controller.cc | 1 +
- .../user_education/impl/browser_feature_promo_controller_20.cc | 1 +
- .../chrome/browser/user_education/UserEducationHelper.java | 1 +
- .../browser/user_education/user_education_service_factory.cc | 1 +
- .../common/feature_promo/feature_promo_registry.cc | 2 ++
- .../common/feature_promo/impl/feature_promo_controller_20.cc | 1 +
- .../common/feature_promo/impl/feature_promo_controller_25.cc | 3 ++-
- 9 files changed, 11 insertions(+), 2 deletions(-)
+ .../chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java | 1 +
+ chrome/browser/ui/browser_ui_prefs.cc | 2 +-
+ .../chrome/browser/user_education/UserEducationHelper.java | 1 +
+ chrome/browser/user_education/user_education_service_factory.cc | 1 +
+ .../common/feature_promo/feature_promo_registry.cc | 2 ++
+ .../common/feature_promo/impl/feature_promo_queue.cc | 1 +
+ 6 files changed, 7 insertions(+), 1 deletion(-)
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
-@@ -1976,6 +1976,7 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator {
+@@ -2066,6 +2066,7 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator {
}
private boolean maybeShowPromo(Profile profile) {
@@ -29,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
-@@ -188,7 +188,7 @@ void RegisterBrowserUserPrefs(user_prefs::PrefRegistrySyncable* registry) {
+@@ -191,7 +191,7 @@ void RegisterBrowserUserPrefs(user_prefs::PrefRegistrySyncable* registry) {
registry->RegisterBooleanPref(prefs::kEnterpriseHardwarePlatformAPIEnabled,
false);
@@ -38,28 +35,6 @@ diff --git a/chrome/browser/ui/browser_ui_prefs.cc b/chrome/browser/ui/browser_u
registry->RegisterBooleanPref(
prefs::kExternalProtocolDialogShowAlwaysOpenCheckbox, true);
registry->RegisterBooleanPref(prefs::kScreenCaptureAllowed, true);
-diff --git a/chrome/browser/ui/views/profiles/profile_picker_feature_promo_controller.cc b/chrome/browser/ui/views/profiles/profile_picker_feature_promo_controller.cc
---- a/chrome/browser/ui/views/profiles/profile_picker_feature_promo_controller.cc
-+++ b/chrome/browser/ui/views/profiles/profile_picker_feature_promo_controller.cc
-@@ -36,6 +36,7 @@ user_education::FeaturePromoResult
- ProfilePickerFeaturePromoController::CanShowPromoForElement(
- ui::TrackedElement* anchor_element,
- const user_education::UserEducationContextPtr&) const {
-+ if ((true)) return user_education::FeaturePromoResult::kBlockedByUi;
- return ProfilePicker::IsOpen()
- ? user_education::FeaturePromoResult::Success()
- : user_education::FeaturePromoResult::kBlockedByUi;
-diff --git a/chrome/browser/ui/views/user_education/impl/browser_feature_promo_controller_20.cc b/chrome/browser/ui/views/user_education/impl/browser_feature_promo_controller_20.cc
---- a/chrome/browser/ui/views/user_education/impl/browser_feature_promo_controller_20.cc
-+++ b/chrome/browser/ui/views/user_education/impl/browser_feature_promo_controller_20.cc
-@@ -47,6 +47,7 @@ user_education::FeaturePromoResult
- BrowserFeaturePromoController20::CanShowPromoForElement(
- ui::TrackedElement* anchor_element,
- const user_education::UserEducationContextPtr& context) const {
-+ if ((true)) return user_education::FeaturePromoResult::kBlockedByUi;
- auto* const browser_context = context->AsA();
- CHECK(browser_context && browser_context->IsValid());
- auto* const browser_view = &browser_context->GetBrowserView();
diff --git a/chrome/browser/user_education/java/src/org/chromium/chrome/browser/user_education/UserEducationHelper.java b/chrome/browser/user_education/java/src/org/chromium/chrome/browser/user_education/UserEducationHelper.java
--- a/chrome/browser/user_education/java/src/org/chromium/chrome/browser/user_education/UserEducationHelper.java
+++ b/chrome/browser/user_education/java/src/org/chromium/chrome/browser/user_education/UserEducationHelper.java
@@ -101,35 +76,15 @@ diff --git a/components/user_education/common/feature_promo/feature_promo_regist
const base::Feature* const iph_feature = spec.feature;
CHECK(iph_feature);
FeatureRegistry::RegisterFeature(*iph_feature,
-diff --git a/components/user_education/common/feature_promo/impl/feature_promo_controller_20.cc b/components/user_education/common/feature_promo/impl/feature_promo_controller_20.cc
---- a/components/user_education/common/feature_promo/impl/feature_promo_controller_20.cc
-+++ b/components/user_education/common/feature_promo/impl/feature_promo_controller_20.cc
-@@ -109,6 +109,7 @@ FeaturePromoResult FeaturePromoController20::CanShowPromoCommon(
- const UserEducationContextPtr& context,
- ShowSource source,
- CanShowPromoOutputs* outputs) const {
-+ if ((true)) return FeaturePromoResult::kBlockedByContext;
- const bool for_demo = source == ShowSource::kDemo;
-
- // Ensure that this promo isn't already queued for startup.
-diff --git a/components/user_education/common/feature_promo/impl/feature_promo_controller_25.cc b/components/user_education/common/feature_promo/impl/feature_promo_controller_25.cc
---- a/components/user_education/common/feature_promo/impl/feature_promo_controller_25.cc
-+++ b/components/user_education/common/feature_promo/impl/feature_promo_controller_25.cc
-@@ -189,6 +189,7 @@ FeaturePromoController25::~FeaturePromoController25() {
- FeaturePromoResult FeaturePromoController25::CanShowPromo(
- const FeaturePromoParams& params,
+diff --git a/components/user_education/common/feature_promo/impl/feature_promo_queue.cc b/components/user_education/common/feature_promo/impl/feature_promo_queue.cc
+--- a/components/user_education/common/feature_promo/impl/feature_promo_queue.cc
++++ b/components/user_education/common/feature_promo/impl/feature_promo_queue.cc
+@@ -76,6 +76,7 @@ FeaturePromoResult FeaturePromoQueue::CanShow(
+ const FeaturePromoSpecification& spec,
+ const FeaturePromoParams& promo_params,
const UserEducationContextPtr& context) const {
-+ if ((true)) return FeaturePromoResult::kBlockedByContext;
- auto* const spec = registry()->GetParamsForFeature(*params.feature);
- if (!spec) {
- return FeaturePromoResult::kError;
-@@ -211,7 +212,7 @@ void FeaturePromoController25::MaybeShowStartupPromo(
- void FeaturePromoController25::MaybeShowPromo(FeaturePromoParams params,
- UserEducationContextPtr context) {
- auto* const spec = registry()->GetParamsForFeature(*params.feature);
-- if (!spec) {
-+ if (((true)) || !spec) {
- PostShowPromoResult(*params.feature,
- std::move(params.show_promo_result_callback),
- FeaturePromoResult::kError);
++ if ((true)) return user_education::FeaturePromoResult::kBlockedByUi;
+ auto required = required_preconditions_provider_->GetPreconditions(
+ spec, promo_params, context);
+ UnownedTypedDataCollection data;
--
diff --git a/build/patches/Disable-conversion-measurement-api.patch b/build/patches/Disable-conversion-measurement-api.patch
index 68b251e5..6a3fbfbb 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
-@@ -1350,6 +1350,7 @@ network::mojom::AttributionSupport
+@@ -1371,6 +1371,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:
-@@ -1368,6 +1369,8 @@ bool AwContentBrowserClient::IsAttributionReportingOperationAllowed(
+@@ -1389,6 +1390,8 @@ bool AwContentBrowserClient::IsAttributionReportingOperationAllowed(
const url::Origin* destination_origin,
const url::Origin* reporting_origin,
bool* can_bypass) {
@@ -82,7 +82,7 @@ diff --git a/android_webview/java/src/org/chromium/android_webview/AwSettings.ja
@SpeculativeLoadingAllowedFlags
private int mSpeculativeLoadingAllowedFlags =
-@@ -1813,7 +1813,7 @@ public class AwSettings {
+@@ -1820,7 +1820,7 @@ public class AwSettings {
public void setAttributionBehavior(@AttributionBehavior int behavior) {
synchronized (mAwSettingsLock) {
if (mAttributionBehavior != behavior) {
@@ -94,7 +94,7 @@ diff --git a/android_webview/java/src/org/chromium/android_webview/AwSettings.ja
diff --git a/android_webview/tools/system_webview_shell/apk/AndroidManifest.xml b/android_webview/tools/system_webview_shell/apk/AndroidManifest.xml
--- a/android_webview/tools/system_webview_shell/apk/AndroidManifest.xml
+++ b/android_webview/tools/system_webview_shell/apk/AndroidManifest.xml
-@@ -190,9 +190,6 @@
+@@ -191,9 +191,6 @@
android:exported="true">
@@ -115,7 +115,7 @@ diff --git a/chrome/android/java/AndroidManifest.xml b/chrome/android/java/Andro
GetSwitchValueASCII(switches::kProcessType);
const bool is_browser_process = process_type.empty();
diff --git a/build/patches/Enable-menu-on-reload-button.patch b/build/patches/Enable-menu-on-reload-button.patch
index b4fd10a6..4389ffc4 100644
--- a/build/patches/Enable-menu-on-reload-button.patch
+++ b/build/patches/Enable-menu-on-reload-button.patch
@@ -14,7 +14,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
diff --git a/chrome/app/generated_resources.grd b/chrome/app/generated_resources.grd
--- a/chrome/app/generated_resources.grd
+++ b/chrome/app/generated_resources.grd
-@@ -4859,10 +4859,10 @@ are declared in tools/grit/grit_args.gni.
+@@ -4899,10 +4899,10 @@ are declared in tools/grit/grit_args.gni.
Normal Reload
@@ -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
-@@ -691,7 +691,7 @@ void ToolbarView::Update(WebContents* tab) {
+@@ -1140,7 +1140,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 314f9717..bf7a2e9b 100644
--- a/build/patches/Enable-native-Android-autofill.patch
+++ b/build/patches/Enable-native-Android-autofill.patch
@@ -16,13 +16,12 @@ 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
---
.../settings/PasswordSettings.java | 84 ++++++++++++++++-
- .../chrome/browser/settings/MainSettings.java | 17 +---
+ .../chrome/browser/settings/MainSettings.java | 18 +---
.../chromium/chrome/browser/tab/TabImpl.java | 41 ++++++--
chrome/browser/android/tab_android.cc | 4 +-
chrome/browser/autofill/android/BUILD.gn | 2 +-
.../autofill/AutofillClientProviderUtils.java | 2 +-
...AutofillThirdPartyModeContentProvider.java | 1 +
- .../glic/actor_form_filling_service_impl.cc | 16 ++--
.../strings/android_chrome_strings.grd | 6 ++
.../ui/autofill/autofill_client_provider.cc | 94 +------------------
.../ui/autofill/autofill_client_provider.h | 6 --
@@ -45,7 +44,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../foundations/browser_autofill_manager.h | 2 +
.../autofill/core/common/autofill_prefs.cc | 4 +-
.../autofill/core/common/autofill_prefs.h | 5 +
- 30 files changed, 247 insertions(+), 143 deletions(-)
+ 29 files changed, 239 insertions(+), 136 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
@@ -187,13 +186,14 @@ 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
-@@ -626,21 +626,8 @@ public class MainSettings extends ChromeBaseSettingsFragment
+@@ -627,22 +627,8 @@ public class MainSettings extends ChromeBaseSettingsFragment
}
private void updateAutofillPreferences() {
- addPreferenceIfAbsent(PREF_AUTOFILL_SECTION);
- addPreferenceIfAbsent(PREF_AUTOFILL_OPTIONS);
- Preference autofillOptionsPreference = findPreference(PREF_AUTOFILL_OPTIONS);
+- autofillOptionsPreference.setTitle(AutofillOptionsMediator.getFragmentTitle(getContext()));
- autofillOptionsPreference.setFragment(null);
- autofillOptionsPreference.setOnPreferenceClickListener(
- preference -> {
@@ -214,8 +214,8 @@ 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.lang.ref.WeakReference;
- import java.nio.ByteBuffer;
+@@ -122,6 +122,13 @@ import java.util.HashMap;
+ import java.util.Map;
import java.util.Objects;
+import org.chromium.components.autofill.AutofillSelectionMenuItemHelper;
@@ -228,7 +228,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.
-@@ -1330,6 +1337,11 @@ class TabImpl implements Tab {
+@@ -1248,6 +1255,11 @@ class TabImpl implements Tab {
}
mObservers.clear();
@@ -240,7 +240,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.jav
if (!abortNavigationsFromTabClosures) mUserDataHost.destroy();
mTabViewManager.destroy();
hideNativePage(false, null);
-@@ -1715,6 +1727,7 @@ class TabImpl implements Tab {
+@@ -1637,6 +1649,7 @@ class TabImpl implements Tab {
* @return iff the AutofillProvider should provide a ViewStructure when prompted.
*/
boolean providesAutofillStructure() {
@@ -248,7 +248,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.jav
if (!mProfile.isNativeInitialized()) {
return false;
}
-@@ -2497,16 +2510,21 @@ class TabImpl implements Tab {
+@@ -2436,16 +2449,21 @@ class TabImpl implements Tab {
* @return true if the the provider is available for the given WebContents.
*/
private boolean prepareAutofillProvider(WebContents newWebContents) {
@@ -276,7 +276,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(
-@@ -2516,7 +2534,16 @@ class TabImpl implements Tab {
+@@ -2455,7 +2473,16 @@ class TabImpl implements Tab {
getContext().getString(R.string.app_name));
TabImplJni.get().initializeAutofillIfNecessary(mNativeTabAndroid);
}
@@ -297,15 +297,15 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.jav
diff --git a/chrome/browser/android/tab_android.cc b/chrome/browser/android/tab_android.cc
--- a/chrome/browser/android/tab_android.cc
+++ b/chrome/browser/android/tab_android.cc
-@@ -39,6 +39,7 @@
- #include "chrome/browser/resource_coordinator/tab_load_tracker.h"
+@@ -40,6 +40,7 @@
#include "chrome/browser/sync/glue/synced_tab_delegate_android.h"
+ #include "chrome/browser/tab/web_contents_state.h"
#include "chrome/browser/tab_contents/tab_util.h"
+#include "chrome/browser/ui/autofill/chrome_autofill_client.h"
#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"
-@@ -418,8 +419,7 @@ void TabAndroid::InitializeAutofillIfNecessary() {
+@@ -417,8 +418,7 @@ void TabAndroid::InitializeAutofillIfNecessary() {
->MaybeInitKeyboardSuppressor();
return;
}
@@ -318,7 +318,7 @@ diff --git a/chrome/browser/android/tab_android.cc b/chrome/browser/android/tab_
diff --git a/chrome/browser/autofill/android/BUILD.gn b/chrome/browser/autofill/android/BUILD.gn
--- a/chrome/browser/autofill/android/BUILD.gn
+++ b/chrome/browser/autofill/android/BUILD.gn
-@@ -181,7 +181,7 @@ android_library("bottom_sheet_utils_java") {
+@@ -187,7 +187,7 @@ android_library("bottom_sheet_utils_java") {
generate_jni("jni_headers") {
sources = [
"java/src/org/chromium/chrome/browser/autofill/AddressNormalizerFactory.java",
@@ -352,36 +352,10 @@ diff --git a/chrome/browser/autofill/android/java/src/org/chromium/chrome/browse
if (createContentUri().equals(uri)) {
final String[] columns = {AUTOFILL_THIRD_PARTY_MODE_COLUMN};
MatrixCursor cursor = new MatrixCursor(columns, 1);
-diff --git a/chrome/browser/autofill/glic/actor_form_filling_service_impl.cc b/chrome/browser/autofill/glic/actor_form_filling_service_impl.cc
---- a/chrome/browser/autofill/glic/actor_form_filling_service_impl.cc
-+++ b/chrome/browser/autofill/glic/actor_form_filling_service_impl.cc
-@@ -412,14 +412,14 @@ GetAutofillManager(const tabs::TabInterface& tab) {
- if (!profile) {
- return base::unexpected(kAutofillNotAvailable);
- }
-- if (AutofillClientProviderFactory::GetForProfile(profile)
-- .uses_platform_autofill()) {
-- // This is currently only possible on Android platforms, but this check
-- // guards against this becoming applicable for Desktop platforms as well.
-- // It is a requirement for the cast to `BrowserAutofillManager` to be
-- // safe.
-- return base::unexpected(kAutofillNotAvailable);
-- }
-+ // if (AutofillClientProviderFactory::GetForProfile(profile)
-+ // .uses_platform_autofill()) {
-+ // // This is currently only possible on Android platforms, but this check
-+ // // guards against this becoming applicable for Desktop platforms as well.
-+ // // It is a requirement for the cast to `BrowserAutofillManager` to be
-+ // // safe.
-+ // return base::unexpected(kAutofillNotAvailable);
-+ // }
-
- ContentAutofillClient* const client =
- ContentAutofillClient::FromWebContents(tab.GetContents());
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
-@@ -332,6 +332,12 @@ CHAR_LIMIT guidelines:
+@@ -336,6 +336,12 @@ CHAR_LIMIT guidelines:
You and Google
@@ -532,7 +506,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
-@@ -377,9 +377,7 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) {
+@@ -380,9 +380,7 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) {
web_contents);
ChainedBackNavigationTracker::CreateForWebContents(web_contents);
chrome_browser_net::NetErrorTabHelper::CreateForWebContents(web_contents);
@@ -609,7 +583,7 @@ diff --git a/components/android_autofill/browser/java/src/org/chromium/component
@@ -366,5 +368,6 @@ public class AutofillManagerWrapper {
// NOTE: See the comment on TAG above for why this is still AwAutofillManager.
// Check the system setting directly.
- sIsLoggable = android.util.Log.isLoggable(TAG, Log.DEBUG);
+ sIsLoggable = Log.isLoggable(TAG, Log.DEBUG);
+ // sIsLoggable = true; // to force enable the log
}
}
@@ -686,7 +660,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
-@@ -279,6 +279,13 @@ void RouteToManager(ContentAutofillDriver& source,
+@@ -280,6 +280,13 @@ void RouteToManager(ContentAutofillDriver& source,
AutofillManager& manager = target.GetAutofillManager();
(manager.*
manager_fun)(WithNewVersion(std::forward(args))...);
@@ -700,7 +674,7 @@ diff --git a/components/autofill/content/browser/content_autofill_driver.cc b/co
},
source, Lift(source, std::forward(args))...);
}
-@@ -694,6 +701,10 @@ ContentAutofillDriver::GetAutofillAgent() {
+@@ -700,6 +707,10 @@ ContentAutofillDriver::GetAutofillAgent() {
return autofill_agent_;
}
@@ -727,7 +701,7 @@ diff --git a/components/autofill/content/browser/content_autofill_driver.h b/com
content::RenderFrameHost* render_frame_host() { return &*render_frame_host_; }
const content::RenderFrameHost* render_frame_host() const {
return &*render_frame_host_;
-@@ -315,6 +321,10 @@ class ContentAutofillDriver : public AutofillDriver,
+@@ -316,6 +322,10 @@ class ContentAutofillDriver : public AutofillDriver,
// The factory that created this driver. Outlives `this`.
const raw_ref owner_;
@@ -770,7 +744,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
-@@ -1516,17 +1516,19 @@ void AutofillAgent::ShowSuggestions(
+@@ -1615,17 +1615,19 @@ void AutofillAgent::ShowSuggestions(
password_generation_agent_->ShowPasswordGenerationSuggestions(
input_element, form_cache)) {
is_popup_possibly_visible_ = true;
@@ -838,7 +812,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
-@@ -241,6 +241,8 @@ class AutofillManager
+@@ -247,6 +247,8 @@ class AutofillManager
LifecycleState new_state,
base::PassKey pass_key);
@@ -850,7 +824,7 @@ diff --git a/components/autofill/core/browser/foundations/autofill_manager.h b/c
diff --git a/components/autofill/core/browser/foundations/browser_autofill_manager.cc b/components/autofill/core/browser/foundations/browser_autofill_manager.cc
--- a/components/autofill/core/browser/foundations/browser_autofill_manager.cc
+++ b/components/autofill/core/browser/foundations/browser_autofill_manager.cc
-@@ -877,6 +877,8 @@ base::WeakPtr BrowserAutofillManager::GetWeakPtr() {
+@@ -912,6 +912,8 @@ base::WeakPtr BrowserAutofillManager::GetWeakPtr() {
return weak_ptr_factory_.GetWeakPtr();
}
@@ -862,7 +836,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
-@@ -440,6 +440,8 @@ class BrowserAutofillManager : public AutofillManager {
+@@ -457,6 +457,8 @@ class BrowserAutofillManager : public AutofillManager {
// latter check is needed because IPC messages can arrive out of order.
void UpdateInitialInteractionTimestamp(base::TimeTicks interaction_timestamp);
diff --git a/build/patches/Enable-network-isolation-features.patch b/build/patches/Enable-network-isolation-features.patch
index 4288b993..b5257dd0 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
-@@ -440,8 +440,8 @@ bool GetHttpCacheBackendResetParam(PrefService* local_state) {
+@@ -459,8 +459,8 @@ bool GetHttpCacheBackendResetParam(PrefService* local_state) {
experiment_parts.push_back(kDiskCacheExperimentNameNone);
// SplitCacheByIncludeCredentials experiment:
experiment_parts.push_back(credentials_field_trial
@@ -53,7 +53,7 @@ new file mode 100644
diff --git a/net/http/http_cache.cc b/net/http/http_cache.cc
--- a/net/http/http_cache.cc
+++ b/net/http/http_cache.cc
-@@ -724,7 +724,7 @@ bool HttpCache::CanGenerateCacheKeyForRequest(const HttpRequestInfo& request) {
+@@ -795,7 +795,7 @@ bool HttpCache::CanGenerateCacheKeyForRequest(const HttpRequestInfo& request) {
// static
// Generate a key that can be used inside the cache.
@@ -62,7 +62,7 @@ diff --git a/net/http/http_cache.cc b/net/http/http_cache.cc
const GURL& url,
int load_flags,
const NetworkIsolationKey& network_isolation_key,
-@@ -761,8 +761,9 @@ std::string HttpCache::GenerateCacheKey(
+@@ -832,8 +832,9 @@ std::string HttpCache::GenerateCacheKey(
const bool is_initiator_cross_site =
!net::SchemefulSite::IsSameSite(*initiator, url::Origin::Create(url));
if (is_initiator_cross_site) {
@@ -74,7 +74,7 @@ diff --git a/net/http/http_cache.cc b/net/http/http_cache.cc
}
}
isolation_key = base::StrCat(
-@@ -781,10 +782,12 @@ std::string HttpCache::GenerateCacheKey(
+@@ -852,10 +853,12 @@ std::string HttpCache::GenerateCacheKey(
// Strip out the reference, username, and password sections of the URL and
// concatenate with the credential_key, the post_key, and the network
// isolation key if we are splitting the cache.
@@ -88,7 +88,7 @@ diff --git a/net/http/http_cache.cc b/net/http/http_cache.cc
}
// static
-@@ -804,11 +807,13 @@ std::optional HttpCache::GenerateCacheKeyInternal(
+@@ -875,11 +878,13 @@ std::optional HttpCache::GenerateCacheKeyInternal(
const int64_t upload_data_identifier =
request.upload_data_stream ? request.upload_data_stream->identifier()
: int64_t{0};
@@ -106,7 +106,7 @@ diff --git a/net/http/http_cache.cc b/net/http/http_cache.cc
diff --git a/net/http/http_cache.h b/net/http/http_cache.h
--- a/net/http/http_cache.h
+++ b/net/http/http_cache.h
-@@ -551,7 +551,7 @@ class NET_EXPORT HttpCache : public HttpTransactionFactory {
+@@ -591,7 +591,7 @@ class NET_EXPORT HttpCache : public HttpTransactionFactory {
// Generates a cache key given the various pieces used to construct the key.
// Must not be called if a corresponding `CanGenerateCacheKeyForRequest`
// returns false.
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 4da350a9..447fbb9a 100644
--- a/build/patches/Enable-platform-aac-audio-and-h264-video.patch
+++ b/build/patches/Enable-platform-aac-audio-and-h264-video.patch
@@ -50,7 +50,7 @@ diff --git a/media/BUILD.gn b/media/BUILD.gn
diff --git a/media/base/android/java/src/org/chromium/media/AudioManagerAndroid.java b/media/base/android/java/src/org/chromium/media/AudioManagerAndroid.java
--- a/media/base/android/java/src/org/chromium/media/AudioManagerAndroid.java
+++ b/media/base/android/java/src/org/chromium/media/AudioManagerAndroid.java
-@@ -669,6 +669,8 @@ class AudioManagerAndroid {
+@@ -678,6 +678,8 @@ class AudioManagerAndroid {
break;
}
}
@@ -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
-@@ -726,6 +726,7 @@ void FFmpegDemuxerStream::InitBitstreamConverter() {
+@@ -727,6 +727,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.
@@ -190,7 +190,7 @@ diff --git a/media/filters/win/media_foundation_audio_decoder.cc b/media/filters
diff --git a/media/gpu/windows/supported_profile_helpers.cc b/media/gpu/windows/supported_profile_helpers.cc
--- a/media/gpu/windows/supported_profile_helpers.cc
+++ b/media/gpu/windows/supported_profile_helpers.cc
-@@ -344,7 +344,11 @@ SupportedResolutionRangeMap GetSupportedD3DVideoDecoderResolutions(
+@@ -364,7 +364,11 @@ SupportedResolutionRangeMap GetSupportedD3DVideoDecoderResolutions(
//
// On Windows 7 the maximum resolution supported by media foundation is
// 1920 x 1088. We use 1088 to account for 16x16 macro-blocks.
@@ -202,7 +202,7 @@ diff --git a/media/gpu/windows/supported_profile_helpers.cc b/media/gpu/windows/
SupportedResolutionRange h264_profile;
h264_profile.min_resolution = kMinResolution;
h264_profile.max_landscape_resolution = kDefaultMaxH264Resolution;
-@@ -352,7 +356,14 @@ SupportedResolutionRangeMap GetSupportedD3DVideoDecoderResolutions(
+@@ -372,7 +376,14 @@ SupportedResolutionRangeMap GetSupportedD3DVideoDecoderResolutions(
// We don't have a way to map DXVA support to specific H.264 profiles, so just
// mark all the common ones with the same level of support.
constexpr VideoCodecProfile kSupportedH264Profiles[] = {
diff --git a/build/patches/Enable-search-engine-settings-desktop-ui.patch b/build/patches/Enable-search-engine-settings-desktop-ui.patch
index 11565b91..778efc84 100644
--- a/build/patches/Enable-search-engine-settings-desktop-ui.patch
+++ b/build/patches/Enable-search-engine-settings-desktop-ui.patch
@@ -121,7 +121,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/Settin
diff --git a/chrome/app/generated_resources.grd b/chrome/app/generated_resources.grd
--- a/chrome/app/generated_resources.grd
+++ b/chrome/app/generated_resources.grd
-@@ -328,6 +328,11 @@ are declared in tools/grit/grit_args.gni.
+@@ -326,6 +326,11 @@ are declared in tools/grit/grit_args.gni.
@@ -133,7 +133,7 @@ diff --git a/chrome/app/generated_resources.grd b/chrome/app/generated_resources
-@@ -534,7 +539,7 @@ are declared in tools/grit/grit_args.gni.
+@@ -532,7 +537,7 @@ are declared in tools/grit/grit_args.gni.
Disable
@@ -156,7 +156,7 @@ diff --git a/chrome/app/generated_resources.grd.gritdeps b/chrome/app/generated_
diff --git a/chrome/app/settings_strings.grdp b/chrome/app/settings_strings.grdp
--- a/chrome/app/settings_strings.grdp
+++ b/chrome/app/settings_strings.grdp
-@@ -2397,6 +2397,9 @@
+@@ -2473,6 +2473,9 @@
URL with %s in place of query
@@ -434,7 +434,7 @@ new file mode 100644
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
--- a/chrome/browser/BUILD.gn
+++ b/chrome/browser/BUILD.gn
-@@ -3686,6 +3686,9 @@ static_library("browser") {
+@@ -3600,6 +3600,9 @@ static_library("browser") {
"//components/user_scripts/android",
]
}
@@ -447,7 +447,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
diff --git a/chrome/browser/chrome_browser_interface_binders_webui_parts_desktop.cc b/chrome/browser/chrome_browser_interface_binders_webui_parts_desktop.cc
--- a/chrome/browser/chrome_browser_interface_binders_webui_parts_desktop.cc
+++ b/chrome/browser/chrome_browser_interface_binders_webui_parts_desktop.cc
-@@ -378,6 +378,9 @@ void PopulateChromeWebUIFrameBindersPartsDesktop(
+@@ -388,6 +388,9 @@ void PopulateChromeWebUIFrameBindersPartsDesktop(
#endif // !BUILDFLAG(IS_CHROMEOS)
>(map);
@@ -472,7 +472,7 @@ diff --git a/chrome/browser/extensions/extension_util.h b/chrome/browser/extensi
diff --git a/chrome/browser/resources/BUILD.gn b/chrome/browser/resources/BUILD.gn
--- a/chrome/browser/resources/BUILD.gn
+++ b/chrome/browser/resources/BUILD.gn
-@@ -28,6 +28,13 @@ group("resources") {
+@@ -32,6 +32,13 @@ group("resources") {
public_deps += [ ":component_extension_resources" ]
}
@@ -501,7 +501,7 @@ diff --git a/chrome/browser/resources/settings/BUILD.gn b/chrome/browser/resourc
diff --git a/chrome/browser/resources/settings/lazy_load.ts b/chrome/browser/resources/settings/lazy_load.ts
--- a/chrome/browser/resources/settings/lazy_load.ts
+++ b/chrome/browser/resources/settings/lazy_load.ts
-@@ -142,7 +142,7 @@ export {CrTextareaElement} from 'chrome://resources/cr_elements/cr_textarea/cr_t
+@@ -141,7 +141,7 @@ export {CrTextareaElement} from 'chrome://resources/cr_elements/cr_textarea/cr_t
export {CrToastElement} from 'chrome://resources/cr_elements/cr_toast/cr_toast.js';
export {getToastManager} from 'chrome://resources/cr_elements/cr_toast/cr_toast_manager.js';
export {CrTooltipElement} from 'chrome://resources/cr_elements/cr_tooltip/cr_tooltip.js';
@@ -845,9 +845,9 @@ diff --git a/chrome/browser/search/background/BUILD.gn b/chrome/browser/search/b
diff --git a/chrome/browser/search_engines/android/BUILD.gn b/chrome/browser/search_engines/android/BUILD.gn
--- a/chrome/browser/search_engines/android/BUILD.gn
+++ b/chrome/browser/search_engines/android/BUILD.gn
-@@ -86,6 +86,7 @@ android_resources("java_resources") {
- "java/res/layout/custom_search_engine_list_preference.xml",
- "java/res/layout/default_search_engine_dialog_view.xml",
+@@ -111,6 +111,7 @@ android_resources("java_resources") {
+ "java/res/layout/keyboard_shortcut_radio_group.xml",
+ "java/res/layout/preference_list_recycler_view.xml",
"java/res/layout/search_engine_choice_header.xml",
+ "java/res/layout/search_engine_layout.xml",
"java/res/layout/search_engine_recent_title.xml",
@@ -930,7 +930,7 @@ diff --git a/chrome/browser/search_engines/android/java/src/org/chromium/chrome/
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
-@@ -679,7 +679,11 @@ static_library("ui") {
+@@ -705,7 +705,11 @@ static_library("ui") {
if (is_desktop_android) {
deps += [ "//chrome/browser/ui/android/extensions/windowing/internal" ]
}
@@ -943,7 +943,7 @@ diff --git a/chrome/browser/ui/BUILD.gn b/chrome/browser/ui/BUILD.gn
# TODO(crbug.com/413572035): Move into build files of the actual
# modules depending on this. eg: autofill, user_education.
if (is_chrome_branded) {
-@@ -1018,6 +1022,25 @@ static_library("ui") {
+@@ -1049,6 +1053,25 @@ static_library("ui") {
"//extensions/browser:extension_action_enums",
]
}
@@ -972,7 +972,7 @@ diff --git a/chrome/browser/ui/BUILD.gn b/chrome/browser/ui/BUILD.gn
diff --git a/chrome/browser/ui/search_engines/edit_search_engine_controller.cc b/chrome/browser/ui/search_engines/edit_search_engine_controller.cc
--- a/chrome/browser/ui/search_engines/edit_search_engine_controller.cc
+++ b/chrome/browser/ui/search_engines/edit_search_engine_controller.cc
-@@ -93,9 +93,11 @@ bool EditSearchEngineController::IsKeywordValid(
+@@ -50,12 +50,14 @@ bool EditSearchEngineController::IsKeywordValid(
void EditSearchEngineController::AcceptAddOrEdit(
const std::u16string& title_input,
const std::u16string& keyword_input,
@@ -980,12 +980,15 @@ diff --git a/chrome/browser/ui/search_engines/edit_search_engine_controller.cc b
+ const std::string& url_input,
+ const std::string& url_suggestion_input) {
DCHECK(!keyword_input.empty());
- std::string url_string = GetFixedUpURL(url_input);
+ TemplateURLService* template_url_service =
+ TemplateURLServiceFactory::GetForProfile(profile_);
+ std::string url_string = GetFixedUpSearchEngineUrl(
+ url_input, template_url_service->search_terms_data());
+ std::string url_suggestion = GetFixedUpURL(url_suggestion_input);
DCHECK(!url_string.empty());
- TemplateURLService* template_url_service =
-@@ -119,12 +121,12 @@ void EditSearchEngineController::AcceptAddOrEdit(
+ const TemplateURL* existing =
+@@ -77,12 +79,12 @@ void EditSearchEngineController::AcceptAddOrEdit(
DCHECK(template_url_);
template_url_service->AddWithOverrides(
base::WrapUnique(template_url_.get()), title_input, keyword_input,
@@ -1093,7 +1096,7 @@ diff --git a/chrome/browser/ui/search_engines/keyword_editor_controller.h b/chro
diff --git a/chrome/browser/ui/search_engines/template_url_table_model.cc b/chrome/browser/ui/search_engines/template_url_table_model.cc
--- a/chrome/browser/ui/search_engines/template_url_table_model.cc
+++ b/chrome/browser/ui/search_engines/template_url_table_model.cc
-@@ -210,7 +210,8 @@ void TemplateURLTableModel::Remove(size_t index) {
+@@ -139,7 +139,8 @@ void TemplateURLTableModel::Remove(size_t index) {
void TemplateURLTableModel::Add(size_t index,
const std::u16string& short_name,
const std::u16string& keyword,
@@ -1103,7 +1106,7 @@ diff --git a/chrome/browser/ui/search_engines/template_url_table_model.cc b/chro
DCHECK(index <= RowCount());
DCHECK(!url.empty());
TemplateURLData data;
-@@ -218,13 +219,15 @@ void TemplateURLTableModel::Add(size_t index,
+@@ -147,13 +148,15 @@ void TemplateURLTableModel::Add(size_t index,
data.SetKeyword(keyword);
data.SetURL(url);
data.is_active = TemplateURLData::ActiveStatus::kTrue;
@@ -1120,7 +1123,7 @@ diff --git a/chrome/browser/ui/search_engines/template_url_table_model.cc b/chro
DCHECK(index <= RowCount());
DCHECK(!url.empty());
TemplateURL* template_url = GetTemplateURL(index);
-@@ -233,7 +236,7 @@ void TemplateURLTableModel::ModifyTemplateURL(size_t index,
+@@ -162,7 +165,7 @@ void TemplateURLTableModel::ModifyTemplateURL(size_t index,
DCHECK(template_url_service_->GetDefaultSearchProvider() != template_url ||
template_url->SupportsReplacement(
template_url_service_->search_terms_data()));
@@ -1132,7 +1135,7 @@ diff --git a/chrome/browser/ui/search_engines/template_url_table_model.cc b/chro
diff --git a/chrome/browser/ui/search_engines/template_url_table_model.h b/chrome/browser/ui/search_engines/template_url_table_model.h
--- a/chrome/browser/ui/search_engines/template_url_table_model.h
+++ b/chrome/browser/ui/search_engines/template_url_table_model.h
-@@ -85,13 +85,15 @@ class TemplateURLTableModel : public ui::TableModel,
+@@ -59,13 +59,15 @@ class TemplateURLTableModel : public ui::TableModel,
void Add(size_t index,
const std::u16string& short_name,
const std::u16string& keyword,
@@ -1153,7 +1156,7 @@ diff --git a/chrome/browser/ui/search_engines/template_url_table_model.h b/chrom
diff --git a/chrome/browser/ui/webui/chrome_web_ui_configs.cc b/chrome/browser/ui/webui/chrome_web_ui_configs.cc
--- a/chrome/browser/ui/webui/chrome_web_ui_configs.cc
+++ b/chrome/browser/ui/webui/chrome_web_ui_configs.cc
-@@ -66,6 +66,11 @@
+@@ -70,6 +70,11 @@
#include "components/user_scripts/browser/ui/user_scripts_ui.h"
#endif
@@ -1252,7 +1255,7 @@ diff --git a/chrome/browser/ui/webui/favicon_source.h b/chrome/browser/ui/webui/
diff --git a/chrome/browser/ui/webui/settings/search_engines_handler.cc b/chrome/browser/ui/webui/settings/search_engines_handler.cc
--- a/chrome/browser/ui/webui/settings/search_engines_handler.cc
+++ b/chrome/browser/ui/webui/settings/search_engines_handler.cc
-@@ -37,10 +37,12 @@
+@@ -38,10 +38,12 @@
#include "components/search_engines/template_url_service.h"
#include "components/search_engines/template_url_starter_pack_data.h"
#include "content/public/browser/web_ui.h"
@@ -1265,7 +1268,7 @@ diff --git a/chrome/browser/ui/webui/settings/search_engines_handler.cc b/chrome
#if BUILDFLAG(IS_CHROMEOS)
#include "ash/public/cpp/new_window_delegate.h"
-@@ -52,6 +54,7 @@ namespace {
+@@ -53,6 +55,7 @@ namespace {
const char kSearchEngineField[] = "searchEngine";
const char kKeywordField[] = "keyword";
const char kQueryUrlField[] = "queryUrl";
@@ -1273,7 +1276,7 @@ diff --git a/chrome/browser/ui/webui/settings/search_engines_handler.cc b/chrome
// Dummy number used for indicating that a new search engine is added.
const int kNewSearchEngineIndex = -1;
-@@ -255,9 +258,10 @@ base::DictValue SearchEnginesHandler::CreateDictionaryForEngine(
+@@ -256,9 +259,10 @@ base::DictValue SearchEnginesHandler::CreateDictionaryForEngine(
IDS_SEARCH_ENGINES_EDITOR_DESCRIPTION_COLUMN));
dict.Set("keyword", table_model->GetText(
index, IDS_SEARCH_ENGINES_EDITOR_KEYWORD_COLUMN));
@@ -1285,7 +1288,7 @@ diff --git a/chrome/browser/ui/webui/settings/search_engines_handler.cc b/chrome
dict.Set("urlLocked",
((template_url->prepopulate_id() > 0) ||
(template_url->starter_pack_id() !=
-@@ -276,6 +280,8 @@ base::DictValue SearchEnginesHandler::CreateDictionaryForEngine(
+@@ -277,6 +281,8 @@ base::DictValue SearchEnginesHandler::CreateDictionaryForEngine(
#endif
}
@@ -1294,7 +1297,7 @@ diff --git a/chrome/browser/ui/webui/settings/search_engines_handler.cc b/chrome
// The icons that are used for search engines in the EEA region are bundled
// with Chrome. We use the favicon service for countries outside the EEA
// region to guarantee having icons for all search engines.
-@@ -292,6 +298,7 @@ base::DictValue SearchEnginesHandler::CreateDictionaryForEngine(
+@@ -293,6 +299,7 @@ base::DictValue SearchEnginesHandler::CreateDictionaryForEngine(
base::StrCat({"chrome://theme/",
template_url->GetBuiltinImageResourceId(), "@2x"}));
}
@@ -1302,7 +1305,7 @@ diff --git a/chrome/browser/ui/webui/settings/search_engines_handler.cc b/chrome
dict.Set("modelIndex", base::checked_cast(index));
-@@ -310,6 +317,7 @@ base::DictValue SearchEnginesHandler::CreateDictionaryForEngine(
+@@ -311,6 +318,7 @@ base::DictValue SearchEnginesHandler::CreateDictionaryForEngine(
dict.Set("isStarterPack",
template_url->starter_pack_id() !=
template_url_starter_pack_data::StarterPackId::kNone);
@@ -1310,7 +1313,7 @@ diff --git a/chrome/browser/ui/webui/settings/search_engines_handler.cc b/chrome
if (type == TemplateURL::NORMAL_CONTROLLED_BY_EXTENSION ||
type == TemplateURL::OMNIBOX_API_EXTENSION) {
const extensions::Extension* extension =
-@@ -325,6 +333,7 @@ base::DictValue SearchEnginesHandler::CreateDictionaryForEngine(
+@@ -326,6 +334,7 @@ base::DictValue SearchEnginesHandler::CreateDictionaryForEngine(
dict.Set("extension", std::move(ext_info));
}
}
@@ -1318,7 +1321,7 @@ diff --git a/chrome/browser/ui/webui/settings/search_engines_handler.cc b/chrome
return dict;
}
-@@ -427,12 +436,13 @@ void SearchEnginesHandler::HandleSearchEngineEditStarted(
+@@ -428,12 +437,13 @@ void SearchEnginesHandler::HandleSearchEngineEditStarted(
void SearchEnginesHandler::OnEditedKeyword(TemplateURL* template_url,
const std::u16string& title,
const std::u16string& keyword,
@@ -1335,7 +1338,7 @@ diff --git a/chrome/browser/ui/webui/settings/search_engines_handler.cc b/chrome
}
edit_controller_.reset();
-@@ -462,6 +472,8 @@ bool SearchEnginesHandler::CheckFieldValidity(const std::string& field_name,
+@@ -463,6 +473,8 @@ bool SearchEnginesHandler::CheckFieldValidity(const std::string& field_name,
is_valid = edit_controller_->IsKeywordValid(base::UTF8ToUTF16(field_value));
} else if (field_name.compare(kQueryUrlField) == 0) {
is_valid = edit_controller_->IsURLValid(field_value);
@@ -1344,7 +1347,7 @@ diff --git a/chrome/browser/ui/webui/settings/search_engines_handler.cc b/chrome
} else {
NOTREACHED();
}
-@@ -484,18 +496,20 @@ void SearchEnginesHandler::HandleSearchEngineEditCompleted(
+@@ -485,18 +497,20 @@ void SearchEnginesHandler::HandleSearchEngineEditCompleted(
return;
}
@@ -1384,7 +1387,7 @@ diff --git a/chrome/browser/ui/webui/settings/search_engines_handler.h b/chrome/
diff --git a/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc b/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc
--- a/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc
+++ b/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc
-@@ -2901,6 +2901,8 @@ void AddSearchEnginesStrings(content::WebUIDataSource* html_source) {
+@@ -2931,6 +2931,8 @@ void AddSearchEnginesStrings(content::WebUIDataSource* html_source) {
{"searchEnginesQueryURL", IDS_SETTINGS_SEARCH_ENGINES_QUERY_URL},
{"searchEnginesQueryURLExplanation",
IDS_SETTINGS_SEARCH_ENGINES_QUERY_URL_EXPLANATION},
@@ -1393,7 +1396,7 @@ diff --git a/chrome/browser/ui/webui/settings/settings_localized_strings_provide
{"searchEnginesMakeDefault", IDS_SETTINGS_SEARCH_ENGINES_MAKE_DEFAULT},
{"searchEnginesActivate", IDS_SETTINGS_SEARCH_ENGINES_ACTIVATE},
{"searchEnginesDeactivate", IDS_SETTINGS_SEARCH_ENGINES_DEACTIVATE},
-@@ -4229,7 +4231,11 @@ void AddLocalizedStrings(content::WebUIDataSource* html_source,
+@@ -4262,7 +4264,11 @@ void AddLocalizedStrings(content::WebUIDataSource* html_source,
AddSiteSettingsStrings(html_source, profile);
AddSiteDataPageStrings(html_source, profile);
AddStorageAccessStrings(html_source);
@@ -1886,7 +1889,7 @@ new file mode 100644
diff --git a/chrome/chrome_paks.gni b/chrome/chrome_paks.gni
--- a/chrome/chrome_paks.gni
+++ b/chrome/chrome_paks.gni
-@@ -192,6 +192,17 @@ template("chrome_extra_paks") {
+@@ -200,6 +200,17 @@ template("chrome_extra_paks") {
deps += [ "//chrome/browser/resources:component_extension_resources" ]
}
@@ -1930,7 +1933,7 @@ new file mode 100644
diff --git a/components/search_engines/android/template_url_service_android.cc b/components/search_engines/android/template_url_service_android.cc
--- a/components/search_engines/android/template_url_service_android.cc
+++ b/components/search_engines/android/template_url_service_android.cc
-@@ -431,7 +431,7 @@ bool TemplateUrlServiceAndroid::SetPlayAPISearchEngine(
+@@ -433,7 +433,7 @@ bool TemplateUrlServiceAndroid::SetPlayAPISearchEngine(
if (regulatory_api_turl->safe_for_autoreplace()) {
template_url_service_->ResetTemplateURL(
regulatory_api_turl, regulatory_api_turl->short_name(),
@@ -1978,7 +1981,7 @@ diff --git a/components/search_engines/template_url.h b/components/search_engine
diff --git a/components/search_engines/template_url_service.cc b/components/search_engines/template_url_service.cc
--- a/components/search_engines/template_url_service.cc
+++ b/components/search_engines/template_url_service.cc
-@@ -802,13 +802,15 @@ TemplateURL* TemplateURLService::AddWithOverrides(
+@@ -799,13 +799,15 @@ TemplateURL* TemplateURLService::AddWithOverrides(
std::unique_ptr template_url,
const std::u16string& short_name,
const std::u16string& keyword,
@@ -1995,7 +1998,7 @@ diff --git a/components/search_engines/template_url_service.cc b/components/sear
return Add(std::move(template_url));
}
-@@ -1031,7 +1033,8 @@ void TemplateURLService::IncrementUsageCount(TemplateURL* url) {
+@@ -1028,7 +1030,8 @@ void TemplateURLService::IncrementUsageCount(TemplateURL* url) {
void TemplateURLService::ResetTemplateURL(TemplateURL* url,
const std::u16string& title,
const std::u16string& keyword,
@@ -2005,7 +2008,7 @@ diff --git a/components/search_engines/template_url_service.cc b/components/sear
DCHECK(!IsCreatedByExtension(*url));
DCHECK(!keyword.empty());
DCHECK(!search_url.empty());
-@@ -1051,6 +1054,7 @@ void TemplateURLService::ResetTemplateURL(TemplateURL* url,
+@@ -1048,6 +1051,7 @@ void TemplateURLService::ResetTemplateURL(TemplateURL* url,
// The urls have changed, reset the favicon url.
data.favicon_url = GURL();
}
@@ -2129,7 +2132,7 @@ diff --git a/third_party/polymer/v3_0/BUILD.gn b/third_party/polymer/v3_0/BUILD.
if (is_chromeos_ash) {
js_files += [
"iron-a11y-announcer/iron-a11y-announcer.js",
-@@ -230,6 +240,12 @@ ts_library("library") {
+@@ -224,6 +234,12 @@ ts_library("library") {
[ "components-chromium/iron-fit-behavior/iron-fit-behavior.d.ts" ]
}
@@ -2324,16 +2327,16 @@ diff --git a/ui/webui/resources/cr_components/theme_color_picker/BUILD.gn b/ui/w
diff --git a/ui/webui/resources/cr_elements/BUILD.gn b/ui/webui/resources/cr_elements/BUILD.gn
--- a/ui/webui/resources/cr_elements/BUILD.gn
+++ b/ui/webui/resources/cr_elements/BUILD.gn
-@@ -49,7 +49,7 @@ build_webui("build") {
- "cr_tabs/cr_tabs.css",
- ]
+@@ -87,7 +87,7 @@ build_webui("build") {
+ ]
+ }
- if ((!is_android && !is_ios) || is_desktop_android) {
+ if ((!is_ios) || is_desktop_android) {
- web_component_files += [ "cr_a11y_announcer/cr_a11y_announcer.ts" ]
-
+ static_files = [ "cr_a11y_announcer/cr_a11y_announcer.css" ]
ts_files += [
-@@ -142,7 +142,7 @@ build_webui("build") {
+ "cr_radio_button/cr_radio_button_mixin_lit.ts",
+@@ -163,7 +163,7 @@ build_webui("build") {
]
}
@@ -2342,7 +2345,7 @@ diff --git a/ui/webui/resources/cr_elements/BUILD.gn b/ui/webui/resources/cr_ele
ts_files += [
"cr_radio_button/cr_radio_button_mixin.ts",
"cr_ripple/cr_ripple_mixin_polymer.ts",
-@@ -237,7 +237,7 @@ build_webui("build") {
+@@ -246,7 +246,7 @@ build_webui("build") {
"../js:build_ts",
"//third_party/lit/v3_0:build_ts",
]
@@ -2387,8 +2390,8 @@ diff --git a/ui/webui/resources/cr_elements/cr_shared_vars.css b/ui/webui/resour
}
@media (prefers-color-scheme: dark) {
-@@ -365,3 +367,9 @@ html {
- --cr-fallback-color-disabled-foreground: GrayText;
+@@ -371,3 +373,9 @@ html {
+ --cr-animations-disabled: 1;
}
}
+
diff --git a/build/patches/Enable-share-intent.patch b/build/patches/Enable-share-intent.patch
index b341e1d3..0db19c97 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
-@@ -598,6 +598,7 @@ chrome_java_resources = [
+@@ -596,6 +596,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,7 +46,7 @@ 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
-@@ -1057,6 +1057,7 @@ chrome_java_sources = [
+@@ -1072,6 +1072,7 @@ chrome_java_sources = [
"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",
@@ -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
-@@ -277,12 +277,6 @@ by a child template that "extends" this file.
+@@ -279,12 +279,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
-@@ -361,6 +355,10 @@ by a child template that "extends" this file.
+@@ -363,6 +357,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
-@@ -397,6 +395,24 @@ by a child template that "extends" this file.
+@@ -399,6 +397,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
-@@ -200,6 +200,9 @@ public class IntentHandler {
+@@ -204,6 +204,9 @@ public class IntentHandler {
private static final String EXTRA_TAB_LAUNCH_TYPE =
"org.chromium.chrome.browser.tab_launch_type";
@@ -212,7 +212,7 @@ 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";
-@@ -1539,6 +1542,17 @@ public class IntentHandler {
+@@ -1540,6 +1543,17 @@ public class IntentHandler {
return IntentUtils.safeGetIntExtra(intent, EXTRA_DEST_TAB_ID, Tab.INVALID_TAB_ID);
}
@@ -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.
-@@ -1749,7 +1763,7 @@ public class IntentHandler {
+@@ -1750,7 +1764,7 @@ public class IntentHandler {
String headers = getExtraHeadersFromIntent(intent);
headers = maybeAddAdditionalContentHeaders(intent, url, headers);
@@ -242,7 +242,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/IntentHandler.j
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/LaunchIntentDispatcher.java b/chrome/android/java/src/org/chromium/chrome/browser/LaunchIntentDispatcher.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/LaunchIntentDispatcher.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/LaunchIntentDispatcher.java
-@@ -352,8 +352,8 @@ public class LaunchIntentDispatcher {
+@@ -361,8 +361,8 @@ public class LaunchIntentDispatcher {
/*incognito*/true);
newIntent.setData(mIntent.getData());
newIntent.setPackage(applicationContext.getPackageName());
@@ -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
-@@ -107,6 +107,7 @@ import org.chromium.chrome.browser.tabmodel.TabPersistentStoreImpl;
+@@ -110,6 +110,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;
-@@ -692,6 +693,7 @@ public class ProcessInitializationHandler {
+@@ -705,6 +706,7 @@ public class ProcessInitializationHandler {
tasks.add(WebApkUninstallTracker::runDeferredTasks);
@@ -473,7 +473,7 @@ 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
-@@ -412,6 +412,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
+@@ -417,6 +417,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
&kRelatedSearchesAllLanguage,
&kRelatedSearchesSwitch,
&kReloadTabUiResourcesIfChanged,
@@ -484,7 +484,7 @@ diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browse
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
-@@ -578,6 +578,7 @@ public abstract class ChromeFeatureList {
+@@ -583,6 +583,7 @@ public abstract class ChromeFeatureList {
public static final String RECENTLY_CLOSED_TABS_AND_WINDOWS = "RecentlyClosedTabsAndWindows";
public static final String RECORD_INCOGNITO_NTP_TIME_TO_FIRST_NAVIGATION_METRIC =
"RecordIncognitoNtpTimeToFirstNavigationMetric";
@@ -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
-@@ -6477,6 +6477,19 @@ To change this setting, BEGIN_LINKdelete the Chrome d
+@@ -6613,6 +6613,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/Enables-deactivation-of-the-js-debugger-statement.patch b/build/patches/Enables-deactivation-of-the-js-debugger-statement.patch
index 5697d305..88dca234 100644
--- a/build/patches/Enables-deactivation-of-the-js-debugger-statement.patch
+++ b/build/patches/Enables-deactivation-of-the-js-debugger-statement.patch
@@ -72,7 +72,7 @@ diff --git a/third_party/devtools-frontend/src/front_end/core/sdk/sdk-meta.ts b/
/**
* @description Title of a setting under the Debugger category that can be invoked through the Command Menu
*/
-@@ -414,6 +418,25 @@ Common.Settings.registerSettingExtension({
+@@ -426,6 +430,25 @@ Common.Settings.registerSettingExtension({
],
});
@@ -101,7 +101,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
-@@ -1535,6 +1535,10 @@ inspectorBackend.registerCommand("Debugger.resume", [{"name": "terminateOnResume
+@@ -1548,6 +1548,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 +115,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
-@@ -5475,6 +5475,10 @@ export namespace ProtocolMapping {
+@@ -5511,6 +5511,10 @@ export namespace ProtocolMapping {
paramsType: [Protocol.Debugger.SetBlackboxExecutionContextsRequest];
returnType: void;
};
@@ -129,7 +129,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
-@@ -4925,6 +4925,8 @@ declare namespace ProtocolProxyApi {
+@@ -4957,6 +4957,8 @@ declare namespace ProtocolProxyApi {
*/
invoke_setBlackboxExecutionContexts(params: Protocol.Debugger.SetBlackboxExecutionContextsRequest): Promise;
@@ -141,7 +141,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
-@@ -20821,6 +20821,10 @@ export namespace Debugger {
+@@ -21087,6 +21087,10 @@ export namespace Debugger {
uniqueIds: string[];
}
@@ -155,7 +155,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
-@@ -31640,8 +31640,17 @@
+@@ -31997,8 +31997,17 @@
"$ref": "WasmDisassemblyChunk"
}
]
@@ -175,7 +175,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,
-@@ -34831,4 +34840,4 @@
+@@ -35188,4 +35197,4 @@
]
}
]
@@ -199,7 +199,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
-@@ -777,6 +777,7 @@ namespace internal {
+@@ -778,6 +778,7 @@ namespace internal {
/* AggregateError */ \
T(AllPromisesRejected, "All promises were rejected") \
T(CannotDeepFreezeObject, "Cannot DeepFreeze object of type %") \
@@ -210,7 +210,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
-@@ -1085,6 +1085,11 @@ void SetAsyncEventDelegate(Isolate* v8_isolate, AsyncEventDelegate* delegate) {
+@@ -1090,6 +1090,11 @@ void SetAsyncEventDelegate(Isolate* v8_isolate, AsyncEventDelegate* delegate) {
reinterpret_cast(v8_isolate)->set_async_event_delegate(delegate);
}
@@ -260,7 +260,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
-@@ -487,6 +487,7 @@ MaybeHandle MessageFormatter::TryFormat(
+@@ -488,6 +488,7 @@ MaybeHandle MessageFormatter::TryFormat(
MessageTemplate::kUndefinedOrNullToObject,
MessageTemplate::kUnexpectedStrictReserved,
MessageTemplate::kUnexpectedTokenIdentifier,
@@ -271,7 +271,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
-@@ -1691,6 +1691,14 @@ Response V8DebuggerAgentImpl::setAsyncCallStackDepth(int depth) {
+@@ -1697,6 +1697,14 @@ Response V8DebuggerAgentImpl::setAsyncCallStackDepth(int depth) {
return Response::Success();
}
@@ -300,7 +300,7 @@ diff --git a/v8/src/inspector/v8-debugger-agent-impl.h b/v8/src/inspector/v8-deb
diff --git a/v8/src/runtime/runtime-debug.cc b/v8/src/runtime/runtime-debug.cc
--- a/v8/src/runtime/runtime-debug.cc
+++ b/v8/src/runtime/runtime-debug.cc
-@@ -176,9 +176,10 @@ RUNTIME_FUNCTION(Runtime_DebugBreakAtEntry) {
+@@ -175,9 +175,10 @@ RUNTIME_FUNCTION(Runtime_DebugBreakAtEntry) {
}
RUNTIME_FUNCTION(Runtime_HandleDebuggerStatement) {
@@ -313,7 +313,7 @@ diff --git a/v8/src/runtime/runtime-debug.cc b/v8/src/runtime/runtime-debug.cc
isolate->debug()->HandleDebugBreak(
kIgnoreIfTopFrameBlackboxed,
v8::debug::BreakReasons({v8::debug::BreakReason::kDebuggerStatement}));
-@@ -186,6 +187,18 @@ RUNTIME_FUNCTION(Runtime_HandleDebuggerStatement) {
+@@ -185,6 +186,18 @@ RUNTIME_FUNCTION(Runtime_HandleDebuggerStatement) {
return isolate->TerminateExecution();
}
}
diff --git a/build/patches/Experimental-user-scripts-support.patch b/build/patches/Experimental-user-scripts-support.patch
index d9c3b8d3..49c95180 100644
--- a/build/patches/Experimental-user-scripts-support.patch
+++ b/build/patches/Experimental-user-scripts-support.patch
@@ -229,9 +229,9 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
--- a/chrome/android/BUILD.gn
+++ b/chrome/android/BUILD.gn
-@@ -169,7 +169,11 @@ if (_is_default_toolchain) {
- sources = chrome_java_resources
- sources += [ "//chrome/android/java/res_app/layout/main.xml" ]
+@@ -173,7 +173,11 @@ if (_is_default_toolchain) {
+ "//chrome/android/java/res_app/layout/main_forked_with_secondary_ui_container.xml",
+ ]
- deps = [
+ # this need to be into android_resources("chrome_app_java_resources") section because
@@ -242,7 +242,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
":chrome_base_module_resources",
":ui_locale_string_resources",
"//chrome/android/webapk/libs/common:splash_resources",
-@@ -714,6 +718,7 @@ if (_is_default_toolchain) {
+@@ -724,6 +728,7 @@ if (_is_default_toolchain) {
"//components/ukm/android:java",
"//components/url_formatter/android:url_formatter_java",
"//components/user_prefs/android:java",
@@ -250,7 +250,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
"//components/variations:variations_java",
"//components/variations/android:variations_java",
"//components/viz/service:service_java",
-@@ -1737,6 +1742,7 @@ if (_is_default_toolchain) {
+@@ -1755,6 +1760,7 @@ if (_is_default_toolchain) {
java_group("chrome_public_non_pak_assets") {
deps = [
"//chrome/android/webapk/libs/runtime_library:runtime_library_assets",
@@ -261,7 +261,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
diff --git a/chrome/android/java/res/xml/main_preferences.xml b/chrome/android/java/res/xml/main_preferences.xml
--- a/chrome/android/java/res/xml/main_preferences.xml
+++ b/chrome/android/java/res/xml/main_preferences.xml
-@@ -149,6 +149,11 @@ found in the LICENSE file.
+@@ -147,6 +147,11 @@ found in the LICENSE file.
android:key="useragent_settings"
android:order="20"
android:title="@string/prefs_useragent_settings"/>
@@ -300,7 +300,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/download/Downlo
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
-@@ -151,6 +151,8 @@ import java.util.Date;
+@@ -155,6 +155,8 @@ import java.util.Date;
import java.util.List;
import java.util.Locale;
@@ -309,7 +309,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/init/ProcessIni
/**
* Handles the initialization dependences of the browser process. This is meant to handle the
* initialization that is not tied to any particular Activity, and the logic that should only be
-@@ -629,6 +631,8 @@ public class ProcessInitializationHandler {
+@@ -642,6 +644,8 @@ public class ProcessInitializationHandler {
DefaultBrowserInfo.initBrowserFetcher();
@@ -338,7 +338,7 @@ diff --git a/chrome/android/java_sources.gni b/chrome/android/java_sources.gni
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
--- a/chrome/browser/BUILD.gn
+++ b/chrome/browser/BUILD.gn
-@@ -3671,6 +3671,13 @@ static_library("browser") {
+@@ -3583,6 +3583,13 @@ static_library("browser") {
]
deps += [ "//chrome/android/modules/dev_ui/provider:native" ]
}
@@ -355,7 +355,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
-@@ -191,6 +191,7 @@
+@@ -192,6 +192,7 @@
#include "components/ui_devtools/switches.h"
#include "components/variations/variations_switches.h"
#include "components/version_info/channel.h"
@@ -366,15 +366,15 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browser_prefs.cc
--- a/chrome/browser/prefs/browser_prefs.cc
+++ b/chrome/browser/prefs/browser_prefs.cc
-@@ -261,6 +261,7 @@
+@@ -267,6 +267,7 @@
#include "components/ntp_tiles/popular_sites_impl.h"
#include "components/permissions/contexts/geolocation_permission_context_android.h"
#include "components/webapps/browser/android/install_prompt_prefs.h"
+#include "components/user_scripts/browser/user_script_prefs.h"
#else // BUILDFLAG(IS_ANDROID)
#include "chrome/browser/actor/ui/actor_ui_state_manager_prefs.h"
- #include "chrome/browser/gcm/gcm_product_util.h"
-@@ -1820,6 +1821,9 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry,
+ #include "chrome/browser/desktop_to_mobile_promos/promos_utils.h" // nogncheck crbug.com/1125897
+@@ -1857,6 +1858,9 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry,
omnibox::RegisterProfilePrefs(registry);
ZeroSuggestProvider::RegisterProfilePrefs(registry);
NtpCustomBackgroundService::RegisterProfilePrefs(registry);
@@ -387,7 +387,7 @@ diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browse
diff --git a/chrome/browser/profiles/BUILD.gn b/chrome/browser/profiles/BUILD.gn
--- a/chrome/browser/profiles/BUILD.gn
+++ b/chrome/browser/profiles/BUILD.gn
-@@ -88,6 +88,9 @@ source_set("profile") {
+@@ -96,6 +96,9 @@ source_set("profile") {
"//content/public/browser",
"//extensions/buildflags",
]
@@ -400,7 +400,7 @@ diff --git a/chrome/browser/profiles/BUILD.gn b/chrome/browser/profiles/BUILD.gn
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
-@@ -594,6 +594,11 @@
+@@ -602,6 +602,11 @@
#include "chrome/browser/net/nss_service_factory.h"
#endif
@@ -412,7 +412,7 @@ diff --git a/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc
void AddProfilesExtraParts(ChromeBrowserMainParts* main_parts) {
main_parts->AddParts(std::make_unique());
}
-@@ -1454,6 +1459,10 @@ void ChromeBrowserMainExtraPartsProfiles::
+@@ -1474,6 +1479,10 @@ void ChromeBrowserMainExtraPartsProfiles::
#endif
WebDataServiceFactory::GetInstance();
webrtc_event_logging::WebRtcEventLogManagerKeyedServiceFactory::GetInstance();
@@ -515,7 +515,7 @@ diff --git a/chrome/browser/profiles/renderer_updater.h b/chrome/browser/profile
diff --git a/chrome/browser/ui/webui/chrome_web_ui_configs.cc b/chrome/browser/ui/webui/chrome_web_ui_configs.cc
--- a/chrome/browser/ui/webui/chrome_web_ui_configs.cc
+++ b/chrome/browser/ui/webui/chrome_web_ui_configs.cc
-@@ -62,6 +62,9 @@
+@@ -66,6 +66,9 @@
#include "chrome/browser/ui/webui/proxy_config_ui.h"
@@ -539,7 +539,7 @@ diff --git a/chrome/browser/ui/webui/chrome_web_ui_configs.cc b/chrome/browser/u
diff --git a/chrome/chrome_paks.gni b/chrome/chrome_paks.gni
--- a/chrome/chrome_paks.gni
+++ b/chrome/chrome_paks.gni
-@@ -153,6 +153,7 @@ template("chrome_extra_paks") {
+@@ -157,6 +157,7 @@ template("chrome_extra_paks") {
"$root_gen_dir/third_party/blink/public/resources/inspector_overlay_resources.pak",
"$root_gen_dir/third_party/blink/public/strings/permission_element_generated_strings.pak",
"$root_gen_dir/ui/resources/ui_lottie_resources.pak",
@@ -547,7 +547,7 @@ diff --git a/chrome/chrome_paks.gni b/chrome/chrome_paks.gni
"$root_gen_dir/ui/webui/resources/webui_resources.pak",
]
-@@ -177,6 +178,7 @@ template("chrome_extra_paks") {
+@@ -185,6 +186,7 @@ template("chrome_extra_paks") {
"//third_party/blink/public/strings:permission_element_generated_strings",
"//ui/resources:ui_lottie_resources_grd",
"//ui/webui/resources",
@@ -585,7 +585,7 @@ diff --git a/chrome/renderer/BUILD.gn b/chrome/renderer/BUILD.gn
diff --git a/chrome/renderer/chrome_content_renderer_client.cc b/chrome/renderer/chrome_content_renderer_client.cc
--- a/chrome/renderer/chrome_content_renderer_client.cc
+++ b/chrome/renderer/chrome_content_renderer_client.cc
-@@ -266,6 +266,11 @@
+@@ -268,6 +268,11 @@
#include "chrome/renderer/media/chrome_key_systems.h"
#endif
@@ -597,7 +597,7 @@ diff --git a/chrome/renderer/chrome_content_renderer_client.cc b/chrome/renderer
using autofill::AutofillAgent;
using autofill::PasswordAutofillAgent;
using autofill::PasswordGenerationAgent;
-@@ -435,6 +440,14 @@ void ChromeContentRendererClient::RenderThreadStarted() {
+@@ -437,6 +442,14 @@ void ChromeContentRendererClient::RenderThreadStarted() {
WebString::FromASCII(extensions::kExtensionScheme));
#endif // BUILDFLAG(ENABLE_EXTENSIONS_CORE)
@@ -612,7 +612,7 @@ diff --git a/chrome/renderer/chrome_content_renderer_client.cc b/chrome/renderer
#if BUILDFLAG(ENABLE_SPELLCHECK)
if (!spellcheck_)
InitSpellCheck();
-@@ -629,6 +642,15 @@ void ChromeContentRendererClient::RenderFrameCreated(
+@@ -635,6 +648,15 @@ void ChromeContentRendererClient::RenderFrameCreated(
render_frame, std::make_unique());
#endif
@@ -628,7 +628,7 @@ diff --git a/chrome/renderer/chrome_content_renderer_client.cc b/chrome/renderer
#if BUILDFLAG(ENABLE_PAINT_PREVIEW)
new paint_preview::PaintPreviewRecorderImpl(render_frame);
#endif
-@@ -1420,6 +1442,17 @@ void ChromeContentRendererClient::RunScriptsAtDocumentStart(
+@@ -1396,6 +1418,17 @@ void ChromeContentRendererClient::RunScriptsAtDocumentStart(
render_frame);
// |render_frame| might be dead by now.
#endif
@@ -646,7 +646,7 @@ diff --git a/chrome/renderer/chrome_content_renderer_client.cc b/chrome/renderer
}
void ChromeContentRendererClient::RunScriptsAtDocumentEnd(
-@@ -1429,6 +1462,17 @@ void ChromeContentRendererClient::RunScriptsAtDocumentEnd(
+@@ -1405,6 +1438,17 @@ void ChromeContentRendererClient::RunScriptsAtDocumentEnd(
render_frame);
// |render_frame| might be dead by now.
#endif
@@ -664,7 +664,7 @@ diff --git a/chrome/renderer/chrome_content_renderer_client.cc b/chrome/renderer
}
void ChromeContentRendererClient::RunScriptsAtDocumentIdle(
-@@ -1438,6 +1482,17 @@ void ChromeContentRendererClient::RunScriptsAtDocumentIdle(
+@@ -1414,6 +1458,17 @@ void ChromeContentRendererClient::RunScriptsAtDocumentIdle(
render_frame);
// |render_frame| might be dead by now.
#endif
@@ -696,7 +696,7 @@ diff --git a/chrome/renderer/chrome_render_thread_observer.cc b/chrome/renderer/
#if BUILDFLAG(IS_CHROMEOS)
#include "chrome/renderer/ash_merge_session_loader_throttle.h"
#endif
-@@ -228,6 +232,9 @@ void ChromeRenderThreadObserver::SetConfiguration(
+@@ -214,6 +218,9 @@ void ChromeRenderThreadObserver::SetConfiguration(
chrome::mojom::DynamicParamsPtr params) {
base::AutoLock lock(dynamic_params_lock_);
dynamic_params_ = std::move(params);
@@ -709,7 +709,7 @@ diff --git a/chrome/renderer/chrome_render_thread_observer.cc b/chrome/renderer/
diff --git a/components/components_strings.grd b/components/components_strings.grd
--- a/components/components_strings.grd
+++ b/components/components_strings.grd
-@@ -343,6 +343,7 @@
+@@ -344,6 +344,7 @@
@@ -11493,7 +11493,7 @@ new file mode 100644
diff --git a/tools/gritsettings/resource_ids.spec b/tools/gritsettings/resource_ids.spec
--- a/tools/gritsettings/resource_ids.spec
+++ b/tools/gritsettings/resource_ids.spec
-@@ -1265,6 +1265,12 @@
+@@ -1277,6 +1277,12 @@
"META": {"sizes": {"includes": [10]}},
"includes": [7495],
},
diff --git a/build/patches/Eyeo-Adblock-for-Cromite.patch b/build/patches/Eyeo-Adblock-for-Cromite.patch
index 28b88ed2..4a877e44 100644
--- a/build/patches/Eyeo-Adblock-for-Cromite.patch
+++ b/build/patches/Eyeo-Adblock-for-Cromite.patch
@@ -160,10 +160,10 @@ diff --git a/chrome/android/java/res/xml/main_preferences.xml b/chrome/android/j
-@@ -94,11 +85,6 @@ Use of this source code is governed by the GPLv3 that can be found in the compon
+@@ -92,11 +83,6 @@ Use of this source code is governed by the GPLv3 that can be found in the compon
+
+ android:order="16" />
-
@@ -884,7 +884,7 @@ diff --git a/chrome/browser/adblock/android/java/src/org/chromium/chrome/browser
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
-@@ -6514,7 +6514,9 @@ ChromeContentBrowserClient::
+@@ -6598,7 +6598,9 @@ ChromeContentBrowserClient::
}
bool ChromeContentBrowserClient::WillInterceptWebSocket(
@@ -895,7 +895,7 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch
#if BUILDFLAG(ENABLE_EXTENSIONS_CORE)
if (!frame) {
return false;
-@@ -6537,9 +6539,11 @@ bool ChromeContentBrowserClient::WillInterceptWebSocket(
+@@ -6621,9 +6623,11 @@ bool ChromeContentBrowserClient::WillInterceptWebSocket(
}
void ChromeContentBrowserClient::CreateWebSocket(
@@ -910,8 +910,8 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch
diff --git a/chrome/browser/chrome_content_browser_client.h b/chrome/browser/chrome_content_browser_client.h
--- a/chrome/browser/chrome_content_browser_client.h
+++ b/chrome/browser/chrome_content_browser_client.h
-@@ -729,11 +729,15 @@ class ChromeContentBrowserClient : public content::ContentBrowserClient {
- CreateURLLoaderHandlerForServiceWorkerNavigationPreload(
+@@ -731,11 +731,15 @@ class ChromeContentBrowserClient : public content::ContentBrowserClient {
+ CreateURLLoaderHandlerForServiceWorkerInitiatedNavigationRequest(
content::FrameTreeNodeId frame_tree_node_id,
const network::ResourceRequest& resource_request) override;
- bool WillInterceptWebSocket(content::RenderFrameHost* frame) override;
@@ -1169,15 +1169,15 @@ diff --git a/chrome/browser/extensions/api/eyeo_filtering_private/eyeo_filtering
diff --git a/chrome/browser/extensions/api/settings_private/prefs_util.cc b/chrome/browser/extensions/api/settings_private/prefs_util.cc
--- a/chrome/browser/extensions/api/settings_private/prefs_util.cc
+++ b/chrome/browser/extensions/api/settings_private/prefs_util.cc
-@@ -36,6 +36,7 @@
- #include "chrome/common/chrome_features.h"
+@@ -35,6 +35,7 @@
+ #include "chrome/browser/ui/toolbar/toolbar_pref_names.h"
#include "chrome/common/extensions/api/settings_private.h"
#include "chrome/common/pref_names.h"
+#include "components/adblock/core/common/adblock_prefs.h"
#include "components/autofill/core/common/autofill_prefs.h"
#include "components/bookmarks/common/bookmark_pref_names.h"
#include "components/browsing_data/core/pref_names.h"
-@@ -200,6 +201,19 @@ const PrefsUtil::TypedPrefMap& PrefsUtil::GetAllowlistedKeys() {
+@@ -205,6 +206,19 @@ const PrefsUtil::TypedPrefMap& PrefsUtil::GetAllowlistedKeys() {
}
s_allowlist = new PrefsUtil::TypedPrefMap();
@@ -1200,7 +1200,7 @@ diff --git a/chrome/browser/extensions/api/settings_private/prefs_util.cc b/chro
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
-@@ -256,7 +256,6 @@
+@@ -269,7 +269,6 @@
#include "chrome/common/buildflags.h"
#include "chrome/common/chrome_features.h"
#include "components/adblock/content/browser/factories/adblock_request_throttle_factory.h"
@@ -1208,7 +1208,7 @@ diff --git a/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc
#include "components/adblock/content/browser/factories/content_security_policy_injector_factory.h"
#include "components/adblock/content/browser/factories/element_hider_factory.h"
#include "components/adblock/content/browser/factories/resource_classification_runner_factory.h"
-@@ -972,7 +971,6 @@ void ChromeBrowserMainExtraPartsProfiles::
+@@ -987,7 +986,6 @@ void ChromeBrowserMainExtraPartsProfiles::
FederatedIdentityApiPermissionContextFactory::GetInstance();
FederatedIdentityAutoReauthnPermissionContextFactory::GetInstance();
FederatedIdentityPermissionContextFactory::GetInstance();
@@ -1227,7 +1227,7 @@ diff --git a/chrome/browser/resources/settings/BUILD.gn b/chrome/browser/resourc
"appearance_page/appearance_fonts_page.ts",
"appearance_page/appearance_page.ts",
"appearance_page/appearance_page_index.ts",
-@@ -443,6 +444,7 @@ build_webui("build") {
+@@ -433,6 +434,7 @@ build_webui("build") {
ts_definitions = [
"//tools/typescript/definitions/autofill_private.d.ts",
"//tools/typescript/definitions/chrome_event.d.ts",
@@ -1796,7 +1796,7 @@ diff --git a/chrome/browser/resources/settings/page_visibility.ts b/chrome/brows
diff --git a/chrome/browser/resources/settings/route.ts b/chrome/browser/resources/settings/route.ts
--- a/chrome/browser/resources/settings/route.ts
+++ b/chrome/browser/resources/settings/route.ts
-@@ -277,6 +277,10 @@ function createRoutes(): SettingsRoutes {
+@@ -272,6 +272,10 @@ function createRoutes(): SettingsRoutes {
'/onStartup', 'onStartup', loadTimeData.getString('onStartup'));
}
@@ -1875,7 +1875,7 @@ diff --git a/chrome/browser/resources/settings/settings_menu/settings_menu.html
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
-@@ -353,7 +353,8 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) {
+@@ -356,7 +356,8 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) {
auto* original_profile = profile->GetOriginalProfile();
adblock::EnsureBackgroundServicesStarted(original_profile);
adblock::RegisterAdblockWebContentObserver<
@@ -1902,7 +1902,7 @@ diff --git a/chrome/common/extensions/api/_permission_features.json b/chrome/com
"autofillPrivate": {
"channel": "trunk",
"extension_types": ["extension", "platform_app"],
-@@ -422,13 +415,6 @@
+@@ -421,13 +414,6 @@
// "desktop_android" is not supported.
"platforms": ["chromeos", "linux", "mac", "win"]
},
@@ -13012,7 +13012,7 @@ diff --git a/components/security_interstitials/core/browser/resources/interstiti
diff --git a/content/browser/websockets/websocket_connector_impl.cc b/content/browser/websockets/websocket_connector_impl.cc
--- a/content/browser/websockets/websocket_connector_impl.cc
+++ b/content/browser/websockets/websocket_connector_impl.cc
-@@ -92,15 +92,15 @@ void WebSocketConnectorImpl::Connect(
+@@ -91,14 +91,14 @@ void WebSocketConnectorImpl::Connect(
const uint32_t options =
GetContentClient()->browser()->GetWebSocketOptions(frame);
@@ -13022,19 +13022,18 @@ diff --git a/content/browser/websockets/websocket_connector_impl.cc b/content/br
- frame,
+ process, frame,
base::BindOnce(ConnectCalledByContentBrowserClient, requested_protocols,
- site_for_cookies, storage_access_api_status,
- isolation_info_, frame_id_, origin_,
- client_security_state_->Clone(), options,
+ storage_access_api_status, isolation_info_, frame_id_,
+ origin_, client_security_state_->Clone(), options,
std::move(throttling_profile_id)),
-- url, site_for_cookies, user_agent, std::move(handshake_client));
-+ url, origin_, site_for_cookies, user_agent, std::move(handshake_client));
+- url, isolation_info_.site_for_cookies(), user_agent,
++ url, origin_, isolation_info_.site_for_cookies(), user_agent,
+ std::move(handshake_client));
return;
}
- std::vector headers;
diff --git a/content/public/browser/content_browser_client.cc b/content/public/browser/content_browser_client.cc
--- a/content/public/browser/content_browser_client.cc
+++ b/content/public/browser/content_browser_client.cc
-@@ -1148,7 +1148,7 @@ void ContentBrowserClient::WillCreateURLLoaderFactory(
+@@ -1157,7 +1157,7 @@ void ContentBrowserClient::WillCreateURLLoaderFactory(
DCHECK(browser_context);
}
@@ -13043,7 +13042,7 @@ diff --git a/content/public/browser/content_browser_client.cc b/content/public/b
return false;
}
-@@ -1157,9 +1157,11 @@ uint32_t ContentBrowserClient::GetWebSocketOptions(RenderFrameHost* frame) {
+@@ -1166,9 +1166,11 @@ uint32_t ContentBrowserClient::GetWebSocketOptions(RenderFrameHost* frame) {
}
void ContentBrowserClient::CreateWebSocket(
@@ -13058,7 +13057,7 @@ diff --git a/content/public/browser/content_browser_client.cc b/content/public/b
diff --git a/content/public/browser/content_browser_client.h b/content/public/browser/content_browser_client.h
--- a/content/public/browser/content_browser_client.h
+++ b/content/public/browser/content_browser_client.h
-@@ -2145,7 +2145,7 @@ class CONTENT_EXPORT ContentBrowserClient {
+@@ -2163,7 +2163,7 @@ class CONTENT_EXPORT ContentBrowserClient {
scoped_refptr navigation_response_task_runner);
// Returns true when the embedder wants to intercept a websocket connection.
@@ -13067,7 +13066,7 @@ diff --git a/content/public/browser/content_browser_client.h b/content/public/br
// Returns the WebSocket creation options.
virtual uint32_t GetWebSocketOptions(RenderFrameHost* frame);
-@@ -2167,9 +2167,11 @@ class CONTENT_EXPORT ContentBrowserClient {
+@@ -2185,9 +2185,11 @@ class CONTENT_EXPORT ContentBrowserClient {
// Always called on the UI thread and only when the Network Service is
// enabled.
virtual void CreateWebSocket(
@@ -13142,7 +13141,7 @@ diff --git a/third_party/blink/renderer/core/css/style_engine.h b/third_party/bl
diff --git a/third_party/blink/renderer/core/dom/events/event_target.cc b/third_party/blink/renderer/core/dom/events/event_target.cc
--- a/third_party/blink/renderer/core/dom/events/event_target.cc
+++ b/third_party/blink/renderer/core/dom/events/event_target.cc
-@@ -855,10 +855,7 @@ bool EventTarget::dispatchEventForBindings(Event* event,
+@@ -856,10 +856,7 @@ bool EventTarget::dispatchEventForBindings(Event* event,
if (!GetExecutionContext())
return false;
@@ -13157,7 +13156,7 @@ diff --git a/third_party/blink/renderer/core/dom/events/event_target.cc b/third_
diff --git a/third_party/blink/renderer/core/exported/web_document.cc b/third_party/blink/renderer/core/exported/web_document.cc
--- a/third_party/blink/renderer/core/exported/web_document.cc
+++ b/third_party/blink/renderer/core/exported/web_document.cc
-@@ -301,6 +301,16 @@ WebStyleSheetKey WebDocument::InsertAbpElemhideStylesheet(
+@@ -326,6 +326,16 @@ WebStyleSheetKey WebDocument::InsertAbpElemhideStylesheet(
Document* document = Unwrap();
DCHECK(document);
@@ -13174,7 +13173,7 @@ diff --git a/third_party/blink/renderer/core/exported/web_document.cc b/third_pa
auto* parsed_sheet = MakeGarbageCollected(
MakeGarbageCollected(*document));
parsed_sheet->ParseString(source_code);
-@@ -322,9 +332,6 @@ WebStyleSheetKey WebDocument::InsertAbpElemhideStylesheet(
+@@ -347,9 +357,6 @@ WebStyleSheetKey WebDocument::InsertAbpElemhideStylesheet(
{SchedulingPolicy::DisableBackForwardCache()});
}
@@ -13187,7 +13186,7 @@ diff --git a/third_party/blink/renderer/core/exported/web_document.cc b/third_pa
diff --git a/third_party/blink/renderer/core/html/html_element.cc b/third_party/blink/renderer/core/html/html_element.cc
--- a/third_party/blink/renderer/core/html/html_element.cc
+++ b/third_party/blink/renderer/core/html/html_element.cc
-@@ -2942,13 +2942,7 @@ void HTMLElement::setSpellcheck(bool enable) {
+@@ -3010,13 +3010,7 @@ void HTMLElement::setSpellcheck(bool enable) {
}
void HTMLElement::click() {
diff --git a/build/patches/Fix-chromium-build-bugs.patch b/build/patches/Fix-chromium-build-bugs.patch
index 6ad7adf0..11cc2346 100644
--- a/build/patches/Fix-chromium-build-bugs.patch
+++ b/build/patches/Fix-chromium-build-bugs.patch
@@ -31,7 +31,7 @@ diff --git a/BUILD.gn b/BUILD.gn
diff --git a/chrome/browser/navigation_predictor/navigation_predictor_metrics_document_data.h b/chrome/browser/navigation_predictor/navigation_predictor_metrics_document_data.h
--- a/chrome/browser/navigation_predictor/navigation_predictor_metrics_document_data.h
+++ b/chrome/browser/navigation_predictor/navigation_predictor_metrics_document_data.h
-@@ -69,6 +69,8 @@ class NavigationPredictorMetricsDocumentData
+@@ -75,6 +75,8 @@ class NavigationPredictorMetricsDocumentData
UserInteractionsData(const UserInteractionsData&);
UserInteractionsData& operator=(const UserInteractionsData&);
@@ -43,7 +43,7 @@ diff --git a/chrome/browser/navigation_predictor/navigation_predictor_metrics_do
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
-@@ -317,6 +317,7 @@ static_library("safe_browsing") {
+@@ -325,6 +325,7 @@ static_library("safe_browsing") {
"//components/version_info",
"//content/public/browser",
"//services/preferences/public/mojom",
@@ -65,7 +65,7 @@ diff --git a/components/component_updater/installer_policies/BUILD.gn b/componen
diff --git a/components/contextual_tasks/internal/BUILD.gn b/components/contextual_tasks/internal/BUILD.gn
--- a/components/contextual_tasks/internal/BUILD.gn
+++ b/components/contextual_tasks/internal/BUILD.gn
-@@ -45,6 +45,7 @@ source_set("internal") {
+@@ -52,6 +52,7 @@ source_set("internal") {
"//net",
"//ui/gfx",
"//url",
@@ -133,7 +133,7 @@ diff --git a/components/safe_browsing/content/renderer/phishing_classifier/phish
diff --git a/content/browser/browser_interface_binders.cc b/content/browser/browser_interface_binders.cc
--- a/content/browser/browser_interface_binders.cc
+++ b/content/browser/browser_interface_binders.cc
-@@ -365,6 +365,7 @@ void BindDateTimeChooserForFrame(
+@@ -371,6 +371,7 @@ void BindDateTimeChooserForFrame(
void BindTextSuggestionHostForFrame(
RenderFrameHost* host,
mojo::PendingReceiver receiver) {
@@ -144,7 +144,7 @@ diff --git a/content/browser/browser_interface_binders.cc b/content/browser/brow
diff --git a/services/webnn/dml/graph_impl_dml.cc b/services/webnn/dml/graph_impl_dml.cc
--- a/services/webnn/dml/graph_impl_dml.cc
+++ b/services/webnn/dml/graph_impl_dml.cc
-@@ -246,6 +246,7 @@ base::expected CreateUnexpectedError(
+@@ -242,6 +242,7 @@ base::expected CreateUnexpectedError(
// Calculate the total byte length of buffers and the D3D12_RANGE for each
// buffer, all with the required alignment.
diff --git a/build/patches/Fonts-fingerprinting-mitigation.patch b/build/patches/Fonts-fingerprinting-mitigation.patch
index 062c121c..fc0ecd13 100644
--- a/build/patches/Fonts-fingerprinting-mitigation.patch
+++ b/build/patches/Fonts-fingerprinting-mitigation.patch
@@ -70,7 +70,7 @@ new file mode 100644
diff --git a/skia/ext/skia_utils_win.cc b/skia/ext/skia_utils_win.cc
--- a/skia/ext/skia_utils_win.cc
+++ b/skia/ext/skia_utils_win.cc
-@@ -371,6 +371,26 @@ void CreateBitmapHeaderForXRGB888(int width,
+@@ -369,6 +369,26 @@ void CreateBitmapHeaderForXRGB888(int width,
CreateBitmapHeaderWithColorDepth(width, height, 32, hdr);
}
@@ -120,7 +120,7 @@ diff --git a/skia/ext/skia_utils_win.h b/skia/ext/skia_utils_win.h
diff --git a/third_party/blink/public/common/features.h b/third_party/blink/public/common/features.h
--- a/third_party/blink/public/common/features.h
+++ b/third_party/blink/public/common/features.h
-@@ -441,6 +441,9 @@ BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(
+@@ -449,6 +449,9 @@ BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(
BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(kFencedFrames);
diff --git a/build/patches/Guard-for-user-agent-reduction.patch b/build/patches/Guard-for-user-agent-reduction.patch
index 91270aea..b7dc26e7 100644
--- a/build/patches/Guard-for-user-agent-reduction.patch
+++ b/build/patches/Guard-for-user-agent-reduction.patch
@@ -33,7 +33,7 @@ diff --git a/components/embedder_support/user_agent_utils.cc b/components/embedd
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
-@@ -4385,15 +4385,15 @@
+@@ -4523,15 +4523,15 @@
// If enabled, the platform version in User-Agent Data will be removed.
// This feature is limited to Linux only.
{
diff --git a/build/patches/Hardening-against-incognito-mode-detection.patch b/build/patches/Hardening-against-incognito-mode-detection.patch
index b8c93cf8..a6c91d54 100644
--- a/build/patches/Hardening-against-incognito-mode-detection.patch
+++ b/build/patches/Hardening-against-incognito-mode-detection.patch
@@ -4,14 +4,14 @@ Subject: Hardening against incognito mode detection
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
- storage/browser/quota/quota_manager_impl.cc | 4 ++--
+ storage/browser/quota/quota_manager_impl.cc | 6 +++---
storage/browser/quota/quota_settings.cc | 2 +-
- 2 files changed, 3 insertions(+), 3 deletions(-)
+ 2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/storage/browser/quota/quota_manager_impl.cc b/storage/browser/quota/quota_manager_impl.cc
--- a/storage/browser/quota/quota_manager_impl.cc
+++ b/storage/browser/quota/quota_manager_impl.cc
-@@ -1786,7 +1786,7 @@ int64_t QuotaManagerImpl::GetQuotaForStorageKey(
+@@ -1755,7 +1755,7 @@ int64_t QuotaManagerImpl::GetQuotaForStorageKey(
return kNoLimit;
}
@@ -20,12 +20,14 @@ diff --git a/storage/browser/quota/quota_manager_impl.cc b/storage/browser/quota
storage_key.origin().GetURL())) {
return settings.session_only_per_storage_key_quota;
}
-@@ -2455,7 +2455,7 @@ void QuotaManagerImpl::SimulateStoragePressure(const url::Origin& origin_url) {
+@@ -2416,8 +2416,8 @@ void QuotaManagerImpl::SimulateStoragePressure(const url::Origin& origin_url) {
void QuotaManagerImpl::IsSimulateStoragePressureAvailable(
IsSimulateStoragePressureAvailableCallback callback) {
// We assume this is only the case in incognito. If it changes, update this.
-- DCHECK_EQ(is_incognito_, storage_pressure_callback_.is_null());
-+ // DCHECK_EQ(is_incognito_, storage_pressure_callback_.is_null());
+- CHECK_EQ(is_incognito_, storage_pressure_callback_.is_null(),
+- base::NotFatalUntil::M148);
++ // CHECK_EQ(is_incognito_, storage_pressure_callback_.is_null(),
++ // base::NotFatalUntil::M148);
std::move(callback).Run(!storage_pressure_callback_.is_null());
}
diff --git a/build/patches/History-number-of-days-privacy-setting.patch b/build/patches/History-number-of-days-privacy-setting.patch
index 90366c02..337b80fb 100644
--- a/build/patches/History-number-of-days-privacy-setting.patch
+++ b/build/patches/History-number-of-days-privacy-setting.patch
@@ -33,9 +33,8 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../history/core/browser/history_service.h | 8 +++
components/history/core/common/pref_names.cc | 4 ++
components/history/core/common/pref_names.h | 1 +
- components/history_embeddings/sql_database.cc | 2 +-
.../omnibox/browser/shortcuts_backend.cc | 4 +-
- 25 files changed, 264 insertions(+), 16 deletions(-)
+ 24 files changed, 263 insertions(+), 15 deletions(-)
create mode 100644 components/cromite_components_strings_grd/History-number-of-days-privacy-setting.grdp
diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/android/java/res/xml/privacy_preferences.xml
@@ -57,7 +56,7 @@ diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/androi
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
-@@ -67,6 +67,7 @@ import org.chromium.components.browser_ui.settings.ChromeSwitchPreference;
+@@ -69,6 +69,7 @@ import org.chromium.components.browser_ui.settings.ChromeSwitchPreference;
import org.chromium.components.browser_ui.settings.SettingsFragment;
import org.chromium.components.browser_ui.settings.SettingsNavigation;
import org.chromium.components.browser_ui.settings.SettingsUtils;
@@ -65,7 +64,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
import org.chromium.components.browser_ui.settings.search.SettingsIndexData;
import org.chromium.components.browser_ui.site_settings.ContentSettingsResources;
import org.chromium.components.browser_ui.site_settings.SingleCategorySettings;
-@@ -101,6 +102,9 @@ import org.chromium.chrome.browser.preferences.ChromeSharedPreferences;
+@@ -103,6 +104,9 @@ import org.chromium.chrome.browser.preferences.ChromeSharedPreferences;
import org.chromium.components.browser_ui.settings.ChromeSwitchPreference;
import org.chromium.components.browser_ui.settings.ManagedPreferenceDelegate;
@@ -75,7 +74,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
/** Fragment to keep track of the all the privacy related preferences. */
@NullMarked
public class PrivacySettings extends ChromeBaseSettingsFragment
-@@ -166,6 +170,8 @@ public class PrivacySettings extends ChromeBaseSettingsFragment
+@@ -168,6 +172,8 @@ public class PrivacySettings extends ChromeBaseSettingsFragment
private ChromeSwitchPreference allowCustomTabIntentsPref;
private ChromeSwitchPreference openExternalLinksPref;
@@ -84,7 +83,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
@Override
public void onCreatePreferencesCromite(@Nullable Bundle savedInstanceState, @Nullable String rootKey) {
mPageTitle.set(getString(R.string.prefs_privacy_security));
-@@ -303,6 +309,40 @@ public class PrivacySettings extends ChromeBaseSettingsFragment
+@@ -305,6 +311,40 @@ public class PrivacySettings extends ChromeBaseSettingsFragment
Preference syncAndServicesLink = findPreference(PREF_SYNC_AND_SERVICES_LINK);
syncAndServicesLink.setSummary(buildFooterString());
@@ -125,7 +124,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
Preference thirdPartyCookies = findPreference(PREF_THIRD_PARTY_COOKIES);
if (thirdPartyCookies != null) {
thirdPartyCookies
-@@ -658,6 +698,29 @@ public class PrivacySettings extends ChromeBaseSettingsFragment
+@@ -660,6 +700,29 @@ public class PrivacySettings extends ChromeBaseSettingsFragment
|| ((System.currentTimeMillis() - updateTimeMs) < TimeUnit.DAYS.toMillis(90));
}
@@ -158,7 +157,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
diff --git a/chrome/browser/extensions/api/settings_private/prefs_util.cc b/chrome/browser/extensions/api/settings_private/prefs_util.cc
--- a/chrome/browser/extensions/api/settings_private/prefs_util.cc
+++ b/chrome/browser/extensions/api/settings_private/prefs_util.cc
-@@ -45,6 +45,7 @@
+@@ -44,6 +44,7 @@
#include "components/content_settings/core/common/pref_names.h"
#include "components/dom_distiller/core/pref_names.h"
#include "components/drive/drive_pref_names.h"
@@ -166,7 +165,7 @@ diff --git a/chrome/browser/extensions/api/settings_private/prefs_util.cc b/chro
#include "components/embedder_support/pref_names.h"
#include "components/language/core/browser/pref_names.h"
#include "components/live_caption/pref_names.h"
-@@ -257,6 +258,9 @@ const PrefsUtil::TypedPrefMap& PrefsUtil::GetAllowlistedKeys() {
+@@ -268,6 +269,9 @@ const PrefsUtil::TypedPrefMap& PrefsUtil::GetAllowlistedKeys() {
(*s_allowlist)[::prefs::kSplitViewDragAndDropEnabled] =
settings_api::PrefType::kBoolean;
@@ -202,7 +201,7 @@ diff --git a/chrome/browser/profiles/profile_impl.cc b/chrome/browser/profiles/p
diff --git a/chrome/browser/resources/settings/privacy_page/privacy_page.html b/chrome/browser/resources/settings/privacy_page/privacy_page.html
--- a/chrome/browser/resources/settings/privacy_page/privacy_page.html
+++ b/chrome/browser/resources/settings/privacy_page/privacy_page.html
-@@ -65,6 +65,15 @@
+@@ -58,6 +58,15 @@
sub-label="$i18n{siteSettingsSublabel}"
on-click="onSiteSettingsLinkRowClick_"
role-description="$i18n{subpageArrowRoleDescription}">
@@ -253,18 +252,18 @@ diff --git a/chrome/browser/resources/settings/privacy_page/privacy_page.ts b/ch
showClearBrowsingDataDialog_: Boolean,
showPrivacyGuideDialog_: Boolean,
-@@ -95,6 +113,7 @@ export class SettingsPrivacyPageElement extends SettingsPrivacyPageElementBase {
+@@ -90,6 +108,7 @@ export class SettingsPrivacyPageElement extends SettingsPrivacyPageElementBase {
};
}
+ declare private historyExpireDaysThresholdOptions_: object[];
declare private showClearBrowsingDataDialog_: boolean;
declare private showPrivacyGuideDialog_: boolean;
- declare private enableDeleteBrowsingDataRevamp_: boolean;
+ declare private isPrivacySandboxRestricted_: boolean;
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
-@@ -1282,6 +1282,18 @@ Your Google account may have other forms of browsing history like searches and a
+@@ -1344,6 +1344,18 @@ Your Google account may have other forms of browsing history like searches and a
Browsing history
@@ -286,7 +285,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro
diff --git a/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc b/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc
--- a/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc
+++ b/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc
-@@ -2325,6 +2325,11 @@ void AddPrivacyStrings(content::WebUIDataSource* html_source,
+@@ -2337,6 +2337,11 @@ void AddPrivacyStrings(content::WebUIDataSource* html_source,
IDS_SETTINGS_SAFEBROWSING_ENHANCED_THINGS_TO_CONSIDER_BULLET_THREE},
{"safeBrowsingStandard", IDS_SETTINGS_SAFEBROWSING_STANDARD},
{"safeBrowsingStandardDesc", IDS_SETTINGS_SAFEBROWSING_STANDARD_DESC},
@@ -663,18 +662,6 @@ diff --git a/components/history/core/common/pref_names.h b/components/history/co
extern const char kAllowDeletingBrowserHistory[];
} // namespace prefs
-diff --git a/components/history_embeddings/sql_database.cc b/components/history_embeddings/sql_database.cc
---- a/components/history_embeddings/sql_database.cc
-+++ b/components/history_embeddings/sql_database.cc
-@@ -183,7 +183,7 @@ sql::InitStatus SqlDatabase::InitInternal(const base::FilePath& storage_dir,
- // Chrome is running, but it's possible to miss events or start Chrome after
- // some down time, so this prevents long term accidental retention edge cases.
- DeleteExpiredData(/*expiration_time=*/base::Time::Now() -
-- base::Days(history::HistoryBackend::kExpireDaysThreshold));
-+ base::Days(90));
-
- // It's possible to get here without `embedder_metadata_` if forcing for
- // data deletion. In that case, don't check or change meta table.
diff --git a/components/omnibox/browser/shortcuts_backend.cc b/components/omnibox/browser/shortcuts_backend.cc
--- a/components/omnibox/browser/shortcuts_backend.cc
+++ b/components/omnibox/browser/shortcuts_backend.cc
diff --git a/build/patches/Immediately-destroy-shared-workers-when-closing-the-page.patch b/build/patches/Immediately-destroy-shared-workers-when-closing-the-page.patch
index 9b2e8912..cbe3a2be 100644
--- a/build/patches/Immediately-destroy-shared-workers-when-closing-the-page.patch
+++ b/build/patches/Immediately-destroy-shared-workers-when-closing-the-page.patch
@@ -24,7 +24,7 @@ diff --git a/content/browser/worker_host/shared_worker_host.cc b/content/browser
// These values are persisted to logs. Entries should not be renumbered and
// numeric values should never be reused.
-@@ -1089,16 +1089,6 @@ void SharedWorkerHost::OnClientStateChanged() {
+@@ -1095,16 +1095,6 @@ void SharedWorkerHost::OnClientStateChanged() {
worker_->Resume();
is_frozen_ = false;
} else if (!is_frozen_ && !has_active_client) {
@@ -41,7 +41,7 @@ diff --git a/content/browser/worker_host/shared_worker_host.cc b/content/browser
worker_->Freeze();
is_frozen_ = true;
}
-@@ -1153,17 +1143,6 @@ void SharedWorkerHost::OnClientConnectionLost() {
+@@ -1159,17 +1149,6 @@ void SharedWorkerHost::OnClientConnectionLost() {
// the freeze state to freeze the worker if no active clients remain.
OnClientStateChanged();
}
diff --git a/build/patches/Increase-number-of-autocomplete-matches-to-10.patch b/build/patches/Increase-number-of-autocomplete-matches-to-10.patch
index 48bc9af9..6967dbd6 100644
--- a/build/patches/Increase-number-of-autocomplete-matches-to-10.patch
+++ b/build/patches/Increase-number-of-autocomplete-matches-to-10.patch
@@ -13,7 +13,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/components/omnibox/browser/autocomplete_result.cc b/components/omnibox/browser/autocomplete_result.cc
--- a/components/omnibox/browser/autocomplete_result.cc
+++ b/components/omnibox/browser/autocomplete_result.cc
-@@ -101,10 +101,11 @@ constexpr size_t kMaxPedalMatchIndex =
+@@ -103,10 +103,11 @@ constexpr size_t kMaxPedalMatchIndex =
size_t AutocompleteResult::GetMaxMatches(
bool is_zero_suggest,
AutocompleteInput::FeaturedKeywordMode featured_keyword_mode) {
diff --git a/build/patches/Internal-firewall.patch b/build/patches/Internal-firewall.patch
index 44296e88..6ca54cdb 100644
--- a/build/patches/Internal-firewall.patch
+++ b/build/patches/Internal-firewall.patch
@@ -60,7 +60,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
--- a/chrome/browser/BUILD.gn
+++ b/chrome/browser/BUILD.gn
-@@ -2496,6 +2496,7 @@ static_library("browser") {
+@@ -2419,6 +2419,7 @@ static_library("browser") {
"//third_party/ungoogled:switches",
"//services/device/public/mojom",
"//services/device/public/mojom:usb",
@@ -71,7 +71,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
-@@ -237,6 +237,7 @@
+@@ -239,6 +239,7 @@
#include "sandbox/policy/features.h"
#include "sandbox/policy/switches.h"
#include "services/device/public/cpp/device_features.h"
@@ -118,8 +118,8 @@ diff --git a/chrome/browser/download/android/download_controller.cc b/chrome/bro
+
} // namespace
- static void JNI_DownloadController_CancelDownload(JNIEnv* env,
-@@ -227,7 +257,7 @@ static void JNI_DownloadController_DownloadUrl(
+ static void JNI_DownloadController_CancelDownload(
+@@ -228,7 +258,7 @@ static void JNI_DownloadController_DownloadUrl(
std::unique_ptr dl_params =
content::DownloadRequestUtils::CreateDownloadForWebContentsMainFrame(
web_contents, GURL(url),
@@ -301,7 +301,7 @@ new file mode 100644
diff --git a/net/BUILD.gn b/net/BUILD.gn
--- a/net/BUILD.gn
+++ b/net/BUILD.gn
-@@ -1206,6 +1206,7 @@ component("net") {
+@@ -1217,6 +1217,7 @@ component("net") {
"//components/unexportable_keys",
"//components/network_session_configurator/common",
"//net/http:transport_security_state_generated_files",
@@ -1669,7 +1669,7 @@ new file mode 100644
diff --git a/services/network/network_context.cc b/services/network/network_context.cc
--- a/services/network/network_context.cc
+++ b/services/network/network_context.cc
-@@ -106,6 +106,7 @@
+@@ -107,6 +107,7 @@
#include "net/url_request/url_request.h"
#include "net/url_request/url_request_context.h"
#include "net/url_request/url_request_context_builder.h"
@@ -1677,7 +1677,7 @@ diff --git a/services/network/network_context.cc b/services/network/network_cont
#include "services/network/brokered_client_socket_factory.h"
#include "services/network/connection_change_observer.h"
#include "services/network/cookie_manager.h"
-@@ -1825,6 +1826,9 @@ void NetworkContext::OnNewSCTAuditingReportSent() {
+@@ -1869,6 +1870,9 @@ void NetworkContext::OnNewSCTAuditingReportSent() {
void NetworkContext::CreateUDPSocket(
mojo::PendingReceiver receiver,
mojo::PendingRemote listener) {
@@ -1687,7 +1687,7 @@ diff --git a/services/network/network_context.cc b/services/network/network_cont
socket_factory_->CreateUDPSocket(std::move(receiver), std::move(listener));
}
-@@ -1838,6 +1842,17 @@ void NetworkContext::CreateRestrictedUDPSocket(
+@@ -1882,6 +1886,17 @@ void NetworkContext::CreateRestrictedUDPSocket(
bool allow_multicast,
CreateRestrictedUDPSocketCallback callback) {
// SimpleHostResolver is transitively owned by |this|.
@@ -1705,7 +1705,7 @@ diff --git a/services/network/network_context.cc b/services/network/network_cont
socket_factory_->CreateRestrictedUDPSocket(
addr, mode, traffic_annotation, std::move(params), std::move(receiver),
std::move(listener), SimpleHostResolver::Create(this), allow_multicast,
-@@ -1850,6 +1865,17 @@ void NetworkContext::CreateTCPServerSocket(
+@@ -1894,6 +1909,17 @@ void NetworkContext::CreateTCPServerSocket(
const net::MutableNetworkTrafficAnnotationTag& traffic_annotation,
mojo::PendingReceiver receiver,
CreateTCPServerSocketCallback callback) {
@@ -1723,7 +1723,7 @@ diff --git a/services/network/network_context.cc b/services/network/network_cont
socket_factory_->CreateTCPServerSocket(
local_addr, std::move(options),
static_cast(traffic_annotation),
-@@ -1864,6 +1890,21 @@ void NetworkContext::CreateTCPConnectedSocket(
+@@ -1908,6 +1934,21 @@ void NetworkContext::CreateTCPConnectedSocket(
mojo::PendingReceiver receiver,
mojo::PendingRemote observer,
CreateTCPConnectedSocketCallback callback) {
@@ -1745,7 +1745,7 @@ diff --git a/services/network/network_context.cc b/services/network/network_cont
socket_factory_->CreateTCPConnectedSocket(
local_addr, remote_addr_list, std::move(tcp_connected_socket_options),
static_cast(traffic_annotation),
-@@ -1875,6 +1916,20 @@ void NetworkContext::CreateTCPBoundSocket(
+@@ -1919,6 +1960,20 @@ void NetworkContext::CreateTCPBoundSocket(
const net::MutableNetworkTrafficAnnotationTag& traffic_annotation,
mojo::PendingReceiver receiver,
CreateTCPBoundSocketCallback callback) {
@@ -1766,7 +1766,7 @@ diff --git a/services/network/network_context.cc b/services/network/network_cont
socket_factory_->CreateTCPBoundSocket(
local_addr,
static_cast(traffic_annotation),
-@@ -1942,6 +1997,24 @@ void NetworkContext::CreateWebSocket(
+@@ -1985,6 +2040,24 @@ void NetworkContext::CreateWebSocket(
mojo::PendingRemote auth_handler,
mojo::PendingRemote header_client,
const std::optional& throttling_profile_id) {
diff --git a/build/patches/JIT-site-settings.patch b/build/patches/JIT-site-settings.patch
index b4c46bf4..9bd16b4d 100644
--- a/build/patches/JIT-site-settings.patch
+++ b/build/patches/JIT-site-settings.patch
@@ -279,7 +279,7 @@ new file mode 100644
diff --git a/components/content_settings/core/browser/content_settings_registry.cc b/components/content_settings/core/browser/content_settings_registry.cc
--- a/components/content_settings/core/browser/content_settings_registry.cc
+++ b/components/content_settings/core/browser/content_settings_registry.cc
-@@ -578,7 +578,7 @@ void ContentSettingsRegistry::Init() {
+@@ -579,7 +579,7 @@ void ContentSettingsRegistry::Init() {
PermissionSettingsInfo::EXCEPTIONS_ON_SECURE_ORIGINS_ONLY);
Register(ContentSettingsType::JAVASCRIPT_JIT, "javascript-jit",
@@ -291,7 +291,7 @@ diff --git a/components/content_settings/core/browser/content_settings_registry.
diff --git a/content/browser/renderer_host/navigation_request.cc b/content/browser/renderer_host/navigation_request.cc
--- a/content/browser/renderer_host/navigation_request.cc
+++ b/content/browser/renderer_host/navigation_request.cc
-@@ -4326,12 +4326,17 @@ UrlInfo NavigationRequest::GetUrlInfo() {
+@@ -4344,12 +4344,17 @@ UrlInfo NavigationRequest::GetUrlInfo() {
// Compute the WebExposedIsolationInfo that will be bundled into UrlInfo.
auto web_exposed_isolation_info = ComputeWebExposedIsolationInfo();
@@ -313,7 +313,7 @@ diff --git a/content/browser/renderer_host/navigation_request.cc b/content/brows
diff --git a/content/browser/renderer_host/render_process_host_impl.cc b/content/browser/renderer_host/render_process_host_impl.cc
--- a/content/browser/renderer_host/render_process_host_impl.cc
+++ b/content/browser/renderer_host/render_process_host_impl.cc
-@@ -3597,6 +3597,9 @@ void RenderProcessHostImpl::AppendRendererCommandLine(
+@@ -3626,6 +3626,9 @@ void RenderProcessHostImpl::AppendRendererCommandLine(
if (IsJitDisabled()) {
AppendToCommaSeparatedSwitch(
command_line, blink::switches::kJavaScriptFlags, "--jitless");
diff --git a/build/patches/Keep-ComputePressure-disabled.patch b/build/patches/Keep-ComputePressure-disabled.patch
index 744c3de0..8a25ceba 100644
--- a/build/patches/Keep-ComputePressure-disabled.patch
+++ b/build/patches/Keep-ComputePressure-disabled.patch
@@ -10,7 +10,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
-@@ -1221,11 +1221,9 @@
+@@ -1269,11 +1269,9 @@
status: "stable",
},
{
diff --git a/build/patches/Keep-Manta-Service-Disabled.patch b/build/patches/Keep-Manta-Service-Disabled.patch
index 92894995..3b85f162 100644
--- a/build/patches/Keep-Manta-Service-Disabled.patch
+++ b/build/patches/Keep-Manta-Service-Disabled.patch
@@ -10,7 +10,7 @@ Subject: Keep Manta Service Disabled
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
-@@ -1044,7 +1044,6 @@ void ChromeBrowserMainExtraPartsProfiles::
+@@ -1058,7 +1058,6 @@ void ChromeBrowserMainExtraPartsProfiles::
#if !BUILDFLAG(IS_ANDROID)
ManagedConfigurationAPIFactory::GetInstance();
#endif
diff --git a/build/patches/Keep-disabled-CpuPerformance.patch b/build/patches/Keep-disabled-CpuPerformance.patch
index ebf7ba09..5949d19a 100644
--- a/build/patches/Keep-disabled-CpuPerformance.patch
+++ b/build/patches/Keep-disabled-CpuPerformance.patch
@@ -7,19 +7,23 @@ see https://github.com/explainers-by-googlers/cpu-performance?tab=readme-ov-file
License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
---
- .../blink/renderer/platform/runtime_enabled_features.json5 | 3 +--
- 1 file changed, 1 insertion(+), 2 deletions(-)
+ .../blink/renderer/platform/runtime_enabled_features.json5 | 7 +------
+ 1 file changed, 1 insertion(+), 6 deletions(-)
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
-@@ -1307,8 +1307,7 @@
+@@ -1356,12 +1356,7 @@
// CPU Performance API, work in progress.
// https://chromestatus.com/feature/5189864286978048
// https://github.com/explainers-by-googlers/cpu-performance
- name: "CpuPerformance",
-- status: "experimental"
-+ status: "experimental", name: "CpuPerformance",
+- status: "experimental",
+- origin_trial_feature_name: "CpuPerformance",
+- origin_trial_allows_third_party: true,
+- base_feature_status: "enabled",
+- copied_from_base_feature_if: "overridden",
++ status: "experimental",name: "CpuPerformance",
},
{
name: "CrashReportingStorageAPI",
diff --git a/build/patches/Keep-disabled-FetchLaterAPI.patch b/build/patches/Keep-disabled-FetchLaterAPI.patch
index 1b08d55f..046880a7 100644
--- a/build/patches/Keep-disabled-FetchLaterAPI.patch
+++ b/build/patches/Keep-disabled-FetchLaterAPI.patch
@@ -190,7 +190,7 @@ diff --git a/third_party/blink/renderer/platform/loader/child_url_loader_factory
diff --git a/third_party/blink/renderer/platform/loader/fetch/resource_fetcher.cc b/third_party/blink/renderer/platform/loader/fetch/resource_fetcher.cc
--- a/third_party/blink/renderer/platform/loader/fetch/resource_fetcher.cc
+++ b/third_party/blink/renderer/platform/loader/fetch/resource_fetcher.cc
-@@ -3112,7 +3112,7 @@ void ResourceFetcher::PrepareForLeakDetection() {
+@@ -3121,7 +3121,7 @@ void ResourceFetcher::PrepareForLeakDetection() {
void ResourceFetcher::StopFetchingInternal(StopFetchingTarget target) {
// TODO(toyoshim): May want to suspend scheduler while canceling loaders so
// that the cancellations below do not awake unnecessary scheduling.
@@ -202,7 +202,7 @@ diff --git a/third_party/blink/renderer/platform/loader/fetch/resource_fetcher.c
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
-@@ -2482,8 +2482,8 @@
+@@ -2573,8 +2573,8 @@
{
// The Blink runtime-enabled feature name for the API's IDL.
// https://chromestatus.com/feature/4654499737632768
diff --git a/build/patches/Keep-empty-tabs-between-sessions.patch b/build/patches/Keep-empty-tabs-between-sessions.patch
index dd98f44c..d622a616 100644
--- a/build/patches/Keep-empty-tabs-between-sessions.patch
+++ b/build/patches/Keep-empty-tabs-between-sessions.patch
@@ -13,7 +13,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
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
-@@ -1128,7 +1128,7 @@ public class MultiWindowUtils implements ActivityStateListener {
+@@ -1304,7 +1304,7 @@ public class MultiWindowUtils implements ActivityStateListener {
int totalCount = 0;
for (TabModel model : models) {
for (Tab tab : model) {
@@ -25,7 +25,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/multiwindow/Mul
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabPersistentStoreImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabPersistentStoreImpl.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabPersistentStoreImpl.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabPersistentStoreImpl.java
-@@ -1966,13 +1966,6 @@ public class TabPersistentStoreImpl implements TabPersistentStore {
+@@ -1932,13 +1932,6 @@ public class TabPersistentStoreImpl implements TabPersistentStore {
continue;
}
diff --git a/build/patches/Keep-flag-to-allow-screenshots-in-Incognito-mode.patch b/build/patches/Keep-flag-to-allow-screenshots-in-Incognito-mode.patch
index 535aebd7..36d1b2b6 100644
--- a/build/patches/Keep-flag-to-allow-screenshots-in-Incognito-mode.patch
+++ b/build/patches/Keep-flag-to-allow-screenshots-in-Incognito-mode.patch
@@ -28,7 +28,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/incognito/Incog
diff --git a/chrome/browser/flag-metadata.json b/chrome/browser/flag-metadata.json
--- a/chrome/browser/flag-metadata.json
+++ b/chrome/browser/flag-metadata.json
-@@ -5699,10 +5699,10 @@
+@@ -5851,10 +5851,10 @@
"expiry_milestone": -1
},
{
diff --git a/build/patches/Keyboard-protection-flag.patch b/build/patches/Keyboard-protection-flag.patch
index 3d215fd3..60ff004d 100644
--- a/build/patches/Keyboard-protection-flag.patch
+++ b/build/patches/Keyboard-protection-flag.patch
@@ -11,19 +11,19 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
.../common/ProductionSupportedFlagList.java | 5 +
.../Keyboard-protection-flag.inc | 10 ++
.../renderer/core/events/keyboard_event.cc | 136 ++++++++++++++++++
- .../renderer/core/events/keyboard_event.h | 3 +
+ .../renderer/core/events/keyboard_event.h | 2 +
ui/base/ui_base_features.cc | 8 ++
ui/base/ui_base_features.h | 2 +
.../dom/dom_keyboard_layout_map_win.cc | 13 ++
.../keycodes/keyboard_code_conversion.cc | 10 +-
ui/events/keycodes/keyboard_code_conversion.h | 2 +-
- 9 files changed, 186 insertions(+), 3 deletions(-)
+ 9 files changed, 185 insertions(+), 3 deletions(-)
create mode 100644 cromite_flags/chrome/browser/about_flags_cc/Keyboard-protection-flag.inc
diff --git a/android_webview/java/src/org/chromium/android_webview/common/ProductionSupportedFlagList.java b/android_webview/java/src/org/chromium/android_webview/common/ProductionSupportedFlagList.java
--- a/android_webview/java/src/org/chromium/android_webview/common/ProductionSupportedFlagList.java
+++ b/android_webview/java/src/org/chromium/android_webview/common/ProductionSupportedFlagList.java
-@@ -965,6 +965,11 @@ public final class ProductionSupportedFlagList {
+@@ -991,6 +991,11 @@ public final class ProductionSupportedFlagList {
+ " also enable the same behaviour as this flag. Additionally, developer"
+ " preferences via the AndroidX API or manifest metadata supersedes this"
+ " flag."),
@@ -213,16 +213,15 @@ diff --git a/third_party/blink/renderer/core/events/keyboard_event.cc b/third_pa
diff --git a/third_party/blink/renderer/core/events/keyboard_event.h b/third_party/blink/renderer/core/events/keyboard_event.h
--- a/third_party/blink/renderer/core/events/keyboard_event.h
+++ b/third_party/blink/renderer/core/events/keyboard_event.h
-@@ -101,6 +101,8 @@ class CORE_EXPORT KeyboardEvent final : public UIEventWithKeyState {
-
- CSSPseudoElement* pseudoTarget() const { return Event::pseudoTarget(); }
+@@ -99,6 +99,7 @@ class CORE_EXPORT KeyboardEvent final : public UIEventWithKeyState {
+ unsigned which() const override;
+ bool isComposing() const { return is_composing_; }
+ DispatchEventResult DispatchEvent(EventDispatcher&) override;
-+
+
void Trace(Visitor*) const override;
- private:
-@@ -113,6 +115,7 @@ class CORE_EXPORT KeyboardEvent final : public UIEventWithKeyState {
+@@ -112,6 +113,7 @@ class CORE_EXPORT KeyboardEvent final : public UIEventWithKeyState {
bool is_composing_ = false;
unsigned char_code_ = 0;
unsigned key_code_ = 0;
diff --git a/build/patches/Lock-Profile-Cookie-Database.patch b/build/patches/Lock-Profile-Cookie-Database.patch
index df8b8239..74260cdd 100644
--- a/build/patches/Lock-Profile-Cookie-Database.patch
+++ b/build/patches/Lock-Profile-Cookie-Database.patch
@@ -16,7 +16,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.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
-@@ -1371,6 +1371,14 @@ void ProfileNetworkContextService::ConfigureNetworkContextParamsInternal(
+@@ -1390,6 +1390,14 @@ void ProfileNetworkContextService::ConfigureNetworkContextParamsInternal(
network_context_params->file_paths->cookie_database_name =
base::FilePath(chrome::kCookieFilename);
@@ -56,7 +56,7 @@ new file mode 100644
diff --git a/services/network/network_context.cc b/services/network/network_context.cc
--- a/services/network/network_context.cc
+++ b/services/network/network_context.cc
-@@ -3226,7 +3226,7 @@ NetworkContext::MakeSessionCleanupCookieStore() const {
+@@ -3269,7 +3269,7 @@ NetworkContext::MakeSessionCleanupCookieStore() const {
#if BUILDFLAG(IS_WIN)
const bool enable_exclusive_access =
@@ -68,7 +68,7 @@ diff --git a/services/network/network_context.cc b/services/network/network_cont
diff --git a/services/network/public/mojom/network_context.mojom b/services/network/public/mojom/network_context.mojom
--- a/services/network/public/mojom/network_context.mojom
+++ b/services/network/public/mojom/network_context.mojom
-@@ -358,6 +358,14 @@ struct NetworkContextParams {
+@@ -369,6 +369,14 @@ struct NetworkContextParams {
// If true, cookies will be stored encrypted.
bool enable_encrypted_cookies = true;
diff --git a/build/patches/Log-dangling-attributes-in-some-html-elements.patch b/build/patches/Log-dangling-attributes-in-some-html-elements.patch
index 09667ff3..819dfeea 100644
--- a/build/patches/Log-dangling-attributes-in-some-html-elements.patch
+++ b/build/patches/Log-dangling-attributes-in-some-html-elements.patch
@@ -42,7 +42,7 @@ new file mode 100644
diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink/renderer/core/dom/document.cc
--- a/third_party/blink/renderer/core/dom/document.cc
+++ b/third_party/blink/renderer/core/dom/document.cc
-@@ -5082,6 +5082,14 @@ void Document::ProcessBaseElement() {
+@@ -5074,6 +5074,14 @@ void Document::ProcessBaseElement() {
KURL base_element_url;
if (href) {
StringView stripped_href = StripLeadingAndTrailingHtmlSpaces(*href);
@@ -57,7 +57,7 @@ diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink
if (!stripped_href.empty())
base_element_url = KURL(FallbackBaseURL(), stripped_href);
}
-@@ -5099,6 +5107,14 @@ void Document::ProcessBaseElement() {
+@@ -5091,6 +5099,14 @@ void Document::ProcessBaseElement() {
!GetExecutionContext()->GetSecurityOrigin()->CanRequest(
base_element_url)) {
UseCounter::Count(*this, WebFeature::kBaseWithCrossOriginHref);
@@ -72,9 +72,9 @@ diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink
}
}
-@@ -5129,6 +5145,8 @@ void Document::ProcessBaseElement() {
- if (target->Contains('<'))
+@@ -5123,6 +5139,8 @@ void Document::ProcessBaseElement() {
UseCounter::Count(*this, WebFeature::kBaseWithOpenBracketInTarget);
+ }
base_target_ = *target;
+ if (target->Contains('\n') || target->Contains('\r') || target->Contains('<'))
+ base_target_ = g_null_atom;
@@ -84,7 +84,7 @@ diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink
diff --git a/third_party/blink/renderer/core/dom/element.cc b/third_party/blink/renderer/core/dom/element.cc
--- a/third_party/blink/renderer/core/dom/element.cc
+++ b/third_party/blink/renderer/core/dom/element.cc
-@@ -4111,8 +4111,26 @@ void Element::StripScriptingAttributes(
+@@ -4084,8 +4084,26 @@ void Element::StripScriptingAttributes(
attribute_vector.Shrink(destination);
}
@@ -115,7 +115,7 @@ diff --git a/third_party/blink/renderer/core/dom/element.cc b/third_party/blink/
diff --git a/third_party/blink/renderer/core/dom/element.h b/third_party/blink/renderer/core/dom/element.h
--- a/third_party/blink/renderer/core/dom/element.h
+++ b/third_party/blink/renderer/core/dom/element.h
-@@ -819,7 +819,8 @@ class CORE_EXPORT Element : public ContainerNode {
+@@ -812,7 +812,8 @@ class CORE_EXPORT Element : public ContainerNode {
virtual bool HasLegalLinkAttribute(const QualifiedName&) const;
// Only called by the parser immediately after element construction.
@@ -157,7 +157,7 @@ diff --git a/third_party/blink/renderer/core/editing/serializers/markup_formatte
diff --git a/third_party/blink/renderer/core/html/forms/html_form_element.cc b/third_party/blink/renderer/core/html/forms/html_form_element.cc
--- a/third_party/blink/renderer/core/html/forms/html_form_element.cc
+++ b/third_party/blink/renderer/core/html/forms/html_form_element.cc
-@@ -537,7 +537,7 @@ void HTMLFormElement::PrepareForSubmission(
+@@ -547,7 +547,7 @@ void HTMLFormElement::PrepareForSubmission(
if (form_control_element && form_control_element->BlocksFormSubmission()) {
UseCounter::Count(GetDocument(),
WebFeature::kFormSubmittedWithUnclosedFormControl);
@@ -212,7 +212,7 @@ diff --git a/third_party/blink/renderer/core/html/html_frame_element_base.cc b/t
+ //frame_name_ = g_empty_atom;
+ }
} else if (name == html_names::kMarginwidthAttr) {
- SetMarginWidth(StringToInt(value).value_or(0));
+ SetMarginWidth(StringToIntLoose(value).value_or(0));
} else if (name == html_names::kMarginheightAttr) {
diff --git a/third_party/blink/renderer/core/html/html_iframe_element.cc b/third_party/blink/renderer/core/html/html_iframe_element.cc
--- a/third_party/blink/renderer/core/html/html_iframe_element.cc
@@ -251,7 +251,7 @@ diff --git a/third_party/blink/renderer/core/html/html_iframe_element.h b/third_
--- a/third_party/blink/renderer/core/html/html_iframe_element.h
+++ b/third_party/blink/renderer/core/html/html_iframe_element.h
@@ -68,6 +68,8 @@ class CORE_EXPORT HTMLIFrameElement : public HTMLFrameElementBase,
- const V8UnionStringOrTrustedHTML* srcdoc() const;
+ String srcdoc() const;
void setSrcdoc(const V8UnionStringOrTrustedHTML*, ExceptionState&);
+ void ParserSetAttributes(Vector&) override;
@@ -334,7 +334,7 @@ diff --git a/third_party/blink/renderer/core/page/frame_tree.cc b/third_party/bl
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
-@@ -3427,6 +3427,12 @@
+@@ -3548,6 +3548,12 @@
name: "MacDisableCtrlHomeEnd",
status: "stable",
},
@@ -346,5 +346,5 @@ diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5
+ },
{
name: "MachineLearningNeuralNetwork",
- // Enabled by webnn::mojom::features::kWebMachineLearningNeuralNetwork.
+ origin_trial_feature_name: "WebMachineLearningNeuralNetwork",
--
diff --git a/build/patches/Logcat-crash-reports-UI.patch b/build/patches/Logcat-crash-reports-UI.patch
index b4381618..19996004 100644
--- a/build/patches/Logcat-crash-reports-UI.patch
+++ b/build/patches/Logcat-crash-reports-UI.patch
@@ -27,7 +27,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/crash/MinidumpUploadServiceImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/crash/MinidumpUploadServiceImpl.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/crash/MinidumpUploadServiceImpl.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/crash/MinidumpUploadServiceImpl.java
-@@ -51,6 +51,11 @@ import java.lang.annotation.Retention;
+@@ -41,6 +41,11 @@ import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.util.concurrent.atomic.AtomicBoolean;
@@ -39,7 +39,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/crash/MinidumpU
/** Service that is responsible for uploading crash minidumps to the Google crash server. */
@NullMarked
public class MinidumpUploadServiceImpl extends SplitCompatIntentService.Impl {
-@@ -95,6 +100,23 @@ public class MinidumpUploadServiceImpl extends SplitCompatIntentService.Impl {
+@@ -85,6 +90,23 @@ public class MinidumpUploadServiceImpl extends SplitCompatIntentService.Impl {
assumeNonNull(getService()).setIntentRedelivery(true);
}
@@ -154,7 +154,7 @@ diff --git a/chrome/browser/net/chrome_network_delegate.cc b/chrome/browser/net/
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
-@@ -641,6 +641,7 @@ static_library("ui") {
+@@ -667,6 +667,7 @@ static_library("ui") {
"//third_party/re2",
"//third_party/webrtc_overrides:webrtc_component",
"//third_party/zlib",
@@ -778,7 +778,7 @@ diff --git a/components/crash_strings.grdp b/components/crash_strings.grdp
diff --git a/components/minidump_uploader/android/java/src/org/chromium/components/minidump_uploader/CrashFileManager.java b/components/minidump_uploader/android/java/src/org/chromium/components/minidump_uploader/CrashFileManager.java
--- a/components/minidump_uploader/android/java/src/org/chromium/components/minidump_uploader/CrashFileManager.java
+++ b/components/minidump_uploader/android/java/src/org/chromium/components/minidump_uploader/CrashFileManager.java
-@@ -107,6 +107,8 @@ public class CrashFileManager {
+@@ -117,6 +117,8 @@ public class CrashFileManager {
private static final Pattern TMP_PATTERN = Pattern.compile("\\.tmp\\z");
@@ -787,7 +787,7 @@ diff --git a/components/minidump_uploader/android/java/src/org/chromium/componen
// The maximum number of non-uploaded crashes that may be kept in the crash reports directory.
// Chosen to attempt to balance between keeping a generous number of crashes, and not using up
// too much filesystem storage space for obsolete crash reports.
-@@ -115,7 +117,7 @@ public class CrashFileManager {
+@@ -125,7 +127,7 @@ public class CrashFileManager {
// The maximum age, in days, considered acceptable for a crash report. Reports older than this
// age will be removed. The constant is chosen to be quite conservative, while still allowing
// users to eventually reclaim filesystem storage space from obsolete crash reports.
@@ -796,7 +796,7 @@ diff --git a/components/minidump_uploader/android/java/src/org/chromium/componen
// The maximum number of non-uploaded crashes to copy to the crash reports directory. The
// difference between this value and MAX_CRASH_REPORTS_TO_KEEP is that TO_KEEP is only checked
-@@ -599,6 +601,9 @@ public class CrashFileManager {
+@@ -626,6 +628,9 @@ public class CrashFileManager {
&& !f.getName().contains(UPLOAD_FORCED_MINIDUMP_SUFFIX)) {
continue;
}
@@ -809,7 +809,7 @@ diff --git a/components/minidump_uploader/android/java/src/org/chromium/componen
diff --git a/components/minidump_uploader/android/java/src/org/chromium/components/minidump_uploader/MinidumpUploadCallable.java b/components/minidump_uploader/android/java/src/org/chromium/components/minidump_uploader/MinidumpUploadCallable.java
--- a/components/minidump_uploader/android/java/src/org/chromium/components/minidump_uploader/MinidumpUploadCallable.java
+++ b/components/minidump_uploader/android/java/src/org/chromium/components/minidump_uploader/MinidumpUploadCallable.java
-@@ -73,30 +73,8 @@ public class MinidumpUploadCallable implements Callable {
+@@ -71,30 +71,8 @@ public class MinidumpUploadCallable implements Callable {
if (mPermManager.isUploadEnabledForTests()) {
Log.i(TAG, "Minidump upload enabled for tests, skipping other checks.");
} else if (!CrashFileManager.isForcedUpload(mFileToUpload)) {
diff --git a/build/patches/Modify-default-preferences.patch b/build/patches/Modify-default-preferences.patch
index bfd17562..900cedb3 100644
--- a/build/patches/Modify-default-preferences.patch
+++ b/build/patches/Modify-default-preferences.patch
@@ -33,7 +33,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
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
-@@ -84,6 +84,7 @@
+@@ -85,6 +85,7 @@
#include "components/autofill/core/common/autofill_payments_features.h"
#include "components/autofill/core/common/autofill_switches.h"
#include "components/autofill/core/common/autofill_util.h"
@@ -56,7 +56,7 @@ diff --git a/chrome/browser/background/extensions/background_mode_manager.cc b/c
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
-@@ -1449,7 +1449,7 @@ void ChromeContentBrowserClient::RegisterLocalStatePrefs(
+@@ -1499,7 +1499,7 @@ void ChromeContentBrowserClient::RegisterLocalStatePrefs(
void ChromeContentBrowserClient::RegisterProfilePrefs(
user_prefs::PrefRegistrySyncable* registry) {
registry->RegisterBooleanPref(prefs::kDisable3DAPIs, false);
@@ -68,7 +68,7 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch
diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browser_prefs.cc
--- a/chrome/browser/prefs/browser_prefs.cc
+++ b/chrome/browser/prefs/browser_prefs.cc
-@@ -1341,7 +1341,7 @@ void RegisterProfilePrefsForMigration(
+@@ -1364,7 +1364,7 @@ void RegisterProfilePrefsForMigration(
registry->RegisterTimePref(kMerchantTrustPageInfoLastOpenTime, base::Time());
// Deprecated 12/2025.
@@ -116,7 +116,7 @@ diff --git a/chrome/browser/resources/settings/reset_page/reset_profile_dialog.h
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
-@@ -129,7 +129,7 @@ void RegisterBrowserUserPrefs(user_prefs::PrefRegistrySyncable* registry) {
+@@ -132,7 +132,7 @@ void RegisterBrowserUserPrefs(user_prefs::PrefRegistrySyncable* registry) {
registry->RegisterBooleanPref(prefs::kWebAppCreateInAppsMenu, true);
registry->RegisterBooleanPref(prefs::kWebAppCreateInQuickLaunchBar, true);
registry->RegisterBooleanPref(
@@ -125,7 +125,7 @@ diff --git a/chrome/browser/ui/browser_ui_prefs.cc b/chrome/browser/ui/browser_u
user_prefs::PrefRegistrySyncable::SYNCABLE_PREF);
registry->RegisterDictionaryPref(prefs::kBrowserWindowPlacement);
registry->RegisterDictionaryPref(prefs::kBrowserWindowPlacementPopup);
-@@ -210,7 +210,7 @@ void RegisterBrowserUserPrefs(user_prefs::PrefRegistrySyncable* registry) {
+@@ -213,7 +213,7 @@ void RegisterBrowserUserPrefs(user_prefs::PrefRegistrySyncable* registry) {
#endif
registry->RegisterBooleanPref(
@@ -262,8 +262,8 @@ diff --git a/components/content_settings/core/browser/content_settings_registry.
- Register(ContentSettingsType::SENSORS, "sensors", CONTENT_SETTING_ALLOW,
+ Register(ContentSettingsType::SENSORS, "sensors", CONTENT_SETTING_BLOCK,
WebsiteSettingsInfo::UNSYNCABLE, /*allowlisted_primary_schemes=*/{},
- /*valid_settings=*/{CONTENT_SETTING_ALLOW, CONTENT_SETTING_BLOCK},
- WebsiteSettingsInfo::TOP_ORIGIN_ONLY_SCOPE,
+ /*valid_settings=*/
+ {CONTENT_SETTING_ALLOW, CONTENT_SETTING_BLOCK, CONTENT_SETTING_ASK},
diff --git a/components/content_settings/core/browser/cookie_settings.cc b/components/content_settings/core/browser/cookie_settings.cc
--- a/components/content_settings/core/browser/cookie_settings.cc
+++ b/components/content_settings/core/browser/cookie_settings.cc
@@ -310,25 +310,26 @@ diff --git a/components/safe_browsing/core/common/safe_browsing_prefs.cc b/compo
diff --git a/components/security_interstitials/core/features.cc b/components/security_interstitials/core/features.cc
--- a/components/security_interstitials/core/features.cc
+++ b/components/security_interstitials/core/features.cc
-@@ -18,5 +18,6 @@ BASE_FEATURE(kHttpsFirstDialogUi, base::FEATURE_DISABLED_BY_DEFAULT);
+@@ -18,6 +18,7 @@ BASE_FEATURE(kHttpsFirstDialogUi, base::FEATURE_DISABLED_BY_DEFAULT);
#else
BASE_FEATURE(kHttpsFirstDialogUi, base::FEATURE_ENABLED_BY_DEFAULT);
#endif
+SET_CROMITE_FEATURE_DISABLED(kHttpsFirstDialogUi);
- } // namespace security_interstitials::features
+ BASE_FEATURE(kInsecureFormNavigationThrottleForPrerender,
+ base::FEATURE_ENABLED_BY_DEFAULT);
diff --git a/components/signin/internal/identity_manager/primary_account_manager.cc b/components/signin/internal/identity_manager/primary_account_manager.cc
--- a/components/signin/internal/identity_manager/primary_account_manager.cc
+++ b/components/signin/internal/identity_manager/primary_account_manager.cc
-@@ -322,7 +322,7 @@ void PrimaryAccountManager::RegisterProfilePrefs(PrefRegistrySimple* registry) {
+@@ -388,7 +388,7 @@ void PrimaryAccountManager::RegisterProfilePrefs(PrefRegistrySimple* registry) {
prefs::kGoogleServicesSyncingUsernameMigratedToSignedIn, std::string());
registry->RegisterIntegerPref(prefs::kGoogleServicesSyncingUserMigrationType,
/*SyncToSigninMigrationType::kUnknown=*/0);
- registry->RegisterBooleanPref(prefs::kSigninAllowed, true);
+ registry->RegisterBooleanPref(prefs::kSigninAllowed, false);
registry->RegisterBooleanPref(prefs::kSignedInWithCredentialProvider, false);
- registry->RegisterBooleanPref(kExplicitBrowserSigninWithoutFeatureEnabled,
- false);
+ registry->RegisterBooleanPref(prefs::kExplicitBrowserSignin, false);
+ registry->RegisterBooleanPref(
diff --git a/cromite_flags/chrome/browser/about_flags_cc/Modify-default-preferences.inc b/cromite_flags/chrome/browser/about_flags_cc/Modify-default-preferences.inc
new file mode 100755
--- /dev/null
diff --git a/build/patches/Move-some-account-settings-back-to-privacy-settings.patch b/build/patches/Move-some-account-settings-back-to-privacy-settings.patch
index 5c805837..aaf0b5b7 100644
--- a/build/patches/Move-some-account-settings-back-to-privacy-settings.patch
+++ b/build/patches/Move-some-account-settings-back-to-privacy-settings.patch
@@ -37,7 +37,7 @@ diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/androi
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
-@@ -82,6 +82,13 @@ import org.chromium.ui.text.SpanApplier;
+@@ -84,6 +84,13 @@ import org.chromium.ui.text.SpanApplier;
import java.util.concurrent.TimeUnit;
import java.util.function.Consumer;
@@ -51,7 +51,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
/** Fragment to keep track of the all the privacy related preferences. */
@NullMarked
public class PrivacySettings extends ChromeBaseSettingsFragment
-@@ -101,6 +108,16 @@ public class PrivacySettings extends ChromeBaseSettingsFragment
+@@ -103,6 +110,16 @@ public class PrivacySettings extends ChromeBaseSettingsFragment
private static final String PREF_INCOGNITO_LOCK = "incognito_lock";
private static final String PREF_JAVASCRIPT_OPTIMIZER = "javascript_optimizer";
@VisibleForTesting static final String PREF_DO_NOT_TRACK = "do_not_track";
@@ -68,7 +68,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
@VisibleForTesting static final String PREF_THIRD_PARTY_COOKIES = "third_party_cookies";
private static final String PREF_ADVANCED_PROTECTION_INFO = "advanced_protection_info";
-@@ -209,6 +226,16 @@ public class PrivacySettings extends ChromeBaseSettingsFragment
+@@ -211,6 +228,16 @@ public class PrivacySettings extends ChromeBaseSettingsFragment
(ChromeSwitchPreference) findPreference(PREF_PASSWORD_LEAK_DETECTION);
passwordLeakTogglePref.setOnPreferenceChangeListener(this);
@@ -85,7 +85,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
ChromeSwitchPreference canMakePaymentPref =
(ChromeSwitchPreference) findPreference(PREF_CAN_MAKE_PAYMENT);
canMakePaymentPref.setOnPreferenceChangeListener(this);
-@@ -384,6 +411,9 @@ public class PrivacySettings extends ChromeBaseSettingsFragment
+@@ -386,6 +413,9 @@ public class PrivacySettings extends ChromeBaseSettingsFragment
} else if (PREF_PASSWORD_LEAK_DETECTION.equals(key)) {
UserPrefs.get(getProfile())
.setBoolean(Pref.PASSWORD_LEAK_DETECTION_ENABLED, (boolean) newValue);
@@ -95,7 +95,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
}
return true;
}
-@@ -396,6 +426,9 @@ public class PrivacySettings extends ChromeBaseSettingsFragment
+@@ -398,6 +428,9 @@ public class PrivacySettings extends ChromeBaseSettingsFragment
/** Updates the preferences. */
public void updatePreferences() {
@@ -108,7 +108,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
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
-@@ -457,6 +457,10 @@ For more settings that use data to improve your Chrome experience, go to
diff --git a/build/patches/Multi-Screen-Window-Placement-API-fix.patch b/build/patches/Multi-Screen-Window-Placement-API-fix.patch
index 65aa5a1e..3c11e1ee 100644
--- a/build/patches/Multi-Screen-Window-Placement-API-fix.patch
+++ b/build/patches/Multi-Screen-Window-Placement-API-fix.patch
@@ -9,16 +9,16 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
---
.../permissions/permission_service_impl.cc | 1 -
.../renderer_host/render_frame_host_impl.cc | 3 +-
- .../core/frame/cached_permission_status.cc | 8 ++---
+ .../core/frame/cached_permission_status.cc | 6 ++--
.../core/frame/cached_permission_status.h | 1 +
.../blink/renderer/core/frame/screen.cc | 35 +++++++++++++++++--
.../blink/renderer/core/frame/screen.h | 17 ++++++++-
- 6 files changed, 56 insertions(+), 9 deletions(-)
+ 6 files changed, 55 insertions(+), 8 deletions(-)
diff --git a/content/browser/permissions/permission_service_impl.cc b/content/browser/permissions/permission_service_impl.cc
--- a/content/browser/permissions/permission_service_impl.cc
+++ b/content/browser/permissions/permission_service_impl.cc
-@@ -438,7 +438,6 @@ void PermissionServiceImpl::AddPermissionObserver(
+@@ -442,7 +442,6 @@ void PermissionServiceImpl::AddPermissionObserver(
ReceivedBadMessage();
return;
}
@@ -29,7 +29,7 @@ diff --git a/content/browser/permissions/permission_service_impl.cc b/content/br
diff --git a/content/browser/renderer_host/render_frame_host_impl.cc b/content/browser/renderer_host/render_frame_host_impl.cc
--- a/content/browser/renderer_host/render_frame_host_impl.cc
+++ b/content/browser/renderer_host/render_frame_host_impl.cc
-@@ -19486,7 +19486,8 @@ RenderFrameHostImpl::GetCachedPermissionStatuses() {
+@@ -19575,7 +19575,8 @@ RenderFrameHostImpl::GetCachedPermissionStatuses() {
{PermissionName::WEB_APP_INSTALLATION,
PermissionType::WEB_APP_INSTALLATION},
#endif
@@ -42,18 +42,16 @@ diff --git a/content/browser/renderer_host/render_frame_host_impl.cc b/content/b
diff --git a/third_party/blink/renderer/core/frame/cached_permission_status.cc b/third_party/blink/renderer/core/frame/cached_permission_status.cc
--- a/third_party/blink/renderer/core/frame/cached_permission_status.cc
+++ b/third_party/blink/renderer/core/frame/cached_permission_status.cc
-@@ -37,10 +37,10 @@ CachedPermissionStatus::CachedPermissionStatus(ExecutionContext* context)
+@@ -37,9 +37,9 @@ CachedPermissionStatus::CachedPermissionStatus(ExecutionContext* context)
permission_service_(context),
permission_observer_receivers_(this, context) {
CHECK(context);
-- CHECK(RuntimeEnabledFeatures::PermissionElementEnabled(context) ||
-- RuntimeEnabledFeatures::GeolocationElementEnabled(context) ||
+- CHECK(RuntimeEnabledFeatures::GeolocationElementEnabled(context) ||
- RuntimeEnabledFeatures::UserMediaElementEnabled(context) ||
- RuntimeEnabledFeatures::InstallElementEnabled(context));
-+ // CHECK(RuntimeEnabledFeatures::PermissionElementEnabled(context) ||
-+ // RuntimeEnabledFeatures::GeolocationElementEnabled(context) ||
-+ // RuntimeEnabledFeatures::UserMediaElementEnabled(context) ||
-+ // RuntimeEnabledFeatures::InstallElementEnabled(context)); see https://source.chromium.org/chromium/chromium/src/+/81a9e9b66a03e12cb438eef0834f5e5f7a0506ee
++ // CHECK(RuntimeEnabledFeatures::GeolocationElementEnabled(context) ||
++ // RuntimeEnabledFeatures::UserMediaElementEnabled(context) ||
++ // RuntimeEnabledFeatures::InstallElementEnabled(context)); see https://source.chromium.org/chromium/chromium/src/+/81a9e9b66a03e12cb438eef0834f5e5f7a0506ee
}
void CachedPermissionStatus::Trace(Visitor* visitor) const {
@@ -63,7 +61,7 @@ diff --git a/third_party/blink/renderer/core/frame/cached_permission_status.h b/
@@ -72,6 +72,7 @@ class CORE_EXPORT CachedPermissionStatus final
private:
- friend class HTMLPermissionElement;
+ friend class HTMLCapabilityElementBase;
+ friend class Screen;
friend class DocumentLoader;
friend class CachedPermissionStatusTest;
diff --git a/build/patches/Multiple-fingerprinting-mitigations.patch b/build/patches/Multiple-fingerprinting-mitigations.patch
index fd3d36c9..902608cd 100644
--- a/build/patches/Multiple-fingerprinting-mitigations.patch
+++ b/build/patches/Multiple-fingerprinting-mitigations.patch
@@ -55,7 +55,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
-@@ -2477,6 +2477,7 @@ static_library("browser") {
+@@ -2398,6 +2398,7 @@ static_library("browser") {
"//services/device/public/cpp/bluetooth",
"//services/device/public/cpp/geolocation",
"//services/device/public/cpp/usb",
@@ -66,7 +66,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
-@@ -263,6 +263,8 @@
+@@ -266,6 +266,8 @@
#include "ui/ui_features.h"
#include "url/url_features.h"
@@ -78,7 +78,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
diff --git a/content/browser/BUILD.gn b/content/browser/BUILD.gn
--- a/content/browser/BUILD.gn
+++ b/content/browser/BUILD.gn
-@@ -298,6 +298,7 @@ source_set("browser") {
+@@ -316,6 +316,7 @@ source_set("browser") {
"//third_party/re2",
"//third_party/snappy",
"//third_party/sqlite",
@@ -97,7 +97,7 @@ diff --git a/content/browser/renderer_host/render_process_host_impl.cc b/content
#if BUILDFLAG(IS_ANDROID)
#include "base/android/child_process_binding_types.h"
#include "content/browser/font_unique_name_lookup/font_unique_name_lookup_service.h"
-@@ -3669,6 +3670,8 @@ void RenderProcessHostImpl::PropagateBrowserCommandLineToRenderer(
+@@ -3697,6 +3698,8 @@ void RenderProcessHostImpl::PropagateBrowserCommandLineToRenderer(
switches::kDisableBestEffortTasks,
switches::kDisableBreakpad,
switches::kDisableFileSystem,
@@ -109,7 +109,7 @@ diff --git a/content/browser/renderer_host/render_process_host_impl.cc b/content
diff --git a/content/child/BUILD.gn b/content/child/BUILD.gn
--- a/content/child/BUILD.gn
+++ b/content/child/BUILD.gn
-@@ -113,6 +113,7 @@ target(link_target_type, "child") {
+@@ -111,6 +111,7 @@ target(link_target_type, "child") {
"//third_party/blink/public/common:buildflags",
"//third_party/blink/public/strings",
"//third_party/ced",
@@ -129,7 +129,7 @@ diff --git a/content/child/runtime_features.cc b/content/child/runtime_features.
#if BUILDFLAG(IS_ANDROID)
#include "base/android/android_info.h"
#endif
-@@ -522,6 +524,10 @@ void SetRuntimeFeaturesFromCommandLine(const base::CommandLine& command_line) {
+@@ -494,6 +496,10 @@ void SetRuntimeFeaturesFromCommandLine(const base::CommandLine& command_line) {
// as a last resort.
void SetCustomizedRuntimeFeaturesFromCombinedArgs(
const base::CommandLine& command_line) {
@@ -167,8 +167,8 @@ diff --git a/third_party/blink/public/platform/web_runtime_features.h b/third_pa
+ static void EnableFingerprintingCanvasMeasureTextNoise(bool);
+ static void EnableFingerprintingCanvasImageDataNoise(bool);
static void EnableFluentScrollbars(bool);
+ static void EnableDesktopAndroidScrollbars(bool);
- static void EnableLocalNetworkAccessWebRTC(bool);
diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink/renderer/core/dom/document.cc
--- a/third_party/blink/renderer/core/dom/document.cc
+++ b/third_party/blink/renderer/core/dom/document.cc
@@ -180,7 +180,7 @@ diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink
#include "base/task/single_thread_task_runner.h"
#include "base/time/time.h"
#include "base/trace_event/trace_event.h"
-@@ -1043,6 +1044,16 @@ Document::Document(const DocumentInit& initializer,
+@@ -1042,6 +1043,16 @@ Document::Document(const DocumentInit& initializer,
data_(MakeGarbageCollected(GetExecutionContext())) {
TRACE_EVENT("blink", "Document::Document", perfetto::Flow::FromPointer(this));
DCHECK(agent_);
@@ -197,7 +197,7 @@ diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink
if (base::FeatureList::IsEnabled(features::kDelayAsyncScriptExecution) &&
features::kDelayAsyncScriptExecutionDelayByDefaultParam.Get()) {
script_runner_delayer_->Activate();
-@@ -2747,6 +2758,14 @@ void Document::UpdateStyleAndLayoutTreeForThisDocument() {
+@@ -2749,6 +2760,14 @@ void Document::UpdateStyleAndLayoutTreeForThisDocument() {
#endif
}
@@ -215,7 +215,7 @@ diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink
diff --git a/third_party/blink/renderer/core/dom/document.h b/third_party/blink/renderer/core/dom/document.h
--- a/third_party/blink/renderer/core/dom/document.h
+++ b/third_party/blink/renderer/core/dom/document.h
-@@ -571,6 +571,10 @@ class CORE_EXPORT Document : public ContainerNode,
+@@ -572,6 +572,10 @@ class CORE_EXPORT Document : public ContainerNode,
has_xml_declaration_ = has_xml_declaration ? 1 : 0;
}
@@ -427,7 +427,7 @@ diff --git a/third_party/blink/renderer/modules/canvas/canvas2d/base_rendering_c
diff --git a/third_party/blink/renderer/platform/BUILD.gn b/third_party/blink/renderer/platform/BUILD.gn
--- a/third_party/blink/renderer/platform/BUILD.gn
+++ b/third_party/blink/renderer/platform/BUILD.gn
-@@ -1754,7 +1754,9 @@ component("platform") {
+@@ -1756,7 +1756,9 @@ component("platform") {
"//third_party/blink/renderer:non_test_config",
]
@@ -438,7 +438,7 @@ diff --git a/third_party/blink/renderer/platform/BUILD.gn b/third_party/blink/re
allow_circular_includes_from = [
"//third_party/blink/renderer/platform/blob",
-@@ -1838,6 +1840,7 @@ component("platform") {
+@@ -1840,6 +1842,7 @@ component("platform") {
"//third_party/blink/public/strings",
"//third_party/blink/renderer/platform/wtf",
"//third_party/ced",
@@ -449,8 +449,8 @@ diff --git a/third_party/blink/renderer/platform/BUILD.gn b/third_party/blink/re
diff --git a/third_party/blink/renderer/platform/exported/web_runtime_features.cc b/third_party/blink/renderer/platform/exported/web_runtime_features.cc
--- a/third_party/blink/renderer/platform/exported/web_runtime_features.cc
+++ b/third_party/blink/renderer/platform/exported/web_runtime_features.cc
-@@ -64,6 +64,14 @@ void WebRuntimeFeatures::EnableFluentScrollbars(bool enable) {
- ScrollbarThemeSettings::SetFluentScrollbarsEnabled(enable);
+@@ -68,6 +68,14 @@ void WebRuntimeFeatures::EnableDesktopAndroidScrollbars(bool enable) {
+ ScrollbarThemeSettings::SetDesktopAndroidScrollbarsEnabled(enable);
}
+void WebRuntimeFeatures::EnableFingerprintingCanvasMeasureTextNoise(bool enable) {
@@ -681,7 +681,7 @@ diff --git a/third_party/blink/renderer/platform/graphics/static_bitmap_image.h
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
-@@ -3754,6 +3754,12 @@
+@@ -3873,6 +3873,12 @@
status: {"Mac": "test", "default": "stable"},
base_feature: "none",
},
diff --git a/build/patches/Never-treat-Proguard-warnings-as-errors.patch b/build/patches/Never-treat-Proguard-warnings-as-errors.patch
index fbe2f215..117d1f85 100644
--- a/build/patches/Never-treat-Proguard-warnings-as-errors.patch
+++ b/build/patches/Never-treat-Proguard-warnings-as-errors.patch
@@ -9,7 +9,7 @@ Subject: Never treat Proguard warnings as errors
diff --git a/build/config/android/internal_rules.gni b/build/config/android/internal_rules.gni
--- a/build/config/android/internal_rules.gni
+++ b/build/config/android/internal_rules.gni
-@@ -1300,9 +1300,9 @@ if (enable_java_templates) {
+@@ -1278,9 +1278,9 @@ if (enable_java_templates) {
_source_file_template,
"--proguard-configs=@FileArg($_rebased_build_config:proguard_all_configs)",
]
diff --git a/build/patches/Override-Navigator-Language.patch b/build/patches/Override-Navigator-Language.patch
index bcfbd0a1..6e19be6a 100644
--- a/build/patches/Override-Navigator-Language.patch
+++ b/build/patches/Override-Navigator-Language.patch
@@ -69,7 +69,7 @@ diff --git a/content/browser/renderer_host/render_process_host_impl.cc b/content
#include "components/metrics/single_sample_metrics.h"
#include "components/services/storage/privileged/mojom/indexed_db_control.mojom.h"
#include "components/services/storage/public/cpp/buckets/bucket_id.h"
-@@ -3579,8 +3580,11 @@ void RenderProcessHostImpl::AppendRendererCommandLine(
+@@ -3608,8 +3609,11 @@ void RenderProcessHostImpl::AppendRendererCommandLine(
PropagateBrowserCommandLineToRenderer(browser_command_line, command_line);
// Pass on the browser locale.
diff --git a/build/patches/Override-the-MV2-deprecation.patch b/build/patches/Override-the-MV2-deprecation.patch
index 9caa4acb..ec8cf34e 100644
--- a/build/patches/Override-the-MV2-deprecation.patch
+++ b/build/patches/Override-the-MV2-deprecation.patch
@@ -25,7 +25,7 @@ diff --git a/chrome/browser/extensions/manifest_v2_experiment_manager.cc b/chrom
diff --git a/extensions/common/extension.cc b/extensions/common/extension.cc
--- a/extensions/common/extension.cc
+++ b/extensions/common/extension.cc
-@@ -62,7 +62,7 @@ constexpr int kPEMOutputColumns = 64;
+@@ -63,7 +63,7 @@ constexpr int kPEMOutputColumns = 64;
static_assert(kMaximumSupportedManifestVersion >=
kMinimumSupportedManifestVersion,
"The modern manifest version must be supported.");
diff --git a/build/patches/Partition-Blink-memory-cache.patch b/build/patches/Partition-Blink-memory-cache.patch
index 17bb70d5..85d2e4e0 100644
--- a/build/patches/Partition-Blink-memory-cache.patch
+++ b/build/patches/Partition-Blink-memory-cache.patch
@@ -22,8 +22,8 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../platform/loader/fetch/memory_cache.h | 5 +-
.../platform/loader/fetch/resource_fetcher.cc | 62 +++++++++++++++----
.../platform/loader/fetch/resource_fetcher.h | 10 ++-
- .../platform/runtime_enabled_features.json5 | 4 +-
- 9 files changed, 71 insertions(+), 28 deletions(-)
+ .../platform/runtime_enabled_features.json5 | 3 +-
+ 9 files changed, 70 insertions(+), 28 deletions(-)
diff --git a/third_party/blink/renderer/core/html/parser/html_srcset_parser.cc b/third_party/blink/renderer/core/html/parser/html_srcset_parser.cc
--- a/third_party/blink/renderer/core/html/parser/html_srcset_parser.cc
@@ -41,7 +41,7 @@ diff --git a/third_party/blink/renderer/core/html/parser/html_srcset_parser.cc b
diff --git a/third_party/blink/renderer/core/inspector/inspector_network_agent.cc b/third_party/blink/renderer/core/inspector/inspector_network_agent.cc
--- a/third_party/blink/renderer/core/inspector/inspector_network_agent.cc
+++ b/third_party/blink/renderer/core/inspector/inspector_network_agent.cc
-@@ -2808,7 +2808,7 @@ bool InspectorNetworkAgent::FetchResourceContent(Document* document,
+@@ -2806,7 +2806,7 @@ bool InspectorNetworkAgent::FetchResourceContent(Document* document,
if (!cached_resource) {
cached_resource = MemoryCache::Get()->ResourceForURL(
url, document->Fetcher()->GetCacheIdentifier(
@@ -78,7 +78,7 @@ diff --git a/third_party/blink/renderer/core/loader/image_loader.cc b/third_part
diff --git a/third_party/blink/renderer/platform/loader/fetch/memory_cache.cc b/third_party/blink/renderer/platform/loader/fetch/memory_cache.cc
--- a/third_party/blink/renderer/platform/loader/fetch/memory_cache.cc
+++ b/third_party/blink/renderer/platform/loader/fetch/memory_cache.cc
-@@ -344,7 +344,7 @@ void MemoryCache::RemoveInternal(ResourceMap* resource_map,
+@@ -354,7 +354,7 @@ void MemoryCache::RemoveInternal(ResourceMap* resource_map,
}
bool MemoryCache::Contains(const Resource* resource) const {
@@ -87,7 +87,7 @@ diff --git a/third_party/blink/renderer/platform/loader/fetch/memory_cache.cc b/
return false;
const auto resource_maps_it =
-@@ -360,13 +360,9 @@ bool MemoryCache::Contains(const Resource* resource) const {
+@@ -370,13 +370,9 @@ bool MemoryCache::Contains(const Resource* resource) const {
return resource == resources_it->value->GetResource();
}
@@ -158,7 +158,7 @@ diff --git a/third_party/blink/renderer/platform/loader/fetch/resource_fetcher.c
DCHECK(!IsMainThread() || params.IsStaleRevalidation() ||
!MemoryCache::Get()->ResourceForURL(params.GetResourceRequest().Url(),
cache_identifier));
-@@ -2927,11 +2930,47 @@ void ResourceFetcher::UpdateImagePrioritiesAndSpeculativeDecodes() {
+@@ -2936,11 +2939,47 @@ void ResourceFetcher::UpdateImagePrioritiesAndSpeculativeDecodes() {
}
String ResourceFetcher::GetCacheIdentifier(const KURL& url,
@@ -211,7 +211,7 @@ diff --git a/third_party/blink/renderer/platform/loader/fetch/resource_fetcher.c
}
// Requests that can be satisfied via `archive_` (i.e. MHTML) or
-@@ -2946,12 +2985,13 @@ String ResourceFetcher::GetCacheIdentifier(const KURL& url,
+@@ -2955,12 +2994,13 @@ String ResourceFetcher::GetCacheIdentifier(const KURL& url,
return bundle->GetCacheIdentifier();
}
@@ -227,7 +227,7 @@ diff --git a/third_party/blink/renderer/platform/loader/fetch/resource_fetcher.c
// For SVG resource documents, use the SVG-specific cache identifier when the
// feature is enabled and a cache identifier is available from the fetch
// context.
-@@ -2964,7 +3004,7 @@ String ResourceFetcher::GetCacheIdentifier(ResourceType type,
+@@ -2973,7 +3013,7 @@ String ResourceFetcher::GetCacheIdentifier(ResourceType type,
}
// Fallback to the standard cache identifier logic.
@@ -261,15 +261,14 @@ diff --git a/third_party/blink/renderer/platform/loader/fetch/resource_fetcher.h
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
-@@ -5274,8 +5274,8 @@
+@@ -5477,8 +5477,7 @@
status: "stable",
},
{
- name: "SvgPartitionSVGDocumentResourcesInMemoryCache",
-- status: "experimental",
-+ name: "SvgPartitionSVGDocumentResourcesInMemoryCache", status: "experimental",
-+
+- status: "stable",
++ status: "experimental", name: "SvgPartitionSVGDocumentResourcesInMemoryCache",
},
{
- name: "SvgScriptElementAsyncAttribute",
+ name: "SvgPathLengthCssProperty",
--
diff --git a/build/patches/Partition-HSTS-cache-by-NAK.patch b/build/patches/Partition-HSTS-cache-by-NAK.patch
index 775cf985..294d3bce 100644
--- a/build/patches/Partition-HSTS-cache-by-NAK.patch
+++ b/build/patches/Partition-HSTS-cache-by-NAK.patch
@@ -716,7 +716,7 @@ diff --git a/net/spdy/spdy_session.cc b/net/spdy/spdy_session.cc
}
void SpdySession::EnqueueStreamWrite(
-@@ -3096,7 +3098,8 @@ void SpdySession::OnAltSvc(
+@@ -3105,7 +3107,8 @@ void SpdySession::OnAltSvc(
return;
}
if (!CanPool(transport_security_state_, ssl_info, *ssl_config_service_,
@@ -795,7 +795,7 @@ diff --git a/net/url_request/url_request_http_job.cc b/net/url_request/url_reque
diff --git a/services/network/network_context.cc b/services/network/network_context.cc
--- a/services/network/network_context.cc
+++ b/services/network/network_context.cc
-@@ -2077,6 +2077,7 @@ void NetworkContext::CreateHostResolver(
+@@ -2120,6 +2120,7 @@ void NetworkContext::CreateHostResolver(
void NetworkContext::VerifyCertInternal(
const scoped_refptr& certificate,
const net::HostPortPair& host_port,
@@ -803,7 +803,7 @@ diff --git a/services/network/network_context.cc b/services/network/network_cont
const std::string& ocsp_result,
const std::string& sct_list,
CTVerificationMode ct_verification_mode,
-@@ -2088,6 +2089,7 @@ void NetworkContext::VerifyCertInternal(
+@@ -2131,6 +2132,7 @@ void NetworkContext::VerifyCertInternal(
pending_cert_verify->result = std::make_unique();
pending_cert_verify->certificate = certificate;
pending_cert_verify->host_port = host_port;
@@ -811,7 +811,7 @@ diff --git a/services/network/network_context.cc b/services/network/network_cont
net::CertVerifier* cert_verifier =
g_cert_verifier_for_testing ? g_cert_verifier_for_testing
: url_request_context_->cert_verifier();
-@@ -2118,20 +2120,22 @@ void NetworkContext::VerifyCertInternal(
+@@ -2161,20 +2163,22 @@ void NetworkContext::VerifyCertInternal(
void NetworkContext::VerifyCert(
const scoped_refptr& certificate,
const net::HostPortPair& host_port,
@@ -836,7 +836,7 @@ diff --git a/services/network/network_context.cc b/services/network/network_cont
CTVerificationMode::kSignedExchange, std::move(callback));
}
-@@ -2172,17 +2176,19 @@ void NetworkContext::SetCorsOriginAccessListsForOrigin(
+@@ -2215,17 +2219,19 @@ void NetworkContext::SetCorsOriginAccessListsForOrigin(
std::move(callback).Run();
}
@@ -859,7 +859,7 @@ diff --git a/services/network/network_context.cc b/services/network/network_cont
bool is_top_level_nav,
IsHSTSActiveForHostCallback callback) {
net::TransportSecurityState* security_state =
-@@ -2194,10 +2200,10 @@ void NetworkContext::IsHSTSActiveForHost(const std::string& host,
+@@ -2237,10 +2243,10 @@ void NetworkContext::IsHSTSActiveForHost(const std::string& host,
}
std::move(callback).Run(
@@ -872,7 +872,7 @@ diff --git a/services/network/network_context.cc b/services/network/network_cont
GetHSTSStateCallback callback) {
base::DictValue result;
-@@ -2235,10 +2241,10 @@ void NetworkContext::GetHSTSState(const std::string& domain,
+@@ -2278,10 +2284,10 @@ void NetworkContext::GetHSTSState(const std::string& domain,
net::TransportSecurityState::STSState dynamic_sts_state;
net::TransportSecurityState::PKPState dynamic_pkp_state;
bool found_sts_dynamic = transport_security_state->GetDynamicSTSState(
@@ -885,7 +885,7 @@ diff --git a/services/network/network_context.cc b/services/network/network_cont
if (found_sts_dynamic) {
result.Set("dynamic_upgrade_mode",
static_cast(dynamic_sts_state.upgrade_mode));
-@@ -2276,6 +2282,7 @@ void NetworkContext::GetHSTSState(const std::string& domain,
+@@ -2319,6 +2325,7 @@ void NetworkContext::GetHSTSState(const std::string& domain,
}
void NetworkContext::DeleteDynamicDataForHost(
@@ -893,7 +893,7 @@ diff --git a/services/network/network_context.cc b/services/network/network_cont
const std::string& host,
DeleteDynamicDataForHostCallback callback) {
net::TransportSecurityState* transport_security_state =
-@@ -2286,7 +2293,7 @@ void NetworkContext::DeleteDynamicDataForHost(
+@@ -2329,7 +2336,7 @@ void NetworkContext::DeleteDynamicDataForHost(
}
std::move(callback).Run(
@@ -902,7 +902,7 @@ diff --git a/services/network/network_context.cc b/services/network/network_cont
}
void NetworkContext::EnableStaticKeyPinningForTesting(
-@@ -2345,7 +2352,7 @@ void NetworkContext::PreconnectSockets(
+@@ -2388,7 +2395,7 @@ void NetworkContext::PreconnectSockets(
DCHECK(!require_network_anonymization_key_ ||
!network_anonymization_key.IsEmpty());
@@ -911,7 +911,7 @@ diff --git a/services/network/network_context.cc b/services/network/network_cont
// |PreconnectSockets| may receive arguments from the renderer, which is not
// guaranteed to validate them.
-@@ -3196,7 +3203,9 @@ void NetworkContext::OnConnectionError() {
+@@ -3239,7 +3246,9 @@ void NetworkContext::OnConnectionError() {
}
}
@@ -922,7 +922,7 @@ diff --git a/services/network/network_context.cc b/services/network/network_cont
// TODO(lilyhoughton) This needs to be gotten rid of once explicit
// construction with a URLRequestContext is no longer supported.
-@@ -3222,6 +3231,7 @@ GURL NetworkContext::GetHSTSRedirectForPreconnect(const GURL& original_url) {
+@@ -3265,6 +3274,7 @@ GURL NetworkContext::GetHSTSRedirectForPreconnect(const GURL& original_url) {
// top-level navigation so we need to disallow HSTS upgrades for every
// preconnect.
if (!url_request_context_->transport_security_state()->ShouldUpgradeToSSL(
@@ -930,7 +930,7 @@ diff --git a/services/network/network_context.cc b/services/network/network_cont
original_url.GetHost(), /*is_top_level_nav=*/false)) {
RecordHSTSPreconnectUpgradeReason(
HSTSRedirectUpgradeReason::kNotUpgradedNoHSTSPin);
-@@ -3283,7 +3293,8 @@ void NetworkContext::OnVerifyCertComplete(uint64_t cert_verify_id, int result) {
+@@ -3326,7 +3336,8 @@ void NetworkContext::OnVerifyCertComplete(uint64_t cert_verify_id, int result) {
url_request_context_->transport_security_state()->CheckPublicKeyPins(
pending_cert_verify->host_port.host(),
pending_cert_verify->result->is_issued_by_known_root,
@@ -980,7 +980,7 @@ diff --git a/services/network/network_context.h b/services/network/network_conte
const std::string& host,
DeleteDynamicDataForHostCallback callback) override;
void SetCorsOriginAccessListsForOrigin(
-@@ -797,7 +801,8 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext
+@@ -801,7 +805,8 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext
mojo::PendingRemote cookie_observer,
net::FirstPartySetMetadata first_party_set_metadata);
@@ -990,7 +990,7 @@ diff --git a/services/network/network_context.h b/services/network/network_conte
#if BUILDFLAG(IS_P2P_ENABLED)
void DestroySocketManager(P2PSocketManager* socket_manager);
-@@ -809,6 +814,7 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext
+@@ -813,6 +818,7 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext
void VerifyCertInternal(
const scoped_refptr& certificate,
const net::HostPortPair& host_port,
@@ -998,7 +998,7 @@ diff --git a/services/network/network_context.h b/services/network/network_conte
const std::string& ocsp_result,
const std::string& sct_list,
CTVerificationMode ct_verification_mode,
-@@ -984,6 +990,7 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext
+@@ -992,6 +998,7 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext
VerifyCertCallback callback;
scoped_refptr certificate;
net::HostPortPair host_port;
@@ -1009,7 +1009,7 @@ diff --git a/services/network/network_context.h b/services/network/network_conte
diff --git a/services/network/public/mojom/network_context.mojom b/services/network/public/mojom/network_context.mojom
--- a/services/network/public/mojom/network_context.mojom
+++ b/services/network/public/mojom/network_context.mojom
-@@ -1561,6 +1561,7 @@ interface NetworkContext {
+@@ -1575,6 +1575,7 @@ interface NetworkContext {
// Checks the given certificate against the CertVerifier and CTVerifier.
VerifyCert(X509Certificate certificate,
HostPortPair host_port,
@@ -1017,7 +1017,7 @@ diff --git a/services/network/public/mojom/network_context.mojom b/services/netw
string ocsp_response,
string sct_list)
=> (int32 error_code, CertVerifyResult cv_result, bool pkp_bypassed);
-@@ -1569,6 +1570,7 @@ interface NetworkContext {
+@@ -1583,6 +1584,7 @@ interface NetworkContext {
// This implementation is specific for use by Signed Exchange.
VerifyCertForSignedExchange(X509Certificate certificate,
HostPortPair host_port,
@@ -1025,7 +1025,7 @@ diff --git a/services/network/public/mojom/network_context.mojom b/services/netw
string ocsp_response,
string sct_list)
=> (int32 error_code, CertVerifyResult cv_result, bool pkp_bypassed);
-@@ -1582,18 +1584,18 @@ interface NetworkContext {
+@@ -1596,18 +1598,18 @@ interface NetworkContext {
// Adds explicitly-specified data as if it was processed from an
// HSTS header. Used by tests and implementation of chrome://net-internals.
@@ -1047,7 +1047,7 @@ diff --git a/services/network/public/mojom/network_context.mojom b/services/netw
// Sets allowed and blocked origins respectively for the URLLoaderFactory
// consumers to access beyond the same-origin policy. The list is managed per
-@@ -1612,7 +1614,7 @@ interface NetworkContext {
+@@ -1626,7 +1628,7 @@ interface NetworkContext {
// Deletes any dynamic data stored for |host| from the transport
// security state. Returns true iff an entry was deleted.
// See net::TransportSecurityState::DeleteDynamicDataForHost for more detail.
diff --git a/build/patches/Partition-MediaDeviceId-by-default.patch b/build/patches/Partition-MediaDeviceId-by-default.patch
index 178836e1..aa234033 100644
--- a/build/patches/Partition-MediaDeviceId-by-default.patch
+++ b/build/patches/Partition-MediaDeviceId-by-default.patch
@@ -52,7 +52,7 @@ diff --git a/content/browser/media/media_devices_util.cc b/content/browser/media
diff --git a/content/browser/renderer_host/media/media_devices_manager.cc b/content/browser/renderer_host/media/media_devices_manager.cc
--- a/content/browser/renderer_host/media/media_devices_manager.cc
+++ b/content/browser/renderer_host/media/media_devices_manager.cc
-@@ -1112,6 +1112,11 @@ void MediaDevicesManager::OnDevicesEnumerated(
+@@ -1207,6 +1207,11 @@ void MediaDevicesManager::OnDevicesEnumerated(
}
}
}
@@ -62,6 +62,6 @@ diff --git a/content/browser/renderer_host/media/media_devices_manager.cc b/cont
+ translation[video_input_index].clear();
+#endif
- GetAudioInputCapabilities(video_input_capabilities_requested,
+ GetAudioInputCapabilities(request_id, video_input_capabilities_requested,
audio_input_capabilities_requested,
--
diff --git a/build/patches/Partition-blobs-by-top-frame-URL.patch b/build/patches/Partition-blobs-by-top-frame-URL.patch
index eb441b0b..9d9098c0 100644
--- a/build/patches/Partition-blobs-by-top-frame-URL.patch
+++ b/build/patches/Partition-blobs-by-top-frame-URL.patch
@@ -23,7 +23,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/content/browser/renderer_host/render_frame_host_impl.cc b/content/browser/renderer_host/render_frame_host_impl.cc
--- a/content/browser/renderer_host/render_frame_host_impl.cc
+++ b/content/browser/renderer_host/render_frame_host_impl.cc
-@@ -13157,6 +13157,8 @@ void RenderFrameHostImpl::ReportBlockingCrossPartitionBlobURL(
+@@ -13316,6 +13316,8 @@ void RenderFrameHostImpl::ReportBlockingCrossPartitionBlobURL(
}
bool RenderFrameHostImpl::IsFullCookieAccessAllowed() {
diff --git a/build/patches/Partitioning-all-cookies-by-top-frame-domain.patch b/build/patches/Partitioning-all-cookies-by-top-frame-domain.patch
index cd2387b6..f8160e46 100644
--- a/build/patches/Partitioning-all-cookies-by-top-frame-domain.patch
+++ b/build/patches/Partitioning-all-cookies-by-top-frame-domain.patch
@@ -50,7 +50,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
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
-@@ -3674,7 +3674,7 @@ bool ChromeContentBrowserClient::IsFullCookieAccessAllowed(
+@@ -3746,7 +3746,7 @@ bool ChromeContentBrowserClient::IsFullCookieAccessAllowed(
scoped_refptr cookie_settings =
CookieSettingsFactory::GetForProfile(profile);
if (!cookie_settings) {
@@ -62,7 +62,7 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch
diff --git a/chrome/browser/extensions/api/cookies/cookies_helpers.cc b/chrome/browser/extensions/api/cookies/cookies_helpers.cc
--- a/chrome/browser/extensions/api/cookies/cookies_helpers.cc
+++ b/chrome/browser/extensions/api/cookies/cookies_helpers.cc
-@@ -363,6 +363,10 @@ ToNetCookiePartitionKey(
+@@ -366,6 +366,10 @@ ToNetCookiePartitionKey(
bool CookieMatchesPartitionKeyCollection(
const net::CookiePartitionKeyCollection& cookie_partition_key_collection,
const net::CanonicalCookie& cookie) {
@@ -76,7 +76,7 @@ diff --git a/chrome/browser/extensions/api/cookies/cookies_helpers.cc b/chrome/b
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
-@@ -1086,16 +1086,16 @@ ProfileNetworkContextService::CreateCookieManagerParams(
+@@ -1105,16 +1105,16 @@ ProfileNetworkContextService::CreateCookieManagerParams(
// UI to interact with SameSite cookies on accounts.google.com, which is used
// for displaying a list of available accounts on the NTP
// (chrome://new-tab-page), etc.
@@ -152,7 +152,7 @@ diff --git a/components/browser_ui/strings/android/site_settings.grdp b/componen
Third-party cookies are blocked
-@@ -691,7 +691,7 @@
+@@ -685,7 +685,7 @@
A site you visit can embed content from other sites, for example, images, ads, and text. Cookies set by these other sites are called third-party cookies.
@@ -345,7 +345,7 @@ diff --git a/net/cookies/cookie_util.cc b/net/cookies/cookie_util.cc
diff --git a/net/cookies/cookie_util.h b/net/cookies/cookie_util.h
--- a/net/cookies/cookie_util.h
+++ b/net/cookies/cookie_util.h
-@@ -133,7 +133,7 @@ enum class SecFetchStorageAccessOutcome {
+@@ -112,7 +112,7 @@ enum class StorageAccessStatusOutcome {
enum class ActivateStorageAccessLoadOutcome {
// Applies when the `Activate-Storage-Access` header behavior is not enabled
// under the existing feature flags or content settings.
@@ -354,7 +354,7 @@ diff --git a/net/cookies/cookie_util.h b/net/cookies/cookie_util.h
// Applies when a response includes the `Activate-Storage-Access: load`
// header, but its corresponding request either has an omitted storage access
// status, or has a storage access status of `none`.
-@@ -154,7 +154,7 @@ enum class ActivateStorageAccessLoadOutcome {
+@@ -133,7 +133,7 @@ enum class ActivateStorageAccessLoadOutcome {
enum class ActivateStorageAccessRetryOutcome {
// Applies when the `Activate-Storage-Access` header behavior is not enabled
// under the existing feature flags or content settings.
@@ -389,7 +389,7 @@ diff --git a/net/cookies/parsed_cookie.h b/net/cookies/parsed_cookie.h
diff --git a/net/extras/sqlite/sqlite_persistent_cookie_store.cc b/net/extras/sqlite/sqlite_persistent_cookie_store.cc
--- a/net/extras/sqlite/sqlite_persistent_cookie_store.cc
+++ b/net/extras/sqlite/sqlite_persistent_cookie_store.cc
-@@ -851,6 +851,14 @@ bool SQLitePersistentCookieStore::Backend::DoInitializeDatabase() {
+@@ -796,6 +796,14 @@ bool SQLitePersistentCookieStore::Backend::DoInitializeDatabase() {
if (!restore_old_session_cookies_)
DeleteSessionCookiesOnStartup();
@@ -407,7 +407,7 @@ diff --git a/net/extras/sqlite/sqlite_persistent_cookie_store.cc b/net/extras/sq
diff --git a/net/url_request/url_request.cc b/net/url_request/url_request.cc
--- a/net/url_request/url_request.cc
+++ b/net/url_request/url_request.cc
-@@ -1406,8 +1406,7 @@ StorageAccessStatusCache URLRequest::CalculateStorageAccessStatus() const {
+@@ -1408,8 +1408,7 @@ StorageAccessStatusCache URLRequest::CalculateStorageAccessStatus() const {
// `deferred_redirect_info_` that has to be used when calculating new storage
// access status.
std::optional storage_access_status =
@@ -420,7 +420,7 @@ diff --git a/net/url_request/url_request.cc b/net/url_request/url_request.cc
diff --git a/net/url_request/url_request_http_job.cc b/net/url_request/url_request_http_job.cc
--- a/net/url_request/url_request_http_job.cc
+++ b/net/url_request/url_request_http_job.cc
-@@ -1645,6 +1645,7 @@ bool URLRequestHttpJob::NeedsRetryWithStorageAccess() {
+@@ -1653,6 +1653,7 @@ bool URLRequestHttpJob::NeedsRetryWithStorageAccess() {
auto determine_storage_access_retry_outcome =
[&]() -> cookie_util::ActivateStorageAccessRetryOutcome {
using enum cookie_util::ActivateStorageAccessRetryOutcome;
@@ -454,7 +454,7 @@ diff --git a/services/network/cookie_settings.cc b/services/network/cookie_setti
diff --git a/services/network/cors/cors_url_loader.cc b/services/network/cors/cors_url_loader.cc
--- a/services/network/cors/cors_url_loader.cc
+++ b/services/network/cors/cors_url_loader.cc
-@@ -851,6 +851,7 @@ void CorsURLLoader::StartRequest() {
+@@ -882,6 +882,7 @@ void CorsURLLoader::StartRequest() {
}
if (request_.credentials_mode == mojom::CredentialsMode::kInclude &&
@@ -465,7 +465,7 @@ diff --git a/services/network/cors/cors_url_loader.cc b/services/network/cors/co
diff --git a/services/network/restricted_cookie_manager.cc b/services/network/restricted_cookie_manager.cc
--- a/services/network/restricted_cookie_manager.cc
+++ b/services/network/restricted_cookie_manager.cc
-@@ -992,6 +992,12 @@ void RestrictedCookieManager::SetCookieFromString(
+@@ -988,6 +988,12 @@ void RestrictedCookieManager::SetCookieFromString(
shared_memory_region = GetAndPrepareSharedMemoryRegion(url);
}
@@ -481,7 +481,7 @@ diff --git a/services/network/restricted_cookie_manager.cc b/services/network/re
diff --git a/services/network/url_loader.cc b/services/network/url_loader.cc
--- a/services/network/url_loader.cc
+++ b/services/network/url_loader.cc
-@@ -2617,6 +2617,7 @@ bool URLLoader::ShouldSetLoadWithStorageAccess() const {
+@@ -2640,6 +2640,7 @@ bool URLLoader::ShouldSetLoadWithStorageAccess() const {
auto determine_storage_access_load_outcome =
[&]() -> net::cookie_util::ActivateStorageAccessLoadOutcome {
@@ -503,7 +503,7 @@ diff --git a/third_party/blink/renderer/modules/cookie_store/cookie_init.idl b/t
diff --git a/third_party/blink/renderer/modules/cookie_store/cookie_store.cc b/third_party/blink/renderer/modules/cookie_store/cookie_store.cc
--- a/third_party/blink/renderer/modules/cookie_store/cookie_store.cc
+++ b/third_party/blink/renderer/modules/cookie_store/cookie_store.cc
-@@ -411,6 +411,7 @@ ScriptPromise CookieStore::set(ScriptState* script_state,
+@@ -395,6 +395,7 @@ ScriptPromise CookieStore::set(ScriptState* script_state,
CookieInit* set_options = CookieInit::Create();
set_options->setName(name);
set_options->setValue(value);
@@ -511,7 +511,7 @@ diff --git a/third_party/blink/renderer/modules/cookie_store/cookie_store.cc b/t
return set(script_state, set_options, exception_state);
}
-@@ -434,6 +435,7 @@ ScriptPromise CookieStore::Delete(
+@@ -418,6 +419,7 @@ ScriptPromise CookieStore::Delete(
set_options->setName(name);
set_options->setValue(name.empty() ? "deleted" : "");
set_options->setExpires(0);
@@ -519,7 +519,7 @@ diff --git a/third_party/blink/renderer/modules/cookie_store/cookie_store.cc b/t
return DoWrite(script_state, set_options, exception_state);
}
-@@ -449,6 +451,7 @@ ScriptPromise CookieStore::Delete(
+@@ -433,6 +435,7 @@ ScriptPromise CookieStore::Delete(
set_options->setPath(options->path());
set_options->setSameSite(V8CookieSameSite::Enum::kStrict);
set_options->setPartitioned(options->partitioned());
diff --git a/build/patches/Permit-PGO-for-debug-builds.patch b/build/patches/Permit-PGO-for-debug-builds.patch
index 855455b9..c8b66c63 100644
--- a/build/patches/Permit-PGO-for-debug-builds.patch
+++ b/build/patches/Permit-PGO-for-debug-builds.patch
@@ -10,7 +10,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
diff --git a/build/config/compiler/pgo/pgo.gni b/build/config/compiler/pgo/pgo.gni
--- a/build/config/compiler/pgo/pgo.gni
+++ b/build/config/compiler/pgo/pgo.gni
-@@ -49,5 +49,5 @@ declare_args() {
+@@ -55,5 +55,5 @@ declare_args() {
# TODO(crbug.com/409738601): Remove assert once clang no
# longer crashes with PGO enabled for a debug build.
diff --git a/build/patches/Private-network-access-content-settings.patch b/build/patches/Private-network-access-content-settings.patch
index ad80f4a6..2df01292 100644
--- a/build/patches/Private-network-access-content-settings.patch
+++ b/build/patches/Private-network-access-content-settings.patch
@@ -25,7 +25,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
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
-@@ -4150,6 +4150,31 @@ bool ShouldPromptOnMultipleMatchingCertificates(const Profile* profile) {
+@@ -4222,6 +4222,31 @@ bool ShouldPromptOnMultipleMatchingCertificates(const Profile* profile) {
return false;
}
@@ -57,7 +57,7 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch
} // namespace
base::OnceClosure ChromeContentBrowserClient::SelectClientCertificate(
-@@ -7744,12 +7769,17 @@ content::ContentBrowserClient::LocalNetworkAccessRequestPolicyOverride
+@@ -7850,12 +7875,17 @@ content::ContentBrowserClient::LocalNetworkAccessRequestPolicyOverride
ChromeContentBrowserClient::ShouldOverrideLocalNetworkAccessRequestPolicy(
content::BrowserContext* browser_context,
const url::Origin& origin) {
diff --git a/build/patches/PublicKeyCredential-fingerprinting-mitigations.patch b/build/patches/PublicKeyCredential-fingerprinting-mitigations.patch
index 4f6660b2..8f10d59a 100644
--- a/build/patches/PublicKeyCredential-fingerprinting-mitigations.patch
+++ b/build/patches/PublicKeyCredential-fingerprinting-mitigations.patch
@@ -13,7 +13,7 @@ the Windows platform
diff --git a/content/browser/webauth/authenticator_common_impl.cc b/content/browser/webauth/authenticator_common_impl.cc
--- a/content/browser/webauth/authenticator_common_impl.cc
+++ b/content/browser/webauth/authenticator_common_impl.cc
-@@ -2020,6 +2020,7 @@ void AuthenticatorCommonImpl::GetClientCapabilities(
+@@ -2016,6 +2016,7 @@ void AuthenticatorCommonImpl::GetClientCapabilities(
MakeCapability(client_capabilities::kConditionalCreate, true));
IsHybridTransportSupported(
@@ -21,7 +21,7 @@ diff --git a/content/browser/webauth/authenticator_common_impl.cc b/content/brow
base::BindOnce(&MakeCapability, client_capabilities::kHybridTransport)
.Then(barrier_callback));
-@@ -2047,11 +2048,25 @@ void AuthenticatorCommonImpl::GetClientCapabilities(
+@@ -2043,11 +2044,25 @@ void AuthenticatorCommonImpl::GetClientCapabilities(
}
void AuthenticatorCommonImpl::IsHybridTransportSupported(
@@ -47,7 +47,7 @@ diff --git a/content/browser/webauth/authenticator_common_impl.cc b/content/brow
device::BluetoothAdapterFactory::Get()->GetAdapter(
base::BindOnce([](scoped_refptr adapter) {
-@@ -2097,6 +2112,13 @@ void AuthenticatorCommonImpl::ContinueIsUvpaaAfterOverrideCheck(
+@@ -2093,6 +2108,13 @@ void AuthenticatorCommonImpl::ContinueIsUvpaaAfterOverrideCheck(
IsUserVerifyingPlatformAuthenticatorAvailableCallback callback,
bool is_get_client_capabilities_call,
std::optional is_uvpaa_override) {
diff --git a/build/patches/Re-introduce-modal-dialog-flag-to-close-all-tabs.patch b/build/patches/Re-introduce-modal-dialog-flag-to-close-all-tabs.patch
index d2287712..f7675de4 100644
--- a/build/patches/Re-introduce-modal-dialog-flag-to-close-all-tabs.patch
+++ b/build/patches/Re-introduce-modal-dialog-flag-to-close-all-tabs.patch
@@ -56,14 +56,14 @@ diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browse
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
-@@ -367,6 +367,7 @@ public abstract class ChromeFeatureList {
+@@ -368,6 +368,7 @@ public abstract class ChromeFeatureList {
public static final String CLANK_STARTUP_LATENCY_INJECTION = "ClankStartupLatencyInjection";
public static final String CLANK_WHATS_NEW = "ClankWhatsNew";
public static final String CLEAR_INTENT_WHEN_RECREATED = "ClearIntentWhenRecreated";
+ public static final String CLOSE_ALL_TABS_MODAL_DIALOG = "CloseAllTabsModalDialog";
public static final String COMMAND_LINE_ON_NON_ROOTED = "CommandLineOnNonRooted";
public static final String COMMERCE_MERCHANT_VIEWER = "CommerceMerchantViewer";
- public static final String CONTENT_CAPTURE_SEND_METADATA_FOR_DATA_SHARE =
+ public static final String COMPOSITOR_VIEW_HOLDER_OBSCURING = "CompositorViewHolderObscuring";
diff --git a/cromite_flags/chrome/browser/about_flags_cc/Re-introduce-modal-dialog-flag-to-close-all-tabs.inc b/cromite_flags/chrome/browser/about_flags_cc/Re-introduce-modal-dialog-flag-to-close-all-tabs.inc
new file mode 100644
--- /dev/null
diff --git a/build/patches/Re-introduce-override_build_timestamp.patch b/build/patches/Re-introduce-override_build_timestamp.patch
index b201aa4e..42a8ed16 100644
--- a/build/patches/Re-introduce-override_build_timestamp.patch
+++ b/build/patches/Re-introduce-override_build_timestamp.patch
@@ -16,7 +16,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/base/BUILD.gn b/base/BUILD.gn
--- a/base/BUILD.gn
+++ b/base/BUILD.gn
-@@ -4504,8 +4504,12 @@ if (current_toolchain == default_toolchain) {
+@@ -4509,8 +4509,12 @@ if (current_toolchain == default_toolchain) {
outputs = [ _build_date_header_internal ]
args = [
rebase_path(_build_date_header_internal, root_build_dir),
diff --git a/build/patches/Reduce-HTTP-headers-in-DoH-requests-to-bare-minimum.patch b/build/patches/Reduce-HTTP-headers-in-DoH-requests-to-bare-minimum.patch
index 29dafbcc..4dde112a 100644
--- a/build/patches/Reduce-HTTP-headers-in-DoH-requests-to-bare-minimum.patch
+++ b/build/patches/Reduce-HTTP-headers-in-DoH-requests-to-bare-minimum.patch
@@ -5,7 +5,7 @@ Subject: Reduce HTTP headers in DoH requests to bare minimum
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
net/base/load_flags_list.h | 4 ++++
- net/dns/dns_transaction.cc | 2 +-
+ net/dns/dns_http_attempt.cc | 2 +-
net/url_request/url_request_http_job.cc | 10 +++++++---
3 files changed, 12 insertions(+), 4 deletions(-)
@@ -21,18 +21,18 @@ diff --git a/net/base/load_flags_list.h b/net/base/load_flags_list.h
+LOAD_FLAG(MINIMAL_HEADERS, 1 << 20)
+
// See note at top of file about why adding LoadFlags is often a bad idea.
-diff --git a/net/dns/dns_transaction.cc b/net/dns/dns_transaction.cc
---- a/net/dns/dns_transaction.cc
-+++ b/net/dns/dns_transaction.cc
-@@ -508,7 +508,7 @@ class DnsHTTPAttempt : public DnsAttempt, public URLRequest::Delegate {
- // avoid deadlock and enable the use of preconfigured IP addresses.
- request_->SetSecureDnsPolicy(SecureDnsPolicy::kBootstrap);
- request_->SetLoadFlags(request_->load_flags() | LOAD_DISABLE_CACHE |
-- LOAD_BYPASS_PROXY);
-+ LOAD_MINIMAL_HEADERS | LOAD_BYPASS_PROXY);
- request_->set_disallow_credentials();
- request_->set_isolation_info(isolation_info);
- }
+diff --git a/net/dns/dns_http_attempt.cc b/net/dns/dns_http_attempt.cc
+--- a/net/dns/dns_http_attempt.cc
++++ b/net/dns/dns_http_attempt.cc
+@@ -160,7 +160,7 @@ DnsHTTPAttempt::DnsHTTPAttempt(base::WeakPtr resolve_context,
+ // avoid deadlock and enable the use of preconfigured IP addresses.
+ request_->SetSecureDnsPolicy(SecureDnsPolicy::kBootstrap);
+ request_->SetLoadFlags(request_->load_flags() | LOAD_DISABLE_CACHE |
+- LOAD_BYPASS_PROXY);
++ LOAD_MINIMAL_HEADERS | LOAD_BYPASS_PROXY);
+ request_->set_disallow_credentials();
+ request_->set_isolation_info(isolation_info);
+ }
diff --git a/net/url_request/url_request_http_job.cc b/net/url_request/url_request_http_job.cc
--- a/net/url_request/url_request_http_job.cc
+++ b/net/url_request/url_request_http_job.cc
diff --git a/build/patches/Remove-ChromiumNetworkAdapter.patch b/build/patches/Remove-ChromiumNetworkAdapter.patch
index 5144291b..ef396e3b 100644
--- a/build/patches/Remove-ChromiumNetworkAdapter.patch
+++ b/build/patches/Remove-ChromiumNetworkAdapter.patch
@@ -20,7 +20,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
diff --git a/android_webview/tools/system_webview_shell/apk/src/org/chromium/webview_shell/WebViewBrowserFragment.java b/android_webview/tools/system_webview_shell/apk/src/org/chromium/webview_shell/WebViewBrowserFragment.java
--- a/android_webview/tools/system_webview_shell/apk/src/org/chromium/webview_shell/WebViewBrowserFragment.java
+++ b/android_webview/tools/system_webview_shell/apk/src/org/chromium/webview_shell/WebViewBrowserFragment.java
-@@ -239,63 +239,6 @@ public class WebViewBrowserFragment extends Fragment {
+@@ -238,63 +238,6 @@ public class WebViewBrowserFragment extends Fragment {
/** Downloading file in background thread */
@Override
protected String doInBackground() {
diff --git a/build/patches/Remove-HTTP-referrals-in-cross-origin-navigation.patch b/build/patches/Remove-HTTP-referrals-in-cross-origin-navigation.patch
index 00afb46e..c72136a3 100644
--- a/build/patches/Remove-HTTP-referrals-in-cross-origin-navigation.patch
+++ b/build/patches/Remove-HTTP-referrals-in-cross-origin-navigation.patch
@@ -44,7 +44,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
-@@ -667,6 +667,8 @@ chrome_java_resources = [
+@@ -663,6 +663,8 @@ chrome_java_resources = [
"java/res/xml/personalize_google_services_preferences.xml",
"java/res/xml/incognito_preferences.xml",
"java/res/xml/privacy_preferences.xml",
@@ -56,10 +56,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
-@@ -982,6 +982,8 @@ chrome_java_sources = [
+@@ -996,6 +996,8 @@ chrome_java_sources = [
+ "java/src/org/chromium/chrome/browser/privacy/settings/IncognitoSettings.java",
"java/src/org/chromium/chrome/browser/privacy_sandbox/CctHandler.java",
"java/src/org/chromium/chrome/browser/privacy_sandbox/PrivacySandbox3pcdRollbackMessageController.java",
- "java/src/org/chromium/chrome/browser/privacy_sandbox/PrivacySandboxSurveyController.java",
+ "java/src/org/chromium/chrome/browser/privacy/settings/RefererSettingsFragment.java",
+ "java/src/org/chromium/chrome/browser/privacy/settings/RadioButtonGroupRefererSettings.java",
"java/src/org/chromium/chrome/browser/provider/BaseColumns.java",
@@ -170,7 +170,7 @@ new file mode 100644
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
-@@ -41,6 +41,7 @@ import org.chromium.chrome.browser.preferences.ChromePreferenceKeys;
+@@ -43,6 +43,7 @@ import org.chromium.chrome.browser.preferences.ChromePreferenceKeys;
import org.chromium.chrome.browser.preferences.ChromeSharedPreferences;
import org.chromium.chrome.browser.preferences.Pref;
import org.chromium.chrome.browser.prefetch.settings.PreloadPagesSettingsFragment;
@@ -178,7 +178,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
import org.chromium.chrome.browser.privacy.secure_dns.SecureDnsSettings;
import org.chromium.chrome.browser.privacy_guide.PrivacyGuideFragment;
import org.chromium.chrome.browser.privacy_guide.PrivacyGuideInteractions;
-@@ -119,6 +120,7 @@ public class PrivacySettings extends ChromeBaseSettingsFragment
+@@ -121,6 +122,7 @@ public class PrivacySettings extends ChromeBaseSettingsFragment
private static final String PREF_SAFE_BROWSING = "safe_browsing";
private static final String PREF_PASSWORD_LEAK_DETECTION = "password_leak_detection";
private static final String PREF_SYNC_AND_SERVICES_LINK = "sync_and_services_link";
@@ -186,7 +186,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
private static final String PREF_PRIVACY_SANDBOX = "privacy_sandbox";
private static final String PREF_PROXY_OPTIONS = "proxy";
private static final String PREF_PRIVACY_GUIDE = "privacy_guide";
-@@ -554,6 +556,10 @@ public class PrivacySettings extends ChromeBaseSettingsFragment
+@@ -556,6 +558,10 @@ public class PrivacySettings extends ChromeBaseSettingsFragment
: R.string.text_off);
}
@@ -397,7 +397,7 @@ new file mode 100644
diff --git a/chrome/browser/extensions/api/settings_private/prefs_util.cc b/chrome/browser/extensions/api/settings_private/prefs_util.cc
--- a/chrome/browser/extensions/api/settings_private/prefs_util.cc
+++ b/chrome/browser/extensions/api/settings_private/prefs_util.cc
-@@ -261,6 +261,11 @@ const PrefsUtil::TypedPrefMap& PrefsUtil::GetAllowlistedKeys() {
+@@ -272,6 +272,11 @@ const PrefsUtil::TypedPrefMap& PrefsUtil::GetAllowlistedKeys() {
(*s_allowlist)[::prefs::kExpireDaysThreshold] =
settings_api::PrefType::kNumber;
@@ -444,7 +444,7 @@ diff --git a/chrome/browser/renderer_preferences_util.cc b/chrome/browser/render
diff --git a/chrome/browser/resources/settings/privacy_page/privacy_page.html b/chrome/browser/resources/settings/privacy_page/privacy_page.html
--- a/chrome/browser/resources/settings/privacy_page/privacy_page.html
+++ b/chrome/browser/resources/settings/privacy_page/privacy_page.html
-@@ -74,6 +74,16 @@
+@@ -67,6 +67,16 @@
menu-options="[[historyExpireDaysThresholdOptions_]]">
@@ -464,7 +464,7 @@ diff --git a/chrome/browser/resources/settings/privacy_page/privacy_page.html b/
diff --git a/chrome/browser/resources/settings/privacy_page/privacy_page.ts b/chrome/browser/resources/settings/privacy_page/privacy_page.ts
--- a/chrome/browser/resources/settings/privacy_page/privacy_page.ts
+++ b/chrome/browser/resources/settings/privacy_page/privacy_page.ts
-@@ -93,6 +93,17 @@ export class SettingsPrivacyPageElement extends SettingsPrivacyPageElementBase {
+@@ -88,6 +88,17 @@ export class SettingsPrivacyPageElement extends SettingsPrivacyPageElementBase {
value: () => loadTimeData.getBoolean('isPrivacySandboxRestricted'),
},
@@ -482,15 +482,15 @@ diff --git a/chrome/browser/resources/settings/privacy_page/privacy_page.ts b/ch
isPrivacySandboxRestrictedNoticeEnabled_: {
type: Boolean,
value: () =>
-@@ -117,6 +128,7 @@ export class SettingsPrivacyPageElement extends SettingsPrivacyPageElementBase {
+@@ -111,6 +122,7 @@ export class SettingsPrivacyPageElement extends SettingsPrivacyPageElementBase {
+ declare private historyExpireDaysThresholdOptions_: object[];
declare private showClearBrowsingDataDialog_: boolean;
declare private showPrivacyGuideDialog_: boolean;
- declare private enableDeleteBrowsingDataRevamp_: boolean;
+ declare private referersPolicyOptions_: object[];
declare private isPrivacySandboxRestricted_: boolean;
declare private isPrivacySandboxRestrictedNoticeEnabled_: boolean;
declare private dbdDeletionConfirmationToastLabel_: string;
-@@ -147,6 +159,12 @@ export class SettingsPrivacyPageElement extends SettingsPrivacyPageElementBase {
+@@ -141,6 +153,12 @@ export class SettingsPrivacyPageElement extends SettingsPrivacyPageElementBase {
Router.getInstance().navigateTo(routes.COOKIES);
}
@@ -506,7 +506,7 @@ diff --git a/chrome/browser/resources/settings/privacy_page/privacy_page.ts b/ch
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
-@@ -1110,6 +1110,30 @@ For more settings that use data to improve your Chrome experience, go to