summaryrefslogtreecommitdiff
path: root/www/chromium-uc/patches/extra
diff options
context:
space:
mode:
Diffstat (limited to 'www/chromium-uc/patches/extra')
-rw-r--r--www/chromium-uc/patches/extra/bromite/fingerprinting-flags-client-rects-and-measuretext.patch138
-rw-r--r--www/chromium-uc/patches/extra/bromite/flag-fingerprinting-canvas-image-data-noise.patch68
-rw-r--r--www/chromium-uc/patches/extra/bromite/flag-max-connections-per-host.patch60
-rw-r--r--www/chromium-uc/patches/extra/debian/disable/google-api-warning.patch6
-rw-r--r--www/chromium-uc/patches/extra/debian/disable/welcome-page.patch8
-rw-r--r--www/chromium-uc/patches/extra/debian/fixes/connection-message.patch4
-rw-r--r--www/chromium-uc/patches/extra/debian/gn/parallel.patch4
-rw-r--r--www/chromium-uc/patches/extra/inox-patchset/0006-modify-default-prefs.patch125
-rw-r--r--www/chromium-uc/patches/extra/inox-patchset/0008-restore-classic-ntp.patch14
-rw-r--r--www/chromium-uc/patches/extra/inox-patchset/0013-disable-missing-key-warning.patch4
-rw-r--r--www/chromium-uc/patches/extra/inox-patchset/0016-chromium-sandbox-pie.patch6
-rw-r--r--www/chromium-uc/patches/extra/inox-patchset/0018-disable-first-run-behaviour.patch6
-rw-r--r--www/chromium-uc/patches/extra/inox-patchset/0019-disable-battery-status-service.patch10
-rw-r--r--www/chromium-uc/patches/extra/iridium-browser/Remove-EV-certificates.patch26
-rw-r--r--www/chromium-uc/patches/extra/iridium-browser/browser-disable-profile-auto-import-on-first-run.patch14
-rw-r--r--www/chromium-uc/patches/extra/iridium-browser/mime_util-force-text-x-suse-ymp-to-be-downloaded.patch4
-rw-r--r--www/chromium-uc/patches/extra/iridium-browser/net-cert-increase-default-key-length-for-newly-gener.patch6
-rw-r--r--www/chromium-uc/patches/extra/iridium-browser/prefs-always-prompt-for-download-directory-by-defaul.patch6
-rw-r--r--www/chromium-uc/patches/extra/iridium-browser/prefs-only-keep-cookies-until-exit.patch10
-rw-r--r--www/chromium-uc/patches/extra/iridium-browser/updater-disable-auto-update.patch6
-rw-r--r--www/chromium-uc/patches/extra/ungoogled-chromium/add-components-ungoogled.patch14
-rw-r--r--www/chromium-uc/patches/extra/ungoogled-chromium/add-extra-channel-info.patch4
-rw-r--r--www/chromium-uc/patches/extra/ungoogled-chromium/add-flag-for-bookmark-bar-ntp.patch26
-rw-r--r--www/chromium-uc/patches/extra/ungoogled-chromium/add-flag-for-close-confirmation.patch36
-rw-r--r--www/chromium-uc/patches/extra/ungoogled-chromium/add-flag-for-custom-ntp.patch24
-rw-r--r--www/chromium-uc/patches/extra/ungoogled-chromium/add-flag-for-grab-handle.patch12
-rw-r--r--www/chromium-uc/patches/extra/ungoogled-chromium/add-flag-for-omnibox-autocomplete-filtering.patch32
-rw-r--r--www/chromium-uc/patches/extra/ungoogled-chromium/add-flag-for-pdf-plugin-name.patch389
-rw-r--r--www/chromium-uc/patches/extra/ungoogled-chromium/add-flag-for-qr-generator.patch34
-rw-r--r--www/chromium-uc/patches/extra/ungoogled-chromium/add-flag-for-referrer-header.patch66
-rw-r--r--www/chromium-uc/patches/extra/ungoogled-chromium/add-flag-for-search-engine-collection.patch42
-rw-r--r--www/chromium-uc/patches/extra/ungoogled-chromium/add-flag-for-tab-hover-cards.patch34
-rw-r--r--www/chromium-uc/patches/extra/ungoogled-chromium/add-flag-for-tabsearch-button.patch26
-rw-r--r--www/chromium-uc/patches/extra/ungoogled-chromium/add-flag-to-change-http-accept-header.patch49
-rw-r--r--www/chromium-uc/patches/extra/ungoogled-chromium/add-flag-to-clear-data-on-exit.patch36
-rw-r--r--www/chromium-uc/patches/extra/ungoogled-chromium/add-flag-to-close-window-with-last-tab.patch20
-rw-r--r--www/chromium-uc/patches/extra/ungoogled-chromium/add-flag-to-configure-extension-downloading.patch36
-rw-r--r--www/chromium-uc/patches/extra/ungoogled-chromium/add-flag-to-convert-popups-to-tabs.patch27
-rw-r--r--www/chromium-uc/patches/extra/ungoogled-chromium/add-flag-to-disable-beforeunload.patch14
-rw-r--r--www/chromium-uc/patches/extra/ungoogled-chromium/add-flag-to-disable-local-history-expiration.patch12
-rw-r--r--www/chromium-uc/patches/extra/ungoogled-chromium/add-flag-to-disable-tls-grease.patch23
-rw-r--r--www/chromium-uc/patches/extra/ungoogled-chromium/add-flag-to-force-punycode-hostnames.patch16
-rw-r--r--www/chromium-uc/patches/extra/ungoogled-chromium/add-flag-to-hide-crashed-bubble.patch20
-rw-r--r--www/chromium-uc/patches/extra/ungoogled-chromium/add-flag-to-hide-tab-close-buttons.patch38
-rw-r--r--www/chromium-uc/patches/extra/ungoogled-chromium/add-flag-to-scroll-tabs.patch26
-rw-r--r--www/chromium-uc/patches/extra/ungoogled-chromium/add-flag-to-show-avatar-button.patch18
-rw-r--r--www/chromium-uc/patches/extra/ungoogled-chromium/add-flag-to-stack-tabs.patch33
-rw-r--r--www/chromium-uc/patches/extra/ungoogled-chromium/add-ipv6-probing-option.patch32
-rw-r--r--www/chromium-uc/patches/extra/ungoogled-chromium/add-suggestions-url-field.patch132
-rw-r--r--www/chromium-uc/patches/extra/ungoogled-chromium/add-ungoogled-flag-headers.patch18
-rw-r--r--www/chromium-uc/patches/extra/ungoogled-chromium/disable-dial-repeating-discovery.patch18
-rw-r--r--www/chromium-uc/patches/extra/ungoogled-chromium/disable-download-quarantine.patch81
-rw-r--r--www/chromium-uc/patches/extra/ungoogled-chromium/disable-formatting-in-omnibox.patch6
-rw-r--r--www/chromium-uc/patches/extra/ungoogled-chromium/disable-intranet-redirect-detector.patch4
-rw-r--r--www/chromium-uc/patches/extra/ungoogled-chromium/disable-remote-optimization-guide.patch11
-rw-r--r--www/chromium-uc/patches/extra/ungoogled-chromium/disable-webgl-renderer-info.patch8
-rw-r--r--www/chromium-uc/patches/extra/ungoogled-chromium/enable-default-prefetch-privacy-changes.patch6
-rw-r--r--www/chromium-uc/patches/extra/ungoogled-chromium/enable-menu-on-reload-button.patch6
-rw-r--r--www/chromium-uc/patches/extra/ungoogled-chromium/enable-page-saving-on-more-pages.patch29
-rw-r--r--www/chromium-uc/patches/extra/ungoogled-chromium/enable-paste-and-go-new-tab-button.patch16
-rw-r--r--www/chromium-uc/patches/extra/ungoogled-chromium/fix-building-without-mdns-and-service-discovery.patch4
-rw-r--r--www/chromium-uc/patches/extra/ungoogled-chromium/fix-distilled-icons.patch4
-rw-r--r--www/chromium-uc/patches/extra/ungoogled-chromium/keep-expired-flags.patch8
-rw-r--r--www/chromium-uc/patches/extra/ungoogled-chromium/prepopulated-search-engines.patch10
-rw-r--r--www/chromium-uc/patches/extra/ungoogled-chromium/remove-disable-setuid-sandbox-as-bad-flag.patch6
-rw-r--r--www/chromium-uc/patches/extra/ungoogled-chromium/remove-uneeded-ui.patch185
66 files changed, 1272 insertions, 944 deletions
diff --git a/www/chromium-uc/patches/extra/bromite/fingerprinting-flags-client-rects-and-measuretext.patch b/www/chromium-uc/patches/extra/bromite/fingerprinting-flags-client-rects-and-measuretext.patch
index a3dd0cd..2d6821f 100644
--- a/www/chromium-uc/patches/extra/bromite/fingerprinting-flags-client-rects-and-measuretext.patch
+++ b/www/chromium-uc/patches/extra/bromite/fingerprinting-flags-client-rects-and-measuretext.patch
@@ -7,9 +7,9 @@
7# 7#
8# Unlike the latest Bromite patch, it was chosen to not regenerate the noise value each time the value is read to prevent potential efficiency issues with the load on the RNG. 8# Unlike the latest Bromite patch, it was chosen to not regenerate the noise value each time the value is read to prevent potential efficiency issues with the load on the RNG.
9 9
10--- a/chrome/browser/BUILD.gn 10--- chrome/browser/BUILD.gn.orig
11+++ b/chrome/browser/BUILD.gn 11+++ chrome/browser/BUILD.gn
12@@ -2390,6 +2390,7 @@ static_library("browser") { 12@@ -2370,6 +2370,7 @@ static_library("browser") {
13 "//third_party/libyuv", 13 "//third_party/libyuv",
14 "//third_party/metrics_proto", 14 "//third_party/metrics_proto",
15 "//third_party/re2", 15 "//third_party/re2",
@@ -17,9 +17,9 @@
17 "//third_party/webrtc_overrides:webrtc_component", 17 "//third_party/webrtc_overrides:webrtc_component",
18 "//third_party/widevine/cdm:buildflags", 18 "//third_party/widevine/cdm:buildflags",
19 "//third_party/widevine/cdm:headers", 19 "//third_party/widevine/cdm:headers",
20--- a/chrome/browser/about_flags.cc 20--- chrome/browser/about_flags.cc.orig
21+++ b/chrome/browser/about_flags.cc 21+++ chrome/browser/about_flags.cc
22@@ -146,6 +146,7 @@ 22@@ -151,6 +151,7 @@
23 #include "components/translate/core/browser/translate_ranker_impl.h" 23 #include "components/translate/core/browser/translate_ranker_impl.h"
24 #include "components/translate/core/common/translate_util.h" 24 #include "components/translate/core/common/translate_util.h"
25 #include "components/ui_devtools/switches.h" 25 #include "components/ui_devtools/switches.h"
@@ -27,8 +27,8 @@
27 #include "components/version_info/version_info.h" 27 #include "components/version_info/version_info.h"
28 #include "components/viz/common/features.h" 28 #include "components/viz/common/features.h"
29 #include "components/viz/common/switches.h" 29 #include "components/viz/common/switches.h"
30--- a/chrome/browser/bromite_flag_entries.h 30--- chrome/browser/bromite_flag_entries.h.orig
31+++ b/chrome/browser/bromite_flag_entries.h 31+++ chrome/browser/bromite_flag_entries.h
32@@ -4,4 +4,12 @@ 32@@ -4,4 +4,12 @@
33 33
34 #ifndef CHROME_BROWSER_BROMITE_FLAG_ENTRIES_H_ 34 #ifndef CHROME_BROWSER_BROMITE_FLAG_ENTRIES_H_
@@ -42,9 +42,9 @@
42+ "Scale the output values of Canvas::measureText() with a randomly selected factor in the range -0.0003% to 0.0003%, which are recomputed on every document initialization. ungoogled-chromium flag, Bromite feature.", 42+ "Scale the output values of Canvas::measureText() with a randomly selected factor in the range -0.0003% to 0.0003%, which are recomputed on every document initialization. ungoogled-chromium flag, Bromite feature.",
43+ kOsAll, SINGLE_VALUE_TYPE(switches::kFingerprintingCanvasMeasureTextNoise)}, 43+ kOsAll, SINGLE_VALUE_TYPE(switches::kFingerprintingCanvasMeasureTextNoise)},
44 #endif // CHROME_BROWSER_BROMITE_FLAG_ENTRIES_H_ 44 #endif // CHROME_BROWSER_BROMITE_FLAG_ENTRIES_H_
45--- a/content/browser/BUILD.gn 45--- content/browser/BUILD.gn.orig
46+++ b/content/browser/BUILD.gn 46+++ content/browser/BUILD.gn
47@@ -230,6 +230,7 @@ source_set("browser") { 47@@ -222,6 +222,7 @@ source_set("browser") {
48 "//third_party/libyuv", 48 "//third_party/libyuv",
49 "//third_party/re2", 49 "//third_party/re2",
50 "//third_party/sqlite", 50 "//third_party/sqlite",
@@ -52,9 +52,9 @@
52 "//third_party/webrtc_overrides:webrtc_component", 52 "//third_party/webrtc_overrides:webrtc_component",
53 "//third_party/wtl", 53 "//third_party/wtl",
54 "//third_party/zlib", 54 "//third_party/zlib",
55--- a/content/browser/renderer_host/render_process_host_impl.cc 55--- content/browser/renderer_host/render_process_host_impl.cc.orig
56+++ b/content/browser/renderer_host/render_process_host_impl.cc 56+++ content/browser/renderer_host/render_process_host_impl.cc
57@@ -76,6 +76,7 @@ 57@@ -68,6 +68,7 @@
58 #include "components/services/storage/public/mojom/cache_storage_control.mojom.h" 58 #include "components/services/storage/public/mojom/cache_storage_control.mojom.h"
59 #include "components/services/storage/public/mojom/indexed_db_control.mojom.h" 59 #include "components/services/storage/public/mojom/indexed_db_control.mojom.h"
60 #include "components/tracing/common/tracing_switches.h" 60 #include "components/tracing/common/tracing_switches.h"
@@ -62,7 +62,7 @@
62 #include "components/viz/common/switches.h" 62 #include "components/viz/common/switches.h"
63 #include "components/viz/host/gpu_client.h" 63 #include "components/viz/host/gpu_client.h"
64 #include "content/browser/bad_message.h" 64 #include "content/browser/bad_message.h"
65@@ -3287,6 +3288,8 @@ void RenderProcessHostImpl::PropagateBro 65@@ -3465,6 +3466,8 @@ void RenderProcessHostImpl::PropagateBro
66 switches::kEnableWebGLDraftExtensions, 66 switches::kEnableWebGLDraftExtensions,
67 switches::kEnableWebGLImageChromium, 67 switches::kEnableWebGLImageChromium,
68 switches::kFileUrlPathAlias, 68 switches::kFileUrlPathAlias,
@@ -71,8 +71,8 @@
71 switches::kForceDeviceScaleFactor, 71 switches::kForceDeviceScaleFactor,
72 switches::kForceDisplayColorProfile, 72 switches::kForceDisplayColorProfile,
73 switches::kForceGpuMemAvailableMb, 73 switches::kForceGpuMemAvailableMb,
74--- a/content/child/BUILD.gn 74--- content/child/BUILD.gn.orig
75+++ b/content/child/BUILD.gn 75+++ content/child/BUILD.gn
76@@ -103,6 +103,7 @@ target(link_target_type, "child") { 76@@ -103,6 +103,7 @@ target(link_target_type, "child") {
77 "//third_party/blink/public/common", 77 "//third_party/blink/public/common",
78 "//third_party/blink/public/strings", 78 "//third_party/blink/public/strings",
@@ -81,9 +81,9 @@
81 "//third_party/zlib/google:compression_utils", 81 "//third_party/zlib/google:compression_utils",
82 "//ui/base", 82 "//ui/base",
83 "//ui/events/blink", 83 "//ui/events/blink",
84--- a/content/child/runtime_features.cc 84--- content/child/runtime_features.cc.orig
85+++ b/content/child/runtime_features.cc 85+++ content/child/runtime_features.cc
86@@ -33,6 +33,7 @@ 86@@ -31,6 +31,7 @@
87 #include "third_party/blink/public/common/loader/referrer_utils.h" 87 #include "third_party/blink/public/common/loader/referrer_utils.h"
88 #include "third_party/blink/public/common/switches.h" 88 #include "third_party/blink/public/common/switches.h"
89 #include "third_party/blink/public/platform/web_runtime_features.h" 89 #include "third_party/blink/public/platform/web_runtime_features.h"
@@ -91,10 +91,10 @@
91 #include "ui/accessibility/accessibility_features.h" 91 #include "ui/accessibility/accessibility_features.h"
92 #include "ui/base/ui_base_features.h" 92 #include "ui/base/ui_base_features.h"
93 #include "ui/events/blink/blink_features.h" 93 #include "ui/events/blink/blink_features.h"
94@@ -481,6 +482,10 @@ void SetRuntimeFeaturesFromCommandLine(c 94@@ -466,6 +467,10 @@ void SetRuntimeFeaturesFromCommandLine(c
95 {wrf::EnableWebGPU, switches::kEnableUnsafeWebGPU, true},
95 {wrf::ForceOverlayFullscreenVideo, switches::kForceOverlayFullscreenVideo, 96 {wrf::ForceOverlayFullscreenVideo, switches::kForceOverlayFullscreenVideo,
96 true}, 97 true},
97 {wrf::EnableDirectSockets, switches::kRestrictedApiOrigins, false},
98+ {wrf::EnableFingerprintingClientRectsNoise, 98+ {wrf::EnableFingerprintingClientRectsNoise,
99+ switches::kFingerprintingClientRectsNoise, true}, 99+ switches::kFingerprintingClientRectsNoise, true},
100+ {wrf::EnableFingerprintingCanvasMeasureTextNoise, 100+ {wrf::EnableFingerprintingCanvasMeasureTextNoise,
@@ -102,9 +102,9 @@
102 }; 102 };
103 for (const auto& mapping : switchToFeatureMapping) { 103 for (const auto& mapping : switchToFeatureMapping) {
104 if (command_line.HasSwitch(mapping.switch_name)) 104 if (command_line.HasSwitch(mapping.switch_name))
105--- a/third_party/blink/public/platform/web_runtime_features.h 105--- third_party/blink/public/platform/web_runtime_features.h.orig
106+++ b/third_party/blink/public/platform/web_runtime_features.h 106+++ third_party/blink/public/platform/web_runtime_features.h
107@@ -216,6 +216,8 @@ class WebRuntimeFeatures { 107@@ -218,6 +218,8 @@ class WebRuntimeFeatures {
108 BLINK_PLATFORM_EXPORT static void EnableMediaControlsExpandGesture(bool); 108 BLINK_PLATFORM_EXPORT static void EnableMediaControlsExpandGesture(bool);
109 BLINK_PLATFORM_EXPORT static void EnableGetDisplayMedia(bool); 109 BLINK_PLATFORM_EXPORT static void EnableGetDisplayMedia(bool);
110 BLINK_PLATFORM_EXPORT static void EnableAllowSyncXHRInPageDismissal(bool); 110 BLINK_PLATFORM_EXPORT static void EnableAllowSyncXHRInPageDismissal(bool);
@@ -113,17 +113,17 @@
113 BLINK_PLATFORM_EXPORT static void EnableSignedExchangeSubresourcePrefetch( 113 BLINK_PLATFORM_EXPORT static void EnableSignedExchangeSubresourcePrefetch(
114 bool); 114 bool);
115 BLINK_PLATFORM_EXPORT static void EnableSubresourceWebBundles(bool); 115 BLINK_PLATFORM_EXPORT static void EnableSubresourceWebBundles(bool);
116--- a/third_party/blink/renderer/core/dom/document.cc 116--- third_party/blink/renderer/core/dom/document.cc.orig
117+++ b/third_party/blink/renderer/core/dom/document.cc 117+++ third_party/blink/renderer/core/dom/document.cc
118@@ -43,6 +43,7 @@ 118@@ -42,6 +42,7 @@
119 #include "base/containers/contains.h"
119 #include "base/debug/dump_without_crashing.h" 120 #include "base/debug/dump_without_crashing.h"
120 #include "base/metrics/histogram_functions.h" 121 #include "base/metrics/histogram_functions.h"
121 #include "base/notreached.h"
122+#include "base/rand_util.h" 122+#include "base/rand_util.h"
123 #include "base/time/time.h" 123 #include "base/time/time.h"
124 #include "cc/input/overscroll_behavior.h" 124 #include "cc/input/overscroll_behavior.h"
125 #include "cc/input/scroll_snap_data.h" 125 #include "cc/input/scroll_snap_data.h"
126@@ -885,6 +886,14 @@ Range* Document::CreateRangeAdjustedToTr 126@@ -855,6 +856,14 @@ Range* Document::CreateRangeAdjustedToTr
127 Position::BeforeNode(*shadow_host)); 127 Position::BeforeNode(*shadow_host));
128 } 128 }
129 129
@@ -138,7 +138,7 @@
138 SelectorQueryCache& Document::GetSelectorQueryCache() { 138 SelectorQueryCache& Document::GetSelectorQueryCache() {
139 if (!selector_query_cache_) 139 if (!selector_query_cache_)
140 selector_query_cache_ = std::make_unique<SelectorQueryCache>(); 140 selector_query_cache_ = std::make_unique<SelectorQueryCache>();
141@@ -2167,6 +2176,15 @@ void Document::UpdateStyleAndLayoutTreeF 141@@ -2145,6 +2154,15 @@ void Document::UpdateStyleAndLayoutTreeF
142 #if DCHECK_IS_ON() 142 #if DCHECK_IS_ON()
143 AssertLayoutTreeUpdated(*this, true /* allow_dirty_container_subtrees */); 143 AssertLayoutTreeUpdated(*this, true /* allow_dirty_container_subtrees */);
144 #endif 144 #endif
@@ -154,9 +154,9 @@
154 } 154 }
155 155
156 void Document::InvalidateStyleAndLayoutForFontUpdates() { 156 void Document::InvalidateStyleAndLayoutForFontUpdates() {
157--- a/third_party/blink/renderer/core/dom/document.h 157--- third_party/blink/renderer/core/dom/document.h.orig
158+++ b/third_party/blink/renderer/core/dom/document.h 158+++ third_party/blink/renderer/core/dom/document.h
159@@ -496,6 +496,10 @@ class CORE_EXPORT Document : public Cont 159@@ -456,6 +456,10 @@ class CORE_EXPORT Document : public Cont
160 has_xml_declaration_ = has_xml_declaration ? 1 : 0; 160 has_xml_declaration_ = has_xml_declaration ? 1 : 0;
161 } 161 }
162 162
@@ -167,7 +167,7 @@
167 AtomicString visibilityState() const; 167 AtomicString visibilityState() const;
168 bool IsPageVisible() const; 168 bool IsPageVisible() const;
169 bool hidden() const; 169 bool hidden() const;
170@@ -2229,6 +2233,9 @@ class CORE_EXPORT Document : public Cont 170@@ -2078,6 +2082,9 @@ class CORE_EXPORT Document : public Cont
171 171
172 base::ElapsedTimer start_time_; 172 base::ElapsedTimer start_time_;
173 173
@@ -177,38 +177,38 @@
177 Member<ScriptRunner> script_runner_; 177 Member<ScriptRunner> script_runner_;
178 178
179 HeapVector<Member<ScriptElementBase>> current_script_stack_; 179 HeapVector<Member<ScriptElementBase>> current_script_stack_;
180--- a/third_party/blink/renderer/core/dom/element.cc 180--- third_party/blink/renderer/core/dom/element.cc.orig
181+++ b/third_party/blink/renderer/core/dom/element.cc 181+++ third_party/blink/renderer/core/dom/element.cc
182@@ -2073,6 +2073,11 @@ DOMRectList* Element::getClientRects() { 182@@ -2114,6 +2114,11 @@ DOMRectList* Element::getClientRects() {
183 DCHECK(element_layout_object); 183 DCHECK(element_layout_object);
184 GetDocument().AdjustQuadsForScrollAndAbsoluteZoom(quads, 184 GetDocument().AdjustFloatQuadsForScrollAndAbsoluteZoom(
185 *element_layout_object); 185 quads, *element_layout_object);
186+ if (RuntimeEnabledFeatures::FingerprintingClientRectsNoiseEnabled()) { 186+ if (RuntimeEnabledFeatures::FingerprintingClientRectsNoiseEnabled()) {
187+ for (gfx::QuadF& quad : quads) { 187+ for (FloatQuad& quad : quads) {
188+ quad.Scale(GetDocument().GetNoiseFactorX(), GetDocument().GetNoiseFactorY()); 188+ quad.Scale(GetDocument().GetNoiseFactorX(), GetDocument().GetNoiseFactorY());
189+ } 189+ }
190+ } 190+ }
191 return MakeGarbageCollected<DOMRectList>(quads); 191 return MakeGarbageCollected<DOMRectList>(quads);
192 } 192 }
193 193
194@@ -2090,6 +2095,9 @@ gfx::RectF Element::GetBoundingClientRec 194@@ -2131,6 +2136,9 @@ FloatRect Element::GetBoundingClientRect
195 DCHECK(element_layout_object); 195 DCHECK(element_layout_object);
196 GetDocument().AdjustRectForScrollAndAbsoluteZoom(result, 196 GetDocument().AdjustFloatRectForScrollAndAbsoluteZoom(result,
197 *element_layout_object); 197 *element_layout_object);
198+ if (RuntimeEnabledFeatures::FingerprintingClientRectsNoiseEnabled()) { 198+ if (RuntimeEnabledFeatures::FingerprintingClientRectsNoiseEnabled()) {
199+ result.Scale(GetDocument().GetNoiseFactorX(), GetDocument().GetNoiseFactorY()); 199+ result.Scale(GetDocument().GetNoiseFactorX(), GetDocument().GetNoiseFactorY());
200+ } 200+ }
201 return result; 201 return result;
202 } 202 }
203 203
204--- a/third_party/blink/renderer/core/dom/range.cc 204--- third_party/blink/renderer/core/dom/range.cc.orig
205+++ b/third_party/blink/renderer/core/dom/range.cc 205+++ third_party/blink/renderer/core/dom/range.cc
206@@ -1598,11 +1598,21 @@ DOMRectList* Range::getClientRects() con 206@@ -1598,11 +1598,21 @@ DOMRectList* Range::getClientRects() con
207 Vector<gfx::QuadF> quads; 207 Vector<FloatQuad> quads;
208 GetBorderAndTextQuads(quads); 208 GetBorderAndTextQuads(quads);
209 209
210+ if (RuntimeEnabledFeatures::FingerprintingClientRectsNoiseEnabled()) { 210+ if (RuntimeEnabledFeatures::FingerprintingClientRectsNoiseEnabled()) {
211+ for (gfx::QuadF& quad : quads) { 211+ for (FloatQuad& quad : quads) {
212+ quad.Scale(owner_document_->GetNoiseFactorX(), owner_document_->GetNoiseFactorY()); 212+ quad.Scale(owner_document_->GetNoiseFactorX(), owner_document_->GetNoiseFactorY());
213+ } 213+ }
214+ } 214+ }
@@ -217,17 +217,17 @@
217 } 217 }
218 218
219 DOMRect* Range::getBoundingClientRect() const { 219 DOMRect* Range::getBoundingClientRect() const {
220- return DOMRect::FromRectF(BoundingRect()); 220- return DOMRect::FromFloatRect(BoundingRect());
221+ auto rect = BoundingRect(); 221+ auto rect = BoundingRect();
222+ if (RuntimeEnabledFeatures::FingerprintingClientRectsNoiseEnabled()) { 222+ if (RuntimeEnabledFeatures::FingerprintingClientRectsNoiseEnabled()) {
223+ rect.Scale(owner_document_->GetNoiseFactorX(), owner_document_->GetNoiseFactorY()); 223+ rect.Scale(owner_document_->GetNoiseFactorX(), owner_document_->GetNoiseFactorY());
224+ } 224+ }
225+ return DOMRect::FromRectF(rect); 225+ return DOMRect::FromFloatRect(rect);
226 } 226 }
227 227
228 // TODO(editing-dev): We should make 228 // TODO(editing-dev): We should make
229--- a/third_party/blink/renderer/core/html/canvas/text_metrics.cc 229--- third_party/blink/renderer/core/html/canvas/text_metrics.cc.orig
230+++ b/third_party/blink/renderer/core/html/canvas/text_metrics.cc 230+++ third_party/blink/renderer/core/html/canvas/text_metrics.cc
231@@ -55,6 +55,24 @@ TextMetrics::TextMetrics(const Font& fon 231@@ -55,6 +55,24 @@ TextMetrics::TextMetrics(const Font& fon
232 Update(font, direction, baseline, align, text); 232 Update(font, direction, baseline, align, text);
233 } 233 }
@@ -253,8 +253,8 @@
253 void TextMetrics::Update(const Font& font, 253 void TextMetrics::Update(const Font& font,
254 const TextDirection& direction, 254 const TextDirection& direction,
255 const TextBaseline& baseline, 255 const TextBaseline& baseline,
256--- a/third_party/blink/renderer/core/html/canvas/text_metrics.h 256--- third_party/blink/renderer/core/html/canvas/text_metrics.h.orig
257+++ b/third_party/blink/renderer/core/html/canvas/text_metrics.h 257+++ third_party/blink/renderer/core/html/canvas/text_metrics.h
258@@ -64,6 +64,8 @@ class CORE_EXPORT TextMetrics final : pu 258@@ -64,6 +64,8 @@ class CORE_EXPORT TextMetrics final : pu
259 259
260 void Trace(Visitor*) const override; 260 void Trace(Visitor*) const override;
@@ -264,9 +264,9 @@
264 private: 264 private:
265 void Update(const Font&, 265 void Update(const Font&,
266 const TextDirection&, 266 const TextDirection&,
267--- a/third_party/blink/renderer/modules/canvas/canvas2d/canvas_rendering_context_2d.cc 267--- third_party/blink/renderer/modules/canvas/canvas2d/canvas_rendering_context_2d.cc.orig
268+++ b/third_party/blink/renderer/modules/canvas/canvas2d/canvas_rendering_context_2d.cc 268+++ third_party/blink/renderer/modules/canvas/canvas2d/canvas_rendering_context_2d.cc
269@@ -917,9 +917,15 @@ TextMetrics* CanvasRenderingContext2D::m 269@@ -912,9 +912,15 @@ TextMetrics* CanvasRenderingContext2D::m
270 TextDirection direction = 270 TextDirection direction =
271 ToTextDirection(GetState().GetDirection(), canvas()); 271 ToTextDirection(GetState().GetDirection(), canvas());
272 272
@@ -283,20 +283,20 @@
283 } 283 }
284 284
285 void CanvasRenderingContext2D::fillFormattedText( 285 void CanvasRenderingContext2D::fillFormattedText(
286--- a/third_party/blink/renderer/platform/BUILD.gn 286--- third_party/blink/renderer/platform/BUILD.gn.orig
287+++ b/third_party/blink/renderer/platform/BUILD.gn 287+++ third_party/blink/renderer/platform/BUILD.gn
288@@ -1638,6 +1638,7 @@ component("platform") { 288@@ -1686,6 +1686,7 @@ component("platform") {
289 "//components/paint_preview/common", 289 "//components/paint_preview/common",
290 "//components/power_scheduler", 290 "//components/power_scheduler",
291 "//components/search_engines:search_engine_utils", 291 "//components/search_engines:search_engine_utils",
292+ "//components/ungoogled:ungoogled_switches", 292+ "//components/ungoogled:ungoogled_switches",
293 "//components/viz/client", 293 "//components/viz/client",
294 "//components/viz/common", 294 "//components/viz/common",
295 "//components/webrtc:net_address_utils", 295 "//crypto",
296--- a/third_party/blink/renderer/platform/exported/web_runtime_features.cc 296--- third_party/blink/renderer/platform/exported/web_runtime_features.cc.orig
297+++ b/third_party/blink/renderer/platform/exported/web_runtime_features.cc 297+++ third_party/blink/renderer/platform/exported/web_runtime_features.cc
298@@ -677,4 +677,12 @@ void WebRuntimeFeatures::EnableWebAuthen 298@@ -689,4 +689,12 @@ void WebRuntimeFeatures::EnableCLSScroll
299 enable); 299 RuntimeEnabledFeatures::SetCLSScrollAnchoringEnabled(enable);
300 } 300 }
301 301
302+void WebRuntimeFeatures::EnableFingerprintingClientRectsNoise(bool enable) { 302+void WebRuntimeFeatures::EnableFingerprintingClientRectsNoise(bool enable) {
@@ -308,10 +308,10 @@
308+} 308+}
309+ 309+
310 } // namespace blink 310 } // namespace blink
311--- a/third_party/blink/renderer/platform/runtime_enabled_features.json5 311--- third_party/blink/renderer/platform/runtime_enabled_features.json5.orig
312+++ b/third_party/blink/renderer/platform/runtime_enabled_features.json5 312+++ third_party/blink/renderer/platform/runtime_enabled_features.json5
313@@ -1137,6 +1137,12 @@ 313@@ -1076,6 +1076,12 @@
314 name: "Focusgroup", 314 origin_trial_feature_name: "Fledge",
315 }, 315 },
316 { 316 {
317+ name: "FingerprintingClientRectsNoise", 317+ name: "FingerprintingClientRectsNoise",
diff --git a/www/chromium-uc/patches/extra/bromite/flag-fingerprinting-canvas-image-data-noise.patch b/www/chromium-uc/patches/extra/bromite/flag-fingerprinting-canvas-image-data-noise.patch
index 23ce165..6ebc7a1 100644
--- a/www/chromium-uc/patches/extra/bromite/flag-fingerprinting-canvas-image-data-noise.patch
+++ b/www/chromium-uc/patches/extra/bromite/flag-fingerprinting-canvas-image-data-noise.patch
@@ -21,8 +21,8 @@ approach to change color components.
21 .../platform/graphics/static_bitmap_image.h | 2 + 21 .../platform/graphics/static_bitmap_image.h | 2 +
22 4 files changed, 163 insertions(+), 2 deletions(-) 22 4 files changed, 163 insertions(+), 2 deletions(-)
23 23
24--- a/chrome/browser/bromite_flag_entries.h 24--- chrome/browser/bromite_flag_entries.h.orig
25+++ b/chrome/browser/bromite_flag_entries.h 25+++ chrome/browser/bromite_flag_entries.h
26@@ -16,4 +16,8 @@ 26@@ -16,4 +16,8 @@
27 flag_descriptions::kMaxConnectionsPerHostName, 27 flag_descriptions::kMaxConnectionsPerHostName,
28 flag_descriptions::kMaxConnectionsPerHostDescription, 28 flag_descriptions::kMaxConnectionsPerHostDescription,
@@ -32,9 +32,9 @@ approach to change color components.
32+ "Slightly modifies at most 10 pixels in Canvas image data extracted via JS APIs. ungoogled-chromium flag, Bromite feature.", 32+ "Slightly modifies at most 10 pixels in Canvas image data extracted via JS APIs. ungoogled-chromium flag, Bromite feature.",
33+ kOsAll, SINGLE_VALUE_TYPE(switches::kFingerprintingCanvasImageDataNoise)}, 33+ kOsAll, SINGLE_VALUE_TYPE(switches::kFingerprintingCanvasImageDataNoise)},
34 #endif // CHROME_BROWSER_BROMITE_FLAG_ENTRIES_H_ 34 #endif // CHROME_BROWSER_BROMITE_FLAG_ENTRIES_H_
35--- a/content/browser/renderer_host/render_process_host_impl.cc 35--- content/browser/renderer_host/render_process_host_impl.cc.orig
36+++ b/content/browser/renderer_host/render_process_host_impl.cc 36+++ content/browser/renderer_host/render_process_host_impl.cc
37@@ -3290,6 +3290,7 @@ void RenderProcessHostImpl::PropagateBro 37@@ -3468,6 +3468,7 @@ void RenderProcessHostImpl::PropagateBro
38 switches::kFileUrlPathAlias, 38 switches::kFileUrlPathAlias,
39 switches::kFingerprintingClientRectsNoise, 39 switches::kFingerprintingClientRectsNoise,
40 switches::kFingerprintingCanvasMeasureTextNoise, 40 switches::kFingerprintingCanvasMeasureTextNoise,
@@ -42,9 +42,9 @@ approach to change color components.
42 switches::kForceDeviceScaleFactor, 42 switches::kForceDeviceScaleFactor,
43 switches::kForceDisplayColorProfile, 43 switches::kForceDisplayColorProfile,
44 switches::kForceGpuMemAvailableMb, 44 switches::kForceGpuMemAvailableMb,
45--- a/content/child/runtime_features.cc 45--- content/child/runtime_features.cc.orig
46+++ b/content/child/runtime_features.cc 46+++ content/child/runtime_features.cc
47@@ -486,6 +486,8 @@ void SetRuntimeFeaturesFromCommandLine(c 47@@ -471,6 +471,8 @@ void SetRuntimeFeaturesFromCommandLine(c
48 switches::kFingerprintingClientRectsNoise, true}, 48 switches::kFingerprintingClientRectsNoise, true},
49 {wrf::EnableFingerprintingCanvasMeasureTextNoise, 49 {wrf::EnableFingerprintingCanvasMeasureTextNoise,
50 switches::kFingerprintingCanvasMeasureTextNoise, true}, 50 switches::kFingerprintingCanvasMeasureTextNoise, true},
@@ -53,9 +53,9 @@ approach to change color components.
53 }; 53 };
54 for (const auto& mapping : switchToFeatureMapping) { 54 for (const auto& mapping : switchToFeatureMapping) {
55 if (command_line.HasSwitch(mapping.switch_name)) 55 if (command_line.HasSwitch(mapping.switch_name))
56--- a/third_party/blink/public/platform/web_runtime_features.h 56--- third_party/blink/public/platform/web_runtime_features.h.orig
57+++ b/third_party/blink/public/platform/web_runtime_features.h 57+++ third_party/blink/public/platform/web_runtime_features.h
58@@ -218,6 +218,7 @@ class WebRuntimeFeatures { 58@@ -220,6 +220,7 @@ class WebRuntimeFeatures {
59 BLINK_PLATFORM_EXPORT static void EnableAllowSyncXHRInPageDismissal(bool); 59 BLINK_PLATFORM_EXPORT static void EnableAllowSyncXHRInPageDismissal(bool);
60 BLINK_PLATFORM_EXPORT static void EnableFingerprintingClientRectsNoise(bool); 60 BLINK_PLATFORM_EXPORT static void EnableFingerprintingClientRectsNoise(bool);
61 BLINK_PLATFORM_EXPORT static void EnableFingerprintingCanvasMeasureTextNoise(bool); 61 BLINK_PLATFORM_EXPORT static void EnableFingerprintingCanvasMeasureTextNoise(bool);
@@ -63,17 +63,17 @@ approach to change color components.
63 BLINK_PLATFORM_EXPORT static void EnableSignedExchangeSubresourcePrefetch( 63 BLINK_PLATFORM_EXPORT static void EnableSignedExchangeSubresourcePrefetch(
64 bool); 64 bool);
65 BLINK_PLATFORM_EXPORT static void EnableSubresourceWebBundles(bool); 65 BLINK_PLATFORM_EXPORT static void EnableSubresourceWebBundles(bool);
66--- a/third_party/blink/renderer/modules/canvas/canvas2d/base_rendering_context_2d.cc 66--- third_party/blink/renderer/modules/canvas/canvas2d/base_rendering_context_2d.cc.orig
67+++ b/third_party/blink/renderer/modules/canvas/canvas2d/base_rendering_context_2d.cc 67+++ third_party/blink/renderer/modules/canvas/canvas2d/base_rendering_context_2d.cc
68@@ -29,6 +29,7 @@ 68@@ -30,6 +30,7 @@
69 #include "third_party/blink/renderer/platform/graphics/bitmap_image.h" 69 #include "third_party/blink/renderer/platform/graphics/bitmap_image.h"
70 #include "third_party/blink/renderer/platform/graphics/graphics_context.h" 70 #include "third_party/blink/renderer/platform/graphics/graphics_context.h"
71 #include "third_party/blink/renderer/platform/graphics/skia/skia_utils.h" 71 #include "third_party/blink/renderer/platform/graphics/skia/skia_utils.h"
72+#include "third_party/blink/renderer/platform/graphics/static_bitmap_image.h" 72+#include "third_party/blink/renderer/platform/graphics/static_bitmap_image.h"
73 #include "third_party/blink/renderer/platform/graphics/stroke_data.h" 73 #include "third_party/blink/renderer/platform/graphics/stroke_data.h"
74 #include "third_party/blink/renderer/platform/graphics/video_frame_image_util.h" 74 #include "third_party/blink/renderer/platform/graphics/video_frame_image_util.h"
75 #include "third_party/blink/renderer/platform/heap/garbage_collected.h" 75 #include "third_party/blink/renderer/platform/heap/heap.h"
76@@ -2046,6 +2047,9 @@ ImageData* BaseRenderingContext2D::getIm 76@@ -2311,6 +2312,9 @@ ImageData* BaseRenderingContext2D::getIm
77 snapshot->PaintImageForCurrentFrame().GetSkImageInfo().bounds(); 77 snapshot->PaintImageForCurrentFrame().GetSkImageInfo().bounds();
78 DCHECK(!bounds.intersect(SkIRect::MakeXYWH(sx, sy, sw, sh))); 78 DCHECK(!bounds.intersect(SkIRect::MakeXYWH(sx, sy, sw, sh)));
79 } 79 }
@@ -83,9 +83,9 @@ approach to change color components.
83 } 83 }
84 84
85 return image_data; 85 return image_data;
86--- a/third_party/blink/renderer/platform/BUILD.gn 86--- third_party/blink/renderer/platform/BUILD.gn.orig
87+++ b/third_party/blink/renderer/platform/BUILD.gn 87+++ third_party/blink/renderer/platform/BUILD.gn
88@@ -1596,7 +1596,9 @@ component("platform") { 88@@ -1645,7 +1645,9 @@ component("platform") {
89 "//third_party/blink/renderer:non_test_config", 89 "//third_party/blink/renderer:non_test_config",
90 ] 90 ]
91 91
@@ -96,9 +96,9 @@ approach to change color components.
96 96
97 allow_circular_includes_from = [ 97 allow_circular_includes_from = [
98 "//third_party/blink/renderer/platform/blob", 98 "//third_party/blink/renderer/platform/blob",
99--- a/third_party/blink/renderer/platform/exported/web_runtime_features.cc 99--- third_party/blink/renderer/platform/exported/web_runtime_features.cc.orig
100+++ b/third_party/blink/renderer/platform/exported/web_runtime_features.cc 100+++ third_party/blink/renderer/platform/exported/web_runtime_features.cc
101@@ -685,4 +685,8 @@ void WebRuntimeFeatures::EnableFingerpri 101@@ -697,4 +697,8 @@ void WebRuntimeFeatures::EnableFingerpri
102 RuntimeEnabledFeatures::SetFingerprintingCanvasMeasureTextNoiseEnabled(enable); 102 RuntimeEnabledFeatures::SetFingerprintingCanvasMeasureTextNoiseEnabled(enable);
103 } 103 }
104 104
@@ -107,8 +107,8 @@ approach to change color components.
107+} 107+}
108+ 108+
109 } // namespace blink 109 } // namespace blink
110--- a/third_party/blink/renderer/platform/graphics/image_data_buffer.cc 110--- third_party/blink/renderer/platform/graphics/image_data_buffer.cc.orig
111+++ b/third_party/blink/renderer/platform/graphics/image_data_buffer.cc 111+++ third_party/blink/renderer/platform/graphics/image_data_buffer.cc
112@@ -36,6 +36,8 @@ 112@@ -36,6 +36,8 @@
113 113
114 #include "base/compiler_specific.h" 114 #include "base/compiler_specific.h"
@@ -130,8 +130,8 @@ approach to change color components.
130 if (mime_type == kMimeTypeJpeg) { 130 if (mime_type == kMimeTypeJpeg) {
131 SkJpegEncoder::Options options; 131 SkJpegEncoder::Options options;
132 options.fQuality = ImageEncoder::ComputeJpegQuality(quality); 132 options.fQuality = ImageEncoder::ComputeJpegQuality(quality);
133--- a/third_party/blink/renderer/platform/graphics/static_bitmap_image.cc 133--- third_party/blink/renderer/platform/graphics/static_bitmap_image.cc.orig
134+++ b/third_party/blink/renderer/platform/graphics/static_bitmap_image.cc 134+++ third_party/blink/renderer/platform/graphics/static_bitmap_image.cc
135@@ -4,6 +4,8 @@ 135@@ -4,6 +4,8 @@
136 136
137 #include "third_party/blink/renderer/platform/graphics/static_bitmap_image.h" 137 #include "third_party/blink/renderer/platform/graphics/static_bitmap_image.h"
@@ -151,10 +151,10 @@ approach to change color components.
151 #include "third_party/skia/include/core/SkPaint.h" 151 #include "third_party/skia/include/core/SkPaint.h"
152 #include "third_party/skia/include/core/SkSurface.h" 152 #include "third_party/skia/include/core/SkSurface.h"
153+#include "third_party/skia/include/private/SkColorData.h" 153+#include "third_party/skia/include/private/SkColorData.h"
154 #include "ui/gfx/geometry/skia_conversions.h"
155 #include "v8/include/v8.h" 154 #include "v8/include/v8.h"
156 155
157@@ -113,4 +117,154 @@ void StaticBitmapImage::DrawHelper(cc::P 156 namespace blink {
157@@ -80,4 +84,154 @@ void StaticBitmapImage::DrawHelper(cc::P
158 WebCoreClampingModeToSkiaRectConstraint(draw_options.clamping_mode)); 158 WebCoreClampingModeToSkiaRectConstraint(draw_options.clamping_mode));
159 } 159 }
160 160
@@ -309,9 +309,9 @@ approach to change color components.
309+#undef shuffleComponent 309+#undef shuffleComponent
310+ 310+
311 } // namespace blink 311 } // namespace blink
312--- a/third_party/blink/renderer/platform/graphics/static_bitmap_image.h 312--- third_party/blink/renderer/platform/graphics/static_bitmap_image.h.orig
313+++ b/third_party/blink/renderer/platform/graphics/static_bitmap_image.h 313+++ third_party/blink/renderer/platform/graphics/static_bitmap_image.h
314@@ -37,6 +37,8 @@ class PLATFORM_EXPORT StaticBitmapImage 314@@ -36,6 +36,8 @@ class PLATFORM_EXPORT StaticBitmapImage
315 315
316 StaticBitmapImage(ImageOrientation orientation) : orientation_(orientation) {} 316 StaticBitmapImage(ImageOrientation orientation) : orientation_(orientation) {}
317 317
@@ -320,9 +320,9 @@ approach to change color components.
320 bool IsStaticBitmapImage() const override { return true; } 320 bool IsStaticBitmapImage() const override { return true; }
321 321
322 // Methods overridden by all sub-classes 322 // Methods overridden by all sub-classes
323--- a/third_party/blink/renderer/platform/runtime_enabled_features.json5 323--- third_party/blink/renderer/platform/runtime_enabled_features.json5.orig
324+++ b/third_party/blink/renderer/platform/runtime_enabled_features.json5 324+++ third_party/blink/renderer/platform/runtime_enabled_features.json5
325@@ -1143,6 +1143,9 @@ 325@@ -1082,6 +1082,9 @@
326 name: "FingerprintingCanvasMeasureTextNoise", 326 name: "FingerprintingCanvasMeasureTextNoise",
327 }, 327 },
328 { 328 {
diff --git a/www/chromium-uc/patches/extra/bromite/flag-max-connections-per-host.patch b/www/chromium-uc/patches/extra/bromite/flag-max-connections-per-host.patch
index dbc86ef..65b1887 100644
--- a/www/chromium-uc/patches/extra/bromite/flag-max-connections-per-host.patch
+++ b/www/chromium-uc/patches/extra/bromite/flag-max-connections-per-host.patch
@@ -15,9 +15,9 @@ with limited CPU/memory resources and it is disabled by default.
15 net/socket/client_socket_pool_manager.cc | 16 ++++++++++++++++ 15 net/socket/client_socket_pool_manager.cc | 16 ++++++++++++++++
16 7 files changed, 42 insertions(+) 16 7 files changed, 42 insertions(+)
17 17
18--- a/chrome/browser/BUILD.gn 18--- chrome/browser/BUILD.gn.orig
19+++ b/chrome/browser/BUILD.gn 19+++ chrome/browser/BUILD.gn
20@@ -2138,6 +2138,7 @@ static_library("browser") { 20@@ -2126,6 +2126,7 @@ static_library("browser") {
21 "//components/net_log", 21 "//components/net_log",
22 "//components/network_hints/common:mojo_bindings", 22 "//components/network_hints/common:mojo_bindings",
23 "//components/network_session_configurator/browser", 23 "//components/network_session_configurator/browser",
@@ -25,8 +25,8 @@ with limited CPU/memory resources and it is disabled by default.
25 "//components/network_time", 25 "//components/network_time",
26 "//components/no_state_prefetch/browser", 26 "//components/no_state_prefetch/browser",
27 "//components/no_state_prefetch/common", 27 "//components/no_state_prefetch/common",
28--- a/chrome/browser/bromite_flag_choices.h 28--- chrome/browser/bromite_flag_choices.h.orig
29+++ b/chrome/browser/bromite_flag_choices.h 29+++ chrome/browser/bromite_flag_choices.h
30@@ -4,4 +4,8 @@ 30@@ -4,4 +4,8 @@
31 31
32 #ifndef CHROME_BROWSER_BROMITE_FLAG_CHOICES_H_ 32 #ifndef CHROME_BROWSER_BROMITE_FLAG_CHOICES_H_
@@ -36,8 +36,8 @@ with limited CPU/memory resources and it is disabled by default.
36+ {features::kMaxConnectionsPerHostChoice15, switches::kMaxConnectionsPerHost, "15"}, 36+ {features::kMaxConnectionsPerHostChoice15, switches::kMaxConnectionsPerHost, "15"},
37+}; 37+};
38 #endif // CHROME_BROWSER_BROMITE_FLAG_CHOICES_H_ 38 #endif // CHROME_BROWSER_BROMITE_FLAG_CHOICES_H_
39--- a/chrome/browser/bromite_flag_entries.h 39--- chrome/browser/bromite_flag_entries.h.orig
40+++ b/chrome/browser/bromite_flag_entries.h 40+++ chrome/browser/bromite_flag_entries.h
41@@ -12,4 +12,8 @@ 41@@ -12,4 +12,8 @@
42 "Enable Canvas::measureText() fingerprint deception", 42 "Enable Canvas::measureText() fingerprint deception",
43 "Scale the output values of Canvas::measureText() with a randomly selected factor in the range -0.0003% to 0.0003%, which are recomputed on every document initialization. ungoogled-chromium flag, Bromite feature.", 43 "Scale the output values of Canvas::measureText() with a randomly selected factor in the range -0.0003% to 0.0003%, which are recomputed on every document initialization. ungoogled-chromium flag, Bromite feature.",
@@ -47,21 +47,23 @@ with limited CPU/memory resources and it is disabled by default.
47+ flag_descriptions::kMaxConnectionsPerHostDescription, 47+ flag_descriptions::kMaxConnectionsPerHostDescription,
48+ kOsAll, MULTI_VALUE_TYPE(kMaxConnectionsPerHostChoices)}, 48+ kOsAll, MULTI_VALUE_TYPE(kMaxConnectionsPerHostChoices)},
49 #endif // CHROME_BROWSER_BROMITE_FLAG_ENTRIES_H_ 49 #endif // CHROME_BROWSER_BROMITE_FLAG_ENTRIES_H_
50--- a/chrome/browser/browser_process_impl.cc 50--- chrome/browser/browser_process_impl.cc.orig
51+++ b/chrome/browser/browser_process_impl.cc 51+++ chrome/browser/browser_process_impl.cc
52@@ -20,10 +20,12 @@ 52@@ -19,12 +19,14 @@
53 #include "base/debug/leak_annotations.h" 53 #include "base/debug/leak_annotations.h"
54 #include "base/files/file_path.h" 54 #include "base/files/file_path.h"
55 #include "base/location.h" 55 #include "base/location.h"
56+#include "base/logging.h" 56+#include "base/logging.h"
57 #include "base/macros.h"
57 #include "base/memory/ptr_util.h" 58 #include "base/memory/ptr_util.h"
58 #include "base/metrics/histogram_macros.h" 59 #include "base/metrics/histogram_macros.h"
59 #include "base/path_service.h" 60 #include "base/path_service.h"
60 #include "base/run_loop.h" 61 #include "base/run_loop.h"
62 #include "base/single_thread_task_runner.h"
61+#include "base/strings/string_number_conversions.h" 63+#include "base/strings/string_number_conversions.h"
62 #include "base/synchronization/waitable_event.h" 64 #include "base/synchronization/waitable_event.h"
63 #include "base/task/single_thread_task_runner.h"
64 #include "base/task/task_traits.h" 65 #include "base/task/task_traits.h"
66 #include "base/task/thread_pool.h"
65@@ -103,6 +105,7 @@ 67@@ -103,6 +105,7 @@
66 #include "components/metrics/metrics_service.h" 68 #include "components/metrics/metrics_service.h"
67 #include "components/metrics_services_manager/metrics_services_manager.h" 69 #include "components/metrics_services_manager/metrics_services_manager.h"
@@ -78,9 +80,9 @@ with limited CPU/memory resources and it is disabled by default.
78 #include "ppapi/buildflags/buildflags.h" 80 #include "ppapi/buildflags/buildflags.h"
79 #include "printing/buildflags/buildflags.h" 81 #include "printing/buildflags/buildflags.h"
80 #include "services/network/public/cpp/features.h" 82 #include "services/network/public/cpp/features.h"
81@@ -344,6 +348,18 @@ void BrowserProcessImpl::Init() { 83@@ -345,6 +349,18 @@ void BrowserProcessImpl::Init() {
82 pref_change_registrar_.Add(metrics::prefs::kMetricsReportingEnabled,
83 base::BindRepeating(&ApplyMetricsReportingPolicy)); 84 base::BindRepeating(&ApplyMetricsReportingPolicy));
85 #endif
84 86
85+ int max_connections_per_host = 0; 87+ int max_connections_per_host = 0;
86+ auto switch_value = base::CommandLine::ForCurrentProcess()->GetSwitchValueASCII( 88+ auto switch_value = base::CommandLine::ForCurrentProcess()->GetSwitchValueASCII(
@@ -97,11 +99,11 @@ with limited CPU/memory resources and it is disabled by default.
97 DCHECK(!webrtc_event_log_manager_); 99 DCHECK(!webrtc_event_log_manager_);
98 webrtc_event_log_manager_ = WebRtcEventLogManager::CreateSingletonInstance(); 100 webrtc_event_log_manager_ = WebRtcEventLogManager::CreateSingletonInstance();
99 101
100--- a/chrome/browser/flag_descriptions.cc 102--- chrome/browser/flag_descriptions.cc.orig
101+++ b/chrome/browser/flag_descriptions.cc 103+++ chrome/browser/flag_descriptions.cc
102@@ -1595,6 +1595,10 @@ const char kUnthrottledNestedTimeoutDesc 104@@ -1621,6 +1621,10 @@ const char kMediaHistoryDescription[] =
103 "websites abusing the API will still eventually have their setTimeouts " 105 "Enables Media History which records data around media playbacks on "
104 "clamped."; 106 "websites.";
105 107
106+const char kMaxConnectionsPerHostName[] = "Maximum connections per host"; 108+const char kMaxConnectionsPerHostName[] = "Maximum connections per host";
107+const char kMaxConnectionsPerHostDescription[] = 109+const char kMaxConnectionsPerHostDescription[] =
@@ -110,11 +112,11 @@ with limited CPU/memory resources and it is disabled by default.
110 const char kMediaRouterCastAllowAllIPsName[] = 112 const char kMediaRouterCastAllowAllIPsName[] =
111 "Connect to Cast devices on all IP addresses"; 113 "Connect to Cast devices on all IP addresses";
112 const char kMediaRouterCastAllowAllIPsDescription[] = 114 const char kMediaRouterCastAllowAllIPsDescription[] =
113--- a/chrome/browser/flag_descriptions.h 115--- chrome/browser/flag_descriptions.h.orig
114+++ b/chrome/browser/flag_descriptions.h 116+++ chrome/browser/flag_descriptions.h
115@@ -900,6 +900,9 @@ extern const char kLogJsConsoleMessagesD 117@@ -930,6 +930,9 @@ extern const char kLogJsConsoleMessagesD
116 extern const char kUnthrottledNestedTimeoutName[]; 118 extern const char kMediaHistoryName[];
117 extern const char kUnthrottledNestedTimeoutDescription[]; 119 extern const char kMediaHistoryDescription[];
118 120
119+extern const char kMaxConnectionsPerHostName[]; 121+extern const char kMaxConnectionsPerHostName[];
120+extern const char kMaxConnectionsPerHostDescription[]; 122+extern const char kMaxConnectionsPerHostDescription[];
@@ -122,8 +124,8 @@ with limited CPU/memory resources and it is disabled by default.
122 extern const char kMediaRouterCastAllowAllIPsName[]; 124 extern const char kMediaRouterCastAllowAllIPsName[];
123 extern const char kMediaRouterCastAllowAllIPsDescription[]; 125 extern const char kMediaRouterCastAllowAllIPsDescription[];
124 126
125--- a/components/network_session_configurator/common/network_features.cc 127--- components/network_session_configurator/common/network_features.cc.orig
126+++ b/components/network_session_configurator/common/network_features.cc 128+++ components/network_session_configurator/common/network_features.cc
127@@ -8,4 +8,7 @@ 129@@ -8,4 +8,7 @@
128 130
129 namespace features { 131 namespace features {
@@ -132,8 +134,8 @@ with limited CPU/memory resources and it is disabled by default.
132+ kMaxConnectionsPerHostChoice15[] = "15"; 134+ kMaxConnectionsPerHostChoice15[] = "15";
133+ 135+
134 } // namespace features 136 } // namespace features
135--- a/components/network_session_configurator/common/network_features.h 137--- components/network_session_configurator/common/network_features.h.orig
136+++ b/components/network_session_configurator/common/network_features.h 138+++ components/network_session_configurator/common/network_features.h
137@@ -10,6 +10,10 @@ 139@@ -10,6 +10,10 @@
138 140
139 namespace features { 141 namespace features {
@@ -145,8 +147,8 @@ with limited CPU/memory resources and it is disabled by default.
145 } // namespace features 147 } // namespace features
146 148
147 #endif // COMPONENTS_NETWORK_SESSION_CONFIGURATOR_COMMON_NETWORK_FEATURES_H_ 149 #endif // COMPONENTS_NETWORK_SESSION_CONFIGURATOR_COMMON_NETWORK_FEATURES_H_
148--- a/components/network_session_configurator/common/network_switch_list.h 150--- components/network_session_configurator/common/network_switch_list.h.orig
149+++ b/components/network_session_configurator/common/network_switch_list.h 151+++ components/network_session_configurator/common/network_switch_list.h
150@@ -19,6 +19,10 @@ NETWORK_SWITCH(kEnableUserAlternateProto 152@@ -19,6 +19,10 @@ NETWORK_SWITCH(kEnableUserAlternateProto
151 // Enables the QUIC protocol. This is a temporary testing flag. 153 // Enables the QUIC protocol. This is a temporary testing flag.
152 NETWORK_SWITCH(kEnableQuic, "enable-quic") 154 NETWORK_SWITCH(kEnableQuic, "enable-quic")
diff --git a/www/chromium-uc/patches/extra/debian/disable/google-api-warning.patch b/www/chromium-uc/patches/extra/debian/disable/google-api-warning.patch
index 5ed977e..1c9d44b 100644
--- a/www/chromium-uc/patches/extra/debian/disable/google-api-warning.patch
+++ b/www/chromium-uc/patches/extra/debian/disable/google-api-warning.patch
@@ -1,9 +1,9 @@
1description: disable the google api key warning when those aren't found 1description: disable the google api key warning when those aren't found
2author: Michael Gilbert <mgilbert@debian.org> 2author: Michael Gilbert <mgilbert@debian.org>
3 3
4--- a/chrome/browser/ui/startup/infobar_utils.cc 4--- chrome/browser/ui/startup/startup_browser_creator_impl.cc.orig
5+++ b/chrome/browser/ui/startup/infobar_utils.cc 5+++ chrome/browser/ui/startup/startup_browser_creator_impl.cc
6@@ -113,9 +113,6 @@ void AddInfoBarsIfNecessary(Browser* bro 6@@ -672,9 +672,6 @@ void StartupBrowserCreatorImpl::AddInfoB
7 infobars::ContentInfoBarManager* infobar_manager = 7 infobars::ContentInfoBarManager* infobar_manager =
8 infobars::ContentInfoBarManager::FromWebContents(web_contents); 8 infobars::ContentInfoBarManager::FromWebContents(web_contents);
9 9
diff --git a/www/chromium-uc/patches/extra/debian/disable/welcome-page.patch b/www/chromium-uc/patches/extra/debian/disable/welcome-page.patch
index 9d5cd5a..873aeae 100644
--- a/www/chromium-uc/patches/extra/debian/disable/welcome-page.patch
+++ b/www/chromium-uc/patches/extra/debian/disable/welcome-page.patch
@@ -2,13 +2,13 @@ description: do not override the welcome page setting set in master_preferences
2author: Michael Gilbert <mgilbert@debian.org> 2author: Michael Gilbert <mgilbert@debian.org>
3bug-debian: http://bugs.debian.org/857767 3bug-debian: http://bugs.debian.org/857767
4 4
5--- a/chrome/browser/profiles/profile_manager.cc 5--- chrome/browser/profiles/profile_manager.cc.orig
6+++ b/chrome/browser/profiles/profile_manager.cc 6+++ chrome/browser/profiles/profile_manager.cc
7@@ -1399,7 +1399,7 @@ void ProfileManager::InitProfileUserPref 7@@ -1310,7 +1310,7 @@ void ProfileManager::InitProfileUserPref
8 profile->GetPrefs()->SetString(prefs::kSupervisedUserId, 8 profile->GetPrefs()->SetString(prefs::kSupervisedUserId,
9 supervised_user_id); 9 supervised_user_id);
10 } 10 }
11-#if !BUILDFLAG(IS_ANDROID) 11-#if !defined(OS_ANDROID)
12+#if 0 12+#if 0
13 // TODO(pmonette): Fix IsNewProfile() to handle the case where the profile is 13 // TODO(pmonette): Fix IsNewProfile() to handle the case where the profile is
14 // new even if the "Preferences" file already existed. (For example: The 14 // new even if the "Preferences" file already existed. (For example: The
diff --git a/www/chromium-uc/patches/extra/debian/fixes/connection-message.patch b/www/chromium-uc/patches/extra/debian/fixes/connection-message.patch
index a4e9922..d9aaa94 100644
--- a/www/chromium-uc/patches/extra/debian/fixes/connection-message.patch
+++ b/www/chromium-uc/patches/extra/debian/fixes/connection-message.patch
@@ -2,8 +2,8 @@ description: suggest proxy misconfiguration when network is unreachable
2author: Michael Gilbert <mgilbert@debian.org> 2author: Michael Gilbert <mgilbert@debian.org>
3bug-debian: http://bugs.debian.org/864539 3bug-debian: http://bugs.debian.org/864539
4 4
5--- a/components/error_page_strings.grdp 5--- components/error_page_strings.grdp.orig
6+++ b/components/error_page_strings.grdp 6+++ components/error_page_strings.grdp
7@@ -54,7 +54,7 @@ 7@@ -54,7 +54,7 @@
8 </message> 8 </message>
9 <message name="IDS_ERRORPAGES_SUGGESTION_CHECK_CONNECTION_BODY" desc="When a page fails to load, sometimes we suggest checking the network connections. This contains details below the suggestion."> 9 <message name="IDS_ERRORPAGES_SUGGESTION_CHECK_CONNECTION_BODY" desc="When a page fails to load, sometimes we suggest checking the network connections. This contains details below the suggestion.">
diff --git a/www/chromium-uc/patches/extra/debian/gn/parallel.patch b/www/chromium-uc/patches/extra/debian/gn/parallel.patch
index 77e0110..ac0a2b0 100644
--- a/www/chromium-uc/patches/extra/debian/gn/parallel.patch
+++ b/www/chromium-uc/patches/extra/debian/gn/parallel.patch
@@ -1,8 +1,8 @@
1description: respect specified number of parallel jobs while bootstrapping gn 1description: respect specified number of parallel jobs while bootstrapping gn
2author: Michael Gilbert <mgilbert@debian.org> 2author: Michael Gilbert <mgilbert@debian.org>
3 3
4--- a/tools/gn/bootstrap/bootstrap.py 4--- tools/gn/bootstrap/bootstrap.py.orig
5+++ b/tools/gn/bootstrap/bootstrap.py 5+++ tools/gn/bootstrap/bootstrap.py
6@@ -47,6 +47,7 @@ def main(argv): 6@@ -47,6 +47,7 @@ def main(argv):
7 help='The directory in which to build gn, ' 7 help='The directory in which to build gn, '
8 'relative to the src directory. (eg. out/Release)') 8 'relative to the src directory. (eg. out/Release)')
diff --git a/www/chromium-uc/patches/extra/inox-patchset/0006-modify-default-prefs.patch b/www/chromium-uc/patches/extra/inox-patchset/0006-modify-default-prefs.patch
index 9d90575..d62ef29 100644
--- a/www/chromium-uc/patches/extra/inox-patchset/0006-modify-default-prefs.patch
+++ b/www/chromium-uc/patches/extra/inox-patchset/0006-modify-default-prefs.patch
@@ -1,6 +1,6 @@
1 1
2--- a/chrome/browser/background/background_mode_manager.cc 2--- chrome/browser/background/background_mode_manager.cc.orig
3+++ b/chrome/browser/background/background_mode_manager.cc 3+++ chrome/browser/background/background_mode_manager.cc
4@@ -376,7 +376,7 @@ void BackgroundModeManager::RegisterPref 4@@ -376,7 +376,7 @@ void BackgroundModeManager::RegisterPref
5 registry->RegisterBooleanPref(prefs::kChromeCreatedLoginItem, false); 5 registry->RegisterBooleanPref(prefs::kChromeCreatedLoginItem, false);
6 registry->RegisterBooleanPref(prefs::kMigratedLoginItemPref, false); 6 registry->RegisterBooleanPref(prefs::kMigratedLoginItemPref, false);
@@ -10,9 +10,9 @@
10 } 10 }
11 11
12 void BackgroundModeManager::RegisterProfile(Profile* profile) { 12 void BackgroundModeManager::RegisterProfile(Profile* profile) {
13--- a/chrome/browser/chrome_content_browser_client.cc 13--- chrome/browser/chrome_content_browser_client.cc.orig
14+++ b/chrome/browser/chrome_content_browser_client.cc 14+++ chrome/browser/chrome_content_browser_client.cc
15@@ -1292,7 +1292,7 @@ void ChromeContentBrowserClient::Registe 15@@ -1238,7 +1238,7 @@ void ChromeContentBrowserClient::Registe
16 void ChromeContentBrowserClient::RegisterProfilePrefs( 16 void ChromeContentBrowserClient::RegisterProfilePrefs(
17 user_prefs::PrefRegistrySyncable* registry) { 17 user_prefs::PrefRegistrySyncable* registry) {
18 registry->RegisterBooleanPref(prefs::kDisable3DAPIs, false); 18 registry->RegisterBooleanPref(prefs::kDisable3DAPIs, false);
@@ -21,9 +21,31 @@
21 // Register user prefs for mapping SitePerProcess and IsolateOrigins in 21 // Register user prefs for mapping SitePerProcess and IsolateOrigins in
22 // user policy in addition to the same named ones in Local State (which are 22 // user policy in addition to the same named ones in Local State (which are
23 // used for mapping the command-line flags). 23 // used for mapping the command-line flags).
24--- a/chrome/browser/net/profile_network_context_service.cc 24--- chrome/browser/net/prediction_options.cc.orig
25+++ b/chrome/browser/net/profile_network_context_service.cc 25+++ chrome/browser/net/prediction_options.cc
26@@ -338,7 +338,7 @@ void ProfileNetworkContextService::Updat 26@@ -31,7 +31,7 @@ NetworkPredictionStatus CanPrefetchAndPr
27 }
28 return NetworkPredictionStatus::DISABLED_DUE_TO_NETWORK;
29 default:
30- DCHECK_EQ(NETWORK_PREDICTION_NEVER, network_prediction_options);
31+ //DCHECK_EQ(NETWORK_PREDICTION_NEVER, network_prediction_options);
32 return NetworkPredictionStatus::DISABLED_ALWAYS;
33 }
34 }
35--- chrome/browser/net/prediction_options.h.orig
36+++ chrome/browser/net/prediction_options.h
37@@ -22,7 +22,7 @@ enum NetworkPredictionOptions {
38 NETWORK_PREDICTION_ALWAYS,
39 NETWORK_PREDICTION_WIFI_ONLY,
40 NETWORK_PREDICTION_NEVER,
41- NETWORK_PREDICTION_DEFAULT = NETWORK_PREDICTION_WIFI_ONLY,
42+ NETWORK_PREDICTION_DEFAULT = NETWORK_PREDICTION_NEVER,
43 };
44
45 enum class NetworkPredictionStatus {
46--- chrome/browser/net/profile_network_context_service.cc.orig
47+++ chrome/browser/net/profile_network_context_service.cc
48@@ -319,7 +319,7 @@ void ProfileNetworkContextService::Updat
27 void ProfileNetworkContextService::RegisterProfilePrefs( 49 void ProfileNetworkContextService::RegisterProfilePrefs(
28 user_prefs::PrefRegistrySyncable* registry) { 50 user_prefs::PrefRegistrySyncable* registry) {
29 registry->RegisterBooleanPref( 51 registry->RegisterBooleanPref(
@@ -32,30 +54,19 @@
32 user_prefs::PrefRegistrySyncable::SYNCABLE_PREF); 54 user_prefs::PrefRegistrySyncable::SYNCABLE_PREF);
33 registry->RegisterBooleanPref(prefs::kQuicAllowed, true); 55 registry->RegisterBooleanPref(prefs::kQuicAllowed, true);
34 registry->RegisterBooleanPref(prefs::kGloballyScopeHTTPAuthCacheEnabled, 56 registry->RegisterBooleanPref(prefs::kGloballyScopeHTTPAuthCacheEnabled,
35--- a/chrome/browser/prefetch/prefetch_prefs.h 57--- chrome/browser/profiles/profile.cc.orig
36+++ b/chrome/browser/prefetch/prefetch_prefs.h 58+++ chrome/browser/profiles/profile.cc
37@@ -22,7 +22,7 @@ enum class NetworkPredictionOptions { 59@@ -276,7 +276,7 @@ const char Profile::kProfileKey[] = "__P
38 kWifiOnlyDeprecated = 1,
39 kDisabled = 2,
40 kExtended = 3,
41- kDefault = kWifiOnlyDeprecated,
42+ kDefault = kDisabled,
43 };
44
45 // Enum representing possible values of the Preload Pages opt-in state. Since
46--- a/chrome/browser/profiles/profile.cc
47+++ b/chrome/browser/profiles/profile.cc
48@@ -278,7 +278,7 @@ const char Profile::kProfileKey[] = "__P
49 void Profile::RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry) { 60 void Profile::RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry) {
50 registry->RegisterBooleanPref( 61 registry->RegisterBooleanPref(
51 prefs::kSearchSuggestEnabled, 62 prefs::kSearchSuggestEnabled,
52- true, 63- true,
53+ false, 64+ false,
54 user_prefs::PrefRegistrySyncable::SYNCABLE_PREF); 65 user_prefs::PrefRegistrySyncable::SYNCABLE_PREF);
55 #if BUILDFLAG(IS_ANDROID) 66 #if defined(OS_ANDROID)
56 registry->RegisterStringPref( 67 registry->RegisterStringPref(
57--- a/chrome/browser/resources/settings/reset_page/reset_profile_dialog.html 68--- chrome/browser/resources/settings/reset_page/reset_profile_dialog.html.orig
58+++ b/chrome/browser/resources/settings/reset_page/reset_profile_dialog.html 69+++ chrome/browser/resources/settings/reset_page/reset_profile_dialog.html
59@@ -36,7 +36,7 @@ 70@@ -36,7 +36,7 @@
60 </cr-button> 71 </cr-button>
61 </div> 72 </div>
@@ -65,9 +76,9 @@
65 $i18nRaw{resetPageFeedback}</cr-checkbox> 76 $i18nRaw{resetPageFeedback}</cr-checkbox>
66 </div> 77 </div>
67 </cr-dialog> 78 </cr-dialog>
68--- a/chrome/browser/signin/account_consistency_mode_manager.cc 79--- chrome/browser/signin/account_consistency_mode_manager.cc.orig
69+++ b/chrome/browser/signin/account_consistency_mode_manager.cc 80+++ chrome/browser/signin/account_consistency_mode_manager.cc
70@@ -110,7 +110,7 @@ AccountConsistencyModeManager::~AccountC 81@@ -111,7 +111,7 @@ AccountConsistencyModeManager::~AccountC
71 // static 82 // static
72 void AccountConsistencyModeManager::RegisterProfilePrefs( 83 void AccountConsistencyModeManager::RegisterProfilePrefs(
73 user_prefs::PrefRegistrySyncable* registry) { 84 user_prefs::PrefRegistrySyncable* registry) {
@@ -76,8 +87,8 @@
76 } 87 }
77 88
78 // static 89 // static
79--- a/chrome/browser/ui/browser_ui_prefs.cc 90--- chrome/browser/ui/browser_ui_prefs.cc.orig
80+++ b/chrome/browser/ui/browser_ui_prefs.cc 91+++ chrome/browser/ui/browser_ui_prefs.cc
81@@ -77,11 +77,11 @@ void RegisterBrowserUserPrefs(user_prefs 92@@ -77,11 +77,11 @@ void RegisterBrowserUserPrefs(user_prefs
82 registry->RegisterBooleanPref(prefs::kWebAppCreateInAppsMenu, true); 93 registry->RegisterBooleanPref(prefs::kWebAppCreateInAppsMenu, true);
83 registry->RegisterBooleanPref(prefs::kWebAppCreateInQuickLaunchBar, true); 94 registry->RegisterBooleanPref(prefs::kWebAppCreateInQuickLaunchBar, true);
@@ -92,8 +103,19 @@
92 registry->RegisterDictionaryPref(prefs::kBrowserWindowPlacement); 103 registry->RegisterDictionaryPref(prefs::kBrowserWindowPlacement);
93 registry->RegisterDictionaryPref(prefs::kBrowserWindowPlacementPopup); 104 registry->RegisterDictionaryPref(prefs::kBrowserWindowPlacementPopup);
94 registry->RegisterDictionaryPref(prefs::kAppWindowPlacement); 105 registry->RegisterDictionaryPref(prefs::kAppWindowPlacement);
95--- a/components/autofill/core/common/autofill_prefs.cc 106--- chrome/service/cloud_print/connector_settings.cc.orig
96+++ b/components/autofill/core/common/autofill_prefs.cc 107+++ chrome/service/cloud_print/connector_settings.cc
108@@ -59,7 +59,7 @@ void ConnectorSettings::InitFrom(Service
109 DCHECK(server_url_.is_valid());
110
111 connect_new_printers_ = prefs->GetBoolean(
112- prefs::kCloudPrintConnectNewPrinters, true);
113+ prefs::kCloudPrintConnectNewPrinters, false);
114
115 xmpp_ping_enabled_ = prefs->GetBoolean(
116 prefs::kCloudPrintXmppPingEnabled, false);
117--- components/autofill/core/common/autofill_prefs.cc.orig
118+++ components/autofill/core/common/autofill_prefs.cc
97@@ -131,10 +131,10 @@ const char kAutocompleteLastVersionReten 119@@ -131,10 +131,10 @@ const char kAutocompleteLastVersionReten
98 void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry) { 120 void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry) {
99 // Synced prefs. Used for cross-device choices, e.g., credit card Autofill. 121 // Synced prefs. Used for cross-device choices, e.g., credit card Autofill.
@@ -116,20 +138,31 @@
116 user_prefs::PrefRegistrySyncable::SYNCABLE_PREF); 138 user_prefs::PrefRegistrySyncable::SYNCABLE_PREF);
117 registry->RegisterStringPref( 139 registry->RegisterStringPref(
118 prefs::kAutofillProfileValidity, "", 140 prefs::kAutofillProfileValidity, "",
119--- a/components/bookmarks/browser/bookmark_utils.cc 141--- components/bookmarks/browser/bookmark_utils.cc.orig
120+++ b/components/bookmarks/browser/bookmark_utils.cc 142+++ components/bookmarks/browser/bookmark_utils.cc
121@@ -436,7 +436,7 @@ bool DoesBookmarkContainWords(const std: 143@@ -437,7 +437,7 @@ bool DoesBookmarkContainWords(const std:
122
123 void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry) { 144 void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry) {
124 registry->RegisterBooleanPref( 145 registry->RegisterBooleanPref(
125- prefs::kShowBookmarkBar, false, 146 prefs::kShowBookmarkBar,
126+ prefs::kShowBookmarkBar, true, 147- false,
148+ true,
127 user_prefs::PrefRegistrySyncable::SYNCABLE_PREF); 149 user_prefs::PrefRegistrySyncable::SYNCABLE_PREF);
128 registry->RegisterBooleanPref(prefs::kEditBookmarksEnabled, true); 150 registry->RegisterBooleanPref(prefs::kEditBookmarksEnabled, true);
129 registry->RegisterBooleanPref( 151 registry->RegisterBooleanPref(
130--- a/components/content_settings/core/browser/cookie_settings.cc 152--- components/bookmarks/browser/features.cc.orig
131+++ b/components/content_settings/core/browser/cookie_settings.cc 153+++ components/bookmarks/browser/features.cc
132@@ -64,7 +64,7 @@ void CookieSettings::RegisterProfilePref 154@@ -10,7 +10,7 @@ namespace features {
155 // Changes the apps shortcut on the bookmarks bar to default to off.
156 // https://crbug.com/1236793
157 const base::Feature kAppsShortcutDefaultOff{"AppsShortcutDefaultOff",
158- base::FEATURE_DISABLED_BY_DEFAULT};
159+ base::FEATURE_ENABLED_BY_DEFAULT};
160
161 } // namespace features
162 } // namespace bookmarks
163--- components/content_settings/core/browser/cookie_settings.cc.orig
164+++ components/content_settings/core/browser/cookie_settings.cc
165@@ -63,7 +63,7 @@ void CookieSettings::RegisterProfilePref
133 user_prefs::PrefRegistrySyncable* registry) { 166 user_prefs::PrefRegistrySyncable* registry) {
134 registry->RegisterIntegerPref( 167 registry->RegisterIntegerPref(
135 prefs::kCookieControlsMode, 168 prefs::kCookieControlsMode,
@@ -138,9 +171,9 @@
138 user_prefs::PrefRegistrySyncable::SYNCABLE_PREF); 171 user_prefs::PrefRegistrySyncable::SYNCABLE_PREF);
139 } 172 }
140 173
141--- a/components/password_manager/core/browser/password_manager.cc 174--- components/password_manager/core/browser/password_manager.cc.orig
142+++ b/components/password_manager/core/browser/password_manager.cc 175+++ components/password_manager/core/browser/password_manager.cc
143@@ -210,10 +210,10 @@ bool HasMutedCredentials(const std::vect 176@@ -204,10 +204,10 @@ bool HasMutedCredentials(base::span<cons
144 void PasswordManager::RegisterProfilePrefs( 177 void PasswordManager::RegisterProfilePrefs(
145 user_prefs::PrefRegistrySyncable* registry) { 178 user_prefs::PrefRegistrySyncable* registry) {
146 registry->RegisterBooleanPref( 179 registry->RegisterBooleanPref(
@@ -153,8 +186,8 @@
153 user_prefs::PrefRegistrySyncable::SYNCABLE_PRIORITY_PREF); 186 user_prefs::PrefRegistrySyncable::SYNCABLE_PRIORITY_PREF);
154 registry->RegisterStringPref(prefs::kSyncPasswordHash, std::string(), 187 registry->RegisterStringPref(prefs::kSyncPasswordHash, std::string(),
155 PrefRegistry::NO_REGISTRATION_FLAGS); 188 PrefRegistry::NO_REGISTRATION_FLAGS);
156--- a/components/payments/core/payment_prefs.cc 189--- components/payments/core/payment_prefs.cc.orig
157+++ b/components/payments/core/payment_prefs.cc 190+++ components/payments/core/payment_prefs.cc
158@@ -16,7 +16,7 @@ const char kCanMakePaymentEnabled[] = "p 191@@ -16,7 +16,7 @@ const char kCanMakePaymentEnabled[] = "p
159 void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry) { 192 void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry) {
160 registry->RegisterBooleanPref(kPaymentsFirstTransactionCompleted, false); 193 registry->RegisterBooleanPref(kPaymentsFirstTransactionCompleted, false);
diff --git a/www/chromium-uc/patches/extra/inox-patchset/0008-restore-classic-ntp.patch b/www/chromium-uc/patches/extra/inox-patchset/0008-restore-classic-ntp.patch
index da8efe2..9d21b6f 100644
--- a/www/chromium-uc/patches/extra/inox-patchset/0008-restore-classic-ntp.patch
+++ b/www/chromium-uc/patches/extra/inox-patchset/0008-restore-classic-ntp.patch
@@ -1,6 +1,6 @@
1--- a/chrome/browser/search/search.cc 1--- chrome/browser/search/search.cc.orig
2+++ b/chrome/browser/search/search.cc 2+++ chrome/browser/search/search.cc
3@@ -184,26 +184,7 @@ struct NewTabURLDetails { 3@@ -182,26 +182,7 @@ struct NewTabURLDetails {
4 : chrome::kChromeUINewTabPageThirdPartyURL); 4 : chrome::kChromeUINewTabPageThirdPartyURL);
5 #endif 5 #endif
6 6
@@ -28,9 +28,9 @@
28 } 28 }
29 29
30 const GURL url; 30 const GURL url;
31--- a/components/ntp_snippets/features.cc 31--- components/ntp_snippets/features.cc.orig
32+++ b/components/ntp_snippets/features.cc 32+++ components/ntp_snippets/features.cc
33@@ -38,7 +38,7 @@ const base::Feature* const kAllFeatures[ 33@@ -39,7 +39,7 @@ const base::Feature* const kAllFeatures[
34 &kOptionalImagesEnabledFeature}; 34 &kOptionalImagesEnabledFeature};
35 35
36 const base::Feature kArticleSuggestionsFeature{ 36 const base::Feature kArticleSuggestionsFeature{
@@ -39,7 +39,7 @@
39 39
40 const base::Feature kRemoteSuggestionsEmulateM58FetchingSchedule{ 40 const base::Feature kRemoteSuggestionsEmulateM58FetchingSchedule{
41 "RemoteSuggestionsEmulateM58FetchingSchedule", 41 "RemoteSuggestionsEmulateM58FetchingSchedule",
42@@ -68,10 +68,10 @@ const char kNotificationsDailyLimit[] = 42@@ -69,10 +69,10 @@ const char kNotificationsDailyLimit[] =
43 const char kNotificationsIgnoredLimitParam[] = "ignored_limit"; 43 const char kNotificationsIgnoredLimitParam[] = "ignored_limit";
44 44
45 const base::Feature kKeepPrefetchedContentSuggestions{ 45 const base::Feature kKeepPrefetchedContentSuggestions{
diff --git a/www/chromium-uc/patches/extra/inox-patchset/0013-disable-missing-key-warning.patch b/www/chromium-uc/patches/extra/inox-patchset/0013-disable-missing-key-warning.patch
index c5a74c7..0b14cd8 100644
--- a/www/chromium-uc/patches/extra/inox-patchset/0013-disable-missing-key-warning.patch
+++ b/www/chromium-uc/patches/extra/inox-patchset/0013-disable-missing-key-warning.patch
@@ -1,5 +1,5 @@
1--- a/chrome/browser/ui/startup/google_api_keys_infobar_delegate.cc 1--- chrome/browser/ui/startup/google_api_keys_infobar_delegate.cc.orig
2+++ b/chrome/browser/ui/startup/google_api_keys_infobar_delegate.cc 2+++ chrome/browser/ui/startup/google_api_keys_infobar_delegate.cc
3@@ -17,9 +17,6 @@ 3@@ -17,9 +17,6 @@
4 // static 4 // static
5 void GoogleApiKeysInfoBarDelegate::Create( 5 void GoogleApiKeysInfoBarDelegate::Create(
diff --git a/www/chromium-uc/patches/extra/inox-patchset/0016-chromium-sandbox-pie.patch b/www/chromium-uc/patches/extra/inox-patchset/0016-chromium-sandbox-pie.patch
index 6ee4d73..ff72a53 100644
--- a/www/chromium-uc/patches/extra/inox-patchset/0016-chromium-sandbox-pie.patch
+++ b/www/chromium-uc/patches/extra/inox-patchset/0016-chromium-sandbox-pie.patch
@@ -1,6 +1,6 @@
1--- a/sandbox/linux/BUILD.gn 1--- sandbox/linux/BUILD.gn.orig
2+++ b/sandbox/linux/BUILD.gn 2+++ sandbox/linux/BUILD.gn
3@@ -296,6 +296,12 @@ if (is_linux || is_chromeos) { 3@@ -327,6 +327,12 @@ if (is_linux || is_chromeos) {
4 # These files have a suspicious comparison. 4 # These files have a suspicious comparison.
5 # TODO fix this and re-enable this warning. 5 # TODO fix this and re-enable this warning.
6 "-Wno-sign-compare", 6 "-Wno-sign-compare",
diff --git a/www/chromium-uc/patches/extra/inox-patchset/0018-disable-first-run-behaviour.patch b/www/chromium-uc/patches/extra/inox-patchset/0018-disable-first-run-behaviour.patch
index 7bbf3a0..4790f65 100644
--- a/www/chromium-uc/patches/extra/inox-patchset/0018-disable-first-run-behaviour.patch
+++ b/www/chromium-uc/patches/extra/inox-patchset/0018-disable-first-run-behaviour.patch
@@ -1,6 +1,6 @@
1--- a/chrome/browser/ui/startup/startup_tab_provider.cc 1--- chrome/browser/ui/startup/startup_tab_provider.cc.orig
2+++ b/chrome/browser/ui/startup/startup_tab_provider.cc 2+++ chrome/browser/ui/startup/startup_tab_provider.cc
3@@ -144,7 +144,7 @@ bool IsChromeControlledNtpUrl(const GURL 3@@ -105,7 +105,7 @@ bool ValidateUrl(const GURL& url) {
4 4
5 StartupTabs StartupTabProviderImpl::GetOnboardingTabs(Profile* profile) const { 5 StartupTabs StartupTabProviderImpl::GetOnboardingTabs(Profile* profile) const {
6 // Chrome OS has its own welcome flow provided by OOBE. 6 // Chrome OS has its own welcome flow provided by OOBE.
diff --git a/www/chromium-uc/patches/extra/inox-patchset/0019-disable-battery-status-service.patch b/www/chromium-uc/patches/extra/inox-patchset/0019-disable-battery-status-service.patch
index e69d4da..ded3df9 100644
--- a/www/chromium-uc/patches/extra/inox-patchset/0019-disable-battery-status-service.patch
+++ b/www/chromium-uc/patches/extra/inox-patchset/0019-disable-battery-status-service.patch
@@ -1,5 +1,5 @@
1--- a/services/device/battery/battery_status_service.cc 1--- services/device/battery/battery_status_service.cc.orig
2+++ b/services/device/battery/battery_status_service.cc 2+++ services/device/battery/battery_status_service.cc
3@@ -22,10 +22,7 @@ BatteryStatusService::BatteryStatusServi 3@@ -22,10 +22,7 @@ BatteryStatusService::BatteryStatusServi
4 update_callback_( 4 update_callback_(
5 base::BindRepeating(&BatteryStatusService::NotifyConsumers, 5 base::BindRepeating(&BatteryStatusService::NotifyConsumers,
@@ -82,9 +82,9 @@
82 is_shutdown_ = false; 82 is_shutdown_ = false;
83 main_thread_task_runner_ = base::ThreadTaskRunnerHandle::Get(); 83 main_thread_task_runner_ = base::ThreadTaskRunnerHandle::Get();
84 } 84 }
85--- a/services/device/battery/battery_status_service.h 85--- services/device/battery/battery_status_service.h.orig
86+++ b/services/device/battery/battery_status_service.h 86+++ services/device/battery/battery_status_service.h
87@@ -59,15 +59,10 @@ class BatteryStatusService { 87@@ -60,15 +60,10 @@ class BatteryStatusService {
88 // Updates current battery status and sends new status to interested 88 // Updates current battery status and sends new status to interested
89 // render processes. Can be called on any thread via a callback. 89 // render processes. Can be called on any thread via a callback.
90 void NotifyConsumers(const mojom::BatteryStatus& status); 90 void NotifyConsumers(const mojom::BatteryStatus& status);
diff --git a/www/chromium-uc/patches/extra/iridium-browser/Remove-EV-certificates.patch b/www/chromium-uc/patches/extra/iridium-browser/Remove-EV-certificates.patch
index 5f6dedb..8f794fe 100644
--- a/www/chromium-uc/patches/extra/iridium-browser/Remove-EV-certificates.patch
+++ b/www/chromium-uc/patches/extra/iridium-browser/Remove-EV-certificates.patch
@@ -7,15 +7,16 @@ The team chose to let EV certificates appear just like normal
7certificates. The web of trust is considered a failure in itself, so 7certificates. The web of trust is considered a failure in itself, so
8do not give users a false sense of extra security with EV certs. 8do not give users a false sense of extra security with EV certs.
9Instead, let them appear just like regular ones. 9Instead, let them appear just like regular ones.
10---
11 net/cert/ev_root_ca_metadata.cc | 14 +++++++++++++-
12 1 file changed, 13 insertions(+), 1 deletion(-)
10 13
11--- a/net/cert/ev_root_ca_metadata.cc 14--- net/cert/ev_root_ca_metadata.cc.orig
12+++ b/net/cert/ev_root_ca_metadata.cc 15+++ net/cert/ev_root_ca_metadata.cc
13@@ -41,7 +41,17 @@ struct EVMetadata { 16@@ -41,6 +41,16 @@ struct EVMetadata {
14 const base::StringPiece policy_oids[kMaxOIDsPerCA];
15 };
16 17
17-#include "net/data/ssl/ev_roots/chrome-ev-root-store-inc.cc" 18 // These certificates may be found in net/data/ssl/ev_roots.
18+static const EVMetadata kEvRootCaMetadata[] = { 19 static const EVMetadata kEvRootCaMetadata[] = {
19+ // need some dummy thing to make compiler happy, because 20+ // need some dummy thing to make compiler happy, because
20+ // arraysize() is implemented as a convoluted template rather than 21+ // arraysize() is implemented as a convoluted template rather than
21+ // the traditional sizeof(x)/sizeof(*x) 22+ // the traditional sizeof(x)/sizeof(*x)
@@ -24,7 +25,18 @@ Instead, let them appear just like regular ones.
24+ { 25+ {
25+ "0", 26+ "0",
26+ } 27+ }
28+ },
29+#if 0
30 // AC Camerfirma S.A. Chambers of Commerce Root - 2008
31 // https://www.camerfirma.com
32 {
33@@ -590,7 +600,9 @@ static const EVMetadata kEvRootCaMetadat
34 0xd2, 0x09, 0xb7, 0x37, 0xcb, 0xe2, 0xc1, 0x8c, 0xfb, 0x2c, 0x10,
35 0xc0, 0xff, 0x0b, 0xcf, 0x0d, 0x32, 0x86, 0xfc, 0x1a, 0xa2}},
36 {"2.16.840.1.114404.1.1.2.4.1", ""},
37- }};
27+ } 38+ }
39+#endif
28+}; 40+};
29 41
30 #endif // defined(PLATFORM_USES_CHROMIUM_EV_METADATA) 42 #endif // defined(PLATFORM_USES_CHROMIUM_EV_METADATA)
diff --git a/www/chromium-uc/patches/extra/iridium-browser/browser-disable-profile-auto-import-on-first-run.patch b/www/chromium-uc/patches/extra/iridium-browser/browser-disable-profile-auto-import-on-first-run.patch
index 1357064..0072e8f 100644
--- a/www/chromium-uc/patches/extra/iridium-browser/browser-disable-profile-auto-import-on-first-run.patch
+++ b/www/chromium-uc/patches/extra/iridium-browser/browser-disable-profile-auto-import-on-first-run.patch
@@ -3,14 +3,18 @@ From: Joachim Bauch <jojo@struktur.de>
3Date: Thu, 25 Jun 2015 15:51:59 +0200 3Date: Thu, 25 Jun 2015 15:51:59 +0200
4Subject: [PATCH 56/66] browser: disable profile auto-import on first run 4Subject: [PATCH 56/66] browser: disable profile auto-import on first run
5 5
6--- a/chrome/browser/chrome_browser_main.cc 6---
7+++ b/chrome/browser/chrome_browser_main.cc 7 chrome/browser/chrome_browser_main.cc | 2 --
8@@ -1620,8 +1620,6 @@ int ChromeBrowserMainParts::PreMainMessa 8 1 file changed, 2 deletions(-)
9
10--- chrome/browser/chrome_browser_main.cc.orig
11+++ chrome/browser/chrome_browser_main.cc
12@@ -1492,8 +1492,6 @@ int ChromeBrowserMainParts::PreMainMessa
9 // and preferences have been registered since some of the import code depends 13 // and preferences have been registered since some of the import code depends
10 // on preferences. 14 // on preferences.
11 if (first_run::IsChromeFirstRun()) { 15 if (first_run::IsChromeFirstRun()) {
12- first_run::AutoImport(profile, master_prefs_->import_bookmarks_path); 16- first_run::AutoImport(profile_, master_prefs_->import_bookmarks_path);
13- 17-
14 // Note: This can pop-up the first run consent dialog on Linux & Mac. 18 // Note: This can pop-up the first run consent dialog on Linux & Mac.
15 first_run::DoPostImportTasks(profile, 19 first_run::DoPostImportTasks(profile_,
16 master_prefs_->make_chrome_default_for_user); 20 master_prefs_->make_chrome_default_for_user);
diff --git a/www/chromium-uc/patches/extra/iridium-browser/mime_util-force-text-x-suse-ymp-to-be-downloaded.patch b/www/chromium-uc/patches/extra/iridium-browser/mime_util-force-text-x-suse-ymp-to-be-downloaded.patch
index e66b0d6..a6eab74 100644
--- a/www/chromium-uc/patches/extra/iridium-browser/mime_util-force-text-x-suse-ymp-to-be-downloaded.patch
+++ b/www/chromium-uc/patches/extra/iridium-browser/mime_util-force-text-x-suse-ymp-to-be-downloaded.patch
@@ -9,8 +9,8 @@ very interesting in themselves. Force them to be stored.
9 components/mime_util/mime_util.cc | 1 + 9 components/mime_util/mime_util.cc | 1 +
10 1 file changed, 1 insertion(+) 10 1 file changed, 1 insertion(+)
11 11
12--- a/third_party/blink/common/mime_util/mime_util.cc 12--- third_party/blink/common/mime_util/mime_util.cc.orig
13+++ b/third_party/blink/common/mime_util/mime_util.cc 13+++ third_party/blink/common/mime_util/mime_util.cc
14@@ -83,6 +83,7 @@ static const char* const kUnsupportedTex 14@@ -83,6 +83,7 @@ static const char* const kUnsupportedTex
15 "text/x-csv", 15 "text/x-csv",
16 "text/x-vcf", 16 "text/x-vcf",
diff --git a/www/chromium-uc/patches/extra/iridium-browser/net-cert-increase-default-key-length-for-newly-gener.patch b/www/chromium-uc/patches/extra/iridium-browser/net-cert-increase-default-key-length-for-newly-gener.patch
index fe39bb4..394a6da 100644
--- a/www/chromium-uc/patches/extra/iridium-browser/net-cert-increase-default-key-length-for-newly-gener.patch
+++ b/www/chromium-uc/patches/extra/iridium-browser/net-cert-increase-default-key-length-for-newly-gener.patch
@@ -10,9 +10,9 @@ it as hidden as it was before?
10 net/cert/x509_util.cc | 2 +- 10 net/cert/x509_util.cc | 2 +-
11 1 file changed, 1 insertion(+), 1 deletion(-) 11 1 file changed, 1 insertion(+), 1 deletion(-)
12 12
13--- a/net/cert/x509_util.cc 13--- net/cert/x509_util.cc.orig
14+++ b/net/cert/x509_util.cc 14+++ net/cert/x509_util.cc
15@@ -243,7 +243,7 @@ bool GetTLSServerEndPointChannelBinding( 15@@ -241,7 +241,7 @@ bool GetTLSServerEndPointChannelBinding(
16 } 16 }
17 17
18 // RSA keys created by CreateKeyAndSelfSignedCert will be of this length. 18 // RSA keys created by CreateKeyAndSelfSignedCert will be of this length.
diff --git a/www/chromium-uc/patches/extra/iridium-browser/prefs-always-prompt-for-download-directory-by-defaul.patch b/www/chromium-uc/patches/extra/iridium-browser/prefs-always-prompt-for-download-directory-by-defaul.patch
index 204d9c0..beb8b0b 100644
--- a/www/chromium-uc/patches/extra/iridium-browser/prefs-always-prompt-for-download-directory-by-defaul.patch
+++ b/www/chromium-uc/patches/extra/iridium-browser/prefs-always-prompt-for-download-directory-by-defaul.patch
@@ -27,9 +27,9 @@ TLDR: Do not let files sneak onto the disk too easily.
27 chrome/browser/download/download_prefs.cc | 2 +- 27 chrome/browser/download/download_prefs.cc | 2 +-
28 1 file changed, 1 insertion(+), 1 deletion(-) 28 1 file changed, 1 insertion(+), 1 deletion(-)
29 29
30--- a/chrome/browser/download/download_prefs.cc 30--- chrome/browser/download/download_prefs.cc.orig
31+++ b/chrome/browser/download/download_prefs.cc 31+++ chrome/browser/download/download_prefs.cc
32@@ -263,7 +263,7 @@ void DownloadPrefs::RegisterProfilePrefs 32@@ -271,7 +271,7 @@ void DownloadPrefs::RegisterProfilePrefs
33 user_prefs::PrefRegistrySyncable* registry) { 33 user_prefs::PrefRegistrySyncable* registry) {
34 registry->RegisterBooleanPref( 34 registry->RegisterBooleanPref(
35 prefs::kPromptForDownload, 35 prefs::kPromptForDownload,
diff --git a/www/chromium-uc/patches/extra/iridium-browser/prefs-only-keep-cookies-until-exit.patch b/www/chromium-uc/patches/extra/iridium-browser/prefs-only-keep-cookies-until-exit.patch
index 41e42b8..01696b7 100644
--- a/www/chromium-uc/patches/extra/iridium-browser/prefs-only-keep-cookies-until-exit.patch
+++ b/www/chromium-uc/patches/extra/iridium-browser/prefs-only-keep-cookies-until-exit.patch
@@ -8,11 +8,11 @@ Out with all those tracking cookies!
8 components/content_settings/core/browser/content_settings_registry.cc | 2 +- 8 components/content_settings/core/browser/content_settings_registry.cc | 2 +-
9 1 file changed, 1 insertion(+), 1 deletion(-) 9 1 file changed, 1 insertion(+), 1 deletion(-)
10 10
11--- a/components/content_settings/core/browser/content_settings_registry.cc 11--- components/content_settings/core/browser/content_settings_registry.cc.orig
12+++ b/components/content_settings/core/browser/content_settings_registry.cc 12+++ components/content_settings/core/browser/content_settings_registry.cc
13@@ -131,7 +131,7 @@ void ContentSettingsRegistry::Init() { 13@@ -126,7 +126,7 @@ void ContentSettingsRegistry::Init() {
14 // PrefProvider::DiscardOrMigrateObsoletePreferences() and 14 // WARNING: The string names of the permissions passed in below are used to
15 // DefaultProvider::DiscardOrMigrateObsoletePreferences() accordingly. 15 // generate preference names and should never be changed!
16 16
17- Register(ContentSettingsType::COOKIES, "cookies", CONTENT_SETTING_ALLOW, 17- Register(ContentSettingsType::COOKIES, "cookies", CONTENT_SETTING_ALLOW,
18+ Register(ContentSettingsType::COOKIES, "cookies", CONTENT_SETTING_SESSION_ONLY, 18+ Register(ContentSettingsType::COOKIES, "cookies", CONTENT_SETTING_SESSION_ONLY,
diff --git a/www/chromium-uc/patches/extra/iridium-browser/updater-disable-auto-update.patch b/www/chromium-uc/patches/extra/iridium-browser/updater-disable-auto-update.patch
index 3283795..a6be904 100644
--- a/www/chromium-uc/patches/extra/iridium-browser/updater-disable-auto-update.patch
+++ b/www/chromium-uc/patches/extra/iridium-browser/updater-disable-auto-update.patch
@@ -14,9 +14,9 @@ the case anyway, since we are based off Chromium, not Chrome.
14 chrome/browser/app_controller_mac.mm | 2 +- 14 chrome/browser/app_controller_mac.mm | 2 +-
15 1 file changed, 1 insertion(+), 1 deletion(-) 15 1 file changed, 1 insertion(+), 1 deletion(-)
16 16
17--- a/chrome/browser/app_controller_mac.mm 17--- chrome/browser/app_controller_mac.mm.orig
18+++ b/chrome/browser/app_controller_mac.mm 18+++ chrome/browser/app_controller_mac.mm
19@@ -867,7 +867,7 @@ static base::mac::ScopedObjCClassSwizzle 19@@ -866,7 +866,7 @@ static base::mac::ScopedObjCClassSwizzle
20 CFStringRef checkInterval = CFSTR("checkInterval"); 20 CFStringRef checkInterval = CFSTR("checkInterval");
21 CFPropertyListRef plist = CFPreferencesCopyAppValue(checkInterval, app); 21 CFPropertyListRef plist = CFPreferencesCopyAppValue(checkInterval, app);
22 if (!plist) { 22 if (!plist) {
diff --git a/www/chromium-uc/patches/extra/ungoogled-chromium/add-components-ungoogled.patch b/www/chromium-uc/patches/extra/ungoogled-chromium/add-components-ungoogled.patch
index a2c6fc9..167eaec 100644
--- a/www/chromium-uc/patches/extra/ungoogled-chromium/add-components-ungoogled.patch
+++ b/www/chromium-uc/patches/extra/ungoogled-chromium/add-components-ungoogled.patch
@@ -1,7 +1,7 @@
1# Add ungoogled-chromium-specific code to components/ungoogled/ 1# Add ungoogled-chromium-specific code to components/ungoogled/
2 2
3--- /dev/null 3--- /dev/null
4+++ b/components/ungoogled/BUILD.gn 4+++ components/ungoogled/BUILD.gn
5@@ -0,0 +1,14 @@ 5@@ -0,0 +1,14 @@
6+# Copyright (c) 2020 The ungoogled-chromium Authors. All rights reserved. 6+# Copyright (c) 2020 The ungoogled-chromium Authors. All rights reserved.
7+# Use of this source code is governed by a BSD-style license that can be 7+# Use of this source code is governed by a BSD-style license that can be
@@ -18,8 +18,8 @@
18+ deps = [ "//base" ] 18+ deps = [ "//base" ]
19+} 19+}
20--- /dev/null 20--- /dev/null
21+++ b/components/ungoogled/ungoogled_switches.cc 21+++ components/ungoogled/ungoogled_switches.cc
22@@ -0,0 +1,18 @@ 22@@ -0,0 +1,21 @@
23+// Copyright (c) 2020 The ungoogled-chromium Authors. All rights reserved. 23+// Copyright (c) 2020 The ungoogled-chromium Authors. All rights reserved.
24+// Use of this source code is governed by a BSD-style license that can be 24+// Use of this source code is governed by a BSD-style license that can be
25+// found in the LICENSE file. 25+// found in the LICENSE file.
@@ -37,10 +37,13 @@
37+// Enable fingerprinting deception for Canvas image data 37+// Enable fingerprinting deception for Canvas image data
38+const char kFingerprintingCanvasImageDataNoise[] = "fingerprinting-canvas-image-data-noise"; 38+const char kFingerprintingCanvasImageDataNoise[] = "fingerprinting-canvas-image-data-noise";
39+ 39+
40+// Set PDF Plugin name, for websites that analyze JavaScript API navigator.plugins
41+const char kPDFPluginName[] = "pdf-plugin-name";
42+
40+} // namespace switches 43+} // namespace switches
41--- /dev/null 44--- /dev/null
42+++ b/components/ungoogled/ungoogled_switches.h 45+++ components/ungoogled/ungoogled_switches.h
43@@ -0,0 +1,20 @@ 46@@ -0,0 +1,21 @@
44+// Copyright (c) 2020 The ungoogled-chromium Authors. All rights reserved. 47+// Copyright (c) 2020 The ungoogled-chromium Authors. All rights reserved.
45+// Use of this source code is governed by a BSD-style license that can be 48+// Use of this source code is governed by a BSD-style license that can be
46+// found in the LICENSE file. 49+// found in the LICENSE file.
@@ -57,6 +60,7 @@
57+COMPONENT_EXPORT(UNGOOGLED) extern const char kFingerprintingClientRectsNoise[]; 60+COMPONENT_EXPORT(UNGOOGLED) extern const char kFingerprintingClientRectsNoise[];
58+COMPONENT_EXPORT(UNGOOGLED) extern const char kFingerprintingCanvasMeasureTextNoise[]; 61+COMPONENT_EXPORT(UNGOOGLED) extern const char kFingerprintingCanvasMeasureTextNoise[];
59+COMPONENT_EXPORT(UNGOOGLED) extern const char kFingerprintingCanvasImageDataNoise[]; 62+COMPONENT_EXPORT(UNGOOGLED) extern const char kFingerprintingCanvasImageDataNoise[];
63+COMPONENT_EXPORT(UNGOOGLED) extern const char kPDFPluginName[];
60+ 64+
61+} 65+}
62+ 66+
diff --git a/www/chromium-uc/patches/extra/ungoogled-chromium/add-extra-channel-info.patch b/www/chromium-uc/patches/extra/ungoogled-chromium/add-extra-channel-info.patch
index 0df57e0..6df493e 100644
--- a/www/chromium-uc/patches/extra/ungoogled-chromium/add-extra-channel-info.patch
+++ b/www/chromium-uc/patches/extra/ungoogled-chromium/add-extra-channel-info.patch
@@ -5,8 +5,8 @@ author: Wengling Chen <feiyu2817@gmail.com>
5 components/version_ui_strings.grdp | 4 ++-- 5 components/version_ui_strings.grdp | 4 ++--
6 1 file changed, 2 insertions(+), 2 deletions(-) 6 1 file changed, 2 insertions(+), 2 deletions(-)
7 7
8--- a/components/version_ui_strings.grdp 8--- components/version_ui_strings.grdp.orig
9+++ b/components/version_ui_strings.grdp 9+++ components/version_ui_strings.grdp
10@@ -4,10 +4,10 @@ 10@@ -4,10 +4,10 @@
11 About Version 11 About Version
12 </message> 12 </message>
diff --git a/www/chromium-uc/patches/extra/ungoogled-chromium/add-flag-for-bookmark-bar-ntp.patch b/www/chromium-uc/patches/extra/ungoogled-chromium/add-flag-for-bookmark-bar-ntp.patch
index f7e201c..0d622e8 100644
--- a/www/chromium-uc/patches/extra/ungoogled-chromium/add-flag-for-bookmark-bar-ntp.patch
+++ b/www/chromium-uc/patches/extra/ungoogled-chromium/add-flag-for-bookmark-bar-ntp.patch
@@ -1,5 +1,5 @@
1--- a/chrome/browser/ui/bookmarks/bookmark_tab_helper.cc 1--- chrome/browser/ui/bookmarks/bookmark_tab_helper.cc.orig
2+++ b/chrome/browser/ui/bookmarks/bookmark_tab_helper.cc 2+++ chrome/browser/ui/bookmarks/bookmark_tab_helper.cc
3@@ -4,6 +4,7 @@ 3@@ -4,6 +4,7 @@
4 4
5 #include "chrome/browser/ui/bookmarks/bookmark_tab_helper.h" 5 #include "chrome/browser/ui/bookmarks/bookmark_tab_helper.h"
@@ -22,11 +22,11 @@
22 } 22 }
23 23
24 void BookmarkTabHelper::AddObserver(BookmarkTabHelperObserver* observer) { 24 void BookmarkTabHelper::AddObserver(BookmarkTabHelperObserver* observer) {
25--- a/chrome/browser/ungoogled_flag_choices.h 25--- chrome/browser/ungoogled_flag_choices.h.orig
26+++ b/chrome/browser/ungoogled_flag_choices.h 26+++ chrome/browser/ungoogled_flag_choices.h
27@@ -34,4 +34,10 @@ const FeatureEntry::Choice kScrollEventC 27@@ -39,4 +39,10 @@ const FeatureEntry::Choice kPDFPluginNam
28 "scroll-tabs", 28 {"Google Chrome", switches::kPDFPluginName, "chrome"},
29 "never"} 29 {"Microsoft Edge", switches::kPDFPluginName, "edge"},
30 }; 30 };
31+const FeatureEntry::Choice kBookmarkBarNewTab[] = { 31+const FeatureEntry::Choice kBookmarkBarNewTab[] = {
32+ {flags_ui::kGenericExperimentChoiceDefault, "", ""}, 32+ {flags_ui::kGenericExperimentChoiceDefault, "", ""},
@@ -35,12 +35,12 @@
35+ "never"}, 35+ "never"},
36+}; 36+};
37 #endif // CHROME_BROWSER_UNGOOGLED_FLAG_CHOICES_H_ 37 #endif // CHROME_BROWSER_UNGOOGLED_FLAG_CHOICES_H_
38--- a/chrome/browser/ungoogled_flag_entries.h 38--- chrome/browser/ungoogled_flag_entries.h.orig
39+++ b/chrome/browser/ungoogled_flag_entries.h 39+++ chrome/browser/ungoogled_flag_entries.h
40@@ -36,4 +36,8 @@ 40@@ -44,4 +44,8 @@
41 "Scroll switches tab", 41 "Set internal PDF plugin name",
42 "Switch to the left/right tab if the wheel-scroll happens over the tabstrip, or the empty space beside the tabstrip. ungoogled-chromium flag.", 42 "Sets the internal PDF viewer plugin name. Useful for sites that probe JS API navigator.plugins. ungoogled-chromium flag.",
43 kOsDesktop, MULTI_VALUE_TYPE(kScrollEventChangesTab)}, 43 kOsDesktop, MULTI_VALUE_TYPE(kPDFPluginNameChoices)},
44+ {"bookmark-bar-ntp", 44+ {"bookmark-bar-ntp",
45+ "Bookmark Bar on New-Tab-Page", 45+ "Bookmark Bar on New-Tab-Page",
46+ "Disable the Bookmark Bar on the New-Tab-Page. ungoogled-chromium flag.", 46+ "Disable the Bookmark Bar on the New-Tab-Page. ungoogled-chromium flag.",
diff --git a/www/chromium-uc/patches/extra/ungoogled-chromium/add-flag-for-close-confirmation.patch b/www/chromium-uc/patches/extra/ungoogled-chromium/add-flag-for-close-confirmation.patch
index d6aba47..56dc7e2 100644
--- a/www/chromium-uc/patches/extra/ungoogled-chromium/add-flag-for-close-confirmation.patch
+++ b/www/chromium-uc/patches/extra/ungoogled-chromium/add-flag-for-close-confirmation.patch
@@ -1,6 +1,6 @@
1--- a/chrome/browser/ui/browser.cc 1--- chrome/browser/ui/browser.cc.orig
2+++ b/chrome/browser/ui/browser.cc 2+++ chrome/browser/ui/browser.cc
3@@ -138,6 +138,8 @@ 3@@ -140,6 +140,8 @@
4 #include "chrome/browser/ui/tabs/tab_strip_model.h" 4 #include "chrome/browser/ui/tabs/tab_strip_model.h"
5 #include "chrome/browser/ui/tabs/tab_utils.h" 5 #include "chrome/browser/ui/tabs/tab_utils.h"
6 #include "chrome/browser/ui/ui_features.h" 6 #include "chrome/browser/ui/ui_features.h"
@@ -9,7 +9,7 @@
9 #include "chrome/browser/ui/web_applications/app_browser_controller.h" 9 #include "chrome/browser/ui/web_applications/app_browser_controller.h"
10 #include "chrome/browser/ui/web_applications/web_app_launch_utils.h" 10 #include "chrome/browser/ui/web_applications/web_app_launch_utils.h"
11 #include "chrome/browser/ui/webui/signin/login_ui_service.h" 11 #include "chrome/browser/ui/webui/signin/login_ui_service.h"
12@@ -469,6 +471,7 @@ Browser::Browser(const CreateParams& par 12@@ -467,6 +469,7 @@ Browser::Browser(const CreateParams& par
13 omit_from_session_restore_(params.omit_from_session_restore), 13 omit_from_session_restore_(params.omit_from_session_restore),
14 should_trigger_session_restore_(params.should_trigger_session_restore), 14 should_trigger_session_restore_(params.should_trigger_session_restore),
15 cancel_download_confirmation_state_(NOT_PROMPTED), 15 cancel_download_confirmation_state_(NOT_PROMPTED),
@@ -17,7 +17,7 @@
17 override_bounds_(params.initial_bounds), 17 override_bounds_(params.initial_bounds),
18 initial_show_state_(params.initial_show_state), 18 initial_show_state_(params.initial_show_state),
19 initial_workspace_(params.initial_workspace), 19 initial_workspace_(params.initial_workspace),
20@@ -836,7 +839,7 @@ Browser::WarnBeforeClosingResult Browser 20@@ -830,7 +833,7 @@ Browser::WarnBeforeClosingResult Browser
21 // If the browser can close right away (there are no pending downloads we need 21 // If the browser can close right away (there are no pending downloads we need
22 // to prompt about) then there's no need to warn. In the future, we might need 22 // to prompt about) then there's no need to warn. In the future, we might need
23 // to check other conditions as well. 23 // to check other conditions as well.
@@ -26,7 +26,7 @@
26 return WarnBeforeClosingResult::kOkToClose; 26 return WarnBeforeClosingResult::kOkToClose;
27 27
28 DCHECK(!warn_before_closing_callback_) 28 DCHECK(!warn_before_closing_callback_)
29@@ -866,6 +869,7 @@ bool Browser::TryToCloseWindow( 29@@ -860,6 +863,7 @@ bool Browser::TryToCloseWindow(
30 30
31 void Browser::ResetTryToCloseWindow() { 31 void Browser::ResetTryToCloseWindow() {
32 cancel_download_confirmation_state_ = NOT_PROMPTED; 32 cancel_download_confirmation_state_ = NOT_PROMPTED;
@@ -34,7 +34,7 @@
34 unload_controller_.ResetTryToCloseWindow(); 34 unload_controller_.ResetTryToCloseWindow();
35 } 35 }
36 36
37@@ -2725,6 +2729,62 @@ bool Browser::CanCloseWithInProgressDown 37@@ -2702,6 +2706,62 @@ bool Browser::CanCloseWithInProgressDown
38 return false; 38 return false;
39 } 39 }
40 40
@@ -97,7 +97,7 @@
97 void Browser::InProgressDownloadResponse(bool cancel_downloads) { 97 void Browser::InProgressDownloadResponse(bool cancel_downloads) {
98 if (cancel_downloads) { 98 if (cancel_downloads) {
99 cancel_download_confirmation_state_ = RESPONSE_RECEIVED; 99 cancel_download_confirmation_state_ = RESPONSE_RECEIVED;
100@@ -2743,6 +2803,22 @@ void Browser::InProgressDownloadResponse 100@@ -2720,6 +2780,22 @@ void Browser::InProgressDownloadResponse
101 101
102 std::move(warn_before_closing_callback_) 102 std::move(warn_before_closing_callback_)
103 .Run(WarnBeforeClosingResult::kDoNotClose); 103 .Run(WarnBeforeClosingResult::kDoNotClose);
@@ -120,8 +120,8 @@
120 } 120 }
121 121
122 void Browser::FinishWarnBeforeClosing(WarnBeforeClosingResult result) { 122 void Browser::FinishWarnBeforeClosing(WarnBeforeClosingResult result) {
123--- a/chrome/browser/ui/browser.h 123--- chrome/browser/ui/browser.h.orig
124+++ b/chrome/browser/ui/browser.h 124+++ chrome/browser/ui/browser.h
125@@ -26,6 +26,7 @@ 125@@ -26,6 +26,7 @@
126 #include "chrome/browser/ui/bookmarks/bookmark_tab_helper_observer.h" 126 #include "chrome/browser/ui/bookmarks/bookmark_tab_helper_observer.h"
127 #include "chrome/browser/ui/browser_navigator_params.h" 127 #include "chrome/browser/ui/browser_navigator_params.h"
@@ -130,7 +130,7 @@
130 #include "chrome/browser/ui/signin_view_controller.h" 130 #include "chrome/browser/ui/signin_view_controller.h"
131 #include "chrome/browser/ui/tabs/tab_strip_model_observer.h" 131 #include "chrome/browser/ui/tabs/tab_strip_model_observer.h"
132 #include "chrome/browser/ui/unload_controller.h" 132 #include "chrome/browser/ui/unload_controller.h"
133@@ -1010,12 +1011,17 @@ class Browser : public TabStripModelObse 133@@ -1008,12 +1009,17 @@ class Browser : public TabStripModelObse
134 // Returns true if the window can close, false otherwise. 134 // Returns true if the window can close, false otherwise.
135 bool CanCloseWithInProgressDownloads(); 135 bool CanCloseWithInProgressDownloads();
136 136
@@ -148,7 +148,7 @@
148 // Called when all warnings have completed when attempting to close the 148 // Called when all warnings have completed when attempting to close the
149 // browser directly (e.g. via hotkey, close button, terminate signal, etc.) 149 // browser directly (e.g. via hotkey, close button, terminate signal, etc.)
150 // Used as a WarnBeforeClosingCallback by ShouldCloseWindow(). 150 // Used as a WarnBeforeClosingCallback by ShouldCloseWindow().
151@@ -1178,6 +1184,8 @@ class Browser : public TabStripModelObse 151@@ -1176,6 +1182,8 @@ class Browser : public TabStripModelObse
152 // when the browser is closed with in-progress downloads. 152 // when the browser is closed with in-progress downloads.
153 CancelDownloadConfirmationState cancel_download_confirmation_state_; 153 CancelDownloadConfirmationState cancel_download_confirmation_state_;
154 154
@@ -157,9 +157,9 @@
157 ///////////////////////////////////////////////////////////////////////////// 157 /////////////////////////////////////////////////////////////////////////////
158 158
159 // Override values for the bounds of the window and its maximized or minimized 159 // Override values for the bounds of the window and its maximized or minimized
160--- a/chrome/browser/ungoogled_flag_choices.h 160--- chrome/browser/ungoogled_flag_choices.h.orig
161+++ b/chrome/browser/ungoogled_flag_choices.h 161+++ chrome/browser/ungoogled_flag_choices.h
162@@ -61,4 +61,13 @@ const FeatureEntry::Choice kCloseWindowW 162@@ -66,4 +66,13 @@ const FeatureEntry::Choice kCloseWindowW
163 "close-window-with-last-tab", 163 "close-window-with-last-tab",
164 "never"}, 164 "never"},
165 }; 165 };
@@ -173,9 +173,9 @@
173+ "multiple"}, 173+ "multiple"},
174+}; 174+};
175 #endif // CHROME_BROWSER_UNGOOGLED_FLAG_CHOICES_H_ 175 #endif // CHROME_BROWSER_UNGOOGLED_FLAG_CHOICES_H_
176--- a/chrome/browser/ungoogled_flag_entries.h 176--- chrome/browser/ungoogled_flag_entries.h.orig
177+++ b/chrome/browser/ungoogled_flag_entries.h 177+++ chrome/browser/ungoogled_flag_entries.h
178@@ -72,4 +72,8 @@ 178@@ -80,4 +80,8 @@
179 "Remove Grab Handle", 179 "Remove Grab Handle",
180 "Removes the reserved empty space in the tabstrip for moving the window. ungoogled-chromium flag", 180 "Removes the reserved empty space in the tabstrip for moving the window. ungoogled-chromium flag",
181 kOsDesktop, SINGLE_VALUE_TYPE("remove-grab-handle")}, 181 kOsDesktop, SINGLE_VALUE_TYPE("remove-grab-handle")},
diff --git a/www/chromium-uc/patches/extra/ungoogled-chromium/add-flag-for-custom-ntp.patch b/www/chromium-uc/patches/extra/ungoogled-chromium/add-flag-for-custom-ntp.patch
index 3d97f39..6bb52b8 100644
--- a/www/chromium-uc/patches/extra/ungoogled-chromium/add-flag-for-custom-ntp.patch
+++ b/www/chromium-uc/patches/extra/ungoogled-chromium/add-flag-for-custom-ntp.patch
@@ -1,7 +1,7 @@
1--- a/chrome/browser/chrome_content_browser_client.cc 1--- chrome/browser/chrome_content_browser_client.cc.orig
2+++ b/chrome/browser/chrome_content_browser_client.cc 2+++ chrome/browser/chrome_content_browser_client.cc
3@@ -780,6 +780,9 @@ bool HandleNewTabPageLocationOverride( 3@@ -743,6 +743,9 @@ bool HandleNewTabPageLocationOverride(
4 4 Profile* profile = Profile::FromBrowserContext(browser_context);
5 std::string ntp_location = 5 std::string ntp_location =
6 profile->GetPrefs()->GetString(prefs::kNewTabPageLocationOverride); 6 profile->GetPrefs()->GetString(prefs::kNewTabPageLocationOverride);
7+ if (base::CommandLine::ForCurrentProcess()->HasSwitch("custom-ntp")) 7+ if (base::CommandLine::ForCurrentProcess()->HasSwitch("custom-ntp"))
@@ -10,9 +10,9 @@
10 if (ntp_location.empty()) 10 if (ntp_location.empty())
11 return false; 11 return false;
12 url::Component scheme; 12 url::Component scheme;
13--- a/chrome/browser/ungoogled_flag_entries.h 13--- chrome/browser/ungoogled_flag_entries.h.orig
14+++ b/chrome/browser/ungoogled_flag_entries.h 14+++ chrome/browser/ungoogled_flag_entries.h
15@@ -76,4 +76,8 @@ 15@@ -84,4 +84,8 @@
16 "Close Confirmation", 16 "Close Confirmation",
17 "Show a warning prompt when closing the browser window. ungoogled-chromium flag", 17 "Show a warning prompt when closing the browser window. ungoogled-chromium flag",
18 kOsDesktop, MULTI_VALUE_TYPE(kCloseConfirmation)}, 18 kOsDesktop, MULTI_VALUE_TYPE(kCloseConfirmation)},
@@ -21,17 +21,17 @@
21+ "Allows setting a custom URL for the new tab page. Value can be internal (e.g. `about:blank`), external (e.g. `example.com`), or local (e.g. `file:///tmp/startpage.html`). This applies for incognito windows as well when not set to a `chrome://` internal page. ungoogled-chromium flag", 21+ "Allows setting a custom URL for the new tab page. Value can be internal (e.g. `about:blank`), external (e.g. `example.com`), or local (e.g. `file:///tmp/startpage.html`). This applies for incognito windows as well when not set to a `chrome://` internal page. ungoogled-chromium flag",
22+ kOsDesktop, ORIGIN_LIST_VALUE_TYPE("custom-ntp", "")}, 22+ kOsDesktop, ORIGIN_LIST_VALUE_TYPE("custom-ntp", "")},
23 #endif // CHROME_BROWSER_UNGOOGLED_FLAG_ENTRIES_H_ 23 #endif // CHROME_BROWSER_UNGOOGLED_FLAG_ENTRIES_H_
24--- a/components/flags_ui/flags_state.cc 24--- components/flags_ui/flags_state.cc.orig
25+++ b/components/flags_ui/flags_state.cc 25+++ components/flags_ui/flags_state.cc
26@@ -208,6 +208,7 @@ std::string GetCombinedOriginListValue(c 26@@ -231,6 +231,7 @@ std::string GetCombinedOriginListValue(c
27 command_line.GetSwitchValueASCII(command_line_switch); 27 command_line_switch);
28 const std::string new_value = 28 const std::string new_value =
29 flags_storage.GetOriginListFlag(internal_entry_name); 29 flags_storage.GetOriginListFlag(internal_entry_name);
30+ if (command_line_switch == "custom-ntp") return existing_value.empty() ? new_value : existing_value; 30+ if (command_line_switch == "custom-ntp") return existing_value.empty() ? new_value : existing_value;
31 return CombineAndSanitizeOriginLists(existing_value, new_value); 31 return CombineAndSanitizeOriginLists(existing_value, new_value);
32 } 32 }
33 33
34@@ -396,6 +397,7 @@ void FlagsState::SetOriginListFlag(const 34@@ -417,6 +418,7 @@ void FlagsState::SetOriginListFlag(const
35 const std::string& value, 35 const std::string& value,
36 FlagsStorage* flags_storage) { 36 FlagsStorage* flags_storage) {
37 const std::string new_value = 37 const std::string new_value =
diff --git a/www/chromium-uc/patches/extra/ungoogled-chromium/add-flag-for-grab-handle.patch b/www/chromium-uc/patches/extra/ungoogled-chromium/add-flag-for-grab-handle.patch
index 5a27985..8fc406a 100644
--- a/www/chromium-uc/patches/extra/ungoogled-chromium/add-flag-for-grab-handle.patch
+++ b/www/chromium-uc/patches/extra/ungoogled-chromium/add-flag-for-grab-handle.patch
@@ -1,6 +1,6 @@
1--- a/chrome/browser/ui/views/frame/tab_strip_region_view.cc 1--- chrome/browser/ui/views/frame/tab_strip_region_view.cc.orig
2+++ b/chrome/browser/ui/views/frame/tab_strip_region_view.cc 2+++ chrome/browser/ui/views/frame/tab_strip_region_view.cc
3@@ -46,6 +46,7 @@ class FrameGrabHandle : public views::Vi 3@@ -42,6 +42,7 @@ class FrameGrabHandle : public views::Vi
4 // Reserve some space for the frame to be grabbed by, even if the tabstrip 4 // Reserve some space for the frame to be grabbed by, even if the tabstrip
5 // is full. 5 // is full.
6 // TODO(tbergquist): Define this relative to the NTB insets again. 6 // TODO(tbergquist): Define this relative to the NTB insets again.
@@ -8,9 +8,9 @@
8 return gfx::Size(42, 0); 8 return gfx::Size(42, 0);
9 } 9 }
10 }; 10 };
11--- a/chrome/browser/ungoogled_flag_entries.h 11--- chrome/browser/ungoogled_flag_entries.h.orig
12+++ b/chrome/browser/ungoogled_flag_entries.h 12+++ chrome/browser/ungoogled_flag_entries.h
13@@ -68,4 +68,8 @@ 13@@ -76,4 +76,8 @@
14 "Disable QR Generator", 14 "Disable QR Generator",
15 "Disables the QR generator for sharing page links. ungoogled-chromium flag", 15 "Disables the QR generator for sharing page links. ungoogled-chromium flag",
16 kOsDesktop, FEATURE_VALUE_TYPE(kDisableQRGenerator)}, 16 kOsDesktop, FEATURE_VALUE_TYPE(kDisableQRGenerator)},
diff --git a/www/chromium-uc/patches/extra/ungoogled-chromium/add-flag-for-omnibox-autocomplete-filtering.patch b/www/chromium-uc/patches/extra/ungoogled-chromium/add-flag-for-omnibox-autocomplete-filtering.patch
index d5be61e..0e695ce 100644
--- a/www/chromium-uc/patches/extra/ungoogled-chromium/add-flag-for-omnibox-autocomplete-filtering.patch
+++ b/www/chromium-uc/patches/extra/ungoogled-chromium/add-flag-for-omnibox-autocomplete-filtering.patch
@@ -1,6 +1,6 @@
1--- a/chrome/browser/ungoogled_flag_choices.h 1--- chrome/browser/ungoogled_flag_choices.h.orig
2+++ b/chrome/browser/ungoogled_flag_choices.h 2+++ chrome/browser/ungoogled_flag_choices.h
3@@ -40,4 +40,19 @@ const FeatureEntry::Choice kBookmarkBarN 3@@ -45,4 +45,19 @@ const FeatureEntry::Choice kBookmarkBarN
4 "bookmark-bar-ntp", 4 "bookmark-bar-ntp",
5 "never"}, 5 "never"},
6 }; 6 };
@@ -20,9 +20,9 @@
20+ "search-bookmarks-chrome"}, 20+ "search-bookmarks-chrome"},
21+}; 21+};
22 #endif // CHROME_BROWSER_UNGOOGLED_FLAG_CHOICES_H_ 22 #endif // CHROME_BROWSER_UNGOOGLED_FLAG_CHOICES_H_
23--- a/chrome/browser/ungoogled_flag_entries.h 23--- chrome/browser/ungoogled_flag_entries.h.orig
24+++ b/chrome/browser/ungoogled_flag_entries.h 24+++ chrome/browser/ungoogled_flag_entries.h
25@@ -40,4 +40,8 @@ 25@@ -48,4 +48,8 @@
26 "Bookmark Bar on New-Tab-Page", 26 "Bookmark Bar on New-Tab-Page",
27 "Disable the Bookmark Bar on the New-Tab-Page. ungoogled-chromium flag.", 27 "Disable the Bookmark Bar on the New-Tab-Page. ungoogled-chromium flag.",
28 kOsDesktop, MULTI_VALUE_TYPE(kBookmarkBarNewTab)}, 28 kOsDesktop, MULTI_VALUE_TYPE(kBookmarkBarNewTab)},
@@ -31,8 +31,8 @@
31+ "Restrict omnibox autocomplete results to a combination of search suggestions (if enabled), bookmarks, and internal chrome pages. ungoogled-chromium flag.", 31+ "Restrict omnibox autocomplete results to a combination of search suggestions (if enabled), bookmarks, and internal chrome pages. ungoogled-chromium flag.",
32+ kOsAll, MULTI_VALUE_TYPE(kOmniboxAutocompleteFiltering)}, 32+ kOsAll, MULTI_VALUE_TYPE(kOmniboxAutocompleteFiltering)},
33 #endif // CHROME_BROWSER_UNGOOGLED_FLAG_ENTRIES_H_ 33 #endif // CHROME_BROWSER_UNGOOGLED_FLAG_ENTRIES_H_
34--- a/components/omnibox/browser/autocomplete_controller.cc 34--- components/omnibox/browser/autocomplete_controller.cc.orig
35+++ b/components/omnibox/browser/autocomplete_controller.cc 35+++ components/omnibox/browser/autocomplete_controller.cc
36@@ -15,6 +15,8 @@ 36@@ -15,6 +15,8 @@
37 37
38 #include "base/bind.h" 38 #include "base/bind.h"
@@ -42,7 +42,7 @@
42 #include "base/feature_list.h" 42 #include "base/feature_list.h"
43 #include "base/format_macros.h" 43 #include "base/format_macros.h"
44 #include "base/metrics/histogram.h" 44 #include "base/metrics/histogram.h"
45@@ -292,6 +294,15 @@ AutocompleteController::AutocompleteCont 45@@ -276,6 +278,15 @@ AutocompleteController::AutocompleteCont
46 search_service_worker_signal_sent_(false), 46 search_service_worker_signal_sent_(false),
47 template_url_service_(provider_client_->GetTemplateURLService()) { 47 template_url_service_(provider_client_->GetTemplateURLService()) {
48 provider_types &= ~OmniboxFieldTrial::GetDisabledProviderTypes(); 48 provider_types &= ~OmniboxFieldTrial::GetDisabledProviderTypes();
@@ -58,9 +58,9 @@
58 if (provider_types & AutocompleteProvider::TYPE_BOOKMARK) 58 if (provider_types & AutocompleteProvider::TYPE_BOOKMARK)
59 providers_.push_back(new BookmarkProvider(provider_client_.get())); 59 providers_.push_back(new BookmarkProvider(provider_client_.get()));
60 if (provider_types & AutocompleteProvider::TYPE_BUILTIN) 60 if (provider_types & AutocompleteProvider::TYPE_BUILTIN)
61--- a/components/omnibox/browser/history_url_provider.cc 61--- components/omnibox/browser/history_url_provider.cc.orig
62+++ b/components/omnibox/browser/history_url_provider.cc 62+++ components/omnibox/browser/history_url_provider.cc
63@@ -472,6 +472,9 @@ void HistoryURLProvider::Start(const Aut 63@@ -551,6 +551,9 @@ void HistoryURLProvider::Start(const Aut
64 if (fixed_up_input.type() != metrics::OmniboxInputType::QUERY) 64 if (fixed_up_input.type() != metrics::OmniboxInputType::QUERY)
65 matches_.push_back(what_you_typed_match); 65 matches_.push_back(what_you_typed_match);
66 66
@@ -70,8 +70,8 @@
70 // We'll need the history service to run both passes, so try to obtain it. 70 // We'll need the history service to run both passes, so try to obtain it.
71 history::HistoryService* const history_service = 71 history::HistoryService* const history_service =
72 client()->GetHistoryService(); 72 client()->GetHistoryService();
73--- a/components/omnibox/browser/search_provider.cc 73--- components/omnibox/browser/search_provider.cc.orig
74+++ b/components/omnibox/browser/search_provider.cc 74+++ components/omnibox/browser/search_provider.cc
75@@ -12,6 +12,7 @@ 75@@ -12,6 +12,7 @@
76 #include "base/base64.h" 76 #include "base/base64.h"
77 #include "base/bind.h" 77 #include "base/bind.h"
@@ -90,8 +90,8 @@
90 // The history query results are synchronous, so if minimal_changes is true, 90 // The history query results are synchronous, so if minimal_changes is true,
91 // we still have the last results and don't need to do anything. 91 // we still have the last results and don't need to do anything.
92 if (minimal_changes) 92 if (minimal_changes)
93--- a/components/url_formatter/url_fixer.cc 93--- components/url_formatter/url_fixer.cc.orig
94+++ b/components/url_formatter/url_fixer.cc 94+++ components/url_formatter/url_fixer.cc
95@@ -9,6 +9,8 @@ 95@@ -9,6 +9,8 @@
96 #include <algorithm> 96 #include <algorithm>
97 97
diff --git a/www/chromium-uc/patches/extra/ungoogled-chromium/add-flag-for-pdf-plugin-name.patch b/www/chromium-uc/patches/extra/ungoogled-chromium/add-flag-for-pdf-plugin-name.patch
new file mode 100644
index 0000000..5b52596
--- /dev/null
+++ b/www/chromium-uc/patches/extra/ungoogled-chromium/add-flag-for-pdf-plugin-name.patch
@@ -0,0 +1,389 @@
1--- chrome/browser/chrome_content_browser_client.cc.orig
2+++ chrome/browser/chrome_content_browser_client.cc
3@@ -6001,7 +6001,7 @@ bool ChromeContentBrowserClient::ShouldA
4 const url::Origin& embedder_origin,
5 const content::PepperPluginInfo& plugin_info) {
6 #if BUILDFLAG(ENABLE_PDF)
7- if (plugin_info.name == ChromeContentClient::kPDFInternalPluginName) {
8+ if (plugin_info.name == ChromeContentClient::GetPDFInternalPluginName()) {
9 return IsPdfInternalPluginAllowedOrigin(embedder_origin);
10 }
11 #endif // BUILDFLAG(ENABLE_PDF)
12--- chrome/browser/pdf/pdf_extension_util.cc.orig
13+++ chrome/browser/pdf/pdf_extension_util.cc
14@@ -170,7 +170,7 @@ std::string GetManifest() {
15 DCHECK(manifest_contents.find(kNameTag) != std::string::npos);
16 base::ReplaceFirstSubstringAfterOffset(
17 &manifest_contents, 0, kNameTag,
18- ChromeContentClient::kPDFExtensionPluginName);
19+ ChromeContentClient::GetPDFExtensionPluginName());
20
21 return manifest_contents;
22 }
23--- chrome/browser/plugins/pdf_iframe_navigation_throttle_unittest.cc.orig
24+++ chrome/browser/plugins/pdf_iframe_navigation_throttle_unittest.cc
25@@ -65,7 +65,7 @@ class PDFIFrameNavigationThrottleTest :
26 // Register a fake PDF Viewer plugin into our plugin service.
27 content::WebPluginInfo info;
28 info.name =
29- base::ASCIIToUTF16(ChromeContentClient::kPDFExtensionPluginName);
30+ base::ASCIIToUTF16(ChromeContentClient::GetPDFExtensionPluginName());
31 info.mime_types.push_back(content::WebPluginMimeType(
32 kPDFMimeType, "pdf", "Fake PDF description"));
33 plugin_service->RegisterInternalPlugin(info, true);
34--- chrome/browser/plugins/plugin_prefs.cc.orig
35+++ chrome/browser/plugins/plugin_prefs.cc
36@@ -40,7 +40,7 @@ bool IsPDFViewerPlugin(const std::u16str
37 // plugin, which is also used for Print Preview. Note that only the PDF viewer
38 // and Print Preview can create the internal PDF plugin in the first place.
39 return plugin_name ==
40- base::ASCIIToUTF16(ChromeContentClient::kPDFExtensionPluginName);
41+ base::ASCIIToUTF16(ChromeContentClient::GetPDFExtensionPluginName());
42 }
43
44 } // namespace
45--- chrome/browser/plugins/plugin_prefs_unittest.cc.orig
46+++ chrome/browser/plugins/plugin_prefs_unittest.cc
47@@ -24,11 +24,11 @@ class PluginPrefsTest : public ::testing
48 TEST_F(PluginPrefsTest, AlwaysOpenPdfExternally) {
49 EXPECT_EQ(PluginPrefs::NO_POLICY,
50 plugin_prefs_->PolicyStatusForPlugin(base::ASCIIToUTF16(
51- ChromeContentClient::kPDFExtensionPluginName)));
52+ ChromeContentClient::GetPDFExtensionPluginName())));
53
54 SetAlwaysOpenPdfExternally(true);
55
56 EXPECT_EQ(PluginPrefs::POLICY_DISABLED,
57 plugin_prefs_->PolicyStatusForPlugin(base::ASCIIToUTF16(
58- ChromeContentClient::kPDFExtensionPluginName)));
59+ ChromeContentClient::GetPDFExtensionPluginName())));
60 }
61--- chrome/browser/resources/plugin_metadata/plugins_chromeos.json.orig
62+++ chrome/browser/resources/plugin_metadata/plugins_chromeos.json
63@@ -44,6 +44,19 @@
64 "name": "Chrome PDF Viewer",
65 "group_name_matcher": "*Chrome PDF Viewer*"
66 },
67+ "microsoft-edge-pdf": {
68+ "mime_types": [
69+ ],
70+ "versions": [
71+ {
72+ "version": "0",
73+ "status": "fully_trusted",
74+ "comment": "Microsoft Edge PDF has no version information."
75+ }
76+ ],
77+ "name": "Microsoft Edge PDF Viewer",
78+ "group_name_matcher": "*Microsoft Edge PDF Viewer*"
79+ },
80 "chromium-pdf": {
81 "mime_types": [
82 ],
83@@ -70,6 +83,19 @@
84 "name": "Chrome PDF Plugin",
85 "group_name_matcher": "*Chrome PDF Plugin*"
86 },
87+ "microsoft-edge-pdf-plugin": {
88+ "mime_types": [
89+ ],
90+ "versions": [
91+ {
92+ "version": "0",
93+ "status": "fully_trusted",
94+ "comment": "Microsoft Edge PDF Plugin has no version information."
95+ }
96+ ],
97+ "name": "Microsoft Edge PDF Plugin",
98+ "group_name_matcher": "*Microsoft Edge PDF Plugin*"
99+ },
100 "chromium-pdf-plugin": {
101 "mime_types": [
102 ],
103--- chrome/browser/resources/plugin_metadata/plugins_linux.json.orig
104+++ chrome/browser/resources/plugin_metadata/plugins_linux.json
105@@ -36,6 +36,19 @@
106 "name": "Chrome PDF Viewer",
107 "group_name_matcher": "*Chrome PDF Viewer*"
108 },
109+ "microsoft-edge-pdf": {
110+ "mime_types": [
111+ ],
112+ "versions": [
113+ {
114+ "version": "0",
115+ "status": "fully_trusted",
116+ "comment": "Microsoft Edge PDF has no version information."
117+ }
118+ ],
119+ "name": "Microsoft Edge PDF Viewer",
120+ "group_name_matcher": "*Microsoft Edge PDF Viewer*"
121+ },
122 "chromium-pdf": {
123 "mime_types": [
124 ],
125@@ -62,6 +75,19 @@
126 "name": "Chrome PDF Plugin",
127 "group_name_matcher": "*Chrome PDF Plugin*"
128 },
129+ "microsoft-edge-pdf-plugin": {
130+ "mime_types": [
131+ ],
132+ "versions": [
133+ {
134+ "version": "0",
135+ "status": "fully_trusted",
136+ "comment": "Google Chrome PDF Plugin has no version information."
137+ }
138+ ],
139+ "name": "Microsoft Edge PDF Plugin",
140+ "group_name_matcher": "*Microsoft Edge PDF Plugin*"
141+ },
142 "chromium-pdf-plugin": {
143 "mime_types": [
144 ],
145--- chrome/browser/resources/plugin_metadata/plugins_mac.json.orig
146+++ chrome/browser/resources/plugin_metadata/plugins_mac.json
147@@ -33,6 +33,19 @@
148 "name": "Chrome PDF Viewer",
149 "group_name_matcher": "*Chrome PDF Viewer*"
150 },
151+ "microsoft-edge-pdf": {
152+ "mime_types": [
153+ ],
154+ "versions": [
155+ {
156+ "version": "0",
157+ "status": "fully_trusted",
158+ "comment": "Microsoft Edge PDF Viewer has no version information."
159+ }
160+ ],
161+ "name": "Microsoft Edge PDF Viewer",
162+ "group_name_matcher": "*Microsoft Edge PDF Viewer*"
163+ },
164 "chromium-pdf": {
165 "mime_types": [
166 ],
167@@ -59,6 +72,19 @@
168 "name": "Chrome PDF Plugin",
169 "group_name_matcher": "*Chrome PDF Plugin*"
170 },
171+ "microsoft-edge-pdf-plugin": {
172+ "mime_types": [
173+ ],
174+ "versions": [
175+ {
176+ "version": "0",
177+ "status": "fully_trusted",
178+ "comment": "Microsoft Edge PDF Plugin has no version information."
179+ }
180+ ],
181+ "name": "Microsoft Edge PDF Plugin",
182+ "group_name_matcher": "*Microsoft Edge PDF Plugin*"
183+ },
184 "chromium-pdf-plugin": {
185 "mime_types": [
186 ],
187--- chrome/browser/resources/plugin_metadata/plugins_win.json.orig
188+++ chrome/browser/resources/plugin_metadata/plugins_win.json
189@@ -33,6 +33,19 @@
190 "name": "Chrome PDF Viewer",
191 "group_name_matcher": "*Chrome PDF Viewer*"
192 },
193+ "microsoft-edge-pdf": {
194+ "mime_types": [
195+ ],
196+ "versions": [
197+ {
198+ "version": "0",
199+ "status": "fully_trusted",
200+ "comment": "Microsoft Edge PDF Viewer has no version information."
201+ }
202+ ],
203+ "name": "Microsoft Edge PDF Viewer",
204+ "group_name_matcher": "*Microsoft Edge PDF Viewer*"
205+ },
206 "chromium-pdf": {
207 "mime_types": [
208 ],
209@@ -59,6 +72,19 @@
210 "name": "Chrome PDF Plugin",
211 "group_name_matcher": "*Chrome PDF Plugin*"
212 },
213+ "microsoft-edge-pdf-plugin": {
214+ "mime_types": [
215+ ],
216+ "versions": [
217+ {
218+ "version": "0",
219+ "status": "fully_trusted",
220+ "comment": "Microsoft Edge PDF Plugin has no version information."
221+ }
222+ ],
223+ "name": "Microsoft Edge PDF Plugin",
224+ "group_name_matcher": "*Microsoft Edge PDF Plugin*"
225+ },
226 "chromium-pdf-plugin": {
227 "mime_types": [
228 ],
229--- chrome/browser/ungoogled_flag_choices.h.orig
230+++ chrome/browser/ungoogled_flag_choices.h
231@@ -34,4 +34,9 @@ const FeatureEntry::Choice kScrollEventC
232 "scroll-tabs",
233 "never"}
234 };
235+const FeatureEntry::Choice kPDFPluginNameChoices[] = {
236+ {"Chromium", "", ""},
237+ {"Google Chrome", switches::kPDFPluginName, "chrome"},
238+ {"Microsoft Edge", switches::kPDFPluginName, "edge"},
239+};
240 #endif // CHROME_BROWSER_UNGOOGLED_FLAG_CHOICES_H_
241--- chrome/browser/ungoogled_flag_entries.h.orig
242+++ chrome/browser/ungoogled_flag_entries.h
243@@ -40,4 +40,8 @@
244 "Scroll switches tab",
245 "Switch to the left/right tab if the wheel-scroll happens over the tabstrip, or the empty space beside the tabstrip. ungoogled-chromium flag.",
246 kOsDesktop, MULTI_VALUE_TYPE(kScrollEventChangesTab)},
247+ {"pdf-plugin-name",
248+ "Set internal PDF plugin name",
249+ "Sets the internal PDF viewer plugin name. Useful for sites that probe JS API navigator.plugins. ungoogled-chromium flag.",
250+ kOsDesktop, MULTI_VALUE_TYPE(kPDFPluginNameChoices)},
251 #endif // CHROME_BROWSER_UNGOOGLED_FLAG_ENTRIES_H_
252--- chrome/common/BUILD.gn.orig
253+++ chrome/common/BUILD.gn
254@@ -249,6 +249,7 @@ static_library("common") {
255 "//components/no_state_prefetch/common",
256 "//components/no_state_prefetch/common:mojo_bindings",
257 "//components/page_load_metrics/common:common",
258+ "//components/ungoogled:ungoogled_switches",
259 ]
260
261 if (enable_pdf) {
262--- chrome/common/chrome_content_client.cc.orig
263+++ chrome/common/chrome_content_client.cc
264@@ -122,7 +122,7 @@ void ComputeBuiltInPlugins(std::vector<c
265 content::PepperPluginInfo pdf_info;
266 pdf_info.is_internal = true;
267 pdf_info.is_out_of_process = true;
268- pdf_info.name = ChromeContentClient::kPDFInternalPluginName;
269+ pdf_info.name = ChromeContentClient::GetPDFInternalPluginName();
270 pdf_info.description = kPDFPluginDescription;
271 pdf_info.path = base::FilePath(ChromeContentClient::kPDFPluginPath);
272 content::WebPluginMimeType pdf_mime_type(
273--- chrome/common/chrome_content_client.h.orig
274+++ chrome/common/chrome_content_client.h
275@@ -42,8 +42,8 @@ class ChromeContentClient : public conte
276 static const base::FilePath::CharType kNaClPluginFileName[];
277 #endif
278
279- static const char kPDFExtensionPluginName[];
280- static const char kPDFInternalPluginName[];
281+ static const char *GetPDFExtensionPluginName();
282+ static const char *GetPDFInternalPluginName();
283 static const base::FilePath::CharType kPDFPluginPath[];
284
285 ChromeContentClient();
286--- chrome/common/chrome_content_client_constants.cc.orig
287+++ chrome/common/chrome_content_client_constants.cc
288@@ -2,8 +2,12 @@
289 // Use of this source code is governed by a BSD-style license that can be
290 // found in the LICENSE file.
291
292+#include <string>
293+
294+#include "base/command_line.h"
295 #include "build/branding_buildflags.h"
296 #include "chrome/common/chrome_content_client.h"
297+#include "components/ungoogled/ungoogled_switches.h"
298
299 #if BUILDFLAG(GOOGLE_CHROME_BRANDING)
300 const base::FilePath::CharType ChromeContentClient::kNotPresent[] =
301@@ -15,15 +19,52 @@ const base::FilePath::CharType ChromeCon
302 FILE_PATH_LITERAL("internal-nacl-plugin");
303 #endif
304
305-#if BUILDFLAG(GOOGLE_CHROME_BRANDING)
306-const char ChromeContentClient::kPDFExtensionPluginName[] = "Chrome PDF Viewer";
307-const char ChromeContentClient::kPDFInternalPluginName[] = "Chrome PDF Plugin";
308-#else
309-const char ChromeContentClient::kPDFExtensionPluginName[] =
310+namespace {
311+
312+const char kChromePDFExtensionPluginName[] =
313+ "Chrome PDF Viewer";
314+const char kChromePDFInternalPluginName[] =
315+ "Chrome PDF Plugin";
316+const char kEdgePDFExtensionPluginName[] =
317+ "Microsoft Edge PDF Viewer";
318+const char kEdgePDFInternalPluginName[] =
319+ "Microsoft Edge PDF Plugin";
320+const char kChromiumPDFExtensionPluginName[] =
321 "Chromium PDF Viewer";
322-const char ChromeContentClient::kPDFInternalPluginName[] =
323+const char kChromiumPDFInternalPluginName[] =
324 "Chromium PDF Plugin";
325-#endif
326+
327+} // namespace
328+
329+// static
330+const char *ChromeContentClient::GetPDFExtensionPluginName() {
331+ const base::CommandLine& command_line =
332+ *base::CommandLine::ForCurrentProcess();
333+ if (command_line.HasSwitch(switches::kPDFPluginName)) {
334+ std::string switch_value = command_line.GetSwitchValueASCII(switches::kPDFPluginName);
335+ if (switch_value == "edge") {
336+ return kEdgePDFExtensionPluginName;
337+ } else if (switch_value == "chrome") {
338+ return kChromePDFExtensionPluginName;
339+ }
340+ }
341+ return kChromiumPDFExtensionPluginName;
342+}
343+
344+// static
345+const char *ChromeContentClient::GetPDFInternalPluginName() {
346+ const base::CommandLine& command_line =
347+ *base::CommandLine::ForCurrentProcess();
348+ if (command_line.HasSwitch(switches::kPDFPluginName)) {
349+ std::string switch_value = command_line.GetSwitchValueASCII(switches::kPDFPluginName);
350+ if (switch_value == "edge") {
351+ return kEdgePDFInternalPluginName;
352+ } else if (switch_value == "chrome") {
353+ return kChromePDFInternalPluginName;
354+ }
355+ }
356+ return kChromiumPDFInternalPluginName;
357+}
358
359 const base::FilePath::CharType ChromeContentClient::kPDFPluginPath[] =
360 FILE_PATH_LITERAL("internal-pdf-viewer");
361--- chrome/renderer/chrome_content_renderer_client.cc.orig
362+++ chrome/renderer/chrome_content_renderer_client.cc
363@@ -1047,7 +1047,7 @@ WebPlugin* ChromeContentRendererClient::
364 }
365 }
366 } else if (info.name ==
367- ASCIIToUTF16(ChromeContentClient::kPDFExtensionPluginName)) {
368+ ASCIIToUTF16(ChromeContentClient::GetPDFExtensionPluginName())) {
369 // Report PDF load metrics. Since the PDF plugin is comprised of an
370 // extension that loads a second plugin, avoid double counting by
371 // ignoring the creation of the second plugin.
372@@ -1079,7 +1079,7 @@ WebPlugin* ChromeContentRendererClient::
373
374 #if BUILDFLAG(ENABLE_PDF)
375 if (info.name ==
376- ASCIIToUTF16(ChromeContentClient::kPDFInternalPluginName)) {
377+ ASCIIToUTF16(ChromeContentClient::GetPDFInternalPluginName())) {
378 return pdf::CreateInternalPlugin(
379 info, std::move(params), render_frame,
380 std::make_unique<ChromePdfInternalPluginDelegate>());
381@@ -1092,7 +1092,7 @@ WebPlugin* ChromeContentRendererClient::
382 PluginUMAReporter::GetInstance()->ReportPluginDisabled(orig_mime_type,
383 url);
384 if (info.name ==
385- ASCIIToUTF16(ChromeContentClient::kPDFExtensionPluginName)) {
386+ ASCIIToUTF16(ChromeContentClient::GetPDFExtensionPluginName())) {
387 ReportPDFLoadStatus(
388 PDFLoadStatus::kShowedDisabledPluginPlaceholderForEmbeddedPdf);
389
diff --git a/www/chromium-uc/patches/extra/ungoogled-chromium/add-flag-for-qr-generator.patch b/www/chromium-uc/patches/extra/ungoogled-chromium/add-flag-for-qr-generator.patch
index 58b3a9d..5b97e10 100644
--- a/www/chromium-uc/patches/extra/ungoogled-chromium/add-flag-for-qr-generator.patch
+++ b/www/chromium-uc/patches/extra/ungoogled-chromium/add-flag-for-qr-generator.patch
@@ -1,21 +1,21 @@
1--- a/chrome/browser/sharing/features.cc 1--- chrome/browser/sharing/features.cc.orig
2+++ b/chrome/browser/sharing/features.cc 2+++ chrome/browser/sharing/features.cc
3@@ -26,3 +26,5 @@ const base::Feature kSharingSendViaSync{ 3@@ -32,3 +32,5 @@ const base::Feature kSharingPreferVapid
4 4 base::FEATURE_DISABLED_BY_DEFAULT
5 const base::Feature kSharingPreferVapid { 5 #endif // defined(OS_ANDROID)
6 "SharingPreferVapid", base::FEATURE_DISABLED_BY_DEFAULT}; 6 };
7+ 7+
8+const base::Feature kDisableQRGenerator{"DisableQRGenerator", base::FEATURE_DISABLED_BY_DEFAULT}; 8+const base::Feature kDisableQRGenerator{"DisableQRGenerator", base::FEATURE_DISABLED_BY_DEFAULT};
9--- a/chrome/browser/sharing/features.h 9--- chrome/browser/sharing/features.h.orig
10+++ b/chrome/browser/sharing/features.h 10+++ chrome/browser/sharing/features.h
11@@ -34,4 +34,5 @@ extern const base::Feature kSharingSendV 11@@ -34,4 +34,5 @@ extern const base::Feature kSharingSendV
12 // Feature flag for prefer sending sharing message using VAPID. 12 // Feature flag for prefer sending sharing message using VAPID.
13 extern const base::Feature kSharingPreferVapid; 13 extern const base::Feature kSharingPreferVapid;
14 14
15+extern const base::Feature kDisableQRGenerator; 15+extern const base::Feature kDisableQRGenerator;
16 #endif // CHROME_BROWSER_SHARING_FEATURES_H_ 16 #endif // CHROME_BROWSER_SHARING_FEATURES_H_
17--- a/chrome/browser/ui/qrcode_generator/qrcode_generator_bubble_controller.cc 17--- chrome/browser/ui/qrcode_generator/qrcode_generator_bubble_controller.cc.orig
18+++ b/chrome/browser/ui/qrcode_generator/qrcode_generator_bubble_controller.cc 18+++ chrome/browser/ui/qrcode_generator/qrcode_generator_bubble_controller.cc
19@@ -23,7 +23,7 @@ QRCodeGeneratorBubbleController::~QRCode 19@@ -23,7 +23,7 @@ QRCodeGeneratorBubbleController::~QRCode
20 20
21 // static 21 // static
@@ -25,10 +25,10 @@
25 return false; 25 return false;
26 26
27 return true; 27 return true;
28--- a/chrome/browser/ui/views/location_bar/location_bar_view.cc 28--- chrome/browser/ui/views/location_bar/location_bar_view.cc.orig
29+++ b/chrome/browser/ui/views/location_bar/location_bar_view.cc 29+++ chrome/browser/ui/views/location_bar/location_bar_view.cc
30@@ -311,7 +311,8 @@ void LocationBarView::Init() { 30@@ -297,7 +297,8 @@ void LocationBarView::Init() {
31 #endif // BUILDFLAG(ENABLE_SIDE_SEARCH) 31 // the left most icon.
32 params.types_enabled.push_back(PageActionIconType::kSendTabToSelf); 32 params.types_enabled.push_back(PageActionIconType::kSendTabToSelf);
33 params.types_enabled.push_back(PageActionIconType::kClickToCall); 33 params.types_enabled.push_back(PageActionIconType::kClickToCall);
34- params.types_enabled.push_back(PageActionIconType::kQRCodeGenerator); 34- params.types_enabled.push_back(PageActionIconType::kQRCodeGenerator);
@@ -37,9 +37,9 @@
37 if (base::FeatureList::IsEnabled(kSharedClipboardUI)) 37 if (base::FeatureList::IsEnabled(kSharedClipboardUI))
38 params.types_enabled.push_back(PageActionIconType::kSharedClipboard); 38 params.types_enabled.push_back(PageActionIconType::kSharedClipboard);
39 if (base::FeatureList::IsEnabled(kWebOTPCrossDevice)) 39 if (base::FeatureList::IsEnabled(kWebOTPCrossDevice))
40--- a/chrome/browser/ungoogled_flag_entries.h 40--- chrome/browser/ungoogled_flag_entries.h.orig
41+++ b/chrome/browser/ungoogled_flag_entries.h 41+++ chrome/browser/ungoogled_flag_entries.h
42@@ -64,4 +64,8 @@ 42@@ -72,4 +72,8 @@
43 "Remove Tabsearch Button", 43 "Remove Tabsearch Button",
44 "Removes the tabsearch button from the tabstrip. ungoogled-chromium flag", 44 "Removes the tabsearch button from the tabstrip. ungoogled-chromium flag",
45 kOsDesktop, SINGLE_VALUE_TYPE("remove-tabsearch-button")}, 45 kOsDesktop, SINGLE_VALUE_TYPE("remove-tabsearch-button")},
diff --git a/www/chromium-uc/patches/extra/ungoogled-chromium/add-flag-for-referrer-header.patch b/www/chromium-uc/patches/extra/ungoogled-chromium/add-flag-for-referrer-header.patch
deleted file mode 100644
index 7a07530..0000000
--- a/www/chromium-uc/patches/extra/ungoogled-chromium/add-flag-for-referrer-header.patch
+++ /dev/null
@@ -1,66 +0,0 @@
1--- a/chrome/browser/ungoogled_flag_choices.h
2+++ b/chrome/browser/ungoogled_flag_choices.h
3@@ -79,4 +79,16 @@ const FeatureEntry::Choice kTabHoverCard
4 "tab-hover-cards",
5 "tooltip"},
6 };
7+const FeatureEntry::Choice kReferrerDirective[] = {
8+ {flags_ui::kGenericExperimentChoiceDefault, "", ""},
9+ {"No cross-origin referrer",
10+ "referrer-directive",
11+ "nocrossorigin"},
12+ {"Minimal referrer",
13+ "referrer-directive",
14+ "minimal"},
15+ {"No referrers",
16+ "referrer-directive",
17+ "noreferrers"},
18+};
19 #endif // CHROME_BROWSER_UNGOOGLED_FLAG_CHOICES_H_
20--- a/chrome/browser/ungoogled_flag_entries.h
21+++ b/chrome/browser/ungoogled_flag_entries.h
22@@ -88,4 +88,8 @@
23 "Hide tab close buttons",
24 "Hides the close buttons on tabs. ungoogled-chromium flag.",
25 kOsDesktop, SINGLE_VALUE_TYPE("hide-tab-close-buttons")},
26+ {"referrer-directive",
27+ "Referrer directive",
28+ "Allows setting a custom directive for referrer headers. The no cross-origin referrer option removes all cross-origin referrers, the minimal option removes all cross-origin referrers and strips same-origin referrers down to the origin, and the no referrers option removes all referrers. ungoogled-chromium flag.",
29+ kOsAll, MULTI_VALUE_TYPE(kReferrerDirective)},
30 #endif // CHROME_BROWSER_UNGOOGLED_FLAG_ENTRIES_H_
31--- a/content/browser/utility_process_host.cc
32+++ b/content/browser/utility_process_host.cc
33@@ -225,6 +225,7 @@ bool UtilityProcessHost::StartProcess()
34
35 // Browser command-line switches to propagate to the utility process.
36 static const char* const kSwitchNames[] = {
37+ "referrer-directive",
38 network::switches::kAdditionalTrustTokenKeyCommitments,
39 network::switches::kForceEffectiveConnectionType,
40 network::switches::kHostResolverRules,
41--- a/services/network/network_service_network_delegate.cc
42+++ b/services/network/network_service_network_delegate.cc
43@@ -7,6 +7,7 @@
44 #include <string>
45
46 #include "base/bind.h"
47+#include "base/command_line.h"
48 #include "base/debug/dump_without_crashing.h"
49 #include "base/strings/utf_string_conversions.h"
50 #include "build/build_config.h"
51@@ -62,6 +63,15 @@ void NetworkServiceNetworkDelegate::Mayb
52 return;
53 }
54
55+ if (base::CommandLine::ForCurrentProcess()->HasSwitch("referrer-directive")) {
56+ std::string option = base::CommandLine::ForCurrentProcess()->GetSwitchValueASCII("referrer-directive");
57+ if (!url::IsSameOriginWith(effective_url, GURL(request->referrer())) || option == "noreferrers")
58+ request->SetReferrer(std::string());
59+ if (option == "minimal")
60+ request->SetReferrer(url::Origin::Create(GURL(request->referrer())).GetURL().spec());
61+ return;
62+ }
63+
64 if (base::FeatureList::IsEnabled(
65 net::features::kCapReferrerToOriginOnCrossOrigin)) {
66 if (!url::IsSameOriginWith(effective_url, GURL(request->referrer()))) {
diff --git a/www/chromium-uc/patches/extra/ungoogled-chromium/add-flag-for-search-engine-collection.patch b/www/chromium-uc/patches/extra/ungoogled-chromium/add-flag-for-search-engine-collection.patch
index e99820b..b80101e 100644
--- a/www/chromium-uc/patches/extra/ungoogled-chromium/add-flag-for-search-engine-collection.patch
+++ b/www/chromium-uc/patches/extra/ungoogled-chromium/add-flag-for-search-engine-collection.patch
@@ -1,8 +1,8 @@
1# Add flag to disable automatic search engine collection 1# Add flag to disable automatic search engine collection
2 2
3--- a/chrome/browser/ungoogled_flag_entries.h 3--- chrome/browser/ungoogled_flag_entries.h.orig
4+++ b/chrome/browser/ungoogled_flag_entries.h 4+++ chrome/browser/ungoogled_flag_entries.h
5@@ -12,4 +12,8 @@ 5@@ -16,4 +16,8 @@
6 "Handling of extension MIME type requests", 6 "Handling of extension MIME type requests",
7 "Used when deciding how to handle a request for a CRX or User Script MIME type. ungoogled-chromium flag.", 7 "Used when deciding how to handle a request for a CRX or User Script MIME type. ungoogled-chromium flag.",
8 kOsAll, MULTI_VALUE_TYPE(kExtensionHandlingChoices)}, 8 kOsAll, MULTI_VALUE_TYPE(kExtensionHandlingChoices)},
@@ -11,9 +11,9 @@
11+ "Prevents search engines from being added automatically. ungoogled-chromium flag.", 11+ "Prevents search engines from being added automatically. ungoogled-chromium flag.",
12+ kOsAll, SINGLE_VALUE_TYPE("disable-search-engine-collection")}, 12+ kOsAll, SINGLE_VALUE_TYPE("disable-search-engine-collection")},
13 #endif // CHROME_BROWSER_UNGOOGLED_FLAG_ENTRIES_H_ 13 #endif // CHROME_BROWSER_UNGOOGLED_FLAG_ENTRIES_H_
14--- a/chrome/renderer/chrome_render_frame_observer.cc 14--- chrome/renderer/chrome_render_frame_observer.cc.orig
15+++ b/chrome/renderer/chrome_render_frame_observer.cc 15+++ chrome/renderer/chrome_render_frame_observer.cc
16@@ -187,9 +187,10 @@ ChromeRenderFrameObserver::ChromeRenderF 16@@ -139,9 +139,10 @@ ChromeRenderFrameObserver::ChromeRenderF
17 if (!render_frame->IsMainFrame()) 17 if (!render_frame->IsMainFrame())
18 return; 18 return;
19 19
@@ -25,7 +25,7 @@
25 if (!command_line.HasSwitch(switches::kDisableClientSidePhishingDetection)) 25 if (!command_line.HasSwitch(switches::kDisableClientSidePhishingDetection))
26 SetClientSidePhishingDetection(); 26 SetClientSidePhishingDetection();
27 #endif 27 #endif
28@@ -248,14 +249,16 @@ void ChromeRenderFrameObserver::DidFinis 28@@ -201,14 +202,16 @@ void ChromeRenderFrameObserver::DidFinis
29 if (frame->Parent()) 29 if (frame->Parent())
30 return; 30 return;
31 31
@@ -50,9 +50,9 @@
50 } 50 }
51 } 51 }
52 52
53--- a/chrome/renderer/chrome_render_frame_observer.h 53--- chrome/renderer/chrome_render_frame_observer.h.orig
54+++ b/chrome/renderer/chrome_render_frame_observer.h 54+++ chrome/renderer/chrome_render_frame_observer.h
55@@ -140,6 +140,7 @@ class ChromeRenderFrameObserver : public 55@@ -139,6 +139,7 @@ class ChromeRenderFrameObserver : public
56 #if BUILDFLAG(SAFE_BROWSING_AVAILABLE) 56 #if BUILDFLAG(SAFE_BROWSING_AVAILABLE)
57 safe_browsing::PhishingClassifierDelegate* phishing_classifier_ = nullptr; 57 safe_browsing::PhishingClassifierDelegate* phishing_classifier_ = nullptr;
58 #endif 58 #endif
@@ -60,8 +60,8 @@
60 60
61 // Owned by ChromeContentRendererClient and outlive us. 61 // Owned by ChromeContentRendererClient and outlive us.
62 web_cache::WebCacheImpl* web_cache_impl_; 62 web_cache::WebCacheImpl* web_cache_impl_;
63--- a/components/search_engines/template_url_service.cc 63--- components/search_engines/template_url_service.cc.orig
64+++ b/components/search_engines/template_url_service.cc 64+++ components/search_engines/template_url_service.cc
65@@ -12,6 +12,7 @@ 65@@ -12,6 +12,7 @@
66 #include "base/bind.h" 66 #include "base/bind.h"
67 #include "base/callback.h" 67 #include "base/callback.h"
@@ -70,7 +70,7 @@
70 #include "base/containers/contains.h" 70 #include "base/containers/contains.h"
71 #include "base/debug/crash_logging.h" 71 #include "base/debug/crash_logging.h"
72 #include "base/format_macros.h" 72 #include "base/format_macros.h"
73@@ -200,6 +201,12 @@ bool IsCreatedByExtension(const Template 73@@ -197,6 +198,12 @@ bool IsCreatedByExtension(const Template
74 template_url->type() == TemplateURL::OMNIBOX_API_EXTENSION; 74 template_url->type() == TemplateURL::OMNIBOX_API_EXTENSION;
75 } 75 }
76 76
@@ -83,7 +83,7 @@
83 } // namespace 83 } // namespace
84 84
85 // TemplateURLService::LessWithPrefix ----------------------------------------- 85 // TemplateURLService::LessWithPrefix -----------------------------------------
86@@ -285,6 +292,7 @@ TemplateURLService::TemplateURLService( 86@@ -282,6 +289,7 @@ TemplateURLService::TemplateURLService(
87 std::unique_ptr<TemplateURLServiceClient> client, 87 std::unique_ptr<TemplateURLServiceClient> client,
88 const base::RepeatingClosure& dsp_change_callback) 88 const base::RepeatingClosure& dsp_change_callback)
89 : prefs_(prefs), 89 : prefs_(prefs),
@@ -91,7 +91,7 @@
91 search_terms_data_(std::move(search_terms_data)), 91 search_terms_data_(std::move(search_terms_data)),
92 web_data_service_(web_data_service), 92 web_data_service_(web_data_service),
93 client_(std::move(client)), 93 client_(std::move(client)),
94@@ -366,8 +374,8 @@ bool TemplateURLService::CanAddAutogener 94@@ -363,8 +371,8 @@ bool TemplateURLService::CanAddAutogener
95 // that may interfere with search queries). An easy heuristic for this is 95 // that may interfere with search queries). An easy heuristic for this is
96 // whether the user has a TemplateURL that has been manually modified (e.g., 96 // whether the user has a TemplateURL that has been manually modified (e.g.,
97 // renamed) connected to the same host. 97 // renamed) connected to the same host.
@@ -102,7 +102,7 @@
102 } 102 }
103 103
104 bool TemplateURLService::IsPrepopulatedOrCreatedByPolicy( 104 bool TemplateURLService::IsPrepopulatedOrCreatedByPolicy(
105@@ -1516,6 +1524,8 @@ SyncDataMap TemplateURLService::CreateGU 105@@ -1496,6 +1504,8 @@ SyncDataMap TemplateURLService::CreateGU
106 106
107 void TemplateURLService::Init(const Initializer* initializers, 107 void TemplateURLService::Init(const Initializer* initializers,
108 int num_initializers) { 108 int num_initializers) {
@@ -111,7 +111,7 @@
111 if (client_) 111 if (client_)
112 client_->SetOwner(this); 112 client_->SetOwner(this);
113 113
114@@ -1654,6 +1664,9 @@ void TemplateURLService::ChangeToLoadedS 114@@ -1632,6 +1642,9 @@ void TemplateURLService::ChangeToLoadedS
115 115
116 bool TemplateURLService::CanAddAutogeneratedKeywordForHost( 116 bool TemplateURLService::CanAddAutogeneratedKeywordForHost(
117 const std::string& host) const { 117 const std::string& host) const {
@@ -121,11 +121,11 @@
121 const TemplateURLSet* urls = provider_map_->GetURLsForHost(host); 121 const TemplateURLSet* urls = provider_map_->GetURLsForHost(host);
122 if (!urls) 122 if (!urls)
123 return true; 123 return true;
124--- a/components/search_engines/template_url_service.h 124--- components/search_engines/template_url_service.h.orig
125+++ b/components/search_engines/template_url_service.h 125+++ components/search_engines/template_url_service.h
126@@ -716,6 +716,8 @@ class TemplateURLService : public WebDat 126@@ -706,6 +706,8 @@ class TemplateURLService : public WebDat
127 // ---------- Browser state related members --------------------------------- 127 // ---------- Browser state related members ---------------------------------
128 raw_ptr<PrefService> prefs_ = nullptr; 128 PrefService* prefs_ = nullptr;
129 129
130+ bool should_autocollect_; // Whether search engines should be auto-collected 130+ bool should_autocollect_; // Whether search engines should be auto-collected
131+ 131+
diff --git a/www/chromium-uc/patches/extra/ungoogled-chromium/add-flag-for-tab-hover-cards.patch b/www/chromium-uc/patches/extra/ungoogled-chromium/add-flag-for-tab-hover-cards.patch
index 39555a1..6010902 100644
--- a/www/chromium-uc/patches/extra/ungoogled-chromium/add-flag-for-tab-hover-cards.patch
+++ b/www/chromium-uc/patches/extra/ungoogled-chromium/add-flag-for-tab-hover-cards.patch
@@ -1,5 +1,5 @@
1--- a/chrome/browser/ui/views/tabs/tab.cc 1--- chrome/browser/ui/views/tabs/tab.cc.orig
2+++ b/chrome/browser/ui/views/tabs/tab.cc 2+++ chrome/browser/ui/views/tabs/tab.cc
3@@ -12,6 +12,7 @@ 3@@ -12,6 +12,7 @@
4 #include <utility> 4 #include <utility>
5 5
@@ -7,8 +7,8 @@
7+#include "base/command_line.h" 7+#include "base/command_line.h"
8 #include "base/debug/alias.h" 8 #include "base/debug/alias.h"
9 #include "base/i18n/rtl.h" 9 #include "base/i18n/rtl.h"
10 #include "base/memory/raw_ptr.h" 10 #include "base/metrics/user_metrics.h"
11@@ -643,6 +644,8 @@ void Tab::OnGestureEvent(ui::GestureEven 11@@ -641,6 +642,8 @@ void Tab::OnGestureEvent(ui::GestureEven
12 } 12 }
13 13
14 std::u16string Tab::GetTooltipText(const gfx::Point& p) const { 14 std::u16string Tab::GetTooltipText(const gfx::Point& p) const {
@@ -17,9 +17,9 @@
17 // Tab hover cards replace tooltips for tabs. 17 // Tab hover cards replace tooltips for tabs.
18 return std::u16string(); 18 return std::u16string();
19 } 19 }
20--- a/chrome/browser/ui/views/tabs/tab_strip.cc 20--- chrome/browser/ui/views/tabs/tab_strip.cc.orig
21+++ b/chrome/browser/ui/views/tabs/tab_strip.cc 21+++ chrome/browser/ui/views/tabs/tab_strip.cc
22@@ -16,6 +16,7 @@ 22@@ -15,6 +15,7 @@
23 23
24 #include "base/bind.h" 24 #include "base/bind.h"
25 #include "base/callback.h" 25 #include "base/callback.h"
@@ -27,18 +27,18 @@
27 #include "base/compiler_specific.h" 27 #include "base/compiler_specific.h"
28 #include "base/containers/adapters.h" 28 #include "base/containers/adapters.h"
29 #include "base/containers/contains.h" 29 #include "base/containers/contains.h"
30@@ -1461,6 +1462,8 @@ void TabStrip::OnMouseEventInTab(views:: 30@@ -2153,6 +2154,8 @@ void TabStrip::OnMouseEventInTab(views::
31 } 31 }
32 32
33 void TabStrip::UpdateHoverCard(Tab* tab, HoverCardUpdateType update_type) { 33 void TabStrip::UpdateHoverCard(Tab* tab, HoverCardUpdateType update_type) {
34+ if (base::CommandLine::ForCurrentProcess()->GetSwitchValueASCII("tab-hover-cards") == "tooltip" || 34+ if (base::CommandLine::ForCurrentProcess()->GetSwitchValueASCII("tab-hover-cards") == "tooltip" ||
35+ base::CommandLine::ForCurrentProcess()->GetSwitchValueASCII("tab-hover-cards") == "none") return; 35+ base::CommandLine::ForCurrentProcess()->GetSwitchValueASCII("tab-hover-cards") == "none") return;
36 tab_container_->UpdateHoverCard(tab, update_type); 36 // Some operations (including e.g. starting a drag) can cause the tab focus
37 } 37 // to change at the same time as the tabstrip is starting to animate; the
38 38 // hover card should not be visible at this time.
39--- a/chrome/browser/ungoogled_flag_choices.h 39--- chrome/browser/ungoogled_flag_choices.h.orig
40+++ b/chrome/browser/ungoogled_flag_choices.h 40+++ chrome/browser/ungoogled_flag_choices.h
41@@ -70,4 +70,13 @@ const FeatureEntry::Choice kCloseConfirm 41@@ -75,4 +75,13 @@ const FeatureEntry::Choice kCloseConfirm
42 "close-confirmation", 42 "close-confirmation",
43 "multiple"}, 43 "multiple"},
44 }; 44 };
@@ -52,9 +52,9 @@
52+ "tooltip"}, 52+ "tooltip"},
53+}; 53+};
54 #endif // CHROME_BROWSER_UNGOOGLED_FLAG_CHOICES_H_ 54 #endif // CHROME_BROWSER_UNGOOGLED_FLAG_CHOICES_H_
55--- a/chrome/browser/ungoogled_flag_entries.h 55--- chrome/browser/ungoogled_flag_entries.h.orig
56+++ b/chrome/browser/ungoogled_flag_entries.h 56+++ chrome/browser/ungoogled_flag_entries.h
57@@ -80,4 +80,8 @@ 57@@ -88,4 +88,8 @@
58 "Custom New Tab Page", 58 "Custom New Tab Page",
59 "Allows setting a custom URL for the new tab page. Value can be internal (e.g. `about:blank`), external (e.g. `example.com`), or local (e.g. `file:///tmp/startpage.html`). This applies for incognito windows as well when not set to a `chrome://` internal page. ungoogled-chromium flag", 59 "Allows setting a custom URL for the new tab page. Value can be internal (e.g. `about:blank`), external (e.g. `example.com`), or local (e.g. `file:///tmp/startpage.html`). This applies for incognito windows as well when not set to a `chrome://` internal page. ungoogled-chromium flag",
60 kOsDesktop, ORIGIN_LIST_VALUE_TYPE("custom-ntp", "")}, 60 kOsDesktop, ORIGIN_LIST_VALUE_TYPE("custom-ntp", "")},
diff --git a/www/chromium-uc/patches/extra/ungoogled-chromium/add-flag-for-tabsearch-button.patch b/www/chromium-uc/patches/extra/ungoogled-chromium/add-flag-for-tabsearch-button.patch
index 8fafaf2..317602c 100644
--- a/www/chromium-uc/patches/extra/ungoogled-chromium/add-flag-for-tabsearch-button.patch
+++ b/www/chromium-uc/patches/extra/ungoogled-chromium/add-flag-for-tabsearch-button.patch
@@ -1,6 +1,6 @@
1--- a/chrome/browser/ui/browser_command_controller.cc 1--- chrome/browser/ui/browser_command_controller.cc.orig
2+++ b/chrome/browser/ui/browser_command_controller.cc 2+++ chrome/browser/ui/browser_command_controller.cc
3@@ -1208,7 +1208,8 @@ void BrowserCommandController::InitComma 3@@ -1139,7 +1139,8 @@ void BrowserCommandController::InitComma
4 command_updater_.UpdateCommandEnabled(IDC_WINDOW_CLOSE_OTHER_TABS, 4 command_updater_.UpdateCommandEnabled(IDC_WINDOW_CLOSE_OTHER_TABS,
5 normal_window); 5 normal_window);
6 6
@@ -10,8 +10,8 @@
10 command_updater_.UpdateCommandEnabled(IDC_TAB_SEARCH, 10 command_updater_.UpdateCommandEnabled(IDC_TAB_SEARCH,
11 enable_tab_search_commands); 11 enable_tab_search_commands);
12 command_updater_.UpdateCommandEnabled(IDC_TAB_SEARCH_CLOSE, 12 command_updater_.UpdateCommandEnabled(IDC_TAB_SEARCH_CLOSE,
13--- a/chrome/browser/ui/views/frame/tab_strip_region_view.cc 13--- chrome/browser/ui/views/frame/tab_strip_region_view.cc.orig
14+++ b/chrome/browser/ui/views/frame/tab_strip_region_view.cc 14+++ chrome/browser/ui/views/frame/tab_strip_region_view.cc
15@@ -5,6 +5,7 @@ 15@@ -5,6 +5,7 @@
16 #include "chrome/browser/ui/views/frame/tab_strip_region_view.h" 16 #include "chrome/browser/ui/views/frame/tab_strip_region_view.h"
17 17
@@ -20,19 +20,19 @@
20 #include "base/strings/utf_string_conversions.h" 20 #include "base/strings/utf_string_conversions.h"
21 #include "build/build_config.h" 21 #include "build/build_config.h"
22 #include "chrome/browser/themes/theme_properties.h" 22 #include "chrome/browser/themes/theme_properties.h"
23@@ -139,7 +140,8 @@ TabStripRegionView::TabStripRegionView(s 23@@ -132,7 +133,8 @@ TabStripRegionView::TabStripRegionView(s
24 return; 24 return;
25 } 25 #endif
26 26 const Browser* browser = tab_strip_->controller()->GetBrowser();
27- if (browser->is_type_normal()) { 27- if (browser && browser->is_type_normal()) {
28+ if (browser->is_type_normal() && 28+ if (browser && browser->is_type_normal() &&
29+ !base::CommandLine::ForCurrentProcess()->HasSwitch("remove-tabsearch-button")) { 29+ !base::CommandLine::ForCurrentProcess()->HasSwitch("remove-tabsearch-button")) {
30 auto tab_search_button = std::make_unique<TabSearchButton>(tab_strip_); 30 auto tab_search_button = std::make_unique<TabSearchButton>(tab_strip_);
31 tab_search_button->SetTooltipText( 31 tab_search_button->SetTooltipText(
32 l10n_util::GetStringUTF16(IDS_TOOLTIP_TAB_SEARCH)); 32 l10n_util::GetStringUTF16(IDS_TOOLTIP_TAB_SEARCH));
33--- a/chrome/browser/ungoogled_flag_entries.h 33--- chrome/browser/ungoogled_flag_entries.h.orig
34+++ b/chrome/browser/ungoogled_flag_entries.h 34+++ chrome/browser/ungoogled_flag_entries.h
35@@ -60,4 +60,8 @@ 35@@ -68,4 +68,8 @@
36 "Clear data on exit", 36 "Clear data on exit",
37 "Clears all browsing data on exit. ungoogled-chromium flag", 37 "Clears all browsing data on exit. ungoogled-chromium flag",
38 kOsDesktop, FEATURE_VALUE_TYPE(browsing_data::features::kClearDataOnExit)}, 38 kOsDesktop, FEATURE_VALUE_TYPE(browsing_data::features::kClearDataOnExit)},
diff --git a/www/chromium-uc/patches/extra/ungoogled-chromium/add-flag-to-change-http-accept-header.patch b/www/chromium-uc/patches/extra/ungoogled-chromium/add-flag-to-change-http-accept-header.patch
deleted file mode 100644
index ede83e7..0000000
--- a/www/chromium-uc/patches/extra/ungoogled-chromium/add-flag-to-change-http-accept-header.patch
+++ /dev/null
@@ -1,49 +0,0 @@
1--- a/chrome/browser/ungoogled_flag_entries.h
2+++ b/chrome/browser/ungoogled_flag_entries.h
3@@ -96,4 +96,8 @@
4 "Disable GREASE for TLS",
5 "Turn off GREASE (Generate Random Extensions And Sustain Extensibility) for TLS connections. ungoogled-chromium flag.",
6 kOsAll, SINGLE_VALUE_TYPE("disable-grease-tls")},
7+ {"http-accept-header",
8+ "Custom HTTP Accept Header",
9+ "Set a custom value for the Accept header which is sent by the browser with every HTTP request. (e.g. `text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8`). ungoogled-chromium flag.",
10+ kOsAll, ORIGIN_LIST_VALUE_TYPE("http-accept-header", "")},
11 #endif // CHROME_BROWSER_UNGOOGLED_FLAG_ENTRIES_H_
12--- a/components/flags_ui/flags_state.cc
13+++ b/components/flags_ui/flags_state.cc
14@@ -209,6 +209,7 @@ std::string GetCombinedOriginListValue(c
15 const std::string new_value =
16 flags_storage.GetOriginListFlag(internal_entry_name);
17 if (command_line_switch == "custom-ntp") return existing_value.empty() ? new_value : existing_value;
18+ if (command_line_switch == "http-accept-header") return existing_value.empty() ? new_value : existing_value;
19 return CombineAndSanitizeOriginLists(existing_value, new_value);
20 }
21
22@@ -398,6 +399,7 @@ void FlagsState::SetOriginListFlag(const
23 FlagsStorage* flags_storage) {
24 const std::string new_value =
25 internal_name == "custom-ntp" ? value :
26+ internal_name == "http-accept-header" ? value :
27 CombineAndSanitizeOriginLists(std::string(), value);
28 flags_storage->SetOriginListFlag(internal_name, new_value);
29
30--- a/content/public/browser/frame_accept_header.cc
31+++ b/content/public/browser/frame_accept_header.cc
32@@ -4,6 +4,7 @@
33
34 #include "content/public/browser/frame_accept_header.h"
35
36+#include "base/command_line.h"
37 #include "content/browser/web_package/signed_exchange_consts.h"
38 #include "content/browser/web_package/signed_exchange_utils.h"
39 #include "content/common/content_constants_internal.h"
40@@ -14,6 +15,9 @@ namespace content {
41
42 std::string FrameAcceptHeaderValue(bool allow_sxg_responses,
43 BrowserContext* browser_context) {
44+ if (base::CommandLine::ForCurrentProcess()->HasSwitch("http-accept-header"))
45+ return base::CommandLine::ForCurrentProcess()->GetSwitchValueASCII("http-accept-header");
46+
47 std::string header_value = kFrameAcceptHeaderValue;
48
49 #if BUILDFLAG(ENABLE_JXL_DECODER)
diff --git a/www/chromium-uc/patches/extra/ungoogled-chromium/add-flag-to-clear-data-on-exit.patch b/www/chromium-uc/patches/extra/ungoogled-chromium/add-flag-to-clear-data-on-exit.patch
index e059450..070c4cd 100644
--- a/www/chromium-uc/patches/extra/ungoogled-chromium/add-flag-to-clear-data-on-exit.patch
+++ b/www/chromium-uc/patches/extra/ungoogled-chromium/add-flag-to-clear-data-on-exit.patch
@@ -1,6 +1,6 @@
1--- a/chrome/browser/browsing_data/chrome_browsing_data_lifetime_manager.cc 1--- chrome/browser/browsing_data/chrome_browsing_data_lifetime_manager.cc.orig
2+++ b/chrome/browser/browsing_data/chrome_browsing_data_lifetime_manager.cc 2+++ chrome/browser/browsing_data/chrome_browsing_data_lifetime_manager.cc
3@@ -25,6 +25,7 @@ 3@@ -24,6 +24,7 @@
4 #include "chrome/browser/profiles/profile.h" 4 #include "chrome/browser/profiles/profile.h"
5 #include "chrome/browser/profiles/profile_manager.h" 5 #include "chrome/browser/profiles/profile_manager.h"
6 #include "chrome/browser/sync/sync_service_factory.h" 6 #include "chrome/browser/sync/sync_service_factory.h"
@@ -8,7 +8,7 @@
8 #include "components/browsing_data/core/pref_names.h" 8 #include "components/browsing_data/core/pref_names.h"
9 #include "components/keep_alive_registry/keep_alive_types.h" 9 #include "components/keep_alive_registry/keep_alive_types.h"
10 #include "components/keep_alive_registry/scoped_keep_alive.h" 10 #include "components/keep_alive_registry/scoped_keep_alive.h"
11@@ -157,6 +158,21 @@ class BrowsingDataRemoverObserver 11@@ -151,6 +152,21 @@ class BrowsingDataRemoverObserver
12 #endif 12 #endif
13 }; 13 };
14 14
@@ -29,20 +29,20 @@
29+ 29+
30 uint64_t GetOriginTypeMask(const base::Value& data_types) { 30 uint64_t GetOriginTypeMask(const base::Value& data_types) {
31 uint64_t result = 0; 31 uint64_t result = 0;
32 for (const auto& data_type : data_types.GetListDeprecated()) { 32 for (const auto& data_type : data_types.GetList()) {
33@@ -307,8 +323,9 @@ void ChromeBrowsingDataLifetimeManager:: 33@@ -292,8 +308,9 @@ void ChromeBrowsingDataLifetimeManager::
34 bool keep_browser_alive) { 34 bool keep_browser_alive) {
35 auto* data_types = profile_->GetPrefs()->GetList( 35 auto* data_types = profile_->GetPrefs()->GetList(
36 browsing_data::prefs::kClearBrowsingDataOnExitList); 36 browsing_data::prefs::kClearBrowsingDataOnExitList);
37- if (data_types && !data_types->GetListDeprecated().empty() && 37- if (data_types && !data_types->GetList().empty() &&
38- !SyncServiceFactory::IsSyncAllowed(profile_)) { 38- !SyncServiceFactory::IsSyncAllowed(profile_)) {
39+ bool cdoe = base::FeatureList::IsEnabled(browsing_data::features::kClearDataOnExit); 39+ bool cdoe = base::FeatureList::IsEnabled(browsing_data::features::kClearDataOnExit);
40+ if (cdoe || (data_types && !data_types->GetListDeprecated().empty() && 40+ if (cdoe || (data_types && !data_types->GetList().empty() &&
41+ !SyncServiceFactory::IsSyncAllowed(profile_))) { 41+ !SyncServiceFactory::IsSyncAllowed(profile_))) {
42 profile_->GetPrefs()->SetBoolean( 42 profile_->GetPrefs()->SetBoolean(
43 browsing_data::prefs::kClearBrowsingDataOnExitDeletionPending, true); 43 browsing_data::prefs::kClearBrowsingDataOnExitDeletionPending, true);
44 auto* remover = profile_->GetBrowsingDataRemover(); 44 auto* remover = profile_->GetBrowsingDataRemover();
45@@ -319,8 +336,8 @@ void ChromeBrowsingDataLifetimeManager:: 45@@ -304,8 +321,8 @@ void ChromeBrowsingDataLifetimeManager::
46 DCHECK(keep_browser_alive); 46 DCHECK(keep_browser_alive);
47 #endif 47 #endif
48 remover->RemoveAndReply(base::Time(), base::Time::Max(), 48 remover->RemoveAndReply(base::Time(), base::Time::Max(),
@@ -53,8 +53,8 @@
53 BrowsingDataRemoverObserver::Create( 53 BrowsingDataRemoverObserver::Create(
54 remover, /*filterable_deletion=*/true, profile_, 54 remover, /*filterable_deletion=*/true, profile_,
55 keep_browser_alive)); 55 keep_browser_alive));
56--- a/chrome/browser/browsing_data/chrome_browsing_data_lifetime_manager_factory.cc 56--- chrome/browser/browsing_data/chrome_browsing_data_lifetime_manager_factory.cc.orig
57+++ b/chrome/browser/browsing_data/chrome_browsing_data_lifetime_manager_factory.cc 57+++ chrome/browser/browsing_data/chrome_browsing_data_lifetime_manager_factory.cc
58@@ -48,6 +48,8 @@ ChromeBrowsingDataLifetimeManagerFactory 58@@ -48,6 +48,8 @@ ChromeBrowsingDataLifetimeManagerFactory
59 KeyedService* ChromeBrowsingDataLifetimeManagerFactory::BuildServiceInstanceFor( 59 KeyedService* ChromeBrowsingDataLifetimeManagerFactory::BuildServiceInstanceFor(
60 content::BrowserContext* context) const { 60 content::BrowserContext* context) const {
@@ -64,9 +64,9 @@
64 browsing_data::features::kEnableBrowsingDataLifetimeManager)) 64 browsing_data::features::kEnableBrowsingDataLifetimeManager))
65 return nullptr; 65 return nullptr;
66 Profile* profile = Profile::FromBrowserContext(context); 66 Profile* profile = Profile::FromBrowserContext(context);
67--- a/chrome/browser/ungoogled_flag_entries.h 67--- chrome/browser/ungoogled_flag_entries.h.orig
68+++ b/chrome/browser/ungoogled_flag_entries.h 68+++ chrome/browser/ungoogled_flag_entries.h
69@@ -56,4 +56,8 @@ 69@@ -64,4 +64,8 @@
70 "Keep old history", 70 "Keep old history",
71 "Keep history older than 3 months. ungoogled-chromium flag", 71 "Keep history older than 3 months. ungoogled-chromium flag",
72 kOsAll, SINGLE_VALUE_TYPE("keep-old-history")}, 72 kOsAll, SINGLE_VALUE_TYPE("keep-old-history")},
@@ -75,8 +75,8 @@
75+ "Clears all browsing data on exit. ungoogled-chromium flag", 75+ "Clears all browsing data on exit. ungoogled-chromium flag",
76+ kOsDesktop, FEATURE_VALUE_TYPE(browsing_data::features::kClearDataOnExit)}, 76+ kOsDesktop, FEATURE_VALUE_TYPE(browsing_data::features::kClearDataOnExit)},
77 #endif // CHROME_BROWSER_UNGOOGLED_FLAG_ENTRIES_H_ 77 #endif // CHROME_BROWSER_UNGOOGLED_FLAG_ENTRIES_H_
78--- a/components/browsing_data/core/features.cc 78--- components/browsing_data/core/features.cc.orig
79+++ b/components/browsing_data/core/features.cc 79+++ components/browsing_data/core/features.cc
80@@ -19,5 +19,7 @@ const base::Feature kEnableBrowsingDataL 80@@ -19,5 +19,7 @@ const base::Feature kEnableBrowsingDataL
81 const base::Feature kEnableBrowsingDataLifetimeManager{ 81 const base::Feature kEnableBrowsingDataLifetimeManager{
82 "BrowsingDataLifetimeManager", base::FEATURE_ENABLED_BY_DEFAULT}; 82 "BrowsingDataLifetimeManager", base::FEATURE_ENABLED_BY_DEFAULT};
@@ -85,8 +85,8 @@
85+const base::Feature kClearDataOnExit{"ClearDataOnExit", base::FEATURE_DISABLED_BY_DEFAULT}; 85+const base::Feature kClearDataOnExit{"ClearDataOnExit", base::FEATURE_DISABLED_BY_DEFAULT};
86 } // namespace features 86 } // namespace features
87 } // namespace browsing_data 87 } // namespace browsing_data
88--- a/components/browsing_data/core/features.h 88--- components/browsing_data/core/features.h.orig
89+++ b/components/browsing_data/core/features.h 89+++ components/browsing_data/core/features.h
90@@ -17,6 +17,7 @@ extern const base::Feature kEnableRemovi 90@@ -17,6 +17,7 @@ extern const base::Feature kEnableRemovi
91 // defined by the BrowsingDataLifetime policy. 91 // defined by the BrowsingDataLifetime policy.
92 extern const base::Feature kEnableBrowsingDataLifetimeManager; 92 extern const base::Feature kEnableBrowsingDataLifetimeManager;
diff --git a/www/chromium-uc/patches/extra/ungoogled-chromium/add-flag-to-close-window-with-last-tab.patch b/www/chromium-uc/patches/extra/ungoogled-chromium/add-flag-to-close-window-with-last-tab.patch
index 78b5ab9..b0358e8 100644
--- a/www/chromium-uc/patches/extra/ungoogled-chromium/add-flag-to-close-window-with-last-tab.patch
+++ b/www/chromium-uc/patches/extra/ungoogled-chromium/add-flag-to-close-window-with-last-tab.patch
@@ -1,5 +1,5 @@
1--- a/chrome/browser/ui/tabs/tab_strip_model.cc 1--- chrome/browser/ui/tabs/tab_strip_model.cc.orig
2+++ b/chrome/browser/ui/tabs/tab_strip_model.cc 2+++ chrome/browser/ui/tabs/tab_strip_model.cc
3@@ -11,6 +11,7 @@ 3@@ -11,6 +11,7 @@
4 #include <utility> 4 #include <utility>
5 5
@@ -7,8 +7,8 @@
7+#include "base/command_line.h" 7+#include "base/command_line.h"
8 #include "base/containers/flat_map.h" 8 #include "base/containers/flat_map.h"
9 #include "base/cxx17_backports.h" 9 #include "base/cxx17_backports.h"
10 #include "base/memory/raw_ptr.h" 10 #include "base/metrics/histogram_macros.h"
11@@ -1910,6 +1911,10 @@ bool TabStripModel::CloseTabs(base::span 11@@ -1779,6 +1780,10 @@ bool TabStripModel::CloseTabs(base::span
12 if (items.empty()) 12 if (items.empty())
13 return true; 13 return true;
14 14
@@ -19,9 +19,9 @@
19 const bool closing_all = static_cast<int>(items.size()) == count(); 19 const bool closing_all = static_cast<int>(items.size()) == count();
20 base::WeakPtr<TabStripModel> ref = weak_factory_.GetWeakPtr(); 20 base::WeakPtr<TabStripModel> ref = weak_factory_.GetWeakPtr();
21 if (closing_all) { 21 if (closing_all) {
22--- a/chrome/browser/ungoogled_flag_choices.h 22--- chrome/browser/ungoogled_flag_choices.h.orig
23+++ b/chrome/browser/ungoogled_flag_choices.h 23+++ chrome/browser/ungoogled_flag_choices.h
24@@ -55,4 +55,10 @@ const FeatureEntry::Choice kOmniboxAutoc 24@@ -60,4 +60,10 @@ const FeatureEntry::Choice kOmniboxAutoc
25 "omnibox-autocomplete-filtering", 25 "omnibox-autocomplete-filtering",
26 "search-bookmarks-chrome"}, 26 "search-bookmarks-chrome"},
27 }; 27 };
@@ -32,9 +32,9 @@
32+ "never"}, 32+ "never"},
33+}; 33+};
34 #endif // CHROME_BROWSER_UNGOOGLED_FLAG_CHOICES_H_ 34 #endif // CHROME_BROWSER_UNGOOGLED_FLAG_CHOICES_H_
35--- a/chrome/browser/ungoogled_flag_entries.h 35--- chrome/browser/ungoogled_flag_entries.h.orig
36+++ b/chrome/browser/ungoogled_flag_entries.h 36+++ chrome/browser/ungoogled_flag_entries.h
37@@ -44,4 +44,8 @@ 37@@ -52,4 +52,8 @@
38 "Omnibox Autocomplete Filtering", 38 "Omnibox Autocomplete Filtering",
39 "Restrict omnibox autocomplete results to a combination of search suggestions (if enabled), bookmarks, and internal chrome pages. ungoogled-chromium flag.", 39 "Restrict omnibox autocomplete results to a combination of search suggestions (if enabled), bookmarks, and internal chrome pages. ungoogled-chromium flag.",
40 kOsAll, MULTI_VALUE_TYPE(kOmniboxAutocompleteFiltering)}, 40 kOsAll, MULTI_VALUE_TYPE(kOmniboxAutocompleteFiltering)},
diff --git a/www/chromium-uc/patches/extra/ungoogled-chromium/add-flag-to-configure-extension-downloading.patch b/www/chromium-uc/patches/extra/ungoogled-chromium/add-flag-to-configure-extension-downloading.patch
index 231542b..381de61 100644
--- a/www/chromium-uc/patches/extra/ungoogled-chromium/add-flag-to-configure-extension-downloading.patch
+++ b/www/chromium-uc/patches/extra/ungoogled-chromium/add-flag-to-configure-extension-downloading.patch
@@ -1,8 +1,8 @@
1# Add extension-mime-request-handling chrome://flag to tweak the behavior of 1# Add extension-mime-request-handling chrome://flag to tweak the behavior of
2# extension MIME types 2# extension MIME types
3 3
4--- a/chrome/browser/download/download_crx_util.cc 4--- chrome/browser/download/download_crx_util.cc.orig
5+++ b/chrome/browser/download/download_crx_util.cc 5+++ chrome/browser/download/download_crx_util.cc
6@@ -8,6 +8,7 @@ 6@@ -8,6 +8,7 @@
7 7
8 #include <memory> 8 #include <memory>
@@ -35,8 +35,8 @@
35 } else { 35 } else {
36 return false; 36 return false;
37 } 37 }
38--- a/chrome/browser/download/download_crx_util.h 38--- chrome/browser/download/download_crx_util.h.orig
39+++ b/chrome/browser/download/download_crx_util.h 39+++ chrome/browser/download/download_crx_util.h
40@@ -43,6 +43,10 @@ scoped_refptr<extensions::CrxInstaller> 40@@ -43,6 +43,10 @@ scoped_refptr<extensions::CrxInstaller>
41 Profile* profile, 41 Profile* profile,
42 const download::DownloadItem& download_item); 42 const download::DownloadItem& download_item);
@@ -48,9 +48,9 @@
48 // Returns true if this is an extension download. This also considers user 48 // Returns true if this is an extension download. This also considers user
49 // scripts to be extension downloads, since we convert those automatically. 49 // scripts to be extension downloads, since we convert those automatically.
50 bool IsExtensionDownload(const download::DownloadItem& download_item); 50 bool IsExtensionDownload(const download::DownloadItem& download_item);
51--- a/chrome/browser/download/download_target_determiner.cc 51--- chrome/browser/download/download_target_determiner.cc.orig
52+++ b/chrome/browser/download/download_target_determiner.cc 52+++ chrome/browser/download/download_target_determiner.cc
53@@ -1070,10 +1070,12 @@ DownloadConfirmationReason DownloadTarge 53@@ -1059,10 +1059,12 @@ DownloadConfirmationReason DownloadTarge
54 return DownloadConfirmationReason::SAVE_AS; 54 return DownloadConfirmationReason::SAVE_AS;
55 55
56 #if BUILDFLAG(ENABLE_EXTENSIONS) 56 #if BUILDFLAG(ENABLE_EXTENSIONS)
@@ -67,8 +67,8 @@
67 #endif 67 #endif
68 68
69 // Don't prompt for file types that are marked for opening automatically. 69 // Don't prompt for file types that are marked for opening automatically.
70--- a/chrome/browser/extensions/extension_management.cc 70--- chrome/browser/extensions/extension_management.cc.orig
71+++ b/chrome/browser/extensions/extension_management.cc 71+++ chrome/browser/extensions/extension_management.cc
72@@ -10,6 +10,7 @@ 72@@ -10,6 +10,7 @@
73 73
74 #include "base/bind.h" 74 #include "base/bind.h"
@@ -77,7 +77,7 @@
77 #include "base/containers/contains.h" 77 #include "base/containers/contains.h"
78 #include "base/logging.h" 78 #include "base/logging.h"
79 #include "base/metrics/histogram_functions.h" 79 #include "base/metrics/histogram_functions.h"
80@@ -251,6 +252,13 @@ bool ExtensionManagement::IsInstallation 80@@ -250,6 +251,13 @@ bool ExtensionManagement::IsInstallation
81 bool ExtensionManagement::IsOffstoreInstallAllowed( 81 bool ExtensionManagement::IsOffstoreInstallAllowed(
82 const GURL& url, 82 const GURL& url,
83 const GURL& referrer_url) const { 83 const GURL& referrer_url) const {
@@ -91,8 +91,8 @@
91 // No allowed install sites specified, disallow by default. 91 // No allowed install sites specified, disallow by default.
92 if (!global_settings_->has_restricted_install_sources) 92 if (!global_settings_->has_restricted_install_sources)
93 return false; 93 return false;
94--- a/chrome/browser/ungoogled_flag_choices.h 94--- chrome/browser/ungoogled_flag_choices.h.orig
95+++ b/chrome/browser/ungoogled_flag_choices.h 95+++ chrome/browser/ungoogled_flag_choices.h
96@@ -4,4 +4,13 @@ 96@@ -4,4 +4,13 @@
97 97
98 #ifndef CHROME_BROWSER_UNGOOGLED_FLAG_CHOICES_H_ 98 #ifndef CHROME_BROWSER_UNGOOGLED_FLAG_CHOICES_H_
@@ -107,12 +107,12 @@
107+ "always-prompt-for-install"}, 107+ "always-prompt-for-install"},
108+}; 108+};
109 #endif // CHROME_BROWSER_UNGOOGLED_FLAG_CHOICES_H_ 109 #endif // CHROME_BROWSER_UNGOOGLED_FLAG_CHOICES_H_
110--- a/chrome/browser/ungoogled_flag_entries.h 110--- chrome/browser/ungoogled_flag_entries.h.orig
111+++ b/chrome/browser/ungoogled_flag_entries.h 111+++ chrome/browser/ungoogled_flag_entries.h
112@@ -8,4 +8,8 @@ 112@@ -12,4 +12,8 @@
113 "SetIpv6ProbeFalse", 113 "Enable stacking in the tab strip",
114 "Forces the result of the browser's IPv6 probing (i.e. IPv6 connectivity test) to be unsuccessful. This causes IPv4 addresses to be prioritized over IPv6 addresses. Without this flag, the probing result is set to be successful, which causes IPv6 to be used over IPv4 when possible. ungoogled-chromium flag.", 114 "Forces tabs to be stacked in the tab strip. Otherwise, they follow default behavior. ungoogled-chromium flag.",
115 kOsAll, FEATURE_VALUE_TYPE(net::features::kSetIpv6ProbeFalse)}, 115 kOsAll, SINGLE_VALUE_TYPE("enable-stacked-tab-strip")},
116+ {"extension-mime-request-handling", 116+ {"extension-mime-request-handling",
117+ "Handling of extension MIME type requests", 117+ "Handling of extension MIME type requests",
118+ "Used when deciding how to handle a request for a CRX or User Script MIME type. ungoogled-chromium flag.", 118+ "Used when deciding how to handle a request for a CRX or User Script MIME type. ungoogled-chromium flag.",
diff --git a/www/chromium-uc/patches/extra/ungoogled-chromium/add-flag-to-convert-popups-to-tabs.patch b/www/chromium-uc/patches/extra/ungoogled-chromium/add-flag-to-convert-popups-to-tabs.patch
index 9271f55..9a31082 100644
--- a/www/chromium-uc/patches/extra/ungoogled-chromium/add-flag-to-convert-popups-to-tabs.patch
+++ b/www/chromium-uc/patches/extra/ungoogled-chromium/add-flag-to-convert-popups-to-tabs.patch
@@ -1,8 +1,8 @@
1# Make popups go to tabs instead 1# Make popups go to tabs instead
2 2
3--- a/chrome/browser/ungoogled_flag_entries.h 3--- chrome/browser/ungoogled_flag_entries.h.orig
4+++ b/chrome/browser/ungoogled_flag_entries.h 4+++ chrome/browser/ungoogled_flag_entries.h
5@@ -48,4 +48,8 @@ 5@@ -56,4 +56,8 @@
6 "Close window with last tab", 6 "Close window with last tab",
7 "Determines whether a window should close once the last tab is closed. ungoogled-chromium flag.", 7 "Determines whether a window should close once the last tab is closed. ungoogled-chromium flag.",
8 kOsDesktop, MULTI_VALUE_TYPE(kCloseWindowWithLastTab)}, 8 kOsDesktop, MULTI_VALUE_TYPE(kCloseWindowWithLastTab)},
@@ -11,20 +11,19 @@
11+ "Makes popups open in new tabs. ungoogled-chromium flag", 11+ "Makes popups open in new tabs. ungoogled-chromium flag",
12+ kOsAll, SINGLE_VALUE_TYPE("popups-to-tabs")}, 12+ kOsAll, SINGLE_VALUE_TYPE("popups-to-tabs")},
13 #endif // CHROME_BROWSER_UNGOOGLED_FLAG_ENTRIES_H_ 13 #endif // CHROME_BROWSER_UNGOOGLED_FLAG_ENTRIES_H_
14--- a/content/renderer/render_view_impl.cc 14--- content/renderer/render_view_impl.cc.orig
15+++ b/content/renderer/render_view_impl.cc 15+++ content/renderer/render_view_impl.cc
16@@ -75,6 +75,9 @@ WindowOpenDisposition RenderViewImpl::Na 16@@ -73,6 +73,8 @@ WindowOpenDisposition RenderViewImpl::Na
17 case blink::kWebNavigationPolicyNewWindow: 17 case blink::kWebNavigationPolicyNewWindow:
18 return WindowOpenDisposition::NEW_WINDOW; 18 return WindowOpenDisposition::NEW_WINDOW;
19 case blink::kWebNavigationPolicyNewPopup: 19 case blink::kWebNavigationPolicyNewPopup:
20+ if (base::CommandLine::ForCurrentProcess()->HasSwitch("popups-to-tabs")) 20+ if (base::CommandLine::ForCurrentProcess()->HasSwitch("popups-to-tabs"))
21+ return WindowOpenDisposition::NEW_FOREGROUND_TAB; 21+ return WindowOpenDisposition::NEW_FOREGROUND_TAB;
22+ return WindowOpenDisposition::NEW_POPUP;
23 case blink::kWebNavigationPolicyPictureInPicture:
24 return WindowOpenDisposition::NEW_POPUP; 22 return WindowOpenDisposition::NEW_POPUP;
25 default: 23 default:
26--- a/ui/base/mojom/window_open_disposition_mojom_traits.h 24 NOTREACHED() << "Unexpected WebNavigationPolicy";
27+++ b/ui/base/mojom/window_open_disposition_mojom_traits.h 25--- ui/base/mojom/window_open_disposition_mojom_traits.h.orig
26+++ ui/base/mojom/window_open_disposition_mojom_traits.h
28@@ -5,6 +5,7 @@ 27@@ -5,6 +5,7 @@
29 #ifndef UI_BASE_MOJOM_WINDOW_OPEN_DISPOSITION_MOJOM_TRAITS_H_ 28 #ifndef UI_BASE_MOJOM_WINDOW_OPEN_DISPOSITION_MOJOM_TRAITS_H_
30 #define UI_BASE_MOJOM_WINDOW_OPEN_DISPOSITION_MOJOM_TRAITS_H_ 29 #define UI_BASE_MOJOM_WINDOW_OPEN_DISPOSITION_MOJOM_TRAITS_H_
@@ -33,16 +32,16 @@
33 #include "base/notreached.h" 32 #include "base/notreached.h"
34 #include "mojo/public/cpp/bindings/enum_traits.h" 33 #include "mojo/public/cpp/bindings/enum_traits.h"
35 #include "ui/base/mojom/window_open_disposition.mojom.h" 34 #include "ui/base/mojom/window_open_disposition.mojom.h"
36@@ -30,6 +31,8 @@ struct EnumTraits<ui::mojom::WindowOpenD 35@@ -28,6 +29,8 @@ struct EnumTraits<ui::mojom::WindowOpenD
37 case WindowOpenDisposition::NEW_PICTURE_IN_PICTURE: 36 case WindowOpenDisposition::NEW_BACKGROUND_TAB:
38 return ui::mojom::WindowOpenDisposition::NEW_PICTURE_IN_PICTURE; 37 return ui::mojom::WindowOpenDisposition::NEW_BACKGROUND_TAB;
39 case WindowOpenDisposition::NEW_POPUP: 38 case WindowOpenDisposition::NEW_POPUP:
40+ if (base::CommandLine::ForCurrentProcess()->HasSwitch("popups-to-tabs")) 39+ if (base::CommandLine::ForCurrentProcess()->HasSwitch("popups-to-tabs"))
41+ return ui::mojom::WindowOpenDisposition::NEW_FOREGROUND_TAB; 40+ return ui::mojom::WindowOpenDisposition::NEW_FOREGROUND_TAB;
42 return ui::mojom::WindowOpenDisposition::NEW_POPUP; 41 return ui::mojom::WindowOpenDisposition::NEW_POPUP;
43 case WindowOpenDisposition::NEW_WINDOW: 42 case WindowOpenDisposition::NEW_WINDOW:
44 return ui::mojom::WindowOpenDisposition::NEW_WINDOW; 43 return ui::mojom::WindowOpenDisposition::NEW_WINDOW;
45@@ -68,6 +71,8 @@ struct EnumTraits<ui::mojom::WindowOpenD 44@@ -63,6 +66,8 @@ struct EnumTraits<ui::mojom::WindowOpenD
46 return true; 45 return true;
47 case ui::mojom::WindowOpenDisposition::NEW_POPUP: 46 case ui::mojom::WindowOpenDisposition::NEW_POPUP:
48 *out = WindowOpenDisposition::NEW_POPUP; 47 *out = WindowOpenDisposition::NEW_POPUP;
diff --git a/www/chromium-uc/patches/extra/ungoogled-chromium/add-flag-to-disable-beforeunload.patch b/www/chromium-uc/patches/extra/ungoogled-chromium/add-flag-to-disable-beforeunload.patch
index c2678af..c46ec2b 100644
--- a/www/chromium-uc/patches/extra/ungoogled-chromium/add-flag-to-disable-beforeunload.patch
+++ b/www/chromium-uc/patches/extra/ungoogled-chromium/add-flag-to-disable-beforeunload.patch
@@ -1,8 +1,8 @@
1# Add --disable-beforeunload to always disable beforeunload JavaScript dialogs 1# Add --disable-beforeunload to always disable beforeunload JavaScript dialogs
2 2
3--- a/chrome/browser/ungoogled_flag_entries.h 3--- chrome/browser/ungoogled_flag_entries.h.orig
4+++ b/chrome/browser/ungoogled_flag_entries.h 4+++ chrome/browser/ungoogled_flag_entries.h
5@@ -16,4 +16,8 @@ 5@@ -20,4 +20,8 @@
6 "Disable search engine collection", 6 "Disable search engine collection",
7 "Prevents search engines from being added automatically. ungoogled-chromium flag.", 7 "Prevents search engines from being added automatically. ungoogled-chromium flag.",
8 kOsAll, SINGLE_VALUE_TYPE("disable-search-engine-collection")}, 8 kOsAll, SINGLE_VALUE_TYPE("disable-search-engine-collection")},
@@ -11,17 +11,17 @@
11+ "Disables JavaScript dialog boxes triggered by beforeunload. ungoogled-chromium flag.", 11+ "Disables JavaScript dialog boxes triggered by beforeunload. ungoogled-chromium flag.",
12+ kOsAll, SINGLE_VALUE_TYPE("disable-beforeunload")}, 12+ kOsAll, SINGLE_VALUE_TYPE("disable-beforeunload")},
13 #endif // CHROME_BROWSER_UNGOOGLED_FLAG_ENTRIES_H_ 13 #endif // CHROME_BROWSER_UNGOOGLED_FLAG_ENTRIES_H_
14--- a/components/javascript_dialogs/app_modal_dialog_manager.cc 14--- components/javascript_dialogs/app_modal_dialog_manager.cc.orig
15+++ b/components/javascript_dialogs/app_modal_dialog_manager.cc 15+++ components/javascript_dialogs/app_modal_dialog_manager.cc
16@@ -8,6 +8,7 @@ 16@@ -8,6 +8,7 @@
17 #include <utility> 17 #include <utility>
18 18
19 #include "base/bind.h" 19 #include "base/bind.h"
20+#include "base/command_line.h" 20+#include "base/command_line.h"
21 #include "base/i18n/rtl.h" 21 #include "base/i18n/rtl.h"
22 #include "base/macros.h"
22 #include "base/metrics/histogram_macros.h" 23 #include "base/metrics/histogram_macros.h"
23 #include "base/strings/utf_string_conversions.h" 24@@ -196,7 +197,8 @@ void AppModalDialogManager::RunBeforeUnl
24@@ -195,7 +196,8 @@ void AppModalDialogManager::RunBeforeUnl
25 ChromeJavaScriptDialogExtraData* extra_data = 25 ChromeJavaScriptDialogExtraData* extra_data =
26 &javascript_dialog_extra_data_[web_contents]; 26 &javascript_dialog_extra_data_[web_contents];
27 27
diff --git a/www/chromium-uc/patches/extra/ungoogled-chromium/add-flag-to-disable-local-history-expiration.patch b/www/chromium-uc/patches/extra/ungoogled-chromium/add-flag-to-disable-local-history-expiration.patch
index a07ec40..090432a 100644
--- a/www/chromium-uc/patches/extra/ungoogled-chromium/add-flag-to-disable-local-history-expiration.patch
+++ b/www/chromium-uc/patches/extra/ungoogled-chromium/add-flag-to-disable-local-history-expiration.patch
@@ -1,8 +1,8 @@
1# Keep local history longer than 90 days 1# Keep local history longer than 90 days
2 2
3--- a/chrome/browser/ungoogled_flag_entries.h 3--- chrome/browser/ungoogled_flag_entries.h.orig
4+++ b/chrome/browser/ungoogled_flag_entries.h 4+++ chrome/browser/ungoogled_flag_entries.h
5@@ -52,4 +52,8 @@ 5@@ -60,4 +60,8 @@
6 "Popups to tabs", 6 "Popups to tabs",
7 "Makes popups open in new tabs. ungoogled-chromium flag", 7 "Makes popups open in new tabs. ungoogled-chromium flag",
8 kOsAll, SINGLE_VALUE_TYPE("popups-to-tabs")}, 8 kOsAll, SINGLE_VALUE_TYPE("popups-to-tabs")},
@@ -11,8 +11,8 @@
11+ "Keep history older than 3 months. ungoogled-chromium flag", 11+ "Keep history older than 3 months. ungoogled-chromium flag",
12+ kOsAll, SINGLE_VALUE_TYPE("keep-old-history")}, 12+ kOsAll, SINGLE_VALUE_TYPE("keep-old-history")},
13 #endif // CHROME_BROWSER_UNGOOGLED_FLAG_ENTRIES_H_ 13 #endif // CHROME_BROWSER_UNGOOGLED_FLAG_ENTRIES_H_
14--- a/components/history/core/browser/history_backend.cc 14--- components/history/core/browser/history_backend.cc.orig
15+++ b/components/history/core/browser/history_backend.cc 15+++ components/history/core/browser/history_backend.cc
16@@ -15,6 +15,7 @@ 16@@ -15,6 +15,7 @@
17 #include <vector> 17 #include <vector>
18 18
@@ -21,7 +21,7 @@
21 #include "base/callback_helpers.h" 21 #include "base/callback_helpers.h"
22 #include "base/compiler_specific.h" 22 #include "base/compiler_specific.h"
23 #include "base/containers/flat_set.h" 23 #include "base/containers/flat_set.h"
24@@ -979,7 +980,8 @@ void HistoryBackend::InitImpl( 24@@ -911,7 +912,8 @@ void HistoryBackend::InitImpl(
25 db_->GetStartDate(&first_recorded_time_); 25 db_->GetStartDate(&first_recorded_time_);
26 26
27 // Start expiring old stuff. 27 // Start expiring old stuff.
diff --git a/www/chromium-uc/patches/extra/ungoogled-chromium/add-flag-to-disable-tls-grease.patch b/www/chromium-uc/patches/extra/ungoogled-chromium/add-flag-to-disable-tls-grease.patch
deleted file mode 100644
index 0c208d0..0000000
--- a/www/chromium-uc/patches/extra/ungoogled-chromium/add-flag-to-disable-tls-grease.patch
+++ /dev/null
@@ -1,23 +0,0 @@
1--- a/chrome/browser/ungoogled_flag_entries.h
2+++ b/chrome/browser/ungoogled_flag_entries.h
3@@ -92,4 +92,8 @@
4 "Referrer directive",
5 "Allows setting a custom directive for referrer headers. The no cross-origin referrer option removes all cross-origin referrers, the minimal option removes all cross-origin referrers and strips same-origin referrers down to the origin, and the no referrers option removes all referrers. ungoogled-chromium flag.",
6 kOsAll, MULTI_VALUE_TYPE(kReferrerDirective)},
7+ {"disable-grease-tls",
8+ "Disable GREASE for TLS",
9+ "Turn off GREASE (Generate Random Extensions And Sustain Extensibility) for TLS connections. ungoogled-chromium flag.",
10+ kOsAll, SINGLE_VALUE_TYPE("disable-grease-tls")},
11 #endif // CHROME_BROWSER_UNGOOGLED_FLAG_ENTRIES_H_
12--- a/net/socket/ssl_client_socket_impl.cc
13+++ b/net/socket/ssl_client_socket_impl.cc
14@@ -311,7 +311,8 @@ class SSLClientSocketImpl::SSLContext {
15 SSL_CTX_sess_set_new_cb(ssl_ctx_.get(), NewSessionCallback);
16 SSL_CTX_set_timeout(ssl_ctx_.get(), 1 * 60 * 60 /* one hour */);
17
18- SSL_CTX_set_grease_enabled(ssl_ctx_.get(), 1);
19+ int grease_mode = !base::CommandLine::ForCurrentProcess()->HasSwitch("disable-grease-tls");
20+ SSL_CTX_set_grease_enabled(ssl_ctx_.get(), grease_mode);
21
22 // Deduplicate all certificates minted from the SSL_CTX in memory.
23 SSL_CTX_set0_buffer_pool(ssl_ctx_.get(), x509_util::GetBufferPool());
diff --git a/www/chromium-uc/patches/extra/ungoogled-chromium/add-flag-to-force-punycode-hostnames.patch b/www/chromium-uc/patches/extra/ungoogled-chromium/add-flag-to-force-punycode-hostnames.patch
index 840f91a..be26b2c 100644
--- a/www/chromium-uc/patches/extra/ungoogled-chromium/add-flag-to-force-punycode-hostnames.patch
+++ b/www/chromium-uc/patches/extra/ungoogled-chromium/add-flag-to-force-punycode-hostnames.patch
@@ -1,8 +1,8 @@
1# Add flag to force punycode in hostnames instead of Unicode when displaying Internationalized Domain Names (IDNs) to mitigate homograph attacks 1# Add flag to force punycode in hostnames instead of Unicode when displaying Internationalized Domain Names (IDNs) to mitigate homograph attacks
2 2
3--- a/chrome/browser/ungoogled_flag_entries.h 3--- chrome/browser/ungoogled_flag_entries.h.orig
4+++ b/chrome/browser/ungoogled_flag_entries.h 4+++ chrome/browser/ungoogled_flag_entries.h
5@@ -20,4 +20,8 @@ 5@@ -24,4 +24,8 @@
6 "Disable beforeunload", 6 "Disable beforeunload",
7 "Disables JavaScript dialog boxes triggered by beforeunload. ungoogled-chromium flag.", 7 "Disables JavaScript dialog boxes triggered by beforeunload. ungoogled-chromium flag.",
8 kOsAll, SINGLE_VALUE_TYPE("disable-beforeunload")}, 8 kOsAll, SINGLE_VALUE_TYPE("disable-beforeunload")},
@@ -11,17 +11,17 @@
11+ "Force punycode in hostnames instead of Unicode when displaying Internationalized Domain Names (IDNs). ungoogled-chromium flag.", 11+ "Force punycode in hostnames instead of Unicode when displaying Internationalized Domain Names (IDNs). ungoogled-chromium flag.",
12+ kOsAll, SINGLE_VALUE_TYPE("force-punycode-hostnames")}, 12+ kOsAll, SINGLE_VALUE_TYPE("force-punycode-hostnames")},
13 #endif // CHROME_BROWSER_UNGOOGLED_FLAG_ENTRIES_H_ 13 #endif // CHROME_BROWSER_UNGOOGLED_FLAG_ENTRIES_H_
14--- a/components/url_formatter/url_formatter.cc 14--- components/url_formatter/url_formatter.cc.orig
15+++ b/components/url_formatter/url_formatter.cc 15+++ components/url_formatter/url_formatter.cc
16@@ -9,6 +9,7 @@ 16@@ -8,6 +8,7 @@
17 #include <utility> 17 #include <utility>
18 #include <vector> 18 #include <vector>
19 19
20+#include "base/command_line.h" 20+#include "base/command_line.h"
21 #include "base/lazy_instance.h" 21 #include "base/lazy_instance.h"
22 #include "base/memory/raw_ptr.h"
23 #include "base/numerics/safe_conversions.h" 22 #include "base/numerics/safe_conversions.h"
24@@ -270,6 +271,13 @@ IDNConversionResult IDNToUnicodeWithAdju 23 #include "base/strings/strcat.h"
24@@ -264,6 +265,13 @@ IDNConversionResult IDNToUnicodeWithAdju
25 host16.reserve(host.length()); 25 host16.reserve(host.length());
26 host16.insert(host16.end(), host.begin(), host.end()); 26 host16.insert(host16.end(), host.begin(), host.end());
27 27
diff --git a/www/chromium-uc/patches/extra/ungoogled-chromium/add-flag-to-hide-crashed-bubble.patch b/www/chromium-uc/patches/extra/ungoogled-chromium/add-flag-to-hide-crashed-bubble.patch
index a7a43aa..87da094 100644
--- a/www/chromium-uc/patches/extra/ungoogled-chromium/add-flag-to-hide-crashed-bubble.patch
+++ b/www/chromium-uc/patches/extra/ungoogled-chromium/add-flag-to-hide-crashed-bubble.patch
@@ -1,21 +1,21 @@
1# Add flag --hide-crashed-bubble to hide the bubble box: 1# Add flag --hide-crashed-bubble to hide the bubble box:
2# "Restore Pages? Chromium didn't shut down correctly." 2# "Restore Pages? Chromium didn't shut down correctly."
3 3
4--- a/chrome/browser/ui/startup/infobar_utils.cc 4--- chrome/browser/ui/startup/startup_browser_creator_impl.cc.orig
5+++ b/chrome/browser/ui/startup/infobar_utils.cc 5+++ chrome/browser/ui/startup/startup_browser_creator_impl.cc
6@@ -80,7 +80,8 @@ void AddInfoBarsIfNecessary(Browser* bro 6@@ -648,7 +648,8 @@ void StartupBrowserCreatorImpl::AddInfoB
7 if (command_line_.HasSwitch(switches::kKioskMode))
7 return; 8 return;
8 9
9 // Web apps should not display the session restore bubble (crbug.com/1264121) 10- if (HasPendingUncleanExit(browser->profile()))
10- if (!is_web_app && HasPendingUncleanExit(browser->profile())) 11+ if (HasPendingUncleanExit(browser->profile()) &&
11+ if (!is_web_app && HasPendingUncleanExit(browser->profile()) && 12+ !command_line_.HasSwitch("hide-crashed-bubble"))
12+ !startup_command_line.HasSwitch("hide-crashed-bubble"))
13 SessionCrashedBubble::ShowIfNotOffTheRecordProfile( 13 SessionCrashedBubble::ShowIfNotOffTheRecordProfile(
14 browser, /*skip_tab_checking=*/false); 14 browser, /*skip_tab_checking=*/false);
15 15
16--- a/chrome/browser/ungoogled_flag_entries.h 16--- chrome/browser/ungoogled_flag_entries.h.orig
17+++ b/chrome/browser/ungoogled_flag_entries.h 17+++ chrome/browser/ungoogled_flag_entries.h
18@@ -28,4 +28,8 @@ 18@@ -32,4 +32,8 @@
19 "Show avatar/people/profile button", 19 "Show avatar/people/profile button",
20 "Show avatar/people/profile button in the browser toolbar. ungoogled-chromium flag.", 20 "Show avatar/people/profile button in the browser toolbar. ungoogled-chromium flag.",
21 kOsDesktop, MULTI_VALUE_TYPE(kShowAvatarButtonChoices)}, 21 kOsDesktop, MULTI_VALUE_TYPE(kShowAvatarButtonChoices)},
diff --git a/www/chromium-uc/patches/extra/ungoogled-chromium/add-flag-to-hide-tab-close-buttons.patch b/www/chromium-uc/patches/extra/ungoogled-chromium/add-flag-to-hide-tab-close-buttons.patch
index 2fed6e9..7937d6f 100644
--- a/www/chromium-uc/patches/extra/ungoogled-chromium/add-flag-to-hide-tab-close-buttons.patch
+++ b/www/chromium-uc/patches/extra/ungoogled-chromium/add-flag-to-hide-tab-close-buttons.patch
@@ -1,29 +1,17 @@
1--- a/chrome/browser/ui/views/tabs/tab.cc 1--- chrome/browser/ui/views/tabs/tab_strip.cc.orig
2+++ b/chrome/browser/ui/views/tabs/tab.cc 2+++ chrome/browser/ui/views/tabs/tab_strip.cc
3@@ -991,7 +991,11 @@ void Tab::UpdateIconVisibility() { 3@@ -1909,6 +1909,8 @@ bool TabStrip::SupportsMultipleSelection
4 if (IsActive()) { 4 }
5 // Close button is shown on active tabs regardless of the size.
6 showing_close_button_ = true;
7+ if (base::CommandLine::ForCurrentProcess()->HasSwitch("hide-tab-close-buttons")) {
8+ showing_close_button_ = false;
9+ } else {
10 available_width -= close_button_width;
11+ }
12 5
13 showing_alert_indicator_ = 6 bool TabStrip::ShouldHideCloseButtonForTab(Tab* tab) const {
14 has_alert_icon && alert_icon_width <= available_width; 7+ if (base::CommandLine::ForCurrentProcess()->HasSwitch("hide-tab-close-buttons"))
15@@ -1012,6 +1016,8 @@ void Tab::UpdateIconVisibility() { 8+ return true;
16 available_width -= favicon_width; 9 if (tab->IsActive())
17 10 return false;
18 showing_close_button_ = large_enough_for_close_button; 11 return !!touch_layout_;
19+ if (base::CommandLine::ForCurrentProcess()->HasSwitch("hide-tab-close-buttons")) 12--- chrome/browser/ungoogled_flag_entries.h.orig
20+ showing_close_button_ = false; 13+++ chrome/browser/ungoogled_flag_entries.h
21 if (showing_close_button_) 14@@ -92,4 +92,8 @@
22 available_width -= close_button_width;
23
24--- a/chrome/browser/ungoogled_flag_entries.h
25+++ b/chrome/browser/ungoogled_flag_entries.h
26@@ -84,4 +84,8 @@
27 "Tab Hover Cards", 15 "Tab Hover Cards",
28 "Allows removing the tab hover cards or using a tooltip as a replacement. ungoogled-chromium flag.", 16 "Allows removing the tab hover cards or using a tooltip as a replacement. ungoogled-chromium flag.",
29 kOsDesktop, MULTI_VALUE_TYPE(kTabHoverCards)}, 17 kOsDesktop, MULTI_VALUE_TYPE(kTabHoverCards)},
diff --git a/www/chromium-uc/patches/extra/ungoogled-chromium/add-flag-to-scroll-tabs.patch b/www/chromium-uc/patches/extra/ungoogled-chromium/add-flag-to-scroll-tabs.patch
index 1dbdbb8..d657480 100644
--- a/www/chromium-uc/patches/extra/ungoogled-chromium/add-flag-to-scroll-tabs.patch
+++ b/www/chromium-uc/patches/extra/ungoogled-chromium/add-flag-to-scroll-tabs.patch
@@ -1,14 +1,14 @@
1--- a/chrome/browser/ui/views/frame/browser_root_view.cc 1--- chrome/browser/ui/views/frame/browser_root_view.cc.orig
2+++ b/chrome/browser/ui/views/frame/browser_root_view.cc 2+++ chrome/browser/ui/views/frame/browser_root_view.cc
3@@ -11,6 +11,7 @@ 3@@ -11,6 +11,7 @@
4 4
5 #include "base/bind.h" 5 #include "base/bind.h"
6 #include "base/callback_helpers.h" 6 #include "base/callback_helpers.h"
7+#include "base/command_line.h" 7+#include "base/command_line.h"
8 #include "base/metrics/user_metrics.h" 8 #include "base/metrics/user_metrics.h"
9 #include "base/task/post_task.h"
9 #include "base/task/thread_pool.h" 10 #include "base/task/thread_pool.h"
10 #include "chrome/browser/autocomplete/autocomplete_classifier_factory.h" 11@@ -109,6 +110,18 @@ DragOperation GetDropEffect(const ui::Dr
11@@ -108,6 +109,18 @@ DragOperation GetDropEffect(const ui::Dr
12 return DragOperation::kMove; 12 return DragOperation::kMove;
13 } 13 }
14 14
@@ -27,7 +27,7 @@
27 } // namespace 27 } // namespace
28 28
29 BrowserRootView::DropInfo::DropInfo() = default; 29 BrowserRootView::DropInfo::DropInfo() = default;
30@@ -119,7 +132,9 @@ BrowserRootView::DropInfo::~DropInfo() { 30@@ -120,7 +133,9 @@ BrowserRootView::DropInfo::~DropInfo() {
31 31
32 BrowserRootView::BrowserRootView(BrowserView* browser_view, 32 BrowserRootView::BrowserRootView(BrowserView* browser_view,
33 views::Widget* widget) 33 views::Widget* widget)
@@ -38,7 +38,7 @@
38 38
39 BrowserRootView::~BrowserRootView() { 39 BrowserRootView::~BrowserRootView() {
40 // It's possible to destroy the browser while a drop is active. In this case, 40 // It's possible to destroy the browser while a drop is active. In this case,
41@@ -241,7 +256,7 @@ bool BrowserRootView::OnMouseWheel(const 41@@ -245,7 +260,7 @@ bool BrowserRootView::OnMouseWheel(const
42 42
43 // Scroll-event-changes-tab is incompatible with scrolling tabstrip, so 43 // Scroll-event-changes-tab is incompatible with scrolling tabstrip, so
44 // disable it if the latter feature is enabled. 44 // disable it if the latter feature is enabled.
@@ -47,8 +47,8 @@
47 !base::FeatureList::IsEnabled(features::kScrollableTabStrip)) { 47 !base::FeatureList::IsEnabled(features::kScrollableTabStrip)) {
48 // Switch to the left/right tab if the wheel-scroll happens over the 48 // Switch to the left/right tab if the wheel-scroll happens over the
49 // tabstrip, or the empty space beside the tabstrip. 49 // tabstrip, or the empty space beside the tabstrip.
50--- a/chrome/browser/ui/views/frame/browser_root_view.h 50--- chrome/browser/ui/views/frame/browser_root_view.h.orig
51+++ b/chrome/browser/ui/views/frame/browser_root_view.h 51+++ chrome/browser/ui/views/frame/browser_root_view.h
52@@ -143,6 +143,8 @@ class BrowserRootView : public views::in 52@@ -143,6 +143,8 @@ class BrowserRootView : public views::in
53 int scroll_remainder_x_ = 0; 53 int scroll_remainder_x_ = 0;
54 int scroll_remainder_y_ = 0; 54 int scroll_remainder_y_ = 0;
@@ -58,8 +58,8 @@
58 std::unique_ptr<DropInfo> drop_info_; 58 std::unique_ptr<DropInfo> drop_info_;
59 59
60 base::WeakPtrFactory<BrowserRootView> weak_ptr_factory_{this}; 60 base::WeakPtrFactory<BrowserRootView> weak_ptr_factory_{this};
61--- a/chrome/browser/ungoogled_flag_choices.h 61--- chrome/browser/ungoogled_flag_choices.h.orig
62+++ b/chrome/browser/ungoogled_flag_choices.h 62+++ chrome/browser/ungoogled_flag_choices.h
63@@ -25,4 +25,13 @@ const FeatureEntry::Choice kShowAvatarBu 63@@ -25,4 +25,13 @@ const FeatureEntry::Choice kShowAvatarBu
64 "show-avatar-button", 64 "show-avatar-button",
65 "never"} 65 "never"}
@@ -74,9 +74,9 @@
74+ "never"} 74+ "never"}
75+}; 75+};
76 #endif // CHROME_BROWSER_UNGOOGLED_FLAG_CHOICES_H_ 76 #endif // CHROME_BROWSER_UNGOOGLED_FLAG_CHOICES_H_
77--- a/chrome/browser/ungoogled_flag_entries.h 77--- chrome/browser/ungoogled_flag_entries.h.orig
78+++ b/chrome/browser/ungoogled_flag_entries.h 78+++ chrome/browser/ungoogled_flag_entries.h
79@@ -32,4 +32,8 @@ 79@@ -36,4 +36,8 @@
80 "Hide crashed bubble", 80 "Hide crashed bubble",
81 "Hides the bubble box with the message \"Restore Pages? Chromium didn't shut down correctly.\" that shows on startup after the browser did not exit cleanly. ungoogled-chromium flag.", 81 "Hides the bubble box with the message \"Restore Pages? Chromium didn't shut down correctly.\" that shows on startup after the browser did not exit cleanly. ungoogled-chromium flag.",
82 kOsAll, SINGLE_VALUE_TYPE("hide-crashed-bubble")}, 82 kOsAll, SINGLE_VALUE_TYPE("hide-crashed-bubble")},
diff --git a/www/chromium-uc/patches/extra/ungoogled-chromium/add-flag-to-show-avatar-button.patch b/www/chromium-uc/patches/extra/ungoogled-chromium/add-flag-to-show-avatar-button.patch
index 406abe4..8fe39bd 100644
--- a/www/chromium-uc/patches/extra/ungoogled-chromium/add-flag-to-show-avatar-button.patch
+++ b/www/chromium-uc/patches/extra/ungoogled-chromium/add-flag-to-show-avatar-button.patch
@@ -1,6 +1,6 @@
1--- a/chrome/browser/ui/views/toolbar/toolbar_view.cc 1--- chrome/browser/ui/views/toolbar/toolbar_view.cc.orig
2+++ b/chrome/browser/ui/views/toolbar/toolbar_view.cc 2+++ chrome/browser/ui/views/toolbar/toolbar_view.cc
3@@ -284,14 +284,30 @@ void ToolbarView::Init() { 3@@ -273,12 +273,28 @@ void ToolbarView::Init() {
4 4
5 std::unique_ptr<ToolbarAccountIconContainerView> 5 std::unique_ptr<ToolbarAccountIconContainerView>
6 toolbar_account_icon_container; 6 toolbar_account_icon_container;
@@ -19,8 +19,6 @@
19- show_avatar_toolbar_button = browser_->profile()->IsOffTheRecord() || 19- show_avatar_toolbar_button = browser_->profile()->IsOffTheRecord() ||
20- browser_->profile()->IsGuestSession(); 20- browser_->profile()->IsGuestSession();
21+ show_avatar_toolbar_button = in_incognito_or_guest_mode; 21+ show_avatar_toolbar_button = in_incognito_or_guest_mode;
22 #elif BUILDFLAG(IS_CHROMEOS_LACROS)
23 show_avatar_toolbar_button = !profiles::IsPublicSession();
24 #endif 22 #endif
25+ 23+
26+ if (flag_value == "always") 24+ if (flag_value == "always")
@@ -33,8 +31,8 @@
33 if (base::FeatureList::IsEnabled( 31 if (base::FeatureList::IsEnabled(
34 autofill::features::kAutofillEnableToolbarStatusChip)) { 32 autofill::features::kAutofillEnableToolbarStatusChip)) {
35 // The avatar button is contained inside the page-action container and 33 // The avatar button is contained inside the page-action container and
36--- a/chrome/browser/ungoogled_flag_choices.h 34--- chrome/browser/ungoogled_flag_choices.h.orig
37+++ b/chrome/browser/ungoogled_flag_choices.h 35+++ chrome/browser/ungoogled_flag_choices.h
38@@ -13,4 +13,16 @@ const FeatureEntry::Choice kExtensionHan 36@@ -13,4 +13,16 @@ const FeatureEntry::Choice kExtensionHan
39 "extension-mime-request-handling", 37 "extension-mime-request-handling",
40 "always-prompt-for-install"}, 38 "always-prompt-for-install"},
@@ -52,9 +50,9 @@
52+ "never"} 50+ "never"}
53+}; 51+};
54 #endif // CHROME_BROWSER_UNGOOGLED_FLAG_CHOICES_H_ 52 #endif // CHROME_BROWSER_UNGOOGLED_FLAG_CHOICES_H_
55--- a/chrome/browser/ungoogled_flag_entries.h 53--- chrome/browser/ungoogled_flag_entries.h.orig
56+++ b/chrome/browser/ungoogled_flag_entries.h 54+++ chrome/browser/ungoogled_flag_entries.h
57@@ -24,4 +24,8 @@ 55@@ -28,4 +28,8 @@
58 "Force punycode hostnames", 56 "Force punycode hostnames",
59 "Force punycode in hostnames instead of Unicode when displaying Internationalized Domain Names (IDNs). ungoogled-chromium flag.", 57 "Force punycode in hostnames instead of Unicode when displaying Internationalized Domain Names (IDNs). ungoogled-chromium flag.",
60 kOsAll, SINGLE_VALUE_TYPE("force-punycode-hostnames")}, 58 kOsAll, SINGLE_VALUE_TYPE("force-punycode-hostnames")},
diff --git a/www/chromium-uc/patches/extra/ungoogled-chromium/add-flag-to-stack-tabs.patch b/www/chromium-uc/patches/extra/ungoogled-chromium/add-flag-to-stack-tabs.patch
new file mode 100644
index 0000000..6e19e76
--- /dev/null
+++ b/www/chromium-uc/patches/extra/ungoogled-chromium/add-flag-to-stack-tabs.patch
@@ -0,0 +1,33 @@
1# Add --enable-stacked-tab-strip and --enable-tab-adjust-layout flags to tweak tab strip behavior
2
3--- chrome/browser/ui/views/tabs/browser_tab_strip_controller.cc.orig
4+++ chrome/browser/ui/views/tabs/browser_tab_strip_controller.cc
5@@ -83,14 +83,13 @@ using content::WebContents;
6 namespace {
7
8 bool DetermineTabStripLayoutStacked(PrefService* prefs, bool* adjust_layout) {
9- *adjust_layout = false;
10- // For ash, always allow entering stacked mode.
11 #if BUILDFLAG(IS_CHROMEOS_ASH)
12 *adjust_layout = true;
13 return prefs->GetBoolean(prefs::kTabStripStackedLayout);
14 #else
15- return base::CommandLine::ForCurrentProcess()->HasSwitch(
16- switches::kForceStackedTabStripLayout);
17+ *adjust_layout = base::CommandLine::ForCurrentProcess()->HasSwitch("enable-tab-adjust-layout");
18+ return prefs->GetBoolean(prefs::kTabStripStackedLayout) ||
19+ base::CommandLine::ForCurrentProcess()->HasSwitch("enable-stacked-tab-strip");
20 #endif
21 }
22
23--- chrome/browser/ungoogled_flag_entries.h.orig
24+++ chrome/browser/ungoogled_flag_entries.h
25@@ -8,4 +8,8 @@
26 "SetIpv6ProbeFalse",
27 "Forces the result of the browser's IPv6 probing (i.e. IPv6 connectivity test) to be unsuccessful. This causes IPv4 addresses to be prioritized over IPv6 addresses. Without this flag, the probing result is set to be successful, which causes IPv6 to be used over IPv4 when possible. ungoogled-chromium flag.",
28 kOsAll, FEATURE_VALUE_TYPE(net::features::kSetIpv6ProbeFalse)},
29+ {"enable-stacked-tab-strip",
30+ "Enable stacking in the tab strip",
31+ "Forces tabs to be stacked in the tab strip. Otherwise, they follow default behavior. ungoogled-chromium flag.",
32+ kOsAll, SINGLE_VALUE_TYPE("enable-stacked-tab-strip")},
33 #endif // CHROME_BROWSER_UNGOOGLED_FLAG_ENTRIES_H_
diff --git a/www/chromium-uc/patches/extra/ungoogled-chromium/add-ipv6-probing-option.patch b/www/chromium-uc/patches/extra/ungoogled-chromium/add-ipv6-probing-option.patch
index 947d785..0bc5dd5 100644
--- a/www/chromium-uc/patches/extra/ungoogled-chromium/add-ipv6-probing-option.patch
+++ b/www/chromium-uc/patches/extra/ungoogled-chromium/add-ipv6-probing-option.patch
@@ -1,7 +1,7 @@
1# Disables IPv6 probing and adds an option to change the IPv6 probing result 1# Disables IPv6 probing and adds an option to change the IPv6 probing result
2 2
3--- a/chrome/browser/ungoogled_flag_entries.h 3--- chrome/browser/ungoogled_flag_entries.h.orig
4+++ b/chrome/browser/ungoogled_flag_entries.h 4+++ chrome/browser/ungoogled_flag_entries.h
5@@ -4,4 +4,8 @@ 5@@ -4,4 +4,8 @@
6 6
7 #ifndef CHROME_BROWSER_UNGOOGLED_FLAG_ENTRIES_H_ 7 #ifndef CHROME_BROWSER_UNGOOGLED_FLAG_ENTRIES_H_
@@ -11,30 +11,30 @@
11+ "Forces the result of the browser's IPv6 probing (i.e. IPv6 connectivity test) to be unsuccessful. This causes IPv4 addresses to be prioritized over IPv6 addresses. Without this flag, the probing result is set to be successful, which causes IPv6 to be used over IPv4 when possible. ungoogled-chromium flag.", 11+ "Forces the result of the browser's IPv6 probing (i.e. IPv6 connectivity test) to be unsuccessful. This causes IPv4 addresses to be prioritized over IPv6 addresses. Without this flag, the probing result is set to be successful, which causes IPv6 to be used over IPv4 when possible. ungoogled-chromium flag.",
12+ kOsAll, FEATURE_VALUE_TYPE(net::features::kSetIpv6ProbeFalse)}, 12+ kOsAll, FEATURE_VALUE_TYPE(net::features::kSetIpv6ProbeFalse)},
13 #endif // CHROME_BROWSER_UNGOOGLED_FLAG_ENTRIES_H_ 13 #endif // CHROME_BROWSER_UNGOOGLED_FLAG_ENTRIES_H_
14--- a/net/base/features.cc 14--- net/base/features.cc.orig
15+++ b/net/base/features.cc 15+++ net/base/features.cc
16@@ -293,5 +293,7 @@ const base::Feature kClampCookieExpiryTo 16@@ -263,5 +263,7 @@ const base::Feature kPartitionedCookies{
17 "ClampCookieExpiryTo400Days", 17 const base::Feature kExtraCookieValidityChecks{
18 base::FEATURE_DISABLED_BY_DEFAULT); 18 "ExtraCookieValidityChecks", base::FEATURE_ENABLED_BY_DEFAULT};
19 19
20+const base::Feature kSetIpv6ProbeFalse{"SetIpv6ProbeFalse", base::FEATURE_DISABLED_BY_DEFAULT}; 20+const base::Feature kSetIpv6ProbeFalse{"SetIpv6ProbeFalse", base::FEATURE_DISABLED_BY_DEFAULT};
21+ 21+
22 } // namespace features 22 } // namespace features
23 } // namespace net 23 } // namespace net
24--- a/net/base/features.h 24--- net/base/features.h.orig
25+++ b/net/base/features.h 25+++ net/base/features.h
26@@ -430,6 +430,8 @@ NET_EXPORT extern const base::Feature kS 26@@ -396,6 +396,8 @@ NET_EXPORT extern const base::Feature kP
27 // future. 27 // feature flag, assuming no breakage occurs with it enabled.
28 NET_EXPORT extern const base::Feature kClampCookieExpiryTo400Days; 28 NET_EXPORT extern const base::Feature kExtraCookieValidityChecks;
29 29
30+NET_EXPORT extern const base::Feature kSetIpv6ProbeFalse; 30+NET_EXPORT extern const base::Feature kSetIpv6ProbeFalse;
31+ 31+
32 } // namespace features 32 } // namespace features
33 } // namespace net 33 } // namespace net
34 34
35--- a/net/dns/host_resolver_manager.cc 35--- net/dns/host_resolver_manager.cc.orig
36+++ b/net/dns/host_resolver_manager.cc 36+++ net/dns/host_resolver_manager.cc
37@@ -153,11 +153,6 @@ const unsigned kMinimumTTLSeconds = kCac 37@@ -139,11 +139,6 @@ const unsigned kMinimumTTLSeconds = kCac
38 // cached. 38 // cached.
39 const int kIPv6ProbePeriodMs = 1000; 39 const int kIPv6ProbePeriodMs = 1000;
40 40
@@ -46,7 +46,7 @@
46 enum DnsResolveStatus { 46 enum DnsResolveStatus {
47 RESOLVE_STATUS_DNS_SUCCESS = 0, 47 RESOLVE_STATUS_DNS_SUCCESS = 0,
48 RESOLVE_STATUS_PROC_SUCCESS, 48 RESOLVE_STATUS_PROC_SUCCESS,
49@@ -4130,7 +4125,7 @@ bool HostResolverManager::IsIPv6Reachabl 49@@ -3696,7 +3691,7 @@ bool HostResolverManager::IsIPv6Reachabl
50 (tick_clock_->NowTicks() - last_ipv6_probe_time_).InMilliseconds() > 50 (tick_clock_->NowTicks() - last_ipv6_probe_time_).InMilliseconds() >
51 kIPv6ProbePeriodMs) { 51 kIPv6ProbePeriodMs) {
52 SetLastIPv6ProbeResult( 52 SetLastIPv6ProbeResult(
diff --git a/www/chromium-uc/patches/extra/ungoogled-chromium/add-suggestions-url-field.patch b/www/chromium-uc/patches/extra/ungoogled-chromium/add-suggestions-url-field.patch
index 1e3b504..9ff8cfa 100644
--- a/www/chromium-uc/patches/extra/ungoogled-chromium/add-suggestions-url-field.patch
+++ b/www/chromium-uc/patches/extra/ungoogled-chromium/add-suggestions-url-field.patch
@@ -1,8 +1,8 @@
1# Add suggestions URL text field to the search engine editing dialog 1# Add suggestions URL text field to the search engine editing dialog
2# (chrome://settings/searchEngines). 2# (chrome://settings/searchEngines).
3 3
4--- a/chrome/browser/resources/settings/search_engines_page/search_engine_edit_dialog.html 4--- chrome/browser/resources/settings/search_engines_page/search_engine_dialog.html.orig
5+++ b/chrome/browser/resources/settings/search_engines_page/search_engine_edit_dialog.html 5+++ chrome/browser/resources/settings/search_engines_page/search_engine_dialog.html
6@@ -20,6 +20,13 @@ 6@@ -20,6 +20,13 @@
7 value="{{queryUrl_}}" on-focus="validate_" on-input="validate_" 7 value="{{queryUrl_}}" on-focus="validate_" on-input="validate_"
8 disabled$="[[model.urlLocked]]"> 8 disabled$="[[model.urlLocked]]">
@@ -17,9 +17,9 @@
17 </div> 17 </div>
18 <div slot="button-container"> 18 <div slot="button-container">
19 <cr-button class="cancel-button" on-click="cancel_" id="cancel"> 19 <cr-button class="cancel-button" on-click="cancel_" id="cancel">
20--- a/chrome/browser/resources/settings/search_engines_page/search_engine_edit_dialog.ts 20--- chrome/browser/resources/settings/search_engines_page/search_engine_dialog.ts.orig
21+++ b/chrome/browser/resources/settings/search_engines_page/search_engine_edit_dialog.ts 21+++ chrome/browser/resources/settings/search_engines_page/search_engine_dialog.ts
22@@ -28,6 +28,7 @@ export interface SettingsSearchEngineEdi 22@@ -26,6 +26,7 @@ interface SettingsSearchEngineDialogElem
23 dialog: CrDialogElement, 23 dialog: CrDialogElement,
24 keyword: CrInputElement, 24 keyword: CrInputElement,
25 queryUrl: CrInputElement, 25 queryUrl: CrInputElement,
@@ -27,23 +27,23 @@
27 searchEngine: CrInputElement, 27 searchEngine: CrInputElement,
28 }; 28 };
29 } 29 }
30@@ -56,6 +57,7 @@ export class SettingsSearchEngineEditDia 30@@ -54,6 +55,7 @@ class SettingsSearchEngineDialogElement
31 searchEngine_: String, 31 searchEngine_: String,
32 keyword_: String, 32 keyword_: String,
33 queryUrl_: String, 33 queryUrl_: String,
34+ suggestionsUrl_: String, 34+ suggestionsUrl_: String,
35 dialogTitle_: String, 35 dialogTitle_: String,
36 keywordFieldLabel_: String,
37 actionButtonText_: String, 36 actionButtonText_: String,
38@@ -72,6 +74,7 @@ export class SettingsSearchEngineEditDia 37 };
38@@ -63,6 +65,7 @@ class SettingsSearchEngineDialogElement
39 private searchEngine_: string; 39 private searchEngine_: string;
40 private keyword_: string; 40 private keyword_: string;
41 private queryUrl_: string; 41 private queryUrl_: string;
42+ private suggestionsUrl_: string; 42+ private suggestionsUrl_: string;
43 private dialogTitle_: string; 43 private dialogTitle_: string;
44 private keywordFieldLabel_: string;
45 private actionButtonText_: string; 44 private actionButtonText_: string;
46@@ -103,6 +106,7 @@ export class SettingsSearchEngineEditDia 45 private browserProxy_: SearchEnginesBrowserProxy =
46@@ -92,6 +95,7 @@ class SettingsSearchEngineDialogElement
47 this.searchEngine_ = this.model.name; 47 this.searchEngine_ = this.model.name;
48 this.keyword_ = this.model.keyword; 48 this.keyword_ = this.model.keyword;
49 this.queryUrl_ = this.model.url; 49 this.queryUrl_ = this.model.url;
@@ -51,7 +51,7 @@
51 } else { 51 } else {
52 this.dialogTitle_ = 52 this.dialogTitle_ =
53 loadTimeData.getString('searchEnginesAddSearchEngine'); 53 loadTimeData.getString('searchEnginesAddSearchEngine');
54@@ -142,8 +146,12 @@ export class SettingsSearchEngineEditDia 54@@ -127,8 +131,12 @@ class SettingsSearchEngineDialogElement
55 } 55 }
56 } 56 }
57 57
@@ -66,7 +66,7 @@
66 } 66 }
67 67
68 private cancel_() { 68 private cancel_() {
69@@ -152,7 +160,8 @@ export class SettingsSearchEngineEditDia 69@@ -137,7 +145,8 @@ class SettingsSearchEngineDialogElement
70 70
71 private onActionButtonTap_() { 71 private onActionButtonTap_() {
72 this.browserProxy_.searchEngineEditCompleted( 72 this.browserProxy_.searchEngineEditCompleted(
@@ -76,7 +76,7 @@
76 this.$.dialog.close(); 76 this.$.dialog.close();
77 } 77 }
78 78
79@@ -180,9 +189,11 @@ export class SettingsSearchEngineEditDia 79@@ -165,9 +174,11 @@ class SettingsSearchEngineDialogElement
80 80
81 private updateActionButtonState_() { 81 private updateActionButtonState_() {
82 const allValid = [ 82 const allValid = [
@@ -90,17 +90,17 @@
90 }); 90 });
91 this.$.actionButton.disabled = !allValid; 91 this.$.actionButton.disabled = !allValid;
92 } 92 }
93--- a/chrome/browser/resources/settings/search_engines_page/search_engines_browser_proxy.ts 93--- chrome/browser/resources/settings/search_engines_page/search_engines_browser_proxy.ts.orig
94+++ b/chrome/browser/resources/settings/search_engines_page/search_engines_browser_proxy.ts 94+++ chrome/browser/resources/settings/search_engines_page/search_engines_browser_proxy.ts
95@@ -31,6 +31,7 @@ export type SearchEngine = { 95@@ -30,6 +30,7 @@ export type SearchEngine = {
96 modelIndex: number,
96 name: string, 97 name: string,
97 shouldConfirmDeletion: boolean,
98 url: string, 98 url: string,
99+ suggestionsUrl: string, 99+ suggestionsUrl: string,
100 urlLocked: boolean, 100 urlLocked: boolean,
101 }; 101 };
102 102
103@@ -73,7 +74,7 @@ export interface SearchEnginesBrowserPro 103@@ -53,7 +54,7 @@ export interface SearchEnginesBrowserPro
104 searchEngineEditCancelled(): void; 104 searchEngineEditCancelled(): void;
105 105
106 searchEngineEditCompleted( 106 searchEngineEditCompleted(
@@ -109,7 +109,7 @@
109 109
110 getSearchEnginesList(): Promise<SearchEnginesInfo>; 110 getSearchEnginesList(): Promise<SearchEnginesInfo>;
111 111
112@@ -114,11 +115,12 @@ export class SearchEnginesBrowserProxyIm 112@@ -84,11 +85,12 @@ export class SearchEnginesBrowserProxyIm
113 } 113 }
114 114
115 searchEngineEditCompleted( 115 searchEngineEditCompleted(
@@ -123,8 +123,8 @@
123 ]); 123 ]);
124 } 124 }
125 125
126--- a/chrome/browser/ui/search_engines/edit_search_engine_controller.cc 126--- chrome/browser/ui/search_engines/edit_search_engine_controller.cc.orig
127+++ b/chrome/browser/ui/search_engines/edit_search_engine_controller.cc 127+++ chrome/browser/ui/search_engines/edit_search_engine_controller.cc
128@@ -67,6 +67,15 @@ bool EditSearchEngineController::IsURLVa 128@@ -67,6 +67,15 @@ bool EditSearchEngineController::IsURLVa
129 .is_valid(); 129 .is_valid();
130 } 130 }
@@ -165,8 +165,8 @@
165 } 165 }
166 } 166 }
167 167
168--- a/chrome/browser/ui/search_engines/edit_search_engine_controller.h 168--- chrome/browser/ui/search_engines/edit_search_engine_controller.h.orig
169+++ b/chrome/browser/ui/search_engines/edit_search_engine_controller.h 169+++ chrome/browser/ui/search_engines/edit_search_engine_controller.h
170@@ -23,7 +23,8 @@ class EditSearchEngineControllerDelegate 170@@ -23,7 +23,8 @@ class EditSearchEngineControllerDelegate
171 virtual void OnEditedKeyword(TemplateURL* template_url, 171 virtual void OnEditedKeyword(TemplateURL* template_url,
172 const std::u16string& title, 172 const std::u16string& title,
@@ -196,8 +196,8 @@
196 196
197 // Deletes an unused TemplateURL, if its add was cancelled and it's not 197 // Deletes an unused TemplateURL, if its add was cancelled and it's not
198 // already owned by the TemplateURLService. 198 // already owned by the TemplateURLService.
199--- a/chrome/browser/ui/search_engines/keyword_editor_controller.cc 199--- chrome/browser/ui/search_engines/keyword_editor_controller.cc.orig
200+++ b/chrome/browser/ui/search_engines/keyword_editor_controller.cc 200+++ chrome/browser/ui/search_engines/keyword_editor_controller.cc
201@@ -21,23 +21,27 @@ KeywordEditorController::KeywordEditorCo 201@@ -21,23 +21,27 @@ KeywordEditorController::KeywordEditorCo
202 KeywordEditorController::~KeywordEditorController() { 202 KeywordEditorController::~KeywordEditorController() {
203 } 203 }
@@ -249,8 +249,8 @@
249 249
250 base::RecordAction(UserMetricsAction("KeywordEditor_ModifiedKeyword")); 250 base::RecordAction(UserMetricsAction("KeywordEditor_ModifiedKeyword"));
251 } 251 }
252--- a/chrome/browser/ui/search_engines/keyword_editor_controller.h 252--- chrome/browser/ui/search_engines/keyword_editor_controller.h.orig
253+++ b/chrome/browser/ui/search_engines/keyword_editor_controller.h 253+++ chrome/browser/ui/search_engines/keyword_editor_controller.h
254@@ -29,14 +29,16 @@ class KeywordEditorController { 254@@ -29,14 +29,16 @@ class KeywordEditorController {
255 // model. Returns the index of the added URL. 255 // model. Returns the index of the added URL.
256 int AddTemplateURL(const std::u16string& title, 256 int AddTemplateURL(const std::u16string& title,
@@ -270,9 +270,9 @@
270 270
271 // Return true if the given |url| can be edited. 271 // Return true if the given |url| can be edited.
272 bool CanEdit(const TemplateURL* url) const; 272 bool CanEdit(const TemplateURL* url) const;
273--- a/chrome/browser/ui/search_engines/template_url_table_model.cc 273--- chrome/browser/ui/search_engines/template_url_table_model.cc.orig
274+++ b/chrome/browser/ui/search_engines/template_url_table_model.cc 274+++ chrome/browser/ui/search_engines/template_url_table_model.cc
275@@ -108,21 +108,25 @@ void TemplateURLTableModel::Remove(int i 275@@ -109,21 +109,25 @@ void TemplateURLTableModel::Remove(int i
276 void TemplateURLTableModel::Add(int index, 276 void TemplateURLTableModel::Add(int index,
277 const std::u16string& short_name, 277 const std::u16string& short_name,
278 const std::u16string& keyword, 278 const std::u16string& keyword,
@@ -303,7 +303,7 @@
303 DCHECK(index >= 0 && index <= RowCount()); 303 DCHECK(index >= 0 && index <= RowCount());
304 DCHECK(!url.empty()); 304 DCHECK(!url.empty());
305 TemplateURL* template_url = GetTemplateURL(index); 305 TemplateURL* template_url = GetTemplateURL(index);
306@@ -131,7 +135,8 @@ void TemplateURLTableModel::ModifyTempla 306@@ -132,7 +136,8 @@ void TemplateURLTableModel::ModifyTempla
307 DCHECK(template_url_service_->GetDefaultSearchProvider() != template_url || 307 DCHECK(template_url_service_->GetDefaultSearchProvider() != template_url ||
308 template_url->SupportsReplacement( 308 template_url->SupportsReplacement(
309 template_url_service_->search_terms_data())); 309 template_url_service_->search_terms_data()));
@@ -313,9 +313,9 @@
313 } 313 }
314 314
315 TemplateURL* TemplateURLTableModel::GetTemplateURL(int index) { 315 TemplateURL* TemplateURLTableModel::GetTemplateURL(int index) {
316--- a/chrome/browser/ui/search_engines/template_url_table_model.h 316--- chrome/browser/ui/search_engines/template_url_table_model.h.orig
317+++ b/chrome/browser/ui/search_engines/template_url_table_model.h 317+++ chrome/browser/ui/search_engines/template_url_table_model.h
318@@ -53,13 +53,15 @@ class TemplateURLTableModel : public ui: 318@@ -54,13 +54,15 @@ class TemplateURLTableModel : public ui:
319 void Add(int index, 319 void Add(int index,
320 const std::u16string& short_name, 320 const std::u16string& short_name,
321 const std::u16string& keyword, 321 const std::u16string& keyword,
@@ -333,8 +333,8 @@
333 333
334 // Reloads the icon at the specified index. 334 // Reloads the icon at the specified index.
335 void ReloadIcon(int index); 335 void ReloadIcon(int index);
336--- a/chrome/browser/ui/webui/settings/search_engines_handler.cc 336--- chrome/browser/ui/webui/settings/search_engines_handler.cc.orig
337+++ b/chrome/browser/ui/webui/settings/search_engines_handler.cc 337+++ chrome/browser/ui/webui/settings/search_engines_handler.cc
338@@ -37,6 +37,7 @@ namespace { 338@@ -37,6 +37,7 @@ namespace {
339 const char kSearchEngineField[] = "searchEngine"; 339 const char kSearchEngineField[] = "searchEngine";
340 const char kKeywordField[] = "keyword"; 340 const char kKeywordField[] = "keyword";
@@ -343,16 +343,17 @@
343 343
344 // Dummy number used for indicating that a new search engine is added. 344 // Dummy number used for indicating that a new search engine is added.
345 const int kNewSearchEngineIndex = -1; 345 const int kNewSearchEngineIndex = -1;
346@@ -216,6 +217,8 @@ base::Value::Dict SearchEnginesHandler:: 346@@ -212,6 +213,9 @@ SearchEnginesHandler::CreateDictionaryFo
347 Profile* profile = Profile::FromWebUI(web_ui()); 347 Profile* profile = Profile::FromWebUI(web_ui());
348 dict.Set("url", 348 dict->SetString(
349 template_url->url_ref().DisplayURL(UIThreadSearchTermsData())); 349 "url", template_url->url_ref().DisplayURL(UIThreadSearchTermsData()));
350+ dict.Set("suggestionsUrl", template_url->suggestions_url_ref().DisplayURL( 350+ dict->SetString("suggestionsUrl",
351+ UIThreadSearchTermsData())); 351+ template_url->suggestions_url_ref().DisplayURL(
352 dict.Set("urlLocked", template_url->prepopulate_id() > 0); 352+ UIThreadSearchTermsData()));
353 dict->SetBoolean("urlLocked", template_url->prepopulate_id() > 0);
353 GURL icon_url = template_url->favicon_url(); 354 GURL icon_url = template_url->favicon_url();
354 if (icon_url.is_valid()) 355 if (icon_url.is_valid())
355@@ -317,12 +320,14 @@ void SearchEnginesHandler::HandleSearchE 356@@ -325,12 +329,14 @@ void SearchEnginesHandler::HandleSearchE
356 void SearchEnginesHandler::OnEditedKeyword(TemplateURL* template_url, 357 void SearchEnginesHandler::OnEditedKeyword(TemplateURL* template_url,
357 const std::u16string& title, 358 const std::u16string& title,
358 const std::u16string& keyword, 359 const std::u16string& keyword,
@@ -370,7 +371,7 @@
370 371
371 edit_controller_.reset(); 372 edit_controller_.reset();
372 } 373 }
373@@ -350,6 +355,8 @@ bool SearchEnginesHandler::CheckFieldVal 374@@ -361,6 +367,8 @@ bool SearchEnginesHandler::CheckFieldVal
374 is_valid = edit_controller_->IsKeywordValid(base::UTF8ToUTF16(field_value)); 375 is_valid = edit_controller_->IsKeywordValid(base::UTF8ToUTF16(field_value));
375 else if (field_name.compare(kQueryUrlField) == 0) 376 else if (field_name.compare(kQueryUrlField) == 0)
376 is_valid = edit_controller_->IsURLValid(field_value); 377 is_valid = edit_controller_->IsURLValid(field_value);
@@ -379,16 +380,15 @@
379 else 380 else
380 NOTREACHED(); 381 NOTREACHED();
381 382
382@@ -369,18 +376,21 @@ void SearchEnginesHandler::HandleSearchE 383@@ -382,17 +390,21 @@ void SearchEnginesHandler::HandleSearchE
383 if (!edit_controller_.get()) 384 std::string search_engine;
384 return; 385 std::string keyword;
385 386 std::string query_url;
386- CHECK_EQ(3U, args.size()); 387+ std::string suggestions_url;
387+ CHECK_EQ(4U, args.size()); 388 CHECK(args->GetString(0, &search_engine));
388 const std::string& search_engine = args[0].GetString(); 389 CHECK(args->GetString(1, &keyword));
389 const std::string& keyword = args[1].GetString(); 390 CHECK(args->GetString(2, &query_url));
390 const std::string& query_url = args[2].GetString(); 391+ CHECK(args->GetString(3, &suggestions_url));
391+ const std::string& suggestions_url = args[3].GetString();
392 392
393 // Recheck validity. It's possible to get here with invalid input if e.g. the 393 // Recheck validity. It's possible to get here with invalid input if e.g. the
394 // user calls the right JS functions directly from the web inspector. 394 // user calls the right JS functions directly from the web inspector.
@@ -404,9 +404,9 @@
404 } 404 }
405 } 405 }
406 406
407--- a/chrome/browser/ui/webui/settings/search_engines_handler.h 407--- chrome/browser/ui/webui/settings/search_engines_handler.h.orig
408+++ b/chrome/browser/ui/webui/settings/search_engines_handler.h 408+++ chrome/browser/ui/webui/settings/search_engines_handler.h
409@@ -45,7 +45,8 @@ class SearchEnginesHandler : public Sett 409@@ -50,7 +50,8 @@ class SearchEnginesHandler : public Sett
410 void OnEditedKeyword(TemplateURL* template_url, 410 void OnEditedKeyword(TemplateURL* template_url,
411 const std::u16string& title, 411 const std::u16string& title,
412 const std::u16string& keyword, 412 const std::u16string& keyword,
@@ -416,9 +416,9 @@
416 416
417 // SettingsPageUIHandler implementation. 417 // SettingsPageUIHandler implementation.
418 void RegisterMessages() override; 418 void RegisterMessages() override;
419@@ -77,8 +78,8 @@ class SearchEnginesHandler : public Sett 419@@ -82,8 +83,8 @@ class SearchEnginesHandler : public Sett
420 // to WebUI. Called from WebUI. 420 // to WebUI. Called from WebUI.
421 void HandleValidateSearchEngineInput(const base::Value::List& args); 421 void HandleValidateSearchEngineInput(const base::ListValue* args);
422 422
423- // Checks whether the given user input field (searchEngine, keyword, queryUrl) 423- // Checks whether the given user input field (searchEngine, keyword, queryUrl)
424- // is populated with a valid value. 424- // is populated with a valid value.
@@ -427,9 +427,9 @@
427 bool CheckFieldValidity(const std::string& field_name, 427 bool CheckFieldValidity(const std::string& field_name,
428 const std::string& field_value); 428 const std::string& field_value);
429 429
430--- a/components/search_engines/template_url_service.cc 430--- components/search_engines/template_url_service.cc.orig
431+++ b/components/search_engines/template_url_service.cc 431+++ components/search_engines/template_url_service.cc
432@@ -644,7 +644,8 @@ void TemplateURLService::IncrementUsageC 432@@ -641,7 +641,8 @@ void TemplateURLService::IncrementUsageC
433 void TemplateURLService::ResetTemplateURL(TemplateURL* url, 433 void TemplateURLService::ResetTemplateURL(TemplateURL* url,
434 const std::u16string& title, 434 const std::u16string& title,
435 const std::u16string& keyword, 435 const std::u16string& keyword,
@@ -439,7 +439,7 @@
439 DCHECK(!IsCreatedByExtension(url)); 439 DCHECK(!IsCreatedByExtension(url));
440 DCHECK(!keyword.empty()); 440 DCHECK(!keyword.empty());
441 DCHECK(!search_url.empty()); 441 DCHECK(!search_url.empty());
442@@ -659,6 +660,7 @@ void TemplateURLService::ResetTemplateUR 442@@ -656,6 +657,7 @@ void TemplateURLService::ResetTemplateUR
443 data.safe_for_autoreplace = false; 443 data.safe_for_autoreplace = false;
444 data.last_modified = clock_->Now(); 444 data.last_modified = clock_->Now();
445 data.is_active = TemplateURLData::ActiveStatus::kTrue; 445 data.is_active = TemplateURLData::ActiveStatus::kTrue;
@@ -447,9 +447,9 @@
447 447
448 Update(url, TemplateURL(data)); 448 Update(url, TemplateURL(data));
449 } 449 }
450--- a/components/search_engines/template_url_service.h 450--- components/search_engines/template_url_service.h.orig
451+++ b/components/search_engines/template_url_service.h 451+++ components/search_engines/template_url_service.h
452@@ -254,7 +254,8 @@ class TemplateURLService : public WebDat 452@@ -253,7 +253,8 @@ class TemplateURLService : public WebDat
453 void ResetTemplateURL(TemplateURL* url, 453 void ResetTemplateURL(TemplateURL* url,
454 const std::u16string& title, 454 const std::u16string& title,
455 const std::u16string& keyword, 455 const std::u16string& keyword,
diff --git a/www/chromium-uc/patches/extra/ungoogled-chromium/add-ungoogled-flag-headers.patch b/www/chromium-uc/patches/extra/ungoogled-chromium/add-ungoogled-flag-headers.patch
index 9234cd8..4a78da1 100644
--- a/www/chromium-uc/patches/extra/ungoogled-chromium/add-ungoogled-flag-headers.patch
+++ b/www/chromium-uc/patches/extra/ungoogled-chromium/add-ungoogled-flag-headers.patch
@@ -1,6 +1,6 @@
1--- a/chrome/browser/about_flags.cc 1--- chrome/browser/about_flags.cc.orig
2+++ b/chrome/browser/about_flags.cc 2+++ chrome/browser/about_flags.cc
3@@ -3109,7 +3109,13 @@ const FeatureEntry::FeatureVariation kDe 3@@ -2728,7 +2728,13 @@ const FeatureEntry::FeatureVariation kWi
4 // calculate and verify checksum. 4 // calculate and verify checksum.
5 // 5 //
6 // When adding a new choice, add it to the end of the list. 6 // When adding a new choice, add it to the end of the list.
@@ -15,7 +15,7 @@
15 // //tools/flags/generate_unexpire_flags.py. 15 // //tools/flags/generate_unexpire_flags.py.
16 #include "build/chromeos_buildflags.h" 16 #include "build/chromeos_buildflags.h"
17--- /dev/null 17--- /dev/null
18+++ b/chrome/browser/bromite_flag_choices.h 18+++ chrome/browser/bromite_flag_choices.h
19@@ -0,0 +1,7 @@ 19@@ -0,0 +1,7 @@
20+// Copyright (c) 2020 The ungoogled-chromium Authors. All rights reserved. 20+// Copyright (c) 2020 The ungoogled-chromium Authors. All rights reserved.
21+// Use of this source code is governed by a BSD-style license that can be 21+// Use of this source code is governed by a BSD-style license that can be
@@ -25,7 +25,7 @@
25+#define CHROME_BROWSER_BROMITE_FLAG_CHOICES_H_ 25+#define CHROME_BROWSER_BROMITE_FLAG_CHOICES_H_
26+#endif // CHROME_BROWSER_BROMITE_FLAG_CHOICES_H_ 26+#endif // CHROME_BROWSER_BROMITE_FLAG_CHOICES_H_
27--- /dev/null 27--- /dev/null
28+++ b/chrome/browser/bromite_flag_entries.h 28+++ chrome/browser/bromite_flag_entries.h
29@@ -0,0 +1,7 @@ 29@@ -0,0 +1,7 @@
30+// Copyright (c) 2020 The ungoogled-chromium Authors. All rights reserved. 30+// Copyright (c) 2020 The ungoogled-chromium Authors. All rights reserved.
31+// Use of this source code is governed by a BSD-style license that can be 31+// Use of this source code is governed by a BSD-style license that can be
@@ -35,7 +35,7 @@
35+#define CHROME_BROWSER_BROMITE_FLAG_ENTRIES_H_ 35+#define CHROME_BROWSER_BROMITE_FLAG_ENTRIES_H_
36+#endif // CHROME_BROWSER_BROMITE_FLAG_ENTRIES_H_ 36+#endif // CHROME_BROWSER_BROMITE_FLAG_ENTRIES_H_
37--- /dev/null 37--- /dev/null
38+++ b/chrome/browser/ungoogled_flag_choices.h 38+++ chrome/browser/ungoogled_flag_choices.h
39@@ -0,0 +1,7 @@ 39@@ -0,0 +1,7 @@
40+// Copyright (c) 2020 The ungoogled-chromium Authors. All rights reserved. 40+// Copyright (c) 2020 The ungoogled-chromium Authors. All rights reserved.
41+// Use of this source code is governed by a BSD-style license that can be 41+// Use of this source code is governed by a BSD-style license that can be
@@ -45,7 +45,7 @@
45+#define CHROME_BROWSER_UNGOOGLED_FLAG_CHOICES_H_ 45+#define CHROME_BROWSER_UNGOOGLED_FLAG_CHOICES_H_
46+#endif // CHROME_BROWSER_UNGOOGLED_FLAG_CHOICES_H_ 46+#endif // CHROME_BROWSER_UNGOOGLED_FLAG_CHOICES_H_
47--- /dev/null 47--- /dev/null
48+++ b/chrome/browser/ungoogled_flag_entries.h 48+++ chrome/browser/ungoogled_flag_entries.h
49@@ -0,0 +1,7 @@ 49@@ -0,0 +1,7 @@
50+// Copyright (c) 2020 The ungoogled-chromium Authors. All rights reserved. 50+// Copyright (c) 2020 The ungoogled-chromium Authors. All rights reserved.
51+// Use of this source code is governed by a BSD-style license that can be 51+// Use of this source code is governed by a BSD-style license that can be
@@ -55,7 +55,7 @@
55+#define CHROME_BROWSER_UNGOOGLED_FLAG_ENTRIES_H_ 55+#define CHROME_BROWSER_UNGOOGLED_FLAG_ENTRIES_H_
56+#endif // CHROME_BROWSER_UNGOOGLED_FLAG_ENTRIES_H_ 56+#endif // CHROME_BROWSER_UNGOOGLED_FLAG_ENTRIES_H_
57--- /dev/null 57--- /dev/null
58+++ b/chrome/browser/ungoogled_platform_flag_choices.h 58+++ chrome/browser/ungoogled_platform_flag_choices.h
59@@ -0,0 +1,7 @@ 59@@ -0,0 +1,7 @@
60+// Copyright (c) 2020 The ungoogled-chromium Authors. All rights reserved. 60+// Copyright (c) 2020 The ungoogled-chromium Authors. All rights reserved.
61+// Use of this source code is governed by a BSD-style license that can be 61+// Use of this source code is governed by a BSD-style license that can be
@@ -65,7 +65,7 @@
65+#define CHROME_BROWSER_UNGOOGLED_PLATFORM_FLAG_CHOICES_H_ 65+#define CHROME_BROWSER_UNGOOGLED_PLATFORM_FLAG_CHOICES_H_
66+#endif // CHROME_BROWSER_UNGOOGLED_PLATFORM_FLAG_CHOICES_H_ 66+#endif // CHROME_BROWSER_UNGOOGLED_PLATFORM_FLAG_CHOICES_H_
67--- /dev/null 67--- /dev/null
68+++ b/chrome/browser/ungoogled_platform_flag_entries.h 68+++ chrome/browser/ungoogled_platform_flag_entries.h
69@@ -0,0 +1,7 @@ 69@@ -0,0 +1,7 @@
70+// Copyright (c) 2020 The ungoogled-chromium Authors. All rights reserved. 70+// Copyright (c) 2020 The ungoogled-chromium Authors. All rights reserved.
71+// Use of this source code is governed by a BSD-style license that can be 71+// Use of this source code is governed by a BSD-style license that can be
diff --git a/www/chromium-uc/patches/extra/ungoogled-chromium/disable-dial-repeating-discovery.patch b/www/chromium-uc/patches/extra/ungoogled-chromium/disable-dial-repeating-discovery.patch
index db0c00d..fab5b74 100644
--- a/www/chromium-uc/patches/extra/ungoogled-chromium/disable-dial-repeating-discovery.patch
+++ b/www/chromium-uc/patches/extra/ungoogled-chromium/disable-dial-repeating-discovery.patch
@@ -1,25 +1,25 @@
1# Disables the dial registry's repeating discovery timer 1# Disables the dial registry's repeating discovery timer
2# This caused unnecessary SSDP network spam 2# This caused unnecessary SSDP network spam
3 3
4--- a/chrome/browser/media/router/discovery/dial/dial_registry.cc 4--- chrome/browser/media/router/discovery/dial/dial_registry.cc.orig
5+++ b/chrome/browser/media/router/discovery/dial/dial_registry.cc 5+++ chrome/browser/media/router/discovery/dial/dial_registry.cc
6@@ -154,10 +154,6 @@ void DialRegistry::StartPeriodicDiscover 6@@ -190,10 +190,6 @@ void DialRegistry::StartPeriodicDiscover
7 return;
8 7
9 dial_ = CreateDialService(); 8 dial_ = CreateDialService();
9 dial_->AddObserver(this);
10- DoDiscovery(); 10- DoDiscovery();
11- repeating_timer_ = std::make_unique<base::RepeatingTimer>(); 11- repeating_timer_ = std::make_unique<base::RepeatingTimer>();
12- repeating_timer_->Start(FROM_HERE, refresh_interval_delta_, this, 12- repeating_timer_->Start(FROM_HERE, refresh_interval_delta_, this,
13- &DialRegistry::DoDiscovery); 13- &DialRegistry::DoDiscovery);
14 // Always send the current device list with the next discovery request. This 14 }
15 // may not be necessary, but is done to match previous behavior. 15
16 ++registry_generation_; 16 void DialRegistry::DoDiscovery() {
17@@ -174,8 +170,6 @@ void DialRegistry::StopPeriodicDiscovery 17@@ -207,8 +203,6 @@ void DialRegistry::StopPeriodicDiscovery
18 if (!dial_) 18 if (!dial_)
19 return; 19 return;
20 20
21- repeating_timer_->Stop(); 21- repeating_timer_->Stop();
22- repeating_timer_.reset(); 22- repeating_timer_.reset();
23 dial_->RemoveObserver(this);
23 ClearDialService(); 24 ClearDialService();
24 } 25 }
25
diff --git a/www/chromium-uc/patches/extra/ungoogled-chromium/disable-download-quarantine.patch b/www/chromium-uc/patches/extra/ungoogled-chromium/disable-download-quarantine.patch
index 88caa9d..2191bbe 100644
--- a/www/chromium-uc/patches/extra/ungoogled-chromium/disable-download-quarantine.patch
+++ b/www/chromium-uc/patches/extra/ungoogled-chromium/disable-download-quarantine.patch
@@ -1,18 +1,18 @@
1# Disables file download quarantining 1# Disables file download quarantining
2 2
3--- a/components/download/internal/common/base_file.cc 3--- components/download/internal/common/base_file.cc.orig
4+++ b/components/download/internal/common/base_file.cc 4+++ components/download/internal/common/base_file.cc
5@@ -22,7 +22,6 @@ 5@@ -23,7 +23,6 @@
6 #include "components/download/public/common/download_interrupt_reasons_utils.h" 6 #include "components/download/public/common/download_interrupt_reasons_utils.h"
7 #include "components/download/public/common/download_item.h" 7 #include "components/download/public/common/download_item.h"
8 #include "components/download/public/common/download_stats.h" 8 #include "components/download/public/common/download_stats.h"
9-#include "components/services/quarantine/quarantine.h" 9-#include "components/services/quarantine/quarantine.h"
10 #include "crypto/secure_hash.h" 10 #include "crypto/secure_hash.h"
11 11
12 #if BUILDFLAG(IS_ANDROID) 12 #if defined(OS_WIN)
13@@ -525,102 +524,6 @@ DownloadInterruptReason BaseFile::Publis 13@@ -535,105 +534,6 @@ DownloadInterruptReason BaseFile::Publis
14 } 14 }
15 #endif // BUILDFLAG(IS_ANDROID) 15 #endif // defined(OS_ANDROID)
16 16
17-namespace { 17-namespace {
18- 18-
@@ -102,24 +102,27 @@
102- 102-
103-void BaseFile::OnQuarantineServiceError(const GURL& source_url, 103-void BaseFile::OnQuarantineServiceError(const GURL& source_url,
104- const GURL& referrer_url) { 104- const GURL& referrer_url) {
105-#if BUILDFLAG(IS_WIN) 105-#if defined(OS_WIN)
106- OnFileQuarantined(/*connection_error=*/true, 106- if (base::FeatureList::IsEnabled(quarantine::kOutOfProcessQuarantine)) {
107- quarantine::SetInternetZoneIdentifierDirectly( 107- OnFileQuarantined(/*connection_error=*/true,
108- full_path_, source_url, referrer_url)); 108- quarantine::SetInternetZoneIdentifierDirectly(
109-#else // !BUILDFLAG(IS_WIN) 109- full_path_, source_url, referrer_url));
110- return;
111- }
112-#endif // defined(OS_WIN)
113-
110- CHECK(false) << "In-process quarantine service should not have failed."; 114- CHECK(false) << "In-process quarantine service should not have failed.";
111-#endif // !BUILDFLAG(IS_WIN)
112-} 115-}
113 116
114 void BaseFile::AnnotateWithSourceInformation( 117 void BaseFile::AnnotateWithSourceInformation(
115 const std::string& client_guid, 118 const std::string& client_guid,
116@@ -628,32 +531,8 @@ void BaseFile::AnnotateWithSourceInforma 119@@ -641,32 +541,8 @@ void BaseFile::AnnotateWithSourceInforma
117 const GURL& referrer_url, 120 const GURL& referrer_url,
118 mojo::PendingRemote<quarantine::mojom::Quarantine> remote_quarantine, 121 mojo::PendingRemote<quarantine::mojom::Quarantine> remote_quarantine,
119 OnAnnotationDoneCallback on_annotation_done_callback) { 122 OnAnnotationDoneCallback on_annotation_done_callback) {
120- GURL authority_url = GetEffectiveAuthorityURL(source_url, referrer_url); 123- GURL authority_url = GetEffectiveAuthorityURL(source_url, referrer_url);
121- if (!remote_quarantine) { 124- if (!remote_quarantine) {
122-#if BUILDFLAG(IS_WIN) 125-#if defined(OS_WIN)
123- quarantine::mojom::QuarantineFileResult result = 126- quarantine::mojom::QuarantineFileResult result =
124- quarantine::SetInternetZoneIdentifierDirectly(full_path_, authority_url, 127- quarantine::SetInternetZoneIdentifierDirectly(full_path_, authority_url,
125- referrer_url); 128- referrer_url);
@@ -148,9 +151,9 @@
148 } 151 }
149 152
150 } // namespace download 153 } // namespace download
151--- a/content/browser/BUILD.gn 154--- content/browser/BUILD.gn.orig
152+++ b/content/browser/BUILD.gn 155+++ content/browser/BUILD.gn
153@@ -85,7 +85,6 @@ source_set("browser") { 156@@ -82,7 +82,6 @@ source_set("browser") {
154 "//components/permissions:permissions_common", 157 "//components/permissions:permissions_common",
155 "//components/power_scheduler", 158 "//components/power_scheduler",
156 "//components/services/filesystem:lib", 159 "//components/services/filesystem:lib",
@@ -158,17 +161,17 @@
158 "//components/services/storage", 161 "//components/services/storage",
159 "//components/services/storage:filesystem_proxy_factory", 162 "//components/services/storage:filesystem_proxy_factory",
160 "//components/services/storage/dom_storage:local_storage_proto", 163 "//components/services/storage/dom_storage:local_storage_proto",
161--- a/content/browser/file_system_access/safe_move_helper.cc 164--- content/browser/file_system_access/safe_move_helper.cc.orig
162+++ b/content/browser/file_system_access/safe_move_helper.cc 165+++ content/browser/file_system_access/safe_move_helper.cc
163@@ -13,7 +13,6 @@ 166@@ -12,7 +12,6 @@
167 #include "base/task/thread_pool.h"
164 #include "base/threading/sequenced_task_runner_handle.h" 168 #include "base/threading/sequenced_task_runner_handle.h"
165 #include "build/build_config.h" 169 #include "build/build_config.h"
166 #include "build/chromeos_buildflags.h"
167-#include "components/services/quarantine/quarantine.h" 170-#include "components/services/quarantine/quarantine.h"
168 #include "content/browser/file_system_access/file_system_access_error.h" 171 #include "content/browser/file_system_access/file_system_access_error.h"
169 #include "content/public/browser/content_browser_client.h" 172 #include "content/public/browser/content_browser_client.h"
170 #include "content/public/browser/global_routing_id.h" 173 #include "content/public/common/content_client.h"
171@@ -197,20 +196,8 @@ void SafeMoveHelper::DidAfterWriteCheck( 174@@ -193,20 +192,8 @@ void SafeMoveHelper::DidAfterWriteCheck(
172 // not exist anymore. In case of error, the source file URL will point to a 175 // not exist anymore. In case of error, the source file URL will point to a
173 // valid filesystem location. 176 // valid filesystem location.
174 base::OnceCallback<void(base::File::Error)> result_callback; 177 base::OnceCallback<void(base::File::Error)> result_callback;
@@ -187,9 +190,9 @@
187 weak_factory_.GetWeakPtr()); 190 weak_factory_.GetWeakPtr());
188- } 191- }
189 manager_->DoFileSystemOperation( 192 manager_->DoFileSystemOperation(
190 FROM_HERE, &storage::FileSystemOperationRunner::Move, 193 FROM_HERE, &storage::FileSystemOperationRunner::MoveFileLocal,
191 std::move(result_callback), source_url(), dest_url(), options_, 194 std::move(result_callback), source_url(), dest_url(), option_);
192@@ -226,7 +213,6 @@ void SafeMoveHelper::DidFileSkipQuaranti 195@@ -220,7 +207,6 @@ void SafeMoveHelper::DidFileSkipQuaranti
193 void SafeMoveHelper::DidFileDoQuarantine( 196 void SafeMoveHelper::DidFileDoQuarantine(
194 const storage::FileSystemURL& target_url, 197 const storage::FileSystemURL& target_url,
195 const GURL& referrer_url, 198 const GURL& referrer_url,
@@ -197,7 +200,7 @@
197 base::File::Error result) { 200 base::File::Error result) {
198 DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); 201 DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
199 202
200@@ -257,37 +243,9 @@ void SafeMoveHelper::DidFileDoQuarantine 203@@ -251,37 +237,9 @@ void SafeMoveHelper::DidFileDoQuarantine
201 referrer_url.is_valid() && referrer_url.SchemeIsHTTPOrHTTPS() 204 referrer_url.is_valid() && referrer_url.SchemeIsHTTPOrHTTPS()
202 ? referrer_url 205 ? referrer_url
203 : GURL(); 206 : GURL();
@@ -215,7 +218,7 @@
215- std::move(quarantine_remote)), 218- std::move(quarantine_remote)),
216- quarantine::mojom::QuarantineFileResult::ANNOTATION_FAILED)); 219- quarantine::mojom::QuarantineFileResult::ANNOTATION_FAILED));
217- } else { 220- } else {
218-#if BUILDFLAG(IS_WIN) 221-#if defined(OS_WIN)
219- base::ThreadPool::PostTaskAndReplyWithResult( 222- base::ThreadPool::PostTaskAndReplyWithResult(
220- FROM_HERE, {base::MayBlock()}, 223- FROM_HERE, {base::MayBlock()},
221- base::BindOnce(&quarantine::SetInternetZoneIdentifierDirectly, 224- base::BindOnce(&quarantine::SetInternetZoneIdentifierDirectly,
@@ -235,8 +238,8 @@
235 quarantine::mojom::QuarantineFileResult result) { 238 quarantine::mojom::QuarantineFileResult result) {
236 DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); 239 DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
237 240
238--- a/content/browser/file_system_access/safe_move_helper.h 241--- content/browser/file_system_access/safe_move_helper.h.orig
239+++ b/content/browser/file_system_access/safe_move_helper.h 242+++ content/browser/file_system_access/safe_move_helper.h
240@@ -58,10 +58,8 @@ class CONTENT_EXPORT SafeMoveHelper { 243@@ -58,10 +58,8 @@ class CONTENT_EXPORT SafeMoveHelper {
241 void DidFileDoQuarantine( 244 void DidFileDoQuarantine(
242 const storage::FileSystemURL& target_url, 245 const storage::FileSystemURL& target_url,
@@ -248,30 +251,30 @@
248 quarantine::mojom::QuarantineFileResult result); 251 quarantine::mojom::QuarantineFileResult result);
249 252
250 void ComputeHashForSourceFile(HashCallback callback); 253 void ComputeHashForSourceFile(HashCallback callback);
251--- a/content/browser/renderer_host/pepper/pepper_file_io_host.cc 254--- content/browser/renderer_host/pepper/pepper_file_io_host.cc.orig
252+++ b/content/browser/renderer_host/pepper/pepper_file_io_host.cc 255+++ content/browser/renderer_host/pepper/pepper_file_io_host.cc
253@@ -455,7 +455,7 @@ void PepperFileIOHost::OnLocalFileOpened 256@@ -456,7 +456,7 @@ void PepperFileIOHost::OnLocalFileOpened
254 ppapi::host::ReplyMessageContext reply_context, 257 ppapi::host::ReplyMessageContext reply_context,
255 const base::FilePath& path, 258 const base::FilePath& path,
256 base::File::Error error_code) { 259 base::File::Error error_code) {
257-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) 260-#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
258+#if 0 261+#if 0
259 // Quarantining a file before its contents are available is only supported on 262 // Quarantining a file before its contents are available is only supported on
260 // Windows and Linux. 263 // Windows and Linux.
261 if (!FileOpenForWrite(open_flags_) || error_code != base::File::FILE_OK) { 264 if (!FileOpenForWrite(open_flags_) || error_code != base::File::FILE_OK) {
262@@ -489,7 +489,7 @@ void PepperFileIOHost::OnLocalFileOpened 265@@ -490,7 +490,7 @@ void PepperFileIOHost::OnLocalFileOpened
263 #endif 266 #endif
264 } 267 }
265 268
266-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) 269-#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
267+#if 0 270+#if 0
268 void PepperFileIOHost::OnLocalFileQuarantined( 271 void PepperFileIOHost::OnLocalFileQuarantined(
269 ppapi::host::ReplyMessageContext reply_context, 272 ppapi::host::ReplyMessageContext reply_context,
270 const base::FilePath& path, 273 const base::FilePath& path,
271--- a/content/browser/renderer_host/pepper/pepper_file_io_host.h 274--- content/browser/renderer_host/pepper/pepper_file_io_host.h.orig
272+++ b/content/browser/renderer_host/pepper/pepper_file_io_host.h 275+++ content/browser/renderer_host/pepper/pepper_file_io_host.h
273@@ -13,7 +13,6 @@ 276@@ -13,7 +13,6 @@
274 #include "base/memory/raw_ptr.h" 277 #include "base/macros.h"
275 #include "base/memory/ref_counted.h" 278 #include "base/memory/ref_counted.h"
276 #include "base/memory/weak_ptr.h" 279 #include "base/memory/weak_ptr.h"
277-#include "components/services/quarantine/public/mojom/quarantine.mojom.h" 280-#include "components/services/quarantine/public/mojom/quarantine.mojom.h"
diff --git a/www/chromium-uc/patches/extra/ungoogled-chromium/disable-formatting-in-omnibox.patch b/www/chromium-uc/patches/extra/ungoogled-chromium/disable-formatting-in-omnibox.patch
index 35e5fd5..f9f6449 100644
--- a/www/chromium-uc/patches/extra/ungoogled-chromium/disable-formatting-in-omnibox.patch
+++ b/www/chromium-uc/patches/extra/ungoogled-chromium/disable-formatting-in-omnibox.patch
@@ -1,8 +1,8 @@
1# Disables omission of URL elements in Omnibox 1# Disables omission of URL elements in Omnibox
2 2
3--- a/components/url_formatter/url_formatter.cc 3--- components/url_formatter/url_formatter.cc.orig
4+++ b/components/url_formatter/url_formatter.cc 4+++ components/url_formatter/url_formatter.cc
5@@ -492,14 +492,14 @@ bool HasTwoViewSourceSchemes(base::Strin 5@@ -463,14 +463,14 @@ ComponentResult IDNToUnicodeOneComponent
6 } // namespace 6 } // namespace
7 7
8 const FormatUrlType kFormatUrlOmitNothing = 0; 8 const FormatUrlType kFormatUrlOmitNothing = 0;
diff --git a/www/chromium-uc/patches/extra/ungoogled-chromium/disable-intranet-redirect-detector.patch b/www/chromium-uc/patches/extra/ungoogled-chromium/disable-intranet-redirect-detector.patch
index bc2945b..f264b5d 100644
--- a/www/chromium-uc/patches/extra/ungoogled-chromium/disable-intranet-redirect-detector.patch
+++ b/www/chromium-uc/patches/extra/ungoogled-chromium/disable-intranet-redirect-detector.patch
@@ -1,8 +1,8 @@
1# Disables the intranet redirect detector. It generates extra DNS requests and the functionality using this is disabled 1# Disables the intranet redirect detector. It generates extra DNS requests and the functionality using this is disabled
2# See this page for more information: https://mikewest.org/2012/02/chrome-connects-to-three-random-domains-at-startup 2# See this page for more information: https://mikewest.org/2012/02/chrome-connects-to-three-random-domains-at-startup
3 3
4--- a/chrome/browser/intranet_redirect_detector.cc 4--- chrome/browser/intranet_redirect_detector.cc.orig
5+++ b/chrome/browser/intranet_redirect_detector.cc 5+++ chrome/browser/intranet_redirect_detector.cc
6@@ -119,9 +119,7 @@ void IntranetRedirectDetector::FinishSle 6@@ -119,9 +119,7 @@ void IntranetRedirectDetector::FinishSle
7 simple_loaders_.clear(); 7 simple_loaders_.clear();
8 resulting_origins_.clear(); 8 resulting_origins_.clear();
diff --git a/www/chromium-uc/patches/extra/ungoogled-chromium/disable-remote-optimization-guide.patch b/www/chromium-uc/patches/extra/ungoogled-chromium/disable-remote-optimization-guide.patch
deleted file mode 100644
index 39a3cd6..0000000
--- a/www/chromium-uc/patches/extra/ungoogled-chromium/disable-remote-optimization-guide.patch
+++ /dev/null
@@ -1,11 +0,0 @@
1--- a/components/optimization_guide/core/optimization_guide_features.cc
2+++ b/components/optimization_guide/core/optimization_guide_features.cc
3@@ -88,7 +88,7 @@ const base::Feature kOptimizationHintsFi
4
5 // Enables fetching from a remote Optimization Guide Service.
6 const base::Feature kRemoteOptimizationGuideFetching{
7- "OptimizationHintsFetching", base::FEATURE_ENABLED_BY_DEFAULT};
8+ "OptimizationHintsFetching", base::FEATURE_DISABLED_BY_DEFAULT};
9
10 const base::Feature kRemoteOptimizationGuideFetchingAnonymousDataConsent {
11 "OptimizationHintsFetchingAnonymousDataConsent",
diff --git a/www/chromium-uc/patches/extra/ungoogled-chromium/disable-webgl-renderer-info.patch b/www/chromium-uc/patches/extra/ungoogled-chromium/disable-webgl-renderer-info.patch
index c555233..2896a43 100644
--- a/www/chromium-uc/patches/extra/ungoogled-chromium/disable-webgl-renderer-info.patch
+++ b/www/chromium-uc/patches/extra/ungoogled-chromium/disable-webgl-renderer-info.patch
@@ -1,9 +1,9 @@
1# Return blank values for WebGLDebugRendererInfo to remove a potential data 1# Return blank values for WebGLDebugRendererInfo to remove a potential data
2# leak while preventing potential website breakage 2# leak while preventing potential website breakage
3 3
4--- a/third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.cc 4--- third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.cc.orig
5+++ b/third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.cc 5+++ third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.cc
6@@ -3693,8 +3693,7 @@ ScriptValue WebGLRenderingContextBase::g 6@@ -3595,8 +3595,7 @@ ScriptValue WebGLRenderingContextBase::g
7 pname, IdentifiabilityBenignStringToken( 7 pname, IdentifiabilityBenignStringToken(
8 String(ContextGL()->GetString(GL_RENDERER)))); 8 String(ContextGL()->GetString(GL_RENDERER))));
9 } 9 }
@@ -13,7 +13,7 @@
13 } 13 }
14 SynthesizeGLError( 14 SynthesizeGLError(
15 GL_INVALID_ENUM, "getParameter", 15 GL_INVALID_ENUM, "getParameter",
16@@ -3708,8 +3707,7 @@ ScriptValue WebGLRenderingContextBase::g 16@@ -3610,8 +3609,7 @@ ScriptValue WebGLRenderingContextBase::g
17 pname, IdentifiabilityBenignStringToken( 17 pname, IdentifiabilityBenignStringToken(
18 String(ContextGL()->GetString(GL_VENDOR)))); 18 String(ContextGL()->GetString(GL_VENDOR))));
19 } 19 }
diff --git a/www/chromium-uc/patches/extra/ungoogled-chromium/enable-default-prefetch-privacy-changes.patch b/www/chromium-uc/patches/extra/ungoogled-chromium/enable-default-prefetch-privacy-changes.patch
index 6a6418e..4ea4498 100644
--- a/www/chromium-uc/patches/extra/ungoogled-chromium/enable-default-prefetch-privacy-changes.patch
+++ b/www/chromium-uc/patches/extra/ungoogled-chromium/enable-default-prefetch-privacy-changes.patch
@@ -1,8 +1,8 @@
1# Enable chrome://flags/#prefetch-privacy-changes by default 1# Enable chrome://flags/#prefetch-privacy-changes by default
2 2
3--- a/third_party/blink/common/features.cc 3--- third_party/blink/common/features.cc.orig
4+++ b/third_party/blink/common/features.cc 4+++ third_party/blink/common/features.cc
5@@ -485,7 +485,7 @@ const base::Feature kComputePressure{"Co 5@@ -416,7 +416,7 @@ const base::Feature kComputePressure{"Co
6 // Prefetch request properties are updated to be privacy-preserving. See 6 // Prefetch request properties are updated to be privacy-preserving. See
7 // crbug.com/988956. 7 // crbug.com/988956.
8 const base::Feature kPrefetchPrivacyChanges{"PrefetchPrivacyChanges", 8 const base::Feature kPrefetchPrivacyChanges{"PrefetchPrivacyChanges",
diff --git a/www/chromium-uc/patches/extra/ungoogled-chromium/enable-menu-on-reload-button.patch b/www/chromium-uc/patches/extra/ungoogled-chromium/enable-menu-on-reload-button.patch
index 915b3be..5f87fc2 100644
--- a/www/chromium-uc/patches/extra/ungoogled-chromium/enable-menu-on-reload-button.patch
+++ b/www/chromium-uc/patches/extra/ungoogled-chromium/enable-menu-on-reload-button.patch
@@ -1,8 +1,8 @@
1# Add ability to always open dev context menu on reload button. 1# Add ability to always open dev context menu on reload button.
2 2
3--- a/chrome/browser/ui/views/toolbar/reload_button.cc 3--- chrome/browser/ui/views/toolbar/reload_button.cc.orig
4+++ b/chrome/browser/ui/views/toolbar/reload_button.cc 4+++ chrome/browser/ui/views/toolbar/reload_button.cc
5@@ -83,7 +83,7 @@ bool ReloadButton::GetMenuEnabled() cons 5@@ -84,7 +84,7 @@ bool ReloadButton::GetMenuEnabled() cons
6 } 6 }
7 7
8 void ReloadButton::SetMenuEnabled(bool enable) { 8 void ReloadButton::SetMenuEnabled(bool enable) {
diff --git a/www/chromium-uc/patches/extra/ungoogled-chromium/enable-page-saving-on-more-pages.patch b/www/chromium-uc/patches/extra/ungoogled-chromium/enable-page-saving-on-more-pages.patch
index 718f9e0..a983beb 100644
--- a/www/chromium-uc/patches/extra/ungoogled-chromium/enable-page-saving-on-more-pages.patch
+++ b/www/chromium-uc/patches/extra/ungoogled-chromium/enable-page-saving-on-more-pages.patch
@@ -1,8 +1,8 @@
1# Add more URL schemes allowed for saving 1# Add more URL schemes allowed for saving
2 2
3--- a/chrome/browser/ui/browser_commands.cc 3--- chrome/browser/ui/browser_commands.cc.orig
4+++ b/chrome/browser/ui/browser_commands.cc 4+++ chrome/browser/ui/browser_commands.cc
5@@ -448,11 +448,6 @@ int GetContentRestrictions(const Browser 5@@ -440,11 +440,6 @@ int GetContentRestrictions(const Browser
6 CoreTabHelper* core_tab_helper = 6 CoreTabHelper* core_tab_helper =
7 CoreTabHelper::FromWebContents(current_tab); 7 CoreTabHelper::FromWebContents(current_tab);
8 content_restrictions = core_tab_helper->content_restrictions(); 8 content_restrictions = core_tab_helper->content_restrictions();
@@ -14,8 +14,8 @@
14 } 14 }
15 return content_restrictions; 15 return content_restrictions;
16 } 16 }
17@@ -1355,8 +1350,7 @@ bool CanSavePage(const Browser* browser) 17@@ -1342,8 +1337,7 @@ bool CanSavePage(const Browser* browser)
18 DownloadPrefs::DownloadRestriction::ALL_FILES) { 18 prefs::kAllowFileSelectionDialogs)) {
19 return false; 19 return false;
20 } 20 }
21- return !browser->is_type_devtools() && 21- return !browser->is_type_devtools() &&
@@ -24,8 +24,8 @@
24 } 24 }
25 25
26 void Print(Browser* browser) { 26 void Print(Browser* browser) {
27--- a/components/offline_pages/core/offline_page_model.cc 27--- components/offline_pages/core/offline_page_model.cc.orig
28+++ b/components/offline_pages/core/offline_page_model.cc 28+++ components/offline_pages/core/offline_page_model.cc
29@@ -22,7 +22,7 @@ OfflinePageModel::SavePageParams::~SaveP 29@@ -22,7 +22,7 @@ OfflinePageModel::SavePageParams::~SaveP
30 30
31 // static 31 // static
@@ -35,9 +35,9 @@
35 } 35 }
36 36
37 OfflinePageModel::OfflinePageModel() = default; 37 OfflinePageModel::OfflinePageModel() = default;
38--- a/content/common/url_schemes.cc 38--- content/common/url_schemes.cc.orig
39+++ b/content/common/url_schemes.cc 39+++ content/common/url_schemes.cc
40@@ -24,13 +24,22 @@ namespace { 40@@ -23,6 +23,9 @@ namespace {
41 bool g_registered_url_schemes = false; 41 bool g_registered_url_schemes = false;
42 42
43 const char* const kDefaultSavableSchemes[] = { 43 const char* const kDefaultSavableSchemes[] = {
@@ -47,7 +47,8 @@
47 url::kHttpScheme, 47 url::kHttpScheme,
48 url::kHttpsScheme, 48 url::kHttpsScheme,
49 url::kFileScheme, 49 url::kFileScheme,
50 url::kFileSystemScheme, 50@@ -30,7 +33,13 @@ const char* const kDefaultSavableSchemes
51 url::kFtpScheme,
51 kChromeDevToolsScheme, 52 kChromeDevToolsScheme,
52 kChromeUIScheme, 53 kChromeUIScheme,
53- url::kDataScheme 54- url::kDataScheme
@@ -61,9 +62,9 @@
61 }; 62 };
62 63
63 // These lists are lazily initialized below and are leaked on shutdown to 64 // These lists are lazily initialized below and are leaked on shutdown to
64--- a/content/public/common/url_utils.cc 65--- content/public/common/url_utils.cc.orig
65+++ b/content/public/common/url_utils.cc 66+++ content/public/common/url_utils.cc
66@@ -32,11 +32,7 @@ bool HasWebUIOrigin(const url::Origin& o 67@@ -26,11 +26,7 @@ bool HasWebUIScheme(const GURL& url) {
67 } 68 }
68 69
69 bool IsSavableURL(const GURL& url) { 70 bool IsSavableURL(const GURL& url) {
diff --git a/www/chromium-uc/patches/extra/ungoogled-chromium/enable-paste-and-go-new-tab-button.patch b/www/chromium-uc/patches/extra/ungoogled-chromium/enable-paste-and-go-new-tab-button.patch
index 0c31074..6205679 100644
--- a/www/chromium-uc/patches/extra/ungoogled-chromium/enable-paste-and-go-new-tab-button.patch
+++ b/www/chromium-uc/patches/extra/ungoogled-chromium/enable-paste-and-go-new-tab-button.patch
@@ -1,19 +1,19 @@
1--- a/chrome/browser/ui/views/tabs/new_tab_button.cc 1--- chrome/browser/ui/views/tabs/new_tab_button.cc.orig
2+++ b/chrome/browser/ui/views/tabs/new_tab_button.cc 2+++ chrome/browser/ui/views/tabs/new_tab_button.cc
3@@ -59,10 +59,8 @@ NewTabButton::NewTabButton(TabStrip* tab 3@@ -58,10 +58,8 @@ NewTabButton::NewTabButton(TabStrip* tab
4 SetAnimateOnStateChange(true); 4 SetAnimateOnStateChange(true);
5 // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch 5 // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
6 // of lacros-chrome is complete. 6 // of lacros-chrome is complete.
7-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) 7-#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
8 SetTriggerableEventFlags(GetTriggerableEventFlags() | 8 SetTriggerableEventFlags(GetTriggerableEventFlags() |
9 ui::EF_MIDDLE_MOUSE_BUTTON); 9 ui::EF_MIDDLE_MOUSE_BUTTON);
10-#endif 10-#endif
11 11
12 ink_drop_container_ = 12 ink_drop_container_ =
13 AddChildView(std::make_unique<views::InkDropContainerView>()); 13 AddChildView(std::make_unique<views::InkDropContainerView>());
14--- a/chrome/browser/ui/views/tabs/tab_strip.cc 14--- chrome/browser/ui/views/tabs/tab_strip.cc.orig
15+++ b/chrome/browser/ui/views/tabs/tab_strip.cc 15+++ chrome/browser/ui/views/tabs/tab_strip.cc
16@@ -1733,8 +1733,6 @@ void TabStrip::NewTabButtonPressed(const 16@@ -2680,8 +2680,6 @@ void TabStrip::NewTabButtonPressed(const
17 17
18 const ui::MouseEvent& mouse = static_cast<const ui::MouseEvent&>(event); 18 const ui::MouseEvent& mouse = static_cast<const ui::MouseEvent&>(event);
19 if (mouse.IsOnlyMiddleMouseButton()) { 19 if (mouse.IsOnlyMiddleMouseButton()) {
@@ -22,7 +22,7 @@
22 ui::Clipboard* clipboard = ui::Clipboard::GetForCurrentThread(); 22 ui::Clipboard* clipboard = ui::Clipboard::GetForCurrentThread();
23 CHECK(clipboard); 23 CHECK(clipboard);
24 std::u16string clipboard_text; 24 std::u16string clipboard_text;
25@@ -1742,7 +1740,6 @@ void TabStrip::NewTabButtonPressed(const 25@@ -2689,7 +2687,6 @@ void TabStrip::NewTabButtonPressed(const
26 /* data_dst = */ nullptr, &clipboard_text); 26 /* data_dst = */ nullptr, &clipboard_text);
27 if (!clipboard_text.empty()) 27 if (!clipboard_text.empty())
28 controller_->CreateNewTabWithLocation(clipboard_text); 28 controller_->CreateNewTabWithLocation(clipboard_text);
diff --git a/www/chromium-uc/patches/extra/ungoogled-chromium/fix-building-without-mdns-and-service-discovery.patch b/www/chromium-uc/patches/extra/ungoogled-chromium/fix-building-without-mdns-and-service-discovery.patch
index 2b0ee0b..6fb35ec 100644
--- a/www/chromium-uc/patches/extra/ungoogled-chromium/fix-building-without-mdns-and-service-discovery.patch
+++ b/www/chromium-uc/patches/extra/ungoogled-chromium/fix-building-without-mdns-and-service-discovery.patch
@@ -1,7 +1,7 @@
1# Fix building with enable_service_discovery=false and enable_mds=false 1# Fix building with enable_service_discovery=false and enable_mds=false
2 2
3--- a/chrome/browser/media/router/discovery/mdns/dns_sd_device_lister.cc 3--- chrome/browser/media/router/discovery/mdns/dns_sd_device_lister.cc.orig
4+++ b/chrome/browser/media/router/discovery/mdns/dns_sd_device_lister.cc 4+++ chrome/browser/media/router/discovery/mdns/dns_sd_device_lister.cc
5@@ -40,37 +40,22 @@ DnsSdDeviceLister::DnsSdDeviceLister( 5@@ -40,37 +40,22 @@ DnsSdDeviceLister::DnsSdDeviceLister(
6 DnsSdDeviceLister::~DnsSdDeviceLister() {} 6 DnsSdDeviceLister::~DnsSdDeviceLister() {}
7 7
diff --git a/www/chromium-uc/patches/extra/ungoogled-chromium/fix-distilled-icons.patch b/www/chromium-uc/patches/extra/ungoogled-chromium/fix-distilled-icons.patch
index 3cd56cb..80a9618 100644
--- a/www/chromium-uc/patches/extra/ungoogled-chromium/fix-distilled-icons.patch
+++ b/www/chromium-uc/patches/extra/ungoogled-chromium/fix-distilled-icons.patch
@@ -1,5 +1,5 @@
1--- a/components/dom_distiller/core/css/distilledpage.css 1--- components/dom_distiller/core/css/distilledpage.css.orig
2+++ b/components/dom_distiller/core/css/distilledpage.css 2+++ components/dom_distiller/core/css/distilledpage.css
3@@ -28,6 +28,11 @@ 3@@ -28,6 +28,11 @@
4 box-sizing: border-box; 4 box-sizing: border-box;
5 } 5 }
diff --git a/www/chromium-uc/patches/extra/ungoogled-chromium/keep-expired-flags.patch b/www/chromium-uc/patches/extra/ungoogled-chromium/keep-expired-flags.patch
index 75d9176..9f9df17 100644
--- a/www/chromium-uc/patches/extra/ungoogled-chromium/keep-expired-flags.patch
+++ b/www/chromium-uc/patches/extra/ungoogled-chromium/keep-expired-flags.patch
@@ -1,5 +1,5 @@
1--- a/components/flags_ui/flags_state.cc 1--- components/flags_ui/flags_state.cc.orig
2+++ b/components/flags_ui/flags_state.cc 2+++ components/flags_ui/flags_state.cc
3@@ -22,6 +22,7 @@ 3@@ -22,6 +22,7 @@
4 #include "base/values.h" 4 #include "base/values.h"
5 #include "build/build_config.h" 5 #include "build/build_config.h"
@@ -8,7 +8,7 @@
8 #include "components/flags_ui/feature_entry.h" 8 #include "components/flags_ui/feature_entry.h"
9 #include "components/flags_ui/flags_storage.h" 9 #include "components/flags_ui/flags_storage.h"
10 #include "components/flags_ui/flags_ui_switches.h" 10 #include "components/flags_ui/flags_ui_switches.h"
11@@ -556,14 +557,18 @@ void FlagsState::GetFlagFeatureEntries( 11@@ -577,14 +578,18 @@ void FlagsState::GetFlagFeatureEntries(
12 int current_platform = GetCurrentPlatform(); 12 int current_platform = GetCurrentPlatform();
13 13
14 for (const FeatureEntry& entry : feature_entries_) { 14 for (const FeatureEntry& entry : feature_entries_) {
@@ -28,7 +28,7 @@
28 28
29 base::Value supported_platforms(base::Value::Type::LIST); 29 base::Value supported_platforms(base::Value::Type::LIST);
30 AddOsStrings(entry.supported_platforms, &supported_platforms); 30 AddOsStrings(entry.supported_platforms, &supported_platforms);
31@@ -882,6 +887,7 @@ bool FlagsState::IsSupportedFeature(cons 31@@ -901,6 +906,7 @@ bool FlagsState::IsSupportedFeature(cons
32 if (!entry.InternalNameMatches(name)) 32 if (!entry.InternalNameMatches(name))
33 continue; 33 continue;
34 if (delegate_ && delegate_->ShouldExcludeFlag(storage, entry)) 34 if (delegate_ && delegate_->ShouldExcludeFlag(storage, entry))
diff --git a/www/chromium-uc/patches/extra/ungoogled-chromium/prepopulated-search-engines.patch b/www/chromium-uc/patches/extra/ungoogled-chromium/prepopulated-search-engines.patch
index 7bf1f87..58e1587 100644
--- a/www/chromium-uc/patches/extra/ungoogled-chromium/prepopulated-search-engines.patch
+++ b/www/chromium-uc/patches/extra/ungoogled-chromium/prepopulated-search-engines.patch
@@ -6,9 +6,9 @@
6# Only snyc the prepoulated search engines when initializing the database. 6# Only snyc the prepoulated search engines when initializing the database.
7# Prevents search engines from being overridden in future updates. 7# Prevents search engines from being overridden in future updates.
8# 8#
9--- a/components/search_engines/template_url_prepopulate_data.cc 9--- components/search_engines/template_url_prepopulate_data.cc.orig
10+++ b/components/search_engines/template_url_prepopulate_data.cc 10+++ components/search_engines/template_url_prepopulate_data.cc
11@@ -1330,6 +1330,9 @@ std::vector<std::unique_ptr<TemplateURLD 11@@ -1325,6 +1325,9 @@ std::vector<std::unique_ptr<TemplateURLD
12 std::vector<std::unique_ptr<TemplateURLData>> t_urls; 12 std::vector<std::unique_ptr<TemplateURLData>> t_urls;
13 for (size_t i = 0; i < num_engines; ++i) 13 for (size_t i = 0; i < num_engines; ++i)
14 t_urls.push_back(TemplateURLDataFromPrepopulatedEngine(*engines[i])); 14 t_urls.push_back(TemplateURLDataFromPrepopulatedEngine(*engines[i]));
@@ -18,8 +18,8 @@
18 return t_urls; 18 return t_urls;
19 } 19 }
20 20
21--- a/components/search_engines/util.cc 21--- components/search_engines/util.cc.orig
22+++ b/components/search_engines/util.cc 22+++ components/search_engines/util.cc
23@@ -396,7 +396,7 @@ void GetSearchProvidersUsingLoadedEngine 23@@ -396,7 +396,7 @@ void GetSearchProvidersUsingLoadedEngine
24 24
25 const int prepopulate_resource_keyword_version = 25 const int prepopulate_resource_keyword_version =
diff --git a/www/chromium-uc/patches/extra/ungoogled-chromium/remove-disable-setuid-sandbox-as-bad-flag.patch b/www/chromium-uc/patches/extra/ungoogled-chromium/remove-disable-setuid-sandbox-as-bad-flag.patch
index 0a83d1b..55ddd53 100644
--- a/www/chromium-uc/patches/extra/ungoogled-chromium/remove-disable-setuid-sandbox-as-bad-flag.patch
+++ b/www/chromium-uc/patches/extra/ungoogled-chromium/remove-disable-setuid-sandbox-as-bad-flag.patch
@@ -1,12 +1,12 @@
1# Remove the "--disable-setuid-sandbox" command line flag as a bad flag 1# Remove the "--disable-setuid-sandbox" command line flag as a bad flag
2 2
3--- a/chrome/browser/ui/startup/bad_flags_prompt.cc 3--- chrome/browser/ui/startup/bad_flags_prompt.cc.orig
4+++ b/chrome/browser/ui/startup/bad_flags_prompt.cc 4+++ chrome/browser/ui/startup/bad_flags_prompt.cc
5@@ -61,7 +61,6 @@ static const char* kBadFlags[] = { 5@@ -61,7 +61,6 @@ static const char* kBadFlags[] = {
6 // These flags disable sandbox-related security. 6 // These flags disable sandbox-related security.
7 sandbox::policy::switches::kDisableGpuSandbox, 7 sandbox::policy::switches::kDisableGpuSandbox,
8 sandbox::policy::switches::kDisableSeccompFilterSandbox, 8 sandbox::policy::switches::kDisableSeccompFilterSandbox,
9- sandbox::policy::switches::kDisableSetuidSandbox, 9- sandbox::policy::switches::kDisableSetuidSandbox,
10 sandbox::policy::switches::kNoSandbox, 10 sandbox::policy::switches::kNoSandbox,
11 #if BUILDFLAG(IS_WIN) 11 #if defined(OS_WIN)
12 sandbox::policy::switches::kAllowThirdPartyModules, 12 sandbox::policy::switches::kAllowThirdPartyModules,
diff --git a/www/chromium-uc/patches/extra/ungoogled-chromium/remove-uneeded-ui.patch b/www/chromium-uc/patches/extra/ungoogled-chromium/remove-uneeded-ui.patch
index 4e07208..cbb86fd 100644
--- a/www/chromium-uc/patches/extra/ungoogled-chromium/remove-uneeded-ui.patch
+++ b/www/chromium-uc/patches/extra/ungoogled-chromium/remove-uneeded-ui.patch
@@ -18,8 +18,8 @@
18# unneeded elements from the profile menu 18# unneeded elements from the profile menu
19# the 'Learn more' link on crashed tabs 19# the 'Learn more' link on crashed tabs
20 20
21--- a/chrome/browser/resources/extensions/item_list.html 21--- chrome/browser/resources/extensions/item_list.html.orig
22+++ b/chrome/browser/resources/extensions/item_list.html 22+++ chrome/browser/resources/extensions/item_list.html
23@@ -80,13 +80,6 @@ 23@@ -80,13 +80,6 @@
24 <div id="container"> 24 <div id="container">
25 <managed-footnote hidden="[[filter]]"></managed-footnote> 25 <managed-footnote hidden="[[filter]]"></managed-footnote>
@@ -34,9 +34,9 @@
34 <div id="no-search-results" class="empty-list-message" 34 <div id="no-search-results" class="empty-list-message"
35 hidden$="[[!shouldShowEmptySearchMessage_( 35 hidden$="[[!shouldShowEmptySearchMessage_(
36 shownAppsCount_, shownExtensionsCount_, apps, extensions)]]"> 36 shownAppsCount_, shownExtensionsCount_, apps, extensions)]]">
37--- a/chrome/browser/resources/extensions/sidebar.html 37--- chrome/browser/resources/extensions/sidebar.html.orig
38+++ b/chrome/browser/resources/extensions/sidebar.html 38+++ chrome/browser/resources/extensions/sidebar.html
39@@ -76,12 +76,3 @@ 39@@ -69,12 +69,3 @@
40 <paper-ripple></paper-ripple> 40 <paper-ripple></paper-ripple>
41 </a> 41 </a>
42 </iron-selector> 42 </iron-selector>
@@ -49,9 +49,9 @@
49- <paper-ripple></paper-ripple> 49- <paper-ripple></paper-ripple>
50- </a> 50- </a>
51-</div> 51-</div>
52--- a/chrome/browser/resources/history/side_bar.html 52--- chrome/browser/resources/history/side_bar.html.orig
53+++ b/chrome/browser/resources/history/side_bar.html 53+++ chrome/browser/resources/history/side_bar.html
54@@ -120,13 +120,6 @@ 54@@ -128,13 +128,6 @@
55 $i18n{historyMenuItem} 55 $i18n{historyMenuItem}
56 <paper-ripple></paper-ripple> 56 <paper-ripple></paper-ripple>
57 </a> 57 </a>
@@ -62,11 +62,11 @@
62- $i18n{openTabsMenuItem} 62- $i18n{openTabsMenuItem}
63- <paper-ripple></paper-ripple> 63- <paper-ripple></paper-ripple>
64- </a> 64- </a>
65 <!-- tabindex is needed below because <a> without href attribute is not 65 <div class="separator"></div>
66 focusable in sequential keyboard navigation by default. --> 66 <a role="menuitem" id="clear-browsing-data"
67 <a role="menuitem" id="toggle-history-clusters" 67 class="cr-nav-menu-item"
68--- a/chrome/browser/resources/ntp4/incognito_tab.html 68--- chrome/browser/resources/ntp4/incognito_tab.html.orig
69+++ b/chrome/browser/resources/ntp4/incognito_tab.html 69+++ chrome/browser/resources/ntp4/incognito_tab.html
70@@ -24,8 +24,6 @@ document.querySelector('#incognitothemec 70@@ -24,8 +24,6 @@ document.querySelector('#incognitothemec
71 <h1>$i18n{incognitoTabHeading}</h1> 71 <h1>$i18n{incognitoTabHeading}</h1>
72 <p id="subtitle"> 72 <p id="subtitle">
@@ -76,8 +76,8 @@
76 </p> 76 </p>
77 <div id="bulletpoints-wrapper"> 77 <div id="bulletpoints-wrapper">
78 <div class="bulletpoints first">$i18nRaw{incognitoTabFeatures}</div> 78 <div class="bulletpoints first">$i18nRaw{incognitoTabFeatures}</div>
79--- a/chrome/browser/resources/settings/a11y_page/a11y_page.html 79--- chrome/browser/resources/settings/a11y_page/a11y_page.html.orig
80+++ b/chrome/browser/resources/settings/a11y_page/a11y_page.html 80+++ chrome/browser/resources/settings/a11y_page/a11y_page.html
81@@ -21,7 +21,7 @@ 81@@ -21,7 +21,7 @@
82 external$="[[captionSettingsOpensExternally_]]"> 82 external$="[[captionSettingsOpensExternally_]]">
83 </cr-link-row> 83 </cr-link-row>
@@ -88,18 +88,18 @@
88 label="$i18n{captionsTitle}" 88 label="$i18n{captionsTitle}"
89 on-click="onCaptionsClick_" 89 on-click="onCaptionsClick_"
90@@ -51,10 +51,6 @@ 90@@ -51,10 +51,6 @@
91 label="$i18n{accessibleImageLabelsTitle}"
92 sub-label="$i18n{accessibleImageLabelsSubtitle}"> 91 sub-label="$i18n{accessibleImageLabelsSubtitle}">
93 </settings-toggle-button> 92 </settings-toggle-button>
93 </if>
94- <cr-link-row class="hr" label="$i18n{moreFeaturesLink}" 94- <cr-link-row class="hr" label="$i18n{moreFeaturesLink}"
95- on-click="onMoreFeaturesLinkClick_" sub-label="$i18n{a11yWebStore}" 95- on-click="onMoreFeaturesLinkClick_" sub-label="$i18n{a11yWebStore}"
96- external> 96- external>
97- </cr-link-row> 97- </cr-link-row>
98 </div> 98 </div>
99 <if expr="not chromeos_ash"> 99 <if expr="not chromeos">
100 <template is="dom-if" if="[[!captionSettingsOpensExternally_]]"> 100 <template is="dom-if" if="[[!captionSettingsOpensExternally_]]">
101--- a/chrome/browser/resources/settings/about_page/about_page.html 101--- chrome/browser/resources/settings/about_page/about_page.html.orig
102+++ b/chrome/browser/resources/settings/about_page/about_page.html 102+++ chrome/browser/resources/settings/about_page/about_page.html
103@@ -131,8 +131,6 @@ 103@@ -131,8 +131,6 @@
104 </div> 104 </div>
105 </template> 105 </template>
@@ -109,8 +109,8 @@
109 <if expr="_google_chrome"> 109 <if expr="_google_chrome">
110 <cr-link-row class="hr" id="reportIssue" on-click="onReportIssueTap_" 110 <cr-link-row class="hr" id="reportIssue" on-click="onReportIssueTap_"
111 hidden="[[!prefs.feedback_allowed.value]]" 111 hidden="[[!prefs.feedback_allowed.value]]"
112--- a/chrome/browser/resources/settings/appearance_page/appearance_page.html 112--- chrome/browser/resources/settings/appearance_page/appearance_page.html.orig
113+++ b/chrome/browser/resources/settings/appearance_page/appearance_page.html 113+++ chrome/browser/resources/settings/appearance_page/appearance_page.html
114@@ -22,11 +22,11 @@ 114@@ -22,11 +22,11 @@
115 <settings-animated-pages id="pages" section="appearance" 115 <settings-animated-pages id="pages" section="appearance"
116 focus-config="[[focusConfig_]]"> 116 focus-config="[[focusConfig_]]">
@@ -124,20 +124,20 @@
124+ <div class="flex cr-padded-text"> 124+ <div class="flex cr-padded-text">
125+ <div>$i18n{themes}</div><div class="secondary">[[themeSublabel_]]</div> 125+ <div>$i18n{themes}</div><div class="secondary">[[themeSublabel_]]</div>
126+ </div> 126+ </div>
127 <if expr="not is_linux or chromeos_ash or chromeos_lacros"> 127 <if expr="not is_posix or chromeos or lacros">
128 <template is="dom-if" if="[[prefs.extensions.theme.id.value]]"> 128 <template is="dom-if" if="[[prefs.extensions.theme.id.value]]">
129 <div class="separator"></div> 129 <div class="separator"></div>
130--- a/chrome/browser/resources/settings/autofill_page/passwords_section.html 130--- chrome/browser/resources/settings/autofill_page/passwords_section.html.orig
131+++ b/chrome/browser/resources/settings/autofill_page/passwords_section.html 131+++ chrome/browser/resources/settings/autofill_page/passwords_section.html
132@@ -107,6 +107,7 @@ 132@@ -107,6 +107,7 @@
133 label="$i18n{passwordsAutosigninLabel}" 133 label="$i18n{trustedVaultOptInLabel}"
134 sub-label="$i18n{passwordsAutosigninDescription}"> 134 sub-label="$i18n{trustedVaultOptInSubLabel}">
135 </settings-toggle-button> 135 </cr-link-row>
136+<if expr="false"> 136+<if expr="false">
137 <div id="checkPasswordsBannerContainer" class="cr-row" 137 <div id="checkPasswordsBannerContainer" class="cr-row"
138 hidden$="[[!shouldShowBanner_]]"> 138 hidden$="[[!shouldShowBanner_]]">
139 <picture> 139 <picture>
140@@ -161,6 +162,7 @@ 140@@ -155,6 +156,7 @@
141 <!-- This div lays out the link correctly, relative to the text. --> 141 <!-- This div lays out the link correctly, relative to the text. -->
142 <div class="cr-padded-text">$i18nRaw{managePasswordsLabel}</div> 142 <div class="cr-padded-text">$i18nRaw{managePasswordsLabel}</div>
143 </div> 143 </div>
@@ -145,60 +145,58 @@
145 <div class="cr-row first"> 145 <div class="cr-row first">
146 <h2 id="savedPasswordsHeading" class="flex"> 146 <h2 id="savedPasswordsHeading" class="flex">
147 $i18n{savedPasswordsHeading} 147 $i18n{savedPasswordsHeading}
148--- a/chrome/browser/resources/settings/autofill_page/payments_section.html 148--- chrome/browser/resources/settings/autofill_page/payments_section.html.orig
149+++ b/chrome/browser/resources/settings/autofill_page/payments_section.html 149+++ chrome/browser/resources/settings/autofill_page/payments_section.html
150@@ -52,11 +52,6 @@ 150@@ -53,11 +53,6 @@
151 </div> 151 </div>
152 </template> 152 </template>
153 153
154-<div id="manageLink" class="cr-row first"> 154- <div id="manageLink" class="cr-row first">
155- <!-- This span lays out the link correctly, relative to the text. --> 155- <!-- This span lays out the link correctly, relative to the text. -->
156- <div class="cr-padded-text">$i18nRaw{manageCreditCardsLabel}</div> 156- <div class="cr-padded-text">$i18nRaw{manageCreditCardsLabel}</div>
157-</div> 157- </div>
158- 158-
159 <div class="cr-row continuation"> 159 <div class="cr-row continuation">
160 <h2 class="flex">$i18n{creditCards}</h2> 160 <h2 class="flex">$i18n{creditCards}</h2>
161 <cr-button id="addCreditCard" class="header-aligned-button" 161 <cr-button id="addCreditCard" class="header-aligned-button"
162--- a/chrome/browser/resources/settings/basic_page/basic_page.html 162--- chrome/browser/resources/settings/basic_page/basic_page.html.orig
163+++ b/chrome/browser/resources/settings/basic_page/basic_page.html 163+++ chrome/browser/resources/settings/basic_page/basic_page.html
164@@ -59,7 +59,7 @@ 164@@ -102,7 +102,7 @@
165 prefs="{{prefs}}"> 165 <settings-privacy-review-promo></settings-privacy-review-promo>
166 </settings-privacy-guide-promo> 166 </settings-section>
167 </settings-section> 167 </template>
168- <template is="dom-if" if="[[showPage_(pageVisibility.safetyCheck)]]" 168- <template is="dom-if" if="[[showPage_(pageVisibility.safetyCheck)]]"
169+ <template is="dom-if" if="[[false]]" 169+ <template is="dom-if" if="[[false]]"
170 restamp> 170 restamp>
171 <settings-section page-title="$i18n{safetyCheckSectionTitle}" 171 <settings-section page-title="$i18n{safetyCheckSectionTitle}"
172 section="safetyCheck" nest-under-section="privacy" 172 section="safetyCheck" nest-under-section="privacy"
173--- a/chrome/browser/resources/settings/privacy_page/personalization_options.html 173--- chrome/browser/resources/settings/privacy_page/personalization_options.html.orig
174+++ b/chrome/browser/resources/settings/privacy_page/personalization_options.html 174+++ chrome/browser/resources/settings/privacy_page/personalization_options.html
175@@ -13,7 +13,7 @@ 175@@ -8,7 +8,7 @@
176 padding-inline-start: 0; 176 border-top: none;
177 } 177 }
178 </style> 178 </style>
179-<if expr="not chromeos_ash and not chromeos_lacros"> 179-<if expr="not chromeos">
180+<if expr="false"> 180+<if expr="false">
181 <!-- Signout is not supported yet on lacros, https://crbug.com/1217645 -->
182 <settings-toggle-button id="signinAllowedToggle" 181 <settings-toggle-button id="signinAllowedToggle"
183 class="hr" 182 class="hr"
184@@ -70,14 +70,6 @@ 183 hidden="[[!signinAvailable_]]"
184@@ -51,12 +51,6 @@
185 </settings-toggle-button> 185 </settings-toggle-button>
186 </if><!-- not chromeos --> 186 </if><!-- not chromeos -->
187 </if><!-- _google_chrome --> 187 </if><!-- _google_chrome -->
188- <template is="dom-if" if="[[showUrlCollectionToggle_()]]" restamp> 188- <settings-toggle-button id="urlCollectionToggle"
189- <settings-toggle-button id="urlCollectionToggle" 189- class="hr"
190- class="hr" 190- pref="{{prefs.url_keyed_anonymized_data_collection.enabled}}"
191- pref="{{prefs.url_keyed_anonymized_data_collection.enabled}}" 191- label="$i18n{urlKeyedAnonymizedDataCollection}"
192- label="$i18n{urlKeyedAnonymizedDataCollection}" 192- sub-label="$i18n{urlKeyedAnonymizedDataCollectionDesc}">
193- sub-label="$i18n{urlKeyedAnonymizedDataCollectionDesc}"> 193- </settings-toggle-button>
194- </settings-toggle-button>
195- </template>
196 <if expr="_google_chrome"> 194 <if expr="_google_chrome">
197 <settings-toggle-button id="spellCheckControl" 195 <settings-toggle-button id="spellCheckControl"
198 class="hr" 196 class="hr"
199--- a/chrome/browser/resources/settings/privacy_page/security_page.html 197--- chrome/browser/resources/settings/privacy_page/security_page.html.orig
200+++ b/chrome/browser/resources/settings/privacy_page/security_page.html 198+++ chrome/browser/resources/settings/privacy_page/security_page.html
201@@ -107,10 +107,3 @@ 199@@ -96,10 +96,3 @@
202 sub-label="$i18n{manageCertificatesDescription}" 200 sub-label="$i18n{manageCertificatesDescription}"
203 on-click="onManageCertificatesClick_"></cr-link-row> 201 on-click="onManageCertificatesClick_"></cr-link-row>
204 </if> 202 </if>
@@ -209,8 +207,8 @@
209- on-click="onAdvancedProtectionProgramLinkClick_" 207- on-click="onAdvancedProtectionProgramLinkClick_"
210- external> 208- external>
211- </cr-link-row> 209- </cr-link-row>
212--- a/chrome/browser/resources/settings/search_page/search_page.html 210--- chrome/browser/resources/settings/search_page/search_page.html.orig
213+++ b/chrome/browser/resources/settings/search_page/search_page.html 211+++ chrome/browser/resources/settings/search_page/search_page.html
214@@ -12,10 +12,6 @@ 212@@ -12,10 +12,6 @@
215 <div class="cr-row first"> 213 <div class="cr-row first">
216 <div id="searchExplanation" class="flex cr-padded-text"> 214 <div id="searchExplanation" class="flex cr-padded-text">
@@ -222,9 +220,20 @@
222 </div> 220 </div>
223 <template is="dom-if" if="[[isDefaultSearchControlledByPolicy_( 221 <template is="dom-if" if="[[isDefaultSearchControlledByPolicy_(
224 prefs.default_search_provider_data.template_url_data)]]"> 222 prefs.default_search_provider_data.template_url_data)]]">
225--- a/chrome/browser/resources/settings/settings_page/settings_subpage.html 223--- chrome/browser/resources/settings/settings_menu/settings_menu.html.orig
226+++ b/chrome/browser/resources/settings/settings_page/settings_subpage.html 224+++ chrome/browser/resources/settings/settings_menu/settings_menu.html
227@@ -80,7 +80,7 @@ 225@@ -111,7 +111,7 @@
226 $i18n{autofillPageTitle}
227 <paper-ripple></paper-ripple>
228 </a>
229- <template is="dom-if" if="[[!enableLandingPageRedesign_]]">
230+ <template is="dom-if" if="[[false]]">
231 <a role="menuitem" href="/safetyCheck"
232 hidden="[[!pageVisibility.safetyCheck]]"
233 id="safetyCheck"
234--- chrome/browser/resources/settings/settings_page/settings_subpage.html.orig
235+++ chrome/browser/resources/settings/settings_page/settings_subpage.html
236@@ -72,7 +72,7 @@
228 </template> 237 </template>
229 <h1 class="cr-title-text">[[pageTitle]]</h1> 238 <h1 class="cr-title-text">[[pageTitle]]</h1>
230 <slot name="subpage-title-extra"></slot> 239 <slot name="subpage-title-extra"></slot>
@@ -233,9 +242,9 @@
233 <cr-icon-button iron-icon="cr:help-outline" dir="ltr" 242 <cr-icon-button iron-icon="cr:help-outline" dir="ltr"
234 aria-label="$i18n{learnMore}" on-click="onHelpClick_"> 243 aria-label="$i18n{learnMore}" on-click="onHelpClick_">
235 </cr-icon-button> 244 </cr-icon-button>
236--- a/chrome/browser/ui/views/profiles/profile_menu_view.cc 245--- chrome/browser/ui/views/profiles/profile_menu_view.cc.orig
237+++ b/chrome/browser/ui/views/profiles/profile_menu_view.cc 246+++ chrome/browser/ui/views/profiles/profile_menu_view.cc
238@@ -175,6 +175,7 @@ void ProfileMenuView::BuildMenu() { 247@@ -176,6 +176,7 @@ void ProfileMenuView::BuildMenu() {
239 } 248 }
240 249
241 gfx::ImageSkia ProfileMenuView::GetSyncIcon() const { 250 gfx::ImageSkia ProfileMenuView::GetSyncIcon() const {
@@ -243,7 +252,7 @@
243 Profile* profile = browser()->profile(); 252 Profile* profile = browser()->profile();
244 if (profile->IsOffTheRecord() || profile->IsGuestSession()) 253 if (profile->IsOffTheRecord() || profile->IsGuestSession())
245 return gfx::ImageSkia(); 254 return gfx::ImageSkia();
246@@ -457,8 +458,7 @@ void ProfileMenuView::BuildIdentity() { 255@@ -450,8 +451,7 @@ void ProfileMenuView::BuildIdentity() {
247 menu_subtitle_); 256 menu_subtitle_);
248 } else { 257 } else {
249 menu_title_ = std::u16string(); 258 menu_title_ = std::u16string();
@@ -253,19 +262,21 @@
253 SetProfileIdentityInfo( 262 SetProfileIdentityInfo(
254 profile_name, background_color, edit_button_params, 263 profile_name, background_color, edit_button_params,
255 ui::ImageModel::FromImage( 264 ui::ImageModel::FromImage(
256--- a/chrome/browser/ui/views/sad_tab_view.cc 265--- chrome/browser/ui/views/sad_tab_view.cc.orig
257+++ b/chrome/browser/ui/views/sad_tab_view.cc 266+++ chrome/browser/ui/views/sad_tab_view.cc
258@@ -548,13 +548,6 @@ SadTabView::SadTabView(content::WebConte 267@@ -556,15 +556,9 @@ SadTabView::SadTabView(content::WebConte
259 auto* actions_container = 268 CreateErrorCodeLabel(GetErrorCodeFormatString(), GetCrashedErrorCode()),
260 container->AddChildView(std::make_unique<views::FlexLayoutView>()); 269 2, 1.0, views::GridLayout::LEADING, views::GridLayout::LEADING);
261 actions_container->SetCrossAxisAlignment(views::LayoutAlignment::kCenter); 270
262- auto* help_link = 271- auto help_link = std::make_unique<views::Link>(
263- actions_container->AddChildView(std::make_unique<views::Link>( 272- l10n_util::GetStringUTF16(GetHelpLinkTitle()));
264- l10n_util::GetStringUTF16(GetHelpLinkTitle())));
265- help_link->SetCallback(base::BindRepeating( 273- help_link->SetCallback(base::BindRepeating(
266- &SadTab::PerformAction, base::Unretained(this), Action::HELP_LINK)); 274- &SadTab::PerformAction, base::Unretained(this), Action::HELP_LINK));
267- help_link->SetProperty(views::kTableVertAlignKey, 275 layout->StartRowWithPadding(views::GridLayout::kFixedSize, column_set_id,
268- views::LayoutAlignment::kCenter); 276 views::GridLayout::kFixedSize,
269 action_button_ = 277 unrelated_vertical_spacing_large);
270 actions_container->AddChildView(std::make_unique<views::MdTextButton>( 278- layout->AddView(std::move(help_link), 1.0, 1.0, views::GridLayout::LEADING,
271 base::BindRepeating(&SadTabView::PerformAction, 279- views::GridLayout::CENTER);
280 auto action_button = std::make_unique<views::MdTextButton>(
281 base::BindRepeating(&SadTabView::PerformAction, base::Unretained(this),
282 Action::BUTTON),