Browse Source

DoH and WebGL fix; add GPC

extensions 88.0.4324.182-2-webview
wchen342 2 years ago
parent
commit
d2ed0af5da
Signed by: wchen342 GPG Key ID: 9C19365D69B04CEC
  1. 6
      CHANGELOG.md
  2. 6
      README.md
  3. 2
      build.sh
  4. 26
      patches/Bromite/Add-bookmark-import-export-actions.patch
  5. 6
      patches/Bromite/Add-flag-to-disable-WebGL.patch
  6. 18
      patches/Bromite/Add-option-to-not-persist-tabs-across-sessions.patch
  7. 24
      patches/Bromite/DoH-secure-mode-by-default.patch
  8. 1
      patches/series
  9. 1025
      patches/ungoogled-chromium-android/Add-global-privacy-control.patch

6
CHANGELOG.md

@ -1,3 +1,9 @@
# 88.0.4324.182-2
* Add fix for DoH
* Change description for WebGL flag
* Add GPC (Global Privacy Control) support (Warning: turning this on may *increase* your browser's fingerprint!)
* Add separate `arm64` and `x86` F-Droid repo
# 88.0.4324.182-1
* Upstream important security fix
<details>

6
README.md

@ -186,9 +186,11 @@ There are three methods to install extensions:
## F-Droid Repository
I have set up a F-Droid repository. Because of the limitation of its server tools, the binaries are compiled towards `arm`. They are compatible on 64-bit `arm64` devices too.
I have set up a F-Droid repository. You can use F-Droid client and add the following repository, depending on your device:
You can use F-Droid client and add [this repository](https://www.droidware.info/fdroid/repo?fingerprint=2144449AB1DD270EC31B6087409B5D0EA39A75A9F290DA62AC1B238A0EAAF851).
- For 32-bit `arm` devices, add [this repository](https://www.droidware.info/fdroid/repo?fingerprint=2144449AB1DD270EC31B6087409B5D0EA39A75A9F290DA62AC1B238A0EAAF851)
- For 64-bit `arm64` devices, add [this repository](https://www.droidware.info/arm64/fdroid/repo?fingerprint=2144449AB1DD270EC31B6087409B5D0EA39A75A9F290DA62AC1B238A0EAAF851)
- For `x86` devices, add [this repository](https://www.droidware.info/x86/fdroid/repo?fingerprint=2144449AB1DD270EC31B6087409B5D0EA39A75A9F290DA62AC1B238A0EAAF851)
## Credits

2
build.sh

@ -14,7 +14,7 @@ trichrome_webview_target=trichrome_webview_apk
chromium_version=88.0.4324.182
ungoogled_chromium_version=88.0.4324.182
ungoogled_chromium_revision=1
ungoogled_chromium_android_revision=1
ungoogled_chromium_android_revision=2
# Show env
pwd

26
patches/Bromite/Add-bookmark-import-export-actions.patch

@ -374,7 +374,7 @@ Completely remove contacts picker permission from the file dialog
protected NativePage buildDownloadsPage(Tab tab) {
--- a/chrome/browser/BUILD.gn
+++ b/chrome/browser/BUILD.gn
@@ -190,6 +190,8 @@ static_library("browser") {
@@ -192,6 +192,8 @@ static_library("browser") {
"bitmap_fetcher/bitmap_fetcher_service.h",
"bitmap_fetcher/bitmap_fetcher_service_factory.cc",
"bitmap_fetcher/bitmap_fetcher_service_factory.h",
@ -383,7 +383,7 @@ Completely remove contacts picker permission from the file dialog
"bluetooth/bluetooth_chooser_context.cc",
"bluetooth/bluetooth_chooser_context.h",
"bluetooth/bluetooth_chooser_context_factory.cc",
@@ -1862,6 +1864,8 @@ static_library("browser") {
@@ -1865,6 +1867,8 @@ static_library("browser") {
"web_data_service_factory.h",
"window_placement/window_placement_permission_context.cc",
"window_placement/window_placement_permission_context.h",
@ -392,7 +392,7 @@ Completely remove contacts picker permission from the file dialog
]
configs += [
@@ -3395,8 +3399,6 @@ static_library("browser") {
@@ -3396,8 +3400,6 @@ static_library("browser") {
"badging/badge_manager_factory.h",
"banners/app_banner_manager_desktop.cc",
"banners/app_banner_manager_desktop.h",
@ -834,8 +834,8 @@ Completely remove contacts picker permission from the file dialog
+ "importer/imported_bookmark_entry.cc",
+ "importer/imported_bookmark_entry.h",
]
} else {
# Non-Android.
public_deps += [ "//chrome/common/importer" ]
--- a/chrome/utility/BUILD.gn
+++ b/chrome/utility/BUILD.gn
@@ -71,8 +71,6 @@ static_library("utility") {
@ -959,7 +959,7 @@ Completely remove contacts picker permission from the file dialog
// than true bookmarks.
--- a/ui/android/java/src/org/chromium/ui/base/SelectFileDialog.java
+++ b/ui/android/java/src/org/chromium/ui/base/SelectFileDialog.java
@@ -35,6 +35,7 @@ import org.chromium.base.task.AsyncTask;
@@ -38,6 +38,7 @@ import org.chromium.base.task.AsyncTask;
import org.chromium.base.task.PostTask;
import org.chromium.base.task.TaskTraits;
import org.chromium.ui.R;
@ -967,7 +967,7 @@ Completely remove contacts picker permission from the file dialog
import org.chromium.ui.UiUtils;
import java.io.File;
@@ -53,6 +54,7 @@ public class SelectFileDialog implements
@@ -58,6 +59,7 @@ public class SelectFileDialog implements
private static final String TAG = "SelectFileDialog";
private static final String IMAGE_TYPE = "image";
private static final String VIDEO_TYPE = "video";
@ -975,7 +975,7 @@ Completely remove contacts picker permission from the file dialog
private static final String AUDIO_TYPE = "audio";
private static final String ALL_TYPES = "*/*";
@@ -143,6 +145,11 @@ public class SelectFileDialog implements
@@ -149,6 +151,11 @@ public class SelectFileDialog implements
mFileTypes = fileTypes;
}
@ -987,7 +987,7 @@ Completely remove contacts picker permission from the file dialog
/**
* Creates and starts an intent based on the passed fileTypes and capture value.
* @param fileTypes MIME types requested (i.e. "image/*")
@@ -170,7 +177,7 @@ public class SelectFileDialog implements
@@ -177,7 +184,7 @@ public class SelectFileDialog implements
List<String> missingPermissions = new ArrayList<>();
String storagePermission = Manifest.permission.READ_EXTERNAL_STORAGE;
boolean shouldUsePhotoPicker = shouldUsePhotoPicker();
@ -996,7 +996,7 @@ Completely remove contacts picker permission from the file dialog
if (!window.hasPermission(storagePermission)) missingPermissions.add(storagePermission);
} else {
if (((mSupportsImageCapture && shouldShowImageTypes())
@@ -198,7 +205,7 @@ public class SelectFileDialog implements
@@ -205,7 +212,7 @@ public class SelectFileDialog implements
}
// TODO(finnur): Remove once we figure out the cause of crbug.com/950024.
@ -1005,7 +1005,7 @@ Completely remove contacts picker permission from the file dialog
if (permissions.length != requestPermissions.length) {
throw new RuntimeException(
String.format("Permissions arrays misaligned: %d != %d",
@@ -212,7 +219,7 @@ public class SelectFileDialog implements
@@ -219,7 +226,7 @@ public class SelectFileDialog implements
}
}
@ -1014,7 +1014,7 @@ Completely remove contacts picker permission from the file dialog
onFileNotSelected();
return;
}
@@ -358,6 +365,7 @@ public class SelectFileDialog implements
@@ -385,6 +392,7 @@ public class SelectFileDialog implements
}
if (!mimeTypes.contains(mimeType)) mimeTypes.add(mimeType);
}
@ -1022,7 +1022,7 @@ Completely remove contacts picker permission from the file dialog
return mimeTypes;
}
@@ -659,6 +667,10 @@ public class SelectFileDialog implements
@@ -686,6 +694,10 @@ public class SelectFileDialog implements
return countAcceptTypesFor(superType) == mFileTypes.size();
}
@ -1046,7 +1046,7 @@ Completely remove contacts picker permission from the file dialog
--- a/ui/shell_dialogs/select_file_dialog_android.cc
+++ b/ui/shell_dialogs/select_file_dialog_android.cc
@@ -140,6 +140,12 @@ void SelectFileDialogImpl::SelectFileImp
@@ -144,6 +144,12 @@ void SelectFileDialogImpl::SelectFileImp
owning_window->GetJavaObject());
}

6
patches/Bromite/Add-flag-to-disable-WebGL.patch

@ -27,11 +27,11 @@ Subject: Add flag to disable WebGL
"enable-autofill-account-wallet-storage is also enabled.";
+const char kDisableWebGLName[] = "Disable all versions of WebGL";
+const char kDisableWebGLDescription[] = "Disable all versions of WebGL";
+const char kDisableWebGLDescription[] = "Disable all versions of WebGL. Note that selecting 'enable' for this flag will enable, and selecting 'disable' will disable WebGL.";
+
// Non-Android -----------------------------------------------------------------
#else // !defined(OS_ANDROID)
--- a/chrome/browser/flag_descriptions.h
+++ b/chrome/browser/flag_descriptions.h
@@ -1877,6 +1877,9 @@ extern const char kTabbedAppOverflowMenu
@ -43,4 +43,4 @@ Subject: Add flag to disable WebGL
+
// Non-Android ----------------------------------------------------------------
#else // !defined(OS_ANDROID)

18
patches/Bromite/Add-option-to-not-persist-tabs-across-sessions.patch

@ -11,16 +11,16 @@ Subject: Add option to not persist tabs across sessions
--- a/chrome/android/java/res/xml/privacy_preferences.xml
+++ b/chrome/android/java/res/xml/privacy_preferences.xml
@@ -45,4 +45,10 @@
@@ -50,4 +50,10 @@
android:summary="@string/prefs_safe_browsing_summary"
android:fragment="org.chromium.chrome.browser.safe_browsing.settings.SafeBrowsingSettingsFragment"
android:order="6"/>
android:order="7"/>
+ <org.chromium.components.browser_ui.settings.ChromeSwitchPreference
+ android:key="close_tabs_on_exit"
+ android:title="@string/close_tabs_on_exit_title"
+ android:summary="@string/close_tabs_on_exit_summary"
+ android:defaultValue="false"
+ android:order="7"/>
+ android:order="8"/>
</PreferenceScreen>
--- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
@ -62,17 +62,17 @@ Subject: Add option to not persist tabs across sessions
private static final String PREF_CAN_MAKE_PAYMENT = "can_make_payment";
private static final String PREF_NETWORK_PREDICTIONS = "preload_pages";
private static final String PREF_SECURE_DNS = "secure_dns";
@@ -52,7 +55,8 @@ public class PrivacySettings
@@ -53,7 +56,8 @@ public class PrivacySettings
private static final String PREF_CLEAR_BROWSING_DATA = "clear_browsing_data";
private static final String[] NEW_PRIVACY_PREFERENCE_ORDER = {PREF_CLEAR_BROWSING_DATA,
PREF_SAFE_BROWSING, PREF_CAN_MAKE_PAYMENT, PREF_NETWORK_PREDICTIONS, PREF_USAGE_STATS,
- PREF_SECURE_DNS, PREF_DO_NOT_TRACK};
+ PREF_SECURE_DNS, PREF_DO_NOT_TRACK,
- PREF_SECURE_DNS, PREF_DO_NOT_TRACK, PREF_GLOBAL_PRIVACY_CONTROL};
+ PREF_SECURE_DNS, PREF_DO_NOT_TRACK, PREF_GLOBAL_PRIVACY_CONTROL,
+ PREF_CLOSE_TABS_ON_EXIT};
private ManagedPreferenceDelegate mManagedPreferenceDelegate;
@@ -145,7 +149,11 @@ public class PrivacySettings
@@ -146,7 +150,11 @@ public class PrivacySettings
@Override
public boolean onPreferenceChange(Preference preference, Object newValue) {
String key = preference.getKey();
@ -85,7 +85,7 @@ Subject: Add option to not persist tabs across sessions
UserPrefs.get(Profile.getLastUsedRegularProfile())
.setBoolean(Pref.CAN_MAKE_PAYMENT_ENABLED, (boolean) newValue);
} else if (PREF_NETWORK_PREDICTIONS.equals(key)) {
@@ -207,6 +215,11 @@ public class PrivacySettings
@@ -215,6 +223,11 @@ public class PrivacySettings
getPreferenceScreen().removePreference(usageStatsPref);
}
}
@ -99,7 +99,7 @@ Subject: Add option to not persist tabs across sessions
private ChromeManagedPreferenceDelegate createManagedPreferenceDelegate() {
--- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
+++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
@@ -3747,6 +3747,12 @@ Data from your Incognito session will on
@@ -3753,6 +3753,12 @@ Data from your Incognito session will on
<message name="IDS_CONTEXTMENU_IMAGE_TITLE" desc="The title of a context menu tab when the item pressed contains more than one type. This indicates that all the actions are related to the image.">
IMAGE
</message>

24
patches/Bromite/DoH-secure-mode-by-default.patch

@ -3,13 +3,13 @@ Date: Sat, 26 Sep 2020 14:23:19 +0100
Subject: DoH secure mode by default
---
.../browser/net/stub_resolver_config_reader.cc | 17 +----------------
1 file changed, 1 insertion(+), 16 deletions(-)
chrome/android/java/src/org/chromium/chrome/browser/policy/EnterpriseInfo.java | 2 -
chrome/browser/net/stub_resolver_config_reader.cc | 17 ----------
2 files changed, 2 insertions(+), 17 deletions(-)
diff --git a/chrome/browser/net/stub_resolver_config_reader.cc b/chrome/browser/net/stub_resolver_config_reader.cc
--- a/chrome/browser/net/stub_resolver_config_reader.cc
+++ b/chrome/browser/net/stub_resolver_config_reader.cc
@@ -153,7 +153,7 @@ StubResolverConfigReader::StubResolverConfigReader(PrefService* local_state,
@@ -153,7 +153,7 @@ StubResolverConfigReader::StubResolverCo
if (entries.count("[email protected]")) {
// The user has "Enabled" selected.
local_state_->SetString(prefs::kDnsOverHttpsMode,
@ -18,7 +18,7 @@ diff --git a/chrome/browser/net/stub_resolver_config_reader.cc b/chrome/browser/
} else if (entries.count("[email protected]")) {
// The user has "Disabled" selected.
local_state_->SetString(prefs::kDnsOverHttpsMode,
@@ -327,22 +327,7 @@ SecureDnsConfig StubResolverConfigReader::GetAndUpdateConfiguration(
@@ -327,22 +327,7 @@ SecureDnsConfig StubResolverConfigReader
check_parental_controls = false;
}
@ -41,6 +41,14 @@ diff --git a/chrome/browser/net/stub_resolver_config_reader.cc b/chrome/browser/
parental_controls_checked_ = true;
}
--
2.17.1
--- a/chrome/android/java/src/org/chromium/chrome/browser/policy/EnterpriseInfo.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/policy/EnterpriseInfo.java
@@ -43,7 +43,7 @@ public class EnterpriseInfo {
private OwnedState mOwnedState;
private Queue<Callback<OwnedState>> mCallbackList;
- private boolean mSkipAsyncCheckForTesting;
+ private boolean mSkipAsyncCheckForTesting = true;
/** A simple tuple to hold onto named fields about the state of ownership. */
public static class OwnedState {

1
patches/series

@ -39,6 +39,7 @@ ungoogled-chromium-android/Remove-ntp-sites.patch
ungoogled-chromium-android/Add-save-data-flag.patch
ungoogled-chromium-android/Add-always-desktop-option.patch
ungoogled-chromium-android/Add-force-tablet-ui-option.patch
ungoogled-chromium-android/Add-global-privacy-control.patch
Bromite/Add-exit-menu-item.patch
Bromite/Add-flag-to-disable-WebGL.patch
Bromite/Add-flags-to-disable-device-motion-orientation-APIs.patch

1025
patches/ungoogled-chromium-android/Add-global-privacy-control.patch

File diff suppressed because it is too large
Loading…
Cancel
Save