[REBASE] Patches for 131 (need revision)

This commit is contained in:
Carmelo Messina
2024-11-12 10:01:56 +01:00
parent d01e7617f0
commit 50c520687c
9 changed files with 434 additions and 497 deletions
@@ -22,7 +22,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
base/android/android_image_reader_compat.cc | 16 ++++++++++++++++
base/android/android_image_reader_compat.h | 14 ++++++++++++++
chrome/browser/flag-metadata.json | 6 +++---
chrome/browser/flag-metadata.json | 4 ++++
.../AImageReader-CFI-crash-mitigations.inc | 4 ++++
.../AImageReader-CFI-crash-mitigations.inc | 1 +
gpu/config/gpu_driver_bug_list.json | 16 ++++++++++++++++
@@ -31,8 +31,8 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
gpu/config/gpu_util.cc | 8 ++++++++
gpu/config/gpu_workaround_list.txt | 1 +
gpu/ipc/service/gpu_init.cc | 8 ++++++++
gpu/ipc/service/stream_texture_android.cc | 11 ++++++++++-
12 files changed, 87 insertions(+), 4 deletions(-)
gpu/ipc/service/stream_texture_android.cc | 10 +++++++++-
12 files changed, 87 insertions(+), 1 deletion(-)
create mode 100644 cromite_flags/media/base/media_switches_cc/AImageReader-CFI-crash-mitigations.inc
create mode 100644 cromite_flags/media/base/media_switches_h/AImageReader-CFI-crash-mitigations.inc
@@ -90,13 +90,11 @@ diff --git a/base/android/android_image_reader_compat.h b/base/android/android_i
diff --git a/chrome/browser/flag-metadata.json b/chrome/browser/flag-metadata.json
--- a/chrome/browser/flag-metadata.json
+++ b/chrome/browser/flag-metadata.json
@@ -3430,9 +3430,9 @@
@@ -3401,6 +3401,10 @@
"name": "enable-identity-in-auth-error",
"owners": [ "jlebel@chromium.org", "chrome-signin-team@google.com" ],
"expiry_milestone": 135
},
{
- "name": "enable-image-reader",
- "owners": [ "vikassoni@chromium.org", "liberato@chromium.org" ],
- "expiry_milestone": 125
+ },{
+ "name": "enable-image-reader", // Bromite: do not expire
+ "owners": [ "vikassoni@chromium.org", "liberato@chromium.org" ], // flag
+ "expiry_milestone": -1
@@ -234,19 +232,11 @@ diff --git a/gpu/ipc/service/gpu_init.cc b/gpu/ipc/service/gpu_init.cc
diff --git a/gpu/ipc/service/stream_texture_android.cc b/gpu/ipc/service/stream_texture_android.cc
--- a/gpu/ipc/service/stream_texture_android.cc
+++ b/gpu/ipc/service/stream_texture_android.cc
@@ -6,6 +6,7 @@
#include <string.h>
+#include "base/android/android_image_reader_compat.h"
#include "base/android/scoped_hardware_buffer_fence_sync.h"
#include "base/feature_list.h"
#include "base/functional/bind.h"
@@ -49,7 +50,15 @@ std::unique_ptr<ui::ScopedMakeCurrent> MakeCurrent(
@@ -50,7 +50,15 @@ std::unique_ptr<ui::ScopedMakeCurrent> MakeCurrent(
}
TextureOwner::Mode GetTextureOwnerMode() {
- return features::IsAImageReaderEnabled()
- return base::android::EnableAndroidImageReader()
+ const bool a_image_reader_supported =
+ base::android::AndroidImageReader::GetInstance().IsSupported();
+
@@ -254,7 +244,7 @@ diff --git a/gpu/ipc/service/stream_texture_android.cc b/gpu/ipc/service/stream_
+ // AImageReader - one for MCVD and other for MediaPlayer here. Merge those 2
+ // flags into a single flag. Keeping the 2 flags separate for now since finch
+ // experiment using this flag is in progress.
+ return a_image_reader_supported && features::IsAImageReaderEnabled() &&
+ return a_image_reader_supported && base::android::EnableAndroidImageReader() &&
+ base::FeatureList::IsEnabled(features::kAImageReaderMediaPlayer)
? TextureOwner::Mode::kAImageReaderInsecure
: TextureOwner::Mode::kSurfaceTextureInsecure;
+272 -316
View File
@@ -15,7 +15,6 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
---
base/BUILD.gn | 4 +-
base/android/feature_map.cc | 5 +
.../base/cached_flags/CachedFlag.java | 8 +-
base/feature_list.cc | 76 ++++++++
base/feature_list.h | 72 +++++++-
build/android/gyp/java_cpp_features.py | 17 ++
@@ -44,14 +43,17 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
.../res/xml/accessibility_preferences.xml | 3 +-
.../android/java/res/values/attrs.xml | 4 +
.../settings/ChromeSwitchPreference.java | 20 +++
.../components/cached_flags/CachedFlag.java | 8 +-
components/components_strings.grd | 1 +
.../content_settings/core/common/features.cc | 1 +
.../placeholder.txt | 1 +
components/flags_ui/flags_state.cc | 54 ++++++
components/flags_ui/resources/app.html | 40 +++++
components/flags_ui/resources/app.ts | 41 ++++-
components/flags_ui/resources/experiment.html | 7 +-
components/flags_ui/resources/experiment.ts | 16 ++
components/flags_ui/resources/app.css | 24 +++
components/flags_ui/resources/app.html.ts | 28 +++
components/flags_ui/resources/app.ts | 23 +++
components/flags_ui/resources/experiment.css | 7 +-
.../flags_ui/resources/experiment.html.ts | 7 +-
components/flags_ui/resources/experiment.ts | 9 +-
.../flags_ui/resources/flags_browser_proxy.ts | 5 +
.../core/offline_page_feature.cc | 1 +
.../offline_pages/core/offline_page_feature.h | 1 +
@@ -97,7 +99,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 +
84 files changed, 787 insertions(+), 22 deletions(-)
86 files changed, 781 insertions(+), 22 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
@@ -142,7 +144,7 @@ diff --git a/base/BUILD.gn b/base/BUILD.gn
sources = [
"allocator/allocator_check.cc",
"allocator/allocator_check.h",
@@ -1029,7 +1031,7 @@ component("base") {
@@ -1025,7 +1027,7 @@ component("base") {
"//build/config/compiler:wglobal_constructors",
]
@@ -154,7 +156,7 @@ diff --git a/base/BUILD.gn b/base/BUILD.gn
diff --git a/base/android/feature_map.cc b/base/android/feature_map.cc
--- a/base/android/feature_map.cc
+++ b/base/android/feature_map.cc
@@ -45,6 +45,11 @@ const Feature* FeatureMap::FindFeatureExposedToJava(
@@ -46,6 +46,11 @@ const Feature* FeatureMap::FindFeatureExposedToJava(
static jboolean JNI_FeatureMap_IsEnabled(JNIEnv* env,
jlong jfeature_map,
std::string& feature_name) {
@@ -166,35 +168,10 @@ diff --git a/base/android/feature_map.cc b/base/android/feature_map.cc
FeatureMap* feature_map = reinterpret_cast<FeatureMap*>(jfeature_map);
const base::Feature* feature =
feature_map->FindFeatureExposedToJava(feature_name);
diff --git a/base/android/java/src/org/chromium/base/cached_flags/CachedFlag.java b/base/android/java/src/org/chromium/base/cached_flags/CachedFlag.java
--- a/base/android/java/src/org/chromium/base/cached_flags/CachedFlag.java
+++ b/base/android/java/src/org/chromium/base/cached_flags/CachedFlag.java
@@ -142,7 +142,7 @@ public class CachedFlag extends Flag {
editor.putBoolean(getSharedPreferenceKey(), isEnabledInNative);
}
- String getSharedPreferenceKey() {
+ public String getSharedPreferenceKey() {
// Create the key only once to avoid String concatenation every flag check.
if (mPreferenceKey == null) {
mPreferenceKey = CachedFlagsSharedPreferences.FLAGS_CACHED.createKey(mFeatureName);
@@ -169,6 +169,12 @@ public class CachedFlag extends Flag {
}
}
+ public void setValueReturnedOverride(@Nullable Boolean value) {
+ synchronized (ValuesReturned.sBoolValues) {
+ ValuesReturned.sBoolValues.put(getSharedPreferenceKey(), value);
+ }
+ }
+
/** Create a Map of feature names -> {@link CachedFlag} from multiple lists of CachedFlags. */
public static Map<String, CachedFlag> createCachedFlagMap(
List<List<CachedFlag>> allCachedFlagsLists) {
diff --git a/base/feature_list.cc b/base/feature_list.cc
--- a/base/feature_list.cc
+++ b/base/feature_list.cc
@@ -43,6 +43,31 @@
@@ -42,6 +42,31 @@
namespace base {
@@ -226,7 +203,7 @@ diff --git a/base/feature_list.cc b/base/feature_list.cc
namespace {
// Pointer to the FeatureList instance singleton that was set via
@@ -470,6 +495,46 @@ bool FeatureList::IsEnabled(const Feature& feature) {
@@ -469,6 +494,46 @@ bool FeatureList::IsEnabled(const Feature& feature) {
return g_feature_list_instance->IsFeatureEnabled(feature);
}
@@ -273,7 +250,7 @@ diff --git a/base/feature_list.cc b/base/feature_list.cc
// static
bool FeatureList::IsValidFeatureOrFieldTrialName(std::string_view name) {
return IsStringASCII(name) && name.find_first_of(",<*") == std::string::npos;
@@ -716,6 +781,17 @@ void FeatureList::VisitFeaturesAndParams(FeatureVisitor& visitor) {
@@ -739,6 +804,17 @@ void FeatureList::VisitFeaturesAndParams(FeatureVisitor& visitor,
void FeatureList::FinalizeInitialization() {
DCHECK(!initialized_);
@@ -294,7 +271,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
@@ -170,8 +170,10 @@ enum class FeatureMacroHandshake { kSecret };
@@ -166,8 +166,10 @@ enum class FeatureMacroHandshake { kSecret };
struct BASE_EXPORT LOGICALLY_CONST Feature {
constexpr Feature(const char* name,
FeatureState default_state,
@@ -307,7 +284,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) {
@@ -198,6 +200,9 @@ struct BASE_EXPORT LOGICALLY_CONST Feature {
@@ -194,6 +196,9 @@ struct BASE_EXPORT LOGICALLY_CONST Feature {
// command line switch.
const FeatureState default_state;
@@ -317,7 +294,7 @@ diff --git a/base/feature_list.h b/base/feature_list.h
private:
friend class FeatureList;
@@ -473,6 +478,11 @@ class BASE_EXPORT FeatureList {
@@ -469,6 +474,11 @@ class BASE_EXPORT FeatureList {
// instance, which is checked in builds with DCHECKs enabled.
static bool IsEnabled(const Feature& feature);
@@ -329,7 +306,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
@@ -738,4 +748,62 @@ class BASE_EXPORT FeatureList {
@@ -734,4 +744,62 @@ class BASE_EXPORT FeatureList {
} // namespace base
@@ -456,21 +433,21 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/accessibility/s
@@ -18,6 +18,7 @@ import org.chromium.chrome.R;
import org.chromium.chrome.browser.image_descriptions.ImageDescriptionsController;
import org.chromium.chrome.browser.preferences.Pref;
import org.chromium.chrome.browser.settings.SettingsLauncherFactory;
import org.chromium.chrome.browser.settings.SettingsNavigationFactory;
+import org.chromium.chrome.browser.settings.ChromeBaseSettingsFragment;
import org.chromium.components.browser_ui.accessibility.AccessibilitySettingsDelegate;
import org.chromium.components.browser_ui.accessibility.FontSizePrefs;
import org.chromium.components.browser_ui.accessibility.FontSizePrefs.FontSizePrefsObserver;
@@ -36,7 +37,7 @@ import org.chromium.content_public.browser.ContentFeatureList;
@@ -37,7 +38,7 @@ import org.chromium.content_public.browser.ContentFeatureList;
import org.chromium.content_public.browser.ContentFeatureMap;
/** Fragment to keep track of all the accessibility related preferences. */
-public class AccessibilitySettings extends PreferenceFragmentCompat
+public class AccessibilitySettings extends ChromeBaseSettingsFragment
implements SettingsPage, Preference.OnPreferenceChangeListener {
implements EmbeddableSettingsPage, Preference.OnPreferenceChangeListener {
public static final String PREF_TEXT_SCALE = "text_scale";
public static final String PREF_PAGE_ZOOM_DEFAULT_ZOOM = "page_zoom_default_zoom";
@@ -99,7 +100,7 @@ public class AccessibilitySettings extends PreferenceFragmentCompat
@@ -101,7 +102,7 @@ public class AccessibilitySettings extends PreferenceFragmentCompat
}
@Override
@@ -494,7 +471,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/homepage/settin
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
@@ -79,7 +79,7 @@ public class PrivacySettings extends ChromeBaseSettingsFragment
@@ -80,7 +80,7 @@ public class PrivacySettings extends ChromeBaseSettingsFragment
private final ObservableSupplierImpl<String> mPageTitle = new ObservableSupplierImpl<>();
@Override
@@ -559,8 +536,8 @@ 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;
@@ -31,7 +32,9 @@ import org.chromium.base.BuildInfo;
import org.chromium.base.Callback;
@@ -32,7 +33,9 @@ import org.chromium.base.Callback;
import org.chromium.base.CallbackUtils;
import org.chromium.base.Log;
import org.chromium.base.metrics.RecordHistogram;
+import org.chromium.base.supplier.Supplier;
@@ -569,7 +546,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/Settin
import org.chromium.base.supplier.OneshotSupplierImpl;
import org.chromium.chrome.R;
import org.chromium.chrome.browser.ChromeBaseAppCompatActivity;
@@ -40,12 +43,14 @@ import org.chromium.chrome.browser.back_press.SecondaryActivityBackPressUma.Seco
@@ -41,12 +44,14 @@ import org.chromium.chrome.browser.back_press.SecondaryActivityBackPressUma.Seco
import org.chromium.chrome.browser.feedback.HelpAndFeedbackLauncherImpl;
import org.chromium.chrome.browser.flags.ChromeFeatureList;
import org.chromium.chrome.browser.init.ChromeBrowserInitializer;
@@ -584,7 +561,7 @@ 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;
@@ -82,6 +87,40 @@ import java.util.Locale;
@@ -83,6 +88,40 @@ import java.util.Locale;
*/
public class SettingsActivity extends ChromeBaseAppCompatActivity
implements PreferenceFragmentCompat.OnPreferenceStartFragmentCallback, SnackbarManageable {
@@ -625,7 +602,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";
@@ -135,7 +174,8 @@ public class SettingsActivity extends ChromeBaseAppCompatActivity
@@ -141,7 +180,8 @@ public class SettingsActivity extends ChromeBaseAppCompatActivity
mProfile,
mSnackbarManagerSupplier,
mBottomSheetControllerSupplier,
@@ -638,7 +615,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/Settin
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
@@ -380,6 +380,10 @@ using flags_ui::kOsLinux;
@@ -388,6 +388,10 @@ using flags_ui::kOsLinux;
using flags_ui::kOsMac;
using flags_ui::kOsWin;
@@ -649,7 +626,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
namespace about_flags {
namespace {
@@ -4207,6 +4211,10 @@ const FeatureEntry::FeatureVariation
@@ -4210,6 +4214,10 @@ const FeatureEntry::FeatureVariation
1, nullptr},
};
@@ -660,7 +637,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.
@@ -4233,6 +4241,9 @@ const FeatureEntry::FeatureVariation
@@ -4236,6 +4244,9 @@ const FeatureEntry::FeatureVariation
const FeatureEntry kFeatureEntries[] = {
// Include generated flags for flag unexpiry; see //docs/flag_expiry.md and
// //tools/flags/generate_unexpire_flags.py.
@@ -673,7 +650,7 @@ 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
@@ -450,4 +450,5 @@ BASE_FEATURE(kRemovalOfIWAsFromTabCapture,
@@ -392,4 +392,5 @@ BASE_FEATURE(kRemovalOfIWAsFromTabCapture,
"RemovalOfIWAsFromTabCapture",
base::FEATURE_ENABLED_BY_DEFAULT);
@@ -689,7 +666,7 @@ diff --git a/chrome/browser/flags/BUILD.gn b/chrome/browser/flags/BUILD.gn
+ sources += [
+ "android/java/src/org/chromium/chrome/browser/flags/cromite/include_all_directory.java",
+ ]
public_deps = [ "//base:base_cached_flags_java" ]
public_deps = [ "//components/cached_flags:java" ]
deps = [
+ ":java_cromite_cached_flags",
"//base:base_java",
@@ -721,7 +698,7 @@ 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
@@ -1074,5 +1074,6 @@ BASE_FEATURE(kWebApkAllowIconUpdate,
@@ -1095,5 +1095,6 @@ BASE_FEATURE(kWebApkAllowIconUpdate,
"WebApkAllowIconUpdate",
base::FEATURE_DISABLED_BY_DEFAULT);
@@ -731,7 +708,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
@@ -214,6 +214,7 @@ constexpr base::FeatureParam<std::string> kQuickDeleteAndroidSurveyTriggerId(
@@ -222,6 +222,7 @@ constexpr base::FeatureParam<std::string> kQuickDeleteAndroidSurveyTriggerId(
"trigger_id",
/*default_value=*/"");
@@ -742,9 +719,9 @@ diff --git a/chrome/browser/flags/android/chrome_feature_list.h b/chrome/browser
diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
--- a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
+++ b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
@@ -16,6 +16,10 @@ import org.chromium.base.cached_flags.DoubleCachedFieldTrialParameter;
import org.chromium.base.cached_flags.IntCachedFieldTrialParameter;
import org.chromium.base.cached_flags.StringCachedFieldTrialParameter;
@@ -18,6 +18,10 @@ import org.chromium.components.cached_flags.DoubleCachedFieldTrialParameter;
import org.chromium.components.cached_flags.IntCachedFieldTrialParameter;
import org.chromium.components.cached_flags.StringCachedFieldTrialParameter;
+import org.chromium.chrome.browser.flags.cromite.CromiteCachedFlagImplBase;
+import java.util.Arrays;
@@ -753,7 +730,7 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f
import java.util.List;
import java.util.Map;
@@ -732,7 +736,7 @@ public abstract class ChromeFeatureList {
@@ -765,7 +769,7 @@ public abstract class ChromeFeatureList {
public static final CachedFlag sWebApkMinShellApkVersion =
newCachedFlag(WEB_APK_MIN_SHELL_APK_VERSION, true);
@@ -762,8 +739,8 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f
List.of(
sAccountReauthenticationRecentTimeWindow,
sAndroidAppIntegration,
@@ -828,6 +832,13 @@ public abstract class ChromeFeatureList {
sVerticalAutomotiveBackButtonToolbar,
@@ -866,6 +870,13 @@ public abstract class ChromeFeatureList {
sUseLibunwindstackNativeUnwinderAndroid,
sWebApkMinShellApkVersion);
+ private static <T> List<T> concatenateLists(List<T>... collections) {
@@ -856,7 +833,7 @@ 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.profiles.Profile;
import org.chromium.components.browser_ui.settings.SettingsPage;
import org.chromium.components.browser_ui.settings.EmbeddableSettingsPage;
+import android.os.Bundle;
+import androidx.preference.Preference;
@@ -868,7 +845,7 @@ diff --git a/chrome/browser/settings/android/java/src/org/chromium/chrome/browse
* Base class for settings in Chrome.
*
@@ -22,6 +29,49 @@ public abstract class ChromeBaseSettingsFragment extends PreferenceFragmentCompa
implements SettingsPage, ProfileDependentSetting {
implements EmbeddableSettingsPage, ProfileDependentSetting {
private Profile mProfile;
+ private Supplier<ChromeBaseSettingsFragment.RequireRestartDelegate> mRequireRestartDelegateSupplier;
@@ -951,7 +928,7 @@ 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
@@ -486,4 +486,5 @@ BASE_FEATURE(kPageSpecificDataDialogRelatedInstalledAppsSection,
@@ -458,4 +458,5 @@ BASE_FEATURE(kPageSpecificDataDialogRelatedInstalledAppsSection,
"PageSpecificDataDialogRelatedInstalledAppsSection",
base::FEATURE_DISABLED_BY_DEFAULT);
@@ -960,7 +937,7 @@ diff --git a/chrome/browser/ui/ui_features.cc b/chrome/browser/ui/ui_features.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
@@ -1756,4 +1756,5 @@ BASE_FEATURE(kPeriodicLogUploadMigration,
@@ -1737,4 +1737,5 @@ BASE_FEATURE(kPeriodicLogUploadMigration,
base::FEATURE_DISABLED_BY_DEFAULT);
#endif // BUILDFLAG(IS_CHROMEOS_ASH)
@@ -1037,6 +1014,31 @@ diff --git a/components/browser_ui/settings/android/widget/java/src/org/chromium
}
/**
diff --git a/components/cached_flags/android/java/src/org/chromium/components/cached_flags/CachedFlag.java b/components/cached_flags/android/java/src/org/chromium/components/cached_flags/CachedFlag.java
--- a/components/cached_flags/android/java/src/org/chromium/components/cached_flags/CachedFlag.java
+++ b/components/cached_flags/android/java/src/org/chromium/components/cached_flags/CachedFlag.java
@@ -147,7 +147,7 @@ public class CachedFlag extends Flag {
editor.putBoolean(getSharedPreferenceKey(), isEnabledInNative);
}
- String getSharedPreferenceKey() {
+ public String getSharedPreferenceKey() {
// Create the key only once to avoid String concatenation every flag check.
if (mPreferenceKey == null) {
mPreferenceKey = CachedFlagsSharedPreferences.FLAGS_CACHED.createKey(mFeatureName);
@@ -155,6 +155,12 @@ public class CachedFlag extends Flag {
return mPreferenceKey;
}
+ public void setValueReturnedOverride(@Nullable Boolean value) {
+ synchronized (ValuesReturned.sBoolValues) {
+ ValuesReturned.sBoolValues.put(getSharedPreferenceKey(), value);
+ }
+ }
+
/** Create a Map of feature names -> {@link CachedFlag} from multiple lists of CachedFlags. */
public static Map<String, CachedFlag> createCachedFlagMap(
List<List<CachedFlag>> allCachedFlagsLists) {
diff --git a/components/components_strings.grd b/components/components_strings.grd
--- a/components/components_strings.grd
+++ b/components/components_strings.grd
@@ -1051,7 +1053,7 @@ 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
@@ -109,5 +109,6 @@ BASE_FEATURE(kContentSettingsPartitioning,
@@ -113,5 +113,6 @@ BASE_FEATURE(kContentSettingsPartitioning,
"ContentSettingsPartitioning",
base::FEATURE_DISABLED_BY_DEFAULT);
@@ -1149,101 +1151,141 @@ diff --git a/components/flags_ui/flags_state.cc b/components/flags_ui/flags_stat
for (const auto& entry : feature_entries_) {
DCHECK(entry.IsValid());
if (!(entry.supported_platforms & platform_mask))
diff --git a/components/flags_ui/resources/app.html b/components/flags_ui/resources/app.html
--- a/components/flags_ui/resources/app.html
+++ b/components/flags_ui/resources/app.html
@@ -473,7 +473,32 @@
padding-top: 1.5rem;
}
diff --git a/components/flags_ui/resources/app.css b/components/flags_ui/resources/app.css
--- a/components/flags_ui/resources/app.css
+++ b/components/flags_ui/resources/app.css
@@ -383,3 +383,27 @@ cr-tabs {
padding-top: 1.5rem;
}
+ #appcontainer {
+ overflow-y: scroll;
+ }
+ .cromite #header {
+ display: none;
+ }
+ .cromite .blurb-container {
+ display: none;
+ }
+ .cromite #tabs {
+ display: none;
+ }
+ .cromite #tab-content-available {
+ display: none;
+ }
+ .cromite #tab-content-unavailable {
+ display: none;
+ }
+ .cromite #tab-content-cromite {
+ display: block !important;
+ }
+ .cromite .section-header-title {
+ display: none;
+ }
</style>
}
+#appcontainer {
+ overflow-y: scroll;
+}
+.cromite #header {
+ display: none;
+}
+.cromite .blurb-container {
+ display: none;
+}
+.cromite #tabs {
+ display: none;
+}
+.cromite #tab-content-available {
+ display: none;
+}
+.cromite #tab-content-unavailable {
+ display: none;
+}
+.cromite #tab-content-cromite {
+ display: block !important;
+}
+.cromite .section-header-title {
+ display: none;
+}
diff --git a/components/flags_ui/resources/app.html.ts b/components/flags_ui/resources/app.html.ts
--- a/components/flags_ui/resources/app.html.ts
+++ b/components/flags_ui/resources/app.html.ts
@@ -9,6 +9,7 @@ import type {AppElement} from './app.js';
export function getHtml(this: AppElement) {
// clang-format off
return html`<!--_html_template_start_-->
+<div id="appcontainer">
<div id="header">
<div class="flex-container">
<div class="flex search-container">
@@ -540,6 +565,11 @@
$i18n{unavailable}
</a>
</if>
+ <a href="#tab-content-cromite" id="tab-cromite" class="tab"
+ role="tab"
+ aria-selected="true"
+ aria-controls="panel1"
+ tabindex="5">Cromite</a>
</div>
<div id="tabpanels">
<div id="tab-content-available" class="tab-content selected"
@@ -559,6 +589,14 @@
</div>
@@ -120,6 +121,32 @@ export function getHtml(this: AppElement) {
<div class="no-match" role="alert" hidden>$i18n{no-results}</div>
</div>
</if>
+ <div id="tab-content-cromite" class="tab-content"
+ role="tabpanel" aria-labelledby="tab-cromite" aria-hidden="false">
+ ?selected="${this.isTabSelected_(2)}"
+ role="tabpanel" aria-labelledby="tab-cromite" aria-hidden="false">
+
+ <!-- Non default experiments. -->
+ <div id="non-default-cromite-experiments"></div>
+ <div id="non-default-cromite-experiments">
+ ${this.nonDefaultCromiteFeatures.map(feature => html`
+ <flags-experiment id="${feature.internal_name}" .data="${feature}"
+ @select-change="${this.onSelectChange_}"
+ @textarea-change="${this.onTextareaChange_}"
+ @input-change="${this.onInputChange_}">
+ </flags-experiment>
+ `)}
+ </div>
+ <!-- Experiments with default settings. -->
+ <div id="cromite-experiments"></div>
+ <div class="no-match hidden" role="alert">$i18n{no-results}</div>
+ <div id="cromite-experiments">
+ ${this.defaultCromiteFeatures.map(feature => html`
+ <flags-experiment id="${feature.internal_name}" .data="${feature}"
+ @select-change="${this.onSelectChange_}"
+ @textarea-change="${this.onTextareaChange_}"
+ @input-change="${this.onInputChange_}">
+ </flags-experiment>
+ `)}
+ </div>
+ <div class="no-match" role="alert" hidden>$i18n{no-results}</div>
+ </div>
</div>
<div id="needs-restart">
<div class="flex-container">
@@ -574,3 +612,5 @@
@@ -138,6 +165,7 @@ export function getHtml(this: AppElement) {
</div>
</div>
</div>
+
+</div>
<!--_html_template_end_-->`;
// clang-format on
}
diff --git a/components/flags_ui/resources/app.ts b/components/flags_ui/resources/app.ts
--- a/components/flags_ui/resources/app.ts
+++ b/components/flags_ui/resources/app.ts
@@ -194,6 +194,7 @@ export class FlagsAppElement extends CustomElement {
return getTemplate();
}
@@ -128,6 +128,7 @@ export class FlagsAppElement extends CrLitElement {
// <if expr="not is_ios">
loadTimeData.getString('unavailable'),
// </if>
+ "Cromite",
];
protected selectedTabIndex_: number = 0;
@@ -149,8 +150,11 @@ export class FlagsAppElement extends CrLitElement {
protected defaultFeatures: Feature[] = [];
protected nonDefaultFeatures: Feature[] = [];
+ protected defaultCromiteFeatures: Feature[] = [];
+ protected nonDefaultCromiteFeatures: Feature[] = [];
protected searching: boolean = false;
+ private onlyCromiteFlags: boolean = false;
private announceStatusDelayMs: number = 100;
private featuresResolver: PromiseResolver<void> = new PromiseResolver();
private flagSearch: FlagSearch = new FlagSearch(this);
@@ -209,6 +210,10 @@ export class FlagsAppElement extends CustomElement {
// </if>
private flagSearch: FlagSearch|null = null;
@@ -184,10 +188,24 @@ export class FlagsAppElement extends CrLitElement {
if (changedPrivateProperties.has('data')) {
const defaultFeatures: Feature[] = [];
const nonDefaultFeatures: Feature[] = [];
+ const defaultCromiteFeatures: Feature[] = [];
+ const nonDefaultCromiteFeatures: Feature[] = [];
tabs: Tab[] = [
+ {
+ tabEl: this.getRequiredElement('#tab-cromite')!,
+ panelEl: this.getRequiredElement('#tab-content-cromite')!,
+ },
{
tabEl: this.getRequiredElement('#tab-available'),
panelEl: this.getRequiredElement('#tab-content-available'),
@@ -222,6 +227,11 @@ export class FlagsAppElement extends CustomElement {
];
+ if (this.onlyCromiteFlags) {
+ this.data.supportedFeatures =
+ this.data.supportedFeatures.filter(item => item.is_new);
+ }
+ this.data.supportedFeatures.forEach(
+ f => (f.is_cromite
+ ? (f.is_default ? defaultCromiteFeatures : nonDefaultCromiteFeatures).push(f)
+ : undefined));
+ this.data.supportedFeatures.sort(
+ (a,b) => (a.internal_name.localeCompare(b.internal_name)));
this.data.supportedFeatures.forEach(
f => (f.is_default ? defaultFeatures : nonDefaultFeatures).push(f));
+ this.defaultCromiteFeatures = defaultCromiteFeatures;
+ this.nonDefaultCromiteFeatures = nonDefaultCromiteFeatures;
this.defaultFeatures = defaultFeatures;
this.nonDefaultFeatures = nonDefaultFeatures;
}
@@ -228,6 +246,11 @@ export class FlagsAppElement extends CrLitElement {
override connectedCallback() {
super.connectedCallback();
connectedCallback() {
+ if (location.pathname == '/cromite') {
+ this.onlyCromiteFlags = true;
+ this.getRequiredElement("#appcontainer").classList.add('cromite');
@@ -1252,169 +1294,83 @@ diff --git a/components/flags_ui/resources/app.ts b/components/flags_ui/resource
// <if expr="not is_ios">
const pathname = new URL(window.location.href).pathname;
this.isFlagsDeprecatedUrl_ =
@@ -306,20 +316,29 @@ export class FlagsAppElement extends CustomElement {
const defaultFeatures: Feature[] = [];
const nonDefaultFeatures: Feature[] = [];
diff --git a/components/flags_ui/resources/experiment.css b/components/flags_ui/resources/experiment.css
--- a/components/flags_ui/resources/experiment.css
+++ b/components/flags_ui/resources/experiment.css
@@ -79,6 +79,11 @@
resize: none;
}
+ if (this.onlyCromiteFlags) {
+ experimentalFeaturesData.supportedFeatures =
+ experimentalFeaturesData.supportedFeatures.filter(item => item.is_new);
+ }
+ experimentalFeaturesData.supportedFeatures.sort(
+ (a,b) => (a.internal_name.localeCompare(b.internal_name)));
experimentalFeaturesData.supportedFeatures.forEach(
f => (f.is_default ? defaultFeatures : nonDefaultFeatures).push(f));
this.renderExperiments(
nonDefaultFeatures,
- this.getRequiredElement('#non-default-experiments'));
+ this.getRequiredElement('#non-default-experiments'),
+ this.getRequiredElement('#non-default-cromite-experiments'), false);
this.renderExperiments(
- defaultFeatures, this.getRequiredElement('#default-experiments'));
+ defaultFeatures, this.getRequiredElement('#default-experiments'),
+ this.getRequiredElement('#cromite-experiments'), false);
// <if expr="not is_ios">
this.renderExperiments(
experimentalFeaturesData.unsupportedFeatures,
- this.getRequiredElement('#unavailable-experiments'), true);
+ this.getRequiredElement('#unavailable-experiments'),
+ undefined, true);
// </if>
this.showRestartToast(experimentalFeaturesData.needsRestart);
@@ -438,16 +457,23 @@ export class FlagsAppElement extends CustomElement {
}
private renderExperiments(
- features: Feature[], container: HTMLElement, unsupported = false) {
+ features: Feature[], container: HTMLElement,
+ cromiteContainer: HTMLElement | undefined, unsupported: boolean = false) {
const fragment = document.createDocumentFragment();
+ const fragmentCromite = document.createDocumentFragment();
+ const show_permalink = !document.body.classList.contains('cromite');
for (const feature of features) {
const experiment = document.createElement('flags-experiment');
experiment.toggleAttribute('unsupported', unsupported);
+ experiment.permalink = show_permalink;
experiment.data = feature;
experiment.id = feature.internal_name;
const select = experiment.getSelect();
+ // if (select && feature.is_cromite && !feature.is_new) {
+ // select.disabled = true;
+ // }
if (select) {
experiment.addEventListener('select-change', e => {
e.preventDefault();
@@ -471,9 +497,14 @@ export class FlagsAppElement extends CustomElement {
this.showRestartToast(true);
});
}
- fragment.appendChild(experiment);
+ if (feature.is_cromite)
+ fragmentCromite.appendChild(experiment);
+ else
+ fragment.appendChild(experiment);
}
container.replaceChildren(fragment);
+ if (!!cromiteContainer)
+ cromiteContainer.replaceChildren(fragmentCromite);
}
/**
diff --git a/components/flags_ui/resources/experiment.html b/components/flags_ui/resources/experiment.html
--- a/components/flags_ui/resources/experiment.html
+++ b/components/flags_ui/resources/experiment.html
@@ -119,6 +119,11 @@
color: white;
}
+ .experiment-on select {
+ background: #dddddd;
+ color: var(--link-color);
+ }
+.experiment-on select {
+ background: #dddddd;
+ color: var(--link-color);
+}
+
.experiment-switched option {
background: white;
color: var(--link-color);
@@ -164,7 +169,6 @@
.experiment .experiment-actions {
max-width: 100%;
padding-top: 12px;
- text-align: left; /* csschecker-disable-line left-right */
width: 100%;
}
select {
background: white;
border: 1px solid var(--link-color);
@@ -172,7 +177,6 @@ input {
.experiment .experiment-actions {
max-width: 100%;
padding-top: 12px;
- text-align: left; /* csschecker-disable-line left-right */
width: 100%;
}
@@ -172,7 +176,6 @@
.body {
overflow: hidden;
text-overflow: ellipsis;
- white-space: nowrap;
width: 100%;
}
@@ -180,7 +184,6 @@ input {
.body {
overflow: hidden;
text-overflow: ellipsis;
- white-space: nowrap;
width: 100%;
}
diff --git a/components/flags_ui/resources/experiment.html.ts b/components/flags_ui/resources/experiment.html.ts
--- a/components/flags_ui/resources/experiment.html.ts
+++ b/components/flags_ui/resources/experiment.html.ts
@@ -10,7 +10,8 @@ export function getHtml(this: ExperimentElement) {
// clang-format off
return html`<!--_html_template_start_-->
<div class="experiment" id="${this.feature_.internal_name}">
- <div class="flex-container">
+ <div class="flex-container" class="${(this.feature_.is_cromite && this.feature_.is_new ? "cromite " : "")
+ + (this.feature_.is_default_value_on ? "experiment-on" : "")}">
<div class="flex">
${this.showingSearchHit_? html`
<h2 class="experiment-name clone" id="${this.getHeaderId_()}"
@@ -86,7 +87,9 @@ export function getHtml(this: ExperimentElement) {
@change="${this.onExperimentSelectChange_}">
${this.feature_.options!.map(option => html`
<option ?selected="${option.selected}">
- ${option.description}
+ ${option.description == "Default" && this.feature_.default_value !== undefined
+ ? option.description + " (" + this.feature_.default_value + ")"
+ : option.description}
</option>
`)}
</select>
diff --git a/components/flags_ui/resources/experiment.ts b/components/flags_ui/resources/experiment.ts
--- a/components/flags_ui/resources/experiment.ts
+++ b/components/flags_ui/resources/experiment.ts
@@ -61,11 +61,16 @@ function resetHighlights(element: HTMLElement) {
export class FlagsExperimentElement extends CustomElement {
private feature_: Feature|null = null;
+ private permalink_: boolean = true;
static override get template() {
return getTemplate();
@@ -127,12 +127,15 @@ export class ExperimentElement extends CrLitElement {
}
+ set permalink(visible: boolean) {
+ this.permalink_ = visible;
+ }
+
set data(feature: Feature) {
this.feature_ = feature;
protected getExperimentTitle_(): string {
+ const suffix =
+ this.feature_.is_cromite && this.feature_.is_new
+ ? " (Cromite flag)" : "";
if (this.showEnableDisableSelect_()) {
- return this.isDefault_ ? '' :
- loadTimeData.getString('experiment-enabled');
+ return (this.isDefault_ ? '' :
+ loadTimeData.getString('experiment-enabled')) + suffix;
}
@@ -77,12 +82,18 @@ export class FlagsExperimentElement extends CustomElement {
'experiment-default', feature.is_default);
experimentDefault.classList.toggle(
'experiment-switched', !feature.is_default);
+ experimentDefault.classList.toggle(
+ 'cromite', feature.is_cromite && feature.is_new);
+ experimentDefault.classList.toggle(
+ 'experiment-on', !!feature.is_default_value_on);
const experimentName = this.getRequiredElement('.experiment-name');
experimentName.id = `${feature.internal_name}_name`;
experimentName.title =
feature.is_default ? '' : loadTimeData.getString('experiment-enabled');
experimentName.textContent = feature.name;
+ if (feature.is_cromite && feature.is_new)
+ experimentName.textContent += " (Cromite flag)"
const description = this.getRequiredElement('.description');
description.textContent = feature.description;
@@ -134,6 +145,7 @@ export class FlagsExperimentElement extends CustomElement {
const permalink = this.getRequiredElement<HTMLAnchorElement>('.permalink');
permalink.href = `#${feature.internal_name}`;
permalink.textContent = `#${feature.internal_name}`;
+ if (!this.permalink_) permalink.hidden = true;
const smallScreenCheck = window.matchMedia('(max-width: 480px)');
// Toggling of experiment description overflow content on smaller screens.
@@ -162,6 +174,10 @@ export class FlagsExperimentElement extends CustomElement {
const optionEl = document.createElement('option');
optionEl.selected = option.selected;
optionEl.textContent = option.description;
+ if (option.description == "Default" &&
+ feature.default_value !== undefined) {
+ optionEl.textContent += " (" + feature.default_value + ")";
+ }
experimentSelect.appendChild(optionEl);
}
- return '';
+ return suffix;
}
protected getPlatforms_(): string {
diff --git a/components/flags_ui/resources/flags_browser_proxy.ts b/components/flags_ui/resources/flags_browser_proxy.ts
--- a/components/flags_ui/resources/flags_browser_proxy.ts
+++ b/components/flags_ui/resources/flags_browser_proxy.ts
@@ -1453,7 +1409,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
@@ -169,4 +169,5 @@ BASE_FEATURE(kEncryptAllPasswordsWithOSCryptAsync,
@@ -181,4 +181,5 @@ BASE_FEATURE(kEncryptAllPasswordsWithOSCryptAsync,
"EncryptAllPasswordsWithOSCryptAsync",
base::FEATURE_DISABLED_BY_DEFAULT);
@@ -1462,10 +1418,10 @@ 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
@@ -154,6 +154,7 @@ BASE_FEATURE(kCpssQuietChipTextUpdate,
"CpssQuietChipTextUpdate",
@@ -153,6 +153,7 @@ BASE_FEATURE(kCpssQuietChipTextUpdate,
BASE_FEATURE(kCpssUseTfliteSignatureRunner,
"CpssUseTfliteSignatureRunner",
base::FEATURE_DISABLED_BY_DEFAULT);
+#include "cromite_flags/components_permissions_features_cc.inc"
} // namespace features
namespace feature_params {
@@ -1473,19 +1429,19 @@ diff --git a/components/permissions/features.cc b/components/permissions/feature
diff --git a/components/version_ui/version_handler_helper.cc b/components/version_ui/version_handler_helper.cc
--- a/components/version_ui/version_handler_helper.cc
+++ b/components/version_ui/version_handler_helper.cc
@@ -37,7 +37,7 @@ base::Value::List GetVariationsList() {
// displayed locally (and is useful for diagnostics purposes).
@@ -56,7 +56,7 @@ base::Value::List GetVariationsList() {
base::FieldTrialListIncludingLowAnonymity::GetActiveFieldTrialGroups(
&active_groups);
-#if !defined(NDEBUG)
+#if true
const unsigned char kNonBreakingHyphenUTF8[] = {0xE2, 0x80, 0x91, '\0'};
const std::string kNonBreakingHyphenUTF8String(
reinterpret_cast<const char*>(kNonBreakingHyphenUTF8));
for (const auto& group : active_groups) {
variations.push_back(GetActiveGroupNameAsString(group));
}
diff --git a/content/common/features.cc b/content/common/features.cc
--- a/content/common/features.cc
+++ b/content/common/features.cc
@@ -614,4 +614,5 @@ BASE_FEATURE(kScrollBubblingFix,
@@ -615,4 +615,5 @@ BASE_FEATURE(kLimitCrossOriginNonActivatedPaintHolding,
// Please keep features in alphabetical order.
@@ -1494,7 +1450,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
@@ -1422,4 +1422,5 @@ bool IsVideoCaptureServiceEnabledForBrowserProcess() {
@@ -1442,4 +1442,5 @@ bool IsVideoCaptureServiceEnabledForBrowserProcess() {
VideoCaptureServiceConfiguration::kEnabledForBrowserProcess;
}
@@ -1503,7 +1459,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
@@ -329,6 +329,7 @@ CONTENT_EXPORT extern const base::FeatureParam<CapturingState>
@@ -334,6 +334,7 @@ CONTENT_EXPORT extern const base::FeatureParam<CapturingState>
CONTENT_EXPORT bool IsVideoCaptureServiceEnabledForOutOfProcess();
CONTENT_EXPORT bool IsVideoCaptureServiceEnabledForBrowserProcess();
@@ -1837,7 +1793,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
@@ -1927,5 +1927,5 @@ uint32_t GetPassthroughAudioFormats() {
@@ -1906,5 +1906,5 @@ uint32_t GetPassthroughAudioFormats() {
return 0;
#endif // BUILDFLAG(ENABLE_PASSTHROUGH_AUDIO_CODECS)
}
@@ -1847,7 +1803,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
@@ -583,5 +583,5 @@ MEDIA_EXPORT OOPVDMode GetOutOfProcessVideoDecodingMode();
@@ -585,5 +585,5 @@ MEDIA_EXPORT OOPVDMode GetOutOfProcessVideoDecodingMode();
MEDIA_EXPORT uint32_t GetPassthroughAudioFormats();
} // namespace media
@@ -1857,18 +1813,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
@@ -596,4 +596,5 @@ BASE_FEATURE(kNoVarySearchIgnoreUnrecognizedKeys,
"NoVarySearchIgnoreUnrecognizedKeys",
base::FEATURE_ENABLED_BY_DEFAULT);
@@ -616,4 +616,5 @@ const base::FeatureParam<DiskCacheBackend> kDiskCacheBackendParam{
&kDiskCacheBackendExperiment, "backend", DiskCacheBackend::kBlockfile,
&kDiskCacheBackendOptions};
+#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
@@ -608,6 +608,7 @@ NET_EXPORT BASE_DECLARE_FEATURE(kKeepWhitespaceForDataUrls);
// Otherwise, unrecognized keys are treated as if the header was invalid.
NET_EXPORT BASE_DECLARE_FEATURE(kNoVarySearchIgnoreUnrecognizedKeys);
@@ -628,6 +628,7 @@ NET_EXPORT BASE_DECLARE_FEATURE(kDiskCacheBackendExperiment);
NET_EXPORT extern const base::FeatureParam<DiskCacheBackend>
kDiskCacheBackendParam;
+#include "cromite_flags/net_base_features_h.inc"
} // namespace net::features
@@ -1897,18 +1853,18 @@ 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
@@ -2735,4 +2735,5 @@ bool IsCanvasSharedBitmapConversionEnabled() {
features::kCanvasSharedBitmapToSharedImage);
}
@@ -2801,4 +2801,5 @@ bool IsCanvasSharedBitmapConversionEnabled() {
//
// DO NOT ADD NEW FEATURES HERE.
+#include "cromite_flags/third_party_blink_common_features_cc.inc"
} // namespace blink::features
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
@@ -1840,6 +1840,7 @@ BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(kOptimizeLoadingDataUrls);
BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(kCanvasSharedBitmapToSharedImage);
BLINK_COMMON_EXPORT bool IsCanvasSharedBitmapConversionEnabled();
@@ -1879,6 +1879,7 @@ BLINK_COMMON_EXPORT bool IsCanvasSharedBitmapConversionEnabled();
//
// DO NOT ADD NEW FEATURES HERE.
+#include "cromite_flags/third_party_blink_common_features_h.inc"
} // namespace features
@@ -1917,7 +1873,7 @@ 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
@@ -536,4 +536,5 @@ BASE_FEATURE(kAsyncFullscreenWindowState,
@@ -554,4 +554,5 @@ BASE_FEATURE(kAsyncFullscreenWindowState,
"AsyncFullscreenWindowState",
base::FEATURE_DISABLED_BY_DEFAULT);
@@ -1926,7 +1882,7 @@ diff --git a/ui/base/ui_base_features.cc b/ui/base/ui_base_features.cc
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
@@ -262,6 +262,7 @@ BASE_DECLARE_FEATURE(kUseUtf8EncodingForSvgImage);
@@ -273,6 +273,7 @@ BASE_DECLARE_FEATURE(kWriteBookmarkWithoutTitle);
COMPONENT_EXPORT(UI_BASE_FEATURES)
BASE_DECLARE_FEATURE(kAsyncFullscreenWindowState);
@@ -15,7 +15,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGridViewBinder.java b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGridViewBinder.java
--- a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGridViewBinder.java
+++ b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGridViewBinder.java
@@ -346,7 +346,12 @@ class TabGridViewBinder {
@@ -397,7 +397,12 @@ class TabGridViewBinder {
if (result != null) {
TabUtils.setDrawableAndUpdateImageMatrix(thumbnail, result, thumbnailSize);
} else {
@@ -29,18 +29,18 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser
}
};
if (sThumbnailFetcherForTesting != null) {
@@ -385,6 +390,7 @@ class TabGridViewBinder {
ViewLookupCachingFrameLayout rootView,
PropertyModel model,
TabListFaviconProvider.TabFavicon favicon) {
@@ -438,6 +443,7 @@ class TabGridViewBinder {
*/
private static void setFavicon(
ImageView faviconView, PropertyModel model, TabListFaviconProvider.TabFavicon favicon) {
+ model.set(TabProperties.FAVICON, favicon);
ImageView faviconView = (ImageView) rootView.fastFindViewById(R.id.tab_favicon);
if (favicon == null) {
faviconView.setImageDrawable(null);
return;
diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabProperties.java b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabProperties.java
--- a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabProperties.java
+++ b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabProperties.java
@@ -76,6 +76,9 @@ public class TabProperties {
@@ -72,6 +72,9 @@ public class TabProperties {
public static final WritableBooleanPropertyKey FAVICON_FETCHED =
new WritableBooleanPropertyKey();
@@ -84,7 +84,7 @@ diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/androi
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/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
@@ -141,6 +141,7 @@ import org.chromium.chrome.browser.preferences.ChromePreferenceKeys;
@@ -142,6 +142,7 @@ import org.chromium.chrome.browser.preferences.ChromePreferenceKeys;
import org.chromium.chrome.browser.preferences.ChromeSharedPreferences;
import org.chromium.chrome.browser.preferences.Pref;
import org.chromium.chrome.browser.printing.TabPrinter;
@@ -92,7 +92,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv
import org.chromium.chrome.browser.profiles.Profile;
import org.chromium.chrome.browser.profiles.ProfileManager;
import org.chromium.chrome.browser.profiles.ProfileProvider;
@@ -716,7 +717,7 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
@@ -715,7 +716,7 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
new TabContentManager(
this,
mBrowserControlsManagerSupplier.get(),
@@ -104,7 +104,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
@@ -19,6 +19,7 @@ import androidx.preference.Preference;
@@ -21,6 +21,7 @@ import androidx.preference.Preference;
import org.chromium.base.metrics.RecordHistogram;
import org.chromium.base.metrics.RecordUserAction;
@@ -112,7 +112,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
import org.chromium.base.supplier.ObservableSupplier;
import org.chromium.base.supplier.ObservableSupplierImpl;
import org.chromium.base.ContextUtils;
@@ -74,12 +75,26 @@ import org.chromium.chrome.browser.preferences.ChromeSharedPreferences;
@@ -75,12 +76,26 @@ import org.chromium.chrome.browser.preferences.ChromeSharedPreferences;
import org.chromium.components.browser_ui.settings.ChromeSwitchPreference;
import org.chromium.components.browser_ui.settings.ManagedPreferenceDelegate;
@@ -140,7 +140,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
private static final String PREF_CAN_MAKE_PAYMENT = "can_make_payment";
private static final String PREF_PRELOAD_PAGES = "preload_pages";
private static final String PREF_HTTPS_FIRST_MODE = "https_first_mode";
@@ -165,6 +180,21 @@ public class PrivacySettings extends ChromeBaseSettingsFragment
@@ -166,6 +181,21 @@ public class PrivacySettings extends ChromeBaseSettingsFragment
}
}
@@ -162,7 +162,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
Preference privacyGuidePreference = findPreference(PREF_PRIVACY_GUIDE);
// Record the launch of PG from the S&P link-row entry point
privacyGuidePreference.setOnPreferenceClickListener(
@@ -376,6 +406,7 @@ public class PrivacySettings extends ChromeBaseSettingsFragment
@@ -382,6 +412,7 @@ public class PrivacySettings extends ChromeBaseSettingsFragment
public static final String PREF_ALLOW_CUSTOM_TAB_INTENTS = "allow_custom_tab_intents";
public static final String PREF_OPEN_EXTERNAL_LINKS_INCOGNITO = "open_external_links_incognito";
@@ -170,7 +170,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
@Override
public boolean onPreferenceChange(Preference preference, Object newValue) {
@@ -418,6 +449,13 @@ public class PrivacySettings extends ChromeBaseSettingsFragment
@@ -424,6 +455,13 @@ public class PrivacySettings extends ChromeBaseSettingsFragment
SharedPreferences.Editor sharedPreferencesEditor = ContextUtils.getAppSharedPreferences().edit();
sharedPreferencesEditor.putBoolean(PREF_OPEN_EXTERNAL_LINKS_INCOGNITO, (boolean)newValue);
sharedPreferencesEditor.apply();
@@ -184,7 +184,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
}
return true;
}
@@ -474,6 +512,10 @@ public class PrivacySettings extends ChromeBaseSettingsFragment
@@ -480,6 +518,10 @@ public class PrivacySettings extends ChromeBaseSettingsFragment
: R.string.text_off);
}
@@ -198,7 +198,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd
--- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
+++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
@@ -5979,6 +5979,14 @@ To change this setting, <ph name="BEGIN_LINK">BEGIN_LINK</ph>delete the Chrome d
@@ -6027,6 +6027,14 @@ To change this setting, <ph name="BEGIN_LINK">BEGIN_LINK</ph>delete the Chrome d
Your <ph name="FQDN">%1$s<ex>www.amazon.com</ex></ph> timer ran out. It'll start again tomorrow.
</message>
@@ -46,7 +46,7 @@ diff --git a/android_webview/java/src/org/chromium/android_webview/contextmenu/A
import org.chromium.content_public.browser.WebContents;
import org.chromium.ui.base.Clipboard;
import org.chromium.url.GURL;
@@ -54,6 +55,9 @@ public class AwContextMenuItemDelegate implements ContextMenuItemDelegate {
@@ -52,6 +53,9 @@ public class AwContextMenuItemDelegate implements ContextMenuItemDelegate {
IntentUtils.safeStartActivity(mActivity, intent);
}
@@ -70,7 +70,7 @@ diff --git a/chrome/android/java/res/values/ids.xml b/chrome/android/java/res/va
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/accessibility/settings/AccessibilitySettings.java b/chrome/android/java/src/org/chromium/chrome/browser/accessibility/settings/AccessibilitySettings.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/accessibility/settings/AccessibilitySettings.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/accessibility/settings/AccessibilitySettings.java
@@ -59,6 +59,9 @@ public class AccessibilitySettings extends ChromeBaseSettingsFragment
@@ -60,6 +60,9 @@ public class AccessibilitySettings extends ChromeBaseSettingsFragment
private BooleanPreferenceDelegate mMoveTopToolbarToBottomDelegate;
private BooleanPreferenceDelegate mDisableToolbarSwipeUpDelegate;
@@ -80,7 +80,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/accessibility/s
private TextScalePreference mTextScalePref;
private PageZoomPreference mPageZoomDefaultZoomPref;
private ChromeSwitchPreference mPageZoomIncludeOSAdjustment;
@@ -182,6 +185,12 @@ public class AccessibilitySettings extends ChromeBaseSettingsFragment
@@ -184,6 +187,12 @@ public class AccessibilitySettings extends ChromeBaseSettingsFragment
mDisableToolbarSwipeUpPref.setChecked(mDisableToolbarSwipeUpDelegate.isEnabled());
mDisableToolbarSwipeUpPref.setOnPreferenceChangeListener(this);
@@ -93,7 +93,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/accessibility/s
Preference captions = findPreference(PREF_CAPTIONS);
captions.setOnPreferenceClickListener(
preference -> {
@@ -271,6 +280,9 @@ public class AccessibilitySettings extends ChromeBaseSettingsFragment
@@ -279,6 +288,9 @@ public class AccessibilitySettings extends ChromeBaseSettingsFragment
mDelegate.requestRestart(getActivity());
} else if (PREF_DISABLE_TOOLBAR_SWIPE_UP.equals(preference.getKey())) {
mDisableToolbarSwipeUpDelegate.setEnabled((Boolean) newValue);
@@ -102,7 +102,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/accessibility/s
+ mDelegate.requestRestart(getActivity());
} else if (PREF_PAGE_ZOOM_INCLUDE_OS_ADJUSTMENT.equals(preference.getKey())) {
// TODO(mschillaci): Implement the override behavior for OS level.
}
} else if (OmniboxFeatures.KEY_JUMP_START_OMNIBOX.equals(preference.getKey())) {
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/accessibility/settings/ChromeAccessibilitySettingsDelegate.java b/chrome/android/java/src/org/chromium/chrome/browser/accessibility/settings/ChromeAccessibilitySettingsDelegate.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/accessibility/settings/ChromeAccessibilitySettingsDelegate.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/accessibility/settings/ChromeAccessibilitySettingsDelegate.java
@@ -164,7 +164,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/Chr
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/ChromeContextMenuPopulator.java b/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/ChromeContextMenuPopulator.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/ChromeContextMenuPopulator.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/ChromeContextMenuPopulator.java
@@ -275,6 +275,9 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator {
@@ -279,6 +279,9 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator {
if (mParams.isAnchor()) {
ModelList linkGroup = new ModelList();
@@ -174,7 +174,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/Chr
if (FirstRunStatus.getFirstRunFlowComplete()
&& !isEmptyUrl(mParams.getUrl())
&& UrlUtilities.isAcceptedScheme(mParams.getUrl())) {
@@ -652,6 +655,8 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator {
@@ -661,6 +664,8 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator {
getProfile(),
false);
});
@@ -186,7 +186,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/Chr
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabContextMenuItemDelegate.java b/chrome/android/java/src/org/chromium/chrome/browser/tab/TabContextMenuItemDelegate.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabContextMenuItemDelegate.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tab/TabContextMenuItemDelegate.java
@@ -328,6 +328,14 @@ public class TabContextMenuItemDelegate implements ContextMenuItemDelegate {
@@ -327,6 +327,14 @@ public class TabContextMenuItemDelegate implements ContextMenuItemDelegate {
mTab.loadUrl(loadUrlParams);
}
@@ -204,7 +204,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabContextM
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
@@ -317,6 +317,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
@@ -325,6 +325,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
&kTabGroupCreationDialogAndroid,
&kTabGroupParityAndroid,
&kTabletTabSwitcherLongPressMenu,
@@ -215,7 +215,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
@@ -384,6 +384,8 @@ public abstract class ChromeFeatureList {
@@ -402,6 +402,8 @@ public abstract class ChromeFeatureList {
"DisableToolbarSwipeUp";
public static final String MOVE_TOP_TOOLBAR_TO_BOTTOM =
"MoveTopToolbarToBottom";
@@ -224,7 +224,7 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f
public static final String NOTIFICATION_PERMISSION_VARIANT = "NotificationPermissionVariant";
public static final String NOTIFICATION_PERMISSION_BOTTOM_SHEET =
"NotificationPermissionBottomSheet";
@@ -688,6 +690,8 @@ public abstract class ChromeFeatureList {
@@ -725,6 +727,8 @@ public abstract class ChromeFeatureList {
newCachedFlag(DISABLE_TOOLBAR_SWIPE_UP, false);
public static final CachedFlag sMoveTopToolbarToBottom =
newCachedFlag(MOVE_TOP_TOOLBAR_TO_BOTTOM, false);
@@ -233,18 +233,18 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f
public static final CachedFlag sPrivacyGuidePreloadAndroid =
newCachedFlag(PRIVACY_GUIDE_PRELOAD_ANDROID, false);
public static final CachedFlag sOptimizationGuidePushNotifications =
@@ -853,6 +857,7 @@ public abstract class ChromeFeatureList {
@@ -892,6 +896,7 @@ public abstract class ChromeFeatureList {
sTabWindowManagerReportIndicesMismatch,
sTraceBinderIpc,
sUseChimeAndroidSdk,
+ sShowAlwaysContextMenuOnLinks,
sUseLibunwindstackNativeUnwinderAndroid,
sVerticalAutomotiveBackButtonToolbar,
sWebApkMinShellApkVersion);
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
@@ -1786,6 +1786,12 @@ Your Google account may have other forms of browsing history like searches and a
@@ -1807,6 +1807,12 @@ Your Google account may have other forms of browsing history like searches and a
<message name="IDS_DISABLE_TOOLBAR_SWIPE_UP" desc="Summary of the preference that allows the user to disable toolbar swipeup.">
Disable toolbar swipe up
</message>
@@ -257,7 +257,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro
<!-- Safety check -->
<message name="IDS_PREFS_SAFETY_CHECK" desc="Title of the Safety check element in settings, allowing the user to check multiple areas of browser safety. [CHAR_LIMIT=32]">
@@ -3257,6 +3263,9 @@ To change this setting, <ph name="BEGIN_LINK">BEGIN_LINK</ph>delete the Chrome d
@@ -3293,6 +3299,9 @@ To change this setting, <ph name="BEGIN_LINK">BEGIN_LINK</ph>delete the Chrome d
<message name="IDS_CONTEXTMENU_OPEN_IN_NEW_CHROME_TAB" desc="Context sensitive menu item to open the selected link in a new Chrome tab from Chrome Custom Tab. [CHAR_LIMIT=30]">
Open in new Chrome tab
</message>
@@ -285,7 +285,7 @@ diff --git a/components/browser_ui/accessibility/android/java/res/xml/accessibil
diff --git a/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettingsDelegate.java b/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettingsDelegate.java
--- a/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettingsDelegate.java
+++ b/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettingsDelegate.java
@@ -39,6 +39,8 @@ public interface AccessibilitySettingsDelegate {
@@ -38,6 +38,8 @@ public interface AccessibilitySettingsDelegate {
BooleanPreferenceDelegate getMoveTopToolbarToBottomDelegate();
BooleanPreferenceDelegate getDisableToolbarSwipeUpDelegate();
@@ -352,16 +352,16 @@ diff --git a/third_party/blink/renderer/core/html/html_anchor_element.cc b/third
#include "third_party/blink/renderer/core/page/page.h"
#include "third_party/blink/renderer/core/speculation_rules/document_speculation_rules.h"
#include "third_party/blink/renderer/platform/heap/garbage_collected.h"
@@ -502,6 +503,17 @@ void HTMLAnchorElement::NavigateToHyperlink(ResourceRequest request,
bool is_trusted,
base::TimeTicks platform_time_stamp,
KURL completed_url) {
@@ -502,6 +503,17 @@ void HTMLAnchorElementBase::NavigateToHyperlink(
bool is_trusted,
base::TimeTicks platform_time_stamp,
KURL completed_url) {
+ UIEvent& event = *UIEvent::Create();
+ NavigateToHyperlink2(std::move(request), navigation_policy, is_trusted, platform_time_stamp,
+ std::move(completed_url), event, true);
+}
+
+void HTMLAnchorElement::NavigateToHyperlink2(ResourceRequest request,
+void HTMLAnchorElementBase::NavigateToHyperlink2(ResourceRequest request,
+ NavigationPolicy navigation_policy,
+ bool is_trusted,
+ base::TimeTicks platform_time_stamp,
@@ -370,7 +370,7 @@ diff --git a/third_party/blink/renderer/core/html/html_anchor_element.cc b/third
LocalDOMWindow* window = GetDocument().domWindow();
if (!window) {
return;
@@ -568,6 +580,15 @@ void HTMLAnchorElement::NavigateToHyperlink(ResourceRequest request,
@@ -568,6 +580,15 @@ void HTMLAnchorElementBase::NavigateToHyperlink(
request.GetReferrerPolicy()));
}
@@ -386,39 +386,39 @@ diff --git a/third_party/blink/renderer/core/html/html_anchor_element.cc b/third
Frame* target_frame =
frame->Tree().FindOrCreateFrameForNavigation(frame_request, target).frame;
@@ -622,7 +643,7 @@ AtomicString HTMLAnchorElement::interestAction() const {
@@ -622,7 +643,7 @@ AtomicString HTMLAnchorElementBase::interestAction() const {
return g_empty_atom;
}
-void HTMLAnchorElement::HandleClick(MouseEvent& event) {
+void HTMLAnchorElement::HandleClick(MouseEvent& event, bool do_not_show_context_menu) {
-void HTMLAnchorElementBase::HandleClick(MouseEvent& event) {
+void HTMLAnchorElementBase::HandleClick(MouseEvent& event, bool do_not_show_context_menu) {
event.SetDefaultHandled();
LocalDOMWindow* window = GetDocument().domWindow();
@@ -718,13 +739,12 @@ void HTMLAnchorElement::HandleClick(MouseEvent& event) {
@@ -718,13 +739,12 @@ void HTMLAnchorElementBase::HandleClick(MouseEvent& event) {
return;
}
- base::OnceClosure navigate_closure = WTF::BindOnce(
- &HTMLAnchorElement::NavigateToHyperlink, WrapWeakPersistent(this),
- &HTMLAnchorElementBase::NavigateToHyperlink, WrapWeakPersistent(this),
- std::move(request), navigation_policy, event.isTrusted(),
- event.PlatformTimeStamp(), std::move(completed_url));
-
if (navigation_policy == kNavigationPolicyDownload ||
navigation_policy == kNavigationPolicyLinkPreview) {
+ base::OnceClosure navigate_closure = WTF::BindOnce(
+ &HTMLAnchorElement::NavigateToHyperlink, WrapWeakPersistent(this),
+ &HTMLAnchorElementBase::NavigateToHyperlink, WrapWeakPersistent(this),
+ std::move(request), navigation_policy, event.isTrusted(),
+ event.PlatformTimeStamp(), std::move(completed_url));
// We distinguish single/double click with some modifiers.
// See the comment of `EventHandler.delayed_navigation_task_handle_`.
auto task_handle = PostDelayedCancellableTask(
@@ -734,7 +754,9 @@ void HTMLAnchorElement::HandleClick(MouseEvent& event) {
@@ -734,7 +754,9 @@ void HTMLAnchorElementBase::HandleClick(MouseEvent& event) {
frame->GetEventHandler().SetDelayedNavigationTaskHandle(
std::move(task_handle));
} else {
- std::move(navigate_closure).Run();
+ HTMLAnchorElement::NavigateToHyperlink2(std::move(request), navigation_policy,
+ HTMLAnchorElementBase::NavigateToHyperlink2(std::move(request), navigation_policy,
+ event.isTrusted(), event.PlatformTimeStamp(), std::move(completed_url),
+ event, do_not_show_context_menu);
}
@@ -427,15 +427,15 @@ diff --git a/third_party/blink/renderer/core/html/html_anchor_element.cc b/third
diff --git a/third_party/blink/renderer/core/html/html_anchor_element.h b/third_party/blink/renderer/core/html/html_anchor_element.h
--- a/third_party/blink/renderer/core/html/html_anchor_element.h
+++ b/third_party/blink/renderer/core/html/html_anchor_element.h
@@ -116,6 +116,7 @@ class CORE_EXPORT HTMLAnchorElement : public HTMLElement, public DOMURLUtils {
@@ -117,6 +117,7 @@ class CORE_EXPORT HTMLAnchorElementBase : public HTMLElement,
AtomicString interestAction() const override;
void Trace(Visitor*) const override;
+ void HandleClick(MouseEvent&, bool do_not_show_context_menu = false);
protected:
void ParseAttribute(const AttributeModificationParams&) override;
@@ -146,7 +147,11 @@ class CORE_EXPORT HTMLAnchorElement : public HTMLElement, public DOMURLUtils {
HTMLAnchorElementBase(const QualifiedName& tag_name, Document&);
@@ -148,7 +149,11 @@ class CORE_EXPORT HTMLAnchorElementBase : public HTMLElement,
bool is_trusted,
base::TimeTicks platform_time_stamp,
KURL);
@@ -551,7 +551,7 @@ diff --git a/third_party/blink/renderer/core/page/context_menu_controller.cc b/t
// Clear any previously set cached results if we are resetting the hit test
// result.
image_selection_cached_result_ = nullptr;
@@ -835,11 +848,13 @@ bool ContextMenuController::ShowContextMenu(LocalFrame* frame,
@@ -836,11 +849,13 @@ bool ContextMenuController::ShowContextMenu(LocalFrame* frame,
SetAutofillData(result.InnerNode(), data);
SetPasswordManagerData(result.InnerElement(), data);
@@ -44,7 +44,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
@@ -1296,6 +1296,7 @@ network::mojom::AttributionSupport
@@ -1337,6 +1337,7 @@ network::mojom::AttributionSupport
AwContentBrowserClient::GetAttributionSupport(
AttributionReportingOsApiState state,
bool client_os_disabled) {
@@ -52,7 +52,7 @@ diff --git a/android_webview/browser/aw_content_browser_client.cc b/android_webv
// WebView only supports OS-level attribution and not web-attribution.
switch (state) {
case AttributionReportingOsApiState::kDisabled:
@@ -1314,6 +1315,8 @@ bool AwContentBrowserClient::IsAttributionReportingOperationAllowed(
@@ -1355,6 +1356,8 @@ bool AwContentBrowserClient::IsAttributionReportingOperationAllowed(
const url::Origin* destination_origin,
const url::Origin* reporting_origin,
bool* can_bypass) {
@@ -93,7 +93,7 @@ diff --git a/chrome/android/java/AndroidManifest.xml b/chrome/android/java/Andro
<uses-permission-sdk-23 android:name="android.permission.BLUETOOTH_ADMIN" android:maxSdkVersion="30"/>
<uses-permission-sdk-23 android:name="android.permission.BLUETOOTH_CONNECT"/>
<!--
@@ -1148,9 +1147,6 @@ by a child template that "extends" this file.
@@ -1136,9 +1135,6 @@ by a child template that "extends" this file.
android:configChanges="orientation|keyboardHidden|keyboard|screenSize|mcc|mnc|screenLayout|smallestScreenSize" >
</activity>
@@ -137,7 +137,7 @@ diff --git a/components/embedder_support/origin_trials/features.cc b/components/
diff --git a/components/renderer_context_menu/render_view_context_menu_base.cc b/components/renderer_context_menu/render_view_context_menu_base.cc
--- a/components/renderer_context_menu/render_view_context_menu_base.cc
+++ b/components/renderer_context_menu/render_view_context_menu_base.cc
@@ -503,9 +503,6 @@ RenderViewContextMenuBase::GetOpenURLParamsWithExtraHeaders(
@@ -509,9 +509,6 @@ RenderViewContextMenuBase::GetOpenURLParamsWithExtraHeaders(
open_url_params.source_site_instance = site_instance_;
@@ -283,7 +283,7 @@ diff --git a/content/browser/attribution_reporting/attribution_storage_sql.cc b/
diff --git a/content/browser/storage_partition_impl.cc b/content/browser/storage_partition_impl.cc
--- a/content/browser/storage_partition_impl.cc
+++ b/content/browser/storage_partition_impl.cc
@@ -1449,15 +1449,6 @@ void StoragePartitionImpl::Initialize(
@@ -1454,15 +1454,6 @@ void StoragePartitionImpl::Initialize(
bucket_manager_ = std::make_unique<BucketManager>(this);
@@ -776,7 +776,7 @@ diff --git a/content/public/android/java/src/org/chromium/content/browser/Attrib
diff --git a/content/public/browser/content_browser_client.cc b/content/public/browser/content_browser_client.cc
--- a/content/public/browser/content_browser_client.cc
+++ b/content/public/browser/content_browser_client.cc
@@ -565,6 +565,7 @@ void ContentBrowserClient::OnAuctionComplete(
@@ -569,6 +569,7 @@ void ContentBrowserClient::OnAuctionComplete(
network::mojom::AttributionSupport ContentBrowserClient::GetAttributionSupport(
AttributionReportingOsApiState state,
bool client_os_disabled) {
@@ -784,7 +784,7 @@ diff --git a/content/public/browser/content_browser_client.cc b/content/public/b
switch (state) {
case AttributionReportingOsApiState::kDisabled:
return network::mojom::AttributionSupport::kWeb;
@@ -582,13 +583,13 @@ bool ContentBrowserClient::IsAttributionReportingOperationAllowed(
@@ -586,13 +587,13 @@ bool ContentBrowserClient::IsAttributionReportingOperationAllowed(
const url::Origin* destination_origin,
const url::Origin* reporting_origin,
bool* can_bypass) {
@@ -800,7 +800,7 @@ diff --git a/content/public/browser/content_browser_client.cc b/content/public/b
}
bool ContentBrowserClient::IsAttributionReportingAllowedForContext(
@@ -596,7 +597,7 @@ bool ContentBrowserClient::IsAttributionReportingAllowedForContext(
@@ -600,7 +601,7 @@ bool ContentBrowserClient::IsAttributionReportingAllowedForContext(
content::RenderFrameHost* rfh,
const url::Origin& context_origin,
const url::Origin& reporting_origin) {
@@ -875,7 +875,7 @@ diff --git a/services/network/public/cpp/attribution_utils.cc b/services/network
diff --git a/third_party/blink/renderer/core/page/page.cc b/third_party/blink/renderer/core/page/page.cc
--- a/third_party/blink/renderer/core/page/page.cc
+++ b/third_party/blink/renderer/core/page/page.cc
@@ -1581,7 +1581,7 @@ void Page::UpdateBrowsingContextGroup(
@@ -1590,7 +1590,7 @@ void Page::UpdateBrowsingContextGroup(
void Page::SetAttributionSupport(
network::mojom::AttributionSupport attribution_support) {
@@ -896,7 +896,7 @@ diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5
origin_trial_feature_name: "AdInterestGroupAPI",
implied_by: ["Fledge", "Parakeet"],
public: true,
@@ -413,15 +413,15 @@
@@ -412,15 +412,15 @@
},
{
name: "AttributionReporting",
@@ -914,7 +914,7 @@ diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5
},
{
// This only exists so we can use RuntimeEnabled in the IDL file
@@ -4257,15 +4257,15 @@
@@ -4268,15 +4268,15 @@
},
{
name: "TopicsAPI",
@@ -935,10 +935,10 @@ diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5
diff --git a/ui/events/android/motion_event_android.cc b/ui/events/android/motion_event_android.cc
--- a/ui/events/android/motion_event_android.cc
+++ b/ui/events/android/motion_event_android.cc
@@ -171,7 +171,11 @@ int ToEventFlags(int meta_state, int button_state) {
}
@@ -389,7 +389,11 @@ MotionEventAndroid::ToolType MotionEventAndroid::FromAndroidToolType(
#undef TOOL_TYPE_CASE
base::TimeTicks FromAndroidTime(base::TimeTicks time) {
base::TimeTicks MotionEventAndroid::FromAndroidTime(base::TimeTicks time) {
- ValidateEventTimeClock(&time);
+ base::TimeTicks timestamp;
+ // Rounding down to milliseconds (from nanoseconds)
@@ -8,10 +8,9 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
.../browser/bookmarks/BookmarkSearchBoxRowViewBinder.java | 2 ++
.../chromium/chrome/browser/bookmarks/BookmarkUiPrefs.java | 2 +-
.../org/chromium/chrome/browser/bookmarks/BookmarkUtils.java | 3 ++-
.../org/chromium/chrome/browser/flags/ChromeFeatureList.java | 2 +-
components/bookmarks/browser/bookmark_node.cc | 3 +--
.../Enable-ImprovedBookmarks-by-default.inc | 1 +
7 files changed, 10 insertions(+), 7 deletions(-)
6 files changed, 9 insertions(+), 6 deletions(-)
create mode 100644 cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/Enable-ImprovedBookmarks-by-default.inc
diff --git a/chrome/android/java/res/layout/bookmark_search_box_row.xml b/chrome/android/java/res/layout/bookmark_search_box_row.xml
@@ -75,22 +74,10 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
}
- if (DeviceFormFactor.isNonMultiDisplayContextOnTablet(context)) {
+ if (BookmarkFeatures.isAndroidImprovedBookmarksEnabled() || DeviceFormFactor.isNonMultiDisplayContextOnTablet(context)) {
+ if ((true)) {
showBookmarkManagerOnTablet(
context,
activity == null ? null : activity.getComponentName(),
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
@@ -887,7 +887,7 @@ public abstract class ChromeFeatureList {
public static final MutableFlagWithSafeDefault sAdaptiveButtonInTopToolbarCustomizationV2 =
newMutableFlagWithSafeDefault(ADAPTIVE_BUTTON_IN_TOP_TOOLBAR_CUSTOMIZATION_V2, false);
public static final MutableFlagWithSafeDefault sAndroidImprovedBookmarks =
- newMutableFlagWithSafeDefault(ANDROID_IMPROVED_BOOKMARKS, false);
+ newMutableFlagWithSafeDefault(ANDROID_IMPROVED_BOOKMARKS, true);
public static final MutableFlagWithSafeDefault sAndroidTabDeclutter =
newMutableFlagWithSafeDefault(ANDROID_TAB_DECLUTTER, false);
public static final MutableFlagWithSafeDefault sAndroidTabDeclutterArchiveAllButActiveTab =
diff --git a/components/bookmarks/browser/bookmark_node.cc b/components/bookmarks/browser/bookmark_node.cc
--- a/components/bookmarks/browser/bookmark_node.cc
+++ b/components/bookmarks/browser/bookmark_node.cc
@@ -226,7 +226,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
--- a/chrome/android/BUILD.gn
+++ b/chrome/android/BUILD.gn
@@ -200,7 +200,11 @@ if (current_toolchain == default_toolchain) {
@@ -198,7 +198,11 @@ if (current_toolchain == default_toolchain) {
sources = chrome_java_resources
sources += [ "//chrome/android/java/res_app/layout/main.xml" ]
@@ -239,7 +239,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
":chrome_base_module_resources",
":ui_locale_string_resources",
"//chrome/android/webapk/libs/common:splash_resources",
@@ -684,6 +688,7 @@ if (current_toolchain == default_toolchain) {
@@ -647,6 +651,7 @@ if (current_toolchain == default_toolchain) {
"//components/ukm/android:java",
"//components/url_formatter/android:url_formatter_java",
"//components/user_prefs/android:java",
@@ -250,7 +250,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
diff --git a/chrome/android/java/res/xml/main_preferences.xml b/chrome/android/java/res/xml/main_preferences.xml
--- a/chrome/android/java/res/xml/main_preferences.xml
+++ b/chrome/android/java/res/xml/main_preferences.xml
@@ -151,6 +151,11 @@ for the previous order (main_preferences_legacy). -->
@@ -149,6 +149,11 @@ for the previous order (main_preferences_legacy). -->
android:key="useragent_settings"
android:order="20"
android:title="@string/prefs_useragent_settings"/>
@@ -265,7 +265,7 @@ diff --git a/chrome/android/java/res/xml/main_preferences.xml b/chrome/android/j
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/download/DownloadUtils.java b/chrome/android/java/src/org/chromium/chrome/browser/download/DownloadUtils.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/download/DownloadUtils.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/download/DownloadUtils.java
@@ -75,6 +75,7 @@ import org.chromium.ui.base.DeviceFormFactor;
@@ -74,6 +74,7 @@ import org.chromium.ui.base.DeviceFormFactor;
import org.chromium.ui.base.MimeTypeUtils;
import org.chromium.ui.widget.Toast;
import org.chromium.url.GURL;
@@ -273,7 +273,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/download/Downlo
import java.io.File;
@@ -411,6 +412,11 @@ public class DownloadUtils {
@@ -426,6 +427,11 @@ public class DownloadUtils {
String referrer,
@DownloadOpenSource int source,
Context context) {
@@ -297,7 +297,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/init/ProcessIni
/**
* Handles the initialization dependences of the browser process. This is meant to handle the
* initialization that is not tied to any particular Activity, and the logic that should only be
@@ -615,6 +617,8 @@ public class ProcessInitializationHandler {
@@ -610,6 +612,8 @@ public class ProcessInitializationHandler {
DefaultBrowserInfo.initBrowserFetcher();
@@ -309,7 +309,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/init/ProcessIni
diff --git a/chrome/android/java_sources.gni b/chrome/android/java_sources.gni
--- a/chrome/android/java_sources.gni
+++ b/chrome/android/java_sources.gni
@@ -20,6 +20,7 @@ import("//chrome/browser/tab_group_sync/android/test_java_sources.gni")
@@ -19,6 +19,7 @@ import("//chrome/browser/tab_group_sync/android/test_java_sources.gni")
import("//chrome/common/features.gni")
import("//components/offline_pages/buildflags/features.gni")
import("//device/vr/buildflags/buildflags.gni")
@@ -317,7 +317,7 @@ diff --git a/chrome/android/java_sources.gni b/chrome/android/java_sources.gni
# Only used for testing, should not be shipped to end users.
if (enable_offline_pages_harness) {
@@ -57,3 +58,5 @@ if (enable_cardboard) {
@@ -55,3 +56,5 @@ if (enable_cardboard) {
"java/src/org/chromium/chrome/browser/vr/VrCompositorDelegateProviderImpl.java",
]
}
@@ -326,7 +326,7 @@ diff --git a/chrome/android/java_sources.gni b/chrome/android/java_sources.gni
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
--- a/chrome/browser/BUILD.gn
+++ b/chrome/browser/BUILD.gn
@@ -3475,6 +3475,13 @@ static_library("browser") {
@@ -3482,6 +3482,13 @@ static_library("browser") {
]
deps += [ "//chrome/android/modules/dev_ui/provider:native" ]
}
@@ -343,7 +343,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
--- a/chrome/browser/about_flags.cc
+++ b/chrome/browser/about_flags.cc
@@ -180,6 +180,7 @@
@@ -181,6 +181,7 @@
#include "components/ui_devtools/switches.h"
#include "components/variations/variations_switches.h"
#include "components/version_info/channel.h"
@@ -354,7 +354,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browser_prefs.cc
--- a/chrome/browser/prefs/browser_prefs.cc
+++ b/chrome/browser/prefs/browser_prefs.cc
@@ -275,6 +275,7 @@
@@ -274,6 +274,7 @@
#include "components/ntp_tiles/popular_sites_impl.h"
#include "components/permissions/contexts/geolocation_permission_context_android.h"
#include "components/webapps/browser/android/install_prompt_prefs.h"
@@ -362,7 +362,7 @@ diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browse
#else // BUILDFLAG(IS_ANDROID)
#include "chrome/browser/cart/cart_service.h"
#include "chrome/browser/companion/core/promo_handler.h"
@@ -1975,6 +1976,9 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry,
@@ -2050,6 +2051,9 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry,
translate::TranslatePrefs::RegisterProfilePrefs(registry);
omnibox::RegisterProfilePrefs(registry);
ZeroSuggestProvider::RegisterProfilePrefs(registry);
@@ -370,8 +370,8 @@ diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browse
+ user_scripts::UserScriptsPrefs::RegisterProfilePrefs(registry);
+#endif
#if !BUILDFLAG(IS_ANDROID) && BUILDFLAG(GOOGLE_CHROME_BRANDING)
promos_utils::RegisterProfilePrefs(registry);
#if BUILDFLAG(ENABLE_SESSION_SERVICE)
RegisterSessionServiceLogProfilePrefs(registry);
diff --git a/chrome/browser/profiles/BUILD.gn b/chrome/browser/profiles/BUILD.gn
--- a/chrome/browser/profiles/BUILD.gn
+++ b/chrome/browser/profiles/BUILD.gn
@@ -388,7 +388,7 @@ diff --git a/chrome/browser/profiles/BUILD.gn b/chrome/browser/profiles/BUILD.gn
diff --git a/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc b/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc
--- a/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc
+++ b/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc
@@ -549,6 +549,10 @@
@@ -540,6 +540,10 @@
#include "chrome/browser/enterprise/data_controls/reporting_service.h"
#endif
@@ -399,7 +399,7 @@ diff --git a/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc
namespace chrome {
void AddProfilesExtraParts(ChromeBrowserMainParts* main_parts) {
@@ -1357,6 +1361,9 @@ void ChromeBrowserMainExtraPartsProfiles::
@@ -1312,6 +1316,9 @@ void ChromeBrowserMainExtraPartsProfiles::
#endif
WebDataServiceFactory::GetInstance();
webrtc_event_logging::WebRtcEventLogManagerKeyedServiceFactory::GetInstance();
@@ -423,7 +423,7 @@ diff --git a/chrome/browser/profiles/profile_manager.cc b/chrome/browser/profile
#if BUILDFLAG(ENABLE_SESSION_SERVICE)
#include "chrome/browser/sessions/app_session_service_factory.h"
#include "chrome/browser/sessions/session_service_factory.h"
@@ -1528,6 +1532,13 @@ void ProfileManager::DoFinalInitForServices(Profile* profile,
@@ -1482,6 +1486,13 @@ void ProfileManager::DoFinalInitForServices(Profile* profile,
ChildAccountServiceFactory::GetForProfile(profile)->Init();
SupervisedUserServiceFactory::GetForProfile(profile)->Init();
ListFamilyMembersServiceFactory::GetForProfile(profile)->Init();
@@ -501,15 +501,15 @@ diff --git a/chrome/browser/profiles/renderer_updater.h b/chrome/browser/profile
diff --git a/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc b/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc
--- a/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc
+++ b/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc
@@ -80,6 +80,7 @@
#include "components/security_interstitials/content/known_interception_disclosure_ui.h"
#include "components/security_interstitials/content/urls.h"
#include "components/site_engagement/content/site_engagement_service.h"
@@ -60,6 +60,7 @@
#include "components/reading_list/features/reading_list_switches.h"
#include "components/safe_browsing/content/browser/web_ui/safe_browsing_ui.h"
#include "components/safe_browsing/core/common/web_ui_constants.h"
+#include "components/user_scripts/browser/ui/user_scripts_ui.h"
#include "content/public/browser/web_contents.h"
#include "content/public/browser/web_ui.h"
#include "content/public/common/content_client.h"
@@ -413,6 +414,10 @@ WebUIFactoryFunction GetWebUIFactoryFunction(WebUI* web_ui,
@@ -262,6 +263,10 @@ WebUIFactoryFunction GetWebUIFactoryFunction(WebUI* web_ui,
history_clusters_internals::kChromeUIHistoryClustersInternalsHost) {
return &NewWebUI<HistoryClustersInternalsUI>;
}
@@ -519,21 +519,21 @@ diff --git a/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc b/chrom
+#endif
#if !BUILDFLAG(IS_ANDROID)
#if !BUILDFLAG(IS_CHROMEOS)
if (url.host_piece() == chrome::kChromeUINewTabHost) {
diff --git a/chrome/chrome_paks.gni b/chrome/chrome_paks.gni
--- a/chrome/chrome_paks.gni
+++ b/chrome/chrome_paks.gni
@@ -129,6 +129,7 @@ template("chrome_extra_paks") {
"$root_gen_dir/net/net_resources.pak",
@@ -130,6 +130,7 @@ template("chrome_extra_paks") {
"$root_gen_dir/third_party/blink/public/resources/blink_resources.pak",
"$root_gen_dir/third_party/blink/public/resources/inspector_overlay_resources.pak",
"$root_gen_dir/third_party/blink/public/strings/permission_element_generated_strings.pak",
+ "$root_gen_dir/chrome/userscripts_browser_resources.pak",
"$root_gen_dir/ui/resources/webui_resources.pak",
]
deps = [
@@ -146,6 +147,7 @@ template("chrome_extra_paks") {
"//third_party/blink/public:devtools_inspector_resources",
@@ -148,6 +149,7 @@ template("chrome_extra_paks") {
"//third_party/blink/public:resources",
"//third_party/blink/public/strings:permission_element_generated_strings",
"//ui/resources",
+ "//components/user_scripts/browser:userscripts_browser_resources_grit",
]
@@ -553,7 +553,7 @@ diff --git a/chrome/common/renderer_configuration.mojom b/chrome/common/renderer
diff --git a/chrome/renderer/BUILD.gn b/chrome/renderer/BUILD.gn
--- a/chrome/renderer/BUILD.gn
+++ b/chrome/renderer/BUILD.gn
@@ -242,6 +242,12 @@ static_library("renderer") {
@@ -243,6 +243,12 @@ static_library("renderer") {
"//v8",
]
@@ -569,7 +569,7 @@ diff --git a/chrome/renderer/BUILD.gn b/chrome/renderer/BUILD.gn
diff --git a/chrome/renderer/chrome_content_renderer_client.cc b/chrome/renderer/chrome_content_renderer_client.cc
--- a/chrome/renderer/chrome_content_renderer_client.cc
+++ b/chrome/renderer/chrome_content_renderer_client.cc
@@ -267,6 +267,11 @@
@@ -270,6 +270,11 @@
#include "chrome/renderer/media/chrome_key_systems.h"
#endif
@@ -581,7 +581,7 @@ diff --git a/chrome/renderer/chrome_content_renderer_client.cc b/chrome/renderer
using autofill::AutofillAgent;
using autofill::PasswordAutofillAgent;
using autofill::PasswordGenerationAgent;
@@ -465,6 +470,14 @@ void ChromeContentRendererClient::RenderThreadStarted() {
@@ -468,6 +473,14 @@ void ChromeContentRendererClient::RenderThreadStarted() {
WebString::FromASCII(extensions::kExtensionScheme));
#endif // BUILDFLAG(ENABLE_EXTENSIONS_CORE)
@@ -596,7 +596,7 @@ diff --git a/chrome/renderer/chrome_content_renderer_client.cc b/chrome/renderer
#if BUILDFLAG(ENABLE_SPELLCHECK)
if (!spellcheck_)
InitSpellCheck();
@@ -625,6 +638,15 @@ void ChromeContentRendererClient::RenderFrameCreated(
@@ -635,6 +648,15 @@ void ChromeContentRendererClient::RenderFrameCreated(
registry);
#endif
@@ -612,7 +612,7 @@ diff --git a/chrome/renderer/chrome_content_renderer_client.cc b/chrome/renderer
#if BUILDFLAG(ENABLE_PPAPI)
new PepperHelper(render_frame);
#endif
@@ -1684,6 +1706,17 @@ void ChromeContentRendererClient::RunScriptsAtDocumentStart(
@@ -1703,6 +1725,17 @@ void ChromeContentRendererClient::RunScriptsAtDocumentStart(
render_frame);
// |render_frame| might be dead by now.
#endif
@@ -630,7 +630,7 @@ diff --git a/chrome/renderer/chrome_content_renderer_client.cc b/chrome/renderer
}
void ChromeContentRendererClient::RunScriptsAtDocumentEnd(
@@ -1693,6 +1726,17 @@ void ChromeContentRendererClient::RunScriptsAtDocumentEnd(
@@ -1712,6 +1745,17 @@ void ChromeContentRendererClient::RunScriptsAtDocumentEnd(
render_frame);
// |render_frame| might be dead by now.
#endif
@@ -648,7 +648,7 @@ diff --git a/chrome/renderer/chrome_content_renderer_client.cc b/chrome/renderer
}
void ChromeContentRendererClient::RunScriptsAtDocumentIdle(
@@ -1702,6 +1746,17 @@ void ChromeContentRendererClient::RunScriptsAtDocumentIdle(
@@ -1721,6 +1765,17 @@ void ChromeContentRendererClient::RunScriptsAtDocumentIdle(
render_frame);
// |render_frame| might be dead by now.
#endif
@@ -691,7 +691,7 @@ diff --git a/chrome/renderer/chrome_render_thread_observer.cc b/chrome/renderer/
diff --git a/components/components_strings.grd b/components/components_strings.grd
--- a/components/components_strings.grd
+++ b/components/components_strings.grd
@@ -341,6 +341,7 @@
@@ -340,6 +340,7 @@
<part file="user_education_strings.grdp" />
<part file="version_ui_strings.grdp" />
<part file="webapps_strings.grdp" />
@@ -10472,15 +10472,15 @@ diff --git a/ipc/ipc_message_start.h b/ipc/ipc_message_start.h
diff --git a/tools/gritsettings/resource_ids.spec b/tools/gritsettings/resource_ids.spec
--- a/tools/gritsettings/resource_ids.spec
+++ b/tools/gritsettings/resource_ids.spec
@@ -1061,6 +1061,12 @@
"components/search_engine_descriptions_strings.grd": {
"messages": [7260],
@@ -1018,6 +1018,12 @@
"META": {"sizes": {"includes": [30],}},
"includes": [7480],
},
+ "components/user_scripts/renderer/resources/user_scripts_renderer_resources.grd": {
+ "includes": [7280],
+ "includes": [7500],
+ },
+ "components/user_scripts/browser/resources/browser_resources.grd": {
+ "includes": [7300],
+ "includes": [7620],
+ },
# END components/ section.
@@ -12,7 +12,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
.../GestureNavigationViewBinder.java | 6 ++--
.../HistoryNavigationCoordinator.java | 4 +++
.../gesturenav/HistoryNavigationLayout.java | 6 ++--
.../browser/gesturenav/NavigationHandler.java | 12 +++++--
.../browser/gesturenav/NavigationHandler.java | 11 +++++--
.../browser/gesturenav/SideSlideLayout.java | 25 +++++++++++---
.../tabbed_mode/TabbedRootUiCoordinator.java | 3 ++
.../cromite/sUseBrowserNavigationHandler.java | 33 +++++++++++++++++++
@@ -22,7 +22,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
.../Use-browser-navigation-handler.inc | 12 +++++++
.../Use-browser-navigation-handler.inc | 3 ++
.../Use-browser-navigation-handler.inc | 1 +
15 files changed, 135 insertions(+), 16 deletions(-)
15 files changed, 135 insertions(+), 15 deletions(-)
create mode 100644 chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/cromite/sUseBrowserNavigationHandler.java
create mode 100644 chrome/browser/ui/android/strings/cromite_android_chrome_strings_grd/Use-browser-navigation-handler.grdp
create mode 100644 cromite_flags/chrome/browser/about_flags_cc/Use-browser-navigation-handler.inc
@@ -94,7 +94,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/gesturenav/Hist
import org.chromium.chrome.browser.lifecycle.ActivityLifecycleDispatcher;
import org.chromium.chrome.browser.lifecycle.PauseResumeWithNativeObserver;
import org.chromium.chrome.browser.tab.CurrentTabObserver;
@@ -159,6 +160,9 @@ public class HistoryNavigationCoordinator
@@ -155,6 +156,9 @@ public class HistoryNavigationCoordinator
* @return {@code} true if the feature is enabled.
*/
private boolean isFeatureEnabled() {
@@ -107,9 +107,9 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/gesturenav/Hist
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/gesturenav/HistoryNavigationLayout.java b/chrome/android/java/src/org/chromium/chrome/browser/gesturenav/HistoryNavigationLayout.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/gesturenav/HistoryNavigationLayout.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/gesturenav/HistoryNavigationLayout.java
@@ -68,8 +68,8 @@ class HistoryNavigationLayout extends FrameLayout implements ViewGroup.OnHierarc
@@ -67,8 +67,8 @@ class HistoryNavigationLayout extends FrameLayout implements ViewGroup.OnHierarc
* @param forward {@code true} for forward navigation, or {@code false} for back.
* @param initiatingEdge Which edge of the screen the gesture is navigating from.
* @param closeIndicator
*/
- void showBubble(
- boolean forward,
@@ -118,7 +118,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/gesturenav/Hist
@BackGestureEventSwipeEdge int initiatingEdge,
@CloseTarget int closeIndicator) {
if (mSideSlideLayout == null) {
@@ -87,7 +87,7 @@ class HistoryNavigationLayout extends FrameLayout implements ViewGroup.OnHierarc
@@ -86,7 +86,7 @@ class HistoryNavigationLayout extends FrameLayout implements ViewGroup.OnHierarc
});
}
mSideSlideLayout.setEnabled(true);
@@ -139,10 +139,22 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/gesturenav/Navi
import static org.chromium.chrome.browser.gesturenav.GestureNavigationProperties.EDGE;
import android.app.Activity;
@@ -233,15 +233,21 @@ class NavigationHandler implements TouchEventObserver {
@@ -277,6 +277,11 @@ class NavigationHandler implements TouchEventObserver {
boolean forward = isForward();
mInitiatingEdge = initiatingEdge;
mModel.set(DIRECTION, forward);
+ if (mInitiatingEdge == edge && canNavigate(true)) {
+ mModel.set(CANFORWARD, true);
+ } else {
+ mModel.set(CANFORWARD, false);
+ }
mModel.set(EDGE, mInitiatingEdge);
if (canNavigate(forward)) {
if (mState != GestureState.STARTED) mModel.set(ACTION, GestureAction.RESET_BUBBLE);
@@ -483,12 +488,14 @@ class NavigationHandler implements TouchEventObserver {
}
private boolean isForward() {
- boolean forward = mInitiatingEdge == BackGestureEventSwipeEdge.RIGHT;
+ boolean forward = false;
+ @BackGestureEventSwipeEdge int edge = BackGestureEventSwipeEdge.RIGHT;
@@ -153,20 +165,12 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/gesturenav/Navi
forward = !forward;
+ edge = BackGestureEventSwipeEdge.LEFT;
}
- mModel.set(DIRECTION, forward);
+ if (mInitiatingEdge == edge && canNavigate(true)) {
+ mModel.set(CANFORWARD, true);
+ } else {
+ mModel.set(CANFORWARD, false);
+ }
mModel.set(EDGE, mInitiatingEdge);
if (canNavigate(forward)) {
if (mState != GestureState.STARTED) mModel.set(ACTION, GestureAction.RESET_BUBBLE);
return forward;
}
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/gesturenav/SideSlideLayout.java b/chrome/android/java/src/org/chromium/chrome/browser/gesturenav/SideSlideLayout.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/gesturenav/SideSlideLayout.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/gesturenav/SideSlideLayout.java
@@ -106,6 +106,7 @@ public class SideSlideLayout extends ViewGroup {
@@ -105,6 +105,7 @@ public class SideSlideLayout extends ViewGroup {
private int mAnimationViewWidth;
private boolean mIsForward;
@@ -174,7 +178,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/gesturenav/Side
private @CloseTarget int mCloseIndicator;
private @BackGestureEventSwipeEdge int mInitiatingEdge;
@@ -223,10 +224,10 @@ public class SideSlideLayout extends ViewGroup {
@@ -220,10 +221,10 @@ public class SideSlideLayout extends ViewGroup {
* Set the direction used for sliding gesture.
* @param forward {@code true} if direction is forward.
*/
@@ -189,7 +193,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/gesturenav/Side
}
public void setInitiatingEdge(@BackGestureEventSwipeEdge int edge) {
@@ -332,7 +333,7 @@ public class SideSlideLayout extends ViewGroup {
@@ -329,7 +330,7 @@ public class SideSlideLayout extends ViewGroup {
mWillNavigate = navigating;
if (mCloseIndicator != CloseTarget.NONE) {
@@ -198,7 +202,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/gesturenav/Side
mArrowView.showCaption(mCloseIndicator);
mArrowViewWidth = mArrowView.getMeasuredWidth();
} else {
@@ -348,6 +349,20 @@ public class SideSlideLayout extends ViewGroup {
@@ -345,6 +346,20 @@ public class SideSlideLayout extends ViewGroup {
? -targetDiff
: targetDiff);
setTargetOffsetLeftAndRight(targetX - mCurrentTargetOffset);
@@ -222,7 +226,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/gesturenav/Side
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java b/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java
@@ -54,6 +54,7 @@ import org.chromium.chrome.browser.firstrun.FirstRunStatus;
@@ -57,6 +57,7 @@ import org.chromium.chrome.browser.firstrun.FirstRunStatus;
import org.chromium.chrome.browser.flags.ActivityType;
import org.chromium.chrome.browser.flags.ChromeFeatureList;
import org.chromium.chrome.browser.flags.ChromeSwitches;
@@ -230,7 +234,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/Tab
import org.chromium.chrome.browser.fullscreen.BrowserControlsManager;
import org.chromium.chrome.browser.fullscreen.FullscreenManager;
import org.chromium.chrome.browser.gesturenav.BackActionDelegate;
@@ -614,6 +615,8 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator {
@@ -628,6 +629,8 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator {
@Override
public void onInflationComplete() {
mCoordinator = mActivity.findViewById(R.id.coordinator);
@@ -297,7 +301,7 @@ new file mode 100644
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
@@ -103,4 +103,13 @@ found in the LICENSE file.
@@ -108,4 +108,13 @@ found in the LICENSE file.
android:summary="@string/selection_popup_smart_text_summary"
android:title="@string/selection_popup_smart_text_title" />
@@ -424,7 +424,7 @@ Based on Chromium 118.0.5993.48
diff --git a/DEPS b/DEPS
--- a/DEPS
+++ b/DEPS
@@ -176,6 +176,10 @@ vars = {
@@ -164,6 +164,10 @@ vars = {
# flag is set True.
'checkout_wpr_archives': False,
@@ -435,7 +435,7 @@ diff --git a/DEPS b/DEPS
# By default, do not check out WebKit for iOS, as it is not needed unless
# running against ToT WebKit rather than system WebKit. This can be overridden
# e.g. with custom_vars.
@@ -286,6 +290,8 @@ vars = {
@@ -272,6 +276,8 @@ vars = {
'download_libvpx_testdata': False,
'android_git': 'https://android.googlesource.com',
@@ -444,7 +444,7 @@ diff --git a/DEPS b/DEPS
'aomedia_git': 'https://aomedia.googlesource.com',
'boringssl_git': 'https://boringssl.googlesource.com',
'chrome_git': 'https://chrome-internal.googlesource.com',
@@ -502,6 +508,11 @@ vars = {
@@ -496,6 +502,11 @@ vars = {
# and whatever else without interference from each other.
'betocore_revision': '89563fec14c756482afa08b016eeba9087c8d1e3',
@@ -455,8 +455,8 @@ diff --git a/DEPS b/DEPS
+
# If you change this, also update the libc++ revision in
# //buildtools/deps_revisions.gni.
'libcxx_revision': '50ab693ecb611942ce4440d8c9ed707ee65ed5e8',
@@ -1295,6 +1306,10 @@ deps = {
'libcxx_revision': '6a68fd412b9aecd515a20a7cf84d11b598bfaf96',
@@ -1289,6 +1300,10 @@ deps = {
'condition': 'checkout_android and checkout_src_internal',
},
@@ -465,9 +465,9 @@ diff --git a/DEPS b/DEPS
+ },
+
'src/docs/website': {
'url': Var('chromium_git') + '/website.git' + '@' + '052e29447b43b18da32fff653b9d58ef79fbc836',
'url': Var('chromium_git') + '/website.git' + '@' + '4811f9e01c4cfcbf9c6957015063eaaa0d92be91',
},
@@ -1419,6 +1434,13 @@ deps = {
@@ -1424,6 +1439,13 @@ deps = {
'dep_type': 'cipd',
},
@@ -551,7 +551,7 @@ diff --git a/build/install-build-deps.py b/build/install-build-deps.py
import argparse
import functools
import os
@@ -557,7 +565,7 @@ def backwards_compatible_list(options):
@@ -558,7 +566,7 @@ def backwards_compatible_list(options):
"msttcorefonts",
"python-dev",
"python-setuptools",
@@ -573,7 +573,7 @@ diff --git a/components/BUILD.gn b/components/BUILD.gn
import("//base/debug/debug.gni")
import("//build/config/chrome_build.gni")
@@ -180,6 +183,14 @@ test("components_unittests") {
@@ -176,6 +179,14 @@ test("components_unittests") {
deps = [
"//base",
@@ -52295,7 +52295,7 @@ diff --git a/content/browser/loader/navigation_url_loader_impl.cc b/content/brow
#include "content/browser/loader/navigation_url_loader_impl.h"
#include <map>
@@ -1124,7 +1128,7 @@ void NavigationURLLoaderImpl::OnReceiveRedirect(
@@ -1132,7 +1136,7 @@ void NavigationURLLoaderImpl::OnReceiveRedirect(
LogQueueTimeHistogram("Navigation.QueueTime.OnReceiveRedirect",
resource_request_->is_outermost_main_frame);
net::Error error = net::OK;
@@ -52318,7 +52318,7 @@ diff --git a/content/browser/renderer_host/render_frame_host_impl.cc b/content/b
#include "content/browser/renderer_host/render_frame_host_impl.h"
@@ -3114,6 +3118,12 @@ void RenderFrameHostImpl::ExecuteJavaScriptMethod(
@@ -3174,6 +3178,12 @@ void RenderFrameHostImpl::ExecuteJavaScriptMethod(
std::move(callback));
}
@@ -52345,7 +52345,7 @@ diff --git a/content/browser/renderer_host/render_frame_host_impl.h b/content/br
#ifndef CONTENT_BROWSER_RENDERER_HOST_RENDER_FRAME_HOST_IMPL_H_
#define CONTENT_BROWSER_RENDERER_HOST_RENDER_FRAME_HOST_IMPL_H_
@@ -464,6 +468,10 @@ class CONTENT_EXPORT RenderFrameHostImpl
@@ -484,6 +488,10 @@ class CONTENT_EXPORT RenderFrameHostImpl
const std::u16string& method_name,
base::Value::List arguments,
JavaScriptResultCallback callback) override;
@@ -52600,7 +52600,7 @@ diff --git a/third_party/blink/renderer/core/exported/web_document.cc b/third_pa
diff --git a/third_party/blink/renderer/core/frame/local_frame_mojo_handler.cc b/third_party/blink/renderer/core/frame/local_frame_mojo_handler.cc
--- a/third_party/blink/renderer/core/frame/local_frame_mojo_handler.cc
+++ b/third_party/blink/renderer/core/frame/local_frame_mojo_handler.cc
@@ -360,6 +360,14 @@ LocalFrameMojoHandler::LocalFrameMojoHandler(blink::LocalFrame& frame)
@@ -355,6 +355,14 @@ LocalFrameMojoHandler::LocalFrameMojoHandler(blink::LocalFrame& frame)
WrapWeakPersistent(this)));
}
@@ -53109,13 +53109,13 @@ diff --git a/tools/gritsettings/resource_ids.spec b/tools/gritsettings/resource_
# This file is used to assign starting resource ids for resources and strings
# used by Chromium. This is done to ensure that resource ids are unique
# across all the grd files. If you are adding a new grd file, please add
@@ -1361,6 +1365,11 @@
"includes": [8460],
},
@@ -1384,6 +1388,11 @@
"messages": [10080],
}
+ "<(SHARED_INTERMEDIATE_DIR)/chrome/browser/resources/adblock_internals/resources.grd": {
+ "META": {"sizes": {"includes": [10]}},
+ "includes": [8480],
+ "includes": [10100],
+ },
+
# END "everything else" section.