Browse Source

Update to 94.0.4606.71-1

tags/94.0.4606.71-1^0 94.0.4606.71-1
wchen342 3 weeks ago
parent
commit
75d276c0c2
Signed by: wchen342 GPG Key ID: 9C19365D69B04CEC
23 changed files with 5517 additions and 295 deletions
  1. +2
    -2
      .build_config
  2. +8
    -0
      CHANGELOG.md
  3. +4
    -4
      android_flags.gn
  4. +1
    -0
      android_flags.release.gn
  5. BIN
      androidx-override/core-release.aar
  6. +50
    -0
      androidx-override/core_core.patch
  7. +52
    -22
      build.sh
  8. +1
    -1
      bundle_generate_apk.sh
  9. +248
    -152
      domain_sub_2.list
  10. +4726
    -0
      misc/UnindexedRules
  11. BIN
      misc/aidl
  12. +7
    -7
      patches/Bromite/AImageReader-CFI-crash-mitigations.patch
  13. +20
    -21
      patches/Bromite/Add-a-proxy-configuration-page.patch
  14. +4
    -5
      patches/Bromite/Add-an-always-incognito-mode.patch
  15. +123
    -45
      patches/Bromite/Add-bookmark-import-export-actions.patch
  16. +5
    -5
      patches/Bromite/Add-exit-menu-item.patch
  17. +1
    -1
      patches/Bromite/Add-option-to-not-persist-tabs-across-sessions.patch
  18. +6
    -2
      patches/Bromite/Change-default-webRTC-policy-to-not-use-any-address.patch
  19. +9
    -6
      patches/Bromite/DoH-secure-mode-by-default.patch
  20. +13
    -5
      patches/Other/debug-fix.patch
  21. +3
    -1
      patches/series
  22. +46
    -16
      patches/ungoogled-chromium-android/Remove-dependency-on-com.google.android.play.core.splitcompat-com.google.android.play.core.splitinstall.patch
  23. +188
    -0
      patches/ungoogled-chromium-android/Remove-reference-to-android-s.patch

+ 2
- 2
.build_config View File

@ -10,7 +10,7 @@ trichrome_webview_target=trichrome_webview_apk
trichrome_webview_64_target=trichrome_webview_64_apk
all=all
chromium_version=94.0.4606.54
ungoogled_chromium_version=94.0.4606.54
chromium_version=94.0.4606.71
ungoogled_chromium_version=94.0.4606.71
ungoogled_chromium_revision=1
ungoogled_chromium_android_revision=1

+ 8
- 0
CHANGELOG.md View File

@ -1,3 +1,11 @@
# 94.0.4606.71-1
* Bookmark import-export is disabled (again)
* Now built with Android SDK rebuilt from s-beta-5 (Android 12 beta) and NDK r23. If you want to know how they are built, see [here](https://github.com/wchen342/android-rebuilds).
* For some reason the aforementioned public version of Android 12 SDK doesn't have new APIs in them, so they are removed (for now). Will re-investigate when formal version of SDK 12 release.
# 94.0.4606.61-1
* Re-enable proxy settings and bookmark import-export
# 94.0.4606.54-1
* Upstream update


+ 4
- 4
android_flags.gn View File

@ -1,9 +1,9 @@
android_channel="stable"
android_ndk_root = "//third_party/android_ndk"
android_ndk_version = "r20b"
android_ndk_major_version = 20
android_sdk_build_tools_version="30.0.1"
android_sdk_version="30"
android_ndk_version = "r23"
android_ndk_major_version = 23
android_sdk_build_tools_version="31.0.0"
android_sdk_version="31"
cc_wrapper="ccache"
clang_base_path="/usr"
dfmify_dev_ui=false


+ 1
- 0
android_flags.release.gn View File

@ -1,4 +1,5 @@
blink_symbol_level=1
dcheck_always_on=false
enable_iterator_debugging=false
fatal_linker_warnings=false
is_component_build=false


BIN
androidx-override/core-release.aar View File


+ 50
- 0
androidx-override/core_core.patch View File

@ -0,0 +1,50 @@
diff --git a/frameworks/support/core/core/src/main/res/attrs.xml b/frameworks/support/core/core/src/main/res/attrs.xml
--- a/frameworks/support/core/core/src/main/res/attrs.xml
+++ b/frameworks/support/core/core/src/main/res/attrs.xml
@@ -110,9 +110,6 @@
<!-- Alpha multiplier applied to the base color. -->
<attr name="alpha" format="float" />
<attr name="android:alpha"/>
- <!-- Perceptual luminance applied to the base color. From 0 to 100. -->
- <attr name="lStar" format="float" />
- <attr name="android:lStar" />
</declare-styleable>
<!-- Used to describe the gradient for fill or stroke in a path of VectorDrawable. -->
diff --git a/frameworks/support/core/core/src/main/java/androidx/core/content/res/ColorStateListInflaterCompat.java b/frameworks/support/core/core/src/main/java/androidx/core/content/res/ColorStateListInflaterCompat.java
--- a/frameworks/support/core/core/src/main/java/androidx/core/content/res/ColorStateListInflaterCompat.java
+++ b/frameworks/support/core/core/src/main/java/androidx/core/content/res/ColorStateListInflaterCompat.java
@@ -167,14 +167,6 @@ public final class ColorStateListInflaterCompat {
alphaMod = a.getFloat(R.styleable.ColorStateListItem_alpha, alphaMod);
}
- final float lStar;
- if (BuildCompat.isAtLeastS()
- && a.hasValue(R.styleable.ColorStateListItem_android_lStar)) {
- lStar = a.getFloat(R.styleable.ColorStateListItem_android_lStar, -1.0f);
- } else {
- lStar = a.getFloat(R.styleable.ColorStateListItem_lStar, -1.0f);
- }
-
a.recycle();
// Parse all unrecognized attributes as state specifiers.
@@ -185,8 +177,7 @@ public final class ColorStateListInflaterCompat {
final int stateResId = attrs.getAttributeNameResource(i);
if (stateResId != android.R.attr.color
&& stateResId != android.R.attr.alpha
- && stateResId != R.attr.alpha
- && stateResId != R.attr.lStar) {
+ && stateResId != R.attr.alpha) {
// Unrecognized attribute, add to state set
stateSpec[j++] = attrs.getAttributeBooleanValue(i, false)
? stateResId : -stateResId;
@@ -197,7 +188,7 @@ public final class ColorStateListInflaterCompat {
// Apply alpha and luminance modulation. If we couldn't resolve the color or
// alpha yet, the default values leave us enough information to
// modulate again during applyTheme().
- final int color = modulateColorAlpha(baseColor, alphaMod, lStar);
+ final int color = modulateColorAlpha(baseColor, alphaMod, -1.0f);
colorList = GrowingArrayUtils.append(colorList, listSize, color);
stateSpecList = GrowingArrayUtils.append(stateSpecList, listSize, stateSpec);

+ 52
- 22
build.sh View File

@ -137,6 +137,11 @@ function prepare_repos {
pushd src/third_party
ln -s ../../depot_tools
popd
# Replace ninja with system one
pushd src/third_party/depot_tools
rm ninja
ln -s /usr/bin/ninja
popd
## Sync files
# third_party/android_deps and some other overrides doesn't work
@ -180,20 +185,24 @@ function prepare_repos {
ln -s /usr/lib/jvm/jre-1.8.0 jre
popd
# Link to system clang tools
# Link to system llvm tools
pushd src/buildtools/linux64
ln -s /usr/bin/clang-format
popd
mkdir -p src/third_party/llvm-build/Release+Asserts/bin
pushd src/third_party/llvm-build/Release+Asserts/bin
ln -s /usr/bin/llvm-symbolizer
popd
## Hooks
python src/build/util/lastchange.py -o src/build/util/LASTCHANGE
python src/tools/download_optimization_profile.py --newest_state=src/chrome/android/profiles/newest.txt --local_state=src/chrome/android/profiles/local.txt --output_name=src/chrome/android/profiles/afdo.prof --gs_url_base=chromeos-prebuilt/afdo-job/llvm || return $?
python src/build/util/lastchange.py -m GPU_LISTS_VERSION --revision-id-only --header src/gpu/config/gpu_lists_version.h
python src/build/util/lastchange.py -m SKIA_COMMIT_HASH -s src/third_party/skia --header src/skia/ext/skia_commit_hash.h
# Needed for an ad-block list ised in webview
patch -p1 --ignore-whitespace -i patches/Other/gs-download-use-normal-python.patch --no-backup-if-mismatch
patch_applied=true
python src/third_party/depot_tools/download_from_google_storage.py --no_resume --no_auth --bucket chromium-ads-detection -s src/third_party/subresource-filter-ruleset/data/UnindexedRules.sha1 || return $?
# Needed for an ad-block list ised in webview
# gsutils still needs python2. Avoid it.
cp misc/UnindexedRules src/third_party/subresource-filter-ruleset/data
}
@ -227,19 +236,33 @@ python3 ungoogled-chromium/utils/patches.py apply src ungoogled-chromium/patches
python3 ungoogled-chromium/utils/domain_substitution.py apply -r ungoogled-chromium/domain_regex.list -f ungoogled-chromium/domain_substitution.list -c ${cache_file} src
## Compile third-party binaries
# eu-strip is re-compiled with -Wno-error
patch -p1 --ignore-whitespace -i patches/Other/eu-strip-build-script.patch --no-backup-if-mismatch
pushd src/buildtools/third_party/eu-strip
for i in $(seq 1 5); do ./build.sh && s=0 && break || s=$? && sleep 60; done; (exit $s)
popd
# Some of the support libraries can be grabbed from maven https://android.googlesource.com/platform/prebuilts/maven_repo/android/+/master/com/android/support/
## Prepare Android SDK/NDK
SDK_DIR="android-sdk_eng.11.0.0_r27_linux-x86"
# TODO: Failed to build on s-beta-5. Something is missing in the beta sdk.
# Need to test again when Android 12 releases. For now remove any code references to Android 12.
# SDK_DIR="android-sdk_eng.11.0.0_r27_linux-x86"
# SDK_VERSION_CODE="11"
SDK_DIR="android-sdk_eng.s-beta-5_linux-x86"
SDK_VERSION_CODE="Tiramisu"
# Create symbol links to sdk folders
# The rebuild sdk has a different folder structure from the checked out version, so it is easier to create symbol links
# TODO: update sdk-tools to 29.0.0
DIRECTORY="src/third_party/android_sdk/public"
if [[ -d "$DIRECTORY" ]]; then
find $DIRECTORY -mindepth 1 -maxdepth 1 -not -name cmdline-tools -exec rm -rf '{}' \;
fi
pushd ${DIRECTORY}
mkdir build-tools && ln -s ../../../../../android-sdk/${SDK_DIR}/build-tools/android-11 build-tools/30.0.1
mkdir build-tools && ln -s ../../../../../android-sdk/${SDK_DIR}/build-tools/android-${SDK_VERSION_CODE} build-tools/31.0.0
mkdir platforms
ln -s ../../../../../android-sdk/${SDK_DIR}/platforms/android-11 platforms/android-30
ln -s ../../../../../android-sdk/${SDK_DIR}/platforms/android-${SDK_VERSION_CODE} platforms/android-31
ln -s ../../../../android-sdk/${SDK_DIR}/platform-tools platform-tools
ln -s ../../../../android-sdk/${SDK_DIR}/tools tools
popd
@ -249,34 +272,28 @@ DIRECTORY="src/third_party/android_ndk"
gn_file="BUILD.gn"
mkdir "ndk_temp"
cp -a "${DIRECTORY}/${gn_file}" ndk_temp
cp -ar "${DIRECTORY}/toolchains/llvm/prebuilt/linux-x86_64" ndk_temp # Need libgcc.a otherwise compilation will fail
cp -ar "${DIRECTORY}/toolchains/llvm/prebuilt/linux-x86_64" ndk_temp # Need libgcc.a, readelf, libatomic, etc. that's not in NDK prebuilt
pushd "${DIRECTORY}"
cd ..
rm -rf android_ndk
ln -s ../../android-ndk/android-ndk-r20b android_ndk
ln -s ../../android-ndk/android-ndk-r23 android_ndk
popd
mkdir android-sdk
mkdir android-ndk
pushd android-rebuilds
unzip -qqo android-sdk_eng.11.0.0_r27_linux-x86.zip -d ../android-sdk && rm -f android-sdk_eng.11.0.0_r27_linux-x86.zip && s=0 || s=$? && (exit $s)
unzip -qqo sdk-repo-linux-tools-26.1.1.zip -d ../android-sdk/android-sdk_eng.10.0.0_r14_linux-x86 && rm -f sdk-repo-linux-tools-26.1.1.zip && s=0 || s=$? && (exit $s)
tar xjf android-ndk-r20b-linux-x86_64.tar.bz2 -C ../android-ndk && rm -f android-ndk-r20b-linux-x86_64.tar.bz2 && s=0 || s=$? && (exit $s)
unzip -qqo android-sdk_eng.s-beta-5_linux-x86.zip -d ../android-sdk && mv ../android-sdk/android-sdk_eng.build_linux-x86 ../android-sdk/android-sdk_eng.s-beta-5_linux-x86 && rm -f android-sdk_eng.s-beta-5_linux-x86.zip && s=0 || s=$? && (exit $s)
unzip -qqo sdk-repo-linux-tools-26.1.1.zip -d ../android-sdk/android-sdk_eng.s-beta-5_linux-x86 && rm -f sdk-repo-linux-tools-26.1.1.zip && s=0 || s=$? && (exit $s)
unzip -qqo android-ndk-r23-linux-x86_64.zip -d ../android-ndk && rm -f android-ndk-r23-linux-x86_64.zip && s=0 || s=$? && (exit $s)
popd
# Move ndk files into place
cp -a "ndk_temp/${gn_file}" android-ndk/android-ndk-r20b
cp -ar "ndk_temp/linux-x86_64" android-ndk/android-ndk-r20b/toolchains/llvm/prebuilt
cp -a "ndk_temp/${gn_file}" android-ndk/android-ndk-r23
cp -ar "ndk_temp/linux-x86_64" android-ndk/android-ndk-r23/toolchains/llvm/prebuilt
rm -rf "ndk_temp"
## Compile third-party binaries
# eu-strip is re-compiled with -Wno-error
patch -p1 --ignore-whitespace -i patches/Other/eu-strip-build-script.patch --no-backup-if-mismatch
pushd src/buildtools/third_party/eu-strip
for i in $(seq 1 5); do ./build.sh && s=0 && break || s=$? && sleep 60; done; (exit $s)
popd
# Some of the support libraries can be grabbed from maven https://android.googlesource.com/platform/prebuilts/maven_repo/android/+/master/com/android/support/
# SDK needs the old aidl because an import failure
cp misc/aidl src/third_party/android_sdk/public/build-tools/31.0.0
# Additional Source Patches
## Extra fixes for Chromium source
@ -294,6 +311,14 @@ fi
python3 ungoogled-chromium/utils/domain_substitution.py apply -r ungoogled-chromium/domain_regex.list -f ${substitution_list_2} -c ${cache_file} src
# Override androidx libraries
# This is to remove Android S APIs because they don't exist in the public version of SDK yet. See androidx-override/core_core.patch for changes.
lib_path=$(find .cipd -name core-1.7.0-SNAPSHOT.aar | cut -d/ -f-6)
chmod +w "${lib_path}"/core-1.7.0-SNAPSHOT.aar
ls -l "${lib_path}"
cp androidx-override/core-release.aar "${lib_path}"/core-1.7.0-SNAPSHOT.aar
ls -l .cipd/pkgs # DEBUG
## Configure output folder
export PATH=$OLD_PATH # remove depot_tools from PATH
pushd src
@ -308,6 +333,11 @@ fi
printf '\ntarget_cpu="'"$ARCH"'"\n' >> "${output_folder}"/args.gn
# Trichrome doesn't forward version_name to base in bundle
printf '\nandroid_override_version_name="'"${chromium_version}"'"\n' >> "${output_folder}"/args.gn
# Update aar.info for override
chmod 644 ../"${lib_path}"/androidx_core_core.info
printf '\nupdate_android_aar_prebuilts=true' >> "${output_folder}"/args.gn
gn gen "${output_folder}" --fail-on-unused-args
popd


+ 1
- 1
bundle_generate_apk.sh View File

@ -8,7 +8,7 @@ source "${SCRIPT_PATH}/.build_config"
KEYSTORE=$PWD/../../uc_keystore/uc-release-key.keystore
KEYSTORE_PASS=$PWD/../../uc_keystore/keystore_pass
APKSIGNER=$PWD/third_party/android_sdk/public/build-tools/30.0.1/apksigner
APKSIGNER=$PWD/third_party/android_sdk/public/build-tools/31.0.0/apksigner
BUNDLETOOL=$PWD/build/android/gyp/bundletool.py
AAPT2=$PWD/third_party/android_build_tools/aapt2/aapt2


+ 248
- 152
domain_sub_2.list
File diff suppressed because it is too large
View File


+ 4726
- 0
misc/UnindexedRules
File diff suppressed because it is too large
View File


BIN
misc/aidl View File


+ 7
- 7
patches/Bromite/AImageReader-CFI-crash-mitigations.patch View File

@ -214,24 +214,24 @@ See discussions at:
}
--- a/media/base/media_switches.cc
+++ b/media/base/media_switches.cc
@@ -673,6 +673,10 @@ const base::Feature kMediaDrmPreprovisio
@@ -672,6 +672,10 @@ const base::Feature kMediaDrmPreprovisio
// Note: Has no effect if kMediaDrmPreprovisioning feature is disabled.
const base::Feature kMediaDrmPreprovisioningAtStartup{
"MediaDrmPreprovisioningAtStartup", base::FEATURE_ENABLED_BY_DEFAULT};
+// Enables the Android Image Reader path for Video decoding(for AVDA and MCVD)
+const base::Feature kAImageReaderVideoOutput{"AImageReaderVideoOutput",
+ base::FEATURE_ENABLED_BY_DEFAULT};
+
// Enable picture in picture web api for android.
const base::Feature kPictureInPictureAPI{"PictureInPictureAPI",
base::FEATURE_DISABLED_BY_DEFAULT};
--- a/media/base/media_switches.h
+++ b/media/base/media_switches.h
@@ -221,6 +221,7 @@ MEDIA_EXPORT extern const base::Feature
@@ -219,6 +219,7 @@ MEDIA_EXPORT extern const base::Feature
MEDIA_EXPORT extern const base::Feature kAllowNonSecureOverlays;
MEDIA_EXPORT extern const base::Feature kMediaControlsExpandGesture;
MEDIA_EXPORT extern const base::Feature kMediaDrmPersistentLicense;
+MEDIA_EXPORT extern const base::Feature kAImageReaderVideoOutput;
MEDIA_EXPORT extern const base::Feature kMediaDrmPreprovisioning;
MEDIA_EXPORT extern const base::Feature kMediaDrmPreprovisioningAtStartup;
+MEDIA_EXPORT extern const base::Feature kAImageReaderVideoOutput;
MEDIA_EXPORT extern const base::Feature kCanPlayHls;
MEDIA_EXPORT extern const base::Feature kPictureInPictureAPI;
MEDIA_EXPORT extern const base::Feature kHlsPlayer;

+ 20
- 21
patches/Bromite/Add-a-proxy-configuration-page.patch View File

@ -23,7 +23,7 @@ for SimpleURLLoaders as well.
chrome/browser/resources/proxy_config.js | 266 ++++++
chrome/browser/ui/BUILD.gn | 2
chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc | 3
chrome/browser/ui/webui/proxy_config_ui.cc | 417 ++++++++++
chrome/browser/ui/webui/proxy_config_ui.cc | 416 ++++++++++
chrome/browser/ui/webui/proxy_config_ui.h | 33
chrome/common/webui_url_constants.cc | 4
chrome/common/webui_url_constants.h | 2
@ -33,7 +33,7 @@ for SimpleURLLoaders as well.
components/proxy_config/proxy_config_dictionary.h | 7
net/proxy_resolution/proxy_config.cc | 52 +
net/proxy_resolution/proxy_config.h | 3
24 files changed, 996 insertions(+), 14 deletions(-)
24 files changed, 995 insertions(+), 14 deletions(-)
create mode 100644 chrome/browser/resources/proxy_config.css
create mode 100644 chrome/browser/resources/proxy_config.html
create mode 100644 chrome/browser/resources/proxy_config.js
@ -67,7 +67,7 @@ for SimpleURLLoaders as well.
android:title="@string/clear_browsing_data_title"
--- 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
@@ -54,6 +54,7 @@ public class PrivacySettings
@@ -56,6 +56,7 @@ public class PrivacySettings
private static final String PREF_DO_NOT_TRACK = "do_not_track";
private static final String PREF_CLEAR_BROWSING_DATA = "clear_browsing_data";
private static final String PREF_CLOSE_TABS_ON_EXIT = "close_tabs_on_exit";
@ -77,7 +77,7 @@ for SimpleURLLoaders as well.
private ManagedPreferenceDelegate mManagedPreferenceDelegate;
--- a/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc
+++ b/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc
@@ -362,6 +362,8 @@ ChromeAutocompleteProviderClient::GetBui
@@ -364,6 +364,8 @@ ChromeAutocompleteProviderClient::GetBui
base::ASCIIToUTF16(chrome::kChromeUISettingsURL));
#endif
builtins_to_provide.push_back(
@ -88,7 +88,7 @@ for SimpleURLLoaders as well.
}
--- a/chrome/browser/browser_resources.grd
+++ b/chrome/browser/browser_resources.grd
@@ -92,6 +92,12 @@
@@ -88,6 +88,12 @@
<include name="IDR_HANGOUT_SERVICES_MANIFEST" file="resources\hangout_services\manifest.json" type="BINDATA" />
</if>
@ -174,7 +174,7 @@ for SimpleURLLoaders as well.
#if BUILDFLAG(ENABLE_BACKGROUND_MODE)
#include "chrome/browser/background/background_mode_manager.h"
#endif
@@ -899,6 +901,8 @@ void RegisterLocalState(PrefRegistrySimp
@@ -912,6 +914,8 @@ void RegisterLocalState(PrefRegistrySimp
PluginsResourceService::RegisterPrefs(registry);
#endif
@ -611,7 +611,7 @@ for SimpleURLLoaders as well.
+})();
--- a/chrome/browser/ui/BUILD.gn
+++ b/chrome/browser/ui/BUILD.gn
@@ -265,6 +265,8 @@ static_library("ui") {
@@ -267,6 +267,8 @@ static_library("ui") {
"webui/metrics_handler.h",
"webui/net_export_ui.cc",
"webui/net_export_ui.h",
@ -622,7 +622,7 @@ for SimpleURLLoaders as well.
"webui/ntp_tiles_internals_ui.cc",
--- a/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc
+++ b/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc
@@ -53,6 +53,7 @@
@@ -54,6 +54,7 @@
#include "chrome/browser/ui/webui/omnibox/omnibox_ui.h"
#include "chrome/browser/ui/webui/policy/policy_ui.h"
#include "chrome/browser/ui/webui/predictors/predictors_ui.h"
@ -630,7 +630,7 @@ for SimpleURLLoaders as well.
#include "chrome/browser/ui/webui/quota_internals/quota_internals_ui.h"
#include "chrome/browser/ui/webui/signin_internals_ui.h"
#include "chrome/browser/ui/webui/sync_internals/sync_internals_ui.h"
@@ -617,6 +618,8 @@ WebUIFactoryFunction GetWebUIFactoryFunc
@@ -622,6 +623,8 @@ WebUIFactoryFunction GetWebUIFactoryFunc
return &NewWebUI<MemoryInternalsUI>;
if (url.host_piece() == chrome::kChromeUINetExportHost)
return &NewWebUI<NetExportUI>;
@ -641,7 +641,7 @@ for SimpleURLLoaders as well.
if (url.host_piece() == chrome::kChromeUINTPTilesInternalsHost)
--- /dev/null
+++ b/chrome/browser/ui/webui/proxy_config_ui.cc
@@ -0,0 +1,417 @@
@@ -0,0 +1,416 @@
+/*
+ This file is part of Bromite.
+
@ -672,7 +672,6 @@ for SimpleURLLoaders as well.
+#include "base/lazy_instance.h"
+#include "base/macros.h"
+#include "base/memory/ref_counted.h"
+#include "base/scoped_observer.h"
+#include "base/strings/string_util.h"
+#include "base/strings/utf_string_conversions.h"
+#include "base/values.h"
@ -1106,7 +1105,7 @@ for SimpleURLLoaders as well.
const char kChromeUIChromeURLsHost[] = "chrome-urls";
const char kChromeUIChromeURLsURL[] = "chrome://chrome-urls/";
const char kChromeUIComponentsHost[] = "components";
@@ -344,6 +346,7 @@ bool IsSystemWebUIHost(base::StringPiece
@@ -346,6 +348,7 @@ bool IsSystemWebUIHost(base::StringPiece
kChromeUIMobileSetupHost,
kChromeUIMultiDeviceSetupHost,
kChromeUINetworkHost,
@ -1115,16 +1114,16 @@ for SimpleURLLoaders as well.
kChromeUIOSCreditsHost,
kChromeUIOSSettingsHost,
@@ -568,6 +571,7 @@ const char* const kChromeHostURLs[] = {
#if !defined(OS_ANDROID)
#if !BUILDFLAG(IS_CHROMEOS_ASH)
kChromeUIAppLauncherPageHost,
#endif
+ kChromeUIProxyConfigHost,
#endif
kChromeUIBookmarksHost,
kChromeUIDownloadsHost,
kChromeUIHelpHost,
--- a/chrome/common/webui_url_constants.h
+++ b/chrome/common/webui_url_constants.h
@@ -122,6 +122,8 @@ extern const char kChromeUIMemoryInterna
@@ -125,6 +125,8 @@ extern const char kChromeUIMemoryInterna
extern const char kChromeUINTPTilesInternalsHost[];
extern const char kChromeUINaClHost[];
extern const char kChromeUINetExportHost[];
@ -1135,12 +1134,12 @@ for SimpleURLLoaders as well.
extern const char kChromeUINewTabHost[];
--- a/components/policy/core/browser/proxy_policy_handler.cc
+++ b/components/policy/core/browser/proxy_policy_handler.cc
@@ -210,7 +210,7 @@ void ProxyPolicyHandler::ApplyPolicySett
bypass_list->GetAsString(&bypass_list_string);
prefs->SetValue(proxy_config::prefs::kProxy,
ProxyConfigDictionary::CreateFixedServers(
- proxy_server, bypass_list_string));
+ proxy_server, bypass_list_string, false));
@@ -207,7 +207,7 @@ void ProxyPolicyHandler::ApplyPolicySett
ProxyConfigDictionary::CreateFixedServers(
server->GetString(), bypass_list && bypass_list->is_string()
? bypass_list->GetString()
- : std::string()));
+ : std::string(), false));
}
break;
}


+ 4
- 5
patches/Bromite/Add-an-always-incognito-mode.patch View File

@ -9,7 +9,7 @@ Enable incognito custom tabs and fix crashes for incognito/custom tab intents (c
---
chrome/android/chrome_java_sources.gni | 1
chrome/android/java/src/org/chromium/chrome/browser/AlwaysIncognitoLinkInterceptor.java | 80 ++++++++++
chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java | 7
chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java | 6
chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java | 4
chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/AppMenuPropertiesDelegateImpl.java | 6
chrome/android/java/src/org/chromium/chrome/browser/contextmenu/ChromeContextMenuPopulator.java | 8 -
@ -22,7 +22,7 @@ Enable incognito custom tabs and fix crashes for incognito/custom tab intents (c
chrome/android/java/src/org/chromium/chrome/browser/webapps/WebappIntentDataProvider.java | 14 +
chrome/browser/flags/android/chrome_feature_list.cc | 2
chrome/browser/ui/android/strings/android_chrome_strings.grd | 7
15 files changed, 166 insertions(+), 34 deletions(-)
15 files changed, 165 insertions(+), 34 deletions(-)
create mode 100644 chrome/android/java/src/org/chromium/chrome/browser/AlwaysIncognitoLinkInterceptor.java
--- a/chrome/android/chrome_java_sources.gni
@ -128,14 +128,13 @@ Enable incognito custom tabs and fix crashes for incognito/custom tab intents (c
import org.chromium.chrome.browser.IntentHandler.IntentHandlerDelegate;
import org.chromium.chrome.browser.IntentHandler.TabOpenType;
import org.chromium.chrome.browser.accessibility_tab_switcher.OverviewListLayout;
@@ -1763,8 +1764,10 @@ public class ChromeTabbedActivity extend
@@ -1763,8 +1764,9 @@ public class ChromeTabbedActivity extend
Bundle savedInstanceState = getSavedInstanceState();
// We determine the model as soon as possible so every systems get initialized coherently.
- boolean startIncognito = savedInstanceState != null
- && savedInstanceState.getBoolean(IS_INCOGNITO_SELECTED, false);
+ boolean startIncognito = ContextUtils.getAppSharedPreferences().getBoolean(
+ AlwaysIncognitoLinkInterceptor.PREF_ALWAYS_INCOGNITO, false)
+ boolean startIncognito = ContextUtils.getAppSharedPreferences().getBoolean(AlwaysIncognitoLinkInterceptor.PREF_ALWAYS_INCOGNITO, false)
+ || (savedInstanceState != null
+ && savedInstanceState.getBoolean(IS_INCOGNITO_SELECTED, false));


+ 123
- 45
patches/Bromite/Add-bookmark-import-export-actions.patch View File

@ -11,13 +11,14 @@ Completely remove contacts picker permission from the file dialog
base/android/java/src/org/chromium/base/ContentUriUtils.java | 32 +
chrome/android/java/AndroidManifest.xml | 1
chrome/android/java/res/menu/bookmark_action_bar_menu.xml | 14
chrome/android/java/src/org/chromium/chrome/browser/TabbedModeTabDelegateFactory.java | 5
chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkActionBar.java | 12
chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkActivity.java | 28
chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkActivity.java | 30 +
chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkBridge.java | 277 +++++++++
chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkDelegate.java | 10
chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkManager.java | 22
chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkPage.java | 8
chrome/android/java/src/org/chromium/chrome/browser/native_page/NativePageFactory.java | 2
chrome/android/java/src/org/chromium/chrome/browser/native_page/NativePageFactory.java | 11
chrome/browser/BUILD.gn | 11
chrome/browser/about_flags.cc | 6
chrome/browser/android/bookmarks/bookmark_bridge.cc | 284 ++++++++++
@ -43,7 +44,7 @@ Completely remove contacts picker permission from the file dialog
ui/shell_dialogs/select_file_dialog.h | 2
ui/shell_dialogs/select_file_dialog_android.cc | 6
ui/shell_dialogs/select_file_dialog_android.h | 2
37 files changed, 880 insertions(+), 23 deletions(-)
38 files changed, 890 insertions(+), 29 deletions(-)
--- a/base/android/content_uri_utils.cc
+++ b/base/android/content_uri_utils.cc
@ -127,9 +128,9 @@ Completely remove contacts picker permission from the file dialog
*
--- a/chrome/android/java/AndroidManifest.xml
+++ b/chrome/android/java/AndroidManifest.xml
@@ -56,7 +56,6 @@ by a child template that "extends" this
<uses-permission-sdk-23 android:name="android.permission.BLUETOOTH_ADMIN"/>
{% endif %}
@@ -59,7 +59,6 @@ by a child template that "extends" this
<uses-permission-sdk-23 android:name="android.permission.BLUETOOTH_SCAN"
android:usesPermissionFlags="neverForLocation"/>
- <uses-permission-sdk-23 android:name="android.permission.READ_CONTACTS"/>
<uses-permission-sdk-23 android:name="android.permission.REORDER_TASKS"/>
@ -158,6 +159,34 @@ Completely remove contacts picker permission from the file dialog
android:id="@+id/close_menu_id"
android:icon="@drawable/btn_close"
android:title="@string/bookmark_action_bar_close"
--- a/chrome/android/java/src/org/chromium/chrome/browser/TabbedModeTabDelegateFactory.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/TabbedModeTabDelegateFactory.java
@@ -9,6 +9,7 @@ import android.app.Activity;
import org.chromium.base.jank_tracker.JankTracker;
import org.chromium.base.supplier.BooleanSupplier;
import org.chromium.base.supplier.Supplier;
+import org.chromium.chrome.browser.app.ChromeActivity;
import org.chromium.chrome.browser.app.tab_activity_glue.ActivityTabWebContentsDelegateAndroid;
import org.chromium.chrome.browser.browser_controls.BrowserControlsStateProvider;
import org.chromium.chrome.browser.compositor.CompositorViewHolder;
@@ -46,7 +47,7 @@ import org.chromium.ui.modaldialog.Modal
* {@link ChromeTabbedActivity}.
*/
public class TabbedModeTabDelegateFactory implements TabDelegateFactory {
- private final Activity mActivity;
+ private final ChromeActivity mActivity;
private final BrowserControlsVisibilityDelegate mAppBrowserControlsVisibilityDelegate;
private final Supplier<ShareDelegate> mShareDelegateSupplier;
private final Supplier<EphemeralTabCoordinator> mEphemeralTabCoordinatorSupplier;
@@ -72,7 +73,7 @@ public class TabbedModeTabDelegateFactor
private NativePageFactory mNativePageFactory;
- public TabbedModeTabDelegateFactory(Activity activity,
+ public TabbedModeTabDelegateFactory(ChromeActivity activity,
BrowserControlsVisibilityDelegate appBrowserControlsVisibilityDelegate,
Supplier<ShareDelegate> shareDelegateSupplier,
Supplier<EphemeralTabCoordinator> ephemeralTabCoordinatorSupplier,
--- a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkActionBar.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkActionBar.java
@@ -86,6 +86,12 @@ public class BookmarkActionBar extends S
@ -202,18 +231,19 @@ Completely remove contacts picker permission from the file dialog
getMenu().findItem(R.id.edit_menu_id).setVisible(mCurrentFolder.isEditable());
--- a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkActivity.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkActivity.java
@@ -15,6 +15,10 @@ import org.chromium.chrome.browser.Inten
@@ -15,6 +15,11 @@ import org.chromium.chrome.browser.Inten
import org.chromium.chrome.browser.SnackbarActivity;
import org.chromium.components.bookmarks.BookmarkId;
import org.chromium.components.embedder_support.util.UrlConstants;
+import org.chromium.ui.base.ActivityWindowAndroid;
+import org.chromium.ui.base.IntentRequestTracker;
+
+import org.chromium.ui.modaldialog.ModalDialogManager;
+import org.chromium.components.browser_ui.modaldialog.AppModalPresenter;
/**
* The activity that displays the bookmark UI on the phone. It keeps a {@link BookmarkManager}
@@ -24,6 +28,7 @@ import org.chromium.components.embedder_
@@ -24,6 +29,7 @@ import org.chromium.components.embedder_
public class BookmarkActivity extends SnackbarActivity {
private BookmarkManager mBookmarkManager;
@ -221,36 +251,40 @@ Completely remove contacts picker permission from the file dialog
static final int EDIT_BOOKMARK_REQUEST_CODE = 14;
public static final String INTENT_VISIT_BOOKMARK_ID = "BookmarkEditActivity.VisitBookmarkId";
@@ -40,6 +45,20 @@ public class BookmarkActivity extends Sn
@@ -40,9 +46,24 @@ public class BookmarkActivity extends Sn
if (TextUtils.isEmpty(url)) url = UrlConstants.BOOKMARKS_URL;
mBookmarkManager.updateForUrl(url);
setContentView(mBookmarkManager.getView());
+
+ final boolean listenToActivityState = true;
+ mWindowAndroid = new ActivityWindowAndroid(this, listenToActivityState);
+ mWindowAndroid.restoreInstanceState(savedInstanceState);
+ IntentRequestTracker intentRequestTracker = IntentRequestTracker.createFromActivity(this);
+ mWindowAndroid = new ActivityWindowAndroid(this, listenToActivityState, intentRequestTracker);
+ mWindowAndroid.getIntentRequestTracker().restoreInstanceState(savedInstanceState);
+ mBookmarkManager.setWindow(mWindowAndroid,
+ new ModalDialogManager(
+ new AppModalPresenter(this), ModalDialogManager.ModalDialogType.APP));
+ }
+
+ @Override
+ protected void onSaveInstanceState(Bundle outState) {
+ super.onSaveInstanceState(outState);
+
+ mWindowAndroid.saveInstanceState(outState);
}
@Override
@@ -56,6 +75,7 @@ public class BookmarkActivity extends Sn
+ protected void onSaveInstanceState(Bundle outState) {
+ super.onSaveInstanceState(outState);
+
+ mWindowAndroid.getIntentRequestTracker().saveInstanceState(outState);
+ }
+
+ @Override
protected void onDestroy() {
super.onDestroy();
mBookmarkManager.onDestroyed();
@@ -56,6 +77,7 @@ public class BookmarkActivity extends Sn
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
+ mWindowAndroid.onActivityResult(requestCode, resultCode, data);
+ mWindowAndroid.getIntentRequestTracker().onActivityResult(requestCode, resultCode, data, mWindowAndroid);
if (requestCode == EDIT_BOOKMARK_REQUEST_CODE && resultCode == RESULT_OK) {
BookmarkId bookmarkId = BookmarkId.getBookmarkIdFromString(data.getStringExtra(
INTENT_VISIT_BOOKMARK_ID));
@@ -63,6 +83,14 @@ public class BookmarkActivity extends Sn
@@ -63,6 +85,14 @@ public class BookmarkActivity extends Sn
}
}
@ -684,7 +718,51 @@ Completely remove contacts picker permission from the file dialog
initWithView(mManager.getView());
--- a/chrome/android/java/src/org/chromium/chrome/browser/native_page/NativePageFactory.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/native_page/NativePageFactory.java
@@ -176,7 +176,7 @@ public class NativePageFactory {
@@ -15,6 +15,7 @@ import org.chromium.base.jank_tracker.Ja
import org.chromium.base.supplier.BooleanSupplier;
import org.chromium.base.supplier.DestroyableObservableSupplier;
import org.chromium.base.supplier.Supplier;
+import org.chromium.chrome.browser.app.ChromeActivity;
import org.chromium.chrome.browser.bookmarks.BookmarkPage;
import org.chromium.chrome.browser.browser_controls.BrowserControlsMarginSupplier;
import org.chromium.chrome.browser.browser_controls.BrowserControlsStateProvider;
@@ -54,7 +55,7 @@ import org.chromium.ui.util.ColorUtils;
* Creates NativePage objects to show chrome-native:// URLs using the native Android view system.
*/
public class NativePageFactory {
- private final Activity mActivity;
+ private final ChromeActivity mActivity;
private final BottomSheetController mBottomSheetController;
private final BrowserControlsManager mBrowserControlsManager;
private final Supplier<Tab> mCurrentTabSupplier;
@@ -72,7 +73,7 @@ public class NativePageFactory {
private NativePageBuilder mNativePageBuilder;
- public NativePageFactory(@NonNull Activity activity,
+ public NativePageFactory(@NonNull ChromeActivity activity,
@NonNull BottomSheetController sheetController,
@NonNull BrowserControlsManager browserControlsManager,
@NonNull Supplier<Tab> currentTabSupplier,
@@ -123,7 +124,7 @@ public class NativePageFactory {
@VisibleForTesting
static class NativePageBuilder {
- private final Activity mActivity;
+ private final ChromeActivity mActivity;
private final BottomSheetController mBottomSheetController;
private final Supplier<NewTabPageUma> mUma;
private final BrowserControlsManager mBrowserControlsManager;
@@ -137,7 +138,7 @@ public class NativePageFactory {
private final JankTracker mJankTracker;
private final Supplier<Toolbar> mToolbarSupplier;
- public NativePageBuilder(Activity activity, Supplier<NewTabPageUma> uma,
+ public NativePageBuilder(ChromeActivity activity, Supplier<NewTabPageUma> uma,
BottomSheetController sheetController,
BrowserControlsManager browserControlsManager, Supplier<Tab> currentTabSupplier,
Supplier<SnackbarManager> snackbarManagerSupplier,
@@ -176,7 +177,7 @@ public class NativePageFactory {
protected NativePage buildBookmarksPage(Tab tab) {
return new BookmarkPage(mActivity.getComponentName(), mSnackbarManagerSupplier.get(),
mTabModelSelector.isIncognitoSelected(),
@ -695,7 +773,7 @@ Completely remove contacts picker permission from the file dialog
protected NativePage buildDownloadsPage(Tab tab) {
--- a/chrome/browser/BUILD.gn
+++ b/chrome/browser/BUILD.gn
@@ -1833,6 +1833,13 @@ static_library("browser") {
@@ -1834,6 +1834,13 @@ static_library("browser") {
"window_placement/window_placement_permission_context.h",
]
@ -709,7 +787,7 @@ Completely remove contacts picker permission from the file dialog
configs += [
"//build/config/compiler:wexit_time_destructors",
"//build/config:precompiled_headers",
@@ -2944,6 +2951,8 @@ static_library("browser") {
@@ -2960,6 +2967,8 @@ static_library("browser") {
"autofill/manual_filling_view_interface.h",
"banners/android/chrome_app_banner_manager_android.cc",
"banners/android/chrome_app_banner_manager_android.h",
@ -718,7 +796,7 @@ Completely remove contacts picker permission from the file dialog
"browser_process_platform_part_android.cc",
"browser_process_platform_part_android.h",
"chrome_browser_field_trials_mobile.cc",
@@ -3478,8 +3487,6 @@ static_library("browser") {
@@ -3515,8 +3524,6 @@ static_library("browser") {
"badging/badge_manager_factory.h",
"banners/app_banner_manager_desktop.cc",
"banners/app_banner_manager_desktop.h",
@ -729,9 +807,9 @@ Completely remove contacts picker permission from the file dialog
"browsing_data/chrome_browsing_data_lifetime_manager_factory.cc",
--- a/chrome/browser/about_flags.cc
+++ b/chrome/browser/about_flags.cc
@@ -7623,6 +7623,12 @@ const FeatureEntry kFeatureEntries[] = {
FEATURE_VALUE_TYPE(features::kShareUsageRanking)},
#endif
@@ -7545,6 +7545,12 @@ const FeatureEntry kFeatureEntries[] = {
FEATURE_VALUE_TYPE(
password_manager::features::kPasswordsAccountStorageRevisedOptInFlow)},
+ {"export-bookmarks-use-saf",
+ flag_descriptions::kBookmarksExportUseSafName,
@ -1241,9 +1319,9 @@ Completely remove contacts picker permission from the file dialog
// name conflict or disk error.
--- a/chrome/browser/flag_descriptions.cc
+++ b/chrome/browser/flag_descriptions.cc
@@ -5495,6 +5495,11 @@ const char kWebrtcPipeWireCapturerDescri
"capturing the desktop content on the Wayland display server.";
#endif // #if defined(WEBRTC_USE_PIPEWIRE)
@@ -5300,6 +5300,11 @@ const char kWebKioskEnableLacrosDescript
"Chrome OS. When disabled, the Ash-chrome will be used";
#endif // BUILDFLAG(IS_CHROMEOS_ASH)
+const char kBookmarksExportUseSafName[] = "Use saf for bookmarks export";
+const char kBookmarksExportUseSafDescription[] =
@ -1255,9 +1333,9 @@ Completely remove contacts picker permission from the file dialog
// alphabetical order just like the header file.
--- a/chrome/browser/flag_descriptions.h
+++ b/chrome/browser/flag_descriptions.h
@@ -3207,6 +3207,9 @@ extern const char kWebrtcPipeWireCapture
extern const char kWebrtcPipeWireCapturerDescription[];
#endif // #if defined(WEBRTC_USE_PIPEWIRE)
@@ -3088,6 +3088,9 @@ extern const char kWebKioskEnableLacrosN
extern const char kWebKioskEnableLacrosDescription[];
#endif // BUILDFLAG(IS_CHROMEOS_ASH)
+extern const char kBookmarksExportUseSafName[];
+extern const char kBookmarksExportUseSafDescription[];
@ -1267,7 +1345,7 @@ Completely remove contacts picker permission from the file dialog
// alphabetical order. See top instructions for more.
--- a/chrome/browser/flags/android/chrome_feature_list.cc
+++ b/chrome/browser/flags/android/chrome_feature_list.cc
@@ -156,6 +156,7 @@ const base::Feature* const kFeaturesExpo
@@ -164,6 +164,7 @@ const base::Feature* const kFeaturesExpo
&kBackgroundThreadPool,
&kBentoOffline,
&kBookmarkBottomSheet,
@ -1275,9 +1353,9 @@ Completely remove contacts picker permission from the file dialog
&kCastDeviceFilter,
&kCloseTabSuggestions,
&kCriticalPersistedTabData,
@@ -774,6 +775,10 @@ const base::Feature kWebOtpCrossDeviceSi
const base::Feature kWebApkInstallCompleteNotification{
"WebApkInstallCompleteNotification", base::FEATURE_DISABLED_BY_DEFAULT};
@@ -810,6 +811,10 @@ const base::Feature kWebApkInstallComple
const base::Feature kWebApkTrampolineOnInitialIntent{
"WebApkTrampolineOnInitialIntent", base::FEATURE_ENABLED_BY_DEFAULT};
+// disabled by default because of an issue on Android 6.0
+const base::Feature kBookmarksExportUseSaf{"BookmarksExportUseSaf",
@ -1288,7 +1366,7 @@ Completely remove contacts picker permission from the file dialog
const JavaParamRef<jstring>& jfeature_name) {
--- a/chrome/browser/flags/android/chrome_feature_list.h
+++ b/chrome/browser/flags/android/chrome_feature_list.h
@@ -140,6 +140,7 @@ extern const base::Feature kToolbarMicIp
@@ -146,6 +146,7 @@ extern const base::Feature kToolbarMicIp
extern const base::Feature kToolbarUseHardwareBitmapDraw;
extern const base::Feature kTrustedWebActivityLocationDelegation;
extern const base::Feature kTrustedWebActivityNewDisclosure;
@ -1298,8 +1376,8 @@ Completely remove contacts picker permission from the file dialog
extern const base::Feature kTrustedWebActivityQualityEnforcementForced;
--- a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
+++ b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
@@ -522,6 +522,7 @@ public abstract class ChromeFeatureList
"WebApkInstallCompleteNotification";
@@ -541,6 +541,7 @@ public abstract class ChromeFeatureList
"WebApkTrampolineOnInitialIntent";
public static final String XSURFACE_METRICS_REPORTING = "XsurfaceMetricsReporting";
public static final String WEB_OTP_CROSS_DEVICE_SIMPLE_STRING = "WebOtpCrossDeviceSimpleString";
+ public static final String BOOKMARKS_EXPORT_USESAF = "BookmarksExportUseSaf";
@ -1364,7 +1442,7 @@ Completely remove contacts picker permission from the file dialog
// Adds the TemplateURLs in |template_urls| to the local store.
--- a/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java
+++ b/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java
@@ -121,6 +121,8 @@ public final class ChromePreferenceKeys
@@ -124,6 +124,8 @@ public final class ChromePreferenceKeys
public static final String BOOKMARKS_LAST_USED_URL = "enhanced_bookmark_last_used_url";
public static final String BOOKMARKS_LAST_USED_PARENT =
"enhanced_bookmark_last_used_parent_folder";
@ -1373,7 +1451,7 @@ Completely remove contacts picker permission from the file dialog
/**
* Whether Chrome is set as the default browser.
@@ -1030,6 +1032,7 @@ public final class ChromePreferenceKeys
@@ -1045,6 +1047,7 @@ public final class ChromePreferenceKeys
AUTOFILL_ASSISTANT_PROACTIVE_HELP,
APP_LAUNCH_LAST_KNOWN_ACTIVE_TAB_STATE,
APP_LAUNCH_SEARCH_ENGINE_HAD_LOGO,
@ -1410,7 +1488,7 @@ Completely remove contacts picker permission from the file dialog
</message>
--- a/chrome/common/BUILD.gn
+++ b/chrome/common/BUILD.gn
@@ -413,6 +413,9 @@ static_library("common") {
@@ -417,6 +417,9 @@ static_library("common") {
sources += [
"media/chrome_media_drm_bridge_client.cc",
"media/chrome_media_drm_bridge_client.h",
@ -1431,7 +1509,7 @@ Completely remove contacts picker permission from the file dialog
"importer/bookmarks_file_importer.cc",
"importer/bookmarks_file_importer.h",
"importer/external_process_importer_bridge.cc",
@@ -181,6 +179,11 @@ static_library("utility") {
@@ -184,6 +182,11 @@ static_library("utility") {
}
}


+ 5
- 5
patches/Bromite/Add-exit-menu-item.patch View File

@ -92,13 +92,13 @@ Corrected Exit functionality
@Override
--- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
+++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
@@ -3189,6 +3189,9 @@ To change this setting, <ph name="BEGIN_
<message name="IDS_MENU_SETTINGS" desc="Menu item for opening browser settings. [CHAR_LIMIT=27]">
Settings
@@ -3183,6 +3183,9 @@ To change this setting, <ph name="BEGIN_
<message name="IDS_MENU_REQUEST_DESKTOP_SITE_OFF" desc="Accessibility description for when Request Desktop Site is disabled.">
Turn on Request desktop site
</message>
+ <message name="IDS_MENU_EXIT" desc="Menu item for exit browser. [CHAR-LIMIT=27]">
+ Exit
+ </message>
<message name="IDS_MENU_CLOSE_ALL_TABS" desc="Menu item for closing all open tabs. [CHAR_LIMIT=27]">
Close all tabs
<message name="IDS_MENU_READER_MODE_PREFS" desc="Menu item to show reader mode preferences pane, which allows users to change the appearance (font size, theme, etc.) of the page. [CHAR_LIMIT=27]">
Appearance
</message>

+ 1
- 1
patches/Bromite/Add-option-to-not-persist-tabs-across-sessions.patch View File

@ -91,7 +91,7 @@ Subject: Add option to not persist tabs across sessions
private ChromeManagedPreferenceDelegate createManagedPreferenceDelegate() {
--- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
+++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
@@ -4043,6 +4043,12 @@ To change this setting, <ph name="BEGIN_
@@ -4061,6 +4061,12 @@ To change this setting, <ph name="BEGIN_
<message name="IDS_CONTEXTMENU_IMAGE_TITLE" desc="The title of a context menu tab when the item pressed contains more than one type. This indicates that all the actions are related to the image.">
IMAGE
</message>


+ 6
- 2
patches/Bromite/Change-default-webRTC-policy-to-not-use-any-address.patch View File

@ -6,12 +6,13 @@ This prevents leakage of the local IP address.
See also: https://github.com/bromite/bromite/issues/553
---
third_party/blink/renderer/modules/peerconnection/peer_connection_dependency_factory.cc | 7 ++++---
.../peerconnection/peer_connection_dependency_factory.cc | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/third_party/blink/renderer/modules/peerconnection/peer_connection_dependency_factory.cc b/third_party/blink/renderer/modules/peerconnection/peer_connection_dependency_factory.cc
--- a/third_party/blink/renderer/modules/peerconnection/peer_connection_dependency_factory.cc
+++ b/third_party/blink/renderer/modules/peerconnection/peer_connection_dependency_factory.cc
@@ -663,12 +663,13 @@ PeerConnectionDependencyFactory::CreateP
@@ -663,12 +663,13 @@ PeerConnectionDependencyFactory::CreatePortAllocator(
port_config.enable_nonproxied_udp = false;
break;
case DEFAULT:
@ -28,3 +29,6 @@ See also: https://github.com/bromite/bromite/issues/553
<< "policy: " << policy
<< ", multiple_routes: " << port_config.enable_multiple_routes
<< ", nonproxied_udp: " << port_config.enable_nonproxied_udp
--
2.17.1

+ 9
- 6
patches/Bromite/DoH-secure-mode-by-default.patch View File

@ -1,15 +1,15 @@
From: csagan5 <[email protected]>
Date: Sat, 26 Sep 2020 14:23:19 +0100
Subject: DoH secure mode by default
Subject: DoH secure mode by default. Policy fix thanks to @uazo.
---
chrome/browser/enterprise/util/android/java/src/org/chromium/chrome/browser/enterprise/util/EnterpriseInfo.java | 2 -
chrome/browser/net/stub_resolver_config_reader.cc | 17 ----------
2 files changed, 2 insertions(+), 17 deletions(-)
.../browser/net/stub_resolver_config_reader.cc | 17 +----------------
1 file changed, 1 insertion(+), 16 deletions(-)
diff --git a/chrome/browser/net/stub_resolver_config_reader.cc b/chrome/browser/net/stub_resolver_config_reader.cc
--- a/chrome/browser/net/stub_resolver_config_reader.cc
+++ b/chrome/browser/net/stub_resolver_config_reader.cc
@@ -154,7 +154,7 @@ StubResolverConfigReader::StubResolverCo
@@ -154,7 +154,7 @@ StubResolverConfigReader::StubResolverConfigReader(PrefService* local_state,
if (entries.count("[email protected]")) {
// The user has "Enabled" selected.
local_state_->SetString(prefs::kDnsOverHttpsMode,
@ -18,7 +18,7 @@ Subject: DoH secure mode by default
} else if (entries.count("[email protected]")) {
// The user has "Disabled" selected.
local_state_->SetString(prefs::kDnsOverHttpsMode,
@@ -334,22 +334,7 @@ SecureDnsConfig StubResolverConfigReader
@@ -334,22 +334,7 @@ SecureDnsConfig StubResolverConfigReader::GetAndUpdateConfiguration(
check_parental_controls = false;
}
@ -52,3 +52,6 @@ Subject: DoH secure mode by default
/** A simple tuple to hold onto named fields about the state of ownership. */
public static class OwnedState {
--
2.17.1

+ 13
- 5
patches/Other/debug-fix.patch View File

@ -4,19 +4,19 @@ Subject: Remove DCHECK and other lines causing Debug builds to fail
---
base/logging.cc | 2 -
base/supports_user_data.cc | 7 ++++-
build/config/compiler/BUILD.gn | 9 ++-----
base/supports_user_data.cc | 7 +++--
build/config/compiler/BUILD.gn | 9 ++----
components/omnibox/browser/autocomplete_controller.cc | 3 --
components/omnibox/browser/autocomplete_match.cc | 10 --------
components/omnibox/browser/autocomplete_match.cc | 10 -------
components/omnibox/browser/autocomplete_result.cc | 7 -----
components/omnibox/browser/shortcuts_backend.cc | 3 --
components/policy/core/browser/configuration_policy_handler.cc | 1
components/signin/internal/identity_manager/primary_account_manager.cc | 12 ----------
components/signin/internal/identity_manager/primary_account_manager.cc | 14 ----------
components/signin/internal/identity_manager/profile_oauth2_token_service_builder.cc | 1
content/common/input/input_event_stream_validator.cc | 3 --
services/network/network_context.cc | 1
url/gurl.cc | 2 -
13 files changed, 10 insertions(+), 51 deletions(-)
13 files changed, 10 insertions(+), 53 deletions(-)
--- a/components/signin/internal/identity_manager/primary_account_manager.cc
+++ b/components/signin/internal/identity_manager/primary_account_manager.cc
@ -39,6 +39,14 @@ Subject: Remove DCHECK and other lines causing Debug builds to fail
SetPrimaryAccountInternal(account_info, /*consented_to_sync=*/true);
@@ -372,7 +360,5 @@ void PrimaryAccountManager::OnRefreshTok
account_tracker_service_->SetMigrationDone();
client_->GetPrefs()->CommitPendingWrite();
}
- DCHECK_EQ(AccountTrackerService::MIGRATION_DONE,
- account_tracker_service_->GetMigrationState());
#endif // !BUILDFLAG(IS_CHROMEOS_ASH)
}
--- a/build/config/compiler/BUILD.gn
+++ b/build/config/compiler/BUILD.gn
@@ -261,7 +261,7 @@ config("compiler") {


+ 3
- 1
patches/series View File

@ -52,7 +52,7 @@ Bromite/Inject-scripts-for-AMP-tracking-ads-and-video.patch
Bromite/Add-exit-menu-item.patch
#Bromite/Add-bookmark-import-export-actions.patch
Bromite/Add-option-to-not-persist-tabs-across-sessions.patch
#Bromite/Add-a-proxy-configuration-page.patch
Bromite/Add-a-proxy-configuration-page.patch
Bromite/Add-flag-to-disable-WebGL.patch
Bromite/DoH-secure-mode-by-default.patch
Bromite/Revert-flags-remove-disable-pull-to-refresh-effect.patch
@ -60,5 +60,7 @@ Bromite/Disable-DRM-media-origin-IDs-preprovisioning.patch
Bromite/AImageReader-CFI-crash-mitigations.patch
Bromite/Add-an-always-incognito-mode.patch
ungoogled-chromium-android/Remove-reference-to-android-s.patch
Other/debug-fix.patch

+ 46
- 16
patches/ungoogled-chromium-android/Remove-dependency-on-com.google.android.play.core.splitcompat-com.google.android.play.core.splitinstall.patch View File

@ -5,19 +5,19 @@ Subject: Remove dependency on com.google.android.play.core.splitcompat, com.goog
---
chrome/android/BUILD.gn | 1
chrome/browser/language/android/BUILD.gn | 1
chrome/browser/language/android/java/src/org/chromium/chrome/browser/language/LanguageSplitInstaller.java | 44 --------
chrome/browser/language/android/java/src/org/chromium/chrome/browser/language/LanguageSplitInstaller.java | 63 ----------
components/module_installer/android/BUILD.gn | 2
components/module_installer/android/java/src/org/chromium/components/module_installer/engine/FakeEngine.java | 13 --
components/module_installer/android/java/src/org/chromium/components/module_installer/engine/SplitCompatEngine.java | 50 ----------
components/module_installer/android/java/src/org/chromium/components/module_installer/engine/SplitCompatEngineFacade.java | 21 ----
components/module_installer/android/java/src/org/chromium/components/module_installer/engine/SplitCompatEngine.java | 50 -------
components/module_installer/android/java/src/org/chromium/components/module_installer/engine/SplitCompatEngineFacade.java | 21 ---
components/module_installer/android/java/src/org/chromium/components/module_installer/logger/Logger.java | 9 -
components/module_installer/android/java/src/org/chromium/components/module_installer/logger/PlayCoreLogger.java | 23 ----
components/module_installer/android/java/src/org/chromium/components/module_installer/logger/SplitAvailabilityLogger.java | 27 -----
components/module_installer/android/java/src/org/chromium/components/module_installer/logger/SplitInstallFailureLogger.java | 41 --------
components/module_installer/android/java/src/org/chromium/components/module_installer/logger/SplitInstallStatusLogger.java | 27 -----
components/module_installer/android/java/src/org/chromium/components/module_installer/util/CrashKeyRecorder.java | 6 -
components/module_installer/android/java/src/org/chromium/components/module_installer/util/SplitCompatInitializer.java | 5 -
14 files changed, 18 insertions(+), 252 deletions(-)
components/module_installer/android/java/src/org/chromium/components/module_installer/logger/PlayCoreLogger.java | 23 ---
components/module_installer/android/java/src/org/chromium/components/module_installer/logger/SplitAvailabilityLogger.java | 27 ----
components/module_installer/android/java/src/org/chromium/components/module_installer/logger/SplitInstallFailureLogger.java | 41 ------
components/module_installer/android/java/src/org/chromium/components/module_installer/logger/SplitInstallStatusLogger.java | 27 ----
components/module_installer/android/java/src/org/chromium/components/module_installer/util/CrashKeyRecorder.java | 6
components/module_installer/android/java/src/org/chromium/components/module_installer/util/SplitCompatInitializer.java | 5
14 files changed, 22 insertions(+), 267 deletions(-)
--- a/components/module_installer/android/java/src/org/chromium/components/module_installer/engine/FakeEngine.java
+++ b/components/module_installer/android/java/src/org/chromium/components/module_installer/engine/FakeEngine.java
@ -562,7 +562,15 @@ Subject: Remove dependency on com.google.android.play.core.splitcompat, com.goog
import org.chromium.base.ContextUtils;
import org.chromium.base.Log;
import org.chromium.base.metrics.RecordHistogram;
@@ -58,15 +52,11 @@ public class LanguageSplitInstaller {
@@ -21,6 +15,7 @@ import java.lang.annotation.RetentionPol
import java.util.Arrays;
import java.util.Locale;
import java.util.Set;
+import java.util.HashSet;
/**
* Singleton class to manage installing language splits. This is temporary to start testing Play
@@ -58,15 +53,11 @@ public class LanguageSplitInstaller {
void onComplete(boolean success);
}
@ -578,7 +586,7 @@ Subject: Remove dependency on com.google.android.play.core.splitcompat, com.goog
}
/**
@@ -74,7 +64,7 @@ public class LanguageSplitInstaller {
@@ -74,7 +65,7 @@ public class LanguageSplitInstaller {
* @return Set<String> of installed languages code strings.
*/
public Set<String> getInstalledLanguages() {
@ -587,7 +595,7 @@ Subject: Remove dependency on com.google.android.play.core.splitcompat, com.goog
}
/**
@@ -100,24 +90,13 @@ public class LanguageSplitInstaller {
@@ -100,24 +91,13 @@ public class LanguageSplitInstaller {
}
mInstallListener = listener;
@ -612,7 +620,7 @@ Subject: Remove dependency on com.google.android.play.core.splitcompat, com.goog
}
/**
@@ -126,7 +105,6 @@ public class LanguageSplitInstaller {
@@ -126,7 +106,6 @@ public class LanguageSplitInstaller {
*/
private void installFinished(boolean success) {
mInstallListener.onComplete(success);
@ -620,7 +628,7 @@ Subject: Remove dependency on com.google.android.play.core.splitcompat, com.goog
mInstallListener = null;
mInstallSessionId = 0;
mIsLanguageSplitInstalled = false;
@@ -137,31 +115,11 @@ public class LanguageSplitInstaller {
@@ -137,50 +116,18 @@ public class LanguageSplitInstaller {
* @return True if status is a final state for the split install. |SplitInstallSessionStatus|
* has values for intermediate states such as Pending and Installing which are not final states.
*/
@ -651,4 +659,26 @@ Subject: Remove dependency on com.google.android.play.core.splitcompat, com.goog
- }
private @LanguageSplitInstallStatus int getEnumCodeFromStatus(
@SplitInstallSessionStatus int status) {
- @SplitInstallSessionStatus int status) {
- switch (status) {
- case SplitInstallSessionStatus.INSTALLED:
- return (mIsLanguageSplitInstalled) ? LanguageSplitInstallStatus.ALREADY_INSTALLED
- : LanguageSplitInstallStatus.SUCCESS;
- case SplitInstallSessionStatus.CANCELED:
- return LanguageSplitInstallStatus.CANCELED;
- case SplitInstallSessionStatus.DOWNLOADED:
- return LanguageSplitInstallStatus.DOWNLOADED;
- case SplitInstallSessionStatus.FAILED:
- return LanguageSplitInstallStatus.FAILED;
- default:
- return LanguageSplitInstallStatus.UNEXPECTED_STATUS;
- }
+ int status) {
+ return -1;
}
- private void recordLanguageSplitInstallStatus(@SplitInstallSessionStatus int status) {
+ private void recordLanguageSplitInstallStatus(int status) {
@LanguageSplitInstallStatus
int enumCode = getEnumCodeFromStatus(status);
RecordHistogram.recordEnumeratedHistogram("LanguageSettings.SplitInstallFinalStatus",

+ 188
- 0
patches/ungoogled-chromium-android/Remove-reference-to-android-s.patch View File

@ -0,0 +1,188 @@
description: For whatever reason the new APIs are not in beta SDK yet. Remove reference to Android S until we can update sdk rebuilds.
author: Wengling Chen <[email protected]>
---
base/android/java/src/org/chromium/base/compat/ApiHelperForS.java | 13 ++-----
chrome/android/java/AndroidManifest.xml | 2 -
chrome/android/java/src/org/chromium/chrome/browser/multiwindow/MultiWindowUtils.java | 2 -
chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java | 7 ----
chrome/browser/share/android/java_sources.gni | 2 -
components/permissions/android/java/src/org/chromium/components/permissions/BluetoothChooserDialog.java | 17 ----------
device/bluetooth/android/java/src/org/chromium/device/bluetooth/ChromeBluetoothAdapter.java | 5 --
7 files changed, 9 insertions(+), 39 deletions(-)
--- a/base/android/java/src/org/chromium/base/compat/ApiHelperForS.java
+++ b/base/android/java/src/org/chromium/base/compat/ApiHelperForS.java
@@ -36,7 +36,7 @@ public final class ApiHelperForS {
* See {@link ClipDescription#isStyleText()}.
*/
public static boolean isStyleText(ClipDescription clipDescription) {
- return clipDescription.isStyledText();
+ return false;
}
/**
@@ -44,7 +44,7 @@ public final class ApiHelperForS {
*/
public static float getConfidenceScore(
ClipDescription clipDescription, @NonNull String entityType) {
- return clipDescription.getConfidenceScore(entityType);
+ return 0.f;
}
/**
@@ -52,20 +52,18 @@ public final class ApiHelperForS {
* ClipDescription.CLASSIFICATION_COMPLETE.
*/
public static boolean isGetClassificationStatusIsComplete(ClipDescription clipDescription) {
- return clipDescription.getClassificationStatus() == ClipDescription.CLASSIFICATION_COMPLETE;
+ return false;
}
/**
* See {@link ClipData.Item#getTextLinks()}.
*/
public static TextLinks getTextLinks(ClipData.Item item) {
- return item.getTextLinks();
+ return null;
}
public static boolean hasBluetoothConnectPermission() {
- return ApiCompatibilityUtils.checkPermission(ContextUtils.getApplicationContext(),
- Manifest.permission.BLUETOOTH_CONNECT, Process.myPid(), Process.myUid())
- == PackageManager.PERMISSION_GRANTED;
+ return false;
}
/**
@@ -73,6 +71,5 @@ public final class ApiHelperForS {
*/
public static void setAutoEnterEnabled(
PictureInPictureParams.Builder builder, boolean enabled) {
- builder.setAutoEnterEnabled(enabled);
}
}
--- a/chrome/android/java/AndroidManifest.xml
+++ b/chrome/android/java/AndroidManifest.xml
@@ -57,7 +57,7 @@ by a child template that "extends" this
filtered view of devices.
-->
<uses-permission-sdk-23 android:name="android.permission.BLUETOOTH_SCAN"
- android:usesPermissionFlags="neverForLocation"/>
+ />
<uses-permission-sdk-23 android:name="android.permission.READ_CONTACTS"/>
<uses-permission-sdk-23 android:name="android.permission.REORDER_TASKS"/>
--- a/device/bluetooth/android/java/src/org/chromium/device/bluetooth/ChromeBluetoothAdapter.java
+++ b/device/bluetooth/android/java/src/org/chromium/device/bluetooth/ChromeBluetoothAdapter.java
@@ -220,10 +220,7 @@ final class ChromeBluetoothAdapter exten
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) {
Context context = mAdapter.getContext();
- return context.checkCallingOrSelfPermission(Manifest.permission.BLUETOOTH_SCAN)
- == PackageManager.PERMISSION_GRANTED
- && context.checkCallingOrSelfPermission(Manifest.permission.BLUETOOTH_CONNECT)
- == PackageManager.PERMISSION_GRANTED;
+ return false;
}
LocationUtils locationUtils = LocationUtils.getInstance();
--- a/components/permissions/android/java/src/org/chromium/components/permissions/BluetoothChooserDialog.java
+++ b/components/permissions/android/java/src/org/chromium/components/permissions/BluetoothChooserDialog.java
@@ -361,16 +361,9 @@ public class BluetoothChooserDialog
break;
case LinkType.REQUEST_PERMISSIONS:
mItemChooserDialog.setIgnorePendingWindowFocusChangeForClose(true);
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) {
- mWindowAndroid.requestPermissions(
- new String[] {Manifest.permission.BLUETOOTH_SCAN,
- Manifest.permission.BLUETOOTH_CONNECT},
- BluetoothChooserDialog.this);
- } else {
- mWindowAndroid.requestPermissions(
+ mWindowAndroid.requestPermissions(
new String[] {Manifest.permission.ACCESS_FINE_LOCATION},
BluetoothChooserDialog.this);
- }
break;
case LinkType.REQUEST_LOCATION_SERVICES:
mItemChooserDialog.setIgnorePendingWindowFocusChangeForClose(true);
@@ -393,19 +386,11 @@ public class BluetoothChooserDialog
}
private static boolean hasSystemPermissions(WindowAndroid windowAndroid) {
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) {
- return windowAndroid.hasPermission(Manifest.permission.BLUETOOTH_SCAN)
- && windowAndroid.hasPermission(Manifest.permission.BLUETOOTH_CONNECT);
- }
return windowAndroid.hasPermission(Manifest.permission.ACCESS_FINE_LOCATION);
}
private static boolean canRequestSystemPermissions(WindowAndroid windowAndroid) {
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) {
- return windowAndroid.canRequestPermission(Manifest.permission.BLUETOOTH_SCAN)
- && windowAndroid.canRequestPermission(Manifest.permission.BLUETOOTH_CONNECT);
- }
return windowAndroid.canRequestPermission(Manifest.permission.ACCESS_FINE_LOCATION);
}
--- a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java
@@ -74,7 +74,6 @@ import org.chromium.chrome.browser.prefe
import org.chromium.chrome.browser.profiles.Profile;
import org.chromium.chrome.browser.read_later.ReadLaterIPHController;
import org.chromium.chrome.browser.share.ShareDelegate;
-import org.chromium.chrome.browser.share.scroll_capture.ScrollCaptureManager;
import org.chromium.chrome.browser.signin.SyncConsentActivityLauncherImpl;
import org.chromium.chrome.browser.signin.ui.SigninPromoUtil;
import org.chromium.chrome.browser.status_indicator.StatusIndicatorCoordinator;
@@ -152,7 +151,6 @@ public class TabbedRootUiCoordinator ext
private TabObscuringHandler.Observer mContinuousSearchTabObscuringHandlerObserver;
private FindToolbarObserver mContinuousSearchFindToolbarObserver;
private MerchantTrustSignalsCoordinator mMerchantTrustSignalsCoordinator;
- private @Nullable ScrollCaptureManager mScrollCaptureManager;
private CommerceSubscriptionsService mCommerceSubscriptionsService;
private UndoGroupSnackbarController mUndoGroupSnackbarController;
private final IntentRequestTracker mIntentRequestTracker;
@@ -382,10 +380,6 @@ public class TabbedRootUiCoordinator ext
mCommerceSubscriptionsService = null;
}
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S && mScrollCaptureManager != null) {
- mScrollCaptureManager.destroy();
- mScrollCaptureManager = null;
- }
super.onDestroy();
}
@@ -544,7 +538,6 @@ public class TabbedRootUiCoordinator ext
return;
}
- mScrollCaptureManager = new ScrollCaptureManager(mActivityTabProvider);
}
// Protected class methods
--- a/chrome/browser/share/android/java_sources.gni
+++ b/chrome/browser/share/android/java_sources.gni
@@ -51,8 +51,6 @@ share_java_sources = [
"//chrome/browser/share/android/java/src/org/chromium/chrome/browser/share/screenshot/ScreenshotShareSheetView.java",
"//chrome/browser/share/android/java/src/org/chromium/chrome/browser/share/screenshot/ScreenshotShareSheetViewBinder.java",
"//chrome/browser/share/android/java/src/org/chromium/chrome/browser/share/screenshot/ScreenshotShareSheetViewProperties.java",
- "//chrome/browser/share/android/java/src/org/chromium/chrome/browser/share/scroll_capture/ScrollCaptureCallbackImpl.java",
- "//chrome/browser/share/android/java/src/org/chromium/chrome/browser/share/scroll_capture/ScrollCaptureManager.java",
"//chrome/browser/share/android/java/src/org/chromium/chrome/browser/share/send_tab_to_self/DevicePickerBottomSheetAdapter.java",
"//chrome/browser/share/android/java/src/org/chromium/chrome/browser/share/send_tab_to_self/DevicePickerBottomSheetContent.java",
"//chrome/browser/share/android/java/src/org/chromium/chrome/browser/share/send_tab_to_self/MetricsRecorder.java",
--- a/chrome/android/java/src/org/chromium/chrome/browser/multiwindow/MultiWindowUtils.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/multiwindow/MultiWindowUtils.java
@@ -114,7 +114,7 @@ public class MultiWindowUtils implements
ComponentName comp = new ComponentName(packageName, className);
try {
int launchMode = context.getPackageManager().getActivityInfo(comp, 0).launchMode;
- return launchMode == ActivityInfo.LAUNCH_SINGLE_INSTANCE_PER_TASK;
+ return false;
} catch (PackageManager.NameNotFoundException e) {
return false;
}

Loading…
Cancel
Save