diff --git a/CHANGELOG.md b/CHANGELOG.md
index 5a045bb8..3c643756 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,9 @@
+# 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)
diff --git a/README.md b/README.md
index ec852051..a832939f 100644
--- a/README.md
+++ b/README.md
@@ -47,6 +47,7 @@ Projects which follow a strict approach on this are [Iridium](https://iridiumbro
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.
@@ -83,21 +84,25 @@ In short, to show what a Chromium-based engine could do **for the user** if the
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 with any valid IETF DoH endpoint
* always-incognito mode
-* all field trials permanently disabled
-* [QUIC](https://en.wikipedia.org/wiki/QUIC) disabled by default
+* 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
-* removed Play integration binary blobs
-* uses CFI on all architectures except x86
+* 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 removed safe browsing and other privacy-unfriendly features
+* 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
* flags to disable custom intents and clear session on exit
@@ -113,7 +118,7 @@ For an Android browser using an alternative engine see [Fennec F-Droid](https://
* [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
-* increased number of autocomplete matches
+* 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
diff --git a/build/bromite_patches_list.txt b/build/bromite_patches_list.txt
index 8dfcee88..10efef8e 100644
--- a/build/bromite_patches_list.txt
+++ b/build/bromite_patches_list.txt
@@ -143,3 +143,5 @@ 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
diff --git a/build/patches/Add-DuckDuckGo-Lite-search-engine.patch b/build/patches/Add-DuckDuckGo-Lite-search-engine.patch
index 2039b5a5..c24b4adf 100644
--- a/build/patches/Add-DuckDuckGo-Lite-search-engine.patch
+++ b/build/patches/Add-DuckDuckGo-Lite-search-engine.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
diff --git a/build/patches/Add-English-only-search-engine.patch b/build/patches/Add-English-only-search-engine.patch
index a18858ab..93b4dd75 100644
--- a/build/patches/Add-English-only-search-engine.patch
+++ b/build/patches/Add-English-only-search-engine.patch
@@ -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[] = {
diff --git a/build/patches/Add-Qwant-search-engine.patch b/build/patches/Add-Qwant-search-engine.patch
index a0db4167..2fa63b73 100644
--- a/build/patches/Add-Qwant-search-engine.patch
+++ b/build/patches/Add-Qwant-search-engine.patch
@@ -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[] = {
diff --git a/build/patches/Add-flag-to-configure-maximum-connections-per-host.patch b/build/patches/Add-flag-to-configure-maximum-connections-per-host.patch
index 9708f382..f2d4029e 100644
--- a/build/patches/Add-flag-to-configure-maximum-connections-per-host.patch
+++ b/build/patches/Add-flag-to-configure-maximum-connections-per-host.patch
@@ -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)},
diff --git a/build/patches/Add-flag-to-control-video-playback-resume-feature.patch b/build/patches/Add-flag-to-control-video-playback-resume-feature.patch
index 5ed4092c..6ee05c5e 100644
--- a/build/patches/Add-flag-to-control-video-playback-resume-feature.patch
+++ b/build/patches/Add-flag-to-control-video-playback-resume-feature.patch
@@ -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)},
diff --git a/build/patches/Add-flag-to-disable-IPv6-probes.patch b/build/patches/Add-flag-to-disable-IPv6-probes.patch
index 91430e4e..6999f1d4 100644
--- a/build/patches/Add-flag-to-disable-IPv6-probes.patch
+++ b/build/patches/Add-flag-to-disable-IPv6-probes.patch
@@ -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")},
diff --git a/build/patches/Add-flag-to-disable-WebGL.patch b/build/patches/Add-flag-to-disable-WebGL.patch
index 46510be3..0fe5b191 100644
--- a/build/patches/Add-flag-to-disable-WebGL.patch
+++ b/build/patches/Add-flag-to-disable-WebGL.patch
@@ -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)},
diff --git a/build/patches/Add-flags-to-disable-device-motion-and-orientation-APIs.patch b/build/patches/Add-flags-to-disable-device-motion-and-orientation-APIs.patch
index 2e746a39..d32f7c94 100644
--- a/build/patches/Add-flags-to-disable-device-motion-and-orientation-APIs.patch
+++ b/build/patches/Add-flags-to-disable-device-motion-and-orientation-APIs.patch
@@ -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)},
diff --git a/build/patches/Add-user-setting-for-DNS-over-HTTPS-DoH-custom-URL.patch b/build/patches/Add-user-setting-for-DNS-over-HTTPS-DoH-custom-URL.patch
index f491f586..8ccedbd9 100644
--- a/build/patches/Add-user-setting-for-DNS-over-HTTPS-DoH-custom-URL.patch
+++ b/build/patches/Add-user-setting-for-DNS-over-HTTPS-DoH-custom-URL.patch
@@ -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);
diff --git a/build/patches/Automated-domain-substitution.patch b/build/patches/Automated-domain-substitution.patch
index 5d24b454..6c305df8 100644
--- a/build/patches/Automated-domain-substitution.patch
+++ b/build/patches/Automated-domain-substitution.patch
@@ -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
-@@ -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.-->
@@ -112688,7 +112688,7 @@ diff --git a/tools/metrics/histograms/enums.xml b/tools/metrics/histograms/enums
-@@ -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.-->
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
-@@ -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.-->
@@ -112769,7 +112769,7 @@ diff --git a/tools/metrics/histograms/enums.xml b/tools/metrics/histograms/enums
-@@ -48156,7 +48156,7 @@ Called by update_net_trust_anchors.py.-->
+@@ -48157,7 +48157,7 @@ Called by update_net_trust_anchors.py.-->
@@ -112778,7 +112778,7 @@ diff --git a/tools/metrics/histograms/enums.xml b/tools/metrics/histograms/enums
-@@ -48193,7 +48193,7 @@ Called by update_net_trust_anchors.py.-->
+@@ -48194,7 +48194,7 @@ Called by update_net_trust_anchors.py.-->
@@ -112787,7 +112787,7 @@ diff --git a/tools/metrics/histograms/enums.xml b/tools/metrics/histograms/enums
-@@ -52070,10 +52070,10 @@ Called by update_net_trust_anchors.py.-->
+@@ -52071,10 +52071,10 @@ Called by update_net_trust_anchors.py.-->
diff --git a/build/patches/Bromite-AdBlockUpdaterService.patch b/build/patches/Bromite-AdBlockUpdaterService.patch
index bc5bc0d5..7d3ae956 100644
--- a/build/patches/Bromite-AdBlockUpdaterService.patch
+++ b/build/patches/Bromite-AdBlockUpdaterService.patch
@@ -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();
diff --git a/build/patches/Disable-DRM-media-origin-IDs-preprovisioning.patch b/build/patches/Disable-DRM-media-origin-IDs-preprovisioning.patch
new file mode 100644
index 00000000..aee1bd4a
--- /dev/null
+++ b/build/patches/Disable-DRM-media-origin-IDs-preprovisioning.patch
@@ -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
+
diff --git a/build/patches/Disable-smart-selection-by-default.patch b/build/patches/Disable-smart-selection-by-default.patch
new file mode 100644
index 00000000..f8ba1e02
--- /dev/null
+++ b/build/patches/Disable-smart-selection-by-default.patch
@@ -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
+
diff --git a/build/patches/Multiple-fingerprinting-mitigations-for-canvas-text-and-client-rectangles.patch b/build/patches/Multiple-fingerprinting-mitigations-for-canvas-text-and-client-rectangles.patch
index 5b99da66..3726365c 100644
--- a/build/patches/Multiple-fingerprinting-mitigations-for-canvas-text-and-client-rectangles.patch
+++ b/build/patches/Multiple-fingerprinting-mitigations-for-canvas-text-and-client-rectangles.patch
@@ -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)},
diff --git a/build/patches/Reduce-HTTP-headers-in-DoH-requests-to-bare-minimum.patch b/build/patches/Reduce-HTTP-headers-in-DoH-requests-to-bare-minimum.patch
index 5da27c75..243f349b 100644
--- a/build/patches/Reduce-HTTP-headers-in-DoH-requests-to-bare-minimum.patch
+++ b/build/patches/Reduce-HTTP-headers-in-DoH-requests-to-bare-minimum.patch
@@ -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
diff --git a/build/patches/Revert-Cleanup-Search-Ready-Omnibox-flag-since-it-has-launched.patch b/build/patches/Revert-Cleanup-Search-Ready-Omnibox-flag-since-it-has-launched.patch
index 6de8c683..9b98cfbc 100644
--- a/build/patches/Revert-Cleanup-Search-Ready-Omnibox-flag-since-it-has-launched.patch
+++ b/build/patches/Revert-Cleanup-Search-Ready-Omnibox-flag-since-it-has-launched.patch
@@ -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)},
diff --git a/build/patches/Revert-Merge-to-M78-Enable-AImageReader-by-default.patch b/build/patches/Revert-Merge-to-M78-Enable-AImageReader-by-default.patch
index 7bc58e4a..9b54b9b6 100644
--- a/build/patches/Revert-Merge-to-M78-Enable-AImageReader-by-default.patch
+++ b/build/patches/Revert-Merge-to-M78-Enable-AImageReader-by-default.patch
@@ -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
diff --git a/build/patches/Revert-flags-remove-disable-pull-to-refresh-effect.patch b/build/patches/Revert-flags-remove-disable-pull-to-refresh-effect.patch
index 5b77ee85..a6668b46 100644
--- a/build/patches/Revert-flags-remove-disable-pull-to-refresh-effect.patch
+++ b/build/patches/Revert-flags-remove-disable-pull-to-refresh-effect.patch
@@ -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)
diff --git a/build/patches/User-Agent-anonymize.patch b/build/patches/User-Agent-anonymize.patch
index 074e9557..6b7e8ff1 100644
--- a/build/patches/User-Agent-anonymize.patch
+++ b/build/patches/User-Agent-anonymize.patch
@@ -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.116";
++ return "Chrome/79.0.3945.136";
}
std::string GetProductName() {