Compare commits

...
Author SHA1 Message Date
csagan5 7c6ba84acd Release 80.0.3987.118 2020-02-22 14:33:41 +01:00
csagan5 8d85bfa7d0 Release 80.0.3987.109 2020-02-18 07:50:35 +01:00
csagan5 152903d847 Mention wiki 2020-02-16 18:25:58 +01:00
csagan5 4fad3bf5bc Update patch description 2020-02-15 09:27:21 +01:00
CarlandGitHub 1cc0dfb1ff Merge pull request #491 from bromite/v80/AImageReader-bugfix
Bugfix for AImageReader crash on Android10/arm64
2020-02-15 09:20:28 +01:00
csagan5 0d00af6e73 Bugfix for AImageReader crash on Android10/arm64 #445 2020-02-15 08:55:35 +01:00
10 changed files with 172 additions and 99 deletions
+7
View File
@@ -1,3 +1,10 @@
# 80.0.3987.118
* disable AImageReader for all ARM64 devices (fixes https://github.com/bromite/bromite/issues/497)
* use upstream workaround for SD card not found issue (fixes https://github.com/bromite/bromite/issues/485)
# 80.0.3987.109
* restored GPU workaround for the ARM/ARM64 AImageReader crash (https://github.com/bromite/bromite/issues/445)
# 80.0.3987.95
* enable user-agent freeze (fixes https://github.com/bromite/bromite/issues/483)
* fix issue with AMP (fixes https://github.com/bromite/bromite/issues/488)
+2
View File
@@ -12,6 +12,8 @@ Bromite is only available for Android v4.4 and above.
For the Frequently Asked Questions see [F.A.Q.](./FAQ.md).
For documentation see the [wiki](https://github.com/bromite/bromite/wiki).
# Goals
Bromite aims at providing a no-clutter browsing experience without privacy-invasive features and with the addition of a fast ad-blocking engine.
+3 -1
View File
@@ -115,7 +115,7 @@ Disable-search-ready-omnibox-by-default.patch
disable-AdsBlockedInfoBar.patch
Bromite-AdBlockUpdaterService.patch
Add-option-to-configure-the-ad-blocker-filters-URL.patch
Revert-Merge-to-M78-Enable-AImageReader-by-default.patch
Restore-GPU-bug-blacklist-for-AImageReader-on-ARM-CPUs.patch
Replace-DoH-probe-domain-with-RIPE-domain.patch
Increase-number-of-autocomplete-matches-from-5-to-10.patch
Disable-HEAD-requests-for-single-word-Omnibar-searches.patch
@@ -137,3 +137,5 @@ Disable-DRM-media-origin-IDs-preprovisioning.patch
Disable-smart-selection-by-default.patch
Enable-user-agent-freeze-by-default.patch
Automated-domain-substitution.patch
Disable-AImageReader-for-ARM64-P-and-ARM64-Q.patch
Download-on-Android-Q-Remove-a-DCHECK-in-CreateReservation.patch
@@ -3,14 +3,14 @@ Date: Thu, 19 Dec 2019 22:52:53 +0100
Subject: Allow building without feed support
---
.../start_surface/StartSurfaceCoordinator.java | 5 -----
.../start_surface/StartSurfaceMediator.java | 15 ---------------
2 files changed, 20 deletions(-)
.../start_surface/StartSurfaceCoordinator.java | 5 -----
.../start_surface/StartSurfaceMediator.java | 17 -----------------
2 files changed, 22 deletions(-)
diff --git a/chrome/android/features/start_surface/internal/java/src/org/chromium/chrome/features/start_surface/StartSurfaceCoordinator.java b/chrome/android/features/start_surface/internal/java/src/org/chromium/chrome/features/start_surface/StartSurfaceCoordinator.java
--- a/chrome/android/features/start_surface/internal/java/src/org/chromium/chrome/features/start_surface/StartSurfaceCoordinator.java
+++ b/chrome/android/features/start_surface/internal/java/src/org/chromium/chrome/features/start_surface/StartSurfaceCoordinator.java
@@ -211,11 +211,6 @@ public class StartSurfaceCoordinator implements StartSurface {
@@ -214,11 +214,6 @@ public class StartSurfaceCoordinator implements StartSurface {
mBottomBarCoordinator = new BottomBarCoordinator(
mActivity, mActivity.getCompositorViewHolder(), mPropertyModel);
}
@@ -25,14 +25,15 @@ diff --git a/chrome/android/features/start_surface/internal/java/src/org/chromiu
diff --git a/chrome/android/features/start_surface/internal/java/src/org/chromium/chrome/features/start_surface/StartSurfaceMediator.java b/chrome/android/features/start_surface/internal/java/src/org/chromium/chrome/features/start_surface/StartSurfaceMediator.java
--- a/chrome/android/features/start_surface/internal/java/src/org/chromium/chrome/features/start_surface/StartSurfaceMediator.java
+++ b/chrome/android/features/start_surface/internal/java/src/org/chromium/chrome/features/start_surface/StartSurfaceMediator.java
@@ -403,14 +403,6 @@ class StartSurfaceMediator
@@ -415,15 +415,6 @@ class StartSurfaceMediator
assert (isShownState(shownState));
setOverviewState(shownState);
- // Make sure FeedSurfaceCoordinator is built before the explore surface is showing by
- // default.
- if (mPropertyModel.get(IS_EXPLORE_SURFACE_VISIBLE)
- && mPropertyModel.get(FEED_SURFACE_COORDINATOR) == null) {
- && mPropertyModel.get(FEED_SURFACE_COORDINATOR) == null
- && !mActivityStateChecker.isFinishingOrDestroyed()) {
- mPropertyModel.set(FEED_SURFACE_COORDINATOR,
- mFeedSurfaceCreator.createFeedSurfaceCoordinator(
- mNightModeStateProvider.isInNightMode()));
@@ -40,12 +41,13 @@ diff --git a/chrome/android/features/start_surface/internal/java/src/org/chromiu
mTabModelSelector.addObserver(mTabModelSelectorObserver);
if (mFullScreenListener != null) {
@@ -523,13 +515,6 @@ class StartSurfaceMediator
@@ -536,14 +527,6 @@ class StartSurfaceMediator
private void setExploreSurfaceVisibility(boolean isVisible) {
if (isVisible == mPropertyModel.get(IS_EXPLORE_SURFACE_VISIBLE)) return;
- if (isVisible && mPropertyModel.get(IS_SHOWING_OVERVIEW)
- && mPropertyModel.get(FEED_SURFACE_COORDINATOR) == null) {
- && mPropertyModel.get(FEED_SURFACE_COORDINATOR) == null
- && !mActivityStateChecker.isFinishingOrDestroyed()) {
- mPropertyModel.set(FEED_SURFACE_COORDINATOR,
- mFeedSurfaceCreator.createFeedSurfaceCoordinator(
- mNightModeStateProvider.isInNightMode()));
@@ -39409,7 +39409,7 @@ diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser
base::LazyInstance<std::vector<
WebContentsImpl::FriendWrapper::CreatedCallback>>::DestructorAtExit
@@ -6160,7 +6160,7 @@ void WebContentsImpl::UpdateTitle(RenderFrameHost* render_frame_host,
@@ -6158,7 +6158,7 @@ void WebContentsImpl::UpdateTitle(RenderFrameHost* render_frame_host,
return;
// TODO(evan): make use of title_direction.
@@ -0,0 +1,76 @@
From: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Thu, 20 Feb 2020 22:44:06 +0100
Subject: Disable AImageReader for ARM64/P and ARM64/Q
---
chrome/browser/android/chrome_startup_flags.cc | 9 +++++++++
gpu/config/gpu_finch_features.cc | 4 ++++
media/base/media_switches.cc | 4 ++++
3 files changed, 17 insertions(+)
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
+++ b/chrome/browser/android/chrome_startup_flags.cc
@@ -6,6 +6,7 @@
#include "chrome/browser/android/chrome_startup_flags.h"
+#include "base/android/build_info.h"
#include "base/android/jni_android.h"
#include "base/android/jni_string.h"
#include "base/android/scoped_java_ref.h"
@@ -16,6 +17,7 @@
#include "chrome/common/chrome_switches.h"
#include "components/browser_sync/browser_sync_switches.h"
#include "components/dom_distiller/core/dom_distiller_switches.h"
+#include "content/public/common/content_switches.h"
#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 9/10 crashes on ARM64 CPUs
+ if (base::android::BuildInfo::GetInstance()->sdk_int() >= base::android::SDK_VERSION_P) {
+ SetCommandLineSwitchASCII("disable_aimagereader", "1");
+ }
+#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
@@ -31,7 +31,11 @@ bool FieldIsInBlacklist(const char* current_value, std::string blacklist_str) {
#if defined(OS_ANDROID)
// Use android AImageReader when playing videos with MediaPlayer.
const base::Feature kAImageReaderMediaPlayer{"AImageReaderMediaPlayer",
+#ifdef ARCH_CPU_ARM64
+ base::FEATURE_DISABLED_BY_DEFAULT};
+#else
base::FEATURE_ENABLED_BY_DEFAULT};
+#endif
// Use android SurfaceControl API for managing display compositor's buffer queue
// and using overlays on Android.
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
@@ -487,7 +487,11 @@ const base::Feature kMediaDrmPreprovisioningAtStartup{
// Enables the Android Image Reader path for Video decoding(for AVDA and MCVD)
const base::Feature kAImageReaderVideoOutput{"AImageReaderVideoOutput",
+#ifdef ARCH_CPU_ARM64
+ base::FEATURE_DISABLED_BY_DEFAULT};
+#else
base::FEATURE_ENABLED_BY_DEFAULT};
+#endif
// Prevents using SurfaceLayer for videos. This is meant to be used by embedders
// that cannot support SurfaceLayer at the moment.
--
2.17.1
@@ -0,0 +1,32 @@
From: Xing Liu <xingliu@chromium.org>
Date: Tue, 18 Feb 2020 21:10:54 +0000
Subject: Download on Android Q: Remove a DCHECK in CreateReservation.
When resuming a download, the suggested path can be content URI. This
will hit a DCHECK in CreateReservation.
Bug: 1045642
Change-Id: I61c452afafbbc9606f747c84ff18e6b9dc9a0fb6
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2062759
Reviewed-by: Min Qin <qinmin@chromium.org>
Commit-Queue: Xing Liu <xingliu@chromium.org>
Cr-Commit-Position: refs/heads/master@{#742270}
---
.../internal/common/download_path_reservation_tracker.cc | 2 --
1 file changed, 2 deletions(-)
diff --git a/components/download/internal/common/download_path_reservation_tracker.cc b/components/download/internal/common/download_path_reservation_tracker.cc
--- a/components/download/internal/common/download_path_reservation_tracker.cc
+++ b/components/download/internal/common/download_path_reservation_tracker.cc
@@ -326,8 +326,6 @@ PathValidationResult ValidatePathAndResolveConflicts(
// - Returns the result of creating the path reservation.
PathValidationResult CreateReservation(const CreateReservationInfo& info,
base::FilePath* reserved_path) {
- DCHECK(info.suggested_path.IsAbsolute());
-
// Create a reservation map if one doesn't exist. It will be automatically
// deleted when all the reservations are revoked.
if (g_reservation_map == NULL)
--
2.17.1
@@ -0,0 +1,37 @@
From: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Sat, 15 Feb 2020 08:20:40 +0100
Subject: Restore GPU bug blacklist for AImageReader on ARM CPUs
Restore the AImageReader blacklist for ARM/ARM64 devices which causes
crashes on Android 9 and 10 (at different code locations).
See discussion at https://github.com/bromite/bromite/issues/445
---
gpu/config/gpu_driver_bug_list.json | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/gpu/config/gpu_driver_bug_list.json b/gpu/config/gpu_driver_bug_list.json
--- a/gpu/config/gpu_driver_bug_list.json
+++ b/gpu/config/gpu_driver_bug_list.json
@@ -2891,6 +2891,18 @@
"reset_base_mipmap_level_before_texstorage"
]
},
+ {
+ "id":275,
+ "cr_bugs": [838725],
+ "description": "Disable AImageReader on ARM GPUs as its buggy.",
+ "os": {
+ "type": "android"
+ },
+ "gl_vendor": "ARM.*",
+ "features": [
+ "disable_aimagereader"
+ ]
+ },
{
"id": 277,
"description": "Direct composition path is buggy on certain AMD devices/drivers",
--
2.17.1
@@ -1,85 +0,0 @@
From: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Mon, 14 Oct 2019 20:27:33 +0200
Subject: Revert "[Merge to M78] Enable AImageReader by default."
This reverts commit 60c3d4531b180b911767fb3ea7c3553d7f408c25.
Automatically disable hardware acceleration for Android Q on arm64
---
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, 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
+++ b/chrome/browser/android/chrome_startup_flags.cc
@@ -6,6 +6,7 @@
#include "chrome/browser/android/chrome_startup_flags.h"
+#include "base/android/build_info.h"
#include "base/android/jni_android.h"
#include "base/android/jni_string.h"
#include "base/android/scoped_java_ref.h"
@@ -16,6 +17,7 @@
#include "chrome/common/chrome_switches.h"
#include "components/browser_sync/browser_sync_switches.h"
#include "components/dom_distiller/core/dom_distiller_switches.h"
+#include "content/public/common/content_switches.h"
#include "media/base/media_switches.h"
namespace {
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
@@ -31,7 +31,7 @@ bool FieldIsInBlacklist(const char* current_value, std::string blacklist_str) {
#if defined(OS_ANDROID)
// Use android AImageReader when playing videos with MediaPlayer.
const base::Feature kAImageReaderMediaPlayer{"AImageReaderMediaPlayer",
- base::FEATURE_ENABLED_BY_DEFAULT};
+ base::FEATURE_DISABLED_BY_DEFAULT};
// Use android SurfaceControl API for managing display compositor's buffer queue
// and using overlays on Android.
diff --git a/gpu/ipc/service/gpu_init.cc b/gpu/ipc/service/gpu_init.cc
--- a/gpu/ipc/service/gpu_init.cc
+++ b/gpu/ipc/service/gpu_init.cc
@@ -491,9 +491,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandLine* command_line,
#if defined(OS_ANDROID)
// Disable AImageReader if the workaround is enabled.
- if (gpu_feature_info_.IsWorkaroundEnabled(DISABLE_AIMAGEREADER)) {
- base::android::AndroidImageReader::DisableSupport();
- }
+ base::android::AndroidImageReader::DisableSupport();
#endif
#if defined(USE_OZONE)
gpu_feature_info_.supported_buffer_formats_for_allocation_and_texturing =
@@ -522,9 +520,7 @@ void GpuInit::InitializeInProcess(base::CommandLine* command_line,
default_offscreen_surface_ = gl::init::CreateOffscreenGLSurface(gfx::Size());
// Disable AImageReader if the workaround is enabled.
- if (gpu_feature_info_.IsWorkaroundEnabled(DISABLE_AIMAGEREADER)) {
- base::android::AndroidImageReader::DisableSupport();
- }
+ base::android::AndroidImageReader::DisableSupport();
UMA_HISTOGRAM_ENUMERATION("GPU.GLImplementation", gl::GetGLImplementation());
}
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
@@ -487,7 +487,7 @@ const base::Feature kMediaDrmPreprovisioningAtStartup{
// Enables the Android Image Reader path for Video decoding(for AVDA and MCVD)
const base::Feature kAImageReaderVideoOutput{"AImageReaderVideoOutput",
- base::FEATURE_ENABLED_BY_DEFAULT};
+ base::FEATURE_DISABLED_BY_DEFAULT};
// Prevents using SurfaceLayer for videos. This is meant to be used by embedders
// that cannot support SurfaceLayer at the moment.
--
2.17.1
@@ -31,7 +31,7 @@ diff --git a/DEPS b/DEPS
# By default, do not check out WebKit for iOS, as it is not needed unless
# running against ToT WebKit rather than system WebKit. This can be overridden
@@ -3397,49 +3397,6 @@ hooks = [
@@ -3401,49 +3401,6 @@ hooks = [
'sync', '--extract',
],
},
@@ -81,7 +81,7 @@ diff --git a/DEPS b/DEPS
{
# Case-insensitivity for the Win SDK. Must run before win_toolchain below.
'name': 'ciopfs_linux',
@@ -3467,18 +3424,6 @@ hooks = [
@@ -3471,18 +3428,6 @@ hooks = [
'condition': 'checkout_mac',
'action': ['python', 'src/build/mac_toolchain.py'],
},
@@ -100,7 +100,7 @@ diff --git a/DEPS b/DEPS
{
# Update the prebuilt clang toolchain.
# Note: On Win, this should run after win_toolchain, as it may use it.
@@ -3565,18 +3510,6 @@ hooks = [
@@ -3569,18 +3514,6 @@ hooks = [
'-s', 'src/buildtools/mac/clang-format.sha1',
],
},
@@ -119,7 +119,7 @@ diff --git a/DEPS b/DEPS
# Pull rc binaries using checked-in hashes.
{
'name': 'rc_win',
@@ -3602,29 +3535,6 @@ hooks = [
@@ -3606,29 +3539,6 @@ hooks = [
'-s', 'src/build/toolchain/win/rc/mac/rc.sha1',
],
},