merge with master

This commit is contained in:
Carmelo Messina 2021-12-13 17:27:21 +01:00
commit 69b6dc1cff
No known key found for this signature in database
GPG key ID: 968894BE688289FD
126 changed files with 5024 additions and 4041 deletions

View file

@ -1,3 +1,11 @@
# 96.0.4664.54
* restored offline-indicator-v2 flag (fixes https://github.com/bromite/bromite/issues/1588)
* re-introduced option to use home page as NTP (thanks to @uazo, fixes https://github.com/bromite/bromite/issues/1519)
* ask user before closing all tabs (thanks to @uazo, fixes https://github.com/bromite/bromite/issues/1561)
* fix crash on always incognito on tablet (thanks to @uazo, fixes https://github.com/bromite/bromite/issues/1611)
* dropped patch to not upload crash data
* fix autofill pop-up not appearing (thanks to @uazo, fixes https://github.com/bromite/bromite/issues/1534)
# 95.0.4638.79
* improvements for field trials disable patch (thanks to @uazo)
* remove privacy sandbox UI leftover (thanks to @uazo, fixes https://github.com/bromite/bromite/issues/1560)

View file

@ -1,12 +1,16 @@
# Bromite - Take back your browser
<img src="https://www.bromite.org/release.svg" alt="current Bromite release" title="current Bromite release" /> <img src="https://www.bromite.org/license.svg" alt="GNU GPL v3" title="GNU VPL v3" />
<img title="Bromite - take back your browser!" src="https://www.bromite.org/android-icon-192x192.png" width="96" alt="Bromite" />
<a href="https://github.com/bromite/bromite/releases/latest">
<img src="https://www.bromite.org/release.svg" alt="current Bromite release" title="current Bromite release" /> </a>
<a href="https://github.com/bromite/bromite/blob/master/LICENSE">
<img src="https://www.bromite.org/license.svg" alt="GNU GPL v3" title="GNU VPL v3" />
</a> <br>
<a href="https://www.bromite.org">
<img title="Bromite - take back your browser!" src="https://www.bromite.org/android-icon-192x192.png" width="96" alt="Bromite" />
</a>
Bromite is a [Chromium](https://www.chromium.org/Home) fork with support for ad blocking and enhanced privacy.
Bromite is only available for Android Lollipop (v5.0, API level 21) and above.
Bromite is only available for Android Marshmallow (v6.0, API level 23) and above.
<img src="https://fdroid.bromite.org/fdroid/bromite_bromite_gh_downloads.svg" alt="Downloads on Github" title="Downloads on Github" />
@ -112,6 +116,7 @@ Flags which have been retired from upstream Chromium but are still available in
* `#num-raster-threads`
* `#enable-image-reader`, enabled by default
* `#enable-tab-groups` and `#enable-tab-groups-ui-improvements`
* `#offline-indicator-v2`
New flags:
@ -140,7 +145,7 @@ All built versions are available as [releases](https://github.com/bromite/bromit
Each tag corresponds to a Chromium Stable release tag.
Bromite is currently built for ARM, ARM64 and x86 and for the Android SDK versions 19 and 21; [Bromite SystemWebView](https://www.bromite.org/system_web_view) is provided as well (SDK21+).
Bromite is currently built for ARM, ARM64 and x86 and for the Android SDK version 23+; [Bromite SystemWebView](https://www.bromite.org/system_web_view) is provided as well (SDK23+).
For every Bromite build you can always find a matching [vanilla Chromium](https://www.bromite.org/chromium) build which is used for example to verify which issues are specific to Bromite or not.
You will automatically receive notifications about new updates (and be able to install them) via the auto updater functionality (enabled by default), see [related wiki page](https://github.com/bromite/bromite/wiki/AutomaticUpdates).

View file

@ -1 +1 @@
95.0.4638.78
96.0.4664.54

View file

@ -17,7 +17,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 +89,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
@ -121,6 +120,7 @@ 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 +132,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
@ -167,4 +168,5 @@ Disable-Accessibility-service-by-default.patch
Disable-privacy-sandbox.patch
Disable-conversion-measurement-api.patch
Disable-FLoC.patch
Restore-offline-indicator-v2-flag.patch
Automated-domain-substitution.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 | 2 +-
chrome/browser/flag-metadata.json | 6 +++---
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, 63 insertions(+), 3 deletions(-)
12 files changed, 65 insertions(+), 5 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,9 +61,9 @@ 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
@@ -22,6 +22,9 @@ class BASE_EXPORT AndroidImageReader {
// Thread safe GetInstance.
static AndroidImageReader& GetInstance();
@@ -25,6 +25,9 @@ class BASE_EXPORT AndroidImageReader {
AndroidImageReader(const AndroidImageReader&) = delete;
AndroidImageReader& operator=(const AndroidImageReader&) = delete;
+ // Disable image reader support.
+ static void DisableSupport();
@ -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.
@@ -59,6 +62,7 @@ class BASE_EXPORT AndroidImageReader {
@@ -62,6 +65,7 @@ class BASE_EXPORT AndroidImageReader {
jobject ANativeWindow_toSurface(JNIEnv* env, ANativeWindow* window);
private:
@ -82,11 +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
@@ -2101,7 +2101,7 @@
@@ -2062,9 +2062,9 @@
"expiry_milestone": 97
},
{
"name": "enable-image-reader",
"owners": [ "vikassoni", "liberato" ],
- "expiry_milestone": 95
- "name": "enable-image-reader",
- "owners": [ "vikassoni", "liberato" ],
- "expiry_milestone": 115
+ "name": "enable-image-reader", // Bromite: do not expire
+ "owners": [ "vikassoni", "liberato" ], // flag
+ "expiry_milestone": -1
},
{
@ -171,7 +175,7 @@ diff --git a/gpu/config/gpu_util.cc b/gpu/config/gpu_util.cc
diff --git a/gpu/config/gpu_workaround_list.txt b/gpu/config/gpu_workaround_list.txt
--- a/gpu/config/gpu_workaround_list.txt
+++ b/gpu/config/gpu_workaround_list.txt
@@ -13,6 +13,7 @@ decode_encode_srgb_for_generatemipmap
@@ -14,6 +14,7 @@ decode_encode_srgb_for_generatemipmap
depth_stencil_renderbuffer_resize_emulation
disable_2d_canvas_auto_flush
disable_accelerated_av1_decode
@ -182,7 +186,7 @@ diff --git a/gpu/config/gpu_workaround_list.txt b/gpu/config/gpu_workaround_list
diff --git a/gpu/ipc/service/gpu_init.cc b/gpu/ipc/service/gpu_init.cc
--- a/gpu/ipc/service/gpu_init.cc
+++ b/gpu/ipc/service/gpu_init.cc
@@ -517,6 +517,11 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandLine* command_line,
@@ -521,6 +521,11 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandLine* command_line,
}
}
@ -205,7 +209,7 @@ diff --git a/gpu/ipc/service/stream_texture_android.cc b/gpu/ipc/service/stream_
#include "base/android/scoped_hardware_buffer_fence_sync.h"
#include "base/bind.h"
#include "base/feature_list.h"
@@ -50,7 +51,15 @@ std::unique_ptr<ui::ScopedMakeCurrent> MakeCurrent(
@@ -51,7 +52,15 @@ std::unique_ptr<ui::ScopedMakeCurrent> MakeCurrent(
}
TextureOwner::Mode GetTextureOwnerMode() {
@ -225,7 +229,7 @@ diff --git a/gpu/ipc/service/stream_texture_android.cc b/gpu/ipc/service/stream_
diff --git a/media/base/media_switches.cc b/media/base/media_switches.cc
--- a/media/base/media_switches.cc
+++ b/media/base/media_switches.cc
@@ -653,6 +653,10 @@ const base::Feature kMediaDrmPreprovisioning{"MediaDrmPreprovisioning",
@@ -663,6 +663,10 @@ const base::Feature kMediaDrmPreprovisioning{"MediaDrmPreprovisioning",
// Note: Has no effect if kMediaDrmPreprovisioning feature is disabled.
const base::Feature kMediaDrmPreprovisioningAtStartup{
"MediaDrmPreprovisioningAtStartup", base::FEATURE_ENABLED_BY_DEFAULT};
@ -239,7 +243,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
@@ -216,6 +216,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;

View file

@ -33,7 +33,7 @@ diff --git a/third_party/libaom/BUILD.gn b/third_party/libaom/BUILD.gn
include_dirs = libaom_include_dirs
}
@@ -193,7 +193,7 @@ if (enable_libaom) {
@@ -194,7 +194,7 @@ if (enable_libaom) {
configs += [ "//build/config/compiler:no_chromium_code" ]
if (current_cpu == "arm") {
configs -= [ "//build/config/compiler:compiler_arm_fpu" ]
@ -42,7 +42,7 @@ diff --git a/third_party/libaom/BUILD.gn b/third_party/libaom/BUILD.gn
}
configs += [ ":libaom_config" ]
@@ -256,6 +256,8 @@ if (enable_libaom) {
@@ -257,6 +257,8 @@ if (enable_libaom) {
if (current_cpu == "arm64" || cpu_arch_full == "arm-neon" ||
cpu_arch_full == "arm-neon-cpu-detect") {
deps += [ ":libaom_intrinsics_neon" ]
@ -54,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
@@ -634,6 +634,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
@@ -48,7 +48,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
@@ -50,7 +50,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
@@ -48,7 +48,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
@@ -50,7 +50,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
@@ -48,7 +48,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
@@ -50,7 +50,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
@@ -48,7 +48,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
@@ -50,7 +50,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
@@ -48,7 +48,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
@@ -50,7 +50,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
@@ -38,7 +38,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
@@ -50,7 +50,7 @@
@@ -51,7 +51,7 @@
#define CONFIG_OPTICAL_FLOW_API 0
#define CONFIG_OS_SUPPORT 1
#define CONFIG_PARTITION_SEARCH_ORDER 0

View file

@ -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;
@@ -984,6 +985,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
@@ -87,6 +87,7 @@ public class ChromeCachedFlags {
add(ChromeFeatureList.EARLY_LIBRARY_LOAD);
add(ChromeFeatureList.ELASTIC_OVERSCROLL);
@@ -90,6 +90,7 @@ public class ChromeCachedFlags {
add(ChromeFeatureList
.GIVE_JAVA_UI_THREAD_DEFAULT_TASK_TRAITS_USER_BLOCKING_PRIORITY);
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
@@ -2910,6 +2910,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,
@@ -377,6 +378,9 @@ const base::Feature kAdaptiveButtonInTopToolbarCustomizationV2{
@@ -387,6 +388,9 @@ const base::Feature kAdaptiveButtonInTopToolbarCustomizationV2{
"AdaptiveButtonInTopToolbarCustomizationV2",
base::FEATURE_DISABLED_BY_DEFAULT};

View file

@ -14,7 +14,7 @@ Subject: Add IsCleartextPermitted flag
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
--- a/chrome/browser/about_flags.cc
+++ b/chrome/browser/about_flags.cc
@@ -7852,6 +7852,11 @@ const FeatureEntry kFeatureEntries[] = {
@@ -7780,6 +7780,11 @@ const FeatureEntry kFeatureEntries[] = {
FEATURE_VALUE_TYPE(
chrome::android::kBookmarksExportUseSaf)},
@ -29,7 +29,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
@@ -1460,6 +1460,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
@@ -845,6 +845,9 @@ extern const char kHostedAppShimCreationDescription[];
@@ -867,6 +867,9 @@ extern const char kHostedAppShimCreationDescription[];
extern const char kHttpsOnlyModeName[];
extern const char kHttpsOnlyModeDescription[];
@ -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
@@ -215,6 +215,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)

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
@@ -7709,6 +7709,12 @@ const FeatureEntry kFeatureEntries[] = {
@@ -7535,6 +7535,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
@@ -658,6 +658,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
@@ -420,6 +420,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
@@ -344,6 +344,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
@@ -114,6 +114,7 @@ extern const char kForceStackedTabStripLayout[];
@@ -110,6 +110,7 @@ extern const char kForceStackedTabStripLayout[];
extern const char kHideCrashRestoreBubble[];
extern const char kHomePage[];
extern const char kIncognito[];

View file

@ -70,7 +70,7 @@ diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/androi
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
@@ -49,6 +49,7 @@ import org.chromium.ui.text.SpanApplier;
@@ -52,6 +52,7 @@ import org.chromium.ui.text.SpanApplier;
public class PrivacySettings
extends PreferenceFragmentCompat implements Preference.OnPreferenceChangeListener,
INeedSnackbarManager {
@ -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
@@ -367,6 +367,8 @@ ChromeAutocompleteProviderClient::GetBuiltinsToProvideAsUserTypes() {
@@ -374,6 +374,8 @@ ChromeAutocompleteProviderClient::GetBuiltinsToProvideAsUserTypes() {
builtins_to_provide.push_back(
base::ASCIIToUTF16(chrome::kChromeUISettingsURL));
#endif
@ -119,7 +119,7 @@ diff --git a/chrome/browser/net/proxy_service_factory.cc b/chrome/browser/net/pr
#if BUILDFLAG(IS_CHROMEOS_ASH)
#include "chromeos/network/proxy/proxy_config_service_impl.h"
@@ -59,7 +62,20 @@ ProxyServiceFactory::CreatePrefProxyConfigTrackerOfProfile(
@@ -73,7 +76,20 @@ ProxyServiceFactory::CreatePrefProxyConfigTrackerOfProfile(
return std::make_unique<chromeos::ProxyConfigServiceImpl>(
profile_prefs, local_state_prefs, nullptr);
#else
@ -141,7 +141,7 @@ diff --git a/chrome/browser/net/proxy_service_factory.cc b/chrome/browser/net/pr
#endif // BUILDFLAG(IS_CHROMEOS_ASH)
}
@@ -75,3 +91,8 @@ ProxyServiceFactory::CreatePrefProxyConfigTrackerOfLocalState(
@@ -89,3 +105,8 @@ ProxyServiceFactory::CreatePrefProxyConfigTrackerOfLocalState(
nullptr);
#endif // BUILDFLAG(IS_CHROMEOS_ASH)
}
@ -162,18 +162,18 @@ diff --git a/chrome/browser/net/proxy_service_factory.h b/chrome/browser/net/pro
class PrefProxyConfigTracker;
class PrefService;
@@ -37,6 +38,8 @@ class ProxyServiceFactory {
static std::unique_ptr<PrefProxyConfigTracker>
CreatePrefProxyConfigTrackerOfLocalState(PrefService* local_state_prefs);
CreatePrefProxyConfigTrackerOfProfile(PrefService* profile_prefs,
PrefService* local_state_prefs);
+ static void RegisterPrefs(PrefRegistrySimple* registry);
+
private:
DISALLOW_IMPLICIT_CONSTRUCTORS(ProxyServiceFactory);
};
// Creates a PrefProxyConfigTracker that tracks local state only. This tracker
// should be used for the system request context and the signin screen
// (ChromeOS only).
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
@@ -160,6 +160,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
@@ -941,6 +943,8 @@ void RegisterLocalState(PrefRegistrySimple* registry) {
@@ -960,6 +962,8 @@ void RegisterLocalState(PrefRegistrySimple* registry) {
PluginsResourceService::RegisterPrefs(registry);
#endif
@ -194,7 +194,7 @@ diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browse
diff --git a/chrome/browser/prefs/chrome_command_line_pref_store.cc b/chrome/browser/prefs/chrome_command_line_pref_store.cc
--- a/chrome/browser/prefs/chrome_command_line_pref_store.cc
+++ b/chrome/browser/prefs/chrome_command_line_pref_store.cc
@@ -157,7 +157,7 @@ void ChromeCommandLinePrefStore::ApplyProxyMode() {
@@ -161,7 +161,7 @@ void ChromeCommandLinePrefStore::ApplyProxyMode() {
SetValue(
proxy_config::prefs::kProxy,
std::make_unique<base::Value>(ProxyConfigDictionary::CreateFixedServers(
@ -627,7 +627,7 @@ new file mode 100644
diff --git a/chrome/browser/ui/BUILD.gn b/chrome/browser/ui/BUILD.gn
--- a/chrome/browser/ui/BUILD.gn
+++ b/chrome/browser/ui/BUILD.gn
@@ -265,6 +265,8 @@ static_library("ui") {
@@ -278,6 +278,8 @@ static_library("ui") {
"webui/metrics_handler.h",
"webui/net_export_ui.cc",
"webui/net_export_ui.h",
@ -646,8 +646,8 @@ diff --git a/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc b/chrom
+#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/signin_internals_ui.h"
#include "chrome/browser/ui/webui/sync_internals/sync_internals_ui.h"
@@ -638,6 +639,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>;
@ -801,7 +801,7 @@ new file mode 100644
+ }
+
+ proxy_config_service_ = ProxyServiceFactory::CreateProxyConfigService(
+ pref_proxy_config_tracker_.get());
+ pref_proxy_config_tracker_.get(), nullptr);
+}
+
+void ProxyConfigMessageHandler::OnProxyConfigChanged(
@ -1121,7 +1121,7 @@ new file mode 100644
diff --git a/chrome/common/webui_url_constants.cc b/chrome/common/webui_url_constants.cc
--- a/chrome/common/webui_url_constants.cc
+++ b/chrome/common/webui_url_constants.cc
@@ -35,6 +35,8 @@ const char kChromeUICertificateViewerHost[] = "view-cert";
@@ -37,6 +37,8 @@ const char kChromeUICertificateViewerHost[] = "view-cert";
const char kChromeUICertificateViewerURL[] = "chrome://view-cert/";
const char kChromeUIChromeSigninHost[] = "chrome-signin";
const char kChromeUIChromeSigninURL[] = "chrome://chrome-signin/";
@ -1130,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";
@@ -346,6 +348,7 @@ bool IsSystemWebUIHost(base::StringPiece host) {
@@ -354,6 +356,7 @@ bool IsSystemWebUIHost(base::StringPiece host) {
kChromeUIMobileSetupHost,
kChromeUIMultiDeviceSetupHost,
kChromeUINetworkHost,
@ -1138,7 +1138,7 @@ diff --git a/chrome/common/webui_url_constants.cc b/chrome/common/webui_url_cons
kChromeUIOobeHost,
kChromeUIOSCreditsHost,
kChromeUIOSSettingsHost,
@@ -568,6 +571,7 @@ const char* const kChromeHostURLs[] = {
@@ -584,6 +587,7 @@ const char* const kChromeHostURLs[] = {
#if !defined(OS_ANDROID)
#if !BUILDFLAG(IS_CHROMEOS_ASH)
kChromeUIAppLauncherPageHost,
@ -1149,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
@@ -126,6 +126,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[];
@ -1172,7 +1172,7 @@ diff --git a/components/proxy_config/pref_proxy_config_tracker_impl.cc b/compone
diff --git a/components/proxy_config/proxy_config_dictionary.cc b/components/proxy_config/proxy_config_dictionary.cc
--- a/components/proxy_config/proxy_config_dictionary.cc
+++ b/components/proxy_config/proxy_config_dictionary.cc
@@ -28,6 +28,8 @@ const char kProxyPacMandatory[] = "pac_mandatory";
@@ -30,6 +30,8 @@ const char kProxyPacMandatory[] = "pac_mandatory";
// String containing proxy bypass rules. For a specification of the
// expected syntax see net::ProxyBypassRules::ParseFromString().
const char kProxyBypassList[] = "bypass_list";
@ -1181,7 +1181,7 @@ diff --git a/components/proxy_config/proxy_config_dictionary.cc b/components/pro
} // namespace
@@ -72,6 +74,14 @@ bool ProxyConfigDictionary::HasBypassList() const {
@@ -78,6 +80,14 @@ bool ProxyConfigDictionary::HasBypassList() const {
return dict_.FindKey(kProxyBypassList);
}
@ -1196,7 +1196,7 @@ diff --git a/components/proxy_config/proxy_config_dictionary.cc b/components/pro
const base::Value& ProxyConfigDictionary::GetDictionary() const {
return dict_;
}
@@ -79,29 +89,30 @@ const base::Value& ProxyConfigDictionary::GetDictionary() const {
@@ -85,29 +95,30 @@ const base::Value& ProxyConfigDictionary::GetDictionary() const {
// static
base::Value ProxyConfigDictionary::CreateDirect() {
return CreateDictionary(ProxyPrefs::MODE_DIRECT, std::string(), false,
@ -1232,7 +1232,7 @@ diff --git a/components/proxy_config/proxy_config_dictionary.cc b/components/pro
} else {
return CreateDirect();
}
@@ -110,7 +121,7 @@ base::Value ProxyConfigDictionary::CreateFixedServers(
@@ -116,7 +127,7 @@ base::Value ProxyConfigDictionary::CreateFixedServers(
// static
base::Value ProxyConfigDictionary::CreateSystem() {
return CreateDictionary(ProxyPrefs::MODE_SYSTEM, std::string(), false,
@ -1241,7 +1241,7 @@ diff --git a/components/proxy_config/proxy_config_dictionary.cc b/components/pro
}
// static
@@ -119,7 +130,8 @@ base::Value ProxyConfigDictionary::CreateDictionary(
@@ -125,7 +136,8 @@ base::Value ProxyConfigDictionary::CreateDictionary(
const std::string& pac_url,
bool pac_mandatory,
const std::string& proxy_server,
@ -1251,7 +1251,7 @@ diff --git a/components/proxy_config/proxy_config_dictionary.cc b/components/pro
base::Value dict(base::Value::Type::DICTIONARY);
dict.SetKey(kProxyMode, base::Value(ProxyModeToString(mode)));
if (!pac_url.empty()) {
@@ -128,8 +140,10 @@ base::Value ProxyConfigDictionary::CreateDictionary(
@@ -134,8 +146,10 @@ base::Value ProxyConfigDictionary::CreateDictionary(
}
if (!proxy_server.empty())
dict.SetKey(kProxyServer, base::Value(proxy_server));
@ -1266,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
@@ -38,6 +38,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;
@ -1274,7 +1274,7 @@ diff --git a/components/proxy_config/proxy_config_dictionary.h b/components/prox
const base::Value& GetDictionary() const;
@@ -46,7 +47,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,
@ -1284,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>".
@@ -62,7 +64,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,
@ -1293,7 +1293,7 @@ diff --git a/components/proxy_config/proxy_config_dictionary.h b/components/prox
+ bool reverse_bypass);
base::Value dict_;
};
diff --git a/components/proxy_config/proxy_policy_handler.cc b/components/proxy_config/proxy_policy_handler.cc
--- a/components/proxy_config/proxy_policy_handler.cc
+++ b/components/proxy_config/proxy_policy_handler.cc
@ -1309,7 +1309,7 @@ diff --git a/components/proxy_config/proxy_policy_handler.cc b/components/proxy_
diff --git a/net/proxy_resolution/proxy_config.cc b/net/proxy_resolution/proxy_config.cc
--- a/net/proxy_resolution/proxy_config.cc
+++ b/net/proxy_resolution/proxy_config.cc
@@ -110,7 +110,7 @@ void ProxyConfig::ProxyRules::ParseFromString(const std::string& proxy_rules) {
@@ -112,7 +112,7 @@ void ProxyConfig::ProxyRules::ParseFromString(const std::string& proxy_rules) {
&single_proxies,
ProxyServer::SCHEME_HTTP);
type = Type::PROXY_LIST;
@ -1318,7 +1318,7 @@ diff --git a/net/proxy_resolution/proxy_config.cc b/net/proxy_resolution/proxy_c
}
// Trim whitespace off the url scheme.
@@ -141,6 +141,56 @@ void ProxyConfig::ProxyRules::ParseFromString(const std::string& proxy_rules) {
@@ -143,6 +143,56 @@ void ProxyConfig::ProxyRules::ParseFromString(const std::string& proxy_rules) {
}
}
@ -1332,7 +1332,7 @@ diff --git a/net/proxy_resolution/proxy_config.cc b/net/proxy_resolution/proxy_c
+ std::string proxy_list;
+ for (const ProxyServer& proxy_server :
+ single_proxies.GetAll()) {
+ proxy_list += proxy_server.ToURI() + ";";
+ proxy_list += ProxyServerToProxyUri(proxy_server) + ";";
+ }
+ // remove last semicolon
+ if (proxy_list.length() != 0 ) {
@ -1351,19 +1351,19 @@ diff --git a/net/proxy_resolution/proxy_config.cc b/net/proxy_resolution/proxy_c
+ std::string list;
+ for (const ProxyServer& proxy_server :
+ proxies_for_http.GetAll()) {
+ list += "http=" + proxy_server.ToURI() + ";";
+ list += "http=" + ProxyServerToProxyUri(proxy_server) + ";";
+ }
+ for (const ProxyServer& proxy_server :
+ proxies_for_https.GetAll()) {
+ list += "https=" + proxy_server.ToURI() + ";";
+ list += "https=" + ProxyServerToProxyUri(proxy_server) + ";";
+ }
+ for (const ProxyServer& proxy_server :
+ proxies_for_ftp.GetAll()) {
+ list += "ftp=" + proxy_server.ToURI() + ";";
+ list += "ftp=" + ProxyServerToProxyUri(proxy_server) + ";";
+ }
+ for (const ProxyServer& proxy_server :
+ fallback_proxies.GetAll()) {
+ list += "socks=" + proxy_server.ToURI() + ";";
+ list += "socks=" + ProxyServerToProxyUri(proxy_server) + ";";
+ }
+ if (list.length() != 0 ) {
+ // remove last semicolon

View file

@ -19,6 +19,7 @@ Enable incognito custom tabs and fix crashes for incognito/custom tab intents (c
.../browser/init/StartupTabPreloader.java | 14 +++-
.../privacy/settings/PrivacySettings.java | 37 ++++++++-
.../browser/settings/SettingsActivity.java | 4 +
.../tabbed_mode/TabbedRootUiCoordinator.java | 6 +-
.../browser/tabmodel/ChromeTabCreator.java | 16 +++-
.../browser/tabmodel/TabPersistentStore.java | 10 +++
.../webapps/WebappIntentDataProvider.java | 14 ++++
@ -26,7 +27,7 @@ Enable incognito custom tabs and fix crashes for incognito/custom tab intents (c
.../strings/android_chrome_strings.grd | 13 +++
chrome/browser/ui/messages/android/BUILD.gn | 1 +
.../snackbar/INeedSnackbarManager.java | 27 +++++++
19 files changed, 243 insertions(+), 35 deletions(-)
20 files changed, 248 insertions(+), 36 deletions(-)
create mode 100644 chrome/android/java/src/org/chromium/chrome/browser/AlwaysIncognitoLinkInterceptor.java
create mode 100644 chrome/browser/ui/messages/android/java/src/org/chromium/chrome/browser/ui/messages/snackbar/INeedSnackbarManager.java
@ -44,7 +45,7 @@ diff --git a/chrome/android/chrome_java_sources.gni b/chrome/android/chrome_java
diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/android/java/res/xml/privacy_preferences.xml
--- a/chrome/android/java/res/xml/privacy_preferences.xml
+++ b/chrome/android/java/res/xml/privacy_preferences.xml
@@ -32,6 +32,11 @@
@@ -37,6 +37,11 @@
android:key="secure_dns"
android:title="@string/settings_secure_dns_title"
android:fragment="org.chromium.chrome.browser.privacy.secure_dns.SecureDnsSettings"/>
@ -152,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;
@@ -1766,8 +1767,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.
@ -175,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;
@@ -1884,6 +1885,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");
}
@ -188,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
@@ -378,6 +378,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) {
@ -200,7 +201,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/App
+
// We have to iterate all menu items since same menu item ID may be associated with more
// than one menu items.
boolean isMenuGroupTabsVisible = TabUiFeatureUtilities.isTabGroupsAndroidEnabled(mContext)
boolean isOverviewModeMenu = menuGroup == MenuGroup.OVERVIEW_MODE_MENU;
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/ChromeContextMenuPopulator.java b/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/ChromeContextMenuPopulator.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/ChromeContextMenuPopulator.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/ChromeContextMenuPopulator.java
@ -339,7 +340,7 @@ 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
@@ -26,6 +26,10 @@ 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;
@ -350,7 +351,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
import org.chromium.components.browser_ui.settings.ChromeSwitchPreference;
import org.chromium.components.browser_ui.settings.ManagedPreferenceDelegate;
import org.chromium.components.browser_ui.settings.SettingsLauncher;
@@ -40,7 +44,12 @@ import org.chromium.ui.text.SpanApplier;
@@ -43,7 +47,12 @@ import org.chromium.ui.text.SpanApplier;
* Fragment to keep track of the all the privacy related preferences.
*/
public class PrivacySettings
@ -364,7 +365,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
private static final String PREF_CAN_MAKE_PAYMENT = "can_make_payment";
private static final String PREF_NETWORK_PREDICTIONS = "preload_pages";
private static final String PREF_HTTPS_FIRST_MODE = "https_first_mode";
@@ -83,6 +92,25 @@ public class PrivacySettings
@@ -96,6 +105,25 @@ public class PrivacySettings
(ChromeSwitchPreference) findPreference(PREF_CAN_MAKE_PAYMENT);
canMakePaymentPref.setOnPreferenceChangeListener(this);
@ -390,7 +391,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
ChromeSwitchPreference networkPredictionPref =
(ChromeSwitchPreference) findPreference(PREF_NETWORK_PREDICTIONS);
networkPredictionPref.setChecked(
@@ -114,6 +142,9 @@ public class PrivacySettings
@@ -156,6 +184,9 @@ public class PrivacySettings
} else if (PREF_NETWORK_PREDICTIONS.equals(key)) {
PrivacyPreferencesManagerImpl.getInstance().setNetworkPredictionEnabled(
(boolean) newValue);
@ -400,7 +401,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
} else if (PREF_HTTPS_FIRST_MODE.equals(key)) {
UserPrefs.get(Profile.getLastUsedRegularProfile())
.setBoolean(Pref.HTTPS_ONLY_MODE_ENABLED, (boolean) newValue);
@@ -191,4 +222,8 @@ public class PrivacySettings
@@ -238,4 +269,8 @@ public class PrivacySettings
}
return false;
}
@ -430,6 +431,33 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/Settin
}
@Override
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
@@ -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;
+import org.chromium.base.ContextUtils;
+import org.chromium.chrome.browser.AlwaysIncognitoLinkInterceptor;
/**
* A {@link RootUiCoordinator} variant that controls tabbed-mode specific UI.
@@ -483,11 +485,13 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator {
// TODO(twellington): Supply TabModelSelector as well and move initialization earlier.
if (DeviceFormFactor.isNonMultiDisplayContextOnTablet(mActivity)) {
+ boolean tabModel = ContextUtils.getAppSharedPreferences().getBoolean(
+ AlwaysIncognitoLinkInterceptor.PREF_ALWAYS_INCOGNITO, false);
AppMenuHandler appMenuHandler =
mAppMenuCoordinator == null ? null : mAppMenuCoordinator.getAppMenuHandler();
mEmptyBackgroundViewWrapper = new EmptyBackgroundViewWrapper(
mTabModelSelectorSupplier.get(),
- mTabCreatorManagerSupplier.get().getTabCreator(false), mActivity,
+ mTabCreatorManagerSupplier.get().getTabCreator(tabModel), mActivity,
appMenuHandler, mSnackbarManagerSupplier.get(), mOverviewModeBehaviorSupplier);
mEmptyBackgroundViewWrapper.initialize();
}
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/ChromeTabCreator.java b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/ChromeTabCreator.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/ChromeTabCreator.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/ChromeTabCreator.java
@ -509,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;
@@ -56,6 +57,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;
@ -518,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;
@@ -654,6 +657,13 @@ public class TabPersistentStore {
@@ -643,6 +646,13 @@ public class TabPersistentStore {
}
}
}
@ -535,9 +563,9 @@ 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
@@ -28,6 +28,9 @@ import org.chromium.chrome.browser.browserservices.intents.WebappExtras;
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;
+import org.chromium.base.ContextUtils;
+import org.chromium.chrome.browser.AlwaysIncognitoLinkInterceptor;
@ -545,7 +573,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/webapps/WebappI
/**
* Stores info about a web app.
*/
@@ -41,6 +44,8 @@ public class WebappIntentDataProvider extends BrowserServicesIntentDataProvider
@@ -42,6 +45,8 @@ public class WebappIntentDataProvider extends BrowserServicesIntentDataProvider
private final Intent mIntent;
private final ColorProviderImpl mColorProvider;
@ -554,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.
*/
@@ -62,6 +67,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;
@ -565,7 +593,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/webapps/WebappI
}
@Override
@@ -150,6 +159,11 @@ public class WebappIntentDataProvider extends BrowserServicesIntentDataProvider
@@ -151,6 +160,11 @@ public class WebappIntentDataProvider extends BrowserServicesIntentDataProvider
return mWebApkExtras;
}
@ -575,12 +603,12 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/webapps/WebappI
+ }
+
@Override
public int getDefaultOrientation() {
public @ScreenOrientationLockType.EnumType int getDefaultOrientation() {
return mWebappExtras.orientation;
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
@@ -445,7 +445,7 @@ const base::Feature kCCTIncognito{"CCTIncognito",
@@ -455,7 +455,7 @@ const base::Feature kCCTIncognito{"CCTIncognito",
base::FEATURE_ENABLED_BY_DEFAULT};
const base::Feature kCCTIncognitoAvailableToThirdParty{
@ -592,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
@@ -922,6 +922,19 @@ Your Google account may have other forms of browsing history like searches and a
@@ -924,6 +924,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>

View file

@ -14,7 +14,7 @@ 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 | 278 +++++++++++++++++
.../browser/bookmarks/BookmarkBridge.java | 277 +++++++++++++++++
.../browser/bookmarks/BookmarkDelegate.java | 10 +
.../browser/bookmarks/BookmarkManager.java | 22 ++
.../browser/bookmarks/BookmarkPage.java | 8 +-
@ -22,7 +22,7 @@ Completely remove contacts picker permission from the file dialog
chrome/browser/BUILD.gn | 11 +-
chrome/browser/about_flags.cc | 6 +
.../android/bookmarks/bookmark_bridge.cc | 284 ++++++++++++++++++
.../android/bookmarks/bookmark_bridge.h | 28 +-
.../android/bookmarks/bookmark_bridge.h | 29 +-
.../browser/bookmarks/bookmark_html_writer.cc | 8 +-
.../dialogs/DownloadLocationCustomView.java | 8 +-
.../DownloadLocationDialogCoordinator.java | 8 +-
@ -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
@@ -84,6 +84,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();
@@ -135,6 +141,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);
}
@@ -144,6 +152,8 @@ public class BookmarkActionBar extends SelectableListToolbar<BookmarkId>
@@ -145,6 +153,8 @@ public class BookmarkActionBar extends SelectableListToolbar<BookmarkId>
super.showNormalView();
if (mDelegate == null) {
@ -227,7 +227,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);
}
@@ -174,6 +184,8 @@ public class BookmarkActionBar extends SelectableListToolbar<BookmarkId>
@@ -175,6 +185,8 @@ public class BookmarkActionBar extends SelectableListToolbar<BookmarkId>
public void onFolderStateSet(BookmarkId folder) {
mCurrentFolder = mDelegate.getModel().getBookmarkById(folder);
@ -330,7 +330,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
import android.text.TextUtils;
import android.util.Pair;
@@ -27,8 +40,33 @@ import org.chromium.components.url_formatter.UrlFormatter;
@@ -30,8 +43,33 @@ import org.chromium.components.url_formatter.UrlFormatter;
import org.chromium.content_public.browser.WebContents;
import org.chromium.url.GURL;
@ -364,7 +364,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
/**
* Provides the communication channel for Android to fetch and manipulate the
@@ -585,6 +623,210 @@ public class BookmarkBridge {
@@ -588,6 +626,209 @@ public class BookmarkBridge {
mNativeBookmarkBridge, BookmarkBridge.this, id.getId(), id.getType());
}
@ -529,7 +529,6 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
+ .with(ModalDialogProperties.CUSTOM_VIEW, mCustomView)
+ .with(ModalDialogProperties.POSITIVE_BUTTON_TEXT, resources,
+ R.string.export_bookmarks)
+ .with(ModalDialogProperties.PRIMARY_BUTTON_FILLED, true)
+ .with(ModalDialogProperties.NEGATIVE_BUTTON_TEXT, resources,
+ R.string.cancel)
+ .build();
@ -569,13 +568,13 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
+ };
+ dialog.initialize(controller);
+ dialog.showDialog(context, modalDialogManager, /*totalBytes*/ 0,
+ DownloadLocationDialogType.DEFAULT, /*suggestedPath*/ "");
+ DownloadLocationDialogType.DEFAULT, /*suggestedPath*/ "", /*isIncognito*/ false);
+ }
+
/**
* Synchronously gets a list of bookmarks that match the specified search query.
* @param query Keyword used for searching bookmarks.
@@ -1021,6 +1263,39 @@ public class BookmarkBridge {
@@ -1100,6 +1341,39 @@ public class BookmarkBridge {
depthList.add(depth);
}
@ -615,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++) {
@@ -1088,6 +1363,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);
@ -666,7 +665,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
private BookmarkUndoController mUndoController;
private final ObserverList<BookmarkUIObserver> mUIObservers = new ObserverList<>();
private BasicNativePage mNativePage;
@@ -331,6 +335,14 @@ public class BookmarkManager
@@ -341,6 +345,14 @@ public class BookmarkManager
mNativePage = nativePage;
}
@ -681,7 +680,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
/**
* @return Current URL representing the UI state of bookmark manager. If no state has been shown
* yet in this session, on phone return last used state stored in preference; on tablet
@@ -509,6 +521,16 @@ public class BookmarkManager
@@ -521,6 +533,16 @@ public class BookmarkManager
}
}
@ -748,7 +747,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/native_page/Nat
private final BottomSheetController mBottomSheetController;
private final BrowserControlsManager mBrowserControlsManager;
private final Supplier<Tab> mCurrentTabSupplier;
@@ -72,7 +73,7 @@ public class NativePageFactory {
@@ -71,7 +72,7 @@ public class NativePageFactory {
private NativePageBuilder mNativePageBuilder;
@ -757,7 +756,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/native_page/Nat
@NonNull BottomSheetController sheetController,
@NonNull BrowserControlsManager browserControlsManager,
@NonNull Supplier<Tab> currentTabSupplier,
@@ -123,7 +124,7 @@ public class NativePageFactory {
@@ -119,7 +120,7 @@ public class NativePageFactory {
@VisibleForTesting
static class NativePageBuilder {
@ -766,7 +765,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/native_page/Nat
private final BottomSheetController mBottomSheetController;
private final Supplier<NewTabPageUma> mUma;
private final BrowserControlsManager mBrowserControlsManager;
@@ -137,7 +138,7 @@ public class NativePageFactory {
@@ -132,7 +133,7 @@ public class NativePageFactory {
private final JankTracker mJankTracker;
private final Supplier<Toolbar> mToolbarSupplier;
@ -775,7 +774,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/native_page/Nat
BottomSheetController sheetController,
BrowserControlsManager browserControlsManager, Supplier<Tab> currentTabSupplier,
Supplier<SnackbarManager> snackbarManagerSupplier,
@@ -176,7 +177,7 @@ public class NativePageFactory {
@@ -169,7 +170,7 @@ public class NativePageFactory {
protected NativePage buildBookmarksPage(Tab tab) {
return new BookmarkPage(mActivity.getComponentName(), mSnackbarManagerSupplier.get(),
mTabModelSelector.isIncognitoSelected(),
@ -787,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
@@ -1832,6 +1832,13 @@ static_library("browser") {
@@ -1843,6 +1843,13 @@ static_library("browser") {
"window_placement/window_placement_permission_context.h",
]
@ -801,7 +800,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
configs += [
"//build/config/compiler:wexit_time_destructors",
"//build/config:precompiled_headers",
@@ -2965,6 +2972,8 @@ static_library("browser") {
@@ -2974,6 +2981,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",
@ -810,21 +809,21 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
"browser_process_platform_part_android.cc",
"browser_process_platform_part_android.h",
"chrome_browser_field_trials_mobile.cc",
@@ -3541,8 +3550,6 @@ static_library("browser") {
@@ -3585,8 +3594,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",
"browsing_data/chrome_browsing_data_lifetime_manager.cc",
"browsing_data/chrome_browsing_data_lifetime_manager.h",
"browsing_data/chrome_browsing_data_lifetime_manager_factory.cc",
"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
@@ -7802,6 +7802,12 @@ const FeatureEntry kFeatureEntries[] = {
flag_descriptions::kCommerceDeveloperDescription, kOsAll,
FEATURE_VALUE_TYPE(commerce::kCommerceDeveloper)},
@@ -7733,6 +7733,12 @@ const FeatureEntry kFeatureEntries[] = {
FEATURE_VALUE_TYPE(ui::kLibinputHandleTouchpad)},
#endif // BUILDFLAG(IS_CHROMEOS_ASH)
+ {"export-bookmarks-use-saf",
+ flag_descriptions::kBookmarksExportUseSafName,
@ -838,7 +837,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
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
@@ -39,6 +39,7 @@
@@ -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"
@ -846,7 +845,7 @@ diff --git a/chrome/browser/android/bookmarks/bookmark_bridge.cc b/chrome/browse
#include "components/dom_distiller/core/url_utils.h"
#include "components/prefs/pref_service.h"
#include "components/query_parser/query_parser.h"
@@ -48,6 +49,24 @@
@@ -52,6 +53,24 @@
#include "content/public/browser/browser_thread.h"
#include "content/public/browser/web_contents.h"
@ -871,7 +870,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;
@@ -64,8 +83,93 @@ using bookmarks::BookmarkNode;
@@ -68,8 +87,93 @@ using bookmarks::BookmarkNode;
using bookmarks::BookmarkType;
using content::BrowserThread;
@ -965,7 +964,7 @@ diff --git a/chrome/browser/android/bookmarks/bookmark_bridge.cc b/chrome/browse
const int kInvalidId = -1;
class BookmarkTitleComparer {
@@ -152,6 +256,10 @@ BookmarkBridge::~BookmarkBridge() {
@@ -156,6 +260,10 @@ BookmarkBridge::~BookmarkBridge() {
if (partner_bookmarks_shim_)
partner_bookmarks_shim_->RemoveObserver(this);
reading_list_manager_->RemoveObserver(this);
@ -976,7 +975,7 @@ diff --git a/chrome/browser/android/bookmarks/bookmark_bridge.cc b/chrome/browse
}
void BookmarkBridge::Destroy(JNIEnv*, const JavaParamRef<jobject>&) {
@@ -543,6 +651,182 @@ jint BookmarkBridge::GetTotalBookmarkCount(
@@ -547,6 +655,182 @@ jint BookmarkBridge::GetTotalBookmarkCount(
return count;
}
@ -1190,7 +1189,7 @@ diff --git a/chrome/browser/android/bookmarks/bookmark_bridge.h b/chrome/browser
public:
BookmarkBridge(JNIEnv* env,
const base::android::JavaRef<jobject>& obj,
@@ -55,6 +60,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);
@ -1203,7 +1202,7 @@ diff --git a/chrome/browser/android/bookmarks/bookmark_bridge.h b/chrome/browser
jboolean IsEditBookmarksEnabled(JNIEnv* env);
void LoadEmptyPartnerBookmarkShimForTesting(
@@ -142,6 +153,15 @@ class BookmarkBridge : public bookmarks::BaseBookmarkModelObserver,
@@ -146,6 +157,15 @@ class BookmarkBridge : public bookmarks::BaseBookmarkModelObserver,
jlong id,
jint type);
@ -1219,7 +1218,7 @@ 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,
@@ -315,12 +335,15 @@ class BookmarkBridge : public bookmarks::BaseBookmarkModelObserver,
@@ -347,12 +367,15 @@ class BookmarkBridge : public bookmarks::BaseBookmarkModelObserver,
void DestroyJavaObject();
Profile* profile_;
@ -1235,16 +1234,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.
@@ -332,6 +355,9 @@ 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);
DISALLOW_COPY_AND_ASSIGN(BookmarkBridge);
};
#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
@ -1256,7 +1256,7 @@ diff --git a/chrome/browser/bookmarks/bookmark_html_writer.cc b/chrome/browser/b
#include "chrome/browser/bookmarks/bookmark_model_factory.h"
#include "chrome/browser/favicon/favicon_service_factory.h"
#include "chrome/browser/profiles/profile.h"
@@ -230,7 +231,12 @@ class Writer : public base::RefCountedThreadSafe<Writer> {
@@ -235,7 +236,12 @@ class Writer : public base::RefCountedThreadSafe<Writer> {
// Opens the file, returning true on success.
bool OpenFile() {
int flags = base::File::FLAG_CREATE_ALWAYS | base::File::FLAG_WRITE;
@ -1273,7 +1273,7 @@ diff --git a/chrome/browser/bookmarks/bookmark_html_writer.cc b/chrome/browser/b
diff --git a/chrome/browser/download/android/java/src/org/chromium/chrome/browser/download/dialogs/DownloadLocationCustomView.java b/chrome/browser/download/android/java/src/org/chromium/chrome/browser/download/dialogs/DownloadLocationCustomView.java
--- a/chrome/browser/download/android/java/src/org/chromium/chrome/browser/download/dialogs/DownloadLocationCustomView.java
+++ b/chrome/browser/download/android/java/src/org/chromium/chrome/browser/download/dialogs/DownloadLocationCustomView.java
@@ -46,7 +46,7 @@ public class DownloadLocationCustomView
@@ -49,7 +49,7 @@ public class DownloadLocationCustomView
private TextView mFileSize;
private Spinner mFileLocation;
private TextView mLocationAvailableSpace;
@ -1282,7 +1282,7 @@ diff --git a/chrome/browser/download/android/java/src/org/chromium/chrome/browse
private @DownloadLocationDialogType int mDialogType;
private long mTotalBytes;
@@ -68,7 +68,7 @@ public class DownloadLocationCustomView
@@ -72,7 +72,7 @@ public class DownloadLocationCustomView
mDontShowAgain = findViewById(R.id.show_again_checkbox);
}
@ -1291,7 +1291,7 @@ diff --git a/chrome/browser/download/android/java/src/org/chromium/chrome/browse
// TODO(xingliu): Remove this function, currently used by smart suggestion.
mDialogType = dialogType;
mTotalBytes = totalBytes;
@@ -117,7 +117,7 @@ public class DownloadLocationCustomView
@@ -125,7 +125,7 @@ public class DownloadLocationCustomView
* @return The text that the user inputted as the name of the file.
*/
@Nullable
@ -1300,7 +1300,7 @@ diff --git a/chrome/browser/download/android/java/src/org/chromium/chrome/browse
if (mFileName == null || mFileName.getText() == null) return null;
return mFileName.getText().toString();
}
@@ -126,7 +126,7 @@ public class DownloadLocationCustomView
@@ -134,7 +134,7 @@ public class DownloadLocationCustomView
* @return The file path based on what the user selected as the location of the file.
*/
@Nullable
@ -1312,7 +1312,7 @@ diff --git a/chrome/browser/download/android/java/src/org/chromium/chrome/browse
diff --git a/chrome/browser/download/android/java/src/org/chromium/chrome/browser/download/dialogs/DownloadLocationDialogCoordinator.java b/chrome/browser/download/android/java/src/org/chromium/chrome/browser/download/dialogs/DownloadLocationDialogCoordinator.java
--- a/chrome/browser/download/android/java/src/org/chromium/chrome/browser/download/dialogs/DownloadLocationDialogCoordinator.java
+++ b/chrome/browser/download/android/java/src/org/chromium/chrome/browser/download/dialogs/DownloadLocationDialogCoordinator.java
@@ -36,12 +36,12 @@ import java.util.ArrayList;
@@ -37,12 +37,12 @@ import java.util.ArrayList;
public class DownloadLocationDialogCoordinator implements ModalDialogProperties.Controller {
@NonNull
private DownloadLocationDialogController mController;
@ -1328,7 +1328,7 @@ diff --git a/chrome/browser/download/android/java/src/org/chromium/chrome/browse
private long mTotalBytes;
private @DownloadLocationDialogType int mDialogType;
private String mSuggestedPath;
@@ -127,7 +127,7 @@ public class DownloadLocationDialogCoordinator implements ModalDialogProperties.
@@ -131,7 +131,7 @@ public class DownloadLocationDialogCoordinator implements ModalDialogProperties.
* Called after retrieved the download directory options.
* @param dirs An list of available download directories.
*/
@ -1340,7 +1340,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
@@ -5415,6 +5415,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)
@ -1355,7 +1355,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
@@ -3162,6 +3162,9 @@ extern const char kWebKioskEnableLacrosName[];
@@ -3185,6 +3185,9 @@ extern const char kWebKioskEnableLacrosName[];
extern const char kWebKioskEnableLacrosDescription[];
#endif // BUILDFLAG(IS_CHROMEOS_ASH)
@ -1368,7 +1368,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
@@ -165,6 +165,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
@@ -174,6 +174,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
&kBackgroundThreadPool,
&kBentoOffline,
&kBookmarkBottomSheet,
@ -1376,7 +1376,7 @@ diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browse
&kCastDeviceFilter,
&kCloseTabSuggestions,
&kCriticalPersistedTabData,
@@ -812,6 +813,10 @@ const base::Feature kWebApkInstallCompleteNotification{
@@ -824,6 +825,10 @@ const base::Feature kWebApkInstallCompleteNotification{
const base::Feature kWebApkTrampolineOnInitialIntent{
"WebApkTrampolineOnInitialIntent", base::FEATURE_ENABLED_BY_DEFAULT};
@ -1390,7 +1390,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
@@ -146,6 +146,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;
@ -1401,7 +1401,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
@@ -546,6 +546,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";
@ -1455,7 +1455,7 @@ diff --git a/chrome/browser/importer/profile_writer.h b/chrome/browser/importer/
#include "components/favicon_base/favicon_usage_data.h"
#include "components/history/core/browser/history_types.h"
#include "components/search_engines/template_url_service.h"
@@ -68,6 +69,11 @@ class ProfileWriter : public base::RefCountedThreadSafe<ProfileWriter> {
@@ -71,6 +72,11 @@ class ProfileWriter : public base::RefCountedThreadSafe<ProfileWriter> {
virtual void AddBookmarks(const std::vector<ImportedBookmarkEntry>& bookmarks,
const std::u16string& top_level_folder_name);
@ -1470,7 +1470,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
@@ -124,6 +124,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";
@ -1479,7 +1479,7 @@ diff --git a/chrome/browser/preferences/android/java/src/org/chromium/chrome/bro
/**
* Whether Chrome is set as the default browser.
@@ -1059,6 +1061,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,
@ -1518,7 +1518,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
@@ -412,6 +412,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",
@ -1745,7 +1745,7 @@ diff --git a/ui/android/java/strings/android_ui_strings.grd b/ui/android/java/st
diff --git a/ui/shell_dialogs/select_file_dialog.h b/ui/shell_dialogs/select_file_dialog.h
--- a/ui/shell_dialogs/select_file_dialog.h
+++ b/ui/shell_dialogs/select_file_dialog.h
@@ -202,6 +202,8 @@ class SHELL_DIALOGS_EXPORT SelectFileDialog
@@ -205,6 +205,8 @@ class SHELL_DIALOGS_EXPORT SelectFileDialog
void* params);
bool HasMultipleFileTypeChoices();
@ -1773,7 +1773,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
@@ -55,6 +55,8 @@ class SelectFileDialogImpl : public SelectFileDialog {
@@ -58,6 +58,8 @@ class SelectFileDialogImpl : public SelectFileDialog {
gfx::NativeWindow owning_window,
void* params) override;

View file

@ -20,7 +20,7 @@ See also: https://github.com/bromite/bromite/issues/1474
diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/android/java/res/xml/privacy_preferences.xml
--- a/chrome/android/java/res/xml/privacy_preferences.xml
+++ b/chrome/android/java/res/xml/privacy_preferences.xml
@@ -60,6 +60,16 @@
@@ -65,6 +65,16 @@
android:fragment="org.chromium.chrome.browser.privacy.settings.DoNotTrackSettings"
android:key="do_not_track"
android:title="@string/do_not_track_title"/>
@ -123,7 +123,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/Inco
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
@@ -90,6 +90,9 @@ public class PrivacySettings
@@ -94,6 +94,9 @@ public class PrivacySettings
private ManagedPreferenceDelegate mManagedPreferenceDelegate;
@ -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 =
@@ -190,6 +193,9 @@ public class PrivacySettings
updateSummaries();
@@ -232,6 +235,9 @@ public class PrivacySettings
incognitoReauthPreference.setChecked(lastPrefValue);
}
+ public static final String PREF_ALLOW_CUSTOM_TAB_INTENTS = "allow_custom_tab_intents";
@ -143,7 +143,7 @@ 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();
@@ -221,6 +227,14 @@ public class PrivacySettings
@@ -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);
@ -158,7 +158,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
}
return true;
@@ -256,6 +270,16 @@ public class PrivacySettings
@@ -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
@@ -4555,6 +4555,21 @@ To change this setting, <ph name="BEGIN_LINK">&lt;resetlink&gt;</ph>reset sync<p
@@ -4609,6 +4609,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>

View file

@ -14,7 +14,7 @@ Corrected Exit functionality
diff --git a/chrome/android/java/res/menu/main_menu.xml b/chrome/android/java/res/menu/main_menu.xml
--- a/chrome/android/java/res/menu/main_menu.xml
+++ b/chrome/android/java/res/menu/main_menu.xml
@@ -124,6 +124,9 @@
@@ -150,6 +150,9 @@
android:icon="@drawable/gm_filled_cardboard_24" />
<item android:id="@+id/managed_by_menu_id"
android:title="@string/managed" />
@ -24,7 +24,7 @@ diff --git a/chrome/android/java/res/menu/main_menu.xml b/chrome/android/java/re
</group>
<!-- Items shown only in the tab switcher -->
@@ -150,6 +153,9 @@
@@ -176,6 +179,9 @@
<item android:id="@id/preferences_id"
android:title="@string/menu_settings"
android:icon="@drawable/settings_cog" />
@ -33,7 +33,7 @@ diff --git a/chrome/android/java/res/menu/main_menu.xml b/chrome/android/java/re
+ android:icon="@drawable/ic_exit_to_app_white_24dp" />
</group>
<!-- Items shown only in the tab switcher when start surface is enabled -->
<!-- Items shown only when the tablet has no visible tabs -->
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
@ -46,7 +46,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct
/**
* This is the main activity for ChromeMobile when not running in document mode. All the tabs
* are accessible via a chrome specific tab switching UI.
@@ -2028,6 +2030,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");
@ -58,7 +58,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
@@ -66,6 +66,7 @@ import org.chromium.chrome.R;
@@ -65,6 +65,7 @@ import org.chromium.chrome.R;
import org.chromium.chrome.browser.ActivityTabProvider;
import org.chromium.chrome.browser.ActivityUtils;
import org.chromium.chrome.browser.AppHooks;
@ -66,7 +66,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv
import org.chromium.chrome.browser.ChromeActivitySessionTracker;
import org.chromium.chrome.browser.ChromeApplicationImpl;
import org.chromium.chrome.browser.ChromeKeyboardVisibilityDelegate;
@@ -2309,6 +2310,11 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
@@ -2316,6 +2317,11 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
return true;
}
@ -97,9 +97,9 @@ 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
@@ -3193,6 +3193,9 @@ To change this setting, <ph name="BEGIN_LINK">&lt;resetlink&gt;</ph>reset sync<p
<message name="IDS_MENU_REQUEST_DESKTOP_SITE_OFF" desc="Accessibility description for when Request Desktop Site is disabled.">
Turn on Request desktop site
@@ -3223,6 +3223,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>
+ <message name="IDS_MENU_EXIT" desc="Menu item for exit browser. [CHAR-LIMIT=27]">
+ Exit

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
@@ -456,6 +456,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"}};
@@ -4973,6 +4989,11 @@ const FeatureEntry kFeatureEntries[] = {
@@ -4913,6 +4929,11 @@ const FeatureEntry kFeatureEntries[] = {
FEATURE_VALUE_TYPE(chrome::android::kReaderModeInCCT)},
#endif // !defined(OS_ANDROID)
@ -102,7 +102,7 @@ diff --git a/components/omnibox/browser/search_provider.cc b/components/omnibox/
#include "base/feature_list.h"
#include "base/i18n/break_iterator.h"
#include "base/i18n/case_conversion.h"
@@ -647,6 +648,9 @@ void SearchProvider::Run(bool query_is_private) {
@@ -646,6 +647,9 @@ void SearchProvider::Run(bool query_is_private) {
}
void SearchProvider::DoHistoryQuery(bool minimal_changes) {

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
@@ -4700,6 +4700,9 @@ const FeatureEntry kFeatureEntries[] = {
@@ -4652,6 +4652,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
@@ -1058,6 +1058,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
@@ -583,6 +583,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
@@ -140,6 +140,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

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
@@ -868,6 +868,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 ==
@@ -3974,6 +3979,9 @@ const FeatureEntry kFeatureEntries[] = {
@@ -3918,6 +3923,9 @@ const FeatureEntry kFeatureEntries[] = {
flag_descriptions::kAndroidPictureInPictureAPIName,
flag_descriptions::kAndroidPictureInPictureAPIDescription, kOsAndroid,
FEATURE_VALUE_TYPE(media::kPictureInPictureAPI)},
@ -44,7 +44,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc
--- a/chrome/browser/flag_descriptions.cc
+++ b/chrome/browser/flag_descriptions.cc
@@ -1572,6 +1572,10 @@ const char kMediaHistoryDescription[] =
@@ -1626,6 +1626,10 @@ const char kMediaHistoryDescription[] =
"Enables Media History which records data around media playbacks on "
"websites.";
@ -58,7 +58,7 @@ diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descripti
diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h
--- a/chrome/browser/flag_descriptions.h
+++ b/chrome/browser/flag_descriptions.h
@@ -905,6 +905,9 @@ extern const char kLogJsConsoleMessagesDescription[];
@@ -933,6 +933,9 @@ extern const char kLogJsConsoleMessagesDescription[];
extern const char kMediaHistoryName[];
extern const char kMediaHistoryDescription[];

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
@@ -2837,6 +2837,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
@@ -1143,6 +1143,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
@@ -648,6 +648,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
@@ -276,11 +276,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",
@ -67,7 +67,7 @@ diff --git a/media/base/media_switches.cc b/media/base/media_switches.cc
+ base::FEATURE_DISABLED_BY_DEFAULT
};
// When enabled, MediaCapabilities will check with GPU Video Accelerator
// Experimental: Try to avoid destroying the media player when transferring a
--
2.20.1

View file

@ -16,7 +16,7 @@ Subject: Add flag to disable IPv6 probes
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
--- a/chrome/browser/about_flags.cc
+++ b/chrome/browser/about_flags.cc
@@ -4949,6 +4949,11 @@ const FeatureEntry kFeatureEntries[] = {
@@ -4892,6 +4892,11 @@ const FeatureEntry kFeatureEntries[] = {
#endif // defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) ||
// defined(OS_CHROMEOS)
@ -31,7 +31,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc
--- a/chrome/browser/flag_descriptions.cc
+++ b/chrome/browser/flag_descriptions.cc
@@ -3070,6 +3070,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
@@ -711,6 +711,9 @@ extern const char kEnableWasmLazyCompilationName[];
@@ -736,6 +736,9 @@ extern const char kEnableWasmLazyCompilationName[];
extern const char kEnableWasmLazyCompilationDescription[];
extern const char kEnableWasmTieringName[];
@ -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
@@ -88,6 +88,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"
@@ -3692,8 +3693,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) {
@ -128,7 +128,7 @@ diff --git a/net/dns/host_resolver_manager.cc b/net/dns/host_resolver_manager.cc
diff --git a/services/network/public/cpp/features.cc b/services/network/public/cpp/features.cc
--- a/services/network/public/cpp/features.cc
+++ b/services/network/public/cpp/features.cc
@@ -42,6 +42,10 @@ const base::Feature kReporting{"Reporting", base::FEATURE_ENABLED_BY_DEFAULT};
@@ -43,6 +43,10 @@ const base::Feature kReporting{"Reporting", base::FEATURE_ENABLED_BY_DEFAULT};
const base::Feature kThrottleDelayable{"ThrottleDelayable",
base::FEATURE_ENABLED_BY_DEFAULT};

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
@@ -2772,6 +2772,9 @@ const FeatureEntry::Choice kDocumentTransitionSlowdownFactorChoices[] = {
@@ -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,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
@@ -636,6 +636,10 @@ const char kEnableAudioFocusEnforcementName[] = "Audio Focus Enforcement";
@@ -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.";
@ -38,7 +38,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
@@ -354,6 +354,9 @@ extern const char kForceColorProfileSRGB[];
@@ -380,6 +380,9 @@ extern const char kForceColorProfileSRGB[];
extern const char kForceColorProfileP3[];
extern const char kForceColorProfileColorSpin[];
extern const char kForceColorProfileSCRGBLinear[];

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
@@ -2826,6 +2826,9 @@ const FeatureEntry kFeatureEntries[] = {
@@ -2790,6 +2790,9 @@ const FeatureEntry kFeatureEntries[] = {
flag_descriptions::kWebrtcCaptureMultiChannelApmName,
flag_descriptions::kWebrtcCaptureMultiChannelApmDescription, kOsAll,
FEATURE_VALUE_TYPE(features::kWebRtcEnableCaptureMultiChannelApm)},
@ -24,9 +24,9 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc
--- a/chrome/browser/flag_descriptions.cc
+++ b/chrome/browser/flag_descriptions.cc
@@ -3344,6 +3344,12 @@ const char kProcessSharingWithStrictSiteInstancesDescription[] =
"separated like strict site isolation, but process selection puts multiple "
"site instances in a single process.";
@@ -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";
+const char kDisableExternalIntentRequestsName[] =
+ "Never forward URL requests to external intents";
@ -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
@@ -1930,6 +1930,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[];

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 | 3 +++
content/public/common/content_features.cc | 4 ++++
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, 28 insertions(+)
10 files changed, 29 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
@@ -6412,6 +6412,10 @@ const FeatureEntry kFeatureEntries[] = {
@@ -6354,6 +6354,10 @@ const FeatureEntry kFeatureEntries[] = {
FEATURE_VALUE_TYPE(features::kNewMacNotificationAPI)},
#endif
@ -32,8 +32,8 @@ 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
@@ -5242,6 +5242,9 @@ const char kDefaultMeetWebAppDescription[] =
"Enables the Meet web app to be installed by default.";
@@ -5283,6 +5283,9 @@ const char kDefaultCalculatorWebAppDescription[] =
"chrome app.";
#endif // BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_CHROMEOS_LACROS)
+const char kEnableVibrationName[] = "Vibration";
@ -45,8 +45,8 @@ diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descripti
diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h
--- a/chrome/browser/flag_descriptions.h
+++ b/chrome/browser/flag_descriptions.h
@@ -3044,6 +3044,9 @@ extern const char kDefaultMeetWebAppName[];
extern const char kDefaultMeetWebAppDescription[];
@@ -3054,6 +3054,9 @@ extern const char kDefaultCalculatorWebAppName[];
extern const char kDefaultCalculatorWebAppDescription[];
#endif // BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_CHROMEOS_LACROS)
+extern const char kEnableVibrationName[];
@ -69,20 +69,22 @@ 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
@@ -103,6 +103,9 @@ const base::Feature kBackForwardCacheSameSiteForBots{
@@ -102,7 +102,11 @@ const base::Feature kBackForwardCacheMemoryControls {
#endif
};
// BackForwardCacheMemoryControls is enabled only on Android to disable
// BackForwardCache for lower memory devices due to memory limiations.
+// Enables vibration; an user gesture will still be required if enabled.
+const base::Feature kVibration{"Vibration",
+ base::FEATURE_DISABLED_BY_DEFAULT};
const base::Feature kBackForwardCacheMemoryControls{
"BackForwardCacheMemoryControls",
+
// Block subresource requests whose URLs contain embedded credentials (e.g.
+// Enables vibration; an user gesture will still be required if enabled.
// `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
@@ -273,6 +273,8 @@ CONTENT_EXPORT extern const base::Feature kWarmUpNetworkProcess;
@@ -274,6 +274,8 @@ CONTENT_EXPORT extern const base::Feature kWarmUpNetworkProcess;
CONTENT_EXPORT extern const base::Feature kWebNfc;
#endif // defined(OS_ANDROID)
@ -139,7 +141,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
@@ -1575,6 +1575,10 @@
@@ -1577,6 +1577,10 @@
name: "OrientationEvent",
status: {"Android": "stable"},
},

View file

@ -17,7 +17,7 @@ See also: https://github.com/bromite/bromite/pull/1427
.../CustomTabAppMenuPropertiesDelegate.java | 3 +
.../browser/download/DownloadUtils.java | 16 +-
.../browser/history/HistoryManager.java | 17 +-
.../chrome/browser/history/HistoryPage.java | 14 +
.../chrome/browser/history/HistoryPage.java | 15 +
.../chrome/browser/ntp/RecentTabsManager.java | 8 +-
.../privacy/settings/PrivacySettings.java | 18 +
.../browser/tab/HistoricalTabSaver.java | 12 +-
@ -35,9 +35,9 @@ See also: https://github.com/bromite/bromite/pull/1427
.../android/offline_page_bridge.cc | 13 +-
.../android/offline_page_model_factory.cc | 21 +-
.../android/request_coordinator_factory.cc | 17 +
.../offline_page_model_factory.h | 2 +
.../offline_page_model_factory.h | 1 +
.../offline_pages/recent_tab_helper.cc | 12 +
.../request_coordinator_factory.h | 3 +
.../request_coordinator_factory.h | 2 +
chrome/browser/prefs/browser_prefs.cc | 3 +
.../browser/ui/android/native_page/BUILD.gn | 2 +
.../browser/ui/native_page/NativePage.java | 6 +-
@ -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, 1046 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
@@ -225,3 +225,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
@@ -649,3 +649,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" ]
}
@ -81,7 +81,7 @@ diff --git a/chrome/android/chrome_test_java_sources.gni b/chrome/android/chrome
diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/android/java/res/xml/privacy_preferences.xml
--- a/chrome/android/java/res/xml/privacy_preferences.xml
+++ b/chrome/android/java/res/xml/privacy_preferences.xml
@@ -46,6 +46,11 @@
@@ -51,6 +51,11 @@
android:title="@string/close_tabs_on_exit_title"
android:summary="@string/close_tabs_on_exit_summary"
android:defaultValue="false" />
@ -96,9 +96,9 @@ 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
@@ -75,6 +75,10 @@ import java.lang.annotation.RetentionPolicy;
import java.util.ArrayList;
@@ -92,6 +92,10 @@ import java.util.ArrayList;
import java.util.List;
import java.util.Map;
+import org.chromium.components.prefs.PrefService;
+import org.chromium.components.user_prefs.UserPrefs;
@ -107,7 +107,7 @@ 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.
@@ -133,6 +137,13 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate
@@ -153,6 +157,13 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate
protected BookmarkBridge mBookmarkBridge;
protected Runnable mAppMenuInvalidator;
@ -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.
@@ -379,7 +390,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);
@@ -444,7 +456,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);
@@ -632,7 +652,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
@@ -169,6 +169,9 @@ public class CustomTabAppMenuPropertiesDelegate extends AppMenuPropertiesDelegat
@@ -170,6 +170,9 @@ public class CustomTabAppMenuPropertiesDelegate extends AppMenuPropertiesDelegat
downloadItemVisible = false;
openInChromeItemVisible = false;
}
@ -209,7 +209,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/download/Downlo
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/history/HistoryManager.java b/chrome/android/java/src/org/chromium/chrome/browser/history/HistoryManager.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/history/HistoryManager.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/history/HistoryManager.java
@@ -42,6 +42,12 @@ import org.chromium.ui.base.Clipboard;
@@ -41,6 +41,12 @@ import org.chromium.ui.base.Clipboard;
import java.util.List;
@ -222,7 +222,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/history/History
/**
* Combines and manages the different UI components of browsing history.
*/
@@ -216,7 +222,16 @@ public class HistoryManager implements OnMenuItemClickListener, SelectionObserve
@@ -213,7 +219,16 @@ public class HistoryManager implements OnMenuItemClickListener, SelectionObserve
: mSelectableListLayout;
}
@ -243,7 +243,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/history/HistoryPage.java b/chrome/android/java/src/org/chromium/chrome/browser/history/HistoryPage.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/history/HistoryPage.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/history/HistoryPage.java
@@ -17,6 +17,12 @@ import org.chromium.chrome.browser.ui.native_page.BasicNativePage;
@@ -16,6 +16,12 @@ import org.chromium.chrome.browser.ui.native_page.BasicNativePage;
import org.chromium.chrome.browser.ui.native_page.NativePageHost;
import org.chromium.components.embedder_support.util.UrlConstants;
@ -256,8 +256,8 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/history/History
/**
* Native page for managing browsing history.
*/
@@ -40,6 +46,14 @@ public class HistoryPage extends BasicNativePage {
boolean isIncognito, TabCreatorManager tabCreatorManager, Supplier<Tab> tabSupplier) {
@@ -37,8 +43,17 @@ public class HistoryPage extends BasicNativePage {
boolean isIncognito, Supplier<Tab> tabSupplier) {
super(host);
+ if (isIncognito &&
@ -268,13 +268,16 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/history/History
+ if (historyEnabledInIncognito == true) isIncognito = false;
+ }
+
mHistoryManager = new HistoryManager(
activity, false, snackbarManager, isIncognito, tabCreatorManager, tabSupplier);
mHistoryManager =
new HistoryManager(activity, false, snackbarManager, isIncognito, tabSupplier);
+
mTitle = host.getContext().getResources().getString(R.string.menu_history);
initWithView(mHistoryManager.getView());
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
@@ -86,15 +86,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) {
@ -305,7 +308,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
import org.chromium.chrome.R;
import org.chromium.chrome.browser.feedback.HelpAndFeedbackLauncherImpl;
import org.chromium.chrome.browser.flags.ChromeFeatureList;
@@ -136,6 +137,11 @@ public class PrivacySettings
@@ -149,6 +150,11 @@ public class PrivacySettings
Preference secureDnsPref = findPreference(PREF_SECURE_DNS);
secureDnsPref.setVisible(SecureDnsSettings.isUiEnabled());
@ -314,13 +317,13 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
+ historyInIncognitoPref.setOnPreferenceChangeListener(this);
+ historyInIncognitoPref.setManagedPreferenceDelegate(mManagedPreferenceDelegate);
+
updateSummaries();
updatePreferences();
}
@@ -158,11 +164,16 @@ 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);
@ -334,20 +337,20 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
@Override
public void onResume() {
super.onResume();
@@ -203,6 +214,13 @@ public class PrivacySettings
(ChromeSwitchPreference) findPreference(PREF_CLOSE_TABS_ON_EXIT);
@@ -249,6 +260,13 @@ public class PrivacySettings
closeTabsOnExitPref.setOnPreferenceChangeListener(this);
closeTabsOnExitPref.setManagedPreferenceDelegate(mManagedPreferenceDelegate);
+
+ ChromeSwitchPreference historyInIncognitoPref =
+ (ChromeSwitchPreference) findPreference(PREF_INCOGNITO_TAB_HISTORY_ENABLED);
+ if (historyInIncognitoPref != null) {
+ historyInIncognitoPref.setChecked(
+ prefService.getBoolean(Pref.INCOGNITO_TAB_HISTORY_ENABLED));
+ }
+
updateIncognitoReauthPreference();
}
private ChromeManagedPreferenceDelegate createManagedPreferenceDelegate() {
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
--- a/chrome/android/java/src/org/chromium/chrome/browser/tab/HistoricalTabSaver.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tab/HistoricalTabSaver.java
@ -389,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
@@ -153,7 +153,10 @@ public class TabPersistentStore {
@@ -150,7 +150,10 @@ public class TabPersistentStore {
@Override
public void didCloseTab(Tab tab) {
PersistedTabData.onTabClose(tab);
@ -1265,7 +1268,7 @@ diff --git a/chrome/browser/history/history_tab_helper.cc b/chrome/browser/histo
--- a/chrome/browser/history/history_tab_helper.cc
+++ b/chrome/browser/history/history_tab_helper.cc
@@ -27,6 +27,9 @@
#include "chrome/browser/android/feed/v2/feed_service_factory.h"
#include "chrome/browser/feed/android/feed_service_factory.h"
#include "components/feed/core/v2/public/feed_api.h"
#include "components/feed/core/v2/public/feed_service.h"
+#include "chrome/common/pref_names.h"
@ -1274,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"
@@ -345,6 +348,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());
@ -1288,7 +1291,7 @@ diff --git a/chrome/browser/history/history_tab_helper.cc b/chrome/browser/histo
if (profile->IsOffTheRecord())
return NULL;
@@ -352,6 +362,12 @@ history::HistoryService* HistoryTabHelper::GetHistoryService() {
@@ -359,6 +369,12 @@ history::HistoryService* HistoryTabHelper::GetHistoryService() {
profile, ServiceAccessType::IMPLICIT_ACCESS);
}
@ -1313,8 +1316,8 @@ diff --git a/chrome/browser/history/history_tab_helper.h b/chrome/browser/histor
namespace history {
struct HistoryAddPageArgs;
@@ -39,6 +41,11 @@ class HistoryTabHelper : public content::WebContentsObserver,
force_eligibile_tab_for_testing_ = force;
@@ -42,6 +44,11 @@ class HistoryTabHelper : public content::WebContentsObserver,
force_eligible_tab_for_testing_ = force;
}
+ static void RegisterProfilePrefs(PrefRegistrySimple* registry);
@ -1325,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>;
@@ -65,9 +72,6 @@ class HistoryTabHelper : public content::WebContentsObserver,
@@ -68,9 +75,6 @@ class HistoryTabHelper : public content::WebContentsObserver,
bool started_from_context_menu,
bool renderer_initiated) override;
@ -1516,15 +1519,14 @@ 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
@@ -47,6 +47,8 @@ class OfflinePageModelFactory : public SimpleKeyedServiceFactory {
@@ -49,6 +49,7 @@ class OfflinePageModelFactory : public SimpleKeyedServiceFactory {
std::unique_ptr<KeyedService> BuildServiceInstanceFor(
SimpleFactoryKey* key) const override;
+ SimpleFactoryKey* GetKeyToUse(SimpleFactoryKey* key) const override;
+
DISALLOW_COPY_AND_ASSIGN(OfflinePageModelFactory);
};
} // namespace offline_pages
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
@ -1557,20 +1559,19 @@ 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
@@ -34,6 +34,9 @@ class RequestCoordinatorFactory : public BrowserContextKeyedServiceFactory {
@@ -37,6 +37,8 @@ class RequestCoordinatorFactory : public BrowserContextKeyedServiceFactory {
KeyedService* BuildServiceInstanceFor(
content::BrowserContext* context) const override;
+ content::BrowserContext* GetBrowserContextToUse(
+ content::BrowserContext* context) const override;
+
DISALLOW_COPY_AND_ASSIGN(RequestCoordinatorFactory);
};
} // namespace offline_pages
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
@@ -212,6 +212,8 @@
@@ -216,6 +216,8 @@
#endif
#if defined(OS_ANDROID)
@ -1579,7 +1580,7 @@ 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"
@@ -1239,6 +1241,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);
@ -1613,7 +1614,7 @@ diff --git a/chrome/browser/ui/android/native_page/java/src/org/chromium/chrome/
/**
* An interface for pages that will be using Android views instead of html/rendered Web content.
*/
@@ -156,7 +158,9 @@ public interface NativePage {
@@ -158,7 +160,9 @@ public interface NativePage {
return NativePageType.DOWNLOADS;
} else if (UrlConstants.HISTORY_HOST.equals(host)) {
return NativePageType.HISTORY;
@ -1668,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
@@ -953,6 +953,12 @@ Your Google account may have other forms of browsing history like searches and a
@@ -955,6 +955,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>
@ -1684,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
@@ -3238,6 +3238,11 @@ const char kShowCaretBrowsingDialog[] =
@@ -3276,6 +3276,11 @@ const char kShowCaretBrowsingDialog[] =
const char kLacrosLaunchSwitch[] = "lacros_launch_switch";
#endif
@ -1699,7 +1700,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
@@ -1192,6 +1192,10 @@ extern const char kLastWhatsNewVersion[];
@@ -1201,6 +1201,10 @@ extern const char kLastWhatsNewVersion[];
extern const char kLensRegionSearchEnabled[];
#endif
@ -1713,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
@@ -4837,6 +4837,11 @@ test("unit_tests") {
@@ -4818,6 +4818,11 @@ test("unit_tests") {
]
}

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" />
@@ -147,6 +151,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;
@@ -2040,6 +2042,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();
@@ -2089,6 +2093,28 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
@@ -2093,6 +2097,28 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
mTabModalHandler.onOmniboxFocusChanged(hasFocus);
}
@ -103,16 +103,16 @@ 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
@@ -25,6 +25,7 @@ import androidx.annotation.Nullable;
import androidx.annotation.VisibleForTesting;
@@ -27,6 +27,7 @@ import androidx.annotation.VisibleForTesting;
import com.google.protobuf.InvalidProtocolBufferException;
import org.chromium.base.ContextUtils;
+import org.chromium.base.Log;
import org.chromium.base.ObserverList;
import org.chromium.base.ThreadUtils;
import org.chromium.base.annotations.CalledByNative;
@@ -33,6 +34,10 @@ import org.chromium.base.metrics.RecordHistogram;
import org.chromium.chrome.browser.partnerbookmarks.PartnerBookmarksShim;
@@ -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;
@ -122,7 +122,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
import org.chromium.components.bookmarks.BookmarkId;
import org.chromium.components.bookmarks.BookmarkType;
import org.chromium.components.url_formatter.SchemeDisplay;
@@ -73,6 +78,7 @@ import java.io.File;
@@ -76,6 +81,7 @@ import java.io.File;
* bookmark model stored in native.
*/
public class BookmarkBridge {
@ -130,7 +130,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
private final Profile mProfile;
private boolean mIsDoingExtensiveChanges;
private long mNativeBookmarkBridge;
@@ -554,6 +560,16 @@ public class BookmarkBridge {
@@ -557,6 +563,16 @@ public class BookmarkBridge {
mNativeBookmarkBridge, BookmarkBridge.this);
}
@ -147,7 +147,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
/**
* @return Id representing the special "other" folder from bookmark model.
*/
@@ -1100,6 +1116,49 @@ public class BookmarkBridge {
@@ -1178,6 +1194,49 @@ public class BookmarkBridge {
mNativeBookmarkBridge, BookmarkBridge.this, title, url);
}
@ -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.
@@ -1356,6 +1415,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
@@ -515,6 +515,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 =
@@ -540,6 +541,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
@@ -424,6 +424,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());
@@ -462,6 +467,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(),
};
@@ -516,6 +522,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
@@ -110,6 +110,10 @@ class BookmarkBridge : public bookmarks::BaseBookmarkModelObserver,
@@ -114,6 +114,10 @@ class BookmarkBridge : public bookmarks::BaseBookmarkModelObserver,
JNIEnv* env,
const base::android::JavaParamRef<jobject>& obj);
@ -284,7 +284,7 @@ diff --git a/chrome/browser/android/bookmarks/bookmark_bridge.h b/chrome/browser
diff --git a/chrome/browser/bookmarks/bookmark_html_writer.cc b/chrome/browser/bookmarks/bookmark_html_writer.cc
--- a/chrome/browser/bookmarks/bookmark_html_writer.cc
+++ b/chrome/browser/bookmarks/bookmark_html_writer.cc
@@ -186,6 +186,8 @@ class Writer : public base::RefCountedThreadSafe<Writer> {
@@ -191,6 +191,8 @@ class Writer : public base::RefCountedThreadSafe<Writer> {
roots->FindDictKey(BookmarkCodec::kOtherBookmarkFolderNameKey);
base::Value* mobile_folder_value =
roots->FindDictKey(BookmarkCodec::kMobileBookmarkFolderNameKey);
@ -293,7 +293,7 @@ diff --git a/chrome/browser/bookmarks/bookmark_html_writer.cc b/chrome/browser/b
DCHECK(root_folder_value);
DCHECK(other_folder_value);
DCHECK(mobile_folder_value);
@@ -197,7 +199,9 @@ class Writer : public base::RefCountedThreadSafe<Writer> {
@@ -202,7 +204,9 @@ class Writer : public base::RefCountedThreadSafe<Writer> {
!WriteNode(*static_cast<base::DictionaryValue*>(other_folder_value),
BookmarkNode::OTHER_NODE) ||
!WriteNode(*static_cast<base::DictionaryValue*>(mobile_folder_value),
@ -304,7 +304,7 @@ diff --git a/chrome/browser/bookmarks/bookmark_html_writer.cc b/chrome/browser/b
NotifyOnFinish(BookmarksExportObserver::Result::kCouldNotWriteNodes);
return;
}
@@ -464,6 +468,8 @@ void BookmarkFaviconFetcher::ExportBookmarks() {
@@ -467,6 +471,8 @@ void BookmarkFaviconFetcher::ExportBookmarks() {
BookmarkModelFactory::GetForBrowserContext(profile_)->other_node());
ExtractUrls(
BookmarkModelFactory::GetForBrowserContext(profile_)->mobile_node());
@ -316,7 +316,7 @@ diff --git a/chrome/browser/bookmarks/bookmark_html_writer.cc b/chrome/browser/b
diff --git a/chrome/browser/bookmarks/chrome_bookmark_client.cc b/chrome/browser/bookmarks/chrome_bookmark_client.cc
--- a/chrome/browser/bookmarks/chrome_bookmark_client.cc
+++ b/chrome/browser/bookmarks/chrome_bookmark_client.cc
@@ -105,6 +105,8 @@ bool ChromeBookmarkClient::IsPermanentNodeVisibleWhenEmpty(
@@ -117,6 +117,8 @@ bool ChromeBookmarkClient::IsPermanentNodeVisibleWhenEmpty(
return !is_mobile;
case bookmarks::BookmarkNode::MOBILE:
return is_mobile;
@ -328,7 +328,7 @@ diff --git a/chrome/browser/bookmarks/chrome_bookmark_client.cc b/chrome/browser
diff --git a/chrome/browser/download/android/java/src/org/chromium/chrome/browser/download/dialogs/DownloadLocationCustomView.java b/chrome/browser/download/android/java/src/org/chromium/chrome/browser/download/dialogs/DownloadLocationCustomView.java
--- a/chrome/browser/download/android/java/src/org/chromium/chrome/browser/download/dialogs/DownloadLocationCustomView.java
+++ b/chrome/browser/download/android/java/src/org/chromium/chrome/browser/download/dialogs/DownloadLocationCustomView.java
@@ -75,7 +75,7 @@ public class DownloadLocationCustomView
@@ -79,7 +79,7 @@ public class DownloadLocationCustomView
mDirectoryAdapter.update();
}
@ -337,7 +337,7 @@ diff --git a/chrome/browser/download/android/java/src/org/chromium/chrome/browse
mTitle.setText(title);
}
@@ -83,7 +83,7 @@ public class DownloadLocationCustomView
@@ -87,7 +87,7 @@ public class DownloadLocationCustomView
mSubtitleView.setText(subtitle);
}
@ -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
@@ -3273,6 +3273,9 @@ To change this setting, <ph name="BEGIN_LINK">&lt;resetlink&gt;</ph>reset sync<p
@@ -3306,6 +3306,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
@@ -46,6 +46,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);
@@ -58,6 +59,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);
@@ -103,6 +105,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[];
@@ -119,6 +122,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);
@@ -130,7 +134,8 @@ class BookmarkCodec {
@@ -134,7 +138,8 @@ class BookmarkCodec {
// Reassigns bookmark IDs for all nodes.
void ReassignIDs(BookmarkNode* bb_node,
BookmarkNode* other_node,
@ -569,7 +569,7 @@ diff --git a/components/bookmarks/browser/bookmark_load_details.h b/components/b
diff --git a/components/bookmarks/browser/bookmark_model.cc b/components/bookmarks/browser/bookmark_model.cc
--- a/components/bookmarks/browser/bookmark_model.cc
+++ b/components/bookmarks/browser/bookmark_model.cc
@@ -562,7 +562,7 @@ bool BookmarkModel::HasBookmarks() {
@@ -564,7 +564,7 @@ bool BookmarkModel::HasBookmarks() {
bool BookmarkModel::HasNoUserCreatedBookmarksOrFolders() {
DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
return bookmark_bar_node_->children().empty() &&
@ -578,7 +578,7 @@ diff --git a/components/bookmarks/browser/bookmark_model.cc b/components/bookmar
}
bool BookmarkModel::IsBookmarked(const GURL& url) {
@@ -804,6 +804,7 @@ void BookmarkModel::DoneLoading(std::unique_ptr<BookmarkLoadDetails> details) {
@@ -806,6 +806,7 @@ void BookmarkModel::DoneLoading(std::unique_ptr<BookmarkLoadDetails> details) {
bookmark_bar_node_ = details->bb_node();
other_node_ = details->other_folder_node();
mobile_node_ = details->mobile_folder_node();
@ -589,7 +589,7 @@ diff --git a/components/bookmarks/browser/bookmark_model.cc b/components/bookmar
diff --git a/components/bookmarks/browser/bookmark_model.h b/components/bookmarks/browser/bookmark_model.h
--- a/components/bookmarks/browser/bookmark_model.h
+++ b/components/bookmarks/browser/bookmark_model.h
@@ -116,6 +116,12 @@ class BookmarkModel : public BookmarkUndoProvider,
@@ -120,6 +120,12 @@ class BookmarkModel : public BookmarkUndoProvider,
return mobile_node_;
}
@ -602,7 +602,7 @@ diff --git a/components/bookmarks/browser/bookmark_model.h b/components/bookmark
bool is_root_node(const BookmarkNode* node) const {
DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
return node == root_;
@@ -391,6 +397,7 @@ class BookmarkModel : public BookmarkUndoProvider,
@@ -395,6 +401,7 @@ class BookmarkModel : public BookmarkUndoProvider,
BookmarkPermanentNode* bookmark_bar_node_ = nullptr;
BookmarkPermanentNode* other_node_ = nullptr;
BookmarkPermanentNode* mobile_node_ = nullptr;
@ -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.
@@ -247,6 +249,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);

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
@@ -88,6 +88,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
@@ -2063,6 +2063,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
@@ -2436,6 +2436,11 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
@@ -2451,6 +2451,11 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
return true;
}
@ -68,15 +68,15 @@ 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
@@ -355,6 +355,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 */);
updateRequestDesktopSiteMenuItem(menu, currentTab, true /* can show */, isChromeScheme);
+ updateViewSourceMenuItem(menu, currentTab);
// Only display reader mode settings menu option if the current page is in reader mode.
menu.findItem(R.id.reader_mode_prefs_id).setVisible(shouldShowReaderModePrefs(currentTab));
@@ -845,6 +846,19 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate
updateAutoDarkMenuItem(menu, currentTab, isChromeScheme);
@@ -1027,6 +1028,19 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate
}
}
@ -99,10 +99,10 @@ 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
@@ -214,6 +214,7 @@ public class CustomTabAppMenuPropertiesDelegate extends AppMenuPropertiesDelegat
}
@@ -217,6 +217,7 @@ public class CustomTabAppMenuPropertiesDelegate extends AppMenuPropertiesDelegat
updateRequestDesktopSiteMenuItem(menu, currentTab, requestDesktopSiteVisible);
updateRequestDesktopSiteMenuItem(
menu, currentTab, requestDesktopSiteVisible, isChromeScheme);
+ updateViewSourceMenuItem(menu, currentTab);
prepareAddToHomescreenMenuItem(menu, currentTab, addToHomeScreenVisible);
}

View file

@ -3,17 +3,17 @@ Date: Mon, 1 Feb 2021 19:18:55 +0200
Subject: Add option to force tablet UI
---
.../android/java/res/xml/accessibility_preferences.xml | 5 +++++
.../accessibility/settings/AccessibilitySettings.java | 10 ++++++++++
.../browser/preferences/ChromePreferenceKeys.java | 1 +
.../preferences/LegacyChromePreferenceKeys.java | 1 +
.../chrome/browser/omnibox/LocationBarCoordinator.java | 2 +-
.../ui/android/strings/android_chrome_strings.grd | 6 ++++++
.../browser/toolbar/top/ToolbarControlContainer.java | 2 +-
components/BUILD.gn | 4 ++--
ui/android/BUILD.gn | 2 ++
.../src/org/chromium/ui/base/DeviceFormFactor.java | 5 +++++
10 files changed, 34 insertions(+), 4 deletions(-)
.../java/res/xml/accessibility_preferences.xml | 5 +++++
.../settings/AccessibilitySettings.java | 10 ++++++++++
.../preferences/ChromePreferenceKeys.java | 1 +
.../preferences/LegacyChromePreferenceKeys.java | 1 +
.../browser/omnibox/LocationBarCoordinator.java | 2 +-
.../android/strings/android_chrome_strings.grd | 6 ++++++
.../toolbar/top/ToolbarControlContainer.java | 16 ----------------
components/BUILD.gn | 4 ++--
ui/android/BUILD.gn | 2 ++
.../org/chromium/ui/base/DeviceFormFactor.java | 5 +++++
10 files changed, 33 insertions(+), 19 deletions(-)
diff --git a/chrome/android/java/res/xml/accessibility_preferences.xml b/chrome/android/java/res/xml/accessibility_preferences.xml
--- a/chrome/android/java/res/xml/accessibility_preferences.xml
@ -33,15 +33,15 @@ diff --git a/chrome/android/java/res/xml/accessibility_preferences.xml b/chrome/
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/accessibility/settings/AccessibilitySettings.java b/chrome/android/java/src/org/chromium/chrome/browser/accessibility/settings/AccessibilitySettings.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/accessibility/settings/AccessibilitySettings.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/accessibility/settings/AccessibilitySettings.java
@@ -37,6 +37,7 @@ public class AccessibilitySettings
@@ -35,6 +35,7 @@ public class AccessibilitySettings
static final String PREF_CAPTIONS = "captions";
static final String PREF_IMAGE_DESCRIPTIONS = "image_descriptions";
static final String PREF_ACCESSIBILITY_PAGE_ZOOM = "accessibility_page_zoom";
+ static final String PREF_FORCE_TABLET_UI = "force_tablet_ui";
private TextScalePreference mTextScalePref;
private ChromeBaseCheckBoxPreference mForceEnableZoomPref;
private boolean mRecordFontSizeChangeOnStop;
@@ -82,6 +83,12 @@ public class AccessibilitySettings
@@ -80,6 +81,12 @@ public class AccessibilitySettings
.getBoolean(Pref.READER_FOR_ACCESSIBILITY));
readerForAccessibilityPref.setOnPreferenceChangeListener(this);
@ -54,7 +54,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/accessibility/s
ChromeBaseCheckBoxPreference mAccessibilityTabSwitcherPref =
(ChromeBaseCheckBoxPreference) findPreference(
ChromePreferenceKeys.ACCESSIBILITY_TAB_SWITCHER);
@@ -137,6 +144,9 @@ public class AccessibilitySettings
@@ -131,6 +138,9 @@ public class AccessibilitySettings
mFontSizePrefs.setUserFontScaleFactor((Float) newValue);
} else if (PREF_FORCE_ENABLE_ZOOM.equals(preference.getKey())) {
mFontSizePrefs.setForceEnableZoomFromUser((Boolean) newValue);
@ -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
@@ -543,6 +543,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";
@ -78,7 +78,7 @@ diff --git a/chrome/browser/preferences/android/java/src/org/chromium/chrome/bro
diff --git a/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/LegacyChromePreferenceKeys.java b/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/LegacyChromePreferenceKeys.java
--- a/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/LegacyChromePreferenceKeys.java
+++ b/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/LegacyChromePreferenceKeys.java
@@ -99,6 +99,7 @@ public class LegacyChromePreferenceKeys {
@@ -98,6 +98,7 @@ public class LegacyChromePreferenceKeys {
ChromePreferenceKeys.FLAGS_CACHED_SWAP_PIXEL_FORMAT_TO_FIX_CONVERT_FROM_TRANSLUCENT,
ChromePreferenceKeys.FLAGS_CACHED_TAB_GROUPS_ANDROID_ENABLED,
ChromePreferenceKeys.FONT_USER_FONT_SCALE_FACTOR,
@ -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
@@ -348,7 +348,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
@@ -1223,6 +1223,12 @@ Your Google account may have other forms of browsing history like searches and a
@@ -1228,6 +1228,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>
@ -117,19 +117,33 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro
diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/ToolbarControlContainer.java b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/ToolbarControlContainer.java
--- a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/ToolbarControlContainer.java
+++ b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/ToolbarControlContainer.java
@@ -109,7 +109,7 @@ public class ToolbarControlContainer extends OptimizedFrameLayout implements Con
// On tablet, draw a fake tab strip and toolbar until the compositor is
// ready to draw the real tab strip. (On phone, the toolbar is made entirely
// of Android views, which are already initialized.)
- setBackgroundResource(R.drawable.toolbar_background);
+// setBackgroundResource(R.drawable.toolbar_background);
}
@@ -106,22 +106,6 @@ public class ToolbarControlContainer extends OptimizedFrameLayout implements Con
public void setToolbar(Toolbar toolbar, boolean isIncognito) {
mToolbar = toolbar;
mToolbarContainer.setToolbar(mToolbar);
-
- View toolbarView = findViewById(R.id.toolbar);
- assert toolbarView != null;
-
- if (toolbarView instanceof ToolbarTablet) {
- // On tablet, draw a fake tab strip and toolbar until the compositor is
- // ready to draw the real tab strip. (On phone, the toolbar is made entirely
- // of Android views, which are already initialized.)
- final Drawable backgroundDrawable =
- AppCompatResources.getDrawable(getContext(), R.drawable.toolbar_background)
- .mutate();
- backgroundDrawable.setTint(
- ChromeColors.getDefaultThemeColor(getContext(), isIncognito));
- backgroundDrawable.setTintMode(PorterDuff.Mode.MULTIPLY);
- setBackground(backgroundDrawable);
- }
}
@Override
diff --git a/components/BUILD.gn b/components/BUILD.gn
--- a/components/BUILD.gn
+++ b/components/BUILD.gn
@@ -549,7 +549,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.
@ -138,7 +152,7 @@ diff --git a/components/BUILD.gn b/components/BUILD.gn
assert_no_deps = [ "//chrome/*" ]
}
@@ -798,7 +798,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.
@ -150,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
@@ -369,6 +369,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",

View file

@ -12,7 +12,7 @@ Subject: Add option to not persist tabs across sessions
diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/android/java/res/xml/privacy_preferences.xml
--- a/chrome/android/java/res/xml/privacy_preferences.xml
+++ b/chrome/android/java/res/xml/privacy_preferences.xml
@@ -37,6 +37,11 @@
@@ -42,6 +42,11 @@
android:title="@string/always_incognito_title"
android:summary="@string/always_incognito_summary"
android:defaultValue="false" />
@ -59,16 +59,16 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
import org.chromium.chrome.R;
import org.chromium.chrome.browser.feedback.HelpAndFeedbackLauncherImpl;
import org.chromium.chrome.browser.flags.ChromeFeatureList;
@@ -59,6 +62,8 @@ public class PrivacySettings
private static final String PREF_PRIVACY_SANDBOX = "privacy_sandbox";
@@ -63,6 +66,8 @@ public class PrivacySettings
private static final String PREF_PRIVACY_REVIEW = "privacy_review";
private static final String PREF_INCOGNITO_LOCK = "incognito_lock";
+ private static final String PREF_CLOSE_TABS_ON_EXIT = "close_tabs_on_exit";
+
private ManagedPreferenceDelegate mManagedPreferenceDelegate;
@Override
@@ -136,7 +141,11 @@ public class PrivacySettings
@@ -178,7 +183,11 @@ public class PrivacySettings
@Override
public boolean onPreferenceChange(Preference preference, Object newValue) {
String key = preference.getKey();
@ -81,22 +81,22 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
UserPrefs.get(Profile.getLastUsedRegularProfile())
.setBoolean(Pref.CAN_MAKE_PAYMENT_ENABLED, (boolean) newValue);
} else if (PREF_NETWORK_PREDICTIONS.equals(key)) {
@@ -188,6 +197,11 @@ public class PrivacySettings
privacySandboxPreference.setSummary(
@@ -234,6 +243,11 @@ public class PrivacySettings
PrivacySandboxSettingsFragment.getStatusString(getContext()));
}
+
+ ChromeSwitchPreference closeTabsOnExitPref =
+ (ChromeSwitchPreference) findPreference(PREF_CLOSE_TABS_ON_EXIT);
+ closeTabsOnExitPref.setOnPreferenceChangeListener(this);
+ closeTabsOnExitPref.setManagedPreferenceDelegate(mManagedPreferenceDelegate);
+
updateIncognitoReauthPreference();
}
private ChromeManagedPreferenceDelegate createManagedPreferenceDelegate() {
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
@@ -4081,6 +4081,12 @@ To change this setting, <ph name="BEGIN_LINK">&lt;resetlink&gt;</ph>reset sync<p
@@ -4126,6 +4126,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>

View file

@ -0,0 +1,206 @@
From: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Sat, 20 Nov 2021 15:36:54 +0000
Subject: Add option to use home page as NTP
And allow use about:blank as default homepage
---
.../java/res/xml/homepage_preferences.xml | 5 +++++
.../chrome/browser/homepage/HomepageManager.java | 16 ++++++++++++++++
.../homepage/settings/HomepageSettings.java | 12 ++++++++++++
.../chrome/browser/metrics/LaunchMetrics.java | 1 -
.../browser/tabmodel/ChromeTabCreator.java | 7 +++++++
.../preferences/ChromePreferenceKeys.java | 1 +
.../preferences/LegacyChromePreferenceKeys.java | 1 +
.../android/strings/android_chrome_strings.grd | 3 +++
chrome/browser/ui/browser_ui_prefs.cc | 2 ++
chrome/common/pref_names.cc | 4 ++++
chrome/common/pref_names.h | 1 +
11 files changed, 52 insertions(+), 1 deletion(-)
diff --git a/chrome/android/java/res/xml/homepage_preferences.xml b/chrome/android/java/res/xml/homepage_preferences.xml
--- a/chrome/android/java/res/xml/homepage_preferences.xml
+++ b/chrome/android/java/res/xml/homepage_preferences.xml
@@ -12,6 +12,11 @@
android:summaryOn="@string/text_on"
android:summaryOff="@string/text_off" />
+ <org.chromium.components.browser_ui.settings.ChromeSwitchPreference
+ android:key="ntp_is_homepage_switch"
+ android:summaryOn="@string/options_ntp_is_homepage_label"
+ android:summaryOff="@string/options_ntp_is_homepage_label" />
+
<org.chromium.chrome.browser.homepage.settings.RadioButtonGroupHomepagePreference
android:key="homepage_radio_group"
android:selectable="false"
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/homepage/HomepageManager.java b/chrome/android/java/src/org/chromium/chrome/browser/homepage/HomepageManager.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/homepage/HomepageManager.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/homepage/HomepageManager.java
@@ -214,6 +214,22 @@ public class HomepageManager implements HomepagePolicyManager.HomepagePolicyStat
notifyHomepageUpdated();
}
+ /**
+ * Returns the user preference for whether the New Tab Page is the homepage or not.
+ *
+ */
+ public boolean getPrefNTPIsHomepageEnabled() {
+ return mSharedPreferencesManager.readBoolean(ChromePreferenceKeys.HOMEPAGE_NTP_IS_HOMEPAGE, false);
+ }
+
+ /**
+ * Sets the user preference for whether the new tab page is the homepage or not.
+ */
+ public void setPrefNTPIsHomepageEnabled(boolean enabled) {
+ mSharedPreferencesManager.writeBoolean(ChromePreferenceKeys.HOMEPAGE_NTP_IS_HOMEPAGE, enabled);
+ notifyHomepageUpdated();
+ }
+
/**
* @return User specified homepage custom URI string.
*/
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/homepage/settings/HomepageSettings.java b/chrome/android/java/src/org/chromium/chrome/browser/homepage/settings/HomepageSettings.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/homepage/settings/HomepageSettings.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/homepage/settings/HomepageSettings.java
@@ -22,6 +22,7 @@ import org.chromium.components.browser_ui.settings.ChromeSwitchPreference;
import org.chromium.components.browser_ui.settings.SettingsUtils;
import org.chromium.components.embedder_support.util.UrlUtilities;
import org.chromium.components.url_formatter.UrlFormatter;
+import org.chromium.components.embedder_support.util.UrlConstants;
/**
* Fragment that allows the user to configure homepage related preferences.
@@ -32,6 +33,8 @@ public class HomepageSettings extends PreferenceFragmentCompat {
@VisibleForTesting
public static final String PREF_HOMEPAGE_RADIO_GROUP = "homepage_radio_group";
+ private static final String PREF_NTP_HOMEPAGE_SWITCH = "ntp_is_homepage_switch";
+
/**
* Delegate used to mark that the homepage is being managed.
* Created for {@link org.chromium.chrome.browser.settings.HomepagePreferences}
@@ -72,6 +75,15 @@ public class HomepageSettings extends PreferenceFragmentCompat {
});
mRadioButtons.setupPreferenceValues(createPreferenceValuesForRadioGroup());
+ ChromeSwitchPreference mNTPIsHomepageSwitch =
+ (ChromeSwitchPreference) findPreference(PREF_NTP_HOMEPAGE_SWITCH);
+ boolean isHomepageNTPEnabled = mHomepageManager.getPrefNTPIsHomepageEnabled();
+ mNTPIsHomepageSwitch.setChecked(isHomepageNTPEnabled);
+ mNTPIsHomepageSwitch.setOnPreferenceChangeListener((preference, newValue) -> {
+ mHomepageManager.setPrefNTPIsHomepageEnabled((boolean) newValue);
+ return true;
+ });
+
RecordUserAction.record("Settings.Homepage.Opened");
}
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/metrics/LaunchMetrics.java b/chrome/android/java/src/org/chromium/chrome/browser/metrics/LaunchMetrics.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/metrics/LaunchMetrics.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/metrics/LaunchMetrics.java
@@ -103,7 +103,6 @@ public class LaunchMetrics {
boolean showHomeButton, boolean homepageIsNtp, String homepageUrl) {
if (homepageUrl == null) {
homepageUrl = "";
- assert !showHomeButton : "Homepage should be disabled for a null URL";
}
LaunchMetricsJni.get().recordHomePageLaunchMetrics(
showHomeButton, homepageIsNtp, homepageUrl);
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/ChromeTabCreator.java b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/ChromeTabCreator.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/ChromeTabCreator.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/ChromeTabCreator.java
@@ -20,6 +20,7 @@ import org.chromium.chrome.browser.ServiceTabLauncher;
import org.chromium.chrome.browser.app.tab_activity_glue.ReparentingDelegateFactory;
import org.chromium.chrome.browser.app.tab_activity_glue.ReparentingTask;
import org.chromium.chrome.browser.compositor.CompositorViewHolder;
+import org.chromium.chrome.browser.homepage.HomepageManager;
import org.chromium.chrome.browser.init.StartupTabPreloader;
import org.chromium.chrome.browser.ntp.NewTabPageLaunchOrigin;
import org.chromium.chrome.browser.ntp.NewTabPageUtils;
@@ -327,6 +328,12 @@ public class ChromeTabCreator extends TabCreator {
* @return the created tab.
*/
public Tab launchUrl(String url, @TabLaunchType int type, Intent intent, long intentTimestamp) {
+ if (!mIncognito && url.equals(UrlConstants.NTP_URL)) {
+ if (HomepageManager.getInstance().getPrefNTPIsHomepageEnabled()) {
+ url = HomepageManager.getInstance().getHomepageUri();
+ }
+ }
+
LoadUrlParams loadUrlParams = new LoadUrlParams(url);
loadUrlParams.setIntentReceivedTimestamp(intentTimestamp);
return createNewTab(loadUrlParams, type, null, intent);
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
@@ -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";
+ public static final String HOMEPAGE_NTP_IS_HOMEPAGE = "newtabpage_is_homepage";
/**
* Key used to save homepage location set by enterprise policy
diff --git a/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/LegacyChromePreferenceKeys.java b/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/LegacyChromePreferenceKeys.java
--- a/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/LegacyChromePreferenceKeys.java
+++ b/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/LegacyChromePreferenceKeys.java
@@ -103,6 +103,7 @@ public class LegacyChromePreferenceKeys {
ChromePreferenceKeys.HOMEPAGE_CUSTOM_URI,
ChromePreferenceKeys.HOMEPAGE_ENABLED,
ChromePreferenceKeys.HOMEPAGE_USE_DEFAULT_URI,
+ ChromePreferenceKeys.HOMEPAGE_NTP_IS_HOMEPAGE,
ChromePreferenceKeys.INCOGNITO_SHORTCUT_ADDED,
ChromePreferenceKeys.LATEST_UNSUPPORTED_VERSION,
ChromePreferenceKeys.LOCALE_MANAGER_AUTO_SWITCH,
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
@@ -1004,6 +1004,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>
+ <message name="IDS_OPTIONS_NTP_IS_HOMEPAGE_LABEL" desc="The label for switch that allows the user to toggle whether opening a new tab leads to the new tab page or the home page.">
+ Use for new tabs
+ </message>
<message name="IDS_CLEAR_BROWSING_DATA_TAB_PERIOD_24_HOURS" desc="The option to delete browsing data from the last 24 hours.">
Last 24 hours
</message>
diff --git a/chrome/browser/ui/browser_ui_prefs.cc b/chrome/browser/ui/browser_ui_prefs.cc
--- a/chrome/browser/ui/browser_ui_prefs.cc
+++ b/chrome/browser/ui/browser_ui_prefs.cc
@@ -65,6 +65,8 @@ void RegisterBrowserUserPrefs(user_prefs::PrefRegistrySyncable* registry) {
GetHomeButtonAndHomePageIsNewTabPageFlags());
registry->RegisterBooleanPref(prefs::kShowHomeButton, false,
GetHomeButtonAndHomePageIsNewTabPageFlags());
+ registry->RegisterBooleanPref(prefs::kNewTabPageIsHomePage, false,
+ GetHomeButtonAndHomePageIsNewTabPageFlags());
registry->RegisterInt64Pref(prefs::kDefaultBrowserLastDeclined, 0);
bool reset_check_default = false;
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
@@ -55,6 +55,10 @@ const char kForceEphemeralProfiles[] = "profile.ephemeral_mode";
// A boolean specifying whether the New Tab page is the home page or not.
const char kHomePageIsNewTabPage[] = "homepage_is_newtabpage";
+// A boolean specifying whether opening a new tab should open the Home page
+// instead of the New Tab page.
+const char kNewTabPageIsHomePage[] = "newtabpage_is_homepage";
+
// This is the URL of the page to load when opening new tabs.
const char kHomePage[] = "homepage";
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
@@ -356,6 +356,7 @@ extern const char kExternalStorageReadOnly[];
extern const char kSettingsShowOSBanner[];
#endif // defined(OS_CHROMEOS)
extern const char kShowHomeButton[];
+extern const char kNewTabPageIsHomePage[];
extern const char kSpeechRecognitionFilterProfanities[];
extern const char kAllowDeletingBrowserHistory[];
extern const char kForceGoogleSafeSearch[];
--
2.20.1

View file

@ -25,7 +25,7 @@ Subject: Allow building without enable_reporting
diff --git a/content/browser/BUILD.gn b/content/browser/BUILD.gn
--- a/content/browser/BUILD.gn
+++ b/content/browser/BUILD.gn
@@ -1251,6 +1251,10 @@ source_set("browser") {
@@ -1275,6 +1275,10 @@ source_set("browser") {
"net/browser_online_state_observer.cc",
"net/browser_online_state_observer.h",
"net/cookie_store_factory.cc",
@ -36,7 +36,7 @@ diff --git a/content/browser/BUILD.gn b/content/browser/BUILD.gn
"net/network_errors_listing_ui.cc",
"net/network_errors_listing_ui.h",
"net/network_quality_observer_impl.cc",
@@ -3009,10 +3013,6 @@ source_set("browser") {
@@ -3035,10 +3039,6 @@ source_set("browser") {
if (enable_reporting) {
sources += [
@ -69,7 +69,7 @@ diff --git a/content/browser/devtools/protocol/network_handler.cc b/content/brow
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
@@ -304,8 +304,10 @@ class NetworkHandler : public DevToolsDomainHandler,
@@ -309,8 +309,10 @@ class NetworkHandler : public DevToolsDomainHandler,
Response response,
mojo::ScopedDataPipeConsumerHandle pipe,
const std::string& mime_type);
@ -83,7 +83,7 @@ diff --git a/content/browser/devtools/protocol/network_handler.h b/content/brows
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
@@ -107,6 +107,7 @@ void CrossOriginEmbedderPolicyReporter::QueueAndNotify(
@@ -112,6 +112,7 @@ void CrossOriginEmbedderPolicyReporter::QueueAndNotify(
kType, context_url_, blink::mojom::ReportBody::New(std::move(list))));
}
if (endpoint) {
@ -91,7 +91,7 @@ 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);
@@ -117,6 +118,7 @@ void CrossOriginEmbedderPolicyReporter::QueueAndNotify(
@@ -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));
@ -179,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
@@ -10653,6 +10653,7 @@ void RenderFrameHostImpl::OnSameDocumentCommitProcessed(
@@ -10649,6 +10649,7 @@ void RenderFrameHostImpl::OnSameDocumentCommitProcessed(
void RenderFrameHostImpl::MaybeGenerateCrashReport(
base::TerminationStatus status,
int exit_code) {
@ -187,7 +187,7 @@ diff --git a/content/browser/renderer_host/render_frame_host_impl.cc b/content/b
if (!last_committed_url_.SchemeIsHTTPOrHTTPS())
return;
@@ -10702,6 +10703,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));
@ -240,7 +240,7 @@ diff --git a/content/public/common/content_switch_dependent_feature_overrides.cc
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
@@ -202,6 +202,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) {
@ -256,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
@@ -1118,25 +1118,9 @@ void NetworkContext::SetDocumentReportingEndpoints(
@@ -1121,25 +1121,9 @@ void NetworkContext::SetDocumentReportingEndpoints(
void NetworkContext::SendReportsAndRemoveSource(
const base::UnguessableToken& reporting_source) {
@ -286,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
@@ -415,17 +415,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;
@ -307,7 +307,7 @@ 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
@@ -888,6 +888,9 @@ 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"
@ -320,7 +320,7 @@ diff --git a/services/network/public/mojom/BUILD.gn b/services/network/public/mo
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
@@ -972,6 +972,7 @@ interface NetworkContext {
@@ -986,6 +986,7 @@ interface NetworkContext {
// provided |network_isolation_key|.
//
// Spec: https://w3c.github.io/reporting/#concept-reports
@ -328,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,
@@ -985,6 +986,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|.
@ -347,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"
@@ -2282,9 +2283,11 @@ const base::UnguessableToken& LocalFrame::GetAgentClusterId() const {
@@ -2302,9 +2303,11 @@ const base::UnguessableToken& LocalFrame::GetAgentClusterId() const {
return base::UnguessableToken::Null();
}
@ -373,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"
@@ -544,9 +544,9 @@ class CORE_EXPORT LocalFrame final : public Frame,
@@ -545,9 +545,9 @@ class CORE_EXPORT LocalFrame final : public Frame,
}
SmoothScrollSequencer& GetSmoothScrollSequencer();

View file

@ -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
@@ -1120,6 +1120,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());
@@ -3492,7 +3498,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.

View file

@ -10,10 +10,10 @@ Disable prefs::kSigninAllowedOnNextStartup by default. The setting can be found
diff --git a/chrome/browser/signin/account_consistency_mode_manager.cc b/chrome/browser/signin/account_consistency_mode_manager.cc
--- a/chrome/browser/signin/account_consistency_mode_manager.cc
+++ b/chrome/browser/signin/account_consistency_mode_manager.cc
@@ -127,7 +127,7 @@ void AccountConsistencyModeManager::RegisterProfilePrefs(
#if BUILDFLAG(ENABLE_DICE_SUPPORT)
registry->RegisterBooleanPref(kDiceMigrationCompletePref, false);
#endif
@@ -113,7 +113,7 @@ AccountConsistencyModeManager::~AccountConsistencyModeManager() {}
// static
void AccountConsistencyModeManager::RegisterProfilePrefs(
user_prefs::PrefRegistrySyncable* registry) {
- registry->RegisterBooleanPref(prefs::kSigninAllowedOnNextStartup, true);
+ registry->RegisterBooleanPref(prefs::kSigninAllowedOnNextStartup, false);
}

View file

@ -9,7 +9,7 @@ Subject: Always allow partner customisation
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/partnercustomizations/PartnerBrowserCustomizations.java b/chrome/android/java/src/org/chromium/chrome/browser/partnercustomizations/PartnerBrowserCustomizations.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/partnercustomizations/PartnerBrowserCustomizations.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/partnercustomizations/PartnerBrowserCustomizations.java
@@ -324,14 +324,14 @@ public class PartnerBrowserCustomizations {
@@ -329,14 +329,14 @@ public class PartnerBrowserCustomizations {
@Override
protected Void doInBackground() {
try {

View file

@ -17,9 +17,9 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/homepage/Homepa
- if (PartnerBrowserCustomizations.getInstance().isHomepageProviderAvailableAndEnabled()) {
- return PartnerBrowserCustomizations.getInstance().getHomePageUrl();
- }
return UrlConstants.NTP_NON_NATIVE_URL;
}
String homepagePartnerDefaultUri = SharedPreferencesManager.getInstance().readString(
ChromePreferenceKeys.HOMEPAGE_PARTNER_CUSTOMIZED_DEFAULT_URI, "");
--
2.20.1

View file

@ -0,0 +1,62 @@
From: uazo <uazo@users.noreply.github.com>
Date: Sat, 20 Nov 2021 17:42:41 +0000
Subject: Ask user before closing all tabs
---
.../chrome/browser/ChromeTabbedActivity.java | 20 +++++++++++++++++--
.../strings/android_chrome_strings.grd | 3 +++
2 files changed, 21 insertions(+), 2 deletions(-)
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
@@ -33,6 +33,7 @@ import androidx.annotation.VisibleForTesting;
import androidx.lifecycle.Lifecycle;
import androidx.lifecycle.LifecycleObserver;
import androidx.lifecycle.LifecycleRegistry;
+import androidx.appcompat.app.AlertDialog;
import org.chromium.base.CallbackController;
import org.chromium.base.CommandLine;
@@ -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
- getTabModelSelector().closeAllTabs();
- RecordUserAction.record("MobileMenuCloseAllTabs");
+ AlertDialog.Builder alert =
+ new AlertDialog.Builder(ChromeTabbedActivity.this);
+ AlertDialog alertDialog =
+ alert.setTitle(R.string.menu_close_all_tabs)
+ .setMessage(R.string.menu_ask_to_close_all_tabs)
+ .setPositiveButton(android.R.string.ok,
+ (dialog, which) -> {
+ getTabModelSelector().closeAllTabs();
+ dialog.dismiss();
+ })
+ .setNegativeButton(android.R.string.cancel,
+ (dialog, which) -> {
+ dialog.dismiss();
+ })
+ .create();
+ alertDialog.getDelegate().setHandleNativeActionModesEnabled(false);
+ alertDialog.show();
} else if (id == R.id.bookmark_all_tabs_menu_id) {
bookmarkAllTabs();
} else if (id == R.id.close_all_incognito_tabs_menu_id) {
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
@@ -3297,6 +3297,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>
+ <message name="IDS_MENU_ASK_TO_CLOSE_ALL_TABS" desc="Label for the notice of closing all open tabs. [CHAR_LIMIT=27]">
+ Do you want to close all tabs?
+ </message>
<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.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
@@ -458,7 +458,9 @@ double AudioContext::baseLatency() const {
@@ -457,7 +457,9 @@ double AudioContext::baseLatency() const {
DCHECK(IsMainThread());
DCHECK(destination());

File diff suppressed because it is too large Load diff

View file

@ -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
@@ -579,6 +579,24 @@ bool FrameFetchContext::ShouldBlockRequestByInspector(const KURL& url) const {
@@ -566,6 +566,24 @@ bool FrameFetchContext::ShouldBlockRequestByInspector(const KURL& url) const {
return should_block_request;
}
@ -56,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
@@ -165,6 +165,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;
@ -197,7 +197,7 @@ diff --git a/third_party/blink/renderer/modules/websockets/websocket_common.h b/
#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"
@@ -51,6 +53,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_; }

View file

@ -61,7 +61,7 @@ diff --git a/chrome/browser/ui/singleton_tabs.cc b/chrome/browser/ui/singleton_t
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
@@ -81,10 +81,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;
@ -77,7 +77,7 @@ diff --git a/components/omnibox/browser/autocomplete_input.cc b/components/omnib
return url::FindAndCompareScheme(utf8_input, scheme, nullptr);
}
@@ -532,7 +537,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) ||
@ -104,7 +104,7 @@ diff --git a/components/url_formatter/url_fixer.cc b/components/url_formatter/ur
diff --git a/content/browser/child_process_security_policy_impl.cc b/content/browser/child_process_security_policy_impl.cc
--- a/content/browser/child_process_security_policy_impl.cc
+++ b/content/browser/child_process_security_policy_impl.cc
@@ -821,6 +821,7 @@ ChildProcessSecurityPolicyImpl::ChildProcessSecurityPolicyImpl()
@@ -861,6 +861,7 @@ ChildProcessSecurityPolicyImpl::ChildProcessSecurityPolicyImpl()
#endif // BUILDFLAG(ENABLE_WEBSOCKETS)
RegisterWebSafeScheme(url::kFtpScheme);
RegisterWebSafeScheme(url::kDataScheme);
@ -115,7 +115,7 @@ diff --git a/content/browser/child_process_security_policy_impl.cc b/content/bro
diff --git a/net/BUILD.gn b/net/BUILD.gn
--- a/net/BUILD.gn
+++ b/net/BUILD.gn
@@ -1037,6 +1037,8 @@ component("net") {
@@ -1039,6 +1039,8 @@ component("net") {
"url_request/url_request_http_job.cc",
"url_request/url_request_http_job.h",
"url_request/url_request_interceptor.cc",
@ -209,7 +209,7 @@ diff --git a/net/url_request/url_request.cc b/net/url_request/url_request.cc
using base::Time;
using std::string;
@@ -584,6 +586,12 @@ URLRequest::URLRequest(const GURL& url,
@@ -595,6 +597,12 @@ URLRequest::URLRequest(const GURL& url,
// Sanity check out environment.
DCHECK(base::ThreadTaskRunnerHandle::IsSet());

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

@ -41,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
@@ -1967,6 +1967,9 @@ if (enable_java_templates) {
@@ -1970,6 +1970,9 @@ if (enable_java_templates) {
]
}
}
@ -54,7 +54,7 @@ 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
@@ -886,6 +886,7 @@ chrome_java_sources = [
@@ -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",
@ -591,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) {
@@ -293,6 +311,77 @@ std::string EndpointFetcher::GetUrlForTesting() {
@@ -292,6 +310,77 @@ std::string EndpointFetcher::GetUrlForTesting() {
return url_.spec();
}
@ -669,7 +669,7 @@ diff --git a/chrome/browser/endpoint_fetcher/endpoint_fetcher.cc b/chrome/browse
#if defined(OS_ANDROID)
namespace {
static void OnEndpointFetcherComplete(
@@ -309,6 +398,25 @@ static void OnEndpointFetcherComplete(
@@ -308,6 +397,25 @@ static void OnEndpointFetcherComplete(
base::android::AttachCurrentThread(),
std::move(endpoint_response->response))));
}
@ -695,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
@@ -398,4 +506,25 @@ static void JNI_EndpointFetcher_NativeFetchWithNoAuth(
@@ -397,4 +505,25 @@ static void JNI_EndpointFetcher_NativeFetchWithNoAuth(
nullptr);
}
@ -862,7 +862,7 @@ new file mode 100644
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
@@ -2121,7 +2121,7 @@
@@ -2079,7 +2079,7 @@
{
"name": "enable-inline-update-flow",
"owners": [ "nyquist", "dtrainor" ],
@ -874,7 +874,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
@@ -3657,10 +3657,9 @@ const char kVoiceButtonInTopToolbarDescription[] =
@@ -3697,10 +3697,9 @@ const char kVoiceButtonInTopToolbarDescription[] =
"Enables showing the voice search button in the top toolbar. Enabling "
"Adaptive Button overrides this.";
@ -890,7 +890,7 @@ diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descripti
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
@@ -631,7 +631,7 @@ const base::Feature kIncognitoScreenshot{"IncognitoScreenshot",
@@ -644,7 +644,7 @@ const base::Feature kIncognitoScreenshot{"IncognitoScreenshot",
base::FEATURE_DISABLED_BY_DEFAULT};
const base::Feature kInlineUpdateFlow{"InlineUpdateFlow",
@ -902,7 +902,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
@@ -1703,6 +1703,12 @@ Your Google account may have other forms of browsing history like searches and a
@@ -1698,6 +1698,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>
@ -915,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]">
@@ -3199,7 +3205,7 @@ To change this setting, <ph name="BEGIN_LINK">&lt;resetlink&gt;</ph>reset sync<p
@@ -3214,7 +3220,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]">

View file

@ -12,7 +12,7 @@ See also: https://github.com/bromite/bromite/issues/553
diff --git a/third_party/blink/renderer/modules/peerconnection/peer_connection_dependency_factory.cc b/third_party/blink/renderer/modules/peerconnection/peer_connection_dependency_factory.cc
--- a/third_party/blink/renderer/modules/peerconnection/peer_connection_dependency_factory.cc
+++ b/third_party/blink/renderer/modules/peerconnection/peer_connection_dependency_factory.cc
@@ -663,12 +663,13 @@ PeerConnectionDependencyFactory::CreatePortAllocator(
@@ -657,12 +657,13 @@ PeerConnectionDependencyFactory::CreatePortAllocator(
port_config.enable_nonproxied_udp = false;
break;
case DEFAULT:

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
@@ -609,7 +609,7 @@ const base::Feature kEnhancedProtectionPromoCard{
@@ -622,7 +622,7 @@ const base::Feature kEnhancedProtectionPromoCard{
"EnhancedProtectionPromoCard", base::FEATURE_DISABLED_BY_DEFAULT};
const base::Feature kExperimentsForAgsa{"ExperimentsForAgsa",
@ -22,15 +22,15 @@ diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browse
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
@@ -85,7 +85,7 @@ public class CachedFeatureFlags {
@@ -90,7 +90,7 @@ public class CachedFeatureFlags {
.put(ChromeFeatureList.CCT_REMOVE_REMOTE_VIEW_IDS, true)
.put(ChromeFeatureList.OFFLINE_MEASUREMENTS_BACKGROUND_TASK, false)
.put(ChromeFeatureList.CCT_INCOGNITO, true)
- .put(ChromeFeatureList.EXPERIMENTS_FOR_AGSA, true)
+ .put(ChromeFeatureList.EXPERIMENTS_FOR_AGSA, false)
.put(ChromeFeatureList.APP_MENU_MOBILE_SITE_OPTION, false)
.put(ChromeFeatureList.CLIPBOARD_SUGGESTION_CONTENT_HIDDEN, false)
.put(ChromeFeatureList.OPTIMIZATION_GUIDE_PUSH_NOTIFICATIONS, false)
.put(ChromeFeatureList.APP_TO_WEB_ATTRIBUTION, false)
--
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
@@ -1279,6 +1279,12 @@ Your Google account may have other forms of browsing history like searches and a
@@ -1287,6 +1287,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>

View file

@ -9,7 +9,7 @@ Subject: Disable DRM media origin IDs preprovisioning
diff --git a/media/base/media_switches.cc b/media/base/media_switches.cc
--- a/media/base/media_switches.cc
+++ b/media/base/media_switches.cc
@@ -645,7 +645,7 @@ const base::Feature kMediaDrmPersistentLicense{
@@ -655,7 +655,7 @@ const base::Feature kMediaDrmPersistentLicense{
// MediaDrmBridge. If disabled, MediaDrmBridge will get unprovisioned origin IDs
// which will trigger provisioning process after MediaDrmBridge is created.
const base::Feature kMediaDrmPreprovisioning{"MediaDrmPreprovisioning",

View file

@ -18,17 +18,18 @@ Also added the disabling of blink features through the DisabledForBromite tag
components/history/core/browser/url_row.h | 1 -
third_party/blink/common/features.cc | 4 +-
.../permissions_policy_feature.mojom | 5 --
.../blink/renderer/core/dom/document.cc | 3 +-
.../renderer/bindings/generated_in_core.gni | 2 -
.../blink/renderer/core/dom/document.cc | 31 +---------
.../blink/renderer/core/dom/document.idl | 1 -
.../renderer/core/dom/interest_cohort.idl | 4 --
.../permissions_policy_features.json5 | 6 --
.../platform/runtime_enabled_features.json5 | 5 +-
17 files changed, 38 insertions(+), 134 deletions(-)
18 files changed, 38 insertions(+), 164 deletions(-)
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 +43,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 +52,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 +63,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 +136,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 +153,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 +172,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 +182,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 +192,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 +200,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 +233,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 +248,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 +302,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 +362,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 +374,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,
@ -391,10 +391,30 @@ diff --git a/third_party/blink/public/mojom/permissions_policy/permissions_polic
// Controls whether Autofill may fill fields in that frame when triggered on
// a field with the main frame's origin.
kSharedAutofill = 83,
diff --git a/third_party/blink/renderer/bindings/generated_in_core.gni b/third_party/blink/renderer/bindings/generated_in_core.gni
--- a/third_party/blink/renderer/bindings/generated_in_core.gni
+++ b/third_party/blink/renderer/bindings/generated_in_core.gni
@@ -201,8 +201,6 @@ generated_dictionary_sources_in_core = [
"$root_gen_dir/third_party/blink/renderer/bindings/core/v8/v8_input_device_capabilities_init.h",
"$root_gen_dir/third_party/blink/renderer/bindings/core/v8/v8_input_event_init.cc",
"$root_gen_dir/third_party/blink/renderer/bindings/core/v8/v8_input_event_init.h",
- "$root_gen_dir/third_party/blink/renderer/bindings/core/v8/v8_interest_cohort.cc",
- "$root_gen_dir/third_party/blink/renderer/bindings/core/v8/v8_interest_cohort.h",
"$root_gen_dir/third_party/blink/renderer/bindings/core/v8/v8_intersection_observer_init.cc",
"$root_gen_dir/third_party/blink/renderer/bindings/core/v8/v8_intersection_observer_init.h",
"$root_gen_dir/third_party/blink/renderer/bindings/core/v8/v8_intrinsic_sizes_result_options.cc",
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,
@@ -79,7 +79,6 @@
#include "third_party/blink/renderer/bindings/core/v8/source_location.h"
#include "third_party/blink/renderer/bindings/core/v8/v8_element_creation_options.h"
#include "third_party/blink/renderer/bindings/core/v8/v8_element_registration_options.h"
-#include "third_party/blink/renderer/bindings/core/v8/v8_interest_cohort.h"
#include "third_party/blink/renderer/bindings/core/v8/v8_throw_dom_exception.h"
#include "third_party/blink/renderer/bindings/core/v8/v8_union_elementcreationoptions_string.h"
#include "third_party/blink/renderer/bindings/core/v8/v8_union_htmlscriptelement_svgscriptelement.h"
@@ -5998,8 +5997,7 @@ ScriptPromise Document::interestCohort(ScriptState* script_state,
return ScriptPromise();
}
@ -404,6 +424,40 @@ diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink
exception_state.ThrowDOMException(
DOMExceptionCode::kInvalidAccessError,
"The \"interest-cohort\" Permissions Policy denied the use of "
@@ -6011,33 +6009,6 @@ ScriptPromise Document::interestCohort(ScriptState* script_state,
MakeGarbageCollected<ScriptPromiseResolver>(script_state);
ScriptPromise promise = resolver->Promise();
-
- GetFlocService(ExecutionContext::From(script_state))
- ->GetInterestCohort(WTF::Bind(
- [](ScriptPromiseResolver* resolver, Document* document,
- mojom::blink::InterestCohortPtr interest_cohort) {
- DCHECK(resolver);
- DCHECK(document);
-
- if (interest_cohort->version.IsEmpty()) {
- ScriptState* state = resolver->GetScriptState();
- ScriptState::Scope scope(state);
-
- resolver->Reject(V8ThrowDOMException::CreateOrEmpty(
- state->GetIsolate(), DOMExceptionCode::kDataError,
- "Failed to get the interest cohort: either it is "
- "unavailable, or preferences or content settings have "
- "denied access."));
- } else {
- InterestCohort* result = InterestCohort::Create();
- result->setId(interest_cohort->id);
- result->setVersion(interest_cohort->version);
-
- resolver->Resolve(result);
- }
- },
- WrapPersistent(resolver), WrapPersistent(this)));
-
return promise;
}
diff --git a/third_party/blink/renderer/core/dom/document.idl b/third_party/blink/renderer/core/dom/document.idl
--- a/third_party/blink/renderer/core/dom/document.idl
+++ b/third_party/blink/renderer/core/dom/document.idl
@ -429,7 +483,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 +499,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

@ -1,54 +0,0 @@
From: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Sun, 27 Oct 2019 10:21:19 +0100
Subject: Disable HEAD requests for single-word Omnibar searches
Patch from https://github.com/Eloston/ungoogled-chromium/issues/814#issuecomment-526873727
---
.../ui/omnibox/chrome_omnibox_navigation_observer.cc | 8 ++++----
.../ui/omnibox/chrome_omnibox_navigation_observer.h | 2 +-
2 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/chrome/browser/ui/omnibox/chrome_omnibox_navigation_observer.cc b/chrome/browser/ui/omnibox/chrome_omnibox_navigation_observer.cc
--- a/chrome/browser/ui/omnibox/chrome_omnibox_navigation_observer.cc
+++ b/chrome/browser/ui/omnibox/chrome_omnibox_navigation_observer.cc
@@ -86,8 +86,8 @@ ChromeOmniboxNavigationObserver::ChromeOmniboxNavigationObserver(
shortcuts_backend_(ShortcutsBackendFactory::GetForProfile(profile)),
load_state_(LOAD_NOT_SEEN),
fetch_state_(FETCH_NOT_COMPLETE) {
- if (alternate_nav_match_.destination_url.is_valid())
- CreateLoader(alternate_nav_match_.destination_url);
+// if (alternate_nav_match_.destination_url.is_valid())
+// CreateLoader(alternate_nav_match_.destination_url);
// We need to start by listening to AllSources, since we don't know which tab
// the navigation might occur in.
@@ -291,7 +291,7 @@ void ChromeOmniboxNavigationObserver::OnAllLoadingFinished() {
delete this;
}
-void ChromeOmniboxNavigationObserver::CreateLoader(
+/*void ChromeOmniboxNavigationObserver::CreateLoader(
const GURL& destination_url) {
net::NetworkTrafficAnnotationTag traffic_annotation =
net::DefineNetworkTrafficAnnotation("omnibox_navigation_observer", R"(
@@ -336,4 +336,4 @@ void ChromeOmniboxNavigationObserver::CreateLoader(
loader_->SetAllowHttpErrorResults(true);
loader_->SetOnRedirectCallback(base::BindRepeating(
&ChromeOmniboxNavigationObserver::OnURLRedirect, base::Unretained(this)));
-}
+}*/
diff --git a/chrome/browser/ui/omnibox/chrome_omnibox_navigation_observer.h b/chrome/browser/ui/omnibox/chrome_omnibox_navigation_observer.h
--- a/chrome/browser/ui/omnibox/chrome_omnibox_navigation_observer.h
+++ b/chrome/browser/ui/omnibox/chrome_omnibox_navigation_observer.h
@@ -130,7 +130,7 @@ class ChromeOmniboxNavigationObserver : public OmniboxNavigationObserver,
// Creates a URL loader for |destination_url| and stores it in |loader_|.
// Does not start the loader.
- void CreateLoader(const GURL& destination_url);
+ //void CreateLoader(const GURL& destination_url);
const std::u16string text_;
const AutocompleteMatch match_;
--
2.20.1

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
@@ -823,7 +823,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;
}
@@ -858,8 +858,8 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator {
@@ -882,8 +882,8 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator {
preferenceManager.writeBoolean(
ChromePreferenceKeys.PROMOS_SKIPPED_ON_FIRST_START, true);
}

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

@ -29,7 +29,7 @@ diff --git a/chrome/android/feed/core/java/src/org/chromium/chrome/browser/feed/
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
@@ -76,7 +76,7 @@ public class CachedFeatureFlags {
@@ -81,7 +81,7 @@ public class CachedFeatureFlags {
.put(ChromeFeatureList.TAB_TO_GTS_ANIMATION, true)
.put(ChromeFeatureList.TEST_DEFAULT_DISABLED, false)
.put(ChromeFeatureList.TEST_DEFAULT_ENABLED, true)

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

@ -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
@@ -365,7 +365,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(
@ -68,7 +68,7 @@ diff --git a/chrome/browser/profiles/profile.cc b/chrome/browser/profiles/profil
diff --git a/chrome/browser/profiles/profile_impl.cc b/chrome/browser/profiles/profile_impl.cc
--- a/chrome/browser/profiles/profile_impl.cc
+++ b/chrome/browser/profiles/profile_impl.cc
@@ -445,7 +445,7 @@ void ProfileImpl::RegisterProfilePrefs(
@@ -415,7 +415,7 @@ void ProfileImpl::RegisterProfilePrefs(
#endif
registry->RegisterBooleanPref(prefs::kForceEphemeralProfiles, false);

View file

@ -26,7 +26,7 @@ diff --git a/chrome/browser/android/ntp/most_visited_sites_bridge.cc b/chrome/br
namespace {
@@ -230,7 +228,6 @@ void MostVisitedSitesBridge::RecordPageImpression(
@@ -232,7 +230,6 @@ void MostVisitedSitesBridge::RecordPageImpression(
JNIEnv* env,
const JavaParamRef<jobject>& obj,
jint jtiles_count) {
@ -34,7 +34,7 @@ diff --git a/chrome/browser/android/ntp/most_visited_sites_bridge.cc b/chrome/br
}
void MostVisitedSitesBridge::RecordTileImpression(
@@ -242,6 +239,7 @@ void MostVisitedSitesBridge::RecordTileImpression(
@@ -244,6 +241,7 @@ void MostVisitedSitesBridge::RecordTileImpression(
jint jtitle_source,
jint jsource,
const JavaParamRef<jobject>& jurl) {
@ -42,7 +42,7 @@ diff --git a/chrome/browser/android/ntp/most_visited_sites_bridge.cc b/chrome/br
std::unique_ptr<GURL> url = url::GURLAndroid::ToNativeGURL(env, jurl);
TileTitleSource title_source = static_cast<TileTitleSource>(jtitle_source);
TileSource source = static_cast<TileSource>(jsource);
@@ -251,6 +249,7 @@ void MostVisitedSitesBridge::RecordTileImpression(
@@ -253,6 +251,7 @@ void MostVisitedSitesBridge::RecordTileImpression(
ntp_tiles::metrics::RecordTileImpression(ntp_tiles::NTPTileImpression(
jindex, source, title_source, visual_type, icon_type, *url));
@ -50,7 +50,7 @@ diff --git a/chrome/browser/android/ntp/most_visited_sites_bridge.cc b/chrome/br
}
void MostVisitedSitesBridge::RecordOpenedMostVisitedItem(
@@ -260,11 +259,6 @@ void MostVisitedSitesBridge::RecordOpenedMostVisitedItem(
@@ -262,11 +261,6 @@ void MostVisitedSitesBridge::RecordOpenedMostVisitedItem(
jint tile_type,
jint title_source,
jint source) {

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
@@ -982,7 +982,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,

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
@@ -1851,10 +1851,8 @@ WebContentSettingsClient* LocalFrame::GetContentSettingsClient() {
@@ -1871,10 +1871,8 @@ WebContentSettingsClient* LocalFrame::GetContentSettingsClient() {
}
PluginData* LocalFrame::GetPluginData() const {

View file

@ -12,7 +12,7 @@ Remove the ui from the settings and set the flags to inactive
diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/android/java/res/xml/privacy_preferences.xml
--- a/chrome/android/java/res/xml/privacy_preferences.xml
+++ b/chrome/android/java/res/xml/privacy_preferences.xml
@@ -70,10 +70,6 @@
@@ -75,10 +75,6 @@
android:title="@string/open_external_links_incognito_title"
android:summary="@string/open_external_links_incognito_summary"
android:defaultValue="false" />
@ -26,15 +26,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
@@ -70,7 +70,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";
- private static final String PREF_PRIVACY_SANDBOX = "privacy_sandbox";
private static final String PREF_PRIVACY_REVIEW = "privacy_review";
private static final String PREF_INCOGNITO_LOCK = "incognito_lock";
private static final String PREF_CLOSE_TABS_ON_EXIT = "close_tabs_on_exit";
@@ -100,18 +99,6 @@ public class PrivacySettings
@@ -104,18 +103,6 @@ public class PrivacySettings
SettingsUtils.addPreferencesFromResource(this, R.xml.privacy_preferences);
getActivity().setTitle(R.string.prefs_privacy_security);
@ -50,10 +50,10 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
- return true;
- });
-
Preference privacyReviewPreference = findPreference(PREF_PRIVACY_REVIEW);
if (!ChromeFeatureList.isEnabled(ChromeFeatureList.PRIVACY_REVIEW)) {
getPreferenceScreen().removePreference(findPreference(PREF_PRIVACY_REVIEW));
}
@@ -292,12 +279,6 @@ public class PrivacySettings
getPreferenceScreen().removePreference(privacyReviewPreference);
@@ -337,12 +324,6 @@ public class PrivacySettings
secureDnsPref.setSummary(SecureDnsSettings.getSummary(getContext()));
}
@ -95,7 +95,7 @@ diff --git a/chrome/browser/privacy_sandbox/privacy_sandbox_settings.cc b/chrome
}
// Returns whether FLoC is allowable by the current state of |pref_service|.
@@ -195,6 +180,8 @@ PrivacySandboxSettings::PrivacySandboxSettings(
@@ -194,6 +179,8 @@ PrivacySandboxSettings::PrivacySandboxSettings(
base::BindRepeating(&PrivacySandboxSettings::OnPrivacySandboxPrefChanged,
base::Unretained(this)));
@ -104,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
@@ -393,7 +380,8 @@ bool PrivacySandboxSettings::IsPrivacySandboxManaged() {
@@ -392,7 +379,8 @@ bool PrivacySandboxSettings::IsPrivacySandboxManaged() {
void PrivacySandboxSettings::SetPrivacySandboxEnabled(bool enabled) {
pref_service_->SetBoolean(prefs::kPrivacySandboxManuallyControlled, true);
@ -114,7 +114,7 @@ diff --git a/chrome/browser/privacy_sandbox/privacy_sandbox_settings.cc b/chrome
}
void PrivacySandboxSettings::OnCookiesCleared() {
@@ -447,6 +435,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 {
@ -125,7 +125,7 @@ diff --git a/chrome/browser/privacy_sandbox/privacy_sandbox_settings.cc b/chrome
if (!pref_service_->GetBoolean(prefs::kPrivacySandboxApisEnabled))
return false;
@@ -459,6 +451,12 @@ bool PrivacySandboxSettings::IsPrivacySandboxAllowedForContext(
@@ -458,6 +450,12 @@ bool PrivacySandboxSettings::IsPrivacySandboxAllowedForContext(
}
void PrivacySandboxSettings::MaybeReconcilePrivacySandboxPref() {

View file

@ -0,0 +1,29 @@
From: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Sun, 27 Oct 2019 10:21:19 +0100
Subject: Disable requests for single-word Omnibar searches
Patch from https://github.com/Eloston/ungoogled-chromium/issues/814#issuecomment-526873727
---
.../ui/omnibox/chrome_omnibox_navigation_observer.cc | 7 -------
1 file changed, 7 deletions(-)
diff --git a/chrome/browser/ui/omnibox/chrome_omnibox_navigation_observer.cc b/chrome/browser/ui/omnibox/chrome_omnibox_navigation_observer.cc
--- a/chrome/browser/ui/omnibox/chrome_omnibox_navigation_observer.cc
+++ b/chrome/browser/ui/omnibox/chrome_omnibox_navigation_observer.cc
@@ -251,13 +251,6 @@ ChromeOmniboxNavigationObserver::ChromeOmniboxNavigationObserver(
profile_(profile),
show_infobar_(std::move(show_infobar)) {
NavigationUserData::CreateForNavigationHandle(navigation, this);
- if (alternative_nav_match_.destination_url.is_valid()) {
- loader_ = std::make_unique<AlternativeNavigationURLLoader>(
- alternative_nav_match.destination_url, this,
- base::BindOnce(
- &ChromeOmniboxNavigationObserver::OnAlternativeLoaderDone, this),
- GetURLLoaderFactory(loader_factory, profile));
- }
}
ChromeOmniboxNavigationObserver::~ChromeOmniboxNavigationObserver() {
--
2.20.1

File diff suppressed because it is too large Load diff

View file

@ -43,7 +43,7 @@ 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
@@ -173,6 +173,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
@@ -182,6 +182,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
&kCCTClientDataHeader,
&kCCTExternalLinkHandling,
&kCCTIncognito,
@ -51,9 +51,9 @@ diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browse
&kCCTIncognitoAvailableToThirdParty,
&kCCTPostMessageAPI,
&kCCTRedirectPreconnect,
@@ -487,6 +488,9 @@ const base::Feature kChromeSharingHub{"ChromeSharingHub",
@@ -500,6 +501,9 @@ const base::Feature kChromeSharingHubLaunchAdjacent{
const base::Feature kChromeSurveyNextAndroid{"ChromeSurveyNextAndroid",
base::FEATURE_DISABLED_BY_DEFAULT};
base::FEATURE_ENABLED_BY_DEFAULT};
+const base::Feature kChromeSmartSelection{"ChromeSmartSelection",
+ base::FEATURE_DISABLED_BY_DEFAULT};
@ -64,14 +64,14 @@ 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
@@ -49,6 +49,7 @@ extern const base::Feature kDontAutoHideBrowserControls;
@@ -49,6 +49,7 @@ extern const base::Feature kCCTResourcePrefetch;
extern const base::Feature kDontAutoHideBrowserControls;
extern const base::Feature kChromeShareLongScreenshot;
extern const base::Feature kChromeShareScreenshot;
extern const base::Feature kChromeSharingHub;
+extern const base::Feature kChromeSmartSelection;
extern const base::Feature kChromeSharingHub;
extern const base::Feature kChromeSharingHubLaunchAdjacent;
extern const base::Feature kChromeSurveyNextAndroid;
extern const base::Feature kCommandLineOnNonRooted;
extern const base::Feature kConditionalTabStripAndroid;
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
@ -81,8 +81,8 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f
public static final String CCT_REDIRECT_PRECONNECT = "CCTRedirectPreconnect";
+ public static final String CHROME_SMART_SELECTION = "ChromeSmartSelection";
public static final String CCT_REMOVE_REMOTE_VIEW_IDS = "CCTRemoveRemoteViewIds";
public static final String CCT_RESIZABLE_FOR_FIRST_PARTIES = "CCTResizableForFirstParties";
public static final String CCT_RESIZABLE_FOR_THIRD_PARTIES = "CCTResizableForThirdParties";
public static final String CCT_RESIZABLE_90_MAXIMUM_HEIGHT = "CCTResizable90MaximumHeight";
public static final String CCT_RESIZABLE_ALLOW_RESIZE_BY_USER_GESTURE =
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
@ -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
@@ -2026,6 +2026,21 @@
@@ -1975,6 +1975,21 @@
]
}
],

View file

@ -9,7 +9,7 @@ Subject: Disable some signed exchange features
diff --git a/content/public/common/content_features.cc b/content/public/common/content_features.cc
--- a/content/public/common/content_features.cc
+++ b/content/public/common/content_features.cc
@@ -719,7 +719,7 @@ const base::Feature kSignedExchangePrefetchCacheForNavigations{
@@ -701,7 +701,7 @@ const base::Feature kSharedArrayBufferOnDesktop{
// Signed Exchange Reporting for distributors
// https://www.chromestatus.com/features/5687904902840320
const base::Feature kSignedExchangeReportingForDistributors{
@ -18,7 +18,7 @@ diff --git a/content/public/common/content_features.cc b/content/public/common/c
// Subresource prefetching+loading via Signed HTTP Exchange
// https://www.chromestatus.com/features/5126805474246656
@@ -729,7 +729,7 @@ const base::Feature kSignedExchangeSubresourcePrefetch{
@@ -711,7 +711,7 @@ const base::Feature kSignedExchangeSubresourcePrefetch{
// Origin-Signed HTTP Exchanges (for WebPackage Loading)
// https://www.chromestatus.com/features/5745285984681984
const base::Feature kSignedHTTPExchange{"SignedHTTPExchange",

View file

@ -17,7 +17,7 @@ Revert "[Text Fragment] Unflag fragment directive removal."
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
--- a/chrome/browser/about_flags.cc
+++ b/chrome/browser/about_flags.cc
@@ -5612,6 +5612,7 @@ const FeatureEntry kFeatureEntries[] = {
@@ -5538,6 +5538,7 @@ const FeatureEntry kFeatureEntries[] = {
flag_descriptions::kSharingHubDesktopOmniboxDescription, kOsDesktop,
FEATURE_VALUE_TYPE(sharing_hub::kSharingHubDesktopOmnibox)},
#endif // defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX)
@ -28,7 +28,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
@@ -3058,7 +3058,7 @@
@@ -2961,7 +2961,7 @@
{
"name": "ev-details-in-page-info",
"owners": [ "cthomp" ],
@ -63,7 +63,7 @@ diff --git a/content/child/runtime_features.cc b/content/child/runtime_features.
diff --git a/third_party/blink/common/features.cc b/third_party/blink/common/features.cc
--- a/third_party/blink/common/features.cc
+++ b/third_party/blink/common/features.cc
@@ -379,7 +379,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",
@ -75,7 +75,7 @@ diff --git a/third_party/blink/common/features.cc b/third_party/blink/common/fea
diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink/renderer/core/dom/document.cc
--- a/third_party/blink/renderer/core/dom/document.cc
+++ b/third_party/blink/renderer/core/dom/document.cc
@@ -4063,6 +4063,10 @@ void Document::SetURL(const KURL& url) {
@@ -4062,6 +4062,10 @@ void Document::SetURL(const KURL& url) {
}
}
@ -86,7 +86,7 @@ diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink
// Strip the fragment directive from the URL fragment. E.g. "#id:~:text=a"
// --> "#id". See https://github.com/WICG/scroll-to-text-fragment.
String fragment = new_url.FragmentIdentifier();
@@ -4076,6 +4080,7 @@ void Document::SetURL(const KURL& url) {
@@ -4075,6 +4079,7 @@ void Document::SetURL(const KURL& url) {
else
new_url.SetFragmentIdentifier(fragment.Substring(0, start_pos));
}
@ -145,7 +145,7 @@ diff --git a/third_party/blink/renderer/core/page/scrolling/text_fragment_anchor
diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5 b/third_party/blink/renderer/platform/runtime_enabled_features.json5
--- a/third_party/blink/renderer/platform/runtime_enabled_features.json5
+++ b/third_party/blink/renderer/platform/runtime_enabled_features.json5
@@ -2173,8 +2173,7 @@
@@ -2178,8 +2178,7 @@
},
{
name: "TextFragmentIdentifiers",

View file

@ -10,7 +10,7 @@ This causes unnecessary SSDP network spam
diff --git a/chrome/browser/media/router/discovery/dial/dial_registry.cc b/chrome/browser/media/router/discovery/dial/dial_registry.cc
--- a/chrome/browser/media/router/discovery/dial/dial_registry.cc
+++ b/chrome/browser/media/router/discovery/dial/dial_registry.cc
@@ -191,10 +191,6 @@ void DialRegistry::StartPeriodicDiscovery() {
@@ -190,10 +190,6 @@ void DialRegistry::StartPeriodicDiscovery() {
dial_ = CreateDialService();
dial_->AddObserver(this);
@ -21,7 +21,7 @@ diff --git a/chrome/browser/media/router/discovery/dial/dial_registry.cc b/chrom
}
void DialRegistry::DoDiscovery() {
@@ -208,8 +204,6 @@ void DialRegistry::StopPeriodicDiscovery() {
@@ -207,8 +203,6 @@ void DialRegistry::StopPeriodicDiscovery() {
if (!dial_)
return;

View file

@ -2,22 +2,21 @@ From: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Wed, 11 Oct 2017 22:50:10 +0200
Subject: Disable third-party cookies by default
author: Chad Miller <chad.miller@canonical.com>
---
chrome/browser/prefs/browser_prefs.cc | 2 +-
components/content_settings/core/browser/cookie_settings.cc | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
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
@@ -717,7 +717,7 @@ void RegisterProfilePrefsForMigration(
chrome_browser_net::secure_dns::RegisterProbesSettingBackupPref(registry);
- registry->RegisterBooleanPref(kBlockThirdPartyCookies, false);
+ registry->RegisterBooleanPref(kBlockThirdPartyCookies, true);
registry->RegisterTimePref(kPluginsDeprecationInfobarLastShown, base::Time());
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.20.1

View file

@ -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
@@ -31,11 +31,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
@@ -6584,7 +6584,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
@@ -468,10 +468,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;
@@ -504,12 +500,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) {
@@ -555,11 +545,6 @@ blink::mojom::CommonNavigationParamsPtr MakeCommonNavigationParams(
@@ -556,11 +546,6 @@ blink::mojom::CommonNavigationParamsPtr MakeCommonNavigationParams(
info->url_request.GetURLRequestExtraData().get());
DCHECK(url_request_extra_data);
@ -179,7 +179,7 @@ diff --git a/third_party/blink/renderer/core/loader/document_loader.cc b/third_p
return result;
}
@@ -2444,10 +2431,6 @@ void DocumentLoader::CreateParserPostCommit() {
@@ -2432,10 +2419,6 @@ void DocumentLoader::CreateParserPostCommit() {
OriginTrialFeature::kTouchEventFeatureDetection);
}
@ -187,9 +187,9 @@ diff --git a/third_party/blink/renderer/core/loader/document_loader.cc b/third_p
- window->GetOriginTrialContext()->AddForceEnabledTrials(
- force_enabled_origin_trials_);
-
#if BUILDFLAG(IS_CHROMEOS_ASH)
// Enable Auto Picture-in-Picture feature for the built-in Chrome OS Video
// Player app.
OriginTrialContext::ActivateNavigationFeaturesFromInitiator(
window, &initiator_origin_trial_features_);
}
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
@ -219,7 +219,7 @@ diff --git a/third_party/blink/renderer/core/loader/http_equiv.cc b/third_party/
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
@@ -275,17 +275,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) {
@ -239,7 +239,7 @@ diff --git a/third_party/blink/renderer/core/origin_trials/origin_trial_context.
}
void OriginTrialContext::AddTokenInternal(const String& token,
@@ -372,8 +363,6 @@ bool OriginTrialContext::InstallFeature(OriginTrialFeature enabled_feature,
@@ -400,8 +391,6 @@ bool OriginTrialContext::InstallSettingFeature(
}
void OriginTrialContext::AddFeature(OriginTrialFeature feature) {
@ -251,7 +251,7 @@ 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
@@ -2183,10 +2183,6 @@
@@ -2188,10 +2188,6 @@
name: "TextFragmentTapOpensContextMenu",
status: {"Android": "stable"},
},

View file

@ -0,0 +1,23 @@
From: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Sat, 19 Dec 2020 20:04:14 +0100
Subject: Disable unified autoplay feature
---
media/base/media_switches.cc | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
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
@@ -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",
- base::FEATURE_ENABLED_BY_DEFAULT};
+ base::FEATURE_DISABLED_BY_DEFAULT};
#if defined(OS_LINUX)
// Enable vaapi video decoding on linux. This is already enabled by default on
--
2.20.1

View file

@ -9,7 +9,7 @@ Subject: Do not build API keys infobar
diff --git a/chrome/browser/ui/BUILD.gn b/chrome/browser/ui/BUILD.gn
--- a/chrome/browser/ui/BUILD.gn
+++ b/chrome/browser/ui/BUILD.gn
@@ -1194,8 +1194,6 @@ static_library("ui") {
@@ -1227,8 +1227,6 @@ static_library("ui") {
"singleton_tabs.h",
"startup/automation_infobar_delegate.cc",
"startup/automation_infobar_delegate.h",

View file

@ -11,7 +11,7 @@ Subject: Do not compile QR code sharing
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordinator.java b/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordinator.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordinator.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordinator.java
@@ -79,7 +79,6 @@ import org.chromium.chrome.browser.share.ShareButtonController;
@@ -82,7 +82,6 @@ import org.chromium.chrome.browser.share.ShareButtonController;
import org.chromium.chrome.browser.share.ShareDelegate;
import org.chromium.chrome.browser.share.ShareDelegate.ShareOrigin;
import org.chromium.chrome.browser.share.ShareUtils;
@ -19,7 +19,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordi
import org.chromium.chrome.browser.tab.AccessibilityVisibilityHandler;
import org.chromium.chrome.browser.tab.AutofillSessionLifetimeController;
import org.chromium.chrome.browser.tab.Tab;
@@ -402,10 +401,6 @@ public class RootUiCoordinator
@@ -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
@@ -25,7 +25,6 @@ import org.chromium.chrome.browser.profiles.Profile;
@@ -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;
@@ -255,9 +254,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());
}
@@ -410,19 +406,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
@@ -23,24 +23,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",

View file

@ -8,21 +8,22 @@ do not skip the prompt in such cases.
Do not tick "Don't show again" by default
---
.../dialogs/DownloadLocationDialogCoordinator.java | 14 --------------
1 file changed, 14 deletions(-)
.../DownloadLocationDialogCoordinator.java | 15 ---------------
1 file changed, 15 deletions(-)
diff --git a/chrome/browser/download/android/java/src/org/chromium/chrome/browser/download/dialogs/DownloadLocationDialogCoordinator.java b/chrome/browser/download/android/java/src/org/chromium/chrome/browser/download/dialogs/DownloadLocationDialogCoordinator.java
--- a/chrome/browser/download/android/java/src/org/chromium/chrome/browser/download/dialogs/DownloadLocationDialogCoordinator.java
+++ b/chrome/browser/download/android/java/src/org/chromium/chrome/browser/download/dialogs/DownloadLocationDialogCoordinator.java
@@ -128,20 +128,6 @@ public class DownloadLocationDialogCoordinator implements ModalDialogProperties.
@@ -132,21 +132,6 @@ public class DownloadLocationDialogCoordinator implements ModalDialogProperties.
* @param dirs An list of available download directories.
*/
private void onDirectoryOptionsRetrieved(ArrayList<DirectoryOption> dirs) {
- // If there is only one directory available, don't show the default dialog, and set the
- // download directory to default. Dialog will still show for other types of dialogs, like
- // name conflict or disk error.
- // name conflict or disk error or if Incognito download warning is needed.
- if (dirs.size() == 1 && !mLocationDialogManaged
- && mDialogType == DownloadLocationDialogType.DEFAULT) {
- && mDialogType == DownloadLocationDialogType.DEFAULT
- && !shouldShowIncognitoWarning()) {
- final DirectoryOption dir = dirs.get(0);
- if (dir.type == DirectoryOption.DownloadLocationDirectoryType.DEFAULT) {
- assert (!TextUtils.isEmpty(dir.location));

View file

@ -10,10 +10,10 @@ 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
@@ -889,11 +889,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 {
"site-per-process",
"SitePerProcess",
-#if defined(OS_ANDROID)
- base::FEATURE_DISABLED_BY_DEFAULT
-#else
@ -25,15 +25,15 @@ diff --git a/chrome/common/chrome_features.cc b/chrome/common/chrome_features.cc
diff --git a/components/site_isolation/features.cc b/components/site_isolation/features.cc
--- a/components/site_isolation/features.cc
+++ b/components/site_isolation/features.cc
@@ -57,7 +57,7 @@ const base::Feature kSiteIsolationForOAuthSites{
// base::SysInfo::AmountOfPhysicalMemoryMB().
const base::Feature kSitePerProcessOnlyForHighMemoryClients{
"site-per-process-only-for-high-memory-clients",
- base::FEATURE_DISABLED_BY_DEFAULT};
+ base::FEATURE_ENABLED_BY_DEFAULT};
const char kSitePerProcessOnlyForHighMemoryClientsParamName[] =
"site-per-process-low-memory-cutoff-mb";
@@ -60,7 +60,7 @@ const base::Feature kSiteIsolationForOAuthSites{
// kSitePerProcess won't be checked at all, and field trials won't activate
// either the control or the experiment group.
const base::Feature kSiteIsolationMemoryThresholds{
- "SiteIsolationMemoryThresholds", base::FEATURE_DISABLED_BY_DEFAULT};
+ "SiteIsolationMemoryThresholds", base::FEATURE_ENABLED_BY_DEFAULT};
const char kStrictSiteIsolationMemoryThresholdParamName[] =
"strict_site_isolation_threshold_mb";
const char kPartialSiteIsolationMemoryThresholdParamName[] =
--
2.20.1

View file

@ -11,7 +11,7 @@ Unexpire #darken-websites-checkbox-in-themes-setting
diff --git a/chrome/browser/flag-metadata.json b/chrome/browser/flag-metadata.json
--- a/chrome/browser/flag-metadata.json
+++ b/chrome/browser/flag-metadata.json
@@ -941,7 +941,7 @@
@@ -965,7 +965,7 @@
{
"name": "darken-websites-checkbox-in-themes-setting",
"owners": [ "lazzzis@google.com", "twellington" ],
@ -23,7 +23,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
@@ -561,7 +561,7 @@ const base::Feature kContextualSearchTranslations{
@@ -571,7 +571,7 @@ const base::Feature kContextualSearchTranslations{
"ContextualSearchTranslations", base::FEATURE_DISABLED_BY_DEFAULT};
const base::Feature kDarkenWebsitesCheckboxInThemesSetting{

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,29 +6,50 @@ 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 the WebView code to activate native Android autofill.
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.
See also: https://github.com/bromite/bromite/issues/547
---
android_webview/browser/aw_contents.cc | 1 +
chrome/android/BUILD.gn | 1 +
.../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 +++++++++
.../settings/PasswordSettings.java | 82 ++++++++++++++++++-
.../chromium/chrome/browser/tab/TabImpl.java | 51 ++++++++++++
.../browser/tab/TabViewAndroidDelegate.java | 14 ++++
chrome/browser/BUILD.gn | 8 ++
chrome/browser/android/tab_android.cc | 27 ++++++
chrome/browser/android/tab_android.h | 2 +
.../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(-)
.../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 | 48 +++++++++++
.../chromium/ui/base/ViewAndroidDelegate.java | 8 ++
weblayer/browser/tab_impl.cc | 3 +-
21 files changed, 332 insertions(+), 15 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
@@ -335,6 +335,7 @@ void AwContents::InitAutofillIfNecessary(bool autocomplete_enabled) {
is_download_manager_disabled_for_testing())
? autofill::AutofillManager::ENABLE_AUTOFILL_DOWNLOAD_MANAGER
: autofill::AutofillManager::DISABLE_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
@@ -414,6 +414,7 @@ android_library("chrome_java") {
@@ -419,6 +419,7 @@ android_library("chrome_java") {
"//chrome/browser/xsurface:java",
"//components/autofill/android:autofill_java",
"//components/autofill_assistant/browser:proto_java",
@ -59,26 +80,29 @@ 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";
@@ -75,6 +81,10 @@ public class PasswordSettings extends PreferenceFragmentCompat
@@ -75,6 +81,12 @@ 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_KEY_SECURITY_KEY_LINK = "security_key_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
@@ -110,6 +120,7 @@ public class PasswordSettings extends PreferenceFragmentCompat
// part of a search result.
@@ -108,6 +120,8 @@ public class PasswordSettings extends PreferenceFragmentCompat
private String mSearchQuery;
private Preference mLinkPref;
private Preference mSecurityKey;
private ChromeSwitchPreference mSavePasswordsSwitch;
+ private ChromeSwitchPreference mEnableAndroidAutofillSwitch;
+ private ChromeSwitchPreference mEnableAndroidAutofillIncognitoSwitch;
private ChromeSwitchPreference mAutoSignInSwitch;
private ChromeBasePreference mCheckPasswords;
private ChromeBasePreference mTrustedVaultOptIn;
@@ -274,6 +285,7 @@ public class PasswordSettings extends PreferenceFragmentCompat
@@ -272,6 +286,7 @@ public class PasswordSettings extends PreferenceFragmentCompat
getPreferenceScreen().removeAll();
if (mSearchQuery == null) {
createSavePasswordsSwitch();
@ -86,7 +110,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/password_manage
createAutoSignInCheckbox();
if (mPasswordCheck != null) {
createCheckPasswords();
@@ -517,6 +529,50 @@ public class PasswordSettings extends PreferenceFragmentCompat
@@ -511,6 +526,71 @@ public class PasswordSettings extends PreferenceFragmentCompat
getPrefService().getBoolean(Pref.CREDENTIALS_ENABLE_SERVICE));
}
@ -128,6 +152,27 @@ 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) {
@ -140,7 +185,7 @@ 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
@@ -74,6 +74,18 @@ import org.chromium.url.GURL;
@@ -75,6 +75,18 @@ import org.chromium.url.GURL;
import java.nio.ByteBuffer;
@ -159,7 +204,7 @@ 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.
@@ -217,6 +229,8 @@ public class TabImpl implements Tab, TabObscuringHandler.Observer {
@@ -218,6 +230,8 @@ public class TabImpl implements Tab, TabObscuringHandler.Observer {
/** Whether or not the user manually changed the user agent. */
private boolean mUserForcedUserAgent;
@ -168,7 +213,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.jav
/**
* Creates an instance of a {@link TabImpl}.
*
@@ -767,6 +781,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();
@ -180,7 +225,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.jav
mUserDataHost.destroy();
mTabViewManager.destroy();
hideNativePage(false, null);
@@ -1358,6 +1377,16 @@ public class TabImpl implements Tab, TabObscuringHandler.Observer {
@@ -1359,6 +1378,16 @@ public class TabImpl implements Tab, TabObscuringHandler.Observer {
return tabsPtrArray;
}
@ -197,27 +242,35 @@ 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.
@@ -1407,6 +1436,19 @@ public class TabImpl implements Tab, TabObscuringHandler.Observer {
@@ -1408,6 +1437,27 @@ public class TabImpl implements Tab, TabObscuringHandler.Observer {
mDelegateFactory.createContextMenuPopulatorFactory(this), this));
mWebContents.notifyRendererPreferenceUpdate();
+ 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 (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);
+ }
+
+ mAutofillProvider = new AutofillProvider(getContext(), cv, webContents, "bromite");
+ TabImplJni.get().initializeAutofillIfNecessary(mNativeTabAndroid);
+ mAutofillProvider.setWebContents(webContents);
+ cv.setWebContents(webContents);
+ selectionController.setNonSelectionActionModeCallback(
+ new AutofillActionModeCallback(mThemedApplicationContext, mAutofillProvider));
+ 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));
+ }
+ }
TabHelpers.initWebContentsHelpers(this);
notifyContentChanged();
} finally {
@@ -1769,5 +1811,6 @@ public class TabImpl implements Tab, TabObscuringHandler.Observer {
@@ -1771,5 +1821,6 @@ public class TabImpl implements Tab, TabObscuringHandler.Observer {
void setActiveNavigationEntryTitleForUrl(long nativeTabAndroid, String url, String title);
void loadOriginalImage(long nativeTabAndroid);
boolean handleNonNavigationAboutURL(GURL url);
@ -256,7 +309,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
@@ -2376,6 +2376,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",
]
@ -288,7 +341,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;
@@ -437,3 +444,22 @@ static void JNI_TabImpl_Init(JNIEnv* env, const JavaParamRef<jobject>& obj) {
@@ -437,3 +444,23 @@ 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);
}
@ -308,13 +361,14 @@ 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
@@ -150,6 +150,8 @@ class TabAndroid : public base::SupportsUserData {
@@ -154,6 +154,8 @@ class TabAndroid : public base::SupportsUserData {
void SetDevToolsAgentHost(scoped_refptr<content::DevToolsAgentHost> host);
@ -323,15 +377,31 @@ 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
@@ -176,7 +176,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
@@ -555,6 +555,9 @@ CHAR_LIMIT guidelines:
@@ -576,6 +576,12 @@ 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
@ -339,7 +409,7 @@ 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
@@ -126,6 +126,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"
@ -349,46 +419,328 @@ diff --git a/chrome/browser/ui/tab_helpers.cc b/chrome/browser/ui/tab_helpers.cc
#else
#include "chrome/browser/accuracy_tips/accuracy_service_factory.h"
#include "chrome/browser/banners/app_banner_manager_desktop.h"
@@ -245,7 +248,8 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) {
@@ -265,7 +268,9 @@ 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));
chrome_browser_net::NetErrorTabHelper::CreateForWebContents(web_contents);
ChromePasswordManagerClient::CreateForWebContentsWithAutofillClient(
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();
@@ -338,6 +341,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(
@@ -360,6 +365,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(
@@ -368,6 +375,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(
@@ -375,6 +384,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(
@@ -382,6 +393,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(
@@ -392,15 +405,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(
@@ -408,25 +428,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(
@@ -640,13 +670,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
@@ -137,6 +137,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;
@@ -359,7 +360,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:
@@ -430,6 +432,10 @@ class ContentAutofillDriver : public AutofillDriver,
// pointer to a common root.
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
@@ -44,6 +44,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 = {});
@@ -83,6 +84,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);
@@ -96,6 +98,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
@@ -728,7 +728,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(
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,9 @@ const char kAutofillWalletImportStorageCheckboxState[] =
@@ -128,6 +128,10 @@ 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 +163,8 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry) {
@@ -160,6 +164,10 @@ 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,7 @@ extern const char kAutofillUploadEventsLastResetTimestamp[];
@@ -47,6 +47,8 @@ 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 {
@ -485,6 +837,19 @@ 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
@@ -1403,7 +1403,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.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
@@ -408,7 +408,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",

View file

@ -27,7 +27,7 @@ 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
@@ -719,6 +719,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",
@ -38,7 +38,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
@@ -1052,6 +1052,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",
@ -173,7 +173,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/init/ProcessIni
import org.chromium.chrome.browser.tab.state.ShoppingPersistedTabData;
import org.chromium.chrome.browser.ui.searchactivityutils.SearchActivityPreferencesManager;
import org.chromium.chrome.browser.util.AfterStartupTaskUtils;
@@ -397,6 +398,8 @@ public class ProcessInitializationHandler {
@@ -409,6 +410,8 @@ public class ProcessInitializationHandler {
deferredStartupHandler.addDeferredTask(
() -> IncognitoTabLauncher.updateComponentEnabledState());
@ -304,7 +304,7 @@ 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
@@ -5637,6 +5637,10 @@ const FeatureEntry kFeatureEntries[] = {
@@ -5563,6 +5563,10 @@ const FeatureEntry kFeatureEntries[] = {
FEATURE_VALUE_TYPE(sharing_hub::kDesktopScreenshots)},
#endif
@ -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
@@ -2319,6 +2319,11 @@ const char kSharingDesktopScreenshotsDescription[] =
@@ -2335,6 +2335,11 @@ const char kSharingDesktopScreenshotsDescription[] =
"Enables taking"
" screenshots from the desktop sharing hub.";
@ -333,7 +333,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
@@ -1336,6 +1336,9 @@ extern const char kSharedClipboardUIDescription[];
@@ -1340,6 +1340,9 @@ extern const char kSharedClipboardUIDescription[];
extern const char kSharingDesktopScreenshotsName[];
extern const char kSharingDesktopScreenshotsDescription[];
@ -346,7 +346,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
@@ -258,6 +258,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
@@ -270,6 +270,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
&kServiceManagerForDownload,
&kShareButtonInTopToolbar,
&kSharedClipboardUI,
@ -354,7 +354,7 @@ diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browse
&kSharingHubLinkToggle,
&kSingleTouchSelect,
&kSpannableInlineAutocomplete,
@@ -644,6 +645,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
@@ -123,6 +123,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
@@ -481,6 +481,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
@@ -4518,6 +4518,19 @@ To change this setting, <ph name="BEGIN_LINK">&lt;resetlink&gt;</ph>reset sync<p
@@ -4572,6 +4572,19 @@ To change this setting, <ph name="BEGIN_LINK">&lt;resetlink&gt;</ph>reset sync<p
Send text to Your Devices
</message>

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
@@ -81,7 +81,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",

View file

@ -63,7 +63,7 @@ See also: components/user_scripts/README.md
.../user_scripts/android/java_sources.gni | 18 +
.../android/user_scripts_bridge.cc | 173 ++++
.../android/user_scripts_bridge.h | 31 +
components/user_scripts/browser/BUILD.gn | 83 ++
components/user_scripts/browser/BUILD.gn | 82 ++
.../user_scripts/browser/file_task_runner.cc | 40 +
.../user_scripts/browser/file_task_runner.h | 34 +
.../browser/resources/browser_resources.grd | 14 +
@ -133,7 +133,7 @@ See also: components/user_scripts/README.md
.../renderer/web_ui_injection_host.h | 28 +
.../strings/userscripts_strings.grdp | 55 ++
tools/gritsettings/resource_ids.spec | 6 +
111 files changed, 9580 insertions(+), 2 deletions(-)
111 files changed, 9579 insertions(+), 2 deletions(-)
create mode 100644 components/user_scripts/README.md
create mode 100755 components/user_scripts/android/BUILD.gn
create mode 100644 components/user_scripts/android/java/res/layout/accept_script_item.xml
@ -236,7 +236,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
}
if (enable_vr) {
@@ -517,6 +521,7 @@ android_library("chrome_java") {
@@ -524,6 +528,7 @@ android_library("chrome_java") {
"//components/ukm/android:java",
"//components/url_formatter/android:url_formatter_java",
"//components/user_prefs/android:java",
@ -285,7 +285,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/download/Downlo
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/init/ProcessInitializationHandler.java b/chrome/android/java/src/org/chromium/chrome/browser/init/ProcessInitializationHandler.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/init/ProcessInitializationHandler.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/init/ProcessInitializationHandler.java
@@ -111,6 +111,8 @@ import java.util.Date;
@@ -112,6 +112,8 @@ import java.util.Date;
import java.util.List;
import java.util.Locale;
@ -294,7 +294,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/init/ProcessIni
/**
* Handles the initialization dependences of the browser process. This is meant to handle the
* initialization that is not tied to any particular Activity, and the logic that should only be
@@ -285,6 +287,7 @@ public class ProcessInitializationHandler {
@@ -297,6 +299,7 @@ public class ProcessInitializationHandler {
DefaultBrowserInfo.initBrowserFetcher();
@ -305,7 +305,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/init/ProcessIni
diff --git a/chrome/android/java_sources.gni b/chrome/android/java_sources.gni
--- a/chrome/android/java_sources.gni
+++ b/chrome/android/java_sources.gni
@@ -23,6 +23,7 @@ import("//components/feed/features.gni")
@@ -22,6 +22,7 @@ import("//components/feed/features.gni")
import("//components/offline_pages/buildflags/features.gni")
import("//components/omnibox/browser/test_java_sources.gni")
import("//device/vr/buildflags/buildflags.gni")
@ -313,7 +313,7 @@ diff --git a/chrome/android/java_sources.gni b/chrome/android/java_sources.gni
chrome_java_sources += public_autofill_assistant_java_sources
@@ -60,3 +61,5 @@ if (enable_arcore) {
@@ -59,3 +60,5 @@ if (enable_arcore) {
"java/src/org/chromium/chrome/browser/vr/ArDelegateImpl.java",
]
}
@ -322,7 +322,7 @@ diff --git a/chrome/android/java_sources.gni b/chrome/android/java_sources.gni
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
--- a/chrome/browser/BUILD.gn
+++ b/chrome/browser/BUILD.gn
@@ -3454,6 +3454,11 @@ static_library("browser") {
@@ -3491,6 +3491,11 @@ static_library("browser") {
]
deps += [ "//chrome/android/modules/dev_ui/provider:native" ]
}
@ -337,7 +337,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
@@ -147,6 +147,7 @@
@@ -151,6 +151,7 @@
#include "components/translate/core/browser/translate_ranker_impl.h"
#include "components/translate/core/common/translate_util.h"
#include "components/ui_devtools/switches.h"
@ -345,7 +345,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
#include "components/version_info/version_info.h"
#include "components/viz/common/features.h"
#include "components/viz/common/switches.h"
@@ -6591,6 +6592,10 @@ const FeatureEntry kFeatureEntries[] = {
@@ -6528,6 +6529,10 @@ const FeatureEntry kFeatureEntries[] = {
FEATURE_VALUE_TYPE(features::kUserDataSnapshot)},
#endif
@ -359,7 +359,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
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
@@ -4480,7 +4480,8 @@ ChromeContentBrowserClient::CreateURLLoaderThrottles(
@@ -4659,7 +4659,8 @@ ChromeContentBrowserClient::CreateURLLoaderThrottles(
chrome::mojom::DynamicParams dynamic_params = {
profile->GetPrefs()->GetBoolean(prefs::kForceGoogleSafeSearch),
profile->GetPrefs()->GetInteger(prefs::kForceYouTubeRestrict),
@ -372,7 +372,7 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch
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
@@ -5358,6 +5358,11 @@ const char kUserDataSnapshotDescription[] =
@@ -5393,6 +5393,11 @@ const char kUserDataSnapshotDescription[] =
"update and restoring them after a version rollback.";
#endif // !defined(OS_ANDROID) && !BUILDFLAG(IS_CHROMEOS_ASH)
@ -381,26 +381,26 @@ diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descripti
+ "Enables logging for troubleshooting feature. "
+ "Enabling logs may make browsing slower.";
+
#if defined(OS_WIN) || BUILDFLAG(IS_CHROMEOS_ASH) || defined(OS_MAC)
#if defined(OS_WIN) || defined(OS_CHROMEOS) || defined(OS_MAC)
const char kWebShareName[] = "Web Share";
const char kWebShareDescription[] =
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
@@ -3125,6 +3125,9 @@ extern const char kUserDataSnapshotName[];
@@ -3132,6 +3132,9 @@ extern const char kUserDataSnapshotName[];
extern const char kUserDataSnapshotDescription[];
#endif // !defined(OS_ANDROID) && !BUILDFLAG(IS_CHROMEOS_ASH)
+extern const char kEnableLoggingUserScriptsName[];
+extern const char kEnableLoggingUserScriptsDescription[];
+
#if defined(OS_WIN) || BUILDFLAG(IS_CHROMEOS_ASH) || defined(OS_MAC)
#if defined(OS_WIN) || defined(OS_CHROMEOS) || defined(OS_MAC)
extern const char kWebShareName[];
extern const char kWebShareDescription[];
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
@@ -233,6 +233,7 @@
@@ -237,6 +237,7 @@
#include "components/ntp_tiles/popular_sites_impl.h"
#include "components/permissions/contexts/geolocation_permission_context_android.h"
#include "components/query_tiles/tile_service_prefs.h"
@ -408,7 +408,7 @@ diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browse
#else // defined(OS_ANDROID)
#include "chrome/browser/cart/cart_service.h"
#include "chrome/browser/device_api/device_service_impl.h"
@@ -1177,6 +1178,7 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry,
@@ -1197,6 +1198,7 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry,
translate::TranslatePrefs::RegisterProfilePrefs(registry);
omnibox::RegisterProfilePrefs(registry);
ZeroSuggestProvider::RegisterProfilePrefs(registry);
@ -430,8 +430,8 @@ diff --git a/chrome/browser/profiles/BUILD.gn b/chrome/browser/profiles/BUILD.gn
diff --git a/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc b/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc
--- a/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc
+++ b/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc
@@ -214,6 +214,8 @@
#include "chrome/browser/ui/cocoa/screentime/screentime_features.h"
@@ -216,6 +216,8 @@
#include "chrome/browser/lacros/cert_db_initializer_factory.h"
#endif
+#include "components/user_scripts/browser/userscripts_browser_client.h"
@ -439,7 +439,7 @@ diff --git a/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc
namespace chrome {
void AddProfilesExtraParts(ChromeBrowserMainParts* main_parts) {
@@ -506,6 +508,7 @@ void ChromeBrowserMainExtraPartsProfiles::
@@ -516,6 +518,7 @@ void ChromeBrowserMainExtraPartsProfiles::
#endif
WebDataServiceFactory::GetInstance();
webrtc_event_logging::WebRtcEventLogManagerKeyedServiceFactory::GetInstance();
@ -450,7 +450,7 @@ diff --git a/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc
diff --git a/chrome/browser/profiles/profile_manager.cc b/chrome/browser/profiles/profile_manager.cc
--- a/chrome/browser/profiles/profile_manager.cc
+++ b/chrome/browser/profiles/profile_manager.cc
@@ -114,6 +114,8 @@
@@ -117,6 +117,8 @@
#include "extensions/common/manifest.h"
#endif
@ -459,7 +459,7 @@ diff --git a/chrome/browser/profiles/profile_manager.cc b/chrome/browser/profile
#if BUILDFLAG(ENABLE_SESSION_SERVICE)
#include "chrome/browser/sessions/session_service_factory.h"
#endif
@@ -1522,6 +1524,13 @@ void ProfileManager::DoFinalInitForServices(Profile* profile,
@@ -1539,6 +1541,13 @@ void ProfileManager::DoFinalInitForServices(Profile* profile,
}
#endif
@ -485,7 +485,7 @@ diff --git a/chrome/browser/profiles/renderer_updater.cc b/chrome/browser/profil
namespace {
#if BUILDFLAG(ENABLE_EXTENSIONS)
@@ -75,6 +77,7 @@ RendererUpdater::RendererUpdater(Profile* profile) : profile_(profile) {
@@ -79,6 +81,7 @@ RendererUpdater::RendererUpdater(Profile* profile) : profile_(profile) {
force_google_safesearch_.Init(prefs::kForceGoogleSafeSearch, pref_service);
force_youtube_restrict_.Init(prefs::kForceYouTubeRestrict, pref_service);
allowed_domains_for_apps_.Init(prefs::kAllowedDomainsForApps, pref_service);
@ -493,7 +493,7 @@ diff --git a/chrome/browser/profiles/renderer_updater.cc b/chrome/browser/profil
pref_change_registrar_.Init(pref_service);
pref_change_registrar_.Add(
@@ -89,6 +92,10 @@ RendererUpdater::RendererUpdater(Profile* profile) : profile_(profile) {
@@ -93,6 +96,10 @@ RendererUpdater::RendererUpdater(Profile* profile) : profile_(profile) {
prefs::kAllowedDomainsForApps,
base::BindRepeating(&RendererUpdater::UpdateAllRenderers,
base::Unretained(this)));
@ -504,7 +504,7 @@ diff --git a/chrome/browser/profiles/renderer_updater.cc b/chrome/browser/profil
}
RendererUpdater::~RendererUpdater() {
@@ -237,5 +244,6 @@ void RendererUpdater::UpdateRenderer(
@@ -241,5 +248,6 @@ void RendererUpdater::UpdateRenderer(
->SetConfiguration(chrome::mojom::DynamicParams::New(
force_google_safesearch_.GetValue(),
force_youtube_restrict_.GetValue(),
@ -526,7 +526,7 @@ diff --git a/chrome/browser/profiles/renderer_updater.h b/chrome/browser/profile
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
@@ -84,6 +84,7 @@
@@ -85,6 +85,7 @@
#include "components/security_interstitials/content/urls.h"
#include "components/signin/public/base/signin_buildflags.h"
#include "components/site_engagement/content/site_engagement_service.h"
@ -534,7 +534,7 @@ diff --git a/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc b/chrom
#include "content/public/browser/web_contents.h"
#include "content/public/browser/web_ui.h"
#include "content/public/common/content_client.h"
@@ -669,6 +670,8 @@ WebUIFactoryFunction GetWebUIFactoryFunction(WebUI* web_ui,
@@ -678,6 +679,8 @@ WebUIFactoryFunction GetWebUIFactoryFunction(WebUI* web_ui,
return &NewWebUI<UserActionsUI>;
if (url.host_piece() == chrome::kChromeUIVersionHost)
return &NewWebUI<VersionUI>;
@ -587,7 +587,7 @@ diff --git a/chrome/renderer/BUILD.gn b/chrome/renderer/BUILD.gn
diff --git a/chrome/renderer/chrome_content_renderer_client.cc b/chrome/renderer/chrome_content_renderer_client.cc
--- a/chrome/renderer/chrome_content_renderer_client.cc
+++ b/chrome/renderer/chrome_content_renderer_client.cc
@@ -251,6 +251,9 @@
@@ -254,6 +254,9 @@
#include "chrome/renderer/supervised_user/supervised_user_error_page_controller_delegate_impl.h"
#endif
@ -597,7 +597,7 @@ diff --git a/chrome/renderer/chrome_content_renderer_client.cc b/chrome/renderer
using autofill::AutofillAgent;
using autofill::AutofillAssistantAgent;
using autofill::PasswordAutofillAgent;
@@ -416,6 +419,12 @@ void ChromeContentRendererClient::RenderThreadStarted() {
@@ -419,6 +422,12 @@ void ChromeContentRendererClient::RenderThreadStarted() {
WebString::FromASCII(extensions::kExtensionScheme));
#endif
@ -610,7 +610,7 @@ diff --git a/chrome/renderer/chrome_content_renderer_client.cc b/chrome/renderer
#if BUILDFLAG(ENABLE_SPELLCHECK)
if (!spellcheck_)
InitSpellCheck();
@@ -552,6 +561,13 @@ void ChromeContentRendererClient::RenderFrameCreated(
@@ -555,6 +564,13 @@ void ChromeContentRendererClient::RenderFrameCreated(
render_frame, registry);
#endif
@ -624,7 +624,7 @@ diff --git a/chrome/renderer/chrome_content_renderer_client.cc b/chrome/renderer
#if BUILDFLAG(ENABLE_PLUGINS)
new PepperHelper(render_frame);
#endif
@@ -1549,7 +1565,14 @@ void ChromeContentRendererClient::RunScriptsAtDocumentStart(
@@ -1546,7 +1562,14 @@ void ChromeContentRendererClient::RunScriptsAtDocumentStart(
ChromeExtensionsRendererClient::GetInstance()->RunScriptsAtDocumentStart(
render_frame);
// |render_frame| might be dead by now.
@ -639,7 +639,7 @@ diff --git a/chrome/renderer/chrome_content_renderer_client.cc b/chrome/renderer
}
void ChromeContentRendererClient::RunScriptsAtDocumentEnd(
@@ -1558,7 +1581,14 @@ void ChromeContentRendererClient::RunScriptsAtDocumentEnd(
@@ -1555,7 +1578,14 @@ void ChromeContentRendererClient::RunScriptsAtDocumentEnd(
ChromeExtensionsRendererClient::GetInstance()->RunScriptsAtDocumentEnd(
render_frame);
// |render_frame| might be dead by now.
@ -654,7 +654,7 @@ diff --git a/chrome/renderer/chrome_content_renderer_client.cc b/chrome/renderer
}
void ChromeContentRendererClient::RunScriptsAtDocumentIdle(
@@ -1567,7 +1597,14 @@ void ChromeContentRendererClient::RunScriptsAtDocumentIdle(
@@ -1564,7 +1594,14 @@ void ChromeContentRendererClient::RunScriptsAtDocumentIdle(
ChromeExtensionsRendererClient::GetInstance()->RunScriptsAtDocumentIdle(
render_frame);
// |render_frame| might be dead by now.
@ -681,7 +681,7 @@ diff --git a/chrome/renderer/chrome_render_thread_observer.cc b/chrome/renderer/
#if BUILDFLAG(ENABLE_EXTENSIONS)
#include "chrome/renderer/extensions/extension_localization_peer.h"
#endif
@@ -255,6 +257,7 @@ void ChromeRenderThreadObserver::SetInitialConfiguration(
@@ -256,6 +258,7 @@ void ChromeRenderThreadObserver::SetInitialConfiguration(
void ChromeRenderThreadObserver::SetConfiguration(
chrome::mojom::DynamicParamsPtr params) {
*GetDynamicConfigParams() = std::move(*params);
@ -2391,7 +2391,7 @@ diff --git a/components/user_scripts/browser/BUILD.gn b/components/user_scripts/
new file mode 100755
--- /dev/null
+++ b/components/user_scripts/browser/BUILD.gn
@@ -0,0 +1,83 @@
@@ -0,0 +1,82 @@
+# This file is part of Bromite.
+
+# Bromite is free software: you can redistribute it and/or modify
@ -2448,7 +2448,6 @@ new file mode 100755
+ "//services/preferences/public/cpp",
+ "//services/service_manager/public/cpp",
+ "//third_party/blink/public/common",
+ "//third_party/blink/public/mojom/frame",
+ "//ui/display",
+ ]
+
@ -8348,8 +8347,8 @@ new file mode 100755
+ ? blink::WebLocalFrame::kAsynchronousBlockingOnload
+ : blink::WebLocalFrame::kSynchronous;
+
+ render_frame_->GetWebFrame()->RequestExecuteScriptInIsolatedWorld(
+ world_id, &sources.front(), sources.size(), is_user_gesture,
+ render_frame_->GetWebFrame()->RequestExecuteScript(
+ world_id, sources, is_user_gesture,
+ execution_option, callback.release(),
+ blink::BackForwardCacheAware::kPossiblyDisallow);
+}
@ -10622,9 +10621,9 @@ new file mode 100755
diff --git a/tools/gritsettings/resource_ids.spec b/tools/gritsettings/resource_ids.spec
--- a/tools/gritsettings/resource_ids.spec
+++ b/tools/gritsettings/resource_ids.spec
@@ -567,6 +567,12 @@
@@ -585,6 +585,12 @@
"components/autofill/core/browser/autofill_address_rewriter_resources.grd":{
"includes": [2880]
"includes": [3720]
},
+ "components/user_scripts/renderer/resources/user_scripts_renderer_resources.grd": {
+ "includes": [6000],

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
@@ -326,7 +326,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) {
@@ -406,7 +406,7 @@ public class PasswordSettings extends PreferenceFragmentCompat
@@ -399,7 +399,7 @@ public class PasswordSettings extends PreferenceFragmentCompat
return;
}

View file

@ -11,16 +11,16 @@ Patch from https://github.com/Eloston/ungoogled-chromium/issues/814#issuecomment
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
@@ -67,7 +67,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 = 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)
constexpr size_t kDefaultMaxAutocompleteMatches = 6;
#else // !defined(OS_ANDROID) && !defined(OS_IOS)
diff --git a/components/omnibox/browser/omnibox_field_trial.cc b/components/omnibox/browser/omnibox_field_trial.cc
--- a/components/omnibox/browser/omnibox_field_trial.cc
+++ b/components/omnibox/browser/omnibox_field_trial.cc

View file

@ -33,7 +33,7 @@ diff --git a/third_party/blink/renderer/core/dom/build.gni b/third_party/blink/r
diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink/renderer/core/dom/document.cc
--- a/third_party/blink/renderer/core/dom/document.cc
+++ b/third_party/blink/renderer/core/dom/document.cc
@@ -275,6 +275,7 @@
@@ -274,6 +274,7 @@
#include "third_party/blink/renderer/core/page/scrolling/root_scroller_controller.h"
#include "third_party/blink/renderer/core/page/scrolling/scroll_state_callback.h"
#include "third_party/blink/renderer/core/page/scrolling/scrolling_coordinator.h"
@ -41,7 +41,7 @@ diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink
#include "third_party/blink/renderer/core/page/scrolling/snap_coordinator.h"
#include "third_party/blink/renderer/core/page/scrolling/text_fragment_anchor.h"
#include "third_party/blink/renderer/core/page/scrolling/text_fragment_handler.h"
@@ -343,6 +344,8 @@
@@ -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"
@ -49,8 +49,8 @@ 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();
@@ -6532,6 +6535,61 @@ void Document::setAllowDeclarativeShadowRoots(bool val) {
static WeakDocumentSet& LiveDocumentSet();
@@ -6521,6 +6524,61 @@ void Document::setAllowDeclarativeShadowRoots(bool val) {
val ? AllowState::kAllow : AllowState::kDeny;
}
@ -112,9 +112,9 @@ diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink
void Document::FinishedParsing() {
DCHECK(!GetScriptableDocumentParser() || !parser_->IsParsing());
DCHECK(!GetScriptableDocumentParser() || ready_state_ != kLoading);
@@ -6587,6 +6645,10 @@ void Document::FinishedParsing() {
if (frame->GetFrameScheduler())
frame->GetFrameScheduler()->OnDomContentLoaded();
@@ -6579,6 +6637,10 @@ void Document::FinishedParsing() {
if (frame->IsMainFrame() && ShouldMarkFontPerformance())
FontPerformance::MarkDomContentLoaded();
+ if (!IsPrefetchOnly()) {
+ injectScripts();
@ -126,7 +126,7 @@ diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink
diff --git a/third_party/blink/renderer/core/dom/document.h b/third_party/blink/renderer/core/dom/document.h
--- a/third_party/blink/renderer/core/dom/document.h
+++ b/third_party/blink/renderer/core/dom/document.h
@@ -1772,6 +1772,9 @@ class CORE_EXPORT Document : public ContainerNode,
@@ -1776,6 +1776,9 @@ class CORE_EXPORT Document : public ContainerNode,
void AddAXContext(AXContext*);
void RemoveAXContext(AXContext*);

View file

@ -3,17 +3,17 @@ Date: Fri, 18 Jun 2021 03:34:20 +0000
Subject: JIT-less toggle
---
chrome/android/java/res/xml/privacy_preferences.xml | 5 +++++
.../browser/privacy/settings/PrivacySettings.java | 12 ++++++++++++
.../ui/android/strings/android_chrome_strings.grd | 7 +++++++
.../browser/BrowserStartupControllerImpl.java | 1 +
.../chromium/content/browser/DeviceUtilsImpl.java | 8 ++++++++
5 files changed, 33 insertions(+)
chrome/android/java/res/xml/privacy_preferences.xml | 5 +++++
.../browser/privacy/settings/PrivacySettings.java | 11 +++++++++++
.../ui/android/strings/android_chrome_strings.grd | 7 +++++++
.../content/browser/BrowserStartupControllerImpl.java | 1 +
.../org/chromium/content/browser/DeviceUtilsImpl.java | 8 ++++++++
5 files changed, 32 insertions(+)
diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/android/java/res/xml/privacy_preferences.xml
--- a/chrome/android/java/res/xml/privacy_preferences.xml
+++ b/chrome/android/java/res/xml/privacy_preferences.xml
@@ -32,6 +32,11 @@
@@ -37,6 +37,11 @@
android:title="@string/preload_pages_title"
android:summary="@string/preload_pages_summary"
android:persistent="false"/>
@ -36,7 +36,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
import android.os.Build;
import android.content.SharedPreferences;
import android.os.Bundle;
@@ -79,6 +80,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,7 +44,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
private ChromeSwitchPreference mSearchSuggestions;
private @Nullable ChromeSwitchPreference mAutofillAssistant;
private @Nullable Preference mContextualSearch;
@@ -200,6 +202,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)) {
prefService.setBoolean(Pref.SEARCH_SUGGEST_ENABLED, (boolean) newValue);
@ -55,23 +55,22 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
} else if (PREF_AUTOFILL_ASSISTANT.equals(key)) {
mSharedPreferencesManager.writeBoolean(
ChromePreferenceKeys.AUTOFILL_ASSISTANT_ENABLED, (boolean) newValue);
@@ -279,6 +285,12 @@ public class PrivacySettings
historyInIncognitoPref.setChecked(
@@ -325,6 +331,11 @@ public class PrivacySettings
prefService.getBoolean(Pref.INCOGNITO_TAB_HISTORY_ENABLED));
}
+
+ ChromeSwitchPreference forceNoJit =
+ (ChromeSwitchPreference) findPreference(PREF_FORCE_NO_JIT);
+ forceNoJit.setOnPreferenceChangeListener(this);
+ forceNoJit.setManagedPreferenceDelegate(mManagedPreferenceDelegate);
+
updateIncognitoReauthPreference();
}
private ChromeManagedPreferenceDelegate createManagedPreferenceDelegate() {
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
@@ -944,6 +944,13 @@ Privacy Sandbox trials are still in active development and are available in sele
@@ -946,6 +946,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>

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
@@ -701,15 +701,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
@@ -438,10 +438,6 @@ public class CriticalPersistedTabData extends PersistedTabData {
@@ -440,10 +440,6 @@ public class CriticalPersistedTabData extends PersistedTabData {
if (getUrl() == null || TextUtils.isEmpty(getUrl().getSpec())) {
return false;
}

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
@@ -32,6 +32,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;
@ -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
@@ -594,6 +594,7 @@ static_library("ui") {
@@ -616,6 +616,7 @@ static_library("ui") {
"//third_party/re2",
"//third_party/webrtc_overrides:webrtc_component",
"//third_party/zlib",
@ -201,10 +201,10 @@ diff --git a/chrome/browser/ui/webui/crashes_ui.cc b/chrome/browser/ui/webui/cra
public:
- CrashesDOMHandler();
+ CrashesDOMHandler(content::WebContents* web_contents);
~CrashesDOMHandler() override;
// WebUIMessageHandler implementation.
@@ -96,6 +111,8 @@ class CrashesDOMHandler : public WebUIMessageHandler {
CrashesDOMHandler(const CrashesDOMHandler&) = delete;
CrashesDOMHandler& operator=(const CrashesDOMHandler&) = delete;
@@ -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);
@@ -107,15 +124,28 @@ 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);
@ -232,8 +232,6 @@ diff --git a/chrome/browser/ui/webui/crashes_ui.cc b/chrome/browser/ui/webui/cra
bool list_available_;
bool first_load_;
+ content::WebContents* web_contents_;
DISALLOW_COPY_AND_ASSIGN(CrashesDOMHandler);
};
-CrashesDOMHandler::CrashesDOMHandler()
@ -244,7 +242,7 @@ diff --git a/chrome/browser/ui/webui/crashes_ui.cc b/chrome/browser/ui/webui/cra
upload_list_ = CreateCrashUploadList();
}
@@ -142,10 +172,24 @@ void CrashesDOMHandler::RegisterMessages() {
@@ -144,10 +174,24 @@ void CrashesDOMHandler::RegisterMessages() {
crash_reporter::kCrashesUIRequestSingleCrashUpload,
base::BindRepeating(&CrashesDOMHandler::HandleRequestSingleCrashUpload,
base::Unretained(this)));
@ -269,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_)
@@ -178,8 +222,7 @@ void CrashesDOMHandler::OnUploadListAvailable() {
@@ -180,8 +224,7 @@ void CrashesDOMHandler::OnUploadListAvailable() {
}
void CrashesDOMHandler::UpdateUI() {
@ -279,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)
@@ -235,14 +278,112 @@ void CrashesDOMHandler::UpdateUI() {
@@ -237,14 +280,112 @@ void CrashesDOMHandler::UpdateUI() {
void CrashesDOMHandler::HandleRequestSingleCrashUpload(
base::Value::ConstListView args) {
@ -398,7 +396,7 @@ diff --git a/chrome/browser/ui/webui/crashes_ui.cc b/chrome/browser/ui/webui/cra
}
} // namespace
@@ -254,7 +395,8 @@ void CrashesDOMHandler::HandleRequestSingleCrashUpload(
@@ -256,7 +397,8 @@ void CrashesDOMHandler::HandleRequestSingleCrashUpload(
///////////////////////////////////////////////////////////////////////////////
CrashesUI::CrashesUI(content::WebUI* web_ui) : WebUIController(web_ui) {
@ -851,7 +849,7 @@ diff --git a/components/upload_list/upload_list.h b/components/upload_list/uploa
};
UploadList();
@@ -92,6 +95,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);

View file

@ -33,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
@@ -1203,7 +1203,7 @@ void ChromeContentBrowserClient::RegisterLocalStatePrefs(
@@ -1267,7 +1267,7 @@ void ChromeContentBrowserClient::RegisterLocalStatePrefs(
void ChromeContentBrowserClient::RegisterProfilePrefs(
user_prefs::PrefRegistrySyncable* registry) {
registry->RegisterBooleanPref(prefs::kDisable3DAPIs, false);
@ -69,7 +69,7 @@ diff --git a/chrome/browser/net/prediction_options.h b/chrome/browser/net/predic
diff --git a/chrome/browser/profiles/profile.cc b/chrome/browser/profiles/profile.cc
--- a/chrome/browser/profiles/profile.cc
+++ b/chrome/browser/profiles/profile.cc
@@ -281,7 +281,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,
@ -123,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
@@ -691,9 +691,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?

View file

@ -12,7 +12,7 @@ Search suggestions, autofill assistant and contextual search
diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/android/java/res/xml/privacy_preferences.xml
--- a/chrome/android/java/res/xml/privacy_preferences.xml
+++ b/chrome/android/java/res/xml/privacy_preferences.xml
@@ -59,4 +59,24 @@
@@ -64,4 +64,24 @@
android:key="privacy_sandbox"
android:title="@string/prefs_privacy_sandbox"
android:fragment="org.chromium.chrome.browser.privacy_sandbox.PrivacySandboxSettingsFragment"/>
@ -47,8 +47,8 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
+import org.chromium.chrome.browser.flags.ChromeFeatureList;
import org.chromium.chrome.browser.feedback.HelpAndFeedbackLauncherImpl;
import org.chromium.chrome.browser.flags.ChromeFeatureList;
import org.chromium.chrome.browser.preferences.Pref;
@@ -44,6 +45,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.
*/
@@ -66,6 +74,18 @@ public class PrivacySettings
@@ -70,6 +78,18 @@ public class PrivacySettings
private static final String PREF_CLOSE_TABS_ON_EXIT = "close_tabs_on_exit";
@ -81,7 +81,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
private ManagedPreferenceDelegate mManagedPreferenceDelegate;
@Override
@@ -95,6 +115,29 @@ public class PrivacySettings
@@ -108,6 +128,29 @@ public class PrivacySettings
mManagedPreferenceDelegate = createManagedPreferenceDelegate();
@ -111,7 +111,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
ChromeSwitchPreference canMakePaymentPref =
(ChromeSwitchPreference) findPreference(PREF_CAN_MAKE_PAYMENT);
canMakePaymentPref.setOnPreferenceChangeListener(this);
@@ -155,6 +198,11 @@ 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);
@ -123,7 +123,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
} else if (PREF_NETWORK_PREDICTIONS.equals(key)) {
PrivacyPreferencesManagerImpl.getInstance().setNetworkPredictionEnabled(
(boolean) newValue);
@@ -174,6 +222,16 @@ public class PrivacySettings
@@ -219,6 +267,16 @@ public class PrivacySettings
public static final String PREF_INCOGNITO_TAB_HISTORY_ENABLED = "incognito_history_enabled";
@ -140,10 +140,10 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
@Override
public void onResume() {
super.onResume();
@@ -184,7 +242,7 @@ public class PrivacySettings
* Updates the summaries for several preferences.
@@ -229,7 +287,7 @@ public class PrivacySettings
* Updates the preferences.
*/
public void updateSummaries() {
public void updatePreferences() {
- PrefService prefService = UserPrefs.get(Profile.getLastUsedRegularProfile());
+ mSearchSuggestions.setChecked(prefService.getBoolean(Pref.SEARCH_SUGGEST_ENABLED));
@ -152,7 +152,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd
--- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
+++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
@@ -396,6 +396,10 @@ CHAR_LIMIT guidelines:
@@ -399,6 +399,10 @@ CHAR_LIMIT guidelines:
No statistics or crash reports are sent to Google
</message>

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
@@ -2299,6 +2299,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
@@ -182,6 +182,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"
@@ -2860,6 +2861,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
@@ -221,6 +221,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
@@ -213,6 +213,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"
@@ -3427,6 +3429,9 @@ void RenderProcessHostImpl::PropagateBrowserCommandLineToRenderer(
@@ -3413,6 +3415,9 @@ void RenderProcessHostImpl::PropagateBrowserCommandLineToRenderer(
switches::kDisableBreakpad,
switches::kDisableDatabases,
switches::kDisableFileSystem,
@ -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
@@ -542,6 +544,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
@@ -217,6 +217,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);
@ -178,7 +178,7 @@ diff --git a/third_party/blink/public/platform/web_runtime_features.h b/third_pa
+ BLINK_PLATFORM_EXPORT static void EnableFingerprintingCanvasImageDataNoise(bool);
BLINK_PLATFORM_EXPORT static void EnableGetDisplayMedia(bool);
BLINK_PLATFORM_EXPORT static void EnableAllowSyncXHRInPageDismissal(bool);
BLINK_PLATFORM_EXPORT static void
BLINK_PLATFORM_EXPORT static void EnableSignedExchangeSubresourcePrefetch(
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
@ -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"
@@ -2149,6 +2150,23 @@ void Document::UpdateStyleAndLayoutTreeForThisDocument() {
@@ -2148,6 +2149,23 @@ void Document::UpdateStyleAndLayoutTreeForThisDocument() {
#if DCHECK_IS_ON()
AssertLayoutTreeUpdated(*this, true /* allow_dirty_container_subtrees */);
#endif
@ -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;
@@ -2077,6 +2081,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
@@ -2115,6 +2115,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);
}
@@ -2132,6 +2137,9 @@ FloatRect Element::GetBoundingClientRectNoLifecycleUpdate() const {
@@ -2131,6 +2136,9 @@ FloatRect Element::GetBoundingClientRectNoLifecycleUpdate() const {
DCHECK(element_layout_object);
GetDocument().AdjustFloatRectForScrollAndAbsoluteZoom(result,
*element_layout_object);
@ -266,7 +266,7 @@ diff --git a/third_party/blink/renderer/core/dom/element.cc b/third_party/blink/
diff --git a/third_party/blink/renderer/core/dom/range.cc b/third_party/blink/renderer/core/dom/range.cc
--- a/third_party/blink/renderer/core/dom/range.cc
+++ b/third_party/blink/renderer/core/dom/range.cc
@@ -1595,6 +1595,12 @@ DOMRectList* Range::getClientRects() const {
@@ -1598,6 +1598,12 @@ DOMRectList* Range::getClientRects() const {
Vector<FloatQuad> quads;
GetBorderAndTextQuads(quads);
@ -279,7 +279,7 @@ diff --git a/third_party/blink/renderer/core/dom/range.cc b/third_party/blink/re
return MakeGarbageCollected<DOMRectList>(quads);
}
@@ -1722,7 +1728,11 @@ FloatRect Range::BoundingRect() const {
@@ -1733,7 +1739,11 @@ FloatRect Range::BoundingRect() const {
// If all rects are empty, return the first rect.
if (result.IsEmpty() && !quads.IsEmpty())
@ -335,15 +335,15 @@ diff --git a/third_party/blink/renderer/core/html/canvas/text_metrics.h b/third_
diff --git a/third_party/blink/renderer/modules/canvas/canvas2d/base_rendering_context_2d.cc b/third_party/blink/renderer/modules/canvas/canvas2d/base_rendering_context_2d.cc
--- a/third_party/blink/renderer/modules/canvas/canvas2d/base_rendering_context_2d.cc
+++ b/third_party/blink/renderer/modules/canvas/canvas2d/base_rendering_context_2d.cc
@@ -27,6 +27,7 @@
@@ -29,6 +29,7 @@
#include "third_party/blink/renderer/platform/geometry/float_quad.h"
#include "third_party/blink/renderer/platform/graphics/bitmap_image.h"
#include "third_party/blink/renderer/platform/graphics/graphics_context.h"
+#include "third_party/blink/renderer/platform/graphics/static_bitmap_image.h"
#include "third_party/blink/renderer/platform/graphics/skia/skia_utils.h"
#include "third_party/blink/renderer/platform/graphics/stroke_data.h"
#include "third_party/blink/renderer/platform/heap/heap.h"
@@ -2273,6 +2274,10 @@ ImageData* BaseRenderingContext2D::getImageDataInternal(
#include "third_party/blink/renderer/platform/graphics/video_frame_image_util.h"
@@ -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
@@ -963,9 +963,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
@@ -1639,7 +1639,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",
@@ -1707,6 +1709,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
@@ -700,4 +700,16 @@ void WebRuntimeFeatures::EnableCLSScrollAnchoring(bool enable) {
@@ -689,4 +689,16 @@ void WebRuntimeFeatures::EnableCLSScrollAnchoring(bool enable) {
RuntimeEnabledFeatures::SetCLSScrollAnchoringEnabled(enable);
}
@ -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
@@ -1029,6 +1029,15 @@
@@ -1039,6 +1039,15 @@
origin_trial_allows_third_party: true,
status: "experimental",
},

View file

@ -1,33 +0,0 @@
From: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Mon, 12 Feb 2018 21:43:35 +0100
Subject: Never send any crash upload data
---
chrome/browser/tracing/crash_service_uploader.cc | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/chrome/browser/tracing/crash_service_uploader.cc b/chrome/browser/tracing/crash_service_uploader.cc
--- a/chrome/browser/tracing/crash_service_uploader.cc
+++ b/chrome/browser/tracing/crash_service_uploader.cc
@@ -128,14 +128,16 @@ void TraceCrashServiceUploader::DoUpload(
UploadDoneCallback done_callback) {
DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
- progress_callback_ = progress_callback;
+ std::move(done_callback).Run(false, "crash uploads are disabled");
+
+/* progress_callback_ = progress_callback;
done_callback_ = std::move(done_callback);
base::ThreadPool::PostTask(
FROM_HERE, {base::TaskPriority::BEST_EFFORT},
base::BindOnce(&TraceCrashServiceUploader::DoCompressOnBackgroundThread,
base::Unretained(this), file_contents, upload_mode,
- upload_url_, std::move(metadata)));
+ upload_url_, std::move(metadata)));*/
}
void TraceCrashServiceUploader::DoCompressOnBackgroundThread(
--
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
@@ -359,6 +359,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;

View file

@ -29,7 +29,7 @@ diff --git a/content/common/user_agent.cc b/content/common/user_agent.cc
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
@@ -326,7 +326,7 @@ const base::Feature kExtraSafelistedRequestHeadersForOutOfBlinkCors{
@@ -311,7 +311,7 @@ const base::Feature kExtraSafelistedRequestHeadersForOutOfBlinkCors{
// Controls whether Client Hints are guarded by Permissions Policy.
const base::Feature kFeaturePolicyForClientHints{

View file

@ -27,7 +27,7 @@ diff --git a/net/base/load_flags_list.h b/net/base/load_flags_list.h
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
@@ -434,7 +434,7 @@ class DnsHTTPAttempt : public DnsAttempt, public URLRequest::Delegate {
@@ -437,7 +437,7 @@ class DnsHTTPAttempt : public DnsAttempt, public URLRequest::Delegate {
// Disable secure DNS for any DoH server hostname lookups to avoid deadlock.
request_->SetSecureDnsPolicy(SecureDnsPolicy::kDisable);
request_->SetLoadFlags(request_->load_flags() | LOAD_DISABLE_CACHE |
@ -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
@@ -300,6 +300,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()) {
@@ -307,11 +308,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();
@@ -526,6 +530,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)) {
@@ -534,6 +539,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(
@@ -543,7 +549,7 @@ void URLRequestHttpJob::AddExtraHeaders() {
@@ -569,7 +575,7 @@ void URLRequestHttpJob::AddExtraHeaders() {
}
}

View file

@ -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 {
@@ -62,12 +62,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;

View file

@ -13,8 +13,8 @@ Subject: Remove SMS integration
diff --git a/chrome/browser/language/android/java/src/org/chromium/chrome/browser/language/AppLocaleUtils.java b/chrome/browser/language/android/java/src/org/chromium/chrome/browser/language/AppLocaleUtils.java
--- a/chrome/browser/language/android/java/src/org/chromium/chrome/browser/language/AppLocaleUtils.java
+++ b/chrome/browser/language/android/java/src/org/chromium/chrome/browser/language/AppLocaleUtils.java
@@ -69,44 +69,6 @@ public class AppLocaleUtils {
ChromePreferenceKeys.APPLICATION_OVERRIDE_LANGUAGE, SYSTEM_LANGUAGE_VALUE);
@@ -70,44 +70,6 @@ public class AppLocaleUtils {
ChromePreferenceKeys.APPLICATION_OVERRIDE_LANGUAGE, APP_LOCALE_USE_SYSTEM_LANGUAGE);
}
- /**
@ -48,7 +48,7 @@ diff --git a/chrome/browser/language/android/java/src/org/chromium/chrome/browse
- // If this is not a bundle build or the default system language is being used the language
- // split should not be installed. Instead indicate that the listener completed successfully
- // since the language resources will already be present.
- if (!BundleUtils.isBundle() || isDefaultSystemLanguage(languageName)) {
- if (!BundleUtils.isBundle() || isFollowSystemLanguage(languageName)) {
- wrappedListener.onComplete(true);
- } else {
- LanguageSplitInstaller.getInstance().installLanguage(languageName, wrappedListener);

View file

@ -36,7 +36,6 @@ Parts of this patch were developed by csagan5, uazo and others.
.../inline/FakeAppUpdateManagerWrapper.java | 60 +-
.../inline/InlineUpdateControllerFactory.java | 16 -
.../inline/PlayInlineUpdateController.java | 226 +-------
.../settings/PasswordSettings.java | 14 -
.../modules/chrome_feature_modules.gni | 3 -
chrome/browser/BUILD.gn | 2 -
chrome/browser/language/android/BUILD.gn | 2 -
@ -59,7 +58,7 @@ Parts of this patch were developed by csagan5, uazo and others.
.../UserRecoverableErrorHandler.java | 7 -
components/gcm_driver/gcm_client_impl.cc | 4 +
.../gcm_driver/instance_id/android/BUILD.gn | 3 -
.../instance_id/InstanceIDBridge.java | 49 +-
.../instance_id/InstanceIDBridge.java | 47 +-
.../media_router/browser/android/BUILD.gn | 9 -
.../media_router/BrowserMediaRouter.java | 18 +-
.../media_router/CastSessionUtil.java | 35 --
@ -84,7 +83,7 @@ Parts of this patch were developed by csagan5, uazo and others.
components/signin/public/android/BUILD.gn | 4 -
components/webauthn/android/BUILD.gn | 5 -
.../webauthn/AuthenticatorImpl.java | 31 +-
.../push_messaging/push_messaging_manager.cc | 6 +-
.../push_messaging/push_messaging_manager.cc | 2 +-
content/public/android/BUILD.gn | 4 -
content/public/common/content_features.cc | 2 +-
content/test/BUILD.gn | 4 -
@ -96,14 +95,14 @@ 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 +-
75 files changed, 67 insertions(+), 2599 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
diff --git a/android_webview/expectations/system_webview_bundle.AndroidManifest.expected b/android_webview/expectations/system_webview_bundle.AndroidManifest.expected
--- a/android_webview/expectations/system_webview_bundle.AndroidManifest.expected
+++ b/android_webview/expectations/system_webview_bundle.AndroidManifest.expected
@@ -23,10 +23,6 @@
@@ -18,10 +18,6 @@
android:label="Android System WebView"
android:multiArch="true"
android:use32bitAbi="true">
@ -114,7 +113,7 @@ diff --git a/android_webview/expectations/system_webview_bundle.AndroidManifest.
</activity> # DIFF-ANCHOR: ea1a94af
<activity # DIFF-ANCHOR: a4438884
android:name="org.chromium.android_webview.devui.MainActivity"
@@ -70,7 +66,6 @@
@@ -65,7 +61,6 @@
android:visibleToInstantApps="true">
</activity-alias> # DIFF-ANCHOR: b7cc06e9
<meta-data android:name="$PACKAGE.WebViewLibrary" android:value="libwebviewchromium.so"/>
@ -146,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",
@@ -564,7 +554,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",
@ -154,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",
@@ -890,11 +879,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",
@ -166,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",
@@ -1252,14 +1236,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",
@ -181,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",
@@ -2299,7 +2275,6 @@ android_library("browser_java_test_support") {
@@ -2314,7 +2290,6 @@ android_library("browser_java_test_support") {
]
deps = [
":chrome_java",
@ -189,16 +188,17 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
"//base:base_java",
"//base:base_java_test_support",
"//base:jni_java",
@@ -2444,8 +2419,6 @@ 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",
- "java/src/com/google/ipc/invalidation/ticl/android2/channel/GcmRegistrationTaskService.java",
"java/src/org/chromium/chrome/app/TrichromeZygotePreload.java",
- "java/src/org/chromium/chrome/browser/ChromeBackgroundService.java",
"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",
@@ -2456,8 +2429,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",
@ -207,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",
@@ -2484,16 +2455,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",
@ -224,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",
@@ -2506,7 +2471,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",
@ -232,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",
@@ -2528,7 +2492,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.
@ -251,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",
@@ -1029,10 +1028,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",
@ -1282,37 +1282,6 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/omaha/inline/Pl
private static void recordCallFailure(@CallFailure int failure) {
RecordHistogram.recordEnumeratedHistogram(
"GoogleUpdate.Inline.CallFailure", failure, CallFailure.NUM_ENTRIES);
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
@@ -40,7 +40,6 @@ import org.chromium.chrome.browser.preferences.Pref;
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.webauthn.CableAuthenticatorModuleProvider;
import org.chromium.components.browser_ui.settings.ChromeBasePreference;
import org.chromium.components.browser_ui.settings.ChromeSwitchPreference;
import org.chromium.components.browser_ui.settings.SearchUtils;
@@ -593,19 +592,6 @@ public class PasswordSettings extends PreferenceFragmentCompat
}
private void displaySecurityKeyLink() {
- if (mSecurityKey == null) {
- mSecurityKey = new ChromeBasePreference(getStyledContext());
- mSecurityKey.setKey(PREF_KEY_SECURITY_KEY_LINK);
- mSecurityKey.setTitle(R.string.phone_as_security_key_text);
- mSecurityKey.setOnPreferenceClickListener(preference -> {
- SettingsLauncher settingsLauncher = new SettingsLauncherImpl();
- settingsLauncher.launchSettingsActivity(
- getActivity(), CableAuthenticatorModuleProvider.class, null);
- return true;
- });
- mSecurityKey.setOrder(ORDER_SECURITY_KEY);
- }
- getPreferenceScreen().addPreference(mSecurityKey);
}
private Context getStyledContext() {
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
@ -1336,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
@@ -6399,8 +6399,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",
@ -1365,7 +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
@@ -458,19 +458,6 @@ public class AppLanguagePromoDialog {
@@ -459,19 +459,6 @@ public class AppLanguagePromoDialog {
}
AndroidLanguageMetricsBridge.reportAppLanguagePromptLanguage(
selectedLanguage.isSystemDefault() ? "" : selectedLanguage.getCode());
@ -1480,7 +1449,7 @@ diff --git a/chrome/browser/push_messaging/push_messaging_service_factory.cc b/c
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
@@ -241,8 +241,6 @@ static_library("ui") {
@@ -254,8 +254,6 @@ static_library("ui") {
"webui/flags/flags_ui.h",
"webui/flags/flags_ui_handler.cc",
"webui/flags/flags_ui_handler.h",
@ -1489,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",
@@ -461,7 +459,6 @@ static_library("ui") {
@@ -483,7 +481,6 @@ static_library("ui") {
"//components/feedback/content",
"//components/find_in_page",
"//components/flags_ui",
@ -1508,7 +1477,7 @@ diff --git a/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc b/chrom
#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"
@@ -623,8 +622,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>;
@ -1520,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
@@ -267,8 +267,6 @@ android_library("chrome_java_test_support") {
@@ -268,8 +268,6 @@ android_library("chrome_java_test_support") {
]
deps = [
@ -2252,7 +2221,7 @@ diff --git a/components/gcm_driver/instance_id/android/java/src/org/chromium/com
@Override
protected String doBackgroundWork() {
- try {
- // TODO(knollr): Migrate stored LazySubscriptionsManager data to
- // TODO(crbug.com/1247170): Migrate stored LazySubscriptionsManager data to
- // SubscriptionFlagManager.
- LazySubscriptionsManager.storeLazinessInformation(
- LazySubscriptionsManager.buildSubscriptionUniqueId(
@ -2264,9 +2233,8 @@ diff --git a/components/gcm_driver/instance_id/android/java/src/org/chromium/com
- flags);
- return mInstanceID.getToken(authorizedEntity, scope);
- } catch (IOException ex) {
- return "";
return "";
- }
+ return "";
}
@Override
protected void sendResultToNative(String token) {
@ -3867,7 +3835,7 @@ diff --git a/components/webauthn/android/BUILD.gn b/components/webauthn/android/
diff --git a/components/webauthn/android/java/src/org/chromium/components/webauthn/AuthenticatorImpl.java b/components/webauthn/android/java/src/org/chromium/components/webauthn/AuthenticatorImpl.java
--- a/components/webauthn/android/java/src/org/chromium/components/webauthn/AuthenticatorImpl.java
+++ b/components/webauthn/android/java/src/org/chromium/components/webauthn/AuthenticatorImpl.java
@@ -94,17 +94,7 @@ public class AuthenticatorImpl implements Authenticator {
@@ -95,17 +95,7 @@ public class AuthenticatorImpl implements Authenticator {
mMakeCredentialCallback = callback;
mIsOperationPending = true;
@ -3886,7 +3854,7 @@ diff --git a/components/webauthn/android/java/src/org/chromium/components/webaut
}
@Override
@@ -117,16 +107,7 @@ public class AuthenticatorImpl implements Authenticator {
@@ -118,16 +108,7 @@ public class AuthenticatorImpl implements Authenticator {
mGetAssertionCallback = callback;
mIsOperationPending = true;
@ -3904,17 +3872,17 @@ diff --git a/components/webauthn/android/java/src/org/chromium/components/webaut
}
@Override
@@ -145,16 +126,8 @@ public class AuthenticatorImpl implements Authenticator {
@@ -152,16 +133,8 @@ public class AuthenticatorImpl implements Authenticator {
return;
}
- if (PackageUtils.getPackageVersion(context, GMSCORE_PACKAGE_NAME)
- < Fido2ApiHandler.GMSCORE_MIN_VERSION) {
callback.call(false);
decoratedCallback.call(false);
return;
- }
-
- mIsUserVerifyingPlatformAuthenticatorAvailableCallbackQueue.add(callback);
- mIsUserVerifyingPlatformAuthenticatorAvailableCallbackQueue.add(decoratedCallback);
- Fido2ApiHandler.getInstance().isUserVerifyingPlatformAuthenticatorAvailable(
- mRenderFrameHost,
- isUvpaa -> onIsUserVerifyingPlatformAuthenticatorAvailableResponse(isUvpaa));
@ -3924,19 +3892,15 @@ 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
@@ -956,11 +956,7 @@ void PushMessagingManager::Core::GetSubscriptionInfoOnUI(
@@ -755,7 +755,7 @@ void PushMessagingManager::GetSubscriptionInfo(
}
PushMessagingService* PushMessagingManager::Core::service() {
DCHECK_CURRENTLY_ON(BrowserThread::UI);
- RenderProcessHost* process_host =
- RenderProcessHost::FromID(render_process_id_);
- return process_host
- ? process_host->GetBrowserContext()->GetPushMessagingService()
- : nullptr;
PushMessagingService* PushMessagingManager::GetService() {
- return render_process_host_.GetBrowserContext()->GetPushMessagingService();
+ return nullptr;
}
base::WeakPtr<PushMessagingManager::Core>
} // namespace content
diff --git a/content/public/android/BUILD.gn b/content/public/android/BUILD.gn
--- a/content/public/android/BUILD.gn
+++ b/content/public/android/BUILD.gn
@ -3954,7 +3918,7 @@ 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
@@ -957,7 +957,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",
@ -3962,11 +3926,11 @@ diff --git a/content/public/common/content_features.cc b/content/public/common/c
+ base::FEATURE_DISABLED_BY_DEFAULT};
// Controls whether WebAuthn assertion transport is enabled.
const base::Feature kWebAuthAssertionTransport{
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
@@ -2865,10 +2865,6 @@ if (is_android) {
@@ -2869,10 +2869,6 @@ if (is_android) {
testonly = true
sources = content_java_sources_needing_jni
deps = [
@ -4067,7 +4031,7 @@ diff --git a/third_party/android_deps/BUILD.gn b/third_party/android_deps/BUILD.
":org_robolectric_utils_java",
":org_robolectric_utils_reflector_java",
@@ -92,7 +91,7 @@ if (!limit_android_deps) {
@@ -93,7 +92,7 @@ if (!limit_android_deps) {
android_library("chromium_play_services_availability_java") {
sources = [ "util/org/chromium/gms/ChromiumPlayServicesAvailability.java" ]
@ -4076,7 +4040,7 @@ diff --git a/third_party/android_deps/BUILD.gn b/third_party/android_deps/BUILD.
}
android_library("chromium_play_services_availability_shadows_java") {
@@ -1027,210 +1026,6 @@ if (!limit_android_deps) {
@@ -1030,210 +1029,6 @@ if (!limit_android_deps) {
resource_overlay = true
}
@ -4287,7 +4251,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.
android_aar_prebuilt("com_google_android_material_material_java") {
aar_path =
@@ -1264,60 +1059,6 @@ if (!limit_android_deps) {
@@ -1267,60 +1062,6 @@ if (!limit_android_deps) {
ignore_proguard_configs = true
}
@ -4347,8 +4311,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.
java_prebuilt("com_google_guava_guava_android_java") {
jar_path = "libs/com_google_guava_guava_android/guava-30.1-android.jar"
@@ -1454,19 +1195,6 @@ if (!limit_android_deps) {
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
}
@ -4368,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"
@@ -1843,272 +1571,6 @@ if (!limit_android_deps) {
@@ -1847,272 +1575,6 @@ if (!limit_android_deps) {
deps = [ "//third_party/androidx:androidx_annotation_annotation_java" ]
}

View file

@ -9,9 +9,9 @@ Subject: Remove blocklisted URLs upon bookmark creation
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
@@ -139,6 +139,8 @@ import org.chromium.chrome.browser.metrics.UmaSessionStats;
import org.chromium.chrome.browser.multiwindow.MultiWindowUtils;
import org.chromium.chrome.browser.night_mode.SystemNightModeMonitor;
@@ -141,6 +141,8 @@ import org.chromium.chrome.browser.night_mode.SystemNightModeMonitor;
import org.chromium.chrome.browser.night_mode.WebContentsDarkModeController;
import org.chromium.chrome.browser.night_mode.WebContentsDarkModeMessageController;
import org.chromium.chrome.browser.ntp.NewTabPageUma;
+import org.chromium.chrome.browser.suggestions.SuggestionsDependencyFactory;
+import org.chromium.chrome.browser.suggestions.mostvisited.MostVisitedSites;
@ -35,7 +35,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv
private boolean mPartnerBrowserRefreshNeeded;
@@ -1451,6 +1456,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) {
@@ -1761,6 +1771,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,7 +56,7 @@ 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;

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
@@ -116,9 +116,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
@@ -2322,16 +2322,6 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
@@ -2329,16 +2329,6 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
final Tab currentTab = getActivityTab();
@ -59,12 +59,12 @@ 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
@@ -523,7 +523,7 @@ public abstract class BaseCustomTabActivity extends ChromeActivity<BaseCustomTab
@Override
@@ -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 || id == R.id.help_id
+ if (id == R.id.focus_url_bar || id == R.id.all_bookmarks_menu_id
if (id == R.id.focus_url_bar || id == R.id.all_bookmarks_menu_id
- || id == R.id.add_to_reading_list_menu_id || id == R.id.help_id
+ || id == R.id.add_to_reading_list_menu_id
|| id == R.id.recent_tabs_menu_id || id == R.id.new_incognito_tab_menu_id
|| id == R.id.new_tab_menu_id || id == R.id.open_history_menu_id) {
return true;

View file

@ -17,7 +17,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/init/ProcessIni
import org.chromium.chrome.browser.omnibox.voice.AssistantVoiceSearchService;
import org.chromium.chrome.browser.optimization_guide.OptimizationGuideBridgeFactory;
import org.chromium.chrome.browser.partnercustomizations.PartnerBrowserCustomizations;
@@ -408,8 +407,6 @@ public class ProcessInitializationHandler {
@@ -420,8 +419,6 @@ public class ProcessInitializationHandler {
() -> VideoTutorialShareHelper.saveUrlsToSharedPrefs());
deferredStartupHandler.addDeferredTask(
() -> TosDialogBehaviorSharedPrefInvalidator.refreshSharedPreferenceIfTosSkipped());

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
@@ -871,7 +871,7 @@ class DnsTCPAttempt : public DnsAttempt {
@@ -876,7 +876,7 @@ class DnsTCPAttempt : public DnsAttempt {
// ----------------------------------------------------------------------------

View file

@ -7,7 +7,7 @@ This reverts commit ae458edcc8422d0815d0e82261e71fe10d7d6fc2.
Disable search-ready omnibox by default
---
chrome/browser/about_flags.cc | 3 +++
chrome/browser/about_flags.cc | 5 ++++-
chrome/browser/flag-metadata.json | 5 +++++
chrome/browser/flag_descriptions.cc | 5 +++++
chrome/browser/flag_descriptions.h | 3 +++
@ -15,25 +15,35 @@ 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, 30 insertions(+), 2 deletions(-)
8 files changed, 31 insertions(+), 3 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
@@ -3381,6 +3381,9 @@ const FeatureEntry kFeatureEntries[] = {
flag_descriptions::kUseLookalikesForNavigationSuggestionsDescription,
kOsAll,
FEATURE_VALUE_TYPE(net::features::kUseLookalikesForNavigationSuggestions)},
@@ -3380,8 +3380,8 @@ const FeatureEntry kFeatureEntries[] = {
#if defined(USE_AURA)
{"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)},
@@ -7748,6 +7748,9 @@ const FeatureEntry kFeatureEntries[] = {
// "LoginCustomFlags" in tools/metrics/histograms/enums.xml. See "Flag
// Histograms" in tools/metrics/histograms/README.md (run the
// AboutFlagsHistogramTest unit test to verify this process).
+ {"enable-search-ready-omnibox", flag_descriptions::kSearchReadyOmniboxName,
+ flag_descriptions::kSearchReadyOmniboxDescription, kOsAndroid,
+ FEATURE_VALUE_TYPE(chrome::android::kSearchReadyOmniboxFeature)},
{"username-first-flow", flag_descriptions::kUsernameFirstFlowName,
flag_descriptions::kUsernameFirstFlowDescription, kOsAll,
FEATURE_VALUE_TYPE(password_manager::features::kUsernameFirstFlow)},
};
class FlagsStateSingleton : public flags_ui::FlagsState::Delegate {
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
@@ -2390,6 +2390,11 @@
@@ -2355,6 +2355,11 @@
// with neural net palm detection.
"expiry_milestone": 90
},
@ -48,7 +58,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
@@ -3485,6 +3485,11 @@ const char kSecurePaymentConfirmationAndroidName[] =
@@ -3525,6 +3525,11 @@ const char kSecurePaymentConfirmationAndroidName[] =
const char kSecurePaymentConfirmationAndroidDescription[] =
"Enables Secure Payment Confirmation on Android.";
@ -63,7 +73,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
@@ -1999,6 +1999,9 @@ extern const char kScrollCaptureDescription[];
@@ -2020,6 +2020,9 @@ extern const char kScrollCaptureDescription[];
extern const char kSecurePaymentConfirmationAndroidName[];
extern const char kSecurePaymentConfirmationAndroidDescription[];
@ -76,7 +86,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
@@ -243,6 +243,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
@@ -255,6 +255,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
&kReachedCodeProfiler,
&kReaderModeInCCT,
&kReengagementNotification,
@ -84,7 +94,7 @@ diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browse
&kRelatedSearches,
&kRelatedSearchesAlternateUx,
&kRelatedSearchesInBar,
@@ -682,6 +683,9 @@ const base::Feature kRelatedSearchesSimplifiedUx{
@@ -698,6 +699,9 @@ const base::Feature kRelatedSearchesSimplifiedUx{
const base::Feature kRelatedSearchesUi{"RelatedSearchesUi",
base::FEATURE_DISABLED_BY_DEFAULT};
@ -97,7 +107,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
@@ -120,6 +120,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;
@ -108,14 +118,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
@@ -402,6 +402,7 @@ public abstract class ChromeFeatureList {
public static final String OMNIBOX_ADAPTIVE_SUGGESTIONS_COUNT =
"OmniboxAdaptiveSuggestionsCount";
public static final String OMNIBOX_ASSISTANT_VOICE_SEARCH = "OmniboxAssistantVoiceSearch";
@@ -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";
+ public static final String SEARCH_READY_OMNIBOX = "SearchReadyOmnibox";
public static final String OMNIBOX_COMPACT_SUGGESTIONS = "OmniboxCompactSuggestions";
public static final String OMNIBOX_ENABLE_CLIPBOARD_PROVIDER_IMAGE_SUGGESTIONS =
"OmniboxEnableClipboardProviderImageSuggestions";
public static final String OFFLINE_INDICATOR = "OfflineIndicator";
public static final String OFFLINE_INDICATOR_V2 = "OfflineIndicatorV2";
public static final String OFFLINE_MEASUREMENTS_BACKGROUND_TASK =
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

View file

@ -29,7 +29,7 @@ This reverts commit 4d0e4483c5f77c66a8b6193e8a3bec5d0624d6ad.
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
@@ -684,6 +684,7 @@ chrome_java_resources = [
@@ -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",
@ -40,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
@@ -590,6 +590,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",
@ -215,7 +215,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageL
import org.chromium.chrome.browser.lens.LensMetrics;
import org.chromium.chrome.browser.lifecycle.ActivityLifecycleDispatcher;
import org.chromium.chrome.browser.native_page.ContextMenuManager;
@@ -117,6 +118,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();
@ -224,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.
@@ -282,6 +285,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();
@ -232,7 +232,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageL
initializeSearchBoxTextView();
initializeVoiceSearchButton();
initializeLensButton();
@@ -595,10 +599,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() {
@ -325,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
@@ -4061,6 +4061,9 @@ const FeatureEntry kFeatureEntries[] = {
@@ -4002,6 +4002,9 @@ const FeatureEntry kFeatureEntries[] = {
SINGLE_VALUE_TYPE_AND_VALUE(
switches::kForceShowUpdateMenuItemCustomSummary,
"Custom Summary")},
@ -338,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.";
@ -351,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
@@ -2020,6 +2020,9 @@ extern const char kSiteIsolationForPasswordSitesDescription[];
@@ -2041,6 +2041,9 @@ extern const char kSiteIsolationForPasswordSitesDescription[];
extern const char kSmartSuggestionForLargeDownloadsName[];
extern const char kSmartSuggestionForLargeDownloadsDescription[];
@ -364,7 +364,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
@@ -221,6 +221,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
@@ -233,6 +233,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
&kEnhancedProtectionPromoCard,
&kExperimentsForAgsa,
&kExploreSites,
@ -372,7 +372,7 @@ diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browse
&kFocusOmniboxInIncognitoTabIntents,
&kGoogleLensSdkIntent,
&kHandleMediaIntents,
@@ -651,6 +652,9 @@ const base::Feature kOfflineIndicatorV2{"OfflineIndicatorV2",
@@ -664,6 +665,9 @@ const base::Feature kOfflineIndicatorV2{"OfflineIndicatorV2",
const base::Feature kOfflineMeasurementsBackgroundTask{
"OfflineMeasurementsBackgroundTask", base::FEATURE_DISABLED_BY_DEFAULT};
@ -385,18 +385,18 @@ 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
@@ -108,6 +108,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;
+extern const base::Feature kSimplifiedNTP;
extern const base::Feature kBookmarksImprovedSaveFlow;
extern const base::Feature kBookmarksRefresh;
extern const base::Feature kProbabilisticCryptidRenderer;
extern const base::Feature kQuickActionSearchWidgetAndroid;
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
@@ -379,6 +379,7 @@ public abstract class ChromeFeatureList {
@@ -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";
@ -429,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
@@ -4119,6 +4119,24 @@
@@ -3972,6 +3972,24 @@
]
}
],

View file

@ -0,0 +1,27 @@
From: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Sat, 4 Dec 2021 11:41:31 +0100
Subject: Restore offline-indicator-v2 flag
---
chrome/browser/flag-metadata.json | 6 +++---
1 file changed, 3 insertions(+), 3 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
@@ -3981,9 +3981,9 @@
"expiry_milestone": 98
},
{
- "name": "offline-indicator-v2",
- "owners": [ "sinansahin@google.com", "twellington", "offline-dev" ],
- "expiry_milestone": 90
+ "name": "offline-indicator-v2", // Bromite: restore flag
+ "owners": [ "sinansahin@google.com", "twellington", "offline-dev" ], // offline-indicator-v2
+ "expiry_milestone": -1
},
{
"name": "offline-pages-live-page-sharing",
--
2.20.1

View file

@ -13,7 +13,7 @@ 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
@@ -3473,6 +3473,10 @@ const FeatureEntry kFeatureEntries[] = {
@@ -3432,6 +3432,10 @@ const FeatureEntry kFeatureEntries[] = {
SINGLE_DISABLE_VALUE_TYPE(switches::kDisableHostedAppShimCreation)},
#endif // OS_MAC
#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-metadata.json b/chrome/browser/flag-metadata.json
--- a/chrome/browser/flag-metadata.json
+++ b/chrome/browser/flag-metadata.json
@@ -1141,6 +1141,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
@@ -3375,6 +3375,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
@@ -1936,6 +1936,9 @@ extern const char kQueryTilesSegmentationDescription[];
@@ -1954,6 +1954,9 @@ extern const char kQueryTilesSegmentationDescription[];
extern const char kQueryTilesSwapTrendingName[];
extern const char kQueryTilesSwapTrendingDescription[];

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