Skip to content
This repository was archived by the owner on Apr 1, 2023. It is now read-only.

Commit 9694300

Browse files
committed
Fix preferences mismatch
1 parent 76d59b1 commit 9694300

File tree

6 files changed

+193
-11
lines changed

6 files changed

+193
-11
lines changed

CHANGELOG.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,9 @@
66
* use blank page as homepage
77
* setting for DNS-over-HTTPS (DoH)
88
* flag to disable pull-to-refresh
9-
* Set contextual search to `false` in native code instead of Java
9+
* Disable contextual search in native code instead of Java
1010
* Disable lite mode prompt
11+
* Disable download articles over Wi-fi
1112
* Build time change (not affecting users):
1213
* Exclude unit tests from domain substitution
1314
* Using system JDK instead of bundled one. Requires both Java-8 and Java-10 on Arch Linux.

README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
# ungoogled-chromium-android
22

3+
Please see [CHANGELOG](https://github.com/wchen342/ungoogled-chromium-android/blob/master/CHANGELOG.md) for newest updates.
4+
35
*A lightweight approach to removing Google web service dependency*
46

57
*Note: this is an **Android** build. It is currently experimental.*

patches/series

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ src-fix/fix-null-mInstanceID.patch
33
src-fix/fix-unkown-warning-clang-9.patch
44
src-fix/fix-safe-browsing-prefs.patch
55
src-fix/fix-prefs.patch
6-
src-fix/fix-extra-safe-browsing.patch
76
Vanadium/0020-disable-media-router-media-remoting-by-default.patch
87
Vanadium/0021-disable-media-router-by-default.patch
98
Unobtainium/kill-Auth.patch
@@ -25,6 +24,7 @@ ungoogled-chromium-android/Remove-dependency-on-com.google.android.play.patch
2524
ungoogled-chromium-android/Remove-dependency-on-com.google.android.play.core.splitcompat-com.google.android.play.core.splitinstall.patch
2625
ungoogled-chromium-android/Disable-contextual-search.patch
2726
ungoogled-chromium-android/Disable-lite-mode-prompt.patch
27+
ungoogled-chromium-android/Disable-prefetch.patch
2828
Bromite/Add-flag-to-disable-WebGL.patch
2929
Bromite/Add-flags-to-disable-device-motion-and-orientation-APIs.patch
3030
Bromite/Add-option-to-not-persist-tabs-across-sessions.patch

patches/src-fix/fix-prefs.patch

Lines changed: 36 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,11 @@ Date: Thu, 20 Feb 2020 22:24:35 -0500
33
Subject: fix build error with prefs.h
44

55
---
6-
chrome/browser/android/preferences/prefs.h | 2 --
7-
1 file changed, 2 deletions(-)
6+
chrome/android/java/src/org/chromium/chrome/browser/signin/SigninFragmentBase.java | 2 +-
7+
chrome/android/java/src/org/chromium/chrome/browser/signin/SigninPromoUtil.java | 3 +--
8+
chrome/browser/android/preferences/prefs.h | 3 ---
9+
3 files changed, 2 insertions(+), 6 deletions(-)
810

9-
diff --git a/chrome/browser/android/preferences/prefs.h b/chrome/browser/android/preferences/prefs.h
1011
--- a/chrome/browser/android/preferences/prefs.h
1112
+++ b/chrome/browser/android/preferences/prefs.h
1213
@@ -20,7 +20,6 @@
@@ -17,11 +18,42 @@ diff --git a/chrome/browser/android/preferences/prefs.h b/chrome/browser/android
1718
#include "components/translate/core/browser/translate_pref_names.h"
1819

1920
// A preference exposed to Java.
20-
@@ -111,7 +110,6 @@ const char* const kPrefsExposedToJava[] = {
21+
@@ -59,7 +58,6 @@ enum Pref {
22+
OFFER_TRANSLATE_ENABLED,
23+
NOTIFICATIONS_VIBRATE_ENABLED,
24+
ALTERNATE_ERROR_PAGES_ENABLED,
25+
- SYNC_LAST_ACCOUNT_NAME,
26+
WEBKIT_PASSWORD_ECHO_ENABLED,
27+
WEBKIT_FORCE_DARK_MODE_ENABLED,
28+
HOME_PAGE,
29+
@@ -109,7 +107,6 @@ const char* const kPrefsExposedToJava[]
2130
prefs::kOfferTranslateEnabled,
2231
prefs::kNotificationsVibrateEnabled,
2332
prefs::kAlternateErrorPagesEnabled,
2433
- prefs::kGoogleServicesLastUsername,
2534
prefs::kWebKitPasswordEchoEnabled,
2635
prefs::kWebKitForceDarkModeEnabled,
2736
prefs::kHomePage,
37+
--- a/chrome/android/java/src/org/chromium/chrome/browser/signin/SigninFragmentBase.java
38+
+++ b/chrome/android/java/src/org/chromium/chrome/browser/signin/SigninFragmentBase.java
39+
@@ -437,7 +437,7 @@ public abstract class SigninFragmentBase
40+
private void runStateMachineAndSignin(boolean settingsClicked) {
41+
mConfirmSyncDataStateMachine = new ConfirmSyncDataStateMachine(getContext(),
42+
getChildFragmentManager(),
43+
- PrefServiceBridge.getInstance().getString(Pref.SYNC_LAST_ACCOUNT_NAME),
44+
+ "",
45+
mSelectedAccountName, new ConfirmImportSyncDataDialog.Listener() {
46+
@Override
47+
public void onConfirm(boolean wipeData) {
48+
--- a/chrome/android/java/src/org/chromium/chrome/browser/signin/SigninPromoUtil.java
49+
+++ b/chrome/android/java/src/org/chromium/chrome/browser/signin/SigninPromoUtil.java
50+
@@ -42,8 +42,7 @@ public class SigninPromoUtil {
51+
public static boolean launchSigninPromoIfNeeded(final Activity activity) {
52+
ChromePreferenceManager preferenceManager = ChromePreferenceManager.getInstance();
53+
int currentMajorVersion = ChromeVersionInfo.getProductMajorVersion();
54+
- boolean wasSignedIn = TextUtils.isEmpty(
55+
- PrefServiceBridge.getInstance().getString(Pref.SYNC_LAST_ACCOUNT_NAME));
56+
+ boolean wasSignedIn = TextUtils.isEmpty("");
57+
58+
Supplier<Set<String>> accountNamesSupplier =
59+
() -> new ArraySet<>(AccountManagerFacade.get().tryGetGoogleAccountNames());

patches/src-fix/fix-safe-browsing-prefs.patch

Lines changed: 121 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,117 @@ Date: Fri, 10 Jan 2020 18:01:56 -0500
33
Subject: Fix build error caused by the removal of safe_browsing_prefs.h
44

55
---
6-
android_webview/browser/aw_browser_context.cc | 2 +-
7-
.../browser/safe_browsing/aw_safe_browsing_blocking_page.cc | 9 ++++-----
8-
chrome/browser/android/preferences/pref_service_bridge.cc | 5 +----
9-
weblayer/browser/profile_impl.cc | 2 --
10-
4 files changed, 6 insertions(+), 12 deletions(-)
6+
android_webview/browser/aw_browser_context.cc | 2 -
7+
android_webview/browser/safe_browsing/aw_safe_browsing_blocking_page.cc | 8 ++--
8+
chrome/android/BUILD.gn | 1
9+
chrome/android/chrome_java_sources.gni | 1
10+
chrome/android/java/src/org/chromium/chrome/browser/settings/sync/SyncAndServicesPreferences.java | 19 ++--------
11+
chrome/android/java/src/org/chromium/chrome/browser/webshare/ShareServiceImpl.java | 3 -
12+
chrome/browser/android/preferences/prefs.h | 2 -
13+
weblayer/browser/profile_impl.cc | 2 -
14+
8 files changed, 10 insertions(+), 28 deletions(-)
1115

16+
--- a/chrome/android/BUILD.gn
17+
+++ b/chrome/android/BUILD.gn
18+
@@ -2780,7 +2780,6 @@ generate_jni("chrome_jni_headers") {
19+
"java/src/org/chromium/chrome/browser/rappor/RapporServiceBridge.java",
20+
"java/src/org/chromium/chrome/browser/rlz/RevenueStats.java",
21+
"java/src/org/chromium/chrome/browser/rlz/RlzPingHandler.java",
22+
- "java/src/org/chromium/chrome/browser/safe_browsing/SafeBrowsingBridge.java",
23+
"java/src/org/chromium/chrome/browser/search_engines/TemplateUrlServiceFactory.java",
24+
"java/src/org/chromium/chrome/browser/send_tab_to_self/NotificationManager.java",
25+
"java/src/org/chromium/chrome/browser/send_tab_to_self/SendTabToSelfAndroidBridge.java",
26+
--- a/chrome/android/chrome_java_sources.gni
27+
+++ b/chrome/android/chrome_java_sources.gni
28+
@@ -1315,7 +1315,6 @@ chrome_java_sources = [
29+
"java/src/org/chromium/chrome/browser/rappor/RapporServiceBridge.java",
30+
"java/src/org/chromium/chrome/browser/rlz/RevenueStats.java",
31+
"java/src/org/chromium/chrome/browser/rlz/RlzPingHandler.java",
32+
- "java/src/org/chromium/chrome/browser/safe_browsing/SafeBrowsingBridge.java",
33+
"java/src/org/chromium/chrome/browser/search_engines/SearchEngineChoiceMetrics.java",
34+
"java/src/org/chromium/chrome/browser/search_engines/SearchEngineChoiceNotification.java",
35+
"java/src/org/chromium/chrome/browser/search_engines/TemplateUrlServiceFactory.java",
36+
--- a/chrome/android/java/src/org/chromium/chrome/browser/settings/sync/SyncAndServicesPreferences.java
37+
+++ b/chrome/android/java/src/org/chromium/chrome/browser/settings/sync/SyncAndServicesPreferences.java
38+
@@ -45,7 +45,6 @@ import org.chromium.chrome.browser.metri
39+
import org.chromium.chrome.browser.preferences.Pref;
40+
import org.chromium.chrome.browser.preferences.PrefServiceBridge;
41+
import org.chromium.chrome.browser.profiles.Profile;
42+
-import org.chromium.chrome.browser.safe_browsing.SafeBrowsingBridge;
43+
import org.chromium.chrome.browser.settings.ChromeBasePreference;
44+
import org.chromium.chrome.browser.settings.ChromeSwitchPreference;
45+
import org.chromium.chrome.browser.settings.ManagedPreferenceDelegate;
46+
@@ -365,17 +364,9 @@ public class SyncAndServicesPreferences
47+
PostTask.postTask(UiThreadTaskTraits.DEFAULT, this::updatePreferences);
48+
} else if (PREF_SEARCH_SUGGESTIONS.equals(key)) {
49+
mPrefServiceBridge.setBoolean(Pref.SEARCH_SUGGEST_ENABLED, (boolean) newValue);
50+
- } else if (PREF_SAFE_BROWSING.equals(key)) {
51+
- mPrefServiceBridge.setBoolean(Pref.SAFE_BROWSING_ENABLED, (boolean) newValue);
52+
- // Toggling the safe browsing preference impacts the leak detection and the
53+
- // safe browsing reporting preferences as well.
54+
- PostTask.postTask(UiThreadTaskTraits.DEFAULT,
55+
- this::updateLeakDetectionAndSafeBrowsingReportingPreferences);
56+
} else if (PREF_PASSWORD_LEAK_DETECTION.equals(key)) {
57+
mPrefServiceBridge.setBoolean(
58+
Pref.PASSWORD_MANAGER_LEAK_DETECTION_ENABLED, (boolean) newValue);
59+
- } else if (PREF_SAFE_BROWSING_SCOUT_REPORTING.equals(key)) {
60+
- SafeBrowsingBridge.setSafeBrowsingExtendedReportingEnabled((boolean) newValue);
61+
} else if (PREF_NAVIGATION_ERROR.equals(key)) {
62+
mPrefServiceBridge.setBoolean(Pref.ALTERNATE_ERROR_PAGES_ENABLED, (boolean) newValue);
63+
} else if (PREF_USAGE_AND_CRASH_REPORTING.equals(key)) {
64+
@@ -601,7 +592,6 @@ public class SyncAndServicesPreferences
65+
mSearchSuggestions.setChecked(mPrefServiceBridge.getBoolean(Pref.SEARCH_SUGGEST_ENABLED));
66+
mNavigationError.setChecked(
67+
mPrefServiceBridge.getBoolean(Pref.ALTERNATE_ERROR_PAGES_ENABLED));
68+
- mSafeBrowsing.setChecked(mPrefServiceBridge.getBoolean(Pref.SAFE_BROWSING_ENABLED));
69+
70+
updateLeakDetectionAndSafeBrowsingReportingPreferences();
71+
72+
@@ -667,10 +657,9 @@ public class SyncAndServicesPreferences
73+
* its appearance needs to be updated. The same goes for safe browsing reporting.
74+
*/
75+
private void updateLeakDetectionAndSafeBrowsingReportingPreferences() {
76+
- boolean safe_browsing_enabled = mPrefServiceBridge.getBoolean(Pref.SAFE_BROWSING_ENABLED);
77+
+ boolean safe_browsing_enabled = false;
78+
mSafeBrowsingReporting.setEnabled(safe_browsing_enabled);
79+
- mSafeBrowsingReporting.setChecked(safe_browsing_enabled
80+
- && SafeBrowsingBridge.isSafeBrowsingExtendedReportingEnabled());
81+
+ mSafeBrowsingReporting.setChecked(false);
82+
83+
if (mPasswordLeakDetection == null) return; // Early exit without leak detection to update.
84+
85+
@@ -700,10 +689,10 @@ public class SyncAndServicesPreferences
86+
return mPrefServiceBridge.isManagedPreference(Pref.SEARCH_SUGGEST_ENABLED);
87+
}
88+
if (PREF_SAFE_BROWSING_SCOUT_REPORTING.equals(key)) {
89+
- return SafeBrowsingBridge.isSafeBrowsingExtendedReportingManaged();
90+
+ return false;
91+
}
92+
if (PREF_SAFE_BROWSING.equals(key)) {
93+
- return mPrefServiceBridge.isManagedPreference(Pref.SAFE_BROWSING_ENABLED);
94+
+ return false;
95+
}
96+
if (PREF_PASSWORD_LEAK_DETECTION.equals(key)) {
97+
return mPrefServiceBridge.isManagedPreference(
98+
--- a/chrome/android/java/src/org/chromium/chrome/browser/webshare/ShareServiceImpl.java
99+
+++ b/chrome/android/java/src/org/chromium/chrome/browser/webshare/ShareServiceImpl.java
100+
@@ -20,7 +20,6 @@ import org.chromium.base.task.PostTask;
101+
import org.chromium.base.task.TaskRunner;
102+
import org.chromium.base.task.TaskTraits;
103+
import org.chromium.chrome.browser.ChromeActivity;
104+
-import org.chromium.chrome.browser.safe_browsing.SafeBrowsingBridge;
105+
import org.chromium.chrome.browser.share.ShareHelper;
106+
import org.chromium.chrome.browser.share.ShareParams;
107+
import org.chromium.content_public.browser.WebContents;
108+
@@ -198,7 +197,7 @@ public class ShareServiceImpl implements
109+
110+
for (SharedFile file : files) {
111+
RecordHistogram.recordSparseHistogram(
112+
- "WebShare.Unverified", SafeBrowsingBridge.umaValueForFile(file.name));
113+
+ "WebShare.Unverified", 1);
114+
}
115+
116+
for (SharedFile file : files) {
12117
--- a/android_webview/browser/aw_browser_context.cc
13118
+++ b/android_webview/browser/aw_browser_context.cc
14119
@@ -227,7 +227,7 @@ base::FilePath AwBrowserContext::GetCont
@@ -56,3 +161,14 @@ Subject: Fix build error caused by the removal of safe_browsing_prefs.h
56161
}
57162

58163
ProfileImpl* const profile_impl_;
164+
--- a/chrome/browser/android/preferences/prefs.h
165+
+++ b/chrome/browser/android/preferences/prefs.h
166+
@@ -40,8 +40,6 @@ enum Pref {
167+
AUTOFILL_CREDIT_CARD_ENABLED,
168+
USAGE_STATS_ENABLED,
169+
OFFLINE_PREFETCH_USER_SETTING_ENABLED,
170+
- SAFE_BROWSING_EXTENDED_REPORTING_OPT_IN_ALLOWED,
171+
- SAFE_BROWSING_ENABLED,
172+
PASSWORD_MANAGER_ONBOARDING_STATE,
173+
SEARCH_SUGGEST_ENABLED,
174+
REMEMBER_PASSWORDS_ENABLED,
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
From: Wengling Chen <feiyu2817@gmail.com>
2+
Date: Sat, 22 Feb 2020 18:08:54 -0500
3+
Subject: Disable prefetch over wifi
4+
5+
---
6+
chrome/android/java/src/org/chromium/chrome/browser/offlinepages/prefetch/PrefetchPrefs.java | 2 +-
7+
components/offline_pages/core/prefetch/prefetch_prefs.cc | 2 +-
8+
2 files changed, 2 insertions(+), 2 deletions(-)
9+
10+
--- a/chrome/android/java/src/org/chromium/chrome/browser/offlinepages/prefetch/PrefetchPrefs.java
11+
+++ b/chrome/android/java/src/org/chromium/chrome/browser/offlinepages/prefetch/PrefetchPrefs.java
12+
@@ -37,7 +37,7 @@ public class PrefetchPrefs {
13+
*/
14+
public static boolean getNotificationEnabled() {
15+
return ContextUtils.getAppSharedPreferences().getBoolean(
16+
- PREF_PREFETCH_NOTIFICATION_ENABLED, true);
17+
+ PREF_PREFETCH_NOTIFICATION_ENABLED, false);
18+
}
19+
20+
/**
21+
--- a/components/offline_pages/core/prefetch/prefetch_prefs.cc
22+
+++ b/components/offline_pages/core/prefetch/prefetch_prefs.cc
23+
@@ -29,7 +29,7 @@ const char kBackoff[] = "offline_prefetc
24+
25+
void RegisterPrefs(PrefRegistrySimple* registry) {
26+
registry->RegisterListPref(kBackoff);
27+
- registry->RegisterBooleanPref(kUserSettingEnabled, true);
28+
+ registry->RegisterBooleanPref(kUserSettingEnabled, false);
29+
registry->RegisterTimePref(kLimitlessPrefetchingEnabledTimePref,
30+
base::Time());
31+
registry->RegisterStringPref(kPrefetchTestingHeaderPref, std::string());

0 commit comments

Comments
 (0)