diff --git a/docs/PATCHES.md b/docs/PATCHES.md
index 3da72ff8..75eff91d 100644
--- a/docs/PATCHES.md
+++ b/docs/PATCHES.md
@@ -9,9 +9,9 @@
|**Add a proxy configuration page**
Thu, 29 Mar 2018 00:43:32 +0200
File: [Add-a-proxy-configuration-page.patch](/build/patches/Add-a-proxy-configuration-page.patch)
Author: csagan5
Context:
License: GPL-3.0-only |Accessible from proxy settings and chrome://proxy
Allows to use a PAC script URL, automatic configuration and explicit proxy settings.
Offer auto-complete for the proxy page URL.
Store proxy settings in LocalState instead of Profile, so that proxy is used for SimpleURLLoaders as well;
this implementation is the same as the one in ChromeOS which gets proxy information from the LocalState
for the system network context; this is strictly not correct on Android because the network context is
never connected to any user profile and only gets proxy information from the system.
Existing settings on Profile are migrated to LocalState on startup.
Credits to @uazo for the LocalState integration.|
|**Add an always-incognito mode**
Sat, 2 Oct 2021 13:20:36 +0200
File: [Add-an-always-incognito-mode.patch](/build/patches/Add-an-always-incognito-mode.patch)
Author: csagan5
Context:
License: GPL-3.0-only |Add a preference that causes all new tabs and all clicked links to launch in incognito.
Make sure initial incognito status is correctly recognized.
Enable incognito custom tabs and fix crashes for incognito/custom tab intents
Use a native flag to correctly start new tabs on app startup
Add history, recents, offlinepages and send to home screen support for always incognito.
History, recent tabs and offline pages require the INCOGNITO_TAB_HISTORY_ENABLED
flag turned on.
IncognitoPlaceholder is also deactivated, both in the phone and tablet version.
The relative tests are also present.
based on the original work by Ryan Archer
Major contributions by uazo.
See also: https://github.com/bromite/bromite/pull/1427|
|**Add autoplay site setting**
Sat, 7 Nov 2020 21:59:18 +0000
File: [Add-autoplay-site-setting.patch](/build/patches/Add-autoplay-site-setting.patch)
Author: uazo
Context:
License: GPL-3.0-only |Require: Content-settings-infrastructure.patch|
-|**Add bookmark import/export actions**
Wed, 1 Aug 2018 09:19:40 +0200
File: [Add-bookmark-import-export-actions.patch](/build/patches/Add-bookmark-import-export-actions.patch)
Author: csagan5
Context:
License: GPL-3.0-only |Add bookmark import/export actions in bookmarks activity and page
Reduce permissions needed for bookmarks import/export
Completely remove contacts picker permission from the file dialog
Requires patch: Adds-support-for-writing-URIs.patch|
+|**Add bookmark import/export actions**
Wed, 1 Aug 2018 09:19:40 +0200
File: [Add-bookmark-import-export-actions.patch](/build/patches/Add-bookmark-import-export-actions.patch)
Author: csagan5
Context:
License: GPL-3.0-only |Add bookmark import/export actions in bookmarks activity and page
Reduce permissions needed for bookmarks import/export
Completely remove contacts picker permission from the file dialog
Requires: Adds-support-for-writing-URIs.patch
Requires: Restore-BookmarkToolbar-setCurrentFolder.patch|
|**Add browser policy**
Tue, 22 Nov 2022 16:49:58 +0000
File: [add-browser-policy.patch](/build/patches/add-browser-policy.patch)
Author: uazo
Context:
License: GPL-2.0-or-later ||
-|**Add cromite flags support**
Sat, 18 Nov 2023 09:41:28 +0000
File: [Add-cromite-flags-support.patch](/build/patches/Add-cromite-flags-support.patch)
Author: uazo
Context:
License: GPL-2.0-or-later |Add SET_CROMITE_FEATURE_ENABLED*, SET_CROMITE_FEATURE_DISABLED*
and CROMITE_FEATURE macros, logic has been adapted from that found
in brave.
Allows flags to be defined in separate files.
Activates a new cromite tab in chrome://flags with only the flags
added and changed. In android added chrome://flags/cromite
in the setting ui.
Currently in wip
Need: bromite-build-utils.patch|
+|**Add cromite flags support**
Sat, 18 Nov 2023 09:41:28 +0000
File: [Add-cromite-flags-support.patch](/build/patches/Add-cromite-flags-support.patch)
Author: uazo
Context:
License: GPL-2.0-or-later |Add SET_CROMITE_FEATURE_ENABLED*, SET_CROMITE_FEATURE_DISABLED*
and CROMITE_FEATURE macros, logic has been adapted from that found
in brave.
Allows flags to be defined in separate files.
Activates a new cromite tab in chrome://flags with only the flags
added and changed. In android added chrome://flags/cromite
in the setting ui.
Need: bromite-build-utils.patch|
|**Add custom tab intents privacy option**
Wed, 29 Aug 2018 11:03:44 +0200
File: [Add-custom-tab-intents-privacy-option.patch](/build/patches/Add-custom-tab-intents-privacy-option.patch)
Author: csagan5
Context:
License: GPL-3.0-only |Add custom tab intents privacy option and force
open external links in incognito flag.
Flags are mutually exclusive.
See also: https://github.com/bromite/bromite/issues/1474|
|**Add exit menu item**
Tue, 31 Jan 2017 22:12:27 -0500
File: [Add-exit-menu-item.patch](/build/patches/Add-exit-menu-item.patch)
Author: Serg
Context:
License: GPL-3.0-only |Corrected Exit functionality|
|**Add flag for omnibox autocomplete filtering**
Sat, 22 Aug 2020 08:52:40 -0500
File: [Add-flag-for-omnibox-autocomplete-filtering.patch](/build/patches/Add-flag-for-omnibox-autocomplete-filtering.patch)
Author: Blaise
Context:
License: GPL-3.0-only |Adds a flag that restricts whether search history, clipboard, bookmarks
and internal chrome:// pages will be used for the autocomplete results.|
@@ -46,19 +46,22 @@
|**Always open browser controls in new tab**
Wed, 28 Dec 2022 07:19:58 +0000
File: [Always-open-browser-controls-in-new-tab.patch](/build/patches/Always-open-browser-controls-in-new-tab.patch)
Author: Your
Context:
License: ||
|**Always use new tab page for default home page**
Wed, 27 Jun 2018 11:02:38 +0200
File: [Always-use-new-tab-page-for-default-home-page.patch](/build/patches/Always-use-new-tab-page-for-default-home-page.patch)
Author: csagan5
Context:
License: GPL-3.0-only |Ignore any partner-provided home page.|
|**Android Toolbar Scroll Ablation setting**
Wed, 22 May 2024 07:41:34 +0000
File: [Android-Toolbar-Scroll-Ablation-setting.patch](/build/patches/Android-Toolbar-Scroll-Ablation-setting.patch)
Author: uazo
Context:
License: GPL-2.0-or-later |Adds a setting for blocking the toolbar hiding
need: Add-cromite-flags-support.patch|
+|**Ask to restart on connection change**
Tue, 18 Jun 2024 15:31:12 +0000
File: [Ask-for-restart-on-connection-change.patch](/build/patches/Ask-for-restart-on-connection-change.patch)
Author: uazo
Context:
License: GPL-2.0-or-later |Experimental use of the OfflineDetector to identify network change, disabled by default.
If it is active, when the network change is detected by the android API,
the user is warned and asked to restart the browser.
Technically, blink's freeze mode is exploited, which allows javascript
execution and network calls to be blocked.
A preventive shutdown of all service workers is carried out, to inhibit the sending
of messages over the new ip, since the service workers have access
to the background fetch api.
The freeze and resume event of javascript is deliberately left, since the
page could deduct it in any case. In any case during the execution of
the javascript events, the page can only access the FetchLater api,
which is disabled by another patch.
The patch also changes the standard behaviour of the browser, allowing visible pages to freeze.
This could lead to the failure of some DCHECKS related to the handling of UI messages at unfreeze,
but since the goal is a reboot, this should not be the case.|
|**AudioBuffer, AnalyserNode: fp mitigations**
Sun, 25 Mar 2018 21:49:37 +0200
File: [AudioBuffer-AnalyserNode-fp-mitigations.patch](/build/patches/AudioBuffer-AnalyserNode-fp-mitigations.patch)
Author: csagan5
Context:
License: GPL-3.0-only |Truncate base latency precision to two digits|
|**Battery API: return nothing**
Thu, 22 Mar 2018 22:11:57 +0100
File: [Battery-API-return-nothing.patch](/build/patches/Battery-API-return-nothing.patch)
Author: csagan5
Context:
License: GPL-3.0-only |Include @thestinger's fix for correct charging/unknown values|
|**Block Intents While Locked**
Tue, 31 Oct 2023 16:16:08 +0000
File: [Block-Intents-While-Locked.patch](/build/patches/Block-Intents-While-Locked.patch)
Author: Your
Context:
License: |see https://source.chromium.org/chromium/chromium/src/+/c5b50f4c2d42e7b808fd3e6fb3545cdb3f4d82c9|
|**Block gateway attacks via websockets**
Tue, 28 Jul 2020 12:28:58 +0200
File: [Block-gateway-attacks-via-websockets.patch](/build/patches/Block-gateway-attacks-via-websockets.patch)
Author: csagan5
Context:
License: GPL-3.0-only |This approach is not comprehensive, see also:
* https://bugs.chromium.org/p/chromium/issues/detail?id=590714|
|**Block qjz9zk or trk: requests**
Wed, 30 Oct 2019 11:50:13 +0100
File: [Block-qjz9zk-or-trk-requests.patch](/build/patches/Block-qjz9zk-or-trk-requests.patch)
Author: csagan5
Context:
License: GPL-3.0-only |An info bar is displayed unless the --disable-trkbar command-line flag or the chrome://flag option is used.
This patch is based on Iridium's 'net: add "trk:" scheme and help identify URLs being retrieved'|
-|**Bookmarks select all menu entry**
Sat, 9 Apr 2022 23:01:55 +0200
File: [Bookmarks-select-all-menu-entry.patch](/build/patches/Bookmarks-select-all-menu-entry.patch)
Author: csagan5
Context:
License: GPL-3.0-only ||
+|**Bookmarks select all menu entry**
Sat, 9 Apr 2022 23:01:55 +0200
File: [Bookmarks-select-all-menu-entry.patch](/build/patches/Bookmarks-select-all-menu-entry.patch)
Author: csagan5
Context:
License: GPL-3.0-only |Requires: Restore-BookmarkToolbar-setCurrentFolder.patch|
|**Bromite auto updater**
Thu, 7 Oct 2021 14:27:12 +0000
File: [Bromite-auto-updater.patch](/build/patches/Bromite-auto-updater.patch)
Author: uazo
Context:
License: GPL-3.0-only |Enable checking for new versions, with notifications and proxy support.
Restore InlineUpdateFlow feature.
Some parts authored by csagan5.|
|**Bromite package name**
Sat, 8 Jan 2022 19:42:34 +0100
File: [Bromite-package-name.patch](/build/patches/Bromite-package-name.patch)
Author: csagan5
Context:
License: GPL-3.0-only ||
|**Bromite subresource adblocker**
Sat, 14 Sep 2019 10:20:08 +0200
File: [Bromite-subresource-adblocker.patch](/build/patches/Bromite-subresource-adblocker.patch)
Author: csagan5
Context:
License: GPL-3.0-only |Add option to configure the ad blocker filters URL
Disable look-alike, metrics, ablation and navigation throttles
Do not use experiments to enable/disable presets
Always enable ad filtering
Download filters by checking Last-Modified header first
Fix RestoreForeignSessionTab by recreating the tab (issue #681)
Enable AutomaticLazyFrameLoadingToAds and AutomaticLazyFrameLoadingToEmbeds features|
+|**Bubble Locking on UI DevTools**
Tue, 30 Jul 2024 14:38:58 +0000
File: [Bubble-Locking-on-UI-DevTools.patch](/build/patches/Bubble-Locking-on-UI-DevTools.patch)
Author: uazo
Context:
License: GPL-2.0-or-later |Allows the use of ctrl+shift+click on the refresh button to
activate the Bubble Locking mode for the native dev-ui.
The current ctrl+shift+R is really inconvenient and often does not work.|
|**Change popup site setting**
Sun, 4 Feb 2024 16:02:48 +0000
File: [Change-popup-site-setting.patch](/build/patches/Change-popup-site-setting.patch)
Author: uazo
Context:
License: GPL-2.0-or-later |In site settings added ability to block all popups per site|
|**Chrome web store protection**
Thu, 28 Dec 2023 14:58:09 +0000
File: [Chrome-web-store-protection.patch](/build/patches/Chrome-web-store-protection.patch)
Author: uazo
Context:
License: GPL-2.0-or-later |The amount of information sent is minimized without disabling
the ability to install extensions (which is under user control)
It became possible to activate the autoupdate of extensions by sending the minimum of values.
Installation with the chrome web store is allowed, but the website
by default cannot retrieve the list of installed extensions and their status (under flag)
All http calls related to requesting and downloading updates are cookie-free,
but the ip and the list of extensions are traceable, that information cannot be omitted.
Auto-update is disabled by default: it is possible to activate it with chrome://extensions/|
|**Clear CORS Preflight Cache on clearing data**
Wed, 19 Apr 2023 09:59:18 +0000
File: [Clear-CORS-Preflight-Cache-on-clearing-data.patch](/build/patches/Clear-CORS-Preflight-Cache-on-clearing-data.patch)
Author: uazo
Context:
License: GPL-2.0-or-later ||
|**Client hints overrides**
Thu, 22 Jul 2021 23:10:52 +0200
File: [Client-hints-overrides.patch](/build/patches/Client-hints-overrides.patch)
Author: csagan5
Context:
License: GPL-3.0-only |Disable critical client hints and network early hints
Use Google Chrome branding for client hints|
+|**Close sessions on ip change**
Tue, 18 Jun 2024 14:14:06 +0000
File: [Close-Sessions-On-Ip-Change.patch](/build/patches/Close-Sessions-On-Ip-Change.patch)
Author: uazo
Context:
License: GPL-2.0-or-later |Exposed a flag to change the behaviour of the network stack with regard
to the automatic reconnection of quic connections when the connection changes.
By default changed from automatic reconnection to close connection on ip change.
No change in doh connections.|
|**Compress libchrome to free up some space**
Wed, 19 Jul 2023 09:32:36 +0000
File: [Compress-libchrome-to-free-up-some-space.patch](/build/patches/Compress-libchrome-to-free-up-some-space.patch)
Author: uazo
Context:
License: GPL-2.0-or-later |upstream removed ModernLinker support for developer build (apk releases).
see https://bugs.chromium.org/p/chromium/issues/detail?id=1383210|
|**Content settings infrastructure**
Thu, 24 Feb 2022 07:54:36 +0000
File: [Content-settings-infrastructure.patch](/build/patches/Content-settings-infrastructure.patch)
Author: uazo
Context:
License: GPL-3.0-only |This patch is used by other patches to provide the UI for Bromite-specific
site settings.
See BromiteCustomContentSetting_README.md for more information.
Require: bromite-build-utils.patch|
|**Cromite Branding**
Wed, 19 Jul 2023 12:37:39 +0000
File: [Cromite-Branding.patch](/build/patches/Cromite-Branding.patch)
Author: uazo
Context:
License: GPL-2.0-or-later ||
@@ -69,6 +72,7 @@
|**Disable Android AppRestrictions**
Fri, 5 Jan 2024 17:02:29 +0000
File: [Disable-Android-AppRestrictions.patch](/build/patches/Disable-Android-AppRestrictions.patch)
Author: uazo
Context:
License: GPL-2.0-or-later ||
|**Disable AsyncDNS by default**
Sat, 26 Mar 2022 16:41:55 +0100
File: [Disable-AsyncDNS-by-default.patch](/build/patches/Disable-AsyncDNS-by-default.patch)
Author: csagan5
Context:
License: GPL-3.0-only |This feature is detrimental to privacy, see also:
* https://bugs.chromium.org/p/chromium/issues/detail?id=805020|
|**Disable BackForwardCache**
Tue, 14 Feb 2023 16:29:12 +0000
File: [Disable-BackForwardCache.patch](/build/patches/Disable-BackForwardCache.patch)
Author: uazo
Context:
License: GPL-2.0-or-later ||
+|**Disable CSS blink-feature support**
Mon, 29 Jul 2024 06:48:25 +0000
File: [Disable-CSS-blink-feature-support.patch](/build/patches/Disable-CSS-blink-feature-support.patch)
Author: uazo
Context:
License: GPL-2.0-or-later |the function is not currently exposed to websites but is only allowed for testing.
disabled as it is an potentially advanced fingerprinting mechanism.
also fixed the possibility of using internal selectors for speculation rules.
see https://chromium-review.googlesource.com/c/chromium/src/+/5540782|
|**Disable Component Updates**
Tue, 8 Nov 2022 12:41:22 +0000
File: [Disable-Component-Updates.patch](/build/patches/Disable-Component-Updates.patch)
Author: uazo
Context:
License: GPL-2.0-or-later ||
|**Disable Compose feature**
Mon, 26 Feb 2024 16:35:16 +0000
File: [Disable-Compose-feature.patch](/build/patches/Disable-Compose-feature.patch)
Author: uazo
Context:
License: GPL-2.0-or-later ||
|**Disable Compression Dictionary Transport**
Sat, 3 Jun 2023 15:04:55 +0000
File: [Disable-Compression-Dictionary-Transport.patch](/build/patches/Disable-Compression-Dictionary-Transport.patch)
Author: uazo
Context:
License: GPL-2.0-or-later ||
@@ -103,10 +107,10 @@
|**Disable minidump upload scheduling**
Sun, 27 Feb 2022 23:58:22 +0100
File: [Disable-minidump-upload-scheduling.patch](/build/patches/Disable-minidump-upload-scheduling.patch)
Author: csagan5
Context:
License: GPL-3.0-only ||
|**Disable offline autofetch flag**
Tue, 27 Feb 2024 08:51:40 +0000
File: [Disable-offline-autofetch-flag.patch](/build/patches/Disable-offline-autofetch-flag.patch)
Author: uazo
Context:
License: GPL-2.0-or-later |Disable auto fetch of content when browser is online|
|**Disable offline pages in CCT**
Thu, 30 May 2019 03:37:45 +0200
File: [Disable-offline-pages-in-CCT.patch](/build/patches/Disable-offline-pages-in-CCT.patch)
Author: csagan5
Context:
License: GPL-3.0-only ||
-|**Disable omission of URL elements in Omnibox**
Wed, 11 Oct 2017 23:24:58 +0200
File: [Disable-omission-of-URL-elements-in-Omnibox.patch](/build/patches/Disable-omission-of-URL-elements-in-Omnibox.patch)
Author: csagan5
Context:
License: GPL-3.0-only |Disable all omissions because they are used throughout the code without
a corresponding user option to individually disable their usage.|
+|**Disable omission of URL elements**
Wed, 11 Oct 2017 23:24:58 +0200
File: [Disable-omission-of-URL-elements.patch](/build/patches/Disable-omission-of-URL-elements.patch)
Author: uazo
Context:
License: GPL-2.0-or-later |Disabling some omissions of complete urls|
|**Disable plugins enumeration**
Thu, 22 Mar 2018 22:38:00 +0100
File: [Disable-plugins-enumeration.patch](/build/patches/Disable-plugins-enumeration.patch)
Author: csagan5
Context:
License: GPL-3.0-only ||
|**Disable prefers-reduced-transparency media query**
Fri, 20 Oct 2023 14:53:41 +0000
File: [Disable-prefers-reduced-transparency-media-query.patch](/build/patches/Disable-prefers-reduced-transparency-media-query.patch)
Author: uazo
Context:
License: |This feature can be used for fingerprinting as it exposes a user preference|
-|**Disable privacy issues in password manager**
Tue, 14 Mar 2023 15:59:38 +0000
File: [Disable-privacy-issues-in-password-manager.patch](/build/patches/Disable-privacy-issues-in-password-manager.patch)
Author: uazo
Context:
License: GPL-2.0-or-later ||
+|**Disable privacy issues in password manager**
Tue, 14 Mar 2023 15:59:38 +0000
File: [Disable-privacy-issues-in-password-manager.patch](/build/patches/Disable-privacy-issues-in-password-manager.patch)
Author: uazo
Context:
License: GPL-2.0-or-later |Need: Add-cromite-flags-support.patch|
|**Disable privacy sandbox**
Sat, 13 Nov 2021 09:17:06 +0000
File: [Disable-privacy-sandbox.patch](/build/patches/Disable-privacy-sandbox.patch)
Author: uazo
Context:
License: GPL-3.0-only |Remove UI from the settings and set the flags to inactive
Permanently removes FLoC support, disabling the download of LSH clusters,
the marking the history navigation and the javascript API and permission policies.
Also disable FirstPartySets and StorageAccessAPI.|
|**Disable ranker_url_fetcher**
Sun, 8 Oct 2023 16:04:56 +0000
File: [Disable-ranker-url-fetcher.patch](/build/patches/Disable-ranker-url-fetcher.patch)
Author: uazo
Context:
License: GPL-2.0-or-later ||
|**Disable references to fonts.googleapis.com**
Sun, 15 Oct 2017 21:45:46 +0200
File: [Disable-references-to-fonts.googleapis.com.patch](/build/patches/Disable-references-to-fonts.googleapis.com.patch)
Author: csagan5
Context:
License: GPL-3.0-only ||
@@ -117,6 +121,7 @@
|**Disable some signed exchange features**
Sat, 2 Nov 2019 16:22:56 +0100
File: [Disable-some-signed-exchange-features.patch](/build/patches/Disable-some-signed-exchange-features.patch)
Author: csagan5
Context:
License: GPL-3.0-only ||
|**Disable speechSynthesis getVoices API**
Thu, 20 Apr 2023 15:03:13 +0000
File: [Disable-speechSynthesis-getVoices-API.patch](/build/patches/Disable-speechSynthesis-getVoices-API.patch)
Author: uazo
Context:
License: GPL-2.0-or-later |Adds flag disable-speechsynthesis-voice-list to disable
SpeechSynthesis.getVoices() call.
If not active the user must also set the system timezone override
to enable it.
Disable LiveCaption
Require: Timezone-customization.patch|
|**Disable support for RAR files inspection**
Wed, 21 Nov 2018 02:37:35 +0000
File: [Disable-support-for-RAR-files-inspection.patch](/build/patches/Disable-support-for-RAR-files-inspection.patch)
Author: Michael
Context:
License: GPL-3.0-only ||
+|**Disable support for pointer device id**
Thu, 25 Jul 2024 08:25:37 +0000
File: [Disable-support-for-pointer-device-id.patch](/build/patches/Disable-support-for-pointer-device-id.patch)
Author: uazo
Context:
License: GPL-2.0-or-later |disable pointerEvent.deviceId for Windows devices that are able to provide a GUID
or serial number and id making them identical to the mouse pointer-id.
see https://groups.google.com/a/chromium.org/g/blink-dev/c/3eU-AHH8x4k
Need: Add-cromite-flags-support.patch|
|**Disable text fragments by default**
Sat, 22 Aug 2020 12:46:20 +0200
File: [Disable-text-fragments-by-default.patch](/build/patches/Disable-text-fragments-by-default.patch)
Author: csagan5
Context:
License: GPL-3.0-only |Revert "[Text Fragment] Unflag fragment directive removal."|
|**Disable the DIAL repeating discovery**
Sun, 23 Aug 2020 14:32:55 -0500
File: [Disable-the-DIAL-repeating-discovery.patch](/build/patches/Disable-the-DIAL-repeating-discovery.patch)
Author: Blaise
Context:
License: GPL-3.0-only |This causes unnecessary SSDP network spam|
|**Disable third-party origin trials**
Thu, 4 Nov 2021 09:19:24 +0100
File: [Disable-third-party-origin-trials.patch](/build/patches/Disable-third-party-origin-trials.patch)
Author: csagan5
Context:
License: GPL-3.0-only ||
@@ -134,6 +139,7 @@
|**Do not store passwords by default**
Wed, 11 Oct 2017 23:17:17 +0200
File: [Do-not-store-passwords-by-default.patch](/build/patches/Do-not-store-passwords-by-default.patch)
Author: csagan5
Context:
License: GPL-3.0-only ||
|**Do not use Windows ClearType Text Tuner setting**
Tue, 16 Apr 2024 12:29:29 +0000
File: [Do-not-use-Windows-ClearType-Text-Tuner-setting.patch](/build/patches/Do-not-use-Windows-ClearType-Text-Tuner-setting.patch)
Author: uazo
Context:
License: GPL-2.0-or-later ||
|**DoH improvements**
Sat, 26 Sep 2020 14:23:19 +0100
File: [DoH-improvements.patch](/build/patches/DoH-improvements.patch)
Author: csagan5
Context:
License: GPL-3.0-only |Enable secure mode by default
Always enforce DoH even with inconsistent system DNS configuration|
+|**Downstream validate opaque origins checking their precursor**
Mon, 29 Jul 2024 10:22:46 +0000
File: [Downstream-validate-opaque-origins-checking-their-precursor.patch](/build/patches/Downstream-validate-opaque-origins-checking-their-precursor.patch)
Author: uazo
Context:
License: |commit https://source.chromium.org/chromium/chromium/src/+/4043b7370f9b845cd06f07296e115c7094662c66|
|**Enable -fwrapv in Clang for non-UBSan builds**
Thu, 22 Dec 2016 07:15:34 -0500
File: [Enable-fwrapv-in-Clang-for-non-UBSan-builds.patch](/build/patches/Enable-fwrapv-in-Clang-for-non-UBSan-builds.patch)
Author: Daniel
Context:
License: GPL-3.0-only |Using -fwrapv (notably only when not using signed integer overflow checking -
since it will override it and result in not performing checks) is just common
sense since it eliminates the chance of security vulnerabilities being
introduced by optimizations based on signed overflow being undefined.
That has happened before, and those optimizations don't even add up to a 0.1%
performance increase for this kind of software. It's not worth having.
The Linux kernel passes -fwrapv and also -fno-strict-aliasing to disable those
dangerous optimizations (since there is so much incorrect code they can break).
In fact, it is easy to point to dozens of known examples of invalid code that
could potentially be broken by those optimizations.
It is not acceptable for projects to be using optimizations that are known to
be broken with a bunch of code in their tree.
They put barely any effort into even fixing the known cases.
Chromium has blacklists for UBSan for 'false positives' (none of which are
actually false positives, but rather "undefined, but not a bug beyond
potentially being broken by optimizations or even code generation without
them") and also for components too full of these bugs for them to currently
want to bother with it. That includes a bunch of signed overflow issues
(there is sadly no detection for aliasing violations, which are fairly common,
but not that common).
Ideally, -fwrapv could be always passed, but unfortunately the way it is
implemented has silly interactions with other switches.
The reason it would still make sense to pass it is because due to their UBSan
blacklists, they get far from full coverage with it, so -fwrapv would still
be better than nothing where it's not being used.
Since -fwrapv makes signed integer overflow well-defined, Clang will disable
the UBSan checks for signed integer overflow, including in the
production-oriented trapping mode used for hardening.
Excerpt from https://github.com/bromite/bromite/issues/226|
|**Enable Android Dynamic Performance Framework**
Wed, 23 Aug 2023 13:49:19 +0000
File: [Enable-Android-Dynamic-Performance-Framework.patch](/build/patches/Enable-Android-Dynamic-Performance-Framework.patch)
Author: uazo
Context:
License: GPL-2.0-or-later ||
|**Enable Certificate Transparency**
Fri, 10 Jun 2022 14:20:02 +0200
File: [Enable-Certificate-Transparency.patch](/build/patches/Enable-Certificate-Transparency.patch)
Author: csagan5
Context:
License: GPL-3.0-only |Reporting/auditing functionalities are disabled; a flag is exposed.
Add guard to make sure that certificate transparency stays enabled
by default.|
@@ -222,6 +228,7 @@
|**Remove voice recognition integration**
Sun, 19 Jun 2022 12:57:56 +0200
File: [Remove-voice-recognition-integration.patch](/build/patches/Remove-voice-recognition-integration.patch)
Author: csagan5
Context:
License: GPL-3.0-only ||
|**Remove window name on cross origin navigation**
Sat, 9 Jul 2022 06:59:18 +0000
File: [Remove-window-name-on-cross-origin-navigation.patch](/build/patches/Remove-window-name-on-cross-origin-navigation.patch)
Author: uazo
Context:
License: GPL-3.0-only |See also: https://trac.webkit.org/changeset/209076/webkit|
|**Replace DoH probe domain with RIPE domain**
Sun, 27 Oct 2019 10:00:13 +0100
File: [Replace-DoH-probe-domain-with-RIPE-domain.patch](/build/patches/Replace-DoH-probe-domain-with-RIPE-domain.patch)
Author: csagan5
Context:
License: GPL-3.0-only |Replace known good hostname|
+|**Restore BookmarkToolbar#setCurrentFolder**
Thu, 18 Jul 2024 14:03:12 +0000
File: [Restore-BookmarkToolbar-setCurrentFolder.patch](/build/patches/Restore-BookmarkToolbar-setCurrentFolder.patch)
Author: uazo
Context:
License: GPL-2.0-or-later |restore https://chromium-review.googlesource.com/c/chromium/src/+/5554182|
|**Restore LastTabStandingTracker**
Tue, 30 May 2023 15:13:31 +0000
File: [Restore-LastTabStandingTracker.patch](/build/patches/Restore-LastTabStandingTracker.patch)
Author: uazo
Context:
License: GPL-2.0-or-later ||
|**Restore Search Ready Omnibox flag**
Thu, 10 Oct 2019 23:30:16 +0200
File: [Restore-Search-Ready-Omnibox-flag.patch](/build/patches/Restore-Search-Ready-Omnibox-flag.patch)
Author: csagan5
Context:
License: GPL-3.0-only |Revert "Cleanup Search Ready Omnibox flag since it has launched"
This reverts commit ae458edcc8422d0815d0e82261e71fe10d7d6fc2.
Disable search-ready omnibox by default|
|**Restore Simplified NTP launch**
Sat, 7 Nov 2020 23:51:29 +0100
File: [Restore-Simplified-NTP-launch.patch](/build/patches/Restore-Simplified-NTP-launch.patch)
Author: csagan5
Context:
License: GPL-3.0-only |This reverts commit 4d0e4483c5f77c66a8b6193e8a3bec5d0624d6ad.|
@@ -237,7 +244,6 @@
|**Revert remove AllowScript content settings per secondary url**
Sun, 14 Apr 2024 07:35:57 +0000
File: [Revert-remove-allowscript-content-setting-secondary-url.patch](/build/patches/Revert-remove-allowscript-content-setting-secondary-url.patch)
Author: uazo
Context:
License: |https://chromium-review.googlesource.com/c/chromium/src/+/5307559|
|**Samsung Note 9 SDK27 crazylinker workaround**
Thu, 3 Feb 2022 19:48:49 +0000
File: [Samsung-Note-9-SDK27-crazylinker-workaround.patch](/build/patches/Samsung-Note-9-SDK27-crazylinker-workaround.patch)
Author: uazo
Context:
License: GPL-3.0-only ||
|**Show NTP at startup**
Tue, 27 Feb 2024 16:20:43 +0000
File: [Show-NTP-at-startup.patch](/build/patches/Show-NTP-at-startup.patch)
Author: uazo
Context:
License: GPL-2.0-or-later |Adds an active option by default to automatically open the
NTP at each reboot and allows the user to continue the old browsing.
Until the real tab is opened, no data is retrieved.|
-|**Show full urls for bookmark**
Fri, 20 Oct 2023 12:36:07 +0000
File: [Show-full-urls-for-bookmark.patch](/build/patches/Show-full-urls-for-bookmark.patch)
Author: uazo
Context:
License: |Restore omnibox-bookmark-paths flag and show full urls
in android bookmark page
See https://source.chromium.org/chromium/chromium/src/+/4a9dd5ab3709d60f40beb2f801a0185ab2ba992a|
|**Show site settings for cookies, javascript and ads**
Sat, 28 Dec 2019 10:23:04 +0100
File: [Show-site-settings-for-cookies-javascript-and-ads.patch](/build/patches/Show-site-settings-for-cookies-javascript-and-ads.patch)
Author: csagan5
Context:
License: GPL-3.0-only |Avoid displaying info about intrusive ads|
|**Site setting for images**
Tue, 5 Oct 2021 08:38:52 +0000
File: [Site-setting-for-images.patch](/build/patches/Site-setting-for-images.patch)
Author: uazo
Context:
License: GPL-3.0-only |Require: Content-settings-infrastructure.patch|
|**Switch to -fstack-protector-strong**
Wed, 26 Dec 2018 10:20:24 -0500
File: [Switch-to-fstack-protector-strong.patch](/build/patches/Switch-to-fstack-protector-strong.patch)
Author: Daniel
Context:
License: GPL-3.0-only |This compiler option is already used for ChromeOS, but not yet on other
platforms because there is push back against enabling an option resulting in
~1-2% lower performance and ~2-3% larger binaries.
The size increase on Android is something they care a lot about since some
devices have very little storage space. That also means ever so slightly
higher memory/cache usage but not by the full 2-3%.|
@@ -245,8 +251,8 @@
|**Temp PerformanceNavigationTiming privacy fix**
Wed, 11 Oct 2023 09:40:53 +0000
File: [Temp-PerformanceNavigationTiming-privacy-fix.patch](/build/patches/Temp-PerformanceNavigationTiming-privacy-fix.patch)
Author: uazo
Context:
License: GPL-2.0-or-later ||
|**Temp disable predictive back gesture**
Sat, 12 Aug 2023 14:48:57 +0000
File: [Temp-disable-predictive-back-gesture.patch](/build/patches/Temp-disable-predictive-back-gesture.patch)
Author: uazo
Context:
License: GPL-2.0-or-later ||
|**Temp guard FileSystemAccessPersistentPermissions**
Sun, 29 Oct 2023 15:18:24 +0000
File: [Temp-guard-FileSystemAccessPersistentPermissions.patch](/build/patches/Temp-guard-FileSystemAccessPersistentPermissions.patch)
Author: uazo
Context:
License: ||
+|**Temp try to fix DIPS service**
Mon, 29 Jul 2024 12:12:37 +0000
File: [Temp-try-to-fix-DIPS-service.patch](/build/patches/Temp-try-to-fix-DIPS-service.patch)
Author: uazo
Context:
License: ||
|**Timezone customization**
Wed, 30 Sep 2020 07:40:01 +0000
File: [Timezone-customization.patch](/build/patches/Timezone-customization.patch)
Author: uazo
Context:
License: GPL-3.0-only |Allow specifying a custom timezone, or using a random one.
See also: https://github.com/bromite/bromite/wiki/TimezoneOverride
Require: Content-settings-infrastructure.patch|
-|**Use 4 tile rows, never show logo**
Wed, 21 Feb 2018 00:32:09 +0100
File: [Use-4-tile-rows-never-show-logo.patch](/build/patches/Use-4-tile-rows-never-show-logo.patch)
Author: csagan5
Context:
License: GPL-3.0-only ||
|**Use 64-bit WebView processes**
Thu, 26 Jan 2017 01:30:12 -0500
File: [Use-64-bit-WebView-processes.patch](/build/patches/Use-64-bit-WebView-processes.patch)
Author: Daniel
Context:
License: GPL-3.0-only |64-bit processes introduce 10% or so higher memory consumption.
The reason for preferring 64-bit processes is providing substantially better
exploit mitigations at the expense of slightly more memory usage.
In addition to the standard mitigations, it also enables usage of
https://github.com/AndroidHardening/hardened_malloc (where available).
It will provide high entropy ASLR (24-bit to 32-bit depending on whether the
kernel uses 3 or 4 level page tables rather than 16-bit for 32-bit processes),
high entropy stack canaries (56/64-bit instead of 24/32-bit depending on
whether a zero byte is used) and also features like pointer authentication and
memory tagging when those are made available in the future.
The reason why upstream started preferring 32-bit processes is to save memory,
particularly since saving memory makes it feasible to use finer-grained
sandboxing.|
|**Use BoringSSL for RandBytes**
Wed, 30 Sep 2020 07:40:01 +0000
File: [Use-BoringSSL-for-RandBytes.patch](/build/patches/Use-BoringSSL-for-RandBytes.patch)
Author: uazo
Context:
License: GPL-2.0-or-later ||
|**Use dummy DFM installer**
Sun, 15 Dec 2019 19:40:37 +0100
File: [Use-dummy-DFM-installer.patch](/build/patches/Use-dummy-DFM-installer.patch)
Author: csagan5
Context:
License: GPL-3.0-only ||