Patches for 144 (need some checks)
This commit is contained in:
@@ -29,7 +29,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
.../AppMenuPropertiesDelegateImpl.java | 7 +-
|
||||
.../ChromeContextMenuPopulator.java | 6 +-
|
||||
.../CustomTabActivityLifecycleUmaTracker.java | 31 ----
|
||||
.../CustomTabAppMenuPropertiesDelegate.java | 4 +
|
||||
.../CustomTabAppMenuPropertiesDelegate.java | 5 +
|
||||
.../CustomTabIntentDataProvider.java | 10 +
|
||||
.../browser/download/DownloadUtils.java | 13 +-
|
||||
.../history/HistoryContentManager.java | 9 +-
|
||||
@@ -88,7 +88,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
.../add-an-always-incognito-mode.inc | 1 +
|
||||
.../add-an-always-incognito-mode.inc | 3 +
|
||||
.../add-an-always-incognito-mode.inc | 1 +
|
||||
69 files changed, 806 insertions(+), 106 deletions(-)
|
||||
69 files changed, 807 insertions(+), 106 deletions(-)
|
||||
create mode 100644 chrome/android/java/res/xml/incognito_preferences.xml
|
||||
create mode 100644 chrome/android/java/src/org/chromium/chrome/browser/AlwaysIncognitoLinkInterceptor.java
|
||||
create mode 100644 chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/IncognitoSettings.java
|
||||
@@ -101,7 +101,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
|
||||
@@ -650,6 +650,7 @@ chrome_java_resources = [
|
||||
@@ -669,6 +669,7 @@ chrome_java_resources = [
|
||||
"java/res/xml/main_preferences.xml",
|
||||
"java/res/xml/manage_sync_preferences.xml",
|
||||
"java/res/xml/personalize_google_services_preferences.xml",
|
||||
@@ -120,7 +120,7 @@ diff --git a/chrome/android/chrome_java_sources.gni b/chrome/android/chrome_java
|
||||
"java/src/com/google/android/apps/chrome/appwidget/bookmarks/BookmarkThumbnailWidgetProvider.java",
|
||||
"java/src/org/chromium/chrome/browser/ActivityTabProvider.java",
|
||||
"java/src/org/chromium/chrome/browser/ActivityUtils.java",
|
||||
@@ -936,6 +937,7 @@ chrome_java_sources = [
|
||||
@@ -949,6 +950,7 @@ chrome_java_sources = [
|
||||
"java/src/org/chromium/chrome/browser/privacy/settings/PasswordEchoSettingHandlerFactory.java",
|
||||
"java/src/org/chromium/chrome/browser/privacy/settings/PrivacyPreferencesManagerImpl.java",
|
||||
"java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java",
|
||||
@@ -173,7 +173,7 @@ new file mode 100644
|
||||
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
|
||||
@@ -90,6 +90,11 @@ found in the LICENSE file.
|
||||
@@ -84,6 +84,11 @@ found in the LICENSE file.
|
||||
android:key="secure_dns"
|
||||
android:title="@string/settings_secure_dns_title"
|
||||
android:fragment="org.chromium.chrome.browser.privacy.secure_dns.SecureDnsSettings" />
|
||||
@@ -258,7 +258,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct
|
||||
import org.chromium.chrome.browser.IntentHandler.ExternalAppId;
|
||||
import org.chromium.chrome.browser.IntentHandler.TabOpenType;
|
||||
import org.chromium.chrome.browser.accessibility.settings.CaretBrowsingDialog;
|
||||
@@ -825,15 +829,20 @@ public class ChromeTabbedActivity extends ChromeActivity {
|
||||
@@ -819,15 +823,20 @@ public class ChromeTabbedActivity extends ChromeActivity implements PreAttachInt
|
||||
BrowserWindowType.NORMAL, currentTabModel, mMultiInstanceManager);
|
||||
|
||||
// For saving non-incognito tab closures for Recent Tabs.
|
||||
@@ -286,7 +286,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct
|
||||
// Defer creation of this helper so it triggers after TabGroupModelFilter observers.
|
||||
mUndoRefocusHelper =
|
||||
new UndoRefocusHelper(
|
||||
@@ -3274,7 +3283,7 @@ public class ChromeTabbedActivity extends ChromeActivity {
|
||||
@@ -3282,7 +3291,7 @@ public class ChromeTabbedActivity extends ChromeActivity implements PreAttachInt
|
||||
|
||||
// We determine SupportedProfileType in onPreCreate().
|
||||
// We determine the model as soon as possible so every systems get initialized coherently.
|
||||
@@ -298,15 +298,15 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
|
||||
@@ -101,6 +101,7 @@ import org.chromium.chrome.browser.compositor.layouts.content.TabContentManagerH
|
||||
import org.chromium.chrome.browser.contextualsearch.ContextualSearchManager;
|
||||
@@ -106,6 +106,7 @@ import org.chromium.chrome.browser.contextualsearch.ContextualSearchManager;
|
||||
import org.chromium.chrome.browser.desktop_site.DesktopSiteUtils;
|
||||
import org.chromium.chrome.browser.device.DeviceClassManager;
|
||||
import org.chromium.chrome.browser.devtools.DevToolsWindowAndroid;
|
||||
+import org.chromium.chrome.browser.AlwaysIncognitoLinkInterceptor;
|
||||
import org.chromium.chrome.browser.dom_distiller.DomDistillerUiUtils;
|
||||
import org.chromium.chrome.browser.dom_distiller.ReaderModeManager;
|
||||
import org.chromium.chrome.browser.download.DownloadManagerService;
|
||||
@@ -2144,6 +2145,9 @@ public abstract class ChromeActivity extends AsyncInitializationActivity
|
||||
@@ -2189,6 +2190,9 @@ public abstract class ChromeActivity extends AsyncInitializationActivity
|
||||
throw new IllegalStateException(
|
||||
"Attempting to access TabCreator before initialization");
|
||||
}
|
||||
@@ -319,7 +319,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/AppMenuPropertiesDelegateImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/AppMenuPropertiesDelegateImpl.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/AppMenuPropertiesDelegateImpl.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/AppMenuPropertiesDelegateImpl.java
|
||||
@@ -92,6 +92,8 @@ import java.util.Iterator;
|
||||
@@ -93,6 +93,8 @@ import java.util.Iterator;
|
||||
import java.util.List;
|
||||
import java.util.function.Supplier;
|
||||
|
||||
@@ -328,7 +328,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/App
|
||||
/**
|
||||
* Base implementation of {@link AppMenuPropertiesDelegate} that handles hiding and showing menu
|
||||
* items based on activity state.
|
||||
@@ -633,8 +635,9 @@ public abstract class AppMenuPropertiesDelegateImpl implements AppMenuProperties
|
||||
@@ -669,8 +671,9 @@ public abstract class AppMenuPropertiesDelegateImpl implements AppMenuProperties
|
||||
&& !isNativePage
|
||||
&& !isFileScheme
|
||||
&& !isContentScheme
|
||||
@@ -343,7 +343,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/App
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/ChromeContextMenuPopulator.java b/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/ChromeContextMenuPopulator.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/ChromeContextMenuPopulator.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/ChromeContextMenuPopulator.java
|
||||
@@ -41,6 +41,7 @@ import org.chromium.base.shared_preferences.SharedPreferencesManager;
|
||||
@@ -43,6 +43,7 @@ import org.chromium.base.shared_preferences.SharedPreferencesManager;
|
||||
import org.chromium.build.annotations.NullMarked;
|
||||
import org.chromium.build.annotations.Nullable;
|
||||
import org.chromium.chrome.R;
|
||||
@@ -351,7 +351,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/Chr
|
||||
import org.chromium.chrome.browser.bookmarks.BookmarkUtils;
|
||||
import org.chromium.chrome.browser.contextmenu.ChromeContextMenuItem.Item;
|
||||
import org.chromium.chrome.browser.contextmenu.ContextMenuCoordinator.ContextMenuItemType;
|
||||
@@ -437,6 +438,9 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator {
|
||||
@@ -452,6 +453,9 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator {
|
||||
mShowEphemeralTabNewLabel = null;
|
||||
mCustomActionMap.clear();
|
||||
|
||||
@@ -361,7 +361,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/Chr
|
||||
List<ModelList> groupedItems = new ArrayList<>();
|
||||
|
||||
if (mParams.isPage() && shouldShowEmptySpaceContextMenu()) {
|
||||
@@ -508,7 +512,7 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator {
|
||||
@@ -523,7 +527,7 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator {
|
||||
}
|
||||
}
|
||||
if (FirstRunStatus.getFirstRunFlowComplete()) {
|
||||
@@ -422,20 +422,21 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/Cust
|
||||
import org.chromium.chrome.browser.DefaultBrowserInfo;
|
||||
import org.chromium.chrome.browser.app.appmenu.AppMenuPropertiesDelegateImpl;
|
||||
import org.chromium.chrome.browser.bookmarks.BookmarkModel;
|
||||
@@ -248,6 +249,9 @@ public class CustomTabAppMenuPropertiesDelegate extends AppMenuPropertiesDelegat
|
||||
openInChromeItemVisible = false;
|
||||
@@ -240,6 +241,10 @@ public class CustomTabAppMenuPropertiesDelegate extends AppMenuPropertiesDelegat
|
||||
tryAddingReadAloud = false;
|
||||
}
|
||||
+ if (AlwaysIncognitoLinkInterceptor.isAlwaysIncognito()) {
|
||||
+ downloadItemVisible = true;
|
||||
+ }
|
||||
|
||||
boolean isNativePage =
|
||||
url.getScheme().equals(UrlConstants.CHROME_SCHEME)
|
||||
+ if (AlwaysIncognitoLinkInterceptor.isAlwaysIncognito()) {
|
||||
+ downloadItemVisible = true;
|
||||
+ }
|
||||
+
|
||||
if (CustomTabIntentDataProvider.isOpenInBrowserDisallowed(mUiType, mIsIncognitoBranded)) {
|
||||
openInChromeItemVisible = false;
|
||||
}
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabIntentDataProvider.java b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabIntentDataProvider.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabIntentDataProvider.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabIntentDataProvider.java
|
||||
@@ -105,6 +105,9 @@ import org.chromium.components.embedder_support.util.UrlConstants;
|
||||
@@ -106,6 +106,9 @@ import org.chromium.components.embedder_support.util.UrlConstants;
|
||||
import org.chromium.device.mojom.ScreenOrientationLockType;
|
||||
import org.chromium.net.NetId;
|
||||
|
||||
@@ -445,7 +446,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/Cust
|
||||
import java.lang.annotation.Retention;
|
||||
import java.lang.annotation.RetentionPolicy;
|
||||
import java.util.ArrayList;
|
||||
@@ -1328,6 +1331,13 @@ public class CustomTabIntentDataProvider extends BrowserServicesIntentDataProvid
|
||||
@@ -1362,6 +1365,13 @@ public class CustomTabIntentDataProvider extends BrowserServicesIntentDataProvid
|
||||
return getInitialActivityWidth() > 0;
|
||||
}
|
||||
|
||||
@@ -549,7 +550,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/history/History
|
||||
mSelectableListLayout = null;
|
||||
mRootView = getIncognitoHistoryPlaceholderView();
|
||||
return;
|
||||
@@ -451,9 +459,22 @@ public class HistoryManager
|
||||
@@ -458,9 +466,22 @@ public class HistoryManager
|
||||
onBackPressStateChanged();
|
||||
}
|
||||
|
||||
@@ -573,7 +574,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/history/History
|
||||
// If Incognito placeholder is shown no need to call any destroy method.
|
||||
return;
|
||||
}
|
||||
@@ -514,7 +535,7 @@ public class HistoryManager
|
||||
@@ -521,7 +542,7 @@ public class HistoryManager
|
||||
* @return True if manager handles this event, false if it decides to ignore.
|
||||
*/
|
||||
private boolean onBackPressed() {
|
||||
@@ -618,7 +619,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/history/History
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/native_page/NativePageFactory.java b/chrome/android/java/src/org/chromium/chrome/browser/native_page/NativePageFactory.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/native_page/NativePageFactory.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/native_page/NativePageFactory.java
|
||||
@@ -25,6 +25,7 @@ import org.chromium.base.supplier.OneshotSupplier;
|
||||
@@ -26,6 +26,7 @@ import org.chromium.base.supplier.OneshotSupplier;
|
||||
import org.chromium.build.annotations.NullMarked;
|
||||
import org.chromium.build.annotations.Nullable;
|
||||
import org.chromium.chrome.R;
|
||||
@@ -626,7 +627,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/native_page/Nat
|
||||
import org.chromium.chrome.browser.app.ChromeActivity;
|
||||
import org.chromium.chrome.browser.app.download.home.DownloadPage;
|
||||
import org.chromium.chrome.browser.back_press.BackPressManager;
|
||||
@@ -411,7 +412,8 @@ public class NativePageFactory {
|
||||
@@ -425,7 +426,8 @@ public class NativePageFactory {
|
||||
|
||||
NativePage page;
|
||||
|
||||
@@ -879,7 +880,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/Fragme
|
||||
import org.chromium.components.browser_ui.accessibility.AccessibilitySettings;
|
||||
import org.chromium.components.browser_ui.bottomsheet.BottomSheetController;
|
||||
import org.chromium.components.browser_ui.settings.FragmentSettingsNavigation;
|
||||
@@ -229,6 +230,9 @@ public class FragmentDependencyProvider extends FragmentManager.FragmentLifecycl
|
||||
@@ -211,6 +212,9 @@ public class FragmentDependencyProvider extends FragmentManager.FragmentLifecycl
|
||||
SigninAndHistorySyncActivityLauncherImpl.get(),
|
||||
new SettingsCustomTabLauncherImpl()));
|
||||
}
|
||||
@@ -998,7 +999,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/tab_restore
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedAppMenuPropertiesDelegate.java b/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedAppMenuPropertiesDelegate.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedAppMenuPropertiesDelegate.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedAppMenuPropertiesDelegate.java
|
||||
@@ -26,6 +26,7 @@ import org.chromium.base.supplier.OneshotSupplier;
|
||||
@@ -27,6 +27,7 @@ import org.chromium.base.supplier.OneshotSupplier;
|
||||
import org.chromium.build.annotations.NullMarked;
|
||||
import org.chromium.build.annotations.Nullable;
|
||||
import org.chromium.chrome.R;
|
||||
@@ -1006,7 +1007,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/Tab
|
||||
import org.chromium.chrome.browser.ActivityTabProvider;
|
||||
import org.chromium.chrome.browser.ai.AiAssistantService;
|
||||
import org.chromium.chrome.browser.app.appmenu.AppMenuPropertiesDelegateImpl;
|
||||
@@ -241,7 +242,8 @@ public class TabbedAppMenuPropertiesDelegate extends AppMenuPropertiesDelegateIm
|
||||
@@ -245,7 +246,8 @@ public class TabbedAppMenuPropertiesDelegate extends AppMenuPropertiesDelegateIm
|
||||
|
||||
// When the feature is enabled, show either "New Incognito tab" in incognito mode
|
||||
// or "New tab" in normal mode. When the feature is disabled, show both.
|
||||
@@ -1019,7 +1020,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/Tab
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java b/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java
|
||||
@@ -209,6 +209,8 @@ import org.chromium.content_public.common.ContentSwitches;
|
||||
@@ -216,6 +216,8 @@ import org.chromium.content_public.common.ContentSwitches;
|
||||
import org.chromium.ui.UiUtils;
|
||||
import org.chromium.ui.base.ActivityWindowAndroid;
|
||||
import org.chromium.ui.base.DeviceFormFactor;
|
||||
@@ -1028,7 +1029,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/Tab
|
||||
import org.chromium.ui.base.IntentRequestTracker;
|
||||
import org.chromium.ui.base.UiAndroidFeatureList;
|
||||
import org.chromium.ui.display.DisplayUtil;
|
||||
@@ -1257,7 +1259,7 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator {
|
||||
@@ -1309,7 +1311,7 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator {
|
||||
() -> {
|
||||
mTabCreatorManagerSupplier
|
||||
.get()
|
||||
@@ -1040,7 +1041,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/Tab
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/ChromeTabCreator.java b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/ChromeTabCreator.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/ChromeTabCreator.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/ChromeTabCreator.java
|
||||
@@ -55,6 +55,10 @@ import org.chromium.url.GURL;
|
||||
@@ -56,6 +56,10 @@ import org.chromium.url.GURL;
|
||||
import java.util.Collections;
|
||||
import java.util.function.Supplier;
|
||||
|
||||
@@ -1051,7 +1052,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/Chrome
|
||||
/** This class creates various kinds of new tabs and adds them to the right {@link TabModel}. */
|
||||
public class ChromeTabCreator implements TabCreator, NeedsTabModel, NeedsTabModelOrderController {
|
||||
/**
|
||||
@@ -594,7 +598,6 @@ public class ChromeTabCreator implements TabCreator, NeedsTabModel, NeedsTabMode
|
||||
@@ -598,7 +602,6 @@ public class ChromeTabCreator implements TabCreator, NeedsTabModel, NeedsTabMode
|
||||
// TODO(crbug.com/40691614): Clean up the launches from SearchActivity/Chrome.
|
||||
public @Nullable Tab launchUrlFromExternalApp(
|
||||
LoadUrlParams loadUrlParams, String appId, boolean forceNewTab, Intent intent) {
|
||||
@@ -1062,7 +1063,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/Chrome
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabModelSelectorImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabModelSelectorImpl.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabModelSelectorImpl.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabModelSelectorImpl.java
|
||||
@@ -20,6 +20,7 @@ import org.chromium.build.annotations.Initializer;
|
||||
@@ -20,6 +20,7 @@ import org.chromium.build.annotations.MonotonicNonNull;
|
||||
import org.chromium.build.annotations.NullMarked;
|
||||
import org.chromium.build.annotations.Nullable;
|
||||
import org.chromium.chrome.browser.app.tabwindow.TabWindowManagerSingleton;
|
||||
@@ -1070,7 +1071,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabMod
|
||||
import org.chromium.chrome.browser.flags.ActivityType;
|
||||
import org.chromium.chrome.browser.flags.ChromeFeatureList;
|
||||
import org.chromium.chrome.browser.multiwindow.MultiInstanceManager;
|
||||
@@ -139,6 +140,8 @@ public class TabModelSelectorImpl extends TabModelSelectorBase implements TabMod
|
||||
@@ -138,6 +139,8 @@ public class TabModelSelectorImpl extends TabModelSelectorBase implements TabMod
|
||||
ProfileProvider profileProvider = mProfileProviderSupplier.get();
|
||||
assert profileProvider != null;
|
||||
|
||||
@@ -1090,7 +1091,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabPer
|
||||
import org.chromium.chrome.browser.app.tabmodel.AsyncTabParamsManagerSingleton;
|
||||
import org.chromium.chrome.browser.crypto.CipherFactory;
|
||||
import org.chromium.chrome.browser.flags.ChromeFeatureList;
|
||||
@@ -750,6 +751,12 @@ public class TabPersistentStoreImpl implements TabPersistentStore {
|
||||
@@ -723,6 +724,12 @@ public class TabPersistentStoreImpl implements TabPersistentStore {
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1229,7 +1230,7 @@ diff --git a/chrome/browser/android/historical_tab_saver.cc b/chrome/browser/and
|
||||
diff --git a/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc b/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc
|
||||
--- a/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc
|
||||
+++ b/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc
|
||||
@@ -461,6 +461,15 @@ ChromeAutocompleteProviderClient::GetAimEligibilityService() const {
|
||||
@@ -462,6 +462,15 @@ ChromeAutocompleteProviderClient::GetAimEligibilityService() const {
|
||||
return AimEligibilityServiceFactory::GetForProfile(profile_);
|
||||
}
|
||||
|
||||
@@ -1284,7 +1285,7 @@ diff --git a/chrome/browser/autocomplete/remote_suggestions_service_factory.cc b
|
||||
diff --git a/chrome/browser/bookmarks/android/bookmark_bridge.cc b/chrome/browser/bookmarks/android/bookmark_bridge.cc
|
||||
--- a/chrome/browser/bookmarks/android/bookmark_bridge.cc
|
||||
+++ b/chrome/browser/bookmarks/android/bookmark_bridge.cc
|
||||
@@ -37,6 +37,7 @@
|
||||
@@ -33,6 +33,7 @@
|
||||
#include "base/strings/strcat.h"
|
||||
#include "base/strings/utf_string_conversions.h"
|
||||
#include "base/uuid.h"
|
||||
@@ -1292,7 +1293,7 @@ diff --git a/chrome/browser/bookmarks/android/bookmark_bridge.cc b/chrome/browse
|
||||
#include "chrome/browser/bookmarks/bookmark_model_factory.h"
|
||||
#include "chrome/browser/bookmarks/managed_bookmark_service_factory.h"
|
||||
#include "chrome/browser/commerce/shopping_service_factory.h"
|
||||
@@ -214,6 +215,12 @@ ScopedJavaLocalRef<jobject> JNI_BookmarkBridge_NativeGetForProfile(
|
||||
@@ -210,6 +211,12 @@ static ScopedJavaLocalRef<jobject> JNI_BookmarkBridge_NativeGetForProfile(
|
||||
if (!profile)
|
||||
return nullptr;
|
||||
|
||||
@@ -1356,7 +1357,7 @@ diff --git a/chrome/browser/content_settings/host_content_settings_map_factory.c
|
||||
diff --git a/chrome/browser/extensions/api/webstore_private/webstore_private_api.cc b/chrome/browser/extensions/api/webstore_private/webstore_private_api.cc
|
||||
--- a/chrome/browser/extensions/api/webstore_private/webstore_private_api.cc
|
||||
+++ b/chrome/browser/extensions/api/webstore_private/webstore_private_api.cc
|
||||
@@ -83,6 +83,12 @@
|
||||
@@ -80,6 +80,12 @@
|
||||
#include "chrome/browser/safe_browsing/safe_browsing_service.h"
|
||||
#endif
|
||||
|
||||
@@ -1369,7 +1370,7 @@ diff --git a/chrome/browser/extensions/api/webstore_private/webstore_private_api
|
||||
static_assert(BUILDFLAG(ENABLE_EXTENSIONS_CORE));
|
||||
|
||||
using safe_browsing::SafeBrowsingNavigationObserverManager;
|
||||
@@ -223,6 +229,16 @@ const int kExtensionReferrerUserGestureLimit = 2;
|
||||
@@ -220,6 +226,16 @@ const int kExtensionReferrerUserGestureLimit = 2;
|
||||
|
||||
WebstorePrivateApi::Delegate* test_delegate = nullptr;
|
||||
|
||||
@@ -1386,7 +1387,7 @@ diff --git a/chrome/browser/extensions/api/webstore_private/webstore_private_api
|
||||
// We allow the web store to set a string containing login information when a
|
||||
// purchase is made, so that when a user logs into sync with a different
|
||||
// account we can recognize the situation. The Get function returns the login if
|
||||
@@ -429,7 +445,7 @@ WebstorePrivateBeginInstallWithManifest3Function::Run() {
|
||||
@@ -426,7 +442,7 @@ WebstorePrivateBeginInstallWithManifest3Function::Run() {
|
||||
params_ = Params::Create(args());
|
||||
EXTENSION_FUNCTION_VALIDATE(params_);
|
||||
|
||||
@@ -1395,7 +1396,7 @@ diff --git a/chrome/browser/extensions/api/webstore_private/webstore_private_api
|
||||
|
||||
if (!crx_file::id_util::IdIsValid(details().id)) {
|
||||
return RespondNow(BuildResponse(api::webstore_private::Result::kInvalidId,
|
||||
@@ -965,7 +981,7 @@ void WebstorePrivateBeginInstallWithManifest3Function::
|
||||
@@ -948,7 +964,7 @@ void WebstorePrivateBeginInstallWithManifest3Function::
|
||||
DCHECK(extension);
|
||||
DCHECK(contents);
|
||||
|
||||
@@ -1404,7 +1405,7 @@ diff --git a/chrome/browser/extensions/api/webstore_private/webstore_private_api
|
||||
|
||||
std::string message_from_admin =
|
||||
ExtensionManagementFactory::GetForBrowserContext(profile)
|
||||
@@ -1001,7 +1017,7 @@ WebstorePrivateCompleteInstallFunction::Run() {
|
||||
@@ -984,7 +1000,7 @@ WebstorePrivateCompleteInstallFunction::Run() {
|
||||
std::optional<CompleteInstall::Params> params =
|
||||
CompleteInstall::Params::Create(args());
|
||||
EXTENSION_FUNCTION_VALIDATE(params);
|
||||
@@ -1413,7 +1414,7 @@ diff --git a/chrome/browser/extensions/api/webstore_private/webstore_private_api
|
||||
if (profile->IsGuestSession() || profile->IsOffTheRecord()) {
|
||||
return RespondNow(Error(kIncognitoError));
|
||||
}
|
||||
@@ -1319,7 +1335,7 @@ ExtensionFunction::ResponseValue
|
||||
@@ -1302,7 +1318,7 @@ ExtensionFunction::ResponseValue
|
||||
WebstorePrivateGetExtensionStatusFunction::BuildResponseWithoutManifest(
|
||||
const ExtensionId& extension_id) {
|
||||
ExtensionInstallStatus status = GetWebstoreExtensionInstallStatus(
|
||||
@@ -1422,7 +1423,7 @@ diff --git a/chrome/browser/extensions/api/webstore_private/webstore_private_api
|
||||
api::webstore_private::ExtensionInstallStatus api_status =
|
||||
ConvertExtensionInstallStatusForAPI(status);
|
||||
return ArgumentList(GetExtensionStatus::Results::Create(api_status));
|
||||
@@ -1333,7 +1349,7 @@ void WebstorePrivateGetExtensionStatusFunction::OnManifestParsed(
|
||||
@@ -1316,7 +1332,7 @@ void WebstorePrivateGetExtensionStatusFunction::OnManifestParsed(
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -1478,7 +1479,7 @@ diff --git a/chrome/browser/history/history_tab_helper.cc b/chrome/browser/histo
|
||||
diff --git a/chrome/browser/history/history_tab_helper.h b/chrome/browser/history/history_tab_helper.h
|
||||
--- a/chrome/browser/history/history_tab_helper.h
|
||||
+++ b/chrome/browser/history/history_tab_helper.h
|
||||
@@ -17,6 +17,8 @@
|
||||
@@ -18,6 +18,8 @@
|
||||
#include "components/translate/core/browser/translate_driver.h"
|
||||
#include "content/public/browser/web_contents_observer.h"
|
||||
#include "content/public/browser/web_contents_user_data.h"
|
||||
@@ -1487,7 +1488,7 @@ diff --git a/chrome/browser/history/history_tab_helper.h b/chrome/browser/histor
|
||||
|
||||
namespace history {
|
||||
struct HistoryAddPageArgs;
|
||||
@@ -59,6 +61,11 @@ class HistoryTabHelper
|
||||
@@ -60,6 +62,11 @@ class HistoryTabHelper
|
||||
std::optional<std::string> GetAppId() { return app_id_; }
|
||||
#endif
|
||||
|
||||
@@ -1807,7 +1808,7 @@ diff --git a/chrome/browser/offline_pages/request_coordinator_factory.h b/chrome
|
||||
diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browser_prefs.cc
|
||||
--- a/chrome/browser/prefs/browser_prefs.cc
|
||||
+++ b/chrome/browser/prefs/browser_prefs.cc
|
||||
@@ -261,6 +261,7 @@
|
||||
@@ -262,6 +262,7 @@
|
||||
|
||||
#if BUILDFLAG(IS_ANDROID)
|
||||
#include "chrome/browser/accessibility/accessibility_prefs/android/accessibility_prefs_controller.h"
|
||||
@@ -1815,7 +1816,7 @@ diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browse
|
||||
#include "chrome/browser/android/ntp/recent_tabs_page_prefs.h"
|
||||
#include "chrome/browser/android/oom_intervention/oom_intervention_decider.h"
|
||||
#include "chrome/browser/android/preferences/browser_prefs_android.h"
|
||||
@@ -2022,6 +2023,10 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry,
|
||||
@@ -1774,6 +1775,10 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry,
|
||||
usage_stats::UsageStatsBridge::RegisterProfilePrefs(registry);
|
||||
variations::VariationsService::RegisterProfilePrefs(registry);
|
||||
webapps::InstallPromptPrefs::RegisterProfilePrefs(registry);
|
||||
@@ -1880,7 +1881,7 @@ diff --git a/chrome/browser/profiles/profile_selections.h b/chrome/browser/profi
|
||||
diff --git a/chrome/browser/ui/android/native_page/BUILD.gn b/chrome/browser/ui/android/native_page/BUILD.gn
|
||||
--- a/chrome/browser/ui/android/native_page/BUILD.gn
|
||||
+++ b/chrome/browser/ui/android/native_page/BUILD.gn
|
||||
@@ -33,6 +33,8 @@ robolectric_library("junit") {
|
||||
@@ -34,6 +34,8 @@ robolectric_library("junit") {
|
||||
|
||||
deps = [
|
||||
":java",
|
||||
@@ -1901,7 +1902,7 @@ diff --git a/chrome/browser/ui/android/native_page/java/src/org/chromium/chrome/
|
||||
/** An interface for pages that will be using Android views instead of html/rendered Web content. */
|
||||
@NullMarked
|
||||
public interface NativePage {
|
||||
@@ -192,7 +194,8 @@ public interface NativePage {
|
||||
@@ -201,7 +203,8 @@ public interface NativePage {
|
||||
*/
|
||||
static boolean isNativePageUrl(GURL url, boolean isIncognito, boolean hasPdfDownload) {
|
||||
return url != null
|
||||
@@ -1911,7 +1912,7 @@ diff --git a/chrome/browser/ui/android/native_page/java/src/org/chromium/chrome/
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -202,7 +205,7 @@ public interface NativePage {
|
||||
@@ -211,7 +214,7 @@ public interface NativePage {
|
||||
* not have chrome or chrome-native scheme.
|
||||
*/
|
||||
static boolean isChromePageUrl(GURL url, boolean isIncognito) {
|
||||
@@ -1920,7 +1921,7 @@ diff --git a/chrome/browser/ui/android/native_page/java/src/org/chromium/chrome/
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -216,7 +219,8 @@ public interface NativePage {
|
||||
@@ -225,7 +228,8 @@ public interface NativePage {
|
||||
GURL url,
|
||||
@Nullable NativePage candidatePage,
|
||||
boolean isIncognito,
|
||||
@@ -1930,7 +1931,7 @@ diff --git a/chrome/browser/ui/android/native_page/java/src/org/chromium/chrome/
|
||||
if (hasPdfDownload) {
|
||||
// For navigation with associated pdf download (e.g. open a pdf link), pdf page should
|
||||
// be created.
|
||||
@@ -234,7 +238,7 @@ public interface NativePage {
|
||||
@@ -243,7 +247,7 @@ public interface NativePage {
|
||||
// created after the pdf document is re-downloaded in other parts of the code.
|
||||
return NativePageType.NONE;
|
||||
} else {
|
||||
@@ -1939,7 +1940,7 @@ diff --git a/chrome/browser/ui/android/native_page/java/src/org/chromium/chrome/
|
||||
}
|
||||
}
|
||||
|
||||
@@ -246,7 +250,7 @@ public interface NativePage {
|
||||
@@ -255,7 +259,7 @@ public interface NativePage {
|
||||
* which do not have chrome or chrome-native scheme.
|
||||
*/
|
||||
private static @NativePageType int chromePageType(
|
||||
@@ -1948,7 +1949,7 @@ diff --git a/chrome/browser/ui/android/native_page/java/src/org/chromium/chrome/
|
||||
String host = url.getHost();
|
||||
String scheme = url.getScheme();
|
||||
if (!UrlConstants.CHROME_NATIVE_SCHEME.equals(scheme)
|
||||
@@ -266,7 +270,8 @@ public interface NativePage {
|
||||
@@ -275,7 +279,8 @@ public interface NativePage {
|
||||
return NativePageType.DOWNLOADS;
|
||||
} else if (UrlConstants.HISTORY_HOST.equals(host)) {
|
||||
return NativePageType.HISTORY;
|
||||
@@ -1961,7 +1962,7 @@ diff --git a/chrome/browser/ui/android/native_page/java/src/org/chromium/chrome/
|
||||
diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarMediator.java b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarMediator.java
|
||||
--- a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarMediator.java
|
||||
+++ b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarMediator.java
|
||||
@@ -101,6 +101,11 @@ import org.chromium.ui.interpolators.Interpolators;
|
||||
@@ -108,6 +108,11 @@ import org.chromium.ui.interpolators.Interpolators;
|
||||
import org.chromium.ui.modaldialog.ModalDialogManager;
|
||||
import org.chromium.url.GURL;
|
||||
|
||||
@@ -1973,7 +1974,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
@@ -497,6 +502,9 @@ class LocationBarMediator
|
||||
@@ -528,6 +533,9 @@ class LocationBarMediator
|
||||
if (!DeviceFormFactor.isNonMultiDisplayContextOnTablet(mContext)) return;
|
||||
Tab tab = mLocationBarDataProvider.getTab();
|
||||
if (tab == null) return;
|
||||
@@ -1986,7 +1987,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
|
||||
@@ -6900,6 +6900,31 @@ To change this setting, <ph name="BEGIN_LINK">BEGIN_LINK</ph>delete the Chrome d
|
||||
@@ -6990,6 +6990,31 @@ To change this setting, <ph name="BEGIN_LINK">BEGIN_LINK</ph>delete the Chrome d
|
||||
<message name="IDS_QUICK_DELETE_DIALOG_COOKIES_CACHE_AND_OTHER_SITE_DATA_TEXT" desc="Text indicating that browsing data like cookies, cache, and other site data would be deleted.">
|
||||
Cookies, cache, and other site data
|
||||
</message>
|
||||
@@ -2073,7 +2074,7 @@ diff --git a/chrome/browser/ui/search_engines/search_engine_tab_helper.cc b/chro
|
||||
#include "chrome/common/url_constants.h"
|
||||
#include "components/search_engines/template_url.h"
|
||||
#include "components/search_engines/template_url_fetcher.h"
|
||||
@@ -165,6 +166,11 @@ void SearchEngineTabHelper::PageHasOpenSearchDescriptionDocument(
|
||||
@@ -166,6 +167,11 @@ void SearchEngineTabHelper::PageHasOpenSearchDescriptionDocument(
|
||||
|
||||
// Download the OpenSearch description document. If this is successful, a
|
||||
// new keyword will be created when done.
|
||||
@@ -2088,7 +2089,7 @@ diff --git a/chrome/browser/ui/search_engines/search_engine_tab_helper.cc 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
|
||||
@@ -4116,6 +4116,12 @@ inline constexpr char kOutOfProcessSystemDnsResolutionEnabled[] =
|
||||
@@ -4153,6 +4153,12 @@ inline constexpr char kOutOfProcessSystemDnsResolutionEnabled[] =
|
||||
"net.out_of_process_system_dns_resolution_enabled";
|
||||
#endif // BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX)
|
||||
|
||||
@@ -2104,7 +2105,7 @@ diff --git a/chrome/common/pref_names.h b/chrome/common/pref_names.h
|
||||
diff --git a/components/content_settings/core/browser/content_settings_pref_provider.cc b/components/content_settings/core/browser/content_settings_pref_provider.cc
|
||||
--- a/components/content_settings/core/browser/content_settings_pref_provider.cc
|
||||
+++ b/components/content_settings/core/browser/content_settings_pref_provider.cc
|
||||
@@ -122,10 +122,12 @@ void PrefProvider::RegisterProfilePrefs(
|
||||
@@ -129,10 +129,12 @@ void PrefProvider::RegisterProfilePrefs(
|
||||
|
||||
PrefProvider::PrefProvider(PrefService* prefs,
|
||||
bool off_the_record,
|
||||
@@ -2117,7 +2118,7 @@ diff --git a/components/content_settings/core/browser/content_settings_pref_prov
|
||||
store_last_modified_(store_last_modified),
|
||||
clock_(base::DefaultClock::GetInstance()) {
|
||||
TRACE_EVENT_BEGIN("startup", "PrefProvider::PrefProvider");
|
||||
@@ -148,10 +150,12 @@ PrefProvider::PrefProvider(PrefService* prefs,
|
||||
@@ -155,10 +157,12 @@ PrefProvider::PrefProvider(PrefService* prefs,
|
||||
WebsiteSettingsRegistry* website_settings =
|
||||
WebsiteSettingsRegistry::GetInstance();
|
||||
for (const WebsiteSettingsInfo* info : *website_settings) {
|
||||
@@ -2189,7 +2190,7 @@ diff --git a/components/content_settings/core/browser/host_content_settings_map.
|
||||
bool store_last_modified,
|
||||
bool restore_session,
|
||||
bool should_record_metrics);
|
||||
@@ -551,6 +552,8 @@ class HostContentSettingsMap : public content_settings::Observer,
|
||||
@@ -556,6 +557,8 @@ class HostContentSettingsMap : public content_settings::Observer,
|
||||
// Whether this settings map is for an incognito or guest session.
|
||||
bool is_off_the_record_;
|
||||
|
||||
@@ -2201,10 +2202,10 @@ diff --git a/components/content_settings/core/browser/host_content_settings_map.
|
||||
diff --git a/components/omnibox/browser/autocomplete_provider_client.cc b/components/omnibox/browser/autocomplete_provider_client.cc
|
||||
--- a/components/omnibox/browser/autocomplete_provider_client.cc
|
||||
+++ b/components/omnibox/browser/autocomplete_provider_client.cc
|
||||
@@ -81,3 +81,7 @@ AutocompleteProviderClient::GetGeminiPrototypeOmniboxService() const {
|
||||
@@ -77,3 +77,7 @@ base::WeakPtr<AutocompleteProviderClient>
|
||||
AutocompleteProviderClient::GetWeakPtr() {
|
||||
return nullptr;
|
||||
}
|
||||
#endif // BUILDFLAG(IS_IOS)
|
||||
+
|
||||
+bool AutocompleteProviderClient::IsAlwaysIncognitoEnabled() const {
|
||||
+ return false;
|
||||
@@ -2212,7 +2213,7 @@ diff --git a/components/omnibox/browser/autocomplete_provider_client.cc b/compon
|
||||
diff --git a/components/omnibox/browser/autocomplete_provider_client.h b/components/omnibox/browser/autocomplete_provider_client.h
|
||||
--- a/components/omnibox/browser/autocomplete_provider_client.h
|
||||
+++ b/components/omnibox/browser/autocomplete_provider_client.h
|
||||
@@ -161,6 +161,7 @@ class AutocompleteProviderClient : public OmniboxAction::Client {
|
||||
@@ -154,6 +154,7 @@ class AutocompleteProviderClient : public OmniboxAction::Client {
|
||||
virtual bool IsOffTheRecord() const = 0;
|
||||
virtual bool IsIncognitoProfile() const = 0;
|
||||
virtual bool IsGuestSession() const = 0;
|
||||
@@ -2223,7 +2224,7 @@ diff --git a/components/omnibox/browser/autocomplete_provider_client.h b/compone
|
||||
diff --git a/components/omnibox/browser/base_search_provider.cc b/components/omnibox/browser/base_search_provider.cc
|
||||
--- a/components/omnibox/browser/base_search_provider.cc
|
||||
+++ b/components/omnibox/browser/base_search_provider.cc
|
||||
@@ -401,7 +401,7 @@ bool BaseSearchProvider::CanSendSuggestRequest(
|
||||
@@ -403,7 +403,7 @@ bool BaseSearchProvider::CanSendSuggestRequest(
|
||||
|
||||
// Don't make a suggest request if in incognito mode; unless for the Lens
|
||||
// searchboxes.
|
||||
@@ -2235,7 +2236,7 @@ diff --git a/components/omnibox/browser/base_search_provider.cc b/components/omn
|
||||
diff --git a/components/omnibox/browser/search_provider.cc b/components/omnibox/browser/search_provider.cc
|
||||
--- a/components/omnibox/browser/search_provider.cc
|
||||
+++ b/components/omnibox/browser/search_provider.cc
|
||||
@@ -922,7 +922,8 @@ std::unique_ptr<network::SimpleURLLoader> SearchProvider::CreateSuggestLoader(
|
||||
@@ -948,7 +948,8 @@ std::unique_ptr<network::SimpleURLLoader> SearchProvider::CreateSuggestLoader(
|
||||
// is required.
|
||||
// Request for suggestions in OTR contexts is not allowed; except for the Lens
|
||||
// searchboxes.
|
||||
|
||||
@@ -66,7 +66,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
.../core/browser/content_settings_utils.h | 6 ++
|
||||
.../core/common/content_settings_enums.mojom | 9 ++
|
||||
.../page_info/PageInfoController.java | 4 +-
|
||||
.../PermissionParamsListBuilder.java | 13 ++-
|
||||
.../PermissionParamsListBuilder.java | 12 ++-
|
||||
.../android/page_info_controller_android.cc | 10 ++-
|
||||
components/page_info/page_info.cc | 2 +
|
||||
components/page_info/page_info.h | 1 +
|
||||
@@ -89,7 +89,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
components/permissions/permission_request.h | 18 +++-
|
||||
.../permissions/permission_request_manager.cc | 49 ++++++-----
|
||||
.../permissions/permission_request_manager.h | 11 ++-
|
||||
37 files changed, 509 insertions(+), 75 deletions(-)
|
||||
37 files changed, 508 insertions(+), 75 deletions(-)
|
||||
|
||||
diff --git a/chrome/browser/permissions/last_tab_standing_tracker.cc b/chrome/browser/permissions/last_tab_standing_tracker.cc
|
||||
--- a/chrome/browser/permissions/last_tab_standing_tracker.cc
|
||||
@@ -178,7 +178,7 @@ diff --git a/chrome/browser/permissions/one_time_permissions_tracker.cc b/chrome
|
||||
OneTimePermissionsTracker::~OneTimePermissionsTracker() = default;
|
||||
|
||||
OneTimePermissionsTracker::OriginTrackEntry::OriginTrackEntry() = default;
|
||||
@@ -255,6 +281,12 @@ void OneTimePermissionsTracker::NotifyLastPageFromOriginClosed(
|
||||
@@ -260,6 +286,12 @@ void OneTimePermissionsTracker::NotifyLastPageFromOriginClosed(
|
||||
for (auto& observer : observer_list_) {
|
||||
observer.OnLastPageFromOriginClosed(origin);
|
||||
}
|
||||
@@ -202,7 +202,7 @@ diff --git a/chrome/browser/permissions/one_time_permissions_tracker.h b/chrome/
|
||||
#include "components/content_settings/core/common/content_settings_types.h"
|
||||
#include "components/keyed_service/core/keyed_service.h"
|
||||
#include "content/public/browser/visibility.h"
|
||||
@@ -24,7 +25,7 @@ class OneTimePermissionsTracker : public KeyedService {
|
||||
@@ -26,7 +27,7 @@ class OneTimePermissionsTracker : public KeyedService {
|
||||
void (OneTimePermissionsTracker::*)(const url::Origin&);
|
||||
|
||||
public:
|
||||
@@ -211,7 +211,7 @@ diff --git a/chrome/browser/permissions/one_time_permissions_tracker.h b/chrome/
|
||||
~OneTimePermissionsTracker() override;
|
||||
|
||||
OneTimePermissionsTracker(const OneTimePermissionsTracker&) = delete;
|
||||
@@ -138,7 +139,7 @@ class OneTimePermissionsTracker : public KeyedService {
|
||||
@@ -147,7 +148,7 @@ class OneTimePermissionsTracker : public KeyedService {
|
||||
base::ObserverList<OneTimePermissionsTrackerObserver> observer_list_;
|
||||
|
||||
std::map<url::Origin, OriginTrackEntry> origin_tracker_;
|
||||
@@ -233,7 +233,7 @@ diff --git a/chrome/browser/permissions/one_time_permissions_tracker_factory.cc
|
||||
diff --git a/chrome/browser/ui/views/permissions/chip/chip_controller.cc b/chrome/browser/ui/views/permissions/chip/chip_controller.cc
|
||||
--- a/chrome/browser/ui/views/permissions/chip/chip_controller.cc
|
||||
+++ b/chrome/browser/ui/views/permissions/chip/chip_controller.cc
|
||||
@@ -228,7 +228,7 @@ void ChipController::OnWidgetDestroyed(views::Widget* widget) {
|
||||
@@ -227,7 +227,7 @@ void ChipController::OnWidgetDestroyed(views::Widget* widget) {
|
||||
active_chip_permission_request_manager_.value()->Accept();
|
||||
break;
|
||||
case permissions::PermissionAction::GRANTED_ONCE:
|
||||
@@ -269,7 +269,7 @@ diff --git a/chrome/browser/ui/views/permissions/permission_prompt_bubble_base_v
|
||||
diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleWebsiteSettings.java b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleWebsiteSettings.java
|
||||
--- a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleWebsiteSettings.java
|
||||
+++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleWebsiteSettings.java
|
||||
@@ -696,6 +696,11 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment
|
||||
@@ -715,6 +715,11 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment
|
||||
}
|
||||
|
||||
@RequiresNonNull({"mSite"})
|
||||
@@ -281,7 +281,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
|
||||
private void setUpClearDataPreference() {
|
||||
ClearWebsiteStorage preference = findPreference(PREF_CLEAR_DATA);
|
||||
long usage = mSite.getTotalUsage();
|
||||
@@ -1313,6 +1318,10 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment
|
||||
@@ -1407,6 +1412,10 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment
|
||||
.getDefaultColor());
|
||||
}
|
||||
}
|
||||
@@ -425,33 +425,33 @@ diff --git a/components/content_settings/core/common/content_settings_enums.mojo
|
||||
diff --git a/components/page_info/android/java/src/org/chromium/components/page_info/PageInfoController.java b/components/page_info/android/java/src/org/chromium/components/page_info/PageInfoController.java
|
||||
--- a/components/page_info/android/java/src/org/chromium/components/page_info/PageInfoController.java
|
||||
+++ b/components/page_info/android/java/src/org/chromium/components/page_info/PageInfoController.java
|
||||
@@ -376,8 +376,8 @@ public class PageInfoController
|
||||
@@ -387,9 +387,9 @@ public class PageInfoController
|
||||
*/
|
||||
@CalledByNative
|
||||
private void addPermissionSection(
|
||||
- String name, String nameMidSentence, int type, boolean allowed) {
|
||||
- mPermissionParamsListBuilder.addPermissionEntry(name, nameMidSentence, type, allowed);
|
||||
+ String name, String nameMidSentence, int type, boolean allowed, boolean is_user_session) {
|
||||
+ mPermissionParamsListBuilder.addPermissionEntry(name, nameMidSentence, type, allowed, is_user_session);
|
||||
- String name, String nameMidSentence, int type, boolean allowed, boolean requested) {
|
||||
+ String name, String nameMidSentence, int type, boolean allowed, boolean requested, boolean is_user_session) {
|
||||
mPermissionParamsListBuilder.addPermissionEntry(
|
||||
- name, nameMidSentence, type, allowed, requested);
|
||||
+ name, nameMidSentence, type, allowed, requested, is_user_session);
|
||||
}
|
||||
|
||||
/** Update the permissions view based on the contents of mDisplayedPermissions. */
|
||||
diff --git a/components/page_info/android/java/src/org/chromium/components/page_info/PermissionParamsListBuilder.java b/components/page_info/android/java/src/org/chromium/components/page_info/PermissionParamsListBuilder.java
|
||||
--- a/components/page_info/android/java/src/org/chromium/components/page_info/PermissionParamsListBuilder.java
|
||||
+++ b/components/page_info/android/java/src/org/chromium/components/page_info/PermissionParamsListBuilder.java
|
||||
@@ -46,8 +46,9 @@ public class PermissionParamsListBuilder {
|
||||
mEntries = new ArrayList<>();
|
||||
@@ -47,8 +47,8 @@ public class PermissionParamsListBuilder {
|
||||
}
|
||||
|
||||
- public void addPermissionEntry(String name, String nameMidSentence, int type, boolean allowed) {
|
||||
- mEntries.add(new PageInfoPermissionEntry(name, nameMidSentence, type, allowed));
|
||||
+ public void addPermissionEntry(String name, String nameMidSentence, int type, boolean allowed,
|
||||
+ boolean is_user_session) {
|
||||
+ mEntries.add(new PageInfoPermissionEntry(name, nameMidSentence, type, allowed, is_user_session));
|
||||
public void addPermissionEntry(
|
||||
- String name, String nameMidSentence, int type, boolean allowed, boolean requested) {
|
||||
- mEntries.add(new PageInfoPermissionEntry(name, nameMidSentence, type, allowed, requested));
|
||||
+ String name, String nameMidSentence, int type, boolean allowed, boolean requested, boolean is_user_session) {
|
||||
+ mEntries.add(new PageInfoPermissionEntry(name, nameMidSentence, type, allowed, requested, is_user_session));
|
||||
}
|
||||
|
||||
public void clearPermissionEntries() {
|
||||
@@ -84,6 +85,10 @@ public class PermissionParamsListBuilder {
|
||||
@@ -85,6 +85,10 @@ public class PermissionParamsListBuilder {
|
||||
} else {
|
||||
warningTextResource = R.string.page_info_android_permission_blocked;
|
||||
}
|
||||
@@ -462,18 +462,20 @@ diff --git a/components/page_info/android/java/src/org/chromium/components/page_
|
||||
}
|
||||
}
|
||||
|
||||
@@ -112,12 +117,14 @@ public class PermissionParamsListBuilder {
|
||||
public final String nameMidSentence;
|
||||
@@ -115,14 +119,16 @@ public class PermissionParamsListBuilder {
|
||||
public final int type;
|
||||
public final boolean allowed;
|
||||
public final boolean requested;
|
||||
+ public final boolean is_user_session;
|
||||
|
||||
- PageInfoPermissionEntry(String name, String nameMidSentence, int type, boolean allowed) {
|
||||
+ PageInfoPermissionEntry(String name, String nameMidSentence, int type, boolean allowed, boolean is_user_session) {
|
||||
PageInfoPermissionEntry(
|
||||
- String name, String nameMidSentence, int type, boolean allowed, boolean requested) {
|
||||
+ String name, String nameMidSentence, int type, boolean allowed, boolean requested, boolean is_user_session) {
|
||||
this.name = name;
|
||||
this.nameMidSentence = nameMidSentence;
|
||||
this.type = type;
|
||||
this.allowed = allowed;
|
||||
this.requested = requested;
|
||||
+ this.is_user_session = is_user_session;
|
||||
}
|
||||
|
||||
@@ -481,40 +483,40 @@ diff --git a/components/page_info/android/java/src/org/chromium/components/page_
|
||||
diff --git a/components/page_info/android/page_info_controller_android.cc b/components/page_info/android/page_info_controller_android.cc
|
||||
--- a/components/page_info/android/page_info_controller_android.cc
|
||||
+++ b/components/page_info/android/page_info_controller_android.cc
|
||||
@@ -207,6 +207,8 @@ void PageInfoControllerAndroid::SetPermissionInfo(
|
||||
|
||||
std::map<ContentSettingsType, /*allowed*/ bool>
|
||||
user_specified_settings_to_display;
|
||||
@@ -214,6 +214,8 @@ void PageInfoControllerAndroid::SetPermissionInfo(
|
||||
// being requested. This is needed for the Loud Clapper experiment
|
||||
// (crbug.com/458351800).
|
||||
bool requested_notifications = false;
|
||||
+ std::map<ContentSettingsType, bool>
|
||||
+ user_specified_settings_is_user_session;
|
||||
|
||||
for (const auto& permission : permission_info_list) {
|
||||
if (base::Contains(permissions_to_display, permission.type)) {
|
||||
@@ -219,6 +221,8 @@ void PageInfoControllerAndroid::SetPermissionInfo(
|
||||
@@ -226,6 +228,8 @@ void PageInfoControllerAndroid::SetPermissionInfo(
|
||||
|
||||
user_specified_settings_to_display[permission.type] =
|
||||
info->delegate().IsAnyPermissionAllowed(*setting_to_display);
|
||||
+ user_specified_settings_is_user_session[permission.type] =
|
||||
+ permission.is_user_session;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -235,7 +239,8 @@ void PageInfoControllerAndroid::SetPermissionInfo(
|
||||
ConvertUTF16ToJavaString(env, setting_title),
|
||||
|
||||
// Notifications permission can have the setting to display as DEFAULT
|
||||
@@ -252,7 +256,8 @@ void PageInfoControllerAndroid::SetPermissionInfo(
|
||||
ConvertUTF16ToJavaString(env, setting_title_mid_sentence),
|
||||
static_cast<jint>(permission),
|
||||
- user_specified_settings_to_display[permission]);
|
||||
+ user_specified_settings_to_display[permission],
|
||||
user_specified_settings_to_display[permission],
|
||||
- requested_notifications);
|
||||
+ requested_notifications,
|
||||
+ user_specified_settings_is_user_session[permission]);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -248,7 +253,8 @@ void PageInfoControllerAndroid::SetPermissionInfo(
|
||||
@@ -265,7 +270,8 @@ void PageInfoControllerAndroid::SetPermissionInfo(
|
||||
env, controller_jobject_, ConvertUTF16ToJavaString(env, object_title),
|
||||
ConvertUTF16ToJavaString(env, object_title),
|
||||
static_cast<jint>(chosen_object->ui_info->content_settings_type),
|
||||
- static_cast<jint>(CONTENT_SETTING_ALLOW));
|
||||
+ static_cast<jint>(CONTENT_SETTING_ALLOW),
|
||||
- static_cast<jint>(CONTENT_SETTING_ALLOW), requested_notifications);
|
||||
+ static_cast<jint>(CONTENT_SETTING_ALLOW), requested_notifications,
|
||||
+ /* is_user_session */ false);
|
||||
}
|
||||
|
||||
@@ -522,7 +524,7 @@ diff --git a/components/page_info/android/page_info_controller_android.cc b/comp
|
||||
diff --git a/components/page_info/page_info.cc b/components/page_info/page_info.cc
|
||||
--- a/components/page_info/page_info.cc
|
||||
+++ b/components/page_info/page_info.cc
|
||||
@@ -1331,6 +1331,8 @@ void PageInfo::PopulatePermissionInfo(PermissionInfo& permission_info,
|
||||
@@ -1296,6 +1296,8 @@ void PageInfo::PopulatePermissionInfo(PermissionInfo& permission_info,
|
||||
permission_info.is_one_time =
|
||||
(info.metadata.session_model() ==
|
||||
content_settings::mojom::SessionModel::ONE_TIME);
|
||||
@@ -545,9 +547,9 @@ diff --git a/components/page_info/page_info.h b/components/page_info/page_info.h
|
||||
diff --git a/components/permissions/android/java/src/org/chromium/components/permissions/PermissionDialogDelegate.java b/components/permissions/android/java/src/org/chromium/components/permissions/PermissionDialogDelegate.java
|
||||
--- a/components/permissions/android/java/src/org/chromium/components/permissions/PermissionDialogDelegate.java
|
||||
+++ b/components/permissions/android/java/src/org/chromium/components/permissions/PermissionDialogDelegate.java
|
||||
@@ -16,6 +16,7 @@ import org.jni_zero.NativeMethods;
|
||||
import org.chromium.build.annotations.NullMarked;
|
||||
@@ -16,6 +16,7 @@ import org.chromium.build.annotations.NullMarked;
|
||||
import org.chromium.build.annotations.Nullable;
|
||||
import org.chromium.ui.base.DeviceFormFactor;
|
||||
import org.chromium.ui.base.WindowAndroid;
|
||||
+import org.chromium.components.content_settings.LifetimeMode;
|
||||
|
||||
@@ -682,7 +684,7 @@ diff --git a/components/permissions/android/java/src/org/chromium/components/per
|
||||
diff --git a/components/permissions/android/permission_prompt/embedded_permission_prompt_android.cc b/components/permissions/android/permission_prompt/embedded_permission_prompt_android.cc
|
||||
--- a/components/permissions/android/permission_prompt/embedded_permission_prompt_android.cc
|
||||
+++ b/components/permissions/android/permission_prompt/embedded_permission_prompt_android.cc
|
||||
@@ -118,7 +118,8 @@ void EmbeddedPermissionPromptAndroid::Acknowledge() {
|
||||
@@ -123,7 +123,8 @@ void EmbeddedPermissionPromptAndroid::Acknowledge() {
|
||||
delegate()->FinalizeCurrentRequests();
|
||||
}
|
||||
|
||||
@@ -707,7 +709,7 @@ diff --git a/components/permissions/android/permission_prompt/embedded_permissio
|
||||
diff --git a/components/permissions/android/permission_prompt/permission_dialog_delegate.cc b/components/permissions/android/permission_prompt/permission_dialog_delegate.cc
|
||||
--- a/components/permissions/android/permission_prompt/permission_dialog_delegate.cc
|
||||
+++ b/components/permissions/android/permission_prompt/permission_dialog_delegate.cc
|
||||
@@ -137,6 +137,11 @@ void PermissionDialogJavaDelegate::UpdateDialog() {
|
||||
@@ -138,6 +138,11 @@ void PermissionDialogJavaDelegate::UpdateDialog() {
|
||||
static_cast<int>(permission_prompt_->GetEmbeddedPromptVariant()));
|
||||
}
|
||||
|
||||
@@ -719,7 +721,7 @@ diff --git a/components/permissions/android/permission_prompt/permission_dialog_
|
||||
// static
|
||||
std::unique_ptr<PermissionDialogDelegate> PermissionDialogDelegate::Create(
|
||||
content::WebContents* web_contents,
|
||||
@@ -165,12 +170,22 @@ PermissionDialogDelegate::CreateForTesting(
|
||||
@@ -166,12 +171,22 @@ PermissionDialogDelegate::CreateForTesting(
|
||||
|
||||
void PermissionDialogDelegate::Accept(JNIEnv* env) {
|
||||
CHECK(permission_prompt_);
|
||||
@@ -743,7 +745,7 @@ diff --git a/components/permissions/android/permission_prompt/permission_dialog_
|
||||
}
|
||||
|
||||
void PermissionDialogDelegate::Acknowledge(JNIEnv* env) {
|
||||
@@ -180,6 +195,13 @@ void PermissionDialogDelegate::Acknowledge(JNIEnv* env) {
|
||||
@@ -181,6 +196,13 @@ void PermissionDialogDelegate::Acknowledge(JNIEnv* env) {
|
||||
|
||||
void PermissionDialogDelegate::Deny(JNIEnv* env) {
|
||||
CHECK(permission_prompt_);
|
||||
@@ -760,7 +762,7 @@ diff --git a/components/permissions/android/permission_prompt/permission_dialog_
|
||||
diff --git a/components/permissions/android/permission_prompt/permission_dialog_delegate.h b/components/permissions/android/permission_prompt/permission_dialog_delegate.h
|
||||
--- a/components/permissions/android/permission_prompt/permission_dialog_delegate.h
|
||||
+++ b/components/permissions/android/permission_prompt/permission_dialog_delegate.h
|
||||
@@ -42,6 +42,7 @@ class PermissionDialogJavaDelegate {
|
||||
@@ -43,6 +43,7 @@ class PermissionDialogJavaDelegate {
|
||||
const favicon_base::FaviconRawBitmapResult& favicon_result);
|
||||
|
||||
virtual void DismissDialog();
|
||||
@@ -789,7 +791,7 @@ diff --git a/components/permissions/android/permission_prompt/permission_prompt_
|
||||
diff --git a/components/permissions/android/permission_prompt/permission_prompt_android.h b/components/permissions/android/permission_prompt/permission_prompt_android.h
|
||||
--- a/components/permissions/android/permission_prompt/permission_prompt_android.h
|
||||
+++ b/components/permissions/android/permission_prompt/permission_prompt_android.h
|
||||
@@ -56,9 +56,10 @@ class PermissionPromptAndroid : public PermissionPrompt {
|
||||
@@ -57,9 +57,10 @@ class PermissionPromptAndroid : public PermissionPrompt {
|
||||
const;
|
||||
virtual void Closing();
|
||||
virtual void Accept();
|
||||
@@ -851,24 +853,24 @@ diff --git a/components/permissions/contexts/geolocation_permission_context_andr
|
||||
IsRequestingOriginDSE(request_data.requesting_origin);
|
||||
if (decision == PermissionDecision::kAllow &&
|
||||
@@ -210,7 +221,7 @@ void GeolocationPermissionContextAndroid::NotifyPermissionSet(
|
||||
FinishNotifyPermissionSet(request_data.id, request_data.requesting_origin,
|
||||
request_data.embedding_origin,
|
||||
std::move(callback), false /* persist */,
|
||||
- PermissionDecision::kDeny,
|
||||
+ PermissionDecision::kDeny, lifetime_option,
|
||||
request_data.prompt_options);
|
||||
FinishNotifyPermissionSet(
|
||||
request_data.id, request_data.requesting_origin,
|
||||
request_data.embedding_origin, std::move(callback),
|
||||
- false /* persist */, PermissionDecision::kDeny,
|
||||
+ false /* persist */, PermissionDecision::kDeny, lifetime_option,
|
||||
request_data.prompt_options,
|
||||
request_data.embedded_permission_request_descriptor.Clone());
|
||||
return;
|
||||
}
|
||||
@@ -231,7 +242,7 @@ void GeolocationPermissionContextAndroid::NotifyPermissionSet(
|
||||
FinishNotifyPermissionSet(request_data.id, request_data.requesting_origin,
|
||||
request_data.embedding_origin,
|
||||
std::move(callback), false /* persist */,
|
||||
- PermissionDecision::kDeny,
|
||||
+ PermissionDecision::kDeny, lifetime_option,
|
||||
request_data.prompt_options);
|
||||
@@ -232,7 +243,7 @@ void GeolocationPermissionContextAndroid::NotifyPermissionSet(
|
||||
FinishNotifyPermissionSet(
|
||||
request_data.id, request_data.requesting_origin,
|
||||
request_data.embedding_origin, std::move(callback),
|
||||
- false /* persist */, PermissionDecision::kDeny,
|
||||
+ false /* persist */, PermissionDecision::kDeny, lifetime_option,
|
||||
request_data.prompt_options,
|
||||
request_data.embedded_permission_request_descriptor.Clone());
|
||||
return;
|
||||
}
|
||||
@@ -244,14 +255,14 @@ void GeolocationPermissionContextAndroid::NotifyPermissionSet(
|
||||
@@ -246,14 +257,14 @@ void GeolocationPermissionContextAndroid::NotifyPermissionSet(
|
||||
base::BindOnce(
|
||||
&GeolocationPermissionContextAndroid::OnLocationSettingsDialogShown,
|
||||
weak_factory_.GetWeakPtr(), request_data.requesting_origin,
|
||||
@@ -878,14 +880,14 @@ diff --git a/components/permissions/contexts/geolocation_permission_context_andr
|
||||
return;
|
||||
}
|
||||
|
||||
FinishNotifyPermissionSet(request_data.id, request_data.requesting_origin,
|
||||
request_data.embedding_origin, std::move(callback),
|
||||
- persist, decision, request_data.prompt_options);
|
||||
+ persist, decision, lifetime_option, request_data.prompt_options);
|
||||
FinishNotifyPermissionSet(
|
||||
request_data.id, request_data.requesting_origin,
|
||||
- request_data.embedding_origin, std::move(callback), persist, decision,
|
||||
+ request_data.embedding_origin, std::move(callback), persist, decision, lifetime_option,
|
||||
request_data.prompt_options,
|
||||
request_data.embedded_permission_request_descriptor.Clone());
|
||||
}
|
||||
|
||||
content::PermissionResult
|
||||
@@ -428,7 +439,7 @@ void GeolocationPermissionContextAndroid::OnLocationSettingsDialogShown(
|
||||
@@ -432,7 +443,7 @@ void GeolocationPermissionContextAndroid::OnLocationSettingsDialogShown(
|
||||
const GURL& requesting_origin,
|
||||
const GURL& embedding_origin,
|
||||
bool persist,
|
||||
@@ -894,7 +896,7 @@ diff --git a/components/permissions/contexts/geolocation_permission_context_andr
|
||||
std::optional<PromptOptions> prompt_options,
|
||||
LocationSettingsDialogOutcome prompt_outcome) {
|
||||
bool is_default_search = IsRequestingOriginDSE(requesting_origin);
|
||||
@@ -448,7 +459,7 @@ void GeolocationPermissionContextAndroid::OnLocationSettingsDialogShown(
|
||||
@@ -452,7 +463,7 @@ void GeolocationPermissionContextAndroid::OnLocationSettingsDialogShown(
|
||||
FinishNotifyPermissionSet(location_settings_dialog_request_id_,
|
||||
requesting_origin, embedding_origin,
|
||||
std::move(location_settings_dialog_callback_),
|
||||
@@ -903,18 +905,18 @@ diff --git a/components/permissions/contexts/geolocation_permission_context_andr
|
||||
|
||||
location_settings_dialog_request_id_ =
|
||||
PermissionRequestID(content::GlobalRenderFrameHostId(0, 0),
|
||||
@@ -461,7 +472,7 @@ void GeolocationPermissionContextAndroid::FinishNotifyPermissionSet(
|
||||
@@ -465,7 +476,7 @@ void GeolocationPermissionContextAndroid::FinishNotifyPermissionSet(
|
||||
const GURL& embedding_origin,
|
||||
BrowserPermissionCallback callback,
|
||||
bool persist,
|
||||
- PermissionDecision decision,
|
||||
+ PermissionDecision decision, content_settings::mojom::LifetimeMode lifetime_option,
|
||||
std::optional<PromptOptions> prompt_options) {
|
||||
PermissionRequestData request_data(
|
||||
this, id,
|
||||
@@ -470,9 +481,10 @@ void GeolocationPermissionContextAndroid::FinishNotifyPermissionSet(
|
||||
blink::PermissionType::GEOLOCATION)),
|
||||
requesting_origin, embedding_origin);
|
||||
std::optional<PromptOptions> prompt_options,
|
||||
blink::mojom::EmbeddedPermissionRequestDescriptorPtr
|
||||
embedded_permission_request_descriptor) {
|
||||
@@ -478,9 +489,10 @@ void GeolocationPermissionContextAndroid::FinishNotifyPermissionSet(
|
||||
request_data.embedded_permission_request_descriptor =
|
||||
std::move(embedded_permission_request_descriptor);
|
||||
request_data.prompt_options = prompt_options.value_or(std::monostate());
|
||||
- GeolocationPermissionContext::NotifyPermissionSet(
|
||||
+ GeolocationPermissionContext::NotifyPermissionSetImpl(
|
||||
@@ -949,14 +951,14 @@ diff --git a/components/permissions/contexts/geolocation_permission_context_andr
|
||||
std::optional<PromptOptions> prompt_options,
|
||||
LocationSettingsDialogOutcome prompt_outcome);
|
||||
|
||||
@@ -145,6 +152,7 @@ class GeolocationPermissionContextAndroid
|
||||
BrowserPermissionCallback callback,
|
||||
bool persist,
|
||||
PermissionDecision decision,
|
||||
+ content_settings::mojom::LifetimeMode lifetime_option,
|
||||
std::optional<PromptOptions> prompt_options);
|
||||
|
||||
std::unique_ptr<LocationSettings> location_settings_;
|
||||
@@ -146,6 +153,7 @@ class GeolocationPermissionContextAndroid
|
||||
BrowserPermissionCallback callback,
|
||||
bool persist,
|
||||
PermissionDecision decision,
|
||||
+ content_settings::mojom::LifetimeMode lifetime_option,
|
||||
std::optional<PromptOptions> prompt_options,
|
||||
blink::mojom::EmbeddedPermissionRequestDescriptorPtr
|
||||
embedded_permission_request_descriptor = nullptr);
|
||||
diff --git a/components/permissions/embedded_permission_prompt_flow_model.cc b/components/permissions/embedded_permission_prompt_flow_model.cc
|
||||
--- a/components/permissions/embedded_permission_prompt_flow_model.cc
|
||||
+++ b/components/permissions/embedded_permission_prompt_flow_model.cc
|
||||
@@ -972,7 +974,7 @@ diff --git a/components/permissions/embedded_permission_prompt_flow_model.cc b/c
|
||||
diff --git a/components/permissions/permission_context_base.cc b/components/permissions/permission_context_base.cc
|
||||
--- a/components/permissions/permission_context_base.cc
|
||||
+++ b/components/permissions/permission_context_base.cc
|
||||
@@ -282,6 +282,17 @@ PermissionContextBase::CreatePermissionRequest(
|
||||
@@ -281,6 +281,17 @@ PermissionContextBase::CreatePermissionRequest(
|
||||
std::move(request_finished_callback), UsesAutomaticEmbargo());
|
||||
}
|
||||
|
||||
@@ -990,7 +992,7 @@ diff --git a/components/permissions/permission_context_base.cc b/components/perm
|
||||
bool PermissionContextBase::UsesAutomaticEmbargo() const {
|
||||
return true;
|
||||
}
|
||||
@@ -626,7 +637,8 @@ void PermissionContextBase::DecidePermission(
|
||||
@@ -624,7 +635,8 @@ void PermissionContextBase::DecidePermission(
|
||||
void PermissionContextBase::PermissionDecided(
|
||||
PermissionDecision decision,
|
||||
bool is_final_decision,
|
||||
@@ -1000,7 +1002,7 @@ diff --git a/components/permissions/permission_context_base.cc b/components/perm
|
||||
UserMadePermissionDecision(request_data.id, request_data.requesting_origin,
|
||||
request_data.embedding_origin, decision);
|
||||
// If a permission request originates from an embedded element, its
|
||||
@@ -650,11 +662,12 @@ void PermissionContextBase::PermissionDecided(
|
||||
@@ -648,11 +660,12 @@ void PermissionContextBase::PermissionDecided(
|
||||
// missing if a permission prompt was preignored and we already notified an
|
||||
// origin about it.
|
||||
if (request->second.second) {
|
||||
@@ -1017,7 +1019,7 @@ diff --git a/components/permissions/permission_context_base.cc b/components/perm
|
||||
}
|
||||
}
|
||||
|
||||
@@ -739,6 +752,30 @@ void PermissionContextBase::NotifyPermissionSet(
|
||||
@@ -737,6 +750,30 @@ void PermissionContextBase::NotifyPermissionSet(
|
||||
bool persist,
|
||||
PermissionDecision decision,
|
||||
bool is_final_decision) {
|
||||
@@ -1048,7 +1050,7 @@ diff --git a/components/permissions/permission_context_base.cc b/components/perm
|
||||
DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
|
||||
|
||||
// Note that rfh may be null, see crbug.com/426909787.
|
||||
@@ -754,8 +791,8 @@ void PermissionContextBase::NotifyPermissionSet(
|
||||
@@ -752,8 +789,8 @@ void PermissionContextBase::NotifyPermissionSet(
|
||||
|
||||
if (persist) {
|
||||
// Clone new value, because we need it again for the callback.
|
||||
@@ -1059,7 +1061,7 @@ diff --git a/components/permissions/permission_context_base.cc b/components/perm
|
||||
}
|
||||
|
||||
if (is_final_decision) {
|
||||
@@ -794,6 +831,17 @@ void PermissionContextBase::UpdateSetting(
|
||||
@@ -811,6 +848,17 @@ void PermissionContextBase::UpdateSetting(
|
||||
const PermissionRequestData& request_data,
|
||||
PermissionSetting setting,
|
||||
bool is_one_time) {
|
||||
@@ -1077,7 +1079,7 @@ diff --git a/components/permissions/permission_context_base.cc b/components/perm
|
||||
DCHECK_EQ(request_data.requesting_origin,
|
||||
request_data.requesting_origin.DeprecatedGetOriginAsURL());
|
||||
DCHECK_EQ(request_data.embedding_origin,
|
||||
@@ -803,6 +851,8 @@ void PermissionContextBase::UpdateSetting(
|
||||
@@ -820,6 +868,8 @@ void PermissionContextBase::UpdateSetting(
|
||||
constraints.set_session_model(
|
||||
is_one_time ? content_settings::mojom::SessionModel::ONE_TIME
|
||||
: content_settings::mojom::SessionModel::DURABLE);
|
||||
@@ -1133,7 +1135,7 @@ diff --git a/components/permissions/permission_context_base.h b/components/permi
|
||||
// Implementors can override this method to avoid using automatic embargo.
|
||||
virtual bool UsesAutomaticEmbargo() const;
|
||||
|
||||
@@ -281,7 +304,8 @@ class PermissionContextBase : public content_settings::Observer {
|
||||
@@ -285,7 +308,8 @@ class PermissionContextBase : public content_settings::Observer {
|
||||
// allows/blocks/dismisses a permission prompt.
|
||||
void PermissionDecided(PermissionDecision decision,
|
||||
bool is_final_decision,
|
||||
@@ -1177,7 +1179,7 @@ diff --git a/components/permissions/permission_request.cc b/components/permissio
|
||||
PermissionRequest::~PermissionRequest() {
|
||||
std::move(request_finished_callback_).Run();
|
||||
}
|
||||
@@ -431,20 +441,40 @@ bool PermissionRequest::ShouldUseTwoOriginPrompt() const {
|
||||
@@ -433,20 +443,40 @@ bool PermissionRequest::ShouldUseTwoOriginPrompt() const {
|
||||
return request_type() == RequestType::kStorageAccess;
|
||||
}
|
||||
|
||||
@@ -1261,7 +1263,7 @@ diff --git a/components/permissions/permission_request.h b/components/permission
|
||||
|
||||
// Called when the user has cancelled the permission request. This
|
||||
// corresponds to a denial, but is segregated in case the context needs to
|
||||
@@ -242,6 +253,9 @@ class PermissionRequest {
|
||||
@@ -247,6 +258,9 @@ class PermissionRequest {
|
||||
// Called once a decision is made about the permission.
|
||||
PermissionDecidedCallback permission_decided_callback_;
|
||||
|
||||
@@ -1274,7 +1276,7 @@ diff --git a/components/permissions/permission_request.h b/components/permission
|
||||
diff --git a/components/permissions/permission_request_manager.cc b/components/permissions/permission_request_manager.cc
|
||||
--- a/components/permissions/permission_request_manager.cc
|
||||
+++ b/components/permissions/permission_request_manager.cc
|
||||
@@ -206,12 +206,12 @@ void PermissionRequestManager::AddRequest(
|
||||
@@ -208,12 +208,12 @@ void PermissionRequestManager::AddRequest(
|
||||
|
||||
if (base::CommandLine::ForCurrentProcess()->HasSwitch(
|
||||
switches::kDenyPermissionPrompts)) {
|
||||
@@ -1289,7 +1291,7 @@ diff --git a/components/permissions/permission_request_manager.cc b/components/p
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -282,9 +282,9 @@ void PermissionRequestManager::AddRequest(
|
||||
@@ -284,9 +284,9 @@ void PermissionRequestManager::AddRequest(
|
||||
|
||||
if (should_auto_approve_request) {
|
||||
if (should_auto_approve_request == PermissionAction::GRANTED) {
|
||||
@@ -1301,7 +1303,7 @@ diff --git a/components/permissions/permission_request_manager.cc b/components/p
|
||||
}
|
||||
return;
|
||||
}
|
||||
@@ -611,7 +611,8 @@ void PermissionRequestManager::Accept() {
|
||||
@@ -615,7 +615,8 @@ void PermissionRequestManager::Accept() {
|
||||
StorePermissionActionForUMA(request->requesting_origin(),
|
||||
request->request_type(), action);
|
||||
PermissionGrantedIncludingDuplicates(request.get(),
|
||||
@@ -1309,9 +1311,9 @@ diff --git a/components/permissions/permission_request_manager.cc b/components/p
|
||||
+ /*is_one_time=*/false,
|
||||
+ content_settings::mojom::LifetimeMode::ALWAYS);
|
||||
|
||||
#if !BUILDFLAG(IS_ANDROID)
|
||||
#if !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_IOS)
|
||||
std::optional<ContentSettingsType> content_settings_type =
|
||||
@@ -629,7 +630,7 @@ void PermissionRequestManager::Accept() {
|
||||
@@ -633,7 +634,7 @@ void PermissionRequestManager::Accept() {
|
||||
CurrentRequestsDecided(action);
|
||||
}
|
||||
|
||||
@@ -1320,7 +1322,7 @@ diff --git a/components/permissions/permission_request_manager.cc b/components/p
|
||||
if (ignore_callbacks_from_prompt_) {
|
||||
return;
|
||||
}
|
||||
@@ -641,7 +642,8 @@ void PermissionRequestManager::AcceptThisTime() {
|
||||
@@ -645,7 +646,8 @@ void PermissionRequestManager::AcceptThisTime() {
|
||||
StorePermissionActionForUMA(request->requesting_origin(),
|
||||
request->request_type(), action);
|
||||
PermissionGrantedIncludingDuplicates(request.get(),
|
||||
@@ -1330,7 +1332,7 @@ diff --git a/components/permissions/permission_request_manager.cc b/components/p
|
||||
}
|
||||
|
||||
NotifyRequestDecided(action);
|
||||
@@ -649,6 +651,15 @@ void PermissionRequestManager::AcceptThisTime() {
|
||||
@@ -653,6 +655,15 @@ void PermissionRequestManager::AcceptThisTime() {
|
||||
}
|
||||
|
||||
void PermissionRequestManager::Deny() {
|
||||
@@ -1346,7 +1348,7 @@ diff --git a/components/permissions/permission_request_manager.cc b/components/p
|
||||
if (ignore_callbacks_from_prompt_) {
|
||||
return;
|
||||
}
|
||||
@@ -669,7 +680,7 @@ void PermissionRequestManager::Deny() {
|
||||
@@ -673,7 +684,7 @@ void PermissionRequestManager::Deny() {
|
||||
for (const auto& request : requests_) {
|
||||
StorePermissionActionForUMA(request->requesting_origin(),
|
||||
request->request_type(), action);
|
||||
@@ -1355,7 +1357,7 @@ diff --git a/components/permissions/permission_request_manager.cc b/components/p
|
||||
}
|
||||
|
||||
NotifyRequestDecided(action);
|
||||
@@ -1306,32 +1317,32 @@ PermissionRequestManager::VisitDuplicateRequests(
|
||||
@@ -1366,32 +1377,32 @@ PermissionRequestManager::VisitDuplicateRequests(
|
||||
|
||||
void PermissionRequestManager::PermissionGrantedIncludingDuplicates(
|
||||
PermissionRequest* request,
|
||||
@@ -1398,7 +1400,7 @@ diff --git a/components/permissions/permission_request_manager.cc b/components/p
|
||||
request);
|
||||
}
|
||||
|
||||
@@ -1608,7 +1619,7 @@ void PermissionRequestManager::DoAutoResponseForTesting() {
|
||||
@@ -1679,7 +1690,7 @@ void PermissionRequestManager::DoAutoResponseForTesting() {
|
||||
}
|
||||
switch (auto_response_for_test_) {
|
||||
case ACCEPT_ONCE:
|
||||
@@ -1422,7 +1424,7 @@ diff --git a/components/permissions/permission_request_manager.h b/components/pe
|
||||
void Dismiss() override;
|
||||
void Ignore() override;
|
||||
void FinalizeCurrentRequests() override;
|
||||
@@ -426,9 +428,12 @@ class PermissionRequestManager
|
||||
@@ -441,9 +443,12 @@ class PermissionRequestManager
|
||||
|
||||
// Calls PermissionGranted on a request and all its duplicates.
|
||||
void PermissionGrantedIncludingDuplicates(PermissionRequest* request,
|
||||
|
||||
@@ -18,8 +18,8 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
.../bookmark_ui_operations_helper.cc | 2 +
|
||||
.../bookmark_bar_page_handler.cc | 2 +
|
||||
components/bookmark_bar_strings.grdp | 6 +++
|
||||
.../bookmarks/browser/bookmark_codec.cc | 20 +++++++--
|
||||
components/bookmarks/browser/bookmark_codec.h | 7 ++-
|
||||
.../bookmarks/browser/bookmark_codec.cc | 15 ++++++-
|
||||
components/bookmarks/browser/bookmark_codec.h | 4 ++
|
||||
.../browser/bookmark_load_details.cc | 15 +++++--
|
||||
.../bookmarks/browser/bookmark_load_details.h | 2 +
|
||||
.../bookmarks/browser/bookmark_model.cc | 3 +-
|
||||
@@ -31,15 +31,15 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
components/bookmarks/browser/bookmark_uuids.h | 1 +
|
||||
components/bookmarks/browser/model_loader.cc | 9 +++-
|
||||
.../bookmark_specifics_conversions.cc | 1 +
|
||||
27 files changed, 257 insertions(+), 14 deletions(-)
|
||||
27 files changed, 252 insertions(+), 11 deletions(-)
|
||||
|
||||
diff --git a/chrome/android/java/res/values/ids.xml b/chrome/android/java/res/values/ids.xml
|
||||
--- a/chrome/android/java/res/values/ids.xml
|
||||
+++ b/chrome/android/java/res/values/ids.xml
|
||||
@@ -194,6 +194,7 @@ found in the LICENSE file.
|
||||
<item type="id" name="menu_select_tabs" />
|
||||
@@ -197,6 +197,7 @@ found in the LICENSE file.
|
||||
<item type="id" name="menu_item_content_filter_divider_line_id" />
|
||||
<item type="id" name="menu_item_content_filter_help_center_id" />
|
||||
<item type="id" name="duplicate_tab_menu_id" />
|
||||
+ <item type="id" name="bookmark_all_tabs_menu_id" />
|
||||
|
||||
<!-- Custom Tabs -->
|
||||
@@ -55,7 +55,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct
|
||||
import org.chromium.chrome.browser.compositor.layouts.Layout;
|
||||
import org.chromium.chrome.browser.compositor.layouts.LayoutManagerChrome;
|
||||
import org.chromium.chrome.browser.compositor.layouts.LayoutManagerChromePhone;
|
||||
@@ -294,6 +295,9 @@ import org.chromium.chrome.browser.ui.appmenu.AppMenuPropertiesDelegate;
|
||||
@@ -299,6 +300,9 @@ import org.chromium.chrome.browser.ui.appmenu.AppMenuPropertiesDelegate;
|
||||
import org.chromium.chrome.browser.ui.browser_window.BrowserWindowType;
|
||||
import org.chromium.chrome.browser.ui.desktop_windowing.AppHeaderUtils;
|
||||
import org.chromium.chrome.browser.ui.edge_to_edge.EdgeToEdgeUtils;
|
||||
@@ -65,16 +65,16 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct
|
||||
import org.chromium.chrome.browser.ui.searchactivityutils.SearchActivityClient;
|
||||
import org.chromium.chrome.browser.ui.searchactivityutils.SearchActivityExtras.IntentOrigin;
|
||||
import org.chromium.chrome.browser.ui.signin.BottomSheetSigninAndHistorySyncConfig;
|
||||
@@ -308,6 +312,8 @@ import org.chromium.chrome.browser.usage_stats.UsageStatsService;
|
||||
import org.chromium.chrome.browser.util.ChromeAccessibilityUtil;
|
||||
@@ -314,6 +318,8 @@ import org.chromium.chrome.browser.util.ChromeAccessibilityUtil;
|
||||
import org.chromium.chrome.browser.xr.scenecore.XrSceneCoreSessionInitializerImpl;
|
||||
import org.chromium.chrome.browser.xr.scenecore.XrSceneCoreSessionManagerImpl;
|
||||
import org.chromium.components.browser_ui.accessibility.AccessibilityFeatureMap;
|
||||
+import org.chromium.components.bookmarks.BookmarkId;
|
||||
+import org.chromium.components.bookmarks.BookmarkItem;
|
||||
import org.chromium.components.browser_ui.bottomsheet.BottomSheetController;
|
||||
import org.chromium.components.browser_ui.share.ShareParams;
|
||||
import org.chromium.components.browser_ui.util.BrowserControlsVisibilityDelegate;
|
||||
@@ -3886,6 +3892,8 @@ public class ChromeTabbedActivity extends ChromeActivity {
|
||||
@@ -3929,6 +3935,8 @@ public class ChromeTabbedActivity extends ChromeActivity implements PreAttachInt
|
||||
CloseAllTabsDialog.show(
|
||||
this, getModalDialogManagerSupplier(), tabModelSelector, closeAllTabsRunnable);
|
||||
RecordUserAction.record("MobileMenuCloseAllTabs");
|
||||
@@ -83,7 +83,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct
|
||||
} else if (id == R.id.close_all_incognito_tabs_menu_id) {
|
||||
boolean allowUndo = TabClosureParamsUtils.shouldAllowUndo(triggeringMotion);
|
||||
|
||||
@@ -4013,6 +4021,41 @@ public class ChromeTabbedActivity extends ChromeActivity {
|
||||
@@ -4058,6 +4066,41 @@ public class ChromeTabbedActivity extends ChromeActivity implements PreAttachInt
|
||||
getTabModalLifetimeHandler().onOmniboxFocusChanged(hasFocus);
|
||||
}
|
||||
|
||||
@@ -128,7 +128,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedAppMenuPropertiesDelegate.java b/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedAppMenuPropertiesDelegate.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedAppMenuPropertiesDelegate.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedAppMenuPropertiesDelegate.java
|
||||
@@ -288,6 +288,14 @@ public class TabbedAppMenuPropertiesDelegate extends AppMenuPropertiesDelegateIm
|
||||
@@ -292,6 +292,14 @@ public class TabbedAppMenuPropertiesDelegate extends AppMenuPropertiesDelegateIm
|
||||
// Bookmarks
|
||||
modelList.add(buildBookmarksItem());
|
||||
|
||||
@@ -143,7 +143,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/Tab
|
||||
// Recent Tabs
|
||||
if (shouldShowRecentTabsItem()) modelList.add(buildRecentTabsItem());
|
||||
|
||||
@@ -468,6 +476,13 @@ public class TabbedAppMenuPropertiesDelegate extends AppMenuPropertiesDelegateIm
|
||||
@@ -478,6 +486,13 @@ public class TabbedAppMenuPropertiesDelegate extends AppMenuPropertiesDelegateIm
|
||||
}
|
||||
modelList.add(buildCloseAllTabsItem());
|
||||
if (shouldShowTinkerTank()) modelList.add(buildTinkerTankItem());
|
||||
@@ -160,7 +160,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/Tab
|
||||
diff --git a/chrome/browser/bookmarks/android/bookmark_bridge.cc b/chrome/browser/bookmarks/android/bookmark_bridge.cc
|
||||
--- a/chrome/browser/bookmarks/android/bookmark_bridge.cc
|
||||
+++ b/chrome/browser/bookmarks/android/bookmark_bridge.cc
|
||||
@@ -340,6 +340,33 @@ jboolean BookmarkBridge::AreAccountBookmarkFoldersActive(JNIEnv* env) {
|
||||
@@ -336,6 +336,33 @@ jboolean BookmarkBridge::AreAccountBookmarkFoldersActive(JNIEnv* env) {
|
||||
return bookmark_model_->account_mobile_node() != nullptr;
|
||||
}
|
||||
|
||||
@@ -194,7 +194,7 @@ diff --git a/chrome/browser/bookmarks/android/bookmark_bridge.cc b/chrome/browse
|
||||
base::android::ScopedJavaLocalRef<jobject>
|
||||
BookmarkBridge::GetMostRecentlyAddedUserBookmarkIdForUrl(JNIEnv* env,
|
||||
const GURL& url) {
|
||||
@@ -452,6 +479,7 @@ void BookmarkBridge::GetAllFoldersWithDepths(
|
||||
@@ -448,6 +475,7 @@ void BookmarkBridge::GetAllFoldersWithDepths(
|
||||
// Vector to temporarily contain all child bookmarks at same level for sorting
|
||||
std::vector<const BookmarkNode*> bookmarks = {
|
||||
bookmark_model_->mobile_node(),
|
||||
@@ -202,7 +202,7 @@ diff --git a/chrome/browser/bookmarks/android/bookmark_bridge.cc b/chrome/browse
|
||||
bookmark_model_->bookmark_bar_node(),
|
||||
bookmark_model_->other_node(),
|
||||
};
|
||||
@@ -560,6 +588,9 @@ std::vector<const BookmarkNode*> BookmarkBridge::GetTopLevelFolderIdsImpl(
|
||||
@@ -556,6 +584,9 @@ std::vector<const BookmarkNode*> BookmarkBridge::GetTopLevelFolderIdsImpl(
|
||||
top_level_folders.push_back(other_node);
|
||||
}
|
||||
|
||||
@@ -212,7 +212,7 @@ diff --git a/chrome/browser/bookmarks/android/bookmark_bridge.cc b/chrome/browse
|
||||
const BookmarkNode* reading_list_node =
|
||||
local_or_syncable_reading_list_manager_->GetRoot();
|
||||
if (IsPermanentFolderVisible(
|
||||
@@ -1232,6 +1263,17 @@ void BookmarkBridge::GetBookmarksOfType(
|
||||
@@ -1228,6 +1259,17 @@ void BookmarkBridge::GetBookmarksOfType(
|
||||
AddBookmarkNodesToBookmarkIdList(env, j_list, results);
|
||||
}
|
||||
|
||||
@@ -460,7 +460,7 @@ diff --git a/chrome/browser/download/android/java/src/org/chromium/chrome/browse
|
||||
diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||
--- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||
+++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||
@@ -4505,6 +4505,9 @@ To change this setting, <ph name="BEGIN_LINK">BEGIN_LINK</ph>delete the Chrome d
|
||||
@@ -4562,6 +4562,9 @@ To change this setting, <ph name="BEGIN_LINK">BEGIN_LINK</ph>delete the Chrome d
|
||||
<message name="IDS_MENU_SELECT_TABS" desc="Menu item for bulk editing tabs. [CHAR_LIMIT=27]">
|
||||
Select tabs
|
||||
</message>
|
||||
@@ -545,15 +545,15 @@ diff --git a/components/bookmarks/browser/bookmark_codec.cc b/components/bookmar
|
||||
} else {
|
||||
// No permanent node should have been provided.
|
||||
CHECK(!other_folder_node);
|
||||
@@ -148,6 +152,7 @@ bool BookmarkCodec::Decode(const base::Value::Dict& value,
|
||||
@@ -144,6 +148,7 @@ bool BookmarkCodec::Decode(const base::Value::Dict& value,
|
||||
BookmarkNode* bb_node,
|
||||
BookmarkNode* other_folder_node,
|
||||
BookmarkNode* mobile_folder_node,
|
||||
+ BookmarkNode* tabs_folder_node,
|
||||
int64_t* max_id,
|
||||
std::string* sync_metadata_str) {
|
||||
const int64_t max_already_assigned_id =
|
||||
@@ -162,7 +167,8 @@ bool BookmarkCodec::Decode(const base::Value::Dict& value,
|
||||
if (sync_metadata_str) {
|
||||
@@ -156,13 +161,15 @@ bool BookmarkCodec::Decode(const base::Value::Dict& value,
|
||||
base::Uuid::ParseLowercase(kBookmarkBarNodeUuid),
|
||||
base::Uuid::ParseLowercase(kOtherBookmarksNodeUuid),
|
||||
base::Uuid::ParseLowercase(kMobileBookmarksNodeUuid),
|
||||
@@ -562,25 +562,15 @@ diff --git a/components/bookmarks/browser/bookmark_codec.cc b/components/bookmar
|
||||
+ base::Uuid::ParseLowercase(kTabsCollectionBookmarksNodeUuid)};
|
||||
ids_reassigned_ = false;
|
||||
uuids_reassigned_ = false;
|
||||
ids_valid_ = true;
|
||||
@@ -171,6 +177,7 @@ bool BookmarkCodec::Decode(const base::Value::Dict& value,
|
||||
stored_sha256_checksum_.clear();
|
||||
InitializeChecksum();
|
||||
nodes_requiring_id_reassignment_.clear();
|
||||
reassigned_ids_per_old_id_.clear();
|
||||
|
||||
bool success = DecodeHelper(bb_node, other_folder_node, mobile_folder_node,
|
||||
+ tabs_folder_node,
|
||||
value, sync_metadata_str);
|
||||
FinalizeChecksum();
|
||||
ReassignIDsIfRequired();
|
||||
|
||||
@@ -180,7 +187,7 @@ bool BookmarkCodec::Decode(const base::Value::Dict& value,
|
||||
if (!ids_valid_ || (computed_checksum_ != stored_checksum_) ||
|
||||
(use_sha256 && computed_sha256_checksum_ != stored_sha256_checksum_)) {
|
||||
maximum_id_ = max_already_assigned_id;
|
||||
- ReassignIDs(bb_node, other_folder_node, mobile_folder_node);
|
||||
+ ReassignIDs(bb_node, other_folder_node, mobile_folder_node, tabs_folder_node);
|
||||
}
|
||||
*max_id = maximum_id_ + 1;
|
||||
return success;
|
||||
@@ -239,6 +246,7 @@ base::Value::Dict BookmarkCodec::EncodeMetaInfo(
|
||||
@@ -220,6 +227,7 @@ base::Value::Dict BookmarkCodec::EncodeMetaInfo(
|
||||
bool BookmarkCodec::DecodeHelper(BookmarkNode* bb_node,
|
||||
BookmarkNode* other_folder_node,
|
||||
BookmarkNode* mobile_folder_node,
|
||||
@@ -588,7 +578,7 @@ diff --git a/components/bookmarks/browser/bookmark_codec.cc b/components/bookmar
|
||||
const base::Value::Dict& value,
|
||||
std::string* sync_metadata_str) {
|
||||
std::optional<int> version = value.FindInt(kVersionKey);
|
||||
@@ -284,6 +292,8 @@ bool BookmarkCodec::DecodeHelper(BookmarkNode* bb_node,
|
||||
@@ -243,6 +251,8 @@ bool BookmarkCodec::DecodeHelper(BookmarkNode* bb_node,
|
||||
roots->FindDict(kOtherBookmarkFolderNameKey);
|
||||
const base::Value::Dict* mobile_folder_value =
|
||||
roots->FindDict(kMobileBookmarkFolderNameKey);
|
||||
@@ -597,7 +587,7 @@ diff --git a/components/bookmarks/browser/bookmark_codec.cc b/components/bookmar
|
||||
|
||||
if (!bb_value || !other_folder_value || !mobile_folder_value)
|
||||
return false;
|
||||
@@ -291,6 +301,8 @@ bool BookmarkCodec::DecodeHelper(BookmarkNode* bb_node,
|
||||
@@ -250,6 +260,8 @@ bool BookmarkCodec::DecodeHelper(BookmarkNode* bb_node,
|
||||
DecodeNode(*bb_value, nullptr, bb_node);
|
||||
DecodeNode(*other_folder_value, nullptr, other_folder_node);
|
||||
DecodeNode(*mobile_folder_value, nullptr, mobile_folder_node);
|
||||
@@ -606,18 +596,10 @@ diff --git a/components/bookmarks/browser/bookmark_codec.cc b/components/bookmar
|
||||
|
||||
// Need to reset the title as the title is persisted and restored from
|
||||
// the file.
|
||||
@@ -499,12 +511,14 @@ void BookmarkCodec::DecodeMetaInfoHelper(
|
||||
@@ -461,6 +473,7 @@ void BookmarkCodec::ReassignIDsIfRequired() {
|
||||
}
|
||||
|
||||
void BookmarkCodec::ReassignIDs(BookmarkNode* bb_node,
|
||||
BookmarkNode* other_node,
|
||||
- BookmarkNode* mobile_node) {
|
||||
+ BookmarkNode* mobile_node,
|
||||
+ BookmarkNode* tabs_folder_node) {
|
||||
ids_.clear();
|
||||
reassigned_ids_per_old_id_.clear();
|
||||
ReassignIDsHelper(bb_node);
|
||||
ReassignIDsHelper(other_node);
|
||||
ReassignIDsHelper(mobile_node);
|
||||
nodes_requiring_id_reassignment_.clear();
|
||||
+ ReassignIDsHelper(tabs_folder_node);
|
||||
ids_reassigned_ = true;
|
||||
}
|
||||
@@ -641,7 +623,7 @@ diff --git a/components/bookmarks/browser/bookmark_codec.h b/components/bookmark
|
||||
int64_t* max_node_id,
|
||||
std::string* sync_metadata_str);
|
||||
|
||||
@@ -100,6 +102,7 @@ class BookmarkCodec {
|
||||
@@ -95,6 +97,7 @@ class BookmarkCodec {
|
||||
static const char kBookmarkBarFolderNameKey[];
|
||||
static const char kOtherBookmarkFolderNameKey[];
|
||||
static const char kMobileBookmarkFolderNameKey[];
|
||||
@@ -649,7 +631,7 @@ diff --git a/components/bookmarks/browser/bookmark_codec.h b/components/bookmark
|
||||
static const char kVersionKey[];
|
||||
static const char kChecksumKey[];
|
||||
static const char kChecksumSHA256Key[];
|
||||
@@ -133,6 +136,7 @@ class BookmarkCodec {
|
||||
@@ -128,6 +131,7 @@ class BookmarkCodec {
|
||||
bool DecodeHelper(BookmarkNode* bb_node,
|
||||
BookmarkNode* other_folder_node,
|
||||
BookmarkNode* mobile_folder_node,
|
||||
@@ -657,16 +639,6 @@ diff --git a/components/bookmarks/browser/bookmark_codec.h b/components/bookmark
|
||||
const base::Value::Dict& value,
|
||||
std::string* sync_metadata_str);
|
||||
|
||||
@@ -143,7 +147,8 @@ class BookmarkCodec {
|
||||
// Reassigns bookmark IDs for all nodes.
|
||||
void ReassignIDs(BookmarkNode* bb_node,
|
||||
BookmarkNode* other_node,
|
||||
- BookmarkNode* mobile_node);
|
||||
+ BookmarkNode* mobile_node,
|
||||
+ BookmarkNode* tabs_folder_node);
|
||||
|
||||
// Helper to recursively reassign IDs.
|
||||
void ReassignIDsHelper(BookmarkNode* node);
|
||||
diff --git a/components/bookmarks/browser/bookmark_load_details.cc b/components/bookmarks/browser/bookmark_load_details.cc
|
||||
--- a/components/bookmarks/browser/bookmark_load_details.cc
|
||||
+++ b/components/bookmarks/browser/bookmark_load_details.cc
|
||||
@@ -749,7 +721,7 @@ diff --git a/components/bookmarks/browser/bookmark_load_details.h b/components/b
|
||||
diff --git a/components/bookmarks/browser/bookmark_model.cc b/components/bookmarks/browser/bookmark_model.cc
|
||||
--- a/components/bookmarks/browser/bookmark_model.cc
|
||||
+++ b/components/bookmarks/browser/bookmark_model.cc
|
||||
@@ -909,7 +909,7 @@ bool BookmarkModel::HasUserCreatedBookmarksOrFolders() const {
|
||||
@@ -908,7 +908,7 @@ bool BookmarkModel::HasUserCreatedBookmarksOrFolders() const {
|
||||
(account_bookmark_bar_node_ &&
|
||||
!account_bookmark_bar_node_->children().empty()) ||
|
||||
(account_other_node_ && !account_other_node_->children().empty()) ||
|
||||
@@ -758,7 +730,7 @@ diff --git a/components/bookmarks/browser/bookmark_model.cc b/components/bookmar
|
||||
}
|
||||
|
||||
bool BookmarkModel::IsBookmarked(const GURL& url) const {
|
||||
@@ -1241,6 +1241,7 @@ void BookmarkModel::DoneLoading(std::unique_ptr<BookmarkLoadDetails> details) {
|
||||
@@ -1240,6 +1240,7 @@ void BookmarkModel::DoneLoading(std::unique_ptr<BookmarkLoadDetails> details) {
|
||||
bookmark_bar_node_ = details->bb_node();
|
||||
other_node_ = details->other_folder_node();
|
||||
mobile_node_ = details->mobile_folder_node();
|
||||
@@ -907,7 +879,7 @@ diff --git a/components/bookmarks/browser/model_loader.cc b/components/bookmarks
|
||||
&sync_metadata_str)) {
|
||||
ids_assigned_to_account_nodes = codec.release_assigned_ids();
|
||||
|
||||
@@ -118,7 +122,8 @@ std::unique_ptr<BookmarkLoadDetails> LoadBookmarks(
|
||||
@@ -123,7 +127,8 @@ std::unique_ptr<BookmarkLoadDetails> LoadBookmarks(
|
||||
if (root_dict.has_value() &&
|
||||
codec.Decode(*root_dict, std::move(ids_assigned_to_account_nodes),
|
||||
details->bb_node(), details->other_folder_node(),
|
||||
|
||||
@@ -22,7 +22,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
||||
.../preferences/ChromePreferenceKeys.java | 1 +
|
||||
.../preferences/ChromeSharedPreferences.java | 12 ++++++++++++
|
||||
.../LegacyChromePreferenceKeys.java | 1 +
|
||||
.../AppHeaderCoordinator.java | 2 ++
|
||||
.../ui/desktop_windowing/AppHeaderUtils.java | 2 ++
|
||||
.../omnibox/LocationBarCoordinator.java | 2 +-
|
||||
.../strings/android_chrome_strings.grd | 7 +++++++
|
||||
.../java/res/layout/control_container.xml | 8 ++++----
|
||||
@@ -80,8 +80,8 @@ 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
|
||||
@@ -119,9 +119,13 @@ found in the LICENSE file.
|
||||
<dimen name="tab_modal_scrim_vertical_margin">16dp</dimen>
|
||||
@@ -116,9 +116,13 @@ found in the LICENSE file.
|
||||
<dimen name="signin_screen_top_padding">50dp</dimen>
|
||||
|
||||
<!-- Should match toolbar_height_no_shadow -->
|
||||
- <dimen name="control_container_height">@dimen/default_action_bar_height</dimen>
|
||||
@@ -98,7 +98,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/ChromeBaseAppCompatActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeBaseAppCompatActivity.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeBaseAppCompatActivity.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeBaseAppCompatActivity.java
|
||||
@@ -64,6 +64,7 @@ import org.chromium.chrome.browser.ui.edge_to_edge.EdgeToEdgeController;
|
||||
@@ -63,6 +63,7 @@ import org.chromium.chrome.browser.ui.edge_to_edge.EdgeToEdgeController;
|
||||
import org.chromium.chrome.browser.ui.edge_to_edge.EdgeToEdgeControllerCreator;
|
||||
import org.chromium.chrome.browser.ui.edge_to_edge.EdgeToEdgeFieldTrialImpl;
|
||||
import org.chromium.chrome.browser.ui.edge_to_edge.EdgeToEdgeUtils;
|
||||
@@ -106,7 +106,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeBaseAppCo
|
||||
import org.chromium.chrome.browser.ui.edge_to_edge.SimpleEdgeToEdgeController;
|
||||
import org.chromium.components.browser_ui.styles.SemanticColorUtils;
|
||||
import org.chromium.components.browser_ui.util.AutomotiveUtils;
|
||||
@@ -146,6 +147,8 @@ public class ChromeBaseAppCompatActivity extends AppCompatActivity
|
||||
@@ -145,6 +146,8 @@ public class ChromeBaseAppCompatActivity extends AppCompatActivity
|
||||
protected void attachBaseContext(Context newBase) {
|
||||
super.attachBaseContext(newBase);
|
||||
|
||||
@@ -171,7 +171,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
|
||||
@@ -818,7 +818,10 @@ public abstract class ChromeActivity extends AsyncInitializationActivity
|
||||
@@ -830,7 +830,10 @@ public abstract class ChromeActivity extends AsyncInitializationActivity
|
||||
// Inflate the correct toolbar layout for the device.
|
||||
int toolbarLayoutId = getToolbarLayoutId();
|
||||
if (toolbarLayoutId != ActivityUtils.NO_RESOURCE_ID && controlContainer != null) {
|
||||
@@ -186,7 +186,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/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
|
||||
@@ -136,6 +136,7 @@ import org.chromium.components.tab_group_sync.TabGroupSyncService;
|
||||
@@ -137,6 +137,7 @@ import org.chromium.components.tab_group_sync.TabGroupSyncService;
|
||||
import org.chromium.components.tab_group_sync.TriggerSource;
|
||||
import org.chromium.components.tab_groups.TabGroupColorId;
|
||||
import org.chromium.ui.accessibility.AccessibilityState;
|
||||
@@ -194,7 +194,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.WindowAndroid;
|
||||
import org.chromium.ui.util.ColorUtils;
|
||||
@@ -5308,8 +5309,13 @@ public class StripLayoutHelper
|
||||
@@ -5317,8 +5318,13 @@ public class StripLayoutHelper
|
||||
mCloseButtonMenu.setAnchorView(tabView);
|
||||
// 3. Set the vertical offset to align the close button menu with bottom of the tab strip
|
||||
int tabHeight = mManagerHost.getHeight();
|
||||
@@ -213,7 +213,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
|
||||
@@ -101,6 +101,7 @@ import org.chromium.components.browser_ui.desktop_windowing.DesktopWindowStateMa
|
||||
@@ -105,6 +105,7 @@ import org.chromium.components.browser_ui.desktop_windowing.DesktopWindowStateMa
|
||||
import org.chromium.components.browser_ui.styles.SemanticColorUtils;
|
||||
import org.chromium.components.browser_ui.widget.scrim.ScrimProperties;
|
||||
import org.chromium.content_public.browser.LoadUrlParams;
|
||||
@@ -221,9 +221,9 @@ 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;
|
||||
@@ -491,7 +492,10 @@ public class StripLayoutHelperManager
|
||||
mIsLayoutOptimizationsEnabled =
|
||||
ToolbarFeatures.isTabStripWindowLayoutOptimizationEnabled(
|
||||
@@ -498,7 +499,10 @@ public class StripLayoutHelperManager
|
||||
mIsHeaderCustomizationSupported =
|
||||
ToolbarFeatures.isAppHeaderCustomizationSupported(
|
||||
/* isTablet= */ true, DisplayUtil.isContextInDefaultDisplay(mContext));
|
||||
- mScrollableStripHeight = res.getDimension(R.dimen.tab_strip_height) / mDensity;
|
||||
+ mScrollableStripHeight =
|
||||
@@ -231,7 +231,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/over
|
||||
+ ? res.getDimension(R.dimen.tab_strip_height_tabletui)
|
||||
+ : res.getDimension(R.dimen.tab_strip_height_cromite)) / mDensity;
|
||||
mHeight =
|
||||
mIsLayoutOptimizationsEnabled
|
||||
mIsHeaderCustomizationSupported
|
||||
? toolbarManager.getTabStripHeightSupplier().get() / mDensity
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/scene_layer/TabStripSceneLayer.java b/chrome/android/java/src/org/chromium/chrome/browser/compositor/scene_layer/TabStripSceneLayer.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/compositor/scene_layer/TabStripSceneLayer.java
|
||||
@@ -273,7 +273,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/init/ChromeBrow
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java b/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java
|
||||
@@ -766,7 +766,9 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator {
|
||||
@@ -807,7 +807,9 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator {
|
||||
|
||||
@Override
|
||||
public int getControlContainerHeightResource() {
|
||||
@@ -296,9 +296,9 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordi
|
||||
import org.chromium.chrome.browser.profiles.Profile;
|
||||
import org.chromium.chrome.browser.quick_delete.QuickDeleteController;
|
||||
import org.chromium.chrome.browser.quick_delete.QuickDeleteDelegateImpl;
|
||||
@@ -1877,7 +1879,9 @@ public class RootUiCoordinator
|
||||
if (!mSupportsFindInPageSupplier.getAsBoolean()) return;
|
||||
@@ -1947,7 +1949,9 @@ public class RootUiCoordinator
|
||||
|
||||
protected int getFindToolbarStub() {
|
||||
int stubId = R.id.find_toolbar_stub;
|
||||
- if (DeviceFormFactor.isNonMultiDisplayContextOnTablet(mActivity)) {
|
||||
+ if (DeviceFormFactor.isNonMultiDisplayContextOnTablet(mActivity) &&
|
||||
@@ -306,7 +306,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordi
|
||||
+ ChromePreferenceKeys.FLAGS_FORCE_TABLET_UI_ENABLED, false)) {
|
||||
stubId = R.id.find_toolbar_tablet_stub;
|
||||
}
|
||||
mFindToolbarManager =
|
||||
return stubId;
|
||||
diff --git a/chrome/browser/preferences/BUILD.gn b/chrome/browser/preferences/BUILD.gn
|
||||
--- a/chrome/browser/preferences/BUILD.gn
|
||||
+++ b/chrome/browser/preferences/BUILD.gn
|
||||
@@ -321,7 +321,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
|
||||
@@ -348,6 +348,7 @@ public final class ChromePreferenceKeys {
|
||||
@@ -358,6 +358,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";
|
||||
@@ -369,29 +369,29 @@ diff --git a/chrome/browser/preferences/android/java/src/org/chromium/chrome/bro
|
||||
ChromePreferenceKeys.FIRST_RUN_SKIP_WELCOME_PAGE,
|
||||
ChromePreferenceKeys.HISTORY_SHOW_HISTORY_INFO,
|
||||
ChromePreferenceKeys.HOMEPAGE_ENABLED,
|
||||
diff --git a/chrome/browser/ui/android/desktop_windowing/java/src/org/chromium/chrome/browser/ui/desktop_windowing/AppHeaderCoordinator.java b/chrome/browser/ui/android/desktop_windowing/java/src/org/chromium/chrome/browser/ui/desktop_windowing/AppHeaderCoordinator.java
|
||||
--- a/chrome/browser/ui/android/desktop_windowing/java/src/org/chromium/chrome/browser/ui/desktop_windowing/AppHeaderCoordinator.java
|
||||
+++ b/chrome/browser/ui/android/desktop_windowing/java/src/org/chromium/chrome/browser/ui/desktop_windowing/AppHeaderCoordinator.java
|
||||
@@ -43,6 +43,7 @@ import org.chromium.components.browser_ui.desktop_windowing.DesktopWindowStateMa
|
||||
import org.chromium.ui.display.DisplayUtil;
|
||||
import org.chromium.ui.edge_to_edge.EdgeToEdgeStateProvider;
|
||||
import org.chromium.ui.insets.CaptionBarInsetsRectProvider;
|
||||
diff --git a/chrome/browser/ui/android/desktop_windowing/java/src/org/chromium/chrome/browser/ui/desktop_windowing/AppHeaderUtils.java b/chrome/browser/ui/android/desktop_windowing/java/src/org/chromium/chrome/browser/ui/desktop_windowing/AppHeaderUtils.java
|
||||
--- a/chrome/browser/ui/android/desktop_windowing/java/src/org/chromium/chrome/browser/ui/desktop_windowing/AppHeaderUtils.java
|
||||
+++ b/chrome/browser/ui/android/desktop_windowing/java/src/org/chromium/chrome/browser/ui/desktop_windowing/AppHeaderUtils.java
|
||||
@@ -26,6 +26,7 @@ import org.chromium.chrome.browser.lifecycle.ActivityLifecycleDispatcher.Activit
|
||||
import org.chromium.chrome.browser.preferences.ChromePreferenceKeys;
|
||||
import org.chromium.chrome.browser.preferences.ChromeSharedPreferences;
|
||||
import org.chromium.components.browser_ui.desktop_windowing.DesktopWindowStateManager;
|
||||
+import org.chromium.ui.base.DeviceFormFactor;
|
||||
import org.chromium.ui.insets.InsetObserver;
|
||||
import org.chromium.ui.insets.InsetObserver.WindowInsetsConsumer;
|
||||
import org.chromium.ui.display.DisplayUtil;
|
||||
import org.chromium.ui.insets.InsetsRectProvider;
|
||||
@@ -304,6 +305,7 @@ public class AppHeaderCoordinator
|
||||
InsetsRectProvider insetsRectProvider,
|
||||
@DesktopWindowHeuristicResult int currentResult,
|
||||
boolean isOnExternalDisplay) {
|
||||
|
||||
@@ -245,6 +246,7 @@ public class AppHeaderUtils {
|
||||
*/
|
||||
static @DesktopWindowHeuristicResult int checkIsInDesktopWindow(
|
||||
InsetsRectProvider insetsRectProvider, Context context) {
|
||||
+ if (DeviceFormFactor.isForceTabletUI()) return DesktopWindowHeuristicResult.IN_DESKTOP_WINDOW;
|
||||
@DesktopWindowHeuristicResult int newResult;
|
||||
|
||||
Insets captionBarInset = insetsRectProvider.getCachedInset();
|
||||
boolean isOnExternalDisplay = !DisplayUtil.isContextInDefaultDisplay(context);
|
||||
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
|
||||
@@ -903,7 +903,7 @@ public class LocationBarCoordinator
|
||||
@@ -1008,7 +1008,7 @@ public class LocationBarCoordinator
|
||||
}
|
||||
|
||||
private boolean isTabletWindow() {
|
||||
@@ -403,7 +403,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
|
||||
@@ -1498,6 +1498,13 @@ Your Google account may have other forms of browsing history like searches and a
|
||||
@@ -1507,6 +1507,13 @@ Your Google account may have other forms of browsing history like searches and a
|
||||
Privacy guide explanation closed
|
||||
</message>
|
||||
|
||||
@@ -438,9 +438,9 @@ diff --git a/chrome/browser/ui/android/toolbar/java/res/layout/control_container
|
||||
android:layout_marginBottom="@dimen/toolbar_hairline_height"
|
||||
android:layout_height="@dimen/toolbar_height_no_shadow" />
|
||||
|
||||
@@ -29,13 +29,13 @@ found in the LICENSE file.
|
||||
android:layout_width="match_parent"
|
||||
@@ -30,13 +30,13 @@ found in the LICENSE file.
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="bottom"
|
||||
app:layout_anchorGravity="bottom"
|
||||
- />
|
||||
+ android:layout_marginTop="@dimen/control_container_height_cromite" />
|
||||
@@ -506,7 +506,7 @@ diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/brow
|
||||
import android.graphics.Canvas;
|
||||
import android.graphics.Color;
|
||||
import android.graphics.PorterDuff;
|
||||
@@ -165,6 +166,24 @@ public class ToolbarControlContainer extends OptimizedFrameLayout
|
||||
@@ -172,6 +173,24 @@ public class ToolbarControlContainer extends OptimizedFrameLayout
|
||||
@Initializer
|
||||
public void initWithToolbar(int toolbarLayoutId, int toolbarLayoutHeightResId) {
|
||||
try (TraceEvent te = TraceEvent.scoped("ToolbarControlContainer.initWithToolbar")) {
|
||||
@@ -534,7 +534,7 @@ diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/brow
|
||||
diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/ToolbarLayout.java b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/ToolbarLayout.java
|
||||
--- a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/ToolbarLayout.java
|
||||
+++ b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/ToolbarLayout.java
|
||||
@@ -64,6 +64,7 @@ import org.chromium.chrome.browser.util.BrowserUiUtils.ModuleTypeOnStartAndNtp;
|
||||
@@ -65,6 +65,7 @@ import org.chromium.chrome.browser.util.BrowserUiUtils.ModuleTypeOnStartAndNtp;
|
||||
import org.chromium.components.feature_engagement.Tracker;
|
||||
import org.chromium.ui.base.ViewUtils;
|
||||
import org.chromium.ui.util.MotionEventUtils;
|
||||
@@ -542,7 +542,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;
|
||||
|
||||
@@ -582,7 +583,9 @@ public abstract class ToolbarLayout extends FrameLayout
|
||||
@@ -588,7 +589,9 @@ public abstract class ToolbarLayout extends FrameLayout
|
||||
* not have a tab strip.
|
||||
*/
|
||||
protected int getTabStripHeightFromResource() {
|
||||
@@ -556,15 +556,15 @@ diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/brow
|
||||
diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/tab_strip/HeightTransitionHandler.java b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/tab_strip/HeightTransitionHandler.java
|
||||
--- a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/tab_strip/HeightTransitionHandler.java
|
||||
+++ b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/tab_strip/HeightTransitionHandler.java
|
||||
@@ -32,6 +32,7 @@ import org.chromium.chrome.browser.toolbar.top.ToolbarLayout;
|
||||
import org.chromium.chrome.browser.toolbar.top.tab_strip.TabStripTransitionCoordinator.TabStripHeightObserver;
|
||||
@@ -27,6 +27,7 @@ import org.chromium.chrome.browser.toolbar.ControlContainer;
|
||||
import org.chromium.chrome.browser.toolbar.top.tab_strip.TabStripTransitionCoordinator.TabStripTransitionDelegate;
|
||||
import org.chromium.chrome.browser.toolbar.top.tab_strip.TabStripTransitionCoordinator.TabStripTransitionHandler;
|
||||
import org.chromium.ui.base.ViewUtils;
|
||||
+import org.chromium.ui.base.DeviceFormFactor;
|
||||
import org.chromium.ui.resources.dynamics.DynamicResourceReadyOnceCallback;
|
||||
import org.chromium.ui.util.TokenHolder;
|
||||
|
||||
@@ -561,6 +562,7 @@ class HeightTransitionHandler {
|
||||
@@ -492,6 +493,7 @@ class HeightTransitionHandler {
|
||||
|
||||
/** Get the min screen width (in dp) required for the tab strip to become visible. */
|
||||
private static int getScreenWidthThresholdDp() {
|
||||
@@ -575,15 +575,15 @@ diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/brow
|
||||
diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/tab_strip/TabStripTransitionCoordinator.java b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/tab_strip/TabStripTransitionCoordinator.java
|
||||
--- a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/tab_strip/TabStripTransitionCoordinator.java
|
||||
+++ b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/tab_strip/TabStripTransitionCoordinator.java
|
||||
@@ -29,6 +29,7 @@ import org.chromium.chrome.browser.ui.desktop_windowing.AppHeaderUtils;
|
||||
@@ -24,6 +24,7 @@ import org.chromium.chrome.browser.ui.desktop_windowing.AppHeaderUtils;
|
||||
import org.chromium.components.browser_ui.desktop_windowing.AppHeaderState;
|
||||
import org.chromium.components.browser_ui.desktop_windowing.DesktopWindowStateManager;
|
||||
import org.chromium.components.browser_ui.desktop_windowing.DesktopWindowStateManager.AppHeaderObserver;
|
||||
+import org.chromium.ui.base.DeviceFormFactor;
|
||||
|
||||
/** Class used to manage tab strip visibility and height updates. */
|
||||
@NullMarked
|
||||
@@ -148,7 +149,10 @@ public class TabStripTransitionCoordinator implements ComponentCallbacks, AppHea
|
||||
/**
|
||||
* Class used to manage tab strip visibility and height updates.
|
||||
@@ -170,7 +171,10 @@ public class TabStripTransitionCoordinator implements ComponentCallbacks, AppHea
|
||||
mTabStripReservedTopPadding =
|
||||
controlContainerView()
|
||||
.getResources()
|
||||
@@ -613,17 +613,17 @@ diff --git a/components/browser_ui/accessibility/android/java/res/xml/accessibil
|
||||
diff --git a/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettings.java b/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettings.java
|
||||
--- a/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettings.java
|
||||
+++ b/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettings.java
|
||||
@@ -29,6 +29,7 @@ import org.chromium.content_public.browser.ContentFeatureList;
|
||||
import org.chromium.content_public.browser.ContentFeatureMap;
|
||||
@@ -31,6 +31,7 @@ import org.chromium.content_public.browser.ContentFeatureMap;
|
||||
import org.chromium.ui.base.UiAndroidFeatureList;
|
||||
|
||||
import org.chromium.chrome.browser.settings.ChromeBaseSettingsFragment;
|
||||
+import org.chromium.components.browser_ui.accessibility.AccessibilitySettingsDelegate.BooleanPreferenceDelegate;
|
||||
|
||||
/** Fragment to keep track of all the accessibility related preferences. */
|
||||
@NullMarked
|
||||
@@ -45,6 +46,9 @@ public class AccessibilitySettings extends ChromeBaseSettingsFragment
|
||||
public static final String PREF_IMAGE_DESCRIPTIONS = "image_descriptions";
|
||||
public static final String PREF_CARET_BROWSING = "caret_browsing";
|
||||
@@ -51,6 +52,9 @@ public class AccessibilitySettings extends ChromeBaseSettingsFragment
|
||||
public static final String PREF_TOUCHPAD_OVERSCROLL_HISTORY_NAVIGATION =
|
||||
"touchpad_overscroll_history_navigation";
|
||||
|
||||
+ private BooleanPreferenceDelegate mForceTabletUIDelegate;
|
||||
+ static final String PREF_FORCE_TABLET_UI = "force_tablet_ui";
|
||||
@@ -631,7 +631,7 @@ diff --git a/components/browser_ui/accessibility/android/java/src/org/chromium/c
|
||||
private PageZoomPreference mPageZoomDefaultZoomPref;
|
||||
private ChromeSwitchPreference mPageZoomIncludeOSAdjustment;
|
||||
private ChromeSwitchPreference mPageZoomAlwaysShowPref;
|
||||
@@ -119,6 +123,12 @@ public class AccessibilitySettings extends ChromeBaseSettingsFragment
|
||||
@@ -126,6 +130,12 @@ public class AccessibilitySettings extends ChromeBaseSettingsFragment
|
||||
mDelegate.getReaderAccessibilityDelegate().getValue());
|
||||
readerForAccessibilityPref.setOnPreferenceChangeListener(this);
|
||||
|
||||
@@ -644,7 +644,7 @@ diff --git a/components/browser_ui/accessibility/android/java/src/org/chromium/c
|
||||
Preference captions = findPreference(PREF_CAPTIONS);
|
||||
captions.setOnPreferenceClickListener(
|
||||
preference -> {
|
||||
@@ -191,6 +201,9 @@ public class AccessibilitySettings extends ChromeBaseSettingsFragment
|
||||
@@ -212,6 +222,9 @@ public class AccessibilitySettings extends ChromeBaseSettingsFragment
|
||||
public boolean onPreferenceChange(Preference preference, Object newValue) {
|
||||
if (PREF_FORCE_ENABLE_ZOOM.equals(preference.getKey())) {
|
||||
mDelegate.getForceEnableZoomAccessibilityDelegate().setValue((Boolean) newValue);
|
||||
@@ -669,7 +669,7 @@ diff --git a/components/browser_ui/accessibility/android/java/src/org/chromium/c
|
||||
diff --git a/ui/android/java/src/org/chromium/ui/base/DeviceFormFactor.java b/ui/android/java/src/org/chromium/ui/base/DeviceFormFactor.java
|
||||
--- a/ui/android/java/src/org/chromium/ui/base/DeviceFormFactor.java
|
||||
+++ b/ui/android/java/src/org/chromium/ui/base/DeviceFormFactor.java
|
||||
@@ -79,6 +79,14 @@ public class DeviceFormFactor {
|
||||
@@ -87,6 +87,14 @@ public class DeviceFormFactor {
|
||||
/** See {@link #setIsTabletForTesting(boolean)}. */
|
||||
private static @Nullable Boolean sIsTabletForTesting;
|
||||
|
||||
@@ -684,7 +684,7 @@ diff --git a/ui/android/java/src/org/chromium/ui/base/DeviceFormFactor.java b/ui
|
||||
/**
|
||||
* Each activity could be on a different display, and this will just tell you whether the
|
||||
* display associated with the application context is "tablet sized". Use {@link
|
||||
@@ -87,6 +95,7 @@ public class DeviceFormFactor {
|
||||
@@ -95,6 +103,7 @@ public class DeviceFormFactor {
|
||||
@CalledByNative
|
||||
@Deprecated
|
||||
public static boolean isTablet() {
|
||||
@@ -692,7 +692,7 @@ diff --git a/ui/android/java/src/org/chromium/ui/base/DeviceFormFactor.java b/ui
|
||||
if (sIsTabletForTesting != null) {
|
||||
return sIsTabletForTesting;
|
||||
}
|
||||
@@ -117,6 +126,7 @@ public class DeviceFormFactor {
|
||||
@@ -125,6 +134,7 @@ public class DeviceFormFactor {
|
||||
* E.g. http://developer.samsung.com/samsung-dex/testing
|
||||
*/
|
||||
public static boolean isNonMultiDisplayContextOnTablet(Context context) {
|
||||
@@ -700,7 +700,7 @@ diff --git a/ui/android/java/src/org/chromium/ui/base/DeviceFormFactor.java b/ui
|
||||
return detectScreenWidthBucket(context) >= SCREEN_BUCKET_TABLET;
|
||||
}
|
||||
|
||||
@@ -151,6 +161,7 @@ public class DeviceFormFactor {
|
||||
@@ -159,6 +169,7 @@ public class DeviceFormFactor {
|
||||
* @return The screen width bucket the device is in (see constants at the top of this class).
|
||||
*/
|
||||
private static int detectScreenWidthBucket(Context context) {
|
||||
@@ -708,7 +708,7 @@ diff --git a/ui/android/java/src/org/chromium/ui/base/DeviceFormFactor.java b/ui
|
||||
return context.getResources().getInteger(R.integer.min_screen_width_bucket);
|
||||
}
|
||||
|
||||
@@ -158,6 +169,7 @@ public class DeviceFormFactor {
|
||||
@@ -166,6 +177,7 @@ public class DeviceFormFactor {
|
||||
ThreadUtils.assertOnUiThread();
|
||||
Context context = windowAndroid.getContext().get();
|
||||
if (context == null) return 0;
|
||||
@@ -716,7 +716,7 @@ diff --git a/ui/android/java/src/org/chromium/ui/base/DeviceFormFactor.java b/ui
|
||||
return context.getResources().getInteger(R.integer.min_screen_width_bucket);
|
||||
}
|
||||
|
||||
@@ -167,6 +179,7 @@ public class DeviceFormFactor {
|
||||
@@ -175,6 +187,7 @@ public class DeviceFormFactor {
|
||||
*/
|
||||
@UiThread
|
||||
public static int getNonMultiDisplayMinimumTabletWidthPx(Context context) {
|
||||
@@ -724,7 +724,7 @@ diff --git a/ui/android/java/src/org/chromium/ui/base/DeviceFormFactor.java b/ui
|
||||
return getMinimumTabletWidthPx(DisplayAndroid.getNonMultiDisplay(context));
|
||||
}
|
||||
|
||||
@@ -175,6 +188,7 @@ public class DeviceFormFactor {
|
||||
@@ -183,6 +196,7 @@ public class DeviceFormFactor {
|
||||
* layout.
|
||||
*/
|
||||
public static int getMinimumTabletWidthPx(DisplayAndroid display) {
|
||||
|
||||
@@ -14,13 +14,13 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
||||
...etting-to-enable-Credman-for-passkeys.grdp | 12 ++++++++
|
||||
.../webauthn/AuthenticatorImpl.java | 29 +++++++------------
|
||||
.../components/webauthn/WebauthnFeatures.java | 2 ++
|
||||
.../cred_man/CredManSupportProvider.java | 27 +++++------------
|
||||
.../cred_man/CredManSupportProvider.java | 25 ++++------------
|
||||
.../webauthn/android/webauthn_feature_map.cc | 1 +
|
||||
components/webauthn/features.cc | 4 +++
|
||||
components/webauthn/features.h | 3 ++
|
||||
device/fido/features.cc | 2 ++
|
||||
.../authentication_credentials_container.cc | 5 ++++
|
||||
10 files changed, 75 insertions(+), 37 deletions(-)
|
||||
10 files changed, 73 insertions(+), 37 deletions(-)
|
||||
create mode 100644 chrome/browser/ui/android/strings/cromite_android_chrome_strings_grd/Add-setting-to-enable-Credman-for-passkeys.grdp
|
||||
|
||||
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
|
||||
@@ -174,36 +174,36 @@ diff --git a/components/webauthn/android/java/src/org/chromium/components/webaut
|
||||
- .WEBAUTHN_IMMEDIATE_GET)
|
||||
- && isUvpaa));
|
||||
+ false));
|
||||
boolean signal_supported =
|
||||
boolean signalSupported =
|
||||
isUvpaa
|
||||
&& DeviceFeatureMap.isEnabled(
|
||||
diff --git a/components/webauthn/android/java/src/org/chromium/components/webauthn/WebauthnFeatures.java b/components/webauthn/android/java/src/org/chromium/components/webauthn/WebauthnFeatures.java
|
||||
--- a/components/webauthn/android/java/src/org/chromium/components/webauthn/WebauthnFeatures.java
|
||||
+++ b/components/webauthn/android/java/src/org/chromium/components/webauthn/WebauthnFeatures.java
|
||||
@@ -16,4 +16,6 @@ import org.chromium.build.annotations.NullMarked;
|
||||
public abstract class WebauthnFeatures {
|
||||
@@ -17,4 +17,6 @@ public abstract class WebauthnFeatures {
|
||||
public static final String WEBAUTHN_ANDROID_PASSKEY_CACHE_MIGRATION =
|
||||
"WebAuthenticationAndroidPasskeyCacheMigration";
|
||||
public static final String WEBAUTHN_ANDROID_CRED_MAN_FOR_DEV = "WebAuthnAndroidCredManForDev";
|
||||
+ public static final String WEBAUTHN_ANDROID_PASSKEY =
|
||||
+ "WebAuthenticationAndroidPasskey";
|
||||
}
|
||||
diff --git a/components/webauthn/android/java/src/org/chromium/components/webauthn/cred_man/CredManSupportProvider.java b/components/webauthn/android/java/src/org/chromium/components/webauthn/cred_man/CredManSupportProvider.java
|
||||
--- a/components/webauthn/android/java/src/org/chromium/components/webauthn/cred_man/CredManSupportProvider.java
|
||||
+++ b/components/webauthn/android/java/src/org/chromium/components/webauthn/cred_man/CredManSupportProvider.java
|
||||
@@ -19,9 +19,11 @@ import org.chromium.base.version_info.VersionInfo;
|
||||
@@ -19,11 +19,11 @@ import org.chromium.base.version_info.VersionInfo;
|
||||
import org.chromium.build.annotations.NullMarked;
|
||||
import org.chromium.build.annotations.Nullable;
|
||||
import org.chromium.components.webauthn.CredManSupport;
|
||||
-import org.chromium.components.webauthn.GmsCoreUtils;
|
||||
import org.chromium.components.webauthn.WebauthnFeatureMap;
|
||||
import org.chromium.components.webauthn.WebauthnFeatures;
|
||||
import org.chromium.components.webauthn.WebauthnMode;
|
||||
import org.chromium.components.webauthn.WebauthnModeProvider;
|
||||
+import org.chromium.components.webauthn.WebauthnFeatureMap;
|
||||
+import org.chromium.components.webauthn.WebauthnFeatures;
|
||||
+import org.chromium.components.webauthn.WebauthnLogger;
|
||||
|
||||
@NullMarked
|
||||
public class CredManSupportProvider {
|
||||
@@ -57,12 +59,12 @@ public class CredManSupportProvider {
|
||||
@@ -79,12 +79,12 @@ public class CredManSupportProvider {
|
||||
}
|
||||
if (getAndroidVersion() < Build.VERSION_CODES.UPSIDE_DOWN_CAKE) {
|
||||
sCredManSupport = CredManSupport.DISABLED;
|
||||
@@ -219,15 +219,15 @@ diff --git a/components/webauthn/android/java/src/org/chromium/components/webaut
|
||||
return sCredManSupport;
|
||||
}
|
||||
if (notSkippedBecauseInTests()
|
||||
@@ -70,14 +72,14 @@ public class CredManSupportProvider {
|
||||
@@ -92,14 +92,14 @@ public class CredManSupportProvider {
|
||||
== null) {
|
||||
sCredManSupport = CredManSupport.DISABLED;
|
||||
recordCredManAvailability(/*available*/ false);
|
||||
recordCredManAvailability(/* available= */ false);
|
||||
- log(TAG, "Disabled because CredentialManager is not available.");
|
||||
+ WebauthnLogger.logError(TAG, "Disabled because CredentialManager is not available.");
|
||||
return sCredManSupport;
|
||||
}
|
||||
recordCredManAvailability(/*available*/ true);
|
||||
recordCredManAvailability(/* available= */ true);
|
||||
|
||||
final CredManUiRecommender recommender =
|
||||
ServiceLoaderUtil.maybeCreate(CredManUiRecommender.class);
|
||||
@@ -236,7 +236,7 @@ diff --git a/components/webauthn/android/java/src/org/chromium/components/webaut
|
||||
boolean gpmInCredMan =
|
||||
sOverrideForcesGpm != null ? sOverrideForcesGpm : customUiRecommended;
|
||||
boolean isChrome3pPwmMode =
|
||||
@@ -116,13 +118,6 @@ public class CredManSupportProvider {
|
||||
@@ -138,13 +138,6 @@ public class CredManSupportProvider {
|
||||
"WebAuthentication.Android.CredManAvailability", available);
|
||||
}
|
||||
|
||||
@@ -250,7 +250,7 @@ diff --git a/components/webauthn/android/java/src/org/chromium/components/webaut
|
||||
private static int getAndroidVersion() {
|
||||
return sOverrideAndroidVersion == null ? Build.VERSION.SDK_INT : sOverrideAndroidVersion;
|
||||
}
|
||||
@@ -130,10 +125,4 @@ public class CredManSupportProvider {
|
||||
@@ -152,10 +145,4 @@ public class CredManSupportProvider {
|
||||
private static boolean notSkippedBecauseInTests() {
|
||||
return sOverrideForcesGpm == null && sOverrideAndroidVersion == null;
|
||||
}
|
||||
@@ -264,10 +264,10 @@ diff --git a/components/webauthn/android/java/src/org/chromium/components/webaut
|
||||
diff --git a/components/webauthn/android/webauthn_feature_map.cc b/components/webauthn/android/webauthn_feature_map.cc
|
||||
--- a/components/webauthn/android/webauthn_feature_map.cc
|
||||
+++ b/components/webauthn/android/webauthn_feature_map.cc
|
||||
@@ -16,6 +16,7 @@ namespace {
|
||||
// Array of features exposed through the Java WebauthnFeatureMap API.
|
||||
@@ -17,6 +17,7 @@ namespace {
|
||||
const base::Feature* const kFeaturesExposedToJava[] = {
|
||||
&kWebAuthnAndroidPasskeyCacheMigration,
|
||||
&kWebAuthnAndroidCredManForDev,
|
||||
+ &kWebAuthnAndroidPasskey,
|
||||
};
|
||||
|
||||
@@ -275,9 +275,9 @@ diff --git a/components/webauthn/android/webauthn_feature_map.cc b/components/we
|
||||
diff --git a/components/webauthn/features.cc b/components/webauthn/features.cc
|
||||
--- a/components/webauthn/features.cc
|
||||
+++ b/components/webauthn/features.cc
|
||||
@@ -16,6 +16,10 @@ BASE_FEATURE(kWebAuthnAndroidPasskeyCacheMigration,
|
||||
"WebAuthenticationAndroidPasskeyCacheMigration",
|
||||
base::FEATURE_DISABLED_BY_DEFAULT);
|
||||
@@ -25,6 +25,10 @@ BASE_FEATURE(kWebAuthnAndroidCredManForDev, base::FEATURE_DISABLED_BY_DEFAULT);
|
||||
const base::FeatureParam<std::string> kWebAuthnAndroidCredManForDevMode{
|
||||
&kWebAuthnAndroidCredManForDev, "mode", ""};
|
||||
|
||||
+CROMITE_FEATURE(kWebAuthnAndroidPasskey,
|
||||
+ "WebAuthenticationAndroidPasskey",
|
||||
@@ -289,9 +289,9 @@ diff --git a/components/webauthn/features.cc b/components/webauthn/features.cc
|
||||
diff --git a/components/webauthn/features.h b/components/webauthn/features.h
|
||||
--- a/components/webauthn/features.h
|
||||
+++ b/components/webauthn/features.h
|
||||
@@ -20,6 +20,9 @@ namespace webauthn::features {
|
||||
@@ -27,6 +27,9 @@ BASE_DECLARE_FEATURE(kWebAuthnAndroidCredManForDev);
|
||||
COMPONENT_EXPORT(WEBAUTHN)
|
||||
BASE_DECLARE_FEATURE(kWebAuthnAndroidPasskeyCacheMigration);
|
||||
extern const base::FeatureParam<std::string> kWebAuthnAndroidCredManForDevMode;
|
||||
|
||||
+COMPONENT_EXPORT(WEBAUTHN)
|
||||
+BASE_DECLARE_FEATURE(kWebAuthnAndroidPasskey);
|
||||
@@ -302,7 +302,7 @@ diff --git a/components/webauthn/features.h b/components/webauthn/features.h
|
||||
diff --git a/device/fido/features.cc b/device/fido/features.cc
|
||||
--- a/device/fido/features.cc
|
||||
+++ b/device/fido/features.cc
|
||||
@@ -171,6 +171,7 @@ BASE_FEATURE(kWebAuthnImmediateGet,
|
||||
@@ -188,6 +188,7 @@ BASE_FEATURE(kWebAuthnImmediateGet,
|
||||
#else
|
||||
base::FEATURE_ENABLED_BY_DEFAULT);
|
||||
#endif // BUILDFLAG(IS_ANDROID)
|
||||
@@ -310,7 +310,7 @@ diff --git a/device/fido/features.cc b/device/fido/features.cc
|
||||
|
||||
BASE_FEATURE_PARAM(int,
|
||||
kWebAuthnImmediateMediationTimeoutMilliseconds,
|
||||
@@ -183,6 +184,7 @@ BASE_FEATURE_PARAM(int,
|
||||
@@ -200,6 +201,7 @@ BASE_FEATURE_PARAM(int,
|
||||
BASE_FEATURE(kWebAuthnImmediateGetAutoselect,
|
||||
"WebAuthenticationImmediateGetAutoselect",
|
||||
base::FEATURE_ENABLED_BY_DEFAULT);
|
||||
@@ -321,7 +321,7 @@ diff --git a/device/fido/features.cc b/device/fido/features.cc
|
||||
diff --git a/third_party/blink/renderer/modules/credentialmanagement/authentication_credentials_container.cc b/third_party/blink/renderer/modules/credentialmanagement/authentication_credentials_container.cc
|
||||
--- a/third_party/blink/renderer/modules/credentialmanagement/authentication_credentials_container.cc
|
||||
+++ b/third_party/blink/renderer/modules/credentialmanagement/authentication_credentials_container.cc
|
||||
@@ -1076,6 +1076,11 @@ DOMException* AuthenticatorStatusToDOMException(
|
||||
@@ -1090,6 +1090,11 @@ DOMException* AuthenticatorStatusToDOMException(
|
||||
const WebAuthnDOMExceptionDetailsPtr& dom_exception_details) {
|
||||
DCHECK_EQ(status != AuthenticatorStatus::ERROR_WITH_DOM_EXCEPTION_DETAILS,
|
||||
dom_exception_details.is_null());
|
||||
|
||||
@@ -284,7 +284,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/offlinepages/in
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java b/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java
|
||||
@@ -1441,7 +1441,10 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator {
|
||||
@@ -1525,7 +1525,10 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator {
|
||||
mActivity,
|
||||
mStatusIndicatorCoordinator,
|
||||
isUrlBarFocusedSupplier,
|
||||
@@ -299,7 +299,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/Tab
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabModelSelectorBase.java b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabModelSelectorBase.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabModelSelectorBase.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabModelSelectorBase.java
|
||||
@@ -201,6 +201,13 @@ public abstract class TabModelSelectorBase
|
||||
@@ -200,6 +200,13 @@ public abstract class TabModelSelectorBase
|
||||
return null;
|
||||
}
|
||||
|
||||
@@ -407,7 +407,7 @@ diff --git a/chrome/browser/tabmodel/android/java/src/org/chromium/chrome/browse
|
||||
diff --git a/chrome/browser/tabwindow/android/java/src/org/chromium/chrome/browser/tabwindow/TabWindowManager.java b/chrome/browser/tabwindow/android/java/src/org/chromium/chrome/browser/tabwindow/TabWindowManager.java
|
||||
--- a/chrome/browser/tabwindow/android/java/src/org/chromium/chrome/browser/tabwindow/TabWindowManager.java
|
||||
+++ b/chrome/browser/tabwindow/android/java/src/org/chromium/chrome/browser/tabwindow/TabWindowManager.java
|
||||
@@ -135,6 +135,8 @@ public interface TabWindowManager {
|
||||
@@ -138,6 +138,8 @@ public interface TabWindowManager {
|
||||
/** Returns the total number of incognito tabs across all tab model selectors. */
|
||||
int getIncognitoTabCount();
|
||||
|
||||
@@ -419,7 +419,7 @@ diff --git a/chrome/browser/tabwindow/android/java/src/org/chromium/chrome/brows
|
||||
diff --git a/chrome/browser/tabwindow/internal/android/java/src/org/chromium/chrome/browser/tabwindow/TabWindowManagerImpl.java b/chrome/browser/tabwindow/internal/android/java/src/org/chromium/chrome/browser/tabwindow/TabWindowManagerImpl.java
|
||||
--- a/chrome/browser/tabwindow/internal/android/java/src/org/chromium/chrome/browser/tabwindow/TabWindowManagerImpl.java
|
||||
+++ b/chrome/browser/tabwindow/internal/android/java/src/org/chromium/chrome/browser/tabwindow/TabWindowManagerImpl.java
|
||||
@@ -566,6 +566,16 @@ public class TabWindowManagerImpl implements TabWindowManager {
|
||||
@@ -568,6 +568,16 @@ public class TabWindowManagerImpl implements TabWindowManager {
|
||||
return tabGroupModelFilter.getTabsInGroup(tabGroupId);
|
||||
}
|
||||
|
||||
@@ -497,7 +497,7 @@ diff --git a/chrome/browser/ui/messages/android/java/res/layout/snackbar.xml b/c
|
||||
diff --git a/chrome/browser/ui/messages/android/java/src/org/chromium/chrome/browser/ui/messages/snackbar/Snackbar.java b/chrome/browser/ui/messages/android/java/src/org/chromium/chrome/browser/ui/messages/snackbar/Snackbar.java
|
||||
--- a/chrome/browser/ui/messages/android/java/src/org/chromium/chrome/browser/ui/messages/snackbar/Snackbar.java
|
||||
+++ b/chrome/browser/ui/messages/android/java/src/org/chromium/chrome/browser/ui/messages/snackbar/Snackbar.java
|
||||
@@ -137,6 +137,8 @@ public class Snackbar {
|
||||
@@ -140,6 +140,8 @@ public class Snackbar {
|
||||
private @Nullable String mTemplateText;
|
||||
private @Nullable String mActionText;
|
||||
private @Nullable Object mActionData;
|
||||
@@ -506,7 +506,7 @@ diff --git a/chrome/browser/ui/messages/android/java/src/org/chromium/chrome/bro
|
||||
private int mBackgroundColor;
|
||||
private int mTextApperanceResId;
|
||||
private boolean mDefaultLines = true;
|
||||
@@ -243,6 +245,20 @@ public class Snackbar {
|
||||
@@ -246,6 +248,20 @@ public class Snackbar {
|
||||
return this;
|
||||
}
|
||||
|
||||
@@ -530,7 +530,7 @@ diff --git a/chrome/browser/ui/messages/android/java/src/org/chromium/chrome/bro
|
||||
diff --git a/chrome/browser/ui/messages/android/java/src/org/chromium/chrome/browser/ui/messages/snackbar/SnackbarManager.java b/chrome/browser/ui/messages/android/java/src/org/chromium/chrome/browser/ui/messages/snackbar/SnackbarManager.java
|
||||
--- a/chrome/browser/ui/messages/android/java/src/org/chromium/chrome/browser/ui/messages/snackbar/SnackbarManager.java
|
||||
+++ b/chrome/browser/ui/messages/android/java/src/org/chromium/chrome/browser/ui/messages/snackbar/SnackbarManager.java
|
||||
@@ -340,6 +340,12 @@ public class SnackbarManager
|
||||
@@ -348,6 +348,12 @@ public class SnackbarManager
|
||||
new SnackbarView(
|
||||
mActivity,
|
||||
this,
|
||||
@@ -546,7 +546,7 @@ diff --git a/chrome/browser/ui/messages/android/java/src/org/chromium/chrome/bro
|
||||
diff --git a/chrome/browser/ui/messages/android/java/src/org/chromium/chrome/browser/ui/messages/snackbar/SnackbarView.java b/chrome/browser/ui/messages/android/java/src/org/chromium/chrome/browser/ui/messages/snackbar/SnackbarView.java
|
||||
--- a/chrome/browser/ui/messages/android/java/src/org/chromium/chrome/browser/ui/messages/snackbar/SnackbarView.java
|
||||
+++ b/chrome/browser/ui/messages/android/java/src/org/chromium/chrome/browser/ui/messages/snackbar/SnackbarView.java
|
||||
@@ -56,6 +56,7 @@ public class SnackbarView implements InsetObserver.WindowInsetObserver {
|
||||
@@ -55,6 +55,7 @@ public class SnackbarView implements InsetObserver.WindowInsetObserver {
|
||||
protected final ViewGroup mSnackbarView;
|
||||
protected final TemplatePreservingTextView mMessageView;
|
||||
private final TextView mActionButtonView;
|
||||
@@ -554,38 +554,38 @@ diff --git a/chrome/browser/ui/messages/android/java/src/org/chromium/chrome/bro
|
||||
private final ImageView mProfileImageView;
|
||||
private final int mAnimationDuration;
|
||||
private final boolean mIsTablet;
|
||||
@@ -102,11 +103,12 @@ public class SnackbarView implements InsetObserver.WindowInsetObserver {
|
||||
@@ -100,11 +101,12 @@ public class SnackbarView implements InsetObserver.WindowInsetObserver {
|
||||
public SnackbarView(
|
||||
Activity activity,
|
||||
OnClickListener listener,
|
||||
SnackbarManager manager,
|
||||
+ OnClickListener dismissListener,
|
||||
Snackbar snackbar,
|
||||
ViewGroup parentView,
|
||||
@Nullable WindowAndroid windowAndroid,
|
||||
boolean isTablet) {
|
||||
- this(activity, listener, snackbar, parentView, windowAndroid, null, isTablet);
|
||||
+ this(activity, listener, dismissListener, snackbar, parentView, windowAndroid, null, isTablet);
|
||||
- this(activity, manager, snackbar, parentView, windowAndroid, null, isTablet);
|
||||
+ this(activity, manager, dismissListener, snackbar, parentView, windowAndroid, null, isTablet);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -125,6 +127,7 @@ public class SnackbarView implements InsetObserver.WindowInsetObserver {
|
||||
@@ -122,6 +124,7 @@ public class SnackbarView implements InsetObserver.WindowInsetObserver {
|
||||
public SnackbarView(
|
||||
Activity activity,
|
||||
OnClickListener listener,
|
||||
SnackbarManager manager,
|
||||
+ OnClickListener dismissListener,
|
||||
Snackbar snackbar,
|
||||
ViewGroup parentView,
|
||||
@Nullable WindowAndroid windowAndroid,
|
||||
@@ -155,6 +158,8 @@ public class SnackbarView implements InsetObserver.WindowInsetObserver {
|
||||
@@ -158,6 +161,8 @@ public class SnackbarView implements InsetObserver.WindowInsetObserver {
|
||||
(TemplatePreservingTextView) mContainerView.findViewById(R.id.snackbar_message);
|
||||
mActionButtonView = (TextView) mContainerView.findViewById(R.id.snackbar_button);
|
||||
mActionButtonView.setOnClickListener(listener);
|
||||
mActionButtonView.setOnClickListener(manager);
|
||||
+ mDismissButtonView = (TextView) mContainerView.findViewById(R.id.snackbar_dismiss);
|
||||
+ mDismissButtonView.setOnClickListener(dismissListener);
|
||||
mProfileImageView = (ImageView) mContainerView.findViewById(R.id.snackbar_profile_image);
|
||||
mEdgeToEdgeSupplier = edgeToEdgeSupplier;
|
||||
// TODO(crbug/com/451807932): Replace with a custom pad adjuster to account for inset
|
||||
@@ -431,6 +436,12 @@ public class SnackbarView implements InsetObserver.WindowInsetObserver {
|
||||
// TODO(crbug.com/451807932): Replace with a custom pad adjuster to account for inset
|
||||
@@ -434,6 +439,12 @@ public class SnackbarView implements InsetObserver.WindowInsetObserver {
|
||||
mActionButtonView.setVisibility(View.VISIBLE);
|
||||
mActionButtonView.setContentDescription(snackbar.getActionText());
|
||||
setViewText(mActionButtonView, snackbar.getActionText(), animate);
|
||||
@@ -638,7 +638,7 @@ diff --git a/content/browser/web_contents/web_contents_android.h b/content/brows
|
||||
diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc
|
||||
--- a/content/browser/web_contents/web_contents_impl.cc
|
||||
+++ b/content/browser/web_contents/web_contents_impl.cc
|
||||
@@ -4151,8 +4151,10 @@ void WebContentsImpl::Stop() {
|
||||
@@ -4096,8 +4096,10 @@ void WebContentsImpl::Stop() {
|
||||
void WebContentsImpl::SetPageFrozen(bool frozen) {
|
||||
TRACE_EVENT1("content", "WebContentsImpl::SetPageFrozen", "frozen", frozen);
|
||||
|
||||
@@ -665,7 +665,7 @@ diff --git a/content/public/android/java/src/org/chromium/content/browser/webcon
|
||||
@Override
|
||||
public void setDisplayCutoutSafeArea(Rect insets) {
|
||||
if (mNativeWebContentsAndroid == 0) return;
|
||||
@@ -1480,6 +1486,8 @@ public class WebContentsImpl
|
||||
@@ -1486,6 +1492,8 @@ public class WebContentsImpl
|
||||
|
||||
void setFocus(long nativeWebContentsAndroid, boolean focused);
|
||||
|
||||
@@ -734,7 +734,7 @@ new file mode 100644
|
||||
diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink/renderer/core/dom/document.cc
|
||||
--- a/third_party/blink/renderer/core/dom/document.cc
|
||||
+++ b/third_party/blink/renderer/core/dom/document.cc
|
||||
@@ -4655,6 +4655,7 @@ void Document::DispatchUnloadEvents(UnloadEventTimingInfo* unload_timing_info) {
|
||||
@@ -4665,6 +4665,7 @@ void Document::DispatchUnloadEvents(UnloadEventTimingInfo* unload_timing_info) {
|
||||
}
|
||||
|
||||
void Document::DispatchFreezeEvent() {
|
||||
@@ -745,7 +745,7 @@ diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink
|
||||
diff --git a/third_party/blink/renderer/core/frame/local_frame.cc b/third_party/blink/renderer/core/frame/local_frame.cc
|
||||
--- a/third_party/blink/renderer/core/frame/local_frame.cc
|
||||
+++ b/third_party/blink/renderer/core/frame/local_frame.cc
|
||||
@@ -3306,6 +3306,7 @@ void LocalFrame::DidFreeze() {
|
||||
@@ -3321,6 +3321,7 @@ void LocalFrame::DidFreeze() {
|
||||
LoaderFreezeMode freeze_mode = GetLoaderFreezeMode();
|
||||
GetDocument()->Fetcher()->SetDefersLoading(freeze_mode);
|
||||
Loader().SetDefersLoading(freeze_mode);
|
||||
@@ -753,7 +753,7 @@ diff --git a/third_party/blink/renderer/core/frame/local_frame.cc b/third_party/
|
||||
}
|
||||
|
||||
void LocalFrame::DidResume() {
|
||||
@@ -3320,6 +3321,7 @@ void LocalFrame::DidResume() {
|
||||
@@ -3335,6 +3336,7 @@ void LocalFrame::DidResume() {
|
||||
GetDocument()->Fetcher()->SetDefersLoading(LoaderFreezeMode::kNone);
|
||||
Loader().SetDefersLoading(LoaderFreezeMode::kNone);
|
||||
|
||||
|
||||
@@ -47,7 +47,7 @@ Require: bromite-build-utils.patch
|
||||
...tomTriStateSiteSettingsPreferenceImpl.java | 24 +
|
||||
.../ContentSettingsResources.java | 32 +-
|
||||
.../site_settings/SingleCategorySettings.java | 57 ++-
|
||||
.../site_settings/SingleWebsiteSettings.java | 50 ++-
|
||||
.../site_settings/SingleWebsiteSettings.java | 48 +-
|
||||
.../site_settings/SiteSettings.java | 33 +-
|
||||
.../site_settings/SiteSettingsCategory.java | 18 +-
|
||||
.../site_settings/SiteSettingsDelegate.java | 2 +
|
||||
@@ -85,7 +85,7 @@ Require: bromite-build-utils.patch
|
||||
.../platform/web_content_settings_client.h | 13 +
|
||||
.../execution_context/execution_context.cc | 16 +
|
||||
.../execution_context/execution_context.h | 5 +
|
||||
74 files changed, 1964 insertions(+), 106 deletions(-)
|
||||
74 files changed, 1962 insertions(+), 106 deletions(-)
|
||||
create mode 100644 components/browser_ui/settings/android/java/res/layout/preference_spinner_single_widget.xml
|
||||
create mode 100644 components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/BromiteCustomContentSetting.java
|
||||
create mode 100644 components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/BromiteCustomContentSettingImpl.java
|
||||
@@ -99,7 +99,7 @@ Require: bromite-build-utils.patch
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/site_settings/ChromeSiteSettingsDelegate.java b/chrome/android/java/src/org/chromium/chrome/browser/site_settings/ChromeSiteSettingsDelegate.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/site_settings/ChromeSiteSettingsDelegate.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/site_settings/ChromeSiteSettingsDelegate.java
|
||||
@@ -70,6 +70,10 @@ import org.chromium.url.GURL;
|
||||
@@ -71,6 +71,10 @@ import org.chromium.url.GURL;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
|
||||
@@ -110,7 +110,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/site_settings/C
|
||||
/** A SiteSettingsDelegate instance that contains Chrome-specific Site Settings logic. */
|
||||
@NullMarked
|
||||
public class ChromeSiteSettingsDelegate implements SiteSettingsDelegate {
|
||||
@@ -239,7 +243,7 @@ public class ChromeSiteSettingsDelegate implements SiteSettingsDelegate {
|
||||
@@ -240,7 +244,7 @@ public class ChromeSiteSettingsDelegate implements SiteSettingsDelegate {
|
||||
|
||||
@Override
|
||||
public boolean isHelpAndFeedbackEnabled() {
|
||||
@@ -119,7 +119,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/site_settings/C
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -377,6 +381,17 @@ public class ChromeSiteSettingsDelegate implements SiteSettingsDelegate {
|
||||
@@ -378,6 +382,17 @@ public class ChromeSiteSettingsDelegate implements SiteSettingsDelegate {
|
||||
return mPrivacySandboxBridge.getRelatedWebsiteSetOwner(memberOrigin);
|
||||
}
|
||||
|
||||
@@ -152,7 +152,7 @@ diff --git a/chrome/browser/content_settings/page_specific_content_settings_dele
|
||||
diff --git a/chrome/browser/resources/settings/BUILD.gn b/chrome/browser/resources/settings/BUILD.gn
|
||||
--- a/chrome/browser/resources/settings/BUILD.gn
|
||||
+++ b/chrome/browser/resources/settings/BUILD.gn
|
||||
@@ -358,6 +358,7 @@ build_webui("build") {
|
||||
@@ -360,6 +360,7 @@ build_webui("build") {
|
||||
"privacy_sandbox/privacy_sandbox_browser_proxy.ts",
|
||||
"relaunch_mixin.ts",
|
||||
"reset_page/reset_browser_proxy.ts",
|
||||
@@ -160,7 +160,7 @@ diff --git a/chrome/browser/resources/settings/BUILD.gn b/chrome/browser/resourc
|
||||
"route.ts",
|
||||
"router.ts",
|
||||
"safety_hub/safety_hub_browser_proxy.ts",
|
||||
@@ -371,7 +372,6 @@ build_webui("build") {
|
||||
@@ -373,7 +374,6 @@ build_webui("build") {
|
||||
"site_settings/constants.ts",
|
||||
"site_settings/site_settings_mixin.ts",
|
||||
"site_settings/site_settings_browser_proxy.ts",
|
||||
@@ -171,7 +171,7 @@ diff --git a/chrome/browser/resources/settings/BUILD.gn b/chrome/browser/resourc
|
||||
diff --git a/chrome/browser/resources/settings/privacy_page/privacy_page_index.html b/chrome/browser/resources/settings/privacy_page/privacy_page_index.html
|
||||
--- a/chrome/browser/resources/settings/privacy_page/privacy_page_index.html
|
||||
+++ b/chrome/browser/resources/settings/privacy_page/privacy_page_index.html
|
||||
@@ -623,4 +623,5 @@
|
||||
@@ -609,4 +609,5 @@
|
||||
</zoom-levels>
|
||||
</template>
|
||||
|
||||
@@ -288,7 +288,7 @@ diff --git a/chrome/browser/resources/settings/route.ts b/chrome/browser/resourc
|
||||
|
||||
/**
|
||||
* Add all of the child routes that originate from the privacy route,
|
||||
@@ -155,6 +156,7 @@ function addPrivacyChildRoutes(r: Partial<SettingsRoutes>) {
|
||||
@@ -150,6 +151,7 @@ function addPrivacyChildRoutes(r: Partial<SettingsRoutes>) {
|
||||
r.SITE_SETTINGS_LOCAL_NETWORK_ACCESS =
|
||||
r.SITE_SETTINGS.createChild('localNetworkAccess');
|
||||
}
|
||||
@@ -395,7 +395,7 @@ diff --git a/chrome/browser/resources/settings/site_settings/settings_category_d
|
||||
diff --git a/chrome/browser/resources/settings/site_settings/site_details.html b/chrome/browser/resources/settings/site_settings/site_details.html
|
||||
--- a/chrome/browser/resources/settings/site_settings/site_details.html
|
||||
+++ b/chrome/browser/resources/settings/site_settings/site_details.html
|
||||
@@ -334,5 +334,6 @@
|
||||
@@ -332,5 +332,6 @@
|
||||
label="$i18n{siteSettingsLocalNetworkAccess}">
|
||||
</site-details-permission>
|
||||
</template>
|
||||
@@ -405,7 +405,7 @@ diff --git a/chrome/browser/resources/settings/site_settings/site_details.html b
|
||||
diff --git a/chrome/browser/resources/settings/site_settings/site_details.ts b/chrome/browser/resources/settings/site_settings/site_details.ts
|
||||
--- a/chrome/browser/resources/settings/site_settings/site_details.ts
|
||||
+++ b/chrome/browser/resources/settings/site_settings/site_details.ts
|
||||
@@ -71,8 +71,39 @@ export class SiteDetailsElement extends SiteDetailsElementBase {
|
||||
@@ -73,8 +73,39 @@ export class SiteDetailsElement extends SiteDetailsElementBase {
|
||||
return 'site-details';
|
||||
}
|
||||
|
||||
@@ -609,7 +609,7 @@ diff --git a/chrome/browser/resources/settings/site_settings/site_settings_mixin
|
||||
diff --git a/chrome/browser/resources/settings/site_settings/site_settings_page.ts b/chrome/browser/resources/settings/site_settings/site_settings_page.ts
|
||||
--- a/chrome/browser/resources/settings/site_settings/site_settings_page.ts
|
||||
+++ b/chrome/browser/resources/settings/site_settings/site_settings_page.ts
|
||||
@@ -51,7 +51,7 @@ function getCategoryItemMap(): Map<ContentSettingsTypes, CategoryListItem> {
|
||||
@@ -52,7 +52,7 @@ function getCategoryItemMap(): Map<ContentSettingsTypes, CategoryListItem> {
|
||||
}
|
||||
// The following list is ordered alphabetically by |id|. The order in which
|
||||
// these appear in the UI is determined elsewhere in this file.
|
||||
@@ -739,7 +739,7 @@ diff --git a/chrome/browser/resources/settings/site_settings/site_settings_util.
|
||||
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
|
||||
@@ -1606,6 +1606,7 @@ static_library("ui") {
|
||||
@@ -1620,6 +1620,7 @@ static_library("ui") {
|
||||
"//components/commerce/core/webui",
|
||||
"//components/contextual_search:public",
|
||||
"//components/endpoint_fetcher",
|
||||
@@ -747,7 +747,7 @@ diff --git a/chrome/browser/ui/BUILD.gn b/chrome/browser/ui/BUILD.gn
|
||||
"//components/enterprise/common:files_scan_data",
|
||||
"//components/feedback/proto",
|
||||
"//components/headless/console_message_logger",
|
||||
@@ -4761,6 +4762,7 @@ static_library("ui") {
|
||||
@@ -4790,6 +4791,7 @@ static_library("ui") {
|
||||
"//components/power_bookmarks/core",
|
||||
"//components/power_bookmarks/storage",
|
||||
"//components/prefs",
|
||||
@@ -787,7 +787,7 @@ diff --git a/chrome/browser/ui/views/page_info/page_info_bubble_view.cc b/chrome
|
||||
diff --git a/chrome/browser/ui/views/page_info/page_info_main_view.cc b/chrome/browser/ui/views/page_info/page_info_main_view.cc
|
||||
--- a/chrome/browser/ui/views/page_info/page_info_main_view.cc
|
||||
+++ b/chrome/browser/ui/views/page_info/page_info_main_view.cc
|
||||
@@ -58,6 +58,7 @@
|
||||
@@ -55,6 +55,7 @@
|
||||
#include "ui/views/layout/box_layout.h"
|
||||
#include "ui/views/layout/flex_layout.h"
|
||||
#include "ui/views/vector_icons.h"
|
||||
@@ -795,7 +795,7 @@ diff --git a/chrome/browser/ui/views/page_info/page_info_main_view.cc b/chrome/b
|
||||
#include "ui/views/view_class_properties.h"
|
||||
|
||||
#if BUILDFLAG(FULL_SAFE_BROWSING)
|
||||
@@ -284,8 +285,20 @@ void PageInfoMainView::SetPermissionInfo(
|
||||
@@ -259,8 +260,20 @@ void PageInfoMainView::SetPermissionInfo(
|
||||
scroll_view->SetDrawOverflowIndicator(false);
|
||||
auto* content_view =
|
||||
scroll_view->SetContents(std::make_unique<views::View>());
|
||||
@@ -818,7 +818,7 @@ diff --git a/chrome/browser/ui/views/page_info/page_info_main_view.cc b/chrome/b
|
||||
content_view->SetID(PageInfoViewFactory::VIEW_ID_PAGE_INFO_PERMISSION_VIEW);
|
||||
content_view->SetProperty(views::kElementIdentifierKey,
|
||||
kPermissionsElementId);
|
||||
@@ -300,11 +313,16 @@ void PageInfoMainView::SetPermissionInfo(
|
||||
@@ -275,11 +288,16 @@ void PageInfoMainView::SetPermissionInfo(
|
||||
}
|
||||
}
|
||||
|
||||
@@ -835,7 +835,7 @@ diff --git a/chrome/browser/ui/views/page_info/page_info_main_view.cc b/chrome/b
|
||||
toggle_row->SetProperty(views::kCrossAxisAlignmentKey,
|
||||
views::LayoutAlignment::kStretch);
|
||||
syncable_permission_rows_.emplace(permission.type, toggle_row);
|
||||
@@ -312,6 +330,8 @@ void PageInfoMainView::SetPermissionInfo(
|
||||
@@ -287,6 +305,8 @@ void PageInfoMainView::SetPermissionInfo(
|
||||
}
|
||||
|
||||
for (auto& object : chosen_object_info_list) {
|
||||
@@ -844,7 +844,7 @@ diff --git a/chrome/browser/ui/views/page_info/page_info_main_view.cc b/chrome/b
|
||||
// The view takes ownership of the object info.
|
||||
auto object_view = std::make_unique<ChosenObjectView>(
|
||||
std::move(object),
|
||||
@@ -322,6 +342,10 @@ void PageInfoMainView::SetPermissionInfo(
|
||||
@@ -297,6 +317,10 @@ void PageInfoMainView::SetPermissionInfo(
|
||||
content_view->AddChildView(std::move(object_view)));
|
||||
}
|
||||
|
||||
@@ -867,7 +867,7 @@ diff --git a/chrome/browser/ui/views/page_info/page_info_view_factory.cc b/chrom
|
||||
#include "components/page_info/core/features.h"
|
||||
#include "components/page_info/core/proto/about_this_site_metadata.pb.h"
|
||||
#include "components/page_info/page_info.h"
|
||||
@@ -291,7 +293,14 @@ const ui::ImageModel PageInfoViewFactory::GetPermissionIcon(
|
||||
@@ -280,7 +282,14 @@ const ui::ImageModel PageInfoViewFactory::GetPermissionIcon(
|
||||
bool blocked_on_system_level) {
|
||||
PermissionSetting setting =
|
||||
permission.setting.value_or(permission.default_setting);
|
||||
@@ -882,7 +882,7 @@ diff --git a/chrome/browser/ui/views/page_info/page_info_view_factory.cc b/chrom
|
||||
auto* info = content_settings::PermissionSettingsRegistry::GetInstance()->Get(
|
||||
permission.type);
|
||||
// For guard content settings and Automatic Picture-in-Picture, ASK is treated
|
||||
@@ -595,6 +604,17 @@ const ui::ImageModel PageInfoViewFactory::GetPermissionIcon(
|
||||
@@ -584,6 +593,17 @@ const ui::ImageModel PageInfoViewFactory::GetPermissionIcon(
|
||||
icon = &vector_icons::kPrinterIcon;
|
||||
break;
|
||||
default:
|
||||
@@ -903,7 +903,7 @@ diff --git a/chrome/browser/ui/views/page_info/page_info_view_factory.cc b/chrom
|
||||
diff --git a/chrome/browser/ui/views/page_info/page_info_view_factory.h b/chrome/browser/ui/views/page_info/page_info_view_factory.h
|
||||
--- a/chrome/browser/ui/views/page_info/page_info_view_factory.h
|
||||
+++ b/chrome/browser/ui/views/page_info/page_info_view_factory.h
|
||||
@@ -97,6 +97,11 @@ class PageInfoViewFactory {
|
||||
@@ -95,6 +95,11 @@ class PageInfoViewFactory {
|
||||
const PageInfo::PermissionInfo& info,
|
||||
bool blocked_on_system_level = false);
|
||||
|
||||
@@ -1236,7 +1236,7 @@ diff --git a/chrome/browser/ui/webui/settings/settings_localized_strings_provide
|
||||
#include "components/password_manager/core/browser/leak_detection_dialog_utils.h"
|
||||
#include "components/password_manager/core/browser/manage_passwords_referrer.h"
|
||||
#include "components/password_manager/core/common/password_manager_features.h"
|
||||
@@ -4048,6 +4052,56 @@ void AddLocalizedStrings(content::WebUIDataSource* html_source,
|
||||
@@ -4111,6 +4115,56 @@ void AddLocalizedStrings(content::WebUIDataSource* html_source,
|
||||
policy_indicator::AddLocalizedStrings(html_source);
|
||||
AddSecurityKeysStrings(html_source);
|
||||
|
||||
@@ -1296,7 +1296,7 @@ diff --git a/chrome/browser/ui/webui/settings/settings_localized_strings_provide
|
||||
diff --git a/chrome/browser/ui/webui/settings/site_settings_helper.cc b/chrome/browser/ui/webui/settings/site_settings_helper.cc
|
||||
--- a/chrome/browser/ui/webui/settings/site_settings_helper.cc
|
||||
+++ b/chrome/browser/ui/webui/settings/site_settings_helper.cc
|
||||
@@ -46,6 +46,8 @@
|
||||
@@ -47,6 +47,8 @@
|
||||
#include "chrome/grit/generated_resources.h"
|
||||
#include "components/content_settings/core/browser/content_settings_provider.h"
|
||||
#include "components/content_settings/core/browser/host_content_settings_map.h"
|
||||
@@ -1374,7 +1374,7 @@ diff --git a/chrome/browser/ui/webui/settings/site_settings_helper.cc b/chrome/b
|
||||
NOTREACHED() << static_cast<int32_t>(type)
|
||||
<< " is not a recognized content settings type.";
|
||||
}
|
||||
@@ -668,6 +689,13 @@ std::vector<ContentSettingsType> GetVisiblePermissionCategories(
|
||||
@@ -664,6 +685,13 @@ std::vector<ContentSettingsType> GetVisiblePermissionCategories(
|
||||
base_types->push_back(ContentSettingsType::LOCAL_NETWORK_ACCESS);
|
||||
}
|
||||
|
||||
@@ -1391,8 +1391,8 @@ diff --git a/chrome/browser/ui/webui/settings/site_settings_helper.cc b/chrome/b
|
||||
diff --git a/components/browser_ui/settings/android/BUILD.gn b/components/browser_ui/settings/android/BUILD.gn
|
||||
--- a/components/browser_ui/settings/android/BUILD.gn
|
||||
+++ b/components/browser_ui/settings/android/BUILD.gn
|
||||
@@ -90,6 +90,7 @@ android_resources("java_resources") {
|
||||
"java/res/layout/managed_disclaimer_preference_for_radio_groups.xml",
|
||||
@@ -92,6 +92,7 @@ android_resources("java_resources") {
|
||||
"java/res/layout/preference_chrome_button.xml",
|
||||
"java/res/layout/preference_chrome_image_view.xml",
|
||||
"java/res/layout/preference_spinner.xml",
|
||||
+ "java/res/layout/preference_spinner_single_widget.xml",
|
||||
@@ -1579,7 +1579,7 @@ diff --git a/components/browser_ui/site_settings/android/BUILD.gn b/components/b
|
||||
}
|
||||
|
||||
android_library("javatests") {
|
||||
@@ -205,6 +222,7 @@ robolectric_library("junit") {
|
||||
@@ -208,6 +225,7 @@ robolectric_library("junit") {
|
||||
}
|
||||
|
||||
android_resources("java_resources") {
|
||||
@@ -2306,7 +2306,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
|
||||
diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleCategorySettings.java b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleCategorySettings.java
|
||||
--- a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleCategorySettings.java
|
||||
+++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleCategorySettings.java
|
||||
@@ -360,6 +360,10 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
|
||||
@@ -361,6 +361,10 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
|
||||
} else {
|
||||
@ContentSetting
|
||||
Integer contentSetting = website.site().getContentSetting(browserContextHandle, type);
|
||||
@@ -2317,7 +2317,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
|
||||
if (contentSetting != null) {
|
||||
return ContentSetting.BLOCK == contentSetting;
|
||||
}
|
||||
@@ -551,6 +555,7 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
|
||||
@@ -552,6 +556,7 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
|
||||
? new HashSet<>(getArguments().getStringArrayList(EXTRA_SELECTED_DOMAINS))
|
||||
: null;
|
||||
|
||||
@@ -2325,7 +2325,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
|
||||
configureGlobalToggles();
|
||||
if (mCategory.getType() == SiteSettingsCategory.Type.REQUEST_DESKTOP_SITE) {
|
||||
RecordUserAction.record("DesktopSiteContentSetting.SettingsPage.Entered");
|
||||
@@ -586,7 +591,8 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
|
||||
@@ -587,7 +592,8 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
|
||||
if (queryHasChanged) getInfoForOrigins();
|
||||
});
|
||||
|
||||
@@ -2335,7 +2335,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
|
||||
MenuItem help =
|
||||
menu.add(
|
||||
Menu.NONE,
|
||||
@@ -598,12 +604,20 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
|
||||
@@ -599,12 +605,20 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
|
||||
getResources(),
|
||||
R.drawable.ic_help_and_feedback,
|
||||
getContext().getTheme()));
|
||||
@@ -2356,7 +2356,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
|
||||
if (mCategory.getType() == SiteSettingsCategory.Type.PROTECTED_MEDIA) {
|
||||
getSiteSettingsDelegate()
|
||||
.launchProtectedContentHelpAndFeedbackActivity(getActivity());
|
||||
@@ -681,6 +695,11 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
|
||||
@@ -682,6 +696,11 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
|
||||
public boolean onPreferenceChange(Preference preference, Object newValue) {
|
||||
BrowserContextHandle browserContextHandle = getBrowserContextHandle();
|
||||
PrefService prefService = UserPrefs.get(browserContextHandle);
|
||||
@@ -2368,7 +2368,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
|
||||
if (BINARY_RADIO_BUTTON_KEY.equals(preference.getKey())
|
||||
|| BINARY_TOGGLE_KEY.equals(preference.getKey())) {
|
||||
assert !mCategory.isManaged();
|
||||
@@ -855,7 +874,7 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
|
||||
@@ -856,7 +875,7 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
|
||||
? R.string.website_settings_add_site_description_javascript_optimizer_block
|
||||
: R.string.website_settings_add_site_description_javascript_optimizer_allow;
|
||||
}
|
||||
@@ -2377,7 +2377,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
|
||||
}
|
||||
|
||||
// OnPreferenceClickListener:
|
||||
@@ -973,17 +992,15 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
|
||||
@@ -974,17 +993,15 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -2398,7 +2398,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
|
||||
String exceptionDialogMessage =
|
||||
exceptionDialogMessageResourceId != 0
|
||||
? getString(exceptionDialogMessageResourceId)
|
||||
@@ -994,7 +1011,7 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
|
||||
@@ -995,7 +1012,7 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
|
||||
getStyledContext(),
|
||||
ADD_EXCEPTION_KEY,
|
||||
exceptionDialogMessage,
|
||||
@@ -2407,7 +2407,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
|
||||
mCategory,
|
||||
this));
|
||||
|
||||
@@ -1178,8 +1195,16 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
|
||||
@@ -1179,8 +1196,16 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
|
||||
private boolean isBlocked() {
|
||||
switch (mGlobalToggleLayout) {
|
||||
case GlobalToggleLayout.TRI_STATE_TOGGLE:
|
||||
@@ -2424,7 +2424,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
|
||||
return (triStateToggle.getCheckedSetting() == ContentSetting.BLOCK);
|
||||
case GlobalToggleLayout.TRI_STATE_COOKIE_TOGGLE:
|
||||
TriStateCookieSettingsPreference triStateCookieToggle =
|
||||
@@ -1332,7 +1357,11 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
|
||||
@@ -1333,7 +1358,11 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
|
||||
} else if (res_id != -1) {
|
||||
infoText.setSummary(res_id);
|
||||
} else {
|
||||
@@ -2437,7 +2437,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
|
||||
}
|
||||
|
||||
// Hide the anti-abuse text preferences, as needed.
|
||||
@@ -1371,6 +1400,7 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
|
||||
@@ -1372,6 +1401,7 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
|
||||
} else {
|
||||
screen.removePreference(mLocationTriStatePref);
|
||||
}
|
||||
@@ -2445,7 +2445,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
|
||||
|
||||
maybeShowReasonToggleDisabled(screen);
|
||||
|
||||
@@ -1579,6 +1609,7 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
|
||||
@@ -1580,6 +1610,7 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
|
||||
iconIds = ContentSettingsResources.getTriStateSettingIconIDs(contentType);
|
||||
}
|
||||
triStateToggle.initialize(
|
||||
@@ -2453,8 +2453,8 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
|
||||
setting,
|
||||
descriptionIds,
|
||||
iconIds,
|
||||
@@ -1867,6 +1898,14 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
|
||||
selectedButton.setChecked(true);
|
||||
@@ -1891,6 +1922,14 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
|
||||
setLocationAccessEnabled.accept(allowButton.isChecked());
|
||||
}
|
||||
|
||||
+ AlertDialog.Builder alertDialogBuilder =
|
||||
@@ -2471,7 +2471,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
|
||||
diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleWebsiteSettings.java b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleWebsiteSettings.java
|
||||
--- a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleWebsiteSettings.java
|
||||
+++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleWebsiteSettings.java
|
||||
@@ -57,6 +57,7 @@ import java.util.Collection;
|
||||
@@ -58,6 +58,7 @@ import java.util.Collection;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
@@ -2479,7 +2479,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
|
||||
|
||||
/** Shows the permissions and other settings for a particular website. */
|
||||
@NullMarked
|
||||
@@ -200,7 +201,7 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment
|
||||
@@ -204,7 +205,7 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment
|
||||
case ContentSettingsType.WINDOW_MANAGEMENT:
|
||||
return "window_management_permission_list";
|
||||
default:
|
||||
@@ -2488,7 +2488,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
|
||||
}
|
||||
}
|
||||
|
||||
@@ -631,7 +632,8 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment
|
||||
@@ -650,7 +651,8 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment
|
||||
private void setupContentSettingsPreferences() {
|
||||
Preference permissionsHeaderPref = findPreference(PREF_PERMISSIONS_HEADER);
|
||||
mMaxPermissionOrder = permissionsHeaderPref.getOrder();
|
||||
@@ -2498,7 +2498,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
|
||||
Preference preference = getPermissionPreference(type);
|
||||
preference.setKey(getPreferenceKey(type));
|
||||
|
||||
@@ -663,6 +665,19 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment
|
||||
@@ -682,6 +684,19 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment
|
||||
}
|
||||
|
||||
private Preference getPermissionPreference(@ContentSettingsType.EnumType int type) {
|
||||
@@ -2518,25 +2518,23 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
|
||||
boolean isOneTime = isOneTime(type);
|
||||
if (type == ContentSettingsType.GEOLOCATION_WITH_OPTIONS && !isOneTime) {
|
||||
return createTwoActionLocationSwitchPreference();
|
||||
@@ -1258,7 +1273,16 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment
|
||||
@ContentSetting @Nullable Integer value,
|
||||
boolean isEmbargoed,
|
||||
boolean isOneTime) {
|
||||
@@ -1354,7 +1369,14 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment
|
||||
value = ContentSetting.BLOCK;
|
||||
}
|
||||
|
||||
- if (value == null) return;
|
||||
+ @ContentSettingsType.EnumType
|
||||
+ int content_type = getContentSettingsTypeFromPreferenceKey(preference.getKey());
|
||||
+ BromiteCustomContentSetting cs =
|
||||
+ BromiteCustomContentSettingImpl.getContentSetting(content_type);
|
||||
+ BromiteCustomContentSettingImpl.getContentSetting(contentType);
|
||||
+ if (value == null && cs == null) return;
|
||||
+ if (value == null) {
|
||||
+ if (cs.showIntoInfoPage() == false) return;
|
||||
+ value = WebsitePreferenceBridge.getDefaultContentSetting(
|
||||
+ getSiteSettingsDelegate().getBrowserContextHandle(), content_type);
|
||||
+ getSiteSettingsDelegate().getBrowserContextHandle(), contentType);
|
||||
+ }
|
||||
setUpPreferenceCommon(preference, value);
|
||||
preference.setOnPreferenceChangeListener(this);
|
||||
@ContentSettingsType.EnumType
|
||||
@@ -1310,10 +1334,14 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment
|
||||
|
||||
@@ -1404,10 +1426,14 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment
|
||||
oneTimePreference.setBackgroundColor(mHighlightColor);
|
||||
}
|
||||
} else {
|
||||
@@ -2555,7 +2553,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
|
||||
AppCompatResources.getColorStateList(getContext(), mHighlightColor)
|
||||
.getDefaultColor());
|
||||
}
|
||||
@@ -1619,7 +1647,13 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment
|
||||
@@ -1713,7 +1739,13 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment
|
||||
if (newValue instanceof Boolean) {
|
||||
permission = (Boolean) newValue ? getEnabledValue(type) : ContentSetting.BLOCK;
|
||||
} else {
|
||||
@@ -2769,7 +2767,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
|
||||
diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/Website.java b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/Website.java
|
||||
--- a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/Website.java
|
||||
+++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/Website.java
|
||||
@@ -361,7 +361,11 @@ public final class Website implements WebsiteEntry {
|
||||
@@ -368,7 +368,11 @@ public final class Website implements WebsiteEntry {
|
||||
RecordUserAction.record("SoundContentSetting.UnmuteBy.SiteSettings");
|
||||
}
|
||||
}
|
||||
@@ -2924,7 +2922,7 @@ diff --git a/components/content_settings/core/browser/content_settings_registry.
|
||||
|
||||
namespace content_settings {
|
||||
|
||||
@@ -858,6 +859,7 @@ void ContentSettingsRegistry::Init() {
|
||||
@@ -848,6 +849,7 @@ void ContentSettingsRegistry::Init() {
|
||||
WebsiteSettingsRegistry::PLATFORM_CHROMEOS,
|
||||
ContentSettingsInfo::INHERIT_IN_INCOGNITO,
|
||||
PermissionSettingsInfo::EXCEPTIONS_ON_SECURE_ORIGINS_ONLY);
|
||||
@@ -3271,7 +3269,7 @@ diff --git a/components/content_settings/core/common/content_settings_mojom_trai
|
||||
diff --git a/components/content_settings/core/common/content_settings_types.mojom b/components/content_settings/core/common/content_settings_types.mojom
|
||||
--- a/components/content_settings/core/common/content_settings_types.mojom
|
||||
+++ b/components/content_settings/core/common/content_settings_types.mojom
|
||||
@@ -495,5 +495,7 @@ enum ContentSettingsType {
|
||||
@@ -492,5 +492,7 @@ enum ContentSettingsType {
|
||||
// when suspicious warning is shown. If the user has selected this, the
|
||||
// notification permission will not be revoked based on suspicious verdict.
|
||||
SUSPICIOUS_NOTIFICATION_SHOW_ORIGINAL,
|
||||
@@ -3392,7 +3390,7 @@ diff --git a/components/content_settings/renderer/content_settings_agent_impl.h
|
||||
diff --git a/components/page_info/android/java/src/org/chromium/components/page_info/PageInfoPermissionsController.java b/components/page_info/android/java/src/org/chromium/components/page_info/PageInfoPermissionsController.java
|
||||
--- a/components/page_info/android/java/src/org/chromium/components/page_info/PageInfoPermissionsController.java
|
||||
+++ b/components/page_info/android/java/src/org/chromium/components/page_info/PageInfoPermissionsController.java
|
||||
@@ -203,6 +203,15 @@ public class PageInfoPermissionsController extends PageInfoPreferenceSubpageCont
|
||||
@@ -241,6 +241,15 @@ public class PageInfoPermissionsController extends PageInfoPreferenceSubpageCont
|
||||
: perm1.nameMidSentence.toString());
|
||||
}
|
||||
|
||||
@@ -3419,7 +3417,7 @@ diff --git a/components/page_info/android/page_info_controller_android.cc b/comp
|
||||
#include "components/content_settings/core/common/content_settings.h"
|
||||
#include "components/content_settings/core/common/content_settings_types.h"
|
||||
#include "components/content_settings/core/common/features.h"
|
||||
@@ -205,6 +206,15 @@ void PageInfoControllerAndroid::SetPermissionInfo(
|
||||
@@ -206,6 +207,15 @@ void PageInfoControllerAndroid::SetPermissionInfo(
|
||||
permissions_to_display.push_back(ContentSettingsType::LOCAL_NETWORK_ACCESS);
|
||||
}
|
||||
|
||||
@@ -3434,8 +3432,8 @@ diff --git a/components/page_info/android/page_info_controller_android.cc b/comp
|
||||
+
|
||||
std::map<ContentSettingsType, /*allowed*/ bool>
|
||||
user_specified_settings_to_display;
|
||||
std::map<ContentSettingsType, bool>
|
||||
@@ -267,6 +277,14 @@ std::optional<PermissionSetting> PageInfoControllerAndroid::GetSettingToDisplay(
|
||||
|
||||
@@ -284,6 +294,14 @@ std::optional<PermissionSetting> PageInfoControllerAndroid::GetSettingToDisplay(
|
||||
return permission.setting;
|
||||
}
|
||||
|
||||
@@ -3461,10 +3459,10 @@ diff --git a/components/page_info/page_info.cc b/components/page_info/page_info.
|
||||
#include "components/content_settings/browser/ui/cookie_controls_controller.h"
|
||||
#include "components/content_settings/core/browser/content_settings_registry.h"
|
||||
#include "components/content_settings/core/browser/content_settings_uma_util.h"
|
||||
@@ -1405,6 +1406,14 @@ void PageInfo::PopulatePermissionInfo(PermissionInfo& permission_info,
|
||||
// via `HasContentSettingChangedViaPageInfo(type)`.
|
||||
bool PageInfo::ShouldShowPermission(
|
||||
const PageInfo::PermissionInfo& info) const {
|
||||
@@ -1391,6 +1392,14 @@ bool PageInfo::ShouldShowPermission(
|
||||
}
|
||||
#endif // BUILDFLAG(IS_ANDROID)
|
||||
|
||||
+ content_settings::WebsiteSettingsRegistry* website_settings =
|
||||
+ content_settings::WebsiteSettingsRegistry::GetInstance();
|
||||
+ for (const content_settings::WebsiteSettingsInfo* winfo : *website_settings) {
|
||||
@@ -3476,7 +3474,7 @@ diff --git a/components/page_info/page_info.cc b/components/page_info/page_info.
|
||||
// Note |ContentSettingsType::ADS| will show up regardless of its default
|
||||
// value when it has been activated on the current origin.
|
||||
if (info.type == ContentSettingsType::ADS) {
|
||||
@@ -1532,7 +1541,19 @@ void PageInfo::PresentSitePermissions() {
|
||||
@@ -1514,7 +1523,19 @@ void PageInfo::PresentSitePermissions() {
|
||||
|
||||
HostContentSettingsMap* content_settings = GetContentSettings();
|
||||
DCHECK(web_contents_);
|
||||
@@ -3603,7 +3601,7 @@ diff --git a/third_party/blink/public/platform/web_content_settings_client.h b/t
|
||||
diff --git a/third_party/blink/renderer/core/execution_context/execution_context.cc b/third_party/blink/renderer/core/execution_context/execution_context.cc
|
||||
--- a/third_party/blink/renderer/core/execution_context/execution_context.cc
|
||||
+++ b/third_party/blink/renderer/core/execution_context/execution_context.cc
|
||||
@@ -70,6 +70,22 @@
|
||||
@@ -77,6 +77,22 @@
|
||||
|
||||
namespace blink {
|
||||
|
||||
@@ -3629,18 +3627,18 @@ diff --git a/third_party/blink/renderer/core/execution_context/execution_context
|
||||
diff --git a/third_party/blink/renderer/core/execution_context/execution_context.h b/third_party/blink/renderer/core/execution_context/execution_context.h
|
||||
--- a/third_party/blink/renderer/core/execution_context/execution_context.h
|
||||
+++ b/third_party/blink/renderer/core/execution_context/execution_context.h
|
||||
@@ -43,6 +43,7 @@
|
||||
#include "third_party/blink/public/mojom/frame/lifecycle.mojom-blink-forward.h"
|
||||
@@ -44,6 +44,7 @@
|
||||
#include "third_party/blink/public/mojom/origin_trials/origin_trial_feature.mojom-blink-forward.h"
|
||||
#include "third_party/blink/public/mojom/permissions_policy/policy_disposition.mojom-blink-forward.h"
|
||||
#include "third_party/blink/public/mojom/v8_cache_options.mojom-blink-forward.h"
|
||||
+#include "third_party/blink/public/platform/web_content_settings_client.h"
|
||||
#include "third_party/blink/renderer/bindings/core/v8/sanitize_script_errors.h"
|
||||
#include "third_party/blink/renderer/core/core_export.h"
|
||||
#include "third_party/blink/renderer/core/execution_context/security_context.h"
|
||||
@@ -101,6 +102,10 @@ class SecurityOrigin;
|
||||
class ScriptState;
|
||||
class ScriptWrappable;
|
||||
class TrustedTypePolicyFactory;
|
||||
@@ -135,6 +136,10 @@ class TrustedTypePolicyFactory;
|
||||
class WebCodecsLogger;
|
||||
class WebPrintingManager;
|
||||
class WebViewAndroid;
|
||||
+class WebContentSettingsClient;
|
||||
+
|
||||
+CORE_EXPORT WebContentSettingsClient* GetContentSettingsClientFor(
|
||||
|
||||
@@ -6,9 +6,12 @@ Do not expose the user's preferred font scale to CSS.
|
||||
|
||||
License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
||||
---
|
||||
.../blink/common/features_cc/Disable-CSSPreferredTextScale.inc | 1 +
|
||||
.../blink/renderer/platform/runtime_enabled_features.json5 | 3 +--
|
||||
2 files changed, 2 insertions(+), 2 deletions(-)
|
||||
.../common/features_cc/Disable-CSSPreferredTextScale.inc | 1 +
|
||||
.../core/css/document_style_environment_variables.cc | 6 ++++--
|
||||
.../blink/renderer/core/css/style_environment_variables.cc | 4 +++-
|
||||
third_party/blink/renderer/core/page/page.cc | 4 +++-
|
||||
.../blink/renderer/platform/runtime_enabled_features.json5 | 3 +++
|
||||
5 files changed, 14 insertions(+), 4 deletions(-)
|
||||
create mode 100644 cromite_flags/third_party/blink/common/features_cc/Disable-CSSPreferredTextScale.inc
|
||||
|
||||
diff --git a/cromite_flags/third_party/blink/common/features_cc/Disable-CSSPreferredTextScale.inc b/cromite_flags/third_party/blink/common/features_cc/Disable-CSSPreferredTextScale.inc
|
||||
@@ -17,17 +20,61 @@ new file mode 100644
|
||||
+++ b/cromite_flags/third_party/blink/common/features_cc/Disable-CSSPreferredTextScale.inc
|
||||
@@ -0,0 +1 @@
|
||||
+SET_CROMITE_FEATURE_DISABLED(kCSSPreferredTextScale);
|
||||
diff --git a/third_party/blink/renderer/core/css/document_style_environment_variables.cc b/third_party/blink/renderer/core/css/document_style_environment_variables.cc
|
||||
--- a/third_party/blink/renderer/core/css/document_style_environment_variables.cc
|
||||
+++ b/third_party/blink/renderer/core/css/document_style_environment_variables.cc
|
||||
@@ -55,8 +55,10 @@ DocumentStyleEnvironmentVariables::DocumentStyleEnvironmentVariables(
|
||||
StyleEnvironmentVariables& parent,
|
||||
Document& document)
|
||||
: StyleEnvironmentVariables(parent), document_(&document) {
|
||||
- SetPreferredTextScale(
|
||||
- document_->GetSettings()->GetAccessibilityFontScaleFactor());
|
||||
+ if (RuntimeEnabledFeatures::CSSPreferredTextScaleEnabled()) {
|
||||
+ SetPreferredTextScale(
|
||||
+ document_->GetSettings()->GetAccessibilityFontScaleFactor());
|
||||
+ }
|
||||
}
|
||||
|
||||
void DocumentStyleEnvironmentVariables::RecordVariableUsage(
|
||||
diff --git a/third_party/blink/renderer/core/css/style_environment_variables.cc b/third_party/blink/renderer/core/css/style_environment_variables.cc
|
||||
--- a/third_party/blink/renderer/core/css/style_environment_variables.cc
|
||||
+++ b/third_party/blink/renderer/core/css/style_environment_variables.cc
|
||||
@@ -49,7 +49,9 @@ void SetDefaultEnvironmentVariables(StyleEnvironmentVariables* instance) {
|
||||
instance->SetVariable(UADefinedVariable::kKeyboardInsetHeight,
|
||||
kKeyboardInsetDefault);
|
||||
|
||||
- instance->SetVariable(UADefinedVariable::kPreferredTextScale, "1");
|
||||
+ if (RuntimeEnabledFeatures::CSSPreferredTextScaleEnabled()) {
|
||||
+ instance->SetVariable(UADefinedVariable::kPreferredTextScale, "1");
|
||||
+ }
|
||||
}
|
||||
|
||||
} // namespace.
|
||||
diff --git a/third_party/blink/renderer/core/page/page.cc b/third_party/blink/renderer/core/page/page.cc
|
||||
--- a/third_party/blink/renderer/core/page/page.cc
|
||||
+++ b/third_party/blink/renderer/core/page/page.cc
|
||||
@@ -1056,7 +1056,9 @@ void Page::SettingsChanged(ChangeType change_type) {
|
||||
}
|
||||
break;
|
||||
case ChangeType::kFontScaleFactor:
|
||||
-
|
||||
+ if (!RuntimeEnabledFeatures::CSSPreferredTextScaleEnabled()) {
|
||||
+ break;
|
||||
+ }
|
||||
for (Frame* frame = MainFrame(); frame;
|
||||
frame = frame->Tree().TraverseNext()) {
|
||||
LocalFrame* local_frame = DynamicTo<LocalFrame>(frame);
|
||||
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
|
||||
@@ -1548,8 +1548,7 @@
|
||||
@@ -1582,6 +1582,9 @@
|
||||
name: "CSSPositionStickyStaticScrollPosition",
|
||||
status: "test",
|
||||
},
|
||||
{
|
||||
- name: "CSSPreferredTextScale",
|
||||
- status: "stable",
|
||||
+ {
|
||||
+ name: "CSSPreferredTextScale", status: "test", public: true
|
||||
},
|
||||
+ },
|
||||
// https://drafts.csswg.org/css-values-5/#progress
|
||||
// progress()
|
||||
{
|
||||
--
|
||||
|
||||
@@ -20,7 +20,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
||||
.../settings/privacy_page/gpc_toggle.ts | 112 ++++++++++++++++++
|
||||
.../Enable-Global-Privacy-Control.grdp | 15 +++
|
||||
chrome/browser/ui/prefs/pref_watcher.cc | 4 +
|
||||
chrome/browser/ui/prefs/pref_watcher.h | 1 +
|
||||
chrome/browser/ui/prefs/pref_watcher.h | 2 +
|
||||
.../settings_localized_strings_provider.cc | 3 +
|
||||
.../tracking_protection_prefs.cc | 1 +
|
||||
.../tracking_protection_prefs.h | 2 +
|
||||
@@ -46,7 +46,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
||||
.../web_service_worker_fetch_context_impl.cc | 3 +
|
||||
...shared_worker_global_scope_context_impl.cc | 3 +
|
||||
.../platform/runtime_enabled_features.json5 | 5 +
|
||||
42 files changed, 390 insertions(+)
|
||||
42 files changed, 391 insertions(+)
|
||||
create mode 100644 chrome/android/java/res/xml/gpc_preferences.xml
|
||||
create mode 100644 chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/GpcSettings.java
|
||||
create mode 100644 chrome/browser/resources/settings/privacy_page/gpc_toggle.html
|
||||
@@ -61,7 +61,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.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
|
||||
@@ -656,6 +656,7 @@ chrome_java_resources = [
|
||||
@@ -675,6 +675,7 @@ chrome_java_resources = [
|
||||
"java/res/xml/contextual_search_preferences.xml",
|
||||
"java/res/xml/developer_preferences.xml",
|
||||
"java/res/xml/do_not_track_preferences.xml",
|
||||
@@ -72,7 +72,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
|
||||
@@ -940,6 +940,7 @@ chrome_java_sources = [
|
||||
@@ -953,6 +953,7 @@ chrome_java_sources = [
|
||||
"java/src/org/chromium/chrome/browser/settings/AdBlockPreferences.java",
|
||||
"java/src/org/chromium/chrome/browser/policy/PolicyAuditor.java",
|
||||
"java/src/org/chromium/chrome/browser/policy/PolicyAuditorBridge.java",
|
||||
@@ -103,7 +103,7 @@ new file mode 100644
|
||||
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
|
||||
@@ -54,6 +54,10 @@ found in the LICENSE file.
|
||||
@@ -48,6 +48,10 @@ found in the LICENSE file.
|
||||
android:key="do_not_track"
|
||||
android:title="@string/do_not_track_title"
|
||||
android:fragment="org.chromium.chrome.browser.privacy.settings.DoNotTrackSettings" />
|
||||
@@ -178,7 +178,7 @@ new file mode 100644
|
||||
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
|
||||
@@ -127,6 +127,7 @@ public class PrivacySettings extends ChromeBaseSettingsFragment
|
||||
@@ -128,6 +128,7 @@ public class PrivacySettings extends ChromeBaseSettingsFragment
|
||||
private static final String PREF_HTTPS_FIRST_MODE_LEGACY = "https_first_mode_legacy";
|
||||
private static final String PREF_SECURE_DNS = "secure_dns";
|
||||
private static final String PREF_USAGE_STATS = "usage_stats_reporting";
|
||||
@@ -186,7 +186,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
|
||||
private static final String PREF_SAFE_BROWSING = "safe_browsing";
|
||||
private static final String PREF_PASSWORD_LEAK_DETECTION = "password_leak_detection";
|
||||
private static final String PREF_SYNC_AND_SERVICES_LINK = "sync_and_services_link";
|
||||
@@ -575,6 +576,14 @@ public class PrivacySettings extends ChromeBaseSettingsFragment
|
||||
@@ -567,6 +568,14 @@ public class PrivacySettings extends ChromeBaseSettingsFragment
|
||||
: R.string.text_off);
|
||||
}
|
||||
|
||||
@@ -204,7 +204,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
|
||||
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
|
||||
@@ -1928,6 +1928,21 @@
|
||||
@@ -1943,6 +1943,21 @@
|
||||
<message name="IDS_SETTINGS_ENABLE_DO_NOT_TRACK_DIALOG_LEARN_MORE_ACCESSIBILITY_LABEL" desc="The accessibility label for a link to learn more about Do Not Track">
|
||||
Learn more about Do Not Track
|
||||
</message>
|
||||
@@ -229,7 +229,7 @@ diff --git a/chrome/app/settings_strings.grdp b/chrome/app/settings_strings.grdp
|
||||
diff --git a/chrome/browser/extensions/api/settings_private/prefs_util.cc b/chrome/browser/extensions/api/settings_private/prefs_util.cc
|
||||
--- a/chrome/browser/extensions/api/settings_private/prefs_util.cc
|
||||
+++ b/chrome/browser/extensions/api/settings_private/prefs_util.cc
|
||||
@@ -415,6 +415,7 @@ const PrefsUtil::TypedPrefMap& PrefsUtil::GetAllowlistedKeys() {
|
||||
@@ -419,6 +419,7 @@ const PrefsUtil::TypedPrefMap& PrefsUtil::GetAllowlistedKeys() {
|
||||
(*s_allowlist)[::prefs::kTrackingProtectionLevel] =
|
||||
settings_api::PrefType::kNumber;
|
||||
(*s_allowlist)[::prefs::kEnableDoNotTrack] = settings_api::PrefType::kBoolean;
|
||||
@@ -240,10 +240,10 @@ diff --git a/chrome/browser/extensions/api/settings_private/prefs_util.cc b/chro
|
||||
diff --git a/chrome/browser/renderer_preferences_util.cc b/chrome/browser/renderer_preferences_util.cc
|
||||
--- a/chrome/browser/renderer_preferences_util.cc
|
||||
+++ b/chrome/browser/renderer_preferences_util.cc
|
||||
@@ -146,6 +146,9 @@ void UpdateFromSystemSettings(blink::RendererPreferences* prefs,
|
||||
@@ -152,6 +152,9 @@ void UpdateFromSystemSettings(blink::RendererPreferences* prefs,
|
||||
prefs->referrers_policy = pref_service->GetInteger(prefs::kReferrersPolicy);
|
||||
prefs->enable_do_not_track =
|
||||
TrackingProtectionSettingsFactory::GetForProfile(profile)
|
||||
->IsDoNotTrackEnabled();
|
||||
pref_service->GetBoolean(prefs::kEnableDoNotTrack);
|
||||
+ prefs->enable_gpc =
|
||||
+ TrackingProtectionSettingsFactory::GetForProfile(profile)
|
||||
+ ->IsGPCEnabled();
|
||||
@@ -253,10 +253,10 @@ diff --git a/chrome/browser/renderer_preferences_util.cc b/chrome/browser/render
|
||||
diff --git a/chrome/browser/resources/settings/BUILD.gn b/chrome/browser/resources/settings/BUILD.gn
|
||||
--- a/chrome/browser/resources/settings/BUILD.gn
|
||||
+++ b/chrome/browser/resources/settings/BUILD.gn
|
||||
@@ -130,6 +130,7 @@ build_webui("build") {
|
||||
@@ -129,6 +129,7 @@ build_webui("build") {
|
||||
"performance_page/tab_discard/exception_tabbed_add_dialog.ts",
|
||||
"privacy_page/cookies_page.ts",
|
||||
"privacy_page/do_not_track_toggle.ts",
|
||||
"privacy_page/incognito_tracking_protections_page.ts",
|
||||
+ "privacy_page/gpc_toggle.ts",
|
||||
"privacy_page/personalization_options.ts",
|
||||
"privacy_page/privacy_guide/privacy_guide_ad_topics_fragment.ts",
|
||||
@@ -264,7 +264,7 @@ diff --git a/chrome/browser/resources/settings/BUILD.gn b/chrome/browser/resourc
|
||||
diff --git a/chrome/browser/resources/settings/privacy_page/cookies_page.html b/chrome/browser/resources/settings/privacy_page/cookies_page.html
|
||||
--- a/chrome/browser/resources/settings/privacy_page/cookies_page.html
|
||||
+++ b/chrome/browser/resources/settings/privacy_page/cookies_page.html
|
||||
@@ -205,6 +205,8 @@
|
||||
@@ -206,6 +206,8 @@
|
||||
</template>
|
||||
<settings-do-not-track-toggle id="doNotTrack" prefs="{{prefs}}">
|
||||
</settings-do-not-track-toggle>
|
||||
@@ -276,7 +276,7 @@ diff --git a/chrome/browser/resources/settings/privacy_page/cookies_page.html b/
|
||||
diff --git a/chrome/browser/resources/settings/privacy_page/cookies_page.ts b/chrome/browser/resources/settings/privacy_page/cookies_page.ts
|
||||
--- a/chrome/browser/resources/settings/privacy_page/cookies_page.ts
|
||||
+++ b/chrome/browser/resources/settings/privacy_page/cookies_page.ts
|
||||
@@ -20,6 +20,7 @@ import '../privacy_icons.html.js';
|
||||
@@ -22,6 +22,7 @@ import '../privacy_icons.html.js';
|
||||
import '../settings_page/settings_subpage.js';
|
||||
import '../settings_shared.css.js';
|
||||
import '../site_settings/site_list.js';
|
||||
@@ -461,7 +461,7 @@ new file mode 100644
|
||||
diff --git a/chrome/browser/ui/prefs/pref_watcher.cc b/chrome/browser/ui/prefs/pref_watcher.cc
|
||||
--- a/chrome/browser/ui/prefs/pref_watcher.cc
|
||||
+++ b/chrome/browser/ui/prefs/pref_watcher.cc
|
||||
@@ -175,6 +175,10 @@ void PrefWatcher::OnDoNotTrackEnabledChanged() {
|
||||
@@ -199,6 +199,10 @@ void PrefWatcher::OnNativeThemeUpdated(ui::NativeTheme* observed_theme) {
|
||||
UpdateRendererPreferences();
|
||||
}
|
||||
|
||||
@@ -475,18 +475,19 @@ diff --git a/chrome/browser/ui/prefs/pref_watcher.cc b/chrome/browser/ui/prefs/p
|
||||
diff --git a/chrome/browser/ui/prefs/pref_watcher.h b/chrome/browser/ui/prefs/pref_watcher.h
|
||||
--- a/chrome/browser/ui/prefs/pref_watcher.h
|
||||
+++ b/chrome/browser/ui/prefs/pref_watcher.h
|
||||
@@ -44,6 +44,7 @@ class PrefWatcher : public KeyedService,
|
||||
@@ -41,6 +41,8 @@ class PrefWatcher : public KeyedService,
|
||||
// ui::NativeThemeObserver:
|
||||
void OnNativeThemeUpdated(ui::NativeTheme* observed_theme) override;
|
||||
|
||||
void OnDoNotTrackEnabledChanged() override;
|
||||
+ void OnGPCEnabledChanged() override;
|
||||
|
||||
+
|
||||
void UpdateRendererPreferences();
|
||||
void OnWebPrefChanged(const std::string& pref_name);
|
||||
void OnLiveCaptionEnabledPrefChanged(const std::string& pref_name);
|
||||
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
|
||||
@@ -2140,6 +2140,9 @@ void AddPrivacyStrings(content::WebUIDataSource* html_source,
|
||||
@@ -2166,6 +2166,9 @@ void AddPrivacyStrings(content::WebUIDataSource* html_source,
|
||||
{"doNotTrackDialogMessage", IDS_SETTINGS_ENABLE_DO_NOT_TRACK_DIALOG_TEXT},
|
||||
{"doNotTrackDialogLearnMoreA11yLabel",
|
||||
IDS_SETTINGS_ENABLE_DO_NOT_TRACK_DIALOG_LEARN_MORE_ACCESSIBILITY_LABEL},
|
||||
@@ -499,7 +500,7 @@ diff --git a/chrome/browser/ui/webui/settings/settings_localized_strings_provide
|
||||
diff --git a/components/privacy_sandbox/tracking_protection_prefs.cc b/components/privacy_sandbox/tracking_protection_prefs.cc
|
||||
--- a/components/privacy_sandbox/tracking_protection_prefs.cc
|
||||
+++ b/components/privacy_sandbox/tracking_protection_prefs.cc
|
||||
@@ -17,6 +17,7 @@ void RegisterProfilePrefs(PrefRegistrySimple* registry) {
|
||||
@@ -16,6 +16,7 @@ void RegisterProfilePrefs(PrefRegistrySimple* registry) {
|
||||
registry->RegisterBooleanPref(
|
||||
prefs::kFingerprintingProtectionEnabled, true,
|
||||
user_prefs::PrefRegistrySyncable::SYNCABLE_PREF);
|
||||
@@ -510,9 +511,9 @@ diff --git a/components/privacy_sandbox/tracking_protection_prefs.cc b/component
|
||||
diff --git a/components/privacy_sandbox/tracking_protection_prefs.h b/components/privacy_sandbox/tracking_protection_prefs.h
|
||||
--- a/components/privacy_sandbox/tracking_protection_prefs.h
|
||||
+++ b/components/privacy_sandbox/tracking_protection_prefs.h
|
||||
@@ -108,6 +108,8 @@ inline constexpr char kFingerprintingProtectionEnabled[] =
|
||||
// Whether to send the DNT header.
|
||||
inline constexpr char kEnableDoNotTrack[] = "enable_do_not_track";
|
||||
@@ -101,6 +101,8 @@ inline constexpr char kIpProtectionInitializedByDogfood[] =
|
||||
inline constexpr char kFingerprintingProtectionEnabled[] =
|
||||
"tracking_protection.fingerprinting_protection_enabled";
|
||||
|
||||
+inline constexpr char kEnableGPC[] = "enable_gpc";
|
||||
+
|
||||
@@ -524,7 +525,7 @@ diff --git a/components/privacy_sandbox/tracking_protection_settings.cc b/compon
|
||||
+++ b/components/privacy_sandbox/tracking_protection_settings.cc
|
||||
@@ -48,6 +48,11 @@ TrackingProtectionSettings::TrackingProtectionSettings(
|
||||
base::BindRepeating(
|
||||
&TrackingProtectionSettings::OnDoNotTrackEnabledPrefChanged,
|
||||
&TrackingProtectionSettings::OnIpProtectionPrefChanged,
|
||||
base::Unretained(this)));
|
||||
+ pref_change_registrar_.Add(
|
||||
+ prefs::kEnableGPC,
|
||||
@@ -532,9 +533,9 @@ diff --git a/components/privacy_sandbox/tracking_protection_settings.cc b/compon
|
||||
+ &TrackingProtectionSettings::OnGPCEnabledPrefChanged,
|
||||
+ base::Unretained(this)));
|
||||
pref_change_registrar_.Add(
|
||||
prefs::kIpProtectionEnabled,
|
||||
prefs::kBlockAll3pcToggleEnabled,
|
||||
base::BindRepeating(
|
||||
@@ -218,6 +223,16 @@ void TrackingProtectionSettings::OnDoNotTrackEnabledPrefChanged() {
|
||||
@@ -135,6 +140,16 @@ void TrackingProtectionSettings::OnEnterpriseControlForPrefsChanged() {
|
||||
}
|
||||
}
|
||||
|
||||
@@ -554,19 +555,19 @@ diff --git a/components/privacy_sandbox/tracking_protection_settings.cc b/compon
|
||||
diff --git a/components/privacy_sandbox/tracking_protection_settings.h b/components/privacy_sandbox/tracking_protection_settings.h
|
||||
--- a/components/privacy_sandbox/tracking_protection_settings.h
|
||||
+++ b/components/privacy_sandbox/tracking_protection_settings.h
|
||||
@@ -65,6 +65,8 @@ class TrackingProtectionSettings : public KeyedService,
|
||||
// Returns whether "do not track" is enabled.
|
||||
bool IsDoNotTrackEnabled() const;
|
||||
@@ -49,6 +49,8 @@ class TrackingProtectionSettings : public KeyedService {
|
||||
void AddObserver(TrackingProtectionSettingsObserver* observer);
|
||||
void RemoveObserver(TrackingProtectionSettingsObserver* observer);
|
||||
|
||||
+ bool IsGPCEnabled() const;
|
||||
+
|
||||
// Returns whether tracking protection for 3PCD (prefs + UX) is enabled.
|
||||
bool IsTrackingProtection3pcdEnabled() const;
|
||||
|
||||
@@ -111,6 +113,7 @@ class TrackingProtectionSettings : public KeyedService,
|
||||
@@ -70,6 +72,7 @@ class TrackingProtectionSettings : public KeyedService {
|
||||
void OnEnterpriseControlForPrefsChanged();
|
||||
|
||||
// Callbacks for pref observation.
|
||||
void OnDoNotTrackEnabledPrefChanged();
|
||||
+ void OnGPCEnabledPrefChanged();
|
||||
void OnBlockAllThirdPartyCookiesPrefChanged();
|
||||
void OnTrackingProtection3pcdPrefChanged();
|
||||
@@ -574,9 +575,9 @@ diff --git a/components/privacy_sandbox/tracking_protection_settings.h b/compone
|
||||
diff --git a/components/privacy_sandbox/tracking_protection_settings_observer.h b/components/privacy_sandbox/tracking_protection_settings_observer.h
|
||||
--- a/components/privacy_sandbox/tracking_protection_settings_observer.h
|
||||
+++ b/components/privacy_sandbox/tracking_protection_settings_observer.h
|
||||
@@ -24,6 +24,8 @@ class TrackingProtectionSettingsObserver {
|
||||
// For observation of DNT.
|
||||
virtual void OnDoNotTrackEnabledChanged() {}
|
||||
@@ -21,6 +21,8 @@ class TrackingProtectionSettingsObserver {
|
||||
|
||||
virtual ~TrackingProtectionSettingsObserver() = default;
|
||||
|
||||
+ virtual void OnGPCEnabledChanged() {}
|
||||
+
|
||||
@@ -602,7 +603,7 @@ diff --git a/content/browser/loader/browser_initiated_resource_request.cc b/cont
|
||||
diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_frame_impl.cc
|
||||
--- a/content/renderer/render_frame_impl.cc
|
||||
+++ b/content/renderer/render_frame_impl.cc
|
||||
@@ -4403,6 +4403,10 @@ void RenderFrameImpl::FinalizeRequestInternal(
|
||||
@@ -4458,6 +4458,10 @@ void RenderFrameImpl::FinalizeRequestInternal(
|
||||
request.SetHttpHeaderField(
|
||||
blink::WebString::FromUTF8(blink::kDoNotTrackHeader), "1");
|
||||
}
|
||||
@@ -686,7 +687,7 @@ diff --git a/third_party/blink/public/mojom/renderer_preferences.mojom b/third_p
|
||||
diff --git a/third_party/blink/renderer/bindings/idl_in_modules.gni b/third_party/blink/renderer/bindings/idl_in_modules.gni
|
||||
--- a/third_party/blink/renderer/bindings/idl_in_modules.gni
|
||||
+++ b/third_party/blink/renderer/bindings/idl_in_modules.gni
|
||||
@@ -1283,6 +1283,11 @@ static_idl_files_in_modules = [
|
||||
@@ -1276,6 +1276,11 @@ static_idl_files_in_modules = [
|
||||
"//third_party/blink/renderer/modules/xr/xr_webgl_sub_image.idl",
|
||||
]
|
||||
|
||||
@@ -701,7 +702,7 @@ diff --git a/third_party/blink/renderer/bindings/idl_in_modules.gni b/third_part
|
||||
diff --git a/third_party/blink/renderer/core/exported/web_view_impl.cc b/third_party/blink/renderer/core/exported/web_view_impl.cc
|
||||
--- a/third_party/blink/renderer/core/exported/web_view_impl.cc
|
||||
+++ b/third_party/blink/renderer/core/exported/web_view_impl.cc
|
||||
@@ -3620,6 +3620,9 @@ void WebViewImpl::UpdateRendererPreferences(
|
||||
@@ -3605,6 +3605,9 @@ void WebViewImpl::UpdateRendererPreferences(
|
||||
GetSettings()->SetCaretBrowsingEnabled(
|
||||
renderer_preferences_.caret_browsing_enabled);
|
||||
|
||||
@@ -714,7 +715,7 @@ diff --git a/third_party/blink/renderer/core/exported/web_view_impl.cc b/third_p
|
||||
diff --git a/third_party/blink/renderer/modules/BUILD.gn b/third_party/blink/renderer/modules/BUILD.gn
|
||||
--- a/third_party/blink/renderer/modules/BUILD.gn
|
||||
+++ b/third_party/blink/renderer/modules/BUILD.gn
|
||||
@@ -169,6 +169,10 @@ component("modules") {
|
||||
@@ -167,6 +167,10 @@ component("modules") {
|
||||
"//third_party/blink/renderer/modules/xr",
|
||||
]
|
||||
|
||||
@@ -826,7 +827,7 @@ diff --git a/third_party/blink/renderer/platform/loader/fetch/url_loader/dedicat
|
||||
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
|
||||
@@ -3267,6 +3267,11 @@
|
||||
@@ -3374,6 +3374,11 @@
|
||||
status: "stable",
|
||||
base_feature: "none",
|
||||
},
|
||||
|
||||
@@ -16,7 +16,7 @@ Original License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.
|
||||
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
---
|
||||
.../settings/PasswordSettings.java | 84 ++++++++++++++++++-
|
||||
.../chrome/browser/settings/MainSettings.java | 16 +---
|
||||
.../chrome/browser/settings/MainSettings.java | 17 +---
|
||||
.../chromium/chrome/browser/tab/TabImpl.java | 42 ++++++++--
|
||||
chrome/browser/android/tab_android.cc | 4 +-
|
||||
chrome/browser/autofill/android/BUILD.gn | 2 +-
|
||||
@@ -42,10 +42,9 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
.../browser/foundations/autofill_manager.h | 2 +
|
||||
.../foundations/browser_autofill_manager.cc | 2 +
|
||||
.../foundations/browser_autofill_manager.h | 2 +
|
||||
.../autofill/core/common/autofill_features.cc | 1 -
|
||||
.../autofill/core/common/autofill_prefs.cc | 4 +-
|
||||
.../autofill/core/common/autofill_prefs.h | 5 ++
|
||||
30 files changed, 238 insertions(+), 121 deletions(-)
|
||||
29 files changed, 238 insertions(+), 121 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
|
||||
@@ -187,7 +186,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
|
||||
@@ -465,20 +465,8 @@ public class MainSettings extends ChromeBaseSettingsFragment
|
||||
@@ -579,21 +579,8 @@ public class MainSettings extends ChromeBaseSettingsFragment
|
||||
}
|
||||
|
||||
private void updateAutofillPreferences() {
|
||||
@@ -196,7 +195,8 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/MainSe
|
||||
- Preference autofillOptionsPreference = findPreference(PREF_AUTOFILL_OPTIONS);
|
||||
- autofillOptionsPreference.setFragment(null);
|
||||
- autofillOptionsPreference.setOnPreferenceClickListener(
|
||||
- unused -> {
|
||||
- preference -> {
|
||||
- onPreferenceSelected(preference);
|
||||
- SettingsNavigationFactory.createSettingsNavigation()
|
||||
- .startSettings(
|
||||
- getContext(),
|
||||
@@ -209,7 +209,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/MainSe
|
||||
+ removePreferenceIfPresent(PREF_AUTOFILL_OPTIONS);
|
||||
findPreference(PREF_AUTOFILL_PAYMENTS)
|
||||
.setOnPreferenceClickListener(
|
||||
preference ->
|
||||
preference -> {
|
||||
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
|
||||
@@ -227,19 +227,19 @@ 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.
|
||||
@@ -1269,6 +1276,11 @@ class TabImpl implements Tab {
|
||||
for (TabObserver observer : mObservers) observer.onDestroyed(this);
|
||||
mObservers.clear();
|
||||
@@ -1286,6 +1293,11 @@ class TabImpl implements Tab {
|
||||
}
|
||||
|
||||
mObservers.clear();
|
||||
+ if (mAutofillProvider != null) {
|
||||
+ mAutofillProvider.destroy();
|
||||
+ mAutofillProvider = null;
|
||||
+ }
|
||||
+
|
||||
mUserDataHost.destroy();
|
||||
if (!abortNavigationsFromTabClosures) mUserDataHost.destroy();
|
||||
mTabViewManager.destroy();
|
||||
hideNativePage(false, null);
|
||||
@@ -1612,7 +1624,7 @@ class TabImpl implements Tab {
|
||||
@@ -1636,7 +1648,7 @@ class TabImpl implements Tab {
|
||||
* @return iff the AutofillProvider should provide a ViewStructure when prompted.
|
||||
*/
|
||||
boolean providesAutofillStructure() {
|
||||
@@ -248,7 +248,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.jav
|
||||
if (mProfile == null || !mProfile.isNativeInitialized()) {
|
||||
return false;
|
||||
}
|
||||
@@ -2378,16 +2390,21 @@ class TabImpl implements Tab {
|
||||
@@ -2402,16 +2414,21 @@ class TabImpl implements Tab {
|
||||
* @return true if the the provider is available for the given WebContents.
|
||||
*/
|
||||
private boolean prepareAutofillProvider(WebContents newWebContents) {
|
||||
@@ -276,7 +276,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.jav
|
||||
// TODO: crbug.com/432447902 — Provide only an activity context and push changes.
|
||||
mAutofillProvider =
|
||||
new AutofillProvider(
|
||||
@@ -2397,7 +2414,16 @@ class TabImpl implements Tab {
|
||||
@@ -2421,7 +2438,16 @@ class TabImpl implements Tab {
|
||||
getContext().getString(R.string.app_name));
|
||||
TabImplJni.get().initializeAutofillIfNecessary(mNativeTabAndroid);
|
||||
}
|
||||
@@ -305,7 +305,7 @@ diff --git a/chrome/browser/android/tab_android.cc b/chrome/browser/android/tab_
|
||||
#include "chrome/browser/ui/android/context_menu_helper.h"
|
||||
#include "chrome/browser/ui/android/tab_model/tab_model.h"
|
||||
#include "chrome/browser/ui/android/tab_model/tab_model_list.h"
|
||||
@@ -447,8 +448,7 @@ void TabAndroid::InitializeAutofillIfNecessary(JNIEnv* env) {
|
||||
@@ -451,8 +452,7 @@ void TabAndroid::InitializeAutofillIfNecessary(JNIEnv* env) {
|
||||
->MaybeInitKeyboardSuppressor();
|
||||
return;
|
||||
}
|
||||
@@ -318,7 +318,7 @@ diff --git a/chrome/browser/android/tab_android.cc b/chrome/browser/android/tab_
|
||||
diff --git a/chrome/browser/autofill/android/BUILD.gn b/chrome/browser/autofill/android/BUILD.gn
|
||||
--- a/chrome/browser/autofill/android/BUILD.gn
|
||||
+++ b/chrome/browser/autofill/android/BUILD.gn
|
||||
@@ -161,7 +161,7 @@ android_library("bottom_sheet_utils_java") {
|
||||
@@ -164,7 +164,7 @@ android_library("bottom_sheet_utils_java") {
|
||||
generate_jni("jni_headers") {
|
||||
sources = [
|
||||
"java/src/org/chromium/chrome/browser/autofill/AddressNormalizerFactory.java",
|
||||
@@ -355,7 +355,7 @@ diff --git a/chrome/browser/autofill/android/java/src/org/chromium/chrome/browse
|
||||
diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||
--- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||
+++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||
@@ -317,6 +317,12 @@ CHAR_LIMIT guidelines:
|
||||
@@ -329,6 +329,12 @@ CHAR_LIMIT guidelines:
|
||||
<message name="IDS_PREFS_SECTION_ACCOUNT_AND_GOOGLE_SERVICES" desc="Title for the group of account-related entries and google services in Settings. [CHAR_LIMIT=32]">
|
||||
You and Google
|
||||
</message>
|
||||
@@ -382,8 +382,9 @@ diff --git a/chrome/browser/ui/autofill/autofill_client_provider.cc b/chrome/bro
|
||||
|
||||
namespace autofill {
|
||||
-namespace {
|
||||
-
|
||||
-#if BUILDFLAG(IS_ANDROID)
|
||||
|
||||
+AutofillClientProvider::AutofillClientProvider(PrefService* prefs) {
|
||||
#if BUILDFLAG(IS_ANDROID)
|
||||
-void RecordAvailabilityStatus(AndroidAutofillAvailabilityStatus availability) {
|
||||
- base::UmaHistogramEnumeration("Autofill.AndroidAutofillAvailabilityStatus",
|
||||
- availability);
|
||||
@@ -441,14 +442,13 @@ 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)
|
||||
- : uses_platform_autofill_(
|
||||
- UsesVirtualViewStructureForAutofill(CHECK_DEREF(prefs))) {
|
||||
+AutofillClientProvider::AutofillClientProvider(PrefService* prefs) {
|
||||
#if BUILDFLAG(IS_ANDROID)
|
||||
-#if BUILDFLAG(IS_ANDROID)
|
||||
- RecordWhetherAndroidPrefResets(*prefs, uses_platform_autofill_);
|
||||
- // Ensure the pref is reset if platform autofill is restricted.
|
||||
prefs->SetBoolean(prefs::kAutofillUsingVirtualViewStructure,
|
||||
@@ -495,7 +495,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
|
||||
@@ -406,9 +406,7 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) {
|
||||
@@ -375,9 +375,7 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) {
|
||||
web_contents);
|
||||
ChainedBackNavigationTracker::CreateForWebContents(web_contents);
|
||||
chrome_browser_net::NetErrorTabHelper::CreateForWebContents(web_contents);
|
||||
@@ -649,7 +649,7 @@ 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
|
||||
@@ -275,6 +275,13 @@ void RouteToManager(ContentAutofillDriver& source,
|
||||
@@ -277,6 +277,13 @@ void RouteToManager(ContentAutofillDriver& source,
|
||||
AutofillManager& manager = target.GetAutofillManager();
|
||||
(manager.*
|
||||
manager_fun)(WithNewVersion(std::forward<ManagerArgs>(args))...);
|
||||
@@ -663,7 +663,7 @@ diff --git a/components/autofill/content/browser/content_autofill_driver.cc b/co
|
||||
},
|
||||
source, Lift(source, std::forward<ActualArgs>(args))...);
|
||||
}
|
||||
@@ -665,6 +672,10 @@ ContentAutofillDriver::GetAutofillAgent() {
|
||||
@@ -679,6 +686,10 @@ ContentAutofillDriver::GetAutofillAgent() {
|
||||
return autofill_agent_;
|
||||
}
|
||||
|
||||
@@ -690,7 +690,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_;
|
||||
@@ -310,6 +316,10 @@ class ContentAutofillDriver : public AutofillDriver,
|
||||
@@ -312,6 +318,10 @@ class ContentAutofillDriver : public AutofillDriver,
|
||||
// The factory that created this driver. Outlives `this`.
|
||||
const raw_ref<ContentAutofillDriverFactory> owner_;
|
||||
|
||||
@@ -733,7 +733,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
|
||||
@@ -1547,14 +1547,19 @@ void AutofillAgent::ShowSuggestions(
|
||||
@@ -1403,14 +1403,19 @@ void AutofillAgent::ShowSuggestions(
|
||||
password_generation_agent_->ShowPasswordGenerationSuggestions(
|
||||
input_element, form_cache)) {
|
||||
is_popup_possibly_visible_ = true;
|
||||
@@ -756,7 +756,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
|
||||
@@ -851,7 +851,10 @@ void PasswordAutofillAgent::UpdatePasswordStateForTextChange(
|
||||
@@ -852,7 +852,10 @@ void PasswordAutofillAgent::UpdatePasswordStateForTextChange(
|
||||
|
||||
void PasswordAutofillAgent::TrackAutofilledElement(
|
||||
const WebFormControlElement& element) {
|
||||
@@ -771,7 +771,7 @@ diff --git a/components/autofill/content/renderer/password_autofill_agent.cc b/c
|
||||
diff --git a/components/autofill/core/browser/foundations/autofill_driver.h b/components/autofill/core/browser/foundations/autofill_driver.h
|
||||
--- a/components/autofill/core/browser/foundations/autofill_driver.h
|
||||
+++ b/components/autofill/core/browser/foundations/autofill_driver.h
|
||||
@@ -151,6 +151,8 @@ class AutofillDriver {
|
||||
@@ -172,6 +172,8 @@ class AutofillDriver {
|
||||
// Returns the AutofillManager owned by the AutofillDriver.
|
||||
virtual AutofillManager& GetAutofillManager() = 0;
|
||||
|
||||
@@ -797,7 +797,7 @@ diff --git a/components/autofill/core/browser/foundations/autofill_driver_factor
|
||||
diff --git a/components/autofill/core/browser/foundations/autofill_manager.h b/components/autofill/core/browser/foundations/autofill_manager.h
|
||||
--- a/components/autofill/core/browser/foundations/autofill_manager.h
|
||||
+++ b/components/autofill/core/browser/foundations/autofill_manager.h
|
||||
@@ -238,6 +238,8 @@ class AutofillManager
|
||||
@@ -239,6 +239,8 @@ class AutofillManager
|
||||
LifecycleState new_state,
|
||||
base::PassKey<AutofillDriverFactory> pass_key);
|
||||
|
||||
@@ -809,15 +809,15 @@ diff --git a/components/autofill/core/browser/foundations/autofill_manager.h b/c
|
||||
diff --git a/components/autofill/core/browser/foundations/browser_autofill_manager.cc b/components/autofill/core/browser/foundations/browser_autofill_manager.cc
|
||||
--- a/components/autofill/core/browser/foundations/browser_autofill_manager.cc
|
||||
+++ b/components/autofill/core/browser/foundations/browser_autofill_manager.cc
|
||||
@@ -828,6 +828,8 @@ base::WeakPtr<AutofillManager> BrowserAutofillManager::GetWeakPtr() {
|
||||
@@ -811,6 +811,8 @@ base::WeakPtr<AutofillManager> BrowserAutofillManager::GetWeakPtr() {
|
||||
return weak_ptr_factory_.GetWeakPtr();
|
||||
}
|
||||
|
||||
+bool BrowserAutofillManager::IsAndroidAutofill() const { return false; }
|
||||
+
|
||||
CreditCardAccessManager& BrowserAutofillManager::GetCreditCardAccessManager() {
|
||||
CreditCardAccessManager* BrowserAutofillManager::GetCreditCardAccessManager() {
|
||||
if (!credit_card_access_manager_) {
|
||||
credit_card_access_manager_ = std::make_unique<CreditCardAccessManager>(
|
||||
credit_card_access_manager_ =
|
||||
diff --git a/components/autofill/core/browser/foundations/browser_autofill_manager.h b/components/autofill/core/browser/foundations/browser_autofill_manager.h
|
||||
--- a/components/autofill/core/browser/foundations/browser_autofill_manager.h
|
||||
+++ b/components/autofill/core/browser/foundations/browser_autofill_manager.h
|
||||
@@ -830,21 +830,10 @@ diff --git a/components/autofill/core/browser/foundations/browser_autofill_manag
|
||||
// Whether the `trigger_field` should show an entry to scan a credit card.
|
||||
bool ShouldShowScanCreditCard(const FormStructure& form,
|
||||
const AutofillField& trigger_field);
|
||||
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
|
||||
@@ -871,7 +871,6 @@ BASE_FEATURE(kAutofillEnableSecurityTouchEventFilteringAndroid,
|
||||
// virtual view structures to third party providers.
|
||||
BASE_FEATURE(kAutofillThirdPartyModeContentProvider,
|
||||
base::FEATURE_ENABLED_BY_DEFAULT);
|
||||
-
|
||||
#endif // BUILDFLAG(IS_ANDROID)
|
||||
|
||||
// Defines if the "Your Saved Info" page is eligible to be shown in Chrome
|
||||
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
|
||||
@@ -75,6 +75,8 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry) {
|
||||
@@ -78,6 +78,8 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry) {
|
||||
registry->RegisterBooleanPref(kAutofillCreditCardFidoAuthOfferCheckboxState,
|
||||
true);
|
||||
#endif
|
||||
@@ -853,7 +842,7 @@ diff --git a/components/autofill/core/common/autofill_prefs.cc b/components/auto
|
||||
registry->RegisterIntegerPref(kAutocompleteLastVersionRetentionPolicy, 0);
|
||||
registry->RegisterStringPref(kAutofillUploadEncodingSeed, "");
|
||||
registry->RegisterDictionaryPref(kAutofillVoteUploadEvents);
|
||||
@@ -114,7 +116,7 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry) {
|
||||
@@ -117,7 +119,7 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry) {
|
||||
#endif // BUILDFLAG(IS_ANDROID)
|
||||
|
||||
#if BUILDFLAG(IS_ANDROID)
|
||||
@@ -865,7 +854,7 @@ diff --git a/components/autofill/core/common/autofill_prefs.cc b/components/auto
|
||||
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
|
||||
@@ -140,6 +140,11 @@ inline constexpr char kAutofillWasNameAndEmailProfileUsed[] =
|
||||
@@ -151,6 +151,11 @@ inline constexpr char kAutofillWasNameAndEmailProfileUsed[] =
|
||||
// retention policy was run.
|
||||
inline constexpr char kAutocompleteLastVersionRetentionPolicy[] =
|
||||
"autocomplete.retention_policy_last_version";
|
||||
@@ -875,6 +864,6 @@ diff --git a/components/autofill/core/common/autofill_prefs.h b/components/autof
|
||||
+inline constexpr char kAutofillAndroidIncognitoEnabled[] =
|
||||
+ "autofill.android_autofill_incognito_enabled";
|
||||
#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_ANDROID) || \
|
||||
BUILDFLAG(IS_IOS)
|
||||
BUILDFLAG(IS_IOS) || BUILDFLAG(IS_CHROMEOS)
|
||||
// Boolean that is set when payment methods mandatory re-auth is enabled by the
|
||||
--
|
||||
|
||||
@@ -6,8 +6,8 @@ Allows swipe of snackbar notifications
|
||||
|
||||
License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
||||
---
|
||||
.../ui/messages/snackbar/SnackbarView.java | 78 ++++++++++++++++++-
|
||||
1 file changed, 76 insertions(+), 2 deletions(-)
|
||||
.../ui/messages/snackbar/SnackbarView.java | 84 +++++++++++++++++--
|
||||
1 file changed, 76 insertions(+), 8 deletions(-)
|
||||
|
||||
diff --git a/chrome/browser/ui/messages/android/java/src/org/chromium/chrome/browser/ui/messages/snackbar/SnackbarView.java b/chrome/browser/ui/messages/android/java/src/org/chromium/chrome/browser/ui/messages/snackbar/SnackbarView.java
|
||||
--- a/chrome/browser/ui/messages/android/java/src/org/chromium/chrome/browser/ui/messages/snackbar/SnackbarView.java
|
||||
@@ -24,7 +24,7 @@ diff --git a/chrome/browser/ui/messages/android/java/src/org/chromium/chrome/bro
|
||||
import android.view.Gravity;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.SurfaceView;
|
||||
@@ -34,6 +36,9 @@ import org.chromium.chrome.browser.ui.edge_to_edge.EdgeToEdgeController;
|
||||
@@ -33,6 +35,9 @@ import org.chromium.chrome.browser.ui.edge_to_edge.EdgeToEdgeController;
|
||||
import org.chromium.chrome.browser.ui.edge_to_edge.EdgeToEdgeControllerFactory;
|
||||
import org.chromium.chrome.ui.messages.R;
|
||||
import org.chromium.components.browser_ui.styles.SemanticColorUtils;
|
||||
@@ -34,7 +34,7 @@ diff --git a/chrome/browser/ui/messages/android/java/src/org/chromium/chrome/bro
|
||||
import org.chromium.components.browser_ui.widget.text.TemplatePreservingTextView;
|
||||
import org.chromium.ui.base.WindowAndroid;
|
||||
import org.chromium.ui.edge_to_edge.EdgeToEdgePadAdjuster;
|
||||
@@ -47,7 +52,7 @@ import org.chromium.ui.interpolators.Interpolators;
|
||||
@@ -46,7 +51,7 @@ import org.chromium.ui.interpolators.Interpolators;
|
||||
// TODO (jianli): Change this class and its methods back to package protected after the offline
|
||||
// indicator experiment is done.
|
||||
@NullMarked
|
||||
@@ -43,7 +43,7 @@ diff --git a/chrome/browser/ui/messages/android/java/src/org/chromium/chrome/bro
|
||||
private static final int MAX_LINES = 5;
|
||||
private static final int DEFAULT_LINES = 2;
|
||||
|
||||
@@ -89,6 +94,16 @@ public class SnackbarView implements InsetObserver.WindowInsetObserver {
|
||||
@@ -88,6 +93,16 @@ public class SnackbarView implements InsetObserver.WindowInsetObserver {
|
||||
}
|
||||
};
|
||||
|
||||
@@ -60,10 +60,16 @@ diff --git a/chrome/browser/ui/messages/android/java/src/org/chromium/chrome/bro
|
||||
/**
|
||||
* Creates an instance of the {@link SnackbarView}.
|
||||
*
|
||||
@@ -150,7 +165,12 @@ public class SnackbarView implements InsetObserver.WindowInsetObserver {
|
||||
@@ -147,13 +162,12 @@ public class SnackbarView implements InsetObserver.WindowInsetObserver {
|
||||
|
||||
// Make sure clicks are not consumed by content beneath the container view.
|
||||
mContainerView.setClickable(true);
|
||||
- mContainerView.setOnClickListener((event) -> manager.resetSnackbarTimeout());
|
||||
- mContainerView.setOnTouchListener(
|
||||
- (view, event) -> {
|
||||
- mContainerView.performClick();
|
||||
- return true;
|
||||
- });
|
||||
-
|
||||
+ mSwipeGestureListener = new SwipeGestureListenerImpl(mContainerView.getContext(), this);
|
||||
+ if (!snackbar.isTypePersistent()) {
|
||||
@@ -74,7 +80,7 @@ diff --git a/chrome/browser/ui/messages/android/java/src/org/chromium/chrome/bro
|
||||
mSnackbarView = mContainerView.findViewById(R.id.snackbar);
|
||||
mAnimationDuration =
|
||||
mContainerView.getResources().getInteger(android.R.integer.config_mediumAnimTime);
|
||||
@@ -505,4 +525,58 @@ public class SnackbarView implements InsetObserver.WindowInsetObserver {
|
||||
@@ -508,4 +522,58 @@ public class SnackbarView implements InsetObserver.WindowInsetObserver {
|
||||
public @Nullable EdgeToEdgePadAdjuster getEdgeToEdgePadAdjusterForTesting() {
|
||||
return mEdgeToEdgePadAdjuster;
|
||||
}
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -7,38 +7,32 @@ granted by user
|
||||
|
||||
License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
||||
---
|
||||
.../permissions/permission_service_impl.cc | 6 +++-
|
||||
.../permissions/permission_service_impl.cc | 1 -
|
||||
.../renderer_host/render_frame_host_impl.cc | 3 +-
|
||||
.../core/frame/cached_permission_status.cc | 2 +-
|
||||
.../core/frame/cached_permission_status.cc | 4 +--
|
||||
.../core/frame/cached_permission_status.h | 1 +
|
||||
.../blink/renderer/core/frame/screen.cc | 35 +++++++++++++++++--
|
||||
.../blink/renderer/core/frame/screen.h | 16 +++++++++
|
||||
6 files changed, 58 insertions(+), 5 deletions(-)
|
||||
.../blink/renderer/core/frame/screen.h | 17 ++++++++-
|
||||
6 files changed, 54 insertions(+), 7 deletions(-)
|
||||
|
||||
diff --git a/content/browser/permissions/permission_service_impl.cc b/content/browser/permissions/permission_service_impl.cc
|
||||
--- a/content/browser/permissions/permission_service_impl.cc
|
||||
+++ b/content/browser/permissions/permission_service_impl.cc
|
||||
@@ -388,8 +388,12 @@ void PermissionServiceImpl::AddPageEmbeddedPermissionObserver(
|
||||
@@ -384,7 +384,6 @@ void PermissionServiceImpl::AddPermissionObserver(
|
||||
ReceivedBadMessage();
|
||||
return;
|
||||
}
|
||||
+ bool should_include_device_status =
|
||||
+ PermissionUtil::IsDevicePermission(permission);
|
||||
PermissionResult current_result =
|
||||
- GetCombinedPermissionAndDeviceResult(permission);
|
||||
+ should_include_device_status
|
||||
+ ? GetCombinedPermissionAndDeviceResult(permission)
|
||||
+ : GetPermissionResultForCurrentContext(permission);
|
||||
-
|
||||
PermissionResult current_result = GetPermissionResult(permission);
|
||||
context_->CreateSubscription(
|
||||
permission, origin_, current_result, PermissionResult(last_known_status),
|
||||
/*should_include_device_status=*/true, std::move(observer));
|
||||
diff --git a/content/browser/renderer_host/render_frame_host_impl.cc b/content/browser/renderer_host/render_frame_host_impl.cc
|
||||
--- a/content/browser/renderer_host/render_frame_host_impl.cc
|
||||
+++ b/content/browser/renderer_host/render_frame_host_impl.cc
|
||||
@@ -19291,7 +19291,8 @@ RenderFrameHostImpl::GetCachedPermissionStatuses() {
|
||||
std::to_array<std::pair<PermissionName, PermissionType>>(
|
||||
{{PermissionName::VIDEO_CAPTURE, PermissionType::VIDEO_CAPTURE},
|
||||
{PermissionName::AUDIO_CAPTURE, PermissionType::AUDIO_CAPTURE},
|
||||
@@ -19186,7 +19186,8 @@ RenderFrameHostImpl::GetCachedPermissionStatuses() {
|
||||
{PermissionName::WEB_APP_INSTALLATION,
|
||||
PermissionType::WEB_APP_INSTALLATION},
|
||||
#endif
|
||||
- {PermissionName::GEOLOCATION, PermissionType::GEOLOCATION}});
|
||||
+ {PermissionName::GEOLOCATION, PermissionType::GEOLOCATION},
|
||||
+ {PermissionName::WINDOW_MANAGEMENT, PermissionType::WINDOW_MANAGEMENT}});
|
||||
@@ -48,19 +42,22 @@ diff --git a/content/browser/renderer_host/render_frame_host_impl.cc b/content/b
|
||||
diff --git a/third_party/blink/renderer/core/frame/cached_permission_status.cc b/third_party/blink/renderer/core/frame/cached_permission_status.cc
|
||||
--- a/third_party/blink/renderer/core/frame/cached_permission_status.cc
|
||||
+++ b/third_party/blink/renderer/core/frame/cached_permission_status.cc
|
||||
@@ -36,7 +36,7 @@ CachedPermissionStatus::CachedPermissionStatus(LocalDOMWindow* local_dom_window)
|
||||
@@ -32,9 +32,9 @@ CachedPermissionStatus::CachedPermissionStatus(LocalDOMWindow* local_dom_window)
|
||||
permission_service_(local_dom_window),
|
||||
permission_observer_receivers_(this, local_dom_window) {
|
||||
CHECK(local_dom_window);
|
||||
- CHECK(RuntimeEnabledFeatures::PermissionElementEnabled(local_dom_window));
|
||||
+ // CHECK(RuntimeEnabledFeatures::PermissionElementEnabled(local_dom_window)); see https://source.chromium.org/chromium/chromium/src/+/81a9e9b66a03e12cb438eef0834f5e5f7a0506ee
|
||||
- CHECK(RuntimeEnabledFeatures::PermissionElementEnabled(local_dom_window) ||
|
||||
+ // CHECK(RuntimeEnabledFeatures::PermissionElementEnabled(local_dom_window) ||
|
||||
RuntimeEnabledFeatures::GeolocationElementEnabled(local_dom_window) ||
|
||||
- RuntimeEnabledFeatures::UserMediaElementEnabled(local_dom_window));
|
||||
+ RuntimeEnabledFeatures::UserMediaElementEnabled(local_dom_window)); see https://source.chromium.org/chromium/chromium/src/+/81a9e9b66a03e12cb438eef0834f5e5f7a0506ee
|
||||
}
|
||||
|
||||
void CachedPermissionStatus::Trace(Visitor* visitor) const {
|
||||
diff --git a/third_party/blink/renderer/core/frame/cached_permission_status.h b/third_party/blink/renderer/core/frame/cached_permission_status.h
|
||||
--- a/third_party/blink/renderer/core/frame/cached_permission_status.h
|
||||
+++ b/third_party/blink/renderer/core/frame/cached_permission_status.h
|
||||
@@ -71,6 +71,7 @@ class CORE_EXPORT CachedPermissionStatus final
|
||||
@@ -68,6 +68,7 @@ class CORE_EXPORT CachedPermissionStatus final
|
||||
|
||||
private:
|
||||
friend class HTMLPermissionElement;
|
||||
@@ -133,10 +130,10 @@ diff --git a/third_party/blink/renderer/core/frame/screen.h b/third_party/blink/
|
||||
#include "third_party/blink/renderer/core/dom/events/event_target.h"
|
||||
#include "third_party/blink/renderer/core/execution_context/execution_context_lifecycle_observer.h"
|
||||
+#include "third_party/blink/renderer/core/frame/cached_permission_status.h"
|
||||
#include "third_party/blink/renderer/platform/heap/garbage_collected.h"
|
||||
#include "third_party/blink/renderer/platform/forward_declared_member.h"
|
||||
+#include "third_party/blink/public/mojom/permissions/permission.mojom-blink.h"
|
||||
+#include "third_party/blink/renderer/platform/mojo/heap_mojo_remote.h"
|
||||
#include "third_party/blink/renderer/platform/supplementable.h"
|
||||
#include "third_party/blink/renderer/platform/heap/garbage_collected.h"
|
||||
#include "third_party/blink/renderer/platform/wtf/text/atomic_string.h"
|
||||
#include "ui/gfx/geometry/rect.h"
|
||||
|
||||
@@ -145,15 +142,16 @@ diff --git a/third_party/blink/renderer/core/frame/screen.h b/third_party/blink/
|
||||
namespace display {
|
||||
struct ScreenInfo;
|
||||
}
|
||||
@@ -47,6 +52,7 @@ class LocalDOMWindow;
|
||||
@@ -46,7 +51,7 @@ namespace blink {
|
||||
class LocalDOMWindow;
|
||||
class ScreenScreenOrientation;
|
||||
|
||||
class CORE_EXPORT Screen : public EventTarget,
|
||||
public ExecutionContextClient,
|
||||
+ public CachedPermissionStatus::Client,
|
||||
public Supplementable<Screen> {
|
||||
-class CORE_EXPORT Screen : public EventTarget, public ExecutionContextClient {
|
||||
+class CORE_EXPORT Screen : public EventTarget, public CachedPermissionStatus::Client, public ExecutionContextClient {
|
||||
DEFINE_WRAPPERTYPEINFO();
|
||||
|
||||
@@ -89,8 +95,18 @@ class CORE_EXPORT Screen : public EventTarget,
|
||||
public:
|
||||
@@ -97,10 +102,20 @@ class CORE_EXPORT Screen : public EventTarget, public ExecutionContextClient {
|
||||
gfx::Rect GetRect(bool available) const;
|
||||
const display::ScreenInfo& GetScreenInfo() const;
|
||||
|
||||
@@ -166,6 +164,8 @@ diff --git a/third_party/blink/renderer/core/frame/screen.h b/third_party/blink/
|
||||
+
|
||||
// The internal id of the underlying display, to support multi-screen devices.
|
||||
int64_t display_id_;
|
||||
|
||||
ForwardDeclaredMember<ScreenScreenOrientation> screen_screen_orientation_;
|
||||
+
|
||||
+ private:
|
||||
+ bool window_management_permission_granted_ = false;
|
||||
|
||||
@@ -18,13 +18,12 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
.../layout/custom_useragent_preferences.xml | 106 ++++++++++
|
||||
.../android/java/res/xml/main_preferences.xml | 5 +
|
||||
.../java/res/xml/useragent_preferences.xml | 25 +++
|
||||
.../chrome/browser/app/ChromeActivity.java | 1 +
|
||||
.../chrome/browser/app/ChromeActivity.java | 5 +-
|
||||
.../init/ChromeBrowserInitializer.java | 3 +
|
||||
.../PrivacyPreferencesManagerImpl.java | 42 ++++
|
||||
.../settings/UserAgentPreferences.java | 189 ++++++++++++++++++
|
||||
.../browser/tab/RequestDesktopUtils.java | 1 +
|
||||
.../chromium/chrome/browser/tab/TabImpl.java | 64 +++++-
|
||||
.../chromium/chrome/browser/tab/TabUtils.java | 7 +-
|
||||
.../chromium/chrome/browser/tab/TabUtils.java | 8 +-
|
||||
.../browser/android/content/content_utils.cc | 32 ++-
|
||||
.../preferences/browser_prefs_android.cc | 7 +
|
||||
.../privacy_preferences_manager_impl.cc | 126 ++++++++++++
|
||||
@@ -35,6 +34,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
.../org/chromium/chrome/browser/tab/Tab.java | 2 +
|
||||
.../browser/tabwindow/TabWindowManager.java | 2 +
|
||||
.../tabwindow/TabWindowManagerImpl.java | 18 ++
|
||||
.../desktop_site/DesktopSiteUtils.java | 1 +
|
||||
.../strings/android_chrome_strings.grd | 26 +++
|
||||
chrome/common/pref_names.h | 8 +
|
||||
...omiteRequestDesktopSiteContentSetting.java | 76 +++++++
|
||||
@@ -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, 800 insertions(+), 17 deletions(-)
|
||||
36 files changed, 803 insertions(+), 19 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
|
||||
@@ -92,7 +92,7 @@ diff --git a/base/base_switches.h b/base/base_switches.h
|
||||
diff --git a/chrome/android/chrome_java_resources.gni b/chrome/android/chrome_java_resources.gni
|
||||
--- a/chrome/android/chrome_java_resources.gni
|
||||
+++ b/chrome/android/chrome_java_resources.gni
|
||||
@@ -665,6 +665,8 @@ chrome_java_resources = [
|
||||
@@ -684,6 +684,8 @@ chrome_java_resources = [
|
||||
"java/res/xml/search_widget_info.xml",
|
||||
"java/res/xml/tracing_preferences.xml",
|
||||
"java/res/xml/unified_account_settings_preferences.xml",
|
||||
@@ -104,7 +104,7 @@ diff --git a/chrome/android/chrome_java_resources.gni b/chrome/android/chrome_ja
|
||||
diff --git a/chrome/android/chrome_java_sources.gni b/chrome/android/chrome_java_sources.gni
|
||||
--- a/chrome/android/chrome_java_sources.gni
|
||||
+++ b/chrome/android/chrome_java_sources.gni
|
||||
@@ -919,6 +919,7 @@ chrome_java_sources = [
|
||||
@@ -932,6 +932,7 @@ chrome_java_sources = [
|
||||
"java/src/org/chromium/chrome/browser/payments/ui/DimmingDialog.java",
|
||||
"java/src/org/chromium/chrome/browser/payments/ui/LineItem.java",
|
||||
"java/src/org/chromium/chrome/browser/payments/ui/PaymentAppComparator.java",
|
||||
@@ -271,14 +271,18 @@ 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
|
||||
@@ -2776,6 +2776,7 @@ public abstract class ChromeActivity extends AsyncInitializationActivity
|
||||
TabUtils.switchUserAgent(
|
||||
currentTab,
|
||||
usingDesktopUserAgent,
|
||||
+ /* forcedByUser= */ true,
|
||||
UseDesktopUserAgentCaller.ON_MENU_OR_KEYBOARD_ACTION);
|
||||
@@ -2814,7 +2814,10 @@ public abstract class ChromeActivity extends AsyncInitializationActivity
|
||||
profile, currentTab.getUrl(), usingDesktopUserAgent);
|
||||
// Use TabUtils.switchUserAgent() instead of Tab.reload(). Because we need to reload
|
||||
// with LoadOriginalRequestURL. See http://crbug/1418587 for details.
|
||||
- TabUtils.switchUserAgent(currentTab, usingDesktopUserAgent);
|
||||
+ TabUtils.switchUserAgent(
|
||||
+ currentTab,
|
||||
+ usingDesktopUserAgent,
|
||||
+ /* forcedByUser= */ true);
|
||||
TrackerFactory.getTrackerForProfile(profile)
|
||||
.notifyEvent(EventConstants.APP_MENU_DESKTOP_SITE_EXCEPTION_ADDED);
|
||||
RequestDesktopUtils.recordUserChangeUserAgent(usingDesktopUserAgent, getActivityTab());
|
||||
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
|
||||
@@ -556,17 +560,6 @@ new file mode 100644
|
||||
+ UpdateAllTabs();
|
||||
+ }
|
||||
+}
|
||||
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
|
||||
@@ -142,6 +142,7 @@ public class RequestDesktopUtils {
|
||||
*/
|
||||
public static void setRequestDesktopSiteContentSettingsForUrl(
|
||||
Profile profile, GURL url, boolean useDesktopUserAgent) {
|
||||
+ if ((true)) return;
|
||||
boolean isOffTheRecord = profile.isOffTheRecord();
|
||||
String domainWildcardPattern =
|
||||
WebsitePreferenceBridge.toDomainWildcardPattern(url.getSpec());
|
||||
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
|
||||
@@ -590,17 +583,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.
|
||||
@@ -2318,9 +2324,6 @@ class TabImpl implements Tab {
|
||||
@@ -2342,9 +2348,6 @@ class TabImpl implements Tab {
|
||||
}
|
||||
|
||||
if (mWebContents != null) {
|
||||
- // Invoke switchUserAgentIfNeeded() from restoreIfNeeded() instead of loadIfNeeded()
|
||||
- // to avoid reload without explicit user intent.
|
||||
- switchUserAgentIfNeeded(UseDesktopUserAgentCaller.LOAD_IF_NEEDED + caller);
|
||||
- switchUserAgentIfNeeded();
|
||||
mWebContents.getNavigationController().loadIfNecessary();
|
||||
}
|
||||
mIsBeingRestored = true;
|
||||
@@ -2720,6 +2723,11 @@ class TabImpl implements Tab {
|
||||
@@ -2744,6 +2747,11 @@ class TabImpl implements Tab {
|
||||
url = webContents.getVisibleUrl();
|
||||
}
|
||||
|
||||
@@ -610,18 +603,18 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.jav
|
||||
+ return UserAgentOverrideOption.TRUE;
|
||||
+
|
||||
boolean shouldRequestDesktopSite =
|
||||
RequestDesktopUtils.shouldOverrideDesktopSite(mProfile, url, getContext());
|
||||
DesktopSiteUtils.shouldOverrideDesktopSite(mProfile, url, getContext());
|
||||
|
||||
@@ -2749,7 +2757,7 @@ class TabImpl implements Tab {
|
||||
@@ -2773,7 +2781,7 @@ class TabImpl implements Tab {
|
||||
}
|
||||
boolean usingDesktopUserAgent =
|
||||
getWebContents().getNavigationController().getUseDesktopUserAgent();
|
||||
- TabUtils.switchUserAgent(this, /* switchToDesktop= */ !usingDesktopUserAgent, caller);
|
||||
+ TabUtils.switchUserAgent(this, /* switchToDesktop= */ !usingDesktopUserAgent, /* forcedByUser= */ false, caller);
|
||||
- TabUtils.switchUserAgent(this, /* switchToDesktop= */ !usingDesktopUserAgent);
|
||||
+ TabUtils.switchUserAgent(this, /* switchToDesktop= */ !usingDesktopUserAgent, /* forcedByUser= */ false);
|
||||
}
|
||||
|
||||
/** Sets the TabLaunchType for tabs launched with an unset launch type. */
|
||||
@@ -2899,6 +2907,54 @@ class TabImpl implements Tab {
|
||||
@@ -2923,6 +2931,54 @@ class TabImpl implements Tab {
|
||||
/* allowDialog= */ false);
|
||||
}
|
||||
|
||||
@@ -679,16 +672,17 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.jav
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabUtils.java b/chrome/android/java/src/org/chromium/chrome/browser/tab/TabUtils.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabUtils.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tab/TabUtils.java
|
||||
@@ -130,11 +130,8 @@ public class TabUtils {
|
||||
@@ -113,12 +113,8 @@ public class TabUtils {
|
||||
* @param switchToDesktop Whether switching the user agent to desktop.
|
||||
* @param caller The caller of this method.
|
||||
*/
|
||||
- public static void switchUserAgent(Tab tab, boolean switchToDesktop, int caller) {
|
||||
- public static void switchUserAgent(Tab tab, boolean switchToDesktop) {
|
||||
- final boolean reloadOnChange = !tab.isNativePage();
|
||||
- assumeNonNull(tab.getWebContents())
|
||||
- .getNavigationController()
|
||||
- .setUseDesktopUserAgent(switchToDesktop, reloadOnChange, caller);
|
||||
+ public static void switchUserAgent(Tab tab, boolean switchToDesktop, boolean forcedByUser, int caller) {
|
||||
- .setUseDesktopUserAgent(
|
||||
- switchToDesktop, reloadOnChange, /* skipOnInitialNavigation= */ true);
|
||||
+ public static void switchUserAgent(Tab tab, boolean switchToDesktop, boolean forcedByUser) {
|
||||
+ tab.SetOverrideUserAgent(switchToDesktop, forcedByUser);
|
||||
}
|
||||
|
||||
@@ -815,11 +809,10 @@ 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();
|
||||
@@ -36,3 +62,103 @@ JNI_PrivacyPreferencesManagerImpl_IsMetricsReportingDisabledByPolicy(
|
||||
metrics::prefs::kMetricsReportingEnabled) &&
|
||||
@@ -37,4 +63,104 @@ JNI_PrivacyPreferencesManagerImpl_IsMetricsReportingDisabledByPolicy(
|
||||
!local_state->GetBoolean(metrics::prefs::kMetricsReportingEnabled);
|
||||
}
|
||||
+
|
||||
|
||||
+static void UpdateOverrideUserAgent() {
|
||||
+ bool overrideUserAgentEnabled =
|
||||
+ g_browser_process->local_state()->GetBoolean(prefs::kOverrideUserAgentEnabled);
|
||||
@@ -919,6 +912,8 @@ diff --git a/chrome/browser/android/preferences/privacy_preferences_manager_impl
|
||||
+ enabled);
|
||||
+ UpdateOverrideUserAgent();
|
||||
+}
|
||||
+
|
||||
DEFINE_JNI(PrivacyPreferencesManagerImpl)
|
||||
diff --git a/chrome/browser/content_settings/request_desktop_site_web_contents_observer_android.cc b/chrome/browser/content_settings/request_desktop_site_web_contents_observer_android.cc
|
||||
--- a/chrome/browser/content_settings/request_desktop_site_web_contents_observer_android.cc
|
||||
+++ b/chrome/browser/content_settings/request_desktop_site_web_contents_observer_android.cc
|
||||
@@ -976,7 +971,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
|
||||
@@ -1243,8 +1243,6 @@ public final class ChromePreferenceKeys {
|
||||
@@ -1281,8 +1281,6 @@ public final class ChromePreferenceKeys {
|
||||
SIGNIN_PROMO_NTP_LAST_SHOWN_TIME,
|
||||
SYNC_PROMO_TOTAL_SHOW_COUNT,
|
||||
SEARCH_RESUMPTION_MODULE_COLLAPSE_ON_NTP,
|
||||
@@ -1006,7 +1001,7 @@ diff --git a/chrome/browser/privacy/settings/java/src/org/chromium/chrome/browse
|
||||
diff --git a/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/Tab.java b/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/Tab.java
|
||||
--- a/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/Tab.java
|
||||
+++ b/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/Tab.java
|
||||
@@ -388,6 +388,8 @@ public interface Tab extends TabLifecycle {
|
||||
@@ -391,6 +391,8 @@ public interface Tab extends TabLifecycle {
|
||||
/** Goes to the navigation entry after the current one. */
|
||||
void goForward();
|
||||
|
||||
@@ -1018,7 +1013,7 @@ diff --git a/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/Tab.jav
|
||||
diff --git a/chrome/browser/tabwindow/android/java/src/org/chromium/chrome/browser/tabwindow/TabWindowManager.java b/chrome/browser/tabwindow/android/java/src/org/chromium/chrome/browser/tabwindow/TabWindowManager.java
|
||||
--- a/chrome/browser/tabwindow/android/java/src/org/chromium/chrome/browser/tabwindow/TabWindowManager.java
|
||||
+++ b/chrome/browser/tabwindow/android/java/src/org/chromium/chrome/browser/tabwindow/TabWindowManager.java
|
||||
@@ -174,6 +174,8 @@ public interface TabWindowManager {
|
||||
@@ -177,6 +177,8 @@ public interface TabWindowManager {
|
||||
@Nullable List<Tab> getGroupedTabsByWindow(
|
||||
@WindowId int windowId, Token tabGroupId, boolean isIncognito);
|
||||
|
||||
@@ -1030,7 +1025,7 @@ diff --git a/chrome/browser/tabwindow/android/java/src/org/chromium/chrome/brows
|
||||
diff --git a/chrome/browser/tabwindow/internal/android/java/src/org/chromium/chrome/browser/tabwindow/TabWindowManagerImpl.java b/chrome/browser/tabwindow/internal/android/java/src/org/chromium/chrome/browser/tabwindow/TabWindowManagerImpl.java
|
||||
--- a/chrome/browser/tabwindow/internal/android/java/src/org/chromium/chrome/browser/tabwindow/TabWindowManagerImpl.java
|
||||
+++ b/chrome/browser/tabwindow/internal/android/java/src/org/chromium/chrome/browser/tabwindow/TabWindowManagerImpl.java
|
||||
@@ -499,6 +499,24 @@ public class TabWindowManagerImpl implements TabWindowManager {
|
||||
@@ -501,6 +501,24 @@ public class TabWindowManagerImpl implements TabWindowManager {
|
||||
return null;
|
||||
}
|
||||
|
||||
@@ -1055,10 +1050,21 @@ diff --git a/chrome/browser/tabwindow/internal/android/java/src/org/chromium/chr
|
||||
@Override
|
||||
public @Nullable Tab getTabById(@TabId int tabId) {
|
||||
for (TabModelSelector selector : getAllTabModelSelectors()) {
|
||||
diff --git a/chrome/browser/ui/android/desktop_site/java/src/org/chromium/chrome/browser/desktop_site/DesktopSiteUtils.java b/chrome/browser/ui/android/desktop_site/java/src/org/chromium/chrome/browser/desktop_site/DesktopSiteUtils.java
|
||||
--- a/chrome/browser/ui/android/desktop_site/java/src/org/chromium/chrome/browser/desktop_site/DesktopSiteUtils.java
|
||||
+++ b/chrome/browser/ui/android/desktop_site/java/src/org/chromium/chrome/browser/desktop_site/DesktopSiteUtils.java
|
||||
@@ -66,6 +66,7 @@ public class DesktopSiteUtils {
|
||||
*/
|
||||
public static void setRequestDesktopSiteContentSettingsForUrl(
|
||||
Profile profile, GURL url, boolean useDesktopUserAgent) {
|
||||
+ if ((true)) return;
|
||||
boolean isOffTheRecord = profile.isOffTheRecord();
|
||||
String domainWildcardPattern =
|
||||
WebsitePreferenceBridge.toDomainWildcardPattern(url.getSpec());
|
||||
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
|
||||
@@ -238,6 +238,32 @@ CHAR_LIMIT guidelines:
|
||||
@@ -250,6 +250,32 @@ CHAR_LIMIT guidelines:
|
||||
Visit help page
|
||||
</message>
|
||||
|
||||
@@ -1094,7 +1100,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
|
||||
@@ -1899,6 +1899,14 @@ inline constexpr char kNaviOnboardGroup[] = "browser.navi_onboard_group";
|
||||
@@ -1916,6 +1916,14 @@ inline constexpr char kNaviOnboardGroup[] = "browser.navi_onboard_group";
|
||||
inline constexpr char kHadThreeConsecutiveNotificationPermissionDenies[] =
|
||||
"profile.content_settings.had_three_consecutive_denies.notifications";
|
||||
|
||||
@@ -1269,7 +1275,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
|
||||
@@ -3815,6 +3815,7 @@ void RenderProcessHostImpl::PropagateBrowserCommandLineToRenderer(
|
||||
@@ -3842,6 +3842,7 @@ void RenderProcessHostImpl::PropagateBrowserCommandLineToRenderer(
|
||||
#if BUILDFLAG(IS_CHROMEOS)
|
||||
switches::kSchedulerBoostUrgent,
|
||||
#endif
|
||||
@@ -1288,7 +1294,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"
|
||||
@@ -2449,8 +2450,6 @@ void WebContentsImpl::SetUserAgentOverride(
|
||||
@@ -2375,8 +2376,6 @@ void WebContentsImpl::SetUserAgentOverride(
|
||||
OPTIONAL_TRACE_EVENT2("content", "WebContentsImpl::SetUserAgentOverride",
|
||||
"ua_override", ua_override.ua_string_override,
|
||||
"override_in_new_tabs", override_in_new_tabs);
|
||||
@@ -1297,7 +1303,7 @@ diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser
|
||||
|
||||
if (GetUserAgentOverride() == ua_override) {
|
||||
return;
|
||||
@@ -3818,6 +3817,9 @@ const blink::web_pref::WebPreferences WebContentsImpl::ComputeWebPreferences(
|
||||
@@ -3750,6 +3749,9 @@ const blink::web_pref::WebPreferences WebContentsImpl::ComputeWebPreferences(
|
||||
#else
|
||||
prefs.viewport_meta_enabled = false;
|
||||
#endif
|
||||
@@ -1318,7 +1324,7 @@ diff --git a/content/public/android/java/src/org/chromium/content/browser/frameh
|
||||
params.getInitiatorOrigin(),
|
||||
params.getHasUserGesture(),
|
||||
params.getShouldClearHistoryList(),
|
||||
@@ -445,7 +446,7 @@ import org.chromium.url.Origin;
|
||||
@@ -447,7 +448,7 @@ import org.chromium.url.Origin;
|
||||
@Nullable String dataUrlAsString,
|
||||
boolean canLoadLocalResources,
|
||||
boolean isRendererInitiated,
|
||||
@@ -1330,7 +1336,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
|
||||
@@ -850,7 +850,6 @@ void RenderThreadImpl::InitializeRenderer(
|
||||
@@ -848,7 +848,6 @@ void RenderThreadImpl::InitializeRenderer(
|
||||
uint64_t trace_id) {
|
||||
TRACE_EVENT("navigation", "RenderThreadImpl::InitializeRenderer",
|
||||
perfetto::TerminatingFlow::Global(trace_id));
|
||||
|
||||
Reference in New Issue
Block a user