scripts: build-chromium: Update to 114.0.5735.58
* Patches from https://github.com/GrapheneOS/Vanadium/tree/b21c91bbd95369d2922607a33168491c9103794f/patches
Change-Id: Ief13f0b0287385a2fa4b7824f02675095b62953e
diff --git a/build-chromium/build-chromium.sh b/build-chromium/build-chromium.sh
index 261274a..4127355 100755
--- a/build-chromium/build-chromium.sh
+++ b/build-chromium/build-chromium.sh
@@ -2,8 +2,8 @@
set -e
-chromium_version="110.0.5481.61"
-chromium_code="5481061"
+chromium_version="114.0.5735.58"
+chromium_code="573505800"
clean=0
gsync=0
supported_archs=(arm64 x64)
diff --git a/build-chromium/patches/0002-use-64-bit-WebView-processes.patch b/build-chromium/patches/0002-use-64-bit-WebView-processes.patch
index c7c5d9e..716a27a 100644
--- a/build-chromium/patches/0002-use-64-bit-WebView-processes.patch
+++ b/build-chromium/patches/0002-use-64-bit-WebView-processes.patch
@@ -1,21 +1,23 @@
-From af0cb17d5e484c7b9dd89062e2de6a76ec310c10 Mon Sep 17 00:00:00 2001
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Daniel Micay <danielmicay@gmail.com>
Date: Thu, 26 Jan 2017 01:30:12 -0500
Subject: [PATCH] use 64-bit WebView processes
---
- android_webview/nonembedded/java/AndroidManifest.xml | 1 -
- 1 file changed, 1 deletion(-)
+ android_webview/nonembedded/java/AndroidManifest.xml | 3 ---
+ 1 file changed, 3 deletions(-)
diff --git a/android_webview/nonembedded/java/AndroidManifest.xml b/android_webview/nonembedded/java/AndroidManifest.xml
-index a6ec0a7d6391c..ce806a2233dde 100644
+index 6f4d2015c8685..2640f3f722a96 100644
--- a/android_webview/nonembedded/java/AndroidManifest.xml
+++ b/android_webview/nonembedded/java/AndroidManifest.xml
-@@ -37,7 +37,6 @@ by a child template that "extends" this file.
+@@ -40,9 +40,6 @@ by a child template that "extends" this file.
android:icon="@{{manifest_package|default('com.android.webview')}}:drawable/icon_webview"
android:name="{{ application_name|default('org.chromium.android_webview.nonembedded.WebViewApkApplication') }}"
android:multiArch="true"
-- {{ use32bitAbi|default('android:use32bitAbi="true"') }}
+- {% if force_32_bit is defined and force_32_bit == 'true' %}
+- android:use32bitAbi="true"
+- {% endif %}
android:extractNativeLibs="false">
{# This part is shared between stand-alone WebView and Monochrome #}
{% macro common(manifest_package, webview_lib) %}
diff --git a/build-chromium/patches/0013-remove-Help-feedback-menu-entry.patch b/build-chromium/patches/0013-remove-Help-feedback-menu-entry.patch
index 7e7df32..f506ae0 100644
--- a/build-chromium/patches/0013-remove-Help-feedback-menu-entry.patch
+++ b/build-chromium/patches/0013-remove-Help-feedback-menu-entry.patch
@@ -1,4 +1,4 @@
-From 2312c16024f3202c7951c8a5d2983010f566192a Mon Sep 17 00:00:00 2001
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Daniel Micay <danielmicay@gmail.com>
Date: Thu, 15 Apr 2021 02:14:37 -0400
Subject: [PATCH] remove Help & feedback menu entry
@@ -8,15 +8,15 @@
1 file changed, 2 insertions(+)
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/AppMenuPropertiesDelegateImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/AppMenuPropertiesDelegateImpl.java
-index 8719c7a507ca3..b7b867ca4fd1e 100644
+index 60b0dc69ce868..950c70bd9d161 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/AppMenuPropertiesDelegateImpl.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/AppMenuPropertiesDelegateImpl.java
-@@ -553,6 +553,8 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate
+@@ -546,6 +546,8 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate
menu.findItem(R.id.reader_mode_prefs_id)
.setVisible(isCurrentTabNotNull && shouldShowReaderModePrefs(currentTab));
+ menu.findItem(R.id.help_id).setVisible(false);
+
- // Only display the Enter VR button if VR Shell Dev environment is enabled.
- menu.findItem(R.id.enter_vr_id).setVisible(isCurrentTabNotNull && shouldShowEnterVr());
+ updateManagedByMenuItem(menu, currentTab);
+ }
diff --git a/build-chromium/patches/0014-hide-passwords.google.com-link-when-not-supported.patch b/build-chromium/patches/0014-hide-passwords.google.com-link-when-not-supported.patch
index d4c732d..f57c299 100644
--- a/build-chromium/patches/0014-hide-passwords.google.com-link-when-not-supported.patch
+++ b/build-chromium/patches/0014-hide-passwords.google.com-link-when-not-supported.patch
@@ -1,4 +1,4 @@
-From 18f4aa9cfe152d29b92bdf6489b41b8258187e3d Mon Sep 17 00:00:00 2001
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Daniel Micay <danielmicay@gmail.com>
Date: Sun, 13 Aug 2017 19:33:04 -0400
Subject: [PATCH] hide passwords.google.com link when not supported
@@ -8,10 +8,10 @@
1 file changed, 4 insertions(+)
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/password_manager/settings/PasswordSettings.java b/chrome/android/java/src/org/chromium/chrome/browser/password_manager/settings/PasswordSettings.java
-index 2c7b85cf3f3f6..9d61328d925d8 100644
+index 59418af6c90f6..a95af908191e4 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/password_manager/settings/PasswordSettings.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/password_manager/settings/PasswordSettings.java
-@@ -39,6 +39,7 @@ import org.chromium.chrome.browser.password_manager.PasswordManagerHelper;
+@@ -40,6 +40,7 @@ import org.chromium.chrome.browser.password_manager.PasswordManagerHelper;
import org.chromium.chrome.browser.preferences.Pref;
import org.chromium.chrome.browser.profiles.Profile;
import org.chromium.chrome.browser.settings.ChromeManagedPreferenceDelegate;
@@ -19,11 +19,11 @@
import org.chromium.chrome.browser.settings.SettingsLauncherImpl;
import org.chromium.chrome.browser.sync.SyncService;
import org.chromium.chrome.browser.sync.settings.SyncSettingsUtils;
-@@ -595,6 +596,9 @@ public class PasswordSettings extends PreferenceFragmentCompat
+@@ -597,6 +598,9 @@ public class PasswordSettings extends PreferenceFragmentCompat
if (mSearchQuery != null && !mNoPasswords) {
return; // Don't add the Manage Account link if there is a search going on.
}
-+ if (!IdentityServicesProvider.get().getSigninManager(Profile.getLastUsedRegularProfile()).isSigninSupported()) {
++ if (!IdentityServicesProvider.get().getSigninManager(Profile.getLastUsedRegularProfile()).isSigninSupported(false)) {
+ return;
+ }
if (getPreferenceScreen().findPreference(PREF_KEY_MANAGE_ACCOUNT_LINK) != null) {
diff --git a/build-chromium/patches/0015-disable-first-run-welcome-page.patch b/build-chromium/patches/0015-disable-first-run-welcome-page.patch
index 3e66229..2e23abf 100644
--- a/build-chromium/patches/0015-disable-first-run-welcome-page.patch
+++ b/build-chromium/patches/0015-disable-first-run-welcome-page.patch
@@ -1,4 +1,4 @@
-From ab6d8cab9e387b11c102f874ad0e9800bff11196 Mon Sep 17 00:00:00 2001
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Sun, 26 Nov 2017 22:51:43 +0100
Subject: [PATCH] disable first run welcome page
@@ -9,10 +9,10 @@
2 files changed, 5 insertions(+), 4 deletions(-)
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunUtils.java b/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunUtils.java
-index 8e32e791835ad..8c4063623324b 100644
+index 1ed0ad476b512..fb390474ccaf0 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunUtils.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunUtils.java
-@@ -43,15 +43,12 @@ public class FirstRunUtils {
+@@ -44,15 +44,12 @@ public class FirstRunUtils {
boolean javaPrefValue =
javaPrefs.readBoolean(ChromePreferenceKeys.FIRST_RUN_CACHED_TOS_ACCEPTED, false);
boolean nativePrefValue = isFirstRunEulaAccepted();
diff --git a/build-chromium/patches/0022-disable-metrics-by-default.patch b/build-chromium/patches/0022-disable-metrics-by-default.patch
index 7661158..de1ade0 100644
--- a/build-chromium/patches/0022-disable-metrics-by-default.patch
+++ b/build-chromium/patches/0022-disable-metrics-by-default.patch
@@ -1,4 +1,4 @@
-From 4fa667470fbf7d4519dcd37a6f995443ffc46dc1 Mon Sep 17 00:00:00 2001
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Daniel Micay <danielmicay@gmail.com>
Date: Thu, 24 Nov 2016 11:41:00 -0500
Subject: [PATCH] disable metrics by default
@@ -8,10 +8,10 @@
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunActivityBase.java b/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunActivityBase.java
-index 487be0e02d26e..7d30473f6bca2 100644
+index db91b908462b1..8d8c8302a58d8 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunActivityBase.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunActivityBase.java
-@@ -49,7 +49,7 @@ public abstract class FirstRunActivityBase extends AsyncInitializationActivity {
+@@ -55,7 +55,7 @@ public abstract class FirstRunActivityBase
static final String SHOW_SEARCH_ENGINE_PAGE = "ShowSearchEnginePage";
static final String SHOW_SYNC_CONSENT_PAGE = "ShowSyncConsent";
diff --git a/build-chromium/patches/0024-disable-showing-popular-sites-by-default.patch b/build-chromium/patches/0024-disable-showing-popular-sites-by-default.patch
index 19a33e9..9dea892 100644
--- a/build-chromium/patches/0024-disable-showing-popular-sites-by-default.patch
+++ b/build-chromium/patches/0024-disable-showing-popular-sites-by-default.patch
@@ -1,4 +1,4 @@
-From 0a70c6c84a098d0a65df590f9bda22213af7d782 Mon Sep 17 00:00:00 2001
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Daniel Micay <danielmicay@gmail.com>
Date: Tue, 6 Mar 2018 00:27:41 -0500
Subject: [PATCH] disable showing popular sites by default
@@ -8,10 +8,10 @@
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/components/ntp_tiles/features.cc b/components/ntp_tiles/features.cc
-index 8b29a14102ba0..48df4146cd5d0 100644
+index 26049117ac858..87bc57efba5a9 100644
--- a/components/ntp_tiles/features.cc
+++ b/components/ntp_tiles/features.cc
-@@ -18,7 +18,7 @@ const char kIOSPopularSitesExcludePopularAppsParam[] =
+@@ -15,7 +15,7 @@ const char kPopularSitesFieldTrialName[] = "NTPPopularSites";
BASE_FEATURE(kPopularSitesBakedInContentFeature,
"NTPPopularSitesBakedInContent",
@@ -20,12 +20,12 @@
BASE_FEATURE(kNtpMostLikelyFaviconsFromServerFeature,
"NTPMostLikelyFaviconsFromServer",
-@@ -26,7 +26,7 @@ BASE_FEATURE(kNtpMostLikelyFaviconsFromServerFeature,
+@@ -23,7 +23,7 @@ BASE_FEATURE(kNtpMostLikelyFaviconsFromServerFeature,
BASE_FEATURE(kUsePopularSitesSuggestions,
"UsePopularSitesSuggestions",
- base::FEATURE_ENABLED_BY_DEFAULT);
+ base::FEATURE_DISABLED_BY_DEFAULT);
- BASE_FEATURE(kIOSPopularSitesImprovedSuggestions,
- "IOSPopularSitesImprovedSuggestions",
+ BASE_FEATURE(kNewTabPageRetention,
+ "IOSNewTabPageRetention",
diff --git a/build-chromium/patches/0025-disable-article-suggestions-feature-by-default.patch b/build-chromium/patches/0025-disable-article-suggestions-feature-by-default.patch
index d453fae..1e1ee71 100644
--- a/build-chromium/patches/0025-disable-article-suggestions-feature-by-default.patch
+++ b/build-chromium/patches/0025-disable-article-suggestions-feature-by-default.patch
@@ -1,12 +1,11 @@
-From ff6cc8f6f97030e03a49e2b3246a158c5b0f2fc3 Mon Sep 17 00:00:00 2001
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Daniel Micay <danielmicay@gmail.com>
Date: Thu, 8 Mar 2018 22:43:12 -0500
Subject: [PATCH] disable article suggestions feature by default
---
components/feed/core/shared_prefs/pref_names.cc | 4 ++--
- components/ntp_snippets/features.cc | 2 +-
- 2 files changed, 3 insertions(+), 3 deletions(-)
+ 1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/components/feed/core/shared_prefs/pref_names.cc b/components/feed/core/shared_prefs/pref_names.cc
index e239b42b31ef3..5a5e881272c22 100644
@@ -23,16 +22,3 @@
registry->RegisterIntegerPref(kVideoPreviewsType, 1);
}
-diff --git a/components/ntp_snippets/features.cc b/components/ntp_snippets/features.cc
-index 7d146cd35fd4c..7bc431d6bcacb 100644
---- a/components/ntp_snippets/features.cc
-+++ b/components/ntp_snippets/features.cc
-@@ -40,7 +40,7 @@ const base::Feature* const kAllFeatures[] = {
-
- BASE_FEATURE(kArticleSuggestionsFeature,
- "NTPArticleSuggestions",
-- base::FEATURE_ENABLED_BY_DEFAULT);
-+ base::FEATURE_DISABLED_BY_DEFAULT);
-
- BASE_FEATURE(kRemoteSuggestionsEmulateM58FetchingSchedule,
- "RemoteSuggestionsEmulateM58FetchingSchedule",
diff --git a/build-chromium/patches/0026-disable-content-feed-suggestions-by-default.patch b/build-chromium/patches/0026-disable-content-feed-suggestions-by-default.patch
index 4a40236..5070e69 100644
--- a/build-chromium/patches/0026-disable-content-feed-suggestions-by-default.patch
+++ b/build-chromium/patches/0026-disable-content-feed-suggestions-by-default.patch
@@ -1,4 +1,4 @@
-From e10113e64e72b4526c3eb2c6b1e8572777298bdb Mon Sep 17 00:00:00 2001
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Daniel Micay <danielmicay@gmail.com>
Date: Sun, 22 Mar 2020 01:23:48 -0400
Subject: [PATCH] disable content feed suggestions by default
@@ -9,10 +9,10 @@
2 files changed, 2 insertions(+), 2 deletions(-)
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
-index 0df2f2ea769c7..b86d470296810 100644
+index 957ccbd940466..73954ddc3e289 100644
--- 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
-@@ -661,7 +661,7 @@ public abstract class ChromeFeatureList {
+@@ -623,7 +623,7 @@ public abstract class ChromeFeatureList {
new CachedFlag(INCOGNITO_REAUTHENTICATION_FOR_ANDROID, false);
public static final CachedFlag sInstanceSwitcher = new CachedFlag(INSTANCE_SWITCHER, true);
public static final CachedFlag sInstantStart = new CachedFlag(INSTANT_START, false);
@@ -20,9 +20,9 @@
+ public static final CachedFlag sInterestFeedV2 = new CachedFlag(INTEREST_FEED_V2, false);
public static final CachedFlag sLensCameraAssistedSearch =
new CachedFlag(LENS_CAMERA_ASSISTED_SEARCH, true);
- public static final CachedFlag sNewWindowAppMenu = new CachedFlag(NEW_WINDOW_APP_MENU, true);
+ public static final CachedFlag sOmahaMinSdkVersionAndroid =
diff --git a/components/feed/feed_feature_list.cc b/components/feed/feed_feature_list.cc
-index 2d91c53f94dac..df7e569c24cf0 100644
+index a8b36a9ace946..93f8bc7a9af6e 100644
--- a/components/feed/feed_feature_list.cc
+++ b/components/feed/feed_feature_list.cc
@@ -24,7 +24,7 @@ BASE_FEATURE(kInterestFeedContentSuggestions,
diff --git a/build-chromium/patches/0031-disable-payment-support-by-default.patch b/build-chromium/patches/0031-disable-payment-support-by-default.patch
index 5678101..d379f50 100644
--- a/build-chromium/patches/0031-disable-payment-support-by-default.patch
+++ b/build-chromium/patches/0031-disable-payment-support-by-default.patch
@@ -1,4 +1,4 @@
-From e33cb62e6f6dd46e9c942198a84391137e9071d2 Mon Sep 17 00:00:00 2001
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Daniel Micay <danielmicay@gmail.com>
Date: Tue, 18 Jun 2019 22:28:53 -0400
Subject: [PATCH] disable payment support by default
diff --git a/build-chromium/patches/0032-disable-media-router-media-remoting-by-default.patch b/build-chromium/patches/0032-disable-media-router-media-remoting-by-default.patch
index eabd52e..afbdb9c 100644
--- a/build-chromium/patches/0032-disable-media-router-media-remoting-by-default.patch
+++ b/build-chromium/patches/0032-disable-media-router-media-remoting-by-default.patch
@@ -1,4 +1,4 @@
-From 5f059a77358a3a183f608698927cc6261db803ae Mon Sep 17 00:00:00 2001
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Daniel Micay <danielmicay@gmail.com>
Date: Thu, 4 Jul 2019 18:11:27 -0400
Subject: [PATCH] disable media router media remoting by default
@@ -8,15 +8,15 @@
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/chrome/browser/media/router/media_router_feature.cc b/chrome/browser/media/router/media_router_feature.cc
-index 516be25ee310a..38e705e3004ea 100644
+index 559346224f01f..5edf3836908d6 100644
--- a/chrome/browser/media/router/media_router_feature.cc
+++ b/chrome/browser/media/router/media_router_feature.cc
-@@ -131,7 +131,7 @@ void RegisterProfilePrefs(PrefRegistrySimple* registry) {
+@@ -147,7 +147,7 @@ void RegisterProfilePrefs(PrefRegistrySimple* registry) {
registry->RegisterStringPref(prefs::kMediaRouterReceiverIdHashToken, "",
PrefRegistry::PUBLIC);
registry->RegisterBooleanPref(
- media_router::prefs::kMediaRouterMediaRemotingEnabled, true);
+ media_router::prefs::kMediaRouterMediaRemotingEnabled, false);
- registry->RegisterListPref(
- media_router::prefs::kMediaRouterTabMirroringSources);
registry->RegisterBooleanPref(
+ media_router::prefs::kMediaRouterShowCastSessionsStartedByOtherDevices,
+ true);
diff --git a/build-chromium/patches/0033-disable-media-router-by-default.patch b/build-chromium/patches/0033-disable-media-router-by-default.patch
index 7bcfdcc..8d1d4d5 100644
--- a/build-chromium/patches/0033-disable-media-router-by-default.patch
+++ b/build-chromium/patches/0033-disable-media-router-by-default.patch
@@ -1,4 +1,4 @@
-From 9a0d437c62db2b7068d61a70359a44e6af48765a Mon Sep 17 00:00:00 2001
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Daniel Micay <danielmicay@gmail.com>
Date: Thu, 4 Jul 2019 19:08:52 -0400
Subject: [PATCH] disable media router by default
@@ -9,10 +9,10 @@
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/chrome/browser/media/router/media_router_feature.cc b/chrome/browser/media/router/media_router_feature.cc
-index 38e705e3004ea..3f9ce1554fc50 100644
+index 5edf3836908d6..bdb5b72179a79 100644
--- a/chrome/browser/media/router/media_router_feature.cc
+++ b/chrome/browser/media/router/media_router_feature.cc
-@@ -118,7 +118,7 @@ bool MediaRouterEnabled(content::BrowserContext* context) {
+@@ -134,7 +134,7 @@ bool MediaRouterEnabled(content::BrowserContext* context) {
pref_values.insert(std::make_pair(context, allowed));
return allowed;
}
@@ -22,10 +22,10 @@
#if !BUILDFLAG(IS_ANDROID)
diff --git a/chrome/browser/profiles/profile_impl.cc b/chrome/browser/profiles/profile_impl.cc
-index 0e17f238a710c..20d3f78c175a7 100644
+index 57d728da590da..82000864b70f8 100644
--- a/chrome/browser/profiles/profile_impl.cc
+++ b/chrome/browser/profiles/profile_impl.cc
-@@ -412,7 +412,7 @@ void ProfileImpl::RegisterProfilePrefs(
+@@ -419,7 +419,7 @@ void ProfileImpl::RegisterProfilePrefs(
#endif
registry->RegisterBooleanPref(prefs::kForceEphemeralProfiles, false);
diff --git a/build-chromium/patches/0034-disable-offering-translations-by-default.patch b/build-chromium/patches/0034-disable-offering-translations-by-default.patch
index d35d094..b9e5751 100644
--- a/build-chromium/patches/0034-disable-offering-translations-by-default.patch
+++ b/build-chromium/patches/0034-disable-offering-translations-by-default.patch
@@ -1,4 +1,4 @@
-From 707df56cdff5b02f61f9ad4e392a850cace66116 Mon Sep 17 00:00:00 2001
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Daniel Micay <danielmicay@gmail.com>
Date: Fri, 12 Jul 2019 03:58:01 -0400
Subject: [PATCH] disable offering translations by default
@@ -8,10 +8,10 @@
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/chrome/browser/ui/browser_ui_prefs.cc b/chrome/browser/ui/browser_ui_prefs.cc
-index df3225597d7e0..ef3cec3ceab16 100644
+index 16ab8096b4048..05e24c9c3fc21 100644
--- a/chrome/browser/ui/browser_ui_prefs.cc
+++ b/chrome/browser/ui/browser_ui_prefs.cc
-@@ -77,7 +77,7 @@ void RegisterBrowserUserPrefs(user_prefs::PrefRegistrySyncable* registry) {
+@@ -75,7 +75,7 @@ void RegisterBrowserUserPrefs(user_prefs::PrefRegistrySyncable* registry) {
registry->RegisterBooleanPref(prefs::kWebAppCreateInAppsMenu, true);
registry->RegisterBooleanPref(prefs::kWebAppCreateInQuickLaunchBar, true);
registry->RegisterBooleanPref(
diff --git a/build-chromium/patches/0035-disable-browser-sign-in-feature-by-default.patch b/build-chromium/patches/0035-disable-browser-sign-in-feature-by-default.patch
index bef3743..48d4e9b 100644
--- a/build-chromium/patches/0035-disable-browser-sign-in-feature-by-default.patch
+++ b/build-chromium/patches/0035-disable-browser-sign-in-feature-by-default.patch
@@ -1,4 +1,4 @@
-From db0bd608ca032ae6681bc3b38abdb86a1282a42e Mon Sep 17 00:00:00 2001
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Daniel Micay <danielmicay@gmail.com>
Date: Fri, 12 Jul 2019 04:23:18 -0400
Subject: [PATCH] disable browser sign in feature by default
@@ -9,10 +9,10 @@
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/chrome/browser/signin/account_consistency_mode_manager.cc b/chrome/browser/signin/account_consistency_mode_manager.cc
-index b1c0447353c0d..edd57dcffe4c5 100644
+index a7853cc014069..67acb94246580 100644
--- a/chrome/browser/signin/account_consistency_mode_manager.cc
+++ b/chrome/browser/signin/account_consistency_mode_manager.cc
-@@ -112,7 +112,7 @@ AccountConsistencyModeManager::~AccountConsistencyModeManager() {}
+@@ -119,7 +119,7 @@ AccountConsistencyModeManager::~AccountConsistencyModeManager() {}
// static
void AccountConsistencyModeManager::RegisterProfilePrefs(
user_prefs::PrefRegistrySyncable* registry) {
@@ -22,10 +22,10 @@
// static
diff --git a/components/signin/internal/identity_manager/primary_account_manager.cc b/components/signin/internal/identity_manager/primary_account_manager.cc
-index ec3ea7dcd2c5d..f161a885416f4 100644
+index 1558c2342710e..9581eb7db57f1 100644
--- a/components/signin/internal/identity_manager/primary_account_manager.cc
+++ b/components/signin/internal/identity_manager/primary_account_manager.cc
-@@ -88,7 +88,7 @@ void PrimaryAccountManager::RegisterProfilePrefs(PrefRegistrySimple* registry) {
+@@ -148,7 +148,7 @@ void PrimaryAccountManager::RegisterProfilePrefs(PrefRegistrySimple* registry) {
registry->RegisterBooleanPref(prefs::kGoogleServicesConsentedToSync, false);
registry->RegisterBooleanPref(prefs::kAutologinEnabled, true);
registry->RegisterListPref(prefs::kReverseAutologinRejectedEmailList);
diff --git a/build-chromium/patches/0046-disable-autofill-server-communication-by-default.patch b/build-chromium/patches/0046-disable-autofill-server-communication-by-default.patch
index 06d8c0a..6794d01 100644
--- a/build-chromium/patches/0046-disable-autofill-server-communication-by-default.patch
+++ b/build-chromium/patches/0046-disable-autofill-server-communication-by-default.patch
@@ -1,4 +1,4 @@
-From 9d64864a32451739e848d4adf361392722c9ded3 Mon Sep 17 00:00:00 2001
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Daniel Micay <danielmicay@gmail.com>
Date: Tue, 1 Dec 2020 00:56:57 -0500
Subject: [PATCH] disable autofill server communication by default
@@ -8,15 +8,15 @@
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/components/autofill/core/common/autofill_features.cc b/components/autofill/core/common/autofill_features.cc
-index af6d86f76eb9a..52e41bf79037a 100644
+index 2eebd38e9f948..2246179592da9 100644
--- a/components/autofill/core/common/autofill_features.cc
+++ b/components/autofill/core/common/autofill_features.cc
-@@ -449,7 +449,7 @@ const base::FeatureParam<int> kAutofillServerBehaviorsParam{
+@@ -710,7 +710,7 @@ BASE_FEATURE(kAutofillLogToTerminal,
// i.e., https://other.autofill.server:port/tbproxy/af/
BASE_FEATURE(kAutofillServerCommunication,
"AutofillServerCommunication",
- base::FEATURE_ENABLED_BY_DEFAULT);
+ base::FEATURE_DISABLED_BY_DEFAULT);
- // Controls whether Autofill may fill across origins as part of the
- // AutofillAcrossIframes experiment.
+ // Controls attaching the autofill type predictions to their respective
+ // element in the DOM.
diff --git a/build-chromium/patches/0047-disable-component-updater-pings-by-default.patch b/build-chromium/patches/0047-disable-component-updater-pings-by-default.patch
index fdfe662..597092e 100644
--- a/build-chromium/patches/0047-disable-component-updater-pings-by-default.patch
+++ b/build-chromium/patches/0047-disable-component-updater-pings-by-default.patch
@@ -1,4 +1,4 @@
-From 88d38521b311607d25e54472404c93db01950b2d Mon Sep 17 00:00:00 2001
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Daniel Micay <danielmicay@gmail.com>
Date: Fri, 27 Nov 2020 03:56:29 -0500
Subject: [PATCH] disable component updater pings by default
diff --git a/build-chromium/patches/0056-Consolidate-java-sources-added-at-android-specific-c.patch b/build-chromium/patches/0056-Consolidate-java-sources-added-at-android-specific-c.patch
new file mode 100644
index 0000000..9d7f184
--- /dev/null
+++ b/build-chromium/patches/0056-Consolidate-java-sources-added-at-android-specific-c.patch
@@ -0,0 +1,44 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: fgei <fgei@gmail.com>
+Date: Mon, 13 Mar 2023 08:41:43 +0000
+Subject: [PATCH] Consolidate java sources added at android-specific chrome
+ layer
+
+---
+ chrome/android/chrome_ext_java_sources.gni | 6 ++++++
+ chrome/android/java_sources.gni | 2 ++
+ 2 files changed, 8 insertions(+)
+ create mode 100644 chrome/android/chrome_ext_java_sources.gni
+
+diff --git a/chrome/android/chrome_ext_java_sources.gni b/chrome/android/chrome_ext_java_sources.gni
+new file mode 100644
+index 0000000000000..fe72e9b1d3abb
+--- /dev/null
++++ b/chrome/android/chrome_ext_java_sources.gni
+@@ -0,0 +1,6 @@
++# Copyright 2023 GrapheneOS
++# Use of this source code is governed by a GPLv2 only-style license that can be
++# found in the LICENSE file.
++
++chrome_ext_java_sources = [
++]
+diff --git a/chrome/android/java_sources.gni b/chrome/android/java_sources.gni
+index a5f30237c3bfa..727142fc4e8f5 100644
+--- a/chrome/android/java_sources.gni
++++ b/chrome/android/java_sources.gni
+@@ -3,6 +3,7 @@
+ # found in the LICENSE file.
+
+ import("//build/config/android/config.gni")
++import("//chrome/android/chrome_ext_java_sources.gni")
+ import("//chrome/android/chrome_java_sources.gni")
+ import("//chrome/android/chrome_junit_test_java_sources.gni")
+ import("//chrome/android/chrome_test_java_sources.gni")
+@@ -24,6 +25,7 @@ import("//components/feed/features.gni")
+ import("//components/offline_pages/buildflags/features.gni")
+ import("//device/vr/buildflags/buildflags.gni")
+
++chrome_java_sources += chrome_ext_java_sources
+ # Only used for testing, should not be shipped to end users.
+ if (enable_offline_pages_harness) {
+ chrome_java_sources += [ "java/src/org/chromium/chrome/browser/offlinepages/evaluation/OfflinePageEvaluationBridge.java" ]
diff --git a/build-chromium/patches/0057-Consolidate-resources-added-at-android-specific-chro.patch b/build-chromium/patches/0057-Consolidate-resources-added-at-android-specific-chro.patch
new file mode 100644
index 0000000..b38dbe7
--- /dev/null
+++ b/build-chromium/patches/0057-Consolidate-resources-added-at-android-specific-chro.patch
@@ -0,0 +1,39 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: fgei <fgei@gmail.com>
+Date: Mon, 13 Mar 2023 08:46:00 +0000
+Subject: [PATCH] Consolidate resources added at android-specific chrome layer
+
+---
+ chrome/android/chrome_ext_java_resources.gni | 6 ++++++
+ chrome/android/chrome_java_resources.gni | 5 ++++-
+ 2 files changed, 10 insertions(+), 1 deletion(-)
+ create mode 100644 chrome/android/chrome_ext_java_resources.gni
+
+diff --git a/chrome/android/chrome_ext_java_resources.gni b/chrome/android/chrome_ext_java_resources.gni
+new file mode 100644
+index 0000000000000..9980a7c5f6d84
+--- /dev/null
++++ b/chrome/android/chrome_ext_java_resources.gni
+@@ -0,0 +1,6 @@
++# Copyright 2023 GrapheneOS
++# Use of this source code is governed by a GPLv2 only-style license that can be
++# found in the LICENSE file.
++
++chrome_ext_java_resources = [
++]
+diff --git a/chrome/android/chrome_java_resources.gni b/chrome/android/chrome_java_resources.gni
+index f245de7d3a597..c2ce0b39d17f2 100644
+--- a/chrome/android/chrome_java_resources.gni
++++ b/chrome/android/chrome_java_resources.gni
+@@ -7,7 +7,10 @@
+ # (for f in $(find java/res/*/ -type f); do echo ' "'$f'",'; done; echo ']') >> chrome_java_resources.gni
+ # git cl format
+
+-chrome_java_resources = [
++import ("//chrome/android/chrome_ext_java_resources.gni")
++
++chrome_java_resources = chrome_ext_java_resources
++chrome_java_resources += [
+ "java/res/anim/accelerate_quart.xml",
+ "java/res/anim/activity_close_exit.xml",
+ "java/res/anim/activity_open_enter.xml",
diff --git a/build-chromium/patches/0059-Utility-class-for-adding-shared-preference-keys.patch b/build-chromium/patches/0059-Utility-class-for-adding-shared-preference-keys.patch
new file mode 100644
index 0000000..8673da5
--- /dev/null
+++ b/build-chromium/patches/0059-Utility-class-for-adding-shared-preference-keys.patch
@@ -0,0 +1,199 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: fgei <fgei@gmail.com>
+Date: Mon, 13 Mar 2023 10:29:53 +0000
+Subject: [PATCH] Utility class for adding shared preference keys
+
+---
+ chrome/browser/preferences/BUILD.gn | 3 +
+ .../ChromePreferenceKeyChecker.java | 4 +
+ .../browser/preferences/SharedPrefsUtils.java | 152 ++++++++++++++++++
+ 3 files changed, 159 insertions(+)
+ create mode 100644 chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/SharedPrefsUtils.java
+
+diff --git a/chrome/browser/preferences/BUILD.gn b/chrome/browser/preferences/BUILD.gn
+index c3038943a893b..e2a45f2c23b95 100644
+--- a/chrome/browser/preferences/BUILD.gn
++++ b/chrome/browser/preferences/BUILD.gn
+@@ -15,6 +15,9 @@ android_library("java") {
+ "android/java/src/org/chromium/chrome/browser/preferences/PrefChangeRegistrar.java",
+ "android/java/src/org/chromium/chrome/browser/preferences/SharedPreferencesManager.java",
+ ]
++ sources += [
++ "android/java/src/org/chromium/chrome/browser/preferences/SharedPrefsUtils.java",
++ ]
+ deps = [
+ "//base:base_java",
+ "//base:jni_java",
+diff --git a/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeyChecker.java b/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeyChecker.java
+index 21e3be5ba9f77..915ee8be3def7 100644
+--- a/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeyChecker.java
++++ b/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeyChecker.java
+@@ -75,6 +75,10 @@ class ChromePreferenceKeyChecker extends BaseChromePreferenceKeyChecker {
+ * @return Whether |key| is in use.
+ */
+ private boolean isKeyInUse(String key) {
++ if (SharedPrefsUtils.isKeyInUse(key)) {
++ return true;
++ }
++
+ // For non-dynamic legacy keys, a simple map check is enough.
+ if (mLegacyFormatKeys.contains(key)) {
+ return true;
+diff --git a/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/SharedPrefsUtils.java b/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/SharedPrefsUtils.java
+new file mode 100644
+index 0000000000000..ceec302c0a9d6
+--- /dev/null
++++ b/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/SharedPrefsUtils.java
+@@ -0,0 +1,152 @@
++package org.chromium.chrome.browser.preferences;
++
++import org.chromium.build.annotations.CheckDiscard;
++
++import java.util.Arrays;
++
++/**
++ * Wrapper utility class for both (Base)ChromePreferenceKeys and SharedPreferencesManager,
++ * which also serves as storage of added PreferenceKeys.
++ */
++public final class SharedPrefsUtils {
++
++ public static class BoolSharedPref {
++ private final String key;
++ private boolean defValue;
++
++ BoolSharedPref(String key, boolean defValue) {
++ this.key = key;
++ this.defValue = defValue;
++ }
++
++ public String getKey() { return key; }
++
++ public boolean get() {
++ return getSharedPrefManager().readBoolean(key, defValue);
++ }
++
++ public void put(boolean newValue) {
++ getSharedPrefManager().writeBoolean(key, newValue);
++ }
++
++ public boolean putSync(boolean newValue) {
++ return getSharedPrefManager().writeBooleanSync(key, newValue);
++ }
++ }
++
++ public static class IntSharedPref {
++ private final String key;
++ private int defValue;
++ private int[] validValues;
++
++ IntSharedPref(String key, int defValue) {
++ this.key = key;
++ this.defValue = defValue;
++ }
++
++ IntSharedPref(String key, int defValue, int[] validValues) {
++ this.key = key;
++ this.defValue = defValue;
++ this.validValues = validValues;
++ }
++
++ public String getKey() { return key; }
++
++ public int get() {
++ return getSharedPrefManager().readInt(key, defValue);
++ }
++
++ public boolean validateValue(int val) {
++ if (validValues == null) {
++ return true;
++ }
++ // don't do sort() + bsearch() of validValues array, it's expected to have a small number of entries
++ for (int validValue : validValues) {
++ if (val == validValue) {
++ return true;
++ }
++ }
++ return false;
++ }
++
++ public void put(int newValue) {
++ if (!validateValue(newValue)) {
++ return;
++ }
++ getSharedPrefManager().writeInt(key, newValue);
++ }
++
++ public boolean putSync(int newValue) {
++ if (!validateValue(newValue)) {
++ return false;
++ }
++ return getSharedPrefManager().writeIntSync(key, newValue);
++ }
++ }
++
++ public static class StringSharedPref {
++ private final String key;
++ private String defValue;
++ private String[] validValues;
++
++ StringSharedPref(String key, String defValue) {
++ this.key = key;
++ this.defValue = defValue;
++ }
++
++ StringSharedPref(String key, String defValue, String[] validValues) {
++ this.key = key;
++ this.defValue = defValue;
++ this.validValues = validValues;
++ }
++
++ public String getKey() { return key; }
++
++ public String get() {
++ return getSharedPrefManager().readString(key, defValue);
++ }
++
++ public boolean validateValue(String val) {
++ if (validValues == null) {
++ return true;
++ }
++ // don't do sort() + bsearch() of validValues array, it's expected to have a small number of entries
++ for (String validValue : validValues) {
++ if (val == validValue) {
++ return true;
++ }
++ }
++ return false;
++ }
++
++ public void put(String newValue) {
++ if (!validateValue(newValue)) {
++ return;
++ }
++ getSharedPrefManager().writeString(key, newValue);
++ }
++
++ public boolean putSync(String newValue) {
++ if (!validateValue(newValue)) {
++ return false;
++ }
++ return getSharedPrefManager().writeStringSync(key, newValue);
++ }
++ }
++
++ // Stores SharedPreferences keys and its default value
++ public static class SharedPrefsExt {
++ }
++
++ static SharedPreferencesManager getSharedPrefManager() {
++ return SharedPreferencesManager.getInstance();
++ }
++
++ @CheckDiscard("Validation is performed in tests and in debug builds.")
++ static boolean isKeyInUse(String key) {
++ // clang-format off
++ return Arrays.asList(
++ ).contains(key);
++ // clang-format on
++ }
++}
diff --git a/build-chromium/patches/0060-Helper-class-for-modifying-preferences-at-chrome-lay.patch b/build-chromium/patches/0060-Helper-class-for-modifying-preferences-at-chrome-lay.patch
new file mode 100644
index 0000000..327f847
--- /dev/null
+++ b/build-chromium/patches/0060-Helper-class-for-modifying-preferences-at-chrome-lay.patch
@@ -0,0 +1,98 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: fgei <fgei@gmail.com>
+Date: Tue, 11 Apr 2023 07:14:45 +0000
+Subject: [PATCH] Helper class for modifying preferences at chrome layer
+
+---
+ chrome/android/chrome_ext_java_sources.gni | 1 +
+ .../browser/settings/SettingsExtUtils.java | 71 +++++++++++++++++++
+ 2 files changed, 72 insertions(+)
+ create mode 100644 chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsExtUtils.java
+
+diff --git a/chrome/android/chrome_ext_java_sources.gni b/chrome/android/chrome_ext_java_sources.gni
+index fe72e9b1d3abb..b3a489f124aa8 100644
+--- a/chrome/android/chrome_ext_java_sources.gni
++++ b/chrome/android/chrome_ext_java_sources.gni
+@@ -3,4 +3,5 @@
+ # found in the LICENSE file.
+
+ chrome_ext_java_sources = [
++ "java/src/org/chromium/chrome/browser/settings/SettingsExtUtils.java",
+ ]
+diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsExtUtils.java b/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsExtUtils.java
+new file mode 100644
+index 0000000000000..c9907624c4fc1
+--- /dev/null
++++ b/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsExtUtils.java
+@@ -0,0 +1,71 @@
++// Copyright 2023 GrapheneOS
++// Use of this source code is governed by a GPLv2-style license that can be
++// found in the LICENSE file.
++
++package org.chromium.chrome.browser.settings;
++
++import androidx.annotation.NonNull;
++import androidx.annotation.Nullable;
++import androidx.preference.Preference;
++import androidx.preference.PreferenceFragmentCompat;
++import androidx.preference.SwitchPreferenceCompat;
++
++import org.chromium.base.ThreadUtils;
++
++public class SettingsExtUtils {
++
++ public static void safelyUpdatePreference(
++ @Nullable Preference preference,
++ @Nullable String newSummary
++ ) {
++ if (preference == null) return;
++ safelyUpdatePreferenceCommon(preference, newSummary);
++ }
++
++
++ public static void safelyUpdateSwitchPreference(
++ @Nullable SwitchPreferenceCompat switchPref,
++ @Nullable String newSummary,
++ boolean newValue
++ ) {
++ if (switchPref == null) return;
++ safelyUpdatePreferenceCommon(switchPref, newSummary);
++ safelyUpdatePreferenceChecked(switchPref, newSummary, newValue);
++ }
++
++ private static void safelyUpdatePreferenceCommon(
++ @NonNull Preference preference,
++ @Nullable String newSummary
++ ) {
++ ThreadUtils.checkUiThread();
++ if (newSummary != null) {
++ preference.setSummary(newSummary);
++ }
++ }
++
++ private static void safelyUpdatePreferenceChecked(
++ @NonNull SwitchPreferenceCompat switchPref,
++ @Nullable String nativeKey,
++ boolean checked
++ ) {
++ switchPref.setChecked(checked);
++ }
++
++ public static void safelyRemovePreference(
++ @NonNull PreferenceFragmentCompat prefFragment,
++ @NonNull String key
++ ) {
++ Preference preference = prefFragment.findPreference(key);
++ safelyRemovePreference(prefFragment, preference);
++ }
++
++ public static void safelyRemovePreference(
++ @NonNull PreferenceFragmentCompat prefFragment,
++ @Nullable Preference preference
++ ) {
++ ThreadUtils.checkUiThread();
++ if (preference != null) {
++ prefFragment.getPreferenceScreen().removePreference(preference);
++ }
++ }
++}
diff --git a/build-chromium/patches/0061-Utility-class-for-modifying-preferences-at-Privacy-s.patch b/build-chromium/patches/0061-Utility-class-for-modifying-preferences-at-Privacy-s.patch
new file mode 100644
index 0000000..ec1b603
--- /dev/null
+++ b/build-chromium/patches/0061-Utility-class-for-modifying-preferences-at-Privacy-s.patch
@@ -0,0 +1,154 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: fgei <fgei@gmail.com>
+Date: Tue, 11 Apr 2023 07:55:52 +0000
+Subject: [PATCH] Utility class for modifying preferences at Privacy section
+
+---
+ chrome/android/chrome_ext_java_resources.gni | 1 +
+ chrome/android/chrome_ext_java_sources.gni | 1 +
+ .../java/res/xml/privacy_preferences_ext.xml | 9 +++
+ .../privacy/settings/PrivacySettings.java | 6 ++
+ .../privacy/settings/PrivacySettingsExt.java | 67 +++++++++++++++++++
+ 5 files changed, 84 insertions(+)
+ create mode 100644 chrome/android/java/res/xml/privacy_preferences_ext.xml
+ create mode 100644 chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettingsExt.java
+
+diff --git a/chrome/android/chrome_ext_java_resources.gni b/chrome/android/chrome_ext_java_resources.gni
+index 9980a7c5f6d84..164ef483d5a44 100644
+--- a/chrome/android/chrome_ext_java_resources.gni
++++ b/chrome/android/chrome_ext_java_resources.gni
+@@ -3,4 +3,5 @@
+ # found in the LICENSE file.
+
+ chrome_ext_java_resources = [
++ "java/res/xml/privacy_preferences_ext.xml",
+ ]
+diff --git a/chrome/android/chrome_ext_java_sources.gni b/chrome/android/chrome_ext_java_sources.gni
+index b3a489f124aa8..d580fb6e83875 100644
+--- a/chrome/android/chrome_ext_java_sources.gni
++++ b/chrome/android/chrome_ext_java_sources.gni
+@@ -4,4 +4,5 @@
+
+ chrome_ext_java_sources = [
+ "java/src/org/chromium/chrome/browser/settings/SettingsExtUtils.java",
++ "java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettingsExt.java",
+ ]
+diff --git a/chrome/android/java/res/xml/privacy_preferences_ext.xml b/chrome/android/java/res/xml/privacy_preferences_ext.xml
+new file mode 100644
+index 0000000000000..a352cd657b1b9
+--- /dev/null
++++ b/chrome/android/java/res/xml/privacy_preferences_ext.xml
+@@ -0,0 +1,9 @@
++<!--
++Copyright 2023 GrapheneOS
++Use of this source code is governed by a GPLv2 only-style license
++that can be found in the LICENSE file.
++-->
++<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
++ xmlns:app="http://schemas.android.com/apk/res-auto">
++</PreferenceScreen>
++
+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
+index a9da397ba2eaf..26218b5511044 100644
+--- 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
+@@ -93,6 +93,8 @@ public class PrivacySettings extends PreferenceFragmentCompat
+ SettingsUtils.addPreferencesFromResource(this, R.xml.privacy_preferences);
+ }
+
++ PrivacySettingsExt.initializePreferences(this);
++
+ Preference sandboxPreference = findPreference(PREF_PRIVACY_SANDBOX);
+ if (PrivacySandboxBridge.isPrivacySandboxRestricted()
+ && !PrivacySandboxBridge.isRestrictedNoticeEnabled()) {
+@@ -185,6 +187,8 @@ public class PrivacySettings extends PreferenceFragmentCompat
+ SingleCategorySettings.EXTRA_TITLE, thirdPartyCookies.getTitle().toString());
+ }
+
++ PrivacySettingsExt.removeUnwantedPreferences(this);
++
+ updatePreferences();
+ }
+
+@@ -299,6 +303,8 @@ public class PrivacySettings extends PreferenceFragmentCompat
+ UserPrefs.get(mProfile).getInteger(COOKIE_CONTROLS_MODE)));
+ }
+
++ PrivacySettingsExt.updatePreferences(this);
++
+ updatePrivacyGuidePreferenceTitle();
+ }
+
+diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettingsExt.java b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettingsExt.java
+new file mode 100644
+index 0000000000000..00a65cf922353
+--- /dev/null
++++ b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettingsExt.java
+@@ -0,0 +1,67 @@
++// Copyright 2023 GrapheneOS
++// Use of this source code is governed by a GPLv2-style license that can be
++// found in the LICENSE file.
++
++package org.chromium.chrome.browser.privacy.settings;
++
++import androidx.annotation.NonNull;
++import androidx.preference.Preference;
++import androidx.preference.PreferenceFragmentCompat;
++import androidx.preference.SwitchPreferenceCompat;
++
++import org.chromium.base.ThreadUtils;
++import org.chromium.chrome.R;
++import org.chromium.chrome.browser.flags.ChromeFeatureList;
++import org.chromium.chrome.browser.preferences.Pref;
++import org.chromium.chrome.browser.preferences.SharedPrefsUtils.SharedPrefsExt;
++import org.chromium.chrome.browser.profiles.Profile;
++import org.chromium.chrome.browser.settings.ChromeManagedPreferenceDelegate;
++import org.chromium.chrome.browser.settings.SettingsExtUtils;
++import org.chromium.components.browser_ui.settings.ChromeBasePreference;
++import org.chromium.components.browser_ui.settings.ChromeSwitchPreference;
++import org.chromium.components.browser_ui.settings.SettingsUtils;
++import org.chromium.components.prefs.PrefService;
++import org.chromium.components.user_prefs.UserPrefs;
++
++final class PrivacySettingsExt {
++
++ private static final Preference.OnPreferenceChangeListener LISTENER =
++ (pref, val) -> {
++ PrefService prefService = UserPrefs.get(Profile.getLastUsedRegularProfile());
++ if (pref == null) {
++ return false;
++ }
++ String key = pref.getKey();
++ return true;
++ };
++
++ private static final ChromeManagedPreferenceDelegate DELEGATE =
++ pref -> {
++ PrefService prefService = UserPrefs.get(Profile.getLastUsedRegularProfile());
++ if (pref == null) {
++ return false;
++ }
++ String key = pref.getKey();
++ return false;
++ };
++
++ static void removeUnwantedPreferences(@NonNull PreferenceFragmentCompat prefFragment) {
++ ThreadUtils.checkUiThread();
++ }
++
++ static void initializePreferences(@NonNull PreferenceFragmentCompat prefFragment) {
++ ThreadUtils.checkUiThread();
++ // This is such that privacy preferences are added at Privacy Section in newer UI,
++ // and mostly kept on previous order at older UI.
++ int PRIVACY_PREFERENCES_ORDER =
++ ChromeFeatureList.isEnabled(ChromeFeatureList.PRIVACY_SANDBOX_SETTINGS_4) ? 2 : 6;
++ int SECURITY_PREFERENCES_ORDER =
++ ChromeFeatureList.isEnabled(ChromeFeatureList.PRIVACY_SANDBOX_SETTINGS_4) ? 2 : 9999;
++ SettingsUtils.addPreferencesFromResource(prefFragment, R.xml.privacy_preferences_ext);
++ }
++
++ static void updatePreferences(@NonNull PreferenceFragmentCompat prefFragment) {
++ ThreadUtils.checkUiThread();
++ PrefService prefService = UserPrefs.get(Profile.getLastUsedRegularProfile());
++ }
++}
diff --git a/build-chromium/patches/0056-remove-translate-offer-preference.patch b/build-chromium/patches/0062-remove-translate-offer-preference.patch
similarity index 93%
rename from build-chromium/patches/0056-remove-translate-offer-preference.patch
rename to build-chromium/patches/0062-remove-translate-offer-preference.patch
index 8c74736..7392be5 100644
--- a/build-chromium/patches/0056-remove-translate-offer-preference.patch
+++ b/build-chromium/patches/0062-remove-translate-offer-preference.patch
@@ -1,4 +1,4 @@
-From c1796c09be4c7411ed40b5cb2f627c3a695ece99 Mon Sep 17 00:00:00 2001
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Daniel Micay <danielmicay@gmail.com>
Date: Fri, 2 Aug 2019 21:11:17 -0400
Subject: [PATCH] remove translate offer preference
@@ -8,10 +8,10 @@
1 file changed, 1 insertion(+), 20 deletions(-)
diff --git a/chrome/browser/language/android/java/src/org/chromium/chrome/browser/language/settings/LanguageSettings.java b/chrome/browser/language/android/java/src/org/chromium/chrome/browser/language/settings/LanguageSettings.java
-index 2c8af6ded3ed0..4b45cb935d198 100644
+index 3d35cb516928f..4689ed7213cd7 100644
--- a/chrome/browser/language/android/java/src/org/chromium/chrome/browser/language/settings/LanguageSettings.java
+++ b/chrome/browser/language/android/java/src/org/chromium/chrome/browser/language/settings/LanguageSettings.java
-@@ -101,26 +101,7 @@ public class LanguageSettings extends PreferenceFragmentCompat
+@@ -109,26 +109,7 @@ public class LanguageSettings extends PreferenceFragmentCompat
(ContentLanguagesPreference) findPreference(PREFERRED_LANGUAGES_KEY);
mLanguageListPref.registerActivityLauncher(this);
diff --git a/build-chromium/patches/0064-add-trichrome-browser-apk-targets.patch b/build-chromium/patches/0064-add-trichrome-browser-apk-targets.patch
deleted file mode 100644
index 8059495..0000000
--- a/build-chromium/patches/0064-add-trichrome-browser-apk-targets.patch
+++ /dev/null
@@ -1,68 +0,0 @@
-From 945374555c5f26e4a22f6d304fed73ddc3774201 Mon Sep 17 00:00:00 2001
-From: Daniel Micay <danielmicay@gmail.com>
-Date: Thu, 27 May 2021 07:30:02 -0400
-Subject: [PATCH] add trichrome browser apk targets
-
----
- chrome/android/BUILD.gn | 41 +++++++++++++++++++++++++++++++++++++++++
- 1 file changed, 41 insertions(+)
-
-diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
-index 64e1be0d0514f..bf94b55cd44cb 100644
---- a/chrome/android/BUILD.gn
-+++ b/chrome/android/BUILD.gn
-@@ -2366,6 +2366,10 @@ if (current_toolchain == default_toolchain) {
- is_trichrome = true
- is_bundle_module = true
- }
-+ resource_packaging("trichrome_chrome_apk_pak_assets") {
-+ is_monochrome = false
-+ is_trichrome = true
-+ }
-
- # Java libraries that go into each public chrome APK and base module. The chrome
- # JNI registration is generated based on this target.
-@@ -2953,6 +2957,43 @@ if (current_toolchain == default_toolchain) {
- }
- }
- }
-+
-+monochrome_public_apk_or_module_tmpl("trichrome_chrome_apk") {
-+ version_code = trichrome_version_code
-+ version_name = chrome_version_name
-+ apk_name = "TrichromeChrome"
-+ target_type = "android_apk"
-+ use_trichrome_library = true
-+ static_library_provider = ":trichrome_library_apk"
-+ if (android_64bit_target_cpu) {
-+ is_64_bit_browser = false
-+ include_64_bit_webview = true
-+ }
-+}
-+
-+if (android_64bit_target_cpu) {
-+ monochrome_public_apk_or_module_tmpl("trichrome_chrome_64_32_apk") {
-+ version_code = trichrome_version_code
-+ version_name = chrome_version_name
-+ apk_name = "TrichromeChrome6432"
-+ target_type = "android_apk"
-+ use_trichrome_library = true
-+ static_library_provider = ":trichrome_library_64_32_apk"
-+ is_64_bit_browser = true
-+ include_32_bit_webview = true
-+ }
-+
-+ monochrome_public_apk_or_module_tmpl("trichrome_chrome_64_apk") {
-+ version_code = trichrome_version_code
-+ version_name = chrome_version_name
-+ apk_name = "TrichromeChrome64"
-+ target_type = "android_apk"
-+ use_trichrome_library = true
-+ static_library_provider = ":trichrome_library_64_apk"
-+ is_64_bit_browser = true
-+ include_32_bit_webview = false
-+ }
-+}
-
- chrome_public_unit_test_apk_manifest =
- "$root_gen_dir/chrome_public_unit_test_apk_manifest/AndroidManifest.xml"
diff --git a/build-chromium/patches/0065-Move-search-suggestions-back-to-privacy-section.patch b/build-chromium/patches/0065-Move-search-suggestions-back-to-privacy-section.patch
deleted file mode 100644
index 22ed99a..0000000
--- a/build-chromium/patches/0065-Move-search-suggestions-back-to-privacy-section.patch
+++ /dev/null
@@ -1,76 +0,0 @@
-From 73135590d42bc5c6dfe6bbad4ac7f78d1d70f3c7 Mon Sep 17 00:00:00 2001
-From: fgei <fgei@gmail.com>
-Date: Fri, 20 Aug 2021 16:13:42 +0000
-Subject: [PATCH] Move search suggestions back to privacy section.
-
----
- .../java/res/xml/privacy_preferences.xml | 5 +++++
- .../privacy/settings/PrivacySettings.java | 18 +++++++++++++++++-
- 2 files changed, 22 insertions(+), 1 deletion(-)
-
-diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/android/java/res/xml/privacy_preferences.xml
-index e7c1075834bfc..4761252eb94f0 100644
---- a/chrome/android/java/res/xml/privacy_preferences.xml
-+++ b/chrome/android/java/res/xml/privacy_preferences.xml
-@@ -28,6 +28,11 @@ found in the LICENSE file.
- android:key="https_first_mode"
- android:title="@string/settings_https_first_mode_title"
- android:summary="@string/settings_https_first_mode_summary"/>
-+ <org.chromium.components.browser_ui.settings.ChromeSwitchPreference
-+ android:key="search_suggestions"
-+ android:title="@string/autocomplete_searches_and_urls_title"
-+ android:summary="@string/autocomplete_searches_and_urls_summary"
-+ android:persistent="false"/>
- <org.chromium.chrome.browser.incognito.reauth.IncognitoReauthSettingSwitchPreference
- android:key="incognito_lock"
- android:title="@string/settings_incognito_tab_lock_title"
-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
-index da126b63a3d93..79c75cba0cdfb 100644
---- 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
-@@ -60,6 +60,7 @@ public class PrivacySettings
- private static final String PREF_PRELOAD_PAGES = "preload_pages";
- private static final String PREF_HTTPS_FIRST_MODE = "https_first_mode";
- private static final String PREF_SECURE_DNS = "secure_dns";
-+ private static final String PREF_SEARCH_SUGGESTIONS = "search_suggestions";
- private static final String PREF_USAGE_STATS = "usage_stats_reporting";
- private static final String PREF_DO_NOT_TRACK = "do_not_track";
- private static final String PREF_SAFE_BROWSING = "safe_browsing";
-@@ -129,6 +130,11 @@ public class PrivacySettings
-
- mManagedPreferenceDelegate = createManagedPreferenceDelegate();
-
-+ ChromeSwitchPreference searchSuggestionsPref =
-+ (ChromeSwitchPreference) findPreference(PREF_SEARCH_SUGGESTIONS);
-+ searchSuggestionsPref.setOnPreferenceChangeListener(this);
-+ searchSuggestionsPref.setManagedPreferenceDelegate(mManagedPreferenceDelegate);
-+
- ChromeSwitchPreference canMakePaymentPref =
- (ChromeSwitchPreference) findPreference(PREF_CAN_MAKE_PAYMENT);
- canMakePaymentPref.setOnPreferenceChangeListener(this);
-@@ -186,7 +192,10 @@ public class PrivacySettings
- @Override
- public boolean onPreferenceChange(Preference preference, Object newValue) {
- String key = preference.getKey();
-- if (PREF_CAN_MAKE_PAYMENT.equals(key)) {
-+ if (PREF_SEARCH_SUGGESTIONS.equals(key)) {
-+ UserPrefs.get(Profile.getLastUsedRegularProfile())
-+ .setBoolean(Pref.SEARCH_SUGGEST_ENABLED, (boolean) newValue);
-+ } else if (PREF_CAN_MAKE_PAYMENT.equals(key)) {
- UserPrefs.get(Profile.getLastUsedRegularProfile())
- .setBoolean(Pref.CAN_MAKE_PAYMENT_ENABLED, (boolean) newValue);
- } else if (PREF_HTTPS_FIRST_MODE.equals(key)) {
-@@ -214,6 +223,13 @@ public class PrivacySettings
- canMakePaymentPref.setChecked(prefService.getBoolean(Pref.CAN_MAKE_PAYMENT_ENABLED));
- }
-
-+ ChromeSwitchPreference searchSuggestionsPref =
-+ (ChromeSwitchPreference) findPreference(PREF_SEARCH_SUGGESTIONS);
-+ if (searchSuggestionsPref != null) {
-+ searchSuggestionsPref.setChecked(prefService.getBoolean(Pref.SEARCH_SUGGEST_ENABLED));
-+ }
-+
-+
- Preference doNotTrackPref = findPreference(PREF_DO_NOT_TRACK);
- if (doNotTrackPref != null) {
- doNotTrackPref.setSummary(prefService.getBoolean(Pref.ENABLE_DO_NOT_TRACK)
diff --git a/build-chromium/patches/0060-disable-Omaha-update-check-support.patch b/build-chromium/patches/0066-disable-Omaha-update-check-support.patch
similarity index 88%
rename from build-chromium/patches/0060-disable-Omaha-update-check-support.patch
rename to build-chromium/patches/0066-disable-Omaha-update-check-support.patch
index 5b61b7a..8f017c3 100644
--- a/build-chromium/patches/0060-disable-Omaha-update-check-support.patch
+++ b/build-chromium/patches/0066-disable-Omaha-update-check-support.patch
@@ -1,4 +1,4 @@
-From 0a1a5dd407b128536a022e9889b6e0c8e4a0e6a8 Mon Sep 17 00:00:00 2001
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Daniel Micay <danielmicay@gmail.com>
Date: Wed, 18 Nov 2020 19:13:27 -0500
Subject: [PATCH] disable Omaha update check support
@@ -9,7 +9,7 @@
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/omaha/OmahaBase.java b/chrome/android/java/src/org/chromium/chrome/browser/omaha/OmahaBase.java
-index 31c90fc5f7675..b3ee632ddf7dd 100644
+index 81108fdc4f5e9..9e57118fbf0f9 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/omaha/OmahaBase.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/omaha/OmahaBase.java
@@ -157,7 +157,7 @@ public class OmahaBase {
@@ -22,10 +22,10 @@
/**
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/omaha/VersionNumberGetter.java b/chrome/android/java/src/org/chromium/chrome/browser/omaha/VersionNumberGetter.java
-index 56e5121a40de1..32ca8d7e4d54b 100644
+index bf9c4eef05cf0..2e2129cd3383b 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/omaha/VersionNumberGetter.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/omaha/VersionNumberGetter.java
-@@ -47,7 +47,7 @@ public class VersionNumberGetter {
+@@ -51,7 +51,7 @@ public class VersionNumberGetter {
private static VersionNumberGetter sInstanceForTests;
/** If false, OmahaClient will never report that a newer version is available. */
diff --git a/build-chromium/patches/0062-remove-safety-check-menu.patch b/build-chromium/patches/0068-remove-safety-check-menu.patch
similarity index 80%
rename from build-chromium/patches/0062-remove-safety-check-menu.patch
rename to build-chromium/patches/0068-remove-safety-check-menu.patch
index 06a2b00..fb73cc3 100644
--- a/build-chromium/patches/0062-remove-safety-check-menu.patch
+++ b/build-chromium/patches/0068-remove-safety-check-menu.patch
@@ -1,4 +1,4 @@
-From a3092a526b2d16a3eefcdcfe9b336ea593fe862c Mon Sep 17 00:00:00 2001
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Daniel Micay <danielmicay@gmail.com>
Date: Tue, 25 May 2021 16:43:39 -0400
Subject: [PATCH] remove safety check menu
@@ -8,11 +8,11 @@
1 file changed, 2 insertions(+)
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/MainSettings.java b/chrome/android/java/src/org/chromium/chrome/browser/settings/MainSettings.java
-index c72bed9714299..bd097737d5a34 100644
+index 16879dbc752cc..0f8e31e160cbb 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/settings/MainSettings.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/settings/MainSettings.java
-@@ -216,6 +216,8 @@ public class MainSettings extends PreferenceFragmentCompat
- TemplateUrlServiceFactory.get().load();
+@@ -209,6 +209,8 @@ public class MainSettings extends PreferenceFragmentCompat
+ templateUrlService.load();
}
+ getPreferenceScreen().removePreference(findPreference(PREF_SAFETY_CHECK));
diff --git a/build-chromium/patches/0070-add-trichrome-browser-apk-targets.patch b/build-chromium/patches/0070-add-trichrome-browser-apk-targets.patch
new file mode 100644
index 0000000..854ee7f
--- /dev/null
+++ b/build-chromium/patches/0070-add-trichrome-browser-apk-targets.patch
@@ -0,0 +1,76 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Daniel Micay <danielmicay@gmail.com>
+Date: Thu, 27 May 2021 07:30:02 -0400
+Subject: [PATCH] add trichrome browser apk targets
+
+---
+ chrome/android/BUILD.gn | 35 +++++++++++++++++++++++
+ chrome/android/chrome_public_apk_tmpl.gni | 2 ++
+ 2 files changed, 37 insertions(+)
+
+diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
+index 70023630d6839..ad40428bf989b 100644
+--- a/chrome/android/BUILD.gn
++++ b/chrome/android/BUILD.gn
+@@ -2181,6 +2181,10 @@ if (current_toolchain == default_toolchain) {
+ is_trichrome = true
+ is_bundle_module = true
+ }
++ resource_packaging("trichrome_chrome_apk_pak_assets") {
++ is_monochrome = false
++ is_trichrome = true
++ }
+
+ # Java libraries that go into each public chrome APK and base module. The chrome
+ # JNI registration is generated based on this target.
+@@ -2537,6 +2541,37 @@ if (current_toolchain == default_toolchain) {
+ }
+ }
+ }
++
++ chrome_public_apk_or_module_tmpl("trichrome_chrome_apk") {
++ apk_name = "TrichromeChrome"
++ is_trichrome = true
++ target_type = "android_apk"
++ static_library_provider = ":trichrome_library_apk"
++ if (android_64bit_target_cpu) {
++ is_64_bit_browser = false
++ include_64_bit_webview = true
++ }
++ }
++
++ if (android_64bit_target_cpu) {
++ chrome_public_apk_or_module_tmpl("trichrome_chrome_64_32_apk") {
++ apk_name = "TrichromeChrome6432"
++ is_trichrome = true
++ target_type = "android_apk"
++ static_library_provider = ":trichrome_library_64_32_apk"
++ is_64_bit_browser = true
++ include_32_bit_webview = true
++ }
++
++ chrome_public_apk_or_module_tmpl("trichrome_chrome_64_apk") {
++ apk_name = "TrichromeChrome64"
++ is_trichrome = true
++ target_type = "android_apk"
++ static_library_provider = ":trichrome_library_64_apk"
++ is_64_bit_browser = true
++ include_32_bit_webview = false
++ }
++ }
+
+ # As compared to chrome_public_test_apk, this target contains only unit tests
+ # that require on device capabilities. These tests are smaller, more tightly
+diff --git a/chrome/android/chrome_public_apk_tmpl.gni b/chrome/android/chrome_public_apk_tmpl.gni
+index eeb286b07aae6..a27651ee9644c 100644
+--- a/chrome/android/chrome_public_apk_tmpl.gni
++++ b/chrome/android/chrome_public_apk_tmpl.gni
+@@ -453,6 +453,8 @@ template("chrome_common_apk_or_module_tmpl") {
+ deps += [ "//chrome/android:chrome_bundle_module_pak_assets" ]
+ } else if (_is_monochrome) {
+ deps += [ "//chrome/android:monochrome_apk_pak_assets" ]
++ } else if (_is_trichrome) {
++ deps += [ "//chrome/android:trichrome_chrome_apk_pak_assets" ]
+ } else {
+ assert(!_is_trichrome)
+ deps += [ "//chrome/android:chrome_apk_pak_assets" ]
diff --git a/build-chromium/patches/0071-Move-search-suggestions-back-to-privacy-section.patch b/build-chromium/patches/0071-Move-search-suggestions-back-to-privacy-section.patch
new file mode 100644
index 0000000..96dbbd1
--- /dev/null
+++ b/build-chromium/patches/0071-Move-search-suggestions-back-to-privacy-section.patch
@@ -0,0 +1,81 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: fgei <fgei@gmail.com>
+Date: Fri, 20 Aug 2021 16:13:42 +0000
+Subject: [PATCH] Move search suggestions back to privacy section.
+
+---
+ .../java/res/xml/privacy_preferences_ext.xml | 5 +++++
+ .../privacy/settings/PrivacySettingsExt.java | 20 +++++++++++++++++++
+ 2 files changed, 25 insertions(+)
+
+diff --git a/chrome/android/java/res/xml/privacy_preferences_ext.xml b/chrome/android/java/res/xml/privacy_preferences_ext.xml
+index a352cd657b1b9..01e8c8217afed 100644
+--- a/chrome/android/java/res/xml/privacy_preferences_ext.xml
++++ b/chrome/android/java/res/xml/privacy_preferences_ext.xml
+@@ -5,5 +5,10 @@ that can be found in the LICENSE file.
+ -->
+ <PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:app="http://schemas.android.com/apk/res-auto">
++ <org.chromium.components.browser_ui.settings.ChromeSwitchPreference
++ android:key="search_suggestions"
++ android:title="@string/improve_search_suggestions_title"
++ android:summary="@string/improve_search_suggestions_summary"
++ android:persistent="false"/>
+ </PreferenceScreen>
+
+diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettingsExt.java b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettingsExt.java
+index 00a65cf922353..d627ead5ee9d0 100644
+--- a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettingsExt.java
++++ b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettingsExt.java
+@@ -25,6 +25,8 @@ import org.chromium.components.user_prefs.UserPrefs;
+
+ final class PrivacySettingsExt {
+
++ private static final String PREF_SEARCH_SUGGESTIONS = "search_suggestions";
++
+ private static final Preference.OnPreferenceChangeListener LISTENER =
+ (pref, val) -> {
+ PrefService prefService = UserPrefs.get(Profile.getLastUsedRegularProfile());
+@@ -32,6 +34,9 @@ final class PrivacySettingsExt {
+ return false;
+ }
+ String key = pref.getKey();
++ if (PREF_SEARCH_SUGGESTIONS.equals(key)) {
++ prefService.setBoolean(Pref.SEARCH_SUGGEST_ENABLED, (boolean) val);
++ }
+ return true;
+ };
+
+@@ -42,6 +47,9 @@ final class PrivacySettingsExt {
+ return false;
+ }
+ String key = pref.getKey();
++ if (PREF_SEARCH_SUGGESTIONS.equals(key)) {
++ return prefService.isManagedPreference(Pref.SEARCH_SUGGEST_ENABLED);
++ }
+ return false;
+ };
+
+@@ -58,10 +66,22 @@ final class PrivacySettingsExt {
+ int SECURITY_PREFERENCES_ORDER =
+ ChromeFeatureList.isEnabled(ChromeFeatureList.PRIVACY_SANDBOX_SETTINGS_4) ? 2 : 9999;
+ SettingsUtils.addPreferencesFromResource(prefFragment, R.xml.privacy_preferences_ext);
++ ChromeSwitchPreference searchSuggestionsPref =
++ (ChromeSwitchPreference) prefFragment.findPreference(PREF_SEARCH_SUGGESTIONS);
++ if (searchSuggestionsPref != null) {
++ searchSuggestionsPref.setOrder(PRIVACY_PREFERENCES_ORDER);
++ searchSuggestionsPref.setOnPreferenceChangeListener(LISTENER);
++ searchSuggestionsPref.setManagedPreferenceDelegate(DELEGATE);
++ }
+ }
+
+ static void updatePreferences(@NonNull PreferenceFragmentCompat prefFragment) {
+ ThreadUtils.checkUiThread();
+ PrefService prefService = UserPrefs.get(Profile.getLastUsedRegularProfile());
++ ChromeSwitchPreference searchSuggestionsPref =
++ (ChromeSwitchPreference) prefFragment.findPreference(PREF_SEARCH_SUGGESTIONS);
++ SettingsExtUtils.safelyUpdateSwitchPreference(/* switchPref */ searchSuggestionsPref,
++ /* newSummary*/ null,
++ /* newCheckedValue*/ prefService.getBoolean(Pref.SEARCH_SUGGEST_ENABLED));
+ }
+ }
diff --git a/build-chromium/patches/0068-remove-unwanted-sync-and-services-link.patch b/build-chromium/patches/0074-remove-unwanted-sync-and-services-link.patch
similarity index 86%
rename from build-chromium/patches/0068-remove-unwanted-sync-and-services-link.patch
rename to build-chromium/patches/0074-remove-unwanted-sync-and-services-link.patch
index 13b204a..889b032 100644
--- a/build-chromium/patches/0068-remove-unwanted-sync-and-services-link.patch
+++ b/build-chromium/patches/0074-remove-unwanted-sync-and-services-link.patch
@@ -1,4 +1,4 @@
-From 47c466ba2e1e4b2a4e1feaf28fe09c038dc25797 Mon Sep 17 00:00:00 2001
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Daniel Micay <danielmicay@gmail.com>
Date: Sat, 7 Aug 2021 15:01:54 -0400
Subject: [PATCH] remove unwanted sync and services link
@@ -8,10 +8,10 @@
1 file changed, 1 insertion(+), 2 deletions(-)
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
-index 79c75cba0cdfb..06c0b8ba3c941 100644
+index 26218b5511044..fe8df089a3c76 100644
--- 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
-@@ -151,8 +151,7 @@ public class PrivacySettings
+@@ -176,8 +176,7 @@ public class PrivacySettings extends PreferenceFragmentCompat
Preference secureDnsPref = findPreference(PREF_SECURE_DNS);
secureDnsPref.setVisible(SecureDnsSettings.isUiEnabled());
diff --git a/build-chromium/patches/0069-remove-unwanted-account-and-services-section.patch b/build-chromium/patches/0075-remove-unwanted-account-and-services-section.patch
similarity index 86%
rename from build-chromium/patches/0069-remove-unwanted-account-and-services-section.patch
rename to build-chromium/patches/0075-remove-unwanted-account-and-services-section.patch
index 8789ec0..1f07739 100644
--- a/build-chromium/patches/0069-remove-unwanted-account-and-services-section.patch
+++ b/build-chromium/patches/0075-remove-unwanted-account-and-services-section.patch
@@ -1,4 +1,4 @@
-From 4cc93048a5b325e7076de379bf8027e3890be240 Mon Sep 17 00:00:00 2001
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: fgei <fgei@gmail.com>
Date: Fri, 20 Aug 2021 16:13:42 +0000
Subject: [PATCH] remove unwanted account and services section
@@ -8,10 +8,10 @@
1 file changed, 2 insertions(+)
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/MainSettings.java b/chrome/android/java/src/org/chromium/chrome/browser/settings/MainSettings.java
-index bd097737d5a34..cd202add8cba2 100644
+index 0f8e31e160cbb..17088c8d6c9df 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/settings/MainSettings.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/settings/MainSettings.java
-@@ -217,6 +217,8 @@ public class MainSettings extends PreferenceFragmentCompat
+@@ -210,6 +210,8 @@ public class MainSettings extends PreferenceFragmentCompat
}
getPreferenceScreen().removePreference(findPreference(PREF_SAFETY_CHECK));
diff --git a/build-chromium/patches/0070-Hide-Sign-In-preference-when-disallowed.patch b/build-chromium/patches/0076-Hide-Sign-In-preference-when-disallowed.patch
similarity index 83%
rename from build-chromium/patches/0070-Hide-Sign-In-preference-when-disallowed.patch
rename to build-chromium/patches/0076-Hide-Sign-In-preference-when-disallowed.patch
index 0ffef32..f1fc87b 100644
--- a/build-chromium/patches/0070-Hide-Sign-In-preference-when-disallowed.patch
+++ b/build-chromium/patches/0076-Hide-Sign-In-preference-when-disallowed.patch
@@ -1,4 +1,4 @@
-From 49cc7a5a936a8f83195ec0fb15adaf56bd77a56c Mon Sep 17 00:00:00 2001
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: fgei <fgei@gmail.com>
Date: Sun, 29 Aug 2021 19:31:00 +0000
Subject: [PATCH] Hide Sign In preference when disallowed
@@ -8,10 +8,10 @@
1 file changed, 1 insertion(+)
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/sync/settings/SignInPreference.java b/chrome/android/java/src/org/chromium/chrome/browser/sync/settings/SignInPreference.java
-index 5112a89b1070b..478b3463347ba 100644
+index 2e52171a9acd9..66bed04ba16c3 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/sync/settings/SignInPreference.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/sync/settings/SignInPreference.java
-@@ -149,6 +149,7 @@ public class SignInPreference
+@@ -151,6 +151,7 @@ public class SignInPreference
}
private void setupSigninDisallowed() {
diff --git a/build-chromium/patches/0071-disable-using-Play-services-fonts.patch b/build-chromium/patches/0077-disable-using-Play-services-fonts.patch
similarity index 95%
rename from build-chromium/patches/0071-disable-using-Play-services-fonts.patch
rename to build-chromium/patches/0077-disable-using-Play-services-fonts.patch
index 1ce9fdf..011049e 100644
--- a/build-chromium/patches/0071-disable-using-Play-services-fonts.patch
+++ b/build-chromium/patches/0077-disable-using-Play-services-fonts.patch
@@ -1,4 +1,4 @@
-From 49a8fc62a0542e91b7daa0bb92c266182d6b7d6c Mon Sep 17 00:00:00 2001
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Daniel Micay <danielmicay@gmail.com>
Date: Wed, 1 Sep 2021 02:09:14 -0400
Subject: [PATCH] disable using Play services fonts
diff --git a/build-chromium/patches/0101-Remove-not-applicable-additional-terms-of-services.patch b/build-chromium/patches/0101-Remove-not-applicable-additional-terms-of-services.patch
new file mode 100644
index 0000000..fab57da
--- /dev/null
+++ b/build-chromium/patches/0101-Remove-not-applicable-additional-terms-of-services.patch
@@ -0,0 +1,24 @@
+From e9360634eaf19876f1d0a9d4c76a429cff88d4ff Mon Sep 17 00:00:00 2001
+From: quh4gko8 <88831734+quh4gko8@users.noreply.github.com>
+Date: Wed, 19 Apr 2023 13:16:49 +0000
+Subject: [PATCH] Remove not applicable additional terms of services
+
+---
+ chrome/android/java/res/xml/legal_information_preferences.xml | 4 ----
+ 1 file changed, 4 deletions(-)
+
+diff --git a/chrome/android/java/res/xml/legal_information_preferences.xml b/chrome/android/java/res/xml/legal_information_preferences.xml
+index 32067c19d4f7a..e386dc0765491 100644
+--- a/chrome/android/java/res/xml/legal_information_preferences.xml
++++ b/chrome/android/java/res/xml/legal_information_preferences.xml
+@@ -16,10 +16,6 @@ found in the LICENSE file.
+ android:key="google_terms_of_service"
+ android:title="@string/google_terms_of_service_title"
+ app:url="@string/google_terms_of_service_url" />
+- <org.chromium.chrome.browser.about_settings.HyperlinkPreference
+- android:key="chrome_additional_terms_of_service"
+- android:title="@string/chrome_additional_terms_of_service_title"
+- app:url="@string/chrome_additional_terms_of_service_url" />
+ <org.chromium.chrome.browser.about_settings.HyperlinkPreference
+ android:key="privacy_policy"
+ android:title="@string/privacy_policy_title"