v127 need review (#1293)
This commit is contained in:
@@ -49,6 +49,7 @@ Multiple-fingerprinting-mitigations.patch
|
||||
Add-flag-to-configure-maximum-connections-per-host.patch
|
||||
Do-not-ignore-download-location-prompt-setting.patch
|
||||
Add-support-for-writing-URIs.patch
|
||||
Restore-BookmarkToolbar-setCurrentFolder.patch
|
||||
Add-bookmark-import-export-actions.patch
|
||||
Bookmarks-select-all-menu-entry.patch
|
||||
Add-an-always-incognito-mode.patch
|
||||
|
||||
@@ -122,7 +122,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
||||
diff --git a/base/BUILD.gn b/base/BUILD.gn
|
||||
--- a/base/BUILD.gn
|
||||
+++ b/base/BUILD.gn
|
||||
@@ -220,6 +220,8 @@ buildflag_header("message_pump_buildflags") {
|
||||
@@ -202,6 +202,8 @@ buildflag_header("message_pump_buildflags") {
|
||||
# This does not include test code (test support and anything in the test
|
||||
# directory) which should use source_set as is recommended for GN targets).
|
||||
component("base") {
|
||||
@@ -131,7 +131,7 @@ diff --git a/base/BUILD.gn b/base/BUILD.gn
|
||||
sources = [
|
||||
"allocator/allocator_check.cc",
|
||||
"allocator/allocator_check.h",
|
||||
@@ -1071,7 +1073,7 @@ component("base") {
|
||||
@@ -1054,7 +1056,7 @@ component("base") {
|
||||
"//build/config/compiler:wglobal_constructors",
|
||||
]
|
||||
|
||||
@@ -143,7 +143,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
|
||||
@@ -43,6 +43,11 @@ const Feature* FeatureMap::FindFeatureExposedToJava(
|
||||
@@ -45,6 +45,11 @@ const Feature* FeatureMap::FindFeatureExposedToJava(
|
||||
static jboolean JNI_FeatureMap_IsEnabled(JNIEnv* env,
|
||||
jlong jfeature_map,
|
||||
std::string& feature_name) {
|
||||
@@ -167,8 +167,8 @@ diff --git a/base/android/java/src/org/chromium/base/cached_flags/CachedFlag.jav
|
||||
// Create the key only once to avoid String concatenation every flag check.
|
||||
if (mPreferenceKey == null) {
|
||||
mPreferenceKey = CachedFlagsSharedPreferences.FLAGS_CACHED.createKey(mFeatureName);
|
||||
@@ -174,6 +174,12 @@ public class CachedFlag extends Flag {
|
||||
.removeKeysWithPrefix(CachedFlagsSharedPreferences.FLAGS_CACHED);
|
||||
@@ -169,6 +169,12 @@ public class CachedFlag extends Flag {
|
||||
}
|
||||
}
|
||||
|
||||
+ public void setValueReturnedOverride(@Nullable Boolean value) {
|
||||
@@ -430,7 +430,7 @@ diff --git a/chrome/android/java/res/values/values.xml b/chrome/android/java/res
|
||||
diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/android/java/res/xml/privacy_preferences.xml
|
||||
--- a/chrome/android/java/res/xml/privacy_preferences.xml
|
||||
+++ b/chrome/android/java/res/xml/privacy_preferences.xml
|
||||
@@ -70,6 +70,10 @@ found in the LICENSE file.
|
||||
@@ -75,6 +75,10 @@ found in the LICENSE file.
|
||||
android:title="@string/tabgrid_use_icons_title"
|
||||
android:summary="@string/tabgrid_use_icons_summary"
|
||||
android:defaultValue="false" />
|
||||
@@ -485,7 +485,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
|
||||
@@ -128,7 +128,7 @@ public class PrivacySettings extends ChromeBaseSettingsFragment
|
||||
@@ -127,7 +127,7 @@ public class PrivacySettings extends ChromeBaseSettingsFragment
|
||||
private static final String PREF_HISTORY_EXPIRE_DAYS_THRESHOLD = "history_expire_days_threshold";
|
||||
|
||||
@Override
|
||||
@@ -505,7 +505,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/Settin
|
||||
import android.annotation.SuppressLint;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
@@ -84,6 +85,7 @@ import org.chromium.chrome.browser.ui.device_lock.MissingDeviceLockLauncher;
|
||||
@@ -85,6 +86,7 @@ import org.chromium.chrome.browser.ui.device_lock.MissingDeviceLockLauncher;
|
||||
import org.chromium.chrome.browser.ui.messages.snackbar.INeedSnackbarManager;
|
||||
import org.chromium.chrome.browser.ui.messages.snackbar.SnackbarManager;
|
||||
import org.chromium.chrome.browser.ui.messages.snackbar.SnackbarManager.SnackbarManageable;
|
||||
@@ -513,7 +513,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;
|
||||
@@ -124,6 +126,36 @@ public class SettingsActivity extends ChromeBaseAppCompatActivity
|
||||
@@ -126,6 +128,36 @@ public class SettingsActivity extends ChromeBaseAppCompatActivity
|
||||
implements PreferenceFragmentCompat.OnPreferenceStartFragmentCallback,
|
||||
SnackbarManageable,
|
||||
DisplayStyleObserver {
|
||||
@@ -550,7 +550,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";
|
||||
|
||||
@@ -377,6 +409,10 @@ public class SettingsActivity extends ChromeBaseAppCompatActivity
|
||||
@@ -379,6 +411,10 @@ public class SettingsActivity extends ChromeBaseAppCompatActivity
|
||||
((AccessibilitySettings) fragment)
|
||||
.getDelegate()).setSnackbarManager(mSnackbarManager);
|
||||
}
|
||||
@@ -558,13 +558,13 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/Settin
|
||||
+ ((ChromeBaseSettingsFragment)fragment).setRequestRestartDelegate(
|
||||
+ new RequestRestartDelegate(mSnackbarManager, this));
|
||||
+ }
|
||||
if (fragment instanceof ClearBrowsingDataFragment) {
|
||||
((ClearBrowsingDataFragment) fragment).setSnackbarManager(mSnackbarManager);
|
||||
if (fragment instanceof AccountManagementFragment) {
|
||||
((AccountManagementFragment) fragment).setSnackbarManager(mSnackbarManager);
|
||||
}
|
||||
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
|
||||
@@ -372,6 +372,10 @@ using flags_ui::kOsLinux;
|
||||
@@ -376,6 +376,10 @@ using flags_ui::kOsLinux;
|
||||
using flags_ui::kOsMac;
|
||||
using flags_ui::kOsWin;
|
||||
|
||||
@@ -575,9 +575,9 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
|
||||
namespace about_flags {
|
||||
|
||||
namespace {
|
||||
@@ -3815,6 +3819,10 @@ const FeatureEntry::FeatureVariation kComposeProactiveNudgeVariations[] = {
|
||||
std::size(kComposeProactiveNudge_LargeUI_100), nullptr}};
|
||||
#endif // ENABLE_COMPOSE
|
||||
@@ -4076,6 +4080,10 @@ const FeatureEntry::FeatureVariation kAutofillUpstreamUpdatedUiOptions[] = {
|
||||
kAutofillUpstreamUpdatedUi_Education_Animated,
|
||||
std::size(kAutofillUpstreamUpdatedUi_Education_Animated), nullptr}};
|
||||
|
||||
+#define FEATURE_PARAM_SECTION
|
||||
+#include "cromite_flags/chrome_browser_about_flags_cc.inc"
|
||||
@@ -586,7 +586,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.
|
||||
@@ -3841,6 +3849,9 @@ const FeatureEntry::FeatureVariation kComposeProactiveNudgeVariations[] = {
|
||||
@@ -4102,6 +4110,9 @@ const FeatureEntry::FeatureVariation kAutofillUpstreamUpdatedUiOptions[] = {
|
||||
const FeatureEntry kFeatureEntries[] = {
|
||||
// Include generated flags for flag unexpiry; see //docs/flag_expiry.md and
|
||||
// //tools/flags/generate_unexpire_flags.py.
|
||||
@@ -599,9 +599,9 @@ 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
|
||||
@@ -415,4 +415,5 @@ BASE_FEATURE(kWebUsbDeviceDetection,
|
||||
"WebUsbDeviceDetection",
|
||||
base::FEATURE_ENABLED_BY_DEFAULT);
|
||||
@@ -401,4 +401,5 @@ BASE_FEATURE(kBrowserDynamicCodeDisabled,
|
||||
base::FEATURE_DISABLED_BY_DEFAULT);
|
||||
#endif // BUILDFLAG(IS_WIN)
|
||||
|
||||
+#include "cromite_flags/chrome_browser_browser_features_cc.inc"
|
||||
} // namespace features
|
||||
@@ -647,7 +647,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
|
||||
@@ -1002,5 +1002,6 @@ BASE_FEATURE(kWebApkAllowIconUpdate,
|
||||
@@ -1036,5 +1036,6 @@ BASE_FEATURE(kWebApkAllowIconUpdate,
|
||||
"WebApkAllowIconUpdate",
|
||||
base::FEATURE_DISABLED_BY_DEFAULT);
|
||||
|
||||
@@ -657,7 +657,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
|
||||
@@ -189,6 +189,7 @@ constexpr base::FeatureParam<int> kAuxiliarySearchMaxTabsCountParam(
|
||||
@@ -193,6 +193,7 @@ constexpr base::FeatureParam<int> kAuxiliarySearchMaxTabsCountParam(
|
||||
"auxiliary_search_max_donation_tab",
|
||||
100);
|
||||
|
||||
@@ -679,7 +679,7 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
@@ -700,7 +704,7 @@ public abstract class ChromeFeatureList {
|
||||
@@ -719,7 +723,7 @@ public abstract class ChromeFeatureList {
|
||||
public static final CachedFlag sVerticalAutomotiveBackButtonToolbar =
|
||||
newCachedFlag(VERTICAL_AUTOMOTIVE_BACK_BUTTON_TOOLBAR, true);
|
||||
|
||||
@@ -688,7 +688,7 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f
|
||||
List.of(
|
||||
sAccountReauthenticationRecentTimeWindow,
|
||||
sAllowUserCertificates,
|
||||
@@ -793,6 +797,13 @@ public abstract class ChromeFeatureList {
|
||||
@@ -816,6 +820,13 @@ public abstract class ChromeFeatureList {
|
||||
sUseLibunwindstackNativeUnwinderAndroid,
|
||||
sVerticalAutomotiveBackButtonToolbar);
|
||||
|
||||
@@ -855,7 +855,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
|
||||
@@ -537,4 +537,5 @@ BASE_FEATURE(kStopLoadingAnimationForHiddenWindow,
|
||||
@@ -517,4 +517,5 @@ BASE_FEATURE(kStopLoadingAnimationForHiddenWindow,
|
||||
"StopLoadingAnimationForHiddenWindow",
|
||||
base::FEATURE_ENABLED_BY_DEFAULT);
|
||||
|
||||
@@ -864,7 +864,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
|
||||
@@ -1655,4 +1655,5 @@ BASE_FEATURE(kEventBasedLogUpload,
|
||||
@@ -1674,4 +1674,5 @@ BASE_FEATURE(kEventBasedLogUpload,
|
||||
base::FEATURE_DISABLED_BY_DEFAULT);
|
||||
#endif // BUILDFLAG(IS_CHROMEOS_ASH)
|
||||
|
||||
@@ -907,9 +907,9 @@ diff --git a/components/browser_ui/settings/android/widget/java/src/org/chromium
|
||||
+import androidx.annotation.Nullable;
|
||||
+import android.content.res.TypedArray;
|
||||
+
|
||||
import androidx.annotation.ColorRes;
|
||||
import androidx.annotation.ColorInt;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.annotation.VisibleForTesting;
|
||||
import androidx.appcompat.content.res.AppCompatResources;
|
||||
@@ -31,6 +34,11 @@ public class ChromeSwitchPreference extends SwitchPreferenceCompat {
|
||||
/** Indicates if the preference uses a custom layout. */
|
||||
private final boolean mHasCustomLayout;
|
||||
@@ -949,13 +949,13 @@ diff --git a/components/components_strings.grd b/components/components_strings.g
|
||||
<part file="webapps_strings.grdp" />
|
||||
<part file="user_scripts/strings/userscripts_strings.grdp" />
|
||||
+ <part file="cromite_components_strings_grd/placeholder.txt"/>
|
||||
<if expr="use_blink">
|
||||
<part file="history_clusters_strings.grdp" />
|
||||
</if>
|
||||
<part file="history_clusters_strings.grdp" />
|
||||
<if expr="is_android">
|
||||
<part file="android_system_error_page_strings.grdp" />
|
||||
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
|
||||
@@ -118,5 +118,6 @@ BASE_FEATURE(kIndexedHostContentSettingsMap,
|
||||
@@ -113,5 +113,6 @@ BASE_FEATURE(kIndexedHostContentSettingsMap,
|
||||
"IndexedHostContentSettingsMap",
|
||||
base::FEATURE_ENABLED_BY_DEFAULT);
|
||||
|
||||
@@ -995,9 +995,9 @@ diff --git a/components/flags_ui/flags_state.cc b/components/flags_ui/flags_stat
|
||||
|
||||
const SwitchEntry& entry = entry_it->second;
|
||||
if (!entry.switch_name.empty())
|
||||
@@ -668,6 +683,27 @@ void FlagsState::GetFlagFeatureEntries(
|
||||
bool is_default_value = IsDefaultValue(entry, enabled_entries);
|
||||
data.Set("is_default", is_default_value);
|
||||
@@ -676,6 +691,27 @@ void FlagsState::GetFlagFeatureEntries(
|
||||
data.Set("links", std::move(links));
|
||||
}
|
||||
|
||||
+ if (entry.type == FeatureEntry::FEATURE_VALUE
|
||||
+ || entry.type == FeatureEntry::FEATURE_WITH_PARAMS_VALUE) {
|
||||
@@ -1023,7 +1023,7 @@ diff --git a/components/flags_ui/flags_state.cc b/components/flags_ui/flags_stat
|
||||
switch (entry.type) {
|
||||
case FeatureEntry::SINGLE_VALUE:
|
||||
case FeatureEntry::SINGLE_DISABLE_VALUE:
|
||||
@@ -796,6 +832,16 @@ void FlagsState::AddSwitchesToCommandLine(
|
||||
@@ -804,6 +840,16 @@ void FlagsState::AddSwitchesToCommandLine(
|
||||
for (const std::string& entry_name : enabled_entries) {
|
||||
const auto& entry_it = name_to_switch_map.find(entry_name);
|
||||
if (entry_it == name_to_switch_map.end()) {
|
||||
@@ -1037,10 +1037,10 @@ diff --git a/components/flags_ui/flags_state.cc b/components/flags_ui/flags_stat
|
||||
+ continue;
|
||||
+ }
|
||||
+ }
|
||||
NOTREACHED();
|
||||
NOTREACHED_IN_MIGRATION();
|
||||
continue;
|
||||
}
|
||||
@@ -1048,6 +1094,14 @@ const FeatureEntry* FlagsState::FindFeatureEntryByName(
|
||||
@@ -1056,6 +1102,14 @@ const FeatureEntry* FlagsState::FindFeatureEntryByName(
|
||||
bool FlagsState::IsSupportedFeature(const FlagsStorage* storage,
|
||||
const std::string& name,
|
||||
int platform_mask) const {
|
||||
@@ -1138,7 +1138,7 @@ diff --git a/components/flags_ui/resources/app.ts b/components/flags_ui/resource
|
||||
private announceStatusDelayMs: number = 100;
|
||||
private featuresResolver: PromiseResolver<void> = new PromiseResolver();
|
||||
private flagSearch: FlagSearch = new FlagSearch(this);
|
||||
@@ -205,6 +206,10 @@ export class FlagsAppElement extends CustomElement {
|
||||
@@ -209,6 +210,10 @@ export class FlagsAppElement extends CustomElement {
|
||||
// </if>
|
||||
|
||||
tabs: Tab[] = [
|
||||
@@ -1149,7 +1149,7 @@ diff --git a/components/flags_ui/resources/app.ts b/components/flags_ui/resource
|
||||
{
|
||||
tabEl: this.getRequiredElement('#tab-available'),
|
||||
panelEl: this.getRequiredElement('#tab-content-available'),
|
||||
@@ -218,6 +223,11 @@ export class FlagsAppElement extends CustomElement {
|
||||
@@ -222,6 +227,11 @@ export class FlagsAppElement extends CustomElement {
|
||||
];
|
||||
|
||||
connectedCallback() {
|
||||
@@ -1158,10 +1158,10 @@ diff --git a/components/flags_ui/resources/app.ts b/components/flags_ui/resource
|
||||
+ this.getRequiredElement("#appcontainer").classList.add('cromite');
|
||||
+ document.title = "Cromite Flags List";
|
||||
+ }
|
||||
// Get and display the data upon loading.
|
||||
this.requestExperimentalFeaturesData();
|
||||
// There is no restart button on iOS.
|
||||
@@ -278,20 +288,29 @@ export class FlagsAppElement extends CustomElement {
|
||||
// <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[] = [];
|
||||
|
||||
@@ -1194,7 +1194,7 @@ diff --git a/components/flags_ui/resources/app.ts b/components/flags_ui/resource
|
||||
// </if>
|
||||
|
||||
this.showRestartToast(experimentalFeaturesData.needsRestart);
|
||||
@@ -402,16 +421,23 @@ export class FlagsAppElement extends CustomElement {
|
||||
@@ -438,16 +457,23 @@ export class FlagsAppElement extends CustomElement {
|
||||
}
|
||||
|
||||
private renderExperiments(
|
||||
@@ -1219,7 +1219,7 @@ diff --git a/components/flags_ui/resources/app.ts b/components/flags_ui/resource
|
||||
if (select) {
|
||||
experiment.addEventListener('select-change', e => {
|
||||
e.preventDefault();
|
||||
@@ -435,9 +461,14 @@ export class FlagsAppElement extends CustomElement {
|
||||
@@ -471,9 +497,14 @@ export class FlagsAppElement extends CustomElement {
|
||||
this.showRestartToast(true);
|
||||
});
|
||||
}
|
||||
@@ -1305,7 +1305,7 @@ diff --git a/components/flags_ui/resources/experiment.ts b/components/flags_ui/r
|
||||
|
||||
const description = this.getRequiredElement('.description');
|
||||
description.textContent = feature.description;
|
||||
@@ -125,6 +136,7 @@ export class FlagsExperimentElement extends CustomElement {
|
||||
@@ -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}`;
|
||||
@@ -1313,7 +1313,7 @@ diff --git a/components/flags_ui/resources/experiment.ts b/components/flags_ui/r
|
||||
|
||||
const smallScreenCheck = window.matchMedia('(max-width: 480px)');
|
||||
// Toggling of experiment description overflow content on smaller screens.
|
||||
@@ -153,6 +165,10 @@ export class FlagsExperimentElement extends CustomElement {
|
||||
@@ -162,6 +174,10 @@ export class FlagsExperimentElement extends CustomElement {
|
||||
const optionEl = document.createElement('option');
|
||||
optionEl.selected = option.selected;
|
||||
optionEl.textContent = option.description;
|
||||
@@ -1362,7 +1362,7 @@ diff --git a/components/offline_pages/core/offline_page_feature.h b/components/o
|
||||
diff --git a/components/permissions/features.cc b/components/permissions/features.cc
|
||||
--- a/components/permissions/features.cc
|
||||
+++ b/components/permissions/features.cc
|
||||
@@ -142,6 +142,7 @@ BASE_FEATURE(kCpssQuietChipTextUpdate,
|
||||
@@ -149,6 +149,7 @@ BASE_FEATURE(kCpssQuietChipTextUpdate,
|
||||
"CpssQuietChipTextUpdate",
|
||||
base::FEATURE_DISABLED_BY_DEFAULT);
|
||||
|
||||
@@ -1385,7 +1385,7 @@ diff --git a/components/version_ui/version_handler_helper.cc b/components/versio
|
||||
diff --git a/content/common/features.cc b/content/common/features.cc
|
||||
--- a/content/common/features.cc
|
||||
+++ b/content/common/features.cc
|
||||
@@ -543,4 +543,5 @@ BASE_FEATURE(kWindowOpenFileSelectFix,
|
||||
@@ -579,4 +579,5 @@ BASE_FEATURE(kWindowOpenFileSelectFix,
|
||||
|
||||
// Please keep features in alphabetical order.
|
||||
|
||||
@@ -1394,7 +1394,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
|
||||
@@ -1286,4 +1286,5 @@ bool IsVideoCaptureServiceEnabledForBrowserProcess() {
|
||||
@@ -1295,4 +1295,5 @@ bool IsVideoCaptureServiceEnabledForBrowserProcess() {
|
||||
VideoCaptureServiceConfiguration::kEnabledForBrowserProcess;
|
||||
}
|
||||
|
||||
@@ -1403,7 +1403,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
|
||||
@@ -280,6 +280,7 @@ CONTENT_EXPORT BASE_DECLARE_FEATURE(kWebRtcPipeWireCapturer);
|
||||
@@ -286,6 +286,7 @@ CONTENT_EXPORT BASE_DECLARE_FEATURE(kWebRtcPipeWireCapturer);
|
||||
CONTENT_EXPORT bool IsVideoCaptureServiceEnabledForOutOfProcess();
|
||||
CONTENT_EXPORT bool IsVideoCaptureServiceEnabledForBrowserProcess();
|
||||
|
||||
@@ -1701,7 +1701,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
|
||||
@@ -1934,5 +1934,5 @@ uint32_t GetPassthroughAudioFormats() {
|
||||
@@ -1904,5 +1904,5 @@ uint32_t GetPassthroughAudioFormats() {
|
||||
return 0;
|
||||
#endif // BUILDFLAG(ENABLE_PASSTHROUGH_AUDIO_CODECS)
|
||||
}
|
||||
@@ -1711,7 +1711,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
|
||||
@@ -582,5 +582,5 @@ MEDIA_EXPORT OOPVDMode GetOutOfProcessVideoDecodingMode();
|
||||
@@ -576,5 +576,5 @@ MEDIA_EXPORT OOPVDMode GetOutOfProcessVideoDecodingMode();
|
||||
MEDIA_EXPORT uint32_t GetPassthroughAudioFormats();
|
||||
|
||||
} // namespace media
|
||||
@@ -1721,8 +1721,8 @@ 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
|
||||
@@ -549,4 +549,5 @@ BASE_FEATURE(kStoreConnectionSubtype,
|
||||
"StoreConnectionSubtype",
|
||||
@@ -550,4 +550,5 @@ BASE_FEATURE(kSpdySessionForProxyAdditionalChecks,
|
||||
"SpdySessionForProxyAdditionalChecks",
|
||||
base::FEATURE_ENABLED_BY_DEFAULT);
|
||||
|
||||
+#include "cromite_flags/net_base_features_cc.inc"
|
||||
@@ -1730,9 +1730,9 @@ diff --git a/net/base/features.cc b/net/base/features.cc
|
||||
diff --git a/net/base/features.h b/net/base/features.h
|
||||
--- a/net/base/features.h
|
||||
+++ b/net/base/features.h
|
||||
@@ -530,6 +530,7 @@ NET_EXPORT BASE_DECLARE_FEATURE(kDeviceBoundSessions);
|
||||
// save the cost of the JNI call for future access.
|
||||
NET_EXPORT BASE_DECLARE_FEATURE(kStoreConnectionSubtype);
|
||||
@@ -522,6 +522,7 @@ NET_EXPORT BASE_DECLARE_FEATURE(kStorageAccessHeaders);
|
||||
// not causing any problems.
|
||||
NET_EXPORT BASE_DECLARE_FEATURE(kSpdySessionForProxyAdditionalChecks);
|
||||
|
||||
+#include "cromite_flags/net_base_features_h.inc"
|
||||
} // namespace net::features
|
||||
@@ -1741,28 +1741,28 @@ diff --git a/net/base/features.h b/net/base/features.h
|
||||
diff --git a/services/network/public/cpp/features.cc b/services/network/public/cpp/features.cc
|
||||
--- a/services/network/public/cpp/features.cc
|
||||
+++ b/services/network/public/cpp/features.cc
|
||||
@@ -483,4 +483,5 @@ BASE_FEATURE(kDocumentIsolationPolicy,
|
||||
"DocumentIsolationPolicy",
|
||||
base::FEATURE_DISABLED_BY_DEFAULT);
|
||||
@@ -518,4 +518,5 @@ const base::FeatureParam<int> kNetworkContextPrefetchMaxLoaders{
|
||||
&kNetworkContextPrefetch,
|
||||
/*name=*/"max_loaders", /*default_value=*/10};
|
||||
|
||||
+#include "cromite_flags/services_network_public_cpp_features_cc.inc"
|
||||
} // namespace network::features
|
||||
diff --git a/services/network/public/cpp/features.h b/services/network/public/cpp/features.h
|
||||
--- a/services/network/public/cpp/features.h
|
||||
+++ b/services/network/public/cpp/features.h
|
||||
@@ -195,6 +195,7 @@ BASE_DECLARE_FEATURE(kAvoidResourceRequestCopies);
|
||||
|
||||
COMPONENT_EXPORT(NETWORK_CPP) BASE_DECLARE_FEATURE(kDocumentIsolationPolicy);
|
||||
@@ -212,6 +212,7 @@ BASE_DECLARE_FEATURE(kNetworkContextPrefetch);
|
||||
COMPONENT_EXPORT(NETWORK_CPP)
|
||||
extern const base::FeatureParam<int> kNetworkContextPrefetchMaxLoaders;
|
||||
|
||||
+#include "cromite_flags/services_network_public_cpp_features_h.inc"
|
||||
} // namespace features
|
||||
} // namespace network
|
||||
} // namespace network::features
|
||||
|
||||
#endif // SERVICES_NETWORK_PUBLIC_CPP_FEATURES_H_
|
||||
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
|
||||
@@ -2647,5 +2647,6 @@ BASE_FEATURE(kRenderSizeInScoreAdBrowserSignals,
|
||||
"RenderSizeInScoreAdBrowserSignals",
|
||||
@@ -2678,5 +2678,6 @@ BASE_FEATURE(kOptimizeLoadingDataUrls,
|
||||
"OptimizeLoadingDataUrls",
|
||||
base::FEATURE_DISABLED_BY_DEFAULT);
|
||||
|
||||
+#include "cromite_flags/third_party_blink_common_features_cc.inc"
|
||||
@@ -1771,9 +1771,9 @@ diff --git a/third_party/blink/common/features.cc b/third_party/blink/common/fea
|
||||
diff --git a/third_party/blink/public/common/features.h b/third_party/blink/public/common/features.h
|
||||
--- a/third_party/blink/public/common/features.h
|
||||
+++ b/third_party/blink/public/common/features.h
|
||||
@@ -1712,6 +1712,7 @@ BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(kNoThrottlingVisibleAgent);
|
||||
// https://github.com/WICG/turtledove/blob/main/FLEDGE.md#23-scoring-bids
|
||||
BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(kRenderSizeInScoreAdBrowserSignals);
|
||||
@@ -1747,6 +1747,7 @@ BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(kRenderSizeInScoreAdBrowserSignals);
|
||||
// Optimize loading data: URLs.
|
||||
BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(kOptimizeLoadingDataUrls);
|
||||
|
||||
+#include "cromite_flags/third_party_blink_common_features_h.inc"
|
||||
} // namespace features
|
||||
|
||||
@@ -16,7 +16,6 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
||||
.../chrome/browser/app/ChromeActivity.java | 4 ++-
|
||||
.../overlays/strip/StripLayoutHelper.java | 10 +++++--
|
||||
.../strip/StripLayoutHelperManager.java | 7 ++++-
|
||||
.../browser/tasks/ReturnToChromeUtil.java | 4 ++-
|
||||
.../chrome/browser/ui/RootUiCoordinator.java | 5 +++-
|
||||
chrome/browser/preferences/BUILD.gn | 1 +
|
||||
.../preferences/ChromePreferenceKeys.java | 1 +
|
||||
@@ -30,7 +29,6 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
||||
.../java/res/values-sw600dp/dimens.xml | 5 ++--
|
||||
.../toolbar/java/res/values/dimens.xml | 5 ++--
|
||||
.../browser/toolbar/ControlContainer.java | 2 +-
|
||||
.../browser/toolbar/ToolbarFeatures.java | 4 ++-
|
||||
.../top/TabStripTransitionCoordinator.java | 2 +-
|
||||
.../toolbar/top/ToolbarControlContainer.java | 28 ++++++++++++++++++-
|
||||
.../browser/toolbar/top/ToolbarLayout.java | 5 +++-
|
||||
@@ -38,12 +36,12 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
||||
.../res/xml/accessibility_preferences.xml | 5 ++++
|
||||
.../AccessibilitySettingsDelegate.java | 11 ++++++++
|
||||
.../chromium/ui/base/DeviceFormFactor.java | 9 ++++++
|
||||
34 files changed, 174 insertions(+), 35 deletions(-)
|
||||
32 files changed, 168 insertions(+), 33 deletions(-)
|
||||
|
||||
diff --git a/chrome/android/features/start_surface/java/src/org/chromium/chrome/features/start_surface/StartSurfaceMediator.java b/chrome/android/features/start_surface/java/src/org/chromium/chrome/features/start_surface/StartSurfaceMediator.java
|
||||
--- a/chrome/android/features/start_surface/java/src/org/chromium/chrome/features/start_surface/StartSurfaceMediator.java
|
||||
+++ b/chrome/android/features/start_surface/java/src/org/chromium/chrome/features/start_surface/StartSurfaceMediator.java
|
||||
@@ -100,6 +100,7 @@ import org.chromium.components.browser_ui.widget.gesture.BackPressHandler;
|
||||
@@ -97,6 +97,7 @@ import org.chromium.components.browser_ui.widget.gesture.BackPressHandler;
|
||||
import org.chromium.components.embedder_support.util.UrlUtilities;
|
||||
import org.chromium.components.prefs.PrefService;
|
||||
import org.chromium.content_public.browser.LoadUrlParams;
|
||||
@@ -51,7 +49,7 @@ diff --git a/chrome/android/features/start_surface/java/src/org/chromium/chrome/
|
||||
import org.chromium.ui.modelutil.PropertyModel;
|
||||
import org.chromium.ui.text.EmptyTextWatcher;
|
||||
import org.chromium.ui.util.ColorUtils;
|
||||
@@ -1130,7 +1131,9 @@ class StartSurfaceMediator
|
||||
@@ -1124,7 +1125,9 @@ class StartSurfaceMediator
|
||||
int getTopToolbarPlaceholderHeight() {
|
||||
// If logo is visible in Start surface instead of in the toolbar, we don't need to show the
|
||||
// top margin of the fake search box.
|
||||
@@ -103,7 +101,7 @@ diff --git a/chrome/android/java/res/values-sw600dp/dimens.xml b/chrome/android/
|
||||
diff --git a/chrome/android/java/res/values/dimens.xml b/chrome/android/java/res/values/dimens.xml
|
||||
--- a/chrome/android/java/res/values/dimens.xml
|
||||
+++ b/chrome/android/java/res/values/dimens.xml
|
||||
@@ -123,9 +123,13 @@ found in the LICENSE file.
|
||||
@@ -120,9 +120,13 @@ found in the LICENSE file.
|
||||
<dimen name="tab_modal_scrim_vertical_margin">16dp</dimen>
|
||||
|
||||
<!-- Should match toolbar_height_no_shadow -->
|
||||
@@ -121,7 +119,7 @@ diff --git a/chrome/android/java/res/values/dimens.xml b/chrome/android/java/res
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
|
||||
@@ -2277,7 +2277,9 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
|
||||
@@ -2280,7 +2280,9 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
|
||||
|
||||
@Override
|
||||
public int getControlContainerHeightResource() {
|
||||
@@ -135,7 +133,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/WarmupManager.java b/chrome/android/java/src/org/chromium/chrome/browser/WarmupManager.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/WarmupManager.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/WarmupManager.java
|
||||
@@ -54,6 +54,7 @@ import org.chromium.components.embedder_support.util.UrlConstants;
|
||||
@@ -56,6 +56,7 @@ import org.chromium.components.embedder_support.util.UrlConstants;
|
||||
import org.chromium.content_public.browser.WebContents;
|
||||
import org.chromium.content_public.browser.WebContentsObserver;
|
||||
import org.chromium.ui.LayoutInflaterUtils;
|
||||
@@ -143,7 +141,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/WarmupManager.j
|
||||
import org.chromium.ui.base.WindowAndroid;
|
||||
import org.chromium.ui.display.DisplayUtil;
|
||||
|
||||
@@ -405,7 +406,9 @@ public class WarmupManager {
|
||||
@@ -425,7 +426,9 @@ public class WarmupManager {
|
||||
(ControlContainer) mainView.findViewById(R.id.control_container);
|
||||
|
||||
if (toolbarId != ActivityUtils.NO_RESOURCE_ID && controlContainer != null) {
|
||||
@@ -230,7 +228,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/accessibility/s
|
||||
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
|
||||
@@ -869,7 +869,9 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
|
||||
@@ -862,7 +862,9 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
|
||||
// Inflate the correct toolbar layout for the device.
|
||||
int toolbarLayoutId = getToolbarLayoutId();
|
||||
if (toolbarLayoutId != ActivityUtils.NO_RESOURCE_ID && controlContainer != null) {
|
||||
@@ -244,15 +242,15 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/strip/StripLayoutHelper.java b/chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/strip/StripLayoutHelper.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/strip/StripLayoutHelper.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/strip/StripLayoutHelper.java
|
||||
@@ -73,6 +73,7 @@ import org.chromium.chrome.browser.tasks.tab_management.TabUiThemeUtil;
|
||||
import org.chromium.components.browser_ui.styles.ChromeColors;
|
||||
import org.chromium.components.browser_ui.styles.SemanticColorUtils;
|
||||
@@ -84,6 +84,7 @@ import org.chromium.components.feature_engagement.Tracker;
|
||||
import org.chromium.components.prefs.PrefService;
|
||||
import org.chromium.components.tab_groups.TabGroupColorId;
|
||||
import org.chromium.components.user_prefs.UserPrefs;
|
||||
+import org.chromium.ui.base.DeviceFormFactor;
|
||||
import org.chromium.ui.base.LocalizationUtils;
|
||||
import org.chromium.ui.base.WindowAndroid;
|
||||
import org.chromium.ui.interpolators.Interpolators;
|
||||
@@ -4883,8 +4884,13 @@ public class StripLayoutHelper implements StripLayoutTabDelegate, StripLayoutGro
|
||||
@@ -5059,8 +5060,13 @@ public class StripLayoutHelper implements StripLayoutTabDelegate, StripLayoutGro
|
||||
mTabMenu.setAnchorView(tabView);
|
||||
// 3. Set the vertical offset to align the tab menu with bottom of the tab strip
|
||||
int tabHeight = mManagerHost.getHeight();
|
||||
@@ -271,7 +269,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/over
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/strip/StripLayoutHelperManager.java b/chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/strip/StripLayoutHelperManager.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/strip/StripLayoutHelperManager.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/strip/StripLayoutHelperManager.java
|
||||
@@ -78,6 +78,7 @@ import org.chromium.chrome.browser.ui.system.StatusBarColorController;
|
||||
@@ -80,6 +80,7 @@ import org.chromium.chrome.browser.ui.system.StatusBarColorController;
|
||||
import org.chromium.components.browser_ui.styles.SemanticColorUtils;
|
||||
import org.chromium.components.browser_ui.widget.scrim.ScrimProperties;
|
||||
import org.chromium.content_public.browser.LoadUrlParams;
|
||||
@@ -279,7 +277,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/over
|
||||
import org.chromium.ui.base.LocalizationUtils;
|
||||
import org.chromium.ui.base.PageTransition;
|
||||
import org.chromium.ui.base.WindowAndroid;
|
||||
@@ -402,11 +403,15 @@ public class StripLayoutHelperManager
|
||||
@@ -405,11 +406,15 @@ public class StripLayoutHelperManager
|
||||
|
||||
mIsLayoutOptimizationsEnabled =
|
||||
ToolbarFeatures.isTabStripWindowLayoutOptimizationEnabled(true);
|
||||
@@ -296,24 +294,10 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/over
|
||||
mTopPadding = mHeight - mScrollableStripHeight;
|
||||
mDesktopWindowStateProvider = desktopWindowStateProvider;
|
||||
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tasks/ReturnToChromeUtil.java b/chrome/android/java/src/org/chromium/chrome/browser/tasks/ReturnToChromeUtil.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/tasks/ReturnToChromeUtil.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tasks/ReturnToChromeUtil.java
|
||||
@@ -929,7 +929,9 @@ public final class ReturnToChromeUtil {
|
||||
// TODO(b/331667743): Clean up the flag for scrollable mvt while cleaning up surface polish
|
||||
// code.
|
||||
boolean isSurfacePolishEnabled = ChromeFeatureList.sSurfacePolish.isEnabled();
|
||||
- if (!DeviceFormFactor.isNonMultiDisplayContextOnTablet(context)) {
|
||||
+ if (!DeviceFormFactor.isNonMultiDisplayContextOnTablet(context) ||
|
||||
+ ChromeSharedPreferences.getInstance().readBoolean(
|
||||
+ ChromePreferenceKeys.FLAGS_FORCE_TABLET_UI_ENABLED, false)) {
|
||||
// On phones, parameter SURFACE_POLISH_SCROLLABLE_MVT is checked when feature flag
|
||||
// surface polish is enabled; otherwise, feature flag
|
||||
// SHOW_SCROLLABLE_MVT_ON_NTP_PHONE_ANDROID is checked.
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordinator.java b/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordinator.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordinator.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordinator.java
|
||||
@@ -97,6 +97,7 @@ import org.chromium.chrome.browser.password_manager.ManagePasswordsReferrer;
|
||||
@@ -98,6 +98,7 @@ import org.chromium.chrome.browser.password_manager.ManagePasswordsReferrer;
|
||||
import org.chromium.chrome.browser.password_manager.PasswordManagerLauncher;
|
||||
import org.chromium.chrome.browser.pdf.PdfPage;
|
||||
import org.chromium.chrome.browser.preferences.ChromeSharedPreferences;
|
||||
@@ -321,7 +305,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordi
|
||||
import org.chromium.chrome.browser.price_tracking.CurrentTabPriceTrackingStateSupplier;
|
||||
import org.chromium.chrome.browser.price_tracking.PriceTrackingButtonController;
|
||||
import org.chromium.chrome.browser.profiles.Profile;
|
||||
@@ -1610,7 +1611,9 @@ public class RootUiCoordinator
|
||||
@@ -1611,7 +1612,9 @@ public class RootUiCoordinator
|
||||
if (!mSupportsFindInPageSupplier.getAsBoolean()) return;
|
||||
|
||||
int stubId = R.id.find_toolbar_stub;
|
||||
@@ -346,7 +330,7 @@ diff --git a/chrome/browser/preferences/BUILD.gn b/chrome/browser/preferences/BU
|
||||
diff --git a/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java b/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java
|
||||
--- a/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java
|
||||
+++ b/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java
|
||||
@@ -268,6 +268,7 @@ public final class ChromePreferenceKeys {
|
||||
@@ -265,6 +265,7 @@ public final class ChromePreferenceKeys {
|
||||
/** Whether the app-specific history info text was already seen by users. */
|
||||
public static final String HISTORY_APP_SPECIFIC_INFO_SEEN =
|
||||
"Chrome.History.AppSpecificInfoSeen";
|
||||
@@ -401,19 +385,19 @@ diff --git a/chrome/browser/single_tab/android/java/src/org/chromium/chrome/brow
|
||||
import org.chromium.ui.modelutil.PropertyModel;
|
||||
import org.chromium.url.GURL;
|
||||
|
||||
@@ -90,7 +91,7 @@ public class SingleTabSwitcherOnNtpMediator implements ConfigurationChangedObser
|
||||
@@ -87,7 +88,7 @@ public class SingleTabSwitcherOnNtpMediator {
|
||||
mSingleTabCardClickedCallback = singleTabCardClickedCallback;
|
||||
mIsSurfacePolishEnabled = tabContentManager != null;
|
||||
mSeeMoreLinkClickedCallback = seeMoreLinkClickedCallback;
|
||||
mUiConfig = uiConfig;
|
||||
- mIsTablet = isTablet;
|
||||
+ mIsTablet = isTablet && !DeviceFormFactor.isForceTabletUI();
|
||||
mModuleDelegate = moduleDelegate;
|
||||
|
||||
mMarginNarrowWindowOnTablet =
|
||||
mMarginForPhoneAndNarrowWindowOnTablet =
|
||||
diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarCoordinator.java b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarCoordinator.java
|
||||
--- a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarCoordinator.java
|
||||
+++ b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarCoordinator.java
|
||||
@@ -774,7 +774,7 @@ public class LocationBarCoordinator
|
||||
@@ -778,7 +778,7 @@ public class LocationBarCoordinator
|
||||
}
|
||||
|
||||
private boolean isTabletWindow() {
|
||||
@@ -425,7 +409,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow
|
||||
diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||
--- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||
+++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||
@@ -1632,6 +1632,13 @@ Your Google account may have other forms of browsing history like searches and a
|
||||
@@ -1664,6 +1664,13 @@ Your Google account may have other forms of browsing history like searches and a
|
||||
Hide your IP address
|
||||
</message>
|
||||
|
||||
@@ -547,31 +531,10 @@ diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/brow
|
||||
|
||||
/**
|
||||
* @return The {@link ViewResourceAdapter} that exposes this {@link View} as a CC resource.
|
||||
diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/ToolbarFeatures.java b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/ToolbarFeatures.java
|
||||
--- a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/ToolbarFeatures.java
|
||||
+++ b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/ToolbarFeatures.java
|
||||
@@ -7,6 +7,7 @@ package org.chromium.chrome.browser.toolbar;
|
||||
import androidx.annotation.OptIn;
|
||||
import androidx.core.os.BuildCompat;
|
||||
|
||||
+import org.chromium.ui.base.DeviceFormFactor;
|
||||
import org.chromium.base.ResettersForTesting;
|
||||
import org.chromium.base.cached_flags.BooleanCachedFieldTrialParameter;
|
||||
import org.chromium.base.cached_flags.IntCachedFieldTrialParameter;
|
||||
@@ -71,7 +72,8 @@ public final class ToolbarFeatures {
|
||||
* is enabled.
|
||||
*/
|
||||
public static boolean isDynamicTopChromeEnabled() {
|
||||
- return ChromeFeatureList.sDynamicTopChrome.isEnabled();
|
||||
+ return ChromeFeatureList.sDynamicTopChrome.isEnabled()
|
||||
+ && !DeviceFormFactor.isForceTabletUI();
|
||||
}
|
||||
|
||||
/** Returns if we are using optimized window layout for tab strip. */
|
||||
diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/TabStripTransitionCoordinator.java b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/TabStripTransitionCoordinator.java
|
||||
--- a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/TabStripTransitionCoordinator.java
|
||||
+++ b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/TabStripTransitionCoordinator.java
|
||||
@@ -154,7 +154,7 @@ public class TabStripTransitionCoordinator implements ComponentCallbacks, AppHea
|
||||
@@ -155,7 +155,7 @@ public class TabStripTransitionCoordinator implements ComponentCallbacks, AppHea
|
||||
mTabStripReservedTopPadding =
|
||||
controlContainerView()
|
||||
.getResources()
|
||||
@@ -637,7 +600,7 @@ diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/brow
|
||||
import org.chromium.ui.util.TokenHolder;
|
||||
import org.chromium.url.GURL;
|
||||
|
||||
@@ -595,7 +596,9 @@ public abstract class ToolbarLayout extends FrameLayout
|
||||
@@ -596,7 +597,9 @@ public abstract class ToolbarLayout extends FrameLayout
|
||||
* not have a tab strip.
|
||||
*/
|
||||
protected int getTabStripHeightFromResource() {
|
||||
@@ -660,7 +623,7 @@ diff --git a/components/BUILD.gn b/components/BUILD.gn
|
||||
disallowed_extension_deps_ = [
|
||||
# Components should largely not depend on //extensions. Since // extensions
|
||||
# is not a component target and is linked with //chrome, depending on most
|
||||
@@ -843,7 +843,7 @@ test("components_unittests") {
|
||||
@@ -851,7 +851,7 @@ test("components_unittests") {
|
||||
# On other platforms, no components should depend on Chrome.
|
||||
# Since //chrome depends on //extensions, we also only assert_no_deps on
|
||||
# extensions targets for non-lacros builds.
|
||||
@@ -669,7 +632,7 @@ diff --git a/components/BUILD.gn b/components/BUILD.gn
|
||||
assert_no_deps = [ "//chrome/*" ]
|
||||
assert_no_deps += disallowed_extension_deps_
|
||||
}
|
||||
@@ -1129,7 +1129,7 @@ if (use_blink) {
|
||||
@@ -1137,7 +1137,7 @@ if (use_blink) {
|
||||
# dependency. On other platforms, no components should depend on Chrome.
|
||||
# Since //chrome depends on //extensions, we also only assert_no_deps on
|
||||
# extensions targets for non-lacros builds.
|
||||
|
||||
@@ -2,12 +2,14 @@ From: csagan5 <32685696+csagan5@users.noreply.github.com>
|
||||
Date: Sat, 9 Apr 2022 23:01:55 +0200
|
||||
Subject: Bookmarks select all menu entry
|
||||
|
||||
Requires: Restore-BookmarkToolbar-setCurrentFolder.patch
|
||||
|
||||
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
---
|
||||
.../res/menu/bookmark_toolbar_menu_improved.xml | 7 +++++++
|
||||
.../chrome/browser/bookmarks/BookmarkToolbar.java | 15 +++++++++++++++
|
||||
.../ui/android/strings/android_chrome_strings.grd | 3 +++
|
||||
3 files changed, 25 insertions(+)
|
||||
.../menu/bookmark_toolbar_menu_improved.xml | 7 +++++++
|
||||
.../browser/bookmarks/BookmarkToolbar.java | 18 ++++++++++++++++++
|
||||
.../android/strings/android_chrome_strings.grd | 3 +++
|
||||
3 files changed, 28 insertions(+)
|
||||
|
||||
diff --git a/chrome/android/java/res/menu/bookmark_toolbar_menu_improved.xml b/chrome/android/java/res/menu/bookmark_toolbar_menu_improved.xml
|
||||
--- a/chrome/android/java/res/menu/bookmark_toolbar_menu_improved.xml
|
||||
@@ -29,7 +31,7 @@ diff --git a/chrome/android/java/res/menu/bookmark_toolbar_menu_improved.xml b/c
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkToolbar.java b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkToolbar.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkToolbar.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkToolbar.java
|
||||
@@ -28,6 +28,8 @@ import java.util.ArrayList;
|
||||
@@ -25,6 +25,8 @@ import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.function.Function;
|
||||
|
||||
@@ -38,15 +40,24 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
|
||||
/**
|
||||
* Main toolbar of bookmark UI. It is responsible for displaying title and buttons associated with
|
||||
* the current context.
|
||||
@@ -159,6 +161,7 @@ public class BookmarkToolbar extends SelectableListToolbar<BookmarkId>
|
||||
|
||||
@@ -183,12 +185,16 @@ public class BookmarkToolbar extends SelectableListToolbar<BookmarkId>
|
||||
void setCurrentFolder(BookmarkId folder) {
|
||||
mCurrentFolder = mBookmarkModel.getBookmarkById(folder);
|
||||
+ getMenu().findItem(R.id.select_all_menu_id).setVisible(true);
|
||||
enableImportExportMenu();
|
||||
+ enableSelectAllMenu();
|
||||
}
|
||||
|
||||
void enableImportExportMenu() {
|
||||
getMenu().findItem(R.id.import_menu_id).setVisible(true);
|
||||
getMenu().findItem(R.id.export_menu_id).setVisible(true);
|
||||
}
|
||||
@@ -187,6 +190,17 @@ public class BookmarkToolbar extends SelectableListToolbar<BookmarkId>
|
||||
+
|
||||
+ void enableSelectAllMenu() {
|
||||
+ getMenu().findItem(R.id.select_all_menu_id).setVisible(true);
|
||||
}
|
||||
|
||||
void setNavigateBackRunnable(Runnable navigateBackRunnable) {
|
||||
@@ -215,6 +221,17 @@ public class BookmarkToolbar extends SelectableListToolbar<BookmarkId>
|
||||
mExportBookmarkRunnable.run();
|
||||
return true;
|
||||
}
|
||||
@@ -64,7 +75,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
|
||||
return mMenuIdClickedFunction.apply(menuItem.getItemId());
|
||||
}
|
||||
|
||||
@@ -204,6 +218,7 @@ public class BookmarkToolbar extends SelectableListToolbar<BookmarkId>
|
||||
@@ -232,6 +249,7 @@ public class BookmarkToolbar extends SelectableListToolbar<BookmarkId>
|
||||
|
||||
getMenu().findItem(R.id.import_menu_id).setVisible(mCurrentFolder != null);
|
||||
getMenu().findItem(R.id.export_menu_id).setVisible(mCurrentFolder != null);
|
||||
@@ -75,7 +86,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
|
||||
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
|
||||
@@ -250,6 +250,9 @@ CHAR_LIMIT guidelines:
|
||||
@@ -245,6 +245,9 @@ CHAR_LIMIT guidelines:
|
||||
<message name="IDS_NOTIFICATION_CATEGORY_SITES" desc="Label for notifications from websites, within a list of notification categories. [CHAR_LIMIT=32]">
|
||||
Sites
|
||||
</message>
|
||||
|
||||
@@ -7,45 +7,50 @@ Always enforce DoH even with inconsistent system DNS configuration
|
||||
|
||||
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
---
|
||||
.../browser/net/stub_resolver_config_reader.cc | 17 +----------------
|
||||
net/dns/dns_client.cc | 11 ++++++++---
|
||||
net/dns/host_resolver_manager.cc | 1 +
|
||||
3 files changed, 10 insertions(+), 19 deletions(-)
|
||||
chrome/browser/net/secure_dns_config.cc | 2 +-
|
||||
chrome/browser/net/stub_resolver_config_reader.cc | 3 +++
|
||||
net/dns/dns_client.cc | 11 ++++++++---
|
||||
net/dns/host_resolver_manager.cc | 1 +
|
||||
4 files changed, 13 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/chrome/browser/net/secure_dns_config.cc b/chrome/browser/net/secure_dns_config.cc
|
||||
--- a/chrome/browser/net/secure_dns_config.cc
|
||||
+++ b/chrome/browser/net/secure_dns_config.cc
|
||||
@@ -27,7 +27,7 @@ std::optional<net::SecureDnsMode> SecureDnsConfig::ParseMode(
|
||||
if (name == kModeSecure) {
|
||||
return net::SecureDnsMode::kSecure;
|
||||
} else if (name == kModeAutomatic) {
|
||||
- return net::SecureDnsMode::kAutomatic;
|
||||
+ return net::SecureDnsMode::kSecure;
|
||||
} else if (name == kModeOff) {
|
||||
return net::SecureDnsMode::kOff;
|
||||
}
|
||||
diff --git a/chrome/browser/net/stub_resolver_config_reader.cc b/chrome/browser/net/stub_resolver_config_reader.cc
|
||||
--- a/chrome/browser/net/stub_resolver_config_reader.cc
|
||||
+++ b/chrome/browser/net/stub_resolver_config_reader.cc
|
||||
@@ -151,7 +151,7 @@ StubResolverConfigReader::StubResolverConfigReader(PrefService* local_state,
|
||||
if (entries.count("dns-over-https@1")) {
|
||||
// The user has "Enabled" selected.
|
||||
local_state_->SetString(prefs::kDnsOverHttpsMode,
|
||||
- SecureDnsConfig::kModeAutomatic);
|
||||
+ SecureDnsConfig::kModeSecure);
|
||||
} else if (entries.count("dns-over-https@2")) {
|
||||
// The user has "Disabled" selected.
|
||||
local_state_->SetString(prefs::kDnsOverHttpsMode,
|
||||
@@ -348,22 +348,7 @@ SecureDnsConfig StubResolverConfigReader::GetAndUpdateConfiguration(
|
||||
check_parental_controls = false;
|
||||
}
|
||||
@@ -83,6 +83,7 @@ enum class SecureDnsModeDetailsForHistogram {
|
||||
|
||||
- // Check parental controls last because it can be expensive and should only be
|
||||
- // checked if necessary for the otherwise-determined mode.
|
||||
if (check_parental_controls) {
|
||||
- if (ShouldDisableDohForParentalControls()) {
|
||||
- forced_management_mode =
|
||||
- SecureDnsConfig::ManagementMode::kDisabledParentalControls;
|
||||
- secure_dns_mode = net::SecureDnsMode::kOff;
|
||||
- mode_details =
|
||||
- SecureDnsModeDetailsForHistogram::kOffByDetectedParentalControls;
|
||||
-
|
||||
- // If parental controls had not previously been checked, need to update
|
||||
- // network service.
|
||||
- if (!parental_controls_checked_)
|
||||
- update_network_service = true;
|
||||
- }
|
||||
-
|
||||
parental_controls_checked_ = true;
|
||||
}
|
||||
#if BUILDFLAG(IS_WIN)
|
||||
bool ShouldDisableDohForWindowsParentalControls() {
|
||||
+ if ((true)) return false;
|
||||
return GetWinParentalControls().web_filter;
|
||||
}
|
||||
#endif // BUILDFLAG(IS_WIN)
|
||||
@@ -189,6 +190,7 @@ void StubResolverConfigReader::UpdateNetworkService(bool record_metrics) {
|
||||
}
|
||||
|
||||
bool StubResolverConfigReader::ShouldDisableDohForManaged() {
|
||||
+ if ((true)) return false;
|
||||
// This function ignores cloud policies which are loaded on a per-profile basis.
|
||||
#if BUILDFLAG(IS_ANDROID)
|
||||
// Check for MDM/management/owner apps. android_has_owner_ is true if either a
|
||||
@@ -217,6 +219,7 @@ bool StubResolverConfigReader::ShouldDisableDohForManaged() {
|
||||
}
|
||||
|
||||
bool StubResolverConfigReader::ShouldDisableDohForParentalControls() {
|
||||
+ if ((true)) return false;
|
||||
if (parental_controls_testing_override_.has_value())
|
||||
return parental_controls_testing_override_.value();
|
||||
|
||||
diff --git a/net/dns/dns_client.cc b/net/dns/dns_client.cc
|
||||
--- a/net/dns/dns_client.cc
|
||||
|
||||
@@ -25,7 +25,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
chrome/browser/flag_descriptions.cc | 6 --
|
||||
chrome/browser/flag_descriptions.h | 3 -
|
||||
.../strings/android_chrome_strings.grd | 6 ++
|
||||
.../ui/autofill/autofill_client_provider.cc | 32 +-------
|
||||
.../ui/autofill/autofill_client_provider.cc | 34 +-------
|
||||
.../ui/autofill/autofill_client_provider.h | 6 --
|
||||
chrome/browser/ui/tab_helpers.cc | 4 +-
|
||||
components/android_autofill/browser/BUILD.gn | 1 +
|
||||
@@ -34,7 +34,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
.../autofill/AutofillManagerWrapper.java | 5 +-
|
||||
.../components/autofill/AutofillProvider.java | 7 ++
|
||||
.../BrowserSelectionActionMenuDelegate.java | 62 ++++++++++++++
|
||||
.../browser/content_autofill_driver.cc | 59 +++++++++++++
|
||||
.../browser/content_autofill_driver.cc | 12 +++
|
||||
.../content/browser/content_autofill_driver.h | 10 +++
|
||||
.../content_autofill_driver_factory.cc | 12 +++
|
||||
.../content/renderer/autofill_agent.cc | 6 ++
|
||||
@@ -47,7 +47,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
.../autofill/core/common/autofill_features.h | 4 -
|
||||
.../autofill/core/common/autofill_prefs.cc | 4 +-
|
||||
.../autofill/core/common/autofill_prefs.h | 5 ++
|
||||
32 files changed, 314 insertions(+), 94 deletions(-)
|
||||
32 files changed, 267 insertions(+), 96 deletions(-)
|
||||
create mode 100644 components/android_autofill/browser/java/src/org/chromium/components/autofill/BrowserSelectionActionMenuDelegate.java
|
||||
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/password_manager/settings/PasswordSettings.java b/chrome/android/java/src/org/chromium/chrome/browser/password_manager/settings/PasswordSettings.java
|
||||
@@ -61,7 +61,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/password_manage
|
||||
import org.chromium.base.metrics.RecordHistogram;
|
||||
import org.chromium.chrome.R;
|
||||
import org.chromium.chrome.browser.password_check.PasswordCheck;
|
||||
@@ -58,6 +59,11 @@ import java.lang.annotation.Retention;
|
||||
@@ -59,6 +60,11 @@ import java.lang.annotation.Retention;
|
||||
import java.lang.annotation.RetentionPolicy;
|
||||
import java.util.Locale;
|
||||
|
||||
@@ -73,7 +73,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/password_manage
|
||||
/**
|
||||
* The "Passwords" screen in Settings, which allows the user to enable or disable password saving,
|
||||
* to view saved passwords (just the username and URL), and to delete saved passwords.
|
||||
@@ -65,7 +71,7 @@ import java.util.Locale;
|
||||
@@ -66,7 +72,7 @@ import java.util.Locale;
|
||||
public class PasswordSettings extends ChromeBaseSettingsFragment
|
||||
implements PasswordListObserver,
|
||||
Preference.OnPreferenceClickListener,
|
||||
@@ -82,7 +82,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/password_manage
|
||||
@IntDef({
|
||||
TrustedVaultBannerState.NOT_SHOWN,
|
||||
TrustedVaultBannerState.OFFER_OPT_IN,
|
||||
@@ -95,6 +101,12 @@ public class PasswordSettings extends ChromeBaseSettingsFragment
|
||||
@@ -96,6 +102,12 @@ public class PasswordSettings extends ChromeBaseSettingsFragment
|
||||
public static final String PREF_TRUSTED_VAULT_BANNER = "trusted_vault_banner";
|
||||
public static final String PREF_KEY_MANAGE_ACCOUNT_LINK = "manage_account_link";
|
||||
|
||||
@@ -95,7 +95,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/password_manage
|
||||
private static final String PREF_KEY_CATEGORY_SAVED_PASSWORDS = "saved_passwords";
|
||||
private static final String PREF_KEY_CATEGORY_EXCEPTIONS = "exceptions";
|
||||
private static final String PREF_KEY_SAVED_PASSWORDS_NO_TEXT = "saved_passwords_no_text";
|
||||
@@ -127,6 +139,8 @@ public class PasswordSettings extends ChromeBaseSettingsFragment
|
||||
@@ -128,6 +140,8 @@ public class PasswordSettings extends ChromeBaseSettingsFragment
|
||||
private Preference mLinkPref;
|
||||
private Menu mMenu;
|
||||
|
||||
@@ -104,7 +104,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/password_manage
|
||||
private @ManagePasswordsReferrer int mManagePasswordsReferrer;
|
||||
private BottomSheetController mBottomSheetController;
|
||||
|
||||
@@ -301,6 +315,7 @@ public class PasswordSettings extends ChromeBaseSettingsFragment
|
||||
@@ -307,6 +321,7 @@ public class PasswordSettings extends ChromeBaseSettingsFragment
|
||||
}
|
||||
|
||||
createSavePasswordsSwitch();
|
||||
@@ -112,7 +112,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/password_manage
|
||||
if (shouldShowAutoSigninOption()) {
|
||||
createAutoSignInCheckbox();
|
||||
}
|
||||
@@ -574,6 +589,71 @@ public class PasswordSettings extends ChromeBaseSettingsFragment
|
||||
@@ -580,6 +595,71 @@ public class PasswordSettings extends ChromeBaseSettingsFragment
|
||||
getPrefService().getBoolean(Pref.CREDENTIALS_ENABLE_SERVICE));
|
||||
}
|
||||
|
||||
@@ -187,7 +187,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/password_manage
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/MainSettings.java b/chrome/android/java/src/org/chromium/chrome/browser/settings/MainSettings.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/settings/MainSettings.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/settings/MainSettings.java
|
||||
@@ -410,8 +410,7 @@ public class MainSettings extends ChromeBaseSettingsFragment
|
||||
@@ -436,8 +436,7 @@ public class MainSettings extends ChromeBaseSettingsFragment
|
||||
|
||||
private void updateAutofillPreferences() {
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O
|
||||
@@ -200,7 +200,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/MainSe
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.java
|
||||
@@ -88,6 +88,13 @@ import org.chromium.url.GURL;
|
||||
@@ -91,6 +91,13 @@ import java.lang.annotation.RetentionPolicy;
|
||||
import java.nio.ByteBuffer;
|
||||
import java.util.Objects;
|
||||
|
||||
@@ -214,7 +214,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.jav
|
||||
/**
|
||||
* Implementation of the interface {@link Tab}. Contains and manages a {@link ContentView}. This
|
||||
* class is not intended to be extended.
|
||||
@@ -938,6 +945,11 @@ class TabImpl implements Tab {
|
||||
@@ -970,6 +977,11 @@ class TabImpl implements Tab {
|
||||
for (TabObserver observer : mObservers) observer.onDestroyed(this);
|
||||
mObservers.clear();
|
||||
|
||||
@@ -226,7 +226,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.jav
|
||||
mUserDataHost.destroy();
|
||||
mTabViewManager.destroy();
|
||||
hideNativePage(false, null);
|
||||
@@ -1210,8 +1222,7 @@ class TabImpl implements Tab {
|
||||
@@ -1242,8 +1254,7 @@ class TabImpl implements Tab {
|
||||
*/
|
||||
boolean providesAutofillStructure() {
|
||||
// TODO(b/326231439): Check pref and AutofillService!
|
||||
@@ -236,7 +236,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.jav
|
||||
}
|
||||
|
||||
// Forwarded from TabWebContentsDelegateAndroid.
|
||||
@@ -1867,15 +1878,20 @@ class TabImpl implements Tab {
|
||||
@@ -1958,15 +1969,20 @@ class TabImpl implements Tab {
|
||||
* @return true if the the provider is available for the given WebContents.
|
||||
*/
|
||||
private boolean prepareAutofillProvider(WebContents newWebContents) {
|
||||
@@ -263,7 +263,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.jav
|
||||
mAutofillProvider =
|
||||
new AutofillProvider(
|
||||
getContext(),
|
||||
@@ -1884,7 +1900,16 @@ class TabImpl implements Tab {
|
||||
@@ -1975,7 +1991,16 @@ class TabImpl implements Tab {
|
||||
getContext().getString(R.string.app_name));
|
||||
TabImplJni.get().initializeAutofillIfNecessary(mNativeTabAndroid);
|
||||
}
|
||||
@@ -284,9 +284,9 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.jav
|
||||
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
|
||||
@@ -3759,19 +3759,6 @@ const FeatureEntry::FeatureVariation kLinkPreviewTriggerTypeVariations[] = {
|
||||
std::size(kLinkPreviewTriggerTypeLongPress), nullptr}};
|
||||
#endif // !BUILDFLAG(IS_ANDROID)
|
||||
@@ -3944,19 +3944,6 @@ const FeatureEntry::FeatureVariation kAutofillGranularFillingAvailableVariations
|
||||
kAutofillGranularFillingAvailableVariationWithExpandControlVisibleOnSelectionOnly),
|
||||
nullptr}};
|
||||
|
||||
-#if BUILDFLAG(IS_ANDROID)
|
||||
-inline constexpr flags_ui::FeatureEntry::FeatureParam
|
||||
@@ -304,7 +304,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
|
||||
const FeatureEntry::FeatureParam kDefaultBrowserPromptRefreshAggressive[] = {
|
||||
{"max_prompt_count", "-1"},
|
||||
{"reprompt_duration", "7d"},
|
||||
@@ -5749,15 +5736,6 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
@@ -6019,15 +6006,6 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
#endif // BUILDFLAG(IS_CHROMEOS_ASH)
|
||||
|
||||
#if BUILDFLAG(IS_ANDROID)
|
||||
@@ -361,9 +361,9 @@ diff --git a/chrome/browser/autofill/android/java/src/org/chromium/chrome/browse
|
||||
diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc
|
||||
--- a/chrome/browser/flag_descriptions.cc
|
||||
+++ b/chrome/browser/flag_descriptions.cc
|
||||
@@ -653,12 +653,6 @@ const char kAutofillUpdateChromeSettingsLinkToGPayWebDescription[] =
|
||||
"When enabled, Chrome Settings link directs to GPay Web rather than "
|
||||
"Payments Center for payment methods management.";
|
||||
@@ -652,12 +652,6 @@ const char kAutofillUpstreamUpdatedUiDescription[] =
|
||||
"When enabled, shows different text and images in the UI of the credit "
|
||||
"card upload save bubble.";
|
||||
|
||||
-const char kAutofillVirtualViewStructureAndroidName[] =
|
||||
- "Enable the setting to provide a virtual view structure for Autofill";
|
||||
@@ -377,9 +377,9 @@ diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descripti
|
||||
diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h
|
||||
--- a/chrome/browser/flag_descriptions.h
|
||||
+++ b/chrome/browser/flag_descriptions.h
|
||||
@@ -388,9 +388,6 @@ extern const char kAutofillUpdateChromeSettingsLinkToGPayWebDescription[];
|
||||
extern const char kAutofillMoreProminentPopupName[];
|
||||
extern const char kAutofillMoreProminentPopupDescription[];
|
||||
@@ -388,9 +388,6 @@ extern const char kAutofillSyncEwalletAccountsDescription[];
|
||||
extern const char kAutofillUpstreamUpdatedUiName[];
|
||||
extern const char kAutofillUpstreamUpdatedUiDescription[];
|
||||
|
||||
-extern const char kAutofillVirtualViewStructureAndroidName[];
|
||||
-extern const char kAutofillVirtualViewStructureAndroidDescription[];
|
||||
@@ -390,7 +390,7 @@ diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptio
|
||||
diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||
--- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||
+++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||
@@ -679,6 +679,12 @@ CHAR_LIMIT guidelines:
|
||||
@@ -672,6 +672,12 @@ For more settings that use data to improve your Chrome experience, go to <ph nam
|
||||
<message name="IDS_PASSWORD_SETTINGS_SAVE_PASSWORDS" desc="Title for the checkbox toggling whether passwords are saved or not. [CHAR_LIMIT=32]">
|
||||
Save passwords
|
||||
</message>
|
||||
@@ -400,8 +400,8 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro
|
||||
+ <message name="IDS_ENABLE_ANDROID_AUTOFILL_INCOGNITO" desc="Title for the checkbox toggling whether enable Android native autofill or not in incognito mode. [CHAR_LIMIT=32]">
|
||||
+ Enable native Android autofill in incognito
|
||||
+ </message>
|
||||
<message name="IDS_PASSWORDS_AUTO_SIGNIN_TITLE" desc="Title for checkbox to enable automatically signing the user in to websites">
|
||||
Auto Sign-in
|
||||
<message name="IDS_PASSWORDS_ACCOUNT_STORAGE_TOGGLE_TITLE" desc="Title for the toggle in settings that controls whether signed-in users can save/autofill passwords to/from their account.">
|
||||
Use and save passwords in your Google Account
|
||||
</message>
|
||||
diff --git a/chrome/browser/ui/autofill/autofill_client_provider.cc b/chrome/browser/ui/autofill/autofill_client_provider.cc
|
||||
--- a/chrome/browser/ui/autofill/autofill_client_provider.cc
|
||||
@@ -414,7 +414,7 @@ diff --git a/chrome/browser/ui/autofill/autofill_client_provider.cc b/chrome/bro
|
||||
#include "chrome/browser/keyboard_accessory/android/manual_filling_controller_impl.h"
|
||||
#include "components/android_autofill/browser/android_autofill_client.h"
|
||||
#endif // BUILDFLAG(IS_ANDROID)
|
||||
@@ -21,32 +20,13 @@
|
||||
@@ -21,35 +20,14 @@
|
||||
namespace autofill {
|
||||
namespace {
|
||||
|
||||
@@ -424,6 +424,9 @@ diff --git a/chrome/browser/ui/autofill/autofill_client_provider.cc b/chrome/bro
|
||||
- features::kAutofillVirtualViewStructureAndroid)) {
|
||||
- return false;
|
||||
- }
|
||||
- if (!prefs->GetBoolean(prefs::kAutofillThirdPartyPasswordManagersAllowed)) {
|
||||
- return false;
|
||||
- }
|
||||
- if (!prefs->GetBoolean(prefs::kAutofillUsingVirtualViewStructure)) {
|
||||
- return false;
|
||||
- }
|
||||
@@ -435,7 +438,7 @@ diff --git a/chrome/browser/ui/autofill/autofill_client_provider.cc b/chrome/bro
|
||||
- return false;
|
||||
-#endif // BUILDFLAG(IS_ANDROID)
|
||||
-}
|
||||
-
|
||||
|
||||
} // namespace
|
||||
|
||||
-AutofillClientProvider::AutofillClientProvider(PrefService* prefs)
|
||||
@@ -449,7 +452,7 @@ diff --git a/chrome/browser/ui/autofill/autofill_client_provider.cc b/chrome/bro
|
||||
#endif // BUILDFLAG(IS_ANDROID)
|
||||
}
|
||||
|
||||
@@ -54,15 +34,7 @@ AutofillClientProvider::~AutofillClientProvider() = default;
|
||||
@@ -57,15 +35,7 @@ AutofillClientProvider::~AutofillClientProvider() = default;
|
||||
|
||||
void AutofillClientProvider::CreateClientForWebContents(
|
||||
content::WebContents* web_contents) {
|
||||
@@ -457,7 +460,7 @@ diff --git a/chrome/browser/ui/autofill/autofill_client_provider.cc b/chrome/bro
|
||||
-#if BUILDFLAG(IS_ANDROID)
|
||||
- android_autofill::AndroidAutofillClient::CreateForWebContents(web_contents);
|
||||
-#else
|
||||
- NOTREACHED();
|
||||
- NOTREACHED_IN_MIGRATION();
|
||||
-#endif
|
||||
- } else {
|
||||
ChromeAutofillClient::CreateForWebContents(web_contents);
|
||||
@@ -485,7 +488,7 @@ diff --git a/chrome/browser/ui/autofill/autofill_client_provider.h b/chrome/brow
|
||||
diff --git a/chrome/browser/ui/tab_helpers.cc b/chrome/browser/ui/tab_helpers.cc
|
||||
--- a/chrome/browser/ui/tab_helpers.cc
|
||||
+++ b/chrome/browser/ui/tab_helpers.cc
|
||||
@@ -380,9 +380,7 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) {
|
||||
@@ -382,9 +382,7 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) {
|
||||
web_contents);
|
||||
chrome::ChainedBackNavigationTracker::CreateForWebContents(web_contents);
|
||||
chrome_browser_net::NetErrorTabHelper::CreateForWebContents(web_contents);
|
||||
@@ -668,170 +671,29 @@ new file mode 100644
|
||||
diff --git a/components/autofill/content/browser/content_autofill_driver.cc b/components/autofill/content/browser/content_autofill_driver.cc
|
||||
--- a/components/autofill/content/browser/content_autofill_driver.cc
|
||||
+++ b/components/autofill/content/browser/content_autofill_driver.cc
|
||||
@@ -420,6 +420,10 @@ void ContentAutofillDriver::FormsSeen(
|
||||
const std::vector<FormGlobalId>& removed_forms) {
|
||||
target->GetAutofillManager().OnFormsSeen(
|
||||
WithNewVersion(updated_forms), removed_forms);
|
||||
+ if (target->secondary_autofill_manager()) {
|
||||
+ target->secondary_autofill_manager()->OnFormsSeen(
|
||||
+ WithNewVersion(updated_forms), removed_forms);
|
||||
+ }
|
||||
});
|
||||
}
|
||||
|
||||
@@ -437,6 +441,10 @@ void ContentAutofillDriver::FormSubmitted(
|
||||
bool known_success, mojom::SubmissionSource submission_source) {
|
||||
target->GetAutofillManager().OnFormSubmitted(
|
||||
WithNewVersion(form), known_success, submission_source);
|
||||
+ if (target->secondary_autofill_manager()) {
|
||||
+ target->secondary_autofill_manager()->OnFormSubmitted(
|
||||
+ WithNewVersion(form), known_success, submission_source);
|
||||
+ }
|
||||
});
|
||||
}
|
||||
|
||||
@@ -457,6 +465,10 @@ void ContentAutofillDriver::CaretMovedInFormField(
|
||||
const FormFieldData& field, const gfx::Rect& caret_bounds) {
|
||||
target->GetAutofillManager().OnCaretMovedInFormField(
|
||||
WithNewVersion(form), field, caret_bounds);
|
||||
+ if (target->secondary_autofill_manager()) {
|
||||
+ target->secondary_autofill_manager()->OnCaretMovedInFormField(
|
||||
+ WithNewVersion(form), field, caret_bounds);
|
||||
+ }
|
||||
});
|
||||
}
|
||||
|
||||
@@ -475,6 +487,10 @@ void ContentAutofillDriver::TextFieldDidChange(const FormData& raw_form,
|
||||
const FormFieldData& field, base::TimeTicks timestamp) {
|
||||
target->GetAutofillManager().OnTextFieldDidChange(WithNewVersion(form),
|
||||
field, timestamp);
|
||||
+ if (target->secondary_autofill_manager()) {
|
||||
+ target->secondary_autofill_manager()->OnTextFieldDidChange(
|
||||
+ WithNewVersion(form), field, timestamp);
|
||||
+ }
|
||||
});
|
||||
}
|
||||
|
||||
@@ -492,6 +508,10 @@ void ContentAutofillDriver::TextFieldDidScroll(const FormData& raw_form,
|
||||
const FormFieldData& field) {
|
||||
target->GetAutofillManager().OnTextFieldDidScroll(WithNewVersion(form),
|
||||
field);
|
||||
+ if (target->secondary_autofill_manager()) {
|
||||
+ target->secondary_autofill_manager()->OnTextFieldDidScroll(
|
||||
+ WithNewVersion(form), field);
|
||||
+ }
|
||||
});
|
||||
}
|
||||
|
||||
@@ -510,6 +530,10 @@ void ContentAutofillDriver::SelectControlDidChange(
|
||||
const FormFieldData& field) {
|
||||
target->GetAutofillManager().OnSelectControlDidChange(
|
||||
WithNewVersion(form), field);
|
||||
+ if (target->secondary_autofill_manager()) {
|
||||
+ target->secondary_autofill_manager()->OnSelectControlDidChange(
|
||||
+ WithNewVersion(form), field);
|
||||
+ }
|
||||
});
|
||||
}
|
||||
|
||||
@@ -532,6 +556,10 @@ void ContentAutofillDriver::AskForValuesToFill(
|
||||
AutofillSuggestionTriggerSource trigger_source) {
|
||||
target->GetAutofillManager().OnAskForValuesToFill(
|
||||
WithNewVersion(form), field, caret_bounds, trigger_source);
|
||||
+ if (target->secondary_autofill_manager()) {
|
||||
+ target->secondary_autofill_manager()->OnAskForValuesToFill(
|
||||
+ WithNewVersion(form), field, caret_bounds, trigger_source);
|
||||
+ }
|
||||
});
|
||||
}
|
||||
|
||||
@@ -543,6 +571,8 @@ void ContentAutofillDriver::HidePopup() {
|
||||
DCHECK(!target->IsPrerendering())
|
||||
<< "We should never affect UI while prerendering";
|
||||
target->GetAutofillManager().OnHidePopup();
|
||||
+ if (target->secondary_autofill_manager())
|
||||
+ target->secondary_autofill_manager()->OnHidePopup();
|
||||
});
|
||||
}
|
||||
|
||||
@@ -554,6 +584,8 @@ void ContentAutofillDriver::FocusOnNonFormField(bool had_interacted_form) {
|
||||
this, had_interacted_form,
|
||||
[](autofill::AutofillDriver* target, bool had_interacted_form) {
|
||||
target->GetAutofillManager().OnFocusOnNonFormField(had_interacted_form);
|
||||
+ if (target->secondary_autofill_manager())
|
||||
+ target->secondary_autofill_manager()->OnFocusOnNonFormField(had_interacted_form);
|
||||
});
|
||||
}
|
||||
|
||||
@@ -571,9 +603,16 @@ void ContentAutofillDriver::FocusOnFormField(const FormData& raw_form,
|
||||
const FormFieldData& field) {
|
||||
target->GetAutofillManager().OnFocusOnFormField(WithNewVersion(form),
|
||||
field);
|
||||
+ if (target->secondary_autofill_manager()) {
|
||||
+ target->secondary_autofill_manager()->OnFocusOnFormField(
|
||||
+ WithNewVersion(form), field);
|
||||
@@ -247,6 +247,12 @@ void RouteToManager(ContentAutofillDriver& source,
|
||||
AutofillManager& manager = target.GetAutofillManager();
|
||||
(manager.*
|
||||
manager_fun)(WithNewVersion(std::forward<ManagerArgs>(args))...);
|
||||
+
|
||||
+ AutofillManager& secondary_autofill_manager = target.secondary_autofill_manager();
|
||||
+ if (secondary_autofill_manager) {
|
||||
+ (secondary_autofill_manager.*
|
||||
+ manager_fun)(WithNewVersion(std::forward<ManagerArgs>(args))...);
|
||||
+ }
|
||||
},
|
||||
[](autofill::AutofillDriver* target) {
|
||||
target->GetAutofillManager().OnFocusOnNonFormField(true);
|
||||
+ if (target->secondary_autofill_manager()) {
|
||||
+ target->secondary_autofill_manager()->OnFocusOnNonFormField(true);
|
||||
+ }
|
||||
});
|
||||
source, Lift(source, std::forward<ActualArgs>(args))...);
|
||||
}
|
||||
|
||||
@@ -588,6 +627,10 @@ void ContentAutofillDriver::DidFillAutofillFormData(const FormData& raw_form,
|
||||
base::TimeTicks timestamp) {
|
||||
target->GetAutofillManager().OnDidFillAutofillFormData(
|
||||
WithNewVersion(form), timestamp);
|
||||
+ if (target->secondary_autofill_manager()) {
|
||||
+ target->secondary_autofill_manager()->OnDidFillAutofillFormData(
|
||||
+ WithNewVersion(form), timestamp);
|
||||
+ }
|
||||
});
|
||||
}
|
||||
|
||||
@@ -597,6 +640,8 @@ void ContentAutofillDriver::DidEndTextFieldEditing() {
|
||||
}
|
||||
router().DidEndTextFieldEditing(this, [](autofill::AutofillDriver* target) {
|
||||
target->GetAutofillManager().OnDidEndTextFieldEditing();
|
||||
+ if (target->secondary_autofill_manager())
|
||||
+ target->secondary_autofill_manager()->OnDidEndTextFieldEditing();
|
||||
});
|
||||
}
|
||||
|
||||
@@ -611,6 +656,10 @@ void ContentAutofillDriver::SelectOrSelectListFieldOptionsDidChange(
|
||||
cast(target)
|
||||
->GetAutofillManager()
|
||||
.OnSelectOrSelectListFieldOptionsDidChange(WithNewVersion(form));
|
||||
+ if (target->secondary_autofill_manager()) {
|
||||
+ target->secondary_autofill_manager()->OnSelectOrSelectListFieldOptionsDidChange(
|
||||
+ WithNewVersion(form));
|
||||
+ }
|
||||
});
|
||||
}
|
||||
|
||||
@@ -632,6 +681,10 @@ void ContentAutofillDriver::JavaScriptChangedAutofilledValue(
|
||||
bool formatting_only) {
|
||||
target->GetAutofillManager().OnJavaScriptChangedAutofilledValue(
|
||||
WithNewVersion(form), field, old_value, formatting_only);
|
||||
+ if (target->secondary_autofill_manager()) {
|
||||
+ target->secondary_autofill_manager()->OnJavaScriptChangedAutofilledValue(
|
||||
+ WithNewVersion(form), field, old_value, formatting_only);
|
||||
+ }
|
||||
});
|
||||
}
|
||||
|
||||
@@ -639,6 +692,8 @@ void ContentAutofillDriver::Reset() {
|
||||
owner_->router().UnregisterDriver(this,
|
||||
/*driver_is_dying=*/false);
|
||||
@@ -589,6 +595,8 @@ void ContentAutofillDriver::JavaScriptChangedAutofilledValue(
|
||||
void ContentAutofillDriver::Reset() {
|
||||
owner_->router().UnregisterDriver(*this, /*driver_is_dying=*/false);
|
||||
autofill_manager_->Reset();
|
||||
+ if (secondary_autofill_manager_)
|
||||
+ secondary_autofill_manager_->Reset();
|
||||
}
|
||||
|
||||
const mojo::AssociatedRemote<mojom::AutofillAgent>&
|
||||
@@ -651,6 +706,10 @@ ContentAutofillDriver::GetAutofillAgent() {
|
||||
@@ -601,6 +609,10 @@ ContentAutofillDriver::GetAutofillAgent() {
|
||||
return autofill_agent_;
|
||||
}
|
||||
|
||||
@@ -839,13 +701,13 @@ diff --git a/components/autofill/content/browser/content_autofill_driver.cc b/co
|
||||
+ return secondary_autofill_manager_.get();
|
||||
+}
|
||||
+
|
||||
void ContentAutofillDriver::SetFrameAndFormMetaData(
|
||||
FormData& form,
|
||||
base::optional_ref<FormFieldData> field) const {
|
||||
void ContentAutofillDriver::LiftForTest(FormData& form) {
|
||||
form = Lift(*this, form);
|
||||
}
|
||||
diff --git a/components/autofill/content/browser/content_autofill_driver.h b/components/autofill/content/browser/content_autofill_driver.h
|
||||
--- a/components/autofill/content/browser/content_autofill_driver.h
|
||||
+++ b/components/autofill/content/browser/content_autofill_driver.h
|
||||
@@ -128,6 +128,12 @@ class ContentAutofillDriver : public AutofillDriver,
|
||||
@@ -123,6 +123,12 @@ class ContentAutofillDriver : public AutofillDriver,
|
||||
ContentAutofillDriver& operator=(const ContentAutofillDriver&) = delete;
|
||||
~ContentAutofillDriver() override;
|
||||
|
||||
@@ -858,7 +720,7 @@ diff --git a/components/autofill/content/browser/content_autofill_driver.h b/com
|
||||
content::RenderFrameHost* render_frame_host() { return &*render_frame_host_; }
|
||||
const content::RenderFrameHost* render_frame_host() const {
|
||||
return &*render_frame_host_;
|
||||
@@ -309,6 +315,10 @@ class ContentAutofillDriver : public AutofillDriver,
|
||||
@@ -282,6 +288,10 @@ class ContentAutofillDriver : public AutofillDriver,
|
||||
// The factory that created this driver. Outlives `this`.
|
||||
const raw_ref<ContentAutofillDriverFactory> owner_;
|
||||
|
||||
@@ -901,7 +763,7 @@ diff --git a/components/autofill/content/browser/content_autofill_driver_factory
|
||||
diff --git a/components/autofill/content/renderer/autofill_agent.cc b/components/autofill/content/renderer/autofill_agent.cc
|
||||
--- a/components/autofill/content/renderer/autofill_agent.cc
|
||||
+++ b/components/autofill/content/renderer/autofill_agent.cc
|
||||
@@ -1221,12 +1221,16 @@ void AutofillAgent::ShowSuggestions(
|
||||
@@ -1250,12 +1250,16 @@ void AutofillAgent::ShowSuggestions(
|
||||
password_generation_agent_->ShowPasswordGenerationSuggestions(
|
||||
input_element)) {
|
||||
is_popup_possibly_visible_ = true;
|
||||
@@ -918,13 +780,12 @@ diff --git a/components/autofill/content/renderer/autofill_agent.cc b/components
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1237,11 +1241,13 @@ void AutofillAgent::ShowSuggestions(
|
||||
@@ -1266,10 +1270,12 @@ void AutofillAgent::ShowSuggestions(
|
||||
// parenthesis to not match a regex). In this specific case we are actually
|
||||
// interested in whether the field is currently a password field, not whether
|
||||
// it has ever been a password field.
|
||||
+#if !BUILDFLAG(IS_ANDROID)
|
||||
if (!input_element.IsNull() &&
|
||||
input_element.IsPasswordField /*disable presubmit*/ () &&
|
||||
if (input_element && input_element.IsPasswordField /*disable presubmit*/ () &&
|
||||
!config_.query_password_suggestions) {
|
||||
return;
|
||||
}
|
||||
@@ -935,7 +796,7 @@ diff --git a/components/autofill/content/renderer/autofill_agent.cc b/components
|
||||
diff --git a/components/autofill/content/renderer/password_autofill_agent.cc b/components/autofill/content/renderer/password_autofill_agent.cc
|
||||
--- a/components/autofill/content/renderer/password_autofill_agent.cc
|
||||
+++ b/components/autofill/content/renderer/password_autofill_agent.cc
|
||||
@@ -836,7 +836,10 @@ void PasswordAutofillAgent::UpdatePasswordStateForTextChange(
|
||||
@@ -849,7 +849,10 @@ void PasswordAutofillAgent::UpdatePasswordStateForTextChange(
|
||||
|
||||
void PasswordAutofillAgent::TrackAutofilledElement(
|
||||
const blink::WebFormControlElement& element) {
|
||||
@@ -958,23 +819,23 @@ diff --git a/components/autofill/core/browser/autofill_driver.h b/components/aut
|
||||
+
|
||||
// Returns whether the AutofillDriver instance is associated with an active
|
||||
// frame in the MPArch sense.
|
||||
virtual bool IsInActiveFrame() const = 0;
|
||||
virtual bool IsActive() const = 0;
|
||||
diff --git a/components/autofill/core/browser/autofill_manager.h b/components/autofill/core/browser/autofill_manager.h
|
||||
--- a/components/autofill/core/browser/autofill_manager.h
|
||||
+++ b/components/autofill/core/browser/autofill_manager.h
|
||||
@@ -196,6 +196,8 @@ class AutofillManager
|
||||
@@ -201,6 +201,8 @@ class AutofillManager
|
||||
|
||||
~AutofillManager() override;
|
||||
|
||||
+ virtual bool IsAndroidAutofill() const = 0;
|
||||
+
|
||||
// The following will fail a DCHECK if called for a prerendered main frame.
|
||||
AutofillClient& client() {
|
||||
DCHECK(!driver().IsPrerendering());
|
||||
AutofillClient& client() { return driver_->GetAutofillClient(); }
|
||||
const AutofillClient& client() const { return driver_->GetAutofillClient(); }
|
||||
|
||||
diff --git a/components/autofill/core/browser/browser_autofill_manager.cc b/components/autofill/core/browser/browser_autofill_manager.cc
|
||||
--- a/components/autofill/core/browser/browser_autofill_manager.cc
|
||||
+++ b/components/autofill/core/browser/browser_autofill_manager.cc
|
||||
@@ -606,6 +606,8 @@ BrowserAutofillManager::~BrowserAutofillManager() {
|
||||
@@ -693,6 +693,8 @@ BrowserAutofillManager::~BrowserAutofillManager() {
|
||||
// (due to a navigation).
|
||||
}
|
||||
|
||||
@@ -986,7 +847,7 @@ diff --git a/components/autofill/core/browser/browser_autofill_manager.cc b/comp
|
||||
diff --git a/components/autofill/core/browser/browser_autofill_manager.h b/components/autofill/core/browser/browser_autofill_manager.h
|
||||
--- a/components/autofill/core/browser/browser_autofill_manager.h
|
||||
+++ b/components/autofill/core/browser/browser_autofill_manager.h
|
||||
@@ -136,6 +136,8 @@ class BrowserAutofillManager : public AutofillManager {
|
||||
@@ -146,6 +146,8 @@ class BrowserAutofillManager : public AutofillManager {
|
||||
|
||||
~BrowserAutofillManager() override;
|
||||
|
||||
@@ -998,7 +859,7 @@ diff --git a/components/autofill/core/browser/browser_autofill_manager.h b/compo
|
||||
diff --git a/components/autofill/core/common/autofill_features.cc b/components/autofill/core/common/autofill_features.cc
|
||||
--- a/components/autofill/core/common/autofill_features.cc
|
||||
+++ b/components/autofill/core/common/autofill_features.cc
|
||||
@@ -726,7 +726,7 @@ BASE_FEATURE(kAutofillEnableSecurityTouchEventFilteringAndroid,
|
||||
@@ -774,7 +774,7 @@ BASE_FEATURE(kAutofillEnableSecurityTouchEventFilteringAndroid,
|
||||
BASE_FEATURE(kAutofillVirtualViewStructureAndroid,
|
||||
"AutofillVirtualViewStructureAndroid",
|
||||
base::FEATURE_DISABLED_BY_DEFAULT);
|
||||
@@ -1010,7 +871,7 @@ diff --git a/components/autofill/core/common/autofill_features.cc b/components/a
|
||||
diff --git a/components/autofill/core/common/autofill_features.h b/components/autofill/core/common/autofill_features.h
|
||||
--- a/components/autofill/core/common/autofill_features.h
|
||||
+++ b/components/autofill/core/common/autofill_features.h
|
||||
@@ -231,10 +231,6 @@ BASE_DECLARE_FEATURE(kAutofillEnableSecurityTouchEventFilteringAndroid);
|
||||
@@ -240,10 +240,6 @@ BASE_DECLARE_FEATURE(kAutofillEnableSecurityTouchEventFilteringAndroid);
|
||||
|
||||
COMPONENT_EXPORT(AUTOFILL)
|
||||
BASE_DECLARE_FEATURE(kAutofillVirtualViewStructureAndroid);
|
||||
@@ -1024,7 +885,7 @@ diff --git a/components/autofill/core/common/autofill_features.h b/components/au
|
||||
diff --git a/components/autofill/core/common/autofill_prefs.cc b/components/autofill/core/common/autofill_prefs.cc
|
||||
--- a/components/autofill/core/common/autofill_prefs.cc
|
||||
+++ b/components/autofill/core/common/autofill_prefs.cc
|
||||
@@ -64,6 +64,8 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry) {
|
||||
@@ -66,6 +66,8 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry) {
|
||||
registry->RegisterBooleanPref(
|
||||
prefs::kAutofillCreditCardFidoAuthOfferCheckboxState, true);
|
||||
#endif
|
||||
@@ -1033,19 +894,19 @@ diff --git a/components/autofill/core/common/autofill_prefs.cc b/components/auto
|
||||
registry->RegisterIntegerPref(prefs::kAutocompleteLastVersionRetentionPolicy,
|
||||
0);
|
||||
registry->RegisterStringPref(prefs::kAutofillUploadEncodingSeed, "");
|
||||
@@ -104,7 +106,7 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry) {
|
||||
@@ -107,7 +109,7 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry) {
|
||||
|
||||
#if BUILDFLAG(IS_ANDROID)
|
||||
registry->RegisterBooleanPref(prefs::kAutofillUsingVirtualViewStructure,
|
||||
- false);
|
||||
+ true);
|
||||
#endif
|
||||
|
||||
#if BUILDFLAG(IS_ANDROID)
|
||||
registry->RegisterBooleanPref(
|
||||
prefs::kAutofillThirdPartyPasswordManagersAllowed, true);
|
||||
registry->RegisterBooleanPref(
|
||||
diff --git a/components/autofill/core/common/autofill_prefs.h b/components/autofill/core/common/autofill_prefs.h
|
||||
--- a/components/autofill/core/common/autofill_prefs.h
|
||||
+++ b/components/autofill/core/common/autofill_prefs.h
|
||||
@@ -87,6 +87,11 @@ inline constexpr char kAutofillUploadEventsLastResetTimestamp[] =
|
||||
@@ -100,6 +100,11 @@ inline constexpr char kAutofillUploadEventsLastResetTimestamp[] =
|
||||
// retention policy was run.
|
||||
inline constexpr char kAutocompleteLastVersionRetentionPolicy[] =
|
||||
"autocomplete.retention_policy_last_version";
|
||||
|
||||
@@ -50,7 +50,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
||||
.../android/template_url_service_android.cc | 2 +-
|
||||
.../search_engines/template_url_service.cc | 8 +-
|
||||
.../search_engines/template_url_service.h | 6 +-
|
||||
content/browser/webui/web_ui_impl.cc | 16 +-
|
||||
content/browser/webui/web_ui_impl.cc | 14 +-
|
||||
content/browser/webui/web_ui_impl.h | 3 +
|
||||
content/public/browser/web_ui.h | 1 +
|
||||
ui/base/template_expressions.cc | 21 +-
|
||||
@@ -67,7 +67,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
||||
ui/webui/resources/include_polymer.gni | 2 +-
|
||||
ui/webui/resources/js/BUILD.gn | 2 +-
|
||||
ui/webui/resources/js/load_time_data.ts | 17 +-
|
||||
60 files changed, 1098 insertions(+), 62 deletions(-)
|
||||
60 files changed, 1097 insertions(+), 61 deletions(-)
|
||||
create mode 100644 chrome/app/settings_strings_android.grdp
|
||||
create mode 100644 chrome/browser/search_engines/android/java/res/layout/search_engine_layout.xml
|
||||
create mode 100644 chrome/browser/ui/webui/settings/settings_localized_strings_provider_android.cc
|
||||
@@ -89,7 +89,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/Settin
|
||||
import org.chromium.base.IntentUtils;
|
||||
import org.chromium.chrome.browser.accessibility.settings.AccessibilitySettings;
|
||||
import org.chromium.chrome.browser.autofill.settings.AutofillPaymentMethodsFragment;
|
||||
@@ -33,6 +36,13 @@ public class SettingsLauncherImpl implements SettingsLauncher {
|
||||
@@ -36,6 +39,13 @@ public class SettingsLauncherImpl implements SettingsLauncher {
|
||||
|
||||
public SettingsLauncherImpl() {}
|
||||
|
||||
@@ -118,7 +118,7 @@ diff --git a/chrome/app/generated_resources.grd b/chrome/app/generated_resources
|
||||
<!-- Support Tool strings -->
|
||||
<if expr="not is_android">
|
||||
<part file="support_tool_strings.grdp" />
|
||||
@@ -496,7 +501,7 @@ are declared in tools/grit/grit_rule.gni.
|
||||
@@ -500,7 +505,7 @@ are declared in tools/grit/grit_rule.gni.
|
||||
Disable
|
||||
</message>
|
||||
<!-- Search strings are only used in webui, so no mobile. -->
|
||||
@@ -130,7 +130,7 @@ diff --git a/chrome/app/generated_resources.grd b/chrome/app/generated_resources
|
||||
diff --git a/chrome/app/settings_strings.grdp b/chrome/app/settings_strings.grdp
|
||||
--- a/chrome/app/settings_strings.grdp
|
||||
+++ b/chrome/app/settings_strings.grdp
|
||||
@@ -2585,6 +2585,9 @@
|
||||
@@ -2594,6 +2594,9 @@
|
||||
<message name="IDS_SETTINGS_SEARCH_ENGINES_QUERY_URL_EXPLANATION" desc="Label for explaining the format of the URL that should be entered by the user in the add/edit search engine dialog.">
|
||||
URL with <ph name="SPECIAL_SYMBOL">%s</ph> in place of query
|
||||
</message>
|
||||
@@ -408,7 +408,7 @@ new file mode 100644
|
||||
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
|
||||
--- a/chrome/browser/BUILD.gn
|
||||
+++ b/chrome/browser/BUILD.gn
|
||||
@@ -3782,6 +3782,9 @@ static_library("browser") {
|
||||
@@ -3764,6 +3764,9 @@ static_library("browser") {
|
||||
"//components/user_scripts/android",
|
||||
]
|
||||
}
|
||||
@@ -449,11 +449,10 @@ diff --git a/chrome/browser/resources/settings/BUILD.gn b/chrome/browser/resourc
|
||||
diff --git a/chrome/browser/resources/settings/page_visibility.ts b/chrome/browser/resources/settings/page_visibility.ts
|
||||
--- a/chrome/browser/resources/settings/page_visibility.ts
|
||||
+++ b/chrome/browser/resources/settings/page_visibility.ts
|
||||
@@ -47,7 +47,35 @@ export interface PrivacyPageVisibility {
|
||||
*/
|
||||
export let pageVisibility: PageVisibility;
|
||||
@@ -42,8 +42,36 @@ export interface PrivacyPageVisibility {
|
||||
searchPrediction: boolean;
|
||||
}
|
||||
|
||||
-if (loadTimeData.getBoolean('isGuest')) {
|
||||
+const isAndroid = (loadTimeData.getString('chromeAndroid') !== "");
|
||||
+if (isAndroid) {
|
||||
+ // @ts-expect-error
|
||||
@@ -482,10 +481,12 @@ diff --git a/chrome/browser/resources/settings/page_visibility.ts b/chrome/brows
|
||||
+ chrome.settingsPrivate = chrome.settingsPrivate_;
|
||||
+}
|
||||
+
|
||||
+if (loadTimeData.getBoolean('isGuest') || isAndroid) {
|
||||
// "if not chromeos" and "if chromeos" in two completely separate blocks
|
||||
// to work around closure compiler.
|
||||
// <if expr="not is_chromeos">
|
||||
function createPageVisibility(): PageVisibility|undefined {
|
||||
- if (!loadTimeData.getBoolean('isGuest')) {
|
||||
+ if (!loadTimeData.getBoolean('isGuest') || isAndroid) {
|
||||
return undefined;
|
||||
}
|
||||
|
||||
diff --git a/chrome/browser/resources/settings/search_engines_page/search_engine_edit_dialog.html b/chrome/browser/resources/settings/search_engines_page/search_engine_edit_dialog.html
|
||||
--- a/chrome/browser/resources/settings/search_engines_page/search_engine_edit_dialog.html
|
||||
+++ b/chrome/browser/resources/settings/search_engines_page/search_engine_edit_dialog.html
|
||||
@@ -798,7 +799,7 @@ diff --git a/chrome/browser/search_engines/android/java/src/org/chromium/chrome/
|
||||
diff --git a/chrome/browser/ui/BUILD.gn b/chrome/browser/ui/BUILD.gn
|
||||
--- a/chrome/browser/ui/BUILD.gn
|
||||
+++ b/chrome/browser/ui/BUILD.gn
|
||||
@@ -1076,6 +1076,18 @@ static_library("ui") {
|
||||
@@ -1098,6 +1098,18 @@ static_library("ui") {
|
||||
|
||||
# TODO(b/335257259): Resolve circular deps.
|
||||
allow_circular_includes_from += [ "//chrome/browser/facilitated_payments" ]
|
||||
@@ -1000,7 +1001,7 @@ diff --git a/chrome/browser/ui/search_engines/template_url_table_model.h b/chrom
|
||||
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
|
||||
@@ -123,6 +123,8 @@
|
||||
@@ -122,6 +122,8 @@
|
||||
#include "chrome/browser/ui/webui/webapks/webapks_ui.h"
|
||||
#include "components/feed/buildflags.h"
|
||||
#include "components/feed/feed_feature_list.h"
|
||||
@@ -1009,7 +1010,7 @@ diff --git a/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc b/chrom
|
||||
#else // BUILDFLAG(IS_ANDROID)
|
||||
#include "chrome/browser/media/router/discovery/access_code/access_code_cast_feature.h"
|
||||
#include "chrome/browser/media/router/media_router_feature.h"
|
||||
@@ -579,6 +581,10 @@ WebUIFactoryFunction GetWebUIFactoryFunction(WebUI* web_ui,
|
||||
@@ -588,6 +590,10 @@ WebUIFactoryFunction GetWebUIFactoryFunction(WebUI* web_ui,
|
||||
return &NewWebUI<WebAppInternalsUI>;
|
||||
}
|
||||
#endif // !BUILDFLAG(IS_ANDROID)
|
||||
@@ -1215,7 +1216,7 @@ diff --git a/chrome/browser/ui/webui/settings/search_engines_handler.cc b/chrome
|
||||
+ else if (field_name.compare(kSuggestionUrlField) == 0)
|
||||
+ is_valid = field_value.empty() || edit_controller_->IsURLValid(field_value);
|
||||
else
|
||||
NOTREACHED();
|
||||
NOTREACHED_IN_MIGRATION();
|
||||
|
||||
@@ -415,18 +427,20 @@ void SearchEnginesHandler::HandleSearchEngineEditCompleted(
|
||||
if (!edit_controller_.get())
|
||||
@@ -1257,7 +1258,7 @@ diff --git a/chrome/browser/ui/webui/settings/search_engines_handler.h b/chrome/
|
||||
diff --git a/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc b/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc
|
||||
--- a/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc
|
||||
+++ b/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc
|
||||
@@ -2390,6 +2390,8 @@ void AddSearchEnginesStrings(content::WebUIDataSource* html_source) {
|
||||
@@ -2407,6 +2407,8 @@ void AddSearchEnginesStrings(content::WebUIDataSource* html_source) {
|
||||
{"searchEnginesQueryURL", IDS_SETTINGS_SEARCH_ENGINES_QUERY_URL},
|
||||
{"searchEnginesQueryURLExplanation",
|
||||
IDS_SETTINGS_SEARCH_ENGINES_QUERY_URL_EXPLANATION},
|
||||
@@ -1266,7 +1267,7 @@ diff --git a/chrome/browser/ui/webui/settings/settings_localized_strings_provide
|
||||
{"searchEnginesMakeDefault", IDS_SETTINGS_SEARCH_ENGINES_MAKE_DEFAULT},
|
||||
{"searchEnginesActivate", IDS_SETTINGS_SEARCH_ENGINES_ACTIVATE},
|
||||
{"searchEnginesDeactivate", IDS_SETTINGS_SEARCH_ENGINES_DEACTIVATE},
|
||||
@@ -3677,6 +3679,12 @@ void AddLocalizedStrings(content::WebUIDataSource* html_source,
|
||||
@@ -3711,6 +3713,12 @@ void AddLocalizedStrings(content::WebUIDataSource* html_source,
|
||||
AddSystemStrings(html_source);
|
||||
#endif
|
||||
|
||||
@@ -1780,7 +1781,7 @@ new file mode 100644
|
||||
diff --git a/chrome/chrome_paks.gni b/chrome/chrome_paks.gni
|
||||
--- a/chrome/chrome_paks.gni
|
||||
+++ b/chrome/chrome_paks.gni
|
||||
@@ -149,6 +149,17 @@ template("chrome_extra_paks") {
|
||||
@@ -156,6 +156,17 @@ template("chrome_extra_paks") {
|
||||
sources += invoker.additional_paks
|
||||
}
|
||||
|
||||
@@ -1801,8 +1802,8 @@ diff --git a/chrome/chrome_paks.gni b/chrome/chrome_paks.gni
|
||||
diff --git a/components/browser_ui/settings/android/java/src/org/chromium/components/browser_ui/settings/SettingsLauncher.java b/components/browser_ui/settings/android/java/src/org/chromium/components/browser_ui/settings/SettingsLauncher.java
|
||||
--- a/components/browser_ui/settings/android/java/src/org/chromium/components/browser_ui/settings/SettingsLauncher.java
|
||||
+++ b/components/browser_ui/settings/android/java/src/org/chromium/components/browser_ui/settings/SettingsLauncher.java
|
||||
@@ -44,6 +44,8 @@ public interface SettingsLauncher {
|
||||
int ACCESSIBILITY = 6;
|
||||
@@ -53,6 +53,8 @@ public interface SettingsLauncher {
|
||||
int MANAGE_SYNC = 9;
|
||||
}
|
||||
|
||||
+ void launchUrlInCustomTab(Context context, String url);
|
||||
@@ -1824,7 +1825,7 @@ new file mode 100644
|
||||
diff --git a/components/search_engines/android/template_url_service_android.cc b/components/search_engines/android/template_url_service_android.cc
|
||||
--- a/components/search_engines/android/template_url_service_android.cc
|
||||
+++ b/components/search_engines/android/template_url_service_android.cc
|
||||
@@ -417,7 +417,7 @@ jboolean TemplateUrlServiceAndroid::SetPlayAPISearchEngine(
|
||||
@@ -419,7 +419,7 @@ jboolean TemplateUrlServiceAndroid::SetPlayAPISearchEngine(
|
||||
if (existing_play_api_turl->safe_for_autoreplace()) {
|
||||
template_url_service_->ResetTemplateURL(
|
||||
existing_play_api_turl, existing_play_api_turl->short_name(),
|
||||
@@ -1836,7 +1837,7 @@ diff --git a/components/search_engines/android/template_url_service_android.cc b
|
||||
diff --git a/components/search_engines/template_url_service.cc b/components/search_engines/template_url_service.cc
|
||||
--- a/components/search_engines/template_url_service.cc
|
||||
+++ b/components/search_engines/template_url_service.cc
|
||||
@@ -707,13 +707,15 @@ TemplateURL* TemplateURLService::AddWithOverrides(
|
||||
@@ -708,13 +708,15 @@ TemplateURL* TemplateURLService::AddWithOverrides(
|
||||
std::unique_ptr<TemplateURL> template_url,
|
||||
const std::u16string& short_name,
|
||||
const std::u16string& keyword,
|
||||
@@ -1853,7 +1854,7 @@ diff --git a/components/search_engines/template_url_service.cc b/components/sear
|
||||
return Add(std::move(template_url));
|
||||
}
|
||||
|
||||
@@ -909,7 +911,8 @@ void TemplateURLService::IncrementUsageCount(TemplateURL* url) {
|
||||
@@ -918,7 +920,8 @@ void TemplateURLService::IncrementUsageCount(TemplateURL* url) {
|
||||
void TemplateURLService::ResetTemplateURL(TemplateURL* url,
|
||||
const std::u16string& title,
|
||||
const std::u16string& keyword,
|
||||
@@ -1863,7 +1864,7 @@ diff --git a/components/search_engines/template_url_service.cc b/components/sear
|
||||
DCHECK(!IsCreatedByExtension(url));
|
||||
DCHECK(!keyword.empty());
|
||||
DCHECK(!search_url.empty());
|
||||
@@ -921,6 +924,7 @@ void TemplateURLService::ResetTemplateURL(TemplateURL* url,
|
||||
@@ -930,6 +933,7 @@ void TemplateURLService::ResetTemplateURL(TemplateURL* url,
|
||||
// The urls have changed, reset the favicon url.
|
||||
data.favicon_url = GURL();
|
||||
}
|
||||
@@ -1884,7 +1885,7 @@ diff --git a/components/search_engines/template_url_service.h b/components/searc
|
||||
|
||||
// Removes the keyword from the model. This deletes the supplied TemplateURL.
|
||||
// This fails if the supplied template_url is the default search provider.
|
||||
@@ -316,7 +317,8 @@ class TemplateURLService final : public WebDataServiceConsumer,
|
||||
@@ -319,7 +320,8 @@ class TemplateURLService final : public WebDataServiceConsumer,
|
||||
void ResetTemplateURL(TemplateURL* url,
|
||||
const std::u16string& title,
|
||||
const std::u16string& keyword,
|
||||
@@ -1897,7 +1898,7 @@ diff --git a/components/search_engines/template_url_service.h b/components/searc
|
||||
diff --git a/content/browser/webui/web_ui_impl.cc b/content/browser/webui/web_ui_impl.cc
|
||||
--- a/content/browser/webui/web_ui_impl.cc
|
||||
+++ b/content/browser/webui/web_ui_impl.cc
|
||||
@@ -255,6 +255,10 @@ void WebUIImpl::RegisterMessageCallback(std::string_view message,
|
||||
@@ -246,6 +246,10 @@ void WebUIImpl::RegisterMessageCallback(std::string_view message,
|
||||
message_callbacks_.emplace(message, std::move(callback));
|
||||
}
|
||||
|
||||
@@ -1908,17 +1909,15 @@ diff --git a/content/browser/webui/web_ui_impl.cc b/content/browser/webui/web_ui
|
||||
void WebUIImpl::ProcessWebUIMessage(const GURL& source_url,
|
||||
const std::string& message,
|
||||
base::Value::List args) {
|
||||
@@ -268,9 +272,15 @@ void WebUIImpl::ProcessWebUIMessage(const GURL& source_url,
|
||||
@@ -259,8 +263,14 @@ void WebUIImpl::ProcessWebUIMessage(const GURL& source_url,
|
||||
return;
|
||||
}
|
||||
|
||||
- DUMP_WILL_BE_NOTREACHED_NORETURN()
|
||||
- << "Unhandled chrome.send(\"" << message << "\", " << args << "); from "
|
||||
- << source_url;
|
||||
- DUMP_WILL_BE_NOTREACHED() << "Unhandled chrome.send(\"" << message << "\", "
|
||||
- << args << "); from " << source_url;
|
||||
+ if (!do_not_crash_on_unhandled_message_) {
|
||||
+ DUMP_WILL_BE_NOTREACHED_NORETURN()
|
||||
+ << "Unhandled chrome.send(\"" << message << "\", " << args << "); from "
|
||||
+ << source_url;
|
||||
+ DUMP_WILL_BE_NOTREACHED() << "Unhandled chrome.send(\"" << message << "\", "
|
||||
+ << args << "); from " << source_url;
|
||||
+ } else {
|
||||
+ DLOG(INFO)
|
||||
+ << "---Unhandled chrome.send(\"" << message << "\", " << args << "); from "
|
||||
@@ -1930,7 +1929,7 @@ diff --git a/content/browser/webui/web_ui_impl.cc b/content/browser/webui/web_ui
|
||||
diff --git a/content/browser/webui/web_ui_impl.h b/content/browser/webui/web_ui_impl.h
|
||||
--- a/content/browser/webui/web_ui_impl.h
|
||||
+++ b/content/browser/webui/web_ui_impl.h
|
||||
@@ -83,6 +83,7 @@ class CONTENT_EXPORT WebUIImpl : public WebUI, public mojom::WebUIHost {
|
||||
@@ -80,6 +80,7 @@ class CONTENT_EXPORT WebUIImpl : public WebUI, public mojom::WebUIHost {
|
||||
void ProcessWebUIMessage(const GURL& source_url,
|
||||
const std::string& message,
|
||||
base::Value::List args) override;
|
||||
@@ -1938,7 +1937,7 @@ diff --git a/content/browser/webui/web_ui_impl.h b/content/browser/webui/web_ui_
|
||||
bool CanCallJavascript() override;
|
||||
void CallJavascriptFunctionUnsafe(std::string_view function_name) override;
|
||||
void CallJavascriptFunctionUnsafe(
|
||||
@@ -154,6 +155,8 @@ class CONTENT_EXPORT WebUIImpl : public WebUI, public mojom::WebUIHost {
|
||||
@@ -151,6 +152,8 @@ class CONTENT_EXPORT WebUIImpl : public WebUI, public mojom::WebUIHost {
|
||||
|
||||
std::unique_ptr<WebUIController> controller_;
|
||||
|
||||
@@ -2099,7 +2098,7 @@ diff --git a/ui/webui/resources/cr_elements/cr_dialog/cr_dialog.css b/ui/webui/r
|
||||
diff --git a/ui/webui/resources/cr_elements/cr_shared_vars.css b/ui/webui/resources/cr_elements/cr_shared_vars.css
|
||||
--- a/ui/webui/resources/cr_elements/cr_shared_vars.css
|
||||
+++ b/ui/webui/resources/cr_elements/cr_shared_vars.css
|
||||
@@ -226,6 +226,10 @@ html {
|
||||
@@ -228,6 +228,10 @@ html {
|
||||
--cr-form-field-label-line-height: 1;
|
||||
}
|
||||
|
||||
|
||||
@@ -59,7 +59,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
||||
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
|
||||
--- a/chrome/browser/BUILD.gn
|
||||
+++ b/chrome/browser/BUILD.gn
|
||||
@@ -2608,6 +2608,7 @@ static_library("browser") {
|
||||
@@ -2575,6 +2575,7 @@ static_library("browser") {
|
||||
"//third_party/ungoogled:switches",
|
||||
"//services/device/public/mojom",
|
||||
"//services/device/public/mojom:usb",
|
||||
@@ -81,7 +81,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
|
||||
diff --git a/chrome/browser/download/android/download_controller.cc b/chrome/browser/download/android/download_controller.cc
|
||||
--- a/chrome/browser/download/android/download_controller.cc
|
||||
+++ b/chrome/browser/download/android/download_controller.cc
|
||||
@@ -164,6 +164,36 @@ bool ShouldOpenPdfInline(DownloadItem* item) {
|
||||
@@ -170,6 +170,36 @@ bool ShouldOpenPdfInline(DownloadItem* item) {
|
||||
!item->IsMustDownload() && item->IsTransient();
|
||||
}
|
||||
|
||||
@@ -118,7 +118,7 @@ diff --git a/chrome/browser/download/android/download_controller.cc b/chrome/bro
|
||||
} // namespace
|
||||
|
||||
static void JNI_DownloadController_OnAcquirePermissionResult(
|
||||
@@ -210,7 +240,7 @@ static void JNI_DownloadController_DownloadUrl(JNIEnv* env,
|
||||
@@ -216,7 +246,7 @@ static void JNI_DownloadController_DownloadUrl(JNIEnv* env,
|
||||
if (download_manager) {
|
||||
auto dl_params = std::make_unique<download::DownloadUrlParameters>(
|
||||
GURL(url),
|
||||
@@ -130,7 +130,7 @@ diff --git a/chrome/browser/download/android/download_controller.cc b/chrome/bro
|
||||
diff --git a/chrome/browser/offline_pages/android/downloads/offline_page_download_bridge.cc b/chrome/browser/offline_pages/android/downloads/offline_page_download_bridge.cc
|
||||
--- a/chrome/browser/offline_pages/android/downloads/offline_page_download_bridge.cc
|
||||
+++ b/chrome/browser/offline_pages/android/downloads/offline_page_download_bridge.cc
|
||||
@@ -268,13 +268,43 @@ content::WebContents::Getter GetWebContentsGetter(
|
||||
@@ -270,13 +270,43 @@ content::WebContents::Getter GetWebContentsGetter(
|
||||
web_contents->GetPrimaryMainFrame()->GetRoutingID());
|
||||
}
|
||||
|
||||
@@ -289,7 +289,7 @@ new file mode 100644
|
||||
diff --git a/net/BUILD.gn b/net/BUILD.gn
|
||||
--- a/net/BUILD.gn
|
||||
+++ b/net/BUILD.gn
|
||||
@@ -1047,6 +1047,7 @@ component("net") {
|
||||
@@ -1049,6 +1049,7 @@ component("net") {
|
||||
"//build:chromeos_buildflags",
|
||||
"//components/miracle_parameter/common",
|
||||
"//net/http:transport_security_state_generated_files",
|
||||
@@ -300,7 +300,7 @@ diff --git a/net/BUILD.gn b/net/BUILD.gn
|
||||
diff --git a/net/traffic_annotation/network_traffic_annotation.h b/net/traffic_annotation/network_traffic_annotation.h
|
||||
--- a/net/traffic_annotation/network_traffic_annotation.h
|
||||
+++ b/net/traffic_annotation/network_traffic_annotation.h
|
||||
@@ -373,10 +373,6 @@ struct MutablePartialNetworkTrafficAnnotationTag {
|
||||
@@ -378,10 +378,6 @@ struct MutablePartialNetworkTrafficAnnotationTag {
|
||||
} // namespace net
|
||||
|
||||
// Placeholder for unannotated usages.
|
||||
@@ -314,7 +314,7 @@ diff --git a/net/traffic_annotation/network_traffic_annotation.h b/net/traffic_a
|
||||
diff --git a/net/url_request/url_request_http_job.cc b/net/url_request/url_request_http_job.cc
|
||||
--- a/net/url_request/url_request_http_job.cc
|
||||
+++ b/net/url_request/url_request_http_job.cc
|
||||
@@ -337,6 +337,9 @@ URLRequestHttpJob::URLRequestHttpJob(
|
||||
@@ -391,6 +391,9 @@ URLRequestHttpJob::URLRequestHttpJob(
|
||||
: URLRequestJob(request),
|
||||
http_user_agent_settings_(http_user_agent_settings) {
|
||||
ResetTimer();
|
||||
@@ -324,7 +324,7 @@ diff --git a/net/url_request/url_request_http_job.cc b/net/url_request/url_reque
|
||||
}
|
||||
|
||||
URLRequestHttpJob::~URLRequestHttpJob() {
|
||||
@@ -623,6 +626,18 @@ void URLRequestHttpJob::MaybeStartTransactionInternal(int result) {
|
||||
@@ -677,6 +680,18 @@ void URLRequestHttpJob::MaybeStartTransactionInternal(int result) {
|
||||
void URLRequestHttpJob::StartTransactionInternal() {
|
||||
DCHECK(!override_response_headers_);
|
||||
|
||||
@@ -1647,7 +1647,7 @@ new file mode 100644
|
||||
diff --git a/services/network/network_context.cc b/services/network/network_context.cc
|
||||
--- a/services/network/network_context.cc
|
||||
+++ b/services/network/network_context.cc
|
||||
@@ -93,6 +93,7 @@
|
||||
@@ -94,6 +94,7 @@
|
||||
#include "net/url_request/url_request.h"
|
||||
#include "net/url_request/url_request_context.h"
|
||||
#include "net/url_request/url_request_context_builder.h"
|
||||
@@ -1655,7 +1655,7 @@ diff --git a/services/network/network_context.cc b/services/network/network_cont
|
||||
#include "services/network/brokered_client_socket_factory.h"
|
||||
#include "services/network/cookie_manager.h"
|
||||
#include "services/network/cors/cors_url_loader_factory.h"
|
||||
@@ -1619,6 +1620,9 @@ void NetworkContext::OnNewSCTAuditingReportSent() {
|
||||
@@ -1680,6 +1681,9 @@ void NetworkContext::OnNewSCTAuditingReportSent() {
|
||||
void NetworkContext::CreateUDPSocket(
|
||||
mojo::PendingReceiver<mojom::UDPSocket> receiver,
|
||||
mojo::PendingRemote<mojom::UDPSocketListener> listener) {
|
||||
@@ -1665,7 +1665,7 @@ diff --git a/services/network/network_context.cc b/services/network/network_cont
|
||||
socket_factory_->CreateUDPSocket(std::move(receiver), std::move(listener));
|
||||
}
|
||||
|
||||
@@ -1631,6 +1635,17 @@ void NetworkContext::CreateRestrictedUDPSocket(
|
||||
@@ -1692,6 +1696,17 @@ void NetworkContext::CreateRestrictedUDPSocket(
|
||||
mojo::PendingRemote<mojom::UDPSocketListener> listener,
|
||||
CreateRestrictedUDPSocketCallback callback) {
|
||||
// SimpleHostResolver is transitively owned by |this|.
|
||||
@@ -1683,7 +1683,7 @@ diff --git a/services/network/network_context.cc b/services/network/network_cont
|
||||
socket_factory_->CreateRestrictedUDPSocket(
|
||||
addr, mode, traffic_annotation, std::move(params), std::move(receiver),
|
||||
std::move(listener), SimpleHostResolver::Create(this),
|
||||
@@ -1643,6 +1658,17 @@ void NetworkContext::CreateTCPServerSocket(
|
||||
@@ -1704,6 +1719,17 @@ void NetworkContext::CreateTCPServerSocket(
|
||||
const net::MutableNetworkTrafficAnnotationTag& traffic_annotation,
|
||||
mojo::PendingReceiver<mojom::TCPServerSocket> receiver,
|
||||
CreateTCPServerSocketCallback callback) {
|
||||
@@ -1701,7 +1701,7 @@ diff --git a/services/network/network_context.cc b/services/network/network_cont
|
||||
socket_factory_->CreateTCPServerSocket(
|
||||
local_addr, std::move(options),
|
||||
static_cast<net::NetworkTrafficAnnotationTag>(traffic_annotation),
|
||||
@@ -1657,6 +1683,21 @@ void NetworkContext::CreateTCPConnectedSocket(
|
||||
@@ -1718,6 +1744,21 @@ void NetworkContext::CreateTCPConnectedSocket(
|
||||
mojo::PendingReceiver<mojom::TCPConnectedSocket> receiver,
|
||||
mojo::PendingRemote<mojom::SocketObserver> observer,
|
||||
CreateTCPConnectedSocketCallback callback) {
|
||||
@@ -1723,7 +1723,7 @@ diff --git a/services/network/network_context.cc b/services/network/network_cont
|
||||
socket_factory_->CreateTCPConnectedSocket(
|
||||
local_addr, remote_addr_list, std::move(tcp_connected_socket_options),
|
||||
static_cast<net::NetworkTrafficAnnotationTag>(traffic_annotation),
|
||||
@@ -1668,6 +1709,20 @@ void NetworkContext::CreateTCPBoundSocket(
|
||||
@@ -1729,6 +1770,20 @@ void NetworkContext::CreateTCPBoundSocket(
|
||||
const net::MutableNetworkTrafficAnnotationTag& traffic_annotation,
|
||||
mojo::PendingReceiver<mojom::TCPBoundSocket> receiver,
|
||||
CreateTCPBoundSocketCallback callback) {
|
||||
@@ -1744,7 +1744,7 @@ diff --git a/services/network/network_context.cc b/services/network/network_cont
|
||||
socket_factory_->CreateTCPBoundSocket(
|
||||
local_addr,
|
||||
static_cast<net::NetworkTrafficAnnotationTag>(traffic_annotation),
|
||||
@@ -1734,6 +1789,24 @@ void NetworkContext::CreateWebSocket(
|
||||
@@ -1795,6 +1850,24 @@ void NetworkContext::CreateWebSocket(
|
||||
mojo::PendingRemote<mojom::WebSocketAuthenticationHandler> auth_handler,
|
||||
mojo::PendingRemote<mojom::TrustedHeaderClient> header_client,
|
||||
const std::optional<base::UnguessableToken>& throttling_profile_id) {
|
||||
@@ -1772,7 +1772,7 @@ diff --git a/services/network/network_context.cc b/services/network/network_cont
|
||||
diff --git a/services/network/public/cpp/simple_url_loader.cc b/services/network/public/cpp/simple_url_loader.cc
|
||||
--- a/services/network/public/cpp/simple_url_loader.cc
|
||||
+++ b/services/network/public/cpp/simple_url_loader.cc
|
||||
@@ -1276,6 +1276,8 @@ SimpleURLLoaderImpl::SimpleURLLoaderImpl(
|
||||
@@ -1277,6 +1277,8 @@ SimpleURLLoaderImpl::SimpleURLLoaderImpl(
|
||||
timeout_timer_(timeout_tick_clock_) {
|
||||
// Allow creation and use on different threads.
|
||||
DETACH_FROM_SEQUENCE(sequence_checker_);
|
||||
@@ -1781,7 +1781,7 @@ diff --git a/services/network/public/cpp/simple_url_loader.cc b/services/network
|
||||
#if DCHECK_IS_ON()
|
||||
if (resource_request_->request_body) {
|
||||
for (const DataElement& element :
|
||||
@@ -1717,6 +1719,22 @@ void SimpleURLLoaderImpl::StartRequest(
|
||||
@@ -1724,6 +1726,22 @@ void SimpleURLLoaderImpl::StartRequest(
|
||||
resource_request_->request_body->AppendDataPipe(
|
||||
string_upload_data_pipe_getter_->GetRemoteForNewUpload());
|
||||
}
|
||||
@@ -1815,7 +1815,7 @@ diff --git a/services/network/public/cpp/simple_url_loader.h b/services/network/
|
||||
|
||||
class GURL;
|
||||
|
||||
@@ -408,6 +409,8 @@ class COMPONENT_EXPORT(NETWORK_CPP) SimpleURLLoader {
|
||||
@@ -413,6 +414,8 @@ class COMPONENT_EXPORT(NETWORK_CPP) SimpleURLLoader {
|
||||
|
||||
protected:
|
||||
SimpleURLLoader();
|
||||
@@ -1833,7 +1833,7 @@ diff --git a/third_party/blink/renderer/platform/loader/fetch/fetch_utils.cc b/t
|
||||
case network::mojom::RequestDestination::kFencedframe:
|
||||
- case network::mojom::RequestDestination::kWebIdentity:
|
||||
- case network::mojom::RequestDestination::kSharedStorageWorklet:
|
||||
NOTREACHED();
|
||||
NOTREACHED_IN_MIGRATION();
|
||||
[[fallthrough]];
|
||||
|
||||
+ // Split destination with new annotations
|
||||
|
||||
@@ -4,18 +4,21 @@ Subject: Keep ComputePressure disabled
|
||||
|
||||
License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
||||
---
|
||||
.../blink/renderer/platform/runtime_enabled_features.json5 | 5 +++--
|
||||
1 file changed, 3 insertions(+), 2 deletions(-)
|
||||
.../renderer/platform/runtime_enabled_features.json5 | 8 +++-----
|
||||
1 file changed, 3 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5 b/third_party/blink/renderer/platform/runtime_enabled_features.json5
|
||||
--- a/third_party/blink/renderer/platform/runtime_enabled_features.json5
|
||||
+++ b/third_party/blink/renderer/platform/runtime_enabled_features.json5
|
||||
@@ -699,8 +699,9 @@
|
||||
@@ -707,11 +707,9 @@
|
||||
status: "experimental",
|
||||
},
|
||||
{
|
||||
// Shipping in M125. Should be removed after M127.
|
||||
- name: "ComputePressure",
|
||||
- status: "stable",
|
||||
- status: {
|
||||
- "Android": "",
|
||||
- "default": "stable",
|
||||
- }
|
||||
+ name: "ComputePressure", // disabled
|
||||
+ status: "experimental", // by default
|
||||
+ public: true,
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -10,8 +10,8 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
||||
.../web_package/signed_exchange_handler.cc | 7 +-
|
||||
.../web_package/signed_exchange_handler.h | 2 +
|
||||
.../web_package/signed_exchange_loader.cc | 2 +-
|
||||
net/http/transport_security_state.cc | 106 ++++++++++++------
|
||||
net/http/transport_security_state.h | 38 ++++---
|
||||
net/http/transport_security_state.cc | 109 ++++++++++++------
|
||||
net/http/transport_security_state.h | 38 +++---
|
||||
net/quic/crypto/proof_verifier_chromium.cc | 5 +-
|
||||
net/quic/quic_chromium_client_session.cc | 2 +-
|
||||
net/socket/ssl_client_socket_impl.cc | 5 +-
|
||||
@@ -22,12 +22,12 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
||||
services/network/network_context.cc | 31 +++--
|
||||
services/network/network_context.h | 13 ++-
|
||||
.../public/mojom/network_context.mojom | 9 +-
|
||||
18 files changed, 170 insertions(+), 101 deletions(-)
|
||||
18 files changed, 172 insertions(+), 102 deletions(-)
|
||||
|
||||
diff --git a/chrome/browser/ssl/https_upgrades_interceptor.cc b/chrome/browser/ssl/https_upgrades_interceptor.cc
|
||||
--- a/chrome/browser/ssl/https_upgrades_interceptor.cc
|
||||
+++ b/chrome/browser/ssl/https_upgrades_interceptor.cc
|
||||
@@ -362,6 +362,7 @@ void HttpsUpgradesInterceptor::MaybeCreateLoader(
|
||||
@@ -359,6 +359,7 @@ void HttpsUpgradesInterceptor::MaybeCreateLoader(
|
||||
network::mojom::NetworkContext* network_context =
|
||||
profile->GetDefaultStoragePartition()->GetNetworkContext();
|
||||
network_context->IsHSTSActiveForHost(
|
||||
@@ -78,7 +78,7 @@ diff --git a/chrome/browser/ui/webui/net_internals/net_internals_ui.cc b/chrome/
|
||||
diff --git a/components/password_manager/core/browser/hsts_query.cc b/components/password_manager/core/browser/hsts_query.cc
|
||||
--- a/components/password_manager/core/browser/hsts_query.cc
|
||||
+++ b/components/password_manager/core/browser/hsts_query.cc
|
||||
@@ -58,6 +58,7 @@ void PostHSTSQueryForHostAndNetworkContext(
|
||||
@@ -59,6 +59,7 @@ void PostHSTSQueryForHostAndNetworkContext(
|
||||
scoped_refptr<HSTSCallbackHelper> callback_helper =
|
||||
base::MakeRefCounted<HSTSCallbackHelper>(std::move(callback));
|
||||
network_context->IsHSTSActiveForHost(
|
||||
@@ -89,7 +89,7 @@ diff --git a/components/password_manager/core/browser/hsts_query.cc b/components
|
||||
diff --git a/content/browser/web_package/signed_exchange_handler.cc b/content/browser/web_package/signed_exchange_handler.cc
|
||||
--- a/content/browser/web_package/signed_exchange_handler.cc
|
||||
+++ b/content/browser/web_package/signed_exchange_handler.cc
|
||||
@@ -89,6 +89,7 @@ using VerifyCallback =
|
||||
@@ -94,6 +94,7 @@ using VerifyCallback =
|
||||
|
||||
void VerifyCert(const scoped_refptr<net::X509Certificate>& certificate,
|
||||
const GURL& url,
|
||||
@@ -97,7 +97,7 @@ diff --git a/content/browser/web_package/signed_exchange_handler.cc b/content/br
|
||||
const std::string& ocsp_result,
|
||||
const std::string& sct_list,
|
||||
int frame_tree_node_id,
|
||||
@@ -110,7 +111,7 @@ void VerifyCert(const scoped_refptr<net::X509Certificate>& certificate,
|
||||
@@ -115,7 +116,7 @@ void VerifyCert(const scoped_refptr<net::X509Certificate>& certificate,
|
||||
}
|
||||
|
||||
network_context->VerifyCertForSignedExchange(
|
||||
@@ -106,7 +106,7 @@ diff --git a/content/browser/web_package/signed_exchange_handler.cc b/content/br
|
||||
}
|
||||
|
||||
std::string OCSPErrorToString(const bssl::OCSPVerifyResult& ocsp_result) {
|
||||
@@ -173,6 +174,7 @@ SignedExchangeHandler::SignedExchangeHandler(
|
||||
@@ -178,6 +179,7 @@ SignedExchangeHandler::SignedExchangeHandler(
|
||||
std::unique_ptr<net::SourceStream> body,
|
||||
ExchangeHeadersCallback headers_callback,
|
||||
std::unique_ptr<SignedExchangeCertFetcherFactory> cert_fetcher_factory,
|
||||
@@ -114,7 +114,7 @@ diff --git a/content/browser/web_package/signed_exchange_handler.cc b/content/br
|
||||
const std::optional<net::IsolationInfo> outer_request_isolation_info,
|
||||
int load_flags,
|
||||
const net::IPEndPoint& remote_endpoint,
|
||||
@@ -186,6 +188,7 @@ SignedExchangeHandler::SignedExchangeHandler(
|
||||
@@ -191,6 +193,7 @@ SignedExchangeHandler::SignedExchangeHandler(
|
||||
source_(std::move(body)),
|
||||
cert_fetcher_factory_(std::move(cert_fetcher_factory)),
|
||||
devtools_proxy_(std::move(devtools_proxy)),
|
||||
@@ -122,7 +122,7 @@ diff --git a/content/browser/web_package/signed_exchange_handler.cc b/content/br
|
||||
outer_request_isolation_info_(std::move(outer_request_isolation_info)),
|
||||
load_flags_(load_flags),
|
||||
remote_endpoint_(remote_endpoint),
|
||||
@@ -529,7 +532,7 @@ void SignedExchangeHandler::OnCertReceived(
|
||||
@@ -534,7 +537,7 @@ void SignedExchangeHandler::OnCertReceived(
|
||||
// property, or
|
||||
const std::string& stapled_ocsp_response = unverified_cert_chain_->ocsp();
|
||||
|
||||
@@ -165,7 +165,7 @@ diff --git a/content/browser/web_package/signed_exchange_loader.cc b/content/bro
|
||||
diff --git a/net/http/transport_security_state.cc b/net/http/transport_security_state.cc
|
||||
--- a/net/http/transport_security_state.cc
|
||||
+++ b/net/http/transport_security_state.cc
|
||||
@@ -82,7 +82,7 @@ bool AddHash(const char* sha256_hash, HashValueVector* out) {
|
||||
@@ -87,7 +87,7 @@ bool AddHash(const char* sha256_hash, HashValueVector* out) {
|
||||
// Converts |hostname| from dotted form ("www.google.com") to the form
|
||||
// used in DNS: "\x03www\x06google\x03com", lowercases that, and returns
|
||||
// the result.
|
||||
@@ -174,7 +174,7 @@ diff --git a/net/http/transport_security_state.cc b/net/http/transport_security_
|
||||
// We cannot perform the operations as detailed in the spec here as `host`
|
||||
// has already undergone IDN processing before it reached us. Thus, we
|
||||
// lowercase the input (probably redudnant since most input here has been
|
||||
@@ -103,6 +103,29 @@ std::vector<uint8_t> CanonicalizeHost(const std::string& host) {
|
||||
@@ -108,6 +108,29 @@ std::vector<uint8_t> CanonicalizeHost(const std::string& host) {
|
||||
return new_host.value();
|
||||
}
|
||||
|
||||
@@ -204,7 +204,7 @@ diff --git a/net/http/transport_security_state.cc b/net/http/transport_security_
|
||||
// PreloadResult is the result of resolving a specific name in the preloaded
|
||||
// data.
|
||||
struct PreloadResult {
|
||||
@@ -194,7 +217,7 @@ bool DecodeHSTSPreload(const std::string& search_hostname, PreloadResult* out) {
|
||||
@@ -199,7 +222,7 @@ bool DecodeHSTSPreload(const std::string& search_hostname, PreloadResult* out) {
|
||||
|
||||
// Ensure that |search_hostname| is a valid hostname before
|
||||
// processing.
|
||||
@@ -213,7 +213,7 @@ diff --git a/net/http/transport_security_state.cc b/net/http/transport_security_
|
||||
return false;
|
||||
}
|
||||
// Normalize any trailing '.' used for DNS suffix searches.
|
||||
@@ -255,18 +278,19 @@ TransportSecurityState::TransportSecurityState(
|
||||
@@ -260,18 +283,19 @@ TransportSecurityState::TransportSecurityState(
|
||||
|
||||
// Both HSTS and HPKP cause fatal SSL errors, so return true if a
|
||||
// host has either.
|
||||
@@ -236,20 +236,32 @@ diff --git a/net/http/transport_security_state.cc b/net/http/transport_security_
|
||||
dict.Set("should_upgrade_to_ssl", sts_state.ShouldUpgradeToSSL());
|
||||
dict.Set("host_found_in_hsts_bypass_list",
|
||||
hsts_host_bypass_list_.find(host) != hsts_host_bypass_list_.end());
|
||||
@@ -274,31 +298,33 @@ base::Value::Dict TransportSecurityState::NetLogUpgradeToSSLParam(
|
||||
@@ -279,13 +303,14 @@ base::Value::Dict TransportSecurityState::NetLogUpgradeToSSLParam(
|
||||
}
|
||||
|
||||
SSLUpgradeDecision TransportSecurityState::GetSSLUpgradeDecision(
|
||||
+ const NetworkAnonymizationKey& nak,
|
||||
const std::string& host,
|
||||
const NetLogWithSource& net_log) {
|
||||
net_log.AddEvent(
|
||||
NetLogEventType::TRANSPORT_SECURITY_STATE_SHOULD_UPGRADE_TO_SSL,
|
||||
- [&] { return NetLogUpgradeToSSLParam(host); });
|
||||
+ [&] { return NetLogUpgradeToSSLParam(nak, host); });
|
||||
STSState sts_state;
|
||||
- if (GetDynamicSTSState(host, &sts_state)) {
|
||||
+ if (GetDynamicSTSState(nak, host, &sts_state)) {
|
||||
if (sts_state.ShouldUpgradeToSSL()) {
|
||||
// If the static state also requires an upgrade, the dynamic state didn't
|
||||
// need to be used in the decision.
|
||||
@@ -305,27 +330,29 @@ SSLUpgradeDecision TransportSecurityState::GetSSLUpgradeDecision(
|
||||
}
|
||||
|
||||
bool TransportSecurityState::ShouldUpgradeToSSL(
|
||||
+ const NetworkAnonymizationKey& nak,
|
||||
const std::string& host,
|
||||
const NetLogWithSource& net_log) {
|
||||
STSState sts_state;
|
||||
net_log.AddEvent(
|
||||
NetLogEventType::TRANSPORT_SECURITY_STATE_SHOULD_UPGRADE_TO_SSL,
|
||||
- [&] { return NetLogUpgradeToSSLParam(host); });
|
||||
- return GetSTSState(host, &sts_state) && sts_state.ShouldUpgradeToSSL();
|
||||
+ [&] { return NetLogUpgradeToSSLParam(nak, host); });
|
||||
+ return GetSTSState(nak, host, &sts_state) && sts_state.ShouldUpgradeToSSL();
|
||||
- return GetSSLUpgradeDecision(host, net_log) != SSLUpgradeDecision::kNoUpgrade;
|
||||
+ return GetSSLUpgradeDecision(nak, host, net_log) != SSLUpgradeDecision::kNoUpgrade;
|
||||
}
|
||||
|
||||
TransportSecurityState::PKPStatus TransportSecurityState::CheckPublicKeyPins(
|
||||
@@ -277,7 +289,7 @@ diff --git a/net/http/transport_security_state.cc b/net/http/transport_security_
|
||||
}
|
||||
|
||||
TransportSecurityState::CTRequirementsStatus
|
||||
@@ -379,12 +405,13 @@ void TransportSecurityState::UpdatePinList(
|
||||
@@ -406,12 +433,13 @@ void TransportSecurityState::UpdatePinList(
|
||||
}
|
||||
|
||||
void TransportSecurityState::AddHSTSInternal(
|
||||
@@ -292,7 +304,7 @@ diff --git a/net/http/transport_security_state.cc b/net/http/transport_security_
|
||||
if (canonicalized_host.empty())
|
||||
return;
|
||||
|
||||
@@ -408,13 +435,14 @@ void TransportSecurityState::AddHSTSInternal(
|
||||
@@ -435,13 +463,14 @@ void TransportSecurityState::AddHSTSInternal(
|
||||
DirtyNotify();
|
||||
}
|
||||
|
||||
@@ -309,7 +321,7 @@ diff --git a/net/http/transport_security_state.cc b/net/http/transport_security_
|
||||
if (canonicalized_host.empty())
|
||||
return;
|
||||
|
||||
@@ -459,10 +487,12 @@ TransportSecurityState::PKPStatus TransportSecurityState::CheckPins(
|
||||
@@ -486,10 +515,12 @@ TransportSecurityState::PKPStatus TransportSecurityState::CheckPins(
|
||||
return PKPStatus::VIOLATED;
|
||||
}
|
||||
|
||||
@@ -324,7 +336,7 @@ diff --git a/net/http/transport_security_state.cc b/net/http/transport_security_
|
||||
if (canonicalized_host.empty())
|
||||
return false;
|
||||
|
||||
@@ -539,7 +569,8 @@ void TransportSecurityState::DirtyNotify() {
|
||||
@@ -566,7 +597,8 @@ void TransportSecurityState::DirtyNotify() {
|
||||
delegate_->StateIsDirty(this);
|
||||
}
|
||||
|
||||
@@ -334,7 +346,7 @@ diff --git a/net/http/transport_security_state.cc b/net/http/transport_security_
|
||||
const std::string& value) {
|
||||
DCHECK_CALLED_ON_VALID_THREAD(thread_checker_);
|
||||
|
||||
@@ -558,23 +589,25 @@ bool TransportSecurityState::AddHSTSHeader(const std::string& host,
|
||||
@@ -585,23 +617,25 @@ bool TransportSecurityState::AddHSTSHeader(const std::string& host,
|
||||
upgrade_mode = STSState::MODE_FORCE_HTTPS;
|
||||
}
|
||||
|
||||
@@ -365,7 +377,7 @@ diff --git a/net/http/transport_security_state.cc b/net/http/transport_security_
|
||||
}
|
||||
|
||||
size_t TransportSecurityState::num_sts_entries() const {
|
||||
@@ -592,9 +625,10 @@ TransportSecurityState::PKPStatus
|
||||
@@ -619,9 +653,10 @@ TransportSecurityState::PKPStatus
|
||||
TransportSecurityState::CheckPublicKeyPinsImpl(
|
||||
const HostPortPair& host_port_pair,
|
||||
bool is_issued_by_known_root,
|
||||
@@ -378,7 +390,7 @@ diff --git a/net/http/transport_security_state.cc b/net/http/transport_security_
|
||||
|
||||
// HasPublicKeyPins should have returned true in order for this method to have
|
||||
// been called.
|
||||
@@ -635,7 +669,7 @@ bool TransportSecurityState::GetStaticPKPState(const std::string& host,
|
||||
@@ -662,7 +697,7 @@ bool TransportSecurityState::GetStaticPKPState(const std::string& host,
|
||||
PreloadResult result;
|
||||
if (host_pins_.has_value()) {
|
||||
// Ensure that |host| is a valid hostname before processing.
|
||||
@@ -387,7 +399,7 @@ diff --git a/net/http/transport_security_state.cc b/net/http/transport_security_
|
||||
return false;
|
||||
}
|
||||
// Normalize any trailing '.' used for DNS suffix searches.
|
||||
@@ -718,21 +752,24 @@ bool TransportSecurityState::GetStaticPKPState(const std::string& host,
|
||||
@@ -745,21 +780,24 @@ bool TransportSecurityState::GetStaticPKPState(const std::string& host,
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -418,7 +430,7 @@ diff --git a/net/http/transport_security_state.cc b/net/http/transport_security_
|
||||
if (canonicalized_host.empty())
|
||||
return false;
|
||||
|
||||
@@ -769,11 +806,12 @@ bool TransportSecurityState::GetDynamicSTSState(const std::string& host,
|
||||
@@ -796,11 +834,12 @@ bool TransportSecurityState::GetDynamicSTSState(const std::string& host,
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -436,7 +448,7 @@ diff --git a/net/http/transport_security_state.cc b/net/http/transport_security_
|
||||
diff --git a/net/http/transport_security_state.h b/net/http/transport_security_state.h
|
||||
--- a/net/http/transport_security_state.h
|
||||
+++ b/net/http/transport_security_state.h
|
||||
@@ -280,13 +280,14 @@ class NET_EXPORT TransportSecurityState {
|
||||
@@ -297,13 +297,14 @@ class NET_EXPORT TransportSecurityState {
|
||||
// primary public interface; direct access to STS and PKP states is best
|
||||
// left to tests. The caller needs to handle the optional pinning override
|
||||
// when is_issued_by_known_root is false.
|
||||
@@ -455,7 +467,7 @@ diff --git a/net/http/transport_security_state.h b/net/http/transport_security_s
|
||||
|
||||
// Returns CT_REQUIREMENTS_NOT_MET if a connection violates CT policy
|
||||
// requirements: that is, if a connection to |host|, using the validated
|
||||
@@ -370,7 +371,7 @@ class NET_EXPORT TransportSecurityState {
|
||||
@@ -387,7 +388,7 @@ class NET_EXPORT TransportSecurityState {
|
||||
//
|
||||
// If an entry is deleted, the new state will be persisted through
|
||||
// the Delegate (if any).
|
||||
@@ -464,7 +476,7 @@ diff --git a/net/http/transport_security_state.h b/net/http/transport_security_s
|
||||
|
||||
// Returns true and updates |*result| if |host| has dynamic or static
|
||||
// HSTS/HPKP (respectively) state. If multiple entries match |host|, dynamic
|
||||
@@ -380,8 +381,8 @@ class NET_EXPORT TransportSecurityState {
|
||||
@@ -397,8 +398,8 @@ class NET_EXPORT TransportSecurityState {
|
||||
//
|
||||
// Note that these methods are not const because they opportunistically remove
|
||||
// entries that have expired.
|
||||
@@ -475,7 +487,7 @@ diff --git a/net/http/transport_security_state.h b/net/http/transport_security_s
|
||||
|
||||
// Returns true and updates |*result| iff |host| has static HSTS/HPKP
|
||||
// (respectively) state. If multiple entries match |host|, the most specific
|
||||
@@ -395,22 +396,24 @@ class NET_EXPORT TransportSecurityState {
|
||||
@@ -412,22 +413,24 @@ class NET_EXPORT TransportSecurityState {
|
||||
//
|
||||
// Note that these methods are not const because they opportunistically remove
|
||||
// entries that have expired.
|
||||
@@ -505,7 +517,7 @@ diff --git a/net/http/transport_security_state.h b/net/http/transport_security_s
|
||||
const base::Time& expiry,
|
||||
bool include_subdomains,
|
||||
const HashValueVector& hashes);
|
||||
@@ -448,7 +451,7 @@ class NET_EXPORT TransportSecurityState {
|
||||
@@ -465,7 +468,7 @@ class NET_EXPORT TransportSecurityState {
|
||||
typedef std::map<HashedHost, STSState> STSStateMap;
|
||||
typedef std::map<HashedHost, PKPState> PKPStateMap;
|
||||
|
||||
@@ -514,7 +526,7 @@ diff --git a/net/http/transport_security_state.h b/net/http/transport_security_s
|
||||
|
||||
// IsBuildTimely returns true if the current build is new enough ensure that
|
||||
// built in security information (i.e. HSTS preloading and pinning
|
||||
@@ -458,7 +461,8 @@ class NET_EXPORT TransportSecurityState {
|
||||
@@ -475,7 +478,8 @@ class NET_EXPORT TransportSecurityState {
|
||||
// Helper method for actually checking pins.
|
||||
PKPStatus CheckPublicKeyPinsImpl(const HostPortPair& host_port_pair,
|
||||
bool is_issued_by_known_root,
|
||||
@@ -524,7 +536,7 @@ diff --git a/net/http/transport_security_state.h b/net/http/transport_security_s
|
||||
|
||||
// If a Delegate is present, notify it that the internal state has
|
||||
// changed.
|
||||
@@ -468,11 +472,13 @@ class NET_EXPORT TransportSecurityState {
|
||||
@@ -485,11 +489,13 @@ class NET_EXPORT TransportSecurityState {
|
||||
// any previous state for the |host|, including static entries.
|
||||
//
|
||||
// The new state for |host| is persisted using the Delegate (if any).
|
||||
@@ -543,7 +555,7 @@ diff --git a/net/http/transport_security_state.h b/net/http/transport_security_s
|
||||
diff --git a/net/quic/crypto/proof_verifier_chromium.cc b/net/quic/crypto/proof_verifier_chromium.cc
|
||||
--- a/net/quic/crypto/proof_verifier_chromium.cc
|
||||
+++ b/net/quic/crypto/proof_verifier_chromium.cc
|
||||
@@ -403,7 +403,8 @@ int ProofVerifierChromium::Job::DoVerifyCertComplete(int result) {
|
||||
@@ -412,7 +412,8 @@ int ProofVerifierChromium::Job::DoVerifyCertComplete(int result) {
|
||||
transport_security_state_->CheckPublicKeyPins(
|
||||
HostPortPair(hostname_, port_),
|
||||
cert_verify_result.is_issued_by_known_root,
|
||||
@@ -553,7 +565,7 @@ diff --git a/net/quic/crypto/proof_verifier_chromium.cc b/net/quic/crypto/proof_
|
||||
switch (pin_validity) {
|
||||
case TransportSecurityState::PKPStatus::VIOLATED:
|
||||
result = ERR_SSL_PINNED_KEY_NOT_IN_CERT_CHAIN;
|
||||
@@ -430,7 +431,7 @@ int ProofVerifierChromium::Job::DoVerifyCertComplete(int result) {
|
||||
@@ -439,7 +440,7 @@ int ProofVerifierChromium::Job::DoVerifyCertComplete(int result) {
|
||||
verify_details_->is_fatal_cert_error =
|
||||
IsCertStatusError(cert_status) &&
|
||||
result != ERR_CERT_KNOWN_INTERCEPTION_BLOCKED &&
|
||||
@@ -565,7 +577,7 @@ diff --git a/net/quic/crypto/proof_verifier_chromium.cc b/net/quic/crypto/proof_
|
||||
diff --git a/net/quic/quic_chromium_client_session.cc b/net/quic/quic_chromium_client_session.cc
|
||||
--- a/net/quic/quic_chromium_client_session.cc
|
||||
+++ b/net/quic/quic_chromium_client_session.cc
|
||||
@@ -1444,7 +1444,7 @@ bool QuicChromiumClientSession::CanPool(
|
||||
@@ -1450,7 +1450,7 @@ bool QuicChromiumClientSession::CanPool(
|
||||
|
||||
return SpdySession::CanPool(transport_security_state_, ssl_info,
|
||||
*ssl_config_service_, session_key_.host(),
|
||||
@@ -577,7 +589,7 @@ diff --git a/net/quic/quic_chromium_client_session.cc b/net/quic/quic_chromium_c
|
||||
diff --git a/net/socket/ssl_client_socket_impl.cc b/net/socket/ssl_client_socket_impl.cc
|
||||
--- a/net/socket/ssl_client_socket_impl.cc
|
||||
+++ b/net/socket/ssl_client_socket_impl.cc
|
||||
@@ -1188,7 +1188,8 @@ ssl_verify_result_t SSLClientSocketImpl::HandleVerifyResult() {
|
||||
@@ -1193,7 +1193,8 @@ ssl_verify_result_t SSLClientSocketImpl::HandleVerifyResult() {
|
||||
TransportSecurityState::PKPStatus pin_validity =
|
||||
context_->transport_security_state()->CheckPublicKeyPins(
|
||||
host_and_port_, server_cert_verify_result_.is_issued_by_known_root,
|
||||
@@ -587,7 +599,7 @@ diff --git a/net/socket/ssl_client_socket_impl.cc b/net/socket/ssl_client_socket
|
||||
switch (pin_validity) {
|
||||
case TransportSecurityState::PKPStatus::VIOLATED:
|
||||
server_cert_verify_result_.cert_status |=
|
||||
@@ -1210,7 +1211,7 @@ ssl_verify_result_t SSLClientSocketImpl::HandleVerifyResult() {
|
||||
@@ -1215,7 +1216,7 @@ ssl_verify_result_t SSLClientSocketImpl::HandleVerifyResult() {
|
||||
IsCertStatusError(server_cert_verify_result_.cert_status) &&
|
||||
result != ERR_CERT_KNOWN_INTERCEPTION_BLOCKED &&
|
||||
context_->transport_security_state()->ShouldSSLErrorsBeFatal(
|
||||
@@ -599,7 +611,7 @@ diff --git a/net/socket/ssl_client_socket_impl.cc b/net/socket/ssl_client_socket
|
||||
diff --git a/net/spdy/spdy_session.cc b/net/spdy/spdy_session.cc
|
||||
--- a/net/spdy/spdy_session.cc
|
||||
+++ b/net/spdy/spdy_session.cc
|
||||
@@ -733,7 +733,8 @@ bool SpdySession::CanPool(TransportSecurityState* transport_security_state,
|
||||
@@ -738,7 +738,8 @@ bool SpdySession::CanPool(TransportSecurityState* transport_security_state,
|
||||
const SSLInfo& ssl_info,
|
||||
const SSLConfigService& ssl_config_service,
|
||||
std::string_view old_hostname,
|
||||
@@ -609,7 +621,7 @@ diff --git a/net/spdy/spdy_session.cc b/net/spdy/spdy_session.cc
|
||||
// Pooling is prohibited if the server cert is not valid for the new domain,
|
||||
// and for connections on which client certs were sent. It is also prohibited
|
||||
// when channel ID was sent if the hosts are from different eTLDs+1.
|
||||
@@ -752,7 +753,7 @@ bool SpdySession::CanPool(TransportSecurityState* transport_security_state,
|
||||
@@ -757,7 +758,7 @@ bool SpdySession::CanPool(TransportSecurityState* transport_security_state,
|
||||
// Port is left at 0 as it is never used.
|
||||
if (transport_security_state->CheckPublicKeyPins(
|
||||
HostPortPair(new_hostname, 0), ssl_info.is_issued_by_known_root,
|
||||
@@ -618,7 +630,7 @@ diff --git a/net/spdy/spdy_session.cc b/net/spdy/spdy_session.cc
|
||||
TransportSecurityState::PKPStatus::VIOLATED) {
|
||||
return false;
|
||||
}
|
||||
@@ -973,7 +974,8 @@ bool SpdySession::VerifyDomainAuthentication(std::string_view domain) const {
|
||||
@@ -978,7 +979,8 @@ bool SpdySession::VerifyDomainAuthentication(std::string_view domain) const {
|
||||
return true; // This is not a secure session, so all domains are okay.
|
||||
|
||||
return CanPool(transport_security_state_, ssl_info, *ssl_config_service_,
|
||||
@@ -628,7 +640,7 @@ diff --git a/net/spdy/spdy_session.cc b/net/spdy/spdy_session.cc
|
||||
}
|
||||
|
||||
void SpdySession::EnqueueStreamWrite(
|
||||
@@ -3009,7 +3011,8 @@ void SpdySession::OnAltSvc(
|
||||
@@ -3014,7 +3016,8 @@ void SpdySession::OnAltSvc(
|
||||
return;
|
||||
}
|
||||
if (!CanPool(transport_security_state_, ssl_info, *ssl_config_service_,
|
||||
@@ -678,17 +690,17 @@ diff --git a/net/url_request/url_request_context_builder.cc b/net/url_request/ur
|
||||
diff --git a/net/url_request/url_request_http_job.cc b/net/url_request/url_request_http_job.cc
|
||||
--- a/net/url_request/url_request_http_job.cc
|
||||
+++ b/net/url_request/url_request_http_job.cc
|
||||
@@ -280,7 +280,8 @@ std::unique_ptr<URLRequestJob> URLRequestHttpJob::Create(URLRequest* request) {
|
||||
|
||||
TransportSecurityState* hsts = request->context()->transport_security_state();
|
||||
bool should_upgrade_to_ssl =
|
||||
- hsts && hsts->ShouldUpgradeToSSL(url.host(), request->net_log());
|
||||
+ hsts && hsts->ShouldUpgradeToSSL(request->isolation_info().network_anonymization_key(),
|
||||
@@ -333,7 +333,8 @@ std::unique_ptr<URLRequestJob> URLRequestHttpJob::Create(URLRequest* request) {
|
||||
if (TransportSecurityState* hsts =
|
||||
request->context()->transport_security_state()) {
|
||||
upgrade_decision =
|
||||
- hsts->GetSSLUpgradeDecision(url.host(), request->net_log());
|
||||
+ hsts->GetSSLUpgradeDecision(request->isolation_info().network_anonymization_key(),
|
||||
+ url.host(), request->net_log());
|
||||
}
|
||||
|
||||
// Check for reasons not to return a URLRequestHttpJob. These don't apply to
|
||||
// https and wss requests.
|
||||
@@ -1106,7 +1107,7 @@ void URLRequestHttpJob::ProcessStrictTransportSecurityHeader() {
|
||||
@@ -1151,7 +1152,7 @@ void URLRequestHttpJob::ProcessStrictTransportSecurityHeader() {
|
||||
HttpResponseHeaders* headers = GetResponseHeaders();
|
||||
std::string value;
|
||||
if (headers->EnumerateHeader(nullptr, "Strict-Transport-Security", &value))
|
||||
@@ -697,7 +709,7 @@ diff --git a/net/url_request/url_request_http_job.cc b/net/url_request/url_reque
|
||||
}
|
||||
|
||||
void URLRequestHttpJob::OnStartCompleted(int result) {
|
||||
@@ -1176,7 +1177,7 @@ void URLRequestHttpJob::OnStartCompleted(int result) {
|
||||
@@ -1221,7 +1222,7 @@ void URLRequestHttpJob::OnStartCompleted(int result) {
|
||||
TransportSecurityState* state = context->transport_security_state();
|
||||
NotifySSLCertificateError(
|
||||
result, transaction_->GetResponseInfo()->ssl_info,
|
||||
@@ -709,7 +721,7 @@ diff --git a/net/url_request/url_request_http_job.cc b/net/url_request/url_reque
|
||||
diff --git a/services/network/network_context.cc b/services/network/network_context.cc
|
||||
--- a/services/network/network_context.cc
|
||||
+++ b/services/network/network_context.cc
|
||||
@@ -1822,6 +1822,7 @@ void NetworkContext::CreateHostResolver(
|
||||
@@ -1883,6 +1883,7 @@ void NetworkContext::CreateHostResolver(
|
||||
void NetworkContext::VerifyCertForSignedExchange(
|
||||
const scoped_refptr<net::X509Certificate>& certificate,
|
||||
const GURL& url,
|
||||
@@ -717,7 +729,7 @@ diff --git a/services/network/network_context.cc b/services/network/network_cont
|
||||
const std::string& ocsp_result,
|
||||
const std::string& sct_list,
|
||||
VerifyCertForSignedExchangeCallback callback) {
|
||||
@@ -1832,6 +1833,7 @@ void NetworkContext::VerifyCertForSignedExchange(
|
||||
@@ -1893,6 +1894,7 @@ void NetworkContext::VerifyCertForSignedExchange(
|
||||
pending_cert_verify->result = std::make_unique<net::CertVerifyResult>();
|
||||
pending_cert_verify->certificate = certificate;
|
||||
pending_cert_verify->url = url;
|
||||
@@ -725,7 +737,7 @@ diff --git a/services/network/network_context.cc b/services/network/network_cont
|
||||
pending_cert_verify->ocsp_result = ocsp_result;
|
||||
pending_cert_verify->sct_list = sct_list;
|
||||
net::CertVerifier* cert_verifier =
|
||||
@@ -1876,17 +1878,19 @@ void NetworkContext::SetCorsOriginAccessListsForOrigin(
|
||||
@@ -1937,17 +1939,19 @@ void NetworkContext::SetCorsOriginAccessListsForOrigin(
|
||||
std::move(callback).Run();
|
||||
}
|
||||
|
||||
@@ -748,7 +760,7 @@ diff --git a/services/network/network_context.cc b/services/network/network_cont
|
||||
IsHSTSActiveForHostCallback callback) {
|
||||
net::TransportSecurityState* security_state =
|
||||
url_request_context_->transport_security_state();
|
||||
@@ -1896,10 +1900,10 @@ void NetworkContext::IsHSTSActiveForHost(const std::string& host,
|
||||
@@ -1957,10 +1961,10 @@ void NetworkContext::IsHSTSActiveForHost(const std::string& host,
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -761,7 +773,7 @@ diff --git a/services/network/network_context.cc b/services/network/network_cont
|
||||
GetHSTSStateCallback callback) {
|
||||
base::Value::Dict result;
|
||||
|
||||
@@ -1937,10 +1941,10 @@ void NetworkContext::GetHSTSState(const std::string& domain,
|
||||
@@ -1998,10 +2002,10 @@ void NetworkContext::GetHSTSState(const std::string& domain,
|
||||
net::TransportSecurityState::STSState dynamic_sts_state;
|
||||
net::TransportSecurityState::PKPState dynamic_pkp_state;
|
||||
bool found_sts_dynamic = transport_security_state->GetDynamicSTSState(
|
||||
@@ -774,7 +786,7 @@ diff --git a/services/network/network_context.cc b/services/network/network_cont
|
||||
if (found_sts_dynamic) {
|
||||
result.Set("dynamic_upgrade_mode",
|
||||
static_cast<int>(dynamic_sts_state.upgrade_mode));
|
||||
@@ -1978,6 +1982,7 @@ void NetworkContext::GetHSTSState(const std::string& domain,
|
||||
@@ -2039,6 +2043,7 @@ void NetworkContext::GetHSTSState(const std::string& domain,
|
||||
}
|
||||
|
||||
void NetworkContext::DeleteDynamicDataForHost(
|
||||
@@ -782,7 +794,7 @@ diff --git a/services/network/network_context.cc b/services/network/network_cont
|
||||
const std::string& host,
|
||||
DeleteDynamicDataForHostCallback callback) {
|
||||
net::TransportSecurityState* transport_security_state =
|
||||
@@ -1988,7 +1993,7 @@ void NetworkContext::DeleteDynamicDataForHost(
|
||||
@@ -2049,7 +2054,7 @@ void NetworkContext::DeleteDynamicDataForHost(
|
||||
}
|
||||
|
||||
std::move(callback).Run(
|
||||
@@ -791,7 +803,7 @@ diff --git a/services/network/network_context.cc b/services/network/network_cont
|
||||
}
|
||||
|
||||
void NetworkContext::EnableStaticKeyPinningForTesting(
|
||||
@@ -2029,7 +2034,7 @@ void NetworkContext::PreconnectSockets(
|
||||
@@ -2090,7 +2095,7 @@ void NetworkContext::PreconnectSockets(
|
||||
DCHECK(!require_network_anonymization_key_ ||
|
||||
!network_anonymization_key.IsEmpty());
|
||||
|
||||
@@ -800,7 +812,7 @@ diff --git a/services/network/network_context.cc b/services/network/network_cont
|
||||
|
||||
// |PreconnectSockets| may receive arguments from the renderer, which is not
|
||||
// guaranteed to validate them.
|
||||
@@ -2848,12 +2853,15 @@ void NetworkContext::OnConnectionError() {
|
||||
@@ -2907,12 +2912,15 @@ void NetworkContext::OnConnectionError() {
|
||||
std::move(on_connection_close_callback_).Run(this);
|
||||
}
|
||||
|
||||
@@ -817,7 +829,7 @@ diff --git a/services/network/network_context.cc b/services/network/network_cont
|
||||
original_url.host())) {
|
||||
return original_url;
|
||||
}
|
||||
@@ -2901,7 +2909,8 @@ void NetworkContext::OnVerifyCertForSignedExchangeComplete(
|
||||
@@ -2960,7 +2968,8 @@ void NetworkContext::OnVerifyCertForSignedExchangeComplete(
|
||||
url_request_context_->transport_security_state()->CheckPublicKeyPins(
|
||||
net::HostPortPair::FromURL(pending_cert_verify->url),
|
||||
pending_cert_verify->result->is_issued_by_known_root,
|
||||
@@ -830,7 +842,7 @@ diff --git a/services/network/network_context.cc b/services/network/network_cont
|
||||
diff --git a/services/network/network_context.h b/services/network/network_context.h
|
||||
--- a/services/network/network_context.h
|
||||
+++ b/services/network/network_context.h
|
||||
@@ -407,18 +407,21 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext
|
||||
@@ -410,18 +410,21 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext
|
||||
void VerifyCertForSignedExchange(
|
||||
const scoped_refptr<net::X509Certificate>& certificate,
|
||||
const GURL& url,
|
||||
@@ -855,7 +867,7 @@ diff --git a/services/network/network_context.h b/services/network/network_conte
|
||||
const std::string& host,
|
||||
DeleteDynamicDataForHostCallback callback) override;
|
||||
void SetCorsOriginAccessListsForOrigin(
|
||||
@@ -727,7 +730,8 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext
|
||||
@@ -735,7 +738,8 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext
|
||||
mojo::PendingRemote<mojom::CookieAccessObserver> cookie_observer,
|
||||
net::FirstPartySetMetadata first_party_set_metadata);
|
||||
|
||||
@@ -865,7 +877,7 @@ diff --git a/services/network/network_context.h b/services/network/network_conte
|
||||
|
||||
#if BUILDFLAG(IS_P2P_ENABLED)
|
||||
void DestroySocketManager(P2PSocketManager* socket_manager);
|
||||
@@ -919,6 +923,7 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext
|
||||
@@ -924,6 +928,7 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext
|
||||
VerifyCertForSignedExchangeCallback callback;
|
||||
scoped_refptr<net::X509Certificate> certificate;
|
||||
GURL url;
|
||||
|
||||
@@ -16,7 +16,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
||||
...storage_access_grant_permission_context.cc | 12 ++++
|
||||
.../experiment/experiment_manager_impl.cc | 1 +
|
||||
.../core/browser/cookie_settings.cc | 2 +
|
||||
.../core/common/cookie_settings_base.cc | 60 +------------------
|
||||
.../core/common/cookie_settings_base.cc | 66 +------------------
|
||||
...ioning-all-cookies-by-top-frame-domain.inc | 3 +
|
||||
...ioning-all-cookies-by-top-frame-domain.inc | 1 +
|
||||
...ioning-all-cookies-by-top-frame-domain.inc | 1 +
|
||||
@@ -27,14 +27,14 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
||||
net/cookies/cookie_util.cc | 1 +
|
||||
net/cookies/parsed_cookie.h | 6 +-
|
||||
.../sqlite/sqlite_persistent_cookie_store.cc | 8 +++
|
||||
net/url_request/url_request_http_job.cc | 10 +---
|
||||
net/url_request/url_request_http_job.cc | 10 +--
|
||||
services/network/cookie_settings.cc | 6 +-
|
||||
services/network/restricted_cookie_manager.cc | 6 ++
|
||||
.../modules/cookie_store/cookie_init.idl | 2 +-
|
||||
.../modules/cookie_store/cookie_store.cc | 3 +
|
||||
.../cookie_store_delete_options.idl | 2 +-
|
||||
ui/webui/webui_allowlist.cc | 1 +
|
||||
25 files changed, 76 insertions(+), 84 deletions(-)
|
||||
25 files changed, 76 insertions(+), 90 deletions(-)
|
||||
create mode 100644 cromite_flags/components/content_settings/core/common/features_cc/Partitioning-all-cookies-by-top-frame-domain.inc
|
||||
create mode 100644 cromite_flags/components/permissions/features_cc/Partitioning-all-cookies-by-top-frame-domain.inc
|
||||
create mode 100644 cromite_flags/content/public/common/content_features_cc/Partitioning-all-cookies-by-top-frame-domain.inc
|
||||
@@ -43,7 +43,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
||||
diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/chrome_content_browser_client.cc
|
||||
--- a/chrome/browser/chrome_content_browser_client.cc
|
||||
+++ b/chrome/browser/chrome_content_browser_client.cc
|
||||
@@ -3484,7 +3484,7 @@ bool ChromeContentBrowserClient::IsFullCookieAccessAllowed(
|
||||
@@ -3524,7 +3524,7 @@ bool ChromeContentBrowserClient::IsFullCookieAccessAllowed(
|
||||
scoped_refptr<content_settings::CookieSettings> cookie_settings =
|
||||
CookieSettingsFactory::GetForProfile(profile);
|
||||
if (!cookie_settings) {
|
||||
@@ -69,7 +69,7 @@ diff --git a/chrome/browser/extensions/api/cookies/cookies_helpers.cc b/chrome/b
|
||||
diff --git a/chrome/browser/net/profile_network_context_service.cc b/chrome/browser/net/profile_network_context_service.cc
|
||||
--- a/chrome/browser/net/profile_network_context_service.cc
|
||||
+++ b/chrome/browser/net/profile_network_context_service.cc
|
||||
@@ -781,16 +781,16 @@ ProfileNetworkContextService::CreateCookieManagerParams(
|
||||
@@ -799,16 +799,16 @@ ProfileNetworkContextService::CreateCookieManagerParams(
|
||||
// UI to interact with SameSite cookies on accounts.google.com, which is used
|
||||
// for displaying a list of available accounts on the NTP
|
||||
// (chrome://new-tab-page), etc.
|
||||
@@ -95,7 +95,7 @@ diff --git a/chrome/browser/net/profile_network_context_service.cc b/chrome/brow
|
||||
diff --git a/chrome/browser/privacy_sandbox/privacy_sandbox_settings_delegate.cc b/chrome/browser/privacy_sandbox/privacy_sandbox_settings_delegate.cc
|
||||
--- a/chrome/browser/privacy_sandbox/privacy_sandbox_settings_delegate.cc
|
||||
+++ b/chrome/browser/privacy_sandbox/privacy_sandbox_settings_delegate.cc
|
||||
@@ -363,6 +363,7 @@ bool PrivacySandboxSettingsDelegate::IsCookieDeprecationLabelAllowed() const {
|
||||
@@ -361,6 +361,7 @@ bool PrivacySandboxSettingsDelegate::IsCookieDeprecationLabelAllowed() const {
|
||||
|
||||
bool PrivacySandboxSettingsDelegate::
|
||||
AreThirdPartyCookiesBlockedByCookieDeprecationExperiment() const {
|
||||
@@ -139,7 +139,7 @@ diff --git a/chrome/browser/tpcd/experiment/experiment_manager_impl.cc b/chrome/
|
||||
diff --git a/components/content_settings/core/browser/cookie_settings.cc b/components/content_settings/core/browser/cookie_settings.cc
|
||||
--- a/components/content_settings/core/browser/cookie_settings.cc
|
||||
+++ b/components/content_settings/core/browser/cookie_settings.cc
|
||||
@@ -132,6 +132,7 @@ void CookieSettings::SetTemporaryCookieGrantForHeuristic(
|
||||
@@ -133,6 +133,7 @@ void CookieSettings::SetTemporaryCookieGrantForHeuristic(
|
||||
const GURL& first_party_url,
|
||||
base::TimeDelta ttl,
|
||||
bool use_schemeless_patterns) {
|
||||
@@ -147,7 +147,7 @@ diff --git a/components/content_settings/core/browser/cookie_settings.cc b/compo
|
||||
if (url.is_empty() || first_party_url.is_empty()) {
|
||||
return;
|
||||
}
|
||||
@@ -398,6 +399,7 @@ bool CookieSettings::MitigationsEnabledFor3pcdInternal() {
|
||||
@@ -406,6 +407,7 @@ bool CookieSettings::MitigationsEnabledFor3pcdInternal() const {
|
||||
->AreThirdPartyCookiesAllowedByEnterprise();
|
||||
}
|
||||
|
||||
@@ -158,7 +158,7 @@ diff --git a/components/content_settings/core/browser/cookie_settings.cc b/compo
|
||||
diff --git a/components/content_settings/core/common/cookie_settings_base.cc b/components/content_settings/core/common/cookie_settings_base.cc
|
||||
--- a/components/content_settings/core/common/cookie_settings_base.cc
|
||||
+++ b/components/content_settings/core/common/cookie_settings_base.cc
|
||||
@@ -39,16 +39,6 @@ using net::cookie_util::StorageAccessResult;
|
||||
@@ -41,16 +41,6 @@ using net::cookie_util::StorageAccessResult;
|
||||
using ThirdPartyCookieAllowMechanism =
|
||||
CookieSettingsBase::ThirdPartyCookieAllowMechanism;
|
||||
|
||||
@@ -174,22 +174,18 @@ diff --git a/components/content_settings/core/common/cookie_settings_base.cc b/c
|
||||
-
|
||||
constexpr StorageAccessResult GetStorageAccessResult(
|
||||
ThirdPartyCookieAllowMechanism mechanism) {
|
||||
switch (mechanism) {
|
||||
@@ -534,62 +524,14 @@ CookieSettingsBase::DecideAccess(const GURL& url,
|
||||
return BlockAllCookies{};
|
||||
using AllowMechanism = ThirdPartyCookieAllowMechanism;
|
||||
@@ -542,70 +532,16 @@ CookieSettingsBase::DecideAccess(
|
||||
return AllowAllCookies{ThirdPartyCookieAllowMechanism::kNone};
|
||||
}
|
||||
|
||||
- if (!ShouldBlockThirdPartyCookies() &&
|
||||
- !Are3pcsForceDisabledByOverride(overrides)) {
|
||||
- if (!global_setting_or_embedder_blocks_third_party_cookies) {
|
||||
- return AllowAllCookies{
|
||||
- ThirdPartyCookieAllowMechanism::kAllowByGlobalSetting};
|
||||
- }
|
||||
-
|
||||
if (!is_third_party_request) {
|
||||
return AllowAllCookies{ThirdPartyCookieAllowMechanism::kNone};
|
||||
}
|
||||
- if (IsThirdPartyCookiesAllowedScheme(first_party_url.scheme())) {
|
||||
- return AllowAllCookies{ThirdPartyCookieAllowMechanism::kNone};
|
||||
- return AllowAllCookies{ThirdPartyCookieAllowMechanism::kAllowByScheme};
|
||||
- }
|
||||
-
|
||||
- // Site controlled mechanisms (ex: web APIs, deprecation trial):
|
||||
@@ -221,7 +217,7 @@ diff --git a/components/content_settings/core/common/cookie_settings_base.cc b/c
|
||||
- }
|
||||
-
|
||||
- // Enterprise Policies:
|
||||
- if (is_explicit_setting && setting_source == SettingSource::kPolicy) {
|
||||
- if (is_explicit_setting && setting_info.source == SettingSource::kPolicy) {
|
||||
- return AllowAllCookies{ThirdPartyCookieAllowMechanism::
|
||||
- kAllowByEnterprisePolicyCookieAllowedForUrls};
|
||||
- }
|
||||
@@ -229,8 +225,7 @@ diff --git a/components/content_settings/core/common/cookie_settings_base.cc b/c
|
||||
- // Chrome controlled mechanisms (ex. 3PCD Metadata Grants):
|
||||
- SettingInfo tpcd_metadata_info;
|
||||
- if (IsAllowedBy3pcdMetadataGrantsSettings(url, first_party_url, overrides,
|
||||
- &tpcd_metadata_info) &&
|
||||
- !IgnoreTpcdDtGracePeriodMetadataEntry(tpcd_metadata_info)) {
|
||||
- &tpcd_metadata_info)) {
|
||||
- return AllowAllCookies{TpcdMetadataSourceToAllowMechanism(
|
||||
- tpcd_metadata_info.metadata.tpcd_metadata_rule_source())};
|
||||
- }
|
||||
@@ -238,15 +233,28 @@ diff --git a/components/content_settings/core/common/cookie_settings_base.cc b/c
|
||||
if (is_explicit_setting) {
|
||||
return AllowAllCookies{
|
||||
ThirdPartyCookieAllowMechanism::kAllowByExplicitSetting};
|
||||
@@ -623,7 +565,7 @@ CookieSettingsBase::GetCookieSettingInternal(
|
||||
}
|
||||
|
||||
- // Check for a TRACKING_PROTECTION exception, which should also disable 3PCB.
|
||||
- SettingInfo tp_info;
|
||||
- if (IsAllowedByTrackingProtectionSetting(url, first_party_url, tp_info)) {
|
||||
- setting_info = tp_info;
|
||||
- return AllowAllCookies{
|
||||
- ThirdPartyCookieAllowMechanism::kAllowByTrackingProtectionException};
|
||||
- }
|
||||
-
|
||||
return AllowPartitionedCookies{};
|
||||
}
|
||||
|
||||
@@ -637,7 +573,7 @@ CookieSettingsBase::GetCookieSettingInternal(
|
||||
}
|
||||
return CookieSettingWithMetadata{/*cookie_setting=*/CONTENT_SETTING_ALLOW,
|
||||
/*allow_partitioned_cookies=*/true,
|
||||
- /*is_explicit_setting=*/false,
|
||||
+ /*is_explicit_setting=*/true,
|
||||
/*third_party_cookie_allow_mechanism=*/
|
||||
ThirdPartyCookieAllowMechanism::kNone};
|
||||
}
|
||||
ThirdPartyCookieAllowMechanism::kNone,
|
||||
is_third_party_request};
|
||||
diff --git a/cromite_flags/components/content_settings/core/common/features_cc/Partitioning-all-cookies-by-top-frame-domain.inc b/cromite_flags/components/content_settings/core/common/features_cc/Partitioning-all-cookies-by-top-frame-domain.inc
|
||||
new file mode 100644
|
||||
--- /dev/null
|
||||
@@ -284,7 +292,7 @@ new file mode 100644
|
||||
diff --git a/net/cookies/canonical_cookie.cc b/net/cookies/canonical_cookie.cc
|
||||
--- a/net/cookies/canonical_cookie.cc
|
||||
+++ b/net/cookies/canonical_cookie.cc
|
||||
@@ -1001,9 +1001,6 @@ bool CanonicalCookie::IsCanonicalForFromStorage() const {
|
||||
@@ -999,9 +999,6 @@ bool CanonicalCookie::IsCanonicalForFromStorage() const {
|
||||
if (CookiePartitionKey::HasNonce(PartitionKey())) {
|
||||
return true;
|
||||
}
|
||||
@@ -310,7 +318,7 @@ diff --git a/net/cookies/cookie_deletion_info.cc b/net/cookies/cookie_deletion_i
|
||||
diff --git a/net/cookies/cookie_monster.cc b/net/cookies/cookie_monster.cc
|
||||
--- a/net/cookies/cookie_monster.cc
|
||||
+++ b/net/cookies/cookie_monster.cc
|
||||
@@ -2216,6 +2216,7 @@ size_t CookieMonster::GarbageCollectPartitionedCookies(
|
||||
@@ -2230,6 +2230,7 @@ size_t CookieMonster::GarbageCollectPartitionedCookies(
|
||||
if (cookie_partition_it == partitioned_cookies_.end())
|
||||
return num_deleted;
|
||||
|
||||
@@ -321,7 +329,7 @@ diff --git a/net/cookies/cookie_monster.cc b/net/cookies/cookie_monster.cc
|
||||
diff --git a/net/cookies/cookie_util.cc b/net/cookies/cookie_util.cc
|
||||
--- a/net/cookies/cookie_util.cc
|
||||
+++ b/net/cookies/cookie_util.cc
|
||||
@@ -726,6 +726,7 @@ bool IsCookiePartitionedValid(const GURL& url,
|
||||
@@ -732,6 +732,7 @@ bool IsCookiePartitionedValid(const GURL& url,
|
||||
bool secure,
|
||||
bool is_partitioned,
|
||||
bool partition_has_nonce) {
|
||||
@@ -340,7 +348,7 @@ diff --git a/net/cookies/parsed_cookie.h b/net/cookies/parsed_cookie.h
|
||||
#include "net/base/net_export.h"
|
||||
#include "net/cookies/cookie_constants.h"
|
||||
|
||||
@@ -85,7 +86,10 @@ class NET_EXPORT ParsedCookie {
|
||||
@@ -82,7 +83,10 @@ class NET_EXPORT ParsedCookie {
|
||||
CookieSameSite SameSite(
|
||||
CookieSameSiteString* samesite_string = nullptr) const;
|
||||
CookiePriority Priority() const;
|
||||
@@ -350,8 +358,8 @@ diff --git a/net/cookies/parsed_cookie.h b/net/cookies/parsed_cookie.h
|
||||
+ return partitioned_index_ != 0;
|
||||
+ }
|
||||
bool HasInternalHtab() const { return internal_htab_; }
|
||||
TruncatingCharacterInCookieStringType
|
||||
GetTruncatingCharacterInCookieStringType() const {
|
||||
// Returns the number of attributes, for example, returning 2 for:
|
||||
// "BLAH=hah; path=/; domain=.google.com"
|
||||
diff --git a/net/extras/sqlite/sqlite_persistent_cookie_store.cc b/net/extras/sqlite/sqlite_persistent_cookie_store.cc
|
||||
--- a/net/extras/sqlite/sqlite_persistent_cookie_store.cc
|
||||
+++ b/net/extras/sqlite/sqlite_persistent_cookie_store.cc
|
||||
@@ -373,7 +381,7 @@ diff --git a/net/extras/sqlite/sqlite_persistent_cookie_store.cc b/net/extras/sq
|
||||
diff --git a/net/url_request/url_request_http_job.cc b/net/url_request/url_request_http_job.cc
|
||||
--- a/net/url_request/url_request_http_job.cc
|
||||
+++ b/net/url_request/url_request_http_job.cc
|
||||
@@ -782,13 +782,9 @@ void URLRequestHttpJob::SetCookieHeaderAndStart(
|
||||
@@ -836,13 +836,9 @@ void URLRequestHttpJob::SetCookieHeaderAndStart(
|
||||
AnnotateAndMoveUserBlockedCookies(maybe_included_cookies, excluded_cookies);
|
||||
}
|
||||
|
||||
@@ -393,7 +401,7 @@ diff --git a/net/url_request/url_request_http_job.cc b/net/url_request/url_reque
|
||||
diff --git a/services/network/cookie_settings.cc b/services/network/cookie_settings.cc
|
||||
--- a/services/network/cookie_settings.cc
|
||||
+++ b/services/network/cookie_settings.cc
|
||||
@@ -42,8 +42,7 @@ namespace network {
|
||||
@@ -43,8 +43,7 @@ namespace network {
|
||||
namespace {
|
||||
|
||||
bool ShouldApply3pcdRelatedReasons(const net::CanonicalCookie& cookie) {
|
||||
@@ -403,7 +411,7 @@ diff --git a/services/network/cookie_settings.cc b/services/network/cookie_setti
|
||||
}
|
||||
|
||||
bool IsValidType(ContentSettingsType type) {
|
||||
@@ -118,8 +117,7 @@ bool IsOriginOpaqueHttpOrHttps(const url::Origin* top_frame_origin) {
|
||||
@@ -112,8 +111,7 @@ bool IsOriginOpaqueHttpOrHttps(const url::Origin* top_frame_origin) {
|
||||
// static
|
||||
bool CookieSettings::IsCookieAllowed(const net::CanonicalCookie& cookie,
|
||||
const CookieSettingWithMetadata& setting) {
|
||||
@@ -416,7 +424,7 @@ diff --git a/services/network/cookie_settings.cc b/services/network/cookie_setti
|
||||
diff --git a/services/network/restricted_cookie_manager.cc b/services/network/restricted_cookie_manager.cc
|
||||
--- a/services/network/restricted_cookie_manager.cc
|
||||
+++ b/services/network/restricted_cookie_manager.cc
|
||||
@@ -950,6 +950,12 @@ void RestrictedCookieManager::SetCookieFromString(
|
||||
@@ -954,6 +954,12 @@ void RestrictedCookieManager::SetCookieFromString(
|
||||
|
||||
std::move(callback).Run();
|
||||
|
||||
|
||||
@@ -0,0 +1,79 @@
|
||||
From: uazo <uazo@users.noreply.github.com>
|
||||
Date: Thu, 18 Jul 2024 14:03:12 +0000
|
||||
Subject: Restore BookmarkToolbar#setCurrentFolder
|
||||
|
||||
restore https://chromium-review.googlesource.com/c/chromium/src/+/5554182
|
||||
|
||||
License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
||||
---
|
||||
.../chromium/chrome/browser/bookmarks/BookmarkToolbar.java | 6 ++++++
|
||||
.../chrome/browser/bookmarks/BookmarkToolbarMediator.java | 1 +
|
||||
.../chrome/browser/bookmarks/BookmarkToolbarProperties.java | 1 +
|
||||
.../chrome/browser/bookmarks/BookmarkToolbarViewBinder.java | 2 ++
|
||||
4 files changed, 10 insertions(+)
|
||||
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkToolbar.java b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkToolbar.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkToolbar.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkToolbar.java
|
||||
@@ -10,6 +10,7 @@ import android.view.MenuItem;
|
||||
import android.view.View.OnClickListener;
|
||||
|
||||
import androidx.annotation.IdRes;
|
||||
+import androidx.annotation.Nullable;
|
||||
import androidx.appcompat.widget.Toolbar.OnMenuItemClickListener;
|
||||
import androidx.core.view.MenuCompat;
|
||||
|
||||
@@ -33,6 +34,7 @@ public class BookmarkToolbar extends SelectableListToolbar<BookmarkId>
|
||||
private BookmarkOpener mBookmarkOpener;
|
||||
private SelectionDelegate<BookmarkId> mSelectionDelegate;
|
||||
|
||||
+ private @Nullable BookmarkItem mCurrentFolder;
|
||||
private boolean mEditButtonVisible;
|
||||
private boolean mNewFolderButtonVisible;
|
||||
private boolean mNewFolderButtonEnabled;
|
||||
@@ -167,6 +169,10 @@ public class BookmarkToolbar extends SelectableListToolbar<BookmarkId>
|
||||
getMenu().findItem(id).setChecked(true);
|
||||
}
|
||||
|
||||
+ void setCurrentFolder(BookmarkId folder) {
|
||||
+ mCurrentFolder = mBookmarkModel.getBookmarkById(folder);
|
||||
+ }
|
||||
+
|
||||
void setNavigateBackRunnable(Runnable navigateBackRunnable) {
|
||||
mNavigateBackRunnable = navigateBackRunnable;
|
||||
}
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkToolbarMediator.java b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkToolbarMediator.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkToolbarMediator.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkToolbarMediator.java
|
||||
@@ -290,6 +290,7 @@ class BookmarkToolbarMediator
|
||||
@Override
|
||||
public void onFolderStateSet(BookmarkId folder) {
|
||||
mCurrentFolder = folder;
|
||||
+ mModel.set(BookmarkToolbarProperties.CURRENT_FOLDER, mCurrentFolder);
|
||||
|
||||
BookmarkItem folderItem =
|
||||
mCurrentFolder == null ? null : mBookmarkModel.getBookmarkById(mCurrentFolder);
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkToolbarProperties.java b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkToolbarProperties.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkToolbarProperties.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkToolbarProperties.java
|
||||
@@ -88,6 +88,7 @@ class BookmarkToolbarProperties {
|
||||
NEW_FOLDER_BUTTON_VISIBLE,
|
||||
NEW_FOLDER_BUTTON_ENABLED,
|
||||
NAVIGATION_BUTTON_STATE,
|
||||
+ CURRENT_FOLDER,
|
||||
SORT_MENU_IDS,
|
||||
SORT_MENU_IDS_ENABLED,
|
||||
CHECKED_SORT_MENU_ID,
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkToolbarViewBinder.java b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkToolbarViewBinder.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkToolbarViewBinder.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkToolbarViewBinder.java
|
||||
@@ -52,6 +52,8 @@ class BookmarkToolbarViewBinder {
|
||||
} else if (key == BookmarkToolbarProperties.CHECKED_VIEW_MENU_ID) {
|
||||
bookmarkToolbar.setCheckedViewMenuId(
|
||||
model.get(BookmarkToolbarProperties.CHECKED_VIEW_MENU_ID));
|
||||
+ } else if (key == BookmarkToolbarProperties.CURRENT_FOLDER) {
|
||||
+ bookmarkToolbar.setCurrentFolder(model.get(BookmarkToolbarProperties.CURRENT_FOLDER));
|
||||
} else if (key == BookmarkToolbarProperties.NAVIGATE_BACK_RUNNABLE) {
|
||||
bookmarkToolbar.setNavigateBackRunnable(
|
||||
model.get(BookmarkToolbarProperties.NAVIGATE_BACK_RUNNABLE));
|
||||
--
|
||||
@@ -14,14 +14,14 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
.../feedback/SimplifiedNtpFeedbackSource.java | 38 +++++++++++
|
||||
.../identity_disc/IdentityDiscController.java | 5 +-
|
||||
.../NativePageNavigationDelegateImpl.java | 4 +-
|
||||
.../chrome/browser/ntp/NewTabPageLayout.java | 31 ++++++++-
|
||||
.../chrome/browser/ntp/NewTabPageLayout.java | 21 ++++++
|
||||
.../SuggestionsNavigationDelegate.java | 17 +++++
|
||||
.../flags/android/chrome_feature_list.cc | 1 +
|
||||
.../browser/flags/ChromeFeatureList.java | 3 +-
|
||||
.../Restore-Simplified-NTP-launch.inc | 12 ++++
|
||||
.../Restore-Simplified-NTP-launch.inc | 5 ++
|
||||
.../Restore-Simplified-NTP-launch.inc | 1 +
|
||||
15 files changed, 186 insertions(+), 6 deletions(-)
|
||||
15 files changed, 178 insertions(+), 4 deletions(-)
|
||||
create mode 100644 chrome/android/java/res/layout/ntp_shortcuts.xml
|
||||
create mode 100644 chrome/android/java/src/org/chromium/chrome/browser/feedback/SimplifiedNtpFeedbackSource.java
|
||||
create mode 100644 cromite_flags/chrome/browser/about_flags_cc/Restore-Simplified-NTP-launch.inc
|
||||
@@ -31,7 +31,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
diff --git a/chrome/android/chrome_java_resources.gni b/chrome/android/chrome_java_resources.gni
|
||||
--- a/chrome/android/chrome_java_resources.gni
|
||||
+++ b/chrome/android/chrome_java_resources.gni
|
||||
@@ -537,6 +537,7 @@ chrome_java_resources = [
|
||||
@@ -538,6 +538,7 @@ chrome_java_resources = [
|
||||
"java/res/layout/new_tab_page_layout.xml",
|
||||
"java/res/layout/new_tab_page_tile_grid_placeholder.xml",
|
||||
"java/res/layout/open_full_chrome_history_header.xml",
|
||||
@@ -42,7 +42,7 @@ diff --git a/chrome/android/chrome_java_resources.gni b/chrome/android/chrome_ja
|
||||
diff --git a/chrome/android/chrome_java_sources.gni b/chrome/android/chrome_java_sources.gni
|
||||
--- a/chrome/android/chrome_java_sources.gni
|
||||
+++ b/chrome/android/chrome_java_sources.gni
|
||||
@@ -623,6 +623,7 @@ chrome_java_sources = [
|
||||
@@ -622,6 +622,7 @@ chrome_java_sources = [
|
||||
"java/src/org/chromium/chrome/browser/feedback/FeedFeedbackCollector.java",
|
||||
"java/src/org/chromium/chrome/browser/feedback/HelpAndFeedbackLauncherImpl.java",
|
||||
"java/src/org/chromium/chrome/browser/feedback/ScreenshotTask.java",
|
||||
@@ -53,7 +53,7 @@ diff --git a/chrome/android/chrome_java_sources.gni b/chrome/android/chrome_java
|
||||
diff --git a/chrome/android/java/res/layout/new_tab_page_layout.xml b/chrome/android/java/res/layout/new_tab_page_layout.xml
|
||||
--- a/chrome/android/java/res/layout/new_tab_page_layout.xml
|
||||
+++ b/chrome/android/java/res/layout/new_tab_page_layout.xml
|
||||
@@ -37,6 +37,13 @@ found in the LICENSE file.
|
||||
@@ -38,6 +38,13 @@ found in the LICENSE file.
|
||||
android:layout_marginTop="16dp"
|
||||
android:visibility="gone"/>
|
||||
|
||||
@@ -209,13 +209,14 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/identity_disc/I
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/native_page/NativePageNavigationDelegateImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/native_page/NativePageNavigationDelegateImpl.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/native_page/NativePageNavigationDelegateImpl.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/native_page/NativePageNavigationDelegateImpl.java
|
||||
@@ -23,9 +23,9 @@ import org.chromium.ui.mojom.WindowOpenDisposition;
|
||||
@@ -29,10 +29,10 @@ import java.util.List;
|
||||
|
||||
/** {@link NativePageNavigationDelegate} implementation. */
|
||||
public class NativePageNavigationDelegateImpl implements NativePageNavigationDelegate {
|
||||
- private final Profile mProfile;
|
||||
+ protected final Profile mProfile;
|
||||
private final TabModelSelector mTabModelSelector;
|
||||
private final TabGroupCreationDialogManager mTabGroupCreationDialogManager;
|
||||
- private final Tab mTab;
|
||||
+ protected final Tab mTab;
|
||||
|
||||
@@ -224,23 +225,23 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/native_page/Nat
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageLayout.java b/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageLayout.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageLayout.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageLayout.java
|
||||
@@ -17,6 +17,7 @@ import android.util.AttributeSet;
|
||||
@@ -16,6 +16,7 @@ import android.text.Editable;
|
||||
import android.util.AttributeSet;
|
||||
import android.view.DragEvent;
|
||||
import android.view.Gravity;
|
||||
import android.view.LayoutInflater;
|
||||
+import android.view.ViewStub;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.LinearLayout;
|
||||
@@ -34,6 +35,7 @@ import org.chromium.chrome.R;
|
||||
@@ -32,6 +33,7 @@ import org.chromium.base.supplier.ObservableSupplier;
|
||||
import org.chromium.chrome.R;
|
||||
import org.chromium.chrome.browser.feed.FeedSurfaceScrollDelegate;
|
||||
import org.chromium.chrome.browser.flags.ChromeFeatureList;
|
||||
import org.chromium.chrome.browser.lens.LensEntryPoint;
|
||||
+import org.chromium.chrome.browser.flags.ChromeFeatureList;
|
||||
import org.chromium.chrome.browser.lens.LensMetrics;
|
||||
import org.chromium.chrome.browser.lifecycle.ActivityLifecycleDispatcher;
|
||||
import org.chromium.chrome.browser.logo.LogoBridge.Logo;
|
||||
@@ -98,6 +100,8 @@ public class NewTabPageLayout extends LinearLayout {
|
||||
@@ -92,6 +94,8 @@ public class NewTabPageLayout extends LinearLayout {
|
||||
private @Nullable DisplayStyleObserver mDisplayStyleObserver;
|
||||
private CallbackController mCallbackController = new CallbackController();
|
||||
|
||||
@@ -249,44 +250,15 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageL
|
||||
/**
|
||||
* Whether the tiles shown in the layout have finished loading.
|
||||
* With {@link #mHasShownView}, it's one of the 2 flags used to track initialisation progress.
|
||||
@@ -308,6 +312,7 @@ public class NewTabPageLayout extends LinearLayout {
|
||||
isScrollableMvtEnabled(),
|
||||
searchProviderIsGoogle);
|
||||
@@ -278,6 +282,7 @@ public class NewTabPageLayout extends LinearLayout {
|
||||
initializeMostVisitedTilesCoordinator(
|
||||
mProfile, lifecycleDispatcher, tileGroupDelegate, touchEnabledDelegate);
|
||||
initializeSearchBoxBackground();
|
||||
+ initializeShortcuts();
|
||||
initializeSearchBoxTextView();
|
||||
initializeVoiceSearchButton();
|
||||
initializeLensButton();
|
||||
@@ -808,12 +813,15 @@ public class NewTabPageLayout extends LinearLayout {
|
||||
marginLayoutParams.leftMargin = lateralPaddingsForNtp;
|
||||
marginLayoutParams.rightMargin = lateralPaddingsForNtp;
|
||||
}
|
||||
- marginLayoutParams.topMargin =
|
||||
+ // when simplified NTP is enabled the top marging is included in its view's padding
|
||||
+ if (mShortcutsView == null) {
|
||||
+ marginLayoutParams.topMargin =
|
||||
getResources()
|
||||
.getDimensionPixelSize(
|
||||
shouldShowLogo()
|
||||
? R.dimen.tile_grid_layout_top_margin
|
||||
: R.dimen.tile_grid_layout_no_logo_top_margin);
|
||||
+ }
|
||||
marginLayoutParams.bottomMargin =
|
||||
getResources()
|
||||
.getDimensionPixelSize(R.dimen.tile_carousel_layout_bottom_margin);
|
||||
@@ -821,7 +829,10 @@ public class NewTabPageLayout extends LinearLayout {
|
||||
// Set a bit more top padding on the tile grid if there is no logo.
|
||||
ViewGroup.LayoutParams layoutParams = mMvTilesContainerLayout.getLayoutParams();
|
||||
layoutParams.width = ViewGroup.LayoutParams.WRAP_CONTENT;
|
||||
- marginLayoutParams.topMargin = getGridMvtTopMargin();
|
||||
+ // when simplified NTP is enabled the top marging is included in its view's padding
|
||||
+ if (mShortcutsView == null) {
|
||||
+ marginLayoutParams.topMargin = getGridMvtTopMargin();
|
||||
+ }
|
||||
marginLayoutParams.bottomMargin = getGridMvtBottomMargin();
|
||||
}
|
||||
|
||||
@@ -1141,6 +1152,22 @@ public class NewTabPageLayout extends LinearLayout {
|
||||
@@ -1017,6 +1022,22 @@ public class NewTabPageLayout extends LinearLayout {
|
||||
return mMostVisitedTilesCoordinator;
|
||||
}
|
||||
|
||||
@@ -312,7 +284,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageL
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/suggestions/SuggestionsNavigationDelegate.java b/chrome/android/java/src/org/chromium/chrome/browser/suggestions/SuggestionsNavigationDelegate.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/suggestions/SuggestionsNavigationDelegate.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/suggestions/SuggestionsNavigationDelegate.java
|
||||
@@ -14,6 +14,11 @@ import org.chromium.chrome.browser.ui.native_page.NativePageHost;
|
||||
@@ -15,6 +15,11 @@ import org.chromium.chrome.browser.ui.native_page.NativePageHost;
|
||||
import org.chromium.content_public.browser.LoadUrlParams;
|
||||
import org.chromium.ui.base.PageTransition;
|
||||
|
||||
@@ -324,8 +296,8 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/suggestions/Sug
|
||||
/** Extension of {@link NativePageNavigationDelegate} with suggestions-specific methods. */
|
||||
public class SuggestionsNavigationDelegate extends NativePageNavigationDelegateImpl {
|
||||
public SuggestionsNavigationDelegate(
|
||||
@@ -25,6 +30,18 @@ public class SuggestionsNavigationDelegate extends NativePageNavigationDelegateI
|
||||
super(activity, profile, host, tabModelSelector, tab);
|
||||
@@ -27,6 +32,18 @@ public class SuggestionsNavigationDelegate extends NativePageNavigationDelegateI
|
||||
super(activity, profile, host, tabModelSelector, tabGroupCreationDialogManager, tab);
|
||||
}
|
||||
|
||||
+ public void navigateToBookmarks() {
|
||||
@@ -346,7 +318,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/suggestions/Sug
|
||||
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
|
||||
@@ -228,6 +228,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
|
||||
@@ -240,6 +240,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
|
||||
&kGcmNativeBackgroundTask,
|
||||
&kIncognitoReauthenticationForAndroid,
|
||||
&kIncognitoScreenshot,
|
||||
@@ -357,23 +329,23 @@ 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
|
||||
@@ -340,6 +340,7 @@ public abstract class ChromeFeatureList {
|
||||
"LookalikeUrlNavigationSuggestionsUI";
|
||||
public static final String MAGIC_STACK_ANDROID = "MagicStackAndroid";
|
||||
@@ -349,6 +349,7 @@ public abstract class ChromeFeatureList {
|
||||
public static final String MAYLAUNCHURL_USES_SEPARATE_STORAGE_PARTITION =
|
||||
"MayLaunchUrlUsesSeparateStoragePartition";
|
||||
public static final String MESSAGES_FOR_ANDROID_ADS_BLOCKED = "MessagesForAndroidAdsBlocked";
|
||||
+ public static final String SIMPLIFIED_NTP = "SimplifiedNTP";
|
||||
public static final String SEARCH_READY_OMNIBOX = "SearchReadyOmnibox";
|
||||
public static final String MIGRATE_ACCOUNT_MANAGEMENT_SETTINGS_TO_CAPABILITIES =
|
||||
"MigrateAccountManagementSettingsToCapabilities";
|
||||
@@ -637,7 +638,7 @@ public abstract class ChromeFeatureList {
|
||||
@@ -658,7 +659,7 @@ public abstract class ChromeFeatureList {
|
||||
newCachedFlag(START_SURFACE_RETURN_TIME, true);
|
||||
public static final CachedFlag sStopAppIndexingReport =
|
||||
newCachedFlag(STOP_APP_INDEXING_REPORT, true);
|
||||
- public static final CachedFlag sSurfacePolish = newCachedFlag(SURFACE_POLISH, true);
|
||||
+ public static final CachedFlag sSurfacePolish = newCachedFlag(SURFACE_POLISH, false);
|
||||
public static final CachedFlag sSurfacePolishForToolbarKillSwitch =
|
||||
newCachedFlag(SURFACE_POLISH_FOR_TOOLBAR_KILL_SWITCH, true);
|
||||
public static final CachedFlag sTabDragDropAsWindowAndroid =
|
||||
newCachedFlag(TAB_DRAG_DROP_ANDROID, false);
|
||||
public static final CachedFlag sTabGroupPaneAndroid =
|
||||
diff --git a/cromite_flags/chrome/browser/about_flags_cc/Restore-Simplified-NTP-launch.inc b/cromite_flags/chrome/browser/about_flags_cc/Restore-Simplified-NTP-launch.inc
|
||||
new file mode 100644
|
||||
--- /dev/null
|
||||
|
||||
@@ -15,11 +15,11 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
||||
.../chrome/browser/tasks/ReturnToChromeUtil.java | 12 +++++++++++-
|
||||
.../browser/preferences/ChromePreferenceKeys.java | 2 ++
|
||||
.../preferences/LegacyChromePreferenceKeys.java | 1 +
|
||||
.../java/res/layout/single_tab_view_layout.xml | 11 +++++++++--
|
||||
.../single_tab/SingleTabSwitcherOnNtpMediator.java | 10 ++++------
|
||||
.../single_tab/SingleTabSwitcherCoordinator.java | 2 +-
|
||||
.../single_tab/SingleTabSwitcherOnNtpMediator.java | 6 ++----
|
||||
.../show-ntp-at-startup.grdp | 9 +++++++++
|
||||
.../chrome_feature_list_cc/show-ntp-at-startup.inc | 2 ++
|
||||
11 files changed, 61 insertions(+), 10 deletions(-)
|
||||
11 files changed, 51 insertions(+), 7 deletions(-)
|
||||
create mode 100644 chrome/browser/ui/android/strings/cromite_android_chrome_strings_grd/show-ntp-at-startup.grdp
|
||||
create mode 100644 cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/show-ntp-at-startup.inc
|
||||
|
||||
@@ -83,7 +83,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeInactivit
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
|
||||
@@ -1672,7 +1672,7 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
|
||||
@@ -1680,7 +1680,7 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
|
||||
Callback<String> onStandardActiveIndexRead = null;
|
||||
shouldShowNtpAsHomeSurfaceAtStartup = shouldShowNtpHomeSurfaceOnStartup();
|
||||
boolean skipSavingNonActiveNtps = skipSavingNonActiveNtps();
|
||||
@@ -92,15 +92,15 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct
|
||||
mHomeSurfaceTracker = new HomeSurfaceTracker();
|
||||
}
|
||||
if (shouldShowNtpAsHomeSurfaceAtStartup) {
|
||||
@@ -2389,6 +2389,8 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
|
||||
@@ -2392,6 +2392,8 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
|
||||
mInactivityTracker =
|
||||
new ChromeInactivityTracker(
|
||||
ChromePreferenceKeys.TABBED_ACTIVITY_LAST_BACKGROUNDED_TIME_MS_PREF);
|
||||
+ mInactivityTracker.setIsStartup(
|
||||
+ !CipherFactory.getInstance().restoreFromBundle(getSavedInstanceState()));
|
||||
TabUsageTracker.initialize(this.getLifecycleDispatcher(), tabModelSelector);
|
||||
|
||||
assert getActivityTabStartupMetricsTracker() != null;
|
||||
TabGroupUsageTracker.initialize(
|
||||
this.getLifecycleDispatcher(), tabModelSelector, this::isWarmOnResume);
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tasks/ReturnToChromeUtil.java b/chrome/android/java/src/org/chromium/chrome/browser/tasks/ReturnToChromeUtil.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/tasks/ReturnToChromeUtil.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tasks/ReturnToChromeUtil.java
|
||||
@@ -128,7 +128,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tasks/ReturnToC
|
||||
// Checks whether to show the Start surface due to feature flag TAB_SWITCHER_ON_RETURN_MS.
|
||||
long lastVisibleTimeMs = inactivityTracker.getLastVisibleTimeMs();
|
||||
long lastBackgroundTimeMs = inactivityTracker.getLastBackgroundedTimeMs();
|
||||
@@ -778,7 +788,7 @@ public final class ReturnToChromeUtil {
|
||||
@@ -802,7 +812,7 @@ public final class ReturnToChromeUtil {
|
||||
TabModel currentTabModel,
|
||||
TabCreator tabCreator,
|
||||
HomeSurfaceTracker homeSurfaceTracker) {
|
||||
@@ -140,7 +140,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tasks/ReturnToC
|
||||
diff --git a/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java b/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java
|
||||
--- a/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java
|
||||
+++ b/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java
|
||||
@@ -791,6 +791,8 @@ public final class ChromePreferenceKeys {
|
||||
@@ -792,6 +792,8 @@ public final class ChromePreferenceKeys {
|
||||
|
||||
public static final String TABBED_ACTIVITY_LAST_BACKGROUNDED_TIME_MS_PREF =
|
||||
"ChromeTabbedActivity.BackgroundTimeMs";
|
||||
@@ -160,65 +160,40 @@ diff --git a/chrome/browser/preferences/android/java/src/org/chromium/chrome/bro
|
||||
ChromePreferenceKeys.TABMODEL_ACTIVE_TAB_ID,
|
||||
ChromePreferenceKeys.TABMODEL_HAS_COMPUTED_MAX_ID,
|
||||
ChromePreferenceKeys.TABMODEL_HAS_RUN_FILE_MIGRATION,
|
||||
diff --git a/chrome/browser/single_tab/android/java/res/layout/single_tab_view_layout.xml b/chrome/browser/single_tab/android/java/res/layout/single_tab_view_layout.xml
|
||||
--- a/chrome/browser/single_tab/android/java/res/layout/single_tab_view_layout.xml
|
||||
+++ b/chrome/browser/single_tab/android/java/res/layout/single_tab_view_layout.xml
|
||||
@@ -34,7 +34,7 @@ found in the LICENSE file.
|
||||
<LinearLayout
|
||||
android:id="@+id/continue_browsing"
|
||||
android:layout_width="wrap_content"
|
||||
- android:layout_height="match_parent"
|
||||
+ android:layout_height="wrap_content"
|
||||
android:layout_toEndOf="@+id/tab_favicon_view"
|
||||
android:layout_toStartOf="@+id/chevron_right_view"
|
||||
android:orientation="vertical">
|
||||
@@ -55,11 +55,18 @@ found in the LICENSE file.
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1.0"
|
||||
- android:layout_marginBottom="10dp"
|
||||
android:layout_gravity="center_vertical"
|
||||
android:gravity="center_vertical"
|
||||
android:singleLine="true"
|
||||
android:textAppearance="@style/TextAppearance.TextMedium" />
|
||||
+ <TextView
|
||||
+ android:id="@+id/tab_url_view"
|
||||
+ android:layout_width="wrap_content"
|
||||
+ android:layout_height="wrap_content"
|
||||
+ android:layout_marginBottom="10dp"
|
||||
+ android:gravity="start"
|
||||
+ android:singleLine="false"
|
||||
+ android:textAppearance="@style/TextAppearance.TextSmall.Secondary"/>
|
||||
</LinearLayout>
|
||||
diff --git a/chrome/browser/single_tab/android/java/src/org/chromium/chrome/browser/single_tab/SingleTabSwitcherCoordinator.java b/chrome/browser/single_tab/android/java/src/org/chromium/chrome/browser/single_tab/SingleTabSwitcherCoordinator.java
|
||||
--- a/chrome/browser/single_tab/android/java/src/org/chromium/chrome/browser/single_tab/SingleTabSwitcherCoordinator.java
|
||||
+++ b/chrome/browser/single_tab/android/java/src/org/chromium/chrome/browser/single_tab/SingleTabSwitcherCoordinator.java
|
||||
@@ -309,7 +309,7 @@ public class SingleTabSwitcherCoordinator implements TabSwitcher, ModuleProvider
|
||||
|
||||
<ImageView
|
||||
/** Returns the layout resource id for the single tab card. */
|
||||
public static int getModuleLayoutId() {
|
||||
- return R.layout.single_tab_module_layout;
|
||||
+ return R.layout.single_tab_module_layout; // (uazo) check this
|
||||
}
|
||||
|
||||
public void destroy() {
|
||||
diff --git a/chrome/browser/single_tab/android/java/src/org/chromium/chrome/browser/single_tab/SingleTabSwitcherOnNtpMediator.java b/chrome/browser/single_tab/android/java/src/org/chromium/chrome/browser/single_tab/SingleTabSwitcherOnNtpMediator.java
|
||||
--- a/chrome/browser/single_tab/android/java/src/org/chromium/chrome/browser/single_tab/SingleTabSwitcherOnNtpMediator.java
|
||||
+++ b/chrome/browser/single_tab/android/java/src/org/chromium/chrome/browser/single_tab/SingleTabSwitcherOnNtpMediator.java
|
||||
@@ -292,9 +292,8 @@ public class SingleTabSwitcherOnNtpMediator implements ConfigurationChangedObser
|
||||
@@ -252,16 +252,14 @@ public class SingleTabSwitcherOnNtpMediator {
|
||||
public void onPageLoadFinished(Tab tab, GURL url) {
|
||||
super.onPageLoadFinished(tab, url);
|
||||
mPropertyModel.set(TITLE, tab.getTitle());
|
||||
- if (mIsSurfacePolishEnabled) {
|
||||
- mPropertyModel.set(
|
||||
- URL, SingleTabSwitcherMediator.getDomainUrl(tab.getUrl()));
|
||||
+ if ((true)) {
|
||||
+ mPropertyModel.set(URL, tab.getUrl().getPossiblyInvalidSpec());
|
||||
}
|
||||
- mPropertyModel.set(
|
||||
- URL, SingleTabSwitcherMediator.getDomainUrl(tab.getUrl()));
|
||||
+ mPropertyModel.set(URL, tab.getUrl().getPossiblyInvalidSpec());
|
||||
tab.removeObserver(this);
|
||||
}
|
||||
@@ -302,9 +301,8 @@ public class SingleTabSwitcherOnNtpMediator implements ConfigurationChangedObser
|
||||
};
|
||||
mMostRecentTab.addObserver(tabObserver);
|
||||
} else {
|
||||
mPropertyModel.set(TITLE, mMostRecentTab.getTitle());
|
||||
- if (mIsSurfacePolishEnabled) {
|
||||
- mPropertyModel.set(
|
||||
- URL, SingleTabSwitcherMediator.getDomainUrl(mMostRecentTab.getUrl()));
|
||||
+ if ((true)) {
|
||||
+ mPropertyModel.set(URL, mMostRecentTab.getUrl().getPossiblyInvalidSpec());
|
||||
}
|
||||
- mPropertyModel.set(
|
||||
- URL, SingleTabSwitcherMediator.getDomainUrl(mMostRecentTab.getUrl()));
|
||||
+ mPropertyModel.set(URL, mMostRecentTab.getUrl().getPossiblyInvalidSpec());
|
||||
}
|
||||
}
|
||||
|
||||
diff --git a/chrome/browser/ui/android/strings/cromite_android_chrome_strings_grd/show-ntp-at-startup.grdp b/chrome/browser/ui/android/strings/cromite_android_chrome_strings_grd/show-ntp-at-startup.grdp
|
||||
new file mode 100644
|
||||
--- /dev/null
|
||||
|
||||
@@ -4,16 +4,16 @@ Subject: Use 4 tile rows, never show logo
|
||||
|
||||
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
---
|
||||
.../org/chromium/chrome/browser/ntp/NewTabPageLayout.java | 6 +++---
|
||||
.../suggestions/mostvisited/MostVisitedSitesBridge.java | 2 +-
|
||||
chrome/browser/engagement/important_sites_util.cc | 2 +-
|
||||
components/history/core/browser/top_sites_impl.h | 2 +-
|
||||
4 files changed, 6 insertions(+), 6 deletions(-)
|
||||
.../src/org/chromium/chrome/browser/ntp/NewTabPageLayout.java | 4 ++--
|
||||
.../suggestions/mostvisited/MostVisitedSitesBridge.java | 2 +-
|
||||
chrome/browser/engagement/important_sites_util.cc | 2 +-
|
||||
components/history/core/browser/top_sites_impl.h | 2 +-
|
||||
4 files changed, 5 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageLayout.java b/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageLayout.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageLayout.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageLayout.java
|
||||
@@ -110,7 +110,7 @@ public class NewTabPageLayout extends LinearLayout {
|
||||
@@ -104,7 +104,7 @@ public class NewTabPageLayout extends LinearLayout {
|
||||
*/
|
||||
private boolean mHasShownView;
|
||||
|
||||
@@ -22,16 +22,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageL
|
||||
private boolean mSearchProviderIsGoogle;
|
||||
private boolean mShowingNonStandardGoogleLogo;
|
||||
|
||||
@@ -499,7 +499,7 @@ public class NewTabPageLayout extends LinearLayout {
|
||||
boolean searchProviderIsGoogle) {
|
||||
assert mMvTilesContainerLayout != null;
|
||||
|
||||
- int maxRows = 2;
|
||||
+ int maxRows = 4;
|
||||
|
||||
mMostVisitedTilesCoordinator =
|
||||
new MostVisitedTilesCoordinator(
|
||||
@@ -733,7 +733,7 @@ public class NewTabPageLayout extends LinearLayout {
|
||||
@@ -645,7 +645,7 @@ public class NewTabPageLayout extends LinearLayout {
|
||||
&& mInitialized) {
|
||||
return;
|
||||
}
|
||||
@@ -43,7 +34,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageL
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/suggestions/mostvisited/MostVisitedSitesBridge.java b/chrome/android/java/src/org/chromium/chrome/browser/suggestions/mostvisited/MostVisitedSitesBridge.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/suggestions/mostvisited/MostVisitedSitesBridge.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/suggestions/mostvisited/MostVisitedSitesBridge.java
|
||||
@@ -22,7 +22,7 @@ public class MostVisitedSitesBridge implements MostVisitedSites {
|
||||
@@ -21,7 +21,7 @@ public class MostVisitedSitesBridge implements MostVisitedSites {
|
||||
* Maximum number of tiles that is explicitly supported. UMA relies on this value, so even if
|
||||
* the UI supports it, getting more can raise unexpected issues.
|
||||
*/
|
||||
|
||||
@@ -22,7 +22,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
.../PrivacyPreferencesManagerImpl.java | 42 ++++
|
||||
.../settings/UserAgentPreferences.java | 183 ++++++++++++++++++
|
||||
.../browser/tab/RequestDesktopUtils.java | 1 +
|
||||
.../chromium/chrome/browser/tab/TabImpl.java | 71 +++++--
|
||||
.../chromium/chrome/browser/tab/TabImpl.java | 62 +++++-
|
||||
.../chromium/chrome/browser/tab/TabUtils.java | 17 +-
|
||||
.../browser/android/content/content_utils.cc | 30 +++
|
||||
.../preferences/browser_prefs_android.cc | 7 +
|
||||
@@ -46,7 +46,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
.../browser/web_contents/web_contents_impl.cc | 6 +-
|
||||
.../framehost/NavigationControllerImpl.java | 3 +-
|
||||
content/renderer/render_thread_impl.cc | 1 -
|
||||
36 files changed, 794 insertions(+), 32 deletions(-)
|
||||
36 files changed, 794 insertions(+), 23 deletions(-)
|
||||
create mode 100644 chrome/android/java/res/layout/custom_useragent_preferences.xml
|
||||
create mode 100644 chrome/android/java/res/xml/useragent_preferences.xml
|
||||
create mode 100644 chrome/android/java/src/org/chromium/chrome/browser/settings/UserAgentPreferences.java
|
||||
@@ -90,7 +90,7 @@ diff --git a/chrome/android/chrome_java_resources.gni b/chrome/android/chrome_ja
|
||||
diff --git a/chrome/android/chrome_java_sources.gni b/chrome/android/chrome_java_sources.gni
|
||||
--- a/chrome/android/chrome_java_sources.gni
|
||||
+++ b/chrome/android/chrome_java_sources.gni
|
||||
@@ -955,6 +955,7 @@ chrome_java_sources = [
|
||||
@@ -944,6 +944,7 @@ chrome_java_sources = [
|
||||
"java/src/org/chromium/chrome/browser/payments/ui/DimmingDialog.java",
|
||||
"java/src/org/chromium/chrome/browser/payments/ui/LineItem.java",
|
||||
"java/src/org/chromium/chrome/browser/payments/ui/PaymentAppComparator.java",
|
||||
@@ -257,7 +257,7 @@ new file mode 100644
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
|
||||
@@ -2758,7 +2758,7 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
|
||||
@@ -2767,7 +2767,7 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
|
||||
TabUtils.switchUserAgent(
|
||||
currentTab,
|
||||
usingDesktopUserAgent,
|
||||
@@ -269,15 +269,15 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/init/ChromeBrowserInitializer.java b/chrome/android/java/src/org/chromium/chrome/browser/init/ChromeBrowserInitializer.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/init/ChromeBrowserInitializer.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/init/ChromeBrowserInitializer.java
|
||||
@@ -52,6 +52,7 @@ import org.chromium.content_public.browser.BrowserStartupController;
|
||||
import org.chromium.content_public.browser.DeviceUtils;
|
||||
import org.chromium.content_public.browser.SpeechRecognition;
|
||||
import org.chromium.net.NetworkChangeNotifier;
|
||||
@@ -21,6 +21,7 @@ import org.chromium.chrome.browser.profiles.ProfileManager;
|
||||
import org.chromium.chrome.browser.signin.SigninCheckerProvider;
|
||||
import org.chromium.components.background_task_scheduler.BackgroundTaskSchedulerFactory;
|
||||
import org.chromium.content_public.browser.BrowserStartupController;
|
||||
+import org.chromium.chrome.browser.privacy.settings.PrivacyPreferencesManagerImpl;
|
||||
|
||||
import java.io.File;
|
||||
import java.util.ArrayList;
|
||||
@@ -324,11 +325,13 @@ public class ChromeBrowserInitializer {
|
||||
import java.util.List;
|
||||
@@ -229,11 +230,13 @@ public class ChromeBrowserInitializer {
|
||||
|
||||
@Override
|
||||
public void onSuccess() {
|
||||
@@ -540,7 +540,7 @@ new file mode 100644
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/RequestDesktopUtils.java b/chrome/android/java/src/org/chromium/chrome/browser/tab/RequestDesktopUtils.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/tab/RequestDesktopUtils.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tab/RequestDesktopUtils.java
|
||||
@@ -139,6 +139,7 @@ public class RequestDesktopUtils {
|
||||
@@ -137,6 +137,7 @@ public class RequestDesktopUtils {
|
||||
*/
|
||||
public static void setRequestDesktopSiteContentSettingsForUrl(
|
||||
Profile profile, GURL url, boolean useDesktopUserAgent) {
|
||||
@@ -551,7 +551,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/RequestDesk
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.java
|
||||
@@ -64,6 +64,9 @@ import org.chromium.components.autofill.AutofillFeatures;
|
||||
@@ -66,6 +66,9 @@ import org.chromium.components.autofill.AutofillFeatures;
|
||||
import org.chromium.components.autofill.AutofillProvider;
|
||||
import org.chromium.components.autofill.AutofillSelectionActionMenuDelegate;
|
||||
import org.chromium.components.autofill.AutofillSelectionMenuItemHelper;
|
||||
@@ -561,7 +561,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.jav
|
||||
import org.chromium.components.dom_distiller.core.DomDistillerUrlUtils;
|
||||
import org.chromium.components.embedder_support.util.UrlConstants;
|
||||
import org.chromium.components.embedder_support.view.ContentView;
|
||||
@@ -95,6 +98,9 @@ import org.chromium.chrome.browser.preferences.Pref;
|
||||
@@ -98,6 +101,9 @@ import org.chromium.chrome.browser.preferences.Pref;
|
||||
import org.chromium.chrome.browser.profiles.ProfileManager;
|
||||
import org.chromium.components.user_prefs.UserPrefs;
|
||||
|
||||
@@ -571,33 +571,17 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.jav
|
||||
/**
|
||||
* Implementation of the interface {@link Tab}. Contains and manages a {@link ContentView}. This
|
||||
* class is not intended to be extended.
|
||||
@@ -738,11 +744,6 @@ class TabImpl implements Tab {
|
||||
return true;
|
||||
}
|
||||
|
||||
- // If desktop mode window setting is enabled, move switchUserAgentIfNeeded() from
|
||||
- // loadIfNeeded() to restoreIfNeeded(); to avoid reload without explicit user intent.
|
||||
- if (!ContentFeatureMap.isEnabled(ContentFeatureList.REQUEST_DESKTOP_SITE_WINDOW_SETTING)) {
|
||||
- switchUserAgentIfNeeded(UseDesktopUserAgentCaller.LOAD_IF_NEEDED + caller);
|
||||
- }
|
||||
restoreIfNeeded(caller);
|
||||
return true;
|
||||
}
|
||||
@@ -1814,13 +1815,6 @@ class TabImpl implements Tab {
|
||||
@@ -1909,9 +1915,6 @@ class TabImpl implements Tab {
|
||||
}
|
||||
|
||||
if (mWebContents != null) {
|
||||
- // If desktop mode window setting is enabled, move switchUserAgentIfNeeded() from
|
||||
- // loadIfNeeded() to restoreIfNeeded(); to avoid reload without explicit user
|
||||
- // intent.
|
||||
- if (ContentFeatureMap.isEnabled(
|
||||
- ContentFeatureList.REQUEST_DESKTOP_SITE_WINDOW_SETTING)) {
|
||||
- switchUserAgentIfNeeded(UseDesktopUserAgentCaller.LOAD_IF_NEEDED + caller);
|
||||
- }
|
||||
- // Invoke switchUserAgentIfNeeded() from restoreIfNeeded() instead of loadIfNeeded()
|
||||
- // to avoid reload without explicit user intent.
|
||||
- switchUserAgentIfNeeded(UseDesktopUserAgentCaller.LOAD_IF_NEEDED + caller);
|
||||
mWebContents.getNavigationController().loadIfNecessary();
|
||||
}
|
||||
mIsBeingRestored = true;
|
||||
@@ -2134,6 +2128,11 @@ class TabImpl implements Tab {
|
||||
@@ -2225,6 +2228,11 @@ class TabImpl implements Tab {
|
||||
url = webContents.getVisibleUrl();
|
||||
}
|
||||
|
||||
@@ -609,7 +593,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.jav
|
||||
// Do not override UA if there is a tab level setting.
|
||||
if (tabUserAgent != TabUserAgent.DEFAULT) {
|
||||
recordHistogramUseDesktopUserAgent(currentRequestDesktopSite);
|
||||
@@ -2207,6 +2206,54 @@ class TabImpl implements Tab {
|
||||
@@ -2304,6 +2312,54 @@ class TabImpl implements Tab {
|
||||
}
|
||||
}
|
||||
|
||||
@@ -701,7 +685,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabUtils.ja
|
||||
diff --git a/chrome/browser/android/content/content_utils.cc b/chrome/browser/android/content/content_utils.cc
|
||||
--- a/chrome/browser/android/content/content_utils.cc
|
||||
+++ b/chrome/browser/android/content/content_utils.cc
|
||||
@@ -8,6 +8,20 @@
|
||||
@@ -7,9 +7,23 @@
|
||||
#include "components/version_info/version_info.h"
|
||||
#include "content/public/browser/web_contents.h"
|
||||
|
||||
@@ -711,6 +695,9 @@ diff --git a/chrome/browser/android/content/content_utils.cc b/chrome/browser/an
|
||||
+#include "components/prefs/pref_service.h"
|
||||
+#include "chrome/common/pref_names.h"
|
||||
+
|
||||
// Must come after all headers that specialize FromJniType() / ToJniType().
|
||||
#include "chrome/browser/android/content/jni_headers/ContentUtils_jni.h"
|
||||
|
||||
+using base::android::ConvertJavaStringToUTF8;
|
||||
+using base::android::ConvertUTF16ToJavaString;
|
||||
+using base::android::ConvertUTF8ToJavaString;
|
||||
@@ -722,7 +709,7 @@ diff --git a/chrome/browser/android/content/content_utils.cc b/chrome/browser/an
|
||||
static base::android::ScopedJavaLocalRef<jstring>
|
||||
JNI_ContentUtils_GetBrowserUserAgent(JNIEnv* env) {
|
||||
return base::android::ConvertUTF8ToJavaString(
|
||||
@@ -18,6 +32,22 @@ static void JNI_ContentUtils_SetUserAgentOverride(
|
||||
@@ -20,6 +34,22 @@ static void JNI_ContentUtils_SetUserAgentOverride(
|
||||
JNIEnv* env,
|
||||
const base::android::JavaParamRef<jobject>& jweb_contents,
|
||||
jboolean j_override_in_new_tabs) {
|
||||
@@ -772,10 +759,15 @@ diff --git a/chrome/browser/android/preferences/browser_prefs_android.cc b/chrom
|
||||
diff --git a/chrome/browser/android/preferences/privacy_preferences_manager_impl.cc b/chrome/browser/android/preferences/privacy_preferences_manager_impl.cc
|
||||
--- a/chrome/browser/android/preferences/privacy_preferences_manager_impl.cc
|
||||
+++ b/chrome/browser/android/preferences/privacy_preferences_manager_impl.cc
|
||||
@@ -13,6 +13,32 @@
|
||||
@@ -12,9 +12,35 @@
|
||||
#include "components/policy/core/common/features.h"
|
||||
#include "components/prefs/pref_service.h"
|
||||
|
||||
+#include "base/android/jni_android.h"
|
||||
+#include "base/android/jni_array.h"
|
||||
+#include "base/android/jni_string.h"
|
||||
+#include "base/android/scoped_java_ref.h"
|
||||
+
|
||||
+#include "base/command_line.h"
|
||||
+#include "base/base_switches.h"
|
||||
+#include "chrome/common/chrome_switches.h"
|
||||
@@ -789,11 +781,9 @@ diff --git a/chrome/browser/android/preferences/privacy_preferences_manager_impl
|
||||
+#include "components/embedder_support/user_agent_utils.h"
|
||||
+#include "components/embedder_support/origin_trials/origin_trials_settings_storage.h"
|
||||
+
|
||||
+#include "base/android/jni_android.h"
|
||||
+#include "base/android/jni_array.h"
|
||||
+#include "base/android/jni_string.h"
|
||||
+#include "base/android/scoped_java_ref.h"
|
||||
+
|
||||
// Must come after all headers that specialize FromJniType() / ToJniType().
|
||||
#include "chrome/android/chrome_jni_headers/PrivacyPreferencesManagerImpl_jni.h"
|
||||
|
||||
+using base::android::ConvertJavaStringToUTF8;
|
||||
+using base::android::ConvertUTF16ToJavaString;
|
||||
+using base::android::ConvertUTF8ToJavaString;
|
||||
@@ -805,7 +795,7 @@ diff --git a/chrome/browser/android/preferences/privacy_preferences_manager_impl
|
||||
static jboolean JNI_PrivacyPreferencesManagerImpl_IsMetricsReportingEnabled(
|
||||
JNIEnv* env) {
|
||||
PrefService* local_state = g_browser_process->local_state();
|
||||
@@ -34,3 +60,101 @@ JNI_PrivacyPreferencesManagerImpl_IsMetricsReportingDisabledByPolicy(
|
||||
@@ -36,3 +62,101 @@ JNI_PrivacyPreferencesManagerImpl_IsMetricsReportingDisabledByPolicy(
|
||||
metrics::prefs::kMetricsReportingEnabled) &&
|
||||
!local_state->GetBoolean(metrics::prefs::kMetricsReportingEnabled);
|
||||
}
|
||||
@@ -918,15 +908,15 @@ diff --git a/chrome/browser/content_settings/request_desktop_site_web_contents_o
|
||||
#include "chrome/common/chrome_switches.h"
|
||||
#include "components/content_settings/core/common/content_settings_utils.h"
|
||||
#include "components/content_settings/core/common/pref_names.h"
|
||||
@@ -36,6 +37,7 @@ RequestDesktopSiteWebContentsObserverAndroid::
|
||||
if (base::FeatureList::IsEnabled(
|
||||
features::kRequestDesktopSiteWindowSetting)) {
|
||||
pref_service_ = profile->GetPrefs();
|
||||
+ tab_android_ = TabAndroid::FromWebContents(contents);
|
||||
}
|
||||
@@ -34,6 +35,7 @@ RequestDesktopSiteWebContentsObserverAndroid::
|
||||
host_content_settings_map_ =
|
||||
HostContentSettingsMapFactory::GetForProfile(profile);
|
||||
pref_service_ = profile->GetPrefs();
|
||||
+ tab_android_ = TabAndroid::FromWebContents(contents);
|
||||
}
|
||||
|
||||
@@ -51,6 +53,15 @@ void RequestDesktopSiteWebContentsObserverAndroid::DidStartNavigation(
|
||||
RequestDesktopSiteWebContentsObserverAndroid::
|
||||
@@ -48,6 +50,15 @@ void RequestDesktopSiteWebContentsObserverAndroid::DidStartNavigation(
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -964,7 +954,7 @@ diff --git a/chrome/browser/content_settings/request_desktop_site_web_contents_o
|
||||
diff --git a/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java b/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java
|
||||
--- a/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java
|
||||
+++ b/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java
|
||||
@@ -1033,8 +1033,6 @@ public final class ChromePreferenceKeys {
|
||||
@@ -1043,8 +1043,6 @@ public final class ChromePreferenceKeys {
|
||||
SIGNIN_PROMO_NTP_LAST_SHOWN_TIME,
|
||||
SYNC_PROMO_TOTAL_SHOW_COUNT,
|
||||
SEARCH_RESUMPTION_MODULE_COLLAPSE_ON_NTP,
|
||||
@@ -1046,7 +1036,7 @@ diff --git a/chrome/browser/tabmodel/internal/android/java/src/org/chromium/chro
|
||||
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
|
||||
@@ -236,6 +236,32 @@ CHAR_LIMIT guidelines:
|
||||
@@ -231,6 +231,32 @@ CHAR_LIMIT guidelines:
|
||||
Visit help page
|
||||
</message>
|
||||
|
||||
@@ -1082,7 +1072,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro
|
||||
diff --git a/chrome/common/pref_names.h b/chrome/common/pref_names.h
|
||||
--- a/chrome/common/pref_names.h
|
||||
+++ b/chrome/common/pref_names.h
|
||||
@@ -1854,6 +1854,14 @@ inline constexpr char kNaviOnboardGroup[] = "browser.navi_onboard_group";
|
||||
@@ -1880,6 +1880,14 @@ inline constexpr char kNaviOnboardGroup[] = "browser.navi_onboard_group";
|
||||
inline constexpr char kHadThreeConsecutiveNotificationPermissionDenies[] =
|
||||
"profile.content_settings.had_three_consecutive_denies.notifications";
|
||||
|
||||
@@ -1238,7 +1228,7 @@ diff --git a/components/embedder_support/user_agent_utils.cc b/components/embedd
|
||||
diff --git a/content/browser/renderer_host/navigation_controller_android.cc b/content/browser/renderer_host/navigation_controller_android.cc
|
||||
--- a/content/browser/renderer_host/navigation_controller_android.cc
|
||||
+++ b/content/browser/renderer_host/navigation_controller_android.cc
|
||||
@@ -252,6 +252,7 @@ base::android::ScopedJavaLocalRef<jobject> NavigationControllerAndroid::LoadUrl(
|
||||
@@ -254,6 +254,7 @@ base::android::ScopedJavaLocalRef<jobject> NavigationControllerAndroid::LoadUrl(
|
||||
jboolean can_load_local_resources,
|
||||
jboolean is_renderer_initiated,
|
||||
jboolean should_replace_current_entry,
|
||||
@@ -1246,7 +1236,7 @@ diff --git a/content/browser/renderer_host/navigation_controller_android.cc b/co
|
||||
const JavaParamRef<jobject>& j_initiator_origin,
|
||||
jboolean has_user_gesture,
|
||||
jboolean should_clear_history_list,
|
||||
@@ -352,6 +353,9 @@ base::android::ScopedJavaLocalRef<jobject> NavigationControllerAndroid::LoadUrl(
|
||||
@@ -354,6 +355,9 @@ base::android::ScopedJavaLocalRef<jobject> NavigationControllerAndroid::LoadUrl(
|
||||
|
||||
params.navigation_ui_data = std::move(navigation_ui_data);
|
||||
|
||||
@@ -1270,7 +1260,7 @@ diff --git a/content/browser/renderer_host/navigation_controller_android.h b/con
|
||||
diff --git a/content/browser/renderer_host/render_process_host_impl.cc b/content/browser/renderer_host/render_process_host_impl.cc
|
||||
--- a/content/browser/renderer_host/render_process_host_impl.cc
|
||||
+++ b/content/browser/renderer_host/render_process_host_impl.cc
|
||||
@@ -3595,6 +3595,7 @@ void RenderProcessHostImpl::PropagateBrowserCommandLineToRenderer(
|
||||
@@ -3644,6 +3644,7 @@ void RenderProcessHostImpl::PropagateBrowserCommandLineToRenderer(
|
||||
switches::kLacrosUseChromeosProtectedMedia,
|
||||
switches::kLacrosUseChromeosProtectedAv1,
|
||||
#endif
|
||||
@@ -1289,7 +1279,7 @@ diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser
|
||||
#include "base/check_op.h"
|
||||
#include "base/command_line.h"
|
||||
#include "base/containers/contains.h"
|
||||
@@ -2145,8 +2146,6 @@ void WebContentsImpl::SetUserAgentOverride(
|
||||
@@ -2163,8 +2164,6 @@ void WebContentsImpl::SetUserAgentOverride(
|
||||
OPTIONAL_TRACE_EVENT2("content", "WebContentsImpl::SetUserAgentOverride",
|
||||
"ua_override", ua_override.ua_string_override,
|
||||
"override_in_new_tabs", override_in_new_tabs);
|
||||
@@ -1298,7 +1288,7 @@ diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser
|
||||
|
||||
if (GetUserAgentOverride() == ua_override) {
|
||||
return;
|
||||
@@ -3201,6 +3200,9 @@ const blink::web_pref::WebPreferences WebContentsImpl::ComputeWebPreferences() {
|
||||
@@ -3229,6 +3228,9 @@ const blink::web_pref::WebPreferences WebContentsImpl::ComputeWebPreferences() {
|
||||
#else
|
||||
prefs.viewport_meta_enabled = false;
|
||||
#endif
|
||||
@@ -1331,7 +1321,7 @@ diff --git a/content/public/android/java/src/org/chromium/content/browser/frameh
|
||||
diff --git a/content/renderer/render_thread_impl.cc b/content/renderer/render_thread_impl.cc
|
||||
--- a/content/renderer/render_thread_impl.cc
|
||||
+++ b/content/renderer/render_thread_impl.cc
|
||||
@@ -865,7 +865,6 @@ void RenderThreadImpl::InitializeRenderer(
|
||||
@@ -864,7 +864,6 @@ void RenderThreadImpl::InitializeRenderer(
|
||||
const blink::UserAgentMetadata& user_agent_metadata,
|
||||
const std::vector<std::string>& cors_exempt_header_list,
|
||||
blink::mojom::OriginTrialsSettingsPtr origin_trials_settings) {
|
||||
|
||||
Reference in New Issue
Block a user