Compare commits
7
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
00411eb209 | ||
|
|
a56884e75e | ||
|
|
1f363eba23 | ||
|
|
6f5d36bc5c | ||
|
|
a500255598 | ||
|
|
af8378b675 | ||
|
|
3c916480b2 |
+11
-1
@@ -1,8 +1,18 @@
|
||||
# 79.0.3945.139
|
||||
* remove patch to automatically disable video decoding acceleration on Android 10+ and arm64
|
||||
* fix referral headers bug in non-DoH requests (fixes https://github.com/bromite/bromite/issues/470)
|
||||
* disable smart selection by default, enable web search in incognito mode
|
||||
* disable DRM media pre-provisioning (fixes https://github.com/bromite/bromite/issues/471)
|
||||
|
||||
# 79.0.3945.123
|
||||
* updated User-agent version
|
||||
* increase minimum DoH timeout to 400ms (fixes https://github.com/bromite/bromite/issues/437)
|
||||
|
||||
# 79.0.3945.111
|
||||
* automatically disable video decoding acceleration on Android 10+ and arm64
|
||||
* restore enable-horizontal-tab-switcher flag
|
||||
* remove non-working contextual search settings
|
||||
* disable QUIC by default
|
||||
* fix DoH timeouts issue (https://github.com/bromite/bromite/issues/437)
|
||||
* remove logging for DoH timeouts
|
||||
|
||||
# 79.0.3945.107
|
||||
|
||||
@@ -39,13 +39,23 @@ No.
|
||||
## Is Bromite de-googled?
|
||||
|
||||
Yes, although this has not been verified (and hardly can be) under all situations; if you were to find connections to cloud-based services please report them via the issue tracker.
|
||||
Bromite uses [ungoogled-chromium's python script](https://github.com/Eloston/ungoogled-chromium/blob/master/utils/domain_substitution.py) to disable URLs in the codebase since version `78.0.3904.93`.
|
||||
|
||||
Projects which follow a strict approach on this are [Iridium](https://iridiumbrowser.de/) and [Inox patchset](https://github.com/gcarq/inox-patchset).
|
||||
|
||||
## Does Bromite support DRM media?
|
||||
|
||||
Yes, in order to play protected/encrypted media content the browser will use Android's DRM media framework to automatically negotiate access (same as Chromium).
|
||||
This means for example that requests to Android license servers will be performed (`www.googleapis.com`), see https://w3c.github.io/encrypted-media/#direct-individualization
|
||||
To disable this functionality you should disable protected content playback from Site settings -> Multimedia.
|
||||
|
||||
## What is the SystemWebView?
|
||||
It is the core component of Android for all web page visualizations. For example when you access a new wifi network and need to activate it, that is using the SystemWebView. If you do not know what it is then you do not need to install it.
|
||||
|
||||
See also [the wiki page](https://github.com/bromite/bromite/wiki/Installing-SystemWebView) for community-contributed installation instructions.
|
||||
|
||||
Ad-blocking was present and always enabled in the SystemWebView from version `72.0.3626.120` till version `77.0.3865.104`, when it stopped working due to [upstream NetworkService changes](https://docs.google.com/document/d/1TZEuPvr2KAbP4_TZpuuwtEEArQsyAkc2HDu68l66YwU/edit?ts=598244df#heading=h.ougoi5i6508y).
|
||||
|
||||
## How to enable DNS-over-HTTPS?
|
||||
|
||||
See [this wiki page](https://github.com/bromite/bromite/wiki/Enabling-DNS-over-HTTPS).
|
||||
@@ -67,17 +77,36 @@ You can use F-Droid client to install and receive updates via [the official Brom
|
||||
## Does Bromite support WebRTC?
|
||||
Yes, since version 69. While the desktop version of Chromium has an option to disable it (video/audio site settings), the Android version cannot.
|
||||
|
||||
The WebRTC functionality has always been using safe defaults to prevent leaks (disabled multiple routes and non-proxied UDP).
|
||||
|
||||
## Using Bromite will favour the monopoly of the Chromium/Blink engine, why do you develop and maintain Bromite?
|
||||
In short, to show what a Chromium-based engine could do **for the user** if the user experience and needs were the main focus of modern browser design.
|
||||
|
||||
For an Android browser using an alternative engine see [Fennec F-Droid](https://f-droid.org/en/packages/org.mozilla.fennec_fdroid/).
|
||||
|
||||
## Does Bromite support extensions?
|
||||
No; Bromite will support extensions only if upstream (Chromium) does, or similarly another project maintains the patch and functionality.
|
||||
|
||||
# Features
|
||||
|
||||
* customizable adblock filters via user-provided URL
|
||||
* remove click-tracking and AMP from search results
|
||||
* DNS-over-HTTPS support, you can use any DoH endpoint
|
||||
* DNS-over-HTTPS support with any valid IETF DoH endpoint
|
||||
* always-incognito mode
|
||||
* completely removed safe browsing and other privacy-unfriendly features
|
||||
* disable all field trials permanently
|
||||
* disable [QUIC](https://en.wikipedia.org/wiki/QUIC) by default
|
||||
* disable smart search by default, allow web search from incognito mode
|
||||
* always-visible cookies, javascript and ads site settings
|
||||
* remove Play integration binary blobs
|
||||
* use [CFI](https://en.wikipedia.org/wiki/Control-flow_integrity) on all architectures except x86
|
||||
* disable media router and remoting by default
|
||||
* disable dynamic module loading
|
||||
* enable site-per-process isolation for all devices with memory > 1GB
|
||||
* completely remove safe browsing and other privacy-unfriendly features
|
||||
* [proxy configuration page](https://github.com/bromite/bromite/wiki/ProxyConfiguration) with PAC and custom proxy lists support
|
||||
* [StartPage](https://startpage.com/), [DuckDuckGo](https://duckduckgo.com/) and [Qwant](https://www.qwant.com/) search engines available by default
|
||||
* chrome flags to disable custom intents and clear session on exit
|
||||
* anti-fingerprinting mitigations for canvas, audio, client rects, webGL and sensor APIs
|
||||
* flags to disable custom intents and clear session on exit
|
||||
* flags to toggle anti-fingerprinting mitigations for canvas, audio, client rects, webGL and sensor APIs
|
||||
* use fixed User-Agent to conceal real model and browser version
|
||||
* privacy enhancement patches from [Iridium](https://iridiumbrowser.de/), [Inox patchset](https://github.com/gcarq/inox-patchset), [Brave](https://brave.com/) and [ungoogled-chromium](https://github.com/Eloston/ungoogled-chromium) projects
|
||||
* security enhancement patches from [GrapheneOS](https://github.com/GrapheneOS) project
|
||||
@@ -87,17 +116,30 @@ Yes, since version 69. While the desktop version of Chromium has an option to di
|
||||
* allow playing videos in background tabs and disable pause on switching tabs
|
||||
* all codecs included (proprietary, open H.264 etc.)
|
||||
* [AV1 codec support](https://github.com/bromite/bromite/wiki/AV1-support)
|
||||
* [dav1d](https://code.videolan.org/videolan/dav1d) decoder enabled by default
|
||||
* built with official speed optimizations
|
||||
* increase number of autocomplete matches
|
||||
* allow changing default download storage location
|
||||
* do not ignore save prompt for users without SD cards
|
||||
* disable articles and increase number of icons on new tab page
|
||||
|
||||
You can inspect all functionality/privacy changes by reading the patches: https://github.com/bromite/bromite/tree/master/build/patches
|
||||
You can inspect all functionality/privacy changes by reading the [patches](https://github.com/bromite/bromite/tree/master/build/patches) and/or the [CHANGELOG](./CHANGELOG.md).
|
||||
|
||||
### Flags
|
||||
|
||||
Flags which have been retired from upstream Chromium but are still available in Bromite.
|
||||
|
||||
* `#enable-horizontal-tab-switcher`
|
||||
* `#pull-to-refresh`
|
||||
* `#enable-search-ready-omnibox`
|
||||
|
||||
# Privacy limitations
|
||||
|
||||
Bromite's privacy features, including anti-fingerprinting mitigations (which can be easily circumvented), **are not to be considered useful for journalists and people living in countries with freedom limitations**, please look at [Tor Browser](https://2019.www.torproject.org/projects/torbrowser.html.en) in such cases.
|
||||
Bromite's privacy features, including anti-fingerprinting mitigations (which are not comprehensive), **are not to be considered useful for journalists and people living in countries with freedom limitations**, please look at [Tor Browser](https://www.torproject.org/download/) in such cases.
|
||||
|
||||
# Releases
|
||||
|
||||
All built versions are available as [releases](https://github.com/bromite/bromite/releases); the [official website](https://www.bromite.org/) points to those releases and - when browsing via Android - it will automatically select the one apt for your device (or none otherwise).
|
||||
All built versions are available as [releases](https://github.com/bromite/bromite/releases); the [official website](https://www.bromite.org/) points to those releases and - when browsing via Android - it will automatically highlight the one apt for your device (or none otherwise).
|
||||
|
||||
Each tag corresponds to a Chromium Stable release tag.
|
||||
|
||||
@@ -116,8 +158,6 @@ arm64_ChromePublic.apk: OK
|
||||
arm64_ChromeModernPublic.apk: OK
|
||||
```
|
||||
|
||||
If you prefer an UI-based tool, you might want to look into [GtkHash](https://github.com/tristanheaven/gtkhash).
|
||||
|
||||
You can verify authenticity, e.g. that the author ([csagan5](https://github.com/csagan5)) released the file, by using gpg2:
|
||||
```
|
||||
$ gpg2 --quiet --verify brm_68.0.3440.54.sha256.txt.asc
|
||||
@@ -128,8 +168,6 @@ gpg: Good signature from "csagan5 <32685696+csagan5@users.noreply.github.com>"
|
||||
|
||||
You can download csagan5's public GnuPG key from here: [csagan5.asc](./csagan5.asc).
|
||||
|
||||
**NOTE:** releases before v68 did not have published signed hashes files.
|
||||
|
||||
# How to build
|
||||
|
||||
The [Bromite main repository](https://github.com/bromite/bromite) contains tags for each corresponding Chromium release (see https://chromium.googlesource.com/chromium/src.git).
|
||||
@@ -161,6 +199,7 @@ Bromite uses an unindexed filter file, which is periodically published at https:
|
||||
* [EasyPrivacy](https://easylist.to/#easyprivacy)
|
||||
* [uBlock Origin](https://github.com/uBlockOrigin)
|
||||
* [Peter Lowe's Ad and tracking server list](https://pgl.yoyo.org/adservers/)
|
||||
|
||||
# License
|
||||
|
||||
The patches published as part of the Bromite project are released under [GNU GPL v3](./LICENSE).
|
||||
|
||||
@@ -142,3 +142,6 @@ Always-show-site-settings-for-cookies-javascript-and-ads.patch
|
||||
Automated-domain-substitution.patch
|
||||
Do-not-enable-QUIC-by-default.patch
|
||||
Restore-enable-horizontal-tab-switcher-flag.patch
|
||||
Use-a-minimum-DoH-timeout-of-400ms.patch
|
||||
Disable-DRM-media-origin-IDs-preprovisioning.patch
|
||||
Disable-smart-selection-by-default.patch
|
||||
|
||||
@@ -38,7 +38,7 @@ diff --git a/components/search_engines/search_engine_type.h b/components/search_
|
||||
+ SEARCH_ENGINE_DUCKDUCKGOLIGHT,
|
||||
SEARCH_ENGINE_PARSIJOO,
|
||||
SEARCH_ENGINE_QWANT,
|
||||
|
||||
SEARCH_ENGINE_GIVERO,
|
||||
diff --git a/components/search_engines/template_url_prepopulate_data.cc b/components/search_engines/template_url_prepopulate_data.cc
|
||||
--- a/components/search_engines/template_url_prepopulate_data.cc
|
||||
+++ b/components/search_engines/template_url_prepopulate_data.cc
|
||||
|
||||
@@ -44,9 +44,9 @@ diff --git a/components/search_engines/prepopulated_engines.json b/components/se
|
||||
diff --git a/components/search_engines/search_engine_type.h b/components/search_engines/search_engine_type.h
|
||||
--- a/components/search_engines/search_engine_type.h
|
||||
+++ b/components/search_engines/search_engine_type.h
|
||||
@@ -68,6 +68,7 @@ enum SearchEngineType {
|
||||
SEARCH_ENGINE_PARSIJOO,
|
||||
SEARCH_ENGINE_QWANT,
|
||||
@@ -74,6 +74,7 @@ enum SearchEngineType {
|
||||
SEARCH_ENGINE_OCEANHERO,
|
||||
SEARCH_ENGINE_PRIVACYWALL,
|
||||
|
||||
+ SEARCH_ENGINE_GOOGLE_EN,
|
||||
SEARCH_ENGINE_MAX // Bounding value needed for UMA histogram macro.
|
||||
@@ -253,7 +253,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
const PrepopulatedEngine* const engines_CZ[] = {
|
||||
- &google,
|
||||
+ &googleen, &google,
|
||||
&seznam,
|
||||
&seznam_cz,
|
||||
&bing,
|
||||
&yahoo,
|
||||
@@ -211,7 +211,7 @@ const PrepopulatedEngine* const engines_CZ[] = {
|
||||
|
||||
@@ -221,7 +221,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
const PrepopulatedEngine* const engines_CZ[] = {
|
||||
- &googleen, &google,
|
||||
+ &googleen, &google, &qwant,
|
||||
&seznam,
|
||||
&seznam_cz,
|
||||
&bing,
|
||||
&yahoo,
|
||||
@@ -214,7 +214,7 @@ const PrepopulatedEngine* const engines_CZ[] = {
|
||||
|
||||
@@ -31,7 +31,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
|
||||
// Ensure that all effective connection types returned by Network Quality
|
||||
// Estimator (NQE) are also exposed via flags.
|
||||
static_assert(net::EFFECTIVE_CONNECTION_TYPE_LAST + 2 ==
|
||||
@@ -2596,6 +2601,9 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
@@ -2633,6 +2638,9 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
flag_descriptions::kPassiveDocumentEventListenersName,
|
||||
flag_descriptions::kPassiveDocumentEventListenersDescription, kOsAll,
|
||||
FEATURE_VALUE_TYPE(features::kPassiveDocumentEventListeners)},
|
||||
|
||||
@@ -13,7 +13,7 @@ Disable it by default on Android as it is everywhere else
|
||||
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
|
||||
--- a/chrome/browser/about_flags.cc
|
||||
+++ b/chrome/browser/about_flags.cc
|
||||
@@ -1633,6 +1633,10 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
@@ -1670,6 +1670,10 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
{"enable-webassembly-threads", flag_descriptions::kEnableWasmThreadsName,
|
||||
flag_descriptions::kEnableWasmThreadsDescription, kOsAll,
|
||||
FEATURE_VALUE_TYPE(features::kWebAssemblyThreads)},
|
||||
|
||||
@@ -16,7 +16,7 @@ Subject: Add flag to disable IPv6 probes
|
||||
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
|
||||
--- a/chrome/browser/about_flags.cc
|
||||
+++ b/chrome/browser/about_flags.cc
|
||||
@@ -3244,6 +3244,11 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
@@ -3281,6 +3281,11 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
kMarkHttpAsFeatureVariations,
|
||||
"HTTPReallyBadFinal")},
|
||||
|
||||
|
||||
@@ -11,7 +11,7 @@ Subject: Add flag to disable WebGL
|
||||
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
|
||||
--- a/chrome/browser/about_flags.cc
|
||||
+++ b/chrome/browser/about_flags.cc
|
||||
@@ -1425,6 +1425,9 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
@@ -1462,6 +1462,9 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
flag_descriptions::kAccelerated2dCanvasName,
|
||||
flag_descriptions::kAccelerated2dCanvasDescription, kOsAll,
|
||||
SINGLE_DISABLE_VALUE_TYPE(switches::kDisableAccelerated2dCanvas)},
|
||||
|
||||
@@ -20,7 +20,7 @@ legacy acceleration events.
|
||||
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
|
||||
--- a/chrome/browser/about_flags.cc
|
||||
+++ b/chrome/browser/about_flags.cc
|
||||
@@ -1659,6 +1659,12 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
@@ -1696,6 +1696,12 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
{"enable-gpu-rasterization", flag_descriptions::kGpuRasterizationName,
|
||||
flag_descriptions::kGpuRasterizationDescription, kOsAll,
|
||||
MULTI_VALUE_TYPE(kEnableGpuRasterizationChoices)},
|
||||
|
||||
@@ -318,7 +318,7 @@ new file mode 100644
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/util/FeatureUtilities.java b/chrome/android/java/src/org/chromium/chrome/browser/util/FeatureUtilities.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/util/FeatureUtilities.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/util/FeatureUtilities.java
|
||||
@@ -223,6 +223,26 @@ public class FeatureUtilities {
|
||||
@@ -224,6 +224,26 @@ public class FeatureUtilities {
|
||||
FeatureUtilitiesJni.get().setCustomTabVisible(visible);
|
||||
}
|
||||
|
||||
@@ -345,7 +345,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/util/FeatureUti
|
||||
/**
|
||||
* Records whether the activity is in multi-window mode with native-side feature utilities.
|
||||
* @param isInMultiWindowMode Whether the activity is in Android N multi-window mode.
|
||||
@@ -852,6 +872,10 @@ public class FeatureUtilities {
|
||||
@@ -878,6 +898,10 @@ public class FeatureUtilities {
|
||||
interface Natives {
|
||||
void setCustomTabVisible(boolean visible);
|
||||
void setIsInMultiWindowMode(boolean isInMultiWindowMode);
|
||||
|
||||
@@ -11072,7 +11072,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
|
||||
|
||||
const FeatureEntry::Choice kPassiveListenersChoices[] = {
|
||||
{flags_ui::kGenericExperimentChoiceDefault, "", ""},
|
||||
@@ -2208,7 +2208,7 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
@@ -2245,7 +2245,7 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
flag_descriptions::kSyncSandboxDescription, kOsAll,
|
||||
SINGLE_VALUE_TYPE_AND_VALUE(
|
||||
switches::kSyncServiceURL,
|
||||
@@ -11081,7 +11081,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
|
||||
#if !defined(OS_ANDROID)
|
||||
{"load-media-router-component-extension",
|
||||
flag_descriptions::kLoadMediaRouterComponentExtensionName,
|
||||
@@ -2455,7 +2455,7 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
@@ -2492,7 +2492,7 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
flag_descriptions::kSetMarketUrlForTestingName,
|
||||
flag_descriptions::kSetMarketUrlForTestingDescription, kOsAndroid,
|
||||
SINGLE_VALUE_TYPE_AND_VALUE(switches::kMarketUrlForTesting,
|
||||
@@ -90489,7 +90489,7 @@ diff --git a/third_party/sqlite/amalgamation/shell/shell.c b/third_party/sqlite/
|
||||
diff --git a/third_party/sqlite/amalgamation/sqlite3.c b/third_party/sqlite/amalgamation/sqlite3.c
|
||||
--- a/third_party/sqlite/amalgamation/sqlite3.c
|
||||
+++ b/third_party/sqlite/amalgamation/sqlite3.c
|
||||
@@ -21549,7 +21549,7 @@ static void clearYMD_HMS_TZ(DateTime *p){
|
||||
@@ -21556,7 +21556,7 @@ static void clearYMD_HMS_TZ(DateTime *p){
|
||||
** localtime_r() available under most POSIX platforms, except that the
|
||||
** order of the parameters is reversed.
|
||||
**
|
||||
@@ -90498,7 +90498,7 @@ diff --git a/third_party/sqlite/amalgamation/sqlite3.c b/third_party/sqlite/amal
|
||||
**
|
||||
** If the user has not indicated to use localtime_r() or localtime_s()
|
||||
** already, check for an MSVC build environment that provides
|
||||
@@ -33798,7 +33798,7 @@ struct unixFileId {
|
||||
@@ -33807,7 +33807,7 @@ struct unixFileId {
|
||||
#else
|
||||
/* We are told that some versions of Android contain a bug that
|
||||
** sizes ino_t at only 32-bits instead of 64-bits. (See
|
||||
@@ -90507,7 +90507,7 @@ diff --git a/third_party/sqlite/amalgamation/sqlite3.c b/third_party/sqlite/amal
|
||||
** To work around this, always allocate 64-bits for the inode number.
|
||||
** On small machines that only have 32-bit inodes, this wastes 4 bytes,
|
||||
** but that should not be a big deal. */
|
||||
@@ -52851,7 +52851,7 @@ static int pager_end_transaction(Pager *pPager, int hasMaster, int bCommit){
|
||||
@@ -52860,7 +52860,7 @@ static int pager_end_transaction(Pager *pPager, int hasMaster, int bCommit){
|
||||
/* Make sure the new file size is written into the inode right away.
|
||||
** Otherwise the journal might resurrect following a power loss and
|
||||
** cause the last transaction to roll back. See
|
||||
@@ -90516,7 +90516,7 @@ diff --git a/third_party/sqlite/amalgamation/sqlite3.c b/third_party/sqlite/amal
|
||||
*/
|
||||
rc = sqlite3OsSync(pPager->jfd, pPager->syncFlags);
|
||||
}
|
||||
@@ -156311,7 +156311,7 @@ SQLITE_API int sqlite3_config(int op, ...){
|
||||
@@ -156341,7 +156341,7 @@ SQLITE_API int sqlite3_config(int op, ...){
|
||||
*/
|
||||
case SQLITE_CONFIG_LOG: {
|
||||
/* MSVC is picky about pulling func ptrs from va lists.
|
||||
@@ -90525,7 +90525,7 @@ diff --git a/third_party/sqlite/amalgamation/sqlite3.c b/third_party/sqlite/amal
|
||||
** sqlite3GlobalConfig.xLog = va_arg(ap, void(*)(void*,int,const char*));
|
||||
*/
|
||||
typedef void(*LOGFUNC_t)(void*,int,const char*);
|
||||
@@ -159639,7 +159639,7 @@ SQLITE_API int sqlite3_test_control(int op, ...){
|
||||
@@ -159669,7 +159669,7 @@ SQLITE_API int sqlite3_test_control(int op, ...){
|
||||
*/
|
||||
case SQLITE_TESTCTRL_FAULT_INSTALL: {
|
||||
/* MSVC is picky about pulling func ptrs from va lists.
|
||||
@@ -112679,7 +112679,7 @@ diff --git a/tools/metrics/histograms/enums.xml b/tools/metrics/histograms/enums
|
||||
</summary>
|
||||
<int value="0" label="SUCCESS"/>
|
||||
<int value="1" label="SERVICE_MISSING"/>
|
||||
@@ -30699,7 +30699,7 @@ Called by update_gpu_driver_bug_workaround_entries.py.-->
|
||||
@@ -30700,7 +30700,7 @@ Called by update_gpu_driver_bug_workaround_entries.py.-->
|
||||
|
||||
<enum name="HotwordTriggerSource">
|
||||
<int value="0" label="Launcher (except when always-on is enabled)"/>
|
||||
@@ -112688,7 +112688,7 @@ diff --git a/tools/metrics/histograms/enums.xml b/tools/metrics/histograms/enums
|
||||
<int value="2" label="Always-On"/>
|
||||
<int value="3" label="Training Mode"/>
|
||||
</enum>
|
||||
@@ -31367,7 +31367,7 @@ Called by update_gpu_driver_bug_workaround_entries.py.-->
|
||||
@@ -31368,7 +31368,7 @@ Called by update_gpu_driver_bug_workaround_entries.py.-->
|
||||
<enum name="IE7LookupResultStatus">
|
||||
<obsolete>
|
||||
Deprecated as of 07/2018. The corresponding metric was deleted in
|
||||
@@ -112697,7 +112697,7 @@ diff --git a/tools/metrics/histograms/enums.xml b/tools/metrics/histograms/enums
|
||||
</obsolete>
|
||||
<int value="0" label="No stored passwords from IE7 found."/>
|
||||
<int value="1" label="Some stored passwords from IE7 found."/>
|
||||
@@ -32353,41 +32353,41 @@ Called by update_gpu_driver_bug_workaround_entries.py.-->
|
||||
@@ -32354,41 +32354,41 @@ Called by update_gpu_driver_bug_workaround_entries.py.-->
|
||||
|
||||
<enum name="InsecureContentType">
|
||||
<int value="0" label="Displayed"/>
|
||||
@@ -112769,7 +112769,7 @@ diff --git a/tools/metrics/histograms/enums.xml b/tools/metrics/histograms/enums
|
||||
</enum>
|
||||
|
||||
<enum name="InsecureDownloadExtensions">
|
||||
@@ -48156,7 +48156,7 @@ Called by update_net_trust_anchors.py.-->
|
||||
@@ -48157,7 +48157,7 @@ Called by update_net_trust_anchors.py.-->
|
||||
<int value="9" label="Auto-signin toast timeout"/>
|
||||
<int value="10" label="Auto-signin toast clicked (obsolete)"/>
|
||||
<int value="11" label="Clicked 'Google Smart Lock' (obsolete)"/>
|
||||
@@ -112778,7 +112778,7 @@ diff --git a/tools/metrics/histograms/enums.xml b/tools/metrics/histograms/enums
|
||||
</enum>
|
||||
|
||||
<enum name="PasswordProtectionInterstitialStringType">
|
||||
@@ -48193,7 +48193,7 @@ Called by update_net_trust_anchors.py.-->
|
||||
@@ -48194,7 +48194,7 @@ Called by update_net_trust_anchors.py.-->
|
||||
|
||||
<enum name="PasswordProtectionSyncAccountType">
|
||||
<int value="0" label="Not signed in"/>
|
||||
@@ -112787,7 +112787,7 @@ diff --git a/tools/metrics/histograms/enums.xml b/tools/metrics/histograms/enums
|
||||
<int value="2" label="G Suite account"/>
|
||||
</enum>
|
||||
|
||||
@@ -52070,10 +52070,10 @@ Called by update_net_trust_anchors.py.-->
|
||||
@@ -52071,10 +52071,10 @@ Called by update_net_trust_anchors.py.-->
|
||||
</obsolete>
|
||||
<int value="0" label="Other"/>
|
||||
<int value="1" label="None"/>
|
||||
|
||||
@@ -37,7 +37,7 @@ Download filters by checking Last-Modified header first
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/util/FeatureUtilities.java b/chrome/android/java/src/org/chromium/chrome/browser/util/FeatureUtilities.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/util/FeatureUtilities.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/util/FeatureUtilities.java
|
||||
@@ -277,6 +277,14 @@ public class FeatureUtilities {
|
||||
@@ -278,6 +278,14 @@ public class FeatureUtilities {
|
||||
cacheServiceManagerForBackgroundPrefetch();
|
||||
}
|
||||
|
||||
@@ -52,7 +52,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/util/FeatureUti
|
||||
/**
|
||||
* @return True if tab model merging for Android N+ is enabled.
|
||||
*/
|
||||
@@ -845,5 +853,7 @@ public class FeatureUtilities {
|
||||
@@ -871,5 +879,7 @@ public class FeatureUtilities {
|
||||
void setCustomTabVisible(boolean visible);
|
||||
void setIsInMultiWindowMode(boolean isInMultiWindowMode);
|
||||
boolean isNetworkServiceWarmUpEnabled();
|
||||
|
||||
@@ -0,0 +1,23 @@
|
||||
From: csagan5 <32685696+csagan5@users.noreply.github.com>
|
||||
Date: Fri, 24 Jan 2020 09:46:48 +0100
|
||||
Subject: Disable DRM media origin IDs preprovisioning
|
||||
|
||||
---
|
||||
media/base/media_switches.cc | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/media/base/media_switches.cc b/media/base/media_switches.cc
|
||||
--- a/media/base/media_switches.cc
|
||||
+++ b/media/base/media_switches.cc
|
||||
@@ -442,7 +442,7 @@ const base::Feature kMediaDrmPersistentLicense{
|
||||
// MediaDrmBridge. If disabled, MediaDrmBridge will get unprovisioned origin IDs
|
||||
// which will trigger provisioning process after MediaDrmBridge is created.
|
||||
const base::Feature kMediaDrmPreprovisioning{"MediaDrmPreprovisioning",
|
||||
- base::FEATURE_ENABLED_BY_DEFAULT};
|
||||
+ base::FEATURE_DISABLED_BY_DEFAULT};
|
||||
|
||||
// Determines if MediaDrmOriginIdManager should attempt to pre-provision origin
|
||||
// IDs at startup (whenever a profile is loaded). Also used by tests that
|
||||
--
|
||||
2.17.1
|
||||
|
||||
@@ -0,0 +1,41 @@
|
||||
From: csagan5 <32685696+csagan5@users.noreply.github.com>
|
||||
Date: Fri, 24 Jan 2020 19:17:22 +0100
|
||||
Subject: Disable smart selection by default
|
||||
|
||||
Allow web search in incognito mode (reverts
|
||||
commit 48d4ae54f7565c429bf29cd63806aee5d7e93e69)
|
||||
|
||||
Notice that re-enabling smart selection would make incognito mode potentially
|
||||
leak information through the TextClassifier set by OEM, if any
|
||||
---
|
||||
chrome/browser/android/chrome_feature_list.cc | 2 +-
|
||||
.../content/browser/selection/SelectionPopupControllerImpl.java | 2 +-
|
||||
2 files changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/chrome/browser/android/chrome_feature_list.cc b/chrome/browser/android/chrome_feature_list.cc
|
||||
--- a/chrome/browser/android/chrome_feature_list.cc
|
||||
+++ b/chrome/browser/android/chrome_feature_list.cc
|
||||
@@ -352,7 +352,7 @@ const base::Feature kChromeSharingHub{"ChromeSharingHub",
|
||||
base::FEATURE_DISABLED_BY_DEFAULT};
|
||||
|
||||
const base::Feature kChromeSmartSelection{"ChromeSmartSelection",
|
||||
- base::FEATURE_ENABLED_BY_DEFAULT};
|
||||
+ base::FEATURE_DISABLED_BY_DEFAULT};
|
||||
|
||||
const base::Feature kClickToCallOpenDialerDirectly{
|
||||
"ClickToCallOpenDialerDirectly", base::FEATURE_ENABLED_BY_DEFAULT};
|
||||
diff --git a/content/public/android/java/src/org/chromium/content/browser/selection/SelectionPopupControllerImpl.java b/content/public/android/java/src/org/chromium/content/browser/selection/SelectionPopupControllerImpl.java
|
||||
--- a/content/public/android/java/src/org/chromium/content/browser/selection/SelectionPopupControllerImpl.java
|
||||
+++ b/content/public/android/java/src/org/chromium/content/browser/selection/SelectionPopupControllerImpl.java
|
||||
@@ -774,7 +774,7 @@ public class SelectionPopupControllerImpl extends ActionModeCallbackHelper
|
||||
menu.removeItem(R.id.select_action_menu_share);
|
||||
}
|
||||
|
||||
- if (isFocusedNodeEditable() || isIncognito()
|
||||
+ if (isFocusedNodeEditable()
|
||||
|| !isSelectActionModeAllowed(MENU_ITEM_WEB_SEARCH)) {
|
||||
menu.removeItem(R.id.select_action_menu_web_search);
|
||||
}
|
||||
--
|
||||
2.17.1
|
||||
|
||||
+1
-1
@@ -76,7 +76,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
|
||||
#include "third_party/leveldatabase/leveldb_features.h"
|
||||
#include "ui/accessibility/accessibility_features.h"
|
||||
#include "ui/accessibility/accessibility_switches.h"
|
||||
@@ -1466,12 +1467,24 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
@@ -1503,12 +1504,24 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
{"enable-webrtc-srtp-aes-gcm", flag_descriptions::kWebrtcSrtpAesGcmName,
|
||||
flag_descriptions::kWebrtcSrtpAesGcmDescription, kOsAll,
|
||||
SINGLE_VALUE_TYPE(switches::kEnableWebRtcSrtpAesGcm)},
|
||||
|
||||
@@ -4,27 +4,27 @@ Subject: Reduce HTTP headers in DoH requests to bare minimum
|
||||
|
||||
Serve DoH requests with maximum priority.
|
||||
---
|
||||
net/base/load_flags_list.h | 6 ++++++
|
||||
net/base/load_flags_list.h | 9 +++++++++
|
||||
net/dns/dns_transaction.cc | 3 ++-
|
||||
net/url_request/url_request_http_job.cc | 16 +++++++++++-----
|
||||
3 files changed, 19 insertions(+), 6 deletions(-)
|
||||
3 files changed, 22 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/net/base/load_flags_list.h b/net/base/load_flags_list.h
|
||||
--- a/net/base/load_flags_list.h
|
||||
+++ b/net/base/load_flags_list.h
|
||||
@@ -106,6 +106,12 @@ LOAD_FLAG(SUPPORT_ASYNC_REVALIDATION, 1 << 16)
|
||||
// the LOAD_CAN_USE_RESTRICTED_PREFETCH load flag.
|
||||
LOAD_FLAG(RESTRICTED_PREFETCH, 1 << 17)
|
||||
|
||||
@@ -112,3 +112,12 @@ LOAD_FLAG(RESTRICTED_PREFETCH, 1 << 17)
|
||||
// is considered privileged, and therefore this flag must only be set from a
|
||||
// trusted process.
|
||||
LOAD_FLAG(CAN_USE_RESTRICTED_PREFETCH, 1 << 18)
|
||||
+
|
||||
+
|
||||
+
|
||||
+
|
||||
+// This load will not send Accept-Language or User-Agent headers, and not
|
||||
+// advertise brotli encoding.
|
||||
+// Used to comply with IETF (draft) DNS-over-HTTPS:
|
||||
+// "Implementors SHOULD NOT set non-essential HTTP headers in DoH client requests."
|
||||
+LOAD_FLAG(MINIMAL_HEADERS, 1 << 18)
|
||||
+
|
||||
// This flag must be set on requests that are allowed to reuse cache entries
|
||||
// that are marked as RESTRICTED_PREFETCH. Requests without this flag cannot
|
||||
// reuse restricted prefetch responses in the cache. Restricted response reuse
|
||||
+LOAD_FLAG(MINIMAL_HEADERS, 1 << 19)
|
||||
diff --git a/net/dns/dns_transaction.cc b/net/dns/dns_transaction.cc
|
||||
--- a/net/dns/dns_transaction.cc
|
||||
+++ b/net/dns/dns_transaction.cc
|
||||
|
||||
@@ -45,7 +45,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/omnibox/suggest
|
||||
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
|
||||
--- a/chrome/browser/about_flags.cc
|
||||
+++ b/chrome/browser/about_flags.cc
|
||||
@@ -1972,6 +1972,9 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
@@ -2009,6 +2009,9 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
flag_descriptions::kAndroidAutofillAccessibilityName,
|
||||
flag_descriptions::kAndroidAutofillAccessibilityDescription, kOsAndroid,
|
||||
FEATURE_VALUE_TYPE(features::kAndroidAutofillAccessibility)},
|
||||
|
||||
@@ -6,11 +6,11 @@ This reverts commit 60c3d4531b180b911767fb3ea7c3553d7f408c25.
|
||||
|
||||
Automatically disable hardware acceleration for Android Q on arm64
|
||||
---
|
||||
chrome/browser/android/chrome_startup_flags.cc | 9 +++++++++
|
||||
chrome/browser/android/chrome_startup_flags.cc | 2 ++
|
||||
gpu/config/gpu_finch_features.cc | 2 +-
|
||||
gpu/ipc/service/gpu_init.cc | 8 ++------
|
||||
media/base/media_switches.cc | 2 +-
|
||||
4 files changed, 13 insertions(+), 8 deletions(-)
|
||||
4 files changed, 6 insertions(+), 8 deletions(-)
|
||||
|
||||
diff --git a/chrome/browser/android/chrome_startup_flags.cc b/chrome/browser/android/chrome_startup_flags.cc
|
||||
--- a/chrome/browser/android/chrome_startup_flags.cc
|
||||
@@ -31,20 +31,6 @@ diff --git a/chrome/browser/android/chrome_startup_flags.cc b/chrome/browser/and
|
||||
#include "media/base/media_switches.h"
|
||||
|
||||
namespace {
|
||||
@@ -40,6 +42,13 @@ void SetChromeSpecificCommandLineFlags() {
|
||||
if (base::SysInfo::IsLowEndDevice())
|
||||
SetCommandLineSwitchASCII(switches::kDisableSyncTypes, "Favicon Images");
|
||||
|
||||
+#ifdef ARCH_CPU_ARM64
|
||||
+ // workaround for Android 10 "Q" arm64 crash
|
||||
+ if (base::android::BuildInfo::GetInstance()->sdk_int() > base::android::SDK_VERSION_P) {
|
||||
+ SetCommandLineSwitchASCII(switches::kDisableAcceleratedVideoDecode, "true");
|
||||
+ }
|
||||
+#endif
|
||||
+
|
||||
// Enable DOM Distiller backend.
|
||||
SetCommandLineSwitch(switches::kEnableDomDistiller);
|
||||
}
|
||||
diff --git a/gpu/config/gpu_finch_features.cc b/gpu/config/gpu_finch_features.cc
|
||||
--- a/gpu/config/gpu_finch_features.cc
|
||||
+++ b/gpu/config/gpu_finch_features.cc
|
||||
|
||||
@@ -13,7 +13,7 @@ This reverts commit 4e598f38a0e6dd3dbede009c6a99b2a520a94e1f.
|
||||
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
|
||||
--- a/chrome/browser/about_flags.cc
|
||||
+++ b/chrome/browser/about_flags.cc
|
||||
@@ -1997,6 +1997,10 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
@@ -2034,6 +2034,10 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
SINGLE_VALUE_TYPE(switches::kHostedAppQuitNotification)},
|
||||
#endif // OS_MACOSX
|
||||
#if defined(OS_ANDROID)
|
||||
|
||||
@@ -0,0 +1,49 @@
|
||||
From: csagan5 <32685696+csagan5@users.noreply.github.com>
|
||||
Date: Thu, 9 Jan 2020 19:59:08 +0100
|
||||
Subject: Use a minimum DoH timeout of 400ms
|
||||
|
||||
---
|
||||
net/dns/dns_session.cc | 7 ++++++-
|
||||
net/dns/dns_session.h | 1 +
|
||||
2 files changed, 7 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/net/dns/dns_session.cc b/net/dns/dns_session.cc
|
||||
--- a/net/dns/dns_session.cc
|
||||
+++ b/net/dns/dns_session.cc
|
||||
@@ -118,6 +118,8 @@ DnsSession::DnsSession(const DnsConfig& config,
|
||||
socket_pool_->Initialize(&config_.nameservers, net_log);
|
||||
UMA_HISTOGRAM_CUSTOM_COUNTS("AsyncDNS.ServerCount",
|
||||
config_.nameservers.size(), 1, 10, 11);
|
||||
+ // minimum timeout for all DoH requests
|
||||
+ min_doh_timeout_ = base::TimeDelta::FromMilliseconds(400);
|
||||
UpdateTimeouts(NetworkChangeNotifier::GetConnectionType());
|
||||
InitializeServerStats();
|
||||
}
|
||||
@@ -325,9 +327,12 @@ base::TimeDelta DnsSession::NextTimeout(unsigned server_index, int attempt) {
|
||||
}
|
||||
|
||||
base::TimeDelta DnsSession::NextDohTimeout(unsigned doh_server_index) {
|
||||
- return NextTimeoutHelper(
|
||||
+ base::TimeDelta timeout = NextTimeoutHelper(
|
||||
GetServerStats(doh_server_index, true /* is _doh_server */),
|
||||
0 /* num_backoffs */);
|
||||
+ if (timeout < min_doh_timeout_)
|
||||
+ return min_doh_timeout_;
|
||||
+ return timeout;
|
||||
}
|
||||
|
||||
base::TimeDelta DnsSession::NextTimeoutHelper(ServerStats* server_stats,
|
||||
diff --git a/net/dns/dns_session.h b/net/dns/dns_session.h
|
||||
--- a/net/dns/dns_session.h
|
||||
+++ b/net/dns/dns_session.h
|
||||
@@ -167,6 +167,7 @@ class NET_EXPORT_PRIVATE DnsSession : public base::RefCounted<DnsSession> {
|
||||
|
||||
base::TimeDelta initial_timeout_;
|
||||
base::TimeDelta max_timeout_;
|
||||
+ base::TimeDelta min_doh_timeout_;
|
||||
|
||||
// Track runtime statistics of each insecure DNS server.
|
||||
std::vector<std::unique_ptr<ServerStats>> server_stats_;
|
||||
--
|
||||
2.17.1
|
||||
|
||||
@@ -18,7 +18,7 @@ diff --git a/components/version_info/version_info.cc b/components/version_info/v
|
||||
std::string GetProductNameAndVersionForUserAgent() {
|
||||
- return "Chrome/" + GetVersionNumber();
|
||||
+ // latest stable version
|
||||
+ return "Chrome/79.0.3945.93";
|
||||
+ return "Chrome/79.0.3945.136";
|
||||
}
|
||||
|
||||
std::string GetProductName() {
|
||||
|
||||
Reference in New Issue
Block a user