Patches for 142 (must be checked)

This commit is contained in:
Carmelo Messina
2025-10-27 13:58:16 +01:00
parent ea944bb5e6
commit 5e90c335b9
14 changed files with 657 additions and 775 deletions
+99 -98
View File
@@ -18,7 +18,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
.../base/cached_flags/ValuesReturned.java | 2 +-
base/feature_list.cc | 76 ++++++++
base/feature_list.h | 98 +++++++++-
build/android/gyp/java_cpp_features.py | 17 ++
build/android/gyp/java_cpp_features.py | 15 ++
chrome/android/java/res/values/values.xml | 3 +
.../java/res/xml/privacy_preferences.xml | 4 +
.../homepage/settings/HomepageSettings.java | 2 +-
@@ -106,7 +106,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
third_party/blink/public/common/features.h | 1 +
ui/base/ui_base_features.cc | 1 +
ui/base/ui_base_features.h | 1 +
93 files changed, 850 insertions(+), 32 deletions(-)
93 files changed, 848 insertions(+), 32 deletions(-)
create mode 100644 chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/cromite/include_all_directory.java
create mode 100644 chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/cromite/java_template/CromiteCachedFlag.java.tmpl
create mode 100644 chrome/browser/ui/android/strings/cromite_android_chrome_strings_grd/Add-cromite-flags-support.grdp
@@ -152,7 +152,7 @@ diff --git a/base/BUILD.gn b/base/BUILD.gn
sources = [
"allocator/allocator_check.cc",
"allocator/allocator_check.h",
@@ -1046,7 +1048,7 @@ component("base") {
@@ -1048,7 +1050,7 @@ component("base") {
"//build/config/compiler:wglobal_constructors",
]
@@ -291,7 +291,7 @@ diff --git a/base/feature_list.cc b/base/feature_list.cc
diff --git a/base/feature_list.h b/base/feature_list.h
--- a/base/feature_list.h
+++ b/base/feature_list.h
@@ -238,8 +238,10 @@ constexpr const char* GetFeatureNameFromIdentifier(std::string_view feature) {
@@ -233,8 +233,10 @@ StringStorage(const char (&feature)[N]) -> StringStorage<N - 1>;
struct BASE_EXPORT LOGICALLY_CONST Feature {
constexpr Feature(const char* name,
FeatureState default_state,
@@ -304,7 +304,7 @@ diff --git a/base/feature_list.h b/base/feature_list.h
#if BUILDFLAG(ENABLE_BANNED_BASE_FEATURE_PREFIX)
if (std::string_view(name).find(BUILDFLAG(BANNED_BASE_FEATURE_PREFIX)) ==
0) {
@@ -266,6 +268,9 @@ struct BASE_EXPORT LOGICALLY_CONST Feature {
@@ -261,6 +263,9 @@ struct BASE_EXPORT LOGICALLY_CONST Feature {
// command line switch.
const FeatureState default_state;
@@ -314,7 +314,7 @@ diff --git a/base/feature_list.h b/base/feature_list.h
private:
friend class FeatureList;
@@ -546,6 +551,11 @@ class BASE_EXPORT FeatureList {
@@ -541,6 +546,11 @@ class BASE_EXPORT FeatureList {
// instance, which is checked in builds with DCHECKs enabled.
static bool IsEnabled(const Feature& feature);
@@ -326,7 +326,7 @@ diff --git a/base/feature_list.h b/base/feature_list.h
// Some characters are not allowed to appear in feature names or the
// associated field trial names, as they are used as special characters for
// command-line serialization. This function checks that the strings are ASCII
@@ -815,4 +825,88 @@ class BASE_EXPORT FeatureList {
@@ -810,4 +820,88 @@ class BASE_EXPORT FeatureList {
} // namespace base
@@ -418,34 +418,35 @@ diff --git a/base/feature_list.h b/base/feature_list.h
diff --git a/build/android/gyp/java_cpp_features.py b/build/android/gyp/java_cpp_features.py
--- a/build/android/gyp/java_cpp_features.py
+++ b/build/android/gyp/java_cpp_features.py
@@ -25,10 +25,27 @@ class FeatureParserDelegate(java_cpp_utils.CppConstantParser.Delegate):
_FEATURE_RE_3_ARGS = re.compile(r'BASE_FEATURE\(k([^,]+),')
# For 2-arg macro: BASE_FEATURE(MyFeature, ...)
_FEATURE_RE_2_ARGS = re.compile(r'BASE_FEATURE\(([^,]+),')
+
+ FEATURE_RE1 = re.compile(r'CROMITE_FEATURE\(k([^,]+),')
+ FEATURE_RE2 = re.compile(r'CROMITE_FEATURE_KEEP_DISABLED\(k([^,]+),')
+ FEATURE_RE3 = re.compile(r'CROMITE_FEATURE_DISABLED\(k([^,]+),')
+ FEATURE_RE4 = re.compile(r'CROMITE_FEATURE_KEEP_ENABLED\(k([^,]+),')
+ FEATURE_RE5 = re.compile(r'CROMITE_FEATURE_ENABLED\(k([^,]+),')
+
_VALUE_RE = re.compile(r'\s*("(?:\\"|[^"])*")\s*,')
@@ -22,6 +22,11 @@ class FeatureParserDelegate(java_cpp_utils.CppConstantParser.Delegate):
# ExtractConstantName() -> 'ConstantName'
# ExtractValue() -> '"StringNameOfTheFeature"' or '"ConstantName"'
_FEATURE_RE = re.compile(r'BASE_FEATURE\(\s*(k\w+),')
+ _FEATURE_RE1 = re.compile(r'CROMITE_FEATURE\(\s*(k\w+),')
+ _FEATURE_RE2 = re.compile(r'BASE_FEATURE_DISABLED\(\s*(k\w+),')
+ _FEATURE_RE3 = re.compile(r'CROMITE_FEATURE_DISABLED\(\s*(k\w+),')
+ _FEATURE_RE4 = re.compile(r'BASE_FEATURE_ENABLED\(\s*(k\w+),')
+ _FEATURE_RE5 = re.compile(r'CROMITE_FEATURE_ENABLED\(\s*(k\w+),')
_STRING_LITERAL_RE = re.compile(r'"(?:\\"|[^"])*"')
_constant_name = None # The name of the current macro.
_comma_count = 0 # Number of commas seen in the current macro.
@@ -34,6 +39,16 @@ class FeatureParserDelegate(java_cpp_utils.CppConstantParser.Delegate):
self._constant_name = None
def ExtractConstantName(self, line):
match = self._FEATURE_RE_3_ARGS.match(line)
match = self._FEATURE_RE.match(line)
+ if match is None:
+ match = FeatureParserDelegate.FEATURE_RE1.match(line)
+ match = self._FEATURE_RE1.match(line)
+ if match is None:
+ match = FeatureParserDelegate.FEATURE_RE2.match(line)
+ match = self._FEATURE_RE2.match(line)
+ if match is None:
+ match = FeatureParserDelegate.FEATURE_RE3.match(line)
+ match = self._FEATURE_RE3.match(line)
+ if match is None:
+ match = FeatureParserDelegate.FEATURE_RE4.match(line)
+ match = self._FEATURE_RE4.match(line)
+ if match is None:
+ match = FeatureParserDelegate.FEATURE_RE5.match(line)
+ match = self._FEATURE_RE5.match(line)
if match:
return match.group(1)
match = self._FEATURE_RE_2_ARGS.match(line)
# The regex ensures that the feature name starts with 'k'.
feature_name = match.group(1)
diff --git a/chrome/android/java/res/values/values.xml b/chrome/android/java/res/values/values.xml
--- a/chrome/android/java/res/values/values.xml
+++ b/chrome/android/java/res/values/values.xml
@@ -508,7 +509,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/Fragme
import org.chromium.base.supplier.ObservableSupplier;
import org.chromium.base.supplier.OneshotSupplier;
import org.chromium.build.annotations.NullMarked;
@@ -72,24 +73,31 @@ public class FragmentDependencyProvider extends FragmentManager.FragmentLifecycl
@@ -71,24 +72,31 @@ public class FragmentDependencyProvider extends FragmentManager.FragmentLifecycl
private final OneshotSupplier<SnackbarManager> mSnackbarManagerSupplier;
private final OneshotSupplier<BottomSheetController> mBottomSheetControllerSupplier;
private final ObservableSupplier<@Nullable ModalDialogManager> mModalDialogManagerSupplier;
@@ -552,7 +553,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/Settin
import android.annotation.SuppressLint;
import android.content.Context;
import android.content.Intent;
@@ -32,7 +33,9 @@ import org.chromium.base.CallbackUtils;
@@ -39,7 +40,9 @@ import org.chromium.base.CallbackUtils;
import org.chromium.base.DeviceInfo;
import org.chromium.base.Log;
import org.chromium.base.metrics.RecordHistogram;
@@ -562,7 +563,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/Settin
import org.chromium.base.supplier.OneshotSupplierImpl;
import org.chromium.build.annotations.NullMarked;
import org.chromium.build.annotations.Nullable;
@@ -42,12 +45,14 @@ import org.chromium.chrome.browser.back_press.BackPressHelper;
@@ -49,12 +52,14 @@ import org.chromium.chrome.browser.back_press.BackPressHelper;
import org.chromium.chrome.browser.feedback.HelpAndFeedbackLauncherImpl;
import org.chromium.chrome.browser.flags.ChromeFeatureList;
import org.chromium.chrome.browser.init.ChromeBrowserInitializer;
@@ -577,8 +578,8 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/Settin
import org.chromium.components.browser_ui.bottomsheet.BottomSheetController;
import org.chromium.components.browser_ui.bottomsheet.BottomSheetControllerFactory;
import org.chromium.components.browser_ui.bottomsheet.ManagedBottomSheetController;
@@ -92,6 +97,40 @@ public class SettingsActivity extends ChromeBaseAppCompatActivity
implements PreferenceFragmentCompat.OnPreferenceStartFragmentCallback, SnackbarManageable {
@@ -107,6 +112,40 @@ public class SettingsActivity extends ChromeBaseAppCompatActivity
PreferenceUpdateObserver {
private static final String TAG = "SettingsActivity";
+ private static class RequestRestartDelegate implements ChromeBaseSettingsFragment.RequireRestartDelegate {
@@ -618,7 +619,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/Settin
@VisibleForTesting(otherwise = VisibleForTesting.PACKAGE_PRIVATE)
public static final String EXTRA_SHOW_FRAGMENT = "show_fragment";
@@ -158,7 +197,8 @@ public class SettingsActivity extends ChromeBaseAppCompatActivity
@@ -184,7 +223,8 @@ public class SettingsActivity extends ChromeBaseAppCompatActivity
mProfile,
mSnackbarManagerSupplier,
mBottomSheetControllerSupplier,
@@ -653,7 +654,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tracing/setting
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
@@ -384,6 +384,10 @@ using flags_ui::kOsLinux;
@@ -387,6 +387,10 @@ using flags_ui::kOsLinux;
using flags_ui::kOsMac;
using flags_ui::kOsWin;
@@ -664,9 +665,9 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
namespace about_flags {
namespace {
@@ -4895,6 +4899,10 @@ const FeatureEntry::FeatureVariation kNtpEnterpriseShortcutsVariations[] = {
#endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || \
// BUILDFLAG(IS_CHROMEOS)
@@ -4966,6 +4970,10 @@ const FeatureEntry::FeatureVariation kSeamlessSigninPromoTypes[] = {
std::size(kSeamlessSigninPromoTypeTwoButtons), nullptr}};
#endif // BUILDFLAG(IS_ANDROID)
+#define FEATURE_PARAM_SECTION
+#include "cromite_flags/chrome_browser_about_flags_cc.inc"
@@ -675,7 +676,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
// RECORDING USER METRICS FOR FLAGS:
// -----------------------------------------------------------------------------
// The first line of the entry is the internal name.
@@ -4921,6 +4929,9 @@ const FeatureEntry::FeatureVariation kNtpEnterpriseShortcutsVariations[] = {
@@ -4992,6 +5000,9 @@ const FeatureEntry::FeatureVariation kSeamlessSigninPromoTypes[] = {
const FeatureEntry kFeatureEntries[] = {
// Include generated flags for flag unexpiry; see //docs/flag_expiry.md and
// //tools/flags/generate_unexpire_flags.py.
@@ -688,16 +689,16 @@ 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
@@ -368,4 +368,5 @@ BASE_FEATURE(kRemovalOfIWAsFromTabCapture,
"RemovalOfIWAsFromTabCapture",
base::FEATURE_ENABLED_BY_DEFAULT);
@@ -313,4 +313,5 @@ BASE_FEATURE(kReportPakFileIntegrity,
// show both in Chrome Tabs and Windows.
BASE_FEATURE(kRemovalOfIWAsFromTabCapture, base::FEATURE_ENABLED_BY_DEFAULT);
+#include "cromite_flags/chrome_browser_browser_features_cc.inc"
} // namespace features
diff --git a/chrome/browser/browser_features.h b/chrome/browser/browser_features.h
--- a/chrome/browser/browser_features.h
+++ b/chrome/browser/browser_features.h
@@ -125,6 +125,7 @@ BASE_DECLARE_FEATURE(kRemovalOfIWAsFromTabCapture);
@@ -126,6 +126,7 @@ BASE_DECLARE_FEATURE(kRemovalOfIWAsFromTabCapture);
// module, e.g.
// //chrome/browser/<foo_module>/features.h
//
@@ -708,7 +709,7 @@ diff --git a/chrome/browser/browser_features.h b/chrome/browser/browser_features
diff --git a/chrome/browser/flags/BUILD.gn b/chrome/browser/flags/BUILD.gn
--- a/chrome/browser/flags/BUILD.gn
+++ b/chrome/browser/flags/BUILD.gn
@@ -12,9 +12,14 @@ android_library("java") {
@@ -13,9 +13,14 @@ android_library("java") {
"android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureMap.java",
"android/java/src/org/chromium/chrome/browser/flags/ChromeSessionState.java",
]
@@ -723,7 +724,7 @@ diff --git a/chrome/browser/flags/BUILD.gn b/chrome/browser/flags/BUILD.gn
"//base/version_info/android:version_constants_java",
"//build:android_buildflags",
"//build:chromeos_buildflags",
@@ -25,12 +30,20 @@ android_library("java") {
@@ -27,12 +32,20 @@ android_library("java") {
"//third_party/jni_zero:jni_zero_java",
]
srcjar_deps = [
@@ -747,9 +748,9 @@ diff --git a/chrome/browser/flags/BUILD.gn b/chrome/browser/flags/BUILD.gn
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
@@ -1558,5 +1558,6 @@ BASE_FEATURE(kWebOtpCrossDeviceSimpleString,
"WebOtpCrossDeviceSimpleString",
base::FEATURE_DISABLED_BY_DEFAULT);
@@ -1159,5 +1159,6 @@ BASE_FEATURE(kUseLibunwindstackNativeUnwinderAndroid,
// a descriptive text.
BASE_FEATURE(kWebOtpCrossDeviceSimpleString, base::FEATURE_DISABLED_BY_DEFAULT);
+#include "cromite_flags/chrome_browser_flags_android_chrome_feature_list_cc.inc"
} // namespace android
@@ -757,7 +758,7 @@ diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browse
diff --git a/chrome/browser/flags/android/chrome_feature_list.h b/chrome/browser/flags/android/chrome_feature_list.h
--- a/chrome/browser/flags/android/chrome_feature_list.h
+++ b/chrome/browser/flags/android/chrome_feature_list.h
@@ -346,6 +346,7 @@ constexpr base::FeatureParam<bool> kTouchToSearchCalloutSnippetAsSubtitle(
@@ -354,6 +354,7 @@ constexpr base::FeatureParam<bool> kTouchToSearchCalloutSnippetAsSubtitle(
"snippet_as_subtitle",
/*default_value=*/false);
@@ -863,7 +864,7 @@ new file mode 100644
diff --git a/chrome/browser/settings/android/java/src/org/chromium/chrome/browser/settings/ChromeBaseSettingsFragment.java b/chrome/browser/settings/android/java/src/org/chromium/chrome/browser/settings/ChromeBaseSettingsFragment.java
--- a/chrome/browser/settings/android/java/src/org/chromium/chrome/browser/settings/ChromeBaseSettingsFragment.java
+++ b/chrome/browser/settings/android/java/src/org/chromium/chrome/browser/settings/ChromeBaseSettingsFragment.java
@@ -16,6 +16,7 @@ import androidx.recyclerview.widget.RecyclerView;
@@ -9,6 +9,7 @@ import androidx.preference.PreferenceFragmentCompat;
import org.chromium.build.annotations.Initializer;
import org.chromium.build.annotations.NullMarked;
import org.chromium.build.annotations.Nullable;
@@ -871,9 +872,9 @@ diff --git a/chrome/browser/settings/android/java/src/org/chromium/chrome/browse
import org.chromium.chrome.browser.feedback.HelpAndFeedbackLauncher;
import org.chromium.chrome.browser.feedback.HelpAndFeedbackLauncherFactory;
import org.chromium.chrome.browser.flags.ChromeFeatureList;
@@ -28,6 +29,12 @@ import org.chromium.components.browser_ui.settings.SettingsStylingController;
import java.util.Objects;
@@ -18,6 +19,12 @@ import org.chromium.components.browser_ui.settings.EmbeddableSettingsPage;
import org.chromium.components.browser_ui.settings.PreferenceUpdateObserver;
import org.chromium.components.browser_ui.settings.SettingsCustomTabLauncher;
+import android.os.Bundle;
+import androidx.preference.Preference;
@@ -884,9 +885,9 @@ diff --git a/chrome/browser/settings/android/java/src/org/chromium/chrome/browse
/**
* Base class for settings in Chrome.
*
@@ -89,6 +96,49 @@ public abstract class ChromeBaseSettingsFragment extends PreferenceFragmentCompa
});
}
@@ -35,6 +42,49 @@ public abstract class ChromeBaseSettingsFragment extends PreferenceFragmentCompa
private SettingsCustomTabLauncher mCustomTabLauncher;
private @Nullable PreferenceUpdateObserver mPreferenceUpdateObserver;
+ private Supplier<ChromeBaseSettingsFragment.RequireRestartDelegate> mRequireRestartDelegateSupplier;
+
@@ -968,9 +969,9 @@ new file mode 100644
diff --git a/chrome/browser/ui/ui_features.cc b/chrome/browser/ui/ui_features.cc
--- a/chrome/browser/ui/ui_features.cc
+++ b/chrome/browser/ui/ui_features.cc
@@ -748,4 +748,5 @@ bool IsNewTabAddsToActiveGroupEnabled() {
}
#endif // !BUILDFLAG(IS_ANDROID)
@@ -664,4 +664,5 @@ bool IsAndroidAnimatedProgressBarInBrowserEnabled() {
BASE_FEATURE(kWhatsNewDesktopRefresh, base::FEATURE_DISABLED_BY_DEFAULT);
+#include "cromite_flags/chrome_browser_ui_ui_features_cc.inc"
} // namespace features
@@ -1009,9 +1010,9 @@ diff --git a/chrome/browser/unexpire_flags.cc b/chrome/browser/unexpire_flags.cc
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
@@ -1623,5 +1623,5 @@ BASE_FEATURE(DisableShortcutsEnableDiy, base::FEATURE_ENABLED_BY_DEFAULT);
@@ -1696,5 +1696,5 @@ BASE_FEATURE(kDisableShortcutsEnableDiy, base::FEATURE_ENABLED_BY_DEFAULT);
// happen silently without prompting an updating dialog.
BASE_FEATURE(SilentPolicyAndDefaultAppUpdating,
BASE_FEATURE(kSilentPolicyAndDefaultAppUpdating,
base::FEATURE_DISABLED_BY_DEFAULT);
-
+#include "cromite_flags/chrome_common_chrome_features_cc.inc"
@@ -1019,14 +1020,14 @@ diff --git a/chrome/common/chrome_features.cc b/chrome/common/chrome_features.cc
diff --git a/components/browser_ui/accessibility/android/BUILD.gn b/components/browser_ui/accessibility/android/BUILD.gn
--- a/components/browser_ui/accessibility/android/BUILD.gn
+++ b/components/browser_ui/accessibility/android/BUILD.gn
@@ -55,6 +55,7 @@ android_library("lib_java") {
@@ -61,6 +61,7 @@ android_library("lib_java") {
":page_zoom_utils_java",
"//base:base_java",
"//build/android:build_java",
+ "//chrome/browser/settings:java",
"//components/browser_ui/settings/android:java",
"//components/browser_ui/site_settings/android:java",
"//components/cached_flags:java",
"//components/browser_ui/styles/android:java",
diff --git a/components/browser_ui/accessibility/android/java/res/xml/accessibility_preferences.xml b/components/browser_ui/accessibility/android/java/res/xml/accessibility_preferences.xml
--- a/components/browser_ui/accessibility/android/java/res/xml/accessibility_preferences.xml
+++ b/components/browser_ui/accessibility/android/java/res/xml/accessibility_preferences.xml
@@ -1037,9 +1038,9 @@ diff --git a/components/browser_ui/accessibility/android/java/res/xml/accessibil
-<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
+<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:app="http://schemas.android.com/apk/res-auto">
<org.chromium.components.browser_ui.accessibility.PageZoomPreference
android:key="page_zoom_default_zoom"
<Preference
android:key="zoom_info"
android:title="@string/zoom_info_preference_title"/>
diff --git a/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettings.java b/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettings.java
--- a/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettings.java
+++ b/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettings.java
@@ -1064,7 +1065,7 @@ diff --git a/components/browser_ui/accessibility/android/java/src/org/chromium/c
+ public void onCreatePreferencesCromite(@Nullable Bundle savedInstanceState, @Nullable String rootKey) {
SettingsUtils.addPreferencesFromResource(this, R.xml.accessibility_preferences);
mPageZoomDefaultZoomPref = findPreference(PREF_PAGE_ZOOM_DEFAULT_ZOOM);
// TODO(crbug.com/439911511): Add PageZoomPreference directly to the xml file instead.
diff --git a/components/browser_ui/settings/android/java/res/values/attrs.xml b/components/browser_ui/settings/android/java/res/values/attrs.xml
--- a/components/browser_ui/settings/android/java/res/values/attrs.xml
+++ b/components/browser_ui/settings/android/java/res/values/attrs.xml
@@ -1082,7 +1083,7 @@ diff --git a/components/browser_ui/settings/android/java/res/values/attrs.xml b/
diff --git a/components/browser_ui/settings/android/widget/java/src/org/chromium/components/browser_ui/settings/ChromeSwitchPreference.java b/components/browser_ui/settings/android/widget/java/src/org/chromium/components/browser_ui/settings/ChromeSwitchPreference.java
--- a/components/browser_ui/settings/android/widget/java/src/org/chromium/components/browser_ui/settings/ChromeSwitchPreference.java
+++ b/components/browser_ui/settings/android/widget/java/src/org/chromium/components/browser_ui/settings/ChromeSwitchPreference.java
@@ -13,6 +13,8 @@ import android.view.accessibility.AccessibilityEvent;
@@ -15,6 +15,8 @@ import android.view.accessibility.AccessibilityEvent;
import android.view.accessibility.AccessibilityNodeInfo;
import android.widget.TextView;
@@ -1091,7 +1092,7 @@ diff --git a/components/browser_ui/settings/android/widget/java/src/org/chromium
import androidx.annotation.ColorInt;
import androidx.annotation.VisibleForTesting;
import androidx.preference.PreferenceViewHolder;
@@ -38,6 +40,11 @@ public class ChromeSwitchPreference extends SwitchPreferenceCompat {
@@ -43,6 +45,11 @@ public class ChromeSwitchPreference extends SwitchPreferenceCompat
/** Indicates if the preference uses a custom layout. */
private final boolean mHasCustomLayout;
@@ -1103,7 +1104,7 @@ diff --git a/components/browser_ui/settings/android/widget/java/src/org/chromium
// TOOD(crbug.com/1451550): This is an interim solution. In the long-term, we should migrate
// away from a switch with dynamically changing summaries onto a radio group.
/**
@@ -57,6 +64,18 @@ public class ChromeSwitchPreference extends SwitchPreferenceCompat {
@@ -67,6 +74,18 @@ public class ChromeSwitchPreference extends SwitchPreferenceCompat
mHasCustomLayout = ManagedPreferencesUtils.isCustomLayoutApplied(context, attrs);
mUseSummaryAsTitle = true;
@@ -1161,9 +1162,9 @@ diff --git a/components/components_strings.grd b/components/components_strings.g
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
@@ -176,5 +176,6 @@ BASE_FEATURE(kForceAllowStorageAccess,
"ForceAllowStorageAccess",
base::FEATURE_DISABLED_BY_DEFAULT);
@@ -160,5 +160,6 @@ BASE_FEATURE(kContentSettingsPartitioning, base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kForceAllowStorageAccess, base::FEATURE_DISABLED_BY_DEFAULT);
+#include "cromite_flags/components_content_settings_core_common_features_cc.inc"
} // namespace features
@@ -1177,7 +1178,7 @@ new file mode 100644
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
@@ -48,4 +48,5 @@ bool IsOfflinePagesNetworkStateLikelyUnknown() {
@@ -47,4 +47,5 @@ bool IsOfflinePagesNetworkStateLikelyUnknown() {
return base::FeatureList::IsEnabled(kOfflinePagesNetworkStateLikelyUnknown);
}
@@ -1197,7 +1198,7 @@ diff --git a/components/offline_pages/core/offline_page_feature.h b/components/o
diff --git a/components/password_manager/core/browser/features/password_features.cc b/components/password_manager/core/browser/features/password_features.cc
--- a/components/password_manager/core/browser/features/password_features.cc
+++ b/components/password_manager/core/browser/features/password_features.cc
@@ -225,4 +225,5 @@ BASE_FEATURE(kRetrieveTrustedVaultKeyKeyboardAccessoryAction,
@@ -183,4 +183,5 @@ BASE_FEATURE(kRetrieveTrustedVaultKeyKeyboardAccessoryAction,
base::FEATURE_DISABLED_BY_DEFAULT);
#endif // BUILDFLAG(IS_ANDROID)
@@ -1206,8 +1207,8 @@ diff --git a/components/password_manager/core/browser/features/password_features
diff --git a/components/permissions/features.cc b/components/permissions/features.cc
--- a/components/permissions/features.cc
+++ b/components/permissions/features.cc
@@ -137,6 +137,8 @@ BASE_FEATURE(kOsAdditionalSecurityPermissionKillSwitch,
"OsAdditionalSecurityPermissionKillSwitch",
@@ -107,6 +107,8 @@ BASE_FEATURE(kSafetyHubUnusedPermissionRevocationForAllSurfaces,
BASE_FEATURE(kOsAdditionalSecurityPermissionKillSwitch,
base::FEATURE_DISABLED_BY_DEFAULT);
#endif
+
@@ -1639,7 +1640,7 @@ diff --git a/components/webui/version/version_handler_helper.cc b/components/web
diff --git a/content/common/features.cc b/content/common/features.cc
--- a/content/common/features.cc
+++ b/content/common/features.cc
@@ -761,4 +761,5 @@ bool IsEnforceSameDocumentOriginInvariantsEnabled() {
@@ -675,4 +675,5 @@ bool IsEnforceSameDocumentOriginInvariantsEnabled() {
blink::features::kTreatMhtmlInitialDocumentLoadsAsCrossDocument);
}
@@ -1648,7 +1649,7 @@ diff --git a/content/common/features.cc b/content/common/features.cc
diff --git a/content/public/common/content_features.cc b/content/public/common/content_features.cc
--- a/content/public/common/content_features.cc
+++ b/content/public/common/content_features.cc
@@ -1403,4 +1403,5 @@ bool IsPushSubscriptionChangeEventEnabled() {
@@ -1411,4 +1411,5 @@ bool IsPushSubscriptionChangeEventEnabled() {
features::kPushSubscriptionChangeEventOnResubscribe);
}
@@ -1657,7 +1658,7 @@ 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
@@ -404,6 +404,7 @@ CONTENT_EXPORT bool IsVideoCaptureServiceEnabledForOutOfProcess();
@@ -409,6 +409,7 @@ CONTENT_EXPORT bool IsVideoCaptureServiceEnabledForOutOfProcess();
CONTENT_EXPORT bool IsVideoCaptureServiceEnabledForBrowserProcess();
CONTENT_EXPORT bool IsPushSubscriptionChangeEventEnabled();
@@ -2003,7 +2004,7 @@ new file mode 100755
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
@@ -1727,5 +1727,5 @@ uint32_t GetPassthroughAudioFormats() {
@@ -1730,5 +1730,5 @@ uint32_t GetPassthroughAudioFormats() {
return 0;
#endif // BUILDFLAG(ENABLE_PASSTHROUGH_AUDIO_CODECS)
}
@@ -2013,7 +2014,7 @@ diff --git a/media/base/media_switches.cc b/media/base/media_switches.cc
diff --git a/media/base/media_switches.h b/media/base/media_switches.h
--- a/media/base/media_switches.h
+++ b/media/base/media_switches.h
@@ -603,5 +603,5 @@ MEDIA_EXPORT bool IsOutOfProcessVideoDecodingEnabled();
@@ -609,5 +609,5 @@ MEDIA_EXPORT bool IsOutOfProcessVideoDecodingEnabled();
MEDIA_EXPORT uint32_t GetPassthroughAudioFormats();
} // namespace media
@@ -2023,18 +2024,18 @@ diff --git a/media/base/media_switches.h b/media/base/media_switches.h
diff --git a/net/base/features.cc b/net/base/features.cc
--- a/net/base/features.cc
+++ b/net/base/features.cc
@@ -804,4 +804,5 @@ BASE_FEATURE_PARAM(std::string,
/*name=*/"wildcard_quic_hints",
/*default_value=*/"");
@@ -839,4 +839,5 @@ BASE_FEATURE_PARAM(size_t,
"cache_size",
64);
+#include "cromite_flags/net_base_features_cc.inc"
} // namespace net::features
diff --git a/net/base/features.h b/net/base/features.h
--- a/net/base/features.h
+++ b/net/base/features.h
@@ -912,6 +912,7 @@ NET_EXPORT BASE_DECLARE_FEATURE_PARAM(std::string, kQuicHintHostPortPairs);
NET_EXPORT BASE_DECLARE_FEATURE_PARAM(std::string,
kWildcardQuicHintHostPortPairs);
@@ -935,6 +935,7 @@ NET_EXPORT BASE_DECLARE_FEATURE(kDnsFilteringDetails);
NET_EXPORT BASE_DECLARE_FEATURE(kUpdateIsMainFrameOriginRecentlyAccessed);
NET_EXPORT BASE_DECLARE_FEATURE_PARAM(size_t, kRecentlyAccessedOriginCacheSize);
+#include "cromite_flags/net_base_features_h.inc"
} // namespace net::features
@@ -2043,16 +2044,16 @@ diff --git a/net/base/features.h b/net/base/features.h
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
@@ -674,4 +674,5 @@ BASE_FEATURE_PARAM(bool,
@@ -587,4 +587,5 @@ BASE_FEATURE_PARAM(bool,
"url_loader",
false);
true);
+#include "cromite_flags/services_network_public_cpp_features_cc.inc"
} // namespace network::features
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
@@ -367,6 +367,7 @@ BASE_DECLARE_FEATURE_PARAM(bool, kNetworkServiceTaskSchedulerResourceScheduler);
@@ -361,6 +361,7 @@ BASE_DECLARE_FEATURE_PARAM(bool, kNetworkServiceTaskSchedulerResourceScheduler);
COMPONENT_EXPORT(NETWORK_CPP_FLAGS_AND_SWITCHES)
BASE_DECLARE_FEATURE_PARAM(bool, kNetworkServiceTaskSchedulerURLLoader);
@@ -2063,7 +2064,7 @@ diff --git a/services/network/public/cpp/features.h b/services/network/public/cp
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
@@ -2569,4 +2569,5 @@ bool IsXrDevice() {
@@ -2633,4 +2633,5 @@ bool IsXrDevice() {
//
// DO NOT ADD NEW FEATURES HERE.
@@ -2072,7 +2073,7 @@ diff --git a/third_party/blink/common/features.cc b/third_party/blink/common/fea
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
@@ -1908,6 +1908,7 @@ BLINK_COMMON_EXPORT bool IsXrDevice();
@@ -1917,6 +1917,7 @@ BLINK_COMMON_EXPORT bool IsXrDevice();
//
// DO NOT ADD NEW FEATURES HERE.
@@ -2083,18 +2084,18 @@ diff --git a/third_party/blink/public/common/features.h b/third_party/blink/publ
diff --git a/ui/base/ui_base_features.cc b/ui/base/ui_base_features.cc
--- a/ui/base/ui_base_features.cc
+++ b/ui/base/ui_base_features.cc
@@ -492,4 +492,5 @@ BASE_FEATURE(kUseSystemDefaultAccentColors,
"UseSystemDefaultAccentColors",
base::FEATURE_ENABLED_BY_DEFAULT);
@@ -434,4 +434,5 @@ BASE_FEATURE(kUseSystemDefaultAccentColors, base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kStringWidthCache, base::FEATURE_DISABLED_BY_DEFAULT);
+#include "cromite_flags/ui_base_features_cc.inc"
} // namespace features
diff --git a/ui/base/ui_base_features.h b/ui/base/ui_base_features.h
--- a/ui/base/ui_base_features.h
+++ b/ui/base/ui_base_features.h
@@ -248,6 +248,7 @@ bool IsHandleIMESpanChangesOnUpdateCompositionEnabled();
@@ -267,6 +267,7 @@ BASE_DECLARE_FEATURE(kUseSystemDefaultAccentColors);
COMPONENT_EXPORT(UI_BASE_FEATURES)
BASE_DECLARE_FEATURE(kUseSystemDefaultAccentColors);
BASE_DECLARE_FEATURE(kStringWidthCache);
+#include "cromite_flags/ui_base_features_h.inc"
} // namespace features
@@ -24,7 +24,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGridDialogMediator.java b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGridDialogMediator.java
--- a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGridDialogMediator.java
+++ b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGridDialogMediator.java
@@ -120,6 +120,9 @@ import java.util.Optional;
@@ -120,6 +120,9 @@ import java.util.Objects;
import java.util.Set;
import java.util.function.Supplier;
@@ -34,11 +34,11 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser
/**
* A mediator for the TabGridDialog component, responsible for communicating with the components'
* coordinator as well as managing the business logic for dialog show/hide.
@@ -1028,9 +1031,15 @@ public class TabGridDialogMediator
return;
}
@@ -1033,9 +1036,15 @@ public class TabGridDialogMediator
UrlConstantResolver urlConstantResolver =
UrlConstantResolverFactory.getForProfile(profile);
+ String url = UrlConstants.NTP_URL;
+ String url = urlConstantResolver.getNtpUrl();
+ if (UrlConstants.NTP_URL.equals(url)
+ && HomepageManager.getInstance().getPrefNTPIsHomepageEnabled()) {
+ GURL gurl = HomepageManager.getInstance().getHomepageGurl();
@@ -46,7 +46,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser
+ }
TabGroupUtils.openUrlInGroup(
assumeNonNull(mCurrentTabGroupModelFilterSupplier.get()),
- UrlConstants.NTP_URL,
- urlConstantResolver.getNtpUrl(),
+ url,
tabsInGroup.get(tabsInGroup.size() - 1).getId(),
TabLaunchType.FROM_TAB_GROUP_UI);
@@ -62,11 +62,11 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser
import org.chromium.chrome.browser.layouts.LayoutStateProvider.LayoutStateObserver;
import org.chromium.chrome.browser.layouts.LayoutType;
import org.chromium.chrome.browser.profiles.Profile;
@@ -420,10 +421,15 @@ public class TabGroupUiMediator implements BackPressHandler {
assert relatedTabs.size() > 0;
@@ -425,10 +426,15 @@ public class TabGroupUiMediator implements BackPressHandler {
UrlConstantResolverFactory.getForProfile(currentTabProfile);
Tab parentTabToAttach = relatedTabs.get(relatedTabs.size() - 1);
+ String url = UrlConstants.NTP_URL;
+ String url = urlConstantResolver.getNtpUrl();
+ if (HomepageManager.getInstance().getPrefNTPIsHomepageEnabled()) {
+ GURL gurl = HomepageManager.getInstance().getHomepageGurl();
+ url = gurl != null ? gurl.getSpec() : url;
@@ -74,7 +74,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser
mTabCreatorManager
.getTabCreator(currentTab.isIncognito())
.createNewTab(
- new LoadUrlParams(UrlConstants.NTP_URL),
- new LoadUrlParams(urlConstantResolver.getNtpUrl()),
+ new LoadUrlParams(url),
TabLaunchType.FROM_TAB_GROUP_UI,
parentTabToAttach);
@@ -200,7 +200,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/metrics/LaunchM
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/ChromeTabCreator.java b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/ChromeTabCreator.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/ChromeTabCreator.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/ChromeTabCreator.java
@@ -26,6 +26,7 @@ import org.chromium.chrome.browser.app.tab_activity_glue.ReparentingTask;
@@ -27,6 +27,7 @@ import org.chromium.chrome.browser.app.tab_activity_glue.ReparentingTask;
import org.chromium.chrome.browser.compositor.CompositorViewHolder;
import org.chromium.chrome.browser.flags.ChromeFeatureList;
import org.chromium.chrome.browser.multiwindow.MultiInstanceManager;
@@ -208,7 +208,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/Chrome
import org.chromium.chrome.browser.prefetch.settings.PreloadPagesSettingsBridge;
import org.chromium.chrome.browser.prefetch.settings.PreloadPagesState;
import org.chromium.chrome.browser.profiles.Profile;
@@ -569,6 +570,13 @@ public class ChromeTabCreator extends TabCreator
@@ -572,6 +573,13 @@ public class ChromeTabCreator extends TabCreator
*/
public @Nullable Tab launchUrl(
String url, @TabLaunchType int type, @Nullable Intent intent, long intentTimestamp) {
@@ -225,7 +225,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
@@ -334,6 +334,7 @@ public final class ChromePreferenceKeys {
@@ -350,6 +350,7 @@ public final class ChromePreferenceKeys {
public static final String HOMEPAGE_USE_CHROME_NTP = "Chrome.Homepage.UseNTP";
public static final String HOMEPAGE_USE_DEFAULT_URI = "homepage_partner_enabled";
@@ -247,7 +247,7 @@ diff --git a/chrome/browser/preferences/android/java/src/org/chromium/chrome/bro
diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd
--- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
+++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
@@ -1324,6 +1324,9 @@ Your Google account may have other forms of browsing history like searches and a
@@ -1330,6 +1330,9 @@ Your Google account may have other forms of browsing history like searches and a
<message name="IDS_CLEAR_BROWSING_DATA_TAB_PERIOD_HOUR" desc="The option to delete browsing data from the last hour.">
Last hour
</message>
@@ -260,7 +260,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro
diff --git a/chrome/browser/ui/browser_ui_prefs.cc b/chrome/browser/ui/browser_ui_prefs.cc
--- a/chrome/browser/ui/browser_ui_prefs.cc
+++ b/chrome/browser/ui/browser_ui_prefs.cc
@@ -115,6 +115,8 @@ void RegisterBrowserUserPrefs(user_prefs::PrefRegistrySyncable* registry) {
@@ -119,6 +119,8 @@ void RegisterBrowserUserPrefs(user_prefs::PrefRegistrySyncable* registry) {
registry->RegisterBooleanPref(prefs::kPinSplitTabButton, false,
pref_registration_flags);
@@ -272,7 +272,7 @@ diff --git a/chrome/browser/ui/browser_ui_prefs.cc b/chrome/browser/ui/browser_u
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
@@ -1345,6 +1345,10 @@ inline constexpr char kSplitViewDragAndDropNudgeUsedCount[] =
@@ -1336,6 +1336,10 @@ inline constexpr char kSplitViewDragAndDropNudgeUsedCount[] =
// by enterprise policy.
inline constexpr char kGeminiSettings[] = "browser.gemini_settings";
+98 -122
View File
@@ -36,13 +36,13 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../safety_hub/SafetyHubFetchService.java | 5 -
.../strings/android_chrome_strings.grd | 23 +-
.../ui/lens/lens_overlay_query_controller.cc | 1 +
.../endpoint_fetcher/endpoint_fetcher.cc | 123 ++++++--
.../endpoint_fetcher/endpoint_fetcher.h | 25 ++
.../endpoint_fetcher/endpoint_fetcher.cc | 125 ++++++--
.../endpoint_fetcher/endpoint_fetcher.h | 28 +-
components/manta/base_provider.cc | 1 +
.../composebox/composebox_query_controller.cc | 2 +-
.../Bromite-auto-updater.inc | 3 +
.../Bromite-auto-updater.inc | 1 +
34 files changed, 1235 insertions(+), 93 deletions(-)
34 files changed, 1239 insertions(+), 94 deletions(-)
create mode 100644 chrome/android/java/src/org/chromium/chrome/browser/omaha/CromiteUpdateStatusProvider.java
create mode 100644 chrome/android/java/src/org/chromium/chrome/browser/omaha/inline/BromiteInlineUpdateController.java
create mode 100644 chrome/browser/endpoint_fetcher/BUILD.gn
@@ -71,7 +71,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
@@ -1954,6 +1954,9 @@ if (!is_robolectric && enable_java_templates) {
@@ -1952,6 +1952,9 @@ if (!is_robolectric && enable_java_templates) {
sources = [ "//build/android/java/templates/BuildConfig.template" ]
defines = []
@@ -84,7 +84,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
@@ -839,6 +839,8 @@ chrome_java_sources = [
@@ -848,6 +848,8 @@ chrome_java_sources = [
"java/src/org/chromium/chrome/browser/omaha/OmahaBase.java",
"java/src/org/chromium/chrome/browser/omaha/OmahaDelegate.java",
"java/src/org/chromium/chrome/browser/omaha/OmahaDelegateBase.java",
@@ -678,7 +678,7 @@ new file mode 100644
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
--- a/chrome/browser/BUILD.gn
+++ b/chrome/browser/BUILD.gn
@@ -2674,6 +2674,12 @@ static_library("browser") {
@@ -2669,6 +2669,12 @@ static_library("browser") {
}
if (is_android) {
@@ -1091,7 +1091,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
@@ -372,6 +372,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
@@ -375,6 +375,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
&kProtectedTabsAndroid,
&kPwaRestoreUi,
&kPwaRestoreUiAtStartup,
@@ -1102,8 +1102,8 @@ diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browse
diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/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
@@ -462,6 +462,7 @@ public abstract class ChromeFeatureList {
public static final String HUB_SLIDE_ANIMATION = "HubSlideAnimation";
@@ -464,6 +464,7 @@ public abstract class ChromeFeatureList {
public static final String INCOGNITO_NTP_SMALL_ICON = "IncognitoNtpSmallIcon";
public static final String INCOGNITO_SCREENSHOT = "IncognitoScreenshot";
public static final String INCOGNITO_THEME_OVERLAY_TESTING = "IncognitoThemeOverlayTesting";
+ public static final String INLINE_UPDATE_FLOW = "InlineUpdateFlow";
@@ -1680,7 +1680,7 @@ diff --git a/chrome/browser/safety_hub/android/java/src/org/chromium/chrome/brow
diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd
--- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
+++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
@@ -2273,6 +2273,12 @@ Your Google account may have other forms of browsing history like searches and a
@@ -2279,6 +2279,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>
@@ -1693,7 +1693,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]">
@@ -4249,7 +4255,10 @@ To change this setting, <ph name="BEGIN_LINK">BEGIN_LINK</ph>delete the Chrome d
@@ -4255,7 +4261,10 @@ To change this setting, <ph name="BEGIN_LINK">BEGIN_LINK</ph>delete the Chrome d
<!-- Main menu items -->
<message name="IDS_MENU_UPDATE" desc="Menu item for updating chrome. [CHAR_LIMIT=24]">
@@ -1705,7 +1705,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
@@ -4260,6 +4269,18 @@ To change this setting, <ph name="BEGIN_LINK">BEGIN_LINK</ph>delete the Chrome d
@@ -4266,6 +4275,18 @@ To change this setting, <ph name="BEGIN_LINK">BEGIN_LINK</ph>delete the Chrome d
<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>
@@ -1728,17 +1728,17 @@ diff --git a/chrome/browser/ui/lens/lens_overlay_query_controller.cc b/chrome/br
--- a/chrome/browser/ui/lens/lens_overlay_query_controller.cc
+++ b/chrome/browser/ui/lens/lens_overlay_query_controller.cc
@@ -712,6 +712,7 @@ LensOverlayQueryController::CreateEndpointFetcher(
/*post_data=*/std::move(request_string),
/*headers=*/request_headers,
/*cors_exempt_headers=*/cors_exempt_headers, chrome::GetChannel(),
/*url_loader_factory=*/profile_
? profile_->GetURLLoaderFactory().get()
: g_browser_process->shared_url_loader_factory(),
+ kTrafficAnnotationTag,
/*request_params=*/
/*identity_manager=*/nullptr,
EndpointFetcher::RequestParams::Builder(http_method,
kTrafficAnnotationTag)
diff --git a/components/endpoint_fetcher/endpoint_fetcher.cc b/components/endpoint_fetcher/endpoint_fetcher.cc
--- a/components/endpoint_fetcher/endpoint_fetcher.cc
+++ b/components/endpoint_fetcher/endpoint_fetcher.cc
@@ -21,6 +21,11 @@
@@ -25,6 +25,11 @@
#include "services/network/public/mojom/referrer_policy.mojom-shared.h"
#include "services/network/public/mojom/url_response_head.mojom.h"
@@ -1750,25 +1750,34 @@ diff --git a/components/endpoint_fetcher/endpoint_fetcher.cc b/components/endpoi
namespace endpoint_fetcher {
namespace {
@@ -37,6 +42,8 @@ std::string GetHttpMethodString(const HttpMethod& http_method) {
return "POST";
case HttpMethod::kDelete:
@@ -43,6 +48,8 @@ std::string GetHttpMethodString(const HttpMethod& http_method) {
return "DELETE";
case HttpMethod::kPut:
return "PUT";
+ case HttpMethod::kHead:
+ return "HEAD";
default:
DCHECK(0) << base::StringPrintf("Unknown HttpMethod %d\n",
static_cast<int>(http_method));
@@ -51,6 +58,8 @@ HttpMethod GetHttpMethod(const std::string& http_method_string) {
return HttpMethod::kPost;
} else if (http_method_string == "DELETE") {
return HttpMethod::kDelete;
+ } else if (http_method_string == "HEAD") {
+ return HttpMethod::kHead;
}
return HttpMethod::kUndefined;
@@ -50,6 +57,13 @@ std::string GetHttpMethodString(const HttpMethod& http_method) {
return "";
}
@@ -110,6 +119,7 @@ EndpointFetcher::EndpointFetcher(
+HttpMethod GetHttpMethod(const std::string& http_method_string) {
+ if (http_method_string == "HEAD") {
+ return HttpMethod::kHead;
+ }
+ return HttpMethod::kUndefined;
+}
+
} // namespace
EndpointResponse::EndpointResponse() = default;
@@ -108,9 +122,11 @@ EndpointFetcher::RequestParams::Builder::Build() {
EndpointFetcher::EndpointFetcher(
const scoped_refptr<network::SharedURLLoaderFactory>& url_loader_factory,
signin::IdentityManager* identity_manager,
+ const net::NetworkTrafficAnnotationTag& annotation_tag,
RequestParams request_params)
: url_loader_factory_(url_loader_factory),
identity_manager_(identity_manager),
@@ -1776,35 +1785,7 @@ diff --git a/components/endpoint_fetcher/endpoint_fetcher.cc b/components/endpoi
request_params_(std::move(request_params)) {
if (request_params_.auth_type() == OAUTH) {
DCHECK(identity_manager_)
@@ -150,9 +160,11 @@ EndpointFetcher::EndpointFetcher(
const std::vector<std::string>& headers,
const std::vector<std::string>& cors_exempt_headers,
version_info::Channel channel,
+ const net::NetworkTrafficAnnotationTag& annotation_tag,
const RequestParams request_params)
: url_loader_factory_(url_loader_factory),
identity_manager_(nullptr),
+ intercept_redirect_(false),
request_params_(EndpointFetcher::RequestParams::Builder(request_params)
.SetAuthType(CHROME_API_KEY)
.SetUrl(url)
@@ -171,6 +183,7 @@ EndpointFetcher::EndpointFetcher(
const net::NetworkTrafficAnnotationTag& annotation_tag)
: url_loader_factory_(url_loader_factory),
identity_manager_(nullptr),
+ intercept_redirect_(false),
request_params_(EndpointFetcher::RequestParams::Builder(HttpMethod::kGet,
annotation_tag)
.SetAuthType(NO_AUTH)
@@ -193,6 +206,7 @@ EndpointFetcher::EndpointFetcher(
signin::ConsentLevel consent_level)
: url_loader_factory_(url_loader_factory),
identity_manager_(identity_manager),
+ intercept_redirect_(false),
request_params_(
EndpointFetcher::RequestParams::Builder(GetHttpMethod(http_method),
annotation_tag)
@@ -212,6 +226,7 @@ EndpointFetcher::EndpointFetcher(
@@ -123,12 +139,32 @@ EndpointFetcher::EndpointFetcher(
EndpointFetcher::EndpointFetcher(
const net::NetworkTrafficAnnotationTag& annotation_tag)
: identity_manager_(nullptr),
@@ -1812,11 +1793,10 @@ diff --git a/components/endpoint_fetcher/endpoint_fetcher.cc b/components/endpoi
request_params_(
EndpointFetcher::RequestParams::Builder(HttpMethod::kUndefined,
annotation_tag)
@@ -219,6 +234,25 @@ EndpointFetcher::EndpointFetcher(
.SetSanitizeResponse(true)
.SetTimeout(kDefaultTimeOut)
.Build()) {}
+// constructor used by Bromite
+// constructor used by Cromite
+EndpointFetcher::EndpointFetcher(
+ const scoped_refptr<network::SharedURLLoaderFactory>& url_loader_factory,
+ const GURL& url,
@@ -1838,7 +1818,7 @@ diff --git a/components/endpoint_fetcher/endpoint_fetcher.cc b/components/endpoi
EndpointFetcher::~EndpointFetcher() = default;
void EndpointFetcher::Fetch(EndpointFetcherCallback endpoint_fetcher_callback) {
@@ -301,13 +335,10 @@ void EndpointFetcher::PerformHttpRequest(
@@ -211,13 +247,10 @@ void EndpointFetcher::PerformHttpRequest(
auto resource_request = std::make_unique<network::ResourceRequest>();
resource_request->method = GetHttpMethodString(request_params_.http_method());
resource_request->url = request_params_.url();
@@ -1853,9 +1833,9 @@ diff --git a/components/endpoint_fetcher/endpoint_fetcher.cc b/components/endpoi
+ resource_request->load_flags = net::LOAD_BYPASS_CACHE | net::LOAD_DISABLE_CACHE
+ | net::LOAD_DO_NOT_SAVE_COOKIES;
// Add Content-Type header if post data is present.
if (request_params_.http_method() == HttpMethod::kPost &&
request_params_.post_data()) {
@@ -346,8 +377,23 @@ void EndpointFetcher::PerformHttpRequest(
bool has_body_content = (request_params_.http_method() == HttpMethod::kPost ||
request_params_.http_method() == HttpMethod::kPut) &&
@@ -258,8 +291,23 @@ void EndpointFetcher::PerformHttpRequest(
break;
}
@@ -1877,9 +1857,9 @@ diff --git a/components/endpoint_fetcher/endpoint_fetcher.cc b/components/endpoi
+ &EndpointFetcher::OnSimpleLoaderRedirect, base::Unretained(this)));
+ }
if (request_params_.http_method() == HttpMethod::kPost &&
request_params_.post_data()) {
@@ -361,9 +407,18 @@ void EndpointFetcher::PerformHttpRequest(
if (has_body_content) {
simple_url_loader_->AttachStringForUpload(
@@ -272,9 +320,18 @@ void EndpointFetcher::PerformHttpRequest(
simple_url_loader_->SetRetryOptions(GetMaxRetries(),
network::SimpleURLLoader::RETRY_ON_5XX);
@@ -1901,7 +1881,7 @@ diff --git a/components/endpoint_fetcher/endpoint_fetcher.cc b/components/endpoi
network::SimpleURLLoader::BodyAsStringCallbackDeprecated
body_as_string_callback = base::BindOnce(
&EndpointFetcher::OnResponseFetched, weak_ptr_factory_.GetWeakPtr(),
@@ -453,21 +508,6 @@ void EndpointFetcher::OnSanitizationResult(
@@ -333,21 +390,6 @@ void EndpointFetcher::OnResponseFetched(
std::move(endpoint_fetcher_callback).Run(std::move(response));
}
@@ -1921,9 +1901,9 @@ diff --git a/components/endpoint_fetcher/endpoint_fetcher.cc b/components/endpoi
-}
-
int EndpointFetcher::GetMaxRetries() const {
if (!request_params_.max_retries.has_value()) {
return kNumRetries;
@@ -493,4 +533,39 @@ std::string EndpointFetcher::GetUrlForTesting() {
return request_params_.max_retries.value_or(kNumRetries);
}
@@ -365,4 +407,39 @@ std::string EndpointFetcher::GetUrlForTesting() {
return request_params_.url().spec();
}
@@ -1966,59 +1946,55 @@ diff --git a/components/endpoint_fetcher/endpoint_fetcher.cc b/components/endpoi
diff --git a/components/endpoint_fetcher/endpoint_fetcher.h b/components/endpoint_fetcher/endpoint_fetcher.h
--- a/components/endpoint_fetcher/endpoint_fetcher.h
+++ b/components/endpoint_fetcher/endpoint_fetcher.h
@@ -23,6 +23,8 @@
@@ -20,6 +20,9 @@
#include "services/network/public/mojom/fetch_api.mojom-forward.h"
#include "url/gurl.h"
+#include "services/network/public/cpp/resource_request.h"
+#include "services/network/public/mojom/url_response_head.mojom.h"
+
namespace base {
class TimeDelta;
} // namespace base
+#include "services/network/public/cpp/resource_request.h"
+#include "services/network/public/mojom/url_response_head.mojom.h"
namespace network {
class SimpleURLLoader;
@@ -60,6 +62,7 @@ enum class HttpMethod {
kGet = 0,
@@ -61,6 +64,7 @@ enum class HttpMethod {
kPost = 1,
kDelete = 2,
+ kHead = 3,
kPut = 3,
+ kHead = 4,
};
enum AuthType {
@@ -73,6 +76,8 @@ enum AuthType {
@@ -79,6 +83,8 @@ struct EndpointResponse {
~EndpointResponse();
struct EndpointResponse {
std::string response;
+ long last_modified;
+ std::string redirect_url;
int http_status_code{-1};
std::optional<FetchErrorType> error_type;
};
@@ -360,6 +365,7 @@ class EndpointFetcher {
const std::vector<std::string>& headers,
const std::vector<std::string>& cors_exempt_headers,
version_info::Channel channel,
+ const net::NetworkTrafficAnnotationTag& annotation_tag,
const RequestParams request_params);
// Less preferred convenience constructor for requests requiring no
@@ -376,6 +382,14 @@ class EndpointFetcher {
const GURL& url,
const net::NetworkTrafficAnnotationTag& annotation_tag);
+ // Constructor if no authentication is needed, with timeout
scoped_refptr<net::HttpResponseHeaders> headers;
@@ -314,7 +320,16 @@ class EndpointFetcher {
EndpointFetcher(
const scoped_refptr<network::SharedURLLoaderFactory>& url_loader_factory,
signin::IdentityManager* identity_manager,
- RequestParams request_params);
+ RequestParams request_params,
+ const net::NetworkTrafficAnnotationTag& annotation_tag);
+
+ // Constructor used by cromite
+ EndpointFetcher(const scoped_refptr<network::SharedURLLoaderFactory>& url_loader_factory,
+ const GURL& url,
+ const std::string& http_method,
+ int64_t timeout_ms,
+ const bool intercept_redirect,
+ const net::NetworkTrafficAnnotationTag& annotation_tag);
+
// Used internally. Can be used if caller constructs their own
// url_loader_factory and identity_manager.
EndpointFetcher(
@@ -425,11 +439,17 @@ class EndpointFetcher {
void OnSanitizationResult(std::unique_ptr<EndpointResponse> response,
EndpointFetcherCallback endpoint_fetcher_callback,
data_decoder::JsonSanitizer::Result result);
EndpointFetcher(const EndpointFetcher& endpoint_fetcher) = delete;
EndpointFetcher& operator=(const EndpointFetcher& endpoint_fetcher) = delete;
@@ -347,11 +362,17 @@ class EndpointFetcher {
void OnResponseFetched(EndpointFetcherCallback callback,
std::unique_ptr<std::string> response_body);
+ void OnURLLoadComplete(scoped_refptr<net::HttpResponseHeaders> headers);
+ void OnSimpleLoaderRedirect(const GURL& url_before_redirect,
+ const net::RedirectInfo& redirect_info,
@@ -2033,7 +2009,7 @@ diff --git a/components/endpoint_fetcher/endpoint_fetcher.h b/components/endpoin
// Members set in constructor
const scoped_refptr<network::SharedURLLoaderFactory> url_loader_factory_;
@@ -437,6 +457,8 @@ class EndpointFetcher {
@@ -359,6 +380,8 @@ class EndpointFetcher {
// this case, callers should invoke `PerformRequest` directly).
const raw_ptr<signin::IdentityManager> identity_manager_;
@@ -2042,7 +2018,7 @@ diff --git a/components/endpoint_fetcher/endpoint_fetcher.h b/components/endpoin
// The complete definition of the specific network request to be performed.
// Contains authentication details and response handling preferences.
const RequestParams request_params_;
@@ -446,6 +468,9 @@ class EndpointFetcher {
@@ -368,6 +391,9 @@ class EndpointFetcher {
access_token_fetcher_;
std::unique_ptr<network::SimpleURLLoader> simple_url_loader_;
@@ -2055,26 +2031,26 @@ diff --git a/components/endpoint_fetcher/endpoint_fetcher.h b/components/endpoin
diff --git a/components/manta/base_provider.cc b/components/manta/base_provider.cc
--- a/components/manta/base_provider.cc
+++ b/components/manta/base_provider.cc
@@ -164,6 +164,7 @@ std::unique_ptr<EndpointFetcher> BaseProvider::CreateEndpointFetcherForDemoMode(
/*cors_exempt_headers=*/std::vector<std::string>(),
// ChromeOS always uses the stable channel API key
version_info::Channel::STABLE,
@@ -156,6 +156,7 @@ std::unique_ptr<EndpointFetcher> BaseProvider::CreateEndpointFetcherForDemoMode(
return std::make_unique<EndpointFetcher>(
/*url_loader_factory=*/url_loader_factory_,
/*identity_manager=*/nullptr,
+ annotation_tag,
EndpointFetcher::RequestParams::Builder(kHttpMethod, annotation_tag)
.Build());
}
.SetAuthType(endpoint_fetcher::CHROME_API_KEY)
.SetUrl(url)
diff --git a/components/omnibox/composebox/composebox_query_controller.cc b/components/omnibox/composebox/composebox_query_controller.cc
--- a/components/omnibox/composebox/composebox_query_controller.cc
+++ b/components/omnibox/composebox/composebox_query_controller.cc
@@ -434,7 +434,7 @@ ComposeboxQueryController::CreateEndpointFetcher(
/*post_data=*/std::move(request_string),
/*headers=*/request_headers,
/*cors_exempt_headers=*/cors_exempt_headers,
- /*channel=*/channel_,
+ /*channel=*/channel_, kTrafficAnnotationTag,
/*request_params=*/
EndpointFetcher::RequestParams::Builder(http_method,
kTrafficAnnotationTag)
@@ -524,7 +524,7 @@ ComposeboxQueryController::CreateEndpointFetcher(
.SetTimeout(timeout)
.SetUploadProgressCallback(std::move(upload_progress_callback))
.SetUrl(fetch_url)
- .Build());
+ .Build(), kTrafficAnnotationTag);
}
lens::LensOverlayClientContext ComposeboxQueryController::CreateClientContext()
diff --git a/cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/Bromite-auto-updater.inc b/cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/Bromite-auto-updater.inc
new file mode 100644
--- /dev/null
@@ -14,8 +14,8 @@ Require: bromite-build-utils.patch
.../ChromeSiteSettingsDelegate.java | 17 +-
...page_specific_content_settings_delegate.cc | 2 +-
chrome/browser/resources/settings/BUILD.gn | 2 +-
.../settings/privacy_page/privacy_page.html | 1 +
.../settings/privacy_page/privacy_page.ts | 77 +++-
.../privacy_page/privacy_page_index.html | 1 +
.../privacy_page/privacy_page_index.ts | 77 +++-
chrome/browser/resources/settings/route.ts | 2 +
...settings_category_default_radio_group.html | 12 +
.../settings_category_default_radio_group.ts | 23 +-
@@ -47,7 +47,7 @@ Require: bromite-build-utils.patch
...tomTriStateSiteSettingsPreferenceImpl.java | 24 +
.../ContentSettingsResources.java | 39 +-
.../site_settings/SingleCategorySettings.java | 57 ++-
.../site_settings/SingleWebsiteSettings.java | 53 ++-
.../site_settings/SingleWebsiteSettings.java | 54 ++-
.../site_settings/SiteSettings.java | 33 +-
.../site_settings/SiteSettingsCategory.java | 18 +-
.../site_settings/SiteSettingsDelegate.java | 2 +
@@ -74,7 +74,7 @@ Require: bromite-build-utils.patch
.../core/common/content_settings.mojom | 6 +
.../common/content_settings_mojom_traits.cc | 12 +-
.../common/content_settings_mojom_traits.h | 24 +
.../core/common/content_settings_types.mojom | 1 +
.../core/common/content_settings_types.mojom | 2 +
.../renderer/content_settings_agent_impl.cc | 74 ++++
.../renderer/content_settings_agent_impl.h | 9 +
.../PageInfoPermissionsController.java | 9 +
@@ -85,7 +85,7 @@ Require: bromite-build-utils.patch
.../platform/web_content_settings_client.h | 13 +
.../execution_context/execution_context.cc | 16 +
.../execution_context/execution_context.h | 5 +
74 files changed, 1965 insertions(+), 108 deletions(-)
74 files changed, 1967 insertions(+), 108 deletions(-)
create mode 100644 components/browser_ui/settings/android/java/res/layout/preference_spinner_single_widget.xml
create mode 100644 components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/BromiteCustomContentSetting.java
create mode 100644 components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/BromiteCustomContentSettingImpl.java
@@ -99,7 +99,7 @@ Require: bromite-build-utils.patch
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/site_settings/ChromeSiteSettingsDelegate.java b/chrome/android/java/src/org/chromium/chrome/browser/site_settings/ChromeSiteSettingsDelegate.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/site_settings/ChromeSiteSettingsDelegate.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/site_settings/ChromeSiteSettingsDelegate.java
@@ -70,6 +70,10 @@ import org.chromium.url.GURL;
@@ -69,6 +69,10 @@ import org.chromium.url.GURL;
import java.util.List;
import java.util.Set;
@@ -110,7 +110,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/site_settings/C
/** A SiteSettingsDelegate instance that contains Chrome-specific Site Settings logic. */
@NullMarked
public class ChromeSiteSettingsDelegate implements SiteSettingsDelegate {
@@ -243,7 +247,7 @@ public class ChromeSiteSettingsDelegate implements SiteSettingsDelegate {
@@ -242,7 +246,7 @@ public class ChromeSiteSettingsDelegate implements SiteSettingsDelegate {
@Override
public boolean isHelpAndFeedbackEnabled() {
@@ -119,7 +119,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/site_settings/C
}
@Override
@@ -381,6 +385,17 @@ public class ChromeSiteSettingsDelegate implements SiteSettingsDelegate {
@@ -380,6 +384,17 @@ public class ChromeSiteSettingsDelegate implements SiteSettingsDelegate {
return mPrivacySandboxBridge.getRelatedWebsiteSetOwner(memberOrigin);
}
@@ -152,7 +152,7 @@ diff --git a/chrome/browser/content_settings/page_specific_content_settings_dele
diff --git a/chrome/browser/resources/settings/BUILD.gn b/chrome/browser/resources/settings/BUILD.gn
--- a/chrome/browser/resources/settings/BUILD.gn
+++ b/chrome/browser/resources/settings/BUILD.gn
@@ -319,6 +319,7 @@ build_webui("build") {
@@ -353,6 +353,7 @@ build_webui("build") {
"privacy_sandbox/privacy_sandbox_browser_proxy.ts",
"relaunch_mixin.ts",
"reset_page/reset_browser_proxy.ts",
@@ -160,7 +160,7 @@ diff --git a/chrome/browser/resources/settings/BUILD.gn b/chrome/browser/resourc
"route.ts",
"router.ts",
"safety_hub/safety_hub_browser_proxy.ts",
@@ -333,7 +334,6 @@ build_webui("build") {
@@ -366,7 +367,6 @@ build_webui("build") {
"site_settings/constants.ts",
"site_settings/site_settings_mixin.ts",
"site_settings/site_settings_prefs_browser_proxy.ts",
@@ -168,28 +168,28 @@ diff --git a/chrome/browser/resources/settings/BUILD.gn b/chrome/browser/resourc
"site_settings/website_usage_browser_proxy.ts",
"time.ts",
"tooltip_mixin.ts",
diff --git a/chrome/browser/resources/settings/privacy_page/privacy_page.html b/chrome/browser/resources/settings/privacy_page/privacy_page.html
--- a/chrome/browser/resources/settings/privacy_page/privacy_page.html
+++ b/chrome/browser/resources/settings/privacy_page/privacy_page.html
@@ -982,4 +982,5 @@
</template>
</template>
</if>
+ <div id="bromite-placeholder"/>
</settings-animated-pages>
diff --git a/chrome/browser/resources/settings/privacy_page/privacy_page.ts b/chrome/browser/resources/settings/privacy_page/privacy_page.ts
--- a/chrome/browser/resources/settings/privacy_page/privacy_page.ts
+++ b/chrome/browser/resources/settings/privacy_page/privacy_page.ts
@@ -54,6 +54,7 @@ import {SiteSettingsPrefsBrowserProxyImpl} from '../site_settings/site_settings_
diff --git a/chrome/browser/resources/settings/privacy_page/privacy_page_index.html b/chrome/browser/resources/settings/privacy_page/privacy_page_index.html
--- a/chrome/browser/resources/settings/privacy_page/privacy_page_index.html
+++ b/chrome/browser/resources/settings/privacy_page/privacy_page_index.html
@@ -572,4 +572,5 @@
</zoom-levels>
</template>
import {PrivacyGuideAvailabilityMixin} from './privacy_guide/privacy_guide_availability_mixin.js';
import {getTemplate} from './privacy_page.html.js';
+ <div id="bromite-placeholder"/>
</cr-view-manager>
diff --git a/chrome/browser/resources/settings/privacy_page/privacy_page_index.ts b/chrome/browser/resources/settings/privacy_page/privacy_page_index.ts
--- a/chrome/browser/resources/settings/privacy_page/privacy_page_index.ts
+++ b/chrome/browser/resources/settings/privacy_page/privacy_page_index.ts
@@ -29,6 +29,7 @@ import {PrivacyGuideAvailabilityMixin} from './privacy_guide/privacy_guide_avail
import type {PrivacyGuideBrowserProxy} from './privacy_guide/privacy_guide_browser_proxy.js';
import {MAX_PRIVACY_GUIDE_PROMO_IMPRESSION, PrivacyGuideBrowserProxyImpl} from './privacy_guide/privacy_guide_browser_proxy.js';
import {getTemplate} from './privacy_page_index.html.js';
+import { SettingsCategoryDefaultRadioGroupElement } from '../site_settings/settings_category_default_radio_group.js';
interface BlockAutoplayStatus {
enabled: boolean;
@@ -77,8 +78,82 @@ export class SettingsPrivacyPageElement extends SettingsPrivacyPageElementBase {
return 'settings-privacy-page';
// clang-format off
// <if expr="is_chromeos">
@@ -53,8 +54,82 @@ export class SettingsPrivacyPageIndexElement extends
return 'settings-privacy-page-index';
}
+ static getSettingTemplate(template: HTMLTemplateElement,
@@ -283,9 +283,9 @@ diff --git a/chrome/browser/resources/settings/route.ts b/chrome/browser/resourc
/**
* Add all of the child routes that originate from the privacy route,
@@ -175,6 +176,7 @@ function addPrivacyChildRoutes(r: Partial<SettingsRoutes>) {
@@ -155,6 +156,7 @@ function addPrivacyChildRoutes(r: Partial<SettingsRoutes>) {
r.SITE_SETTINGS_LOCAL_NETWORK_ACCESS =
r.SITE_SETTINGS.createChild('localNetworkAccess');
r.SITE_SETTINGS_LOCAL_NETWORK_ACCESS.hasMigratedToPlugin = true;
}
+ setupContentSettingsRoutes(r);
}
@@ -390,16 +390,17 @@ diff --git a/chrome/browser/resources/settings/site_settings/settings_category_d
diff --git a/chrome/browser/resources/settings/site_settings/site_details.html b/chrome/browser/resources/settings/site_settings/site_details.html
--- a/chrome/browser/resources/settings/site_settings/site_details.html
+++ b/chrome/browser/resources/settings/site_settings/site_details.html
@@ -331,4 +331,5 @@
@@ -332,5 +332,6 @@
label="$i18n{siteSettingsLocalNetworkAccess}">
</site-details-permission>
</template>
+ <div id="bromite-placeholder"/>
</div>
</settings-subpage>
diff --git a/chrome/browser/resources/settings/site_settings/site_details.ts b/chrome/browser/resources/settings/site_settings/site_details.ts
--- a/chrome/browser/resources/settings/site_settings/site_details.ts
+++ b/chrome/browser/resources/settings/site_settings/site_details.ts
@@ -62,8 +62,39 @@ export class SiteDetailsElement extends SiteDetailsElementBase {
@@ -69,8 +69,39 @@ export class SiteDetailsElement extends SiteDetailsElementBase {
return 'site-details';
}
@@ -675,7 +676,7 @@ diff --git a/chrome/browser/resources/settings/site_settings/site_settings_util.
diff --git a/chrome/browser/resources/settings/site_settings_page/site_settings_page.ts b/chrome/browser/resources/settings/site_settings_page/site_settings_page.ts
--- a/chrome/browser/resources/settings/site_settings_page/site_settings_page.ts
+++ b/chrome/browser/resources/settings/site_settings_page/site_settings_page.ts
@@ -50,7 +50,7 @@ function getCategoryItemMap(): Map<ContentSettingsTypes, CategoryListItem> {
@@ -51,7 +51,7 @@ function getCategoryItemMap(): Map<ContentSettingsTypes, CategoryListItem> {
}
// The following list is ordered alphabetically by |id|. The order in which
// these appear in the UI is determined elsewhere in this file.
@@ -684,7 +685,7 @@ diff --git a/chrome/browser/resources/settings/site_settings_page/site_settings_
{
route: routes.SITE_SETTINGS_ADS,
id: Id.ADS,
@@ -451,10 +451,36 @@ function getCategoryItemMap(): Map<ContentSettingsTypes, CategoryListItem> {
@@ -452,10 +452,36 @@ function getCategoryItemMap(): Map<ContentSettingsTypes, CategoryListItem> {
icon: 'privacy:cookie',
},
];
@@ -721,7 +722,7 @@ diff --git a/chrome/browser/resources/settings/site_settings_page/site_settings_
function buildItemListFromIds(orderedIdList: ContentSettingsTypes[]):
CategoryListItem[] {
const map = getCategoryItemMap();
@@ -545,7 +571,7 @@ export class SettingsSiteSettingsPageElement extends
@@ -546,7 +572,7 @@ export class SettingsSiteSettingsPageElement extends
Id.IMAGES,
Id.POPUPS,
]),
@@ -733,7 +734,7 @@ diff --git a/chrome/browser/resources/settings/site_settings_page/site_settings_
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
@@ -1542,6 +1542,7 @@ static_library("ui") {
@@ -1581,6 +1581,7 @@ static_library("ui") {
"//components/commerce/core/mojom:mojo_bindings",
"//components/commerce/core/webui",
"//components/endpoint_fetcher",
@@ -741,7 +742,7 @@ diff --git a/chrome/browser/ui/BUILD.gn b/chrome/browser/ui/BUILD.gn
"//components/enterprise/common:files_scan_data",
"//components/feedback/proto",
"//components/headless/console_message_logger",
@@ -4672,6 +4673,7 @@ static_library("ui") {
@@ -4719,6 +4720,7 @@ static_library("ui") {
"//components/power_bookmarks/core",
"//components/power_bookmarks/storage",
"//components/prefs",
@@ -912,7 +913,7 @@ diff --git a/chrome/browser/ui/views/page_info/page_info_view_factory.h b/chrome
diff --git a/chrome/browser/ui/views/page_info/permission_toggle_row_view.cc b/chrome/browser/ui/views/page_info/permission_toggle_row_view.cc
--- a/chrome/browser/ui/views/page_info/permission_toggle_row_view.cc
+++ b/chrome/browser/ui/views/page_info/permission_toggle_row_view.cc
@@ -39,6 +39,34 @@
@@ -40,6 +40,34 @@
#include "ui/views/controls/styled_label.h"
#include "ui/views/style/typography.h"
#include "ui/views/view_class_properties.h"
@@ -947,7 +948,7 @@ diff --git a/chrome/browser/ui/views/page_info/permission_toggle_row_view.cc b/c
namespace {
@@ -73,17 +101,12 @@ PermissionToggleRowView::PermissionToggleRowView(
@@ -74,17 +102,12 @@ PermissionToggleRowView::PermissionToggleRowView(
navigation_handler_(navigation_handler) {
SetUseDefaultFillLayout(true);
row_view_ = AddChildView(std::make_unique<RichControlsContainerView>());
@@ -966,7 +967,7 @@ diff --git a/chrome/browser/ui/views/page_info/permission_toggle_row_view.cc b/c
if (permission.requesting_origin.has_value()) {
std::u16string requesting_origin_string;
switch (permission.type) {
@@ -181,6 +204,91 @@ void PermissionToggleRowView::UpdatePermission(
@@ -182,6 +205,91 @@ void PermissionToggleRowView::UpdatePermission(
UpdateUiOnPermissionChanged();
}
@@ -1058,7 +1059,7 @@ diff --git a/chrome/browser/ui/views/page_info/permission_toggle_row_view.cc b/c
void PermissionToggleRowView::OnToggleButtonPressed() {
PageInfoUI::ToggleBetweenAllowAndBlock(permission_);
PermissionChanged();
@@ -189,27 +297,19 @@ void PermissionToggleRowView::OnToggleButtonPressed() {
@@ -190,27 +298,19 @@ void PermissionToggleRowView::OnToggleButtonPressed() {
void PermissionToggleRowView::AddToggleButton(
const std::u16string& toggle_accessible_name,
int icon_label_spacing) {
@@ -1093,7 +1094,7 @@ diff --git a/chrome/browser/ui/views/page_info/permission_toggle_row_view.cc b/c
}
void PermissionToggleRowView::InitForUserSource(
@@ -251,12 +351,6 @@ void PermissionToggleRowView::InitForUserSource(
@@ -255,12 +355,6 @@ void PermissionToggleRowView::InitForUserSource(
auto spacer_view = std::make_unique<views::View>();
spacer_view->SetPreferredSize(gfx::Size(icon_size, icon_size));
spacer_view_ = row_view_->AddControl(std::move(spacer_view));
@@ -1106,7 +1107,7 @@ diff --git a/chrome/browser/ui/views/page_info/permission_toggle_row_view.cc b/c
}
}
}
@@ -282,6 +376,15 @@ void PermissionToggleRowView::InitForManagedSource(
@@ -286,6 +380,15 @@ void PermissionToggleRowView::InitForManagedSource(
}
void PermissionToggleRowView::UpdateUiOnPermissionChanged() {
@@ -1122,7 +1123,7 @@ diff --git a/chrome/browser/ui/views/page_info/permission_toggle_row_view.cc b/c
if (blocked_on_system_level_label_) {
if (!permission_.setting) {
permission_blocked_on_system_level_ = false;
@@ -326,6 +429,37 @@ void PermissionToggleRowView::UpdateUiOnPermissionChanged() {
@@ -330,6 +433,37 @@ void PermissionToggleRowView::UpdateUiOnPermissionChanged() {
}
}
}
@@ -1230,7 +1231,7 @@ diff --git a/chrome/browser/ui/webui/settings/settings_localized_strings_provide
#include "components/password_manager/core/browser/leak_detection_dialog_utils.h"
#include "components/password_manager/core/browser/manage_passwords_referrer.h"
#include "components/password_manager/core/common/password_manager_features.h"
@@ -3855,6 +3859,56 @@ void AddLocalizedStrings(content::WebUIDataSource* html_source,
@@ -3885,6 +3889,56 @@ void AddLocalizedStrings(content::WebUIDataSource* html_source,
policy_indicator::AddLocalizedStrings(html_source);
AddSecurityKeysStrings(html_source);
@@ -1290,7 +1291,7 @@ diff --git a/chrome/browser/ui/webui/settings/settings_localized_strings_provide
diff --git a/chrome/browser/ui/webui/settings/site_settings_helper.cc b/chrome/browser/ui/webui/settings/site_settings_helper.cc
--- a/chrome/browser/ui/webui/settings/site_settings_helper.cc
+++ b/chrome/browser/ui/webui/settings/site_settings_helper.cc
@@ -47,6 +47,8 @@
@@ -46,6 +46,8 @@
#include "chrome/grit/generated_resources.h"
#include "components/content_settings/core/browser/content_settings_provider.h"
#include "components/content_settings/core/browser/host_content_settings_map.h"
@@ -1299,8 +1300,8 @@ diff --git a/chrome/browser/ui/webui/settings/site_settings_helper.cc b/chrome/b
#include "components/content_settings/core/common/content_settings.h"
#include "components/content_settings/core/common/content_settings_pattern.h"
#include "components/content_settings/core/common/content_settings_types.h"
@@ -261,13 +263,13 @@ constexpr auto kContentSettingsTypeGroupNames = std::to_array<
{ContentSettingsType::DEVICE_ATTRIBUTES, nullptr},
@@ -263,13 +265,13 @@ constexpr auto kContentSettingsTypeGroupNames = std::to_array<
{ContentSettingsType::SUSPICIOUS_NOTIFICATION_SHOW_ORIGINAL, nullptr},
});
-static_assert(
@@ -1320,7 +1321,7 @@ diff --git a/chrome/browser/ui/webui/settings/site_settings_helper.cc b/chrome/b
struct SiteSettingSourceStringMapping {
SiteSettingSource source;
@@ -529,6 +531,13 @@ bool HasRegisteredGroupName(ContentSettingsType type) {
@@ -531,6 +533,13 @@ bool HasRegisteredGroupName(ContentSettingsType type) {
return true;
}
}
@@ -1334,7 +1335,7 @@ diff --git a/chrome/browser/ui/webui/settings/site_settings_helper.cc b/chrome/b
return false;
}
@@ -542,11 +551,24 @@ ContentSettingsType ContentSettingsTypeFromGroupName(std::string_view name) {
@@ -544,11 +553,24 @@ ContentSettingsType ContentSettingsTypeFromGroupName(std::string_view name) {
return entry.type;
}
}
@@ -1360,7 +1361,7 @@ diff --git a/chrome/browser/ui/webui/settings/site_settings_helper.cc b/chrome/b
for (const auto& entry : kContentSettingsTypeGroupNames) {
if (type == entry.type) {
// Content setting types that aren't represented in the settings UI
@@ -561,7 +583,6 @@ std::string_view ContentSettingsTypeToGroupName(ContentSettingsType type) {
@@ -563,7 +585,6 @@ std::string_view ContentSettingsTypeToGroupName(ContentSettingsType type) {
return entry.name ? entry.name : std::string_view();
}
}
@@ -1368,7 +1369,7 @@ diff --git a/chrome/browser/ui/webui/settings/site_settings_helper.cc b/chrome/b
NOTREACHED() << static_cast<int32_t>(type)
<< " is not a recognized content settings type.";
}
@@ -668,6 +689,13 @@ std::vector<ContentSettingsType> GetVisiblePermissionCategories(
@@ -670,6 +691,13 @@ std::vector<ContentSettingsType> GetVisiblePermissionCategories(
base_types->push_back(ContentSettingsType::LOCAL_NETWORK_ACCESS);
}
@@ -1385,7 +1386,7 @@ diff --git a/chrome/browser/ui/webui/settings/site_settings_helper.cc b/chrome/b
diff --git a/components/browser_ui/settings/android/BUILD.gn b/components/browser_ui/settings/android/BUILD.gn
--- a/components/browser_ui/settings/android/BUILD.gn
+++ b/components/browser_ui/settings/android/BUILD.gn
@@ -92,6 +92,7 @@ android_resources("java_resources") {
@@ -94,6 +94,7 @@ android_resources("java_resources") {
"java/res/layout/managed_disclaimer_preference_for_radio_groups.xml",
"java/res/layout/preference_chrome_image_view.xml",
"java/res/layout/preference_spinner.xml",
@@ -1548,7 +1549,7 @@ diff --git a/components/browser_ui/settings/android/widget/java/src/org/chromium
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
@@ -153,6 +153,23 @@ android_library("java") {
@@ -156,6 +156,23 @@ android_library("java") {
":site_settings_jni_headers",
"//components/content_settings/android:java_pref_names_srcjar",
]
@@ -1572,7 +1573,7 @@ diff --git a/components/browser_ui/site_settings/android/BUILD.gn b/components/b
}
android_library("javatests") {
@@ -202,6 +219,7 @@ robolectric_library("junit") {
@@ -205,6 +222,7 @@ robolectric_library("junit") {
}
android_resources("java_resources") {
@@ -1598,7 +1599,7 @@ diff --git a/components/browser_ui/site_settings/android/java/res/xml/site_setti
diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/AllSiteSettings.java b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/AllSiteSettings.java
--- a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/AllSiteSettings.java
+++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/AllSiteSettings.java
@@ -389,7 +389,8 @@ public class AllSiteSettings extends BaseSiteSettingsFragment
@@ -390,7 +390,8 @@ public class AllSiteSettings extends BaseSiteSettingsFragment
if (queryHasChanged) getInfoForOrigins();
});
@@ -1608,7 +1609,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
MenuItem help =
menu.add(
Menu.NONE,
@@ -401,6 +402,8 @@ public class AllSiteSettings extends BaseSiteSettingsFragment
@@ -402,6 +403,8 @@ public class AllSiteSettings extends BaseSiteSettingsFragment
getResources(),
R.drawable.ic_help_and_feedback,
getContext().getTheme()));
@@ -2306,7 +2307,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/SingleCategorySettings.java b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleCategorySettings.java
--- a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleCategorySettings.java
+++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleCategorySettings.java
@@ -349,6 +349,10 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
@@ -355,6 +355,10 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
} else {
@ContentSetting
Integer contentSetting = website.site().getContentSetting(browserContextHandle, type);
@@ -2317,7 +2318,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
if (contentSetting != null) {
return ContentSetting.BLOCK == contentSetting;
}
@@ -540,6 +544,7 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
@@ -546,6 +550,7 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
? new HashSet<>(getArguments().getStringArrayList(EXTRA_SELECTED_DOMAINS))
: null;
@@ -2325,7 +2326,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
configureGlobalToggles();
if (mCategory.getType() == SiteSettingsCategory.Type.REQUEST_DESKTOP_SITE) {
RecordUserAction.record("DesktopSiteContentSetting.SettingsPage.Entered");
@@ -575,7 +580,8 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
@@ -581,7 +586,8 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
if (queryHasChanged) getInfoForOrigins();
});
@@ -2335,7 +2336,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
MenuItem help =
menu.add(
Menu.NONE,
@@ -587,12 +593,20 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
@@ -593,12 +599,20 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
getResources(),
R.drawable.ic_help_and_feedback,
getContext().getTheme()));
@@ -2356,7 +2357,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
if (mCategory.getType() == SiteSettingsCategory.Type.PROTECTED_MEDIA) {
getSiteSettingsDelegate()
.launchProtectedContentHelpAndFeedbackActivity(getActivity());
@@ -671,6 +685,11 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
@@ -673,6 +687,11 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
public boolean onPreferenceChange(Preference preference, Object newValue) {
BrowserContextHandle browserContextHandle = getBrowserContextHandle();
PrefService prefService = UserPrefs.get(browserContextHandle);
@@ -2368,7 +2369,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
if (BINARY_RADIO_BUTTON_KEY.equals(preference.getKey())
|| BINARY_TOGGLE_KEY.equals(preference.getKey())) {
assert !mCategory.isManaged();
@@ -845,7 +864,7 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
@@ -847,7 +866,7 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
? R.string.website_settings_add_site_description_javascript_optimizer_block
: R.string.website_settings_add_site_description_javascript_optimizer_allow;
}
@@ -2377,7 +2378,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
}
// OnPreferenceClickListener:
@@ -963,17 +982,15 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
@@ -965,17 +984,15 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
break;
}
@@ -2398,7 +2399,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
String exceptionDialogMessage =
exceptionDialogMessageResourceId != 0
? getString(exceptionDialogMessageResourceId)
@@ -984,7 +1001,7 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
@@ -986,7 +1003,7 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
getStyledContext(),
ADD_EXCEPTION_KEY,
exceptionDialogMessage,
@@ -2407,7 +2408,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
mCategory,
this));
@@ -1168,8 +1185,16 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
@@ -1170,8 +1187,16 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
private boolean isBlocked() {
switch (mGlobalToggleLayout) {
case GlobalToggleLayout.TRI_STATE_TOGGLE:
@@ -2424,7 +2425,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
return (triStateToggle.getCheckedSetting() == ContentSetting.BLOCK);
case GlobalToggleLayout.TRI_STATE_COOKIE_TOGGLE:
TriStateCookieSettingsPreference triStateCookieToggle =
@@ -1322,7 +1347,11 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
@@ -1324,7 +1349,11 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
} else if (res_id != -1) {
infoText.setSummary(res_id);
} else {
@@ -2437,7 +2438,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
}
// Hide the anti-abuse text preferences, as needed.
@@ -1361,6 +1390,7 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
@@ -1363,6 +1392,7 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
} else {
screen.removePreference(mLocationTriStatePref);
}
@@ -2445,7 +2446,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
maybeShowReasonToggleDisabled(screen);
@@ -1569,6 +1599,7 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
@@ -1571,6 +1601,7 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
iconIds = ContentSettingsResources.getTriStateSettingIconIDs(contentType);
}
triStateToggle.initialize(
@@ -2453,8 +2454,8 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
setting,
descriptionIds,
iconIds,
@@ -1743,6 +1774,14 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
value = site.getContentSetting(browserContextHandle, contentSettingsType);
@@ -1859,6 +1890,14 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
selectedButton.setChecked(true);
}
+ AlertDialog.Builder alertDialogBuilder =
@@ -2471,7 +2472,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
@@ -56,6 +56,7 @@ import java.util.Collection;
@@ -57,6 +57,7 @@ import java.util.Collection;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -2479,7 +2480,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. */
@NullMarked
@@ -196,7 +197,7 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment
@@ -200,7 +201,7 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment
case ContentSettingsType.WINDOW_MANAGEMENT:
return "window_management_permission_list";
default:
@@ -2488,36 +2489,37 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
}
}
@@ -596,14 +597,27 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment
@@ -623,7 +624,8 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment
private void setupContentSettingsPreferences() {
Preference permissionsHeaderPref = findPreference(PREF_PERMISSIONS_HEADER);
mMaxPermissionOrder = permissionsHeaderPref.getOrder();
- for (@ContentSettingsType.EnumType int type : SiteSettingsUtil.SETTINGS_ORDER) {
+ List<Integer> order = BromiteCustomContentSettingImpl.getSettingsOrder();
+ for (@ContentSettingsType.EnumType int type : order) {
+ @ContentSetting @Nullable Integer value =
+ mSite.getContentSetting(
+ getSiteSettingsDelegate().getBrowserContextHandle(), type);
+ if (value == null) {
+ value = WebsitePreferenceBridge.getDefaultContentSetting(
+ getSiteSettingsDelegate().getBrowserContextHandle(), type);
+ }
Preference preference =
+ BromiteCustomContentSettingImpl
+ .createWebSitePreference(type, getStyledContext(), value);
+ if (preference == null) {
+ preference =
(isOneTime(type)
&& PermissionsAndroidFeatureMap.isEnabled(
PermissionsAndroidFeatureList
.APPROXIMATE_GEOLOCATION_PERMISSION))
? new ChromeImageViewPreference(getStyledContext())
: new ChromeSwitchPreference(getStyledContext());
+ }
Preference preference = getPermissionPreference(type);
preference.setKey(getPreferenceKey(type));
if (type == ContentSettingsType.ADS) {
@@ -1199,7 +1213,16 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment
@@ -655,6 +657,19 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment
}
private Preference getPermissionPreference(@ContentSettingsType.EnumType int type) {
+ @ContentSetting @Nullable Integer value =
+ mSite.getContentSetting(
+ getSiteSettingsDelegate().getBrowserContextHandle(), type);
+ if (value == null) {
+ value = WebsitePreferenceBridge.getDefaultContentSetting(
+ getSiteSettingsDelegate().getBrowserContextHandle(), type);
+ }
+ Preference preference =
+ BromiteCustomContentSettingImpl
+ .createWebSitePreference(type, getStyledContext(), value);
+ if (preference != null)
+ return preference;
+
boolean isOneTime = isOneTime(type);
if (type == ContentSettingsType.GEOLOCATION_WITH_OPTIONS && !isOneTime) {
return createTwoActionLocationSwitchPreference();
@@ -1254,7 +1269,16 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment
@ContentSetting @Nullable Integer value,
boolean isEmbargoed,
boolean isOneTime) {
@@ -2535,7 +2537,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
setUpPreferenceCommon(preference, value);
preference.setOnPreferenceChangeListener(this);
@ContentSettingsType.EnumType
@@ -1211,7 +1234,7 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment
@@ -1266,7 +1290,7 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment
isEmbargoed
? getString(R.string.automatically_blocked)
: getString(
@@ -2544,7 +2546,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
value, isOneTime, isApproximateGeolocation)));
if (preference instanceof ChromeImageViewPreference) {
ChromeImageViewPreference oneTimePreference = (ChromeImageViewPreference) preference;
@@ -1237,10 +1260,14 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment
@@ -1292,10 +1316,14 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment
oneTimePreference.setBackgroundColor(mHighlightColor);
}
} else {
@@ -2563,7 +2565,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
AppCompatResources.getColorStateList(getContext(), mHighlightColor)
.getDefaultColor());
}
@@ -1532,7 +1559,13 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment
@@ -1587,7 +1615,13 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment
if (newValue instanceof Boolean) {
permission = (Boolean) newValue ? getEnabledValue(type) : ContentSetting.BLOCK;
} else {
@@ -2578,7 +2580,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
}
if (type == ContentSettingsType.GEOLOCATION_WITH_OPTIONS) {
@@ -1553,7 +1586,7 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment
@@ -1608,7 +1642,7 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment
// info.
preference.setSummary(
getString(
@@ -2802,7 +2804,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
@@ -128,7 +128,7 @@ public class WebsitePermissionsFetcher {
@@ -129,7 +129,7 @@ public class WebsitePermissionsFetcher {
}
break;
default:
@@ -2952,7 +2954,7 @@ diff --git a/components/content_settings/core/browser/content_settings_registry.
diff --git a/components/content_settings/core/browser/content_settings_uma_util.cc b/components/content_settings/core/browser/content_settings_uma_util.cc
--- a/components/content_settings/core/browser/content_settings_uma_util.cc
+++ b/components/content_settings/core/browser/content_settings_uma_util.cc
@@ -224,11 +224,7 @@ void RecordContentSettingsHistogram(const std::string& name,
@@ -226,11 +226,7 @@ void RecordContentSettingsHistogram(const std::string& name,
}
int ContentSettingTypeToHistogramValue(ContentSettingsType content_setting) {
@@ -3288,10 +3290,11 @@ diff --git a/components/content_settings/core/common/content_settings_mojom_trai
diff --git a/components/content_settings/core/common/content_settings_types.mojom b/components/content_settings/core/common/content_settings_types.mojom
--- a/components/content_settings/core/common/content_settings_types.mojom
+++ b/components/content_settings/core/common/content_settings_types.mojom
@@ -498,5 +498,6 @@ enum ContentSettingsType {
// Setting for enabling the Device Attributes API. Spec link:
// https://wicg.github.io/WebApiDevice/device_attributes/
DEVICE_ATTRIBUTES,
@@ -508,5 +508,7 @@ enum ContentSettingsType {
// when suspicious warning is shown. If the user has selected this, the
// notification permission will not be revoked based on suspicious verdict.
SUSPICIOUS_NOTIFICATION_SHOW_ORIGINAL,
+
+#include "components/content_settings/core/common/bromite_content_settings.inc"
};
// LINT.ThenChange(//components/content_settings/core/browser/content_settings_uma_util.cc:kHistogramValue)
@@ -3477,7 +3480,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_uma_util.h"
@@ -1367,6 +1368,14 @@ void PageInfo::PopulatePermissionInfo(PermissionInfo& permission_info,
@@ -1377,6 +1378,14 @@ void PageInfo::PopulatePermissionInfo(PermissionInfo& permission_info,
// via `HasContentSettingChangedViaPageInfo(type)`.
bool PageInfo::ShouldShowPermission(
const PageInfo::PermissionInfo& info) const {
@@ -3492,7 +3495,7 @@ diff --git a/components/page_info/page_info.cc b/components/page_info/page_info.
// Note |ContentSettingsType::ADS| will show up regardless of its default
// value when it has been activated on the current origin.
if (info.type == ContentSettingsType::ADS) {
@@ -1494,7 +1503,19 @@ void PageInfo::PresentSitePermissions() {
@@ -1504,7 +1513,19 @@ void PageInfo::PresentSitePermissions() {
HostContentSettingsMap* content_settings = GetContentSettings();
DCHECK(web_contents_);
@@ -3524,7 +3527,7 @@ diff --git a/components/page_info/page_info_ui.cc b/components/page_info/page_in
#include "components/page_info/core/features.h"
#include "components/page_info/page_info.h"
#include "components/page_info/page_info_ui.h"
@@ -252,6 +253,13 @@ void CreateOppositeToDefaultSiteException(
@@ -251,6 +252,13 @@ void CreateOppositeToDefaultSiteException(
std::u16string GetPermissionAskStateString(ContentSettingsType type) {
int message_id = kInvalidResourceID;
@@ -3538,7 +3541,7 @@ diff --git a/components/page_info/page_info_ui.cc b/components/page_info/page_in
switch (type) {
case ContentSettingsType::GEOLOCATION:
message_id = IDS_PAGE_INFO_STATE_TEXT_LOCATION_ASK;
@@ -550,6 +558,12 @@ PageInfoUI::~PageInfoUI() = default;
@@ -549,6 +557,12 @@ PageInfoUI::~PageInfoUI() = default;
// static
std::u16string PageInfoUI::PermissionTypeToUIString(ContentSettingsType type) {
@@ -3551,7 +3554,7 @@ diff --git a/components/page_info/page_info_ui.cc b/components/page_info/page_in
for (const PermissionUIInfo& info : GetContentSettingsUIInfo()) {
if (info.type == type)
return l10n_util::GetStringUTF16(info.string_id);
@@ -560,6 +574,12 @@ std::u16string PageInfoUI::PermissionTypeToUIString(ContentSettingsType type) {
@@ -559,6 +573,12 @@ std::u16string PageInfoUI::PermissionTypeToUIString(ContentSettingsType type) {
// static
std::u16string PageInfoUI::PermissionTypeToUIStringMidSentence(
ContentSettingsType type) {
@@ -3564,7 +3567,7 @@ diff --git a/components/page_info/page_info_ui.cc b/components/page_info/page_in
for (const PermissionUIInfo& info : GetContentSettingsUIInfo()) {
if (info.type == type)
return l10n_util::GetStringUTF16(info.string_id_mid_sentence);
@@ -948,6 +968,11 @@ bool PageInfoUI::ContentSettingsTypeInPageInfo(ContentSettingsType type) {
@@ -947,6 +967,11 @@ bool PageInfoUI::ContentSettingsTypeInPageInfo(ContentSettingsType type) {
if (info.type == type)
return true;
}
@@ -3645,7 +3648,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
@@ -42,6 +42,7 @@
@@ -43,6 +43,7 @@
#include "third_party/blink/public/mojom/frame/lifecycle.mojom-blink-forward.h"
#include "third_party/blink/public/mojom/permissions_policy/policy_disposition.mojom-blink-forward.h"
#include "third_party/blink/public/mojom/v8_cache_options.mojom-blink-forward.h"
@@ -3653,7 +3656,7 @@ diff --git a/third_party/blink/renderer/core/execution_context/execution_context
#include "third_party/blink/renderer/bindings/core/v8/sanitize_script_errors.h"
#include "third_party/blink/renderer/core/core_export.h"
#include "third_party/blink/renderer/core/execution_context/security_context.h"
@@ -101,6 +102,10 @@ class SecurityOrigin;
@@ -102,6 +103,10 @@ class SecurityOrigin;
class ScriptState;
class ScriptWrappable;
class TrustedTypePolicyFactory;
@@ -4,27 +4,28 @@ Subject: Disable Compression Dictionary Transport
License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
---
.../blink/renderer/platform/runtime_enabled_features.json5 | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
chrome/browser/chrome_content_browser_client.cc | 3 +--
.../features_cc/Disable-Compression-Dictionary-Transport.inc | 1 +
2 files changed, 2 insertions(+), 2 deletions(-)
create mode 100644 cromite_flags/services/network/public/cpp/features_cc/Disable-Compression-Dictionary-Transport.inc
diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5 b/third_party/blink/renderer/platform/runtime_enabled_features.json5
--- a/third_party/blink/renderer/platform/runtime_enabled_features.json5
+++ b/third_party/blink/renderer/platform/runtime_enabled_features.json5
@@ -1065,12 +1065,14 @@
}
},
{
- name: "CompressionDictionaryTransport",
+ name: "CompressionDictionaryTransport", // need to be disabled
+ status: "experimental",
base_feature: "none",
public: true,
},
{
- name: "CompressionDictionaryTransportBackend",
+ name: "CompressionDictionaryTransportBackend", // need to be disabled
+ status: "experimental",
base_feature: "none",
public: true,
},
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
@@ -1467,8 +1467,7 @@ void ChromeContentBrowserClient::RegisterProfilePrefs(
registry->RegisterBooleanPref(prefs::kSandboxExternalProtocolBlocked, true);
registry->RegisterBooleanPref(prefs::kSSLErrorOverrideAllowed, true);
registry->RegisterListPref(prefs::kSSLErrorOverrideAllowedForOrigins);
- registry->RegisterBooleanPref(prefs::kCompressionDictionaryTransportEnabled,
- true);
+ registry->RegisterBooleanPref(prefs::kCompressionDictionaryTransportEnabled, false);
#if BUILDFLAG(ENABLE_ON_DEVICE_TRANSLATION)
registry->RegisterBooleanPref(prefs::kTranslatorAPIAllowed, true);
#endif
diff --git a/cromite_flags/services/network/public/cpp/features_cc/Disable-Compression-Dictionary-Transport.inc b/cromite_flags/services/network/public/cpp/features_cc/Disable-Compression-Dictionary-Transport.inc
new file mode 100644
--- /dev/null
+++ b/cromite_flags/services/network/public/cpp/features_cc/Disable-Compression-Dictionary-Transport.inc
@@ -0,0 +1 @@
+SET_CROMITE_FEATURE_DISABLED(kCompressionDictionaryTransport);
--
@@ -12,8 +12,8 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
chrome/app/settings_strings.grdp | 3 +
chrome/app/settings_strings_android.grdp | 260 ++++++++++++++++++
chrome/browser/BUILD.gn | 3 +
.../chrome_browser_interface_binders.cc | 3 +
.../chrome_browser_interface_binders_webui.cc | 21 ++
.../chrome_browser_interface_binders_webui.cc | 1 +
...r_interface_binders_webui_parts_desktop.cc | 3 +
chrome/browser/extensions/extension_util.h | 2 +-
chrome/browser/resources/BUILD.gn | 7 +
chrome/browser/resources/settings/BUILD.gn | 2 +-
@@ -80,7 +80,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
ui/webui/resources/images/BUILD.gn | 2 +-
ui/webui/resources/js/BUILD.gn | 2 +-
ui/webui/resources/js/load_time_data.ts | 17 +-
73 files changed, 1171 insertions(+), 73 deletions(-)
73 files changed, 1151 insertions(+), 73 deletions(-)
create mode 100644 chrome/app/settings_strings_android.grdp
create mode 100644 chrome/browser/search_engines/android/java/res/layout/search_engine_layout.xml
create mode 100644 chrome/browser/ui/webui/settings/settings_localized_strings_provider_android.cc
@@ -131,7 +131,7 @@ diff --git a/chrome/app/generated_resources.grd b/chrome/app/generated_resources
<!-- Support Tool strings -->
<if expr="not is_android">
<part file="support_tool_strings.grdp" />
@@ -527,7 +532,7 @@ are declared in tools/grit/grit_args.gni.
@@ -525,7 +530,7 @@ are declared in tools/grit/grit_args.gni.
Disable
</message>
<!-- Search strings are only used in webui. These aren't needed on android unless are enabled. -->
@@ -143,7 +143,7 @@ diff --git a/chrome/app/generated_resources.grd b/chrome/app/generated_resources
diff --git a/chrome/app/settings_strings.grdp b/chrome/app/settings_strings.grdp
--- a/chrome/app/settings_strings.grdp
+++ b/chrome/app/settings_strings.grdp
@@ -2218,6 +2218,9 @@
@@ -2249,6 +2249,9 @@
<message name="IDS_SETTINGS_SEARCH_ENGINES_QUERY_URL_EXPLANATION" desc="Label for explaining the format of the URL that should be entered by the user in the add/edit search engine dialog.">
URL with <ph name="SPECIAL_SYMBOL">%s</ph> in place of query
</message>
@@ -421,7 +421,7 @@ new file mode 100644
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
--- a/chrome/browser/BUILD.gn
+++ b/chrome/browser/BUILD.gn
@@ -3706,6 +3706,9 @@ static_library("browser") {
@@ -3718,6 +3718,9 @@ static_library("browser") {
"//components/user_scripts/android",
]
}
@@ -431,64 +431,23 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
} else {
#!is_android
sources += [
diff --git a/chrome/browser/chrome_browser_interface_binders.cc b/chrome/browser/chrome_browser_interface_binders.cc
--- a/chrome/browser/chrome_browser_interface_binders.cc
+++ b/chrome/browser/chrome_browser_interface_binders.cc
@@ -89,6 +89,9 @@
#endif
#if BUILDFLAG(IS_ANDROID)
+#include "ui/webui/resources/cr_components/help_bubble/help_bubble.mojom.h"
+#include "ui/webui/resources/cr_components/customize_color_scheme_mode/customize_color_scheme_mode.mojom.h"
+#include "chrome/browser/ui/webui/settings/settings_ui_android.h"
#include "chrome/browser/android/dom_distiller/distiller_ui_handle_android.h"
#include "chrome/browser/facilitated_payments/payment_link_handler_binder.h"
#include "chrome/browser/offline_pages/android/offline_page_auto_fetcher.h"
diff --git a/chrome/browser/chrome_browser_interface_binders_webui.cc b/chrome/browser/chrome_browser_interface_binders_webui.cc
--- a/chrome/browser/chrome_browser_interface_binders_webui.cc
+++ b/chrome/browser/chrome_browser_interface_binders_webui.cc
@@ -71,6 +71,12 @@
#include "components/signin/public/base/signin_switches.h"
#endif
@@ -119,6 +119,7 @@ void PopulateChromeWebUIFrameBinders(
+#if BUILDFLAG(IS_ANDROID)
+#include "ui/webui/resources/cr_components/customize_color_scheme_mode/customize_color_scheme_mode.mojom.h"
+#include "ui/webui/resources/cr_components/help_bubble/help_bubble.mojom.h"
+#include "chrome/browser/ui/webui/settings/settings_ui.h"
+#endif
+
#if BUILDFLAG(IS_ANDROID)
#include "chrome/browser/ui/webui/feed_internals/feed_internals.mojom.h"
#include "chrome/browser/ui/webui/feed_internals/feed_internals_ui.h"
@@ -503,6 +509,15 @@ void PopulateChromeWebUIFrameBinders(
}
#endif
+#if BUILDFLAG(IS_ANDROID)
+ RegisterWebUIControllerInterfaceBinder<
+ help_bubble::mojom::HelpBubbleHandlerFactory, settings::SettingsUI>(map);
+
+ RegisterWebUIControllerInterfaceBinder<
+ customize_color_scheme_mode::mojom::
+ CustomizeColorSchemeModeHandlerFactory, settings::SettingsUI>(map);
+#endif
+
#if !BUILDFLAG(IS_ANDROID)
RegisterWebUIControllerInterfaceBinder<
actor_internals::mojom::PageHandlerFactory, ActorInternalsUI>(map);
@@ -660,6 +675,9 @@ void PopulateChromeWebUIFrameBinders(
RegisterWebUIControllerInterfaceBinder<suggest_internals::mojom::PageHandler,
SuggestInternalsUI>(map);
+#if BUILDFLAG(IS_ANDROID)
PopulateChromeWebUIFrameBindersPartsAndroid(map, render_frame_host);
+#error "Check this patch"
+#endif
RegisterWebUIControllerInterfaceBinder<
password_manager::mojom::PageHandlerFactory, PasswordManagerUI>(map);
@@ -683,6 +701,9 @@ void PopulateChromeWebUIFrameBinders(
CertificateManagerUI>(map);
#endif // BUILDFLAG(CHROME_ROOT_STORE_CERT_MANAGEMENT_UI)
#else
PopulateChromeWebUIFrameBindersPartsDesktop(map, render_frame_host);
#endif // BUILDFLAG(IS_ANDROID)
diff --git a/chrome/browser/chrome_browser_interface_binders_webui_parts_desktop.cc b/chrome/browser/chrome_browser_interface_binders_webui_parts_desktop.cc
--- a/chrome/browser/chrome_browser_interface_binders_webui_parts_desktop.cc
+++ b/chrome/browser/chrome_browser_interface_binders_webui_parts_desktop.cc
@@ -366,6 +366,9 @@ void PopulateChromeWebUIFrameBindersPartsDesktop(
#endif // !BUILDFLAG(IS_CHROMEOS)
>(map);
+#if BUILDFLAG(IS_ANDROID)
+#error "Check this patch"
@@ -540,7 +499,7 @@ diff --git a/chrome/browser/resources/settings/BUILD.gn b/chrome/browser/resourc
diff --git a/chrome/browser/resources/settings/page_visibility.ts b/chrome/browser/resources/settings/page_visibility.ts
--- a/chrome/browser/resources/settings/page_visibility.ts
+++ b/chrome/browser/resources/settings/page_visibility.ts
@@ -41,8 +41,42 @@ export interface PrivacyPageVisibility {
@@ -42,8 +42,42 @@ export interface PrivacyPageVisibility {
searchPrediction: boolean;
}
@@ -698,7 +657,7 @@ diff --git a/chrome/browser/resources/settings/search_page/search_engines_page.h
+<if expr="not is_android">
<settings-subpage
page-title="$i18n{searchEnginesManageSiteSearch}"
search-label="$i18n{searchEnginesSearch}"
route-path$="[[routePath]]" search-label="$i18n{searchEnginesSearch}"
@@ -38,10 +39,14 @@
</controlled-radio-button>
</settings-radio-group>
@@ -831,8 +790,8 @@ diff --git a/chrome/browser/search/background/BUILD.gn b/chrome/browser/search/b
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
-assert(is_win || is_mac || is_linux || is_chromeos)
+# assert(is_win || is_mac || is_linux || is_chromeos)
-assert(is_win || is_mac || is_linux || is_chromeos || is_android)
+# assert(is_win || is_mac || is_linux || is_chromeos || is_android)
import("//third_party/protobuf/proto_library.gni")
@@ -840,9 +799,9 @@ diff --git a/chrome/browser/search/background/BUILD.gn b/chrome/browser/search/b
source_set("background") {
public = [
"ntp_background_service_factory.h",
@@ -58,6 +59,7 @@ source_set("background") {
"//ui/gfx/codec",
]
@@ -73,6 +74,7 @@ source_set("background") {
]
}
}
+}
@@ -937,7 +896,7 @@ diff --git a/chrome/browser/search_engines/android/java/src/org/chromium/chrome/
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
@@ -671,7 +671,11 @@ static_library("ui") {
@@ -684,7 +684,11 @@ static_library("ui") {
deps += [ "//chrome/browser/ui/android/extensions/windowing/internal" ]
}
}
@@ -950,7 +909,7 @@ diff --git a/chrome/browser/ui/BUILD.gn b/chrome/browser/ui/BUILD.gn
# TODO(crbug.com/413572035): Move into build files of the actual
# modules depending on this. eg: autofill, user_education.
if (is_chrome_branded) {
@@ -985,6 +989,25 @@ static_library("ui") {
@@ -1012,6 +1016,25 @@ static_library("ui") {
"//extensions/browser:extension_action_enums",
]
}
@@ -1172,7 +1131,7 @@ diff --git a/chrome/browser/ui/webui/chrome_web_ui_configs.cc b/chrome/browser/u
#if BUILDFLAG(ENABLE_WEBUI_CERTIFICATE_VIEWER)
#include "chrome/browser/ui/webui/certificate_viewer/certificate_viewer_ui.h"
#endif
@@ -441,4 +446,7 @@ void RegisterChromeWebUIConfigs() {
@@ -443,4 +448,7 @@ void RegisterChromeWebUIConfigs() {
#if BUILDFLAG(ENTERPRISE_WATERMARK)
map.AddWebUIConfig(std::make_unique<WatermarkUIConfig>());
#endif
@@ -1183,7 +1142,7 @@ diff --git a/chrome/browser/ui/webui/chrome_web_ui_configs.cc b/chrome/browser/u
diff --git a/chrome/browser/ui/webui/favicon_source.cc b/chrome/browser/ui/webui/favicon_source.cc
--- a/chrome/browser/ui/webui/favicon_source.cc
+++ b/chrome/browser/ui/webui/favicon_source.cc
@@ -230,6 +230,7 @@ bool FaviconSource::ShouldServiceRequest(
@@ -235,6 +235,7 @@ bool FaviconSource::ShouldServiceRequest(
render_process_id);
}
@@ -1191,7 +1150,7 @@ diff --git a/chrome/browser/ui/webui/favicon_source.cc b/chrome/browser/ui/webui
ui::NativeTheme* FaviconSource::GetNativeTheme(
const content::WebContents::Getter& wc_getter) {
#if BUILDFLAG(IS_ANDROID)
@@ -238,6 +239,7 @@ ui::NativeTheme* FaviconSource::GetNativeTheme(
@@ -243,6 +244,7 @@ ui::NativeTheme* FaviconSource::GetNativeTheme(
return webui::GetNativeThemeDeprecated(wc_getter.Run());
#endif
}
@@ -1199,39 +1158,42 @@ diff --git a/chrome/browser/ui/webui/favicon_source.cc b/chrome/browser/ui/webui
void FaviconSource::OnFaviconDataAvailable(
content::URLDataSource::GotDataCallback callback,
@@ -261,7 +263,11 @@ void FaviconSource::SendDefaultResponse(
parsed.device_scale_factor,
parsed.force_light_mode
? false
@@ -265,8 +267,12 @@ void FaviconSource::SendDefaultResponse(
SendDefaultResponse(
std::move(callback), parsed.size_in_dip, parsed.device_scale_factor,
!parsed.force_light_mode &&
+#if !BUILDFLAG(IS_ANDROID)
: GetNativeTheme(wc_getter)->ShouldUseDarkColors());
GetNativeTheme(wc_getter)->preferred_color_scheme() ==
ui::NativeTheme::PreferredColorScheme::kDark,
+#else
+ : false);
+ false,
+#endif
return;
}
int icon_size = std::ceil(parsed.size_in_dip * parsed.device_scale_factor);
@@ -281,7 +287,11 @@ void FaviconSource::SendDefaultResponse(
parsed.force_empty_default_favicon
? DefaultFaviconBehavior::kUseEmptyIcon
: DefaultFaviconBehavior::kUseGlobeIcon);
@@ -289,9 +295,13 @@ void FaviconSource::SendDefaultResponse(
DefaultFaviconBehavior behavior) {
SendDefaultResponse(std::move(callback), 16, 1.0f,
force_light_mode
? false
!force_light_mode &&
+#if !BUILDFLAG(IS_ANDROID)
: GetNativeTheme(wc_getter)->ShouldUseDarkColors());
GetNativeTheme(wc_getter)->preferred_color_scheme() ==
ui::NativeTheme::PreferredColorScheme::kDark,
behavior);
+#else
+ : false);
+#endif
}
void FaviconSource::SendDefaultResponse(
@@ -292,6 +302,7 @@ void FaviconSource::SendDefaultResponse(
base::UmaHistogramBoolean(kDefaultResponseHistogramName, true);
@@ -309,6 +319,7 @@ void FaviconSource::SendDefaultResponse(
int resource_id;
switch (size_in_dip) {
+#if !BUILDFLAG(IS_ANDROID)
case 64:
resource_id =
dark_mode ? IDR_DEFAULT_FAVICON_DARK_64 : IDR_DEFAULT_FAVICON_64;
@@ -300,6 +311,7 @@ void FaviconSource::SendDefaultResponse(
@@ -317,6 +328,7 @@ void FaviconSource::SendDefaultResponse(
resource_id =
dark_mode ? IDR_DEFAULT_FAVICON_DARK_32 : IDR_DEFAULT_FAVICON_32;
break;
@@ -1242,14 +1204,12 @@ diff --git a/chrome/browser/ui/webui/favicon_source.cc b/chrome/browser/ui/webui
diff --git a/chrome/browser/ui/webui/favicon_source.h b/chrome/browser/ui/webui/favicon_source.h
--- a/chrome/browser/ui/webui/favicon_source.h
+++ b/chrome/browser/ui/webui/favicon_source.h
@@ -64,9 +64,11 @@ class FaviconSource : public content::URLDataSource {
@@ -69,7 +69,9 @@ class FaviconSource : public content::URLDataSource {
int render_process_id) override;
protected:
+#if !BUILDFLAG(IS_ANDROID)
// Exposed for testing.
virtual ui::NativeTheme* GetNativeTheme(
const content::WebContents::Getter& wc_getter);
+#endif
virtual base::RefCountedMemory* LoadIconBytes(float scale_factor,
int resource_id);
@@ -1257,7 +1217,7 @@ diff --git a/chrome/browser/ui/webui/favicon_source.h b/chrome/browser/ui/webui/
diff --git a/chrome/browser/ui/webui/settings/search_engines_handler.cc b/chrome/browser/ui/webui/settings/search_engines_handler.cc
--- a/chrome/browser/ui/webui/settings/search_engines_handler.cc
+++ b/chrome/browser/ui/webui/settings/search_engines_handler.cc
@@ -34,10 +34,12 @@
@@ -36,10 +36,12 @@
#include "components/search_engines/template_url.h"
#include "components/search_engines/template_url_service.h"
#include "content/public/browser/web_ui.h"
@@ -1270,7 +1230,7 @@ diff --git a/chrome/browser/ui/webui/settings/search_engines_handler.cc b/chrome
#if BUILDFLAG(IS_CHROMEOS)
#include "ash/public/cpp/new_window_delegate.h"
@@ -49,6 +51,7 @@ namespace {
@@ -51,6 +53,7 @@ namespace {
const char kSearchEngineField[] = "searchEngine";
const char kKeywordField[] = "keyword";
const char kQueryUrlField[] = "queryUrl";
@@ -1278,7 +1238,7 @@ diff --git a/chrome/browser/ui/webui/settings/search_engines_handler.cc b/chrome
// Dummy number used for indicating that a new search engine is added.
const int kNewSearchEngineIndex = -1;
@@ -252,9 +255,10 @@ base::Value::Dict SearchEnginesHandler::CreateDictionaryForEngine(
@@ -254,9 +257,10 @@ base::Value::Dict SearchEnginesHandler::CreateDictionaryForEngine(
IDS_SEARCH_ENGINES_EDITOR_DESCRIPTION_COLUMN));
dict.Set("keyword", table_model->GetText(
index, IDS_SEARCH_ENGINES_EDITOR_KEYWORD_COLUMN));
@@ -1290,7 +1250,7 @@ diff --git a/chrome/browser/ui/webui/settings/search_engines_handler.cc b/chrome
dict.Set("urlLocked", ((template_url->prepopulate_id() > 0) ||
(template_url->starter_pack_id() > 0)));
GURL icon_url = template_url->favicon_url();
@@ -268,6 +272,8 @@ base::Value::Dict SearchEnginesHandler::CreateDictionaryForEngine(
@@ -273,6 +277,8 @@ base::Value::Dict SearchEnginesHandler::CreateDictionaryForEngine(
#endif
}
@@ -1299,7 +1259,7 @@ diff --git a/chrome/browser/ui/webui/settings/search_engines_handler.cc b/chrome
// The icons that are used for search engines in the EEA region are bundled
// with Chrome. We use the favicon service for countries outside the EEA
// region to guarantee having icons for all search engines.
@@ -284,6 +290,7 @@ base::Value::Dict SearchEnginesHandler::CreateDictionaryForEngine(
@@ -289,6 +295,7 @@ base::Value::Dict SearchEnginesHandler::CreateDictionaryForEngine(
base::StrCat({"chrome://theme/",
template_url->GetBuiltinImageResourceId(), "@2x"}));
}
@@ -1307,7 +1267,7 @@ diff --git a/chrome/browser/ui/webui/settings/search_engines_handler.cc b/chrome
dict.Set("modelIndex", base::checked_cast<int>(index));
@@ -300,6 +307,7 @@ base::Value::Dict SearchEnginesHandler::CreateDictionaryForEngine(
@@ -305,6 +312,7 @@ base::Value::Dict SearchEnginesHandler::CreateDictionaryForEngine(
dict.Set("isOmniboxExtension", type == TemplateURL::OMNIBOX_API_EXTENSION);
dict.Set("isPrepopulated", template_url->prepopulate_id() > 0);
dict.Set("isStarterPack", template_url->starter_pack_id() > 0);
@@ -1315,7 +1275,7 @@ diff --git a/chrome/browser/ui/webui/settings/search_engines_handler.cc b/chrome
if (type == TemplateURL::NORMAL_CONTROLLED_BY_EXTENSION ||
type == TemplateURL::OMNIBOX_API_EXTENSION) {
const extensions::Extension* extension =
@@ -316,6 +324,7 @@ base::Value::Dict SearchEnginesHandler::CreateDictionaryForEngine(
@@ -321,6 +329,7 @@ base::Value::Dict SearchEnginesHandler::CreateDictionaryForEngine(
dict.Set("extension", std::move(ext_info));
}
}
@@ -1323,7 +1283,7 @@ diff --git a/chrome/browser/ui/webui/settings/search_engines_handler.cc b/chrome
return dict;
}
@@ -418,12 +427,13 @@ void SearchEnginesHandler::HandleSearchEngineEditStarted(
@@ -423,12 +432,13 @@ void SearchEnginesHandler::HandleSearchEngineEditStarted(
void SearchEnginesHandler::OnEditedKeyword(TemplateURL* template_url,
const std::u16string& title,
const std::u16string& keyword,
@@ -1340,7 +1300,7 @@ diff --git a/chrome/browser/ui/webui/settings/search_engines_handler.cc b/chrome
}
edit_controller_.reset();
@@ -453,6 +463,8 @@ bool SearchEnginesHandler::CheckFieldValidity(const std::string& field_name,
@@ -458,6 +468,8 @@ bool SearchEnginesHandler::CheckFieldValidity(const std::string& field_name,
is_valid = edit_controller_->IsKeywordValid(base::UTF8ToUTF16(field_value));
} else if (field_name.compare(kQueryUrlField) == 0) {
is_valid = edit_controller_->IsURLValid(field_value);
@@ -1349,7 +1309,7 @@ diff --git a/chrome/browser/ui/webui/settings/search_engines_handler.cc b/chrome
} else {
NOTREACHED();
}
@@ -475,18 +487,20 @@ void SearchEnginesHandler::HandleSearchEngineEditCompleted(
@@ -480,18 +492,20 @@ void SearchEnginesHandler::HandleSearchEngineEditCompleted(
return;
}
@@ -1389,7 +1349,7 @@ diff --git a/chrome/browser/ui/webui/settings/search_engines_handler.h b/chrome/
diff --git a/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc b/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc
--- a/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc
+++ b/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc
@@ -2560,6 +2560,8 @@ void AddSearchEnginesStrings(content::WebUIDataSource* html_source) {
@@ -2586,6 +2586,8 @@ void AddSearchEnginesStrings(content::WebUIDataSource* html_source) {
{"searchEnginesQueryURL", IDS_SETTINGS_SEARCH_ENGINES_QUERY_URL},
{"searchEnginesQueryURLExplanation",
IDS_SETTINGS_SEARCH_ENGINES_QUERY_URL_EXPLANATION},
@@ -1398,7 +1358,7 @@ diff --git a/chrome/browser/ui/webui/settings/settings_localized_strings_provide
{"searchEnginesMakeDefault", IDS_SETTINGS_SEARCH_ENGINES_MAKE_DEFAULT},
{"searchEnginesActivate", IDS_SETTINGS_SEARCH_ENGINES_ACTIVATE},
{"searchEnginesDeactivate", IDS_SETTINGS_SEARCH_ENGINES_DEACTIVATE},
@@ -3849,7 +3851,11 @@ void AddLocalizedStrings(content::WebUIDataSource* html_source,
@@ -3879,7 +3881,11 @@ void AddLocalizedStrings(content::WebUIDataSource* html_source,
AddSiteSettingsStrings(html_source, profile);
AddSiteDataPageStrings(html_source, profile);
AddStorageAccessStrings(html_source);
@@ -1947,18 +1907,18 @@ diff --git a/components/search_engines/android/template_url_service_android.cc b
diff --git a/components/search_engines/search_engines_switches.cc b/components/search_engines/search_engines_switches.cc
--- a/components/search_engines/search_engines_switches.cc
+++ b/components/search_engines/search_engines_switches.cc
@@ -53,6 +53,7 @@ const base::FeatureParam<std::string> kSearchEngineChoiceTriggerRepromptParams{
@@ -43,6 +43,7 @@ const base::FeatureParam<std::string> kSearchEngineChoiceTriggerRepromptParams{
&kSearchEngineChoiceTriggerReprompt,
/*name=*/"reprompt",
/*default_value=*/kSearchEngineChoiceNoRepromptString};
+SET_CROMITE_FEATURE_DISABLED(kSearchEngineChoiceTriggerReprompt);
#if BUILDFLAG(IS_ANDROID)
COMPONENT_EXPORT(SEARCH_ENGINES_SWITCHES)
BASE_FEATURE(kSuppressDefaultBrowserPromoIfChoiceSet,
diff --git a/components/search_engines/template_url.cc b/components/search_engines/template_url.cc
--- a/components/search_engines/template_url.cc
+++ b/components/search_engines/template_url.cc
@@ -2125,6 +2125,10 @@ void TemplateURL::SetURL(const std::string& url) {
@@ -2149,6 +2149,10 @@ void TemplateURL::SetURL(const std::string& url) {
url_ref().InvalidateCachedValues();
}
@@ -1972,7 +1932,7 @@ diff --git a/components/search_engines/template_url.cc b/components/search_engin
diff --git a/components/search_engines/template_url.h b/components/search_engines/template_url.h
--- a/components/search_engines/template_url.h
+++ b/components/search_engines/template_url.h
@@ -1007,6 +1007,7 @@ class TemplateURL {
@@ -1012,6 +1012,7 @@ class TemplateURL {
bool CreatedByRegulatoryProgram() const;
void SetURL(const std::string& url);
@@ -2316,7 +2276,7 @@ diff --git a/ui/webui/resources/cr_components/theme_color_picker/BUILD.gn b/ui/w
diff --git a/ui/webui/resources/cr_elements/BUILD.gn b/ui/webui/resources/cr_elements/BUILD.gn
--- a/ui/webui/resources/cr_elements/BUILD.gn
+++ b/ui/webui/resources/cr_elements/BUILD.gn
@@ -33,7 +33,7 @@ build_webui("build") {
@@ -36,7 +36,7 @@ build_webui("build") {
"cr_tabs/cr_tabs.css",
]
+2 -2
View File
@@ -878,7 +878,7 @@ diff --git a/chrome/browser/adblock/android/java/src/org/chromium/chrome/browser
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
@@ -6517,7 +6517,9 @@ ChromeContentBrowserClient::
@@ -6516,7 +6516,9 @@ ChromeContentBrowserClient::
}
bool ChromeContentBrowserClient::WillInterceptWebSocket(
@@ -889,7 +889,7 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch
#if BUILDFLAG(ENABLE_EXTENSIONS_CORE)
if (!frame) {
return false;
@@ -6540,9 +6542,11 @@ bool ChromeContentBrowserClient::WillInterceptWebSocket(
@@ -6539,9 +6541,11 @@ bool ChromeContentBrowserClient::WillInterceptWebSocket(
}
void ChromeContentBrowserClient::CreateWebSocket(
+5 -29
View File
@@ -11,17 +11,15 @@ https://bugs.chromium.org/p/chromium/issues/detail?id=1491776#c10
.../component_updater/installer_policies/BUILD.gn | 1 +
.../omnibox/browser/autocomplete_classifier.cc | 4 ++--
components/omnibox/browser/omnibox_field_trial.cc | 4 ++--
components/plus_addresses/BUILD.gn | 1 +
.../phishing_classifier/phishing_image_embedder.cc | 14 +++-----------
content/browser/browser_interface_binders.cc | 1 +
net/BUILD.gn | 1 +
services/webnn/dml/graph_impl_dml.cc | 1 +
11 files changed, 15 insertions(+), 16 deletions(-)
9 files changed, 13 insertions(+), 16 deletions(-)
diff --git a/BUILD.gn b/BUILD.gn
--- a/BUILD.gn
+++ b/BUILD.gn
@@ -422,7 +422,6 @@ group("gn_all") {
@@ -411,7 +411,6 @@ group("gn_all") {
"//android_webview:empty_group",
"//android_webview/test",
"//android_webview/tools/automated_ui_tests:webview_ui_test_app_test_apk",
@@ -44,7 +42,7 @@ diff --git a/chrome/browser/navigation_predictor/navigation_predictor_metrics_do
diff --git a/chrome/browser/safe_browsing/BUILD.gn b/chrome/browser/safe_browsing/BUILD.gn
--- a/chrome/browser/safe_browsing/BUILD.gn
+++ b/chrome/browser/safe_browsing/BUILD.gn
@@ -299,6 +299,7 @@ static_library("safe_browsing") {
@@ -300,6 +300,7 @@ static_library("safe_browsing") {
"//components/version_info",
"//content/public/browser",
"//services/preferences/public/mojom",
@@ -66,7 +64,7 @@ diff --git a/components/component_updater/installer_policies/BUILD.gn b/componen
diff --git a/components/omnibox/browser/autocomplete_classifier.cc b/components/omnibox/browser/autocomplete_classifier.cc
--- a/components/omnibox/browser/autocomplete_classifier.cc
+++ b/components/omnibox/browser/autocomplete_classifier.cc
@@ -131,8 +131,8 @@ void AutocompleteClassifier::Classify(
@@ -136,8 +136,8 @@ void AutocompleteClassifier::Classify(
metrics::OmniboxEventProto::PageClassification page_classification,
AutocompleteMatch* match,
GURL* alternate_nav_url) {
@@ -94,17 +92,6 @@ diff --git a/components/omnibox/browser/omnibox_field_trial.cc b/components/omni
}
MLConfig& ScopedMLConfigForTesting::GetMLConfig() {
diff --git a/components/plus_addresses/BUILD.gn b/components/plus_addresses/BUILD.gn
--- a/components/plus_addresses/BUILD.gn
+++ b/components/plus_addresses/BUILD.gn
@@ -59,6 +59,7 @@ source_set("plus_addresses") {
"//services/data_decoder/public/cpp",
"//services/network/public/cpp",
"//ui/base",
+ "//third_party/re2",
]
public_deps = [
"//base",
diff --git a/components/safe_browsing/content/renderer/phishing_classifier/phishing_image_embedder.cc b/components/safe_browsing/content/renderer/phishing_classifier/phishing_image_embedder.cc
--- a/components/safe_browsing/content/renderer/phishing_classifier/phishing_image_embedder.cc
+++ b/components/safe_browsing/content/renderer/phishing_classifier/phishing_image_embedder.cc
@@ -140,21 +127,10 @@ diff --git a/content/browser/browser_interface_binders.cc b/content/browser/brow
auto* view =
RenderWidgetHostViewAndroid::FromRenderWidgetHostView(host->GetView());
if (!view || !view->text_suggestion_host())
diff --git a/net/BUILD.gn b/net/BUILD.gn
--- a/net/BUILD.gn
+++ b/net/BUILD.gn
@@ -1829,6 +1829,7 @@ component("net") {
]
deps += [ "//sql" ]
}
+ # test: configs -= [ "//build/config/clang:find_bad_constructs" ]
}
# net_export.h has its own build target so that code (eg
diff --git a/services/webnn/dml/graph_impl_dml.cc b/services/webnn/dml/graph_impl_dml.cc
--- a/services/webnn/dml/graph_impl_dml.cc
+++ b/services/webnn/dml/graph_impl_dml.cc
@@ -248,6 +248,7 @@ base::expected<void, mojom::ErrorPtr> CreateUnexpectedError(
@@ -246,6 +246,7 @@ base::expected<void, mojom::ErrorPtr> CreateUnexpectedError(
// Calculate the total byte length of buffers and the D3D12_RANGE for each
// buffer, all with the required alignment.
@@ -157,7 +157,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
diff --git a/chrome/browser/extensions/api/settings_private/prefs_util.cc b/chrome/browser/extensions/api/settings_private/prefs_util.cc
--- a/chrome/browser/extensions/api/settings_private/prefs_util.cc
+++ b/chrome/browser/extensions/api/settings_private/prefs_util.cc
@@ -44,6 +44,7 @@
@@ -45,6 +45,7 @@
#include "components/content_settings/core/common/pref_names.h"
#include "components/dom_distiller/core/pref_names.h"
#include "components/drive/drive_pref_names.h"
@@ -165,7 +165,7 @@ diff --git a/chrome/browser/extensions/api/settings_private/prefs_util.cc b/chro
#include "components/embedder_support/pref_names.h"
#include "components/language/core/browser/pref_names.h"
#include "components/live_caption/pref_names.h"
@@ -230,6 +231,9 @@ const PrefsUtil::TypedPrefMap& PrefsUtil::GetAllowlistedKeys() {
@@ -231,6 +232,9 @@ const PrefsUtil::TypedPrefMap& PrefsUtil::GetAllowlistedKeys() {
(*s_allowlist)[::prefs::kSplitViewDragAndDropEnabled] =
settings_api::PrefType::kBoolean;
@@ -178,7 +178,7 @@ diff --git a/chrome/browser/extensions/api/settings_private/prefs_util.cc b/chro
diff --git a/chrome/browser/history/history_service_factory.cc b/chrome/browser/history/history_service_factory.cc
--- a/chrome/browser/history/history_service_factory.cc
+++ b/chrome/browser/history/history_service_factory.cc
@@ -29,6 +29,8 @@ std::unique_ptr<KeyedService> BuildHistoryService(
@@ -30,6 +30,8 @@ std::unique_ptr<KeyedService> BuildHistoryService(
context->GetPath(), chrome::GetChannel()))) {
return nullptr;
}
@@ -201,26 +201,26 @@ diff --git a/chrome/browser/profiles/profile_impl.cc b/chrome/browser/profiles/p
diff --git a/chrome/browser/resources/settings/privacy_page/privacy_page.html b/chrome/browser/resources/settings/privacy_page/privacy_page.html
--- a/chrome/browser/resources/settings/privacy_page/privacy_page.html
+++ b/chrome/browser/resources/settings/privacy_page/privacy_page.html
@@ -92,6 +92,15 @@
sub-label="$i18n{permissionsPageDescription}"
on-click="onPermissionsPageClick_"
role-description="$i18n{subpageArrowRoleDescription}"></cr-link-row>
+ <div class="cr-row">
+ <div class="flex cr-padded-text" aria-hidden="true">
+ $i18n{expireHistory}
+ </div>
+ <settings-dropdown-menu id="expireDaysThreshold" label="$i18n{expireHistory}"
+ pref="{{prefs.history.expire_days_threshold}}"
+ menu-options="[[historyExpireDaysThresholdOptions_]]">
+ </settings-dropdown-menu>
+ </div>
<cr-toast id="deleteBrowsingDataToast" duration="5000">
<div>[[dbdDeletionConfirmationToastLabel_]]</div>
</cr-toast>
@@ -76,6 +76,15 @@
sub-label="$i18n{permissionsPageDescription}"
on-click="onPermissionsPageClick_"
role-description="$i18n{subpageArrowRoleDescription}"></cr-link-row>
+ <div class="cr-row">
+ <div class="flex cr-padded-text" aria-hidden="true">
+ $i18n{expireHistory}
+ </div>
+ <settings-dropdown-menu id="expireDaysThreshold" label="$i18n{expireHistory}"
+ pref="{{prefs.history.expire_days_threshold}}"
+ menu-options="[[historyExpireDaysThresholdOptions_]]">
+ </settings-dropdown-menu>
+ </div>
<cr-toast id="deleteBrowsingDataToast" duration="5000">
<div>[[dbdDeletionConfirmationToastLabel_]]</div>
</cr-toast>
diff --git a/chrome/browser/resources/settings/privacy_page/privacy_page.ts b/chrome/browser/resources/settings/privacy_page/privacy_page.ts
--- a/chrome/browser/resources/settings/privacy_page/privacy_page.ts
+++ b/chrome/browser/resources/settings/privacy_page/privacy_page.ts
@@ -83,6 +83,23 @@ export class SettingsPrivacyPageElement extends SettingsPrivacyPageElementBase {
@@ -62,6 +62,23 @@ export class SettingsPrivacyPageElement extends SettingsPrivacyPageElementBase {
static get properties() {
return {
@@ -241,21 +241,21 @@ diff --git a/chrome/browser/resources/settings/privacy_page/privacy_page.ts b/ch
+ },
+ },
+
isGuest_: {
type: Boolean,
value() {
@@ -286,6 +303,7 @@ export class SettingsPrivacyPageElement extends SettingsPrivacyPageElementBase {
showClearBrowsingDataDialog_: Boolean,
showPrivacyGuideDialog_: Boolean,
@@ -101,6 +118,7 @@ export class SettingsPrivacyPageElement extends SettingsPrivacyPageElementBase {
};
}
+ declare private historyExpireDaysThresholdOptions_: object[];
declare private isGuest_: boolean;
declare private showPersistentPermissions_: boolean;
declare private showClearBrowsingDataDialog_: boolean;
declare private showPrivacyGuideDialog_: boolean;
declare private enableDeleteBrowsingDataRevamp_: boolean;
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
@@ -1246,6 +1246,18 @@ Your Google account may have other forms of browsing history like searches and a
@@ -1252,6 +1252,18 @@ Your Google account may have other forms of browsing history like searches and a
<message name="IDS_CLEAR_HISTORY_TITLE" desc="Title for Clear History in Clear Browsing Data dialog">
Browsing history
</message>
@@ -277,7 +277,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro
diff --git a/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc b/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc
--- a/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc
+++ b/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc
@@ -2062,6 +2062,11 @@ void AddPrivacyStrings(content::WebUIDataSource* html_source,
@@ -2076,6 +2076,11 @@ void AddPrivacyStrings(content::WebUIDataSource* html_source,
IDS_SETTINGS_SAFEBROWSING_ENHANCED_THINGS_TO_CONSIDER_BULLET_THREE},
{"safeBrowsingStandard", IDS_SETTINGS_SAFEBROWSING_STANDARD},
{"safeBrowsingStandardDesc", IDS_SETTINGS_SAFEBROWSING_STANDARD_DESC},
@@ -476,7 +476,7 @@ diff --git a/components/history/core/browser/history_backend.cc b/components/his
// The maximum number of days for which domain visit metrics are computed
// each time HistoryBackend::GetDomainDiversity() is called.
constexpr int kDomainDiversityMaxBacktrackedDays = 7;
@@ -1333,6 +1337,19 @@ void HistoryBackend::InitImpl(
@@ -1338,6 +1342,19 @@ void HistoryBackend::InitImpl(
expirer_.StartExpiringOldStuff(base::Days(kExpireDaysThreshold));
}
@@ -532,7 +532,7 @@ diff --git a/components/history/core/browser/history_service.cc b/components/his
#include "components/history/core/browser/download_row.h"
#include "components/history/core/browser/features.h"
#include "components/history/core/browser/history_backend.h"
@@ -565,6 +568,33 @@ base::CancelableTaskTracker::TaskId HistoryService::ScheduleDBTask(
@@ -511,6 +514,33 @@ base::CancelableTaskTracker::TaskId HistoryService::ScheduleDBTask(
return task_id;
}
@@ -566,7 +566,7 @@ diff --git a/components/history/core/browser/history_service.cc b/components/his
void HistoryService::ScheduleDBTaskForUI(
base::OnceCallback<void(HistoryBackend*, URLDatabase*)> callback) {
DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
@@ -1467,6 +1497,9 @@ void HistoryService::Cleanup() {
@@ -1420,6 +1450,9 @@ void HistoryService::Cleanup() {
return;
}
@@ -588,7 +588,7 @@ diff --git a/components/history/core/browser/history_service.h b/components/hist
#include "components/history/core/browser/history_types.h"
#include "components/history/core/browser/keyword_id.h"
#include "components/history/core/browser/url_row.h"
@@ -115,6 +117,8 @@ class HistoryService : public KeyedService,
@@ -119,6 +121,8 @@ class HistoryService : public KeyedService,
// Returns the directory containing the History databases.
const base::FilePath& history_dir() const { return history_dir_; }
@@ -597,7 +597,7 @@ diff --git a/components/history/core/browser/history_service.h b/components/hist
// Triggers the backend to load if it hasn't already, and then returns whether
// it's finished loading.
// Note: Virtual needed for mocking.
@@ -1184,6 +1188,10 @@ class HistoryService : public KeyedService,
@@ -1169,6 +1173,10 @@ class HistoryService : public KeyedService,
raw_ptr<syncer::LocalDeviceInfoProvider> local_device_info_provider_ =
nullptr;
@@ -44,7 +44,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
@@ -638,6 +638,8 @@ chrome_java_resources = [
@@ -652,6 +652,8 @@ chrome_java_resources = [
"java/res/xml/personalize_google_services_preferences.xml",
"java/res/xml/incognito_preferences.xml",
"java/res/xml/privacy_preferences.xml",
@@ -56,7 +56,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
@@ -931,6 +931,8 @@ chrome_java_sources = [
@@ -941,6 +941,8 @@ chrome_java_sources = [
"java/src/org/chromium/chrome/browser/privacy_sandbox/PrivacySandboxSurveyController.java",
"java/src/org/chromium/chrome/browser/privacy_sandbox/TrackingProtectionSnackbarController.java",
"java/src/org/chromium/chrome/browser/privacy_sandbox/TrackingProtectionSnackbarLimiter.java",
@@ -395,7 +395,7 @@ new file mode 100644
diff --git a/chrome/browser/extensions/api/settings_private/prefs_util.cc b/chrome/browser/extensions/api/settings_private/prefs_util.cc
--- a/chrome/browser/extensions/api/settings_private/prefs_util.cc
+++ b/chrome/browser/extensions/api/settings_private/prefs_util.cc
@@ -234,6 +234,11 @@ const PrefsUtil::TypedPrefMap& PrefsUtil::GetAllowlistedKeys() {
@@ -235,6 +235,11 @@ const PrefsUtil::TypedPrefMap& PrefsUtil::GetAllowlistedKeys() {
(*s_allowlist)[::prefs::kExpireDaysThreshold] =
settings_api::PrefType::kNumber;
@@ -410,7 +410,7 @@ diff --git a/chrome/browser/extensions/api/settings_private/prefs_util.cc b/chro
diff --git a/chrome/browser/net/system_network_context_manager.cc b/chrome/browser/net/system_network_context_manager.cc
--- a/chrome/browser/net/system_network_context_manager.cc
+++ b/chrome/browser/net/system_network_context_manager.cc
@@ -674,6 +674,9 @@ SystemNetworkContextManager::SystemNetworkContextManager(
@@ -672,6 +672,9 @@ SystemNetworkContextManager::SystemNetworkContextManager(
base::BindRepeating(&SystemNetworkContextManager::UpdateReferrersEnabled,
base::Unretained(this)));
@@ -420,7 +420,7 @@ diff --git a/chrome/browser/net/system_network_context_manager.cc b/chrome/brows
pref_change_registrar_.Add(
prefs::kExplicitlyAllowedNetworkPorts,
base::BindRepeating(
@@ -756,6 +759,7 @@ void SystemNetworkContextManager::RegisterPrefs(PrefRegistrySimple* registry) {
@@ -754,6 +757,7 @@ void SystemNetworkContextManager::RegisterPrefs(PrefRegistrySimple* registry) {
// the system NetworkContext, and the per-profile pref values are used for
// the profile NetworkContexts.
registry->RegisterBooleanPref(prefs::kEnableReferrers, true);
@@ -431,9 +431,9 @@ diff --git a/chrome/browser/net/system_network_context_manager.cc b/chrome/brows
diff --git a/chrome/browser/renderer_preferences_util.cc b/chrome/browser/renderer_preferences_util.cc
--- a/chrome/browser/renderer_preferences_util.cc
+++ b/chrome/browser/renderer_preferences_util.cc
@@ -146,6 +146,7 @@ void UpdateFromSystemSettings(blink::RendererPreferences* prefs,
#endif
#endif
@@ -142,6 +142,7 @@ void UpdateFromSystemSettings(blink::RendererPreferences* prefs,
prefs->caret_blink_interval =
ui::NativeTheme::GetInstanceForNativeUi()->caret_blink_interval();
prefs->enable_referrers = pref_service->GetBoolean(prefs::kEnableReferrers);
+ prefs->referrers_policy = pref_service->GetInteger(prefs::kReferrersPolicy);
prefs->enable_do_not_track =
@@ -442,28 +442,28 @@ diff --git a/chrome/browser/renderer_preferences_util.cc b/chrome/browser/render
diff --git a/chrome/browser/resources/settings/privacy_page/privacy_page.html b/chrome/browser/resources/settings/privacy_page/privacy_page.html
--- a/chrome/browser/resources/settings/privacy_page/privacy_page.html
+++ b/chrome/browser/resources/settings/privacy_page/privacy_page.html
@@ -101,6 +101,16 @@
menu-options="[[historyExpireDaysThresholdOptions_]]">
</settings-dropdown-menu>
</div>
+ <div class="cr-row">
+ <div class="flex cr-padded-text" aria-hidden="true">
+ $i18n{referersPolicyTitle}
+ </div>
+ <settings-dropdown-menu id="referersPolicy" label="$i18n{referersPolicyTitle}"
+ pref="{{prefs.referrers_policy}}"
+ menu-options="[[referersPolicyOptions_]]"
+ on-settings-control-change="onReferersPolicyChanged_">
+ </settings-dropdown-menu>
+ </div>
<cr-toast id="deleteBrowsingDataToast" duration="5000">
<div>[[dbdDeletionConfirmationToastLabel_]]</div>
</cr-toast>
@@ -85,6 +85,16 @@
menu-options="[[historyExpireDaysThresholdOptions_]]">
</settings-dropdown-menu>
</div>
+ <div class="cr-row">
+ <div class="flex cr-padded-text" aria-hidden="true">
+ $i18n{referersPolicyTitle}
+ </div>
+ <settings-dropdown-menu id="referersPolicy" label="$i18n{referersPolicyTitle}"
+ pref="{{prefs.referrers_policy}}"
+ menu-options="[[referersPolicyOptions_]]"
+ on-settings-control-change="onReferersPolicyChanged_">
+ </settings-dropdown-menu>
+ </div>
<cr-toast id="deleteBrowsingDataToast" duration="5000">
<div>[[dbdDeletionConfirmationToastLabel_]]</div>
</cr-toast>
diff --git a/chrome/browser/resources/settings/privacy_page/privacy_page.ts b/chrome/browser/resources/settings/privacy_page/privacy_page.ts
--- a/chrome/browser/resources/settings/privacy_page/privacy_page.ts
+++ b/chrome/browser/resources/settings/privacy_page/privacy_page.ts
@@ -100,6 +100,17 @@ export class SettingsPrivacyPageElement extends SettingsPrivacyPageElementBase {
},
@@ -92,6 +92,17 @@ export class SettingsPrivacyPageElement extends SettingsPrivacyPageElementBase {
value: () => loadTimeData.getBoolean('isPrivacySandboxRestricted'),
},
+ referersPolicyOptions_: {
@@ -477,18 +477,18 @@ diff --git a/chrome/browser/resources/settings/privacy_page/privacy_page.ts b/ch
+ ];
+ },
+ },
isGuest_: {
isPrivacySandboxRestrictedNoticeEnabled_: {
type: Boolean,
value() {
@@ -323,6 +334,7 @@ export class SettingsPrivacyPageElement extends SettingsPrivacyPageElementBase {
declare private enableWebPrintingContentSetting_: boolean;
value: () =>
@@ -122,6 +133,7 @@ export class SettingsPrivacyPageElement extends SettingsPrivacyPageElementBase {
declare private showClearBrowsingDataDialog_: boolean;
declare private showPrivacyGuideDialog_: boolean;
declare private enableDeleteBrowsingDataRevamp_: boolean;
+ declare private referersPolicyOptions_: object[];
declare private enableIncognitoTrackingProtections_: boolean;
declare private isPrivacySandboxRestricted_: boolean;
declare private isPrivacySandboxRestrictedNoticeEnabled_: boolean;
+ declare private referersPolicyOptions_: object[];
private privateStateTokensEnabled_: boolean;
declare private autoPictureInPictureEnabled_: boolean;
declare private capturedSurfaceControlEnabled_: boolean;
@@ -397,6 +409,12 @@ export class SettingsPrivacyPageElement extends SettingsPrivacyPageElementBase {
@@ -153,6 +165,12 @@ export class SettingsPrivacyPageElement extends SettingsPrivacyPageElementBase {
Router.getInstance().navigateTo(routes.COOKIES);
}
@@ -504,7 +504,7 @@ diff --git a/chrome/browser/resources/settings/privacy_page/privacy_page.ts b/ch
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
@@ -1074,6 +1074,30 @@ For more settings that use data to improve your Chrome experience, go to <ph nam
@@ -1080,6 +1080,30 @@ For more settings that use data to improve your Chrome experience, go to <ph nam
For example, some websites may respond to this request by showing you ads that arent based on other websites youve visited. Many websites will still collect and use your browsing data — for example to improve security, to provide content, ads and recommendations, and to generate reporting statistics.
</message>
@@ -562,7 +562,7 @@ diff --git a/chrome/browser/ui/prefs/prefs_tab_helper.cc b/chrome/browser/ui/pre
diff --git a/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc b/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc
--- a/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc
+++ b/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc
@@ -2067,6 +2067,10 @@ void AddPrivacyStrings(content::WebUIDataSource* html_source,
@@ -2081,6 +2081,10 @@ void AddPrivacyStrings(content::WebUIDataSource* html_source,
{"dayHistory", IDS_SETTINGS_DAY_HISTORY_DESCRIPTION},
{"daysHistory", IDS_SETTINGS_DAYS_HISTORY_DESCRIPTION},
{"foreverHistory", IDS_SETTINGS_FOREVER_HISTORY_DESCRIPTION},
@@ -576,7 +576,7 @@ diff --git a/chrome/browser/ui/webui/settings/settings_localized_strings_provide
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
@@ -1569,6 +1569,9 @@ inline constexpr char kEnableReferrers[] = "enable_referrers";
@@ -1553,6 +1553,9 @@ inline constexpr char kEnableReferrers[] = "enable_referrers";
inline constexpr char kEnableEncryptedMedia[] =
"webkit.webprefs.encrypted_media_enabled";
@@ -639,7 +639,7 @@ diff --git a/components/download/content/internal/context_menu_download.cc b/com
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
@@ -397,6 +397,15 @@ void AddAdditionalRequestHeaders(
@@ -403,6 +403,15 @@ void AddAdditionalRequestHeaders(
blink::mojom::Referrer(GURL(), network::mojom::ReferrerPolicy::kNever);
}
@@ -658,7 +658,7 @@ diff --git a/content/browser/renderer_host/navigation_request.cc b/content/brows
diff --git a/services/network/public/cpp/resource_request.h b/services/network/public/cpp/resource_request.h
--- a/services/network/public/cpp/resource_request.h
+++ b/services/network/public/cpp/resource_request.h
@@ -170,7 +170,7 @@ struct COMPONENT_EXPORT(NETWORK_CPP_BASE) ResourceRequest {
@@ -178,7 +178,7 @@ struct COMPONENT_EXPORT(NETWORK_CPP_BASE) ResourceRequest {
std::vector<GURL> navigation_redirect_chain;
GURL referrer;
+13 -13
View File
@@ -26,7 +26,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/KeyboardShortcuts.java b/chrome/android/java/src/org/chromium/chrome/browser/KeyboardShortcuts.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/KeyboardShortcuts.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/KeyboardShortcuts.java
@@ -1128,9 +1128,6 @@ public class KeyboardShortcuts {
@@ -1134,9 +1134,6 @@ public class KeyboardShortcuts {
currentTab.goForward();
}
return true;
@@ -39,7 +39,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/KeyboardShortcu
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
@@ -2496,15 +2496,6 @@ public abstract class ChromeActivity extends AsyncInitializationActivity
@@ -2544,15 +2544,6 @@ public abstract class ChromeActivity extends AsyncInitializationActivity
final Tab currentTab = getActivityTab();
@@ -52,9 +52,9 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv
- return true;
- }
-
if (id == R.id.open_history_menu_id) {
if (currentTab != null && UrlUtilities.isNtpUrl(currentTab.getUrl())) {
NewTabPageUma.recordAction(NewTabPageUma.ACTION_OPENED_HISTORY_MANAGER);
if (id == R.id.feedback_form) {
String url = currentTab != null ? currentTab.getUrl().getSpec() : "";
String helpContextId =
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/autofill/settings/AutofillPaymentMethodsFragment.java b/chrome/android/java/src/org/chromium/chrome/browser/autofill/settings/AutofillPaymentMethodsFragment.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/autofill/settings/AutofillPaymentMethodsFragment.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/autofill/settings/AutofillPaymentMethodsFragment.java
@@ -80,7 +80,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/autofill/settin
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/browsing_data/ClearBrowsingDataFragment.java b/chrome/android/java/src/org/chromium/chrome/browser/browsing_data/ClearBrowsingDataFragment.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/browsing_data/ClearBrowsingDataFragment.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/browsing_data/ClearBrowsingDataFragment.java
@@ -895,6 +895,7 @@ public class ClearBrowsingDataFragment extends ChromeBaseSettingsFragment
@@ -905,6 +905,7 @@ public class ClearBrowsingDataFragment extends ChromeBaseSettingsFragment
TraceEventVectorDrawableCompat.create(
getResources(), R.drawable.ic_help_and_feedback, getActivity().getTheme()));
help.setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM);
@@ -91,7 +91,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/browsing_data/C
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/BaseCustomTabActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/BaseCustomTabActivity.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/BaseCustomTabActivity.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/BaseCustomTabActivity.java
@@ -1151,7 +1151,6 @@ public abstract class BaseCustomTabActivity extends ChromeActivity {
@@ -1153,7 +1153,6 @@ public abstract class BaseCustomTabActivity extends ChromeActivity {
// Disable creating new tabs, bookmark, print, help, focus_url, etc.
if (id == R.id.focus_url_bar
|| id == R.id.all_bookmarks_menu_id
@@ -113,7 +113,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsActivity.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsActivity.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsActivity.java
@@ -462,6 +462,7 @@ public class SettingsActivity extends ChromeBaseAppCompatActivity
@@ -701,6 +701,7 @@ public class SettingsActivity extends ChromeBaseAppCompatActivity
help.setIcon(
TraceEventVectorDrawableCompat.create(
getResources(), R.drawable.ic_help_and_feedback, getTheme()));
@@ -124,7 +124,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/sync/settings/GoogleServicesSettings.java b/chrome/android/java/src/org/chromium/chrome/browser/sync/settings/GoogleServicesSettings.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/sync/settings/GoogleServicesSettings.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/sync/settings/GoogleServicesSettings.java
@@ -170,6 +170,7 @@ public class GoogleServicesSettings extends ChromeBaseSettingsFragment
@@ -171,6 +171,7 @@ public class GoogleServicesSettings extends ChromeBaseSettingsFragment
MenuItem help =
menu.add(Menu.NONE, R.id.menu_id_targeted_help, Menu.NONE, R.string.menu_help);
help.setIcon(R.drawable.ic_help_and_feedback);
@@ -135,7 +135,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/sync/settings/G
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/sync/settings/ManageSyncSettings.java b/chrome/android/java/src/org/chromium/chrome/browser/sync/settings/ManageSyncSettings.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/sync/settings/ManageSyncSettings.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/sync/settings/ManageSyncSettings.java
@@ -317,6 +317,7 @@ public class ManageSyncSettings extends ChromeBaseSettingsFragment
@@ -318,6 +318,7 @@ public class ManageSyncSettings extends ChromeBaseSettingsFragment
MenuItem help =
menu.add(Menu.NONE, R.id.menu_id_targeted_help, Menu.NONE, R.string.menu_help);
help.setIcon(R.drawable.ic_help_and_feedback);
@@ -146,7 +146,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/sync/settings/M
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedAppMenuPropertiesDelegate.java b/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedAppMenuPropertiesDelegate.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedAppMenuPropertiesDelegate.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedAppMenuPropertiesDelegate.java
@@ -379,7 +379,7 @@ public class TabbedAppMenuPropertiesDelegate extends AppMenuPropertiesDelegateIm
@@ -399,7 +399,7 @@ public class TabbedAppMenuPropertiesDelegate extends AppMenuPropertiesDelegateIm
}
// Help
@@ -191,7 +191,7 @@ diff --git a/chrome/browser/prefetch/android/java/src/org/chromium/chrome/browse
diff --git a/chrome/browser/privacy_sandbox/android/java/src/org/chromium/chrome/browser/privacy_sandbox/PrivacySandboxSettingsBaseFragment.java b/chrome/browser/privacy_sandbox/android/java/src/org/chromium/chrome/browser/privacy_sandbox/PrivacySandboxSettingsBaseFragment.java
--- a/chrome/browser/privacy_sandbox/android/java/src/org/chromium/chrome/browser/privacy_sandbox/PrivacySandboxSettingsBaseFragment.java
+++ b/chrome/browser/privacy_sandbox/android/java/src/org/chromium/chrome/browser/privacy_sandbox/PrivacySandboxSettingsBaseFragment.java
@@ -67,6 +67,7 @@ public abstract class PrivacySandboxSettingsBaseFragment extends ChromeBaseSetti
@@ -69,6 +69,7 @@ public abstract class PrivacySandboxSettingsBaseFragment extends ChromeBaseSetti
help.setIcon(
TraceEventVectorDrawableCompat.create(
getResources(), R.drawable.ic_help_and_feedback, getActivity().getTheme()));
@@ -213,7 +213,7 @@ diff --git a/chrome/browser/safe_browsing/android/java/src/org/chromium/chrome/b
diff --git a/chrome/browser/ui/chrome_pages.cc b/chrome/browser/ui/chrome_pages.cc
--- a/chrome/browser/ui/chrome_pages.cc
+++ b/chrome/browser/ui/chrome_pages.cc
@@ -139,6 +139,15 @@ void LaunchReleaseNotesImpl(Profile* profile, apps::LaunchSource source) {
@@ -145,6 +145,15 @@ void LaunchReleaseNotesImpl(Profile* profile, apps::LaunchSource source) {
// shown in the last active browser. If there is no such browser, a new browser
// is created.
void ShowHelpImpl(Browser* browser, Profile* profile, HelpSource source) {
@@ -28,12 +28,12 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../native_page/NativePageFactory.java | 20 +-
.../NativePageNavigationDelegateImpl.java | 2 +-
.../chrome/browser/ntp/NewTabPage.java | 8 +-
.../chrome/browser/ntp/NewTabPageLayout.java | 29 +-
.../chrome/browser/ntp/NewTabPageLayout.java | 28 +-
.../suggestions/SuggestionsConfig.java | 2 +-
.../SuggestionsNavigationDelegate.java | 27 +-
.../tile/MostVisitedTilesCoordinator.java | 6 +-
.../tile/MostVisitedTilesGridLayout.java | 287 ++++++++++++++++++
.../tile/MostVisitedTilesMediator.java | 12 +-
.../tile/MostVisitedTilesMediator.java | 8 +-
.../tile/TileDragDelegateImpl.java | 16 +-
.../suggestions/tile/TileRenderer.java | 8 +-
.../suggestions/tile/TilesLinearLayout.java | 2 +-
@@ -47,7 +47,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../Restore-Simplified-NTP-launch.inc | 12 +
.../Restore-Simplified-NTP-launch.inc | 10 +
.../Restore-Simplified-NTP-launch.inc | 1 +
41 files changed, 639 insertions(+), 60 deletions(-)
41 files changed, 639 insertions(+), 55 deletions(-)
create mode 100644 chrome/android/java/res/drawable-hdpi/ic_most_visited_placeholder.png
create mode 100644 chrome/android/java/res/drawable-mdpi/ic_most_visited_placeholder.png
create mode 100644 chrome/android/java/res/drawable-xhdpi/ic_most_visited_placeholder.png
@@ -77,7 +77,7 @@ diff --git a/chrome/android/chrome_java_resources.gni b/chrome/android/chrome_ja
"java/res/drawable-hdpi/ic_phone_googblue_36dp.png",
"java/res/drawable-hdpi/ic_photo_camera.png",
"java/res/drawable-hdpi/ic_place_googblue_36dp.png",
@@ -528,6 +533,7 @@ chrome_java_resources = [
@@ -538,6 +543,7 @@ chrome_java_resources = [
"java/res/layout/manage_sync_settings_bottom_bar.xml",
"java/res/layout/material_tooltip.xml",
"java/res/layout/multiline_spinner_item.xml",
@@ -85,7 +85,7 @@ diff --git a/chrome/android/chrome_java_resources.gni b/chrome/android/chrome_ja
"java/res/layout/mv_tiles_layout.xml",
"java/res/layout/navigation_bubble.xml",
"java/res/layout/navigation_sheet.xml",
@@ -537,8 +543,10 @@ chrome_java_resources = [
@@ -547,8 +553,10 @@ chrome_java_resources = [
"java/res/layout/new_custom_tab_toolbar.xml",
"java/res/layout/new_tab_page_incognito.xml",
"java/res/layout/new_tab_page_layout.xml",
@@ -99,7 +99,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
@@ -613,6 +613,7 @@ chrome_java_sources = [
@@ -617,6 +617,7 @@ chrome_java_sources = [
"java/src/org/chromium/chrome/browser/feedback/FeedFeedbackCollector.java",
"java/src/org/chromium/chrome/browser/feedback/HelpAndFeedbackLauncherImpl.java",
"java/src/org/chromium/chrome/browser/feedback/ScreenshotTask.java",
@@ -107,7 +107,7 @@ diff --git a/chrome/android/chrome_java_sources.gni b/chrome/android/chrome_java
"java/src/org/chromium/chrome/browser/findinpage/FindToolbar.java",
"java/src/org/chromium/chrome/browser/findinpage/FindToolbarManager.java",
"java/src/org/chromium/chrome/browser/findinpage/FindToolbarObserver.java",
@@ -1020,6 +1021,7 @@ chrome_java_sources = [
@@ -1031,6 +1032,7 @@ chrome_java_sources = [
"java/src/org/chromium/chrome/browser/suggestions/mostvisited/MostVisitedSitesMetadataUtils.java",
"java/src/org/chromium/chrome/browser/suggestions/tile/MostVisitedTilesCoordinator.java",
"java/src/org/chromium/chrome/browser/suggestions/tile/MostVisitedTilesLayout.java",
@@ -573,12 +573,12 @@ diff --git a/chrome/android/java/res/values/dimens.xml b/chrome/android/java/res
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
@@ -3410,7 +3410,8 @@ public class ChromeTabbedActivity extends ChromeActivity {
mEdgeToEdgeControllerSupplier,
@@ -3482,7 +3482,8 @@ public class ChromeTabbedActivity extends ChromeActivity {
mTopInsetCoordinatorSupplier,
getStartupMetricsTracker(),
- mRootUiCoordinator.getExclusiveAccessManager());
+ mRootUiCoordinator.getExclusiveAccessManager(),
mRootUiCoordinator.getExclusiveAccessManager(),
- mBackPressManager);
+ mBackPressManager,
+ mBookmarkManagerOpenerSupplier);
}
return mTabDelegateFactory;
@@ -586,10 +586,10 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/TabbedModeTabDelegateFactory.java b/chrome/android/java/src/org/chromium/chrome/browser/TabbedModeTabDelegateFactory.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/TabbedModeTabDelegateFactory.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/TabbedModeTabDelegateFactory.java
@@ -13,6 +13,7 @@ import org.chromium.build.annotations.NullMarked;
import org.chromium.build.annotations.Nullable;
@@ -13,6 +13,7 @@ import org.chromium.build.annotations.Nullable;
import org.chromium.chrome.browser.app.ChromeActivity;
import org.chromium.chrome.browser.app.tab_activity_glue.ActivityTabWebContentsDelegateAndroid;
import org.chromium.chrome.browser.back_press.BackPressManager;
+import org.chromium.chrome.browser.bookmarks.BookmarkManagerOpener;
import org.chromium.chrome.browser.browser_controls.BrowserControlsStateProvider;
import org.chromium.chrome.browser.compositor.CompositorViewHolder;
@@ -603,39 +603,39 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/TabbedModeTabDe
/**
* {@link TabDelegateFactory} class to be used in all {@link Tab} instances owned by a {@link
* ChromeTabbedActivity}.
@@ -89,6 +92,8 @@ public class TabbedModeTabDelegateFactory implements TabDelegateFactory {
@@ -88,6 +91,8 @@ public class TabbedModeTabDelegateFactory implements TabDelegateFactory {
private final ObservableSupplier<TopInsetCoordinator> mTopInsetCoordinatorSupplier;
private final StartupMetricsTracker mStartupMetricsTracker;
private final @Nullable ExclusiveAccessManager mExclusiveAccessManager;
+ private final ObservableSupplier<BookmarkManagerOpener> mBookmarkManagerOpenerSupplier;
+
private @Nullable NativePageFactory mNativePageFactory;
private final BackPressManager mBackPressManager;
public TabbedModeTabDelegateFactory(
@@ -119,7 +124,8 @@ public class TabbedModeTabDelegateFactory implements TabDelegateFactory {
ObservableSupplier<EdgeToEdgeController> edgeToEdgeControllerSupplier,
ObservableSupplier<TopInsetCoordinator> topInsetCoordinatorSupplier,
StartupMetricsTracker startupMetricsTracker,
- @Nullable ExclusiveAccessManager exclusiveAccessManager) {
+ @Nullable ExclusiveAccessManager exclusiveAccessManager,
@Nullable ExclusiveAccessManager exclusiveAccessManager,
- BackPressManager backPressManager) {
+ BackPressManager backPressManager,
+ @NonNull ObservableSupplier<BookmarkManagerOpener> bookmarkManagerOpenerSupplier) {
mActivity = activity;
mAppBrowserControlsVisibilityDelegate = appBrowserControlsVisibilityDelegate;
mShareDelegateSupplier = shareDelegateSupplier;
@@ -148,6 +154,7 @@ public class TabbedModeTabDelegateFactory implements TabDelegateFactory {
mTopInsetCoordinatorSupplier = topInsetCoordinatorSupplier;
mStartupMetricsTracker = startupMetricsTracker;
mExclusiveAccessManager = exclusiveAccessManager;
mBackPressManager = backPressManager;
+ mBookmarkManagerOpenerSupplier = bookmarkManagerOpenerSupplier;
}
@Override
@@ -218,7 +225,8 @@ public class TabbedModeTabDelegateFactory implements TabDelegateFactory {
mModuleRegistrySupplier,
mEdgeToEdgeControllerSupplier,
mTopInsetCoordinatorSupplier,
- mStartupMetricsTracker);
+ mStartupMetricsTracker,
mStartupMetricsTracker,
- mBackPressManager);
+ mBackPressManager,
+ mBookmarkManagerOpenerSupplier);
}
return mNativePageFactory.createNativePage(url, candidatePage, tab, pdfInfo);
@@ -712,23 +712,23 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/identity_disc/I
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/native_page/NativePageFactory.java b/chrome/android/java/src/org/chromium/chrome/browser/native_page/NativePageFactory.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/native_page/NativePageFactory.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/native_page/NativePageFactory.java
@@ -12,6 +12,7 @@ import android.graphics.Rect;
@@ -17,6 +17,7 @@ import android.graphics.Rect;
import android.view.View;
import androidx.annotation.VisibleForTesting;
+import androidx.annotation.NonNull;
import org.chromium.base.jank_tracker.JankTracker;
import org.chromium.base.metrics.RecordUserAction;
import org.chromium.base.supplier.DestroyableObservableSupplier;
@@ -24,6 +25,7 @@ import org.chromium.chrome.browser.AlwaysIncognitoLinkInterceptor;
import org.chromium.chrome.browser.app.ChromeActivity;
@@ -30,6 +31,7 @@ import org.chromium.chrome.browser.app.ChromeActivity;
import org.chromium.chrome.browser.app.download.home.DownloadPage;
import org.chromium.chrome.browser.back_press.BackPressManager;
import org.chromium.chrome.browser.bookmarks.BookmarkPage;
+import org.chromium.chrome.browser.bookmarks.BookmarkManagerOpener;
import org.chromium.chrome.browser.browser_controls.BrowserControlsMarginSupplier;
import org.chromium.chrome.browser.browser_controls.BrowserControlsStateProvider;
import org.chromium.chrome.browser.fullscreen.BrowserControlsManager;
@@ -87,6 +89,7 @@ public class NativePageFactory {
import org.chromium.chrome.browser.flags.ChromeFeatureList;
@@ -95,6 +97,7 @@ public class NativePageFactory {
private final ObservableSupplier<EdgeToEdgeController> mEdgeToEdgeControllerSupplier;
private final ObservableSupplier<TopInsetCoordinator> mTopInsetCoordinatorSupplier;
private final StartupMetricsTracker mStartupMetricsTracker;
@@ -736,38 +736,38 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/native_page/Nat
private @Nullable NewTabPageCreationTracker mNewTabPageCreationTracker;
private @Nullable NativePageBuilder mNativePageBuilder;
@@ -110,7 +113,8 @@ public class NativePageFactory {
OneshotSupplier<ModuleRegistry> moduleRegistrySupplier,
@@ -119,7 +122,8 @@ public class NativePageFactory {
ObservableSupplier<EdgeToEdgeController> edgeToEdgeControllerSupplier,
ObservableSupplier<TopInsetCoordinator> topInsetCoordinatorSupplier,
- StartupMetricsTracker startupMetricsTracker) {
+ StartupMetricsTracker startupMetricsTracker,
StartupMetricsTracker startupMetricsTracker,
- BackPressManager backPressManager) {
+ BackPressManager backPressManager,
+ @NonNull ObservableSupplier<BookmarkManagerOpener> bookmarkManagerOpenerSupplier) {
mActivity = activity;
mBottomSheetController = sheetController;
mBrowserControlsManager = browserControlsManager;
@@ -129,6 +133,7 @@ public class NativePageFactory {
mEdgeToEdgeControllerSupplier = edgeToEdgeControllerSupplier;
@@ -138,6 +142,7 @@ public class NativePageFactory {
mTopInsetCoordinatorSupplier = topInsetCoordinatorSupplier;
mStartupMetricsTracker = startupMetricsTracker;
mBackPressManager = backPressManager;
+ mBookmarkManagerOpenerSupplier = bookmarkManagerOpenerSupplier;
}
private NativePageBuilder getBuilder() {
@@ -153,7 +158,8 @@ public class NativePageFactory {
mModuleRegistrySupplier,
@@ -162,7 +167,8 @@ public class NativePageFactory {
mEdgeToEdgeControllerSupplier,
mTopInsetCoordinatorSupplier,
- mStartupMetricsTracker);
+ mStartupMetricsTracker,
mStartupMetricsTracker,
- mBackPressManager);
+ mBackPressManager,
+ mBookmarkManagerOpenerSupplier);
}
return mNativePageBuilder;
}
@@ -187,9 +193,10 @@ public class NativePageFactory {
private final ObservableSupplier<EdgeToEdgeController> mEdgeToEdgeControllerSupplier;
@@ -196,9 +202,10 @@ public class NativePageFactory {
private final ObservableSupplier<TopInsetCoordinator> mTopInsetCoordinatorSupplier;
private final StartupMetricsTracker mStartupMetricsTracker;
private final BackPressManager mBackPressManager;
+ private final ObservableSupplier<BookmarkManagerOpener> mBookmarkManagerOpenerSupplier;
public NativePageBuilder(
@@ -776,25 +776,25 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/native_page/Nat
Supplier<NewTabPageCreationTracker> newTabPageCreationTracker,
BottomSheetController sheetController,
BrowserControlsManager browserControlsManager,
@@ -207,7 +214,8 @@ public class NativePageFactory {
OneshotSupplier<ModuleRegistry> moduleRegistrySupplier,
@@ -216,7 +223,8 @@ public class NativePageFactory {
ObservableSupplier<EdgeToEdgeController> edgeToEdgeControllerSupplier,
ObservableSupplier<TopInsetCoordinator> topInsetCoordinatorSupplier,
- StartupMetricsTracker startupMetricsTracker) {
+ StartupMetricsTracker startupMetricsTracker,
StartupMetricsTracker startupMetricsTracker,
- BackPressManager backPressManager) {
+ BackPressManager backPressManager,
+ @NonNull ObservableSupplier<BookmarkManagerOpener> bookmarkManagerOpenerSupplier) {
mActivity = activity;
mNewTabPageCreationTracker = newTabPageCreationTracker;
mBottomSheetController = sheetController;
@@ -227,6 +235,7 @@ public class NativePageFactory {
mEdgeToEdgeControllerSupplier = edgeToEdgeControllerSupplier;
@@ -236,6 +244,7 @@ public class NativePageFactory {
mTopInsetCoordinatorSupplier = topInsetCoordinatorSupplier;
mStartupMetricsTracker = startupMetricsTracker;
mBackPressManager = backPressManager;
+ mBookmarkManagerOpenerSupplier = bookmarkManagerOpenerSupplier;
}
protected NativePage buildNewTabPage(Tab tab, String url) {
@@ -265,7 +274,8 @@ public class NativePageFactory {
@@ -273,7 +282,8 @@ public class NativePageFactory {
mModuleRegistrySupplier,
mEdgeToEdgeControllerSupplier,
mTopInsetCoordinatorSupplier,
@@ -819,7 +819,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/NewTabPage.java b/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage.java
@@ -125,6 +125,9 @@ import org.chromium.ui.base.DeviceFormFactor;
@@ -126,6 +126,9 @@ import org.chromium.ui.base.DeviceFormFactor;
import org.chromium.ui.base.WindowAndroid;
import org.chromium.url.GURL;
@@ -829,7 +829,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage.
import java.util.List;
import java.util.function.Supplier;
@@ -504,7 +507,8 @@ public class NewTabPage
@@ -502,7 +505,8 @@ public class NewTabPage
OneshotSupplier<ModuleRegistry> moduleRegistrySupplier,
ObservableSupplier<EdgeToEdgeController> edgeToEdgeControllerSupplier,
ObservableSupplier<TopInsetCoordinator> topInsetCoordinatorSupplier,
@@ -839,7 +839,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage.
mConstructedTimeNs = System.nanoTime();
TraceEvent.begin(TAG);
@@ -529,7 +533,7 @@ public class NewTabPage
@@ -526,7 +530,7 @@ public class NewTabPage
SuggestionsNavigationDelegate navigationDelegate =
new SuggestionsNavigationDelegate(
@@ -851,7 +851,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage.
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageLayout.java b/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageLayout.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageLayout.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageLayout.java
@@ -13,6 +13,7 @@ import android.graphics.Rect;
@@ -12,6 +12,7 @@ import android.graphics.Rect;
import android.text.Editable;
import android.util.AttributeSet;
import android.view.DragEvent;
@@ -859,7 +859,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageL
import android.view.View;
import android.view.ViewGroup;
import android.view.ViewStub;
@@ -41,6 +42,7 @@ import org.chromium.chrome.browser.feed.FeedSurfaceScrollDelegate;
@@ -40,6 +41,7 @@ import org.chromium.chrome.browser.feed.FeedSurfaceScrollDelegate;
import org.chromium.chrome.browser.flags.ChromeFeatureList;
import org.chromium.chrome.browser.incognito.IncognitoUtils;
import org.chromium.chrome.browser.lens.LensEntryPoint;
@@ -867,16 +867,15 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageL
import org.chromium.chrome.browser.lens.LensMetrics;
import org.chromium.chrome.browser.lifecycle.ActivityLifecycleDispatcher;
import org.chromium.chrome.browser.logo.LogoBridge.Logo;
@@ -58,7 +60,7 @@ import org.chromium.chrome.browser.profiles.Profile;
import org.chromium.chrome.browser.suggestions.tile.MostVisitedTilesCoordinator;
@@ -58,6 +60,7 @@ import org.chromium.chrome.browser.suggestions.tile.MostVisitedTilesCoordinator;
import org.chromium.chrome.browser.suggestions.tile.MostVisitedTilesLayout;
import org.chromium.chrome.browser.suggestions.tile.TileGroup;
import org.chromium.chrome.browser.suggestions.tile.TileGroup.Delegate;
-import org.chromium.chrome.browser.suggestions.tile.TilesLinearLayout;
+import org.chromium.chrome.browser.suggestions.tile.MostVisitedTilesGridLayout;
import org.chromium.chrome.browser.tab_ui.InvalidationAwareThumbnailProvider;
import org.chromium.chrome.browser.ui.native_page.TouchEnabledDelegate;
import org.chromium.chrome.browser.util.BrowserUiUtils;
@@ -105,6 +107,8 @@ public class NewTabPageLayout extends LinearLayout
@@ -104,6 +107,8 @@ public class NewTabPageLayout extends LinearLayout
private @Nullable DisplayStyleObserver mDisplayStyleObserver;
private CallbackController mCallbackController = new CallbackController();
@@ -885,7 +884,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageL
/**
* Whether the tiles shown in the layout have finished loading.
* With {@link #mHasShownView}, it's one of the 2 flags used to track initialisation progress.
@@ -117,7 +121,7 @@ public class NewTabPageLayout extends LinearLayout
@@ -116,7 +121,7 @@ public class NewTabPageLayout extends LinearLayout
*/
private boolean mHasShownView;
@@ -894,7 +893,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageL
private boolean mSearchProviderIsGoogle;
private boolean mShowingNonStandardGoogleLogo;
private boolean mIsOmniboxMobileParityUpdateV2Enabled;
@@ -311,6 +315,7 @@ public class NewTabPageLayout extends LinearLayout
@@ -299,6 +304,7 @@ public class NewTabPageLayout extends LinearLayout
initializeMostVisitedTilesCoordinator(
mProfile, lifecycleDispatcher, tileGroupDelegate, touchEnabledDelegate);
initializeDseIconView(shouldShowDseIcon());
@@ -902,16 +901,16 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageL
initializeSearchBoxTextView();
initializeVoiceSearchButton();
initializeLensButton();
@@ -700,7 +705,7 @@ public class NewTabPageLayout extends LinearLayout
@@ -686,7 +692,7 @@ public class NewTabPageLayout extends LinearLayout
private void calculateTabletMvtWidth(int totalWidth) {
if (mMvTilesContainerLayout.getVisibility() == GONE) return;
if (mInitialTileNum == null) {
mInitialTileNum =
- ((TilesLinearLayout) findViewById(R.id.mv_tiles_layout)).getTileCount();
+ ((MostVisitedTilesGridLayout) findViewById(R.id.mv_tiles_layout)).getTileCount();
}
int currentOrientation = getResources().getConfiguration().orientation;
@@ -768,7 +773,7 @@ public class NewTabPageLayout extends LinearLayout
- MostVisitedTilesLayout mvTilesLayout = findViewById(R.id.mv_tiles_layout);
+ MostVisitedTilesGridLayout mvTilesLayout = findViewById(R.id.mv_tiles_layout);
mMvtContentFits = mvTilesLayout.contentFitsOnTablet(totalWidth);
updateMvtOnTablet();
}
@@ -737,7 +743,7 @@ public class NewTabPageLayout extends LinearLayout
&& mInitialized) {
return;
}
@@ -920,7 +919,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageL
mSearchProviderIsGoogle = isGoogle;
if (!mSearchProviderIsGoogle) {
@@ -1219,6 +1224,22 @@ public class NewTabPageLayout extends LinearLayout
@@ -1188,6 +1194,22 @@ public class NewTabPageLayout extends LinearLayout
return mMostVisitedTilesCoordinator;
}
@@ -1335,7 +1334,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/suggestions/til
TileRenderer renderer,
PropertyModel propertyModel,
boolean isTablet,
@@ -211,20 +211,14 @@ public class MostVisitedTilesMediator implements TileGroup.Observer {
@@ -211,12 +211,10 @@ public class MostVisitedTilesMediator implements TileGroup.Observer {
@Override
public void onCustomTileCreation(Tile tile) {
@@ -1347,16 +1346,8 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/suggestions/til
- mMvTilesLayout.ensureTileIsInViewOnNextLayout(newPos);
}
@Override
public void onCustomTileNonReorderChange() {
- SuggestionsTileVerticalDivider divider = mMvTilesLayout.getDividerMaybeNull();
- if (divider != null) {
- divider.showThenHide();
- }
}
public void onConfigurationChanged() {
@@ -334,7 +328,5 @@ public class MostVisitedTilesMediator implements TileGroup.Observer {
@@ -326,7 +324,5 @@ public class MostVisitedTilesMediator implements TileGroup.Observer {
double firstTileScore = mTileGroup.getSuggestionScore(firstTile.getUrl());
if (firstTileScore < MVT_CUSTOMIZATION_IPH_TILE_SCORE_THRESHOULD) return;
@@ -1422,7 +1413,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/suggestions/til
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/suggestions/tile/TileRenderer.java b/chrome/android/java/src/org/chromium/chrome/browser/suggestions/tile/TileRenderer.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/suggestions/tile/TileRenderer.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/suggestions/tile/TileRenderer.java
@@ -176,7 +176,7 @@ public class TileRenderer {
@@ -174,7 +174,7 @@ public class TileRenderer {
*/
public void renderTileSection(
List<Tile> sectionTiles,
@@ -1431,7 +1422,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/suggestions/til
TileGroup.TileSetupDelegate setupDelegate) {
try (TraceEvent e = TraceEvent.scoped("TileRenderer.renderTileSection")) {
// Map the old tile views by url so they can be reused later.
@@ -265,7 +265,7 @@ public class TileRenderer {
@@ -263,7 +263,7 @@ public class TileRenderer {
*/
@VisibleForTesting
SuggestionsTileView buildTileView(
@@ -1440,7 +1431,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/suggestions/til
SuggestionsTileView tileView =
(SuggestionsTileView)
LayoutInflater.from(parent.getContext())
@@ -332,7 +332,7 @@ public class TileRenderer {
@@ -330,7 +330,7 @@ public class TileRenderer {
return tileView;
}
@@ -1449,7 +1440,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/suggestions/til
return (SuggestionsTileVerticalDivider)
LayoutInflater.from(parent.getContext())
.inflate(R.layout.suggestions_tile_vertical_divider, parent, false);
@@ -353,7 +353,7 @@ public class TileRenderer {
@@ -351,7 +351,7 @@ public class TileRenderer {
}
TileView buildAddCustomLinksButton(
@@ -1461,15 +1452,15 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/suggestions/til
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/suggestions/tile/TilesLinearLayout.java b/chrome/android/java/src/org/chromium/chrome/browser/suggestions/tile/TilesLinearLayout.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/suggestions/tile/TilesLinearLayout.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/suggestions/tile/TilesLinearLayout.java
@@ -26,7 +26,7 @@ import java.util.List;
* #getChildCount()} and {@link #getChildAt()}.
@@ -32,7 +32,7 @@ import java.util.List;
* #getChildAt()}.
*/
@NullMarked
-public class TilesLinearLayout extends LinearLayout {
+class TilesLinearLayout extends LinearLayout {
private final List<TileView> mTileList = new ArrayList<>();
protected float mNonTileViewsTotalWidthDp;
protected int mTileAndUiViewCount;
diff --git a/chrome/browser/engagement/important_sites_util.cc b/chrome/browser/engagement/important_sites_util.cc
--- a/chrome/browser/engagement/important_sites_util.cc
+++ b/chrome/browser/engagement/important_sites_util.cc
@@ -1485,7 +1476,7 @@ diff --git a/chrome/browser/engagement/important_sites_util.cc b/chrome/browser/
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
@@ -347,6 +347,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
@@ -349,6 +349,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
&kIncognitoThemeOverlayTesting,
&kInstanceSwitcherV2,
&kKeyboardEscBackNavigation,
@@ -1496,7 +1487,7 @@ diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browse
diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/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
@@ -486,6 +486,7 @@ public abstract class ChromeFeatureList {
@@ -490,6 +490,7 @@ public abstract class ChromeFeatureList {
public static final String MITIGATE_LEGACY_SEARCH_ENGINE_PROMO_OVERLAP =
"MitigateLegacySearchEnginePromoOverlap";
public static final String MOST_VISITED_TILES_CUSTOMIZATION = "MostVisitedTilesCustomization";
@@ -1505,9 +1496,9 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f
public static final String MOST_VISITED_TILES_RESELECT = "MostVisitedTilesReselect";
public static final String MULTI_INSTANCE_APPLICATION_STATUS_CLEANUP =
@@ -980,7 +981,7 @@ public abstract class ChromeFeatureList {
newCachedFlag(LOCK_BACK_PRESS_HANDLER_AT_START, true);
public static final CachedFlag sLockTopControlsOnLargeTablets =
newCachedFlag(LOCK_TOP_CONTROLS_ON_LARGE_TABLETS, false);
// TODO(https://crbug.com/438970923): Remove the use of BuildConfig by 2025 EoY.
public static final CachedFlag sLockTopControlsOnLargeTabletsV2 =
newCachedFlag(LOCK_TOP_CONTROLS_ON_LARGE_TABLETS_V2, BuildConfig.IS_DESKTOP_ANDROID);
- public static final CachedFlag sMagicStackAndroid = newCachedFlag(MAGIC_STACK_ANDROID, true);
+ public static final CachedFlag sMagicStackAndroid = newCachedFlag(MAGIC_STACK_ANDROID, false);
public static final CachedFlag sMaliciousApkDownloadCheck =
@@ -1527,7 +1518,7 @@ diff --git a/chrome/browser/segmentation_platform/android/java/src/org/chromium/
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
@@ -3902,6 +3902,12 @@ To change this setting, <ph name="BEGIN_LINK">BEGIN_LINK</ph>delete the Chrome d
@@ -3908,6 +3908,12 @@ To change this setting, <ph name="BEGIN_LINK">BEGIN_LINK</ph>delete the Chrome d
<message name="IDS_RECENT_TABS" desc="Text for button to show 'Recent tabs', i.e. recently closed tabs and tabs that are open on other devices [CHAR_LIMIT=20]">
Recent tabs
</message>
@@ -60,7 +60,6 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
.../settings/SavedPasswordEntry.java | 41 ++
.../settings/SingleThreadBarrierClosure.java | 49 ++
.../settings/TimedCallbackDelayer.java | 33 +
.../login_db_deprecation_runner_factory.cc | 2 +-
.../android/password_manager_android_util.cc | 1 +
.../android/password_ui_view_android.cc | 449 +++++++++++
.../android/password_ui_view_android.h | 196 +++++
@@ -70,12 +69,11 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
.../Import-Password-Android.grdp | 9 +
.../autofill/core/common/autofill_features.cc | 1 +
.../settings/SettingsNavigation.java | 3 +
.../core/browser/buildflags.gni | 2 +-
.../password_manager_features_util.cc | 1 +
.../core/browser/import/password_importer.cc | 11 +
components/sync/service/sync_prefs.cc | 2 +-
.../Restore-chrome-password-store.inc | 1 +
67 files changed, 5511 insertions(+), 38 deletions(-)
65 files changed, 5509 insertions(+), 36 deletions(-)
create mode 100644 chrome/android/java/res/layout/password_no_result.xml
create mode 100644 chrome/android/java/res/menu/save_password_preferences_action_bar_menu.xml
create mode 100644 chrome/android/java/src/org/chromium/chrome/browser/password_manager/settings/PasswordSettings.java
@@ -121,7 +119,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
--- a/chrome/android/BUILD.gn
+++ b/chrome/android/BUILD.gn
@@ -797,6 +797,10 @@ if (_is_default_toolchain) {
@@ -803,6 +803,10 @@ if (_is_default_toolchain) {
"//url/mojom:url_mojom_origin_java",
]
@@ -132,7 +130,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
deps += feed_deps
srcjar_deps = [
@@ -939,6 +943,10 @@ if (_is_default_toolchain) {
@@ -946,6 +950,10 @@ if (_is_default_toolchain) {
"//components/visited_url_ranking/internal:internal_java",
]
@@ -146,7 +144,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
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
@@ -629,3 +629,8 @@ chrome_java_resources = [
@@ -643,3 +643,8 @@ chrome_java_resources = [
"java/res/xml/tracing_preferences.xml",
"java/res/xml/unified_account_settings_preferences.xml",
]
@@ -158,7 +156,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
@@ -866,6 +866,7 @@ chrome_java_sources = [
@@ -875,6 +875,7 @@ chrome_java_sources = [
"java/src/org/chromium/chrome/browser/password_manager/PasswordManagerDialogViewBinder.java",
"java/src/org/chromium/chrome/browser/password_manager/PasswordManagerErrorMessageHelperBridge.java",
"java/src/org/chromium/chrome/browser/password_manager/PasswordManagerLauncher.java",
@@ -169,7 +167,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
@@ -457,10 +457,9 @@ by a child template that "extends" this file.
@@ -455,10 +455,9 @@ by a child template that "extends" this file.
</intent-filter>
</activity>
@@ -1006,7 +1004,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/Fragme
import org.chromium.chrome.browser.password_manager.PasswordManagerHelper;
import org.chromium.chrome.browser.password_manager.PasswordStoreBridge;
import org.chromium.chrome.browser.privacy_guide.PrivacyGuideFragment;
@@ -136,6 +138,9 @@ public class FragmentDependencyProvider extends FragmentManager.FragmentLifecycl
@@ -134,6 +136,9 @@ public class FragmentDependencyProvider extends FragmentManager.FragmentLifecycl
PasswordManagerHelper.getForProfile(mProfile),
new SettingsCustomTabLauncherImpl());
}
@@ -1019,7 +1017,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/Fragme
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/MainSettings.java b/chrome/android/java/src/org/chromium/chrome/browser/settings/MainSettings.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/settings/MainSettings.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/settings/MainSettings.java
@@ -480,18 +480,6 @@ public class MainSettings extends ChromeBaseSettingsFragment
@@ -481,18 +481,6 @@ public class MainSettings extends ChromeBaseSettingsFragment
preference ->
SettingsNavigationHelper.showAutofillProfileSettings(
getActivity()));
@@ -1069,7 +1067,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/Settin
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
--- a/chrome/browser/BUILD.gn
+++ b/chrome/browser/BUILD.gn
@@ -3371,6 +3371,13 @@ static_library("browser") {
@@ -3369,6 +3369,13 @@ static_library("browser") {
"touch_to_fill/password_manager/touch_to_fill_controller_webauthn_delegate.h",
]
@@ -1086,7 +1084,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
diff --git a/chrome/browser/autofill/android/java/src/org/chromium/chrome/browser/autofill/AutofillClientProviderUtils.java b/chrome/browser/autofill/android/java/src/org/chromium/chrome/browser/autofill/AutofillClientProviderUtils.java
--- a/chrome/browser/autofill/android/java/src/org/chromium/chrome/browser/autofill/AutofillClientProviderUtils.java
+++ b/chrome/browser/autofill/android/java/src/org/chromium/chrome/browser/autofill/AutofillClientProviderUtils.java
@@ -122,6 +122,7 @@ public class AutofillClientProviderUtils {
@@ -121,6 +121,7 @@ public class AutofillClientProviderUtils {
@CalledByNative
public static void setAutofillOptionsDeepLinkPref(boolean featureOn) {
@@ -2905,7 +2903,7 @@ new file mode 100644
diff --git a/chrome/browser/password_manager/android/BUILD.gn b/chrome/browser/password_manager/android/BUILD.gn
--- a/chrome/browser/password_manager/android/BUILD.gn
+++ b/chrome/browser/password_manager/android/BUILD.gn
@@ -190,6 +190,27 @@ android_library("java") {
@@ -188,6 +188,27 @@ android_library("java") {
"java/src/org/chromium/chrome/browser/password_manager/settings/PasswordsPreference.java",
]
@@ -2933,7 +2931,7 @@ diff --git a/chrome/browser/password_manager/android/BUILD.gn b/chrome/browser/p
resources_package = "org.chromium.chrome.browser.password_manager"
}
@@ -211,6 +232,8 @@ generate_jni("jni_headers") {
@@ -209,6 +230,8 @@ generate_jni("jni_headers") {
"java/src/org/chromium/chrome/browser/password_manager/PasswordStoreCredential.java",
"java/src/org/chromium/chrome/browser/password_manager/PasswordSyncControllerDelegateBridgeImpl.java",
]
@@ -2945,7 +2943,7 @@ diff --git a/chrome/browser/password_manager/android/BUILD.gn b/chrome/browser/p
diff --git a/chrome/browser/password_manager/android/java/src/org/chromium/chrome/browser/password_manager/PasswordManagerHelper.java b/chrome/browser/password_manager/android/java/src/org/chromium/chrome/browser/password_manager/PasswordManagerHelper.java
--- a/chrome/browser/password_manager/android/java/src/org/chromium/chrome/browser/password_manager/PasswordManagerHelper.java
+++ b/chrome/browser/password_manager/android/java/src/org/chromium/chrome/browser/password_manager/PasswordManagerHelper.java
@@ -38,8 +38,9 @@ import org.chromium.chrome.browser.preferences.Pref;
@@ -37,8 +37,9 @@ import org.chromium.chrome.browser.password_manager.PasswordCheckupClientHelper.
import org.chromium.chrome.browser.profiles.Profile;
import org.chromium.chrome.browser.profiles.ProfileKeyedMap;
import org.chromium.chrome.browser.pwm_disabled.PasswordCsvDownloadFlowControllerFactory;
@@ -2954,9 +2952,9 @@ diff --git a/chrome/browser/password_manager/android/java/src/org/chromium/chrom
+import org.chromium.chrome.browser.settings.SettingsNavigationFactory;
+import org.chromium.components.browser_ui.settings.SettingsNavigation;
import org.chromium.components.browser_ui.settings.SettingsCustomTabLauncher;
import org.chromium.components.prefs.PrefService;
import org.chromium.components.sync.SyncService;
@@ -187,6 +188,7 @@ public class PasswordManagerHelper {
import org.chromium.ui.modaldialog.ModalDialogManager;
@@ -173,6 +174,7 @@ public class PasswordManagerHelper {
Context context,
Supplier<@Nullable ModalDialogManager> modalDialogManagerSupplier,
SettingsCustomTabLauncher settingsCustomTabLauncher) {
@@ -2964,11 +2962,11 @@ diff --git a/chrome/browser/password_manager/android/java/src/org/chromium/chrom
// Automotive doesn't support the export flow.
if (!DeviceInfo.isAutomotive()
&& LoginDbDeprecationUtilBridge.hasPasswordsInCsv(mProfile)) {
@@ -194,16 +196,6 @@ public class PasswordManagerHelper {
@@ -180,16 +182,6 @@ public class PasswordManagerHelper {
return true;
}
- if (!PasswordManagerUtilBridge.isPasswordManagerAvailable(UserPrefs.get(mProfile))) {
- if (!PasswordManagerUtilBridge.isPasswordManagerAvailable()) {
- new PasswordManagerUnavailableDialogCoordinator()
- .showDialog(
- context,
@@ -2981,7 +2979,7 @@ diff --git a/chrome/browser/password_manager/android/java/src/org/chromium/chrom
return false;
}
@@ -432,6 +424,11 @@ public class PasswordManagerHelper {
@@ -417,6 +409,11 @@ public class PasswordManagerHelper {
Supplier<@Nullable ModalDialogManager> modalDialogManagerSupplier,
Context context,
@Nullable String account) {
@@ -2991,12 +2989,12 @@ diff --git a/chrome/browser/password_manager/android/java/src/org/chromium/chrom
+ context, SettingsNavigation.SettingsFragment.PASSWORDS);
+ if ((true)) return;
assert syncService != null;
assert PasswordManagerUtilBridge.isPasswordManagerAvailable(prefService);
assert PasswordManagerUtilBridge.isPasswordManagerAvailable();
CredentialManagerLauncher credentialManagerLauncher =
diff --git a/chrome/browser/password_manager/android/java/src/org/chromium/chrome/browser/password_manager/PasswordManagerUtilBridge.java b/chrome/browser/password_manager/android/java/src/org/chromium/chrome/browser/password_manager/PasswordManagerUtilBridge.java
--- a/chrome/browser/password_manager/android/java/src/org/chromium/chrome/browser/password_manager/PasswordManagerUtilBridge.java
+++ b/chrome/browser/password_manager/android/java/src/org/chromium/chrome/browser/password_manager/PasswordManagerUtilBridge.java
@@ -41,8 +41,7 @@ public class PasswordManagerUtilBridge {
@@ -39,8 +39,7 @@ public class PasswordManagerUtilBridge {
*/
@CalledByNative
public static boolean isGooglePlayServicesUpdatable() {
@@ -4831,11 +4829,11 @@ diff --git a/chrome/browser/password_manager/android/java/src/org/chromium/chrom
@@ -87,6 +87,7 @@ public class PasswordsPreference extends ChromeBasePreference implements Profile
}
private void setUpPostDeprecationWarning(PreferenceViewHolder holder, PrefService prefService) {
private void setUpPostDeprecationWarning(PreferenceViewHolder holder) {
+ if ((true)) return;
assert mProfile != null : "Profile is not set!";
boolean isPasswordManagerAvailable =
boolean isPasswordManagerAvailable = PasswordManagerUtilBridge.isPasswordManagerAvailable();
diff --git a/chrome/browser/password_manager/android/java/src/org/chromium/chrome/browser/password_manager/settings/ProgressBarDialogFragment.java b/chrome/browser/password_manager/android/java/src/org/chromium/chrome/browser/password_manager/settings/ProgressBarDialogFragment.java
new file mode 100644
--- /dev/null
@@ -5252,22 +5250,10 @@ new file mode 100644
+ mHandler.postDelayed(callback, mDelayMillis);
+ }
+}
diff --git a/chrome/browser/password_manager/android/login_db_deprecation_runner_factory.cc b/chrome/browser/password_manager/android/login_db_deprecation_runner_factory.cc
--- a/chrome/browser/password_manager/android/login_db_deprecation_runner_factory.cc
+++ b/chrome/browser/password_manager/android/login_db_deprecation_runner_factory.cc
@@ -39,7 +39,7 @@ std::unique_ptr<KeyedService>
LoginDbDeprecationRunnerFactory::BuildServiceInstanceForBrowserContext(
content::BrowserContext* context) const {
#if BUILDFLAG(USE_LOGIN_DATABASE_AS_BACKEND)
- return nullptr;
+ if ((true)) return nullptr;
#else
Profile* profile = Profile::FromBrowserContext(context);
PrefService* prefs = profile->GetPrefs();
diff --git a/chrome/browser/password_manager/android/password_manager_android_util.cc b/chrome/browser/password_manager/android/password_manager_android_util.cc
--- a/chrome/browser/password_manager/android/password_manager_android_util.cc
+++ b/chrome/browser/password_manager/android/password_manager_android_util.cc
@@ -31,6 +31,7 @@ namespace password_manager_android_util {
@@ -16,6 +16,7 @@ namespace password_manager_android_util {
namespace {
bool HasMinGmsVersionForFullUpmSupport() {
@@ -5945,7 +5931,7 @@ diff --git a/chrome/browser/password_manager/android/pwm_disabled/BUILD.gn b/chr
diff --git a/chrome/browser/password_manager/password_manager_settings_service_factory.cc b/chrome/browser/password_manager/password_manager_settings_service_factory.cc
--- a/chrome/browser/password_manager/password_manager_settings_service_factory.cc
+++ b/chrome/browser/password_manager/password_manager_settings_service_factory.cc
@@ -94,9 +94,7 @@ PasswordManagerSettingsServiceFactory::CreateService(Profile* profile) const {
@@ -90,9 +90,7 @@ PasswordManagerSettingsServiceFactory::CreateService(Profile* profile) const {
return std::make_unique<PasswordManagerSettingsServiceAndroidImpl>(
profile->GetPrefs(), SyncServiceFactory::GetForProfile(profile));
}
@@ -5959,7 +5945,7 @@ diff --git a/chrome/browser/password_manager/password_manager_settings_service_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
@@ -679,7 +679,7 @@ For more settings that use data to improve your Chrome experience, go to <ph nam
@@ -682,7 +682,7 @@ For more settings that use data to improve your Chrome experience, go to <ph nam
Passwords
</message>
<message name="IDS_PASSWORD_MANAGER_SETTINGS_TITLE" desc="Title for the settings menu item leading to the Password Manager UI surface. This allows users to e.g. manage their saved passwords, toggle saving and auto-sign-in on/off, etc. [CHAR_LIMIT=32]">
@@ -5968,7 +5954,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro
</message>
<message name="IDS_PASSWORD_SAVING_ON_BY_ADMINISTRATOR" desc="Subtitle for the settings menu item leading to the Password Manager UI surface, shown when the device administrator set saving passwords to enabled.">
Password saving is turned on by your administrator
@@ -779,6 +779,127 @@ For more settings that use data to improve your Chrome experience, go to <ph nam
@@ -782,6 +782,127 @@ For more settings that use data to improve your Chrome experience, go to <ph nam
Password suggestion is closed.
</message>
@@ -6113,10 +6099,10 @@ new file mode 100644
diff --git a/components/autofill/core/common/autofill_features.cc b/components/autofill/core/common/autofill_features.cc
--- a/components/autofill/core/common/autofill_features.cc
+++ b/components/autofill/core/common/autofill_features.cc
@@ -922,6 +922,7 @@ BASE_FEATURE(kAutofillAndroidDesktopSuppressAccessoryOnEmpty,
BASE_FEATURE(kAutofillDeepLinkAutofillOptions,
"AutofillDeepLinkAutofillOptions",
base::FEATURE_ENABLED_BY_DEFAULT);
@@ -786,6 +786,7 @@ BASE_FEATURE(kAutofillDeepLinkAutofillOptions,
// TODO: crbug.com/385172647 - Clean up after the feature is launched.
BASE_FEATURE(kAutofillEnableKeyboardAccessoryChipRedesign,
base::FEATURE_DISABLED_BY_DEFAULT);
+SET_CROMITE_FEATURE_DISABLED(kAutofillDeepLinkAutofillOptions);
// Controls if Chrome Autofill UI surfaces ignore touch events if something is
@@ -6141,18 +6127,6 @@ diff --git a/components/browser_ui/settings/android/java/src/org/chromium/compon
}
/**
diff --git a/components/password_manager/core/browser/buildflags.gni b/components/password_manager/core/browser/buildflags.gni
--- a/components/password_manager/core/browser/buildflags.gni
+++ b/components/password_manager/core/browser/buildflags.gni
@@ -9,7 +9,7 @@ declare_args() {
# The legacy password store backend is supported on android but usually disabled
# in favor of a downstream implementation. Important: the support for this flag
# is planned to be removed in November 2024.
- use_login_database_as_backend = !is_android
+ use_login_database_as_backend = true
}
# Drawables from the downstream clank/ repository are
diff --git a/components/password_manager/core/browser/features/password_manager_features_util.cc b/components/password_manager/core/browser/features/password_manager_features_util.cc
--- a/components/password_manager/core/browser/features/password_manager_features_util.cc
+++ b/components/password_manager/core/browser/features/password_manager_features_util.cc
+32 -32
View File
@@ -56,7 +56,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/android_webview/browser/aw_content_browser_client.cc b/android_webview/browser/aw_content_browser_client.cc
--- a/android_webview/browser/aw_content_browser_client.cc
+++ b/android_webview/browser/aw_content_browser_client.cc
@@ -228,7 +228,7 @@ base::WeakPtr<AsyncCheckTracker> GetAsyncCheckTracker(
@@ -197,7 +197,7 @@ base::WeakPtr<AsyncCheckTracker> GetAsyncCheckTracker(
} // anonymous namespace
std::string GetProduct() {
@@ -92,7 +92,7 @@ diff --git a/base/base_switches.h b/base/base_switches.h
diff --git a/chrome/android/chrome_java_resources.gni b/chrome/android/chrome_java_resources.gni
--- a/chrome/android/chrome_java_resources.gni
+++ b/chrome/android/chrome_java_resources.gni
@@ -639,6 +639,8 @@ chrome_java_resources = [
@@ -653,6 +653,8 @@ chrome_java_resources = [
"java/res/xml/search_widget_info.xml",
"java/res/xml/tracing_preferences.xml",
"java/res/xml/unified_account_settings_preferences.xml",
@@ -104,7 +104,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
@@ -899,6 +899,7 @@ chrome_java_sources = [
@@ -908,6 +908,7 @@ chrome_java_sources = [
"java/src/org/chromium/chrome/browser/payments/ui/DimmingDialog.java",
"java/src/org/chromium/chrome/browser/payments/ui/LineItem.java",
"java/src/org/chromium/chrome/browser/payments/ui/PaymentAppComparator.java",
@@ -271,7 +271,7 @@ new file mode 100644
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
@@ -2657,6 +2657,7 @@ public abstract class ChromeActivity extends AsyncInitializationActivity
@@ -2716,6 +2716,7 @@ public abstract class ChromeActivity extends AsyncInitializationActivity
TabUtils.switchUserAgent(
currentTab,
usingDesktopUserAgent,
@@ -282,18 +282,18 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/init/ChromeBrowserInitializer.java b/chrome/android/java/src/org/chromium/chrome/browser/init/ChromeBrowserInitializer.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/init/ChromeBrowserInitializer.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/init/ChromeBrowserInitializer.java
@@ -23,6 +23,7 @@ import org.chromium.chrome.browser.profiles.ProfileManager;
import org.chromium.chrome.browser.signin.SigninCheckerProvider;
@@ -24,6 +24,7 @@ import org.chromium.chrome.browser.signin.SigninCheckerProvider;
import org.chromium.components.background_task_scheduler.BackgroundTaskSchedulerFactory;
import org.chromium.content_public.browser.BrowserStartupController;
import org.chromium.content_public.browser.BrowserStartupController.StartupMetrics;
+import org.chromium.chrome.browser.privacy.settings.PrivacyPreferencesManagerImpl;
import java.util.ArrayList;
import java.util.List;
@@ -244,11 +245,13 @@ public class ChromeBrowserInitializer {
@@ -245,11 +246,13 @@ public class ChromeBrowserInitializer {
@Override
public void onSuccess() {
public void onSuccess(@Nullable StartupMetrics metrics) {
+ PrivacyPreferencesManagerImpl.getInstance().updateOverrideUserAgent();
tasks.start(false);
}
@@ -559,7 +559,7 @@ new file mode 100644
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/RequestDesktopUtils.java b/chrome/android/java/src/org/chromium/chrome/browser/tab/RequestDesktopUtils.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/tab/RequestDesktopUtils.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tab/RequestDesktopUtils.java
@@ -132,6 +132,7 @@ public class RequestDesktopUtils {
@@ -142,6 +142,7 @@ public class RequestDesktopUtils {
*/
public static void setRequestDesktopSiteContentSettingsForUrl(
Profile profile, GURL url, boolean useDesktopUserAgent) {
@@ -570,7 +570,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/RequestDesk
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.java
@@ -81,6 +81,9 @@ import org.chromium.components.autofill.AutofillProvider;
@@ -82,6 +82,9 @@ import org.chromium.components.autofill.AutofillProvider;
import org.chromium.components.autofill.AutofillProviderUMA;
import org.chromium.components.autofill.AutofillSelectionActionMenuDelegate;
import org.chromium.components.autofill.AutofillSelectionMenuItemHelper;
@@ -580,7 +580,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.jav
import org.chromium.components.dom_distiller.core.DomDistillerUrlUtils;
import org.chromium.components.embedder_support.contextmenu.ContextMenuPopulatorFactory;
import org.chromium.components.embedder_support.util.UrlConstants;
@@ -123,6 +126,9 @@ import org.chromium.chrome.browser.preferences.Pref;
@@ -124,6 +127,9 @@ import org.chromium.chrome.browser.preferences.Pref;
import org.chromium.chrome.browser.profiles.ProfileManager;
import org.chromium.components.user_prefs.UserPrefs;
@@ -590,7 +590,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.jav
/**
* Implementation of the interface {@link Tab}. Contains and manages a {@link ContentView}. This
* class is not intended to be extended.
@@ -2195,9 +2201,6 @@ class TabImpl implements Tab {
@@ -2196,9 +2202,6 @@ class TabImpl implements Tab {
}
if (mWebContents != null) {
@@ -600,7 +600,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.jav
mWebContents.getNavigationController().loadIfNecessary();
}
mIsBeingRestored = true;
@@ -2592,6 +2595,11 @@ class TabImpl implements Tab {
@@ -2594,6 +2597,11 @@ class TabImpl implements Tab {
url = webContents.getVisibleUrl();
}
@@ -609,10 +609,10 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.jav
+ else if (mUserAgent == TabUserAgent.DESKTOP)
+ return UserAgentOverrideOption.TRUE;
+
CommandLine commandLine = CommandLine.getInstance();
// For --request-desktop-sites, always override the user agent.
boolean alwaysRequestDesktopSite =
@@ -2633,7 +2641,7 @@ class TabImpl implements Tab {
boolean shouldRequestDesktopSite =
RequestDesktopUtils.shouldOverrideDesktopSite(mProfile, url, getContext());
@@ -2623,7 +2631,7 @@ class TabImpl implements Tab {
}
boolean usingDesktopUserAgent =
getWebContents().getNavigationController().getUseDesktopUserAgent();
@@ -621,7 +621,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.jav
}
/** Sets the TabLaunchType for tabs launched with an unset launch type. */
@@ -2774,6 +2782,54 @@ class TabImpl implements Tab {
@@ -2771,6 +2779,54 @@ class TabImpl implements Tab {
/* allowDialog= */ false);
}
@@ -922,15 +922,15 @@ diff --git a/chrome/browser/android/preferences/privacy_preferences_manager_impl
diff --git a/chrome/browser/content_settings/request_desktop_site_web_contents_observer_android.cc b/chrome/browser/content_settings/request_desktop_site_web_contents_observer_android.cc
--- a/chrome/browser/content_settings/request_desktop_site_web_contents_observer_android.cc
+++ b/chrome/browser/content_settings/request_desktop_site_web_contents_observer_android.cc
@@ -9,6 +9,7 @@
#include "chrome/browser/content_settings/host_content_settings_map_factory.h"
@@ -10,6 +10,7 @@
#include "chrome/browser/flags/android/chrome_feature_list.h"
#include "chrome/browser/preferences/android/chrome_shared_preferences.h"
#include "chrome/browser/profiles/profile.h"
+#include "chrome/browser/ui/android/tab_model/tab_model.h"
#include "chrome/common/chrome_switches.h"
#include "components/content_settings/core/common/content_settings_utils.h"
#include "components/content_settings/core/common/pref_names.h"
@@ -36,6 +37,7 @@ RequestDesktopSiteWebContentsObserverAndroid::
@@ -37,6 +38,7 @@ RequestDesktopSiteWebContentsObserverAndroid::
host_content_settings_map_ =
HostContentSettingsMapFactory::GetForProfile(profile);
pref_service_ = profile->GetPrefs();
@@ -938,7 +938,7 @@ diff --git a/chrome/browser/content_settings/request_desktop_site_web_contents_o
}
RequestDesktopSiteWebContentsObserverAndroid::
@@ -50,6 +52,15 @@ void RequestDesktopSiteWebContentsObserverAndroid::DidStartNavigation(
@@ -51,6 +53,15 @@ void RequestDesktopSiteWebContentsObserverAndroid::DidStartNavigation(
return;
}
@@ -971,12 +971,12 @@ diff --git a/chrome/browser/content_settings/request_desktop_site_web_contents_o
raw_ptr<PrefService> pref_service_ = nullptr;
+ raw_ptr<TabAndroid> tab_android_ = nullptr;
WEB_CONTENTS_USER_DATA_KEY_DECL();
};
// The display size threshold in inches for enabling desktop user agent on
// connected displays.
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
@@ -1192,8 +1192,6 @@ public final class ChromePreferenceKeys {
@@ -1212,8 +1212,6 @@ public final class ChromePreferenceKeys {
SIGNIN_PROMO_NTP_LAST_SHOWN_TIME,
SYNC_PROMO_TOTAL_SHOW_COUNT,
SEARCH_RESUMPTION_MODULE_COLLAPSE_ON_NTP,
@@ -1058,7 +1058,7 @@ diff --git a/chrome/browser/tabwindow/internal/android/java/src/org/chromium/chr
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
@@ -235,6 +235,32 @@ CHAR_LIMIT guidelines:
@@ -238,6 +238,32 @@ CHAR_LIMIT guidelines:
Visit help page
</message>
@@ -1094,7 +1094,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro
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
@@ -1915,6 +1915,14 @@ inline constexpr char kNaviOnboardGroup[] = "browser.navi_onboard_group";
@@ -1899,6 +1899,14 @@ inline constexpr char kNaviOnboardGroup[] = "browser.navi_onboard_group";
inline constexpr char kHadThreeConsecutiveNotificationPermissionDenies[] =
"profile.content_settings.had_three_consecutive_denies.notifications";
@@ -1245,7 +1245,7 @@ diff --git a/content/browser/renderer_host/navigation_controller_android.cc b/co
const JavaParamRef<jobject>& j_initiator_origin,
jboolean has_user_gesture,
jboolean should_clear_history_list,
@@ -323,6 +324,9 @@ base::android::ScopedJavaLocalRef<jobject> NavigationControllerAndroid::LoadUrl(
@@ -320,6 +321,9 @@ base::android::ScopedJavaLocalRef<jobject> NavigationControllerAndroid::LoadUrl(
params.navigation_ui_data = std::move(navigation_ui_data);
@@ -1269,7 +1269,7 @@ diff --git a/content/browser/renderer_host/navigation_controller_android.h b/con
diff --git a/content/browser/renderer_host/render_process_host_impl.cc b/content/browser/renderer_host/render_process_host_impl.cc
--- a/content/browser/renderer_host/render_process_host_impl.cc
+++ b/content/browser/renderer_host/render_process_host_impl.cc
@@ -3657,6 +3657,7 @@ void RenderProcessHostImpl::PropagateBrowserCommandLineToRenderer(
@@ -3707,6 +3707,7 @@ void RenderProcessHostImpl::PropagateBrowserCommandLineToRenderer(
#if BUILDFLAG(IS_CHROMEOS)
switches::kSchedulerBoostUrgent,
#endif
@@ -1288,7 +1288,7 @@ diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser
#include "base/check_op.h"
#include "base/command_line.h"
#include "base/containers/contains.h"
@@ -2439,8 +2440,6 @@ void WebContentsImpl::SetUserAgentOverride(
@@ -2451,8 +2452,6 @@ void WebContentsImpl::SetUserAgentOverride(
OPTIONAL_TRACE_EVENT2("content", "WebContentsImpl::SetUserAgentOverride",
"ua_override", ua_override.ua_string_override,
"override_in_new_tabs", override_in_new_tabs);
@@ -1297,7 +1297,7 @@ diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser
if (GetUserAgentOverride() == ua_override) {
return;
@@ -3746,6 +3745,9 @@ const blink::web_pref::WebPreferences WebContentsImpl::ComputeWebPreferences(
@@ -3764,6 +3763,9 @@ const blink::web_pref::WebPreferences WebContentsImpl::ComputeWebPreferences(
#else
prefs.viewport_meta_enabled = false;
#endif
@@ -1330,7 +1330,7 @@ diff --git a/content/public/android/java/src/org/chromium/content/browser/frameh
diff --git a/content/renderer/render_thread_impl.cc b/content/renderer/render_thread_impl.cc
--- a/content/renderer/render_thread_impl.cc
+++ b/content/renderer/render_thread_impl.cc
@@ -859,7 +859,6 @@ void RenderThreadImpl::InitializeRenderer(
@@ -858,7 +858,6 @@ void RenderThreadImpl::InitializeRenderer(
uint64_t trace_id) {
TRACE_EVENT("navigation", "RenderThreadImpl::InitializeRenderer",
perfetto::TerminatingFlow::Global(trace_id));