Compare commits

..

No commits in common. "master" and "107.0.5304.96" have entirely different histories.

170 changed files with 8051 additions and 6912 deletions

View file

@ -76,7 +76,6 @@ body:
multiple: false
description: What version of Android are you running?
options:
- 13
- 12.1
- 12.0
- 11

View file

@ -1,34 +1,5 @@
# 108.0.5359.156
# 108.0.5359.109
* reintroduce adaptive-button-in-top-toolbar-customization flag
# 108.0.5359.106
* fix crash when using always incognito (fixes https://github.com/bromite/bromite/issues/2482)
* enable third-party storage partitioning (fixes https://github.com/bromite/bromite/issues/2337)
* disable features ExperimentsForAgsa, KeepPrefetchedContentSuggestions, CriticalClientHint, AcceptCHFrame (accidentally enabled but not effective in 108.0.5359.75)
# 108.0.5359.75
* drop patch to mark all favicons ON_DEMAND (fixed by upstream, see https://bugs.chromium.org/p/chromium/issues/detail?id=1096660)
* enable AutomaticLazyFrameLoadingToAds and AutomaticLazyFrameLoadingToEmbeds features
* drop patch for SDK21 to prevent crashes on download
* fix patch to ignore enterprise policies for secure DNS (fixes https://github.com/bromite/bromite/issues/2463)
* stop using SM-G960U as model provided via client hints and Javascript (fixes https://github.com/bromite/bromite/issues/2465)
* temptative fix for OfflinePageModelFactory crash (thanks to @uazo, fixes https://github.com/bromite/bromite/issues/2419)
* fix fingerprinting vector via Window.requestAnimationFrame() (thanks to @uazo, fixes https://github.com/bromite/bromite/issues/2370)
* remove patch for offline measurements background task (fixes https://github.com/bromite/bromite/issues/2468)
* enable PermuteTLSExtensions (fixes https://github.com/bromite/bromite/issues/2467)
* hide "turn on enhanced protection" in security interstitials
# 107.0.5304.114
* fix for drag selection not working with bottom toolbar (thanks to @uazo, fixes https://github.com/bromite/bromite/issues/2411)
* fix for navbar color not matching site color (thanks to @uazo, fixes https://github.com/bromite/bromite/issues/2416)
* clamp time resolution in WebWorkers' requestAnimationFrame (thanks to @uazo)
* drop patch for AV1 codec support (already in upstream)
# 107.0.5304.96
* bottom toolbar: fix for white strip at top in tab view (thanks to @uazo, fixes https://github.com/bromite/bromite/issues/2407)
* reverse tab order from top to bottom when using bottom toolbar (thanks to @uazo)
* dropped patches already merged upstream (partition DNS requests by top frame NIK, clipboard user gesture requirement removal)
* disable StartSurface feature

View file

@ -1,5 +1,3 @@
[![Stand With Ukraine](./banner2-direct.svg)](https://stand-with-ukraine.pp.ua/)
# Bromite - Take back your browser
<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>
@ -158,7 +156,6 @@ New flags:
* `#move-top-toolbar-to-bottom`, disabled by default
* `#site-engagement`, enabled by default
* `#offline-pages-auto-save`, disabled by default, allows auto-saving of pages when device goes offline
* `#adaptive-button-in-top-toolbar-customization`, disabled by default, allows having a new tab or share button on the address bar
### Site settings

View file

@ -1,64 +0,0 @@
<svg viewBox="0 0 1040 200" xmlns="http://www.w3.org/2000/svg">
<style>
@namespace svg url(http://www.w3.org/2000/svg);
svg {
font-family: Helvetica, Arial, sans-serif;
text-rendering: geometricPrecision;
}
svg|a:link, svg|a:visited {
cursor: pointer;
}
.flag-blue {
fill: #0057b7;
}
.flag-yellow {
fill: #ffd700;
}
.message {
fill: white;
font-size: 20px;
}
.call {
fill: black;
font-size: 32px;
}
.mobile-only {
display: none;
}
.arrow {
font-size: 24px;
}
@media (max-width: 770px) {
.message {
display: none;
font-size: 29px;
}
.mobile-only {
display: inherit;
}
.call {
font-size: 36px;
}
}
</style>
<a href="https://stand-with-ukraine.pp.ua">
<rect x="0" y="0" width="100%" height="100%" class="flag-yellow"/>
<rect x="0" y="0" width="100%" height="110px" class="flag-blue"/>
<text x="0" y="25" class="message">
<tspan x="25" dy="1.15em">Russia has invaded Ukraine and already killed tens of thousands of civilians, with many more raped or tortured.</tspan>
<tspan x="25" dy="1.35em">The death toll keeps climbing. It's a <tspan font-weight="bold">genocide</tspan>. We need your help. Let's fight back against the Russian regime.</tspan>
</text>
<text x="0" y="25" class="message mobile-only">
<tspan x="25" dy=".7em">Russia has invaded Ukraine and already killed tens of thousands of civilians,</tspan>
<tspan x="25" dy="1.2em">with many more raped or tortured. It's a <tspan font-weight="bold">genocide</tspan>. We need your help.</tspan>
</text>
<text x="50%" y="78.5%" dominant-baseline="middle" text-anchor="middle" class="call">
Help Ukraine Now <tspan dominant-baseline="middle" class="arrow"></tspan>
</text>
</a>
</svg>

Before

Width:  |  Height:  |  Size: 1.7 KiB

View file

@ -1 +1 @@
56775bdf8d12f9d3e1a99fcf1dde6a7417522963-
5e4e695db5ae34eebbd81741c4add61b263fcca5-

View file

@ -1 +1 @@
108.0.5359.156
107.0.5304.96

View file

@ -1 +1 @@
1b133d62395a6ad11c65997a1c24acffb3f73d9e
cc848a50ac06860b606b3adc58a9397b6d171c66

View file

@ -43,6 +43,5 @@ use_errorprone_java_compiler=false
use_gnome_keyring=false
use_official_google_api_keys=false
use_rtti=false
use_stable_package_name_for_trichrome=false
use_sysroot=false
webview_includes_weblayer=false

View file

@ -23,6 +23,7 @@ Site-setting-for-images.patch
Content-settings-infrastructure.patch
Add-webGL-site-setting.patch
Add-webRTC-site-settings.patch
AV1-codec-support.patch
Switch-to-fstack-protector-strong.patch
Enable-fwrapv-in-Clang-for-non-UBSan-builds.patch
Bromite-package-name.patch
@ -94,8 +95,7 @@ Disable-offline-pages-in-CCT.patch
Disable-media-router-and-remoting-by-default.patch
Restore-Search-Ready-Omnibox-flag.patch
disable-AdsBlockedInfoBar.patch
Bromite-subresource-adblocker.patch
Bromite-auto-updater.patch
Bromite-AdBlockUpdaterService.patch
Replace-DoH-probe-domain-with-RIPE-domain.patch
Increase-number-of-autocomplete-matches-to-10.patch
Disable-requests-for-single-word-Omnibar-searches.patch
@ -130,24 +130,29 @@ 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
Re-introduce-modal-dialog-flag-to-close-all-tabs.patch
Ask-user-before-closing-all-tabs.patch
Add-option-to-force-tablet-UI.patch
Make-all-favicon-requests-on-demand.patch
Add-Alt-D-hotkey-to-focus-address-bar.patch
Remove-offline-measurement-background-task.patch
User-agent-customization.patch
Add-AllowUserCertificates-flag.patch
Add-IsCleartextPermitted-flag.patch
Unexpire-tab-groups-flags.patch
Add-flag-for-omnibox-autocomplete-filtering.patch
Revert-Delete-block-external-form-redirects.patch
Enable-IntentBlockExternalFormRedirectsNoGesture.patch
Add-flag-to-disable-external-intent-requests.patch
Enable-share-intent.patch
Logcat-crash-reports-UI.patch
API-level-21-prevent-crash-on-download.patch
Add-flag-to-disable-vibration.patch
mime_util-force-text-x-suse-ymp-to-be-downloaded.patch
Client-hints-overrides.patch
Disable-AGSA-by-default.patch
Allow-building-without-enable_reporting.patch
Disable-lock-icon-in-address-bar-by-default.patch
Enable-share-intent.patch
Bromite-auto-updater.patch
Experimental-user-scripts-support.patch
Keep-empty-tabs-between-sessions.patch
Disable-third-party-origin-trials.patch
@ -188,6 +193,7 @@ Remove-preload-of-com.google.android.gms.fonts.patch
Partition-Blink-memory-cache.patch
Remove-navigator.connection-info.patch
Disable-PrivacyGuide.patch
Re-introduce-modal-dialog-flag-to-close-all-tabs.patch
sharing-hub-always-use-visible-URL.patch
Re-introduce-kWebAuthCable.patch
Enable-HEVC-by-default.patch
@ -197,8 +203,4 @@ Disable-add-to-home-screen-prompt.patch
Remove-HTTP-referrals-in-cross-origin-navigation.patch
Enable-ECH-by-default.patch
Disable-StartSurface-feature.patch
Clamp-time-resolution-in-requestAnimationFrame.patch
Enable-PermuteTLSExtensions-by-default.patch
Enable-third-party-storage-partitioning.patch
Restore-adaptive-button-in-top-toolbar-customization.patch
Automated-domain-substitution.patch

View file

@ -43,6 +43,5 @@ use_errorprone_java_compiler=false
use_gnome_keyring=false
use_official_google_api_keys=false
use_rtti=false
use_stable_package_name_for_trichrome=false
use_sysroot=false
webview_includes_weblayer=false

View file

@ -1,3 +1,4 @@
AV1-codec-support.patch
exit-on-failure-of-inclusion.patch
Reintroduce-override_build_timestamp.patch
do-not-hide-.orig-files.patch

View file

@ -30,9 +30,9 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
gpu/config/gpu_workaround_list.txt | 1 +
gpu/ipc/service/gpu_init.cc | 5 +++++
gpu/ipc/service/stream_texture_android.cc | 11 ++++++++++-
media/base/media_switches.cc | 5 +++++
media/base/media_switches.cc | 4 ++++
media/base/media_switches.h | 1 +
12 files changed, 66 insertions(+), 5 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
@ -84,7 +84,7 @@ diff --git a/base/android/android_image_reader_compat.h b/base/android/android_i
diff --git a/chrome/browser/flag-metadata.json b/chrome/browser/flag-metadata.json
--- a/chrome/browser/flag-metadata.json
+++ b/chrome/browser/flag-metadata.json
@@ -2501,9 +2501,9 @@
@@ -2410,9 +2410,9 @@
"expiry_milestone": 115
},
{
@ -126,9 +126,9 @@ diff --git a/gpu/config/gpu_driver_bug_list.json b/gpu/config/gpu_driver_bug_lis
diff --git a/gpu/config/gpu_finch_features.cc b/gpu/config/gpu_finch_features.cc
--- a/gpu/config/gpu_finch_features.cc
+++ b/gpu/config/gpu_finch_features.cc
@@ -64,6 +64,11 @@ BASE_FEATURE(kUseGles2ForOopR,
@@ -63,6 +63,11 @@ const base::Feature kUseGles2ForOopR {
#endif
);
};
+
+// Use android AImageReader when playing videos with MediaPlayer.
@ -142,13 +142,13 @@ diff --git a/gpu/config/gpu_finch_features.h b/gpu/config/gpu_finch_features.h
--- a/gpu/config/gpu_finch_features.h
+++ b/gpu/config/gpu_finch_features.h
@@ -17,6 +17,7 @@ namespace features {
GPU_EXPORT BASE_DECLARE_FEATURE(kUseGles2ForOopR);
GPU_EXPORT extern const base::Feature kUseGles2ForOopR;
// All features in alphabetical order. The features should be documented
+GPU_EXPORT extern const base::Feature kAImageReaderMediaPlayer;
// alongside the definition of their values in the .cc file.
#if BUILDFLAG(IS_ANDROID)
GPU_EXPORT BASE_DECLARE_FEATURE(kAndroidSurfaceControl);
GPU_EXPORT extern const base::Feature kAndroidSurfaceControl;
diff --git a/gpu/config/gpu_util.cc b/gpu/config/gpu_util.cc
--- a/gpu/config/gpu_util.cc
+++ b/gpu/config/gpu_util.cc
@ -177,7 +177,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
@@ -15,6 +15,7 @@ decode_encode_srgb_for_generatemipmap
@@ -16,6 +16,7 @@ decode_encode_srgb_for_generatemipmap
depth_stencil_renderbuffer_resize_emulation
disable_2d_canvas_auto_flush
disable_accelerated_av1_decode
@ -188,7 +188,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
@@ -626,6 +626,11 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandLine* command_line,
@@ -640,6 +640,11 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandLine* command_line,
}
#endif // BUILDFLAG(IS_WIN)
@ -231,28 +231,27 @@ 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
@@ -750,6 +750,11 @@ BASE_FEATURE(kHardwareSecureDecryptionExperiment,
// Allows automatically disabling hardware secure Content Decryption Module
// (CDM) after failures or crashes to fallback to software secure CDMs. If this
// feature is disabled, the fallback will never happen and users could be stuck
@@ -750,6 +750,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};
+// Enables the Android Image Reader path for Video decoding(for AVDA and MCVD)
+BASE_FEATURE(kAImageReaderVideoOutput,
+ "AImageReaderVideoOutput",
+ base::FEATURE_ENABLED_BY_DEFAULT);
+const base::Feature kAImageReaderVideoOutput{"AImageReaderVideoOutput",
+ base::FEATURE_ENABLED_BY_DEFAULT};
+
// in playback failures.
BASE_FEATURE(kHardwareSecureDecryptionFallback,
"HardwareSecureDecryptionFallback",
// Enable picture in picture web api for android.
const base::Feature kPictureInPictureAPI{"PictureInPictureAPI",
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
@@ -232,6 +232,7 @@ MEDIA_EXPORT BASE_DECLARE_FEATURE(kVaapiVp8TemporalLayerHWEncoding);
MEDIA_EXPORT BASE_DECLARE_FEATURE(kVaapiVp9kSVCHWEncoding);
#endif // defined(ARCH_CPU_X86_FAMILY) && BUILDFLAG(IS_CHROMEOS)
MEDIA_EXPORT BASE_DECLARE_FEATURE(kVideoBlitColorAccuracy);
+MEDIA_EXPORT BASE_DECLARE_FEATURE(kAImageReaderVideoOutput);
MEDIA_EXPORT BASE_DECLARE_FEATURE(kVp9kSVCHWDecoding);
MEDIA_EXPORT BASE_DECLARE_FEATURE(kWakeLockOptimisationHiddenMuted);
MEDIA_EXPORT BASE_DECLARE_FEATURE(kWebContentsCaptureHiDpi);
@@ -232,6 +232,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;
+MEDIA_EXPORT extern const base::Feature kAImageReaderVideoOutput;
MEDIA_EXPORT extern const base::Feature kMediaDrmPreprovisioning;
MEDIA_EXPORT extern const base::Feature kMediaDrmPreprovisioningAtStartup;
MEDIA_EXPORT extern const base::Feature kCanPlayHls;
--
2.25.1

View file

@ -0,0 +1,47 @@
From: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Sun, 27 Jun 2021 16:53:48 +0200
Subject: API level 21: prevent crash on download
On Lollipop 5.0.x it is not possible to use the system persistent bundle.
This patch ignores boolean settings for them and prevents the crash.
See also: https://github.com/bromite/bromite/issues/1184
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
.../BundleToPersistableBundleConverter.java | 13 +++++++++++--
1 file changed, 11 insertions(+), 2 deletions(-)
diff --git a/components/background_task_scheduler/internal/android/java/src/org/chromium/components/background_task_scheduler/internal/BundleToPersistableBundleConverter.java b/components/background_task_scheduler/internal/android/java/src/org/chromium/components/background_task_scheduler/internal/BundleToPersistableBundleConverter.java
--- a/components/background_task_scheduler/internal/android/java/src/org/chromium/components/background_task_scheduler/internal/BundleToPersistableBundleConverter.java
+++ b/components/background_task_scheduler/internal/android/java/src/org/chromium/components/background_task_scheduler/internal/BundleToPersistableBundleConverter.java
@@ -4,6 +4,7 @@
package org.chromium.components.background_task_scheduler.internal;
+import android.os.Build;
import android.os.Bundle;
import android.os.PersistableBundle;
@@ -82,9 +83,17 @@ class BundleToPersistableBundleConverter {
if (obj == null) {
persistableBundle.putString(key, null);
} else if (obj instanceof Boolean) {
- persistableBundle.putBoolean(key, (Boolean) obj);
+ if (Build.VERSION.SDK_INT == Build.VERSION_CODES.LOLLIPOP) {
+ failedKeys.add(key);
+ } else {
+ persistableBundle.putBoolean(key, (Boolean) obj);
+ }
} else if (obj instanceof boolean[]) {
- persistableBundle.putBooleanArray(key, (boolean[]) obj);
+ if (Build.VERSION.SDK_INT == Build.VERSION_CODES.LOLLIPOP) {
+ failedKeys.add(key);
+ } else {
+ persistableBundle.putBooleanArray(key, (boolean[]) obj);
+ }
} else if (obj instanceof Double) {
persistableBundle.putDouble(key, (Double) obj);
} else if (obj instanceof double[]) {
--
2.25.1

View file

@ -0,0 +1,60 @@
From: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Sun, 16 Dec 2018 15:24:19 +0100
Subject: AV1 codec support
libaom build fixes (requires -fPIC)
Report AV1 as playable on Android
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
third_party/libaom/BUILD.gn | 6 ++++--
third_party/libaom/libaom_srcs.gni | 5 +++++
2 files changed, 9 insertions(+), 2 deletions(-)
diff --git a/third_party/libaom/BUILD.gn b/third_party/libaom/BUILD.gn
--- a/third_party/libaom/BUILD.gn
+++ b/third_party/libaom/BUILD.gn
@@ -85,7 +85,7 @@ if (current_cpu == "x86" || (current_cpu == "x64" && !is_msan)) {
sources += aom_dsp_encoder_asm_sse2_x86_64
sources += aom_dsp_encoder_asm_ssse3_x86_64
}
- defines = [ "CHROMIUM" ]
+ defines = [ "CHROMIUM", "PIC" ]
include_dirs = libaom_include_dirs
}
@@ -197,7 +197,7 @@ if (current_cpu == "arm64" || cpu_arch_full == "arm-neon" ||
configs += [ "//build/config/compiler:no_chromium_code" ]
if (current_cpu == "arm") {
configs -= [ "//build/config/compiler:compiler_arm_fpu" ]
- cflags = [ "-mfpu=neon" ]
+ cflags = [ "-mfpu=neon", "-fPIC" ]
}
configs += [ ":libaom_config" ]
@@ -259,6 +259,8 @@ static_library("libaom") {
if (current_cpu == "arm64" || cpu_arch_full == "arm-neon" ||
cpu_arch_full == "arm-neon-cpu-detect") {
deps += [ ":libaom_intrinsics_neon" ]
+ # will detect CPU
+ sources += aom_ports_arm_sources
}
if (is_android) {
deps += [ "//third_party/android_ndk:cpu_features" ]
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
@@ -673,6 +673,11 @@ aom_rc_interface_sources = [
"//third_party/libaom/source/libaom/test/yuv_video_source.h",
]
+aom_ports_arm_sources = [
+ "//third_party/libaom/source/libaom/aom_ports/arm_cpudetect.c",
+ "//third_party/libaom/source/libaom/aom_ports/arm.h",
+ ]
+
aom_rtcd_sources = [
"//third_party/libaom/source/libaom/aom_dsp/aom_dsp_rtcd.c",
"//third_party/libaom/source/libaom/aom_scale/aom_scale_rtcd.c",
--
2.25.1

View file

@ -10,17 +10,17 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
chrome/browser/about_flags.cc | 4 ++++
chrome/browser/flag_descriptions.cc | 5 +++++
chrome/browser/flag_descriptions.h | 3 +++
chrome/browser/flags/android/chrome_feature_list.cc | 5 +++++
chrome/browser/flags/android/chrome_feature_list.cc | 4 ++++
chrome/browser/flags/android/chrome_feature_list.h | 1 +
.../chromium/chrome/browser/flags/CachedFeatureFlags.java | 1 +
.../org/chromium/chrome/browser/flags/ChromeFeatureList.java | 3 +++
net/android/java/src/org/chromium/net/X509Util.java | 5 +++++
10 files changed, 31 insertions(+)
10 files changed, 30 insertions(+)
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
@@ -226,6 +226,7 @@ import org.chromium.content_public.browser.ScreenOrientationProvider;
@@ -225,6 +225,7 @@ import org.chromium.content_public.browser.ScreenOrientationProvider;
import org.chromium.content_public.browser.SelectionPopupController;
import org.chromium.content_public.browser.WebContents;
import org.chromium.content_public.common.ContentSwitches;
@ -28,7 +28,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;
@@ -951,6 +952,8 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
@@ -955,6 +956,8 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
UpdateMenuItemHelper.getInstance().onStart();
ChromeActivitySessionTracker.getInstance().onStartWithNative();
ChromeCachedFlags.getInstance().cacheNativeFlags();
@ -40,7 +40,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/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
@@ -78,6 +78,7 @@ public class ChromeCachedFlags {
@@ -77,6 +77,7 @@ public class ChromeCachedFlags {
add(ChromeFeatureList.sAndroidAuxiliarySearch);
add(ChromeFeatureList.sAnonymousUpdateChecks);
add(ChromeFeatureList.sAppMenuMobileSiteOption);
@ -51,17 +51,17 @@ 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
@@ -8830,6 +8830,10 @@ const FeatureEntry kFeatureEntries[] = {
FEATURE_VALUE_TYPE(features::kWin10TabSearchCaptionButton)},
#endif // BUILDFLAG(IS_WIN)
@@ -3595,6 +3595,10 @@ const FeatureEntry kFeatureEntries[] = {
SINGLE_VALUE_TYPE(extensions::switches::kExtensionsOnChromeURLs)},
#endif // ENABLE_EXTENSIONS
#if BUILDFLAG(IS_ANDROID)
+ {"allow-user-certificates",
+ flag_descriptions::kAllowUserCertificatesName,
+ flag_descriptions::kAllowUserCertificatesDescription, kOsAndroid,
+ FEATURE_VALUE_TYPE(chrome::android::kAllowUserCertificates)},
{"omnibox-updated-connection-security-indicators",
flag_descriptions::kOmniboxUpdatedConnectionSecurityIndicatorsName,
flag_descriptions::kOmniboxUpdatedConnectionSecurityIndicatorsDescription,
{"osk-resizes-visual-viewport",
flag_descriptions::kEnableOskResizesVisualViewportName,
flag_descriptions::kEnableOskResizesVisualViewportDescription, kOsAndroid,
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
@ -93,7 +93,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
@@ -148,6 +148,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
@@ -149,6 +149,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
&feed::kFeedNoViewCache,
&feed::kFeedReplaceAll,
&feed::kInterestFeedContentSuggestions,
@ -101,28 +101,27 @@ diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browse
&feed::kInterestFeedV1ClicksAndViewsConditionalUpload,
&feed::kInterestFeedV2,
&feed::kInterestFeedV2Autoplay,
@@ -468,6 +469,10 @@ BASE_FEATURE(kAllowNewIncognitoTabIntents,
"AllowNewIncognitoTabIntents",
base::FEATURE_ENABLED_BY_DEFAULT);
@@ -453,6 +454,9 @@ const base::Feature kAdaptiveButtonInTopToolbarCustomizationV2{
"AdaptiveButtonInTopToolbarCustomizationV2",
base::FEATURE_ENABLED_BY_DEFAULT};
+BASE_FEATURE(kAllowUserCertificates,
+ "AllowUserCertificates",
+ base::FEATURE_DISABLED_BY_DEFAULT);
+const base::Feature kAllowUserCertificates = {
+ "AllowUserCertificates", base::FEATURE_DISABLED_BY_DEFAULT};
+
BASE_FEATURE(kFocusOmniboxInIncognitoTabIntents,
"FocusOmniboxInIncognitoTabIntents",
base::FEATURE_ENABLED_BY_DEFAULT);
const base::Feature kAddToHomescreenIPH{"AddToHomescreenIPH",
base::FEATURE_DISABLED_BY_DEFAULT};
diff --git a/chrome/browser/flags/android/chrome_feature_list.h b/chrome/browser/flags/android/chrome_feature_list.h
--- a/chrome/browser/flags/android/chrome_feature_list.h
+++ b/chrome/browser/flags/android/chrome_feature_list.h
@@ -17,6 +17,7 @@ BASE_DECLARE_FEATURE(kAdaptiveButtonInTopToolbar);
BASE_DECLARE_FEATURE(kAdaptiveButtonInTopToolbarCustomizationV2);
BASE_DECLARE_FEATURE(kAddToHomescreenIPH);
BASE_DECLARE_FEATURE(kAllowNewIncognitoTabIntents);
+BASE_DECLARE_FEATURE(kAllowUserCertificates);
BASE_DECLARE_FEATURE(kAndroidScrollOptimizations);
BASE_DECLARE_FEATURE(kAndroidSearchEngineChoiceNotification);
BASE_DECLARE_FEATURE(kAssistantConsentModal);
@@ -12,6 +12,7 @@
namespace chrome {
namespace android {
+extern const base::Feature kAllowUserCertificates;
// Alphabetical:
extern const base::Feature kAdaptiveButtonInTopToolbar;
extern const base::Feature kAdaptiveButtonInTopToolbarCustomizationV2;
diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/CachedFeatureFlags.java b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/CachedFeatureFlags.java
--- a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/CachedFeatureFlags.java
+++ b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/CachedFeatureFlags.java
@ -145,7 +144,7 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f
public static final String ABOUT_THIS_SITE_BANNER = "AboutThisSiteBanner";
public static final String ADAPTIVE_BUTTON_IN_TOP_TOOLBAR = "AdaptiveButtonInTopToolbar";
public static final String ADAPTIVE_BUTTON_IN_TOP_TOOLBAR_CUSTOMIZATION_V2 =
@@ -648,6 +649,8 @@ public abstract class ChromeFeatureList {
@@ -637,6 +638,8 @@ public abstract class ChromeFeatureList {
public static final String FEED_REPLACE_ALL = "FeedReplaceAll";
/* Alphabetical: */

View file

@ -15,7 +15,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/components/search_engines/prepopulated_engines.json b/components/search_engines/prepopulated_engines.json
--- a/components/search_engines/prepopulated_engines.json
+++ b/components/search_engines/prepopulated_engines.json
@@ -137,6 +137,27 @@
@@ -136,6 +136,27 @@
"id": 1
},

View file

@ -8,15 +8,15 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
chrome/browser/about_flags.cc | 4 ++++
chrome/browser/flag_descriptions.cc | 4 ++++
chrome/browser/flag_descriptions.h | 3 +++
net/base/features.cc | 4 ++++
net/base/features.cc | 3 +++
net/base/features.h | 2 ++
net/url_request/url_request_http_job.cc | 4 ++++
6 files changed, 21 insertions(+)
6 files changed, 20 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
@@ -9070,6 +9070,10 @@ const FeatureEntry kFeatureEntries[] = {
@@ -8862,6 +8862,10 @@ const FeatureEntry kFeatureEntries[] = {
flag_descriptions::kRequestDesktopSiteExceptionsName,
flag_descriptions::kRequestDesktopSiteExceptionsDescription, kOsAndroid,
FEATURE_VALUE_TYPE(features::kRequestDesktopSiteExceptions)},
@ -30,7 +30,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
@@ -1710,6 +1710,10 @@ const char kHttpsOnlyModeDescription[] =
@@ -1661,6 +1661,10 @@ const char kHttpsOnlyModeDescription[] =
"Adds a setting under chrome://settings/security to opt-in to HTTPS-First "
"Mode.";
@ -44,7 +44,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
@@ -960,6 +960,9 @@ extern const char kHideShelfControlsInTabletModeDescription[];
@@ -927,6 +927,9 @@ extern const char kHideShelfControlsInTabletModeDescription[];
extern const char kHttpsOnlyModeName[];
extern const char kHttpsOnlyModeDescription[];
@ -57,29 +57,28 @@ diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptio
diff --git a/net/base/features.cc b/net/base/features.cc
--- a/net/base/features.cc
+++ b/net/base/features.cc
@@ -113,6 +113,10 @@ BASE_FEATURE(kPartitionNelAndReportingByNetworkIsolationKey,
"PartitionNelAndReportingByNetworkIsolationKey", // must be enabled
base::FEATURE_ENABLED_BY_DEFAULT); // in Bromite
@@ -113,6 +113,9 @@ const base::Feature kEnableTLS13EarlyData{"EnableTLS13EarlyData",
const base::Feature kEncryptedClientHello{"EncryptedClientHello",
base::FEATURE_DISABLED_BY_DEFAULT};
+BASE_FEATURE(kIsCleartextPermitted,
+ "IsCleartextPermitted",
+ base::FEATURE_ENABLED_BY_DEFAULT);
+const base::Feature kIsCleartextPermitted{"IsCleartextPermitted",
+ base::FEATURE_ENABLED_BY_DEFAULT};
+
BASE_FEATURE(kEnableDoubleKeyNetworkAnonymizationKey,
"EnableDoubleKeyNetworkAnonymizationKey",
base::FEATURE_DISABLED_BY_DEFAULT);
const base::Feature kNetworkQualityEstimator{"NetworkQualityEstimator",
base::FEATURE_DISABLED_BY_DEFAULT};
diff --git a/net/base/features.h b/net/base/features.h
--- a/net/base/features.h
+++ b/net/base/features.h
@@ -29,6 +29,8 @@ NET_EXPORT BASE_DECLARE_FEATURE(kAvoidH2Reprioritization);
@@ -29,6 +29,8 @@ NET_EXPORT extern const base::Feature kAvoidH2Reprioritization;
// origin requests are restricted to contain at most the source origin.
NET_EXPORT BASE_DECLARE_FEATURE(kCapReferrerToOriginOnCrossOrigin);
NET_EXPORT extern const base::Feature kCapReferrerToOriginOnCrossOrigin;
+NET_EXPORT BASE_DECLARE_FEATURE(kIsCleartextPermitted);
+NET_EXPORT extern const base::Feature kIsCleartextPermitted;
+
// Support for altering the parameters used for DNS transaction timeout. See
// ResolveContext::SecureTransactionTimeout().
NET_EXPORT BASE_DECLARE_FEATURE(kDnsTransactionDynamicTimeouts);
NET_EXPORT extern const base::Feature kDnsTransactionDynamicTimeouts;
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

View file

@ -3,15 +3,11 @@ Date: Thu, 29 Mar 2018 00:43:32 +0200
Subject: Add a proxy configuration page
Accessible from proxy settings and chrome://proxy
Allows to use a PAC script URL, automatic configuration and explicit proxy settings.
Allows to use a PAC script URL, automatic configuration and explicit proxy
settings.
Offer auto-complete for the proxy page URL.
Store proxy settings in LocalState instead of Profile, so that proxy is used for SimpleURLLoaders as well;
this implementation is the same as the one in ChromeOS which gets proxy information from the LocalState
for the system network context; this is strictly not correct on Android because the network context is
never connected to any user profile and only gets proxy information from the system.
Existing settings on Profile are migrated to LocalState on startup.
Credits to @uazo for the LocalState integration.
Store proxy settings in LocalState instead of Profile, so that proxy is used
for SimpleURLLoaders as well.
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
@ -25,8 +21,8 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
chrome/browser/prefs/browser_prefs.cc | 4 +
.../prefs/chrome_command_line_pref_store.cc | 2 +-
chrome/browser/resources/proxy_config.css | 61 +++
chrome/browser/resources/proxy_config.html | 78 ++++
chrome/browser/resources/proxy_config.js | 267 +++++++++++
chrome/browser/resources/proxy_config.html | 79 ++++
chrome/browser/resources/proxy_config.js | 266 +++++++++++
chrome/browser/ui/BUILD.gn | 2 +
.../webui/chrome_web_ui_controller_factory.cc | 3 +
chrome/browser/ui/webui/proxy_config_ui.cc | 418 ++++++++++++++++++
@ -76,18 +72,18 @@ 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
@@ -59,6 +59,7 @@ public class PrivacySettings
private static final String PREF_DO_NOT_TRACK = "do_not_track";
private static final String PREF_CLEAR_BROWSING_DATA = "clear_browsing_data";
private static final String PREF_PRIVACY_SANDBOX = "privacy_sandbox";
+ private static final String PREF_PROXY_OPTIONS = "proxy";
private static final String PREF_PRIVACY_GUIDE = "privacy_guide";
private static final String PREF_INCOGNITO_LOCK = "incognito_lock";
@@ -70,6 +70,7 @@ public class PrivacySettings
SharedPreferencesManager.getInstance();
private final PrefService prefService = UserPrefs.get(Profile.getLastUsedRegularProfile());
+ private static final String PREF_PROXY_OPTIONS = "proxy";
private static final String PREF_CLOSE_TABS_ON_EXIT = "close_tabs_on_exit";
private ManagedPreferenceDelegate mManagedPreferenceDelegate;
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
@@ -284,6 +284,8 @@ ChromeAutocompleteProviderClient::GetBuiltinsToProvideAsUserTypes() {
@@ -273,6 +273,8 @@ ChromeAutocompleteProviderClient::GetBuiltinsToProvideAsUserTypes() {
builtins_to_provide.push_back(
base::ASCIIToUTF16(chrome::kChromeUISettingsURL));
#endif
@ -99,8 +95,8 @@ diff --git a/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc
diff --git a/chrome/browser/browser_resources.grd b/chrome/browser/browser_resources.grd
--- a/chrome/browser/browser_resources.grd
+++ b/chrome/browser/browser_resources.grd
@@ -81,6 +81,12 @@
<include name="IDR_DESK_API_MANIFEST" file="resources\chromeos\desk_api\manifest.json" type="BINDATA" />
@@ -76,6 +76,12 @@
<include name="IDR_CONTACT_CENTER_INSIGHTS_MANIFEST" file="resources\chromeos\contact_center_insights\manifest.json" type="BINDATA" />
</if>
+ <!-- Bromite Proxy Configuration UI -->
@ -187,16 +183,16 @@ diff --git a/chrome/browser/net/proxy_service_factory.h b/chrome/browser/net/pro
diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browser_prefs.cc
--- a/chrome/browser/prefs/browser_prefs.cc
+++ b/chrome/browser/prefs/browser_prefs.cc
@@ -165,6 +165,8 @@
@@ -162,6 +162,8 @@
#include "printing/buildflags/buildflags.h"
#include "rlz/buildflags/buildflags.h"
#include "third_party/abseil-cpp/absl/types/optional.h"
+#include "chrome/browser/net/proxy_service_factory.h"
+
#if BUILDFLAG(ENABLE_BACKGROUND_MODE)
#include "chrome/browser/background/background_mode_manager.h"
#endif
@@ -1013,6 +1015,8 @@ void RegisterLocalState(PrefRegistrySimple* registry) {
@@ -1042,6 +1044,8 @@ void RegisterLocalState(PrefRegistrySimple* registry) {
chrome::enterprise_util::RegisterLocalStatePrefs(registry);
component_updater::RegisterPrefs(registry);
embedder_support::OriginTrialPrefs::RegisterPrefs(registry);
@ -208,13 +204,13 @@ diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browse
diff --git a/chrome/browser/prefs/chrome_command_line_pref_store.cc b/chrome/browser/prefs/chrome_command_line_pref_store.cc
--- a/chrome/browser/prefs/chrome_command_line_pref_store.cc
+++ b/chrome/browser/prefs/chrome_command_line_pref_store.cc
@@ -159,7 +159,7 @@ void ChromeCommandLinePrefStore::ApplyProxyMode() {
command_line()->GetSwitchValueASCII(switches::kProxyBypassList);
SetValue(proxy_config::prefs::kProxy,
base::Value(ProxyConfigDictionary::CreateFixedServers(
- proxy_server, bypass_list)),
+ proxy_server, bypass_list, false)),
WriteablePrefStore::DEFAULT_PREF_WRITE_FLAGS);
@@ -162,7 +162,7 @@ void ChromeCommandLinePrefStore::ApplyProxyMode() {
SetValue(
proxy_config::prefs::kProxy,
std::make_unique<base::Value>(ProxyConfigDictionary::CreateFixedServers(
- proxy_server, bypass_list)),
+ proxy_server, bypass_list, false)),
WriteablePrefStore::DEFAULT_PREF_WRITE_FLAGS);
}
}
diff --git a/chrome/browser/resources/proxy_config.css b/chrome/browser/resources/proxy_config.css
@ -287,7 +283,7 @@ diff --git a/chrome/browser/resources/proxy_config.html b/chrome/browser/resourc
new file mode 100644
--- /dev/null
+++ b/chrome/browser/resources/proxy_config.html
@@ -0,0 +1,78 @@
@@ -0,0 +1,79 @@
+<!doctype html>
+<html>
+<head>
@ -301,7 +297,8 @@ new file mode 100644
+<script src="chrome://resources/js/ios/web_ui.js"></script>
+</if>
+
+<script type="module" src="chrome://resources/js/assert.js"></script>
+<script src="chrome://resources/js/assert.js"></script>
+<script src="chrome://resources/js/util.js"></script>
+<script type="module" src="chrome://proxy/proxy_config.js"></script>
+<link rel="stylesheet" href="chrome://resources/css/text_defaults.css">
+<link rel="stylesheet" href="proxy_config.css">
@ -370,7 +367,7 @@ diff --git a/chrome/browser/resources/proxy_config.js b/chrome/browser/resources
new file mode 100644
--- /dev/null
+++ b/chrome/browser/resources/proxy_config.js
@@ -0,0 +1,267 @@
@@ -0,0 +1,266 @@
+/*
+ This file is part of Bromite.
+
@ -388,7 +385,6 @@ new file mode 100644
+ along with Bromite. If not, see <https://www.gnu.org/licenses/>.
+*/
+
+import {$} from 'chrome://resources/js/util.js';
+import {addSingletonGetter} from 'chrome://resources/js/cr.m.js';
+
+/**
@ -641,8 +637,8 @@ 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
@@ -285,6 +285,8 @@ static_library("ui") {
"webui/metrics_internals/metrics_internals_ui.h",
@@ -280,6 +280,8 @@ static_library("ui") {
"webui/metrics_handler.h",
"webui/net_export_ui.cc",
"webui/net_export_ui.h",
+ "webui/proxy_config_ui.cc",
@ -653,7 +649,7 @@ diff --git a/chrome/browser/ui/BUILD.gn b/chrome/browser/ui/BUILD.gn
diff --git a/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc b/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc
--- a/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc
+++ b/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc
@@ -60,6 +60,7 @@
@@ -58,6 +58,7 @@
#include "chrome/browser/ui/webui/ntp_tiles_internals_ui.h"
#include "chrome/browser/ui/webui/omnibox/omnibox_ui.h"
#include "chrome/browser/ui/webui/policy/policy_ui.h"
@ -661,8 +657,8 @@ diff --git a/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc b/chrom
#include "chrome/browser/ui/webui/predictors/predictors_ui.h"
#include "chrome/browser/ui/webui/segmentation_internals/segmentation_internals_ui.h"
#include "chrome/browser/ui/webui/signin_internals_ui.h"
@@ -795,6 +796,8 @@ WebUIFactoryFunction GetWebUIFactoryFunction(WebUI* web_ui,
return &NewWebUI<MetricsInternalsUI>;
@@ -782,6 +783,8 @@ WebUIFactoryFunction GetWebUIFactoryFunction(WebUI* web_ui,
return &NewWebUI<MemoryInternalsUI>;
if (url.host_piece() == chrome::kChromeUINetExportHost)
return &NewWebUI<NetExportUI>;
+ if (url.host_piece() == chrome::kChromeUIProxyConfigHost)
@ -936,7 +932,7 @@ new file mode 100644
+
+ const PrefService::Preference* const pref =
+ pref_service_->FindPreference(proxy_config::prefs::kProxy);
+ ProxyConfigDictionary proxy_dict(pref->GetValue()->GetDict().Clone());
+ ProxyConfigDictionary proxy_dict(pref->GetValue()->Clone());
+ ProxyPrefs::ProxyMode mode;
+ if (!proxy_dict.GetMode(&mode) || mode == ProxyPrefs::MODE_SYSTEM) {
+ availability = net::ProxyConfigService::CONFIG_UNSET;
@ -948,8 +944,8 @@ new file mode 100644
+void ProxyConfigMessageHandler::OnClear(const base::Value::List& list) {
+ DCHECK_CURRENTLY_ON(BrowserThread::UI);
+
+ const base::Value::Dict cfg = ProxyConfigDictionary::CreateSystem();
+ pref_service_->SetDict(proxy_config::prefs::kProxy, cfg.Clone());
+ const base::Value cfg = ProxyConfigDictionary::CreateSystem();
+ pref_service_->Set(proxy_config::prefs::kProxy, cfg);
+ pref_service_->CommitPendingWrite();
+ OnEnableNotifyUIWithState(list);
+}
@ -1060,22 +1056,22 @@ new file mode 100644
+
+void ProxyConfigMessageHandler::apply(const net::ProxyConfig& proxyConfig) {
+ if (proxyConfig.auto_detect()) {
+ const base::Value::Dict cfg = ProxyConfigDictionary::CreateAutoDetect();
+ pref_service_->SetDict(proxy_config::prefs::kProxy, cfg.Clone());
+ const base::Value cfg = ProxyConfigDictionary::CreateAutoDetect();
+ pref_service_->Set(proxy_config::prefs::kProxy, cfg);
+ } else if (proxyConfig.has_pac_url()) {
+ const base::Value::Dict cfg = ProxyConfigDictionary::CreatePacScript(proxyConfig.pac_url().spec(), proxyConfig.pac_mandatory());
+ pref_service_->SetDict(proxy_config::prefs::kProxy, cfg.Clone());
+ const base::Value cfg = ProxyConfigDictionary::CreatePacScript(proxyConfig.pac_url().spec(), proxyConfig.pac_mandatory());
+ pref_service_->Set(proxy_config::prefs::kProxy, cfg);
+ } else if (proxyConfig.proxy_rules().type == net::ProxyConfig::ProxyRules::Type::EMPTY) {
+ const base::Value::Dict cfg = ProxyConfigDictionary::CreateDirect();
+ pref_service_->SetDict(proxy_config::prefs::kProxy, cfg.Clone());
+ const base::Value cfg = ProxyConfigDictionary::CreateDirect();
+ pref_service_->Set(proxy_config::prefs::kProxy, cfg);
+ } else {
+ auto proxyRulesAsString = proxyConfig.proxy_rules().ToString();
+ auto bypassRulesAsString = proxyConfig.proxy_rules().bypass_rules.ToString();
+
+ // fixed servers
+ const base::Value::Dict cfg = ProxyConfigDictionary::CreateFixedServers(proxyRulesAsString,
+ const base::Value cfg = ProxyConfigDictionary::CreateFixedServers(proxyRulesAsString,
+ bypassRulesAsString, proxyConfig.proxy_rules().reverse_bypass);
+ pref_service_->SetDict(proxy_config::prefs::kProxy, cfg.Clone());
+ pref_service_->Set(proxy_config::prefs::kProxy, cfg);
+ }
+ pref_service_->CommitPendingWrite();
+
@ -1160,7 +1156,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
@@ -134,6 +134,8 @@ extern const char kChromeUIMetricsInternalsHost[];
@@ -134,6 +134,8 @@ extern const char kChromeUIMemoryInternalsHost[];
extern const char kChromeUINTPTilesInternalsHost[];
extern const char kChromeUINaClHost[];
extern const char kChromeUINetExportHost[];
@ -1192,47 +1188,46 @@ diff --git a/components/proxy_config/proxy_config_dictionary.cc b/components/pro
} // namespace
@@ -76,6 +78,14 @@ bool ProxyConfigDictionary::HasBypassList() const {
return dict_.Find(kProxyBypassList);
@@ -78,6 +80,14 @@ bool ProxyConfigDictionary::HasBypassList() const {
return dict_.FindKey(kProxyBypassList);
}
+bool ProxyConfigDictionary::HasReverseBypass() const {
+ const base::Value* value = dict_.Find(kProxyReverseBypass);
+ const base::Value* value = dict_.FindKey(kProxyReverseBypass);
+ if (!value || !value->is_bool()) {
+ return false;
+ }
+ return value->GetBool();
+}
+
const base::Value::Dict& ProxyConfigDictionary::GetDictionary() const {
const base::Value& ProxyConfigDictionary::GetDictionary() const {
return dict_;
}
@@ -83,13 +93,13 @@ const base::Value::Dict& ProxyConfigDictionary::GetDictionary() const {
@@ -85,29 +95,30 @@ const base::Value& ProxyConfigDictionary::GetDictionary() const {
// static
base::Value::Dict ProxyConfigDictionary::CreateDirect() {
base::Value ProxyConfigDictionary::CreateDirect() {
return CreateDictionary(ProxyPrefs::MODE_DIRECT, std::string(), false,
- std::string(), std::string());
+ std::string(), std::string(), false);
}
// static
base::Value::Dict ProxyConfigDictionary::CreateAutoDetect() {
base::Value ProxyConfigDictionary::CreateAutoDetect() {
return CreateDictionary(ProxyPrefs::MODE_AUTO_DETECT, std::string(), false,
- std::string(), std::string());
+ std::string(), std::string(), false);
}
// static
@@ -97,16 +107,17 @@ base::Value::Dict ProxyConfigDictionary::CreatePacScript(
const std::string& pac_url,
bool pac_mandatory) {
base::Value ProxyConfigDictionary::CreatePacScript(const std::string& pac_url,
bool pac_mandatory) {
return CreateDictionary(ProxyPrefs::MODE_PAC_SCRIPT, pac_url, pac_mandatory,
- std::string(), std::string());
+ std::string(), std::string(), false);
}
// static
base::Value::Dict ProxyConfigDictionary::CreateFixedServers(
base::Value ProxyConfigDictionary::CreateFixedServers(
const std::string& proxy_server,
- const std::string& bypass_list) {
+ const std::string& bypass_list,
@ -1244,33 +1239,33 @@ diff --git a/components/proxy_config/proxy_config_dictionary.cc b/components/pro
} else {
return CreateDirect();
}
@@ -115,7 +126,7 @@ base::Value::Dict ProxyConfigDictionary::CreateFixedServers(
@@ -116,7 +127,7 @@ base::Value ProxyConfigDictionary::CreateFixedServers(
// static
base::Value::Dict ProxyConfigDictionary::CreateSystem() {
base::Value ProxyConfigDictionary::CreateSystem() {
return CreateDictionary(ProxyPrefs::MODE_SYSTEM, std::string(), false,
- std::string(), std::string());
+ std::string(), std::string(), false);
}
// static
@@ -124,7 +135,8 @@ base::Value::Dict ProxyConfigDictionary::CreateDictionary(
@@ -125,7 +136,8 @@ base::Value ProxyConfigDictionary::CreateDictionary(
const std::string& pac_url,
bool pac_mandatory,
const std::string& proxy_server,
- const std::string& bypass_list) {
+ const std::string& bypass_list,
+ bool reverse_bypass) {
base::Value::Dict dict;
dict.Set(kProxyMode, base::Value(ProxyModeToString(mode)));
base::Value dict(base::Value::Type::DICTIONARY);
dict.SetKey(kProxyMode, base::Value(ProxyModeToString(mode)));
if (!pac_url.empty()) {
@@ -133,8 +145,10 @@ base::Value::Dict ProxyConfigDictionary::CreateDictionary(
@@ -134,8 +146,10 @@ base::Value ProxyConfigDictionary::CreateDictionary(
}
if (!proxy_server.empty())
dict.Set(kProxyServer, base::Value(proxy_server));
dict.SetKey(kProxyServer, base::Value(proxy_server));
- if (!bypass_list.empty())
+ if (!bypass_list.empty()) {
dict.Set(kProxyBypassList, base::Value(bypass_list));
+ dict.Set(kProxyReverseBypass, base::Value(reverse_bypass));
dict.SetKey(kProxyBypassList, base::Value(bypass_list));
+ dict.SetKey(kProxyReverseBypass, base::Value(reverse_bypass));
+ }
return dict;
}
@ -1284,37 +1279,37 @@ diff --git a/components/proxy_config/proxy_config_dictionary.h b/components/prox
bool HasBypassList() const;
+ bool HasReverseBypass() const;
const base::Value::Dict& GetDictionary() const;
const base::Value& GetDictionary() const;
@@ -50,7 +51,8 @@ class PROXY_CONFIG_EXPORT ProxyConfigDictionary {
static base::Value::Dict CreatePacScript(const std::string& pac_url,
bool pac_mandatory);
static base::Value::Dict CreateFixedServers(const std::string& proxy_server,
- const std::string& bypass_list);
+ const std::string& bypass_list,
+ bool reverse_bypass);
static base::Value::Dict CreateSystem();
static base::Value CreatePacScript(const std::string& pac_url,
bool pac_mandatory);
static base::Value CreateFixedServers(const std::string& proxy_server,
- const std::string& bypass_list);
+ const std::string& bypass_list,
+ bool reverse_bypass);
static base::Value CreateSystem();
// Encodes the proxy server as "<url-scheme>=<proxy-scheme>://<proxy>".
@@ -66,7 +68,8 @@ class PROXY_CONFIG_EXPORT ProxyConfigDictionary {
const std::string& pac_url,
bool pac_mandatory,
const std::string& proxy_server,
- const std::string& bypass_list);
+ const std::string& bypass_list,
+ bool reverse_bypass);
const std::string& pac_url,
bool pac_mandatory,
const std::string& proxy_server,
- const std::string& bypass_list);
+ const std::string& bypass_list,
+ bool reverse_bypass);
base::Value::Dict dict_;
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
@@ -263,7 +263,7 @@ void ProxyPolicyHandler::ApplyPolicySettings(const PolicyMap& policies,
set_proxy_pref_value(ProxyConfigDictionary::CreateFixedServers(
server->GetString(), bypass_list && bypass_list->is_string()
? bypass_list->GetString()
- : std::string()));
+ : std::string(), false));
@@ -264,7 +264,7 @@ void ProxyPolicyHandler::ApplyPolicySettings(const PolicyMap& policies,
ProxyConfigDictionary::CreateFixedServers(
server->GetString(), bypass_list && bypass_list->is_string()
? bypass_list->GetString()
- : std::string()));
+ : std::string(), false));
}
break;
}

View file

@ -24,7 +24,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../java/res/xml/incognito_preferences.xml | 37 ++++
.../java/res/xml/privacy_preferences.xml | 5 +
.../AlwaysIncognitoLinkInterceptor.java | 53 ++++++
.../chrome/browser/ChromeTabbedActivity.java | 9 +-
.../chrome/browser/ChromeTabbedActivity.java | 6 +-
.../chrome/browser/app/ChromeActivity.java | 4 +
.../AppMenuPropertiesDelegateImpl.java | 26 ++-
.../ChromeContextMenuPopulator.java | 7 +-
@ -35,20 +35,19 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../browser/history/HistoryManager.java | 18 +-
.../chrome/browser/history/HistoryPage.java | 16 ++
.../native_page/NativePageFactory.java | 4 +-
.../chrome/browser/ntp/RecentTabsManager.java | 28 ++-
.../chrome/browser/ntp/RecentTabsManager.java | 3 +-
.../privacy/settings/IncognitoSettings.java | 160 ++++++++++++++++++
.../browser/settings/SettingsActivity.java | 4 +
.../HistoricalTabModelObserver.java | 6 +-
.../HistoricalTabModelObserver.java | 8 +-
.../tab/tab_restore/HistoricalTabSaver.java | 2 +-
.../tab_restore/HistoricalTabSaverImpl.java | 17 +-
.../tab_restore/HistoricalTabSaverImpl.java | 16 +-
.../tabbed_mode/TabbedRootUiCoordinator.java | 4 +-
.../browser/tabmodel/ChromeTabCreator.java | 5 +-
.../tabmodel/TabModelSelectorImpl.java | 3 +
.../browser/tabmodel/TabPersistentStore.java | 9 +
.../browser/toolbar/ToolbarManager.java | 4 +-
.../webapps/WebappIntentDataProvider.java | 14 ++
chrome/browser/about_flags.cc | 4 +
.../browser/android/historical_tab_saver.cc | 22 ++-
.../browser/android/historical_tab_saver.cc | 21 ++-
.../chrome_autocomplete_provider_client.cc | 7 +
.../chrome_autocomplete_provider_client.h | 1 +
.../host_content_settings_map_factory.cc | 20 ++-
@ -57,9 +56,9 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../flags/android/chrome_feature_list.cc | 4 +-
chrome/browser/history/history_tab_helper.cc | 18 ++
chrome/browser/history/history_tab_helper.h | 10 +-
.../android/offline_page_bridge.cc | 11 +-
.../android/offline_page_model_factory.cc | 20 ++-
.../android/request_coordinator_factory.cc | 27 ++-
.../android/offline_page_bridge.cc | 13 +-
.../android/offline_page_model_factory.cc | 21 ++-
.../android/request_coordinator_factory.cc | 21 ++-
.../offline_page_model_factory.h | 1 +
.../offline_pages/recent_tab_helper.cc | 19 ++-
.../browser/offline_pages/recent_tab_helper.h | 3 +
@ -68,7 +67,6 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../browser/ui/android/native_page/BUILD.gn | 2 +
.../browser/ui/native_page/NativePage.java | 12 +-
.../strings/android_chrome_strings.grd | 31 ++++
.../browser/toolbar/LocationBarModel.java | 7 +-
chrome/browser/ui/messages/android/BUILD.gn | 1 +
.../snackbar/INeedSnackbarManager.java | 27 +++
chrome/common/pref_names.cc | 6 +
@ -84,7 +82,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../omnibox/browser/base_search_provider.cc | 2 +-
components/omnibox/browser/search_provider.cc | 4 +-
.../host_content_settings_map_factory.cc | 1 +
65 files changed, 719 insertions(+), 77 deletions(-)
63 files changed, 680 insertions(+), 74 deletions(-)
create mode 100644 chrome/android/java/res/xml/incognito_preferences.xml
create mode 100644 chrome/android/java/src/org/chromium/chrome/browser/AlwaysIncognitoLinkInterceptor.java
create mode 100644 chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/IncognitoSettings.java
@ -93,7 +91,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
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
@@ -652,6 +652,7 @@ chrome_java_resources = [
@@ -654,6 +654,7 @@ chrome_java_resources = [
"java/res/xml/main_preferences.xml",
"java/res/xml/manage_sync_preferences.xml",
"java/res/xml/phone_as_a_security_key_accessory_filter.xml",
@ -112,7 +110,7 @@ diff --git a/chrome/android/chrome_java_sources.gni b/chrome/android/chrome_java
"java/src/com/google/android/apps/chrome/appwidget/bookmarks/BookmarkThumbnailWidgetProvider.java",
"java/src/org/chromium/chrome/browser/ActivityTabProvider.java",
"java/src/org/chromium/chrome/browser/ActivityUtils.java",
@@ -914,6 +915,7 @@ chrome_java_sources = [
@@ -912,6 +913,7 @@ chrome_java_sources = [
"java/src/org/chromium/chrome/browser/privacy/settings/IncognitoLockSettings.java",
"java/src/org/chromium/chrome/browser/privacy/settings/PrivacyPreferencesManagerImpl.java",
"java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java",
@ -228,7 +226,7 @@ new file mode 100644
+ public static void migrateSettingToNative() {
+ if (isAlwaysIncognito()) {
+ PrefService prefService = UserPrefs.get(Profile.getLastUsedRegularProfile());
+ if (!prefService.getBoolean(Pref.ALWAYS_INCOGNITO_ENABLED)) {
+ if(!prefService.getBoolean(Pref.ALWAYS_INCOGNITO_ENABLED)) {
+ Log.i(TAG, "Pref migration from java to native");
+ prefService.setBoolean(Pref.ALWAYS_INCOGNITO_ENABLED, true);
+ }
@ -238,7 +236,7 @@ new file mode 100644
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
@@ -58,6 +58,7 @@ import org.chromium.base.task.PostTask;
@@ -57,6 +57,7 @@ import org.chromium.base.task.PostTask;
import org.chromium.build.annotations.UsedByReflection;
import org.chromium.cc.input.BrowserControlsState;
import org.chromium.chrome.R;
@ -246,18 +244,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;
@@ -578,8 +579,9 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
mTabModelOrchestrator.onNativeLibraryReady(getTabContentManager());
// For saving non-incognito tab closures for Recent Tabs.
+ boolean alwaysIncognito = AlwaysIncognitoLinkInterceptor.isAlwaysIncognito();
mHistoricalTabModelObserver =
- new HistoricalTabModelObserver(mTabModelSelector.getModel(false));
+ new HistoricalTabModelObserver(mTabModelSelector.getModel(alwaysIncognito));
if (TabUiFeatureUtilities.isTabletGridTabSwitcherEnabled(this)) {
mTabModelSelector.addObserver(new TabModelSelectorObserver() {
@@ -1904,8 +1906,9 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
@@ -1899,8 +1900,9 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
Bundle savedInstanceState = getSavedInstanceState();
// We determine the model as soon as possible so every systems get initialized coherently.
@ -280,7 +267,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;
@@ -1808,6 +1809,9 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
@@ -1812,6 +1813,9 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
throw new IllegalStateException(
"Attempting to access TabCreator before initialization");
}
@ -299,9 +286,9 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/App
import org.chromium.chrome.browser.ActivityTabProvider;
+import org.chromium.chrome.browser.AlwaysIncognitoLinkInterceptor;
import org.chromium.chrome.browser.banners.AppMenuVerbiage;
import org.chromium.chrome.browser.bookmarks.BookmarkBridge;
import org.chromium.chrome.browser.bookmarks.BookmarkFeatures;
import org.chromium.chrome.browser.bookmarks.BookmarkModel;
@@ -99,6 +100,10 @@ import java.util.ArrayList;
@@ -98,6 +99,10 @@ import java.util.ArrayList;
import java.util.List;
import java.util.Map;
@ -312,7 +299,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.
@@ -560,6 +565,13 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate
@@ -558,6 +563,13 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate
}
private void prepareCommonMenuItems(Menu menu, @MenuGroup int menuGroup, boolean isIncognito) {
@ -326,7 +313,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 isOverviewModeMenu = menuGroup == MenuGroup.OVERVIEW_MODE_MENU;
@@ -636,7 +648,15 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate
@@ -616,7 +628,15 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate
}
if (item.getItemId() == R.id.recent_tabs_menu_id) {
@ -342,8 +329,8 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/App
+ item.setVisible(!isIncognito);
}
if (item.getItemId() == R.id.menu_group_tabs) {
item.setVisible(isMenuGroupTabsVisible);
@@ -876,7 +896,9 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate
// Disable incognito group tabs when a re-authentication screen is shown.
@@ -858,7 +878,9 @@ 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
@ -365,7 +352,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/Chr
import org.chromium.chrome.browser.compositor.bottombar.ephemeraltab.EphemeralTabCoordinator;
import org.chromium.chrome.browser.contextmenu.ChromeContextMenuItem.Item;
import org.chromium.chrome.browser.contextmenu.ContextMenuCoordinator.ListItemType;
@@ -364,6 +365,9 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator {
@@ -374,6 +375,9 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator {
boolean hasSaveImage = false;
mShowEphemeralTabNewLabel = null;
@ -375,7 +362,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/Chr
List<Pair<Integer, ModelList>> groupedItems = new ArrayList<>();
if (mParams.isAnchor()) {
@@ -382,6 +386,7 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator {
@@ -392,6 +396,7 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator {
linkGroup.add(createListItem(Item.OPEN_IN_NEW_TAB_IN_GROUP));
}
}
@ -383,7 +370,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/Chr
if (!mItemDelegate.isIncognito() && mItemDelegate.isIncognitoSupported()) {
linkGroup.add(createListItem(Item.OPEN_IN_INCOGNITO_TAB));
}
@@ -406,7 +411,7 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator {
@@ -416,7 +421,7 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator {
}
}
if (FirstRunStatus.getFirstRunFlowComplete()) {
@ -395,7 +382,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/Chr
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabActivityLifecycleUmaTracker.java b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabActivityLifecycleUmaTracker.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabActivityLifecycleUmaTracker.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabActivityLifecycleUmaTracker.java
@@ -68,31 +68,6 @@ public class CustomTabActivityLifecycleUmaTracker
@@ -66,31 +66,6 @@ public class CustomTabActivityLifecycleUmaTracker implements PauseResumeWithNati
private boolean mIsInitialResume = true;
private void recordIncognitoLaunchReason() {
@ -437,8 +424,8 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/Cust
+import org.chromium.chrome.browser.AlwaysIncognitoLinkInterceptor;
import org.chromium.chrome.browser.DefaultBrowserInfo;
import org.chromium.chrome.browser.app.appmenu.AppMenuPropertiesDelegateImpl;
import org.chromium.chrome.browser.app.appmenu.DividerLineMenuItemViewBinder;
@@ -176,6 +177,9 @@ public class CustomTabAppMenuPropertiesDelegate extends AppMenuPropertiesDelegat
import org.chromium.chrome.browser.bookmarks.BookmarkBridge;
@@ -172,6 +173,9 @@ public class CustomTabAppMenuPropertiesDelegate extends AppMenuPropertiesDelegat
downloadItemVisible = false;
openInChromeItemVisible = false;
}
@ -461,7 +448,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/Cust
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.util.ArrayList;
@@ -855,7 +858,7 @@ public class CustomTabIntentDataProvider extends BrowserServicesIntentDataProvid
@@ -847,7 +850,7 @@ public class CustomTabIntentDataProvider extends BrowserServicesIntentDataProvid
@Override
public boolean isIncognito() {
@ -513,7 +500,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
@@ -35,6 +35,7 @@ import com.google.android.material.tabs.TabLayout.OnTabSelectedListener;
@@ -33,6 +33,7 @@ import com.google.android.material.tabs.TabLayout.OnTabSelectedListener;
import org.chromium.base.metrics.RecordHistogram;
import org.chromium.base.metrics.RecordUserAction;
import org.chromium.base.supplier.ObservableSupplier;
@ -521,9 +508,9 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/history/History
import org.chromium.base.supplier.ObservableSupplierImpl;
import org.chromium.base.supplier.Supplier;
import org.chromium.chrome.R;
@@ -77,6 +78,12 @@ import java.io.Serializable;
@@ -73,6 +74,12 @@ import org.chromium.url.GURL;
import java.io.Serializable;
import java.util.List;
import java.util.concurrent.atomic.AtomicReference;
+import org.chromium.chrome.browser.profiles.Profile;
+import org.chromium.base.ContextUtils;
@ -534,7 +521,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/history/History
/**
* Combines and manages the different UI components of browsing history.
*/
@@ -551,7 +558,16 @@ public class HistoryManager implements OnMenuItemClickListener, SelectionObserve
@@ -504,7 +511,16 @@ public class HistoryManager implements OnMenuItemClickListener, SelectionObserve
return mRootView;
}
@ -616,23 +603,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/native_page/Nat
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/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
@@ -21,6 +21,15 @@ import org.chromium.chrome.browser.ui.favicon.FaviconHelper;
import org.chromium.chrome.browser.ui.favicon.FaviconHelper.FaviconImageCallback;
import org.chromium.url.GURL;
+import android.content.Intent;
+import android.provider.Browser;
+import android.net.Uri;
+import org.chromium.base.ContextUtils;
+import org.chromium.chrome.browser.AlwaysIncognitoLinkInterceptor;
+import org.chromium.chrome.browser.IntentHandler;
+import org.chromium.ui.mojom.WindowOpenDisposition;
+import org.chromium.components.embedder_support.util.UrlUtilities;
+
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -78,7 +87,8 @@ public class RecentTabsManager {
@@ -79,7 +79,8 @@ public class RecentTabsManager {
*/
public RecentTabsManager(Tab tab, TabModelSelector tabModelSelector, Profile profile,
Context context, Runnable showHistoryManager) {
@ -642,29 +613,6 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/RecentTabsM
mActiveTab = tab;
mTabModelSelector = tabModelSelector;
mShowHistoryManager = showHistoryManager;
@@ -210,6 +220,22 @@ public class RecentTabsManager {
*/
public void openRecentlyClosedTab(RecentlyClosedTab tab, int windowDisposition) {
if (mIsDestroyed) return;
+ if (AlwaysIncognitoLinkInterceptor.isAlwaysIncognito()) {
+ // allow only http/https urls
+ if (!UrlUtilities.isHttpOrHttps(tab.getUrl())) return;
+
+ Context context = ContextUtils.getApplicationContext();
+ Intent intent = new Intent(Intent.ACTION_VIEW,
+ Uri.parse(tab.getUrl().getSpec()));
+ intent.putExtra(Browser.EXTRA_APPLICATION_ID, context.getPackageName());
+ if (windowDisposition != WindowOpenDisposition.CURRENT_TAB) {
+ intent.putExtra(IntentHandler.EXTRA_OPEN_NEW_INCOGNITO_TAB, true);
+ }
+ intent.setPackage(context.getPackageName());
+ intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
+ IntentHandler.startActivityForTrustedIntent(intent);
+ return;
+ }
mTabSessionIdsRestored.put(tab.getSessionId(), true);
RecordUserAction.record("MobileRecentTabManagerRecentTabOpened");
// Window disposition will select which tab to open.
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/IncognitoSettings.java b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/IncognitoSettings.java
new file mode 100644
--- /dev/null
@ -854,7 +802,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/Settin
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/tab_restore/HistoricalTabModelObserver.java b/chrome/android/java/src/org/chromium/chrome/browser/tab/tab_restore/HistoricalTabModelObserver.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/tab/tab_restore/HistoricalTabModelObserver.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tab/tab_restore/HistoricalTabModelObserver.java
@@ -14,6 +14,8 @@ import java.util.ArrayList;
@@ -15,6 +15,8 @@ import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
@ -863,7 +811,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/tab_restore
/**
* A tab model observer for managing bulk closures.
*/
@@ -41,7 +43,8 @@ public class HistoricalTabModelObserver implements TabModelObserver {
@@ -47,7 +49,8 @@ public class HistoricalTabModelObserver implements TabModelObserver {
if (tabs.isEmpty()) return;
if (tabs.size() == 1) {
@ -873,14 +821,17 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/tab_restore
return;
}
@@ -72,7 +75,6 @@ public class HistoricalTabModelObserver implements TabModelObserver {
entries.add(historicalGroup);
idToGroup.put(groupId, historicalGroup);
@@ -59,8 +62,9 @@ public class HistoricalTabModelObserver implements TabModelObserver {
* identical to what occurred prior to {@link ChromeFeatureList.BULK_TAB_RESTORE}.
*/
private void legacyCreateHistoricalTabs(List<Tab> tabs) {
+ boolean is_always_incognito = AlwaysIncognitoLinkInterceptor.isAlwaysIncognito();
for (Tab tab : tabs) {
- mHistoricalTabSaver.createHistoricalTab(tab);
+ mHistoricalTabSaver.createHistoricalTab(tab, is_always_incognito);
}
-
mHistoricalTabSaver.createHistoricalBulkClosure(entries);
}
}
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/tab_restore/HistoricalTabSaver.java b/chrome/android/java/src/org/chromium/chrome/browser/tab/tab_restore/HistoricalTabSaver.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/tab/tab_restore/HistoricalTabSaver.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tab/tab_restore/HistoricalTabSaver.java
@ -896,7 +847,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/tab_restore
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/tab_restore/HistoricalTabSaverImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/tab/tab_restore/HistoricalTabSaverImpl.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/tab/tab_restore/HistoricalTabSaverImpl.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tab/tab_restore/HistoricalTabSaverImpl.java
@@ -27,6 +27,8 @@ import java.util.Arrays;
@@ -29,6 +29,8 @@ import java.util.Arrays;
import java.util.Collections;
import java.util.List;
@ -905,7 +856,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/tab_restore
/**
* Creates historical entries in TabRestoreService.
*/
@@ -60,10 +62,10 @@ public class HistoricalTabSaverImpl implements HistoricalTabSaver {
@@ -62,10 +64,10 @@ public class HistoricalTabSaverImpl implements HistoricalTabSaver {
// HistoricalTabSaver implementation.
@Override
@ -918,7 +869,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/tab_restore
}
@Override
@@ -115,7 +117,7 @@ public class HistoricalTabSaverImpl implements HistoricalTabSaver {
@@ -106,7 +108,7 @@ public class HistoricalTabSaverImpl implements HistoricalTabSaver {
// If there is only a single valid tab remaining save it individually.
if (validEntries.size() == 1 && validEntries.get(0).isSingleTab()) {
@ -927,22 +878,20 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/tab_restore
return;
}
@@ -140,11 +142,12 @@ public class HistoricalTabSaverImpl implements HistoricalTabSaver {
CollectionUtil.integerListToIntArray(savedStateVersions));
@@ -128,10 +130,10 @@ public class HistoricalTabSaverImpl implements HistoricalTabSaver {
CollectionUtil.integerListToIntArray(perTabGroupId), allTabs.toArray(new Tab[0]));
}
- private void createHistoricalTabInternal(Tab tab) {
+ private void createHistoricalTabInternal(Tab tab, boolean is_always_incognito) {
RecordHistogram.recordEnumeratedHistogram("Tabs.RecentlyClosed.HistoricalSaverCloseType",
HistoricalSaverCloseType.TAB, HistoricalSaverCloseType.COUNT);
HistoricalTabSaverImplJni.get().createHistoricalTab(
- tab, getWebContentsState(tab).buffer(), getWebContentsState(tab).version());
+ tab, getWebContentsState(tab).buffer(), getWebContentsState(tab).version(),
+ is_always_incognito);
- HistoricalTabSaverImplJni.get().createHistoricalTab(tab);
+ HistoricalTabSaverImplJni.get().createHistoricalTab(tab, is_always_incognito);
}
/**
@@ -152,7 +155,7 @@ public class HistoricalTabSaverImpl implements HistoricalTabSaver {
@@ -139,7 +141,7 @@ public class HistoricalTabSaverImpl implements HistoricalTabSaver {
* internal Chrome scheme, about:blank, or a native page and it cannot be incognito.
*/
private boolean shouldSave(Tab tab) {
@ -951,15 +900,15 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/tab_restore
// {@link GURL#getScheme()} is not available in unit tests.
if (mIgnoreUrlSchemesForTesting) return true;
@@ -225,7 +228,7 @@ public class HistoricalTabSaverImpl implements HistoricalTabSaver {
@@ -217,7 +219,7 @@ public class HistoricalTabSaverImpl implements HistoricalTabSaver {
@NativeMethods
interface Natives {
- void createHistoricalTab(Tab tab, ByteBuffer state, int savedStateVersion);
+ void createHistoricalTab(Tab tab, ByteBuffer state, int savedStateVersion, boolean is_always_incognito);
void createHistoricalGroup(TabModel model, String title, Tab[] tabs,
ByteBuffer[] byteBuffers, int[] savedStationsVersions);
void createHistoricalBulkClosure(TabModel model, int[] groupIds, String[] titles,
- void createHistoricalTab(Tab tab);
+ void createHistoricalTab(Tab tab, boolean is_always_incognito);
void createHistoricalGroup(TabModel model, String title, Tab[] tabs);
void createHistoricalBulkClosure(
TabModel model, int[] groupIds, String[] titles, int[] perTabGroupId, Tab[] tabs);
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
@ -1035,7 +984,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;
@@ -757,6 +759,13 @@ public class TabPersistentStore {
@@ -747,6 +749,13 @@ public class TabPersistentStore {
}
}
}
@ -1049,27 +998,6 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabPer
TabModel model = mTabModelSelector.getModel(isIncognito);
if (model.isIncognito() != isIncognito) {
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/ToolbarManager.java b/chrome/android/java/src/org/chromium/chrome/browser/toolbar/ToolbarManager.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/ToolbarManager.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/toolbar/ToolbarManager.java
@@ -38,6 +38,7 @@ import org.chromium.base.supplier.OneshotSupplier;
import org.chromium.base.supplier.Supplier;
import org.chromium.chrome.R;
import org.chromium.chrome.browser.ActivityTabProvider;
+import org.chromium.chrome.browser.AlwaysIncognitoLinkInterceptor;
import org.chromium.chrome.browser.IntentHandler;
import org.chromium.chrome.browser.app.tab_activity_glue.TabReparentingController;
import org.chromium.chrome.browser.app.tabmodel.TabWindowManagerSingleton;
@@ -523,7 +524,8 @@ public class ToolbarManager implements UrlFocusChangeListener, ThemeColorObserve
return ret;
}
},
- SearchEngineLogoUtils.getInstance());
+ SearchEngineLogoUtils.getInstance(),
+ AlwaysIncognitoLinkInterceptor.isAlwaysIncognito());
mControlContainer = controlContainer;
assert mControlContainer != null;
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
@ -1118,7 +1046,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/webapps/WebappI
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
@@ -4837,6 +4837,10 @@ const FeatureEntry kFeatureEntries[] = {
@@ -4713,6 +4713,10 @@ const FeatureEntry kFeatureEntries[] = {
flag_descriptions::kOfflinePagesLivePageSharingName,
flag_descriptions::kOfflinePagesLivePageSharingDescription, kOsAndroid,
FEATURE_VALUE_TYPE(offline_pages::kOfflinePagesLivePageSharingFeature)},
@ -1132,7 +1060,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
diff --git a/chrome/browser/android/historical_tab_saver.cc b/chrome/browser/android/historical_tab_saver.cc
--- a/chrome/browser/android/historical_tab_saver.cc
+++ b/chrome/browser/android/historical_tab_saver.cc
@@ -26,6 +26,11 @@
@@ -25,6 +25,11 @@
#include "components/sessions/core/tab_restore_service.h"
#include "content/public/browser/web_contents.h"
@ -1144,17 +1072,16 @@ diff --git a/chrome/browser/android/historical_tab_saver.cc b/chrome/browser/and
using base::android::JavaParamRef;
using base::android::ScopedJavaLocalRef;
@@ -38,7 +43,8 @@ constexpr int kInvalidGroupId = -1;
@@ -35,7 +40,7 @@ namespace {
// Defined in TabGroupModelFilter.java
constexpr int kInvalidGroupId = -1;
void CreateHistoricalTab(
TabAndroid* tab_android,
- WebContentsStateByteBuffer web_contents_state_byte_buffer) {
+ WebContentsStateByteBuffer web_contents_state_byte_buffer,
+ bool is_always_incognito) {
-void CreateHistoricalTab(TabAndroid* tab_android) {
+void CreateHistoricalTab(TabAndroid* tab_android, bool is_always_incognito) {
if (!tab_android) {
return;
}
@@ -49,9 +55,14 @@ void CreateHistoricalTab(
@@ -45,9 +50,14 @@ void CreateHistoricalTab(TabAndroid* tab_android) {
return;
}
@ -1171,28 +1098,22 @@ diff --git a/chrome/browser/android/historical_tab_saver.cc b/chrome/browser/and
if (!service) {
return;
}
@@ -243,14 +254,15 @@ static void JNI_HistoricalTabSaverImpl_CreateHistoricalTab(
@@ -190,8 +200,9 @@ std::unique_ptr<ScopedWebContents> ScopedWebContents::CreateForTab(
// static
static void JNI_HistoricalTabSaverImpl_CreateHistoricalTab(
JNIEnv* env,
const JavaParamRef<jobject>& jtab_android,
const JavaParamRef<jobject>& state,
- jint saved_state_version) {
+ jint saved_state_version,
- const JavaParamRef<jobject>& jtab_android) {
- CreateHistoricalTab(TabAndroid::GetNativeTab(env, jtab_android));
+ const JavaParamRef<jobject>& jtab_android,
+ jboolean is_always_incognito) {
void* data = env->GetDirectBufferAddress(state);
int size = env->GetDirectBufferCapacity(state);
WebContentsStateByteBuffer web_contents_state =
WebContentsStateByteBuffer(data, size, (int)saved_state_version);
CreateHistoricalTab(TabAndroid::GetNativeTab(env, jtab_android),
- std::move(web_contents_state));
+ std::move(web_contents_state), is_always_incognito);
+ CreateHistoricalTab(TabAndroid::GetNativeTab(env, jtab_android), is_always_incognito);
}
// static
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
@@ -310,6 +310,13 @@ signin::IdentityManager* ChromeAutocompleteProviderClient::GetIdentityManager()
@@ -299,6 +299,13 @@ signin::IdentityManager* ChromeAutocompleteProviderClient::GetIdentityManager()
return IdentityManagerFactory::GetForProfile(profile_);
}
@ -1209,7 +1130,7 @@ diff --git a/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc
diff --git a/chrome/browser/autocomplete/chrome_autocomplete_provider_client.h b/chrome/browser/autocomplete/chrome_autocomplete_provider_client.h
--- a/chrome/browser/autocomplete/chrome_autocomplete_provider_client.h
+++ b/chrome/browser/autocomplete/chrome_autocomplete_provider_client.h
@@ -80,6 +80,7 @@ class ChromeAutocompleteProviderClient : public AutocompleteProviderClient {
@@ -78,6 +78,7 @@ class ChromeAutocompleteProviderClient : public AutocompleteProviderClient {
const override;
signin::IdentityManager* GetIdentityManager() const override;
bool IsOffTheRecord() const override;
@ -1266,7 +1187,7 @@ diff --git a/chrome/browser/content_settings/host_content_settings_map_factory.c
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
@@ -3907,6 +3907,12 @@ const char kOfflinePagesLivePageSharingDescription[] =
@@ -3758,6 +3758,12 @@ const char kOfflinePagesLivePageSharingDescription[] =
"Enables to share current loaded page as offline page by saving as MHTML "
"first.";
@ -1276,36 +1197,36 @@ diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descripti
+ "Enables autosave of offline page, as automatic switching in case "
+ "the device goes offline.";
+
const char kPageInfoHistoryName[] = "Page info history";
const char kPageInfoHistoryDescription[] =
"Enable a history sub page to the page info menu, and a button to forget "
const char kPageInfoDiscoverabilityTimeoutsName[] =
"Page info discoverability timeouts";
const char kPageInfoDiscoverabilityTimeoutsDescription[] =
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
@@ -2227,6 +2227,9 @@ extern const char kNotificationPermissionRationaleDescription[];
@@ -2141,6 +2141,9 @@ extern const char kNotificationPermissionRationaleDescription[];
extern const char kOfflinePagesLivePageSharingName[];
extern const char kOfflinePagesLivePageSharingDescription[];
+extern const char kOfflinePagesAutoSaveFeatureName[];
+extern const char kOfflinePagesAutoSaveFeatureDescription[];
+
extern const char kPageInfoHistoryName[];
extern const char kPageInfoHistoryDescription[];
extern const char kPageInfoDiscoverabilityTimeoutsName[];
extern const char kPageInfoDiscoverabilityTimeoutsDescription[];
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,8 +561,8 @@ BASE_FEATURE(kCCTNewDownloadTab,
BASE_FEATURE(kCCTIncognito, "CCTIncognito", base::FEATURE_ENABLED_BY_DEFAULT);
@@ -535,8 +535,8 @@ const base::Feature kCCTNewDownloadTab{"CCTNewDownloadTab",
const base::Feature kCCTIncognito{"CCTIncognito",
base::FEATURE_ENABLED_BY_DEFAULT};
BASE_FEATURE(kCCTIncognitoAvailableToThirdParty,
- "CCTIncognitoAvailableToThirdParty",
- base::FEATURE_DISABLED_BY_DEFAULT);
+ "CCTIncognitoAvailableToThirdParty", // must be enabled
+ base::FEATURE_ENABLED_BY_DEFAULT); // in Bromite
-const base::Feature kCCTIncognitoAvailableToThirdParty{
- "CCTIncognitoAvailableToThirdParty", base::FEATURE_DISABLED_BY_DEFAULT};
+const base::Feature kCCTIncognitoAvailableToThirdParty{ // Enabled by default in Bromite
+ "CCTIncognitoAvailableToThirdParty", base::FEATURE_ENABLED_BY_DEFAULT};
BASE_FEATURE(kCCTPackageNameRecording,
"CCTPackageNameRecording",
const base::Feature kCCTPackageNameRecording{"CCTPackageNameRecording",
base::FEATURE_ENABLED_BY_DEFAULT};
diff --git a/chrome/browser/history/history_tab_helper.cc b/chrome/browser/history/history_tab_helper.cc
--- a/chrome/browser/history/history_tab_helper.cc
+++ b/chrome/browser/history/history_tab_helper.cc
@ -1325,7 +1246,7 @@ diff --git a/chrome/browser/history/history_tab_helper.cc b/chrome/browser/histo
Profile::FromBrowserContext(web_contents()->GetBrowserContext());
+
+#if BUILDFLAG(IS_ANDROID)
+ if (profile->GetOriginalProfile()->GetPrefs()->GetBoolean(prefs::kIncognitoTabHistoryEnabled)) {
+ if(profile->GetOriginalProfile()->GetPrefs()->GetBoolean(prefs::kIncognitoTabHistoryEnabled)) {
+ return HistoryServiceFactory::GetForProfile(profile, ServiceAccessType::IMPLICIT_ACCESS);
+ }
+#endif
@ -1395,23 +1316,38 @@ diff --git a/chrome/browser/offline_pages/android/offline_page_bridge.cc b/chrom
using base::android::ConvertJavaStringToUTF8;
using base::android::ConvertUTF16ToJavaString;
@@ -785,9 +788,15 @@ void OfflinePageBridge::GetPageByOfflineIdDone(
}
if (offline_page_model_->IsArchiveInInternalDir(offline_page->file_path)) {
+ bool is_trusted = true;
+ // in always incognito, never trust input file (show file name in url)
+ ProfileKey* profile_key = ProfileKey::FromSimpleFactoryKey(key_);
+ if (profile_key->GetPrefs()->GetBoolean(prefs::kIncognitoTabHistoryEnabled))
+ is_trusted = false;
@@ -156,7 +159,13 @@ void ValidateFileCallback(
int64_t offline_id,
const GURL& url,
const base::FilePath& file_path,
+ SimpleFactoryKey* key,
bool is_trusted) {
+ // in always incognito, never trust input file (show file name in url)
+ ProfileKey* profile_key = ProfileKey::FromSimpleFactoryKey(key);
+ if(profile_key->GetPrefs()->GetBoolean(prefs::kIncognitoTabHistoryEnabled))
+ is_trusted = false;
+
// If trusted, the launch url will be the http/https url of the offline
// page. If the file path is content URI, directly open it. Otherwise, the
// launch url will be the file URL pointing to the archive file of the offline
@@ -787,7 +796,7 @@ void OfflinePageBridge::GetPageByOfflineIdDone(
if (offline_page_model_->IsArchiveInInternalDir(offline_page->file_path)) {
ValidateFileCallback(launch_location, j_callback_obj,
offline_page->offline_id, offline_page->url,
- offline_page->file_path, true /* is_trusted*/);
+ offline_page->file_path, is_trusted);
+ offline_page->file_path, key_, true /* is_trusted*/);
return;
}
@@ -797,7 +806,7 @@ void OfflinePageBridge::GetPageByOfflineIdDone(
offline_page->file_size, offline_page->digest),
base::BindOnce(&ValidateFileCallback, launch_location, j_callback_obj,
offline_page->offline_id, offline_page->url,
- offline_page->file_path));
+ offline_page->file_path, key_));
}
void OfflinePageBridge::GetSizeAndComputeDigestDone(
diff --git a/chrome/browser/offline_pages/android/offline_page_model_factory.cc b/chrome/browser/offline_pages/android/offline_page_model_factory.cc
--- a/chrome/browser/offline_pages/android/offline_page_model_factory.cc
+++ b/chrome/browser/offline_pages/android/offline_page_model_factory.cc
@ -1425,7 +1361,15 @@ diff --git a/chrome/browser/offline_pages/android/offline_page_model_factory.cc
namespace offline_pages {
@@ -54,13 +57,15 @@ std::unique_ptr<KeyedService> OfflinePageModelFactory::BuildServiceInstanceFor(
@@ -46,6 +49,7 @@ OfflinePageModel* OfflinePageModelFactory::GetForKey(SimpleFactoryKey* key) {
OfflinePageModel* OfflinePageModelFactory::GetForBrowserContext(
content::BrowserContext* browser_context) {
Profile* profile = Profile::FromBrowserContext(browser_context);
+ profile = profile->GetOriginalProfile();
return GetForKey(profile->GetProfileKey());
}
@@ -54,13 +58,15 @@ std::unique_ptr<KeyedService> OfflinePageModelFactory::BuildServiceInstanceFor(
scoped_refptr<base::SequencedTaskRunner> background_task_runner =
base::ThreadPool::CreateSequencedTaskRunner({base::MayBlock()});
@ -1443,7 +1387,7 @@ diff --git a/chrome/browser/offline_pages/android/offline_page_model_factory.cc
// If base::PathService::Get returns false, the temporary_archives_dir will be
// empty, and no temporary pages will be saved during this chrome lifecycle.
base::FilePath temporary_archives_dir;
@@ -69,7 +74,6 @@ std::unique_ptr<KeyedService> OfflinePageModelFactory::BuildServiceInstanceFor(
@@ -69,7 +75,6 @@ std::unique_ptr<KeyedService> OfflinePageModelFactory::BuildServiceInstanceFor(
temporary_archives_dir.Append(chrome::kOfflinePageArchivesDirname);
}
@ -1451,18 +1395,18 @@ diff --git a/chrome/browser/offline_pages/android/offline_page_model_factory.cc
auto archive_manager = std::make_unique<DownloadArchiveManager>(
temporary_archives_dir, persistent_archives_dir,
DownloadPrefs::GetDefaultDownloadDirectory(), background_task_runner,
@@ -87,4 +91,14 @@ std::unique_ptr<KeyedService> OfflinePageModelFactory::BuildServiceInstanceFor(
@@ -87,4 +92,14 @@ std::unique_ptr<KeyedService> OfflinePageModelFactory::BuildServiceInstanceFor(
return model;
}
+SimpleFactoryKey* OfflinePageModelFactory::GetKeyToUse(
+ SimpleFactoryKey* key) const {
+ ProfileKey* profile_key = ProfileKey::FromSimpleFactoryKey(key);
+ if (profile_key->GetPrefs()->GetBoolean(prefs::kIncognitoTabHistoryEnabled) == false) {
+ if(profile_key->GetPrefs()->GetBoolean(prefs::kIncognitoTabHistoryEnabled) == false) {
+ return SimpleKeyedServiceFactory::GetKeyToUse(key);
+ } else {
+ return profile_key->GetOriginalKey();
+ }
+
+ return profile_key->GetOriginalKey();
+}
+
} // namespace offline_pages
@ -1499,32 +1443,19 @@ diff --git a/chrome/browser/offline_pages/android/request_coordinator_factory.cc
// Depends on OfflinePageModelFactory in SimpleDependencyManager.
}
@@ -79,6 +86,12 @@ RequestCoordinator* RequestCoordinatorFactory::GetForBrowserContext(
KeyedService* RequestCoordinatorFactory::BuildServiceInstanceFor(
content::BrowserContext* context) const {
+ if (context->IsOffTheRecord() &&
+ Profile::FromBrowserContext(context)->GetOriginalProfile()
+ ->GetPrefs()->GetBoolean(prefs::kIncognitoTabHistoryEnabled) == false) {
+ // do not track history in incognito mode if preference is disabled
+ return nullptr;
+ }
std::unique_ptr<OfflinerPolicy> policy(new OfflinerPolicy());
std::unique_ptr<Offliner> offliner;
OfflinePageModel* model =
@@ -111,4 +124,16 @@ KeyedService* RequestCoordinatorFactory::BuildServiceInstanceFor(
@@ -111,4 +118,16 @@ KeyedService* RequestCoordinatorFactory::BuildServiceInstanceFor(
return request_coordinator;
}
+content::BrowserContext*
+RequestCoordinatorFactory::GetBrowserContextToUse(
+ content::BrowserContext* context) const {
+ if (Profile::FromBrowserContext(context)->GetOriginalProfile()
+ if(Profile::FromBrowserContext(context)->GetOriginalProfile()
+ ->GetPrefs()->GetBoolean(prefs::kIncognitoTabHistoryEnabled) == false) {
+ return BrowserContextKeyedServiceFactory::GetBrowserContextToUse(context);
+ } else {
+ return chrome::GetBrowserContextRedirectedInIncognito(context);
+ }
+
+ return chrome::GetBrowserContextRedirectedInIncognito(context);
+}
+
+
@ -1559,8 +1490,8 @@ diff --git a/chrome/browser/offline_pages/recent_tab_helper.cc b/chrome/browser/
// WebContents with its origin as well.
snapshots_enabled_ = !tab_id_.empty() &&
!web_contents()->GetBrowserContext()->IsOffTheRecord();
+ if (!tab_id_.empty() && web_contents()->GetBrowserContext()->IsOffTheRecord()) {
+ if (Profile::FromBrowserContext(web_contents()->GetBrowserContext())
+ if(!tab_id_.empty() && web_contents()->GetBrowserContext()->IsOffTheRecord()) {
+ if(Profile::FromBrowserContext(web_contents()->GetBrowserContext())
+ ->GetOriginalProfile()
+ ->GetPrefs()->GetBoolean(prefs::kIncognitoTabHistoryEnabled) == true) {
+ snapshots_enabled_ = true;
@ -1620,7 +1551,7 @@ diff --git a/chrome/browser/offline_pages/request_coordinator_factory.h b/chrome
diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browser_prefs.cc
--- a/chrome/browser/prefs/browser_prefs.cc
+++ b/chrome/browser/prefs/browser_prefs.cc
@@ -229,6 +229,7 @@
@@ -226,6 +226,7 @@
#include "components/feed/core/shared_prefs/pref_names.h"
#if BUILDFLAG(IS_ANDROID)
@ -1628,7 +1559,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"
@@ -1390,6 +1391,10 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry,
@@ -1416,6 +1417,10 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry,
usage_stats::UsageStatsBridge::RegisterProfilePrefs(registry);
variations::VariationsService::RegisterProfilePrefs(registry);
video_tutorials::RegisterPrefs(registry);
@ -1636,9 +1567,9 @@ diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browse
+ registry->RegisterBooleanPref(prefs::kAlwaysIncognitoEnabled,
+ /*default_value=*/false);
+ HistoryTabHelper::RegisterProfilePrefs(registry);
#else // BUILDFLAG(IS_ANDROID)
#else // BUILDFLAG(IS_ANDROID)
autofill_assistant::AutofillAssistant::RegisterProfilePrefs(registry);
AppShortcutManager::RegisterProfilePrefs(registry);
browser_sync::ForeignSessionHandler::RegisterProfilePrefs(registry);
diff --git a/chrome/browser/ui/android/native_page/BUILD.gn b/chrome/browser/ui/android/native_page/BUILD.gn
--- a/chrome/browser/ui/android/native_page/BUILD.gn
+++ b/chrome/browser/ui/android/native_page/BUILD.gn
@ -1740,44 +1671,6 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro
<message name="IDS_CLEAR_SEARCH_HISTORY_LINK" desc="Text informing the user that they can clear search history and other data using MyActivity.">
<ph name="BEGIN_LINK1">&lt;link1&gt;</ph>Search history<ph name="END_LINK1">&lt;/link1&gt;</ph> and <ph name="BEGIN_LINK2">&lt;link2&gt;</ph>other forms of activity<ph name="END_LINK2">&lt;/link2&gt;</ph> may be saved in your Google Account when youre signed in. You can delete them anytime.
</message>
diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/LocationBarModel.java b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/LocationBarModel.java
--- a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/LocationBarModel.java
+++ b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/LocationBarModel.java
@@ -178,6 +178,7 @@ public class LocationBarModel implements ToolbarDataProvider, LocationBarDataPro
protected GURL mVisibleGurl = GURL.emptyGURL();
protected String mFormattedFullUrl;
protected String mUrlForDisplay;
+ private boolean mIsAlwaysIncognito;
/**
* Default constructor for this class.
@@ -192,7 +193,8 @@ public class LocationBarModel implements ToolbarDataProvider, LocationBarDataPro
public LocationBarModel(Context context, NewTabPageDelegate newTabPageDelegate,
@NonNull UrlFormatter urlFormatter, @NonNull ProfileProvider profileProvider,
@NonNull OfflineStatus offlineStatus,
- @NonNull SearchEngineLogoUtils searchEngineLogoUtils) {
+ @NonNull SearchEngineLogoUtils searchEngineLogoUtils,
+ boolean isAlwaysIncognito) {
mContext = context;
mNtpDelegate = newTabPageDelegate;
mUrlFormatter = urlFormatter;
@@ -200,6 +202,7 @@ public class LocationBarModel implements ToolbarDataProvider, LocationBarDataPro
mOfflineStatus = offlineStatus;
mPrimaryColor = ChromeColors.getDefaultThemeColor(context, false);
mSearchEngineLogoUtils = searchEngineLogoUtils;
+ mIsAlwaysIncognito = isAlwaysIncognito;
}
/**
@@ -207,7 +210,7 @@ public class LocationBarModel implements ToolbarDataProvider, LocationBarDataPro
*/
public void initializeWithNative() {
mOptimizationsEnabled =
- ChromeFeatureList.isEnabled(ChromeFeatureList.ANDROID_SCROLL_OPTIMIZATIONS);
+ ChromeFeatureList.isEnabled(ChromeFeatureList.ANDROID_SCROLL_OPTIMIZATIONS) && !mIsAlwaysIncognito;
mLastUsedNonOTRProfile = Profile.getLastUsedRegularProfile();
mNativeLocationBarModelAndroid = LocationBarModelJni.get().init(LocationBarModel.this);
diff --git a/chrome/browser/ui/messages/android/BUILD.gn b/chrome/browser/ui/messages/android/BUILD.gn
--- a/chrome/browser/ui/messages/android/BUILD.gn
+++ b/chrome/browser/ui/messages/android/BUILD.gn
@ -1824,7 +1717,7 @@ new file mode 100644
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
@@ -3458,6 +3458,12 @@ const char kShowCaretBrowsingDialog[] =
@@ -3437,6 +3437,12 @@ const char kShowCaretBrowsingDialog[] =
const char kLacrosLaunchSwitch[] = "lacros_launch_switch";
#endif
@ -1840,7 +1733,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
@@ -1219,6 +1219,8 @@ extern const char kDiscountConsentShowInterestIn[];
@@ -1214,6 +1214,8 @@ extern const char kDiscountConsentShowInterestIn[];
#if BUILDFLAG(IS_ANDROID)
extern const char kWebXRImmersiveArEnabled[];
@ -1849,7 +1742,7 @@ diff --git a/chrome/common/pref_names.h b/chrome/common/pref_names.h
#endif
#if !BUILDFLAG(IS_ANDROID)
@@ -1256,6 +1258,10 @@ extern const char kPrivacyGuideViewed[];
@@ -1251,6 +1253,10 @@ extern const char kPrivacyGuideViewed[];
extern const char kCorsNonWildcardRequestHeadersSupport[];
@ -1863,7 +1756,7 @@ diff --git a/chrome/common/pref_names.h b/chrome/common/pref_names.h
diff --git a/components/content_settings/core/browser/content_settings_pref_provider.cc b/components/content_settings/core/browser/content_settings_pref_provider.cc
--- a/components/content_settings/core/browser/content_settings_pref_provider.cc
+++ b/components/content_settings/core/browser/content_settings_pref_provider.cc
@@ -122,10 +122,12 @@ void PrefProvider::RegisterProfilePrefs(
@@ -119,10 +119,12 @@ void PrefProvider::RegisterProfilePrefs(
PrefProvider::PrefProvider(PrefService* prefs,
bool off_the_record,
@ -1876,7 +1769,7 @@ diff --git a/components/content_settings/core/browser/content_settings_pref_prov
store_last_modified_(store_last_modified),
clock_(base::DefaultClock::GetInstance()) {
TRACE_EVENT_BEGIN("startup", "PrefProvider::PrefProvider");
@@ -159,7 +161,9 @@ PrefProvider::PrefProvider(PrefService* prefs,
@@ -156,7 +158,9 @@ PrefProvider::PrefProvider(PrefService* prefs,
content_settings_prefs_.insert(std::make_pair(
info->type(), std::make_unique<ContentSettingsPref>(
info->type(), prefs_, &pref_change_registrar_,
@ -1957,9 +1850,9 @@ diff --git a/components/content_settings/core/browser/host_content_settings_map.
diff --git a/components/offline_pages/core/offline_page_feature.cc b/components/offline_pages/core/offline_page_feature.cc
--- a/components/offline_pages/core/offline_page_feature.cc
+++ b/components/offline_pages/core/offline_page_feature.cc
@@ -52,6 +52,9 @@ BASE_FEATURE(kOfflinePagesNetworkStateLikelyUnknown,
"OfflinePagesNetworkStateLikelyUnknown",
base::FEATURE_DISABLED_BY_DEFAULT);
@@ -44,6 +44,9 @@ const base::Feature kOfflineIndicatorFeature{"OfflineIndicator",
const base::Feature kOfflinePagesNetworkStateLikelyUnknown{
"OfflinePagesNetworkStateLikelyUnknown", base::FEATURE_DISABLED_BY_DEFAULT};
+const base::Feature kOfflinePagesAutoSaveFeature{
+ "OfflinePagesAutoSaveEnabled", base::FEATURE_DISABLED_BY_DEFAULT};
@ -1970,10 +1863,10 @@ diff --git a/components/offline_pages/core/offline_page_feature.cc b/components/
diff --git a/components/offline_pages/core/offline_page_feature.h b/components/offline_pages/core/offline_page_feature.h
--- a/components/offline_pages/core/offline_page_feature.h
+++ b/components/offline_pages/core/offline_page_feature.h
@@ -21,6 +21,7 @@ BASE_DECLARE_FEATURE(kOfflinePagesDescriptiveFailStatusFeature);
BASE_DECLARE_FEATURE(kOfflineIndicatorFeature);
BASE_DECLARE_FEATURE(kOnTheFlyMhtmlHashComputationFeature);
BASE_DECLARE_FEATURE(kOfflinePagesNetworkStateLikelyUnknown);
@@ -21,6 +21,7 @@ extern const base::Feature kOfflinePagesDescriptiveFailStatusFeature;
extern const base::Feature kOfflineIndicatorFeature;
extern const base::Feature kOnTheFlyMhtmlHashComputationFeature;
extern const base::Feature kOfflinePagesNetworkStateLikelyUnknown;
+extern const base::Feature kOfflinePagesAutoSaveFeature;
// The parameter name used to find the experiment tag for prefetching offline
@ -1992,7 +1885,7 @@ diff --git a/components/omnibox/browser/autocomplete_provider_client.cc b/compon
diff --git a/components/omnibox/browser/autocomplete_provider_client.h b/components/omnibox/browser/autocomplete_provider_client.h
--- a/components/omnibox/browser/autocomplete_provider_client.h
+++ b/components/omnibox/browser/autocomplete_provider_client.h
@@ -128,6 +128,7 @@ class AutocompleteProviderClient : public OmniboxAction::Client {
@@ -125,6 +125,7 @@ class AutocompleteProviderClient : public OmniboxAction::Client {
virtual signin::IdentityManager* GetIdentityManager() const = 0;
virtual bool IsOffTheRecord() const = 0;
@ -2003,10 +1896,10 @@ diff --git a/components/omnibox/browser/autocomplete_provider_client.h b/compone
diff --git a/components/omnibox/browser/base_search_provider.cc b/components/omnibox/browser/base_search_provider.cc
--- a/components/omnibox/browser/base_search_provider.cc
+++ b/components/omnibox/browser/base_search_provider.cc
@@ -273,7 +273,7 @@ bool BaseSearchProvider::CanSendZeroSuggestRequest(
@@ -272,7 +272,7 @@ bool BaseSearchProvider::CanSendRequest(
}
// Don't make a suggest request if in incognito mode.
// Don't run if in incognito mode.
- if (client->IsOffTheRecord()) {
+ if (client->IsOffTheRecord() && client->IsAlwaysIncognitoEnabled() == false) {
return false;
@ -2015,7 +1908,7 @@ diff --git a/components/omnibox/browser/base_search_provider.cc b/components/omn
diff --git a/components/omnibox/browser/search_provider.cc b/components/omnibox/browser/search_provider.cc
--- a/components/omnibox/browser/search_provider.cc
+++ b/components/omnibox/browser/search_provider.cc
@@ -832,7 +832,9 @@ bool SearchProvider::IsQuerySuitableForSuggest(bool* query_is_private) const {
@@ -836,7 +836,9 @@ bool SearchProvider::IsQuerySuitableForSuggest(bool* query_is_private) const {
// keyword input to a keyword suggest server, if any.)
const TemplateURL* default_url = providers_.GetDefaultProviderURL();
const TemplateURL* keyword_url = providers_.GetKeywordProviderURL();

View file

@ -29,7 +29,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../DownloadLocationDialogCoordinator.java | 8 +-
chrome/browser/flag_descriptions.cc | 5 +
chrome/browser/flag_descriptions.h | 3 +
.../flags/android/chrome_feature_list.cc | 6 +
.../flags/android/chrome_feature_list.cc | 5 +
.../flags/android/chrome_feature_list.h | 1 +
.../browser/flags/ChromeFeatureList.java | 1 +
chrome/browser/importer/profile_writer.cc | 12 +
@ -45,7 +45,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
ui/shell_dialogs/select_file_dialog.h | 2 +
.../select_file_dialog_android.cc | 6 +
ui/shell_dialogs/select_file_dialog_android.h | 2 +
35 files changed, 848 insertions(+), 29 deletions(-)
35 files changed, 847 insertions(+), 29 deletions(-)
diff --git a/chrome/android/java/AndroidManifest.xml b/chrome/android/java/AndroidManifest.xml
--- a/chrome/android/java/AndroidManifest.xml
@ -185,7 +185,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/bookmarks/B
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>
@@ -89,6 +89,12 @@ public class BookmarkActionBar extends SelectableListToolbar<BookmarkId>
} else if (menuItem.getItemId() == R.id.search_menu_id) {
mDelegate.openSearchUI();
return true;
@ -198,7 +198,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>
@@ -140,6 +146,8 @@ public class BookmarkActionBar extends SelectableListToolbar<BookmarkId>
void showLoadingUi() {
setTitle(null);
setNavigationButton(NAVIGATION_BUTTON_NONE);
@ -207,7 +207,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>
@@ -149,6 +157,8 @@ public class BookmarkActionBar extends SelectableListToolbar<BookmarkId>
super.showNormalView();
if (mDelegate == null) {
@ -216,7 +216,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);
}
@@ -173,6 +183,8 @@ public class BookmarkActionBar extends SelectableListToolbar<BookmarkId>
@@ -178,6 +188,8 @@ public class BookmarkActionBar extends SelectableListToolbar<BookmarkId>
@Override
public void onFolderStateSet(BookmarkId folder) {
mCurrentFolder = mDelegate.getModel().getBookmarkById(folder);
@ -249,7 +249,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
import android.text.TextUtils;
import android.util.Pair;
@@ -42,6 +55,32 @@ import java.util.HashMap;
@@ -43,6 +56,32 @@ import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
@ -282,7 +282,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
* bookmark model stored in native.
@@ -442,6 +481,209 @@ class BookmarkBridge {
@@ -653,6 +692,209 @@ public class BookmarkBridge {
mNativeBookmarkBridge, BookmarkBridge.this, id.getId(), id.getType());
}
@ -492,7 +492,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
/**
* Synchronously gets a list of bookmarks that match the specified search query.
* @param query Keyword used for searching bookmarks.
@@ -990,6 +1232,39 @@ class BookmarkBridge {
@@ -1201,6 +1443,39 @@ public class BookmarkBridge {
depthList.add(depth);
}
@ -532,7 +532,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++) {
@@ -1061,6 +1336,9 @@ class BookmarkBridge {
@@ -1272,6 +1547,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);
@ -545,7 +545,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/BookmarkDelegate.java b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkDelegate.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkDelegate.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkDelegate.java
@@ -79,6 +79,16 @@ public interface BookmarkDelegate {
@@ -66,6 +66,16 @@ public interface BookmarkDelegate {
*/
void openSearchUI();
@ -565,7 +565,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/BookmarkManager.java b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkManager.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkManager.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkManager.java
@@ -36,6 +36,8 @@ import org.chromium.components.browser_ui.util.ConversionUtils;
@@ -34,6 +34,8 @@ import org.chromium.components.browser_ui.util.ConversionUtils;
import org.chromium.components.browser_ui.widget.dragreorder.DragStateDelegate;
import org.chromium.components.browser_ui.widget.selectable_list.SelectableListLayout;
import org.chromium.components.browser_ui.widget.selectable_list.SelectableListToolbar.SearchDelegate;
@ -574,7 +574,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
import org.chromium.components.browser_ui.widget.selectable_list.SelectionDelegate;
import org.chromium.components.favicon.LargeIconBridge;
import org.chromium.url.GURL;
@@ -59,6 +61,8 @@ public class BookmarkManager
@@ -56,6 +58,8 @@ public class BookmarkManager
private ComponentName mOpenBookmarkComponentName;
private ViewGroup mMainView;
private BookmarkModel mBookmarkModel;
@ -583,7 +583,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;
@@ -344,6 +348,14 @@ public class BookmarkManager
@@ -341,6 +345,14 @@ public class BookmarkManager
mNativePage = nativePage;
}
@ -598,7 +598,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
@@ -540,6 +552,16 @@ public class BookmarkManager
@@ -521,6 +533,16 @@ public class BookmarkManager
}
}
@ -704,7 +704,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
@@ -1887,6 +1887,13 @@ static_library("browser") {
@@ -1875,6 +1875,13 @@ static_library("browser") {
]
}
@ -718,7 +718,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
configs += [
"//build/config/compiler:wexit_time_destructors",
"//build/config:precompiled_headers",
@@ -2904,6 +2911,8 @@ static_library("browser") {
@@ -2891,6 +2898,8 @@ static_library("browser") {
"autofill/manual_filling_controller.h",
"autofill/manual_filling_controller_impl.cc",
"autofill/manual_filling_controller_impl.h",
@ -727,7 +727,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
"autofill/manual_filling_utils.cc",
"autofill/manual_filling_utils.h",
"autofill/manual_filling_view_interface.h",
@@ -3583,8 +3592,6 @@ static_library("browser") {
@@ -3570,8 +3579,6 @@ static_library("browser") {
"badging/badge_manager_factory.h",
"banners/app_banner_manager_desktop.cc",
"banners/app_banner_manager_desktop.h",
@ -739,7 +739,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
@@ -9039,6 +9039,12 @@ const FeatureEntry kFeatureEntries[] = {
@@ -8831,6 +8831,12 @@ const FeatureEntry kFeatureEntries[] = {
FEATURE_VALUE_TYPE(features::kRequestDesktopSiteExceptions)},
#endif
@ -1251,7 +1251,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
@@ -6836,6 +6836,11 @@ const char kVcControlsUiDescription[] =
@@ -6615,6 +6615,11 @@ const char kDisableLacrosTtsSupportDescription[] =
#endif // BUILDFLAG(IS_CHROMEOS_ASH)
@ -1266,9 +1266,9 @@ diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descripti
diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h
--- a/chrome/browser/flag_descriptions.h
+++ b/chrome/browser/flag_descriptions.h
@@ -3942,6 +3942,9 @@ extern const char kDisableLacrosTtsSupportDescription[];
extern const char kVcControlsUiName[];
extern const char kVcControlsUiDescription[];
@@ -3821,6 +3821,9 @@ extern const char kDisableLacrosTtsSupportName[];
extern const char kDisableLacrosTtsSupportDescription[];
#endif // BUILDFLAG(IS_CHROMEOS_ASH)
+extern const char kBookmarksExportUseSafName[];
+extern const char kBookmarksExportUseSafDescription[];
@ -1279,7 +1279,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
@@ -181,6 +181,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
@@ -183,6 +183,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
&kCastDeviceFilter,
&kClearOmniboxFocusAfterNavigation,
&kCloseTabSuggestions,
@ -1287,14 +1287,13 @@ diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browse
&kCriticalPersistedTabData,
&kCommerceCoupons,
&kCCTBackgroundTab,
@@ -1114,6 +1115,11 @@ BASE_FEATURE(kWebApkTrampolineOnInitialIntent,
"WebApkTrampolineOnInitialIntent",
base::FEATURE_ENABLED_BY_DEFAULT);
@@ -951,6 +952,10 @@ const base::Feature kWebApkInstallService{"WebApkInstallService",
const base::Feature kWebApkTrampolineOnInitialIntent{
"WebApkTrampolineOnInitialIntent", base::FEATURE_ENABLED_BY_DEFAULT};
+// disabled by default because of an issue on Android 6.0
+BASE_FEATURE(kBookmarksExportUseSaf,
+ "BookmarksExportUseSaf",
+ base::FEATURE_DISABLED_BY_DEFAULT);
+const base::Feature kBookmarksExportUseSaf{"BookmarksExportUseSaf",
+ base::FEATURE_DISABLED_BY_DEFAULT};
+
static jboolean JNI_ChromeFeatureList_IsEnabled(
JNIEnv* env,
@ -1302,20 +1301,20 @@ 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
@@ -161,6 +161,7 @@ BASE_DECLARE_FEATURE(kDiscoverFeedMultiColumn);
BASE_DECLARE_FEATURE(kTabStripRedesign);
BASE_DECLARE_FEATURE(kTabSwitcherOnReturn);
BASE_DECLARE_FEATURE(kTabToGTSAnimation);
+BASE_DECLARE_FEATURE(kBookmarksExportUseSaf);
BASE_DECLARE_FEATURE(kTestDefaultDisabled);
BASE_DECLARE_FEATURE(kTestDefaultEnabled);
BASE_DECLARE_FEATURE(kToolbarMicIphAndroid);
@@ -161,6 +161,7 @@ extern const base::Feature kTabSelectionEditorV2;
extern const base::Feature kTabStripImprovements;
extern const base::Feature kDiscoverFeedMultiColumn;
extern const base::Feature kTabSwitcherOnReturn;
+extern const base::Feature kBookmarksExportUseSaf;
extern const base::Feature kTabToGTSAnimation;
extern const base::Feature kTestDefaultDisabled;
extern const base::Feature kTestDefaultEnabled;
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
@@ -620,6 +620,7 @@ public abstract class ChromeFeatureList {
public static final String USE_LIBUNWINDSTACK_NATIVE_UNWINDER_ANDROID =
"UseLibunwindstackNativeUnwinderAndroid";
@@ -612,6 +612,7 @@ public abstract class ChromeFeatureList {
public static final String USE_CHIME_ANDROID_SDK = "UseChimeAndroidSdk";
public static final String USE_CLIENT_CONFIG_IPH = "UseClientConfigIPH";
public static final String VOICE_SEARCH_AUDIO_CAPTURE_POLICY = "VoiceSearchAudioCapturePolicy";
+ public static final String BOOKMARKS_EXPORT_USESAF = "BookmarksExportUseSaf";
public static final String VOICE_BUTTON_IN_TOP_TOOLBAR = "VoiceButtonInTopToolbar";
@ -1324,7 +1323,7 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f
diff --git a/chrome/browser/importer/profile_writer.cc b/chrome/browser/importer/profile_writer.cc
--- a/chrome/browser/importer/profile_writer.cc
+++ b/chrome/browser/importer/profile_writer.cc
@@ -106,12 +106,14 @@ void ProfileWriter::AddHistoryPage(const history::URLRows& page,
@@ -105,12 +105,14 @@ void ProfileWriter::AddHistoryPage(const history::URLRows& page,
HistoryServiceFactory::GetForProfile(profile_,
ServiceAccessType::EXPLICIT_ACCESS)
->AddPagesWithDetails(page, visit_source);
@ -1339,7 +1338,7 @@ diff --git a/chrome/browser/importer/profile_writer.cc b/chrome/browser/importer
}
void ProfileWriter::AddHomepage(const GURL& home_page) {
@@ -132,6 +134,16 @@ void ProfileWriter::AddBookmarks(
@@ -131,6 +133,16 @@ void ProfileWriter::AddBookmarks(
return;
BookmarkModel* model = BookmarkModelFactory::GetForBrowserContext(profile_);
@ -1382,7 +1381,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
@@ -113,6 +113,8 @@ public final class ChromePreferenceKeys {
@@ -100,6 +100,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";
@ -1391,8 +1390,8 @@ diff --git a/chrome/browser/preferences/android/java/src/org/chromium/chrome/bro
/**
* Whether Chrome is set as the default browser.
@@ -1049,6 +1051,7 @@ public final class ChromePreferenceKeys {
AUTOFILL_ASSISTANT_PROACTIVE_HELP_ENABLED,
@@ -1027,6 +1029,7 @@ public final class ChromePreferenceKeys {
ASSISTANT_VOICE_SEARCH_ENABLED,
APP_LAUNCH_LAST_KNOWN_ACTIVE_TAB_STATE,
APP_LAUNCH_SEARCH_ENGINE_HAD_LOGO,
+ BOOKMARKS_LAST_EXPORT_URI,
@ -1430,7 +1429,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
@@ -401,6 +401,9 @@ static_library("common_lib") {
@@ -402,6 +402,9 @@ static_library("common_lib") {
sources += [
"media/chrome_media_drm_bridge_client.cc",
"media/chrome_media_drm_bridge_client.h",
@ -1657,8 +1656,8 @@ 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
@@ -210,6 +210,8 @@ class SHELL_DIALOGS_EXPORT SelectFileDialog
const GURL* caller = nullptr);
@@ -205,6 +205,8 @@ class SHELL_DIALOGS_EXPORT SelectFileDialog
void* params);
bool HasMultipleFileTypeChoices();
+ virtual void ShowToast(const std::string& message) = 0;
@ -1669,7 +1668,7 @@ diff --git a/ui/shell_dialogs/select_file_dialog.h b/ui/shell_dialogs/select_fil
diff --git a/ui/shell_dialogs/select_file_dialog_android.cc b/ui/shell_dialogs/select_file_dialog_android.cc
--- a/ui/shell_dialogs/select_file_dialog_android.cc
+++ b/ui/shell_dialogs/select_file_dialog_android.cc
@@ -142,6 +142,12 @@ void SelectFileDialogImpl::SelectFileImpl(
@@ -140,6 +140,12 @@ void SelectFileDialogImpl::SelectFileImpl(
owning_window->GetJavaObject());
}
@ -1685,9 +1684,9 @@ 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
@@ -58,6 +58,8 @@ class SelectFileDialogImpl : public SelectFileDialog {
void* params,
const GURL* caller) override;
@@ -57,6 +57,8 @@ class SelectFileDialogImpl : public SelectFileDialog {
gfx::NativeWindow owning_window,
void* params) override;
+ void ShowToast(const std::string& message) override;
+

View file

@ -80,7 +80,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/LaunchIntentDis
// Since configureIntentForResizableCustomTab() might change the componenet/class
// associated with the passed intent, it needs to be called after #setClassName(context,
// CustomTabActivity.class.getName());
@@ -433,6 +443,18 @@ public class LaunchIntentDispatcher implements IntentHandler.IntentHandlerDelega
@@ -431,6 +441,18 @@ public class LaunchIntentDispatcher implements IntentHandler.IntentHandlerDelega
if (Intent.ACTION_VIEW.equals(newIntent.getAction())
&& !IntentHandler.wasIntentSenderChrome(newIntent)) {
@ -196,7 +196,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
@@ -4788,6 +4788,21 @@ To change this setting, <ph name="BEGIN_LINK">&lt;resetlink&gt;</ph>reset sync<p
@@ -4818,6 +4818,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

@ -27,7 +27,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 -->
@@ -190,6 +193,9 @@ found in the LICENSE file.
@@ -187,6 +190,9 @@ found in the LICENSE file.
<item android:id="@id/preferences_id"
android:title="@string/menu_settings"
android:icon="@drawable/settings_cog" />
@ -59,7 +59,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ApplicationLife
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
@@ -224,6 +224,8 @@ import java.util.HashSet;
@@ -223,6 +223,8 @@ import java.util.HashSet;
import java.util.List;
import java.util.Locale;
@ -68,7 +68,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.
@@ -2188,6 +2190,8 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
@@ -2183,6 +2185,8 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
} else if (id == R.id.close_tab) {
getCurrentTabModel().closeTab(currentTab, true, false, true);
RecordUserAction.record("MobileTabClosed");
@ -80,7 +80,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
@@ -63,6 +63,7 @@ import org.chromium.chrome.R;
@@ -62,6 +62,7 @@ import org.chromium.chrome.R;
import org.chromium.chrome.browser.ActivityTabProvider;
import org.chromium.chrome.browser.ActivityUtils;
import org.chromium.chrome.browser.AppHooks;
@ -88,7 +88,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;
@@ -2292,6 +2293,11 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
@@ -2290,6 +2291,11 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
return true;
}
@ -119,7 +119,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/init/ChromeLife
diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd
--- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
+++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
@@ -3470,6 +3470,9 @@ To change this setting, <ph name="BEGIN_LINK">&lt;resetlink&gt;</ph>reset sync<p
@@ -3497,6 +3497,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>

View file

@ -17,7 +17,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
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
@@ -525,6 +525,22 @@ const FeatureEntry::FeatureVariation kReaderModeDiscoverabilityVariations[] = {
@@ -521,6 +521,22 @@ const FeatureEntry::FeatureVariation kReaderModeDiscoverabilityVariations[] = {
#endif // BUILDFLAG(IS_ANDROID)
#if BUILDFLAG(IS_ANDROID)
@ -40,7 +40,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
const FeatureEntry::FeatureParam kAdaptiveButton_AlwaysNone[] = {
{"mode", "always-none"}};
const FeatureEntry::FeatureParam kAdaptiveButton_AlwaysNewTab[] = {
@@ -4371,7 +4387,11 @@ const FeatureEntry kFeatureEntries[] = {
@@ -4265,7 +4281,11 @@ const FeatureEntry kFeatureEntries[] = {
kOsMac | kOsLinux | kOsWin,
FEATURE_VALUE_TYPE(features::kSystemNotifications)},
#endif // BUILDFLAG(ENABLE_SYSTEM_NOTIFICATIONS) && !BUILDFLAG(IS_CHROMEOS_ASH)
@ -65,7 +65,7 @@ diff --git a/components/omnibox/browser/autocomplete_controller.cc b/components/
#include "base/feature_list.h"
#include "base/format_macros.h"
#include "base/metrics/histogram_functions.h"
@@ -338,6 +340,15 @@ AutocompleteController::AutocompleteController(
@@ -327,6 +329,15 @@ AutocompleteController::AutocompleteController(
is_cros_launcher_(is_cros_launcher),
search_service_worker_signal_sent_(false),
template_url_service_(provider_client_->GetTemplateURLService()) {
@ -105,7 +105,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"
@@ -677,6 +678,9 @@ void SearchProvider::Run(bool query_is_private) {
@@ -681,6 +682,9 @@ void SearchProvider::Run(bool query_is_private) {
}
void SearchProvider::DoHistoryQuery(bool minimal_changes) {

View file

@ -9,13 +9,13 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
chrome/browser/flag_descriptions.h | 3 +++
.../browser/loader/browser_initiated_resource_request.cc | 8 ++++++++
services/network/public/cpp/features.cc | 5 +++++
services/network/public/cpp/features.h | 2 +-
6 files changed, 25 insertions(+), 2 deletions(-)
services/network/public/cpp/features.h | 3 ++-
6 files changed, 26 insertions(+), 2 deletions(-)
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
--- a/chrome/browser/about_flags.cc
+++ b/chrome/browser/about_flags.cc
@@ -4981,7 +4981,10 @@ const FeatureEntry kFeatureEntries[] = {
@@ -4861,7 +4861,10 @@ const FeatureEntry kFeatureEntries[] = {
{"force-text-direction", flag_descriptions::kForceTextDirectionName,
flag_descriptions::kForceTextDirectionDescription, kOsAll,
MULTI_VALUE_TYPE(kForceTextDirectionChoices)},
@ -30,7 +30,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
@@ -1261,6 +1261,10 @@ const char kDeprecateAltBasedSixPackDescription[] =
@@ -1230,6 +1230,10 @@ const char kDeprecateAltBasedSixPackDescription[] =
"Show deprecation notifications and disable functionality for Alt based "
"six pack deprecations. The Search based versions continue to work.";
@ -44,7 +44,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
@@ -662,6 +662,9 @@ extern const char kDeprecateAltClickDescription[];
@@ -644,6 +644,9 @@ extern const char kDeprecateAltClickDescription[];
extern const char kDeprecateAltBasedSixPackName[];
extern const char kDeprecateAltBasedSixPackDescription[];
@ -84,29 +84,30 @@ 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
@@ -20,6 +20,11 @@ BASE_FEATURE(kExpectCTReporting,
"ExpectCTReporting",
base::FEATURE_ENABLED_BY_DEFAULT);
@@ -20,6 +20,11 @@ namespace features {
const base::Feature kExpectCTReporting{"ExpectCTReporting",
base::FEATURE_ENABLED_BY_DEFAULT};
+// Enable save-data header separately (without enabled data reduction service).
+BASE_FEATURE(kEnableSaveDataHeader,
+ "EnableSaveDataHeader",
+ base::FEATURE_DISABLED_BY_DEFAULT);
+
BASE_FEATURE(kNetworkErrorLogging,
"NetworkErrorLogging",
base::FEATURE_ENABLED_BY_DEFAULT);
+// Enable save-data header separately (without enabled data reduction service).
+const base::Feature kEnableSaveDataHeader{"EnableSaveDataHeader",
+ base::FEATURE_DISABLED_BY_DEFAULT};
+
const base::Feature kNetworkErrorLogging{"NetworkErrorLogging",
base::FEATURE_ENABLED_BY_DEFAULT};
diff --git a/services/network/public/cpp/features.h b/services/network/public/cpp/features.h
--- a/services/network/public/cpp/features.h
+++ b/services/network/public/cpp/features.h
@@ -50,7 +50,7 @@ extern const base::FeatureParam<TrustTokenOriginTrialSpec>
kTrustTokenOperationsRequiringOriginTrial;
@@ -45,7 +45,8 @@ COMPONENT_EXPORT(NETWORK_CPP)
extern const base::Feature kMdnsResponderGeneratedNameListing;
COMPONENT_EXPORT(NETWORK_CPP)
extern const base::FeatureParam<bool> kPlatformProvidedTrustTokenIssuance;
extern const base::Feature kOpaqueResponseBlockingV01;
-
+COMPONENT_EXPORT(NETWORK_CPP) BASE_DECLARE_FEATURE(kEnableSaveDataHeader);
+COMPONENT_EXPORT(NETWORK_CPP)
+extern const base::Feature kEnableSaveDataHeader;
COMPONENT_EXPORT(NETWORK_CPP)
BASE_DECLARE_FEATURE(kWebSocketReassembleShortMessages);
extern const base::Feature kTrustTokens;
--
2.25.1

View file

@ -21,7 +21,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
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
@@ -1040,6 +1040,11 @@ const FeatureEntry::Choice kForceColorProfileChoices[] = {
@@ -1010,6 +1010,11 @@ const FeatureEntry::Choice kForceColorProfileChoices[] = {
switches::kForceDisplayColorProfile, "hdr10"},
};
@ -33,7 +33,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
const FeatureEntry::Choice kMemlogModeChoices[] = {
{flags_ui::kGenericExperimentChoiceDisabled, "", ""},
{flag_descriptions::kMemlogModeMinimal, heap_profiling::kMemlogMode,
@@ -4884,6 +4889,9 @@ const FeatureEntry kFeatureEntries[] = {
@@ -4760,6 +4765,9 @@ const FeatureEntry kFeatureEntries[] = {
flag_descriptions::kAndroidPictureInPictureAPIName,
flag_descriptions::kAndroidPictureInPictureAPIDescription, kOsAndroid,
FEATURE_VALUE_TYPE(media::kPictureInPictureAPI)},
@ -46,7 +46,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
@@ -1875,6 +1875,10 @@ const char kUnthrottledNestedTimeoutDescription[] =
@@ -1815,6 +1815,10 @@ const char kUnthrottledNestedTimeoutDescription[] =
"websites abusing the API will still eventually have their setTimeouts "
"clamped.";
@ -60,7 +60,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
@@ -1050,6 +1050,9 @@ extern const char kLogJsConsoleMessagesDescription[];
@@ -1014,6 +1014,9 @@ extern const char kLogJsConsoleMessagesDescription[];
extern const char kUnthrottledNestedTimeoutName[];
extern const char kUnthrottledNestedTimeoutDescription[];

View file

@ -9,27 +9,27 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
chrome/browser/about_flags.cc | 4 ++++
chrome/browser/flag_descriptions.cc | 5 +++++
chrome/browser/flag_descriptions.h | 3 +++
media/base/media_switches.cc | 8 ++------
4 files changed, 14 insertions(+), 6 deletions(-)
media/base/media_switches.cc | 4 ----
4 files changed, 12 insertions(+), 4 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
@@ -3661,6 +3661,10 @@ const FeatureEntry kFeatureEntries[] = {
SINGLE_VALUE_TYPE(extensions::switches::kExtensionsOnChromeURLs)},
#endif // ENABLE_EXTENSIONS
#if BUILDFLAG(IS_ANDROID)
@@ -3527,6 +3527,10 @@ const FeatureEntry kFeatureEntries[] = {
flag_descriptions::kWebRtcRemoteEventLogName,
flag_descriptions::kWebRtcRemoteEventLogDescription, kOsDesktop,
FEATURE_VALUE_TYPE(features::kWebRtcRemoteEventLog)},
+ {"resume-background-video",
+ flag_descriptions::kResumeBackgroundVideoName,
+ flag_descriptions::kResumeBackgroundVideoDescription, kOsAll,
+ FEATURE_VALUE_TYPE(media::kResumeBackgroundVideo)},
{"osk-resizes-visual-viewport-by-default",
flag_descriptions::kEnableOskResizesVisualViewportByDefaultName,
flag_descriptions::kEnableOskResizesVisualViewportByDefaultDescription,
#endif
{"enable-webrtc-srtp-aes-gcm", flag_descriptions::kWebrtcSrtpAesGcmName,
flag_descriptions::kWebrtcSrtpAesGcmDescription, kOsAll,
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
@@ -1363,6 +1363,11 @@ const char kEnablePenetratingImageSelectionDescription[] =
@@ -1332,6 +1332,11 @@ const char kEnablePenetratingImageSelectionDescription[] =
"Enables image options to be surfaced in the context menu for nodes "
"covered by transparent overlays.";
@ -44,7 +44,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
@@ -744,6 +744,9 @@ extern const char kEnablePortalsDescription[];
@@ -729,6 +729,9 @@ extern const char kEnablePortalsDescription[];
extern const char kEnablePortalsCrossOriginName[];
extern const char kEnablePortalsCrossOriginDescription[];
@ -57,19 +57,16 @@ 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
@@ -302,12 +302,8 @@ BASE_FEATURE(kPreloadMetadataLazyLoad,
// Let videos be resumed via remote controls (for example, the notification)
@@ -283,11 +283,7 @@ const base::Feature kPreloadMetadataLazyLoad{"PreloadMetadataLazyLoad",
// when in background.
BASE_FEATURE(kResumeBackgroundVideo,
- "resume-background-video",
const base::Feature kResumeBackgroundVideo {
"resume-background-video",
-#if BUILDFLAG(IS_ANDROID)
- base::FEATURE_ENABLED_BY_DEFAULT
- base::FEATURE_ENABLED_BY_DEFAULT
-#else
- base::FEATURE_DISABLED_BY_DEFAULT
base::FEATURE_DISABLED_BY_DEFAULT
-#endif
+ "resume-background-video", // disabled by default
+ base::FEATURE_DISABLED_BY_DEFAULT // in Bromite
);
};
// When enabled, MediaCapabilities will check with GPU Video Accelerator
--

View file

@ -10,14 +10,14 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
components/subresource_filter/tools/BUILD.gn | 6 ++++++
.../url_formatter/spoof_checks/top_domains/BUILD.gn | 3 ++-
net/dns/host_resolver_manager.cc | 9 ++++++++-
services/network/public/cpp/features.cc | 5 +++++
services/network/public/cpp/features.h | 1 +
services/network/public/cpp/features.cc | 4 ++++
services/network/public/cpp/features.h | 2 ++
8 files changed, 33 insertions(+), 2 deletions(-)
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
--- a/chrome/browser/about_flags.cc
+++ b/chrome/browser/about_flags.cc
@@ -6036,6 +6036,10 @@ const FeatureEntry kFeatureEntries[] = {
@@ -5850,6 +5850,10 @@ const FeatureEntry kFeatureEntries[] = {
{"enable-reader-mode-in-cct", flag_descriptions::kReaderModeInCCTName,
flag_descriptions::kReaderModeInCCTDescription, kOsAndroid,
FEATURE_VALUE_TYPE(chrome::android::kReaderModeInCCT)},
@ -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
@@ -3578,6 +3578,10 @@ const char kCCTRealTimeEngagementSignalsDescription[] =
@@ -3438,6 +3438,10 @@ const char kCCTRealTimeEngagementSignalsDescription[] =
"Enables sending real-time engagement signals (e.g. scroll) through "
"CustomTabsCallback.";
@ -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
@@ -807,6 +807,9 @@ extern const char kEnableWasmLazyCompilationName[];
@@ -795,6 +795,9 @@ extern const char kEnableWasmLazyCompilationName[];
extern const char kEnableWasmLazyCompilationDescription[];
extern const char kEnableWasmTieringName[];
@ -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"
@@ -3727,8 +3728,14 @@ bool HostResolverManager::IsIPv6Reachable(const NetLogWithSource& net_log) {
@@ -4084,8 +4085,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,14 +128,13 @@ 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
@@ -38,6 +38,11 @@ BASE_FEATURE(kThrottleDelayable,
"ThrottleDelayable",
base::FEATURE_ENABLED_BY_DEFAULT);
@@ -36,6 +36,10 @@ const base::Feature kReporting{"Reporting", base::FEATURE_ENABLED_BY_DEFAULT};
const base::Feature kThrottleDelayable{"ThrottleDelayable",
base::FEATURE_ENABLED_BY_DEFAULT};
+// Enable IPv6 ping probes to RIPE DNS.
+BASE_FEATURE(kIPv6Probing,
+ "IPv6Probing",
+ base::FEATURE_ENABLED_BY_DEFAULT);
+const base::Feature kIPv6Probing{"IPv6Probing",
+ base::FEATURE_ENABLED_BY_DEFAULT};
+
// When kPriorityRequestsDelayableOnSlowConnections is enabled, HTTP
// requests fetched from a SPDY/QUIC/H2 proxies can be delayed by the
@ -143,13 +142,14 @@ diff --git a/services/network/public/cpp/features.cc b/services/network/public/c
diff --git a/services/network/public/cpp/features.h b/services/network/public/cpp/features.h
--- a/services/network/public/cpp/features.h
+++ b/services/network/public/cpp/features.h
@@ -17,6 +17,7 @@ COMPONENT_EXPORT(NETWORK_CPP) BASE_DECLARE_FEATURE(kExpectCTReporting);
COMPONENT_EXPORT(NETWORK_CPP) BASE_DECLARE_FEATURE(kNetworkErrorLogging);
COMPONENT_EXPORT(NETWORK_CPP) BASE_DECLARE_FEATURE(kReporting);
COMPONENT_EXPORT(NETWORK_CPP) BASE_DECLARE_FEATURE(kThrottleDelayable);
+COMPONENT_EXPORT(NETWORK_CPP) BASE_DECLARE_FEATURE(kIPv6Probing);
@@ -18,6 +18,8 @@ extern const base::Feature kExpectCTReporting;
COMPONENT_EXPORT(NETWORK_CPP)
BASE_DECLARE_FEATURE(kDelayRequestsOnMultiplexedConnections);
extern const base::Feature kNetworkErrorLogging;
COMPONENT_EXPORT(NETWORK_CPP)
+extern const base::Feature kIPv6Probing;
+COMPONENT_EXPORT(NETWORK_CPP)
extern const base::Feature kReporting;
COMPONENT_EXPORT(NETWORK_CPP)
extern const base::Feature kThrottleDelayable;
--
2.25.1

View file

@ -15,7 +15,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
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
@@ -3621,6 +3621,9 @@ const FeatureEntry kFeatureEntries[] = {
@@ -3521,6 +3521,9 @@ const FeatureEntry kFeatureEntries[] = {
{"ui-disable-partial-swap", flag_descriptions::kUiPartialSwapName,
flag_descriptions::kUiPartialSwapDescription, kOsAll,
SINGLE_DISABLE_VALUE_TYPE(switches::kUIDisablePartialSwap)},
@ -28,7 +28,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
@@ -3966,6 +3966,12 @@ const char kPhotoPickerVideoSupportName[] = "Photo Picker Video Support";
@@ -3817,6 +3817,12 @@ const char kPhotoPickerVideoSupportName[] = "Photo Picker Video Support";
const char kPhotoPickerVideoSupportDescription[] =
"Enables video files to be shown in the Photo Picker dialog";
@ -44,7 +44,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
@@ -2274,6 +2274,9 @@ extern const char kQueryTilesNTPDescription[];
@@ -2188,6 +2188,9 @@ extern const char kQueryTilesNTPDescription[];
extern const char kQueryTilesOnStartName[];
extern const char kQueryTilesOnStartDescription[];
extern const char kQueryTilesSingleTierName[];

View file

@ -4,22 +4,22 @@ Subject: Add flag to disable vibration
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
chrome/browser/about_flags.cc | 4 ++++
chrome/browser/flag_descriptions.cc | 3 +++
chrome/browser/flag_descriptions.h | 2 ++
content/child/runtime_features.cc | 1 +
content/public/common/content_features.cc | 5 +++++
content/public/common/content_features.h | 2 ++
third_party/blink/public/platform/web_runtime_features.h | 1 +
.../blink/renderer/modules/vibration/vibration_controller.cc | 3 +++
.../blink/renderer/platform/exported/web_runtime_features.cc | 4 ++++
.../blink/renderer/platform/runtime_enabled_features.json5 | 4 ++++
10 files changed, 29 insertions(+)
chrome/browser/about_flags.cc | 4 ++++
chrome/browser/flag_descriptions.cc | 3 +++
chrome/browser/flag_descriptions.h | 2 ++
content/child/runtime_features.cc | 1 +
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(+)
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
@@ -7467,6 +7467,10 @@ const FeatureEntry kFeatureEntries[] = {
@@ -7243,6 +7243,10 @@ const FeatureEntry kFeatureEntries[] = {
FEATURE_VALUE_TYPE(features::kNewMacNotificationAPI)},
#endif
@ -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
@@ -6463,6 +6463,9 @@ extern const char kLacrosScreenCoordinatesDescription[];
@@ -6242,6 +6242,9 @@ extern const char kLacrosScreenCoordinatesDescription[];
#endif // #if BUILDFLAG(IS_CHROMEOS_LACROS)
@ -46,7 +46,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
@@ -3938,6 +3938,8 @@ extern const char kWebUITabStripTabDragIntegrationName[];
@@ -3814,6 +3814,8 @@ extern const char kWebUITabStripTabDragIntegrationName[];
extern const char kWebUITabStripTabDragIntegrationDescription[];
#endif // BUILDFLAG(ENABLE_WEBUI_TAB_STRIP) && BUILDFLAG(IS_CHROMEOS_ASH)
@ -69,14 +69,13 @@ 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
@@ -130,6 +130,11 @@ BASE_FEATURE(kBackForwardCacheMemoryControls,
@@ -121,6 +121,10 @@ const base::Feature kBackForwardCacheMemoryControls {
#endif
);
};
+// Enables vibration; an user gesture will still be required if enabled.
+BASE_FEATURE(kVibration,
+ "Vibration",
+ base::FEATURE_DISABLED_BY_DEFAULT);
+const base::Feature kVibration{"Vibration",
+ base::FEATURE_DISABLED_BY_DEFAULT};
+
// When this feature is enabled, private network requests initiated from
// non-secure contexts in the `public` address space are blocked.
@ -84,15 +83,15 @@ diff --git a/content/public/common/content_features.cc b/content/public/common/c
diff --git a/content/public/common/content_features.h b/content/public/common/content_features.h
--- a/content/public/common/content_features.h
+++ b/content/public/common/content_features.h
@@ -322,6 +322,8 @@ CONTENT_EXPORT extern const base::FeatureParam<base::TimeDelta>
@@ -337,6 +337,8 @@ CONTENT_EXPORT extern const base::FeatureParam<base::TimeDelta>
kCompositorLockTimeout;
#endif // BUILDFLAG(IS_ANDROID)
+CONTENT_EXPORT BASE_DECLARE_FEATURE(kVibration);
+CONTENT_EXPORT extern const base::Feature kVibration;
+
#if BUILDFLAG(IS_MAC)
CONTENT_EXPORT BASE_DECLARE_FEATURE(kDeviceMonitorMac);
CONTENT_EXPORT extern const base::Feature kDeviceMonitorMac;
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
@ -141,7 +140,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
@@ -1827,6 +1827,10 @@
@@ -1786,6 +1786,10 @@
name: "OrientationEvent",
status: {"Android": "stable"},
},

View file

@ -181,7 +181,7 @@ diff --git a/chrome/browser/permissions/last_tab_standing_tracker_factory.cc b/c
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
@@ -411,10 +411,7 @@ void ChromeBrowserMainExtraPartsProfiles::
@@ -410,10 +410,7 @@ void ChromeBrowserMainExtraPartsProfiles::
LacrosFirstRunServiceFactory::GetInstance();
#endif
LanguageModelManagerFactory::GetInstance();
@ -196,9 +196,9 @@ diff --git a/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc
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
@@ -491,6 +491,7 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) {
PolicyAuditorBridge::CreateForWebContents(web_contents);
PluginObserverAndroid::CreateForWebContents(web_contents);
@@ -503,6 +503,7 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) {
web_contents);
}
video_tutorials::VideoTutorialTabHelper::CreateForWebContents(web_contents);
+ LastTabStandingTrackerTabHelper::CreateForWebContents(web_contents);
#else
@ -250,15 +250,15 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleWebsiteSettings.java b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleWebsiteSettings.java
--- a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleWebsiteSettings.java
+++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleWebsiteSettings.java
@@ -35,6 +35,7 @@ import org.chromium.components.browser_ui.settings.SettingsUtils;
import org.chromium.components.browser_ui.settings.TextMessagePreference;
@@ -34,6 +34,7 @@ import org.chromium.components.browser_ui.settings.ManagedPreferencesUtils;
import org.chromium.components.browser_ui.settings.SettingsUtils;
import org.chromium.components.content_settings.ContentSettingValues;
import org.chromium.components.content_settings.ContentSettingsType;
+import org.chromium.components.content_settings.SessionModel;
import org.chromium.components.embedder_support.util.Origin;
import org.chromium.content_public.browser.BrowserContextHandle;
import org.chromium.content_public.browser.ContentFeatureList;
@@ -539,6 +540,11 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment
@@ -528,6 +529,11 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment
}
}
@ -270,7 +270,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
private void setUpClearDataPreference() {
ClearWebsiteStorage preference = findPreference(PREF_CLEAR_DATA);
long usage = mSite.getTotalUsage();
@@ -963,6 +969,10 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment
@@ -926,6 +932,10 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment
if (contentType == mHighlightedPermission) {
switchPreference.setBackgroundColor(mHighlightColor);
}
@ -292,7 +292,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
import org.chromium.components.location.LocationUtils;
import org.chromium.content_public.browser.BrowserContextHandle;
import org.chromium.url.GURL;
@@ -55,7 +56,8 @@ public class WebsitePreferenceBridge {
@@ -54,7 +55,8 @@ public class WebsitePreferenceBridge {
@CalledByNative
private static void insertPermissionInfoIntoList(@ContentSettingsType int type,
@ -302,7 +302,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
if (type == ContentSettingsType.MEDIASTREAM_CAMERA
|| type == ContentSettingsType.MEDIASTREAM_MIC) {
for (PermissionInfo info : list) {
@@ -64,7 +66,7 @@ public class WebsitePreferenceBridge {
@@ -63,7 +65,7 @@ public class WebsitePreferenceBridge {
}
}
}
@ -314,7 +314,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
diff --git a/components/browser_ui/site_settings/android/website_preference_bridge.cc b/components/browser_ui/site_settings/android/website_preference_bridge.cc
--- a/components/browser_ui/site_settings/android/website_preference_bridge.cc
+++ b/components/browser_ui/site_settings/android/website_preference_bridge.cc
@@ -122,7 +122,8 @@ typedef void (*InfoListInsertionFunction)(
@@ -120,7 +120,8 @@ typedef void (*InfoListInsertionFunction)(
const base::android::JavaRef<jobject>&,
const base::android::JavaRef<jstring>&,
const base::android::JavaRef<jstring>&,
@ -324,7 +324,7 @@ diff --git a/components/browser_ui/site_settings/android/website_preference_brid
void GetOrigins(JNIEnv* env,
const JavaParamRef<jobject>& jbrowser_context_handle,
@@ -164,7 +165,7 @@ void GetOrigins(JNIEnv* env,
@@ -162,7 +163,7 @@ void GetOrigins(JNIEnv* env,
seen_origins.push_back(origin);
insertionFunc(env, static_cast<int>(content_type), list,
ConvertOriginToJavaString(env, origin), jembedder,
@ -333,7 +333,7 @@ diff --git a/components/browser_ui/site_settings/android/website_preference_brid
}
// Add any origins which have a default content setting value (thus skipped
@@ -186,7 +187,7 @@ void GetOrigins(JNIEnv* env,
@@ -184,7 +185,7 @@ void GetOrigins(JNIEnv* env,
seen_origins.push_back(origin);
insertionFunc(env, static_cast<int>(content_type), list,
ConvertOriginToJavaString(env, origin), jembedder,
@ -345,7 +345,7 @@ diff --git a/components/browser_ui/site_settings/android/website_preference_brid
diff --git a/components/browser_ui/strings/android/browser_ui_strings.grd b/components/browser_ui/strings/android/browser_ui_strings.grd
--- a/components/browser_ui/strings/android/browser_ui_strings.grd
+++ b/components/browser_ui/strings/android/browser_ui_strings.grd
@@ -608,6 +608,11 @@
@@ -602,6 +602,11 @@
<message name="IDS_PAGE_INFO_URL_TRUNCATED" desc="Accessibility announcement when the URL in PageInfo switches from full to truncated display">
URL truncated
</message>
@ -553,7 +553,7 @@ diff --git a/components/page_info/android/page_info_controller_android.cc b/comp
diff --git a/components/page_info/page_info.cc b/components/page_info/page_info.cc
--- a/components/page_info/page_info.cc
+++ b/components/page_info/page_info.cc
@@ -1189,6 +1189,8 @@ void PageInfo::PresentSitePermissions() {
@@ -1151,6 +1151,8 @@ void PageInfo::PresentSitePermissions() {
permission_info.source = info.source;
permission_info.is_one_time = (info.metadata.session_model ==
content_settings::SessionModel::OneTime);
@ -771,7 +771,7 @@ diff --git a/components/permissions/android/permission_prompt/permission_dialog_
diff --git a/components/permissions/android/permission_prompt/permission_prompt_android.cc b/components/permissions/android/permission_prompt/permission_prompt_android.cc
--- a/components/permissions/android/permission_prompt/permission_prompt_android.cc
+++ b/components/permissions/android/permission_prompt/permission_prompt_android.cc
@@ -41,6 +41,14 @@ void PermissionPromptAndroid::Accept() {
@@ -40,6 +40,14 @@ void PermissionPromptAndroid::Accept() {
delegate_->Accept();
}
@ -958,7 +958,7 @@ diff --git a/components/permissions/contexts/geolocation_permission_context_andr
diff --git a/components/permissions/permission_context_base.cc b/components/permissions/permission_context_base.cc
--- a/components/permissions/permission_context_base.cc
+++ b/components/permissions/permission_context_base.cc
@@ -226,6 +226,20 @@ PermissionContextBase::CreatePermissionRequest(
@@ -252,6 +252,20 @@ PermissionContextBase::CreatePermissionRequest(
std::move(delete_callback));
}
@ -979,7 +979,7 @@ diff --git a/components/permissions/permission_context_base.cc b/components/perm
PermissionResult PermissionContextBase::GetPermissionStatus(
content::RenderFrameHost* render_frame_host,
const GURL& requesting_origin,
@@ -405,7 +419,8 @@ void PermissionContextBase::PermissionDecided(
@@ -443,7 +457,8 @@ void PermissionContextBase::PermissionDecided(
const GURL& embedding_origin,
BrowserPermissionCallback callback,
ContentSetting content_setting,
@ -989,7 +989,7 @@ diff --git a/components/permissions/permission_context_base.cc b/components/perm
DCHECK(content_setting == CONTENT_SETTING_ALLOW ||
content_setting == CONTENT_SETTING_BLOCK ||
content_setting == CONTENT_SETTING_DEFAULT);
@@ -413,9 +428,9 @@ void PermissionContextBase::PermissionDecided(
@@ -451,9 +466,9 @@ void PermissionContextBase::PermissionDecided(
content_setting);
bool persist = content_setting != CONTENT_SETTING_DEFAULT;
@ -1001,7 +1001,7 @@ diff --git a/components/permissions/permission_context_base.cc b/components/perm
}
content::BrowserContext* PermissionContextBase::browser_context() const {
@@ -465,11 +480,26 @@ void PermissionContextBase::NotifyPermissionSet(
@@ -503,11 +518,26 @@ void PermissionContextBase::NotifyPermissionSet(
bool persist,
ContentSetting content_setting,
bool is_one_time) {
@ -1029,7 +1029,7 @@ diff --git a/components/permissions/permission_context_base.cc b/components/perm
}
UpdateTabContext(id, requesting_origin,
@@ -490,6 +520,15 @@ void PermissionContextBase::UpdateContentSetting(const GURL& requesting_origin,
@@ -528,6 +558,15 @@ void PermissionContextBase::UpdateContentSetting(const GURL& requesting_origin,
const GURL& embedding_origin,
ContentSetting content_setting,
bool is_one_time) {
@ -1045,7 +1045,7 @@ diff --git a/components/permissions/permission_context_base.cc b/components/perm
DCHECK_EQ(requesting_origin, requesting_origin.DeprecatedGetOriginAsURL());
DCHECK_EQ(embedding_origin, embedding_origin.DeprecatedGetOriginAsURL());
DCHECK(content_setting == CONTENT_SETTING_ALLOW ||
@@ -498,6 +537,8 @@ void PermissionContextBase::UpdateContentSetting(const GURL& requesting_origin,
@@ -536,6 +575,8 @@ void PermissionContextBase::UpdateContentSetting(const GURL& requesting_origin,
content_settings::ContentSettingConstraints constraints = {
base::Time(), is_one_time ? content_settings::SessionModel::OneTime
: content_settings::SessionModel::Durable};
@ -1057,7 +1057,7 @@ diff --git a/components/permissions/permission_context_base.cc b/components/perm
diff --git a/components/permissions/permission_context_base.h b/components/permissions/permission_context_base.h
--- a/components/permissions/permission_context_base.h
+++ b/components/permissions/permission_context_base.h
@@ -139,6 +139,14 @@ class PermissionContextBase : public content_settings::Observer {
@@ -141,6 +141,14 @@ class PermissionContextBase : public KeyedService,
// Updates stored content setting if persist is set, updates tab indicators
// and runs the callback to finish the request.
@ -1072,7 +1072,7 @@ diff --git a/components/permissions/permission_context_base.h b/components/permi
virtual void NotifyPermissionSet(const PermissionRequestID& id,
const GURL& requesting_origin,
const GURL& embedding_origin,
@@ -159,6 +167,11 @@ class PermissionContextBase : public content_settings::Observer {
@@ -161,6 +169,11 @@ class PermissionContextBase : public KeyedService,
// Store the decided permission as a content setting.
// virtual since the permission might be stored with different restrictions
// (for example for desktop notifications).
@ -1084,7 +1084,7 @@ diff --git a/components/permissions/permission_context_base.h b/components/permi
virtual void UpdateContentSetting(const GURL& requesting_origin,
const GURL& embedding_origin,
ContentSetting content_setting,
@@ -191,6 +204,14 @@ class PermissionContextBase : public content_settings::Observer {
@@ -193,6 +206,14 @@ class PermissionContextBase : public KeyedService,
PermissionRequest::PermissionDecidedCallback permission_decided_callback,
base::OnceClosure delete_callback) const;
@ -1099,7 +1099,7 @@ diff --git a/components/permissions/permission_context_base.h b/components/permi
ContentSettingsType content_settings_type() const {
return content_settings_type_;
}
@@ -217,7 +238,8 @@ class PermissionContextBase : public content_settings::Observer {
@@ -219,7 +240,8 @@ class PermissionContextBase : public KeyedService,
const GURL& embedding_origin,
BrowserPermissionCallback callback,
ContentSetting content_setting,
@ -1126,7 +1126,7 @@ diff --git a/components/permissions/permission_prompt.h b/components/permissions
diff --git a/components/permissions/permission_request.cc b/components/permissions/permission_request.cc
--- a/components/permissions/permission_request.cc
+++ b/components/permissions/permission_request.cc
@@ -31,6 +31,18 @@ PermissionRequest::PermissionRequest(
@@ -30,6 +30,18 @@ PermissionRequest::PermissionRequest(
permission_decided_callback_(std::move(permission_decided_callback)),
delete_callback_(std::move(delete_callback)) {}
@ -1145,7 +1145,7 @@ diff --git a/components/permissions/permission_request.cc b/components/permissio
PermissionRequest::~PermissionRequest() {
DCHECK(delete_callback_.is_null());
}
@@ -235,17 +247,35 @@ std::u16string PermissionRequest::GetMessageTextFragment() const {
@@ -237,17 +249,35 @@ std::u16string PermissionRequest::GetMessageTextFragment() const {
}
#endif
@ -1210,7 +1210,7 @@ diff --git a/components/permissions/permission_request.h b/components/permission
PermissionRequest(const PermissionRequest&) = delete;
PermissionRequest& operator=(const PermissionRequest&) = delete;
@@ -106,10 +116,10 @@ class PermissionRequest {
@@ -97,10 +107,10 @@ class PermissionRequest {
// If |is_one_time| is true the permission will last until all tabs of
// |origin| are closed or navigated away from, and then the permission will
// automatically expire after 1 day.
@ -1223,7 +1223,7 @@ diff --git a/components/permissions/permission_request.h b/components/permission
// Called when the user has cancelled the permission request. This
// corresponds to a denial, but is segregated in case the context needs to
@@ -147,6 +157,9 @@ class PermissionRequest {
@@ -138,6 +148,9 @@ class PermissionRequest {
// Called once a decision is made about the permission.
PermissionDecidedCallback permission_decided_callback_;
@ -1236,7 +1236,7 @@ diff --git a/components/permissions/permission_request.h b/components/permission
diff --git a/components/permissions/permission_request_manager.cc b/components/permissions/permission_request_manager.cc
--- a/components/permissions/permission_request_manager.cc
+++ b/components/permissions/permission_request_manager.cc
@@ -148,7 +148,7 @@ void PermissionRequestManager::AddRequest(
@@ -156,7 +156,7 @@ void PermissionRequestManager::AddRequest(
if (base::CommandLine::ForCurrentProcess()->HasSwitch(
switches::kDenyPermissionPrompts)) {
@ -1245,7 +1245,7 @@ diff --git a/components/permissions/permission_request_manager.cc b/components/p
request->RequestFinished();
return;
}
@@ -224,7 +224,7 @@ void PermissionRequestManager::AddRequest(
@@ -232,7 +232,7 @@ void PermissionRequestManager::AddRequest(
if (auto_approval_origin) {
if (url::Origin::Create(request->requesting_origin()) ==
auto_approval_origin.value()) {
@ -1254,16 +1254,14 @@ diff --git a/components/permissions/permission_request_manager.cc b/components/p
}
request->RequestFinished();
return;
@@ -541,14 +541,15 @@ void PermissionRequestManager::Accept() {
(*requests_iter)->request_type(),
PermissionAction::GRANTED);
@@ -491,12 +491,13 @@ void PermissionRequestManager::Accept() {
for (requests_iter = requests_.begin(); requests_iter != requests_.end();
requests_iter++) {
PermissionGrantedIncludingDuplicates(*requests_iter,
- /*is_one_time=*/false);
+ /*is_one_time=*/false,
+ content_settings::LifetimeMode::Always);
}
NotifyRequestDecided(PermissionAction::GRANTED);
FinalizeCurrentRequests(PermissionAction::GRANTED);
}
@ -1272,17 +1270,15 @@ diff --git a/components/permissions/permission_request_manager.cc b/components/p
if (ignore_callbacks_from_prompt_)
return;
DCHECK(view_);
@@ -559,7 +560,8 @@ void PermissionRequestManager::AcceptThisTime() {
(*requests_iter)->request_type(),
PermissionAction::GRANTED_ONCE);
@@ -504,12 +505,22 @@ void PermissionRequestManager::AcceptThisTime() {
for (requests_iter = requests_.begin(); requests_iter != requests_.end();
requests_iter++) {
PermissionGrantedIncludingDuplicates(*requests_iter,
- /*is_one_time=*/true);
+ /*is_one_time=*/true,
+ mode);
}
NotifyRequestDecided(PermissionAction::GRANTED_ONCE);
@@ -567,6 +569,15 @@ void PermissionRequestManager::AcceptThisTime() {
FinalizeCurrentRequests(PermissionAction::GRANTED_ONCE);
}
void PermissionRequestManager::Deny() {
@ -1298,16 +1294,16 @@ diff --git a/components/permissions/permission_request_manager.cc b/components/p
if (ignore_callbacks_from_prompt_)
return;
DCHECK(view_);
@@ -589,7 +600,7 @@ void PermissionRequestManager::Deny() {
StorePermissionActionForUMA((*requests_iter)->requesting_origin(),
(*requests_iter)->request_type(),
PermissionAction::DENIED);
@@ -529,7 +540,7 @@ void PermissionRequestManager::Deny() {
std::vector<PermissionRequest*>::iterator requests_iter;
for (requests_iter = requests_.begin(); requests_iter != requests_.end();
requests_iter++) {
- PermissionDeniedIncludingDuplicates(*requests_iter);
+ PermissionDeniedIncludingDuplicates(*requests_iter, is_one_time, lifetime_option);
}
NotifyRequestDecided(PermissionAction::DENIED);
@@ -967,25 +978,25 @@ PermissionRequest* PermissionRequestManager::GetExistingRequest(
FinalizeCurrentRequests(PermissionAction::DENIED);
}
@@ -894,25 +905,25 @@ PermissionRequest* PermissionRequestManager::GetExistingRequest(
void PermissionRequestManager::PermissionGrantedIncludingDuplicates(
PermissionRequest* request,
@ -1339,7 +1335,7 @@ diff --git a/components/permissions/permission_request_manager.cc b/components/p
}
void PermissionRequestManager::CancelledIncludingDuplicates(
@@ -1187,7 +1198,7 @@ void PermissionRequestManager::LogWarningToConsole(const char* message) {
@@ -1092,7 +1103,7 @@ void PermissionRequestManager::LogWarningToConsole(const char* message) {
void PermissionRequestManager::DoAutoResponseForTesting() {
switch (auto_response_for_test_) {
case ACCEPT_ONCE:
@ -1351,7 +1347,7 @@ diff --git a/components/permissions/permission_request_manager.cc b/components/p
diff --git a/components/permissions/permission_request_manager.h b/components/permissions/permission_request_manager.h
--- a/components/permissions/permission_request_manager.h
+++ b/components/permissions/permission_request_manager.h
@@ -141,8 +141,10 @@ class PermissionRequestManager
@@ -136,8 +136,10 @@ class PermissionRequestManager
GURL GetRequestingOrigin() const override;
GURL GetEmbeddingOrigin() const override;
void Accept() override;
@ -1363,7 +1359,7 @@ diff --git a/components/permissions/permission_request_manager.h b/components/pe
void Dismiss() override;
void Ignore() override;
bool WasCurrentRequestAlreadyDisplayed() override;
@@ -303,9 +305,12 @@ class PermissionRequestManager
@@ -274,9 +276,12 @@ class PermissionRequestManager
// Calls PermissionGranted on a request and all its duplicates.
void PermissionGrantedIncludingDuplicates(PermissionRequest* request,

View file

@ -5,8 +5,8 @@ Subject: Add menu item to bookmark all tabs
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
chrome/android/java/res/menu/main_menu.xml | 7 +++
.../chrome/browser/ChromeTabbedActivity.java | 24 ++++++++
.../browser/bookmarks/BookmarkBridge.java | 61 +++++++++++++++++++
.../chrome/browser/ChromeTabbedActivity.java | 26 ++++++++
.../browser/bookmarks/BookmarkBridge.java | 60 +++++++++++++++++++
.../browser/bookmarks/BookmarkUtils.java | 4 ++
.../bookmarks/android/bookmark_bridge.cc | 17 ++++++
.../bookmarks/android/bookmark_bridge.h | 4 ++
@ -25,7 +25,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
components/bookmarks/browser/bookmark_node.h | 5 ++
components/bookmarks/browser/model_loader.cc | 3 +-
.../bookmark_specifics_conversions.cc | 1 +
21 files changed, 201 insertions(+), 10 deletions(-)
21 files changed, 202 insertions(+), 10 deletions(-)
diff --git a/chrome/android/java/res/menu/main_menu.xml b/chrome/android/java/res/menu/main_menu.xml
--- a/chrome/android/java/res/menu/main_menu.xml
@ -48,21 +48,22 @@ diff --git a/chrome/android/java/res/menu/main_menu.xml b/chrome/android/java/re
+ <item android:id="@+id/bookmark_all_tabs_menu_id"
+ android:title="@string/menu_bookmark_all_tabs"
+ android:icon="@drawable/ic_folder_blue_24dp" />
<item android:id="@+id/menu_select_tabs"
android:title="@string/menu_select_tabs"
android:icon="@drawable/ic_select_tabs" />
<item android:id="@+id/track_prices_row_menu_id"
android:title="@string/menu_track_prices"
android:icon="@drawable/ic_trending_down_black" />
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
@@ -77,6 +77,7 @@ import org.chromium.chrome.browser.back_press.MinimizeAppAndCloseTabBackPressHan
@@ -76,6 +76,8 @@ import org.chromium.chrome.browser.back_press.MinimizeAppAndCloseTabBackPressHan
import org.chromium.chrome.browser.bookmarks.BookmarkUtils;
import org.chromium.chrome.browser.browserservices.intents.WebappConstants;
import org.chromium.chrome.browser.compositor.CompositorViewHolder;
+import org.chromium.chrome.browser.bookmarks.BookmarkBridge;
+import org.chromium.chrome.browser.bookmarks.BookmarkModel;
import org.chromium.chrome.browser.compositor.layouts.Layout;
import org.chromium.chrome.browser.compositor.layouts.LayoutManagerChrome;
import org.chromium.chrome.browser.compositor.layouts.LayoutManagerChromePhone;
@@ -2203,6 +2204,8 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
@@ -2197,6 +2199,8 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
CloseAllTabsDialog.show(this, getModalDialogManagerSupplier(),
() -> getTabModelSelector().closeAllTabs(), /*isIncognito=*/false);
RecordUserAction.record("MobileMenuCloseAllTabs");
@ -71,7 +72,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
CloseAllTabsDialog.show(this, getModalDialogManagerSupplier(),
@@ -2255,6 +2258,27 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
@@ -2249,6 +2253,28 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
mTabModalHandler.onOmniboxFocusChanged(hasFocus);
}
@ -83,16 +84,17 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct
+ return;
+ }
+
+ final BookmarkModel bookmarkModel = mBookmarkModelSupplier.get();
+ final BookmarkBridge bridge = mBookmarkBridgeSupplier.get();
+ final BookmarkModel bookmarkModel = new BookmarkModel();
+ bookmarkModel.finishLoadingBookmarkModel(() -> {
+ for (int i = 0; i < tabModel.getCount(); i++) {
+ Tab tab = tabModel.getTabAt(i);
+ if (tab.isNativePage()) {
+ continue;
+ }
+ bookmarkModel.addToTabsCollection(this, tab);
+ bridge.addToTabsCollection(this, tab);
+ }
+ bookmarkModel.finishedAddingToTabsCollection(this, getSnackbarManager());
+ bridge.finishedAddingToTabsCollection(this, getSnackbarManager());
+ });
+ }
+
@ -119,18 +121,17 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
+import org.chromium.chrome.browser.ui.messages.snackbar.SnackbarManager.SnackbarController;
+import org.chromium.chrome.R;
import org.chromium.components.bookmarks.BookmarkId;
import org.chromium.components.bookmarks.BookmarkItem;
import org.chromium.components.bookmarks.BookmarkType;
@@ -86,6 +91,8 @@ import java.io.File;
import org.chromium.components.commerce.PriceTracking.ProductPrice;
@@ -87,6 +92,7 @@ import java.io.File;
* bookmark model stored in native.
*/
class BookmarkBridge {
public class BookmarkBridge {
+ private static final String TAG = "BookmarkBridge";
+
private final Profile mProfile;
private boolean mIsDestroyed;
private boolean mIsDoingExtensiveChanges;
@@ -393,6 +400,16 @@ class BookmarkBridge {
@@ -604,6 +610,16 @@ public class BookmarkBridge {
mNativeBookmarkBridge, BookmarkBridge.this);
}
@ -147,7 +148,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
/**
* @return Id representing the special "other" folder from bookmark model.
*/
@@ -1030,6 +1047,49 @@ class BookmarkBridge {
@@ -1241,6 +1257,49 @@ public class BookmarkBridge {
mNativeBookmarkBridge, BookmarkBridge.this, title, url);
}
@ -197,7 +198,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.
@@ -1327,6 +1387,7 @@ class BookmarkBridge {
@@ -1538,6 +1597,7 @@ public class BookmarkBridge {
void getAllFoldersWithDepths(long nativeBookmarkBridge, BookmarkBridge caller,
List<BookmarkId> folderList, List<Integer> depthList);
BookmarkId getRootFolderId(long nativeBookmarkBridge, BookmarkBridge caller);
@ -208,7 +209,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
@@ -648,6 +648,7 @@ public class BookmarkUtils {
@@ -614,6 +614,7 @@ public class BookmarkUtils {
List<BookmarkId> topLevelFolders = new ArrayList<>();
BookmarkId desktopNodeId = bookmarkModel.getDesktopFolderId();
BookmarkId mobileNodeId = bookmarkModel.getMobileFolderId();
@ -216,7 +217,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
BookmarkId othersNodeId = bookmarkModel.getOtherFolderId();
List<BookmarkId> specialFoldersIds =
@@ -673,6 +674,9 @@ public class BookmarkUtils {
@@ -639,6 +640,9 @@ public class BookmarkUtils {
if (bookmarkModel.isFolderVisible(mobileNodeId)) {
topLevelFolders.add(mobileNodeId);
}
@ -349,7 +350,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
@@ -3606,6 +3606,9 @@ To change this setting, <ph name="BEGIN_LINK">&lt;resetlink&gt;</ph>reset sync<p
@@ -3609,6 +3609,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,14 +492,14 @@ diff --git a/components/bookmarks/browser/bookmark_codec.cc b/components/bookmar
diff --git a/components/bookmarks/browser/bookmark_codec.h b/components/bookmarks/browser/bookmark_codec.h
--- a/components/bookmarks/browser/bookmark_codec.h
+++ b/components/bookmarks/browser/bookmark_codec.h
@@ -49,6 +49,7 @@ class BookmarkCodec {
@@ -48,6 +48,7 @@ class BookmarkCodec {
base::Value Encode(
const BookmarkNode* bookmark_bar_node,
const BookmarkNode* other_folder_node,
+ const BookmarkNode* tabs_folder_node,
const BookmarkNode* mobile_folder_node,
+ const BookmarkNode* tabs_folder_node,
const BookmarkNode::MetaInfoMap* model_meta_info_map,
const BookmarkNode::MetaInfoMap* model_unsynced_meta_info_map,
std::string sync_metadata_str);
@@ -62,6 +63,7 @@ class BookmarkCodec {
BookmarkNode* bb_node,
BookmarkNode* other_folder_node,
@ -569,7 +570,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
@@ -670,7 +670,7 @@ bool BookmarkModel::HasBookmarks() {
@@ -666,7 +666,7 @@ bool BookmarkModel::HasBookmarks() {
bool BookmarkModel::HasNoUserCreatedBookmarksOrFolders() {
DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
return bookmark_bar_node_->children().empty() &&
@ -578,7 +579,7 @@ diff --git a/components/bookmarks/browser/bookmark_model.cc b/components/bookmar
}
bool BookmarkModel::IsBookmarked(const GURL& url) {
@@ -926,6 +926,7 @@ void BookmarkModel::DoneLoading(std::unique_ptr<BookmarkLoadDetails> details) {
@@ -920,6 +920,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();
@ -674,7 +675,7 @@ diff --git a/components/bookmarks/browser/bookmark_node.h b/components/bookmarks
diff --git a/components/bookmarks/browser/model_loader.cc b/components/bookmarks/browser/model_loader.cc
--- a/components/bookmarks/browser/model_loader.cc
+++ b/components/bookmarks/browser/model_loader.cc
@@ -58,7 +58,8 @@ void LoadBookmarks(const base::FilePath& path,
@@ -57,7 +57,8 @@ void LoadBookmarks(const base::FilePath& path,
std::string sync_metadata_str;
BookmarkCodec codec;
codec.Decode(*root, details->bb_node(), details->other_folder_node(),

View file

@ -16,7 +16,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/chrome/android/java/res/menu/custom_tabs_menu.xml b/chrome/android/java/res/menu/custom_tabs_menu.xml
--- a/chrome/android/java/res/menu/custom_tabs_menu.xml
+++ b/chrome/android/java/res/menu/custom_tabs_menu.xml
@@ -51,6 +51,9 @@ found in the LICENSE file.
@@ -48,6 +48,9 @@ found in the LICENSE file.
<item android:id="@+id/add_to_homescreen_id"
android:title="@string/menu_add_to_homescreen"
android:orderInCategory="2" />
@ -42,7 +42,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
@@ -2229,6 +2229,8 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
@@ -2223,6 +2223,8 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
NewTabPageUma.recordAction(NewTabPageUma.ACTION_OPENED_DOWNLOADS_MANAGER);
}
RecordUserAction.record("MobileMenuDownloadManager");
@ -54,7 +54,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
@@ -2445,6 +2445,11 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
@@ -2446,6 +2446,11 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
return true;
}
@ -69,7 +69,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
@@ -543,6 +543,7 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate
@@ -541,6 +541,7 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate
isChromeScheme, isFileScheme, isContentScheme, isIncognito, url));
updateRequestDesktopSiteMenuItem(menu, currentTab, true /* can show */, isChromeScheme);
@ -77,7 +77,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/App
updateAutoDarkMenuItem(menu, currentTab, isChromeScheme);
@@ -1242,6 +1243,23 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate
@@ -1208,6 +1209,23 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate
stopPriceTrackingMenuItem.setVisible(false);
}
@ -104,7 +104,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
@@ -228,6 +228,7 @@ public class CustomTabAppMenuPropertiesDelegate extends AppMenuPropertiesDelegat
@@ -220,6 +220,7 @@ public class CustomTabAppMenuPropertiesDelegate extends AppMenuPropertiesDelegat
updateRequestDesktopSiteMenuItem(
menu, currentTab, requestDesktopSiteVisible, isChromeScheme);

View file

@ -50,7 +50,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
@@ -430,6 +430,7 @@ public final class ChromePreferenceKeys {
@@ -414,6 +414,7 @@ public final class ChromePreferenceKeys {
AccessibilityConstants.FONT_USER_SET_FORCE_ENABLE_ZOOM;
public static final String HISTORY_SHOW_HISTORY_INFO = "history_home_show_info";
@ -61,7 +61,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
@@ -67,6 +67,7 @@ public class LegacyChromePreferenceKeys {
@@ -66,6 +66,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,
@ -72,7 +72,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
@@ -376,7 +376,7 @@ public class LocationBarCoordinator implements LocationBar, NativeInitObserver,
@@ -368,7 +368,7 @@ public class LocationBarCoordinator implements LocationBar, NativeInitObserver,
// OmniboxSuggestionsDropdownEmbedder implementation
@Override
public boolean isTablet() {
@ -100,10 +100,10 @@ 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
@@ -138,22 +138,6 @@ public class ToolbarControlContainer extends OptimizedFrameLayout implements Con
mToolbarContainer.setPostInitializationDependencies(mToolbar, constraintsSupplier,
tabSupplier, compositorInMotionSupplier,
browserStateBrowserControlsVisibilityDelegate, isVisible);
@@ -119,22 +119,6 @@ public class ToolbarControlContainer extends OptimizedFrameLayout implements Con
mToolbar = toolbar;
mToolbarContainer.setPostInitializationDependencies(
mToolbar, constraintsSupplier, tabSupplier);
-
- View toolbarView = findViewById(R.id.toolbar);
- assert toolbarView != null;
@ -135,7 +135,7 @@ diff --git a/components/BUILD.gn b/components/BUILD.gn
disallowed_extension_deps_ = [
# Components should largely not depend on //extensions. Since // extensions
# is not a component target and is linked with //chrome, depending on most
@@ -671,7 +671,7 @@ test("components_unittests") {
@@ -673,7 +673,7 @@ test("components_unittests") {
# On other platforms, no components should depend on Chrome.
# Since //chrome depends on //extensions, we also only assert_no_deps on
# extensions targets for non-lacros builds.
@ -144,7 +144,7 @@ diff --git a/components/BUILD.gn b/components/BUILD.gn
assert_no_deps = [ "//chrome/*" ]
assert_no_deps += disallowed_extension_deps_
}
@@ -950,7 +950,7 @@ if (!is_ios) {
@@ -974,7 +974,7 @@ if (!is_ios) {
# dependency. On other platforms, no components should depend on Chrome.
# Since //chrome depends on //extensions, we also only assert_no_deps on
# extensions targets for non-lacros builds.
@ -217,7 +217,7 @@ diff --git a/components/browser_ui/accessibility/android/java/src/org/chromium/c
diff --git a/ui/android/BUILD.gn b/ui/android/BUILD.gn
--- a/ui/android/BUILD.gn
+++ b/ui/android/BUILD.gn
@@ -374,6 +374,8 @@ android_library("ui_no_recycler_view_java") {
@@ -372,6 +372,8 @@ android_library("ui_no_recycler_view_java") {
deps = [
":ui_java_resources",
":ui_utils_java",

View file

@ -28,15 +28,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/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
@@ -40,6 +40,7 @@ import androidx.lifecycle.LifecycleRegistry;
import org.chromium.base.BuildInfo;
@@ -39,6 +39,7 @@ import androidx.lifecycle.LifecycleRegistry;
import org.chromium.base.CallbackController;
import org.chromium.base.CommandLine;
+import org.chromium.base.ContextUtils;
import org.chromium.base.IntentUtils;
import org.chromium.base.Log;
import org.chromium.base.MemoryPressureListener;
@@ -1322,8 +1323,10 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
@@ -1316,8 +1317,10 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
boolean hadCipherData =
CipherFactory.getInstance().restoreFromBundle(getSavedInstanceState());
@ -105,7 +105,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
@@ -4420,6 +4420,12 @@ To change this setting, <ph name="BEGIN_LINK">&lt;resetlink&gt;</ph>reset sync<p
@@ -4438,6 +4438,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

@ -134,7 +134,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/Chrome
diff --git a/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java b/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java
--- a/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java
+++ b/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java
@@ -441,6 +441,7 @@ public final class ChromePreferenceKeys {
@@ -425,6 +425,7 @@ public final class ChromePreferenceKeys {
public static final String HOMEPAGE_PARTNER_CUSTOMIZED_DEFAULT_GURL =
"Chrome.Homepage.PartnerCustomizedDefaultGurl";
@ -145,14 +145,14 @@ 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
@@ -72,6 +72,7 @@ public class LegacyChromePreferenceKeys {
@@ -71,6 +71,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.LEGACY_FIRST_RUN_AND_BACKUP_SIGNIN_COMPLETE,
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
@ -195,7 +195,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
@@ -388,6 +388,7 @@ extern const char kRestrictedManagedGuestSessionExtensionCleanupExemptList[];
@@ -384,6 +384,7 @@ extern const char kRestrictedManagedGuestSessionExtensionCleanupExemptList[];
extern const char kUsedPolicyCertificates[];
#endif // BUILDFLAG(IS_CHROMEOS)
extern const char kShowHomeButton[];

View file

@ -21,7 +21,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
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
@@ -142,6 +142,7 @@
@@ -141,6 +141,7 @@
#include "components/segmentation_platform/public/features.h"
#include "components/send_tab_to_self/features.h"
#include "components/services/heap_profiling/public/cpp/switches.h"
@ -29,7 +29,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
#include "components/shared_highlighting/core/common/shared_highlighting_features.h"
#include "components/signin/core/browser/dice_account_reconcilor_delegate.h"
#include "components/signin/public/base/signin_buildflags.h"
@@ -9174,6 +9175,11 @@ const FeatureEntry kFeatureEntries[] = {
@@ -8966,6 +8967,11 @@ const FeatureEntry kFeatureEntries[] = {
flag_descriptions::kSearchReadyOmniboxDescription, kOsAndroid,
FEATURE_VALUE_TYPE(chrome::android::kSearchReadyOmniboxFeature)},
@ -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
@@ -3461,6 +3461,11 @@ const char kSkipServiceWorkerFetchHandlerDescription[] =
@@ -3320,6 +3320,11 @@ const char kSkipServiceWorkerFetchHandlerDescription[] =
"Skips starting the service worker and run the fetch handler if the fetch "
"handler is recognized as skippable.";
@ -59,7 +59,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
@@ -1975,6 +1975,9 @@ extern const char kReduceUserAgentPlatformOsCpuDescription[];
@@ -1888,6 +1888,9 @@ extern const char kReduceUserAgentPlatformOsCpuDescription[];
extern const char kSkipServiceWorkerFetchHandlerName[];
extern const char kSkipServiceWorkerFetchHandlerDescription[];

View file

@ -38,7 +38,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/components/browser_ui/site_settings/android/BUILD.gn b/components/browser_ui/site_settings/android/BUILD.gn
--- a/components/browser_ui/site_settings/android/BUILD.gn
+++ b/components/browser_ui/site_settings/android/BUILD.gn
@@ -92,6 +92,9 @@ android_library("java") {
@@ -89,6 +89,9 @@ android_library("java") {
"java/src/org/chromium/components/browser_ui/site_settings/BromiteCustomContentSettingImpl.java",
"java/src/org/chromium/components/browser_ui/site_settings/BromiteCustomContentSetting.java",
]
@ -222,7 +222,7 @@ diff --git a/components/components_strings.grd b/components/components_strings.g
diff --git a/components/content_settings/core/browser/content_settings_registry.cc b/components/content_settings/core/browser/content_settings_registry.cc
--- a/components/content_settings/core/browser/content_settings_registry.cc
+++ b/components/content_settings/core/browser/content_settings_registry.cc
@@ -669,6 +669,20 @@ void ContentSettingsRegistry::Init() {
@@ -682,6 +682,20 @@ void ContentSettingsRegistry::Init() {
ContentSettingsInfo::INHERIT_IN_INCOGNITO,
ContentSettingsInfo::PERSISTENT,
ContentSettingsInfo::EXCEPTIONS_ON_SECURE_ORIGINS_ONLY);
@ -258,7 +258,7 @@ diff --git a/components/content_settings/core/browser/content_settings_utils.cc
diff --git a/components/content_settings/core/common/content_settings.cc b/components/content_settings/core/common/content_settings.cc
--- a/components/content_settings/core/common/content_settings.cc
+++ b/components/content_settings/core/common/content_settings.cc
@@ -206,7 +206,8 @@ bool RendererContentSettingRules::IsRendererContentSetting(
@@ -205,7 +205,8 @@ bool RendererContentSettingRules::IsRendererContentSetting(
content_type == ContentSettingsType::AUTOPLAY ||
content_type == ContentSettingsType::MIXEDSCRIPT ||
content_type == ContentSettingsType::AUTO_DARK_WEB_CONTENT ||
@ -268,7 +268,7 @@ diff --git a/components/content_settings/core/common/content_settings.cc b/compo
}
void RendererContentSettingRules::FilterRulesByOutermostMainFrameURL(
@@ -218,6 +219,7 @@ void RendererContentSettingRules::FilterRulesByOutermostMainFrameURL(
@@ -217,6 +218,7 @@ void RendererContentSettingRules::FilterRulesByOutermostMainFrameURL(
FilterRulesForType(auto_dark_content_rules, outermost_main_frame_url);
FilterRulesForType(timezone_override_rules, outermost_main_frame_url);
FilterRulesForType(autoplay_rules, outermost_main_frame_url);
@ -327,7 +327,7 @@ diff --git a/components/content_settings/core/common/content_settings_mojom_trai
diff --git a/components/content_settings/core/common/content_settings_types.h b/components/content_settings/core/common/content_settings_types.h
--- a/components/content_settings/core/common/content_settings_types.h
+++ b/components/content_settings/core/common/content_settings_types.h
@@ -277,6 +277,8 @@ enum class ContentSettingsType : int32_t {
@@ -276,6 +276,8 @@ enum class ContentSettingsType : int32_t {
// site instead of the mobile one.
REQUEST_DESKTOP_SITE,
@ -436,7 +436,7 @@ diff --git a/third_party/blink/renderer/core/execution_context/execution_context
diff --git a/third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.cc b/third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.cc
--- a/third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.cc
+++ b/third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.cc
@@ -246,6 +246,13 @@ void WebGLRenderingContextBase::InitializeWebGLContextLimits(
@@ -244,6 +244,13 @@ void WebGLRenderingContextBase::InitializeWebGLContextLimits(
}
}
@ -450,7 +450,7 @@ diff --git a/third_party/blink/renderer/modules/webgl/webgl_rendering_context_ba
unsigned WebGLRenderingContextBase::CurrentMaxGLContexts() {
base::AutoLock locker(WebGLContextLimitLock());
DCHECK(webgl_context_limits_initialized_);
@@ -492,25 +499,6 @@ static String ExtractWebGLContextCreationError(
@@ -490,25 +497,6 @@ static String ExtractWebGLContextCreationError(
const Platform::GraphicsInfo& info) {
StringBuilder builder;
builder.Append("Could not create a WebGL context");
@ -476,7 +476,7 @@ diff --git a/third_party/blink/renderer/modules/webgl/webgl_rendering_context_ba
FormatWebGLStatusString("ErrorMessage", info.error_message.Utf8().c_str(),
builder);
builder.Append('.');
@@ -578,6 +566,12 @@ WebGLRenderingContextBase::CreateWebGraphicsContext3DProvider(
@@ -576,6 +564,12 @@ WebGLRenderingContextBase::CreateWebGraphicsContext3DProvider(
const CanvasContextCreationAttributesCore& attributes,
Platform::ContextType context_type,
Platform::GraphicsInfo* graphics_info) {

View file

@ -33,7 +33,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/components/browser_ui/site_settings/android/BUILD.gn b/components/browser_ui/site_settings/android/BUILD.gn
--- a/components/browser_ui/site_settings/android/BUILD.gn
+++ b/components/browser_ui/site_settings/android/BUILD.gn
@@ -95,6 +95,9 @@ android_library("java") {
@@ -92,6 +92,9 @@ android_library("java") {
sources += [
"java/src/org/chromium/components/browser_ui/site_settings/BromiteWebGLContentSetting.java",
]
@ -218,7 +218,7 @@ diff --git a/components/components_strings.grd b/components/components_strings.g
diff --git a/components/content_settings/core/browser/content_settings_registry.cc b/components/content_settings/core/browser/content_settings_registry.cc
--- a/components/content_settings/core/browser/content_settings_registry.cc
+++ b/components/content_settings/core/browser/content_settings_registry.cc
@@ -683,6 +683,20 @@ void ContentSettingsRegistry::Init() {
@@ -696,6 +696,20 @@ void ContentSettingsRegistry::Init() {
/*show_into_info_page*/ true,
/*permission_type_ui*/ IDS_SITE_SETTINGS_TYPE_WEBGL,
/*permission_type_ui_mid_sentence*/ IDS_SITE_SETTINGS_TYPE_WEBGL_MID_SENTENCE);
@ -254,7 +254,7 @@ diff --git a/components/content_settings/core/browser/content_settings_utils.cc
diff --git a/components/content_settings/core/common/content_settings.cc b/components/content_settings/core/common/content_settings.cc
--- a/components/content_settings/core/common/content_settings.cc
+++ b/components/content_settings/core/common/content_settings.cc
@@ -207,7 +207,8 @@ bool RendererContentSettingRules::IsRendererContentSetting(
@@ -206,7 +206,8 @@ bool RendererContentSettingRules::IsRendererContentSetting(
content_type == ContentSettingsType::MIXEDSCRIPT ||
content_type == ContentSettingsType::AUTO_DARK_WEB_CONTENT ||
content_type == ContentSettingsType::TIMEZONE_OVERRIDE ||
@ -264,7 +264,7 @@ diff --git a/components/content_settings/core/common/content_settings.cc b/compo
}
void RendererContentSettingRules::FilterRulesByOutermostMainFrameURL(
@@ -220,6 +221,7 @@ void RendererContentSettingRules::FilterRulesByOutermostMainFrameURL(
@@ -219,6 +220,7 @@ void RendererContentSettingRules::FilterRulesByOutermostMainFrameURL(
FilterRulesForType(timezone_override_rules, outermost_main_frame_url);
FilterRulesForType(autoplay_rules, outermost_main_frame_url);
FilterRulesForType(webgl_rules, outermost_main_frame_url);
@ -323,7 +323,7 @@ diff --git a/components/content_settings/core/common/content_settings_mojom_trai
diff --git a/components/content_settings/core/common/content_settings_types.h b/components/content_settings/core/common/content_settings_types.h
--- a/components/content_settings/core/common/content_settings_types.h
+++ b/components/content_settings/core/common/content_settings_types.h
@@ -279,6 +279,8 @@ enum class ContentSettingsType : int32_t {
@@ -278,6 +278,8 @@ enum class ContentSettingsType : int32_t {
WEBGL,

View file

@ -5,9 +5,9 @@ Subject: Allow building without enable_reporting
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
.../browser/devtools/protocol/network_handler.cc | 2 ++
.../cross_origin_embedder_policy_reporter.cc | 7 +++++--
.../cross_origin_opener_policy_reporter.cc | 16 +++++++---------
.../browser/network/reporting_service_proxy.cc | 3 +++
.../net/cross_origin_embedder_policy_reporter.cc | 4 +++-
.../net/cross_origin_opener_policy_reporter.cc | 16 +++++++---------
content/browser/net/reporting_service_proxy.cc | 3 +++
.../renderer_host/render_frame_host_impl.cc | 6 ------
.../web_package/signed_exchange_reporter.cc | 2 ++
...content_switch_dependent_feature_overrides.cc | 1 +
@ -19,12 +19,12 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../blink/renderer/core/frame/local_frame.h | 6 +++---
.../renderer/core/frame/reporting_context.cc | 9 +++++++++
.../renderer/core/frame/reporting_context.h | 7 +++++--
15 files changed, 50 insertions(+), 25 deletions(-)
15 files changed, 48 insertions(+), 24 deletions(-)
diff --git a/content/browser/devtools/protocol/network_handler.cc b/content/browser/devtools/protocol/network_handler.cc
--- a/content/browser/devtools/protocol/network_handler.cc
+++ b/content/browser/devtools/protocol/network_handler.cc
@@ -1291,6 +1291,7 @@ String BuildReportStatus(const net::ReportingReport::Status status) {
@@ -1289,6 +1289,7 @@ String BuildReportStatus(const net::ReportingReport::Status status) {
}
}
@ -32,7 +32,7 @@ diff --git a/content/browser/devtools/protocol/network_handler.cc b/content/brow
std::vector<GURL> ComputeReportingURLs(RenderFrameHostImpl* frame_host) {
std::vector<GURL> urls;
base::queue<FrameTreeNode*> queue;
@@ -1308,6 +1309,7 @@ std::vector<GURL> ComputeReportingURLs(RenderFrameHostImpl* frame_host) {
@@ -1306,6 +1307,7 @@ std::vector<GURL> ComputeReportingURLs(RenderFrameHostImpl* frame_host) {
}
return urls;
}
@ -40,48 +40,38 @@ diff --git a/content/browser/devtools/protocol/network_handler.cc b/content/brow
} // namespace
diff --git a/content/browser/network/cross_origin_embedder_policy_reporter.cc b/content/browser/network/cross_origin_embedder_policy_reporter.cc
--- a/content/browser/network/cross_origin_embedder_policy_reporter.cc
+++ b/content/browser/network/cross_origin_embedder_policy_reporter.cc
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
@@ -4,6 +4,7 @@
#include "content/browser/network/cross_origin_embedder_policy_reporter.h"
#include "content/browser/net/cross_origin_embedder_policy_reporter.h"
+#include "net/base/features.h"
#include "base/strings/string_piece.h"
#include "base/values.h"
#include "content/public/browser/storage_partition.h"
@@ -95,8 +96,6 @@ void CrossOriginEmbedderPolicyReporter::Clone(
void CrossOriginEmbedderPolicyReporter::QueueAndNotify(
std::initializer_list<std::pair<base::StringPiece, base::StringPiece>> body,
bool report_only) {
- const absl::optional<std::string>& endpoint =
- report_only ? report_only_endpoint_ : endpoint_;
const char* const disposition = report_only ? "reporting" : "enforce";
if (observer_) {
std::vector<blink::mojom::ReportBodyElementPtr> list;
@@ -111,6 +110,9 @@ void CrossOriginEmbedderPolicyReporter::QueueAndNotify(
observer_->Notify(blink::mojom::Report::New(
@@ -112,6 +113,7 @@ void CrossOriginEmbedderPolicyReporter::QueueAndNotify(
kType, context_url_, blink::mojom::ReportBody::New(std::move(list))));
}
+#if BUILDFLAG(ENABLE_REPORTING)
+ const absl::optional<std::string>& endpoint =
+ report_only ? report_only_endpoint_ : endpoint_;
if (endpoint) {
+#if BUILDFLAG(ENABLE_REPORTING)
base::Value::Dict body_to_pass;
for (const auto& pair : body) {
@@ -125,6 +127,7 @@ void CrossOriginEmbedderPolicyReporter::QueueAndNotify(
body_to_pass.Set(pair.first, pair.second);
@@ -123,7 +125,7 @@ void CrossOriginEmbedderPolicyReporter::QueueAndNotify(
kType, *endpoint, context_url_, reporting_source_,
network_anonymization_key_,
/*user_agent=*/absl::nullopt, std::move(body_to_pass));
}
}
- }
+#endif
}
}
} // namespace content
diff --git a/content/browser/network/cross_origin_opener_policy_reporter.cc b/content/browser/network/cross_origin_opener_policy_reporter.cc
--- a/content/browser/network/cross_origin_opener_policy_reporter.cc
+++ b/content/browser/network/cross_origin_opener_policy_reporter.cc
@@ -18,25 +18,17 @@
diff --git a/content/browser/net/cross_origin_opener_policy_reporter.cc b/content/browser/net/cross_origin_opener_policy_reporter.cc
--- a/content/browser/net/cross_origin_opener_policy_reporter.cc
+++ b/content/browser/net/cross_origin_opener_policy_reporter.cc
@@ -17,25 +17,17 @@
#include "services/network/public/mojom/network_context.mojom.h"
#include "services/network/public/mojom/source_location.mojom.h"
#include "url/origin.h"
@ -108,7 +98,7 @@ diff --git a/content/browser/network/cross_origin_opener_policy_reporter.cc b/co
constexpr char kType[] = "type";
// Report attribute values:
@@ -45,6 +37,7 @@ constexpr char kDispositionReporting[] = "reporting";
@@ -44,6 +36,7 @@ constexpr char kDispositionReporting[] = "reporting";
constexpr char kTypeFromResponse[] = "navigation-from-response";
constexpr char kTypeToResponse[] = "navigation-to-response";
@ -116,7 +106,7 @@ diff --git a/content/browser/network/cross_origin_opener_policy_reporter.cc b/co
std::string ToString(network::mojom::CrossOriginOpenerPolicyValue coop_value) {
switch (coop_value) {
case network::mojom::CrossOriginOpenerPolicyValue::kUnsafeNone:
@@ -62,6 +55,7 @@ std::string ToString(network::mojom::CrossOriginOpenerPolicyValue coop_value) {
@@ -61,6 +54,7 @@ std::string ToString(network::mojom::CrossOriginOpenerPolicyValue coop_value) {
return "restrict-properties-plus-coep";
}
}
@ -124,7 +114,7 @@ diff --git a/content/browser/network/cross_origin_opener_policy_reporter.cc b/co
FrameTreeNode* TopLevelOpener(FrameTreeNode* frame) {
FrameTreeNode* opener =
@@ -233,6 +227,7 @@ void CrossOriginOpenerPolicyReporter::QueueAccessReport(
@@ -232,6 +226,7 @@ void CrossOriginOpenerPolicyReporter::QueueAccessReport(
network::mojom::SourceLocationPtr source_location,
const std::string& reported_window_url,
const std::string& initial_popup_url) const {
@ -132,7 +122,7 @@ diff --git a/content/browser/network/cross_origin_opener_policy_reporter.cc b/co
// Cross-Origin-Opener-Policy-Report-Only is not required to provide
// endpoints.
if (!coop_.report_only_reporting_endpoint)
@@ -280,12 +275,14 @@ void CrossOriginOpenerPolicyReporter::QueueAccessReport(
@@ -279,12 +274,14 @@ void CrossOriginOpenerPolicyReporter::QueueAccessReport(
storage_partition_->GetNetworkContext()->QueueReport(
"coop", endpoint, context_url_, reporting_source_,
network_anonymization_key_, absl::nullopt, std::move(body));
@ -147,7 +137,7 @@ diff --git a/content/browser/network/cross_origin_opener_policy_reporter.cc b/co
body.Set(kDisposition,
is_report_only ? kDispositionReporting : kDispositionEnforce);
body.Set(kEffectivePolicy,
@@ -294,6 +291,7 @@ void CrossOriginOpenerPolicyReporter::QueueNavigationReport(
@@ -293,6 +290,7 @@ void CrossOriginOpenerPolicyReporter::QueueNavigationReport(
"coop", endpoint, context_url_, reporting_source_,
network_anonymization_key_,
/*user_agent=*/absl::nullopt, std::move(body));
@ -155,9 +145,9 @@ diff --git a/content/browser/network/cross_origin_opener_policy_reporter.cc b/co
}
} // namespace content
diff --git a/content/browser/network/reporting_service_proxy.cc b/content/browser/network/reporting_service_proxy.cc
--- a/content/browser/network/reporting_service_proxy.cc
+++ b/content/browser/network/reporting_service_proxy.cc
diff --git a/content/browser/net/reporting_service_proxy.cc b/content/browser/net/reporting_service_proxy.cc
--- a/content/browser/net/reporting_service_proxy.cc
+++ b/content/browser/net/reporting_service_proxy.cc
@@ -11,6 +11,7 @@
#include "base/memory/ref_counted.h"
#include "base/unguessable_token.h"
@ -184,7 +174,7 @@ diff --git a/content/browser/network/reporting_service_proxy.cc b/content/browse
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
@@ -12373,12 +12373,6 @@ void RenderFrameHostImpl::MaybeGenerateCrashReport(
@@ -12209,12 +12209,6 @@ void RenderFrameHostImpl::MaybeGenerateCrashReport(
base::Value::Dict body;
if (!reason.empty())
body.Set("reason", reason);
@ -219,7 +209,7 @@ diff --git a/content/browser/web_package/signed_exchange_reporter.cc b/content/b
diff --git a/content/public/common/content_switch_dependent_feature_overrides.cc b/content/public/common/content_switch_dependent_feature_overrides.cc
--- a/content/public/common/content_switch_dependent_feature_overrides.cc
+++ b/content/public/common/content_switch_dependent_feature_overrides.cc
@@ -8,6 +8,7 @@
@@ -7,6 +7,7 @@
#include "content/public/common/content_features.h"
#include "content/public/common/content_switches.h"
#include "net/base/features.h"
@ -246,7 +236,7 @@ diff --git a/net/reporting/reporting_service.cc b/net/reporting/reporting_servic
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
@@ -461,10 +461,10 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext
@@ -462,10 +462,10 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext
const absl::optional<base::UnguessableToken>& reporting_source,
const net::NetworkAnonymizationKey& network_anonymization_key,
const absl::optional<std::string>& user_agent,
@ -262,7 +252,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
@@ -1120,7 +1120,6 @@ mojom("mojom") {
@@ -1096,7 +1096,6 @@ mojom("mojom") {
export_define_blink = "BLINK_PLATFORM_IMPLEMENTATION=1"
export_header_blink = "third_party/blink/public/platform/web_common.h"
if (enable_reporting) {
@ -273,7 +263,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
@@ -1064,6 +1064,7 @@ interface NetworkContext {
@@ -1065,6 +1065,7 @@ interface NetworkContext {
// provided |network_isolation_key|.
//
// Spec: https://w3c.github.io/reporting/#concept-reports
@ -281,7 +271,7 @@ diff --git a/services/network/public/mojom/network_context.mojom b/services/netw
QueueReport(string type,
string group,
url.mojom.Url url,
@@ -1077,6 +1078,7 @@ interface NetworkContext {
@@ -1078,6 +1079,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|.
@ -300,7 +290,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"
@@ -2307,9 +2308,11 @@ const base::UnguessableToken& LocalFrame::GetAgentClusterId() const {
@@ -2357,9 +2358,11 @@ const base::UnguessableToken& LocalFrame::GetAgentClusterId() const {
return base::UnguessableToken::Null();
}
@ -326,7 +316,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"
@@ -593,9 +593,9 @@ class CORE_EXPORT LocalFrame final
@@ -590,9 +590,9 @@ class CORE_EXPORT LocalFrame final
}
SmoothScrollSequencer& GetSmoothScrollSequencer();

View file

@ -11,7 +11,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
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
@@ -1226,6 +1226,12 @@ bool WebMediaPlayerImpl::HasAudio() const {
@@ -1215,6 +1215,12 @@ bool WebMediaPlayerImpl::HasAudio() const {
return pipeline_metadata_.has_audio;
}
@ -24,7 +24,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());
@@ -3627,7 +3633,11 @@ bool WebMediaPlayerImpl::ShouldPausePlaybackWhenHidden() const {
@@ -3609,7 +3615,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.
@ -40,7 +40,7 @@ diff --git a/third_party/blink/renderer/platform/media/web_media_player_impl.cc
diff --git a/third_party/blink/renderer/platform/media/web_media_player_impl.h b/third_party/blink/renderer/platform/media/web_media_player_impl.h
--- a/third_party/blink/renderer/platform/media/web_media_player_impl.h
+++ b/third_party/blink/renderer/platform/media/web_media_player_impl.h
@@ -195,6 +195,9 @@ class PLATFORM_EXPORT WebMediaPlayerImpl
@@ -193,6 +193,9 @@ class PLATFORM_EXPORT WebMediaPlayerImpl
bool HasVideo() const override;
bool HasAudio() const override;

View file

@ -0,0 +1,25 @@
From: uazo <uazo@users.noreply.github.com>
Date: Sat, 20 Nov 2021 17:42:41 +0000
Subject: Ask user before closing all tabs
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
chrome/browser/flags/android/chrome_feature_list.cc | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browser/flags/android/chrome_feature_list.cc
--- a/chrome/browser/flags/android/chrome_feature_list.cc
+++ b/chrome/browser/flags/android/chrome_feature_list.cc
@@ -514,8 +514,8 @@ const base::Feature kCastDeviceFilter{"CastDeviceFilter",
const base::Feature kClearOmniboxFocusAfterNavigation{
"ClearOmniboxFocusAfterNavigation", base::FEATURE_DISABLED_BY_DEFAULT};
-const base::Feature kCloseTabSuggestions{"CloseTabSuggestions",
- base::FEATURE_DISABLED_BY_DEFAULT};
+const base::Feature kCloseTabSuggestions{"CloseTabSuggestions", // Enabled by default in Bromite
+ base::FEATURE_ENABLED_BY_DEFAULT}; // ^
const base::Feature kCriticalPersistedTabData{
"CriticalPersistedTabData", base::FEATURE_DISABLED_BY_DEFAULT};
--
2.25.1

View file

@ -48,7 +48,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
@@ -508,7 +508,9 @@ double AudioContext::baseLatency() const {
@@ -507,7 +507,9 @@ double AudioContext::baseLatency() const {
DCHECK(IsMainThread());
DCHECK(destination());

File diff suppressed because one or more lines are too long

View file

@ -23,7 +23,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/third_party/blink/renderer/core/execution_context/execution_context.cc b/third_party/blink/renderer/core/execution_context/execution_context.cc
--- a/third_party/blink/renderer/core/execution_context/execution_context.cc
+++ b/third_party/blink/renderer/core/execution_context/execution_context.cc
@@ -693,4 +693,20 @@ bool ExecutionContext::RequireTrustedTypes() const {
@@ -697,4 +697,20 @@ bool ExecutionContext::RequireTrustedTypes() const {
return require_safe_types_;
}
@ -47,7 +47,7 @@ diff --git a/third_party/blink/renderer/core/execution_context/execution_context
diff --git a/third_party/blink/renderer/core/execution_context/execution_context.h b/third_party/blink/renderer/core/execution_context/execution_context.h
--- a/third_party/blink/renderer/core/execution_context/execution_context.h
+++ b/third_party/blink/renderer/core/execution_context/execution_context.h
@@ -396,6 +396,7 @@ class CORE_EXPORT ExecutionContext : public Supplementable<ExecutionContext>,
@@ -397,6 +397,7 @@ class CORE_EXPORT ExecutionContext : public Supplementable<ExecutionContext>,
void SetAddressSpace(network::mojom::blink::IPAddressSpace ip_address_space);
HeapObserverSet<ContextLifecycleObserver>& ContextLifecycleObserverSet();
@ -69,7 +69,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
@@ -552,6 +552,26 @@ bool FrameFetchContext::ShouldBlockRequestByInspector(const KURL& url) const {
@@ -548,6 +548,26 @@ bool FrameFetchContext::ShouldBlockRequestByInspector(const KURL& url) const {
return should_block_request;
}
@ -148,7 +148,7 @@ diff --git a/third_party/blink/renderer/core/loader/worker_fetch_context.cc b/th
diff --git a/third_party/blink/renderer/core/loader/worker_fetch_context.h b/third_party/blink/renderer/core/loader/worker_fetch_context.h
--- a/third_party/blink/renderer/core/loader/worker_fetch_context.h
+++ b/third_party/blink/renderer/core/loader/worker_fetch_context.h
@@ -62,6 +62,7 @@ class WorkerFetchContext final : public BaseFetchContext {
@@ -61,6 +61,7 @@ class WorkerFetchContext final : public BaseFetchContext {
bool ShouldBlockWebSocketByMixedContentCheck(const KURL&) const override;
std::unique_ptr<WebSocketHandshakeThrottle> CreateWebSocketHandshakeThrottle()
override;
@ -159,7 +159,7 @@ diff --git a/third_party/blink/renderer/core/loader/worker_fetch_context.h b/thi
diff --git a/third_party/blink/renderer/modules/background_fetch/background_fetch_manager.cc b/third_party/blink/renderer/modules/background_fetch/background_fetch_manager.cc
--- a/third_party/blink/renderer/modules/background_fetch/background_fetch_manager.cc
+++ b/third_party/blink/renderer/modules/background_fetch/background_fetch_manager.cc
@@ -102,6 +102,30 @@ bool ShouldBlockDanglingMarkup(const KURL& request_url) {
@@ -101,6 +101,30 @@ bool ShouldBlockDanglingMarkup(const KURL& request_url) {
request_url.ProtocolIsInHTTPFamily();
}
@ -190,7 +190,7 @@ diff --git a/third_party/blink/renderer/modules/background_fetch/background_fetc
scoped_refptr<BlobDataHandle> ExtractBlobHandle(
Request* request,
ExceptionState& exception_state) {
@@ -221,6 +245,13 @@ ScriptPromise BackgroundFetchManager::fetch(
@@ -220,6 +244,13 @@ ScriptPromise BackgroundFetchManager::fetch(
exception_state);
}
@ -207,7 +207,7 @@ diff --git a/third_party/blink/renderer/modules/background_fetch/background_fetc
diff --git a/third_party/blink/renderer/modules/websockets/websocket_channel_impl.cc b/third_party/blink/renderer/modules/websockets/websocket_channel_impl.cc
--- a/third_party/blink/renderer/modules/websockets/websocket_channel_impl.cc
+++ b/third_party/blink/renderer/modules/websockets/websocket_channel_impl.cc
@@ -276,6 +276,11 @@ bool WebSocketChannelImpl::Connect(const KURL& url, const String& protocol) {
@@ -275,6 +275,11 @@ bool WebSocketChannelImpl::Connect(const KURL& url, const String& protocol) {
return false;
}

View file

@ -39,9 +39,9 @@ diff --git a/chrome/browser/autocomplete/chrome_autocomplete_scheme_classifier.c
diff --git a/chrome/browser/history/history_utils.cc b/chrome/browser/history/history_utils.cc
--- a/chrome/browser/history/history_utils.cc
+++ b/chrome/browser/history/history_utils.cc
@@ -22,6 +22,7 @@ bool CanAddURLToHistory(const GURL& url) {
@@ -21,6 +21,7 @@ bool CanAddURLToHistory(const GURL& url) {
url.SchemeIs(content::kChromeDevToolsScheme) ||
url.SchemeIs(content::kChromeUIScheme) ||
url.SchemeIs(content::kChromeUIUntrustedScheme) ||
url.SchemeIs(content::kViewSourceScheme) ||
+ url.SchemeIs(url::kTraceScheme) ||
url.SchemeIs(chrome::kChromeNativeScheme) ||
@ -81,7 +81,7 @@ diff --git a/components/omnibox/browser/autocomplete_input.cc b/components/omnib
return url::FindAndCompareScheme(utf8_input, scheme, nullptr);
}
@@ -573,7 +578,8 @@ void AutocompleteInput::ParseForEmphasizeComponents(
@@ -571,7 +576,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::EqualsCaseInsensitiveASCII(scheme_str, kViewSourceScheme) ||
@ -119,7 +119,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
@@ -1030,6 +1030,8 @@ component("net") {
@@ -1025,6 +1025,8 @@ component("net") {
"url_request/url_request_http_job.cc",
"url_request/url_request_http_job.h",
"url_request/url_request_interceptor.cc",
@ -270,7 +270,7 @@ diff --git a/url/url_constants.h b/url/url_constants.h
diff --git a/url/url_util.cc b/url/url_util.cc
--- a/url/url_util.cc
+++ b/url/url_util.cc
@@ -46,6 +46,7 @@ struct SchemeRegistry {
@@ -45,6 +45,7 @@ struct SchemeRegistry {
std::vector<SchemeWithType> standard_schemes = {
{kHttpsScheme, SCHEME_WITH_HOST_PORT_AND_USER_INFORMATION},
{kHttpScheme, SCHEME_WITH_HOST_PORT_AND_USER_INFORMATION},
@ -278,7 +278,7 @@ diff --git a/url/url_util.cc b/url/url_util.cc
// Yes, file URLs can have a hostname, so file URLs should be handled as
// "standard". File URLs never have a port as specified by the SchemeType
// field. Unlike other SCHEME_WITH_HOST schemes, the 'host' in a file
@@ -89,6 +90,7 @@ struct SchemeRegistry {
@@ -88,6 +89,7 @@ struct SchemeRegistry {
kAboutScheme,
kJavaScriptScheme,
kDataScheme,

View file

@ -29,16 +29,16 @@ diff --git a/chrome/android/java/res/menu/bookmark_action_bar_menu.xml b/chrome/
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
@@ -27,6 +27,7 @@ import org.chromium.components.browser_ui.widget.selectable_list.SelectableListT
import org.chromium.components.browser_ui.widget.selectable_list.SelectionDelegate;
@@ -32,6 +32,7 @@ import org.chromium.content_public.browser.LoadUrlParams;
import org.chromium.url.GURL;
import java.util.List;
+import java.util.HashSet;
/**
* Main action bar of bookmark UI. It is responsible for displaying title and buttons
@@ -132,6 +133,17 @@ public class BookmarkActionBar extends SelectableListToolbar<BookmarkId>
/*openInNewTab=*/true, /*incognito=*/true);
@@ -137,6 +138,17 @@ public class BookmarkActionBar extends SelectableListToolbar<BookmarkId>
new TabDelegate(true), mDelegate.getModel());
selectionDelegate.clearSelection();
return true;
+ } else if (menuItem.getItemId() == R.id.select_all_menu_id) {
@ -55,7 +55,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
}
assert false : "Unhandled menu click.";
@@ -141,6 +153,7 @@ public class BookmarkActionBar extends SelectableListToolbar<BookmarkId>
@@ -146,6 +158,7 @@ public class BookmarkActionBar extends SelectableListToolbar<BookmarkId>
void showLoadingUi() {
setTitle(null);
setNavigationButton(NAVIGATION_BUTTON_NONE);
@ -63,7 +63,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
getMenu().findItem(R.id.import_menu_id).setVisible(false);
getMenu().findItem(R.id.export_menu_id).setVisible(false);
getMenu().findItem(R.id.search_menu_id).setVisible(false);
@@ -152,6 +165,7 @@ public class BookmarkActionBar extends SelectableListToolbar<BookmarkId>
@@ -157,6 +170,7 @@ public class BookmarkActionBar extends SelectableListToolbar<BookmarkId>
super.showNormalView();
if (mDelegate == null) {
@ -71,7 +71,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
getMenu().findItem(R.id.import_menu_id).setVisible(false);
getMenu().findItem(R.id.export_menu_id).setVisible(false);
getMenu().findItem(R.id.search_menu_id).setVisible(false);
@@ -183,6 +197,7 @@ public class BookmarkActionBar extends SelectableListToolbar<BookmarkId>
@@ -188,6 +202,7 @@ public class BookmarkActionBar extends SelectableListToolbar<BookmarkId>
@Override
public void onFolderStateSet(BookmarkId folder) {
mCurrentFolder = mDelegate.getModel().getBookmarkById(folder);

View file

@ -1,6 +1,6 @@
From: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Sat, 14 Sep 2019 10:20:08 +0200
Subject: Bromite subresource adblocker
Subject: Bromite AdBlockUpdaterService
Add option to configure the ad blocker filters URL
Disable look-alike, metrics, ablation and navigation throttles
@ -8,7 +8,6 @@ Do not use experiments to enable/disable presets
Always enable ad filtering
Download filters by checking Last-Modified header first
Fix RestoreForeignSessionTab by recreating the tab (issue #681)
Enable AutomaticLazyFrameLoadingToAds and AutomaticLazyFrameLoadingToEmbeds features
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
@ -50,8 +49,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../browser/subresource_filter_features.cc | 116 +-------
.../core/common/indexed_ruleset.cc | 5 +-
.../navigation_throttle_runner.cc | 5 -
third_party/blink/common/features.cc | 12 +-
39 files changed, 1166 insertions(+), 135 deletions(-)
38 files changed, 1160 insertions(+), 129 deletions(-)
create mode 100644 chrome/android/java/res/layout/adblock_editor.xml
create mode 100644 chrome/android/java/res/xml/adblock_preferences.xml
create mode 100644 chrome/android/java/src/org/chromium/chrome/browser/settings/AdBlockEditor.java
@ -64,14 +62,14 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
--- a/chrome/android/BUILD.gn
+++ b/chrome/android/BUILD.gn
@@ -372,6 +372,7 @@ if (current_toolchain == default_toolchain) {
"//chrome/android/modules/image_editor/provider:java",
"//chrome/android/modules/stack_unwinder/provider:java",
"//chrome/android/webapk/libs/client:client_java",
+ "//chrome/browser/endpoint_fetcher:java",
"//chrome/android/webapk/libs/common:common_java",
"//chrome/android/webapk/libs/common:splash_java",
"//chrome/android/webapk/libs/runtime_library:webapk_service_aidl_java",
@@ -372,6 +372,7 @@ android_library("chrome_java") {
"//chrome/browser/download/android:java",
"//chrome/browser/download/android:java_resources",
"//chrome/browser/enterprise/util:java",
+ "//chrome/browser/endpoint_fetcher:java",
"//chrome/browser/feature_engagement:java",
"//chrome/browser/feature_guide/notifications:java",
"//chrome/browser/feed/android:java",
diff --git a/chrome/android/chrome_java_resources.gni b/chrome/android/chrome_java_resources.gni
--- a/chrome/android/chrome_java_resources.gni
+++ b/chrome/android/chrome_java_resources.gni
@ -79,11 +77,11 @@ diff --git a/chrome/android/chrome_java_resources.gni b/chrome/android/chrome_ja
"java/res/layout/account_chooser_dialog_title.xml",
"java/res/layout/account_divider_preference.xml",
"java/res/layout/account_management_account_row.xml",
+ "java/res/layout/adblock_editor.xml",
+ "java/res/layout/adblock_editor.xml",
"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",
@@ -641,6 +642,7 @@ chrome_java_resources = [
@@ -643,6 +644,7 @@ chrome_java_resources = [
"java/res/values/values.xml",
"java/res/xml/about_chrome_preferences.xml",
"java/res/xml/account_management_preferences.xml",
@ -94,7 +92,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
@@ -907,6 +907,8 @@ chrome_java_sources = [
@@ -905,6 +905,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",
@ -437,7 +435,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
@@ -12468,6 +12468,16 @@ Please help our engineers fix this problem. Tell us what happened right before y
@@ -12253,6 +12253,16 @@ Please help our engineers fix this problem. Tell us what happened right before y
Never show this again.
</message>
@ -557,16 +555,16 @@ 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
@@ -415,6 +415,9 @@ StartupProfileInfo CreateInitialProfile(
// missing code in the above test.
CHECK(profile_info.profile) << "Cannot get default profile.";
@@ -1736,6 +1736,9 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() {
// will be initialized when the app enters foreground mode.
variations_service->set_policy_pref_service(profile->GetPrefs());
+ // force AdBlock updater initialisation
+ g_browser_process->adblock_updater();
+
#else
#if BUILDFLAG(IS_CHROMEOS_LACROS)
// Lacros has a special "primary" profile that is tied to the active ChromeOS
// We are in regular browser boot sequence. Open initial tabs and enter the
// main message loop.
diff --git a/chrome/browser/flags/android/cached_feature_flags.cc b/chrome/browser/flags/android/cached_feature_flags.cc
--- a/chrome/browser/flags/android/cached_feature_flags.cc
+++ b/chrome/browser/flags/android/cached_feature_flags.cc
@ -595,7 +593,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
@@ -278,6 +278,14 @@ public class CachedFeatureFlags {
@@ -273,6 +273,14 @@ public class CachedFeatureFlags {
ChromeFeatureList.isEnabled(ChromeFeatureList.BACKGROUND_THREAD_POOL));
}
@ -610,7 +608,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.
*/
@@ -524,5 +532,7 @@ public class CachedFeatureFlags {
@@ -519,5 +527,7 @@ public class CachedFeatureFlags {
@NativeMethods
interface Natives {
boolean isNetworkServiceWarmUpEnabled();
@ -680,7 +678,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
@@ -2383,6 +2383,9 @@ const char kAudioCaptureAllowed[] = "hardware.audio_capture_enabled";
@@ -2350,6 +2350,9 @@ const char kAudioCaptureAllowed[] = "hardware.audio_capture_enabled";
// capture devices without prompt.
const char kAudioCaptureAllowedUrls[] = "hardware.audio_capture_allowed_urls";
@ -704,7 +702,7 @@ diff --git a/chrome/common/pref_names.h b/chrome/common/pref_names.h
diff --git a/components/browser_ui/strings/android/site_settings.grdp b/components/browser_ui/strings/android/site_settings.grdp
--- a/components/browser_ui/strings/android/site_settings.grdp
+++ b/components/browser_ui/strings/android/site_settings.grdp
@@ -303,8 +303,8 @@
@@ -295,8 +295,8 @@
<message name="IDS_INTRUSIVE_ADS_INFORMATION" desc="The extra information at the top of the Site Details page when the site tends to show intrusive ads">
This site shows intrusive or misleading ads
</message>
@ -1157,8 +1155,8 @@ new file mode 100644
+
+namespace adblock_updater {
+
+// maximum 20MB for the filters file
+const int kMaxBodySize = 1024 * 1024 * 20;
+// maximum 10MB for the filters file
+const int kMaxBodySize = 1024 * 1024 * 10;
+
+const int kMaxRetriesOnNetworkChange = 3;
+
@ -1868,41 +1866,5 @@ diff --git a/content/browser/renderer_host/navigation_throttle_runner.cc b/conte
}
NavigationThrottle* NavigationThrottleRunner::GetDeferringThrottle() const {
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
@@ -28,8 +28,8 @@ BASE_FEATURE(kAnonymousIframeOriginTrial,
// Apply lazy-loading to ad frames which have embeds likely impacting Core Web
// Vitals.
BASE_FEATURE(kAutomaticLazyFrameLoadingToAds,
- "AutomaticLazyFrameLoadingToAds",
- base::FEATURE_DISABLED_BY_DEFAULT);
+ "AutomaticLazyFrameLoadingToAds", // must be enabled
+ base::FEATURE_ENABLED_BY_DEFAULT); // in Bromite
// The timeout value that forces loading iframes that are lazy loaded by
// LazyAds. After this timeout, the frame loading is triggered even when the
@@ -49,8 +49,8 @@ const base::FeatureParam<int> kSkipFrameCountForLazyAds(
// Apply lazy-loading to frames which have embeds likely impacting Core Web
// Vitals.
BASE_FEATURE(kAutomaticLazyFrameLoadingToEmbeds,
- "AutomaticLazyFrameLoadingToEmbeds",
- base::FEATURE_DISABLED_BY_DEFAULT);
+ "AutomaticLazyFrameLoadingToEmbeds", // must be enabled
+ base::FEATURE_ENABLED_BY_DEFAULT); // in Bromite
// The timeout value that forces loading iframes that are lazy loaded by
// LazyEmbeds. After this timeout, the frame loading is triggered even when the
@@ -72,8 +72,8 @@ const base::FeatureParam<int> kSkipFrameCountForLazyEmbeds(
// to gather Blink.AutomaticLazyLoadFrame.LazyEmbedFrameCount UKM data even when
// kAutomaticLazyFrameLoadingToEmbeds is disabled.
BASE_FEATURE(kAutomaticLazyFrameLoadingToEmbedUrls,
- "AutomaticLazyFrameLoadingToEmbedUrls",
- base::FEATURE_DISABLED_BY_DEFAULT);
+ "AutomaticLazyFrameLoadingToEmbedUrls", // must be disabled
+ base::FEATURE_DISABLED_BY_DEFAULT); // in Bromite
// Define the strategy for LazyEmbeds to decide which frames we apply
// lazy-loading or not. If the loading strategy is kAllowList, the detection
--
2.25.1

View file

@ -3,7 +3,6 @@ Date: Thu, 7 Oct 2021 14:27:12 +0000
Subject: Bromite auto updater
Enable checking for new versions, with notifications and proxy support.
Restore InlineUpdateFlow feature.
Some parts authored by csagan5.
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
@ -25,13 +24,13 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../endpoint_fetcher_android.cc | 52 +++-
.../endpoint_fetcher/EndpointFetcher.java | 22 +-
.../EndpointHeaderResponse.java | 31 +++
.../flags/android/chrome_feature_list.cc | 5 +
.../flags/android/chrome_feature_list.cc | 4 +
.../flags/android/chrome_feature_list.h | 1 +
.../browser/flags/ChromeFeatureList.java | 1 +
.../strings/android_chrome_strings.grd | 23 +-
.../endpoint_fetcher/endpoint_fetcher.cc | 102 +++++++-
.../endpoint_fetcher/endpoint_fetcher.h | 22 +-
23 files changed, 897 insertions(+), 53 deletions(-)
23 files changed, 896 insertions(+), 53 deletions(-)
create mode 100644 chrome/android/java/src/org/chromium/chrome/browser/omaha/inline/BromiteInlineUpdateController.java
create mode 100644 chrome/android/java/src/org/chromium/chrome/browser/omaha/inline/InlineUpdateController.java
create mode 100644 chrome/android/java/src/org/chromium/chrome/browser/omaha/inline/InlineUpdateControllerFactory.java
@ -50,7 +49,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
@@ -2242,6 +2242,9 @@ if (enable_java_templates) {
@@ -2183,6 +2183,9 @@ if (enable_java_templates) {
if (defined(testonly) && testonly) {
defines += [ "_IS_FOR_TEST" ]
}
@ -63,7 +62,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
@@ -812,6 +812,9 @@ chrome_java_sources = [
@@ -811,6 +811,9 @@ chrome_java_sources = [
"java/src/org/chromium/chrome/browser/omaha/UpdateConfigs.java",
"java/src/org/chromium/chrome/browser/omaha/UpdateMenuItemHelper.java",
"java/src/org/chromium/chrome/browser/omaha/UpdateStatusProvider.java",
@ -1251,7 +1250,7 @@ new file mode 100644
diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browser/flags/android/chrome_feature_list.cc
--- a/chrome/browser/flags/android/chrome_feature_list.cc
+++ b/chrome/browser/flags/android/chrome_feature_list.cc
@@ -251,6 +251,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
@@ -255,6 +255,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
&kNewWindowAppMenu,
&kNotificationPermissionVariant,
&kPageAnnotationsService,
@ -1259,32 +1258,31 @@ diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browse
&kBookmarksImprovedSaveFlow,
&kBookmarksRefresh,
&kBackGestureRefactorAndroid,
@@ -693,6 +694,10 @@ BASE_FEATURE(kContextMenuTranslateWithGoogleLens,
"ContextMenuTranslateWithGoogleLens",
base::FEATURE_DISABLED_BY_DEFAULT);
@@ -692,6 +693,9 @@ const base::Feature kIncognitoReauthenticationForAndroid{
const base::Feature kIncognitoScreenshot{"IncognitoScreenshot",
base::FEATURE_DISABLED_BY_DEFAULT};
+BASE_FEATURE(kInlineUpdateFlow,
+ "InlineUpdateFlow",
+ base::FEATURE_ENABLED_BY_DEFAULT);
+const base::Feature kInlineUpdateFlow{"InlineUpdateFlow",
+ base::FEATURE_ENABLED_BY_DEFAULT};
+
BASE_FEATURE(kLensCameraAssistedSearch,
"LensCameraAssistedSearch",
base::FEATURE_ENABLED_BY_DEFAULT);
const base::Feature kInfobarScrollOptimization{
"InfobarScrollOptimization", base::FEATURE_DISABLED_BY_DEFAULT};
diff --git a/chrome/browser/flags/android/chrome_feature_list.h b/chrome/browser/flags/android/chrome_feature_list.h
--- a/chrome/browser/flags/android/chrome_feature_list.h
+++ b/chrome/browser/flags/android/chrome_feature_list.h
@@ -91,6 +91,7 @@ BASE_DECLARE_FEATURE(kGridTabSwitcherForTablets);
BASE_DECLARE_FEATURE(kHandleMediaIntents);
BASE_DECLARE_FEATURE(kImmersiveUiMode);
BASE_DECLARE_FEATURE(kIncognitoReauthenticationForAndroid);
+BASE_DECLARE_FEATURE(kInlineUpdateFlow);
BASE_DECLARE_FEATURE(kIncognitoScreenshot);
BASE_DECLARE_FEATURE(kInfobarScrollOptimization);
BASE_DECLARE_FEATURE(kImprovedA2HS);
@@ -93,6 +93,7 @@ extern const base::Feature kGridTabSwitcherForTablets;
extern const base::Feature kHandleMediaIntents;
extern const base::Feature kImmersiveUiMode;
extern const base::Feature kIncognitoReauthenticationForAndroid;
+extern const base::Feature kInlineUpdateFlow;
extern const base::Feature kIncognitoScreenshot;
extern const base::Feature kInfobarScrollOptimization;
extern const base::Feature kImprovedA2HS;
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
@@ -385,6 +385,7 @@ public abstract class ChromeFeatureList {
@@ -383,6 +383,7 @@ public abstract class ChromeFeatureList {
"IncognitoReauthenticationForAndroid";
public static final String INCOGNITO_SCREENSHOT = "IncognitoScreenshot";
public static final String INFOBAR_SCROLL_OPTIMIZATION = "InfobarScrollOptimization";
@ -1295,7 +1293,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
@@ -1837,6 +1837,12 @@ Your Google account may have other forms of browsing history like searches and a
@@ -1893,6 +1893,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>
@ -1308,7 +1306,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]">
@@ -3453,7 +3459,10 @@ To change this setting, <ph name="BEGIN_LINK">&lt;resetlink&gt;</ph>reset sync<p
@@ -3528,7 +3534,10 @@ 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]">
@ -1320,7 +1318,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro
</message>
<message name="IDS_MENU_UPDATE_SUMMARY_DEFAULT" desc="Summary string for update menu item explaining that a newer version of Chrome is available. [CHAR_LIMIT=30]">
Newer version is available
@@ -3464,6 +3473,18 @@ To change this setting, <ph name="BEGIN_LINK">&lt;resetlink&gt;</ph>reset sync<p
@@ -3539,6 +3548,18 @@ To change this setting, <ph name="BEGIN_LINK">&lt;resetlink&gt;</ph>reset sync<p
<message name="IDS_MENU_UPDATE_UNSUPPORTED_SUMMARY_DEFAULT" desc="Summary string for update menu item explaining that the Android version on the device is unsupported. [CHAR_LIMIT=30]">
Android version is unsupported
</message>

View file

@ -10,14 +10,14 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
--- a/chrome/android/BUILD.gn
+++ b/chrome/android/BUILD.gn
@@ -47,7 +47,7 @@ chrome_jni_registration_header =
chrome_jni_for_test_registration_header = "$root_build_dir/gen/chrome/browser/android/chrome_jni_for_test_registration.h"
@@ -42,7 +42,7 @@ if (android_64bit_target_cpu && skip_secondary_abi_for_cq) {
assert(current_toolchain != android_secondary_abi_toolchain)
}
if (current_toolchain == default_toolchain) {
- _default_package = "org.chromium.chrome"
+ _default_package = "org.bromite.bromite"
if (use_stable_package_name_for_trichrome) {
_default_package += ".stable"
} else if (android_channel != "default" && android_channel != "stable") {
-_default_package = "org.chromium.chrome"
+_default_package = "org.bromite.bromite"
if (android_channel != "default" && android_channel != "stable") {
# android-binary-size trybot may checks if an internal Chrome variant's
# AndroidManifest is as expected by ensuring the differences between its
--
2.25.1

View file

@ -10,14 +10,14 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
--- a/chrome/android/BUILD.gn
+++ b/chrome/android/BUILD.gn
@@ -51,7 +51,7 @@ chrome_jni_registration_header =
chrome_jni_for_test_registration_header = "$root_build_dir/gen/chrome/browser/android/chrome_jni_for_test_registration.h"
@@ -46,7 +46,7 @@ if (android_64bit_target_cpu && skip_secondary_abi_for_cq) {
assert(current_toolchain != android_secondary_abi_toolchain)
}
if (current_toolchain == default_toolchain) {
- _default_package = "org.chromium.chrome"
+ _default_package = "org.bromite.chromium"
if (use_stable_package_name_for_trichrome) {
_default_package += ".stable"
} else if (android_channel != "default" && android_channel != "stable") {
-_default_package = "org.chromium.chrome"
+_default_package = "org.bromite.chromium"
if (android_channel != "default" && android_channel != "stable") {
# android-binary-size trybot may checks if an internal Chrome variant's
# AndroidManifest is as expected by ensuring the differences between its
--
2.25.1

View file

@ -1,40 +0,0 @@
From: uazo <uazo@users.noreply.github.com>
Date: Mon, 3 Oct 2022 09:39:07 +0000
Subject: Clamp time resolution in requestAnimationFrame
Aligns requestAnimationFrame's WebWorker callback to the W3C specification
See https://bugs.chromium.org/p/chromium/issues/detail?id=1236113
Original License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
.../animation_frame/worker_animation_frame_provider.cc | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/third_party/blink/renderer/core/animation_frame/worker_animation_frame_provider.cc b/third_party/blink/renderer/core/animation_frame/worker_animation_frame_provider.cc
--- a/third_party/blink/renderer/core/animation_frame/worker_animation_frame_provider.cc
+++ b/third_party/blink/renderer/core/animation_frame/worker_animation_frame_provider.cc
@@ -7,6 +7,8 @@
#include "base/trace_event/trace_event.h"
#include "third_party/blink/renderer/core/execution_context/agent.h"
#include "third_party/blink/renderer/core/offscreencanvas/offscreen_canvas.h"
+#include "third_party/blink/renderer/core/workers/worker_global_scope.h"
+#include "third_party/blink/renderer/platform/wtf/casting.h"
#include "third_party/blink/renderer/core/timing/worker_global_scope_performance.h"
#include "third_party/blink/renderer/platform/scheduler/public/event_loop.h"
#include "third_party/blink/renderer/platform/wtf/cross_thread_functional.h"
@@ -63,7 +65,11 @@ void WorkerAnimationFrameProvider::BeginFrame(const viz::BeginFrameArgs& args) {
}
}
- double time = (args.frame_time - base::TimeTicks()).InMillisecondsF();
+ auto* global_scope = DynamicTo<WorkerGlobalScope>(provider->context_.Get());
+ DCHECK(global_scope);
+ double time = Performance::ClampTimeResolution(
+ args.frame_time - global_scope->TimeOrigin(),
+ provider->context_->CrossOriginIsolatedCapability());
provider->callback_collection_.ExecuteFrameCallbacks(time, time);
}
provider->begin_frame_provider_->FinishBeginFrame(args);
--
2.25.1

View file

@ -3,19 +3,21 @@ Date: Thu, 22 Jul 2021 23:10:52 +0200
Subject: Client hints overrides
Disable critical client hints
Use Google Chrome branding for client hints
Hard-code model to SAMSUNG SM-G960U
use Google Chrome branding for client hints
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
components/embedder_support/user_agent_utils.cc | 4 +---
content/browser/client_hints/client_hints.cc | 3 ++-
content/browser/loader/navigation_url_loader_impl.cc | 5 +++++
content/public/common/content_features.cc | 4 ++--
services/network/public/cpp/client_hints.cc | 1 +
services/network/public/cpp/features.cc | 2 +-
third_party/blink/common/client_hints/client_hints.cc | 1 +
.../blink/common/client_hints/enabled_client_hints.cc | 4 +++-
8 files changed, 16 insertions(+), 8 deletions(-)
components/embedder_support/user_agent_utils.cc | 4 +---
content/browser/client_hints/client_hints.cc | 3 ++-
content/browser/loader/navigation_url_loader_impl.cc | 5 +++++
content/common/user_agent.cc | 9 +--------
content/public/common/content_features.cc | 4 ++--
services/network/public/cpp/client_hints.cc | 1 +
services/network/public/cpp/features.cc | 4 ++--
third_party/blink/common/client_hints/client_hints.cc | 1 +
.../blink/common/client_hints/enabled_client_hints.cc | 4 +++-
9 files changed, 18 insertions(+), 17 deletions(-)
diff --git a/components/embedder_support/user_agent_utils.cc b/components/embedder_support/user_agent_utils.cc
--- a/components/embedder_support/user_agent_utils.cc
@ -34,8 +36,8 @@ diff --git a/components/embedder_support/user_agent_utils.cc b/components/embedd
diff --git a/content/browser/client_hints/client_hints.cc b/content/browser/client_hints/client_hints.cc
--- a/content/browser/client_hints/client_hints.cc
+++ b/content/browser/client_hints/client_hints.cc
@@ -478,7 +478,8 @@ void AddPrefersReducedMotionHeader(net::HttpRequestHeaders* headers,
: network::kPrefersReducedMotionNoPreference);
@@ -462,7 +462,8 @@ void AddPrefersColorSchemeHeader(net::HttpRequestHeaders* headers,
is_dark_mode ? "dark" : "light");
}
-bool IsValidURLForClientHints(const url::Origin& origin) {
@ -47,7 +49,7 @@ diff --git a/content/browser/client_hints/client_hints.cc b/content/browser/clie
diff --git a/content/browser/loader/navigation_url_loader_impl.cc b/content/browser/loader/navigation_url_loader_impl.cc
--- a/content/browser/loader/navigation_url_loader_impl.cc
+++ b/content/browser/loader/navigation_url_loader_impl.cc
@@ -1024,6 +1024,11 @@ void NavigationURLLoaderImpl::OnAcceptCHFrameReceived(
@@ -1025,6 +1025,11 @@ void NavigationURLLoaderImpl::OnAcceptCHFrameReceived(
return;
}
@ -59,24 +61,43 @@ diff --git a/content/browser/loader/navigation_url_loader_impl.cc b/content/brow
LogAcceptCHFrameStatus(AcceptCHFrameRestart::kFramePresent);
// Given that this is happening in the middle of navigation, there should
diff --git a/content/common/user_agent.cc b/content/common/user_agent.cc
--- a/content/common/user_agent.cc
+++ b/content/common/user_agent.cc
@@ -323,14 +323,7 @@ std::string BuildUserAgentFromProduct(const std::string& product) {
}
std::string BuildModelInfo() {
- std::string model;
-#if BUILDFLAG(IS_ANDROID)
- // Only send the model information if on the release build of Android,
- // matching user agent behaviour.
- if (base::SysInfo::GetAndroidBuildCodename() == "REL")
- model = base::SysInfo::HardwareModelName();
-#endif
- return model;
+ return "SAMSUNG SM-G960U";
}
#if BUILDFLAG(IS_ANDROID)
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
@@ -247,8 +247,8 @@ BASE_FEATURE(kCrashReporting,
@@ -229,8 +229,8 @@ const base::Feature kCrashReporting{"CrashReporting",
// Enables support for the `Critical-CH` response header.
// https://github.com/WICG/client-hints-infrastructure/blob/master/reliability.md#critical-ch
BASE_FEATURE(kCriticalClientHint,
- "CriticalClientHint",
- base::FEATURE_ENABLED_BY_DEFAULT);
+ "CriticalClientHint", // disabled by default
+ base::FEATURE_DISABLED_BY_DEFAULT); // in Bromite
-const base::Feature kCriticalClientHint{"CriticalClientHint",
- base::FEATURE_ENABLED_BY_DEFAULT};
+const base::Feature kCriticalClientHint{"CriticalClientHint", // disabled by default
+ base::FEATURE_DISABLED_BY_DEFAULT}; // on Bromite
// Enable debugging the issue crbug.com/1201355
BASE_FEATURE(kDebugHistoryInterventionNoUserActivation,
const base::Feature kDebugHistoryInterventionNoUserActivation{
diff --git a/services/network/public/cpp/client_hints.cc b/services/network/public/cpp/client_hints.cc
--- a/services/network/public/cpp/client_hints.cc
+++ b/services/network/public/cpp/client_hints.cc
@@ -105,6 +105,7 @@ const DecodeMap& GetDecodeMap() {
@@ -97,6 +97,7 @@ const DecodeMap& GetDecodeMap() {
absl::optional<std::vector<network::mojom::WebClientHintsType>>
ParseClientHintsHeader(const std::string& header) {
@ -87,19 +108,21 @@ diff --git a/services/network/public/cpp/client_hints.cc b/services/network/publ
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
@@ -197,7 +197,7 @@ BASE_FEATURE(kWebSocketReassembleShortMessages,
@@ -179,8 +179,8 @@ const base::Feature kWebSocketReassembleShortMessages{
// Enable support for ACCEPT_CH H2/3 frame as part of Client Hint Reliability.
// See:
// https://tools.ietf.org/html/draft-davidben-http-client-hint-reliability-02#section-4.3
-BASE_FEATURE(kAcceptCHFrame, "AcceptCHFrame", base::FEATURE_ENABLED_BY_DEFAULT);
+BASE_FEATURE(kAcceptCHFrame, "AcceptCHFrame", base::FEATURE_DISABLED_BY_DEFAULT); // disabled by default in Bromite
-const base::Feature kAcceptCHFrame{"AcceptCHFrame",
- base::FEATURE_ENABLED_BY_DEFAULT};
+const base::Feature kAcceptCHFrame{"AcceptCHFrame", // disabled by default
+ base::FEATURE_DISABLED_BY_DEFAULT}; // in Bromite
BASE_FEATURE(kSCTAuditingRetryReports,
"SCTAuditingRetryReports",
const base::Feature kSCTAuditingRetryReports{"SCTAuditingRetryReports",
base::FEATURE_ENABLED_BY_DEFAULT};
diff --git a/third_party/blink/common/client_hints/client_hints.cc b/third_party/blink/common/client_hints/client_hints.cc
--- a/third_party/blink/common/client_hints/client_hints.cc
+++ b/third_party/blink/common/client_hints/client_hints.cc
@@ -113,6 +113,7 @@ const size_t kWebEffectiveConnectionTypeMappingCount =
@@ -111,6 +111,7 @@ const size_t kWebEffectiveConnectionTypeMappingCount =
std::size(kWebEffectiveConnectionTypeMapping);
bool IsClientHintSentByDefault(network::mojom::WebClientHintsType type) {
@ -118,7 +141,7 @@ diff --git a/third_party/blink/common/client_hints/enabled_client_hints.cc b/thi
switch (type) {
case WebClientHintsType::kUA:
case WebClientHintsType::kUAArch:
@@ -138,7 +139,7 @@ bool IsOriginTrialEnabled(const GURL& url,
@@ -127,7 +128,7 @@ bool IsOriginTrialEnabled(const GURL& url,
} // namespace
bool EnabledClientHints::IsEnabled(const WebClientHintsType type) const {
@ -127,7 +150,7 @@ diff --git a/third_party/blink/common/client_hints/enabled_client_hints.cc b/thi
}
void EnabledClientHints::SetIsEnabled(const WebClientHintsType type,
@@ -167,6 +168,7 @@ void EnabledClientHints::SetIsEnabled(
@@ -156,6 +157,7 @@ void EnabledClientHints::SetIsEnabled(
std::vector<WebClientHintsType> EnabledClientHints::GetEnabledHints() const {
std::vector<WebClientHintsType> hints;

View file

@ -41,8 +41,8 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/components/browser_ui/site_settings/android/BUILD.gn b/components/browser_ui/site_settings/android/BUILD.gn
--- a/components/browser_ui/site_settings/android/BUILD.gn
+++ b/components/browser_ui/site_settings/android/BUILD.gn
@@ -88,6 +88,10 @@ android_library("java") {
"java/src/org/chromium/components/browser_ui/site_settings/WebsiteRowPreference.java",
@@ -85,6 +85,10 @@ android_library("java") {
"java/src/org/chromium/components/browser_ui/site_settings/WebsitePreferenceBridge.java",
"java/src/org/chromium/components/browser_ui/site_settings/TimezoneOverrideSiteSettingsPreference.java"
]
+ sources += [
@ -763,7 +763,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleWebsiteSettings.java b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleWebsiteSettings.java
--- a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleWebsiteSettings.java
+++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleWebsiteSettings.java
@@ -42,6 +42,7 @@ import org.chromium.content_public.browser.ContentFeatureList;
@@ -41,6 +41,7 @@ import org.chromium.content_public.browser.ContentFeatureList;
import java.util.Collection;
import java.util.HashMap;
import java.util.Map;
@ -771,7 +771,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
/**
* Shows the permissions and other settings for a particular website.
@@ -171,7 +172,7 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment
@@ -168,7 +169,7 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment
case ContentSettingsType.CLIPBOARD_READ_WRITE:
return "clipboard_permission_list";
default:
@ -780,7 +780,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
}
}
@@ -504,7 +505,8 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment
@@ -493,7 +494,8 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment
private void setupContentSettingsPreferences() {
mMaxPermissionOrder = findPreference(PREF_PERMISSIONS_HEADER).getOrder();
@ -790,7 +790,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
Preference preference = new ChromeSwitchPreference(getStyledContext());
preference.setKey(getPreferenceKey(type));
@@ -945,16 +947,22 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment
@@ -908,16 +910,22 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment
private void setupContentSettingsPreference(Preference preference,
@ContentSettingValues @Nullable Integer value, boolean isEmbargoed) {
@ -818,7 +818,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
switchPreference.setOnPreferenceChangeListener(this);
@ContentSettingsType
int contentType = getContentSettingsTypeFromPreferenceKey(preference.getKey());
@@ -1206,7 +1214,7 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment
@@ -1169,7 +1177,7 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment
}
mSite.setContentSetting(browserContextHandle, type, permission);
@ -929,7 +929,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/Website.java b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/Website.java
--- a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/Website.java
+++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/Website.java
@@ -277,6 +277,10 @@ public final class Website implements WebsiteEntry {
@@ -260,6 +260,10 @@ public final class Website implements Serializable {
/*isEmbargoed=*/false);
setContentSettingException(type, exception);
}
@ -943,7 +943,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/WebsitePermissionsFetcher.java b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/WebsitePermissionsFetcher.java
--- a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/WebsitePermissionsFetcher.java
+++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/WebsitePermissionsFetcher.java
@@ -92,7 +92,7 @@ public class WebsitePermissionsFetcher {
@@ -89,7 +89,7 @@ public class WebsitePermissionsFetcher {
case ContentSettingsType.USB_GUARD:
return WebsitePermissionsType.CHOSEN_OBJECT_INFO;
default:
@ -955,7 +955,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/WebsitePreferenceBridge.java b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/WebsitePreferenceBridge.java
--- a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/WebsitePreferenceBridge.java
+++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/WebsitePreferenceBridge.java
@@ -246,7 +246,7 @@ public class WebsitePreferenceBridge {
@@ -225,7 +225,7 @@ public class WebsitePreferenceBridge {
case ContentSettingsType.TIMEZONE_OVERRIDE:
return true;
default:
@ -976,7 +976,7 @@ diff --git a/components/content_settings/core/browser/content_settings_registry.
#if BUILDFLAG(IS_ANDROID)
#include "media/base/android/media_drm_bridge.h"
@@ -680,7 +682,10 @@ void ContentSettingsRegistry::Register(
@@ -693,7 +695,10 @@ void ContentSettingsRegistry::Register(
Platforms platforms,
ContentSettingsInfo::IncognitoBehavior incognito_behavior,
ContentSettingsInfo::StorageBehavior storage_behavior,
@ -988,7 +988,7 @@ diff --git a/components/content_settings/core/browser/content_settings_registry.
// Ensure that nothing has been registered yet for the given type.
DCHECK(!website_settings_registry_->Get(type));
@@ -689,7 +694,9 @@ void ContentSettingsRegistry::Register(
@@ -702,7 +707,9 @@ void ContentSettingsRegistry::Register(
website_settings_registry_->Register(
type, name, std::move(default_value), sync_status,
WebsiteSettingsInfo::NOT_LOSSY, scoping_type, platforms,
@ -1173,7 +1173,7 @@ diff --git a/components/page_info/android/page_info_controller_android.cc b/comp
diff --git a/components/page_info/page_info.cc b/components/page_info/page_info.cc
--- a/components/page_info/page_info.cc
+++ b/components/page_info/page_info.cc
@@ -24,6 +24,7 @@
@@ -23,6 +23,7 @@
#include "components/browser_ui/util/android/url_constants.h"
#include "components/browsing_data/content/local_storage_helper.h"
#include "components/content_settings/browser/page_specific_content_settings.h"
@ -1181,7 +1181,7 @@ diff --git a/components/page_info/page_info.cc b/components/page_info/page_info.
#include "components/content_settings/browser/ui/cookie_controls_controller.h"
#include "components/content_settings/core/browser/content_settings_registry.h"
#include "components/content_settings/core/browser/content_settings_utils.h"
@@ -167,6 +168,15 @@ bool ShouldShowPermission(const PageInfo::PermissionInfo& info,
@@ -164,6 +165,15 @@ bool ShouldShowPermission(const PageInfo::PermissionInfo& info,
return true;
}
@ -1197,7 +1197,7 @@ diff --git a/components/page_info/page_info.cc b/components/page_info/page_info.
const bool is_incognito = web_contents->GetBrowserContext()->IsOffTheRecord();
#if BUILDFLAG(IS_ANDROID)
// Special geolocation DSE settings apply only on Android, so make sure it
@@ -1150,7 +1160,18 @@ void PageInfo::PresentSitePermissions() {
@@ -1112,7 +1122,18 @@ void PageInfo::PresentSitePermissions() {
PermissionInfo permission_info;
HostContentSettingsMap* content_settings = GetContentSettings();
DCHECK(web_contents_);

View file

@ -13,39 +13,39 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../init/ProcessInitializationHandler.java | 8 ------
.../browser/ntp/search/SearchBoxMediator.java | 1 -
.../chrome/browser/share/LensUtils.java | 12 +--------
.../flags/android/chrome_feature_list.cc | 4 +--
.../flags/android/chrome_feature_list.cc | 2 +-
.../browser/flags/CachedFeatureFlags.java | 2 +-
chrome/browser/ui/android/omnibox/BUILD.gn | 2 --
.../browser/omnibox/LocationBarMediator.java | 1 -
13 files changed, 4 insertions(+), 78 deletions(-)
13 files changed, 3 insertions(+), 77 deletions(-)
diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
--- a/chrome/android/BUILD.gn
+++ b/chrome/android/BUILD.gn
@@ -408,7 +408,6 @@ if (current_toolchain == default_toolchain) {
"//chrome/browser/first_run/android:java",
"//chrome/browser/flags:java",
"//chrome/browser/fullscreen/android:java",
- "//chrome/browser/gsa:java",
"//chrome/browser/history_clusters:java",
"//chrome/browser/history_clusters:java_resources",
"//chrome/browser/image_descriptions:java",
@@ -1002,7 +1001,6 @@ if (current_toolchain == default_toolchain) {
"//chrome/browser/flags:flags_junit_tests",
"//chrome/browser/flags:java",
"//chrome/browser/fullscreen/android:java",
- "//chrome/browser/gsa:java",
"//chrome/browser/history_clusters:java",
"//chrome/browser/image_descriptions:java",
"//chrome/browser/image_editor/public:java",
@@ -1517,7 +1515,6 @@ if (current_toolchain == default_toolchain) {
"//chrome/browser/first_run/android:java",
"//chrome/browser/flags:java",
"//chrome/browser/fullscreen/android:java",
- "//chrome/browser/gsa:java",
"//chrome/browser/history_clusters:java",
"//chrome/browser/image_descriptions:javatests",
"//chrome/browser/incognito:incognito_java_tests",
@@ -380,7 +380,6 @@ android_library("chrome_java") {
"//chrome/browser/first_run/android:java",
"//chrome/browser/flags:java",
"//chrome/browser/fullscreen/android:java",
- "//chrome/browser/gsa:java",
"//chrome/browser/history_clusters:java",
"//chrome/browser/history_clusters:java_resources",
"//chrome/browser/image_descriptions:java",
@@ -1017,7 +1016,6 @@ robolectric_binary("chrome_junit_tests") {
"//chrome/browser/flags:flags_junit_tests",
"//chrome/browser/flags:java",
"//chrome/browser/fullscreen/android:java",
- "//chrome/browser/gsa:java",
"//chrome/browser/history_clusters:java",
"//chrome/browser/image_descriptions:java",
"//chrome/browser/image_editor/public:java",
@@ -1542,7 +1540,6 @@ android_library("chrome_test_java") {
"//chrome/browser/first_run/android:java",
"//chrome/browser/flags:java",
"//chrome/browser/fullscreen/android:java",
- "//chrome/browser/gsa:java",
"//chrome/browser/history_clusters:java",
"//chrome/browser/image_descriptions:javatests",
"//chrome/browser/incognito:incognito_java_tests",
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/AppHooks.java b/chrome/android/java/src/org/chromium/chrome/browser/AppHooks.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/AppHooks.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/AppHooks.java
@ -68,7 +68,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/IntentHandler.j
import org.chromium.chrome.browser.offlinepages.OfflinePageUtils;
import org.chromium.chrome.browser.omnibox.suggestions.AutocompleteCoordinator;
import org.chromium.chrome.browser.profiles.Profile;
@@ -265,8 +264,6 @@ public class IntentHandler {
@@ -261,8 +260,6 @@ public class IntentHandler {
private static int sReferrerId;
private static String sPendingIncognitoUrl;
@ -77,7 +77,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/IntentHandler.j
private static final String PACKAGE_GMAIL = "com.google.android.gm";
private static final String PACKAGE_PLUS = "com.google.android.apps.plus";
private static final String PACKAGE_HANGOUTS = "com.google.android.talk";
@@ -496,8 +493,6 @@ public class IntentHandler {
@@ -492,8 +489,6 @@ public class IntentHandler {
return ExternalAppId.LINE;
} else if (packageName.equals(PACKAGE_WHATSAPP)) {
return ExternalAppId.WHATSAPP;
@ -100,7 +100,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv
import org.chromium.chrome.browser.history.HistoryManagerUtils;
import org.chromium.chrome.browser.init.AsyncInitializationActivity;
import org.chromium.chrome.browser.init.ProcessInitializationHandler;
@@ -374,8 +370,6 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
@@ -373,8 +369,6 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
private LaunchCauseMetrics mLaunchCauseMetrics;
@ -109,7 +109,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv
// TODO(972867): Pull MenuOrKeyboardActionController out of ChromeActivity.
private List<MenuOrKeyboardActionController.MenuOrKeyboardActionHandler> mMenuActionHandlers =
new ArrayList<>();
@@ -1172,10 +1166,6 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
@@ -1176,10 +1170,6 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
@Override
public void onStopWithNative() {
@ -120,7 +120,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv
super.onStopWithNative();
}
@@ -1267,23 +1257,6 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
@@ -1271,23 +1261,6 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
.recordUserFontPrefOnStartup();
});
@ -155,7 +155,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/Chr
import org.chromium.chrome.browser.lens.LensController;
import org.chromium.chrome.browser.lens.LensEntryPoint;
import org.chromium.chrome.browser.lens.LensIntentParams;
@@ -987,12 +986,6 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator {
@@ -997,12 +996,6 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator {
LensMetrics.LensSupportStatus.ACTIVITY_NOT_ACCESSIBLE);
return false;
}
@ -196,7 +196,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/Cust
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/init/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
@@ -360,14 +360,6 @@ public class ProcessInitializationHandler {
@@ -358,14 +358,6 @@ public class ProcessInitializationHandler {
}
});
@ -262,17 +262,15 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/share/LensUtils
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
@@ -750,8 +750,8 @@ BASE_FEATURE(kDuetTabStripIntegrationAndroid,
base::FEATURE_DISABLED_BY_DEFAULT);
@@ -671,7 +671,7 @@ const base::Feature kDuetTabStripIntegrationAndroid{
"DuetTabStripIntegrationAndroid", base::FEATURE_DISABLED_BY_DEFAULT};
BASE_FEATURE(kExperimentsForAgsa,
- "ExperimentsForAgsa",
- base::FEATURE_ENABLED_BY_DEFAULT);
+ "ExperimentsForAgsa", // disabled by default
+ base::FEATURE_DISABLED_BY_DEFAULT); // in Bromite
BASE_FEATURE(kExploreSites, "ExploreSites", base::FEATURE_DISABLED_BY_DEFAULT);
const base::Feature kExperimentsForAgsa{"ExperimentsForAgsa",
- base::FEATURE_ENABLED_BY_DEFAULT};
+ base::FEATURE_DISABLED_BY_DEFAULT};
const base::Feature kExploreSites{"ExploreSites",
base::FEATURE_DISABLED_BY_DEFAULT};
diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/CachedFeatureFlags.java b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/CachedFeatureFlags.java
--- a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/CachedFeatureFlags.java
+++ b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/CachedFeatureFlags.java
@ -283,12 +281,12 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f
- .put(ChromeFeatureList.EXPERIMENTS_FOR_AGSA, true)
+ .put(ChromeFeatureList.EXPERIMENTS_FOR_AGSA, false)
.put(ChromeFeatureList.FEED_LOADING_PLACEHOLDER, false)
.put(ChromeFeatureList.GRID_TAB_SWITCHER_FOR_TABLETS, true)
.put(ChromeFeatureList.GRID_TAB_SWITCHER_FOR_TABLETS, false)
.put(ChromeFeatureList.IMMERSIVE_UI_MODE, false)
diff --git a/chrome/browser/ui/android/omnibox/BUILD.gn b/chrome/browser/ui/android/omnibox/BUILD.gn
--- a/chrome/browser/ui/android/omnibox/BUILD.gn
+++ b/chrome/browser/ui/android/omnibox/BUILD.gn
@@ -146,7 +146,6 @@ android_library("java") {
@@ -142,7 +142,6 @@ android_library("java") {
"//chrome/browser/device:java",
"//chrome/browser/feature_engagement:java",
"//chrome/browser/flags:java",
@ -296,7 +294,7 @@ diff --git a/chrome/browser/ui/android/omnibox/BUILD.gn b/chrome/browser/ui/andr
"//chrome/browser/history_clusters:java",
"//chrome/browser/language/android:java",
"//chrome/browser/lens:java",
@@ -440,7 +439,6 @@ robolectric_library("junit") {
@@ -430,7 +429,6 @@ robolectric_library("junit") {
"//chrome/browser/commerce/merchant_viewer/android:java",
"//chrome/browser/device:java",
"//chrome/browser/flags:java",

View file

@ -58,7 +58,7 @@ diff --git a/components/browser_ui/accessibility/android/java/src/org/chromium/c
diff --git a/content/public/android/java/src/org/chromium/content/browser/accessibility/WebContentsAccessibilityImpl.java b/content/public/android/java/src/org/chromium/content/browser/accessibility/WebContentsAccessibilityImpl.java
--- a/content/public/android/java/src/org/chromium/content/browser/accessibility/WebContentsAccessibilityImpl.java
+++ b/content/public/android/java/src/org/chromium/content/browser/accessibility/WebContentsAccessibilityImpl.java
@@ -899,6 +899,11 @@ public class WebContentsAccessibilityImpl extends AccessibilityNodeProviderCompa
@@ -829,6 +829,11 @@ public class WebContentsAccessibilityImpl extends AccessibilityNodeProviderCompa
structure.setChildCount(0);
return;
}

View file

@ -13,19 +13,19 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
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
@@ -98,12 +98,8 @@ BASE_FEATURE(kAppShimNewCloseBehavior,
@@ -86,12 +86,8 @@ const base::Feature kAppShimNewCloseBehavior{"AppShimNewCloseBehavior",
// Enables the built-in DNS resolver.
BASE_FEATURE(kAsyncDns,
- "AsyncDns",
const base::Feature kAsyncDns {
- "AsyncDns",
-#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_ANDROID)
- base::FEATURE_ENABLED_BY_DEFAULT
- base::FEATURE_ENABLED_BY_DEFAULT
-#else
- base::FEATURE_DISABLED_BY_DEFAULT
- base::FEATURE_DISABLED_BY_DEFAULT
-#endif
+ "AsyncDns", // disabled by default
+ base::FEATURE_DISABLED_BY_DEFAULT // in Bromite
);
+ "AsyncDns", // Bromite guard for this feature to be always disabled
+ base::FEATURE_DISABLED_BY_DEFAULT // ^
};
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
--

View file

@ -4,20 +4,18 @@ Subject: Disable DRM media origin IDs preprovisioning
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
media/base/media_switches.cc | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
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
@@ -843,8 +843,8 @@ BASE_FEATURE(kMediaDrmPersistentLicense,
@@ -742,7 +742,7 @@ const base::Feature kMediaDrmPersistentLicense{
// MediaDrmBridge. If disabled, MediaDrmBridge will get unprovisioned origin IDs
// which will trigger provisioning process after MediaDrmBridge is created.
BASE_FEATURE(kMediaDrmPreprovisioning,
- "MediaDrmPreprovisioning",
- base::FEATURE_ENABLED_BY_DEFAULT);
+ "MediaDrmPreprovisioning", // must be disabled
+ base::FEATURE_DISABLED_BY_DEFAULT); // in Bromite
const base::Feature kMediaDrmPreprovisioning{"MediaDrmPreprovisioning",
- base::FEATURE_ENABLED_BY_DEFAULT};
+ base::FEATURE_DISABLED_BY_DEFAULT};
// Determines if MediaDrmOriginIdManager should attempt to pre-provision origin
// IDs at startup (whenever a profile is loaded). Also used by tests that

View file

@ -11,13 +11,13 @@ Original License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
.../java/res/xml/privacy_preferences.xml | 4 ---
.../privacy/settings/PrivacySettings.java | 23 ------------
.../privacy/settings/PrivacySettings.java | 22 ------------
.../browser/chrome_content_browser_client.cc | 3 ++
.../history/core/browser/history_backend.cc | 13 +------
.../privacy_sandbox/privacy_sandbox_prefs.cc | 2 +-
.../privacy_sandbox_settings.cc | 35 +++++++++++--------
.../privacy_sandbox_settings.h | 1 -
7 files changed, 25 insertions(+), 56 deletions(-)
7 files changed, 25 insertions(+), 55 deletions(-)
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
@ -36,16 +36,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
@@ -58,8 +58,6 @@ public class PrivacySettings
@@ -58,7 +58,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_PROXY_OPTIONS = "proxy";
private static final String PREF_PRIVACY_GUIDE = "privacy_guide";
private static final String PREF_INCOGNITO_LOCK = "incognito_lock";
@@ -86,21 +84,6 @@ public class PrivacySettings
@@ -86,21 +85,6 @@ public class PrivacySettings
SettingsUtils.addPreferencesFromResource(this, R.xml.privacy_preferences);
getActivity().setTitle(R.string.prefs_privacy_security);
@ -67,7 +66,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
Preference privacyGuidePreference = findPreference(PREF_PRIVACY_GUIDE);
if (!ChromeFeatureList.isEnabled(ChromeFeatureList.PRIVACY_GUIDE)) {
getPreferenceScreen().removePreference(privacyGuidePreference);
@@ -220,12 +203,6 @@ public class PrivacySettings
@@ -220,12 +204,6 @@ public class PrivacySettings
secureDnsPref.setSummary(SecureDnsSettings.getSummary(getContext()));
}
@ -83,7 +82,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
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
@@ -3091,6 +3091,9 @@ bool ChromeContentBrowserClient::IsAttributionReportingOperationAllowed(
@@ -3060,6 +3060,9 @@ bool ChromeContentBrowserClient::IsAttributionReportingOperationAllowed(
const url::Origin* source_origin,
const url::Origin* destination_origin,
const url::Origin* reporting_origin) {
@ -96,7 +95,7 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch
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
@@ -495,18 +495,7 @@ void HistoryBackend::SetBrowsingTopicsAllowed(ContextID context_id,
@@ -493,18 +493,7 @@ void HistoryBackend::SetBrowsingTopicsAllowed(ContextID context_id,
if (!visit_id)
return;
@ -119,7 +118,7 @@ diff --git a/components/history/core/browser/history_backend.cc b/components/his
diff --git a/components/privacy_sandbox/privacy_sandbox_prefs.cc b/components/privacy_sandbox/privacy_sandbox_prefs.cc
--- a/components/privacy_sandbox/privacy_sandbox_prefs.cc
+++ b/components/privacy_sandbox/privacy_sandbox_prefs.cc
@@ -66,7 +66,7 @@ namespace privacy_sandbox {
@@ -63,7 +63,7 @@ namespace privacy_sandbox {
void RegisterProfilePrefs(PrefRegistrySimple* registry) {
registry->RegisterBooleanPref(
@ -131,7 +130,7 @@ diff --git a/components/privacy_sandbox/privacy_sandbox_prefs.cc b/components/pr
diff --git a/components/privacy_sandbox/privacy_sandbox_settings.cc b/components/privacy_sandbox/privacy_sandbox_settings.cc
--- a/components/privacy_sandbox/privacy_sandbox_settings.cc
+++ b/components/privacy_sandbox/privacy_sandbox_settings.cc
@@ -68,8 +68,7 @@ PrivacySandboxSettings::PrivacySandboxSettings(
@@ -67,8 +67,7 @@ PrivacySandboxSettings::PrivacySandboxSettings(
: delegate_(std::move(delegate)),
host_content_settings_map_(host_content_settings_map),
cookie_settings_(cookie_settings),
@ -141,7 +140,7 @@ diff --git a/components/privacy_sandbox/privacy_sandbox_settings.cc b/components
DCHECK(pref_service_);
DCHECK(host_content_settings_map_);
DCHECK(cookie_settings_);
@@ -94,7 +93,8 @@ PrivacySandboxSettings::PrivacySandboxSettings(
@@ -88,7 +87,8 @@ PrivacySandboxSettings::PrivacySandboxSettings(
PrivacySandboxSettings::~PrivacySandboxSettings() = default;
@ -151,7 +150,7 @@ diff --git a/components/privacy_sandbox/privacy_sandbox_settings.cc b/components
// Topics API calculation should be prevented if the user has blocked 3PC
// cookies, as there will be no context specific check.
const auto cookie_controls_mode =
@@ -119,7 +119,8 @@ bool PrivacySandboxSettings::IsTopicsAllowedForContext(
@@ -113,7 +113,8 @@ bool PrivacySandboxSettings::IsTopicsAllowedForContext(
IsPrivacySandboxEnabledForContext(url, top_frame_origin);
}
@ -161,7 +160,7 @@ diff --git a/components/privacy_sandbox/privacy_sandbox_settings.cc b/components
const auto& blocked_topics =
pref_service_->GetList(prefs::kPrivacySandboxBlockedTopics);
@@ -187,9 +188,8 @@ base::Time PrivacySandboxSettings::TopicsDataAccessibleSince() const {
@@ -181,9 +182,8 @@ base::Time PrivacySandboxSettings::TopicsDataAccessibleSince() const {
bool PrivacySandboxSettings::IsAttributionReportingAllowed(
const url::Origin& top_frame_origin,
@ -173,17 +172,17 @@ diff --git a/components/privacy_sandbox/privacy_sandbox_settings.cc b/components
}
bool PrivacySandboxSettings::MaySendAttributionReport(
@@ -278,7 +278,8 @@ void PrivacySandboxSettings::ClearFledgeJoiningAllowedSettings(
@@ -277,7 +277,8 @@ void PrivacySandboxSettings::ClearFledgeJoiningAllowedSettings(
}
bool PrivacySandboxSettings::IsFledgeJoiningAllowed(
- const url::Origin& top_frame_origin) const {
+ const url::Origin& top_frame_origin) const { // disabled in Bromite
+ if ((true)) return false;
ScopedDictPrefUpdate scoped_pref_update(
DictionaryPrefUpdate scoped_pref_update(
pref_service_, prefs::kPrivacySandboxFledgeJoinBlocked);
auto& pref_data = scoped_pref_update.Get();
@@ -334,7 +335,9 @@ bool PrivacySandboxSettings::IsPrivateAggregationAllowed(
auto* pref_data = scoped_pref_update.Get();
@@ -335,7 +336,9 @@ bool PrivacySandboxSettings::IsPrivateAggregationAllowed(
top_frame_origin);
}
@ -194,7 +193,7 @@ diff --git a/components/privacy_sandbox/privacy_sandbox_settings.cc b/components
// If the delegate is restricting access the Privacy Sandbox is disabled.
if (delegate_->IsPrivacySandboxRestricted())
return false;
@@ -349,7 +352,7 @@ bool PrivacySandboxSettings::IsPrivacySandboxEnabled() const {
@@ -350,7 +353,7 @@ bool PrivacySandboxSettings::IsPrivacySandboxEnabled() const {
// settings is available.
if (base::FeatureList::IsEnabled(privacy_sandbox::kPrivacySandboxSettings3)) {
// For Privacy Sandbox Settings 3, APIs are disabled in incognito.
@ -203,7 +202,7 @@ diff --git a/components/privacy_sandbox/privacy_sandbox_settings.cc b/components
return false;
if (should_override_setting_for_local_testing) {
@@ -367,7 +370,8 @@ bool PrivacySandboxSettings::IsPrivacySandboxEnabled() const {
@@ -368,7 +371,8 @@ bool PrivacySandboxSettings::IsPrivacySandboxEnabled() const {
return pref_service_->GetBoolean(prefs::kPrivacySandboxApisEnabled);
}
@ -213,7 +212,7 @@ diff --git a/components/privacy_sandbox/privacy_sandbox_settings.cc b/components
// Only apply the decision to the appropriate preference.
if (base::FeatureList::IsEnabled(privacy_sandbox::kPrivacySandboxSettings3)) {
pref_service_->SetBoolean(prefs::kPrivacySandboxApisEnabledV2, enabled);
@@ -376,7 +380,8 @@ void PrivacySandboxSettings::SetPrivacySandboxEnabled(bool enabled) {
@@ -377,7 +381,8 @@ void PrivacySandboxSettings::SetPrivacySandboxEnabled(bool enabled) {
}
}
@ -223,7 +222,7 @@ diff --git a/components/privacy_sandbox/privacy_sandbox_settings.cc b/components
// The PrivacySandboxSettings is only involved in Trust Token access
// decisions when the Release 3 flag is enabled.
if (!base::FeatureList::IsEnabled(privacy_sandbox::kPrivacySandboxSettings3))
@@ -441,9 +446,9 @@ bool PrivacySandboxSettings::IsPrivacySandboxEnabledForContext(
@@ -432,9 +437,9 @@ bool PrivacySandboxSettings::IsPrivacySandboxEnabledForContext(
content_settings::CookieSettings::QueryReason::kPrivacySandbox);
}
@ -239,7 +238,7 @@ diff --git a/components/privacy_sandbox/privacy_sandbox_settings.cc b/components
diff --git a/components/privacy_sandbox/privacy_sandbox_settings.h b/components/privacy_sandbox/privacy_sandbox_settings.h
--- a/components/privacy_sandbox/privacy_sandbox_settings.h
+++ b/components/privacy_sandbox/privacy_sandbox_settings.h
@@ -227,7 +227,6 @@ class PrivacySandboxSettings : public KeyedService {
@@ -220,7 +220,6 @@ class PrivacySandboxSettings : public KeyedService {
scoped_refptr<content_settings::CookieSettings> cookie_settings_;
raw_ptr<PrefService> pref_service_;
PrefChangeRegistrar pref_change_registrar_;

View file

@ -5,8 +5,8 @@ Subject: Disable NTP remote suggestions by default
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
components/feed/core/shared_prefs/pref_names.cc | 4 ++--
components/ntp_snippets/features.cc | 8 ++++----
2 files changed, 6 insertions(+), 6 deletions(-)
components/ntp_snippets/features.cc | 4 ++--
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/components/feed/core/shared_prefs/pref_names.cc b/components/feed/core/shared_prefs/pref_names.cc
--- a/components/feed/core/shared_prefs/pref_names.cc
@ -25,27 +25,23 @@ diff --git a/components/feed/core/shared_prefs/pref_names.cc b/components/feed/c
diff --git a/components/ntp_snippets/features.cc b/components/ntp_snippets/features.cc
--- a/components/ntp_snippets/features.cc
+++ b/components/ntp_snippets/features.cc
@@ -39,8 +39,8 @@ const base::Feature* const kAllFeatures[] = {
@@ -38,7 +38,7 @@ const base::Feature* const kAllFeatures[] = {
&kOptionalImagesEnabledFeature};
BASE_FEATURE(kArticleSuggestionsFeature,
- "NTPArticleSuggestions",
- base::FEATURE_ENABLED_BY_DEFAULT);
+ "NTPArticleSuggestions", // disabled by default
+ base::FEATURE_DISABLED_BY_DEFAULT); // in Bromite
const base::Feature kArticleSuggestionsFeature{
- "NTPArticleSuggestions", base::FEATURE_ENABLED_BY_DEFAULT};
+ "NTPArticleSuggestions", base::FEATURE_DISABLED_BY_DEFAULT};
BASE_FEATURE(kRemoteSuggestionsEmulateM58FetchingSchedule,
"RemoteSuggestionsEmulateM58FetchingSchedule",
@@ -71,8 +71,8 @@ const char kNotificationsDailyLimit[] = "daily_limit";
const base::Feature kRemoteSuggestionsEmulateM58FetchingSchedule{
"RemoteSuggestionsEmulateM58FetchingSchedule",
@@ -68,7 +68,7 @@ const char kNotificationsDailyLimit[] = "daily_limit";
const char kNotificationsIgnoredLimitParam[] = "ignored_limit";
BASE_FEATURE(kKeepPrefetchedContentSuggestions,
- "KeepPrefetchedContentSuggestions",
- base::FEATURE_ENABLED_BY_DEFAULT);
+ "KeepPrefetchedContentSuggestions", // disabled by default
+ base::FEATURE_DISABLED_BY_DEFAULT); // in Bromite
const base::Feature kKeepPrefetchedContentSuggestions{
- "KeepPrefetchedContentSuggestions", base::FEATURE_ENABLED_BY_DEFAULT};
+ "KeepPrefetchedContentSuggestions", base::FEATURE_DISABLED_BY_DEFAULT};
BASE_FEATURE(kOptionalImagesEnabledFeature,
"NTPRemoteSuggestionsOptionalImages",
const base::Feature kOptionalImagesEnabledFeature{
"NTPRemoteSuggestionsOptionalImages", base::FEATURE_ENABLED_BY_DEFAULT};
--
2.25.1

View file

@ -4,35 +4,36 @@ Subject: Disable PrivacyGuide
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
chrome/common/chrome_features.cc | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
chrome/common/chrome_features.cc | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
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
@@ -500,8 +500,8 @@ BASE_FEATURE(kHaTSDesktopDevToolsIssuesCSP,
@@ -444,8 +444,8 @@ const base::Feature kHaTSDesktopDevToolsIssuesCSP{
// Enables or disables the Happiness Tracking System for Desktop Privacy Guide.
BASE_FEATURE(kHappinessTrackingSurveysForDesktopPrivacyGuide,
- "HappinessTrackingSurveysForDesktopPrivacyGuide",
- base::FEATURE_DISABLED_BY_DEFAULT);
+ "HappinessTrackingSurveysForDesktopPrivacyGuide", // must be disabled
+ base::FEATURE_DISABLED_BY_DEFAULT); // in Bromite
const base::Feature kHappinessTrackingSurveysForDesktopPrivacyGuide{
- "HappinessTrackingSurveysForDesktopPrivacyGuide",
- base::FEATURE_DISABLED_BY_DEFAULT};
+ "HappinessTrackingSurveysForDesktopPrivacyGuide", // must be disabled
+ base::FEATURE_DISABLED_BY_DEFAULT}; // in Bromite
const base::FeatureParam<base::TimeDelta>
kHappinessTrackingSurveysForDesktopPrivacyGuideTime{
&kHappinessTrackingSurveysForDesktopPrivacyGuide, "settings-time",
@@ -910,11 +910,11 @@ BASE_FEATURE(kPrerenderFallbackToPreconnect,
"PrerenderFallbackToPreconnect",
base::FEATURE_ENABLED_BY_DEFAULT);
@@ -777,11 +777,11 @@ const base::Feature kPredictivePrefetchingAllowedOnAllConnectionTypes{
const base::Feature kPrerenderFallbackToPreconnect{
"PrerenderFallbackToPreconnect", base::FEATURE_ENABLED_BY_DEFAULT};
-BASE_FEATURE(kPrivacyGuide2, "PrivacyGuide2", base::FEATURE_ENABLED_BY_DEFAULT);
+BASE_FEATURE(kPrivacyGuide2, "PrivacyGuide2", base::FEATURE_DISABLED_BY_DEFAULT); // always disabled in Bromite
-const base::Feature kPrivacyGuide2{"PrivacyGuide2",
- base::FEATURE_DISABLED_BY_DEFAULT};
+const base::Feature kPrivacyGuide2{"PrivacyGuide2", // always disabled
+ base::FEATURE_DISABLED_BY_DEFAULT}; // in Bromite
BASE_FEATURE(kPrivacyGuideAndroid,
- "PrivacyGuideAndroid",
- base::FEATURE_DISABLED_BY_DEFAULT);
+ "PrivacyGuideAndroid", // always disabled
+ base::FEATURE_DISABLED_BY_DEFAULT); // in Bromite
-const base::Feature kPrivacyGuideAndroid{"PrivacyGuideAndroid",
- base::FEATURE_DISABLED_BY_DEFAULT};
+const base::Feature kPrivacyGuideAndroid{"PrivacyGuideAndroid", // always disabled
+ base::FEATURE_DISABLED_BY_DEFAULT}; // in Bromite
// Enables or disables push subscriptions keeping Chrome running in the
// background when closed.

View file

@ -12,16 +12,16 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
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
@@ -1081,8 +1081,8 @@ BASE_FEATURE(kShowExtendedPreloadingSetting,
base::FEATURE_ENABLED_BY_DEFAULT);
@@ -936,8 +936,8 @@ const base::Feature kTrustedWebActivityQualityEnforcementWarning{
const base::Feature kShowExtendedPreloadingSetting{
"ShowExtendedPreloadingSetting", base::FEATURE_ENABLED_BY_DEFAULT};
BASE_FEATURE(kStartSurfaceAndroid,
- "StartSurfaceAndroid",
- base::FEATURE_ENABLED_BY_DEFAULT);
+ "StartSurfaceAndroid", // must be disabled
+ base::FEATURE_DISABLED_BY_DEFAULT); // in Bromite
-const base::Feature kStartSurfaceAndroid{"StartSurfaceAndroid",
- base::FEATURE_ENABLED_BY_DEFAULT};
+const base::Feature kStartSurfaceAndroid{"StartSurfaceAndroid", // must be disabled
+ base::FEATURE_DISABLED_BY_DEFAULT}; // in Bromite
BASE_FEATURE(kFeedPositionAndroid,
"FeedPositionAndroid",
const base::Feature kFeedPositionAndroid{"FeedPositionAndroid",
base::FEATURE_DISABLED_BY_DEFAULT};
--
2.25.1

View file

@ -28,18 +28,18 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
chrome/browser/about_flags.cc | 6 +++
chrome/browser/flag_descriptions.cc | 8 ++++
chrome/browser/flag_descriptions.h | 6 +++
net/base/features.cc | 8 ++++
net/base/features.cc | 6 +++
net/base/features.h | 6 +++
net/http/http_network_session.cc | 1 +
net/quic/quic_stream_factory.cc | 35 ++++++++++++++++-
net/socket/ssl_client_socket_impl.cc | 59 ++++++++++++++++++++++++++++
net/socket/ssl_client_socket_impl.h | 2 +
9 files changed, 130 insertions(+), 1 deletion(-)
9 files changed, 128 insertions(+), 1 deletion(-)
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
@@ -5016,6 +5016,12 @@ const FeatureEntry kFeatureEntries[] = {
@@ -4896,6 +4896,12 @@ const FeatureEntry kFeatureEntries[] = {
{"enable-tls13-early-data", flag_descriptions::kEnableTLS13EarlyDataName,
flag_descriptions::kEnableTLS13EarlyDataDescription, kOsAll,
FEATURE_VALUE_TYPE(net::features::kEnableTLS13EarlyData)},
@ -55,7 +55,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
@@ -1036,6 +1036,14 @@ const char kEnableTLS13EarlyDataDescription[] =
@@ -1015,6 +1015,14 @@ const char kEnableTLS13EarlyDataDescription[] =
"during the handshake when resuming a connection to a compatible TLS 1.3 "
"server.";
@ -73,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
@@ -595,6 +595,12 @@ extern const char kEnablePreinstalledWebAppDuplicationFixerDescription[];
@@ -580,6 +580,12 @@ extern const char kEnablePreinstalledWebAppDuplicationFixerDescription[];
extern const char kEnableTLS13EarlyDataName[];
extern const char kEnableTLS13EarlyDataDescription[];
@ -89,37 +89,35 @@ diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptio
diff --git a/net/base/features.cc b/net/base/features.cc
--- a/net/base/features.cc
+++ b/net/base/features.cc
@@ -61,6 +61,14 @@ const base::FeatureParam<base::TimeDelta> kUseDnsHttpsSvcbSecureExtraTimeMin{
&kUseDnsHttpsSvcb, "UseDnsHttpsSvcbSecureExtraTimeMin",
base::Milliseconds(5)};
@@ -110,6 +110,12 @@ const base::Feature kUseDnsHttpsSvcbAlpn{"UseDnsHttpsSvcbAlpn",
const base::Feature kEnableTLS13EarlyData{"EnableTLS13EarlyData",
base::FEATURE_DISABLED_BY_DEFAULT};
+BASE_FEATURE(kDisableTLSResumption,
+ "DisableTLSResumption",
+ base::FEATURE_ENABLED_BY_DEFAULT);
+const base::Feature kDisableTLSResumption{"DisableTLSResumption",
+ base::FEATURE_ENABLED_BY_DEFAULT};
+
+BASE_FEATURE(kLogTLSResumption,
+ "LogTLSResumption",
+ base::FEATURE_DISABLED_BY_DEFAULT);
+const base::Feature kLogTLSResumption{"LogTLSResumption",
+ base::FEATURE_DISABLED_BY_DEFAULT};
+
BASE_FEATURE(kUseDnsHttpsSvcbAlpn,
"UseDnsHttpsSvcbAlpn",
base::FEATURE_DISABLED_BY_DEFAULT);
const base::Feature kEncryptedClientHello{"EncryptedClientHello",
base::FEATURE_DISABLED_BY_DEFAULT};
diff --git a/net/base/features.h b/net/base/features.h
--- a/net/base/features.h
+++ b/net/base/features.h
@@ -91,6 +91,12 @@ NET_EXPORT BASE_DECLARE_FEATURE(kUseDnsHttpsSvcbAlpn);
@@ -170,6 +170,12 @@ NET_EXPORT extern const base::Feature kUseDnsHttpsSvcbAlpn;
// Enables TLS 1.3 early data.
NET_EXPORT BASE_DECLARE_FEATURE(kEnableTLS13EarlyData);
NET_EXPORT extern const base::Feature kEnableTLS13EarlyData;
+// Disables TLS resumption.
+NET_EXPORT BASE_DECLARE_FEATURE(kDisableTLSResumption);
+NET_EXPORT extern const base::Feature kDisableTLSResumption;
+
+// Log TLS resumption.
+NET_EXPORT BASE_DECLARE_FEATURE(kLogTLSResumption);
+NET_EXPORT extern const base::Feature kLogTLSResumption;
+
// Enables the TLS Encrypted ClientHello feature.
// https://datatracker.ietf.org/doc/html/draft-ietf-tls-esni-13
NET_EXPORT BASE_DECLARE_FEATURE(kEncryptedClientHello);
NET_EXPORT extern const base::Feature kEncryptedClientHello;
diff --git a/net/http/http_network_session.cc b/net/http/http_network_session.cc
--- a/net/http/http_network_session.cc
+++ b/net/http/http_network_session.cc
@ -134,7 +132,7 @@ diff --git a/net/http/http_network_session.cc b/net/http/http_network_session.cc
diff --git a/net/quic/quic_stream_factory.cc b/net/quic/quic_stream_factory.cc
--- a/net/quic/quic_stream_factory.cc
+++ b/net/quic/quic_stream_factory.cc
@@ -72,6 +72,7 @@
@@ -73,6 +73,7 @@
#include "net/third_party/quiche/src/quiche/quic/core/quic_utils.h"
#include "net/third_party/quiche/src/quiche/quic/platform/api/quic_flags.h"
#include "third_party/boringssl/src/include/openssl/aead.h"
@ -142,7 +140,7 @@ diff --git a/net/quic/quic_stream_factory.cc b/net/quic/quic_stream_factory.cc
#include "url/gurl.h"
#include "url/scheme_host_port.h"
#include "url/url_constants.h"
@@ -245,6 +246,38 @@ quic::ParsedQuicVersion SelectQuicVersion(
@@ -246,6 +247,38 @@ quic::ParsedQuicVersion SelectQuicVersion(
} // namespace
@ -181,7 +179,7 @@ diff --git a/net/quic/quic_stream_factory.cc b/net/quic/quic_stream_factory.cc
// Refcounted class that owns quic::QuicCryptoClientConfig and tracks how many
// consumers are using it currently. When the last reference is freed, the
// QuicCryptoClientConfigHandle informs the owning QuicStreamFactory, moves it
@@ -2249,7 +2282,7 @@ QuicStreamFactory::CreateCryptoConfigHandle(
@@ -2254,7 +2287,7 @@ QuicStreamFactory::CreateCryptoConfigHandle(
sct_auditing_delegate_,
HostsFromOrigins(params_.origins_to_force_quic_on),
actual_network_anonymization_key),

View file

@ -7,16 +7,17 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
.../chrome_hints_manager.cc | 1 +
.../optimization_guide_keyed_service.cc | 1 -
chrome/common/chrome_features.cc | 8 ++--
chrome/common/chrome_features.cc | 6 ++---
.../optimization_guide/core/hints_fetcher.cc | 1 +
.../optimization_guide/core/hints_manager.cc | 5 +++
.../core/optimization_guide_features.cc | 38 +++++++++----------
.../core/prediction_model_download_manager.cc | 6 ++-
.../optimization_guide/core/hints_manager.cc | 4 ++++
.../core/optimization_guide_features.cc | 24 +++++++++----------
.../core/prediction_model_download_manager.cc | 6 +++--
.../core/prediction_model_fetcher_impl.cc | 1 +
components/optimization_guide/features.gni | 4 +-
components/permissions/features.cc | 8 ++--
third_party/blink/common/features.cc | 8 +---
11 files changed, 40 insertions(+), 41 deletions(-)
components/optimization_guide/features.gni | 4 +---
components/permissions/features.cc | 8 +++----
.../segmentation_platform/public/features.cc | 2 +-
third_party/blink/common/features.cc | 2 +-
12 files changed, 33 insertions(+), 27 deletions(-)
diff --git a/chrome/browser/optimization_guide/chrome_hints_manager.cc b/chrome/browser/optimization_guide/chrome_hints_manager.cc
--- a/chrome/browser/optimization_guide/chrome_hints_manager.cc
@ -32,7 +33,7 @@ diff --git a/chrome/browser/optimization_guide/chrome_hints_manager.cc b/chrome/
diff --git a/chrome/browser/optimization_guide/optimization_guide_keyed_service.cc b/chrome/browser/optimization_guide/optimization_guide_keyed_service.cc
--- a/chrome/browser/optimization_guide/optimization_guide_keyed_service.cc
+++ b/chrome/browser/optimization_guide/optimization_guide_keyed_service.cc
@@ -320,7 +320,6 @@ void OptimizationGuideKeyedService::RemoveObserverForOptimizationTargetModel(
@@ -324,7 +324,6 @@ void OptimizationGuideKeyedService::RemoveObserverForOptimizationTargetModel(
void OptimizationGuideKeyedService::RegisterOptimizationTypes(
const std::vector<optimization_guide::proto::OptimizationType>&
optimization_types) {
@ -43,32 +44,30 @@ diff --git a/chrome/browser/optimization_guide/optimization_guide_keyed_service.
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
@@ -883,8 +883,8 @@ BASE_FEATURE(kPermissionAuditing,
@@ -747,8 +747,8 @@ const base::Feature kPermissionAuditing{"PermissionAuditing",
// Enables using the prediction service for permission prompts. We will keep
// this feature in order to allow us to update the holdback chance via finch.
BASE_FEATURE(kPermissionPredictions,
- "PermissionPredictions",
- base::FEATURE_ENABLED_BY_DEFAULT);
+ "PermissionPredictions", // disabled by default
+ base::FEATURE_DISABLED_BY_DEFAULT); // in Bromite
-const base::Feature kPermissionPredictions{"PermissionPredictions",
- base::FEATURE_ENABLED_BY_DEFAULT};
+const base::Feature kPermissionPredictions{"PermissionPredictions", // always disabled
+ base::FEATURE_DISABLED_BY_DEFAULT}; // in Bromite
// The holdback chance is 30% but it can also be configured/updated
// through finch if needed.
@@ -895,8 +895,8 @@ const base::FeatureParam<double> kPermissionPredictionsHoldbackChance(
@@ -759,7 +759,7 @@ const base::FeatureParam<double> kPermissionPredictionsHoldbackChance(
// Enables using the prediction service for geolocation permission prompts.
BASE_FEATURE(kPermissionGeolocationPredictions,
- "PermissionGeolocationPredictions",
- base::FEATURE_ENABLED_BY_DEFAULT);
+ "PermissionGeolocationPredictions", // disabled by default
+ base::FEATURE_DISABLED_BY_DEFAULT); // in Bromite
const base::Feature kPermissionGeolocationPredictions{
- "PermissionGeolocationPredictions", base::FEATURE_ENABLED_BY_DEFAULT};
+ "PermissionGeolocationPredictions", base::FEATURE_DISABLED_BY_DEFAULT}; // always disabled in Bromite
const base::FeatureParam<double>
kPermissionGeolocationPredictionsHoldbackChance(
diff --git a/components/optimization_guide/core/hints_fetcher.cc b/components/optimization_guide/core/hints_fetcher.cc
--- a/components/optimization_guide/core/hints_fetcher.cc
+++ b/components/optimization_guide/core/hints_fetcher.cc
@@ -174,6 +174,7 @@ bool HintsFetcher::FetchOptimizationGuideServiceHints(
@@ -176,6 +176,7 @@ bool HintsFetcher::FetchOptimizationGuideServiceHints(
optimization_guide::proto::RequestContext request_context,
const std::string& locale,
HintsFetchedCallback hints_fetched_callback) {
@ -79,7 +78,7 @@ diff --git a/components/optimization_guide/core/hints_fetcher.cc b/components/op
diff --git a/components/optimization_guide/core/hints_manager.cc b/components/optimization_guide/core/hints_manager.cc
--- a/components/optimization_guide/core/hints_manager.cc
+++ b/components/optimization_guide/core/hints_manager.cc
@@ -352,6 +352,7 @@ void HintsManager::Shutdown() {
@@ -360,6 +360,7 @@ void HintsManager::Shutdown() {
OptimizationGuideDecision
HintsManager::GetOptimizationGuideDecisionFromOptimizationTypeDecision(
OptimizationTypeDecision optimization_type_decision) {
@ -87,15 +86,7 @@ diff --git a/components/optimization_guide/core/hints_manager.cc b/components/op
switch (optimization_type_decision) {
case OptimizationTypeDecision::kAllowedByOptimizationFilter:
case OptimizationTypeDecision::kAllowedByHint:
@@ -1056,6 +1057,7 @@ void HintsManager::CanApplyOptimizationOnDemand(
DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
// TODO(crbug/1275612): Check whether we have consent to fetch.
+ if ((true)) return; // no consent on bromite
// This set contains URLs that require some information to be fetched, whether
// that be a URL-keyed hint or a host-keyed hint.
@@ -1263,6 +1265,9 @@ OptimizationTypeDecision HintsManager::CanApplyOptimization(
@@ -1271,6 +1272,9 @@ OptimizationTypeDecision HintsManager::CanApplyOptimization(
proto::OptimizationType optimization_type,
OptimizationMetadata* optimization_metadata) {
DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
@ -108,84 +99,72 @@ diff --git a/components/optimization_guide/core/hints_manager.cc b/components/op
diff --git a/components/optimization_guide/core/optimization_guide_features.cc b/components/optimization_guide/core/optimization_guide_features.cc
--- a/components/optimization_guide/core/optimization_guide_features.cc
+++ b/components/optimization_guide/core/optimization_guide_features.cc
@@ -78,17 +78,17 @@ bool IsSupportedLocaleForFeature(const std::string locale,
@@ -77,16 +77,16 @@ bool IsSupportedLocaleForFeature(const std::string locale,
// Enables the syncing of the Optimization Hints component, which provides
// hints for what optimizations can be applied on a page load.
BASE_FEATURE(kOptimizationHints,
- "OptimizationHints",
- base::FEATURE_ENABLED_BY_DEFAULT);
+ "OptimizationHints", // disabled by default
+ base::FEATURE_DISABLED_BY_DEFAULT); // in Bromite
-const base::Feature kOptimizationHints{"OptimizationHints",
- base::FEATURE_ENABLED_BY_DEFAULT};
+const base::Feature kOptimizationHints{"OptimizationHints", // disabled by default
+ base::FEATURE_DISABLED_BY_DEFAULT}; // in Bromite
// Enables fetching from a remote Optimization Guide Service.
BASE_FEATURE(kRemoteOptimizationGuideFetching,
- "OptimizationHintsFetching",
- base::FEATURE_ENABLED_BY_DEFAULT);
+ "OptimizationHintsFetching", // disabled by default
+ base::FEATURE_DISABLED_BY_DEFAULT); // in Bromite
const base::Feature kRemoteOptimizationGuideFetching{
- "OptimizationHintsFetching", base::FEATURE_ENABLED_BY_DEFAULT};
+ "OptimizationHintsFetching", base::FEATURE_DISABLED_BY_DEFAULT}; // disabled by default in Bromite
BASE_FEATURE(kRemoteOptimizationGuideFetchingAnonymousDataConsent,
- "OptimizationHintsFetchingAnonymousDataConsent",
- base::FEATURE_ENABLED_BY_DEFAULT);
+ "OptimizationHintsFetchingAnonymousDataConsent", // disabled by default
+ base::FEATURE_DISABLED_BY_DEFAULT); // in Bromite
const base::Feature kRemoteOptimizationGuideFetchingAnonymousDataConsent{
- "OptimizationHintsFetchingAnonymousDataConsent",
- base::FEATURE_ENABLED_BY_DEFAULT};
+ "OptimizationHintsFetchingAnonymousDataConsent", // disabled by default
+ base::FEATURE_DISABLED_BY_DEFAULT}; // in Bromite
// Enables performance info in the context menu and fetching from a remote
// Optimization Guide Service.
@@ -98,17 +98,13 @@ BASE_FEATURE(kContextMenuPerformanceInfoAndRemoteHintFetching,
@@ -96,15 +96,15 @@ const base::Feature kContextMenuPerformanceInfoAndRemoteHintFetching{
// Enables the prediction of optimization targets.
BASE_FEATURE(kOptimizationTargetPrediction,
- "OptimizationTargetPrediction",
- base::FEATURE_ENABLED_BY_DEFAULT);
+ "OptimizationTargetPrediction", // disabled by default
+ base::FEATURE_DISABLED_BY_DEFAULT); // in Bromite
const base::Feature kOptimizationTargetPrediction{
- "OptimizationTargetPrediction", base::FEATURE_ENABLED_BY_DEFAULT};
+ "OptimizationTargetPrediction", base::FEATURE_DISABLED_BY_DEFAULT}; // disabled by default in Bromite
// Enables the downloading of models.
BASE_FEATURE(kOptimizationGuideModelDownloading,
- "OptimizationGuideModelDownloading",
-#if BUILDFLAG(BUILD_WITH_TFLITE_LIB)
- base::FEATURE_ENABLED_BY_DEFAULT
const base::Feature kOptimizationGuideModelDownloading {
"OptimizationGuideModelDownloading",
#if BUILDFLAG(BUILD_WITH_TFLITE_LIB)
- base::FEATURE_ENABLED_BY_DEFAULT
-#else // BUILD_WITH_TFLITE_LIB
- base::FEATURE_DISABLED_BY_DEFAULT
-#endif // !BUILD_WITH_TFLITE_LIB
+ "OptimizationGuideModelDownloading", // disabled by default
+ base::FEATURE_DISABLED_BY_DEFAULT // in Bromite
);
base::FEATURE_DISABLED_BY_DEFAULT
+#else // BUILD_WITH_TFLITE_LIB
+ base::FEATURE_DISABLED_BY_DEFAULT // guard this
#endif // !BUILD_WITH_TFLITE_LIB
};
// Enables page content to be annotated.
@@ -143,8 +139,8 @@ BASE_FEATURE(kPageEntitiesModelResetOnShutdown,
@@ -134,7 +134,7 @@ const base::Feature kPageEntitiesModelResetOnShutdown{
// Enables push notification of hints.
BASE_FEATURE(kPushNotifications,
- "OptimizationGuidePushNotifications",
- base::FEATURE_DISABLED_BY_DEFAULT);
+ "OptimizationGuidePushNotifications", // disabled by default
+ base::FEATURE_DISABLED_BY_DEFAULT); // in Bromite
const base::Feature kPushNotifications{"OptimizationGuidePushNotifications",
- base::FEATURE_DISABLED_BY_DEFAULT};
+ base::FEATURE_DISABLED_BY_DEFAULT}; // guard this
// This feature flag does not turn off any behavior, it is only used for
// experiment parameters.
@@ -158,15 +154,15 @@ BASE_FEATURE(kOptimizationGuideMetadataValidation,
base::FEATURE_DISABLED_BY_DEFAULT);
@@ -146,12 +146,12 @@ const base::Feature kOptimizationGuideMetadataValidation{
"OptimizationGuideMetadataValidation", base::FEATURE_DISABLED_BY_DEFAULT};
BASE_FEATURE(kPageTopicsBatchAnnotations,
- "PageTopicsBatchAnnotations",
- base::FEATURE_ENABLED_BY_DEFAULT);
+ "PageTopicsBatchAnnotations", // disabled by default
+ base::FEATURE_DISABLED_BY_DEFAULT); // in Bromite
BASE_FEATURE(kPageVisibilityBatchAnnotations,
"PageVisibilityBatchAnnotations",
base::FEATURE_ENABLED_BY_DEFAULT);
const base::Feature kPageTopicsBatchAnnotations{
- "PageTopicsBatchAnnotations", base::FEATURE_ENABLED_BY_DEFAULT};
+ "PageTopicsBatchAnnotations", base::FEATURE_DISABLED_BY_DEFAULT};
const base::Feature kPageVisibilityBatchAnnotations{
"PageVisibilityBatchAnnotations", base::FEATURE_ENABLED_BY_DEFAULT};
BASE_FEATURE(kUseLocalPageEntitiesMetadataProvider,
- "UseLocalPageEntitiesMetadataProvider",
- base::FEATURE_DISABLED_BY_DEFAULT);
+ "UseLocalPageEntitiesMetadataProvider", // disabled by default
+ base::FEATURE_DISABLED_BY_DEFAULT); // in Bromite
const base::Feature kUseLocalPageEntitiesMetadataProvider{
- "UseLocalPageEntitiesMetadataProvider", base::FEATURE_DISABLED_BY_DEFAULT};
+ "UseLocalPageEntitiesMetadataProvider", base::FEATURE_DISABLED_BY_DEFAULT}; // guard this
BASE_FEATURE(kPageContentAnnotationsValidation,
"PageContentAnnotationsValidation",
@@ -408,7 +404,7 @@ size_t MaxURLKeyedHintCacheSize() {
const base::Feature kPageContentAnnotationsValidation{
"PageContentAnnotationsValidation", base::FEATURE_DISABLED_BY_DEFAULT};
@@ -390,7 +390,7 @@ size_t MaxURLKeyedHintCacheSize() {
bool ShouldPersistHintsToDisk() {
return GetFieldTrialParamByFeatureAsBool(kOptimizationHints,
@ -259,40 +238,46 @@ diff --git a/components/optimization_guide/features.gni b/components/optimizatio
diff --git a/components/permissions/features.cc b/components/permissions/features.cc
--- a/components/permissions/features.cc
+++ b/components/permissions/features.cc
@@ -85,12 +85,12 @@ BASE_FEATURE(kPermissionChipRequestTypeSensitive,
@@ -66,12 +66,12 @@ const base::Feature kPermissionChipRequestTypeSensitive{
// When enabled, use the value of the `service_url` FeatureParam as the url
// for the Web Permission Predictions Service.
BASE_FEATURE(kPermissionPredictionServiceUseUrlOverride,
- "kPermissionPredictionServiceUseUrlOverride",
- base::FEATURE_DISABLED_BY_DEFAULT);
+ "kPermissionPredictionServiceUseUrlOverride", // disabled by default
+ base::FEATURE_DISABLED_BY_DEFAULT); // in Bromite
const base::Feature kPermissionPredictionServiceUseUrlOverride{
- "kPermissionPredictionServiceUseUrlOverride",
- base::FEATURE_DISABLED_BY_DEFAULT};
+ "kPermissionPredictionServiceUseUrlOverride", // disabled by default
+ base::FEATURE_DISABLED_BY_DEFAULT}; // in Bromite
BASE_FEATURE(kPermissionOnDeviceNotificationPredictions,
- "PermissionOnDeviceNotificationPredictions",
- base::FEATURE_ENABLED_BY_DEFAULT);
+ "PermissionOnDeviceNotificationPredictions", // disabled by default
+ base::FEATURE_DISABLED_BY_DEFAULT); // in Bromite
const base::Feature kPermissionOnDeviceNotificationPredictions{
- "PermissionOnDeviceNotificationPredictions",
- base::FEATURE_ENABLED_BY_DEFAULT};
+ "PermissionOnDeviceNotificationPredictions", // disabled by default
+ base::FEATURE_DISABLED_BY_DEFAULT}; // in Bromite
BASE_FEATURE(kPermissionOnDeviceGeolocationPredictions,
"PermissionOnDeviceGeolocationPredictions",
const base::Feature kPermissionOnDeviceGeolocationPredictions{
"PermissionOnDeviceGeolocationPredictions",
diff --git a/components/segmentation_platform/public/features.cc b/components/segmentation_platform/public/features.cc
--- a/components/segmentation_platform/public/features.cc
+++ b/components/segmentation_platform/public/features.cc
@@ -30,7 +30,7 @@ const base::Feature kShoppingUserSegmentFeature{
const base::Feature kSegmentationPlatformFeedSegmentFeature{
"SegmentationPlatformFeedSegmentFeature",
#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_IOS)
- base::FEATURE_ENABLED_BY_DEFAULT
+ base::FEATURE_DISABLED_BY_DEFAULT
};
#else
base::FEATURE_DISABLED_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
@@ -214,12 +214,8 @@ BASE_FEATURE(kMixedContentAutoupgrade,
// predictor may preconnect/prefetch to resources/origins to make the
// future navigations faster.
BASE_FEATURE(kNavigationPredictor,
- "NavigationPredictor",
-#if BUILDFLAG(IS_ANDROID)
- base::FEATURE_ENABLED_BY_DEFAULT
-#else
- base::FEATURE_DISABLED_BY_DEFAULT
-#endif
+ "NavigationPredictor", // disabled by default
+ base::FEATURE_DISABLED_BY_DEFAULT // in Bromite
);
// Anchor Element Interaction
@@ -206,7 +206,7 @@ const base::Feature kMixedContentAutoupgrade{"AutoupgradeMixedContent",
const base::Feature kNavigationPredictor {
"NavigationPredictor",
#if BUILDFLAG(IS_ANDROID)
- base::FEATURE_ENABLED_BY_DEFAULT
+ base::FEATURE_DISABLED_BY_DEFAULT
#else
base::FEATURE_DISABLED_BY_DEFAULT
#endif
--
2.25.1

View file

@ -10,7 +10,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java b/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java
@@ -851,7 +851,7 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator {
@@ -850,7 +850,7 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator {
* displayed.
*/
private boolean triggerPromo(boolean intentWithEffect) {
@ -19,7 +19,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/Tab
if (CommandLine.getInstance().hasSwitch(ChromeSwitches.DISABLE_STARTUP_PROMOS)) {
return false;
}
@@ -886,8 +886,8 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator {
@@ -885,8 +885,8 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator {
preferenceManager.writeBoolean(
ChromePreferenceKeys.PROMOS_SKIPPED_ON_FIRST_START, true);
}

View file

@ -11,50 +11,43 @@ being sent and being saved to disk, although it is currently in uncalled code.
Original License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
.../browser/flags/android/chrome_feature_list.cc | 4 ++--
.../embedder_support/origin_trials/features.cc | 8 ++++----
.../browser/flags/android/chrome_feature_list.cc | 2 +-
.../embedder_support/origin_trials/features.cc | 3 ++-
.../render_view_context_menu_base.cc | 3 ---
.../aggregatable_report_sender.cc | 15 +++++++--------
.../attribution_reporting/attribution_host.cc | 1 +
.../attribution_report_network_sender.cc | 15 ++++++++-------
.../attribution_storage_sql.cc | 8 +++++---
.../attribution_storage_sql.cc | 2 +-
content/browser/storage_partition_impl.cc | 7 +------
content/public/browser/navigation_controller.cc | 1 -
third_party/blink/common/features.cc | 4 ++--
third_party/blink/common/features.cc | 2 +-
.../platform/runtime_enabled_features.json5 | 7 +++++++
11 files changed, 37 insertions(+), 36 deletions(-)
11 files changed, 29 insertions(+), 29 deletions(-)
diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browser/flags/android/chrome_feature_list.cc
--- a/chrome/browser/flags/android/chrome_feature_list.cc
+++ b/chrome/browser/flags/android/chrome_feature_list.cc
@@ -521,8 +521,8 @@ BASE_FEATURE(kAppMenuMobileSiteOption,
base::FEATURE_DISABLED_BY_DEFAULT);
@@ -502,7 +502,7 @@ const base::Feature kAppMenuMobileSiteOption{"AppMenuMobileSiteOption",
base::FEATURE_DISABLED_BY_DEFAULT};
BASE_FEATURE(kAppToWebAttribution,
- "AppToWebAttribution",
- base::FEATURE_DISABLED_BY_DEFAULT);
+ "AppToWebAttribution", // must be disabled
+ base::FEATURE_DISABLED_BY_DEFAULT); // in Bromite
const base::Feature kAppToWebAttribution{"AppToWebAttribution",
- base::FEATURE_DISABLED_BY_DEFAULT};
+ base::FEATURE_DISABLED_BY_DEFAULT}; // guard this
BASE_FEATURE(kBackgroundThreadPool,
"BackgroundThreadPool",
const base::Feature kBackgroundThreadPool{"BackgroundThreadPool",
base::FEATURE_DISABLED_BY_DEFAULT};
diff --git a/components/embedder_support/origin_trials/features.cc b/components/embedder_support/origin_trials/features.cc
--- a/components/embedder_support/origin_trials/features.cc
+++ b/components/embedder_support/origin_trials/features.cc
@@ -14,11 +14,11 @@ namespace embedder_support {
// Users from control group will have the feature disabled, excluding them
// from the origin trial.
BASE_FEATURE(kOriginTrialsSampleAPIThirdPartyAlternativeUsage,
- "OriginTrialsSampleAPIThirdPartyAlternativeUsage",
- base::FEATURE_ENABLED_BY_DEFAULT);
+ "OriginTrialsSampleAPIThirdPartyAlternativeUsage", // must be disabled
+ base::FEATURE_DISABLED_BY_DEFAULT); // in Bromite
@@ -17,8 +17,9 @@ const base::Feature kOriginTrialsSampleAPIThirdPartyAlternativeUsage{
"OriginTrialsSampleAPIThirdPartyAlternativeUsage",
base::FEATURE_ENABLED_BY_DEFAULT};
BASE_FEATURE(kConversionMeasurementAPIAlternativeUsage,
- "ConversionMeasurementAPIAlternativeUsage",
- base::FEATURE_ENABLED_BY_DEFAULT);
+ "ConversionMeasurementAPIAlternativeUsage", // must be disabled
+ base::FEATURE_DISABLED_BY_DEFAULT); // in Bromite
+// When disabled, the API cannot be enabled by tokens.
const base::Feature kConversionMeasurementAPIAlternativeUsage{
"ConversionMeasurementAPIAlternativeUsage",
- base::FEATURE_ENABLED_BY_DEFAULT};
+ base::FEATURE_DISABLED_BY_DEFAULT};
} // namespace embedder_support
diff --git a/components/renderer_context_menu/render_view_context_menu_base.cc b/components/renderer_context_menu/render_view_context_menu_base.cc
@ -114,7 +107,7 @@ diff --git a/content/browser/attribution_reporting/attribution_host.cc b/content
diff --git a/content/browser/attribution_reporting/attribution_report_network_sender.cc b/content/browser/attribution_reporting/attribution_report_network_sender.cc
--- a/content/browser/attribution_reporting/attribution_report_network_sender.cc
+++ b/content/browser/attribution_reporting/attribution_report_network_sender.cc
@@ -110,13 +110,8 @@ void AttributionReportNetworkSender::SendReport(
@@ -112,13 +112,8 @@ void AttributionReportNetworkSender::SendReport(
network::SimpleURLLoader::RETRY_ON_NAME_NOT_RESOLVED;
simple_url_loader_ptr->SetRetryOptions(/*max_retries=*/1, retry_mode);
@ -130,7 +123,7 @@ diff --git a/content/browser/attribution_reporting/attribution_report_network_se
}
void AttributionReportNetworkSender::OnReportSent(
@@ -125,6 +120,12 @@ void AttributionReportNetworkSender::OnReportSent(
@@ -127,6 +122,12 @@ void AttributionReportNetworkSender::OnReportSent(
bool is_debug_report,
ReportSentCallback sent_callback,
scoped_refptr<net::HttpResponseHeaders> headers) {
@ -146,32 +139,19 @@ diff --git a/content/browser/attribution_reporting/attribution_report_network_se
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
@@ -422,6 +422,8 @@ DestinationLimitResult GetDestinationLimitResult(
@@ -416,7 +416,7 @@ DestinationLimitResult GetDestinationLimitResult(
}
}
-bool g_run_in_memory = false;
+bool g_run_in_memory = true;
+
} // namespace
// static
@@ -433,9 +435,9 @@ bool AttributionStorageSql::DeleteStorageForTesting(
AttributionStorageSql::AttributionStorageSql(
const base::FilePath& user_data_directory,
std::unique_ptr<AttributionStorageDelegate> delegate)
- : path_to_database_(user_data_directory.empty()
- ? base::FilePath()
- : DatabasePath(user_data_directory)),
+ : path_to_database_(user_data_directory.empty() || g_run_in_memory
+ ? base::FilePath()
+ : DatabasePath(user_data_directory)),
delegate_(std::move(delegate)),
rate_limit_table_(delegate_.get()) {
DCHECK(delegate_);
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
@@ -1353,12 +1353,7 @@ void StoragePartitionImpl::Initialize(
@@ -1315,12 +1315,7 @@ void StoragePartitionImpl::Initialize(
bucket_manager_ = std::make_unique<BucketManager>(this);
@ -199,14 +179,12 @@ 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
@@ -105,8 +105,8 @@ BASE_FEATURE(kBlockingDownloadsInAdFrameWithoutUserActivation,
@@ -107,7 +107,7 @@ const base::Feature kBlockingDownloadsInAdFrameWithoutUserActivation{
// Controls whether the Conversion Measurement API infrastructure is enabled.
BASE_FEATURE(kConversionMeasurement,
- "ConversionMeasurement",
- base::FEATURE_ENABLED_BY_DEFAULT);
+ "ConversionMeasurement", // must be disabled
+ base::FEATURE_DISABLED_BY_DEFAULT); // in Bromite
const base::Feature kConversionMeasurement{"ConversionMeasurement",
- base::FEATURE_ENABLED_BY_DEFAULT};
+ base::FEATURE_DISABLED_BY_DEFAULT};
// Controls whether LCP calculations should exclude low-entropy images. If
// enabled, then the associated parameter sets the cutoff, expressed as the

View file

@ -10,14 +10,14 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
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
@@ -241,8 +241,8 @@ BASE_FEATURE(kCooperativeScheduling,
@@ -224,8 +224,8 @@ const base::Feature kCooperativeScheduling{"CooperativeScheduling",
// Enables crash reporting via Reporting API.
// https://www.w3.org/TR/reporting/#crash-report
BASE_FEATURE(kCrashReporting,
- "CrashReporting",
- base::FEATURE_ENABLED_BY_DEFAULT);
+ "CrashReporting", // disabled by default
+ base::FEATURE_DISABLED_BY_DEFAULT); // in Bromite
-const base::Feature kCrashReporting{"CrashReporting",
- base::FEATURE_ENABLED_BY_DEFAULT};
+const base::Feature kCrashReporting{"CrashReporting", // disabled by default on Bromite
+ base::FEATURE_DISABLED_BY_DEFAULT}; // ^
// Enables support for the `Critical-CH` response header.
// https://github.com/WICG/client-hints-infrastructure/blob/master/reliability.md#critical-ch

View file

@ -6,13 +6,13 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
.../org/chromium/chrome/browser/feed/FeedFeatures.java | 8 +-------
.../chromium/chrome/browser/flags/CachedFeatureFlags.java | 2 +-
components/feed/feed_feature_list.cc | 8 ++++----
3 files changed, 6 insertions(+), 12 deletions(-)
components/feed/feed_feature_list.cc | 4 ++--
3 files changed, 4 insertions(+), 10 deletions(-)
diff --git a/chrome/browser/feed/android/java/src/org/chromium/chrome/browser/feed/FeedFeatures.java b/chrome/browser/feed/android/java/src/org/chromium/chrome/browser/feed/FeedFeatures.java
--- a/chrome/browser/feed/android/java/src/org/chromium/chrome/browser/feed/FeedFeatures.java
+++ b/chrome/browser/feed/android/java/src/org/chromium/chrome/browser/feed/FeedFeatures.java
@@ -50,13 +50,7 @@ public final class FeedFeatures {
@@ -42,13 +42,7 @@ public final class FeedFeatures {
* the user is signed in and confirms it's not a child profile.
*/
public static boolean isWebFeedUIEnabled() {
@ -26,7 +26,7 @@ diff --git a/chrome/browser/feed/android/java/src/org/chromium/chrome/browser/fe
+ return false;
}
public static boolean shouldUseWebFeedAwarenessIPH() {
/**
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
@ -42,24 +42,20 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f
diff --git a/components/feed/feed_feature_list.cc b/components/feed/feed_feature_list.cc
--- a/components/feed/feed_feature_list.cc
+++ b/components/feed/feed_feature_list.cc
@@ -17,14 +17,14 @@
@@ -16,12 +16,12 @@
namespace feed {
BASE_FEATURE(kInterestFeedContentSuggestions,
- "InterestFeedContentSuggestions",
- base::FEATURE_ENABLED_BY_DEFAULT);
+ "InterestFeedContentSuggestions", // must be disabled
+ base::FEATURE_DISABLED_BY_DEFAULT); // by default in Bromite
const base::Feature kInterestFeedContentSuggestions{
- "InterestFeedContentSuggestions", base::FEATURE_ENABLED_BY_DEFAULT};
+ "InterestFeedContentSuggestions", base::FEATURE_DISABLED_BY_DEFAULT};
// InterestFeedV2 takes precedence over InterestFeedContentSuggestions.
// InterestFeedV2 is cached in ChromeCachedFlags. If the default value here is
// changed, please update the cached one's default value in CachedFeatureFlags.
BASE_FEATURE(kInterestFeedV2,
- "InterestFeedV2",
- base::FEATURE_ENABLED_BY_DEFAULT);
+ "InterestFeedV2", // must be disabled
+ base::FEATURE_DISABLED_BY_DEFAULT); // by default in Bromite
const base::Feature kInterestFeedV2{"InterestFeedV2",
- base::FEATURE_ENABLED_BY_DEFAULT};
+ base::FEATURE_DISABLED_BY_DEFAULT};
BASE_FEATURE(kInterestFeedV2Autoplay,
"InterestFeedV2Autoplay",
const base::Feature kInterestFeedV2Autoplay{"InterestFeedV2Autoplay",
base::FEATURE_DISABLED_BY_DEFAULT};
--
2.25.1

View file

@ -2,8 +2,7 @@ From: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Sun, 8 Jul 2018 18:16:34 +0200
Subject: Disable fetching of all field trials
Disable seed-based field trials.
Disable reporting of Omnibox suggestions header.
Disable seed-based field trials
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
@ -13,12 +12,12 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
components/ukm/ukm_recorder_impl.cc | 3 +++
.../firstrun/VariationsSeedBridge.java | 2 +-
.../firstrun/VariationsSeedFetcher.java | 26 ++++---------------
.../variations/net/omnibox_http_headers.cc | 4 +--
.../variations/net/omnibox_http_headers.cc | 2 +-
.../variations/net/variations_http_headers.cc | 3 +++
.../service/variations_field_trial_creator.cc | 3 ++-
.../variations/service/variations_service.cc | 15 +++--------
.../renderer/core/loader/document_loader.cc | 7 -----
11 files changed, 23 insertions(+), 48 deletions(-)
11 files changed, 22 insertions(+), 47 deletions(-)
diff --git a/android_webview/nonembedded/BUILD.gn b/android_webview/nonembedded/BUILD.gn
--- a/android_webview/nonembedded/BUILD.gn
@ -31,10 +30,10 @@ diff --git a/android_webview/nonembedded/BUILD.gn b/android_webview/nonembedded/
"java/src/org/chromium/android_webview/services/ComponentUpdaterSafeModeUtils.java",
"java/src/org/chromium/android_webview/services/ComponentsProviderPathUtil.java",
"java/src/org/chromium/android_webview/services/ComponentsProviderService.java",
@@ -119,7 +118,6 @@ android_library("services_java") {
@@ -118,7 +117,6 @@ android_library("services_java") {
"java/src/org/chromium/android_webview/services/SafeModeContentProvider.java",
"java/src/org/chromium/android_webview/services/SafeModeService.java",
"java/src/org/chromium/android_webview/services/ServicesStatsHelper.java",
"java/src/org/chromium/android_webview/services/StartupFeatureMetadataHolder.java",
- "java/src/org/chromium/android_webview/services/VariationsSeedHolder.java",
"java/src/org/chromium/android_webview/services/VariationsSeedServer.java",
]
@ -54,19 +53,19 @@ diff --git a/android_webview/nonembedded/java/src/org/chromium/android_webview/s
diff --git a/chrome/browser/metrics/chrome_browser_sampling_trials.cc b/chrome/browser/metrics/chrome_browser_sampling_trials.cc
--- a/chrome/browser/metrics/chrome_browser_sampling_trials.cc
+++ b/chrome/browser/metrics/chrome_browser_sampling_trials.cc
@@ -54,6 +54,8 @@ void CreateFallbackSamplingTrial(
const std::string& feature_name,
const int sampled_in_rate_per_mille,
base::FeatureList* feature_list) {
@@ -52,6 +52,8 @@ void CreateFallbackSamplingTrial(const std::string& trial_name,
const std::string& feature_name,
const int sampled_in_rate_per_mille,
base::FeatureList* feature_list) {
+ if ((true))
+ return;
scoped_refptr<base::FieldTrial> trial(
base::FieldTrialList::FactoryGetFieldTrial(
trial_name, /*total_probability=*/1000, "Default", entropy_provider));
@@ -93,6 +95,8 @@ void CreateFallbackUkmSamplingTrial(
const base::FieldTrial::EntropyProvider& entropy_provider,
bool is_stable_channel,
base::FeatureList* feature_list) {
trial_name, /*total_probability=*/1000, "Default",
@@ -90,6 +92,8 @@ void CreateFallbackSamplingTrial(const std::string& trial_name,
// field trial controlling the sampling feature.
void CreateFallbackUkmSamplingTrial(bool is_stable_channel,
base::FeatureList* feature_list) {
+ if ((true))
+ return;
static const char kSampledGroup_Stable[] = "Sampled_NoSeed_Stable";
@ -75,7 +74,7 @@ diff --git a/chrome/browser/metrics/chrome_browser_sampling_trials.cc b/chrome/b
diff --git a/components/ukm/ukm_recorder_impl.cc b/components/ukm/ukm_recorder_impl.cc
--- a/components/ukm/ukm_recorder_impl.cc
+++ b/components/ukm/ukm_recorder_impl.cc
@@ -206,6 +206,9 @@ bool HasUnknownMetrics(const builders::DecodeMap& decode_map,
@@ -210,6 +210,9 @@ bool HasUnknownMetrics(const builders::DecodeMap& decode_map,
UkmRecorderImpl::UkmRecorderImpl()
: sampling_seed_(static_cast<uint32_t>(base::RandUint64())) {
@ -146,14 +145,12 @@ diff --git a/components/variations/android/java/src/org/chromium/components/vari
diff --git a/components/variations/net/omnibox_http_headers.cc b/components/variations/net/omnibox_http_headers.cc
--- a/components/variations/net/omnibox_http_headers.cc
+++ b/components/variations/net/omnibox_http_headers.cc
@@ -21,8 +21,8 @@ const char kOmniboxOnDeviceSuggestionsHeader[] =
@@ -21,7 +21,7 @@ const char kOmniboxOnDeviceSuggestionsHeader[] =
// Whether to enable reporting the header. Included as a quick escape hatch in
// case of crashes.
BASE_FEATURE(kReportOmniboxOnDeviceSuggestionsHeader,
- "ReportOmniboxOnDeviceSuggestionsHeader",
- base::FEATURE_ENABLED_BY_DEFAULT);
+ "ReportOmniboxOnDeviceSuggestionsHeader", // disabled by default
+ base::FEATURE_DISABLED_BY_DEFAULT); // in Bromite
const base::Feature kReportOmniboxOnDeviceSuggestionsHeader{
- "ReportOmniboxOnDeviceSuggestionsHeader", base::FEATURE_ENABLED_BY_DEFAULT};
+ "ReportOmniboxOnDeviceSuggestionsHeader", base::FEATURE_DISABLED_BY_DEFAULT};
std::string GetHeaderValue() {
const std::string group =
@ -218,7 +215,7 @@ diff --git a/components/variations/service/variations_service.cc b/components/va
diff --git a/third_party/blink/renderer/core/loader/document_loader.cc b/third_party/blink/renderer/core/loader/document_loader.cc
--- a/third_party/blink/renderer/core/loader/document_loader.cc
+++ b/third_party/blink/renderer/core/loader/document_loader.cc
@@ -173,13 +173,6 @@ Vector<OriginTrialFeature> CopyInitiatorOriginTrials(
@@ -176,13 +176,6 @@ Vector<OriginTrialFeature> CopyInitiatorOriginTrials(
WebVector<int> CopyInitiatorOriginTrials(
const Vector<OriginTrialFeature>& initiator_origin_trial_features) {
WebVector<int> result;

View file

@ -10,14 +10,14 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
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
@@ -479,7 +479,7 @@ BASE_FEATURE(kGreaseUACH, "GreaseUACH", base::FEATURE_ENABLED_BY_DEFAULT);
// This is intended as a kill switch for the Idle Detection feature. To enable
@@ -444,7 +444,7 @@ const base::Feature kIdentityInCanMakePaymentEventFeature{
// this feature, the experimental web platform features flag should be set,
// or the site should obtain an Origin Trial token.
-BASE_FEATURE(kIdleDetection, "IdleDetection", base::FEATURE_ENABLED_BY_DEFAULT);
+BASE_FEATURE(kIdleDetection, "IdleDetection", base::FEATURE_DISABLED_BY_DEFAULT);
const base::Feature kIdleDetection{"IdleDetection",
- base::FEATURE_ENABLED_BY_DEFAULT};
+ base::FEATURE_DISABLED_BY_DEFAULT};
// A feature flag for the memory-backed code cache.
BASE_FEATURE(kInMemoryCodeCache,
const base::Feature kInMemoryCodeCache{"InMemoryCodeCache",
--
2.25.1

View file

@ -4,20 +4,18 @@ Subject: Disable lock icon in address bar by default
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
components/omnibox/common/omnibox_features.cc | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
components/omnibox/common/omnibox_features.cc | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/components/omnibox/common/omnibox_features.cc b/components/omnibox/common/omnibox_features.cc
--- a/components/omnibox/common/omnibox_features.cc
+++ b/components/omnibox/common/omnibox_features.cc
@@ -433,8 +433,8 @@ BASE_FEATURE(kSiteSearchStarterPack,
@@ -367,7 +367,7 @@ const base::Feature kSiteSearchStarterPack{"OmniboxSiteSearchStarterPack",
// Experiment to introduce new security indicators for HTTPS.
BASE_FEATURE(kUpdatedConnectionSecurityIndicators,
- "OmniboxUpdatedConnectionSecurityIndicators",
- base::FEATURE_DISABLED_BY_DEFAULT);
+ "OmniboxUpdatedConnectionSecurityIndicators", // enabled by default
+ base::FEATURE_ENABLED_BY_DEFAULT); // in Bromite
const base::Feature kUpdatedConnectionSecurityIndicators{
"OmniboxUpdatedConnectionSecurityIndicators",
- base::FEATURE_DISABLED_BY_DEFAULT};
+ base::FEATURE_ENABLED_BY_DEFAULT};
// Feature used to default typed navigations to use HTTPS instead of HTTP.
// This only applies to navigations that don't have a scheme such as

View file

@ -12,7 +12,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/chrome/browser/media/router/media_router_feature.cc b/chrome/browser/media/router/media_router_feature.cc
--- a/chrome/browser/media/router/media_router_feature.cc
+++ b/chrome/browser/media/router/media_router_feature.cc
@@ -59,26 +59,15 @@ BASE_FEATURE(kGlobalMediaControlsCastStartStop,
@@ -53,26 +53,15 @@ const base::Feature kGlobalMediaControlsCastStartStop{
#endif // !BUILDFLAG(IS_ANDROID)
@ -45,7 +45,7 @@ diff --git a/chrome/browser/media/router/media_router_feature.cc b/chrome/browse
#if !BUILDFLAG(IS_ANDROID)
if (!base::FeatureList::IsEnabled(kMediaRouter))
return false;
@@ -106,7 +95,7 @@ bool MediaRouterEnabled(content::BrowserContext* context) {
@@ -100,7 +89,7 @@ bool MediaRouterEnabled(content::BrowserContext* context) {
return allowed;
}
return true;
@ -54,7 +54,7 @@ diff --git a/chrome/browser/media/router/media_router_feature.cc b/chrome/browse
#if !BUILDFLAG(IS_ANDROID)
void RegisterLocalStatePrefs(PrefRegistrySimple* registry) {
@@ -119,7 +108,7 @@ void RegisterProfilePrefs(PrefRegistrySimple* registry) {
@@ -113,7 +102,7 @@ void RegisterProfilePrefs(PrefRegistrySimple* registry) {
PrefRegistry::PUBLIC);
registry->RegisterBooleanPref(
@ -66,7 +66,7 @@ diff --git a/chrome/browser/media/router/media_router_feature.cc b/chrome/browse
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
@@ -411,7 +411,7 @@ void ProfileImpl::RegisterProfilePrefs(
@@ -419,7 +419,7 @@ void ProfileImpl::RegisterProfilePrefs(
#endif
registry->RegisterBooleanPref(prefs::kForceEphemeralProfiles, false);

View file

@ -4,22 +4,20 @@ Subject: Disable offline pages in CCT
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
components/offline_pages/core/offline_page_feature.cc | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
components/offline_pages/core/offline_page_feature.cc | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/components/offline_pages/core/offline_page_feature.cc b/components/offline_pages/core/offline_page_feature.cc
--- a/components/offline_pages/core/offline_page_feature.cc
+++ b/components/offline_pages/core/offline_page_feature.cc
@@ -41,8 +41,8 @@ BASE_FEATURE(kOfflinePagesDescriptivePendingStatusFeature,
base::FEATURE_ENABLED_BY_DEFAULT);
@@ -36,7 +36,7 @@ const base::Feature kOfflinePagesDescriptivePendingStatusFeature{
"OfflinePagesDescriptivePendingStatus", base::FEATURE_ENABLED_BY_DEFAULT};
BASE_FEATURE(kOfflinePagesInDownloadHomeOpenInCctFeature,
- "OfflinePagesInDownloadHomeOpenInCct",
- base::FEATURE_ENABLED_BY_DEFAULT);
+ "OfflinePagesInDownloadHomeOpenInCct", // disabled by default
+ base::FEATURE_DISABLED_BY_DEFAULT); // in Bromite
const base::Feature kOfflinePagesInDownloadHomeOpenInCctFeature{
- "OfflinePagesInDownloadHomeOpenInCct", base::FEATURE_ENABLED_BY_DEFAULT};
+ "OfflinePagesInDownloadHomeOpenInCct", base::FEATURE_DISABLED_BY_DEFAULT};
BASE_FEATURE(kOfflineIndicatorFeature,
"OfflineIndicator",
const base::Feature kOfflineIndicatorFeature{"OfflineIndicator",
base::FEATURE_DISABLED_BY_DEFAULT};
--
2.25.1

View file

@ -10,7 +10,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
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
@@ -1920,9 +1920,7 @@ WebContentSettingsClient* LocalFrame::GetContentSettingsClient() {
@@ -1965,9 +1965,7 @@ WebContentSettingsClient* LocalFrame::GetContentSettingsClient() {
}
PluginData* LocalFrame::GetPluginData() const {

View file

@ -42,7 +42,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../extensions/api/downloads/downloads_api.cc | 41 +--------
.../extensions/api/downloads/downloads_api.h | 12 ---
.../webstore_private/webstore_private_api.cc | 18 +---
...e_file_system_access_permission_context.cc | 12 ++-
...e_file_system_access_permission_context.cc | 10 +++
...me_file_system_access_permission_context.h | 5 +-
.../lookalike_url_controller_client.cc | 4 -
.../metrics/chrome_metrics_service_client.cc | 3 -
@ -84,9 +84,9 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../permissions/permission_request_manager.cc | 5 +-
.../safe_browsing/content/browser/BUILD.gn | 1 -
.../content/common/file_type_policies.cc | 3 +-
.../safe_browsing/core/common/features.cc | 4 +-
.../safe_browsing/core/common/features.cc | 2 +-
.../content/captive_portal_blocking_page.cc | 9 +-
.../content/cert_report_helper.cc | 5 +-
.../content/cert_report_helper.cc | 2 -
.../unified_consent_service.cc | 2 +-
.../file_system_access_file_writer_impl.cc | 3 +-
.../file_system_access_file_writer_impl.h | 5 --
@ -95,7 +95,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../file_system_access_permission_context.h | 6 --
weblayer/BUILD.gn | 4 -
weblayer/test/BUILD.gn | 1 -
86 files changed, 215 insertions(+), 678 deletions(-)
86 files changed, 212 insertions(+), 674 deletions(-)
diff --git a/chrome/android/java/res/xml/google_services_preferences.xml b/chrome/android/java/res/xml/google_services_preferences.xml
--- a/chrome/android/java/res/xml/google_services_preferences.xml
@ -286,7 +286,7 @@ diff --git a/chrome/app/android/chrome_main_delegate_android.cc b/chrome/app/and
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
--- a/chrome/browser/BUILD.gn
+++ b/chrome/browser/BUILD.gn
@@ -338,8 +338,6 @@ static_library("browser") {
@@ -336,8 +336,6 @@ static_library("browser") {
"complex_tasks/task_tab_helper.h",
"component_updater/autofill_regex_remover.cc",
"component_updater/autofill_regex_remover.h",
@ -295,7 +295,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
"component_updater/chrome_component_updater_configurator.cc",
"component_updater/chrome_component_updater_configurator.h",
"component_updater/chrome_origin_trials_component_installer.cc",
@@ -352,8 +350,6 @@ static_library("browser") {
@@ -350,8 +348,6 @@ static_library("browser") {
"component_updater/component_updater_utils.h",
"component_updater/crl_set_component_installer.cc",
"component_updater/crl_set_component_installer.h",
@ -304,7 +304,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
"component_updater/first_party_sets_component_installer.cc",
"component_updater/first_party_sets_component_installer.h",
"component_updater/mei_preload_component_installer.cc",
@@ -1125,8 +1121,6 @@ static_library("browser") {
@@ -1117,8 +1113,6 @@ static_library("browser") {
"permissions/adaptive_quiet_notification_permission_ui_enabler.h",
"permissions/chrome_permissions_client.cc",
"permissions/chrome_permissions_client.h",
@ -313,7 +313,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
"permissions/crowd_deny_preload_data.cc",
"permissions/crowd_deny_preload_data.h",
"permissions/crowd_deny_safe_browsing_request.cc",
@@ -1517,15 +1511,6 @@ static_library("browser") {
@@ -1505,15 +1499,6 @@ static_library("browser") {
"renderer_host/chrome_navigation_ui_data.h",
"renderer_preferences_util.cc",
"renderer_preferences_util.h",
@ -329,7 +329,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
"resource_coordinator/resource_coordinator_parts.cc",
"resource_coordinator/resource_coordinator_parts.h",
"resource_coordinator/session_restore_policy.cc",
@@ -2262,11 +2247,8 @@ static_library("browser") {
@@ -2247,11 +2232,8 @@ static_library("browser") {
"//components/reporting/util:status_macros",
"//components/reporting/util:status_proto",
"//components/reporting/util:task_runner_context",
@ -341,7 +341,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
"//components/safe_browsing/content/browser:safe_browsing_service",
"//components/safe_browsing/content/browser/password_protection",
"//components/safe_browsing/content/browser/web_ui",
@@ -3245,12 +3227,6 @@ static_library("browser") {
@@ -3232,12 +3214,6 @@ static_library("browser") {
"profiles/profile_manager_android.cc",
"profiles/profile_manager_android.h",
"query_tiles/android/tile_provider_factory.cc",
@ -354,7 +354,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
"safe_browsing/android/password_reuse_controller_android.cc",
"safe_browsing/android/password_reuse_controller_android.h",
"safe_browsing/android/safe_browsing_referring_app_bridge_android.cc",
@@ -3733,8 +3709,6 @@ static_library("browser") {
@@ -3720,8 +3696,6 @@ static_library("browser") {
"download/download_commands.h",
"download/download_crx_util.cc",
"download/download_crx_util.h",
@ -363,7 +363,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
"download/download_dir_policy_handler.cc",
"download/download_dir_policy_handler.h",
"download/download_dir_util.cc",
@@ -8259,8 +8233,6 @@ static_library("test_support") {
@@ -8198,8 +8172,6 @@ static_library("test_support") {
"//components/reporting/util:status_macros",
"//components/reporting/util:status_proto",
"//components/reporting/util:task_runner_context",
@ -463,7 +463,7 @@ diff --git a/chrome/browser/browser_process_impl.cc b/chrome/browser/browser_pro
#include "components/sessions/core/session_id_generator.h"
#include "components/subresource_filter/content/browser/ruleset_service.h"
#include "components/translate/core/browser/translate_download_manager.h"
@@ -408,8 +406,6 @@ void BrowserProcessImpl::StartTearDown() {
@@ -406,8 +404,6 @@ void BrowserProcessImpl::StartTearDown() {
metrics_services_manager_.reset();
intranet_redirect_detector_.reset();
@ -487,7 +487,7 @@ diff --git a/chrome/browser/browser_process_impl.cc b/chrome/browser/browser_pro
subresource_filter::RulesetService*
BrowserProcessImpl::subresource_filter_ruleset_service() {
DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
@@ -1279,23 +1267,6 @@ void BrowserProcessImpl::CreateBackgroundPrintingManager() {
@@ -1275,23 +1263,6 @@ void BrowserProcessImpl::CreateBackgroundPrintingManager() {
}
void BrowserProcessImpl::CreateSafeBrowsingService() {
@ -535,7 +535,7 @@ diff --git a/chrome/browser/browser_process_impl.h b/chrome/browser/browser_proc
diff --git a/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.cc b/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.cc
--- a/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.cc
+++ b/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.cc
@@ -641,10 +641,12 @@ void ChromeBrowsingDataRemoverDelegate::RemoveEmbedderData(
@@ -638,10 +638,12 @@ void ChromeBrowsingDataRemoverDelegate::RemoveEmbedderData(
base::RecordAction(UserMetricsAction("ClearBrowsingData_Cookies"));
network::mojom::NetworkContext* safe_browsing_context = nullptr;
@ -551,7 +551,7 @@ diff --git a/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.
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
@@ -113,6 +113,7 @@
@@ -111,6 +111,7 @@
#include "chrome/browser/profiling_host/chrome_browser_main_extra_parts_profiling.h"
#include "chrome/browser/renderer_host/chrome_navigation_ui_data.h"
#include "chrome/browser/renderer_preferences_util.h"
@ -559,7 +559,7 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch
#include "chrome/browser/safe_browsing/certificate_reporting_service.h"
#include "chrome/browser/safe_browsing/certificate_reporting_service_factory.h"
#include "chrome/browser/safe_browsing/cloud_content_scanning/deep_scanning_utils.h"
@@ -120,6 +121,7 @@
@@ -118,6 +119,7 @@
#include "chrome/browser/safe_browsing/safe_browsing_service.h"
#include "chrome/browser/safe_browsing/url_checker_delegate_impl.h"
#include "chrome/browser/safe_browsing/url_lookup_service_factory.h"
@ -567,7 +567,7 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch
#include "chrome/browser/search/search.h"
#include "chrome/browser/segmentation_platform/chrome_browser_main_extra_parts_segmentation_platform.h"
#include "chrome/browser/sharing/sms/sms_remote_fetcher.h"
@@ -1025,9 +1027,7 @@ void SetApplicationLocaleOnIOThread(const std::string& locale) {
@@ -1015,9 +1017,7 @@ void SetApplicationLocaleOnIOThread(const std::string& locale) {
class CertificateReportingServiceCertReporter : public SSLCertReporter {
public:
explicit CertificateReportingServiceCertReporter(
@ -578,7 +578,7 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch
CertificateReportingServiceCertReporter(
const CertificateReportingServiceCertReporter&) = delete;
@@ -1039,11 +1039,9 @@ class CertificateReportingServiceCertReporter : public SSLCertReporter {
@@ -1029,11 +1029,9 @@ class CertificateReportingServiceCertReporter : public SSLCertReporter {
// SSLCertReporter implementation
void ReportInvalidCertificateChain(
const std::string& serialized_report) override {
@ -590,7 +590,7 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch
};
#if BUILDFLAG(ENABLE_EXTENSIONS)
@@ -1295,14 +1293,6 @@ void MaybeAddThrottle(
@@ -1285,14 +1283,6 @@ void MaybeAddThrottle(
throttles->push_back(std::move(maybe_throttle));
}
@ -605,16 +605,16 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch
void MaybeAddThrottles(
std::vector<std::unique_ptr<content::NavigationThrottle>> additional,
std::vector<std::unique_ptr<content::NavigationThrottle>>* combined) {
@@ -2394,7 +2384,7 @@ void ChromeContentBrowserClient::AppendExtraCommandLineSwitches(
@@ -2376,7 +2366,7 @@ void ChromeContentBrowserClient::AppendExtraCommandLineSwitches(
}
#elif BUILDFLAG(IS_POSIX)
#if BUILDFLAG(IS_ANDROID)
- bool enable_crash_reporter = true;
+ bool enable_crash_reporter = false;
#elif BUILDFLAG(IS_CHROMEOS)
#else
bool enable_crash_reporter = false;
if (crash_reporter::IsCrashpadEnabled()) {
@@ -4681,6 +4671,7 @@ ChromeContentBrowserClient::CreateThrottlesForNavigation(
@@ -4651,6 +4641,7 @@ ChromeContentBrowserClient::CreateThrottlesForNavigation(
&throttles);
#endif
@ -622,15 +622,15 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch
// g_browser_process->safe_browsing_service() may be null in unittests.
safe_browsing::SafeBrowsingUIManager* ui_manager =
g_browser_process->safe_browsing_service()
@@ -4696,6 +4687,7 @@ ChromeContentBrowserClient::CreateThrottlesForNavigation(
@@ -4666,6 +4657,7 @@ ChromeContentBrowserClient::CreateThrottlesForNavigation(
std::make_unique<safe_browsing::DelayedWarningNavigationThrottle>(
handle));
}
+#endif
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
MaybeAddThrottle(browser_switcher::BrowserSwitcherNavigationThrottle::
@@ -4936,7 +4928,9 @@ void ChromeContentBrowserClient::OverridePageVisibilityState(
// TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
// of lacros-chrome is complete.
@@ -4900,7 +4892,9 @@ void ChromeContentBrowserClient::OverridePageVisibilityState(
void ChromeContentBrowserClient::InitOnUIThread() {
DCHECK_CURRENTLY_ON(BrowserThread::UI);
@ -640,7 +640,7 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch
// Initialize `network_contexts_parent_directory_`.
base::FilePath user_data_dir;
@@ -6132,6 +6126,7 @@ ChromeContentBrowserClient::GetSafeBrowsingUrlCheckerDelegate(
@@ -6099,6 +6093,7 @@ ChromeContentBrowserClient::GetSafeBrowsingUrlCheckerDelegate(
const std::vector<std::string>& allowlist_domains) {
DCHECK_CURRENTLY_ON(BrowserThread::IO);
@ -648,7 +648,7 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch
// Should not bypass safe browsing check if the check is for enterprise
// lookup.
if (!safe_browsing_enabled_for_profile && !should_check_on_sb_disabled)
@@ -6152,6 +6147,9 @@ ChromeContentBrowserClient::GetSafeBrowsingUrlCheckerDelegate(
@@ -6119,6 +6114,9 @@ ChromeContentBrowserClient::GetSafeBrowsingUrlCheckerDelegate(
}
return safe_browsing_url_checker_delegate_;
@ -658,7 +658,7 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch
}
safe_browsing::RealTimeUrlLookupServiceBase*
@@ -6159,24 +6157,28 @@ ChromeContentBrowserClient::GetUrlLookupService(
@@ -6126,24 +6124,28 @@ ChromeContentBrowserClient::GetUrlLookupService(
content::BrowserContext* browser_context,
bool is_enterprise_lookup_enabled,
bool is_consumer_lookup_enabled) {
@ -691,7 +691,7 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch
diff --git a/chrome/browser/chrome_content_browser_client.h b/chrome/browser/chrome_content_browser_client.h
--- a/chrome/browser/chrome_content_browser_client.h
+++ b/chrome/browser/chrome_content_browser_client.h
@@ -922,9 +922,11 @@ class ChromeContentBrowserClient : public content::ContentBrowserClient {
@@ -918,9 +918,11 @@ class ChromeContentBrowserClient : public content::ContentBrowserClient {
// Parts are deleted in the reverse order they are added.
std::vector<ChromeContentBrowserClientParts*> extra_parts_;
@ -706,7 +706,7 @@ diff --git a/chrome/browser/chrome_content_browser_client.h b/chrome/browser/chr
diff --git a/chrome/browser/chrome_content_browser_client_receiver_bindings.cc b/chrome/browser/chrome_content_browser_client_receiver_bindings.cc
--- a/chrome/browser/chrome_content_browser_client_receiver_bindings.cc
+++ b/chrome/browser/chrome_content_browser_client_receiver_bindings.cc
@@ -131,6 +131,7 @@
@@ -133,6 +133,7 @@
namespace {
@ -714,7 +714,7 @@ diff --git a/chrome/browser/chrome_content_browser_client_receiver_bindings.cc b
// Helper method for ExposeInterfacesToRenderer() that checks the latest
// SafeBrowsing pref value on the UI thread before hopping over to the IO
// thread.
@@ -172,6 +173,7 @@ void MaybeCreateSafeBrowsingForRenderer(
@@ -174,6 +175,7 @@ void MaybeCreateSafeBrowsingForRenderer(
allowlist_domains),
std::move(receiver)));
}
@ -1033,7 +1033,7 @@ diff --git a/chrome/browser/download/chrome_download_manager_delegate.h b/chrome
diff --git a/chrome/browser/download/download_item_model.cc b/chrome/browser/download/download_item_model.cc
--- a/chrome/browser/download/download_item_model.cc
+++ b/chrome/browser/download/download_item_model.cc
@@ -35,7 +35,9 @@
@@ -34,7 +34,9 @@
#include "chrome/browser/enterprise/connectors/connectors_manager.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/browser/safe_browsing/download_protection/deep_scanning_request.h"
@ -1042,8 +1042,8 @@ diff --git a/chrome/browser/download/download_item_model.cc b/chrome/browser/dow
+#endif
#include "chrome/browser/safe_browsing/download_protection/download_protection_util.h"
#include "chrome/browser/safe_browsing/safe_browsing_service.h"
#include "chrome/browser/signin/identity_manager_factory.h"
@@ -46,8 +48,10 @@
#include "chrome/grit/chromium_strings.h"
@@ -44,8 +46,10 @@
#include "components/download/public/common/download_item.h"
#include "components/safe_browsing/buildflags.h"
#include "components/safe_browsing/content/browser/web_ui/safe_browsing_ui.h"
@ -1052,9 +1052,9 @@ diff --git a/chrome/browser/download/download_item_model.cc b/chrome/browser/dow
#include "components/safe_browsing/content/common/proto/download_file_types.pb.h"
+#endif
#include "components/safe_browsing/core/common/features.h"
#include "components/signin/public/base/consent_level.h"
#include "components/signin/public/identity_manager/account_info.h"
@@ -67,7 +71,9 @@
#include "components/vector_icons/vector_icons.h"
#include "content/public/browser/browser_task_traits.h"
@@ -62,7 +66,9 @@
using download::DownloadItem;
using MixedContentStatus = download::DownloadItem::MixedContentStatus;
@ -1064,7 +1064,7 @@ diff --git a/chrome/browser/download/download_item_model.cc b/chrome/browser/dow
using ReportThreatDetailsResult =
safe_browsing::PingManager::ReportThreatDetailsResult;
using TailoredVerdict = safe_browsing::ClientDownloadResponse::TailoredVerdict;
@@ -105,9 +111,11 @@ class DownloadItemModelData : public base::SupportsUserData::Data {
@@ -100,9 +106,11 @@ class DownloadItemModelData : public base::SupportsUserData::Data {
// for the file type.
absl::optional<bool> should_prefer_opening_in_browser_;
@ -1076,7 +1076,7 @@ diff --git a/chrome/browser/download/download_item_model.cc b/chrome/browser/dow
// Whether the download is currently being revived.
bool is_being_revived_;
@@ -155,7 +163,9 @@ DownloadItemModelData* DownloadItemModelData::GetOrCreate(
@@ -150,7 +158,9 @@ DownloadItemModelData* DownloadItemModelData::GetOrCreate(
DownloadItemModelData::DownloadItemModelData()
: should_show_in_shelf_(true),
was_ui_notified_(false),
@ -1086,7 +1086,7 @@ diff --git a/chrome/browser/download/download_item_model.cc b/chrome/browser/dow
is_being_revived_(false) {}
#if BUILDFLAG(FULL_SAFE_BROWSING)
@@ -490,6 +500,7 @@ void DownloadItemModel::SetShouldPreferOpeningInBrowser(bool preference) {
@@ -472,6 +482,7 @@ void DownloadItemModel::SetShouldPreferOpeningInBrowser(bool preference) {
data->should_prefer_opening_in_browser_ = preference;
}
@ -1094,7 +1094,7 @@ diff --git a/chrome/browser/download/download_item_model.cc b/chrome/browser/dow
DownloadFileType::DangerLevel DownloadItemModel::GetDangerLevel() const {
const DownloadItemModelData* data = DownloadItemModelData::Get(download_);
return data ? data->danger_level_ : DownloadFileType::NOT_DANGEROUS;
@@ -500,6 +511,7 @@ void DownloadItemModel::SetDangerLevel(
@@ -482,6 +493,7 @@ void DownloadItemModel::SetDangerLevel(
DownloadItemModelData* data = DownloadItemModelData::GetOrCreate(download_);
data->danger_level_ = danger_level;
}
@ -1102,7 +1102,7 @@ diff --git a/chrome/browser/download/download_item_model.cc b/chrome/browser/dow
download::DownloadItem::MixedContentStatus
DownloadItemModel::GetMixedContentStatus() const {
@@ -719,9 +731,6 @@ bool DownloadItemModel::IsCommandEnabled(
@@ -701,9 +713,6 @@ bool DownloadItemModel::IsCommandEnabled(
// filename. Don't base an "Always open" decision based on it. Also
// exclude extensions.
return download_->CanOpenDownload() &&
@ -1176,7 +1176,7 @@ diff --git a/chrome/browser/download/download_prefs.cc b/chrome/browser/download
}
}
@@ -450,10 +447,6 @@ bool DownloadPrefs::IsAutoOpenByPolicy(const GURL& url,
@@ -458,10 +455,6 @@ bool DownloadPrefs::IsAutoOpenByPolicy(const GURL& url,
bool DownloadPrefs::EnableAutoOpenByUserBasedOnExtension(
const base::FilePath& file_name) {
base::FilePath::StringType extension = file_name.Extension();
@ -1190,9 +1190,9 @@ diff --git a/chrome/browser/download/download_prefs.cc b/chrome/browser/download
diff --git a/chrome/browser/download/download_stats.cc b/chrome/browser/download/download_stats.cc
--- a/chrome/browser/download/download_stats.cc
+++ b/chrome/browser/download/download_stats.cc
@@ -10,7 +10,9 @@
@@ -9,7 +9,9 @@
#include "base/notreached.h"
#include "build/build_config.h"
#include "components/download/public/common/download_content.h"
#include "components/profile_metrics/browser_profile_type.h"
+#if defined(FULL_SAFE_BROWSING)
#include "components/safe_browsing/content/browser/download/download_stats.h"
@ -1200,7 +1200,7 @@ diff --git a/chrome/browser/download/download_stats.cc b/chrome/browser/download
void RecordDownloadCount(ChromeDownloadCountTypes type) {
base::UmaHistogramEnumeration("Download.CountsChrome", type,
@@ -29,8 +31,10 @@ void RecordDangerousDownloadWarningShown(
@@ -28,8 +30,10 @@ void RecordDangerousDownloadWarningShown(
bool has_user_gesture) {
base::UmaHistogramEnumeration("Download.ShowedDownloadWarning", danger_type,
download::DOWNLOAD_DANGER_TYPE_MAX);
@ -1211,7 +1211,7 @@ diff --git a/chrome/browser/download/download_stats.cc b/chrome/browser/download
}
void RecordOpenedDangerousConfirmDialog(
@@ -45,6 +49,7 @@ void RecordDownloadOpen(ChromeDownloadOpenMethod open_method,
@@ -44,11 +48,13 @@ void RecordDownloadOpen(ChromeDownloadOpenMethod open_method,
base::RecordAction(base::UserMetricsAction("Download.Open"));
base::UmaHistogramEnumeration("Download.OpenMethod", open_method,
DOWNLOAD_OPEN_METHOD_LAST_ENTRY);
@ -1219,14 +1219,12 @@ diff --git a/chrome/browser/download/download_stats.cc b/chrome/browser/download
download::DownloadContent download_content =
download::DownloadContentFromMimeType(
mime_type_string, /*record_content_subcategory=*/false);
@@ -61,6 +66,7 @@ void RecordDownloadOpen(ChromeDownloadOpenMethod open_method,
}
base::UmaHistogramEnumeration("Download.Open.ContentType", download_content,
download::DownloadContent::MAX);
+#endif
}
void RecordDownloadOpenButtonPressed(bool is_download_completed) {
void RecordDatabaseAvailability(bool is_available) {
diff --git a/chrome/browser/download/download_target_determiner.cc b/chrome/browser/download/download_target_determiner.cc
--- a/chrome/browser/download/download_target_determiner.cc
+++ b/chrome/browser/download/download_target_determiner.cc
@ -1293,7 +1291,7 @@ diff --git a/chrome/browser/download/download_target_determiner.cc b/chrome/brow
// If no mime type or explicitly specified a name, don't replace file
// extension.
@@ -920,6 +930,7 @@ DownloadTargetDeterminer::Result
@@ -917,6 +927,7 @@ DownloadTargetDeterminer::Result
return CONTINUE;
}
@ -1301,7 +1299,7 @@ diff --git a/chrome/browser/download/download_target_determiner.cc b/chrome/brow
// First determine the danger level assuming that the user doesn't have any
// prior visits to the referrer recoreded in history. The resulting danger
// level would be ALLOW_ON_USER_GESTURE if the level depends on the visit
@@ -956,6 +967,7 @@ DownloadTargetDeterminer::Result
@@ -953,6 +964,7 @@ DownloadTargetDeterminer::Result
// invalid, then assume the referrer has not been visited before.
if (danger_type_ == download::DOWNLOAD_DANGER_TYPE_NOT_DANGEROUS)
danger_type_ = download::DOWNLOAD_DANGER_TYPE_DANGEROUS_FILE;
@ -1309,7 +1307,7 @@ diff --git a/chrome/browser/download/download_target_determiner.cc b/chrome/brow
return CONTINUE;
}
@@ -963,6 +975,7 @@ void DownloadTargetDeterminer::CheckVisitedReferrerBeforeDone(
@@ -960,6 +972,7 @@ void DownloadTargetDeterminer::CheckVisitedReferrerBeforeDone(
bool visited_referrer_before) {
DCHECK_CURRENTLY_ON(BrowserThread::UI);
DCHECK_EQ(STATE_DETERMINE_INTERMEDIATE_PATH, next_state_);
@ -1317,7 +1315,7 @@ diff --git a/chrome/browser/download/download_target_determiner.cc b/chrome/brow
safe_browsing::RecordDownloadFileTypeAttributes(
safe_browsing::FileTypePolicies::GetInstance()->GetFileDangerLevel(
virtual_path_.BaseName(), download_->GetURL(),
@@ -974,6 +987,7 @@ void DownloadTargetDeterminer::CheckVisitedReferrerBeforeDone(
@@ -971,6 +984,7 @@ void DownloadTargetDeterminer::CheckVisitedReferrerBeforeDone(
if (danger_level_ != DownloadFileType::NOT_DANGEROUS &&
danger_type_ == download::DOWNLOAD_DANGER_TYPE_NOT_DANGEROUS)
danger_type_ = download::DOWNLOAD_DANGER_TYPE_DANGEROUS_FILE;
@ -1325,7 +1323,7 @@ diff --git a/chrome/browser/download/download_target_determiner.cc b/chrome/brow
DoLoop();
}
@@ -1072,7 +1086,9 @@ void DownloadTargetDeterminer::ScheduleCallbackAndDeleteSelf(
@@ -1069,7 +1083,9 @@ void DownloadTargetDeterminer::ScheduleCallbackAndDeleteSelf(
<< " Intermediate:" << intermediate_path_.AsUTF8Unsafe()
<< " Confirmation reason:" << static_cast<int>(confirmation_reason_)
<< " Danger type:" << danger_type_
@ -1335,7 +1333,7 @@ diff --git a/chrome/browser/download/download_target_determiner.cc b/chrome/brow
<< " Result:" << static_cast<int>(result);
std::unique_ptr<DownloadTargetInfo> target_info(new DownloadTargetInfo);
@@ -1084,7 +1100,9 @@ void DownloadTargetDeterminer::ScheduleCallbackAndDeleteSelf(
@@ -1081,7 +1097,9 @@ void DownloadTargetDeterminer::ScheduleCallbackAndDeleteSelf(
? DownloadItem::TARGET_DISPOSITION_PROMPT
: DownloadItem::TARGET_DISPOSITION_OVERWRITE);
target_info->danger_type = danger_type_;
@ -1345,7 +1343,7 @@ diff --git a/chrome/browser/download/download_target_determiner.cc b/chrome/brow
target_info->intermediate_path = intermediate_path_;
target_info->mime_type = mime_type_;
target_info->is_filetype_handled_safely = is_filetype_handled_safely_;
@@ -1177,54 +1195,11 @@ bool DownloadTargetDeterminer::HasPromptedForPath() const {
@@ -1175,54 +1193,11 @@ bool DownloadTargetDeterminer::HasPromptedForPath() const {
DownloadItem::TARGET_DISPOSITION_PROMPT);
}
@ -1401,7 +1399,7 @@ diff --git a/chrome/browser/download/download_target_determiner.cc b/chrome/brow
}
absl::optional<base::Time>
@@ -1238,6 +1213,7 @@ DownloadTargetDeterminer::GetLastDownloadBypassTimestamp() const {
@@ -1236,6 +1211,7 @@ DownloadTargetDeterminer::GetLastDownloadBypassTimestamp() const {
EventType::DANGEROUS_DOWNLOAD_BYPASS)
: absl::nullopt;
}
@ -1500,7 +1498,7 @@ diff --git a/chrome/browser/download/download_target_info.h b/chrome/browser/dow
diff --git a/chrome/browser/download/download_ui_model.cc b/chrome/browser/download/download_ui_model.cc
--- a/chrome/browser/download/download_ui_model.cc
+++ b/chrome/browser/download/download_ui_model.cc
@@ -39,7 +39,9 @@
@@ -37,7 +37,9 @@
using download::DownloadItem;
using offline_items_collection::FailState;
@ -1510,7 +1508,7 @@ diff --git a/chrome/browser/download/download_ui_model.cc b/chrome/browser/downl
namespace {
@@ -465,12 +467,14 @@ bool DownloadUIModel::ShouldPreferOpeningInBrowser() {
@@ -463,12 +465,14 @@ bool DownloadUIModel::ShouldPreferOpeningInBrowser() {
void DownloadUIModel::SetShouldPreferOpeningInBrowser(bool preference) {}
@ -1661,7 +1659,7 @@ diff --git a/chrome/browser/extensions/api/downloads/downloads_api.h b/chrome/br
diff --git a/chrome/browser/extensions/api/webstore_private/webstore_private_api.cc b/chrome/browser/extensions/api/webstore_private/webstore_private_api.cc
--- a/chrome/browser/extensions/api/webstore_private/webstore_private_api.cc
+++ b/chrome/browser/extensions/api/webstore_private/webstore_private_api.cc
@@ -1277,21 +1277,9 @@ WebstorePrivateGetExtensionStatusFunction::Run() {
@@ -1263,21 +1263,9 @@ WebstorePrivateGetExtensionStatusFunction::Run() {
GetExtensionStatus::Params::Create(args()));
EXTENSION_FUNCTION_VALIDATE(params);
@ -1689,26 +1687,17 @@ diff --git a/chrome/browser/extensions/api/webstore_private/webstore_private_api
diff --git a/chrome/browser/file_system_access/chrome_file_system_access_permission_context.cc b/chrome/browser/file_system_access/chrome_file_system_access_permission_context.cc
--- a/chrome/browser/file_system_access/chrome_file_system_access_permission_context.cc
+++ b/chrome/browser/file_system_access/chrome_file_system_access_permission_context.cc
@@ -37,8 +37,11 @@
@@ -37,8 +37,10 @@
#include "chrome/browser/file_system_access/file_system_access_permission_request_manager.h"
#include "chrome/browser/installable/installable_utils.h"
#include "chrome/browser/profiles/profile.h"
+#if defined(FULL_SAFE_BROWSING)
#include "chrome/browser/safe_browsing/download_protection/download_protection_service.h"
#include "chrome/browser/safe_browsing/safe_browsing_service.h"
+#include "components/safe_browsing/content/common/file_type_policies.h"
+#endif
#include "chrome/browser/ui/file_system_access_dialogs.h"
#include "chrome/common/chrome_paths.h"
#include "chrome/common/pdf_util.h"
@@ -48,7 +51,6 @@
#include "components/content_settings/core/common/content_settings_utils.h"
#include "components/permissions/permission_util.h"
#include "components/safe_browsing/buildflags.h"
-#include "components/safe_browsing/content/common/file_type_policies.h"
#include "content/public/browser/browser_task_traits.h"
#include "content/public/browser/browser_thread.h"
#include "content/public/browser/disallow_activation_reason.h"
@@ -146,6 +148,7 @@ void ShowFileSystemAccessRestrictedDirectoryDialogOnUIThread(
origin, path, handle_type, std::move(callback), web_contents);
}
@ -1733,7 +1722,7 @@ diff --git a/chrome/browser/file_system_access/chrome_file_system_access_permiss
void DoSafeBrowsingCheckOnUIThread(
content::GlobalRenderFrameHostId frame_id,
std::unique_ptr<content::FileSystemAccessWriteItem> item,
@@ -422,6 +427,7 @@ InterpretSafeBrowsingResult(safe_browsing::DownloadCheckResult result) {
@@ -420,6 +425,7 @@ InterpretSafeBrowsingResult(safe_browsing::DownloadCheckResult result) {
NOTREACHED();
return ChromeFileSystemAccessPermissionContext::AfterWriteCheckResult::kBlock;
}
@ -1741,7 +1730,7 @@ diff --git a/chrome/browser/file_system_access/chrome_file_system_access_permiss
std::string GenerateLastPickedDirectoryKey(const std::string& id) {
return id.empty() ? kDefaultLastPickedDirectoryKey
@@ -1204,6 +1210,7 @@ void ChromeFileSystemAccessPermissionContext::ConfirmSensitiveEntryAccess(
@@ -1202,6 +1208,7 @@ void ChromeFileSystemAccessPermissionContext::ConfirmSensitiveEntryAccess(
frame_id, std::move(callback)));
}
@ -1749,7 +1738,7 @@ diff --git a/chrome/browser/file_system_access/chrome_file_system_access_permiss
void ChromeFileSystemAccessPermissionContext::PerformAfterWriteChecks(
std::unique_ptr<content::FileSystemAccessWriteItem> item,
content::GlobalRenderFrameHostId frame_id,
@@ -1225,6 +1232,7 @@ void ChromeFileSystemAccessPermissionContext::PerformAfterWriteChecks(
@@ -1223,6 +1230,7 @@ void ChromeFileSystemAccessPermissionContext::PerformAfterWriteChecks(
},
base::SequencedTaskRunnerHandle::Get(), std::move(callback))));
}
@ -1757,7 +1746,7 @@ diff --git a/chrome/browser/file_system_access/chrome_file_system_access_permiss
void ChromeFileSystemAccessPermissionContext::
DidConfirmSensitiveDirectoryAccess(
@@ -1236,6 +1244,7 @@ void ChromeFileSystemAccessPermissionContext::
@@ -1234,6 +1242,7 @@ void ChromeFileSystemAccessPermissionContext::
base::OnceCallback<void(SensitiveEntryResult)> callback,
bool should_block) {
DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
@ -1765,7 +1754,7 @@ diff --git a/chrome/browser/file_system_access/chrome_file_system_access_permiss
if (!should_block) {
// If attempting to save a file with a dangerous extension, prompt the user
// to make them confirm they actually want to save the file.
@@ -1261,6 +1270,7 @@ void ChromeFileSystemAccessPermissionContext::
@@ -1259,6 +1268,7 @@ void ChromeFileSystemAccessPermissionContext::
std::move(callback).Run(SensitiveEntryResult::kAllowed);
return;
}
@ -1785,7 +1774,7 @@ diff --git a/chrome/browser/file_system_access/chrome_file_system_access_permiss
#include "third_party/blink/public/mojom/file_system_access/file_system_access_manager.mojom-forward.h"
#include "third_party/blink/public/mojom/permissions/permission_status.mojom.h"
@@ -88,10 +89,6 @@ class ChromeFileSystemAccessPermissionContext
UserAction user_action,
ui::SelectFileDialog::Type dialog_type,
content::GlobalRenderFrameHostId frame_id,
base::OnceCallback<void(SensitiveEntryResult)> callback) override;
- void PerformAfterWriteChecks(
@ -1818,7 +1807,7 @@ diff --git a/chrome/browser/lookalikes/lookalike_url_controller_client.cc b/chro
diff --git a/chrome/browser/metrics/chrome_metrics_service_client.cc b/chrome/browser/metrics/chrome_metrics_service_client.cc
--- a/chrome/browser/metrics/chrome_metrics_service_client.cc
+++ b/chrome/browser/metrics/chrome_metrics_service_client.cc
@@ -895,9 +895,6 @@ void ChromeMetricsServiceClient::RegisterMetricsServiceProviders() {
@@ -881,9 +881,6 @@ void ChromeMetricsServiceClient::RegisterMetricsServiceProviders() {
metrics_service_->RegisterMetricsProvider(
std::make_unique<HttpsEngagementMetricsProvider>());
@ -1831,7 +1820,7 @@ diff --git a/chrome/browser/metrics/chrome_metrics_service_client.cc b/chrome/br
diff --git a/chrome/browser/net/trial_comparison_cert_verifier_controller.cc b/chrome/browser/net/trial_comparison_cert_verifier_controller.cc
--- a/chrome/browser/net/trial_comparison_cert_verifier_controller.cc
+++ b/chrome/browser/net/trial_comparison_cert_verifier_controller.cc
@@ -130,9 +130,6 @@ void TrialComparisonCertVerifierController::SendTrialReport(
@@ -137,9 +137,6 @@ void TrialComparisonCertVerifierController::SendTrialReport(
std::string serialized_report;
if (!report.Serialize(&serialized_report))
return;
@ -1844,7 +1833,7 @@ diff --git a/chrome/browser/net/trial_comparison_cert_verifier_controller.cc b/c
diff --git a/chrome/browser/password_manager/chrome_password_manager_client.cc b/chrome/browser/password_manager/chrome_password_manager_client.cc
--- a/chrome/browser/password_manager/chrome_password_manager_client.cc
+++ b/chrome/browser/password_manager/chrome_password_manager_client.cc
@@ -127,10 +127,10 @@
@@ -121,10 +121,10 @@
#include "ui/base/data_transfer_policy/data_transfer_endpoint.h"
#include "url/url_constants.h"
@ -1856,7 +1845,7 @@ diff --git a/chrome/browser/password_manager/chrome_password_manager_client.cc b
#endif
#if BUILDFLAG(IS_ANDROID)
@@ -963,21 +963,13 @@ autofill::LanguageCode ChromePasswordManagerClient::GetPageLanguage() const {
@@ -922,21 +922,13 @@ autofill::LanguageCode ChromePasswordManagerClient::GetPageLanguage() const {
safe_browsing::PasswordProtectionService*
ChromePasswordManagerClient::GetPasswordProtectionService() const {
@ -1879,7 +1868,7 @@ diff --git a/chrome/browser/password_manager/chrome_password_manager_client.cc b
}
#endif // defined(ON_FOCUS_PING_ENABLED)
@@ -989,15 +981,6 @@ void ChromePasswordManagerClient::CheckProtectedPasswordEntry(
@@ -948,26 +940,12 @@ void ChromePasswordManagerClient::CheckProtectedPasswordEntry(
bool password_field_exists,
uint64_t reused_password_hash,
const std::string& domain) {
@ -1893,9 +1882,8 @@ diff --git a/chrome/browser/password_manager/chrome_password_manager_client.cc b
- password_type, matching_reused_credentials, password_field_exists);
-
#if !BUILDFLAG(IS_ANDROID)
// If the webpage is not an extension page, do nothing.
if (!GURL(domain).SchemeIs(kExtensionScheme)) {
@@ -1036,11 +1019,6 @@ void ChromePasswordManagerClient::CheckProtectedPasswordEntry(
// TODO(crbug.com/1351484): Hook this to the extension service in the next CL.
#endif // !BUILDFLAG(IS_ANDROID)
}
void ChromePasswordManagerClient::LogPasswordReuseDetectedEvent() {
@ -1907,7 +1895,7 @@ diff --git a/chrome/browser/password_manager/chrome_password_manager_client.cc b
}
#if !BUILDFLAG(IS_ANDROID)
@@ -1671,6 +1649,7 @@ bool ChromePasswordManagerClient::IsPasswordManagementEnabledForCurrentPage(
@@ -1592,6 +1570,7 @@ bool ChromePasswordManagerClient::IsPasswordManagementEnabledForCurrentPage(
is_enabled = false;
}
@ -1915,7 +1903,7 @@ diff --git a/chrome/browser/password_manager/chrome_password_manager_client.cc b
// SafeBrowsing Delayed Warnings experiment can delay some SafeBrowsing
// warnings until user interaction. If the current page has a delayed warning,
// it'll have a user interaction observer attached. Disable password
@@ -1681,6 +1660,7 @@ bool ChromePasswordManagerClient::IsPasswordManagementEnabledForCurrentPage(
@@ -1602,6 +1581,7 @@ bool ChromePasswordManagerClient::IsPasswordManagementEnabledForCurrentPage(
observer->OnPasswordSaveOrAutofillDenied();
is_enabled = false;
}
@ -1926,15 +1914,15 @@ diff --git a/chrome/browser/password_manager/chrome_password_manager_client.cc b
diff --git a/chrome/browser/permissions/chrome_permissions_client.cc b/chrome/browser/permissions/chrome_permissions_client.cc
--- a/chrome/browser/permissions/chrome_permissions_client.cc
+++ b/chrome/browser/permissions/chrome_permissions_client.cc
@@ -19,7 +19,6 @@
@@ -18,7 +18,6 @@
#include "chrome/browser/engagement/important_sites_util.h"
#include "chrome/browser/metrics/ukm_background_recorder_service.h"
#include "chrome/browser/permissions/adaptive_quiet_notification_permission_ui_enabler.h"
-#include "chrome/browser/permissions/contextual_notification_permission_ui_selector.h"
#include "chrome/browser/permissions/origin_keyed_permission_action_service_factory.h"
#include "chrome/browser/permissions/permission_actions_history_factory.h"
#include "chrome/browser/permissions/permission_decision_auto_blocker_factory.h"
@@ -295,19 +294,6 @@ permissions::IconId ChromePermissionsClient::GetOverrideIconId(
#include "chrome/browser/permissions/permission_revocation_request.h"
@@ -292,19 +291,6 @@ permissions::IconId ChromePermissionsClient::GetOverrideIconId(
return PermissionsClient::GetOverrideIconId(request_type);
}
@ -1957,7 +1945,7 @@ diff --git a/chrome/browser/permissions/chrome_permissions_client.cc b/chrome/br
diff --git a/chrome/browser/permissions/chrome_permissions_client.h b/chrome/browser/permissions/chrome_permissions_client.h
--- a/chrome/browser/permissions/chrome_permissions_client.h
+++ b/chrome/browser/permissions/chrome_permissions_client.h
@@ -51,9 +51,6 @@ class ChromePermissionsClient : public permissions::PermissionsClient {
@@ -48,9 +48,6 @@ class ChromePermissionsClient : public permissions::PermissionsClient {
GetUkmSourceIdCallback callback) override;
permissions::IconId GetOverrideIconId(
permissions::RequestType request_type) override;
@ -1978,7 +1966,7 @@ diff --git a/chrome/browser/permissions/permission_revocation_request.cc b/chrom
CrowdDenyPreloadData* crowd_deny = CrowdDenyPreloadData::GetInstance();
permissions::PermissionUmaUtil::RecordCrowdDenyVersionAtAbuseCheckTime(
crowd_deny->version_on_disk());
@@ -156,10 +157,14 @@ void PermissionRevocationRequest::CheckAndRevokeIfBlocklisted() {
@@ -156,6 +157,9 @@ void PermissionRevocationRequest::CheckAndRevokeIfBlocklisted() {
url::Origin::Create(origin_),
base::BindOnce(&PermissionRevocationRequest::OnSiteReputationReady,
weak_factory_.GetWeakPtr()));
@ -1988,23 +1976,26 @@ diff --git a/chrome/browser/permissions/permission_revocation_request.cc b/chrom
}
void PermissionRevocationRequest::OnSiteReputationReady(
const CrowdDenyPreloadData::SiteReputation* site_reputation) {
@@ -172,6 +176,7 @@ void PermissionRevocationRequest::OnSiteReputationReady(
CrowdDenyPreloadData::SiteReputation::ABUSIVE_CONTENT ||
site_reputation->notification_ux_quality() ==
CrowdDenyPreloadData::SiteReputation::DISRUPTIVE_BEHAVIOR)) {
+#if BUILDFLAG(FULL_SAFE_BROWSING)
if (crowd_deny_request_start_time_.has_value()) {
crowd_deny_request_duration_ =
base::TimeTicks::Now() - crowd_deny_request_start_time_.value();
@@ -192,6 +197,7 @@ void PermissionRevocationRequest::OnSiteReputationReady(
DCHECK(g_browser_process->safe_browsing_service());
if (g_browser_process->safe_browsing_service()) {
@@ -183,6 +188,7 @@ void PermissionRevocationRequest::OnSiteReputationReady(
weak_factory_.GetWeakPtr(), site_reputation));
return;
}
}
+#endif
}
NotifyCallback(Outcome::PERMISSION_NOT_REVOKED);
}
diff --git a/chrome/browser/permissions/quiet_notification_permission_ui_config.cc b/chrome/browser/permissions/quiet_notification_permission_ui_config.cc
--- a/chrome/browser/permissions/quiet_notification_permission_ui_config.cc
+++ b/chrome/browser/permissions/quiet_notification_permission_ui_config.cc
@@ -89,8 +89,8 @@ bool QuietNotificationPermissionUiConfig::IsCrowdDenyTriggeringEnabled() {
@@ -99,8 +99,8 @@ bool QuietNotificationPermissionUiConfig::IsCrowdDenyTriggeringEnabled() {
return false;
return base::GetFieldTrialParamByFeatureAsBool(
@ -2026,7 +2017,7 @@ diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browse
#include "build/chromecast_buildflags.h"
#include "build/chromeos_buildflags.h"
#include "chrome/browser/about_flags.h"
@@ -1294,7 +1295,9 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry,
@@ -1321,7 +1322,9 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry,
PushMessagingAppIdentifier::RegisterProfilePrefs(registry);
QuietNotificationPermissionUiState::RegisterProfilePrefs(registry);
RegisterBrowserUserPrefs(registry);
@ -2095,7 +2086,7 @@ diff --git a/chrome/browser/privacy_guide/android/java/src/org/chromium/chrome/b
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
@@ -82,7 +82,6 @@
@@ -81,7 +81,6 @@
#include "chrome/browser/privacy_sandbox/privacy_sandbox_settings_factory.h"
#include "chrome/browser/profiles/renderer_updater_factory.h"
#include "chrome/browser/reduce_accept_language/reduce_accept_language_factory.h"
@ -2103,7 +2094,7 @@ diff --git a/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc
#include "chrome/browser/safe_browsing/tailored_security/tailored_security_service_factory.h"
#include "chrome/browser/search_engines/template_url_fetcher_factory.h"
#include "chrome/browser/search_engines/template_url_service_factory.h"
@@ -358,7 +357,6 @@ void ChromeBrowserMainExtraPartsProfiles::
@@ -357,7 +356,6 @@ void ChromeBrowserMainExtraPartsProfiles::
CertDbInitializerFactory::GetInstance();
#endif
#if BUILDFLAG(SAFE_BROWSING_AVAILABLE)
@ -2111,7 +2102,7 @@ diff --git a/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc
#endif
#if !BUILDFLAG(IS_ANDROID)
ChromeBrowsingDataLifetimeManagerFactory::GetInstance();
@@ -589,7 +587,9 @@ void ChromeBrowserMainExtraPartsProfiles::
@@ -587,7 +585,9 @@ void ChromeBrowserMainExtraPartsProfiles::
}
#endif
TabRestoreServiceFactory::GetInstance();
@ -2124,7 +2115,7 @@ diff --git a/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc
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
@@ -92,7 +92,6 @@
@@ -91,7 +91,6 @@
#include "chrome/browser/push_messaging/push_messaging_service_factory.h"
#include "chrome/browser/push_messaging/push_messaging_service_impl.h"
#include "chrome/browser/reduce_accept_language/reduce_accept_language_factory.h"
@ -2132,7 +2123,7 @@ diff --git a/chrome/browser/profiles/profile_impl.cc b/chrome/browser/profiles/p
#include "chrome/browser/sessions/exit_type_service.h"
#include "chrome/browser/sharing/sharing_service_factory.h"
#include "chrome/browser/signin/identity_manager_factory.h"
@@ -625,6 +624,7 @@ void ProfileImpl::LoadPrefsForNormalStartup(bool async_prefs) {
@@ -633,6 +632,7 @@ void ProfileImpl::LoadPrefsForNormalStartup(bool async_prefs) {
mojo::PendingRemote<prefs::mojom::TrackedPreferenceValidationDelegate>
pref_validation_delegate;
@ -2140,7 +2131,7 @@ diff --git a/chrome/browser/profiles/profile_impl.cc b/chrome/browser/profiles/p
scoped_refptr<safe_browsing::SafeBrowsingService> safe_browsing_service(
g_browser_process->safe_browsing_service());
if (safe_browsing_service.get()) {
@@ -636,7 +636,7 @@ void ProfileImpl::LoadPrefsForNormalStartup(bool async_prefs) {
@@ -644,7 +644,7 @@ void ProfileImpl::LoadPrefsForNormalStartup(bool async_prefs) {
pref_validation_delegate.InitWithNewPipeAndPassReceiver());
}
}
@ -2512,7 +2503,7 @@ diff --git a/chrome/browser/subresource_filter/chrome_content_subresource_filter
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
@@ -553,7 +553,6 @@ static_library("ui") {
@@ -546,7 +546,6 @@ static_library("ui") {
"//components/renderer_context_menu",
"//components/resources",
"//components/safe_browsing/content/browser",
@ -2520,7 +2511,7 @@ diff --git a/chrome/browser/ui/BUILD.gn b/chrome/browser/ui/BUILD.gn
"//components/safe_browsing/content/browser/password_protection",
"//components/safe_browsing/content/browser/web_ui",
"//components/safe_browsing/core/browser/db:database_manager",
@@ -4437,7 +4436,6 @@ static_library("ui") {
@@ -4403,7 +4402,6 @@ static_library("ui") {
"views/download/bubble/download_dialog_view.h",
"views/download/bubble/download_toolbar_button_view.cc",
"views/download/bubble/download_toolbar_button_view.h",
@ -2544,7 +2535,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro
<!-- Metrics settings -->
<message name="IDS_PREFS_METRICS_SETTINGS" desc="Title for the page that allows the user to control how much usage data Chrome uploads. [CHAR_LIMIT=32]">
@@ -4837,9 +4831,6 @@ To change this setting, <ph name="BEGIN_LINK">&lt;resetlink&gt;</ph>reset sync<p
@@ -4867,9 +4861,6 @@ To change this setting, <ph name="BEGIN_LINK">&lt;resetlink&gt;</ph>reset sync<p
To use this setting <ph name="BEGIN_LINK">&lt;link&gt;</ph>Make searches and browsing better<ph name="END_LINK">&lt;/link&gt;</ph> must be turned on
</message>
<!-- Usage Stats strings -->
@ -2557,7 +2548,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
@@ -61,14 +61,18 @@
@@ -63,14 +63,18 @@
#include "chrome/browser/preloading/prefetch/prefetch_proxy/prefetch_proxy_tab_helper.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/browser/profiles/profile_key.h"
@ -2574,9 +2565,9 @@ diff --git a/chrome/browser/ui/tab_helpers.cc b/chrome/browser/ui/tab_helpers.cc
#include "chrome/browser/safe_browsing/trigger_creator.h"
+#endif
#include "chrome/browser/search_engines/template_url_service_factory.h"
#include "chrome/browser/segmentation_platform/segmentation_platform_service_factory.h"
#include "chrome/browser/sessions/session_tab_helper_factory.h"
#include "chrome/browser/ssl/chrome_security_blocking_page_factory.h"
@@ -132,9 +136,11 @@
@@ -135,9 +139,11 @@
#include "components/permissions/features.h"
#include "components/permissions/permission_request_manager.h"
#include "components/permissions/unused_site_permissions_service.h"
@ -2586,9 +2577,9 @@ diff --git a/chrome/browser/ui/tab_helpers.cc b/chrome/browser/ui/tab_helpers.cc
#include "components/safe_browsing/core/common/features.h"
+#endif
#include "components/search/ntp_features.h"
#include "components/segmentation_platform/content/segmentation_platform_tab_helper.h"
#include "components/site_engagement/content/site_engagement_helper.h"
#include "components/site_engagement/content/site_engagement_service.h"
@@ -414,6 +420,7 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) {
@@ -418,6 +424,7 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) {
// See https://crbug.com/910288.
resource_coordinator::ResourceCoordinatorTabHelper::CreateForWebContents(
web_contents);
@ -2596,14 +2587,14 @@ diff --git a/chrome/browser/ui/tab_helpers.cc b/chrome/browser/ui/tab_helpers.cc
safe_browsing::SafeBrowsingNavigationObserver::MaybeCreateForWebContents(
web_contents, HostContentSettingsMapFactory::GetForProfile(profile),
safe_browsing::SafeBrowsingNavigationObserverManagerFactory::
@@ -431,6 +438,7 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) {
@@ -435,6 +442,7 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) {
safe_browsing::TriggerCreator::MaybeCreateTriggersForWebContents(
profile, web_contents);
ReputationWebContentsObserver::CreateForWebContents(web_contents);
+#endif
SearchEngineTabHelper::CreateForWebContents(web_contents);
SecurityStateTabHelper::CreateForWebContents(web_contents);
if (site_engagement::SiteEngagementService::IsEnabled()) {
segmentation_platform::SegmentationPlatformTabHelper::CreateForWebContents(
diff --git a/chrome/browser/ui/webui/interstitials/interstitial_ui.cc b/chrome/browser/ui/webui/interstitials/interstitial_ui.cc
--- a/chrome/browser/ui/webui/interstitials/interstitial_ui.cc
+++ b/chrome/browser/ui/webui/interstitials/interstitial_ui.cc
@ -2758,7 +2749,7 @@ diff --git a/chrome/renderer/chrome_content_renderer_client.h b/chrome/renderer/
diff --git a/chrome/test/BUILD.gn b/chrome/test/BUILD.gn
--- a/chrome/test/BUILD.gn
+++ b/chrome/test/BUILD.gn
@@ -931,7 +931,6 @@ if (is_android) {
@@ -920,7 +920,6 @@ if (is_android) {
"//components/password_manager/content/browser:browser",
"//components/policy:chrome_settings_proto_generated_compile",
"//components/policy/core/browser:test_support",
@ -2766,7 +2757,7 @@ diff --git a/chrome/test/BUILD.gn b/chrome/test/BUILD.gn
"//components/safe_browsing/content/common:interfaces",
"//components/safe_browsing/content/renderer/phishing_classifier:phishing_classifier",
"//components/safe_browsing/core/common/fbs:client_model",
@@ -1406,7 +1405,6 @@ if (!is_android) {
@@ -1379,7 +1378,6 @@ if (!is_android) {
"//components/resources",
"//components/safe_browsing:buildflags",
"//components/safe_browsing/content/browser",
@ -2774,7 +2765,7 @@ diff --git a/chrome/test/BUILD.gn b/chrome/test/BUILD.gn
"//components/safe_browsing/content/browser:safe_browsing_service",
"//components/safe_browsing/content/browser/password_protection",
"//components/safe_browsing/content/browser/password_protection:test_support",
@@ -5951,7 +5949,6 @@ test("unit_tests") {
@@ -5891,7 +5889,6 @@ test("unit_tests") {
"//components/resources",
"//components/safe_browsing:buildflags",
"//components/safe_browsing/content/browser",
@ -2785,7 +2776,7 @@ diff --git a/chrome/test/BUILD.gn b/chrome/test/BUILD.gn
diff --git a/components/BUILD.gn b/components/BUILD.gn
--- a/components/BUILD.gn
+++ b/components/BUILD.gn
@@ -641,7 +641,6 @@ test("components_unittests") {
@@ -643,7 +643,6 @@ test("components_unittests") {
if (safe_browsing_mode == 1) {
deps += [
"//components/safe_browsing/content/browser:unit_tests",
@ -2835,7 +2826,7 @@ diff --git a/components/component_updater/installer_policies/BUILD.gn b/componen
diff --git a/components/permissions/permission_request_manager.cc b/components/permissions/permission_request_manager.cc
--- a/components/permissions/permission_request_manager.cc
+++ b/components/permissions/permission_request_manager.cc
@@ -680,10 +680,7 @@ PermissionRequestManager::PermissionRequestManager(
@@ -608,10 +608,7 @@ PermissionRequestManager::PermissionRequestManager(
view_(nullptr),
tab_is_hidden_(web_contents->GetVisibility() ==
content::Visibility::HIDDEN),
@ -2845,8 +2836,8 @@ diff --git a/components/permissions/permission_request_manager.cc b/components/p
- web_contents->GetBrowserContext())) {}
+ auto_response_for_test_(NONE) {}
void PermissionRequestManager::DequeueRequestIfNeeded() {
// TODO(olesiamarukhno): Media requests block other media requests from
void PermissionRequestManager::ScheduleShowBubble() {
base::RecordAction(base::UserMetricsAction("PermissionBubbleRequest"));
diff --git a/components/safe_browsing/content/browser/BUILD.gn b/components/safe_browsing/content/browser/BUILD.gn
--- a/components/safe_browsing/content/browser/BUILD.gn
+++ b/components/safe_browsing/content/browser/BUILD.gn
@ -2874,17 +2865,15 @@ diff --git a/components/safe_browsing/content/common/file_type_policies.cc b/com
diff --git a/components/safe_browsing/core/common/features.cc b/components/safe_browsing/core/common/features.cc
--- a/components/safe_browsing/core/common/features.cc
+++ b/components/safe_browsing/core/common/features.cc
@@ -200,8 +200,8 @@ BASE_FEATURE(kSevenZipEvaluationEnabled,
base::FEATURE_DISABLED_BY_DEFAULT);
@@ -161,7 +161,7 @@ const base::Feature kSevenZipEvaluationEnabled{
"SafeBrowsingSevenZipEvaluationEnabled", base::FEATURE_DISABLED_BY_DEFAULT};
BASE_FEATURE(kSuspiciousSiteTriggerQuotaFeature,
- "SafeBrowsingSuspiciousSiteTriggerQuota",
- base::FEATURE_ENABLED_BY_DEFAULT);
+ "SafeBrowsingSuspiciousSiteTriggerQuota", // disabled by default
+ base::FEATURE_DISABLED_BY_DEFAULT); // in Bromite
const base::Feature kSuspiciousSiteTriggerQuotaFeature{
- "SafeBrowsingSuspiciousSiteTriggerQuota", base::FEATURE_ENABLED_BY_DEFAULT};
+ "SafeBrowsingSuspiciousSiteTriggerQuota", base::FEATURE_DISABLED_BY_DEFAULT};
BASE_FEATURE(kThreatDomDetailsTagAndAttributeFeature,
"ThreatDomDetailsTagAttributes",
const base::Feature kThreatDomDetailsTagAndAttributeFeature{
"ThreatDomDetailsTagAttributes", base::FEATURE_DISABLED_BY_DEFAULT};
diff --git a/components/security_interstitials/content/captive_portal_blocking_page.cc b/components/security_interstitials/content/captive_portal_blocking_page.cc
--- a/components/security_interstitials/content/captive_portal_blocking_page.cc
+++ b/components/security_interstitials/content/captive_portal_blocking_page.cc
@ -2928,17 +2917,7 @@ diff --git a/components/security_interstitials/content/captive_portal_blocking_p
diff --git a/components/security_interstitials/content/cert_report_helper.cc b/components/security_interstitials/content/cert_report_helper.cc
--- a/components/security_interstitials/content/cert_report_helper.cc
+++ b/components/security_interstitials/content/cert_report_helper.cc
@@ -62,8 +62,7 @@ CertReportHelper::CertReportHelper(
interstitial_reason_(interstitial_reason),
overridable_(overridable),
interstitial_time_(interstitial_time),
- can_show_enhanced_protection_message_(
- can_show_enhanced_protection_message),
+ can_show_enhanced_protection_message_(false), // always disabled in Bromite
metrics_helper_(metrics_helper) {}
CertReportHelper::~CertReportHelper() = default;
@@ -176,8 +175,6 @@ void CertReportHelper::FinishCertCollection() {
@@ -176,8 +176,6 @@ void CertReportHelper::FinishCertCollection() {
LOG(ERROR) << "Failed to serialize certificate report.";
return;
}
@ -3076,7 +3055,7 @@ diff --git a/content/browser/file_system_access/file_system_access_safe_move_hel
diff --git a/content/public/browser/file_system_access_permission_context.h b/content/public/browser/file_system_access_permission_context.h
--- a/content/public/browser/file_system_access_permission_context.h
+++ b/content/public/browser/file_system_access_permission_context.h
@@ -112,12 +112,6 @@ class FileSystemAccessPermissionContext {
@@ -113,12 +113,6 @@ class FileSystemAccessPermissionContext {
base::OnceCallback<void(SensitiveEntryResult)> callback) = 0;
enum class AfterWriteCheckResult { kAllow, kBlock };
@ -3092,7 +3071,7 @@ diff --git a/content/public/browser/file_system_access_permission_context.h b/co
diff --git a/weblayer/BUILD.gn b/weblayer/BUILD.gn
--- a/weblayer/BUILD.gn
+++ b/weblayer/BUILD.gn
@@ -477,11 +477,9 @@ source_set("weblayer_lib_base") {
@@ -473,11 +473,9 @@ source_set("weblayer_lib_base") {
"//components/profile_metrics",
"//components/reduce_accept_language/browser",
"//components/safe_browsing/content/browser",
@ -3104,7 +3083,7 @@ diff --git a/weblayer/BUILD.gn b/weblayer/BUILD.gn
"//components/safe_browsing/core/browser:safe_browsing_metrics_collector",
"//components/safe_browsing/core/browser/db:database_manager",
"//components/safe_browsing/core/common",
@@ -625,8 +623,6 @@ source_set("weblayer_lib_base") {
@@ -621,8 +619,6 @@ source_set("weblayer_lib_base") {
"browser/browser_controls_navigation_state_handler_delegate.h",
"browser/browser_list_proxy.cc",
"browser/browser_list_proxy.h",
@ -3116,7 +3095,7 @@ diff --git a/weblayer/BUILD.gn b/weblayer/BUILD.gn
diff --git a/weblayer/test/BUILD.gn b/weblayer/test/BUILD.gn
--- a/weblayer/test/BUILD.gn
+++ b/weblayer/test/BUILD.gn
@@ -251,7 +251,6 @@ test("weblayer_browsertests") {
@@ -247,7 +247,6 @@ test("weblayer_browsertests") {
"//components/page_info/android",
"//components/safe_browsing/android:safe_browsing_api_handler",
"//components/safe_browsing/content/browser",

View file

@ -13,36 +13,36 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
--- a/chrome/android/BUILD.gn
+++ b/chrome/android/BUILD.gn
@@ -442,7 +442,6 @@ if (current_toolchain == default_toolchain) {
"//chrome/browser/privacy_sandbox/android:java",
"//chrome/browser/profiles/android:java",
"//chrome/browser/safe_browsing/android:java",
- "//chrome/browser/safety_check/android:java",
"//chrome/browser/search_engines/android:java",
"//chrome/browser/search_resumption:java",
"//chrome/browser/segmentation_platform:factory_java",
@@ -1032,8 +1031,6 @@ if (current_toolchain == default_toolchain) {
"//chrome/browser/privacy_guide/android:java",
"//chrome/browser/privacy_guide/android:junit",
"//chrome/browser/profiles/android:java",
- "//chrome/browser/safety_check/android:java",
- "//chrome/browser/safety_check/android:junit",
"//chrome/browser/search_engines/android:java",
"//chrome/browser/search_resumption:junit",
"//chrome/browser/segmentation_platform:factory_java",
@@ -1556,8 +1553,6 @@ if (current_toolchain == default_toolchain) {
"//chrome/browser/profiles/android:java",
"//chrome/browser/safe_browsing/android:java",
"//chrome/browser/safe_browsing/android:javatests",
- "//chrome/browser/safety_check/android:java",
- "//chrome/browser/safety_check/android:javatests",
"//chrome/browser/search_engines/android:java",
"//chrome/browser/selection/android:javatests",
"//chrome/browser/settings:java",
@@ -416,7 +416,6 @@ android_library("chrome_java") {
"//chrome/browser/privacy_sandbox/android:java",
"//chrome/browser/profiles/android:java",
"//chrome/browser/safe_browsing/android:java",
- "//chrome/browser/safety_check/android:java",
"//chrome/browser/search_engines/android:java",
"//chrome/browser/search_resumption:java",
"//chrome/browser/segmentation_platform:factory_java",
@@ -1049,8 +1048,6 @@ robolectric_binary("chrome_junit_tests") {
"//chrome/browser/privacy_guide/android:java",
"//chrome/browser/privacy_guide/android:junit",
"//chrome/browser/profiles/android:java",
- "//chrome/browser/safety_check/android:java",
- "//chrome/browser/safety_check/android:junit",
"//chrome/browser/search_engines/android:java",
"//chrome/browser/search_resumption:junit",
"//chrome/browser/segmentation_platform:factory_java",
@@ -1583,8 +1580,6 @@ android_library("chrome_test_java") {
"//chrome/browser/profiles/android:java",
"//chrome/browser/safe_browsing/android:java",
"//chrome/browser/safe_browsing/android:javatests",
- "//chrome/browser/safety_check/android:java",
- "//chrome/browser/safety_check/android:javatests",
"//chrome/browser/search_engines/android:java",
"//chrome/browser/selection/android:javatests",
"//chrome/browser/settings:java",
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
@@ -946,7 +946,6 @@ chrome_java_sources = [
@@ -944,7 +944,6 @@ chrome_java_sources = [
"java/src/org/chromium/chrome/browser/safe_browsing/SafeBrowsingPasswordReuseDialogBridge.java",
"java/src/org/chromium/chrome/browser/safe_browsing/SafeBrowsingReferringAppBridge.java",
"java/src/org/chromium/chrome/browser/safe_browsing/SafeBrowsingSettingsLauncher.java",
@ -85,7 +85,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/omnibox/Omn
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
--- a/chrome/browser/BUILD.gn
+++ b/chrome/browser/BUILD.gn
@@ -3346,7 +3346,6 @@ static_library("browser") {
@@ -3333,7 +3333,6 @@ static_library("browser") {
"//chrome/browser/privacy_sandbox/android:jni_headers",
"//chrome/browser/reading_list/android",
"//chrome/browser/safe_browsing/android:safe_browsing_enums",

View file

@ -11,12 +11,12 @@ the ChromeSmartSelection feature flag.
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
.../contextualsearch/SelectionClientManager.java | 4 +++-
.../browser/flags/android/chrome_feature_list.cc | 5 +++++
.../browser/flags/android/chrome_feature_list.cc | 4 ++++
.../browser/flags/android/chrome_feature_list.h | 1 +
.../chrome/browser/flags/ChromeFeatureList.java | 1 +
.../selection/SelectionPopupControllerImpl.java | 2 +-
testing/variations/fieldtrial_testing_config.json | 15 +++++++++++++++
6 files changed, 26 insertions(+), 2 deletions(-)
6 files changed, 25 insertions(+), 2 deletions(-)
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/contextualsearch/SelectionClientManager.java b/chrome/android/java/src/org/chromium/chrome/browser/contextualsearch/SelectionClientManager.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/contextualsearch/SelectionClientManager.java
@ -42,7 +42,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
@@ -188,6 +188,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
@@ -190,6 +190,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
&kCCTBrandTransparency,
&kCCTClientDataHeader,
&kCCTIncognito,
@ -50,32 +50,31 @@ diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browse
&kCCTIncognitoAvailableToThirdParty,
&kCCTNewDownloadTab,
&kCCTPackageNameRecording,
@@ -996,6 +997,10 @@ BASE_FEATURE(kDiscoverFeedMultiColumn,
"DiscoverFeedMultiColumn",
base::FEATURE_DISABLED_BY_DEFAULT);
@@ -605,6 +606,9 @@ const base::Feature kChromeSharingHubLaunchAdjacent{
const base::Feature kChromeSurveyNextAndroid{"ChromeSurveyNextAndroid",
base::FEATURE_ENABLED_BY_DEFAULT};
+BASE_FEATURE(kChromeSmartSelection,
+ "ChromeSmartSelection",
+ base::FEATURE_DISABLED_BY_DEFAULT);
+const base::Feature kChromeSmartSelection{"ChromeSmartSelection",
+ base::FEATURE_DISABLED_BY_DEFAULT};
+
BASE_FEATURE(kTabStripRedesign,
"TabStripRedesign",
base::FEATURE_DISABLED_BY_DEFAULT);
const base::Feature kCommandLineOnNonRooted{"CommandLineOnNonRooted",
base::FEATURE_DISABLED_BY_DEFAULT};
diff --git a/chrome/browser/flags/android/chrome_feature_list.h b/chrome/browser/flags/android/chrome_feature_list.h
--- a/chrome/browser/flags/android/chrome_feature_list.h
+++ b/chrome/browser/flags/android/chrome_feature_list.h
@@ -62,6 +62,7 @@ BASE_DECLARE_FEATURE(kDontAutoHideBrowserControls);
BASE_DECLARE_FEATURE(kCacheDeprecatedSystemLocationSetting);
BASE_DECLARE_FEATURE(kChromeNewDownloadTab);
BASE_DECLARE_FEATURE(kChromeShareLongScreenshot);
+BASE_DECLARE_FEATURE(kChromeSmartSelection);
BASE_DECLARE_FEATURE(kChromeShareScreenshot);
BASE_DECLARE_FEATURE(kChromeSharingHub);
BASE_DECLARE_FEATURE(kChromeSharingHubLaunchAdjacent);
@@ -62,6 +62,7 @@ extern const base::Feature kCacheDeprecatedSystemLocationSetting;
extern const base::Feature kChromeNewDownloadTab;
extern const base::Feature kChromeShareLongScreenshot;
extern const base::Feature kChromeShareScreenshot;
+extern const base::Feature kChromeSmartSelection;
extern const base::Feature kChromeSharingHub;
extern const base::Feature kChromeSharingHubLaunchAdjacent;
extern const base::Feature kChromeSurveyNextAndroid;
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
@@ -255,6 +255,7 @@ public abstract class ChromeFeatureList {
@@ -258,6 +258,7 @@ public abstract class ChromeFeatureList {
public static final String CCT_POST_MESSAGE_API = "CCTPostMessageAPI";
public static final String CCT_REAL_TIME_ENGAGEMENT_SIGNALS = "CCTRealTimeEngagementSignals";
public static final String CCT_REDIRECT_PRECONNECT = "CCTRedirectPreconnect";
@ -86,7 +85,7 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f
diff --git a/content/public/android/java/src/org/chromium/content/browser/selection/SelectionPopupControllerImpl.java b/content/public/android/java/src/org/chromium/content/browser/selection/SelectionPopupControllerImpl.java
--- a/content/public/android/java/src/org/chromium/content/browser/selection/SelectionPopupControllerImpl.java
+++ b/content/public/android/java/src/org/chromium/content/browser/selection/SelectionPopupControllerImpl.java
@@ -822,7 +822,7 @@ public class SelectionPopupControllerImpl extends ActionModeCallbackHelper
@@ -818,7 +818,7 @@ public class SelectionPopupControllerImpl extends ActionModeCallbackHelper
menu.removeItem(R.id.select_action_menu_share);
}
@ -98,7 +97,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
@@ -3045,6 +3045,21 @@
@@ -2834,6 +2834,21 @@
]
}
],

View file

@ -4,28 +4,24 @@ Subject: Disable some signed exchange features
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
content/public/common/content_features.cc | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
content/public/common/content_features.cc | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/content/public/common/content_features.cc b/content/public/common/content_features.cc
--- a/content/public/common/content_features.cc
+++ b/content/public/common/content_features.cc
@@ -999,14 +999,14 @@ BASE_FEATURE(kSharedArrayBufferOnDesktop,
@@ -896,12 +896,12 @@ const base::Feature kSharedArrayBufferOnDesktop{
// Signed Exchange Reporting for distributors
// https://www.chromestatus.com/feature/5687904902840320
BASE_FEATURE(kSignedExchangeReportingForDistributors,
- "SignedExchangeReportingForDistributors",
- base::FEATURE_ENABLED_BY_DEFAULT);
+ "SignedExchangeReportingForDistributors", // must be disabled
+ base::FEATURE_DISABLED_BY_DEFAULT); // in Bromite
const base::Feature kSignedExchangeReportingForDistributors{
- "SignedExchangeReportingForDistributors", base::FEATURE_ENABLED_BY_DEFAULT};
+ "SignedExchangeReportingForDistributors", base::FEATURE_DISABLED_BY_DEFAULT};
// Origin-Signed HTTP Exchanges (for WebPackage Loading)
// https://www.chromestatus.com/feature/5745285984681984
BASE_FEATURE(kSignedHTTPExchange,
- "SignedHTTPExchange",
- base::FEATURE_ENABLED_BY_DEFAULT);
+ "SignedHTTPExchange", // must be disabled
+ base::FEATURE_DISABLED_BY_DEFAULT); // in Bromite
const base::Feature kSignedHTTPExchange{"SignedHTTPExchange",
- base::FEATURE_ENABLED_BY_DEFAULT};
+ base::FEATURE_DISABLED_BY_DEFAULT};
// Delays RenderProcessHost shutdown by a few seconds to allow the subframe's
// process to be potentially reused. This aims to reduce process churn in

View file

@ -12,7 +12,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/chrome/browser/safe_browsing/download_protection/file_analyzer.cc b/chrome/browser/safe_browsing/download_protection/file_analyzer.cc
--- a/chrome/browser/safe_browsing/download_protection/file_analyzer.cc
+++ b/chrome/browser/safe_browsing/download_protection/file_analyzer.cc
@@ -95,7 +95,7 @@ void FileAnalyzer::Start(const base::FilePath& target_path,
@@ -97,7 +97,7 @@ void FileAnalyzer::Start(const base::FilePath& target_path,
if (inspection_type == DownloadFileType::ZIP) {
StartExtractZipFeatures();
} else if (inspection_type == DownloadFileType::RAR) {
@ -63,14 +63,14 @@ diff --git a/chrome/common/safe_browsing/BUILD.gn b/chrome/common/safe_browsing/
if (is_linux || is_win) {
source_set("document_analyzer") {
sources = [
@@ -184,7 +152,6 @@ source_set("safe_browsing") {
@@ -182,7 +150,6 @@ source_set("safe_browsing") {
":archive_analyzer_results",
":binary_feature_extractor",
":download_type_util",
- ":rar_analyzer",
"//components/safe_browsing/core/common",
"//third_party/lzma_sdk/google:seven_zip_reader",
]
diff --git a/chrome/services/file_util/safe_archive_analyzer.cc b/chrome/services/file_util/safe_archive_analyzer.cc
--- a/chrome/services/file_util/safe_archive_analyzer.cc
+++ b/chrome/services/file_util/safe_archive_analyzer.cc
@ -79,10 +79,10 @@ diff --git a/chrome/services/file_util/safe_archive_analyzer.cc b/chrome/service
#include "build/build_config.h"
#include "chrome/common/safe_browsing/archive_analyzer_results.h"
-#include "chrome/common/safe_browsing/rar_analyzer.h"
#include "chrome/common/safe_browsing/seven_zip_analyzer.h"
#include "chrome/common/safe_browsing/zip_analyzer.h"
@@ -47,9 +46,8 @@ void SafeArchiveAnalyzer::AnalyzeRarFile(base::File rar_file,
#if BUILDFLAG(IS_MAC)
@@ -46,8 +45,7 @@ void SafeArchiveAnalyzer::AnalyzeRarFile(base::File rar_file,
AnalyzeRarFileCallback callback) {
DCHECK(rar_file.IsValid());
@ -92,6 +92,5 @@ diff --git a/chrome/services/file_util/safe_archive_analyzer.cc b/chrome/service
- std::move(rar_file), std::move(temporary_file), &results);
std::move(callback).Run(results);
}
--
2.25.1

View file

@ -13,16 +13,16 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
chrome/browser/flag_descriptions.h | 3 +++
chrome/browser/ui/prefs/prefs_tab_helper.cc | 2 +-
content/child/runtime_features.cc | 1 +
third_party/blink/common/features.cc | 5 +++++
third_party/blink/common/features.cc | 4 ++++
third_party/blink/public/common/features.h | 1 +
third_party/blink/renderer/core/dom/document.cc | 5 +++++
.../blink/renderer/platform/runtime_enabled_features.json5 | 5 ++---
10 files changed, 32 insertions(+), 4 deletions(-)
10 files changed, 31 insertions(+), 4 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
@@ -6275,6 +6275,11 @@ const FeatureEntry kFeatureEntries[] = {
@@ -6080,6 +6080,11 @@ const FeatureEntry kFeatureEntries[] = {
"")},
#endif
@ -37,9 +37,9 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
diff --git a/chrome/browser/flag-metadata.json b/chrome/browser/flag-metadata.json
--- a/chrome/browser/flag-metadata.json
+++ b/chrome/browser/flag-metadata.json
@@ -2706,6 +2706,11 @@
"owners": [ "robsc", "napper", "alanlxl" ],
"expiry_milestone": 130
@@ -2699,6 +2699,11 @@
"owners": [ "alionadangla", "bwwilliams", "bling-flags@google.com"],
"expiry_milestone": 105
},
+ {
+ "name": "enable-text-fragment-anchor",
@ -47,35 +47,35 @@ diff --git a/chrome/browser/flag-metadata.json b/chrome/browser/flag-metadata.js
+ "expiry_milestone": -1
+ },
{
"name": "enable-neural-stylus-palm-rejection",
"owners": [ "robsc", "napper", "adlr" ],
"name": "enable-payment-request-basic-card",
"owners": [ "web-payments-team@google.com" ],
diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc
--- a/chrome/browser/flag_descriptions.cc
+++ b/chrome/browser/flag_descriptions.cc
@@ -1387,6 +1387,10 @@ extern const char kDropInputEventsBeforeFirstPaintDescription[] =
"intentionally interact with elements on that page. By dropping the events "
"we prevent accidental interaction with a page the user has not seen yet.";
@@ -1387,6 +1387,10 @@ const char kEnableRestrictedWebApisDescription[] =
"Enable the restricted web APIs for dev trial. This will be replaced with "
"permission policies to control the capabilities afterwards.";
+const char kEnableTextFragmentAnchorName[] = "Enable Text Fragment Anchor.";
+const char kEnableTextFragmentAnchorDescription[] =
+ "Enables scrolling to text specified in URL's fragment.";
+
const char kEnableCssSelectorFragmentAnchorName[] =
"Enables CSS selector fragment anchors";
const char kEnableCssSelectorFragmentAnchorDescription[] =
const char kEnableUseZoomForDsfName[] =
"Use Blink's zoom for device scale factor.";
const char kEnableUseZoomForDsfDescription[] =
diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h
--- a/chrome/browser/flag_descriptions.h
+++ b/chrome/browser/flag_descriptions.h
@@ -767,6 +767,9 @@ extern const char kReduceHorizontalFlingVelocityDescription[];
@@ -767,6 +767,9 @@ extern const char
extern const char kEnableRestrictedWebApisName[];
extern const char kEnableRestrictedWebApisDescription[];
extern const char kRetailCouponsName[];
extern const char kRetailCouponsDescription[];
+extern const char kEnableTextFragmentAnchorName[];
+extern const char kEnableTextFragmentAnchorDescription[];
+
extern const char kDropInputEventsBeforeFirstPaintName[];
extern const char kDropInputEventsBeforeFirstPaintDescription[];
extern const char kEnableUseZoomForDsfName[];
extern const char kEnableUseZoomForDsfDescription[];
extern const char kEnableUseZoomForDsfChoiceDefault[];
diff --git a/chrome/browser/ui/prefs/prefs_tab_helper.cc b/chrome/browser/ui/prefs/prefs_tab_helper.cc
--- a/chrome/browser/ui/prefs/prefs_tab_helper.cc
+++ b/chrome/browser/ui/prefs/prefs_tab_helper.cc
@ -94,41 +94,40 @@ diff --git a/content/child/runtime_features.cc b/content/child/runtime_features.
@@ -270,6 +270,7 @@ void SetRuntimeFeaturesFromChromiumFeatures() {
features::kSharedArrayBufferOnDesktop},
{wf::EnableSharedAutofill, autofill::features::kAutofillSharedAutofill},
{wf::EnableTouchDragAndContextMenu, features::kTouchDragAndContextMenu},
{wf::EnableSubresourceWebBundles, features::kSubresourceWebBundles},
+ {wf::EnableTextFragmentIdentifiers, blink::features::kTextFragmentAnchor},
{wf::EnableTouchDragAndContextMenu, features::kTouchDragAndContextMenu},
{wf::EnableUserActivationSameOriginVisibility,
features::kUserActivationSameOriginVisibility},
{wf::EnableVideoPlaybackQuality, features::kVideoPlaybackQuality},
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
@@ -496,6 +496,11 @@ BASE_FEATURE(kDropInputEventsBeforeFirstPaint,
"DropInputEventsBeforeFirstPaint",
base::FEATURE_DISABLED_BY_DEFAULT);
@@ -449,6 +449,10 @@ const base::Feature kStopInBackground {
const base::Feature kDropInputEventsBeforeFirstPaint{
"DropInputEventsBeforeFirstPaint", base::FEATURE_DISABLED_BY_DEFAULT};
+// Enable text snippets in URL fragments. https://crbug.com/919204.
+BASE_FEATURE(kTextFragmentAnchor,
+ "TextFragmentAnchor",
+ base::FEATURE_DISABLED_BY_DEFAULT);
+const base::Feature kTextFragmentAnchor{"TextFragmentAnchor",
+ base::FEATURE_DISABLED_BY_DEFAULT};
+
// File handling icons. https://crbug.com/1218213
BASE_FEATURE(kFileHandlingIcons,
"FileHandlingIcons",
const base::Feature kFileHandlingIcons{"FileHandlingIcons",
base::FEATURE_DISABLED_BY_DEFAULT};
diff --git a/third_party/blink/public/common/features.h b/third_party/blink/public/common/features.h
--- a/third_party/blink/public/common/features.h
+++ b/third_party/blink/public/common/features.h
@@ -224,6 +224,7 @@ BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(kDecodeJpeg420ImagesToYUV);
BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(kDecodeLossyWebPImagesToYUV);
BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(kWebFontsCacheAwareTimeoutAdaption);
+BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(kTextFragmentAnchor);
BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(kAudioWorkletThreadRealtimePriority);
@@ -224,6 +224,7 @@ BLINK_COMMON_EXPORT extern const base::Feature kResourceLoadViaDataPipe;
BLINK_COMMON_EXPORT extern const base::Feature kServiceWorkerUpdateDelay;
BLINK_COMMON_EXPORT extern const base::Feature kStopInBackground;
BLINK_COMMON_EXPORT extern const base::Feature kDropInputEventsBeforeFirstPaint;
+BLINK_COMMON_EXPORT extern const base::Feature kTextFragmentAnchor;
BLINK_COMMON_EXPORT extern const base::Feature kFileHandlingIcons;
BLINK_COMMON_EXPORT extern const base::Feature kAllowSyncXHRInPageDismissal;
BLINK_COMMON_EXPORT extern const base::Feature kPrefetchPrivacyChanges;
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
@@ -4262,9 +4262,14 @@ void Document::SetURL(const KURL& url) {
@@ -4257,9 +4257,14 @@ void Document::SetURL(const KURL& url) {
TRACE_EVENT1("navigation", "Document::SetURL", "url",
new_url.GetString().Utf8());
@ -146,7 +145,7 @@ diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink
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
@@ -2583,10 +2583,9 @@
@@ -2545,10 +2545,9 @@
},
{
name: "TextFragmentIdentifiers",

View file

@ -60,7 +60,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
@@ -7455,7 +7455,6 @@ void NavigationRequest::RestartBackForwardCachedNavigationImpl() {
@@ -7323,7 +7323,6 @@ void NavigationRequest::RestartBackForwardCachedNavigationImpl() {
void NavigationRequest::ForceEnableOriginTrials(
const std::vector<std::string>& trials) {
DCHECK(!HasCommitted());
@ -71,7 +71,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
@@ -475,10 +475,6 @@ void FillNavigationParamsRequest(
@@ -474,10 +474,6 @@ void FillNavigationParamsRequest(
common_params.initiator_origin.value();
}
@ -82,7 +82,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;
@@ -511,12 +507,6 @@ void FillNavigationParamsRequest(
@@ -510,12 +506,6 @@ void FillNavigationParamsRequest(
navigation_params->web_bundle_claimed_url =
commit_params.web_bundle_claimed_url;
@ -95,7 +95,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) {
@@ -570,11 +560,6 @@ blink::mojom::CommonNavigationParamsPtr MakeCommonNavigationParams(
@@ -562,11 +552,6 @@ blink::mojom::CommonNavigationParamsPtr MakeCommonNavigationParams(
info->url_request.GetURLRequestExtraData().get());
DCHECK(url_request_extra_data);
@ -107,7 +107,7 @@ diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_fra
blink::NavigationDownloadPolicy download_policy;
download_policy.ApplyDownloadFramePolicy(
info->is_opener_navigation, info->url_request.HasUserGesture(),
@@ -592,7 +577,7 @@ blink::mojom::CommonNavigationParamsPtr MakeCommonNavigationParams(
@@ -584,7 +569,7 @@ blink::mojom::CommonNavigationParamsPtr MakeCommonNavigationParams(
info->url_request.HasUserGesture(),
info->url_request.HasTextFragmentToken(),
info->should_check_main_world_content_security_policy,
@ -159,7 +159,7 @@ diff --git a/third_party/blink/common/origin_trials/trial_token_validator.cc b/t
diff --git a/third_party/blink/renderer/core/loader/document_loader.cc b/third_party/blink/renderer/core/loader/document_loader.cc
--- a/third_party/blink/renderer/core/loader/document_loader.cc
+++ b/third_party/blink/renderer/core/loader/document_loader.cc
@@ -160,13 +160,6 @@ namespace {
@@ -163,13 +163,6 @@ constexpr base::FeatureParam<bool> kCacheInlineScriptCodeFixConfiguring{
Vector<OriginTrialFeature> CopyInitiatorOriginTrials(
const WebVector<int>& initiator_origin_trial_features) {
Vector<OriginTrialFeature> result;
@ -173,7 +173,7 @@ diff --git a/third_party/blink/renderer/core/loader/document_loader.cc b/third_p
return result;
}
@@ -179,18 +172,12 @@ WebVector<int> CopyInitiatorOriginTrials(
@@ -182,18 +175,12 @@ WebVector<int> CopyInitiatorOriginTrials(
Vector<String> CopyForceEnabledOriginTrials(
const WebVector<WebString>& force_enabled_origin_trials) {
Vector<String> result;
@ -192,7 +192,7 @@ diff --git a/third_party/blink/renderer/core/loader/document_loader.cc b/third_p
return result;
}
@@ -2663,10 +2650,6 @@ void DocumentLoader::CreateParserPostCommit() {
@@ -2580,10 +2567,6 @@ void DocumentLoader::CreateParserPostCommit() {
OriginTrialFeature::kTouchEventFeatureDetection);
}

View file

@ -13,11 +13,11 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../android/ntp/most_visited_sites_bridge.cc | 17 -----------------
chrome/browser/browser_process_impl.cc | 2 +-
chrome/browser/chrome_content_browser_client.cc | 15 ---------------
.../chrome_metrics_services_manager_client.cc | 8 ++++----
.../chrome_metrics_services_manager_client.cc | 4 ++--
components/ntp_tiles/BUILD.gn | 3 ---
components/ntp_tiles/most_visited_sites.cc | 2 --
services/metrics/public/cpp/ukm_recorder.cc | 2 +-
8 files changed, 7 insertions(+), 44 deletions(-)
8 files changed, 5 insertions(+), 42 deletions(-)
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunActivityBase.java b/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunActivityBase.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunActivityBase.java
@ -101,7 +101,7 @@ diff --git a/chrome/browser/browser_process_impl.cc b/chrome/browser/browser_pro
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
@@ -66,7 +66,6 @@
@@ -64,7 +64,6 @@
#include "chrome/browser/hid/chrome_hid_delegate.h"
#include "chrome/browser/interstitials/enterprise_util.h"
#include "chrome/browser/lifetime/browser_shutdown.h"
@ -109,7 +109,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"
@@ -4509,16 +4508,6 @@ ChromeContentBrowserClient::CreateThrottlesForNavigation(
@@ -4479,16 +4478,6 @@ ChromeContentBrowserClient::CreateThrottlesForNavigation(
content::NavigationHandle* handle) {
std::vector<std::unique_ptr<content::NavigationThrottle>> throttles;
@ -126,7 +126,7 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch
#if BUILDFLAG(ENABLE_SUPERVISED_USERS)
MaybeAddThrottle(
SupervisedUserNavigationThrottle::MaybeCreateThrottleFor(handle),
@@ -4603,10 +4592,6 @@ ChromeContentBrowserClient::CreateThrottlesForNavigation(
@@ -4573,10 +4562,6 @@ ChromeContentBrowserClient::CreateThrottlesForNavigation(
throttle_manager->MaybeAppendNavigationThrottles(handle, &throttles);
}
@ -140,25 +140,21 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch
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
@@ -73,8 +73,8 @@ namespace internal {
@@ -73,7 +73,7 @@ namespace internal {
// recording and reporting are enabled. If the feature is enabled, but no
// consent is given, then there will be no recording or reporting.
BASE_FEATURE(kMetricsReportingFeature,
- "MetricsReporting",
- base::FEATURE_ENABLED_BY_DEFAULT);
+ "MetricsReporting", // disabled by default
+ base::FEATURE_DISABLED_BY_DEFAULT); // in Bromite
const base::Feature kMetricsReportingFeature{"MetricsReporting",
- base::FEATURE_ENABLED_BY_DEFAULT};
+ base::FEATURE_DISABLED_BY_DEFAULT};
#if BUILDFLAG(IS_ANDROID)
// Same as |kMetricsReportingFeature|, but this feature is associated with a
@@ -83,8 +83,8 @@ BASE_FEATURE(kMetricsReportingFeature,
@@ -82,7 +82,7 @@ const base::Feature kMetricsReportingFeature{"MetricsReporting",
// the fix to not affect the overall sampling rate, this new feature was
// created. See crbug/1306481.
BASE_FEATURE(kPostFREFixMetricsReportingFeature,
- "PostFREFixMetricsReporting",
- base::FEATURE_ENABLED_BY_DEFAULT);
+ "PostFREFixMetricsReporting", // disabled by deault
+ base::FEATURE_DISABLED_BY_DEFAULT); // in Bromite
const base::Feature kPostFREFixMetricsReportingFeature{
- "PostFREFixMetricsReporting", base::FEATURE_ENABLED_BY_DEFAULT};
+ "PostFREFixMetricsReporting", base::FEATURE_DISABLED_BY_DEFAULT};
#endif // BUILDFLAG(IS_ANDROID)
// Name of the variations param that defines the sampling rate.
@ -201,8 +197,8 @@ diff --git a/services/metrics/public/cpp/ukm_recorder.cc b/services/metrics/publ
namespace ukm {
-BASE_FEATURE(kUkmFeature, "Ukm", base::FEATURE_ENABLED_BY_DEFAULT);
+BASE_FEATURE(kUkmFeature, "Ukm", base::FEATURE_DISABLED_BY_DEFAULT); // disabled in Bromite
-const base::Feature kUkmFeature = {"Ukm", base::FEATURE_ENABLED_BY_DEFAULT};
+const base::Feature kUkmFeature = {"Ukm", base::FEATURE_DISABLED_BY_DEFAULT}; // disabled in Bromite
UkmRecorder::UkmRecorder() = default;

View file

@ -10,7 +10,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
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
@@ -1304,8 +1304,6 @@ static_library("ui") {
@@ -1295,8 +1295,6 @@ static_library("ui") {
"singleton_tabs.h",
"startup/automation_infobar_delegate.cc",
"startup/automation_infobar_delegate.h",

View file

@ -14,7 +14,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
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
@@ -99,7 +99,6 @@ import org.chromium.chrome.browser.share.ShareButtonController;
@@ -97,7 +97,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;
@ -22,7 +22,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordi
import org.chromium.chrome.browser.share.scroll_capture.ScrollCaptureManager;
import org.chromium.chrome.browser.tab.AccessibilityVisibilityHandler;
import org.chromium.chrome.browser.tab.AutofillSessionLifetimeController;
@@ -498,10 +497,6 @@ public class RootUiCoordinator
@@ -496,10 +495,6 @@ public class RootUiCoordinator
}
public void onAttachFragment(Fragment fragment) {
@ -44,17 +44,17 @@ 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.SendTabToSelfAndroidBridge;
import org.chromium.chrome.browser.share.send_tab_to_self.SendTabToSelfCoordinator;
@@ -311,9 +310,6 @@ public class ChromeProvidedSharingOptionsProvider {
@@ -312,9 +311,6 @@ public class ChromeProvidedSharingOptionsProvider {
|| !ChromeFeatureList.isEnabled(ChromeFeatureList.SEND_TAB_TO_SELF_SIGNIN_PROMO)) {
mOrderedFirstPartyOptions.add(createSendTabToSelfFirstPartyOption());
}
- if (!mIsIncognito) {
- mOrderedFirstPartyOptions.add(createQrCodeFirstPartyOption());
- }
if (mTabProvider.hasValue() && UserPrefs.get(mProfile).getBoolean(Pref.PRINTING_ENABLED)) {
if (mTabProvider.hasValue() && UserPrefs.get(profile).getBoolean(Pref.PRINTING_ENABLED)) {
mOrderedFirstPartyOptions.add(createPrintingFirstPartyOption());
}
@@ -456,21 +452,6 @@ public class ChromeProvidedSharingOptionsProvider {
@@ -457,21 +453,6 @@ public class ChromeProvidedSharingOptionsProvider {
.build();
}

View file

@ -14,7 +14,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/base/BUILD.gn b/base/BUILD.gn
--- a/base/BUILD.gn
+++ b/base/BUILD.gn
@@ -1561,7 +1561,7 @@ mixed_component("base") {
@@ -1559,7 +1559,7 @@ mixed_component("base") {
# more robust check for this.
if (!use_sysroot && (is_android || is_chromeos || (is_linux && !is_castos)) &&
host_toolchain != "//build/toolchain/cros:host") {

View file

@ -82,7 +82,7 @@ diff --git a/net/dns/dns_client.cc b/net/dns/dns_client.cc
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
@@ -2933,6 +2933,7 @@ void HostResolverManager::SetDnsConfigOverrides(DnsConfigOverrides overrides) {
@@ -3293,6 +3293,7 @@ void HostResolverManager::SetDnsConfigOverrides(DnsConfigOverrides overrides) {
bool changed = dns_client_->SetConfigOverrides(std::move(overrides));
if (changed) {

View file

@ -9,22 +9,22 @@ by default.
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
chrome/browser/about_flags.cc | 5 +++++
chrome/browser/browser_features.cc | 4 ++--
chrome/browser/browser_features.cc | 2 +-
chrome/browser/flag_descriptions.cc | 4 ++++
chrome/browser/flag_descriptions.h | 3 +++
chrome/browser/net/system_network_context_manager.cc | 4 ----
chrome/browser/ssl/sct_reporting_service.cc | 5 +++++
chrome/common/chrome_features.cc | 6 +-----
chrome/common/chrome_features.cc | 6 +++---
net/http/transport_security_state.cc | 9 +++++----
net/url_request/report_sender.cc | 3 ++-
services/network/network_context.cc | 2 +-
services/network/sct_auditing/sct_auditing_handler.cc | 2 ++
11 files changed, 30 insertions(+), 17 deletions(-)
11 files changed, 31 insertions(+), 14 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
@@ -9060,6 +9060,11 @@ const FeatureEntry kFeatureEntries[] = {
@@ -8848,6 +8848,11 @@ const FeatureEntry kFeatureEntries[] = {
flag_descriptions::kWebMidiDescription, kOsAll,
FEATURE_VALUE_TYPE(features::kWebMidi)},
#if BUILDFLAG(IS_ANDROID)
@ -39,21 +39,19 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
diff --git a/chrome/browser/browser_features.cc b/chrome/browser/browser_features.cc
--- a/chrome/browser/browser_features.cc
+++ b/chrome/browser/browser_features.cc
@@ -155,8 +155,8 @@ BASE_FEATURE(kWebUsbDeviceDetection,
@@ -143,7 +143,7 @@ const base::Feature kWebUsbDeviceDetection{"WebUsbDeviceDetection",
#if BUILDFLAG(IS_ANDROID)
// Enables Certificate Transparency on Android.
BASE_FEATURE(kCertificateTransparencyAndroid,
- "CertificateTransparencyAndroid",
- base::FEATURE_ENABLED_BY_DEFAULT);
+ "CertificateTransparencyAndroid", // must be enabled
+ base::FEATURE_ENABLED_BY_DEFAULT); // in Bromite
const base::Feature kCertificateTransparencyAndroid{
- "CertificateTransparencyAndroid", base::FEATURE_ENABLED_BY_DEFAULT};
+ "CertificateTransparencyAndroid", base::FEATURE_ENABLED_BY_DEFAULT}; // enabled by default in Bromite
#endif
BASE_FEATURE(kLargeFaviconFromGoogle,
const base::Feature kLargeFaviconFromGoogle{"LargeFaviconFromGoogle",
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
@@ -6874,6 +6874,10 @@ const char kAutofillCreditCardUploadDescription[] =
@@ -6652,6 +6652,10 @@ const char kAutofillCreditCardUploadDescription[] =
#endif // defined(TOOLKIT_VIEWS) || BUILDFLAG(IS_ANDROID)
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_ANDROID)
@ -67,7 +65,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
@@ -3969,6 +3969,9 @@ extern const char kAutofillCreditCardUploadDescription[];
@@ -3848,6 +3848,9 @@ extern const char kAutofillCreditCardUploadDescription[];
#endif // defined(TOOLKIT_VIEWS) || BUILDFLAG(IS_ANDROID)
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_ANDROID)
@ -116,23 +114,23 @@ diff --git a/chrome/browser/ssl/sct_reporting_service.cc b/chrome/browser/ssl/sc
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
@@ -995,11 +995,7 @@ BASE_FEATURE(kSchedulerConfiguration,
@@ -838,9 +838,9 @@ const base::Feature kSchedulerConfiguration{"SchedulerConfiguration",
// Controls whether SCT audit reports are queued and the rate at which they
// should be sampled. Default sampling rate is 1/10,000 certificates.
-#if BUILDFLAG(IS_ANDROID)
-BASE_FEATURE(kSCTAuditing, "SCTAuditing", base::FEATURE_DISABLED_BY_DEFAULT);
-#else
-BASE_FEATURE(kSCTAuditing, "SCTAuditing", base::FEATURE_ENABLED_BY_DEFAULT);
-#endif
+BASE_FEATURE(kSCTAuditing, "SCTAuditing", base::FEATURE_DISABLED_BY_DEFAULT); // disabled in Bromite
constexpr base::FeatureParam<double> kSCTAuditingSamplingRate{
&kSCTAuditing, "sampling_rate", 0.0001};
-const base::Feature kSCTAuditing{"SCTAuditing",
- base::FEATURE_DISABLED_BY_DEFAULT};
+#if BUILDFLAG(IS_ANDROID) // SCT auditing
+const base::Feature kSCTAuditing{"SCTAuditing", // must be always
+ base::FEATURE_DISABLED_BY_DEFAULT}; // disabled in Bromite
#else
const base::Feature kSCTAuditing{"SCTAuditing",
base::FEATURE_ENABLED_BY_DEFAULT};
diff --git a/net/http/transport_security_state.cc b/net/http/transport_security_state.cc
--- a/net/http/transport_security_state.cc
+++ b/net/http/transport_security_state.cc
@@ -337,6 +337,7 @@ class HSTSPreloadDecoder : public net::extras::PreloadDecoder {
@@ -338,6 +338,7 @@ class HSTSPreloadDecoder : public net::extras::PreloadDecoder {
bool DecodeHSTSPreload(const std::string& search_hostname, PreloadResult* out) {
#if !BUILDFLAG(INCLUDE_TRANSPORT_SECURITY_STATE_PRELOAD_LIST)
@ -140,21 +138,20 @@ diff --git a/net/http/transport_security_state.cc b/net/http/transport_security_
if (g_hsts_source == nullptr)
return false;
#endif
@@ -382,13 +383,13 @@ bool DecodeHSTSPreload(const std::string& search_hostname, PreloadResult* out) {
@@ -382,12 +383,12 @@ bool DecodeHSTSPreload(const std::string& search_hostname, PreloadResult* out) {
} // namespace
// static
BASE_FEATURE(kDynamicExpectCTFeature,
- "DynamicExpectCT",
- base::FEATURE_DISABLED_BY_DEFAULT);
+ "DynamicExpectCT", // disabled by default
+ base::FEATURE_DISABLED_BY_DEFAULT); // in Bromite
-const base::Feature TransportSecurityState::kDynamicExpectCTFeature{
- "DynamicExpectCT", base::FEATURE_DISABLED_BY_DEFAULT};
+const base::Feature TransportSecurityState::kDynamicExpectCTFeature{ // must stay disabled
+ "DynamicExpectCT", base::FEATURE_DISABLED_BY_DEFAULT}; // in Bromite
// static
BASE_FEATURE(kCertificateTransparencyEnforcement,
- "CertificateTransparencyEnforcement",
- base::FEATURE_ENABLED_BY_DEFAULT);
+ "CertificateTransparencyEnforcement", // must be enabled
+ base::FEATURE_ENABLED_BY_DEFAULT); // in Bromite
-const base::Feature TransportSecurityState::kCertificateTransparencyEnforcement{
- "CertificateTransparencyEnforcement", base::FEATURE_ENABLED_BY_DEFAULT};
+const base::Feature TransportSecurityState::kCertificateTransparencyEnforcement{ // must stay enabled
+ "CertificateTransparencyEnforcement", base::FEATURE_ENABLED_BY_DEFAULT}; // in Bromite
void SetTransportSecurityStateSourceForTesting(
const TransportSecurityStateSource* source) {
@ -174,7 +171,7 @@ diff --git a/net/url_request/report_sender.cc b/net/url_request/report_sender.cc
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
@@ -2652,7 +2652,7 @@ URLRequestContextOwner NetworkContext::MakeURLRequestContext(
@@ -2662,7 +2662,7 @@ URLRequestContextOwner NetworkContext::MakeURLRequestContext(
// TransportSecurityState. Since no requests have been made yet, safe to do
// this even after the call to Build().
@ -186,7 +183,7 @@ diff --git a/services/network/network_context.cc b/services/network/network_cont
diff --git a/services/network/sct_auditing/sct_auditing_handler.cc b/services/network/sct_auditing/sct_auditing_handler.cc
--- a/services/network/sct_auditing/sct_auditing_handler.cc
+++ b/services/network/sct_auditing/sct_auditing_handler.cc
@@ -113,6 +113,7 @@ void SCTAuditingHandler::MaybeEnqueueReport(
@@ -114,6 +114,7 @@ void SCTAuditingHandler::MaybeEnqueueReport(
if (mode_ == mojom::SCTAuditingMode::kDisabled) {
return;
}
@ -194,7 +191,7 @@ diff --git a/services/network/sct_auditing/sct_auditing_handler.cc b/services/ne
// Only audit valid SCTs. This ensures that they come from a known log, have
// a valid signature, and thus are expected to be public certificates. If
@@ -327,6 +328,7 @@ void SCTAuditingHandler::AddReporter(
@@ -329,6 +330,7 @@ void SCTAuditingHandler::AddReporter(
if (mode_ == mojom::SCTAuditingMode::kDisabled) {
return;
}

View file

@ -10,16 +10,16 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/net/base/features.cc b/net/base/features.cc
--- a/net/base/features.cc
+++ b/net/base/features.cc
@@ -76,8 +76,8 @@ BASE_FEATURE(kEnableTLS13EarlyData,
base::FEATURE_DISABLED_BY_DEFAULT);
@@ -116,8 +116,8 @@ const base::Feature kDisableTLSResumption{"DisableTLSResumption",
const base::Feature kLogTLSResumption{"LogTLSResumption",
base::FEATURE_DISABLED_BY_DEFAULT};
BASE_FEATURE(kEncryptedClientHello,
- "EncryptedClientHello",
- base::FEATURE_DISABLED_BY_DEFAULT);
+ "EncryptedClientHello", // enabled
+ base::FEATURE_ENABLED_BY_DEFAULT); // in Bromite
-const base::Feature kEncryptedClientHello{"EncryptedClientHello",
- base::FEATURE_DISABLED_BY_DEFAULT};
+const base::Feature kEncryptedClientHello{"EncryptedClientHello", // enabled by default
+ base::FEATURE_ENABLED_BY_DEFAULT}; // in Bromite
BASE_FEATURE(kNetworkQualityEstimator,
"NetworkQualityEstimator",
const base::Feature kIsCleartextPermitted{"IsCleartextPermitted",
base::FEATURE_ENABLED_BY_DEFAULT};
--
2.25.1

View file

@ -12,14 +12,14 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
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
@@ -289,8 +289,8 @@ BASE_FEATURE(kPictureInPicture,
@@ -270,8 +270,8 @@ const base::Feature kPictureInPicture{"PictureInPicture",
#if BUILDFLAG(ENABLE_PLATFORM_HEVC)
// Enables HEVC hardware accelerated decoding.
BASE_FEATURE(kPlatformHEVCDecoderSupport,
- "PlatformHEVCDecoderSupport",
- base::FEATURE_ENABLED_BY_DEFAULT);
+ "PlatformHEVCDecoderSupport", // must be enabled
+ base::FEATURE_ENABLED_BY_DEFAULT); // in Bromite
-const base::Feature kPlatformHEVCDecoderSupport{
- "PlatformHEVCDecoderSupport", base::FEATURE_ENABLED_BY_DEFAULT};
+const base::Feature kPlatformHEVCDecoderSupport{ // must be enabled
+ "PlatformHEVCDecoderSupport", base::FEATURE_ENABLED_BY_DEFAULT}; // in Bromite
#endif // BUILDFLAG(ENABLE_PLATFORM_HEVC)
// Only decode preload=metadata elements upon visibility.

View file

@ -0,0 +1,23 @@
From: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Tue, 25 May 2021 19:33:41 +0200
Subject: Enable IntentBlockExternalFormRedirectsNoGesture
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
.../external_intents/android/external_intents_features.cc | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/components/external_intents/android/external_intents_features.cc b/components/external_intents/android/external_intents_features.cc
--- a/components/external_intents/android/external_intents_features.cc
+++ b/components/external_intents/android/external_intents_features.cc
@@ -36,7 +36,7 @@ const base::Feature kExternalNavigationDebugLogs{
const base::Feature kIntentBlockExternalFormRedirectsNoGesture{
"IntentBlockExternalFormRedirectsNoGesture",
- base::FEATURE_DISABLED_BY_DEFAULT};
+ base::FEATURE_ENABLED_BY_DEFAULT};
const base::Feature kScaryExternalNavigationRefactoring{
"ScaryExternalNavigationRefactoring", base::FEATURE_ENABLED_BY_DEFAULT};
--
2.25.1

View file

@ -1,25 +0,0 @@
From: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Fri, 2 Dec 2022 01:18:14 +0100
Subject: Enable PermuteTLSExtensions by default
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
net/base/features.cc | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/net/base/features.cc b/net/base/features.cc
--- a/net/base/features.cc
+++ b/net/base/features.cc
@@ -154,8 +154,8 @@ BASE_FEATURE(kTLS13KeyUpdate,
base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kPermuteTLSExtensions,
- "PermuteTLSExtensions",
- base::FEATURE_DISABLED_BY_DEFAULT);
+ "PermuteTLSExtensions", // enabled by default
+ base::FEATURE_ENABLED_BY_DEFAULT); // in Bromite
BASE_FEATURE(kPostQuantumCECPQ2,
"PostQuantumCECPQ2",
--
2.25.1

View file

@ -4,39 +4,34 @@ Subject: Enable SPPI for devices with enough memory
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
chrome/common/chrome_features.cc | 8 ++------
components/site_isolation/features.cc | 4 ++--
2 files changed, 4 insertions(+), 8 deletions(-)
chrome/common/chrome_features.cc | 4 ----
components/site_isolation/features.cc | 2 +-
2 files changed, 1 insertion(+), 5 deletions(-)
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
@@ -1045,12 +1045,8 @@ BASE_FEATURE(kSecurityKeyAttestationPrompt,
// TODO(alexmos): Move this and the other site isolation features below to
@@ -889,11 +889,7 @@ const base::Feature kSecurityKeyAttestationPrompt{
// browser_features, as they are only used on the browser side.
BASE_FEATURE(kSitePerProcess,
- "SitePerProcess",
const base::Feature kSitePerProcess {
"SitePerProcess",
-#if BUILDFLAG(IS_ANDROID)
- base::FEATURE_DISABLED_BY_DEFAULT
- base::FEATURE_DISABLED_BY_DEFAULT
-#else
- base::FEATURE_ENABLED_BY_DEFAULT
base::FEATURE_ENABLED_BY_DEFAULT
-#endif
+ "SitePerProcess", // enabled by default
+ base::FEATURE_ENABLED_BY_DEFAULT // in Bromite
);
};
#if BUILDFLAG(IS_CHROMEOS_ASH)
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
@@ -64,8 +64,8 @@ BASE_FEATURE(kSiteIsolationForOAuthSites,
@@ -63,7 +63,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.
BASE_FEATURE(kSiteIsolationMemoryThresholds,
- "SiteIsolationMemoryThresholds",
- base::FEATURE_DISABLED_BY_DEFAULT);
+ "SiteIsolationMemoryThresholds", // must be enabled
+ base::FEATURE_ENABLED_BY_DEFAULT); // in Bromite
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[] =

View file

@ -12,13 +12,13 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
chrome/browser/about_flags.cc | 3 ---
chrome/browser/chrome_content_browser_client.cc | 4 ++--
components/site_isolation/site_isolation_policy.cc | 2 ++
content/public/common/content_features.cc | 4 ++--
4 files changed, 6 insertions(+), 7 deletions(-)
content/public/common/content_features.cc | 2 +-
4 files changed, 5 insertions(+), 6 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
@@ -4560,9 +4560,6 @@ const FeatureEntry kFeatureEntries[] = {
@@ -4445,9 +4445,6 @@ const FeatureEntry kFeatureEntries[] = {
flag_descriptions::kSiteIsolationForPasswordSitesDescription, kOsAndroid,
FEATURE_VALUE_TYPE(
site_isolation::features::kSiteIsolationForPasswordSites)},
@ -31,7 +31,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
@@ -1425,7 +1425,7 @@ void ChromeContentBrowserClient::RegisterLocalStatePrefs(
@@ -1415,7 +1415,7 @@ void ChromeContentBrowserClient::RegisterLocalStatePrefs(
registry->RegisterFilePathPref(prefs::kDiskCacheDir, base::FilePath());
registry->RegisterIntegerPref(prefs::kDiskCacheSize, 0);
registry->RegisterStringPref(prefs::kIsolateOrigins, std::string());
@ -40,7 +40,7 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch
registry->RegisterBooleanPref(prefs::kTabFreezingEnabled, true);
registry->RegisterIntegerPref(prefs::kSCTAuditingHashdanceReportCount, 0);
}
@@ -1439,7 +1439,7 @@ void ChromeContentBrowserClient::RegisterProfilePrefs(
@@ -1429,7 +1429,7 @@ void ChromeContentBrowserClient::RegisterProfilePrefs(
// user policy in addition to the same named ones in Local State (which are
// used for mapping the command-line flags).
registry->RegisterStringPref(prefs::kIsolateOrigins, std::string());
@ -71,16 +71,14 @@ diff --git a/components/site_isolation/site_isolation_policy.cc b/components/sit
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
@@ -1112,8 +1112,8 @@ BASE_FEATURE(kStopVideoCaptureOnScreenLock,
@@ -1000,7 +1000,7 @@ const base::Feature kStopVideoCaptureOnScreenLock{
// Controls whether site isolation should use origins instead of scheme and
// eTLD+1.
BASE_FEATURE(kStrictOriginIsolation,
- "StrictOriginIsolation",
- base::FEATURE_DISABLED_BY_DEFAULT);
+ "StrictOriginIsolation", // must be enabled
+ base::FEATURE_ENABLED_BY_DEFAULT); // in Bromite
const base::Feature kStrictOriginIsolation{"StrictOriginIsolation",
- base::FEATURE_DISABLED_BY_DEFAULT};
+ base::FEATURE_ENABLED_BY_DEFAULT};
// Disallows window.{alert, prompt, confirm} if triggered inside a subframe that
// is not same origin with the main frame.
// Enables subresource loading with Web Bundles.
const base::Feature kSubresourceWebBundles{"SubresourceWebBundles",
--
2.25.1

View file

@ -7,14 +7,14 @@ Unexpire #darken-websites-checkbox-in-themes-setting
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
chrome/browser/flag-metadata.json | 6 +++---
components/content_settings/core/common/features.cc | 4 ++--
2 files changed, 5 insertions(+), 5 deletions(-)
components/content_settings/core/common/features.cc | 2 +-
2 files changed, 4 insertions(+), 4 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
@@ -1256,9 +1256,9 @@
"expiry_milestone": 114
@@ -1225,9 +1225,9 @@
"expiry_milestone": 110
},
{
- "name": "darken-websites-checkbox-in-themes-setting",
@ -29,14 +29,12 @@ diff --git a/chrome/browser/flag-metadata.json b/chrome/browser/flag-metadata.js
diff --git a/components/content_settings/core/common/features.cc b/components/content_settings/core/common/features.cc
--- a/components/content_settings/core/common/features.cc
+++ b/components/content_settings/core/common/features.cc
@@ -19,8 +19,8 @@ BASE_FEATURE(kImprovedCookieControls,
@@ -18,7 +18,7 @@ const base::Feature kImprovedCookieControls{"ImprovedCookieControls",
// Enables auto dark feature in theme settings.
#if BUILDFLAG(IS_ANDROID)
BASE_FEATURE(kDarkenWebsitesCheckboxInThemesSetting,
- "DarkenWebsitesCheckboxInThemesSetting",
- base::FEATURE_DISABLED_BY_DEFAULT);
+ "DarkenWebsitesCheckboxInThemesSetting", // must be enabled
+ base::FEATURE_ENABLED_BY_DEFAULT); // in Bromite
const base::Feature kDarkenWebsitesCheckboxInThemesSetting{
- "DarkenWebsitesCheckboxInThemesSetting", base::FEATURE_DISABLED_BY_DEFAULT};
+ "DarkenWebsitesCheckboxInThemesSetting", base::FEATURE_ENABLED_BY_DEFAULT};
constexpr base::FeatureParam<bool> kDarkenWebsitesCheckboxOptOut{
&kDarkenWebsitesCheckboxInThemesSetting, "opt_out", true};
#endif // BUILDFLAG(IS_ANDROID)

View file

@ -45,7 +45,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
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
@@ -330,6 +330,10 @@ config("compiler") {
@@ -333,6 +333,10 @@ config("compiler") {
}
}

View file

@ -55,14 +55,14 @@ diff --git a/android_webview/browser/aw_contents.cc b/android_webview/browser/aw
diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
--- a/chrome/android/BUILD.gn
+++ b/chrome/android/BUILD.gn
@@ -461,6 +461,7 @@ if (current_toolchain == default_toolchain) {
"//chrome/browser/ui/android/layouts:java",
"//chrome/browser/ui/android/layouts/glue:java",
"//chrome/browser/ui/android/layouts/third_party/float_property:java",
@@ -461,6 +461,7 @@ android_library("chrome_java") {
"//components/autofill_assistant/android:public_dependencies_java",
"//components/autofill_assistant/android:public_java",
"//components/autofill_assistant/browser:proto_java",
+ "//components/android_autofill/browser:java",
"//chrome/browser/ui/android/logo:java",
"//chrome/browser/ui/android/management:java",
"//chrome/browser/ui/android/multiwindow:java",
"//components/background_task_scheduler:background_task_scheduler_java",
"//components/background_task_scheduler:background_task_scheduler_task_ids_java",
"//components/bookmarks/common/android:bookmarks_java",
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
@ -286,9 +286,9 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.jav
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabViewAndroidDelegate.java b/chrome/android/java/src/org/chromium/chrome/browser/tab/TabViewAndroidDelegate.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabViewAndroidDelegate.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tab/TabViewAndroidDelegate.java
@@ -32,6 +32,10 @@ import org.chromium.ui.dragdrop.DragStateTracker;
import org.chromium.ui.dragdrop.DropDataProviderImpl;
import org.chromium.ui.dragdrop.DropDataProviderUtils;
@@ -32,6 +32,10 @@ import org.chromium.ui.dragdrop.DragAndDropBrowserDelegate;
import org.chromium.ui.dragdrop.DragStateTracker;
import org.chromium.ui.dragdrop.DropDataContentProvider;
+import android.util.SparseArray;
+import android.view.autofill.AutofillValue;
@ -297,7 +297,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabViewAndr
/**
* Implementation of the abstract class {@link ViewAndroidDelegate} for Chrome.
*/
@@ -216,4 +220,14 @@ public class TabViewAndroidDelegate extends ViewAndroidDelegate {
@@ -214,4 +218,14 @@ public class TabViewAndroidDelegate extends ViewAndroidDelegate {
return intent;
}
}
@ -315,7 +315,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
@@ -2494,6 +2494,13 @@ static_library("browser") {
@@ -2478,6 +2478,13 @@ static_library("browser") {
deps += [ "//chrome/browser/error_reporting" ]
}
@ -410,7 +410,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
@@ -168,6 +168,9 @@
@@ -172,6 +172,9 @@
#include "chrome/browser/ui/javascript_dialogs/javascript_tab_modal_dialog_manager_delegate_android.h"
#include "chrome/browser/video_tutorials/video_tutorial_tab_helper.h"
#include "content/public/common/content_features.h"
@ -420,7 +420,7 @@ 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"
@@ -330,7 +333,8 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) {
@@ -334,7 +337,8 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) {
base::BindRepeating(
&autofill::BrowserDriverInitHook,
autofill::ChromeAutofillClient::FromWebContents(web_contents),
@ -668,7 +668,7 @@ diff --git a/components/autofill/content/browser/content_autofill_driver_factory
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
@@ -799,7 +799,10 @@ void PasswordAutofillAgent::UpdateStateForTextChange(
@@ -793,7 +793,10 @@ void PasswordAutofillAgent::UpdateStateForTextChange(
void PasswordAutofillAgent::TrackAutofilledElement(
const blink::WebFormControlElement& element) {

View file

@ -9,64 +9,53 @@ PartitionNelAndReportingByNetworkIsolationKey
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
net/base/features.cc | 32 ++++++++++++++++----------------
1 file changed, 16 insertions(+), 16 deletions(-)
net/base/features.cc | 14 +++++++-------
1 file changed, 7 insertions(+), 7 deletions(-)
diff --git a/net/base/features.cc b/net/base/features.cc
--- a/net/base/features.cc
+++ b/net/base/features.cc
@@ -82,36 +82,36 @@ BASE_FEATURE(kSplitCacheByIncludeCredentials,
base::FEATURE_DISABLED_BY_DEFAULT);
@@ -120,14 +120,14 @@ const base::Feature kSplitCacheByIncludeCredentials{
"SplitCacheByIncludeCredentials", base::FEATURE_DISABLED_BY_DEFAULT};
BASE_FEATURE(kSplitCacheByNetworkIsolationKey,
- "SplitCacheByNetworkIsolationKey",
- base::FEATURE_DISABLED_BY_DEFAULT);
+ "SplitCacheByNetworkIsolationKey", // must be enabled
+ base::FEATURE_ENABLED_BY_DEFAULT); // in Bromite
const base::Feature kSplitCacheByNetworkIsolationKey{
- "SplitCacheByNetworkIsolationKey", base::FEATURE_DISABLED_BY_DEFAULT};
+ "SplitCacheByNetworkIsolationKey", base::FEATURE_ENABLED_BY_DEFAULT};
-BASE_FEATURE(kSplitHostCacheByNetworkIsolationKey,
- "SplitHostCacheByNetworkIsolationKey",
- base::FEATURE_DISABLED_BY_DEFAULT);
+BASE_FEATURE(kSplitHostCacheByNetworkIsolationKey, // must be enabled
+ "SplitHostCacheByNetworkIsolationKey", // in Bromite
+ base::FEATURE_ENABLED_BY_DEFAULT);
const base::Feature kSplitHostCacheByNetworkIsolationKey{
- "SplitHostCacheByNetworkIsolationKey", base::FEATURE_DISABLED_BY_DEFAULT};
+ "SplitHostCacheByNetworkIsolationKey", base::FEATURE_ENABLED_BY_DEFAULT};
BASE_FEATURE(kPartitionConnectionsByNetworkIsolationKey,
- "PartitionConnectionsByNetworkIsolationKey",
- base::FEATURE_DISABLED_BY_DEFAULT);
+ "PartitionConnectionsByNetworkIsolationKey", // must be enabled
+ base::FEATURE_ENABLED_BY_DEFAULT); // in Bromite
const base::Feature kPartitionConnectionsByNetworkIsolationKey{
"PartitionConnectionsByNetworkIsolationKey",
- base::FEATURE_DISABLED_BY_DEFAULT};
+ base::FEATURE_ENABLED_BY_DEFAULT};
BASE_FEATURE(kForceIsolationInfoFrameOriginToTopLevelFrame,
"ForceIsolationInfoFrameOriginToTopLevelFrame",
base::FEATURE_DISABLED_BY_DEFAULT);
const base::Feature kForceIsolationInfoFrameOriginToTopLevelFrame{
"ForceIsolationInfoFrameOriginToTopLevelFrame",
@@ -135,19 +135,19 @@ const base::Feature kForceIsolationInfoFrameOriginToTopLevelFrame{
-BASE_FEATURE(kPartitionHttpServerPropertiesByNetworkIsolationKey,
- "PartitionHttpServerPropertiesByNetworkIsolationKey",
- base::FEATURE_DISABLED_BY_DEFAULT);
+BASE_FEATURE(kPartitionHttpServerPropertiesByNetworkIsolationKey, // must be enabled
+ "PartitionHttpServerPropertiesByNetworkIsolationKey", // in Bromite
+ base::FEATURE_ENABLED_BY_DEFAULT);
const base::Feature kPartitionHttpServerPropertiesByNetworkIsolationKey{
"PartitionHttpServerPropertiesByNetworkIsolationKey",
- base::FEATURE_DISABLED_BY_DEFAULT};
+ base::FEATURE_ENABLED_BY_DEFAULT};
BASE_FEATURE(kPartitionSSLSessionsByNetworkIsolationKey,
- "PartitionSSLSessionsByNetworkIsolationKey",
- base::FEATURE_DISABLED_BY_DEFAULT);
+ "PartitionSSLSessionsByNetworkIsolationKey", // must be enabled
+ base::FEATURE_ENABLED_BY_DEFAULT); // in Bromite
const base::Feature kPartitionSSLSessionsByNetworkIsolationKey{
"PartitionSSLSessionsByNetworkIsolationKey",
- base::FEATURE_DISABLED_BY_DEFAULT};
+ base::FEATURE_ENABLED_BY_DEFAULT};
BASE_FEATURE(kPartitionExpectCTStateByNetworkIsolationKey,
- "PartitionExpectCTStateByNetworkIsolationKey",
- base::FEATURE_DISABLED_BY_DEFAULT);
+ "PartitionExpectCTStateByNetworkIsolationKey", // must be enabled
+ base::FEATURE_ENABLED_BY_DEFAULT); // in Bromite
const base::Feature kPartitionExpectCTStateByNetworkIsolationKey{
"PartitionExpectCTStateByNetworkIsolationKey",
- base::FEATURE_DISABLED_BY_DEFAULT};
+ base::FEATURE_ENABLED_BY_DEFAULT};
BASE_FEATURE(kPartitionNelAndReportingByNetworkIsolationKey,
- "PartitionNelAndReportingByNetworkIsolationKey",
- base::FEATURE_DISABLED_BY_DEFAULT);
+ "PartitionNelAndReportingByNetworkIsolationKey", // must be enabled
+ base::FEATURE_ENABLED_BY_DEFAULT); // in Bromite
const base::Feature kPartitionNelAndReportingByNetworkIsolationKey{
"PartitionNelAndReportingByNetworkIsolationKey",
- base::FEATURE_DISABLED_BY_DEFAULT};
+ base::FEATURE_ENABLED_BY_DEFAULT};
BASE_FEATURE(kEnableDoubleKeyNetworkAnonymizationKey,
"EnableDoubleKeyNetworkAnonymizationKey",
const base::Feature kEnableDoubleKeyNetworkAnonymizationKey{
"EnableDoubleKeyNetworkAnonymizationKey",
--
2.25.1

View file

@ -4,20 +4,18 @@ Subject: Enable prefetch-privacy-changes by default
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
third_party/blink/common/features.cc | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
third_party/blink/common/features.cc | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/third_party/blink/common/features.cc b/third_party/blink/common/features.cc
--- a/third_party/blink/common/features.cc
+++ b/third_party/blink/common/features.cc
@@ -509,8 +509,8 @@ BASE_FEATURE(kAllowSyncXHRInPageDismissal,
@@ -460,7 +460,7 @@ const base::Feature kAllowSyncXHRInPageDismissal{
// Prefetch request properties are updated to be privacy-preserving. See
// crbug.com/988956.
BASE_FEATURE(kPrefetchPrivacyChanges,
- "PrefetchPrivacyChanges",
- base::FEATURE_DISABLED_BY_DEFAULT);
+ "PrefetchPrivacyChanges", // must be enabled
+ base::FEATURE_ENABLED_BY_DEFAULT); // in Bromite
const base::Feature kPrefetchPrivacyChanges{"PrefetchPrivacyChanges",
- base::FEATURE_DISABLED_BY_DEFAULT};
+ base::FEATURE_ENABLED_BY_DEFAULT};
// Decodes jpeg 4:2:0 formatted images to YUV instead of RGBX and stores in this
// format in the image decode cache. See crbug.com/919627 for details on the

View file

@ -19,18 +19,18 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
chrome/browser/about_flags.cc | 4 +
chrome/browser/flag_descriptions.cc | 5 +
chrome/browser/flag_descriptions.h | 3 +
.../flags/android/chrome_feature_list.cc | 5 +
.../flags/android/chrome_feature_list.cc | 4 +
.../flags/android/chrome_feature_list.h | 1 +
.../browser/flags/ChromeFeatureList.java | 1 +
.../strings/android_chrome_strings.grd | 13 ++
13 files changed, 256 insertions(+)
13 files changed, 255 insertions(+)
create mode 100644 chrome/android/java/res/layout/sharing_intent_content.xml
create mode 100644 chrome/android/java/src/org/chromium/chrome/browser/sharing/shared_intent/SharedIntentShareActivity.java
diff --git a/chrome/android/chrome_java_resources.gni b/chrome/android/chrome_java_resources.gni
--- a/chrome/android/chrome_java_resources.gni
+++ b/chrome/android/chrome_java_resources.gni
@@ -590,6 +590,7 @@ chrome_java_resources = [
@@ -592,6 +592,7 @@ chrome_java_resources = [
"java/res/layout/signin_activity.xml",
"java/res/layout/status_indicator_container.xml",
"java/res/layout/suggestions_tile_view_condensed.xml",
@ -41,7 +41,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
@@ -973,6 +973,7 @@ chrome_java_sources = [
@@ -966,6 +966,7 @@ chrome_java_sources = [
"java/src/org/chromium/chrome/browser/sharing/click_to_call/ClickToCallUma.java",
"java/src/org/chromium/chrome/browser/sharing/shared_clipboard/SharedClipboardMessageHandler.java",
"java/src/org/chromium/chrome/browser/sharing/sms_fetcher/SmsFetcherMessageHandler.java",
@ -52,7 +52,7 @@ diff --git a/chrome/android/chrome_java_sources.gni b/chrome/android/chrome_java
diff --git a/chrome/android/java/AndroidManifest.xml b/chrome/android/java/AndroidManifest.xml
--- a/chrome/android/java/AndroidManifest.xml
+++ b/chrome/android/java/AndroidManifest.xml
@@ -753,6 +753,24 @@ by a child template that "extends" this file.
@@ -741,6 +741,24 @@ by a child template that "extends" this file.
android:process=":browser_restart_process">
</activity>
@ -168,7 +168,7 @@ new file mode 100644
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
@@ -82,6 +82,7 @@ import org.chromium.chrome.browser.searchwidget.SearchWidgetProvider;
@@ -81,6 +81,7 @@ import org.chromium.chrome.browser.searchwidget.SearchWidgetProvider;
import org.chromium.chrome.browser.tab.state.PersistedTabData;
import org.chromium.chrome.browser.tab.state.ShoppingPersistedTabData;
import org.chromium.chrome.browser.ui.searchactivityutils.SearchActivityPreferencesManager;
@ -176,7 +176,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/init/ProcessIni
import org.chromium.chrome.browser.usb.UsbNotificationManager;
import org.chromium.chrome.browser.util.AfterStartupTaskUtils;
import org.chromium.chrome.browser.webapps.WebappRegistry;
@@ -417,6 +418,8 @@ public class ProcessInitializationHandler {
@@ -408,6 +409,8 @@ public class ProcessInitializationHandler {
.resolveClearDataDialogResultRecorder()::makeDeferredRecordings);
deferredStartupHandler.addDeferredTask(WebApkUninstallUmaTracker::recordDeferredUma);
@ -311,7 +311,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
@@ -6783,6 +6783,10 @@ const FeatureEntry kFeatureEntries[] = {
@@ -6572,6 +6572,10 @@ const FeatureEntry kFeatureEntries[] = {
#endif // BUILDFLAG(IS_CHROMEOS)
#if BUILDFLAG(IS_ANDROID)
@ -325,7 +325,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
@@ -2783,6 +2783,11 @@ const char kIsolateOriginsDescription[] =
@@ -2661,6 +2661,11 @@ const char kIsolateOriginsDescription[] =
"Requires dedicated processes for an additional set of origins, "
"specified as a comma-separated list.";
@ -340,7 +340,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
@@ -1576,6 +1576,9 @@ extern const char kIsolateOriginsDescription[];
@@ -1504,6 +1504,9 @@ extern const char kIsolateOriginsDescription[];
extern const char kIsolationByDefaultName[];
extern const char kIsolationByDefaultDescription[];
@ -361,32 +361,31 @@ diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browse
&kRelatedSearchesUi,
&kRequestDesktopSiteDefaults,
&kRequestDesktopSiteDefaultsControl,
@@ -936,6 +937,10 @@ BASE_FEATURE(kSafeModeForCachedFlags,
"SafeModeForCachedFlags",
base::FEATURE_DISABLED_BY_DEFAULT);
@@ -724,6 +725,9 @@ const base::Feature kNewInstanceFromDraggedLink{
const base::Feature kNewTabPageTilesTitleWrapAround{
"NewTabPageTilesTitleWrapAround", base::FEATURE_DISABLED_BY_DEFAULT};
+BASE_FEATURE(kSharedIntentUI,
+ "SharedIntentUI",
+ base::FEATURE_ENABLED_BY_DEFAULT);
+const base::Feature kSharedIntentUI{
+ "SharedIntentUI", base::FEATURE_ENABLED_BY_DEFAULT};
+
BASE_FEATURE(kShareButtonInTopToolbar,
"ShareButtonInTopToolbar",
base::FEATURE_DISABLED_BY_DEFAULT);
const base::Feature kNewWindowAppMenu{"NewWindowAppMenu",
base::FEATURE_ENABLED_BY_DEFAULT};
diff --git a/chrome/browser/flags/android/chrome_feature_list.h b/chrome/browser/flags/android/chrome_feature_list.h
--- a/chrome/browser/flags/android/chrome_feature_list.h
+++ b/chrome/browser/flags/android/chrome_feature_list.h
@@ -142,6 +142,7 @@ BASE_DECLARE_FEATURE(kSearchEnginePromoNewDevice);
BASE_DECLARE_FEATURE(kSearchEnginePromoNewDeviceV2);
BASE_DECLARE_FEATURE(kShareButtonInTopToolbar);
BASE_DECLARE_FEATURE(kSearchReadyOmniboxFeature);
+BASE_DECLARE_FEATURE(kSharedIntentUI);
BASE_DECLARE_FEATURE(kSharingHubLinkToggle);
BASE_DECLARE_FEATURE(kShowScrollableMVTOnNTPAndroid);
BASE_DECLARE_FEATURE(kFeedPositionAndroid);
@@ -139,6 +139,7 @@ extern const base::Feature kRequestDesktopSiteDefaultsDowngrade;
extern const base::Feature kSearchEnginePromoExistingDevice;
extern const base::Feature kSearchEnginePromoExistingDeviceV2;
extern const base::Feature kSearchEnginePromoNewDevice;
+extern const base::Feature kSharedIntentUI;
extern const base::Feature kSearchReadyOmniboxFeature;
extern const base::Feature kSearchEnginePromoNewDeviceV2;
extern const base::Feature kShareButtonInTopToolbar;
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
@@ -510,6 +510,7 @@ public abstract class ChromeFeatureList {
@@ -506,6 +506,7 @@ public abstract class ChromeFeatureList {
public static final String QUIET_NOTIFICATION_PROMPTS = "QuietNotificationPrompts";
public static final String REACHED_CODE_PROFILER = "ReachedCodeProfiler";
public static final String READ_LATER = "ReadLater";
@ -397,7 +396,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
@@ -4855,6 +4855,19 @@ To change this setting, <ph name="BEGIN_LINK">&lt;resetlink&gt;</ph>reset sync<p
@@ -4864,6 +4864,19 @@ To change this setting, <ph name="BEGIN_LINK">&lt;resetlink&gt;</ph>reset sync<p
Copied to your clipboard
</message>

View file

@ -1,25 +0,0 @@
From: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Sat, 3 Dec 2022 12:02:20 +0100
Subject: Enable third-party storage partitioning
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
net/base/features.cc | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/net/base/features.cc b/net/base/features.cc
--- a/net/base/features.cc
+++ b/net/base/features.cc
@@ -362,8 +362,8 @@ const base::FeatureParam<bool> kStorageAccessAPIAutoDenyOutsideFPS{
// Enables partitioning of third party storage (IndexedDB, CacheStorage, etc.)
// by the top level site to reduce fingerprinting.
BASE_FEATURE(kThirdPartyStoragePartitioning,
- "ThirdPartyStoragePartitioning",
- base::FEATURE_DISABLED_BY_DEFAULT);
+ "ThirdPartyStoragePartitioning", // must be enabled
+ base::FEATURE_ENABLED_BY_DEFAULT); // in Bromite
BASE_FEATURE(kAlpsParsing, "AlpsParsing", base::FEATURE_ENABLED_BY_DEFAULT);
--
2.25.1

View file

@ -27,7 +27,7 @@ Requires patch: Adds-support-for-writing-URIs.patch
Original License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
chrome/android/BUILD.gn | 4 +
chrome/android/BUILD.gn | 5 +
.../android/java/res/xml/main_preferences.xml | 5 +
.../browser/download/DownloadUtils.java | 6 +
.../init/ProcessInitializationHandler.java | 3 +
@ -136,7 +136,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../renderer/web_ui_injection_host.h | 27 +
.../strings/userscripts_strings.grdp | 54 ++
tools/gritsettings/resource_ids.spec | 6 +
109 files changed, 9449 insertions(+), 2 deletions(-)
109 files changed, 9450 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
@ -226,24 +226,25 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
--- a/chrome/android/BUILD.gn
+++ b/chrome/android/BUILD.gn
@@ -303,6 +303,9 @@ if (current_toolchain == default_toolchain) {
"//third_party/androidx:androidx_gridlayout_gridlayout_java",
"//third_party/androidx:androidx_preference_preference_java",
]
+ # this need to be into android_resources("chrome_app_java_resources") section because
+ # android:java_resources are packed *_percent.pak and placed in the executable folder
+ deps += [ "//components/user_scripts/android:java_resources" ]
}
@@ -276,6 +276,10 @@ android_resources("chrome_app_java_resources") {
"//third_party/androidx:androidx_gridlayout_gridlayout_java",
"//third_party/androidx:androidx_preference_preference_java",
]
+
+ # this need to be into android_resources("chrome_app_java_resources") section because
+ # android:java_resources are packed *_percent.pak and placed in the executable folder
+ deps += [ "//components/user_scripts/android:java_resources" ]
}
if (enable_vr) {
@@ -607,6 +610,7 @@ if (current_toolchain == default_toolchain) {
"//components/ukm/android:java",
"//components/url_formatter/android:url_formatter_java",
"//components/user_prefs/android:java",
+ "//components/user_scripts/android:java",
"//components/variations:variations_java",
"//components/variations/android:variations_java",
"//components/version_info/android:version_constants_java",
if (enable_vr) {
@@ -581,6 +585,7 @@ android_library("chrome_java") {
"//components/ukm/android:java",
"//components/url_formatter/android:url_formatter_java",
"//components/user_prefs/android:java",
+ "//components/user_scripts/android:java",
"//components/variations:variations_java",
"//components/variations/android:variations_java",
"//components/version_info/android:version_constants_java",
diff --git a/chrome/android/java/res/xml/main_preferences.xml b/chrome/android/java/res/xml/main_preferences.xml
--- a/chrome/android/java/res/xml/main_preferences.xml
+++ b/chrome/android/java/res/xml/main_preferences.xml
@ -285,7 +286,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
@@ -120,6 +120,8 @@ import java.util.Date;
@@ -119,6 +119,8 @@ import java.util.Date;
import java.util.List;
import java.util.Locale;
@ -294,7 +295,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
@@ -308,6 +310,7 @@ public class ProcessInitializationHandler {
@@ -307,6 +309,7 @@ public class ProcessInitializationHandler {
DefaultBrowserInfo.initBrowserFetcher();
@ -322,7 +323,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
@@ -3503,6 +3503,11 @@ static_library("browser") {
@@ -3490,6 +3490,11 @@ static_library("browser") {
]
deps += [ "//chrome/android/modules/dev_ui/provider:native" ]
}
@ -337,7 +338,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
@@ -156,6 +156,7 @@
@@ -155,6 +155,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 +346,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"
@@ -7749,6 +7750,10 @@ const FeatureEntry kFeatureEntries[] = {
@@ -7534,6 +7535,10 @@ const FeatureEntry kFeatureEntries[] = {
chromeos::features::kClipboardHistoryNudgeSessionReset)},
#endif // BUILDFLAG(IS_CHROMEOS_ASH)
@ -359,7 +360,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
@@ -5085,7 +5085,8 @@ ChromeContentBrowserClient::CreateURLLoaderThrottles(
@@ -5049,7 +5049,8 @@ ChromeContentBrowserClient::CreateURLLoaderThrottles(
chrome::mojom::DynamicParams dynamic_params = {
profile->GetPrefs()->GetBoolean(prefs::kForceGoogleSafeSearch),
profile->GetPrefs()->GetInteger(prefs::kForceYouTubeRestrict),
@ -372,7 +373,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
@@ -6697,6 +6697,11 @@ const char kFollowingFeedSidepanelDescription[] =
@@ -6475,6 +6475,11 @@ const char kFollowingFeedSidepanelDescription[] =
#endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ||
// BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_CHROMEOS)
@ -387,7 +388,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
@@ -3838,6 +3838,9 @@ extern const char kQuickCommandsDescription[];
@@ -3717,6 +3717,9 @@ extern const char kQuickCommandsDescription[];
#endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ||
// defined (OS_FUCHSIA)
@ -400,7 +401,7 @@ diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptio
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
@@ -251,6 +251,7 @@
@@ -246,6 +246,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 +409,7 @@ diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browse
#else // BUILDFLAG(IS_ANDROID)
#include "chrome/browser/cart/cart_service.h"
#include "chrome/browser/device_api/device_service_impl.h"
@@ -1323,6 +1324,7 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry,
@@ -1350,6 +1351,7 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry,
translate::TranslatePrefs::RegisterProfilePrefs(registry);
omnibox::RegisterProfilePrefs(registry);
ZeroSuggestProvider::RegisterProfilePrefs(registry);
@ -430,7 +431,7 @@ 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
@@ -261,6 +261,8 @@
@@ -260,6 +260,8 @@
#include "chrome/browser/enterprise/idle/idle_service_factory.h"
#endif
@ -439,7 +440,7 @@ diff --git a/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc
namespace chrome {
void AddProfilesExtraParts(ChromeBrowserMainParts* main_parts) {
@@ -620,6 +622,7 @@ void ChromeBrowserMainExtraPartsProfiles::
@@ -618,6 +620,7 @@ void ChromeBrowserMainExtraPartsProfiles::
#endif
WebDataServiceFactory::GetInstance();
webrtc_event_logging::WebRtcEventLogManagerKeyedServiceFactory::GetInstance();
@ -450,7 +451,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
@@ -116,6 +116,8 @@
@@ -115,6 +115,8 @@
#include "extensions/common/manifest.h"
#endif
@ -459,7 +460,7 @@ diff --git a/chrome/browser/profiles/profile_manager.cc b/chrome/browser/profile
#if BUILDFLAG(ENABLE_SESSION_SERVICE)
#include "chrome/browser/sessions/app_session_service_factory.h"
#include "chrome/browser/sessions/session_service_factory.h"
@@ -1705,6 +1707,13 @@ void ProfileManager::DoFinalInitForServices(Profile* profile,
@@ -1696,6 +1698,13 @@ void ProfileManager::DoFinalInitForServices(Profile* profile,
#endif
#endif
@ -526,7 +527,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
@@ -94,6 +94,7 @@
@@ -92,6 +92,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 +535,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"
@@ -834,6 +835,8 @@ WebUIFactoryFunction GetWebUIFactoryFunction(WebUI* web_ui,
@@ -821,6 +822,8 @@ WebUIFactoryFunction GetWebUIFactoryFunction(WebUI* web_ui,
return &NewWebUI<UserActionsUI>;
if (url.host_piece() == chrome::kChromeUIVersionHost)
return &NewWebUI<VersionUI>;
@ -554,7 +555,7 @@ diff --git a/chrome/chrome_paks.gni b/chrome/chrome_paks.gni
"$root_gen_dir/ui/resources/webui_generated_resources.pak",
]
deps = [
@@ -129,6 +130,7 @@ template("chrome_extra_paks") {
@@ -128,6 +129,7 @@ template("chrome_extra_paks") {
"//third_party/blink/public:devtools_inspector_resources",
"//third_party/blink/public:resources",
"//ui/resources",
@ -610,7 +611,7 @@ diff --git a/chrome/renderer/chrome_content_renderer_client.cc b/chrome/renderer
#if BUILDFLAG(ENABLE_SPELLCHECK)
if (!spellcheck_)
InitSpellCheck();
@@ -587,6 +596,13 @@ void ChromeContentRendererClient::RenderFrameCreated(
@@ -576,6 +585,13 @@ void ChromeContentRendererClient::RenderFrameCreated(
render_frame, registry);
#endif
@ -624,7 +625,7 @@ diff --git a/chrome/renderer/chrome_content_renderer_client.cc b/chrome/renderer
#if BUILDFLAG(ENABLE_PPAPI)
new PepperHelper(render_frame);
#endif
@@ -1556,7 +1572,14 @@ void ChromeContentRendererClient::RunScriptsAtDocumentStart(
@@ -1545,7 +1561,14 @@ void ChromeContentRendererClient::RunScriptsAtDocumentStart(
ChromeExtensionsRendererClient::GetInstance()->RunScriptsAtDocumentStart(
render_frame);
// |render_frame| might be dead by now.
@ -639,7 +640,7 @@ diff --git a/chrome/renderer/chrome_content_renderer_client.cc b/chrome/renderer
}
void ChromeContentRendererClient::RunScriptsAtDocumentEnd(
@@ -1565,7 +1588,14 @@ void ChromeContentRendererClient::RunScriptsAtDocumentEnd(
@@ -1554,7 +1577,14 @@ void ChromeContentRendererClient::RunScriptsAtDocumentEnd(
ChromeExtensionsRendererClient::GetInstance()->RunScriptsAtDocumentEnd(
render_frame);
// |render_frame| might be dead by now.
@ -654,7 +655,7 @@ diff --git a/chrome/renderer/chrome_content_renderer_client.cc b/chrome/renderer
}
void ChromeContentRendererClient::RunScriptsAtDocumentIdle(
@@ -1574,7 +1604,14 @@ void ChromeContentRendererClient::RunScriptsAtDocumentIdle(
@@ -1563,7 +1593,14 @@ void ChromeContentRendererClient::RunScriptsAtDocumentIdle(
ChromeExtensionsRendererClient::GetInstance()->RunScriptsAtDocumentIdle(
render_frame);
// |render_frame| might be dead by now.
@ -672,7 +673,7 @@ diff --git a/chrome/renderer/chrome_content_renderer_client.cc b/chrome/renderer
diff --git a/chrome/renderer/chrome_render_thread_observer.cc b/chrome/renderer/chrome_render_thread_observer.cc
--- a/chrome/renderer/chrome_render_thread_observer.cc
+++ b/chrome/renderer/chrome_render_thread_observer.cc
@@ -57,6 +57,8 @@
@@ -55,6 +55,8 @@
#include "third_party/blink/public/web/web_security_policy.h"
#include "third_party/blink/public/web/web_view.h"
@ -681,7 +682,7 @@ diff --git a/chrome/renderer/chrome_render_thread_observer.cc b/chrome/renderer/
#if BUILDFLAG(ENABLE_EXTENSIONS)
#include "extensions/renderer/localization_peer.h"
#endif
@@ -259,6 +261,7 @@ void ChromeRenderThreadObserver::SetInitialConfiguration(
@@ -253,6 +255,7 @@ void ChromeRenderThreadObserver::SetInitialConfiguration(
void ChromeRenderThreadObserver::SetConfiguration(
chrome::mojom::DynamicParamsPtr params) {
*GetDynamicConfigParams() = std::move(*params);
@ -2607,9 +2608,10 @@ new file mode 100644
+js_library("view_script_source") {
+ deps = [
+ "//ui/webui/resources/js:cr.m",
+ "//ui/webui/resources/js:util",
+ "//ui/webui/resources/js:util.m",
+ ]
+}
\ No newline at end of file
diff --git a/components/user_scripts/browser/resources/user-script-ui/user-scripts-ui.html b/components/user_scripts/browser/resources/user-script-ui/user-scripts-ui.html
new file mode 100644
--- /dev/null
@ -2619,7 +2621,7 @@ new file mode 100644
+<html lang="en">
+<head>
+ <meta charset="utf-8">
+ <title>Userscript View Source</title>
+ <title>Local State Debug Page</title>
+ <link rel="stylesheet" href="chrome://resources/css/text_defaults.css">
+ <script type="module" src="user-scripts-ui.js"></script>
+</head>
@ -2629,13 +2631,14 @@ new file mode 100644
+ </pre>
+</body>
+</html>
\ No newline at end of file
diff --git a/components/user_scripts/browser/resources/user-script-ui/user-scripts-ui.js b/components/user_scripts/browser/resources/user-script-ui/user-scripts-ui.js
new file mode 100644
--- /dev/null
+++ b/components/user_scripts/browser/resources/user-script-ui/user-scripts-ui.js
@@ -0,0 +1,9 @@
+import {sendWithPromise} from 'chrome://resources/js/cr.m.js';
+import {$} from 'chrome://resources/js/util.js';
+import {$} from 'chrome://resources/js/util.m.js';
+
+document.addEventListener('DOMContentLoaded', function() {
+ const urlParams = new URLSearchParams(window.location.search);
@ -2643,6 +2646,7 @@ new file mode 100644
+ $('content').textContent = textContent[0].content;
+ });
+});
\ No newline at end of file
diff --git a/components/user_scripts/browser/ui/user_scripts_ui.cc b/components/user_scripts/browser/ui/user_scripts_ui.cc
new file mode 100644
--- /dev/null
@ -5068,19 +5072,19 @@ new file mode 100755
+ // Not IPv6 (either IPv4 or just a normal address).
+ port_separator_pos = host_and_port.find(':');
+ } else { // IPv6.
+ size_t ipv6_host_end_pos = host_and_port.find(']');
+ if (ipv6_host_end_pos == base::StringPiece::npos)
+ size_t host_end_pos = host_and_port.find(']');
+ if (host_end_pos == base::StringPiece::npos)
+ return ParseResult::kInvalidHost;
+ if (ipv6_host_end_pos == 1)
+ if (host_end_pos == 1)
+ return ParseResult::kEmptyHost;
+
+ if (ipv6_host_end_pos < host_and_port.length() - 1) {
+ if (host_end_pos < host_and_port.length() - 1) {
+ // The host isn't the only component. Check for a port. This would
+ // require a ':' to follow the closing ']' from the host.
+ if (host_and_port[ipv6_host_end_pos + 1] != ':')
+ if (host_and_port[host_end_pos + 1] != ':')
+ return ParseResult::kInvalidHost;
+
+ port_separator_pos = ipv6_host_end_pos + 1;
+ port_separator_pos = host_end_pos + 1;
+ }
+ }
+
@ -10467,7 +10471,7 @@ 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
@@ -738,6 +738,12 @@
@@ -732,6 +732,12 @@
"components/autofill/core/browser/autofill_address_rewriter_resources.grd":{
"includes": [3720]
},

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