From 846f64543f6f2ec2e0345e0917f9815cf9805b48 Mon Sep 17 00:00:00 2001 From: uazo <29201891+uazo@users.noreply.github.com> Date: Thu, 3 Oct 2024 10:32:53 +0000 Subject: [PATCH] [AUTO][DOC] Generate patches doc for master branch --- docs/PATCHES.md | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/docs/PATCHES.md b/docs/PATCHES.md index 115badb3..4eec204a 100644 --- a/docs/PATCHES.md +++ b/docs/PATCHES.md @@ -13,14 +13,14 @@ |**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.
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 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.
Use the CCT ephemeral mode.
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.| |**Add flag for save-data-header**
Mon, 1 Feb 2021 19:18:55 +0200
File: [Add-flag-for-save-data-header.patch](/build/patches/Add-flag-for-save-data-header.patch)
Author: Wengling
Context:
License: GPL-3.0-only || |**Add flag to configure maximum connections per host**
Sun, 8 Jul 2018 22:42:04 +0200
File: [Add-flag-to-configure-maximum-connections-per-host.patch](/build/patches/Add-flag-to-configure-maximum-connections-per-host.patch)
Author: csagan5
Context:
License: GPL-3.0-only |With the introduction of this flag it is possible to increase the maximum
allowed connections per host; this can however be detrimental to devices
with limited CPU/memory resources and it is disabled by default.| |**Add flag to control video playback resume feature**
Thu, 25 Oct 2018 23:13:34 +0200
File: [Add-flag-to-control-video-playback-resume-feature.patch](/build/patches/Add-flag-to-control-video-playback-resume-feature.patch)
Author: csagan5
Context:
License: GPL-3.0-only |Disable it by default on Android as it is everywhere else| |**Add flag to disable IPv6 probes**
Sun, 18 Nov 2018 13:06:49 +0100
File: [Add-flag-to-disable-IPv6-probes.patch](/build/patches/Add-flag-to-disable-IPv6-probes.patch)
Author: csagan5
Context:
License: GPL-3.0-only || -|**Add flag to disable external intent requests**
Tue, 25 May 2021 19:46:14 +0200
File: [Add-flag-to-disable-external-intent-requests.patch](/build/patches/Add-flag-to-disable-external-intent-requests.patch)
Author: csagan5
Context:
License: GPL-3.0-only |Adds a new flag that allows to control the switch with same name;
when flag is disabled no external intent will ever be allowed, for any URL.| +|**Add flag to disable external intent requests**
Tue, 25 May 2021 19:46:14 +0200
File: [Add-flag-to-disable-external-intent-requests.patch](/build/patches/Add-flag-to-disable-external-intent-requests.patch)
Author: csagan5
Context:
License: GPL-3.0-only |Adds a new flag that allows to control the switch with same name;
when flag is disabled no external intent will ever be allowed,
for any URL except for the tel: schema.
This also reverts commit b710cefb53b558a8bcd884f6baf0229ba4225721 and
enables IntentBlockExternalFormRedirectsNoGesture.| |**Add flag to disable vibration**
Sun, 27 Jun 2021 17:35:39 +0200
File: [Add-flag-to-disable-vibration.patch](/build/patches/Add-flag-to-disable-vibration.patch)
Author: csagan5
Context:
License: GPL-3.0-only || |**Add kill switch for unsupported clangd flags**
Thu, 20 Oct 2022 09:34:48 +0000
File: [Add-kill-switch-for-unsupported-clangd-flags.patch](/build/patches/Add-kill-switch-for-unsupported-clangd-flags.patch)
Author: uazo
Context:
License: GPL-3.0-only |Allows build with clangd by suppressing unsupported parameters| |**Add lifetime options for permissions**
Fri, 8 Apr 2022 11:04:04 +0000
File: [Add-lifetime-options-for-permissions.patch](/build/patches/Add-lifetime-options-for-permissions.patch)
Author: uazo
Context:
License: GPL-3.0-only |Indicate the session mode for content-settings by using the constraint `content_settings::SessionModel` as
UserSession when setting the value, and also make use of an expiration time value.
This is used in Chromium for `ClientHints` but it is generally possible to use this functionality when a
specific value needs to be persisted by origin.
All content settings of this type are not saved on disk (except for the `Forever` option), allowing user to
reset the status each time application is restarted.
There are 4 main areas affected to introduce the functionality:
* components/content_settings
A new `content_settings::LifetimeMode` enum value is defined to specify the user's
choice (Always, OnlyThisTime, UntilOriginClosed, UntilBrowserClosed).
Enumeration is also generated for java by adding it in `content_settings_enums_javagen` (gn).
This is mainly used in `content_settings_utils.cc` to create a specialised `content_settings::ContentSettingConstraints`
that is then used in `SetContentSettingDefaultScope()` by `PermissionContextBase::UpdateContentSetting`.
Existing Chromium data structures do not provide a specific property to define a choice which is instead encoded through
the `ContentSettingConstraints`; this approach is already used in other parts of the Chromium codebase so it is not
novel here.
Therefore, `content_settings::GetConstraintSessionExpiration()` and `content_settings::IsConstraintSessionExpiration()`
manage the lifetime modes of the session content-settings.
The modificaiton also adds the session pattern to the ContentSettingPatternSource so that it is available for the UI.
* components/permissions
Lifetime support is added to the permissions; most of the changes are caused by the fact that it is necessary to report
the value selected by the user from the Java UI managed by `components/browser_ui` up to
`PermissionContextBase::UpdateContentSetting()`, without necessarily having to modify all requests that are not
related to geolocation/camera/microphone. The approach used is a new
`PermissionRequest::PermissionDecidedCallbackWithLifetime` used by an overload of
`PermissionContextBase::CreatePermissionRequest` so that options are present only for the specific content-settings
(see `PermissionDialogModel.java`).
For other permissions no behaviour is changed (see `PermissionDialogDelegate::Accept`); for geolocation it was
necessary to act directly in the specific context, because, unlike microphone/camera, the content-setting value is
inserted in its specific method (`FinishNotifyPermissionSet`, that calls the callback), even if the class always
derives from `PermissionContextBase`.
* components/page_info
Some changes needed to see in the summary of the `page_info` the text "(only this session)"
(aka `page_info_android_permission_session_permission`) through adding a new property "is_user_session" in
`PageInfoPermissionEntry` (Java).
* components/browser_ui
Changes to the Settings UI to show "(only this session)" in the specific content-setting.
The same view is used both in the settings and in the page_info.
For the management of `UntilOriginClosed` the logic used by flag `kOneTimeGeolocationPermission` was used; this flag
is active only in the desktop (files `last_tab_standing_tracker_*`). It is a class that manages a list of the active
origins and allows to perform operations when all the tabs relating to that origin have been closed, in this case
deleting the session content settings of `UntilOriginClosed`.
See also: https://github.com/bromite/bromite/issues/1549| @@ -140,7 +140,6 @@ |**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.| -|**Enable ClickToCall**
Sat, 21 Sep 2024 14:38:40 +0000
File: [Enable-ClickToCall.patch](/build/patches/Enable-ClickToCall.patch)
Author: uazo
Context:
License: GPL-2.0-or-later |Reactivation of the "click-to-call" flag and activation by default.
The functionality is only active if sending Intents from the web is allowed| |**Enable Do-Not-Track by default**
Wed, 29 May 2024 13:49:01 +0000
File: [Enable-Do-Not-Track-by-default.patch](/build/patches/Enable-Do-Not-Track-by-default.patch)
Author: uazo
Context:
License: GPL-2.0-or-later || |**Enable Document Open Inheritance Removal**
Tue, 28 Mar 2023 15:43:18 +0000
File: [Enable-Document-Open-Inheritance-Removal.patch](/build/patches/Enable-Document-Open-Inheritance-Removal.patch)
Author: uazo
Context:
License: GPL-2.0-or-later || |**Enable Global Privacy Control**
Wed, 29 May 2024 13:43:50 +0000
File: [Enable-Global-Privacy-Control.patch](/build/patches/Enable-Global-Privacy-Control.patch)
Author: uazo
Context:
License: GPL-2.0-or-later || @@ -174,7 +173,6 @@ |**Improve plain text rendering on mobile**
Mon, 30 May 2022 22:25:04 -0400
File: [Improve-plain-text-rendering-on-mobile.patch](/build/patches/Improve-plain-text-rendering-on-mobile.patch)
Author: mauve
Context:
License: GPL-3.0-only || |**Improve the browser sandbox**
Fri, 17 Feb 2023 16:23:20 +0000
File: [Improve-the-browser-sandbox.patch](/build/patches/Improve-the-browser-sandbox.patch)
Author: uazo
Context:
License: GPL-2.0-or-later |by enabling network service sandbox and CIG in windows and
using the new flags on android| |**Increase number of autocomplete matches to 10**
Sun, 27 Oct 2019 10:18:39 +0100
File: [Increase-number-of-autocomplete-matches-to-10.patch](/build/patches/Increase-number-of-autocomplete-matches-to-10.patch)
Author: csagan5
Context:
License: GPL-3.0-only |Patch adapted from https://github.com/Eloston/ungoogled-chromium/issues/814#issuecomment-526874703| -|**Inject scripts for AMP, tracking, ads and video**
Sat, 28 Oct 2017 10:09:41 +0200
File: [Inject-scripts-for-AMP-tracking-ads-and-video.patch](/build/patches/Inject-scripts-for-AMP-tracking-ads-and-video.patch)
Author: csagan5
Context:
License: GPL-3.0-only |Remove AMP, tracking and ads from search results
Break Page Visibility API and Fullscreen API for youtube.com and
vimeo.com to allow playing videos in background (original Javascript
code by timdream)
Set proper injection script nonce
Send a random key press to circumvent idle status detection| |**Internal firewall**
Sat, 15 Apr 2023 11:48:49 +0000
File: [Internal-firewall.patch](/build/patches/Internal-firewall.patch)
Author: uazo
Context:
License: GPL-2.0-or-later |Introduces a kind of firewall on http calls made by the
browser that allows selective blocking via the NetworkTrafficAnnotationTag.
allowed or explicitly blocked calls are defined
in services/firewall/tools/rules.xml| |**Invalidate components public key**
Fri, 10 Jun 2022 14:21:13 +0200
File: [Invalidate-components-public-key.patch](/build/patches/Invalidate-components-public-key.patch)
Author: csagan5
Context:
License: GPL-3.0-only |This prevents usage of any signed component| |**JIT site settings**
Sat, 29 Jan 2022 15:22:45 +0000
File: [JIT-site-settings.patch](/build/patches/JIT-site-settings.patch)
Author: fgei
Context:
License: GPL-3.0-only |Adds a content setting to manage Javascript JIT, disabled by default.
Since the interface of the content settings foresees an eTLD origin
it requires the activation of SitePerProcess and StrictOriginIsolation
to make sure that the instantiated RenderProcess can have JIT correctly set.
Without those features, the RenderProcess would be shared between all eTLD+1.
note: needs SitePerProcess and StrictOriginIsolation flags enabled
Require: Content-settings-infrastructure.patch| @@ -235,7 +233,6 @@ |**Restore chrome password store**
Wed, 30 Sep 2020 07:40:01 +0000
File: [Restore-chrome-password-store.patch](/build/patches/Restore-chrome-password-store.patch)
Author: uazo
Context:
License: GPL-2.0-or-later || |**Restore classic new tab page**
Sun, 26 Nov 2017 11:40:05 +0100
File: [Restore-classic-new-tab-page.patch](/build/patches/Restore-classic-new-tab-page.patch)
Author: csagan5
Context:
License: GPL-3.0-only || |**Restore offline-indicator-v2 flag**
Sat, 4 Dec 2021 11:41:31 +0100
File: [Restore-offline-indicator-v2-flag.patch](/build/patches/Restore-offline-indicator-v2-flag.patch)
Author: csagan5
Context:
License: GPL-3.0-only |Reverts acc8b6f4542703211e5f3c5181914fd3374c9e84| -|**Revert Delete block-external-form-redirects**
Thu, 16 Jun 2022 23:23:43 +0200
File: [Revert-Delete-block-external-form-redirects.patch](/build/patches/Revert-Delete-block-external-form-redirects.patch)
Author: csagan5
Context:
License: GPL-3.0-only |This reverts commit b710cefb53b558a8bcd884f6baf0229ba4225721 and
enables IntentBlockExternalFormRedirectsNoGesture.| |**Revert Permit blocking of view-source**
Sun, 6 Mar 2022 11:29:27 +0100
File: [Revert-Permit-blocking-of-view-source.patch](/build/patches/Revert-Permit-blocking-of-view-source.patch)
Author: csagan5
Context:
License: GPL-3.0-only |This reverts commit e72fc9b64116bf259e516096fcc60b58ae8ae1b3.| |**Revert flags: remove disable-pull-to-refresh-effect**
Mon, 2 Dec 2019 21:15:32 +0100
File: [Revert-flags-remove-disable-pull-to-refresh-effect.patch](/build/patches/Revert-flags-remove-disable-pull-to-refresh-effect.patch)
Author: csagan5
Context:
License: GPL-3.0-only |This reverts commit 4e598f38a0e6dd3dbede009c6a99b2a520a94e1f.| |**Revert flags: remove num-raster-threads**
Sat, 23 Jan 2021 17:47:21 +0100
File: [Revert-flags-remove-num-raster-threads.patch](/build/patches/Revert-flags-remove-num-raster-threads.patch)
Author: csagan5
Context:
License: GPL-3.0-only |This reverts commit 2a51528a1737e9038f7f96f29403032a6a845a25.|