Updated patches for v96

Minus timezone customization and user scripts patches
This commit is contained in:
csagan5 2021-12-03 00:26:46 +01:00 committed by Yifeng Wu
parent 32efdc35c2
commit c39126a602
110 changed files with 7229 additions and 18045 deletions

View file

@ -1 +1 @@
98.0.4758.108
96.0.4664.54

View file

@ -1,4 +1,3 @@
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
@ -17,7 +16,6 @@ Do-not-store-passwords-by-default.patch
Disable-NTP-remote-suggestions-by-default.patch
Disable-references-to-fonts.googleapis.com.patch
Change-default-webRTC-policy-to-not-use-any-address.patch
Never-send-any-crash-upload-data.patch
Hide-send-reports-checkbox.patch
Never-fetch-popular-sites.patch
ungoogled-chromium-Disable-webRTC-log-uploader.patch
@ -90,7 +88,7 @@ disable-AdsBlockedInfoBar.patch
Bromite-AdBlockUpdaterService.patch
Replace-DoH-probe-domain-with-RIPE-domain.patch
Increase-number-of-autocomplete-matches-from-5-to-10.patch
Disable-HEAD-requests-for-single-word-Omnibar-searches.patch
Disable-requests-for-single-word-Omnibar-searches.patch
Disable-some-signed-exchange-features.patch
Add-flag-to-disable-WebGL.patch
DoH-secure-mode-by-default.patch
@ -118,9 +116,9 @@ Disable-the-DIAL-repeating-discovery.patch
Block-qjz9zk-or-trk-requests.patch
Hardening-against-incognito-mode-detection.patch
Remove-weblayer-dependency-on-Play-Services.patch
Timezone-customization.patch
Move-some-account-settings-back-to-privacy-settings.patch
Restore-Simplified-NTP-launch.patch
Add-option-to-use-home-page-as-NTP.patch
Revert-the-removal-of-an-option-to-block-autoplay.patch
Disable-text-fragments-by-default.patch
disable-WebView-variations-support.patch
@ -132,6 +130,7 @@ Revert-flags-remove-num-raster-threads.patch
webview-Hard-no-to-persistent-histograms.patch
Ignore-enterprise-policies-for-secure-DNS.patch
Add-menu-item-to-bookmark-all-tabs.patch
Ask-user-before-closing-all-tabs.patch
Add-flag-for-save-data-header.patch
Add-option-to-force-tablet-UI.patch
Make-all-favicon-requests-on-demand.patch
@ -158,7 +157,6 @@ Add-custom-tab-intents-privacy-option.patch
Enable-share-intent.patch
Site-setting-for-images.patch
Bromite-auto-updater.patch
Experimental-user-scripts-support.patch
Enable-native-Android-autofill.patch
Keep-empty-tabs-between-sessions.patch
Disable-third-party-origin-trials.patch

View file

@ -20,7 +20,7 @@ See discussions at:
---
base/android/android_image_reader_compat.cc | 8 +++++++-
base/android/android_image_reader_compat.h | 4 ++++
chrome/browser/flag-metadata.json | 6 +++---
chrome/browser/flag-metadata.json | 2 +-
gpu/config/gpu_driver_bug_list.json | 16 ++++++++++++++++
gpu/config/gpu_finch_features.cc | 5 +++++
gpu/config/gpu_finch_features.h | 1 +
@ -30,7 +30,7 @@ See discussions at:
gpu/ipc/service/stream_texture_android.cc | 11 ++++++++++-
media/base/media_switches.cc | 4 ++++
media/base/media_switches.h | 1 +
12 files changed, 65 insertions(+), 5 deletions(-)
12 files changed, 63 insertions(+), 3 deletions(-)
diff --git a/base/android/android_image_reader_compat.cc b/base/android/android_image_reader_compat.cc
--- a/base/android/android_image_reader_compat.cc
@ -61,7 +61,7 @@ diff --git a/base/android/android_image_reader_compat.cc b/base/android/android_
diff --git a/base/android/android_image_reader_compat.h b/base/android/android_image_reader_compat.h
--- a/base/android/android_image_reader_compat.h
+++ b/base/android/android_image_reader_compat.h
@@ -24,6 +24,9 @@ class BASE_EXPORT AndroidImageReader {
@@ -25,6 +25,9 @@ class BASE_EXPORT AndroidImageReader {
AndroidImageReader(const AndroidImageReader&) = delete;
AndroidImageReader& operator=(const AndroidImageReader&) = delete;
@ -71,7 +71,7 @@ diff --git a/base/android/android_image_reader_compat.h b/base/android/android_i
// Check if the image reader usage is supported. This function returns TRUE
// if android version is >=OREO, image reader support is not disabled and all
// the required functions are loaded.
@@ -61,6 +64,7 @@ class BASE_EXPORT AndroidImageReader {
@@ -62,6 +65,7 @@ class BASE_EXPORT AndroidImageReader {
jobject ANativeWindow_toSurface(JNIEnv* env, ANativeWindow* window);
private:
@ -82,19 +82,15 @@ 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
@@ -2144,9 +2144,9 @@
"expiry_milestone": 100
},
@@ -2121,7 +2121,7 @@
{
- "name": "enable-image-reader",
- "owners": [ "vikassoni", "liberato" ],
- "expiry_milestone": 115
+ "name": "enable-image-reader", // Bromite: do not expire
+ "owners": [ "vikassoni", "liberato" ], // flag
"name": "enable-launcher-app-paging",
"owners": [ "//ash/app_list/OWNERS" ],
- "expiry_milestone": 95
+ "expiry_milestone": -1
},
{
"name": "enable-immersive-fullscreen-toolbar",
"name": "enable-layout-ng",
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
@ -124,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
@@ -52,6 +52,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)
@ -160,7 +156,7 @@ diff --git a/gpu/config/gpu_util.cc b/gpu/config/gpu_util.cc
if (!gpu_preferences.enable_android_surface_control)
return kGpuFeatureStatusDisabled;
@@ -356,6 +359,11 @@ void AdjustGpuFeatureStatusToWorkarounds(GpuFeatureInfo* gpu_feature_info) {
@@ -344,6 +347,11 @@ void AdjustGpuFeatureStatusToWorkarounds(GpuFeatureInfo* gpu_feature_info) {
gpu_feature_info->status_values[GPU_FEATURE_TYPE_CANVAS_OOP_RASTERIZATION] =
kGpuFeatureStatusBlocklisted;
}
@ -180,13 +176,13 @@ diff --git a/gpu/config/gpu_workaround_list.txt b/gpu/config/gpu_workaround_list
disable_2d_canvas_auto_flush
disable_accelerated_av1_decode
+disable_aimagereader
disable_accelerated_av1_decode_d3d11
disable_accelerated_h264_encode
disable_accelerated_vp8_decode
disable_accelerated_vp8_encode
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
@@ -518,6 +518,11 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandLine* command_line,
@@ -521,6 +521,11 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandLine* command_line,
}
}
@ -243,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
@@ -212,6 +212,7 @@ MEDIA_EXPORT extern const base::Feature kForceHardwareAudioDecoders;
@@ -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;
@ -251,5 +247,6 @@ diff --git a/media/base/media_switches.h b/media/base/media_switches.h
MEDIA_EXPORT extern const base::Feature kMediaDrmPreprovisioning;
MEDIA_EXPORT extern const base::Feature kMediaDrmPreprovisioningAtStartup;
MEDIA_EXPORT extern const base::Feature kCanPlayHls;
--
2.25.1
--
2.20.1

View file

@ -54,7 +54,7 @@ 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
@@ -643,6 +643,11 @@ aom_mem_sources = [
@@ -642,6 +642,11 @@ aom_mem_sources = [
aom_ports_asm_x86 = [ "//third_party/libaom/source/libaom/aom_ports/float.asm" ]
@ -69,7 +69,7 @@ diff --git a/third_party/libaom/libaom_srcs.gni b/third_party/libaom/libaom_srcs
diff --git a/third_party/libaom/source/config/linux/arm-neon-cpu-detect/config/aom_config.asm b/third_party/libaom/source/config/linux/arm-neon-cpu-detect/config/aom_config.asm
--- a/third_party/libaom/source/config/linux/arm-neon-cpu-detect/config/aom_config.asm
+++ b/third_party/libaom/source/config/linux/arm-neon-cpu-detect/config/aom_config.asm
@@ -50,7 +50,7 @@ CONFIG_NORMAL_TILE_MODE equ 1
@@ -49,7 +49,7 @@ CONFIG_NORMAL_TILE_MODE equ 1
CONFIG_OPTICAL_FLOW_API equ 0
CONFIG_OS_SUPPORT equ 1
CONFIG_PARTITION_SEARCH_ORDER equ 0
@ -81,7 +81,7 @@ diff --git a/third_party/libaom/source/config/linux/arm-neon-cpu-detect/config/a
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
@@ -52,7 +52,7 @@
@@ -51,7 +51,7 @@
#define CONFIG_OPTICAL_FLOW_API 0
#define CONFIG_OS_SUPPORT 1
#define CONFIG_PARTITION_SEARCH_ORDER 0
@ -93,7 +93,7 @@ diff --git a/third_party/libaom/source/config/linux/arm-neon-cpu-detect/config/a
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
@@ -50,7 +50,7 @@ CONFIG_NORMAL_TILE_MODE equ 1
@@ -49,7 +49,7 @@ CONFIG_NORMAL_TILE_MODE equ 1
CONFIG_OPTICAL_FLOW_API equ 0
CONFIG_OS_SUPPORT equ 1
CONFIG_PARTITION_SEARCH_ORDER equ 0
@ -105,7 +105,7 @@ diff --git a/third_party/libaom/source/config/linux/arm-neon/config/aom_config.a
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
@@ -52,7 +52,7 @@
@@ -51,7 +51,7 @@
#define CONFIG_OPTICAL_FLOW_API 0
#define CONFIG_OS_SUPPORT 1
#define CONFIG_PARTITION_SEARCH_ORDER 0
@ -117,7 +117,7 @@ diff --git a/third_party/libaom/source/config/linux/arm-neon/config/aom_config.h
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
@@ -50,7 +50,7 @@ CONFIG_NORMAL_TILE_MODE equ 1
@@ -49,7 +49,7 @@ CONFIG_NORMAL_TILE_MODE equ 1
CONFIG_OPTICAL_FLOW_API equ 0
CONFIG_OS_SUPPORT equ 1
CONFIG_PARTITION_SEARCH_ORDER equ 0
@ -129,7 +129,7 @@ diff --git a/third_party/libaom/source/config/linux/arm/config/aom_config.asm b/
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
@@ -52,7 +52,7 @@
@@ -51,7 +51,7 @@
#define CONFIG_OPTICAL_FLOW_API 0
#define CONFIG_OS_SUPPORT 1
#define CONFIG_PARTITION_SEARCH_ORDER 0
@ -141,7 +141,7 @@ diff --git a/third_party/libaom/source/config/linux/arm/config/aom_config.h b/th
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
@@ -50,7 +50,7 @@ CONFIG_NORMAL_TILE_MODE equ 1
@@ -49,7 +49,7 @@ CONFIG_NORMAL_TILE_MODE equ 1
CONFIG_OPTICAL_FLOW_API equ 0
CONFIG_OS_SUPPORT equ 1
CONFIG_PARTITION_SEARCH_ORDER equ 0
@ -153,7 +153,7 @@ diff --git a/third_party/libaom/source/config/linux/arm64/config/aom_config.asm
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
@@ -52,7 +52,7 @@
@@ -51,7 +51,7 @@
#define CONFIG_OPTICAL_FLOW_API 0
#define CONFIG_OS_SUPPORT 1
#define CONFIG_PARTITION_SEARCH_ORDER 0
@ -165,7 +165,7 @@ diff --git a/third_party/libaom/source/config/linux/arm64/config/aom_config.h b/
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
@@ -50,7 +50,7 @@ CONFIG_NORMAL_TILE_MODE equ 1
@@ -49,7 +49,7 @@ CONFIG_NORMAL_TILE_MODE equ 1
CONFIG_OPTICAL_FLOW_API equ 0
CONFIG_OS_SUPPORT equ 1
CONFIG_PARTITION_SEARCH_ORDER equ 0
@ -177,7 +177,7 @@ diff --git a/third_party/libaom/source/config/linux/generic/config/aom_config.as
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
@@ -52,7 +52,7 @@
@@ -51,7 +51,7 @@
#define CONFIG_OPTICAL_FLOW_API 0
#define CONFIG_OS_SUPPORT 1
#define CONFIG_PARTITION_SEARCH_ORDER 0
@ -189,7 +189,7 @@ diff --git a/third_party/libaom/source/config/linux/generic/config/aom_config.h
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
@@ -40,7 +40,7 @@
@@ -39,7 +39,7 @@
%define CONFIG_OPTICAL_FLOW_API 0
%define CONFIG_OS_SUPPORT 1
%define CONFIG_PARTITION_SEARCH_ORDER 0
@ -201,7 +201,7 @@ diff --git a/third_party/libaom/source/config/linux/x64/config/aom_config.asm b/
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
@@ -52,7 +52,7 @@
@@ -51,7 +51,7 @@
#define CONFIG_OPTICAL_FLOW_API 0
#define CONFIG_OS_SUPPORT 1
#define CONFIG_PARTITION_SEARCH_ORDER 0
@ -210,5 +210,6 @@ diff --git a/third_party/libaom/source/config/linux/x64/config/aom_config.h b/th
#define CONFIG_RD_COMMAND 0
#define CONFIG_RD_DEBUG 0
#define CONFIG_REALTIME_ONLY 1
--
2.25.1
--
2.20.1

View file

@ -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
@@ -230,6 +230,7 @@ import org.chromium.content_public.browser.ScreenOrientationProvider;
@@ -226,6 +226,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;
@@ -992,6 +993,8 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
@@ -981,6 +982,8 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
UpdateMenuItemHelper.getInstance().onStart();
ChromeActivitySessionTracker.getInstance().onStartWithNative();
ChromeCachedFlags.getInstance().cacheNativeFlags();
@ -38,9 +38,9 @@ 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
@@ -92,6 +92,7 @@ public class ChromeCachedFlags {
@@ -90,6 +90,7 @@ public class ChromeCachedFlags {
add(ChromeFeatureList
.GIVE_JAVA_UI_THREAD_DEFAULT_TASK_TRAITS_USER_BLOCKING_PRIORITY);
add(ChromeFeatureList.GRID_TAB_SWITCHER_FOR_TABLETS);
add(ChromeFeatureList.IMMERSIVE_UI_MODE);
+ add(ChromeFeatureList.ALLOW_USER_CERTIFICATES);
add(ChromeFeatureList.INSTANT_START);
@ -49,7 +49,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/flags/Chrom
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
@@ -2787,6 +2787,10 @@ const FeatureEntry kFeatureEntries[] = {
@@ -2874,6 +2874,10 @@ const FeatureEntry kFeatureEntries[] = {
flag_descriptions::kCSSContainerQueriesDescription, kOsAll,
FEATURE_VALUE_TYPE(blink::features::kCSSContainerQueries)},
#if defined(OS_ANDROID)
@ -91,7 +91,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
@@ -142,6 +142,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
@@ -150,6 +150,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
&feed::kFeedSignInPromoDismiss,
&feed::kInterestFeedContentSuggestions,
&feed::kInterestFeedSpinnerAlwaysAnimate,
@ -99,7 +99,7 @@ diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browse
&feed::kInterestFeedV1ClicksAndViewsConditionalUpload,
&feed::kInterestFeedV2,
&feed::kInterestFeedV2Autoplay,
@@ -385,6 +386,9 @@ const base::Feature kAdaptiveButtonInTopToolbarCustomizationV2{
@@ -387,6 +388,9 @@ const base::Feature kAdaptiveButtonInTopToolbarCustomizationV2{
"AdaptiveButtonInTopToolbarCustomizationV2",
base::FEATURE_DISABLED_BY_DEFAULT};
@ -164,5 +164,6 @@ diff --git a/net/android/java/src/org/chromium/net/X509Util.java b/net/android/j
return new AndroidCertVerifyResult(CertVerifyStatusAndroid.OK,
isIssuedByKnownRoot, verifiedChain);
}
--
2.25.1
--
2.20.1

View file

@ -14,22 +14,22 @@ 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
@@ -7741,6 +7741,11 @@ const FeatureEntry kFeatureEntries[] = {
SINGLE_VALUE_TYPE(switches::kPervasiveSystemAccentColor)},
#endif
@@ -7783,6 +7783,11 @@ const FeatureEntry kFeatureEntries[] = {
FEATURE_VALUE_TYPE(
chrome::android::kBookmarksExportUseSaf)},
+ {"cleartext-permitted",
+ flag_descriptions::kIsCleartextPermittedName,
+ flag_descriptions::kIsCleartextPermittedDescription, kOsAndroid,
+ FEATURE_VALUE_TYPE(net::features::kIsCleartextPermitted)},
+
#if defined(OS_ANDROID)
{"use-ulp-languages-in-chrome",
flag_descriptions::kUseULPLanguagesInChromeName,
// NOTE: Adding a new flag requires adding a corresponding entry to enum
// "LoginCustomFlags" in tools/metrics/histograms/enums.xml. See "Flag
// Histograms" in tools/metrics/histograms/README.md (run the
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
@@ -1484,6 +1484,10 @@ const char kHttpsOnlyModeDescription[] =
@@ -1507,6 +1507,10 @@ const char kHttpsOnlyModeDescription[] =
"Adds a setting under chrome://settings/security to opt-in to HTTPS-First "
"Mode.";
@ -43,7 +43,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
@@ -862,6 +862,9 @@ extern const char kHideShelfControlsInTabletModeDescription[];
@@ -867,6 +867,9 @@ extern const char kHostedAppShimCreationDescription[];
extern const char kHttpsOnlyModeName[];
extern const char kHttpsOnlyModeDescription[];
@ -56,8 +56,8 @@ 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
@@ -92,6 +92,9 @@ const base::Feature kEnableTLS13EarlyData{"EnableTLS13EarlyData",
const base::Feature kEncryptedClientHello{"EncryptedClientHello",
@@ -89,6 +89,9 @@ const base::FeatureParam<int> kUseDnsHttpsSvcbExtraTimePercent{
const base::Feature kEnableTLS13EarlyData{"EnableTLS13EarlyData",
base::FEATURE_DISABLED_BY_DEFAULT};
+const base::Feature kIsCleartextPermitted{"IsCleartextPermitted",
@ -69,9 +69,9 @@ 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 kAvoidH2Reprioritization;
// origin requests are restricted to contain at most the source origin.
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;
+NET_EXPORT extern const base::Feature kIsCleartextPermitted;
+
@ -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
@@ -206,6 +206,10 @@ std::unique_ptr<URLRequestJob> URLRequestHttpJob::Create(URLRequest* request) {
@@ -234,6 +234,10 @@ std::unique_ptr<URLRequestJob> URLRequestHttpJob::Create(URLRequest* request) {
}
#if defined(OS_ANDROID)
@ -92,5 +92,6 @@ diff --git a/net/url_request/url_request_http_job.cc b/net/url_request/url_reque
// Check whether the app allows cleartext traffic to this host, and return
// ERR_CLEARTEXT_NOT_PERMITTED if not.
if (request->context()->check_cleartext_permitted() &&
--
2.25.1
--
2.20.1

View file

@ -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
@@ -7403,6 +7403,12 @@ const FeatureEntry kFeatureEntries[] = {
@@ -7538,6 +7538,12 @@ const FeatureEntry kFeatureEntries[] = {
"AndroidDynamicColor")},
#endif // defined(OS_ANDROID)
@ -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
@@ -692,6 +692,11 @@ const char kEnableAutofillCreditCardAuthenticationDescription[] =
@@ -712,6 +712,11 @@ const char kEnableAutofillCreditCardAuthenticationDescription[] =
"authenticator (if available) to verify card ownership when retrieving "
"credit cards from Google Payments.";
@ -48,7 +48,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
@@ -440,6 +440,9 @@ extern const char kEnableAutofillSaveCardInfoBarAccountIndicationFooterName[];
@@ -446,6 +446,9 @@ extern const char kEnableAutofillSaveCardInfoBarAccountIndicationFooterName[];
extern const char
kEnableAutofillSaveCardInfoBarAccountIndicationFooterDescription[];
@ -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
@@ -332,6 +332,9 @@ const char kHomePage[] = "homepage";
@@ -335,6 +335,9 @@ const char kHomePage[] = "homepage";
// Causes the browser to launch directly in incognito mode.
const char kIncognito[] = "incognito";
@ -88,7 +88,7 @@ diff --git a/chrome/common/chrome_switches.cc b/chrome/common/chrome_switches.cc
diff --git a/chrome/common/chrome_switches.h b/chrome/common/chrome_switches.h
--- a/chrome/common/chrome_switches.h
+++ b/chrome/common/chrome_switches.h
@@ -109,6 +109,7 @@ extern const char kForceFirstRun[];
@@ -110,6 +110,7 @@ extern const char kForceStackedTabStripLayout[];
extern const char kHideCrashRestoreBubble[];
extern const char kHomePage[];
extern const char kIncognito[];
@ -96,5 +96,6 @@ diff --git a/chrome/common/chrome_switches.h b/chrome/common/chrome_switches.h
extern const char kInstallAutogeneratedTheme[];
extern const char kInstallChromeApp[];
extern const char kInstantProcess[];
--
2.25.1
--
2.20.1

View file

@ -23,8 +23,8 @@ 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 | 418 ++++++++++++++++++
chrome/browser/ui/webui/proxy_config_ui.h | 31 ++
chrome/browser/ui/webui/proxy_config_ui.cc | 419 ++++++++++++++++++
chrome/browser/ui/webui/proxy_config_ui.h | 33 ++
chrome/common/webui_url_constants.cc | 4 +
chrome/common/webui_url_constants.h | 2 +
.../pref_proxy_config_tracker_impl.cc | 1 +
@ -33,7 +33,7 @@ for SimpleURLLoaders as well.
.../proxy_config/proxy_policy_handler.cc | 2 +-
net/proxy_resolution/proxy_config.cc | 52 ++-
net/proxy_resolution/proxy_config.h | 3 +
24 files changed, 995 insertions(+), 14 deletions(-)
24 files changed, 998 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
@ -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
@@ -280,6 +280,8 @@ ChromeAutocompleteProviderClient::GetBuiltinsToProvideAsUserTypes() {
@@ -374,6 +374,8 @@ ChromeAutocompleteProviderClient::GetBuiltinsToProvideAsUserTypes() {
builtins_to_provide.push_back(
base::ASCIIToUTF16(chrome::kChromeUISettingsURL));
#endif
@ -156,12 +156,12 @@ diff --git a/chrome/browser/net/proxy_service_factory.h b/chrome/browser/net/pro
@@ -8,6 +8,7 @@
#include <memory>
class PrefProxyConfigTracker;
#include "base/macros.h"
+#include "components/prefs/pref_registry_simple.h"
class PrefService;
class Profile;
@@ -35,6 +36,8 @@ class ProxyServiceFactory {
class PrefProxyConfigTracker;
class PrefService;
@@ -37,6 +38,8 @@ class ProxyServiceFactory {
CreatePrefProxyConfigTrackerOfProfile(PrefService* profile_prefs,
PrefService* local_state_prefs);
@ -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
@@ -159,6 +159,8 @@
@@ -164,6 +164,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
@@ -962,6 +964,8 @@ void RegisterLocalState(PrefRegistrySimple* registry) {
@@ -960,6 +962,8 @@ void RegisterLocalState(PrefRegistrySimple* registry) {
PluginsResourceService::RegisterPrefs(registry);
#endif
@ -645,9 +645,9 @@ diff --git a/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc b/chrom
#include "chrome/browser/ui/webui/predictors/predictors_ui.h"
+#include "chrome/browser/ui/webui/proxy_config_ui.h"
#include "chrome/browser/ui/webui/quota_internals/quota_internals_ui.h"
#include "chrome/browser/ui/webui/segmentation_internals/segmentation_internals_ui.h"
#include "chrome/browser/ui/webui/signin_internals_ui.h"
@@ -671,6 +672,8 @@ WebUIFactoryFunction GetWebUIFactoryFunction(WebUI* web_ui,
#include "chrome/browser/ui/webui/support_tool_ui.h"
@@ -644,6 +645,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,418 @@
@@ -0,0 +1,419 @@
+/*
+ This file is part of Bromite.
+
@ -689,6 +689,7 @@ new file mode 100644
+#include "base/bind.h"
+#include "base/command_line.h"
+#include "base/lazy_instance.h"
+#include "base/macros.h"
+#include "base/memory/ref_counted.h"
+#include "base/strings/string_util.h"
+#include "base/strings/utf_string_conversions.h"
@ -736,8 +737,6 @@ new file mode 100644
+ public base::SupportsWeakPtr<ProxyConfigMessageHandler>,
+ public net::ProxyConfigService::Observer {
+ public:
+ ProxyConfigMessageHandler(const ProxyConfigMessageHandler&) = delete;
+ ProxyConfigMessageHandler& operator=(const ProxyConfigMessageHandler&) = delete;
+ // Creates a ProxyConfigMessageHandler that handles message exchanges with the Javascript
+ // side of the UI and gets proxy settings from the Web UI associated profile to watch for changes.
+ // The created ProxyConfigMessageHandler must be destroyed before |profile|.
@ -772,6 +771,8 @@ new file mode 100644
+ void apply(const net::ProxyConfig& config);
+
+ base::WeakPtrFactory<ProxyConfigMessageHandler> weak_ptr_factory_;
+
+ DISALLOW_COPY_AND_ASSIGN(ProxyConfigMessageHandler);
+};
+
+ProxyConfigMessageHandler::ProxyConfigMessageHandler(Profile *profile)
@ -1083,7 +1084,7 @@ diff --git a/chrome/browser/ui/webui/proxy_config_ui.h b/chrome/browser/ui/webui
new file mode 100644
--- /dev/null
+++ b/chrome/browser/ui/webui/proxy_config_ui.h
@@ -0,0 +1,31 @@
@@ -0,0 +1,33 @@
+/*
+ This file is part of Bromite.
+
@ -1104,14 +1105,16 @@ new file mode 100644
+#ifndef CHROME_BROWSER_UI_WEBUI_PROXY_CONFIG_UI_H_
+#define CHROME_BROWSER_UI_WEBUI_PROXY_CONFIG_UI_H_
+
+#include "base/macros.h"
+#include "content/public/browser/web_ui_controller.h"
+
+// The WebUI for chrome://proxy/.
+class ProxyConfigUI : public content::WebUIController {
+ public:
+ ProxyConfigUI(const ProxyConfigUI&) = delete;
+ ProxyConfigUI& operator=(const ProxyConfigUI&) = delete;
+ explicit ProxyConfigUI(content::WebUI* web_ui);
+
+ private:
+ DISALLOW_COPY_AND_ASSIGN(ProxyConfigUI);
+};
+
+#endif // CHROME_BROWSER_UI_WEBUI_PROXY_CONFIG_UI_H_
@ -1127,7 +1130,7 @@ 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";
@@ -393,6 +395,7 @@ bool IsSystemWebUIHost(base::StringPiece host) {
@@ -354,6 +356,7 @@ bool IsSystemWebUIHost(base::StringPiece host) {
kChromeUIMobileSetupHost,
kChromeUIMultiDeviceSetupHost,
kChromeUINetworkHost,
@ -1135,7 +1138,7 @@ diff --git a/chrome/common/webui_url_constants.cc b/chrome/common/webui_url_cons
kChromeUIOobeHost,
kChromeUIOSCreditsHost,
kChromeUIOSSettingsHost,
@@ -627,6 +630,7 @@ const char* const kChromeHostURLs[] = {
@@ -584,6 +587,7 @@ const char* const kChromeHostURLs[] = {
#if !defined(OS_ANDROID)
#if !BUILDFLAG(IS_CHROMEOS_ASH)
kChromeUIAppLauncherPageHost,
@ -1146,7 +1149,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
@@ -129,6 +129,8 @@ extern const char kChromeUIMemoryInternalsHost[];
@@ -127,6 +127,8 @@ extern const char kChromeUIMemoryInternalsHost[];
extern const char kChromeUINTPTilesInternalsHost[];
extern const char kChromeUINaClHost[];
extern const char kChromeUINetExportHost[];
@ -1263,7 +1266,7 @@ diff --git a/components/proxy_config/proxy_config_dictionary.cc b/components/pro
diff --git a/components/proxy_config/proxy_config_dictionary.h b/components/proxy_config/proxy_config_dictionary.h
--- a/components/proxy_config/proxy_config_dictionary.h
+++ b/components/proxy_config/proxy_config_dictionary.h
@@ -42,6 +42,7 @@ class PROXY_CONFIG_EXPORT ProxyConfigDictionary {
@@ -43,6 +43,7 @@ class PROXY_CONFIG_EXPORT ProxyConfigDictionary {
bool GetProxyServer(std::string* out) const;
bool GetBypassList(std::string* out) const;
bool HasBypassList() const;
@ -1271,7 +1274,7 @@ diff --git a/components/proxy_config/proxy_config_dictionary.h b/components/prox
const base::Value& GetDictionary() const;
@@ -50,7 +51,8 @@ class PROXY_CONFIG_EXPORT ProxyConfigDictionary {
@@ -51,7 +52,8 @@ class PROXY_CONFIG_EXPORT ProxyConfigDictionary {
static base::Value CreatePacScript(const std::string& pac_url,
bool pac_mandatory);
static base::Value CreateFixedServers(const std::string& proxy_server,
@ -1281,7 +1284,7 @@ diff --git a/components/proxy_config/proxy_config_dictionary.h b/components/prox
static base::Value CreateSystem();
// Encodes the proxy server as "<url-scheme>=<proxy-scheme>://<proxy>".
@@ -66,7 +68,8 @@ class PROXY_CONFIG_EXPORT ProxyConfigDictionary {
@@ -67,7 +69,8 @@ class PROXY_CONFIG_EXPORT ProxyConfigDictionary {
const std::string& pac_url,
bool pac_mandatory,
const std::string& proxy_server,
@ -1385,5 +1388,6 @@ diff --git a/net/proxy_resolution/proxy_config.h b/net/proxy_resolution/proxy_co
// Returns one of {&proxies_for_http, &proxies_for_https, &proxies_for_ftp,
// &fallback_proxies}, or NULL if there is no proxy to use.
--
2.25.1
--
2.20.1

View file

@ -153,7 +153,7 @@ 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;
@@ -1780,8 +1781,9 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
@@ -1770,8 +1771,9 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
Bundle savedInstanceState = getSavedInstanceState();
// We determine the model as soon as possible so every systems get initialized coherently.
@ -168,7 +168,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
@@ -102,6 +102,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;
@ -176,7 +176,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;
@@ -1952,6 +1953,9 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
@@ -1891,6 +1892,9 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
throw new IllegalStateException(
"Attempting to access TabCreator before initialization");
}
@ -189,7 +189,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
@@ -524,6 +524,12 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate
@@ -538,6 +538,12 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate
}
private void prepareCommonMenuItems(Menu menu, @MenuGroup int menuGroup, boolean isIncognito) {
@ -301,9 +301,9 @@ 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
@@ -42,6 +42,9 @@ import org.chromium.url.GURL;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
@@ -34,6 +34,9 @@ import org.chromium.content_public.browser.WebContents;
import org.chromium.ui.base.WindowAndroid;
import org.chromium.url.GURL;
+import org.chromium.base.ContextUtils;
+import org.chromium.chrome.browser.AlwaysIncognitoLinkInterceptor;
@ -311,7 +311,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.
@@ -446,17 +449,22 @@ 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));
@ -340,17 +340,17 @@ 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
@@ -28,6 +28,10 @@ import org.chromium.chrome.browser.privacy_sandbox.PrivacySandboxSettingsFragmen
import org.chromium.chrome.browser.profiles.Profile;
@@ -29,6 +29,10 @@ import org.chromium.chrome.browser.profiles.Profile;
import org.chromium.chrome.browser.settings.ChromeManagedPreferenceDelegate;
import org.chromium.chrome.browser.settings.SettingsLauncherImpl;
import org.chromium.chrome.browser.signin.services.IdentityServicesProvider;
+import org.chromium.chrome.browser.ui.messages.snackbar.SnackbarManager;
+import org.chromium.chrome.browser.ui.messages.snackbar.INeedSnackbarManager;
+import org.chromium.chrome.browser.ui.messages.snackbar.Snackbar;
+import org.chromium.chrome.browser.ApplicationLifetime;
import org.chromium.chrome.browser.signin.services.IdentityServicesProvider;
import org.chromium.components.browser_ui.settings.ChromeSwitchPreference;
import org.chromium.components.browser_ui.settings.ManagedPreferenceDelegate;
import org.chromium.components.browser_ui.settings.SettingsLauncher;
@@ -43,7 +47,12 @@ import org.chromium.ui.text.SpanApplier;
* Fragment to keep track of the all the privacy related preferences.
*/
@ -363,9 +363,9 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
+
+ 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_PRELOAD_PAGES = "preload_pages";
private static final String PREF_NETWORK_PREDICTIONS = "preload_pages";
private static final String PREF_HTTPS_FIRST_MODE = "https_first_mode";
@@ -100,6 +109,25 @@ public class PrivacySettings
@@ -96,6 +105,25 @@ public class PrivacySettings
(ChromeSwitchPreference) findPreference(PREF_CAN_MAKE_PAYMENT);
canMakePaymentPref.setOnPreferenceChangeListener(this);
@ -388,20 +388,20 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
+ /*actionData*/null)
+ .setDuration(/*durationMs*/70000);
+
Preference preloadPagesPreference = findPreference(PREF_PRELOAD_PAGES);
preloadPagesPreference.setSummary(
PreloadPagesSettingsFragment.getPreloadPagesSummaryString(getContext()));
@@ -128,6 +156,9 @@ public class PrivacySettings
} else if (PREF_HTTPS_FIRST_MODE.equals(key)) {
UserPrefs.get(Profile.getLastUsedRegularProfile())
.setBoolean(Pref.HTTPS_ONLY_MODE_ENABLED, (boolean) newValue);
ChromeSwitchPreference networkPredictionPref =
(ChromeSwitchPreference) findPreference(PREF_NETWORK_PREDICTIONS);
networkPredictionPref.setChecked(
@@ -156,6 +184,9 @@ public class PrivacySettings
} else if (PREF_NETWORK_PREDICTIONS.equals(key)) {
PrivacyPreferencesManagerImpl.getInstance().setNetworkPredictionEnabled(
(boolean) newValue);
+ } else if (PREF_ALWAYS_INCOGNITO.equals(key)) {
+ if (!mSnackbarManager.isShowing())
+ mSnackbarManager.showSnackbar(mSnackbar);
}
return true;
}
@@ -201,4 +232,8 @@ public class PrivacySettings
} else if (PREF_HTTPS_FIRST_MODE.equals(key)) {
UserPrefs.get(Profile.getLastUsedRegularProfile())
.setBoolean(Pref.HTTPS_ONLY_MODE_ENABLED, (boolean) newValue);
@@ -238,4 +269,8 @@ public class PrivacySettings
}
return false;
}
@ -420,8 +420,8 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/Settin
+import org.chromium.chrome.browser.ui.messages.snackbar.INeedSnackbarManager;
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.bottomsheet.BottomSheetController;
@@ -206,6 +207,9 @@ public class SettingsActivity extends ChromeBaseAppCompatActivity
import org.chromium.components.browser_ui.settings.FragmentSettingsLauncher;
@@ -171,6 +172,9 @@ public class SettingsActivity extends ChromeBaseAppCompatActivity
.getSiteSettingsDelegate());
delegate.setSnackbarManager(mSnackbarManager);
}
@ -434,7 +434,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/Settin
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
@@ -119,6 +119,8 @@ import org.chromium.ui.base.DeviceFormFactor;
@@ -121,6 +121,8 @@ import org.chromium.ui.base.DeviceFormFactor;
import org.chromium.ui.base.IntentRequestTracker;
import org.chromium.ui.modaldialog.ModalDialogManager;
import org.chromium.ui.util.TokenHolder;
@ -443,7 +443,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/Tab
/**
* A {@link RootUiCoordinator} variant that controls tabbed-mode specific UI.
@@ -489,11 +491,13 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator {
@@ -483,11 +485,13 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator {
// TODO(twellington): Supply TabModelSelector as well and move initialization earlier.
if (DeviceFormFactor.isNonMultiDisplayContextOnTablet(mActivity)) {
@ -537,7 +537,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabPer
import org.chromium.base.Log;
import org.chromium.base.ObserverList;
import org.chromium.base.StreamUtil;
@@ -57,6 +58,8 @@ import org.chromium.content_public.browser.LoadUrlParams;
@@ -55,6 +56,8 @@ import org.chromium.content_public.browser.LoadUrlParams;
import org.chromium.content_public.browser.UiThreadTaskTraits;
import org.chromium.url.GURL;
@ -546,7 +546,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabPer
import java.io.BufferedInputStream;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
@@ -651,6 +654,13 @@ public class TabPersistentStore {
@@ -643,6 +646,13 @@ public class TabPersistentStore {
}
}
}
@ -563,7 +563,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
@@ -32,6 +32,9 @@ import org.chromium.chrome.browser.flags.ActivityType;
@@ -29,6 +29,9 @@ import org.chromium.chrome.browser.flags.ActivityType;
import org.chromium.components.browser_ui.widget.TintedDrawable;
import org.chromium.device.mojom.ScreenOrientationLockType;
@ -573,7 +573,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/webapps/WebappI
/**
* Stores info about a web app.
*/
@@ -45,6 +48,8 @@ public class WebappIntentDataProvider extends BrowserServicesIntentDataProvider
@@ -42,6 +45,8 @@ public class WebappIntentDataProvider extends BrowserServicesIntentDataProvider
private final Intent mIntent;
private final ColorProviderImpl mColorProvider;
@ -582,7 +582,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/webapps/WebappI
/**
* Returns the toolbar color to use if a custom color is not specified by the webapp.
*/
@@ -67,6 +72,10 @@ public class WebappIntentDataProvider extends BrowserServicesIntentDataProvider
@@ -63,6 +68,10 @@ public class WebappIntentDataProvider extends BrowserServicesIntentDataProvider
mWebappExtras = webappExtras;
mWebApkExtras = webApkExtras;
mActivityType = (webApkExtras != null) ? ActivityType.WEB_APK : ActivityType.WEBAPP;
@ -593,7 +593,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/webapps/WebappI
}
@Override
@@ -155,6 +164,11 @@ public class WebappIntentDataProvider extends BrowserServicesIntentDataProvider
@@ -151,6 +160,11 @@ public class WebappIntentDataProvider extends BrowserServicesIntentDataProvider
return mWebApkExtras;
}
@ -608,7 +608,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
@@ -456,7 +456,7 @@ const base::Feature kCCTIncognito{"CCTIncognito",
@@ -455,7 +455,7 @@ const base::Feature kCCTIncognito{"CCTIncognito",
base::FEATURE_ENABLED_BY_DEFAULT};
const base::Feature kCCTIncognitoAvailableToThirdParty{
@ -620,7 +620,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
@@ -981,6 +981,19 @@ Your Google account may have other forms of browsing history like searches and a
@@ -930,6 +930,19 @@ 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>
@ -683,5 +683,6 @@ new file mode 100644
+public interface INeedSnackbarManager {
+ void setSnackbarManager(SnackbarManager manager);
+}
--
2.25.1
--
2.20.1

View file

@ -14,15 +14,15 @@ Completely remove contacts picker permission from the file dialog
.../browser/TabbedModeTabDelegateFactory.java | 5 +-
.../browser/bookmarks/BookmarkActionBar.java | 12 +
.../browser/bookmarks/BookmarkActivity.java | 30 ++
.../browser/bookmarks/BookmarkBridge.java | 279 +++++++++++++++++
.../browser/bookmarks/BookmarkBridge.java | 277 +++++++++++++++++
.../browser/bookmarks/BookmarkDelegate.java | 10 +
.../browser/bookmarks/BookmarkManager.java | 22 ++
.../browser/bookmarks/BookmarkPage.java | 8 +-
.../native_page/NativePageFactory.java | 11 +-
chrome/browser/BUILD.gn | 11 +-
chrome/browser/BUILD.gn | 7 +
chrome/browser/about_flags.cc | 6 +
.../android/bookmarks/bookmark_bridge.cc | 284 ++++++++++++++++++
.../android/bookmarks/bookmark_bridge.h | 30 +-
.../android/bookmarks/bookmark_bridge.h | 29 +-
.../browser/bookmarks/bookmark_html_writer.cc | 8 +-
.../dialogs/DownloadLocationCustomView.java | 8 +-
.../DownloadLocationDialogCoordinator.java | 8 +-
@ -44,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 +
38 files changed, 894 insertions(+), 29 deletions(-)
38 files changed, 889 insertions(+), 27 deletions(-)
diff --git a/base/android/content_uri_utils.cc b/base/android/content_uri_utils.cc
--- a/base/android/content_uri_utils.cc
@ -196,7 +196,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/TabbedModeTabDe
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
@@ -86,6 +86,12 @@ public class BookmarkActionBar extends SelectableListToolbar<BookmarkId>
@@ -85,6 +85,12 @@ public class BookmarkActionBar extends SelectableListToolbar<BookmarkId>
} else if (menuItem.getItemId() == R.id.search_menu_id) {
mDelegate.openSearchUI();
return true;
@ -209,7 +209,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
}
SelectionDelegate<BookmarkId> selectionDelegate = mDelegate.getSelectionDelegate();
@@ -137,6 +143,8 @@ public class BookmarkActionBar extends SelectableListToolbar<BookmarkId>
@@ -136,6 +142,8 @@ public class BookmarkActionBar extends SelectableListToolbar<BookmarkId>
void showLoadingUi() {
setTitle(null);
setNavigationButton(NAVIGATION_BUTTON_NONE);
@ -218,7 +218,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
getMenu().findItem(R.id.search_menu_id).setVisible(false);
getMenu().findItem(R.id.edit_menu_id).setVisible(false);
}
@@ -146,6 +154,8 @@ public class BookmarkActionBar extends SelectableListToolbar<BookmarkId>
@@ -145,6 +153,8 @@ public class BookmarkActionBar extends SelectableListToolbar<BookmarkId>
super.showNormalView();
if (mDelegate == null) {
@ -228,9 +228,9 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
getMenu().findItem(R.id.edit_menu_id).setVisible(false);
}
@@ -175,6 +185,8 @@ public class BookmarkActionBar extends SelectableListToolbar<BookmarkId>
@Override
public void onFolderStateSet(BookmarkId folder) {
mCurrentFolder = mDelegate.getModel().getBookmarkById(folder);
+ getMenu().findItem(R.id.import_menu_id).setVisible(true);
+ getMenu().findItem(R.id.export_menu_id).setVisible(true);
getMenu().findItem(R.id.search_menu_id).setVisible(true);
@ -330,9 +330,9 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
import android.text.TextUtils;
import android.util.Pair;
@@ -45,6 +58,33 @@ import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
@@ -30,8 +43,33 @@ import org.chromium.components.url_formatter.UrlFormatter;
import org.chromium.content_public.browser.WebContents;
import org.chromium.url.GURL;
+import org.chromium.base.ContentUriUtils;
+import org.chromium.chrome.R;
@ -358,13 +358,13 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
+import android.content.res.Resources;
+import org.chromium.base.task.AsyncTask;
+
import java.util.ArrayList;
import java.util.List;
+import java.io.File;
+
+
/**
* Provides the communication channel for Android to fetch and manipulate the
* bookmark model stored in native.
@@ -733,6 +773,209 @@ public class BookmarkBridge {
@@ -588,6 +626,209 @@ public class BookmarkBridge {
mNativeBookmarkBridge, BookmarkBridge.this, id.getId(), id.getType());
}
@ -574,7 +574,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
/**
* Synchronously gets a list of bookmarks that match the specified search query.
* @param query Keyword used for searching bookmarks.
@@ -1301,6 +1544,39 @@ public class BookmarkBridge {
@@ -1100,6 +1341,39 @@ public class BookmarkBridge {
depthList.add(depth);
}
@ -614,7 +614,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
private static List<Pair<Integer, Integer>> createPairsList(int[] left, int[] right) {
List<Pair<Integer, Integer>> pairList = new ArrayList<Pair<Integer, Integer>>();
for (int i = 0; i < left.length; i++) {
@@ -1371,6 +1647,9 @@ public class BookmarkBridge {
@@ -1167,6 +1441,9 @@ public class BookmarkBridge {
int getChildCount(long nativeBookmarkBridge, BookmarkBridge caller, long id, int type);
void getChildIDs(long nativeBookmarkBridge, BookmarkBridge caller, long id, int type,
List<BookmarkId> bookmarksList);
@ -786,7 +786,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/native_page/Nat
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
--- a/chrome/browser/BUILD.gn
+++ b/chrome/browser/BUILD.gn
@@ -1845,6 +1845,13 @@ static_library("browser") {
@@ -1843,6 +1843,13 @@ static_library("browser") {
"window_placement/window_placement_permission_context.h",
]
@ -800,30 +800,12 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
configs += [
"//build/config/compiler:wexit_time_destructors",
"//build/config:precompiled_headers",
@@ -3003,6 +3010,8 @@ static_library("browser") {
"autofill/manual_filling_view_interface.h",
"banners/android/chrome_app_banner_manager_android.cc",
"banners/android/chrome_app_banner_manager_android.h",
+ "bookmarks/bookmark_html_writer.cc",
+ "bookmarks/bookmark_html_writer.h",
"browser_process_platform_part_android.cc",
"browser_process_platform_part_android.h",
"chrome_browser_field_trials_mobile.cc",
@@ -3636,8 +3645,6 @@ static_library("browser") {
"badging/badge_manager_factory.h",
"banners/app_banner_manager_desktop.cc",
"banners/app_banner_manager_desktop.h",
- "bookmarks/bookmark_html_writer.cc",
- "bookmarks/bookmark_html_writer.h",
"cart/cart_db.cc",
"cart/cart_db.h",
"cart/cart_discount_fetcher.cc",
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
@@ -7672,6 +7672,12 @@ const FeatureEntry kFeatureEntries[] = {
FEATURE_VALUE_TYPE(features::kRequestDesktopSiteExceptions)},
#endif
@@ -7733,6 +7733,12 @@ const FeatureEntry kFeatureEntries[] = {
FEATURE_VALUE_TYPE(ui::kLibinputHandleTouchpad)},
#endif // BUILDFLAG(IS_CHROMEOS_ASH)
+ {"export-bookmarks-use-saf",
+ flag_descriptions::kBookmarksExportUseSafName,
@ -831,13 +813,21 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
+ FEATURE_VALUE_TYPE(
+ chrome::android::kBookmarksExportUseSaf)},
+
#if BUILDFLAG(IS_CHROMEOS_ASH)
{"snooping-protection", flag_descriptions::kSnoopingProtectionName,
flag_descriptions::kSnoopingProtectionDescription, kOsCrOS,
// NOTE: Adding a new flag requires adding a corresponding entry to enum
// "LoginCustomFlags" in tools/metrics/histograms/enums.xml. See "Flag
// Histograms" in tools/metrics/histograms/README.md (run the
diff --git a/chrome/browser/android/bookmarks/bookmark_bridge.cc b/chrome/browser/android/bookmarks/bookmark_bridge.cc
--- a/chrome/browser/android/bookmarks/bookmark_bridge.cc
+++ b/chrome/browser/android/bookmarks/bookmark_bridge.cc
@@ -56,6 +56,25 @@
@@ -43,6 +43,7 @@
#include "components/bookmarks/common/android/bookmark_type.h"
#include "components/bookmarks/common/bookmark_pref_names.h"
#include "components/bookmarks/managed/managed_bookmark_service.h"
+#include "components/favicon_base/favicon_usage_data.h"
#include "components/dom_distiller/core/url_utils.h"
#include "components/prefs/pref_service.h"
#include "components/query_parser/query_parser.h"
@@ -52,6 +53,24 @@
#include "content/public/browser/browser_thread.h"
#include "content/public/browser/web_contents.h"
@ -852,7 +842,6 @@ diff --git a/chrome/browser/android/bookmarks/bookmark_bridge.cc b/chrome/browse
+#include "chrome/common/importer/imported_bookmark_entry.h"
+#include "chrome/common/importer/importer_data_types.h"
+#include "chrome/common/url_constants.h"
+#include "components/favicon_base/favicon_usage_data.h"
+#include "components/search_engines/template_url.h"
+#include "components/url_formatter/url_fixer.h"
+#include "ui/android/window_android.h"
@ -863,7 +852,7 @@ diff --git a/chrome/browser/android/bookmarks/bookmark_bridge.cc b/chrome/browse
using base::android::AttachCurrentThread;
using base::android::ConvertUTF8ToJavaString;
using base::android::ConvertUTF16ToJavaString;
@@ -72,8 +91,93 @@ using bookmarks::BookmarkNode;
@@ -68,8 +87,93 @@ using bookmarks::BookmarkNode;
using bookmarks::BookmarkType;
using content::BrowserThread;
@ -954,10 +943,10 @@ diff --git a/chrome/browser/android/bookmarks/bookmark_bridge.cc b/chrome/browse
+};
+
+
const int kInvalidId = -1;
class BookmarkTitleComparer {
public:
explicit BookmarkTitleComparer(BookmarkBridge* bookmark_bridge,
@@ -160,6 +264,10 @@ BookmarkBridge::~BookmarkBridge() {
@@ -156,6 +260,10 @@ BookmarkBridge::~BookmarkBridge() {
if (partner_bookmarks_shim_)
partner_bookmarks_shim_->RemoveObserver(this);
reading_list_manager_->RemoveObserver(this);
@ -968,7 +957,7 @@ diff --git a/chrome/browser/android/bookmarks/bookmark_bridge.cc b/chrome/browse
}
void BookmarkBridge::Destroy(JNIEnv*, const JavaParamRef<jobject>&) {
@@ -577,6 +685,182 @@ jint BookmarkBridge::GetTotalBookmarkCount(
@@ -547,6 +655,182 @@ jint BookmarkBridge::GetTotalBookmarkCount(
return count;
}
@ -1154,7 +1143,7 @@ diff --git a/chrome/browser/android/bookmarks/bookmark_bridge.cc b/chrome/browse
diff --git a/chrome/browser/android/bookmarks/bookmark_bridge.h b/chrome/browser/android/bookmarks/bookmark_bridge.h
--- a/chrome/browser/android/bookmarks/bookmark_bridge.h
+++ b/chrome/browser/android/bookmarks/bookmark_bridge.h
@@ -18,6 +18,7 @@
@@ -17,6 +17,7 @@
#include "base/scoped_observation.h"
#include "base/strings/utf_string_conversions.h"
#include "chrome/browser/android/bookmarks/partner_bookmarks_shim.h"
@ -1162,7 +1151,7 @@ diff --git a/chrome/browser/android/bookmarks/bookmark_bridge.h b/chrome/browser
#include "chrome/browser/profiles/profile.h"
#include "chrome/browser/profiles/profile_observer.h"
#include "chrome/browser/reading_list/android/reading_list_manager.h"
@@ -27,6 +28,9 @@
@@ -25,6 +26,9 @@
#include "components/prefs/pref_change_registrar.h"
#include "url/android/gurl_android.h"
@ -1172,7 +1161,7 @@ diff --git a/chrome/browser/android/bookmarks/bookmark_bridge.h b/chrome/browser
namespace bookmarks {
class BookmarkModel;
class ManagedBookmarkService;
@@ -42,7 +46,8 @@ class Profile;
@@ -39,7 +43,8 @@ class Profile;
class BookmarkBridge : public bookmarks::BaseBookmarkModelObserver,
public PartnerBookmarksShim::Observer,
public ReadingListManager::Observer,
@ -1182,7 +1171,7 @@ diff --git a/chrome/browser/android/bookmarks/bookmark_bridge.h b/chrome/browser
public:
BookmarkBridge(JNIEnv* env,
const base::android::JavaRef<jobject>& obj,
@@ -62,6 +67,12 @@ class BookmarkBridge : public bookmarks::BaseBookmarkModelObserver,
@@ -59,6 +64,12 @@ class BookmarkBridge : public bookmarks::BaseBookmarkModelObserver,
bool IsDoingExtensiveChanges(JNIEnv* env,
const base::android::JavaParamRef<jobject>& obj);
@ -1195,7 +1184,7 @@ diff --git a/chrome/browser/android/bookmarks/bookmark_bridge.h b/chrome/browser
jboolean IsEditBookmarksEnabled(JNIEnv* env);
void LoadEmptyPartnerBookmarkShimForTesting(
@@ -159,6 +170,15 @@ class BookmarkBridge : public bookmarks::BaseBookmarkModelObserver,
@@ -146,6 +157,15 @@ class BookmarkBridge : public bookmarks::BaseBookmarkModelObserver,
jlong id,
jint type);
@ -1211,16 +1200,15 @@ diff --git a/chrome/browser/android/bookmarks/bookmark_bridge.h b/chrome/browser
void SetBookmarkTitle(JNIEnv* env,
const base::android::JavaParamRef<jobject>& obj,
jlong id,
@@ -376,12 +396,16 @@ class BookmarkBridge : public bookmarks::BaseBookmarkModelObserver,
@@ -347,12 +367,15 @@ class BookmarkBridge : public bookmarks::BaseBookmarkModelObserver,
void DestroyJavaObject();
raw_ptr<Profile> profile_;
Profile* profile_;
+ base::FilePath export_path_;
+ BookmarksExportObserver* observer_; // weak
+
JavaObjectWeakGlobalRef weak_java_ref_;
raw_ptr<bookmarks::BookmarkModel> bookmark_model_; // weak
raw_ptr<bookmarks::ManagedBookmarkService> managed_bookmark_service_; // weak
bookmarks::BookmarkModel* bookmark_model_; // weak
bookmarks::ManagedBookmarkService* managed_bookmark_service_; // weak
std::unique_ptr<bookmarks::ScopedGroupBookmarkActions>
grouped_bookmark_actions_;
PrefChangeRegistrar pref_change_registrar_;
@ -1228,17 +1216,17 @@ diff --git a/chrome/browser/android/bookmarks/bookmark_bridge.h b/chrome/browser
// Information about the Partner bookmarks (must check for IsLoaded()).
// This is owned by profile.
@@ -393,6 +417,10 @@ class BookmarkBridge : public bookmarks::BaseBookmarkModelObserver,
@@ -363,6 +386,10 @@ class BookmarkBridge : public bookmarks::BaseBookmarkModelObserver,
// Observes the profile destruction and creation.
base::ScopedObservation<Profile, ProfileObserver> profile_observation_{this};
+
+ const std::string FileSelectedImpl(const base::FilePath& path);
+ void FileSelectedImplOnUIThread(const base::FilePath& path,
+ const std::string& contents);
+
// A means of accessing metadata about bookmarks.
OptimizationGuideKeyedService* opt_guide_;
};
#endif // CHROME_BROWSER_ANDROID_BOOKMARKS_BOOKMARK_BRIDGE_H_
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
@ -1334,7 +1322,7 @@ 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
@@ -5512,6 +5512,11 @@ const char kWebKioskEnableLacrosDescription[] =
@@ -5474,6 +5474,11 @@ const char kWebKioskEnableLacrosDescription[] =
"Chrome OS. When disabled, the Ash-chrome will be used";
#endif // BUILDFLAG(IS_CHROMEOS_ASH)
@ -1349,7 +1337,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
@@ -3222,6 +3222,9 @@ extern const char kWebKioskEnableLacrosName[];
@@ -3185,6 +3185,9 @@ extern const char kWebKioskEnableLacrosName[];
extern const char kWebKioskEnableLacrosDescription[];
#endif // BUILDFLAG(IS_CHROMEOS_ASH)
@ -1362,15 +1350,15 @@ 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
@@ -166,6 +166,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
&kAppToWebAttribution,
@@ -174,6 +174,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
&kBackgroundThreadPool,
&kBentoOffline,
&kBookmarkBottomSheet,
+ &kBookmarksExportUseSaf,
&kCastDeviceFilter,
&kCloseTabSuggestions,
&kCriticalPersistedTabData,
@@ -834,6 +835,10 @@ const base::Feature kWebApkInstallCompleteNotification{
@@ -824,6 +825,10 @@ const base::Feature kWebApkInstallCompleteNotification{
const base::Feature kWebApkTrampolineOnInitialIntent{
"WebApkTrampolineOnInitialIntent", base::FEATURE_ENABLED_BY_DEFAULT};
@ -1384,7 +1372,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
@@ -153,6 +153,7 @@ extern const base::Feature kToolbarMicIphAndroid;
@@ -149,6 +149,7 @@ extern const base::Feature kToolbarMicIphAndroid;
extern const base::Feature kToolbarUseHardwareBitmapDraw;
extern const base::Feature kTrustedWebActivityLocationDelegation;
extern const base::Feature kTrustedWebActivityNewDisclosure;
@ -1395,7 +1383,7 @@ 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
@@ -553,6 +553,7 @@ public abstract class ChromeFeatureList {
@@ -552,6 +552,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";
@ -1442,7 +1430,7 @@ diff --git a/chrome/browser/importer/profile_writer.h b/chrome/browser/importer/
--- a/chrome/browser/importer/profile_writer.h
+++ b/chrome/browser/importer/profile_writer.h
@@ -11,6 +11,7 @@
#include "base/memory/raw_ptr.h"
#include "base/macros.h"
#include "base/memory/ref_counted.h"
#include "build/build_config.h"
+#include "components/bookmarks/browser/bookmark_model.h"
@ -1464,7 +1452,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
@@ -122,6 +122,8 @@ public final class ChromePreferenceKeys {
@@ -121,6 +121,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";
@ -1473,7 +1461,7 @@ diff --git a/chrome/browser/preferences/android/java/src/org/chromium/chrome/bro
/**
* Whether Chrome is set as the default browser.
@@ -1049,6 +1051,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,
@ -1512,7 +1500,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
@@ -413,6 +413,9 @@ static_library("common") {
@@ -414,6 +414,9 @@ static_library("common") {
sources += [
"media/chrome_media_drm_bridge_client.cc",
"media/chrome_media_drm_bridge_client.h",
@ -1534,7 +1522,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",
@@ -187,6 +185,11 @@ static_library("utility") {
@@ -185,6 +183,11 @@ static_library("utility") {
}
}
@ -1767,7 +1755,7 @@ diff --git a/ui/shell_dialogs/select_file_dialog_android.cc b/ui/shell_dialogs/s
diff --git a/ui/shell_dialogs/select_file_dialog_android.h b/ui/shell_dialogs/select_file_dialog_android.h
--- a/ui/shell_dialogs/select_file_dialog_android.h
+++ b/ui/shell_dialogs/select_file_dialog_android.h
@@ -57,6 +57,8 @@ class SelectFileDialogImpl : public SelectFileDialog {
@@ -58,6 +58,8 @@ class SelectFileDialogImpl : public SelectFileDialog {
gfx::NativeWindow owning_window,
void* params) override;
@ -1776,5 +1764,6 @@ diff --git a/ui/shell_dialogs/select_file_dialog_android.h b/ui/shell_dialogs/se
protected:
~SelectFileDialogImpl() override;
--
2.25.1
--
2.20.1

View file

@ -124,8 +124,8 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
--- 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
@@ -94,6 +94,9 @@ public class PrivacySettings
private ManagedPreferenceDelegate mManagedPreferenceDelegate;
private IncognitoLockSettings mIncognitoLockSettings;
+ private ChromeSwitchPreference allowCustomTabIntentsPref;
+ private ChromeSwitchPreference openExternalLinksPref;
@ -133,8 +133,8 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
@Override
public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
PrivacyPreferencesManagerImpl privacyPrefManager =
@@ -203,6 +206,9 @@ public class PrivacySettings
updatePreferences();
@@ -232,6 +235,9 @@ public class PrivacySettings
incognitoReauthPreference.setChecked(lastPrefValue);
}
+ public static final String PREF_ALLOW_CUSTOM_TAB_INTENTS = "allow_custom_tab_intents";
@ -143,10 +143,10 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
@Override
public boolean onPreferenceChange(Preference preference, Object newValue) {
String key = preference.getKey();
@@ -220,6 +226,14 @@ public class PrivacySettings
SharedPreferences.Editor sharedPreferenceEditor = ContextUtils.getAppSharedPreferences().edit();
sharedPreferenceEditor.putBoolean(PREF_FORCE_NO_JIT, (boolean) newValue);
sharedPreferenceEditor.apply();
@@ -266,6 +272,14 @@ public class PrivacySettings
} else if (PREF_INCOGNITO_TAB_HISTORY_ENABLED.equals(key)) {
UserPrefs.get(Profile.getLastUsedRegularProfile())
.setBoolean(Pref.INCOGNITO_TAB_HISTORY_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);
@ -155,10 +155,10 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
+ SharedPreferences.Editor sharedPreferencesEditor = ContextUtils.getAppSharedPreferences().edit();
+ sharedPreferencesEditor.putBoolean(PREF_OPEN_EXTERNAL_LINKS_INCOGNITO, (boolean)newValue);
+ sharedPreferencesEditor.apply();
} else if (PREF_AUTOFILL_ASSISTANT.equals(key)) {
mSharedPreferencesManager.writeBoolean(
ChromePreferenceKeys.AUTOFILL_ASSISTANT_ENABLED, (boolean) newValue);
@@ -255,6 +269,16 @@ public class PrivacySettings
}
return true;
@@ -301,6 +315,16 @@ public class PrivacySettings
canMakePaymentPref.setChecked(prefService.getBoolean(Pref.CAN_MAKE_PAYMENT_ENABLED));
}
@ -194,7 +194,7 @@ diff --git a/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/TabAsso
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
@@ -4780,6 +4780,21 @@ To change this setting, <ph name="BEGIN_LINK">&lt;resetlink&gt;</ph>reset sync<p
@@ -4615,6 +4615,21 @@ To change this setting, <ph name="BEGIN_LINK">&lt;resetlink&gt;</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>
@ -216,5 +216,6 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro
<!-- Autofill Assistant preferences -->
<!-- TODO(b/168178344): Move to Assistant settings strings section below. -->
--
2.25.1
--
2.20.1

View file

@ -5,17 +5,16 @@ Subject: Add exit menu item
Corrected Exit functionality
---
chrome/android/java/res/menu/main_menu.xml | 6 ++++++
.../org/chromium/chrome/browser/ApplicationLifetime.java | 2 ++
.../org/chromium/chrome/browser/ChromeTabbedActivity.java | 4 ++++
.../src/org/chromium/chrome/browser/app/ChromeActivity.java | 6 ++++++
.../chrome/browser/init/ChromeLifetimeController.java | 6 +++++-
.../browser/ui/android/strings/android_chrome_strings.grd | 3 +++
6 files changed, 26 insertions(+), 1 deletion(-)
5 files changed, 24 insertions(+), 1 deletion(-)
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
@@ -153,6 +153,9 @@
@@ -150,6 +150,9 @@
android:icon="@drawable/gm_filled_cardboard_24" />
<item android:id="@+id/managed_by_menu_id"
android:title="@string/managed" />
@ -25,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 -->
@@ -179,6 +182,9 @@
@@ -176,6 +179,9 @@
<item android:id="@id/preferences_id"
android:title="@string/menu_settings"
android:icon="@drawable/settings_cog" />
@ -35,29 +34,10 @@ diff --git a/chrome/android/java/res/menu/main_menu.xml b/chrome/android/java/re
</group>
<!-- Items shown only when the tablet has no visible tabs -->
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ApplicationLifetime.java b/chrome/android/java/src/org/chromium/chrome/browser/ApplicationLifetime.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/ApplicationLifetime.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ApplicationLifetime.java
@@ -6,6 +6,7 @@ package org.chromium.chrome.browser;
import org.chromium.base.ObserverList;
import org.chromium.base.annotations.CalledByNative;
+import org.chromium.chrome.browser.incognito.IncognitoNotificationManager;
/**
* Watches for when Chrome is told to restart itself.
@@ -42,6 +43,7 @@ public class ApplicationLifetime {
@CalledByNative
public static void terminate(boolean restart) {
+ IncognitoNotificationManager.dismissIncognitoNotification();
for (Observer observer : sObservers) {
observer.onTerminate(restart);
}
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
@@ -207,6 +207,8 @@ import java.util.HashSet;
@@ -208,6 +208,8 @@ import java.util.HashSet;
import java.util.List;
import java.util.Locale;
@ -66,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.
@@ -2042,6 +2044,8 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
@@ -2032,6 +2034,8 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
} else if (id == R.id.close_tab) {
getCurrentTabModel().closeTab(currentTab, true, false, true);
RecordUserAction.record("MobileTabClosed");
@ -86,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;
@@ -2388,6 +2389,11 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
@@ -2316,6 +2317,11 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
return true;
}
@ -117,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
@@ -3338,6 +3338,9 @@ To change this setting, <ph name="BEGIN_LINK">&lt;resetlink&gt;</ph>reset sync<p
@@ -3229,6 +3229,9 @@ To change this setting, <ph name="BEGIN_LINK">&lt;resetlink&gt;</ph>reset sync<p
<message name="IDS_MENU_AUTO_DARK_WEB_CONTENTS" desc="Menu item in Chrome's overflow/options menu. When Chrome's browser UI is set to dark theme and this option is checked, sites will have a dark theme automatically applied as well. [CHAR_LIMIT=24]">
Dark theme
</message>
@ -127,5 +107,6 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro
<message name="IDS_MENU_READER_MODE_PREFS" desc="Menu item to show reader mode preferences pane, which allows users to change the appearance (font size, theme, etc.) of the page. [CHAR_LIMIT=27]">
Appearance
</message>
--
2.25.1
--
2.20.1

View file

@ -15,7 +15,7 @@ and internal chrome:// pages will be used for the autocomplete results.
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
@@ -447,6 +447,22 @@ const FeatureEntry::FeatureVariation kReaderModeDiscoverabilityVariations[] = {
@@ -459,6 +459,22 @@ const FeatureEntry::FeatureVariation kReaderModeDiscoverabilityVariations[] = {
base::size(kReaderModeOfferInSettings), nullptr}};
#endif // OS_ANDROID
@ -38,7 +38,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
#if defined(OS_ANDROID)
const FeatureEntry::FeatureParam kAdaptiveButton_AlwaysNone[] = {
{"mode", "always-none"}};
@@ -4925,6 +4941,11 @@ const FeatureEntry kFeatureEntries[] = {
@@ -4916,6 +4932,11 @@ const FeatureEntry kFeatureEntries[] = {
FEATURE_VALUE_TYPE(chrome::android::kReaderModeInCCT)},
#endif // !defined(OS_ANDROID)
@ -48,7 +48,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
+ kOsAll, MULTI_VALUE_TYPE(kOmniboxAutocompleteFiltering)},
+
#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \
defined(OS_CHROMEOS) || defined(OS_FUCHSIA)
defined(OS_CHROMEOS)
{"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
@ -62,7 +62,7 @@ diff --git a/components/omnibox/browser/autocomplete_controller.cc b/components/
#include "base/feature_list.h"
#include "base/format_macros.h"
#include "base/metrics/histogram.h"
@@ -270,6 +272,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();
@ -81,7 +81,7 @@ diff --git a/components/omnibox/browser/autocomplete_controller.cc b/components/
diff --git a/components/omnibox/browser/history_url_provider.cc b/components/omnibox/browser/history_url_provider.cc
--- a/components/omnibox/browser/history_url_provider.cc
+++ b/components/omnibox/browser/history_url_provider.cc
@@ -552,6 +552,9 @@ void HistoryURLProvider::Start(const AutocompleteInput& input,
@@ -551,6 +551,9 @@ void HistoryURLProvider::Start(const AutocompleteInput& input,
if (fixed_up_input.type() != metrics::OmniboxInputType::QUERY)
matches_.push_back(what_you_typed_match);
@ -133,5 +133,6 @@ diff --git a/components/url_formatter/url_fixer.cc b/components/url_formatter/ur
url.append(kChromeUIDefaultHost);
FixupPort(trimmed, parts.port, &url);
FixupPath(trimmed, parts.path, &url);
--
2.25.1
--
2.20.1

View file

@ -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
@@ -4660,6 +4660,9 @@ const FeatureEntry kFeatureEntries[] = {
@@ -4655,6 +4655,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
@@ -1093,6 +1093,10 @@ const char kDisableKeepaliveFetchDescription[] =
@@ -1111,6 +1111,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
@@ -596,6 +596,9 @@ extern const char kDiagnosticsAppNavigationDescription[];
@@ -605,6 +605,9 @@ extern const char kDiagnosticsAppNavigationDescription[];
extern const char kDisableKeepaliveFetchName[];
extern const char kDisableKeepaliveFetchDescription[];
@ -70,7 +70,7 @@ diff --git a/content/browser/loader/browser_initiated_resource_request.cc b/cont
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
@@ -134,6 +134,10 @@ const base::FeatureParam<std::string>
@@ -141,6 +141,10 @@ const base::FeatureParam<std::string>
"DisabledProviders", ""};
// Disable special treatment on requests with keepalive set (see
@ -84,7 +84,7 @@ diff --git a/services/network/public/cpp/features.cc b/services/network/public/c
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
@@ -52,6 +52,8 @@ extern const base::FeatureParam<std::string>
@@ -54,6 +54,8 @@ extern const base::FeatureParam<std::string>
COMPONENT_EXPORT(NETWORK_CPP)
extern const base::Feature kDisableKeepaliveFetch;
@ -93,5 +93,6 @@ diff --git a/services/network/public/cpp/features.h b/services/network/public/cp
COMPONENT_EXPORT(NETWORK_CPP)
extern const base::Feature kTrustTokens;
--
2.25.1
--
2.20.1

View file

@ -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
@@ -817,6 +817,11 @@ const FeatureEntry::Choice kForceEffectiveConnectionTypeChoices[] = {
@@ -849,6 +849,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 ==
@@ -3923,6 +3928,9 @@ const FeatureEntry kFeatureEntries[] = {
@@ -3918,6 +3923,9 @@ const FeatureEntry kFeatureEntries[] = {
flag_descriptions::kAndroidPictureInPictureAPIName,
flag_descriptions::kAndroidPictureInPictureAPIDescription, kOsAndroid,
FEATURE_VALUE_TYPE(media::kPictureInPictureAPI)},
@ -44,9 +44,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
@@ -1588,6 +1588,10 @@ const char kLogJsConsoleMessagesDescription[] =
"Enable logging JS console messages in system logs, please note that they "
"may contain PII.";
@@ -1626,6 +1626,10 @@ const char kMediaHistoryDescription[] =
"Enables Media History which records data around media playbacks on "
"websites.";
+const char kMaxConnectionsPerHostName[] = "Maximum connections per host";
+const char kMaxConnectionsPerHostDescription[] =
@ -58,9 +58,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
@@ -919,6 +919,9 @@ extern const char kLensCameraAssistedSearchDescription[];
extern const char kLogJsConsoleMessagesName[];
extern const char kLogJsConsoleMessagesDescription[];
@@ -933,6 +933,9 @@ extern const char kLogJsConsoleMessagesDescription[];
extern const char kMediaHistoryName[];
extern const char kMediaHistoryDescription[];
+extern const char kMaxConnectionsPerHostName[];
+extern const char kMaxConnectionsPerHostDescription[];
@ -110,7 +110,7 @@ diff --git a/components/network_session_configurator/common/network_switch_list.
diff --git a/components/url_formatter/spoof_checks/top_domains/BUILD.gn b/components/url_formatter/spoof_checks/top_domains/BUILD.gn
--- a/components/url_formatter/spoof_checks/top_domains/BUILD.gn
+++ b/components/url_formatter/spoof_checks/top_domains/BUILD.gn
@@ -89,6 +89,7 @@ executable("make_top_domain_list_variables") {
@@ -73,6 +73,7 @@ executable("make_top_domain_list_variables") {
"//base:i18n",
"//components/url_formatter/spoof_checks/common_words:common",
"//third_party/icu",
@ -152,5 +152,6 @@ diff --git a/net/socket/client_socket_pool_manager.cc b/net/socket/client_socket
return g_max_sockets_per_group[pool_type];
}
--
2.25.1
--
2.20.1

View file

@ -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
@@ -2714,6 +2714,10 @@ const FeatureEntry kFeatureEntries[] = {
@@ -2801,6 +2801,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
@@ -1182,6 +1182,11 @@ const char kEnablePenetratingImageSelectionDescription[] =
@@ -1196,6 +1196,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
@@ -670,6 +670,9 @@ extern const char kEnablePortalsDescription[];
@@ -673,6 +673,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
@@ -283,11 +283,7 @@ const base::Feature kPreloadMetadataLazyLoad{"PreloadMetadataLazyLoad",
@@ -282,11 +282,7 @@ const base::Feature kPreloadMetadataLazyLoad{"PreloadMetadataLazyLoad",
// when in background.
const base::Feature kResumeBackgroundVideo {
"resume-background-video",
@ -68,5 +68,6 @@ diff --git a/media/base/media_switches.cc b/media/base/media_switches.cc
};
// Experimental: Try to avoid destroying the media player when transferring a
--
2.25.1
--
2.20.1

View file

@ -16,9 +16,9 @@ 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
@@ -4904,6 +4904,11 @@ const FeatureEntry kFeatureEntries[] = {
@@ -4892,6 +4892,11 @@ const FeatureEntry kFeatureEntries[] = {
#endif // defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) ||
// defined(OS_CHROMEOS) || defined(OS_FUCHSIA)
// defined(OS_CHROMEOS)
+ {"ipv6-probing",
+ flag_descriptions::kIPv6ProbingName,
@ -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
@@ -3053,6 +3053,10 @@ const char kContextualSearchRankerQueryDescription[] =
@@ -3124,6 +3124,10 @@ const char kContextualSearchRankerQueryDescription[] =
const char kContextualSearchSecondTapName[] =
"Contextual Search second tap triggering";
@ -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
@@ -733,6 +733,9 @@ extern const char kEnableWasmLazyCompilationName[];
@@ -736,6 +736,9 @@ extern const char kEnableWasmLazyCompilationName[];
extern const char kEnableWasmLazyCompilationDescription[];
extern const char kEnableWasmTieringName[];
@ -88,7 +88,7 @@ diff --git a/components/subresource_filter/tools/BUILD.gn b/components/subresour
diff --git a/components/url_formatter/spoof_checks/top_domains/BUILD.gn b/components/url_formatter/spoof_checks/top_domains/BUILD.gn
--- a/components/url_formatter/spoof_checks/top_domains/BUILD.gn
+++ b/components/url_formatter/spoof_checks/top_domains/BUILD.gn
@@ -89,7 +89,8 @@ executable("make_top_domain_list_variables") {
@@ -73,7 +73,8 @@ executable("make_top_domain_list_variables") {
"//base:i18n",
"//components/url_formatter/spoof_checks/common_words:common",
"//third_party/icu",
@ -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 @@
@@ -89,6 +89,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"
@@ -3726,8 +3727,14 @@ bool HostResolverManager::IsIPv6Reachable(const NetLogWithSource& net_log) {
@@ -3695,8 +3696,14 @@ bool HostResolverManager::IsIPv6Reachable(const NetLogWithSource& net_log) {
if (last_ipv6_probe_time_.is_null() ||
(tick_clock_->NowTicks() - last_ipv6_probe_time_).InMilliseconds() >
kIPv6ProbePeriodMs) {
@ -151,5 +151,6 @@ diff --git a/services/network/public/cpp/features.h b/services/network/public/cp
extern const base::Feature kReporting;
COMPONENT_EXPORT(NETWORK_CPP)
extern const base::Feature kThrottleDelayable;
--
2.25.1
--
2.20.1

View file

@ -11,7 +11,7 @@ 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
@@ -2655,6 +2655,9 @@ const FeatureEntry::FeatureVariation kSnoopingProtectionVariations[] = {
@@ -2736,6 +2736,9 @@ const FeatureEntry::FeatureVariation kWin11StyleMenusVariations[] = {
// 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
@ -24,17 +24,17 @@ 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
@@ -675,6 +675,10 @@ const char kDocumentTransitionSlowdownFactorName[] =
const char kDocumentTransitionSlowdownFactorDescription[] =
"Slows down animations triggered by documentTransition JavaScript API for "
"debugging.";
@@ -690,6 +690,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.";
+const char kDisableWebGLName[] = "WebGL";
+
+const char kDisableWebGLDescription[] = "Enable or disable all versions of WebGL";
+
const char kEnableAutofillAddressSavePromptName[] =
"Autofill Address Save Prompts";
const char kEnableAutofillAccountWalletStorageName[] =
"Enable the account data storage for autofill";
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
@ -48,5 +48,6 @@ diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptio
extern const char kForceColorProfileHDR10[];
extern const char kForceColorProfileName[];
--
2.25.1
--
2.20.1

View file

@ -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
@@ -2709,6 +2709,9 @@ const FeatureEntry kFeatureEntries[] = {
@@ -2790,6 +2790,9 @@ const FeatureEntry kFeatureEntries[] = {
flag_descriptions::kWebrtcCaptureMultiChannelApmName,
flag_descriptions::kWebrtcCaptureMultiChannelApmDescription, kOsAll,
FEATURE_VALUE_TYPE(features::kWebRtcEnableCaptureMultiChannelApm)},
@ -24,7 +24,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
@@ -3350,6 +3350,12 @@ const char kPhotoPickerVideoSupportName[] = "Photo Picker Video Support";
@@ -3378,6 +3378,12 @@ const char kPhotoPickerVideoSupportName[] = "Photo Picker Video Support";
const char kPhotoPickerVideoSupportDescription[] =
"Enables video files to be shown in the Photo Picker dialog";
@ -40,7 +40,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
@@ -1946,6 +1946,9 @@ extern const char kQueryTilesNTPDescription[];
@@ -1948,6 +1948,9 @@ extern const char kQueryTilesNTPDescription[];
extern const char kQueryTilesOmniboxName[];
extern const char kQueryTilesOmniboxDescription[];
extern const char kQueryTilesSingleTierName[];
@ -50,5 +50,6 @@ diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptio
extern const char kQueryTilesSingleTierDescription[];
extern const char kQueryTilesEnableQueryEditingName[];
extern const char kQueryTilesEnableQueryEditingDescription[];
--
2.25.1
--
2.20.1

View file

@ -7,18 +7,18 @@ Subject: Add flag to disable vibration
chrome/browser/flag_descriptions.cc | 3 +++
chrome/browser/flag_descriptions.h | 3 +++
content/child/runtime_features.cc | 1 +
content/public/common/content_features.cc | 4 ++++
content/public/common/content_features.cc | 3 +++
content/public/common/content_features.h | 2 ++
third_party/blink/public/platform/web_runtime_features.h | 1 +
.../blink/renderer/modules/vibration/vibration_controller.cc | 3 +++
.../blink/renderer/platform/exported/web_runtime_features.cc | 4 ++++
.../blink/renderer/platform/runtime_enabled_features.json5 | 4 ++++
10 files changed, 29 insertions(+)
10 files changed, 28 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
@@ -6260,6 +6260,10 @@ const FeatureEntry kFeatureEntries[] = {
@@ -6357,6 +6357,10 @@ const FeatureEntry kFeatureEntries[] = {
FEATURE_VALUE_TYPE(features::kNewMacNotificationAPI)},
#endif
@ -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
@@ -5326,6 +5326,9 @@ const char kDefaultCalculatorWebAppDescription[] =
@@ -5283,6 +5283,9 @@ const char kDefaultCalculatorWebAppDescription[] =
"chrome app.";
#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
@@ -3091,6 +3091,9 @@ extern const char kDefaultCalculatorWebAppName[];
@@ -3054,6 +3054,9 @@ extern const char kDefaultCalculatorWebAppName[];
extern const char kDefaultCalculatorWebAppDescription[];
#endif // BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_CHROMEOS_LACROS)
@ -58,7 +58,7 @@ diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptio
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
@@ -103,6 +103,7 @@ void SetRuntimeFeatureDefaultsForPlatform(
@@ -102,6 +102,7 @@ void SetRuntimeFeatureDefaultsForPlatform(
#if defined(OS_ANDROID)
if (command_line.HasSwitch(switches::kDisableMediaSessionAPI))
WebRuntimeFeatures::EnableMediaSession(false);
@ -69,22 +69,21 @@ 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
@@ -113,6 +113,10 @@ const base::Feature kBackForwardCacheMemoryControls {
#endif
@@ -103,6 +103,9 @@ const base::Feature kBackForwardCacheMemoryControls {
};
// Block subresource requests whose URLs contain embedded credentials (e.g.
+// Enables vibration; an user gesture will still be required if enabled.
+const base::Feature kVibration{"Vibration",
+ base::FEATURE_DISABLED_BY_DEFAULT};
+
// When this feature is enabled, private network requests initiated from
// non-secure contexts in the `public` address space are blocked.
//
// `https://user:pass@example.com/resource`).
const base::Feature kBlockCredentialedSubresources{
"BlockCredentialedSubresources", base::FEATURE_ENABLED_BY_DEFAULT};
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
@@ -299,6 +299,8 @@ extern const char kBigLittleSchedulingGpuMainBigParam[];
@@ -274,6 +274,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;
@ -126,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
@@ -190,6 +190,10 @@ void WebRuntimeFeatures::EnableScrollTopLeftInterop(bool enable) {
@@ -182,6 +182,10 @@ void WebRuntimeFeatures::EnableScrollTopLeftInterop(bool enable) {
RuntimeEnabledFeatures::SetScrollTopLeftInteropEnabled(enable);
}
@ -140,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
@@ -1622,6 +1622,10 @@
@@ -1577,6 +1577,10 @@
name: "OrientationEvent",
status: {"Android": "stable"},
},
@ -151,5 +150,6 @@ diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5
{
name: "OriginIsolationHeader",
status: "stable",
--
2.25.1
--
2.20.1

View file

@ -19,7 +19,7 @@ See also: https://github.com/bromite/bromite/pull/1427
.../browser/history/HistoryManager.java | 17 +-
.../chrome/browser/history/HistoryPage.java | 15 +
.../chrome/browser/ntp/RecentTabsManager.java | 8 +-
.../privacy/settings/PrivacySettings.java | 16 +
.../privacy/settings/PrivacySettings.java | 18 +
.../browser/tab/HistoricalTabSaver.java | 12 +-
.../browser/tabmodel/TabPersistentStore.java | 5 +-
.../history/Bromite_HistoryManagerTest.java | 112 ++++++
@ -46,7 +46,7 @@ See also: https://github.com/bromite/bromite/pull/1427
chrome/common/pref_names.cc | 5 +
chrome/common/pref_names.h | 4 +
chrome/test/BUILD.gn | 5 +
36 files changed, 1043 insertions(+), 38 deletions(-)
36 files changed, 1045 insertions(+), 38 deletions(-)
create mode 100644 chrome/android/javatests/src/org/chromium/chrome/browser/history/Bromite_HistoryManagerTest.java
create mode 100644 chrome/android/javatests/src/org/chromium/chrome/browser/privacy/settings/Bromite_PrivacySettingsFragmentTest_HistoryInAlwaysIncognito.java
create mode 100644 chrome/android/junit/src/org/chromium/chrome/browser/app/appmenu/Bromite_AppMenuPropertiesDelegateUnitTest.java
@ -56,7 +56,7 @@ See also: https://github.com/bromite/bromite/pull/1427
diff --git a/chrome/android/chrome_junit_test_java_sources.gni b/chrome/android/chrome_junit_test_java_sources.gni
--- a/chrome/android/chrome_junit_test_java_sources.gni
+++ b/chrome/android/chrome_junit_test_java_sources.gni
@@ -231,3 +231,7 @@ chrome_junit_test_java_sources = [
@@ -226,3 +226,7 @@ chrome_junit_test_java_sources = [
"junit/src/org/chromium/chrome/browser/webapps/WebappLauncherActivityTest.java",
"junit/src/org/chromium/chrome/browser/webapps/WebappRegistryTest.java",
]
@ -68,7 +68,7 @@ diff --git a/chrome/android/chrome_junit_test_java_sources.gni b/chrome/android/
diff --git a/chrome/android/chrome_test_java_sources.gni b/chrome/android/chrome_test_java_sources.gni
--- a/chrome/android/chrome_test_java_sources.gni
+++ b/chrome/android/chrome_test_java_sources.gni
@@ -661,3 +661,9 @@ chrome_test_java_sources = [
@@ -653,3 +653,9 @@ chrome_test_java_sources = [
if (enable_feed_v2) {
chrome_test_java_sources += [ "javatests/src/org/chromium/chrome/browser/ntp/NewTabPageColorWithFeedV2Test.java" ]
}
@ -96,7 +96,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/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
@@ -96,6 +96,10 @@ import java.util.ArrayList;
@@ -92,6 +92,10 @@ import java.util.ArrayList;
import java.util.List;
import java.util.Map;
@ -107,8 +107,8 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/App
/**
* Base implementation of {@link AppMenuPropertiesDelegate} that handles hiding and showing menu
* items based on activity state.
@@ -156,6 +160,13 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate
private @StartSurfaceState int mStartSurfaceState;
@@ -153,6 +157,13 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate
protected BookmarkBridge mBookmarkBridge;
protected Runnable mAppMenuInvalidator;
+ private PrefService sPrefServiceForTest;
@ -121,7 +121,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/App
/**
* Construct a new {@link AppMenuPropertiesDelegateImpl}.
* @param context The activity context.
@@ -525,7 +536,8 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate
@@ -539,7 +550,8 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate
}
private void prepareCommonMenuItems(Menu menu, @MenuGroup int menuGroup, boolean isIncognito) {
@ -131,7 +131,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/App
final MenuItem newTabOption = menu.findItem(R.id.new_tab_menu_id);
if (newTabOption != null)
newTabOption.setVisible(false);
@@ -587,7 +599,15 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate
@@ -601,7 +613,15 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate
}
if (item.getItemId() == R.id.recent_tabs_menu_id) {
@ -148,7 +148,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/App
}
if (item.getItemId() == R.id.menu_group_tabs) {
item.setVisible(isMenuGroupTabsVisible);
@@ -824,7 +844,10 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate
@@ -811,7 +831,10 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate
// is not persisted when adding to the homescreen.
// * If creating shortcuts it not supported by the current home screen.
return WebappsUtils.isAddToHomeIntentSupported() && !isChromeScheme && !isFileScheme
@ -163,7 +163,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
@@ -168,6 +168,9 @@ public class CustomTabAppMenuPropertiesDelegate extends AppMenuPropertiesDelegat
@@ -170,6 +170,9 @@ public class CustomTabAppMenuPropertiesDelegate extends AppMenuPropertiesDelegat
downloadItemVisible = false;
openInChromeItemVisible = false;
}
@ -277,7 +277,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/history/History
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/RecentTabsManager.java b/chrome/android/java/src/org/chromium/chrome/browser/ntp/RecentTabsManager.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/ntp/RecentTabsManager.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ntp/RecentTabsManager.java
@@ -76,15 +76,15 @@ public class RecentTabsManager implements SignInStateObserver,
@@ -87,15 +87,15 @@ public class RecentTabsManager implements SignInStateObserver,
*/
public RecentTabsManager(
Tab tab, Profile profile, Context context, Runnable showHistoryManager) {
@ -300,7 +300,15 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/RecentTabsM
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
@@ -150,6 +150,11 @@ public class PrivacySettings
@@ -18,6 +18,7 @@ import androidx.vectordrawable.graphics.drawable.VectorDrawableCompat;
import org.chromium.base.ContextUtils;
import org.chromium.base.BuildInfo;
+import org.chromium.base.Log;
import org.chromium.chrome.R;
import org.chromium.chrome.browser.feedback.HelpAndFeedbackLauncherImpl;
import org.chromium.chrome.browser.flags.ChromeFeatureList;
@@ -149,6 +150,11 @@ public class PrivacySettings
Preference secureDnsPref = findPreference(PREF_SECURE_DNS);
secureDnsPref.setVisible(SecureDnsSettings.isUiEnabled());
@ -312,27 +320,26 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
updatePreferences();
}
@@ -166,6 +171,9 @@ public class PrivacySettings
} else if (PREF_HTTPS_FIRST_MODE.equals(key)) {
@@ -203,11 +209,16 @@ public class PrivacySettings
} else if (PREF_INCOGNITO_LOCK.equals(key)) {
UserPrefs.get(Profile.getLastUsedRegularProfile())
.setBoolean(Pref.HTTPS_ONLY_MODE_ENABLED, (boolean) newValue);
.setBoolean(Pref.INCOGNITO_REAUTHENTICATION_FOR_ANDROID, (boolean) newValue);
+ } else if (PREF_INCOGNITO_TAB_HISTORY_ENABLED.equals(key)) {
+ UserPrefs.get(Profile.getLastUsedRegularProfile())
+ .setBoolean(Pref.INCOGNITO_TAB_HISTORY_ENABLED, (boolean) newValue);
} else if (PREF_ALWAYS_INCOGNITO.equals(key)) {
if (!mSnackbarManager.isShowing())
mSnackbarManager.showSnackbar(mSnackbar);
@@ -173,6 +181,7 @@ public class PrivacySettings
}
return true;
}
+ public static final String PREF_INCOGNITO_TAB_HISTORY_ENABLED = "incognito_history_enabled";
+
@Override
public void onResume() {
super.onResume();
@@ -214,6 +223,13 @@ public class PrivacySettings
PrivacySandboxSettingsFragment.getStatusString(getContext()));
}
@@ -249,6 +260,13 @@ public class PrivacySettings
closeTabsOnExitPref.setOnPreferenceChangeListener(this);
closeTabsOnExitPref.setManagedPreferenceDelegate(mManagedPreferenceDelegate);
+ ChromeSwitchPreference historyInIncognitoPref =
+ (ChromeSwitchPreference) findPreference(PREF_INCOGNITO_TAB_HISTORY_ENABLED);
@ -341,7 +348,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
+ prefService.getBoolean(Pref.INCOGNITO_TAB_HISTORY_ENABLED));
+ }
+
mIncognitoLockSettings.updateIncognitoReauthPreferenceIfNeeded(getActivity());
updateIncognitoReauthPreference();
}
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/HistoricalTabSaver.java b/chrome/android/java/src/org/chromium/chrome/browser/tab/HistoricalTabSaver.java
@ -385,7 +392,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/HistoricalT
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabPersistentStore.java b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabPersistentStore.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabPersistentStore.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabPersistentStore.java
@@ -152,7 +152,10 @@ public class TabPersistentStore {
@@ -150,7 +150,10 @@ public class TabPersistentStore {
@Override
public void didCloseTab(Tab tab) {
PersistedTabData.onTabClose(tab);
@ -1270,7 +1277,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"
@@ -358,6 +361,13 @@ void HistoryTabHelper::TitleWasSet(NavigationEntry* entry) {
@@ -352,6 +355,13 @@ void HistoryTabHelper::TitleWasSet(NavigationEntry* entry) {
history::HistoryService* HistoryTabHelper::GetHistoryService() {
Profile* profile =
Profile::FromBrowserContext(web_contents()->GetBrowserContext());
@ -1284,7 +1291,7 @@ diff --git a/chrome/browser/history/history_tab_helper.cc b/chrome/browser/histo
if (profile->IsOffTheRecord())
return NULL;
@@ -365,6 +375,12 @@ history::HistoryService* HistoryTabHelper::GetHistoryService() {
@@ -359,6 +369,12 @@ history::HistoryService* HistoryTabHelper::GetHistoryService() {
profile, ServiceAccessType::IMPLICIT_ACCESS);
}
@ -1300,7 +1307,7 @@ diff --git a/chrome/browser/history/history_tab_helper.cc b/chrome/browser/histo
diff --git a/chrome/browser/history/history_tab_helper.h b/chrome/browser/history/history_tab_helper.h
--- a/chrome/browser/history/history_tab_helper.h
+++ b/chrome/browser/history/history_tab_helper.h
@@ -9,6 +9,8 @@
@@ -10,6 +10,8 @@
#include "build/build_config.h"
#include "content/public/browser/web_contents_observer.h"
#include "content/public/browser/web_contents_user_data.h"
@ -1309,7 +1316,7 @@ diff --git a/chrome/browser/history/history_tab_helper.h b/chrome/browser/histor
namespace history {
struct HistoryAddPageArgs;
@@ -41,6 +43,11 @@ class HistoryTabHelper : public content::WebContentsObserver,
@@ -42,6 +44,11 @@ class HistoryTabHelper : public content::WebContentsObserver,
force_eligible_tab_for_testing_ = force;
}
@ -1321,7 +1328,7 @@ diff --git a/chrome/browser/history/history_tab_helper.h b/chrome/browser/histor
private:
explicit HistoryTabHelper(content::WebContents* web_contents);
friend class content::WebContentsUserData<HistoryTabHelper>;
@@ -69,9 +76,6 @@ class HistoryTabHelper : public content::WebContentsObserver,
@@ -68,9 +75,6 @@ class HistoryTabHelper : public content::WebContentsObserver,
bool started_from_context_menu,
bool renderer_initiated) override;
@ -1334,7 +1341,7 @@ diff --git a/chrome/browser/history/history_tab_helper.h b/chrome/browser/histor
diff --git a/chrome/browser/history/history_tab_helper_unittest.cc b/chrome/browser/history/history_tab_helper_unittest.cc
--- a/chrome/browser/history/history_tab_helper_unittest.cc
+++ b/chrome/browser/history/history_tab_helper_unittest.cc
@@ -40,6 +40,9 @@
@@ -39,6 +39,9 @@
using testing::NiceMock;
@ -1344,7 +1351,7 @@ diff --git a/chrome/browser/history/history_tab_helper_unittest.cc b/chrome/brow
namespace {
#if defined(OS_ANDROID)
@@ -49,6 +52,25 @@ class TestFeedApi : public feed::StubFeedApi {
@@ -48,6 +51,25 @@ class TestFeedApi : public feed::StubFeedApi {
};
#endif
@ -1480,7 +1487,7 @@ diff --git a/chrome/browser/offline_pages/android/offline_page_model_factory.cc
diff --git a/chrome/browser/offline_pages/android/request_coordinator_factory.cc b/chrome/browser/offline_pages/android/request_coordinator_factory.cc
--- a/chrome/browser/offline_pages/android/request_coordinator_factory.cc
+++ b/chrome/browser/offline_pages/android/request_coordinator_factory.cc
@@ -30,6 +30,11 @@
@@ -29,6 +29,11 @@
#include "components/offline_pages/core/offline_page_feature.h"
#include "content/public/browser/web_contents.h"
@ -1492,7 +1499,7 @@ diff --git a/chrome/browser/offline_pages/android/request_coordinator_factory.cc
namespace network {
class NetworkQualityTracker;
}
@@ -115,4 +120,16 @@ KeyedService* RequestCoordinatorFactory::BuildServiceInstanceFor(
@@ -114,4 +119,16 @@ KeyedService* RequestCoordinatorFactory::BuildServiceInstanceFor(
return request_coordinator;
}
@ -1512,7 +1519,7 @@ diff --git a/chrome/browser/offline_pages/android/request_coordinator_factory.cc
diff --git a/chrome/browser/offline_pages/offline_page_model_factory.h b/chrome/browser/offline_pages/offline_page_model_factory.h
--- a/chrome/browser/offline_pages/offline_page_model_factory.h
+++ b/chrome/browser/offline_pages/offline_page_model_factory.h
@@ -48,6 +48,7 @@ class OfflinePageModelFactory : public SimpleKeyedServiceFactory {
@@ -49,6 +49,7 @@ class OfflinePageModelFactory : public SimpleKeyedServiceFactory {
std::unique_ptr<KeyedService> BuildServiceInstanceFor(
SimpleFactoryKey* key) const override;
@ -1523,7 +1530,7 @@ diff --git a/chrome/browser/offline_pages/offline_page_model_factory.h b/chrome/
diff --git a/chrome/browser/offline_pages/recent_tab_helper.cc b/chrome/browser/offline_pages/recent_tab_helper.cc
--- a/chrome/browser/offline_pages/recent_tab_helper.cc
+++ b/chrome/browser/offline_pages/recent_tab_helper.cc
@@ -29,6 +29,11 @@
@@ -30,6 +30,11 @@
#include "content/public/browser/navigation_entry.h"
#include "content/public/browser/navigation_handle.h"
@ -1552,7 +1559,7 @@ diff --git a/chrome/browser/offline_pages/recent_tab_helper.cc b/chrome/browser/
diff --git a/chrome/browser/offline_pages/request_coordinator_factory.h b/chrome/browser/offline_pages/request_coordinator_factory.h
--- a/chrome/browser/offline_pages/request_coordinator_factory.h
+++ b/chrome/browser/offline_pages/request_coordinator_factory.h
@@ -36,6 +36,8 @@ class RequestCoordinatorFactory : public BrowserContextKeyedServiceFactory {
@@ -37,6 +37,8 @@ class RequestCoordinatorFactory : public BrowserContextKeyedServiceFactory {
KeyedService* BuildServiceInstanceFor(
content::BrowserContext* context) const override;
@ -1564,7 +1571,7 @@ diff --git a/chrome/browser/offline_pages/request_coordinator_factory.h b/chrome
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
@@ -214,6 +214,8 @@
@@ -216,6 +216,8 @@
#endif
#if defined(OS_ANDROID)
@ -1573,18 +1580,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"
@@ -1265,6 +1267,7 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry,
@@ -1259,6 +1261,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/native_page/BUILD.gn b/chrome/browser/ui/android/native_page/BUILD.gn
--- a/chrome/browser/ui/android/native_page/BUILD.gn
+++ b/chrome/browser/ui/android/native_page/BUILD.gn
@@ -32,8 +32,10 @@ java_library("junit") {
@@ -31,8 +31,10 @@ java_library("junit") {
deps = [
":java",
@ -1662,7 +1669,7 @@ diff --git a/chrome/browser/ui/android/native_page/java/src/org/chromium/chrome/
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
@@ -1012,6 +1012,12 @@ Your Google account may have other forms of browsing history like searches and a
@@ -961,6 +961,12 @@ Your Google account may have other forms of browsing history like searches and a
<message name="IDS_UI_RELAUNCH_NOTICE" desc="Summary for always incognito mode">
Your changes will take effect the next time you relaunch Bromite.
</message>
@ -1678,7 +1685,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
@@ -3287,6 +3287,11 @@ const char kShowCaretBrowsingDialog[] =
@@ -3276,6 +3276,11 @@ const char kShowCaretBrowsingDialog[] =
const char kLacrosLaunchSwitch[] = "lacros_launch_switch";
#endif
@ -1693,9 +1700,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
@@ -1204,6 +1204,10 @@ extern const char kPrivacyGuideViewed[];
extern const char kCorsNonWildcardRequestHeadersSupport[];
@@ -1201,6 +1201,10 @@ extern const char kLastWhatsNewVersion[];
extern const char kLensRegionSearchEnabled[];
#endif
+#if defined(OS_ANDROID)
+extern const char kIncognitoTabHistoryEnabled[];
@ -1707,7 +1714,7 @@ diff --git a/chrome/common/pref_names.h b/chrome/common/pref_names.h
diff --git a/chrome/test/BUILD.gn b/chrome/test/BUILD.gn
--- a/chrome/test/BUILD.gn
+++ b/chrome/test/BUILD.gn
@@ -4880,6 +4880,11 @@ test("unit_tests") {
@@ -4818,6 +4818,11 @@ test("unit_tests") {
]
}
@ -1719,5 +1726,6 @@ diff --git a/chrome/test/BUILD.gn b/chrome/test/BUILD.gn
if (is_android) {
sources += [
"../browser/android/bookmarks/partner_bookmarks_shim_unittest.cc",
--
2.25.1
--
2.20.1

View file

@ -40,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" />
@@ -176,6 +180,9 @@
@@ -173,6 +177,9 @@
<item android:id="@+id/menu_group_tabs"
android:title="@string/menu_group_tabs"
android:icon="@drawable/ic_widgets" />
@ -62,7 +62,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct
import org.chromium.chrome.browser.bookmarks.BookmarkUtils;
import org.chromium.chrome.browser.browserservices.intents.WebappConstants;
import org.chromium.chrome.browser.compositor.CompositorViewHolder;
@@ -2054,6 +2056,8 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
@@ -2044,6 +2046,8 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
// Close both incognito and normal tabs
getTabModelSelector().closeAllTabs();
RecordUserAction.record("MobileMenuCloseAllTabs");
@ -71,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();
@@ -2103,6 +2107,28 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
@@ -2093,6 +2097,28 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
mTabModalHandler.onOmniboxFocusChanged(hasFocus);
}
@ -103,7 +103,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkBridge.java b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkBridge.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkBridge.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkBridge.java
@@ -28,6 +28,7 @@ import com.google.common.primitives.UnsignedLongs;
@@ -27,6 +27,7 @@ import androidx.annotation.VisibleForTesting;
import com.google.protobuf.InvalidProtocolBufferException;
import org.chromium.base.ContextUtils;
@ -111,9 +111,9 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
import org.chromium.base.ObserverList;
import org.chromium.base.ThreadUtils;
import org.chromium.base.annotations.CalledByNative;
@@ -45,6 +46,10 @@ import org.chromium.chrome.browser.subscriptions.CommerceSubscription;
import org.chromium.chrome.browser.subscriptions.CommerceSubscriptionsServiceFactory;
import org.chromium.chrome.browser.subscriptions.SubscriptionsManager;
@@ -36,6 +37,10 @@ import org.chromium.chrome.browser.partnerbookmarks.PartnerBookmarksShim;
import org.chromium.chrome.browser.power_bookmarks.PowerBookmarkMeta;
import org.chromium.chrome.browser.profiles.Profile;
import org.chromium.chrome.browser.tab.Tab;
+import org.chromium.chrome.browser.ui.messages.snackbar.Snackbar;
+import org.chromium.chrome.browser.ui.messages.snackbar.SnackbarManager;
@ -121,16 +121,16 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
+import org.chromium.chrome.R;
import org.chromium.components.bookmarks.BookmarkId;
import org.chromium.components.bookmarks.BookmarkType;
import org.chromium.components.commerce.PriceTracking.ProductPrice;
@@ -90,6 +95,7 @@ import java.io.File;
import org.chromium.components.url_formatter.SchemeDisplay;
@@ -76,6 +81,7 @@ import java.io.File;
* bookmark model stored in native.
*/
public class BookmarkBridge {
+ private static final String TAG = "BookmarkBridge";
private final Profile mProfile;
private boolean mIsDestroyed;
private boolean mIsDoingExtensiveChanges;
@@ -630,6 +636,16 @@ public class BookmarkBridge {
private long mNativeBookmarkBridge;
@@ -557,6 +563,16 @@ public class BookmarkBridge {
mNativeBookmarkBridge, BookmarkBridge.this);
}
@ -147,16 +147,16 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
/**
* @return Id representing the special "other" folder from bookmark model.
*/
@@ -1341,6 +1357,49 @@ public class BookmarkBridge {
@@ -1178,6 +1194,49 @@ public class BookmarkBridge {
mNativeBookmarkBridge, BookmarkBridge.this, title, url);
}
+ // Used to bookmark all tabs in a specific folder, created if not existing
+ public BookmarkId addToTabsCollection(Context context, Tab tab) {
+ BookmarkId parent = getTabsCollectionFolderId();
+ BookmarkId existingId = getUserBookmarkIdForTab(tab);
+ if (existingId != null && existingId.getId() != BookmarkId.INVALID_ID) {
+ BookmarkId existingBookmarkId = new BookmarkId(existingId.getId(), BookmarkType.NORMAL);
+ long existingId = getUserBookmarkIdForTab(tab);
+ if (existingId != BookmarkId.INVALID_ID) {
+ BookmarkId existingBookmarkId = new BookmarkId(existingId, BookmarkType.NORMAL);
+ BookmarkItem existingBookmark = getBookmarkById(existingBookmarkId);
+ if (parent.equals(existingBookmark.getParentId())) {
+ // bookmark already exists in the tabs collection folder
@ -197,7 +197,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
/**
* @param url The URL of the reading list item.
* @return The reading list item with the URL, or null if no such reading list item.
@@ -1638,6 +1697,7 @@ public class BookmarkBridge {
@@ -1434,6 +1493,7 @@ public class BookmarkBridge {
void getAllFoldersWithDepths(long nativeBookmarkBridge, BookmarkBridge caller,
List<BookmarkId> folderList, List<Integer> depthList);
BookmarkId getRootFolderId(long nativeBookmarkBridge, BookmarkBridge caller);
@ -208,7 +208,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
@@ -628,6 +628,7 @@ public class BookmarkUtils {
@@ -595,6 +595,7 @@ public class BookmarkUtils {
List<BookmarkId> topLevelFolders = new ArrayList<>();
BookmarkId desktopNodeId = bookmarkModel.getDesktopFolderId();
BookmarkId mobileNodeId = bookmarkModel.getMobileFolderId();
@ -216,7 +216,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
BookmarkId othersNodeId = bookmarkModel.getOtherFolderId();
List<BookmarkId> specialFoldersIds =
@@ -653,6 +654,9 @@ public class BookmarkUtils {
@@ -620,6 +621,9 @@ public class BookmarkUtils {
if (bookmarkModel.isFolderVisible(mobileNodeId)) {
topLevelFolders.add(mobileNodeId);
}
@ -229,7 +229,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
diff --git a/chrome/browser/android/bookmarks/bookmark_bridge.cc b/chrome/browser/android/bookmarks/bookmark_bridge.cc
--- a/chrome/browser/android/bookmarks/bookmark_bridge.cc
+++ b/chrome/browser/android/bookmarks/bookmark_bridge.cc
@@ -435,6 +435,11 @@ void BookmarkBridge::GetTopLevelFolderIDs(
@@ -428,6 +428,11 @@ void BookmarkBridge::GetTopLevelFolderIDs(
top_level_folders.push_back(node.get());
}
@ -241,7 +241,7 @@ diff --git a/chrome/browser/android/bookmarks/bookmark_bridge.cc b/chrome/browse
for (const auto& node : bookmark_model_->bookmark_bar_node()->children()) {
if (node->is_folder())
top_level_folders.push_back(node.get());
@@ -483,6 +488,7 @@ void BookmarkBridge::GetAllFoldersWithDepths(
@@ -466,6 +471,7 @@ void BookmarkBridge::GetAllFoldersWithDepths(
// Vector to temporarily contain all child bookmarks at same level for sorting
std::vector<const BookmarkNode*> bookmarks = {
bookmark_model_->mobile_node(),
@ -249,7 +249,7 @@ diff --git a/chrome/browser/android/bookmarks/bookmark_bridge.cc b/chrome/browse
bookmark_model_->bookmark_bar_node(),
bookmark_model_->other_node(),
};
@@ -537,6 +543,17 @@ ScopedJavaLocalRef<jobject> BookmarkBridge::GetMobileFolderId(
@@ -520,6 +526,17 @@ ScopedJavaLocalRef<jobject> BookmarkBridge::GetMobileFolderId(
return folder_id_obj;
}
@ -270,7 +270,7 @@ diff --git a/chrome/browser/android/bookmarks/bookmark_bridge.cc b/chrome/browse
diff --git a/chrome/browser/android/bookmarks/bookmark_bridge.h b/chrome/browser/android/bookmarks/bookmark_bridge.h
--- a/chrome/browser/android/bookmarks/bookmark_bridge.h
+++ b/chrome/browser/android/bookmarks/bookmark_bridge.h
@@ -121,6 +121,10 @@ class BookmarkBridge : public bookmarks::BaseBookmarkModelObserver,
@@ -114,6 +114,10 @@ class BookmarkBridge : public bookmarks::BaseBookmarkModelObserver,
JNIEnv* env,
const base::android::JavaParamRef<jobject>& obj);
@ -349,7 +349,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
@@ -3421,6 +3421,9 @@ To change this setting, <ph name="BEGIN_LINK">&lt;resetlink&gt;</ph>reset sync<p
@@ -3312,6 +3312,9 @@ To change this setting, <ph name="BEGIN_LINK">&lt;resetlink&gt;</ph>reset sync<p
<message name="IDS_MENU_TRACK_PRICES" desc="Menu item for tracking prices on tabs. [CHAR_LIMIT=27]">
Track prices
</message>
@ -491,7 +491,7 @@ 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
@@ -49,6 +49,7 @@ class BookmarkCodec {
@@ -50,6 +50,7 @@ class BookmarkCodec {
base::Value Encode(const BookmarkNode* bookmark_bar_node,
const BookmarkNode* other_folder_node,
const BookmarkNode* mobile_folder_node,
@ -499,7 +499,7 @@ diff --git a/components/bookmarks/browser/bookmark_codec.h b/components/bookmark
const BookmarkNode::MetaInfoMap* model_meta_info_map,
const std::string& sync_metadata_str);
@@ -61,6 +62,7 @@ class BookmarkCodec {
@@ -62,6 +63,7 @@ class BookmarkCodec {
BookmarkNode* bb_node,
BookmarkNode* other_folder_node,
BookmarkNode* mobile_folder_node,
@ -507,7 +507,7 @@ diff --git a/components/bookmarks/browser/bookmark_codec.h b/components/bookmark
int64_t* max_node_id,
std::string* sync_metadata_str);
@@ -106,6 +108,7 @@ class BookmarkCodec {
@@ -107,6 +109,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[];
@ -515,7 +515,7 @@ diff --git a/components/bookmarks/browser/bookmark_codec.h b/components/bookmark
// Possible values for kTypeKey.
static const char kTypeURL[];
@@ -122,6 +125,7 @@ class BookmarkCodec {
@@ -123,6 +126,7 @@ class BookmarkCodec {
bool DecodeHelper(BookmarkNode* bb_node,
BookmarkNode* other_folder_node,
BookmarkNode* mobile_folder_node,
@ -523,7 +523,7 @@ diff --git a/components/bookmarks/browser/bookmark_codec.h b/components/bookmark
const base::Value& value,
std::string* sync_metadata_str);
@@ -133,7 +137,8 @@ class BookmarkCodec {
@@ -134,7 +138,8 @@ class BookmarkCodec {
// Reassigns bookmark IDs for all nodes.
void ReassignIDs(BookmarkNode* bb_node,
BookmarkNode* other_node,
@ -550,7 +550,7 @@ diff --git a/components/bookmarks/browser/bookmark_load_details.cc b/components/
diff --git a/components/bookmarks/browser/bookmark_load_details.h b/components/bookmarks/browser/bookmark_load_details.h
--- a/components/bookmarks/browser/bookmark_load_details.h
+++ b/components/bookmarks/browser/bookmark_load_details.h
@@ -43,6 +43,7 @@ class BookmarkLoadDetails {
@@ -42,6 +42,7 @@ class BookmarkLoadDetails {
BookmarkPermanentNode* bb_node() { return bb_node_; }
BookmarkPermanentNode* mobile_folder_node() { return mobile_folder_node_; }
BookmarkPermanentNode* other_folder_node() { return other_folder_node_; }
@ -558,10 +558,10 @@ diff --git a/components/bookmarks/browser/bookmark_load_details.h b/components/b
TitledUrlIndex* index() { return index_.get(); }
std::unique_ptr<TitledUrlIndex> owned_index() { return std::move(index_); }
@@ -97,6 +98,7 @@ class BookmarkLoadDetails {
raw_ptr<BookmarkPermanentNode> bb_node_ = nullptr;
raw_ptr<BookmarkPermanentNode> other_folder_node_ = nullptr;
raw_ptr<BookmarkPermanentNode> mobile_folder_node_ = nullptr;
@@ -96,6 +97,7 @@ class BookmarkLoadDetails {
BookmarkPermanentNode* bb_node_ = nullptr;
BookmarkPermanentNode* other_folder_node_ = nullptr;
BookmarkPermanentNode* mobile_folder_node_ = nullptr;
+ BookmarkPermanentNode* tabs_collection_folder_node_ = nullptr;
LoadManagedNodeCallback load_managed_node_callback_;
std::unique_ptr<TitledUrlIndex> index_;
@ -603,9 +603,9 @@ diff --git a/components/bookmarks/browser/bookmark_model.h b/components/bookmark
DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
return node == root_;
@@ -395,6 +401,7 @@ class BookmarkModel : public BookmarkUndoProvider,
raw_ptr<BookmarkPermanentNode> bookmark_bar_node_ = nullptr;
raw_ptr<BookmarkPermanentNode> other_node_ = nullptr;
raw_ptr<BookmarkPermanentNode> mobile_node_ = nullptr;
BookmarkPermanentNode* bookmark_bar_node_ = nullptr;
BookmarkPermanentNode* other_node_ = nullptr;
BookmarkPermanentNode* mobile_node_ = nullptr;
+ BookmarkPermanentNode* tabs_collection_node_ = nullptr;
// The maximum ID assigned to the bookmark nodes in the model.
@ -645,7 +645,7 @@ diff --git a/components/bookmarks/browser/bookmark_node.cc b/components/bookmark
diff --git a/components/bookmarks/browser/bookmark_node.h b/components/bookmarks/browser/bookmark_node.h
--- a/components/bookmarks/browser/bookmark_node.h
+++ b/components/bookmarks/browser/bookmark_node.h
@@ -35,6 +35,7 @@ class BookmarkNode : public ui::TreeNode<BookmarkNode>, public TitledUrlNode {
@@ -36,6 +36,7 @@ class BookmarkNode : public ui::TreeNode<BookmarkNode>, public TitledUrlNode {
FOLDER,
BOOKMARK_BAR,
OTHER_NODE,
@ -653,7 +653,7 @@ diff --git a/components/bookmarks/browser/bookmark_node.h b/components/bookmarks
MOBILE
};
@@ -52,6 +53,7 @@ class BookmarkNode : public ui::TreeNode<BookmarkNode>, public TitledUrlNode {
@@ -53,6 +54,7 @@ class BookmarkNode : public ui::TreeNode<BookmarkNode>, public TitledUrlNode {
static const char kBookmarkBarNodeGuid[];
static const char kOtherBookmarksNodeGuid[];
static const char kMobileBookmarksNodeGuid[];
@ -661,7 +661,7 @@ diff --git a/components/bookmarks/browser/bookmark_node.h b/components/bookmarks
static const char kManagedNodeGuid[];
// A bug in sync caused some problematic GUIDs to be produced.
@@ -250,6 +252,9 @@ class BookmarkPermanentNode : public BookmarkNode {
@@ -251,6 +253,9 @@ class BookmarkPermanentNode : public BookmarkNode {
static std::unique_ptr<BookmarkPermanentNode> CreateMobileBookmarks(
int64_t id,
bool visible_when_empty);
@ -695,5 +695,6 @@ diff --git a/components/sync_bookmarks/bookmark_specifics_conversions.cc b/compo
DCHECK(node->is_folder());
return sync_pb::BookmarkSpecifics::FOLDER;
}
--
2.25.1
--
2.20.1

View file

@ -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
@@ -106,6 +106,9 @@
@@ -103,6 +103,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,7 +41,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
@@ -2077,6 +2077,8 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
@@ -2067,6 +2067,8 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
NewTabPageUma.recordAction(NewTabPageUma.ACTION_OPENED_DOWNLOADS_MANAGER);
}
RecordUserAction.record("MobileMenuDownloadManager");
@ -53,7 +53,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
@@ -2558,6 +2558,11 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
@@ -2451,6 +2451,11 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
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
@@ -502,6 +502,7 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate
@@ -511,6 +511,7 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate
isChromeScheme, isFileScheme, isContentScheme, isIncognito, url));
updateRequestDesktopSiteMenuItem(menu, currentTab, true /* can show */, isChromeScheme);
@ -76,8 +76,8 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/App
updateAutoDarkMenuItem(menu, currentTab, isChromeScheme);
@@ -1135,6 +1136,19 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate
stopPriceTrackingMenuItem.setVisible(priceTrackingEnabled);
@@ -1027,6 +1028,19 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate
}
}
+ /**
@ -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
@@ -212,6 +212,7 @@ public class CustomTabAppMenuPropertiesDelegate extends AppMenuPropertiesDelegat
@@ -217,6 +217,7 @@ public class CustomTabAppMenuPropertiesDelegate extends AppMenuPropertiesDelegat
updateRequestDesktopSiteMenuItem(
menu, currentTab, requestDesktopSiteVisible, isChromeScheme);
@ -121,5 +121,6 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro
<message name="IDS_UNSUPPORTED" desc="Message displayed to the user when an attempted action is not supported.">
Unsupported
</message>
--
2.25.1
--
2.20.1

View file

@ -67,7 +67,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/accessibility/s
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
@@ -508,6 +508,7 @@ public final class ChromePreferenceKeys {
@@ -516,6 +516,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";
@ -89,7 +89,7 @@ diff --git a/chrome/browser/preferences/android/java/src/org/chromium/chrome/bro
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
@@ -352,7 +352,7 @@ public final class LocationBarCoordinator implements LocationBar, NativeInitObse
@@ -355,7 +355,7 @@ public final class LocationBarCoordinator implements LocationBar, NativeInitObse
// OmniboxSuggestionsDropdownEmbedder implementation
@Override
public boolean isTablet() {
@ -101,7 +101,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow
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
@@ -1316,6 +1316,12 @@ Your Google account may have other forms of browsing history like searches and a
@@ -1234,6 +1234,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>
@ -143,7 +143,7 @@ diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/brow
diff --git a/components/BUILD.gn b/components/BUILD.gn
--- a/components/BUILD.gn
+++ b/components/BUILD.gn
@@ -572,7 +572,7 @@ test("components_unittests") {
@@ -555,7 +555,7 @@ test("components_unittests") {
# On LaCrOS, tests use ash - chrome as a window manager, thus the dependency.
# On other platforms, no components should depend on Chrome.
@ -152,7 +152,7 @@ diff --git a/components/BUILD.gn b/components/BUILD.gn
assert_no_deps = [ "//chrome/*" ]
}
@@ -836,7 +836,7 @@ if (!is_ios) {
@@ -804,7 +804,7 @@ if (!is_ios) {
# On LaCrOS, tests use ash - chrome as a window manager, thus the dependency.
# On other platforms, no components should depend on Chrome.
@ -164,7 +164,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
@@ -358,6 +358,8 @@ android_library("ui_no_recycler_view_java") {
@@ -359,6 +359,8 @@ android_library("ui_no_recycler_view_java") {
":ui_java_resources",
":ui_utils_java",
"//base:base_java",
@ -195,5 +195,6 @@ diff --git a/ui/android/java/src/org/chromium/ui/base/DeviceFormFactor.java b/ui
return detectScreenWidthBucket(context) >= SCREEN_BUCKET_TABLET;
}
--
2.25.1
--
2.20.1

View file

@ -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
@@ -1191,8 +1191,10 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
@@ -1185,8 +1185,10 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
boolean hadCipherData =
CipherFactory.getInstance().restoreFromBundle(getSavedInstanceState());
@ -66,9 +66,9 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
+ private static final String PREF_CLOSE_TABS_ON_EXIT = "close_tabs_on_exit";
+
private ManagedPreferenceDelegate mManagedPreferenceDelegate;
private IncognitoLockSettings mIncognitoLockSettings;
@@ -150,7 +155,11 @@ public class PrivacySettings
@Override
@@ -178,7 +183,11 @@ public class PrivacySettings
@Override
public boolean onPreferenceChange(Preference preference, Object newValue) {
String key = preference.getKey();
@ -80,9 +80,9 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
+ } else if (PREF_CAN_MAKE_PAYMENT.equals(key)) {
UserPrefs.get(Profile.getLastUsedRegularProfile())
.setBoolean(Pref.CAN_MAKE_PAYMENT_ENABLED, (boolean) newValue);
} else if (PREF_HTTPS_FIRST_MODE.equals(key)) {
@@ -188,6 +197,11 @@ public class PrivacySettings
: R.string.text_off);
} else if (PREF_NETWORK_PREDICTIONS.equals(key)) {
@@ -234,6 +243,11 @@ public class PrivacySettings
PrivacySandboxSettingsFragment.getStatusString(getContext()));
}
+ ChromeSwitchPreference closeTabsOnExitPref =
@ -90,13 +90,13 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
+ closeTabsOnExitPref.setOnPreferenceChangeListener(this);
+ closeTabsOnExitPref.setManagedPreferenceDelegate(mManagedPreferenceDelegate);
+
Preference secureDnsPref = findPreference(PREF_SECURE_DNS);
if (secureDnsPref != null && secureDnsPref.isVisible()) {
secureDnsPref.setSummary(SecureDnsSettings.getSummary(getContext()));
updateIncognitoReauthPreference();
}
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
@@ -4297,6 +4297,12 @@ To change this setting, <ph name="BEGIN_LINK">&lt;resetlink&gt;</ph>reset sync<p
@@ -4132,6 +4132,12 @@ To change this setting, <ph name="BEGIN_LINK">&lt;resetlink&gt;</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>
@ -109,5 +109,6 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro
<message name="IDS_CONTEXTMENU_LINK_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 link.">
LINK
</message>
--
2.25.1
--
2.20.1

View file

@ -132,7 +132,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/Chrome
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
@@ -518,6 +518,7 @@ public final class ChromePreferenceKeys {
@@ -524,6 +524,7 @@ public final class ChromePreferenceKeys {
public static final String HOMEPAGE_USE_DEFAULT_URI = "homepage_partner_enabled";
public static final String HOMEPAGE_PARTNER_CUSTOMIZED_DEFAULT_URI =
"Chrome.Homepage.PartnerCustomizedDefaultUri";
@ -154,7 +154,7 @@ diff --git a/chrome/browser/preferences/android/java/src/org/chromium/chrome/bro
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
@@ -1061,6 +1061,9 @@ Your Google account may have other forms of browsing history like searches and a
@@ -1010,6 +1010,9 @@ Your Google account may have other forms of browsing history like searches and a
<message name="IDS_CLEAR_BROWSING_DATA_TAB_PERIOD_HOUR" desc="The option to delete browsing data from the last hour.">
Last hour
</message>
@ -193,7 +193,7 @@ 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
@@ -362,6 +362,7 @@ extern const char kExternalStorageReadOnly[];
@@ -356,6 +356,7 @@ extern const char kExternalStorageReadOnly[];
extern const char kSettingsShowOSBanner[];
#endif // defined(OS_CHROMEOS)
extern const char kShowHomeButton[];
@ -201,5 +201,6 @@ diff --git a/chrome/common/pref_names.h b/chrome/common/pref_names.h
extern const char kSpeechRecognitionFilterProfanities[];
extern const char kAllowDeletingBrowserHistory[];
extern const char kForceGoogleSafeSearch[];
--
2.25.1
--
2.20.1

View file

@ -3,42 +3,83 @@ Date: Fri, 22 May 2020 22:43:27 -0400
Subject: Allow building without enable_reporting
---
content/browser/BUILD.gn | 8 ++++----
.../devtools/protocol/network_handler.cc | 2 ++
.../cross_origin_embedder_policy_reporter.cc | 3 ++-
.../devtools/protocol/network_handler.h | 2 ++
.../cross_origin_embedder_policy_reporter.cc | 2 ++
.../net/cross_origin_opener_policy_reporter.cc | 16 +++++++---------
.../renderer_host/render_frame_host_impl.cc | 2 ++
.../web_package/signed_exchange_reporter.cc | 2 ++
...ntent_switch_dependent_feature_overrides.cc | 1 +
...ntent_switch_dependent_feature_overrides.cc | 3 +++
net/reporting/reporting_service.cc | 6 ++++++
services/network/network_context.cc | 18 +-----------------
services/network/network_context.h | 11 -----------
services/network/public/mojom/BUILD.gn | 1 -
services/network/public/mojom/BUILD.gn | 3 +++
.../network/public/mojom/network_context.mojom | 2 ++
.../blink/renderer/core/frame/local_frame.cc | 3 +++
.../blink/renderer/core/frame/local_frame.h | 6 +++---
.../renderer/core/frame/reporting_context.cc | 9 +++++++++
.../renderer/core/frame/reporting_context.h | 7 +++++--
15 files changed, 45 insertions(+), 44 deletions(-)
17 files changed, 56 insertions(+), 46 deletions(-)
diff --git a/content/browser/BUILD.gn b/content/browser/BUILD.gn
--- a/content/browser/BUILD.gn
+++ b/content/browser/BUILD.gn
@@ -1275,6 +1275,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",
@@ -3035,10 +3039,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/browser/devtools/protocol/network_handler.cc b/content/browser/devtools/protocol/network_handler.cc
--- a/content/browser/devtools/protocol/network_handler.cc
+++ b/content/browser/devtools/protocol/network_handler.cc
@@ -1283,6 +1283,7 @@ String BuildReportStatus(const net::ReportingReport::Status status) {
}
@@ -451,6 +451,7 @@ std::vector<GURL> ComputeCookieURLs(RenderFrameHostImpl* frame_host,
return urls;
}
+#if BUILDFLAG(ENABLE_REPORTING)
std::vector<GURL> ComputeReportingURLs(RenderFrameHostImpl* frame_host) {
std::vector<GURL> urls;
base::queue<FrameTreeNode*> queue;
@@ -1300,6 +1301,7 @@ std::vector<GURL> ComputeReportingURLs(RenderFrameHostImpl* frame_host) {
@@ -468,6 +469,7 @@ std::vector<GURL> ComputeReportingURLs(RenderFrameHostImpl* frame_host) {
}
return urls;
}
+#endif // BUILDFLAG(ENABLE_REPORTING)
} // namespace
String resourcePriority(net::RequestPriority priority) {
switch (priority) {
diff --git a/content/browser/devtools/protocol/network_handler.h b/content/browser/devtools/protocol/network_handler.h
--- a/content/browser/devtools/protocol/network_handler.h
+++ b/content/browser/devtools/protocol/network_handler.h
@@ -309,8 +309,10 @@ class NetworkHandler : public DevToolsDomainHandler,
Response response,
mojo::ScopedDataPipeConsumerHandle pipe,
const std::string& mime_type);
+#if BUILDFLAG(ENABLE_REPORTING)
std::unique_ptr<protocol::Network::ReportingApiReport> BuildProtocolReport(
const net::ReportingReport& report);
+#endif // BUILDFLAG(ENABLE_REPORTING)
// TODO(dgozman): Remove this.
const std::string host_id_;
diff --git a/content/browser/net/cross_origin_embedder_policy_reporter.cc b/content/browser/net/cross_origin_embedder_policy_reporter.cc
--- a/content/browser/net/cross_origin_embedder_policy_reporter.cc
+++ b/content/browser/net/cross_origin_embedder_policy_reporter.cc
@ -50,11 +91,10 @@ diff --git a/content/browser/net/cross_origin_embedder_policy_reporter.cc b/cont
base::DictionaryValue body_to_pass;
for (const auto& pair : body) {
body_to_pass.SetString(pair.first, pair.second);
@@ -123,7 +124,7 @@ void CrossOriginEmbedderPolicyReporter::QueueAndNotify(
kType, *endpoint, context_url_, reporting_source_,
network_isolation_key_,
/*user_agent=*/absl::nullopt, std::move(body_to_pass));
- }
@@ -122,6 +123,7 @@ void CrossOriginEmbedderPolicyReporter::QueueAndNotify(
kType, *endpoint, context_url_, reporting_source_,
network_isolation_key_,
/*user_agent=*/absl::nullopt, std::move(body_to_pass));
+#endif
}
}
@ -62,7 +102,7 @@ diff --git a/content/browser/net/cross_origin_embedder_policy_reporter.cc b/cont
diff --git a/content/browser/net/cross_origin_opener_policy_reporter.cc b/content/browser/net/cross_origin_opener_policy_reporter.cc
--- a/content/browser/net/cross_origin_opener_policy_reporter.cc
+++ b/content/browser/net/cross_origin_opener_policy_reporter.cc
@@ -17,25 +17,17 @@
@@ -16,25 +16,17 @@
#include "services/network/public/mojom/network_context.mojom.h"
#include "services/network/public/mojom/source_location.mojom.h"
#include "url/origin.h"
@ -89,7 +129,7 @@ diff --git a/content/browser/net/cross_origin_opener_policy_reporter.cc b/conten
constexpr char kType[] = "type";
// Report attribute values:
@@ -44,6 +36,7 @@ constexpr char kDispositionReporting[] = "reporting";
@@ -43,6 +35,7 @@ constexpr char kDispositionReporting[] = "reporting";
constexpr char kTypeFromResponse[] = "navigation-from-response";
constexpr char kTypeToResponse[] = "navigation-to-response";
@ -97,7 +137,7 @@ diff --git a/content/browser/net/cross_origin_opener_policy_reporter.cc b/conten
std::string ToString(network::mojom::CrossOriginOpenerPolicyValue coop_value) {
switch (coop_value) {
case network::mojom::CrossOriginOpenerPolicyValue::kUnsafeNone:
@@ -56,6 +49,7 @@ std::string ToString(network::mojom::CrossOriginOpenerPolicyValue coop_value) {
@@ -55,6 +48,7 @@ std::string ToString(network::mojom::CrossOriginOpenerPolicyValue coop_value) {
return "same-origin-plus-coep";
}
}
@ -105,7 +145,7 @@ diff --git a/content/browser/net/cross_origin_opener_policy_reporter.cc b/conten
FrameTreeNode* TopLevelOpener(FrameTreeNode* frame) {
FrameTreeNode* opener = frame->original_opener();
@@ -226,6 +220,7 @@ void CrossOriginOpenerPolicyReporter::QueueAccessReport(
@@ -225,6 +219,7 @@ void CrossOriginOpenerPolicyReporter::QueueAccessReport(
network::mojom::SourceLocationPtr source_location,
const std::string& reported_window_url,
const std::string& initial_popup_url) const {
@ -113,7 +153,7 @@ diff --git a/content/browser/net/cross_origin_opener_policy_reporter.cc b/conten
// Cross-Origin-Opener-Policy-Report-Only is not required to provide
// endpoints.
if (!coop_.report_only_reporting_endpoint)
@@ -274,12 +269,14 @@ void CrossOriginOpenerPolicyReporter::QueueAccessReport(
@@ -273,12 +268,14 @@ void CrossOriginOpenerPolicyReporter::QueueAccessReport(
storage_partition_->GetNetworkContext()->QueueReport(
"coop", endpoint, context_url_, reporting_source_, network_isolation_key_,
absl::nullopt, std::move(body));
@ -128,7 +168,7 @@ diff --git a/content/browser/net/cross_origin_opener_policy_reporter.cc b/conten
body.SetString(kDisposition,
is_report_only ? kDispositionReporting : kDispositionEnforce);
body.SetString(
@@ -288,6 +285,7 @@ void CrossOriginOpenerPolicyReporter::QueueNavigationReport(
@@ -287,6 +284,7 @@ void CrossOriginOpenerPolicyReporter::QueueNavigationReport(
storage_partition_->GetNetworkContext()->QueueReport(
"coop", endpoint, context_url_, reporting_source_, network_isolation_key_,
/*user_agent=*/absl::nullopt, std::move(body));
@ -139,7 +179,7 @@ diff --git a/content/browser/net/cross_origin_opener_policy_reporter.cc b/conten
diff --git a/content/browser/renderer_host/render_frame_host_impl.cc b/content/browser/renderer_host/render_frame_host_impl.cc
--- a/content/browser/renderer_host/render_frame_host_impl.cc
+++ b/content/browser/renderer_host/render_frame_host_impl.cc
@@ -10827,6 +10827,7 @@ void RenderFrameHostImpl::OnSameDocumentCommitProcessed(
@@ -10649,6 +10649,7 @@ void RenderFrameHostImpl::OnSameDocumentCommitProcessed(
void RenderFrameHostImpl::MaybeGenerateCrashReport(
base::TerminationStatus status,
int exit_code) {
@ -147,7 +187,7 @@ diff --git a/content/browser/renderer_host/render_frame_host_impl.cc b/content/b
if (!last_committed_url_.SchemeIsHTTPOrHTTPS())
return;
@@ -10876,6 +10877,7 @@ void RenderFrameHostImpl::MaybeGenerateCrashReport(
@@ -10698,6 +10699,7 @@ void RenderFrameHostImpl::MaybeGenerateCrashReport(
/*type=*/"crash", /*group=*/"default", last_committed_url_,
GetReportingSource(), isolation_info_.network_isolation_key(),
absl::nullopt /* user_agent */, std::move(body));
@ -158,7 +198,7 @@ diff --git a/content/browser/renderer_host/render_frame_host_impl.cc b/content/b
diff --git a/content/browser/web_package/signed_exchange_reporter.cc b/content/browser/web_package/signed_exchange_reporter.cc
--- a/content/browser/web_package/signed_exchange_reporter.cc
+++ b/content/browser/web_package/signed_exchange_reporter.cc
@@ -125,6 +125,7 @@ bool ShouldDowngradeReport(const char* result_string,
@@ -120,6 +120,7 @@ bool ShouldDowngradeReport(const char* result_string,
void ReportResult(int frame_tree_node_id,
network::mojom::SignedExchangeReportPtr report,
const net::NetworkIsolationKey& network_isolation_key) {
@ -166,7 +206,7 @@ diff --git a/content/browser/web_package/signed_exchange_reporter.cc b/content/b
FrameTreeNode* frame_tree_node =
FrameTreeNode::GloballyFindByID(frame_tree_node_id);
if (!frame_tree_node)
@@ -139,6 +140,7 @@ void ReportResult(int frame_tree_node_id,
@@ -134,6 +135,7 @@ void ReportResult(int frame_tree_node_id,
DCHECK(partition);
partition->GetNetworkContext()->QueueSignedExchangeReport(
std::move(report), network_isolation_key);
@ -185,10 +225,22 @@ diff --git a/content/public/common/content_switch_dependent_feature_overrides.cc
#include "services/network/public/cpp/features.h"
#include "services/network/public/cpp/network_switches.h"
#include "third_party/blink/public/common/features.h"
@@ -40,9 +41,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/net/reporting/reporting_service.cc b/net/reporting/reporting_service.cc
--- a/net/reporting/reporting_service.cc
+++ b/net/reporting/reporting_service.cc
@@ -211,6 +211,12 @@ class ReportingServiceImpl : public ReportingService {
@@ -206,6 +206,12 @@ class ReportingServiceImpl : public ReportingService {
std::unique_ptr<const base::Value> body,
int depth,
base::TimeTicks queued_ticks) {
@ -204,7 +256,7 @@ diff --git a/net/reporting/reporting_service.cc b/net/reporting/reporting_servic
diff --git a/services/network/network_context.cc b/services/network/network_context.cc
--- a/services/network/network_context.cc
+++ b/services/network/network_context.cc
@@ -1151,25 +1151,9 @@ void NetworkContext::SetDocumentReportingEndpoints(
@@ -1121,25 +1121,9 @@ void NetworkContext::SetDocumentReportingEndpoints(
void NetworkContext::SendReportsAndRemoveSource(
const base::UnguessableToken& reporting_source) {
@ -234,7 +286,7 @@ diff --git a/services/network/network_context.cc b/services/network/network_cont
diff --git a/services/network/network_context.h b/services/network/network_context.h
--- a/services/network/network_context.h
+++ b/services/network/network_context.h
@@ -424,17 +424,6 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext
@@ -418,17 +418,6 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext
const base::flat_map<std::string, std::string>& endpoints) override;
void SendReportsAndRemoveSource(
const base::UnguessableToken& reporting_source) override;
@ -255,18 +307,20 @@ diff --git a/services/network/network_context.h b/services/network/network_conte
diff --git a/services/network/public/mojom/BUILD.gn b/services/network/public/mojom/BUILD.gn
--- a/services/network/public/mojom/BUILD.gn
+++ b/services/network/public/mojom/BUILD.gn
@@ -950,7 +950,6 @@ mojom("mojom") {
@@ -916,6 +916,9 @@ mojom("mojom") {
export_class_attribute_blink = "BLINK_PLATFORM_EXPORT"
export_define_blink = "BLINK_PLATFORM_IMPLEMENTATION=1"
export_header_blink = "third_party/blink/public/platform/web_common.h"
if (enable_reporting) {
- enabled_features += [ "enable_reporting" ]
}
+ }
+
+ if (enable_reporting) {
enabled_features += [ "enable_reporting" ]
}
diff --git a/services/network/public/mojom/network_context.mojom b/services/network/public/mojom/network_context.mojom
--- a/services/network/public/mojom/network_context.mojom
+++ b/services/network/public/mojom/network_context.mojom
@@ -1000,6 +1000,7 @@ interface NetworkContext {
@@ -986,6 +986,7 @@ interface NetworkContext {
// provided |network_isolation_key|.
//
// Spec: https://w3c.github.io/reporting/#concept-reports
@ -274,7 +328,7 @@ diff --git a/services/network/public/mojom/network_context.mojom b/services/netw
QueueReport(string type,
string group,
url.mojom.Url url,
@@ -1013,6 +1014,7 @@ interface NetworkContext {
@@ -999,6 +1000,7 @@ interface NetworkContext {
// Note that this queued report will never be delivered if no reporting
// endpoint matching is registered for with the provided
// |network_isolation_key|.
@ -293,7 +347,7 @@ diff --git a/third_party/blink/renderer/core/frame/local_frame.cc b/third_party/
#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"
@@ -2287,9 +2288,11 @@ const base::UnguessableToken& LocalFrame::GetAgentClusterId() const {
@@ -2302,9 +2303,11 @@ const base::UnguessableToken& LocalFrame::GetAgentClusterId() const {
return base::UnguessableToken::Null();
}
@ -319,7 +373,7 @@ diff --git a/third_party/blink/renderer/core/frame/local_frame.h b/third_party/b
#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"
@@ -542,9 +542,9 @@ class CORE_EXPORT LocalFrame final
@@ -545,9 +545,9 @@ class CORE_EXPORT LocalFrame final : public Frame,
}
SmoothScrollSequencer& GetSmoothScrollSequencer();
@ -405,7 +459,7 @@ diff --git a/third_party/blink/renderer/core/frame/reporting_context.h b/third_p
#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"
@@ -54,10 +55,10 @@ class CORE_EXPORT ReportingContext : public GarbageCollected<ReportingContext>,
@@ -53,10 +54,10 @@ class CORE_EXPORT ReportingContext : public GarbageCollected<ReportingContext>,
private:
// Counts the use of a report type via UseCounter.
void CountReport(Report*);
@ -418,7 +472,7 @@ diff --git a/third_party/blink/renderer/core/frame/reporting_context.h b/third_p
void NotifyInternal(Report* report);
// Send |report| via the Reporting API to |endpoint|.
void SendToReportingAPI(Report* report, const String& endpoint) const;
@@ -68,8 +69,10 @@ class CORE_EXPORT ReportingContext : public GarbageCollected<ReportingContext>,
@@ -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.
@ -429,5 +483,6 @@ diff --git a/third_party/blink/renderer/core/frame/reporting_context.h b/third_p
HeapMojoReceiver<mojom::blink::ReportingObserver, ReportingContext> receiver_;
};
--
2.25.1
--
2.20.1

View file

@ -10,7 +10,7 @@ Subject: Allow playing audio in background
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
@@ -162,6 +162,9 @@ class BLINK_PLATFORM_EXPORT WebMediaPlayerImpl
@@ -159,6 +159,9 @@ class BLINK_PLATFORM_EXPORT WebMediaPlayerImpl
bool HasVideo() const override;
bool HasAudio() const override;
@ -23,7 +23,7 @@ diff --git a/third_party/blink/public/platform/media/web_media_player_impl.h b/t
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
@@ -1186,6 +1186,12 @@ bool WebMediaPlayerImpl::HasAudio() const {
@@ -1115,6 +1115,12 @@ bool WebMediaPlayerImpl::HasAudio() const {
return pipeline_metadata_.has_audio;
}
@ -36,7 +36,7 @@ diff --git a/third_party/blink/renderer/platform/media/web_media_player_impl.cc
void WebMediaPlayerImpl::EnabledAudioTracksChanged(
const WebVector<WebMediaPlayer::TrackId>& enabledTrackIds) {
DCHECK(main_task_runner_->BelongsToCurrentThread());
@@ -3557,7 +3563,11 @@ bool WebMediaPlayerImpl::ShouldPausePlaybackWhenHidden() const {
@@ -3479,7 +3485,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.
@ -49,5 +49,6 @@ diff --git a/third_party/blink/renderer/platform/media/web_media_player_impl.cc
return false;
if (using_media_player_renderer_ &&
--
2.25.1
--
2.20.1

View file

@ -20,5 +20,6 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/homepage/Homepa
String homepagePartnerDefaultUri = SharedPreferencesManager.getInstance().readString(
ChromePreferenceKeys.HOMEPAGE_PARTNER_CUSTOMIZED_DEFAULT_URI, "");
--
2.25.1
--
2.20.1

View file

@ -18,7 +18,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct
import org.chromium.base.CallbackController;
import org.chromium.base.CommandLine;
@@ -2054,8 +2055,23 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
@@ -2044,8 +2045,23 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
ApplicationLifetime.terminate(false);
} else if (id == R.id.close_all_tabs_menu_id) {
// Close both incognito and normal tabs
@ -47,7 +47,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct
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
@@ -3412,6 +3412,9 @@ To change this setting, <ph name="BEGIN_LINK">&lt;resetlink&gt;</ph>reset sync<p
@@ -3303,6 +3303,9 @@ To change this setting, <ph name="BEGIN_LINK">&lt;resetlink&gt;</ph>reset sync<p
<message name="IDS_MENU_CLOSE_ALL_TABS" desc="Menu item for closing all open tabs. [CHAR_LIMIT=27]">
Close all tabs
</message>
@ -57,5 +57,6 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro
<message name="IDS_MENU_CLOSE_ALL_INCOGNITO_TABS" desc="Menu item for closing all open Incognito tabs. [CHAR_LIMIT=27]">
Close Incognito tabs
</message>
--
2.25.1
--
2.20.1

View file

@ -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
@@ -456,7 +456,9 @@ double AudioContext::baseLatency() const {
@@ -457,7 +457,9 @@ double AudioContext::baseLatency() const {
DCHECK(IsMainThread());
DCHECK(destination());
@ -57,5 +57,6 @@ diff --git a/third_party/blink/renderer/modules/webaudio/audio_context.cc b/thir
}
MediaElementAudioSourceNode* AudioContext::createMediaElementSource(
--
2.25.1
--
2.20.1

File diff suppressed because it is too large Load diff

View file

@ -4,15 +4,15 @@ Subject: Block gateway attacks via websockets
---
.../renderer/core/loader/base_fetch_context.h | 1 +
.../core/loader/frame_fetch_context.cc | 20 ++++++++++++++
.../core/loader/frame_fetch_context.cc | 18 +++++++++++++
.../core/loader/frame_fetch_context.h | 1 +
.../core/loader/worker_fetch_context.cc | 21 +++++++++++++++
.../core/loader/worker_fetch_context.cc | 19 +++++++++++++
.../core/loader/worker_fetch_context.h | 1 +
.../background_fetch_manager.cc | 2 --
.../websockets/websocket_channel_impl.cc | 5 ++++
.../modules/websockets/websocket_common.cc | 27 +++++++++++++++++++
.../modules/websockets/websocket_common.h | 4 +++
9 files changed, 80 insertions(+), 2 deletions(-)
9 files changed, 76 insertions(+), 2 deletions(-)
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
@ -28,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
@@ -563,6 +563,26 @@ bool FrameFetchContext::ShouldBlockRequestByInspector(const KURL& url) const {
@@ -566,6 +566,24 @@ bool FrameFetchContext::ShouldBlockRequestByInspector(const KURL& url) const {
return should_block_request;
}
@ -36,8 +36,6 @@ diff --git a/third_party/blink/renderer/core/loader/frame_fetch_context.cc b/thi
+ // TODO(mkwst): This only checks explicit IP addresses. We'll have to move
+ // all this up to //net and //content in order to have any real impact on
+ // gateway attacks. That turns out to be a TON of work (crbug.com/378566).
+ if (requestor_space == network::mojom::IPAddressSpace::kUnknown)
+ requestor_space = network::mojom::IPAddressSpace::kPublic;
+ network::mojom::IPAddressSpace target_space =
+ network::mojom::IPAddressSpace::kPublic;
+ if (network_utils::IsReservedIPAddress(request_url.Host()))
@ -58,7 +56,7 @@ diff --git a/third_party/blink/renderer/core/loader/frame_fetch_context.cc b/thi
diff --git a/third_party/blink/renderer/core/loader/frame_fetch_context.h b/third_party/blink/renderer/core/loader/frame_fetch_context.h
--- a/third_party/blink/renderer/core/loader/frame_fetch_context.h
+++ b/third_party/blink/renderer/core/loader/frame_fetch_context.h
@@ -179,6 +179,7 @@ class CORE_EXPORT FrameFetchContext final : public BaseFetchContext,
@@ -166,6 +166,7 @@ class CORE_EXPORT FrameFetchContext final : public BaseFetchContext,
bool ShouldBlockWebSocketByMixedContentCheck(const KURL&) const override;
std::unique_ptr<WebSocketHandshakeThrottle> CreateWebSocketHandshakeThrottle()
override;
@ -77,7 +75,7 @@ diff --git a/third_party/blink/renderer/core/loader/worker_fetch_context.cc b/th
#include "third_party/blink/renderer/platform/runtime_enabled_features.h"
#include "third_party/blink/renderer/platform/supplementable.h"
#include "third_party/blink/renderer/platform/weborigin/security_policy.h"
@@ -90,6 +91,26 @@ bool WorkerFetchContext::ShouldBlockRequestByInspector(const KURL& url) const {
@@ -90,6 +91,24 @@ bool WorkerFetchContext::ShouldBlockRequestByInspector(const KURL& url) const {
return should_block_request;
}
@ -85,8 +83,6 @@ diff --git a/third_party/blink/renderer/core/loader/worker_fetch_context.cc b/th
+ // TODO(mkwst): This only checks explicit IP addresses. We'll have to move
+ // all this up to //net and //content in order to have any real impact on
+ // gateway attacks. That turns out to be a TON of work (crbug.com/378566).
+ if (requestor_space == network::mojom::IPAddressSpace::kUnknown)
+ requestor_space = network::mojom::IPAddressSpace::kPublic;
+ network::mojom::IPAddressSpace target_space =
+ network::mojom::IPAddressSpace::kPublic;
+ if (network_utils::IsReservedIPAddress(request_url.Host()))
@ -118,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
@@ -104,7 +104,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) {
@ -126,7 +122,7 @@ diff --git a/third_party/blink/renderer/modules/background_fetch/background_fetc
network::mojom::IPAddressSpace requestor_space =
execution_context->AddressSpace();
@@ -121,7 +120,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;
@ -192,16 +188,16 @@ diff --git a/third_party/blink/renderer/modules/websockets/websocket_common.cc b
diff --git a/third_party/blink/renderer/modules/websockets/websocket_common.h b/third_party/blink/renderer/modules/websockets/websocket_common.h
--- a/third_party/blink/renderer/modules/websockets/websocket_common.h
+++ b/third_party/blink/renderer/modules/websockets/websocket_common.h
@@ -7,6 +7,8 @@
#ifndef THIRD_PARTY_BLINK_RENDERER_MODULES_WEBSOCKETS_WEBSOCKET_COMMON_H_
@@ -8,6 +8,8 @@
#define THIRD_PARTY_BLINK_RENDERER_MODULES_WEBSOCKETS_WEBSOCKET_COMMON_H_
#include "base/macros.h"
+#include "services/network/public/mojom/ip_address_space.mojom.h"
+#include "third_party/blink/renderer/platform/network/network_utils.h"
#include "third_party/blink/renderer/modules/modules_export.h"
#include "third_party/blink/renderer/platform/weborigin/kurl.h"
#include "third_party/blink/renderer/platform/wtf/allocator/allocator.h"
@@ -54,6 +56,8 @@ class MODULES_EXPORT WebSocketCommon {
@@ -55,6 +57,8 @@ class MODULES_EXPORT WebSocketCommon {
void SetState(State state) { state_ = state; }
const KURL& Url() const { return url_; }
@ -210,5 +206,6 @@ diff --git a/third_party/blink/renderer/modules/websockets/websocket_common.h b/
// The following methods are public for testing.
// Returns true if |protocol| is a valid WebSocket subprotocol name.
--
2.25.1
--
2.20.1

View file

@ -7,26 +7,26 @@ This patch is based on Iridium's 'net: add "trk:" scheme and help identify URLs
---
.../chrome_autocomplete_scheme_classifier.cc | 1 +
chrome/browser/history/history_utils.cc | 1 +
chrome/browser/ui/singleton_tabs.cc | 5 ++++
chrome/browser/ui/singleton_tabs.cc | 3 +-
.../omnibox/browser/autocomplete_input.cc | 8 ++++-
components/url_formatter/url_fixer.cc | 4 +++
.../child_process_security_policy_impl.cc | 1 +
net/BUILD.gn | 2 ++
net/url_request/trk_protocol_handler.cc | 25 ++++++++++++++++
net/url_request/trk_protocol_handler.h | 30 +++++++++++++++++++
net/url_request/trk_protocol_handler.cc | 25 +++++++++++++++
net/url_request/trk_protocol_handler.h | 31 +++++++++++++++++++
net/url_request/url_request.cc | 8 +++++
.../url_request_context_builder.cc | 3 ++
url/url_constants.cc | 1 +
url/url_constants.h | 1 +
url/url_util.cc | 2 ++
14 files changed, 91 insertions(+), 1 deletion(-)
14 files changed, 89 insertions(+), 2 deletions(-)
create mode 100644 net/url_request/trk_protocol_handler.cc
create mode 100644 net/url_request/trk_protocol_handler.h
diff --git a/chrome/browser/autocomplete/chrome_autocomplete_scheme_classifier.cc b/chrome/browser/autocomplete/chrome_autocomplete_scheme_classifier.cc
--- a/chrome/browser/autocomplete/chrome_autocomplete_scheme_classifier.cc
+++ b/chrome/browser/autocomplete/chrome_autocomplete_scheme_classifier.cc
@@ -57,6 +57,7 @@ ChromeAutocompleteSchemeClassifier::GetInputTypeForScheme(
@@ -56,6 +56,7 @@ ChromeAutocompleteSchemeClassifier::GetInputTypeForScheme(
if (base::IsStringASCII(scheme) &&
(ProfileIOData::IsHandledProtocol(scheme) ||
base::LowerCaseEqualsASCII(scheme, content::kViewSourceScheme) ||
@ -48,22 +48,20 @@ diff --git a/chrome/browser/history/history_utils.cc b/chrome/browser/history/hi
diff --git a/chrome/browser/ui/singleton_tabs.cc b/chrome/browser/ui/singleton_tabs.cc
--- a/chrome/browser/ui/singleton_tabs.cc
+++ b/chrome/browser/ui/singleton_tabs.cc
@@ -106,6 +106,11 @@ int GetIndexOfExistingTab(Browser* browser, const NavigateParams& params) {
continue;
}
@@ -99,7 +99,8 @@ int GetIndexOfExistingTab(Browser* browser, const NavigateParams& params) {
// Skip view-source tabs. This is needed because RewriteURLIfNecessary
// removes the "view-source:" scheme which leads to incorrect matching.
- if (tab_url.SchemeIs(content::kViewSourceScheme))
+ if (tab_url.SchemeIs(content::kViewSourceScheme) ||
+ tab_url.SchemeIs(url::kTraceScheme))
continue;
+ // trk: URLs must not be rewritten
+ if (tab_url.SchemeIs(url::kTraceScheme)) {
+ continue;
+ }
+
GURL rewritten_tab_url = tab_url;
content::BrowserURLHandler::GetInstance()->RewriteURLIfNecessary(
&rewritten_tab_url, browser->profile());
diff --git a/components/omnibox/browser/autocomplete_input.cc b/components/omnibox/browser/autocomplete_input.cc
--- a/components/omnibox/browser/autocomplete_input.cc
+++ b/components/omnibox/browser/autocomplete_input.cc
@@ -90,10 +90,15 @@ void OffsetComponentsExcludingScheme(url::Parsed* parts, int offset) {
@@ -82,10 +82,15 @@ void OffsetComponentsExcludingScheme(url::Parsed* parts, int offset) {
bool HasScheme(const std::u16string& input, const char* scheme) {
std::string utf8_input(base::UTF16ToUTF8(input));
url::Component view_source_scheme;
@ -79,7 +77,7 @@ diff --git a/components/omnibox/browser/autocomplete_input.cc b/components/omnib
return url::FindAndCompareScheme(utf8_input, scheme, nullptr);
}
@@ -562,7 +567,8 @@ void AutocompleteInput::ParseForEmphasizeComponents(
@@ -533,7 +538,8 @@ void AutocompleteInput::ParseForEmphasizeComponents(
// For the view-source and blob schemes, we should emphasize the host of the
// URL qualified by the view-source or blob prefix.
if ((base::LowerCaseEqualsASCII(scheme_str, kViewSourceScheme) ||
@ -106,14 +104,14 @@ 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
@@ -745,6 +745,7 @@ ChildProcessSecurityPolicyImpl::ChildProcessSecurityPolicyImpl()
RegisterPseudoScheme(url::kJavaScriptScheme);
RegisterPseudoScheme(kViewSourceScheme);
RegisterPseudoScheme(kGoogleChromeScheme);
@@ -861,6 +861,7 @@ ChildProcessSecurityPolicyImpl::ChildProcessSecurityPolicyImpl()
#endif // BUILDFLAG(ENABLE_WEBSOCKETS)
RegisterWebSafeScheme(url::kFtpScheme);
RegisterWebSafeScheme(url::kDataScheme);
+ RegisterWebSafeScheme(url::kTraceScheme);
}
RegisterWebSafeScheme("feed");
ChildProcessSecurityPolicyImpl::~ChildProcessSecurityPolicyImpl() {
// TODO(nick): https://crbug.com/651534 blob: and filesystem: schemes embed
diff --git a/net/BUILD.gn b/net/BUILD.gn
--- a/net/BUILD.gn
+++ b/net/BUILD.gn
@ -160,7 +158,7 @@ diff --git a/net/url_request/trk_protocol_handler.h b/net/url_request/trk_protoc
new file mode 100644
--- /dev/null
+++ b/net/url_request/trk_protocol_handler.h
@@ -0,0 +1,30 @@
@@ -0,0 +1,31 @@
+// Copyright (c) 2018 The ungoogled-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.
@ -169,6 +167,7 @@ new file mode 100644
+#define NET_URL_REQUEST_TRK_PROTOCOL_HANDLER_H_
+
+#include "base/compiler_specific.h"
+#include "base/macros.h"
+#include "net/base/net_export.h"
+#include "net/url_request/url_request_job_factory.h"
+
@ -180,12 +179,12 @@ new file mode 100644
+class NET_EXPORT TrkProtocolHandler
+ : public URLRequestJobFactory::ProtocolHandler {
+ public:
+ TrkProtocolHandler(const TrkProtocolHandler&) = delete;
+ TrkProtocolHandler& operator=(const TrkProtocolHandler&) = delete;
+
+ TrkProtocolHandler();
+ std::unique_ptr<URLRequestJob> CreateJob(URLRequest* request) const override;
+ bool IsSafeRedirectTarget(const GURL& location) const override;
+
+ private:
+ DISALLOW_COPY_AND_ASSIGN(TrkProtocolHandler);
+};
+
+} // namespace net
@ -210,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;
@@ -611,6 +613,12 @@ URLRequest::URLRequest(const GURL& url,
@@ -595,6 +597,12 @@ URLRequest::URLRequest(const GURL& url,
// Sanity check out environment.
DCHECK(base::ThreadTaskRunnerHandle::IsSet());
@ -226,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"
@ -234,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"
@@ -543,6 +544,8 @@ std::unique_ptr<URLRequestContext> URLRequestContextBuilder::Build() {
@@ -544,6 +545,8 @@ std::unique_ptr<URLRequestContext> URLRequestContextBuilder::Build() {
job_factory->SetProtocolHandler(scheme_handler.first,
std::move(scheme_handler.second));
}
@ -251,9 +250,9 @@ diff --git a/url/url_constants.cc b/url/url_constants.cc
const char kTelScheme[] = "tel";
const char kUrnScheme[] = "urn";
+const char kTraceScheme[] = "trk";
const char kUuidInPackageScheme[] = "uuid-in-package";
const char kWsScheme[] = "ws";
const char kWssScheme[] = "wss";
diff --git a/url/url_constants.h b/url/url_constants.h
--- a/url/url_constants.h
+++ b/url/url_constants.h
@ -262,9 +261,9 @@ diff --git a/url/url_constants.h b/url/url_constants.h
COMPONENT_EXPORT(URL) extern const char kTelScheme[];
COMPONENT_EXPORT(URL) extern const char kUrnScheme[];
+COMPONENT_EXPORT(URL) extern const char kTraceScheme[];
COMPONENT_EXPORT(URL) extern const char kUuidInPackageScheme[];
COMPONENT_EXPORT(URL) extern const char kWsScheme[];
COMPONENT_EXPORT(URL) extern const char kWssScheme[];
diff --git a/url/url_util.cc b/url/url_util.cc
--- a/url/url_util.cc
+++ b/url/url_util.cc
@ -284,5 +283,6 @@ diff --git a/url/url_util.cc b/url/url_util.cc
};
// Schemes that can be sent CORS requests.
--
2.25.1
--
2.20.1

View file

@ -59,7 +59,7 @@ 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
@@ -564,6 +564,7 @@ chrome_java_resources = [
@@ -557,6 +557,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",
@ -67,7 +67,7 @@ diff --git a/chrome/android/chrome_java_resources.gni b/chrome/android/chrome_ja
"java/res/layout/auto_sign_in_first_run_dialog.xml",
"java/res/layout/autofill_billing_address_dropdown.xml",
"java/res/layout/autofill_card_unmask_prompt.xml",
@@ -776,6 +777,7 @@ chrome_java_resources = [
@@ -774,6 +775,7 @@ chrome_java_resources = [
"java/res/xml/about_chrome_preferences.xml",
"java/res/xml/accessibility_preferences.xml",
"java/res/xml/account_management_preferences.xml",
@ -78,9 +78,9 @@ 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
@@ -990,6 +990,8 @@ chrome_java_sources = [
"java/src/org/chromium/chrome/browser/payments/ui/ShoppingCart.java",
@@ -986,6 +986,8 @@ chrome_java_sources = [
"java/src/org/chromium/chrome/browser/permissions/PermissionSettingsBridge.java",
"java/src/org/chromium/chrome/browser/permissions/PermissionUpdateRequester.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",
@ -162,7 +162,7 @@ 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
@@ -199,6 +199,24 @@
@@ -198,6 +198,24 @@
</item>
</style>
@ -422,7 +422,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
@@ -10853,6 +10853,16 @@ Please help our engineers fix this problem. Tell us what happened right before y
@@ -11012,6 +11012,16 @@ Please help our engineers fix this problem. Tell us what happened right before y
Never show this again.
</message>
@ -483,7 +483,7 @@ diff --git a/chrome/browser/browser_process.h b/chrome/browser/browser_process.h
namespace extensions {
class EventRouterForwarder;
}
@@ -238,6 +243,7 @@ class BrowserProcess {
@@ -242,6 +247,7 @@ class BrowserProcess {
#endif
virtual component_updater::ComponentUpdateService* component_updater() = 0;
@ -494,7 +494,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
@@ -1070,6 +1070,26 @@ BrowserProcessImpl::component_updater() {
@@ -1075,6 +1075,26 @@ BrowserProcessImpl::component_updater() {
return component_updater_.get();
}
@ -524,7 +524,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
@@ -200,6 +200,7 @@ class BrowserProcessImpl : public BrowserProcess,
@@ -204,6 +204,7 @@ class BrowserProcessImpl : public BrowserProcess,
#endif
component_updater::ComponentUpdateService* component_updater() override;
@ -532,7 +532,7 @@ 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;
@@ -386,6 +387,7 @@ class BrowserProcessImpl : public BrowserProcess,
@@ -390,6 +391,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_;
@ -543,7 +543,7 @@ diff --git a/chrome/browser/browser_process_impl.h b/chrome/browser/browser_proc
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
@@ -1649,6 +1649,8 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() {
@@ -1653,6 +1653,8 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() {
speech::SodaInstaller::GetInstance()->Init(profile_->GetPrefs(),
browser_process_->local_state());
#endif // !defined(OS_ANDROID) && !BUILDFLAG(IS_CHROMEOS_ASH)
@ -555,7 +555,7 @@ 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
@@ -61,7 +61,6 @@
@@ -62,7 +62,6 @@
#include "chrome/browser/hid/chrome_hid_delegate.h"
#include "chrome/browser/interstitials/enterprise_util.h"
#include "chrome/browser/lifetime/browser_shutdown.h"
@ -563,7 +563,7 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch
#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"
@@ -3916,16 +3915,6 @@ ChromeContentBrowserClient::CreateThrottlesForNavigation(
@@ -4091,16 +4090,6 @@ ChromeContentBrowserClient::CreateThrottlesForNavigation(
content::NavigationHandle* handle) {
std::vector<std::unique_ptr<content::NavigationThrottle>> throttles;
@ -580,7 +580,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),
@@ -4027,10 +4016,6 @@ ChromeContentBrowserClient::CreateThrottlesForNavigation(
@@ -4198,10 +4187,6 @@ ChromeContentBrowserClient::CreateThrottlesForNavigation(
&throttles);
#endif
@ -619,7 +619,7 @@ diff --git a/chrome/browser/flags/android/cached_feature_flags.cc b/chrome/brows
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
@@ -264,6 +264,14 @@ public class CachedFeatureFlags {
@@ -267,6 +267,14 @@ public class CachedFeatureFlags {
ChromeFeatureList.isEnabled(ChromeFeatureList.BACKGROUND_THREAD_POOL));
}
@ -634,7 +634,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.
*/
@@ -469,5 +477,7 @@ public class CachedFeatureFlags {
@@ -472,5 +480,7 @@ public class CachedFeatureFlags {
@NativeMethods
interface Natives {
boolean isNetworkServiceWarmUpEnabled();
@ -645,7 +645,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
@@ -348,6 +348,8 @@ SystemNetworkContextManager::SystemNetworkContextManager(
@@ -351,6 +351,8 @@ SystemNetworkContextManager::SystemNetworkContextManager(
SSLConfigServiceManager::CreateDefaultManager(local_state_)),
proxy_config_monitor_(local_state_),
stub_resolver_config_reader_(local_state_) {
@ -654,7 +654,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 =
@@ -418,6 +420,8 @@ SystemNetworkContextManager::~SystemNetworkContextManager() {
@@ -421,6 +423,8 @@ SystemNetworkContextManager::~SystemNetworkContextManager() {
void SystemNetworkContextManager::RegisterPrefs(PrefRegistrySimple* registry) {
StubResolverConfigReader::RegisterPrefs(registry);
@ -704,7 +704,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
@@ -2194,6 +2194,9 @@ const char kAudioCaptureAllowed[] = "hardware.audio_capture_enabled";
@@ -2221,6 +2221,9 @@ const char kAudioCaptureAllowed[] = "hardware.audio_capture_enabled";
// capture devices without prompt.
const char kAudioCaptureAllowedUrls[] = "hardware.audio_capture_allowed_urls";
@ -1528,7 +1528,7 @@ diff --git a/components/subresource_filter/content/browser/ruleset_service.cc b/
}
// Implements operations on a `sentinel file`, which is used as a safeguard to
@@ -228,10 +226,13 @@ RulesetService::RulesetService(
@@ -229,10 +227,13 @@ RulesetService::RulesetService(
RulesetService::~RulesetService() {}
void RulesetService::IndexAndStoreAndPublishRulesetIfNeeded(
@ -1544,7 +1544,7 @@ diff --git a/components/subresource_filter/content/browser/ruleset_service.cc b/
// Trying to store a ruleset with the same version for a second time would
// not only be futile, but would fail on Windows due to "File System
// Tunneling" as long as the previously stored copy of the rules is still
@@ -241,13 +242,16 @@ void RulesetService::IndexAndStoreAndPublishRulesetIfNeeded(
@@ -242,13 +243,16 @@ void RulesetService::IndexAndStoreAndPublishRulesetIfNeeded(
if (most_recently_indexed_version.IsCurrentFormatVersion() &&
most_recently_indexed_version.content_version ==
unindexed_ruleset_info.content_version) {
@ -1561,7 +1561,7 @@ diff --git a/components/subresource_filter/content/browser/ruleset_service.cc b/
return;
}
@@ -266,6 +270,18 @@ IndexedRulesetVersion RulesetService::GetMostRecentlyIndexedVersion() const {
@@ -267,6 +271,18 @@ IndexedRulesetVersion RulesetService::GetMostRecentlyIndexedVersion() const {
IndexedRulesetVersion RulesetService::IndexAndWriteRuleset(
const base::FilePath& indexed_ruleset_base_dir,
const UnindexedRulesetInfo& unindexed_ruleset_info) {
@ -1580,7 +1580,7 @@ diff --git a/components/subresource_filter/content/browser/ruleset_service.cc b/
base::ScopedBlockingCall scoped_blocking_call(FROM_HERE,
base::BlockingType::MAY_BLOCK);
@@ -273,6 +289,7 @@ IndexedRulesetVersion RulesetService::IndexAndWriteRuleset(
@@ -274,6 +290,7 @@ IndexedRulesetVersion RulesetService::IndexAndWriteRuleset(
unindexed_ruleset_info);
if (!unindexed_ruleset_stream_generator.ruleset_stream()) {
@ -1588,7 +1588,7 @@ diff --git a/components/subresource_filter/content/browser/ruleset_service.cc b/
RecordIndexAndWriteRulesetResult(
IndexAndWriteRulesetResult::FAILED_OPENING_UNINDEXED_RULESET);
return IndexedRulesetVersion();
@@ -286,6 +303,7 @@ IndexedRulesetVersion RulesetService::IndexAndWriteRuleset(
@@ -287,6 +304,7 @@ IndexedRulesetVersion RulesetService::IndexAndWriteRuleset(
indexed_ruleset_base_dir, indexed_version);
if (!base::CreateDirectory(indexed_ruleset_version_dir)) {
@ -1596,7 +1596,7 @@ diff --git a/components/subresource_filter/content/browser/ruleset_service.cc b/
RecordIndexAndWriteRulesetResult(
IndexAndWriteRulesetResult::FAILED_CREATING_VERSION_DIR);
return IndexedRulesetVersion();
@@ -311,6 +329,7 @@ IndexedRulesetVersion RulesetService::IndexAndWriteRuleset(
@@ -312,6 +330,7 @@ IndexedRulesetVersion RulesetService::IndexAndWriteRuleset(
RulesetIndexer indexer;
if (!(*g_index_ruleset_func)(&unindexed_ruleset_stream_generator, &indexer)) {
@ -1604,7 +1604,7 @@ diff --git a/components/subresource_filter/content/browser/ruleset_service.cc b/
RecordIndexAndWriteRulesetResult(
IndexAndWriteRulesetResult::FAILED_PARSING_UNINDEXED_RULESET);
return IndexedRulesetVersion();
@@ -331,6 +350,8 @@ IndexedRulesetVersion RulesetService::IndexAndWriteRuleset(
@@ -332,6 +351,8 @@ IndexedRulesetVersion RulesetService::IndexAndWriteRuleset(
if (result != IndexAndWriteRulesetResult::SUCCESS)
return IndexedRulesetVersion();
@ -1613,7 +1613,7 @@ diff --git a/components/subresource_filter/content/browser/ruleset_service.cc b/
DCHECK(indexed_version.IsValid());
return indexed_version;
}
@@ -455,6 +476,7 @@ void RulesetService::IndexAndStoreRuleset(
@@ -456,6 +477,7 @@ void RulesetService::IndexAndStoreRuleset(
void RulesetService::OnWrittenRuleset(WriteRulesetCallback result_callback,
const IndexedRulesetVersion& version) {
DCHECK(!result_callback.is_null());
@ -1621,7 +1621,7 @@ diff --git a/components/subresource_filter/content/browser/ruleset_service.cc b/
if (!version.IsValid())
return;
version.SaveToPrefs(local_state_);
@@ -467,7 +489,6 @@ void RulesetService::OpenAndPublishRuleset(
@@ -468,7 +490,6 @@ void RulesetService::OpenAndPublishRuleset(
IndexedRulesetLocator::GetRulesetDataFilePath(
IndexedRulesetLocator::GetSubdirectoryPathForVersion(
indexed_ruleset_base_dir_, version));
@ -1632,7 +1632,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
@@ -180,7 +180,7 @@ class RulesetService : public base::SupportsWeakPtr<RulesetService> {
@@ -184,7 +184,7 @@ class RulesetService : public base::SupportsWeakPtr<RulesetService> {
//
// Virtual so that it can be mocked out in tests.
virtual void IndexAndStoreAndPublishRulesetIfNeeded(
@ -1641,7 +1641,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;
@@ -213,6 +213,11 @@ class RulesetService : public base::SupportsWeakPtr<RulesetService> {
@@ -217,6 +217,11 @@ class RulesetService : public base::SupportsWeakPtr<RulesetService> {
const base::FilePath& indexed_ruleset_base_dir,
const UnindexedRulesetInfo& unindexed_ruleset_info);
@ -1691,8 +1691,8 @@ 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
@@ -54,69 +54,7 @@ class CommaSeparatedStrings {
DISALLOW_COPY_AND_ASSIGN(CommaSeparatedStrings);
@@ -55,69 +55,7 @@ class CommaSeparatedStrings {
const std::vector<base::StringPiece> pieces_;
};
-std::string TakeVariationParamOrReturnEmpty(
@ -1762,7 +1762,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 {
@@ -124,23 +62,16 @@ std::vector<Configuration> FillEnabledPresetConfigurations(
@@ -125,23 +63,16 @@ std::vector<Configuration> FillEnabledPresetConfigurations(
bool enabled_by_default;
Configuration (*factory_method)();
} kAvailablePresetConfigurations[] = {
@ -1788,7 +1788,7 @@ diff --git a/components/subresource_filter/core/browser/subresource_filter_featu
enabled_configurations.push_back(available_preset.factory_method());
}
}
@@ -148,46 +79,10 @@ std::vector<Configuration> FillEnabledPresetConfigurations(
@@ -149,46 +80,10 @@ std::vector<Configuration> FillEnabledPresetConfigurations(
return enabled_configurations;
}
@ -1862,7 +1862,7 @@ diff --git a/components/subresource_filter/core/common/indexed_ruleset.cc b/comp
diff --git a/content/browser/renderer_host/navigation_throttle_runner.cc b/content/browser/renderer_host/navigation_throttle_runner.cc
--- a/content/browser/renderer_host/navigation_throttle_runner.cc
+++ b/content/browser/renderer_host/navigation_throttle_runner.cc
@@ -180,11 +180,6 @@ void NavigationThrottleRunner::RegisterNavigationThrottles() {
@@ -184,11 +184,6 @@ void NavigationThrottleRunner::RegisterNavigationThrottles() {
// than other throttles that might care about those navigations, e.g.
// throttles handling pages with 407 errors that require extra authentication.
AddThrottle(HttpErrorNavigationThrottle::MaybeCreateThrottleFor(*request));

View file

@ -6,30 +6,26 @@ 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 | 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 | 30 ++-
.../browser/omaha/UpdateMenuItemHelper.java | 69 +++++-
.../browser/omaha/UpdateStatusProvider.java | 169 ++++++++++++---
.../chrome/browser/omaha/UpdateConfigs.java | 6 +-
.../browser/omaha/UpdateStatusProvider.java | 33 ++-
.../browser/omaha/VersionNumberGetter.java | 3 +-
.../inline/BromiteInlineUpdateController.java | 204 ++++++++++++++++++
.../omaha/inline/InlineUpdateController.java | 45 ++++
.../inline/InlineUpdateControllerFactory.java | 21 ++
.../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 +++
.../flags/android/chrome_feature_list.cc | 6 +-
.../flags/android/chrome_feature_list.h | 1 +
.../browser/flags/ChromeFeatureList.java | 1 +
.../strings/android_chrome_strings.grd | 20 +-
22 files changed, 811 insertions(+), 42 deletions(-)
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/android/java/src/org/chromium/chrome/browser/omaha/inline/InlineUpdateController.java
create mode 100644 chrome/android/java/src/org/chromium/chrome/browser/omaha/inline/InlineUpdateControllerFactory.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
@ -45,7 +41,7 @@ diff --git a/build/android/java/templates/BuildConfig.template b/build/android/j
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
@@ -1975,6 +1975,9 @@ if (enable_java_templates) {
@@ -1970,6 +1970,9 @@ if (enable_java_templates) {
]
}
}
@ -58,14 +54,12 @@ diff --git a/build/config/android/rules.gni b/build/config/android/rules.gni
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
@@ -882,6 +882,9 @@ chrome_java_sources = [
"java/src/org/chromium/chrome/browser/omaha/UpdateConfigs.java",
"java/src/org/chromium/chrome/browser/omaha/UpdateMenuItemHelper.java",
"java/src/org/chromium/chrome/browser/omaha/UpdateStatusProvider.java",
+ "java/src/org/chromium/chrome/browser/omaha/inline/InlineUpdateController.java",
+ "java/src/org/chromium/chrome/browser/omaha/inline/InlineUpdateControllerFactory.java",
@@ -892,6 +892,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/VersionNumberGetter.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
@ -219,208 +213,35 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/omaha/OmahaBase
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
@@ -11,6 +11,7 @@ import androidx.annotation.IntDef;
import androidx.annotation.Nullable;
import org.chromium.base.CommandLine;
+import org.chromium.chrome.browser.flags.ChromeFeatureList;
import org.chromium.chrome.browser.flags.ChromeSwitches;
import org.chromium.chrome.browser.omaha.UpdateStatusProvider.UpdateState;
import org.chromium.components.variations.VariationsAssociatedData;
@@ -37,10 +38,12 @@ public class UpdateConfigs {
private static final String UPDATE_AVAILABLE_SWITCH_VALUE = "update_available";
private static final String UNSUPPORTED_OS_VERSION_SWITCH_VALUE = "unsupported_os_version";
@@ -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. */
- @IntDef({UpdateFlowConfiguration.NEVER_SHOW, UpdateFlowConfiguration.INTENT_ONLY})
+ @IntDef({UpdateFlowConfiguration.NEVER_SHOW, UpdateFlowConfiguration.INTENT_ONLY,
+ UpdateFlowConfiguration.INLINE_ONLY})
@Retention(RetentionPolicy.SOURCE)
public @interface UpdateFlowConfiguration {
/** Turns off all update indicators. */
@@ -50,6 +53,12 @@ public class UpdateConfigs {
* Requires Omaha to say an update is available, and only ever Intents out to Play Store.
*/
int INTENT_ONLY = 2;
+
+ /**
+ * Requires both Omaha and Play Store to say an update is available. Only ever uses the
+ * inline update flow.
+ */
+ int INLINE_ONLY = 3;
}
/**
@@ -124,6 +133,13 @@ public class UpdateConfigs {
return DEFAULT_UPDATE_ATTRIBUTION_WINDOW_MS;
}
+ /**
+ * @return A time interval for scheduling update notification. Unit: mills.
+ */
+ public static long getUpdateNotificationInterval() {
+ return DEFAULT_UPDATE_NOTIFICATION_INTERVAL;
+ }
+
/**
* Gets a String VariationsAssociatedData parameter. Also checks for a command-line switch
* with the same name, for easy local testing.
@@ -139,4 +155,14 @@ public class UpdateConfigs {
}
return value;
@@ -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
+
+ @UpdateFlowConfiguration
+ 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.INLINE_ONLY;
+ }
+
+ return UpdateFlowConfiguration.NEVER_SHOW;
+ }
+}
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/omaha/UpdateMenuItemHelper.java b/chrome/android/java/src/org/chromium/chrome/browser/omaha/UpdateMenuItemHelper.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/omaha/UpdateMenuItemHelper.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/omaha/UpdateMenuItemHelper.java
@@ -22,6 +22,7 @@ import org.chromium.base.metrics.RecordHistogram;
import org.chromium.base.task.PostTask;
import org.chromium.base.task.TaskTraits;
import org.chromium.chrome.R;
+import org.chromium.chrome.browser.omaha.UpdateStatusProvider.UpdateInteractionSource;
import org.chromium.chrome.browser.omaha.UpdateStatusProvider.UpdateState;
import org.chromium.chrome.browser.omaha.UpdateStatusProvider.UpdateStatus;
import org.chromium.chrome.browser.preferences.Pref;
@@ -157,7 +158,7 @@ public class UpdateMenuItemHelper {
try {
UpdateStatusProvider.getInstance().startIntentUpdate(
- activity, false /* newTask */);
+ activity, UpdateInteractionSource.FROM_MENU, false /* newTask */);
recordItemClickedHistogram(ITEM_CLICKED_INTENT_LAUNCHED);
getPrefService().setBoolean(Pref.CLICKED_UPDATE_MENU_ITEM, true);
} catch (ActivityNotFoundException e) {
@@ -165,8 +166,22 @@ public class UpdateMenuItemHelper {
recordItemClickedHistogram(ITEM_CLICKED_INTENT_FAILED);
}
break;
+ case UpdateState.INLINE_UPDATE_AVAILABLE:
+ UpdateStatusProvider.getInstance().startInlineUpdate(
+ UpdateInteractionSource.FROM_MENU, activity);
+ break;
+ case UpdateState.INLINE_UPDATE_READY:
+ UpdateStatusProvider.getInstance().finishInlineUpdate(
+ UpdateInteractionSource.FROM_MENU);
+ break;
+ case UpdateState.INLINE_UPDATE_FAILED:
+ UpdateStatusProvider.getInstance().retryInlineUpdate(
+ UpdateInteractionSource.FROM_MENU, activity);
+ break;
case UpdateState.UNSUPPORTED_OS_VERSION:
// Intentional fall through.
+ case UpdateState.INLINE_UPDATE_DOWNLOADING:
+ // Intentional fall through.
default:
return;
}
@@ -268,6 +283,58 @@ public class UpdateMenuItemHelper {
mMenuUiState.itemState.icon = R.drawable.ic_error_24dp_filled;
mMenuUiState.itemState.enabled = false;
break;
+ case UpdateState.INLINE_UPDATE_AVAILABLE:
+ // The badge is hidden if the update menu item has been clicked until there is an
+ // even newer version of Chrome available.
+ showBadge |= !TextUtils.equals(
+ getPrefService().getString(
+ Pref.LATEST_VERSION_WHEN_CLICKED_UPDATE_MENU_ITEM),
+ mStatus.latestUnsupportedVersion);
+
+ if (showBadge) {
+ mMenuUiState.buttonState = new MenuButtonState();
+ mMenuUiState.buttonState.menuContentDescription =
+ R.string.accessibility_toolbar_btn_menu_update;
+ mMenuUiState.buttonState.darkBadgeIcon = R.drawable.badge_update_dark;
+ mMenuUiState.buttonState.lightBadgeIcon = R.drawable.badge_update_light;
+ }
+
+ mMenuUiState.itemState = new MenuItemState();
+ mMenuUiState.itemState.title = R.string.menu_update;
+ mMenuUiState.itemState.titleColorId = R.color.default_text_color_blue;
+ mMenuUiState.itemState.summary = UpdateConfigs.getCustomSummary();
+ if (TextUtils.isEmpty(mMenuUiState.itemState.summary)) {
+ mMenuUiState.itemState.summary =
+ resources.getString(R.string.menu_update_summary_default);
+ }
+ mMenuUiState.itemState.icon = R.drawable.ic_history_googblue_24dp;
+ mMenuUiState.itemState.iconTintId = R.color.default_icon_color_blue_light;
+ mMenuUiState.itemState.enabled = true;
+ break;
+ case UpdateState.INLINE_UPDATE_DOWNLOADING:
+ mMenuUiState.itemState = new MenuItemState();
+ mMenuUiState.itemState.title = R.string.menu_inline_update_downloading;
+ mMenuUiState.itemState.titleColorId = R.color.default_text_color_secondary;
+ break;
+ case UpdateState.INLINE_UPDATE_READY:
+ mMenuUiState.itemState = new MenuItemState();
+ mMenuUiState.itemState.title = R.string.menu_inline_update_ready;
+ mMenuUiState.itemState.titleColorId = R.color.default_text_color_blue;
+ mMenuUiState.itemState.summary =
+ resources.getString(R.string.menu_inline_update_ready_summary);
+ mMenuUiState.itemState.icon = R.drawable.infobar_chrome;
+ mMenuUiState.itemState.iconTintId = R.color.default_icon_color_blue_light;
+ mMenuUiState.itemState.enabled = true;
+ break;
+ case UpdateState.INLINE_UPDATE_FAILED:
+ mMenuUiState.itemState = new MenuItemState();
+ mMenuUiState.itemState.title = R.string.menu_inline_update_failed;
+ mMenuUiState.itemState.titleColorId = R.color.default_text_color_blue;
+ mMenuUiState.itemState.summary = resources.getString(R.string.try_again);
+ mMenuUiState.itemState.icon = R.drawable.ic_history_googblue_24dp;
+ mMenuUiState.itemState.iconTintId = R.color.default_icon_color_blue_light;
+ mMenuUiState.itemState.enabled = true;
+ break;
case UpdateState.NONE:
// Intentional fall through.
default:
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
@@ -4,6 +4,7 @@
package org.chromium.chrome.browser.omaha;
+import android.app.Activity;
import android.content.ActivityNotFoundException;
import android.content.Context;
import android.content.Intent;
@@ -16,7 +17,11 @@ import android.text.TextUtils;
import androidx.annotation.IntDef;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
+import androidx.annotation.VisibleForTesting;
+import org.chromium.base.ActivityState;
+import org.chromium.base.ApplicationStatus;
+import org.chromium.base.ApplicationStatus.ActivityStateListener;
import org.chromium.base.BuildInfo;
import org.chromium.base.Callback;
import org.chromium.base.ContextUtils;
@@ -26,6 +31,9 @@ import org.chromium.base.metrics.RecordHistogram;
import org.chromium.base.task.AsyncTask;
import org.chromium.base.task.AsyncTask.Status;
import org.chromium.base.task.PostTask;
+import org.chromium.chrome.browser.app.ChromeActivity;
+import org.chromium.chrome.browser.omaha.inline.InlineUpdateController;
+import org.chromium.chrome.browser.omaha.inline.InlineUpdateControllerFactory;
import org.chromium.chrome.browser.omaha.metrics.UpdateSuccessMetrics;
import org.chromium.chrome.browser.preferences.ChromePreferenceKeys;
import org.chromium.chrome.browser.preferences.SharedPreferencesManager;
@@ -36,28 +44,50 @@ import java.io.File;
@@ -45,6 +45,12 @@ import java.io.File;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
@ -433,230 +254,17 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/omaha/UpdateSta
/**
* Provides the current update state for Chrome. This update state is asynchronously determined and
* can change as Chrome runs.
*
* For manually testing this functionality, see {@link UpdateConfigs}.
*/
-public class UpdateStatusProvider {
+public class UpdateStatusProvider implements ActivityStateListener {
+ /**
+ * Possible sources of user interaction regarding updates.
+ * Treat this as append only as it is used by UMA.
+ */
+ @IntDef({UpdateInteractionSource.FROM_MENU, UpdateInteractionSource.FROM_INFOBAR,
+ UpdateInteractionSource.FROM_NOTIFICATION})
+ @Retention(RetentionPolicy.SOURCE)
+ public @interface UpdateInteractionSource {
+ int FROM_MENU = 0;
+ int FROM_INFOBAR = 1;
+ int FROM_NOTIFICATION = 2;
+
+ int NUM_ENTRIES = 3;
+ }
+
/**
* Possible update states.
* Treat this as append only as it is used by UMA.
*/
- @IntDef({UpdateState.NONE, UpdateState.UPDATE_AVAILABLE, UpdateState.UNSUPPORTED_OS_VERSION})
+ @IntDef({UpdateState.NONE, UpdateState.UPDATE_AVAILABLE, UpdateState.UNSUPPORTED_OS_VERSION,
+ UpdateState.INLINE_UPDATE_AVAILABLE, UpdateState.INLINE_UPDATE_DOWNLOADING,
+ UpdateState.INLINE_UPDATE_READY, UpdateState.INLINE_UPDATE_FAILED})
@Retention(RetentionPolicy.SOURCE)
public @interface UpdateState {
int NONE = 0;
int UPDATE_AVAILABLE = 1;
int UNSUPPORTED_OS_VERSION = 2;
- // Inline updates are deprecated.
- // int INLINE_UPDATE_AVAILABLE = 3;
- // int INLINE_UPDATE_DOWNLOADING = 4;
- // int INLINE_UPDATE_READY = 5;
- // int INLINE_UPDATE_FAILED = 6;
+ int INLINE_UPDATE_AVAILABLE = 3;
+ int INLINE_UPDATE_DOWNLOADING = 4;
+ int INLINE_UPDATE_READY = 5;
+ int INLINE_UPDATE_FAILED = 6;
int NUM_ENTRIES = 7;
}
@@ -93,6 +123,12 @@ public class UpdateStatusProvider {
*/
private boolean mIsSimulated;
+ /**
+ * Whether or not we are currently trying to simulate an inline flow. Used to allow
+ * overriding Omaha update state, which usually supersedes inline update states.
+ */
+ private boolean mIsInlineSimulated;
+
public UpdateStatus() {}
UpdateStatus(UpdateStatus other) {
@@ -101,11 +137,13 @@ public class UpdateStatusProvider {
latestVersion = other.latestVersion;
latestUnsupportedVersion = other.latestUnsupportedVersion;
mIsSimulated = other.mIsSimulated;
+ mIsInlineSimulated = other.mIsInlineSimulated;
}
}
private final ObserverList<Callback<UpdateStatus>> mObservers = new ObserverList<>();
+ private final InlineUpdateController mInlineController;
private final UpdateQuery mOmahaQuery;
private final UpdateSuccessMetrics mMetrics;
private @Nullable UpdateStatus mStatus;
@@ -173,19 +211,44 @@ public class UpdateStatusProvider {
pingObservers();
}
+ /**
+ * Starts the inline update process, if possible.
+ * @source The source of the action (the UI that caused it).
+ * @param activity An {@link Activity} that will be used to interact with Play.
+ */
+ public void startInlineUpdate(@UpdateInteractionSource int source, Activity activity) {
+ if (mStatus == null || mStatus.updateState != UpdateState.INLINE_UPDATE_AVAILABLE) return;
+ mInlineController.startUpdate(activity);
+ }
+
+ /**
+ * Retries the inline update process, if possible.
+ * @param activity An {@link Activity} that will be used to interact with Play.
+ */
+ public void retryInlineUpdate(@UpdateInteractionSource int source, Activity activity) {
+ if (mStatus == null || mStatus.updateState != UpdateState.INLINE_UPDATE_AVAILABLE) return;
+ mInlineController.startUpdate(activity);
+ }
+
+ /** Finishes the inline update process, which may involve restarting the app. */
+ public void finishInlineUpdate(@UpdateInteractionSource int source) {
+ if (mStatus == null || mStatus.updateState != UpdateState.INLINE_UPDATE_READY) return;
+ mInlineController.completeUpdate();
+ }
+
/**
* Starts the intent update process, if possible
* @param context An {@link Context} that will be used to fire off the update intent.
+ * @param source The source of the action (the UI that caused it).
* @param newTask Whether or not to make the intent a new task.
* @return Whether or not the update intent was sent and had a valid handler.
*/
- public boolean startIntentUpdate(Context context, boolean newTask) {
+ public boolean startIntentUpdate(
+ Context context, @UpdateInteractionSource int source, boolean newTask) {
if (mStatus == null || mStatus.updateState != UpdateState.UPDATE_AVAILABLE) return false;
if (TextUtils.isEmpty(mStatus.updateUrl)) return false;
try {
- mMetrics.startUpdate();
-
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(mStatus.updateUrl));
if (newTask) intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(intent);
@@ -196,9 +259,29 @@ public class UpdateStatusProvider {
return true;
}
+ // ApplicationStateListener implementation.
+ @Override
+ public void onActivityStateChange(Activity changedActivity, @ActivityState int newState) {
+ boolean hasActiveActivity = false;
+
+ for (Activity activity : ApplicationStatus.getRunningActivities()) {
+ if (activity == null || !(activity instanceof ChromeActivity)) continue;
+
+ hasActiveActivity |=
+ ApplicationStatus.getStateForActivity(activity) == ActivityState.RESUMED;
+ if (hasActiveActivity) break;
+ }
+
+ mInlineController.setEnabled(hasActiveActivity);
+ }
+
private UpdateStatusProvider() {
+ mInlineController = InlineUpdateControllerFactory.create(this::resolveStatus);
mOmahaQuery = new UpdateQuery(this::resolveStatus);
mMetrics = new UpdateSuccessMetrics();
+
+ // Note that as a singleton this class never unregisters.
+ ApplicationStatus.registerStateListenerForAllActivities(this);
}
private void pingObservers() {
@@ -206,27 +289,59 @@ public class UpdateStatusProvider {
}
private void resolveStatus() {
- if (mOmahaQuery.getStatus() != Status.FINISHED) {
+ if (mOmahaQuery.getStatus() != Status.FINISHED || mInlineController.getStatus() == null) {
return;
}
// We pull the Omaha result once as it will never change.
if (mStatus == null) mStatus = new UpdateStatus(mOmahaQuery.getResult());
- if (!mStatus.mIsSimulated) {
- mStatus.updateState = mOmahaQuery.getResult().updateState;
+ if (mStatus.mIsSimulated) {
+ if (mStatus.mIsInlineSimulated) {
+ @UpdateState
+ int inlineState = mInlineController.getStatus();
+
+ if (inlineState == UpdateState.NONE) {
+ mStatus.updateState = mOmahaQuery.getResult().updateState;
+ } else {
+ mStatus.updateState = inlineState;
+ }
+ }
+ } else {
+ @UpdateState
+ int omahaState = mOmahaQuery.getResult().updateState;
+ @UpdateState
+ int inlineState = mInlineController.getStatus();
+ mStatus.updateState = resolveOmahaAndInlineStatus(
+ UpdateConfigs.getConfiguration(), omahaState, inlineState);
}
if (!mRecordedInitialStatus) {
RecordHistogram.recordEnumeratedHistogram(
"GoogleUpdate.StartUp.State", mStatus.updateState, UpdateState.NUM_ENTRIES);
- mMetrics.analyzeFirstStatus();
mRecordedInitialStatus = true;
}
pingObservers();
}
+ @VisibleForTesting
+ static @UpdateState int resolveOmahaAndInlineStatus(
+ @UpdateConfigs.UpdateFlowConfiguration int configuration, @UpdateState int omahaState,
+ @UpdateState int inlineState) {
+ switch (configuration) {
+ case UpdateConfigs.UpdateFlowConfiguration.NEVER_SHOW:
+ return UpdateState.NONE;
+ case UpdateConfigs.UpdateFlowConfiguration.INLINE_ONLY:
@@ -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.INTENT_ONLY: // Intentional fall through.
+ default:
+ // Fall back to use Omaha only and use the old flow.
+ return omahaState;
+ }
+ }
+
private static final class LazyHolder {
private static final UpdateStatusProvider INSTANCE = new UpdateStatusProvider();
}
@@ -268,6 +383,8 @@ public class UpdateStatusProvider {
status.mIsSimulated = true;
status.updateState = forcedUpdateState;
+ status.mIsInlineSimulated = forcedUpdateState == UpdateState.INLINE_UPDATE_AVAILABLE;
+
// Push custom configurations for certain update states.
switch (forcedUpdateState) {
case UpdateState.UPDATE_AVAILABLE:
@@ -287,24 +404,12 @@ public class UpdateStatusProvider {
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();
@ -909,82 +517,23 @@ new file mode 100644
+ PostTask.postTask(UiThreadTaskTraits.DEFAULT, mCallback);
+ }
+}
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/omaha/inline/InlineUpdateController.java b/chrome/android/java/src/org/chromium/chrome/browser/omaha/inline/InlineUpdateController.java
new file mode 100644
--- /dev/null
+++ b/chrome/android/java/src/org/chromium/chrome/browser/omaha/inline/InlineUpdateController.java
@@ -0,0 +1,45 @@
+// 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.omaha.inline;
+
+import android.app.Activity;
+import android.content.Intent;
+
+import androidx.annotation.Nullable;
+
+import org.chromium.chrome.browser.omaha.UpdateStatusProvider;
+
+/**
+ * Helper for gluing interactions with the Play store's AppUpdateManager with Chrome. This
+ * involves hooking up to Play as a listener for install state changes, should only happen if we are
+ * in the foreground.
+ */
+public interface InlineUpdateController {
+ /**
+ * Enables or disables the controller.
+ * @param enabled true iff the controller should be enabled.
+ */
+ void setEnabled(boolean enabled);
+
+ /**
+ * @return The current state of the inline update process. May be {@code null} if the state
+ * hasn't been determined yet.
+ */
+ @Nullable
+ @UpdateStatusProvider.UpdateState
+ Integer getStatus();
+
+ /**
+ * Starts the update, if possible. This will send an {@link Intent} out to play, which may
+ * cause Chrome to move to the background.
+ * @param activity The {@link Activity} to use to interact with Play.
+ */
+ void startUpdate(Activity activity);
+
+ /**
+ * Completes the Play installation process, if possible. This may cause Chrome to restart.
+ */
+ void completeUpdate();
+}
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
new file mode 100644
--- /dev/null
--- 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
@@ -0,0 +1,21 @@
+// 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.omaha.inline;
+
+import org.chromium.base.ContextUtils;
+import org.chromium.chrome.browser.flags.ChromeFeatureList;
+import org.chromium.chrome.browser.omaha.UpdateConfigs;
+
+/**
+ * A factory that creates an {@link InlineUpdateController} instance.
+ */
+public class InlineUpdateControllerFactory {
+ /**
+ * @return A new {@link InlineUpdateController}.
+ */
+ public static InlineUpdateController create(Runnable callback) {
+ return new BromiteInlineUpdateController(callback);
+ }
+}
@@ -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
@ -1042,7 +591,7 @@ diff --git a/chrome/browser/endpoint_fetcher/endpoint_fetcher.cc b/chrome/browse
EndpointFetcher::~EndpointFetcher() = default;
void EndpointFetcher::Fetch(EndpointFetcherCallback endpoint_fetcher_callback) {
@@ -304,6 +322,77 @@ std::string EndpointFetcher::GetUrlForTesting() {
@@ -292,6 +310,77 @@ std::string EndpointFetcher::GetUrlForTesting() {
return url_.spec();
}
@ -1066,7 +615,7 @@ diff --git a/chrome/browser/endpoint_fetcher/endpoint_fetcher.cc b/chrome/browse
+ simple_url_loader_ = network::SimpleURLLoader::Create(
+ std::move(resource_request), annotation_tag_);
+ simple_url_loader_->SetTimeoutDuration(
+ base::Milliseconds(timeout_ms_));
+ base::TimeDelta::FromMilliseconds(timeout_ms_));
+ simple_url_loader_->SetAllowHttpErrorResults(true);
+
+ if (!response_)
@ -1120,7 +669,7 @@ diff --git a/chrome/browser/endpoint_fetcher/endpoint_fetcher.cc b/chrome/browse
#if defined(OS_ANDROID)
namespace {
static void OnEndpointFetcherComplete(
@@ -320,6 +409,25 @@ static void OnEndpointFetcherComplete(
@@ -308,6 +397,25 @@ static void OnEndpointFetcherComplete(
base::android::AttachCurrentThread(),
std::move(endpoint_response->response))));
}
@ -1146,7 +695,7 @@ diff --git a/chrome/browser/endpoint_fetcher/endpoint_fetcher.cc b/chrome/browse
} // namespace
// TODO(crbug.com/1077537) Create a KeyProvider so
@@ -409,4 +517,25 @@ static void JNI_EndpointFetcher_NativeFetchWithNoAuth(
@@ -397,4 +505,25 @@ static void JNI_EndpointFetcher_NativeFetchWithNoAuth(
nullptr);
}
@ -1175,7 +724,7 @@ diff --git a/chrome/browser/endpoint_fetcher/endpoint_fetcher.cc b/chrome/browse
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
@@ -15,6 +15,8 @@
@@ -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"
@ -1184,7 +733,7 @@ diff --git a/chrome/browser/endpoint_fetcher/endpoint_fetcher.h b/chrome/browser
namespace network {
struct ResourceRequest;
@@ -32,6 +34,8 @@ class Profile;
@@ -31,6 +33,8 @@ class Profile;
struct EndpointResponse {
std::string response;
@ -1193,7 +742,7 @@ diff --git a/chrome/browser/endpoint_fetcher/endpoint_fetcher.h b/chrome/browser
// TODO(crbug.com/993393) Add more detailed error messaging
};
@@ -78,6 +82,12 @@ class EndpointFetcher {
@@ -77,6 +81,12 @@ class EndpointFetcher {
const GURL& url,
const net::NetworkTrafficAnnotationTag& annotation_tag);
@ -1206,7 +755,7 @@ diff --git a/chrome/browser/endpoint_fetcher/endpoint_fetcher.h b/chrome/browser
// Used for tests. Can be used if caller constructs their own
// url_loader_factory and identity_manager.
EndpointFetcher(
@@ -118,6 +128,10 @@ class EndpointFetcher {
@@ -117,6 +127,10 @@ class EndpointFetcher {
std::string GetUrlForTesting();
@ -1217,7 +766,7 @@ diff --git a/chrome/browser/endpoint_fetcher/endpoint_fetcher.h b/chrome/browser
protected:
// Used for Mock only. see MockEndpointFetcher class.
explicit EndpointFetcher(
@@ -131,6 +145,10 @@ class EndpointFetcher {
@@ -130,6 +144,10 @@ class EndpointFetcher {
std::unique_ptr<std::string> response_body);
void OnSanitizationResult(EndpointFetcherCallback endpoint_fetcher_callback,
data_decoder::JsonSanitizer::Result result);
@ -1228,7 +777,7 @@ diff --git a/chrome/browser/endpoint_fetcher/endpoint_fetcher.h b/chrome/browser
enum AuthType { CHROME_API_KEY, OAUTH, NO_AUTH };
AuthType auth_type_;
@@ -138,7 +156,7 @@ class EndpointFetcher {
@@ -137,7 +155,7 @@ class EndpointFetcher {
// Members set in constructor to be passed to network::ResourceRequest or
// network::SimpleURLLoader.
const std::string oauth_consumer_name_;
@ -1237,7 +786,7 @@ diff --git a/chrome/browser/endpoint_fetcher/endpoint_fetcher.h b/chrome/browser
const std::string http_method_;
const std::string content_type_;
int64_t timeout_ms_;
@@ -158,6 +176,9 @@ class EndpointFetcher {
@@ -157,6 +175,9 @@ class EndpointFetcher {
access_token_fetcher_;
std::unique_ptr<network::SimpleURLLoader> simple_url_loader_;
@ -1310,55 +859,50 @@ new file mode 100644
+ 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
@@ -2079,7 +2079,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
@@ -3697,10 +3697,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
@@ -246,6 +246,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
&kNewWindowAppMenu,
&kOfflineIndicatorV2,
&kOfflineMeasurementsBackgroundTask,
+ &kInlineUpdateFlow,
&kPageAnnotationsService,
&kBookmarksImprovedSaveFlow,
&kBookmarksRefresh,
@@ -654,7 +655,10 @@ const base::Feature kIncognitoReauthenticationForAndroid{
"IncognitoReauthenticationForAndroid", base::FEATURE_DISABLED_BY_DEFAULT};
@@ -644,7 +644,7 @@ const base::Feature kIncognitoScreenshot{"IncognitoScreenshot",
base::FEATURE_DISABLED_BY_DEFAULT};
const base::Feature kIncognitoScreenshot{"IncognitoScreenshot",
- base::FEATURE_DISABLED_BY_DEFAULT};
+ base::FEATURE_ENABLED_BY_DEFAULT};
+
+const base::Feature kInlineUpdateFlow{"InlineUpdateFlow",
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/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
@@ -106,6 +106,7 @@ extern const base::Feature kImmersiveUiMode;
extern const base::Feature kIncognitoReauthenticationForAndroid;
extern const base::Feature kIncognitoScreenshot;
extern const base::Feature kImprovedA2HS;
+extern const base::Feature kInlineUpdateFlow;
extern const base::Feature kInstanceSwitcher;
extern const base::Feature kInstantStart;
extern const base::Feature kKitKatSupported;
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
@@ -361,6 +361,7 @@ public abstract class ChromeFeatureList {
public static final String INCOGNITO_REAUTHENTICATION_FOR_ANDROID =
"IncognitoReauthenticationForAndroid";
public static final String INCOGNITO_SCREENSHOT = "IncognitoScreenshot";
+ public static final String INLINE_UPDATE_FLOW = "InlineUpdateFlow";
public static final String INSTALLABLE_AMBIENT_BADGE_INFOBAR = "InstallableAmbientBadgeInfoBar";
public static final String INSTANCE_SWITCHER = "InstanceSwitcher";
public static final String INSTANT_START = "InstantStart";
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
@@ -1824,6 +1824,12 @@ Your Google account may have other forms of browsing history like searches and a
@@ -1704,6 +1704,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>
@ -1371,7 +915,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro
<!-- Account management UI strings. -->
<message name="IDS_ACCOUNT_MANAGEMENT_TITLE" desc="Header title for the account management screen. [CHAR_LIMIT=32]">
@@ -3344,7 +3350,7 @@ To change this setting, <ph name="BEGIN_LINK">&lt;resetlink&gt;</ph>reset sync<p
@@ -3220,7 +3226,7 @@ To change this setting, <ph name="BEGIN_LINK">&lt;resetlink&gt;</ph>reset sync<p
<!-- Main menu items -->
<message name="IDS_MENU_UPDATE" desc="Menu item for updating chrome. [CHAR_LIMIT=24]">
@ -1380,24 +924,6 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro
</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
@@ -3355,6 +3361,18 @@ To change this setting, <ph name="BEGIN_LINK">&lt;resetlink&gt;</ph>reset sync<p
<message name="IDS_MENU_UPDATE_UNSUPPORTED_SUMMARY_DEFAULT" desc="Summary string for update menu item explaining that the Android version on the device is unsupported. [CHAR_LIMIT=30]">
Android version is unsupported
</message>
+ <message name="IDS_MENU_INLINE_UPDATE_DOWNLOADING" desc="Menu item for when Chrome is in the process of updating. [CHAR_LIMIT=24]">
+ Downloading…
+ </message>
+ <message name="IDS_MENU_INLINE_UPDATE_FAILED" desc="Menu item for when Chrome failed to download an update. [CHAR_LIMIT=24]">
+ Couldnt download
+ </message>
+ <message name="IDS_MENU_INLINE_UPDATE_READY" desc="Menu item text that is shown when Chrome has downloaded an update for itself and is ready to be restarted, which will apply the update. [CHAR_LIMIT=24]">
+ Update ready
+ </message>
+ <message name="IDS_MENU_INLINE_UPDATE_READY_SUMMARY" desc="Summary text that is shown when Chrome has downloaded an update for itself and is ready to be restarted, which will apply the update. This lets the user know the update will restart. [CHAR_LIMIT=24]">
+ Restart Bromite
+ </message>
<message name="IDS_MENU_NEW_WINDOW" desc="Menu item for opening a new window. [CHAR_LIMIT=27]">
New window
</message>
--
2.25.1
--
2.20.1

View file

@ -12,10 +12,10 @@ 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
@@ -777,12 +777,13 @@ PeerConnectionDependencyFactory::CreatePortAllocator(
@@ -657,12 +657,13 @@ PeerConnectionDependencyFactory::CreatePortAllocator(
port_config.enable_nonproxied_udp = false;
break;
case kDefault:
case DEFAULT:
- port_config.enable_multiple_routes = true;
- port_config.enable_nonproxied_udp = true;
+ port_config.enable_multiple_routes = false;
@ -29,5 +29,6 @@ diff --git a/third_party/blink/renderer/modules/peerconnection/peer_connection_d
<< "policy: " << policy
<< ", multiple_routes: " << port_config.enable_multiple_routes
<< ", nonproxied_udp: " << port_config.enable_nonproxied_udp
--
2.25.1
--
2.20.1

View file

@ -10,7 +10,7 @@ Subject: Disable AGSA by default
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
@@ -629,7 +629,7 @@ const base::Feature kEnhancedProtectionPromoCard{
@@ -622,7 +622,7 @@ const base::Feature kEnhancedProtectionPromoCard{
"EnhancedProtectionPromoCard", base::FEATURE_DISABLED_BY_DEFAULT};
const base::Feature kExperimentsForAgsa{"ExperimentsForAgsa",
@ -31,5 +31,6 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f
.put(ChromeFeatureList.APP_MENU_MOBILE_SITE_OPTION, false)
.put(ChromeFeatureList.OPTIMIZATION_GUIDE_PUSH_NOTIFICATIONS, false)
.put(ChromeFeatureList.APP_TO_WEB_ATTRIBUTION, false)
--
2.25.1
--
2.20.1

View file

@ -26,7 +26,7 @@ diff --git a/chrome/android/java/res/xml/accessibility_preferences.xml b/chrome/
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
@@ -1413,6 +1413,12 @@ Your Google account may have other forms of browsing history like searches and a
@@ -1290,6 +1290,12 @@ Your Google account may have other forms of browsing history like searches and a
<message name="IDS_PREFS_ACCESSIBILITY" desc="Title of Accessibility settings, which allows the user to change webpage font sizes. [CHAR_LIMIT=32]">
Accessibility
</message>
@ -42,7 +42,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro
diff --git a/content/public/android/java/src/org/chromium/content/browser/accessibility/WebContentsAccessibilityImpl.java b/content/public/android/java/src/org/chromium/content/browser/accessibility/WebContentsAccessibilityImpl.java
--- a/content/public/android/java/src/org/chromium/content/browser/accessibility/WebContentsAccessibilityImpl.java
+++ b/content/public/android/java/src/org/chromium/content/browser/accessibility/WebContentsAccessibilityImpl.java
@@ -791,6 +791,11 @@ public class WebContentsAccessibilityImpl extends AccessibilityNodeProvider
@@ -774,6 +774,11 @@ public class WebContentsAccessibilityImpl extends AccessibilityNodeProvider
structure.setChildCount(0);
return;
}
@ -54,5 +54,6 @@ diff --git a/content/public/android/java/src/org/chromium/content/browser/access
structure.setChildCount(1);
final ViewStructure viewRoot = structure.asyncNewChild(0);
viewRoot.setClassName("");
--
2.25.1
--
2.20.1

View file

@ -28,7 +28,7 @@ Also added the disabling of blink features through the DisabledForBromite tag
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
@@ -2674,6 +2674,10 @@ bool ChromeContentBrowserClient::IsConversionMeasurementOperationAllowed(
@@ -2773,6 +2773,10 @@ bool ChromeContentBrowserClient::IsConversionMeasurementOperationAllowed(
const url::Origin* impression_origin,
const url::Origin* conversion_origin,
const url::Origin* reporting_origin) {
@ -42,7 +42,7 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch
diff --git a/chrome/browser/component_updater/floc_component_installer.cc b/chrome/browser/component_updater/floc_component_installer.cc
--- a/chrome/browser/component_updater/floc_component_installer.cc
+++ b/chrome/browser/component_updater/floc_component_installer.cc
@@ -18,7 +18,7 @@ namespace component_updater {
@@ -19,7 +19,7 @@ namespace component_updater {
// The extension id is: cmahhnpholdijhjokonmfdjbfmklppij
constexpr uint8_t kFlocComponentPublicKeySHA256[32] = {
0x2c, 0x07, 0x7d, 0xf7, 0xeb, 0x38, 0x97, 0x9e, 0xae, 0xdc, 0x53,
@ -51,9 +51,9 @@ diff --git a/chrome/browser/component_updater/floc_component_installer.cc b/chro
0x8f, 0x68, 0x3a, 0xf9, 0x21, 0x91, 0x9f, 0xc1, 0x84, 0xa1};
constexpr char kFlocComponentFetcherManifestName[] =
@@ -55,10 +55,6 @@ void FlocComponentInstallerPolicy::ComponentReady(
@@ -56,10 +56,6 @@ void FlocComponentInstallerPolicy::ComponentReady(
const base::FilePath& install_dir,
std::unique_ptr<base::DictionaryValue> manifest) {
base::Value manifest) {
DCHECK(!install_dir.empty());
-
- floc_sorting_lsh_clusters_service_->OnSortingLshClustersFileReady(
@ -62,7 +62,7 @@ diff --git a/chrome/browser/component_updater/floc_component_installer.cc b/chro
}
// Called during startup and installation before ComponentReady().
@@ -101,10 +97,6 @@ void RegisterFlocComponent(
@@ -102,10 +98,6 @@ void RegisterFlocComponent(
ComponentUpdateService* cus,
federated_learning::FlocSortingLshClustersService*
floc_sorting_lsh_clusters_service) {
@ -135,8 +135,8 @@ diff --git a/chrome/browser/federated_learning/floc_eligibility_observer.cc b/ch
}
void FlocEligibilityObserver::OnAdResource() {
@@ -84,17 +43,6 @@ FlocEligibilityObserver::FlocEligibilityObserver(content::RenderFrameHost* rfh)
: web_contents_(content::WebContents::FromRenderFrameHost(rfh)) {}
@@ -85,17 +44,6 @@ FlocEligibilityObserver::FlocEligibilityObserver(content::RenderFrameHost* rfh)
web_contents_(content::WebContents::FromRenderFrameHost(rfh)) {}
void FlocEligibilityObserver::OnOptInSignalObserved() {
- if (!eligible_commit_ || observed_opt_in_signal_)
@ -152,7 +152,7 @@ diff --git a/chrome/browser/federated_learning/floc_eligibility_observer.cc b/ch
- observed_opt_in_signal_ = true;
}
RENDER_DOCUMENT_HOST_USER_DATA_KEY_IMPL(FlocEligibilityObserver)
RENDER_DOCUMENT_HOST_USER_DATA_KEY_IMPL(FlocEligibilityObserver);
diff --git a/chrome/browser/federated_learning/floc_id_provider_impl.cc b/chrome/browser/federated_learning/floc_id_provider_impl.cc
--- a/chrome/browser/federated_learning/floc_id_provider_impl.cc
+++ b/chrome/browser/federated_learning/floc_id_provider_impl.cc
@ -171,7 +171,7 @@ diff --git a/chrome/browser/federated_learning/floc_id_provider_impl.cc b/chrome
diff --git a/chrome/browser/privacy_sandbox/privacy_sandbox_settings.cc b/chrome/browser/privacy_sandbox/privacy_sandbox_settings.cc
--- a/chrome/browser/privacy_sandbox/privacy_sandbox_settings.cc
+++ b/chrome/browser/privacy_sandbox/privacy_sandbox_settings.cc
@@ -182,6 +182,9 @@ PrivacySandboxSettings::PrivacySandboxSettings(
@@ -181,6 +181,9 @@ PrivacySandboxSettings::PrivacySandboxSettings(
// as default, privacy sandbox is disabled
pref_service_->SetBoolean(prefs::kPrivacySandboxApisEnabled, false);
@ -181,7 +181,7 @@ diff --git a/chrome/browser/privacy_sandbox/privacy_sandbox_settings.cc b/chrome
// On first entering the privacy sandbox experiment, users may have the
// privacy sandbox disabled (or "reconciled") based on their current cookie
// settings (e.g. blocking 3P cookies). Depending on the state of the sync
@@ -301,7 +304,8 @@ bool PrivacySandboxSettings::IsFlocPrefEnabled() const {
@@ -300,7 +303,8 @@ bool PrivacySandboxSettings::IsFlocPrefEnabled() const {
}
void PrivacySandboxSettings::SetFlocPrefEnabled(bool enabled) const {
@ -191,7 +191,7 @@ diff --git a/chrome/browser/privacy_sandbox/privacy_sandbox_settings.cc b/chrome
base::RecordAction(base::UserMetricsAction(
enabled ? "Settings.PrivacySandbox.FlocEnabled"
: "Settings.PrivacySandbox.FlocDisabled"));
@@ -454,6 +458,7 @@ void PrivacySandboxSettings::MaybeReconcilePrivacySandboxPref() {
@@ -453,6 +457,7 @@ void PrivacySandboxSettings::MaybeReconcilePrivacySandboxPref() {
// this code could be eliminated in the future, as initially
// the feauture was tied to the cookies flag
pref_service_->SetBoolean(prefs::kPrivacySandboxApisEnabled, false);
@ -199,7 +199,7 @@ diff --git a/chrome/browser/privacy_sandbox/privacy_sandbox_settings.cc b/chrome
if((true))
return;
@@ -552,11 +557,8 @@ void PrivacySandboxSettings::ReconcilePrivacySandboxPref() {
@@ -551,11 +556,8 @@ void PrivacySandboxSettings::ReconcilePrivacySandboxPref() {
void PrivacySandboxSettings::SetFlocDataAccessibleFromNow(
bool reset_calculate_timer) const {
@ -232,7 +232,7 @@ diff --git a/components/federated_learning/features/features.cc b/components/fed
// If enabled, pages that had ad resources will be included in floc computation;
// otherwise, only pages that used the document.interestCohort API will be
@@ -27,19 +27,19 @@ const base::Feature kFlocIdComputedEventLogging{
@@ -27,18 +27,18 @@ const base::Feature kFlocIdComputedEventLogging{
// criteria.
const base::Feature kFlocPagesWithAdResourcesDefaultIncludedInFlocComputation{
"FlocPagesWithAdResourcesDefaultIncludedInFlocComputation",
@ -247,9 +247,8 @@ diff --git a/components/federated_learning/features/features.cc b/components/fed
- "FederatedLearningOfCohorts", base::FEATURE_DISABLED_BY_DEFAULT};
+ "FederatedLearningOfCohorts", base::FEATURE_DISABLED_BY_DEFAULT}; // guard this
constexpr base::FeatureParam<base::TimeDelta> kFlocIdScheduledUpdateInterval{
&kFederatedLearningOfCohorts, "update_interval",
- base::TimeDelta::FromDays(7)};
+ base::TimeDelta::FromDays(1)};
- &kFederatedLearningOfCohorts, "update_interval", base::Days(7)};
+ &kFederatedLearningOfCohorts, "update_interval", base::Days(1)};
constexpr base::FeatureParam<int> kFlocIdMinimumHistoryDomainSizeRequired{
- &kFederatedLearningOfCohorts, "minimum_history_domain_size_required", 3};
+ &kFederatedLearningOfCohorts, "minimum_history_domain_size_required", 99999};
@ -302,7 +301,7 @@ diff --git a/components/federated_learning/floc_id.cc b/components/federated_lea
diff --git a/components/history/core/browser/history_backend.cc b/components/history/core/browser/history_backend.cc
--- a/components/history/core/browser/history_backend.cc
+++ b/components/history/core/browser/history_backend.cc
@@ -463,18 +463,7 @@ void HistoryBackend::SetFlocAllowed(ContextID context_id,
@@ -462,18 +462,7 @@ void HistoryBackend::SetFlocAllowed(ContextID context_id,
if (!visit_id)
return;
@ -362,7 +361,7 @@ diff --git a/components/history/core/browser/url_row.h b/components/history/core
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
@@ -883,11 +883,11 @@ const base::Feature kDeclarativeShadowDOM{"DeclarativeShadowDOM",
@@ -883,11 +883,11 @@ const base::Feature kSendCnameAliasesToSubresourceFilterFromRenderer{
// API exposure will be disabled regardless of the OT config.
// (See https://github.com/WICG/floc.)
const base::Feature kInterestCohortAPIOriginTrial{
@ -374,12 +373,12 @@ diff --git a/third_party/blink/common/features.cc b/third_party/blink/common/fea
- "InterestCohortFeaturePolicy", base::FEATURE_DISABLED_BY_DEFAULT};
+ "InterestCohortFeaturePolicy", base::FEATURE_DISABLED_BY_DEFAULT}; // guard this
// Changes the default background color of the Text Fragment from
// bright yellow rgb(255, 255, 0) to light purple rgb(233, 210, 253)
const base::Feature kDisableDocumentDomainByDefault{
"DisableDocumentDomainByDefault", base::FEATURE_DISABLED_BY_DEFAULT};
diff --git a/third_party/blink/public/mojom/permissions_policy/permissions_policy_feature.mojom b/third_party/blink/public/mojom/permissions_policy/permissions_policy_feature.mojom
--- a/third_party/blink/public/mojom/permissions_policy/permissions_policy_feature.mojom
+++ b/third_party/blink/public/mojom/permissions_policy/permissions_policy_feature.mojom
@@ -126,11 +126,6 @@ enum PermissionsPolicyFeature {
@@ -125,11 +125,6 @@ enum PermissionsPolicyFeature {
// Controls access to screen capture via getDisplayMedia().
kDisplayCapture = 81,
@ -394,7 +393,7 @@ diff --git a/third_party/blink/public/mojom/permissions_policy/permissions_polic
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
@@ -6009,8 +6009,7 @@ ScriptPromise Document::interestCohort(ScriptState* script_state,
@@ -5998,8 +5998,7 @@ ScriptPromise Document::interestCohort(ScriptState* script_state,
return ScriptPromise();
}
@ -429,7 +428,7 @@ diff --git a/third_party/blink/renderer/core/dom/interest_cohort.idl b/third_par
diff --git a/third_party/blink/renderer/core/permissions_policy/permissions_policy_features.json5 b/third_party/blink/renderer/core/permissions_policy/permissions_policy_features.json5
--- a/third_party/blink/renderer/core/permissions_policy/permissions_policy_features.json5
+++ b/third_party/blink/renderer/core/permissions_policy/permissions_policy_features.json5
@@ -256,12 +256,6 @@
@@ -251,12 +251,6 @@
permissions_policy_name: "idle-detection",
depends_on: ["IdleDetection"],
},
@ -445,7 +444,7 @@ diff --git a/third_party/blink/renderer/core/permissions_policy/permissions_poli
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
@@ -1216,12 +1216,11 @@
@@ -1225,12 +1225,11 @@
},
{
name: "InterestCohortAPI",

View file

@ -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
@@ -851,7 +851,7 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator {
@@ -847,7 +847,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;
}
@@ -886,8 +886,8 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator {
@@ -882,8 +882,8 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator {
preferenceManager.writeBoolean(
ChromePreferenceKeys.PROMOS_SKIPPED_ON_FIRST_START, true);
}
@ -29,5 +29,6 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/Tab
}
private boolean maybeShowPromo() {
--
2.25.1
--
2.20.1

View file

@ -14,18 +14,18 @@ being sent and being saved to disk, although it is currently in uncalled code.
.../embedder_support/origin_trials/features.cc | 3 ++-
.../render_view_context_menu_base.cc | 3 ---
.../browser/android/navigation_handle_proxy.cc | 10 ----------
content/browser/conversions/conversion_host.cc | 8 --------
content/browser/conversions/conversion_host.h | 3 ---
.../conversions/conversion_host_utils.cc | 6 ++++++
.../conversion_network_sender_impl.cc | 17 ++++++++++-------
.../conversions/conversion_storage_sql.cc | 2 +-
.../navigation_controller_android.cc | 15 ---------------
.../attribution_reporting/attribution_host.cc | 8 --------
.../attribution_reporting/attribution_host.h | 3 ---
.../attribution_host_utils.cc | 6 ++++++
.../attribution_network_sender_impl.cc | 17 ++++++++++-------
.../attribution_storage_sql.cc | 2 +-
.../navigation_controller_android.cc | 16 ----------------
content/browser/storage_partition_impl.cc | 7 +------
.../browser/AttributionReporterImpl.java | 4 ----
content/public/browser/navigation_controller.cc | 1 -
third_party/blink/common/features.cc | 2 +-
.../platform/runtime_enabled_features.json5 | 13 +++++++++----
17 files changed, 32 insertions(+), 81 deletions(-)
17 files changed, 32 insertions(+), 82 deletions(-)
diff --git a/chrome/android/java/AndroidManifest.xml b/chrome/android/java/AndroidManifest.xml
--- a/chrome/android/java/AndroidManifest.xml
@ -67,7 +67,7 @@ diff --git a/chrome/browser/attribution_reporting/android/internal/java/src/org/
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
@@ -416,7 +416,7 @@ const base::Feature kAppMenuMobileSiteOption{"AppMenuMobileSiteOption",
@@ -426,7 +426,7 @@ const base::Feature kAppMenuMobileSiteOption{"AppMenuMobileSiteOption",
base::FEATURE_DISABLED_BY_DEFAULT};
const base::Feature kAppToWebAttribution{"AppToWebAttribution",
@ -113,7 +113,7 @@ diff --git a/content/browser/android/navigation_handle_proxy.cc b/content/browse
- std::vector<uint8_t> byte_vector;
- if (cpp_navigation_handle_->GetImpression()) {
- blink::mojom::ImpressionPtr impression =
- ConversionHost::MojoImpressionFromImpression(
- AttributionHost::MojoImpressionFromImpression(
- *cpp_navigation_handle_->GetImpression());
- byte_vector = blink::mojom::Impression::Serialize(&impression);
- impression_byte_buffer = base::android::ScopedJavaLocalRef<jobject>(
@ -123,15 +123,15 @@ diff --git a/content/browser/android/navigation_handle_proxy.cc b/content/browse
java_navigation_handle_ = Java_NavigationHandle_Constructor(
env, reinterpret_cast<jlong>(this),
url::GURLAndroid::FromNativeGURL(env, cpp_navigation_handle_->GetURL()),
diff --git a/content/browser/conversions/conversion_host.cc b/content/browser/conversions/conversion_host.cc
--- a/content/browser/conversions/conversion_host.cc
+++ b/content/browser/conversions/conversion_host.cc
@@ -400,14 +400,6 @@ void ConversionHost::BindReceiver(
diff --git a/content/browser/attribution_reporting/attribution_host.cc b/content/browser/attribution_reporting/attribution_host.cc
--- a/content/browser/attribution_reporting/attribution_host.cc
+++ b/content/browser/attribution_reporting/attribution_host.cc
@@ -417,14 +417,6 @@ void AttributionHost::BindReceiver(
conversion_host->receivers_.Bind(rfh, std::move(receiver));
}
-// static
-blink::mojom::ImpressionPtr ConversionHost::MojoImpressionFromImpression(
-blink::mojom::ImpressionPtr AttributionHost::MojoImpressionFromImpression(
- const blink::Impression& impression) {
- return blink::mojom::Impression::New(
- impression.conversion_destination, impression.reporting_origin,
@ -139,12 +139,12 @@ diff --git a/content/browser/conversions/conversion_host.cc b/content/browser/co
-}
-
// static
void ConversionHost::SetReceiverImplForTesting(ConversionHost* impl) {
void AttributionHost::SetReceiverImplForTesting(AttributionHost* impl) {
g_receiver_for_testing = impl;
diff --git a/content/browser/conversions/conversion_host.h b/content/browser/conversions/conversion_host.h
--- a/content/browser/conversions/conversion_host.h
+++ b/content/browser/conversions/conversion_host.h
@@ -58,9 +58,6 @@ class CONTENT_EXPORT ConversionHost
diff --git a/content/browser/attribution_reporting/attribution_host.h b/content/browser/attribution_reporting/attribution_host.h
--- a/content/browser/attribution_reporting/attribution_host.h
+++ b/content/browser/attribution_reporting/attribution_host.h
@@ -58,9 +58,6 @@ class CONTENT_EXPORT AttributionHost
const url::Origin& impression_origin,
const blink::Impression& impression);
@ -152,12 +152,12 @@ diff --git a/content/browser/conversions/conversion_host.h b/content/browser/con
- const blink::Impression& impression) WARN_UNUSED_RESULT;
-
// Overrides the target object to bind |receiver| to in BindReceiver().
static void SetReceiverImplForTesting(ConversionHost* impl);
static void SetReceiverImplForTesting(AttributionHost* impl);
diff --git a/content/browser/conversions/conversion_host_utils.cc b/content/browser/conversions/conversion_host_utils.cc
--- a/content/browser/conversions/conversion_host_utils.cc
+++ b/content/browser/conversions/conversion_host_utils.cc
@@ -18,6 +18,8 @@
diff --git a/content/browser/attribution_reporting/attribution_host_utils.cc b/content/browser/attribution_reporting/attribution_host_utils.cc
--- a/content/browser/attribution_reporting/attribution_host_utils.cc
+++ b/content/browser/attribution_reporting/attribution_host_utils.cc
@@ -19,6 +19,8 @@
#include "url/gurl.h"
#include "url/origin.h"
@ -165,8 +165,8 @@ diff --git a/content/browser/conversions/conversion_host_utils.cc b/content/brow
+
namespace content {
namespace conversion_host_utils {
@@ -77,6 +79,10 @@ absl::optional<blink::Impression> ParseImpressionFromApp(
namespace attribution_host_utils {
@@ -79,6 +81,10 @@ absl::optional<blink::Impression> ParseImpressionFromApp(
// Java API should have rejected these already.
DCHECK(!source_event_id.empty() && !destination.empty());
@ -177,10 +177,10 @@ diff --git a/content/browser/conversions/conversion_host_utils.cc b/content/brow
blink::Impression impression;
if (!base::StringToUint64(source_event_id, &impression.impression_data))
return absl::nullopt;
diff --git a/content/browser/conversions/conversion_network_sender_impl.cc b/content/browser/conversions/conversion_network_sender_impl.cc
--- a/content/browser/conversions/conversion_network_sender_impl.cc
+++ b/content/browser/conversions/conversion_network_sender_impl.cc
@@ -144,13 +144,9 @@ void ConversionNetworkSenderImpl::SendReport(ConversionReport report,
diff --git a/content/browser/attribution_reporting/attribution_network_sender_impl.cc b/content/browser/attribution_reporting/attribution_network_sender_impl.cc
--- a/content/browser/attribution_reporting/attribution_network_sender_impl.cc
+++ b/content/browser/attribution_reporting/attribution_network_sender_impl.cc
@@ -146,13 +146,9 @@ void AttributionNetworkSenderImpl::SendReport(
LogMetricsOnReportSend(report);
@ -188,7 +188,7 @@ diff --git a/content/browser/conversions/conversion_network_sender_impl.cc b/con
- // deleted before |this|.
- simple_url_loader_ptr->DownloadHeadersOnly(
- url_loader_factory_.get(),
- base::BindOnce(&ConversionNetworkSenderImpl::OnReportSent,
- base::BindOnce(&AttributionNetworkSenderImpl::OnReportSent,
- base::Unretained(this), std::move(it), std::move(report),
- std::move(sent_callback)));
+ // this code is never called but if it were, nothing would be sent
@ -196,9 +196,9 @@ diff --git a/content/browser/conversions/conversion_network_sender_impl.cc b/con
+ nullptr);
}
void ConversionNetworkSenderImpl::SetURLLoaderFactoryForTesting(
@@ -163,6 +159,13 @@ void ConversionNetworkSenderImpl::OnReportSent(
ConversionReport report,
void AttributionNetworkSenderImpl::SetURLLoaderFactoryForTesting(
@@ -165,6 +161,13 @@ void AttributionNetworkSenderImpl::OnReportSent(
AttributionReport report,
ReportSentCallback sent_callback,
scoped_refptr<net::HttpResponseHeaders> headers) {
+ if ((true)) {
@ -211,22 +211,22 @@ diff --git a/content/browser/conversions/conversion_network_sender_impl.cc b/con
network::SimpleURLLoader* loader = it->get();
// Consider a non-200 HTTP code as a non-internal error.
diff --git a/content/browser/conversions/conversion_storage_sql.cc b/content/browser/conversions/conversion_storage_sql.cc
--- a/content/browser/conversions/conversion_storage_sql.cc
+++ b/content/browser/conversions/conversion_storage_sql.cc
@@ -227,7 +227,7 @@ void ConversionStorageSql::RunInMemoryForTesting() {
diff --git a/content/browser/attribution_reporting/attribution_storage_sql.cc b/content/browser/attribution_reporting/attribution_storage_sql.cc
--- a/content/browser/attribution_reporting/attribution_storage_sql.cc
+++ b/content/browser/attribution_reporting/attribution_storage_sql.cc
@@ -239,7 +239,7 @@ void AttributionStorageSql::RunInMemoryForTesting() {
}
// static
-bool ConversionStorageSql::g_run_in_memory_ = false;
+bool ConversionStorageSql::g_run_in_memory_ = true; // use in-memory db
-bool AttributionStorageSql::g_run_in_memory_ = false;
+bool AttributionStorageSql::g_run_in_memory_ = true;
ConversionStorageSql::ConversionStorageSql(
AttributionStorageSql::AttributionStorageSql(
const base::FilePath& path_to_database,
diff --git a/content/browser/renderer_host/navigation_controller_android.cc b/content/browser/renderer_host/navigation_controller_android.cc
--- a/content/browser/renderer_host/navigation_controller_android.cc
+++ b/content/browser/renderer_host/navigation_controller_android.cc
@@ -316,21 +316,6 @@ void NavigationControllerAndroid::LoadUrl(
@@ -318,22 +318,6 @@ void NavigationControllerAndroid::LoadUrl(
if (input_start != 0)
params.input_start = base::TimeTicks::FromUptimeMillis(input_start);
@ -237,7 +237,7 @@ diff --git a/content/browser/renderer_host/navigation_controller_android.cc b/co
- params.initiator_origin = OriginFromAndroidPackageName(
- ConvertJavaStringToUTF8(env, source_package_name));
-
- params.impression = conversion_host_utils::ParseImpressionFromApp(
- params.impression = attribution_host_utils::ParseImpressionFromApp(
- ConvertJavaStringToUTF8(env, attribution_source_event_id),
- ConvertJavaStringToUTF8(env, attribution_destination),
- attribution_report_to
@ -245,13 +245,14 @@ diff --git a/content/browser/renderer_host/navigation_controller_android.cc b/co
- : "",
- attribution_expiry);
- }
-
params.override_user_agent = static_cast<NavigationController::UserAgentOverrideOption>(
user_agent_override_option);
diff --git a/content/browser/storage_partition_impl.cc b/content/browser/storage_partition_impl.cc
--- a/content/browser/storage_partition_impl.cc
+++ b/content/browser/storage_partition_impl.cc
@@ -1338,12 +1338,7 @@ void StoragePartitionImpl::Initialize(
@@ -1299,12 +1299,7 @@ void StoragePartitionImpl::Initialize(
bucket_context_ = base::MakeRefCounted<BucketContext>();
bucket_context_->Initialize();
@ -263,7 +264,7 @@ diff --git a/content/browser/storage_partition_impl.cc b/content/browser/storage
- }
+ // The Conversion Measurement API is not available in Bromite.
if (base::FeatureList::IsEnabled(blink::features::kFledgeInterestGroups)) {
if (base::FeatureList::IsEnabled(blink::features::kInterestGroupStorage)) {
interest_group_manager_ = std::make_unique<InterestGroupManager>(
diff --git a/content/public/android/java/src/org/chromium/content/browser/AttributionReporterImpl.java b/content/public/android/java/src/org/chromium/content/browser/AttributionReporterImpl.java
--- a/content/public/android/java/src/org/chromium/content/browser/AttributionReporterImpl.java
@ -300,7 +301,7 @@ diff --git a/content/public/browser/navigation_controller.cc b/content/public/br
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
@@ -32,7 +32,7 @@ const base::Feature kCSSContainerQueries{"CSSContainerQueries",
@@ -37,7 +37,7 @@ const base::Feature kCSSContainerQueries{"CSSContainerQueries",
// Controls whether the Conversion Measurement API infrastructure is enabled.
const base::Feature kConversionMeasurement{"ConversionMeasurement",
@ -326,7 +327,7 @@ diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5
{
name: "Accelerated2dCanvas",
settable_from_internals: true,
@@ -463,13 +470,11 @@
@@ -474,13 +481,11 @@
},
{
name: "ConversionMeasurement",

View file

@ -50,7 +50,7 @@ diff --git a/android_webview/nonembedded/java/src/org/chromium/android_webview/s
diff --git a/chrome/browser/metrics/chrome_metrics_services_manager_client.cc b/chrome/browser/metrics/chrome_metrics_services_manager_client.cc
--- a/chrome/browser/metrics/chrome_metrics_services_manager_client.cc
+++ b/chrome/browser/metrics/chrome_metrics_services_manager_client.cc
@@ -174,6 +174,8 @@ ChromeMetricsServicesManagerClient::~ChromeMetricsServicesManagerClient() {}
@@ -186,6 +186,8 @@ ChromeMetricsServicesManagerClient::GetMetricsStateManagerForTesting() {
void ChromeMetricsServicesManagerClient::CreateFallbackSamplingTrial(
version_info::Channel channel,
base::FeatureList* feature_list) {
@ -147,8 +147,8 @@ diff --git a/components/variations/net/omnibox_http_headers.cc b/components/vari
diff --git a/components/variations/net/variations_http_headers.cc b/components/variations/net/variations_http_headers.cc
--- a/components/variations/net/variations_http_headers.cc
+++ b/components/variations/net/variations_http_headers.cc
@@ -235,6 +235,9 @@ class VariationsHeaderHelper {
}
@@ -238,6 +238,9 @@ class VariationsHeaderHelper {
VariationsHeaderHelper& operator=(const VariationsHeaderHelper&) = delete;
bool AppendHeaderIfNeeded(const GURL& url, InIncognito incognito) {
+ if((true))
@ -160,7 +160,7 @@ diff --git a/components/variations/net/variations_http_headers.cc b/components/v
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
@@ -263,8 +263,8 @@ bool VariationsFieldTrialCreator::SetupFieldTrials(
@@ -271,8 +271,8 @@ bool VariationsFieldTrialCreator::SetupFieldTrials(
// instance is set.
feature_list->RegisterExtraFeatureOverrides(extra_overrides);
@ -170,7 +170,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)) {
@@ -278,10 +278,12 @@ bool VariationsFieldTrialCreator::SetupFieldTrials(
@@ -286,10 +286,12 @@ bool VariationsFieldTrialCreator::SetupFieldTrials(
}
#endif // BUILDFLAG(FIELDTRIAL_TESTING_ENABLED)
bool used_seed = false;
@ -186,7 +186,7 @@ diff --git a/components/variations/service/variations_field_trial_creator.cc b/c
diff --git a/components/variations/service/variations_service.cc b/components/variations/service/variations_service.cc
--- a/components/variations/service/variations_service.cc
+++ b/components/variations/service/variations_service.cc
@@ -240,17 +240,8 @@ bool GetInstanceManipulations(const net::HttpResponseHeaders* headers,
@@ -238,17 +238,8 @@ bool GetInstanceManipulations(const net::HttpResponseHeaders* headers,
// Variations seed fetching is only enabled in official Chrome builds, if a URL
// is specified on the command line, and for testing.
bool IsFetchingEnabled() {
@ -206,7 +206,7 @@ diff --git a/components/variations/service/variations_service.cc b/components/va
}
std::unique_ptr<SeedResponse> MaybeImportFirstRunSeed(
@@ -610,7 +601,7 @@ bool VariationsService::DoFetchFromURL(const GURL& url, bool is_http_retry) {
@@ -608,7 +599,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.

View file

@ -11,8 +11,8 @@ Subject: Disable media router and remoting by default
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
@@ -41,26 +41,15 @@ const base::Feature kDialEnforceUrlIPAddress{"DialEnforceUrlIPAddress",
base::FEATURE_DISABLED_BY_DEFAULT};
@@ -37,26 +37,15 @@ const base::Feature kAllowAllSitesToInitiateMirroring{
"AllowAllSitesToInitiateMirroring", base::FEATURE_DISABLED_BY_DEFAULT};
#endif // !defined(OS_ANDROID)
-namespace {
@ -44,7 +44,7 @@ diff --git a/chrome/browser/media/router/media_router_feature.cc b/chrome/browse
#if !defined(OS_ANDROID)
if (!base::FeatureList::IsEnabled(kMediaRouter))
return false;
@@ -84,7 +73,7 @@ bool MediaRouterEnabled(content::BrowserContext* context) {
@@ -80,7 +69,7 @@ bool MediaRouterEnabled(content::BrowserContext* context) {
return allowed;
}
return true;
@ -56,7 +56,7 @@ diff --git a/chrome/browser/media/router/media_router_feature.cc b/chrome/browse
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
@@ -359,7 +359,7 @@ void Profile::RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry) {
@@ -358,7 +358,7 @@ void Profile::RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry) {
media_router::prefs::kMediaRouterEnableCloudServices, false,
user_prefs::PrefRegistrySyncable::SYNCABLE_PREF);
registry->RegisterBooleanPref(
@ -77,5 +77,6 @@ diff --git a/chrome/browser/profiles/profile_impl.cc b/chrome/browser/profiles/p
#if !defined(OS_ANDROID)
registry->RegisterBooleanPref(prefs::kShowCastIconInToolbar, false);
#endif // !defined(OS_ANDROID)
--
2.25.1
--
2.20.1

View file

@ -3,15 +3,14 @@ Date: Wed, 20 Feb 2019 21:41:26 +0100
Subject: Disable metrics collection for NTP tiles
---
.../android/ntp/most_visited_sites_bridge.cc | 17 -----------------
components/ntp_tiles/BUILD.gn | 3 ---
components/ntp_tiles/most_visited_sites.cc | 2 --
3 files changed, 22 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
+++ b/chrome/browser/android/ntp/most_visited_sites_bridge.cc
@@ -26,7 +26,6 @@
@@ -25,7 +25,6 @@
#include "chrome/browser/profiles/profile_android.h"
#include "components/favicon_base/favicon_types.h"
#include "components/history/core/browser/history_service.h"
@ -19,7 +18,7 @@ diff --git a/chrome/browser/android/ntp/most_visited_sites_bridge.cc b/chrome/br
#include "components/ntp_tiles/most_visited_sites.h"
#include "components/ntp_tiles/section_type.h"
#include "ui/gfx/android/java_bitmap.h"
@@ -46,7 +45,6 @@ using ntp_tiles::NTPTilesVector;
@@ -45,7 +44,6 @@ using ntp_tiles::NTPTilesVector;
using ntp_tiles::SectionType;
using ntp_tiles::TileTitleSource;
using ntp_tiles::TileSource;
@ -27,7 +26,7 @@ diff --git a/chrome/browser/android/ntp/most_visited_sites_bridge.cc b/chrome/br
namespace {
@@ -233,7 +231,6 @@ void MostVisitedSitesBridge::RecordPageImpression(
@@ -232,7 +230,6 @@ void MostVisitedSitesBridge::RecordPageImpression(
JNIEnv* env,
const JavaParamRef<jobject>& obj,
jint jtiles_count) {
@ -35,23 +34,23 @@ diff --git a/chrome/browser/android/ntp/most_visited_sites_bridge.cc b/chrome/br
}
void MostVisitedSitesBridge::RecordTileImpression(
@@ -245,15 +242,6 @@ void MostVisitedSitesBridge::RecordTileImpression(
@@ -244,6 +241,7 @@ void MostVisitedSitesBridge::RecordTileImpression(
jint jtitle_source,
jint jsource,
const JavaParamRef<jobject>& jurl) {
- std::unique_ptr<GURL> url = url::GURLAndroid::ToNativeGURL(env, jurl);
- TileTitleSource title_source = static_cast<TileTitleSource>(jtitle_source);
- TileSource source = static_cast<TileSource>(jsource);
- TileVisualType visual_type = static_cast<TileVisualType>(jvisual_type);
- favicon_base::IconType icon_type =
- static_cast<favicon_base::IconType>(jicon_type);
-
- ntp_tiles::metrics::RecordTileImpression(ntp_tiles::NTPTileImpression(
- jindex, source, title_source, visual_type, icon_type, *url));
+#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);
@@ -253,6 +251,7 @@ void MostVisitedSitesBridge::RecordTileImpression(
ntp_tiles::metrics::RecordTileImpression(ntp_tiles::NTPTileImpression(
jindex, source, title_source, visual_type, icon_type, *url));
+#endif
}
void MostVisitedSitesBridge::RecordOpenedMostVisitedItem(
@@ -263,11 +251,6 @@ void MostVisitedSitesBridge::RecordOpenedMostVisitedItem(
@@ -262,11 +261,6 @@ void MostVisitedSitesBridge::RecordOpenedMostVisitedItem(
jint tile_type,
jint title_source,
jint source) {
@ -66,7 +65,7 @@ diff --git a/chrome/browser/android/ntp/most_visited_sites_bridge.cc b/chrome/br
diff --git a/components/ntp_tiles/BUILD.gn b/components/ntp_tiles/BUILD.gn
--- a/components/ntp_tiles/BUILD.gn
+++ b/components/ntp_tiles/BUILD.gn
@@ -21,8 +21,6 @@ static_library("ntp_tiles") {
@@ -20,8 +20,6 @@ static_library("ntp_tiles") {
"icon_cacher.h",
"icon_cacher_impl.cc",
"icon_cacher_impl.h",
@ -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",
@@ -86,7 +84,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",
@ -83,17 +82,6 @@ diff --git a/components/ntp_tiles/BUILD.gn b/components/ntp_tiles/BUILD.gn
"most_visited_sites_unittest.cc",
"popular_sites_impl_unittest.cc",
]
diff --git a/components/ntp_tiles/most_visited_sites.cc b/components/ntp_tiles/most_visited_sites.cc
--- a/components/ntp_tiles/most_visited_sites.cc
+++ b/components/ntp_tiles/most_visited_sites.cc
@@ -724,8 +724,6 @@ void MostVisitedSites::SaveTilesAndNotify(
: new_tiles;
if (fixed_tiles.size() != new_tiles.size()) {
- metrics::RecordsMigratedDefaultAppDeleted(
- DeletedTileType::kMostVisitedSite);
}
if (!current_tiles_.has_value() || (*current_tiles_ != fixed_tiles)) {
current_tiles_.emplace(std::move(fixed_tiles));
--
2.25.1
--
2.20.1

View file

@ -9,7 +9,7 @@ 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
@@ -980,7 +980,7 @@ void BrowserProcessImpl::RegisterPrefs(PrefRegistrySimple* registry) {
@@ -989,7 +989,7 @@ void BrowserProcessImpl::RegisterPrefs(PrefRegistrySimple* registry) {
#endif // BUILDFLAG(IS_CHROMEOS_ASH)
registry->RegisterBooleanPref(metrics::prefs::kMetricsReportingEnabled,
@ -18,5 +18,6 @@ diff --git a/chrome/browser/browser_process_impl.cc b/chrome/browser/browser_pro
registry->RegisterBooleanPref(prefs::kDevToolsRemoteDebuggingAllowed, true);
}
--
2.25.1
--
2.20.1

View file

@ -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
@@ -1855,10 +1855,8 @@ WebContentSettingsClient* LocalFrame::GetContentSettingsClient() {
@@ -1871,10 +1871,8 @@ WebContentSettingsClient* LocalFrame::GetContentSettingsClient() {
}
PluginData* LocalFrame::GetPluginData() const {
@ -22,5 +22,6 @@ diff --git a/third_party/blink/renderer/core/frame/local_frame.cc b/third_party/
}
void LocalFrame::SetAdTrackerForTesting(AdTracker* ad_tracker) {
--
2.25.1
--
2.20.1

View file

@ -26,7 +26,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
@@ -72,7 +72,6 @@ public class PrivacySettings
@@ -73,7 +73,6 @@ 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";
@ -53,24 +53,19 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
Preference privacyReviewPreference = findPreference(PREF_PRIVACY_REVIEW);
if (!ChromeFeatureList.isEnabled(ChromeFeatureList.PRIVACY_REVIEW)) {
getPreferenceScreen().removePreference(privacyReviewPreference);
@@ -296,17 +283,11 @@ public class PrivacySettings
@@ -337,12 +324,6 @@ public class PrivacySettings
secureDnsPref.setSummary(SecureDnsSettings.getSummary(getContext()));
}
- Preference privacySandboxPreference = findPreference(PREF_PRIVACY_SANDBOX);
- if (privacySandboxPreference != null) {
ChromeSwitchPreference forceNoJit =
(ChromeSwitchPreference) findPreference(PREF_FORCE_NO_JIT);
forceNoJit.setOnPreferenceChangeListener(this);
forceNoJit.setManagedPreferenceDelegate(mManagedPreferenceDelegate);
- privacySandboxPreference.setSummary(
- PrivacySandboxSettingsFragment.getStatusString(getContext()));
- }
-
ChromeSwitchPreference historyInIncognitoPref =
(ChromeSwitchPreference) findPreference(PREF_INCOGNITO_TAB_HISTORY_ENABLED);
if (historyInIncognitoPref != null) {
ChromeSwitchPreference closeTabsOnExitPref =
(ChromeSwitchPreference) findPreference(PREF_CLOSE_TABS_ON_EXIT);
closeTabsOnExitPref.setOnPreferenceChangeListener(this);
diff --git a/chrome/browser/privacy_sandbox/privacy_sandbox_settings.cc b/chrome/browser/privacy_sandbox/privacy_sandbox_settings.cc
--- a/chrome/browser/privacy_sandbox/privacy_sandbox_settings.cc
+++ b/chrome/browser/privacy_sandbox/privacy_sandbox_settings.cc
@ -109,7 +104,7 @@ diff --git a/chrome/browser/privacy_sandbox/privacy_sandbox_settings.cc b/chrome
// On first entering the privacy sandbox experiment, users may have the
// privacy sandbox disabled (or "reconciled") based on their current cookie
// settings (e.g. blocking 3P cookies). Depending on the state of the sync
@@ -383,7 +370,8 @@ bool PrivacySandboxSettings::IsPrivacySandboxManaged() {
@@ -392,7 +379,8 @@ bool PrivacySandboxSettings::IsPrivacySandboxManaged() {
void PrivacySandboxSettings::SetPrivacySandboxEnabled(bool enabled) {
pref_service_->SetBoolean(prefs::kPrivacySandboxManuallyControlled, true);
@ -119,7 +114,7 @@ diff --git a/chrome/browser/privacy_sandbox/privacy_sandbox_settings.cc b/chrome
}
void PrivacySandboxSettings::OnCookiesCleared() {
@@ -437,6 +425,10 @@ bool PrivacySandboxSettings::IsPrivacySandboxAllowedForContext(
@@ -446,6 +434,10 @@ bool PrivacySandboxSettings::IsPrivacySandboxAllowedForContext(
const GURL& url,
const absl::optional<url::Origin>& top_frame_origin,
const ContentSettingsForOneType& cookie_settings) const {
@ -130,7 +125,7 @@ diff --git a/chrome/browser/privacy_sandbox/privacy_sandbox_settings.cc b/chrome
if (!pref_service_->GetBoolean(prefs::kPrivacySandboxApisEnabled))
return false;
@@ -449,6 +441,12 @@ bool PrivacySandboxSettings::IsPrivacySandboxAllowedForContext(
@@ -458,6 +450,12 @@ bool PrivacySandboxSettings::IsPrivacySandboxAllowedForContext(
}
void PrivacySandboxSettings::MaybeReconcilePrivacySandboxPref() {
@ -143,5 +138,6 @@ diff --git a/chrome/browser/privacy_sandbox/privacy_sandbox_settings.cc b/chrome
// No need to reconcile preferences if it has already happened.
if (pref_service_->GetBoolean(prefs::kPrivacySandboxPreferencesReconciled)) {
LogPrivacySandboxState();
--
2.25.1
--
2.20.1

View file

@ -24,5 +24,6 @@ diff --git a/chrome/browser/ui/omnibox/chrome_omnibox_navigation_observer.cc b/c
}
ChromeOmniboxNavigationObserver::~ChromeOmniboxNavigationObserver() {
--
2.25.1
--
2.20.1

File diff suppressed because it is too large Load diff

View file

@ -27,10 +27,10 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/contextualsearc
import androidx.annotation.VisibleForTesting;
+import org.chromium.chrome.browser.flags.ChromeFeatureList;
import org.chromium.content_public.browser.SelectAroundCaretResult;
import org.chromium.content_public.browser.SelectionClient;
import org.chromium.content_public.browser.SelectionEventProcessor;
@@ -45,7 +46,8 @@ public class SelectionClientManager {
import org.chromium.content_public.browser.SelectionPopupController;
@@ -44,7 +45,8 @@ public class SelectionClientManager {
* @param webContents The {@link WebContents} that will show popups for this client.
*/
SelectionClientManager(WebContents webContents) {
@ -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
@@ -174,6 +174,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
@@ -182,6 +182,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
&kCCTClientDataHeader,
&kCCTExternalLinkHandling,
&kCCTIncognito,
+ &kChromeSmartSelection,
&kCCTIncognitoAvailableToThirdParty,
&kCCTNewDownloadTab,
&kCCTPostMessageAPI,
@@ -501,6 +502,9 @@ const base::Feature kChromeSharingHubLaunchAdjacent{
&kCCTRedirectPreconnect,
@@ -500,6 +501,9 @@ const base::Feature kChromeSharingHubLaunchAdjacent{
const base::Feature kChromeSurveyNextAndroid{"ChromeSurveyNextAndroid",
base::FEATURE_ENABLED_BY_DEFAULT};
@ -64,7 +64,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
@@ -50,6 +50,7 @@ extern const base::Feature kCCTResourcePrefetch;
@@ -49,6 +49,7 @@ extern const base::Feature kCCTResourcePrefetch;
extern const base::Feature kDontAutoHideBrowserControls;
extern const base::Feature kChromeShareLongScreenshot;
extern const base::Feature kChromeShareScreenshot;
@ -75,8 +75,8 @@ 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
@@ -241,6 +241,7 @@ public abstract class ChromeFeatureList {
public static final String CCT_NEW_DOWNLOAD_TAB = "CCTNewDownloadTab";
@@ -255,6 +255,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";
@ -86,7 +86,7 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f
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
@@ -840,7 +840,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
@@ -2144,6 +2144,21 @@
@@ -1975,6 +1975,21 @@
]
}
],
@ -120,5 +120,6 @@ diff --git a/testing/variations/fieldtrial_testing_config.json b/testing/variati
"ChromeStart": [
{
"platforms": [
--
2.25.1
--
2.20.1

View file

@ -9,23 +9,24 @@ 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
@@ -760,7 +760,7 @@ const base::Feature kSharedArrayBufferOnDesktop{
@@ -701,7 +701,7 @@ const base::Feature kSharedArrayBufferOnDesktop{
// Signed Exchange Reporting for distributors
// https://www.chromestatus.com/feature/5687904902840320
// https://www.chromestatus.com/features/5687904902840320
const base::Feature kSignedExchangeReportingForDistributors{
- "SignedExchangeReportingForDistributors", base::FEATURE_ENABLED_BY_DEFAULT};
+ "SignedExchangeReportingForDistributors", base::FEATURE_DISABLED_BY_DEFAULT};
// Subresource prefetching+loading via Signed HTTP Exchange
// https://www.chromestatus.com/feature/5126805474246656
@@ -770,7 +770,7 @@ const base::Feature kSignedExchangeSubresourcePrefetch{
// https://www.chromestatus.com/features/5126805474246656
@@ -711,7 +711,7 @@ const base::Feature kSignedExchangeSubresourcePrefetch{
// Origin-Signed HTTP Exchanges (for WebPackage Loading)
// https://www.chromestatus.com/feature/5745285984681984
// https://www.chromestatus.com/features/5745285984681984
const base::Feature kSignedHTTPExchange{"SignedHTTPExchange",
- base::FEATURE_ENABLED_BY_DEFAULT};
+ base::FEATURE_DISABLED_BY_DEFAULT};
// Whether to send a ping to the inner URL upon navigation or not.
const base::Feature kSignedHTTPExchangePingValidity{
--
2.25.1
--
2.20.1

View file

@ -4,79 +4,43 @@ Subject: Disable text fragments by default
Revert "[Text Fragment] Unflag fragment directive removal."
---
chrome/browser/about_flags.cc | 5 ++++
chrome/browser/flag-metadata.json | 5 ++++
chrome/browser/flag_descriptions.cc | 4 +++
chrome/browser/flag_descriptions.h | 3 ++
chrome/browser/about_flags.cc | 1 +
chrome/browser/flag-metadata.json | 2 +-
chrome/browser/ui/prefs/prefs_tab_helper.cc | 2 +-
content/child/runtime_features.cc | 2 +-
content/child/runtime_features.cc | 1 +
third_party/blink/common/features.cc | 2 +-
.../blink/renderer/core/dom/document.cc | 5 ++++
.../text_fragment_anchor_metrics_test.cc | 29 +++++++------------
.../platform/runtime_enabled_features.json5 | 3 +-
10 files changed, 36 insertions(+), 24 deletions(-)
8 files changed, 21 insertions(+), 24 deletions(-)
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
@@ -5360,6 +5360,11 @@ const FeatureEntry kFeatureEntries[] = {
FEATURE_VALUE_TYPE(chrome::android::kCCTResizableForThirdParties)},
#endif
@@ -5541,6 +5541,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
+ {"enable-text-fragment-anchor",
+ flag_descriptions::kEnableTextFragmentAnchorName,
+ flag_descriptions::kEnableTextFragmentAnchorDescription, kOsAll,
+ FEATURE_VALUE_TYPE(blink::features::kTextFragmentAnchor)},
+
#if BUILDFLAG(IS_CHROMEOS_ASH)
{"enforce-system-aec", flag_descriptions::kCrOSEnforceSystemAecName,
flag_descriptions::kCrOSEnforceSystemAecDescription, kOsCrOS,
{"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
@@ -2332,6 +2332,11 @@
// deep into the future to allow for experiments.
"expiry_milestone": 90
},
+ {
+ "name": "enable-text-fragment-anchor",
+ "owners": [ "bokan", "input-dev" ],
+ "expiry_milestone": -1
+ },
@@ -2961,7 +2961,7 @@
{
"name": "enable-new-download-api",
"owners": [ "sdefresne", "bling-flags@google.com" ],
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
@@ -1239,6 +1239,10 @@ const char kEnableRestrictedWebApisDescription[] =
"Enable the restricted web APIs for dev trial. This will be replaced with "
"permission policies to control the capabilities afterwards.";
+const char kEnableTextFragmentAnchorName[] = "Enable Text Fragment Anchor.";
+const char kEnableTextFragmentAnchorDescription[] =
+ "Enables scrolling to text specified in URL's fragment.";
+
const char kEnableUseZoomForDsfName[] =
"Use Blink's zoom for device scale factor.";
const char kEnableUseZoomForDsfDescription[] =
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
@@ -717,6 +717,9 @@ extern const char kEnableRestrictedWebApisDescription[];
extern const char kEnableSubresourceRedirectName[];
extern const char kEnableSubresourceRedirectDescription[];
+extern const char kEnableTextFragmentAnchorName[];
+extern const char kEnableTextFragmentAnchorDescription[];
+
extern const char kEnableUseZoomForDsfName[];
extern const char kEnableUseZoomForDsfDescription[];
extern const char kEnableUseZoomForDsfChoiceDefault[];
"name": "ev-details-in-page-info",
"owners": [ "cthomp" ],
- "expiry_milestone": 83
+ "expiry_milestone": -1
},
{
"name": "exo-gamepad-vibration",
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
@@ -355,7 +355,7 @@ void PrefsTabHelper::RegisterProfilePrefs(
@@ -360,7 +360,7 @@ void PrefsTabHelper::RegisterProfilePrefs(
prefs::kEnableReferrers,
!base::FeatureList::IsEnabled(features::kNoReferrers));
registry->RegisterBooleanPref(prefs::kEnableEncryptedMedia, true);
@ -88,33 +52,32 @@ 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
@@ -295,7 +295,7 @@ void SetRuntimeFeaturesFromChromiumFeatures() {
features::kSignedExchangeSubresourcePrefetch},
{wf::EnableSkipTouchEventFilter, blink::features::kSkipTouchEventFilter},
{wf::EnableSubresourceWebBundles, features::kSubresourceWebBundles},
- {wf::EnableTextFragmentAnchor, blink::features::kTextFragmentAnchor},
+ {wf::EnableTextFragmentAnchor, blink::features::kTextFragmentAnchor}, // will set the TextFragmentIdentifiers runtime feature
{wf::EnableCSSSelectorFragmentAnchor,
blink::features::kCssSelectorFragmentAnchor},
{wf::EnableBackfaceVisibilityInterop,
@@ -263,6 +263,7 @@ void SetRuntimeFeaturesFromChromiumFeatures() {
{wf::EnableMouseSubframeNoImplicitCapture,
features::kMouseSubframeNoImplicitCapture},
{wf::EnableNeverSlowMode, features::kNeverSlowMode},
+ // will set the TextFragmentIdentifiers runtime feature
{wf::EnableNotificationContentImage, features::kNotificationContentImage,
kSetOnlyIfOverridden},
{wf::EnableParseUrlProtocolHandler,
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
@@ -399,7 +399,7 @@ const base::Feature kStorageAccessAPI{"StorageAccessAPI",
@@ -387,7 +387,7 @@ const base::Feature kStorageAccessAPI{"StorageAccessAPI",
// Enable text snippets in URL fragments. https://crbug.com/919204.
const base::Feature kTextFragmentAnchor{"TextFragmentAnchor",
- base::FEATURE_ENABLED_BY_DEFAULT};
+ base::FEATURE_DISABLED_BY_DEFAULT};
// Enables CSS selector fragment anchors. https://crbug.com/1252460
const base::Feature kCssSelectorFragmentAnchor{
// File handling integration. https://crbug.com/829689
const base::Feature kFileHandlingAPI{"FileHandlingAPI",
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
@@ -4068,9 +4068,14 @@ void Document::SetURL(const KURL& url) {
TRACE_EVENT1("navigation", "Document::SetURL", "url",
new_url.GetString().Utf8());
@@ -4062,6 +4062,10 @@ void Document::SetURL(const KURL& url) {
}
}
+ // If text fragment identifiers are enabled, we strip the fragment directive
+ // from the URL fragment.
@ -122,15 +85,19 @@ diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink
+ if (RuntimeEnabledFeatures::TextFragmentIdentifiersEnabled(domWindow())) {
// Strip the fragment directive from the URL fragment. E.g. "#id:~:text=a"
// --> "#id". See https://github.com/WICG/scroll-to-text-fragment.
new_url = fragment_directive_->ConsumeFragmentDirective(new_url);
String fragment = new_url.FragmentIdentifier();
@@ -4075,6 +4079,7 @@ void Document::SetURL(const KURL& url) {
else
new_url.SetFragmentIdentifier(fragment.Substring(0, start_pos));
}
+ }
url_ = new_url;
UpdateBaseURL();
diff --git a/third_party/blink/renderer/core/fragment_directive/text_fragment_anchor_metrics_test.cc b/third_party/blink/renderer/core/fragment_directive/text_fragment_anchor_metrics_test.cc
--- a/third_party/blink/renderer/core/fragment_directive/text_fragment_anchor_metrics_test.cc
+++ b/third_party/blink/renderer/core/fragment_directive/text_fragment_anchor_metrics_test.cc
@@ -1251,34 +1251,25 @@ TEST_P(TextFragmentRelatedMetricTest, ElementIdSuccessFailureCounts) {
access_entry_from_url_ = nullptr;
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
@@ -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.
@ -178,7 +145,7 @@ diff --git a/third_party/blink/renderer/core/fragment_directive/text_fragment_an
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
@@ -2262,8 +2262,7 @@
@@ -2178,8 +2178,7 @@
},
{
name: "TextFragmentIdentifiers",
@ -188,5 +155,6 @@ diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5
},
{
name: "TextFragmentTapOpensContextMenu",
--
2.25.1
--
2.20.1

View file

@ -1,22 +0,0 @@
From: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Wed, 11 Oct 2017 22:50:10 +0200
Subject: Disable third-party cookies by default
---
components/content_settings/core/browser/cookie_settings.cc | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/components/content_settings/core/browser/cookie_settings.cc b/components/content_settings/core/browser/cookie_settings.cc
--- a/components/content_settings/core/browser/cookie_settings.cc
+++ b/components/content_settings/core/browser/cookie_settings.cc
@@ -63,7 +63,7 @@ void CookieSettings::RegisterProfilePrefs(
user_prefs::PrefRegistrySyncable* registry) {
registry->RegisterIntegerPref(
prefs::kCookieControlsMode,
- static_cast<int>(CookieControlsMode::kIncognitoOnly),
+ static_cast<int>(CookieControlsMode::kBlockThirdParty),
user_prefs::PrefRegistrySyncable::SYNCABLE_PREF);
}
--
2.25.1

View file

@ -9,10 +9,10 @@ Subject: Disable third-party origin trials
content/renderer/render_frame_impl.cc | 17 +----------------
.../shell/common/shell_origin_trial_policy.cc | 10 ++++------
.../renderer/core/loader/document_loader.cc | 17 -----------------
.../blink/renderer/core/loader/http_equiv.cc | 14 ++------------
.../core/origin_trials/origin_trial_context.cc | 12 +++---------
.../platform/runtime_enabled_features.json5 | 4 ++++
9 files changed, 19 insertions(+), 65 deletions(-)
.../blink/renderer/core/loader/http_equiv.cc | 16 ----------------
.../core/origin_trials/origin_trial_context.cc | 15 ++-------------
.../platform/runtime_enabled_features.json5 | 4 ----
9 files changed, 12 insertions(+), 77 deletions(-)
diff --git a/components/embedder_support/origin_trials/origin_trial_policy_impl.cc b/components/embedder_support/origin_trials/origin_trial_policy_impl.cc
--- a/components/embedder_support/origin_trials/origin_trial_policy_impl.cc
@ -43,7 +43,7 @@ diff --git a/components/embedder_support/origin_trials/origin_trial_policy_impl.
diff --git a/components/embedder_support/origin_trials/origin_trial_policy_impl.h b/components/embedder_support/origin_trials/origin_trial_policy_impl.h
--- a/components/embedder_support/origin_trials/origin_trial_policy_impl.h
+++ b/components/embedder_support/origin_trials/origin_trial_policy_impl.h
@@ -34,11 +34,11 @@ class OriginTrialPolicyImpl : public blink::OriginTrialPolicy {
@@ -35,11 +35,11 @@ class OriginTrialPolicyImpl : public blink::OriginTrialPolicy {
bool IsTokenDisabled(base::StringPiece token_signature) const override;
bool IsOriginSecure(const GURL& url) const override;
@ -59,7 +59,7 @@ diff --git a/components/embedder_support/origin_trials/origin_trial_policy_impl.
diff --git a/content/browser/renderer_host/navigation_request.cc b/content/browser/renderer_host/navigation_request.cc
--- a/content/browser/renderer_host/navigation_request.cc
+++ b/content/browser/renderer_host/navigation_request.cc
@@ -6705,7 +6705,6 @@ void NavigationRequest::RestartBackForwardCachedNavigationImpl() {
@@ -6522,7 +6522,6 @@ void NavigationRequest::RestartBackForwardCachedNavigationImpl() {
void NavigationRequest::ForceEnableOriginTrials(
const std::vector<std::string>& trials) {
DCHECK(!HasCommitted());
@ -70,7 +70,7 @@ diff --git a/content/browser/renderer_host/navigation_request.cc b/content/brows
diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_frame_impl.cc
--- a/content/renderer/render_frame_impl.cc
+++ b/content/renderer/render_frame_impl.cc
@@ -480,10 +480,6 @@ void FillNavigationParamsRequest(
@@ -469,10 +469,6 @@ void FillNavigationParamsRequest(
common_params.initiator_origin.value();
}
@ -81,7 +81,7 @@ diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_fra
navigation_params->was_discarded = commit_params.was_discarded;
navigation_params->document_ukm_source_id =
commit_params.document_ukm_source_id;
@@ -516,12 +512,6 @@ void FillNavigationParamsRequest(
@@ -505,12 +501,6 @@ void FillNavigationParamsRequest(
navigation_params->web_bundle_claimed_url =
commit_params.web_bundle_claimed_url;
@ -94,7 +94,7 @@ diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_fra
if (!commit_params.early_hints_preloaded_resources.empty()) {
navigation_params->early_hints_preloaded_resources = WebVector<WebURL>();
for (const auto& resource : commit_params.early_hints_preloaded_resources) {
@@ -568,11 +558,6 @@ blink::mojom::CommonNavigationParamsPtr MakeCommonNavigationParams(
@@ -556,11 +546,6 @@ blink::mojom::CommonNavigationParamsPtr MakeCommonNavigationParams(
info->url_request.GetURLRequestExtraData().get());
DCHECK(url_request_extra_data);
@ -106,15 +106,15 @@ diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_fra
blink::NavigationDownloadPolicy download_policy;
download_policy.ApplyDownloadFramePolicy(
info->is_opener_navigation, info->url_request.HasUserGesture(),
@@ -591,7 +576,7 @@ blink::mojom::CommonNavigationParamsPtr MakeCommonNavigationParams(
@@ -579,7 +564,7 @@ blink::mojom::CommonNavigationParamsPtr MakeCommonNavigationParams(
info->url_request.HasUserGesture(),
info->url_request.HasTextFragmentToken(),
info->should_check_main_world_content_security_policy,
- initiator_origin_trial_features, info->href_translate.Latin1(),
+ /*initiator_origin_trial_features*/std::vector<int>(), info->href_translate.Latin1(),
is_history_navigation_in_new_child_frame, info->input_start,
request_destination);
is_history_navigation_in_new_child_frame, info->input_start);
}
diff --git a/content/shell/common/shell_origin_trial_policy.cc b/content/shell/common/shell_origin_trial_policy.cc
--- a/content/shell/common/shell_origin_trial_policy.cc
+++ b/content/shell/common/shell_origin_trial_policy.cc
@ -147,7 +147,7 @@ diff --git a/content/shell/common/shell_origin_trial_policy.cc b/content/shell/c
diff --git a/third_party/blink/renderer/core/loader/document_loader.cc b/third_party/blink/renderer/core/loader/document_loader.cc
--- a/third_party/blink/renderer/core/loader/document_loader.cc
+++ b/third_party/blink/renderer/core/loader/document_loader.cc
@@ -150,31 +150,18 @@ Vector<OriginTrialFeature> CopyInitiatorOriginTrials(
@@ -149,31 +149,18 @@ Vector<OriginTrialFeature> CopyInitiatorOriginTrials(
WebVector<int> CopyInitiatorOriginTrials(
const Vector<OriginTrialFeature>& initiator_origin_trial_features) {
WebVector<int> result;
@ -179,7 +179,7 @@ diff --git a/third_party/blink/renderer/core/loader/document_loader.cc b/third_p
return result;
}
@@ -2468,10 +2455,6 @@ void DocumentLoader::CreateParserPostCommit() {
@@ -2432,10 +2419,6 @@ void DocumentLoader::CreateParserPostCommit() {
OriginTrialFeature::kTouchEventFeatureDetection);
}
@ -193,7 +193,7 @@ diff --git a/third_party/blink/renderer/core/loader/document_loader.cc b/third_p
diff --git a/third_party/blink/renderer/core/loader/http_equiv.cc b/third_party/blink/renderer/core/loader/http_equiv.cc
--- a/third_party/blink/renderer/core/loader/http_equiv.cc
+++ b/third_party/blink/renderer/core/loader/http_equiv.cc
@@ -106,23 +106,13 @@ void HttpEquiv::ProcessHttpEquivOriginTrial(LocalDOMWindow* window,
@@ -148,22 +148,6 @@ void HttpEquiv::ProcessHttpEquivOriginTrial(LocalDOMWindow* window,
const AtomicString& content) {
if (!window)
return;
@ -202,51 +202,44 @@ diff --git a/third_party/blink/renderer/core/loader/http_equiv.cc b/third_party/
- // NOTE: The external script origin is not considered security-critical. See
- // the comment thread in the design doc for details:
- // https://docs.google.com/document/d/1xALH9W7rWmX0FpjudhDeS2TNTEOXuPn4Tlc9VmuPdHA/edit?disco=AAAAJyG8StI
- KURL external_script_url(GetCurrentScriptUrl(/*max_stack_depth=*/1));
- if (external_script_url.IsValid()) {
- scoped_refptr<SecurityOrigin> external_origin =
- SecurityOrigin::Create(external_script_url);
- window->GetOriginTrialContext()->AddTokenFromExternalScript(
- content, external_origin.get());
+ if (!RuntimeEnabledFeatures::ThirdPartyOriginTrialsEnabled())
return;
- if (RuntimeEnabledFeatures::ThirdPartyOriginTrialsEnabled()) {
- KURL external_script_url(GetCurrentScriptUrl(/*max_stack_depth=*/1));
-
- if (external_script_url.IsValid()) {
- scoped_refptr<SecurityOrigin> external_origin =
- SecurityOrigin::Create(external_script_url);
- window->GetOriginTrialContext()->AddTokenFromExternalScript(
- content, external_origin.get());
- return;
- }
- }
// Process token as usual, without an external script origin.
window->GetOriginTrialContext()->AddToken(content);
+
}
void HttpEquiv::ProcessHttpEquivRefresh(LocalDOMWindow* window,
diff --git a/third_party/blink/renderer/core/origin_trials/origin_trial_context.cc b/third_party/blink/renderer/core/origin_trials/origin_trial_context.cc
--- a/third_party/blink/renderer/core/origin_trials/origin_trial_context.cc
+++ b/third_party/blink/renderer/core/origin_trials/origin_trial_context.cc
@@ -30,6 +30,7 @@
#include "third_party/blink/renderer/platform/bindings/origin_trial_features.h"
#include "third_party/blink/renderer/platform/bindings/script_state.h"
#include "third_party/blink/renderer/platform/instrumentation/histogram.h"
+#include "third_party/blink/renderer/platform/runtime_enabled_features.h"
#include "third_party/blink/renderer/platform/weborigin/security_origin.h"
#include "third_party/blink/renderer/platform/wtf/text/string_builder.h"
#include "third_party/blink/renderer/platform/wtf/text/string_utf8_adaptor.h"
@@ -277,13 +278,8 @@ void OriginTrialContext::AddToken(const String& token) {
@@ -278,17 +278,8 @@ void OriginTrialContext::AddToken(const String& token) {
void OriginTrialContext::AddTokenFromExternalScript(
const String& token,
const SecurityOrigin* origin) {
- bool is_script_origin_secure = false;
- if (origin) {
- DVLOG(1) << "AddTokenFromExternalScript: " << origin->ToString();
- if (origin &&
- RuntimeEnabledFeatures::ThirdPartyOriginTrialsEnabled(context_)) {
- DVLOG(1) << "AddTokenFromExternalScript: "
- << (origin ? origin->ToString() : "null");
- is_script_origin_secure = origin->IsPotentiallyTrustworthy();
- } else {
- origin = nullptr;
- }
- AddTokenInternal(token, GetSecurityOrigin(), IsSecureContext(), origin,
- is_script_origin_secure);
+ AddTokenInternal(token, GetSecurityOrigin(), IsSecureContext(), nullptr,
+ false /* is_script_origin_secure */);
+ false);
}
void OriginTrialContext::AddTokenInternal(const String& token,
@@ -395,8 +391,6 @@ bool OriginTrialContext::InstallSettingFeature(
@@ -400,8 +391,6 @@ bool OriginTrialContext::InstallSettingFeature(
}
void OriginTrialContext::AddFeature(OriginTrialFeature feature) {
@ -258,16 +251,17 @@ diff --git a/third_party/blink/renderer/core/origin_trials/origin_trial_context.
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
@@ -2272,6 +2272,10 @@
@@ -2188,10 +2188,6 @@
name: "TextFragmentTapOpensContextMenu",
status: {"Android": "stable"},
},
+ {
+ name: "ThirdPartyOriginTrials",
+ status: "stable",
+ },
- {
- name: "ThirdPartyOriginTrials",
- status: "stable",
- },
{
name: "ThrottleDisplayNoneAndVisibilityHiddenCrossOriginIframes",
status: "experimental",
--
2.25.1
--
2.20.1

View file

@ -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
@@ -464,7 +464,7 @@ const base::Feature kUseR16Texture{"use-r16-texture",
@@ -490,7 +490,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",
@ -18,5 +18,6 @@ diff --git a/media/base/media_switches.cc b/media/base/media_switches.cc
#if defined(OS_LINUX)
// Enable vaapi video decoding on linux. This is already enabled by default on
--
2.25.1
--
2.20.1

View file

@ -9,14 +9,15 @@ 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
@@ -1248,8 +1248,6 @@ static_library("ui") {
@@ -1227,8 +1227,6 @@ static_library("ui") {
"singleton_tabs.h",
"startup/automation_infobar_delegate.cc",
"startup/automation_infobar_delegate.h",
- "startup/google_api_keys_infobar_delegate.cc",
- "startup/google_api_keys_infobar_delegate.h",
"startup/infobar_utils.cc",
"startup/infobar_utils.h",
"startup/launch_mode_recorder.cc",
--
2.25.1
"startup/launch_mode_recorder.h",
"startup/obsolete_system_infobar_delegate.cc",
--
2.20.1

View file

@ -16,10 +16,10 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordi
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.share.scroll_capture.ScrollCaptureManager;
import org.chromium.chrome.browser.tab.AccessibilityVisibilityHandler;
import org.chromium.chrome.browser.tab.AutofillSessionLifetimeController;
@@ -423,10 +422,6 @@ public class RootUiCoordinator
import org.chromium.chrome.browser.tab.Tab;
@@ -421,10 +420,6 @@ public class RootUiCoordinator
}
public void onAttachFragment(Fragment fragment) {
@ -33,7 +33,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordi
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
@@ -29,7 +29,6 @@ import org.chromium.chrome.browser.share.ChromeShareExtras.DetailedContentType;
@@ -26,7 +26,6 @@ import org.chromium.chrome.browser.profiles.Profile;
import org.chromium.chrome.browser.share.SaveBitmapDelegate;
import org.chromium.chrome.browser.share.link_to_text.LinkToTextCoordinator.LinkGeneration;
import org.chromium.chrome.browser.share.long_screenshots.LongScreenshotsCoordinator;
@ -41,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.ShareSheetLinkToggleMetricsHelper.LinkToggleMetricsDetails;
@@ -297,9 +296,6 @@ public class ChromeProvidedSharingOptionsProvider {
@@ -274,9 +273,6 @@ public class ChromeProvidedSharingOptionsProvider {
mOrderedFirstPartyOptions.add(createCopyFirstPartyOption());
mOrderedFirstPartyOptions.add(createCopyTextFirstPartyOption());
mOrderedFirstPartyOptions.add(createSendTabToSelfFirstPartyOption());
@ -51,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());
}
@@ -423,19 +419,6 @@ public class ChromeProvidedSharingOptionsProvider {
@@ -400,19 +396,6 @@ public class ChromeProvidedSharingOptionsProvider {
.build();
}
@ -74,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
@@ -25,24 +25,6 @@ share_java_sources = [
@@ -24,24 +24,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",
@ -99,5 +99,6 @@ diff --git a/chrome/browser/share/android/java_sources.gni b/chrome/browser/shar
"//chrome/browser/share/android/java/src/org/chromium/chrome/browser/share/screenshot/EditorScreenshotSource.java",
"//chrome/browser/share/android/java/src/org/chromium/chrome/browser/share/screenshot/EditorScreenshotTask.java",
"//chrome/browser/share/android/java/src/org/chromium/chrome/browser/share/screenshot/ScreenshotCoordinator.java",
--
2.25.1
--
2.20.1

View file

@ -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
@@ -957,11 +957,7 @@ const base::Feature kShow10_10ObsoleteInfobar{
@@ -922,11 +922,7 @@ const base::Feature kShow10_10ObsoleteInfobar{
// browser_features, as they are only used on the browser side.
const base::Feature kSitePerProcess {
"SitePerProcess",
@ -34,5 +34,6 @@ diff --git a/components/site_isolation/features.cc b/components/site_isolation/f
const char kStrictSiteIsolationMemoryThresholdParamName[] =
"strict_site_isolation_threshold_mb";
const char kPartialSiteIsolationMemoryThresholdParamName[] =
--
2.25.1
--
2.20.1

View file

@ -5,13 +5,13 @@ Subject: Enable darken websites checkbox in themes
Unexpire #darken-websites-checkbox-in-themes-setting
---
chrome/browser/flag-metadata.json | 2 +-
components/content_settings/core/common/features.cc | 2 +-
chrome/browser/flags/android/chrome_feature_list.cc | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
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
@@ -1031,7 +1031,7 @@
@@ -965,7 +965,7 @@
{
"name": "darken-websites-checkbox-in-themes-setting",
"owners": [ "lazzzis@google.com", "twellington" ],
@ -20,17 +20,18 @@ diff --git a/chrome/browser/flag-metadata.json b/chrome/browser/flag-metadata.js
},
{
"name": "dcheck-is-fatal",
diff --git a/components/content_settings/core/common/features.cc b/components/content_settings/core/common/features.cc
--- a/components/content_settings/core/common/features.cc
+++ b/components/content_settings/core/common/features.cc
@@ -18,7 +18,7 @@ const base::Feature kImprovedCookieControls{"ImprovedCookieControls",
// Enables auto dark feature in theme settings.
#if defined(OS_ANDROID)
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
@@ -571,7 +571,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};
constexpr base::FeatureParam<bool> kDarkenWebsitesCheckboxOptOut{
&kDarkenWebsitesCheckboxInThemesSetting, "opt_out", true};
#endif // defined(OS_ANDROID)
--
2.25.1
const base::Feature kQuickActionSearchWidgetAndroidDinoVariant{
"QuickActionSearchWidgetAndroidDinoVariant",
--
2.20.1

View file

@ -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
@@ -350,6 +350,10 @@ config("compiler") {
@@ -351,6 +351,10 @@ config("compiler") {
}
}

View file

@ -6,50 +6,29 @@ There are 2 different types of autofill: one managed via GCM and the
native Android one that uses the provider assigned by the user
(which can be any user installed app like Bitwarden for example).
In chromium GCM is active while in the WebView the latter.
This patch uses WebView code to enable native Android autofill
along with browser-managed autofill.
A separate toggle is introduced to enable autofill in incognito mode.
This patch uses the WebView code to activate native Android autofill.
See also: https://github.com/bromite/bromite/issues/547
---
android_webview/browser/aw_contents.cc | 1 +
chrome/android/BUILD.gn | 1 +
.../settings/PasswordSettings.java | 82 ++++++++++++++++++-
.../chromium/chrome/browser/tab/TabImpl.java | 50 +++++++++++
.../browser/tab/TabViewAndroidDelegate.java | 14 ++++
chrome/browser/BUILD.gn | 8 ++
chrome/browser/android/tab_android.cc | 27 ++++++
.../settings/PasswordSettings.java | 58 ++++++++++++++++++-
.../chromium/chrome/browser/tab/TabImpl.java | 43 ++++++++++++++
.../browser/tab/TabViewAndroidDelegate.java | 14 +++++
chrome/browser/BUILD.gn | 8 +++
chrome/browser/android/tab_android.cc | 26 +++++++++
chrome/browser/android/tab_android.h | 2 +
.../tab_web_contents_delegate_android.cc | 3 +-
.../strings/android_chrome_strings.grd | 6 ++
chrome/browser/ui/tab_helpers.cc | 7 +-
.../browser/content_autofill_driver.cc | 50 +++++++++--
.../content/browser/content_autofill_driver.h | 8 +-
.../content_autofill_driver_factory.cc | 9 +-
.../browser/content_autofill_driver_factory.h | 4 +
.../renderer/password_autofill_agent.cc | 5 +-
.../autofill/core/common/autofill_prefs.cc | 8 ++
.../autofill/core/common/autofill_prefs.h | 2 +
.../embedder_support/view/ContentView.java | 46 +++++++++++
.../chromium/ui/base/ViewAndroidDelegate.java | 8 ++
weblayer/browser/tab_impl.cc | 3 +-
21 files changed, 329 insertions(+), 15 deletions(-)
.../strings/android_chrome_strings.grd | 3 +
chrome/browser/ui/tab_helpers.cc | 6 +-
.../autofill/core/common/autofill_prefs.cc | 5 ++
.../autofill/core/common/autofill_prefs.h | 1 +
.../embedder_support/view/ContentView.java | 48 +++++++++++++++
.../chromium/ui/base/ViewAndroidDelegate.java | 8 +++
13 files changed, 221 insertions(+), 2 deletions(-)
diff --git a/android_webview/browser/aw_contents.cc b/android_webview/browser/aw_contents.cc
--- a/android_webview/browser/aw_contents.cc
+++ b/android_webview/browser/aw_contents.cc
@@ -333,6 +333,7 @@ void AwContents::InitAutofillIfNecessary(bool autocomplete_enabled) {
autofill::AutofillProvider::is_download_manager_disabled_for_testing()
? autofill::AutofillManager::DISABLE_AUTOFILL_DOWNLOAD_MANAGER
: autofill::AutofillManager::ENABLE_AUTOFILL_DOWNLOAD_MANAGER,
+ /*enable_browser_autofill_manager*/ false,
autofill_provider
? base::BindRepeating(&autofill::AndroidAutofillManager::Create)
: autofill::AutofillManager::AutofillManagerFactoryCallback());
diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
--- a/chrome/android/BUILD.gn
+++ b/chrome/android/BUILD.gn
@@ -429,6 +429,7 @@ android_library("chrome_java") {
@@ -415,6 +415,7 @@ android_library("chrome_java") {
"//chrome/browser/xsurface:java",
"//components/autofill/android:autofill_java",
"//components/autofill_assistant/browser:proto_java",
@ -60,7 +39,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
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
@@ -51,12 +51,18 @@ import org.chromium.ui.text.SpanApplier;
@@ -52,12 +52,18 @@ import org.chromium.ui.text.SpanApplier;
import java.util.Locale;
@ -80,29 +59,26 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/password_manage
// Keys for name/password dictionaries.
public static final String PASSWORD_LIST_URL = "url";
public static final String PASSWORD_LIST_NAME = "name";
@@ -74,6 +80,12 @@ public class PasswordSettings extends PreferenceFragmentCompat
@@ -75,6 +81,10 @@ public class PasswordSettings extends PreferenceFragmentCompat
public static final String PREF_TRUSTED_VAULT_OPT_IN = "trusted_vault_opt_in";
public static final String PREF_KEY_MANAGE_ACCOUNT_LINK = "manage_account_link";
+ public static final String PREF_ANDROID_AUTOFILL_SWITCH = "android_autofill_switch";
+ public static final String PREF_ANDROID_AUTOFILL_INCOGNITO_SWITCH = "android_autofill_incognito_switch";
+
+ private SnackbarManager mSnackbarManager;
+ private Snackbar mSnackbar;
+
// A PasswordEntryViewer receives a boolean value with this key. If set true, the the entry was
// part of a search result.
@@ -107,6 +119,8 @@ public class PasswordSettings extends PreferenceFragmentCompat
@@ -108,6 +118,7 @@ public class PasswordSettings extends PreferenceFragmentCompat
private String mSearchQuery;
private Preference mLinkPref;
private ChromeSwitchPreference mSavePasswordsSwitch;
+ private ChromeSwitchPreference mEnableAndroidAutofillSwitch;
+ private ChromeSwitchPreference mEnableAndroidAutofillIncognitoSwitch;
private ChromeSwitchPreference mAutoSignInSwitch;
private ChromeBasePreference mCheckPasswords;
private ChromeBasePreference mTrustedVaultOptIn;
@@ -271,6 +285,7 @@ public class PasswordSettings extends PreferenceFragmentCompat
@@ -272,6 +283,7 @@ public class PasswordSettings extends PreferenceFragmentCompat
getPreferenceScreen().removeAll();
if (mSearchQuery == null) {
createSavePasswordsSwitch();
@ -110,7 +86,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/password_manage
createAutoSignInCheckbox();
if (mPasswordCheck != null) {
createCheckPasswords();
@@ -510,6 +525,71 @@ public class PasswordSettings extends PreferenceFragmentCompat
@@ -511,6 +523,50 @@ public class PasswordSettings extends PreferenceFragmentCompat
getPrefService().getBoolean(Pref.CREDENTIALS_ENABLE_SERVICE));
}
@ -152,27 +128,6 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/password_manage
+ mSnackbarManager.showSnackbar(mSnackbar);
+ return true;
+ });
+
+ mEnableAndroidAutofillIncognitoSwitch = new ChromeSwitchPreference(getStyledContext(), null);
+ mEnableAndroidAutofillIncognitoSwitch.setKey(PREF_ANDROID_AUTOFILL_INCOGNITO_SWITCH);
+ mEnableAndroidAutofillIncognitoSwitch.setTitle(R.string.enable_android_autofill_incognito);
+ mEnableAndroidAutofillIncognitoSwitch.setOrder(ORDER_SWITCH);
+ mEnableAndroidAutofillIncognitoSwitch.setSummaryOn(R.string.text_on);
+ mEnableAndroidAutofillIncognitoSwitch.setSummaryOff(R.string.text_off);
+
+ try (StrictModeContext ignored = StrictModeContext.allowDiskReads()) {
+ getPreferenceScreen().addPreference(mEnableAndroidAutofillIncognitoSwitch);
+ }
+
+ mEnableAndroidAutofillIncognitoSwitch.setChecked(
+ getPrefService().getBoolean(Pref.AUTOFILL_ANDROID_INCOGNITO_ENABLED));
+
+ mEnableAndroidAutofillIncognitoSwitch.setOnPreferenceChangeListener((preference, newValue) -> {
+ getPrefService().setBoolean(Pref.AUTOFILL_ANDROID_INCOGNITO_ENABLED, (boolean) newValue);
+ if (!mSnackbarManager.isShowing())
+ mSnackbarManager.showSnackbar(mSnackbar);
+ return true;
+ });
+ }
+
+ public void setSnackbarManager(SnackbarManager manager) {
@ -185,12 +140,13 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/password_manage
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.java
@@ -75,6 +75,17 @@ import org.chromium.url.GURL;
@@ -75,6 +75,18 @@ import org.chromium.url.GURL;
import java.nio.ByteBuffer;
+import android.os.Build;
+import android.util.SparseArray;
+import org.chromium.base.annotations.VerifiesOnO;
+import org.chromium.ui.base.EventOffsetHandler;
+import android.view.ViewStructure;
+import android.view.autofill.AutofillValue;
@ -203,16 +159,16 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.jav
/**
* Implementation of the interface {@link Tab}. Contains and manages a {@link ContentView}.
* This class is not intended to be extended.
@@ -215,6 +226,8 @@ public class TabImpl implements Tab, TabObscuringHandler.Observer {
private int mThemeColor;
private boolean mUsedCriticalPersistedTabData;
@@ -218,6 +230,8 @@ public class TabImpl implements Tab, TabObscuringHandler.Observer {
/** Whether or not the user manually changed the user agent. */
private boolean mUserForcedUserAgent;
+ AutofillProvider mAutofillProvider;
+
/**
* Creates an instance of a {@link TabImpl}.
*
@@ -767,6 +780,11 @@ public class TabImpl implements Tab, TabObscuringHandler.Observer {
@@ -768,6 +782,11 @@ public class TabImpl implements Tab, TabObscuringHandler.Observer {
for (TabObserver observer : mObservers) observer.onDestroyed(this);
mObservers.clear();
@ -224,7 +180,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.jav
mUserDataHost.destroy();
mTabViewManager.destroy();
hideNativePage(false, null);
@@ -1359,6 +1377,16 @@ public class TabImpl implements Tab, TabObscuringHandler.Observer {
@@ -1359,6 +1378,16 @@ public class TabImpl implements Tab, TabObscuringHandler.Observer {
return tabsPtrArray;
}
@ -241,35 +197,27 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.jav
/**
* Initializes the {@link WebContents}. Completes the browser content components initialization
* around a native WebContents pointer.
@@ -1408,6 +1436,27 @@ public class TabImpl implements Tab, TabObscuringHandler.Observer {
@@ -1408,6 +1437,19 @@ public class TabImpl implements Tab, TabObscuringHandler.Observer {
mDelegateFactory.createContextMenuPopulatorFactory(this), this));
mWebContents.notifyRendererPreferenceUpdate();
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
+ boolean autofillEnabled = false;
+ if (isIncognito()) {
+ autofillEnabled = UserPrefs.get(Profile.getLastUsedRegularProfile())
+ .getBoolean(Pref.AUTOFILL_ANDROID_INCOGNITO_ENABLED);
+ } else {
+ autofillEnabled = UserPrefs.get(Profile.getLastUsedRegularProfile())
+ .getBoolean(Pref.AUTOFILL_ANDROID_ENABLED);
+ }
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O &&
+ UserPrefs.get(Profile.getLastUsedRegularProfile())
+ .getBoolean(Pref.AUTOFILL_ANDROID_ENABLED) == true) {
+ SelectionPopupController selectionController =
+ SelectionPopupController.fromWebContents(mWebContents);
+
+ if (autofillEnabled) {
+ SelectionPopupController selectionController =
+ SelectionPopupController.fromWebContents(mWebContents);
+ mAutofillProvider = new AutofillProvider(getContext(), cv, webContents, "bromite");
+ TabImplJni.get().initializeAutofillIfNecessary(mNativeTabAndroid);
+ mAutofillProvider.setWebContents(webContents);
+ cv.setWebContents(webContents);
+ selectionController.setNonSelectionActionModeCallback(
+ new AutofillActionModeCallback(mThemedApplicationContext, mAutofillProvider));
+ }
+ mAutofillProvider = new AutofillProvider(getContext(), cv, webContents, "bromite");
+ TabImplJni.get().initializeAutofillIfNecessary(mNativeTabAndroid);
+ mAutofillProvider.setWebContents(webContents);
+ cv.setWebContents(webContents);
+ selectionController.setNonSelectionActionModeCallback(
+ new AutofillActionModeCallback(mThemedApplicationContext, mAutofillProvider));
+ }
TabHelpers.initWebContentsHelpers(this);
notifyContentChanged();
} finally {
@@ -1788,5 +1837,6 @@ public class TabImpl implements Tab, TabObscuringHandler.Observer {
@@ -1771,5 +1813,6 @@ public class TabImpl implements Tab, TabObscuringHandler.Observer {
void setActiveNavigationEntryTitleForUrl(long nativeTabAndroid, String url, String title);
void loadOriginalImage(long nativeTabAndroid);
boolean handleNonNavigationAboutURL(GURL url);
@ -308,7 +256,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabViewAndr
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
--- a/chrome/browser/BUILD.gn
+++ b/chrome/browser/BUILD.gn
@@ -2403,6 +2403,14 @@ static_library("browser") {
@@ -2393,6 +2393,14 @@ static_library("browser") {
"//ui/webui/resources/cr_components/most_visited:mojom",
"//ui/webui/resources/js/browser_command:mojo_bindings",
]
@ -326,7 +274,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
diff --git a/chrome/browser/android/tab_android.cc b/chrome/browser/android/tab_android.cc
--- a/chrome/browser/android/tab_android.cc
+++ b/chrome/browser/android/tab_android.cc
@@ -66,6 +66,13 @@
@@ -65,6 +65,13 @@
#include "url/android/gurl_android.h"
#include "url/gurl.h"
@ -340,7 +288,7 @@ diff --git a/chrome/browser/android/tab_android.cc b/chrome/browser/android/tab_
using base::android::AttachCurrentThread;
using base::android::ConvertUTF8ToJavaString;
using base::android::JavaParamRef;
@@ -439,3 +446,23 @@ static void JNI_TabImpl_Init(JNIEnv* env, const JavaParamRef<jobject>& obj) {
@@ -437,3 +444,22 @@ static void JNI_TabImpl_Init(JNIEnv* env, const JavaParamRef<jobject>& obj) {
// This will automatically bind to the Java object and pass ownership there.
new TabAndroid(env, obj);
}
@ -360,14 +308,13 @@ diff --git a/chrome/browser/android/tab_android.cc b/chrome/browser/android/tab_
+ autofill::ChromeAutofillClient::FromWebContents(web_contents),
+ g_browser_process->GetApplicationLocale(),
+ autofill::BrowserAutofillManager::DISABLE_AUTOFILL_DOWNLOAD_MANAGER,
+ /*enable_browser_autofill_manager*/ true,
+ base::BindRepeating(&autofill::AndroidAutofillManager::Create));
+ }
+}
diff --git a/chrome/browser/android/tab_android.h b/chrome/browser/android/tab_android.h
--- a/chrome/browser/android/tab_android.h
+++ b/chrome/browser/android/tab_android.h
@@ -153,6 +153,8 @@ class TabAndroid : public base::SupportsUserData {
@@ -154,6 +154,8 @@ class TabAndroid : public base::SupportsUserData {
void SetDevToolsAgentHost(scoped_refptr<content::DevToolsAgentHost> host);
@ -376,31 +323,15 @@ diff --git a/chrome/browser/android/tab_android.h b/chrome/browser/android/tab_a
private:
JavaObjectWeakGlobalRef weak_java_tab_;
diff --git a/chrome/browser/android/tab_web_contents_delegate_android.cc b/chrome/browser/android/tab_web_contents_delegate_android.cc
--- a/chrome/browser/android/tab_web_contents_delegate_android.cc
+++ b/chrome/browser/android/tab_web_contents_delegate_android.cc
@@ -173,7 +173,8 @@ void TabWebContentsDelegateAndroid::PortalWebContentsCreated(
portal_contents,
autofill::ChromeAutofillClient::FromWebContents(portal_contents),
g_browser_process->GetApplicationLocale(),
- autofill::BrowserAutofillManager::ENABLE_AUTOFILL_DOWNLOAD_MANAGER);
+ autofill::BrowserAutofillManager::ENABLE_AUTOFILL_DOWNLOAD_MANAGER,
+ /*enable_browser_autofill_manager*/ true);
ChromePasswordManagerClient::CreateForWebContentsWithAutofillClient(
portal_contents,
autofill::ChromeAutofillClient::FromWebContents(portal_contents));
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
@@ -633,6 +633,12 @@ CHAR_LIMIT guidelines:
@@ -582,6 +582,9 @@ CHAR_LIMIT guidelines:
<message name="IDS_PASSWORD_SETTINGS_SAVE_PASSWORDS" desc="Title for the checkbox toggling whether passwords are saved or not. [CHAR_LIMIT=32]">
Save passwords
</message>
+ <message name="IDS_ENABLE_ANDROID_AUTOFILL" desc="Title for the checkbox toggling whether enable Android native autofill or not. [CHAR_LIMIT=32]">
+ Enable native Android autofill
+ </message>
+ <message name="IDS_ENABLE_ANDROID_AUTOFILL_INCOGNITO" desc="Title for the checkbox toggling whether enable Android native autofill or not in incognito mode. [CHAR_LIMIT=32]">
+ Enable native Android autofill in incognito
+ </message>
<message name="IDS_PASSWORDS_AUTO_SIGNIN_TITLE" desc="Title for checkbox to enable automatically signing the user in to websites">
Auto Sign-in
@ -408,349 +339,68 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro
diff --git a/chrome/browser/ui/tab_helpers.cc b/chrome/browser/ui/tab_helpers.cc
--- a/chrome/browser/ui/tab_helpers.cc
+++ b/chrome/browser/ui/tab_helpers.cc
@@ -151,6 +151,9 @@
@@ -141,6 +141,9 @@
#include "chrome/browser/ui/android/context_menu_helper.h"
#include "chrome/browser/ui/javascript_dialogs/javascript_tab_modal_dialog_manager_delegate_android.h"
#include "chrome/browser/video_tutorials/video_tutorial_tab_helper.h"
#include "content/public/common/content_features.h"
+#include "components/android_autofill/browser/android_autofill_manager.h"
+#include "components/android_autofill/browser/autofill_provider.h"
+#include "components/android_autofill/browser/autofill_provider_android.h"
#else
#include "chrome/browser/accuracy_tips/accuracy_service_factory.h"
#include "chrome/browser/banners/app_banner_manager_desktop.h"
@@ -283,7 +286,9 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) {
@@ -265,7 +268,8 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) {
web_contents,
autofill::ChromeAutofillClient::FromWebContents(web_contents),
g_browser_process->GetApplicationLocale(),
- autofill::BrowserAutofillManager::ENABLE_AUTOFILL_DOWNLOAD_MANAGER);
+ autofill::BrowserAutofillManager::ENABLE_AUTOFILL_DOWNLOAD_MANAGER,
+ /*enable_browser_autofill_manager*/ true,
+ base::BindRepeating(&autofill::AndroidAutofillManager::Create));
if (base::FeatureList::IsEnabled(breadcrumbs::kLogBreadcrumbs))
BreadcrumbManagerTabHelper::CreateForWebContents(web_contents);
chrome_browser_net::NetErrorTabHelper::CreateForWebContents(web_contents);
diff --git a/components/autofill/content/browser/content_autofill_driver.cc b/components/autofill/content/browser/content_autofill_driver.cc
--- a/components/autofill/content/browser/content_autofill_driver.cc
+++ b/components/autofill/content/browser/content_autofill_driver.cc
@@ -68,6 +68,7 @@ ContentAutofillDriver::ContentAutofillDriver(
const std::string& app_locale,
ContentAutofillRouter* autofill_router,
AutofillManager::AutofillDownloadManagerState enable_download_manager,
+ bool enable_browser_autofill_manager,
AutofillManager::AutofillManagerFactoryCallback
autofill_manager_factory_callback)
: render_frame_host_(render_frame_host),
@@ -83,9 +84,11 @@ ContentAutofillDriver::ContentAutofillDriver(
GetAutofillAgent()->SetSecureContextRequired(true);
GetAutofillAgent()->SetFocusRequiresScroll(false);
GetAutofillAgent()->SetQueryPasswordSuggestion(true);
- } else {
+ }
+ if (!autofill_manager_factory_callback || enable_browser_autofill_manager) {
SetBrowserAutofillManager(std::make_unique<BrowserAutofillManager>(
- this, client, app_locale, enable_download_manager));
+ this, client, app_locale, enable_download_manager),
+ enable_browser_autofill_manager);
}
if (client && ShouldEnableHeavyFormDataScraping(client->GetChannel())) {
GetAutofillAgent()->EnableHeavyFormDataScraping();
@@ -339,6 +342,8 @@ void ContentAutofillDriver::FormsSeenImpl(
const std::vector<FormData>& updated_forms,
const std::vector<FormGlobalId>& removed_forms) {
autofill_manager_->OnFormsSeen(updated_forms, removed_forms);
+ if (browser_autofill_manager_ptr_)
+ browser_autofill_manager_->OnFormsSeen(updated_forms, removed_forms);
}
void ContentAutofillDriver::SetFormToBeProbablySubmittedImpl(
@@ -361,6 +366,8 @@ void ContentAutofillDriver::FormSubmittedImpl(const FormData& form,
}
autofill_manager_->OnFormSubmitted(form, known_success, source);
+ if (browser_autofill_manager_ptr_)
+ browser_autofill_manager_->OnFormSubmitted(form, known_success, source);
}
void ContentAutofillDriver::TextFieldDidChangeImpl(
@@ -369,6 +376,8 @@ void ContentAutofillDriver::TextFieldDidChangeImpl(
const gfx::RectF& bounding_box,
base::TimeTicks timestamp) {
autofill_manager_->OnTextFieldDidChange(form, field, bounding_box, timestamp);
+ if (browser_autofill_manager_ptr_)
+ browser_autofill_manager_->OnTextFieldDidChange(form, field, bounding_box, timestamp);
}
void ContentAutofillDriver::TextFieldDidScrollImpl(
@@ -376,6 +385,8 @@ void ContentAutofillDriver::TextFieldDidScrollImpl(
const FormFieldData& field,
const gfx::RectF& bounding_box) {
autofill_manager_->OnTextFieldDidScroll(form, field, bounding_box);
+ if (browser_autofill_manager_ptr_)
+ browser_autofill_manager_->OnTextFieldDidScroll(form, field, bounding_box);
}
void ContentAutofillDriver::SelectControlDidChangeImpl(
@@ -383,6 +394,8 @@ void ContentAutofillDriver::SelectControlDidChangeImpl(
const FormFieldData& field,
const gfx::RectF& bounding_box) {
autofill_manager_->OnSelectControlDidChange(form, field, bounding_box);
+ if (browser_autofill_manager_ptr_)
+ browser_autofill_manager_->OnSelectControlDidChange(form, field, bounding_box);
}
void ContentAutofillDriver::AskForValuesToFillImpl(
@@ -393,15 +406,22 @@ void ContentAutofillDriver::AskForValuesToFillImpl(
bool autoselect_first_suggestion) {
autofill_manager_->OnAskForValuesToFill(id, form, field, bounding_box,
autoselect_first_suggestion);
+ if (browser_autofill_manager_ptr_)
+ browser_autofill_manager_->OnAskForValuesToFill(id, form, field, bounding_box,
+ autoselect_first_suggestion);
}
void ContentAutofillDriver::HidePopupImpl() {
DCHECK(!IsPrerendering()) << "We should never affect UI while prerendering";
autofill_manager_->OnHidePopup();
+ if (browser_autofill_manager_ptr_)
+ browser_autofill_manager_->OnHidePopup();
}
void ContentAutofillDriver::FocusNoLongerOnFormImpl(bool had_interacted_form) {
autofill_manager_->OnFocusNoLongerOnForm(had_interacted_form);
+ if (browser_autofill_manager_ptr_)
+ browser_autofill_manager_->OnFocusNoLongerOnForm(had_interacted_form);
}
void ContentAutofillDriver::FocusOnFormFieldImpl(
@@ -409,25 +429,35 @@ void ContentAutofillDriver::FocusOnFormFieldImpl(
const FormFieldData& field,
const gfx::RectF& bounding_box) {
autofill_manager_->OnFocusOnFormField(form, field, bounding_box);
+ if (browser_autofill_manager_ptr_)
+ browser_autofill_manager_->OnFocusOnFormField(form, field, bounding_box);
}
void ContentAutofillDriver::DidFillAutofillFormDataImpl(
const FormData& form,
base::TimeTicks timestamp) {
autofill_manager_->OnDidFillAutofillFormData(form, timestamp);
+ if (browser_autofill_manager_ptr_)
+ browser_autofill_manager_->OnDidFillAutofillFormData(form, timestamp);
}
void ContentAutofillDriver::DidPreviewAutofillFormDataImpl() {
autofill_manager_->OnDidPreviewAutofillFormData();
+ if (browser_autofill_manager_ptr_)
+ browser_autofill_manager_->OnDidPreviewAutofillFormData();
}
void ContentAutofillDriver::DidEndTextFieldEditingImpl() {
autofill_manager_->OnDidEndTextFieldEditing();
+ if (browser_autofill_manager_ptr_)
+ browser_autofill_manager_->OnDidEndTextFieldEditing();
}
void ContentAutofillDriver::SelectFieldOptionsDidChangeImpl(
const FormData& form) {
autofill_manager_->SelectFieldOptionsDidChange(form);
+ if (browser_autofill_manager_ptr_)
+ browser_autofill_manager_->SelectFieldOptionsDidChange(form);
}
void ContentAutofillDriver::FillFormForAssistantImpl(
@@ -641,13 +671,21 @@ void ContentAutofillDriver::DidNavigateFrame(
if (autofill_router_) // Can be nullptr only in tests.
autofill_router_->UnregisterDriver(this);
autofill_manager_->Reset();
+ if (browser_autofill_manager_ptr_)
+ browser_autofill_manager_->Reset();
}
void ContentAutofillDriver::SetBrowserAutofillManager(
- std::unique_ptr<BrowserAutofillManager> manager) {
- autofill_manager_ = std::move(manager);
- browser_autofill_manager_ =
- static_cast<BrowserAutofillManager*>(autofill_manager_.get());
+ std::unique_ptr<BrowserAutofillManager> manager,
+ bool enable_browser_autofill_manager) {
+ if (enable_browser_autofill_manager) {
+ browser_autofill_manager_ptr_ = std::move(manager);
+ browser_autofill_manager_ = browser_autofill_manager_ptr_.get();
+ } else {
+ autofill_manager_ = std::move(manager);
+ browser_autofill_manager_ =
+ static_cast<BrowserAutofillManager*>(autofill_manager_.get());
+ }
}
ContentAutofillDriver::ContentAutofillDriver(content::RenderFrameHost* rfh)
diff --git a/components/autofill/content/browser/content_autofill_driver.h b/components/autofill/content/browser/content_autofill_driver.h
--- a/components/autofill/content/browser/content_autofill_driver.h
+++ b/components/autofill/content/browser/content_autofill_driver.h
@@ -138,6 +138,7 @@ class ContentAutofillDriver : public AutofillDriver,
const std::string& app_locale,
ContentAutofillRouter* autofill_router,
AutofillManager::AutofillDownloadManagerState enable_download_manager,
+ bool enable_browser_autofill_manager,
AutofillManager::AutofillManagerFactoryCallback
autofill_manager_factory_callback);
ContentAutofillDriver(const ContentAutofillDriver&) = delete;
@@ -361,7 +362,8 @@ class ContentAutofillDriver : public AutofillDriver,
// Sets the manager to |manager|. Takes ownership of |manager|.
void SetBrowserAutofillManager(
- std::unique_ptr<BrowserAutofillManager> manager);
+ std::unique_ptr<BrowserAutofillManager> manager,
+ bool enable_browser_autofill_manager);
// Reports whether a document collects phone numbers, uses one time code, uses
// WebOTP. There are cases that the reporting is not expected:
@@ -432,6 +434,10 @@ class ContentAutofillDriver : public AutofillDriver,
// pointer to a common root.
raw_ptr<BrowserAutofillManager> browser_autofill_manager_;
+ // adds a reference for BrowserAutofillManager, since native autofill works in
+ // conjunction with browser autofill in Bromite
+ std::unique_ptr<BrowserAutofillManager> browser_autofill_manager_ptr_;
+
// Pointer to an implementation of InternalAuthenticator.
std::unique_ptr<webauthn::InternalAuthenticator> authenticator_impl_;
diff --git a/components/autofill/content/browser/content_autofill_driver_factory.cc b/components/autofill/content/browser/content_autofill_driver_factory.cc
--- a/components/autofill/content/browser/content_autofill_driver_factory.cc
+++ b/components/autofill/content/browser/content_autofill_driver_factory.cc
@@ -32,6 +32,7 @@ void ContentAutofillDriverFactory::CreateForWebContentsAndDelegate(
const std::string& app_locale,
BrowserAutofillManager::AutofillDownloadManagerState
enable_download_manager,
+ bool enable_browser_autofill_manager,
AutofillManager::AutofillManagerFactoryCallback
autofill_manager_factory_callback) {
if (FromWebContents(contents))
@@ -40,7 +41,7 @@ void ContentAutofillDriverFactory::CreateForWebContentsAndDelegate(
contents->SetUserData(
kContentAutofillDriverFactoryWebContentsUserDataKey,
base::WrapUnique(new ContentAutofillDriverFactory(
- contents, client, app_locale, enable_download_manager,
+ contents, client, app_locale, enable_download_manager, enable_browser_autofill_manager,
std::move(autofill_manager_factory_callback))));
}
@@ -78,6 +79,7 @@ ContentAutofillDriverFactory::ContentAutofillDriverFactory(
const std::string& app_locale,
BrowserAutofillManager::AutofillDownloadManagerState
enable_download_manager,
+ bool enable_browser_autofill_manager,
AutofillManager::AutofillManagerFactoryCallback
autofill_manager_factory_callback)
: content::WebContentsObserver(web_contents),
@@ -85,7 +87,8 @@ ContentAutofillDriverFactory::ContentAutofillDriverFactory(
app_locale_(app_locale),
enable_download_manager_(enable_download_manager),
autofill_manager_factory_callback_(
- std::move(autofill_manager_factory_callback)) {}
+ std::move(autofill_manager_factory_callback)),
+ enable_browser_autofill_manager_(enable_browser_autofill_manager) {}
ContentAutofillDriverFactory::~ContentAutofillDriverFactory() = default;
@@ -111,7 +114,7 @@ ContentAutofillDriver* ContentAutofillDriverFactory::DriverForFrame(
if (render_frame_host->IsRenderFrameCreated()) {
driver = std::make_unique<ContentAutofillDriver>(
render_frame_host, client(), app_locale_, &router_,
- enable_download_manager_, autofill_manager_factory_callback_);
+ enable_download_manager_, enable_browser_autofill_manager_, autofill_manager_factory_callback_);
DCHECK_EQ(driver_map_.find(render_frame_host)->second.get(),
driver.get());
} else {
diff --git a/components/autofill/content/browser/content_autofill_driver_factory.h b/components/autofill/content/browser/content_autofill_driver_factory.h
--- a/components/autofill/content/browser/content_autofill_driver_factory.h
+++ b/components/autofill/content/browser/content_autofill_driver_factory.h
@@ -45,6 +45,7 @@ class ContentAutofillDriverFactory : public content::WebContentsObserver,
const std::string& app_locale,
BrowserAutofillManager::AutofillDownloadManagerState
enable_download_manager,
+ bool enable_browser_autofill_manager,
AutofillManager::AutofillManagerFactoryCallback
autofill_manager_factory_callback = {});
@@ -84,6 +85,7 @@ class ContentAutofillDriverFactory : public content::WebContentsObserver,
const std::string& app_locale,
BrowserAutofillManager::AutofillDownloadManagerState
enable_download_manager,
+ bool enable_browser_autofill_manager,
AutofillManager::AutofillManagerFactoryCallback
autofill_manager_factory_callback);
@@ -97,6 +99,8 @@ class ContentAutofillDriverFactory : public content::WebContentsObserver,
// Must be destroyed after |driver_map_|'s elements.
ContentAutofillRouter router_;
+ bool enable_browser_autofill_manager_;
+
// The list of drivers, one for each frame in the WebContents.
// Should be empty at destruction time because its elements are erased in
// RenderFrameDeleted(). In case it is not empty, is must be destroyed before
diff --git a/components/autofill/content/renderer/password_autofill_agent.cc b/components/autofill/content/renderer/password_autofill_agent.cc
--- a/components/autofill/content/renderer/password_autofill_agent.cc
+++ b/components/autofill/content/renderer/password_autofill_agent.cc
@@ -731,7 +731,10 @@ void PasswordAutofillAgent::UpdateStateForTextChange(
void PasswordAutofillAgent::TrackAutofilledElement(
const blink::WebFormControlElement& element) {
- autofill_agent_->TrackAutofilledElement(element);
+ // fix for https://github.com/bromite/bromite/issues/1570
+ AutofillAgent* agent = autofill_agent_.get();
+ if (agent)
+ agent->TrackAutofilledElement(element);
}
bool PasswordAutofillAgent::FillSuggestion(
ChromePasswordManagerClient::CreateForWebContentsWithAutofillClient(
web_contents,
diff --git a/components/autofill/core/common/autofill_prefs.cc b/components/autofill/core/common/autofill_prefs.cc
--- a/components/autofill/core/common/autofill_prefs.cc
+++ b/components/autofill/core/common/autofill_prefs.cc
@@ -128,6 +128,10 @@ const char kAutofillWalletImportStorageCheckboxState[] =
@@ -128,6 +128,9 @@ const char kAutofillWalletImportStorageCheckboxState[] =
const char kAutocompleteLastVersionRetentionPolicy[] =
"autocomplete.retention_policy_last_version";
+// Boolean that is true to enable native Android Autofill
+const char kAutofillAndroidEnabled[] = "autofill.android_autofill_enabled";
+const char kAutofillAndroidIncognitoEnabled[] = "autofill.android_autofill_incognito_enabled";
+
void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry) {
// Synced prefs. Used for cross-device choices, e.g., credit card Autofill.
registry->RegisterBooleanPref(
@@ -160,6 +164,10 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry) {
@@ -160,6 +163,8 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry) {
registry->RegisterBooleanPref(
prefs::kAutofillCreditCardFidoAuthOfferCheckboxState, true);
#endif
+ registry->RegisterBooleanPref(
+ prefs::kAutofillAndroidEnabled, true);
+ registry->RegisterBooleanPref(
+ prefs::kAutofillAndroidIncognitoEnabled, false);
registry->RegisterIntegerPref(
prefs::kAutofillCreditCardSigninPromoImpressionCount, 0);
registry->RegisterBooleanPref(prefs::kAutofillWalletImportEnabled, true);
diff --git a/components/autofill/core/common/autofill_prefs.h b/components/autofill/core/common/autofill_prefs.h
--- a/components/autofill/core/common/autofill_prefs.h
+++ b/components/autofill/core/common/autofill_prefs.h
@@ -47,6 +47,8 @@ extern const char kAutofillUploadEventsLastResetTimestamp[];
@@ -47,6 +47,7 @@ extern const char kAutofillUploadEventsLastResetTimestamp[];
extern const char kAutofillWalletImportEnabled[];
extern const char kAutofillWalletImportStorageCheckboxState[];
extern const char kAutocompleteLastVersionRetentionPolicy[];
+extern const char kAutofillAndroidEnabled[];
+extern const char kAutofillAndroidIncognitoEnabled[];
namespace sync_transport_opt_in {
enum Flags {
diff --git a/components/embedder_support/android/java/src/org/chromium/components/embedder_support/view/ContentView.java b/components/embedder_support/android/java/src/org/chromium/components/embedder_support/view/ContentView.java
--- a/components/embedder_support/android/java/src/org/chromium/components/embedder_support/view/ContentView.java
+++ b/components/embedder_support/android/java/src/org/chromium/components/embedder_support/view/ContentView.java
@@ -36,6 +36,11 @@ import org.chromium.content_public.browser.WebContentsAccessibility;
@@ -36,6 +36,12 @@ import org.chromium.content_public.browser.WebContentsAccessibility;
import org.chromium.ui.base.EventForwarder;
import org.chromium.ui.base.EventOffsetHandler;
+import org.chromium.base.Log;
+import org.chromium.base.annotations.VerifiesOnO;
+import android.util.SparseArray;
+import android.view.autofill.AutofillValue;
+import org.chromium.ui.base.ViewAndroidDelegate;
@ -758,7 +408,7 @@ diff --git a/components/embedder_support/android/java/src/org/chromium/component
/**
* The containing view for {@link WebContents} that exists in the Android UI hierarchy and exposes
* the various {@link View} functionality to it.
@@ -82,6 +87,8 @@ public class ContentView extends FrameLayout
@@ -82,6 +88,8 @@ public class ContentView extends FrameLayout
*/
public static ContentView createContentView(Context context,
@Nullable EventOffsetHandler eventOffsetHandler, @Nullable WebContents webContents) {
@ -767,7 +417,7 @@ diff --git a/components/embedder_support/android/java/src/org/chromium/component
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
return new ContentViewApi23(context, eventOffsetHandler, webContents);
}
@@ -549,4 +556,43 @@ public class ContentView extends FrameLayout
@@ -549,4 +557,44 @@ public class ContentView extends FrameLayout
if (wcax != null) wcax.onProvideVirtualStructure(structure, false);
}
}
@ -775,6 +425,7 @@ diff --git a/components/embedder_support/android/java/src/org/chromium/component
+ /**
+ * API level 26 implementation that includes autofill.
+ */
+ @VerifiesOnO
+ public static class ContentViewWithAutofill extends ContentViewApi23 {
+ private ViewAndroidDelegate viewAndroidDelegate;
+
@ -834,18 +485,6 @@ diff --git a/ui/android/java/src/org/chromium/ui/base/ViewAndroidDelegate.java b
+
+ public void autofill(final SparseArray<AutofillValue> values) {}
}
diff --git a/weblayer/browser/tab_impl.cc b/weblayer/browser/tab_impl.cc
--- a/weblayer/browser/tab_impl.cc
+++ b/weblayer/browser/tab_impl.cc
@@ -1389,7 +1389,8 @@ void TabImpl::InitializeAutofillDriver() {
autofill::ContentAutofillDriverFactory::CreateForWebContentsAndDelegate(
web_contents, AutofillClientImpl::FromWebContents(web_contents),
i18n::GetApplicationLocale(), enable_autofill_download_manager,
- base::BindRepeating(&autofill::AndroidAutofillManager::Create));
+ base::BindRepeating(&autofill::AndroidAutofillManager::Create),
+ /*enable_browser_autofill_manager*/ false);
}
#endif // defined(OS_ANDROID)
--
2.25.1
--
2.20.1

View file

@ -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
@@ -432,7 +432,7 @@ const base::Feature kComputePressure{"ComputePressure",
@@ -416,7 +416,7 @@ const base::Feature kComputePressure{"ComputePressure",
// Prefetch request properties are updated to be privacy-preserving. See
// crbug.com/988956.
const base::Feature kPrefetchPrivacyChanges{"PrefetchPrivacyChanges",
@ -18,5 +18,6 @@ diff --git a/third_party/blink/common/features.cc b/third_party/blink/common/fea
// Decodes jpeg 4:2:0 formatted images to YUV instead of RGBX and stores in this
// format in the image decode cache. See crbug.com/919627 for details on the
--
2.25.1
--
2.20.1

View file

@ -27,18 +27,18 @@ See also: https://github.com/bromite/bromite/issues/1062
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
@@ -714,6 +714,7 @@ chrome_java_resources = [
@@ -717,6 +717,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/shopping_filter_row.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
@@ -1041,6 +1041,7 @@ chrome_java_sources = [
@@ -1048,6 +1048,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",
@ -171,8 +171,8 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/init/ProcessIni
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.tasks.tab_management.PriceTrackingUtilities;
import org.chromium.chrome.browser.ui.searchactivityutils.SearchActivityPreferencesManager;
import org.chromium.chrome.browser.util.AfterStartupTaskUtils;
@@ -409,6 +410,8 @@ public class ProcessInitializationHandler {
deferredStartupHandler.addDeferredTask(
() -> IncognitoTabLauncher.updateComponentEnabledState());
@ -304,8 +304,8 @@ new file mode 100644
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
@@ -5573,6 +5573,10 @@ const FeatureEntry kFeatureEntries[] = {
FEATURE_VALUE_TYPE(share::kSharingDesktopScreenshotsEdit)},
@@ -5566,6 +5566,10 @@ const FeatureEntry kFeatureEntries[] = {
FEATURE_VALUE_TYPE(sharing_hub::kDesktopScreenshots)},
#endif
+ {"shared-intent-ui", flag_descriptions::kSharedIntentUIName,
@ -318,7 +318,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
@@ -2268,6 +2268,11 @@ const char kSharingDesktopScreenshotsDescription[] =
@@ -2335,6 +2335,11 @@ const char kSharingDesktopScreenshotsDescription[] =
"Enables taking"
" screenshots from the desktop sharing hub.";
@ -333,9 +333,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
@@ -1316,6 +1316,9 @@ extern const char kSharingDesktopScreenshotsDescription[];
extern const char kSharingDesktopScreenshotsEditName[];
extern const char kSharingDesktopScreenshotsEditDescription[];
@@ -1340,6 +1340,9 @@ extern const char kSharedClipboardUIDescription[];
extern const char kSharingDesktopScreenshotsName[];
extern const char kSharingDesktopScreenshotsDescription[];
+extern const char kSharedIntentUIName[];
+extern const char kSharedIntentUIDescription[];
@ -346,15 +346,15 @@ 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
@@ -266,6 +266,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
@@ -270,6 +270,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
&kServiceManagerForDownload,
&kShareButtonInTopToolbar,
&kSharedClipboardUI,
+ &kSharedIntentUI,
&kSharingHubLinkToggle,
&kSingleTouchSelect,
&kSpannableInlineAutocomplete,
&kSpecialLocaleWrapper,
@@ -667,6 +668,9 @@ const base::Feature kSearchEnginePromoExistingDevice{
@@ -657,6 +658,9 @@ const base::Feature kSearchEnginePromoExistingDevice{
const base::Feature kSearchEnginePromoNewDevice{
"SearchEnginePromo.NewDevice", base::FEATURE_ENABLED_BY_DEFAULT};
@ -367,7 +367,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
@@ -130,6 +130,7 @@ extern const base::Feature kRelatedSearchesSimplifiedUx;
@@ -126,6 +126,7 @@ extern const base::Feature kRelatedSearchesSimplifiedUx;
extern const base::Feature kRelatedSearchesUi;
extern const base::Feature kSearchEnginePromoExistingDevice;
extern const base::Feature kSearchEnginePromoNewDevice;
@ -378,7 +378,7 @@ 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
@@ -484,6 +484,7 @@ public abstract class ChromeFeatureList {
@@ -488,6 +488,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";
@ -389,7 +389,7 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f
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
@@ -4743,6 +4743,19 @@ To change this setting, <ph name="BEGIN_LINK">&lt;resetlink&gt;</ph>reset sync<p
@@ -4578,6 +4578,19 @@ To change this setting, <ph name="BEGIN_LINK">&lt;resetlink&gt;</ph>reset sync<p
Send text to Your Devices
</message>
@ -409,5 +409,6 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro
<!-- 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.25.1
--
2.20.1

View file

@ -9,7 +9,7 @@ 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
@@ -99,7 +99,7 @@ const base::Feature kFreezePurgeMemoryAllPagesFrozen{
@@ -86,7 +86,7 @@ const base::Feature kFreezePurgeMemoryAllPagesFrozen{
// Freezes the user-agent as part of https://github.com/WICG/ua-client-hints.
const base::Feature kReduceUserAgent{"ReduceUserAgent",
@ -18,5 +18,6 @@ diff --git a/third_party/blink/common/features.cc b/third_party/blink/common/fea
// Enables the frequency capping for detecting overlay popups. Overlay-popups
// are the interstitials that pop up and block the main content of the page.
--
2.25.1
--
2.20.1

File diff suppressed because it is too large Load diff

View file

@ -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
@@ -318,7 +318,7 @@ public class PasswordSettings extends PreferenceFragmentCompat
@@ -319,7 +319,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) {
@@ -398,7 +398,7 @@ public class PasswordSettings extends PreferenceFragmentCompat
@@ -399,7 +399,7 @@ public class PasswordSettings extends PreferenceFragmentCompat
return;
}
@ -27,5 +27,6 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/password_manage
PreferenceCategory profileCategory = new PreferenceCategory(getStyledContext());
profileCategory.setKey(PREF_KEY_CATEGORY_EXCEPTIONS);
--
2.25.1
--
2.20.1

View file

@ -1,8 +1,8 @@
From: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Sun, 27 Oct 2019 10:18:39 +0100
Subject: Increase number of autocomplete matches to 10
Subject: Increase number of autocomplete matches from 5 to 10
Patch adapted from https://github.com/Eloston/ungoogled-chromium/issues/814#issuecomment-526874703
Patch from https://github.com/Eloston/ungoogled-chromium/issues/814#issuecomment-526874703
---
components/omnibox/browser/autocomplete_result.cc | 3 ++-
components/omnibox/browser/omnibox_field_trial.cc | 6 +++---
@ -11,12 +11,12 @@ Patch adapted from https://github.com/Eloston/ungoogled-chromium/issues/814#issu
diff --git a/components/omnibox/browser/autocomplete_result.cc b/components/omnibox/browser/autocomplete_result.cc
--- a/components/omnibox/browser/autocomplete_result.cc
+++ b/components/omnibox/browser/autocomplete_result.cc
@@ -69,7 +69,8 @@ struct MatchGURLHash {
@@ -68,7 +68,8 @@ struct MatchGURLHash {
// static
size_t AutocompleteResult::GetMaxMatches(bool is_zero_suggest) {
#if (defined(OS_ANDROID))
- constexpr size_t kDefaultMaxAutocompleteMatches = 8;
+ // changed from 8, this needs to be double the value of default_max_matches_per_provider from components/omnibox/browser/omnibox_field_trial.cc
- constexpr size_t kDefaultMaxAutocompleteMatches = 5;
+ // changed from 6, this needs to be double the value of default_max_matches_per_provider from components/omnibox/browser/omnibox_field_trial.cc
+ constexpr size_t kDefaultMaxAutocompleteMatches = 10;
constexpr size_t kDefaultMaxZeroSuggestMatches = 15;
#elif defined(OS_IOS) // !defined(OS_ANDROID)
@ -45,5 +45,6 @@ diff --git a/components/omnibox/browser/omnibox_field_trial.cc b/components/omni
return default_max_matches_per_provider;
}
--
2.25.1
--
2.20.1

View file

@ -33,15 +33,15 @@ 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"
+#include "extensions/video_bg_play.h"
#include "third_party/blink/renderer/core/page/scrolling/snap_coordinator.h"
#include "third_party/blink/renderer/core/page/scrolling/top_document_root_scroller_controller.h"
#include "third_party/blink/renderer/core/page/spatial_navigation_controller.h"
@@ -344,6 +345,8 @@
#include "third_party/blink/renderer/core/page/scrolling/text_fragment_anchor.h"
#include "third_party/blink/renderer/core/page/scrolling/text_fragment_handler.h"
@@ -342,6 +343,8 @@
#include "third_party/blink/renderer/platform/wtf/text/string_buffer.h"
#include "third_party/blink/renderer/platform/wtf/text/text_encoding_registry.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();
@@ -6566,6 +6569,61 @@ void Document::setAllowDeclarativeShadowRoots(bool val) {
@@ -6521,6 +6524,61 @@ void Document::setAllowDeclarativeShadowRoots(bool val) {
val ? AllowState::kAllow : AllowState::kDeny;
}
@ -112,7 +112,7 @@ 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);
@@ -6624,6 +6682,10 @@ void Document::FinishedParsing() {
@@ -6579,6 +6637,10 @@ void Document::FinishedParsing() {
if (frame->IsMainFrame() && ShouldMarkFontPerformance())
FontPerformance::MarkDomContentLoaded();
@ -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
@@ -1786,6 +1786,9 @@ class CORE_EXPORT Document : public ContainerNode,
@@ -1776,6 +1776,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
@@ -174,6 +174,11 @@ void HTMLScriptElement::setTextContent(const String& string) {
@@ -169,6 +169,11 @@ void HTMLScriptElement::setTextContent(const String& string) {
script_text_internal_slot_ = ParkableString(string.Impl());
}
@ -184,5 +184,6 @@ diff --git a/third_party/blink/renderer/core/html/html_script_element.h b/third_
void setAsync(bool);
bool async() const;
--
2.25.1
--
2.20.1

View file

@ -16,7 +16,7 @@ diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/androi
@@ -37,6 +37,11 @@
android:title="@string/preload_pages_title"
android:summary="@string/preload_pages_summary"
android:fragment="org.chromium.chrome.browser.prefetch.settings.PreloadPagesSettingsFragment"/>
android:persistent="false"/>
+ <org.chromium.components.browser_ui.settings.ChromeSwitchPreference
+ android:key="force_no_jit"
+ android:title="@string/force_no_jit_title"
@ -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;
@@ -82,6 +83,7 @@ public class PrivacySettings
@@ -83,6 +84,7 @@ public class PrivacySettings
private static final String PREF_SEARCH_SUGGESTIONS = "search_suggestions";
private static final String PREF_CONTEXTUAL_SEARCH = "contextual_search";
public static final String PREF_AUTOFILL_ASSISTANT = "autofill_assistant";
@ -44,33 +44,33 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
private ChromeSwitchPreference mSearchSuggestions;
private @Nullable ChromeSwitchPreference mAutofillAssistant;
private @Nullable Preference mContextualSearch;
@@ -214,6 +216,10 @@ public class PrivacySettings
@@ -242,6 +244,10 @@ public class PrivacySettings
.setBoolean(Pref.CAN_MAKE_PAYMENT_ENABLED, (boolean) newValue);
} else if (PREF_SEARCH_SUGGESTIONS.equals(key)) {
UserPrefs.get(Profile.getLastUsedRegularProfile())
.setBoolean(Pref.SEARCH_SUGGEST_ENABLED, (boolean) newValue);
prefService.setBoolean(Pref.SEARCH_SUGGEST_ENABLED, (boolean) newValue);
+ } else if (PREF_FORCE_NO_JIT.equals(key)) {
+ SharedPreferences.Editor sharedPreferenceEditor = ContextUtils.getAppSharedPreferences().edit();
+ sharedPreferenceEditor.putBoolean(PREF_FORCE_NO_JIT, (boolean) newValue);
+ sharedPreferenceEditor.apply();
} else if (PREF_AUTOFILL_ASSISTANT.equals(key)) {
mSharedPreferencesManager.writeBoolean(
ChromePreferenceKeys.AUTOFILL_ASSISTANT_ENABLED, (boolean) newValue);
@@ -268,6 +274,11 @@ public class PrivacySettings
ChromePreferenceKeys.AUTOFILL_ASSISTANT_ENABLED, (boolean) newValue);
@@ -325,6 +331,11 @@ public class PrivacySettings
prefService.getBoolean(Pref.INCOGNITO_TAB_HISTORY_ENABLED));
}
Preference privacySandboxPreference = findPreference(PREF_PRIVACY_SANDBOX);
if (privacySandboxPreference != null) {
+ ChromeSwitchPreference forceNoJit =
+ (ChromeSwitchPreference) findPreference(PREF_FORCE_NO_JIT);
+ forceNoJit.setOnPreferenceChangeListener(this);
+ forceNoJit.setManagedPreferenceDelegate(mManagedPreferenceDelegate);
+
privacySandboxPreference.setSummary(
PrivacySandboxSettingsFragment.getStatusString(getContext()));
}
updateIncognitoReauthPreference();
}
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
@@ -1003,6 +1003,13 @@ Privacy Sandbox trials are still in active development and are available in sele
@@ -952,6 +952,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>
@ -118,5 +118,6 @@ diff --git a/content/public/android/java/src/org/chromium/content/browser/Device
+ }
+ }
}
--
2.25.1
--
2.20.1

View file

@ -10,7 +10,7 @@ Subject: Keep empty tabs between sessions
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabPersistentStore.java b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabPersistentStore.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabPersistentStore.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabPersistentStore.java
@@ -698,15 +698,6 @@ public class TabPersistentStore {
@@ -690,15 +690,6 @@ public class TabPersistentStore {
.createFrozenTab(tabState, serializedCriticalPersistedTabData, tabToRestore.id,
isIncognito, restoredIndex);
} else {
@ -29,7 +29,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabPer
diff --git a/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/state/CriticalPersistedTabData.java b/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/state/CriticalPersistedTabData.java
--- a/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/state/CriticalPersistedTabData.java
+++ b/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/state/CriticalPersistedTabData.java
@@ -493,10 +493,6 @@ public class CriticalPersistedTabData extends PersistedTabData {
@@ -440,10 +440,6 @@ public class CriticalPersistedTabData extends PersistedTabData {
if (getUrl() == null || TextUtils.isEmpty(getUrl().getSpec())) {
return false;
}
@ -40,5 +40,6 @@ diff --git a/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/state/C
if (isTabUrlContentScheme(getUrl().getSpec())) {
return false;
}
--
2.25.1
--
2.20.1

View file

@ -127,7 +127,7 @@ diff --git a/chrome/browser/crash_upload_list/crash_upload_list_android.cc b/chr
diff --git a/chrome/browser/crash_upload_list/crash_upload_list_android.h b/chrome/browser/crash_upload_list/crash_upload_list_android.h
--- a/chrome/browser/crash_upload_list/crash_upload_list_android.h
+++ b/chrome/browser/crash_upload_list/crash_upload_list_android.h
@@ -34,6 +34,7 @@ class CrashUploadListAndroid : public TextLogUploadList {
@@ -35,6 +35,7 @@ class CrashUploadListAndroid : public TextLogUploadList {
std::vector<UploadInfo> LoadUploadList() override;
void RequestSingleUpload(const std::string& local_id) override;
@ -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
@@ -133,6 +133,13 @@ bool IsAccessAllowedAndroid(const base::FilePath& path) {
@@ -131,6 +131,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
@@ -629,6 +629,7 @@ static_library("ui") {
@@ -616,6 +616,7 @@ static_library("ui") {
"//third_party/re2",
"//third_party/webrtc_overrides:webrtc_component",
"//third_party/zlib",
@ -166,7 +166,7 @@ diff --git a/chrome/browser/ui/BUILD.gn b/chrome/browser/ui/BUILD.gn
diff --git a/chrome/browser/ui/webui/crashes_ui.cc b/chrome/browser/ui/webui/crashes_ui.cc
--- a/chrome/browser/ui/webui/crashes_ui.cc
+++ b/chrome/browser/ui/webui/crashes_ui.cc
@@ -37,6 +37,17 @@
@@ -38,6 +38,17 @@
#include "google_apis/gaia/gaia_auth_util.h"
#include "ui/base/resource/resource_bundle.h"
@ -184,7 +184,7 @@ diff --git a/chrome/browser/ui/webui/crashes_ui.cc b/chrome/browser/ui/webui/cra
#if BUILDFLAG(IS_CHROMEOS_ASH)
#include "chromeos/dbus/dbus_thread_manager.h" // nogncheck
#include "chromeos/dbus/debug_daemon/debug_daemon_client.h"
@@ -74,6 +85,10 @@ content::WebUIDataSource* CreateCrashesUIHTMLSource() {
@@ -75,6 +86,10 @@ content::WebUIDataSource* CreateCrashesUIHTMLSource() {
return source;
}
@ -195,7 +195,7 @@ diff --git a/chrome/browser/ui/webui/crashes_ui.cc b/chrome/browser/ui/webui/cra
////////////////////////////////////////////////////////////////////////////////
//
// CrashesDOMHandler
@@ -83,7 +98,7 @@ content::WebUIDataSource* CreateCrashesUIHTMLSource() {
@@ -84,7 +99,7 @@ content::WebUIDataSource* CreateCrashesUIHTMLSource() {
// The handler for Javascript messages for the chrome://crashes/ page.
class CrashesDOMHandler : public WebUIMessageHandler {
public:
@ -204,7 +204,7 @@ diff --git a/chrome/browser/ui/webui/crashes_ui.cc b/chrome/browser/ui/webui/cra
CrashesDOMHandler(const CrashesDOMHandler&) = delete;
CrashesDOMHandler& operator=(const CrashesDOMHandler&) = delete;
@@ -99,6 +114,8 @@ class CrashesDOMHandler : public WebUIMessageHandler {
@@ -100,6 +115,8 @@ class CrashesDOMHandler : public WebUIMessageHandler {
// Asynchronously fetches the list of crashes. Called from JS.
void HandleRequestCrashes(base::Value::ConstListView args);
@ -213,7 +213,7 @@ diff --git a/chrome/browser/ui/webui/crashes_ui.cc b/chrome/browser/ui/webui/cra
#if BUILDFLAG(IS_CHROMEOS_ASH)
// Asynchronously triggers crash uploading. Called from JS.
void HandleRequestUploads(base::Value::ConstListView args);
@@ -110,13 +127,26 @@ class CrashesDOMHandler : public WebUIMessageHandler {
@@ -111,13 +128,26 @@ class CrashesDOMHandler : public WebUIMessageHandler {
// Asynchronously requests a user triggered upload. Called from JS.
void HandleRequestSingleCrashUpload(base::Value::ConstListView args);
@ -242,7 +242,7 @@ diff --git a/chrome/browser/ui/webui/crashes_ui.cc b/chrome/browser/ui/webui/cra
upload_list_ = CreateCrashUploadList();
}
@@ -143,10 +173,24 @@ void CrashesDOMHandler::RegisterMessages() {
@@ -144,10 +174,24 @@ void CrashesDOMHandler::RegisterMessages() {
crash_reporter::kCrashesUIRequestSingleCrashUpload,
base::BindRepeating(&CrashesDOMHandler::HandleRequestSingleCrashUpload,
base::Unretained(this)));
@ -267,7 +267,7 @@ diff --git a/chrome/browser/ui/webui/crashes_ui.cc b/chrome/browser/ui/webui/cra
if (first_load_) {
first_load_ = false;
if (list_available_)
@@ -179,8 +223,7 @@ void CrashesDOMHandler::OnUploadListAvailable() {
@@ -180,8 +224,7 @@ void CrashesDOMHandler::OnUploadListAvailable() {
}
void CrashesDOMHandler::UpdateUI() {
@ -277,7 +277,7 @@ diff --git a/chrome/browser/ui/webui/crashes_ui.cc b/chrome/browser/ui/webui/cra
bool system_crash_reporter = false;
#if BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_CHROMEOS_LACROS)
@@ -236,14 +279,112 @@ void CrashesDOMHandler::UpdateUI() {
@@ -237,14 +280,112 @@ void CrashesDOMHandler::UpdateUI() {
void CrashesDOMHandler::HandleRequestSingleCrashUpload(
base::Value::ConstListView args) {
@ -396,7 +396,7 @@ diff --git a/chrome/browser/ui/webui/crashes_ui.cc b/chrome/browser/ui/webui/cra
}
} // namespace
@@ -255,7 +396,8 @@ void CrashesDOMHandler::HandleRequestSingleCrashUpload(
@@ -256,7 +397,8 @@ void CrashesDOMHandler::HandleRequestSingleCrashUpload(
///////////////////////////////////////////////////////////////////////////////
CrashesUI::CrashesUI(content::WebUI* web_ui) : WebUIController(web_ui) {
@ -839,7 +839,7 @@ diff --git a/components/upload_list/upload_list.cc b/components/upload_list/uplo
diff --git a/components/upload_list/upload_list.h b/components/upload_list/upload_list.h
--- a/components/upload_list/upload_list.h
+++ b/components/upload_list/upload_list.h
@@ -65,6 +65,9 @@ class UploadList : public base::RefCountedThreadSafe<UploadList> {
@@ -66,6 +66,9 @@ class UploadList : public base::RefCountedThreadSafe<UploadList> {
// Formatted file size for locally stored data.
std::u16string file_size;
@ -849,7 +849,7 @@ diff --git a/components/upload_list/upload_list.h b/components/upload_list/uploa
};
UploadList();
@@ -94,6 +97,12 @@ class UploadList : public base::RefCountedThreadSafe<UploadList> {
@@ -95,6 +98,12 @@ class UploadList : public base::RefCountedThreadSafe<UploadList> {
// Must be called only after a Load() callback has been received.
void GetUploads(size_t max_count, std::vector<UploadInfo>* uploads);
@ -862,5 +862,6 @@ diff --git a/components/upload_list/upload_list.h b/components/upload_list/uploa
protected:
virtual ~UploadList();
--
2.25.1
--
2.20.1

View file

@ -5,7 +5,8 @@ Subject: Modify default preferences
---
chrome/browser/background/background_mode_manager.cc | 2 +-
chrome/browser/chrome_content_browser_client.cc | 2 +-
chrome/browser/prefetch/prefetch_prefs.h | 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 +++---
@ -15,7 +16,7 @@ Subject: Modify default preferences
components/bookmarks/browser/bookmark_utils.cc | 2 +-
components/bookmarks/browser/features.cc | 2 +-
components/safe_browsing/core/common/safe_browsing_prefs.cc | 4 ++--
12 files changed, 16 insertions(+), 16 deletions(-)
13 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
@ -32,7 +33,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
@@ -1282,7 +1282,7 @@ void ChromeContentBrowserClient::RegisterLocalStatePrefs(
@@ -1267,7 +1267,7 @@ void ChromeContentBrowserClient::RegisterLocalStatePrefs(
void ChromeContentBrowserClient::RegisterProfilePrefs(
user_prefs::PrefRegistrySyncable* registry) {
registry->RegisterBooleanPref(prefs::kDisable3DAPIs, false);
@ -41,22 +42,34 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch
// Register user prefs for mapping SitePerProcess and IsolateOrigins in
// user policy in addition to the same named ones in Local State (which are
// used for mapping the command-line flags).
diff --git a/chrome/browser/prefetch/prefetch_prefs.h b/chrome/browser/prefetch/prefetch_prefs.h
--- a/chrome/browser/prefetch/prefetch_prefs.h
+++ b/chrome/browser/prefetch/prefetch_prefs.h
@@ -22,7 +22,7 @@ enum class NetworkPredictionOptions {
kWifiOnlyDeprecated = 1,
kDisabled = 2,
kExtended = 3,
- kDefault = kWifiOnlyDeprecated,
+ kDefault = kDisabled,
diff --git a/chrome/browser/net/prediction_options.cc b/chrome/browser/net/prediction_options.cc
--- a/chrome/browser/net/prediction_options.cc
+++ b/chrome/browser/net/prediction_options.cc
@@ -31,7 +31,7 @@ NetworkPredictionStatus CanPrefetchAndPrerender(
}
return NetworkPredictionStatus::DISABLED_DUE_TO_NETWORK;
default:
- DCHECK_EQ(NETWORK_PREDICTION_NEVER, network_prediction_options);
+ //DCHECK_EQ(NETWORK_PREDICTION_NEVER, network_prediction_options);
return NetworkPredictionStatus::DISABLED_ALWAYS;
}
}
diff --git a/chrome/browser/net/prediction_options.h b/chrome/browser/net/prediction_options.h
--- a/chrome/browser/net/prediction_options.h
+++ b/chrome/browser/net/prediction_options.h
@@ -22,7 +22,7 @@ enum NetworkPredictionOptions {
NETWORK_PREDICTION_ALWAYS,
NETWORK_PREDICTION_WIFI_ONLY,
NETWORK_PREDICTION_NEVER,
- NETWORK_PREDICTION_DEFAULT = NETWORK_PREDICTION_WIFI_ONLY,
+ NETWORK_PREDICTION_DEFAULT = NETWORK_PREDICTION_NEVER,
};
// Enum representing possible values of the Preload Pages opt-in state. Since
enum class NetworkPredictionStatus {
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
@@ -277,7 +277,7 @@ const char Profile::kProfileKey[] = "__PROFILE__";
@@ -276,7 +276,7 @@ const char Profile::kProfileKey[] = "__PROFILE__";
void Profile::RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry) {
registry->RegisterBooleanPref(
prefs::kSearchSuggestEnabled,
@ -98,7 +111,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(
@ -110,7 +123,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
@@ -701,9 +701,9 @@ class BrowserAutofillManager : public AutofillManager,
@@ -695,9 +695,9 @@ class BrowserAutofillManager : public AutofillManager,
std::unique_ptr<CreditCardFormEventLogger> credit_card_form_event_logger_;
// Have we logged whether Autofill is enabled for this page load?
@ -137,7 +150,7 @@ diff --git a/components/autofill/core/common/autofill_prefs.cc b/components/auto
diff --git a/components/bookmarks/browser/bookmark_utils.cc b/components/bookmarks/browser/bookmark_utils.cc
--- a/components/bookmarks/browser/bookmark_utils.cc
+++ b/components/bookmarks/browser/bookmark_utils.cc
@@ -438,7 +438,7 @@ bool DoesBookmarkContainWords(const std::u16string& title,
@@ -437,7 +437,7 @@ bool DoesBookmarkContainWords(const std::u16string& title,
void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry) {
registry->RegisterBooleanPref(
prefs::kShowBookmarkBar,
@ -161,7 +174,7 @@ diff --git a/components/bookmarks/browser/features.cc b/components/bookmarks/bro
diff --git a/components/safe_browsing/core/common/safe_browsing_prefs.cc b/components/safe_browsing/core/common/safe_browsing_prefs.cc
--- a/components/safe_browsing/core/common/safe_browsing_prefs.cc
+++ b/components/safe_browsing/core/common/safe_browsing_prefs.cc
@@ -196,9 +196,9 @@ void RegisterProfilePrefs(PrefRegistrySimple* registry) {
@@ -190,9 +190,9 @@ void RegisterProfilePrefs(PrefRegistrySimple* registry) {
registry->RegisterBooleanPref(
prefs::kSafeBrowsingSawInterstitialScoutReporting, false);
registry->RegisterBooleanPref(
@ -173,5 +186,6 @@ diff --git a/components/safe_browsing/core/common/safe_browsing_prefs.cc b/compo
user_prefs::PrefRegistrySyncable::SYNCABLE_PREF);
registry->RegisterBooleanPref(prefs::kSafeBrowsingEnhanced, false);
registry->RegisterBooleanPref(prefs::kSafeBrowsingProceedAnywayDisabled,
--
2.25.1
--
2.20.1

View file

@ -40,15 +40,15 @@ 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
@@ -19,6 +19,7 @@ import androidx.vectordrawable.graphics.drawable.VectorDrawableCompat;
import org.chromium.base.ContextUtils;
@@ -20,6 +20,7 @@ import org.chromium.base.ContextUtils;
import org.chromium.base.BuildInfo;
import org.chromium.base.Log;
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.incognito.reauth.IncognitoReauthSettingSwitchPreference;
@@ -46,6 +47,13 @@ import org.chromium.components.user_prefs.UserPrefs;
import org.chromium.chrome.browser.incognito.reauth.IncognitoReauthManager;
@@ -47,6 +48,13 @@ import org.chromium.components.user_prefs.UserPrefs;
import org.chromium.ui.text.NoUnderlineClickableSpan;
import org.chromium.ui.text.SpanApplier;
@ -62,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.
*/
@@ -69,6 +77,18 @@ public class PrivacySettings
@@ -70,6 +78,18 @@ public class PrivacySettings
private static final String PREF_CLOSE_TABS_ON_EXIT = "close_tabs_on_exit";
@ -79,9 +79,9 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
+ private final PrefService prefService = UserPrefs.get(Profile.getLastUsedRegularProfile());
+
private ManagedPreferenceDelegate mManagedPreferenceDelegate;
private IncognitoLockSettings mIncognitoLockSettings;
@@ -111,6 +131,29 @@ public class PrivacySettings
@Override
@@ -108,6 +128,29 @@ public class PrivacySettings
mManagedPreferenceDelegate = createManagedPreferenceDelegate();
@ -111,20 +111,36 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
ChromeSwitchPreference canMakePaymentPref =
(ChromeSwitchPreference) findPreference(PREF_CAN_MAKE_PAYMENT);
canMakePaymentPref.setOnPreferenceChangeListener(this);
@@ -168,6 +211,12 @@ public class PrivacySettings
@@ -197,6 +240,11 @@ public class PrivacySettings
} else if (PREF_CAN_MAKE_PAYMENT.equals(key)) {
UserPrefs.get(Profile.getLastUsedRegularProfile())
.setBoolean(Pref.CAN_MAKE_PAYMENT_ENABLED, (boolean) newValue);
+ } else if (PREF_SEARCH_SUGGESTIONS.equals(key)) {
+ UserPrefs.get(Profile.getLastUsedRegularProfile())
+ .setBoolean(Pref.SEARCH_SUGGEST_ENABLED, (boolean) newValue);
+ prefService.setBoolean(Pref.SEARCH_SUGGEST_ENABLED, (boolean) newValue);
+ } else if (PREF_AUTOFILL_ASSISTANT.equals(key)) {
+ mSharedPreferencesManager.writeBoolean(
+ ChromePreferenceKeys.AUTOFILL_ASSISTANT_ENABLED, (boolean) newValue);
} else if (PREF_HTTPS_FIRST_MODE.equals(key)) {
UserPrefs.get(Profile.getLastUsedRegularProfile())
.setBoolean(Pref.HTTPS_ONLY_MODE_ENABLED, (boolean) newValue);
@@ -192,7 +241,7 @@ public class PrivacySettings
+ ChromePreferenceKeys.AUTOFILL_ASSISTANT_ENABLED, (boolean) newValue);
} else if (PREF_NETWORK_PREDICTIONS.equals(key)) {
PrivacyPreferencesManagerImpl.getInstance().setNetworkPredictionEnabled(
(boolean) newValue);
@@ -219,6 +267,16 @@ public class PrivacySettings
public static final String PREF_INCOGNITO_TAB_HISTORY_ENABLED = "incognito_history_enabled";
+ /**
+ * This checks whether Autofill Assistant is enabled and was shown at least once (only then
+ * will the AA switch be assigned a value).
+ */
+ private boolean shouldShowAutofillAssistantPreference() {
+ return ChromeFeatureList.isEnabled(ChromeFeatureList.AUTOFILL_ASSISTANT)
+ && mSharedPreferencesManager.contains(
+ ChromePreferenceKeys.AUTOFILL_ASSISTANT_ENABLED);
+ }
+
@Override
public void onResume() {
super.onResume();
@@ -229,7 +287,7 @@ public class PrivacySettings
* Updates the preferences.
*/
public void updatePreferences() {
@ -133,26 +149,10 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
ChromeSwitchPreference canMakePaymentPref =
(ChromeSwitchPreference) findPreference(PREF_CAN_MAKE_PAYMENT);
@@ -244,6 +293,15 @@ public class PrivacySettings
};
}
+ /**
+ * This checks whether Autofill Assistant is enabled and was shown at least once (only then
+ * will the AA switch be assigned a value).
+ */
+ private boolean shouldShowAutofillAssistantPreference() {
+ return mSharedPreferencesManager.contains(
+ ChromePreferenceKeys.AUTOFILL_ASSISTANT_ENABLED);
+ }
+
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
menu.clear();
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
@@ -450,6 +450,10 @@ CHAR_LIMIT guidelines:
@@ -405,6 +405,10 @@ CHAR_LIMIT guidelines:
No statistics or crash reports are sent to Google
</message>
@ -163,5 +163,6 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro
<!-- Search engine settings -->
<message name="IDS_SEARCH_ENGINE_SETTINGS" desc="Title for Search Engine settings. [CHAR_LIMIT=32]">
Search engine
--
2.25.1
--
2.20.1

View file

@ -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
@@ -2325,6 +2325,7 @@ static_library("browser") {
@@ -2316,6 +2316,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
@@ -183,6 +183,7 @@
@@ -186,6 +186,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,7 +75,7 @@ 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"
@@ -2737,6 +2738,20 @@ const FeatureEntry kFeatureEntries[] = {
@@ -2824,6 +2825,20 @@ const FeatureEntry kFeatureEntries[] = {
flag_descriptions::kWebrtcUseMinMaxVEADimensionsName,
flag_descriptions::kWebrtcUseMinMaxVEADimensionsDescription, kOsAll,
FEATURE_VALUE_TYPE(blink::features::kWebRtcUseMinMaxVEADimensions)},
@ -99,7 +99,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
diff --git a/content/browser/BUILD.gn b/content/browser/BUILD.gn
--- a/content/browser/BUILD.gn
+++ b/content/browser/BUILD.gn
@@ -224,6 +224,7 @@ source_set("browser") {
@@ -223,6 +223,7 @@ source_set("browser") {
"//third_party/libyuv",
"//third_party/re2",
"//third_party/sqlite",
@ -110,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
@@ -215,6 +215,8 @@
@@ -212,6 +212,8 @@
#include "services/tracing/public/cpp/system_tracing_service.h"
#endif
@ -119,7 +119,7 @@ diff --git a/content/browser/renderer_host/render_process_host_impl.cc b/content
#if defined(OS_WIN)
#include "base/win/scoped_com_initializer.h"
#include "base/win/windows_version.h"
@@ -3286,6 +3288,9 @@ void RenderProcessHostImpl::PropagateBrowserCommandLineToRenderer(
@@ -3413,6 +3415,9 @@ void RenderProcessHostImpl::PropagateBrowserCommandLineToRenderer(
switches::kDisableBreakpad,
switches::kDisableDatabases,
switches::kDisableFileSystem,
@ -143,7 +143,7 @@ diff --git a/content/child/BUILD.gn b/content/child/BUILD.gn
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
@@ -39,6 +39,8 @@
@@ -38,6 +38,8 @@
#include "ui/gl/gl_switches.h"
#include "ui/native_theme/native_theme_features.h"
@ -152,7 +152,7 @@ diff --git a/content/child/runtime_features.cc b/content/child/runtime_features.
#if defined(OS_ANDROID)
#include "base/android/build_info.h"
#endif
@@ -558,6 +560,13 @@ void SetCustomizedRuntimeFeaturesFromCombinedArgs(
@@ -540,6 +542,13 @@ void SetCustomizedRuntimeFeaturesFromCombinedArgs(
if (!command_line.HasSwitch(switches::kDisableYUVImageDecoding) &&
base::FeatureList::IsEnabled(
blink::features::kDecodeLossyWebPImagesToYUV)) {
@ -169,7 +169,7 @@ 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
@@ -219,6 +219,9 @@ class WebRuntimeFeatures {
@@ -216,6 +216,9 @@ class WebRuntimeFeatures {
BLINK_PLATFORM_EXPORT static void EnableAutomationControlled(bool);
BLINK_PLATFORM_EXPORT static void EnableAutoplayIgnoresWebAudio(bool);
BLINK_PLATFORM_EXPORT static void EnableMediaControlsExpandGesture(bool);
@ -190,7 +190,7 @@ diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink
#include "base/time/time.h"
#include "cc/input/overscroll_behavior.h"
#include "cc/input/scroll_snap_data.h"
@@ -2176,6 +2177,23 @@ void Document::UpdateStyleAndLayoutTreeForThisDocument() {
@@ -2148,6 +2149,23 @@ void Document::UpdateStyleAndLayoutTreeForThisDocument() {
#if DCHECK_IS_ON()
AssertLayoutTreeUpdated(*this, true /* allow_dirty_container_subtrees */);
#endif
@ -217,7 +217,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
@@ -457,6 +457,10 @@ class CORE_EXPORT Document : public ContainerNode,
@@ -456,6 +456,10 @@ class CORE_EXPORT Document : public ContainerNode,
has_xml_declaration_ = has_xml_declaration ? 1 : 0;
}
@ -228,7 +228,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;
@@ -2089,6 +2093,9 @@ class CORE_EXPORT Document : public ContainerNode,
@@ -2081,6 +2085,9 @@ class CORE_EXPORT Document : public ContainerNode,
base::ElapsedTimer start_time_;
@ -241,7 +241,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
@@ -2052,6 +2052,11 @@ DOMRectList* Element::getClientRects() {
@@ -2114,6 +2114,11 @@ DOMRectList* Element::getClientRects() {
DCHECK(element_layout_object);
GetDocument().AdjustFloatQuadsForScrollAndAbsoluteZoom(
quads, *element_layout_object);
@ -253,7 +253,7 @@ diff --git a/third_party/blink/renderer/core/dom/element.cc b/third_party/blink/
return MakeGarbageCollected<DOMRectList>(quads);
}
@@ -2069,6 +2074,9 @@ FloatRect Element::GetBoundingClientRectNoLifecycleUpdate() const {
@@ -2131,6 +2136,9 @@ FloatRect Element::GetBoundingClientRectNoLifecycleUpdate() const {
DCHECK(element_layout_object);
GetDocument().AdjustFloatRectForScrollAndAbsoluteZoom(result,
*element_layout_object);
@ -343,7 +343,7 @@ diff --git a/third_party/blink/renderer/modules/canvas/canvas2d/base_rendering_c
#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/graphics/video_frame_image_util.h"
@@ -2055,6 +2056,10 @@ ImageData* BaseRenderingContext2D::getImageDataInternal(
@@ -2311,6 +2312,10 @@ ImageData* BaseRenderingContext2D::getImageDataInternal(
snapshot->PaintImageForCurrentFrame().GetSkImageInfo().bounds();
DCHECK(!bounds.intersect(SkIRect::MakeXYWH(sx, sy, sw, sh)));
}
@ -357,7 +357,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
@@ -921,9 +921,15 @@ TextMetrics* CanvasRenderingContext2D::measureText(const String& text) {
@@ -912,9 +912,15 @@ TextMetrics* CanvasRenderingContext2D::measureText(const String& text) {
TextDirection direction =
ToTextDirection(GetState().GetDirection(), canvas());
@ -377,7 +377,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
@@ -1641,7 +1641,9 @@ component("platform") {
@@ -1645,7 +1645,9 @@ component("platform") {
"//third_party/blink/renderer:non_test_config",
]
@ -388,7 +388,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",
@@ -1710,6 +1712,7 @@ component("platform") {
@@ -1712,6 +1714,7 @@ component("platform") {
"//third_party/blink/public/strings",
"//third_party/blink/renderer/platform/wtf",
"//third_party/ced",
@ -399,7 +399,7 @@ 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
@@ -697,4 +697,16 @@ void WebRuntimeFeatures::EnableCLSScrollAnchoring(bool enable) {
@@ -689,4 +689,16 @@ void WebRuntimeFeatures::EnableCLSScrollAnchoring(bool enable) {
RuntimeEnabledFeatures::SetCLSScrollAnchoringEnabled(enable);
}
@ -452,8 +452,8 @@ diff --git a/third_party/blink/renderer/platform/graphics/static_bitmap_image.cc
#include "base/numerics/checked_math.h"
#include "gpu/command_buffer/client/gles2_interface.h"
#include "third_party/blink/renderer/platform/graphics/accelerated_static_bitmap_image.h"
@@ -18,6 +20,9 @@
#include "ui/gfx/geometry/skia_conversions.h"
@@ -17,6 +19,9 @@
#include "third_party/skia/include/core/SkSurface.h"
#include "v8/include/v8.h"
+#include "third_party/blink/renderer/platform/runtime_enabled_features.h"
@ -462,7 +462,7 @@ diff --git a/third_party/blink/renderer/platform/graphics/static_bitmap_image.cc
namespace blink {
scoped_refptr<StaticBitmapImage> StaticBitmapImage::Create(
@@ -79,4 +84,154 @@ void StaticBitmapImage::DrawHelper(cc::PaintCanvas* canvas,
@@ -80,4 +85,154 @@ void StaticBitmapImage::DrawHelper(cc::PaintCanvas* canvas,
WebCoreClampingModeToSkiaRectConstraint(draw_options.clamping_mode));
}
@ -632,7 +632,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
@@ -1065,6 +1065,15 @@
@@ -1039,6 +1039,15 @@
origin_trial_allows_third_party: true,
status: "experimental",
},
@ -709,5 +709,6 @@ new file mode 100644
+}
+
+#endif // THIRD_PARTY_UNGOOGLED_FINGERPRINTING_SWITCHES_H_
--
2.25.1
--
2.20.1

View file

@ -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
@@ -272,6 +272,8 @@ std::vector<std::u16string> ChromeAutocompleteProviderClient::GetBuiltinURLs() {
@@ -366,6 +366,8 @@ std::vector<std::u16string> ChromeAutocompleteProviderClient::GetBuiltinURLs() {
std::vector<std::u16string>
ChromeAutocompleteProviderClient::GetBuiltinsToProvideAsUserTypes() {
std::vector<std::u16string> builtins_to_provide;
@ -18,5 +18,6 @@ diff --git a/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc
builtins_to_provide.push_back(
base::ASCIIToUTF16(chrome::kChromeUIChromeURLsURL));
#if !defined(OS_ANDROID)
--
2.25.1
--
2.20.1

View file

@ -0,0 +1,43 @@
From: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Thu, 22 Jul 2021 23:10:52 +0200
Subject: Override UA client hint for model
Hard-code model to SAMSUNG SM-G960U
Disable permissions policy by default
---
content/common/user_agent.cc | 7 +------
content/public/common/content_features.cc | 2 +-
2 files changed, 2 insertions(+), 7 deletions(-)
diff --git a/content/common/user_agent.cc b/content/common/user_agent.cc
--- a/content/common/user_agent.cc
+++ b/content/common/user_agent.cc
@@ -282,12 +282,7 @@ std::string BuildUserAgentFromProduct(const std::string& product) {
std::string BuildModelInfo() {
std::string model;
-#if defined(OS_ANDROID)
- // Only send the model information if on the release build of Android,
- // matching user agent behaviour.
- if (base::SysInfo::GetAndroidBuildCodename() == "REL")
- model = base::SysInfo::HardwareModelName();
-#endif
+ model = "SAMSUNG SM-G960U";
return model;
}
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
@@ -310,7 +310,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.20.1

View file

@ -39,7 +39,7 @@ diff --git a/net/dns/dns_transaction.cc b/net/dns/dns_transaction.cc
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
@@ -292,6 +292,7 @@ void URLRequestHttpJob::Start() {
@@ -319,6 +319,7 @@ void URLRequestHttpJob::Start() {
// plugin could set a referrer although sending the referrer is inhibited.
request_info_.extra_headers.RemoveHeader(HttpRequestHeaders::kReferer);
@ -47,7 +47,7 @@ diff --git a/net/url_request/url_request_http_job.cc b/net/url_request/url_reque
// Our consumer should have made sure that this is a safe referrer (e.g. via
// URLRequestJob::ComputeReferrerForPolicy).
if (referrer.is_valid()) {
@@ -299,11 +300,14 @@ void URLRequestHttpJob::Start() {
@@ -326,11 +327,14 @@ void URLRequestHttpJob::Start() {
request_info_.extra_headers.SetHeader(HttpRequestHeaders::kReferer,
referer_value);
}
@ -62,7 +62,7 @@ diff --git a/net/url_request/url_request_http_job.cc b/net/url_request/url_reque
AddExtraHeaders();
AddCookieHeaderAndStart();
@@ -525,6 +529,7 @@ void URLRequestHttpJob::AddExtraHeaders() {
@@ -552,6 +556,7 @@ void URLRequestHttpJob::AddExtraHeaders() {
if (request_->Supports(SourceStream::SourceType::TYPE_DEFLATE)) {
advertised_encoding_names.push_back("deflate");
}
@ -70,7 +70,7 @@ diff --git a/net/url_request/url_request_http_job.cc b/net/url_request/url_reque
// Advertise "br" encoding only if transferred data is opaque to proxy.
if (request()->context()->enable_brotli() &&
request_->Supports(SourceStream::SourceType::TYPE_BROTLI)) {
@@ -533,6 +538,7 @@ void URLRequestHttpJob::AddExtraHeaders() {
@@ -560,6 +565,7 @@ void URLRequestHttpJob::AddExtraHeaders() {
advertised_encoding_names.push_back("br");
}
}
@ -78,7 +78,7 @@ diff --git a/net/url_request/url_request_http_job.cc b/net/url_request/url_reque
if (!advertised_encoding_names.empty()) {
// Tell the server what compression formats are supported.
request_info_.extra_headers.SetHeader(
@@ -542,7 +548,7 @@ void URLRequestHttpJob::AddExtraHeaders() {
@@ -569,7 +575,7 @@ void URLRequestHttpJob::AddExtraHeaders() {
}
}
@ -87,5 +87,6 @@ diff --git a/net/url_request/url_request_http_job.cc b/net/url_request/url_reque
// Only add default Accept-Language if the request didn't have it
// specified.
std::string accept_language =
--
2.25.1
--
2.20.1

View file

@ -57,7 +57,7 @@ diff --git a/net/cert/ev_root_ca_metadata.cc b/net/cert/ev_root_ca_metadata.cc
diff --git a/net/cert/ev_root_ca_metadata.h b/net/cert/ev_root_ca_metadata.h
--- a/net/cert/ev_root_ca_metadata.h
+++ b/net/cert/ev_root_ca_metadata.h
@@ -19,7 +19,7 @@
@@ -20,7 +20,7 @@
defined(OS_FUCHSIA)
// When not defined, the EVRootCAMetadata singleton is a dumb placeholder
// implementation that will fail all EV lookup operations.
@ -66,7 +66,7 @@ diff --git a/net/cert/ev_root_ca_metadata.h b/net/cert/ev_root_ca_metadata.h
#endif
namespace base {
@@ -64,12 +64,10 @@ class NET_EXPORT_PRIVATE EVRootCAMetadata {
@@ -65,12 +65,10 @@ class NET_EXPORT_PRIVATE EVRootCAMetadata {
bool HasEVPolicyOIDGivenBytes(const SHA256HashValue& fingerprint,
const der::Input& policy_oid) const;
@ -79,5 +79,6 @@ diff --git a/net/cert/ev_root_ca_metadata.h b/net/cert/ev_root_ca_metadata.h
// AddEVCA adds an EV CA to the list of known EV CAs with the given policy.
// |policy| is expressed as a string of dotted numbers. It returns true on
--
2.25.1
--
2.20.1

View file

@ -33,15 +33,16 @@ Parts of this patch were developed by csagan5, uazo and others.
.../browser/gcore/GoogleApiClientHelper.java | 82 +--
.../instantapps/InstantAppsHandler.java | 57 +-
.../browser/omaha/UpdateStatusProvider.java | 10 +-
.../inline/FakeAppUpdateManagerWrapper.java | 60 +-
.../inline/InlineUpdateControllerFactory.java | 16 -
.../inline/PlayInlineUpdateController.java | 226 +-------
.../modules/chrome_feature_modules.gni | 3 -
chrome/browser/BUILD.gn | 2 -
chrome/browser/language/android/BUILD.gn | 2 -
.../language/AppLanguagePromoDialog.java | 23 -
.../language/AppLanguagePromoDialog.java | 13 -
.../AppLanguagePreferenceDelegate.java | 8 -
.../language/settings/LanguageSettings.java | 6 -
.../prefetch/prefetch_service_factory.cc | 16 -
.../browser/password_manager/android/BUILD.gn | 2 -
...PasswordStoreAndroidBackendBridgeImpl.java | 7 -
.../push_messaging_service_factory.cc | 8 +-
chrome/browser/ui/BUILD.gn | 3 -
.../webui/chrome_web_ui_controller_factory.cc | 3 -
@ -94,7 +95,7 @@ Parts of this patch were developed by csagan5, uazo and others.
third_party/android_deps/BUILD.gn | 540 +-----------------
.../preconditions/javatests/BUILD.gn | 1 -
.../gms/ChromiumPlayServicesAvailability.java | 10 +-
73 files changed, 63 insertions(+), 2300 deletions(-)
74 files changed, 66 insertions(+), 2580 deletions(-)
delete mode 100644 components/background_task_scheduler/internal/android/java/src/org/chromium/components/background_task_scheduler/internal/BackgroundTaskGcmTaskService.java
delete mode 100644 components/background_task_scheduler/internal/android/java/src/org/chromium/components/background_task_scheduler/internal/BackgroundTaskSchedulerGcmNetworkManager.java
@ -123,7 +124,7 @@ diff --git a/android_webview/expectations/system_webview_bundle.AndroidManifest.
diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
--- a/chrome/android/BUILD.gn
+++ b/chrome/android/BUILD.gn
@@ -307,20 +307,10 @@ android_library("chrome_java") {
@@ -304,20 +304,10 @@ android_library("chrome_java") {
":chrome_public_apk_template_resources",
":update_proto_java",
":usage_stats_proto_java",
@ -144,7 +145,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
"//chrome/android/modules/image_editor/provider:java",
"//chrome/android/modules/stack_unwinder/provider:java",
"//chrome/android/webapk/libs/client:client_java",
@@ -582,7 +572,6 @@ android_library("chrome_java") {
@@ -571,7 +561,6 @@ android_library("chrome_java") {
"//third_party/android_data_chart:android_data_chart_java",
"//third_party/android_deps:android_support_v7_appcompat_java",
"//third_party/android_deps:chromium_play_services_availability_java",
@ -152,7 +153,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
"//third_party/android_deps:com_google_code_findbugs_jsr305_java",
"//third_party/android_deps:com_google_guava_listenablefuture_java",
"//third_party/android_deps:dagger_java",
@@ -907,11 +896,6 @@ junit_binary("chrome_junit_tests") {
@@ -894,11 +883,6 @@ junit_binary("chrome_junit_tests") {
":chrome_java",
":chrome_public_android_manifest",
":delegate_public_impl_java",
@ -164,7 +165,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
"//base:base_java",
"//base:base_java_test_support",
"//base:base_junit_test_support",
@@ -1280,14 +1264,6 @@ android_library("chrome_test_java") {
@@ -1260,14 +1244,6 @@ android_library("chrome_test_java") {
":chrome_test_util_java",
":chrome_test_util_jni",
":delegate_public_impl_java",
@ -179,7 +180,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
"//base:base_java",
"//base:base_java_test_support",
"//base/test:test_support_java",
@@ -2348,7 +2324,6 @@ android_library("browser_java_test_support") {
@@ -2314,7 +2290,6 @@ android_library("browser_java_test_support") {
]
deps = [
":chrome_java",
@ -187,7 +188,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
"//base:base_java",
"//base:base_java_test_support",
"//base:jni_java",
@@ -2497,9 +2472,7 @@ android_library("base_monochrome_module_java") {
@@ -2459,9 +2434,7 @@ android_library("base_monochrome_module_java") {
android_library("base_module_java") {
sources = [
"../browser/attribution_reporting/android/java/src/org/chromium/chrome/browser/attribution_reporting/AttributionReportingProvider.java",
@ -197,7 +198,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
"java/src/org/chromium/chrome/browser/ChromeBackupAgent.java",
"java/src/org/chromium/chrome/browser/DeferredStartupHandler.java",
"java/src/org/chromium/chrome/browser/base/DexFixer.java",
@@ -2510,8 +2483,6 @@ android_library("base_module_java") {
@@ -2472,8 +2445,6 @@ android_library("base_module_java") {
"java/src/org/chromium/chrome/browser/base/SplitCompatBackupAgent.java",
"java/src/org/chromium/chrome/browser/base/SplitCompatContentProvider.java",
"java/src/org/chromium/chrome/browser/base/SplitCompatCustomTabsService.java",
@ -206,7 +207,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
"java/src/org/chromium/chrome/browser/base/SplitCompatIntentService.java",
"java/src/org/chromium/chrome/browser/base/SplitCompatJobService.java",
"java/src/org/chromium/chrome/browser/base/SplitCompatMinidumpUploadJobService.java",
@@ -2538,16 +2509,10 @@ android_library("base_module_java") {
@@ -2500,16 +2471,10 @@ android_library("base_module_java") {
"java/src/org/chromium/chrome/browser/photo_picker/DecoderService.java",
"java/src/org/chromium/chrome/browser/prerender/ChromePrerenderService.java",
"java/src/org/chromium/chrome/browser/provider/ChromeBrowserProvider.java",
@ -223,7 +224,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
"//base:base_java",
"//chrome/browser/download/android:file_provider_java",
"//chrome/browser/flags:java",
@@ -2560,7 +2525,6 @@ android_library("base_module_java") {
@@ -2522,7 +2487,6 @@ android_library("base_module_java") {
"//components/media_router/browser/android:cast_options_provider_java",
"//components/minidump_uploader:minidump_uploader_java",
"//components/module_installer/android:module_installer_java",
@ -231,7 +232,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
"//third_party/androidx:androidx_annotation_annotation_java",
"//third_party/androidx:androidx_collection_collection_java",
"//third_party/androidx:androidx_fragment_fragment_java",
@@ -2582,7 +2546,6 @@ android_library("base_module_java") {
@@ -2544,7 +2508,6 @@ android_library("base_module_java") {
# Deps to pull services into base module.
# TODO(crbug.com/1126301): Consider moving these to the chrome module to
# reduce base dex size.
@ -250,7 +251,7 @@ diff --git a/chrome/android/chrome_java_sources.gni b/chrome/android/chrome_java
"java/src/org/chromium/chrome/browser/ChromeBackupAgentImpl.java",
"java/src/org/chromium/chrome/browser/ChromeBackupWatcher.java",
"java/src/org/chromium/chrome/browser/ChromeBaseAppCompatActivity.java",
@@ -1018,10 +1017,6 @@ chrome_java_sources = [
@@ -1025,10 +1024,6 @@ chrome_java_sources = [
"java/src/org/chromium/chrome/browser/searchwidget/SearchType.java",
"java/src/org/chromium/chrome/browser/searchwidget/SearchWidgetProvider.java",
"java/src/org/chromium/chrome/browser/send_tab_to_self/SendTabToSelfShareActivity.java",
@ -311,7 +312,7 @@ diff --git a/chrome/android/java/AndroidManifest.xml b/chrome/android/java/Andro
- <activity
- android:name="org.chromium.chrome.browser.instantapps.AuthenticatedProxyActivity"
- android:exported="false"
- android:theme="@style/Theme.BrowserUI.NoDisplay"
- android:theme="@android:style/Theme.NoDisplay"
- android:noHistory="true"
- android:excludeFromRecents="true">
- </activity>
@ -319,7 +320,7 @@ diff --git a/chrome/android/java/AndroidManifest.xml b/chrome/android/java/Andro
<activity
android:name="org.chromium.chrome.browser.vr.VrCancelAnimationActivity"
android:exported="false"
@@ -990,26 +966,6 @@ by a child template that "extends" this file.
@@ -1002,26 +978,6 @@ by a child template that "extends" this file.
android:configChanges="orientation|keyboardHidden|keyboard|screenSize|mcc|mnc|screenLayout|smallestScreenSize"
android:hardwareAccelerated="false" />
@ -346,7 +347,7 @@ diff --git a/chrome/android/java/AndroidManifest.xml b/chrome/android/java/Andro
<!-- Android Notification service listener -->
<service android:name="org.chromium.chrome.browser.notifications.NotificationService"
android:exported="false"/>
@@ -1033,28 +989,10 @@ by a child template that "extends" this file.
@@ -1045,28 +1001,10 @@ by a child template that "extends" this file.
android:exported="false"
android:permission="android.permission.BIND_JOB_SERVICE"/>
@ -375,7 +376,7 @@ diff --git a/chrome/android/java/AndroidManifest.xml b/chrome/android/java/Andro
<service android:name="org.chromium.chrome.browser.prerender.ChromePrerenderService"
android:exported="true"
tools:ignore="ExportedService" />
@@ -1264,12 +1202,6 @@ by a child template that "extends" this file.
@@ -1276,12 +1214,6 @@ by a child template that "extends" this file.
<meta-data android:name="com.google.ar.core" android:value="optional" />
{% endif %}
@ -477,7 +478,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/background_task
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/externalnav/ExternalNavigationDelegateImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/externalnav/ExternalNavigationDelegateImpl.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/externalnav/ExternalNavigationDelegateImpl.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/externalnav/ExternalNavigationDelegateImpl.java
@@ -203,12 +203,8 @@ public class ExternalNavigationDelegateImpl implements ExternalNavigationDelegat
@@ -204,12 +204,8 @@ public class ExternalNavigationDelegateImpl implements ExternalNavigationDelegat
@Override
public void maybeAdjustInstantAppExtras(Intent intent, boolean isIntentToInstantApp) {
@ -811,16 +812,16 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/instantapps/Ins
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
@@ -17,8 +17,6 @@ import androidx.annotation.IntDef;
import androidx.annotation.NonNull;
@@ -19,8 +19,6 @@ import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.annotation.VisibleForTesting;
-import com.google.android.gms.common.GooglePlayServicesUtil;
-
import org.chromium.base.BuildInfo;
import org.chromium.base.Callback;
import org.chromium.base.ContextUtils;
@@ -328,13 +326,7 @@ public class UpdateStatusProvider {
import org.chromium.base.ActivityState;
import org.chromium.base.ApplicationStatus;
import org.chromium.base.ApplicationStatus.ActivityStateListener;
@@ -456,13 +454,7 @@ public class UpdateStatusProvider implements ActivityStateListener {
}
private boolean isGooglePlayStoreAvailable(Context context) {
@ -835,6 +836,452 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/omaha/UpdateSta
}
private long getSize(StatFs statFs) {
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/omaha/inline/FakeAppUpdateManagerWrapper.java b/chrome/android/java/src/org/chromium/chrome/browser/omaha/inline/FakeAppUpdateManagerWrapper.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/omaha/inline/FakeAppUpdateManagerWrapper.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/omaha/inline/FakeAppUpdateManagerWrapper.java
@@ -11,11 +11,6 @@ import android.os.Message;
import androidx.annotation.IntDef;
-import com.google.android.play.core.appupdate.AppUpdateInfo;
-import com.google.android.play.core.appupdate.testing.FakeAppUpdateManager;
-import com.google.android.play.core.install.model.AppUpdateType;
-import com.google.android.play.core.tasks.Task;
-
import org.chromium.base.ContextUtils;
import org.chromium.base.task.PostTask;
import org.chromium.chrome.browser.app.ChromeActivity;
@@ -31,7 +26,7 @@ import java.lang.ref.WeakReference;
* wrapper isn't meant to be used for a full integration test, but simulating all of the possible
* error cases is a bit easier to do here.
*/
-public class FakeAppUpdateManagerWrapper extends FakeAppUpdateManager {
+public class FakeAppUpdateManagerWrapper {
private static final int RESULT_IN_APP_UPDATE_FAILED = 1;
private static final int STEP_DELAY_MS = 5000;
private static final int TOAST_DURATION_MS = 2000;
@@ -108,15 +103,12 @@ public class FakeAppUpdateManagerWrapper extends FakeAppUpdateManager {
switch (event) {
case Event.UPDATE_AVAILABLE:
w.toast("Making app update available.");
- w.setUpdateAvailable(10000 /* Figure out a better version? */);
return;
case Event.USER_ACCEPTS_UPDATE:
w.toast("User accepts update.");
- w.userAcceptsUpdate();
return;
case Event.USER_REJECTS_UPDATE:
w.toast("User rejects update.");
- w.userRejectsUpdate();
return;
case Event.TRIGGER_DOWNLOAD:
w.toast("Triggering download.");
@@ -124,27 +116,21 @@ public class FakeAppUpdateManagerWrapper extends FakeAppUpdateManager {
return;
case Event.DOWNLOAD_STARTS:
w.toast("Download has started.");
- w.downloadStarts();
return;
case Event.DOWNLOAD_FAILS:
w.toast("Triggering download failure.");
- w.downloadFails();
return;
case Event.USER_CANCELS_DOWNLOAD:
w.toast("Triggering cancellation of download.");
- w.userCancelsDownload();
return;
case Event.DOWNLOAD_COMPLETES:
w.toast("Download completes.");
- w.downloadCompletes();
return;
case Event.INSTALL_FAILS:
w.toast("Triggering install failure.");
- w.installFails();
return;
case Event.INSTALL_COMPLETES:
w.toast("Triggering install completion.");
- w.installCompletes();
return;
default:
w.toast("Unknown event.");
@@ -159,56 +145,12 @@ public class FakeAppUpdateManagerWrapper extends FakeAppUpdateManager {
* @param endState at which point should the inline update flow end.
*/
FakeAppUpdateManagerWrapper(@Type int endState) {
- super(ContextUtils.getApplicationContext());
mType = endState;
mEventHandler = new EventHandler(this);
if (mType != Type.NONE) execute(Event.UPDATE_AVAILABLE);
}
- // FakeAppUpdateManager implementation.
- @Override
- public boolean startUpdateFlowForResult(AppUpdateInfo appUpdateInfo,
- @AppUpdateType int appUpdateType, Activity activity, int requestCode) {
- toast("Starting update flow.");
- // TODO(dtrainor): Simulate exceptions being thrown or returning false from the super call.
- boolean success =
- super.startUpdateFlowForResult(appUpdateInfo, appUpdateType, activity, requestCode);
- if (!success) return false;
-
- assert activity instanceof ChromeActivity : "Unexpected triggering activity.";
-
- final int resultCode;
- if (mType == Type.FAIL_DIALOG_CANCEL) {
- resultCode = Activity.RESULT_CANCELED;
- } else if (mType == Type.FAIL_DIALOG_UPDATE_FAILED) {
- resultCode = RESULT_IN_APP_UPDATE_FAILED;
- } else {
- resultCode = Activity.RESULT_OK;
- }
-
- PostTask.postDelayedTask(UiThreadTaskTraits.DEFAULT, () -> {
- triggerDialogResponse((ChromeActivity) activity, requestCode, resultCode);
- }, STEP_DELAY_MS);
-
- return true;
- }
-
- @Override
- public Task<Void> completeUpdate() {
- toast("Completing update.");
- Task<Void> result = super.completeUpdate();
-
- if (mType == Type.FAIL_INSTALL) {
- postDelayedEvent(Event.INSTALL_FAILS);
- } else {
- postDelayedEvent(Event.INSTALL_COMPLETES);
- // This doesn't actually restart Chrome in this case.
- }
-
- return result;
- }
-
private void triggerDialogResponse(ChromeActivity activity, int requestCode, int resultCode) {
if (resultCode == Activity.RESULT_OK) {
execute(Event.USER_ACCEPTS_UPDATE);
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
@@ -4,8 +4,6 @@
package org.chromium.chrome.browser.omaha.inline;
-import com.google.android.play.core.appupdate.AppUpdateManagerFactory;
-
import org.chromium.base.ContextUtils;
import org.chromium.chrome.browser.flags.ChromeFeatureList;
import org.chromium.chrome.browser.omaha.UpdateConfigs;
@@ -20,20 +18,6 @@ public class InlineUpdateControllerFactory {
public static InlineUpdateController create(Runnable callback) {
@FakeAppUpdateManagerWrapper.Type
int mockInlineEndState = UpdateConfigs.getMockInlineScenarioEndState();
- if (mockInlineEndState != FakeAppUpdateManagerWrapper.Type.NO_SIMULATION) {
- // The config requires to run through a test controller, using the
- // PlayInlineUpdateController, but with a fake Google Play backend that automatically
- // goes through a scenario flow.
- return new PlayInlineUpdateController(
- callback, new FakeAppUpdateManagerWrapper(mockInlineEndState));
- }
-
- if (ChromeFeatureList.isEnabled(ChromeFeatureList.INLINE_UPDATE_FLOW)) {
- // The application configuration requires to use the real Google Play backend for inline
- // updates.
- return new PlayInlineUpdateController(
- callback, AppUpdateManagerFactory.create(ContextUtils.getApplicationContext()));
- }
// No test scenario was in place, and the inline flow has not been enabled, so use a
// controller with no functionality.
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/omaha/inline/PlayInlineUpdateController.java b/chrome/android/java/src/org/chromium/chrome/browser/omaha/inline/PlayInlineUpdateController.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/omaha/inline/PlayInlineUpdateController.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/omaha/inline/PlayInlineUpdateController.java
@@ -10,15 +10,6 @@ import android.content.IntentSender.SendIntentException;
import androidx.annotation.IntDef;
import androidx.annotation.Nullable;
-import com.google.android.play.core.appupdate.AppUpdateInfo;
-import com.google.android.play.core.appupdate.AppUpdateManager;
-import com.google.android.play.core.install.InstallState;
-import com.google.android.play.core.install.InstallStateUpdatedListener;
-import com.google.android.play.core.install.model.AppUpdateType;
-import com.google.android.play.core.install.model.InstallErrorCode;
-import com.google.android.play.core.install.model.InstallStatus;
-import com.google.android.play.core.install.model.UpdateAvailability;
-
import org.chromium.base.Log;
import org.chromium.base.metrics.RecordHistogram;
import org.chromium.chrome.browser.omaha.UpdateStatusProvider.UpdateState;
@@ -32,7 +23,7 @@ import java.lang.annotation.RetentionPolicy;
* in the foreground.
*/
public class PlayInlineUpdateController
- implements InlineUpdateController, InstallStateUpdatedListener {
+ implements InlineUpdateController {
/**
* Converts Play's InstallErrorCode enum to a stable monotomically incrementing Chrome enum.
* This is used for metric stability.
@@ -127,26 +118,9 @@ public class PlayInlineUpdateController
private static final int RESULT_IN_APP_UPDATE_FAILED = 1;
private static final int REQUEST_CODE = 8123;
- private final Runnable mCallback;
- private final AppUpdateManager mAppUpdateManager;
-
private boolean mEnabled;
private @Nullable @UpdateState Integer mUpdateState;
- private AppUpdateInfo mAppUpdateInfo;
- private @Nullable @UpdateAvailability Integer mUpdateAvailability;
- private @Nullable @InstallStatus Integer mInstallStatus;
-
- /**
- * Builds an instance of {@link PlayInlineUpdateController}.
- * @param callback The {@link Runnable} to notify when an inline update state change occurs.
- */
- PlayInlineUpdateController(Runnable callback, AppUpdateManager appUpdateManager) {
- mCallback = callback;
- mAppUpdateManager = appUpdateManager;
- setEnabled(true);
- }
-
// InlineUpdateController implementation.
@Override
public void setEnabled(boolean enabled) {
@@ -155,10 +129,8 @@ public class PlayInlineUpdateController
if (mEnabled) {
mUpdateState = UpdateState.NONE;
- mAppUpdateManager.registerListener(this);
pullCurrentState();
} else {
- mAppUpdateManager.unregisterListener(this);
}
}
@@ -169,220 +141,26 @@ public class PlayInlineUpdateController
@Override
public void startUpdate(Activity activity) {
- try {
- boolean success = mAppUpdateManager.startUpdateFlowForResult(
- mAppUpdateInfo, AppUpdateType.FLEXIBLE, activity, REQUEST_CODE);
- Log.i(TAG, "startUpdateFlowForResult() returned " + success);
-
- if (!success) recordCallFailure(CallFailure.START_FAILED);
- } catch (SendIntentException exception) {
- mInstallStatus = InstallStatus.FAILED;
- Log.i(TAG, "startUpdateFlowForResult() threw an exception.");
- recordCallFailure(CallFailure.START_EXCEPTION);
- }
- // TODO(dtrainor): Use success.
}
@Override
public void completeUpdate() {
- mAppUpdateManager.completeUpdate()
- .addOnSuccessListener(unused -> {
- Log.i(TAG, "completeUpdate() success.");
- pushStatus();
- })
- .addOnFailureListener(exception -> {
- Log.i(TAG, "completeUpdate() failed.");
- recordCallFailure(CallFailure.COMPLETE_FAILED);
- mInstallStatus = InstallStatus.FAILED;
- pushStatus();
- });
- }
-
- // InstallStateUpdatedListener implementation.
- @Override
- public void onStateUpdate(InstallState state) {
- Log.i(TAG,
- "onStateUpdate(" + state.installStatus() + ", " + state.installErrorCode() + ")");
-
- if (state.installStatus() != mInstallStatus) {
- RecordHistogram.recordEnumeratedHistogram("GoogleUpdate.Inline.StateChange.Error."
- + installStatusToEnumSuffix(state.installStatus()),
- installErrorCodeToMetrics(state.installErrorCode()),
- InstallErrorCodeMetrics.NUM_ENTRIES);
- }
-
- mInstallStatus = state.installStatus();
- pushStatus();
}
private void pullCurrentState() {
- mAppUpdateManager.getAppUpdateInfo()
- .addOnSuccessListener(info -> {
- mAppUpdateInfo = info;
- mUpdateAvailability = info.updateAvailability();
- mInstallStatus = info.installStatus();
- Log.i(TAG,
- "pullCurrentState(" + mUpdateAvailability + ", " + mInstallStatus
- + ") success.");
- recordOnAppUpdateInfo(info);
- pushStatus();
- })
- .addOnFailureListener(exception -> {
- mAppUpdateInfo = null;
- mUpdateAvailability = UpdateAvailability.UNKNOWN;
- mInstallStatus = InstallStatus.UNKNOWN;
- Log.i(TAG, "pullCurrentState() failed.");
- recordCallFailure(CallFailure.QUERY_FAILED);
- pushStatus();
- });
}
private void pushStatus() {
- if (!mEnabled || mUpdateAvailability == null || mInstallStatus == null) return;
-
- @UpdateState
- int newState = toUpdateState(mUpdateAvailability, mInstallStatus);
- if (mUpdateState != null && mUpdateState == newState) return;
-
- Log.i(TAG, "Pushing inline update state to " + newState);
- mUpdateState = newState;
- mCallback.run();
}
private static @UpdateState int toUpdateState(
- @UpdateAvailability int updateAvailability, @InstallStatus int installStatus) {
+ int updateAvailability, int installStatus) {
@UpdateState
int newStatus = UpdateState.NONE;
- // Note, use InstallStatus first then UpdateAvailability if InstallStatus doesn't indicate
- // a currently active install.
- switch (installStatus) {
- case InstallStatus.PENDING:
- // Intentional fall through.
- case InstallStatus.DOWNLOADING:
- newStatus = UpdateState.INLINE_UPDATE_DOWNLOADING;
- break;
- case InstallStatus.DOWNLOADED:
- newStatus = UpdateState.INLINE_UPDATE_READY;
- break;
- case InstallStatus.FAILED:
- newStatus = UpdateState.INLINE_UPDATE_FAILED;
- break;
- }
-
- if (newStatus == UpdateState.NONE) {
- switch (updateAvailability) {
- case UpdateAvailability.UPDATE_AVAILABLE:
- newStatus = UpdateState.INLINE_UPDATE_AVAILABLE;
- break;
- }
- }
-
return newStatus;
}
- private static String installStatusToEnumSuffix(@InstallStatus int status) {
- switch (status) {
- case InstallStatus.UNKNOWN:
- return "Unknown";
- case InstallStatus.REQUIRES_UI_INTENT:
- return "RequiresUiIntent";
- case InstallStatus.PENDING:
- return "Pending";
- case InstallStatus.DOWNLOADING:
- return "Downloading";
- case InstallStatus.DOWNLOADED:
- return "Downloaded";
- case InstallStatus.INSTALLING:
- return "Installing";
- case InstallStatus.INSTALLED:
- return "Installed";
- case InstallStatus.FAILED:
- return "Failed";
- case InstallStatus.CANCELED:
- return "Canceled";
- default:
- return "Untracked";
- }
- }
-
- private static @InstallErrorCodeMetrics int installErrorCodeToMetrics(
- @InstallErrorCode int error) {
- switch (error) {
- case InstallErrorCode.NO_ERROR:
- return InstallErrorCodeMetrics.NO_ERROR;
- case InstallErrorCode.NO_ERROR_PARTIALLY_ALLOWED:
- return InstallErrorCodeMetrics.NO_ERROR_PARTIALLY_ALLOWED;
- case InstallErrorCode.ERROR_UNKNOWN:
- return InstallErrorCodeMetrics.ERROR_UNKNOWN;
- case InstallErrorCode.ERROR_API_NOT_AVAILABLE:
- return InstallErrorCodeMetrics.ERROR_API_NOT_AVAILABLE;
- case InstallErrorCode.ERROR_INVALID_REQUEST:
- return InstallErrorCodeMetrics.ERROR_INVALID_REQUEST;
- case InstallErrorCode.ERROR_INSTALL_UNAVAILABLE:
- return InstallErrorCodeMetrics.ERROR_INSTALL_UNAVAILABLE;
- case InstallErrorCode.ERROR_INSTALL_NOT_ALLOWED:
- return InstallErrorCodeMetrics.ERROR_INSTALL_NOT_ALLOWED;
- case InstallErrorCode.ERROR_DOWNLOAD_NOT_PRESENT:
- return InstallErrorCodeMetrics.ERROR_DOWNLOAD_NOT_PRESENT;
- case InstallErrorCode.ERROR_INTERNAL_ERROR:
- return InstallErrorCodeMetrics.ERROR_INTERNAL_ERROR;
- default:
- return InstallErrorCodeMetrics.ERROR_UNTRACKED;
- }
- }
-
- private static @UpdateAvailabilityMetric int updateAvailabilityToMetrics(
- @UpdateAvailability int updateAvailability) {
- switch (updateAvailability) {
- case UpdateAvailability.UNKNOWN:
- return UpdateAvailabilityMetric.UNKNOWN;
- case UpdateAvailability.UPDATE_NOT_AVAILABLE:
- return UpdateAvailabilityMetric.UPDATE_NOT_AVAILABLE;
- case UpdateAvailability.UPDATE_AVAILABLE:
- return UpdateAvailabilityMetric.UPDATE_AVAILABLE;
- case UpdateAvailability.DEVELOPER_TRIGGERED_UPDATE_IN_PROGRESS:
- return UpdateAvailabilityMetric.DEVELOPER_TRIGGERED_UPDATE_IN_PROGRESS;
- default:
- return UpdateAvailabilityMetric.UNTRACKED;
- }
- }
-
- private static @InstallStatusMetric int installStatusToMetrics(
- @InstallStatus int installStatus) {
- switch (installStatus) {
- case InstallStatus.UNKNOWN:
- return InstallStatusMetric.UNKNOWN;
- case InstallStatus.REQUIRES_UI_INTENT:
- return InstallStatusMetric.REQUIRES_UI_INTENT;
- case InstallStatus.PENDING:
- return InstallStatusMetric.PENDING;
- case InstallStatus.DOWNLOADING:
- return InstallStatusMetric.DOWNLOADING;
- case InstallStatus.DOWNLOADED:
- return InstallStatusMetric.DOWNLOADED;
- case InstallStatus.INSTALLING:
- return InstallStatusMetric.INSTALLING;
- case InstallStatus.INSTALLED:
- return InstallStatusMetric.INSTALLED;
- case InstallStatus.FAILED:
- return InstallStatusMetric.FAILED;
- case InstallStatus.CANCELED:
- return InstallStatusMetric.CANCELED;
- default:
- return InstallStatusMetric.UNTRACKED;
- }
- }
-
- private static void recordOnAppUpdateInfo(AppUpdateInfo info) {
- RecordHistogram.recordEnumeratedHistogram(
- "GoogleUpdate.Inline.AppUpdateInfo.UpdateAvailability",
- updateAvailabilityToMetrics(info.updateAvailability()),
- UpdateAvailabilityMetric.NUM_ENTRIES);
- RecordHistogram.recordEnumeratedHistogram("GoogleUpdate.Inline.AppUpdateInfo.InstallStatus",
- installStatusToMetrics(info.installStatus()), InstallStatusMetric.NUM_ENTRIES);
- }
-
private static void recordCallFailure(@CallFailure int failure) {
RecordHistogram.recordEnumeratedHistogram(
"GoogleUpdate.Inline.CallFailure", failure, CallFailure.NUM_ENTRIES);
diff --git a/chrome/android/modules/chrome_feature_modules.gni b/chrome/android/modules/chrome_feature_modules.gni
--- a/chrome/android/modules/chrome_feature_modules.gni
+++ b/chrome/android/modules/chrome_feature_modules.gni
@ -858,7 +1305,7 @@ diff --git a/chrome/android/modules/chrome_feature_modules.gni b/chrome/android/
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
--- a/chrome/browser/BUILD.gn
+++ b/chrome/browser/BUILD.gn
@@ -6691,8 +6691,6 @@ static_library("browser") {
@@ -6501,8 +6501,6 @@ static_library("browser") {
"offline_pages/offliner_helper.h",
"offline_pages/offliner_user_data.cc",
"offline_pages/offliner_user_data.h",
@ -879,7 +1326,7 @@ diff --git a/chrome/browser/language/android/BUILD.gn b/chrome/browser/language/
deps = [
"//base:base_java",
"//chrome/browser/preferences:java",
"//components/language/android:java",
"//components/language/android:language_bridge_java",
- "//third_party/android_deps:com_google_android_play_core_java",
"//third_party/androidx:androidx_annotation_annotation_java",
"//ui/android:ui_no_recycler_view_java",
@ -887,20 +1334,7 @@ diff --git a/chrome/browser/language/android/BUILD.gn b/chrome/browser/language/
diff --git a/chrome/browser/language/android/java/src/org/chromium/chrome/browser/language/AppLanguagePromoDialog.java b/chrome/browser/language/android/java/src/org/chromium/chrome/browser/language/AppLanguagePromoDialog.java
--- a/chrome/browser/language/android/java/src/org/chromium/chrome/browser/language/AppLanguagePromoDialog.java
+++ b/chrome/browser/language/android/java/src/org/chromium/chrome/browser/language/AppLanguagePromoDialog.java
@@ -452,12 +452,6 @@ public class AppLanguagePromoDialog {
mLoadingModal.set(ModalDialogProperties.CUSTOM_VIEW, customView);
- // Only show the modal if the selected language is not installed.
- if (!LanguageSplitInstaller.getInstance().isLanguageSplitInstalled(
- selectedLanguage.getCode())) {
- mModalDialogManager.showDialog(mLoadingModal, ModalDialogManager.ModalDialogType.APP);
- }
-
boolean isSelectedCurrentUI = AppLocaleUtils.isAppLanguagePref(selectedLanguage.getCode());
if (!isSelectedCurrentUI) {
// Only record isTopLanguage if the app language has changed.
@@ -465,23 +459,6 @@ public class AppLanguagePromoDialog {
@@ -459,19 +459,6 @@ public class AppLanguagePromoDialog {
}
AndroidLanguageMetricsBridge.reportAppLanguagePromptLanguage(
selectedLanguage.isSystemDefault() ? "" : selectedLanguage.getCode());
@ -908,16 +1342,12 @@ diff --git a/chrome/browser/language/android/java/src/org/chromium/chrome/browse
- // Create call back for after language split install completes.
- AppLocaleUtils.setAppLanguagePref(selectedLanguage.getCode(), (success) -> {
- if (success) {
- if (!isSelectedCurrentUI) {
- // Only restart if the new language is different than the current UI.
- mRestartAction.restart();
- }
- mRestartAction.restart();
- } else {
- // The loading language modal will always already be shown if a download fails.
- CharSequence failedText = mActivity.getResources().getString(
- R.string.languages_split_failed, selectedLanguage.getDisplayName());
- messageView.setText(failedText);
- mLoadingModal.set(ModalDialogProperties.POSITIVE_BUTTON_TEXT,
- mConfirmModal.set(ModalDialogProperties.POSITIVE_BUTTON_TEXT,
- mActivity.getText(R.string.ok).toString());
- }
- });
@ -998,49 +1428,6 @@ diff --git a/chrome/browser/offline_pages/prefetch/prefetch_service_factory.cc b
SwitchToFullBrowserImageFetcher(prefetch_service, profile->GetProfileKey());
}
diff --git a/chrome/browser/password_manager/android/BUILD.gn b/chrome/browser/password_manager/android/BUILD.gn
--- a/chrome/browser/password_manager/android/BUILD.gn
+++ b/chrome/browser/password_manager/android/BUILD.gn
@@ -48,7 +48,6 @@ android_library("java") {
":android_backend_java_enums",
":java_resources",
":settings_interface_java",
- "$google_play_services_package:google_play_services_basement_java",
"//base:base_java",
"//chrome/browser/device_reauth/android:java",
"//chrome/browser/flags:java",
@@ -118,7 +117,6 @@ junit_binary("password_manager_junit_tests") {
":android_backend_java_enums",
":java",
":settings_interface_java",
- "$google_play_services_package:google_play_services_basement_java",
"//base:base_java",
"//base:base_java_test_support",
"//base:base_junit_test_support",
diff --git a/chrome/browser/password_manager/android/java/src/org/chromium/chrome/browser/password_manager/PasswordStoreAndroidBackendBridgeImpl.java b/chrome/browser/password_manager/android/java/src/org/chromium/chrome/browser/password_manager/PasswordStoreAndroidBackendBridgeImpl.java
--- a/chrome/browser/password_manager/android/java/src/org/chromium/chrome/browser/password_manager/PasswordStoreAndroidBackendBridgeImpl.java
+++ b/chrome/browser/password_manager/android/java/src/org/chromium/chrome/browser/password_manager/PasswordStoreAndroidBackendBridgeImpl.java
@@ -4,8 +4,6 @@
package org.chromium.chrome.browser.password_manager;
-import com.google.android.gms.common.api.ApiException;
-
import org.chromium.base.annotations.CalledByNative;
import org.chromium.base.annotations.NativeMethods;
@@ -113,11 +111,6 @@ class PasswordStoreAndroidBackendBridgeImpl {
error = ((PasswordStoreAndroidBackend.BackendException) exception).errorCode;
}
- if (exception instanceof ApiException) {
- error = AndroidBackendErrorType.EXTERNAL_ERROR;
- api_error_code = ((ApiException) exception).getStatusCode();
- }
-
PasswordStoreAndroidBackendBridgeImplJni.get().onError(
mNativeBackendBridge, jobId, error, api_error_code);
}
diff --git a/chrome/browser/push_messaging/push_messaging_service_factory.cc b/chrome/browser/push_messaging/push_messaging_service_factory.cc
--- a/chrome/browser/push_messaging/push_messaging_service_factory.cc
+++ b/chrome/browser/push_messaging/push_messaging_service_factory.cc
@ -1071,7 +1458,7 @@ diff --git a/chrome/browser/ui/BUILD.gn b/chrome/browser/ui/BUILD.gn
"webui/internals/internals_ui.cc",
"webui/internals/internals_ui.h",
"webui/interstitials/interstitial_ui.cc",
@@ -494,7 +492,6 @@ static_library("ui") {
@@ -483,7 +481,6 @@ static_library("ui") {
"//components/feedback/content",
"//components/find_in_page",
"//components/flags_ui",
@ -1082,15 +1469,15 @@ 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
@@ -38,7 +38,6 @@
@@ -37,7 +37,6 @@
#include "chrome/browser/ui/webui/engagement/site_engagement_ui.h"
#include "chrome/browser/ui/webui/federated_learning/floc_internals_ui.h"
#include "chrome/browser/ui/webui/flags/flags_ui.h"
-#include "chrome/browser/ui/webui/gcm_internals_ui.h"
#include "chrome/browser/ui/webui/image_editor/image_editor_ui.h"
#include "chrome/browser/ui/webui/internals/internals_ui.h"
#include "chrome/browser/ui/webui/interstitials/interstitial_ui.h"
#include "chrome/browser/ui/webui/invalidations/invalidations_ui.h"
@@ -656,8 +655,6 @@ WebUIFactoryFunction GetWebUIFactoryFunction(WebUI* web_ui,
@@ -629,8 +628,6 @@ WebUIFactoryFunction GetWebUIFactoryFunction(WebUI* web_ui,
return &NewWebUI<FlagsUI>;
if (url.host_piece() == chrome::kChromeUIFlocInternalsHost)
return &NewWebUI<FlocInternalsUI>;
@ -1102,7 +1489,7 @@ diff --git a/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc b/chrom
diff --git a/chrome/test/android/BUILD.gn b/chrome/test/android/BUILD.gn
--- a/chrome/test/android/BUILD.gn
+++ b/chrome/test/android/BUILD.gn
@@ -307,8 +307,6 @@ android_library("chrome_java_test_support") {
@@ -268,8 +268,6 @@ android_library("chrome_java_test_support") {
]
deps = [
@ -3415,7 +3802,7 @@ diff --git a/components/signin/public/android/BUILD.gn b/components/signin/publi
"java/src/org/chromium/components/signin/AccountRestrictionPatternReceiver.java",
"java/src/org/chromium/components/signin/AccountUtils.java",
"java/src/org/chromium/components/signin/AccountsChangeObserver.java",
@@ -137,7 +134,6 @@ java_library("junit") {
@@ -136,7 +133,6 @@ java_library("junit") {
deps = [
":java",
":signin_java_test_support",
@ -3436,7 +3823,7 @@ diff --git a/components/webauthn/android/BUILD.gn b/components/webauthn/android/
"java/src/org/chromium/components/webauthn/FidoErrorResponseCallback.java",
"java/src/org/chromium/components/webauthn/GetAssertionResponseCallback.java",
"java/src/org/chromium/components/webauthn/InternalAuthenticator.java",
@@ -27,8 +24,6 @@ android_library("java") {
@@ -26,8 +23,6 @@ android_library("java") {
]
annotation_processor_deps = [ "//base/android/jni_generator:jni_processor" ]
deps = [
@ -3505,7 +3892,7 @@ diff --git a/components/webauthn/android/java/src/org/chromium/components/webaut
diff --git a/content/browser/push_messaging/push_messaging_manager.cc b/content/browser/push_messaging/push_messaging_manager.cc
--- a/content/browser/push_messaging/push_messaging_manager.cc
+++ b/content/browser/push_messaging/push_messaging_manager.cc
@@ -789,7 +789,7 @@ void PushMessagingManager::GetSubscriptionInfo(
@@ -755,7 +755,7 @@ void PushMessagingManager::GetSubscriptionInfo(
}
PushMessagingService* PushMessagingManager::GetService() {
@ -3531,19 +3918,19 @@ diff --git a/content/public/android/BUILD.gn b/content/public/android/BUILD.gn
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
@@ -1015,7 +1015,7 @@ const base::Feature kWebAssemblyTrapHandler {
@@ -939,7 +939,7 @@ const base::Feature kWebAssemblyTrapHandler {
// Controls whether the WebAuthentication API is enabled:
// https://w3c.github.io/webauthn
const base::Feature kWebAuth{"WebAuthentication",
- base::FEATURE_ENABLED_BY_DEFAULT};
+ base::FEATURE_DISABLED_BY_DEFAULT};
// Controls whether CTAP2 devices can communicate via the WebAuthentication API
// using pairingless BLE protocol.
// Controls whether WebAuthn assertion transport is enabled.
const base::Feature kWebAuthAuthenticatorAttachment{
diff --git a/content/test/BUILD.gn b/content/test/BUILD.gn
--- a/content/test/BUILD.gn
+++ b/content/test/BUILD.gn
@@ -2900,10 +2900,6 @@ if (is_android) {
@@ -2869,10 +2869,6 @@ if (is_android) {
testonly = true
sources = content_java_sources_needing_jni
deps = [
@ -3557,7 +3944,7 @@ diff --git a/content/test/BUILD.gn b/content/test/BUILD.gn
diff --git a/device/BUILD.gn b/device/BUILD.gn
--- a/device/BUILD.gn
+++ b/device/BUILD.gn
@@ -451,9 +451,6 @@ if (is_android) {
@@ -446,9 +446,6 @@ if (is_android) {
"gamepad/android/junit/src/org/chromium/device/gamepad/GamepadMappingsTest.java",
]
deps = [
@ -3583,7 +3970,7 @@ diff --git a/remoting/android/client_java_tmpl.gni b/remoting/android/client_jav
diff --git a/services/BUILD.gn b/services/BUILD.gn
--- a/services/BUILD.gn
+++ b/services/BUILD.gn
@@ -114,11 +114,6 @@ if (is_android) {
@@ -110,11 +110,6 @@ if (is_android) {
"shape_detection/android/junit/src/org/chromium/shape_detection/BitmapUtilsTest.java",
]
deps = [
@ -3595,7 +3982,7 @@ diff --git a/services/BUILD.gn b/services/BUILD.gn
"//base:base_java",
"//base:base_java_test_support",
"//base:base_junit_test_support",
@@ -147,10 +142,6 @@ if (is_android) {
@@ -143,10 +138,6 @@ if (is_android) {
"shape_detection/android/javatests/src/org/chromium/shape_detection/TextDetectionImplTest.java",
]
deps = [
@ -3622,7 +4009,7 @@ diff --git a/services/device/geolocation/BUILD.gn b/services/device/geolocation/
diff --git a/services/shape_detection/BUILD.gn b/services/shape_detection/BUILD.gn
--- a/services/shape_detection/BUILD.gn
+++ b/services/shape_detection/BUILD.gn
@@ -115,10 +115,6 @@ if (is_android) {
@@ -107,10 +107,6 @@ if (is_android) {
]
deps = [
@ -3864,8 +4251,8 @@ diff --git a/third_party/android_deps/BUILD.gn b/third_party/android_deps/BUILD.
# This is generated, do not edit. Update BuildConfigGenerator.groovy instead.
android_aar_prebuilt("com_google_android_material_material_java") {
aar_path =
@@ -1269,60 +1064,6 @@ if (!limit_android_deps) {
proguard_configs = [ "material_design.flags" ]
@@ -1267,60 +1062,6 @@ if (!limit_android_deps) {
ignore_proguard_configs = true
}
- # This is generated, do not edit. Update BuildConfigGenerator.groovy instead.
@ -3923,9 +4310,9 @@ diff --git a/third_party/android_deps/BUILD.gn b/third_party/android_deps/BUILD.
- }
-
# This is generated, do not edit. Update BuildConfigGenerator.groovy instead.
java_prebuilt("com_google_flatbuffers_flatbuffers_java_java") {
jar_path = "libs/com_google_flatbuffers_flatbuffers_java/flatbuffers-java-2.0.3.jar"
@@ -1478,19 +1219,6 @@ if (!limit_android_deps) {
java_prebuilt("com_google_guava_guava_android_java") {
jar_path = "libs/com_google_guava_guava_android/guava-31.0-android.jar"
@@ -1458,19 +1199,6 @@ if (!limit_android_deps) {
bypass_platform_checks = true
}
@ -3945,7 +4332,7 @@ diff --git a/third_party/android_deps/BUILD.gn b/third_party/android_deps/BUILD.
# This is generated, do not edit. Update BuildConfigGenerator.groovy instead.
java_prebuilt("org_robolectric_utils_java") {
jar_path = "libs/org_robolectric_utils/utils-4.3.1.jar"
@@ -1867,272 +1595,6 @@ if (!limit_android_deps) {
@@ -1847,272 +1575,6 @@ if (!limit_android_deps) {
deps = [ "//third_party/androidx:androidx_annotation_annotation_java" ]
}
@ -4262,5 +4649,6 @@ diff --git a/third_party/android_deps/util/org/chromium/gms/ChromiumPlayServices
+ return 16; // API_UNAVAILABLE
}
}
--
2.25.1
--
2.20.1

View file

@ -17,8 +17,8 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv
+import org.chromium.chrome.browser.suggestions.mostvisited.MostVisitedSites;
import org.chromium.chrome.browser.offlinepages.OfflinePageUtils;
import org.chromium.chrome.browser.offlinepages.indicator.OfflineIndicatorController;
import org.chromium.chrome.browser.omaha.UpdateMenuItemHelper;
@@ -245,6 +247,8 @@ import org.chromium.ui.widget.Toast;
import org.chromium.chrome.browser.omaha.UpdateInfoBarController;
@@ -241,6 +243,8 @@ import org.chromium.ui.widget.Toast;
import org.chromium.url.GURL;
import org.chromium.webapk.lib.client.WebApkNavigationClient;
@ -27,7 +27,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv
import java.util.ArrayList;
import java.util.List;
import java.util.function.Consumer;
@@ -294,6 +298,7 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
@@ -290,6 +294,7 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
private UmaSessionStats mUmaSessionStats;
private ContextReporter mContextReporter;
@ -35,7 +35,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv
private boolean mPartnerBrowserRefreshNeeded;
@@ -1482,6 +1487,11 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
@@ -1438,6 +1443,11 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
mCompositorViewHolderSupplier.set(null);
}
@ -47,7 +47,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv
onDestroyInternal();
if (mDidAddPolicyChangeListener) {
@@ -1835,6 +1845,13 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
@@ -1763,6 +1773,13 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
// Defense in depth against the UI being erroneously enabled.
BookmarkBridge bridge = mBookmarkBridgeSupplier.get();
@ -56,10 +56,11 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv
+ mMostVisitedSites =
+ SuggestionsDependencyFactory.getInstance().createMostVisitedSites(Profile.getLastUsedRegularProfile());
+ }
+ mMostVisitedSites.removeBlocklistedUrl(tabToBookmark.getOriginalUrl());
+ mMostVisitedSites.removeBlocklistedUrl(tabToBookmark.getOriginalUrl());
+
if (bridge == null || !bridge.isEditBookmarksEnabled()) {
assert false;
return;
--
2.25.1
--
2.20.1

View file

@ -13,7 +13,7 @@ Subject: Remove help menu item
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
@@ -145,9 +145,6 @@
@@ -142,9 +142,6 @@
<item android:id="@+id/preferences_id"
android:title="@string/menu_settings"
android:icon="@drawable/settings_cog" />
@ -39,7 +39,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/KeyboardShortcu
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
@@ -2401,16 +2401,6 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
@@ -2329,16 +2329,6 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
final Tab currentTab = getActivityTab();
@ -59,7 +59,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/customtabs/BaseCustomTabActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/BaseCustomTabActivity.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/BaseCustomTabActivity.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/BaseCustomTabActivity.java
@@ -537,7 +537,7 @@ public abstract class BaseCustomTabActivity extends ChromeActivity<BaseCustomTab
@@ -524,7 +524,7 @@ public abstract class BaseCustomTabActivity extends ChromeActivity<BaseCustomTab
public boolean onMenuOrKeyboardAction(int id, boolean fromMenu) {
// Disable creating new tabs, bookmark, history, print, help, focus_url, etc.
if (id == R.id.focus_url_bar || id == R.id.all_bookmarks_menu_id
@ -87,5 +87,6 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/directactions/M
availableItemIds.add(R.id.new_tab_menu_id);
availableItemIds.add(R.id.preferences_id);
--
2.25.1
--
2.20.1

File diff suppressed because it is too large Load diff

View file

@ -23,7 +23,7 @@ diff --git a/chrome/browser/net/dns_probe_runner.cc b/chrome/browser/net/dns_pro
diff --git a/net/dns/dns_transaction.cc b/net/dns/dns_transaction.cc
--- a/net/dns/dns_transaction.cc
+++ b/net/dns/dns_transaction.cc
@@ -878,7 +878,7 @@ class DnsTCPAttempt : public DnsAttempt {
@@ -876,7 +876,7 @@ class DnsTCPAttempt : public DnsAttempt {
// ----------------------------------------------------------------------------
@ -32,5 +32,6 @@ diff --git a/net/dns/dns_transaction.cc b/net/dns/dns_transaction.cc
const net::BackoffEntry::Policy kProbeBackoffPolicy = {
// Apply exponential backoff rules after the first error.
--
2.25.1
--
2.20.1

View file

@ -7,7 +7,7 @@ This reverts commit ae458edcc8422d0815d0e82261e71fe10d7d6fc2.
Disable search-ready omnibox by default
---
chrome/browser/about_flags.cc | 5 ++++-
chrome/browser/about_flags.cc | 3 +++
chrome/browser/flag-metadata.json | 5 +++++
chrome/browser/flag_descriptions.cc | 5 +++++
chrome/browser/flag_descriptions.h | 3 +++
@ -15,35 +15,25 @@ Disable search-ready omnibox by default
chrome/browser/flags/android/chrome_feature_list.h | 1 +
.../chrome/browser/flags/ChromeFeatureList.java | 1 +
.../suggestions/DropdownItemViewInfoListBuilder.java | 10 ++++++++--
8 files changed, 31 insertions(+), 3 deletions(-)
8 files changed, 30 insertions(+), 2 deletions(-)
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
@@ -3361,8 +3361,8 @@ const FeatureEntry kFeatureEntries[] = {
#if defined(USE_AURA)
@@ -3381,6 +3381,9 @@ const FeatureEntry kFeatureEntries[] = {
{"overscroll-history-navigation",
flag_descriptions::kOverscrollHistoryNavigationName,
- flag_descriptions::kOverscrollHistoryNavigationDescription, kOsAura,
FEATURE_VALUE_TYPE(features::kOverscrollHistoryNavigation)},
+ flag_descriptions::kOverscrollHistoryNavigationDescription, kOsAura,
{"pull-to-refresh", flag_descriptions::kPullToRefreshName,
flag_descriptions::kPullToRefreshDescription, kOsAura,
MULTI_VALUE_TYPE(kPullToRefreshChoices)},
@@ -7690,6 +7690,9 @@ const FeatureEntry kFeatureEntries[] = {
kSnoopingProtectionVariations,
"SnoopingProtection")},
#endif
flag_descriptions::kOverscrollHistoryNavigationDescription, kOsAura,
+ {"enable-search-ready-omnibox", flag_descriptions::kSearchReadyOmniboxName,
+ flag_descriptions::kSearchReadyOmniboxDescription, kOsAndroid,
+ FEATURE_VALUE_TYPE(chrome::android::kSearchReadyOmniboxFeature)},
#if defined(OS_WIN)
{"pervasive-system-accent-color",
FEATURE_VALUE_TYPE(features::kOverscrollHistoryNavigation)},
{"pull-to-refresh", flag_descriptions::kPullToRefreshName,
flag_descriptions::kPullToRefreshDescription, kOsAura,
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
@@ -2424,6 +2424,11 @@
@@ -2355,6 +2355,11 @@
// with neural net palm detection.
"expiry_milestone": 90
},
@ -58,7 +48,7 @@ diff --git a/chrome/browser/flag-metadata.json b/chrome/browser/flag-metadata.js
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
@@ -3490,6 +3490,11 @@ const char kSecurePaymentConfirmationAndroidName[] =
@@ -3525,6 +3525,11 @@ const char kSecurePaymentConfirmationAndroidName[] =
const char kSecurePaymentConfirmationAndroidDescription[] =
"Enables Secure Payment Confirmation on Android.";
@ -73,7 +63,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
@@ -2009,6 +2009,9 @@ extern const char kScrollCaptureDescription[];
@@ -2020,6 +2020,9 @@ extern const char kScrollCaptureDescription[];
extern const char kSecurePaymentConfirmationAndroidName[];
extern const char kSecurePaymentConfirmationAndroidDescription[];
@ -86,7 +76,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
@@ -251,6 +251,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
@@ -255,6 +255,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
&kReachedCodeProfiler,
&kReaderModeInCCT,
&kReengagementNotification,
@ -94,7 +84,7 @@ diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browse
&kRelatedSearches,
&kRelatedSearchesAlternateUx,
&kRelatedSearchesInBar,
@@ -708,6 +709,9 @@ const base::Feature kRelatedSearchesSimplifiedUx{
@@ -698,6 +699,9 @@ const base::Feature kRelatedSearchesSimplifiedUx{
const base::Feature kRelatedSearchesUi{"RelatedSearchesUi",
base::FEATURE_DISABLED_BY_DEFAULT};
@ -107,7 +97,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
@@ -127,6 +127,7 @@ extern const base::Feature kRelatedSearchesSimplifiedUx;
@@ -123,6 +123,7 @@ extern const base::Feature kRelatedSearchesSimplifiedUx;
extern const base::Feature kRelatedSearchesUi;
extern const base::Feature kSearchEnginePromoExistingDevice;
extern const base::Feature kSearchEnginePromoNewDevice;
@ -118,7 +108,7 @@ 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
@@ -395,6 +395,7 @@ public abstract class ChromeFeatureList {
@@ -399,6 +399,7 @@ public abstract class ChromeFeatureList {
public static final String MODAL_PERMISSION_DIALOG_VIEW = "ModalPermissionDialogView";
public static final String METRICS_SETTINGS_ANDROID = "MetricsSettingsAndroid";
public static final String NEW_WINDOW_APP_MENU = "NewWindowAppMenu";
@ -129,7 +119,7 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f
diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/DropdownItemViewInfoListBuilder.java b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/DropdownItemViewInfoListBuilder.java
--- a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/DropdownItemViewInfoListBuilder.java
+++ b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/DropdownItemViewInfoListBuilder.java
@@ -62,6 +62,7 @@ class DropdownItemViewInfoListBuilder {
@@ -65,6 +65,7 @@ class DropdownItemViewInfoListBuilder {
private int mDropdownHeight;
private boolean mEnableAdaptiveSuggestionsCount;
private boolean mBuiltListHasFullyConcealedElements;
@ -137,7 +127,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow
DropdownItemViewInfoListBuilder(@NonNull Supplier<Tab> tabSupplier, BookmarkState bookmarkState,
@NonNull ExploreIconProvider exploreIconProvider) {
@@ -90,8 +91,9 @@ class DropdownItemViewInfoListBuilder {
@@ -95,8 +96,9 @@ class DropdownItemViewInfoListBuilder {
() -> mShareDelegateSupplier == null ? null : mShareDelegateSupplier.get();
mHeaderProcessor = new HeaderProcessor(context, host, delegate);
@ -149,7 +139,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow
registerSuggestionProcessor(
new AnswerSuggestionProcessor(context, host, textProvider, imageFetcherSupplier));
registerSuggestionProcessor(
@@ -211,6 +213,10 @@ class DropdownItemViewInfoListBuilder {
@@ -218,6 +220,10 @@ class DropdownItemViewInfoListBuilder {
/** Signals that native initialization has completed. */
void onNativeInitialized() {
@ -160,5 +150,6 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow
mEnableAdaptiveSuggestionsCount =
ChromeFeatureList.isEnabled(ChromeFeatureList.OMNIBOX_ADAPTIVE_SUGGESTIONS_COUNT);
--
2.25.1
--
2.20.1

View file

@ -12,6 +12,7 @@ This reverts commit 4d0e4483c5f77c66a8b6193e8a3bec5d0624d6ad.
.../feedback/SimplifiedNtpFeedbackSource.java | 38 +++++++++++
.../NativePageNavigationDelegateImpl.java | 4 +-
.../chrome/browser/ntp/NewTabPageLayout.java | 30 ++++++++-
.../suggestions/SuggestionsConfig.java | 4 +-
.../SuggestionsNavigationDelegate.java | 17 +++++
chrome/browser/about_flags.cc | 3 +
chrome/browser/flag_descriptions.cc | 3 +
@ -21,16 +22,16 @@ This reverts commit 4d0e4483c5f77c66a8b6193e8a3bec5d0624d6ad.
.../browser/flags/ChromeFeatureList.java | 1 +
components/ntp_snippets/features.cc | 6 +-
.../variations/fieldtrial_testing_config.json | 18 +++++
17 files changed, 198 insertions(+), 5 deletions(-)
18 files changed, 201 insertions(+), 6 deletions(-)
create mode 100644 chrome/android/java/res/layout/ntp_shortcuts.xml
create mode 100644 chrome/android/java/src/org/chromium/chrome/browser/feedback/SimplifiedNtpFeedbackSource.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
@@ -678,6 +678,7 @@ chrome_java_resources = [
"java/res/layout/new_tab_page_incognito.xml",
"java/res/layout/new_tab_page_layout.xml",
@@ -680,6 +680,7 @@ chrome_java_resources = [
"java/res/layout/new_tab_page_multi_feed_header.xml",
"java/res/layout/new_tab_page_section_tab.xml",
"java/res/layout/new_tab_page_tile_grid_placeholder.xml",
+ "java/res/layout/ntp_shortcuts.xml",
"java/res/layout/optional_toolbar_button.xml",
@ -39,7 +40,7 @@ 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
@@ -603,6 +603,7 @@ chrome_java_sources = [
@@ -598,6 +598,7 @@ chrome_java_sources = [
"java/src/org/chromium/chrome/browser/feedback/FeedFeedbackCollector.java",
"java/src/org/chromium/chrome/browser/feedback/HelpAndFeedbackLauncherImpl.java",
"java/src/org/chromium/chrome/browser/feedback/ScreenshotTask.java",
@ -107,7 +108,7 @@ new file mode 100644
+ android:textAppearance="@style/TextAppearance.TextSmall.Secondary"
+ app:drawableHeight="20sp"
+ app:drawableWidth="20sp"
+ app:chromeDrawableTint="@color/default_icon_color_light" />
+ app:chromeDrawableTint="@color/default_icon_color" />
+ </FrameLayout>
+
+ <FrameLayout
@ -131,20 +132,20 @@ new file mode 100644
+ android:textAppearance="@style/TextAppearance.TextSmall.Secondary"
+ app:drawableHeight="20sp"
+ app:drawableWidth="20sp"
+ app:chromeDrawableTint="@color/default_icon_color_light" />
+ app:chromeDrawableTint="@color/default_icon_color" />
+ </FrameLayout>
+</LinearLayout>
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/feedback/ChromeFeedbackCollector.java b/chrome/android/java/src/org/chromium/chrome/browser/feedback/ChromeFeedbackCollector.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/feedback/ChromeFeedbackCollector.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/feedback/ChromeFeedbackCollector.java
@@ -59,6 +59,7 @@ public class ChromeFeedbackCollector
@@ -56,6 +56,7 @@ public class ChromeFeedbackCollector
sources.add(new LowEndDeviceFeedbackSource());
sources.add(new IMEFeedbackSource());
sources.add(new PermissionFeedbackSource());
+ sources.add(new SimplifiedNtpFeedbackSource());
sources.add(new FeedbackContextFeedbackSource(initParams.feedbackContext));
sources.add(
new AutoDarkFeedbackSource(initParams.profile, activity, new GURL(initParams.url)));
return sources;
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/feedback/SimplifiedNtpFeedbackSource.java b/chrome/android/java/src/org/chromium/chrome/browser/feedback/SimplifiedNtpFeedbackSource.java
new file mode 100644
--- /dev/null
@ -206,15 +207,15 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/native_page/Nat
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageLayout.java b/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageLayout.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageLayout.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageLayout.java
@@ -38,6 +38,7 @@ import org.chromium.chrome.browser.explore_sites.ExperimentalExploreSitesSection
@@ -37,6 +37,7 @@ import org.chromium.chrome.browser.cryptids.ProbabilisticCryptidRenderer;
import org.chromium.chrome.browser.explore_sites.ExperimentalExploreSitesSection;
import org.chromium.chrome.browser.explore_sites.ExploreSitesBridge;
import org.chromium.chrome.browser.feed.FeedSurfaceScrollDelegate;
import org.chromium.chrome.browser.lens.LensEntryPoint;
+import org.chromium.chrome.browser.flags.ChromeFeatureList;
import org.chromium.chrome.browser.lens.LensMetrics;
import org.chromium.chrome.browser.lifecycle.ActivityLifecycleDispatcher;
import org.chromium.chrome.browser.native_page.ContextMenuManager;
@@ -119,6 +120,8 @@ public class NewTabPageLayout extends LinearLayout implements TileGroup.Observer
@@ -118,6 +119,8 @@ public class NewTabPageLayout extends LinearLayout implements TileGroup.Observer
private UiConfig mUiConfig;
private CallbackController mCallbackController = new CallbackController();
@ -223,7 +224,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageL
/**
* Whether the tiles shown in the layout have finished loading.
* With {@link #mHasShownView}, it's one of the 2 flags used to track initialisation progress.
@@ -253,6 +256,7 @@ public class NewTabPageLayout extends LinearLayout implements TileGroup.Observer
@@ -283,6 +286,7 @@ public class NewTabPageLayout extends LinearLayout implements TileGroup.Observer
mNoSearchLogoSpacer = findViewById(R.id.no_search_logo_spacer);
initializeSearchBoxBackground();
@ -231,7 +232,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageL
initializeSearchBoxTextView();
initializeVoiceSearchButton();
initializeLensButton();
@@ -564,10 +568,16 @@ public class NewTabPageLayout extends LinearLayout implements TileGroup.Observer
@@ -596,10 +600,16 @@ public class NewTabPageLayout extends LinearLayout implements TileGroup.Observer
* Updates the padding for the tile grid based on what is shown above it.
*/
private void updateTileGridPadding() {
@ -250,7 +251,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageL
mSiteSectionViewHolder.getItemView().setPadding(
0, paddingTop, 0, mSiteSectionViewHolder.getItemView().getPaddingBottom());
}
@@ -955,6 +965,22 @@ public class NewTabPageLayout extends LinearLayout implements TileGroup.Observer
@@ -987,6 +997,22 @@ public class NewTabPageLayout extends LinearLayout implements TileGroup.Observer
return iphCommandBuilder;
}
@ -273,12 +274,26 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageL
/**
* Makes the Search Box and Logo as wide as Most Visited.
*/
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/suggestions/SuggestionsConfig.java b/chrome/android/java/src/org/chromium/chrome/browser/suggestions/SuggestionsConfig.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/suggestions/SuggestionsConfig.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/suggestions/SuggestionsConfig.java
@@ -51,7 +51,9 @@ public final class SuggestionsConfig {
// The scroll to load feature does not work well for users who require accessibility mode.
if (ChromeAccessibilityUtil.get().isAccessibilityEnabled()) return false;
- return ChromeFeatureList.isEnabled(ChromeFeatureList.CONTENT_SUGGESTIONS_SCROLL_TO_LOAD);
+ return ChromeFeatureList.isEnabled(ChromeFeatureList.SIMPLIFIED_NTP)
+ && ChromeFeatureList.isEnabled(
+ ChromeFeatureList.CONTENT_SUGGESTIONS_SCROLL_TO_LOAD);
}
/**
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/suggestions/SuggestionsNavigationDelegate.java b/chrome/android/java/src/org/chromium/chrome/browser/suggestions/SuggestionsNavigationDelegate.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/suggestions/SuggestionsNavigationDelegate.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/suggestions/SuggestionsNavigationDelegate.java
@@ -14,6 +14,11 @@ import org.chromium.chrome.browser.ui.native_page.NativePageHost;
import org.chromium.content_public.browser.LoadUrlParams;
@@ -16,6 +16,11 @@ import org.chromium.content_public.browser.LoadUrlParams;
import org.chromium.ui.base.PageTransition;
import org.chromium.ui.mojom.WindowOpenDisposition;
+import org.chromium.chrome.browser.bookmarks.BookmarkUtils;
+import org.chromium.chrome.browser.download.DownloadUtils;
@ -288,8 +303,8 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/suggestions/Sug
/**
* Extension of {@link NativePageNavigationDelegate} with suggestions-specific methods.
*/
@@ -25,6 +30,18 @@ public class SuggestionsNavigationDelegate extends NativePageNavigationDelegateI
super(activity, profile, host, tabModelSelector, tab);
@@ -35,6 +40,18 @@ public class SuggestionsNavigationDelegate extends NativePageNavigationDelegateI
new LoadUrlParams(NEW_TAB_URL_HELP, PageTransition.AUTO_BOOKMARK));
}
+ public void navigateToBookmarks() {
@ -310,7 +325,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/suggestions/Sug
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
@@ -3999,6 +3999,9 @@ const FeatureEntry kFeatureEntries[] = {
@@ -4005,6 +4005,9 @@ const FeatureEntry kFeatureEntries[] = {
SINGLE_VALUE_TYPE_AND_VALUE(
switches::kForceShowUpdateMenuItemCustomSummary,
"Custom Summary")},
@ -323,7 +338,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
@@ -3533,6 +3533,9 @@ const char kSharingHubLinkToggleName[] = "Sharing Hub Link Toggle";
@@ -3573,6 +3573,9 @@ const char kSharingHubLinkToggleName[] = "Sharing Hub Link Toggle";
const char kSharingHubLinkToggleDescription[] =
"Enable the link toggle in the Sharing Hub.";
@ -336,7 +351,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
@@ -2030,6 +2030,9 @@ extern const char kSiteIsolationForPasswordSitesDescription[];
@@ -2041,6 +2041,9 @@ extern const char kSiteIsolationForPasswordSitesDescription[];
extern const char kSmartSuggestionForLargeDownloadsName[];
extern const char kSmartSuggestionForLargeDownloadsDescription[];
@ -349,15 +364,15 @@ 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
@@ -237,6 +237,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
&kImmersiveUiMode,
&kIncognitoReauthenticationForAndroid,
&kIncognitoScreenshot,
@@ -233,6 +233,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
&kEnhancedProtectionPromoCard,
&kExperimentsForAgsa,
&kExploreSites,
+ &kSimplifiedNTP,
&kInstanceSwitcher,
&kInstantStart,
&kKitKatSupported,
@@ -674,6 +675,9 @@ const base::Feature kOfflineIndicatorV2{"OfflineIndicatorV2",
&kFocusOmniboxInIncognitoTabIntents,
&kGoogleLensSdkIntent,
&kHandleMediaIntents,
@@ -664,6 +665,9 @@ const base::Feature kOfflineIndicatorV2{"OfflineIndicatorV2",
const base::Feature kOfflineMeasurementsBackgroundTask{
"OfflineMeasurementsBackgroundTask", base::FEATURE_DISABLED_BY_DEFAULT};
@ -370,7 +385,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
@@ -114,6 +114,7 @@ extern const base::Feature kNewWindowAppMenu;
@@ -110,6 +110,7 @@ extern const base::Feature kNewWindowAppMenu;
extern const base::Feature kOfflineIndicatorV2;
extern const base::Feature kOfflineMeasurementsBackgroundTask;
extern const base::Feature kPageAnnotationsService;
@ -381,14 +396,14 @@ 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
@@ -382,6 +382,7 @@ public abstract class ChromeFeatureList {
public static final String MESSAGES_FOR_ANDROID_ADS_BLOCKED = "MessagesForAndroidAdsBlocked";
@@ -389,6 +389,7 @@ public abstract class ChromeFeatureList {
public static final String MARK_HTTP_AS = "MarkHttpAs";
public static final String MESSAGES_FOR_ANDROID_CHROME_SURVEY =
"MessagesForAndroidChromeSurvey";
+ public static final String SIMPLIFIED_NTP = "SimplifiedNTP";
public static final String MESSAGES_FOR_ANDROID_INFRASTRUCTURE =
"MessagesForAndroidInfrastructure";
public static final String MESSAGES_FOR_ANDROID_PERMISSION_UPDATE =
public static final String MESSAGES_FOR_ANDROID_READER_MODE = "MessagesForAndroidReaderMode";
diff --git a/components/ntp_snippets/features.cc b/components/ntp_snippets/features.cc
--- a/components/ntp_snippets/features.cc
+++ b/components/ntp_snippets/features.cc
@ -414,7 +429,7 @@ diff --git a/components/ntp_snippets/features.cc b/components/ntp_snippets/featu
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
@@ -4274,6 +4274,24 @@
@@ -3972,6 +3972,24 @@
]
}
],
@ -439,5 +454,6 @@ diff --git a/testing/variations/fieldtrial_testing_config.json b/testing/variati
"HelpAppLauncherSearch": [
{
"platforms": [
--
2.25.1
--
2.20.1

View file

@ -13,9 +13,9 @@ This reverts commit 4e598f38a0e6dd3dbede009c6a99b2a520a94e1f.
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
@@ -3407,6 +3407,10 @@ const FeatureEntry kFeatureEntries[] = {
flag_descriptions::kEnableVulkanDescription,
kOsWin | kOsLinux | kOsAndroid, FEATURE_VALUE_TYPE(features::kVulkan)},
@@ -3435,6 +3435,10 @@ const FeatureEntry kFeatureEntries[] = {
SINGLE_DISABLE_VALUE_TYPE(switches::kDisableHostedAppShimCreation)},
#endif // OS_MAC
#if defined(OS_ANDROID)
+ {switches::kDisablePullToRefreshEffect,
+ flag_descriptions::kDisablePullToRefreshEffectName,
@ -27,7 +27,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
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
@@ -1211,6 +1211,11 @@
@@ -1160,6 +1160,11 @@
// enable-javascript-harmony.
"expiry_milestone": -1
},
@ -42,7 +42,7 @@ diff --git a/chrome/browser/flag-metadata.json b/chrome/browser/flag-metadata.js
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
@@ -3377,6 +3377,10 @@ const char kReadLaterDescription[] =
@@ -3409,6 +3409,10 @@ const char kReadLaterDescription[] =
"Allow users to save tabs for later. Enables a new button and menu for "
"accessing tabs saved for later.";
@ -56,7 +56,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
@@ -1949,6 +1949,9 @@ extern const char kQueryTilesSegmentationDescription[];
@@ -1954,6 +1954,9 @@ extern const char kQueryTilesSegmentationDescription[];
extern const char kQueryTilesSwapTrendingName[];
extern const char kQueryTilesSwapTrendingDescription[];
@ -66,5 +66,6 @@ diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptio
extern const char kReaderModeHeuristicsName[];
extern const char kReaderModeHeuristicsDescription[];
extern const char kReaderModeHeuristicsMarkup[];
--
2.25.1
--
2.20.1

View file

@ -13,7 +13,7 @@ This reverts commit 2a51528a1737e9038f7f96f29403032a6a845a25.
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
@@ -332,6 +332,15 @@ const FeatureEntry::Choice kOverlayStrategiesChoices[] = {
@@ -319,6 +319,15 @@ const FeatureEntry::Choice kOverlayStrategiesChoices[] = {
"single-fullscreen,single-on-top,underlay"},
};
@ -29,7 +29,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
const FeatureEntry::Choice kTouchTextSelectionStrategyChoices[] = {
{flags_ui::kGenericExperimentChoiceDefault, "", ""},
{flag_descriptions::kTouchSelectionStrategyCharacter,
@@ -3642,6 +3651,9 @@ const FeatureEntry kFeatureEntries[] = {
@@ -3647,6 +3656,9 @@ const FeatureEntry kFeatureEntries[] = {
{"enable-use-zoom-for-dsf", flag_descriptions::kEnableUseZoomForDsfName,
flag_descriptions::kEnableUseZoomForDsfDescription, kOsAll,
MULTI_VALUE_TYPE(kEnableUseZoomForDSFChoices)},
@ -42,9 +42,9 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
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
@@ -4028,6 +4028,11 @@
"owners": [ "mahmadi", "mfacey" ],
"expiry_milestone": 100
@@ -3945,6 +3945,11 @@
"owners": [ "jerem", "tiborg" ],
"expiry_milestone": 96
},
+ {
+ "name": "num-raster-threads",
@ -52,12 +52,12 @@ diff --git a/chrome/browser/flag-metadata.json b/chrome/browser/flag-metadata.js
+ "expiry_milestone": -1
+ },
{
"name": "ntp-realbox-suggestion-answers",
"name": "ntp-realbox-pedals",
"owners": [ "mahmadi", "mfacey" ],
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
@@ -1690,6 +1690,14 @@ const char kOmniboxActiveSearchEnginesDescription[] =
@@ -1742,6 +1742,14 @@ const char kOmniboxActiveSearchEnginesDescription[] =
"Enables a 'Your Search Engines' section on "
"chrome://settings/searchEngines.";
@ -75,7 +75,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
@@ -989,6 +989,13 @@ extern const char kNotificationsSystemFlagDescription[];
@@ -1009,6 +1009,13 @@ extern const char kNotificationsSystemFlagDescription[];
extern const char kOmniboxActiveSearchEnginesName[];
extern const char kOmniboxActiveSearchEnginesDescription[];
@ -89,5 +89,6 @@ diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptio
extern const char kOmniboxAdaptiveSuggestionsCountName[];
extern const char kOmniboxAdaptiveSuggestionsCountDescription[];
--
2.25.1
--
2.20.1

View file

@ -30,11 +30,11 @@ Subject: Revert the removal of an option to block autoplay
.../android/page_info_controller_android.cc | 1 +
components/page_info/page_info.cc | 6 +++++
components/page_info/page_info_ui.cc | 1 +
components/site_settings_strings.grdp | 3 +++
components/site_settings_strings.grdp | 5 +++-
.../platform/web_content_settings_client.h | 3 +++
.../core/html/media/autoplay_policy.cc | 12 +++++++++-
.../core/html/media/autoplay_policy.h | 4 ++++
31 files changed, 118 insertions(+), 5 deletions(-)
31 files changed, 119 insertions(+), 6 deletions(-)
create mode 100644 components/browser_ui/site_settings/android/java/res/drawable-hdpi/settings_autoplay.png
create mode 100644 components/browser_ui/site_settings/android/java/res/drawable-mdpi/settings_autoplay.png
create mode 100644 components/browser_ui/site_settings/android/java/res/drawable-xhdpi/settings_autoplay.png
@ -42,9 +42,10 @@ Subject: Revert the removal of an option to block autoplay
create mode 100644 components/browser_ui/site_settings/android/java/res/drawable-xxxhdpi/settings_autoplay.png
diff --git a/components/browser_ui/site_settings/android/BUILD.gn b/components/browser_ui/site_settings/android/BUILD.gn
index 624ba958356ba..216eb2c2381ef 100644
--- a/components/browser_ui/site_settings/android/BUILD.gn
+++ b/components/browser_ui/site_settings/android/BUILD.gn
@@ -148,6 +148,11 @@ android_resources("java_resources") {
@@ -145,6 +145,11 @@ android_resources("java_resources") {
"java/res/drawable-xxxhdpi/permission_protected_media.png",
"java/res/drawable-xxxhdpi/settings_sensors.png",
"java/res/drawable-xxxhdpi/web_asset.png",
@ -165,9 +166,10 @@ literal 0
HcmV?d00001
diff --git a/components/browser_ui/site_settings/android/java/res/xml/site_settings_preferences.xml b/components/browser_ui/site_settings/android/java/res/xml/site_settings_preferences.xml
index 31260c27852a3..7bae9b4f3afcc 100644
--- a/components/browser_ui/site_settings/android/java/res/xml/site_settings_preferences.xml
+++ b/components/browser_ui/site_settings/android/java/res/xml/site_settings_preferences.xml
@@ -65,6 +65,10 @@
@@ -61,6 +61,10 @@
<org.chromium.components.browser_ui.settings.ChromeBasePreference
android:fragment="org.chromium.components.browser_ui.site_settings.SingleCategorySettings"
android:key="protected_content" />
@ -179,6 +181,7 @@ diff --git a/components/browser_ui/site_settings/android/java/res/xml/site_setti
<org.chromium.components.browser_ui.settings.ChromeBasePreference
android:fragment="org.chromium.components.browser_ui.site_settings.SingleCategorySettings"
diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/ContentSettingsResources.java b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/ContentSettingsResources.java
index 04379683aa48b..a78f79463e044 100644
--- a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/ContentSettingsResources.java
+++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/ContentSettingsResources.java
@@ -113,7 +113,10 @@ public class ContentSettingsResources {
@ -194,9 +197,10 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
return new ResourceItem(R.drawable.ic_brightness_medium_24dp,
R.drawable.ic_brightness_medium_20dp, R.string.auto_dark_web_content_title,
diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleCategorySettings.java b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleCategorySettings.java
index 2f289db26c670..6440e0ff63271 100644
--- a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleCategorySettings.java
+++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleCategorySettings.java
@@ -581,6 +581,8 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment
@@ -567,6 +567,8 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment
int resource = 0;
if (mCategory.showSites(SiteSettingsCategory.Type.AUTOMATIC_DOWNLOADS)) {
resource = R.string.website_settings_add_site_description_automatic_downloads;
@ -205,19 +209,20 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
} else if (mCategory.showSites(SiteSettingsCategory.Type.BACKGROUND_SYNC)) {
resource = R.string.website_settings_add_site_description_background_sync;
} else if (mCategory.showSites(SiteSettingsCategory.Type.JAVASCRIPT)) {
@@ -701,6 +703,8 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment
boolean allowSpecifyingExceptions = false;
@@ -680,6 +682,8 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment
boolean exception = false;
if (mCategory.showSites(SiteSettingsCategory.Type.SOUND)) {
allowSpecifyingExceptions = true;
exception = true;
+ } else if (mCategory.showSites(SiteSettingsCategory.Type.AUTOPLAY)) {
+ allowSpecifyingExceptions = true;
+ exception = true;
} else if (mCategory.showSites(SiteSettingsCategory.Type.JAVASCRIPT)) {
allowSpecifyingExceptions = true;
exception = true;
} else if (mCategory.showSites(SiteSettingsCategory.Type.COOKIES)) {
diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleWebsiteSettings.java b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleWebsiteSettings.java
index 046bf481a685c..78c8579eb9c6c 100644
--- a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleWebsiteSettings.java
+++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleWebsiteSettings.java
@@ -124,6 +124,8 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment
@@ -119,6 +119,8 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment
return "bluetooth_scanning_permission_list";
case ContentSettingsType.COOKIES:
return "cookies_permission_list";
@ -226,7 +231,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
case ContentSettingsType.IDLE_DETECTION:
return "idle_detection_permission_list";
case ContentSettingsType.JAVASCRIPT:
@@ -490,6 +492,8 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment
@@ -483,6 +485,8 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment
if (type == ContentSettingsType.ADS) {
setUpAdsPreference(preference);
@ -235,7 +240,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
} else if (type == ContentSettingsType.SOUND) {
setUpSoundPreference(preference);
} else if (type == ContentSettingsType.JAVASCRIPT) {
@@ -980,6 +984,24 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment
@@ -971,6 +975,24 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment
setupContentSettingsPreference(preference, currentValue, false /* isEmbargoed */);
}
@ -261,31 +266,32 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
BrowserContextHandle browserContextHandle =
getSiteSettingsDelegate().getBrowserContextHandle();
diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SiteSettingsCategory.java b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SiteSettingsCategory.java
index 801c2454e2984..65aa0fd8899db 100644
--- a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SiteSettingsCategory.java
+++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SiteSettingsCategory.java
@@ -43,7 +43,7 @@ public class SiteSettingsCategory {
@@ -42,7 +42,7 @@ public class SiteSettingsCategory {
Type.CLIPBOARD, Type.COOKIES, Type.IDLE_DETECTION, Type.DEVICE_LOCATION,
Type.JAVASCRIPT, Type.MICROPHONE, Type.NFC, Type.NOTIFICATIONS, Type.POPUPS,
Type.PROTECTED_MEDIA, Type.SENSORS, Type.SOUND, Type.USB, Type.VIRTUAL_REALITY,
Type.USE_STORAGE, Type.AUTO_DARK_WEB_CONTENT, Type.REQUEST_DESKTOP_SITE,
- Type.TIMEZONE_OVERRIDE})
+ Type.TIMEZONE_OVERRIDE, Type.AUTOPLAY})
- Type.USE_STORAGE, Type.AUTO_DARK_WEB_CONTENT, Type.REQUEST_DESKTOP_SITE})
+ Type.USE_STORAGE, Type.AUTO_DARK_WEB_CONTENT, Type.REQUEST_DESKTOP_SITE, Type.AUTOPLAY})
@Retention(RetentionPolicy.SOURCE)
public @interface Type {
// All updates here must also be reflected in {@link #preferenceKey(int)
@@ -74,10 +74,11 @@ public class SiteSettingsCategory {
@@ -72,10 +72,11 @@ public class SiteSettingsCategory {
int USE_STORAGE = 22;
int AUTO_DARK_WEB_CONTENT = 23;
int REQUEST_DESKTOP_SITE = 24;
int TIMEZONE_OVERRIDE = 25;
+ int AUTOPLAY = 26;
+ int AUTOPLAY = 25;
/**
* Number of handled categories used for calculating array sizes.
*/
- int NUM_ENTRIES = 26;
+ int NUM_ENTRIES = 27;
- int NUM_ENTRIES = 25;
+ int NUM_ENTRIES = 26;
}
private final BrowserContextHandle mBrowserContextHandle;
@@ -188,6 +189,8 @@ public class SiteSettingsCategory {
@@ -186,6 +187,8 @@ public class SiteSettingsCategory {
return ContentSettingsType.NFC;
case Type.NOTIFICATIONS:
return ContentSettingsType.NOTIFICATIONS;
@ -294,7 +300,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
case Type.POPUPS:
return ContentSettingsType.POPUPS;
case Type.PROTECTED_MEDIA:
@@ -266,6 +269,8 @@ public class SiteSettingsCategory {
@@ -262,6 +265,8 @@ public class SiteSettingsCategory {
return "nfc";
case Type.NOTIFICATIONS:
return "notifications";
@ -304,6 +310,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
return "popups";
case Type.PROTECTED_MEDIA:
diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/Website.java b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/Website.java
index fa69c4b50b536..8d0c56709ab3d 100644
--- a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/Website.java
+++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/Website.java
@@ -216,6 +216,14 @@ public final class Website implements Serializable {
@ -322,6 +329,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
// It is possible to set the permission without having an existing exception,
// because we always show the sound permission in Site Settings.
diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/WebsitePermissionsFetcher.java b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/WebsitePermissionsFetcher.java
index 9523dcca60d51..5a2c743b245f3 100644
--- a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/WebsitePermissionsFetcher.java
+++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/WebsitePermissionsFetcher.java
@@ -61,6 +61,7 @@ public class WebsitePermissionsFetcher {
@ -333,9 +341,10 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
case ContentSettingsType.REQUEST_DESKTOP_SITE:
case ContentSettingsType.JAVASCRIPT:
diff --git a/components/browser_ui/site_settings/android/website_preference_bridge.cc b/components/browser_ui/site_settings/android/website_preference_bridge.cc
index ee7d9bf53f8d3..f0aaa0ffd23e8 100644
--- a/components/browser_ui/site_settings/android/website_preference_bridge.cc
+++ b/components/browser_ui/site_settings/android/website_preference_bridge.cc
@@ -819,6 +819,7 @@ static void JNI_WebsitePreferenceBridge_SetContentSettingEnabled(
@@ -820,6 +820,7 @@ static void JNI_WebsitePreferenceBridge_SetContentSettingEnabled(
case ContentSettingsType::POPUPS:
case ContentSettingsType::SENSORS:
case ContentSettingsType::SOUND:
@ -344,6 +353,7 @@ diff --git a/components/browser_ui/site_settings/android/website_preference_brid
break;
default:
diff --git a/components/browser_ui/strings/android/site_settings.grdp b/components/browser_ui/strings/android/site_settings.grdp
index 9a03fda430baa..35c484f1f74b1 100644
--- a/components/browser_ui/strings/android/site_settings.grdp
+++ b/components/browser_ui/strings/android/site_settings.grdp
@@ -12,6 +12,15 @@
@ -363,9 +373,10 @@ diff --git a/components/browser_ui/strings/android/site_settings.grdp b/componen
Augmented reality
</message>
diff --git a/components/content_settings/core/browser/content_settings_registry.cc b/components/content_settings/core/browser/content_settings_registry.cc
index 336b5498e3ff4..6de84a2e75ca0 100644
--- a/components/content_settings/core/browser/content_settings_registry.cc
+++ b/components/content_settings/core/browser/content_settings_registry.cc
@@ -318,7 +318,7 @@ void ContentSettingsRegistry::Init() {
@@ -313,7 +313,7 @@ void ContentSettingsRegistry::Init() {
ContentSettingsInfo::PERSISTENT,
ContentSettingsInfo::EXCEPTIONS_ON_SECURE_ORIGINS_ONLY);
@ -375,6 +386,7 @@ diff --git a/components/content_settings/core/browser/content_settings_registry.
ValidSettings(CONTENT_SETTING_ALLOW, CONTENT_SETTING_BLOCK),
WebsiteSettingsInfo::SINGLE_ORIGIN_ONLY_SCOPE,
diff --git a/components/content_settings/core/browser/content_settings_utils.cc b/components/content_settings/core/browser/content_settings_utils.cc
index 75473709e0ee6..e26e3d099bd1c 100644
--- a/components/content_settings/core/browser/content_settings_utils.cc
+++ b/components/content_settings/core/browser/content_settings_utils.cc
@@ -152,6 +152,8 @@ void GetRendererContentSettingRules(const HostContentSettingsMap* map,
@ -385,8 +397,9 @@ diff --git a/components/content_settings/core/browser/content_settings_utils.cc
+ &(rules->autoplay_rules));
map->GetSettingsForOneType(ContentSettingsType::POPUPS,
&(rules->popup_redirect_rules));
}
diff --git a/components/content_settings/core/common/content_settings.cc b/components/content_settings/core/common/content_settings.cc
index 7006397be6f0d..49d322793d64e 100644
--- a/components/content_settings/core/common/content_settings.cc
+++ b/components/content_settings/core/common/content_settings.cc
@@ -187,6 +187,7 @@ bool RendererContentSettingRules::IsRendererContentSetting(
@ -398,6 +411,7 @@ diff --git a/components/content_settings/core/common/content_settings.cc b/compo
content_type == ContentSettingsType::POPUPS ||
content_type == ContentSettingsType::MIXEDSCRIPT ||
diff --git a/components/content_settings/core/common/content_settings.h b/components/content_settings/core/common/content_settings.h
index 135e07ab6c5d2..2721a8d0d2e93 100644
--- a/components/content_settings/core/common/content_settings.h
+++ b/components/content_settings/core/common/content_settings.h
@@ -77,6 +77,7 @@ struct RendererContentSettingRules {
@ -409,6 +423,7 @@ diff --git a/components/content_settings/core/common/content_settings.h b/compon
ContentSettingsForOneType mixed_content_rules;
ContentSettingsForOneType auto_dark_content_rules;
diff --git a/components/content_settings/core/common/content_settings.mojom b/components/content_settings/core/common/content_settings.mojom
index f2f3eba2167a2..1393eb5741925 100644
--- a/components/content_settings/core/common/content_settings.mojom
+++ b/components/content_settings/core/common/content_settings.mojom
@@ -75,6 +75,7 @@ struct ContentSettingPatternSource {
@ -420,6 +435,7 @@ diff --git a/components/content_settings/core/common/content_settings.mojom b/co
array<ContentSettingPatternSource> mixed_content_rules;
array<ContentSettingPatternSource> auto_dark_content_rules;
diff --git a/components/content_settings/core/common/content_settings_mojom_traits.cc b/components/content_settings/core/common/content_settings_mojom_traits.cc
index 4ae7a3b123dc2..af71710b33e8d 100644
--- a/components/content_settings/core/common/content_settings_mojom_traits.cc
+++ b/components/content_settings/core/common/content_settings_mojom_traits.cc
@@ -99,6 +99,7 @@ bool StructTraits<content_settings::mojom::RendererContentSettingRulesDataView,
@ -429,8 +445,9 @@ diff --git a/components/content_settings/core/common/content_settings_mojom_trai
+ data.ReadAutoplayRules(&out->autoplay_rules) &&
data.ReadPopupRedirectRules(&out->popup_redirect_rules) &&
data.ReadMixedContentRules(&out->mixed_content_rules) &&
data.ReadAutoDarkContentRules(&out->auto_dark_content_rules) &&
data.ReadAutoDarkContentRules(&out->auto_dark_content_rules);
diff --git a/components/content_settings/core/common/content_settings_mojom_traits.h b/components/content_settings/core/common/content_settings_mojom_traits.h
index 7127ca7d852b6..66244e9875e43 100644
--- a/components/content_settings/core/common/content_settings_mojom_traits.h
+++ b/components/content_settings/core/common/content_settings_mojom_traits.h
@@ -135,6 +135,11 @@ struct StructTraits<
@ -446,9 +463,10 @@ diff --git a/components/content_settings/core/common/content_settings_mojom_trai
const RendererContentSettingRules& r) {
return r.popup_redirect_rules;
diff --git a/components/content_settings/renderer/content_settings_agent_impl.cc b/components/content_settings/renderer/content_settings_agent_impl.cc
index c88d87dc4c5f0..defee1d9a7f31 100644
--- a/components/content_settings/renderer/content_settings_agent_impl.cc
+++ b/components/content_settings/renderer/content_settings_agent_impl.cc
@@ -436,6 +436,17 @@ bool ContentSettingsAgentImpl::AllowRunningInsecureContent(
@@ -427,6 +427,17 @@ bool ContentSettingsAgentImpl::AllowRunningInsecureContent(
return false;
}
@ -467,20 +485,22 @@ diff --git a/components/content_settings/renderer/content_settings_agent_impl.cc
if (!content_setting_rules_)
return default_value;
diff --git a/components/content_settings/renderer/content_settings_agent_impl.h b/components/content_settings/renderer/content_settings_agent_impl.h
index e618979c959c3..3d833922010ef 100644
--- a/components/content_settings/renderer/content_settings_agent_impl.h
+++ b/components/content_settings/renderer/content_settings_agent_impl.h
@@ -98,6 +98,7 @@ class ContentSettingsAgentImpl
@@ -99,6 +99,7 @@ class ContentSettingsAgentImpl
void DidNotAllowScript() override;
bool AllowRunningInsecureContent(bool allowed_per_settings,
const blink::WebURL& url) override;
+ bool AllowAutoplay(bool default_value) override;
bool AllowPopupsAndRedirects(bool default_value) override;
void PassiveInsecureContentFound(const blink::WebURL& resource_url) override;
bool ShouldAutoupgradeMixedContent() override;
diff --git a/components/page_info/android/page_info_controller_android.cc b/components/page_info/android/page_info_controller_android.cc
index a3c94a59322ec..8362dea2f051c 100644
--- a/components/page_info/android/page_info_controller_android.cc
+++ b/components/page_info/android/page_info_controller_android.cc
@@ -141,6 +141,7 @@ void PageInfoControllerAndroid::SetPermissionInfo(
@@ -134,6 +134,7 @@ void PageInfoControllerAndroid::SetPermissionInfo(
permissions_to_display.push_back(ContentSettingsType::ADS);
permissions_to_display.push_back(
ContentSettingsType::PROTECTED_MEDIA_IDENTIFIER);
@ -489,9 +509,10 @@ diff --git a/components/page_info/android/page_info_controller_android.cc b/comp
if (base::FeatureList::IsEnabled(features::kWebNfc))
permissions_to_display.push_back(ContentSettingsType::NFC);
diff --git a/components/page_info/page_info.cc b/components/page_info/page_info.cc
index e0a09a3fa24b1..328220fe1243e 100644
--- a/components/page_info/page_info.cc
+++ b/components/page_info/page_info.cc
@@ -98,6 +98,7 @@ ContentSettingsType kPermissionType[] = {
@@ -97,6 +97,7 @@ ContentSettingsType kPermissionType[] = {
ContentSettingsType::ADS,
ContentSettingsType::BACKGROUND_SYNC,
ContentSettingsType::SOUND,
@ -512,6 +533,7 @@ diff --git a/components/page_info/page_info.cc b/components/page_info/page_info.
// The sound content setting should always show up when the tab has played
// audio.
diff --git a/components/page_info/page_info_ui.cc b/components/page_info/page_info_ui.cc
index 7aacf8ff75ab7..236cb026b74c5 100644
--- a/components/page_info/page_info_ui.cc
+++ b/components/page_info/page_info_ui.cc
@@ -161,6 +161,7 @@ base::span<const PageInfoUI::PermissionUIInfo> GetContentSettingsUIInfo() {
@ -523,6 +545,7 @@ diff --git a/components/page_info/page_info_ui.cc b/components/page_info/page_in
IDS_SITE_SETTINGS_TYPE_SOUND_MID_SENTENCE},
{ContentSettingsType::CLIPBOARD_READ_WRITE,
diff --git a/components/site_settings_strings.grdp b/components/site_settings_strings.grdp
index 923aa610485ce..d99c482facf22 100644
--- a/components/site_settings_strings.grdp
+++ b/components/site_settings_strings.grdp
@@ -130,6 +130,9 @@
@ -535,7 +558,15 @@ diff --git a/components/site_settings_strings.grdp b/components/site_settings_st
<message name="IDS_SITE_SETTINGS_TYPE_SOUND_MID_SENTENCE" desc="The label used for the sound site settings controls when used mid-sentence.">
sound
</message>
@@ -218,4 +221,4 @@
window placement
</message>
</if>
-</grit-part>
\ No newline at end of file
+</grit-part>
diff --git a/third_party/blink/public/platform/web_content_settings_client.h b/third_party/blink/public/platform/web_content_settings_client.h
index 87d4a0ee3887d..d61ff95389243 100644
--- a/third_party/blink/public/platform/web_content_settings_client.h
+++ b/third_party/blink/public/platform/web_content_settings_client.h
@@ -92,6 +92,9 @@ class WebContentSettingsClient {
@ -549,6 +580,7 @@ diff --git a/third_party/blink/public/platform/web_content_settings_client.h b/t
return default_value;
}
diff --git a/third_party/blink/renderer/core/html/media/autoplay_policy.cc b/third_party/blink/renderer/core/html/media/autoplay_policy.cc
index e0413d62cc3c1..91b681a8d1bd7 100644
--- a/third_party/blink/renderer/core/html/media/autoplay_policy.cc
+++ b/third_party/blink/renderer/core/html/media/autoplay_policy.cc
@@ -8,6 +8,7 @@
@ -568,7 +600,7 @@ diff --git a/third_party/blink/renderer/core/html/media/autoplay_policy.cc b/thi
}
String AutoplayPolicy::GetPlayErrorMessage() const {
@@ -399,6 +400,15 @@ void AutoplayPolicy::MaybeSetAutoplayInitiated() {
@@ -384,6 +385,15 @@ void AutoplayPolicy::MaybeSetAutoplayInitiated() {
}
}
@ -585,9 +617,10 @@ diff --git a/third_party/blink/renderer/core/html/media/autoplay_policy.cc b/thi
if (!element_->GetExecutionContext() ||
element_->GetExecutionContext()->IsSandboxed(
diff --git a/third_party/blink/renderer/core/html/media/autoplay_policy.h b/third_party/blink/renderer/core/html/media/autoplay_policy.h
index 2d8dc569e465e..ee99746385c4b 100644
--- a/third_party/blink/renderer/core/html/media/autoplay_policy.h
+++ b/third_party/blink/renderer/core/html/media/autoplay_policy.h
@@ -133,6 +133,10 @@ class CORE_EXPORT AutoplayPolicy final
@@ -132,6 +132,10 @@ class CORE_EXPORT AutoplayPolicy final
// should use, if checking to see if an action is allowed.
bool IsLockedPendingUserGesture() const;
@ -598,5 +631,6 @@ diff --git a/third_party/blink/renderer/core/html/media/autoplay_policy.h b/thir
bool IsAutoplayingMutedInternal(bool muted) const;
bool IsOrWillBeAutoplayingMutedInternal(bool muted) const;
--
2.25.1
--
2.20.1

View file

@ -11,7 +11,7 @@ Avoid displaying info about intrusive ads
diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleWebsiteSettings.java b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleWebsiteSettings.java
--- a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleWebsiteSettings.java
+++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleWebsiteSettings.java
@@ -492,6 +492,8 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment
@@ -487,6 +487,8 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment
setUpSoundPreference(preference);
} else if (type == ContentSettingsType.JAVASCRIPT) {
setUpJavascriptPreference(preference);
@ -20,7 +20,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
} else if (type == ContentSettingsType.GEOLOCATION) {
setUpLocationPreference(preference);
} else if (type == ContentSettingsType.NOTIFICATIONS) {
@@ -818,16 +820,8 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment
@@ -813,16 +815,8 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment
private void setUpAdsInformationalBanner() {
// Add the informational banner which shows at the top of the UI if ad blocking is
// activated on this site.
@ -37,7 +37,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
}
private SiteSettingsCategory getWarningCategory() {
@@ -989,17 +983,35 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment
@@ -984,17 +978,35 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment
@Nullable
Integer currentValue =
mSite.getContentSetting(browserContextHandle, ContentSettingsType.JAVASCRIPT);
@ -66,7 +66,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
+ Integer currentValue =
+ mSite.getContentSetting(browserContextHandle, ContentSettingsType.COOKIES);
+ // Always show the cookies permission
+ if (currentValue == null || currentValue == ContentSettingValues.DEFAULT) {
+ if (currentValue == null) {
+ currentValue = WebsitePreferenceBridge.isCategoryEnabled(
+ browserContextHandle, ContentSettingsType.COOKIES)
+ ? ContentSettingValues.ALLOW
@ -79,7 +79,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
/**
* Updates the ads list preference based on whether the site is a candidate for blocking. This
* has some custom behavior.
@@ -1015,22 +1027,10 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment
@@ -1010,22 +1022,10 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment
setupContentSettingsPreference(preference, null, false);
return;
}
@ -128,5 +128,6 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
setContentSettingException(type, exception);
}
} else if (type == ContentSettingsType.JAVASCRIPT) {
--
2.25.1
--
2.20.1

View file

@ -33,9 +33,10 @@ Subject: Site setting for images
create mode 100644 components/browser_ui/site_settings/android/java/res/drawable-xxxhdpi/permission_images.png
diff --git a/components/browser_ui/site_settings/android/BUILD.gn b/components/browser_ui/site_settings/android/BUILD.gn
index 216eb2c2381ef..ae17c85496092 100644
--- a/components/browser_ui/site_settings/android/BUILD.gn
+++ b/components/browser_ui/site_settings/android/BUILD.gn
@@ -115,6 +115,7 @@ android_resources("java_resources") {
@@ -112,6 +112,7 @@ android_resources("java_resources") {
sources = [
"java/res/drawable-hdpi/ic_volume_up_grey600_24dp.png",
"java/res/drawable-hdpi/permission_background_sync.png",
@ -43,7 +44,7 @@ diff --git a/components/browser_ui/site_settings/android/BUILD.gn b/components/b
"java/res/drawable-hdpi/permission_javascript.png",
"java/res/drawable-hdpi/permission_popups.png",
"java/res/drawable-hdpi/permission_protected_media.png",
@@ -122,6 +123,7 @@ android_resources("java_resources") {
@@ -119,6 +120,7 @@ android_resources("java_resources") {
"java/res/drawable-hdpi/web_asset.png",
"java/res/drawable-mdpi/ic_volume_up_grey600_24dp.png",
"java/res/drawable-mdpi/permission_background_sync.png",
@ -51,7 +52,7 @@ diff --git a/components/browser_ui/site_settings/android/BUILD.gn b/components/b
"java/res/drawable-mdpi/permission_javascript.png",
"java/res/drawable-mdpi/permission_popups.png",
"java/res/drawable-mdpi/permission_protected_media.png",
@@ -129,6 +131,7 @@ android_resources("java_resources") {
@@ -126,6 +128,7 @@ android_resources("java_resources") {
"java/res/drawable-mdpi/web_asset.png",
"java/res/drawable-xhdpi/ic_volume_up_grey600_24dp.png",
"java/res/drawable-xhdpi/permission_background_sync.png",
@ -59,7 +60,7 @@ diff --git a/components/browser_ui/site_settings/android/BUILD.gn b/components/b
"java/res/drawable-xhdpi/permission_javascript.png",
"java/res/drawable-xhdpi/permission_popups.png",
"java/res/drawable-xhdpi/permission_protected_media.png",
@@ -136,6 +139,7 @@ android_resources("java_resources") {
@@ -133,6 +136,7 @@ android_resources("java_resources") {
"java/res/drawable-xhdpi/web_asset.png",
"java/res/drawable-xxhdpi/ic_volume_up_grey600_24dp.png",
"java/res/drawable-xxhdpi/permission_background_sync.png",
@ -67,7 +68,7 @@ diff --git a/components/browser_ui/site_settings/android/BUILD.gn b/components/b
"java/res/drawable-xxhdpi/permission_javascript.png",
"java/res/drawable-xxhdpi/permission_popups.png",
"java/res/drawable-xxhdpi/permission_protected_media.png",
@@ -143,6 +147,7 @@ android_resources("java_resources") {
@@ -140,6 +144,7 @@ android_resources("java_resources") {
"java/res/drawable-xxhdpi/web_asset.png",
"java/res/drawable-xxxhdpi/ic_volume_up_grey600_24dp.png",
"java/res/drawable-xxxhdpi/permission_background_sync.png",
@ -158,6 +159,7 @@ literal 0
HcmV?d00001
diff --git a/components/browser_ui/site_settings/android/java/res/xml/site_settings_preferences.xml b/components/browser_ui/site_settings/android/java/res/xml/site_settings_preferences.xml
index 7bae9b4f3afcc..f237d3c39a11a 100644
--- a/components/browser_ui/site_settings/android/java/res/xml/site_settings_preferences.xml
+++ b/components/browser_ui/site_settings/android/java/res/xml/site_settings_preferences.xml
@@ -41,6 +41,10 @@
@ -168,10 +170,11 @@ diff --git a/components/browser_ui/site_settings/android/java/res/xml/site_setti
+ <org.chromium.components.browser_ui.settings.ChromeBasePreference
+ android:key="images"
+ android:fragment="org.chromium.components.browser_ui.site_settings.SingleCategorySettings" />
<!-- Timezone Override -->
<!-- Popups -->
<org.chromium.components.browser_ui.settings.ChromeBasePreference
android:key="timezone_override"
android:fragment="org.chromium.components.browser_ui.site_settings.SingleCategorySettings"
diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/ContentSettingsResources.java b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/ContentSettingsResources.java
index a78f79463e044..f74cf19b9475e 100644
--- a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/ContentSettingsResources.java
+++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/ContentSettingsResources.java
@@ -134,6 +134,10 @@ public class ContentSettingsResources {
@ -186,9 +189,10 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
return new ResourceItem(R.drawable.settings_bluetooth, /*smallIcon=*/0,
R.string.website_settings_bluetooth, ContentSettingValues.ASK,
diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleCategorySettings.java b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleCategorySettings.java
index 6440e0ff63271..091e13aae5736 100644
--- a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleCategorySettings.java
+++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleCategorySettings.java
@@ -595,6 +595,8 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment
@@ -581,6 +581,8 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment
browserContextHandle, ContentSettingsType.SOUND)
? R.string.website_settings_add_site_description_sound_block
: R.string.website_settings_add_site_description_sound_allow;
@ -197,19 +201,20 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
} else if (mCategory.showSites(SiteSettingsCategory.Type.COOKIES)) {
if (mRequiresFourStateSetting) {
resource = cookieSettingsExceptionShouldBlock()
@@ -707,6 +709,8 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment
allowSpecifyingExceptions = true;
@@ -686,6 +688,8 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment
exception = true;
} else if (mCategory.showSites(SiteSettingsCategory.Type.JAVASCRIPT)) {
allowSpecifyingExceptions = true;
exception = true;
+ } else if (mCategory.showSites(SiteSettingsCategory.Type.IMAGES)) {
+ allowSpecifyingExceptions = true;
+ exception = true;
} else if (mCategory.showSites(SiteSettingsCategory.Type.COOKIES)) {
allowSpecifyingExceptions = true;
exception = true;
} else if (mCategory.showSites(SiteSettingsCategory.Type.BACKGROUND_SYNC)
diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleWebsiteSettings.java b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleWebsiteSettings.java
index 78c8579eb9c6c..3386be1defb35 100644
--- a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleWebsiteSettings.java
+++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleWebsiteSettings.java
@@ -128,6 +128,8 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment
@@ -123,6 +123,8 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment
return "autoplay_permission_list";
case ContentSettingsType.IDLE_DETECTION:
return "idle_detection_permission_list";
@ -218,7 +223,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
case ContentSettingsType.JAVASCRIPT:
return "javascript_permission_list";
case ContentSettingsType.POPUPS:
@@ -500,6 +502,8 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment
@@ -493,6 +495,8 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment
setUpJavascriptPreference(preference);
} else if (type == ContentSettingsType.COOKIES) {
setUpCookiesPreference(preference);
@ -227,7 +232,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
} else if (type == ContentSettingsType.GEOLOCATION) {
setUpLocationPreference(preference);
} else if (type == ContentSettingsType.NOTIFICATIONS) {
@@ -1069,6 +1073,24 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment
@@ -1060,6 +1064,24 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment
setupContentSettingsPreference(preference, permission, false /* isEmbargoed */);
}
@ -253,31 +258,32 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
return value == ContentSettingValues.ALLOW
? getString(R.string.website_settings_permissions_allowed_dse)
diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SiteSettingsCategory.java b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SiteSettingsCategory.java
index 65aa0fd8899db..fdd60ef3f2820 100644
--- a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SiteSettingsCategory.java
+++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SiteSettingsCategory.java
@@ -43,7 +43,7 @@ public class SiteSettingsCategory {
@@ -42,7 +42,7 @@ public class SiteSettingsCategory {
Type.CLIPBOARD, Type.COOKIES, Type.IDLE_DETECTION, Type.DEVICE_LOCATION,
Type.JAVASCRIPT, Type.MICROPHONE, Type.NFC, Type.NOTIFICATIONS, Type.POPUPS,
Type.PROTECTED_MEDIA, Type.SENSORS, Type.SOUND, Type.USB, Type.VIRTUAL_REALITY,
Type.USE_STORAGE, Type.AUTO_DARK_WEB_CONTENT, Type.REQUEST_DESKTOP_SITE,
- Type.TIMEZONE_OVERRIDE, Type.AUTOPLAY})
+ Type.TIMEZONE_OVERRIDE, Type.AUTOPLAY, Type.IMAGES})
- Type.USE_STORAGE, Type.AUTO_DARK_WEB_CONTENT, Type.REQUEST_DESKTOP_SITE, Type.AUTOPLAY})
+ Type.USE_STORAGE, Type.AUTO_DARK_WEB_CONTENT, Type.REQUEST_DESKTOP_SITE, Type.AUTOPLAY, Type.IMAGES})
@Retention(RetentionPolicy.SOURCE)
public @interface Type {
// All updates here must also be reflected in {@link #preferenceKey(int)
@@ -75,10 +75,11 @@ public class SiteSettingsCategory {
@@ -73,10 +73,11 @@ public class SiteSettingsCategory {
int AUTO_DARK_WEB_CONTENT = 23;
int REQUEST_DESKTOP_SITE = 24;
int TIMEZONE_OVERRIDE = 25;
int AUTOPLAY = 26;
+ int IMAGES = 27;
int AUTOPLAY = 25;
+ int IMAGES = 26;
/**
* Number of handled categories used for calculating array sizes.
*/
- int NUM_ENTRIES = 27;
+ int NUM_ENTRIES = 28;
- int NUM_ENTRIES = 26;
+ int NUM_ENTRIES = 27;
}
private final BrowserContextHandle mBrowserContextHandle;
@@ -181,6 +182,8 @@ public class SiteSettingsCategory {
@@ -179,6 +180,8 @@ public class SiteSettingsCategory {
return ContentSettingsType.GEOLOCATION;
case Type.IDLE_DETECTION:
return ContentSettingsType.IDLE_DETECTION;
@ -286,7 +292,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
case Type.JAVASCRIPT:
return ContentSettingsType.JAVASCRIPT;
case Type.MICROPHONE:
@@ -263,6 +266,8 @@ public class SiteSettingsCategory {
@@ -259,6 +262,8 @@ public class SiteSettingsCategory {
return "idle_detection";
case Type.JAVASCRIPT:
return "javascript";
@ -296,9 +302,10 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
return "microphone";
case Type.NFC:
diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SiteSettingsUtil.java b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SiteSettingsUtil.java
index f4a9d3db2a09c..0347dd0e38568 100644
--- a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SiteSettingsUtil.java
+++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SiteSettingsUtil.java
@@ -23,6 +23,7 @@ public class SiteSettingsUtil {
@@ -21,6 +21,7 @@ public class SiteSettingsUtil {
ContentSettingsType.MEDIASTREAM_MIC,
ContentSettingsType.NOTIFICATIONS,
ContentSettingsType.JAVASCRIPT,
@ -307,6 +314,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
ContentSettingsType.ADS,
ContentSettingsType.BACKGROUND_SYNC,
diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/Website.java b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/Website.java
index 8d0c56709ab3d..93c7922da5472 100644
--- a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/Website.java
+++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/Website.java
@@ -200,6 +200,12 @@ public final class Website implements Serializable {
@ -323,6 +331,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
// It is possible to set the permission without having an existing exception,
// because we show the javascript permission in Site Settings if javascript
diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/WebsitePermissionsFetcher.java b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/WebsitePermissionsFetcher.java
index 5a2c743b245f3..7fe5bc120fa68 100644
--- a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/WebsitePermissionsFetcher.java
+++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/WebsitePermissionsFetcher.java
@@ -64,6 +64,7 @@ public class WebsitePermissionsFetcher {
@ -334,9 +343,10 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
case ContentSettingsType.JAVASCRIPT_JIT:
case ContentSettingsType.POPUPS:
diff --git a/components/browser_ui/site_settings/android/website_preference_bridge.cc b/components/browser_ui/site_settings/android/website_preference_bridge.cc
index f0aaa0ffd23e8..3817a770ceee7 100644
--- a/components/browser_ui/site_settings/android/website_preference_bridge.cc
+++ b/components/browser_ui/site_settings/android/website_preference_bridge.cc
@@ -815,6 +815,7 @@ static void JNI_WebsitePreferenceBridge_SetContentSettingEnabled(
@@ -816,6 +816,7 @@ static void JNI_WebsitePreferenceBridge_SetContentSettingEnabled(
case ContentSettingsType::BACKGROUND_SYNC:
case ContentSettingsType::COOKIES:
case ContentSettingsType::REQUEST_DESKTOP_SITE:
@ -345,6 +355,7 @@ diff --git a/components/browser_ui/site_settings/android/website_preference_brid
case ContentSettingsType::POPUPS:
case ContentSettingsType::SENSORS:
diff --git a/components/browser_ui/strings/android/site_settings.grdp b/components/browser_ui/strings/android/site_settings.grdp
index 35c484f1f74b1..99fe74e63ba17 100644
--- a/components/browser_ui/strings/android/site_settings.grdp
+++ b/components/browser_ui/strings/android/site_settings.grdp
@@ -42,6 +42,9 @@
@ -357,7 +368,7 @@ diff --git a/components/browser_ui/strings/android/site_settings.grdp b/componen
<message name="IDS_JAVASCRIPT_PERMISSION_TITLE" desc="Title of the permission to run javascript [CHAR_LIMIT=32]">
JavaScript
</message>
@@ -194,6 +197,9 @@
@@ -185,6 +188,9 @@
<message name="IDS_WEBSITE_SETTINGS_ADD_SITE_TOAST" desc="The toast shown when a new site has been added to the exception list.">
Site <ph name="SITE_NAME">%1$s<ex>google.com</ex></ph> added
</message>
@ -368,9 +379,10 @@ diff --git a/components/browser_ui/strings/android/site_settings.grdp b/componen
Site URL
</message>
diff --git a/components/content_settings/core/browser/content_settings_registry.cc b/components/content_settings/core/browser/content_settings_registry.cc
index 2d5914436ec6e..e20cf92723470 100644
--- a/components/content_settings/core/browser/content_settings_registry.cc
+++ b/components/content_settings/core/browser/content_settings_registry.cc
@@ -148,7 +148,8 @@ void ContentSettingsRegistry::Init() {
@@ -143,7 +143,8 @@ void ContentSettingsRegistry::Init() {
kExtensionScheme),
ValidSettings(CONTENT_SETTING_ALLOW, CONTENT_SETTING_BLOCK),
WebsiteSettingsInfo::SINGLE_ORIGIN_WITH_EMBEDDED_EXCEPTIONS_SCOPE,
@ -381,6 +393,7 @@ diff --git a/components/content_settings/core/browser/content_settings_registry.
ContentSettingsInfo::PERSISTENT,
ContentSettingsInfo::EXCEPTIONS_ON_SECURE_AND_INSECURE_ORIGINS);
diff --git a/components/content_settings/core/browser/content_settings_utils.cc b/components/content_settings/core/browser/content_settings_utils.cc
index e26e3d099bd1c..cabd39f76db5d 100644
--- a/components/content_settings/core/browser/content_settings_utils.cc
+++ b/components/content_settings/core/browser/content_settings_utils.cc
@@ -133,13 +133,8 @@ void GetRendererContentSettingRules(const HostContentSettingsMap* map,
@ -400,9 +413,10 @@ diff --git a/components/content_settings/core/browser/content_settings_utils.cc
// it.
rules->mixed_content_rules.push_back(ContentSettingPatternSource(
diff --git a/components/page_info/android/page_info_controller_android.cc b/components/page_info/android/page_info_controller_android.cc
index 8362dea2f051c..bb33d7621dadc 100644
--- a/components/page_info/android/page_info_controller_android.cc
+++ b/components/page_info/android/page_info_controller_android.cc
@@ -221,6 +221,10 @@ absl::optional<ContentSetting> PageInfoControllerAndroid::GetSettingToDisplay(
@@ -214,6 +214,10 @@ absl::optional<ContentSetting> PageInfoControllerAndroid::GetSettingToDisplay(
// audio since last navigation.
if (web_contents_->WasEverAudible())
return permission.default_setting;
@ -414,9 +428,10 @@ diff --git a/components/page_info/android/page_info_controller_android.cc b/comp
// TODO(crbug.com/1077766): Also return permissions that are non
diff --git a/components/page_info/page_info.cc b/components/page_info/page_info.cc
index 328220fe1243e..7b874035ead0e 100644
--- a/components/page_info/page_info.cc
+++ b/components/page_info/page_info.cc
@@ -90,9 +90,7 @@ ContentSettingsType kPermissionType[] = {
@@ -89,9 +89,7 @@ ContentSettingsType kPermissionType[] = {
ContentSettingsType::SENSORS,
ContentSettingsType::NOTIFICATIONS,
ContentSettingsType::JAVASCRIPT,
@ -439,6 +454,7 @@ diff --git a/components/page_info/page_info.cc b/components/page_info/page_info.
// The sound content setting should always show up when the tab has played
// audio.
diff --git a/components/page_info/page_info_ui.cc b/components/page_info/page_info_ui.cc
index 236cb026b74c5..bcb9cee9d737b 100644
--- a/components/page_info/page_info_ui.cc
+++ b/components/page_info/page_info_ui.cc
@@ -195,6 +195,8 @@ base::span<const PageInfoUI::PermissionUIInfo> GetContentSettingsUIInfo() {
@ -449,8 +465,8 @@ diff --git a/components/page_info/page_info_ui.cc b/components/page_info/page_in
+ IDS_SITE_SETTINGS_TYPE_IMAGES_MID_SENTENCE},
#if !defined(OS_ANDROID)
// Page Info Permissions that are not defined in Android.
{ContentSettingsType::FILE_SYSTEM_WRITE_GUARD,
@@ -204,8 +206,6 @@ base::span<const PageInfoUI::PermissionUIInfo> GetContentSettingsUIInfo() {
{ContentSettingsType::FILE_HANDLING, IDS_SITE_SETTINGS_TYPE_FILE_HANDLING,
@@ -206,8 +208,6 @@ base::span<const PageInfoUI::PermissionUIInfo> GetContentSettingsUIInfo() {
IDS_SITE_SETTINGS_TYPE_FONT_ACCESS_MID_SENTENCE},
{ContentSettingsType::HID_GUARD, IDS_SITE_SETTINGS_TYPE_HID_DEVICES,
IDS_SITE_SETTINGS_TYPE_HID_DEVICES_MID_SENTENCE},
@ -460,6 +476,7 @@ diff --git a/components/page_info/page_info_ui.cc b/components/page_info/page_in
IDS_SITE_SETTINGS_TYPE_SERIAL_PORTS_MID_SENTENCE},
{ContentSettingsType::WINDOW_PLACEMENT,
diff --git a/components/site_settings_strings.grdp b/components/site_settings_strings.grdp
index d99c482facf22..8a0d0fc412ea9 100644
--- a/components/site_settings_strings.grdp
+++ b/components/site_settings_strings.grdp
@@ -148,6 +148,12 @@
@ -475,7 +492,7 @@ diff --git a/components/site_settings_strings.grdp b/components/site_settings_st
<!-- Site Settings desktop-only -->
<if expr="not is_android">
@@ -175,12 +181,6 @@
@@ -181,12 +187,6 @@
<message name="IDS_SITE_SETTINGS_TYPE_HID_DEVICES_MID_SENTENCE" desc="The label used for the HID site settings controls when used mid-sentence.">
HID devices
</message>
@ -488,5 +505,6 @@ diff --git a/components/site_settings_strings.grdp b/components/site_settings_st
<message name="IDS_SITE_SETTINGS_TYPE_INSECURE_CONTENT" desc="The label used for the insecure content site settings controls. This setting controls whether HTTP content will be displayed on HTTPS sites.">
Insecure content
</message>
--
2.25.1
--
2.20.1

View file

@ -1,12 +1,12 @@
From: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Sun, 26 Nov 2017 22:51:43 +0100
Subject: Skip the first run and remove report sending
Subject: Skip the first run and metrics
---
.../browser/firstrun/FirstRunUtils.java | 3 ---
.../firstrun/ToSAndUMAFirstRunFragment.java | 23 -------------------
.../browser/firstrun/FirstRunStatus.java | 6 ++---
3 files changed, 2 insertions(+), 30 deletions(-)
.../org/chromium/chrome/browser/firstrun/FirstRunUtils.java | 3 ---
.../chrome/browser/firstrun/ToSAndUMAFirstRunFragment.java | 6 ------
.../chromium/chrome/browser/firstrun/FirstRunStatus.java | 6 ++----
3 files changed, 2 insertions(+), 13 deletions(-)
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunUtils.java b/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunUtils.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunUtils.java
@ -30,68 +30,19 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstR
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/ToSAndUMAFirstRunFragment.java b/chrome/android/java/src/org/chromium/chrome/browser/firstrun/ToSAndUMAFirstRunFragment.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/ToSAndUMAFirstRunFragment.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/firstrun/ToSAndUMAFirstRunFragment.java
@@ -58,7 +58,6 @@ public class ToSAndUMAFirstRunFragment
private boolean mAllowCrashUpload;
private Button mAcceptButton;
- private CheckBox mSendReportCheckBox;
private TextView mTosAndPrivacy;
private View mTitle;
private View mProgressSpinner;
@@ -87,22 +86,10 @@ public class ToSAndUMAFirstRunFragment
mProgressSpinner = view.findViewById(R.id.progress_spinner);
mProgressSpinner.setVisibility(View.GONE);
mAcceptButton = (Button) view.findViewById(R.id.terms_accept);
- mSendReportCheckBox = (CheckBox) view.findViewById(R.id.send_report_checkbox);
mTosAndPrivacy = (TextView) view.findViewById(R.id.tos_and_privacy);
@@ -85,12 +85,6 @@ public class ToSAndUMAFirstRunFragment extends Fragment implements FirstRunFragm
mAcceptButton.setOnClickListener((v) -> onTosButtonClicked());
- mSendReportCheckBox.setChecked(mAllowCrashUpload);
- mSendReportCheckBox.setOnCheckedChangeListener(
- ((compoundButton, isChecked) -> mAllowCrashUpload = isChecked));
- mSendReportCheckBox.setChecked(getUmaCheckBoxInitialState());
- if (!canShowUmaCheckBox()) {
- if (!FREMobileIdentityConsistencyFieldTrial.shouldShowOldFreWithUmaDialog()) {
- mAllowCrashUpload =
- sShowUmaCheckBoxForTesting || ChromeVersionInfo.isOfficialBuild();
- }
- mSendReportCheckBox.setVisibility(View.GONE);
- }
-
mTosAndPrivacy.setMovementMethod(LinkMovementMethod.getInstance());
- mTosAndPrivacy.setMovementMethod(LinkMovementMethod.getInstance());
Resources resources = getResources();
@@ -192,11 +179,6 @@ public class ToSAndUMAFirstRunFragment
if (!isVisibleToUser) {
// Restore original enabled & visibility states, in case the user returns to the page.
setSpinnerVisible(false);
- } else {
- // On certain versions of Android, the checkbox will appear unchecked upon revisiting
- // the page. Force it to the end state of the drawable animation as a work around.
- // crbug.com/666258
- mSendReportCheckBox.jumpDrawablesToCurrentState();
}
}
@@ -219,7 +201,6 @@ public class ToSAndUMAFirstRunFragment
assert !isWaitingForNativeAndPolicyInit();
setSpinnerVisible(false);
- mSendReportCheckBox.setChecked(mAllowCrashUpload);
}
/** Implements {@link FreUMADialogCoordinator.Listener} */
@@ -291,10 +272,6 @@ public class ToSAndUMAFirstRunFragment
mAcceptButton.setVisibility(visibility);
mTosAndPrivacy.setVisibility(visibility);
- // Avoid updating visibility if the UMA check box can't be shown right now.
- if (canShowUmaCheckBox()) {
- mSendReportCheckBox.setVisibility(visibility);
- }
}
protected View getToSAndPrivacyText() {
NoUnderlineClickableSpan clickableGoogleTermsSpan =
diff --git a/chrome/browser/first_run/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunStatus.java b/chrome/browser/first_run/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunStatus.java
--- a/chrome/browser/first_run/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunStatus.java
+++ b/chrome/browser/first_run/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunStatus.java
@ -115,5 +66,6 @@ diff --git a/chrome/browser/first_run/android/java/src/org/chromium/chrome/brows
}
/**
--
2.25.1
--
2.20.1

View file

@ -10,21 +10,19 @@ The size increase on Android is something they care a lot about since some
devices have very little storage space. That also means ever so slightly
higher memory/cache usage but not by the full 2-3%.
---
build/config/compiler/BUILD.gn | 8 +-------
1 file changed, 1 insertion(+), 7 deletions(-)
build/config/compiler/BUILD.gn | 6 +-----
1 file changed, 1 insertion(+), 5 deletions(-)
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
@@ -334,18 +334,12 @@ config("compiler") {
@@ -335,16 +335,12 @@ config("compiler") {
cflags += [ "-fstack-protector" ]
}
} else if ((is_posix && !is_chromeos_ash && !is_nacl) || is_fuchsia) {
- # TODO(phajdan.jr): Use -fstack-protector-strong when our gcc supports it.
- # See also https://crbug.com/533294
- if (current_os != "zos") {
- cflags += [ "--param=ssp-buffer-size=4" ]
- }
- cflags += [ "--param=ssp-buffer-size=4" ]
-
# The x86 toolchain currently has problems with stack-protector.
if (is_android && current_cpu == "x86") {
@ -36,5 +34,6 @@ diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn
}
}
--
2.25.1
--
2.20.1

File diff suppressed because it is too large Load diff

View file

@ -12,7 +12,7 @@ Disable by default
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
@@ -2715,7 +2715,7 @@
@@ -2636,7 +2636,7 @@
{
"name": "enable-tab-groups",
"owners": [ "memex-team@google.com" ],
@ -21,7 +21,7 @@ diff --git a/chrome/browser/flag-metadata.json b/chrome/browser/flag-metadata.js
},
{
"name": "enable-tab-groups-continuation",
@@ -2730,7 +2730,7 @@
@@ -2646,7 +2646,7 @@
{
"name": "enable-tab-groups-ui-improvements",
"owners": [ "memex-team@google.com" ],
@ -33,7 +33,7 @@ diff --git a/chrome/browser/flag-metadata.json b/chrome/browser/flag-metadata.js
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
@@ -756,13 +756,13 @@ const base::Feature kTabEngagementReportingAndroid{
@@ -749,13 +749,13 @@ const base::Feature kTabEngagementReportingAndroid{
"TabEngagementReportingAndroid", base::FEATURE_DISABLED_BY_DEFAULT};
const base::Feature kTabGroupsAndroid{"TabGroupsAndroid",
@ -47,8 +47,8 @@ diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browse
- "TabGroupsUiImprovementsAndroid", base::FEATURE_ENABLED_BY_DEFAULT};
+ "TabGroupsUiImprovementsAndroid", base::FEATURE_DISABLED_BY_DEFAULT};
const base::Feature kTabGroupsForTablets{"TabGroupsForTablets",
base::FEATURE_DISABLED_BY_DEFAULT};
const base::Feature kTabGridLayoutAndroid{"TabGridLayoutAndroid",
base::FEATURE_ENABLED_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
@ -61,5 +61,6 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f
.put(ChromeFeatureList.TAB_GROUPS_CONTINUATION_ANDROID, false)
.put(ChromeFeatureList.TOOLBAR_USE_HARDWARE_BITMAP_DRAW, false)
.put(ChromeFeatureList.CLOSE_TAB_SUGGESTIONS, false)
--
2.25.1
--
2.20.1

View file

@ -3,16 +3,16 @@ Date: Sun, 2 Aug 2020 00:37:49 +0800
Subject: Update i18n zh_CN support
---
.../resources/generated_resources_zh-CN.xtb | 4 +-
.../android_chrome_strings_zh-CN.xtb | 45 ++++++++++++++++++-
.../translations/browser_ui_strings_zh-CN.xtb | 17 ++++++-
.../strings/components_strings_zh-CN.xtb | 27 ++++++++++-
4 files changed, 89 insertions(+), 4 deletions(-)
.../resources/generated_resources_zh-CN.xtb | 4 ++-
.../android_chrome_strings_zh-CN.xtb | 35 ++++++++++++++++++-
.../translations/browser_ui_strings_zh-CN.xtb | 15 +++++++-
.../strings/components_strings_zh-CN.xtb | 5 ++-
4 files changed, 55 insertions(+), 4 deletions(-)
diff --git a/chrome/app/resources/generated_resources_zh-CN.xtb b/chrome/app/resources/generated_resources_zh-CN.xtb
--- a/chrome/app/resources/generated_resources_zh-CN.xtb
+++ b/chrome/app/resources/generated_resources_zh-CN.xtb
@@ -7997,4 +7997,6 @@
@@ -7871,4 +7871,6 @@
<translation id="996250603853062861">正在建立安全连接...</translation>
<translation id="99731366405731005">您需要开启 <ph name="LINK1_BEGIN" />Chrome 同步<ph name="LINK1_END" />才能使用 Wi-Fi 同步功能。<ph name="LINK2_BEGIN" />了解详情<ph name="LINK2_END" /></translation>
<translation id="998747458861718449">检查(&amp;N)</translation>
@ -24,7 +24,7 @@ diff --git a/chrome/app/resources/generated_resources_zh-CN.xtb b/chrome/app/res
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_zh-CN.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_zh-CN.xtb
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_zh-CN.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_zh-CN.xtb
@@ -1481,4 +1481,47 @@ Privacy Sandbox 试用版功能尚处于积极开发阶段,目前只能在部
@@ -1410,4 +1410,37 @@ Privacy Sandbox 试用版功能尚处于积极开发阶段,目前只能在部
<translation id="983192555821071799">关闭所有标签页</translation>
<translation id="987264212798334818">常规</translation>
<translation id="996149300115483134">动态卡片上的菜单已关闭</translation>
@ -45,7 +45,7 @@ diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strin
+<translation id="560430187119032030">桌面版网站</translation>
+<translation id="5926902521522105785">启用 Viewport 元标签解析</translation>
+<translation id="7889537574758531583">无痕式标签页启用历史记录</translation>
+<translation id="5713583121562162330">无痕模式仍保存历史记录</translation>
+<translation id="5713583121562162330">无痕模式仍保存历史记录</translation>
+<translation id="5078638979202084724">为所有标签页添加书签</translation>
+<translation id="2664074085387024071">始终在无痕式标签页打开链接</translation>
+<translation id="2299991736030477757">当您点击新标签页或链接时,在无痕式标签页打开链接</translation>
@ -58,26 +58,16 @@ diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strin
+<translation id="9148058034647219655">退出</translation>
+<translation id="8082300724182262861">允许自定义标签页意图</translation>
+<translation id="3872079764041807613">允许应用打开自定义标签页意图,类似 WebView</translation>
+<translation id="2791404607207277079">无痕模式打开外部链接</translation>
+<translation id="301512112618062870">强制所有外部链接在无痕模式打开</translation>
+<translation id="3142455651440468550">其它服务</translation>
+<translation id="5334844597069022743">查看源代码</translation>
+<translation id="6199737228675124545">以平板模式打开 Bromite</translation>
+<translation id="8538054130673254553">强制使用平板模式</translation>
+<translation id="8275038454117074363">导入</translation>
+<translation id="42126664696688958">导出</translation>
+<translation id="2044573217492678822">启用系统自动补全</translation>
+<translation id="8214645082903074334">无痕模式启用系统自动补全</translation>
+<translation id="1097929346031108539">应用到新标签页</translation>
+<translation id="5470135790064156005">启用无障碍服务</translation>
+<translation id="8720137923785348165">激活或停用所有用户活动与无障碍服务之间的连接</translation>
+<translation id="8756661901992439764">允许检查更新</translation>
+<translation id="5950187951766574814">定期检查更新以提示新版本</translation>
+</translationbundle>
diff --git a/components/browser_ui/strings/android/translations/browser_ui_strings_zh-CN.xtb b/components/browser_ui/strings/android/translations/browser_ui_strings_zh-CN.xtb
--- a/components/browser_ui/strings/android/translations/browser_ui_strings_zh-CN.xtb
+++ b/components/browser_ui/strings/android/translations/browser_ui_strings_zh-CN.xtb
@@ -332,4 +332,19 @@
@@ -330,4 +330,17 @@
<translation id="9162462602695099906">这是一个危险网页</translation>
<translation id="930525582205581608">移除此网站?</translation>
<translation id="967624055006145463">已存储的数据</translation>
@ -96,13 +86,11 @@ diff --git a/components/browser_ui/strings/android/translations/browser_ui_strin
+<translation id="6417992177946378347">随机(每个页面)</translation>
+<translation id="7031009175502351997">选择时区...</translation>
+<translation id="7755920346053173182">选择时区</translation>
+<translation id="9219103736887031265">图片</translation>
+<translation id="7232255641409319872">允许特定网站显示图片</translation>
+</translationbundle>
diff --git a/components/strings/components_strings_zh-CN.xtb b/components/strings/components_strings_zh-CN.xtb
--- a/components/strings/components_strings_zh-CN.xtb
+++ b/components/strings/components_strings_zh-CN.xtb
@@ -2549,4 +2549,29 @@
@@ -2509,4 +2509,7 @@
&lt;/ul&gt;</translation>
<translation id="994346157028146140">JIS B1</translation>
<translation id="997986563973421916">来自 Google Pay</translation>
@ -111,28 +99,7 @@ diff --git a/components/strings/components_strings_zh-CN.xtb b/components/string
+<translation id="410351446219883937">自动播放</translation>
+<translation id="4554660614737153151">标签页收藏</translation>
+<translation id="9025994914956303635">标签页收藏</translation>
+<translation id="3743203980988005072">未保存</translation>
+<translation id="2882401588417060602">未保存,或已忽略</translation>
+<translation id="1120902422582551571">已保存</translation>
+<translation id="2631006050119455616">已保存</translation>
+<translation id="8719254670702170418">已保存的崩溃报告文件:</translation>
+<translation id="2471417644829303302">保存时间:</translation>
+<translation id="5582222851885298063">开始保存崩溃数据</translation>
+<translation id="1069722914611137577">立即保存</translation>
+<translation id="119944043368869598">清空</translation>
+<translation id="3750232884974956046">生成报告</translation>
+<translation id="8677659652102671482">用户脚本</translation>
+<translation id="5387227673092839387">激活用户脚本</translation>
+<translation id="1181384281493298884">启用</translation>
+<translation id="600555505907290313">关闭</translation>
+<translation id="5679989071017888358">添加脚本</translation>
+<translation id="3421511728817915523">实验性支持 Greasemonkey 类型的用户脚本</translation>
+<translation id="3324175644148454298">文件:</translation>
+<translation id="3163871304881977747">网址:</translation>
+<translation id="5334844597069022743">查看源代码</translation>
+<translation id="2942674521516286270">建议只安装已验证安全的用户脚本,攻击者可能会利用脚本窃取您的证书和个人信息。
+
+要安装 <ph name="FILE" /> 吗?</translation>
+</translationbundle>
--
2.25.1
--
2.20.1

View file

@ -12,7 +12,7 @@ Subject: Use 4 tile rows, never show logo
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageLayout.java b/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageLayout.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageLayout.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageLayout.java
@@ -131,7 +131,7 @@ public class NewTabPageLayout extends LinearLayout implements TileGroup.Observer
@@ -130,7 +130,7 @@ public class NewTabPageLayout extends LinearLayout implements TileGroup.Observer
*/
private boolean mHasShownView;
@ -21,7 +21,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageL
private boolean mSearchProviderIsGoogle;
private boolean mShowingNonStandardLogo;
@@ -225,7 +225,7 @@ public class NewTabPageLayout extends LinearLayout implements TileGroup.Observer
@@ -255,7 +255,7 @@ public class NewTabPageLayout extends LinearLayout implements TileGroup.Observer
mTileGroup = new TileGroup(tileRenderer, mManager, contextMenuManager, tileGroupDelegate,
/* observer = */ this, offlinePageBridge);
@ -30,7 +30,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageL
if (searchProviderIsGoogle && QueryTileUtils.isQueryTilesEnabledOnNTP()) {
maxRows = QueryTileSection.getMaxRowsForMostVisitedTiles(getContext());
}
@@ -544,7 +544,7 @@ public class NewTabPageLayout extends LinearLayout implements TileGroup.Observer
@@ -576,7 +576,7 @@ public class NewTabPageLayout extends LinearLayout implements TileGroup.Observer
&& mInitialized) {
return;
}
@ -75,5 +75,6 @@ diff --git a/components/history/core/browser/top_sites_impl.h b/components/histo
TopSitesImpl(PrefService* pref_service,
HistoryService* history_service,
--
2.25.1
--
2.20.1

View file

@ -18,7 +18,7 @@ to use the flag in the hamburger menu to navigate with a custom useragent leavin
.../PrivacyPreferencesManagerImpl.java | 42 ++++
.../settings/UserAgentPreferences.java | 188 ++++++++++++++++++
.../chromium/chrome/browser/tab/TabImpl.java | 70 +++++++
.../chromium/chrome/browser/tab/TabUtils.java | 25 +--
.../chromium/chrome/browser/tab/TabUtils.java | 18 +-
.../browser/android/content/content_utils.cc | 28 +++
.../preferences/browser_prefs_android.cc | 7 +
.../privacy_preferences_manager_impl.cc | 118 +++++++++++
@ -38,7 +38,7 @@ to use the flag in the hamburger menu to navigate with a custom useragent leavin
.../browser/web_contents/web_contents_impl.cc | 4 +
.../framehost/NavigationControllerImpl.java | 3 +-
content/renderer/render_thread_impl.cc | 1 -
31 files changed, 739 insertions(+), 14 deletions(-)
31 files changed, 740 insertions(+), 6 deletions(-)
create mode 100644 chrome/android/java/res/layout/custom_useragent_preferences.xml
create mode 100644 chrome/android/java/res/xml/useragent_preferences.xml
create mode 100644 chrome/android/java/src/org/chromium/chrome/browser/settings/UserAgentPreferences.java
@ -46,7 +46,7 @@ to use the flag in the hamburger menu to navigate with a custom useragent leavin
diff --git a/base/base_switches.cc b/base/base_switches.cc
--- a/base/base_switches.cc
+++ b/base/base_switches.cc
@@ -183,6 +183,8 @@ const char kEnableThreadInstructionCount[] = "enable-thread-instruction-count";
@@ -174,6 +174,8 @@ const char kEnableThreadInstructionCount[] = "enable-thread-instruction-count";
extern const char kEnableCrashpad[] = "enable-crashpad";
#endif
@ -58,7 +58,7 @@ diff --git a/base/base_switches.cc b/base/base_switches.cc
diff --git a/base/base_switches.h b/base/base_switches.h
--- a/base/base_switches.h
+++ b/base/base_switches.h
@@ -72,6 +72,8 @@ extern const char kEnableCrashpad[];
@@ -71,6 +71,8 @@ extern const char kEnableCrashpad[];
extern const char kSchedulerBoostUrgent[];
#endif
@ -70,9 +70,9 @@ diff --git a/base/base_switches.h b/base/base_switches.h
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
@@ -794,4 +794,6 @@ chrome_java_resources = [
"java/res/xml/privacy_preferences.xml",
@@ -796,4 +796,6 @@ chrome_java_resources = [
"java/res/xml/search_widget_info.xml",
"java/res/xml/tab_layout_badge.xml",
"java/res/xml/tracing_preferences.xml",
+ "java/res/xml/useragent_preferences.xml",
+ "java/res/layout/custom_useragent_preferences.xml",
@ -80,7 +80,7 @@ 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
@@ -967,6 +967,7 @@ chrome_java_sources = [
@@ -975,6 +975,7 @@ chrome_java_sources = [
"java/src/org/chromium/chrome/browser/payments/ui/DimmingDialog.java",
"java/src/org/chromium/chrome/browser/payments/ui/LineItem.java",
"java/src/org/chromium/chrome/browser/payments/ui/PaymentAppComparator.java",
@ -253,7 +253,7 @@ new file mode 100644
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/init/ChromeBrowserInitializer.java b/chrome/android/java/src/org/chromium/chrome/browser/init/ChromeBrowserInitializer.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/init/ChromeBrowserInitializer.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/init/ChromeBrowserInitializer.java
@@ -46,6 +46,7 @@ import org.chromium.content_public.browser.DeviceUtils;
@@ -45,6 +45,7 @@ import org.chromium.content_public.browser.DeviceUtils;
import org.chromium.content_public.browser.SpeechRecognition;
import org.chromium.content_public.browser.UiThreadTaskTraits;
import org.chromium.net.NetworkChangeNotifier;
@ -261,7 +261,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/init/ChromeBrow
import java.io.File;
import java.util.ArrayList;
@@ -307,11 +308,13 @@ public class ChromeBrowserInitializer {
@@ -306,11 +307,13 @@ public class ChromeBrowserInitializer {
@Override
public void onSuccess() {
@ -278,8 +278,8 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/init/ChromeBrow
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacyPreferencesManagerImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacyPreferencesManagerImpl.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacyPreferencesManagerImpl.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacyPreferencesManagerImpl.java
@@ -127,10 +127,52 @@ public class PrivacyPreferencesManagerImpl implements PrivacyPreferencesManager
return PrivacyPreferencesManagerImplJni.get().isMetricsReportingManaged();
@@ -158,6 +158,41 @@ public class PrivacyPreferencesManagerImpl implements PrivacyPreferencesManager
return PrivacyPreferencesManagerImplJni.get().getNetworkPredictionManaged();
}
+ @Override
@ -319,6 +319,8 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
+
@NativeMethods
public interface Natives {
boolean canPrefetchAndPrerender();
@@ -167,5 +202,12 @@ public class PrivacyPreferencesManagerImpl implements PrivacyPreferencesManager
boolean isMetricsReportingEnabled();
void setMetricsReportingEnabled(boolean enabled);
boolean isMetricsReportingManaged();
@ -539,8 +541,8 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.jav
import org.chromium.base.supplier.Supplier;
import org.chromium.chrome.R;
import org.chromium.chrome.browser.ActivityUtils;
@@ -497,6 +501,31 @@ public class TabImpl implements Tab, TabObscuringHandler.Observer {
// Request desktop sites for large screen tablets if necessary.
@@ -498,6 +502,31 @@ public class TabImpl implements Tab, TabObscuringHandler.Observer {
// Request desktop sites for large screen tablets.
params.setOverrideUserAgent(calculateUserAgentOverrideOption());
+ final boolean stickyDesktopModeEnabled = SharedPreferencesManager.getInstance().readBoolean(
@ -571,7 +573,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.jav
@TabLoadStatus
int result = loadUrlInternal(params);
@@ -1502,6 +1531,10 @@ public class TabImpl implements Tab, TabObscuringHandler.Observer {
@@ -1501,6 +1530,10 @@ public class TabImpl implements Tab, TabObscuringHandler.Observer {
if (mWebContents != null) mWebContents.getNavigationController().loadIfNecessary();
mIsBeingRestored = true;
for (TabObserver observer : mObservers) observer.onRestoreStarted(this);
@ -582,7 +584,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.jav
} finally {
TraceEvent.end("Tab.restoreIfNeeded");
}
@@ -1700,6 +1733,43 @@ public class TabImpl implements Tab, TabObscuringHandler.Observer {
@@ -1683,6 +1716,43 @@ public class TabImpl implements Tab, TabObscuringHandler.Observer {
/* forcedByUser */ false);
}
@ -607,7 +609,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.jav
+ NavigationController navigationController = webContents.getNavigationController();
+ navigationController.setUseDesktopUserAgent(
+ usingDesktopUserAgent, !this.isNativePage());
+ if (forcedByUser) CriticalPersistedTabData.from(this).setUserAgent(TabUserAgent.DESKTOP);
+ if (forcedByUser) this.setUserForcedUserAgent();
+ }
+ else if (this.getPendingLoadParams() != null) {
+ if (usingDesktopUserAgent) {
@ -629,9 +631,9 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.jav
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabUtils.java b/chrome/android/java/src/org/chromium/chrome/browser/tab/TabUtils.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabUtils.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tab/TabUtils.java
@@ -28,6 +28,10 @@ import org.chromium.ui.base.WindowAndroid;
@@ -24,6 +24,10 @@ import org.chromium.ui.base.DeviceFormFactor;
import org.chromium.ui.base.WindowAndroid;
import org.chromium.ui.display.DisplayAndroidManager;
import org.chromium.url.GURL;
+import org.chromium.chrome.browser.app.tabmodel.TabWindowManagerSingleton;
+import org.chromium.chrome.browser.preferences.ChromePreferenceKeys;
@ -640,22 +642,14 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabUtils.ja
/**
* Collection of utility methods that operates on Tab.
*/
@@ -90,18 +94,15 @@ public class TabUtils {
@@ -86,10 +90,16 @@ public class TabUtils {
* @param forcedByUser Whether this was triggered by users action.
*/
public static void switchUserAgent(Tab tab, boolean switchToDesktop, boolean forcedByUser) {
- final boolean reloadOnChange = !tab.isNativePage();
- tab.getWebContents().getNavigationController().setUseDesktopUserAgent(
- switchToDesktop, reloadOnChange);
- if (forcedByUser) {
- @TabUserAgent
- int tabUserAgent = switchToDesktop ? TabUserAgent.DESKTOP : TabUserAgent.MOBILE;
- if (ContentFeatureList.isEnabled(ContentFeatureList.REQUEST_DESKTOP_SITE_GLOBAL)
- && isDesktopSiteGlobalEnabled(Profile.fromWebContents(tab.getWebContents()))
- == switchToDesktop) {
- tabUserAgent = TabUserAgent.DEFAULT;
- }
- CriticalPersistedTabData.from(tab).setUserAgent(tabUserAgent);
- if (forcedByUser) ((TabImpl) tab).setUserForcedUserAgent();
+ SharedPreferencesManager.getInstance().writeBoolean(
+ ChromePreferenceKeys.USERAGENT_ALWAYS_DESKTOP_MODE, switchToDesktop);
+
@ -665,9 +659,10 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabUtils.ja
+ TabWindowManagerSingleton.getInstance().SetOverrideUserAgentForAllTabs(switchToDesktop);
+ } else {
+ tab.SetOverrideUserAgent(switchToDesktop, forcedByUser);
}
+ }
}
/**
diff --git a/chrome/browser/android/content/content_utils.cc b/chrome/browser/android/content/content_utils.cc
--- a/chrome/browser/android/content/content_utils.cc
+++ b/chrome/browser/android/content/content_utils.cc
@ -770,9 +765,9 @@ diff --git a/chrome/browser/android/preferences/privacy_preferences_manager_impl
namespace {
PrefService* GetPrefService() {
@@ -40,3 +64,97 @@ static jboolean JNI_PrivacyPreferencesManagerImpl_IsMetricsReportingManaged(
return GetPrefService()->IsManagedPreference(
metrics::prefs::kMetricsReportingEnabled);
@@ -67,3 +91,97 @@ static void JNI_PrivacyPreferencesManagerImpl_SetNetworkPredictionEnabled(
enabled ? chrome_browser_net::NETWORK_PREDICTION_WIFI_ONLY
: chrome_browser_net::NETWORK_PREDICTION_NEVER);
}
+
+static void UpdateOverrideUserAgent() {
@ -871,7 +866,7 @@ diff --git a/chrome/browser/android/preferences/privacy_preferences_manager_impl
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
@@ -1032,6 +1032,9 @@ public final class ChromePreferenceKeys {
@@ -1025,6 +1025,9 @@ public final class ChromePreferenceKeys {
public static final KeyPrefix KEY_ZERO_SUGGEST_HEADER_GROUP_COLLAPSED_BY_DEFAULT_PREFIX =
new KeyPrefix("zero_suggest_header_group_collapsed_by_default*");
@ -881,7 +876,7 @@ diff --git a/chrome/browser/preferences/android/java/src/org/chromium/chrome/bro
/**
* These values are currently used as SharedPreferences keys, along with the keys in
* {@link LegacyChromePreferenceKeys#getKeysInUse()}. Add new SharedPreferences keys
@@ -1149,6 +1152,8 @@ public final class ChromePreferenceKeys {
@@ -1140,6 +1143,8 @@ public final class ChromePreferenceKeys {
TAP_FEED_CARDS_COUNT,
TAP_MV_TILES_COUNT,
TWA_DISCLOSURE_SEEN_PACKAGES,
@ -889,14 +884,14 @@ diff --git a/chrome/browser/preferences/android/java/src/org/chromium/chrome/bro
+ USERAGENT_ALWAYS_DESKTOP_MODE,
VIDEO_TUTORIALS_SHARE_URL_SET,
WEB_FEED_INTRO_LAST_SHOWN_TIME_MS,
WEB_FEED_INTRO_WEB_FEED_ID_SHOWN_TIME_MS_PREFIX.pattern(),
WEB_FEED_INTRO_WEB_FEED_ID_SHOWN_TIME_MS_PREFIX.pattern()
diff --git a/chrome/browser/privacy/settings/java/src/org/chromium/chrome/browser/privacy/settings/PrivacyPreferencesManager.java b/chrome/browser/privacy/settings/java/src/org/chromium/chrome/browser/privacy/settings/PrivacyPreferencesManager.java
--- a/chrome/browser/privacy/settings/java/src/org/chromium/chrome/browser/privacy/settings/PrivacyPreferencesManager.java
+++ b/chrome/browser/privacy/settings/java/src/org/chromium/chrome/browser/privacy/settings/PrivacyPreferencesManager.java
@@ -87,4 +87,12 @@ public interface PrivacyPreferencesManager extends CrashReportingPermissionManag
* @return Whether usage and crash report pref is managed.
@@ -108,4 +108,12 @@ public interface PrivacyPreferencesManager extends CrashReportingPermissionManag
* @return Whether Network Predictions is configured by policy.
*/
boolean isMetricsReportingManaged();
boolean isNetworkPredictionManaged();
+
+ void updateOverrideUserAgent();
+ boolean isOverrideUserAgentEnabled(boolean desktopMode);
@ -1006,7 +1001,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
@@ -434,6 +434,19 @@ const char kAllowJavascriptAppleEvents[] =
@@ -437,6 +437,19 @@ const char kAllowJavascriptAppleEvents[] =
#endif
@ -1029,7 +1024,7 @@ 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
@@ -1209,6 +1209,14 @@ extern const char kCorsNonWildcardRequestHeadersSupport[];
@@ -1206,6 +1206,14 @@ extern const char kLensRegionSearchEnabled[];
extern const char kIncognitoTabHistoryEnabled[];
#endif
@ -1068,10 +1063,10 @@ diff --git a/components/browser_ui/widget/android/java/src/org/chromium/componen
diff --git a/components/embedder_support/user_agent_utils.cc b/components/embedder_support/user_agent_utils.cc
--- a/components/embedder_support/user_agent_utils.cc
+++ b/components/embedder_support/user_agent_utils.cc
@@ -442,6 +442,13 @@ blink::UserAgentMetadata GetUserAgentMetadata(PrefService* pref_service) {
enable_updated_grease_by_policy = pref_service->GetBoolean(
policy::policy_prefs::kUserAgentClientHintsGREASEUpdateEnabled);
}
@@ -275,6 +275,13 @@ std::string GetPlatformForUAMetadata() {
blink::UserAgentMetadata GetUserAgentMetadata() {
blink::UserAgentMetadata metadata;
+ base::CommandLine* command_line = base::CommandLine::ForCurrentProcess();
+ if (command_line->HasSwitch(kUserAgent)) {
+ std::string ua = command_line->GetSwitchValueASCII(kUserAgent);
@ -1079,13 +1074,13 @@ diff --git a/components/embedder_support/user_agent_utils.cc b/components/embedd
+ return metadata;
+ }
+
metadata.brand_version_list =
GetBrandMajorVersionList(enable_updated_grease_by_policy);
metadata.brand_full_version_list =
metadata.brand_version_list = GetBrandVersionList();
metadata.full_version = base::FeatureList::IsEnabled(
blink::features::kForceMajorVersion100InUserAgent)
diff --git a/content/browser/renderer_host/navigation_controller_android.cc b/content/browser/renderer_host/navigation_controller_android.cc
--- a/content/browser/renderer_host/navigation_controller_android.cc
+++ b/content/browser/renderer_host/navigation_controller_android.cc
@@ -247,6 +247,7 @@ void NavigationControllerAndroid::LoadUrl(
@@ -246,6 +246,7 @@ void NavigationControllerAndroid::LoadUrl(
jboolean can_load_local_resources,
jboolean is_renderer_initiated,
jboolean should_replace_current_entry,
@ -1093,7 +1088,7 @@ diff --git a/content/browser/renderer_host/navigation_controller_android.cc b/co
const JavaParamRef<jobject>& j_initiator_origin,
jboolean has_user_gesture,
jboolean should_clear_history_list,
@@ -334,6 +335,9 @@ void NavigationControllerAndroid::LoadUrl(
@@ -333,6 +334,9 @@ void NavigationControllerAndroid::LoadUrl(
attribution_expiry);
}
@ -1106,7 +1101,7 @@ diff --git a/content/browser/renderer_host/navigation_controller_android.cc b/co
diff --git a/content/browser/renderer_host/navigation_controller_android.h b/content/browser/renderer_host/navigation_controller_android.h
--- a/content/browser/renderer_host/navigation_controller_android.h
+++ b/content/browser/renderer_host/navigation_controller_android.h
@@ -86,6 +86,7 @@ class CONTENT_EXPORT NavigationControllerAndroid {
@@ -87,6 +87,7 @@ class CONTENT_EXPORT NavigationControllerAndroid {
jboolean can_load_local_resources,
jboolean is_renderer_initiated,
jboolean should_replace_current_entry,
@ -1117,7 +1112,7 @@ diff --git a/content/browser/renderer_host/navigation_controller_android.h b/con
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
@@ -3478,6 +3478,7 @@ void RenderProcessHostImpl::PropagateBrowserCommandLineToRenderer(
@@ -3604,6 +3604,7 @@ void RenderProcessHostImpl::PropagateBrowserCommandLineToRenderer(
switches::kLacrosUseChromeosProtectedMedia,
switches::kLacrosUseChromeosProtectedAv1,
#endif
@ -1128,15 +1123,15 @@ diff --git a/content/browser/renderer_host/render_process_host_impl.cc b/content
diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc
--- a/content/browser/web_contents/web_contents_impl.cc
+++ b/content/browser/web_contents/web_contents_impl.cc
@@ -15,6 +15,7 @@
#include "base/allocator/partition_alloc_features.h"
#include "base/allocator/partition_allocator/starscan/pcscan.h"
@@ -38,6 +38,7 @@
#include "base/strings/string_util.h"
#include "base/strings/stringprintf.h"
#include "base/system/sys_info.h"
+#include "base/base_switches.h"
#include "base/bind.h"
#include "base/command_line.h"
#include "base/containers/contains.h"
@@ -2712,6 +2713,9 @@ const blink::web_pref::WebPreferences WebContentsImpl::ComputeWebPreferences() {
#include "base/threading/thread_task_runner_handle.h"
#include "base/time/time.h"
#include "base/trace_event/optional_trace_event.h"
@@ -2640,6 +2641,9 @@ const blink::web_pref::WebPreferences WebContentsImpl::ComputeWebPreferences() {
!renderer_preferences_.user_agent_override.ua_metadata_override->mobile)
#endif
prefs.viewport_meta_enabled = false;
@ -1169,7 +1164,7 @@ diff --git a/content/public/android/java/src/org/chromium/content/browser/frameh
diff --git a/content/renderer/render_thread_impl.cc b/content/renderer/render_thread_impl.cc
--- a/content/renderer/render_thread_impl.cc
+++ b/content/renderer/render_thread_impl.cc
@@ -1684,7 +1684,6 @@ void RenderThreadImpl::SetWebKitSharedTimersSuspended(bool suspend) {
@@ -1670,7 +1670,6 @@ void RenderThreadImpl::SetWebKitSharedTimersSuspended(bool suspend) {
}
void RenderThreadImpl::SetUserAgent(const std::string& user_agent) {
@ -1177,5 +1172,6 @@ diff --git a/content/renderer/render_thread_impl.cc b/content/renderer/render_th
user_agent_ = WebString::FromUTF8(user_agent);
GetContentClient()->renderer()->DidSetUserAgent(user_agent);
}
--
2.25.1
--
2.20.1

View file

@ -11,7 +11,7 @@ sysroot.
diff --git a/DEPS b/DEPS
--- a/DEPS
+++ b/DEPS
@@ -112,7 +112,7 @@ vars = {
@@ -113,7 +113,7 @@ vars = {
# Check out and download nacl by default, unless on an arm mac.
# This can be disabled e.g. with custom_vars.
@ -20,7 +20,7 @@ diff --git a/DEPS b/DEPS
# By default, do not check out src-internal. This can be overridden e.g. with
# custom_vars.
@@ -143,8 +143,8 @@ vars = {
@@ -144,8 +144,8 @@ vars = {
# support for other platforms may be added in the future.
'checkout_openxr' : 'checkout_win',
@ -31,7 +31,7 @@ diff --git a/DEPS b/DEPS
# By default bot checkouts the WPR archive files only when this
# flag is set True.
@@ -3822,49 +3822,6 @@ hooks = [
@@ -3806,49 +3806,6 @@ hooks = [
'sync', '--extract',
],
},
@ -81,7 +81,7 @@ diff --git a/DEPS b/DEPS
{
# Case-insensitivity for the Win SDK. Must run before win_toolchain below.
'name': 'ciopfs_linux',
@@ -3973,43 +3930,6 @@ hooks = [
@@ -3956,43 +3913,6 @@ hooks = [
'-s', 'src/third_party/skia',
'--header', 'src/skia/ext/skia_commit_hash.h'],
},
@ -125,7 +125,7 @@ diff --git a/DEPS b/DEPS
# Pull rc binaries using checked-in hashes.
{
'name': 'rc_win',
@@ -4035,30 +3955,6 @@ hooks = [
@@ -4018,30 +3938,6 @@ hooks = [
'-s', 'src/build/toolchain/win/rc/mac/rc.sha1',
],
},
@ -156,5 +156,6 @@ diff --git a/DEPS b/DEPS
# Download test resources for opus, i.e. audio files.
{
'name': 'opus_test_files',
--
2.25.1
--
2.20.1

View file

@ -9,7 +9,7 @@ Subject: disable autofill server communication by default
diff --git a/components/autofill/core/common/autofill_features.cc b/components/autofill/core/common/autofill_features.cc
--- a/components/autofill/core/common/autofill_features.cc
+++ b/components/autofill/core/common/autofill_features.cc
@@ -355,7 +355,7 @@ const base::Feature kAutofillSectionUponRedundantNameInfo{
@@ -342,7 +342,7 @@ const base::Feature kAutofillSectionUponRedundantNameInfo{
// "upload" resources.
// i.e., https://other.autofill.server:port/tbproxy/af/
const base::Feature kAutofillServerCommunication{
@ -18,5 +18,6 @@ diff --git a/components/autofill/core/common/autofill_features.cc b/components/a
// Controls attaching the autofill type predictions to their respective
// element in the DOM.
--
2.25.1
--
2.20.1

Some files were not shown because too many files have changed in this diff Show more