diff --git a/build-chromium/build-chromium.sh b/build-chromium/build-chromium.sh
index a281aa6..261274a 100755
--- a/build-chromium/build-chromium.sh
+++ b/build-chromium/build-chromium.sh
@@ -2,8 +2,8 @@
 
 set -e
 
-chromium_version="108.0.5359.79"
-chromium_code="5359079"
+chromium_version="110.0.5481.61"
+chromium_code="5481061"
 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 a819a86..c7c5d9e 100644
--- a/build-chromium/patches/0002-use-64-bit-WebView-processes.patch
+++ b/build-chromium/patches/0002-use-64-bit-WebView-processes.patch
@@ -1,4 +1,4 @@
-From 731ee704e05cbc54d4b2937ea1a0c1b72dfb555a Mon Sep 17 00:00:00 2001
+From af0cb17d5e484c7b9dd89062e2de6a76ec310c10 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
@@ -8,7 +8,7 @@
  1 file changed, 1 deletion(-)
 
 diff --git a/android_webview/nonembedded/java/AndroidManifest.xml b/android_webview/nonembedded/java/AndroidManifest.xml
-index 82b280bc6b298..1c38c6a4e5b32 100644
+index a6ec0a7d6391c..ce806a2233dde 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.
@@ -16,6 +16,6 @@
                   android:name="{{ application_name|default('org.chromium.android_webview.nonembedded.WebViewApkApplication') }}"
                   android:multiArch="true"
 -                 {{ use32bitAbi|default('android:use32bitAbi="true"') }}
-                  android:extractNativeLibs="{{ trichrome_library is not defined }}">
+                  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 f833d12..7e7df32 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 94b2ff82ff9b37fd0578f813d21cb145dde0948e Mon Sep 17 00:00:00 2001
+From 2312c16024f3202c7951c8a5d2983010f566192a 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,10 +8,10 @@
  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 52173bd406be9..4273435e98bd1 100644
+index 8719c7a507ca3..b7b867ca4fd1e 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
-@@ -547,6 +547,8 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate
+@@ -553,6 +553,8 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate
          menu.findItem(R.id.reader_mode_prefs_id)
                  .setVisible(isCurrentTabNotNull && shouldShowReaderModePrefs(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 aa93f96..d4c732d 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 946bac247554e8d53bbc99e76814f248591690d2 Mon Sep 17 00:00:00 2001
+From 18f4aa9cfe152d29b92bdf6489b41b8258187e3d 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
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 7dbb55d..3e66229 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 565528abd8ddd9c4c8eb08d54468a862729a1352 Mon Sep 17 00:00:00 2001
+From ab6d8cab9e387b11c102f874ad0e9800bff11196 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
diff --git a/build-chromium/patches/0022-disable-metrics-by-default.patch b/build-chromium/patches/0022-disable-metrics-by-default.patch
index 2c26f5b..7661158 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 98950706bb4dd5ad747bc67d3f2237c604c5deef Mon Sep 17 00:00:00 2001
+From 4fa667470fbf7d4519dcd37a6f995443ffc46dc1 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,7 +8,7 @@
  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 5a6ab47c4e220..bb0fce1d5226c 100644
+index 487be0e02d26e..7d30473f6bca2 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 {
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 5e09a5e..19a33e9 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 08c086fb3c355f7fd55a8216ceea3b7c37802f31 Mon Sep 17 00:00:00 2001
+From 0a70c6c84a098d0a65df590f9bda22213af7d782 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 d35052b2fec1c..89290a176f526 100644
+index 8b29a14102ba0..48df4146cd5d0 100644
 --- a/components/ntp_tiles/features.cc
 +++ b/components/ntp_tiles/features.cc
-@@ -14,7 +14,7 @@ const char kPopularSitesFieldTrialName[] = "NTPPopularSites";
+@@ -18,7 +18,7 @@ const char kIOSPopularSitesExcludePopularAppsParam[] =
  
  BASE_FEATURE(kPopularSitesBakedInContentFeature,
               "NTPPopularSitesBakedInContent",
@@ -20,11 +20,12 @@
  
  BASE_FEATURE(kNtpMostLikelyFaviconsFromServerFeature,
               "NTPMostLikelyFaviconsFromServer",
-@@ -22,6 +22,6 @@ BASE_FEATURE(kNtpMostLikelyFaviconsFromServerFeature,
+@@ -26,7 +26,7 @@ BASE_FEATURE(kNtpMostLikelyFaviconsFromServerFeature,
  
  BASE_FEATURE(kUsePopularSitesSuggestions,
               "UsePopularSitesSuggestions",
 -             base::FEATURE_ENABLED_BY_DEFAULT);
 +             base::FEATURE_DISABLED_BY_DEFAULT);
  
- }  // namespace ntp_tiles
+ BASE_FEATURE(kIOSPopularSitesImprovedSuggestions,
+              "IOSPopularSitesImprovedSuggestions",
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 6bf96ba..d453fae 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,4 +1,4 @@
-From 0c85c458895eee4690198bb58d735d46ead0f5bc Mon Sep 17 00:00:00 2001
+From ff6cc8f6f97030e03a49e2b3246a158c5b0f2fc3 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
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 4c56b53..4a40236 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,28 +1,28 @@
-From beb94a379db43e249b4e9c7aa260ef557911f6ac Mon Sep 17 00:00:00 2001
+From e10113e64e72b4526c3eb2c6b1e8572777298bdb 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
 
 ---
- .../org/chromium/chrome/browser/flags/CachedFeatureFlags.java   | 2 +-
+ .../org/chromium/chrome/browser/flags/ChromeFeatureList.java    | 2 +-
  components/feed/feed_feature_list.cc                            | 2 +-
  2 files changed, 2 insertions(+), 2 deletions(-)
 
-diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/CachedFeatureFlags.java b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/CachedFeatureFlags.java
-index a4efd60024847..35b3ca107081d 100644
---- a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/CachedFeatureFlags.java
-+++ b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/CachedFeatureFlags.java
-@@ -78,7 +78,7 @@ public class CachedFeatureFlags {
-                     .put(ChromeFeatureList.INCOGNITO_REAUTHENTICATION_FOR_ANDROID, false)
-                     .put(ChromeFeatureList.INSTANCE_SWITCHER, true)
-                     .put(ChromeFeatureList.INSTANT_START, false)
--                    .put(ChromeFeatureList.INTEREST_FEED_V2, true)
-+                    .put(ChromeFeatureList.INTEREST_FEED_V2, false)
-                     .put(ChromeFeatureList.LENS_CAMERA_ASSISTED_SEARCH, false)
-                     .put(ChromeFeatureList.NEW_WINDOW_APP_MENU, true)
-                     .put(ChromeFeatureList.OMAHA_MIN_SDK_VERSION_ANDROID, false)
+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
+--- 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 {
+             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);
+-    public static final CachedFlag sInterestFeedV2 = new CachedFlag(INTEREST_FEED_V2, true);
++    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);
 diff --git a/components/feed/feed_feature_list.cc b/components/feed/feed_feature_list.cc
-index 198b24c5c9b5d..72c52bcb64c28 100644
+index 2d91c53f94dac..df7e569c24cf0 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 04270f2..5678101 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 8ddb0abee5dadcadad3a07e50eb19645e14875fa Mon Sep 17 00:00:00 2001
+From e33cb62e6f6dd46e9c942198a84391137e9071d2 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 5aa06a5..eabd52e 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 f1018667e7c52db1874e4093496a1a5c8d2996cb Mon Sep 17 00:00:00 2001
+From 5f059a77358a3a183f608698927cc6261db803ae 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 862329ef31459..1cfbc3b4f55dc 100644
+index 516be25ee310a..38e705e3004ea 100644
 --- a/chrome/browser/media/router/media_router_feature.cc
 +++ b/chrome/browser/media/router/media_router_feature.cc
-@@ -119,7 +119,7 @@ void RegisterProfilePrefs(PrefRegistrySimple* registry) {
+@@ -131,7 +131,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(
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 a0bff6e..7bcfdcc 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 4b4e64a988f251d4492e9761ba13e3293cd4a961 Mon Sep 17 00:00:00 2001
+From 9a0d437c62db2b7068d61a70359a44e6af48765a 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 1cfbc3b4f55dc..3bdbae40e0d37 100644
+index 38e705e3004ea..3f9ce1554fc50 100644
 --- a/chrome/browser/media/router/media_router_feature.cc
 +++ b/chrome/browser/media/router/media_router_feature.cc
-@@ -105,7 +105,7 @@ bool MediaRouterEnabled(content::BrowserContext* context) {
+@@ -118,7 +118,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 2b1fd89740659..2cbba877a48ba 100644
+index 0e17f238a710c..20d3f78c175a7 100644
 --- a/chrome/browser/profiles/profile_impl.cc
 +++ b/chrome/browser/profiles/profile_impl.cc
-@@ -411,7 +411,7 @@ void ProfileImpl::RegisterProfilePrefs(
+@@ -412,7 +412,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 56d237d..d35d094 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 6e3aaf061853ebadbb99513e11271c081d2316df Mon Sep 17 00:00:00 2001
+From 707df56cdff5b02f61f9ad4e392a850cace66116 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
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 56acf85..bef3743 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 796fa275d7cd8ffeb9ccb943c0acad08245be08f Mon Sep 17 00:00:00 2001
+From db0bd608ca032ae6681bc3b38abdb86a1282a42e 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
@@ -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 d8b6883073669..2ddc389f975e6 100644
+index ec3ea7dcd2c5d..f161a885416f4 100644
 --- a/components/signin/internal/identity_manager/primary_account_manager.cc
 +++ b/components/signin/internal/identity_manager/primary_account_manager.cc
-@@ -52,7 +52,7 @@ void PrimaryAccountManager::RegisterProfilePrefs(PrefRegistrySimple* registry) {
+@@ -88,7 +88,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/0045-disable-autofill-assistant-by-default.patch b/build-chromium/patches/0045-disable-autofill-assistant-by-default.patch
deleted file mode 100644
index c7c73e7..0000000
--- a/build-chromium/patches/0045-disable-autofill-assistant-by-default.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From f5cf957c00fe5bcde44c487eda25bddb307a90de Mon Sep 17 00:00:00 2001
-From: Daniel Micay <danielmicay@gmail.com>
-Date: Fri, 27 Nov 2020 02:43:37 -0500
-Subject: [PATCH] disable autofill assistant by default
-
----
- components/autofill_assistant/browser/features.cc | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/components/autofill_assistant/browser/features.cc b/components/autofill_assistant/browser/features.cc
-index 67b43661f31f5..55ce1551f735c 100644
---- a/components/autofill_assistant/browser/features.cc
-+++ b/components/autofill_assistant/browser/features.cc
-@@ -12,7 +12,7 @@ namespace features {
- // Controls whether to enable Autofill Assistant.
- BASE_FEATURE(kAutofillAssistant,
-              "AutofillAssistant",
--             base::FEATURE_ENABLED_BY_DEFAULT);
-+             base::FEATURE_DISABLED_BY_DEFAULT);
- 
- // Controls whether to enable Autofill Assistant's way of annotating DOM. If
- // enabled will create an |AnnotateDomModelService|.
-@@ -119,7 +119,7 @@ BASE_FEATURE(kAutofillAssistantLoadDFMForTriggerScripts,
- 
- BASE_FEATURE(kAutofillAssistantProactiveHelp,
-              "AutofillAssistantProactiveHelp",
--             base::FEATURE_ENABLED_BY_DEFAULT);
-+             base::FEATURE_DISABLED_BY_DEFAULT);
- 
- // Enables assistant UI (once the feature is enabled, scripts need to use the
- // USE_ASSISTANT_UI=true flag to use the assistant UI).
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 f181ed8..06d8c0a 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 cf2cc2d16b0235158597c086238e4de3711f3b04 Mon Sep 17 00:00:00 2001
+From 9d64864a32451739e848d4adf361392722c9ded3 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,10 +8,10 @@
  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 90b9ab996a343..5e79001039e07 100644
+index af6d86f76eb9a..52e41bf79037a 100644
 --- a/components/autofill/core/common/autofill_features.cc
 +++ b/components/autofill/core/common/autofill_features.cc
-@@ -512,7 +512,7 @@ const base::FeatureParam<int> kAutofillServerBehaviorsParam{
+@@ -449,7 +449,7 @@ const base::FeatureParam<int> kAutofillServerBehaviorsParam{
  // i.e., https://other.autofill.server:port/tbproxy/af/
  BASE_FEATURE(kAutofillServerCommunication,
               "AutofillServerCommunication",
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 8033b3b..fdfe662 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 b49424ca5a0e03cc236fcc388b2284b60cdcf14d Mon Sep 17 00:00:00 2001
+From 88d38521b311607d25e54472404c93db01950b2d 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
@@ -8,10 +8,10 @@
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/components/component_updater/component_updater_command_line_config_policy.h b/components/component_updater/component_updater_command_line_config_policy.h
-index 5a080ea473c61..e90a252d4f3f7 100644
+index 6c16b4e37a753..a627cb7ffd59c 100644
 --- a/components/component_updater/component_updater_command_line_config_policy.h
 +++ b/components/component_updater/component_updater_command_line_config_policy.h
-@@ -41,7 +41,7 @@ class ComponentUpdaterCommandLineConfigPolicy final
+@@ -42,7 +42,7 @@ class ComponentUpdaterCommandLineConfigPolicy final
    bool background_downloads_enabled_ = false;
    bool deltas_enabled_ = true;
    bool fast_update_ = false;
@@ -19,4 +19,4 @@
 +  bool pings_enabled_ = false;
    bool test_request_ = false;
  
-   // If non-zero, time interval in seconds until the first component
+   // If non-zero, time interval until the first component update check.
diff --git a/build-chromium/patches/0056-remove-translate-offer-preference.patch b/build-chromium/patches/0056-remove-translate-offer-preference.patch
index 6b76d97..8c74736 100644
--- a/build-chromium/patches/0056-remove-translate-offer-preference.patch
+++ b/build-chromium/patches/0056-remove-translate-offer-preference.patch
@@ -1,4 +1,4 @@
-From 46ca75ac42e01b954f3051bb0f7eec8dde815636 Mon Sep 17 00:00:00 2001
+From c1796c09be4c7411ed40b5cb2f627c3a695ece99 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
diff --git a/build-chromium/patches/0060-disable-Omaha-update-check-support.patch b/build-chromium/patches/0060-disable-Omaha-update-check-support.patch
index 4e3f63c..5b61b7a 100644
--- a/build-chromium/patches/0060-disable-Omaha-update-check-support.patch
+++ b/build-chromium/patches/0060-disable-Omaha-update-check-support.patch
@@ -1,4 +1,4 @@
-From c8eb1f72856ca3e8e53a857e8d5564900bc7a6d6 Mon Sep 17 00:00:00 2001
+From 0a1a5dd407b128536a022e9889b6e0c8e4a0e6a8 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,10 +9,10 @@
  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 4f80654a7db5a..e58b2de4da341 100644
+index 31c90fc5f7675..b3ee632ddf7dd 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
-@@ -160,7 +160,7 @@ public class OmahaBase {
+@@ -157,7 +157,7 @@ public class OmahaBase {
  
      /** See {@link #sIsDisabled}. */
      static boolean isDisabled() {
@@ -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 01eb29216e367..21b9a096997aa 100644
+index 56e5121a40de1..32ca8d7e4d54b 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
-@@ -48,7 +48,7 @@ public class VersionNumberGetter {
+@@ -47,7 +47,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/0062-remove-safety-check-menu.patch
index 603dcd0..06a2b00 100644
--- a/build-chromium/patches/0062-remove-safety-check-menu.patch
+++ b/build-chromium/patches/0062-remove-safety-check-menu.patch
@@ -1,4 +1,4 @@
-From 5a9a0498b8e3b7cfc3a7008181dea0373a599346 Mon Sep 17 00:00:00 2001
+From a3092a526b2d16a3eefcdcfe9b336ea593fe862c 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
diff --git a/build-chromium/patches/0064-add-trichrome-browser-apk-targets.patch b/build-chromium/patches/0064-add-trichrome-browser-apk-targets.patch
index 3ac8a25..8059495 100644
--- a/build-chromium/patches/0064-add-trichrome-browser-apk-targets.patch
+++ b/build-chromium/patches/0064-add-trichrome-browser-apk-targets.patch
@@ -1,37 +1,28 @@
-From 2f2f6a0b0663bec5ae7acd722338d2544b1c7457 Mon Sep 17 00:00:00 2001
+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 | 61 ++++++++++++++++++++++++++++++++++++++++-
- 1 file changed, 60 insertions(+), 1 deletion(-)
+ chrome/android/BUILD.gn | 41 +++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 41 insertions(+)
 
 diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
-index 7934ab9348808..17af636d2d7ab 100644
+index 64e1be0d0514f..bf94b55cd44cb 100644
 --- a/chrome/android/BUILD.gn
 +++ b/chrome/android/BUILD.gn
-@@ -2359,6 +2359,10 @@ if (current_toolchain == default_toolchain) {
-     is_monochrome = true
+@@ -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
 +  }
-   resource_packaging("trichrome_chrome_bundle_module_pak_assets") {
-     is_monochrome = false
-     is_trichrome = true
-@@ -2899,7 +2903,7 @@ if (current_toolchain == default_toolchain) {
  
-       if (trichrome_synchronized_proguard) {
-         webview_target = "//android_webview:trichrome_webview_apk"
--        chrome_target = ":trichrome_chrome_bundle"
-+        chrome_target = ":trichrome_chrome_apk"
-       }
- 
-       if (_enable_manifest_verification) {
-@@ -2954,6 +2958,61 @@ if (current_toolchain == default_toolchain) {
+   # 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) {
        }
      }
    }
@@ -43,12 +34,6 @@
 +  target_type = "android_apk"
 +  use_trichrome_library = true
 +  static_library_provider = ":trichrome_library_apk"
-+  if (!is_java_debug) {
-+    static_library_synchronized_proguard = trichrome_synchronized_proguard
-+    if (trichrome_synchronized_proguard) {
-+      resource_ids_provider_dep = "//android_webview:trichrome_webview_apk"
-+    }
-+  }
 +  if (android_64bit_target_cpu) {
 +    is_64_bit_browser = false
 +    include_64_bit_webview = true
@@ -63,12 +48,6 @@
 +    target_type = "android_apk"
 +    use_trichrome_library = true
 +    static_library_provider = ":trichrome_library_64_32_apk"
-+    if (!is_java_debug) {
-+      static_library_synchronized_proguard = trichrome_synchronized_proguard
-+      if (trichrome_synchronized_proguard) {
-+        resource_ids_provider_dep = "//android_webview:trichrome_webview_apk"
-+      }
-+    }
 +    is_64_bit_browser = true
 +    include_32_bit_webview = true
 +  }
@@ -80,12 +59,6 @@
 +    target_type = "android_apk"
 +    use_trichrome_library = true
 +    static_library_provider = ":trichrome_library_64_apk"
-+    if (!is_java_debug) {
-+      static_library_synchronized_proguard = trichrome_synchronized_proguard
-+      if (trichrome_synchronized_proguard) {
-+        resource_ids_provider_dep = "//android_webview:trichrome_webview_apk"
-+      }
-+    }
 +    is_64_bit_browser = true
 +    include_32_bit_webview = false
 +  }
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
index 1db59da..22ed99a 100644
--- 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
@@ -1,4 +1,4 @@
-From 1f3c5bec780301939b04539973eb9389d751a532 Mon Sep 17 00:00:00 2001
+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.
@@ -9,10 +9,10 @@
  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 eadd16fa6c6bf..860dde01cc01e 100644
+index e7c1075834bfc..4761252eb94f0 100644
 --- a/chrome/android/java/res/xml/privacy_preferences.xml
 +++ b/chrome/android/java/res/xml/privacy_preferences.xml
-@@ -27,6 +27,11 @@ found in the LICENSE file.
+@@ -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"/>
@@ -25,10 +25,10 @@
          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 ba173aab43533..241ef12e6753a 100644
+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
-@@ -54,6 +54,7 @@ public class PrivacySettings
+@@ -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";
@@ -36,7 +36,7 @@
      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";
-@@ -111,6 +112,11 @@ public class PrivacySettings
+@@ -129,6 +130,11 @@ public class PrivacySettings
  
          mManagedPreferenceDelegate = createManagedPreferenceDelegate();
  
@@ -48,7 +48,7 @@
          ChromeSwitchPreference canMakePaymentPref =
                  (ChromeSwitchPreference) findPreference(PREF_CAN_MAKE_PAYMENT);
          canMakePaymentPref.setOnPreferenceChangeListener(this);
-@@ -160,7 +166,10 @@ public class PrivacySettings
+@@ -186,7 +192,10 @@ public class PrivacySettings
      @Override
      public boolean onPreferenceChange(Preference preference, Object newValue) {
          String key = preference.getKey();
@@ -60,7 +60,7 @@
              UserPrefs.get(Profile.getLastUsedRegularProfile())
                      .setBoolean(Pref.CAN_MAKE_PAYMENT_ENABLED, (boolean) newValue);
          } else if (PREF_HTTPS_FIRST_MODE.equals(key)) {
-@@ -188,6 +197,13 @@ public class PrivacySettings
+@@ -214,6 +223,13 @@ public class PrivacySettings
              canMakePaymentPref.setChecked(prefService.getBoolean(Pref.CAN_MAKE_PAYMENT_ENABLED));
          }
  
diff --git a/build-chromium/patches/0068-remove-unwanted-sync-and-services-link.patch b/build-chromium/patches/0068-remove-unwanted-sync-and-services-link.patch
index ea0e970..13b204a 100644
--- a/build-chromium/patches/0068-remove-unwanted-sync-and-services-link.patch
+++ b/build-chromium/patches/0068-remove-unwanted-sync-and-services-link.patch
@@ -1,4 +1,4 @@
-From 04debf9af4c33c31812905b396a88f6130ea9e9e Mon Sep 17 00:00:00 2001
+From 47c466ba2e1e4b2a4e1feaf28fe09c038dc25797 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 241ef12e6753a..4ccb99d9dea69 100644
+index 79c75cba0cdfb..06c0b8ba3c941 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
-@@ -133,8 +133,7 @@ public class PrivacySettings
+@@ -151,8 +151,7 @@ public class PrivacySettings
          Preference secureDnsPref = findPreference(PREF_SECURE_DNS);
          secureDnsPref.setVisible(SecureDnsSettings.isUiEnabled());
  
@@ -19,5 +19,5 @@
 -        syncAndServicesLink.setSummary(buildSyncAndServicesLink());
 +        getPreferenceScreen().removePreference(findPreference(PREF_SYNC_AND_SERVICES_LINK));
  
-         updatePreferences();
-     }
+         Preference thirdPartyCookies = findPreference(PREF_THIRD_PARTY_COOKIES);
+         if (thirdPartyCookies != null) {
diff --git a/build-chromium/patches/0069-remove-unwanted-account-and-services-section.patch b/build-chromium/patches/0069-remove-unwanted-account-and-services-section.patch
index 30f4f2a..8789ec0 100644
--- a/build-chromium/patches/0069-remove-unwanted-account-and-services-section.patch
+++ b/build-chromium/patches/0069-remove-unwanted-account-and-services-section.patch
@@ -1,4 +1,4 @@
-From 4cfad906d7cd21bd99bb00e999f0f23e786ed0c9 Mon Sep 17 00:00:00 2001
+From 4cc93048a5b325e7076de379bf8027e3890be240 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
diff --git a/build-chromium/patches/0070-Hide-Sign-In-preference-when-disallowed.patch b/build-chromium/patches/0070-Hide-Sign-In-preference-when-disallowed.patch
index e512923..0ffef32 100644
--- a/build-chromium/patches/0070-Hide-Sign-In-preference-when-disallowed.patch
+++ b/build-chromium/patches/0070-Hide-Sign-In-preference-when-disallowed.patch
@@ -1,4 +1,4 @@
-From 1ed992902baff3c26141632d8072f258d903d60c Mon Sep 17 00:00:00 2001
+From 49cc7a5a936a8f83195ec0fb15adaf56bd77a56c 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
diff --git a/build-chromium/patches/0071-disable-using-Play-services-fonts.patch b/build-chromium/patches/0071-disable-using-Play-services-fonts.patch
index efbe8c1..1ce9fdf 100644
--- a/build-chromium/patches/0071-disable-using-Play-services-fonts.patch
+++ b/build-chromium/patches/0071-disable-using-Play-services-fonts.patch
@@ -1,4 +1,4 @@
-From 8c259d93838824f6acf6be6a9d13c22f2b396cca Mon Sep 17 00:00:00 2001
+From 49a8fc62a0542e91b7daa0bb92c266182d6b7d6c 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
@@ -8,10 +8,10 @@
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/content/public/android/java/src/org/chromium/content/browser/font/AndroidFontLookupImpl.java b/content/public/android/java/src/org/chromium/content/browser/font/AndroidFontLookupImpl.java
-index cbf69c1b60ff7..9262079508774 100644
+index faeb88e2de254..9da1f71b033f4 100644
 --- a/content/public/android/java/src/org/chromium/content/browser/font/AndroidFontLookupImpl.java
 +++ b/content/public/android/java/src/org/chromium/content/browser/font/AndroidFontLookupImpl.java
-@@ -179,7 +179,7 @@ public class AndroidFontLookupImpl implements AndroidFontLookup {
+@@ -177,7 +177,7 @@ public class AndroidFontLookupImpl implements AndroidFontLookup {
       * @param fontUniqueName The ICU case folded unique full font name to fetch.
       */
      private ReadOnlyFile fetchFontInBackground(String fontUniqueName, Core core) {
