@@ -37,11 +37,10 @@ diff --git a/chrome/browser/resources/new_tab_page/app.html b/chrome/browser/res
- @open-voice-search="${this.onOpenVoiceSearch_}" ?shown="${this.realboxShown_}"
- ?had-secondary-side="${this.realboxHadSecondarySide}"
- @had-secondary-side-changed="${this.onRealboxHadSecondarySideChanged_}"
-- @context-menu-entrypoint-click="${this.onContextMenuEntrypointClick_}"
- ?can-show-secondary-side="${this.realboxCanShowSecondarySide}"
- ?compose-button-enabled="${this.composeButtonEnabled}"
- ?composebox-enabled="${this.composeboxEnabled}"
-- searchbox-layout-mode="${this.realboxLayoutMode_}"
+- searchbox-layout-mode="${this.ntpRealboxNextEnabled_ ? 'Compact' : ''}"
- ?ntp-realbox-next-enabled="${this.ntpRealboxNextEnabled_}"
- ?cycling-placeholders="${this.searchboxCyclingPlaceholders_}"
- context-menu-glif-animation-state="${this.contextMenuGlifAnimationState_}"
@@ -54,14 +53,15 @@ diff --git a/chrome/browser/resources/new_tab_page/app.html b/chrome/browser/res
diff --git a/chrome/browser/ui/webui/cr_components/searchbox/searchbox_handler.cc b/chrome/browser/ui/webui/cr_components/searchbox/searchbox_handler.cc
--- a/chrome/browser/ui/webui/cr_components/searchbox/searchbox_handler.cc
+++ b/chrome/browser/ui/webui/cr_components/searchbox/searchbox_handler.cc
-@@ -307,6 +307,7 @@ void SearchboxHandler::SetupWebUIDataSource(content::WebUIDataSource* source,
- bool enable_voice_search,
- bool enable_lens_search,
- bool session_allows_drag_and_drop) {
-+ enable_lens_search = false;
+@@ -321,6 +321,8 @@ base::DictValue SearchboxHandler::GetWebUIDataSourceDict(Profile* profile) {
+ base::DictValue SearchboxHandler::GetWebUIDataSourceDict(
+ Profile* profile,
+ WebUIDataSourceOptions options) {
++ options.enable_lens_search = false;
++ options.enable_voice_search = false;
+ base::DictValue dict;
+
// The WebUI Omnibox code will override this to `true` to adjust various
- // color and layout options.
- source->AddBoolean("isTopChromeSearchbox", false);
diff --git a/components/search/ntp_features.cc b/components/search/ntp_features.cc
--- a/components/search/ntp_features.cc
+++ b/components/search/ntp_features.cc
diff --git a/build/patches/Disable-Sticky-User-Activation-Across-Same-Origin-Navigation.patch b/build/patches/Disable-Sticky-User-Activation-Across-Same-Origin-Navigation.patch
index 3d09ad17..ca9ec9d4 100644
--- a/build/patches/Disable-Sticky-User-Activation-Across-Same-Origin-Navigation.patch
+++ b/build/patches/Disable-Sticky-User-Activation-Across-Same-Origin-Navigation.patch
@@ -14,7 +14,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5 b/third_party/blink/renderer/platform/runtime_enabled_features.json5
--- a/third_party/blink/renderer/platform/runtime_enabled_features.json5
+++ b/third_party/blink/renderer/platform/runtime_enabled_features.json5
-@@ -5384,8 +5384,8 @@
+@@ -5510,8 +5510,8 @@
{
// Preserves the sticky user activation state after a page navigates to
// another same-origin page. https://crbug.com/433729626
diff --git a/build/patches/Disable-TLS-resumption.patch b/build/patches/Disable-TLS-resumption.patch
index 36f472bd..832338fe 100644
--- a/build/patches/Disable-TLS-resumption.patch
+++ b/build/patches/Disable-TLS-resumption.patch
@@ -90,7 +90,7 @@ diff --git a/net/http/http_network_session.cc b/net/http/http_network_session.cc
diff --git a/net/quic/quic_session_pool.cc b/net/quic/quic_session_pool.cc
--- a/net/quic/quic_session_pool.cc
+++ b/net/quic/quic_session_pool.cc
-@@ -380,6 +380,38 @@ base::TimeDelta GetAdditionalDelayForMainJob() {
+@@ -384,6 +384,38 @@ base::TimeDelta GetAdditionalDelayForMainJob() {
} // namespace
@@ -129,7 +129,7 @@ diff --git a/net/quic/quic_session_pool.cc b/net/quic/quic_session_pool.cc
QuicSessionRequest::QuicSessionRequest(QuicSessionPool* pool) : pool_(pool) {}
QuicSessionRequest::~QuicSessionRequest() {
-@@ -2429,8 +2461,7 @@ QuicSessionPool::CreateCryptoConfigHandle(QuicCryptoClientConfigKey key) {
+@@ -2484,8 +2516,7 @@ QuicSessionPool::CreateCryptoConfigHandle(QuicCryptoClientConfigKey key) {
cert_verifier_, transport_security_state_, sct_auditing_delegate_,
std::move(hostnames_to_allow_unknown_roots),
key.network_anonymization_key),
diff --git a/build/patches/Disable-UA-full-version.patch b/build/patches/Disable-UA-full-version.patch
index 89fa33f9..10da6645 100644
--- a/build/patches/Disable-UA-full-version.patch
+++ b/build/patches/Disable-UA-full-version.patch
@@ -23,7 +23,7 @@ diff --git a/third_party/blink/renderer/core/frame/navigator_ua_data.cc b/third_
#include "third_party/blink/public/mojom/use_counter/metrics/web_feature.mojom-blink.h"
#include "third_party/blink/renderer/bindings/core/v8/script_promise_resolver.h"
#include "third_party/blink/renderer/bindings/core/v8/v8_ua_data_values.h"
-@@ -17,6 +20,20 @@
+@@ -16,6 +19,20 @@
namespace blink {
@@ -44,16 +44,16 @@ diff --git a/third_party/blink/renderer/core/frame/navigator_ua_data.cc b/third_
NavigatorUAData::NavigatorUAData(ExecutionContext* context)
: ExecutionContextClient(context) {
NavigatorUABrandVersion* dict = NavigatorUABrandVersion::Create();
-@@ -53,7 +70,7 @@ void NavigatorUAData::SetFullVersionList(
+@@ -52,7 +69,7 @@ void NavigatorUAData::SetFullVersionList(
const UserAgentBrandList& full_version_list) {
for (const auto& brand_version : full_version_list) {
- AddBrandFullVersion(String::FromUTF8(brand_version.brand),
-- String::FromUTF8(brand_version.version));
-+ GetReducedVersionNumber(brand_version.version));
+ AddBrandFullVersion(String::FromUtf8(brand_version.brand),
+- String::FromUtf8(brand_version.version));
++ GetReducedVersionNumber(brand_version.version));
}
}
-@@ -75,7 +92,7 @@ void NavigatorUAData::SetModel(const String& model) {
+@@ -74,7 +91,7 @@ void NavigatorUAData::SetModel(const String& model) {
}
void NavigatorUAData::SetUAFullVersion(const String& ua_full_version) {
diff --git a/build/patches/Disable-Viewport-Segments.patch b/build/patches/Disable-Viewport-Segments.patch
index fc9b9c27..5fc689e4 100644
--- a/build/patches/Disable-Viewport-Segments.patch
+++ b/build/patches/Disable-Viewport-Segments.patch
@@ -21,7 +21,7 @@ new file mode 100644
diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5 b/third_party/blink/renderer/platform/runtime_enabled_features.json5
--- a/third_party/blink/renderer/platform/runtime_enabled_features.json5
+++ b/third_party/blink/renderer/platform/runtime_enabled_features.json5
-@@ -6054,8 +6054,7 @@
+@@ -6174,8 +6174,7 @@
status: "stable",
},
{
diff --git a/build/patches/Disable-WebGPU.patch b/build/patches/Disable-WebGPU.patch
index dd15bf78..dc85b079 100644
--- a/build/patches/Disable-WebGPU.patch
+++ b/build/patches/Disable-WebGPU.patch
@@ -12,7 +12,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
diff --git a/content/child/runtime_features.cc b/content/child/runtime_features.cc
--- a/content/child/runtime_features.cc
+++ b/content/child/runtime_features.cc
-@@ -528,6 +528,8 @@ void SetCustomizedRuntimeFeaturesFromCombinedArgs(
+@@ -531,6 +531,8 @@ void SetCustomizedRuntimeFeaturesFromCombinedArgs(
WebRuntimeFeatures::EnableRemotePlayback(false);
@@ -24,7 +24,7 @@ diff --git a/content/child/runtime_features.cc b/content/child/runtime_features.
diff --git a/gpu/config/gpu_finch_features.cc b/gpu/config/gpu_finch_features.cc
--- a/gpu/config/gpu_finch_features.cc
+++ b/gpu/config/gpu_finch_features.cc
-@@ -205,7 +205,7 @@ BASE_FEATURE(kEnableDrDc,
+@@ -215,7 +215,7 @@ BASE_FEATURE(kEnableDrDc,
// enabled by default on supported platforms.
#if BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_CHROMEOS) || \
BUILDFLAG(IS_ANDROID) || BUILDFLAG(USE_WEBGPU_ON_VULKAN_VIA_GL_INTEROP)
diff --git a/build/patches/Disable-all-promo-dialogs.patch b/build/patches/Disable-all-promo-dialogs.patch
index 08be6792..8ea8b176 100644
--- a/build/patches/Disable-all-promo-dialogs.patch
+++ b/build/patches/Disable-all-promo-dialogs.patch
@@ -15,7 +15,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java b/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java
-@@ -2065,6 +2065,7 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator {
+@@ -2185,6 +2185,7 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator {
}
private boolean maybeShowPromo(Profile profile) {
@@ -26,7 +26,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/Tab
diff --git a/chrome/browser/ui/browser_ui_prefs.cc b/chrome/browser/ui/browser_ui_prefs.cc
--- a/chrome/browser/ui/browser_ui_prefs.cc
+++ b/chrome/browser/ui/browser_ui_prefs.cc
-@@ -191,7 +191,7 @@ void RegisterBrowserUserPrefs(user_prefs::PrefRegistrySyncable* registry) {
+@@ -193,7 +193,7 @@ void RegisterBrowserUserPrefs(user_prefs::PrefRegistrySyncable* registry) {
registry->RegisterBooleanPref(prefs::kEnterpriseHardwarePlatformAPIEnabled,
false);
diff --git a/build/patches/Disable-conversion-measurement-api.patch b/build/patches/Disable-conversion-measurement-api.patch
index fc39397a..2b2a416b 100644
--- a/build/patches/Disable-conversion-measurement-api.patch
+++ b/build/patches/Disable-conversion-measurement-api.patch
@@ -53,7 +53,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/android_webview/browser/aw_content_browser_client.cc b/android_webview/browser/aw_content_browser_client.cc
--- a/android_webview/browser/aw_content_browser_client.cc
+++ b/android_webview/browser/aw_content_browser_client.cc
-@@ -1371,6 +1371,7 @@ network::mojom::AttributionSupport
+@@ -1380,6 +1380,7 @@ network::mojom::AttributionSupport
AwContentBrowserClient::GetAttributionSupport(
AttributionReportingOsApiState state,
bool client_os_disabled) {
@@ -61,7 +61,7 @@ diff --git a/android_webview/browser/aw_content_browser_client.cc b/android_webv
// WebView only supports OS-level attribution and not web-attribution.
switch (state) {
case AttributionReportingOsApiState::kDisabled:
-@@ -1389,6 +1390,8 @@ bool AwContentBrowserClient::IsAttributionReportingOperationAllowed(
+@@ -1398,6 +1399,8 @@ bool AwContentBrowserClient::IsAttributionReportingOperationAllowed(
const url::Origin* destination_origin,
const url::Origin* reporting_origin,
bool* can_bypass) {
@@ -79,10 +79,10 @@ diff --git a/android_webview/java/src/org/chromium/android_webview/AwSettings.ja
private int mMixedContentMode = WebSettings.MIXED_CONTENT_NEVER_ALLOW;
- private int mAttributionBehavior = AttributionBehavior.APP_SOURCE_AND_WEB_TRIGGER;
+ private int mAttributionBehavior = AttributionBehavior.DISABLED;
+ private boolean mIgnoreDuplicateNavEnabled;
+ private int mIgnoreDuplicateNavThresholdMs = -1;
- @SpeculativeLoadingAllowedFlags
- private int mSpeculativeLoadingAllowedFlags =
-@@ -1820,7 +1820,7 @@ public class AwSettings {
+@@ -1868,7 +1868,7 @@ public class AwSettings {
public void setAttributionBehavior(@AttributionBehavior int behavior) {
synchronized (mAwSettingsLock) {
if (mAttributionBehavior != behavior) {
@@ -115,7 +115,7 @@ diff --git a/chrome/android/java/AndroidManifest.xml b/chrome/android/java/Andro
@@ -30,7 +30,7 @@ diff --git a/chrome/app/generated_resources.grd b/chrome/app/generated_resources
diff --git a/chrome/browser/ui/views/toolbar/toolbar_view.cc b/chrome/browser/ui/views/toolbar/toolbar_view.cc
--- a/chrome/browser/ui/views/toolbar/toolbar_view.cc
+++ b/chrome/browser/ui/views/toolbar/toolbar_view.cc
-@@ -1149,7 +1149,7 @@ void ToolbarView::Update(WebContents* tab) {
+@@ -1153,7 +1153,7 @@ void ToolbarView::Update(WebContents* tab) {
if (ReloadControl* reload_control = GetReloadButton(); reload_control) {
reload_control->SetDevToolsStatus(
diff --git a/build/patches/Enable-network-isolation-features.patch b/build/patches/Enable-network-isolation-features.patch
index b5257dd0..58f1e653 100644
--- a/build/patches/Enable-network-isolation-features.patch
+++ b/build/patches/Enable-network-isolation-features.patch
@@ -21,7 +21,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/chrome/browser/net/profile_network_context_service.cc b/chrome/browser/net/profile_network_context_service.cc
--- a/chrome/browser/net/profile_network_context_service.cc
+++ b/chrome/browser/net/profile_network_context_service.cc
-@@ -459,8 +459,8 @@ bool GetHttpCacheBackendResetParam(PrefService* local_state) {
+@@ -458,8 +458,8 @@ bool GetHttpCacheBackendResetParam(PrefService* local_state) {
experiment_parts.push_back(kDiskCacheExperimentNameNone);
// SplitCacheByIncludeCredentials experiment:
experiment_parts.push_back(credentials_field_trial
diff --git a/build/patches/Enable-platform-aac-audio-and-h264-video.patch b/build/patches/Enable-platform-aac-audio-and-h264-video.patch
index 447fbb9a..ef30a18d 100644
--- a/build/patches/Enable-platform-aac-audio-and-h264-video.patch
+++ b/build/patches/Enable-platform-aac-audio-and-h264-video.patch
@@ -62,15 +62,15 @@ diff --git a/media/base/android/java/src/org/chromium/media/AudioManagerAndroid.
diff --git a/media/base/android/media_codec_util.cc b/media/base/android/media_codec_util.cc
--- a/media/base/android/media_codec_util.cc
+++ b/media/base/android/media_codec_util.cc
-@@ -15,6 +15,7 @@
- #include "base/logging.h"
+@@ -16,6 +16,7 @@
+ #include "base/numerics/safe_conversions.h"
#include "base/strings/string_util.h"
#include "base/system/sys_info.h"
+#include "media/media_buildflags.h"
#include "media/base/android/media_codec_bridge.h"
#include "media/base/video_codecs.h"
#include "third_party/re2/src/re2/re2.h"
-@@ -102,6 +103,9 @@ std::string MediaCodecUtil::CodecToAndroidMimeType(AudioCodec codec) {
+@@ -127,6 +128,9 @@ std::string MediaCodecUtil::CodecToAndroidMimeType(AudioCodec codec) {
// static
std::string MediaCodecUtil::CodecToAndroidMimeType(AudioCodec codec,
SampleFormat sample_format) {
@@ -98,7 +98,7 @@ diff --git a/media/base/win/mf_helpers.cc b/media/base/win/mf_helpers.cc
diff --git a/media/filters/ffmpeg_audio_decoder.cc b/media/filters/ffmpeg_audio_decoder.cc
--- a/media/filters/ffmpeg_audio_decoder.cc
+++ b/media/filters/ffmpeg_audio_decoder.cc
-@@ -96,6 +96,16 @@ void FFmpegAudioDecoder::Initialize(const AudioDecoderConfig& config,
+@@ -127,6 +127,16 @@ void FFmpegAudioDecoder::Initialize(const AudioDecoderConfig& config,
return;
}
@@ -118,7 +118,7 @@ diff --git a/media/filters/ffmpeg_audio_decoder.cc b/media/filters/ffmpeg_audio_
diff --git a/media/filters/ffmpeg_demuxer.cc b/media/filters/ffmpeg_demuxer.cc
--- a/media/filters/ffmpeg_demuxer.cc
+++ b/media/filters/ffmpeg_demuxer.cc
-@@ -727,6 +727,7 @@ void FFmpegDemuxerStream::InitBitstreamConverter() {
+@@ -728,6 +728,7 @@ void FFmpegDemuxerStream::InitBitstreamConverter() {
// FFmpeg doesn't understand xHE-AAC profiles yet, which can't be put in
// ADTS anyways, so skip bitstream conversion when the profile is
// unknown.
@@ -221,8 +221,8 @@ diff --git a/media/gpu/windows/supported_profile_helpers.cc b/media/gpu/windows/
diff --git a/media/media_options.gni b/media/media_options.gni
--- a/media/media_options.gni
+++ b/media/media_options.gni
-@@ -64,6 +64,14 @@ declare_args() {
- media_use_libvpx = false
+@@ -65,6 +65,14 @@ declare_args() {
+ media_use_symphonia = false
}
+ # Enables AAC audio decoder using only MediaCodecAudioDecoder in Android
diff --git a/build/patches/Enable-share-intent.patch b/build/patches/Enable-share-intent.patch
index b8559944..222189b6 100644
--- a/build/patches/Enable-share-intent.patch
+++ b/build/patches/Enable-share-intent.patch
@@ -35,7 +35,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/chrome/android/chrome_java_resources.gni b/chrome/android/chrome_java_resources.gni
--- a/chrome/android/chrome_java_resources.gni
+++ b/chrome/android/chrome_java_resources.gni
-@@ -596,6 +596,7 @@ chrome_java_resources = [
+@@ -606,6 +606,7 @@ chrome_java_resources = [
"java/res/layout/shopping_accessory_view_layout.xml",
"java/res/layout/status_indicator_container.xml",
"java/res/layout/suggestions_tile_view_condensed.xml",
@@ -46,10 +46,10 @@ diff --git a/chrome/android/chrome_java_resources.gni b/chrome/android/chrome_ja
diff --git a/chrome/android/chrome_java_sources.gni b/chrome/android/chrome_java_sources.gni
--- a/chrome/android/chrome_java_sources.gni
+++ b/chrome/android/chrome_java_sources.gni
-@@ -1072,6 +1072,7 @@ chrome_java_sources = [
+@@ -1087,6 +1087,7 @@ chrome_java_sources = [
+ "java/src/org/chromium/chrome/browser/signin/SigninBridge.java",
"java/src/org/chromium/chrome/browser/signin/SigninCheckerProvider.java",
"java/src/org/chromium/chrome/browser/signin/SigninFirstRunFragment.java",
- "java/src/org/chromium/chrome/browser/signin/SigninManagerImpl.java",
+ "java/src/org/chromium/chrome/browser/sharing/shared_intent/SharedIntentShareActivity.java",
"java/src/org/chromium/chrome/browser/site_settings/ChromeSiteSettingsDelegate.java",
"java/src/org/chromium/chrome/browser/site_settings/ManageSpaceActivity.java",
@@ -57,7 +57,7 @@ diff --git a/chrome/android/chrome_java_sources.gni b/chrome/android/chrome_java
diff --git a/chrome/android/java/AndroidManifest.xml b/chrome/android/java/AndroidManifest.xml
--- a/chrome/android/java/AndroidManifest.xml
+++ b/chrome/android/java/AndroidManifest.xml
-@@ -279,12 +279,6 @@ by a child template that "extends" this file.
+@@ -271,12 +271,6 @@ by a child template that "extends" this file.
@@ -70,7 +70,7 @@ diff --git a/chrome/android/java/AndroidManifest.xml b/chrome/android/java/Andro
-@@ -363,6 +357,10 @@ by a child template that "extends" this file.
+@@ -355,6 +349,10 @@ by a child template that "extends" this file.
@@ -81,7 +81,7 @@ diff --git a/chrome/android/java/AndroidManifest.xml b/chrome/android/java/Andro
-@@ -399,6 +397,24 @@ by a child template that "extends" this file.
+@@ -391,6 +389,24 @@ by a child template that "extends" this file.
@@ -202,7 +202,7 @@ new file mode 100644
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/IntentHandler.java b/chrome/android/java/src/org/chromium/chrome/browser/IntentHandler.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/IntentHandler.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/IntentHandler.java
-@@ -204,6 +204,9 @@ public class IntentHandler {
+@@ -215,6 +215,9 @@ public class IntentHandler {
private static final String EXTRA_TAB_LAUNCH_TYPE =
"org.chromium.chrome.browser.tab_launch_type";
@@ -212,8 +212,8 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/IntentHandler.j
/** A hash code for the URL to verify intent data hasn't been modified. */
public static final String EXTRA_DATA_HASH_CODE = "org.chromium.chrome.browser.data_hash";
-@@ -1541,6 +1544,17 @@ public class IntentHandler {
- return IntentUtils.safeGetIntExtra(intent, EXTRA_DEST_TAB_ID, Tab.INVALID_TAB_ID);
+@@ -1636,6 +1639,17 @@ public class IntentHandler {
+ return (tabContext instanceof Activity) ? (Activity) tabContext : null;
}
+ public static void setForceIncognitoMode(Intent intent) {
@@ -230,7 +230,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/IntentHandler.j
/**
* Creates an Intent that will launch a ChromeTabbedActivity on the new tab page. The Intent
* will be trusted and therefore able to launch Incognito tabs.
-@@ -1751,7 +1765,7 @@ public class IntentHandler {
+@@ -1857,7 +1871,7 @@ public class IntentHandler {
String headers = getExtraHeadersFromIntent(intent);
headers = maybeAddAdditionalContentHeaders(intent, url, headers);
@@ -290,7 +290,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/document/Chrome
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/init/ProcessInitializationHandler.java b/chrome/android/java/src/org/chromium/chrome/browser/init/ProcessInitializationHandler.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/init/ProcessInitializationHandler.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/init/ProcessInitializationHandler.java
-@@ -110,6 +110,7 @@ import org.chromium.chrome.browser.tabmodel.TabPersistentStoreImpl;
+@@ -109,6 +109,7 @@ import org.chromium.chrome.browser.tabmodel.TabPersistentStoreImpl;
import org.chromium.chrome.browser.ui.cars.DrivingRestrictionsManager;
import org.chromium.chrome.browser.ui.hats.SurveyClientFactory;
import org.chromium.chrome.browser.ui.searchactivityutils.SearchActivityPreferencesManager;
@@ -298,7 +298,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/init/ProcessIni
import org.chromium.chrome.browser.usb.UsbNotificationManager;
import org.chromium.chrome.browser.util.AfterStartupTaskUtils;
import org.chromium.chrome.browser.webapps.ChromeWebApkHost;
-@@ -705,6 +706,7 @@ public class ProcessInitializationHandler {
+@@ -702,6 +703,7 @@ public class ProcessInitializationHandler {
tasks.add(WebApkUninstallTracker::runDeferredTasks);
@@ -473,19 +473,19 @@ new file mode 100644
diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browser/flags/android/chrome_feature_list.cc
--- a/chrome/browser/flags/android/chrome_feature_list.cc
+++ b/chrome/browser/flags/android/chrome_feature_list.cc
-@@ -418,6 +418,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
+@@ -435,6 +435,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
&kRelatedSearchesAllLanguage,
&kRelatedSearchesSwitch,
&kReloadTabUiResourcesIfChanged,
+ &kSharedIntentUI,
&kRemoveTabFocusOnShowingAndSelect,
&kRightEdgeGoesForwardGestureNav,
- &kRobustWindowManagement,
+ &kRobustWindowManagementExperimental,
diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
--- a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
+++ b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
-@@ -585,6 +585,7 @@ public abstract class ChromeFeatureList {
- public static final String RECENTLY_CLOSED_TABS_AND_WINDOWS = "RecentlyClosedTabsAndWindows";
+@@ -602,6 +602,7 @@ public abstract class ChromeFeatureList {
+ public static final String READALOUD_PLAYBACK = "ReadAloudPlayback";
public static final String RECORD_INCOGNITO_NTP_TIME_TO_FIRST_NAVIGATION_METRIC =
"RecordIncognitoNtpTimeToFirstNavigationMetric";
+ public static final String SHARED_INTENT_UI = "SharedIntentUI";
@@ -495,7 +495,7 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f
diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd
--- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
+++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
-@@ -6610,6 +6610,19 @@ To change this setting, BEGIN_LINKdelete the Chrome d
+@@ -6595,6 +6595,19 @@ To change this setting, BEGIN_LINKdelete the Chrome d
Make sure a phone app is enabled on this device
diff --git a/build/patches/Enable-snackbar-swipe.patch b/build/patches/Enable-snackbar-swipe.patch
index 35b314f6..73eed35b 100644
--- a/build/patches/Enable-snackbar-swipe.patch
+++ b/build/patches/Enable-snackbar-swipe.patch
@@ -30,7 +30,7 @@ diff --git a/chrome/browser/ui/messages/android/java/src/org/chromium/chrome/bro
import android.view.View.OnLayoutChangeListener;
import android.view.ViewGroup;
import android.widget.FrameLayout;
-@@ -35,6 +38,8 @@ import org.chromium.chrome.browser.ui.messages.snackbar.SnackbarSwipeHandler.Del
+@@ -36,6 +39,8 @@ import org.chromium.chrome.browser.ui.messages.snackbar.SnackbarSwipeHandler.Del
import org.chromium.chrome.ui.messages.R;
import org.chromium.components.browser_ui.styles.SemanticColorUtils;
import org.chromium.components.browser_ui.widget.gesture.SwipeGestureListener;
@@ -39,7 +39,7 @@ diff --git a/chrome/browser/ui/messages/android/java/src/org/chromium/chrome/bro
import org.chromium.components.browser_ui.widget.text.TemplatePreservingTextView;
import org.chromium.ui.base.WindowAndroid;
import org.chromium.ui.insets.InsetObserver;
-@@ -47,7 +52,7 @@ import org.chromium.ui.interpolators.Interpolators;
+@@ -48,7 +53,7 @@ import org.chromium.ui.interpolators.Interpolators;
// TODO (jianli): Change this class and its methods back to package protected after the offline
// indicator experiment is done.
@NullMarked
@@ -48,7 +48,7 @@ diff --git a/chrome/browser/ui/messages/android/java/src/org/chromium/chrome/bro
private static final int MAX_LINES = 5;
private static final int DEFAULT_LINES = 2;
-@@ -92,6 +97,16 @@ public class SnackbarView implements InsetObserver.WindowInsetObserver {
+@@ -96,6 +101,16 @@ public class SnackbarView implements InsetObserver.WindowInsetObserver {
}
};
@@ -65,7 +65,7 @@ diff --git a/chrome/browser/ui/messages/android/java/src/org/chromium/chrome/bro
/**
* Creates an instance of the {@link SnackbarView}.
*
-@@ -145,21 +160,15 @@ public class SnackbarView implements InsetObserver.WindowInsetObserver {
+@@ -151,21 +166,15 @@ public class SnackbarView implements InsetObserver.WindowInsetObserver {
adjustViewPosition();
}
});
@@ -94,7 +94,7 @@ diff --git a/chrome/browser/ui/messages/android/java/src/org/chromium/chrome/bro
mSnackbarView = mContainerView.findViewById(R.id.snackbar);
mAnimationDuration =
mContainerView.getResources().getInteger(android.R.integer.config_mediumAnimTime);
-@@ -292,6 +301,60 @@ public class SnackbarView implements InsetObserver.WindowInsetObserver {
+@@ -311,6 +320,60 @@ public class SnackbarView implements InsetObserver.WindowInsetObserver {
return mContainerView.isShown();
}
diff --git a/build/patches/Enables-deactivation-of-the-js-debugger-statement.patch b/build/patches/Enables-deactivation-of-the-js-debugger-statement.patch
index 88dca234..5fba68f1 100644
--- a/build/patches/Enables-deactivation-of-the-js-debugger-statement.patch
+++ b/build/patches/Enables-deactivation-of-the-js-debugger-statement.patch
@@ -7,7 +7,7 @@ deactivating the debugger javascript statement
License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
---
- .../src/front_end/core/sdk/DebuggerModel.ts | 9 ++++++++
+ .../src/front_end/core/sdk/DebuggerModel.ts | 8 +++++++
.../src/front_end/core/sdk/sdk-meta.ts | 23 +++++++++++++++++++
.../generated/InspectorBackendCommands.ts | 4 ++++
.../front_end/generated/protocol-mapping.d.ts | 4 ++++
@@ -23,41 +23,40 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
v8/src/inspector/v8-debugger-agent-impl.cc | 8 +++++++
v8/src/inspector/v8-debugger-agent-impl.h | 1 +
v8/src/runtime/runtime-debug.cc | 17 ++++++++++++--
- 16 files changed, 101 insertions(+), 5 deletions(-)
+ 16 files changed, 100 insertions(+), 5 deletions(-)
diff --git a/third_party/devtools-frontend/src/front_end/core/sdk/DebuggerModel.ts b/third_party/devtools-frontend/src/front_end/core/sdk/DebuggerModel.ts
--- a/third_party/devtools-frontend/src/front_end/core/sdk/DebuggerModel.ts
+++ b/third_party/devtools-frontend/src/front_end/core/sdk/DebuggerModel.ts
-@@ -185,6 +185,9 @@ export class DebuggerModel extends SDKModel {
- Common.Settings.Settings.instance()
- .moduleSetting('disable-async-stack-traces')
- .addChangeListener(this.asyncStackTracesStateChanged, this);
-+ Common.Settings.Settings.instance()
-+ .moduleSetting('disableDebuggerStatement')
-+ .addChangeListener(this.DebuggerStatementChanged, this);
- Common.Settings.Settings.instance()
- .moduleSetting('breakpoints-active')
- .addChangeListener(this.breakpointsActiveChanged, this);
-@@ -198,6 +201,7 @@ export class DebuggerModel extends SDKModel {
- Common.Settings.Settings.instance()
- .moduleSetting('js-source-maps-enabled')
+@@ -179,6 +179,7 @@ export class DebuggerModel extends SDKModel {
+ settings.moduleSetting('pause-on-uncaught-exception').addChangeListener(this.pauseOnExceptionStateChanged, this);
+ settings.moduleSetting('disable-async-stack-traces').addChangeListener(this.asyncStackTracesStateChanged, this);
+ settings.moduleSetting('breakpoints-active').addChangeListener(this.breakpointsActiveChanged, this);
++ settings.moduleSetting('disableDebuggerStatement').addChangeListener(this.debuggerStatementChanged, this);
+
+ if (!target.suspended()) {
+ void this.enableDebugger();
+@@ -187,6 +188,7 @@ export class DebuggerModel extends SDKModel {
+ this.#sourceMapManager.setEnabled(settings.moduleSetting('js-source-maps-enabled').get());
+ settings.moduleSetting('js-source-maps-enabled')
.addChangeListener(event => this.#sourceMapManager.setEnabled((event.data as boolean)));
-+ this.DebuggerStatementChanged();
++ this.debuggerStatementChanged();
const resourceTreeModel = (target.model(ResourceTreeModel) as ResourceTreeModel);
if (resourceTreeModel) {
-@@ -389,6 +393,11 @@ export class DebuggerModel extends SDKModel {
+@@ -379,6 +381,12 @@ export class DebuggerModel extends SDKModel {
return this.agent.invoke_setAsyncCallStackDepth({maxDepth});
}
-+ private DebuggerStatementChanged(): Promise {
-+ const enabled = !Common.Settings.Settings.instance().moduleSetting('disableDebuggerStatement').get();
++ private debuggerStatementChanged(): Promise {
++ const settings = this.target().targetManager().settings;
++ const enabled = !settings.moduleSetting('disableDebuggerStatement').get();
+ return this.agent.invoke_setDebuggerStatementEnabled({enabled});
+ }
+
private breakpointsActiveChanged(): void {
- void this.agent.invoke_setBreakpointsActive(
- {active: Common.Settings.Settings.instance().moduleSetting('breakpoints-active').get()});
+ const settings = this.target().targetManager().settings;
+ void this.agent.invoke_setBreakpointsActive({active: settings.moduleSetting('breakpoints-active').get()});
diff --git a/third_party/devtools-frontend/src/front_end/core/sdk/sdk-meta.ts b/third_party/devtools-frontend/src/front_end/core/sdk/sdk-meta.ts
--- a/third_party/devtools-frontend/src/front_end/core/sdk/sdk-meta.ts
+++ b/third_party/devtools-frontend/src/front_end/core/sdk/sdk-meta.ts
@@ -101,7 +100,7 @@ diff --git a/third_party/devtools-frontend/src/front_end/core/sdk/sdk-meta.ts b/
diff --git a/third_party/devtools-frontend/src/front_end/generated/InspectorBackendCommands.ts b/third_party/devtools-frontend/src/front_end/generated/InspectorBackendCommands.ts
--- a/third_party/devtools-frontend/src/front_end/generated/InspectorBackendCommands.ts
+++ b/third_party/devtools-frontend/src/front_end/generated/InspectorBackendCommands.ts
-@@ -1548,6 +1548,10 @@ inspectorBackend.registerCommand("Debugger.resume", [{"name": "terminateOnResume
+@@ -1531,6 +1531,10 @@ inspectorBackend.registerCommand("Debugger.resume", [{"name": "terminateOnResume
inspectorBackend.registerCommand("Debugger.searchInContent", [{"name": "scriptId", "type": "string", "optional": false, "description": "Id of the script to search in.", "typeRef": "Runtime.ScriptId"}, {"name": "query", "type": "string", "optional": false, "description": "String to search for.", "typeRef": null}, {"name": "caseSensitive", "type": "boolean", "optional": true, "description": "If true, search is case sensitive.", "typeRef": null}, {"name": "isRegex", "type": "boolean", "optional": true, "description": "If true, treats string parameter as regex.", "typeRef": null}], ["result"], "Searches for given string in script content.");
inspectorBackend.registerCommand("Debugger.setAsyncCallStackDepth", [{"name": "maxDepth", "type": "number", "optional": false, "description": "Maximum depth of async call stacks. Setting to `0` will effectively disable collecting async call stacks (default).", "typeRef": null}], [], "Enables or disables async call stacks tracking.");
inspectorBackend.registerCommand("Debugger.setBlackboxExecutionContexts", [{"name": "uniqueIds", "type": "array", "optional": false, "description": "Array of execution context unique ids for the debugger to ignore.", "typeRef": "string"}], [], "Replace previous blackbox execution contexts with passed ones. Forces backend to skip stepping/pausing in scripts in these execution contexts. VM will try to leave blackboxed script by performing 'step in' several times, finally resorting to 'step out' if unsuccessful.");
@@ -115,7 +114,7 @@ diff --git a/third_party/devtools-frontend/src/front_end/generated/InspectorBack
diff --git a/third_party/devtools-frontend/src/front_end/generated/protocol-mapping.d.ts b/third_party/devtools-frontend/src/front_end/generated/protocol-mapping.d.ts
--- a/third_party/devtools-frontend/src/front_end/generated/protocol-mapping.d.ts
+++ b/third_party/devtools-frontend/src/front_end/generated/protocol-mapping.d.ts
-@@ -5511,6 +5511,10 @@ export namespace ProtocolMapping {
+@@ -5523,6 +5523,10 @@ export namespace ProtocolMapping {
paramsType: [Protocol.Debugger.SetBlackboxExecutionContextsRequest];
returnType: void;
};
@@ -129,7 +128,7 @@ diff --git a/third_party/devtools-frontend/src/front_end/generated/protocol-mapp
diff --git a/third_party/devtools-frontend/src/front_end/generated/protocol-proxy-api.d.ts b/third_party/devtools-frontend/src/front_end/generated/protocol-proxy-api.d.ts
--- a/third_party/devtools-frontend/src/front_end/generated/protocol-proxy-api.d.ts
+++ b/third_party/devtools-frontend/src/front_end/generated/protocol-proxy-api.d.ts
-@@ -4957,6 +4957,8 @@ declare namespace ProtocolProxyApi {
+@@ -4987,6 +4987,8 @@ declare namespace ProtocolProxyApi {
*/
invoke_setBlackboxExecutionContexts(params: Protocol.Debugger.SetBlackboxExecutionContextsRequest): Promise;
@@ -141,7 +140,7 @@ diff --git a/third_party/devtools-frontend/src/front_end/generated/protocol-prox
diff --git a/third_party/devtools-frontend/src/front_end/generated/protocol.ts b/third_party/devtools-frontend/src/front_end/generated/protocol.ts
--- a/third_party/devtools-frontend/src/front_end/generated/protocol.ts
+++ b/third_party/devtools-frontend/src/front_end/generated/protocol.ts
-@@ -21087,6 +21087,10 @@ export namespace Debugger {
+@@ -20945,6 +20945,10 @@ export namespace Debugger {
uniqueIds: string[];
}
@@ -155,7 +154,7 @@ diff --git a/third_party/devtools-frontend/src/front_end/generated/protocol.ts b
diff --git a/third_party/devtools-frontend/src/third_party/blink/public/devtools_protocol/browser_protocol.json b/third_party/devtools-frontend/src/third_party/blink/public/devtools_protocol/browser_protocol.json
--- a/third_party/devtools-frontend/src/third_party/blink/public/devtools_protocol/browser_protocol.json
+++ b/third_party/devtools-frontend/src/third_party/blink/public/devtools_protocol/browser_protocol.json
-@@ -31997,8 +31997,17 @@
+@@ -31482,8 +31482,17 @@
"$ref": "WasmDisassemblyChunk"
}
]
@@ -175,7 +174,7 @@ diff --git a/third_party/devtools-frontend/src/third_party/blink/public/devtools
"name": "nextWasmDisassemblyChunk",
"description": "Disassemble the next chunk of lines for the module corresponding to the\nstream. If disassembly is complete, this API will invalidate the streamId\nand return an empty chunk. Any subsequent calls for the now invalid stream\nwill return errors.",
"experimental": true,
-@@ -35188,4 +35197,4 @@
+@@ -34673,4 +34682,4 @@
]
}
]
@@ -199,7 +198,7 @@ diff --git a/v8/include/js_protocol.pdl b/v8/include/js_protocol.pdl
diff --git a/v8/src/common/message-template.h b/v8/src/common/message-template.h
--- a/v8/src/common/message-template.h
+++ b/v8/src/common/message-template.h
-@@ -778,6 +778,7 @@ namespace internal {
+@@ -784,6 +784,7 @@ namespace internal {
/* AggregateError */ \
T(AllPromisesRejected, "All promises were rejected") \
T(CannotDeepFreezeObject, "Cannot DeepFreeze object of type %") \
@@ -210,7 +209,7 @@ diff --git a/v8/src/common/message-template.h b/v8/src/common/message-template.h
diff --git a/v8/src/debug/debug-interface.cc b/v8/src/debug/debug-interface.cc
--- a/v8/src/debug/debug-interface.cc
+++ b/v8/src/debug/debug-interface.cc
-@@ -1090,6 +1090,11 @@ void SetAsyncEventDelegate(Isolate* v8_isolate, AsyncEventDelegate* delegate) {
+@@ -1101,6 +1101,11 @@ void SetAsyncEventDelegate(Isolate* v8_isolate, AsyncEventDelegate* delegate) {
reinterpret_cast(v8_isolate)->set_async_event_delegate(delegate);
}
@@ -260,7 +259,7 @@ diff --git a/v8/src/debug/debug.h b/v8/src/debug/debug.h
diff --git a/v8/src/execution/messages.cc b/v8/src/execution/messages.cc
--- a/v8/src/execution/messages.cc
+++ b/v8/src/execution/messages.cc
-@@ -488,6 +488,7 @@ MaybeHandle MessageFormatter::TryFormat(
+@@ -495,6 +495,7 @@ MaybeHandle MessageFormatter::TryFormat(
MessageTemplate::kUndefinedOrNullToObject,
MessageTemplate::kUnexpectedStrictReserved,
MessageTemplate::kUnexpectedTokenIdentifier,
@@ -271,7 +270,7 @@ diff --git a/v8/src/execution/messages.cc b/v8/src/execution/messages.cc
diff --git a/v8/src/inspector/v8-debugger-agent-impl.cc b/v8/src/inspector/v8-debugger-agent-impl.cc
--- a/v8/src/inspector/v8-debugger-agent-impl.cc
+++ b/v8/src/inspector/v8-debugger-agent-impl.cc
-@@ -1697,6 +1697,14 @@ Response V8DebuggerAgentImpl::setAsyncCallStackDepth(int depth) {
+@@ -1703,6 +1703,14 @@ Response V8DebuggerAgentImpl::setAsyncCallStackDepth(int depth) {
return Response::Success();
}
diff --git a/build/patches/Enables-keyword-based-site-search-on-Android-devices.patch b/build/patches/Enables-keyword-based-site-search-on-Android-devices.patch
index 32bc496c..f36fce91 100644
--- a/build/patches/Enables-keyword-based-site-search-on-Android-devices.patch
+++ b/build/patches/Enables-keyword-based-site-search-on-Android-devices.patch
@@ -13,7 +13,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
diff --git a/components/omnibox/common/android/java/src/org/chromium/components/omnibox/OmniboxFeatures.java b/components/omnibox/common/android/java/src/org/chromium/components/omnibox/OmniboxFeatures.java
--- a/components/omnibox/common/android/java/src/org/chromium/components/omnibox/OmniboxFeatures.java
+++ b/components/omnibox/common/android/java/src/org/chromium/components/omnibox/OmniboxFeatures.java
-@@ -125,7 +125,7 @@ public class OmniboxFeatures {
+@@ -128,7 +128,7 @@ public class OmniboxFeatures {
newFlag(OmniboxFeatureList.POST_DELAYED_TASK_FOCUS_TAB, FeatureState.ENABLED_IN_PROD);
public static final CachedFlag sOmniboxSiteSearch =
diff --git a/build/patches/Experimental-user-scripts-support.patch b/build/patches/Experimental-user-scripts-support.patch
index ef37a284..eefae613 100644
--- a/build/patches/Experimental-user-scripts-support.patch
+++ b/build/patches/Experimental-user-scripts-support.patch
@@ -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",
-@@ -724,6 +728,7 @@ if (_is_default_toolchain) {
+@@ -729,6 +733,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",
-@@ -1755,6 +1760,7 @@ if (_is_default_toolchain) {
+@@ -1769,6 +1774,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
-@@ -147,6 +147,11 @@ found in the LICENSE file.
+@@ -153,6 +153,11 @@ found in the LICENSE file.
android:key="useragent_settings"
android:order="20"
android:title="@string/prefs_useragent_settings"/>
@@ -276,7 +276,7 @@ diff --git a/chrome/android/java/res/xml/main_preferences.xml b/chrome/android/j
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/download/DownloadUtils.java b/chrome/android/java/src/org/chromium/chrome/browser/download/DownloadUtils.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/download/DownloadUtils.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/download/DownloadUtils.java
-@@ -81,6 +81,7 @@ import org.chromium.ui.base.DeviceFormFactor;
+@@ -82,6 +82,7 @@ import org.chromium.ui.base.DeviceFormFactor;
import org.chromium.ui.base.MimeTypeUtils;
import org.chromium.ui.widget.Toast;
import org.chromium.url.GURL;
@@ -284,7 +284,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/download/Downlo
import java.io.File;
import java.util.Locale;
-@@ -466,6 +467,12 @@ public class DownloadUtils {
+@@ -460,6 +461,12 @@ public class DownloadUtils {
* @param req The {@link DownloadOpenRequest} with all open-file parameters.
*/
private static boolean doOpenFile(DownloadOpenRequest req) {
@@ -300,18 +300,18 @@ 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
-@@ -155,6 +155,8 @@ import java.util.Date;
+@@ -154,6 +154,8 @@ import java.util.Date;
import java.util.List;
import java.util.Locale;
+import org.chromium.chrome.browser.user_scripts.UserScriptsUtils;
+
/**
- * Handles the initialization dependences of the browser process. This is meant to handle the
+ * Handles the initialization dependencies 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
-@@ -642,6 +644,8 @@ public class ProcessInitializationHandler {
+@@ -639,6 +641,8 @@ public class ProcessInitializationHandler {
- DefaultBrowserInfo.initBrowserFetcher();
+ StorageSystem.recordStorageType();
+ UserScriptsUtils.Initialize();
+
@@ -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
-@@ -3582,6 +3582,13 @@ static_library("browser") {
+@@ -3384,6 +3384,13 @@ static_library("browser") {
]
deps += [ "//chrome/android/modules/dev_ui/provider:native" ]
}
@@ -351,11 +351,11 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
+ }
} else {
#!is_android
- sources += [
+ deps += [
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
-@@ -193,6 +193,7 @@
+@@ -198,6 +198,7 @@
#include "components/ui_devtools/switches.h"
#include "components/variations/variations_switches.h"
#include "components/version_info/channel.h"
@@ -366,7 +366,7 @@ 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
-@@ -267,6 +267,7 @@
+@@ -271,6 +271,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"
@@ -374,7 +374,7 @@ diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browse
#else // BUILDFLAG(IS_ANDROID)
#include "chrome/browser/actor/ui/actor_ui_state_manager_prefs.h"
#include "chrome/browser/desktop_to_mobile_promos/promos_utils.h" // nogncheck crbug.com/1125897
-@@ -1857,6 +1858,9 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry,
+@@ -1799,6 +1800,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
-@@ -96,6 +96,9 @@ source_set("profile") {
+@@ -99,6 +99,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
-@@ -602,6 +602,11 @@
+@@ -608,6 +608,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());
}
-@@ -1474,6 +1479,10 @@ void ChromeBrowserMainExtraPartsProfiles::
+@@ -1486,6 +1491,10 @@ void ChromeBrowserMainExtraPartsProfiles::
#endif
WebDataServiceFactory::GetInstance();
webrtc_event_logging::WebRtcEventLogManagerKeyedServiceFactory::GetInstance();
@@ -437,7 +437,7 @@ diff --git a/chrome/browser/profiles/profile_manager.cc b/chrome/browser/profile
#if BUILDFLAG(ENABLE_SESSION_SERVICE)
#include "chrome/browser/sessions/app_session_service_factory.h"
#include "chrome/browser/sessions/session_service_factory.h"
-@@ -1580,6 +1584,13 @@ void ProfileManager::DoFinalInitForServices(Profile* profile,
+@@ -1612,6 +1616,13 @@ void ProfileManager::DoFinalInitForServices(Profile* profile,
// initializing the supervised flag if necessary).
ChildAccountServiceFactory::GetForProfile(profile)->Init();
ListFamilyMembersServiceFactory::GetForProfile(profile)->Init();
@@ -525,7 +525,7 @@ diff --git a/chrome/browser/ui/webui/chrome_web_ui_configs.cc b/chrome/browser/u
#if BUILDFLAG(ENABLE_WEBUI_CERTIFICATE_VIEWER)
#include "chrome/browser/ui/webui/certificate_viewer/certificate_viewer_ui.h"
-@@ -457,7 +460,9 @@ void RegisterChromeWebUIConfigs() {
+@@ -461,7 +464,9 @@ void RegisterChromeWebUIConfigs() {
map.AddWebUIConfig(
std::make_unique());
#endif
@@ -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
-@@ -157,6 +157,7 @@ template("chrome_extra_paks") {
+@@ -158,6 +158,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",
]
-@@ -185,6 +186,7 @@ template("chrome_extra_paks") {
+@@ -187,6 +188,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
-@@ -268,6 +268,11 @@
+@@ -269,6 +269,11 @@
#include "chrome/renderer/media/chrome_key_systems.h"
#endif
@@ -597,8 +597,8 @@ diff --git a/chrome/renderer/chrome_content_renderer_client.cc b/chrome/renderer
using autofill::AutofillAgent;
using autofill::PasswordAutofillAgent;
using autofill::PasswordGenerationAgent;
-@@ -437,6 +442,14 @@ void ChromeContentRendererClient::RenderThreadStarted() {
- WebString::FromASCII(extensions::kExtensionScheme));
+@@ -438,6 +443,14 @@ void ChromeContentRendererClient::RenderThreadStarted() {
+ WebString::FromAscii(extensions::kExtensionScheme));
#endif // BUILDFLAG(ENABLE_EXTENSIONS_CORE)
+#if BUILDFLAG(IS_ANDROID)
@@ -612,7 +612,7 @@ diff --git a/chrome/renderer/chrome_content_renderer_client.cc b/chrome/renderer
#if BUILDFLAG(ENABLE_SPELLCHECK)
if (!spellcheck_)
InitSpellCheck();
-@@ -635,6 +648,15 @@ void ChromeContentRendererClient::RenderFrameCreated(
+@@ -636,6 +649,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
-@@ -1396,6 +1418,17 @@ void ChromeContentRendererClient::RunScriptsAtDocumentStart(
+@@ -1398,6 +1420,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(
-@@ -1405,6 +1438,17 @@ void ChromeContentRendererClient::RunScriptsAtDocumentEnd(
+@@ -1407,6 +1440,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(
-@@ -1414,6 +1458,17 @@ void ChromeContentRendererClient::RunScriptsAtDocumentIdle(
+@@ -1416,6 +1460,17 @@ void ChromeContentRendererClient::RunScriptsAtDocumentIdle(
render_frame);
// |render_frame| might be dead by now.
#endif
@@ -11491,7 +11491,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
-@@ -1281,6 +1281,12 @@
+@@ -1293,6 +1293,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 6eeb29be..818bd4da 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
-@@ -92,11 +83,6 @@ Use of this source code is governed by the GPLv3 that can be found in the compon
+@@ -98,11 +89,6 @@ Use of this source code is governed by the GPLv3 that can be found in the compon
+ android:order="17" />
-
@@ -183,7 +183,7 @@ diff --git a/chrome/android/java/res/xml/main_preferences.xml b/chrome/android/j
+ android:title="@string/adblock_settings_title" />
GetOriginalProfile();
adblock::EnsureBackgroundServicesStarted(original_profile);
adblock::RegisterAdblockWebContentObserver<
@@ -1902,10 +1902,10 @@ diff --git a/chrome/common/extensions/api/_permission_features.json b/chrome/com
"autofillPrivate": {
"channel": "trunk",
"extension_types": ["extension", "platform_app"],
-@@ -421,13 +414,6 @@
- // "desktop_android" is not supported.
- "platforms": ["chromeos", "linux", "mac", "win"]
- },
+@@ -543,13 +536,6 @@
+ ]
+ }
+ ],
- "eyeoFilteringPrivate": {
- "channel": "stable",
- "extension_types": ["extension", "platform_app"],
@@ -1913,9 +1913,9 @@ diff --git a/chrome/common/extensions/api/_permission_features.json b/chrome/com
- "664F11343A17783FC7F6DC994BBC8AAF6823739C" // eyeo test extension
- ]
- },
- "favicon": {
+ "lockWindowFullscreenPrivate": {
"channel": "stable",
- "extension_types": ["extension"]
+ "component_extensions_auto_granted": false,
diff --git a/chrome/common/extensions/api/adblock_private.idl b/chrome/common/extensions/api/adblock_private.idl
--- a/chrome/common/extensions/api/adblock_private.idl
+++ b/chrome/common/extensions/api/adblock_private.idl
@@ -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
-@@ -91,14 +91,14 @@ void WebSocketConnectorImpl::Connect(
+@@ -93,15 +93,15 @@ void WebSocketConnectorImpl::Connect(
const uint32_t options =
GetContentClient()->browser()->GetWebSocketOptions(frame);
@@ -13024,7 +13024,8 @@ diff --git a/content/browser/websockets/websocket_connector_impl.cc b/content/br
base::BindOnce(ConnectCalledByContentBrowserClient, requested_protocols,
storage_access_api_status, isolation_info_, frame_id_,
origin_, client_security_state_->Clone(), options,
- std::move(throttling_profile_id)),
+ std::move(throttling_profile_id),
+ network_restrictions_id_),
- url, isolation_info_.site_for_cookies(), user_agent,
+ url, origin_, isolation_info_.site_for_cookies(), user_agent,
std::move(handshake_client));
@@ -13033,7 +13034,7 @@ diff --git a/content/browser/websockets/websocket_connector_impl.cc b/content/br
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
-@@ -1157,7 +1157,7 @@ void ContentBrowserClient::WillCreateURLLoaderFactory(
+@@ -1134,7 +1134,7 @@ void ContentBrowserClient::WillCreateURLLoaderFactory(
DCHECK(browser_context);
}
@@ -13042,7 +13043,7 @@ diff --git a/content/public/browser/content_browser_client.cc b/content/public/b
return false;
}
-@@ -1166,9 +1166,11 @@ uint32_t ContentBrowserClient::GetWebSocketOptions(RenderFrameHost* frame) {
+@@ -1143,9 +1143,11 @@ uint32_t ContentBrowserClient::GetWebSocketOptions(RenderFrameHost* frame) {
}
void ContentBrowserClient::CreateWebSocket(
@@ -13057,7 +13058,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
-@@ -2163,7 +2163,7 @@ class CONTENT_EXPORT ContentBrowserClient {
+@@ -2101,7 +2101,7 @@ class CONTENT_EXPORT ContentBrowserClient {
scoped_refptr navigation_response_task_runner);
// Returns true when the embedder wants to intercept a websocket connection.
@@ -13066,7 +13067,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);
-@@ -2185,9 +2185,11 @@ class CONTENT_EXPORT ContentBrowserClient {
+@@ -2123,9 +2123,11 @@ class CONTENT_EXPORT ContentBrowserClient {
// Always called on the UI thread and only when the Network Service is
// enabled.
virtual void CreateWebSocket(
@@ -13186,7 +13187,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
-@@ -3010,13 +3010,7 @@ void HTMLElement::setSpellcheck(bool enable) {
+@@ -3031,13 +3031,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 11cc2346..195921dc 100644
--- a/build/patches/Fix-chromium-build-bugs.patch
+++ b/build/patches/Fix-chromium-build-bugs.patch
@@ -43,18 +43,18 @@ 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
-@@ -325,6 +325,7 @@ static_library("safe_browsing") {
+@@ -326,6 +326,7 @@ static_library("safe_browsing") {
"//components/version_info",
"//content/public/browser",
"//services/preferences/public/mojom",
+ "//third_party/flatbuffers:flatbuffers",
]
- allow_circular_includes_from += [ "//chrome/browser/ui/safety_hub" ]
+ public_deps += [ "//chrome/browser/security_events" ]
diff --git a/components/component_updater/installer_policies/BUILD.gn b/components/component_updater/installer_policies/BUILD.gn
--- a/components/component_updater/installer_policies/BUILD.gn
+++ b/components/component_updater/installer_policies/BUILD.gn
-@@ -47,6 +47,7 @@ static_library("installer_policies_no_content_deps") {
+@@ -49,6 +49,7 @@ static_library("installer_policies_no_content_deps") {
"//components/update_client",
"//mojo/public/cpp/base:protobuf_support",
"//services/network/public/cpp",
@@ -90,7 +90,7 @@ diff --git a/components/omnibox/browser/autocomplete_classifier.cc b/components/
diff --git a/components/omnibox/browser/omnibox_field_trial.cc b/components/omnibox/browser/omnibox_field_trial.cc
--- a/components/omnibox/browser/omnibox_field_trial.cc
+++ b/components/omnibox/browser/omnibox_field_trial.cc
-@@ -804,11 +804,11 @@ MLConfig& MLConfig::operator=(const MLConfig& other) = default;
+@@ -803,11 +803,11 @@ MLConfig& MLConfig::operator=(const MLConfig& other) = default;
ScopedMLConfigForTesting::ScopedMLConfigForTesting()
: original_config_(std::make_unique(GetMLConfig())) {
@@ -107,10 +107,10 @@ diff --git a/components/omnibox/browser/omnibox_field_trial.cc b/components/omni
diff --git a/components/safe_browsing/content/renderer/phishing_classifier/phishing_image_embedder.cc b/components/safe_browsing/content/renderer/phishing_classifier/phishing_image_embedder.cc
--- a/components/safe_browsing/content/renderer/phishing_classifier/phishing_image_embedder.cc
+++ b/components/safe_browsing/content/renderer/phishing_classifier/phishing_image_embedder.cc
-@@ -57,19 +57,9 @@ void PhishingImageEmbedder::BeginImageEmbedding(
+@@ -56,19 +56,9 @@ void PhishingImageEmbedder::BeginImageEmbedding(
+
void PhishingImageEmbedder::OnPlaybackDone(bool can_extract_visual_features,
std::unique_ptr bitmap) {
- #if BUILDFLAG(BUILD_WITH_TFLITE_LIB)
- if (bitmap) {
- bitmap_ = std::move(bitmap);
-
@@ -127,13 +127,13 @@ diff --git a/components/safe_browsing/content/renderer/phishing_classifier/phish
+ // (UAZO) removed due error:
+ // no member named 'ApplyVisualTfLiteModelImageEmbedding' in 'safe_browsing::Scorer'
+ RunFailureCallback();
- #else
- RunFailureCallback();
- #endif
+ }
+
+ void PhishingImageEmbedder::CancelPendingImageEmbedding() {
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
-@@ -371,6 +371,7 @@ void BindDateTimeChooserForFrame(
+@@ -372,6 +372,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
-@@ -242,6 +242,7 @@ base::expected CreateUnexpectedError(
+@@ -241,6 +241,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 fc0ecd13..b9533544 100644
--- a/build/patches/Fonts-fingerprinting-mitigation.patch
+++ b/build/patches/Fonts-fingerprinting-mitigation.patch
@@ -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
-@@ -449,6 +449,9 @@ BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(
+@@ -456,6 +456,9 @@ BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(
BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(kFencedFrames);
@@ -447,7 +447,7 @@ diff --git a/third_party/blink/renderer/platform/fonts/skia/font_cache_skia.cc b
namespace blink {
AtomicString ToAtomicString(const SkString& str) {
- return AtomicString::FromUTF8(base::as_string_view(str));
+ return AtomicString::FromUtf8(base::as_string_view(str));
}
+sk_sp ReturnIfAllowed(sk_sp typeface, const std::string& name, bool check_fonts) {
diff --git a/build/patches/Guard-for-user-agent-reduction.patch b/build/patches/Guard-for-user-agent-reduction.patch
index a4d29f8f..fe723ba1 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
-@@ -4518,15 +4518,15 @@
+@@ -4627,15 +4627,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 a6c91d54..6330cd15 100644
--- a/build/patches/Hardening-against-incognito-mode-detection.patch
+++ b/build/patches/Hardening-against-incognito-mode-detection.patch
@@ -11,7 +11,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
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
-@@ -1755,7 +1755,7 @@ int64_t QuotaManagerImpl::GetQuotaForStorageKey(
+@@ -1709,7 +1709,7 @@ int64_t QuotaManagerImpl::GetQuotaForStorageKey(
return kNoLimit;
}
@@ -20,7 +20,7 @@ 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;
}
-@@ -2416,8 +2416,8 @@ void QuotaManagerImpl::SimulateStoragePressure(const url::Origin& origin_url) {
+@@ -2357,8 +2357,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.
diff --git a/build/patches/History-number-of-days-privacy-setting.patch b/build/patches/History-number-of-days-privacy-setting.patch
index bf3a2c52..bef6bc42 100644
--- a/build/patches/History-number-of-days-privacy-setting.patch
+++ b/build/patches/History-number-of-days-privacy-setting.patch
@@ -57,7 +57,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
-@@ -69,6 +69,7 @@ import org.chromium.components.browser_ui.settings.ChromeSwitchPreference;
+@@ -70,6 +70,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 +65,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;
-@@ -103,6 +104,9 @@ import org.chromium.chrome.browser.preferences.ChromeSharedPreferences;
+@@ -105,6 +106,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 +75,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
-@@ -168,6 +172,8 @@ public class PrivacySettings extends ChromeBaseSettingsFragment
+@@ -176,6 +180,8 @@ public class PrivacySettings extends ChromeBaseSettingsFragment
private ChromeSwitchPreference allowCustomTabIntentsPref;
private ChromeSwitchPreference openExternalLinksPref;
@@ -84,7 +84,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));
-@@ -305,6 +311,40 @@ public class PrivacySettings extends ChromeBaseSettingsFragment
+@@ -313,6 +319,40 @@ public class PrivacySettings extends ChromeBaseSettingsFragment
Preference syncAndServicesLink = findPreference(PREF_SYNC_AND_SERVICES_LINK);
syncAndServicesLink.setSummary(buildFooterString());
@@ -125,8 +125,8 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
Preference thirdPartyCookies = findPreference(PREF_THIRD_PARTY_COOKIES);
if (thirdPartyCookies != null) {
thirdPartyCookies
-@@ -660,6 +700,29 @@ public class PrivacySettings extends ChromeBaseSettingsFragment
- || ((System.currentTimeMillis() - updateTimeMs) < TimeUnit.DAYS.toMillis(90));
+@@ -701,6 +741,29 @@ public class PrivacySettings extends ChromeBaseSettingsFragment
+ builder.append(text, new ChromeBulletSpan(context), 0);
}
+ class TimeFrequencySpinnerOption {
@@ -158,15 +158,15 @@ 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
-@@ -44,6 +44,7 @@
- #include "components/content_settings/core/common/pref_names.h"
+@@ -45,6 +45,7 @@
+ #include "components/contextual_tasks/public/prefs.h"
#include "components/dom_distiller/core/pref_names.h"
#include "components/drive/drive_pref_names.h"
+#include "components/history/core/common/pref_names.h"
#include "components/embedder_support/pref_names.h"
#include "components/language/core/browser/pref_names.h"
#include "components/live_caption/pref_names.h"
-@@ -268,6 +269,9 @@ const PrefsUtil::TypedPrefMap& PrefsUtil::GetAllowlistedKeys() {
+@@ -271,6 +272,9 @@ const PrefsUtil::TypedPrefMap& PrefsUtil::GetAllowlistedKeys() {
(*s_allowlist)[::prefs::kSplitViewDragAndDropEnabled] =
settings_api::PrefType::kBoolean;
@@ -191,7 +191,7 @@ diff --git a/chrome/browser/history/history_service_factory.cc b/chrome/browser/
diff --git a/chrome/browser/profiles/profile_impl.cc b/chrome/browser/profiles/profile_impl.cc
--- a/chrome/browser/profiles/profile_impl.cc
+++ b/chrome/browser/profiles/profile_impl.cc
-@@ -378,6 +378,7 @@ std::unique_ptr Profile::CreateProfile(const base::FilePath& path,
+@@ -383,6 +383,7 @@ std::unique_ptr Profile::CreateProfile(const base::FilePath& path,
void ProfileImpl::RegisterProfilePrefs(
user_prefs::PrefRegistrySyncable* registry) {
registry->RegisterBooleanPref(prefs::kSavingBrowserHistoryDisabled, false);
@@ -202,7 +202,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
-@@ -58,6 +58,15 @@
+@@ -55,6 +55,15 @@
sub-label="$i18n{siteSettingsSublabel}"
on-click="onSiteSettingsLinkRowClick_"
role-description="$i18n{subpageArrowRoleDescription}">
@@ -253,7 +253,7 @@ diff --git a/chrome/browser/resources/settings/privacy_page/privacy_page.ts b/ch
showClearBrowsingDataDialog_: Boolean,
showPrivacyGuideDialog_: Boolean,
-@@ -90,6 +108,7 @@ export class SettingsPrivacyPageElement extends SettingsPrivacyPageElementBase {
+@@ -95,6 +113,7 @@ export class SettingsPrivacyPageElement extends SettingsPrivacyPageElementBase {
};
}
@@ -264,7 +264,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
-@@ -1344,6 +1344,18 @@ Your Google account may have other forms of browsing history like searches and a
+@@ -1387,6 +1387,18 @@ Your Google account may have other forms of browsing history like searches and a
Browsing history
@@ -286,7 +286,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
-@@ -2337,6 +2337,11 @@ void AddPrivacyStrings(content::WebUIDataSource* html_source,
+@@ -2339,6 +2339,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},
@@ -425,7 +425,7 @@ new file mode 100644
diff --git a/components/history/core/browser/browsing_history_service.cc b/components/history/core/browser/browsing_history_service.cc
--- a/components/history/core/browser/browsing_history_service.cc
+++ b/components/history/core/browser/browsing_history_service.cc
-@@ -805,7 +805,7 @@ void BrowsingHistoryService::QueryComplete(
+@@ -804,7 +804,7 @@ void BrowsingHistoryService::QueryComplete(
// Exhausted the local results; continue querying to get remote results.
// Start querying at the point where local history ends.
base::Time expiry_treshold =
@@ -562,7 +562,7 @@ diff --git a/components/history/core/browser/history_service.cc b/components/his
#include "components/history/core/browser/download_row.h"
#include "components/history/core/browser/features.h"
#include "components/history/core/browser/history_backend.h"
-@@ -509,6 +512,33 @@ base::CancelableTaskTracker::TaskId HistoryService::ScheduleDBTask(
+@@ -511,6 +514,33 @@ base::CancelableTaskTracker::TaskId HistoryService::ScheduleDBTask(
return task_id;
}
@@ -596,7 +596,7 @@ diff --git a/components/history/core/browser/history_service.cc b/components/his
void HistoryService::ScheduleDBTaskForUI(
base::OnceCallback callback) {
DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
-@@ -1434,6 +1464,9 @@ void HistoryService::Cleanup() {
+@@ -1436,6 +1466,9 @@ void HistoryService::Cleanup() {
return;
}
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 cbe3a2be..e325a437 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.
-@@ -1095,16 +1095,6 @@ void SharedWorkerHost::OnClientStateChanged() {
+@@ -1107,16 +1107,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;
}
-@@ -1159,17 +1149,6 @@ void SharedWorkerHost::OnClientConnectionLost() {
+@@ -1171,17 +1161,6 @@ void SharedWorkerHost::OnClientConnectionLost() {
// the freeze state to freeze the worker if no active clients remain.
OnClientStateChanged();
}
diff --git a/build/patches/Improve-the-browser-sandbox.patch b/build/patches/Improve-the-browser-sandbox.patch
index e7cac5b2..9d608df3 100644
--- a/build/patches/Improve-the-browser-sandbox.patch
+++ b/build/patches/Improve-the-browser-sandbox.patch
@@ -18,7 +18,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
diff --git a/chrome/browser/net/system_network_context_manager.cc b/chrome/browser/net/system_network_context_manager.cc
--- a/chrome/browser/net/system_network_context_manager.cc
+++ b/chrome/browser/net/system_network_context_manager.cc
-@@ -361,7 +361,7 @@ namespace features {
+@@ -358,7 +358,7 @@ namespace features {
// this feature is disabled any failed launches in the current browser session
// will still result in sandbox being disabled for the lifetime of the running
// browser.
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 6967dbd6..df0c8044 100644
--- a/build/patches/Increase-number-of-autocomplete-matches-to-10.patch
+++ b/build/patches/Increase-number-of-autocomplete-matches-to-10.patch
@@ -30,7 +30,7 @@ diff --git a/components/omnibox/browser/autocomplete_result.cc b/components/omni
diff --git a/components/omnibox/browser/omnibox_field_trial.cc b/components/omnibox/browser/omnibox_field_trial.cc
--- a/components/omnibox/browser/omnibox_field_trial.cc
+++ b/components/omnibox/browser/omnibox_field_trial.cc
-@@ -173,7 +173,11 @@ void OmniboxFieldTrial::GetActiveSuggestFieldTrialHashes(
+@@ -172,7 +172,11 @@ void OmniboxFieldTrial::GetActiveSuggestFieldTrialHashes(
size_t OmniboxFieldTrial::GetProviderMaxMatches(
AutocompleteProvider::Type provider) {
diff --git a/build/patches/Internal-firewall.patch b/build/patches/Internal-firewall.patch
index 8bc166a8..7d19ee26 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
-@@ -2418,6 +2418,7 @@ static_library("browser") {
+@@ -2268,6 +2268,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
-@@ -240,6 +240,7 @@
+@@ -246,6 +246,7 @@
#include "sandbox/policy/features.h"
#include "sandbox/policy/switches.h"
#include "services/device/public/cpp/device_features.h"
@@ -82,7 +82,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
diff --git a/chrome/browser/download/android/download_controller.cc b/chrome/browser/download/android/download_controller.cc
--- a/chrome/browser/download/android/download_controller.cc
+++ b/chrome/browser/download/android/download_controller.cc
-@@ -193,6 +193,36 @@ void LogAppVerificationPromptToPrefs(download::DownloadItem* item) {
+@@ -194,6 +194,36 @@ void LogAppVerificationPromptToPrefs(download::DownloadItem* item) {
update->Append(base::TimeToValue(base::Time::Now()));
}
@@ -119,7 +119,7 @@ diff --git a/chrome/browser/download/android/download_controller.cc b/chrome/bro
} // namespace
static void JNI_DownloadController_CancelDownload(
-@@ -228,7 +258,7 @@ static void JNI_DownloadController_DownloadUrl(
+@@ -229,7 +259,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
-@@ -1217,6 +1217,7 @@ component("net") {
+@@ -1221,6 +1221,7 @@ component("net") {
"//components/unexportable_keys",
"//components/network_session_configurator/common",
"//net/http:transport_security_state_generated_files",
@@ -336,7 +336,7 @@ diff --git a/net/url_request/url_request_http_job.cc b/net/url_request/url_reque
}
URLRequestHttpJob::~URLRequestHttpJob() {
-@@ -734,6 +737,18 @@ void URLRequestHttpJob::MaybeStartTransactionInternal(int result) {
+@@ -735,6 +738,18 @@ void URLRequestHttpJob::MaybeStartTransactionInternal(int result) {
void URLRequestHttpJob::StartTransactionInternal() {
DCHECK(!override_response_headers_);
@@ -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
-@@ -107,6 +107,7 @@
+@@ -108,6 +108,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"
-@@ -1869,6 +1870,9 @@ void NetworkContext::OnNewSCTAuditingReportSent() {
+@@ -1939,6 +1940,9 @@ void NetworkContext::OnNewSCTAuditingReportSent() {
void NetworkContext::CreateUDPSocket(
mojo::PendingReceiver receiver,
mojo::PendingRemote listener) {
@@ -1687,8 +1687,8 @@ diff --git a/services/network/network_context.cc b/services/network/network_cont
socket_factory_->CreateUDPSocket(std::move(receiver), std::move(listener));
}
-@@ -1882,6 +1886,17 @@ void NetworkContext::CreateRestrictedUDPSocket(
- bool allow_multicast,
+@@ -1953,6 +1957,17 @@ void NetworkContext::CreateRestrictedUDPSocket(
+ bool allow_source_specific_multicast,
CreateRestrictedUDPSocketCallback callback) {
// SimpleHostResolver is transitively owned by |this|.
+ if (base::FeatureList::IsEnabled(firewall::features::kEnableFirewall)) {
@@ -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,
-@@ -1894,6 +1909,17 @@ void NetworkContext::CreateTCPServerSocket(
+@@ -1965,6 +1980,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),
-@@ -1908,6 +1934,21 @@ void NetworkContext::CreateTCPConnectedSocket(
+@@ -1979,6 +2005,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),
-@@ -1919,6 +1960,20 @@ void NetworkContext::CreateTCPBoundSocket(
+@@ -1990,6 +2031,20 @@ void NetworkContext::CreateTCPBoundSocket(
const net::MutableNetworkTrafficAnnotationTag& traffic_annotation,
mojo::PendingReceiver receiver,
CreateTCPBoundSocketCallback callback) {
@@ -1766,10 +1766,10 @@ diff --git a/services/network/network_context.cc b/services/network/network_cont
socket_factory_->CreateTCPBoundSocket(
local_addr,
static_cast(traffic_annotation),
-@@ -1985,6 +2040,24 @@ void NetworkContext::CreateWebSocket(
- mojo::PendingRemote auth_handler,
+@@ -2057,6 +2112,24 @@ void NetworkContext::CreateWebSocket(
mojo::PendingRemote header_client,
- const std::optional& throttling_profile_id) {
+ const std::optional& throttling_profile_id,
+ const std::optional& network_restrictions_id) {
+ if (base::FeatureList::IsEnabled(firewall::features::kEnableFirewall)) {
+ auto firewall_service = std::make_unique(nullptr);
+ if (!firewall_service->IsAllowed(traffic_annotation.unique_id_hash_code)) {
@@ -2089,7 +2089,7 @@ diff --git a/third_party/blink/renderer/platform/loader/fetch/url_loader/url_loa
diff --git a/tools/traffic_annotation/scripts/auditor/auditor.py b/tools/traffic_annotation/scripts/auditor/auditor.py
--- a/tools/traffic_annotation/scripts/auditor/auditor.py
+++ b/tools/traffic_annotation/scripts/auditor/auditor.py
-@@ -869,6 +869,7 @@ class ArchivedAnnotation:
+@@ -873,6 +873,7 @@ class ArchivedAnnotation:
# the XML. This is used to serialize/deserialize the XML.
FIELDS = [
"id", "added_in_milestone", "type", "second_id", "reserved",
diff --git a/build/patches/JIT-site-settings.patch b/build/patches/JIT-site-settings.patch
index 9926aebb..c97c5f71 100644
--- a/build/patches/JIT-site-settings.patch
+++ b/build/patches/JIT-site-settings.patch
@@ -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
-@@ -4344,12 +4344,17 @@ UrlInfo NavigationRequest::GetUrlInfo() {
+@@ -4412,11 +4412,16 @@ UrlInfo NavigationRequest::GetUrlInfo() {
// Compute the WebExposedIsolationInfo that will be bundled into UrlInfo.
auto web_exposed_isolation_info = ComputeWebExposedIsolationInfo();
@@ -303,17 +303,16 @@ diff --git a/content/browser/renderer_host/navigation_request.cc b/content/brows
url_info_init.WithOACHeaderRequest(oac_header_request)
.WithCOOPSiteIsolation(ShouldRequestSiteIsolationForCOOP())
.WithWebExposedIsolationInfo(web_exposed_isolation_info)
- .WithCrossOriginIsolationKey(cross_origin_isolation_key)
- .WithIsPdf(is_pdf_);
+ .WithIsPdf(is_pdf_)
+ .WithTopOrigin(top_origin);
- // Navigations with SiteInstances which have fixed storage partition (e.g.
- // tags) should always stay in the current StoragePartition.
+ // Compute the CrossOriginIsolationKey for the navigation.
+ std::optional
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
-@@ -3630,6 +3630,9 @@ void RenderProcessHostImpl::AppendRendererCommandLine(
+@@ -3656,6 +3656,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 33d6d521..a1d53fe8 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
-@@ -1261,11 +1261,9 @@
+@@ -1288,11 +1288,9 @@
status: "stable",
},
{
diff --git a/build/patches/Keep-Manta-Service-Disabled.patch b/build/patches/Keep-Manta-Service-Disabled.patch
index 3b85f162..2cc9207c 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
-@@ -1058,7 +1058,6 @@ void ChromeBrowserMainExtraPartsProfiles::
+@@ -1082,7 +1082,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 c875ed59..2f441404 100644
--- a/build/patches/Keep-disabled-CpuPerformance.patch
+++ b/build/patches/Keep-disabled-CpuPerformance.patch
@@ -13,7 +13,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
-@@ -1348,12 +1348,7 @@
+@@ -1409,12 +1409,7 @@
// CPU Performance API, work in progress.
// https://chromestatus.com/feature/5189864286978048
// https://github.com/explainers-by-googlers/cpu-performance
diff --git a/build/patches/Keep-disabled-FetchLaterAPI.patch b/build/patches/Keep-disabled-FetchLaterAPI.patch
index 0d6cead7..258abe3a 100644
--- a/build/patches/Keep-disabled-FetchLaterAPI.patch
+++ b/build/patches/Keep-disabled-FetchLaterAPI.patch
@@ -22,9 +22,9 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
diff --git a/content/browser/loader/keep_alive_url_loader.cc b/content/browser/loader/keep_alive_url_loader.cc
--- a/content/browser/loader/keep_alive_url_loader.cc
+++ b/content/browser/loader/keep_alive_url_loader.cc
-@@ -48,6 +48,36 @@
- #include "third_party/abseil-cpp/absl/container/flat_hash_map.h"
+@@ -51,6 +51,36 @@
#include "third_party/blink/public/common/features.h"
+ #include "url/origin.h"
+namespace {
+ constexpr net::NetworkTrafficAnnotationTag kTrafficAnnotation =
@@ -59,7 +59,7 @@ diff --git a/content/browser/loader/keep_alive_url_loader.cc b/content/browser/l
namespace features {
// See third_party/blink/renderer/core/fetch/retry_options.idl for details of
-@@ -435,7 +465,6 @@ KeepAliveURLLoader::KeepAliveURLLoader(
+@@ -438,7 +468,6 @@ KeepAliveURLLoader::KeepAliveURLLoader(
forwarding_client_(
std::make_unique(this,
std::move(forwarding_client))),
@@ -67,7 +67,7 @@ diff --git a/content/browser/loader/keep_alive_url_loader.cc b/content/browser/l
network_loader_factory_(std::move(network_loader_factory)),
stored_url_load_(std::make_unique()),
policy_container_host_(std::move(policy_container_host)),
-@@ -512,7 +541,7 @@ void KeepAliveURLLoader::StartInternal(bool is_retry) {
+@@ -515,7 +544,7 @@ void KeepAliveURLLoader::StartInternal(bool is_retry) {
url_loader_ = blink::ThrottlingURLLoader::CreateLoaderAndStart(
network_loader_factory_, throttles_getter_.Run(), request_id_, options_,
&resource_request_, forwarding_client_.get(),
@@ -79,7 +79,7 @@ diff --git a/content/browser/loader/keep_alive_url_loader.cc b/content/browser/l
diff --git a/content/browser/loader/keep_alive_url_loader.h b/content/browser/loader/keep_alive_url_loader.h
--- a/content/browser/loader/keep_alive_url_loader.h
+++ b/content/browser/loader/keep_alive_url_loader.h
-@@ -431,9 +431,6 @@ class CONTENT_EXPORT KeepAliveURLLoader
+@@ -427,9 +427,6 @@ class CONTENT_EXPORT KeepAliveURLLoader
// disconnected from the remote of URLLoader in the renderer.
base::OneShotTimer disconnected_loader_timer_;
@@ -119,7 +119,7 @@ diff --git a/third_party/blink/renderer/core/fetch/fetch_manager.cc b/third_part
void ResponseResolver::RejectBecauseFailed(
std::optional devtools_request_id,
std::optional issue_id,
-@@ -1312,10 +1319,20 @@ void FetchManager::Loader::Failed(
+@@ -1309,10 +1316,20 @@ void FetchManager::Loader::Failed(
if (response_resolver_) {
ScriptState::Scope scope(GetScriptState());
if (dom_exception) {
@@ -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
-@@ -2565,8 +2565,8 @@
+@@ -2647,8 +2647,8 @@
{
// The Blink runtime-enabled feature name for the API's IDL.
// https://chromestatus.com/feature/4654499737632768
diff --git a/build/patches/Keep-disabled-WebViewMediaIntegrityApi.patch b/build/patches/Keep-disabled-WebViewMediaIntegrityApi.patch
index 394b8f93..b5764e3c 100644
--- a/build/patches/Keep-disabled-WebViewMediaIntegrityApi.patch
+++ b/build/patches/Keep-disabled-WebViewMediaIntegrityApi.patch
@@ -15,7 +15,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
diff --git a/android_webview/renderer/aw_content_renderer_client.cc b/android_webview/renderer/aw_content_renderer_client.cc
--- a/android_webview/renderer/aw_content_renderer_client.cc
+++ b/android_webview/renderer/aw_content_renderer_client.cc
-@@ -231,11 +231,6 @@ void AwContentRendererClient::
+@@ -230,11 +230,6 @@ void AwContentRendererClient::
autofill::features::kAutofillPolicyControlledFeatureManualText)) {
blink::WebRuntimeFeatures::EnableManualText(true);
}
diff --git a/build/patches/Keep-empty-tabs-between-sessions.patch b/build/patches/Keep-empty-tabs-between-sessions.patch
index d622a616..c81693f3 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
-@@ -1304,7 +1304,7 @@ public class MultiWindowUtils implements ActivityStateListener {
+@@ -1305,7 +1305,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
-@@ -1932,13 +1932,6 @@ public class TabPersistentStoreImpl implements TabPersistentStore {
+@@ -1939,13 +1939,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 85388aa9..15e6ad03 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
-@@ -5856,10 +5856,10 @@
+@@ -5584,10 +5584,10 @@
"expiry_milestone": -1
},
{
diff --git a/build/patches/Keyboard-protection-flag.patch b/build/patches/Keyboard-protection-flag.patch
index 64eefc52..5f776ef2 100644
--- a/build/patches/Keyboard-protection-flag.patch
+++ b/build/patches/Keyboard-protection-flag.patch
@@ -23,7 +23,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
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
-@@ -991,6 +991,11 @@ public final class ProductionSupportedFlagList {
+@@ -993,6 +993,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."),
@@ -232,7 +232,7 @@ diff --git a/third_party/blink/renderer/core/events/keyboard_event.h b/third_par
diff --git a/ui/base/ui_base_features.cc b/ui/base/ui_base_features.cc
--- a/ui/base/ui_base_features.cc
+++ b/ui/base/ui_base_features.cc
-@@ -140,6 +140,14 @@ bool ShouldUseCursorEventHook() {
+@@ -145,6 +145,14 @@ bool ShouldUseCursorEventHook() {
// Allows system keyboard event capture via the keyboard lock API.
BASE_FEATURE(kSystemKeyboardLock, base::FEATURE_ENABLED_BY_DEFAULT);
diff --git a/build/patches/Lock-Profile-Cookie-Database.patch b/build/patches/Lock-Profile-Cookie-Database.patch
index 74260cdd..9674fd1d 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
-@@ -1390,6 +1390,14 @@ void ProfileNetworkContextService::ConfigureNetworkContextParamsInternal(
+@@ -1414,6 +1414,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
-@@ -3269,7 +3269,7 @@ NetworkContext::MakeSessionCleanupCookieStore() const {
+@@ -3346,7 +3346,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
-@@ -369,6 +369,14 @@ struct NetworkContextParams {
+@@ -370,6 +370,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 75269105..5323811e 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
-@@ -5074,6 +5074,14 @@ void Document::ProcessBaseElement() {
+@@ -5080,6 +5080,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);
}
-@@ -5091,6 +5099,14 @@ void Document::ProcessBaseElement() {
+@@ -5097,6 +5105,14 @@ void Document::ProcessBaseElement() {
!GetExecutionContext()->GetSecurityOrigin()->CanRequest(
base_element_url)) {
UseCounter::Count(*this, WebFeature::kBaseWithCrossOriginHref);
@@ -72,7 +72,7 @@ diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink
}
}
-@@ -5123,6 +5139,8 @@ void Document::ProcessBaseElement() {
+@@ -5129,6 +5145,8 @@ void Document::ProcessBaseElement() {
UseCounter::Count(*this, WebFeature::kBaseWithOpenBracketInTarget);
}
base_target_ = *target;
@@ -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
-@@ -4084,8 +4084,26 @@ void Element::StripScriptingAttributes(
+@@ -4117,8 +4117,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
-@@ -812,7 +812,8 @@ class CORE_EXPORT Element : public ContainerNode {
+@@ -817,7 +817,8 @@ class CORE_EXPORT Element : public ContainerNode {
virtual bool HasLegalLinkAttribute(const QualifiedName&) const;
// Only called by the parser immediately after element construction.
@@ -137,7 +137,7 @@ diff --git a/third_party/blink/renderer/core/editing/serializers/markup_formatte
#include "third_party/blink/renderer/core/dom/comment.h"
#include "third_party/blink/renderer/core/dom/document.h"
#include "third_party/blink/renderer/core/dom/document_fragment.h"
-@@ -208,6 +210,16 @@ void MarkupFormatter::AppendEndMarkup(StringBuilder& result,
+@@ -245,6 +247,16 @@ void MarkupFormatter::AppendEndMarkup(StringBuilder& result,
void MarkupFormatter::AppendAttributeValue(StringBuilder& result,
const String& attribute,
bool document_is_html) {
@@ -185,7 +185,7 @@ diff --git a/third_party/blink/renderer/core/html/html_base_element.cc b/third_p
diff --git a/third_party/blink/renderer/core/html/html_base_element.h b/third_party/blink/renderer/core/html/html_base_element.h
--- a/third_party/blink/renderer/core/html/html_base_element.h
+++ b/third_party/blink/renderer/core/html/html_base_element.h
-@@ -37,6 +37,8 @@ class CORE_EXPORT HTMLBaseElement final : public HTMLElement {
+@@ -41,6 +41,8 @@ class CORE_EXPORT HTMLBaseElement final : public HTMLElement {
String href() const;
void setHref(const AtomicString&);
@@ -250,7 +250,7 @@ diff --git a/third_party/blink/renderer/core/html/html_iframe_element.cc b/third
diff --git a/third_party/blink/renderer/core/html/html_iframe_element.h b/third_party/blink/renderer/core/html/html_iframe_element.h
--- 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,
+@@ -72,6 +72,8 @@ class CORE_EXPORT HTMLIFrameElement : public HTMLFrameElementBase,
String srcdoc() const;
void setSrcdoc(const V8UnionStringOrTrustedHTML*, ExceptionState&);
@@ -270,7 +270,7 @@ diff --git a/third_party/blink/renderer/core/loader/frame_load_request.cc b/thir
#include "third_party/blink/renderer/core/fileapi/public_url_manager.h"
#include "third_party/blink/renderer/core/frame/local_dom_window.h"
#include "third_party/blink/renderer/core/html/forms/html_form_element.h"
-@@ -149,6 +150,14 @@ void FrameLoadRequest::ResolveBlobURLIfNeeded() {
+@@ -148,6 +149,14 @@ void FrameLoadRequest::ResolveBlobURLIfNeeded() {
const AtomicString& FrameLoadRequest::CleanNavigationTarget(
const AtomicString& target) const {
if (ContainsNewLineAndLessThan(target)) {
@@ -333,7 +333,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
-@@ -3540,6 +3540,12 @@
+@@ -3658,6 +3658,12 @@
name: "MacDisableCtrlHomeEnd",
status: "stable",
},
diff --git a/build/patches/Logcat-crash-reports-UI.patch b/build/patches/Logcat-crash-reports-UI.patch
index 19996004..671efb3f 100644
--- a/build/patches/Logcat-crash-reports-UI.patch
+++ b/build/patches/Logcat-crash-reports-UI.patch
@@ -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
-@@ -667,6 +667,7 @@ static_library("ui") {
+@@ -680,6 +680,7 @@ static_library("ui") {
"//third_party/re2",
"//third_party/webrtc_overrides:webrtc_component",
"//third_party/zlib",
diff --git a/build/patches/Modify-default-preferences.patch b/build/patches/Modify-default-preferences.patch
index 900cedb3..390dc330 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
-@@ -85,6 +85,7 @@
+@@ -89,6 +89,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"
@@ -44,7 +44,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
diff --git a/chrome/browser/background/extensions/background_mode_manager.cc b/chrome/browser/background/extensions/background_mode_manager.cc
--- a/chrome/browser/background/extensions/background_mode_manager.cc
+++ b/chrome/browser/background/extensions/background_mode_manager.cc
-@@ -347,7 +347,7 @@ BackgroundModeManager::~BackgroundModeManager() {
+@@ -348,7 +348,7 @@ BackgroundModeManager::~BackgroundModeManager() {
// static
void BackgroundModeManager::RegisterPrefs(PrefRegistrySimple* registry) {
@@ -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
-@@ -1499,7 +1499,7 @@ void ChromeContentBrowserClient::RegisterLocalStatePrefs(
+@@ -1541,7 +1541,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
-@@ -1364,7 +1364,7 @@ void RegisterProfilePrefsForMigration(
+@@ -1271,7 +1271,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
-@@ -132,7 +132,7 @@ void RegisterBrowserUserPrefs(user_prefs::PrefRegistrySyncable* registry) {
+@@ -134,7 +134,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);
-@@ -213,7 +213,7 @@ void RegisterBrowserUserPrefs(user_prefs::PrefRegistrySyncable* registry) {
+@@ -215,7 +215,7 @@ void RegisterBrowserUserPrefs(user_prefs::PrefRegistrySyncable* registry) {
#endif
registry->RegisterBooleanPref(
@@ -321,7 +321,7 @@ diff --git a/components/security_interstitials/core/features.cc b/components/sec
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
-@@ -388,7 +388,7 @@ void PrimaryAccountManager::RegisterProfilePrefs(PrefRegistrySimple* registry) {
+@@ -363,7 +363,7 @@ void PrimaryAccountManager::RegisterProfilePrefs(PrefRegistrySimple* registry) {
prefs::kGoogleServicesSyncingUsernameMigratedToSignedIn, std::string());
registry->RegisterIntegerPref(prefs::kGoogleServicesSyncingUserMigrationType,
/*SyncToSigninMigrationType::kUnknown=*/0);
diff --git a/build/patches/Move-navigation-bar-to-bottom.patch b/build/patches/Move-navigation-bar-to-bottom.patch
index e6853c38..0dfd0e1e 100644
--- a/build/patches/Move-navigation-bar-to-bottom.patch
+++ b/build/patches/Move-navigation-bar-to-bottom.patch
@@ -89,7 +89,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
chrome/browser/ui/android/toolbar/BUILD.gn | 1 +
.../toolbar/LocationBarFocusScrimHandler.java | 5 +
.../toolbar/ToolbarLongPressMenuHandler.java | 8 -
- .../bottom/BottomControlsContentDelegate.java | 12 +-
+ .../bottom/BottomControlsContentDelegate.java | 11 +-
.../bottom/BottomControlsCoordinator.java | 11 +-
.../bottom/BottomControlsMediator.java | 33 +++-
.../bottom/BottomControlsProperties.java | 6 +-
@@ -108,16 +108,16 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../render_widget_host_view_android.cc | 3 +
.../Move-navigation-bar-to-bottom.inc | 17 ++
.../renderer/core/frame/viewport_data.cc | 1 +
- 95 files changed, 1087 insertions(+), 103 deletions(-)
+ 95 files changed, 1086 insertions(+), 103 deletions(-)
create mode 100644 chrome/browser/hub/internal/android/java/src/org/chromium/chrome/browser/hub/ReversedLinearLayout.java
create mode 100644 cromite_flags/chrome/browser/about_flags_cc/Move-navigation-bar-to-bottom.inc
diff --git a/cc/base/features.cc b/cc/base/features.cc
--- a/cc/base/features.cc
+++ b/cc/base/features.cc
-@@ -27,6 +27,14 @@ BASE_FEATURE(kComputeRasterTranslateForExternalScale,
- // submitting a frame.
- BASE_FEATURE(kSynchronizedScrolling, base::FEATURE_DISABLED_BY_DEFAULT);
+@@ -23,6 +23,14 @@ std::atomic s_is_eligible_for_throttle_main_frame_to_60hz = false;
+ BASE_FEATURE(kComputeRasterTranslateForExternalScale,
+ base::FEATURE_ENABLED_BY_DEFAULT);
+BASE_FEATURE(kMoveTopToolbarToBottom,
+ "MoveTopToolbarToBottom",
@@ -133,10 +133,10 @@ diff --git a/cc/base/features.cc b/cc/base/features.cc
diff --git a/cc/base/features.h b/cc/base/features.h
--- a/cc/base/features.h
+++ b/cc/base/features.h
-@@ -16,6 +16,8 @@ namespace features {
+@@ -15,6 +15,8 @@
+ namespace features {
CC_BASE_EXPORT BASE_DECLARE_FEATURE(kComputeRasterTranslateForExternalScale);
- CC_BASE_EXPORT BASE_DECLARE_FEATURE(kSynchronizedScrolling);
+CC_BASE_EXPORT BASE_DECLARE_FEATURE(kMoveTopToolbarToBottom);
+CC_BASE_EXPORT BASE_DECLARE_FEATURE(kDisableToolbarSwipeUp);
@@ -177,7 +177,7 @@ diff --git a/cc/input/browser_controls_offset_manager.cc b/cc/input/browser_cont
diff --git a/cc/trees/layer_tree_host_impl.cc b/cc/trees/layer_tree_host_impl.cc
--- a/cc/trees/layer_tree_host_impl.cc
+++ b/cc/trees/layer_tree_host_impl.cc
-@@ -2753,7 +2753,7 @@ viz::CompositorFrameMetadata LayerTreeHostImpl::MakeCompositorFrameMetadata() {
+@@ -2806,7 +2806,7 @@ viz::CompositorFrameMetadata LayerTreeHostImpl::MakeCompositorFrameMetadata() {
browser_controls_offset_manager_->TopControlsShownRatio();
metadata.top_controls_visible_height.emplace(visible_height);
@@ -186,7 +186,7 @@ diff --git a/cc/trees/layer_tree_host_impl.cc b/cc/trees/layer_tree_host_impl.cc
const viz::OffsetTag& top_controls_offset_tag =
browser_controls_offset_manager_->TopControlsOffsetTag();
const viz::OffsetTag& content_offset_tag =
-@@ -2791,7 +2791,7 @@ viz::CompositorFrameMetadata LayerTreeHostImpl::MakeCompositorFrameMetadata() {
+@@ -2844,7 +2844,7 @@ viz::CompositorFrameMetadata LayerTreeHostImpl::MakeCompositorFrameMetadata() {
#endif
}
@@ -195,7 +195,7 @@ diff --git a/cc/trees/layer_tree_host_impl.cc b/cc/trees/layer_tree_host_impl.cc
if (browser_controls_offset_manager_->BottomControlsHeight() > 0) {
const viz::OffsetTag& bottom_controls_offset_tag =
browser_controls_offset_manager_->BottomControlsOffsetTag();
-@@ -5408,6 +5408,7 @@ bool LayerTreeHostImpl::AnimateBrowserControls(base::TimeTicks time) {
+@@ -5464,6 +5464,7 @@ bool LayerTreeHostImpl::AnimateBrowserControls(base::TimeTicks time) {
return false;
}
@@ -206,7 +206,7 @@ diff --git a/cc/trees/layer_tree_host_impl.cc b/cc/trees/layer_tree_host_impl.cc
diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGroupUiCoordinator.java b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGroupUiCoordinator.java
--- a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGroupUiCoordinator.java
+++ b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGroupUiCoordinator.java
-@@ -26,6 +26,7 @@ import org.chromium.base.supplier.NonNullObservableSupplier;
+@@ -27,6 +27,7 @@ import org.chromium.base.supplier.NonNullObservableSupplier;
import org.chromium.base.supplier.ObservableSuppliers;
import org.chromium.base.supplier.OneshotSupplier;
import org.chromium.base.supplier.SettableMonotonicObservableSupplier;
@@ -214,7 +214,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser
import org.chromium.base.supplier.SettableNonNullObservableSupplier;
import org.chromium.base.supplier.SettableNullableObservableSupplier;
import org.chromium.build.annotations.Initializer;
-@@ -61,6 +62,7 @@ import org.chromium.components.sensitive_content.SensitiveContentFeatures;
+@@ -63,6 +64,7 @@ import org.chromium.components.sensitive_content.SensitiveContentFeatures;
import org.chromium.ui.modaldialog.ModalDialogManager;
import org.chromium.ui.modelutil.PropertyModel;
import org.chromium.ui.modelutil.PropertyModelChangeProcessor;
@@ -222,7 +222,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser
import java.util.List;
import java.util.function.Supplier;
-@@ -199,7 +201,8 @@ public class TabGroupUiCoordinator implements TabGroupUiMediator.ResetHandler, T
+@@ -201,7 +203,8 @@ public class TabGroupUiCoordinator implements TabGroupUiMediator.ResetHandler, T
@Initializer
public void initializeWithNative(
BottomControlsCoordinator.BottomControlsVisibilityController visibilityController,
@@ -232,7 +232,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser
SettableMonotonicObservableSupplier
@@ -482,15 +482,15 @@ diff --git a/chrome/browser/resources/settings/privacy_page/privacy_page.ts b/ch
isPrivacySandboxRestrictedNoticeEnabled_: {
type: Boolean,
value: () =>
-@@ -111,6 +122,7 @@ export class SettingsPrivacyPageElement extends SettingsPrivacyPageElementBase {
+@@ -116,6 +127,7 @@ export class SettingsPrivacyPageElement extends SettingsPrivacyPageElementBase {
declare private historyExpireDaysThresholdOptions_: object[];
declare private showClearBrowsingDataDialog_: boolean;
declare private showPrivacyGuideDialog_: boolean;
+ declare private referersPolicyOptions_: object[];
declare private isPrivacySandboxRestricted_: boolean;
declare private isPrivacySandboxRestrictedNoticeEnabled_: boolean;
- declare private dbdDeletionConfirmationToastLabel_: string;
-@@ -141,6 +153,12 @@ export class SettingsPrivacyPageElement extends SettingsPrivacyPageElementBase {
+ declare private isAdPrivacyAvailable_: boolean;
+@@ -147,6 +159,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
-@@ -1192,6 +1192,30 @@ For more settings that use data to improve your Chrome experience, go to