Disable AppRating: Remove AppRating code paths and build targets. The feature depends on Google

Play Review APIs already disabled by default.
This commit is contained in:
Carmelo Messina
2026-05-19 11:04:31 +02:00
parent 08a05c03de
commit 932da2ddc3
2 changed files with 91 additions and 1 deletions
+2 -1
View File
@@ -305,6 +305,8 @@ Disable-device-bound-session.patch
Keep-disabled-CpuPerformance.patch
Immediately-destroy-shared-workers-when-closing-the-page.patch
Disable-minikin-hyphenation.patch
Disable-integration-with-Gemini.patch
Disable-AppRating.patch
# temporary or wip patches
Temp-disable-predictive-back-gesture.patch
@@ -316,7 +318,6 @@ Block-leakage-of-urls-in-sandbox-iframes.patch
Fix-chromium-build-bugs.patch
Try-to-fix-2082.patch
Temp-use-PREVIEW-for-IDCompositionDevice5.patch
Disable-integration-with-Gemini.patch
# adblock patches
eyeo-133.0.6943.49-base.patch
+89
View File
@@ -0,0 +1,89 @@
From: uazo <uazo@users.noreply.github.com>
Date: Mon, 18 May 2026 15:44:56 +0000
Subject: Disable AppRating
Chromium Android includes an AppRating promo path that can trigger user-facing
review prompts through the Android app-rating integration. The implementation
depends on Google Play Review APIs provided by Google Play Services. Those
dependencies are already excluded by default in this fork through a separate
patch, making the AppRating feature non-functional and unnecessary.
Change:
Remove AppRatingPromoController from the optional promo selection flow and
exclude the app_rating Java and junit targets from the Android build graph.
Privacy/Security Impact:
Removes an unused user-engagement surface and avoids invoking review-related
logic tied to Google Play Services. No browser engine, network, Blink, V8,
storage, or process-isolation behavior is changed.
Notes:
AppRating depends on Google Play Review APIs from Google Play Services.
Since Google Play Services support is already excluded by default through a
separate patch, this change removes the now-unused integration and prevents
accidental reintroduction of the feature.
License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
---
chrome/android/BUILD.gn | 4 ++--
.../chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java | 6 ------
chrome/browser/ui/android/app_rating/BUILD.gn | 2 ++
3 files changed, 4 insertions(+), 8 deletions(-)
diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
--- a/chrome/android/BUILD.gn
+++ b/chrome/android/BUILD.gn
@@ -513,7 +513,7 @@ if (_is_default_toolchain) {
"//chrome/browser/touch_to_fill/common/android:java",
"//chrome/browser/translate/android:java",
"//chrome/browser/ui/android/actions:java",
- "//chrome/browser/ui/android/app_rating:java",
+ #"//chrome/browser/ui/android/app_rating:java",
"//chrome/browser/ui/android/appmenu:factory_java",
"//chrome/browser/ui/android/appmenu:java",
"//chrome/browser/ui/android/bottombar:java",
@@ -1201,7 +1201,7 @@ if (_is_default_toolchain) {
"//chrome/browser/touch_to_fill/password_manager/password_generation/android/internal:junit",
"//chrome/browser/translate/android:junit",
"//chrome/browser/ui/android/actions:junit",
- "//chrome/browser/ui/android/app_rating:junit",
+ #"//chrome/browser/ui/android/app_rating:junit",
"//chrome/browser/ui/android/appmenu/internal:junit",
"//chrome/browser/ui/android/autofill/internal:junit",
"//chrome/browser/ui/android/bottombar:junit",
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java b/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java
@@ -201,7 +201,6 @@ import org.chromium.chrome.browser.toolbar.ToolbarFeatures;
import org.chromium.chrome.browser.toolbar.ToolbarIntentMetadata;
import org.chromium.chrome.browser.toolbar.adaptive.AdaptiveToolbarBehavior;
import org.chromium.chrome.browser.ui.RootUiCoordinator;
-import org.chromium.chrome.browser.ui.app_rating.AppRatingPromoController;
import org.chromium.chrome.browser.ui.appmenu.AppMenuBlocker;
import org.chromium.chrome.browser.ui.appmenu.AppMenuDelegate;
import org.chromium.chrome.browser.ui.bottombar.BottomBarHostManager;
@@ -2237,11 +2236,6 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator {
return true;
}
- if (AppRatingPromoController.maybeShowPromo(profile, mActivity)) {
- UserEducationUtils.recordOptionalPromoType(OptionalPromoType.APP_RATING_PROMPT);
- return true;
- }
-
UserEducationUtils.recordOptionalPromoType(OptionalPromoType.NONE_SHOWN);
return false;
}
diff --git a/chrome/browser/ui/android/app_rating/BUILD.gn b/chrome/browser/ui/android/app_rating/BUILD.gn
--- a/chrome/browser/ui/android/app_rating/BUILD.gn
+++ b/chrome/browser/ui/android/app_rating/BUILD.gn
@@ -5,6 +5,8 @@
import("//build/config/android/config.gni")
import("//build/config/android/rules.gni")
+assert(false)
+
if (enable_chrome_android_internal) {
android_aar_prebuilt("play_review_aar_internal_java") {
aar_path = "//third_party/android_deps/autorolled/cipd/libs/com_google_android_play_review/review.aar"
--