├── .gitattributes ├── .gitignore ├── Android.mk ├── CleanSpec.mk ├── LICENSE ├── README.md ├── build-webview.sh ├── patches ├── 0001-Vanadium │ ├── 0001-disable-checkout_nacl.patch │ ├── 0002-use-64-bit-WebView-processes.patch │ ├── 0003-switch-to-fstack-protector-strong.patch │ ├── 0004-enable-fwrapv-in-Clang-for-non-UBSan-builds.patch │ ├── 0005-enable-ftrivial-auto-var-init-zero.patch │ ├── 0006-disable-broken-warning-for-auto-var-init.patch │ ├── 0010-Remove-logo-from-chrome-version.patch │ ├── 0013-remove-Help-feedback-menu-entry.patch │ ├── 0014-hide-passwords.google.com-link-when-not-supported.patch │ ├── 0015-disable-first-run-welcome-page.patch │ ├── 0016-disable-seed-based-field-trials.patch │ ├── 0017-disable-fetching-variations.patch │ ├── 0018-disable-WebView-variations-support.patch │ ├── 0019-disable-navigation-error-correction-by-default.patch │ ├── 0020-disable-contextual-search-by-default.patch │ ├── 0021-disable-network-prediction-by-default.patch │ ├── 0022-disable-metrics-by-default.patch │ ├── 0023-disable-hyperlink-auditing-by-default.patch │ ├── 0024-disable-showing-popular-sites-by-default.patch │ ├── 0025-disable-article-suggestions-feature-by-default.patch │ ├── 0026-disable-content-feed-suggestions-by-default.patch │ ├── 0027-disable-sensors-access-by-default.patch │ ├── 0028-block-playing-protected-media-by-default.patch │ ├── 0029-disable-third-party-cookies-by-default.patch │ ├── 0030-disable-background-sync-by-default.patch │ ├── 0031-disable-payment-support-by-default.patch │ ├── 0032-disable-media-router-media-remoting-by-default.patch │ ├── 0033-disable-media-router-by-default.patch │ ├── 0034-disable-offering-translations-by-default.patch │ ├── 0035-disable-browser-sign-in-feature-by-default.patch │ ├── 0036-disable-browser-autologin-by-default.patch │ ├── 0037-disable-safe-browsing-reporting-opt-in-by-default.patch │ ├── 0038-disable-unused-safe-browsing-option-by-default.patch │ ├── 0039-disable-media-DRM-preprovisioning-by-default.patch │ ├── 0040-enable-prefetch-privacy-changes-by-default.patch │ ├── 0041-enable-user-agent-freeze-by-default.patch │ ├── 0042-enable-split-cache-by-default.patch │ ├── 0043-enable-partitioning-connections-by-default.patch │ ├── 0044-enable-dubious-Do-Not-Track-feature-by-default.patch │ ├── 0045-disable-autofill-assistant-by-default.patch │ ├── 0046-disable-autofill-server-communication-by-default.patch │ ├── 0047-disable-component-updater-pings-by-default.patch │ ├── 0048-mark-non-secure-origins-as-dangerous.patch │ ├── 0049-enable-strict-site-isolation-by-default-on-Android.patch │ ├── 0050-most-private-WebRTC-IP-handling-policy-by-default.patch │ ├── 0051-stub-out-the-battery-status-API.patch │ ├── 0052-always-use-local-new-tab-page.patch │ ├── 0053-disable-search-provider-logo.patch │ ├── 0054-stop-ignoring-download-location-prompt-setting.patch │ ├── 0055-show-download-prompt-again-by-default.patch │ ├── 0056-remove-translate-offer-preference.patch │ ├── 0057-set-default-search-engine-to-DuckDuckGo.patch │ ├── 0058-disable-trivial-subdomain-hiding.patch │ ├── 0059-disable-learn-more-link-in-incognito-new-tab.patch │ ├── 0060-disable-Omaha-update-check-support.patch │ ├── 0061-disable-GaiaAuthFetcher-code-due-to-upstream-bug.patch │ ├── 0062-remove-safety-check-menu.patch │ ├── 0063-disable-unused-password-check-feature.patch │ ├── 0065-Move-search-suggestions-back-to-privacy-section.patch │ ├── 0067-disable-trials-of-privacy-aware-analytics-advertisin.patch │ ├── 0068-remove-unwanted-sync-and-services-link.patch │ ├── 0069-remove-unwanted-account-and-services-section.patch │ ├── 0070-Hide-Sign-In-preference-when-disallowed.patch │ ├── 0071-disable-using-Play-services-fonts.patch │ ├── 0072-Remove-privacy-trials-preference-UI.patch │ ├── 0073-use-Google-Chrome-branding-for-client-hints.patch │ ├── 0074-Make-HTTPS-only-mode-the-default.patch │ ├── 0075-Enable-strict-origin-isolation-by-default.patch │ ├── 0076-disable-appending-variations-header.patch │ ├── 0077-Hide-currently-no-op-preload-settings.patch │ ├── 0078-Disable-detailed-language-settings-by-default.patch │ ├── 0079-Disable-keep-prefetched-suggestions-by-default.patch │ ├── 0080-disable-fetching-optimization-guides-by-default.patch │ ├── 0081-Implement-UI-for-JIT-site-settings.patch │ ├── 0082-enable-process-isolated-sandboxed-iframes-by-default.patch │ ├── 0083-Toggle-for-closing-tabs-on-exit.patch │ ├── 0084-Toggle-for-navigating-external-URL-in-incognito.patch │ ├── 0085-Implement-UI-for-WebRTC-toggle.patch │ ├── LICENSE │ ├── LICENSE.Apache-2.0-note │ ├── LICENSE.GPL-2.0 │ └── LICENSE.WebView-note ├── 0002-LineageOS │ ├── 0001-Add-support-for-getting-updates-for-theme-color-chan.patch │ ├── 0002-Add-xxxhdpi-icon_webview.png-to-BUILD.gn.patch │ ├── 0003-webview-Hard-no-to-persistent-histograms.patch │ └── 0006-webview-Disable-autofill-metadata-uploads-by-default.patch └── VERSIONS └── prebuilt ├── arm └── webview.apk ├── arm64 └── webview.apk ├── x86 └── webview.apk └── x86_64 └── webview.apk /.gitattributes: -------------------------------------------------------------------------------- 1 | *.apk filter=lfs diff=lfs merge=lfs -text 2 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | src/ 2 | depot_tools/ 3 | _gclient*/ 4 | .gclient* 5 | .cipd/ 6 | -------------------------------------------------------------------------------- /Android.mk: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright (C) 2014 The Android Open Source Project 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | # 16 | 17 | # Install the prebuilt webview apk. 18 | 19 | LOCAL_PATH := $(call my-dir) 20 | 21 | include $(CLEAR_VARS) 22 | 23 | LOCAL_MODULE := webview 24 | LOCAL_MODULE_CLASS := APPS 25 | LOCAL_PRODUCT_MODULE := true 26 | LOCAL_MULTILIB := both 27 | LOCAL_CERTIFICATE := $(DEFAULT_SYSTEM_DEV_CERTIFICATE) 28 | LOCAL_REQUIRED_MODULES := \ 29 | libwebviewchromium_loader \ 30 | libwebviewchromium_plat_support 31 | 32 | LOCAL_MODULE_TARGET_ARCH := arm arm64 x86 x86_64 33 | my_src_arch := $(call get-prebuilt-src-arch,$(LOCAL_MODULE_TARGET_ARCH)) 34 | LOCAL_SRC_FILES := prebuilt/$(my_src_arch)/webview.apk 35 | 36 | LOCAL_PREBUILT_JNI_LIBS_arm := @lib/armeabi-v7a/libwebviewchromium.so 37 | LOCAL_PREBUILT_JNI_LIBS_arm64 := @lib/arm64-v8a/libwebviewchromium.so 38 | LOCAL_PREBUILT_JNI_LIBS_x86 := @lib/x86/libwebviewchromium.so 39 | LOCAL_PREBUILT_JNI_LIBS_x86_64 := @lib/x86_64/libwebviewchromium.so 40 | 41 | include $(BUILD_PREBUILT) 42 | -------------------------------------------------------------------------------- /CleanSpec.mk: -------------------------------------------------------------------------------- 1 | # Copyright (C) 2014 The Android Open Source Project 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | # 15 | 16 | # If you don't need to do a full clean build but would like to touch 17 | # a file or delete some intermediate files, add a clean step to the end 18 | # of the list. These steps will only be run once, if they haven't been 19 | # run before. 20 | # 21 | # E.g.: 22 | # $(call add-clean-step, touch -c external/sqlite/sqlite3.h) 23 | # $(call add-clean-step, rm -rf $(PRODUCT_OUT)/obj/STATIC_LIBRARIES/libz_intermediates) 24 | # 25 | # Always use "touch -c" and "rm -f" or "rm -rf" to gracefully deal with 26 | # files that are missing or have been moved. 27 | # 28 | # Use $(PRODUCT_OUT) to get to the "out/target/product/blah/" directory. 29 | # Use $(OUT_DIR) to refer to the "out" directory. 30 | # 31 | # If you need to re-do something that's already mentioned, just copy 32 | # the command and add it to the bottom of the list. E.g., if a change 33 | # that you made last week required touching a file and a change you 34 | # made today requires touching the same file, just copy the old 35 | # touch step and add it to the end of the list. 36 | # 37 | # ***************************************************************** 38 | # NEWER CLEAN STEPS MUST BE AT THE END OF THE LIST ABOVE THE BANNER 39 | # ***************************************************************** 40 | 41 | # For example: 42 | #$(call add-clean-step, rm -rf $(OUT_DIR)/target/common/obj/APPS/AndroidTests_intermediates) 43 | #$(call add-clean-step, rm -rf $(OUT_DIR)/target/common/obj/JAVA_LIBRARIES/core_intermediates) 44 | #$(call add-clean-step, find $(OUT_DIR) -type f -name "IGTalkSession*" -print0 | xargs -0 rm -f) 45 | #$(call add-clean-step, rm -rf $(PRODUCT_OUT)/data/*) 46 | $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/lib/libwebviewchromium.so) 47 | $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/lib64/libwebviewchromium.so) 48 | $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/app/webview) 49 | 50 | # ****************************************************************** 51 | # NEWER CLEAN STEPS MUST BE AT THE END OF THE LIST ABOVE THIS BANNER 52 | # ****************************************************************** 53 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | Below are the license mappings for all of the files found in this repository. 2 | All attempts have been made to ensure accuracy of the corresponding license files. 3 | If you've found an issue please file an issue or pull request. 4 | 5 | Android.mk - Apache-2.0 - https://github.com/LineageOS/android_external_chromium-webview 6 | CleanSpec.mk - Apache-2.0 - https://github.com/LineageOS/android_external_chromium-webview 7 | patches/ 8 | 0001-Vanadium - GPL-2.0-only with exceptions - https://github.com/GrapheneOS/Vanadium 9 | 0002-LineageOS - Apache-2.0 - https://github.com/LineageOS/android_external_chromium-webview 10 | build-webview.sh - Apache-2.0 - https://github.com/LineageOS/scripts/tree/master/build-webview 11 | 12 | Please see the included LICENSE.* files for the corresponding full license texts. 13 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | Mulch 2 | ===== 3 | The DivestOS WebView 4 | 5 | Goals 6 | ----- 7 | - Minimizing anti-features 8 | - Included patches must be very simple to minimize maintenance 9 | - Becoming a "privacy" browser is out of scope, use Mull instead 10 | 11 | Notes 12 | ----- 13 | - This repo will only keep one version at a time 14 | - This repo will be reinitialized often 15 | - x86 and x86_64 will track from LineageOS due to excessive compile times 16 | 17 | Credits 18 | ------- 19 | - Nearly all of the patches are from GrapheneOS's Vanadium browser 20 | - License: GPL-2.0-only with exceptions 21 | - Upstream: https://github.com/GrapheneOS/Vanadium 22 | - The build script and makefiles are from LineageOS 23 | - License: Apache-2.0 24 | - (previously) Additional patches from Bromite 25 | - License: GPL-3.0 26 | - Upstream: https://github.com/bromite/bromite 27 | -------------------------------------------------------------------------------- /build-webview.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -e 4 | 5 | chromium_version="106.0.5249.65" 6 | chromium_code="5249065" 7 | chromium_rebrand_name="Mulch" 8 | chromium_rebrand_color="#7B3F00" 9 | chromium_packageid_webview="com.android.webview" 10 | chromium_packageid_standalone="us.spotco.mulch" 11 | chromium_packageid_libtrichrome="us.spotco.mulch_tcl" 12 | clean=0 13 | gsync=0 14 | supported_archs=(arm arm64 x86 x64) 15 | 16 | usage() { 17 | echo "Usage:" 18 | echo " build_webview [ options ]" 19 | echo 20 | echo " Options:" 21 | echo " -a Build specified arch" 22 | echo " -c Clean" 23 | echo " -h Show this message" 24 | echo " -r Specify chromium release" 25 | echo " -s Sync" 26 | echo 27 | echo " Example:" 28 | echo " build_webview -c -s -r $chromium_version:$chromium_code" 29 | echo 30 | exit 1 31 | } 32 | 33 | build() { 34 | build_args=$args' target_cpu="'$1'"' 35 | 36 | code=$chromium_code 37 | if [ $1 '==' "arm" ]; then 38 | code+=00 39 | elif [ $1 '==' "arm64" ]; then 40 | code+=50 41 | #build_args+=' arm_control_flow_integrity="standard"' 42 | elif [ $1 '==' "x86" ]; then 43 | code+=10 44 | elif [ $1 '==' "x64" ]; then 45 | code+=60 46 | fi 47 | build_args+=' android_default_version_code="'$code'"' 48 | 49 | gn gen "out/$1" --args="$build_args" 50 | ninja -C out/$1 system_webview_apk chrome_public_apk 51 | if [ "$?" -eq 0 ]; then 52 | [ "$1" '==' "x64" ] && android_arch="x86_64" || android_arch=$1 53 | cp out/$1/apks/SystemWebView.apk ../prebuilt/$android_arch/webview.apk 54 | fi 55 | } 56 | 57 | while getopts ":a:chr:s" opt; do 58 | case $opt in 59 | a) for arch in ${supported_archs[@]}; do 60 | [ "$OPTARG" '==' "$arch" ] && build_arch="$OPTARG" 61 | done 62 | if [ -z "$build_arch" ]; then 63 | echo "Unsupported ARCH: $OPTARG" 64 | echo "Supported ARCHs: ${supported_archs[@]}" 65 | exit 1 66 | fi 67 | ;; 68 | c) clean=1 ;; 69 | h) usage ;; 70 | r) version=(${OPTARG//:/ }) 71 | chromium_version=${version[0]} 72 | chromium_code=${version[1]} 73 | ;; 74 | s) gsync=1 ;; 75 | :) 76 | echo "Option -$OPTARG requires an argument" 77 | echo 78 | usage 79 | ;; 80 | \?) 81 | echo "Invalid option:-$OPTARG" 82 | echo 83 | usage 84 | ;; 85 | esac 86 | done 87 | shift $((OPTIND-1)) 88 | 89 | # Add depot_tools to PATH 90 | if [ ! -d depot_tools ]; then 91 | git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git 92 | fi 93 | export PATH="$(pwd -P)/depot_tools:$PATH" 94 | 95 | if [ ! -d src ]; then 96 | echo "Initial source download" 97 | fetch android 98 | yes | gclient sync -D -R -r $chromium_version 99 | fi 100 | 101 | if [ $gsync -eq 1 ]; then 102 | echo "Syncing" 103 | find src -name index.lock -delete 104 | yes | gclient sync -D -R -f -r $chromium_version 105 | fi 106 | cd src 107 | 108 | applyPatchReal() { 109 | currentWorkingPatch=$1; 110 | firstLine=$(head -n1 "$currentWorkingPatch"); 111 | if [[ "$firstLine" = *"Mon Sep 17 00:00:00 2001"* ]] || [[ "$firstLine" = *"Thu Jan 1 00:00:00 1970"* ]]; then 112 | if git am "$@"; then 113 | git format-patch -1 HEAD --zero-commit --no-signature --output="$currentWorkingPatch"; 114 | fi; 115 | else 116 | git apply "$@"; 117 | echo "Applying (as diff): $currentWorkingPatch"; 118 | fi; 119 | } 120 | export -f applyPatchReal; 121 | 122 | applyPatch() { 123 | currentWorkingPatch=$1; 124 | if [ -f "$currentWorkingPatch" ]; then 125 | if git apply --check "$@" &> /dev/null; then 126 | applyPatchReal "$@"; 127 | else 128 | if git apply --reverse --check "$@" &> /dev/null; then 129 | echo "Already applied: $currentWorkingPatch"; 130 | else 131 | if git apply --check "$@" --3way &> /dev/null; then 132 | applyPatchReal "$@" --3way; 133 | echo "Applied (as 3way): $currentWorkingPatch"; 134 | else 135 | echo -e "\e[0;31mERROR: Cannot apply: $currentWorkingPatch\e[0m"; 136 | fi; 137 | fi; 138 | fi; 139 | else 140 | echo -e "\e[0;31mERROR: Patch doesn't exist: $currentWorkingPatch\e[0m"; 141 | fi; 142 | } 143 | export -f applyPatch; 144 | 145 | # Apply our changes 146 | if [ $gsync -eq 1 ]; then 147 | #Apply all available patches safely 148 | echo "Applying patches" 149 | find ../patches/0001-Vanadium/ -name "*.patch" -exec bash -c 'applyPatch "$0"' {} \;; 150 | find ../patches/0002-LineageOS/ -name "*.patch" -exec bash -c 'applyPatch "$0"' {} \;; 151 | 152 | #Icon rebranding 153 | echo "Icon rebranding" 154 | mkdir -p android_webview/nonembedded/java/res_icon/drawable-xxxhdpi 155 | find chrome/android/java/res_chromium_base/mipmap-* -name 'app_icon.png' -exec convert {} -colorspace gray -fill "$chromium_rebrand_color" -tint 75 {} \; 156 | find chrome/android/java/res_chromium_base/mipmap-* -name 'layered_app_icon.png' -exec convert {} -colorspace gray -fill "$chromium_rebrand_color" -tint 75 {} \; 157 | find chrome/android/java/res_chromium_base/mipmap-* -name 'layered_app_icon_background.png' -exec convert {} -colorspace gray -fill "$chromium_rebrand_color" -tint 75 {} \; 158 | cp chrome/android/java/res_chromium_base/mipmap-mdpi/app_icon.png android_webview/nonembedded/java/res_icon/drawable-mdpi/icon_webview.png 159 | cp chrome/android/java/res_chromium_base/mipmap-hdpi/app_icon.png android_webview/nonembedded/java/res_icon/drawable-hdpi/icon_webview.png 160 | cp chrome/android/java/res_chromium_base/mipmap-xhdpi/app_icon.png android_webview/nonembedded/java/res_icon/drawable-xhdpi/icon_webview.png 161 | cp chrome/android/java/res_chromium_base/mipmap-xxhdpi/app_icon.png android_webview/nonembedded/java/res_icon/drawable-xxhdpi/icon_webview.png 162 | cp chrome/android/java/res_chromium_base/mipmap-xxxhdpi/app_icon.png android_webview/nonembedded/java/res_icon/drawable-xxxhdpi/icon_webview.png 163 | 164 | #String rebranding, credit Vanadium 165 | echo "String rebranding" 166 | sed -ri 's/(Google )?Chrom(e|ium)/'$chromium_rebrand_name'/g' chrome/browser/touch_to_fill/android/internal/java/strings/android_touch_to_fill_strings.grd chrome/browser/ui/android/strings/android_chrome_strings.grd components/components_chromium_strings.grd components/new_or_sad_tab_strings.grdp components/security_interstitials_strings.grdp chrome/android/java/res_chromium_base/values/channel_constants.xml; 167 | find components/strings/ -name '*.xtb' -exec sed -ri 's/(Google )?Chrom(e|ium)/'$chromium_rebrand_name'/g' {} +; 168 | find chrome/browser/ui/android/strings/translations -name '*.xtb' -exec sed -ri 's/(Google )?Chrom(e|ium)/'$chromium_rebrand_name'/g' {} +; 169 | sed -i 's/Android System WebView/'$chromium_rebrand_name' System WebView/' android_webview/nonembedded/java/AndroidManifest.xml; 170 | fi 171 | 172 | # Build args 173 | args='target_os="android"' 174 | args+=' android_channel="stable"' #Release build 175 | args+=' android_default_version_name="'$chromium_version'"' 176 | args+=' disable_fieldtrial_testing_config=true' 177 | args+=' is_chrome_branded=false' 178 | args+=' is_component_build=false' 179 | args+=' is_official_build=true' 180 | args+=' use_official_google_api_keys=false' 181 | args+=' webview_devui_show_icon=false' 182 | args+=' blink_symbol_level=0' #Release optimizations 183 | args+=' is_debug=false' 184 | args+=' symbol_level=0' 185 | args+=' dfmify_dev_ui=false' #Don't build as module 186 | args+=' disable_autofill_assistant_dfm=true' 187 | args+=' disable_tab_ui_dfm=true' 188 | args+=' ffmpeg_branding="Chrome"' #Codec support 189 | args+=' proprietary_codecs=true' 190 | args+=' enable_resource_allowlist_generation=false' 191 | args+=' enable_gvr_services=false' #Unncessary 192 | args+=' enable_nacl=false' 193 | args+=' enable_remoting=false' 194 | args+=' enable_vr=false' 195 | args+=' use_official_google_api_keys=false' 196 | args+=' system_webview_package_name="'$chromium_packageid_webview'"' #Package IDs 197 | args+=' chrome_public_manifest_package="'$chromium_packageid_standalone'"' 198 | args+=' trichrome_library_package="'$chromium_packageid_libtrichrome'"' 199 | args+=' is_cfi=true' #Security 200 | args+=' use_cfi_cast=true' 201 | args+=' enable_reporting=false' #Privacy 202 | 203 | # Setup environment 204 | [ $clean -eq 1 ] && rm -rf out && echo "Cleaned out" 205 | . build/android/envsetup.sh 206 | 207 | # Check target and build 208 | if [ -n "$build_arch" ]; then 209 | build $build_arch 210 | else 211 | echo "Building all" 212 | build arm 213 | build arm64 214 | #build x86 215 | #build x64 216 | fi 217 | -------------------------------------------------------------------------------- /patches/0001-Vanadium/0001-disable-checkout_nacl.patch: -------------------------------------------------------------------------------- 1 | From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 2 | From: Daniel Micay 3 | Date: Sat, 21 Nov 2020 01:30:06 -0500 4 | Subject: [PATCH] disable checkout_nacl 5 | 6 | --- 7 | DEPS | 2 +- 8 | 1 file changed, 1 insertion(+), 1 deletion(-) 9 | 10 | diff --git a/DEPS b/DEPS 11 | index 9d95baa6c0c95..7ddb37674a1bc 100644 12 | --- a/DEPS 13 | +++ b/DEPS 14 | @@ -112,7 +112,7 @@ vars = { 15 | 16 | # Check out and download nacl by default, unless on an arm mac. 17 | # This can be disabled e.g. with custom_vars. 18 | - 'checkout_nacl': 'not (host_os == "mac" and host_cpu == "arm64")', 19 | + 'checkout_nacl': False, 20 | 21 | # By default, do not check out src-internal. This can be overridden e.g. with 22 | # custom_vars. 23 | -------------------------------------------------------------------------------- /patches/0001-Vanadium/0002-use-64-bit-WebView-processes.patch: -------------------------------------------------------------------------------- 1 | From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 2 | From: Daniel Micay 3 | Date: Thu, 26 Jan 2017 01:30:12 -0500 4 | Subject: [PATCH] use 64-bit WebView processes 5 | 6 | --- 7 | android_webview/nonembedded/java/AndroidManifest.xml | 1 - 8 | 1 file changed, 1 deletion(-) 9 | 10 | diff --git a/android_webview/nonembedded/java/AndroidManifest.xml b/android_webview/nonembedded/java/AndroidManifest.xml 11 | index 27cc6f287fa68..8f0f8b41adc61 100644 12 | --- a/android_webview/nonembedded/java/AndroidManifest.xml 13 | +++ b/android_webview/nonembedded/java/AndroidManifest.xml 14 | @@ -38,7 +38,6 @@ by a child template that "extends" this file. 15 | android:icon="@{{manifest_package|default('com.android.webview')}}:drawable/icon_webview" 16 | android:name="{{ application_name|default('org.chromium.android_webview.nonembedded.WebViewApkApplication') }}" 17 | android:multiArch="true" 18 | - {{ use32bitAbi|default('android:use32bitAbi="true"') }} 19 | android:extractNativeLibs="{{ trichrome_library is not defined }}"> 20 | {# This part is shared between stand-alone WebView and Monochrome #} 21 | {% macro common(manifest_package, webview_lib) %} 22 | -------------------------------------------------------------------------------- /patches/0001-Vanadium/0003-switch-to-fstack-protector-strong.patch: -------------------------------------------------------------------------------- 1 | From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 2 | From: Daniel Micay 3 | Date: Wed, 26 Dec 2018 10:20:24 -0500 4 | Subject: [PATCH] switch to -fstack-protector-strong 5 | 6 | --- 7 | build/config/compiler/BUILD.gn | 8 +------- 8 | 1 file changed, 1 insertion(+), 7 deletions(-) 9 | 10 | diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn 11 | index 0272bf80f31fe..0a95307d0ba58 100644 12 | --- a/build/config/compiler/BUILD.gn 13 | +++ b/build/config/compiler/BUILD.gn 14 | @@ -317,18 +317,12 @@ config("compiler") { 15 | cflags += [ "-fstack-protector" ] 16 | } 17 | } else if ((is_posix && !is_chromeos && !is_nacl) || is_fuchsia) { 18 | - # TODO(phajdan.jr): Use -fstack-protector-strong when our gcc supports it. 19 | - # See also https://crbug.com/533294 20 | - if (current_os != "zos") { 21 | - cflags += [ "--param=ssp-buffer-size=4" ] 22 | - } 23 | - 24 | # The x86 toolchain currently has problems with stack-protector. 25 | if (is_android && current_cpu == "x86") { 26 | cflags += [ "-fno-stack-protector" ] 27 | } else if (current_os != "aix") { 28 | # Not available on aix. 29 | - cflags += [ "-fstack-protector" ] 30 | + cflags += [ "-fstack-protector-strong" ] 31 | } 32 | } 33 | 34 | -------------------------------------------------------------------------------- /patches/0001-Vanadium/0004-enable-fwrapv-in-Clang-for-non-UBSan-builds.patch: -------------------------------------------------------------------------------- 1 | From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 2 | From: Daniel Micay 3 | Date: Thu, 22 Dec 2016 07:15:34 -0500 4 | Subject: [PATCH] enable -fwrapv in Clang for non-UBSan builds 5 | 6 | --- 7 | build/config/compiler/BUILD.gn | 4 ++++ 8 | 1 file changed, 4 insertions(+) 9 | 10 | diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn 11 | index 0a95307d0ba58..e60969782820f 100644 12 | --- a/build/config/compiler/BUILD.gn 13 | +++ b/build/config/compiler/BUILD.gn 14 | @@ -333,6 +333,10 @@ config("compiler") { 15 | } 16 | } 17 | 18 | + if (is_clang && !is_ubsan && !is_ubsan_security) { 19 | + cflags += [ "-fwrapv" ] 20 | + } 21 | + 22 | # Linker warnings. 23 | if (fatal_linker_warnings && !is_apple && current_os != "aix" && 24 | current_os != "zos") { 25 | -------------------------------------------------------------------------------- /patches/0001-Vanadium/0005-enable-ftrivial-auto-var-init-zero.patch: -------------------------------------------------------------------------------- 1 | From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 2 | From: Daniel Micay 3 | Date: Wed, 8 Apr 2020 20:48:17 -0400 4 | Subject: [PATCH] enable -ftrivial-auto-var-init=zero 5 | 6 | --- 7 | build/config/compiler/BUILD.gn | 4 ++++ 8 | 1 file changed, 4 insertions(+) 9 | 10 | diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn 11 | index e60969782820f..bbf0417f880d8 100644 12 | --- a/build/config/compiler/BUILD.gn 13 | +++ b/build/config/compiler/BUILD.gn 14 | @@ -337,6 +337,10 @@ config("compiler") { 15 | cflags += [ "-fwrapv" ] 16 | } 17 | 18 | + if (is_clang) { 19 | + cflags += [ "-ftrivial-auto-var-init=zero", "-enable-trivial-auto-var-init-zero-knowing-it-will-be-removed-from-clang" ] 20 | + } 21 | + 22 | # Linker warnings. 23 | if (fatal_linker_warnings && !is_apple && current_os != "aix" && 24 | current_os != "zos") { 25 | -------------------------------------------------------------------------------- /patches/0001-Vanadium/0006-disable-broken-warning-for-auto-var-init.patch: -------------------------------------------------------------------------------- 1 | From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 2 | From: Daniel Micay 3 | Date: Thu, 21 May 2020 14:07:54 -0400 4 | Subject: [PATCH] disable broken warning for auto var init 5 | 6 | --- 7 | build/config/compiler/BUILD.gn | 2 +- 8 | 1 file changed, 1 insertion(+), 1 deletion(-) 9 | 10 | diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn 11 | index bbf0417f880d8..17477848d85ad 100644 12 | --- a/build/config/compiler/BUILD.gn 13 | +++ b/build/config/compiler/BUILD.gn 14 | @@ -338,7 +338,7 @@ config("compiler") { 15 | } 16 | 17 | if (is_clang) { 18 | - cflags += [ "-ftrivial-auto-var-init=zero", "-enable-trivial-auto-var-init-zero-knowing-it-will-be-removed-from-clang" ] 19 | + cflags += [ "-ftrivial-auto-var-init=zero", "-enable-trivial-auto-var-init-zero-knowing-it-will-be-removed-from-clang", "-Wno-unused-command-line-argument" ] 20 | } 21 | 22 | # Linker warnings. 23 | -------------------------------------------------------------------------------- /patches/0001-Vanadium/0010-Remove-logo-from-chrome-version.patch: -------------------------------------------------------------------------------- 1 | From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 2 | From: A Mak 3 | Date: Sat, 25 Jul 2020 17:56:47 -0700 4 | Subject: [PATCH] Remove logo from chrome://version 5 | 6 | --- 7 | components/version_ui/resources/about_version.html | 7 ------- 8 | 1 file changed, 7 deletions(-) 9 | 10 | diff --git a/components/version_ui/resources/about_version.html b/components/version_ui/resources/about_version.html 11 | index c006d70a853eb..06c1ef0293eaf 100644 12 | --- a/components/version_ui/resources/about_version.html 13 | +++ b/components/version_ui/resources/about_version.html 14 | @@ -55,13 +55,6 @@ about:version template page 15 | media="(prefers-color-scheme: light), (prefers-color-scheme: no-preference)"> 16 | $i18n{logo_alt_text} 17 | 18 | - 19 | - 20 | - 21 | - 22 | - 23 | - $i18n{logo_alt_text} 24 | - 25 | 26 |
$i18n{company}
27 | 28 | -------------------------------------------------------------------------------- /patches/0001-Vanadium/0013-remove-Help-feedback-menu-entry.patch: -------------------------------------------------------------------------------- 1 | From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 2 | From: Daniel Micay 3 | Date: Thu, 15 Apr 2021 02:14:37 -0400 4 | Subject: [PATCH] remove Help & feedback menu entry 5 | 6 | --- 7 | .../browser/app/appmenu/AppMenuPropertiesDelegateImpl.java | 2 ++ 8 | 1 file changed, 2 insertions(+) 9 | 10 | diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/AppMenuPropertiesDelegateImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/AppMenuPropertiesDelegateImpl.java 11 | index 81494f4f4f058..2f7521ad9c617 100644 12 | --- a/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/AppMenuPropertiesDelegateImpl.java 13 | +++ b/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/AppMenuPropertiesDelegateImpl.java 14 | @@ -546,6 +546,8 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate 15 | menu.findItem(R.id.reader_mode_prefs_id) 16 | .setVisible(isCurrentTabNotNull && shouldShowReaderModePrefs(currentTab)); 17 | 18 | + menu.findItem(R.id.help_id).setVisible(false); 19 | + 20 | // Only display the Enter VR button if VR Shell Dev environment is enabled. 21 | menu.findItem(R.id.enter_vr_id).setVisible(isCurrentTabNotNull && shouldShowEnterVr()); 22 | 23 | -------------------------------------------------------------------------------- /patches/0001-Vanadium/0014-hide-passwords.google.com-link-when-not-supported.patch: -------------------------------------------------------------------------------- 1 | From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 2 | From: Daniel Micay 3 | Date: Sun, 13 Aug 2017 19:33:04 -0400 4 | Subject: [PATCH] hide passwords.google.com link when not supported 5 | 6 | --- 7 | .../browser/password_manager/settings/PasswordSettings.java | 4 ++++ 8 | 1 file changed, 4 insertions(+) 9 | 10 | diff --git a/chrome/android/java/src/org/chromium/chrome/browser/password_manager/settings/PasswordSettings.java b/chrome/android/java/src/org/chromium/chrome/browser/password_manager/settings/PasswordSettings.java 11 | index 1688b64d649a9..357f78abe71f5 100644 12 | --- a/chrome/android/java/src/org/chromium/chrome/browser/password_manager/settings/PasswordSettings.java 13 | +++ b/chrome/android/java/src/org/chromium/chrome/browser/password_manager/settings/PasswordSettings.java 14 | @@ -39,6 +39,7 @@ import org.chromium.chrome.browser.password_manager.PasswordManagerHelper; 15 | import org.chromium.chrome.browser.preferences.Pref; 16 | import org.chromium.chrome.browser.profiles.Profile; 17 | import org.chromium.chrome.browser.settings.ChromeManagedPreferenceDelegate; 18 | +import org.chromium.chrome.browser.signin.services.IdentityServicesProvider; 19 | import org.chromium.chrome.browser.settings.SettingsLauncherImpl; 20 | import org.chromium.chrome.browser.sync.SyncService; 21 | import org.chromium.chrome.browser.sync.settings.SyncSettingsUtils; 22 | @@ -593,6 +594,9 @@ public class PasswordSettings extends PreferenceFragmentCompat 23 | if (mSearchQuery != null && !mNoPasswords) { 24 | return; // Don't add the Manage Account link if there is a search going on. 25 | } 26 | + if (!IdentityServicesProvider.get().getSigninManager(Profile.getLastUsedRegularProfile()).isSigninSupported()) { 27 | + return; 28 | + } 29 | if (getPreferenceScreen().findPreference(PREF_KEY_MANAGE_ACCOUNT_LINK) != null) { 30 | return; // Don't add the Manage Account link if it's present. 31 | } 32 | -------------------------------------------------------------------------------- /patches/0001-Vanadium/0015-disable-first-run-welcome-page.patch: -------------------------------------------------------------------------------- 1 | From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 2 | From: csagan5 <32685696+csagan5@users.noreply.github.com> 3 | Date: Sun, 26 Nov 2017 22:51:43 +0100 4 | Subject: [PATCH] disable first run welcome page 5 | 6 | --- 7 | .../org/chromium/chrome/browser/firstrun/FirstRunUtils.java | 3 --- 8 | .../chromium/chrome/browser/firstrun/FirstRunStatus.java | 6 +++++- 9 | 2 files changed, 5 insertions(+), 4 deletions(-) 10 | 11 | diff --git a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunUtils.java b/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunUtils.java 12 | index c62957c90e0e3..60f4955ce706c 100644 13 | --- a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunUtils.java 14 | +++ b/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunUtils.java 15 | @@ -43,15 +43,12 @@ public class FirstRunUtils { 16 | boolean javaPrefValue = 17 | javaPrefs.readBoolean(ChromePreferenceKeys.FIRST_RUN_CACHED_TOS_ACCEPTED, false); 18 | boolean nativePrefValue = isFirstRunEulaAccepted(); 19 | - boolean isFirstRunComplete = FirstRunStatus.getFirstRunFlowComplete(); 20 | - if (javaPrefValue || nativePrefValue || isFirstRunComplete) { 21 | if (!javaPrefValue) { 22 | javaPrefs.writeBoolean(ChromePreferenceKeys.FIRST_RUN_CACHED_TOS_ACCEPTED, true); 23 | } 24 | if (!nativePrefValue) { 25 | setEulaAccepted(); 26 | } 27 | - } 28 | } 29 | 30 | /** 31 | diff --git a/chrome/browser/first_run/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunStatus.java b/chrome/browser/first_run/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunStatus.java 32 | index 13bec9f270f5b..ed940dd77727d 100644 33 | --- a/chrome/browser/first_run/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunStatus.java 34 | +++ b/chrome/browser/first_run/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunStatus.java 35 | @@ -43,8 +43,12 @@ public class FirstRunStatus { 36 | * includes ToS and Sign In pages if necessary. 37 | */ 38 | public static boolean getFirstRunFlowComplete() { 39 | - return SharedPreferencesManager.getInstance().readBoolean( 40 | + boolean complete = SharedPreferencesManager.getInstance().readBoolean( 41 | ChromePreferenceKeys.FIRST_RUN_FLOW_COMPLETE, false); 42 | + if (!complete) { 43 | + setFirstRunFlowComplete(true); 44 | + } 45 | + return true; 46 | } 47 | 48 | /** 49 | -------------------------------------------------------------------------------- /patches/0001-Vanadium/0016-disable-seed-based-field-trials.patch: -------------------------------------------------------------------------------- 1 | From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 2 | From: Daniel Micay 3 | Date: Tue, 25 Dec 2018 16:19:51 -0500 4 | Subject: [PATCH] disable seed-based field trials 5 | 6 | --- 7 | components/variations/service/variations_field_trial_creator.cc | 2 ++ 8 | 1 file changed, 2 insertions(+) 9 | 10 | diff --git a/components/variations/service/variations_field_trial_creator.cc b/components/variations/service/variations_field_trial_creator.cc 11 | index 8ccd1c955f343..1c81b147e3725 100644 12 | --- a/components/variations/service/variations_field_trial_creator.cc 13 | +++ b/components/variations/service/variations_field_trial_creator.cc 14 | @@ -308,8 +308,10 @@ bool VariationsFieldTrialCreator::SetUpFieldTrials( 15 | 16 | bool used_seed = false; 17 | if (!used_testing_config) { 18 | +#if defined(FIELDTRIAL_SEED_ENABLED) 19 | used_seed = CreateTrialsFromSeed(low_entropy_provider.get(), 20 | feature_list.get(), safe_seed_manager); 21 | +#endif 22 | } 23 | 24 | platform_field_trials->SetUpFeatureControllingFieldTrials( 25 | -------------------------------------------------------------------------------- /patches/0001-Vanadium/0017-disable-fetching-variations.patch: -------------------------------------------------------------------------------- 1 | From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 2 | From: Daniel Micay 3 | Date: Wed, 18 Nov 2020 19:08:58 -0500 4 | Subject: [PATCH] disable fetching variations 5 | 6 | --- 7 | .../org/chromium/chrome/browser/init/AsyncInitTaskRunner.java | 2 +- 8 | 1 file changed, 1 insertion(+), 1 deletion(-) 9 | 10 | diff --git a/chrome/android/java/src/org/chromium/chrome/browser/init/AsyncInitTaskRunner.java b/chrome/android/java/src/org/chromium/chrome/browser/init/AsyncInitTaskRunner.java 11 | index 031852f42ea45..91627ef2fce73 100644 12 | --- a/chrome/android/java/src/org/chromium/chrome/browser/init/AsyncInitTaskRunner.java 13 | +++ b/chrome/android/java/src/org/chromium/chrome/browser/init/AsyncInitTaskRunner.java 14 | @@ -40,7 +40,7 @@ public abstract class AsyncInitTaskRunner { 15 | 16 | @VisibleForTesting 17 | boolean shouldFetchVariationsSeedDuringFirstRun() { 18 | - return VersionInfo.isOfficialBuild(); 19 | + return false; 20 | } 21 | 22 | @VisibleForTesting 23 | -------------------------------------------------------------------------------- /patches/0001-Vanadium/0018-disable-WebView-variations-support.patch: -------------------------------------------------------------------------------- 1 | From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 2 | From: Daniel Micay 3 | Date: Thu, 10 Dec 2020 10:09:18 -0500 4 | Subject: [PATCH] disable WebView variations support 5 | 6 | --- 7 | .../com/android/webview/chromium/WebViewChromiumAwInit.java | 4 ---- 8 | .../webview/chromium/WebViewChromiumFactoryProvider.java | 2 -- 9 | 2 files changed, 6 deletions(-) 10 | 11 | diff --git a/android_webview/glue/java/src/com/android/webview/chromium/WebViewChromiumAwInit.java b/android_webview/glue/java/src/com/android/webview/chromium/WebViewChromiumAwInit.java 12 | index abe9e0ec0849c..29a2b81fb15f6 100644 13 | --- a/android_webview/glue/java/src/com/android/webview/chromium/WebViewChromiumAwInit.java 14 | +++ b/android_webview/glue/java/src/com/android/webview/chromium/WebViewChromiumAwInit.java 15 | @@ -199,10 +199,6 @@ public class WebViewChromiumAwInit { 16 | 17 | AwBrowserProcess.configureChildProcessLauncher(); 18 | 19 | - // finishVariationsInitLocked() must precede native initialization so the seed is 20 | - // available when AwFeatureListCreator::SetUpFieldTrials() runs. 21 | - finishVariationsInitLocked(); 22 | - 23 | AwBrowserProcess.start(); 24 | AwBrowserProcess.handleMinidumpsAndSetMetricsConsent(true /* updateMetricsConsent */); 25 | 26 | diff --git a/android_webview/glue/java/src/com/android/webview/chromium/WebViewChromiumFactoryProvider.java b/android_webview/glue/java/src/com/android/webview/chromium/WebViewChromiumFactoryProvider.java 27 | index 3a4aa9f1ce3ed..937ec55e7ecba 100644 28 | --- a/android_webview/glue/java/src/com/android/webview/chromium/WebViewChromiumFactoryProvider.java 29 | +++ b/android_webview/glue/java/src/com/android/webview/chromium/WebViewChromiumFactoryProvider.java 30 | @@ -493,8 +493,6 @@ public class WebViewChromiumFactoryProvider implements WebViewFactoryProvider { 31 | } 32 | } 33 | 34 | - mAwInit.startVariationsInit(); 35 | - 36 | mShouldDisableThreadChecking = shouldDisableThreadChecking(ctx); 37 | 38 | setSingleton(this); 39 | -------------------------------------------------------------------------------- /patches/0001-Vanadium/0019-disable-navigation-error-correction-by-default.patch: -------------------------------------------------------------------------------- 1 | From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 2 | From: Daniel Micay 3 | Date: Wed, 23 Nov 2016 08:29:58 -0500 4 | Subject: [PATCH] disable navigation error correction by default 5 | 6 | --- 7 | chrome/browser/net/profile_network_context_service.cc | 2 +- 8 | 1 file changed, 1 insertion(+), 1 deletion(-) 9 | 10 | diff --git a/chrome/browser/net/profile_network_context_service.cc b/chrome/browser/net/profile_network_context_service.cc 11 | index fd69772bc3c48..49b53d21c95ba 100644 12 | --- a/chrome/browser/net/profile_network_context_service.cc 13 | +++ b/chrome/browser/net/profile_network_context_service.cc 14 | @@ -356,7 +356,7 @@ void ProfileNetworkContextService::UpdateAdditionalCertificates() { 15 | void ProfileNetworkContextService::RegisterProfilePrefs( 16 | user_prefs::PrefRegistrySyncable* registry) { 17 | registry->RegisterBooleanPref( 18 | - embedder_support::kAlternateErrorPagesEnabled, true, 19 | + embedder_support::kAlternateErrorPagesEnabled, false, 20 | user_prefs::PrefRegistrySyncable::SYNCABLE_PREF); 21 | registry->RegisterBooleanPref(prefs::kQuicAllowed, true); 22 | registry->RegisterBooleanPref(prefs::kGloballyScopeHTTPAuthCacheEnabled, 23 | -------------------------------------------------------------------------------- /patches/0001-Vanadium/0020-disable-contextual-search-by-default.patch: -------------------------------------------------------------------------------- 1 | From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 2 | From: Daniel Micay 3 | Date: Wed, 23 Nov 2016 09:26:51 -0500 4 | Subject: [PATCH] disable contextual search by default 5 | 6 | --- 7 | .../browser/contextualsearch/ContextualSearchFieldTrial.java | 2 +- 8 | chrome/browser/profiles/profile.cc | 2 +- 9 | 2 files changed, 2 insertions(+), 2 deletions(-) 10 | 11 | diff --git a/chrome/android/java/src/org/chromium/chrome/browser/contextualsearch/ContextualSearchFieldTrial.java b/chrome/android/java/src/org/chromium/chrome/browser/contextualsearch/ContextualSearchFieldTrial.java 12 | index 99ab635c2bff0..edfcef91ec5c3 100644 13 | --- a/chrome/android/java/src/org/chromium/chrome/browser/contextualsearch/ContextualSearchFieldTrial.java 14 | +++ b/chrome/android/java/src/org/chromium/chrome/browser/contextualsearch/ContextualSearchFieldTrial.java 15 | @@ -125,7 +125,7 @@ public class ContextualSearchFieldTrial { 16 | // Allow disabling the feature remotely. 17 | if (getBooleanParam(DISABLED_PARAM)) return false; 18 | 19 | - return true; 20 | + return false; 21 | } 22 | 23 | /** 24 | diff --git a/chrome/browser/profiles/profile.cc b/chrome/browser/profiles/profile.cc 25 | index 8ab5d6c0417a5..e6d6da34fda65 100644 26 | --- a/chrome/browser/profiles/profile.cc 27 | +++ b/chrome/browser/profiles/profile.cc 28 | @@ -283,7 +283,7 @@ void Profile::RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry) { 29 | #if BUILDFLAG(IS_ANDROID) 30 | registry->RegisterStringPref( 31 | prefs::kContextualSearchEnabled, 32 | - std::string(), 33 | + "false", 34 | user_prefs::PrefRegistrySyncable::SYNCABLE_PREF); 35 | registry->RegisterBooleanPref( 36 | prefs::kContextualSearchWasFullyPrivacyEnabled, false, 37 | -------------------------------------------------------------------------------- /patches/0001-Vanadium/0021-disable-network-prediction-by-default.patch: -------------------------------------------------------------------------------- 1 | From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 2 | From: Daniel Micay 3 | Date: Wed, 23 Nov 2016 08:31:44 -0500 4 | Subject: [PATCH] disable network prediction by default 5 | 6 | --- 7 | chrome/browser/prefetch/prefetch_prefs.h | 2 +- 8 | 1 file changed, 1 insertion(+), 1 deletion(-) 9 | 10 | diff --git a/chrome/browser/prefetch/prefetch_prefs.h b/chrome/browser/prefetch/prefetch_prefs.h 11 | index 138289e8c01b4..2fc09182f06fc 100644 12 | --- a/chrome/browser/prefetch/prefetch_prefs.h 13 | +++ b/chrome/browser/prefetch/prefetch_prefs.h 14 | @@ -25,7 +25,7 @@ enum class NetworkPredictionOptions { 15 | kWifiOnlyDeprecated = 1, 16 | kDisabled = 2, 17 | kExtended = 3, 18 | - kDefault = kWifiOnlyDeprecated, 19 | + kDefault = kDisabled, 20 | }; 21 | 22 | // Enum representing possible values of the Preload Pages opt-in state. Since 23 | -------------------------------------------------------------------------------- /patches/0001-Vanadium/0022-disable-metrics-by-default.patch: -------------------------------------------------------------------------------- 1 | From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 2 | From: Daniel Micay 3 | Date: Thu, 24 Nov 2016 11:41:00 -0500 4 | Subject: [PATCH] disable metrics by default 5 | 6 | --- 7 | .../chromium/chrome/browser/firstrun/FirstRunActivityBase.java | 2 +- 8 | 1 file changed, 1 insertion(+), 1 deletion(-) 9 | 10 | diff --git a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunActivityBase.java b/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunActivityBase.java 11 | index 2d85e3dbc329f..69e084e2f11d9 100644 12 | --- a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunActivityBase.java 13 | +++ b/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunActivityBase.java 14 | @@ -49,7 +49,7 @@ public abstract class FirstRunActivityBase extends AsyncInitializationActivity { 15 | static final String SHOW_SEARCH_ENGINE_PAGE = "ShowSearchEnginePage"; 16 | static final String SHOW_SYNC_CONSENT_PAGE = "ShowSyncConsent"; 17 | 18 | - public static final boolean DEFAULT_METRICS_AND_CRASH_REPORTING = true; 19 | + public static final boolean DEFAULT_METRICS_AND_CRASH_REPORTING = false; 20 | 21 | private static PolicyLoadListenerFactory sPolicyLoadListenerFactory; 22 | 23 | -------------------------------------------------------------------------------- /patches/0001-Vanadium/0023-disable-hyperlink-auditing-by-default.patch: -------------------------------------------------------------------------------- 1 | From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 2 | From: Daniel Micay 3 | Date: Sat, 26 Nov 2016 14:57:22 -0500 4 | Subject: [PATCH] disable hyperlink auditing by default 5 | 6 | --- 7 | chrome/browser/chrome_content_browser_client.cc | 2 +- 8 | 1 file changed, 1 insertion(+), 1 deletion(-) 9 | 10 | diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/chrome_content_browser_client.cc 11 | index 0b6592cfa2e86..c4ba830935ecf 100644 12 | --- a/chrome/browser/chrome_content_browser_client.cc 13 | +++ b/chrome/browser/chrome_content_browser_client.cc 14 | @@ -1384,7 +1384,7 @@ void ChromeContentBrowserClient::RegisterLocalStatePrefs( 15 | void ChromeContentBrowserClient::RegisterProfilePrefs( 16 | user_prefs::PrefRegistrySyncable* registry) { 17 | registry->RegisterBooleanPref(prefs::kDisable3DAPIs, false); 18 | - registry->RegisterBooleanPref(prefs::kEnableHyperlinkAuditing, true); 19 | + registry->RegisterBooleanPref(prefs::kEnableHyperlinkAuditing, false); 20 | // Register user prefs for mapping SitePerProcess and IsolateOrigins in 21 | // user policy in addition to the same named ones in Local State (which are 22 | // used for mapping the command-line flags). 23 | -------------------------------------------------------------------------------- /patches/0001-Vanadium/0024-disable-showing-popular-sites-by-default.patch: -------------------------------------------------------------------------------- 1 | From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 2 | From: Daniel Micay 3 | Date: Tue, 6 Mar 2018 00:27:41 -0500 4 | Subject: [PATCH] disable showing popular sites by default 5 | 6 | --- 7 | components/ntp_tiles/features.cc | 4 ++-- 8 | 1 file changed, 2 insertions(+), 2 deletions(-) 9 | 10 | diff --git a/components/ntp_tiles/features.cc b/components/ntp_tiles/features.cc 11 | index 4ce3356827cec..4414615ff6ac6 100644 12 | --- a/components/ntp_tiles/features.cc 13 | +++ b/components/ntp_tiles/features.cc 14 | @@ -13,12 +13,12 @@ namespace ntp_tiles { 15 | const char kPopularSitesFieldTrialName[] = "NTPPopularSites"; 16 | 17 | const base::Feature kPopularSitesBakedInContentFeature{ 18 | - "NTPPopularSitesBakedInContent", base::FEATURE_ENABLED_BY_DEFAULT}; 19 | + "NTPPopularSitesBakedInContent", base::FEATURE_DISABLED_BY_DEFAULT}; 20 | 21 | const base::Feature kNtpMostLikelyFaviconsFromServerFeature{ 22 | "NTPMostLikelyFaviconsFromServer", base::FEATURE_ENABLED_BY_DEFAULT}; 23 | 24 | const base::Feature kUsePopularSitesSuggestions{ 25 | - "UsePopularSitesSuggestions", base::FEATURE_ENABLED_BY_DEFAULT}; 26 | + "UsePopularSitesSuggestions", base::FEATURE_DISABLED_BY_DEFAULT}; 27 | 28 | } // namespace ntp_tiles 29 | -------------------------------------------------------------------------------- /patches/0001-Vanadium/0025-disable-article-suggestions-feature-by-default.patch: -------------------------------------------------------------------------------- 1 | From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 2 | From: Daniel Micay 3 | Date: Thu, 8 Mar 2018 22:43:12 -0500 4 | Subject: [PATCH] disable article suggestions feature by default 5 | 6 | --- 7 | components/feed/core/shared_prefs/pref_names.cc | 4 ++-- 8 | components/ntp_snippets/features.cc | 2 +- 9 | 2 files changed, 3 insertions(+), 3 deletions(-) 10 | 11 | diff --git a/components/feed/core/shared_prefs/pref_names.cc b/components/feed/core/shared_prefs/pref_names.cc 12 | index 57a65895fbded..511f7a2b500e1 100644 13 | --- a/components/feed/core/shared_prefs/pref_names.cc 14 | +++ b/components/feed/core/shared_prefs/pref_names.cc 15 | @@ -20,8 +20,8 @@ const char kArticlesListVisible[] = "ntp_snippets.list_visible"; 16 | const char kVideoPreviewsType[] = "ntp_snippets.video_previews_type"; 17 | 18 | void RegisterFeedSharedProfilePrefs(PrefRegistrySimple* registry) { 19 | - registry->RegisterBooleanPref(kEnableSnippets, true); 20 | - registry->RegisterBooleanPref(kArticlesListVisible, true); 21 | + registry->RegisterBooleanPref(kEnableSnippets, false); 22 | + registry->RegisterBooleanPref(kArticlesListVisible, false); 23 | registry->RegisterIntegerPref(kVideoPreviewsType, 1); 24 | } 25 | 26 | diff --git a/components/ntp_snippets/features.cc b/components/ntp_snippets/features.cc 27 | index 5bb7995bc5bdf..243afdbd79bae 100644 28 | --- a/components/ntp_snippets/features.cc 29 | +++ b/components/ntp_snippets/features.cc 30 | @@ -38,7 +38,7 @@ const base::Feature* const kAllFeatures[] = { 31 | &kOptionalImagesEnabledFeature}; 32 | 33 | const base::Feature kArticleSuggestionsFeature{ 34 | - "NTPArticleSuggestions", base::FEATURE_ENABLED_BY_DEFAULT}; 35 | + "NTPArticleSuggestions", base::FEATURE_DISABLED_BY_DEFAULT}; 36 | 37 | const base::Feature kRemoteSuggestionsEmulateM58FetchingSchedule{ 38 | "RemoteSuggestionsEmulateM58FetchingSchedule", 39 | -------------------------------------------------------------------------------- /patches/0001-Vanadium/0026-disable-content-feed-suggestions-by-default.patch: -------------------------------------------------------------------------------- 1 | From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 2 | From: Daniel Micay 3 | Date: Sun, 22 Mar 2020 01:23:48 -0400 4 | Subject: [PATCH] disable content feed suggestions by default 5 | 6 | --- 7 | .../org/chromium/chrome/browser/flags/CachedFeatureFlags.java | 2 +- 8 | components/feed/feed_feature_list.cc | 2 +- 9 | 2 files changed, 2 insertions(+), 2 deletions(-) 10 | 11 | diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/CachedFeatureFlags.java b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/CachedFeatureFlags.java 12 | index b700fc89ba442..8c6427d09d501 100644 13 | --- a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/CachedFeatureFlags.java 14 | +++ b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/CachedFeatureFlags.java 15 | @@ -77,7 +77,7 @@ public class CachedFeatureFlags { 16 | .put(ChromeFeatureList.INCOGNITO_REAUTHENTICATION_FOR_ANDROID, false) 17 | .put(ChromeFeatureList.INSTANCE_SWITCHER, true) 18 | .put(ChromeFeatureList.INSTANT_START, false) 19 | - .put(ChromeFeatureList.INTEREST_FEED_V2, true) 20 | + .put(ChromeFeatureList.INTEREST_FEED_V2, false) 21 | .put(ChromeFeatureList.LENS_CAMERA_ASSISTED_SEARCH, false) 22 | .put(ChromeFeatureList.NEW_WINDOW_APP_MENU, true) 23 | .put(ChromeFeatureList.OMAHA_MIN_SDK_VERSION_ANDROID, false) 24 | diff --git a/components/feed/feed_feature_list.cc b/components/feed/feed_feature_list.cc 25 | index 4bc2da527f96d..4a8dda11c513a 100644 26 | --- a/components/feed/feed_feature_list.cc 27 | +++ b/components/feed/feed_feature_list.cc 28 | @@ -21,7 +21,7 @@ const base::Feature kInterestFeedContentSuggestions{ 29 | // InterestFeedV2 is cached in ChromeCachedFlags. If the default value here is 30 | // changed, please update the cached one's default value in CachedFeatureFlags. 31 | const base::Feature kInterestFeedV2{"InterestFeedV2", 32 | - base::FEATURE_ENABLED_BY_DEFAULT}; 33 | + base::FEATURE_DISABLED_BY_DEFAULT}; 34 | 35 | const base::Feature kInterestFeedV2Autoplay{"InterestFeedV2Autoplay", 36 | base::FEATURE_DISABLED_BY_DEFAULT}; 37 | -------------------------------------------------------------------------------- /patches/0001-Vanadium/0027-disable-sensors-access-by-default.patch: -------------------------------------------------------------------------------- 1 | From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 2 | From: Daniel Micay 3 | Date: Sun, 16 Jun 2019 15:57:29 -0400 4 | Subject: [PATCH] disable sensors access by default 5 | 6 | --- 7 | .../content_settings/core/browser/content_settings_registry.cc | 2 +- 8 | 1 file changed, 1 insertion(+), 1 deletion(-) 9 | 10 | diff --git a/components/content_settings/core/browser/content_settings_registry.cc b/components/content_settings/core/browser/content_settings_registry.cc 11 | index ffca613b25243..487c4c6278480 100644 12 | --- a/components/content_settings/core/browser/content_settings_registry.cc 13 | +++ b/components/content_settings/core/browser/content_settings_registry.cc 14 | @@ -421,7 +421,7 @@ void ContentSettingsRegistry::Init() { 15 | // TODO(crbug.com/904439): Update this to "SECURE_ONLY" once 16 | // DeviceOrientationEvents and DeviceMotionEvents are only fired in secure 17 | // contexts. 18 | - Register(ContentSettingsType::SENSORS, "sensors", CONTENT_SETTING_ALLOW, 19 | + Register(ContentSettingsType::SENSORS, "sensors", CONTENT_SETTING_BLOCK, 20 | WebsiteSettingsInfo::UNSYNCABLE, AllowlistedSchemes(), 21 | ValidSettings(CONTENT_SETTING_ALLOW, CONTENT_SETTING_BLOCK), 22 | WebsiteSettingsInfo::TOP_ORIGIN_ONLY_SCOPE, 23 | -------------------------------------------------------------------------------- /patches/0001-Vanadium/0028-block-playing-protected-media-by-default.patch: -------------------------------------------------------------------------------- 1 | From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 2 | From: Daniel Micay 3 | Date: Tue, 1 Dec 2020 00:29:28 -0500 4 | Subject: [PATCH] block playing protected media by default 5 | 6 | --- 7 | .../core/browser/content_settings_registry.cc | 13 +------------ 8 | 1 file changed, 1 insertion(+), 12 deletions(-) 9 | 10 | diff --git a/components/content_settings/core/browser/content_settings_registry.cc b/components/content_settings/core/browser/content_settings_registry.cc 11 | index 487c4c6278480..ea3be154d8641 100644 12 | --- a/components/content_settings/core/browser/content_settings_registry.cc 13 | +++ b/components/content_settings/core/browser/content_settings_registry.cc 14 | @@ -276,18 +276,7 @@ void ContentSettingsRegistry::Init() { 15 | ContentSettingsInfo::PERSISTENT, 16 | ContentSettingsInfo::EXCEPTIONS_ON_SECURE_ORIGINS_ONLY); 17 | 18 | - // On Android, the default value is ALLOW or ASK depending on whether 19 | - // per-origin provisioning is used (https://crbug.com/854737 and 20 | - // https://crbug.com/904883). 21 | - // On ChromeOS and Windows the default value is always ALLOW. 22 | - const auto protected_media_identifier_setting = 23 | -#if BUILDFLAG(IS_ANDROID) 24 | - media::MediaDrmBridge::IsPerOriginProvisioningSupported() 25 | - ? CONTENT_SETTING_ALLOW 26 | - : CONTENT_SETTING_ASK; 27 | -#else 28 | - CONTENT_SETTING_ALLOW; 29 | -#endif // BUILDFLAG(IS_ANDROID) 30 | + const auto protected_media_identifier_setting = CONTENT_SETTING_BLOCK; 31 | 32 | Register(ContentSettingsType::PROTECTED_MEDIA_IDENTIFIER, 33 | "protected-media-identifier", protected_media_identifier_setting, 34 | -------------------------------------------------------------------------------- /patches/0001-Vanadium/0029-disable-third-party-cookies-by-default.patch: -------------------------------------------------------------------------------- 1 | From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 2 | From: Daniel Micay 3 | Date: Sun, 16 Jun 2019 16:01:31 -0400 4 | Subject: [PATCH] disable third party cookies by default 5 | 6 | --- 7 | components/content_settings/core/browser/cookie_settings.cc | 2 +- 8 | 1 file changed, 1 insertion(+), 1 deletion(-) 9 | 10 | diff --git a/components/content_settings/core/browser/cookie_settings.cc b/components/content_settings/core/browser/cookie_settings.cc 11 | index 0acb2f8d4bcf8..8ecf6bc85264b 100644 12 | --- a/components/content_settings/core/browser/cookie_settings.cc 13 | +++ b/components/content_settings/core/browser/cookie_settings.cc 14 | @@ -66,7 +66,7 @@ void CookieSettings::RegisterProfilePrefs( 15 | user_prefs::PrefRegistrySyncable* registry) { 16 | registry->RegisterIntegerPref( 17 | prefs::kCookieControlsMode, 18 | - static_cast(CookieControlsMode::kIncognitoOnly), 19 | + static_cast(CookieControlsMode::kBlockThirdParty), 20 | user_prefs::PrefRegistrySyncable::SYNCABLE_PREF); 21 | } 22 | 23 | -------------------------------------------------------------------------------- /patches/0001-Vanadium/0030-disable-background-sync-by-default.patch: -------------------------------------------------------------------------------- 1 | From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 2 | From: Daniel Micay 3 | Date: Sun, 16 Jun 2019 21:57:26 -0400 4 | Subject: [PATCH] disable background sync by default 5 | 6 | --- 7 | .../content_settings/core/browser/content_settings_registry.cc | 2 +- 8 | 1 file changed, 1 insertion(+), 1 deletion(-) 9 | 10 | diff --git a/components/content_settings/core/browser/content_settings_registry.cc b/components/content_settings/core/browser/content_settings_registry.cc 11 | index ea3be154d8641..711bcdad5e134 100644 12 | --- a/components/content_settings/core/browser/content_settings_registry.cc 13 | +++ b/components/content_settings/core/browser/content_settings_registry.cc 14 | @@ -310,7 +310,7 @@ void ContentSettingsRegistry::Init() { 15 | ContentSettingsInfo::EXCEPTIONS_ON_SECURE_ORIGINS_ONLY); 16 | 17 | Register(ContentSettingsType::BACKGROUND_SYNC, "background-sync", 18 | - CONTENT_SETTING_ALLOW, WebsiteSettingsInfo::UNSYNCABLE, 19 | + CONTENT_SETTING_BLOCK, WebsiteSettingsInfo::UNSYNCABLE, 20 | AllowlistedSchemes(), 21 | ValidSettings(CONTENT_SETTING_ALLOW, CONTENT_SETTING_BLOCK), 22 | WebsiteSettingsInfo::TOP_ORIGIN_ONLY_SCOPE, 23 | -------------------------------------------------------------------------------- /patches/0001-Vanadium/0031-disable-payment-support-by-default.patch: -------------------------------------------------------------------------------- 1 | From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 2 | From: Daniel Micay 3 | Date: Tue, 18 Jun 2019 22:28:53 -0400 4 | Subject: [PATCH] disable payment support by default 5 | 6 | --- 7 | components/payments/core/payment_prefs.cc | 2 +- 8 | 1 file changed, 1 insertion(+), 1 deletion(-) 9 | 10 | diff --git a/components/payments/core/payment_prefs.cc b/components/payments/core/payment_prefs.cc 11 | index 9590d9494ed10..787ff68af12aa 100644 12 | --- a/components/payments/core/payment_prefs.cc 13 | +++ b/components/payments/core/payment_prefs.cc 14 | @@ -16,7 +16,7 @@ const char kCanMakePaymentEnabled[] = "payments.can_make_payment_enabled"; 15 | void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry) { 16 | registry->RegisterBooleanPref(kPaymentsFirstTransactionCompleted, false); 17 | registry->RegisterBooleanPref( 18 | - kCanMakePaymentEnabled, true, 19 | + kCanMakePaymentEnabled, false, 20 | user_prefs::PrefRegistrySyncable::SYNCABLE_PREF); 21 | } 22 | 23 | -------------------------------------------------------------------------------- /patches/0001-Vanadium/0032-disable-media-router-media-remoting-by-default.patch: -------------------------------------------------------------------------------- 1 | From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 2 | From: Daniel Micay 3 | Date: Thu, 4 Jul 2019 18:11:27 -0400 4 | Subject: [PATCH] disable media router media remoting by default 5 | 6 | --- 7 | chrome/browser/media/router/media_router_feature.cc | 2 +- 8 | 1 file changed, 1 insertion(+), 1 deletion(-) 9 | 10 | diff --git a/chrome/browser/media/router/media_router_feature.cc b/chrome/browser/media/router/media_router_feature.cc 11 | index dcb025a38088e..d733f8dbe7a9c 100644 12 | --- a/chrome/browser/media/router/media_router_feature.cc 13 | +++ b/chrome/browser/media/router/media_router_feature.cc 14 | @@ -113,7 +113,7 @@ void RegisterProfilePrefs(PrefRegistrySimple* registry) { 15 | PrefRegistry::PUBLIC); 16 | 17 | registry->RegisterBooleanPref( 18 | - media_router::prefs::kMediaRouterMediaRemotingEnabled, true); 19 | + media_router::prefs::kMediaRouterMediaRemotingEnabled, false); 20 | registry->RegisterListPref( 21 | media_router::prefs::kMediaRouterTabMirroringSources); 22 | 23 | -------------------------------------------------------------------------------- /patches/0001-Vanadium/0033-disable-media-router-by-default.patch: -------------------------------------------------------------------------------- 1 | From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 2 | From: Daniel Micay 3 | Date: Thu, 4 Jul 2019 19:08:52 -0400 4 | Subject: [PATCH] disable media router by default 5 | 6 | --- 7 | chrome/browser/media/router/media_router_feature.cc | 2 +- 8 | chrome/browser/profiles/profile_impl.cc | 2 +- 9 | 2 files changed, 2 insertions(+), 2 deletions(-) 10 | 11 | diff --git a/chrome/browser/media/router/media_router_feature.cc b/chrome/browser/media/router/media_router_feature.cc 12 | index d733f8dbe7a9c..f36e3676491ae 100644 13 | --- a/chrome/browser/media/router/media_router_feature.cc 14 | +++ b/chrome/browser/media/router/media_router_feature.cc 15 | @@ -99,7 +99,7 @@ bool MediaRouterEnabled(content::BrowserContext* context) { 16 | pref_values.insert(std::make_pair(context, allowed)); 17 | return allowed; 18 | } 19 | - return true; 20 | + return false; 21 | } 22 | 23 | #if !BUILDFLAG(IS_ANDROID) 24 | diff --git a/chrome/browser/profiles/profile_impl.cc b/chrome/browser/profiles/profile_impl.cc 25 | index c0a48974dacea..6566b3eb4dd76 100644 26 | --- a/chrome/browser/profiles/profile_impl.cc 27 | +++ b/chrome/browser/profiles/profile_impl.cc 28 | @@ -414,7 +414,7 @@ void ProfileImpl::RegisterProfilePrefs( 29 | #endif 30 | 31 | registry->RegisterBooleanPref(prefs::kForceEphemeralProfiles, false); 32 | - registry->RegisterBooleanPref(prefs::kEnableMediaRouter, true); 33 | + registry->RegisterBooleanPref(prefs::kEnableMediaRouter, false); 34 | #if !BUILDFLAG(IS_ANDROID) 35 | registry->RegisterBooleanPref(prefs::kShowCastIconInToolbar, false); 36 | #endif // !BUILDFLAG(IS_ANDROID) 37 | -------------------------------------------------------------------------------- /patches/0001-Vanadium/0034-disable-offering-translations-by-default.patch: -------------------------------------------------------------------------------- 1 | From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 2 | From: Daniel Micay 3 | Date: Fri, 12 Jul 2019 03:58:01 -0400 4 | Subject: [PATCH] disable offering translations by default 5 | 6 | --- 7 | chrome/browser/ui/browser_ui_prefs.cc | 2 +- 8 | 1 file changed, 1 insertion(+), 1 deletion(-) 9 | 10 | diff --git a/chrome/browser/ui/browser_ui_prefs.cc b/chrome/browser/ui/browser_ui_prefs.cc 11 | index d70f76650ce3d..8649d213acd3d 100644 12 | --- a/chrome/browser/ui/browser_ui_prefs.cc 13 | +++ b/chrome/browser/ui/browser_ui_prefs.cc 14 | @@ -77,7 +77,7 @@ void RegisterBrowserUserPrefs(user_prefs::PrefRegistrySyncable* registry) { 15 | registry->RegisterBooleanPref(prefs::kWebAppCreateInAppsMenu, true); 16 | registry->RegisterBooleanPref(prefs::kWebAppCreateInQuickLaunchBar, true); 17 | registry->RegisterBooleanPref( 18 | - translate::prefs::kOfferTranslateEnabled, true, 19 | + translate::prefs::kOfferTranslateEnabled, false, 20 | user_prefs::PrefRegistrySyncable::SYNCABLE_PREF); 21 | registry->RegisterStringPref(prefs::kCloudPrintEmail, std::string()); 22 | registry->RegisterBooleanPref(prefs::kCloudPrintProxyEnabled, true); 23 | -------------------------------------------------------------------------------- /patches/0001-Vanadium/0035-disable-browser-sign-in-feature-by-default.patch: -------------------------------------------------------------------------------- 1 | From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 2 | From: Daniel Micay 3 | Date: Fri, 12 Jul 2019 04:23:18 -0400 4 | Subject: [PATCH] disable browser sign in feature by default 5 | 6 | --- 7 | chrome/browser/signin/account_consistency_mode_manager.cc | 2 +- 8 | .../signin/internal/identity_manager/primary_account_manager.cc | 2 +- 9 | 2 files changed, 2 insertions(+), 2 deletions(-) 10 | 11 | diff --git a/chrome/browser/signin/account_consistency_mode_manager.cc b/chrome/browser/signin/account_consistency_mode_manager.cc 12 | index e9153c6cdf4c4..94a446071772e 100644 13 | --- a/chrome/browser/signin/account_consistency_mode_manager.cc 14 | +++ b/chrome/browser/signin/account_consistency_mode_manager.cc 15 | @@ -112,7 +112,7 @@ AccountConsistencyModeManager::~AccountConsistencyModeManager() {} 16 | // static 17 | void AccountConsistencyModeManager::RegisterProfilePrefs( 18 | user_prefs::PrefRegistrySyncable* registry) { 19 | - registry->RegisterBooleanPref(prefs::kSigninAllowedOnNextStartup, true); 20 | + registry->RegisterBooleanPref(prefs::kSigninAllowedOnNextStartup, false); 21 | } 22 | 23 | // static 24 | diff --git a/components/signin/internal/identity_manager/primary_account_manager.cc b/components/signin/internal/identity_manager/primary_account_manager.cc 25 | index 0f5f38b24f399..52a34b8526c58 100644 26 | --- a/components/signin/internal/identity_manager/primary_account_manager.cc 27 | +++ b/components/signin/internal/identity_manager/primary_account_manager.cc 28 | @@ -52,7 +52,7 @@ void PrimaryAccountManager::RegisterProfilePrefs(PrefRegistrySimple* registry) { 29 | registry->RegisterBooleanPref(prefs::kGoogleServicesConsentedToSync, false); 30 | registry->RegisterBooleanPref(prefs::kAutologinEnabled, true); 31 | registry->RegisterListPref(prefs::kReverseAutologinRejectedEmailList); 32 | - registry->RegisterBooleanPref(prefs::kSigninAllowed, true); 33 | + registry->RegisterBooleanPref(prefs::kSigninAllowed, false); 34 | registry->RegisterBooleanPref(prefs::kSignedInWithCredentialProvider, false); 35 | } 36 | 37 | -------------------------------------------------------------------------------- /patches/0001-Vanadium/0036-disable-browser-autologin-by-default.patch: -------------------------------------------------------------------------------- 1 | From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 2 | From: Daniel Micay 3 | Date: Sun, 22 Mar 2020 03:07:08 -0400 4 | Subject: [PATCH] disable browser autologin by default 5 | 6 | --- 7 | .../signin/internal/identity_manager/primary_account_manager.cc | 2 +- 8 | 1 file changed, 1 insertion(+), 1 deletion(-) 9 | 10 | diff --git a/components/signin/internal/identity_manager/primary_account_manager.cc b/components/signin/internal/identity_manager/primary_account_manager.cc 11 | index 52a34b8526c58..df4549e4269b5 100644 12 | --- a/components/signin/internal/identity_manager/primary_account_manager.cc 13 | +++ b/components/signin/internal/identity_manager/primary_account_manager.cc 14 | @@ -50,7 +50,7 @@ void PrimaryAccountManager::RegisterProfilePrefs(PrefRegistrySimple* registry) { 15 | std::string()); 16 | registry->RegisterStringPref(prefs::kGoogleServicesAccountId, std::string()); 17 | registry->RegisterBooleanPref(prefs::kGoogleServicesConsentedToSync, false); 18 | - registry->RegisterBooleanPref(prefs::kAutologinEnabled, true); 19 | + registry->RegisterBooleanPref(prefs::kAutologinEnabled, false); 20 | registry->RegisterListPref(prefs::kReverseAutologinRejectedEmailList); 21 | registry->RegisterBooleanPref(prefs::kSigninAllowed, false); 22 | registry->RegisterBooleanPref(prefs::kSignedInWithCredentialProvider, false); 23 | -------------------------------------------------------------------------------- /patches/0001-Vanadium/0037-disable-safe-browsing-reporting-opt-in-by-default.patch: -------------------------------------------------------------------------------- 1 | From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 2 | From: Daniel Micay 3 | Date: Fri, 12 Jul 2019 05:22:11 -0400 4 | Subject: [PATCH] disable safe browsing reporting opt-in by default 5 | 6 | --- 7 | components/safe_browsing/core/common/safe_browsing_prefs.cc | 2 +- 8 | 1 file changed, 1 insertion(+), 1 deletion(-) 9 | 10 | diff --git a/components/safe_browsing/core/common/safe_browsing_prefs.cc b/components/safe_browsing/core/common/safe_browsing_prefs.cc 11 | index 83fc75cadd10c..809de35048602 100644 12 | --- a/components/safe_browsing/core/common/safe_browsing_prefs.cc 13 | +++ b/components/safe_browsing/core/common/safe_browsing_prefs.cc 14 | @@ -199,7 +199,7 @@ void RegisterProfilePrefs(PrefRegistrySimple* registry) { 15 | registry->RegisterBooleanPref( 16 | prefs::kSafeBrowsingSawInterstitialScoutReporting, false); 17 | registry->RegisterBooleanPref( 18 | - prefs::kSafeBrowsingExtendedReportingOptInAllowed, true); 19 | + prefs::kSafeBrowsingExtendedReportingOptInAllowed, false); 20 | registry->RegisterBooleanPref( 21 | prefs::kSafeBrowsingEnabled, true, 22 | user_prefs::PrefRegistrySyncable::SYNCABLE_PREF); 23 | -------------------------------------------------------------------------------- /patches/0001-Vanadium/0038-disable-unused-safe-browsing-option-by-default.patch: -------------------------------------------------------------------------------- 1 | From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 2 | From: Daniel Micay 3 | Date: Thu, 12 Mar 2020 13:01:02 -0400 4 | Subject: [PATCH] disable unused safe browsing option by default 5 | 6 | Safe Browsing is currently a no-op due to the lack of Play Services, and 7 | support for using the local database backend hasn't been implemented. 8 | Various changes would be needed to make it available and to make sure 9 | that privacy is preserved. 10 | --- 11 | components/safe_browsing/core/common/safe_browsing_prefs.cc | 2 +- 12 | 1 file changed, 1 insertion(+), 1 deletion(-) 13 | 14 | diff --git a/components/safe_browsing/core/common/safe_browsing_prefs.cc b/components/safe_browsing/core/common/safe_browsing_prefs.cc 15 | index 809de35048602..71870202db4aa 100644 16 | --- a/components/safe_browsing/core/common/safe_browsing_prefs.cc 17 | +++ b/components/safe_browsing/core/common/safe_browsing_prefs.cc 18 | @@ -201,7 +201,7 @@ void RegisterProfilePrefs(PrefRegistrySimple* registry) { 19 | registry->RegisterBooleanPref( 20 | prefs::kSafeBrowsingExtendedReportingOptInAllowed, false); 21 | registry->RegisterBooleanPref( 22 | - prefs::kSafeBrowsingEnabled, true, 23 | + prefs::kSafeBrowsingEnabled, false, 24 | user_prefs::PrefRegistrySyncable::SYNCABLE_PREF); 25 | registry->RegisterBooleanPref(prefs::kSafeBrowsingEnhanced, false); 26 | registry->RegisterBooleanPref(prefs::kSafeBrowsingProceedAnywayDisabled, 27 | -------------------------------------------------------------------------------- /patches/0001-Vanadium/0039-disable-media-DRM-preprovisioning-by-default.patch: -------------------------------------------------------------------------------- 1 | From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 2 | From: Daniel Micay 3 | Date: Thu, 21 May 2020 12:27:29 -0400 4 | Subject: [PATCH] disable media DRM preprovisioning by default 5 | 6 | This switches to fetching on-demand, which can only happen if DRM media 7 | support is enabled. 8 | --- 9 | media/base/media_switches.cc | 2 +- 10 | 1 file changed, 1 insertion(+), 1 deletion(-) 11 | 12 | diff --git a/media/base/media_switches.cc b/media/base/media_switches.cc 13 | index b41411546bd13..47f1f22f57121 100644 14 | --- a/media/base/media_switches.cc 15 | +++ b/media/base/media_switches.cc 16 | @@ -750,7 +750,7 @@ const base::Feature kMediaDrmPersistentLicense{ 17 | // MediaDrmBridge. If disabled, MediaDrmBridge will get unprovisioned origin IDs 18 | // which will trigger provisioning process after MediaDrmBridge is created. 19 | const base::Feature kMediaDrmPreprovisioning{"MediaDrmPreprovisioning", 20 | - base::FEATURE_ENABLED_BY_DEFAULT}; 21 | + base::FEATURE_DISABLED_BY_DEFAULT}; 22 | 23 | // Determines if MediaDrmOriginIdManager should attempt to pre-provision origin 24 | // IDs at startup (whenever a profile is loaded). Also used by tests that 25 | -------------------------------------------------------------------------------- /patches/0001-Vanadium/0040-enable-prefetch-privacy-changes-by-default.patch: -------------------------------------------------------------------------------- 1 | From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 2 | From: Daniel Micay 3 | Date: Fri, 23 Oct 2020 23:59:13 -0400 4 | Subject: [PATCH] enable prefetch privacy changes by default 5 | 6 | --- 7 | third_party/blink/common/features.cc | 2 +- 8 | 1 file changed, 1 insertion(+), 1 deletion(-) 9 | 10 | diff --git a/third_party/blink/common/features.cc b/third_party/blink/common/features.cc 11 | index f262b18e7a989..26d9c96deb7c0 100644 12 | --- a/third_party/blink/common/features.cc 13 | +++ b/third_party/blink/common/features.cc 14 | @@ -566,7 +566,7 @@ const base::Feature kComputePressure{"ComputePressure", 15 | // Prefetch request properties are updated to be privacy-preserving. See 16 | // crbug.com/988956. 17 | const base::Feature kPrefetchPrivacyChanges{"PrefetchPrivacyChanges", 18 | - base::FEATURE_DISABLED_BY_DEFAULT}; 19 | + base::FEATURE_ENABLED_BY_DEFAULT}; 20 | 21 | // Decodes jpeg 4:2:0 formatted images to YUV instead of RGBX and stores in this 22 | // format in the image decode cache. See crbug.com/919627 for details on the 23 | -------------------------------------------------------------------------------- /patches/0001-Vanadium/0041-enable-user-agent-freeze-by-default.patch: -------------------------------------------------------------------------------- 1 | From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 2 | From: Daniel Micay 3 | Date: Wed, 3 Mar 2021 13:42:41 -0500 4 | Subject: [PATCH] enable user agent freeze by default 5 | 6 | --- 7 | third_party/blink/common/features.cc | 2 +- 8 | 1 file changed, 1 insertion(+), 1 deletion(-) 9 | 10 | diff --git a/third_party/blink/common/features.cc b/third_party/blink/common/features.cc 11 | index 26d9c96deb7c0..e69f9c7bab3fe 100644 12 | --- a/third_party/blink/common/features.cc 13 | +++ b/third_party/blink/common/features.cc 14 | @@ -167,7 +167,7 @@ const base::Feature kFreezePurgeMemoryAllPagesFrozen{ 15 | 16 | // Freezes the user-agent as part of https://github.com/WICG/ua-client-hints. 17 | const base::Feature kReduceUserAgent{"ReduceUserAgent", 18 | - base::FEATURE_DISABLED_BY_DEFAULT}; 19 | + base::FEATURE_ENABLED_BY_DEFAULT}; 20 | 21 | // Enables the `sec-ch-ua-full` client hint to be sent along with the full user 22 | // agent string in the HTTP request headers, as well as surfacing the full user 23 | -------------------------------------------------------------------------------- /patches/0001-Vanadium/0042-enable-split-cache-by-default.patch: -------------------------------------------------------------------------------- 1 | From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 2 | From: Daniel Micay 3 | Date: Wed, 23 Dec 2020 06:00:50 -0500 4 | Subject: [PATCH] enable split cache by default 5 | 6 | --- 7 | net/base/features.cc | 2 +- 8 | 1 file changed, 1 insertion(+), 1 deletion(-) 9 | 10 | diff --git a/net/base/features.cc b/net/base/features.cc 11 | index a43cca47a5715..c15860b5bf432 100644 12 | --- a/net/base/features.cc 13 | +++ b/net/base/features.cc 14 | @@ -118,7 +118,7 @@ const base::Feature kSplitCacheByIncludeCredentials{ 15 | "SplitCacheByIncludeCredentials", base::FEATURE_DISABLED_BY_DEFAULT}; 16 | 17 | const base::Feature kSplitCacheByNetworkIsolationKey{ 18 | - "SplitCacheByNetworkIsolationKey", base::FEATURE_DISABLED_BY_DEFAULT}; 19 | + "SplitCacheByNetworkIsolationKey", base::FEATURE_ENABLED_BY_DEFAULT}; 20 | 21 | const base::Feature kSplitHostCacheByNetworkIsolationKey{ 22 | "SplitHostCacheByNetworkIsolationKey", base::FEATURE_DISABLED_BY_DEFAULT}; 23 | -------------------------------------------------------------------------------- /patches/0001-Vanadium/0043-enable-partitioning-connections-by-default.patch: -------------------------------------------------------------------------------- 1 | From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 2 | From: Daniel Micay 3 | Date: Mon, 8 Mar 2021 16:53:47 -0500 4 | Subject: [PATCH] enable partitioning connections by default 5 | 6 | --- 7 | net/base/features.cc | 12 ++++++------ 8 | 1 file changed, 6 insertions(+), 6 deletions(-) 9 | 10 | diff --git a/net/base/features.cc b/net/base/features.cc 11 | index c15860b5bf432..166b073e8e40b 100644 12 | --- a/net/base/features.cc 13 | +++ b/net/base/features.cc 14 | @@ -121,11 +121,11 @@ const base::Feature kSplitCacheByNetworkIsolationKey{ 15 | "SplitCacheByNetworkIsolationKey", base::FEATURE_ENABLED_BY_DEFAULT}; 16 | 17 | const base::Feature kSplitHostCacheByNetworkIsolationKey{ 18 | - "SplitHostCacheByNetworkIsolationKey", base::FEATURE_DISABLED_BY_DEFAULT}; 19 | + "SplitHostCacheByNetworkIsolationKey", base::FEATURE_ENABLED_BY_DEFAULT}; 20 | 21 | const base::Feature kPartitionConnectionsByNetworkIsolationKey{ 22 | "PartitionConnectionsByNetworkIsolationKey", 23 | - base::FEATURE_DISABLED_BY_DEFAULT}; 24 | + base::FEATURE_ENABLED_BY_DEFAULT}; 25 | 26 | const base::Feature kForceIsolationInfoFrameOriginToTopLevelFrame{ 27 | "ForceIsolationInfoFrameOriginToTopLevelFrame", 28 | @@ -133,19 +133,19 @@ const base::Feature kForceIsolationInfoFrameOriginToTopLevelFrame{ 29 | 30 | const base::Feature kPartitionHttpServerPropertiesByNetworkIsolationKey{ 31 | "PartitionHttpServerPropertiesByNetworkIsolationKey", 32 | - base::FEATURE_DISABLED_BY_DEFAULT}; 33 | + base::FEATURE_ENABLED_BY_DEFAULT}; 34 | 35 | const base::Feature kPartitionSSLSessionsByNetworkIsolationKey{ 36 | "PartitionSSLSessionsByNetworkIsolationKey", 37 | - base::FEATURE_DISABLED_BY_DEFAULT}; 38 | + base::FEATURE_ENABLED_BY_DEFAULT}; 39 | 40 | const base::Feature kPartitionExpectCTStateByNetworkIsolationKey{ 41 | "PartitionExpectCTStateByNetworkIsolationKey", 42 | - base::FEATURE_DISABLED_BY_DEFAULT}; 43 | + base::FEATURE_ENABLED_BY_DEFAULT}; 44 | 45 | const base::Feature kPartitionNelAndReportingByNetworkIsolationKey{ 46 | "PartitionNelAndReportingByNetworkIsolationKey", 47 | - base::FEATURE_DISABLED_BY_DEFAULT}; 48 | + base::FEATURE_ENABLED_BY_DEFAULT}; 49 | 50 | const base::Feature kEnableDoubleKeyNetworkAnonymizationKey{ 51 | "EnableDoubleKeyNetworkAnonymizationKey", 52 | -------------------------------------------------------------------------------- /patches/0001-Vanadium/0044-enable-dubious-Do-Not-Track-feature-by-default.patch: -------------------------------------------------------------------------------- 1 | From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 2 | From: Daniel Micay 3 | Date: Tue, 1 Aug 2017 11:16:11 -0400 4 | Subject: [PATCH] enable dubious Do Not Track feature by default 5 | 6 | --- 7 | chrome/browser/ui/browser_ui_prefs.cc | 2 +- 8 | 1 file changed, 1 insertion(+), 1 deletion(-) 9 | 10 | diff --git a/chrome/browser/ui/browser_ui_prefs.cc b/chrome/browser/ui/browser_ui_prefs.cc 11 | index 8649d213acd3d..97ac9e42caeab 100644 12 | --- a/chrome/browser/ui/browser_ui_prefs.cc 13 | +++ b/chrome/browser/ui/browser_ui_prefs.cc 14 | @@ -86,7 +86,7 @@ void RegisterBrowserUserPrefs(user_prefs::PrefRegistrySyncable* registry) { 15 | registry->RegisterDictionaryPref(prefs::kBrowserWindowPlacementPopup); 16 | registry->RegisterDictionaryPref(prefs::kAppWindowPlacement); 17 | registry->RegisterBooleanPref( 18 | - prefs::kEnableDoNotTrack, false, 19 | + prefs::kEnableDoNotTrack, true, 20 | user_prefs::PrefRegistrySyncable::SYNCABLE_PREF); 21 | #if !BUILDFLAG(IS_CHROMEOS_ASH) && !BUILDFLAG(IS_ANDROID) 22 | registry->RegisterBooleanPref(prefs::kPrintPreviewUseSystemDefaultPrinter, 23 | -------------------------------------------------------------------------------- /patches/0001-Vanadium/0045-disable-autofill-assistant-by-default.patch: -------------------------------------------------------------------------------- 1 | From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 2 | From: Daniel Micay 3 | Date: Fri, 27 Nov 2020 02:43:37 -0500 4 | Subject: [PATCH] disable autofill assistant by default 5 | 6 | --- 7 | .../autofill_assistant/AutofillAssistantPreferencesUtil.java | 2 +- 8 | components/autofill_assistant/browser/features.cc | 4 ++-- 9 | 2 files changed, 3 insertions(+), 3 deletions(-) 10 | 11 | diff --git a/components/autofill_assistant/android/public/java/src/org/chromium/components/autofill_assistant/AutofillAssistantPreferencesUtil.java b/components/autofill_assistant/android/public/java/src/org/chromium/components/autofill_assistant/AutofillAssistantPreferencesUtil.java 12 | index 834529ab0ae04..eff59a1e07269 100644 13 | --- a/components/autofill_assistant/android/public/java/src/org/chromium/components/autofill_assistant/AutofillAssistantPreferencesUtil.java 14 | +++ b/components/autofill_assistant/android/public/java/src/org/chromium/components/autofill_assistant/AutofillAssistantPreferencesUtil.java 15 | @@ -32,7 +32,7 @@ public class AutofillAssistantPreferencesUtil { 16 | 17 | /** Checks whether the Autofill Assistant switch preference in settings is on. */ 18 | public static boolean isAutofillAssistantSwitchOn() { 19 | - return getAssistantEnabledPreference(true); 20 | + return getAssistantEnabledPreference(false); 21 | } 22 | 23 | /** Checks whether proactive help is enabled. */ 24 | diff --git a/components/autofill_assistant/browser/features.cc b/components/autofill_assistant/browser/features.cc 25 | index 48dafce912386..fa395238eae08 100644 26 | --- a/components/autofill_assistant/browser/features.cc 27 | +++ b/components/autofill_assistant/browser/features.cc 28 | @@ -11,7 +11,7 @@ namespace features { 29 | 30 | // Controls whether to enable Autofill Assistant. 31 | const base::Feature kAutofillAssistant{"AutofillAssistant", 32 | - base::FEATURE_ENABLED_BY_DEFAULT}; 33 | + base::FEATURE_DISABLED_BY_DEFAULT}; 34 | 35 | // Controls whether to enable Autofill Assistant's way of annotating DOM. If 36 | // enabled will create an |AnnotateDomModelService|. 37 | @@ -103,7 +103,7 @@ const base::Feature kAutofillAssistantLoadDFMForTriggerScripts{ 38 | base::FEATURE_DISABLED_BY_DEFAULT}; 39 | 40 | const base::Feature kAutofillAssistantProactiveHelp{ 41 | - "AutofillAssistantProactiveHelp", base::FEATURE_ENABLED_BY_DEFAULT}; 42 | + "AutofillAssistantProactiveHelp", base::FEATURE_DISABLED_BY_DEFAULT}; 43 | 44 | // Used to configure URL heuristics for upcoming new features. 45 | extern const base::Feature kAutofillAssistantUrlHeuristic1{ 46 | -------------------------------------------------------------------------------- /patches/0001-Vanadium/0046-disable-autofill-server-communication-by-default.patch: -------------------------------------------------------------------------------- 1 | From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 2 | From: Daniel Micay 3 | Date: Tue, 1 Dec 2020 00:56:57 -0500 4 | Subject: [PATCH] disable autofill server communication by default 5 | 6 | --- 7 | components/autofill/core/common/autofill_features.cc | 2 +- 8 | 1 file changed, 1 insertion(+), 1 deletion(-) 9 | 10 | diff --git a/components/autofill/core/common/autofill_features.cc b/components/autofill/core/common/autofill_features.cc 11 | index 9fd9d35b68c3a..92d2b6622d513 100644 12 | --- a/components/autofill/core/common/autofill_features.cc 13 | +++ b/components/autofill/core/common/autofill_features.cc 14 | @@ -509,7 +509,7 @@ const base::FeatureParam kAutofillServerBehaviorsParam{ 15 | // "upload" resources. 16 | // i.e., https://other.autofill.server:port/tbproxy/af/ 17 | const base::Feature kAutofillServerCommunication{ 18 | - "AutofillServerCommunication", base::FEATURE_ENABLED_BY_DEFAULT}; 19 | + "AutofillServerCommunication", base::FEATURE_DISABLED_BY_DEFAULT}; 20 | 21 | // Controls whether Autofill may fill across origins as part of the 22 | // AutofillAcrossIframes experiment. 23 | -------------------------------------------------------------------------------- /patches/0001-Vanadium/0047-disable-component-updater-pings-by-default.patch: -------------------------------------------------------------------------------- 1 | From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 2 | From: Daniel Micay 3 | Date: Fri, 27 Nov 2020 03:56:29 -0500 4 | Subject: [PATCH] disable component updater pings by default 5 | 6 | --- 7 | .../component_updater_command_line_config_policy.h | 2 +- 8 | 1 file changed, 1 insertion(+), 1 deletion(-) 9 | 10 | diff --git a/components/component_updater/component_updater_command_line_config_policy.h b/components/component_updater/component_updater_command_line_config_policy.h 11 | index 078cfd8566f04..43c67d7a9727b 100644 12 | --- a/components/component_updater/component_updater_command_line_config_policy.h 13 | +++ b/components/component_updater/component_updater_command_line_config_policy.h 14 | @@ -41,7 +41,7 @@ class ComponentUpdaterCommandLineConfigPolicy final 15 | bool background_downloads_enabled_ = false; 16 | bool deltas_enabled_ = true; 17 | bool fast_update_ = false; 18 | - bool pings_enabled_ = true; 19 | + bool pings_enabled_ = false; 20 | bool test_request_ = false; 21 | 22 | // If non-zero, time interval in seconds until the first component 23 | -------------------------------------------------------------------------------- /patches/0001-Vanadium/0048-mark-non-secure-origins-as-dangerous.patch: -------------------------------------------------------------------------------- 1 | From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 2 | From: Daniel Micay 3 | Date: Fri, 20 Oct 2017 21:20:50 -0400 4 | Subject: [PATCH] mark non-secure origins as dangerous 5 | 6 | --- 7 | components/security_state/core/security_state.cc | 2 +- 8 | 1 file changed, 1 insertion(+), 1 deletion(-) 9 | 10 | diff --git a/components/security_state/core/security_state.cc b/components/security_state/core/security_state.cc 11 | index 25ae1a7a26bf7..2822a7c8f1f73 100644 12 | --- a/components/security_state/core/security_state.cc 13 | +++ b/components/security_state/core/security_state.cc 14 | @@ -168,7 +168,7 @@ SecurityLevel GetSecurityLevel( 15 | return NONE; 16 | } 17 | #endif // !BUILDFLAG(IS_ANDROID) 18 | - return WARNING; 19 | + return DANGEROUS; 20 | } 21 | return NONE; 22 | } 23 | -------------------------------------------------------------------------------- /patches/0001-Vanadium/0049-enable-strict-site-isolation-by-default-on-Android.patch: -------------------------------------------------------------------------------- 1 | From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 2 | From: Daniel Micay 3 | Date: Thu, 2 May 2019 07:15:32 -0400 4 | Subject: [PATCH] enable strict site isolation by default on Android 5 | 6 | --- 7 | chrome/browser/about_flags.cc | 10 ---------- 8 | chrome/common/chrome_features.cc | 8 +------- 9 | 2 files changed, 1 insertion(+), 17 deletions(-) 10 | 11 | diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc 12 | index 9a0c47ab605d7..91b87e334bb27 100644 13 | --- a/chrome/browser/about_flags.cc 14 | +++ b/chrome/browser/about_flags.cc 15 | @@ -4340,16 +4340,6 @@ const FeatureEntry kFeatureEntries[] = { 16 | flag_descriptions::kMojoLinuxChannelSharedMemDescription, 17 | kOsCrOS | kOsLinux | kOsLacros | kOsAndroid, 18 | FEATURE_VALUE_TYPE(mojo::core::kMojoLinuxChannelSharedMem)}, 19 | -#endif 20 | -#if BUILDFLAG(IS_ANDROID) 21 | - {"enable-site-isolation-for-password-sites", 22 | - flag_descriptions::kSiteIsolationForPasswordSitesName, 23 | - flag_descriptions::kSiteIsolationForPasswordSitesDescription, kOsAndroid, 24 | - FEATURE_VALUE_TYPE( 25 | - site_isolation::features::kSiteIsolationForPasswordSites)}, 26 | - {"enable-site-per-process", flag_descriptions::kStrictSiteIsolationName, 27 | - flag_descriptions::kStrictSiteIsolationDescription, kOsAndroid, 28 | - SINGLE_VALUE_TYPE(switches::kSitePerProcess)}, 29 | #endif 30 | {"enable-isolated-web-apps", flag_descriptions::kEnableIsolatedWebAppsName, 31 | flag_descriptions::kEnableIsolatedWebAppsDescription, kOsAll, 32 | diff --git a/chrome/common/chrome_features.cc b/chrome/common/chrome_features.cc 33 | index 6ed1cf63871a4..3d8b7fa207093 100644 34 | --- a/chrome/common/chrome_features.cc 35 | +++ b/chrome/common/chrome_features.cc 36 | @@ -872,13 +872,7 @@ const base::Feature kSecurityKeyAttestationPrompt{ 37 | // TODO(alexmos): Move this and the other site isolation features below to 38 | // browser_features, as they are only used on the browser side. 39 | const base::Feature kSitePerProcess { 40 | - "SitePerProcess", 41 | -#if BUILDFLAG(IS_ANDROID) 42 | - base::FEATURE_DISABLED_BY_DEFAULT 43 | -#else 44 | - base::FEATURE_ENABLED_BY_DEFAULT 45 | -#endif 46 | -}; 47 | + "SitePerProcess", base::FEATURE_ENABLED_BY_DEFAULT}; 48 | 49 | #if BUILDFLAG(IS_CHROMEOS_ASH) 50 | // Enables or disables SmartDim on Chrome OS. 51 | -------------------------------------------------------------------------------- /patches/0001-Vanadium/0050-most-private-WebRTC-IP-handling-policy-by-default.patch: -------------------------------------------------------------------------------- 1 | From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 2 | From: Daniel Micay 3 | Date: Thu, 21 May 2020 12:58:04 -0400 4 | Subject: [PATCH] most private WebRTC IP handling policy by default 5 | 6 | --- 7 | chrome/browser/ui/browser_ui_prefs.cc | 2 +- 8 | 1 file changed, 1 insertion(+), 1 deletion(-) 9 | 10 | diff --git a/chrome/browser/ui/browser_ui_prefs.cc b/chrome/browser/ui/browser_ui_prefs.cc 11 | index 97ac9e42caeab..586e73f3fc1ed 100644 12 | --- a/chrome/browser/ui/browser_ui_prefs.cc 13 | +++ b/chrome/browser/ui/browser_ui_prefs.cc 14 | @@ -93,7 +93,7 @@ void RegisterBrowserUserPrefs(user_prefs::PrefRegistrySyncable* registry) { 15 | false); 16 | #endif 17 | registry->RegisterStringPref(prefs::kWebRTCIPHandlingPolicy, 18 | - blink::kWebRTCIPHandlingDefault); 19 | + blink::kWebRTCIPHandlingDisableNonProxiedUdp); 20 | registry->RegisterStringPref(prefs::kWebRTCUDPPortRange, std::string()); 21 | registry->RegisterBooleanPref(prefs::kWebRtcEventLogCollectionAllowed, false); 22 | registry->RegisterListPref(prefs::kWebRtcLocalIpsAllowedUrls); 23 | -------------------------------------------------------------------------------- /patches/0001-Vanadium/0051-stub-out-the-battery-status-API.patch: -------------------------------------------------------------------------------- 1 | From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 2 | From: Daniel Micay 3 | Date: Mon, 17 Jun 2019 11:29:21 -0400 4 | Subject: [PATCH] stub out the battery status API 5 | 6 | Pretend that the device is always plugged in and fully charged. 7 | --- 8 | .../modules/battery/battery_manager.cc | 26 +++---------------- 9 | 1 file changed, 4 insertions(+), 22 deletions(-) 10 | 11 | diff --git a/third_party/blink/renderer/modules/battery/battery_manager.cc b/third_party/blink/renderer/modules/battery/battery_manager.cc 12 | index c7c74428510ef..f145fac9fb775 100644 13 | --- a/third_party/blink/renderer/modules/battery/battery_manager.cc 14 | +++ b/third_party/blink/renderer/modules/battery/battery_manager.cc 15 | @@ -77,46 +77,28 @@ ScriptPromise BatteryManager::StartRequest(ScriptState* script_state) { 16 | } 17 | 18 | bool BatteryManager::charging() { 19 | - return battery_status_.Charging(); 20 | + return true; 21 | } 22 | 23 | double BatteryManager::chargingTime() { 24 | - return battery_status_.charging_time().InSecondsF(); 25 | + return 0.0; 26 | } 27 | 28 | double BatteryManager::dischargingTime() { 29 | - return battery_status_.discharging_time().InSecondsF(); 30 | + return std::numeric_limits::infinity(); 31 | } 32 | 33 | double BatteryManager::level() { 34 | - return battery_status_.Level(); 35 | + return 1.0; 36 | } 37 | 38 | void BatteryManager::DidUpdateData() { 39 | DCHECK(battery_property_); 40 | 41 | - BatteryStatus old_status = battery_status_; 42 | - battery_status_ = *battery_dispatcher_->LatestData(); 43 | - 44 | if (battery_property_->GetState() == BatteryProperty::kPending) { 45 | battery_property_->Resolve(this); 46 | return; 47 | } 48 | - 49 | - DCHECK(GetExecutionContext()); 50 | - if (GetExecutionContext()->IsContextPaused() || 51 | - GetExecutionContext()->IsContextDestroyed()) { 52 | - return; 53 | - } 54 | - 55 | - if (battery_status_.Charging() != old_status.Charging()) 56 | - DispatchEvent(*Event::Create(event_type_names::kChargingchange)); 57 | - if (battery_status_.charging_time() != old_status.charging_time()) 58 | - DispatchEvent(*Event::Create(event_type_names::kChargingtimechange)); 59 | - if (battery_status_.discharging_time() != old_status.discharging_time()) 60 | - DispatchEvent(*Event::Create(event_type_names::kDischargingtimechange)); 61 | - if (battery_status_.Level() != old_status.Level()) 62 | - DispatchEvent(*Event::Create(event_type_names::kLevelchange)); 63 | } 64 | 65 | void BatteryManager::RegisterWithDispatcher() { 66 | -------------------------------------------------------------------------------- /patches/0001-Vanadium/0052-always-use-local-new-tab-page.patch: -------------------------------------------------------------------------------- 1 | From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 2 | From: Daniel Micay 3 | Date: Mon, 17 Jun 2019 13:14:22 -0400 4 | Subject: [PATCH] always use local new tab page 5 | 6 | --- 7 | chrome/browser/search/search.cc | 2 +- 8 | 1 file changed, 1 insertion(+), 1 deletion(-) 9 | 10 | diff --git a/chrome/browser/search/search.cc b/chrome/browser/search/search.cc 11 | index 556d1085dde6f..92167f12cc9e7 100644 12 | --- a/chrome/browser/search/search.cc 13 | +++ b/chrome/browser/search/search.cc 14 | @@ -158,7 +158,7 @@ bool ShouldShowLocalNewTab(Profile* profile) { 15 | #if !BUILDFLAG(IS_ANDROID) 16 | return DefaultSearchProviderIsGoogle(profile); 17 | #else 18 | - return false; 19 | + return true; 20 | #endif 21 | } 22 | 23 | -------------------------------------------------------------------------------- /patches/0001-Vanadium/0053-disable-search-provider-logo.patch: -------------------------------------------------------------------------------- 1 | From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 2 | From: Daniel Micay 3 | Date: Mon, 17 Jun 2019 12:03:52 -0400 4 | Subject: [PATCH] disable search provider logo 5 | 6 | --- 7 | .../android/template_url_service_android.cc | 23 +------------------ 8 | 1 file changed, 1 insertion(+), 22 deletions(-) 9 | 10 | diff --git a/components/search_engines/android/template_url_service_android.cc b/components/search_engines/android/template_url_service_android.cc 11 | index 51f0072fd2308..bb3e16e98f5e3 100644 12 | --- a/components/search_engines/android/template_url_service_android.cc 13 | +++ b/components/search_engines/android/template_url_service_android.cc 14 | @@ -102,28 +102,7 @@ jboolean TemplateUrlServiceAndroid::IsSearchByImageAvailable( 15 | jboolean TemplateUrlServiceAndroid::DoesDefaultSearchEngineHaveLogo( 16 | JNIEnv* env, 17 | const JavaParamRef& obj) { 18 | - // |kSearchProviderLogoURL| applies to all search engines (Google or 19 | - // third-party). 20 | - if (base::CommandLine::ForCurrentProcess()->HasSwitch( 21 | - search_provider_logos::switches::kSearchProviderLogoURL)) { 22 | - return true; 23 | - } 24 | - 25 | - // Google always has a logo. 26 | - if (IsDefaultSearchEngineGoogle(env, obj)) 27 | - return true; 28 | - 29 | - // Third-party search engines can have a doodle specified via the command 30 | - // line, or a static logo or doodle from the TemplateURLService. 31 | - if (base::CommandLine::ForCurrentProcess()->HasSwitch( 32 | - search_provider_logos::switches::kThirdPartyDoodleURL)) { 33 | - return true; 34 | - } 35 | - const TemplateURL* default_search_provider = 36 | - template_url_service_->GetDefaultSearchProvider(); 37 | - return default_search_provider && 38 | - (default_search_provider->doodle_url().is_valid() || 39 | - default_search_provider->logo_url().is_valid()); 40 | + return false; 41 | } 42 | 43 | jboolean TemplateUrlServiceAndroid::IsDefaultSearchEngineGoogle( 44 | -------------------------------------------------------------------------------- /patches/0001-Vanadium/0054-stop-ignoring-download-location-prompt-setting.patch: -------------------------------------------------------------------------------- 1 | From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 2 | From: Daniel Micay 3 | Date: Fri, 28 Jun 2019 16:56:37 -0400 4 | Subject: [PATCH] stop ignoring download location prompt setting 5 | 6 | --- 7 | .../DownloadLocationDialogCoordinator.java | 15 --------------- 8 | 1 file changed, 15 deletions(-) 9 | 10 | diff --git a/chrome/browser/download/android/java/src/org/chromium/chrome/browser/download/dialogs/DownloadLocationDialogCoordinator.java b/chrome/browser/download/android/java/src/org/chromium/chrome/browser/download/dialogs/DownloadLocationDialogCoordinator.java 11 | index fd3ee7626b8dc..1a3923b021682 100644 12 | --- a/chrome/browser/download/android/java/src/org/chromium/chrome/browser/download/dialogs/DownloadLocationDialogCoordinator.java 13 | +++ b/chrome/browser/download/android/java/src/org/chromium/chrome/browser/download/dialogs/DownloadLocationDialogCoordinator.java 14 | @@ -131,21 +131,6 @@ public class DownloadLocationDialogCoordinator implements ModalDialogProperties. 15 | * @param dirs An list of available download directories. 16 | */ 17 | private void onDirectoryOptionsRetrieved(ArrayList dirs) { 18 | - // If there is only one directory available, don't show the default dialog, and set the 19 | - // download directory to default. Dialog will still show for other types of dialogs, like 20 | - // name conflict or disk error or if Incognito download warning is needed. 21 | - if (dirs.size() == 1 && !mLocationDialogManaged 22 | - && mDialogType == DownloadLocationDialogType.DEFAULT 23 | - && !shouldShowIncognitoWarning()) { 24 | - final DirectoryOption dir = dirs.get(0); 25 | - if (dir.type == DirectoryOption.DownloadLocationDirectoryType.DEFAULT) { 26 | - assert (!TextUtils.isEmpty(dir.location)); 27 | - DownloadDialogBridge.setDownloadAndSaveFileDefaultDirectory(dir.location); 28 | - mController.onDownloadLocationDialogComplete(mSuggestedPath); 29 | - } 30 | - return; 31 | - } 32 | - 33 | // Already showing the dialog. 34 | if (mDialogModel != null) return; 35 | 36 | -------------------------------------------------------------------------------- /patches/0001-Vanadium/0055-show-download-prompt-again-by-default.patch: -------------------------------------------------------------------------------- 1 | From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 2 | From: Daniel Micay 3 | Date: Fri, 28 Jun 2019 17:48:49 -0400 4 | Subject: [PATCH] show download prompt again by default 5 | 6 | --- 7 | .../download/dialogs/DownloadLocationDialogCoordinator.java | 5 +---- 8 | 1 file changed, 1 insertion(+), 4 deletions(-) 9 | 10 | diff --git a/chrome/browser/download/android/java/src/org/chromium/chrome/browser/download/dialogs/DownloadLocationDialogCoordinator.java b/chrome/browser/download/android/java/src/org/chromium/chrome/browser/download/dialogs/DownloadLocationDialogCoordinator.java 11 | index 1a3923b021682..2ec9103cb326c 100644 12 | --- a/chrome/browser/download/android/java/src/org/chromium/chrome/browser/download/dialogs/DownloadLocationDialogCoordinator.java 13 | +++ b/chrome/browser/download/android/java/src/org/chromium/chrome/browser/download/dialogs/DownloadLocationDialogCoordinator.java 14 | @@ -162,12 +162,9 @@ public class DownloadLocationDialogCoordinator implements ModalDialogProperties. 15 | } 16 | 17 | private PropertyModel getLocationDialogModel() { 18 | - boolean isInitial = DownloadDialogBridge.getPromptForDownloadAndroid() 19 | - == DownloadPromptStatus.SHOW_INITIAL; 20 | - 21 | PropertyModel.Builder builder = 22 | new PropertyModel.Builder(DownloadLocationDialogProperties.ALL_KEYS); 23 | - builder.with(DownloadLocationDialogProperties.DONT_SHOW_AGAIN_CHECKBOX_CHECKED, isInitial); 24 | + builder.with(DownloadLocationDialogProperties.DONT_SHOW_AGAIN_CHECKBOX_CHECKED, false); 25 | builder.with( 26 | DownloadLocationDialogProperties.FILE_NAME, new File(mSuggestedPath).getName()); 27 | builder.with(DownloadLocationDialogProperties.SHOW_SUBTITLE, true); 28 | -------------------------------------------------------------------------------- /patches/0001-Vanadium/0056-remove-translate-offer-preference.patch: -------------------------------------------------------------------------------- 1 | From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 2 | From: Daniel Micay 3 | Date: Fri, 2 Aug 2019 21:11:17 -0400 4 | Subject: [PATCH] remove translate offer preference 5 | 6 | --- 7 | .../language/settings/LanguageSettings.java | 21 +------------------ 8 | 1 file changed, 1 insertion(+), 20 deletions(-) 9 | 10 | diff --git a/chrome/browser/language/android/java/src/org/chromium/chrome/browser/language/settings/LanguageSettings.java b/chrome/browser/language/android/java/src/org/chromium/chrome/browser/language/settings/LanguageSettings.java 11 | index 3dbe063ee0342..673a3e2c0e072 100644 12 | --- a/chrome/browser/language/android/java/src/org/chromium/chrome/browser/language/settings/LanguageSettings.java 13 | +++ b/chrome/browser/language/android/java/src/org/chromium/chrome/browser/language/settings/LanguageSettings.java 14 | @@ -101,26 +101,7 @@ public class LanguageSettings extends PreferenceFragmentCompat 15 | (ContentLanguagesPreference) findPreference(PREFERRED_LANGUAGES_KEY); 16 | mLanguageListPref.registerActivityLauncher(this); 17 | 18 | - ChromeSwitchPreference translateSwitch = 19 | - (ChromeSwitchPreference) findPreference(TRANSLATE_SWITCH_KEY); 20 | - boolean isTranslateEnabled = getPrefService().getBoolean(Pref.OFFER_TRANSLATE_ENABLED); 21 | - translateSwitch.setChecked(isTranslateEnabled); 22 | - 23 | - translateSwitch.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() { 24 | - @Override 25 | - public boolean onPreferenceChange(Preference preference, Object newValue) { 26 | - boolean enabled = (boolean) newValue; 27 | - getPrefService().setBoolean(Pref.OFFER_TRANSLATE_ENABLED, enabled); 28 | - mLanguageListPref.notifyPrefChanged(); 29 | - LanguagesManager.recordAction(enabled ? LanguagesManager.LanguageSettingsActionType 30 | - .ENABLE_TRANSLATE_GLOBALLY 31 | - : LanguagesManager.LanguageSettingsActionType 32 | - .DISABLE_TRANSLATE_GLOBALLY); 33 | - return true; 34 | - } 35 | - }); 36 | - translateSwitch.setManagedPreferenceDelegate((ChromeManagedPreferenceDelegate) preference 37 | - -> getPrefService().isManagedPreference(Pref.OFFER_TRANSLATE_ENABLED)); 38 | + getPreferenceScreen().removePreference(findPreference(TRANSLATE_SWITCH_KEY)); 39 | } 40 | 41 | /** 42 | -------------------------------------------------------------------------------- /patches/0001-Vanadium/0057-set-default-search-engine-to-DuckDuckGo.patch: -------------------------------------------------------------------------------- 1 | From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 2 | From: Zoraver Kang 3 | Date: Sat, 17 Aug 2019 15:53:50 -0400 4 | Subject: [PATCH] set default search engine to DuckDuckGo 5 | 6 | --- 7 | components/search_engines/template_url_prepopulate_data.cc | 2 +- 8 | 1 file changed, 1 insertion(+), 1 deletion(-) 9 | 10 | diff --git a/components/search_engines/template_url_prepopulate_data.cc b/components/search_engines/template_url_prepopulate_data.cc 11 | index 12f51969be2f3..1a2ab4f177513 100644 12 | --- a/components/search_engines/template_url_prepopulate_data.cc 13 | +++ b/components/search_engines/template_url_prepopulate_data.cc 14 | @@ -1383,7 +1383,7 @@ std::vector> GetPrepopulatedEngines( 15 | if (default_search_provider_index) { 16 | const auto itr = std::find_if( 17 | t_urls.begin(), t_urls.end(), 18 | - [](const auto& t_url) { return t_url->prepopulate_id == google.id; }); 19 | + [](const auto& t_url) { return t_url->prepopulate_id == duckduckgo.id; }); 20 | *default_search_provider_index = 21 | itr == t_urls.end() ? 0 : std::distance(t_urls.begin(), itr); 22 | } 23 | -------------------------------------------------------------------------------- /patches/0001-Vanadium/0058-disable-trivial-subdomain-hiding.patch: -------------------------------------------------------------------------------- 1 | From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 2 | From: JTL 3 | Date: Sat, 21 Dec 2019 04:04:24 +0000 4 | Subject: [PATCH] disable trivial subdomain hiding 5 | 6 | --- 7 | components/url_formatter/url_formatter.cc | 3 +-- 8 | 1 file changed, 1 insertion(+), 2 deletions(-) 9 | 10 | diff --git a/components/url_formatter/url_formatter.cc b/components/url_formatter/url_formatter.cc 11 | index 52f4a40fb95f6..67179085ee9a9 100644 12 | --- a/components/url_formatter/url_formatter.cc 13 | +++ b/components/url_formatter/url_formatter.cc 14 | @@ -658,8 +658,7 @@ std::u16string FormatUrlWithAdjustments( 15 | *prefix_end = static_cast(url_string.length()); 16 | 17 | // Host. 18 | - bool trim_trivial_subdomains = 19 | - (format_types & kFormatUrlOmitTrivialSubdomains) != 0; 20 | + bool trim_trivial_subdomains = false; 21 | bool trim_mobile_prefix = (format_types & kFormatUrlOmitMobilePrefix) != 0; 22 | AppendFormattedComponent( 23 | spec, parsed.host, 24 | -------------------------------------------------------------------------------- /patches/0001-Vanadium/0059-disable-learn-more-link-in-incognito-new-tab.patch: -------------------------------------------------------------------------------- 1 | From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 2 | From: A Mak 3 | Date: Sat, 8 Aug 2020 11:17:59 -0700 4 | Subject: [PATCH] disable learn more link in incognito new tab 5 | 6 | --- 7 | .../chrome/browser/ntp/LegacyIncognitoDescriptionView.java | 6 +++--- 8 | .../browser/ntp/RevampedIncognitoDescriptionView.java | 1 + 9 | 2 files changed, 4 insertions(+), 3 deletions(-) 10 | 11 | diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/LegacyIncognitoDescriptionView.java b/chrome/android/java/src/org/chromium/chrome/browser/ntp/LegacyIncognitoDescriptionView.java 12 | index cd0e0c4fa190b..026c161a24ff1 100644 13 | --- a/chrome/android/java/src/org/chromium/chrome/browser/ntp/LegacyIncognitoDescriptionView.java 14 | +++ b/chrome/android/java/src/org/chromium/chrome/browser/ntp/LegacyIncognitoDescriptionView.java 15 | @@ -288,9 +288,9 @@ public class LegacyIncognitoDescriptionView 16 | final String subtitleText = getContext().getResources().getString(readLaterEnabled 17 | ? R.string.new_tab_otr_subtitle_with_reading_list 18 | : R.string.new_tab_otr_subtitle); 19 | - boolean learnMoreInSubtitle = mWidthDp > WIDE_LAYOUT_THRESHOLD_DP; 20 | + boolean learnMoreInSubtitle = false; 21 | 22 | - mLearnMore.setVisibility(learnMoreInSubtitle ? View.GONE : View.VISIBLE); 23 | + mLearnMore.setVisibility(View.GONE); 24 | 25 | if (!learnMoreInSubtitle) { 26 | // Revert to the original text. 27 | @@ -310,7 +310,7 @@ public class LegacyIncognitoDescriptionView 28 | getContext(), R.color.modern_blue_300, (view) -> mLearnMore.callOnClick()); 29 | textWithLearnMoreLink.setSpan( 30 | span, subtitleText.length() + 1, textWithLearnMoreLink.length(), 0 /* flags */); 31 | - mSubtitle.setText(textWithLearnMoreLink); 32 | + mSubtitle.setText(subtitleText); 33 | mSubtitle.setMovementMethod(LinkMovementMethod.getInstance()); 34 | } 35 | 36 | diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/RevampedIncognitoDescriptionView.java b/chrome/android/java/src/org/chromium/chrome/browser/ntp/RevampedIncognitoDescriptionView.java 37 | index 0cd2cfd7095c5..9dd283ee46788 100644 38 | --- a/chrome/android/java/src/org/chromium/chrome/browser/ntp/RevampedIncognitoDescriptionView.java 39 | +++ b/chrome/android/java/src/org/chromium/chrome/browser/ntp/RevampedIncognitoDescriptionView.java 40 | @@ -264,6 +264,7 @@ public class RevampedIncognitoDescriptionView 41 | 42 | mLearnMore.setText(formattedText); 43 | mLearnMore.setMovementMethod(LinkMovementMethod.getInstance()); 44 | + mLearnMore.setVisibility(View.GONE); 45 | } 46 | 47 | private boolean isNarrowScreen() { 48 | -------------------------------------------------------------------------------- /patches/0001-Vanadium/0060-disable-Omaha-update-check-support.patch: -------------------------------------------------------------------------------- 1 | From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 2 | From: Daniel Micay 3 | Date: Wed, 18 Nov 2020 19:13:27 -0500 4 | Subject: [PATCH] disable Omaha update check support 5 | 6 | --- 7 | .../java/src/org/chromium/chrome/browser/omaha/OmahaBase.java | 2 +- 8 | .../org/chromium/chrome/browser/omaha/VersionNumberGetter.java | 2 +- 9 | 2 files changed, 2 insertions(+), 2 deletions(-) 10 | 11 | diff --git a/chrome/android/java/src/org/chromium/chrome/browser/omaha/OmahaBase.java b/chrome/android/java/src/org/chromium/chrome/browser/omaha/OmahaBase.java 12 | index 59a120e1735c4..ae07a40e33b41 100644 13 | --- a/chrome/android/java/src/org/chromium/chrome/browser/omaha/OmahaBase.java 14 | +++ b/chrome/android/java/src/org/chromium/chrome/browser/omaha/OmahaBase.java 15 | @@ -160,7 +160,7 @@ public class OmahaBase { 16 | 17 | /** See {@link #sIsDisabled}. */ 18 | static boolean isDisabled() { 19 | - return sIsDisabled; 20 | + return true; 21 | } 22 | 23 | /** 24 | diff --git a/chrome/android/java/src/org/chromium/chrome/browser/omaha/VersionNumberGetter.java b/chrome/android/java/src/org/chromium/chrome/browser/omaha/VersionNumberGetter.java 25 | index 7c36388ac7a3a..f28c4d6bc70c7 100644 26 | --- a/chrome/android/java/src/org/chromium/chrome/browser/omaha/VersionNumberGetter.java 27 | +++ b/chrome/android/java/src/org/chromium/chrome/browser/omaha/VersionNumberGetter.java 28 | @@ -48,7 +48,7 @@ public class VersionNumberGetter { 29 | private static VersionNumberGetter sInstanceForTests; 30 | 31 | /** If false, OmahaClient will never report that a newer version is available. */ 32 | - private static boolean sEnableUpdateDetection = true; 33 | + private static boolean sEnableUpdateDetection = false; 34 | 35 | protected VersionNumberGetter() { } 36 | 37 | -------------------------------------------------------------------------------- /patches/0001-Vanadium/0061-disable-GaiaAuthFetcher-code-due-to-upstream-bug.patch: -------------------------------------------------------------------------------- 1 | From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 2 | From: Daniel Micay 3 | Date: Thu, 19 Nov 2020 07:59:29 -0500 4 | Subject: [PATCH] disable GaiaAuthFetcher code due to upstream bug 5 | 6 | https://bugs.chromium.org/p/chromium/issues/detail?id=1150817 7 | --- 8 | google_apis/gaia/gaia_auth_fetcher.cc | 4 ++++ 9 | 1 file changed, 4 insertions(+) 10 | 11 | diff --git a/google_apis/gaia/gaia_auth_fetcher.cc b/google_apis/gaia/gaia_auth_fetcher.cc 12 | index 8ec8028928814..d3e50f45673c9 100644 13 | --- a/google_apis/gaia/gaia_auth_fetcher.cc 14 | +++ b/google_apis/gaia/gaia_auth_fetcher.cc 15 | @@ -40,7 +40,9 @@ 16 | 17 | namespace { 18 | 19 | +#if 0 20 | const size_t kMaxMessageSize = 1024 * 1024; // 1MB 21 | +#endif 22 | 23 | constexpr char kBadAuthenticationError[] = "BadAuthentication"; 24 | constexpr char kBadAuthenticationShortError[] = "badauth"; 25 | @@ -289,6 +291,7 @@ void GaiaAuthFetcher::CreateAndStartGaiaFetcher( 26 | const net::NetworkTrafficAnnotationTag& traffic_annotation) { 27 | DCHECK(!fetch_pending_) << "Tried to fetch two things at once!"; 28 | 29 | +#if 0 30 | auto resource_request = std::make_unique(); 31 | resource_request->url = gaia_gurl; 32 | original_url_ = gaia_gurl; 33 | @@ -346,6 +349,7 @@ void GaiaAuthFetcher::CreateAndStartGaiaFetcher( 34 | base::BindOnce(&GaiaAuthFetcher::OnURLLoadComplete, 35 | base::Unretained(this)), 36 | kMaxMessageSize); 37 | +#endif 38 | } 39 | 40 | // static 41 | -------------------------------------------------------------------------------- /patches/0001-Vanadium/0062-remove-safety-check-menu.patch: -------------------------------------------------------------------------------- 1 | From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 2 | From: Daniel Micay 3 | Date: Tue, 25 May 2021 16:43:39 -0400 4 | Subject: [PATCH] remove safety check menu 5 | 6 | --- 7 | .../src/org/chromium/chrome/browser/settings/MainSettings.java | 2 ++ 8 | 1 file changed, 2 insertions(+) 9 | 10 | diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/MainSettings.java b/chrome/android/java/src/org/chromium/chrome/browser/settings/MainSettings.java 11 | index 2a107a4c2923b..a307531a36c39 100644 12 | --- a/chrome/android/java/src/org/chromium/chrome/browser/settings/MainSettings.java 13 | +++ b/chrome/android/java/src/org/chromium/chrome/browser/settings/MainSettings.java 14 | @@ -209,6 +209,8 @@ public class MainSettings extends PreferenceFragmentCompat 15 | TemplateUrlServiceFactory.get().load(); 16 | } 17 | 18 | + getPreferenceScreen().removePreference(findPreference(PREF_SAFETY_CHECK)); 19 | + 20 | new AdaptiveToolbarStatePredictor(null).recomputeUiState(uiState -> { 21 | // We don't show the toolbar shortcut settings page if disabled from finch. 22 | if (uiState.canShowUi) return; 23 | -------------------------------------------------------------------------------- /patches/0001-Vanadium/0063-disable-unused-password-check-feature.patch: -------------------------------------------------------------------------------- 1 | From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 2 | From: Daniel Micay 3 | Date: Thu, 15 Apr 2021 11:33:17 -0400 4 | Subject: [PATCH] disable unused password check feature 5 | 6 | --- 7 | .../chrome/browser/password_check/PasswordCheckFactory.java | 5 +---- 8 | 1 file changed, 1 insertion(+), 4 deletions(-) 9 | 10 | diff --git a/chrome/browser/password_check/android/internal/java/src/org/chromium/chrome/browser/password_check/PasswordCheckFactory.java b/chrome/browser/password_check/android/internal/java/src/org/chromium/chrome/browser/password_check/PasswordCheckFactory.java 11 | index 8ecc1304ff4db..8549bc553a366 100644 12 | --- a/chrome/browser/password_check/android/internal/java/src/org/chromium/chrome/browser/password_check/PasswordCheckFactory.java 13 | +++ b/chrome/browser/password_check/android/internal/java/src/org/chromium/chrome/browser/password_check/PasswordCheckFactory.java 14 | @@ -24,10 +24,7 @@ public class PasswordCheckFactory { 15 | * @return A {@link PasswordCheckImpl} or null if the feature is disabled. 16 | */ 17 | public static @Nullable PasswordCheck getOrCreate(SettingsLauncher settingsLauncher) { 18 | - if (sPasswordCheck == null) { 19 | - sPasswordCheck = new PasswordCheckImpl(settingsLauncher); 20 | - } 21 | - return sPasswordCheck; 22 | + return null; 23 | } 24 | 25 | /** 26 | -------------------------------------------------------------------------------- /patches/0001-Vanadium/0065-Move-search-suggestions-back-to-privacy-section.patch: -------------------------------------------------------------------------------- 1 | From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 2 | From: fgei 3 | Date: Fri, 20 Aug 2021 16:13:42 +0000 4 | Subject: [PATCH] Move search suggestions back to privacy section. 5 | 6 | --- 7 | .../java/res/xml/privacy_preferences.xml | 5 +++++ 8 | .../privacy/settings/PrivacySettings.java | 18 +++++++++++++++++- 9 | 2 files changed, 22 insertions(+), 1 deletion(-) 10 | 11 | diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/android/java/res/xml/privacy_preferences.xml 12 | index c12fc12a5f7a0..27459447b482d 100644 13 | --- a/chrome/android/java/res/xml/privacy_preferences.xml 14 | +++ b/chrome/android/java/res/xml/privacy_preferences.xml 15 | @@ -25,6 +25,11 @@ 16 | android:key="https_first_mode" 17 | android:title="@string/settings_https_first_mode_title" 18 | android:summary="@string/settings_https_first_mode_summary"/> 19 | + 24 | 3 | Date: Wed, 4 Aug 2021 03:29:04 -0400 4 | Subject: [PATCH] disable trials of privacy-aware analytics/advertising APIs 5 | 6 | --- 7 | components/privacy_sandbox/privacy_sandbox_prefs.cc | 2 +- 8 | 1 file changed, 1 insertion(+), 1 deletion(-) 9 | 10 | diff --git a/components/privacy_sandbox/privacy_sandbox_prefs.cc b/components/privacy_sandbox/privacy_sandbox_prefs.cc 11 | index da5327e1432e1..16be916ad6e4e 100644 12 | --- a/components/privacy_sandbox/privacy_sandbox_prefs.cc 13 | +++ b/components/privacy_sandbox/privacy_sandbox_prefs.cc 14 | @@ -66,7 +66,7 @@ namespace privacy_sandbox { 15 | 16 | void RegisterProfilePrefs(PrefRegistrySimple* registry) { 17 | registry->RegisterBooleanPref( 18 | - prefs::kPrivacySandboxApisEnabled, true, 19 | + prefs::kPrivacySandboxApisEnabled, false, 20 | user_prefs::PrefRegistrySyncable::SYNCABLE_PREF); 21 | registry->RegisterBooleanPref(prefs::kPrivacySandboxApisEnabledV2, false); 22 | registry->RegisterBooleanPref( 23 | -------------------------------------------------------------------------------- /patches/0001-Vanadium/0068-remove-unwanted-sync-and-services-link.patch: -------------------------------------------------------------------------------- 1 | From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 2 | From: Daniel Micay 3 | Date: Sat, 7 Aug 2021 15:01:54 -0400 4 | Subject: [PATCH] remove unwanted sync and services link 5 | 6 | --- 7 | .../chrome/browser/privacy/settings/PrivacySettings.java | 3 +-- 8 | 1 file changed, 1 insertion(+), 2 deletions(-) 9 | 10 | diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java 11 | index 7961d9ef2e708..b523c7ce4d251 100644 12 | --- a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java 13 | +++ b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java 14 | @@ -133,8 +133,7 @@ public class PrivacySettings 15 | Preference secureDnsPref = findPreference(PREF_SECURE_DNS); 16 | secureDnsPref.setVisible(SecureDnsSettings.isUiEnabled()); 17 | 18 | - Preference syncAndServicesLink = findPreference(PREF_SYNC_AND_SERVICES_LINK); 19 | - syncAndServicesLink.setSummary(buildSyncAndServicesLink()); 20 | + getPreferenceScreen().removePreference(findPreference(PREF_SYNC_AND_SERVICES_LINK)); 21 | 22 | updatePreferences(); 23 | } 24 | -------------------------------------------------------------------------------- /patches/0001-Vanadium/0069-remove-unwanted-account-and-services-section.patch: -------------------------------------------------------------------------------- 1 | From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 2 | From: fgei 3 | Date: Fri, 20 Aug 2021 16:13:42 +0000 4 | Subject: [PATCH] remove unwanted account and services section 5 | 6 | --- 7 | .../src/org/chromium/chrome/browser/settings/MainSettings.java | 2 ++ 8 | 1 file changed, 2 insertions(+) 9 | 10 | diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/MainSettings.java b/chrome/android/java/src/org/chromium/chrome/browser/settings/MainSettings.java 11 | index a307531a36c39..85a2bdbf5c7ed 100644 12 | --- a/chrome/android/java/src/org/chromium/chrome/browser/settings/MainSettings.java 13 | +++ b/chrome/android/java/src/org/chromium/chrome/browser/settings/MainSettings.java 14 | @@ -210,6 +210,8 @@ public class MainSettings extends PreferenceFragmentCompat 15 | } 16 | 17 | getPreferenceScreen().removePreference(findPreference(PREF_SAFETY_CHECK)); 18 | + getPreferenceScreen().removePreference(findPreference(PREF_ACCOUNT_AND_GOOGLE_SERVICES_SECTION)); 19 | + getPreferenceScreen().removePreference(findPreference(PREF_GOOGLE_SERVICES)); 20 | 21 | new AdaptiveToolbarStatePredictor(null).recomputeUiState(uiState -> { 22 | // We don't show the toolbar shortcut settings page if disabled from finch. 23 | -------------------------------------------------------------------------------- /patches/0001-Vanadium/0070-Hide-Sign-In-preference-when-disallowed.patch: -------------------------------------------------------------------------------- 1 | From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 2 | From: fgei 3 | Date: Sun, 29 Aug 2021 19:31:00 +0000 4 | Subject: [PATCH] Hide Sign In preference when disallowed 5 | 6 | --- 7 | .../chromium/chrome/browser/sync/settings/SignInPreference.java | 1 + 8 | 1 file changed, 1 insertion(+) 9 | 10 | diff --git a/chrome/android/java/src/org/chromium/chrome/browser/sync/settings/SignInPreference.java b/chrome/android/java/src/org/chromium/chrome/browser/sync/settings/SignInPreference.java 11 | index 789f32a507419..0dd4e8ba6cb74 100644 12 | --- a/chrome/android/java/src/org/chromium/chrome/browser/sync/settings/SignInPreference.java 13 | +++ b/chrome/android/java/src/org/chromium/chrome/browser/sync/settings/SignInPreference.java 14 | @@ -149,6 +149,7 @@ public class SignInPreference 15 | } 16 | 17 | private void setupSigninDisallowed() { 18 | + setViewEnabled(false); 19 | mWasGenericSigninPromoDisplayed = false; 20 | } 21 | 22 | -------------------------------------------------------------------------------- /patches/0001-Vanadium/0071-disable-using-Play-services-fonts.patch: -------------------------------------------------------------------------------- 1 | From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 2 | From: Daniel Micay 3 | Date: Wed, 1 Sep 2021 02:09:14 -0400 4 | Subject: [PATCH] disable using Play services fonts 5 | 6 | --- 7 | .../chromium/content/browser/font/AndroidFontLookupImpl.java | 2 +- 8 | 1 file changed, 1 insertion(+), 1 deletion(-) 9 | 10 | diff --git a/content/public/android/java/src/org/chromium/content/browser/font/AndroidFontLookupImpl.java b/content/public/android/java/src/org/chromium/content/browser/font/AndroidFontLookupImpl.java 11 | index 7fab56c234fae..286ca6d6bf666 100644 12 | --- a/content/public/android/java/src/org/chromium/content/browser/font/AndroidFontLookupImpl.java 13 | +++ b/content/public/android/java/src/org/chromium/content/browser/font/AndroidFontLookupImpl.java 14 | @@ -221,7 +221,7 @@ public class AndroidFontLookupImpl implements AndroidFontLookup { 15 | * @param fontUniqueName The ICU case folded unique full font name to fetch. 16 | */ 17 | private ReadOnlyFile fetchFontInBackground(String fontUniqueName, Core core) { 18 | - ParcelFileDescriptor fileDescriptor = tryFetchFont(fontUniqueName); 19 | + ParcelFileDescriptor fileDescriptor = null; 20 | if (fileDescriptor == null) { 21 | // Avoid re-requesting this font in future. 22 | mExpectedFonts.remove(fontUniqueName); 23 | -------------------------------------------------------------------------------- /patches/0001-Vanadium/0072-Remove-privacy-trials-preference-UI.patch: -------------------------------------------------------------------------------- 1 | From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 2 | From: fgei 3 | Date: Fri, 15 Oct 2021 13:49:33 +0000 4 | Subject: [PATCH] Remove privacy trials preference UI 5 | 6 | --- 7 | .../chrome/browser/privacy/settings/PrivacySettings.java | 2 ++ 8 | 1 file changed, 2 insertions(+) 9 | 10 | diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java 11 | index b523c7ce4d251..0f151888bd45f 100644 12 | --- a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java 13 | +++ b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java 14 | @@ -99,6 +99,8 @@ public class PrivacySettings 15 | mIncognitoLockSettings = new IncognitoLockSettings(incognitoReauthPreference); 16 | mIncognitoLockSettings.setUpIncognitoReauthPreference(getActivity()); 17 | 18 | + getPreferenceScreen().removePreference(findPreference(PREF_PRIVACY_SANDBOX)); 19 | + 20 | Preference safeBrowsingPreference = findPreference(PREF_SAFE_BROWSING); 21 | safeBrowsingPreference.setSummary( 22 | SafeBrowsingSettingsFragment.getSafeBrowsingSummaryString(getContext())); 23 | -------------------------------------------------------------------------------- /patches/0001-Vanadium/0073-use-Google-Chrome-branding-for-client-hints.patch: -------------------------------------------------------------------------------- 1 | From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 2 | From: Zoraver Kang 3 | Date: Sun, 10 Oct 2021 21:59:16 -0400 4 | Subject: [PATCH] use Google Chrome branding for client hints 5 | 6 | --- 7 | components/embedder_support/user_agent_utils.cc | 1 + 8 | 1 file changed, 1 insertion(+) 9 | 10 | diff --git a/components/embedder_support/user_agent_utils.cc b/components/embedder_support/user_agent_utils.cc 11 | index 97ddfb060d5ab..82be94c9ed305 100644 12 | --- a/components/embedder_support/user_agent_utils.cc 13 | +++ b/components/embedder_support/user_agent_utils.cc 14 | @@ -265,6 +265,7 @@ const blink::UserAgentBrandList GetUserAgentBrandList( 15 | bool parse_result = base::StringToInt(major_version, &major_version_number); 16 | DCHECK(parse_result); 17 | absl::optional brand; 18 | + brand = "Google Chrome"; 19 | #if !BUILDFLAG(CHROMIUM_BRANDING) 20 | brand = version_info::GetProductName(); 21 | #endif 22 | -------------------------------------------------------------------------------- /patches/0001-Vanadium/0074-Make-HTTPS-only-mode-the-default.patch: -------------------------------------------------------------------------------- 1 | From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 2 | From: qua3k 3 | Date: Mon, 18 Oct 2021 17:18:52 -0400 4 | Subject: [PATCH] Make HTTPS-only mode the default 5 | 6 | --- 7 | chrome/browser/ui/browser_ui_prefs.cc | 2 +- 8 | 1 file changed, 1 insertion(+), 1 deletion(-) 9 | 10 | diff --git a/chrome/browser/ui/browser_ui_prefs.cc b/chrome/browser/ui/browser_ui_prefs.cc 11 | index 586e73f3fc1ed..1e75dde67f098 100644 12 | --- a/chrome/browser/ui/browser_ui_prefs.cc 13 | +++ b/chrome/browser/ui/browser_ui_prefs.cc 14 | @@ -163,6 +163,6 @@ void RegisterBrowserUserPrefs(user_prefs::PrefRegistrySyncable* registry) { 15 | #endif 16 | 17 | registry->RegisterBooleanPref( 18 | - prefs::kHttpsOnlyModeEnabled, false, 19 | + prefs::kHttpsOnlyModeEnabled, true, 20 | user_prefs::PrefRegistrySyncable::SYNCABLE_PREF); 21 | } 22 | -------------------------------------------------------------------------------- /patches/0001-Vanadium/0075-Enable-strict-origin-isolation-by-default.patch: -------------------------------------------------------------------------------- 1 | From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 2 | From: qua3k 3 | Date: Thu, 21 Oct 2021 00:00:00 +0000 4 | Subject: [PATCH] Enable strict origin isolation by default 5 | 6 | Upstream is in the process of enabling origin isolation by default 7 | in the process of deprecating `document.domain`. An insignificant 8 | number of Chrome page loads use `document.domain`. 9 | 10 | See https://crbug.com/1259920 and 11 | https://chromestatus.com/metrics/feature/timeline/popularity/2544 12 | for more detail. 13 | --- 14 | content/public/common/content_features.cc | 2 +- 15 | 1 file changed, 1 insertion(+), 1 deletion(-) 16 | 17 | diff --git a/content/public/common/content_features.cc b/content/public/common/content_features.cc 18 | index 1d8a6de095914..25dd53415eb74 100644 19 | --- a/content/public/common/content_features.cc 20 | +++ b/content/public/common/content_features.cc 21 | @@ -988,7 +988,7 @@ const base::Feature kStopVideoCaptureOnScreenLock{ 22 | // Controls whether site isolation should use origins instead of scheme and 23 | // eTLD+1. 24 | const base::Feature kStrictOriginIsolation{"StrictOriginIsolation", 25 | - base::FEATURE_DISABLED_BY_DEFAULT}; 26 | + base::FEATURE_ENABLED_BY_DEFAULT}; 27 | 28 | // Enables subresource loading with Web Bundles. 29 | const base::Feature kSubresourceWebBundles{"SubresourceWebBundles", 30 | -------------------------------------------------------------------------------- /patches/0001-Vanadium/0076-disable-appending-variations-header.patch: -------------------------------------------------------------------------------- 1 | From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 2 | From: Zoraver Kang 3 | Date: Sat, 15 Jan 2022 13:34:33 -0500 4 | Subject: [PATCH] disable appending variations header 5 | 6 | --- 7 | components/variations/net/variations_http_headers.cc | 5 +---- 8 | 1 file changed, 1 insertion(+), 4 deletions(-) 9 | 10 | diff --git a/components/variations/net/variations_http_headers.cc b/components/variations/net/variations_http_headers.cc 11 | index 5da390a2abc0f..9c3fb5c3b902c 100644 12 | --- a/components/variations/net/variations_http_headers.cc 13 | +++ b/components/variations/net/variations_http_headers.cc 14 | @@ -118,10 +118,7 @@ URLValidationResult GetUrlValidationResult(const GURL& url) { 15 | // Also, logs the result of validating |url| in histograms, one of which ends in 16 | // |suffix|. 17 | bool ShouldAppendVariationsHeader(const GURL& url, const std::string& suffix) { 18 | - URLValidationResult result = GetUrlValidationResult(url); 19 | - base::UmaHistogramEnumeration( 20 | - "Variations.Headers.URLValidationResult." + suffix, result); 21 | - return result == URLValidationResult::kShouldAppend; 22 | + return false; 23 | } 24 | 25 | // Returns true if the request is sent from a Google web property, i.e. from a 26 | -------------------------------------------------------------------------------- /patches/0001-Vanadium/0077-Hide-currently-no-op-preload-settings.patch: -------------------------------------------------------------------------------- 1 | From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 2 | From: fgei 3 | Date: Mon, 24 Jan 2022 19:22:26 +0000 4 | Subject: [PATCH] Hide currently no-op preload settings 5 | 6 | --- 7 | .../chrome/browser/privacy/settings/PrivacySettings.java | 5 +++++ 8 | 1 file changed, 5 insertions(+) 9 | 10 | diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java 11 | index 0f151888bd45f..72726870c721c 100644 12 | --- a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java 13 | +++ b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java 14 | @@ -123,6 +123,11 @@ public class PrivacySettings 15 | (ChromeSwitchPreference) findPreference(PREF_CAN_MAKE_PAYMENT); 16 | canMakePaymentPref.setOnPreferenceChangeListener(this); 17 | 18 | + Preference preloadPagesPreference = findPreference(PREF_PRELOAD_PAGES); 19 | + preloadPagesPreference.setSummary( 20 | + PreloadPagesSettingsFragment.getPreloadPagesSummaryString(getContext())); 21 | + getPreferenceScreen().removePreference(preloadPagesPreference); 22 | + 23 | ChromeSwitchPreference httpsFirstModePref = 24 | (ChromeSwitchPreference) findPreference(PREF_HTTPS_FIRST_MODE); 25 | httpsFirstModePref.setVisible( 26 | -------------------------------------------------------------------------------- /patches/0001-Vanadium/0078-Disable-detailed-language-settings-by-default.patch: -------------------------------------------------------------------------------- 1 | From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 2 | From: fgei 3 | Date: Tue, 8 Feb 2022 03:04:20 +0000 4 | Subject: [PATCH] Disable detailed language settings by default 5 | 6 | --- 7 | components/language/core/common/language_experiments.cc | 2 +- 8 | 1 file changed, 1 insertion(+), 1 deletion(-) 9 | 10 | diff --git a/components/language/core/common/language_experiments.cc b/components/language/core/common/language_experiments.cc 11 | index ee1300a93a668..0ba70651af7cc 100644 12 | --- a/components/language/core/common/language_experiments.cc 13 | +++ b/components/language/core/common/language_experiments.cc 14 | @@ -25,7 +25,7 @@ const base::Feature kAppLanguagePromptULP{"AppLanguagePromptULP", 15 | const base::Feature kForceAppLanguagePrompt{"ForceAppLanguagePrompt", 16 | base::FEATURE_DISABLED_BY_DEFAULT}; 17 | const base::Feature kDetailedLanguageSettings{"DetailedLanguageSettings", 18 | - base::FEATURE_ENABLED_BY_DEFAULT}; 19 | + base::FEATURE_DISABLED_BY_DEFAULT}; 20 | const base::Feature kDesktopDetailedLanguageSettings{ 21 | "DesktopDetailedLanguageSettings", base::FEATURE_DISABLED_BY_DEFAULT}; 22 | const base::Feature kTranslateAssistContent{"TranslateAssistContent", 23 | -------------------------------------------------------------------------------- /patches/0001-Vanadium/0079-Disable-keep-prefetched-suggestions-by-default.patch: -------------------------------------------------------------------------------- 1 | From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 2 | From: csagan5 <32685696+csagan5@users.noreply.github.com> 3 | Date: Thu, 12 Oct 2017 08:15:17 +0200 4 | Subject: [PATCH] Disable keep prefetched suggestions by default 5 | 6 | Co-authored-by: uazo 7 | --- 8 | components/ntp_snippets/features.cc | 2 +- 9 | 1 file changed, 1 insertion(+), 1 deletion(-) 10 | 11 | diff --git a/components/ntp_snippets/features.cc b/components/ntp_snippets/features.cc 12 | index 243afdbd79bae..469859bb9991d 100644 13 | --- a/components/ntp_snippets/features.cc 14 | +++ b/components/ntp_snippets/features.cc 15 | @@ -68,7 +68,7 @@ const char kNotificationsDailyLimit[] = "daily_limit"; 16 | const char kNotificationsIgnoredLimitParam[] = "ignored_limit"; 17 | 18 | const base::Feature kKeepPrefetchedContentSuggestions{ 19 | - "KeepPrefetchedContentSuggestions", base::FEATURE_ENABLED_BY_DEFAULT}; 20 | + "KeepPrefetchedContentSuggestions", base::FEATURE_DISABLED_BY_DEFAULT}; 21 | 22 | const base::Feature kOptionalImagesEnabledFeature{ 23 | "NTPRemoteSuggestionsOptionalImages", base::FEATURE_ENABLED_BY_DEFAULT}; 24 | -------------------------------------------------------------------------------- /patches/0001-Vanadium/0080-disable-fetching-optimization-guides-by-default.patch: -------------------------------------------------------------------------------- 1 | From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 2 | From: Daniel Micay 3 | Date: Mon, 25 Apr 2022 06:19:32 -0400 4 | Subject: [PATCH] disable fetching optimization guides by default 5 | 6 | --- 7 | .../optimization_guide/core/optimization_guide_features.cc | 2 +- 8 | 1 file changed, 1 insertion(+), 1 deletion(-) 9 | 10 | diff --git a/components/optimization_guide/core/optimization_guide_features.cc b/components/optimization_guide/core/optimization_guide_features.cc 11 | index ba46261ae098f..f5c973b8fd7d9 100644 12 | --- a/components/optimization_guide/core/optimization_guide_features.cc 13 | +++ b/components/optimization_guide/core/optimization_guide_features.cc 14 | @@ -82,7 +82,7 @@ const base::Feature kOptimizationHints{"OptimizationHints", 15 | 16 | // Enables fetching from a remote Optimization Guide Service. 17 | const base::Feature kRemoteOptimizationGuideFetching{ 18 | - "OptimizationHintsFetching", base::FEATURE_ENABLED_BY_DEFAULT}; 19 | + "OptimizationHintsFetching", base::FEATURE_DISABLED_BY_DEFAULT}; 20 | 21 | const base::Feature kRemoteOptimizationGuideFetchingAnonymousDataConsent{ 22 | "OptimizationHintsFetchingAnonymousDataConsent", 23 | -------------------------------------------------------------------------------- /patches/0001-Vanadium/0082-enable-process-isolated-sandboxed-iframes-by-default.patch: -------------------------------------------------------------------------------- 1 | From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 2 | From: June 3 | Date: Sun, 8 May 2022 01:34:58 +0000 4 | Subject: [PATCH] enable process isolated sandboxed iframes by default 5 | 6 | Signed-off-by: June 7 | --- 8 | content/public/common/content_features.cc | 2 +- 9 | 1 file changed, 1 insertion(+), 1 deletion(-) 10 | 11 | diff --git a/content/public/common/content_features.cc b/content/public/common/content_features.cc 12 | index 25dd53415eb74..bbb4cd173be82 100644 13 | --- a/content/public/common/content_features.cc 14 | +++ b/content/public/common/content_features.cc 15 | @@ -486,7 +486,7 @@ const char kIsolateOriginsFieldTrialParamName[] = "OriginsList"; 16 | // the attribute. Note: At present, only iframes with origin-restricted 17 | // sandboxes are isolated. 18 | const base::Feature kIsolateSandboxedIframes{"IsolateSandboxedIframes", 19 | - base::FEATURE_DISABLED_BY_DEFAULT}; 20 | + base::FEATURE_ENABLED_BY_DEFAULT}; 21 | const base::FeatureParam::Option 22 | isolated_sandboxed_iframes_grouping_types[] = { 23 | {IsolateSandboxedIframesGrouping::kPerSite, "per-site"}, 24 | -------------------------------------------------------------------------------- /patches/0001-Vanadium/0083-Toggle-for-closing-tabs-on-exit.patch: -------------------------------------------------------------------------------- 1 | From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 2 | From: fgei 3 | Date: Fri, 17 Jun 2022 10:15:43 +0000 4 | Subject: [PATCH] Toggle for closing tabs on exit 5 | 6 | --- 7 | .../java/res/xml/privacy_preferences.xml | 5 +++++ 8 | .../chrome/browser/ChromeTabbedActivity.java | 4 +++- 9 | .../privacy/settings/PrivacySettings.java | 18 ++++++++++++++++++ 10 | .../preferences/ChromePreferenceKeys.java | 5 +++++ 11 | .../android/strings/android_chrome_strings.grd | 7 +++++++ 12 | 5 files changed, 38 insertions(+), 1 deletion(-) 13 | 14 | diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/android/java/res/xml/privacy_preferences.xml 15 | index 27459447b482d..52c26cd3f331f 100644 16 | --- a/chrome/android/java/res/xml/privacy_preferences.xml 17 | +++ b/chrome/android/java/res/xml/privacy_preferences.xml 18 | @@ -39,6 +39,11 @@ 19 | android:key="can_make_payment" 20 | android:title="@string/can_make_payment_title" 21 | android:summary="@string/settings_can_make_payment_toggle_label"/> 22 | + 27 | 132 | 133 | + 134 | + Close tabs on exit 135 | + 136 | + 137 | + Don't persist tabs between browsing sessions 138 | + 139 | + 140 | 141 | Clear browsing data 142 | 143 | -------------------------------------------------------------------------------- /patches/0001-Vanadium/0084-Toggle-for-navigating-external-URL-in-incognito.patch: -------------------------------------------------------------------------------- 1 | From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 2 | From: fgei 3 | Date: Sun, 19 Jun 2022 06:39:48 +0000 4 | Subject: [PATCH] Toggle for navigating external URL in incognito 5 | 6 | --- 7 | .../android/java/res/xml/privacy_preferences.xml | 5 +++++ 8 | .../chrome/browser/ChromeTabbedActivity.java | 8 ++++++-- 9 | .../chromium/chrome/browser/IntentHandler.java | 11 +++++++++-- 10 | .../chrome/browser/LaunchIntentDispatcher.java | 7 +++++++ 11 | .../browser/privacy/settings/PrivacySettings.java | 15 +++++++++++++++ 12 | .../browser/preferences/ChromePreferenceKeys.java | 2 ++ 13 | .../ui/android/strings/android_chrome_strings.grd | 7 +++++++ 14 | 7 files changed, 51 insertions(+), 4 deletions(-) 15 | 16 | diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/android/java/res/xml/privacy_preferences.xml 17 | index 52c26cd3f331f..c82e21fda9a80 100644 18 | --- a/chrome/android/java/res/xml/privacy_preferences.xml 19 | +++ b/chrome/android/java/res/xml/privacy_preferences.xml 20 | @@ -49,6 +49,11 @@ 21 | android:title="@string/preload_pages_title" 22 | android:summary="@string/preload_pages_summary" 23 | android:fragment="org.chromium.chrome.browser.prefetch.settings.PreloadPagesSettingsFragment"/> 24 | + 29 | %1$s3 items deleted 184 | 185 | 186 | + 187 | + Open external links in incognito 188 | + 189 | + 190 | + Open links navigated by external apps in incognito tabs 191 | + 192 | + 193 | 194 | 195 | Privacy guide 196 | -------------------------------------------------------------------------------- /patches/0001-Vanadium/0085-Implement-UI-for-WebRTC-toggle.patch: -------------------------------------------------------------------------------- 1 | From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 2 | From: fgei 3 | Date: Thu, 23 Jun 2022 16:38:51 +0000 4 | Subject: [PATCH] Implement UI for WebRTC toggle 5 | 6 | This is based on Brave's implementation for webRTC policy toggle, but reuses 7 | PrivacySettings logic on saving, loading preference values from 8 | PrefService for the said policy. 9 | --- 10 | chrome/android/chrome_java_resources.gni | 2 + 11 | chrome/android/chrome_java_sources.gni | 3 + 12 | .../res/layout/webrtc_policy_preference.xml | 54 +++++++++++ 13 | .../java/res/xml/privacy_preferences.xml | 4 + 14 | .../res/xml/webrtc_policy_preferences.xml | 9 ++ 15 | .../privacy/settings/PrivacySettings.java | 8 ++ 16 | .../settings/WebRtcPolicyPreference.java | 97 +++++++++++++++++++ 17 | .../webrtc/settings/WebRtcPolicySettings.java | 58 +++++++++++ 18 | .../webrtc/settings/WebRtcPolicyUtils.java | 88 +++++++++++++++++ 19 | .../strings/android_chrome_strings.grd | 17 ++++ 20 | 10 files changed, 340 insertions(+) 21 | create mode 100644 chrome/android/java/res/layout/webrtc_policy_preference.xml 22 | create mode 100644 chrome/android/java/res/xml/webrtc_policy_preferences.xml 23 | create mode 100644 chrome/android/java/src/org/chromium/chrome/browser/webrtc/settings/WebRtcPolicyPreference.java 24 | create mode 100644 chrome/android/java/src/org/chromium/chrome/browser/webrtc/settings/WebRtcPolicySettings.java 25 | create mode 100644 chrome/android/java/src/org/chromium/chrome/browser/webrtc/settings/WebRtcPolicyUtils.java 26 | 27 | diff --git a/chrome/android/chrome_java_resources.gni b/chrome/android/chrome_java_resources.gni 28 | index e550f100baa85..fce1ec2480688 100644 29 | --- a/chrome/android/chrome_java_resources.gni 30 | +++ b/chrome/android/chrome_java_resources.gni 31 | @@ -615,6 +615,7 @@ chrome_java_resources = [ 32 | "java/res/layout/virtual_card_enrollment_dialog.xml", 33 | "java/res/layout/webapk_icon_name_update_dialog.xml", 34 | "java/res/layout/webapk_update_report_abuse_custom_view.xml", 35 | + "java/res/layout/webrtc_policy_preference.xml", 36 | "java/res/menu/bookmark_action_bar_menu.xml", 37 | "java/res/menu/custom_tabs_menu.xml", 38 | "java/res/menu/history_manager_menu.xml", 39 | @@ -670,4 +671,5 @@ chrome_java_resources = [ 40 | "java/res/xml/privacy_preferences.xml", 41 | "java/res/xml/search_widget_info.xml", 42 | "java/res/xml/tracing_preferences.xml", 43 | + "java/res/xml/webrtc_policy_preferences.xml", 44 | ] 45 | diff --git a/chrome/android/chrome_java_sources.gni b/chrome/android/chrome_java_sources.gni 46 | index ef7662c465e3b..b65039403024d 100644 47 | --- a/chrome/android/chrome_java_sources.gni 48 | +++ b/chrome/android/chrome_java_sources.gni 49 | @@ -1224,5 +1224,8 @@ chrome_java_sources = [ 50 | "java/src/org/chromium/chrome/browser/webapps/launchpad/LaunchpadUtils.java", 51 | "java/src/org/chromium/chrome/browser/webauth/authenticator/CableAuthenticatorActivity.java", 52 | "java/src/org/chromium/chrome/browser/webauth/authenticator/CableAuthenticatorUSBActivity.java", 53 | + "java/src/org/chromium/chrome/browser/webrtc/settings/WebRtcPolicyPreference.java", 54 | + "java/src/org/chromium/chrome/browser/webrtc/settings/WebRtcPolicySettings.java", 55 | + "java/src/org/chromium/chrome/browser/webrtc/settings/WebRtcPolicyUtils.java", 56 | "java/src/org/chromium/chrome/browser/webshare/ShareServiceImplementationFactory.java", 57 | ] 58 | diff --git a/chrome/android/java/res/layout/webrtc_policy_preference.xml b/chrome/android/java/res/layout/webrtc_policy_preference.xml 59 | new file mode 100644 60 | index 0000000000000..8addab2ecf1e1 61 | --- /dev/null 62 | +++ b/chrome/android/java/res/layout/webrtc_policy_preference.xml 63 | @@ -0,0 +1,54 @@ 64 | + 65 | + 68 | + 69 | + 76 | + 77 | + 81 | + 82 | + 87 | + 88 | + 96 | + 97 | + 105 | + 106 | + 114 | + 115 | + 116 | + 117 | + 118 | diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/android/java/res/xml/privacy_preferences.xml 119 | index c82e21fda9a80..d70d17d77a441 100644 120 | --- a/chrome/android/java/res/xml/privacy_preferences.xml 121 | +++ b/chrome/android/java/res/xml/privacy_preferences.xml 122 | @@ -62,6 +62,10 @@ 123 | android:key="secure_dns" 124 | android:title="@string/settings_secure_dns_title" 125 | android:fragment="org.chromium.chrome.browser.privacy.secure_dns.SecureDnsSettings"/> 126 | + 130 | 140 | + 143 | + 144 | + 145 | + 147 | + 148 | diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java 149 | index cfe77891019dd..06ac7131eab97 100644 150 | --- a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java 151 | +++ b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java 152 | @@ -39,6 +39,7 @@ import org.chromium.chrome.browser.signin.services.IdentityServicesProvider; 153 | import org.chromium.chrome.browser.sync.settings.GoogleServicesSettings; 154 | import org.chromium.chrome.browser.sync.settings.ManageSyncSettings; 155 | import org.chromium.chrome.browser.usage_stats.UsageStatsConsentDialog; 156 | +import org.chromium.chrome.browser.webrtc.settings.WebRtcPolicySettings; 157 | import org.chromium.components.browser_ui.settings.ChromeSwitchPreference; 158 | import org.chromium.components.browser_ui.settings.ManagedPreferenceDelegate; 159 | import org.chromium.components.browser_ui.settings.SettingsLauncher; 160 | @@ -67,6 +68,7 @@ public class PrivacySettings 161 | private static final String PREF_PRIVACY_SANDBOX = "privacy_sandbox"; 162 | private static final String PREF_PRIVACY_GUIDE = "privacy_guide"; 163 | private static final String PREF_INCOGNITO_LOCK = "incognito_lock"; 164 | + private static final String PREF_WEBRTC_POLICY = "webrtc_policy"; 165 | 166 | private ManagedPreferenceDelegate mManagedPreferenceDelegate; 167 | private IncognitoLockSettings mIncognitoLockSettings; 168 | @@ -261,6 +263,12 @@ public class PrivacySettings 169 | secureDnsPref.setSummary(SecureDnsSettings.getSummary(getContext())); 170 | } 171 | 172 | + Preference webRtcPolicyPreference = findPreference(PREF_WEBRTC_POLICY); 173 | + if (webRtcPolicyPreference != null) { 174 | + webRtcPolicyPreference.setSummary( 175 | + WebRtcPolicySettings.getWebRtcPolicySummaryString(getContext())); 176 | + } 177 | + 178 | Preference safeBrowsingPreference = findPreference(PREF_SAFE_BROWSING); 179 | if (safeBrowsingPreference != null && safeBrowsingPreference.isVisible()) { 180 | safeBrowsingPreference.setSummary( 181 | diff --git a/chrome/android/java/src/org/chromium/chrome/browser/webrtc/settings/WebRtcPolicyPreference.java b/chrome/android/java/src/org/chromium/chrome/browser/webrtc/settings/WebRtcPolicyPreference.java 182 | new file mode 100644 183 | index 0000000000000..2026f9461b632 184 | --- /dev/null 185 | +++ b/chrome/android/java/src/org/chromium/chrome/browser/webrtc/settings/WebRtcPolicyPreference.java 186 | @@ -0,0 +1,97 @@ 187 | +/* Copyright (c) 2021 The Brave Authors. All rights reserved. 188 | + * This Source Code Form is subject to the terms of the Mozilla Public 189 | + * License, v. 2.0. If a copy of the MPL was not distributed with this file, 190 | + * You can obtain one at http://mozilla.org/MPL/2.0/. */ 191 | + 192 | +package org.chromium.chrome.browser.webrtc.settings; 193 | + 194 | +import android.annotation.SuppressLint; 195 | +import android.content.Context; 196 | +import android.content.Intent; 197 | +import android.net.Uri; 198 | +import android.provider.Browser; 199 | +import android.util.AttributeSet; 200 | +import android.view.View; 201 | +import android.widget.RadioGroup; 202 | +import android.widget.TextView; 203 | + 204 | +import androidx.annotation.IntDef; 205 | +import androidx.preference.Preference; 206 | +import androidx.preference.PreferenceViewHolder; 207 | + 208 | +import org.chromium.chrome.R; 209 | +import org.chromium.components.browser_ui.widget.RadioButtonWithDescription; 210 | +import org.chromium.components.browser_ui.widget.RadioButtonWithDescriptionLayout; 211 | + 212 | +import java.util.ArrayList; 213 | +import java.util.Collections; 214 | + 215 | +public class WebRtcPolicyPreference 216 | + extends Preference implements RadioGroup.OnCheckedChangeListener { 217 | + @IntDef({WebRtcPolicy.DEFAULT, WebRtcPolicy.DEFAULT_PUBLIC_AND_PRIVATE_INTERFACES, 218 | + WebRtcPolicy.DEFAULT_PUBLIC_INTERFACE_ONLY, WebRtcPolicy.DISABLE_NON_PROXIED_UDP}) 219 | + public @interface WebRtcPolicy { 220 | + int DEFAULT = 0; 221 | + int DEFAULT_PUBLIC_AND_PRIVATE_INTERFACES = 1; 222 | + int DEFAULT_PUBLIC_INTERFACE_ONLY = 2; 223 | + int DISABLE_NON_PROXIED_UDP = 3; 224 | + 225 | + int NUM_ENTRIES = 4; 226 | + } 227 | + 228 | + private @WebRtcPolicy int mSetting; 229 | + private RadioButtonWithDescription mSettingRadioButton; 230 | + private RadioButtonWithDescriptionLayout mGroup; 231 | + private ArrayList mButtons; 232 | + 233 | + @SuppressLint("WrongConstant") 234 | + public WebRtcPolicyPreference(Context context, AttributeSet attrs) { 235 | + super(context, attrs); 236 | + 237 | + setLayoutResource(R.layout.webrtc_policy_preference); 238 | + 239 | + mButtons = new ArrayList<>(Collections.nCopies(WebRtcPolicy.NUM_ENTRIES, null)); 240 | + } 241 | + 242 | + public void initialize(@WebRtcPolicy int policy) { 243 | + mSetting = policy; 244 | + } 245 | + 246 | + @Override 247 | + public void onBindViewHolder(PreferenceViewHolder holder) { 248 | + super.onBindViewHolder(holder); 249 | + 250 | + mGroup = (RadioButtonWithDescriptionLayout) holder.findViewById(R.id.radio_button_layout); 251 | + mGroup.setOnCheckedChangeListener(this); 252 | + 253 | + mButtons.set(WebRtcPolicy.DEFAULT, 254 | + (RadioButtonWithDescription) holder.findViewById(R.id.webrtc_policy_default)); 255 | + mButtons.set(WebRtcPolicy.DEFAULT_PUBLIC_AND_PRIVATE_INTERFACES, 256 | + (RadioButtonWithDescription) holder.findViewById( 257 | + R.id.webrtc_policy_default_public_and_private_interfaces)); 258 | + mButtons.set(WebRtcPolicy.DEFAULT_PUBLIC_INTERFACE_ONLY, 259 | + (RadioButtonWithDescription) holder.findViewById( 260 | + R.id.webrtc_policy_default_public_interface_only)); 261 | + mButtons.set(WebRtcPolicy.DISABLE_NON_PROXIED_UDP, 262 | + (RadioButtonWithDescription) holder.findViewById( 263 | + R.id.webrtc_policy_disable_non_proxied_udp)); 264 | + 265 | + mSettingRadioButton = mButtons.get(mSetting); 266 | + mSettingRadioButton.setChecked(true); 267 | + } 268 | + 269 | + @Override 270 | + @SuppressLint("WrongConstant") 271 | + public void onCheckedChanged(RadioGroup group, int checkedId) { 272 | + for (int i = 0; i < WebRtcPolicy.NUM_ENTRIES; i++) { 273 | + if (mButtons.get(i).isChecked()) { 274 | + mSetting = i; 275 | + mSettingRadioButton = mButtons.get(i); 276 | + break; 277 | + } 278 | + } 279 | + assert mSetting >= 0 && mSetting < WebRtcPolicy.NUM_ENTRIES : "No matching setting found."; 280 | + 281 | + callChangeListener(mSetting); 282 | + } 283 | +} 284 | diff --git a/chrome/android/java/src/org/chromium/chrome/browser/webrtc/settings/WebRtcPolicySettings.java b/chrome/android/java/src/org/chromium/chrome/browser/webrtc/settings/WebRtcPolicySettings.java 285 | new file mode 100644 286 | index 0000000000000..5ee1893382254 287 | --- /dev/null 288 | +++ b/chrome/android/java/src/org/chromium/chrome/browser/webrtc/settings/WebRtcPolicySettings.java 289 | @@ -0,0 +1,58 @@ 290 | +/* Copyright (c) 2021 The Brave Authors. All rights reserved. 291 | + * This Source Code Form is subject to the terms of the Mozilla Public 292 | + * License, v. 2.0. If a copy of the MPL was not distributed with this file, 293 | + * You can obtain one at http://mozilla.org/MPL/2.0/. */ 294 | + 295 | +package org.chromium.chrome.browser.webrtc.settings; 296 | + 297 | +import android.content.Context; 298 | +import android.content.Intent; 299 | +import android.net.Uri; 300 | +import android.os.Build; 301 | +import android.os.Bundle; 302 | +import android.provider.Browser; 303 | +import android.view.Menu; 304 | +import android.view.MenuInflater; 305 | +import android.view.MenuItem; 306 | + 307 | +import androidx.annotation.Nullable; 308 | +import androidx.preference.PreferenceFragmentCompat; 309 | + 310 | +import org.chromium.chrome.R; 311 | +import org.chromium.components.browser_ui.settings.SettingsUtils; 312 | +import org.chromium.ui.UiUtils; 313 | + 314 | +public class WebRtcPolicySettings extends PreferenceFragmentCompat { 315 | + static final String PREF_WEBRTC_POLICY = "webrtc_policy"; 316 | + 317 | + @Override 318 | + public void onCreatePreferences(@Nullable Bundle savedInstanceState, String rootKey) { 319 | + SettingsUtils.addPreferencesFromResource(this, R.xml.webrtc_policy_preferences); 320 | + getActivity().setTitle(R.string.webrtc_policy_title); 321 | + 322 | + WebRtcPolicyPreference webRtcPolicyPreference = 323 | + (WebRtcPolicyPreference) findPreference(PREF_WEBRTC_POLICY); 324 | + webRtcPolicyPreference.initialize(WebRtcPolicyUtils.getPolicy()); 325 | + 326 | + webRtcPolicyPreference.setOnPreferenceChangeListener((preference, newValue) -> { 327 | + WebRtcPolicyUtils.setPolicy((int) newValue); 328 | + return true; 329 | + }); 330 | + } 331 | + 332 | + public static String getWebRtcPolicySummaryString(Context context) { 333 | + return WebRtcPolicyUtils.getSummary(context); 334 | + } 335 | + 336 | + @Override 337 | + public void onActivityCreated(Bundle savedInstanceState) { 338 | + super.onActivityCreated(savedInstanceState); 339 | + 340 | + if (Build.VERSION.SDK_INT == Build.VERSION_CODES.O_MR1) { 341 | + UiUtils.setNavigationBarIconColor(getActivity().getWindow().getDecorView(), 342 | + getResources().getBoolean(R.bool.window_light_navigation_bar)); 343 | + } 344 | + 345 | + setDivider(null); 346 | + } 347 | +} 348 | diff --git a/chrome/android/java/src/org/chromium/chrome/browser/webrtc/settings/WebRtcPolicyUtils.java b/chrome/android/java/src/org/chromium/chrome/browser/webrtc/settings/WebRtcPolicyUtils.java 349 | new file mode 100644 350 | index 0000000000000..5fefabd83a821 351 | --- /dev/null 352 | +++ b/chrome/android/java/src/org/chromium/chrome/browser/webrtc/settings/WebRtcPolicyUtils.java 353 | @@ -0,0 +1,88 @@ 354 | +package org.chromium.chrome.browser.webrtc.settings; 355 | + 356 | +import android.content.Context; 357 | + 358 | +import org.chromium.chrome.R; 359 | +import org.chromium.chrome.browser.preferences.Pref; 360 | +import org.chromium.chrome.browser.profiles.Profile; 361 | +import org.chromium.chrome.browser.webrtc.settings.WebRtcPolicyPreference.WebRtcPolicy; 362 | +import org.chromium.components.user_prefs.UserPrefs; 363 | + 364 | +/** 365 | + * Utility class for fetching and converting native pref value for WebRTC 366 | + * policy to Java int equivalent and its corresponding description. 367 | + */ 368 | +class WebRtcPolicyUtils { 369 | + // Pref values mirrored in Java, copied from 370 | + // third_party/blink/common/peerconnection/webrtc_ip_handling_policy.cc 371 | + private static final String WEBRTC_DEFAULT = "default"; 372 | + private static final String WEBRTC_DEFAULT_PUBLIC_AND_PRIVATE_INTERFACES = 373 | + "default_public_and_private_interfaces"; 374 | + private static final String WEBRTC_DEFAULT_PUBLIC_INTERFACE_ONLY = 375 | + "default_public_interface_only"; 376 | + private static final String WEBRTC_DISABLE_NON_PROXIED_UDP = 377 | + "disable_non_proxied_udp"; 378 | + 379 | + static String getSummary(Context context) { 380 | + switch (convertToWebRtcPolicyInt(getPolicyFromNative())) { 381 | + case WebRtcPolicy.DEFAULT: 382 | + return context.getString(R.string.webrtc_policy_default); 383 | + case WebRtcPolicy.DEFAULT_PUBLIC_AND_PRIVATE_INTERFACES: 384 | + return context.getString( 385 | + R.string.webrtc_policy_default_public_and_private_interfaces); 386 | + case WebRtcPolicy.DEFAULT_PUBLIC_INTERFACE_ONLY: 387 | + return context.getString(R.string.webrtc_policy_default_public_interface_only); 388 | + case WebRtcPolicy.DISABLE_NON_PROXIED_UDP: 389 | + return context.getString(R.string.webrtc_policy_disable_non_proxied_udp); 390 | + default: 391 | + assert false; 392 | + return ""; 393 | + } 394 | + } 395 | + 396 | + static String convertToWebRtcPolicyString(@WebRtcPolicy int policy) { 397 | + switch (policy) { 398 | + case WebRtcPolicy.DEFAULT: 399 | + return WEBRTC_DEFAULT; 400 | + case WebRtcPolicy.DEFAULT_PUBLIC_AND_PRIVATE_INTERFACES: 401 | + return WEBRTC_DEFAULT_PUBLIC_AND_PRIVATE_INTERFACES; 402 | + case WebRtcPolicy.DEFAULT_PUBLIC_INTERFACE_ONLY: 403 | + return WEBRTC_DEFAULT_PUBLIC_INTERFACE_ONLY; 404 | + case WebRtcPolicy.DISABLE_NON_PROXIED_UDP: 405 | + return WEBRTC_DISABLE_NON_PROXIED_UDP; 406 | + default: 407 | + return WEBRTC_DISABLE_NON_PROXIED_UDP; 408 | + } 409 | + } 410 | + 411 | + static @WebRtcPolicy int convertToWebRtcPolicyInt(String value) { 412 | + switch (value) { 413 | + case WEBRTC_DEFAULT: 414 | + return WebRtcPolicy.DEFAULT; 415 | + case WEBRTC_DEFAULT_PUBLIC_AND_PRIVATE_INTERFACES: 416 | + return WebRtcPolicy.DEFAULT_PUBLIC_AND_PRIVATE_INTERFACES; 417 | + case WEBRTC_DEFAULT_PUBLIC_INTERFACE_ONLY: 418 | + return WebRtcPolicy.DEFAULT_PUBLIC_INTERFACE_ONLY; 419 | + case WEBRTC_DISABLE_NON_PROXIED_UDP: 420 | + return WebRtcPolicy.DISABLE_NON_PROXIED_UDP; 421 | + default: 422 | + return WebRtcPolicy.DISABLE_NON_PROXIED_UDP; 423 | + } 424 | + } 425 | + 426 | + private static String getPolicyFromNative() { 427 | + return UserPrefs.get(Profile.getLastUsedRegularProfile()) 428 | + .getString(Pref.WEB_RTCIP_HANDLING_POLICY); 429 | + } 430 | + 431 | + static @WebRtcPolicy int getPolicy() { 432 | + return convertToWebRtcPolicyInt(getPolicyFromNative()); 433 | + } 434 | + 435 | + static void setPolicy(@WebRtcPolicy int policy) { 436 | + UserPrefs.get(Profile.getLastUsedRegularProfile()) 437 | + .setString(Pref.WEB_RTCIP_HANDLING_POLICY, convertToWebRtcPolicyString(policy)); 438 | + } 439 | + 440 | + private WebRtcPolicyUtils() {} 441 | +} 442 | diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd 443 | index 7d11c0fbf206d..3ab04dc61b249 100644 444 | --- a/chrome/browser/ui/android/strings/android_chrome_strings.grd 445 | +++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd 446 | @@ -1404,6 +1404,23 @@ Your Google account may have other forms of browsing history like searches and a 447 | Temporarily links this data to your Google Account when you’re signed in, to protect you across Google apps 448 | 449 | 450 | + 451 | + 452 | + WebRTC IP handling policy 453 | + 454 | + 455 | + Default 456 | + 457 | + 458 | + Default public and private interfaces 459 | + 460 | + 461 | + Default public interface only 462 | + 463 | + 464 | + Disable non-proxied UDP 465 | + 466 | + 467 | 468 | 469 | Safety check 470 | -------------------------------------------------------------------------------- /patches/0001-Vanadium/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright © 2016-2022 GrapheneOS 2 | 3 | Vanadium patches are available under the terms of the GNU General Public 4 | License version 2 only, according with LICENSE.GPL-2.0. Also see 5 | LICENSE.WebView-note and LICENSE.Apache-2.0-note for exceptions from the GPLv2 6 | terms. 7 | 8 | In order for us to continue to contribute upstream, contributors to Vanadium 9 | give permission to the GrapheneOS project to submit their changes to the 10 | Chromium project or a future replacement for the base Vanadium code based on 11 | it under the preferred choice of licensing for that project. Only the code 12 | accepted by them will be available under their choice of license. 13 | -------------------------------------------------------------------------------- /patches/0001-Vanadium/LICENSE.Apache-2.0-note: -------------------------------------------------------------------------------- 1 | The Vanadium code may be used as part of a work containing code licensed as 2 | Apache 2. An exception is made for the specific patent clause of the Apache 2 3 | license. This exception does not permit using our code in a project containing 4 | GPLv3 code which has additional restrictions. 5 | -------------------------------------------------------------------------------- /patches/0001-Vanadium/LICENSE.GPL-2.0: -------------------------------------------------------------------------------- 1 | GNU GENERAL PUBLIC LICENSE 2 | Version 2, June 1991 3 | 4 | Copyright (C) 1989, 1991 Free Software Foundation, Inc., 5 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 6 | Everyone is permitted to copy and distribute verbatim copies 7 | of this license document, but changing it is not allowed. 8 | 9 | Preamble 10 | 11 | The licenses for most software are designed to take away your 12 | freedom to share and change it. By contrast, the GNU General Public 13 | License is intended to guarantee your freedom to share and change free 14 | software--to make sure the software is free for all its users. This 15 | General Public License applies to most of the Free Software 16 | Foundation's software and to any other program whose authors commit to 17 | using it. (Some other Free Software Foundation software is covered by 18 | the GNU Lesser General Public License instead.) You can apply it to 19 | your programs, too. 20 | 21 | When we speak of free software, we are referring to freedom, not 22 | price. Our General Public Licenses are designed to make sure that you 23 | have the freedom to distribute copies of free software (and charge for 24 | this service if you wish), that you receive source code or can get it 25 | if you want it, that you can change the software or use pieces of it 26 | in new free programs; and that you know you can do these things. 27 | 28 | To protect your rights, we need to make restrictions that forbid 29 | anyone to deny you these rights or to ask you to surrender the rights. 30 | These restrictions translate to certain responsibilities for you if you 31 | distribute copies of the software, or if you modify it. 32 | 33 | For example, if you distribute copies of such a program, whether 34 | gratis or for a fee, you must give the recipients all the rights that 35 | you have. You must make sure that they, too, receive or can get the 36 | source code. And you must show them these terms so they know their 37 | rights. 38 | 39 | We protect your rights with two steps: (1) copyright the software, and 40 | (2) offer you this license which gives you legal permission to copy, 41 | distribute and/or modify the software. 42 | 43 | Also, for each author's protection and ours, we want to make certain 44 | that everyone understands that there is no warranty for this free 45 | software. If the software is modified by someone else and passed on, we 46 | want its recipients to know that what they have is not the original, so 47 | that any problems introduced by others will not reflect on the original 48 | authors' reputations. 49 | 50 | Finally, any free program is threatened constantly by software 51 | patents. We wish to avoid the danger that redistributors of a free 52 | program will individually obtain patent licenses, in effect making the 53 | program proprietary. To prevent this, we have made it clear that any 54 | patent must be licensed for everyone's free use or not licensed at all. 55 | 56 | The precise terms and conditions for copying, distribution and 57 | modification follow. 58 | 59 | GNU GENERAL PUBLIC LICENSE 60 | TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 61 | 62 | 0. This License applies to any program or other work which contains 63 | a notice placed by the copyright holder saying it may be distributed 64 | under the terms of this General Public License. The "Program", below, 65 | refers to any such program or work, and a "work based on the Program" 66 | means either the Program or any derivative work under copyright law: 67 | that is to say, a work containing the Program or a portion of it, 68 | either verbatim or with modifications and/or translated into another 69 | language. (Hereinafter, translation is included without limitation in 70 | the term "modification".) Each licensee is addressed as "you". 71 | 72 | Activities other than copying, distribution and modification are not 73 | covered by this License; they are outside its scope. The act of 74 | running the Program is not restricted, and the output from the Program 75 | is covered only if its contents constitute a work based on the 76 | Program (independent of having been made by running the Program). 77 | Whether that is true depends on what the Program does. 78 | 79 | 1. You may copy and distribute verbatim copies of the Program's 80 | source code as you receive it, in any medium, provided that you 81 | conspicuously and appropriately publish on each copy an appropriate 82 | copyright notice and disclaimer of warranty; keep intact all the 83 | notices that refer to this License and to the absence of any warranty; 84 | and give any other recipients of the Program a copy of this License 85 | along with the Program. 86 | 87 | You may charge a fee for the physical act of transferring a copy, and 88 | you may at your option offer warranty protection in exchange for a fee. 89 | 90 | 2. You may modify your copy or copies of the Program or any portion 91 | of it, thus forming a work based on the Program, and copy and 92 | distribute such modifications or work under the terms of Section 1 93 | above, provided that you also meet all of these conditions: 94 | 95 | a) You must cause the modified files to carry prominent notices 96 | stating that you changed the files and the date of any change. 97 | 98 | b) You must cause any work that you distribute or publish, that in 99 | whole or in part contains or is derived from the Program or any 100 | part thereof, to be licensed as a whole at no charge to all third 101 | parties under the terms of this License. 102 | 103 | c) If the modified program normally reads commands interactively 104 | when run, you must cause it, when started running for such 105 | interactive use in the most ordinary way, to print or display an 106 | announcement including an appropriate copyright notice and a 107 | notice that there is no warranty (or else, saying that you provide 108 | a warranty) and that users may redistribute the program under 109 | these conditions, and telling the user how to view a copy of this 110 | License. (Exception: if the Program itself is interactive but 111 | does not normally print such an announcement, your work based on 112 | the Program is not required to print an announcement.) 113 | 114 | These requirements apply to the modified work as a whole. If 115 | identifiable sections of that work are not derived from the Program, 116 | and can be reasonably considered independent and separate works in 117 | themselves, then this License, and its terms, do not apply to those 118 | sections when you distribute them as separate works. But when you 119 | distribute the same sections as part of a whole which is a work based 120 | on the Program, the distribution of the whole must be on the terms of 121 | this License, whose permissions for other licensees extend to the 122 | entire whole, and thus to each and every part regardless of who wrote it. 123 | 124 | Thus, it is not the intent of this section to claim rights or contest 125 | your rights to work written entirely by you; rather, the intent is to 126 | exercise the right to control the distribution of derivative or 127 | collective works based on the Program. 128 | 129 | In addition, mere aggregation of another work not based on the Program 130 | with the Program (or with a work based on the Program) on a volume of 131 | a storage or distribution medium does not bring the other work under 132 | the scope of this License. 133 | 134 | 3. You may copy and distribute the Program (or a work based on it, 135 | under Section 2) in object code or executable form under the terms of 136 | Sections 1 and 2 above provided that you also do one of the following: 137 | 138 | a) Accompany it with the complete corresponding machine-readable 139 | source code, which must be distributed under the terms of Sections 140 | 1 and 2 above on a medium customarily used for software interchange; or, 141 | 142 | b) Accompany it with a written offer, valid for at least three 143 | years, to give any third party, for a charge no more than your 144 | cost of physically performing source distribution, a complete 145 | machine-readable copy of the corresponding source code, to be 146 | distributed under the terms of Sections 1 and 2 above on a medium 147 | customarily used for software interchange; or, 148 | 149 | c) Accompany it with the information you received as to the offer 150 | to distribute corresponding source code. (This alternative is 151 | allowed only for noncommercial distribution and only if you 152 | received the program in object code or executable form with such 153 | an offer, in accord with Subsection b above.) 154 | 155 | The source code for a work means the preferred form of the work for 156 | making modifications to it. For an executable work, complete source 157 | code means all the source code for all modules it contains, plus any 158 | associated interface definition files, plus the scripts used to 159 | control compilation and installation of the executable. However, as a 160 | special exception, the source code distributed need not include 161 | anything that is normally distributed (in either source or binary 162 | form) with the major components (compiler, kernel, and so on) of the 163 | operating system on which the executable runs, unless that component 164 | itself accompanies the executable. 165 | 166 | If distribution of executable or object code is made by offering 167 | access to copy from a designated place, then offering equivalent 168 | access to copy the source code from the same place counts as 169 | distribution of the source code, even though third parties are not 170 | compelled to copy the source along with the object code. 171 | 172 | 4. You may not copy, modify, sublicense, or distribute the Program 173 | except as expressly provided under this License. Any attempt 174 | otherwise to copy, modify, sublicense or distribute the Program is 175 | void, and will automatically terminate your rights under this License. 176 | However, parties who have received copies, or rights, from you under 177 | this License will not have their licenses terminated so long as such 178 | parties remain in full compliance. 179 | 180 | 5. You are not required to accept this License, since you have not 181 | signed it. However, nothing else grants you permission to modify or 182 | distribute the Program or its derivative works. These actions are 183 | prohibited by law if you do not accept this License. Therefore, by 184 | modifying or distributing the Program (or any work based on the 185 | Program), you indicate your acceptance of this License to do so, and 186 | all its terms and conditions for copying, distributing or modifying 187 | the Program or works based on it. 188 | 189 | 6. Each time you redistribute the Program (or any work based on the 190 | Program), the recipient automatically receives a license from the 191 | original licensor to copy, distribute or modify the Program subject to 192 | these terms and conditions. You may not impose any further 193 | restrictions on the recipients' exercise of the rights granted herein. 194 | You are not responsible for enforcing compliance by third parties to 195 | this License. 196 | 197 | 7. If, as a consequence of a court judgment or allegation of patent 198 | infringement or for any other reason (not limited to patent issues), 199 | conditions are imposed on you (whether by court order, agreement or 200 | otherwise) that contradict the conditions of this License, they do not 201 | excuse you from the conditions of this License. If you cannot 202 | distribute so as to satisfy simultaneously your obligations under this 203 | License and any other pertinent obligations, then as a consequence you 204 | may not distribute the Program at all. For example, if a patent 205 | license would not permit royalty-free redistribution of the Program by 206 | all those who receive copies directly or indirectly through you, then 207 | the only way you could satisfy both it and this License would be to 208 | refrain entirely from distribution of the Program. 209 | 210 | If any portion of this section is held invalid or unenforceable under 211 | any particular circumstance, the balance of the section is intended to 212 | apply and the section as a whole is intended to apply in other 213 | circumstances. 214 | 215 | It is not the purpose of this section to induce you to infringe any 216 | patents or other property right claims or to contest validity of any 217 | such claims; this section has the sole purpose of protecting the 218 | integrity of the free software distribution system, which is 219 | implemented by public license practices. Many people have made 220 | generous contributions to the wide range of software distributed 221 | through that system in reliance on consistent application of that 222 | system; it is up to the author/donor to decide if he or she is willing 223 | to distribute software through any other system and a licensee cannot 224 | impose that choice. 225 | 226 | This section is intended to make thoroughly clear what is believed to 227 | be a consequence of the rest of this License. 228 | 229 | 8. If the distribution and/or use of the Program is restricted in 230 | certain countries either by patents or by copyrighted interfaces, the 231 | original copyright holder who places the Program under this License 232 | may add an explicit geographical distribution limitation excluding 233 | those countries, so that distribution is permitted only in or among 234 | countries not thus excluded. In such case, this License incorporates 235 | the limitation as if written in the body of this License. 236 | 237 | 9. The Free Software Foundation may publish revised and/or new versions 238 | of the General Public License from time to time. Such new versions will 239 | be similar in spirit to the present version, but may differ in detail to 240 | address new problems or concerns. 241 | 242 | Each version is given a distinguishing version number. If the Program 243 | specifies a version number of this License which applies to it and "any 244 | later version", you have the option of following the terms and conditions 245 | either of that version or of any later version published by the Free 246 | Software Foundation. If the Program does not specify a version number of 247 | this License, you may choose any version ever published by the Free Software 248 | Foundation. 249 | 250 | 10. If you wish to incorporate parts of the Program into other free 251 | programs whose distribution conditions are different, write to the author 252 | to ask for permission. For software which is copyrighted by the Free 253 | Software Foundation, write to the Free Software Foundation; we sometimes 254 | make exceptions for this. Our decision will be guided by the two goals 255 | of preserving the free status of all derivatives of our free software and 256 | of promoting the sharing and reuse of software generally. 257 | 258 | NO WARRANTY 259 | 260 | 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY 261 | FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN 262 | OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES 263 | PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED 264 | OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 265 | MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS 266 | TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE 267 | PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, 268 | REPAIR OR CORRECTION. 269 | 270 | 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING 271 | WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR 272 | REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, 273 | INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING 274 | OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED 275 | TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY 276 | YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER 277 | PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE 278 | POSSIBILITY OF SUCH DAMAGES. 279 | 280 | END OF TERMS AND CONDITIONS 281 | 282 | How to Apply These Terms to Your New Programs 283 | 284 | If you develop a new program, and you want it to be of the greatest 285 | possible use to the public, the best way to achieve this is to make it 286 | free software which everyone can redistribute and change under these terms. 287 | 288 | To do so, attach the following notices to the program. It is safest 289 | to attach them to the start of each source file to most effectively 290 | convey the exclusion of warranty; and each file should have at least 291 | the "copyright" line and a pointer to where the full notice is found. 292 | 293 | 294 | Copyright (C) 295 | 296 | This program is free software; you can redistribute it and/or modify 297 | it under the terms of the GNU General Public License as published by 298 | the Free Software Foundation; either version 2 of the License, or 299 | (at your option) any later version. 300 | 301 | This program is distributed in the hope that it will be useful, 302 | but WITHOUT ANY WARRANTY; without even the implied warranty of 303 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 304 | GNU General Public License for more details. 305 | 306 | You should have received a copy of the GNU General Public License along 307 | with this program; if not, write to the Free Software Foundation, Inc., 308 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 309 | 310 | Also add information on how to contact you by electronic and paper mail. 311 | 312 | If the program is interactive, make it output a short notice like this 313 | when it starts in an interactive mode: 314 | 315 | Gnomovision version 69, Copyright (C) year name of author 316 | Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. 317 | This is free software, and you are welcome to redistribute it 318 | under certain conditions; type `show c' for details. 319 | 320 | The hypothetical commands `show w' and `show c' should show the appropriate 321 | parts of the General Public License. Of course, the commands you use may 322 | be called something other than `show w' and `show c'; they could even be 323 | mouse-clicks or menu items--whatever suits your program. 324 | 325 | You should also get your employer (if you work as a programmer) or your 326 | school, if any, to sign a "copyright disclaimer" for the program, if 327 | necessary. Here is a sample; alter the names: 328 | 329 | Yoyodyne, Inc., hereby disclaims all copyright interest in the program 330 | `Gnomovision' (which makes passes at compilers) written by James Hacker. 331 | 332 | , 1 April 1989 333 | Ty Coon, President of Vice 334 | 335 | This General Public License does not permit incorporating your program into 336 | proprietary programs. If your program is a subroutine library, you may 337 | consider it more useful to permit linking proprietary applications with the 338 | library. If this is what you want to do, use the GNU Lesser General 339 | Public License instead of this License. 340 | -------------------------------------------------------------------------------- /patches/0001-Vanadium/LICENSE.WebView-note: -------------------------------------------------------------------------------- 1 | Applications using Vanadium through the WebView library including our changes 2 | and extensions to the API are not considered derivative works of Vanadium for 3 | the terms of the GPL-2.0 license. 4 | -------------------------------------------------------------------------------- /patches/0002-LineageOS/0001-Add-support-for-getting-updates-for-theme-color-chan.patch: -------------------------------------------------------------------------------- 1 | From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 2 | From: Danny Baumann 3 | Date: Thu, 18 May 2017 11:04:40 +0200 4 | Subject: [PATCH] Add support for getting updates for theme color changes. 5 | 6 | --- 7 | .../webview/chromium/WebViewChromium.java | 9 +++++ 8 | .../WebViewContentsClientAdapter.java | 34 +++++++++++++++++++ 9 | .../android_webview/AwContentsClient.java | 2 ++ 10 | .../AwContentsClientCallbackHelper.java | 11 ++++++ 11 | .../AwWebContentsObserver.java | 15 ++++++++ 12 | .../test/NullContentsClient.java | 4 +++ 13 | 6 files changed, 75 insertions(+) 14 | 15 | diff --git a/android_webview/glue/java/src/com/android/webview/chromium/WebViewChromium.java b/android_webview/glue/java/src/com/android/webview/chromium/WebViewChromium.java 16 | index e7882d03a01d1..6dca837aac95d 100644 17 | --- a/android_webview/glue/java/src/com/android/webview/chromium/WebViewChromium.java 18 | +++ b/android_webview/glue/java/src/com/android/webview/chromium/WebViewChromium.java 19 | @@ -10,6 +10,7 @@ import android.content.Intent; 20 | import android.content.res.Configuration; 21 | import android.graphics.Bitmap; 22 | import android.graphics.Canvas; 23 | +import android.graphics.Color; 24 | import android.graphics.Paint; 25 | import android.graphics.Picture; 26 | import android.graphics.Rect; 27 | @@ -73,6 +74,7 @@ import org.chromium.components.embedder_support.application.ClassLoaderContextWr 28 | import org.chromium.content_public.browser.MessagePayload; 29 | import org.chromium.content_public.browser.NavigationHistory; 30 | import org.chromium.content_public.browser.SmartClipProvider; 31 | +import org.chromium.content_public.browser.WebContents; 32 | import org.chromium.url.GURL; 33 | 34 | import java.io.BufferedWriter; 35 | @@ -1171,6 +1173,13 @@ class WebViewChromium implements WebViewProvider, WebViewProvider.ScrollDelegate 36 | return mAwContents.getMostRecentProgress(); 37 | } 38 | 39 | + public int getThemeColor() { 40 | + WebContents webContents = mAwContents != null ? mAwContents.getWebContents() : null; 41 | + if (webContents == null) return Color.TRANSPARENT; 42 | + // No checkThread() because the value is cached java side (workaround for b/10533304). 43 | + return webContents.getThemeColor(); 44 | + } 45 | + 46 | @Override 47 | public int getContentHeight() { 48 | recordWebViewApiCall(ApiCall.GET_CONTENT_HEIGHT); 49 | diff --git a/android_webview/glue/java/src/com/android/webview/chromium/WebViewContentsClientAdapter.java b/android_webview/glue/java/src/com/android/webview/chromium/WebViewContentsClientAdapter.java 50 | index 72592908ea177..21fb608018aa9 100644 51 | --- a/android_webview/glue/java/src/com/android/webview/chromium/WebViewContentsClientAdapter.java 52 | +++ b/android_webview/glue/java/src/com/android/webview/chromium/WebViewContentsClientAdapter.java 53 | @@ -56,6 +56,8 @@ import org.chromium.components.embedder_support.util.WebResourceResponseInfo; 54 | import org.chromium.content_public.browser.UiThreadTaskTraits; 55 | 56 | import java.lang.ref.WeakReference; 57 | +import java.lang.reflect.InvocationTargetException; 58 | +import java.lang.reflect.Method; 59 | import java.security.Principal; 60 | import java.security.PrivateKey; 61 | import java.security.cert.X509Certificate; 62 | @@ -98,6 +100,9 @@ class WebViewContentsClientAdapter extends SharedWebViewContentsClientAdapter { 63 | private WeakHashMap> 64 | mOngoingPermissionRequests; 65 | 66 | + private static Method sWebChromeClientThemeColorMethod; 67 | + private static boolean sWebChromeClientThemeColorMethodInitialized; 68 | + 69 | /** 70 | * Adapter constructor. 71 | * 72 | @@ -109,6 +114,17 @@ class WebViewContentsClientAdapter extends SharedWebViewContentsClientAdapter { 73 | super(webView, webViewDelegate, context); 74 | try (ScopedSysTraceEvent event = 75 | ScopedSysTraceEvent.scoped("WebViewContentsClientAdapter.constructor")) { 76 | + 77 | + if (!sWebChromeClientThemeColorMethodInitialized) { 78 | + try { 79 | + sWebChromeClientThemeColorMethod = WebChromeClient.class.getMethod( 80 | + "onThemeColorChanged", WebView.class, Integer.TYPE); 81 | + } catch (Exception e) { 82 | + // ignored 83 | + } 84 | + sWebChromeClientThemeColorMethodInitialized = true; 85 | + } 86 | + 87 | // See //android_webview/docs/how-does-on-create-window-work.md for more details. 88 | mUiThreadHandler = new Handler() { 89 | @Override 90 | @@ -1037,6 +1053,24 @@ class WebViewContentsClientAdapter extends SharedWebViewContentsClientAdapter { 91 | } 92 | } 93 | 94 | + /** 95 | + * @see AwContentsClient#onThemeColorChanged(int) 96 | + */ 97 | + @Override 98 | + public void onThemeColorChanged(int color) { 99 | + try { 100 | + TraceEvent.begin("WebViewContentsClientAdapter.onThemeColorChanged"); 101 | + if (mWebChromeClient != null && sWebChromeClientThemeColorMethod != null) { 102 | + if (TRACE) Log.d(TAG, "onThemeColorChanged=" + color); 103 | + sWebChromeClientThemeColorMethod.invoke(mWebChromeClient, mWebView, color); 104 | + } 105 | + } catch (IllegalAccessException | InvocationTargetException e) { 106 | + // ignored 107 | + } finally { 108 | + TraceEvent.end("WebViewContentsClientAdapter.onThemeColorChanged"); 109 | + } 110 | + } 111 | + 112 | private static class AwHttpAuthHandlerAdapter extends android.webkit.HttpAuthHandler { 113 | private AwHttpAuthHandler mAwHandler; 114 | 115 | diff --git a/android_webview/java/src/org/chromium/android_webview/AwContentsClient.java b/android_webview/java/src/org/chromium/android_webview/AwContentsClient.java 116 | index c8e9ed487f368..90a12fe250206 100644 117 | --- a/android_webview/java/src/org/chromium/android_webview/AwContentsClient.java 118 | +++ b/android_webview/java/src/org/chromium/android_webview/AwContentsClient.java 119 | @@ -170,6 +170,8 @@ public abstract class AwContentsClient { 120 | 121 | public abstract void onProgressChanged(int progress); 122 | 123 | + public abstract void onThemeColorChanged(int color); 124 | + 125 | public abstract WebResourceResponseInfo shouldInterceptRequest(AwWebResourceRequest request); 126 | 127 | public abstract boolean shouldOverrideKeyEvent(KeyEvent event); 128 | diff --git a/android_webview/java/src/org/chromium/android_webview/AwContentsClientCallbackHelper.java b/android_webview/java/src/org/chromium/android_webview/AwContentsClientCallbackHelper.java 129 | index 263050de539f6..6a19aa8c026f9 100644 130 | --- a/android_webview/java/src/org/chromium/android_webview/AwContentsClientCallbackHelper.java 131 | +++ b/android_webview/java/src/org/chromium/android_webview/AwContentsClientCallbackHelper.java 132 | @@ -134,6 +134,9 @@ public class AwContentsClientCallbackHelper { 133 | private static final int MSG_ON_FORM_RESUBMISSION = 14; 134 | private static final int MSG_ON_SAFE_BROWSING_HIT = 15; 135 | 136 | + // Custom 137 | + private static final int MSG_ON_THEME_COLOR_CHANGED = 99; 138 | + 139 | // Minimum period allowed between consecutive onNewPicture calls, to rate-limit the callbacks. 140 | private static final long ON_NEW_PICTURE_MIN_PERIOD_MILLIS = 500; 141 | // Timestamp of the most recent onNewPicture callback. 142 | @@ -229,6 +232,10 @@ public class AwContentsClientCallbackHelper { 143 | mContentsClient.onProgressChanged(msg.arg1); 144 | break; 145 | } 146 | + case MSG_ON_THEME_COLOR_CHANGED: { 147 | + mContentsClient.onThemeColorChanged(msg.arg1); 148 | + break; 149 | + } 150 | case MSG_SYNTHESIZE_PAGE_LOADING: { 151 | final String url = (String) msg.obj; 152 | mContentsClient.onPageStarted(url); 153 | @@ -341,6 +348,10 @@ public class AwContentsClientCallbackHelper { 154 | mHandler.sendMessage(mHandler.obtainMessage(MSG_SYNTHESIZE_PAGE_LOADING, url)); 155 | } 156 | 157 | + public void postOnThemeColorChanged(int color) { 158 | + mHandler.sendMessage(mHandler.obtainMessage(MSG_ON_THEME_COLOR_CHANGED, color, 0)); 159 | + } 160 | + 161 | public void postDoUpdateVisitedHistory(String url, boolean isReload) { 162 | DoUpdateVisitedHistoryInfo info = new DoUpdateVisitedHistoryInfo(url, isReload); 163 | mHandler.sendMessage(mHandler.obtainMessage(MSG_DO_UPDATE_VISITED_HISTORY, info)); 164 | diff --git a/android_webview/java/src/org/chromium/android_webview/AwWebContentsObserver.java b/android_webview/java/src/org/chromium/android_webview/AwWebContentsObserver.java 165 | index 6bec03bd5d587..337beb565c3a8 100644 166 | --- a/android_webview/java/src/org/chromium/android_webview/AwWebContentsObserver.java 167 | +++ b/android_webview/java/src/org/chromium/android_webview/AwWebContentsObserver.java 168 | @@ -167,12 +167,27 @@ public class AwWebContentsObserver extends WebContentsObserver { 169 | }); 170 | } 171 | 172 | + if (client != null) { 173 | + AwContents awContents = mAwContents.get(); 174 | + WebContents contents = awContents != null ? awContents.getWebContents() : null; 175 | + if (contents != null) { 176 | + client.getCallbackHelper().postOnThemeColorChanged(contents.getThemeColor()); 177 | + } 178 | + } 179 | + 180 | if (client != null && navigation.isPrimaryMainFrameFragmentNavigation()) { 181 | // Note fragment navigations do not have a matching onPageStarted. 182 | client.getCallbackHelper().postOnPageFinished(url); 183 | } 184 | } 185 | 186 | + public void didChangeThemeColor(int color) { 187 | + AwContentsClient client = mAwContentsClient.get(); 188 | + if (client != null) { 189 | + client.getCallbackHelper().postOnThemeColorChanged(color); 190 | + } 191 | + } 192 | + 193 | public boolean didEverCommitNavigation() { 194 | return mCommittedNavigation; 195 | } 196 | diff --git a/android_webview/test/shell/src/org/chromium/android_webview/test/NullContentsClient.java b/android_webview/test/shell/src/org/chromium/android_webview/test/NullContentsClient.java 197 | index fd3eb8a447c1c..804d326648da4 100644 198 | --- a/android_webview/test/shell/src/org/chromium/android_webview/test/NullContentsClient.java 199 | +++ b/android_webview/test/shell/src/org/chromium/android_webview/test/NullContentsClient.java 200 | @@ -72,6 +72,10 @@ public class NullContentsClient extends AwContentsClient { 201 | public void onProgressChanged(int progress) { 202 | } 203 | 204 | + @Override 205 | + public void onThemeColorChanged(int color) { 206 | + } 207 | + 208 | @Override 209 | public WebResourceResponseInfo shouldInterceptRequest( 210 | AwContentsClient.AwWebResourceRequest request) { 211 | -------------------------------------------------------------------------------- /patches/0002-LineageOS/0002-Add-xxxhdpi-icon_webview.png-to-BUILD.gn.patch: -------------------------------------------------------------------------------- 1 | From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 2 | From: "Kevin F. Haggerty" 3 | Date: Tue, 19 May 2020 17:21:42 -0600 4 | Subject: [PATCH] Add xxxhdpi icon_webview.png to BUILD.gn 5 | 6 | --- 7 | android_webview/nonembedded/BUILD.gn | 1 + 8 | 1 file changed, 1 insertion(+) 9 | 10 | diff --git a/android_webview/nonembedded/BUILD.gn b/android_webview/nonembedded/BUILD.gn 11 | index 5aa79fd009ee1..75018f3806b5a 100644 12 | --- a/android_webview/nonembedded/BUILD.gn 13 | +++ b/android_webview/nonembedded/BUILD.gn 14 | @@ -201,6 +201,7 @@ android_resources("icon_resources") { 15 | "java/res_icon/drawable-mdpi/icon_webview.png", 16 | "java/res_icon/drawable-xhdpi/icon_webview.png", 17 | "java/res_icon/drawable-xxhdpi/icon_webview.png", 18 | + "java/res_icon/drawable-xxxhdpi/icon_webview.png", 19 | ] 20 | } 21 | 22 | -------------------------------------------------------------------------------- /patches/0002-LineageOS/0003-webview-Hard-no-to-persistent-histograms.patch: -------------------------------------------------------------------------------- 1 | From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 2 | From: "Kevin F. Haggerty" 3 | Date: Sun, 27 Dec 2020 09:42:54 -0700 4 | Subject: [PATCH] webview: Hard no to persistent histograms 5 | 6 | * It's probably some kind of bug somewhere that these are never 7 | deleted, but they don't really add value to us in the first 8 | place. 9 | * Stop eating 4MB every single time any app that uses webview 10 | ever opens. 11 | * These were guarded by a feature check before 12 | https://chromium.googlesource.com/chromium/src/+/b86102f2a243 13 | --- 14 | android_webview/browser/aw_field_trials.cc | 2 ++ 15 | 1 file changed, 2 insertions(+) 16 | 17 | diff --git a/android_webview/browser/aw_field_trials.cc b/android_webview/browser/aw_field_trials.cc 18 | index cdcee98e4a394..c5582ec79c3bf 100644 19 | --- a/android_webview/browser/aw_field_trials.cc 20 | +++ b/android_webview/browser/aw_field_trials.cc 21 | @@ -11,9 +11,11 @@ 22 | #include "components/metrics/persistent_histograms.h" 23 | 24 | void AwFieldTrials::SetUpFieldTrials() { 25 | +#if 0 26 | // Persistent histograms must be enabled as soon as possible. 27 | base::FilePath metrics_dir; 28 | if (base::PathService::Get(base::DIR_ANDROID_APP_DATA, &metrics_dir)) { 29 | InstantiatePersistentHistograms(metrics_dir); 30 | } 31 | +#endif 32 | } 33 | -------------------------------------------------------------------------------- /patches/0002-LineageOS/0006-webview-Disable-autofill-metadata-uploads-by-default.patch: -------------------------------------------------------------------------------- 1 | From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 2 | From: "Kevin F. Haggerty" 3 | Date: Tue, 28 Sep 2021 08:43:01 -0600 4 | Subject: [PATCH] webview: Disable autofill metadata uploads by default 5 | 6 | * [haggertk - 2021-11-16] - Update per d85f6c03db147 7 | (Reland "[Autofill] Inline kAutofillMetadataUploads") 8 | --- 9 | components/autofill/core/browser/randomized_encoder.cc | 2 +- 10 | 1 file changed, 1 insertion(+), 1 deletion(-) 11 | 12 | diff --git a/components/autofill/core/browser/randomized_encoder.cc b/components/autofill/core/browser/randomized_encoder.cc 13 | index 1013f91a28032..89e44251221a1 100644 14 | --- a/components/autofill/core/browser/randomized_encoder.cc 15 | +++ b/components/autofill/core/browser/randomized_encoder.cc 16 | @@ -187,7 +187,7 @@ const char RandomizedEncoder::kUrlKeyedAnonymizedDataCollectionEnabled[] = 17 | std::unique_ptr RandomizedEncoder::Create( 18 | PrefService* pref_service) { 19 | // Early abort if metadata uploads are not enabled. 20 | - if (!pref_service) { 21 | + if (!pref_service || (true)) { 22 | return nullptr; 23 | } 24 | 25 | -------------------------------------------------------------------------------- /patches/VERSIONS: -------------------------------------------------------------------------------- 1 | Source: https://github.com/GrapheneOS/Vanadium 2 | Last updated: 3 | 2022/09/27 4 | 2937d8591954d250693f033d6c204177d2a06c6f 5 | https://github.com/GrapheneOS/Vanadium/pull/230 6 | Deleted 7 | *-Vanadium-branding.patch 8 | *-Vanadium-branding-for-WebView.patch 9 | *-Vanadium-string-rebranding.patch 10 | *-redirect-settings-help-icon.patch 11 | *-remove-Google-prefix-from-storage-settings-label.patch 12 | *-add-back-trichrome_chrome_apk-targets.patch 13 | *-update-trichrome_library_apk-expectation-file.patch 14 | *-update-dependencies.patch 15 | *-Rolling-all-public-GMSCore-libraries.patch 16 | *-Clean-up-logic-in-BuildInfo.targetsAtLeastT.patch 17 | *-Update-to-Android-T-SDK.patch 18 | 19 | Source: https://github.com/LineageOS/android_external_chromium-webview_patches 20 | Last updated: 21 | 2022/09/27 22 | 7262a19430f1e47b4d618f9d854c0c5a0deb93c7 23 | -------------------------------------------------------------------------------- /prebuilt/arm/webview.apk: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:ef3d12d45718384bfd0bf9f4333c5fc14e77f5c46645ac1e7e81d2cd2beb5c48 3 | size 61227832 4 | -------------------------------------------------------------------------------- /prebuilt/arm64/webview.apk: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:819648d372eb72961911f0bd777580306352742baa82a893ce876006c7299828 3 | size 108090502 4 | -------------------------------------------------------------------------------- /prebuilt/x86/webview.apk: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:86bdcf8498b82836f392592d451ea34c13ebdac1614539b8948a4c77bd720b24 3 | size 67144886 4 | -------------------------------------------------------------------------------- /prebuilt/x86_64/webview.apk: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:a3ef701877bd27d84c2dba2c78082199a16061dd2d7407dd152124d8d413b144 3 | size 113417722 4 | --------------------------------------------------------------------------------