merge with master
This commit is contained in:
commit
9bcbcb513f
149 changed files with 9600 additions and 6089 deletions
28
CHANGELOG.md
28
CHANGELOG.md
|
@ -1,3 +1,30 @@
|
|||
# 94.0.4606.94
|
||||
* Bromite auto-update feature, disabled by default (thanks to @uazo, fixes https://github.com/bromite/bromite/issues/706)
|
||||
* add site setting for images (thanks to @uazo, fixes https://github.com/bromite/bromite/issues/1339)
|
||||
* use SM-G960U as model provided via client hints and Javascript
|
||||
* drop patches already merged upstream
|
||||
|
||||
# 93.0.4577.110
|
||||
|
||||
* set enable_reporting to false (thanks to @nikolowry)
|
||||
* backported patches for security issues https://crbug.com/1245578 and https://crbug.com/1251787
|
||||
* disable AGSA by default
|
||||
* disable UA client hint for model
|
||||
* disable lock icon in address bar by default
|
||||
* enable share intent (thanks to @uazo, fixes https://github.com/bromite/bromite/issues/1062)
|
||||
* allow forcing external links to open in incognito (thanks to @uazo, fixes https://github.com/bromite/bromite/issues/728)
|
||||
* avoid double restart for default tab groups flags status
|
||||
|
||||
# 93.0.4577.83
|
||||
* dropped patch for FLoC (already disabled by upstream)
|
||||
* dropped patch for build with system sysroots
|
||||
* disable tab groups by default (needs restart)
|
||||
* added 'services/network/public/mojom' to ad blocker patch to avoid a build error
|
||||
|
||||
# 92.0.4515.176
|
||||
* use upstream feature to prevent default search engine permissions grants
|
||||
* slightly improve error message for gateway attacks prevention error
|
||||
|
||||
# 92.0.4515.134
|
||||
|
||||
# 92.0.4515.125
|
||||
|
@ -25,7 +52,6 @@
|
|||
|
||||
# 91.0.4472.102
|
||||
* fix opening new tabs from links in always-incognito mode (thanks to @uazo, fixes https://github.com/bromite/bromite/issues/1154)
|
||||
* allow saving pages in incognito mode (thanks to @uazo, fixes https://github.com/bromite/bromite/issues/1182)
|
||||
|
||||
# 91.0.4472.97
|
||||
* add flag for omnibox autocomplete filtering (fixes https://github.com/bromite/bromite/issues/1152)
|
||||
|
|
12
README.md
12
README.md
|
@ -63,6 +63,12 @@ ETH donations address: `0xf47ff39223d828f99fec5ab53bd068c5c0522042`
|
|||
* disable RTCGetCurrentBrowsingContextMedia by default
|
||||
* disable FLoC by default
|
||||
* disable feeds
|
||||
* disable reporting of certificate errors
|
||||
* use pre-defined phone model for client hints and Javascript
|
||||
* site settings to disable images
|
||||
* allow forcing external links to open in incognito
|
||||
* disable AGSA by default
|
||||
* allow disabling JIT
|
||||
|
||||
## Features not related to privacy
|
||||
* import/export bookmarks
|
||||
|
@ -85,6 +91,10 @@ ETH donations address: `0xf47ff39223d828f99fec5ab53bd068c5c0522042`
|
|||
* disable video autoplay by default, reintroduce site settings
|
||||
* mobile/desktop user agent customization
|
||||
* accessibility preference to force tablet UI
|
||||
* use Alt+D to focus address bar
|
||||
* allow sharing to Bromite
|
||||
* browser automatic updates
|
||||
* UI for crash information collection
|
||||
|
||||
You can inspect all functionality/privacy changes by reading the [patches](https://github.com/bromite/bromite/tree/master/build/patches) and/or the [CHANGELOG](./CHANGELOG.md).
|
||||
|
||||
|
@ -131,6 +141,8 @@ Each tag corresponds to a Chromium Stable release tag.
|
|||
Bromite is currently built for ARM, ARM64 and x86 and for the Android SDK versions 19 and 21; [Bromite SystemWebView](https://www.bromite.org/system_web_view) is provided as well (SDK21+).
|
||||
For every Bromite build you can always find a matching [vanilla Chromium](https://www.bromite.org/chromium) build which is used for example to verify which issues are specific to Bromite or not.
|
||||
|
||||
You can automatically receive notifications about new updates (and install them) by enabling the auto updater functionality, see [related wiki page](https://github.com/bromite/bromite/wiki/AutomaticUpdates).
|
||||
|
||||
All official releases are also available through the [official third-party F-Droid repository](https://www.bromite.org/fdroid).
|
||||
|
||||
## Integrity and authenticity
|
||||
|
|
|
@ -6,6 +6,7 @@ debuggable_apks=false
|
|||
dfmify_dev_ui=false
|
||||
disable_android_lint=true
|
||||
disable_autofill_assistant_dfm=true
|
||||
disable_fieldtrial_testing_config=true
|
||||
disable_tab_ui_dfm=true
|
||||
enable_av1_decoder=true
|
||||
enable_dav1d_decoder=true
|
||||
|
@ -19,11 +20,10 @@ enable_nacl_nonsfi=false
|
|||
enable_platform_dolby_vision=true
|
||||
enable_platform_hevc=true
|
||||
enable_remoting=false
|
||||
enable_reporting=true
|
||||
enable_reporting=false
|
||||
enable_vr=false
|
||||
exclude_unwind_tables=false
|
||||
ffmpeg_branding="Chrome"
|
||||
fieldtrial_testing_like_official_build=true
|
||||
icu_use_data_file=true
|
||||
is_component_build=false
|
||||
is_debug=false
|
||||
|
|
|
@ -1 +1 @@
|
|||
92.0.4515.134
|
||||
94.0.4606.94
|
||||
|
|
|
@ -2,7 +2,6 @@ Disable-third-party-cookies-by-default.patch
|
|||
AV1-codec-support.patch
|
||||
Switch-to-fstack-protector-strong.patch
|
||||
Enable-fwrapv-in-Clang-for-non-UBSan-builds.patch
|
||||
DCScan-Fix-builds-with-system-sysroots.patch
|
||||
Restore-classic-new-tab-page.patch
|
||||
Always-use-new-tab-page-for-default-home-page.patch
|
||||
Always-allow-partner-customisation.patch
|
||||
|
@ -35,7 +34,6 @@ Skip-the-first-run-and-metrics.patch
|
|||
Disable-all-promo-dialogs.patch
|
||||
Remove-signin-and-data-saver-integrations.patch
|
||||
Hide-passwords-manager-link.patch
|
||||
Disable-Omaha-update-checks.patch
|
||||
Disable-update-scheduler.patch
|
||||
Add-English-only-search-engine.patch
|
||||
Add-DuckDuckGo-Lite-search-engine.patch
|
||||
|
@ -76,7 +74,7 @@ Remove-SMS-integration.patch
|
|||
Do-not-compile-QR-code-sharing.patch
|
||||
Allow-website-sign-in-without-account-sign-in.patch
|
||||
Offer-builtin-autocomplete-for-chrome-flags.patch
|
||||
Do-not-grant-notifications-to-default-search-engine.patch
|
||||
Disable-search-engine-DSE-automatic-permission.patch
|
||||
Add-flag-to-disable-IPv6-probes.patch
|
||||
Add-a-proxy-configuration-page.patch
|
||||
Use-4-tile-rows-never-show-logo.patch
|
||||
|
@ -145,8 +143,6 @@ Remove-offline-measurement-background-task.patch
|
|||
User-agent-customization.patch
|
||||
Add-AllowUserCertificates-flag.patch
|
||||
Add-IsCleartextPermitted-flag.patch
|
||||
Disable-RTCGetCurrentBrowsingContextMedia-by-default.patch
|
||||
Disable-FLoC-by-default.patch
|
||||
Unexpire-tab-groups-flags.patch
|
||||
Add-flag-for-omnibox-autocomplete-filtering.patch
|
||||
Enable-IntentBlockExternalFormRedirectsNoGesture-by-default.patch
|
||||
|
@ -155,9 +151,15 @@ Logcat-crash-reports-UI.patch
|
|||
Add-support-for-ISupportHelpAndFeedback.patch
|
||||
JIT-less-toggle.patch
|
||||
API-level-21-prevent-crash-on-download.patch
|
||||
Add-vibration-flag.patch
|
||||
Add-flag-to-disable-vibration.patch
|
||||
mime_util-force-text-x-suse-ymp-to-be-downloaded.patch
|
||||
Disable-UA-client-hint.patch
|
||||
Override-UA-client-hint-for-model.patch
|
||||
Disable-AGSA-by-default.patch
|
||||
Allow-building-without-enable_reporting.patch
|
||||
Disable-lock-icon-in-address-bar-by-default.patch
|
||||
Force-open-external-links-in-incognito.patch
|
||||
Enable-share-intent.patch
|
||||
Site-setting-for-images.patch
|
||||
Bromite-auto-updater.patch
|
||||
Automated-domain-substitution.patch
|
||||
add-support-for-prefs-addon.patch
|
||||
experimental-user-scripts-support.patch
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
AV1-codec-support.patch
|
||||
Switch-to-fstack-protector-strong.patch
|
||||
Enable-fwrapv-in-Clang-for-non-UBSan-builds.patch
|
||||
DCScan-Fix-builds-with-system-sysroots.patch
|
||||
Disable-feeds-support-by-default.patch
|
||||
|
|
|
@ -45,7 +45,7 @@ diff --git a/base/android/android_image_reader_compat.cc b/base/android/android_
|
|||
// C++11 static local variable initialization is
|
||||
// thread-safe.
|
||||
@@ -30,8 +32,12 @@ AndroidImageReader& AndroidImageReader::GetInstance() {
|
||||
return *instance;
|
||||
return instance;
|
||||
}
|
||||
|
||||
+void AndroidImageReader::DisableSupport() {
|
||||
|
@ -82,7 +82,7 @@ diff --git a/base/android/android_image_reader_compat.h b/base/android/android_i
|
|||
diff --git a/chrome/browser/flag-metadata.json b/chrome/browser/flag-metadata.json
|
||||
--- a/chrome/browser/flag-metadata.json
|
||||
+++ b/chrome/browser/flag-metadata.json
|
||||
@@ -1922,7 +1922,7 @@
|
||||
@@ -2017,7 +2017,7 @@
|
||||
{
|
||||
"name": "enable-image-reader",
|
||||
"owners": [ "vikassoni", "liberato" ],
|
||||
|
@ -94,7 +94,7 @@ diff --git a/chrome/browser/flag-metadata.json b/chrome/browser/flag-metadata.js
|
|||
diff --git a/gpu/config/gpu_driver_bug_list.json b/gpu/config/gpu_driver_bug_list.json
|
||||
--- a/gpu/config/gpu_driver_bug_list.json
|
||||
+++ b/gpu/config/gpu_driver_bug_list.json
|
||||
@@ -3188,6 +3188,22 @@
|
||||
@@ -3191,6 +3191,22 @@
|
||||
"dont_delete_source_texture_for_egl_image"
|
||||
]
|
||||
},
|
||||
|
@ -120,7 +120,7 @@ diff --git a/gpu/config/gpu_driver_bug_list.json b/gpu/config/gpu_driver_bug_lis
|
|||
diff --git a/gpu/config/gpu_finch_features.cc b/gpu/config/gpu_finch_features.cc
|
||||
--- a/gpu/config/gpu_finch_features.cc
|
||||
+++ b/gpu/config/gpu_finch_features.cc
|
||||
@@ -50,6 +50,11 @@ bool IsDeviceBlocked(const char* field, const std::string& block_list) {
|
||||
@@ -51,6 +51,11 @@ bool IsDeviceBlocked(const char* field, const std::string& block_list) {
|
||||
} // namespace
|
||||
|
||||
#if defined(OS_ANDROID)
|
||||
|
@ -182,7 +182,7 @@ diff --git a/gpu/config/gpu_workaround_list.txt b/gpu/config/gpu_workaround_list
|
|||
diff --git a/gpu/ipc/service/gpu_init.cc b/gpu/ipc/service/gpu_init.cc
|
||||
--- a/gpu/ipc/service/gpu_init.cc
|
||||
+++ b/gpu/ipc/service/gpu_init.cc
|
||||
@@ -503,6 +503,11 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandLine* command_line,
|
||||
@@ -517,6 +517,11 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandLine* command_line,
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -205,7 +205,7 @@ diff --git a/gpu/ipc/service/stream_texture_android.cc b/gpu/ipc/service/stream_
|
|||
#include "base/android/scoped_hardware_buffer_fence_sync.h"
|
||||
#include "base/bind.h"
|
||||
#include "base/feature_list.h"
|
||||
@@ -49,7 +50,15 @@ std::unique_ptr<ui::ScopedMakeCurrent> MakeCurrent(
|
||||
@@ -50,7 +51,15 @@ std::unique_ptr<ui::ScopedMakeCurrent> MakeCurrent(
|
||||
}
|
||||
|
||||
TextureOwner::Mode GetTextureOwnerMode() {
|
||||
|
@ -225,7 +225,7 @@ diff --git a/gpu/ipc/service/stream_texture_android.cc b/gpu/ipc/service/stream_
|
|||
diff --git a/media/base/media_switches.cc b/media/base/media_switches.cc
|
||||
--- a/media/base/media_switches.cc
|
||||
+++ b/media/base/media_switches.cc
|
||||
@@ -627,6 +627,10 @@ const base::Feature kMediaDrmPreprovisioning{"MediaDrmPreprovisioning",
|
||||
@@ -668,6 +668,10 @@ const base::Feature kMediaDrmPreprovisioning{"MediaDrmPreprovisioning",
|
||||
// Note: Has no effect if kMediaDrmPreprovisioning feature is disabled.
|
||||
const base::Feature kMediaDrmPreprovisioningAtStartup{
|
||||
"MediaDrmPreprovisioningAtStartup", base::FEATURE_ENABLED_BY_DEFAULT};
|
||||
|
@ -239,7 +239,7 @@ diff --git a/media/base/media_switches.cc b/media/base/media_switches.cc
|
|||
diff --git a/media/base/media_switches.h b/media/base/media_switches.h
|
||||
--- a/media/base/media_switches.h
|
||||
+++ b/media/base/media_switches.h
|
||||
@@ -205,6 +205,7 @@ MEDIA_EXPORT extern const base::Feature kVp9kSVCHWDecoding;
|
||||
@@ -219,6 +219,7 @@ MEDIA_EXPORT extern const base::Feature kForceHardwareAudioDecoders;
|
||||
MEDIA_EXPORT extern const base::Feature kAllowNonSecureOverlays;
|
||||
MEDIA_EXPORT extern const base::Feature kMediaControlsExpandGesture;
|
||||
MEDIA_EXPORT extern const base::Feature kMediaDrmPersistentLicense;
|
||||
|
|
|
@ -24,7 +24,7 @@ Report AV1 as playable on Android
|
|||
diff --git a/third_party/libaom/BUILD.gn b/third_party/libaom/BUILD.gn
|
||||
--- a/third_party/libaom/BUILD.gn
|
||||
+++ b/third_party/libaom/BUILD.gn
|
||||
@@ -81,7 +81,7 @@ if (enable_libaom) {
|
||||
@@ -82,7 +82,7 @@ if (enable_libaom) {
|
||||
sources += aom_dsp_encoder_asm_sse2_x86_64
|
||||
sources += aom_dsp_encoder_asm_ssse3_x86_64
|
||||
}
|
||||
|
@ -33,7 +33,7 @@ diff --git a/third_party/libaom/BUILD.gn b/third_party/libaom/BUILD.gn
|
|||
include_dirs = libaom_include_dirs
|
||||
}
|
||||
|
||||
@@ -192,7 +192,7 @@ if (enable_libaom) {
|
||||
@@ -193,7 +193,7 @@ if (enable_libaom) {
|
||||
configs += [ "//build/config/compiler:no_chromium_code" ]
|
||||
if (current_cpu == "arm") {
|
||||
configs -= [ "//build/config/compiler:compiler_arm_fpu" ]
|
||||
|
@ -42,7 +42,7 @@ diff --git a/third_party/libaom/BUILD.gn b/third_party/libaom/BUILD.gn
|
|||
}
|
||||
configs += [ ":libaom_config" ]
|
||||
|
||||
@@ -242,6 +242,8 @@ if (enable_libaom) {
|
||||
@@ -256,6 +256,8 @@ if (enable_libaom) {
|
||||
if (current_cpu == "arm64" || cpu_arch_full == "arm-neon" ||
|
||||
cpu_arch_full == "arm-neon-cpu-detect") {
|
||||
deps += [ ":libaom_intrinsics_neon" ]
|
||||
|
@ -54,9 +54,9 @@ diff --git a/third_party/libaom/BUILD.gn b/third_party/libaom/BUILD.gn
|
|||
diff --git a/third_party/libaom/libaom_srcs.gni b/third_party/libaom/libaom_srcs.gni
|
||||
--- a/third_party/libaom/libaom_srcs.gni
|
||||
+++ b/third_party/libaom/libaom_srcs.gni
|
||||
@@ -629,6 +629,11 @@ aom_mem_sources = [
|
||||
@@ -634,6 +634,11 @@ aom_mem_sources = [
|
||||
|
||||
aom_ports_asm_x86 = [ "//third_party/libaom/source/libaom/aom_ports/emms.asm" ]
|
||||
aom_ports_asm_x86 = [ "//third_party/libaom/source/libaom/aom_ports/float.asm" ]
|
||||
|
||||
+aom_ports_arm_sources = [
|
||||
+ "//third_party/libaom/source/libaom/aom_ports/arm_cpudetect.c",
|
||||
|
@ -75,9 +75,9 @@ diff --git a/third_party/libaom/source/config/linux/arm-neon-cpu-detect/config/a
|
|||
CONFIG_PARTITION_SEARCH_ORDER equ 0
|
||||
-CONFIG_PIC equ 0
|
||||
+CONFIG_PIC equ 1
|
||||
CONFIG_RD_COMMAND equ 0
|
||||
CONFIG_RD_DEBUG equ 0
|
||||
CONFIG_REALTIME_ONLY equ 1
|
||||
CONFIG_RT_ML_PARTITIONING equ 0
|
||||
diff --git a/third_party/libaom/source/config/linux/arm-neon-cpu-detect/config/aom_config.h b/third_party/libaom/source/config/linux/arm-neon-cpu-detect/config/aom_config.h
|
||||
--- a/third_party/libaom/source/config/linux/arm-neon-cpu-detect/config/aom_config.h
|
||||
+++ b/third_party/libaom/source/config/linux/arm-neon-cpu-detect/config/aom_config.h
|
||||
|
@ -87,9 +87,9 @@ diff --git a/third_party/libaom/source/config/linux/arm-neon-cpu-detect/config/a
|
|||
#define CONFIG_PARTITION_SEARCH_ORDER 0
|
||||
-#define CONFIG_PIC 0
|
||||
+#define CONFIG_PIC 1
|
||||
#define CONFIG_RD_COMMAND 0
|
||||
#define CONFIG_RD_DEBUG 0
|
||||
#define CONFIG_REALTIME_ONLY 1
|
||||
#define CONFIG_RT_ML_PARTITIONING 0
|
||||
diff --git a/third_party/libaom/source/config/linux/arm-neon/config/aom_config.asm b/third_party/libaom/source/config/linux/arm-neon/config/aom_config.asm
|
||||
--- a/third_party/libaom/source/config/linux/arm-neon/config/aom_config.asm
|
||||
+++ b/third_party/libaom/source/config/linux/arm-neon/config/aom_config.asm
|
||||
|
@ -99,9 +99,9 @@ diff --git a/third_party/libaom/source/config/linux/arm-neon/config/aom_config.a
|
|||
CONFIG_PARTITION_SEARCH_ORDER equ 0
|
||||
-CONFIG_PIC equ 0
|
||||
+CONFIG_PIC equ 1
|
||||
CONFIG_RD_COMMAND equ 0
|
||||
CONFIG_RD_DEBUG equ 0
|
||||
CONFIG_REALTIME_ONLY equ 1
|
||||
CONFIG_RT_ML_PARTITIONING equ 0
|
||||
diff --git a/third_party/libaom/source/config/linux/arm-neon/config/aom_config.h b/third_party/libaom/source/config/linux/arm-neon/config/aom_config.h
|
||||
--- a/third_party/libaom/source/config/linux/arm-neon/config/aom_config.h
|
||||
+++ b/third_party/libaom/source/config/linux/arm-neon/config/aom_config.h
|
||||
|
@ -111,9 +111,9 @@ diff --git a/third_party/libaom/source/config/linux/arm-neon/config/aom_config.h
|
|||
#define CONFIG_PARTITION_SEARCH_ORDER 0
|
||||
-#define CONFIG_PIC 0
|
||||
+#define CONFIG_PIC 1
|
||||
#define CONFIG_RD_COMMAND 0
|
||||
#define CONFIG_RD_DEBUG 0
|
||||
#define CONFIG_REALTIME_ONLY 1
|
||||
#define CONFIG_RT_ML_PARTITIONING 0
|
||||
diff --git a/third_party/libaom/source/config/linux/arm/config/aom_config.asm b/third_party/libaom/source/config/linux/arm/config/aom_config.asm
|
||||
--- a/third_party/libaom/source/config/linux/arm/config/aom_config.asm
|
||||
+++ b/third_party/libaom/source/config/linux/arm/config/aom_config.asm
|
||||
|
@ -123,9 +123,9 @@ diff --git a/third_party/libaom/source/config/linux/arm/config/aom_config.asm b/
|
|||
CONFIG_PARTITION_SEARCH_ORDER equ 0
|
||||
-CONFIG_PIC equ 0
|
||||
+CONFIG_PIC equ 1
|
||||
CONFIG_RD_COMMAND equ 0
|
||||
CONFIG_RD_DEBUG equ 0
|
||||
CONFIG_REALTIME_ONLY equ 1
|
||||
CONFIG_RT_ML_PARTITIONING equ 0
|
||||
diff --git a/third_party/libaom/source/config/linux/arm/config/aom_config.h b/third_party/libaom/source/config/linux/arm/config/aom_config.h
|
||||
--- a/third_party/libaom/source/config/linux/arm/config/aom_config.h
|
||||
+++ b/third_party/libaom/source/config/linux/arm/config/aom_config.h
|
||||
|
@ -135,9 +135,9 @@ diff --git a/third_party/libaom/source/config/linux/arm/config/aom_config.h b/th
|
|||
#define CONFIG_PARTITION_SEARCH_ORDER 0
|
||||
-#define CONFIG_PIC 0
|
||||
+#define CONFIG_PIC 1
|
||||
#define CONFIG_RD_COMMAND 0
|
||||
#define CONFIG_RD_DEBUG 0
|
||||
#define CONFIG_REALTIME_ONLY 1
|
||||
#define CONFIG_RT_ML_PARTITIONING 0
|
||||
diff --git a/third_party/libaom/source/config/linux/arm64/config/aom_config.asm b/third_party/libaom/source/config/linux/arm64/config/aom_config.asm
|
||||
--- a/third_party/libaom/source/config/linux/arm64/config/aom_config.asm
|
||||
+++ b/third_party/libaom/source/config/linux/arm64/config/aom_config.asm
|
||||
|
@ -147,9 +147,9 @@ diff --git a/third_party/libaom/source/config/linux/arm64/config/aom_config.asm
|
|||
CONFIG_PARTITION_SEARCH_ORDER equ 0
|
||||
-CONFIG_PIC equ 0
|
||||
+CONFIG_PIC equ 1
|
||||
CONFIG_RD_COMMAND equ 0
|
||||
CONFIG_RD_DEBUG equ 0
|
||||
CONFIG_REALTIME_ONLY equ 1
|
||||
CONFIG_RT_ML_PARTITIONING equ 0
|
||||
diff --git a/third_party/libaom/source/config/linux/arm64/config/aom_config.h b/third_party/libaom/source/config/linux/arm64/config/aom_config.h
|
||||
--- a/third_party/libaom/source/config/linux/arm64/config/aom_config.h
|
||||
+++ b/third_party/libaom/source/config/linux/arm64/config/aom_config.h
|
||||
|
@ -159,9 +159,9 @@ diff --git a/third_party/libaom/source/config/linux/arm64/config/aom_config.h b/
|
|||
#define CONFIG_PARTITION_SEARCH_ORDER 0
|
||||
-#define CONFIG_PIC 0
|
||||
+#define CONFIG_PIC 1
|
||||
#define CONFIG_RD_COMMAND 0
|
||||
#define CONFIG_RD_DEBUG 0
|
||||
#define CONFIG_REALTIME_ONLY 1
|
||||
#define CONFIG_RT_ML_PARTITIONING 0
|
||||
diff --git a/third_party/libaom/source/config/linux/generic/config/aom_config.asm b/third_party/libaom/source/config/linux/generic/config/aom_config.asm
|
||||
--- a/third_party/libaom/source/config/linux/generic/config/aom_config.asm
|
||||
+++ b/third_party/libaom/source/config/linux/generic/config/aom_config.asm
|
||||
|
@ -171,9 +171,9 @@ diff --git a/third_party/libaom/source/config/linux/generic/config/aom_config.as
|
|||
CONFIG_PARTITION_SEARCH_ORDER equ 0
|
||||
-CONFIG_PIC equ 0
|
||||
+CONFIG_PIC equ 1
|
||||
CONFIG_RD_COMMAND equ 0
|
||||
CONFIG_RD_DEBUG equ 0
|
||||
CONFIG_REALTIME_ONLY equ 1
|
||||
CONFIG_RT_ML_PARTITIONING equ 0
|
||||
diff --git a/third_party/libaom/source/config/linux/generic/config/aom_config.h b/third_party/libaom/source/config/linux/generic/config/aom_config.h
|
||||
--- a/third_party/libaom/source/config/linux/generic/config/aom_config.h
|
||||
+++ b/third_party/libaom/source/config/linux/generic/config/aom_config.h
|
||||
|
@ -183,9 +183,9 @@ diff --git a/third_party/libaom/source/config/linux/generic/config/aom_config.h
|
|||
#define CONFIG_PARTITION_SEARCH_ORDER 0
|
||||
-#define CONFIG_PIC 0
|
||||
+#define CONFIG_PIC 1
|
||||
#define CONFIG_RD_COMMAND 0
|
||||
#define CONFIG_RD_DEBUG 0
|
||||
#define CONFIG_REALTIME_ONLY 1
|
||||
#define CONFIG_RT_ML_PARTITIONING 0
|
||||
diff --git a/third_party/libaom/source/config/linux/x64/config/aom_config.asm b/third_party/libaom/source/config/linux/x64/config/aom_config.asm
|
||||
--- a/third_party/libaom/source/config/linux/x64/config/aom_config.asm
|
||||
+++ b/third_party/libaom/source/config/linux/x64/config/aom_config.asm
|
||||
|
@ -195,9 +195,9 @@ diff --git a/third_party/libaom/source/config/linux/x64/config/aom_config.asm b/
|
|||
%define CONFIG_PARTITION_SEARCH_ORDER 0
|
||||
-%define CONFIG_PIC 0
|
||||
+%define CONFIG_PIC 1
|
||||
%define CONFIG_RD_COMMAND 0
|
||||
%define CONFIG_RD_DEBUG 0
|
||||
%define CONFIG_REALTIME_ONLY 1
|
||||
%define CONFIG_RT_ML_PARTITIONING 0
|
||||
diff --git a/third_party/libaom/source/config/linux/x64/config/aom_config.h b/third_party/libaom/source/config/linux/x64/config/aom_config.h
|
||||
--- a/third_party/libaom/source/config/linux/x64/config/aom_config.h
|
||||
+++ b/third_party/libaom/source/config/linux/x64/config/aom_config.h
|
||||
|
@ -207,9 +207,9 @@ diff --git a/third_party/libaom/source/config/linux/x64/config/aom_config.h b/th
|
|||
#define CONFIG_PARTITION_SEARCH_ORDER 0
|
||||
-#define CONFIG_PIC 0
|
||||
+#define CONFIG_PIC 1
|
||||
#define CONFIG_RD_COMMAND 0
|
||||
#define CONFIG_RD_DEBUG 0
|
||||
#define CONFIG_REALTIME_ONLY 1
|
||||
#define CONFIG_RT_ML_PARTITIONING 0
|
||||
--
|
||||
2.17.1
|
||||
|
||||
|
|
|
@ -18,7 +18,7 @@ Subject: Add AllowUserCertificates flag
|
|||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
|
||||
@@ -211,6 +211,7 @@ import org.chromium.content_public.browser.ScreenOrientationProvider;
|
||||
@@ -223,6 +223,7 @@ import org.chromium.content_public.browser.ScreenOrientationProvider;
|
||||
import org.chromium.content_public.browser.SelectionPopupController;
|
||||
import org.chromium.content_public.browser.WebContents;
|
||||
import org.chromium.content_public.common.ContentSwitches;
|
||||
|
@ -26,7 +26,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv
|
|||
import org.chromium.printing.PrintManagerDelegateImpl;
|
||||
import org.chromium.printing.PrintingController;
|
||||
import org.chromium.printing.PrintingControllerImpl;
|
||||
@@ -879,6 +880,8 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
|
||||
@@ -976,6 +977,8 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
|
||||
UpdateMenuItemHelper.getInstance().onStart();
|
||||
ChromeActivitySessionTracker.getInstance().onStartWithNative();
|
||||
ChromeCachedFlags.getInstance().cacheNativeFlags();
|
||||
|
@ -38,18 +38,18 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv
|
|||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/flags/ChromeCachedFlags.java b/chrome/android/java/src/org/chromium/chrome/browser/app/flags/ChromeCachedFlags.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/app/flags/ChromeCachedFlags.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/app/flags/ChromeCachedFlags.java
|
||||
@@ -65,6 +65,7 @@ public class ChromeCachedFlags {
|
||||
|
||||
// clang-format off
|
||||
List<String> featuresToCache = Arrays.asList(
|
||||
+ ChromeFeatureList.ALLOW_USER_CERTIFICATES,
|
||||
ChromeFeatureList.ANDROID_PARTNER_CUSTOMIZATION_PHENOTYPE,
|
||||
ChromeFeatureList.APP_MENU_MOBILE_SITE_OPTION,
|
||||
ChromeFeatureList.APP_TO_WEB_ATTRIBUTION,
|
||||
@@ -88,6 +88,7 @@ public class ChromeCachedFlags {
|
||||
add(ChromeFeatureList.EARLY_LIBRARY_LOAD);
|
||||
add(ChromeFeatureList.ELASTIC_OVERSCROLL);
|
||||
add(ChromeFeatureList.IMMERSIVE_UI_MODE);
|
||||
+ add(ChromeFeatureList.ALLOW_USER_CERTIFICATES);
|
||||
add(ChromeFeatureList.INSTANT_START);
|
||||
add(ChromeFeatureList.INSTANCE_SWITCHER);
|
||||
add(ChromeFeatureList.INTEREST_FEED_V2);
|
||||
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
|
||||
--- a/chrome/browser/about_flags.cc
|
||||
+++ b/chrome/browser/about_flags.cc
|
||||
@@ -2805,6 +2805,10 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
@@ -2781,6 +2781,10 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
flag_descriptions::kCSSContainerQueriesDescription, kOsAll,
|
||||
FEATURE_VALUE_TYPE(blink::features::kCSSContainerQueries)},
|
||||
#if defined(OS_ANDROID)
|
||||
|
@ -91,16 +91,16 @@ diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptio
|
|||
diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browser/flags/android/chrome_feature_list.cc
|
||||
--- a/chrome/browser/flags/android/chrome_feature_list.cc
|
||||
+++ b/chrome/browser/flags/android/chrome_feature_list.cc
|
||||
@@ -127,6 +127,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
|
||||
@@ -139,6 +139,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
|
||||
&feed::kFeedInteractiveRefresh,
|
||||
&feed::kInterestFeedContentSuggestions,
|
||||
&feed::kInterestFeedNoticeCardAutoDismiss,
|
||||
&feed::kInterestFeedSpinnerAlwaysAnimate,
|
||||
+ &kAllowUserCertificates,
|
||||
&feed::kInterestFeedV1ClicksAndViewsConditionalUpload,
|
||||
&feed::kInterestFeedV2,
|
||||
&feed::kInterestFeedV2Autoplay,
|
||||
@@ -350,6 +351,9 @@ const base::Feature kAdaptiveButtonInTopToolbarCustomization{
|
||||
"AdaptiveButtonInTopToolbarCustomization",
|
||||
@@ -373,6 +374,9 @@ const base::Feature kAdaptiveButtonInTopToolbarCustomizationV2{
|
||||
"AdaptiveButtonInTopToolbarCustomizationV2",
|
||||
base::FEATURE_DISABLED_BY_DEFAULT};
|
||||
|
||||
+const base::Feature kAllowUserCertificates = {
|
||||
|
@ -119,29 +119,29 @@ diff --git a/chrome/browser/flags/android/chrome_feature_list.h b/chrome/browser
|
|||
+extern const base::Feature kAllowUserCertificates;
|
||||
// Alphabetical:
|
||||
extern const base::Feature kAdaptiveButtonInTopToolbar;
|
||||
extern const base::Feature kAdaptiveButtonInTopToolbarCustomization;
|
||||
extern const base::Feature kAdaptiveButtonInTopToolbarCustomizationV2;
|
||||
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
|
||||
--- 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
|
||||
@@ -47,6 +47,7 @@ public class CachedFeatureFlags {
|
||||
@@ -48,6 +48,7 @@ public class CachedFeatureFlags {
|
||||
*/
|
||||
private static Map<String, Boolean> sDefaults = new HashMap<String, Boolean>() {
|
||||
{
|
||||
+ put(ChromeFeatureList.ALLOW_USER_CERTIFICATES, false);
|
||||
put(ChromeFeatureList.ANDROID_PARTNER_CUSTOMIZATION_PHENOTYPE, true);
|
||||
put(ChromeFeatureList.BOOKMARK_BOTTOM_SHEET, false);
|
||||
put(ChromeFeatureList.CHROME_STARTUP_DELEGATE, false);
|
||||
private static Map<String, Boolean> sDefaults =
|
||||
ImmutableMap.<String, Boolean>builder()
|
||||
+ .put(ChromeFeatureList.ALLOW_USER_CERTIFICATES, false)
|
||||
.put(ChromeFeatureList.ANDROID_PARTNER_CUSTOMIZATION_PHENOTYPE, true)
|
||||
.put(ChromeFeatureList.BOOKMARK_BOTTOM_SHEET, false)
|
||||
.put(ChromeFeatureList.CONDITIONAL_TAB_STRIP_ANDROID, false)
|
||||
diff --git 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
|
||||
--- 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
|
||||
@@ -203,6 +203,7 @@ public abstract class ChromeFeatureList {
|
||||
@@ -211,6 +211,7 @@ public abstract class ChromeFeatureList {
|
||||
}
|
||||
|
||||
/* Alphabetical: */
|
||||
+ public static final String ALLOW_USER_CERTIFICATES = "AllowUserCertificates";
|
||||
public static final String ADAPTIVE_BUTTON_IN_TOP_TOOLBAR = "AdaptiveButtonInTopToolbar";
|
||||
public static final String ADAPTIVE_BUTTON_IN_TOP_TOOLBAR_CUSTOMIZATION =
|
||||
"AdaptiveButtonInTopToolbarCustomization";
|
||||
public static final String ADAPTIVE_BUTTON_IN_TOP_TOOLBAR_CUSTOMIZATION_V2 =
|
||||
"AdaptiveButtonInTopToolbarCustomizationV2";
|
||||
diff --git a/net/android/java/src/org/chromium/net/X509Util.java b/net/android/java/src/org/chromium/net/X509Util.java
|
||||
--- a/net/android/java/src/org/chromium/net/X509Util.java
|
||||
+++ b/net/android/java/src/org/chromium/net/X509Util.java
|
||||
|
|
|
@ -9,7 +9,7 @@ Subject: Add Alt+D hotkey to focus address bar
|
|||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/KeyboardShortcuts.java b/chrome/android/java/src/org/chromium/chrome/browser/KeyboardShortcuts.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/KeyboardShortcuts.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/KeyboardShortcuts.java
|
||||
@@ -147,6 +147,8 @@ public class KeyboardShortcuts {
|
||||
@@ -156,6 +156,8 @@ public class KeyboardShortcuts {
|
||||
KeyEvent.KEYCODE_F, KeyEvent.META_CTRL_ON);
|
||||
addShortcut(context, chromeFeatureShortcutGroup, R.string.keyboard_shortcut_address_bar,
|
||||
KeyEvent.KEYCODE_L, KeyEvent.META_CTRL_ON);
|
||||
|
|
|
@ -13,7 +13,7 @@ disable from all its searches RLZ and field experiments querystring parameters.
|
|||
diff --git a/components/search_engines/prepopulated_engines.json b/components/search_engines/prepopulated_engines.json
|
||||
--- a/components/search_engines/prepopulated_engines.json
|
||||
+++ b/components/search_engines/prepopulated_engines.json
|
||||
@@ -132,6 +132,27 @@
|
||||
@@ -133,6 +133,27 @@
|
||||
"id": 1
|
||||
},
|
||||
|
||||
|
|
|
@ -14,7 +14,7 @@ Subject: Add IsCleartextPermitted flag
|
|||
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
|
||||
--- a/chrome/browser/about_flags.cc
|
||||
+++ b/chrome/browser/about_flags.cc
|
||||
@@ -7444,6 +7444,11 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
@@ -7612,6 +7612,11 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
FEATURE_VALUE_TYPE(
|
||||
chrome::android::kBookmarksExportUseSaf)},
|
||||
|
||||
|
@ -29,9 +29,9 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
|
|||
diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc
|
||||
--- a/chrome/browser/flag_descriptions.cc
|
||||
+++ b/chrome/browser/flag_descriptions.cc
|
||||
@@ -1404,6 +1404,10 @@ const char kHostedAppShimCreationName[] =
|
||||
const char kHostedAppShimCreationDescription[] =
|
||||
"Create app shims on Mac when creating a hosted app.";
|
||||
@@ -1407,6 +1407,10 @@ const char kHttpsOnlyModeDescription[] =
|
||||
"Adds a setting under chrome://settings/security to opt-in to HTTPS-First "
|
||||
"Mode.";
|
||||
|
||||
+const char kIsCleartextPermittedName[] = "Allow cleartext traffic";
|
||||
+const char kIsCleartextPermittedDescription[] =
|
||||
|
@ -43,9 +43,9 @@ diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descripti
|
|||
diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h
|
||||
--- a/chrome/browser/flag_descriptions.h
|
||||
+++ b/chrome/browser/flag_descriptions.h
|
||||
@@ -825,6 +825,9 @@ extern const char kHostedAppQuitNotificationDescription[];
|
||||
extern const char kHostedAppShimCreationName[];
|
||||
extern const char kHostedAppShimCreationDescription[];
|
||||
@@ -814,6 +814,9 @@ extern const char kHostedAppShimCreationDescription[];
|
||||
extern const char kHttpsOnlyModeName[];
|
||||
extern const char kHttpsOnlyModeDescription[];
|
||||
|
||||
+extern const char kIsCleartextPermittedName[];
|
||||
+extern const char kIsCleartextPermittedDescription[];
|
||||
|
@ -56,7 +56,7 @@ diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptio
|
|||
diff --git a/net/base/features.cc b/net/base/features.cc
|
||||
--- a/net/base/features.cc
|
||||
+++ b/net/base/features.cc
|
||||
@@ -70,6 +70,9 @@ base::TimeDelta GetExtraTimeAbsolute() {
|
||||
@@ -89,6 +89,9 @@ const base::FeatureParam<int> kUseDnsHttpsSvcbExtraTimePercent{
|
||||
const base::Feature kEnableTLS13EarlyData{"EnableTLS13EarlyData",
|
||||
base::FEATURE_DISABLED_BY_DEFAULT};
|
||||
|
||||
|
@ -69,7 +69,7 @@ diff --git a/net/base/features.cc b/net/base/features.cc
|
|||
diff --git a/net/base/features.h b/net/base/features.h
|
||||
--- a/net/base/features.h
|
||||
+++ b/net/base/features.h
|
||||
@@ -34,6 +34,8 @@ NET_EXPORT extern const base::Feature kCapReferrerToOriginOnCrossOrigin;
|
||||
@@ -37,6 +37,8 @@ NET_EXPORT extern const base::Feature kCapReferrerToOriginOnCrossOrigin;
|
||||
// Enables TLS 1.3 early data.
|
||||
NET_EXPORT extern const base::Feature kEnableTLS13EarlyData;
|
||||
|
||||
|
@ -81,7 +81,7 @@ diff --git a/net/base/features.h b/net/base/features.h
|
|||
diff --git a/net/url_request/url_request_http_job.cc b/net/url_request/url_request_http_job.cc
|
||||
--- a/net/url_request/url_request_http_job.cc
|
||||
+++ b/net/url_request/url_request_http_job.cc
|
||||
@@ -211,6 +211,10 @@ std::unique_ptr<URLRequestJob> URLRequestHttpJob::Create(URLRequest* request) {
|
||||
@@ -214,6 +214,10 @@ std::unique_ptr<URLRequestJob> URLRequestHttpJob::Create(URLRequest* request) {
|
||||
}
|
||||
|
||||
#if defined(OS_ANDROID)
|
||||
|
|
|
@ -17,7 +17,7 @@ See also:
|
|||
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
|
||||
--- a/chrome/browser/about_flags.cc
|
||||
+++ b/chrome/browser/about_flags.cc
|
||||
@@ -3174,6 +3174,12 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
@@ -3156,6 +3156,12 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
flag_descriptions::kDeprecateLowUsageCodecsName,
|
||||
flag_descriptions::kDeprecateLowUsageCodecsDescription, kOsCrOS | kOsLinux,
|
||||
FEATURE_VALUE_TYPE(media::kDeprecateLowUsageCodecs)},
|
||||
|
@ -33,7 +33,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
|
|||
diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc
|
||||
--- a/chrome/browser/flag_descriptions.cc
|
||||
+++ b/chrome/browser/flag_descriptions.cc
|
||||
@@ -605,6 +605,11 @@ const char kEnableAutofillCreditCardAuthenticationDescription[] =
|
||||
@@ -635,6 +635,11 @@ const char kEnableAutofillCreditCardAuthenticationDescription[] =
|
||||
"authenticator (if available) to verify card ownership when retrieving "
|
||||
"credit cards from Google Payments.";
|
||||
|
||||
|
@ -48,20 +48,20 @@ diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descripti
|
|||
diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h
|
||||
--- a/chrome/browser/flag_descriptions.h
|
||||
+++ b/chrome/browser/flag_descriptions.h
|
||||
@@ -371,6 +371,9 @@ extern const char kEnableAutofillAddressSavePromptDescription[];
|
||||
@@ -404,6 +404,9 @@ extern const char kEnableAutofillSaveCardInfoBarAccountIndicationFooterName[];
|
||||
extern const char
|
||||
kEnableAutofillSaveCardInfoBarAccountIndicationFooterDescription[];
|
||||
|
||||
extern const char kEnableAutofillCreditCardAblationExperimentDisplayName[];
|
||||
extern const char kEnableAutofillCreditCardAblationExperimentDescription[];
|
||||
+extern const char kEnableIncognitoSnapshotsInAndroidRecentsName[];
|
||||
+extern const char kEnableIncognitoSnapshotsInAndroidRecentsDescription[];
|
||||
+
|
||||
extern const char kEnableExperimentalCookieFeaturesName[];
|
||||
extern const char kEnableExperimentalCookieFeaturesDescription[];
|
||||
|
||||
extern const char kEnableAutofillCreditCardAuthenticationName[];
|
||||
extern const char kEnableAutofillCreditCardAuthenticationDescription[];
|
||||
diff --git a/chrome/browser/flags/android/java_templates/ChromeSwitches.java.tmpl b/chrome/browser/flags/android/java_templates/ChromeSwitches.java.tmpl
|
||||
--- a/chrome/browser/flags/android/java_templates/ChromeSwitches.java.tmpl
|
||||
+++ b/chrome/browser/flags/android/java_templates/ChromeSwitches.java.tmpl
|
||||
@@ -147,10 +147,6 @@ public abstract class ChromeSwitches {{
|
||||
@@ -129,10 +129,6 @@ public abstract class ChromeSwitches {{
|
||||
/** Switch for enabling the Chrome Survey. Only works when UMA is accepted. */
|
||||
public static final String CHROME_FORCE_ENABLE_SURVEY = "force-enable-chrome-survey";
|
||||
|
||||
|
@ -75,7 +75,7 @@ diff --git a/chrome/browser/flags/android/java_templates/ChromeSwitches.java.tmp
|
|||
diff --git a/chrome/common/chrome_switches.cc b/chrome/common/chrome_switches.cc
|
||||
--- a/chrome/common/chrome_switches.cc
|
||||
+++ b/chrome/common/chrome_switches.cc
|
||||
@@ -340,6 +340,9 @@ const char kHomePage[] = "homepage";
|
||||
@@ -344,6 +344,9 @@ const char kHomePage[] = "homepage";
|
||||
// Causes the browser to launch directly in incognito mode.
|
||||
const char kIncognito[] = "incognito";
|
||||
|
||||
|
|
|
@ -23,7 +23,7 @@ for SimpleURLLoaders as well.
|
|||
chrome/browser/resources/proxy_config.js | 266 +++++++++++
|
||||
chrome/browser/ui/BUILD.gn | 2 +
|
||||
.../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.
|
|||
.../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
|
||||
|
@ -43,9 +43,9 @@ for SimpleURLLoaders as well.
|
|||
diff --git a/chrome/android/java/res/values/values.xml b/chrome/android/java/res/values/values.xml
|
||||
--- a/chrome/android/java/res/values/values.xml
|
||||
+++ b/chrome/android/java/res/values/values.xml
|
||||
@@ -29,6 +29,9 @@
|
||||
<integer name="reload_button_level_reload">0</integer>
|
||||
<integer name="reload_button_level_stop">1</integer>
|
||||
@@ -25,6 +25,9 @@
|
||||
<!-- Compositor Tab Title Text -->
|
||||
<bool name="compositor_tab_title_fake_bold_text">true</bool>
|
||||
|
||||
+ <string name="proxy_title">Proxy configuration</string>
|
||||
+ <string name="proxy_url">chrome://proxy</string>
|
||||
|
@ -70,7 +70,7 @@ diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/androi
|
|||
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
|
||||
--- 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
|
||||
@@ -52,6 +52,7 @@ public class PrivacySettings
|
||||
@@ -54,6 +54,7 @@ public class PrivacySettings
|
||||
private static final String PREF_CLEAR_BROWSING_DATA = "clear_browsing_data";
|
||||
public static final String PREF_ALLOW_CUSTOM_TAB_INTENTS = "allow_custom_tab_intents";
|
||||
private static final String PREF_CLOSE_TABS_ON_EXIT = "close_tabs_on_exit";
|
||||
|
@ -81,7 +81,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
|
|||
diff --git a/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc b/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc
|
||||
--- a/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc
|
||||
+++ b/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc
|
||||
@@ -364,6 +364,8 @@ ChromeAutocompleteProviderClient::GetBuiltinsToProvideAsUserTypes() {
|
||||
@@ -365,6 +365,8 @@ ChromeAutocompleteProviderClient::GetBuiltinsToProvideAsUserTypes() {
|
||||
builtins_to_provide.push_back(
|
||||
base::ASCIIToUTF16(chrome::kChromeUISettingsURL));
|
||||
#endif
|
||||
|
@ -93,7 +93,7 @@ diff --git a/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc
|
|||
diff --git a/chrome/browser/browser_resources.grd b/chrome/browser/browser_resources.grd
|
||||
--- a/chrome/browser/browser_resources.grd
|
||||
+++ b/chrome/browser/browser_resources.grd
|
||||
@@ -101,6 +101,12 @@
|
||||
@@ -88,6 +88,12 @@
|
||||
<include name="IDR_HANGOUT_SERVICES_MANIFEST" file="resources\hangout_services\manifest.json" type="BINDATA" />
|
||||
</if>
|
||||
|
||||
|
@ -173,7 +173,7 @@ diff --git a/chrome/browser/net/proxy_service_factory.h b/chrome/browser/net/pro
|
|||
diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browser_prefs.cc
|
||||
--- a/chrome/browser/prefs/browser_prefs.cc
|
||||
+++ b/chrome/browser/prefs/browser_prefs.cc
|
||||
@@ -158,6 +158,8 @@
|
||||
@@ -160,6 +160,8 @@
|
||||
#include "printing/buildflags/buildflags.h"
|
||||
#include "rlz/buildflags/buildflags.h"
|
||||
|
||||
|
@ -182,7 +182,7 @@ diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browse
|
|||
#if BUILDFLAG(ENABLE_BACKGROUND_MODE)
|
||||
#include "chrome/browser/background/background_mode_manager.h"
|
||||
#endif
|
||||
@@ -786,6 +788,8 @@ void RegisterLocalState(PrefRegistrySimple* registry) {
|
||||
@@ -914,6 +916,8 @@ void RegisterLocalState(PrefRegistrySimple* registry) {
|
||||
PluginsResourceService::RegisterPrefs(registry);
|
||||
#endif
|
||||
|
||||
|
@ -194,7 +194,7 @@ diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browse
|
|||
diff --git a/chrome/browser/prefs/chrome_command_line_pref_store.cc b/chrome/browser/prefs/chrome_command_line_pref_store.cc
|
||||
--- a/chrome/browser/prefs/chrome_command_line_pref_store.cc
|
||||
+++ b/chrome/browser/prefs/chrome_command_line_pref_store.cc
|
||||
@@ -159,7 +159,7 @@ void ChromeCommandLinePrefStore::ApplyProxyMode() {
|
||||
@@ -157,7 +157,7 @@ void ChromeCommandLinePrefStore::ApplyProxyMode() {
|
||||
SetValue(
|
||||
proxy_config::prefs::kProxy,
|
||||
std::make_unique<base::Value>(ProxyConfigDictionary::CreateFixedServers(
|
||||
|
@ -627,7 +627,7 @@ new file mode 100644
|
|||
diff --git a/chrome/browser/ui/BUILD.gn b/chrome/browser/ui/BUILD.gn
|
||||
--- a/chrome/browser/ui/BUILD.gn
|
||||
+++ b/chrome/browser/ui/BUILD.gn
|
||||
@@ -256,6 +256,8 @@ static_library("ui") {
|
||||
@@ -265,6 +265,8 @@ static_library("ui") {
|
||||
"webui/metrics_handler.h",
|
||||
"webui/net_export_ui.cc",
|
||||
"webui/net_export_ui.h",
|
||||
|
@ -639,7 +639,7 @@ diff --git a/chrome/browser/ui/BUILD.gn b/chrome/browser/ui/BUILD.gn
|
|||
diff --git a/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc b/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc
|
||||
--- a/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc
|
||||
+++ b/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc
|
||||
@@ -52,6 +52,7 @@
|
||||
@@ -53,6 +53,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"
|
||||
|
@ -647,7 +647,7 @@ diff --git a/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc b/chrom
|
|||
#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"
|
||||
@@ -600,6 +601,8 @@ WebUIFactoryFunction GetWebUIFactoryFunction(WebUI* web_ui,
|
||||
@@ -619,6 +620,8 @@ WebUIFactoryFunction GetWebUIFactoryFunction(WebUI* web_ui,
|
||||
return &NewWebUI<MemoryInternalsUI>;
|
||||
if (url.host_piece() == chrome::kChromeUINetExportHost)
|
||||
return &NewWebUI<NetExportUI>;
|
||||
|
@ -660,7 +660,7 @@ diff --git a/chrome/browser/ui/webui/proxy_config_ui.cc b/chrome/browser/ui/webu
|
|||
new file mode 100644
|
||||
--- /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.
|
||||
+
|
||||
|
@ -691,7 +691,6 @@ new file mode 100644
|
|||
+#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"
|
||||
|
@ -1128,15 +1127,15 @@ diff --git a/chrome/common/webui_url_constants.cc b/chrome/common/webui_url_cons
|
|||
const char kChromeUIChromeURLsHost[] = "chrome-urls";
|
||||
const char kChromeUIChromeURLsURL[] = "chrome://chrome-urls/";
|
||||
const char kChromeUIComponentsHost[] = "components";
|
||||
@@ -336,6 +338,7 @@ bool IsSystemWebUIHost(base::StringPiece host) {
|
||||
kChromeUIMobileSetupHost,
|
||||
kChromeUIMultiDeviceSetupHost,
|
||||
kChromeUINetworkHost,
|
||||
+ kChromeUIProxyConfigHost,
|
||||
kChromeUIOobeHost,
|
||||
kChromeUIOSCreditsHost,
|
||||
kChromeUIOSSettingsHost,
|
||||
@@ -553,6 +556,7 @@ const char* const kChromeHostURLs[] = {
|
||||
@@ -346,6 +348,7 @@ bool IsSystemWebUIHost(base::StringPiece host) {
|
||||
kChromeUIMobileSetupHost,
|
||||
kChromeUIMultiDeviceSetupHost,
|
||||
kChromeUINetworkHost,
|
||||
+ kChromeUIProxyConfigHost,
|
||||
kChromeUIOobeHost,
|
||||
kChromeUIOSCreditsHost,
|
||||
kChromeUIOSSettingsHost,
|
||||
@@ -568,6 +571,7 @@ const char* const kChromeHostURLs[] = {
|
||||
#if !defined(OS_ANDROID)
|
||||
#if !BUILDFLAG(IS_CHROMEOS_ASH)
|
||||
kChromeUIAppLauncherPageHost,
|
||||
|
@ -1147,7 +1146,7 @@ diff --git a/chrome/common/webui_url_constants.cc b/chrome/common/webui_url_cons
|
|||
diff --git a/chrome/common/webui_url_constants.h b/chrome/common/webui_url_constants.h
|
||||
--- a/chrome/common/webui_url_constants.h
|
||||
+++ b/chrome/common/webui_url_constants.h
|
||||
@@ -120,6 +120,8 @@ extern const char kChromeUIMemoryInternalsHost[];
|
||||
@@ -125,6 +125,8 @@ extern const char kChromeUIMemoryInternalsHost[];
|
||||
extern const char kChromeUINTPTilesInternalsHost[];
|
||||
extern const char kChromeUINaClHost[];
|
||||
extern const char kChromeUINetExportHost[];
|
||||
|
@ -1159,12 +1158,12 @@ diff --git a/chrome/common/webui_url_constants.h b/chrome/common/webui_url_const
|
|||
diff --git a/components/policy/core/browser/proxy_policy_handler.cc b/components/policy/core/browser/proxy_policy_handler.cc
|
||||
--- a/components/policy/core/browser/proxy_policy_handler.cc
|
||||
+++ b/components/policy/core/browser/proxy_policy_handler.cc
|
||||
@@ -197,7 +197,7 @@ void ProxyPolicyHandler::ApplyPolicySettings(const PolicyMap& policies,
|
||||
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::ApplyPolicySettings(const PolicyMap& policies,
|
||||
ProxyConfigDictionary::CreateFixedServers(
|
||||
server->GetString(), bypass_list && bypass_list->is_string()
|
||||
? bypass_list->GetString()
|
||||
- : std::string()));
|
||||
+ : std::string(), false));
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
|
|
@ -40,7 +40,7 @@ diff --git a/chrome/android/chrome_java_sources.gni b/chrome/android/chrome_java
|
|||
diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/android/java/res/xml/privacy_preferences.xml
|
||||
--- a/chrome/android/java/res/xml/privacy_preferences.xml
|
||||
+++ b/chrome/android/java/res/xml/privacy_preferences.xml
|
||||
@@ -24,6 +24,11 @@
|
||||
@@ -28,6 +28,11 @@
|
||||
android:key="secure_dns"
|
||||
android:title="@string/settings_secure_dns_title"
|
||||
android:fragment="org.chromium.chrome.browser.privacy.secure_dns.SecureDnsSettings"/>
|
||||
|
@ -140,7 +140,7 @@ new file mode 100644
|
|||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
|
||||
@@ -58,6 +58,7 @@ import org.chromium.base.supplier.UnownedUserDataSupplier;
|
||||
@@ -56,6 +56,7 @@ import org.chromium.base.supplier.UnownedUserDataSupplier;
|
||||
import org.chromium.base.task.PostTask;
|
||||
import org.chromium.cc.input.BrowserControlsState;
|
||||
import org.chromium.chrome.R;
|
||||
|
@ -148,22 +148,22 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct
|
|||
import org.chromium.chrome.browser.IntentHandler.IntentHandlerDelegate;
|
||||
import org.chromium.chrome.browser.IntentHandler.TabOpenType;
|
||||
import org.chromium.chrome.browser.accessibility_tab_switcher.OverviewListLayout;
|
||||
@@ -1736,8 +1737,9 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
|
||||
@@ -1756,8 +1757,9 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
|
||||
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);
|
||||
- && savedInstanceState.getBoolean(IS_INCOGNITO_SELECTED, false);
|
||||
+ boolean startIncognito = ContextUtils.getAppSharedPreferences().getBoolean(AlwaysIncognitoLinkInterceptor.PREF_ALWAYS_INCOGNITO, false)
|
||||
+ || (savedInstanceState != null
|
||||
+ && savedInstanceState.getBoolean("is_incognito_selected", false));
|
||||
int index = savedInstanceState != null ? savedInstanceState.getInt(WINDOW_INDEX, 0) : 0;
|
||||
+ && savedInstanceState.getBoolean(IS_INCOGNITO_SELECTED, false));
|
||||
|
||||
mNextTabPolicySupplier = new ChromeNextTabPolicySupplier(mOverviewModeBehaviorSupplier);
|
||||
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
|
||||
@@ -94,6 +94,7 @@ import org.chromium.chrome.browser.contextualsearch.ContextualSearchFieldTrial;
|
||||
@@ -101,6 +101,7 @@ import org.chromium.chrome.browser.contextualsearch.ContextualSearchFieldTrial;
|
||||
import org.chromium.chrome.browser.contextualsearch.ContextualSearchManager;
|
||||
import org.chromium.chrome.browser.contextualsearch.ContextualSearchManager.ContextualSearchTabPromotionDelegate;
|
||||
import org.chromium.chrome.browser.dependency_injection.ChromeActivityCommonsModule;
|
||||
|
@ -171,7 +171,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv
|
|||
import org.chromium.chrome.browser.dependency_injection.ChromeActivityComponent;
|
||||
import org.chromium.chrome.browser.dependency_injection.ModuleFactoryOverrides;
|
||||
import org.chromium.chrome.browser.device.DeviceClassManager;
|
||||
@@ -1766,6 +1767,9 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
|
||||
@@ -1872,6 +1873,9 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
|
||||
throw new IllegalStateException(
|
||||
"Attempting to access TabCreator before initialization");
|
||||
}
|
||||
|
@ -184,7 +184,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv
|
|||
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
|
||||
--- 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
|
||||
@@ -363,6 +363,12 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate
|
||||
@@ -378,6 +378,12 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate
|
||||
}
|
||||
|
||||
private void prepareCommonMenuItems(Menu menu, @MenuGroup int menuGroup, boolean isIncognito) {
|
||||
|
@ -205,10 +205,10 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/Chr
|
|||
import org.chromium.base.supplier.Supplier;
|
||||
import org.chromium.chrome.R;
|
||||
+import org.chromium.chrome.browser.AlwaysIncognitoLinkInterceptor;
|
||||
import org.chromium.chrome.browser.AppHooks;
|
||||
import org.chromium.chrome.browser.compositor.bottombar.ephemeraltab.EphemeralTabCoordinator;
|
||||
import org.chromium.chrome.browser.contextmenu.ChromeContextMenuItem.Item;
|
||||
@@ -408,6 +409,10 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator {
|
||||
import org.chromium.chrome.browser.contextmenu.ContextMenuCoordinator.ListItemType;
|
||||
@@ -409,6 +410,10 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator {
|
||||
boolean hasSaveImage = false;
|
||||
mShowEphemeralTabNewLabel = null;
|
||||
|
||||
|
@ -219,7 +219,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/Chr
|
|||
List<Pair<Integer, ModelList>> groupedItems = new ArrayList<>();
|
||||
|
||||
if (mParams.isAnchor()) {
|
||||
@@ -426,6 +431,7 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator {
|
||||
@@ -427,6 +432,7 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator {
|
||||
linkGroup.add(createListItem(Item.OPEN_IN_NEW_TAB_IN_GROUP));
|
||||
}
|
||||
}
|
||||
|
@ -227,7 +227,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/Chr
|
|||
if (!mItemDelegate.isIncognito() && mItemDelegate.isIncognitoSupported()) {
|
||||
linkGroup.add(createListItem(Item.OPEN_IN_INCOGNITO_TAB));
|
||||
}
|
||||
@@ -450,7 +456,7 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator {
|
||||
@@ -451,7 +457,7 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator {
|
||||
}
|
||||
}
|
||||
if (FirstRunStatus.getFirstRunFlowComplete()) {
|
||||
|
@ -274,7 +274,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/Cust
|
|||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabIntentDataProvider.java b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabIntentDataProvider.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabIntentDataProvider.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabIntentDataProvider.java
|
||||
@@ -48,6 +48,9 @@ import org.chromium.components.browser_ui.widget.TintedDrawable;
|
||||
@@ -50,6 +50,9 @@ import org.chromium.components.browser_ui.widget.TintedDrawable;
|
||||
import org.chromium.components.embedder_support.util.UrlConstants;
|
||||
import org.chromium.device.mojom.ScreenOrientationLockType;
|
||||
|
||||
|
@ -284,7 +284,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/Cust
|
|||
import java.lang.annotation.Retention;
|
||||
import java.lang.annotation.RetentionPolicy;
|
||||
import java.util.ArrayList;
|
||||
@@ -772,7 +775,7 @@ public class CustomTabIntentDataProvider extends BrowserServicesIntentDataProvid
|
||||
@@ -727,7 +730,7 @@ public class CustomTabIntentDataProvider extends BrowserServicesIntentDataProvid
|
||||
|
||||
@Override
|
||||
public boolean isIncognito() {
|
||||
|
@ -296,7 +296,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/Cust
|
|||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/init/StartupTabPreloader.java b/chrome/android/java/src/org/chromium/chrome/browser/init/StartupTabPreloader.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/init/StartupTabPreloader.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/init/StartupTabPreloader.java
|
||||
@@ -38,6 +38,9 @@ import org.chromium.ui.base.PageTransition;
|
||||
@@ -34,6 +34,9 @@ import org.chromium.content_public.browser.WebContents;
|
||||
import org.chromium.ui.base.WindowAndroid;
|
||||
import org.chromium.url.GURL;
|
||||
|
||||
|
@ -306,7 +306,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/init/StartupTab
|
|||
/**
|
||||
* This class attempts to preload the tab if the url is known from the intent when the profile
|
||||
* is created. This is done to improve startup latency.
|
||||
@@ -195,10 +198,15 @@ public class StartupTabPreloader implements ProfileManager.Observer, DestroyObse
|
||||
@@ -185,17 +188,22 @@ public class StartupTabPreloader implements ProfileManager.Observer, DestroyObse
|
||||
Intent intent = mIntentSupplier.get();
|
||||
GURL url = UrlFormatter.fixupUrl(getUrlFromIntent(intent));
|
||||
|
||||
|
@ -322,9 +322,8 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/init/StartupTab
|
|||
+ isIncognito ? profile.getPrimaryOTRProfile(true /* createIfNeeded */) : profile,
|
||||
+ false);
|
||||
|
||||
mLoadUrlParams = new LoadUrlParams(url.getValidSpecOrEmpty());
|
||||
String referrer = IntentHandler.getReferrerUrlIncludingExtraHeaders(intent);
|
||||
@@ -212,7 +220,7 @@ public class StartupTabPreloader implements ProfileManager.Observer, DestroyObse
|
||||
mLoadUrlParams = mIntentHandler.createLoadUrlParamsForIntent(url.getSpec(), intent);
|
||||
|
||||
// Create a detached tab, but don't add it to the tab model yet. We'll do that
|
||||
// later if the loadUrlParams etc... match.
|
||||
mTab = TabBuilder.createLiveTab(false)
|
||||
|
@ -336,18 +335,18 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/init/StartupTab
|
|||
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
|
||||
--- 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
|
||||
@@ -41,6 +41,7 @@ import org.chromium.ui.text.SpanApplier;
|
||||
@@ -42,6 +42,7 @@ import org.chromium.ui.text.SpanApplier;
|
||||
*/
|
||||
public class PrivacySettings
|
||||
extends PreferenceFragmentCompat implements Preference.OnPreferenceChangeListener {
|
||||
+ private static final String PREF_ALWAYS_INCOGNITO = "always_incognito";
|
||||
private static final String PREF_CAN_MAKE_PAYMENT = "can_make_payment";
|
||||
private static final String PREF_NETWORK_PREDICTIONS = "preload_pages";
|
||||
private static final String PREF_SECURE_DNS = "secure_dns";
|
||||
private static final String PREF_HTTPS_FIRST_MODE = "https_first_mode";
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/ChromeTabCreator.java b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/ChromeTabCreator.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/ChromeTabCreator.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/ChromeTabCreator.java
|
||||
@@ -47,6 +47,10 @@ import org.chromium.url.GURL;
|
||||
@@ -44,6 +44,10 @@ import org.chromium.url.GURL;
|
||||
|
||||
import java.nio.ByteBuffer;
|
||||
|
||||
|
@ -358,7 +357,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/Chrome
|
|||
/**
|
||||
* This class creates various kinds of new tabs and adds them to the right {@link TabModel}.
|
||||
*/
|
||||
@@ -77,6 +81,7 @@ public class ChromeTabCreator extends TabCreator {
|
||||
@@ -74,6 +78,7 @@ public class ChromeTabCreator extends TabCreator {
|
||||
private final Activity mActivity;
|
||||
private final StartupTabPreloader mStartupTabPreloader;
|
||||
private final boolean mIncognito;
|
||||
|
@ -366,7 +365,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/Chrome
|
|||
|
||||
private WindowAndroid mNativeWindow;
|
||||
private TabModel mTabModel;
|
||||
@@ -99,6 +104,10 @@ public class ChromeTabCreator extends TabCreator {
|
||||
@@ -96,6 +101,10 @@ public class ChromeTabCreator extends TabCreator {
|
||||
mNativeWindow = nativeWindow;
|
||||
mTabDelegateFactorySupplier = tabDelegateFactory;
|
||||
mIncognito = incognito;
|
||||
|
@ -377,7 +376,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/Chrome
|
|||
mOverviewNTPCreator = overviewNTPCreator;
|
||||
mAsyncTabParamsManager = asyncTabParamsManager;
|
||||
mTabModelSelectorSupplier = tabModelSelectorSupplier;
|
||||
@@ -262,6 +271,8 @@ public class ChromeTabCreator extends TabCreator {
|
||||
@@ -259,6 +268,8 @@ public class ChromeTabCreator extends TabCreator {
|
||||
if (creationState == TabCreationState.LIVE_IN_FOREGROUND && !openInForeground) {
|
||||
creationState = TabCreationState.LIVE_IN_BACKGROUND;
|
||||
}
|
||||
|
@ -386,7 +385,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/Chrome
|
|||
mTabModel.addTab(tab, position, type, creationState);
|
||||
return tab;
|
||||
} finally {
|
||||
@@ -296,6 +307,8 @@ public class ChromeTabCreator extends TabCreator {
|
||||
@@ -293,6 +304,8 @@ public class ChromeTabCreator extends TabCreator {
|
||||
@TabCreationState
|
||||
int creationState = openInForeground ? TabCreationState.LIVE_IN_FOREGROUND
|
||||
: TabCreationState.LIVE_IN_BACKGROUND;
|
||||
|
@ -395,15 +394,15 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/Chrome
|
|||
mTabModel.addTab(tab, position, type, creationState);
|
||||
return true;
|
||||
}
|
||||
@@ -339,7 +352,6 @@ public class ChromeTabCreator extends TabCreator {
|
||||
@@ -333,7 +346,6 @@ public class ChromeTabCreator extends TabCreator {
|
||||
// TODO(crbug.com/1081924): Clean up the launches from SearchActivity/Chrome.
|
||||
public Tab launchUrlFromExternalApp(String url, String referer, String headers, String appId,
|
||||
boolean forceNewTab, Intent intent, long intentTimestamp) {
|
||||
public Tab launchUrlFromExternalApp(
|
||||
LoadUrlParams loadUrlParams, String appId, boolean forceNewTab, Intent intent) {
|
||||
- assert !mIncognito;
|
||||
// Don't re-use tabs for intents from Chrome. Note that this can be spoofed so shouldn't be
|
||||
// relied on for anything security sensitive.
|
||||
boolean isLaunchedFromChrome = TextUtils.equals(appId, mActivity.getPackageName());
|
||||
|
||||
if (forceNewTab && !isLaunchedFromChrome) {
|
||||
@@ -453,6 +465,8 @@ public class ChromeTabCreator extends TabCreator {
|
||||
@@ -428,6 +440,8 @@ public class ChromeTabCreator extends TabCreator {
|
||||
.setSerializedCriticalPersistedTabData(serializedCriticalPersistedTabData)
|
||||
.build();
|
||||
}
|
||||
|
@ -449,7 +448,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabPer
|
|||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/webapps/WebappIntentDataProvider.java b/chrome/android/java/src/org/chromium/chrome/browser/webapps/WebappIntentDataProvider.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/webapps/WebappIntentDataProvider.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/webapps/WebappIntentDataProvider.java
|
||||
@@ -27,6 +27,9 @@ import org.chromium.chrome.browser.browserservices.intents.WebappExtras;
|
||||
@@ -28,6 +28,9 @@ import org.chromium.chrome.browser.browserservices.intents.WebappExtras;
|
||||
import org.chromium.chrome.browser.flags.ActivityType;
|
||||
import org.chromium.components.browser_ui.widget.TintedDrawable;
|
||||
|
||||
|
@ -460,15 +459,15 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/webapps/WebappI
|
|||
* Stores info about a web app.
|
||||
*/
|
||||
@@ -41,6 +44,8 @@ public class WebappIntentDataProvider extends BrowserServicesIntentDataProvider
|
||||
private final @ActivityType int mActivityType;
|
||||
private final Intent mIntent;
|
||||
private final ColorProviderImpl mColorProvider;
|
||||
|
||||
+ private boolean mIsIncognito = false;
|
||||
+
|
||||
/**
|
||||
* Returns the toolbar color to use if a custom color is not specified by the webapp.
|
||||
*/
|
||||
@@ -63,6 +68,10 @@ public class WebappIntentDataProvider extends BrowserServicesIntentDataProvider
|
||||
@@ -62,6 +67,10 @@ public class WebappIntentDataProvider extends BrowserServicesIntentDataProvider
|
||||
mWebappExtras = webappExtras;
|
||||
mWebApkExtras = webApkExtras;
|
||||
mActivityType = (webApkExtras != null) ? ActivityType.WEB_APK : ActivityType.WEBAPP;
|
||||
|
@ -479,7 +478,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/webapps/WebappI
|
|||
}
|
||||
|
||||
@Override
|
||||
@@ -155,6 +164,11 @@ public class WebappIntentDataProvider extends BrowserServicesIntentDataProvider
|
||||
@@ -150,6 +159,11 @@ public class WebappIntentDataProvider extends BrowserServicesIntentDataProvider
|
||||
return mWebApkExtras;
|
||||
}
|
||||
|
||||
|
@ -494,7 +493,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/webapps/WebappI
|
|||
diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browser/flags/android/chrome_feature_list.cc
|
||||
--- a/chrome/browser/flags/android/chrome_feature_list.cc
|
||||
+++ b/chrome/browser/flags/android/chrome_feature_list.cc
|
||||
@@ -421,7 +421,7 @@ const base::Feature kCCTIncognito{"CCTIncognito",
|
||||
@@ -447,7 +447,7 @@ const base::Feature kCCTIncognito{"CCTIncognito",
|
||||
base::FEATURE_ENABLED_BY_DEFAULT};
|
||||
|
||||
const base::Feature kCCTIncognitoAvailableToThirdParty{
|
||||
|
@ -506,7 +505,7 @@ diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browse
|
|||
diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||
--- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||
+++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||
@@ -908,6 +908,13 @@ Your Google account may have other forms of browsing history like searches and a
|
||||
@@ -907,6 +907,13 @@ Your Google account may have other forms of browsing history like searches and a
|
||||
<message name="IDS_CLEAR_BROWSING_HISTORY_SUMMARY_SYNCED_NO_LINK" desc="A text for the basic tab explaining browsing history for users with history sync. This version is shown when the link to MyActivity is displayed separately.">
|
||||
Clears history from all synced devices.
|
||||
</message>
|
||||
|
|
|
@ -11,13 +11,14 @@ Completely remove contacts picker permission from the file dialog
|
|||
.../org/chromium/base/ContentUriUtils.java | 32 ++
|
||||
chrome/android/java/AndroidManifest.xml | 1 -
|
||||
.../res/menu/bookmark_action_bar_menu.xml | 14 +
|
||||
.../browser/TabbedModeTabDelegateFactory.java | 5 +-
|
||||
.../browser/bookmarks/BookmarkActionBar.java | 12 +
|
||||
.../browser/bookmarks/BookmarkActivity.java | 28 ++
|
||||
.../browser/bookmarks/BookmarkActivity.java | 30 ++
|
||||
.../browser/bookmarks/BookmarkBridge.java | 277 +++++++++++++++++
|
||||
.../browser/bookmarks/BookmarkDelegate.java | 10 +
|
||||
.../browser/bookmarks/BookmarkManager.java | 22 ++
|
||||
.../browser/bookmarks/BookmarkPage.java | 8 +-
|
||||
.../native_page/NativePageFactory.java | 2 +-
|
||||
.../native_page/NativePageFactory.java | 11 +-
|
||||
chrome/browser/BUILD.gn | 11 +-
|
||||
chrome/browser/about_flags.cc | 6 +
|
||||
.../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 +
|
||||
.../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(-)
|
||||
|
||||
diff --git a/base/android/content_uri_utils.cc b/base/android/content_uri_utils.cc
|
||||
--- a/base/android/content_uri_utils.cc
|
||||
|
@ -131,9 +132,9 @@ diff --git a/base/android/java/src/org/chromium/base/ContentUriUtils.java b/base
|
|||
diff --git a/chrome/android/java/AndroidManifest.xml b/chrome/android/java/AndroidManifest.xml
|
||||
--- a/chrome/android/java/AndroidManifest.xml
|
||||
+++ b/chrome/android/java/AndroidManifest.xml
|
||||
@@ -56,7 +56,6 @@ by a child template that "extends" this file.
|
||||
<uses-permission-sdk-23 android:name="android.permission.BLUETOOTH_ADMIN"/>
|
||||
{% endif %}
|
||||
@@ -59,7 +59,6 @@ by a child template that "extends" this file.
|
||||
<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"/>
|
||||
|
@ -163,6 +164,35 @@ diff --git a/chrome/android/java/res/menu/bookmark_action_bar_menu.xml b/chrome/
|
|||
<item
|
||||
android:id="@+id/close_menu_id"
|
||||
android:icon="@drawable/btn_close"
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/TabbedModeTabDelegateFactory.java b/chrome/android/java/src/org/chromium/chrome/browser/TabbedModeTabDelegateFactory.java
|
||||
--- 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.ModalDialogManager;
|
||||
* {@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 TabbedModeTabDelegateFactory implements TabDelegateFactory {
|
||||
|
||||
private NativePageFactory mNativePageFactory;
|
||||
|
||||
- public TabbedModeTabDelegateFactory(Activity activity,
|
||||
+ public TabbedModeTabDelegateFactory(ChromeActivity activity,
|
||||
BrowserControlsVisibilityDelegate appBrowserControlsVisibilityDelegate,
|
||||
Supplier<ShareDelegate> shareDelegateSupplier,
|
||||
Supplier<EphemeralTabCoordinator> ephemeralTabCoordinatorSupplier,
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkActionBar.java b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkActionBar.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkActionBar.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkActionBar.java
|
||||
|
@ -209,18 +239,19 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
|
|||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkActivity.java
|
||||
--- 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.IntentHandler;
|
||||
@@ -15,6 +15,11 @@ import org.chromium.chrome.browser.IntentHandler;
|
||||
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_support.util.UrlConstants;
|
||||
@@ -24,6 +29,7 @@ import org.chromium.components.embedder_support.util.UrlConstants;
|
||||
public class BookmarkActivity extends SnackbarActivity {
|
||||
|
||||
private BookmarkManager mBookmarkManager;
|
||||
|
@ -228,36 +259,39 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
|
|||
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 SnackbarActivity {
|
||||
@@ -40,8 +46,23 @@ public class BookmarkActivity extends SnackbarActivity {
|
||||
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);
|
||||
}
|
||||
|
||||
+ mWindowAndroid.getIntentRequestTracker().saveInstanceState(outState);
|
||||
+ }
|
||||
+
|
||||
@Override
|
||||
@@ -56,6 +75,7 @@ public class BookmarkActivity extends SnackbarActivity {
|
||||
protected void onDestroy() {
|
||||
super.onDestroy();
|
||||
@@ -56,6 +77,7 @@ public class BookmarkActivity extends SnackbarActivity {
|
||||
@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 SnackbarActivity {
|
||||
@@ -63,6 +85,14 @@ public class BookmarkActivity extends SnackbarActivity {
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -696,19 +730,63 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
|
|||
diff --git 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
|
||||
--- 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
|
||||
@@ -101,7 +101,7 @@ public class NativePageFactory {
|
||||
@@ -15,6 +15,7 @@ import org.chromium.base.jank_tracker.JankTracker;
|
||||
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(), mActivity.getSnackbarManager(),
|
||||
mActivity.getTabModelSelector().isIncognitoSelected(),
|
||||
- new TabShim(tab, mActivity));
|
||||
+ new TabShim(tab, mActivity), mActivity);
|
||||
return new BookmarkPage(mActivity.getComponentName(), mSnackbarManagerSupplier.get(),
|
||||
mTabModelSelector.isIncognitoSelected(),
|
||||
- new TabShim(tab, mBrowserControlsManager, mTabModelSelector));
|
||||
+ new TabShim(tab, mBrowserControlsManager, mTabModelSelector), mActivity);
|
||||
}
|
||||
|
||||
protected NativePage buildDownloadsPage(Tab tab) {
|
||||
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
|
||||
--- a/chrome/browser/BUILD.gn
|
||||
+++ b/chrome/browser/BUILD.gn
|
||||
@@ -1839,6 +1839,13 @@ static_library("browser") {
|
||||
@@ -1817,6 +1817,13 @@ static_library("browser") {
|
||||
"window_placement/window_placement_permission_context.h",
|
||||
]
|
||||
|
||||
|
@ -731,7 +809,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
|
|||
"browser_process_platform_part_android.cc",
|
||||
"browser_process_platform_part_android.h",
|
||||
"chrome_browser_field_trials_mobile.cc",
|
||||
@@ -3451,8 +3460,6 @@ static_library("browser") {
|
||||
@@ -3483,8 +3492,6 @@ static_library("browser") {
|
||||
"badging/badge_manager_factory.h",
|
||||
"banners/app_banner_manager_desktop.cc",
|
||||
"banners/app_banner_manager_desktop.h",
|
||||
|
@ -743,9 +821,9 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
|
|||
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
|
||||
--- a/chrome/browser/about_flags.cc
|
||||
+++ b/chrome/browser/about_flags.cc
|
||||
@@ -7394,6 +7394,12 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
flag_descriptions::kPlaybackSpeedButtonDescription, kOsAll,
|
||||
FEATURE_VALUE_TYPE(media::kPlaybackSpeedButton)},
|
||||
@@ -7562,6 +7562,12 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
FEATURE_VALUE_TYPE(
|
||||
password_manager::features::kPasswordsAccountStorageRevisedOptInFlow)},
|
||||
|
||||
+ {"export-bookmarks-use-saf",
|
||||
+ flag_descriptions::kBookmarksExportUseSafName,
|
||||
|
@ -897,7 +975,7 @@ diff --git a/chrome/browser/android/bookmarks/bookmark_bridge.cc b/chrome/browse
|
|||
}
|
||||
|
||||
void BookmarkBridge::Destroy(JNIEnv*, const JavaParamRef<jobject>&) {
|
||||
@@ -542,6 +650,182 @@ jint BookmarkBridge::GetTotalBookmarkCount(
|
||||
@@ -543,6 +651,182 @@ jint BookmarkBridge::GetTotalBookmarkCount(
|
||||
return count;
|
||||
}
|
||||
|
||||
|
@ -1177,7 +1255,7 @@ diff --git a/chrome/browser/bookmarks/bookmark_html_writer.cc b/chrome/browser/b
|
|||
#include "chrome/browser/bookmarks/bookmark_model_factory.h"
|
||||
#include "chrome/browser/favicon/favicon_service_factory.h"
|
||||
#include "chrome/browser/profiles/profile.h"
|
||||
@@ -240,7 +241,12 @@ class Writer : public base::RefCountedThreadSafe<Writer> {
|
||||
@@ -230,7 +231,12 @@ class Writer : public base::RefCountedThreadSafe<Writer> {
|
||||
// Opens the file, returning true on success.
|
||||
bool OpenFile() {
|
||||
int flags = base::File::FLAG_CREATE_ALWAYS | base::File::FLAG_WRITE;
|
||||
|
@ -1261,9 +1339,9 @@ diff --git a/chrome/browser/download/android/java/src/org/chromium/chrome/browse
|
|||
diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc
|
||||
--- a/chrome/browser/flag_descriptions.cc
|
||||
+++ b/chrome/browser/flag_descriptions.cc
|
||||
@@ -5223,6 +5223,11 @@ const char kWebrtcPipeWireCapturerDescription[] =
|
||||
"capturing the desktop content on the Wayland display server.";
|
||||
#endif // #if defined(WEBRTC_USE_PIPEWIRE)
|
||||
@@ -5302,6 +5302,11 @@ const char kWebKioskEnableLacrosDescription[] =
|
||||
"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[] =
|
||||
|
@ -1276,9 +1354,9 @@ diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descripti
|
|||
diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h
|
||||
--- a/chrome/browser/flag_descriptions.h
|
||||
+++ b/chrome/browser/flag_descriptions.h
|
||||
@@ -3073,6 +3073,9 @@ extern const char kWebrtcPipeWireCapturerName[];
|
||||
extern const char kWebrtcPipeWireCapturerDescription[];
|
||||
#endif // #if defined(WEBRTC_USE_PIPEWIRE)
|
||||
@@ -3088,6 +3088,9 @@ extern const char kWebKioskEnableLacrosName[];
|
||||
extern const char kWebKioskEnableLacrosDescription[];
|
||||
#endif // BUILDFLAG(IS_CHROMEOS_ASH)
|
||||
|
||||
+extern const char kBookmarksExportUseSafName[];
|
||||
+extern const char kBookmarksExportUseSafDescription[];
|
||||
|
@ -1289,7 +1367,7 @@ diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptio
|
|||
diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browser/flags/android/chrome_feature_list.cc
|
||||
--- a/chrome/browser/flags/android/chrome_feature_list.cc
|
||||
+++ b/chrome/browser/flags/android/chrome_feature_list.cc
|
||||
@@ -151,6 +151,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
|
||||
@@ -164,6 +164,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
|
||||
&kBackgroundThreadPool,
|
||||
&kBentoOffline,
|
||||
&kBookmarkBottomSheet,
|
||||
|
@ -1297,9 +1375,9 @@ diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browse
|
|||
&kCastDeviceFilter,
|
||||
&kCloseTabSuggestions,
|
||||
&kCriticalPersistedTabData,
|
||||
@@ -759,6 +760,10 @@ const base::Feature kVrBrowsingFeedback{"VrBrowsingFeedback",
|
||||
const base::Feature kWebNotesStylize{"WebNotesStylize",
|
||||
base::FEATURE_DISABLED_BY_DEFAULT};
|
||||
@@ -810,6 +811,10 @@ const base::Feature kWebApkInstallCompleteNotification{
|
||||
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",
|
||||
|
@ -1311,7 +1389,7 @@ diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browse
|
|||
diff --git a/chrome/browser/flags/android/chrome_feature_list.h b/chrome/browser/flags/android/chrome_feature_list.h
|
||||
--- a/chrome/browser/flags/android/chrome_feature_list.h
|
||||
+++ b/chrome/browser/flags/android/chrome_feature_list.h
|
||||
@@ -142,6 +142,7 @@ extern const base::Feature kToolbarMicIphAndroid;
|
||||
@@ -146,6 +146,7 @@ extern const base::Feature kToolbarMicIphAndroid;
|
||||
extern const base::Feature kToolbarUseHardwareBitmapDraw;
|
||||
extern const base::Feature kTrustedWebActivityLocationDelegation;
|
||||
extern const base::Feature kTrustedWebActivityNewDisclosure;
|
||||
|
@ -1322,10 +1400,10 @@ diff --git a/chrome/browser/flags/android/chrome_feature_list.h b/chrome/browser
|
|||
diff --git 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
|
||||
--- 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
|
||||
@@ -512,6 +512,7 @@ public abstract class ChromeFeatureList {
|
||||
public static final String WEBNOTES_STYLIZE = "WebNotesStylize";
|
||||
public static final String WIPE_DATA_ON_CHILD_ACCOUNT_SIGNIN = "WipeDataOnChildAccountSignin";
|
||||
@@ -560,6 +560,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";
|
||||
|
||||
@NativeMethods
|
||||
|
@ -1391,7 +1469,7 @@ diff --git a/chrome/browser/importer/profile_writer.h b/chrome/browser/importer/
|
|||
diff --git 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
|
||||
--- 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
|
||||
@@ -117,6 +117,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";
|
||||
|
@ -1400,7 +1478,7 @@ diff --git a/chrome/browser/preferences/android/java/src/org/chromium/chrome/bro
|
|||
|
||||
/**
|
||||
* Whether Chrome is set as the default browser.
|
||||
@@ -1012,6 +1014,7 @@ public final class ChromePreferenceKeys {
|
||||
@@ -1042,6 +1044,7 @@ public final class ChromePreferenceKeys {
|
||||
AUTOFILL_ASSISTANT_PROACTIVE_HELP,
|
||||
APP_LAUNCH_LAST_KNOWN_ACTIVE_TAB_STATE,
|
||||
APP_LAUNCH_SEARCH_ENGINE_HAD_LOGO,
|
||||
|
@ -1439,7 +1517,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro
|
|||
diff --git a/chrome/common/BUILD.gn b/chrome/common/BUILD.gn
|
||||
--- a/chrome/common/BUILD.gn
|
||||
+++ b/chrome/common/BUILD.gn
|
||||
@@ -408,6 +408,9 @@ static_library("common") {
|
||||
@@ -416,6 +416,9 @@ static_library("common") {
|
||||
sources += [
|
||||
"media/chrome_media_drm_bridge_client.cc",
|
||||
"media/chrome_media_drm_bridge_client.h",
|
||||
|
@ -1447,8 +1525,8 @@ diff --git a/chrome/common/BUILD.gn b/chrome/common/BUILD.gn
|
|||
+ "importer/imported_bookmark_entry.cc",
|
||||
+ "importer/imported_bookmark_entry.h",
|
||||
]
|
||||
deps += [ "//components/embedder_support/android/common:url_constants" ]
|
||||
} else {
|
||||
# Non-Android.
|
||||
diff --git a/chrome/utility/BUILD.gn b/chrome/utility/BUILD.gn
|
||||
--- a/chrome/utility/BUILD.gn
|
||||
+++ b/chrome/utility/BUILD.gn
|
||||
|
@ -1461,7 +1539,7 @@ diff --git a/chrome/utility/BUILD.gn b/chrome/utility/BUILD.gn
|
|||
"importer/bookmarks_file_importer.cc",
|
||||
"importer/bookmarks_file_importer.h",
|
||||
"importer/external_process_importer_bridge.cc",
|
||||
@@ -186,6 +184,11 @@ static_library("utility") {
|
||||
@@ -184,6 +182,11 @@ static_library("utility") {
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -12,7 +12,7 @@ Subject: Add custom tab intents privacy option
|
|||
diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/android/java/res/xml/privacy_preferences.xml
|
||||
--- a/chrome/android/java/res/xml/privacy_preferences.xml
|
||||
+++ b/chrome/android/java/res/xml/privacy_preferences.xml
|
||||
@@ -33,6 +33,11 @@
|
||||
@@ -37,6 +37,11 @@
|
||||
android:fragment="org.chromium.chrome.browser.privacy.settings.DoNotTrackSettings"
|
||||
android:key="do_not_track"
|
||||
android:title="@string/do_not_track_title"/>
|
||||
|
@ -29,14 +29,14 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/LaunchIntentDis
|
|||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/LaunchIntentDispatcher.java
|
||||
@@ -59,6 +59,8 @@ import java.lang.annotation.Retention;
|
||||
import java.lang.annotation.RetentionPolicy;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
|
||||
+import org.chromium.chrome.browser.privacy.settings.PrivacySettings;
|
||||
+
|
||||
/**
|
||||
* Dispatches incoming intents to the appropriate activity based on the current configuration and
|
||||
* Intent fired.
|
||||
@@ -286,6 +288,8 @@ public class LaunchIntentDispatcher implements IntentHandler.IntentHandlerDelega
|
||||
@@ -279,6 +281,8 @@ public class LaunchIntentDispatcher implements IntentHandler.IntentHandlerDelega
|
||||
*/
|
||||
public static boolean isCustomTabIntent(Intent intent) {
|
||||
if (intent == null) return false;
|
||||
|
@ -48,7 +48,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/LaunchIntentDis
|
|||
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
|
||||
--- 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
|
||||
@@ -47,6 +47,7 @@ public class PrivacySettings
|
||||
@@ -49,6 +49,7 @@ public class PrivacySettings
|
||||
private static final String PREF_SECURE_DNS = "secure_dns";
|
||||
private static final String PREF_DO_NOT_TRACK = "do_not_track";
|
||||
private static final String PREF_CLEAR_BROWSING_DATA = "clear_browsing_data";
|
||||
|
@ -56,10 +56,10 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
|
|||
private static final String PREF_PRIVACY_SANDBOX = "privacy_sandbox";
|
||||
|
||||
private ManagedPreferenceDelegate mManagedPreferenceDelegate;
|
||||
@@ -105,6 +106,10 @@ public class PrivacySettings
|
||||
} else if (PREF_NETWORK_PREDICTIONS.equals(key)) {
|
||||
PrivacyPreferencesManagerImpl.getInstance().setNetworkPredictionEnabled(
|
||||
(boolean) newValue);
|
||||
@@ -119,6 +120,10 @@ public class PrivacySettings
|
||||
} else if (PREF_HTTPS_FIRST_MODE.equals(key)) {
|
||||
UserPrefs.get(Profile.getLastUsedRegularProfile())
|
||||
.setBoolean(Pref.HTTPS_ONLY_MODE_ENABLED, (boolean) newValue);
|
||||
+ } else if (PREF_ALLOW_CUSTOM_TAB_INTENTS.equals(key)) {
|
||||
+ SharedPreferences.Editor sharedPreferencesEditor = ContextUtils.getAppSharedPreferences().edit();
|
||||
+ sharedPreferencesEditor.putBoolean(PREF_ALLOW_CUSTOM_TAB_INTENTS, (boolean)newValue);
|
||||
|
@ -67,7 +67,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
|
|||
}
|
||||
|
||||
return true;
|
||||
@@ -128,6 +133,11 @@ public class PrivacySettings
|
||||
@@ -142,6 +147,11 @@ public class PrivacySettings
|
||||
canMakePaymentPref.setChecked(prefService.getBoolean(Pref.CAN_MAKE_PAYMENT_ENABLED));
|
||||
}
|
||||
|
||||
|
@ -82,7 +82,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
|
|||
diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||
--- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||
+++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||
@@ -4225,6 +4225,13 @@ To change this setting, <ph name="BEGIN_LINK"><resetlink></ph>reset sync<p
|
||||
@@ -4405,6 +4405,13 @@ To change this setting, <ph name="BEGIN_LINK"><resetlink></ph>reset sync<p
|
||||
<message name="IDS_NEAR_OOM_REDUCTION_DECLINE" desc="The text of the button letting the user decline the browser's intervention, so that the page can be reloaded.">
|
||||
Show original
|
||||
</message>
|
||||
|
|
|
@ -14,7 +14,7 @@ Corrected Exit functionality
|
|||
diff --git a/chrome/android/java/res/menu/main_menu.xml b/chrome/android/java/res/menu/main_menu.xml
|
||||
--- a/chrome/android/java/res/menu/main_menu.xml
|
||||
+++ b/chrome/android/java/res/menu/main_menu.xml
|
||||
@@ -121,6 +121,9 @@
|
||||
@@ -124,6 +124,9 @@
|
||||
android:icon="@drawable/gm_filled_cardboard_24" />
|
||||
<item android:id="@+id/managed_by_menu_id"
|
||||
android:title="@string/managed" />
|
||||
|
@ -24,7 +24,7 @@ diff --git a/chrome/android/java/res/menu/main_menu.xml b/chrome/android/java/re
|
|||
</group>
|
||||
|
||||
<!-- Items shown only in the tab switcher -->
|
||||
@@ -147,6 +150,9 @@
|
||||
@@ -150,6 +153,9 @@
|
||||
<item android:id="@id/preferences_id"
|
||||
android:title="@string/menu_settings"
|
||||
android:icon="@drawable/settings_cog" />
|
||||
|
@ -37,7 +37,7 @@ diff --git a/chrome/android/java/res/menu/main_menu.xml b/chrome/android/java/re
|
|||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
|
||||
@@ -199,6 +199,8 @@ import java.lang.annotation.RetentionPolicy;
|
||||
@@ -206,6 +206,8 @@ import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Locale;
|
||||
|
||||
|
@ -46,7 +46,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct
|
|||
/**
|
||||
* This is the main activity for ChromeMobile when not running in document mode. All the tabs
|
||||
* are accessible via a chrome specific tab switching UI.
|
||||
@@ -1947,6 +1949,8 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
|
||||
@@ -2008,6 +2010,8 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
|
||||
} else if (id == R.id.close_tab) {
|
||||
getCurrentTabModel().closeTab(currentTab, true, false, true);
|
||||
RecordUserAction.record("MobileTabClosed");
|
||||
|
@ -58,7 +58,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct
|
|||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
|
||||
@@ -59,6 +59,7 @@ import org.chromium.chrome.R;
|
||||
@@ -66,6 +66,7 @@ import org.chromium.chrome.R;
|
||||
import org.chromium.chrome.browser.ActivityTabProvider;
|
||||
import org.chromium.chrome.browser.ActivityUtils;
|
||||
import org.chromium.chrome.browser.AppHooks;
|
||||
|
@ -66,7 +66,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv
|
|||
import org.chromium.chrome.browser.ChromeActivitySessionTracker;
|
||||
import org.chromium.chrome.browser.ChromeApplicationImpl;
|
||||
import org.chromium.chrome.browser.ChromeKeyboardVisibilityDelegate;
|
||||
@@ -2197,6 +2198,11 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
|
||||
@@ -2303,6 +2304,11 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -97,7 +97,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/init/ChromeLife
|
|||
diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||
--- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||
+++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||
@@ -3085,6 +3085,9 @@ To change this setting, <ph name="BEGIN_LINK"><resetlink></ph>reset sync<p
|
||||
@@ -3144,6 +3144,9 @@ To change this setting, <ph name="BEGIN_LINK"><resetlink></ph>reset sync<p
|
||||
<message name="IDS_MENU_REQUEST_DESKTOP_SITE_OFF" desc="Accessibility description for when Request Desktop Site is disabled.">
|
||||
Turn on Request desktop site
|
||||
</message>
|
||||
|
|
|
@ -6,17 +6,17 @@ Adds a flag that restricts whether search history, clipboard, bookmarks
|
|||
and internal chrome:// pages will be used for the autocomplete results.
|
||||
---
|
||||
chrome/browser/about_flags.cc | 21 +++++++++++++++++++
|
||||
.../browser/autocomplete_controller.cc | 10 +++++++++
|
||||
.../browser/autocomplete_controller.cc | 11 ++++++++++
|
||||
.../omnibox/browser/history_url_provider.cc | 3 +++
|
||||
components/omnibox/browser/search_provider.cc | 4 ++++
|
||||
components/url_formatter/url_fixer.cc | 3 +++
|
||||
5 files changed, 41 insertions(+)
|
||||
components/url_formatter/url_fixer.cc | 4 ++++
|
||||
5 files changed, 43 insertions(+)
|
||||
|
||||
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
|
||||
--- a/chrome/browser/about_flags.cc
|
||||
+++ b/chrome/browser/about_flags.cc
|
||||
@@ -531,6 +531,22 @@ const FeatureEntry::FeatureVariation
|
||||
};
|
||||
@@ -449,6 +449,22 @@ const FeatureEntry::FeatureVariation kReaderModeDiscoverabilityVariations[] = {
|
||||
base::size(kReaderModeOfferInSettings), nullptr}};
|
||||
#endif // OS_ANDROID
|
||||
|
||||
+const FeatureEntry::Choice kOmniboxAutocompleteFiltering[] = {
|
||||
|
@ -36,9 +36,9 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
|
|||
+};
|
||||
+
|
||||
#if defined(OS_ANDROID)
|
||||
const FeatureEntry::FeatureParam kHideDismissButton[] = {
|
||||
{"dismiss_button", "hide"}};
|
||||
@@ -4784,6 +4800,11 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
const FeatureEntry::FeatureParam kAdaptiveButton_AlwaysNone[] = {
|
||||
{"mode", "always-none"}};
|
||||
@@ -4772,6 +4788,11 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
FEATURE_VALUE_TYPE(chrome::android::kReaderModeInCCT)},
|
||||
#endif // !defined(OS_ANDROID)
|
||||
|
||||
|
@ -49,19 +49,20 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
|
|||
+
|
||||
#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \
|
||||
defined(OS_CHROMEOS)
|
||||
{"direct-manipulation-stylus",
|
||||
{"webui-feedback", flag_descriptions::kWebuiFeedbackName,
|
||||
diff --git a/components/omnibox/browser/autocomplete_controller.cc b/components/omnibox/browser/autocomplete_controller.cc
|
||||
--- a/components/omnibox/browser/autocomplete_controller.cc
|
||||
+++ b/components/omnibox/browser/autocomplete_controller.cc
|
||||
@@ -15,6 +15,7 @@
|
||||
@@ -15,6 +15,8 @@
|
||||
|
||||
#include "base/bind.h"
|
||||
#include "base/check_op.h"
|
||||
+#include "base/containers/contains.h"
|
||||
+#include "base/command_line.h"
|
||||
#include "base/feature_list.h"
|
||||
#include "base/format_macros.h"
|
||||
#include "base/metrics/histogram.h"
|
||||
@@ -275,6 +276,15 @@ AutocompleteController::AutocompleteController(
|
||||
@@ -276,6 +278,15 @@ AutocompleteController::AutocompleteController(
|
||||
search_service_worker_signal_sent_(false),
|
||||
template_url_service_(provider_client_->GetTemplateURLService()) {
|
||||
provider_types &= ~OmniboxFieldTrial::GetDisabledProviderTypes();
|
||||
|
@ -101,7 +102,7 @@ diff --git a/components/omnibox/browser/search_provider.cc b/components/omnibox/
|
|||
#include "base/feature_list.h"
|
||||
#include "base/i18n/break_iterator.h"
|
||||
#include "base/i18n/case_conversion.h"
|
||||
@@ -643,6 +644,9 @@ void SearchProvider::Run(bool query_is_private) {
|
||||
@@ -647,6 +648,9 @@ void SearchProvider::Run(bool query_is_private) {
|
||||
}
|
||||
|
||||
void SearchProvider::DoHistoryQuery(bool minimal_changes) {
|
||||
|
@ -114,15 +115,16 @@ diff --git a/components/omnibox/browser/search_provider.cc b/components/omnibox/
|
|||
diff --git a/components/url_formatter/url_fixer.cc b/components/url_formatter/url_fixer.cc
|
||||
--- a/components/url_formatter/url_fixer.cc
|
||||
+++ b/components/url_formatter/url_fixer.cc
|
||||
@@ -9,6 +9,7 @@
|
||||
@@ -9,6 +9,8 @@
|
||||
#include <algorithm>
|
||||
|
||||
#include "base/check_op.h"
|
||||
+#include "base/containers/contains.h"
|
||||
+#include "base/command_line.h"
|
||||
#include "base/files/file_path.h"
|
||||
#include "base/files/file_util.h"
|
||||
#include "base/ranges/algorithm.h"
|
||||
@@ -607,6 +608,8 @@ GURL FixupURL(const std::string& text, const std::string& desired_tld) {
|
||||
@@ -607,6 +609,8 @@ GURL FixupURL(const std::string& text, const std::string& desired_tld) {
|
||||
|
||||
FixupHost(trimmed, parts.host, parts.scheme.is_valid(), desired_tld, &url);
|
||||
if (chrome_url && !parts.host.is_valid())
|
||||
|
|
|
@ -14,7 +14,7 @@ Subject: Add flag for save-data-header
|
|||
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
|
||||
--- a/chrome/browser/about_flags.cc
|
||||
+++ b/chrome/browser/about_flags.cc
|
||||
@@ -4509,6 +4509,9 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
@@ -4506,6 +4506,9 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
#endif // BUILDFLAG(IS_CHROMEOS_ASH)
|
||||
|
||||
#if defined(OS_ANDROID)
|
||||
|
@ -27,7 +27,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
|
|||
diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc
|
||||
--- a/chrome/browser/flag_descriptions.cc
|
||||
+++ b/chrome/browser/flag_descriptions.cc
|
||||
@@ -1021,6 +1021,10 @@ const char kDisableKeepaliveFetchDescription[] =
|
||||
@@ -1035,6 +1035,10 @@ const char kDisableKeepaliveFetchDescription[] =
|
||||
"Disable fetch with keepalive set "
|
||||
"(https://fetch.spec.whatwg.org/#request-keepalive-flag).";
|
||||
|
||||
|
@ -41,7 +41,7 @@ diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descripti
|
|||
diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h
|
||||
--- a/chrome/browser/flag_descriptions.h
|
||||
+++ b/chrome/browser/flag_descriptions.h
|
||||
@@ -576,6 +576,9 @@ extern const char kDiagnosticsAppDescription[];
|
||||
@@ -564,6 +564,9 @@ extern const char kDiagnosticsAppNavigationDescription[];
|
||||
extern const char kDisableKeepaliveFetchName[];
|
||||
extern const char kDisableKeepaliveFetchDescription[];
|
||||
|
||||
|
@ -71,28 +71,28 @@ diff --git a/services/network/public/cpp/features.cc b/services/network/public/c
|
|||
--- a/services/network/public/cpp/features.cc
|
||||
+++ b/services/network/public/cpp/features.cc
|
||||
@@ -156,6 +156,10 @@ const base::FeatureParam<std::string>
|
||||
const base::Feature kDisableKeepaliveFetch{"DisableKeepaliveFetch",
|
||||
base::FEATURE_DISABLED_BY_DEFAULT};
|
||||
"DisabledProviders", ""};
|
||||
|
||||
// Disable special treatment on requests with keepalive set (see
|
||||
+// Enable save-data header seprately, without enabled data reduction service
|
||||
+const base::Feature kEnableSaveDataHeader{"EnableSaveDataHeader",
|
||||
+ base::FEATURE_DISABLED_BY_DEFAULT};
|
||||
+
|
||||
// Controls whether a |request_initiator| that mismatches
|
||||
// |request_initiator_origin_lock| leads to 1) failing the HTTP request and 2)
|
||||
// calling mojo::ReportBadMessage (on desktop platforms, where NetworkService
|
||||
// https://fetch.spec.whatwg.org/#request-keepalive-flag). This is introduced
|
||||
// for investigation on the memory usage, and should not be enabled widely.
|
||||
const base::Feature kDisableKeepaliveFetch{"DisableKeepaliveFetch",
|
||||
diff --git a/services/network/public/cpp/features.h b/services/network/public/cpp/features.h
|
||||
--- a/services/network/public/cpp/features.h
|
||||
+++ b/services/network/public/cpp/features.h
|
||||
@@ -60,6 +60,8 @@ extern const base::FeatureParam<std::string>
|
||||
COMPONENT_EXPORT(NETWORK_CPP)
|
||||
extern const base::Feature kDisableKeepaliveFetch;
|
||||
COMPONENT_EXPORT(NETWORK_CPP)
|
||||
|
||||
+extern const base::Feature kEnableSaveDataHeader;
|
||||
+COMPONENT_EXPORT(NETWORK_CPP)
|
||||
extern const base::Feature kRequestInitiatorSiteLockEnfocement;
|
||||
|
||||
COMPONENT_EXPORT(NETWORK_CPP)
|
||||
extern const base::Feature kTrustTokens;
|
||||
|
||||
--
|
||||
2.17.1
|
||||
|
||||
|
|
|
@ -19,7 +19,7 @@ with limited CPU/memory resources and it is disabled by default.
|
|||
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
|
||||
--- a/chrome/browser/about_flags.cc
|
||||
+++ b/chrome/browser/about_flags.cc
|
||||
@@ -882,6 +882,11 @@ const FeatureEntry::Choice kForceEffectiveConnectionTypeChoices[] = {
|
||||
@@ -837,6 +837,11 @@ const FeatureEntry::Choice kForceEffectiveConnectionTypeChoices[] = {
|
||||
net::kEffectiveConnectionType4G},
|
||||
};
|
||||
|
||||
|
@ -31,7 +31,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
|
|||
// Ensure that all effective connection types returned by Network Quality
|
||||
// Estimator (NQE) are also exposed via flags.
|
||||
static_assert(net::EFFECTIVE_CONNECTION_TYPE_LAST + 2 ==
|
||||
@@ -3824,6 +3829,9 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
@@ -3792,6 +3797,9 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
flag_descriptions::kAndroidPictureInPictureAPIName,
|
||||
flag_descriptions::kAndroidPictureInPictureAPIDescription, kOsAndroid,
|
||||
FEATURE_VALUE_TYPE(media::kPictureInPictureAPI)},
|
||||
|
@ -44,7 +44,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
|
|||
diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc
|
||||
--- a/chrome/browser/flag_descriptions.cc
|
||||
+++ b/chrome/browser/flag_descriptions.cc
|
||||
@@ -1516,6 +1516,10 @@ const char kMediaHistoryDescription[] =
|
||||
@@ -1524,6 +1524,10 @@ const char kMediaHistoryDescription[] =
|
||||
"Enables Media History which records data around media playbacks on "
|
||||
"websites.";
|
||||
|
||||
|
@ -58,7 +58,7 @@ diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descripti
|
|||
diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h
|
||||
--- a/chrome/browser/flag_descriptions.h
|
||||
+++ b/chrome/browser/flag_descriptions.h
|
||||
@@ -886,6 +886,9 @@ extern const char kLogJsConsoleMessagesDescription[];
|
||||
@@ -877,6 +877,9 @@ extern const char kLogJsConsoleMessagesDescription[];
|
||||
extern const char kMediaHistoryName[];
|
||||
extern const char kMediaHistoryDescription[];
|
||||
|
||||
|
@ -122,17 +122,17 @@ diff --git a/net/socket/client_socket_pool_manager.cc b/net/socket/client_socket
|
|||
--- a/net/socket/client_socket_pool_manager.cc
|
||||
+++ b/net/socket/client_socket_pool_manager.cc
|
||||
@@ -20,6 +20,10 @@
|
||||
#include "net/socket/client_socket_handle.h"
|
||||
#include "net/socket/client_socket_pool.h"
|
||||
#include "net/socket/connect_job.h"
|
||||
#include "net/ssl/ssl_config.h"
|
||||
#include "third_party/abseil-cpp/absl/types/optional.h"
|
||||
+#include "components/network_session_configurator/common/network_switches.h"
|
||||
+
|
||||
+#include "base/command_line.h"
|
||||
+#include "base/strings/string_number_conversions.h"
|
||||
|
||||
namespace net {
|
||||
|
||||
@@ -187,6 +191,19 @@ void ClientSocketPoolManager::set_max_sockets_per_pool(
|
||||
#include "net/ssl/ssl_config.h"
|
||||
#include "third_party/abseil-cpp/absl/types/optional.h"
|
||||
#include "url/gurl.h"
|
||||
@@ -173,6 +177,19 @@ void ClientSocketPoolManager::set_max_sockets_per_pool(
|
||||
int ClientSocketPoolManager::max_sockets_per_group(
|
||||
HttpNetworkSession::SocketPoolType pool_type) {
|
||||
DCHECK_LT(pool_type, HttpNetworkSession::NUM_SOCKET_POOL_TYPES);
|
||||
|
|
|
@ -13,7 +13,7 @@ Disable it by default on Android as it is everywhere else
|
|||
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
|
||||
--- a/chrome/browser/about_flags.cc
|
||||
+++ b/chrome/browser/about_flags.cc
|
||||
@@ -2717,6 +2717,10 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
@@ -2708,6 +2708,10 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
flag_descriptions::kWebRtcRemoteEventLogName,
|
||||
flag_descriptions::kWebRtcRemoteEventLogDescription, kOsDesktop,
|
||||
FEATURE_VALUE_TYPE(features::kWebRtcRemoteEventLog)},
|
||||
|
@ -27,7 +27,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
|
|||
diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc
|
||||
--- a/chrome/browser/flag_descriptions.cc
|
||||
+++ b/chrome/browser/flag_descriptions.cc
|
||||
@@ -1098,6 +1098,11 @@ const char kEnablePenetratingImageSelectionDescription[] =
|
||||
@@ -1120,6 +1120,11 @@ const char kEnablePenetratingImageSelectionDescription[] =
|
||||
"Enables image options to be surfaced in the context menu for nodes "
|
||||
"covered by transparent overlays.";
|
||||
|
||||
|
@ -42,7 +42,7 @@ diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descripti
|
|||
diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h
|
||||
--- a/chrome/browser/flag_descriptions.h
|
||||
+++ b/chrome/browser/flag_descriptions.h
|
||||
@@ -628,6 +628,9 @@ extern const char kEnablePortalsDescription[];
|
||||
@@ -632,6 +632,9 @@ extern const char kEnablePortalsDescription[];
|
||||
extern const char kEnablePortalsCrossOriginName[];
|
||||
extern const char kEnablePortalsCrossOriginDescription[];
|
||||
|
||||
|
@ -55,7 +55,7 @@ diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptio
|
|||
diff --git a/media/base/media_switches.cc b/media/base/media_switches.cc
|
||||
--- a/media/base/media_switches.cc
|
||||
+++ b/media/base/media_switches.cc
|
||||
@@ -255,11 +255,7 @@ const base::Feature kPreloadMetadataLazyLoad{"PreloadMetadataLazyLoad",
|
||||
@@ -276,11 +276,7 @@ const base::Feature kPreloadMetadataLazyLoad{"PreloadMetadataLazyLoad",
|
||||
// when in background.
|
||||
const base::Feature kResumeBackgroundVideo {
|
||||
"resume-background-video",
|
||||
|
|
|
@ -16,7 +16,7 @@ Subject: Add flag to disable IPv6 probes
|
|||
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
|
||||
--- a/chrome/browser/about_flags.cc
|
||||
+++ b/chrome/browser/about_flags.cc
|
||||
@@ -4760,6 +4760,11 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
@@ -4742,6 +4742,11 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
#endif // defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) ||
|
||||
// defined(OS_CHROMEOS)
|
||||
|
||||
|
@ -31,7 +31,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
|
|||
diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc
|
||||
--- a/chrome/browser/flag_descriptions.cc
|
||||
+++ b/chrome/browser/flag_descriptions.cc
|
||||
@@ -3003,6 +3003,10 @@ const char kContextualSearchRankerQueryDescription[] =
|
||||
@@ -3015,6 +3015,10 @@ const char kContextualSearchRankerQueryDescription[] =
|
||||
|
||||
const char kContextualSearchSecondTapName[] =
|
||||
"Contextual Search second tap triggering";
|
||||
|
@ -45,8 +45,8 @@ diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descripti
|
|||
diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h
|
||||
--- a/chrome/browser/flag_descriptions.h
|
||||
+++ b/chrome/browser/flag_descriptions.h
|
||||
@@ -688,6 +688,9 @@ extern const char kEnableWasmSimdName[];
|
||||
extern const char kEnableWasmSimdDescription[];
|
||||
@@ -689,6 +689,9 @@ extern const char kEnableWasmLazyCompilationName[];
|
||||
extern const char kEnableWasmLazyCompilationDescription[];
|
||||
|
||||
extern const char kEnableWasmTieringName[];
|
||||
+extern const char kIPv6ProbingName[];
|
||||
|
@ -101,7 +101,7 @@ diff --git a/components/url_formatter/spoof_checks/top_domains/BUILD.gn b/compon
|
|||
diff --git a/net/dns/host_resolver_manager.cc b/net/dns/host_resolver_manager.cc
|
||||
--- a/net/dns/host_resolver_manager.cc
|
||||
+++ b/net/dns/host_resolver_manager.cc
|
||||
@@ -95,6 +95,7 @@
|
||||
@@ -86,6 +86,7 @@
|
||||
#include "net/log/net_log_event_type.h"
|
||||
#include "net/log/net_log_source.h"
|
||||
#include "net/log/net_log_source_type.h"
|
||||
|
@ -109,7 +109,7 @@ diff --git a/net/dns/host_resolver_manager.cc b/net/dns/host_resolver_manager.cc
|
|||
#include "net/log/net_log_with_source.h"
|
||||
#include "net/socket/client_socket_factory.h"
|
||||
#include "net/socket/datagram_client_socket.h"
|
||||
@@ -3366,8 +3367,14 @@ bool HostResolverManager::IsIPv6Reachable(const NetLogWithSource& net_log) {
|
||||
@@ -3512,8 +3513,14 @@ bool HostResolverManager::IsIPv6Reachable(const NetLogWithSource& net_log) {
|
||||
if (last_ipv6_probe_time_.is_null() ||
|
||||
(tick_clock_->NowTicks() - last_ipv6_probe_time_).InMilliseconds() >
|
||||
kIPv6ProbePeriodMs) {
|
||||
|
@ -128,7 +128,7 @@ diff --git a/net/dns/host_resolver_manager.cc b/net/dns/host_resolver_manager.cc
|
|||
diff --git a/services/network/public/cpp/features.cc b/services/network/public/cpp/features.cc
|
||||
--- a/services/network/public/cpp/features.cc
|
||||
+++ b/services/network/public/cpp/features.cc
|
||||
@@ -40,6 +40,10 @@ const base::Feature kReporting{"Reporting", base::FEATURE_ENABLED_BY_DEFAULT};
|
||||
@@ -42,6 +42,10 @@ const base::Feature kReporting{"Reporting", base::FEATURE_ENABLED_BY_DEFAULT};
|
||||
const base::Feature kThrottleDelayable{"ThrottleDelayable",
|
||||
base::FEATURE_ENABLED_BY_DEFAULT};
|
||||
|
||||
|
|
|
@ -11,20 +11,20 @@ Subject: Add flag to disable WebGL
|
|||
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
|
||||
--- a/chrome/browser/about_flags.cc
|
||||
+++ b/chrome/browser/about_flags.cc
|
||||
@@ -2765,6 +2765,9 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
{"clear-old-browsing-data", flag_descriptions::kClearOldBrowsingDataName,
|
||||
flag_descriptions::kClearOldBrowsingDataDescription, kOsAndroid,
|
||||
FEATURE_VALUE_TYPE(features::kClearOldBrowsingData)},
|
||||
@@ -2643,6 +2643,9 @@ const FeatureEntry::FeatureVariation kReadLaterVariations[] = {
|
||||
// When adding a new choice, add it to the end of the list.
|
||||
const FeatureEntry kFeatureEntries[] = {
|
||||
// Include generated flags for flag unexpiry; see //docs/flag_expiry.md and
|
||||
+ {switches::kDisableWebGL, flag_descriptions::kDisableWebGLName,
|
||||
+ flag_descriptions::kDisableWebGLDescription, kOsAll,
|
||||
+ SINGLE_DISABLE_VALUE_TYPE(switches::kDisableWebGL)},
|
||||
#endif // OS_ANDROID
|
||||
#if BUILDFLAG(ENABLE_NACL)
|
||||
{"enable-nacl", flag_descriptions::kNaclName,
|
||||
// //tools/flags/generate_unexpire_flags.py.
|
||||
#include "build/chromeos_buildflags.h"
|
||||
#include "chrome/browser/unexpire_flags_gen.inc"
|
||||
diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc
|
||||
--- a/chrome/browser/flag_descriptions.cc
|
||||
+++ b/chrome/browser/flag_descriptions.cc
|
||||
@@ -583,6 +583,10 @@ const char kEnableAudioFocusEnforcementName[] = "Audio Focus Enforcement";
|
||||
@@ -613,6 +613,10 @@ const char kEnableAudioFocusEnforcementName[] = "Audio Focus Enforcement";
|
||||
const char kEnableAudioFocusEnforcementDescription[] =
|
||||
"Enables enforcement of a single media session having audio focus at "
|
||||
"any one time. Requires #enable-media-session-service to be enabled too.";
|
||||
|
@ -38,16 +38,16 @@ diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descripti
|
|||
diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h
|
||||
--- a/chrome/browser/flag_descriptions.h
|
||||
+++ b/chrome/browser/flag_descriptions.h
|
||||
@@ -356,6 +356,9 @@ extern const char kDocumentTransitionDescription[];
|
||||
|
||||
extern const char kEnableAccessibilityObjectModelName[];
|
||||
extern const char kEnableAccessibilityObjectModelDescription[];
|
||||
@@ -341,6 +341,9 @@ extern const char kForceColorProfileSRGB[];
|
||||
extern const char kForceColorProfileP3[];
|
||||
extern const char kForceColorProfileColorSpin[];
|
||||
extern const char kForceColorProfileSCRGBLinear[];
|
||||
+extern const char kDisableWebGLName[];
|
||||
+extern const char kDisableWebGLDescription[];
|
||||
+
|
||||
extern const char kForceColorProfileHDR10[];
|
||||
|
||||
extern const char kEnableAudioFocusEnforcementName[];
|
||||
extern const char kEnableAudioFocusEnforcementDescription[];
|
||||
extern const char kForceColorProfileName[];
|
||||
--
|
||||
2.17.1
|
||||
|
||||
|
|
|
@ -11,7 +11,7 @@ Subject: Add flag to disable external intent requests
|
|||
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
|
||||
--- a/chrome/browser/about_flags.cc
|
||||
+++ b/chrome/browser/about_flags.cc
|
||||
@@ -2708,6 +2708,9 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
@@ -2697,6 +2697,9 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
flag_descriptions::kWebrtcCaptureMultiChannelApmName,
|
||||
flag_descriptions::kWebrtcCaptureMultiChannelApmDescription, kOsAll,
|
||||
FEATURE_VALUE_TYPE(features::kWebRtcEnableCaptureMultiChannelApm)},
|
||||
|
@ -24,9 +24,9 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
|
|||
diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc
|
||||
--- a/chrome/browser/flag_descriptions.cc
|
||||
+++ b/chrome/browser/flag_descriptions.cc
|
||||
@@ -3119,6 +3119,12 @@ const char kIntentBlockExternalFormRedirectsNoGestureDescription[] =
|
||||
"Require a user gesture that triggered a form submission in order to "
|
||||
"allow for redirecting to an external intent.";
|
||||
@@ -3272,6 +3272,12 @@ const char kProcessSharingWithStrictSiteInstancesDescription[] =
|
||||
"separated like strict site isolation, but process selection puts multiple "
|
||||
"site instances in a single process.";
|
||||
|
||||
+const char kDisableExternalIntentRequestsName[] =
|
||||
+ "Never forward URL requests to external intents";
|
||||
|
@ -34,22 +34,22 @@ diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descripti
|
|||
+ "URL requests will never"
|
||||
+ "allow for redirecting to an external intent.";
|
||||
+
|
||||
const char kInterestFeedContentSuggestionsDescription[] =
|
||||
"Use the interest feed to render content suggestions. Currently "
|
||||
"content "
|
||||
const char kQueryTilesName[] = "Show query tiles";
|
||||
const char kQueryTilesDescription[] = "Shows query tiles in Chrome";
|
||||
const char kQueryTilesNTPName[] = "Show query tiles in NTP";
|
||||
diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h
|
||||
--- a/chrome/browser/flag_descriptions.h
|
||||
+++ b/chrome/browser/flag_descriptions.h
|
||||
@@ -1810,6 +1810,9 @@ extern const char kInstantStartDescription[];
|
||||
extern const char kIntentBlockExternalFormRedirectsNoGestureName[];
|
||||
extern const char kIntentBlockExternalFormRedirectsNoGestureDescription[];
|
||||
|
||||
@@ -1883,6 +1883,9 @@ extern const char kQueryTilesNTPDescription[];
|
||||
extern const char kQueryTilesOmniboxName[];
|
||||
extern const char kQueryTilesOmniboxDescription[];
|
||||
extern const char kQueryTilesSingleTierName[];
|
||||
+extern const char kDisableExternalIntentRequestsName[];
|
||||
+extern const char kDisableExternalIntentRequestsDescription[];
|
||||
+
|
||||
extern const char kInterestFeedContentSuggestionsName[];
|
||||
extern const char kInterestFeedContentSuggestionsDescription[];
|
||||
|
||||
extern const char kQueryTilesSingleTierDescription[];
|
||||
extern const char kQueryTilesEnableQueryEditingName[];
|
||||
extern const char kQueryTilesEnableQueryEditingDescription[];
|
||||
--
|
||||
2.17.1
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
From: csagan5 <32685696+csagan5@users.noreply.github.com>
|
||||
Date: Sun, 27 Jun 2021 17:35:39 +0200
|
||||
Subject: Add vibration flag
|
||||
Subject: Add flag to disable vibration
|
||||
|
||||
---
|
||||
chrome/browser/about_flags.cc | 4 ++++
|
||||
|
@ -18,8 +18,8 @@ Subject: Add vibration flag
|
|||
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
|
||||
--- a/chrome/browser/about_flags.cc
|
||||
+++ b/chrome/browser/about_flags.cc
|
||||
@@ -6263,6 +6263,10 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
FEATURE_VALUE_TYPE(features::kNotificationsViaHelperApp)},
|
||||
@@ -6208,6 +6208,10 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
FEATURE_VALUE_TYPE(features::kNewMacNotificationAPI)},
|
||||
#endif
|
||||
|
||||
+ {"enable-vibration", flag_descriptions::kEnableVibrationName,
|
||||
|
@ -32,7 +32,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
|
|||
diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc
|
||||
--- a/chrome/browser/flag_descriptions.cc
|
||||
+++ b/chrome/browser/flag_descriptions.cc
|
||||
@@ -5019,6 +5019,9 @@ const char kDefaultMeetWebAppDescription[] =
|
||||
@@ -5123,6 +5123,9 @@ const char kDefaultMeetWebAppDescription[] =
|
||||
"Enables the Meet web app to be installed by default.";
|
||||
#endif // BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_CHROMEOS_LACROS)
|
||||
|
||||
|
@ -45,7 +45,7 @@ diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descripti
|
|||
diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h
|
||||
--- a/chrome/browser/flag_descriptions.h
|
||||
+++ b/chrome/browser/flag_descriptions.h
|
||||
@@ -2934,6 +2934,9 @@ extern const char kDefaultMeetWebAppName[];
|
||||
@@ -2965,6 +2965,9 @@ extern const char kDefaultMeetWebAppName[];
|
||||
extern const char kDefaultMeetWebAppDescription[];
|
||||
#endif // BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_CHROMEOS_LACROS)
|
||||
|
||||
|
@ -69,7 +69,7 @@ diff --git a/content/child/runtime_features.cc b/content/child/runtime_features.
|
|||
diff --git a/content/public/common/content_features.cc b/content/public/common/content_features.cc
|
||||
--- a/content/public/common/content_features.cc
|
||||
+++ b/content/public/common/content_features.cc
|
||||
@@ -87,6 +87,9 @@ const base::Feature kBackForwardCache{"BackForwardCache",
|
||||
@@ -103,6 +103,9 @@ const base::Feature kBackForwardCacheSameSiteForBots{
|
||||
// BackForwardCacheMemoryControls is enabled only on Android to disable
|
||||
// BackForwardCache for lower memory devices due to memory limiations.
|
||||
#if defined(OS_ANDROID)
|
||||
|
@ -82,19 +82,19 @@ diff --git a/content/public/common/content_features.cc b/content/public/common/c
|
|||
diff --git a/content/public/common/content_features.h b/content/public/common/content_features.h
|
||||
--- a/content/public/common/content_features.h
|
||||
+++ b/content/public/common/content_features.h
|
||||
@@ -256,6 +256,8 @@ CONTENT_EXPORT extern const base::Feature kWarmUpNetworkProcess;
|
||||
@@ -266,6 +266,8 @@ CONTENT_EXPORT extern const base::Feature kWarmUpNetworkProcess;
|
||||
CONTENT_EXPORT extern const base::Feature kWebNfc;
|
||||
#endif // defined(OS_ANDROID)
|
||||
|
||||
+CONTENT_EXPORT extern const base::Feature kVibration;
|
||||
+
|
||||
#if defined(OS_MAC)
|
||||
CONTENT_EXPORT extern const base::Feature kDesktopCaptureMacV2;
|
||||
CONTENT_EXPORT extern const base::Feature kWindowCaptureMacV2;
|
||||
CONTENT_EXPORT extern const base::Feature kDeviceMonitorMac;
|
||||
CONTENT_EXPORT extern const base::Feature kIOSurfaceCapturer;
|
||||
diff --git a/third_party/blink/public/platform/web_runtime_features.h b/third_party/blink/public/platform/web_runtime_features.h
|
||||
--- a/third_party/blink/public/platform/web_runtime_features.h
|
||||
+++ b/third_party/blink/public/platform/web_runtime_features.h
|
||||
@@ -89,6 +89,7 @@ class WebRuntimeFeatures {
|
||||
@@ -90,6 +90,7 @@ class WebRuntimeFeatures {
|
||||
BLINK_PLATFORM_EXPORT static void EnableBlockingFocusWithoutUserActivation(
|
||||
bool);
|
||||
BLINK_PLATFORM_EXPORT static void EnableCacheInlineScriptCode(bool);
|
||||
|
@ -105,7 +105,7 @@ diff --git a/third_party/blink/public/platform/web_runtime_features.h b/third_pa
|
|||
diff --git a/third_party/blink/renderer/modules/vibration/vibration_controller.cc b/third_party/blink/renderer/modules/vibration/vibration_controller.cc
|
||||
--- a/third_party/blink/renderer/modules/vibration/vibration_controller.cc
|
||||
+++ b/third_party/blink/renderer/modules/vibration/vibration_controller.cc
|
||||
@@ -29,6 +29,7 @@
|
||||
@@ -30,6 +30,7 @@
|
||||
#include "third_party/blink/renderer/core/frame/navigator.h"
|
||||
#include "third_party/blink/renderer/core/page/page.h"
|
||||
#include "third_party/blink/renderer/platform/mojo/mojo_helper.h"
|
||||
|
@ -113,7 +113,7 @@ diff --git a/third_party/blink/renderer/modules/vibration/vibration_controller.c
|
|||
|
||||
// Maximum number of entries in a vibration pattern.
|
||||
const unsigned kVibrationPatternLengthMax = 99;
|
||||
@@ -142,6 +143,8 @@ bool VibrationController::vibrate(Navigator& navigator,
|
||||
@@ -149,6 +150,8 @@ bool VibrationController::vibrate(Navigator& navigator,
|
||||
// reference to |window| or |navigator| was retained in another window.
|
||||
if (!navigator.DomWindow())
|
||||
return false;
|
||||
|
@ -125,7 +125,7 @@ diff --git a/third_party/blink/renderer/modules/vibration/vibration_controller.c
|
|||
diff --git a/third_party/blink/renderer/platform/exported/web_runtime_features.cc b/third_party/blink/renderer/platform/exported/web_runtime_features.cc
|
||||
--- a/third_party/blink/renderer/platform/exported/web_runtime_features.cc
|
||||
+++ b/third_party/blink/renderer/platform/exported/web_runtime_features.cc
|
||||
@@ -186,6 +186,10 @@ void WebRuntimeFeatures::EnableScrollTopLeftInterop(bool enable) {
|
||||
@@ -182,6 +182,10 @@ void WebRuntimeFeatures::EnableScrollTopLeftInterop(bool enable) {
|
||||
RuntimeEnabledFeatures::SetScrollTopLeftInteropEnabled(enable);
|
||||
}
|
||||
|
||||
|
@ -139,7 +139,7 @@ diff --git a/third_party/blink/renderer/platform/exported/web_runtime_features.c
|
|||
diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5 b/third_party/blink/renderer/platform/runtime_enabled_features.json5
|
||||
--- a/third_party/blink/renderer/platform/runtime_enabled_features.json5
|
||||
+++ b/third_party/blink/renderer/platform/runtime_enabled_features.json5
|
||||
@@ -1476,6 +1476,10 @@
|
||||
@@ -1537,6 +1537,10 @@
|
||||
name: "OrientationEvent",
|
||||
status: {"Android": "stable"},
|
||||
},
|
|
@ -16,7 +16,7 @@ Subject: Add history support in incognito mode
|
|||
diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/android/java/res/xml/privacy_preferences.xml
|
||||
--- a/chrome/android/java/res/xml/privacy_preferences.xml
|
||||
+++ b/chrome/android/java/res/xml/privacy_preferences.xml
|
||||
@@ -38,6 +38,11 @@
|
||||
@@ -42,6 +42,11 @@
|
||||
android:title="@string/close_tabs_on_exit_title"
|
||||
android:summary="@string/close_tabs_on_exit_summary"
|
||||
android:defaultValue="false" />
|
||||
|
@ -31,7 +31,7 @@ diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/androi
|
|||
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
|
||||
--- 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
|
||||
@@ -39,12 +39,15 @@ import org.chromium.components.user_prefs.UserPrefs;
|
||||
@@ -40,12 +40,15 @@ import org.chromium.components.user_prefs.UserPrefs;
|
||||
import org.chromium.ui.text.NoUnderlineClickableSpan;
|
||||
import org.chromium.ui.text.SpanApplier;
|
||||
|
||||
|
@ -46,8 +46,8 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
|
|||
+ public static final String PREF_INCOGNITO_TAB_HISTORY_ENABLED = "incognito_history_enabled";
|
||||
private static final String PREF_CAN_MAKE_PAYMENT = "can_make_payment";
|
||||
private static final String PREF_NETWORK_PREDICTIONS = "preload_pages";
|
||||
private static final String PREF_SECURE_DNS = "secure_dns";
|
||||
@@ -99,6 +102,11 @@ public class PrivacySettings
|
||||
private static final String PREF_HTTPS_FIRST_MODE = "https_first_mode";
|
||||
@@ -110,6 +113,11 @@ public class PrivacySettings
|
||||
Preference secureDnsPref = findPreference(PREF_SECURE_DNS);
|
||||
secureDnsPref.setVisible(SecureDnsSettings.isUiEnabled());
|
||||
|
||||
|
@ -59,7 +59,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
|
|||
updateSummaries();
|
||||
}
|
||||
|
||||
@@ -119,6 +127,9 @@ public class PrivacySettings
|
||||
@@ -133,6 +141,9 @@ public class PrivacySettings
|
||||
SharedPreferences.Editor sharedPreferencesEditor = ContextUtils.getAppSharedPreferences().edit();
|
||||
sharedPreferencesEditor.putBoolean(PREF_ALLOW_CUSTOM_TAB_INTENTS, (boolean)newValue);
|
||||
sharedPreferencesEditor.apply();
|
||||
|
@ -69,7 +69,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
|
|||
}
|
||||
|
||||
return true;
|
||||
@@ -169,6 +180,13 @@ public class PrivacySettings
|
||||
@@ -183,6 +194,13 @@ public class PrivacySettings
|
||||
(ChromeSwitchPreference) findPreference(PREF_CLOSE_TABS_ON_EXIT);
|
||||
closeTabsOnExitPref.setOnPreferenceChangeListener(this);
|
||||
closeTabsOnExitPref.setManagedPreferenceDelegate(mManagedPreferenceDelegate);
|
||||
|
@ -86,7 +86,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
|
|||
diff --git a/chrome/browser/history/history_tab_helper.cc b/chrome/browser/history/history_tab_helper.cc
|
||||
--- a/chrome/browser/history/history_tab_helper.cc
|
||||
+++ b/chrome/browser/history/history_tab_helper.cc
|
||||
@@ -29,6 +29,9 @@
|
||||
@@ -27,6 +27,9 @@
|
||||
#include "chrome/browser/android/feed/v2/feed_service_factory.h"
|
||||
#include "components/feed/core/v2/public/feed_api.h"
|
||||
#include "components/feed/core/v2/public/feed_service.h"
|
||||
|
@ -96,7 +96,7 @@ diff --git a/chrome/browser/history/history_tab_helper.cc b/chrome/browser/histo
|
|||
#else
|
||||
#include "chrome/browser/ui/browser.h"
|
||||
#include "chrome/browser/ui/browser_finder.h"
|
||||
@@ -277,6 +280,13 @@ void HistoryTabHelper::TitleWasSet(NavigationEntry* entry) {
|
||||
@@ -299,6 +302,13 @@ void HistoryTabHelper::TitleWasSet(NavigationEntry* entry) {
|
||||
history::HistoryService* HistoryTabHelper::GetHistoryService() {
|
||||
Profile* profile =
|
||||
Profile::FromBrowserContext(web_contents()->GetBrowserContext());
|
||||
|
@ -110,7 +110,7 @@ diff --git a/chrome/browser/history/history_tab_helper.cc b/chrome/browser/histo
|
|||
if (profile->IsOffTheRecord())
|
||||
return NULL;
|
||||
|
||||
@@ -284,6 +294,12 @@ history::HistoryService* HistoryTabHelper::GetHistoryService() {
|
||||
@@ -306,6 +316,12 @@ history::HistoryService* HistoryTabHelper::GetHistoryService() {
|
||||
profile, ServiceAccessType::IMPLICIT_ACCESS);
|
||||
}
|
||||
|
||||
|
@ -135,7 +135,7 @@ diff --git a/chrome/browser/history/history_tab_helper.h b/chrome/browser/histor
|
|||
|
||||
namespace history {
|
||||
struct HistoryAddPageArgs;
|
||||
@@ -51,6 +53,8 @@ class HistoryTabHelper : public content::WebContentsObserver,
|
||||
@@ -39,6 +41,8 @@ class HistoryTabHelper : public content::WebContentsObserver,
|
||||
force_eligibile_tab_for_testing_ = force;
|
||||
}
|
||||
|
||||
|
@ -147,7 +147,7 @@ diff --git a/chrome/browser/history/history_tab_helper.h b/chrome/browser/histor
|
|||
diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browser_prefs.cc
|
||||
--- a/chrome/browser/prefs/browser_prefs.cc
|
||||
+++ b/chrome/browser/prefs/browser_prefs.cc
|
||||
@@ -210,6 +210,8 @@
|
||||
@@ -212,6 +212,8 @@
|
||||
#endif
|
||||
|
||||
#if defined(OS_ANDROID)
|
||||
|
@ -156,18 +156,18 @@ diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browse
|
|||
#include "chrome/browser/android/bookmarks/partner_bookmarks_shim.h"
|
||||
#include "chrome/browser/android/explore_sites/history_statistics_reporter.h"
|
||||
#include "chrome/browser/android/ntp/recent_tabs_page_prefs.h"
|
||||
@@ -1083,6 +1085,7 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry,
|
||||
@@ -1210,6 +1212,7 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry,
|
||||
variations::VariationsService::RegisterProfilePrefs(registry);
|
||||
video_tutorials::RegisterPrefs(registry);
|
||||
feed::prefs::RegisterFeedSharedProfilePrefs(registry);
|
||||
+ HistoryTabHelper::RegisterProfilePrefs(registry);
|
||||
feed::RegisterProfilePrefs(registry);
|
||||
#else // defined(OS_ANDROID)
|
||||
#else // defined(OS_ANDROID)
|
||||
AppShortcutManager::RegisterProfilePrefs(registry);
|
||||
diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||
--- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||
+++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||
@@ -933,6 +933,12 @@ Your Google account may have other forms of browsing history like searches and a
|
||||
@@ -932,6 +932,12 @@ Your Google account may have other forms of browsing history like searches and a
|
||||
<message name="IDS_ALWAYS_INCOGNITO_SUMMARY" desc="Summary for always incognito mode">
|
||||
Opens links in incognito tabs when you click on new tab or on a link
|
||||
</message>
|
||||
|
@ -183,7 +183,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro
|
|||
diff --git a/chrome/common/pref_names.cc b/chrome/common/pref_names.cc
|
||||
--- a/chrome/common/pref_names.cc
|
||||
+++ b/chrome/common/pref_names.cc
|
||||
@@ -3159,6 +3159,11 @@ const char kLacrosAllowed[] = "lacros_allowed";
|
||||
@@ -3225,6 +3225,11 @@ const char kLacrosAllowed[] = "lacros_allowed";
|
||||
const char kLacrosLaunchSwitch[] = "lacros_launch_switch";
|
||||
#endif
|
||||
|
||||
|
@ -198,9 +198,9 @@ diff --git a/chrome/common/pref_names.cc b/chrome/common/pref_names.cc
|
|||
diff --git a/chrome/common/pref_names.h b/chrome/common/pref_names.h
|
||||
--- a/chrome/common/pref_names.h
|
||||
+++ b/chrome/common/pref_names.h
|
||||
@@ -1147,6 +1147,10 @@ extern const char kPdfAnnotationsEnabled[];
|
||||
|
||||
extern const char kExplicitlyAllowedNetworkPorts[];
|
||||
@@ -1184,6 +1184,10 @@ extern const char kLastWhatsNewVersion[];
|
||||
extern const char kLensRegionSearchEnabled[];
|
||||
#endif
|
||||
|
||||
+#if defined(OS_ANDROID)
|
||||
+extern const char kIncognitoTabHistoryEnabled[];
|
||||
|
|
|
@ -9,7 +9,7 @@ Subject: Add menu item to bookmark all tabs
|
|||
.../browser/bookmarks/BookmarkUtils.java | 4 ++
|
||||
.../android/bookmarks/bookmark_bridge.cc | 17 +++++
|
||||
.../android/bookmarks/bookmark_bridge.h | 4 ++
|
||||
.../browser/bookmarks/bookmark_html_writer.cc | 10 +++
|
||||
.../browser/bookmarks/bookmark_html_writer.cc | 8 ++-
|
||||
.../bookmarks/chrome_bookmark_client.cc | 2 +
|
||||
.../dialogs/DownloadLocationCustomView.java | 4 +-
|
||||
.../strings/android_chrome_strings.grd | 3 +
|
||||
|
@ -20,15 +20,16 @@ Subject: Add menu item to bookmark all tabs
|
|||
.../bookmarks/browser/bookmark_load_details.h | 2 +
|
||||
.../bookmarks/browser/bookmark_model.cc | 3 +-
|
||||
components/bookmarks/browser/bookmark_model.h | 7 ++
|
||||
components/bookmarks/browser/bookmark_node.cc | 13 ++++
|
||||
components/bookmarks/browser/bookmark_node.cc | 15 ++++
|
||||
components/bookmarks/browser/bookmark_node.h | 5 ++
|
||||
components/bookmarks/browser/model_loader.cc | 3 +-
|
||||
20 files changed, 208 insertions(+), 14 deletions(-)
|
||||
.../bookmark_specifics_conversions.cc | 1 +
|
||||
21 files changed, 208 insertions(+), 15 deletions(-)
|
||||
|
||||
diff --git a/chrome/android/java/res/menu/main_menu.xml b/chrome/android/java/res/menu/main_menu.xml
|
||||
--- a/chrome/android/java/res/menu/main_menu.xml
|
||||
+++ b/chrome/android/java/res/menu/main_menu.xml
|
||||
@@ -61,6 +61,10 @@
|
||||
@@ -64,6 +64,10 @@
|
||||
<item android:id="@+id/all_bookmarks_menu_id"
|
||||
android:title="@string/menu_bookmarks"
|
||||
android:icon="@drawable/btn_star_filled" />
|
||||
|
@ -39,7 +40,7 @@ diff --git a/chrome/android/java/res/menu/main_menu.xml b/chrome/android/java/re
|
|||
<item android:id="@+id/recent_tabs_menu_id"
|
||||
android:title="@string/menu_recent_tabs"
|
||||
android:icon="@drawable/devices_black_24dp" />
|
||||
@@ -144,6 +148,9 @@
|
||||
@@ -147,6 +151,9 @@
|
||||
<item android:id="@+id/menu_group_tabs"
|
||||
android:title="@string/menu_group_tabs"
|
||||
android:icon="@drawable/ic_widgets" />
|
||||
|
@ -52,16 +53,16 @@ diff --git a/chrome/android/java/res/menu/main_menu.xml b/chrome/android/java/re
|
|||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
|
||||
@@ -70,6 +70,8 @@ import org.chromium.chrome.browser.app.tabmodel.ChromeNextTabPolicySupplier;
|
||||
@@ -68,6 +68,8 @@ import org.chromium.chrome.browser.app.tabmodel.ChromeNextTabPolicySupplier;
|
||||
import org.chromium.chrome.browser.app.tabmodel.TabModelOrchestrator;
|
||||
import org.chromium.chrome.browser.app.tabmodel.TabWindowManagerSingleton;
|
||||
import org.chromium.chrome.browser.app.tabmodel.TabbedModeTabModelOrchestrator;
|
||||
+import org.chromium.chrome.browser.bookmarks.BookmarkBridge;
|
||||
+import org.chromium.chrome.browser.bookmarks.BookmarkModel;
|
||||
import org.chromium.chrome.browser.bookmarks.BookmarkUtils;
|
||||
import org.chromium.chrome.browser.browserservices.intents.WebappConstants;
|
||||
import org.chromium.chrome.browser.compositor.CompositorViewHolder;
|
||||
import org.chromium.chrome.browser.compositor.bottombar.ephemeraltab.EphemeralTabCoordinator;
|
||||
@@ -1959,6 +1961,8 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
|
||||
@@ -2020,6 +2022,8 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
|
||||
// Close both incognito and normal tabs
|
||||
getTabModelSelector().closeAllTabs();
|
||||
RecordUserAction.record("MobileMenuCloseAllTabs");
|
||||
|
@ -70,7 +71,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct
|
|||
} else if (id == R.id.close_all_incognito_tabs_menu_id) {
|
||||
// Close only incognito tabs
|
||||
getTabModelSelector().getModel(true).closeAllTabs();
|
||||
@@ -2008,6 +2012,28 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
|
||||
@@ -2069,6 +2073,28 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
|
||||
mTabModalHandler.onOmniboxFocusChanged(hasFocus);
|
||||
}
|
||||
|
||||
|
@ -235,7 +236,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
|
|||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkUtils.java b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkUtils.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkUtils.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkUtils.java
|
||||
@@ -508,6 +508,7 @@ public class BookmarkUtils {
|
||||
@@ -516,6 +516,7 @@ public class BookmarkUtils {
|
||||
List<BookmarkId> topLevelFolders = new ArrayList<>();
|
||||
BookmarkId desktopNodeId = bookmarkModel.getDesktopFolderId();
|
||||
BookmarkId mobileNodeId = bookmarkModel.getMobileFolderId();
|
||||
|
@ -243,7 +244,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
|
|||
BookmarkId othersNodeId = bookmarkModel.getOtherFolderId();
|
||||
|
||||
List<BookmarkId> specialFoldersIds =
|
||||
@@ -533,6 +534,9 @@ public class BookmarkUtils {
|
||||
@@ -541,6 +542,9 @@ public class BookmarkUtils {
|
||||
if (bookmarkModel.isFolderVisible(mobileNodeId)) {
|
||||
topLevelFolders.add(mobileNodeId);
|
||||
}
|
||||
|
@ -311,22 +312,27 @@ diff --git a/chrome/browser/android/bookmarks/bookmark_bridge.h b/chrome/browser
|
|||
diff --git a/chrome/browser/bookmarks/bookmark_html_writer.cc b/chrome/browser/bookmarks/bookmark_html_writer.cc
|
||||
--- a/chrome/browser/bookmarks/bookmark_html_writer.cc
|
||||
+++ b/chrome/browser/bookmarks/bookmark_html_writer.cc
|
||||
@@ -212,6 +212,14 @@ class Writer : public base::RefCountedThreadSafe<Writer> {
|
||||
@@ -186,6 +186,8 @@ class Writer : public base::RefCountedThreadSafe<Writer> {
|
||||
roots->FindDictKey(BookmarkCodec::kOtherBookmarkFolderNameKey);
|
||||
base::Value* mobile_folder_value =
|
||||
roots->FindDictKey(BookmarkCodec::kMobileBookmarkFolderNameKey);
|
||||
+ base::Value* tabs_collection_value =
|
||||
+ roots->FindDictKey(BookmarkCodec::kTabsBookmarkFolderNameKey);
|
||||
DCHECK(root_folder_value);
|
||||
DCHECK(other_folder_value);
|
||||
DCHECK(mobile_folder_value);
|
||||
@@ -197,7 +199,9 @@ class Writer : public base::RefCountedThreadSafe<Writer> {
|
||||
!WriteNode(*static_cast<base::DictionaryValue*>(other_folder_value),
|
||||
BookmarkNode::OTHER_NODE) ||
|
||||
!WriteNode(*static_cast<base::DictionaryValue*>(mobile_folder_value),
|
||||
- BookmarkNode::MOBILE)) {
|
||||
+ BookmarkNode::MOBILE) ||
|
||||
+ !WriteNode(*static_cast<base::DictionaryValue*>(tabs_collection_value),
|
||||
+ BookmarkNode::TABS_COLLECTION)) {
|
||||
NotifyOnFinish(BookmarksExportObserver::Result::kCouldNotWriteNodes);
|
||||
return;
|
||||
}
|
||||
|
||||
+ base::Value* tabs_collection_value = nullptr;
|
||||
+ if (roots_d_value->Get(BookmarkCodec::kTabsBookmarkFolderNameKey,
|
||||
+ &tabs_collection_value) &&
|
||||
+ tabs_collection_value->type() == base::Value::Type::DICTIONARY) {
|
||||
+ WriteNode(*static_cast<base::DictionaryValue*>(tabs_collection_value),
|
||||
+ BookmarkNode::TABS_COLLECTION);
|
||||
+ }
|
||||
+
|
||||
DecrementIndent();
|
||||
|
||||
Write(kFolderChildrenEnd);
|
||||
@@ -484,6 +492,8 @@ void BookmarkFaviconFetcher::ExportBookmarks() {
|
||||
@@ -464,6 +468,8 @@ void BookmarkFaviconFetcher::ExportBookmarks() {
|
||||
BookmarkModelFactory::GetForBrowserContext(profile_)->other_node());
|
||||
ExtractUrls(
|
||||
BookmarkModelFactory::GetForBrowserContext(profile_)->mobile_node());
|
||||
|
@ -371,7 +377,7 @@ diff --git a/chrome/browser/download/android/java/src/org/chromium/chrome/browse
|
|||
diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||
--- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||
+++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||
@@ -3155,6 +3155,9 @@ To change this setting, <ph name="BEGIN_LINK"><resetlink></ph>reset sync<p
|
||||
@@ -3218,6 +3218,9 @@ To change this setting, <ph name="BEGIN_LINK"><resetlink></ph>reset sync<p
|
||||
<message name="IDS_MENU_TRACK_PRICES" desc="Menu item for tracking prices on tabs. [CHAR_LIMIT=27]">
|
||||
Track prices
|
||||
</message>
|
||||
|
@ -407,7 +413,7 @@ diff --git a/components/bookmark_bar_strings.grdp b/components/bookmark_bar_stri
|
|||
diff --git a/components/bookmarks/browser/bookmark_codec.cc b/components/bookmarks/browser/bookmark_codec.cc
|
||||
--- a/components/bookmarks/browser/bookmark_codec.cc
|
||||
+++ b/components/bookmarks/browser/bookmark_codec.cc
|
||||
@@ -32,6 +32,7 @@ const char BookmarkCodec::kRootFolderNameKey[] = "bookmark_bar";
|
||||
@@ -33,6 +33,7 @@ const char BookmarkCodec::kRootFolderNameKey[] = "bookmark_bar";
|
||||
const char BookmarkCodec::kOtherBookmarkFolderNameKey[] = "other";
|
||||
// The value is left as 'synced' for historical reasons.
|
||||
const char BookmarkCodec::kMobileBookmarkFolderNameKey[] = "synced";
|
||||
|
@ -415,9 +421,9 @@ diff --git a/components/bookmarks/browser/bookmark_codec.cc b/components/bookmar
|
|||
const char BookmarkCodec::kVersionKey[] = "version";
|
||||
const char BookmarkCodec::kChecksumKey[] = "checksum";
|
||||
const char BookmarkCodec::kIdKey[] = "id";
|
||||
@@ -62,7 +63,8 @@ std::unique_ptr<base::Value> BookmarkCodec::Encode(
|
||||
BookmarkModel* model,
|
||||
const std::string& sync_metadata_str) {
|
||||
@@ -62,7 +63,8 @@ BookmarkCodec::~BookmarkCodec() = default;
|
||||
base::Value BookmarkCodec::Encode(BookmarkModel* model,
|
||||
const std::string& sync_metadata_str) {
|
||||
return Encode(model->bookmark_bar_node(), model->other_node(),
|
||||
- model->mobile_node(), model->root_node()->GetMetaInfoMap(),
|
||||
+ model->mobile_node(), model->tabs_collection_node(),
|
||||
|
@ -425,7 +431,7 @@ diff --git a/components/bookmarks/browser/bookmark_codec.cc b/components/bookmar
|
|||
sync_metadata_str);
|
||||
}
|
||||
|
||||
@@ -70,6 +72,7 @@ std::unique_ptr<base::Value> BookmarkCodec::Encode(
|
||||
@@ -70,6 +72,7 @@ base::Value BookmarkCodec::Encode(
|
||||
const BookmarkNode* bookmark_bar_node,
|
||||
const BookmarkNode* other_folder_node,
|
||||
const BookmarkNode* mobile_folder_node,
|
||||
|
@ -433,14 +439,14 @@ diff --git a/components/bookmarks/browser/bookmark_codec.cc b/components/bookmar
|
|||
const BookmarkNode::MetaInfoMap* model_meta_info_map,
|
||||
const std::string& sync_metadata_str) {
|
||||
ids_reassigned_ = false;
|
||||
@@ -79,6 +82,7 @@ std::unique_ptr<base::Value> BookmarkCodec::Encode(
|
||||
roots->Set(kRootFolderNameKey, EncodeNode(bookmark_bar_node));
|
||||
roots->Set(kOtherBookmarkFolderNameKey, EncodeNode(other_folder_node));
|
||||
roots->Set(kMobileBookmarkFolderNameKey, EncodeNode(mobile_folder_node));
|
||||
+ roots->Set(kTabsBookmarkFolderNameKey, EncodeNode(tabs_folder_node));
|
||||
@@ -79,6 +82,7 @@ base::Value BookmarkCodec::Encode(
|
||||
roots.SetKey(kRootFolderNameKey, EncodeNode(bookmark_bar_node));
|
||||
roots.SetKey(kOtherBookmarkFolderNameKey, EncodeNode(other_folder_node));
|
||||
roots.SetKey(kMobileBookmarkFolderNameKey, EncodeNode(mobile_folder_node));
|
||||
+ roots.SetKey(kTabsBookmarkFolderNameKey, EncodeNode(tabs_folder_node));
|
||||
if (model_meta_info_map)
|
||||
roots->Set(kMetaInfo, EncodeMetaInfo(*model_meta_info_map));
|
||||
auto main = std::make_unique<base::DictionaryValue>();
|
||||
roots.SetKey(kMetaInfo, EncodeMetaInfo(*model_meta_info_map));
|
||||
base::Value main(base::Value::Type::DICTIONARY);
|
||||
@@ -102,6 +106,7 @@ bool BookmarkCodec::Decode(const base::Value& value,
|
||||
BookmarkNode* bb_node,
|
||||
BookmarkNode* other_folder_node,
|
||||
|
@ -474,28 +480,28 @@ diff --git a/components/bookmarks/browser/bookmark_codec.cc b/components/bookmar
|
|||
*max_id = maximum_id_ + 1;
|
||||
return success;
|
||||
}
|
||||
@@ -173,6 +180,7 @@ std::unique_ptr<base::Value> BookmarkCodec::EncodeMetaInfo(
|
||||
@@ -172,6 +179,7 @@ base::Value BookmarkCodec::EncodeMetaInfo(
|
||||
bool BookmarkCodec::DecodeHelper(BookmarkNode* bb_node,
|
||||
BookmarkNode* other_folder_node,
|
||||
BookmarkNode* mobile_folder_node,
|
||||
+ BookmarkNode* tabs_folder_node,
|
||||
const base::Value& value,
|
||||
std::string* sync_metadata_str) {
|
||||
const base::DictionaryValue* d_value = nullptr;
|
||||
@@ -212,6 +220,12 @@ bool BookmarkCodec::DecodeHelper(BookmarkNode* bb_node,
|
||||
DecodeNode(*root_folder_d_value, nullptr, bb_node);
|
||||
DecodeNode(*other_folder_d_value, nullptr, other_folder_node);
|
||||
if (!value.is_dict())
|
||||
@@ -203,6 +211,12 @@ bool BookmarkCodec::DecodeHelper(BookmarkNode* bb_node,
|
||||
DecodeNode(*root_folder_value, nullptr, bb_node);
|
||||
DecodeNode(*other_folder_value, nullptr, other_folder_node);
|
||||
|
||||
+ const base::Value* tabs_folder_value;
|
||||
+ const base::DictionaryValue* tabs_folder_d_value = nullptr;
|
||||
+ if (roots_d_value->Get(kTabsBookmarkFolderNameKey, &tabs_folder_value) &&
|
||||
+ tabs_folder_value->GetAsDictionary(&tabs_folder_d_value))
|
||||
+ const base::Value* tabs_folder_value =
|
||||
+ roots->FindDictKey(kTabsBookmarkFolderNameKey);
|
||||
+ if (tabs_folder_value && tabs_folder_value->GetAsDictionary(&tabs_folder_d_value))
|
||||
+ DecodeNode(*tabs_folder_d_value, nullptr, tabs_folder_node);
|
||||
+
|
||||
// Fail silently if we can't deserialize mobile bookmarks. We can't require
|
||||
// them to exist in order to be backwards-compatible with older versions of
|
||||
// chrome.
|
||||
@@ -457,11 +471,13 @@ void BookmarkCodec::DecodeMetaInfoHelper(
|
||||
@@ -452,11 +466,13 @@ void BookmarkCodec::DecodeMetaInfoHelper(
|
||||
|
||||
void BookmarkCodec::ReassignIDs(BookmarkNode* bb_node,
|
||||
BookmarkNode* other_node,
|
||||
|
@ -513,15 +519,15 @@ diff --git a/components/bookmarks/browser/bookmark_codec.cc b/components/bookmar
|
|||
diff --git a/components/bookmarks/browser/bookmark_codec.h b/components/bookmarks/browser/bookmark_codec.h
|
||||
--- a/components/bookmarks/browser/bookmark_codec.h
|
||||
+++ b/components/bookmarks/browser/bookmark_codec.h
|
||||
@@ -50,6 +50,7 @@ class BookmarkCodec {
|
||||
const BookmarkNode* bookmark_bar_node,
|
||||
const BookmarkNode* other_folder_node,
|
||||
const BookmarkNode* mobile_folder_node,
|
||||
+ const BookmarkNode* tabs_folder_node,
|
||||
const BookmarkNode::MetaInfoMap* model_meta_info_map,
|
||||
const std::string& sync_metadata_str);
|
||||
@@ -46,6 +46,7 @@ class BookmarkCodec {
|
||||
base::Value Encode(const BookmarkNode* bookmark_bar_node,
|
||||
const BookmarkNode* other_folder_node,
|
||||
const BookmarkNode* mobile_folder_node,
|
||||
+ const BookmarkNode* tabs_folder_node,
|
||||
const BookmarkNode::MetaInfoMap* model_meta_info_map,
|
||||
const std::string& sync_metadata_str);
|
||||
|
||||
@@ -62,6 +63,7 @@ class BookmarkCodec {
|
||||
@@ -58,6 +59,7 @@ class BookmarkCodec {
|
||||
BookmarkNode* bb_node,
|
||||
BookmarkNode* other_folder_node,
|
||||
BookmarkNode* mobile_folder_node,
|
||||
|
@ -529,7 +535,7 @@ diff --git a/components/bookmarks/browser/bookmark_codec.h b/components/bookmark
|
|||
int64_t* max_node_id,
|
||||
std::string* sync_metadata_str);
|
||||
|
||||
@@ -107,6 +109,7 @@ class BookmarkCodec {
|
||||
@@ -103,6 +105,7 @@ class BookmarkCodec {
|
||||
// Allows the BookmarkClient to read and a write a string blob from the JSON
|
||||
// file. That string captures the bookmarks sync metadata.
|
||||
static const char kSyncMetadata[];
|
||||
|
@ -537,7 +543,7 @@ diff --git a/components/bookmarks/browser/bookmark_codec.h b/components/bookmark
|
|||
|
||||
// Possible values for kTypeKey.
|
||||
static const char kTypeURL[];
|
||||
@@ -124,6 +127,7 @@ class BookmarkCodec {
|
||||
@@ -119,6 +122,7 @@ class BookmarkCodec {
|
||||
bool DecodeHelper(BookmarkNode* bb_node,
|
||||
BookmarkNode* other_folder_node,
|
||||
BookmarkNode* mobile_folder_node,
|
||||
|
@ -545,7 +551,7 @@ diff --git a/components/bookmarks/browser/bookmark_codec.h b/components/bookmark
|
|||
const base::Value& value,
|
||||
std::string* sync_metadata_str);
|
||||
|
||||
@@ -134,7 +138,8 @@ class BookmarkCodec {
|
||||
@@ -130,7 +134,8 @@ class BookmarkCodec {
|
||||
// Reassigns bookmark IDs for all nodes.
|
||||
void ReassignIDs(BookmarkNode* bb_node,
|
||||
BookmarkNode* other_node,
|
||||
|
@ -591,7 +597,7 @@ diff --git a/components/bookmarks/browser/bookmark_load_details.h b/components/b
|
|||
diff --git a/components/bookmarks/browser/bookmark_model.cc b/components/bookmarks/browser/bookmark_model.cc
|
||||
--- a/components/bookmarks/browser/bookmark_model.cc
|
||||
+++ b/components/bookmarks/browser/bookmark_model.cc
|
||||
@@ -561,7 +561,7 @@ bool BookmarkModel::HasBookmarks() {
|
||||
@@ -562,7 +562,7 @@ bool BookmarkModel::HasBookmarks() {
|
||||
bool BookmarkModel::HasNoUserCreatedBookmarksOrFolders() {
|
||||
DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
|
||||
return bookmark_bar_node_->children().empty() &&
|
||||
|
@ -600,7 +606,7 @@ diff --git a/components/bookmarks/browser/bookmark_model.cc b/components/bookmar
|
|||
}
|
||||
|
||||
bool BookmarkModel::IsBookmarked(const GURL& url) {
|
||||
@@ -796,6 +796,7 @@ void BookmarkModel::DoneLoading(std::unique_ptr<BookmarkLoadDetails> details) {
|
||||
@@ -804,6 +804,7 @@ void BookmarkModel::DoneLoading(std::unique_ptr<BookmarkLoadDetails> details) {
|
||||
bookmark_bar_node_ = details->bb_node();
|
||||
other_node_ = details->other_folder_node();
|
||||
mobile_node_ = details->mobile_folder_node();
|
||||
|
@ -624,7 +630,7 @@ diff --git a/components/bookmarks/browser/bookmark_model.h b/components/bookmark
|
|||
bool is_root_node(const BookmarkNode* node) const {
|
||||
DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
|
||||
return node == root_;
|
||||
@@ -389,6 +395,7 @@ class BookmarkModel : public BookmarkUndoProvider,
|
||||
@@ -391,6 +397,7 @@ class BookmarkModel : public BookmarkUndoProvider,
|
||||
BookmarkPermanentNode* bookmark_bar_node_ = nullptr;
|
||||
BookmarkPermanentNode* other_node_ = nullptr;
|
||||
BookmarkPermanentNode* mobile_node_ = nullptr;
|
||||
|
@ -635,16 +641,18 @@ diff --git a/components/bookmarks/browser/bookmark_model.h b/components/bookmark
|
|||
diff --git a/components/bookmarks/browser/bookmark_node.cc b/components/bookmarks/browser/bookmark_node.cc
|
||||
--- a/components/bookmarks/browser/bookmark_node.cc
|
||||
+++ b/components/bookmarks/browser/bookmark_node.cc
|
||||
@@ -41,6 +41,8 @@ const char BookmarkNode::kOtherBookmarksNodeGuid[] =
|
||||
"00000000-0000-4000-a000-000000000003";
|
||||
@@ -60,6 +60,10 @@ const char BookmarkNode::kOtherBookmarksNodeGuid[] =
|
||||
const char BookmarkNode::kMobileBookmarksNodeGuid[] =
|
||||
"00000000-0000-4000-a000-000000000004";
|
||||
"4cf2e351-0e85-532b-bb37-df045d8f8d0f";
|
||||
|
||||
+// static
|
||||
+const char BookmarkNode::kTabsCollectionBookmarksNodeGuid[] =
|
||||
+ "00000000-0000-4000-a000-000000000006";
|
||||
+
|
||||
// static
|
||||
const char BookmarkNode::kManagedNodeGuid[] =
|
||||
"00000000-0000-4000-a000-000000000005";
|
||||
|
||||
@@ -199,6 +201,17 @@ BookmarkPermanentNode::CreateMobileBookmarks(int64_t id,
|
||||
"323123f4-9381-5aee-80e6-ea5fca2f7672";
|
||||
@@ -225,6 +229,17 @@ BookmarkPermanentNode::CreateMobileBookmarks(int64_t id,
|
||||
visible_when_empty));
|
||||
}
|
||||
|
||||
|
@ -680,8 +688,8 @@ diff --git a/components/bookmarks/browser/bookmark_node.h b/components/bookmarks
|
|||
+ static const char kTabsCollectionBookmarksNodeGuid[];
|
||||
static const char kManagedNodeGuid[];
|
||||
|
||||
// Creates a new node with |id|, |guid| and |url|.
|
||||
@@ -244,6 +246,9 @@ class BookmarkPermanentNode : public BookmarkNode {
|
||||
// A bug in sync caused some problematic GUIDs to be produced.
|
||||
@@ -247,6 +249,9 @@ class BookmarkPermanentNode : public BookmarkNode {
|
||||
static std::unique_ptr<BookmarkPermanentNode> CreateMobileBookmarks(
|
||||
int64_t id,
|
||||
bool visible_when_empty);
|
||||
|
@ -704,6 +712,17 @@ diff --git a/components/bookmarks/browser/model_loader.cc b/components/bookmarks
|
|||
&sync_metadata_str);
|
||||
details->set_sync_metadata_str(std::move(sync_metadata_str));
|
||||
details->set_max_id(std::max(max_node_id, details->max_id()));
|
||||
diff --git a/components/sync_bookmarks/bookmark_specifics_conversions.cc b/components/sync_bookmarks/bookmark_specifics_conversions.cc
|
||||
--- a/components/sync_bookmarks/bookmark_specifics_conversions.cc
|
||||
+++ b/components/sync_bookmarks/bookmark_specifics_conversions.cc
|
||||
@@ -400,6 +400,7 @@ sync_pb::BookmarkSpecifics::Type GetProtoTypeFromBookmarkNode(
|
||||
case bookmarks::BookmarkNode::BOOKMARK_BAR:
|
||||
case bookmarks::BookmarkNode::OTHER_NODE:
|
||||
case bookmarks::BookmarkNode::MOBILE:
|
||||
+ case bookmarks::BookmarkNode::TABS_COLLECTION:
|
||||
DCHECK(node->is_folder());
|
||||
return sync_pb::BookmarkSpecifics::FOLDER;
|
||||
}
|
||||
--
|
||||
2.17.1
|
||||
|
||||
|
|
|
@ -28,7 +28,7 @@ diff --git a/chrome/android/java/res/menu/custom_tabs_menu.xml b/chrome/android/
|
|||
diff --git a/chrome/android/java/res/menu/main_menu.xml b/chrome/android/java/res/menu/main_menu.xml
|
||||
--- a/chrome/android/java/res/menu/main_menu.xml
|
||||
+++ b/chrome/android/java/res/menu/main_menu.xml
|
||||
@@ -85,6 +85,9 @@
|
||||
@@ -88,6 +88,9 @@
|
||||
<item android:id="@+id/add_to_homescreen_id"
|
||||
android:title="@string/menu_add_to_homescreen"
|
||||
android:icon="@drawable/ic_add_to_home_screen" />
|
||||
|
@ -41,24 +41,24 @@ diff --git a/chrome/android/java/res/menu/main_menu.xml b/chrome/android/java/re
|
|||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
|
||||
@@ -1982,6 +1982,8 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
|
||||
@@ -2043,6 +2043,8 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
|
||||
NewTabPageUma.recordAction(NewTabPageUma.ACTION_OPENED_DOWNLOADS_MANAGER);
|
||||
}
|
||||
RecordUserAction.record("MobileMenuDownloadManager");
|
||||
+ } else if (id == R.id.view_source_id) {
|
||||
+ currentTab.getWebContents().getNavigationController().loadUrl(new LoadUrlParams("view-source:"+currentTab.getUrlString()));
|
||||
+ currentTab.getWebContents().getNavigationController().loadUrl(new LoadUrlParams("view-source:"+currentTab.getUrl().getSpec()));
|
||||
} else if (id == R.id.open_recently_closed_tab) {
|
||||
TabModel currentModel = mTabModelSelectorImpl.getCurrentModel();
|
||||
TabModel currentModel = mTabModelSelector.getCurrentModel();
|
||||
if (!currentModel.isIncognito()) currentModel.openMostRecentlyClosedTab();
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
|
||||
@@ -2333,6 +2333,11 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
|
||||
@@ -2429,6 +2429,11 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
|
||||
return true;
|
||||
}
|
||||
|
||||
+ if (id == R.id.view_source_id) {
|
||||
+ currentTab.getWebContents().getNavigationController().loadUrl(new LoadUrlParams("view-source:"+currentTab.getUrlString()));
|
||||
+ currentTab.getWebContents().getNavigationController().loadUrl(new LoadUrlParams("view-source:"+currentTab.getUrl().getSpec()));
|
||||
+ return true;
|
||||
+ }
|
||||
+
|
||||
|
@ -68,7 +68,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv
|
|||
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
|
||||
--- 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
|
||||
@@ -348,6 +348,7 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate
|
||||
@@ -355,6 +355,7 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate
|
||||
isChromeScheme, isFileScheme, isContentScheme, isIncognito, url));
|
||||
|
||||
updateRequestDesktopSiteMenuItem(menu, currentTab, true /* can show */);
|
||||
|
@ -76,7 +76,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/App
|
|||
|
||||
// Only display reader mode settings menu option if the current page is in reader mode.
|
||||
menu.findItem(R.id.reader_mode_prefs_id).setVisible(shouldShowReaderModePrefs(currentTab));
|
||||
@@ -787,6 +788,19 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate
|
||||
@@ -845,6 +846,19 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -89,7 +89,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/App
|
|||
+ protected void updateViewSourceMenuItem(
|
||||
+ Menu menu, Tab currentTab) {
|
||||
+ MenuItem viewSourceMenuItem = menu.findItem(R.id.view_source_id);
|
||||
+ String url = currentTab.getUrlString();
|
||||
+ String url = currentTab.getUrl().getSpec();
|
||||
+ viewSourceMenuItem.setVisible(!url.isEmpty() && !url.startsWith("view-source:"));
|
||||
+ }
|
||||
+
|
||||
|
@ -99,7 +99,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/App
|
|||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabAppMenuPropertiesDelegate.java b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabAppMenuPropertiesDelegate.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabAppMenuPropertiesDelegate.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabAppMenuPropertiesDelegate.java
|
||||
@@ -222,6 +222,7 @@ public class CustomTabAppMenuPropertiesDelegate extends AppMenuPropertiesDelegat
|
||||
@@ -214,6 +214,7 @@ public class CustomTabAppMenuPropertiesDelegate extends AppMenuPropertiesDelegat
|
||||
}
|
||||
|
||||
updateRequestDesktopSiteMenuItem(menu, currentTab, requestDesktopSiteVisible);
|
||||
|
@ -110,7 +110,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/Cust
|
|||
diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||
--- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||
+++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||
@@ -293,6 +293,10 @@ CHAR_LIMIT guidelines:
|
||||
@@ -299,6 +299,10 @@ CHAR_LIMIT guidelines:
|
||||
Sign-in verifications
|
||||
</message>
|
||||
|
||||
|
|
|
@ -5,11 +5,11 @@ Subject: Add option to force tablet UI
|
|||
---
|
||||
.../android/java/res/xml/accessibility_preferences.xml | 5 +++++
|
||||
.../accessibility/settings/AccessibilitySettings.java | 10 ++++++++++
|
||||
.../chrome/browser/omnibox/LocationBarCoordinator.java | 2 +-
|
||||
.../browser/toolbar/top/ToolbarControlContainer.java | 2 +-
|
||||
.../browser/preferences/ChromePreferenceKeys.java | 1 +
|
||||
.../preferences/LegacyChromePreferenceKeys.java | 1 +
|
||||
.../chrome/browser/omnibox/LocationBarCoordinator.java | 2 +-
|
||||
.../ui/android/strings/android_chrome_strings.grd | 6 ++++++
|
||||
.../browser/toolbar/top/ToolbarControlContainer.java | 2 +-
|
||||
components/BUILD.gn | 4 ++--
|
||||
ui/android/BUILD.gn | 2 ++
|
||||
.../src/org/chromium/ui/base/DeviceFormFactor.java | 5 +++++
|
||||
|
@ -33,15 +33,15 @@ diff --git a/chrome/android/java/res/xml/accessibility_preferences.xml b/chrome/
|
|||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/accessibility/settings/AccessibilitySettings.java b/chrome/android/java/src/org/chromium/chrome/browser/accessibility/settings/AccessibilitySettings.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/accessibility/settings/AccessibilitySettings.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/accessibility/settings/AccessibilitySettings.java
|
||||
@@ -35,6 +35,7 @@ public class AccessibilitySettings
|
||||
static final String PREF_CAPTIONS = "captions";
|
||||
@@ -37,6 +37,7 @@ public class AccessibilitySettings
|
||||
static final String PREF_IMAGE_DESCRIPTIONS = "image_descriptions";
|
||||
static final String PREF_ACCESSIBILITY_PAGE_ZOOM = "accessibility_page_zoom";
|
||||
|
||||
+ static final String PREF_FORCE_TABLET_UI = "force_tablet_ui";
|
||||
private TextScalePreference mTextScalePref;
|
||||
private ChromeBaseCheckBoxPreference mForceEnableZoomPref;
|
||||
private boolean mRecordFontSizeChangeOnStop;
|
||||
@@ -80,6 +81,12 @@ public class AccessibilitySettings
|
||||
@@ -82,6 +83,12 @@ public class AccessibilitySettings
|
||||
.getBoolean(Pref.READER_FOR_ACCESSIBILITY));
|
||||
readerForAccessibilityPref.setOnPreferenceChangeListener(this);
|
||||
|
||||
|
@ -54,7 +54,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/accessibility/s
|
|||
ChromeBaseCheckBoxPreference mAccessibilityTabSwitcherPref =
|
||||
(ChromeBaseCheckBoxPreference) findPreference(
|
||||
ChromePreferenceKeys.ACCESSIBILITY_TAB_SWITCHER);
|
||||
@@ -131,6 +138,9 @@ public class AccessibilitySettings
|
||||
@@ -137,6 +144,9 @@ public class AccessibilitySettings
|
||||
mFontSizePrefs.setUserFontScaleFactor((Float) newValue);
|
||||
} else if (PREF_FORCE_ENABLE_ZOOM.equals(preference.getKey())) {
|
||||
mFontSizePrefs.setForceEnableZoomFromUser((Boolean) newValue);
|
||||
|
@ -64,34 +64,10 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/accessibility/s
|
|||
} else if (PREF_READER_FOR_ACCESSIBILITY.equals(preference.getKey())) {
|
||||
UserPrefs.get(Profile.getLastUsedRegularProfile())
|
||||
.setBoolean(Pref.READER_FOR_ACCESSIBILITY, (Boolean) newValue);
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/omnibox/LocationBarCoordinator.java b/chrome/android/java/src/org/chromium/chrome/browser/omnibox/LocationBarCoordinator.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/omnibox/LocationBarCoordinator.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/omnibox/LocationBarCoordinator.java
|
||||
@@ -341,7 +341,7 @@ public final class LocationBarCoordinator implements LocationBar, NativeInitObse
|
||||
// OmniboxSuggestionsDropdownEmbedder implementation
|
||||
@Override
|
||||
public boolean isTablet() {
|
||||
- return DeviceFormFactor.isWindowOnTablet(mWindowAndroid);
|
||||
+ return DeviceFormFactor.isWindowOnTablet(mWindowAndroid) || isTabletLayout();
|
||||
}
|
||||
|
||||
@Override
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/top/ToolbarControlContainer.java b/chrome/android/java/src/org/chromium/chrome/browser/toolbar/top/ToolbarControlContainer.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/top/ToolbarControlContainer.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/toolbar/top/ToolbarControlContainer.java
|
||||
@@ -110,7 +110,7 @@ public class ToolbarControlContainer extends OptimizedFrameLayout implements Con
|
||||
// On tablet, draw a fake tab strip and toolbar until the compositor is
|
||||
// ready to draw the real tab strip. (On phone, the toolbar is made entirely
|
||||
// of Android views, which are already initialized.)
|
||||
- setBackgroundResource(R.drawable.toolbar_background);
|
||||
+// setBackgroundResource(R.drawable.toolbar_background);
|
||||
}
|
||||
}
|
||||
|
||||
diff --git 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
|
||||
--- 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
|
||||
@@ -506,6 +506,7 @@ public final class ChromePreferenceKeys {
|
||||
@@ -536,6 +536,7 @@ public final class ChromePreferenceKeys {
|
||||
public static final String FONT_USER_SET_FORCE_ENABLE_ZOOM = "user_set_force_enable_zoom";
|
||||
|
||||
public static final String HISTORY_SHOW_HISTORY_INFO = "history_home_show_info";
|
||||
|
@ -110,10 +86,22 @@ diff --git a/chrome/browser/preferences/android/java/src/org/chromium/chrome/bro
|
|||
ChromePreferenceKeys.FONT_USER_SET_FORCE_ENABLE_ZOOM,
|
||||
ChromePreferenceKeys.HISTORY_SHOW_HISTORY_INFO,
|
||||
ChromePreferenceKeys.HOMEPAGE_CUSTOM_URI,
|
||||
diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarCoordinator.java b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarCoordinator.java
|
||||
--- a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarCoordinator.java
|
||||
+++ b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarCoordinator.java
|
||||
@@ -348,7 +348,7 @@ public final class LocationBarCoordinator implements LocationBar, NativeInitObse
|
||||
// OmniboxSuggestionsDropdownEmbedder implementation
|
||||
@Override
|
||||
public boolean isTablet() {
|
||||
- return DeviceFormFactor.isWindowOnTablet(mWindowAndroid);
|
||||
+ return DeviceFormFactor.isWindowOnTablet(mWindowAndroid) || isTabletLayout();
|
||||
}
|
||||
|
||||
@Override
|
||||
diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||
--- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||
+++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||
@@ -1188,6 +1188,12 @@ Your Google account may have other forms of browsing history like searches and a
|
||||
@@ -1194,6 +1194,12 @@ Your Google account may have other forms of browsing history like searches and a
|
||||
<message name="IDS_SAFE_BROWSING_NO_PROTECTION_CONFIRMATION_DIALOG_CONFIRM" desc="Message for Safe Browsing no protection confirmation button.">
|
||||
Turn off
|
||||
</message>
|
||||
|
@ -126,21 +114,33 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro
|
|||
|
||||
<!-- Accessibility preferences -->
|
||||
<message name="IDS_PREFS_ACCESSIBILITY" desc="Title of Accessibility settings, which allows the user to change webpage font sizes. [CHAR_LIMIT=32]">
|
||||
diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/ToolbarControlContainer.java b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/ToolbarControlContainer.java
|
||||
--- a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/ToolbarControlContainer.java
|
||||
+++ b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/ToolbarControlContainer.java
|
||||
@@ -109,7 +109,7 @@ public class ToolbarControlContainer extends OptimizedFrameLayout implements Con
|
||||
// On tablet, draw a fake tab strip and toolbar until the compositor is
|
||||
// ready to draw the real tab strip. (On phone, the toolbar is made entirely
|
||||
// of Android views, which are already initialized.)
|
||||
- setBackgroundResource(R.drawable.toolbar_background);
|
||||
+// setBackgroundResource(R.drawable.toolbar_background);
|
||||
}
|
||||
}
|
||||
|
||||
diff --git a/components/BUILD.gn b/components/BUILD.gn
|
||||
--- a/components/BUILD.gn
|
||||
+++ b/components/BUILD.gn
|
||||
@@ -525,7 +525,7 @@ test("components_unittests") {
|
||||
@@ -542,7 +542,7 @@ test("components_unittests") {
|
||||
|
||||
# On LaCrOS, tests use ash-chrome as a window manager, thus the dependency.
|
||||
# On LaCrOS, tests use ash - chrome as a window manager, thus the dependency.
|
||||
# On other platforms, no components should depend on Chrome.
|
||||
- if (!is_chromeos_lacros) {
|
||||
+ if (!is_chromeos_lacros && !is_android) {
|
||||
assert_no_deps = [ "//chrome/*" ]
|
||||
}
|
||||
|
||||
@@ -772,7 +772,7 @@ if (!is_ios && !is_fuchsia) {
|
||||
@@ -789,7 +789,7 @@ if (!is_ios) {
|
||||
|
||||
# On LaCrOS, tests use ash-chrome as a window manager, thus the dependency.
|
||||
# On LaCrOS, tests use ash - chrome as a window manager, thus the dependency.
|
||||
# On other platforms, no components should depend on Chrome.
|
||||
- if (!is_chromeos_lacros) {
|
||||
+ if (!is_chromeos_lacros && !is_android) {
|
||||
|
@ -150,7 +150,7 @@ diff --git a/components/BUILD.gn b/components/BUILD.gn
|
|||
diff --git a/ui/android/BUILD.gn b/ui/android/BUILD.gn
|
||||
--- a/ui/android/BUILD.gn
|
||||
+++ b/ui/android/BUILD.gn
|
||||
@@ -364,6 +364,8 @@ android_library("ui_no_recycler_view_java") {
|
||||
@@ -370,6 +370,8 @@ android_library("ui_no_recycler_view_java") {
|
||||
":ui_java_resources",
|
||||
":ui_utils_java",
|
||||
"//base:base_java",
|
||||
|
|
|
@ -12,7 +12,7 @@ Subject: Add option to not persist tabs across sessions
|
|||
diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/android/java/res/xml/privacy_preferences.xml
|
||||
--- a/chrome/android/java/res/xml/privacy_preferences.xml
|
||||
+++ b/chrome/android/java/res/xml/privacy_preferences.xml
|
||||
@@ -29,6 +29,11 @@
|
||||
@@ -33,6 +33,11 @@
|
||||
android:title="@string/always_incognito_title"
|
||||
android:summary="@string/always_incognito_summary"
|
||||
android:defaultValue="false" />
|
||||
|
@ -27,7 +27,7 @@ diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/androi
|
|||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
|
||||
@@ -1175,8 +1175,10 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
|
||||
@@ -1188,8 +1188,10 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
|
||||
boolean hadCipherData =
|
||||
CipherFactory.getInstance().restoreFromBundle(getSavedInstanceState());
|
||||
|
||||
|
@ -58,8 +58,8 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
|
|||
+import org.chromium.base.BuildInfo;
|
||||
import org.chromium.chrome.R;
|
||||
import org.chromium.chrome.browser.feedback.HelpAndFeedbackLauncherImpl;
|
||||
import org.chromium.chrome.browser.preferences.Pref;
|
||||
@@ -48,6 +51,7 @@ public class PrivacySettings
|
||||
import org.chromium.chrome.browser.flags.ChromeFeatureList;
|
||||
@@ -50,6 +53,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";
|
||||
public static final String PREF_ALLOW_CUSTOM_TAB_INTENTS = "allow_custom_tab_intents";
|
||||
|
@ -67,7 +67,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
|
|||
private static final String PREF_PRIVACY_SANDBOX = "privacy_sandbox";
|
||||
|
||||
private ManagedPreferenceDelegate mManagedPreferenceDelegate;
|
||||
@@ -100,7 +104,11 @@ public class PrivacySettings
|
||||
@@ -111,7 +115,11 @@ public class PrivacySettings
|
||||
@Override
|
||||
public boolean onPreferenceChange(Preference preference, Object newValue) {
|
||||
String key = preference.getKey();
|
||||
|
@ -80,7 +80,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
|
|||
UserPrefs.get(Profile.getLastUsedRegularProfile())
|
||||
.setBoolean(Pref.CAN_MAKE_PAYMENT_ENABLED, (boolean) newValue);
|
||||
} else if (PREF_NETWORK_PREDICTIONS.equals(key)) {
|
||||
@@ -155,6 +163,11 @@ public class PrivacySettings
|
||||
@@ -169,6 +177,11 @@ public class PrivacySettings
|
||||
privacySandboxPreference.setSummary(
|
||||
PrivacySandboxSettingsFragment.getStatusString(getContext()));
|
||||
}
|
||||
|
@ -95,7 +95,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
|
|||
diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||
--- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||
+++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||
@@ -3958,6 +3958,12 @@ To change this setting, <ph name="BEGIN_LINK"><resetlink></ph>reset sync<p
|
||||
@@ -4026,6 +4026,12 @@ To change this setting, <ph name="BEGIN_LINK"><resetlink></ph>reset sync<p
|
||||
<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>
|
||||
|
|
|
@ -3,14 +3,22 @@ Date: Mon, 17 May 2021 12:30:12 +0000
|
|||
Subject: Add support for ISupportHelpAndFeedback
|
||||
|
||||
---
|
||||
.../chrome/browser/settings/SettingsActivity.java | 10 +++++++---
|
||||
.../components/browser_ui/settings/SettingsUtils.java | 4 ++++
|
||||
2 files changed, 11 insertions(+), 3 deletions(-)
|
||||
.../chrome/browser/settings/SettingsActivity.java | 11 ++++++++---
|
||||
.../components/browser_ui/settings/SettingsUtils.java | 4 ++++
|
||||
2 files changed, 12 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsActivity.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsActivity.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsActivity.java
|
||||
@@ -282,9 +282,13 @@ public class SettingsActivity extends ChromeBaseAppCompatActivity
|
||||
@@ -55,6 +55,7 @@ import org.chromium.chrome.browser.ui.messages.snackbar.SnackbarManager;
|
||||
import org.chromium.chrome.browser.ui.messages.snackbar.SnackbarManager.SnackbarManageable;
|
||||
import org.chromium.components.browser_ui.settings.FragmentSettingsLauncher;
|
||||
import org.chromium.components.browser_ui.settings.SettingsLauncher;
|
||||
+import org.chromium.components.browser_ui.settings.SettingsUtils;
|
||||
import org.chromium.components.browser_ui.site_settings.SiteSettingsPreferenceFragment;
|
||||
import org.chromium.ui.UiUtils;
|
||||
|
||||
@@ -248,9 +249,13 @@ public class SettingsActivity extends ChromeBaseAppCompatActivity
|
||||
finish();
|
||||
return true;
|
||||
} else if (item.getItemId() == R.id.menu_id_general_help) {
|
||||
|
|
211
build/patches/Allow-building-without-enable_reporting.patch
Normal file
211
build/patches/Allow-building-without-enable_reporting.patch
Normal file
|
@ -0,0 +1,211 @@
|
|||
From: Zoraver Kang <Zoraver@users.noreply.github.com>
|
||||
Date: Fri, 22 May 2020 22:43:27 -0400
|
||||
Subject: Allow building without enable_reporting
|
||||
|
||||
---
|
||||
content/browser/BUILD.gn | 8 ++++----
|
||||
.../common/content_switch_dependent_feature_overrides.cc | 3 +++
|
||||
third_party/blink/renderer/core/frame/local_frame.cc | 3 +++
|
||||
third_party/blink/renderer/core/frame/local_frame.h | 6 +++---
|
||||
.../blink/renderer/core/frame/reporting_context.cc | 9 +++++++++
|
||||
.../blink/renderer/core/frame/reporting_context.h | 7 +++++--
|
||||
6 files changed, 27 insertions(+), 9 deletions(-)
|
||||
|
||||
diff --git a/content/browser/BUILD.gn b/content/browser/BUILD.gn
|
||||
--- a/content/browser/BUILD.gn
|
||||
+++ b/content/browser/BUILD.gn
|
||||
@@ -1240,6 +1240,10 @@ source_set("browser") {
|
||||
"net/browser_online_state_observer.cc",
|
||||
"net/browser_online_state_observer.h",
|
||||
"net/cookie_store_factory.cc",
|
||||
+ "net/cross_origin_embedder_policy_reporter.cc",
|
||||
+ "net/cross_origin_embedder_policy_reporter.h",
|
||||
+ "net/cross_origin_opener_policy_reporter.cc",
|
||||
+ "net/cross_origin_opener_policy_reporter.h",
|
||||
"net/network_errors_listing_ui.cc",
|
||||
"net/network_errors_listing_ui.h",
|
||||
"net/network_quality_observer_impl.cc",
|
||||
@@ -2989,10 +2993,6 @@ source_set("browser") {
|
||||
|
||||
if (enable_reporting) {
|
||||
sources += [
|
||||
- "net/cross_origin_embedder_policy_reporter.cc",
|
||||
- "net/cross_origin_embedder_policy_reporter.h",
|
||||
- "net/cross_origin_opener_policy_reporter.cc",
|
||||
- "net/cross_origin_opener_policy_reporter.h",
|
||||
"net/reporting_service_proxy.cc",
|
||||
"net/reporting_service_proxy.h",
|
||||
]
|
||||
diff --git a/content/public/common/content_switch_dependent_feature_overrides.cc b/content/public/common/content_switch_dependent_feature_overrides.cc
|
||||
--- a/content/public/common/content_switch_dependent_feature_overrides.cc
|
||||
+++ b/content/public/common/content_switch_dependent_feature_overrides.cc
|
||||
@@ -7,6 +7,7 @@
|
||||
#include "content/public/common/content_features.h"
|
||||
#include "content/public/common/content_switches.h"
|
||||
#include "net/base/features.h"
|
||||
+#include "net/net_buildflags.h"
|
||||
#include "services/network/public/cpp/features.h"
|
||||
#include "services/network/public/cpp/network_switches.h"
|
||||
#include "third_party/blink/public/common/features.h"
|
||||
@@ -46,9 +47,11 @@ GetSwitchDependentFeatureOverrides(const base::CommandLine& command_line) {
|
||||
{switches::kEnableExperimentalWebPlatformFeatures,
|
||||
std::cref(features::kDocumentPolicyNegotiation),
|
||||
base::FeatureList::OVERRIDE_ENABLE_FEATURE},
|
||||
+#if BUILDFLAG(ENABLE_REPORTING)
|
||||
{switches::kEnableExperimentalWebPlatformFeatures,
|
||||
std::cref(net::features::kDocumentReporting),
|
||||
base::FeatureList::OVERRIDE_ENABLE_FEATURE},
|
||||
+#endif
|
||||
{switches::kEnableExperimentalWebPlatformFeatures,
|
||||
std::cref(features::kExperimentalContentSecurityPolicyFeatures),
|
||||
base::FeatureList::OVERRIDE_ENABLE_FEATURE},
|
||||
diff --git a/third_party/blink/renderer/core/frame/local_frame.cc b/third_party/blink/renderer/core/frame/local_frame.cc
|
||||
--- a/third_party/blink/renderer/core/frame/local_frame.cc
|
||||
+++ b/third_party/blink/renderer/core/frame/local_frame.cc
|
||||
@@ -39,6 +39,7 @@
|
||||
#include "base/values.h"
|
||||
#include "mojo/public/cpp/bindings/self_owned_receiver.h"
|
||||
#include "mojo/public/cpp/system/message_pipe.h"
|
||||
+#include "net/net_buildflags.h"
|
||||
#include "services/data_decoder/public/mojom/resource_snapshot_for_web_bundle.mojom-blink.h"
|
||||
#include "services/network/public/cpp/features.h"
|
||||
#include "services/network/public/mojom/content_security_policy.mojom-blink.h"
|
||||
@@ -2282,9 +2283,11 @@ const base::UnguessableToken& LocalFrame::GetAgentClusterId() const {
|
||||
return base::UnguessableToken::Null();
|
||||
}
|
||||
|
||||
+#if BUILDFLAG(ENABLE_REPORTING)
|
||||
mojom::blink::ReportingServiceProxy* LocalFrame::GetReportingService() {
|
||||
return mojo_handler_->ReportingService();
|
||||
}
|
||||
+#endif
|
||||
|
||||
// static
|
||||
void LocalFrame::NotifyUserActivation(
|
||||
diff --git a/third_party/blink/renderer/core/frame/local_frame.h b/third_party/blink/renderer/core/frame/local_frame.h
|
||||
--- a/third_party/blink/renderer/core/frame/local_frame.h
|
||||
+++ b/third_party/blink/renderer/core/frame/local_frame.h
|
||||
@@ -33,9 +33,9 @@
|
||||
|
||||
#include "base/time/default_tick_clock.h"
|
||||
#include "base/unguessable_token.h"
|
||||
-#include "build/build_config.h"
|
||||
#include "mojo/public/cpp/bindings/pending_associated_receiver.h"
|
||||
#include "mojo/public/cpp/bindings/pending_receiver.h"
|
||||
+#include "net/net_buildflags.h"
|
||||
#include "services/device/public/mojom/device_posture_provider.mojom-blink-forward.h"
|
||||
#include "services/network/public/mojom/fetch_api.mojom-blink-forward.h"
|
||||
#include "third_party/blink/public/common/frame/frame_ad_evidence.h"
|
||||
@@ -543,9 +543,9 @@ class CORE_EXPORT LocalFrame final : public Frame,
|
||||
}
|
||||
|
||||
SmoothScrollSequencer& GetSmoothScrollSequencer();
|
||||
-
|
||||
+#if BUILDFLAG(ENABLE_REPORTING)
|
||||
mojom::blink::ReportingServiceProxy* GetReportingService();
|
||||
-
|
||||
+#endif
|
||||
// Returns the frame host ptr. The interface returned is backed by an
|
||||
// associated interface with the legacy Chrome IPC channel.
|
||||
mojom::blink::LocalFrameHost& GetLocalFrameHostRemote() const;
|
||||
diff --git a/third_party/blink/renderer/core/frame/reporting_context.cc b/third_party/blink/renderer/core/frame/reporting_context.cc
|
||||
--- a/third_party/blink/renderer/core/frame/reporting_context.cc
|
||||
+++ b/third_party/blink/renderer/core/frame/reporting_context.cc
|
||||
@@ -4,6 +4,7 @@
|
||||
|
||||
#include "third_party/blink/renderer/core/frame/reporting_context.h"
|
||||
|
||||
+#include "net/net_buildflags.h"
|
||||
#include "third_party/blink/public/common/browser_interface_broker_proxy.h"
|
||||
#include "third_party/blink/public/platform/platform.h"
|
||||
#include "third_party/blink/public/platform/task_type.h"
|
||||
@@ -54,7 +55,9 @@ const char ReportingContext::kSupplementName[] = "ReportingContext";
|
||||
ReportingContext::ReportingContext(ExecutionContext& context)
|
||||
: Supplement<ExecutionContext>(context),
|
||||
execution_context_(context),
|
||||
+#if BUILDFLAG(ENABLE_REPORTING)
|
||||
reporting_service_(&context),
|
||||
+#endif
|
||||
receiver_(this, &context) {}
|
||||
|
||||
// static
|
||||
@@ -118,7 +121,9 @@ void ReportingContext::Trace(Visitor* visitor) const {
|
||||
visitor->Trace(observers_);
|
||||
visitor->Trace(report_buffer_);
|
||||
visitor->Trace(execution_context_);
|
||||
+#if BUILDFLAG(ENABLE_REPORTING)
|
||||
visitor->Trace(reporting_service_);
|
||||
+#endif
|
||||
visitor->Trace(receiver_);
|
||||
Supplement<ExecutionContext>::Trace(visitor);
|
||||
}
|
||||
@@ -140,6 +145,7 @@ void ReportingContext::CountReport(Report* report) {
|
||||
UseCounter::Count(execution_context_, feature);
|
||||
}
|
||||
|
||||
+#if BUILDFLAG(ENABLE_REPORTING)
|
||||
const HeapMojoRemote<mojom::blink::ReportingServiceProxy>&
|
||||
ReportingContext::GetReportingService() const {
|
||||
if (!reporting_service_.is_bound()) {
|
||||
@@ -149,6 +155,7 @@ ReportingContext::GetReportingService() const {
|
||||
}
|
||||
return reporting_service_;
|
||||
}
|
||||
+#endif
|
||||
|
||||
void ReportingContext::NotifyInternal(Report* report) {
|
||||
// Buffer the report.
|
||||
@@ -171,6 +178,7 @@ void ReportingContext::NotifyInternal(Report* report) {
|
||||
|
||||
void ReportingContext::SendToReportingAPI(Report* report,
|
||||
const String& endpoint) const {
|
||||
+#if BUILDFLAG(ENABLE_REPORTING)
|
||||
const String& type = report->type();
|
||||
if (!(type == ReportType::kCSPViolation || type == ReportType::kDeprecation ||
|
||||
type == ReportType::kPermissionsPolicyViolation ||
|
||||
@@ -226,6 +234,7 @@ void ReportingContext::SendToReportingAPI(Report* report,
|
||||
url, endpoint, body->featureId(), body->disposition(), body->message(),
|
||||
body->sourceFile(), line_number, column_number);
|
||||
}
|
||||
+#endif
|
||||
}
|
||||
|
||||
} // namespace blink
|
||||
diff --git a/third_party/blink/renderer/core/frame/reporting_context.h b/third_party/blink/renderer/core/frame/reporting_context.h
|
||||
--- a/third_party/blink/renderer/core/frame/reporting_context.h
|
||||
+++ b/third_party/blink/renderer/core/frame/reporting_context.h
|
||||
@@ -5,6 +5,7 @@
|
||||
#ifndef THIRD_PARTY_BLINK_RENDERER_CORE_FRAME_REPORTING_CONTEXT_H_
|
||||
#define THIRD_PARTY_BLINK_RENDERER_CORE_FRAME_REPORTING_CONTEXT_H_
|
||||
|
||||
+#include "net/net_buildflags.h"
|
||||
#include "third_party/blink/public/mojom/frame/reporting_observer.mojom-blink.h"
|
||||
#include "third_party/blink/public/mojom/reporting/reporting.mojom-blink.h"
|
||||
#include "third_party/blink/renderer/core/core_export.h"
|
||||
@@ -53,10 +54,10 @@ class CORE_EXPORT ReportingContext : public GarbageCollected<ReportingContext>,
|
||||
private:
|
||||
// Counts the use of a report type via UseCounter.
|
||||
void CountReport(Report*);
|
||||
-
|
||||
+#if BUILDFLAG(ENABLE_REPORTING)
|
||||
const HeapMojoRemote<mojom::blink::ReportingServiceProxy>&
|
||||
GetReportingService() const;
|
||||
-
|
||||
+#endif
|
||||
void NotifyInternal(Report* report);
|
||||
// Send |report| via the Reporting API to |endpoint|.
|
||||
void SendToReportingAPI(Report* report, const String& endpoint) const;
|
||||
@@ -67,8 +68,10 @@ class CORE_EXPORT ReportingContext : public GarbageCollected<ReportingContext>,
|
||||
|
||||
// This is declared mutable so that the service endpoint can be cached by
|
||||
// const methods.
|
||||
+#if BUILDFLAG(ENABLE_REPORTING)
|
||||
mutable HeapMojoRemote<mojom::blink::ReportingServiceProxy>
|
||||
reporting_service_;
|
||||
+#endif
|
||||
|
||||
HeapMojoReceiver<mojom::blink::ReportingObserver, ReportingContext> receiver_;
|
||||
};
|
||||
--
|
||||
2.17.1
|
||||
|
|
@ -3,14 +3,27 @@ Date: Thu, 2 Nov 2017 18:21:16 +0200
|
|||
Subject: Allow playing audio in background
|
||||
|
||||
---
|
||||
media/blink/webmediaplayer_impl.cc | 12 +++++++++++-
|
||||
media/blink/webmediaplayer_impl.h | 2 ++
|
||||
2 files changed, 13 insertions(+), 1 deletion(-)
|
||||
.../public/platform/media/web_media_player_impl.h | 3 +++
|
||||
.../renderer/platform/media/web_media_player_impl.cc | 12 +++++++++++-
|
||||
2 files changed, 14 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/media/blink/webmediaplayer_impl.cc b/media/blink/webmediaplayer_impl.cc
|
||||
--- a/media/blink/webmediaplayer_impl.cc
|
||||
+++ b/media/blink/webmediaplayer_impl.cc
|
||||
@@ -1112,6 +1112,12 @@ bool WebMediaPlayerImpl::HasAudio() const {
|
||||
diff --git a/third_party/blink/public/platform/media/web_media_player_impl.h b/third_party/blink/public/platform/media/web_media_player_impl.h
|
||||
--- a/third_party/blink/public/platform/media/web_media_player_impl.h
|
||||
+++ b/third_party/blink/public/platform/media/web_media_player_impl.h
|
||||
@@ -159,6 +159,9 @@ class BLINK_PLATFORM_EXPORT WebMediaPlayerImpl
|
||||
bool HasVideo() const override;
|
||||
bool HasAudio() const override;
|
||||
|
||||
+ // True is has video and it's frame size is not zero
|
||||
+ bool HasVideoNonEmptySize() const;
|
||||
+
|
||||
void EnabledAudioTracksChanged(
|
||||
const WebVector<WebMediaPlayer::TrackId>& enabledTrackIds) override;
|
||||
void SelectedVideoTrackChanged(
|
||||
diff --git a/third_party/blink/renderer/platform/media/web_media_player_impl.cc b/third_party/blink/renderer/platform/media/web_media_player_impl.cc
|
||||
--- a/third_party/blink/renderer/platform/media/web_media_player_impl.cc
|
||||
+++ b/third_party/blink/renderer/platform/media/web_media_player_impl.cc
|
||||
@@ -1118,6 +1118,12 @@ bool WebMediaPlayerImpl::HasAudio() const {
|
||||
return pipeline_metadata_.has_audio;
|
||||
}
|
||||
|
||||
|
@ -21,9 +34,9 @@ diff --git a/media/blink/webmediaplayer_impl.cc b/media/blink/webmediaplayer_imp
|
|||
+}
|
||||
+
|
||||
void WebMediaPlayerImpl::EnabledAudioTracksChanged(
|
||||
const blink::WebVector<blink::WebMediaPlayer::TrackId>& enabledTrackIds) {
|
||||
const WebVector<WebMediaPlayer::TrackId>& enabledTrackIds) {
|
||||
DCHECK(main_task_runner_->BelongsToCurrentThread());
|
||||
@@ -3471,7 +3477,11 @@ bool WebMediaPlayerImpl::ShouldPausePlaybackWhenHidden() const {
|
||||
@@ -3490,7 +3496,11 @@ bool WebMediaPlayerImpl::ShouldPausePlaybackWhenHidden() const {
|
||||
// Audio only stream is allowed to play when in background.
|
||||
// TODO: We should check IsBackgroundOptimizationCandidate here. But we need
|
||||
// to move the logic of checking video frames out of that function.
|
||||
|
@ -36,18 +49,6 @@ diff --git a/media/blink/webmediaplayer_impl.cc b/media/blink/webmediaplayer_imp
|
|||
return false;
|
||||
|
||||
if (using_media_player_renderer_ &&
|
||||
diff --git a/media/blink/webmediaplayer_impl.h b/media/blink/webmediaplayer_impl.h
|
||||
--- a/media/blink/webmediaplayer_impl.h
|
||||
+++ b/media/blink/webmediaplayer_impl.h
|
||||
@@ -158,6 +158,8 @@ class MEDIA_BLINK_EXPORT WebMediaPlayerImpl
|
||||
// True if the loaded media has a playable video/audio track.
|
||||
bool HasVideo() const override;
|
||||
bool HasAudio() const override;
|
||||
+ // True is has video and it's frame size is not zero
|
||||
+ bool HasVideoNonEmptySize() const;
|
||||
|
||||
void EnabledAudioTracksChanged(
|
||||
const blink::WebVector<blink::WebMediaPlayer::TrackId>& enabledTrackIds)
|
||||
--
|
||||
2.17.1
|
||||
|
||||
|
|
|
@ -10,7 +10,7 @@ Disable prefs::kSigninAllowedOnNextStartup by default. The setting can be found
|
|||
diff --git a/chrome/browser/signin/account_consistency_mode_manager.cc b/chrome/browser/signin/account_consistency_mode_manager.cc
|
||||
--- a/chrome/browser/signin/account_consistency_mode_manager.cc
|
||||
+++ b/chrome/browser/signin/account_consistency_mode_manager.cc
|
||||
@@ -122,7 +122,7 @@ void AccountConsistencyModeManager::RegisterProfilePrefs(
|
||||
@@ -127,7 +127,7 @@ void AccountConsistencyModeManager::RegisterProfilePrefs(
|
||||
#if BUILDFLAG(ENABLE_DICE_SUPPORT)
|
||||
registry->RegisterBooleanPref(kDiceMigrationCompletePref, false);
|
||||
#endif
|
||||
|
|
|
@ -23,8 +23,8 @@ diff --git a/chrome/browser/net/system_network_context_manager.cc b/chrome/brows
|
|||
diff --git a/components/cronet/url_request_context_config.cc b/components/cronet/url_request_context_config.cc
|
||||
--- a/components/cronet/url_request_context_config.cc
|
||||
+++ b/components/cronet/url_request_context_config.cc
|
||||
@@ -591,7 +591,8 @@ void URLRequestContextConfig::ParseAndSetExperimentalOptions(
|
||||
effective_experimental_options->Remove(it.key(), nullptr);
|
||||
@@ -592,7 +592,8 @@ void URLRequestContextConfig::ParseAndSetExperimentalOptions(
|
||||
effective_experimental_options->RemoveKey(it.key());
|
||||
continue;
|
||||
}
|
||||
- async_dns_args->GetBoolean(kAsyncDnsEnable, &async_dns_enable);
|
||||
|
|
|
@ -46,7 +46,7 @@ diff --git a/third_party/blink/renderer/modules/webaudio/audio_buffer.idl b/thir
|
|||
diff --git a/third_party/blink/renderer/modules/webaudio/audio_context.cc b/third_party/blink/renderer/modules/webaudio/audio_context.cc
|
||||
--- a/third_party/blink/renderer/modules/webaudio/audio_context.cc
|
||||
+++ b/third_party/blink/renderer/modules/webaudio/audio_context.cc
|
||||
@@ -450,7 +450,9 @@ double AudioContext::baseLatency() const {
|
||||
@@ -458,7 +458,9 @@ double AudioContext::baseLatency() const {
|
||||
DCHECK(IsMainThread());
|
||||
DCHECK(destination());
|
||||
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -10,7 +10,7 @@ Include @thestinger's fix for correct charging/unknown values
|
|||
diff --git a/third_party/blink/renderer/modules/battery/battery_manager.cc b/third_party/blink/renderer/modules/battery/battery_manager.cc
|
||||
--- a/third_party/blink/renderer/modules/battery/battery_manager.cc
|
||||
+++ b/third_party/blink/renderer/modules/battery/battery_manager.cc
|
||||
@@ -69,46 +69,28 @@ ScriptPromise BatteryManager::StartRequest(ScriptState* script_state) {
|
||||
@@ -70,46 +70,28 @@ ScriptPromise BatteryManager::StartRequest(ScriptState* script_state) {
|
||||
}
|
||||
|
||||
bool BatteryManager::charging() {
|
||||
|
|
|
@ -3,7 +3,6 @@ Date: Tue, 28 Jul 2020 12:28:58 +0200
|
|||
Subject: Block gateway attacks via websockets
|
||||
|
||||
---
|
||||
content/public/common/content_features.cc | 2 +-
|
||||
.../renderer/core/loader/base_fetch_context.h | 1 +
|
||||
.../core/loader/frame_fetch_context.cc | 18 +++++++++++++
|
||||
.../core/loader/frame_fetch_context.h | 1 +
|
||||
|
@ -13,24 +12,12 @@ Subject: Block gateway attacks via websockets
|
|||
.../websockets/websocket_channel_impl.cc | 5 ++++
|
||||
.../modules/websockets/websocket_common.cc | 27 +++++++++++++++++++
|
||||
.../modules/websockets/websocket_common.h | 4 +++
|
||||
10 files changed, 77 insertions(+), 3 deletions(-)
|
||||
9 files changed, 76 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/content/public/common/content_features.cc b/content/public/common/content_features.cc
|
||||
--- a/content/public/common/content_features.cc
|
||||
+++ b/content/public/common/content_features.cc
|
||||
@@ -107,7 +107,7 @@ const base::Feature kBlockCredentialedSubresources{
|
||||
// - https://wicg.github.io/cors-rfc1918/#integration-fetch
|
||||
// - kBlockInsecurePrivateNetworkRequestsForNavigations
|
||||
const base::Feature kBlockInsecurePrivateNetworkRequests{
|
||||
- "BlockInsecurePrivateNetworkRequests", base::FEATURE_DISABLED_BY_DEFAULT};
|
||||
+ "BlockInsecurePrivateNetworkRequests", base::FEATURE_ENABLED_BY_DEFAULT};
|
||||
|
||||
// When both kBlockInsecurePrivateNetworkRequestsForNavigations and
|
||||
// kBlockInsecurePrivateNetworkRequests are enabled, navigations initiated
|
||||
diff --git a/third_party/blink/renderer/core/loader/base_fetch_context.h b/third_party/blink/renderer/core/loader/base_fetch_context.h
|
||||
--- a/third_party/blink/renderer/core/loader/base_fetch_context.h
|
||||
+++ b/third_party/blink/renderer/core/loader/base_fetch_context.h
|
||||
@@ -81,6 +81,7 @@ class CORE_EXPORT BaseFetchContext : public FetchContext {
|
||||
@@ -82,6 +82,7 @@ class CORE_EXPORT BaseFetchContext : public FetchContext {
|
||||
|
||||
virtual SubresourceFilter* GetSubresourceFilter() const = 0;
|
||||
virtual bool ShouldBlockWebSocketByMixedContentCheck(const KURL&) const = 0;
|
||||
|
@ -41,7 +28,7 @@ diff --git a/third_party/blink/renderer/core/loader/base_fetch_context.h b/third
|
|||
diff --git a/third_party/blink/renderer/core/loader/frame_fetch_context.cc b/third_party/blink/renderer/core/loader/frame_fetch_context.cc
|
||||
--- a/third_party/blink/renderer/core/loader/frame_fetch_context.cc
|
||||
+++ b/third_party/blink/renderer/core/loader/frame_fetch_context.cc
|
||||
@@ -560,6 +560,24 @@ bool FrameFetchContext::ShouldBlockRequestByInspector(const KURL& url) const {
|
||||
@@ -568,6 +568,24 @@ bool FrameFetchContext::ShouldBlockRequestByInspector(const KURL& url) const {
|
||||
return should_block_request;
|
||||
}
|
||||
|
||||
|
@ -127,7 +114,7 @@ diff --git a/third_party/blink/renderer/core/loader/worker_fetch_context.h b/thi
|
|||
diff --git a/third_party/blink/renderer/modules/background_fetch/background_fetch_manager.cc b/third_party/blink/renderer/modules/background_fetch/background_fetch_manager.cc
|
||||
--- a/third_party/blink/renderer/modules/background_fetch/background_fetch_manager.cc
|
||||
+++ b/third_party/blink/renderer/modules/background_fetch/background_fetch_manager.cc
|
||||
@@ -109,7 +109,6 @@ bool ShouldBlockDanglingMarkup(const KURL& request_url) {
|
||||
@@ -103,7 +103,6 @@ bool ShouldBlockDanglingMarkup(const KURL& request_url) {
|
||||
|
||||
bool ShouldBlockGateWayAttacks(ExecutionContext* execution_context,
|
||||
const KURL& request_url) {
|
||||
|
@ -135,7 +122,7 @@ diff --git a/third_party/blink/renderer/modules/background_fetch/background_fetc
|
|||
network::mojom::IPAddressSpace requestor_space =
|
||||
execution_context->AddressSpace();
|
||||
|
||||
@@ -126,7 +125,6 @@ bool ShouldBlockGateWayAttacks(ExecutionContext* execution_context,
|
||||
@@ -120,7 +119,6 @@ bool ShouldBlockGateWayAttacks(ExecutionContext* execution_context,
|
||||
bool is_external_request = requestor_space > target_space;
|
||||
if (is_external_request)
|
||||
return true;
|
||||
|
@ -146,7 +133,7 @@ diff --git a/third_party/blink/renderer/modules/background_fetch/background_fetc
|
|||
diff --git a/third_party/blink/renderer/modules/websockets/websocket_channel_impl.cc b/third_party/blink/renderer/modules/websockets/websocket_channel_impl.cc
|
||||
--- a/third_party/blink/renderer/modules/websockets/websocket_channel_impl.cc
|
||||
+++ b/third_party/blink/renderer/modules/websockets/websocket_channel_impl.cc
|
||||
@@ -277,6 +277,11 @@ bool WebSocketChannelImpl::Connect(const KURL& url, const String& protocol) {
|
||||
@@ -274,6 +274,11 @@ bool WebSocketChannelImpl::Connect(const KURL& url, const String& protocol) {
|
||||
return false;
|
||||
}
|
||||
|
||||
|
@ -161,7 +148,7 @@ diff --git a/third_party/blink/renderer/modules/websockets/websocket_channel_imp
|
|||
diff --git a/third_party/blink/renderer/modules/websockets/websocket_common.cc b/third_party/blink/renderer/modules/websockets/websocket_common.cc
|
||||
--- a/third_party/blink/renderer/modules/websockets/websocket_common.cc
|
||||
+++ b/third_party/blink/renderer/modules/websockets/websocket_common.cc
|
||||
@@ -79,6 +79,15 @@ WebSocketCommon::ConnectResult WebSocketCommon::Connect(
|
||||
@@ -124,9 +124,36 @@ WebSocketCommon::ConnectResult WebSocketCommon::Connect(
|
||||
return ConnectResult::kException;
|
||||
}
|
||||
|
||||
|
@ -170,14 +157,10 @@ diff --git a/third_party/blink/renderer/modules/websockets/websocket_common.cc b
|
|||
+ if (ShouldBlockGateWayAttacks(requestor_space, url_)) {
|
||||
+ state_ = kClosed;
|
||||
+ exception_state.ThrowSecurityError(
|
||||
+ "Access to this address is not allowed.");
|
||||
+ "Access to address of '" + url_.Host() + "' is not allowed from '" + execution_context->addressSpaceForBindings() + "' address space.");
|
||||
+ return ConnectResult::kException;
|
||||
+ }
|
||||
+
|
||||
if (!execution_context->GetContentSecurityPolicyForCurrentWorld()
|
||||
->AllowConnectToSource(url_, url_, RedirectStatus::kNoRedirect)) {
|
||||
state_ = kClosed;
|
||||
@@ -127,6 +136,24 @@ WebSocketCommon::ConnectResult WebSocketCommon::Connect(
|
||||
return ConnectResult::kSuccess;
|
||||
}
|
||||
|
||||
|
|
|
@ -104,7 +104,7 @@ diff --git a/components/url_formatter/url_fixer.cc b/components/url_formatter/ur
|
|||
diff --git a/content/browser/child_process_security_policy_impl.cc b/content/browser/child_process_security_policy_impl.cc
|
||||
--- a/content/browser/child_process_security_policy_impl.cc
|
||||
+++ b/content/browser/child_process_security_policy_impl.cc
|
||||
@@ -808,6 +808,7 @@ ChildProcessSecurityPolicyImpl::ChildProcessSecurityPolicyImpl()
|
||||
@@ -819,6 +819,7 @@ ChildProcessSecurityPolicyImpl::ChildProcessSecurityPolicyImpl()
|
||||
#endif // BUILDFLAG(ENABLE_WEBSOCKETS)
|
||||
RegisterWebSafeScheme(url::kFtpScheme);
|
||||
RegisterWebSafeScheme(url::kDataScheme);
|
||||
|
@ -196,11 +196,11 @@ diff --git a/net/url_request/url_request.cc b/net/url_request/url_request.cc
|
|||
@@ -13,6 +13,7 @@
|
||||
#include "base/metrics/histogram_macros.h"
|
||||
#include "base/rand_util.h"
|
||||
#include "base/stl_util.h"
|
||||
+#include "base/strings/string_util.h"
|
||||
#include "base/strings/utf_string_conversions.h"
|
||||
+#include "base/strings/string_util.h"
|
||||
#include "base/synchronization/lock.h"
|
||||
#include "base/threading/thread_task_runner_handle.h"
|
||||
#include "base/values.h"
|
||||
@@ -44,6 +45,7 @@
|
||||
#include "net/url_request/url_request_redirect_job.h"
|
||||
#include "url/gurl.h"
|
||||
|
@ -209,7 +209,7 @@ diff --git a/net/url_request/url_request.cc b/net/url_request/url_request.cc
|
|||
|
||||
using base::Time;
|
||||
using std::string;
|
||||
@@ -582,6 +584,12 @@ URLRequest::URLRequest(const GURL& url,
|
||||
@@ -580,6 +582,12 @@ URLRequest::URLRequest(const GURL& url,
|
||||
// Sanity check out environment.
|
||||
DCHECK(base::ThreadTaskRunnerHandle::IsSet());
|
||||
|
||||
|
@ -225,7 +225,7 @@ diff --git a/net/url_request/url_request.cc b/net/url_request/url_request.cc
|
|||
diff --git a/net/url_request/url_request_context_builder.cc b/net/url_request/url_request_context_builder.cc
|
||||
--- a/net/url_request/url_request_context_builder.cc
|
||||
+++ b/net/url_request/url_request_context_builder.cc
|
||||
@@ -45,6 +45,7 @@
|
||||
@@ -46,6 +46,7 @@
|
||||
#include "net/quic/quic_stream_factory.h"
|
||||
#include "net/ssl/ssl_config_service_defaults.h"
|
||||
#include "net/url_request/static_http_user_agent_settings.h"
|
||||
|
@ -233,7 +233,7 @@ diff --git a/net/url_request/url_request_context_builder.cc b/net/url_request/ur
|
|||
#include "net/url_request/url_request_context.h"
|
||||
#include "net/url_request/url_request_context_storage.h"
|
||||
#include "net/url_request/url_request_job_factory.h"
|
||||
@@ -606,6 +607,8 @@ std::unique_ptr<URLRequestContext> URLRequestContextBuilder::Build() {
|
||||
@@ -552,6 +553,8 @@ std::unique_ptr<URLRequestContext> URLRequestContextBuilder::Build() {
|
||||
job_factory->SetProtocolHandler(scheme_handler.first,
|
||||
std::move(scheme_handler.second));
|
||||
}
|
||||
|
@ -267,7 +267,7 @@ diff --git a/url/url_constants.h b/url/url_constants.h
|
|||
diff --git a/url/url_util.cc b/url/url_util.cc
|
||||
--- a/url/url_util.cc
|
||||
+++ b/url/url_util.cc
|
||||
@@ -34,6 +34,7 @@ struct SchemeRegistry {
|
||||
@@ -35,6 +35,7 @@ struct SchemeRegistry {
|
||||
std::vector<SchemeWithType> standard_schemes = {
|
||||
{kHttpsScheme, SCHEME_WITH_HOST_PORT_AND_USER_INFORMATION},
|
||||
{kHttpScheme, SCHEME_WITH_HOST_PORT_AND_USER_INFORMATION},
|
||||
|
@ -275,7 +275,7 @@ diff --git a/url/url_util.cc b/url/url_util.cc
|
|||
// Yes, file URLs can have a hostname, so file URLs should be handled as
|
||||
// "standard". File URLs never have a port as specified by the SchemeType
|
||||
// field. Unlike other SCHEME_WITH_HOST schemes, the 'host' in a file
|
||||
@@ -77,6 +78,7 @@ struct SchemeRegistry {
|
||||
@@ -78,6 +79,7 @@ struct SchemeRegistry {
|
||||
kAboutScheme,
|
||||
kJavaScriptScheme,
|
||||
kDataScheme,
|
||||
|
|
|
@ -12,7 +12,7 @@ Fix RestoreForeignSessionTab by recreating the tab (issue #681)
|
|||
chrome/android/chrome_java_resources.gni | 2 +
|
||||
chrome/android/chrome_java_sources.gni | 2 +
|
||||
.../java/res/layout/adblock_editor.xml | 67 +++++
|
||||
chrome/android/java/res/values/styles.xml | 17 ++
|
||||
chrome/android/java/res/values/styles.xml | 18 ++
|
||||
chrome/android/java/res/values/values.xml | 2 +
|
||||
.../java/res/xml/adblock_preferences.xml | 25 ++
|
||||
.../android/java/res/xml/main_preferences.xml | 5 +
|
||||
|
@ -33,10 +33,10 @@ Fix RestoreForeignSessionTab by recreating the tab (issue #681)
|
|||
.../strings/android_chrome_strings.grd | 14 +
|
||||
chrome/common/pref_names.cc | 3 +
|
||||
chrome/common/pref_names.h | 1 +
|
||||
components/component_updater/BUILD.gn | 6 +
|
||||
components/component_updater/BUILD.gn | 7 +
|
||||
.../adblock_updater_service.cc | 272 ++++++++++++++++++
|
||||
.../adblock_updater_service.h | 99 +++++++
|
||||
.../download_filters_task.cc | 222 ++++++++++++++
|
||||
.../download_filters_task.cc | 224 +++++++++++++++
|
||||
.../component_updater/download_filters_task.h | 129 +++++++++
|
||||
...ent_subresource_filter_throttle_manager.cc | 11 +
|
||||
.../content/browser/ruleset_service.cc | 33 ++-
|
||||
|
@ -47,7 +47,7 @@ Fix RestoreForeignSessionTab by recreating the tab (issue #681)
|
|||
.../core/common/common_features.cc | 2 +-
|
||||
.../core/common/indexed_ruleset.cc | 5 +-
|
||||
.../navigation_throttle_runner.cc | 5 -
|
||||
38 files changed, 1154 insertions(+), 140 deletions(-)
|
||||
38 files changed, 1158 insertions(+), 140 deletions(-)
|
||||
create mode 100644 chrome/android/java/res/layout/adblock_editor.xml
|
||||
create mode 100644 chrome/android/java/res/xml/adblock_preferences.xml
|
||||
create mode 100644 chrome/android/java/src/org/chromium/chrome/browser/settings/AdBlockEditor.java
|
||||
|
@ -60,15 +60,15 @@ Fix RestoreForeignSessionTab by recreating the tab (issue #681)
|
|||
diff --git a/chrome/android/chrome_java_resources.gni b/chrome/android/chrome_java_resources.gni
|
||||
--- a/chrome/android/chrome_java_resources.gni
|
||||
+++ b/chrome/android/chrome_java_resources.gni
|
||||
@@ -666,6 +666,7 @@ chrome_java_resources = [
|
||||
@@ -566,6 +566,7 @@ chrome_java_resources = [
|
||||
"java/res/layout/account_chooser_dialog_title.xml",
|
||||
"java/res/layout/account_divider_preference.xml",
|
||||
"java/res/layout/account_management_account_row.xml",
|
||||
+ "java/res/layout/adblock_editor.xml",
|
||||
"java/res/layout/assistant_voice_search_consent_ui.xml",
|
||||
+ "java/res/layout/adblock_editor.xml",
|
||||
"java/res/layout/auto_sign_in_first_run_dialog.xml",
|
||||
"java/res/layout/autofill_billing_address_dropdown.xml",
|
||||
@@ -891,6 +892,7 @@ chrome_java_resources = [
|
||||
"java/res/layout/autofill_card_unmask_prompt.xml",
|
||||
@@ -776,6 +777,7 @@ chrome_java_resources = [
|
||||
"java/res/xml/about_chrome_preferences.xml",
|
||||
"java/res/xml/accessibility_preferences.xml",
|
||||
"java/res/xml/account_management_preferences.xml",
|
||||
|
@ -79,15 +79,15 @@ diff --git a/chrome/android/chrome_java_resources.gni b/chrome/android/chrome_ja
|
|||
diff --git a/chrome/android/chrome_java_sources.gni b/chrome/android/chrome_java_sources.gni
|
||||
--- a/chrome/android/chrome_java_sources.gni
|
||||
+++ b/chrome/android/chrome_java_sources.gni
|
||||
@@ -1108,6 +1108,8 @@ chrome_java_sources = [
|
||||
@@ -991,6 +991,8 @@ chrome_java_sources = [
|
||||
"java/src/org/chromium/chrome/browser/payments/ui/ShoppingCart.java",
|
||||
"java/src/org/chromium/chrome/browser/permissions/PermissionSettingsBridge.java",
|
||||
"java/src/org/chromium/chrome/browser/photo_picker/DecoderServiceImpl.java",
|
||||
+ "java/src/org/chromium/chrome/browser/settings/AdBlockEditor.java",
|
||||
+ "java/src/org/chromium/chrome/browser/settings/AdBlockPreferences.java",
|
||||
"java/src/org/chromium/chrome/browser/policy/EnterpriseInfo.java",
|
||||
"java/src/org/chromium/chrome/browser/policy/PolicyAuditor.java",
|
||||
"java/src/org/chromium/chrome/browser/prerender/ChromePrerenderServiceImpl.java",
|
||||
"java/src/org/chromium/chrome/browser/previews/HttpsImageCompressionUtils.java",
|
||||
diff --git a/chrome/android/java/res/layout/adblock_editor.xml b/chrome/android/java/res/layout/adblock_editor.xml
|
||||
new file mode 100644
|
||||
--- /dev/null
|
||||
|
@ -163,10 +163,10 @@ new file mode 100644
|
|||
diff --git a/chrome/android/java/res/values/styles.xml b/chrome/android/java/res/values/styles.xml
|
||||
--- a/chrome/android/java/res/values/styles.xml
|
||||
+++ b/chrome/android/java/res/values/styles.xml
|
||||
@@ -208,6 +208,23 @@
|
||||
<item name="android:layout_height">0dp</item>
|
||||
<item name="android:layout_weight">1</item>
|
||||
@@ -199,6 +199,24 @@
|
||||
</item>
|
||||
</style>
|
||||
|
||||
+ <style name="ButtonBarTopSpacer" parent="ButtonBarTopSpacerLight">
|
||||
+ <item name="android:minHeight">5dp</item>
|
||||
+ </style>
|
||||
|
@ -184,15 +184,16 @@ diff --git a/chrome/android/java/res/values/styles.xml b/chrome/android/java/res
|
|||
+ <item name="android:paddingStart">4dp</item>
|
||||
+ <item name="android:paddingEnd">4dp</item>
|
||||
+ </style>
|
||||
<style name="ButtonBarTopDivider">
|
||||
<item name="android:layout_width">match_parent</item>
|
||||
<item name="android:layout_height">1dp</item>
|
||||
+
|
||||
<!-- Button bar styles -->
|
||||
<style name="ButtonBarTopSpacerLight">
|
||||
<item name="android:layout_width">0dp</item>
|
||||
diff --git a/chrome/android/java/res/values/values.xml b/chrome/android/java/res/values/values.xml
|
||||
--- a/chrome/android/java/res/values/values.xml
|
||||
+++ b/chrome/android/java/res/values/values.xml
|
||||
@@ -29,6 +29,8 @@
|
||||
<integer name="reload_button_level_reload">0</integer>
|
||||
<integer name="reload_button_level_stop">1</integer>
|
||||
@@ -25,6 +25,8 @@
|
||||
<!-- Compositor Tab Title Text -->
|
||||
<bool name="compositor_tab_title_fake_bold_text">true</bool>
|
||||
|
||||
+ <string name="adblock_help_url">https://www.bromite.org/custom-filters</string>
|
||||
+
|
||||
|
@ -232,9 +233,9 @@ new file mode 100644
|
|||
diff --git a/chrome/android/java/res/xml/main_preferences.xml b/chrome/android/java/res/xml/main_preferences.xml
|
||||
--- a/chrome/android/java/res/xml/main_preferences.xml
|
||||
+++ b/chrome/android/java/res/xml/main_preferences.xml
|
||||
@@ -61,6 +61,11 @@
|
||||
@@ -42,6 +42,11 @@
|
||||
android:key="privacy"
|
||||
android:order="12"
|
||||
android:order="10"
|
||||
android:title="@string/prefs_privacy_security"/>
|
||||
+ <Preference
|
||||
+ android:fragment="org.chromium.chrome.browser.settings.AdBlockPreferences"
|
||||
|
@ -243,7 +244,7 @@ diff --git a/chrome/android/java/res/xml/main_preferences.xml b/chrome/android/j
|
|||
+ android:title="@string/prefs_adblock"/>
|
||||
<Preference
|
||||
android:key="notifications"
|
||||
android:order="14"
|
||||
android:order="12"
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/AdBlockEditor.java b/chrome/android/java/src/org/chromium/chrome/browser/settings/AdBlockEditor.java
|
||||
new file mode 100644
|
||||
--- /dev/null
|
||||
|
@ -357,7 +358,7 @@ new file mode 100644
|
|||
+import androidx.preference.PreferenceFragmentCompat;
|
||||
+import org.chromium.components.browser_ui.settings.ChromeSwitchPreference;
|
||||
+
|
||||
+import org.chromium.components.embedder_support.browser_context.BrowserContextHandle;
|
||||
+import org.chromium.content_public.browser.BrowserContextHandle;
|
||||
+import org.chromium.components.browser_ui.site_settings.SiteSettingsPreferenceFragment;
|
||||
+import org.chromium.components.browser_ui.site_settings.WebsitePreferenceBridge;
|
||||
+import org.chromium.components.content_settings.ContentSettingsType;
|
||||
|
@ -422,7 +423,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabMod
|
|||
diff --git a/chrome/app/generated_resources.grd b/chrome/app/generated_resources.grd
|
||||
--- a/chrome/app/generated_resources.grd
|
||||
+++ b/chrome/app/generated_resources.grd
|
||||
@@ -10516,6 +10516,16 @@ Please help our engineers fix this problem. Tell us what happened right before y
|
||||
@@ -10805,6 +10805,16 @@ Please help our engineers fix this problem. Tell us what happened right before y
|
||||
Never show this again.
|
||||
</message>
|
||||
|
||||
|
@ -472,7 +473,7 @@ diff --git a/chrome/browser/browser_process.h b/chrome/browser/browser_process.h
|
|||
|
||||
class BackgroundModeManager;
|
||||
class BrowserProcessPlatformPart;
|
||||
@@ -66,6 +67,10 @@ namespace component_updater {
|
||||
@@ -67,6 +68,10 @@ namespace component_updater {
|
||||
class ComponentUpdateService;
|
||||
}
|
||||
|
||||
|
@ -483,7 +484,7 @@ diff --git a/chrome/browser/browser_process.h b/chrome/browser/browser_process.h
|
|||
namespace extensions {
|
||||
class EventRouterForwarder;
|
||||
}
|
||||
@@ -233,6 +238,7 @@ class BrowserProcess {
|
||||
@@ -234,6 +239,7 @@ class BrowserProcess {
|
||||
#endif
|
||||
|
||||
virtual component_updater::ComponentUpdateService* component_updater() = 0;
|
||||
|
@ -494,7 +495,7 @@ diff --git a/chrome/browser/browser_process.h b/chrome/browser/browser_process.h
|
|||
diff --git a/chrome/browser/browser_process_impl.cc b/chrome/browser/browser_process_impl.cc
|
||||
--- a/chrome/browser/browser_process_impl.cc
|
||||
+++ b/chrome/browser/browser_process_impl.cc
|
||||
@@ -1018,6 +1018,26 @@ BrowserProcessImpl::component_updater() {
|
||||
@@ -1053,6 +1053,26 @@ BrowserProcessImpl::component_updater() {
|
||||
return component_updater_.get();
|
||||
}
|
||||
|
||||
|
@ -524,7 +525,7 @@ diff --git a/chrome/browser/browser_process_impl.cc b/chrome/browser/browser_pro
|
|||
diff --git a/chrome/browser/browser_process_impl.h b/chrome/browser/browser_process_impl.h
|
||||
--- a/chrome/browser/browser_process_impl.h
|
||||
+++ b/chrome/browser/browser_process_impl.h
|
||||
@@ -189,6 +189,7 @@ class BrowserProcessImpl : public BrowserProcess,
|
||||
@@ -194,6 +194,7 @@ class BrowserProcessImpl : public BrowserProcess,
|
||||
#endif
|
||||
|
||||
component_updater::ComponentUpdateService* component_updater() override;
|
||||
|
@ -532,18 +533,18 @@ diff --git a/chrome/browser/browser_process_impl.h b/chrome/browser/browser_proc
|
|||
MediaFileSystemRegistry* media_file_system_registry() override;
|
||||
WebRtcLogUploader* webrtc_log_uploader() override;
|
||||
network_time::NetworkTimeTracker* network_time_tracker() override;
|
||||
@@ -369,6 +370,7 @@ class BrowserProcessImpl : public BrowserProcess,
|
||||
@@ -378,6 +379,7 @@ class BrowserProcessImpl : public BrowserProcess,
|
||||
// to concerns over integrity of data shared between profiles,
|
||||
// but some users of component updater only install per-user.
|
||||
std::unique_ptr<component_updater::ComponentUpdateService> component_updater_;
|
||||
+ std::unique_ptr<adblock_updater::AdBlockUpdaterService> adblock_updater_;
|
||||
|
||||
#if BUILDFLAG(ENABLE_PLUGINS)
|
||||
std::unique_ptr<PluginsResourceService> plugins_resource_service_;
|
||||
#if !defined(OS_ANDROID) && !BUILDFLAG(IS_CHROMEOS_ASH)
|
||||
// Used to create a singleton instance of SodaInstallerImpl, which can be
|
||||
diff --git a/chrome/browser/chrome_browser_main.cc b/chrome/browser/chrome_browser_main.cc
|
||||
--- a/chrome/browser/chrome_browser_main.cc
|
||||
+++ b/chrome/browser/chrome_browser_main.cc
|
||||
@@ -1648,6 +1648,8 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() {
|
||||
@@ -1626,6 +1626,8 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() {
|
||||
speech::SodaInstaller::GetInstance()->Init(profile_->GetPrefs(),
|
||||
browser_process_->local_state());
|
||||
#endif // !defined(OS_ANDROID) && !BUILDFLAG(IS_CHROMEOS_ASH)
|
||||
|
@ -555,15 +556,15 @@ diff --git a/chrome/browser/chrome_browser_main.cc b/chrome/browser/chrome_brows
|
|||
diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/chrome_content_browser_client.cc
|
||||
--- a/chrome/browser/chrome_content_browser_client.cc
|
||||
+++ b/chrome/browser/chrome_content_browser_client.cc
|
||||
@@ -75,7 +75,6 @@
|
||||
@@ -61,7 +61,6 @@
|
||||
#include "chrome/browser/hid/chrome_hid_delegate.h"
|
||||
#include "chrome/browser/interstitials/enterprise_util.h"
|
||||
#include "chrome/browser/lifetime/application_lifetime.h"
|
||||
#include "chrome/browser/lifetime/browser_shutdown.h"
|
||||
-#include "chrome/browser/lookalikes/lookalike_url_navigation_throttle.h"
|
||||
#include "chrome/browser/media/audio_service_util.h"
|
||||
#include "chrome/browser/media/router/media_router_feature.h"
|
||||
#include "chrome/browser/media/webrtc/audio_debug_recordings_handler.h"
|
||||
@@ -3989,16 +3988,6 @@ ChromeContentBrowserClient::CreateThrottlesForNavigation(
|
||||
@@ -3907,16 +3906,6 @@ ChromeContentBrowserClient::CreateThrottlesForNavigation(
|
||||
content::NavigationHandle* handle) {
|
||||
std::vector<std::unique_ptr<content::NavigationThrottle>> throttles;
|
||||
|
||||
|
@ -580,7 +581,7 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch
|
|||
#if BUILDFLAG(IS_CHROMEOS_ASH)
|
||||
MaybeAddThrottle(
|
||||
ash::WebTimeLimitNavigationThrottle::MaybeCreateThrottleFor(handle),
|
||||
@@ -4103,10 +4092,6 @@ ChromeContentBrowserClient::CreateThrottlesForNavigation(
|
||||
@@ -4022,10 +4011,6 @@ ChromeContentBrowserClient::CreateThrottlesForNavigation(
|
||||
&throttles);
|
||||
#endif
|
||||
|
||||
|
@ -590,7 +591,7 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch
|
|||
-
|
||||
MaybeAddThrottle(PDFIFrameNavigationThrottle::MaybeCreateThrottleFor(handle),
|
||||
&throttles);
|
||||
|
||||
#if BUILDFLAG(ENABLE_PDF)
|
||||
diff --git a/chrome/browser/flags/android/cached_feature_flags.cc b/chrome/browser/flags/android/cached_feature_flags.cc
|
||||
--- a/chrome/browser/flags/android/cached_feature_flags.cc
|
||||
+++ b/chrome/browser/flags/android/cached_feature_flags.cc
|
||||
|
@ -634,7 +635,7 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f
|
|||
/**
|
||||
* Caches flags that must take effect on startup but are set via native code.
|
||||
*/
|
||||
@@ -431,5 +439,7 @@ public class CachedFeatureFlags {
|
||||
@@ -470,5 +478,7 @@ public class CachedFeatureFlags {
|
||||
@NativeMethods
|
||||
interface Natives {
|
||||
boolean isNetworkServiceWarmUpEnabled();
|
||||
|
@ -645,7 +646,7 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f
|
|||
diff --git a/chrome/browser/net/system_network_context_manager.cc b/chrome/browser/net/system_network_context_manager.cc
|
||||
--- a/chrome/browser/net/system_network_context_manager.cc
|
||||
+++ b/chrome/browser/net/system_network_context_manager.cc
|
||||
@@ -337,6 +337,8 @@ SystemNetworkContextManager::SystemNetworkContextManager(
|
||||
@@ -349,6 +349,8 @@ SystemNetworkContextManager::SystemNetworkContextManager(
|
||||
SSLConfigServiceManager::CreateDefaultManager(local_state_)),
|
||||
proxy_config_monitor_(local_state_),
|
||||
stub_resolver_config_reader_(local_state_) {
|
||||
|
@ -654,7 +655,7 @@ diff --git a/chrome/browser/net/system_network_context_manager.cc b/chrome/brows
|
|||
#if !defined(OS_ANDROID)
|
||||
// QuicAllowed was not part of Android policy.
|
||||
const base::Value* value =
|
||||
@@ -407,6 +409,8 @@ SystemNetworkContextManager::~SystemNetworkContextManager() {
|
||||
@@ -419,6 +421,8 @@ SystemNetworkContextManager::~SystemNetworkContextManager() {
|
||||
void SystemNetworkContextManager::RegisterPrefs(PrefRegistrySimple* registry) {
|
||||
StubResolverConfigReader::RegisterPrefs(registry);
|
||||
|
||||
|
@ -704,7 +705,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro
|
|||
diff --git a/chrome/common/pref_names.cc b/chrome/common/pref_names.cc
|
||||
--- a/chrome/common/pref_names.cc
|
||||
+++ b/chrome/common/pref_names.cc
|
||||
@@ -2161,6 +2161,9 @@ const char kAudioCaptureAllowed[] = "hardware.audio_capture_enabled";
|
||||
@@ -2188,6 +2188,9 @@ const char kAudioCaptureAllowed[] = "hardware.audio_capture_enabled";
|
||||
// capture devices without prompt.
|
||||
const char kAudioCaptureAllowedUrls[] = "hardware.audio_capture_allowed_urls";
|
||||
|
||||
|
@ -722,9 +723,9 @@ diff --git a/chrome/common/pref_names.h b/chrome/common/pref_names.h
|
|||
extern const char kHomePageIsNewTabPage[];
|
||||
extern const char kHomePage[];
|
||||
+extern const char kAdBlockFiltersURL[];
|
||||
extern const char kHttpsOnlyModeEnabled[];
|
||||
extern const char kImportantSitesDialogHistory[];
|
||||
extern const char kProfileCreationTime[];
|
||||
#if defined(OS_WIN)
|
||||
diff --git a/components/component_updater/BUILD.gn b/components/component_updater/BUILD.gn
|
||||
--- a/components/component_updater/BUILD.gn
|
||||
+++ b/components/component_updater/BUILD.gn
|
||||
|
@ -741,6 +742,14 @@ diff --git a/components/component_updater/BUILD.gn b/components/component_update
|
|||
"component_updater_service.cc",
|
||||
"component_updater_service.h",
|
||||
"component_updater_service_internal.h",
|
||||
@@ -36,6 +42,7 @@ static_library("component_updater") {
|
||||
"//components/crx_file",
|
||||
"//components/update_client",
|
||||
"//components/version_info",
|
||||
+ "//services/network/public/mojom",
|
||||
"//third_party/boringssl:boringssl",
|
||||
"//ui/base",
|
||||
"//url",
|
||||
diff --git a/components/component_updater/adblock_updater_service.cc b/components/component_updater/adblock_updater_service.cc
|
||||
new file mode 100644
|
||||
--- /dev/null
|
||||
|
@ -1126,7 +1135,7 @@ diff --git a/components/component_updater/download_filters_task.cc b/components/
|
|||
new file mode 100644
|
||||
--- /dev/null
|
||||
+++ b/components/component_updater/download_filters_task.cc
|
||||
@@ -0,0 +1,222 @@
|
||||
@@ -0,0 +1,224 @@
|
||||
+/*
|
||||
+ This file is part of Bromite.
|
||||
+
|
||||
|
@ -1154,6 +1163,8 @@ new file mode 100644
|
|||
+#include "base/logging.h"
|
||||
+#include "net/base/load_flags.h"
|
||||
+#include "url/gurl.h"
|
||||
+#include "services/network/public/cpp/resource_request.h"
|
||||
+#include "services/network/public/mojom/url_response_head.mojom.h"
|
||||
+
|
||||
+namespace adblock_updater {
|
||||
+
|
||||
|
@ -1486,7 +1497,7 @@ new file mode 100644
|
|||
diff --git a/components/subresource_filter/content/browser/content_subresource_filter_throttle_manager.cc b/components/subresource_filter/content/browser/content_subresource_filter_throttle_manager.cc
|
||||
--- a/components/subresource_filter/content/browser/content_subresource_filter_throttle_manager.cc
|
||||
+++ b/components/subresource_filter/content/browser/content_subresource_filter_throttle_manager.cc
|
||||
@@ -564,6 +564,17 @@ ContentSubresourceFilterThrottleManager::
|
||||
@@ -651,6 +651,17 @@ ContentSubresourceFilterThrottleManager::
|
||||
throttle->NotifyPageActivationWithRuleset(EnsureRulesetHandle(),
|
||||
ad_tagging_state);
|
||||
}
|
||||
|
@ -1622,7 +1633,7 @@ diff --git a/components/subresource_filter/content/browser/ruleset_service.cc b/
|
|||
diff --git a/components/subresource_filter/content/browser/ruleset_service.h b/components/subresource_filter/content/browser/ruleset_service.h
|
||||
--- a/components/subresource_filter/content/browser/ruleset_service.h
|
||||
+++ b/components/subresource_filter/content/browser/ruleset_service.h
|
||||
@@ -181,7 +181,7 @@ class RulesetService : public base::SupportsWeakPtr<RulesetService> {
|
||||
@@ -180,7 +180,7 @@ class RulesetService : public base::SupportsWeakPtr<RulesetService> {
|
||||
//
|
||||
// Virtual so that it can be mocked out in tests.
|
||||
virtual void IndexAndStoreAndPublishRulesetIfNeeded(
|
||||
|
@ -1631,7 +1642,7 @@ diff --git a/components/subresource_filter/content/browser/ruleset_service.h b/c
|
|||
|
||||
// Get the ruleset version associated with the current local_state_.
|
||||
IndexedRulesetVersion GetMostRecentlyIndexedVersion() const;
|
||||
@@ -214,6 +214,11 @@ class RulesetService : public base::SupportsWeakPtr<RulesetService> {
|
||||
@@ -213,6 +213,11 @@ class RulesetService : public base::SupportsWeakPtr<RulesetService> {
|
||||
const base::FilePath& indexed_ruleset_base_dir,
|
||||
const UnindexedRulesetInfo& unindexed_ruleset_info);
|
||||
|
||||
|
@ -1681,7 +1692,7 @@ diff --git a/components/subresource_filter/content/browser/verified_ruleset_deal
|
|||
diff --git a/components/subresource_filter/core/browser/subresource_filter_features.cc b/components/subresource_filter/core/browser/subresource_filter_features.cc
|
||||
--- a/components/subresource_filter/core/browser/subresource_filter_features.cc
|
||||
+++ b/components/subresource_filter/core/browser/subresource_filter_features.cc
|
||||
@@ -53,69 +53,7 @@ class CommaSeparatedStrings {
|
||||
@@ -54,69 +54,7 @@ class CommaSeparatedStrings {
|
||||
DISALLOW_COPY_AND_ASSIGN(CommaSeparatedStrings);
|
||||
};
|
||||
|
||||
|
@ -1752,7 +1763,7 @@ diff --git a/components/subresource_filter/core/browser/subresource_filter_featu
|
|||
// If ad tagging is enabled, turn on the dryrun automatically.
|
||||
bool ad_tagging_enabled = base::FeatureList::IsEnabled(kAdTagging);
|
||||
const struct {
|
||||
@@ -123,23 +61,16 @@ std::vector<Configuration> FillEnabledPresetConfigurations(
|
||||
@@ -124,23 +62,16 @@ std::vector<Configuration> FillEnabledPresetConfigurations(
|
||||
bool enabled_by_default;
|
||||
Configuration (*factory_method)();
|
||||
} kAvailablePresetConfigurations[] = {
|
||||
|
@ -1778,7 +1789,7 @@ diff --git a/components/subresource_filter/core/browser/subresource_filter_featu
|
|||
enabled_configurations.push_back(available_preset.factory_method());
|
||||
}
|
||||
}
|
||||
@@ -147,46 +78,10 @@ std::vector<Configuration> FillEnabledPresetConfigurations(
|
||||
@@ -148,46 +79,10 @@ std::vector<Configuration> FillEnabledPresetConfigurations(
|
||||
return enabled_configurations;
|
||||
}
|
||||
|
||||
|
|
929
build/patches/Bromite-auto-updater.patch
Normal file
929
build/patches/Bromite-auto-updater.patch
Normal file
|
@ -0,0 +1,929 @@
|
|||
From: uazo <uazo@users.noreply.github.com>
|
||||
Date: Thu, 7 Oct 2021 14:27:12 +0000
|
||||
Subject: Bromite auto updater
|
||||
|
||||
Enable checking for new versions, with notifications and proxy support
|
||||
---
|
||||
.../java/templates/BuildConfig.template | 2 +
|
||||
build/config/android/rules.gni | 3 +
|
||||
chrome/android/chrome_java_sources.gni | 1 +
|
||||
.../java/res/xml/about_chrome_preferences.xml | 5 +
|
||||
.../about_settings/AboutChromeSettings.java | 28 ++-
|
||||
.../chrome/browser/omaha/OmahaBase.java | 47 +++-
|
||||
.../chrome/browser/omaha/UpdateConfigs.java | 6 +-
|
||||
.../browser/omaha/UpdateStatusProvider.java | 33 ++-
|
||||
.../browser/omaha/VersionNumberGetter.java | 3 +-
|
||||
.../inline/BromiteInlineUpdateController.java | 204 ++++++++++++++++++
|
||||
.../inline/InlineUpdateControllerFactory.java | 8 +-
|
||||
chrome/browser/endpoint_fetcher/BUILD.gn | 2 +
|
||||
.../endpoint_fetcher/endpoint_fetcher.cc | 129 +++++++++++
|
||||
.../endpoint_fetcher/endpoint_fetcher.h | 23 +-
|
||||
.../endpoint_fetcher/EndpointFetcher.java | 11 +
|
||||
.../EndpointHeaderResponse.java | 31 +++
|
||||
chrome/browser/flag-metadata.json | 2 +-
|
||||
chrome/browser/flag_descriptions.cc | 5 +-
|
||||
.../flags/android/chrome_feature_list.cc | 2 +-
|
||||
.../strings/android_chrome_strings.grd | 8 +-
|
||||
20 files changed, 516 insertions(+), 37 deletions(-)
|
||||
create mode 100644 chrome/android/java/src/org/chromium/chrome/browser/omaha/inline/BromiteInlineUpdateController.java
|
||||
create mode 100644 chrome/browser/endpoint_fetcher/java/src/org/chromium/chrome/browser/endpoint_fetcher/EndpointHeaderResponse.java
|
||||
|
||||
diff --git a/build/android/java/templates/BuildConfig.template b/build/android/java/templates/BuildConfig.template
|
||||
--- a/build/android/java/templates/BuildConfig.template
|
||||
+++ b/build/android/java/templates/BuildConfig.template
|
||||
@@ -92,4 +92,6 @@ public class BuildConfig {
|
||||
#else
|
||||
public static MAYBE_FINAL boolean ISOLATED_SPLITS_ENABLED MAYBE_FALSE;
|
||||
#endif
|
||||
+
|
||||
+ public static MAYBE_FINAL String BUILD_TARGET_CPU = _BUILD_TARGET_CPU;
|
||||
}
|
||||
diff --git a/build/config/android/rules.gni b/build/config/android/rules.gni
|
||||
--- a/build/config/android/rules.gni
|
||||
+++ b/build/config/android/rules.gni
|
||||
@@ -1967,6 +1967,9 @@ if (enable_java_templates) {
|
||||
]
|
||||
}
|
||||
}
|
||||
+
|
||||
+ # add arch to org.chromium.build.BuildConfig
|
||||
+ defines += [ "_BUILD_TARGET_CPU=\"${target_cpu}\"" ]
|
||||
}
|
||||
}
|
||||
|
||||
diff --git a/chrome/android/chrome_java_sources.gni b/chrome/android/chrome_java_sources.gni
|
||||
--- a/chrome/android/chrome_java_sources.gni
|
||||
+++ b/chrome/android/chrome_java_sources.gni
|
||||
@@ -887,6 +887,7 @@ chrome_java_sources = [
|
||||
"java/src/org/chromium/chrome/browser/omaha/inline/InlineUpdateController.java",
|
||||
"java/src/org/chromium/chrome/browser/omaha/inline/InlineUpdateControllerFactory.java",
|
||||
"java/src/org/chromium/chrome/browser/omaha/inline/NoopInlineUpdateController.java",
|
||||
+ "java/src/org/chromium/chrome/browser/omaha/inline/BromiteInlineUpdateController.java",
|
||||
"java/src/org/chromium/chrome/browser/omaha/inline/PlayInlineUpdateController.java",
|
||||
"java/src/org/chromium/chrome/browser/omaha/metrics/HistogramUtils.java",
|
||||
"java/src/org/chromium/chrome/browser/omaha/metrics/TrackingProvider.java",
|
||||
diff --git a/chrome/android/java/res/xml/about_chrome_preferences.xml b/chrome/android/java/res/xml/about_chrome_preferences.xml
|
||||
--- a/chrome/android/java/res/xml/about_chrome_preferences.xml
|
||||
+++ b/chrome/android/java/res/xml/about_chrome_preferences.xml
|
||||
@@ -7,6 +7,11 @@
|
||||
<Preference
|
||||
android:key="application_version"
|
||||
android:title="@string/application_version_title" />
|
||||
+ <org.chromium.components.browser_ui.settings.ChromeSwitchPreference
|
||||
+ android:key="allow_inline_update"
|
||||
+ android:title="@string/allow_inline_update_title"
|
||||
+ android:summary="@string/allow_inline_update_summary"
|
||||
+ android:defaultValue="false" />
|
||||
<org.chromium.chrome.browser.about_settings.AboutChromePreferenceOSVersion
|
||||
android:key="os_version"
|
||||
android:title="@string/os_version_title" />
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/about_settings/AboutChromeSettings.java b/chrome/android/java/src/org/chromium/chrome/browser/about_settings/AboutChromeSettings.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/about_settings/AboutChromeSettings.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/about_settings/AboutChromeSettings.java
|
||||
@@ -21,14 +21,20 @@ import org.chromium.ui.widget.Toast;
|
||||
|
||||
import java.util.Calendar;
|
||||
|
||||
+import android.content.SharedPreferences;
|
||||
+import org.chromium.chrome.browser.omaha.OmahaBase;
|
||||
+import org.chromium.components.browser_ui.settings.ChromeSwitchPreference;
|
||||
+
|
||||
/**
|
||||
* Settings fragment that displays information about Chrome.
|
||||
*/
|
||||
public class AboutChromeSettings
|
||||
- extends PreferenceFragmentCompat implements Preference.OnPreferenceClickListener {
|
||||
+ extends PreferenceFragmentCompat implements Preference.OnPreferenceClickListener,
|
||||
+ Preference.OnPreferenceChangeListener {
|
||||
private static final int TAPS_FOR_DEVELOPER_SETTINGS = 7;
|
||||
|
||||
private static final String PREF_APPLICATION_VERSION = "application_version";
|
||||
+ private static final String PREF_ALLOW_INLINE_UPDATE = "allow_inline_update";
|
||||
private static final String PREF_OS_VERSION = "os_version";
|
||||
private static final String PREF_LEGAL_INFORMATION = "legal_information";
|
||||
|
||||
@@ -59,6 +65,13 @@ public class AboutChromeSettings
|
||||
p = findPreference(PREF_LEGAL_INFORMATION);
|
||||
int currentYear = Calendar.getInstance().get(Calendar.YEAR);
|
||||
p.setSummary(getString(R.string.legal_information_summary, currentYear));
|
||||
+
|
||||
+ ChromeSwitchPreference allowInlineUpdate =
|
||||
+ (ChromeSwitchPreference) findPreference(PREF_ALLOW_INLINE_UPDATE);
|
||||
+ allowInlineUpdate.setChecked(
|
||||
+ OmahaBase.getSharedPreferences()
|
||||
+ .getBoolean(OmahaBase.PREF_ALLOW_INLINE_UPDATE, false));
|
||||
+ allowInlineUpdate.setOnPreferenceChangeListener(this);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -122,4 +135,17 @@ public class AboutChromeSettings
|
||||
}
|
||||
return true;
|
||||
}
|
||||
+
|
||||
+ @Override
|
||||
+ public boolean onPreferenceChange(Preference preference, Object newValue) {
|
||||
+ String key = preference.getKey();
|
||||
+ if (PREF_ALLOW_INLINE_UPDATE.equals(key)) {
|
||||
+ SharedPreferences.Editor sharedPreferenceEditor = OmahaBase.getSharedPreferences().edit();
|
||||
+ sharedPreferenceEditor.putBoolean(OmahaBase.PREF_ALLOW_INLINE_UPDATE, (boolean) newValue);
|
||||
+ sharedPreferenceEditor.apply();
|
||||
+
|
||||
+ OmahaBase.resetUpdatePrefs();
|
||||
+ }
|
||||
+ return true;
|
||||
+ }
|
||||
}
|
||||
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
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/omaha/OmahaBase.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/omaha/OmahaBase.java
|
||||
@@ -31,6 +31,8 @@ import java.net.HttpURLConnection;
|
||||
import java.net.URL;
|
||||
import java.util.Date;
|
||||
|
||||
+import org.chromium.build.BuildConfig;
|
||||
+
|
||||
/**
|
||||
* Keeps tabs on the current state of Chrome, tracking if and when a request should be sent to the
|
||||
* Omaha Server.
|
||||
@@ -97,7 +99,9 @@ public class OmahaBase {
|
||||
static final String PREF_TIMESTAMP_FOR_NEW_REQUEST = "timestampForNewRequest";
|
||||
static final String PREF_TIMESTAMP_FOR_NEXT_POST_ATTEMPT = "timestampForNextPostAttempt";
|
||||
static final String PREF_TIMESTAMP_OF_INSTALL = "timestampOfInstall";
|
||||
- static final String PREF_TIMESTAMP_OF_REQUEST = "timestampOfRequest";
|
||||
+ public static final String PREF_TIMESTAMP_OF_REQUEST = "timestampOfRequest";
|
||||
+ public static final String PREF_LATEST_MODIFIED_VERSION = "latestModifiedVersion";
|
||||
+ public static final String PREF_ALLOW_INLINE_UPDATE = "allowInlineUpdate";
|
||||
|
||||
static final int MIN_API_JOB_SCHEDULER = Build.VERSION_CODES.M;
|
||||
|
||||
@@ -158,7 +162,8 @@ public class OmahaBase {
|
||||
|
||||
/** See {@link #sIsDisabled}. */
|
||||
static boolean isDisabled() {
|
||||
- return sIsDisabled;
|
||||
+ // do not enable version control via Omaha Update Server
|
||||
+ return true;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -630,4 +635,42 @@ public class OmahaBase {
|
||||
// updateStatus is only used for the on-demand check.
|
||||
null);
|
||||
}
|
||||
+
|
||||
+ public static boolean isNewVersionAvailableByVersion(String latestVersionString) {
|
||||
+ VersionNumber mCurrentProductVersion = VersionNumber.fromString(ChromeVersionInfo.getProductVersion());
|
||||
+ if (mCurrentProductVersion == null) {
|
||||
+ Log.e(TAG, "BromiteUpdater: current product version is null");
|
||||
+ return false;
|
||||
+ }
|
||||
+
|
||||
+ VersionNumber latestVersion = VersionNumber.fromString(latestVersionString);
|
||||
+ if (latestVersion == null) {
|
||||
+ Log.e(TAG, "BromiteUpdater: invalid latest version '%s'", latestVersionString);
|
||||
+ return false;
|
||||
+ }
|
||||
+
|
||||
+ Log.i(TAG, "BromiteUpdater: currentProductVersion=%s, latestVersion=%s",
|
||||
+ mCurrentProductVersion.toString(), latestVersion.toString());
|
||||
+
|
||||
+ return mCurrentProductVersion.isSmallerThan(latestVersion);
|
||||
+ }
|
||||
+
|
||||
+ public static void updateLastPushedTimeStamp(long timeMillis) {
|
||||
+ SharedPreferences preferences = OmahaBase.getSharedPreferences();
|
||||
+ SharedPreferences.Editor editor = preferences.edit();
|
||||
+ editor.putLong(OmahaBase.PREF_TIMESTAMP_OF_REQUEST, timeMillis);
|
||||
+ editor.apply();
|
||||
+ }
|
||||
+
|
||||
+ public static void setLastModifiedVersion(String version) {
|
||||
+ SharedPreferences preferences = OmahaBase.getSharedPreferences();
|
||||
+ SharedPreferences.Editor editor = preferences.edit();
|
||||
+ editor.putString(OmahaBase.PREF_LATEST_MODIFIED_VERSION, version);
|
||||
+ editor.apply();
|
||||
+ }
|
||||
+
|
||||
+ public static void resetUpdatePrefs() {
|
||||
+ OmahaBase.setLastModifiedVersion("");
|
||||
+ OmahaBase.updateLastPushedTimeStamp(0);
|
||||
+ }
|
||||
}
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/omaha/UpdateConfigs.java b/chrome/android/java/src/org/chromium/chrome/browser/omaha/UpdateConfigs.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/omaha/UpdateConfigs.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/omaha/UpdateConfigs.java
|
||||
@@ -65,7 +65,7 @@ public class UpdateConfigs {
|
||||
private static final String UPDATE_NOTIFICATION_EXPERIMENTAL_PARAM_NAME =
|
||||
"update_notification_experimental_context";
|
||||
|
||||
- private static final long DEFAULT_UPDATE_NOTIFICATION_INTERVAL = 21 * DateUtils.DAY_IN_MILLIS;
|
||||
+ private static final long DEFAULT_UPDATE_NOTIFICATION_INTERVAL = 3 * DateUtils.DAY_IN_MILLIS;
|
||||
private static final long DEFAULT_UPDATE_ATTRIBUTION_WINDOW_MS = 2 * DateUtils.DAY_IN_MILLIS;
|
||||
|
||||
/** Possible update flow configurations. */
|
||||
@@ -300,7 +300,7 @@ public class UpdateConfigs {
|
||||
* @return the current inline update flow configuration.
|
||||
*/
|
||||
@UpdateFlowConfiguration
|
||||
- static int getConfiguration() {
|
||||
+ public static int getConfiguration() {
|
||||
if (!ChromeFeatureList.isEnabled(ChromeFeatureList.INLINE_UPDATE_FLOW)) {
|
||||
// Always use the the old flow if the inline update flow feature is not enabled.
|
||||
return UpdateFlowConfiguration.INTENT_ONLY;
|
||||
@@ -328,4 +328,4 @@ public class UpdateConfigs {
|
||||
if (configuration == null) return "";
|
||||
return configuration.toLowerCase(Locale.US);
|
||||
}
|
||||
-}
|
||||
\ No newline at end of file
|
||||
+}
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/omaha/UpdateStatusProvider.java b/chrome/android/java/src/org/chromium/chrome/browser/omaha/UpdateStatusProvider.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/omaha/UpdateStatusProvider.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/omaha/UpdateStatusProvider.java
|
||||
@@ -45,6 +45,12 @@ import java.io.File;
|
||||
import java.lang.annotation.Retention;
|
||||
import java.lang.annotation.RetentionPolicy;
|
||||
|
||||
+import org.chromium.base.Log;
|
||||
+import android.content.SharedPreferences;
|
||||
+import android.os.Build;
|
||||
+import org.chromium.build.BuildConfig;
|
||||
+import org.chromium.chrome.browser.version.ChromeVersionInfo;
|
||||
+
|
||||
/**
|
||||
* Provides the current update state for Chrome. This update state is asynchronously determined and
|
||||
* can change as Chrome runs.
|
||||
@@ -339,8 +345,7 @@ public class UpdateStatusProvider implements ActivityStateListener {
|
||||
case UpdateConfigs.UpdateFlowConfiguration.NEVER_SHOW:
|
||||
return UpdateState.NONE;
|
||||
case UpdateConfigs.UpdateFlowConfiguration.INLINE_ONLY:
|
||||
- if (omahaState != UpdateState.UPDATE_AVAILABLE) return omahaState;
|
||||
- if (inlineState == UpdateState.NONE) return UpdateState.NONE;
|
||||
+ if (inlineState == UpdateState.NONE) return omahaState;
|
||||
return inlineState;
|
||||
case UpdateConfigs.UpdateFlowConfiguration.BEST_EFFORT:
|
||||
if (omahaState != UpdateState.UPDATE_AVAILABLE) return omahaState;
|
||||
@@ -415,24 +420,12 @@ public class UpdateStatusProvider implements ActivityStateListener {
|
||||
private UpdateStatus getRealStatus(Context context) {
|
||||
UpdateStatus status = new UpdateStatus();
|
||||
|
||||
- if (VersionNumberGetter.isNewerVersionAvailable(context)) {
|
||||
- status.updateUrl = MarketURLGetter.getMarketUrl();
|
||||
- status.latestVersion =
|
||||
- VersionNumberGetter.getInstance().getLatestKnownVersion(context);
|
||||
-
|
||||
- boolean allowedToUpdate =
|
||||
- checkForSufficientStorage() && isGooglePlayStoreAvailable(context);
|
||||
- status.updateState =
|
||||
- allowedToUpdate ? UpdateState.UPDATE_AVAILABLE : UpdateState.NONE;
|
||||
-
|
||||
- SharedPreferencesManager.getInstance().removeKey(
|
||||
- ChromePreferenceKeys.LATEST_UNSUPPORTED_VERSION);
|
||||
- } else if (!VersionNumberGetter.isCurrentOsVersionSupported()) {
|
||||
- status.updateState = UpdateState.UNSUPPORTED_OS_VERSION;
|
||||
- status.latestUnsupportedVersion = SharedPreferencesManager.getInstance().readString(
|
||||
- ChromePreferenceKeys.LATEST_UNSUPPORTED_VERSION, null);
|
||||
- } else {
|
||||
- status.updateState = UpdateState.NONE;
|
||||
+ SharedPreferences preferences = OmahaBase.getSharedPreferences();
|
||||
+ status.latestVersion = preferences.getString(OmahaBase.PREF_LATEST_MODIFIED_VERSION, "");
|
||||
+
|
||||
+ status.updateState = UpdateState.NONE;
|
||||
+ if (status.latestVersion != null && status.latestVersion.length() != 0 && OmahaBase.isNewVersionAvailableByVersion(status.latestVersion)) {
|
||||
+ status.updateState = UpdateState.INLINE_UPDATE_AVAILABLE;
|
||||
}
|
||||
|
||||
return status;
|
||||
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
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/omaha/VersionNumberGetter.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/omaha/VersionNumberGetter.java
|
||||
@@ -43,7 +43,8 @@ public class VersionNumberGetter {
|
||||
private static VersionNumberGetter sInstanceForTests;
|
||||
|
||||
/** If false, OmahaClient will never report that a newer version is available. */
|
||||
- private static boolean sEnableUpdateDetection = true;
|
||||
+ // it must be false to disable version control via Omaha server
|
||||
+ private static boolean sEnableUpdateDetection = false;
|
||||
|
||||
protected VersionNumberGetter() { }
|
||||
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/omaha/inline/BromiteInlineUpdateController.java b/chrome/android/java/src/org/chromium/chrome/browser/omaha/inline/BromiteInlineUpdateController.java
|
||||
new file mode 100644
|
||||
--- /dev/null
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/omaha/inline/BromiteInlineUpdateController.java
|
||||
@@ -0,0 +1,204 @@
|
||||
+// Copyright 2021 The Ungoogled Chromium Authors. All rights reserved.
|
||||
+//
|
||||
+// This file is part of Ungoogled Chromium Android.
|
||||
+//
|
||||
+// Ungoogled Chromium Android is free software: you can redistribute it
|
||||
+// and/or modify it under the terms of the GNU General Public License as
|
||||
+// published by the Free Software Foundation, either version 3 of the
|
||||
+// License, or any later version.
|
||||
+//
|
||||
+// Ungoogled Chromium Android is distributed in the hope that it will be
|
||||
+// useful, but WITHOUT ANY WARRANTY; without even the implied warranty
|
||||
+// of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
+// GNU General Public License for more details.
|
||||
+//
|
||||
+// You should have received a copy of the GNU General Public License
|
||||
+// along with Ungoogled Chromium Android. If not,
|
||||
+// see <https://www.gnu.org/licenses/>.
|
||||
+
|
||||
+package org.chromium.chrome.browser.omaha.inline;
|
||||
+
|
||||
+import static org.chromium.chrome.browser.omaha.UpdateConfigs.getUpdateNotificationInterval;
|
||||
+
|
||||
+import android.app.Activity;
|
||||
+import android.content.SharedPreferences;
|
||||
+import android.os.Build;
|
||||
+import android.text.format.DateUtils;
|
||||
+import org.chromium.build.BuildConfig;
|
||||
+
|
||||
+import androidx.annotation.Nullable;
|
||||
+
|
||||
+import org.chromium.base.Callback;
|
||||
+import org.chromium.base.Log;
|
||||
+import org.chromium.base.task.AsyncTask;
|
||||
+import org.chromium.base.task.PostTask;
|
||||
+import org.chromium.chrome.browser.app.ChromeActivity;
|
||||
+import org.chromium.chrome.browser.omaha.OmahaBase;
|
||||
+import org.chromium.chrome.browser.omaha.UpdateConfigs;
|
||||
+import org.chromium.chrome.browser.omaha.UpdateStatusProvider;
|
||||
+import org.chromium.chrome.browser.profiles.Profile;
|
||||
+import org.chromium.chrome.browser.tab.TabLaunchType;
|
||||
+import org.chromium.chrome.browser.tabmodel.TabCreator;
|
||||
+import org.chromium.chrome.browser.version.ChromeVersionInfo;
|
||||
+import org.chromium.content_public.browser.LoadUrlParams;
|
||||
+import org.chromium.content_public.browser.UiThreadTaskTraits;
|
||||
+import org.chromium.ui.base.PageTransition;
|
||||
+
|
||||
+import java.io.BufferedReader;
|
||||
+import java.io.IOException;
|
||||
+import java.io.InputStreamReader;
|
||||
+import java.io.InputStream;
|
||||
+import java.net.MalformedURLException;
|
||||
+import java.net.URL;
|
||||
+import java.net.HttpURLConnection;
|
||||
+import java.util.regex.Pattern;
|
||||
+
|
||||
+import org.chromium.chrome.browser.endpoint_fetcher.EndpointFetcher;
|
||||
+import org.chromium.chrome.browser.endpoint_fetcher.EndpointResponse;
|
||||
+import org.chromium.chrome.browser.omaha.VersionNumber;
|
||||
+
|
||||
+class BromiteInlineUpdateController implements InlineUpdateController {
|
||||
+
|
||||
+ private static final String TAG = "BromiteInlineUpdateController";
|
||||
+ private final String REDIRECT_URL_PREFIX = "https://github.com/bromite/bromite/releases/download/";
|
||||
+ private final String UPDATE_VERSION_URL = "https://github.com/bromite/bromite/releases/latest/download/";
|
||||
+
|
||||
+ private String getDownloadUrl() {
|
||||
+ return UPDATE_VERSION_URL + BuildConfig.BUILD_TARGET_CPU + "_ChromePublic.apk";
|
||||
+ }
|
||||
+
|
||||
+ private boolean mEnabled = true;
|
||||
+ private Runnable mCallback;
|
||||
+ private @Nullable @UpdateStatusProvider.UpdateState Integer mUpdateState =
|
||||
+ UpdateStatusProvider.UpdateState.NONE;
|
||||
+
|
||||
+ BromiteInlineUpdateController(Runnable callback) {
|
||||
+ mCallback = callback;
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ public void setEnabled(boolean enabled) {
|
||||
+ if (mEnabled == enabled) return;
|
||||
+
|
||||
+ mEnabled = enabled;
|
||||
+ if (mEnabled) pullCurrentState();
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ public @Nullable @UpdateStatusProvider.UpdateState Integer getStatus() {
|
||||
+ if (mEnabled) pullCurrentState();
|
||||
+ return mUpdateState;
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ public void startUpdate(Activity activity) {
|
||||
+ assert ChromeActivity.class.isInstance(activity);
|
||||
+ ChromeActivity thisActivity = (ChromeActivity) activity;
|
||||
+ String downloadUrl = getDownloadUrl();
|
||||
+ // Always open in new incognito tab
|
||||
+ TabCreator tabCreator = thisActivity.getTabCreator(true);
|
||||
+ tabCreator.createNewTab(new LoadUrlParams(downloadUrl, PageTransition.AUTO_BOOKMARK),
|
||||
+ TabLaunchType.FROM_LINK, thisActivity.getActivityTab());
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ public void completeUpdate() {
|
||||
+ }
|
||||
+
|
||||
+ private void pullCurrentState() {
|
||||
+ if (OmahaBase.getSharedPreferences()
|
||||
+ .getBoolean(OmahaBase.PREF_ALLOW_INLINE_UPDATE, false) == false) {
|
||||
+ Log.i(TAG, "BromiteUpdater: disabled by user");
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
+ if (mUpdateState != UpdateStatusProvider.UpdateState.NONE)
|
||||
+ return;
|
||||
+
|
||||
+ if (shallUpdate() == false)
|
||||
+ return;
|
||||
+
|
||||
+ switch (mUpdateState) {
|
||||
+ case UpdateStatusProvider.UpdateState.INLINE_UPDATE_AVAILABLE:
|
||||
+ break;
|
||||
+ case UpdateStatusProvider.UpdateState.NONE:
|
||||
+ checkLatestVersion((ok) -> {
|
||||
+ if (ok == false) return;
|
||||
+
|
||||
+ SharedPreferences preferences = OmahaBase.getSharedPreferences();
|
||||
+ String latestVersion = preferences.getString(OmahaBase.PREF_LATEST_MODIFIED_VERSION, "");
|
||||
+
|
||||
+ if (OmahaBase.isNewVersionAvailableByVersion(latestVersion)) {
|
||||
+ postStatus(UpdateStatusProvider.UpdateState.INLINE_UPDATE_AVAILABLE);
|
||||
+ } else {
|
||||
+ if (mUpdateState != UpdateStatusProvider.UpdateState.NONE) {
|
||||
+ postStatus(UpdateStatusProvider.UpdateState.NONE);
|
||||
+ }
|
||||
+ }
|
||||
+ });
|
||||
+ break;
|
||||
+ case UpdateStatusProvider.UpdateState.INLINE_UPDATE_READY:
|
||||
+ // Intentional fall through.
|
||||
+ case UpdateStatusProvider.UpdateState.INLINE_UPDATE_FAILED:
|
||||
+ // Intentional fall through.
|
||||
+ case UpdateStatusProvider.UpdateState.INLINE_UPDATE_DOWNLOADING:
|
||||
+ // Intentional fall through.
|
||||
+ case UpdateStatusProvider.UpdateState.UNSUPPORTED_OS_VERSION:
|
||||
+ // Intentional fall through.
|
||||
+ default:
|
||||
+ return;
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ private boolean shallUpdate() {
|
||||
+ long currentTime = System.currentTimeMillis();
|
||||
+ SharedPreferences preferences = OmahaBase.getSharedPreferences();
|
||||
+ long lastPushedTimeStamp = preferences.getLong(OmahaBase.PREF_TIMESTAMP_OF_REQUEST, 0);
|
||||
+ return currentTime - lastPushedTimeStamp >= getUpdateNotificationInterval();
|
||||
+ }
|
||||
+
|
||||
+ private void checkLatestVersion(final Callback<Boolean> callback) {
|
||||
+ assert UPDATE_VERSION_URL != null;
|
||||
+
|
||||
+ OmahaBase.resetUpdatePrefs();
|
||||
+
|
||||
+ String urlToCheck = getDownloadUrl();
|
||||
+ Log.i(TAG, "BromiteUpdater: fetching with HEAD '%s'", urlToCheck);
|
||||
+
|
||||
+ EndpointFetcher.nativeHeadWithNoAuth(
|
||||
+ (endpointResponse) -> {
|
||||
+ OmahaBase.updateLastPushedTimeStamp(System.currentTimeMillis());
|
||||
+ String redirectURL = endpointResponse.getRedirectUrl();
|
||||
+ if (redirectURL != null) {
|
||||
+ Log.i(TAG, "BromiteUpdater: obtained response '%s' and redirect URL '%s'", endpointResponse.getResponseString(), redirectURL);
|
||||
+ if (redirectURL.indexOf(REDIRECT_URL_PREFIX) == 0) {
|
||||
+ redirectURL = redirectURL.substring(REDIRECT_URL_PREFIX.length());
|
||||
+ String[] parts = redirectURL.split(Pattern.quote("/"));
|
||||
+ if (parts.length > 0) {
|
||||
+ VersionNumber version = VersionNumber.fromString(parts[0]);
|
||||
+ if (version != null) {
|
||||
+ OmahaBase.setLastModifiedVersion(parts[0]);
|
||||
+ callback.onResult(true);
|
||||
+ return;
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
+ } else {
|
||||
+ // retry after 1 hour
|
||||
+ OmahaBase.updateLastPushedTimeStamp(
|
||||
+ System.currentTimeMillis() - getUpdateNotificationInterval() -
|
||||
+ DateUtils.HOUR_IN_MILLIS);
|
||||
+ Log.i(TAG, "BromiteUpdater: failed, will retry in 1 hour");
|
||||
+ }
|
||||
+
|
||||
+ callback.onResult(false);
|
||||
+ },
|
||||
+ Profile.getLastUsedRegularProfile(),
|
||||
+ urlToCheck, /*timeout*/5000, /*follow_redirect*/false);
|
||||
+ }
|
||||
+
|
||||
+ private void postStatus(@UpdateStatusProvider.UpdateState int status) {
|
||||
+ mUpdateState = status;
|
||||
+ PostTask.postTask(UiThreadTaskTraits.DEFAULT, mCallback);
|
||||
+ }
|
||||
+}
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/omaha/inline/InlineUpdateControllerFactory.java b/chrome/android/java/src/org/chromium/chrome/browser/omaha/inline/InlineUpdateControllerFactory.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/omaha/inline/InlineUpdateControllerFactory.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/omaha/inline/InlineUpdateControllerFactory.java
|
||||
@@ -19,8 +19,10 @@ public class InlineUpdateControllerFactory {
|
||||
@FakeAppUpdateManagerWrapper.Type
|
||||
int mockInlineEndState = UpdateConfigs.getMockInlineScenarioEndState();
|
||||
|
||||
- // No test scenario was in place, and the inline flow has not been enabled, so use a
|
||||
- // controller with no functionality.
|
||||
- return new NoopInlineUpdateController(callback);
|
||||
+ if (ChromeFeatureList.isEnabled(ChromeFeatureList.INLINE_UPDATE_FLOW)) {
|
||||
+ return new BromiteInlineUpdateController(callback);
|
||||
+ } else {
|
||||
+ return new NoopInlineUpdateController(callback);
|
||||
+ }
|
||||
}
|
||||
}
|
||||
diff --git a/chrome/browser/endpoint_fetcher/BUILD.gn b/chrome/browser/endpoint_fetcher/BUILD.gn
|
||||
--- a/chrome/browser/endpoint_fetcher/BUILD.gn
|
||||
+++ b/chrome/browser/endpoint_fetcher/BUILD.gn
|
||||
@@ -14,6 +14,7 @@ android_library("java") {
|
||||
sources = [
|
||||
"java/src/org/chromium/chrome/browser/endpoint_fetcher/EndpointFetcher.java",
|
||||
"java/src/org/chromium/chrome/browser/endpoint_fetcher/EndpointResponse.java",
|
||||
+ "java/src/org/chromium/chrome/browser/endpoint_fetcher/EndpointHeaderResponse.java",
|
||||
]
|
||||
annotation_processor_deps = [ "//base/android/jni_generator:jni_processor" ]
|
||||
}
|
||||
@@ -22,5 +23,6 @@ generate_jni("jni_headers") {
|
||||
sources = [
|
||||
"java/src/org/chromium/chrome/browser/endpoint_fetcher/EndpointFetcher.java",
|
||||
"java/src/org/chromium/chrome/browser/endpoint_fetcher/EndpointResponse.java",
|
||||
+ "java/src/org/chromium/chrome/browser/endpoint_fetcher/EndpointHeaderResponse.java",
|
||||
]
|
||||
}
|
||||
diff --git a/chrome/browser/endpoint_fetcher/endpoint_fetcher.cc b/chrome/browser/endpoint_fetcher/endpoint_fetcher.cc
|
||||
--- a/chrome/browser/endpoint_fetcher/endpoint_fetcher.cc
|
||||
+++ b/chrome/browser/endpoint_fetcher/endpoint_fetcher.cc
|
||||
@@ -26,10 +26,15 @@
|
||||
#include "base/android/jni_string.h"
|
||||
#include "chrome/browser/endpoint_fetcher/jni_headers/EndpointFetcher_jni.h"
|
||||
#include "chrome/browser/endpoint_fetcher/jni_headers/EndpointResponse_jni.h"
|
||||
+#include "chrome/browser/endpoint_fetcher/jni_headers/EndpointHeaderResponse_jni.h"
|
||||
#include "chrome/browser/profiles/profile_android.h"
|
||||
|
||||
#endif // defined(OS_ANDROID)
|
||||
|
||||
+#include "net/base/load_flags.h"
|
||||
+#include "net/http/http_status_code.h"
|
||||
+#include "services/network/public/cpp/resource_request.h"
|
||||
+
|
||||
namespace {
|
||||
const char kContentTypeKey[] = "Content-Type";
|
||||
const char kDeveloperKey[] = "X-Developer-Key";
|
||||
@@ -151,6 +156,19 @@ EndpointFetcher::EndpointFetcher(
|
||||
identity_manager_(nullptr),
|
||||
sanitize_response_(true) {}
|
||||
|
||||
+EndpointFetcher::EndpointFetcher(
|
||||
+ Profile* const profile,
|
||||
+ const GURL& url,
|
||||
+ int64_t timeout_ms,
|
||||
+ const net::NetworkTrafficAnnotationTag& annotation_tag)
|
||||
+ : url_(url),
|
||||
+ timeout_ms_(timeout_ms),
|
||||
+ annotation_tag_(annotation_tag),
|
||||
+ url_loader_factory_(profile->GetDefaultStoragePartition()
|
||||
+ ->GetURLLoaderFactoryForBrowserProcess()),
|
||||
+ identity_manager_(nullptr),
|
||||
+ sanitize_response_(false) {}
|
||||
+
|
||||
EndpointFetcher::~EndpointFetcher() = default;
|
||||
|
||||
void EndpointFetcher::Fetch(EndpointFetcherCallback endpoint_fetcher_callback) {
|
||||
@@ -280,6 +298,77 @@ void EndpointFetcher::OnSanitizationResult(
|
||||
std::move(endpoint_fetcher_callback).Run(std::move(response));
|
||||
}
|
||||
|
||||
+void EndpointFetcher::PerformHeadRequest(
|
||||
+ EndpointFetcherCallback endpoint_fetcher_callback,
|
||||
+ const char* key,
|
||||
+ bool allow_redirect) {
|
||||
+
|
||||
+ endpoint_fetcher_callback_ = std::move(endpoint_fetcher_callback);
|
||||
+
|
||||
+ auto resource_request = std::make_unique<network::ResourceRequest>();
|
||||
+ resource_request->method = "HEAD";
|
||||
+ resource_request->url = url_;
|
||||
+ resource_request->credentials_mode = network::mojom::CredentialsMode::kOmit;
|
||||
+ resource_request->load_flags = net::LOAD_BYPASS_CACHE | net::LOAD_DISABLE_CACHE
|
||||
+ | net::LOAD_DO_NOT_SAVE_COOKIES;
|
||||
+ if (allow_redirect == false) {
|
||||
+ resource_request->redirect_mode = network::mojom::RedirectMode::kManual;
|
||||
+ }
|
||||
+
|
||||
+ simple_url_loader_ = network::SimpleURLLoader::Create(
|
||||
+ std::move(resource_request), annotation_tag_);
|
||||
+ simple_url_loader_->SetTimeoutDuration(
|
||||
+ base::TimeDelta::FromMilliseconds(timeout_ms_));
|
||||
+ simple_url_loader_->SetAllowHttpErrorResults(true);
|
||||
+
|
||||
+ if (!response_)
|
||||
+ response_ = std::make_unique<EndpointResponse>();
|
||||
+
|
||||
+ if (allow_redirect == false) {
|
||||
+ simple_url_loader_->SetOnRedirectCallback(base::BindRepeating(
|
||||
+ &EndpointFetcher::OnSimpleLoaderRedirect, base::Unretained(this)));
|
||||
+ }
|
||||
+
|
||||
+ simple_url_loader_->DownloadHeadersOnly(
|
||||
+ url_loader_factory_.get(),
|
||||
+ base::BindOnce(&EndpointFetcher::OnURLLoadComplete,
|
||||
+ base::Unretained(this)));
|
||||
+}
|
||||
+
|
||||
+void EndpointFetcher::OnSimpleLoaderRedirect(
|
||||
+ const net::RedirectInfo& redirect_info,
|
||||
+ const network::mojom::URLResponseHead& response_head,
|
||||
+ std::vector<std::string>* removed_headers) {
|
||||
+ url_ = redirect_info.new_url;
|
||||
+ if (response_->redirect_url.empty()) {
|
||||
+ response_->redirect_url = url_.spec();
|
||||
+ response_->response = std::to_string(redirect_info.status_code);
|
||||
+ } else {
|
||||
+ LOG(INFO) << "BromiteUpdater: redirect URL is not empty, status code is " << redirect_info.status_code;
|
||||
+ }
|
||||
+
|
||||
+ std::move(endpoint_fetcher_callback_).Run(std::move(response_));
|
||||
+}
|
||||
+
|
||||
+void EndpointFetcher::OnURLLoadComplete(
|
||||
+ scoped_refptr<net::HttpResponseHeaders> headers) {
|
||||
+ if (!endpoint_fetcher_callback_)
|
||||
+ return;
|
||||
+
|
||||
+ if (headers) {
|
||||
+ if (response_->redirect_url.empty()) {
|
||||
+ std::string location;
|
||||
+ if (simple_url_loader_->ResponseInfo()->headers->IsRedirect(&location)) {
|
||||
+ response_->redirect_url = location;
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ std::string net_error = net::ErrorToString(simple_url_loader_->NetError());
|
||||
+ response_->response = net_error;
|
||||
+ std::move(endpoint_fetcher_callback_).Run(std::move(response_));
|
||||
+}
|
||||
+
|
||||
#if defined(OS_ANDROID)
|
||||
namespace {
|
||||
static void OnEndpointFetcherComplete(
|
||||
@@ -296,6 +385,25 @@ static void OnEndpointFetcherComplete(
|
||||
base::android::AttachCurrentThread(),
|
||||
std::move(endpoint_response->response))));
|
||||
}
|
||||
+
|
||||
+static void OnEndpointFetcherHeadComplete(
|
||||
+ const base::android::JavaRef<jobject>& jcaller,
|
||||
+ // Passing the endpoint_fetcher ensures the endpoint_fetcher's
|
||||
+ // lifetime extends to the callback and is not destroyed
|
||||
+ // prematurely (which would result in cancellation of the request).
|
||||
+ std::unique_ptr<EndpointFetcher> endpoint_fetcher,
|
||||
+ std::unique_ptr<EndpointResponse> endpoint_response) {
|
||||
+ base::android::RunObjectCallbackAndroid(
|
||||
+ jcaller, Java_EndpointHeaderResponse_createEndpointResponse(
|
||||
+ base::android::AttachCurrentThread(),
|
||||
+ base::android::ConvertUTF8ToJavaString(
|
||||
+ base::android::AttachCurrentThread(),
|
||||
+ std::move(endpoint_response->response)),
|
||||
+ base::android::ConvertUTF8ToJavaString(
|
||||
+ base::android::AttachCurrentThread(),
|
||||
+ std::move(endpoint_response->redirect_url))));
|
||||
+}
|
||||
+
|
||||
} // namespace
|
||||
|
||||
// TODO(crbug.com/1077537) Create a KeyProvider so
|
||||
@@ -381,4 +489,25 @@ static void JNI_EndpointFetcher_NativeFetchWithNoAuth(
|
||||
nullptr);
|
||||
}
|
||||
|
||||
+static void JNI_EndpointFetcher_NativeHeadWithNoAuth(
|
||||
+ JNIEnv* env,
|
||||
+ const base::android::JavaParamRef<jobject>& jprofile,
|
||||
+ const base::android::JavaParamRef<jstring>& jurl,
|
||||
+ jlong jtimeout, jboolean allow_redirect,
|
||||
+ const base::android::JavaParamRef<jobject>& jcallback) {
|
||||
+ auto endpoint_fetcher = std::make_unique<EndpointFetcher>(
|
||||
+ ProfileAndroid::FromProfileAndroid(jprofile),
|
||||
+ GURL(base::android::ConvertJavaStringToUTF8(env, jurl)),
|
||||
+ jtimeout,
|
||||
+ NO_TRAFFIC_ANNOTATION_YET);
|
||||
+ auto* const endpoint_fetcher_ptr = endpoint_fetcher.get();
|
||||
+ endpoint_fetcher_ptr->PerformHeadRequest(
|
||||
+ base::BindOnce(&OnEndpointFetcherHeadComplete,
|
||||
+ base::android::ScopedJavaGlobalRef<jobject>(jcallback),
|
||||
+ // unique_ptr endpoint_fetcher is passed until the callback
|
||||
+ // to ensure its lifetime across the request.
|
||||
+ std::move(endpoint_fetcher)),
|
||||
+ nullptr, allow_redirect);
|
||||
+}
|
||||
+
|
||||
#endif // defined(OS_ANDROID)
|
||||
diff --git a/chrome/browser/endpoint_fetcher/endpoint_fetcher.h b/chrome/browser/endpoint_fetcher/endpoint_fetcher.h
|
||||
--- a/chrome/browser/endpoint_fetcher/endpoint_fetcher.h
|
||||
+++ b/chrome/browser/endpoint_fetcher/endpoint_fetcher.h
|
||||
@@ -14,6 +14,8 @@
|
||||
#include "components/signin/public/identity_manager/scope_set.h"
|
||||
#include "net/traffic_annotation/network_traffic_annotation.h"
|
||||
#include "services/data_decoder/public/cpp/json_sanitizer.h"
|
||||
+#include "services/network/public/cpp/resource_request.h"
|
||||
+#include "services/network/public/mojom/url_response_head.mojom.h"
|
||||
|
||||
namespace network {
|
||||
struct ResourceRequest;
|
||||
@@ -31,6 +33,8 @@ class Profile;
|
||||
|
||||
struct EndpointResponse {
|
||||
std::string response;
|
||||
+ long last_modified;
|
||||
+ std::string redirect_url;
|
||||
// TODO(crbug.com/993393) Add more detailed error messaging
|
||||
};
|
||||
|
||||
@@ -77,6 +81,12 @@ class EndpointFetcher {
|
||||
const GURL& url,
|
||||
const net::NetworkTrafficAnnotationTag& annotation_tag);
|
||||
|
||||
+ // Constructor if no authentication is needed, with timeout
|
||||
+ EndpointFetcher(Profile* const profile,
|
||||
+ const GURL& url,
|
||||
+ int64_t timeout_ms,
|
||||
+ const net::NetworkTrafficAnnotationTag& annotation_tag);
|
||||
+
|
||||
// Used for tests. Can be used if caller constructs their own
|
||||
// url_loader_factory and identity_manager.
|
||||
EndpointFetcher(
|
||||
@@ -113,6 +123,10 @@ class EndpointFetcher {
|
||||
virtual void PerformRequest(EndpointFetcherCallback endpoint_fetcher_callback,
|
||||
const char* key);
|
||||
|
||||
+ virtual void PerformHeadRequest(EndpointFetcherCallback endpoint_fetcher_callback,
|
||||
+ const char* key,
|
||||
+ bool allow_redirect);
|
||||
+
|
||||
protected:
|
||||
// Used for Mock only. see MockEndpointFetcher class.
|
||||
explicit EndpointFetcher(
|
||||
@@ -126,6 +140,10 @@ class EndpointFetcher {
|
||||
std::unique_ptr<std::string> response_body);
|
||||
void OnSanitizationResult(EndpointFetcherCallback endpoint_fetcher_callback,
|
||||
data_decoder::JsonSanitizer::Result result);
|
||||
+ void OnURLLoadComplete(scoped_refptr<net::HttpResponseHeaders> headers);
|
||||
+ void OnSimpleLoaderRedirect(const net::RedirectInfo& redirect_info,
|
||||
+ const network::mojom::URLResponseHead& response_head,
|
||||
+ std::vector<std::string>* removed_headers);
|
||||
|
||||
enum AuthType { CHROME_API_KEY, OAUTH, NO_AUTH };
|
||||
AuthType auth_type_;
|
||||
@@ -133,7 +151,7 @@ class EndpointFetcher {
|
||||
// Members set in constructor to be passed to network::ResourceRequest or
|
||||
// network::SimpleURLLoader.
|
||||
const std::string oauth_consumer_name_;
|
||||
- const GURL url_;
|
||||
+ GURL url_;
|
||||
const std::string http_method_;
|
||||
const std::string content_type_;
|
||||
int64_t timeout_ms_;
|
||||
@@ -152,6 +170,9 @@ class EndpointFetcher {
|
||||
access_token_fetcher_;
|
||||
std::unique_ptr<network::SimpleURLLoader> simple_url_loader_;
|
||||
|
||||
+ EndpointFetcherCallback endpoint_fetcher_callback_;
|
||||
+ std::unique_ptr<EndpointResponse> response_;
|
||||
+
|
||||
base::WeakPtrFactory<EndpointFetcher> weak_ptr_factory_{this};
|
||||
};
|
||||
|
||||
diff --git a/chrome/browser/endpoint_fetcher/java/src/org/chromium/chrome/browser/endpoint_fetcher/EndpointFetcher.java b/chrome/browser/endpoint_fetcher/java/src/org/chromium/chrome/browser/endpoint_fetcher/EndpointFetcher.java
|
||||
--- a/chrome/browser/endpoint_fetcher/java/src/org/chromium/chrome/browser/endpoint_fetcher/EndpointFetcher.java
|
||||
+++ b/chrome/browser/endpoint_fetcher/java/src/org/chromium/chrome/browser/endpoint_fetcher/EndpointFetcher.java
|
||||
@@ -68,6 +68,14 @@ public final class EndpointFetcher {
|
||||
profile, url, httpsMethod, contentType, postData, timeout, headers, callback);
|
||||
}
|
||||
|
||||
+ @MainThread
|
||||
+ public static void nativeHeadWithNoAuth(
|
||||
+ Callback<EndpointHeaderResponse> callback, Profile profile,
|
||||
+ String url, long timeout, boolean allow_redirect) {
|
||||
+ EndpointFetcherJni.get().nativeHeadWithNoAuth(
|
||||
+ profile, url, timeout, allow_redirect, callback);
|
||||
+ }
|
||||
+
|
||||
@NativeMethods
|
||||
public interface Natives {
|
||||
void nativeFetchOAuth(Profile profile, String oathConsumerName, String url,
|
||||
@@ -78,5 +86,8 @@ public final class EndpointFetcher {
|
||||
Callback<EndpointResponse> callback);
|
||||
void nativeFetchWithNoAuth(
|
||||
Profile profile, String url, Callback<EndpointResponse> callback);
|
||||
+ void nativeHeadWithNoAuth(
|
||||
+ Profile profile, String url, long timeout, boolean allow_redirect,
|
||||
+ Callback<EndpointHeaderResponse> callback);
|
||||
}
|
||||
}
|
||||
diff --git a/chrome/browser/endpoint_fetcher/java/src/org/chromium/chrome/browser/endpoint_fetcher/EndpointHeaderResponse.java b/chrome/browser/endpoint_fetcher/java/src/org/chromium/chrome/browser/endpoint_fetcher/EndpointHeaderResponse.java
|
||||
new file mode 100644
|
||||
--- /dev/null
|
||||
+++ b/chrome/browser/endpoint_fetcher/java/src/org/chromium/chrome/browser/endpoint_fetcher/EndpointHeaderResponse.java
|
||||
@@ -0,0 +1,31 @@
|
||||
+// Copyright 2019 The Chromium Authors. All rights reserved.
|
||||
+// Use of this source code is governed by a BSD-style license that can be
|
||||
+// found in the LICENSE file.
|
||||
+
|
||||
+package org.chromium.chrome.browser.endpoint_fetcher;
|
||||
+
|
||||
+import org.chromium.base.annotations.CalledByNative;
|
||||
+
|
||||
+public class EndpointHeaderResponse {
|
||||
+ private final String mResponseString;
|
||||
+ private final String mRedirectUrl;
|
||||
+
|
||||
+ public EndpointHeaderResponse(String responseString, String redirectUrl) {
|
||||
+ mResponseString = responseString;
|
||||
+ mRedirectUrl = redirectUrl;
|
||||
+ }
|
||||
+
|
||||
+ public String getResponseString() {
|
||||
+ return mResponseString;
|
||||
+ }
|
||||
+
|
||||
+ public String getRedirectUrl() {
|
||||
+ return mRedirectUrl;
|
||||
+ }
|
||||
+
|
||||
+ @CalledByNative
|
||||
+ private static EndpointHeaderResponse createEndpointResponse(
|
||||
+ String response, String redirectUrl) {
|
||||
+ return new EndpointHeaderResponse(response, redirectUrl);
|
||||
+ }
|
||||
+}
|
||||
diff --git a/chrome/browser/flag-metadata.json b/chrome/browser/flag-metadata.json
|
||||
--- a/chrome/browser/flag-metadata.json
|
||||
+++ b/chrome/browser/flag-metadata.json
|
||||
@@ -2037,7 +2037,7 @@
|
||||
{
|
||||
"name": "enable-inline-update-flow",
|
||||
"owners": [ "nyquist", "dtrainor" ],
|
||||
- "expiry_milestone": 83
|
||||
+ "expiry_milestone": -1
|
||||
},
|
||||
{
|
||||
"name": "enable-input-event-logging",
|
||||
diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc
|
||||
--- a/chrome/browser/flag_descriptions.cc
|
||||
+++ b/chrome/browser/flag_descriptions.cc
|
||||
@@ -3582,10 +3582,9 @@ const char kVoiceButtonInTopToolbarDescription[] =
|
||||
"Enables showing the voice search button in the top toolbar. Enabling "
|
||||
"Adaptive Button overrides this.";
|
||||
|
||||
-const char kInlineUpdateFlowName[] = "Enable Google Play inline update flow";
|
||||
+const char kInlineUpdateFlowName[] = "Enable inline update flow";
|
||||
const char kInlineUpdateFlowDescription[] =
|
||||
- "When this flag is set, instead of taking the user to the Google Play "
|
||||
- "Store when an update is available, the user is presented with an inline "
|
||||
+ "When this flag is set, the user is presented with an inline "
|
||||
"flow where they do not have to leave Chrome until the update is ready "
|
||||
"to install.";
|
||||
|
||||
diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browser/flags/android/chrome_feature_list.cc
|
||||
--- a/chrome/browser/flags/android/chrome_feature_list.cc
|
||||
+++ b/chrome/browser/flags/android/chrome_feature_list.cc
|
||||
@@ -627,7 +627,7 @@ const base::Feature kIncognitoScreenshot{"IncognitoScreenshot",
|
||||
base::FEATURE_DISABLED_BY_DEFAULT};
|
||||
|
||||
const base::Feature kInlineUpdateFlow{"InlineUpdateFlow",
|
||||
- base::FEATURE_DISABLED_BY_DEFAULT};
|
||||
+ base::FEATURE_ENABLED_BY_DEFAULT};
|
||||
|
||||
const base::Feature kInstantStart{"InstantStart",
|
||||
base::FEATURE_DISABLED_BY_DEFAULT};
|
||||
diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||
--- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||
+++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||
@@ -1657,6 +1657,12 @@ Your Google account may have other forms of browsing history like searches and a
|
||||
<message name="IDS_DEPRECATION_WARNING" desc="Warning about Chrome updates no longer being supported">
|
||||
Chrome updates are no longer supported for this version of Android
|
||||
</message>
|
||||
+ <message name="IDS_ALLOW_INLINE_UPDATE_TITLE" desc="Title for allow inline update preference">
|
||||
+ Allow checking for updates
|
||||
+ </message>
|
||||
+ <message name="IDS_ALLOW_INLINE_UPDATE_SUMMARY" desc="Summary for allow inline update preference">
|
||||
+ Check for updates by contacting the Bromite repo
|
||||
+ </message>
|
||||
|
||||
<!-- Account management UI strings. -->
|
||||
<message name="IDS_ACCOUNT_MANAGEMENT_TITLE" desc="Header title for the account management screen. [CHAR_LIMIT=32]">
|
||||
@@ -3144,7 +3150,7 @@ To change this setting, <ph name="BEGIN_LINK"><resetlink></ph>reset sync<p
|
||||
|
||||
<!-- Main menu items -->
|
||||
<message name="IDS_MENU_UPDATE" desc="Menu item for updating chrome. [CHAR_LIMIT=24]">
|
||||
- Update Chrome
|
||||
+ Update Bromite
|
||||
</message>
|
||||
<message name="IDS_MENU_UPDATE_SUMMARY_DEFAULT" desc="Summary string for update menu item explaining that a newer version of Chrome is available. [CHAR_LIMIT=30]">
|
||||
Newer version is available
|
||||
--
|
||||
2.17.1
|
||||
|
|
@ -12,7 +12,7 @@ See also: https://github.com/bromite/bromite/issues/553
|
|||
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
|
||||
@@ -594,12 +594,13 @@ PeerConnectionDependencyFactory::CreatePortAllocator(
|
||||
@@ -663,12 +663,13 @@ PeerConnectionDependencyFactory::CreatePortAllocator(
|
||||
port_config.enable_nonproxied_udp = false;
|
||||
break;
|
||||
case DEFAULT:
|
||||
|
|
|
@ -1,38 +0,0 @@
|
|||
From: Anton Bikineev <bikineev@chromium.org>
|
||||
Date: Fri, 4 Jun 2021 09:36:01 +0000
|
||||
Subject: DCScan: Fix builds with system sysroots
|
||||
|
||||
If 'use_sysroot=false' is used and the system linux-headers are < 5.8,
|
||||
the compilation fails due to undefined 'uffdio_writeprotect'.
|
||||
|
||||
Bug: 1206047
|
||||
Change-Id: Ia73e71b84ea372af49a881f1b14187454bcb4cd8
|
||||
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2940163
|
||||
Commit-Queue: Anton Bikineev <bikineev@chromium.org>
|
||||
Commit-Queue: Kentaro Hara <haraken@chromium.org>
|
||||
Auto-Submit: Anton Bikineev <bikineev@chromium.org>
|
||||
Reviewed-by: Kentaro Hara <haraken@chromium.org>
|
||||
Cr-Commit-Position: refs/heads/master@{#889195}
|
||||
---
|
||||
base/allocator/partition_allocator/partition_alloc_config.h | 3 +++
|
||||
1 file changed, 3 insertions(+)
|
||||
|
||||
diff --git a/base/allocator/partition_allocator/partition_alloc_config.h b/base/allocator/partition_allocator/partition_alloc_config.h
|
||||
--- a/base/allocator/partition_allocator/partition_alloc_config.h
|
||||
+++ b/base/allocator/partition_allocator/partition_alloc_config.h
|
||||
@@ -36,9 +36,12 @@ static_assert(sizeof(void*) != 8, "");
|
||||
|
||||
#if defined(PA_HAS_64_BITS_POINTERS) && \
|
||||
(defined(OS_LINUX) || defined(OS_ANDROID))
|
||||
+#include <linux/version.h>
|
||||
// TODO(bikineev): Enable for ChromeOS.
|
||||
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 8, 0)
|
||||
#define PA_STARSCAN_UFFD_WRITE_PROTECTOR_SUPPORTED
|
||||
#endif
|
||||
+#endif
|
||||
|
||||
// POSIX is not only UNIX, e.g. macOS and other OSes. We do use Linux-specific
|
||||
// features such as futex(2).
|
||||
--
|
||||
2.17.1
|
||||
|
36
build/patches/Disable-AGSA-by-default.patch
Normal file
36
build/patches/Disable-AGSA-by-default.patch
Normal file
|
@ -0,0 +1,36 @@
|
|||
From: csagan5 <32685696+csagan5@users.noreply.github.com>
|
||||
Date: Sun, 26 Sep 2021 11:17:53 +0200
|
||||
Subject: Disable AGSA by default
|
||||
|
||||
---
|
||||
chrome/browser/flags/android/chrome_feature_list.cc | 2 +-
|
||||
.../org/chromium/chrome/browser/flags/CachedFeatureFlags.java | 2 +-
|
||||
2 files changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browser/flags/android/chrome_feature_list.cc
|
||||
--- a/chrome/browser/flags/android/chrome_feature_list.cc
|
||||
+++ b/chrome/browser/flags/android/chrome_feature_list.cc
|
||||
@@ -605,7 +605,7 @@ const base::Feature kEnhancedProtectionPromoCard{
|
||||
"EnhancedProtectionPromoCard", base::FEATURE_DISABLED_BY_DEFAULT};
|
||||
|
||||
const base::Feature kExperimentsForAgsa{"ExperimentsForAgsa",
|
||||
- base::FEATURE_ENABLED_BY_DEFAULT};
|
||||
+ base::FEATURE_DISABLED_BY_DEFAULT};
|
||||
|
||||
const base::Feature kExploreSites{"ExploreSites",
|
||||
base::FEATURE_DISABLED_BY_DEFAULT};
|
||||
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
|
||||
--- 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
|
||||
@@ -86,7 +86,7 @@ public class CachedFeatureFlags {
|
||||
.put(ChromeFeatureList.CCT_REMOVE_REMOTE_VIEW_IDS, true)
|
||||
.put(ChromeFeatureList.OFFLINE_MEASUREMENTS_BACKGROUND_TASK, false)
|
||||
.put(ChromeFeatureList.CCT_INCOGNITO, true)
|
||||
- .put(ChromeFeatureList.EXPERIMENTS_FOR_AGSA, true)
|
||||
+ .put(ChromeFeatureList.EXPERIMENTS_FOR_AGSA, false)
|
||||
.put(ChromeFeatureList.APP_MENU_MOBILE_SITE_OPTION, false)
|
||||
.put(ChromeFeatureList.CLIPBOARD_SUGGESTION_CONTENT_HIDDEN, false)
|
||||
.put(ChromeFeatureList.OPTIMIZATION_GUIDE_PUSH_NOTIFICATIONS, false)
|
||||
--
|
||||
2.17.1
|
||||
|
|
@ -9,7 +9,7 @@ Subject: Disable DRM media origin IDs preprovisioning
|
|||
diff --git a/media/base/media_switches.cc b/media/base/media_switches.cc
|
||||
--- a/media/base/media_switches.cc
|
||||
+++ b/media/base/media_switches.cc
|
||||
@@ -619,7 +619,7 @@ const base::Feature kMediaDrmPersistentLicense{
|
||||
@@ -660,7 +660,7 @@ const base::Feature kMediaDrmPersistentLicense{
|
||||
// MediaDrmBridge. If disabled, MediaDrmBridge will get unprovisioned origin IDs
|
||||
// which will trigger provisioning process after MediaDrmBridge is created.
|
||||
const base::Feature kMediaDrmPreprovisioning{"MediaDrmPreprovisioning",
|
||||
|
|
|
@ -1,25 +0,0 @@
|
|||
From: csagan5 <32685696+csagan5@users.noreply.github.com>
|
||||
Date: Thu, 29 Apr 2021 20:28:16 +0200
|
||||
Subject: Disable FLoC by default
|
||||
|
||||
This is redundant since the privacy sandbox is already disabled by default,
|
||||
but added as an extra measure
|
||||
---
|
||||
components/federated_learning/features/features.cc | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/components/federated_learning/features/features.cc b/components/federated_learning/features/features.cc
|
||||
--- a/components/federated_learning/features/features.cc
|
||||
+++ b/components/federated_learning/features/features.cc
|
||||
@@ -34,7 +34,7 @@ const base::Feature kFlocPagesWithAdResourcesDefaultIncludedInFlocComputation{
|
||||
// required.
|
||||
// TODO(yaoxia): merge other floc features into this one.
|
||||
const base::Feature kFederatedLearningOfCohorts{
|
||||
- "FederatedLearningOfCohorts", base::FEATURE_ENABLED_BY_DEFAULT};
|
||||
+ "FederatedLearningOfCohorts", base::FEATURE_DISABLED_BY_DEFAULT};
|
||||
constexpr base::FeatureParam<base::TimeDelta> kFlocIdScheduledUpdateInterval{
|
||||
&kFederatedLearningOfCohorts, "update_interval",
|
||||
base::TimeDelta::FromDays(7)};
|
||||
--
|
||||
2.17.1
|
||||
|
|
@ -22,7 +22,7 @@ diff --git a/chrome/browser/ui/omnibox/chrome_omnibox_navigation_observer.cc b/c
|
|||
|
||||
// We need to start by listening to AllSources, since we don't know which tab
|
||||
// the navigation might occur in.
|
||||
@@ -288,7 +288,7 @@ void ChromeOmniboxNavigationObserver::OnAllLoadingFinished() {
|
||||
@@ -291,7 +291,7 @@ void ChromeOmniboxNavigationObserver::OnAllLoadingFinished() {
|
||||
delete this;
|
||||
}
|
||||
|
||||
|
@ -31,7 +31,7 @@ diff --git a/chrome/browser/ui/omnibox/chrome_omnibox_navigation_observer.cc b/c
|
|||
const GURL& destination_url) {
|
||||
net::NetworkTrafficAnnotationTag traffic_annotation =
|
||||
net::DefineNetworkTrafficAnnotation("omnibox_navigation_observer", R"(
|
||||
@@ -329,4 +329,4 @@ void ChromeOmniboxNavigationObserver::CreateLoader(
|
||||
@@ -336,4 +336,4 @@ void ChromeOmniboxNavigationObserver::CreateLoader(
|
||||
loader_->SetAllowHttpErrorResults(true);
|
||||
loader_->SetOnRedirectCallback(base::BindRepeating(
|
||||
&ChromeOmniboxNavigationObserver::OnURLRedirect, base::Unretained(this)));
|
||||
|
@ -40,7 +40,7 @@ diff --git a/chrome/browser/ui/omnibox/chrome_omnibox_navigation_observer.cc b/c
|
|||
diff --git a/chrome/browser/ui/omnibox/chrome_omnibox_navigation_observer.h b/chrome/browser/ui/omnibox/chrome_omnibox_navigation_observer.h
|
||||
--- a/chrome/browser/ui/omnibox/chrome_omnibox_navigation_observer.h
|
||||
+++ b/chrome/browser/ui/omnibox/chrome_omnibox_navigation_observer.h
|
||||
@@ -126,7 +126,7 @@ class ChromeOmniboxNavigationObserver : public OmniboxNavigationObserver,
|
||||
@@ -130,7 +130,7 @@ class ChromeOmniboxNavigationObserver : public OmniboxNavigationObserver,
|
||||
|
||||
// Creates a URL loader for |destination_url| and stores it in |loader_|.
|
||||
// Does not start the loader.
|
||||
|
|
|
@ -1,37 +0,0 @@
|
|||
From: csagan5 <32685696+csagan5@users.noreply.github.com>
|
||||
Date: Sun, 26 Nov 2017 23:11:56 +0100
|
||||
Subject: Disable Omaha update checks
|
||||
|
||||
Do not consider Jelly Bean unsupported
|
||||
---
|
||||
.../java/src/org/chromium/chrome/browser/omaha/OmahaBase.java | 2 +-
|
||||
.../org/chromium/chrome/browser/omaha/VersionNumberGetter.java | 2 +-
|
||||
2 files changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
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
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/omaha/OmahaBase.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/omaha/OmahaBase.java
|
||||
@@ -158,7 +158,7 @@ public class OmahaBase {
|
||||
|
||||
/** See {@link #sIsDisabled}. */
|
||||
static boolean isDisabled() {
|
||||
- return sIsDisabled;
|
||||
+ return true;
|
||||
}
|
||||
|
||||
/**
|
||||
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
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/omaha/VersionNumberGetter.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/omaha/VersionNumberGetter.java
|
||||
@@ -43,7 +43,7 @@ public class VersionNumberGetter {
|
||||
private static VersionNumberGetter sInstanceForTests;
|
||||
|
||||
/** If false, OmahaClient will never report that a newer version is available. */
|
||||
- private static boolean sEnableUpdateDetection = true;
|
||||
+ private static boolean sEnableUpdateDetection = false;
|
||||
|
||||
protected VersionNumberGetter() { }
|
||||
|
||||
--
|
||||
2.17.1
|
||||
|
|
@ -1,23 +0,0 @@
|
|||
From: csagan5 <32685696+csagan5@users.noreply.github.com>
|
||||
Date: Thu, 29 Apr 2021 20:26:31 +0200
|
||||
Subject: Disable RTCGetCurrentBrowsingContextMedia by default
|
||||
|
||||
---
|
||||
third_party/blink/common/features.cc | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/third_party/blink/common/features.cc b/third_party/blink/common/features.cc
|
||||
--- a/third_party/blink/common/features.cc
|
||||
+++ b/third_party/blink/common/features.cc
|
||||
@@ -219,7 +219,7 @@ const base::Feature kRawClipboard{"RawClipboard",
|
||||
// Kill switch for getCurrentBrowsingContextMedia(), which allows capturing of
|
||||
// web content from the tab from which it is called. (crbug.com/1136940)
|
||||
const base::Feature kRTCGetCurrentBrowsingContextMedia{
|
||||
- "RTCGetCurrentBrowsingContextMedia", base::FEATURE_ENABLED_BY_DEFAULT};
|
||||
+ "RTCGetCurrentBrowsingContextMedia", base::FEATURE_DISABLED_BY_DEFAULT};
|
||||
|
||||
// Changes the default RTCPeerConnection constructor behavior to use Unified
|
||||
// Plan as the SDP semantics. When the feature is enabled, Unified Plan is used
|
||||
--
|
||||
2.17.1
|
||||
|
|
@ -1,23 +0,0 @@
|
|||
From: csagan5 <32685696+csagan5@users.noreply.github.com>
|
||||
Date: Thu, 22 Jul 2021 23:10:52 +0200
|
||||
Subject: Disable UA client hint
|
||||
|
||||
---
|
||||
content/public/common/content_features.cc | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/content/public/common/content_features.cc b/content/public/common/content_features.cc
|
||||
--- a/content/public/common/content_features.cc
|
||||
+++ b/content/public/common/content_features.cc
|
||||
@@ -263,7 +263,7 @@ const base::Feature kExtraSafelistedRequestHeadersForOutOfBlinkCors{
|
||||
|
||||
// Controls whether Client Hints are guarded by Permissions Policy.
|
||||
const base::Feature kFeaturePolicyForClientHints{
|
||||
- "FeaturePolicyForClientHints", base::FEATURE_ENABLED_BY_DEFAULT};
|
||||
+ "FeaturePolicyForClientHints", base::FEATURE_DISABLED_BY_DEFAULT};
|
||||
|
||||
// Enables fixes for matching src: local() for web fonts correctly against full
|
||||
// font name or postscript name. Rolling out behind a flag, as enabling this
|
||||
--
|
||||
2.17.1
|
||||
|
|
@ -9,7 +9,7 @@ Subject: Disable all promo dialogs
|
|||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java b/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java
|
||||
@@ -638,7 +638,7 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator {
|
||||
@@ -822,7 +822,7 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator {
|
||||
* displayed.
|
||||
*/
|
||||
private boolean triggerPromo(boolean intentWithEffect) {
|
||||
|
@ -18,7 +18,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/Tab
|
|||
if (CommandLine.getInstance().hasSwitch(ChromeSwitches.DISABLE_STARTUP_PROMOS)) {
|
||||
return false;
|
||||
}
|
||||
@@ -673,8 +673,8 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator {
|
||||
@@ -857,8 +857,8 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator {
|
||||
preferenceManager.writeBoolean(
|
||||
ChromePreferenceKeys.PROMOS_SKIPPED_ON_FIRST_START, true);
|
||||
}
|
||||
|
|
|
@ -3,26 +3,45 @@ Date: Thu, 19 Dec 2019 22:52:53 +0100
|
|||
Subject: Disable feeds support by default
|
||||
|
||||
---
|
||||
.../org/chromium/chrome/browser/flags/CachedFeatureFlags.java | 2 +-
|
||||
components/feed/feed_feature_list.cc | 4 ++--
|
||||
2 files changed, 3 insertions(+), 3 deletions(-)
|
||||
.../chromium/chrome/browser/feed/shared/FeedFeatures.java | 8 +-------
|
||||
.../chromium/chrome/browser/flags/CachedFeatureFlags.java | 2 +-
|
||||
components/feed/feed_feature_list.cc | 4 ++--
|
||||
3 files changed, 4 insertions(+), 10 deletions(-)
|
||||
|
||||
diff --git a/chrome/android/feed/core/java/src/org/chromium/chrome/browser/feed/shared/FeedFeatures.java b/chrome/android/feed/core/java/src/org/chromium/chrome/browser/feed/shared/FeedFeatures.java
|
||||
--- a/chrome/android/feed/core/java/src/org/chromium/chrome/browser/feed/shared/FeedFeatures.java
|
||||
+++ b/chrome/android/feed/core/java/src/org/chromium/chrome/browser/feed/shared/FeedFeatures.java
|
||||
@@ -35,13 +35,7 @@ public final class FeedFeatures {
|
||||
* the user is signed in and confirms it's not a child profile.
|
||||
*/
|
||||
public static boolean isWebFeedUIEnabled() {
|
||||
- // TODO(b/197354832, b/188188861): change consent check to SIGNIN.
|
||||
- return ChromeFeatureList.isEnabled(ChromeFeatureList.WEB_FEED)
|
||||
- && IdentityServicesProvider.get()
|
||||
- .getSigninManager(Profile.getLastUsedRegularProfile())
|
||||
- .getIdentityManager()
|
||||
- .hasPrimaryAccount(ConsentLevel.SYNC)
|
||||
- && !Profile.getLastUsedRegularProfile().isChild();
|
||||
+ return false;
|
||||
}
|
||||
|
||||
/**
|
||||
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
|
||||
--- 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
|
||||
@@ -75,7 +75,7 @@ public class CachedFeatureFlags {
|
||||
put(ChromeFeatureList.TAB_TO_GTS_ANIMATION, true);
|
||||
put(ChromeFeatureList.TEST_DEFAULT_DISABLED, false);
|
||||
put(ChromeFeatureList.TEST_DEFAULT_ENABLED, true);
|
||||
- put(ChromeFeatureList.INTEREST_FEED_V2, true);
|
||||
+ put(ChromeFeatureList.INTEREST_FEED_V2, false);
|
||||
put(ChromeFeatureList.THEME_REFACTOR_ANDROID, false);
|
||||
put(ChromeFeatureList.USE_CHIME_ANDROID_SDK, false);
|
||||
put(ChromeFeatureList.CCT_INCOGNITO_AVAILABLE_TO_THIRD_PARTY, false);
|
||||
@@ -77,7 +77,7 @@ public class CachedFeatureFlags {
|
||||
.put(ChromeFeatureList.TAB_TO_GTS_ANIMATION, true)
|
||||
.put(ChromeFeatureList.TEST_DEFAULT_DISABLED, false)
|
||||
.put(ChromeFeatureList.TEST_DEFAULT_ENABLED, true)
|
||||
- .put(ChromeFeatureList.INTEREST_FEED_V2, true)
|
||||
+ .put(ChromeFeatureList.INTEREST_FEED_V2, false)
|
||||
.put(ChromeFeatureList.THEME_REFACTOR_ANDROID, false)
|
||||
.put(ChromeFeatureList.USE_CHIME_ANDROID_SDK, false)
|
||||
.put(ChromeFeatureList.CCT_INCOGNITO_AVAILABLE_TO_THIRD_PARTY, false)
|
||||
diff --git a/components/feed/feed_feature_list.cc b/components/feed/feed_feature_list.cc
|
||||
--- a/components/feed/feed_feature_list.cc
|
||||
+++ b/components/feed/feed_feature_list.cc
|
||||
@@ -11,12 +11,12 @@
|
||||
@@ -12,12 +12,12 @@
|
||||
namespace feed {
|
||||
|
||||
const base::Feature kInterestFeedContentSuggestions{
|
||||
|
|
|
@ -28,7 +28,7 @@ diff --git a/components/variations/service/variations_service.cc b/components/va
|
|||
}
|
||||
|
||||
std::unique_ptr<SeedResponse> MaybeImportFirstRunSeed(
|
||||
@@ -607,7 +597,7 @@ bool VariationsService::DoFetchFromURL(const GURL& url, bool is_http_retry) {
|
||||
@@ -610,7 +600,7 @@ bool VariationsService::DoFetchFromURL(const GURL& url, bool is_http_retry) {
|
||||
// debugger or if the machine was suspended) and OnURLFetchComplete() hasn't
|
||||
// had a chance to run yet from the previous request. In this case, don't
|
||||
// start a new request and just let the previous one finish.
|
||||
|
|
|
@ -0,0 +1,21 @@
|
|||
From: csagan5 <32685696+csagan5@users.noreply.github.com>
|
||||
Date: Fri, 8 Oct 2021 00:30:26 +0200
|
||||
Subject: Disable lock icon in address bar by default
|
||||
|
||||
---
|
||||
chrome/browser/ui/toolbar/chrome_location_bar_model_delegate.cc | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/chrome/browser/ui/toolbar/chrome_location_bar_model_delegate.cc b/chrome/browser/ui/toolbar/chrome_location_bar_model_delegate.cc
|
||||
--- a/chrome/browser/ui/toolbar/chrome_location_bar_model_delegate.cc
|
||||
+++ b/chrome/browser/ui/toolbar/chrome_location_bar_model_delegate.cc
|
||||
@@ -313,5 +313,5 @@ TemplateURLService* ChromeLocationBarModelDelegate::GetTemplateURLService() {
|
||||
void ChromeLocationBarModelDelegate::RegisterProfilePrefs(
|
||||
user_prefs::PrefRegistrySyncable* registry) {
|
||||
registry->RegisterBooleanPref(omnibox::kPreventUrlElisionsInOmnibox, true);
|
||||
- registry->RegisterBooleanPref(omnibox::kLockIconInAddressBarEnabled, false);
|
||||
+ registry->RegisterBooleanPref(omnibox::kLockIconInAddressBarEnabled, true);
|
||||
}
|
||||
--
|
||||
2.17.1
|
||||
|
|
@ -3,54 +3,60 @@ Date: Thu, 4 Jul 2019 19:08:52 -0400
|
|||
Subject: Disable media router and remoting by default
|
||||
|
||||
---
|
||||
.../browser/media/router/media_router_feature.cc | 15 +++------------
|
||||
chrome/browser/profiles/profile.cc | 2 +-
|
||||
chrome/browser/profiles/profile_impl.cc | 2 +-
|
||||
3 files changed, 5 insertions(+), 14 deletions(-)
|
||||
.../media/router/media_router_feature.cc | 25 ++++++-------------
|
||||
chrome/browser/profiles/profile.cc | 2 +-
|
||||
chrome/browser/profiles/profile_impl.cc | 2 +-
|
||||
3 files changed, 9 insertions(+), 20 deletions(-)
|
||||
|
||||
diff --git a/chrome/browser/media/router/media_router_feature.cc b/chrome/browser/media/router/media_router_feature.cc
|
||||
--- a/chrome/browser/media/router/media_router_feature.cc
|
||||
+++ b/chrome/browser/media/router/media_router_feature.cc
|
||||
@@ -52,16 +52,6 @@ const base::Feature kCastFeedbackDialog{"CastFeedbackDialog",
|
||||
base::FEATURE_ENABLED_BY_DEFAULT};
|
||||
@@ -37,26 +37,15 @@ const base::Feature kAllowAllSitesToInitiateMirroring{
|
||||
"AllowAllSitesToInitiateMirroring", base::FEATURE_DISABLED_BY_DEFAULT};
|
||||
#endif // !defined(OS_ANDROID)
|
||||
|
||||
-#if defined(OS_ANDROID) || BUILDFLAG(ENABLE_EXTENSIONS)
|
||||
-namespace {
|
||||
-const PrefService::Preference* GetMediaRouterPref(
|
||||
- content::BrowserContext* context) {
|
||||
- return user_prefs::UserPrefs::Get(context)->FindPreference(
|
||||
- ::prefs::kEnableMediaRouter);
|
||||
-}
|
||||
-} // namespace
|
||||
-#endif // defined(OS_ANDROID) || BUILDFLAG(ENABLE_EXTENSIONS)
|
||||
-
|
||||
-base::flat_map<content::BrowserContext*, bool>& GetStoredPrefValues() {
|
||||
- static base::NoDestructor<base::flat_map<content::BrowserContext*, bool>>
|
||||
- stored_pref_values;
|
||||
-
|
||||
- return *stored_pref_values;
|
||||
-}
|
||||
-} // namespace
|
||||
-
|
||||
-void ClearMediaRouterStoredPrefsForTesting() {
|
||||
+/*void ClearMediaRouterStoredPrefsForTesting() {
|
||||
GetStoredPrefValues().clear();
|
||||
-}
|
||||
+}*/
|
||||
|
||||
bool MediaRouterEnabled(content::BrowserContext* context) {
|
||||
+ return false;
|
||||
+}
|
||||
+
|
||||
+/*
|
||||
#if !defined(OS_ANDROID)
|
||||
if (!base::FeatureList::IsEnabled(kMediaRouter))
|
||||
@@ -69,7 +59,7 @@ bool MediaRouterEnabled(content::BrowserContext* context) {
|
||||
#endif // !defined(OS_ANDROID)
|
||||
return false;
|
||||
@@ -80,7 +69,7 @@ bool MediaRouterEnabled(content::BrowserContext* context) {
|
||||
return allowed;
|
||||
}
|
||||
return true;
|
||||
-}
|
||||
+}*/
|
||||
|
||||
#if defined(OS_ANDROID) || BUILDFLAG(ENABLE_EXTENSIONS)
|
||||
- static base::NoDestructor<base::flat_map<content::BrowserContext*, bool>>
|
||||
+/* static base::NoDestructor<base::flat_map<content::BrowserContext*, bool>>
|
||||
stored_pref_values;
|
||||
|
||||
// If the Media Router was already enabled or disabled for |context|, then it
|
||||
@@ -90,7 +80,8 @@ bool MediaRouterEnabled(content::BrowserContext* context) {
|
||||
|
||||
// The component extension cannot be loaded in guest sessions.
|
||||
// TODO(crbug.com/756243): Figure out why.
|
||||
- return !Profile::FromBrowserContext(context)->IsGuestSession();
|
||||
+ return !Profile::FromBrowserContext(context)->IsGuestSession(); */
|
||||
+ return false;
|
||||
#else // !(defined(OS_ANDROID) || BUILDFLAG(ENABLE_EXTENSIONS))
|
||||
return false;
|
||||
#endif // defined(OS_ANDROID) || BUILDFLAG(ENABLE_EXTENSIONS)
|
||||
#if !defined(OS_ANDROID)
|
||||
void RegisterLocalStatePrefs(PrefRegistrySimple* registry) {
|
||||
diff --git a/chrome/browser/profiles/profile.cc b/chrome/browser/profiles/profile.cc
|
||||
--- a/chrome/browser/profiles/profile.cc
|
||||
+++ b/chrome/browser/profiles/profile.cc
|
||||
@@ -355,7 +355,7 @@ void Profile::RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry) {
|
||||
@@ -356,7 +356,7 @@ void Profile::RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry) {
|
||||
media_router::prefs::kMediaRouterEnableCloudServices, false,
|
||||
user_prefs::PrefRegistrySyncable::SYNCABLE_PREF);
|
||||
registry->RegisterBooleanPref(
|
||||
|
@ -62,7 +68,7 @@ diff --git a/chrome/browser/profiles/profile.cc b/chrome/browser/profiles/profil
|
|||
diff --git a/chrome/browser/profiles/profile_impl.cc b/chrome/browser/profiles/profile_impl.cc
|
||||
--- a/chrome/browser/profiles/profile_impl.cc
|
||||
+++ b/chrome/browser/profiles/profile_impl.cc
|
||||
@@ -455,7 +455,7 @@ void ProfileImpl::RegisterProfilePrefs(
|
||||
@@ -434,7 +434,7 @@ void ProfileImpl::RegisterProfilePrefs(
|
||||
#endif
|
||||
|
||||
registry->RegisterBooleanPref(prefs::kForceEphemeralProfiles, false);
|
||||
|
|
|
@ -3,9 +3,9 @@ Date: Wed, 20 Feb 2019 21:41:26 +0100
|
|||
Subject: Disable metrics collection for NTP tiles
|
||||
|
||||
---
|
||||
.../browser/android/ntp/most_visited_sites_bridge.cc | 11 ++---------
|
||||
components/ntp_tiles/BUILD.gn | 3 ---
|
||||
2 files changed, 2 insertions(+), 12 deletions(-)
|
||||
.../browser/android/ntp/most_visited_sites_bridge.cc | 10 ++--------
|
||||
components/ntp_tiles/BUILD.gn | 3 ---
|
||||
2 files changed, 2 insertions(+), 11 deletions(-)
|
||||
|
||||
diff --git a/chrome/browser/android/ntp/most_visited_sites_bridge.cc b/chrome/browser/android/ntp/most_visited_sites_bridge.cc
|
||||
--- a/chrome/browser/android/ntp/most_visited_sites_bridge.cc
|
||||
|
@ -26,7 +26,7 @@ diff --git a/chrome/browser/android/ntp/most_visited_sites_bridge.cc b/chrome/br
|
|||
|
||||
namespace {
|
||||
|
||||
@@ -237,7 +235,6 @@ void MostVisitedSitesBridge::RecordPageImpression(
|
||||
@@ -233,7 +231,6 @@ void MostVisitedSitesBridge::RecordPageImpression(
|
||||
JNIEnv* env,
|
||||
const JavaParamRef<jobject>& obj,
|
||||
jint jtiles_count) {
|
||||
|
@ -34,31 +34,30 @@ diff --git a/chrome/browser/android/ntp/most_visited_sites_bridge.cc b/chrome/br
|
|||
}
|
||||
|
||||
void MostVisitedSitesBridge::RecordTileImpression(
|
||||
@@ -250,6 +247,7 @@ void MostVisitedSitesBridge::RecordTileImpression(
|
||||
@@ -245,6 +242,7 @@ void MostVisitedSitesBridge::RecordTileImpression(
|
||||
jint jtitle_source,
|
||||
jint jsource,
|
||||
jlong jdata_generation_time_ms,
|
||||
const JavaParamRef<jobject>& jurl) {
|
||||
+#if 0
|
||||
std::unique_ptr<GURL> url = url::GURLAndroid::ToNativeGURL(env, jurl);
|
||||
TileTitleSource title_source = static_cast<TileTitleSource>(jtitle_source);
|
||||
TileSource source = static_cast<TileSource>(jsource);
|
||||
@@ -260,6 +258,7 @@ void MostVisitedSitesBridge::RecordTileImpression(
|
||||
@@ -254,6 +252,7 @@ void MostVisitedSitesBridge::RecordTileImpression(
|
||||
|
||||
ntp_tiles::metrics::RecordTileImpression(ntp_tiles::NTPTileImpression(
|
||||
jindex, source, title_source, visual_type, icon_type,
|
||||
base::Time::FromJavaTime(jdata_generation_time_ms), *url));
|
||||
jindex, source, title_source, visual_type, icon_type, *url));
|
||||
+#endif
|
||||
}
|
||||
|
||||
void MostVisitedSitesBridge::RecordOpenedMostVisitedItem(
|
||||
@@ -270,12 +269,6 @@ void MostVisitedSitesBridge::RecordOpenedMostVisitedItem(
|
||||
@@ -263,11 +262,6 @@ void MostVisitedSitesBridge::RecordOpenedMostVisitedItem(
|
||||
jint tile_type,
|
||||
jint title_source,
|
||||
jint source,
|
||||
jlong jdata_generation_time_ms) {
|
||||
jint source) {
|
||||
- ntp_tiles::metrics::RecordTileClick(ntp_tiles::NTPTileImpression(
|
||||
- index, static_cast<TileSource>(source),
|
||||
- static_cast<TileTitleSource>(title_source),
|
||||
- static_cast<TileVisualType>(tile_type), favicon_base::IconType::kInvalid,
|
||||
- base::Time::FromJavaTime(jdata_generation_time_ms),
|
||||
- /*url_for_rappor=*/GURL()));
|
||||
}
|
||||
|
||||
|
@ -75,7 +74,7 @@ diff --git a/components/ntp_tiles/BUILD.gn b/components/ntp_tiles/BUILD.gn
|
|||
"most_visited_sites.cc",
|
||||
"most_visited_sites.h",
|
||||
"ntp_tile.cc",
|
||||
@@ -84,7 +82,6 @@ source_set("unit_tests") {
|
||||
@@ -83,7 +81,6 @@ source_set("unit_tests") {
|
||||
"custom_links_manager_impl_unittest.cc",
|
||||
"custom_links_store_unittest.cc",
|
||||
"icon_cacher_impl_unittest.cc",
|
||||
|
|
|
@ -9,15 +9,15 @@ Subject: Disable metrics on all I/O threads
|
|||
diff --git a/chrome/browser/browser_process_impl.cc b/chrome/browser/browser_process_impl.cc
|
||||
--- a/chrome/browser/browser_process_impl.cc
|
||||
+++ b/chrome/browser/browser_process_impl.cc
|
||||
@@ -931,7 +931,7 @@ void BrowserProcessImpl::RegisterPrefs(PrefRegistrySimple* registry) {
|
||||
@@ -965,7 +965,7 @@ void BrowserProcessImpl::RegisterPrefs(PrefRegistrySimple* registry) {
|
||||
#endif // BUILDFLAG(IS_CHROMEOS_ASH)
|
||||
|
||||
registry->RegisterBooleanPref(metrics::prefs::kMetricsReportingEnabled,
|
||||
- GoogleUpdateSettings::GetCollectStatsConsent());
|
||||
+ false);
|
||||
registry->RegisterBooleanPref(prefs::kDevToolsRemoteDebuggingAllowed, true);
|
||||
}
|
||||
|
||||
DownloadRequestLimiter* BrowserProcessImpl::download_request_limiter() {
|
||||
--
|
||||
2.17.1
|
||||
|
||||
|
|
|
@ -17,8 +17,8 @@ diff --git a/components/offline_pages/core/offline_page_feature.cc b/components/
|
|||
- "OfflinePagesInDownloadHomeOpenInCct", base::FEATURE_ENABLED_BY_DEFAULT};
|
||||
+ "OfflinePagesInDownloadHomeOpenInCct", base::FEATURE_DISABLED_BY_DEFAULT};
|
||||
|
||||
const base::Feature kOfflinePagesCTSuppressNotificationsFeature{
|
||||
"OfflinePagesCTSuppressNotifications", base::FEATURE_DISABLED_BY_DEFAULT};
|
||||
const base::Feature kOfflineIndicatorFeature{"OfflineIndicator",
|
||||
base::FEATURE_DISABLED_BY_DEFAULT};
|
||||
--
|
||||
2.17.1
|
||||
|
||||
|
|
|
@ -12,17 +12,18 @@ a corresponding user option to individually disable their usage.
|
|||
diff --git a/chrome/browser/ui/toolbar/chrome_location_bar_model_delegate.cc b/chrome/browser/ui/toolbar/chrome_location_bar_model_delegate.cc
|
||||
--- a/chrome/browser/ui/toolbar/chrome_location_bar_model_delegate.cc
|
||||
+++ b/chrome/browser/ui/toolbar/chrome_location_bar_model_delegate.cc
|
||||
@@ -261,5 +261,5 @@ TemplateURLService* ChromeLocationBarModelDelegate::GetTemplateURLService() {
|
||||
@@ -312,6 +312,6 @@ TemplateURLService* ChromeLocationBarModelDelegate::GetTemplateURLService() {
|
||||
// static
|
||||
void ChromeLocationBarModelDelegate::RegisterProfilePrefs(
|
||||
user_prefs::PrefRegistrySyncable* registry) {
|
||||
- registry->RegisterBooleanPref(omnibox::kPreventUrlElisionsInOmnibox, false);
|
||||
+ registry->RegisterBooleanPref(omnibox::kPreventUrlElisionsInOmnibox, true);
|
||||
registry->RegisterBooleanPref(omnibox::kLockIconInAddressBarEnabled, false);
|
||||
}
|
||||
diff --git a/components/url_formatter/url_formatter.cc b/components/url_formatter/url_formatter.cc
|
||||
--- a/components/url_formatter/url_formatter.cc
|
||||
+++ b/components/url_formatter/url_formatter.cc
|
||||
@@ -464,13 +464,13 @@ ComponentResult IDNToUnicodeOneComponent(
|
||||
@@ -463,13 +463,13 @@ ComponentResult IDNToUnicodeOneComponent(
|
||||
} // namespace
|
||||
|
||||
const FormatUrlType kFormatUrlOmitNothing = 0;
|
||||
|
|
|
@ -9,7 +9,7 @@ Subject: Disable plugins enumeration
|
|||
diff --git a/third_party/blink/renderer/core/frame/local_frame.cc b/third_party/blink/renderer/core/frame/local_frame.cc
|
||||
--- a/third_party/blink/renderer/core/frame/local_frame.cc
|
||||
+++ b/third_party/blink/renderer/core/frame/local_frame.cc
|
||||
@@ -2085,10 +2085,8 @@ WebContentSettingsClient* LocalFrame::GetContentSettingsClient() {
|
||||
@@ -1851,10 +1851,8 @@ WebContentSettingsClient* LocalFrame::GetContentSettingsClient() {
|
||||
}
|
||||
|
||||
PluginData* LocalFrame::GetPluginData() const {
|
||||
|
|
|
@ -12,7 +12,7 @@ Subject: Disable references to fonts.googleapis.com
|
|||
diff --git a/components/dom_distiller/content/browser/dom_distiller_viewer_source.cc b/components/dom_distiller/content/browser/dom_distiller_viewer_source.cc
|
||||
--- a/components/dom_distiller/content/browser/dom_distiller_viewer_source.cc
|
||||
+++ b/components/dom_distiller/content/browser/dom_distiller_viewer_source.cc
|
||||
@@ -297,7 +297,7 @@ bool DomDistillerViewerSource::ShouldServiceRequest(
|
||||
@@ -300,7 +300,7 @@ bool DomDistillerViewerSource::ShouldServiceRequest(
|
||||
std::string DomDistillerViewerSource::GetContentSecurityPolicy(
|
||||
network::mojom::CSPDirectiveName directive) {
|
||||
if (directive == network::mojom::CSPDirectiveName::StyleSrc) {
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -0,0 +1,23 @@
|
|||
From: csagan5 <32685696+csagan5@users.noreply.github.com>
|
||||
Date: Thu, 19 Aug 2021 23:11:16 +0200
|
||||
Subject: Disable search engine DSE automatic permission
|
||||
|
||||
---
|
||||
components/permissions/features.cc | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/components/permissions/features.cc b/components/permissions/features.cc
|
||||
--- a/components/permissions/features.cc
|
||||
+++ b/components/permissions/features.cc
|
||||
@@ -76,7 +76,7 @@ const base::Feature kRevisedOriginHandling{"PermissionsRevisedOriginHandling",
|
||||
// When enabled, the Default Search Engine does not automatically receive the
|
||||
// "geolocation" and "notifications" permissions. DSE only applies to Android.
|
||||
const base::Feature kRevertDSEAutomaticPermissions{
|
||||
- "RevertDSEAutomaticPermissions", base::FEATURE_DISABLED_BY_DEFAULT};
|
||||
+ "RevertDSEAutomaticPermissions", base::FEATURE_ENABLED_BY_DEFAULT};
|
||||
#endif // defined(OS_ANDROID)
|
||||
|
||||
} // namespace features
|
||||
--
|
||||
2.17.1
|
||||
|
|
@ -9,7 +9,7 @@ Subject: Disable seed-based field trials
|
|||
diff --git a/components/variations/service/variations_field_trial_creator.cc b/components/variations/service/variations_field_trial_creator.cc
|
||||
--- a/components/variations/service/variations_field_trial_creator.cc
|
||||
+++ b/components/variations/service/variations_field_trial_creator.cc
|
||||
@@ -260,8 +260,8 @@ bool VariationsFieldTrialCreator::SetupFieldTrials(
|
||||
@@ -258,8 +258,8 @@ bool VariationsFieldTrialCreator::SetupFieldTrials(
|
||||
// instance is set.
|
||||
feature_list->RegisterExtraFeatureOverrides(extra_overrides);
|
||||
|
||||
|
@ -19,7 +19,7 @@ diff --git a/components/variations/service/variations_field_trial_creator.cc b/c
|
|||
if (!command_line->HasSwitch(switches::kDisableFieldTrialTestingConfig) &&
|
||||
!command_line->HasSwitch(::switches::kForceFieldTrials) &&
|
||||
!command_line->HasSwitch(switches::kVariationsServerURL)) {
|
||||
@@ -275,10 +275,12 @@ bool VariationsFieldTrialCreator::SetupFieldTrials(
|
||||
@@ -273,10 +273,12 @@ bool VariationsFieldTrialCreator::SetupFieldTrials(
|
||||
}
|
||||
#endif // BUILDFLAG(FIELDTRIAL_TESTING_ENABLED)
|
||||
bool used_seed = false;
|
||||
|
|
|
@ -43,15 +43,15 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/contextualsearc
|
|||
diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browser/flags/android/chrome_feature_list.cc
|
||||
--- a/chrome/browser/flags/android/chrome_feature_list.cc
|
||||
+++ b/chrome/browser/flags/android/chrome_feature_list.cc
|
||||
@@ -164,6 +164,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
|
||||
&kCCTRedirectPreconnect,
|
||||
&kCCTRemoveRemoteViewIds,
|
||||
&kCCTReportParallelRequestStatus,
|
||||
@@ -172,6 +172,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
|
||||
&kCCTClientDataHeader,
|
||||
&kCCTExternalLinkHandling,
|
||||
&kCCTIncognito,
|
||||
+ &kChromeSmartSelection,
|
||||
&kCCTResourcePrefetch,
|
||||
&kDarkenWebsitesCheckboxInThemesSetting,
|
||||
&kDontAutoHideBrowserControls,
|
||||
@@ -460,6 +461,9 @@ const base::Feature kChromeStartupDelegate{"ChromeStartupDelegate",
|
||||
&kCCTIncognitoAvailableToThirdParty,
|
||||
&kCCTPostMessageAPI,
|
||||
&kCCTRedirectPreconnect,
|
||||
@@ -492,6 +493,9 @@ const base::Feature kChromeSharingHub{"ChromeSharingHub",
|
||||
const base::Feature kChromeSurveyNextAndroid{"ChromeSurveyNextAndroid",
|
||||
base::FEATURE_DISABLED_BY_DEFAULT};
|
||||
|
||||
|
@ -64,10 +64,10 @@ diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browse
|
|||
diff --git a/chrome/browser/flags/android/chrome_feature_list.h b/chrome/browser/flags/android/chrome_feature_list.h
|
||||
--- a/chrome/browser/flags/android/chrome_feature_list.h
|
||||
+++ b/chrome/browser/flags/android/chrome_feature_list.h
|
||||
@@ -50,6 +50,7 @@ extern const base::Feature kChromeShareLongScreenshot;
|
||||
@@ -52,6 +52,7 @@ extern const base::Feature kChromeShareHighlightsAndroid;
|
||||
extern const base::Feature kChromeShareLongScreenshot;
|
||||
extern const base::Feature kChromeShareScreenshot;
|
||||
extern const base::Feature kChromeSharingHub;
|
||||
extern const base::Feature kChromeStartupDelegate;
|
||||
+extern const base::Feature kChromeSmartSelection;
|
||||
extern const base::Feature kChromeSurveyNextAndroid;
|
||||
extern const base::Feature kCommandLineOnNonRooted;
|
||||
|
@ -75,18 +75,18 @@ diff --git a/chrome/browser/flags/android/chrome_feature_list.h b/chrome/browser
|
|||
diff --git 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
|
||||
--- 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
|
||||
@@ -275,6 +275,7 @@ public abstract class ChromeFeatureList {
|
||||
public static final String CHROME_SHARE_LONG_SCREENSHOT = "ChromeShareLongScreenshot";
|
||||
public static final String CHROME_SHARE_SCREENSHOT = "ChromeShareScreenshot";
|
||||
public static final String CHROME_SHARING_HUB = "ChromeSharingHub";
|
||||
@@ -277,6 +277,7 @@ public abstract class ChromeFeatureList {
|
||||
public static final String CCT_EXTERNAL_LINK_HANDLING = "CCTExternalLinkHandling";
|
||||
public static final String CCT_POST_MESSAGE_API = "CCTPostMessageAPI";
|
||||
public static final String CCT_REDIRECT_PRECONNECT = "CCTRedirectPreconnect";
|
||||
+ public static final String CHROME_SMART_SELECTION = "ChromeSmartSelection";
|
||||
public static final String CHROME_STARTUP_DELEGATE = "ChromeStartupDelegate";
|
||||
public static final String CLEAR_OLD_BROWSING_DATA = "ClearOldBrowsingData";
|
||||
public static final String COMMAND_LINE_ON_NON_ROOTED = "CommandLineOnNonRooted";
|
||||
public static final String CCT_REMOVE_REMOTE_VIEW_IDS = "CCTRemoveRemoteViewIds";
|
||||
public static final String CCT_RESIZABLE_FOR_FIRST_PARTIES = "CCTResizableForFirstParties";
|
||||
public static final String CCT_RESIZABLE_FOR_THIRD_PARTIES = "CCTResizableForThirdParties";
|
||||
diff --git a/content/public/android/java/src/org/chromium/content/browser/selection/SelectionPopupControllerImpl.java b/content/public/android/java/src/org/chromium/content/browser/selection/SelectionPopupControllerImpl.java
|
||||
--- a/content/public/android/java/src/org/chromium/content/browser/selection/SelectionPopupControllerImpl.java
|
||||
+++ b/content/public/android/java/src/org/chromium/content/browser/selection/SelectionPopupControllerImpl.java
|
||||
@@ -830,7 +830,7 @@ public class SelectionPopupControllerImpl extends ActionModeCallbackHelper
|
||||
@@ -839,7 +839,7 @@ public class SelectionPopupControllerImpl extends ActionModeCallbackHelper
|
||||
menu.removeItem(R.id.select_action_menu_share);
|
||||
}
|
||||
|
||||
|
@ -98,7 +98,7 @@ diff --git a/content/public/android/java/src/org/chromium/content/browser/select
|
|||
diff --git a/testing/variations/fieldtrial_testing_config.json b/testing/variations/fieldtrial_testing_config.json
|
||||
--- a/testing/variations/fieldtrial_testing_config.json
|
||||
+++ b/testing/variations/fieldtrial_testing_config.json
|
||||
@@ -1828,6 +1828,21 @@
|
||||
@@ -1951,6 +1951,21 @@
|
||||
]
|
||||
}
|
||||
],
|
||||
|
|
|
@ -9,7 +9,7 @@ Subject: Disable some signed exchange features
|
|||
diff --git a/content/public/common/content_features.cc b/content/public/common/content_features.cc
|
||||
--- a/content/public/common/content_features.cc
|
||||
+++ b/content/public/common/content_features.cc
|
||||
@@ -667,7 +667,7 @@ const base::Feature kSignedExchangePrefetchCacheForNavigations{
|
||||
@@ -704,7 +704,7 @@ const base::Feature kSignedExchangePrefetchCacheForNavigations{
|
||||
// Signed Exchange Reporting for distributors
|
||||
// https://www.chromestatus.com/features/5687904902840320
|
||||
const base::Feature kSignedExchangeReportingForDistributors{
|
||||
|
@ -18,7 +18,7 @@ diff --git a/content/public/common/content_features.cc b/content/public/common/c
|
|||
|
||||
// Subresource prefetching+loading via Signed HTTP Exchange
|
||||
// https://www.chromestatus.com/features/5126805474246656
|
||||
@@ -677,7 +677,7 @@ const base::Feature kSignedExchangeSubresourcePrefetch{
|
||||
@@ -714,7 +714,7 @@ const base::Feature kSignedExchangeSubresourcePrefetch{
|
||||
// Origin-Signed HTTP Exchanges (for WebPackage Loading)
|
||||
// https://www.chromestatus.com/features/5745285984681984
|
||||
const base::Feature kSignedHTTPExchange{"SignedHTTPExchange",
|
||||
|
|
|
@ -24,7 +24,7 @@ diff --git a/chrome/common/safe_browsing/BUILD.gn b/chrome/common/safe_browsing/
|
|||
--- a/chrome/common/safe_browsing/BUILD.gn
|
||||
+++ b/chrome/common/safe_browsing/BUILD.gn
|
||||
@@ -41,38 +41,6 @@ if (safe_browsing_mode == 1) {
|
||||
public_deps = [ "//components/safe_browsing/core:csd_proto" ]
|
||||
public_deps = [ "//components/safe_browsing/core/common/proto:csd_proto" ]
|
||||
}
|
||||
|
||||
- source_set("rar_analyzer") {
|
||||
|
@ -38,7 +38,7 @@ diff --git a/chrome/common/safe_browsing/BUILD.gn b/chrome/common/safe_browsing/
|
|||
- ":download_type_util",
|
||||
- "//base",
|
||||
- "//base:i18n",
|
||||
- "//components/safe_browsing/core:features",
|
||||
- "//components/safe_browsing/core/common",
|
||||
- "//third_party/unrar:unrar",
|
||||
- ]
|
||||
-
|
||||
|
@ -56,7 +56,7 @@ diff --git a/chrome/common/safe_browsing/BUILD.gn b/chrome/common/safe_browsing/
|
|||
- "UNRAR_NO_EXCEPTIONS",
|
||||
- ]
|
||||
-
|
||||
- public_deps = [ "//components/safe_browsing/core:csd_proto" ]
|
||||
- public_deps = [ "//components/safe_browsing/core/common/proto:csd_proto" ]
|
||||
- }
|
||||
-
|
||||
if (is_mac) {
|
||||
|
@ -67,7 +67,7 @@ diff --git a/chrome/common/safe_browsing/BUILD.gn b/chrome/common/safe_browsing/
|
|||
":binary_feature_extractor",
|
||||
":download_type_util",
|
||||
- ":rar_analyzer",
|
||||
"//components/safe_browsing/core:features",
|
||||
"//components/safe_browsing/core/common",
|
||||
]
|
||||
|
||||
diff --git a/chrome/services/file_util/safe_archive_analyzer.cc b/chrome/services/file_util/safe_archive_analyzer.cc
|
||||
|
|
|
@ -17,18 +17,18 @@ Revert "[Text Fragment] Unflag fragment directive removal."
|
|||
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
|
||||
--- a/chrome/browser/about_flags.cc
|
||||
+++ b/chrome/browser/about_flags.cc
|
||||
@@ -5295,6 +5295,7 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
|
||||
{"happiness-tracking-surveys-for-desktop-settings-privacy",
|
||||
flag_descriptions::kHappinessTrackingSurveysForDesktopSettingsPrivacyName,
|
||||
@@ -5383,6 +5383,7 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
flag_descriptions::kSharingHubDesktopOmniboxDescription, kOsDesktop,
|
||||
FEATURE_VALUE_TYPE(sharing_hub::kSharingHubDesktopOmnibox)},
|
||||
#endif // defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX)
|
||||
+ // will override runtime text fragment identifiers setting too
|
||||
flag_descriptions::
|
||||
kHappinessTrackingSurveysForDesktopSettingsPrivacyDescription,
|
||||
kOsDesktop,
|
||||
|
||||
#if BUILDFLAG(IS_CHROMEOS_ASH)
|
||||
{"ash-enable-pip-rounded-corners",
|
||||
diff --git a/chrome/browser/flag-metadata.json b/chrome/browser/flag-metadata.json
|
||||
--- a/chrome/browser/flag-metadata.json
|
||||
+++ b/chrome/browser/flag-metadata.json
|
||||
@@ -2812,7 +2812,7 @@
|
||||
@@ -2941,7 +2941,7 @@
|
||||
{
|
||||
"name": "ev-details-in-page-info",
|
||||
"owners": [ "cthomp" ],
|
||||
|
@ -40,7 +40,7 @@ diff --git a/chrome/browser/flag-metadata.json b/chrome/browser/flag-metadata.js
|
|||
diff --git a/chrome/browser/ui/prefs/prefs_tab_helper.cc b/chrome/browser/ui/prefs/prefs_tab_helper.cc
|
||||
--- a/chrome/browser/ui/prefs/prefs_tab_helper.cc
|
||||
+++ b/chrome/browser/ui/prefs/prefs_tab_helper.cc
|
||||
@@ -356,7 +356,7 @@ void PrefsTabHelper::RegisterProfilePrefs(
|
||||
@@ -360,7 +360,7 @@ void PrefsTabHelper::RegisterProfilePrefs(
|
||||
prefs::kEnableReferrers,
|
||||
!base::FeatureList::IsEnabled(features::kNoReferrers));
|
||||
registry->RegisterBooleanPref(prefs::kEnableEncryptedMedia, true);
|
||||
|
@ -52,7 +52,7 @@ diff --git a/chrome/browser/ui/prefs/prefs_tab_helper.cc b/chrome/browser/ui/pre
|
|||
diff --git a/content/child/runtime_features.cc b/content/child/runtime_features.cc
|
||||
--- a/content/child/runtime_features.cc
|
||||
+++ b/content/child/runtime_features.cc
|
||||
@@ -271,6 +271,7 @@ void SetRuntimeFeaturesFromChromiumFeatures() {
|
||||
@@ -263,6 +263,7 @@ void SetRuntimeFeaturesFromChromiumFeatures() {
|
||||
{wf::EnableMouseSubframeNoImplicitCapture,
|
||||
features::kMouseSubframeNoImplicitCapture},
|
||||
{wf::EnableNeverSlowMode, features::kNeverSlowMode},
|
||||
|
@ -63,7 +63,7 @@ diff --git a/content/child/runtime_features.cc b/content/child/runtime_features.
|
|||
diff --git a/third_party/blink/common/features.cc b/third_party/blink/common/features.cc
|
||||
--- a/third_party/blink/common/features.cc
|
||||
+++ b/third_party/blink/common/features.cc
|
||||
@@ -336,7 +336,7 @@ const base::Feature kStorageAccessAPI{"StorageAccessAPI",
|
||||
@@ -370,7 +370,7 @@ const base::Feature kStorageAccessAPI{"StorageAccessAPI",
|
||||
|
||||
// Enable text snippets in URL fragments. https://crbug.com/919204.
|
||||
const base::Feature kTextFragmentAnchor{"TextFragmentAnchor",
|
||||
|
@ -75,7 +75,7 @@ diff --git a/third_party/blink/common/features.cc b/third_party/blink/common/fea
|
|||
diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink/renderer/core/dom/document.cc
|
||||
--- a/third_party/blink/renderer/core/dom/document.cc
|
||||
+++ b/third_party/blink/renderer/core/dom/document.cc
|
||||
@@ -4061,6 +4061,10 @@ void Document::SetURL(const KURL& url) {
|
||||
@@ -4070,6 +4070,10 @@ void Document::SetURL(const KURL& url) {
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -86,7 +86,7 @@ diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink
|
|||
// Strip the fragment directive from the URL fragment. E.g. "#id:~:text=a"
|
||||
// --> "#id". See https://github.com/WICG/scroll-to-text-fragment.
|
||||
String fragment = new_url.FragmentIdentifier();
|
||||
@@ -4074,6 +4078,7 @@ void Document::SetURL(const KURL& url) {
|
||||
@@ -4083,6 +4087,7 @@ void Document::SetURL(const KURL& url) {
|
||||
else
|
||||
new_url.SetFragmentIdentifier(fragment.Substring(0, start_pos));
|
||||
}
|
||||
|
@ -97,7 +97,7 @@ diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink
|
|||
diff --git a/third_party/blink/renderer/core/page/scrolling/text_fragment_anchor_metrics_test.cc b/third_party/blink/renderer/core/page/scrolling/text_fragment_anchor_metrics_test.cc
|
||||
--- a/third_party/blink/renderer/core/page/scrolling/text_fragment_anchor_metrics_test.cc
|
||||
+++ b/third_party/blink/renderer/core/page/scrolling/text_fragment_anchor_metrics_test.cc
|
||||
@@ -1248,34 +1248,25 @@ TEST_P(TextFragmentRelatedMetricTest, ElementIdSuccessFailureCounts) {
|
||||
@@ -1249,34 +1249,25 @@ TEST_P(TextFragmentRelatedMetricTest, ElementIdSuccessFailureCounts) {
|
||||
// result of the element-id fragment if a text directive is successfully
|
||||
// parsed. If the feature is off we treat the text directive as an element-id
|
||||
// and should count the result.
|
||||
|
@ -145,7 +145,7 @@ diff --git a/third_party/blink/renderer/core/page/scrolling/text_fragment_anchor
|
|||
diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5 b/third_party/blink/renderer/platform/runtime_enabled_features.json5
|
||||
--- a/third_party/blink/renderer/platform/runtime_enabled_features.json5
|
||||
+++ b/third_party/blink/renderer/platform/runtime_enabled_features.json5
|
||||
@@ -2052,8 +2052,7 @@
|
||||
@@ -2130,8 +2130,7 @@
|
||||
},
|
||||
{
|
||||
name: "TextFragmentIdentifiers",
|
||||
|
|
|
@ -10,7 +10,7 @@ This causes unnecessary SSDP network spam
|
|||
diff --git a/chrome/browser/media/router/discovery/dial/dial_registry.cc b/chrome/browser/media/router/discovery/dial/dial_registry.cc
|
||||
--- a/chrome/browser/media/router/discovery/dial/dial_registry.cc
|
||||
+++ b/chrome/browser/media/router/discovery/dial/dial_registry.cc
|
||||
@@ -192,10 +192,6 @@ void DialRegistry::StartPeriodicDiscovery() {
|
||||
@@ -191,10 +191,6 @@ void DialRegistry::StartPeriodicDiscovery() {
|
||||
|
||||
dial_ = CreateDialService();
|
||||
dial_->AddObserver(this);
|
||||
|
@ -21,7 +21,7 @@ diff --git a/chrome/browser/media/router/discovery/dial/dial_registry.cc b/chrom
|
|||
}
|
||||
|
||||
void DialRegistry::DoDiscovery() {
|
||||
@@ -209,8 +205,6 @@ void DialRegistry::StopPeriodicDiscovery() {
|
||||
@@ -208,8 +204,6 @@ void DialRegistry::StopPeriodicDiscovery() {
|
||||
if (!dial_)
|
||||
return;
|
||||
|
||||
|
|
|
@ -10,9 +10,9 @@ author: Chad Miller <chad.miller@canonical.com>
|
|||
diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browser_prefs.cc
|
||||
--- a/chrome/browser/prefs/browser_prefs.cc
|
||||
+++ b/chrome/browser/prefs/browser_prefs.cc
|
||||
@@ -630,7 +630,7 @@ void RegisterProfilePrefsForMigration(
|
||||
@@ -698,7 +698,7 @@ void RegisterProfilePrefsForMigration(
|
||||
|
||||
registry->RegisterDictionaryPref(kObservedSessionTime);
|
||||
chrome_browser_net::secure_dns::RegisterProbesSettingBackupPref(registry);
|
||||
|
||||
- registry->RegisterBooleanPref(kBlockThirdPartyCookies, false);
|
||||
+ registry->RegisterBooleanPref(kBlockThirdPartyCookies, true);
|
||||
|
|
|
@ -9,7 +9,7 @@ Subject: Disable unified autoplay feature
|
|||
diff --git a/media/base/media_switches.cc b/media/base/media_switches.cc
|
||||
--- a/media/base/media_switches.cc
|
||||
+++ b/media/base/media_switches.cc
|
||||
@@ -466,7 +466,7 @@ const base::Feature kUseR16Texture{"use-r16-texture",
|
||||
@@ -498,7 +498,7 @@ const base::Feature kUseR16Texture{"use-r16-texture",
|
||||
// Enables the Unified Autoplay policy by overriding the platform's default
|
||||
// autoplay policy.
|
||||
const base::Feature kUnifiedAutoplay{"UnifiedAutoplay",
|
||||
|
|
|
@ -9,7 +9,7 @@ Subject: Do not build API keys infobar
|
|||
diff --git a/chrome/browser/ui/BUILD.gn b/chrome/browser/ui/BUILD.gn
|
||||
--- a/chrome/browser/ui/BUILD.gn
|
||||
+++ b/chrome/browser/ui/BUILD.gn
|
||||
@@ -1172,8 +1172,6 @@ static_library("ui") {
|
||||
@@ -1195,8 +1195,6 @@ static_library("ui") {
|
||||
"singleton_tabs.h",
|
||||
"startup/automation_infobar_delegate.cc",
|
||||
"startup/automation_infobar_delegate.h",
|
||||
|
|
|
@ -3,10 +3,33 @@ Date: Thu, 27 Feb 2020 23:23:59 +0100
|
|||
Subject: Do not compile QR code sharing
|
||||
|
||||
---
|
||||
.../ChromeProvidedSharingOptionsProvider.java | 16 ----------------
|
||||
.../chrome/browser/ui/RootUiCoordinator.java | 5 -----
|
||||
.../ChromeProvidedSharingOptionsProvider.java | 17 -----------------
|
||||
chrome/browser/share/android/java_sources.gni | 18 ------------------
|
||||
2 files changed, 34 deletions(-)
|
||||
3 files changed, 40 deletions(-)
|
||||
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordinator.java b/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordinator.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordinator.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordinator.java
|
||||
@@ -78,7 +78,6 @@ import org.chromium.chrome.browser.share.ShareButtonController;
|
||||
import org.chromium.chrome.browser.share.ShareDelegate;
|
||||
import org.chromium.chrome.browser.share.ShareDelegate.ShareOrigin;
|
||||
import org.chromium.chrome.browser.share.ShareUtils;
|
||||
-import org.chromium.chrome.browser.share.qrcode.QrCodeDialog;
|
||||
import org.chromium.chrome.browser.tab.AccessibilityVisibilityHandler;
|
||||
import org.chromium.chrome.browser.tab.AutofillSessionLifetimeController;
|
||||
import org.chromium.chrome.browser.tab.Tab;
|
||||
@@ -401,10 +400,6 @@ public class RootUiCoordinator
|
||||
}
|
||||
|
||||
public void onAttachFragment(Fragment fragment) {
|
||||
- if (fragment instanceof QrCodeDialog) {
|
||||
- QrCodeDialog qrCodeDialog = (QrCodeDialog) fragment;
|
||||
- qrCodeDialog.setAndroidPermissionDelegate(mWindowAndroid);
|
||||
- }
|
||||
}
|
||||
|
||||
@Override
|
||||
diff --git a/chrome/browser/share/android/java/src/org/chromium/chrome/browser/share/share_sheet/ChromeProvidedSharingOptionsProvider.java b/chrome/browser/share/android/java/src/org/chromium/chrome/browser/share/share_sheet/ChromeProvidedSharingOptionsProvider.java
|
||||
--- a/chrome/browser/share/android/java/src/org/chromium/chrome/browser/share/share_sheet/ChromeProvidedSharingOptionsProvider.java
|
||||
+++ b/chrome/browser/share/android/java/src/org/chromium/chrome/browser/share/share_sheet/ChromeProvidedSharingOptionsProvider.java
|
||||
|
@ -18,7 +41,7 @@ diff --git a/chrome/browser/share/android/java/src/org/chromium/chrome/browser/s
|
|||
import org.chromium.chrome.browser.share.screenshot.ScreenshotCoordinator;
|
||||
import org.chromium.chrome.browser.share.send_tab_to_self.SendTabToSelfCoordinator;
|
||||
import org.chromium.chrome.browser.share.share_sheet.ShareSheetPropertyModelBuilder.ContentType;
|
||||
@@ -255,9 +254,6 @@ class ChromeProvidedSharingOptionsProvider {
|
||||
@@ -257,9 +256,6 @@ public class ChromeProvidedSharingOptionsProvider {
|
||||
ChromeFeatureList.PREEMPTIVE_LINK_TO_TEXT_GENERATION)) {
|
||||
mOrderedFirstPartyOptions.add(createHighlightsFirstPartyOption());
|
||||
}
|
||||
|
@ -28,7 +51,7 @@ diff --git a/chrome/browser/share/android/java/src/org/chromium/chrome/browser/s
|
|||
if (UserPrefs.get(Profile.getLastUsedRegularProfile()).getBoolean(Pref.PRINTING_ENABLED)) {
|
||||
mOrderedFirstPartyOptions.add(createPrintingFirstPartyOption());
|
||||
}
|
||||
@@ -404,18 +400,6 @@ class ChromeProvidedSharingOptionsProvider {
|
||||
@@ -408,19 +404,6 @@ public class ChromeProvidedSharingOptionsProvider {
|
||||
.build();
|
||||
}
|
||||
|
||||
|
@ -38,7 +61,8 @@ diff --git a/chrome/browser/share/android/java/src/org/chromium/chrome/browser/s
|
|||
- .setIcon(R.drawable.qr_code, R.string.qr_code_share_icon_label)
|
||||
- .setFeatureNameForMetrics("SharingHubAndroid.QRCodeSelected")
|
||||
- .setOnClickCallback((view) -> {
|
||||
- QrCodeCoordinator qrCodeCoordinator = new QrCodeCoordinator(mActivity, mUrl);
|
||||
- QrCodeCoordinator qrCodeCoordinator = new QrCodeCoordinator(
|
||||
- mActivity, mUrl, mTabProvider.get().getWindowAndroid());
|
||||
- qrCodeCoordinator.show();
|
||||
- })
|
||||
- .build();
|
||||
|
@ -50,7 +74,7 @@ diff --git a/chrome/browser/share/android/java/src/org/chromium/chrome/browser/s
|
|||
diff --git a/chrome/browser/share/android/java_sources.gni b/chrome/browser/share/android/java_sources.gni
|
||||
--- a/chrome/browser/share/android/java_sources.gni
|
||||
+++ b/chrome/browser/share/android/java_sources.gni
|
||||
@@ -22,24 +22,6 @@ share_java_sources = [
|
||||
@@ -21,24 +21,6 @@ share_java_sources = [
|
||||
"//chrome/browser/share/android/java/src/org/chromium/chrome/browser/share/long_screenshots/bitmap_generation/LongScreenshotsTabService.java",
|
||||
"//chrome/browser/share/android/java/src/org/chromium/chrome/browser/share/long_screenshots/bitmap_generation/LongScreenshotsTabServiceFactory.java",
|
||||
"//chrome/browser/share/android/java/src/org/chromium/chrome/browser/share/long_screenshots/bitmap_generation/ScreenshotBoundsManager.java",
|
||||
|
|
|
@ -1,64 +0,0 @@
|
|||
From: csagan5 <32685696+csagan5@users.noreply.github.com>
|
||||
Date: Sat, 10 Nov 2018 19:47:39 +0100
|
||||
Subject: Do not grant notifications to default search engine
|
||||
|
||||
Block gelocation by default instead of granting it for non-enterprise use cases (almost the totality of users)
|
||||
---
|
||||
.../search_permissions_service.cc | 20 ++++++-------------
|
||||
1 file changed, 6 insertions(+), 14 deletions(-)
|
||||
|
||||
diff --git a/chrome/browser/android/search_permissions/search_permissions_service.cc b/chrome/browser/android/search_permissions/search_permissions_service.cc
|
||||
--- a/chrome/browser/android/search_permissions/search_permissions_service.cc
|
||||
+++ b/chrome/browser/android/search_permissions/search_permissions_service.cc
|
||||
@@ -193,7 +193,7 @@ void SearchPermissionsService::ResetDSEPermission(ContentSettingsType type) {
|
||||
DCHECK(dse_url.is_empty() || IsPermissionControlledByDSE(type, dse_origin));
|
||||
|
||||
if (!dse_url.is_empty())
|
||||
- SetContentSetting(dse_url, type, CONTENT_SETTING_ALLOW);
|
||||
+ SetContentSetting(dse_url, type, CONTENT_SETTING_BLOCK);
|
||||
}
|
||||
|
||||
void SearchPermissionsService::ResetDSEPermissions() {
|
||||
@@ -336,11 +336,7 @@ void SearchPermissionsService::InitializeSettingsIfNeeded() {
|
||||
return;
|
||||
}
|
||||
|
||||
- // If we get to here, the DSE is not disabled by enterprise policy. If it was
|
||||
- // previously enterprise controlled, we initialize the setting to BLOCK since
|
||||
- // we don't know what the user's setting was previously.
|
||||
- bool was_enterprise_controlled =
|
||||
- pref_service_->GetBoolean(prefs::kDSEWasDisabledByPolicy);
|
||||
+ // If this line is reached then DSE is not disabled by enterprise policy.
|
||||
pref_service_->ClearPref(prefs::kDSEWasDisabledByPolicy);
|
||||
|
||||
// Initialize the pref for geolocation if it hasn't been initialized yet.
|
||||
@@ -373,10 +369,8 @@ void SearchPermissionsService::InitializeSettingsIfNeeded() {
|
||||
pref_service_->ClearPref(prefs::kDSEGeolocationSettingDeprecated);
|
||||
} else if (dse_geolocation_setting == CONTENT_SETTING_ASK) {
|
||||
// If the user hasn't explicitly allowed or blocked geolocation for the
|
||||
- // DSE, initialize it to allowed.
|
||||
- dse_geolocation_setting = was_enterprise_controlled
|
||||
- ? CONTENT_SETTING_BLOCK
|
||||
- : CONTENT_SETTING_ALLOW;
|
||||
+ // DSE, initialize it to blocked.
|
||||
+ dse_geolocation_setting = CONTENT_SETTING_BLOCK;
|
||||
}
|
||||
|
||||
// Update the content setting with the auto-grants for the DSE.
|
||||
@@ -401,11 +395,9 @@ void SearchPermissionsService::InitializeSettingsIfNeeded() {
|
||||
GetContentSetting(dse_origin, ContentSettingsType::NOTIFICATIONS);
|
||||
ContentSetting dse_notifications_setting = notifications_setting_to_restore;
|
||||
// If the user hasn't explicitly allowed or blocked notifications for the
|
||||
- // DSE, initialize it to allowed.
|
||||
+ // DSE, initialize it to blocked.
|
||||
if (dse_notifications_setting == CONTENT_SETTING_ASK) {
|
||||
- dse_notifications_setting = was_enterprise_controlled
|
||||
- ? CONTENT_SETTING_BLOCK
|
||||
- : CONTENT_SETTING_ALLOW;
|
||||
+ dse_notifications_setting = CONTENT_SETTING_BLOCK;
|
||||
}
|
||||
|
||||
// Update the content setting with the auto-grants for the DSE.
|
||||
--
|
||||
2.17.1
|
||||
|
|
@ -9,7 +9,7 @@ Subject: Do not hide component extensions
|
|||
diff --git a/extensions/common/extension.cc b/extensions/common/extension.cc
|
||||
--- a/extensions/common/extension.cc
|
||||
+++ b/extensions/common/extension.cc
|
||||
@@ -440,9 +440,8 @@ bool Extension::ShouldDisplayInNewTabPage() const {
|
||||
@@ -439,9 +439,8 @@ bool Extension::ShouldDisplayInNewTabPage() const {
|
||||
}
|
||||
|
||||
bool Extension::ShouldExposeViaManagementAPI() const {
|
||||
|
|
|
@ -9,7 +9,7 @@ Subject: Do not store passwords by default
|
|||
diff --git a/components/password_manager/core/browser/password_manager.cc b/components/password_manager/core/browser/password_manager.cc
|
||||
--- a/components/password_manager/core/browser/password_manager.cc
|
||||
+++ b/components/password_manager/core/browser/password_manager.cc
|
||||
@@ -207,10 +207,10 @@ bool HasMutedCredentials(base::span<const InsecureCredential> credentials,
|
||||
@@ -204,10 +204,10 @@ bool HasMutedCredentials(base::span<const InsecureCredential> credentials,
|
||||
void PasswordManager::RegisterProfilePrefs(
|
||||
user_prefs::PrefRegistrySyncable* registry) {
|
||||
registry->RegisterBooleanPref(
|
||||
|
|
|
@ -18,7 +18,7 @@ diff --git a/chrome/browser/net/stub_resolver_config_reader.cc b/chrome/browser/
|
|||
} else if (entries.count("dns-over-https@2")) {
|
||||
// The user has "Disabled" selected.
|
||||
local_state_->SetString(prefs::kDnsOverHttpsMode,
|
||||
@@ -331,22 +331,7 @@ SecureDnsConfig StubResolverConfigReader::GetAndUpdateConfiguration(
|
||||
@@ -334,22 +334,7 @@ SecureDnsConfig StubResolverConfigReader::GetAndUpdateConfiguration(
|
||||
check_parental_controls = false;
|
||||
}
|
||||
|
||||
|
|
|
@ -10,7 +10,7 @@ Subject: Enable SPPI for devices with enough memory
|
|||
diff --git a/chrome/common/chrome_features.cc b/chrome/common/chrome_features.cc
|
||||
--- a/chrome/common/chrome_features.cc
|
||||
+++ b/chrome/common/chrome_features.cc
|
||||
@@ -879,11 +879,7 @@ const base::Feature kShow10_10ObsoleteInfobar{
|
||||
@@ -896,11 +896,7 @@ const base::Feature kShow10_10ObsoleteInfobar{
|
||||
// browser_features, as they are only used on the browser side.
|
||||
const base::Feature kSitePerProcess {
|
||||
"site-per-process",
|
||||
|
|
|
@ -11,27 +11,27 @@ Unexpire #darken-websites-checkbox-in-themes-setting
|
|||
diff --git a/chrome/browser/flag-metadata.json b/chrome/browser/flag-metadata.json
|
||||
--- a/chrome/browser/flag-metadata.json
|
||||
+++ b/chrome/browser/flag-metadata.json
|
||||
@@ -1076,7 +1076,7 @@
|
||||
@@ -903,7 +903,7 @@
|
||||
{
|
||||
"name": "disable-keepalive-fetch",
|
||||
"owners": [ "yhirano" ],
|
||||
- "expiry_milestone": 83
|
||||
"name": "darken-websites-checkbox-in-themes-setting",
|
||||
"owners": [ "lazzzis@google.com", "twellington" ],
|
||||
- "expiry_milestone": 98
|
||||
+ "expiry_milestone": -1
|
||||
},
|
||||
{
|
||||
"name": "disable-office-editing-component-app",
|
||||
"name": "dcheck-is-fatal",
|
||||
diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browser/flags/android/chrome_feature_list.cc
|
||||
--- a/chrome/browser/flags/android/chrome_feature_list.cc
|
||||
+++ b/chrome/browser/flags/android/chrome_feature_list.cc
|
||||
@@ -528,7 +528,7 @@ const base::Feature kContextualSearchTranslations{
|
||||
@@ -560,7 +560,7 @@ const base::Feature kContextualSearchTranslations{
|
||||
"ContextualSearchTranslations", base::FEATURE_DISABLED_BY_DEFAULT};
|
||||
|
||||
const base::Feature kDarkenWebsitesCheckboxInThemesSetting{
|
||||
- "DarkenWebsitesCheckboxInThemesSetting", base::FEATURE_DISABLED_BY_DEFAULT};
|
||||
+ "DarkenWebsitesCheckboxInThemesSetting", base::FEATURE_ENABLED_BY_DEFAULT};
|
||||
|
||||
const base::Feature kDirectActions{"DirectActions",
|
||||
base::FEATURE_ENABLED_BY_DEFAULT};
|
||||
const base::Feature kQuickActionSearchWidgetAndroidDinoVariant{
|
||||
"QuickActionSearchWidgetAndroidDinoVariant",
|
||||
--
|
||||
2.17.1
|
||||
|
||||
|
|
|
@ -42,7 +42,7 @@ Excerpt from https://github.com/bromite/bromite/issues/226
|
|||
diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn
|
||||
--- a/build/config/compiler/BUILD.gn
|
||||
+++ b/build/config/compiler/BUILD.gn
|
||||
@@ -342,6 +342,10 @@ config("compiler") {
|
||||
@@ -349,6 +349,10 @@ config("compiler") {
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -13,7 +13,7 @@ PartitionNelAndReportingByNetworkIsolationKey
|
|||
diff --git a/net/base/features.cc b/net/base/features.cc
|
||||
--- a/net/base/features.cc
|
||||
+++ b/net/base/features.cc
|
||||
@@ -74,30 +74,30 @@ const base::Feature kNetworkQualityEstimator{"NetworkQualityEstimator",
|
||||
@@ -93,30 +93,30 @@ const base::Feature kNetworkQualityEstimator{"NetworkQualityEstimator",
|
||||
base::FEATURE_DISABLED_BY_DEFAULT};
|
||||
|
||||
const base::Feature kSplitCacheByNetworkIsolationKey{
|
||||
|
|
|
@ -9,7 +9,7 @@ Subject: Enable prefetch-privacy-changes by default
|
|||
diff --git a/third_party/blink/common/features.cc b/third_party/blink/common/features.cc
|
||||
--- a/third_party/blink/common/features.cc
|
||||
+++ b/third_party/blink/common/features.cc
|
||||
@@ -361,7 +361,7 @@ const base::Feature kComputePressure{"ComputePressure",
|
||||
@@ -399,7 +399,7 @@ const base::Feature kComputePressure{"ComputePressure",
|
||||
// Prefetch request properties are updated to be privacy-preserving. See
|
||||
// crbug.com/988956.
|
||||
const base::Feature kPrefetchPrivacyChanges{"PrefetchPrivacyChanges",
|
||||
|
|
414
build/patches/Enable-share-intent.patch
Normal file
414
build/patches/Enable-share-intent.patch
Normal file
|
@ -0,0 +1,414 @@
|
|||
From: uazo <uazo@users.noreply.github.com>
|
||||
Date: Sun, 3 Oct 2021 16:18:24 +0000
|
||||
Subject: Enable share intent
|
||||
|
||||
This patch allows to activate the management of android.intent.action.SEND
|
||||
with new flag "shared-intent-ui" default active.
|
||||
|
||||
See also: https://github.com/bromite/bromite/issues/1062
|
||||
---
|
||||
chrome/android/chrome_java_resources.gni | 1 +
|
||||
chrome/android/chrome_java_sources.gni | 1 +
|
||||
chrome/android/java/AndroidManifest.xml | 18 +++
|
||||
.../res/layout/sharing_intent_content.xml | 83 +++++++++++++
|
||||
.../init/ProcessInitializationHandler.java | 3 +
|
||||
.../SharedIntentShareActivity.java | 114 ++++++++++++++++++
|
||||
chrome/browser/about_flags.cc | 4 +
|
||||
chrome/browser/flag_descriptions.cc | 5 +
|
||||
chrome/browser/flag_descriptions.h | 3 +
|
||||
.../flags/android/chrome_feature_list.cc | 4 +
|
||||
.../flags/android/chrome_feature_list.h | 1 +
|
||||
.../browser/flags/ChromeFeatureList.java | 1 +
|
||||
.../strings/android_chrome_strings.grd | 13 ++
|
||||
13 files changed, 251 insertions(+)
|
||||
create mode 100644 chrome/android/java/res/layout/sharing_intent_content.xml
|
||||
create mode 100644 chrome/android/java/src/org/chromium/chrome/browser/sharing/shared_intent/SharedIntentShareActivity.java
|
||||
|
||||
diff --git a/chrome/android/chrome_java_resources.gni b/chrome/android/chrome_java_resources.gni
|
||||
--- a/chrome/android/chrome_java_resources.gni
|
||||
+++ b/chrome/android/chrome_java_resources.gni
|
||||
@@ -719,6 +719,7 @@ chrome_java_resources = [
|
||||
"java/res/layout/share_sheet_content.xml",
|
||||
"java/res/layout/share_sheet_item.xml",
|
||||
"java/res/layout/sharing_device_picker.xml",
|
||||
+ "java/res/layout/sharing_intent_content.xml",
|
||||
"java/res/layout/sheet_tab_toolbar.xml",
|
||||
"java/res/layout/signin_activity.xml",
|
||||
"java/res/layout/status_indicator_container.xml",
|
||||
diff --git a/chrome/android/chrome_java_sources.gni b/chrome/android/chrome_java_sources.gni
|
||||
--- a/chrome/android/chrome_java_sources.gni
|
||||
+++ b/chrome/android/chrome_java_sources.gni
|
||||
@@ -1053,6 +1053,7 @@ chrome_java_sources = [
|
||||
"java/src/org/chromium/chrome/browser/sharing/shared_clipboard/SharedClipboardMessageHandler.java",
|
||||
"java/src/org/chromium/chrome/browser/sharing/shared_clipboard/SharedClipboardMetrics.java",
|
||||
"java/src/org/chromium/chrome/browser/sharing/shared_clipboard/SharedClipboardShareActivity.java",
|
||||
+ "java/src/org/chromium/chrome/browser/sharing/shared_intent/SharedIntentShareActivity.java",
|
||||
"java/src/org/chromium/chrome/browser/sharing/sms_fetcher/SmsFetcherMessageHandler.java",
|
||||
"java/src/org/chromium/chrome/browser/site_settings/ChromeSiteSettingsDelegate.java",
|
||||
"java/src/org/chromium/chrome/browser/site_settings/CookieControlsServiceBridge.java",
|
||||
diff --git a/chrome/android/java/AndroidManifest.xml b/chrome/android/java/AndroidManifest.xml
|
||||
--- a/chrome/android/java/AndroidManifest.xml
|
||||
+++ b/chrome/android/java/AndroidManifest.xml
|
||||
@@ -810,6 +810,24 @@ by a child template that "extends" this file.
|
||||
</intent-filter>
|
||||
</activity>
|
||||
|
||||
+ <activity
|
||||
+ android:name="org.chromium.chrome.browser.sharing.shared_intent.SharedIntentShareActivity"
|
||||
+ android:icon="@drawable/ic_launcher"
|
||||
+ android:roundIcon="@drawable/ic_launcher_round"
|
||||
+ android:label="@string/shared_intent_share_activity_title"
|
||||
+ android:enabled="false"
|
||||
+ android:excludeFromRecents="true"
|
||||
+ android:exported="true"
|
||||
+ android:noHistory="true"
|
||||
+ android:theme="@style/Theme.Chromium.Activity.TranslucentNoAnimations"
|
||||
+ android:configChanges="orientation|keyboardHidden|keyboard|screenSize|mcc|mnc|screenLayout|smallestScreenSize" >
|
||||
+ <intent-filter>
|
||||
+ <action android:name="android.intent.action.SEND" />
|
||||
+ <category android:name="android.intent.category.DEFAULT" />
|
||||
+ <data android:mimeType="text/plain" />
|
||||
+ </intent-filter>
|
||||
+ </activity>
|
||||
+
|
||||
<activity
|
||||
android:name="org.chromium.chrome.browser.vr.VrCancelAnimationActivity"
|
||||
android:exported="false"
|
||||
diff --git a/chrome/android/java/res/layout/sharing_intent_content.xml b/chrome/android/java/res/layout/sharing_intent_content.xml
|
||||
new file mode 100644
|
||||
--- /dev/null
|
||||
+++ b/chrome/android/java/res/layout/sharing_intent_content.xml
|
||||
@@ -0,0 +1,83 @@
|
||||
+<?xml version="1.0" encoding="utf-8"?>
|
||||
+<!-- Copyright 2019 The Chromium Authors. All rights reserved.
|
||||
+ Use of this source code is governed by a BSD-style license that can be
|
||||
+ found in the LICENSE file. -->
|
||||
+<LinearLayout
|
||||
+ xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
+ xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
+ android:layout_width="match_parent"
|
||||
+ android:layout_height="match_parent"
|
||||
+ android:orientation="vertical">
|
||||
+
|
||||
+ <View
|
||||
+ android:id="@+id/mask"
|
||||
+ android:layout_width="match_parent"
|
||||
+ android:layout_height="0dp"
|
||||
+ android:layout_weight="1"
|
||||
+ android:background="@android:color/transparent"/>
|
||||
+
|
||||
+ <LinearLayout
|
||||
+ android:layout_width="match_parent"
|
||||
+ android:layout_height="wrap_content"
|
||||
+ android:orientation="vertical"
|
||||
+ android:background="@color/sheet_bg_color">
|
||||
+
|
||||
+ <LinearLayout
|
||||
+ android:layout_width="match_parent"
|
||||
+ android:layout_height="wrap_content"
|
||||
+ android:paddingBottom="32dp"
|
||||
+ android:orientation="vertical">
|
||||
+
|
||||
+ <ImageView
|
||||
+ android:layout_height="wrap_content"
|
||||
+ android:layout_width ="match_parent"
|
||||
+ app:srcCompat="@drawable/ic_launcher"/>
|
||||
+
|
||||
+ <TextView
|
||||
+ android:layout_width="match_parent"
|
||||
+ android:layout_height="@dimen/min_touch_target_size"
|
||||
+ android:gravity="center"
|
||||
+ android:paddingStart="30dp"
|
||||
+ android:paddingEnd="30dp"
|
||||
+ android:paddingTop="16dp"
|
||||
+ android:ellipsize="end"
|
||||
+ android:textAppearance="@style/TextAppearance.BlackToolbarTitle"
|
||||
+ android:text="@string/shared_intent_share_activity_title"/>
|
||||
+
|
||||
+ <TextView
|
||||
+ android:id="@+id/share_message_text"
|
||||
+ android:layout_width="match_parent"
|
||||
+ android:layout_height="wrap_content"
|
||||
+ android:gravity="center"
|
||||
+ android:paddingStart="30dp"
|
||||
+ android:paddingEnd="30dp"
|
||||
+ android:paddingTop="16dp"
|
||||
+ android:ellipsize="end"
|
||||
+ android:textAppearance="@style/TextAppearance.TextLarge.Secondary"
|
||||
+ android:text="@string/shared_intent_share_activity_text"/>
|
||||
+
|
||||
+ <org.chromium.ui.widget.ButtonCompat
|
||||
+ android:id="@+id/open_url_button"
|
||||
+ android:layout_height="wrap_content"
|
||||
+ android:layout_width="wrap_content"
|
||||
+ android:layout_gravity="center"
|
||||
+ android:layout_marginTop="16dp"
|
||||
+ android:text="@string/shared_intent_share_activity_open_text"
|
||||
+ android:visibility="gone"
|
||||
+ style="@style/FilledButton"/>
|
||||
+
|
||||
+ <org.chromium.ui.widget.ButtonCompat
|
||||
+ android:id="@+id/open_url_incognito_button"
|
||||
+ android:layout_height="wrap_content"
|
||||
+ android:layout_width="wrap_content"
|
||||
+ android:layout_gravity="center"
|
||||
+ android:layout_marginTop="16dp"
|
||||
+ android:text="@string/shared_intent_share_activity_openincognito_text"
|
||||
+ android:visibility="gone"
|
||||
+ style="@style/TextButton"/>
|
||||
+
|
||||
+ </LinearLayout>
|
||||
+
|
||||
+ </LinearLayout>
|
||||
+
|
||||
+</LinearLayout>
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/init/ProcessInitializationHandler.java b/chrome/android/java/src/org/chromium/chrome/browser/init/ProcessInitializationHandler.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/init/ProcessInitializationHandler.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/init/ProcessInitializationHandler.java
|
||||
@@ -72,6 +72,7 @@ import org.chromium.chrome.browser.quickactionsearchwidget.QuickActionSearchWidg
|
||||
import org.chromium.chrome.browser.rlz.RevenueStats;
|
||||
import org.chromium.chrome.browser.searchwidget.SearchWidgetProvider;
|
||||
import org.chromium.chrome.browser.sharing.shared_clipboard.SharedClipboardShareActivity;
|
||||
+import org.chromium.chrome.browser.sharing.shared_intent.SharedIntentShareActivity;
|
||||
import org.chromium.chrome.browser.tab.state.ShoppingPersistedTabData;
|
||||
import org.chromium.chrome.browser.util.AfterStartupTaskUtils;
|
||||
import org.chromium.chrome.browser.webapps.WebApkVersionManager;
|
||||
@@ -405,6 +406,8 @@ public class ProcessInitializationHandler {
|
||||
deferredStartupHandler.addDeferredTask(
|
||||
() -> IncognitoTabLauncher.updateComponentEnabledState());
|
||||
|
||||
+ deferredStartupHandler.addDeferredTask(
|
||||
+ () -> SharedIntentShareActivity.updateComponentEnabledState());
|
||||
deferredStartupHandler.addDeferredTask(
|
||||
() -> SharedClipboardShareActivity.updateComponentEnabledState());
|
||||
deferredStartupHandler.addDeferredTask(
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/sharing/shared_intent/SharedIntentShareActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/sharing/shared_intent/SharedIntentShareActivity.java
|
||||
new file mode 100644
|
||||
--- /dev/null
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/sharing/shared_intent/SharedIntentShareActivity.java
|
||||
@@ -0,0 +1,114 @@
|
||||
+// Copyright 2019 The Chromium Authors. All rights reserved.
|
||||
+// Use of this source code is governed by a BSD-style license that can be
|
||||
+// found in the LICENSE file.
|
||||
+
|
||||
+package org.chromium.chrome.browser.sharing.shared_intent;
|
||||
+
|
||||
+import org.chromium.base.Log;
|
||||
+
|
||||
+import android.content.res.Resources;
|
||||
+import android.content.ComponentName;
|
||||
+import android.content.Context;
|
||||
+import android.content.Intent;
|
||||
+import android.content.pm.PackageManager;
|
||||
+import android.view.View;
|
||||
+import android.widget.TextView;
|
||||
+import android.net.Uri;
|
||||
+
|
||||
+import org.chromium.base.ContextUtils;
|
||||
+import org.chromium.base.IntentUtils;
|
||||
+import org.chromium.base.ThreadUtils;
|
||||
+import org.chromium.base.task.PostTask;
|
||||
+import org.chromium.base.task.TaskTraits;
|
||||
+import org.chromium.chrome.R;
|
||||
+import org.chromium.chrome.browser.flags.ChromeFeatureList;
|
||||
+import org.chromium.chrome.browser.init.AsyncInitializationActivity;
|
||||
+import org.chromium.chrome.browser.LaunchIntentDispatcher;
|
||||
+import org.chromium.chrome.browser.IntentHandler;
|
||||
+import org.chromium.ui.widget.ButtonCompat;
|
||||
+
|
||||
+/**
|
||||
+ * Activity to display device targets to share text.
|
||||
+ */
|
||||
+public class SharedIntentShareActivity
|
||||
+ extends AsyncInitializationActivity {
|
||||
+
|
||||
+ /**
|
||||
+ * Checks whether sending shared clipboard message is enabled for the user and enables/disables
|
||||
+ * the SharedIntentShareActivity appropriately. This call requires native to be loaded.
|
||||
+ */
|
||||
+ public static void updateComponentEnabledState() {
|
||||
+ boolean enabled = ChromeFeatureList.isEnabled(ChromeFeatureList.SHARED_INTENT_UI);
|
||||
+ PostTask.postTask(TaskTraits.USER_VISIBLE, () -> setComponentEnabled(enabled));
|
||||
+ }
|
||||
+
|
||||
+ /**
|
||||
+ * Sets whether or not the SharedIntentShareActivity should be enabled. This may trigger a
|
||||
+ * StrictMode violation so shouldn't be called on the UI thread.
|
||||
+ */
|
||||
+ private static void setComponentEnabled(boolean enabled) {
|
||||
+ ThreadUtils.assertOnBackgroundThread();
|
||||
+ Context context = ContextUtils.getApplicationContext();
|
||||
+ PackageManager packageManager = context.getPackageManager();
|
||||
+ ComponentName componentName =
|
||||
+ new ComponentName(context, SharedIntentShareActivity.class);
|
||||
+
|
||||
+ int newState = enabled ? PackageManager.COMPONENT_ENABLED_STATE_ENABLED
|
||||
+ : PackageManager.COMPONENT_ENABLED_STATE_DISABLED;
|
||||
+
|
||||
+ // This indicates that we don't want to kill Chrome when changing component enabled state.
|
||||
+ int flags = PackageManager.DONT_KILL_APP;
|
||||
+
|
||||
+ if (packageManager.getComponentEnabledSetting(componentName) != newState) {
|
||||
+ packageManager.setComponentEnabledSetting(componentName, newState, flags);
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ protected void triggerLayoutInflation() {
|
||||
+ setContentView(R.layout.sharing_intent_content);
|
||||
+
|
||||
+ String linkUrl = IntentUtils.safeGetStringExtra(getIntent(), Intent.EXTRA_TEXT);
|
||||
+ Resources resources = ContextUtils.getApplicationContext().getResources();
|
||||
+ TextView share_message_text = findViewById(R.id.share_message_text);
|
||||
+ share_message_text.setText(
|
||||
+ resources.getString(R.string.shared_intent_share_activity_text, linkUrl));
|
||||
+
|
||||
+ View mask = findViewById(R.id.mask);
|
||||
+ mask.setOnClickListener(v -> finish());
|
||||
+
|
||||
+ ButtonCompat open_url_button = findViewById(R.id.open_url_button);
|
||||
+ open_url_button.setVisibility(View.VISIBLE);
|
||||
+ open_url_button.setOnClickListener(view -> {
|
||||
+ Context applicationContext = ContextUtils.getApplicationContext();
|
||||
+ Intent chromeIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(linkUrl));
|
||||
+ chromeIntent.setPackage(applicationContext.getPackageName());
|
||||
+ chromeIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
|
||||
+
|
||||
+ LaunchIntentDispatcher.dispatch(this, chromeIntent);
|
||||
+ finish();
|
||||
+ });
|
||||
+
|
||||
+ ButtonCompat open_url_incognito_button = findViewById(R.id.open_url_incognito_button);
|
||||
+ open_url_incognito_button.setVisibility(View.VISIBLE);
|
||||
+ open_url_incognito_button.setOnClickListener(view -> {
|
||||
+ Context applicationContext = ContextUtils.getApplicationContext();
|
||||
+ Intent chromeIntent = IntentHandler.createTrustedOpenNewTabIntent(applicationContext,
|
||||
+ /*incognito*/true);
|
||||
+
|
||||
+ chromeIntent.setData(Uri.parse(linkUrl));
|
||||
+ chromeIntent.setPackage(applicationContext.getPackageName());
|
||||
+ chromeIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
|
||||
+
|
||||
+ LaunchIntentDispatcher.dispatch(this, chromeIntent);
|
||||
+ finish();
|
||||
+ });
|
||||
+
|
||||
+ onInitialLayoutInflationComplete();
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ public boolean shouldStartGpuProcess() {
|
||||
+ return false;
|
||||
+ }
|
||||
+}
|
||||
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
|
||||
--- a/chrome/browser/about_flags.cc
|
||||
+++ b/chrome/browser/about_flags.cc
|
||||
@@ -5408,6 +5408,10 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
FEATURE_VALUE_TYPE(sharing_hub::kDesktopScreenshots)},
|
||||
#endif
|
||||
|
||||
+ {"shared-intent-ui", flag_descriptions::kSharedIntentUIName,
|
||||
+ flag_descriptions::kSharedIntentUIDescription, kOsAll,
|
||||
+ FEATURE_VALUE_TYPE(chrome::android::kSharedIntentUI)},
|
||||
+
|
||||
{"sharing-prefer-vapid", flag_descriptions::kSharingPreferVapidName,
|
||||
flag_descriptions::kSharingPreferVapidDescription, kOsAll,
|
||||
FEATURE_VALUE_TYPE(kSharingPreferVapid)},
|
||||
diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc
|
||||
--- a/chrome/browser/flag_descriptions.cc
|
||||
+++ b/chrome/browser/flag_descriptions.cc
|
||||
@@ -2275,6 +2275,11 @@ const char kSharingDesktopScreenshotsDescription[] =
|
||||
"Enables taking"
|
||||
" screenshots from the desktop sharing hub.";
|
||||
|
||||
+const char kSharedIntentUIName[] =
|
||||
+ "Enable shared feature";
|
||||
+const char kSharedIntentUIDescription[] =
|
||||
+ "Enables shared feature";
|
||||
+
|
||||
const char kSharingHubDesktopAppMenuName[] = "Desktop Sharing Hub in App Menu";
|
||||
const char kSharingHubDesktopAppMenuDescription[] =
|
||||
"Enables the Chrome Sharing Hub in the 3-dot menu for desktop.";
|
||||
diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h
|
||||
--- a/chrome/browser/flag_descriptions.h
|
||||
+++ b/chrome/browser/flag_descriptions.h
|
||||
@@ -1307,6 +1307,9 @@ extern const char kSharedClipboardUIDescription[];
|
||||
extern const char kSharingDesktopScreenshotsName[];
|
||||
extern const char kSharingDesktopScreenshotsDescription[];
|
||||
|
||||
+extern const char kSharedIntentUIName[];
|
||||
+extern const char kSharedIntentUIDescription[];
|
||||
+
|
||||
extern const char kSharingHubDesktopAppMenuName[];
|
||||
extern const char kSharingHubDesktopAppMenuDescription[];
|
||||
|
||||
diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browser/flags/android/chrome_feature_list.cc
|
||||
--- a/chrome/browser/flags/android/chrome_feature_list.cc
|
||||
+++ b/chrome/browser/flags/android/chrome_feature_list.cc
|
||||
@@ -256,6 +256,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
|
||||
&kServiceManagerForDownload,
|
||||
&kShareButtonInTopToolbar,
|
||||
&kSharedClipboardUI,
|
||||
+ &kSharedIntentUI,
|
||||
&kSharingHubLinkToggle,
|
||||
&kSingleTouchSelect,
|
||||
&kSpannableInlineAutocomplete,
|
||||
@@ -640,6 +641,9 @@ const base::Feature kSearchEnginePromoExistingDevice{
|
||||
const base::Feature kSearchEnginePromoNewDevice{
|
||||
"SearchEnginePromo.NewDevice", base::FEATURE_ENABLED_BY_DEFAULT};
|
||||
|
||||
+const base::Feature kSharedIntentUI{
|
||||
+ "SharedIntentUI", base::FEATURE_ENABLED_BY_DEFAULT};
|
||||
+
|
||||
const base::Feature kNewWindowAppMenu{"NewWindowAppMenu",
|
||||
base::FEATURE_ENABLED_BY_DEFAULT};
|
||||
|
||||
diff --git a/chrome/browser/flags/android/chrome_feature_list.h b/chrome/browser/flags/android/chrome_feature_list.h
|
||||
--- a/chrome/browser/flags/android/chrome_feature_list.h
|
||||
+++ b/chrome/browser/flags/android/chrome_feature_list.h
|
||||
@@ -123,6 +123,7 @@ extern const base::Feature kRelatedSearchesSimplifiedUx;
|
||||
extern const base::Feature kRelatedSearchesUi;
|
||||
extern const base::Feature kSearchEnginePromoExistingDevice;
|
||||
extern const base::Feature kSearchEnginePromoNewDevice;
|
||||
+extern const base::Feature kSharedIntentUI;
|
||||
extern const base::Feature kSearchReadyOmniboxFeature;
|
||||
extern const base::Feature kServiceManagerForBackgroundPrefetch;
|
||||
extern const base::Feature kServiceManagerForDownload;
|
||||
diff --git 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
|
||||
--- 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
|
||||
@@ -495,6 +495,7 @@ public abstract class ChromeFeatureList {
|
||||
public static final String SHARE_USAGE_RANKING = "ShareUsageRanking";
|
||||
public static final String SHARE_USAGE_RANKING_FIXED_MORE = "ShareUsageRankingFixedMore";
|
||||
public static final String SHARED_CLIPBOARD_UI = "SharedClipboardUI";
|
||||
+ public static final String SHARED_INTENT_UI = "SharedIntentUI";
|
||||
public static final String SHARED_HIGHLIGHTING_V2 = "SharedHighlightingV2";
|
||||
public static final String SHARED_HIGHLIGHTING_AMP = "SharedHighlightingAmp";
|
||||
public static final String SHARING_HUB_LINK_TOGGLE = "SharingHubLinkToggle";
|
||||
diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||
--- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||
+++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||
@@ -4453,6 +4453,19 @@ To change this setting, <ph name="BEGIN_LINK"><resetlink></ph>reset sync<p
|
||||
Send text to Your Devices
|
||||
</message>
|
||||
|
||||
+ <message name="IDS_SHARED_INTENT_SHARE_ACTIVITY_TITLE" desc="Text that will appear in the Android share dialog to open an URL with Bromite.">
|
||||
+ Open URL with Bromite
|
||||
+ </message>
|
||||
+ <message name="IDS_SHARED_INTENT_SHARE_ACTIVITY_TEXT" desc="Text to show for opening with Bromite.">
|
||||
+ Will open <ph name="URL">%1$s</ph> with Bromite
|
||||
+ </message>
|
||||
+ <message name="IDS_SHARED_INTENT_SHARE_ACTIVITY_OPEN_TEXT" desc="Text to show in the button for opening with Bromite.">
|
||||
+ Open with Bromite
|
||||
+ </message>
|
||||
+ <message name="IDS_SHARED_INTENT_SHARE_ACTIVITY_OPENINCOGNITO_TEXT" desc="Text to show in the button for opening with Bromite in incognito.">
|
||||
+ Open with Bromite Incognito
|
||||
+ </message>
|
||||
+
|
||||
<!-- Sms Fetcher -->
|
||||
<message name="IDS_SMS_FETCHER_NOTIFICATION_TITLE" desc="Title text shown when the Android Chrome receives a ONE_TIME_CODE from an incoming SMS and ask users for permission to submit the code to their linked Desktop Chrome">
|
||||
Submit <ph name="ONE_TIME_CODE">%1$s<ex>123</ex></ph> on <ph name="CLIENT_NAME">%2$s<ex>Zoe's Macbook</ex></ph>?
|
||||
--
|
||||
2.17.1
|
||||
|
|
@ -9,10 +9,10 @@ Subject: Enable user-agent freeze by default
|
|||
diff --git a/third_party/blink/common/features.cc b/third_party/blink/common/features.cc
|
||||
--- a/third_party/blink/common/features.cc
|
||||
+++ b/third_party/blink/common/features.cc
|
||||
@@ -81,7 +81,7 @@ const base::Feature kFreezePurgeMemoryAllPagesFrozen{
|
||||
@@ -77,7 +77,7 @@ const base::Feature kFreezePurgeMemoryAllPagesFrozen{
|
||||
|
||||
// Freezes the user-agent as part of https://github.com/WICG/ua-client-hints.
|
||||
const base::Feature kFreezeUserAgent{"FreezeUserAgent",
|
||||
const base::Feature kReduceUserAgent{"ReduceUserAgent",
|
||||
- base::FEATURE_DISABLED_BY_DEFAULT};
|
||||
+ base::FEATURE_ENABLED_BY_DEFAULT};
|
||||
|
||||
|
|
67
build/patches/Force-open-external-links-in-incognito.patch
Normal file
67
build/patches/Force-open-external-links-in-incognito.patch
Normal file
|
@ -0,0 +1,67 @@
|
|||
From: uazo <uazo@users.noreply.github.com>
|
||||
Date: Mon, 4 Oct 2021 11:48:18 +0000
|
||||
Subject: Force open external links in incognito
|
||||
|
||||
---
|
||||
chrome/android/java/res/xml/privacy_preferences.xml | 5 +++++
|
||||
.../chrome/browser/LaunchIntentDispatcher.java | 11 +++++++++++
|
||||
.../ui/android/strings/android_chrome_strings.grd | 8 ++++++++
|
||||
3 files changed, 24 insertions(+)
|
||||
|
||||
diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/android/java/res/xml/privacy_preferences.xml
|
||||
--- a/chrome/android/java/res/xml/privacy_preferences.xml
|
||||
+++ b/chrome/android/java/res/xml/privacy_preferences.xml
|
||||
@@ -61,6 +61,11 @@
|
||||
android:title="@string/allow_custom_tab_intents_title"
|
||||
android:summary="@string/allow_custom_tab_intents_summary"
|
||||
android:defaultValue="false" />
|
||||
+ <org.chromium.components.browser_ui.settings.ChromeSwitchPreference
|
||||
+ android:key="open_external_links_incognito"
|
||||
+ android:title="@string/open_external_links_incognito_title"
|
||||
+ android:summary="@string/open_external_links_incognito_summary"
|
||||
+ android:defaultValue="false" />
|
||||
<Preference
|
||||
android:key="privacy_sandbox"
|
||||
android:title="@string/prefs_privacy_sandbox"
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/LaunchIntentDispatcher.java b/chrome/android/java/src/org/chromium/chrome/browser/LaunchIntentDispatcher.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/LaunchIntentDispatcher.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/LaunchIntentDispatcher.java
|
||||
@@ -421,6 +421,17 @@ public class LaunchIntentDispatcher implements IntentHandler.IntentHandlerDelega
|
||||
|
||||
if (Intent.ACTION_VIEW.equals(newIntent.getAction())
|
||||
&& !IntentHandler.wasIntentSenderChrome(newIntent)) {
|
||||
+
|
||||
+ if (ContextUtils.getAppSharedPreferences().getBoolean(
|
||||
+ "open_external_links_incognito", false)) {
|
||||
+ Context applicationContext = ContextUtils.getApplicationContext();
|
||||
+ newIntent = IntentHandler.createTrustedOpenNewTabIntent(applicationContext,
|
||||
+ /*incognito*/true);
|
||||
+ newIntent.setData(mIntent.getData());
|
||||
+ newIntent.setPackage(applicationContext.getPackageName());
|
||||
+ newIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
|
||||
+ }
|
||||
+
|
||||
long time = SystemClock.elapsedRealtime();
|
||||
if (!chromeTabbedTaskExists()) {
|
||||
newIntent.putExtra(IntentHandler.EXTRA_STARTED_TABBED_CHROME_TASK, true);
|
||||
diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||
--- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||
+++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||
@@ -4498,6 +4498,14 @@ To change this setting, <ph name="BEGIN_LINK"><resetlink></ph>reset sync<p
|
||||
Allow applications to open custom tab intents, similar to webview.
|
||||
</message>
|
||||
|
||||
+ <!-- Open External Links in Incognito -->
|
||||
+ <message name="IDS_OPEN_EXTERNAL_LINKS_INCOGNITO_TITLE" desc="Text for 'Open external links in incognito' settings-privacy option.">
|
||||
+ Open external links in incognito
|
||||
+ </message>
|
||||
+ <message name="IDS_OPEN_EXTERNAL_LINKS_INCOGNITO_SUMMARY" desc="Summary text for 'Open external links in incognito' settings-privacy option.">
|
||||
+ Force the opening of all external links in incognito mode
|
||||
+ </message>
|
||||
+
|
||||
<!-- Autofill Assistant preferences -->
|
||||
<!-- TODO(b/168178344): Move to Assistant settings strings section below. -->
|
||||
<message name="IDS_PREFS_AUTOFILL_ASSISTANT_TITLE" desc="Title for the Autofill Assistant preferences screen. [CHAR_LIMIT=32]">
|
||||
--
|
||||
2.17.1
|
||||
|
|
@ -9,7 +9,7 @@ Subject: Hardening against incognito mode detection
|
|||
diff --git a/storage/browser/quota/quota_settings.cc b/storage/browser/quota/quota_settings.cc
|
||||
--- a/storage/browser/quota/quota_settings.cc
|
||||
+++ b/storage/browser/quota/quota_settings.cc
|
||||
@@ -28,7 +28,7 @@ const int64_t kMBytes = 1024 * 1024;
|
||||
@@ -29,7 +29,7 @@ const int64_t kMBytes = 1024 * 1024;
|
||||
const int kRandomizedPercentage = 10;
|
||||
const double kDefaultPerHostRatio = 0.75;
|
||||
const double kIncognitoQuotaRatioLowerBound = 0.15;
|
||||
|
|
|
@ -9,7 +9,7 @@ Subject: Hide passwords manager link
|
|||
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
|
||||
--- 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
|
||||
@@ -314,7 +314,7 @@ public class PasswordSettings
|
||||
@@ -326,7 +326,7 @@ public class PasswordSettings extends PreferenceFragmentCompat
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -18,7 +18,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/password_manage
|
|||
|
||||
PreferenceGroup passwordParent;
|
||||
if (mSearchQuery == null) {
|
||||
@@ -394,7 +394,7 @@ public class PasswordSettings
|
||||
@@ -406,7 +406,7 @@ public class PasswordSettings extends PreferenceFragmentCompat
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
|
@ -3,13 +3,13 @@ Date: Tue, 26 Jan 2021 00:21:51 +0100
|
|||
Subject: Ignore enterprise policies for secure DNS
|
||||
|
||||
---
|
||||
.../org/chromium/chrome/browser/policy/EnterpriseInfo.java | 4 ++++
|
||||
.../chrome/browser/enterprise/util/EnterpriseInfo.java | 4 ++++
|
||||
1 file changed, 4 insertions(+)
|
||||
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/policy/EnterpriseInfo.java b/chrome/android/java/src/org/chromium/chrome/browser/policy/EnterpriseInfo.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/policy/EnterpriseInfo.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/policy/EnterpriseInfo.java
|
||||
@@ -90,6 +90,10 @@ public class EnterpriseInfo {
|
||||
diff --git a/chrome/browser/enterprise/util/android/java/src/org/chromium/chrome/browser/enterprise/util/EnterpriseInfo.java b/chrome/browser/enterprise/util/android/java/src/org/chromium/chrome/browser/enterprise/util/EnterpriseInfo.java
|
||||
--- a/chrome/browser/enterprise/util/android/java/src/org/chromium/chrome/browser/enterprise/util/EnterpriseInfo.java
|
||||
+++ b/chrome/browser/enterprise/util/android/java/src/org/chromium/chrome/browser/enterprise/util/EnterpriseInfo.java
|
||||
@@ -91,6 +91,10 @@ public class EnterpriseInfo {
|
||||
ThreadUtils.assertOnUiThread();
|
||||
assert callback != null;
|
||||
|
||||
|
|
|
@ -33,7 +33,7 @@ diff --git a/third_party/blink/renderer/core/dom/build.gni b/third_party/blink/r
|
|||
diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink/renderer/core/dom/document.cc
|
||||
--- a/third_party/blink/renderer/core/dom/document.cc
|
||||
+++ b/third_party/blink/renderer/core/dom/document.cc
|
||||
@@ -275,6 +275,7 @@
|
||||
@@ -274,6 +274,7 @@
|
||||
#include "third_party/blink/renderer/core/page/scrolling/root_scroller_controller.h"
|
||||
#include "third_party/blink/renderer/core/page/scrolling/scroll_state_callback.h"
|
||||
#include "third_party/blink/renderer/core/page/scrolling/scrolling_coordinator.h"
|
||||
|
@ -50,7 +50,7 @@ diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink
|
|||
#ifndef NDEBUG
|
||||
using WeakDocumentSet = blink::HeapHashSet<blink::WeakMember<blink::Document>>;
|
||||
static WeakDocumentSet& liveDocumentSet();
|
||||
@@ -6609,6 +6612,61 @@ void Document::setAllowDeclarativeShadowRoots(bool val) {
|
||||
@@ -6536,6 +6539,61 @@ void Document::setAllowDeclarativeShadowRoots(bool val) {
|
||||
val ? AllowState::kAllow : AllowState::kDeny;
|
||||
}
|
||||
|
||||
|
@ -112,9 +112,9 @@ diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink
|
|||
void Document::FinishedParsing() {
|
||||
DCHECK(!GetScriptableDocumentParser() || !parser_->IsParsing());
|
||||
DCHECK(!GetScriptableDocumentParser() || ready_state_ != kLoading);
|
||||
@@ -6661,6 +6719,10 @@ void Document::FinishedParsing() {
|
||||
|
||||
frame->Loader().FinishedParsing();
|
||||
@@ -6591,6 +6649,10 @@ void Document::FinishedParsing() {
|
||||
if (frame->GetFrameScheduler())
|
||||
frame->GetFrameScheduler()->OnDomContentLoaded();
|
||||
|
||||
+ if (!IsPrefetchOnly()) {
|
||||
+ injectScripts();
|
||||
|
@ -126,7 +126,7 @@ diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink
|
|||
diff --git a/third_party/blink/renderer/core/dom/document.h b/third_party/blink/renderer/core/dom/document.h
|
||||
--- a/third_party/blink/renderer/core/dom/document.h
|
||||
+++ b/third_party/blink/renderer/core/dom/document.h
|
||||
@@ -1737,6 +1737,9 @@ class CORE_EXPORT Document : public ContainerNode,
|
||||
@@ -1746,6 +1746,9 @@ class CORE_EXPORT Document : public ContainerNode,
|
||||
void AddAXContext(AXContext*);
|
||||
void RemoveAXContext(AXContext*);
|
||||
|
||||
|
@ -161,7 +161,7 @@ new file mode 100644
|
|||
diff --git a/third_party/blink/renderer/core/html/html_script_element.cc b/third_party/blink/renderer/core/html/html_script_element.cc
|
||||
--- a/third_party/blink/renderer/core/html/html_script_element.cc
|
||||
+++ b/third_party/blink/renderer/core/html/html_script_element.cc
|
||||
@@ -206,6 +206,11 @@ void HTMLScriptElement::setTextContent(const String& string) {
|
||||
@@ -168,6 +168,11 @@ void HTMLScriptElement::setTextContent(const String& string) {
|
||||
script_text_internal_slot_ = ParkableString(string.Impl());
|
||||
}
|
||||
|
||||
|
@ -176,9 +176,9 @@ diff --git a/third_party/blink/renderer/core/html/html_script_element.cc b/third
|
|||
diff --git a/third_party/blink/renderer/core/html/html_script_element.h b/third_party/blink/renderer/core/html/html_script_element.h
|
||||
--- a/third_party/blink/renderer/core/html/html_script_element.h
|
||||
+++ b/third_party/blink/renderer/core/html/html_script_element.h
|
||||
@@ -66,6 +66,7 @@ class CORE_EXPORT HTMLScriptElement final : public HTMLElement,
|
||||
ExceptionState&) override;
|
||||
#endif // defined(USE_BLINK_V8_BINDING_NEW_IDL_UNION)
|
||||
@@ -56,6 +56,7 @@ class CORE_EXPORT HTMLScriptElement final : public HTMLElement,
|
||||
void setTextContentForBinding(const V8UnionStringOrTrustedScript* value,
|
||||
ExceptionState& exception_state) override;
|
||||
void setTextContent(const String&) override;
|
||||
+ void setTextDirect(const char*);
|
||||
|
||||
|
|
|
@ -13,7 +13,7 @@ Subject: JIT-less toggle
|
|||
diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/android/java/res/xml/privacy_preferences.xml
|
||||
--- a/chrome/android/java/res/xml/privacy_preferences.xml
|
||||
+++ b/chrome/android/java/res/xml/privacy_preferences.xml
|
||||
@@ -24,6 +24,11 @@
|
||||
@@ -28,6 +28,11 @@
|
||||
android:title="@string/preload_pages_title"
|
||||
android:summary="@string/preload_pages_summary"
|
||||
android:persistent="false"/>
|
||||
|
@ -36,7 +36,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
|
|||
import android.os.Build;
|
||||
import android.content.SharedPreferences;
|
||||
import android.os.Bundle;
|
||||
@@ -65,6 +66,7 @@ public class PrivacySettings
|
||||
@@ -67,6 +68,7 @@ public class PrivacySettings
|
||||
private static final String PREF_CLOSE_TABS_ON_EXIT = "close_tabs_on_exit";
|
||||
private static final String PREF_PROXY_OPTIONS = "proxy";
|
||||
private static final String PREF_PRIVACY_SANDBOX = "privacy_sandbox";
|
||||
|
@ -44,7 +44,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
|
|||
|
||||
// moved from SyncAndServicesSettings.java
|
||||
private static final String PREF_SERVICES_CATEGORY = "services_category";
|
||||
@@ -165,6 +167,10 @@ public class PrivacySettings
|
||||
@@ -176,6 +178,10 @@ public class PrivacySettings
|
||||
.setBoolean(Pref.CAN_MAKE_PAYMENT_ENABLED, (boolean) newValue);
|
||||
} else if (PREF_SEARCH_SUGGESTIONS.equals(key)) {
|
||||
prefService.setBoolean(Pref.SEARCH_SUGGEST_ENABLED, (boolean) newValue);
|
||||
|
@ -55,7 +55,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
|
|||
} else if (PREF_AUTOFILL_ASSISTANT.equals(key)) {
|
||||
mSharedPreferencesManager.writeBoolean(
|
||||
ChromePreferenceKeys.AUTOFILL_ASSISTANT_ENABLED, (boolean) newValue);
|
||||
@@ -245,6 +251,12 @@ public class PrivacySettings
|
||||
@@ -259,6 +265,12 @@ public class PrivacySettings
|
||||
historyInIncognitoPref.setChecked(
|
||||
prefService.getBoolean(Pref.INCOGNITO_TAB_HISTORY_ENABLED));
|
||||
}
|
||||
|
@ -71,7 +71,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
|
|||
diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||
--- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||
+++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||
@@ -926,6 +926,13 @@ Privacy Sandbox trials are still in active development and are available in sele
|
||||
@@ -929,6 +929,13 @@ Privacy Sandbox trials are still in active development and are available in sele
|
||||
Please verify that this is a valid provider or try again later
|
||||
</message>
|
||||
|
||||
|
|
|
@ -26,7 +26,7 @@ Subject: Logcat crash reports UI
|
|||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/crash/MinidumpUploadServiceImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/crash/MinidumpUploadServiceImpl.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/crash/MinidumpUploadServiceImpl.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/crash/MinidumpUploadServiceImpl.java
|
||||
@@ -42,6 +42,11 @@ import java.lang.annotation.Retention;
|
||||
@@ -45,6 +45,11 @@ import java.lang.annotation.Retention;
|
||||
import java.lang.annotation.RetentionPolicy;
|
||||
import java.util.concurrent.atomic.AtomicBoolean;
|
||||
|
||||
|
@ -38,7 +38,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/crash/MinidumpU
|
|||
/**
|
||||
* Service that is responsible for uploading crash minidumps to the Google crash server.
|
||||
*/
|
||||
@@ -445,4 +450,21 @@ public class MinidumpUploadServiceImpl extends MinidumpUploadService.Impl {
|
||||
@@ -455,4 +460,21 @@ public class MinidumpUploadServiceImpl extends MinidumpUploadService.Impl {
|
||||
tryUploadCrashDump(renamedMinidumpFile);
|
||||
}
|
||||
}
|
||||
|
@ -138,7 +138,7 @@ diff --git a/chrome/browser/crash_upload_list/crash_upload_list_android.h b/chro
|
|||
diff --git a/chrome/browser/net/chrome_network_delegate.cc b/chrome/browser/net/chrome_network_delegate.cc
|
||||
--- a/chrome/browser/net/chrome_network_delegate.cc
|
||||
+++ b/chrome/browser/net/chrome_network_delegate.cc
|
||||
@@ -129,6 +129,13 @@ bool IsAccessAllowedAndroid(const base::FilePath& path) {
|
||||
@@ -130,6 +130,13 @@ bool IsAccessAllowedAndroid(const base::FilePath& path) {
|
||||
if (external_storage_path.IsParent(path))
|
||||
return true;
|
||||
|
||||
|
@ -155,7 +155,7 @@ diff --git a/chrome/browser/net/chrome_network_delegate.cc b/chrome/browser/net/
|
|||
diff --git a/chrome/browser/ui/BUILD.gn b/chrome/browser/ui/BUILD.gn
|
||||
--- a/chrome/browser/ui/BUILD.gn
|
||||
+++ b/chrome/browser/ui/BUILD.gn
|
||||
@@ -574,6 +574,7 @@ static_library("ui") {
|
||||
@@ -594,6 +594,7 @@ static_library("ui") {
|
||||
"//third_party/re2",
|
||||
"//third_party/webrtc_overrides:webrtc_component",
|
||||
"//third_party/zlib",
|
||||
|
@ -182,7 +182,7 @@ diff --git a/chrome/browser/ui/webui/crashes_ui.cc b/chrome/browser/ui/webui/cra
|
|||
+#include "third_party/zlib/google/zip.h"
|
||||
+
|
||||
#if BUILDFLAG(IS_CHROMEOS_ASH)
|
||||
#include "chromeos/dbus/dbus_thread_manager.h"
|
||||
#include "chromeos/dbus/dbus_thread_manager.h" // nogncheck
|
||||
#include "chromeos/dbus/debug_daemon/debug_daemon_client.h"
|
||||
@@ -75,6 +86,10 @@ content::WebUIDataSource* CreateCrashesUIHTMLSource() {
|
||||
return source;
|
||||
|
|
|
@ -11,7 +11,7 @@ as long as the test is retained and still passes.
|
|||
diff --git a/components/favicon/core/favicon_database.cc b/components/favicon/core/favicon_database.cc
|
||||
--- a/components/favicon/core/favicon_database.cc
|
||||
+++ b/components/favicon/core/favicon_database.cc
|
||||
@@ -504,6 +504,7 @@ FaviconBitmapID FaviconDatabase::AddFaviconBitmap(
|
||||
@@ -506,6 +506,7 @@ FaviconBitmapID FaviconDatabase::AddFaviconBitmap(
|
||||
base::Time time,
|
||||
const gfx::Size& pixel_size) {
|
||||
DCHECK(icon_id);
|
||||
|
|
|
@ -3,24 +3,24 @@ Date: Sat, 2 May 2020 00:25:25 +0200
|
|||
Subject: Modify default preferences
|
||||
|
||||
---
|
||||
chrome/browser/background/background_mode_manager.cc | 2 +-
|
||||
chrome/browser/chrome_content_browser_client.cc | 2 +-
|
||||
chrome/browser/net/prediction_options.cc | 2 +-
|
||||
chrome/browser/net/prediction_options.h | 2 +-
|
||||
chrome/browser/profiles/profile.cc | 2 +-
|
||||
.../resources/settings/reset_page/reset_profile_dialog.html | 2 +-
|
||||
chrome/browser/ui/browser_ui_prefs.cc | 4 ++--
|
||||
chrome/service/cloud_print/connector_settings.cc | 2 +-
|
||||
components/autofill/core/browser/browser_autofill_manager.h | 4 ++--
|
||||
components/autofill/core/common/autofill_prefs.cc | 2 +-
|
||||
components/bookmarks/browser/bookmark_utils.cc | 4 ++--
|
||||
components/safe_browsing/core/common/safe_browsing_prefs.cc | 4 ++--
|
||||
12 files changed, 16 insertions(+), 16 deletions(-)
|
||||
chrome/browser/background/background_mode_manager.cc | 2 +-
|
||||
chrome/browser/chrome_content_browser_client.cc | 2 +-
|
||||
chrome/browser/net/prediction_options.cc | 2 +-
|
||||
chrome/browser/net/prediction_options.h | 2 +-
|
||||
chrome/browser/profiles/profile.cc | 2 +-
|
||||
.../resources/settings/reset_page/reset_profile_dialog.html | 2 +-
|
||||
chrome/browser/ui/browser_ui_prefs.cc | 6 +++---
|
||||
chrome/service/cloud_print/connector_settings.cc | 2 +-
|
||||
components/autofill/core/browser/browser_autofill_manager.h | 4 ++--
|
||||
components/autofill/core/common/autofill_prefs.cc | 2 +-
|
||||
components/bookmarks/browser/bookmark_utils.cc | 4 ++--
|
||||
components/safe_browsing/core/common/safe_browsing_prefs.cc | 4 ++--
|
||||
12 files changed, 17 insertions(+), 17 deletions(-)
|
||||
|
||||
diff --git a/chrome/browser/background/background_mode_manager.cc b/chrome/browser/background/background_mode_manager.cc
|
||||
--- a/chrome/browser/background/background_mode_manager.cc
|
||||
+++ b/chrome/browser/background/background_mode_manager.cc
|
||||
@@ -373,7 +373,7 @@ void BackgroundModeManager::RegisterPrefs(PrefRegistrySimple* registry) {
|
||||
@@ -376,7 +376,7 @@ void BackgroundModeManager::RegisterPrefs(PrefRegistrySimple* registry) {
|
||||
registry->RegisterBooleanPref(prefs::kChromeCreatedLoginItem, false);
|
||||
registry->RegisterBooleanPref(prefs::kMigratedLoginItemPref, false);
|
||||
#endif
|
||||
|
@ -32,7 +32,7 @@ diff --git a/chrome/browser/background/background_mode_manager.cc b/chrome/brows
|
|||
diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/chrome_content_browser_client.cc
|
||||
--- a/chrome/browser/chrome_content_browser_client.cc
|
||||
+++ b/chrome/browser/chrome_content_browser_client.cc
|
||||
@@ -1312,7 +1312,7 @@ void ChromeContentBrowserClient::RegisterLocalStatePrefs(
|
||||
@@ -1186,7 +1186,7 @@ void ChromeContentBrowserClient::RegisterLocalStatePrefs(
|
||||
void ChromeContentBrowserClient::RegisterProfilePrefs(
|
||||
user_prefs::PrefRegistrySyncable* registry) {
|
||||
registry->RegisterBooleanPref(prefs::kDisable3DAPIs, false);
|
||||
|
@ -68,7 +68,7 @@ diff --git a/chrome/browser/net/prediction_options.h b/chrome/browser/net/predic
|
|||
diff --git a/chrome/browser/profiles/profile.cc b/chrome/browser/profiles/profile.cc
|
||||
--- a/chrome/browser/profiles/profile.cc
|
||||
+++ b/chrome/browser/profiles/profile.cc
|
||||
@@ -280,7 +280,7 @@ const char Profile::kProfileKey[] = "__PROFILE__";
|
||||
@@ -281,7 +281,7 @@ const char Profile::kProfileKey[] = "__PROFILE__";
|
||||
void Profile::RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry) {
|
||||
registry->RegisterBooleanPref(
|
||||
prefs::kSearchSuggestEnabled,
|
||||
|
@ -92,16 +92,17 @@ diff --git a/chrome/browser/resources/settings/reset_page/reset_profile_dialog.h
|
|||
diff --git a/chrome/browser/ui/browser_ui_prefs.cc b/chrome/browser/ui/browser_ui_prefs.cc
|
||||
--- a/chrome/browser/ui/browser_ui_prefs.cc
|
||||
+++ b/chrome/browser/ui/browser_ui_prefs.cc
|
||||
@@ -72,11 +72,11 @@ void RegisterBrowserUserPrefs(user_prefs::PrefRegistrySyncable* registry) {
|
||||
@@ -77,11 +77,11 @@ void RegisterBrowserUserPrefs(user_prefs::PrefRegistrySyncable* registry) {
|
||||
registry->RegisterBooleanPref(prefs::kWebAppCreateInAppsMenu, true);
|
||||
registry->RegisterBooleanPref(prefs::kWebAppCreateInQuickLaunchBar, true);
|
||||
registry->RegisterBooleanPref(
|
||||
- prefs::kOfferTranslateEnabled, true,
|
||||
+ prefs::kOfferTranslateEnabled, false,
|
||||
- translate::prefs::kOfferTranslateEnabled, true,
|
||||
+ translate::prefs::kOfferTranslateEnabled, false,
|
||||
user_prefs::PrefRegistrySyncable::SYNCABLE_PREF);
|
||||
registry->RegisterStringPref(prefs::kCloudPrintEmail, std::string());
|
||||
registry->RegisterBooleanPref(prefs::kCloudPrintProxyEnabled, true);
|
||||
- registry->RegisterBooleanPref(prefs::kCloudPrintProxyEnabled, true);
|
||||
- registry->RegisterBooleanPref(prefs::kCloudPrintSubmitEnabled, true);
|
||||
+ registry->RegisterBooleanPref(prefs::kCloudPrintProxyEnabled, false);
|
||||
+ registry->RegisterBooleanPref(prefs::kCloudPrintSubmitEnabled, false);
|
||||
registry->RegisterDictionaryPref(prefs::kBrowserWindowPlacement);
|
||||
registry->RegisterDictionaryPref(prefs::kBrowserWindowPlacementPopup);
|
||||
|
@ -109,7 +110,7 @@ diff --git a/chrome/browser/ui/browser_ui_prefs.cc b/chrome/browser/ui/browser_u
|
|||
diff --git a/chrome/service/cloud_print/connector_settings.cc b/chrome/service/cloud_print/connector_settings.cc
|
||||
--- a/chrome/service/cloud_print/connector_settings.cc
|
||||
+++ b/chrome/service/cloud_print/connector_settings.cc
|
||||
@@ -60,7 +60,7 @@ void ConnectorSettings::InitFrom(ServiceProcessPrefs* prefs) {
|
||||
@@ -59,7 +59,7 @@ void ConnectorSettings::InitFrom(ServiceProcessPrefs* prefs) {
|
||||
DCHECK(server_url_.is_valid());
|
||||
|
||||
connect_new_printers_ = prefs->GetBoolean(
|
||||
|
@ -121,7 +122,7 @@ diff --git a/chrome/service/cloud_print/connector_settings.cc b/chrome/service/c
|
|||
diff --git a/components/autofill/core/browser/browser_autofill_manager.h b/components/autofill/core/browser/browser_autofill_manager.h
|
||||
--- a/components/autofill/core/browser/browser_autofill_manager.h
|
||||
+++ b/components/autofill/core/browser/browser_autofill_manager.h
|
||||
@@ -670,9 +670,9 @@ class BrowserAutofillManager
|
||||
@@ -681,9 +681,9 @@ class BrowserAutofillManager
|
||||
std::unique_ptr<CreditCardFormEventLogger> credit_card_form_event_logger_;
|
||||
|
||||
// Have we logged whether Autofill is enabled for this page load?
|
||||
|
|
|
@ -6,12 +6,13 @@ Search suggestions, autofill assistant and contextual search
|
|||
---
|
||||
.../java/res/xml/privacy_preferences.xml | 20 +++++++
|
||||
.../privacy/settings/PrivacySettings.java | 60 ++++++++++++++++++-
|
||||
2 files changed, 79 insertions(+), 1 deletion(-)
|
||||
.../strings/android_chrome_strings.grd | 4 ++
|
||||
3 files changed, 83 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/android/java/res/xml/privacy_preferences.xml
|
||||
--- a/chrome/android/java/res/xml/privacy_preferences.xml
|
||||
+++ b/chrome/android/java/res/xml/privacy_preferences.xml
|
||||
@@ -56,4 +56,24 @@
|
||||
@@ -60,4 +60,24 @@
|
||||
android:key="privacy_sandbox"
|
||||
android:title="@string/prefs_privacy_sandbox"
|
||||
android:fragment="org.chromium.chrome.browser.privacy_sandbox.PrivacySandboxSettingsFragment"/>
|
||||
|
@ -45,9 +46,9 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
|
|||
import org.chromium.chrome.R;
|
||||
+import org.chromium.chrome.browser.flags.ChromeFeatureList;
|
||||
import org.chromium.chrome.browser.feedback.HelpAndFeedbackLauncherImpl;
|
||||
import org.chromium.chrome.browser.flags.ChromeFeatureList;
|
||||
import org.chromium.chrome.browser.preferences.Pref;
|
||||
import org.chromium.chrome.browser.privacy.secure_dns.SecureDnsSettings;
|
||||
@@ -41,6 +42,13 @@ import org.chromium.ui.text.SpanApplier;
|
||||
@@ -42,6 +43,13 @@ import org.chromium.ui.text.SpanApplier;
|
||||
|
||||
import org.chromium.base.Log;
|
||||
|
||||
|
@ -61,7 +62,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
|
|||
/**
|
||||
* Fragment to keep track of the all the privacy related preferences.
|
||||
*/
|
||||
@@ -58,6 +66,18 @@ public class PrivacySettings
|
||||
@@ -60,6 +68,18 @@ public class PrivacySettings
|
||||
private static final String PREF_PROXY_OPTIONS = "proxy";
|
||||
private static final String PREF_PRIVACY_SANDBOX = "privacy_sandbox";
|
||||
|
||||
|
@ -80,7 +81,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
|
|||
private ManagedPreferenceDelegate mManagedPreferenceDelegate;
|
||||
|
||||
@Override
|
||||
@@ -88,6 +108,29 @@ public class PrivacySettings
|
||||
@@ -90,6 +110,29 @@ public class PrivacySettings
|
||||
|
||||
mManagedPreferenceDelegate = createManagedPreferenceDelegate();
|
||||
|
||||
|
@ -110,7 +111,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
|
|||
ChromeSwitchPreference canMakePaymentPref =
|
||||
(ChromeSwitchPreference) findPreference(PREF_CAN_MAKE_PAYMENT);
|
||||
canMakePaymentPref.setOnPreferenceChangeListener(this);
|
||||
@@ -120,6 +163,11 @@ public class PrivacySettings
|
||||
@@ -131,6 +174,11 @@ public class PrivacySettings
|
||||
} else if (PREF_CAN_MAKE_PAYMENT.equals(key)) {
|
||||
UserPrefs.get(Profile.getLastUsedRegularProfile())
|
||||
.setBoolean(Pref.CAN_MAKE_PAYMENT_ENABLED, (boolean) newValue);
|
||||
|
@ -122,7 +123,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
|
|||
} else if (PREF_NETWORK_PREDICTIONS.equals(key)) {
|
||||
PrivacyPreferencesManagerImpl.getInstance().setNetworkPredictionEnabled(
|
||||
(boolean) newValue);
|
||||
@@ -135,6 +183,16 @@ public class PrivacySettings
|
||||
@@ -149,6 +197,16 @@ public class PrivacySettings
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -139,7 +140,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
|
|||
@Override
|
||||
public void onResume() {
|
||||
super.onResume();
|
||||
@@ -145,7 +203,7 @@ public class PrivacySettings
|
||||
@@ -159,7 +217,7 @@ public class PrivacySettings
|
||||
* Updates the summaries for several preferences.
|
||||
*/
|
||||
public void updateSummaries() {
|
||||
|
@ -148,6 +149,20 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
|
|||
|
||||
ChromeSwitchPreference canMakePaymentPref =
|
||||
(ChromeSwitchPreference) findPreference(PREF_CAN_MAKE_PAYMENT);
|
||||
diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||
--- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||
+++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||
@@ -399,6 +399,10 @@ CHAR_LIMIT guidelines:
|
||||
No statistics or crash reports are sent to Google
|
||||
</message>
|
||||
|
||||
+ <message name="IDS_SERVICES_CATEGORY_TITLE" desc="Title for the group of preferences that control non-personalized Google services. This group contains preferences for data that is not tied to user's Google Account.">
|
||||
+ Other services
|
||||
+ </message>
|
||||
+
|
||||
<!-- Search engine settings -->
|
||||
<message name="IDS_SEARCH_ENGINE_SETTINGS" desc="Title for Search Engine settings. [CHAR_LIMIT=32]">
|
||||
Search engine
|
||||
--
|
||||
2.17.1
|
||||
|
||||
|
|
|
@ -25,7 +25,7 @@ approach to change color components.
|
|||
Added flag --fingerprinting-canvas-image-data-noise to disable Canvas image data fingerprinting deception
|
||||
---
|
||||
chrome/browser/BUILD.gn | 1 +
|
||||
chrome/browser/about_flags.cc | 13 ++
|
||||
chrome/browser/about_flags.cc | 15 ++
|
||||
content/browser/BUILD.gn | 1 +
|
||||
.../renderer_host/render_process_host_impl.cc | 4 +
|
||||
content/child/BUILD.gn | 1 +
|
||||
|
@ -48,7 +48,7 @@ Added flag --fingerprinting-canvas-image-data-noise to disable Canvas image data
|
|||
third_party/ungoogled/BUILD.gn | 10 ++
|
||||
third_party/ungoogled/ungoogled_switches.cc | 18 ++
|
||||
third_party/ungoogled/ungoogled_switches.h | 18 ++
|
||||
24 files changed, 343 insertions(+), 3 deletions(-)
|
||||
24 files changed, 345 insertions(+), 3 deletions(-)
|
||||
create mode 100644 third_party/ungoogled/BUILD.gn
|
||||
create mode 100644 third_party/ungoogled/ungoogled_switches.cc
|
||||
create mode 100644 third_party/ungoogled/ungoogled_switches.h
|
||||
|
@ -56,7 +56,7 @@ Added flag --fingerprinting-canvas-image-data-noise to disable Canvas image data
|
|||
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
|
||||
--- a/chrome/browser/BUILD.gn
|
||||
+++ b/chrome/browser/BUILD.gn
|
||||
@@ -2290,6 +2290,7 @@ static_library("browser") {
|
||||
@@ -2276,6 +2276,7 @@ static_library("browser") {
|
||||
"//services/device/public/cpp:device_features",
|
||||
"//services/device/public/cpp/serial:switches",
|
||||
"//services/device/public/cpp/usb",
|
||||
|
@ -67,7 +67,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
|
|||
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
|
||||
--- a/chrome/browser/about_flags.cc
|
||||
+++ b/chrome/browser/about_flags.cc
|
||||
@@ -174,6 +174,7 @@
|
||||
@@ -176,6 +176,7 @@
|
||||
#include "services/media_session/public/cpp/features.h"
|
||||
#include "services/network/public/cpp/features.h"
|
||||
#include "services/network/public/cpp/network_switches.h"
|
||||
|
@ -75,10 +75,11 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
|
|||
#include "storage/browser/quota/quota_features.h"
|
||||
#include "third_party/blink/public/common/features.h"
|
||||
#include "third_party/blink/public/common/forcedark/forcedark_switches.h"
|
||||
@@ -2725,6 +2726,18 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
{"enable-webrtc-srtp-aes-gcm", flag_descriptions::kWebrtcSrtpAesGcmName,
|
||||
flag_descriptions::kWebrtcSrtpAesGcmDescription, kOsAll,
|
||||
SINGLE_VALUE_TYPE(switches::kEnableWebRtcSrtpAesGcm)},
|
||||
@@ -2731,6 +2732,20 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
flag_descriptions::kWebrtcUseMinMaxVEADimensionsName,
|
||||
flag_descriptions::kWebrtcUseMinMaxVEADimensionsDescription, kOsAll,
|
||||
FEATURE_VALUE_TYPE(blink::features::kWebRtcUseMinMaxVEADimensions)},
|
||||
+
|
||||
+ {"fingerprinting-canvas-image-data-noise",
|
||||
+ "Disable Canvas image data fingerprint deception",
|
||||
+ "Slightly modifies at most 20 pixels in Canvas image data extracted via JS APIs",
|
||||
|
@ -91,13 +92,14 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
|
|||
+ "Disable Canvas::measureText() fingerprint deception",
|
||||
+ "Scale the output values of Canvas::measureText() with a randomly selected factor in the range -0.0003% to 0.0003%, which are recomputed on every document initialization.",
|
||||
+ kOsAll, SINGLE_DISABLE_VALUE_TYPE(switches::kFingerprintingCanvasMeasureTextNoise)},
|
||||
{"enable-webrtc-stun-origin", flag_descriptions::kWebrtcStunOriginName,
|
||||
flag_descriptions::kWebrtcStunOriginDescription, kOsAll,
|
||||
SINGLE_VALUE_TYPE(switches::kEnableWebRtcStunOrigin)},
|
||||
+
|
||||
#if BUILDFLAG(ENABLE_NACL)
|
||||
{"enable-nacl", flag_descriptions::kNaclName,
|
||||
flag_descriptions::kNaclDescription, kOsAll,
|
||||
diff --git a/content/browser/BUILD.gn b/content/browser/BUILD.gn
|
||||
--- a/content/browser/BUILD.gn
|
||||
+++ b/content/browser/BUILD.gn
|
||||
@@ -219,6 +219,7 @@ source_set("browser") {
|
||||
@@ -222,6 +222,7 @@ source_set("browser") {
|
||||
"//third_party/libyuv",
|
||||
"//third_party/re2",
|
||||
"//third_party/sqlite",
|
||||
|
@ -108,7 +110,7 @@ diff --git a/content/browser/BUILD.gn b/content/browser/BUILD.gn
|
|||
diff --git a/content/browser/renderer_host/render_process_host_impl.cc b/content/browser/renderer_host/render_process_host_impl.cc
|
||||
--- a/content/browser/renderer_host/render_process_host_impl.cc
|
||||
+++ b/content/browser/renderer_host/render_process_host_impl.cc
|
||||
@@ -209,6 +209,7 @@
|
||||
@@ -215,6 +215,7 @@
|
||||
#include "third_party/blink/public/common/user_agent/user_agent_metadata.h"
|
||||
#include "third_party/blink/public/mojom/disk_allocator.mojom.h"
|
||||
#include "third_party/blink/public/public_buildflags.h"
|
||||
|
@ -116,7 +118,7 @@ diff --git a/content/browser/renderer_host/render_process_host_impl.cc b/content
|
|||
#include "third_party/skia/include/core/SkBitmap.h"
|
||||
#include "ui/accessibility/accessibility_switches.h"
|
||||
#include "ui/base/ui_base_switches.h"
|
||||
@@ -3318,6 +3319,9 @@ void RenderProcessHostImpl::PropagateBrowserCommandLineToRenderer(
|
||||
@@ -3394,6 +3395,9 @@ void RenderProcessHostImpl::PropagateBrowserCommandLineToRenderer(
|
||||
switches::kDisableBreakpad,
|
||||
switches::kDisableDatabases,
|
||||
switches::kDisableFileSystem,
|
||||
|
@ -129,7 +131,7 @@ diff --git a/content/browser/renderer_host/render_process_host_impl.cc b/content
|
|||
diff --git a/content/child/BUILD.gn b/content/child/BUILD.gn
|
||||
--- a/content/child/BUILD.gn
|
||||
+++ b/content/child/BUILD.gn
|
||||
@@ -102,6 +102,7 @@ target(link_target_type, "child") {
|
||||
@@ -103,6 +103,7 @@ target(link_target_type, "child") {
|
||||
"//third_party/blink/public/common",
|
||||
"//third_party/blink/public/strings",
|
||||
"//third_party/ced",
|
||||
|
@ -166,28 +168,28 @@ diff --git a/content/child/runtime_features.cc b/content/child/runtime_features.
|
|||
diff --git a/third_party/blink/public/platform/web_runtime_features.h b/third_party/blink/public/platform/web_runtime_features.h
|
||||
--- a/third_party/blink/public/platform/web_runtime_features.h
|
||||
+++ b/third_party/blink/public/platform/web_runtime_features.h
|
||||
@@ -214,6 +214,9 @@ class WebRuntimeFeatures {
|
||||
@@ -217,6 +217,9 @@ class WebRuntimeFeatures {
|
||||
BLINK_PLATFORM_EXPORT static void EnableAutomationControlled(bool);
|
||||
BLINK_PLATFORM_EXPORT static void EnableAutoplayIgnoresWebAudio(bool);
|
||||
BLINK_PLATFORM_EXPORT static void EnableMediaControlsExpandGesture(bool);
|
||||
BLINK_PLATFORM_EXPORT static void EnableGetDisplayMedia(bool);
|
||||
BLINK_PLATFORM_EXPORT static void EnableGetCurrentBrowsingContextMedia(bool);
|
||||
+ BLINK_PLATFORM_EXPORT static void EnableFingerprintingClientRectsNoise(bool);
|
||||
+ BLINK_PLATFORM_EXPORT static void EnableFingerprintingCanvasMeasureTextNoise(bool);
|
||||
+ BLINK_PLATFORM_EXPORT static void EnableFingerprintingCanvasImageDataNoise(bool);
|
||||
BLINK_PLATFORM_EXPORT static void EnableGetDisplayMedia(bool);
|
||||
BLINK_PLATFORM_EXPORT static void EnableAllowSyncXHRInPageDismissal(bool);
|
||||
BLINK_PLATFORM_EXPORT static void
|
||||
EnableSignedExchangePrefetchCacheForNavigations(bool);
|
||||
diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink/renderer/core/dom/document.cc
|
||||
--- a/third_party/blink/renderer/core/dom/document.cc
|
||||
+++ b/third_party/blink/renderer/core/dom/document.cc
|
||||
@@ -43,6 +43,7 @@
|
||||
@@ -42,6 +42,7 @@
|
||||
#include "base/containers/contains.h"
|
||||
#include "base/debug/dump_without_crashing.h"
|
||||
#include "base/macros.h"
|
||||
#include "base/metrics/histogram_functions.h"
|
||||
+#include "base/rand_util.h"
|
||||
#include "base/time/time.h"
|
||||
#include "cc/input/overscroll_behavior.h"
|
||||
#include "cc/input/scroll_snap_data.h"
|
||||
@@ -2160,6 +2161,23 @@ void Document::UpdateStyleAndLayoutTreeForThisDocument() {
|
||||
@@ -2134,6 +2135,23 @@ void Document::UpdateStyleAndLayoutTreeForThisDocument() {
|
||||
#if DCHECK_IS_ON()
|
||||
AssertLayoutTreeUpdated(*this);
|
||||
#endif
|
||||
|
@ -214,7 +216,7 @@ diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink
|
|||
diff --git a/third_party/blink/renderer/core/dom/document.h b/third_party/blink/renderer/core/dom/document.h
|
||||
--- a/third_party/blink/renderer/core/dom/document.h
|
||||
+++ b/third_party/blink/renderer/core/dom/document.h
|
||||
@@ -456,6 +456,10 @@ class CORE_EXPORT Document : public ContainerNode,
|
||||
@@ -453,6 +453,10 @@ class CORE_EXPORT Document : public ContainerNode,
|
||||
has_xml_declaration_ = has_xml_declaration ? 1 : 0;
|
||||
}
|
||||
|
||||
|
@ -225,7 +227,7 @@ diff --git a/third_party/blink/renderer/core/dom/document.h b/third_party/blink/
|
|||
AtomicString visibilityState() const;
|
||||
bool IsPageVisible() const;
|
||||
bool hidden() const;
|
||||
@@ -2024,6 +2028,9 @@ class CORE_EXPORT Document : public ContainerNode,
|
||||
@@ -2052,6 +2056,9 @@ class CORE_EXPORT Document : public ContainerNode,
|
||||
|
||||
base::ElapsedTimer start_time_;
|
||||
|
||||
|
@ -238,7 +240,7 @@ diff --git a/third_party/blink/renderer/core/dom/document.h b/third_party/blink/
|
|||
diff --git a/third_party/blink/renderer/core/dom/element.cc b/third_party/blink/renderer/core/dom/element.cc
|
||||
--- a/third_party/blink/renderer/core/dom/element.cc
|
||||
+++ b/third_party/blink/renderer/core/dom/element.cc
|
||||
@@ -2120,6 +2120,11 @@ DOMRectList* Element::getClientRects() {
|
||||
@@ -2107,6 +2107,11 @@ DOMRectList* Element::getClientRects() {
|
||||
DCHECK(element_layout_object);
|
||||
GetDocument().AdjustFloatQuadsForScrollAndAbsoluteZoom(
|
||||
quads, *element_layout_object);
|
||||
|
@ -250,7 +252,7 @@ diff --git a/third_party/blink/renderer/core/dom/element.cc b/third_party/blink/
|
|||
return MakeGarbageCollected<DOMRectList>(quads);
|
||||
}
|
||||
|
||||
@@ -2137,6 +2142,9 @@ FloatRect Element::GetBoundingClientRectNoLifecycleUpdate() const {
|
||||
@@ -2124,6 +2129,9 @@ FloatRect Element::GetBoundingClientRectNoLifecycleUpdate() const {
|
||||
DCHECK(element_layout_object);
|
||||
GetDocument().AdjustFloatRectForScrollAndAbsoluteZoom(result,
|
||||
*element_layout_object);
|
||||
|
@ -263,7 +265,7 @@ diff --git a/third_party/blink/renderer/core/dom/element.cc b/third_party/blink/
|
|||
diff --git a/third_party/blink/renderer/core/dom/range.cc b/third_party/blink/renderer/core/dom/range.cc
|
||||
--- a/third_party/blink/renderer/core/dom/range.cc
|
||||
+++ b/third_party/blink/renderer/core/dom/range.cc
|
||||
@@ -1614,6 +1614,12 @@ DOMRectList* Range::getClientRects() const {
|
||||
@@ -1591,6 +1591,12 @@ DOMRectList* Range::getClientRects() const {
|
||||
Vector<FloatQuad> quads;
|
||||
GetBorderAndTextQuads(quads);
|
||||
|
||||
|
@ -276,7 +278,7 @@ diff --git a/third_party/blink/renderer/core/dom/range.cc b/third_party/blink/re
|
|||
return MakeGarbageCollected<DOMRectList>(quads);
|
||||
}
|
||||
|
||||
@@ -1740,7 +1746,11 @@ FloatRect Range::BoundingRect() const {
|
||||
@@ -1718,7 +1724,11 @@ FloatRect Range::BoundingRect() const {
|
||||
|
||||
// If all rects are empty, return the first rect.
|
||||
if (result.IsEmpty() && !quads.IsEmpty())
|
||||
|
@ -332,15 +334,15 @@ diff --git a/third_party/blink/renderer/core/html/canvas/text_metrics.h b/third_
|
|||
diff --git a/third_party/blink/renderer/modules/canvas/canvas2d/base_rendering_context_2d.cc b/third_party/blink/renderer/modules/canvas/canvas2d/base_rendering_context_2d.cc
|
||||
--- a/third_party/blink/renderer/modules/canvas/canvas2d/base_rendering_context_2d.cc
|
||||
+++ b/third_party/blink/renderer/modules/canvas/canvas2d/base_rendering_context_2d.cc
|
||||
@@ -26,6 +26,7 @@
|
||||
@@ -27,6 +27,7 @@
|
||||
#include "third_party/blink/renderer/platform/geometry/float_quad.h"
|
||||
#include "third_party/blink/renderer/platform/graphics/bitmap_image.h"
|
||||
#include "third_party/blink/renderer/platform/graphics/graphics_context.h"
|
||||
+#include "third_party/blink/renderer/platform/graphics/static_bitmap_image.h"
|
||||
#include "third_party/blink/renderer/platform/graphics/skia/skia_utils.h"
|
||||
#include "third_party/blink/renderer/platform/graphics/stroke_data.h"
|
||||
#include "third_party/blink/renderer/platform/heap/heap.h"
|
||||
+#include "third_party/blink/renderer/platform/graphics/static_bitmap_image.h"
|
||||
|
||||
namespace blink {
|
||||
|
||||
@@ -2180,6 +2181,10 @@ ImageData* BaseRenderingContext2D::getImageDataInternal(
|
||||
@@ -2304,6 +2305,10 @@ ImageData* BaseRenderingContext2D::getImageDataInternal(
|
||||
snapshot->PaintImageForCurrentFrame().GetSkImageInfo().bounds();
|
||||
DCHECK(!bounds.intersect(SkIRect::MakeXYWH(sx, sy, sw, sh)));
|
||||
}
|
||||
|
@ -354,7 +356,7 @@ diff --git a/third_party/blink/renderer/modules/canvas/canvas2d/base_rendering_c
|
|||
diff --git a/third_party/blink/renderer/modules/canvas/canvas2d/canvas_rendering_context_2d.cc b/third_party/blink/renderer/modules/canvas/canvas2d/canvas_rendering_context_2d.cc
|
||||
--- a/third_party/blink/renderer/modules/canvas/canvas2d/canvas_rendering_context_2d.cc
|
||||
+++ b/third_party/blink/renderer/modules/canvas/canvas2d/canvas_rendering_context_2d.cc
|
||||
@@ -983,9 +983,15 @@ TextMetrics* CanvasRenderingContext2D::measureText(const String& text) {
|
||||
@@ -960,9 +960,15 @@ TextMetrics* CanvasRenderingContext2D::measureText(const String& text) {
|
||||
TextDirection direction =
|
||||
ToTextDirection(GetState().GetDirection(), canvas());
|
||||
|
||||
|
@ -374,7 +376,7 @@ diff --git a/third_party/blink/renderer/modules/canvas/canvas2d/canvas_rendering
|
|||
diff --git a/third_party/blink/renderer/platform/BUILD.gn b/third_party/blink/renderer/platform/BUILD.gn
|
||||
--- a/third_party/blink/renderer/platform/BUILD.gn
|
||||
+++ b/third_party/blink/renderer/platform/BUILD.gn
|
||||
@@ -1628,7 +1628,9 @@ component("platform") {
|
||||
@@ -1636,7 +1636,9 @@ component("platform") {
|
||||
"//third_party/blink/renderer:non_test_config",
|
||||
]
|
||||
|
||||
|
@ -385,7 +387,7 @@ diff --git a/third_party/blink/renderer/platform/BUILD.gn b/third_party/blink/re
|
|||
|
||||
allow_circular_includes_from = [
|
||||
"//third_party/blink/renderer/platform/blob",
|
||||
@@ -1694,6 +1696,7 @@ component("platform") {
|
||||
@@ -1704,6 +1706,7 @@ component("platform") {
|
||||
"//third_party/blink/public/strings",
|
||||
"//third_party/blink/renderer/platform/wtf",
|
||||
"//third_party/ced",
|
||||
|
@ -396,8 +398,8 @@ diff --git a/third_party/blink/renderer/platform/BUILD.gn b/third_party/blink/re
|
|||
diff --git a/third_party/blink/renderer/platform/exported/web_runtime_features.cc b/third_party/blink/renderer/platform/exported/web_runtime_features.cc
|
||||
--- a/third_party/blink/renderer/platform/exported/web_runtime_features.cc
|
||||
+++ b/third_party/blink/renderer/platform/exported/web_runtime_features.cc
|
||||
@@ -686,4 +686,16 @@ void WebRuntimeFeatures::EnableDocumentTransition(bool enable) {
|
||||
RuntimeEnabledFeatures::SetDocumentTransitionEnabled(enable);
|
||||
@@ -700,4 +700,16 @@ void WebRuntimeFeatures::EnableCLSScrollAnchoring(bool enable) {
|
||||
RuntimeEnabledFeatures::SetCLSScrollAnchoringEnabled(enable);
|
||||
}
|
||||
|
||||
+void WebRuntimeFeatures::EnableFingerprintingClientRectsNoise(bool enable) {
|
||||
|
@ -617,7 +619,7 @@ diff --git a/third_party/blink/renderer/platform/graphics/static_bitmap_image.cc
|
|||
diff --git a/third_party/blink/renderer/platform/graphics/static_bitmap_image.h b/third_party/blink/renderer/platform/graphics/static_bitmap_image.h
|
||||
--- a/third_party/blink/renderer/platform/graphics/static_bitmap_image.h
|
||||
+++ b/third_party/blink/renderer/platform/graphics/static_bitmap_image.h
|
||||
@@ -35,6 +35,8 @@ class PLATFORM_EXPORT StaticBitmapImage : public Image {
|
||||
@@ -36,6 +36,8 @@ class PLATFORM_EXPORT StaticBitmapImage : public Image {
|
||||
|
||||
StaticBitmapImage(ImageOrientation orientation) : orientation_(orientation) {}
|
||||
|
||||
|
@ -629,7 +631,7 @@ diff --git a/third_party/blink/renderer/platform/graphics/static_bitmap_image.h
|
|||
diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5 b/third_party/blink/renderer/platform/runtime_enabled_features.json5
|
||||
--- a/third_party/blink/renderer/platform/runtime_enabled_features.json5
|
||||
+++ b/third_party/blink/renderer/platform/runtime_enabled_features.json5
|
||||
@@ -948,6 +948,15 @@
|
||||
@@ -1003,6 +1003,15 @@
|
||||
origin_trial_allows_third_party: true,
|
||||
status: "experimental",
|
||||
},
|
||||
|
|
|
@ -9,7 +9,7 @@ Subject: Never send any crash upload data
|
|||
diff --git a/chrome/browser/tracing/crash_service_uploader.cc b/chrome/browser/tracing/crash_service_uploader.cc
|
||||
--- a/chrome/browser/tracing/crash_service_uploader.cc
|
||||
+++ b/chrome/browser/tracing/crash_service_uploader.cc
|
||||
@@ -127,14 +127,16 @@ void TraceCrashServiceUploader::DoUpload(
|
||||
@@ -128,14 +128,16 @@ void TraceCrashServiceUploader::DoUpload(
|
||||
UploadDoneCallback done_callback) {
|
||||
DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
|
||||
|
||||
|
|
|
@ -9,7 +9,7 @@ Subject: Offer builtin autocomplete for chrome://flags
|
|||
diff --git a/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc b/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc
|
||||
--- a/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc
|
||||
+++ b/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc
|
||||
@@ -356,6 +356,8 @@ std::vector<std::u16string> ChromeAutocompleteProviderClient::GetBuiltinURLs() {
|
||||
@@ -357,6 +357,8 @@ std::vector<std::u16string> ChromeAutocompleteProviderClient::GetBuiltinURLs() {
|
||||
std::vector<std::u16string>
|
||||
ChromeAutocompleteProviderClient::GetBuiltinsToProvideAsUserTypes() {
|
||||
std::vector<std::u16string> builtins_to_provide;
|
||||
|
|
|
@ -9,7 +9,7 @@ Subject: Open YouTube links in Bromite
|
|||
diff --git a/components/external_intents/android/java/src/org/chromium/components/external_intents/ExternalNavigationHandler.java b/components/external_intents/android/java/src/org/chromium/components/external_intents/ExternalNavigationHandler.java
|
||||
--- a/components/external_intents/android/java/src/org/chromium/components/external_intents/ExternalNavigationHandler.java
|
||||
+++ b/components/external_intents/android/java/src/org/chromium/components/external_intents/ExternalNavigationHandler.java
|
||||
@@ -1163,6 +1163,12 @@ public class ExternalNavigationHandler {
|
||||
@@ -1216,6 +1216,12 @@ public class ExternalNavigationHandler {
|
||||
OverrideUrlLoadingAsyncActionType.UI_GATING_BROWSER_NAVIGATION);
|
||||
}
|
||||
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Reference in a new issue