Patches for v146 (need some work)
This commit is contained in:
@@ -32,7 +32,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
.../CustomTabAppMenuPropertiesDelegate.java | 5 +
|
||||
.../CustomTabIntentDataProvider.java | 10 +
|
||||
.../browser/download/DownloadUtils.java | 13 +-
|
||||
.../history/HistoryContentManager.java | 20 +-
|
||||
.../history/HistoryContentManager.java | 10 +-
|
||||
.../browser/history/HistoryManager.java | 27 ++-
|
||||
.../chrome/browser/history/HistoryPage.java | 16 ++
|
||||
.../native_page/NativePageFactory.java | 4 +-
|
||||
@@ -68,7 +68,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
chrome/browser/prefs/browser_prefs.cc | 5 +
|
||||
chrome/browser/profiles/profile_selections.cc | 10 +
|
||||
chrome/browser/profiles/profile_selections.h | 7 +-
|
||||
.../signin/services/ProfileDataCache.java | 3 +-
|
||||
.../signin/services/ProfileDataCache.java | 5 +-
|
||||
.../browser/ui/android/native_page/BUILD.gn | 2 +
|
||||
.../browser/ui/native_page/NativePage.java | 17 +-
|
||||
.../browser/omnibox/LocationBarMediator.java | 8 +
|
||||
@@ -89,7 +89,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 +
|
||||
70 files changed, 808 insertions(+), 116 deletions(-)
|
||||
70 files changed, 808 insertions(+), 108 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
|
||||
@@ -102,7 +102,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
|
||||
@@ -644,6 +644,7 @@ chrome_java_resources = [
|
||||
@@ -653,6 +653,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",
|
||||
@@ -121,7 +121,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",
|
||||
@@ -958,6 +959,7 @@ chrome_java_sources = [
|
||||
@@ -969,6 +970,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",
|
||||
@@ -248,7 +248,7 @@ new file mode 100644
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
|
||||
@@ -80,6 +80,10 @@ import org.chromium.build.annotations.Nullable;
|
||||
@@ -84,6 +84,10 @@ import org.chromium.build.annotations.Nullable;
|
||||
import org.chromium.build.annotations.UsedByReflection;
|
||||
import org.chromium.cc.input.BrowserControlsState;
|
||||
import org.chromium.chrome.R;
|
||||
@@ -259,14 +259,14 @@ 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;
|
||||
@@ -813,12 +817,17 @@ public class ChromeTabbedActivity extends ChromeActivity implements PreAttachInt
|
||||
BrowserWindowType.NORMAL, currentTabModel, mMultiInstanceManager);
|
||||
@@ -850,13 +854,18 @@ public class ChromeTabbedActivity extends ChromeActivity implements PreAttachInt
|
||||
mMultiInstanceManager);
|
||||
|
||||
// For saving non-incognito tab closures for Recent Tabs.
|
||||
- mHistoricalTabModelObserver =
|
||||
- new HistoricalTabModelObserver(mTabModelSelector.getTabGroupModelFilter(false));
|
||||
- mHistoricalTabModelObserver.addSecondaryTabModelSupplier(
|
||||
- ArchivedTabModelOrchestrator.getForProfile(currentTabModel.getProfile())
|
||||
- ArchivedTabModelOrchestrator.getForProfile(
|
||||
+ boolean alwaysIncognito = AlwaysIncognitoLinkInterceptor.isAlwaysIncognito();
|
||||
+ PrefService prefService = UserPrefs.get(ProfileManager.getLastUsedRegularProfile());
|
||||
+ boolean historyEnabledInIncognito =
|
||||
@@ -275,14 +275,15 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct
|
||||
+ mHistoricalTabModelObserver =
|
||||
+ new HistoricalTabModelObserver(mTabModelSelector.getTabGroupModelFilter(alwaysIncognito));
|
||||
+ mHistoricalTabModelObserver.addSecondaryTabModelSupplier(
|
||||
+ ArchivedTabModelOrchestrator.getForProfile(currentTabModel.getProfile())
|
||||
+ ArchivedTabModelOrchestrator.getForProfile(
|
||||
mTabModelSelector.getCurrentModel().getProfile())
|
||||
::getTabModel);
|
||||
-
|
||||
+ }
|
||||
// Defer creation of this helper so it triggers after TabGroupModelFilter observers.
|
||||
mUndoRefocusHelper =
|
||||
new UndoRefocusHelper(
|
||||
@@ -3306,7 +3315,7 @@ public class ChromeTabbedActivity extends ChromeActivity implements PreAttachInt
|
||||
@@ -3426,7 +3435,7 @@ public class ChromeTabbedActivity extends ChromeActivity implements PreAttachInt
|
||||
shouldPersistAcrossReboots()
|
||||
&& persistentState != null
|
||||
&& persistentState.getBoolean(IS_INCOGNITO_SELECTED, false);
|
||||
@@ -294,7 +295,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
|
||||
@@ -110,6 +110,7 @@ import org.chromium.chrome.browser.contextualsearch.ContextualSearchManager;
|
||||
@@ -107,6 +107,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;
|
||||
@@ -302,7 +303,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv
|
||||
import org.chromium.chrome.browser.dom_distiller.DomDistillerUiUtils;
|
||||
import org.chromium.chrome.browser.dom_distiller.ReaderModeManager;
|
||||
import org.chromium.chrome.browser.download.DownloadManagerService;
|
||||
@@ -2212,6 +2213,9 @@ public abstract class ChromeActivity extends AsyncInitializationActivity
|
||||
@@ -2222,6 +2223,9 @@ public abstract class ChromeActivity extends AsyncInitializationActivity
|
||||
throw new IllegalStateException(
|
||||
"Attempting to access TabCreator before initialization");
|
||||
}
|
||||
@@ -315,7 +316,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
|
||||
@@ -94,6 +94,8 @@ import java.util.Iterator;
|
||||
@@ -99,6 +99,8 @@ import java.util.Iterator;
|
||||
import java.util.List;
|
||||
import java.util.function.Supplier;
|
||||
|
||||
@@ -324,7 +325,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.
|
||||
@@ -675,8 +677,9 @@ public abstract class AppMenuPropertiesDelegateImpl implements AppMenuProperties
|
||||
@@ -686,8 +688,9 @@ public abstract class AppMenuPropertiesDelegateImpl implements AppMenuProperties
|
||||
&& !isNativePage
|
||||
&& !isFileScheme
|
||||
&& !isContentScheme
|
||||
@@ -442,7 +443,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;
|
||||
@@ -1362,6 +1365,13 @@ public class CustomTabIntentDataProvider extends BrowserServicesIntentDataProvid
|
||||
@@ -1373,6 +1376,13 @@ public class CustomTabIntentDataProvider extends BrowserServicesIntentDataProvid
|
||||
return getInitialActivityWidth() > 0;
|
||||
}
|
||||
|
||||
@@ -496,25 +497,15 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/download/Downlo
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/history/HistoryContentManager.java b/chrome/android/java/src/org/chromium/chrome/browser/history/HistoryContentManager.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/history/HistoryContentManager.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/history/HistoryContentManager.java
|
||||
@@ -240,16 +240,7 @@ public class HistoryContentManager implements SignInStateObserver, PrefObserver
|
||||
@@ -374,6 +374,7 @@ public class HistoryContentManager implements SignInStateObserver, PrefObserver
|
||||
};
|
||||
mTabSupplier = tabSupplier;
|
||||
|
||||
- mHistorySyncPromoCoordinator =
|
||||
- new SigninPromoCoordinator(
|
||||
- mActivity,
|
||||
- profile,
|
||||
- new HistoryPageSigninPromoDelegate(
|
||||
- mActivity,
|
||||
- profile,
|
||||
- SigninAndHistorySyncActivityLauncherImpl.get(),
|
||||
- this::updateHistorySyncPromoVisibility,
|
||||
- /* isCreatedInCct= */ launchedForApp));
|
||||
+ mHistorySyncPromoCoordinator = null;
|
||||
|
||||
// History service is not keyed for Incognito profiles and {@link HistoryServiceFactory}
|
||||
// explicitly redirects to use regular profile for Incognito case.
|
||||
@@ -308,8 +299,9 @@ public class HistoryContentManager implements SignInStateObserver, PrefObserver
|
||||
+ canShowSigninPromo = false;
|
||||
if (canShowSigninPromo) {
|
||||
mHistorySyncPromoCoordinator =
|
||||
new SigninPromoCoordinator(
|
||||
@@ -453,8 +454,9 @@ public class HistoryContentManager implements SignInStateObserver, PrefObserver
|
||||
mHistoryAdapter.generateFooterItems();
|
||||
|
||||
// Listen to changes in sign in state.
|
||||
@@ -526,7 +517,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/history/History
|
||||
|
||||
// Create PrefChangeRegistrar to receive notifications on preference changes.
|
||||
mPrefChangeRegistrar = PrefServiceUtil.createFor(profile);
|
||||
@@ -386,8 +378,8 @@ public class HistoryContentManager implements SignInStateObserver, PrefObserver
|
||||
@@ -531,8 +533,8 @@ public class HistoryContentManager implements SignInStateObserver, PrefObserver
|
||||
mHistoryAdapter.onDestroyed();
|
||||
mLargeIconBridge.destroy();
|
||||
mLargeIconBridge = null;
|
||||
@@ -540,7 +531,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/history/HistoryManager.java b/chrome/android/java/src/org/chromium/chrome/browser/history/HistoryManager.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/history/HistoryManager.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/history/HistoryManager.java
|
||||
@@ -63,6 +63,14 @@ import java.util.List;
|
||||
@@ -66,6 +66,14 @@ import java.util.List;
|
||||
import java.util.function.Function;
|
||||
import java.util.function.Supplier;
|
||||
|
||||
@@ -555,7 +546,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/history/History
|
||||
/** Combines and manages the different UI components of browsing history. */
|
||||
@NullMarked
|
||||
public class HistoryManager
|
||||
@@ -168,7 +176,7 @@ public class HistoryManager
|
||||
@@ -177,7 +185,7 @@ public class HistoryManager
|
||||
|
||||
mUmaRecorder.recordOpenHistory();
|
||||
// If incognito placeholder is shown, we don't need to create History UI elements.
|
||||
@@ -564,7 +555,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/history/History
|
||||
mSelectableListLayout = null;
|
||||
mRootView = getIncognitoHistoryPlaceholderView();
|
||||
return;
|
||||
@@ -460,9 +468,22 @@ public class HistoryManager
|
||||
@@ -472,9 +480,22 @@ public class HistoryManager
|
||||
onBackPressStateChanged();
|
||||
}
|
||||
|
||||
@@ -588,7 +579,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;
|
||||
}
|
||||
@@ -523,7 +544,7 @@ public class HistoryManager
|
||||
@@ -542,7 +563,7 @@ public class HistoryManager
|
||||
* @return True if manager handles this event, false if it decides to ignore.
|
||||
*/
|
||||
private boolean onBackPressed() {
|
||||
@@ -600,7 +591,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/history/HistoryPage.java b/chrome/android/java/src/org/chromium/chrome/browser/history/HistoryPage.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/history/HistoryPage.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/history/HistoryPage.java
|
||||
@@ -21,6 +21,14 @@ import org.chromium.components.embedder_support.util.UrlConstants;
|
||||
@@ -25,6 +25,14 @@ import org.chromium.ui.modaldialog.ModalDialogManager;
|
||||
|
||||
import java.util.function.Supplier;
|
||||
|
||||
@@ -615,7 +606,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/history/History
|
||||
/** Native page for managing browsing history. */
|
||||
@NullMarked
|
||||
public class HistoryPage extends BasicNativePage {
|
||||
@@ -51,6 +59,14 @@ public class HistoryPage extends BasicNativePage {
|
||||
@@ -61,6 +69,14 @@ public class HistoryPage extends BasicNativePage {
|
||||
BackPressManager backPressManager) {
|
||||
super(host);
|
||||
|
||||
@@ -641,7 +632,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;
|
||||
@@ -457,7 +458,8 @@ public class NativePageFactory {
|
||||
@@ -465,7 +466,8 @@ public class NativePageFactory {
|
||||
|
||||
NativePage page;
|
||||
|
||||
@@ -654,7 +645,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/native_page/Nat
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/RecentTabsManager.java b/chrome/android/java/src/org/chromium/chrome/browser/ntp/RecentTabsManager.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/ntp/RecentTabsManager.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ntp/RecentTabsManager.java
|
||||
@@ -48,6 +48,16 @@ import org.chromium.ui.base.WindowAndroid;
|
||||
@@ -43,6 +43,16 @@ import org.chromium.ui.base.WindowAndroid;
|
||||
import org.chromium.ui.modaldialog.ModalDialogManager;
|
||||
import org.chromium.url.GURL;
|
||||
|
||||
@@ -671,7 +662,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/RecentTabsM
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
@@ -120,7 +130,8 @@ public class RecentTabsManager
|
||||
@@ -114,7 +124,8 @@ public class RecentTabsManager
|
||||
SnackbarManager snackbarManager,
|
||||
Runnable showHistoryManager,
|
||||
RecentlyClosedEntriesManager recentlyClosedEntriesManager) {
|
||||
@@ -681,7 +672,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/RecentTabsM
|
||||
mActiveTab = tab;
|
||||
mShowHistoryManager = showHistoryManager;
|
||||
mForeignSessionHelper = new ForeignSessionHelper(profile);
|
||||
@@ -310,6 +321,22 @@ public class RecentTabsManager
|
||||
@@ -285,6 +296,22 @@ public class RecentTabsManager
|
||||
*/
|
||||
public void openRecentlyClosedTab(RecentlyClosedTab tab, int windowDisposition) {
|
||||
if (mIsDestroyed) return;
|
||||
@@ -895,7 +886,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;
|
||||
@@ -223,6 +224,9 @@ public class FragmentDependencyProvider extends FragmentManager.FragmentLifecycl
|
||||
@@ -225,6 +226,9 @@ public class FragmentDependencyProvider extends FragmentManager.FragmentLifecycl
|
||||
SigninAndHistorySyncActivityLauncherImpl.get(),
|
||||
new SettingsCustomTabLauncherImpl()));
|
||||
}
|
||||
@@ -944,7 +935,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/tab_restore
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/tab_restore/HistoricalTabSaverImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/tab/tab_restore/HistoricalTabSaverImpl.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/tab/tab_restore/HistoricalTabSaverImpl.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tab/tab_restore/HistoricalTabSaverImpl.java
|
||||
@@ -30,6 +30,8 @@ import java.util.Collections;
|
||||
@@ -27,6 +27,8 @@ import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.function.Supplier;
|
||||
|
||||
@@ -953,7 +944,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/tab_restore
|
||||
/** Creates historical entries in TabRestoreService. */
|
||||
@NullMarked
|
||||
@JNINamespace("historical_tab_saver")
|
||||
@@ -87,10 +89,10 @@ public class HistoricalTabSaverImpl implements HistoricalTabSaver {
|
||||
@@ -75,10 +77,10 @@ public class HistoricalTabSaverImpl implements HistoricalTabSaver {
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -966,7 +957,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/tab_restore
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -151,7 +153,7 @@ public class HistoricalTabSaverImpl implements HistoricalTabSaver {
|
||||
@@ -139,7 +141,7 @@ public class HistoricalTabSaverImpl implements HistoricalTabSaver {
|
||||
|
||||
// If there is only a single valid tab remaining save it individually.
|
||||
if (validEntries.size() == 1 && validEntries.get(0).isSingleTab()) {
|
||||
@@ -975,7 +966,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/tab_restore
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -191,7 +193,7 @@ public class HistoricalTabSaverImpl implements HistoricalTabSaver {
|
||||
@@ -179,7 +181,7 @@ public class HistoricalTabSaverImpl implements HistoricalTabSaver {
|
||||
CollectionUtil.integerCollectionToIntArray(savedStateVersions));
|
||||
}
|
||||
|
||||
@@ -984,7 +975,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/tab_restore
|
||||
RecordHistogram.recordEnumeratedHistogram(
|
||||
"Tabs.RecentlyClosed.HistoricalSaverCloseType",
|
||||
HistoricalSaverCloseType.TAB,
|
||||
@@ -204,7 +206,8 @@ public class HistoricalTabSaverImpl implements HistoricalTabSaver {
|
||||
@@ -192,7 +194,8 @@ public class HistoricalTabSaverImpl implements HistoricalTabSaver {
|
||||
tab,
|
||||
index,
|
||||
getWebContentsState(tab).buffer(),
|
||||
@@ -994,7 +985,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/tab_restore
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -212,7 +215,7 @@ public class HistoricalTabSaverImpl implements HistoricalTabSaver {
|
||||
@@ -200,7 +203,7 @@ public class HistoricalTabSaverImpl implements HistoricalTabSaver {
|
||||
* internal Chrome scheme, about:blank, or a native page and it cannot be incognito.
|
||||
*/
|
||||
private boolean shouldSave(Tab tab) {
|
||||
@@ -1003,7 +994,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/tab_restore
|
||||
// Check the secondary tab model to see if the tab was moved instead of deleted.
|
||||
if (tabIdExistsInSecondaryModel(tab.getId())) return false;
|
||||
|
||||
@@ -300,7 +303,7 @@ public class HistoricalTabSaverImpl implements HistoricalTabSaver {
|
||||
@@ -280,7 +283,7 @@ public class HistoricalTabSaverImpl implements HistoricalTabSaver {
|
||||
|
||||
@NativeMethods
|
||||
interface Natives {
|
||||
@@ -1023,7 +1014,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;
|
||||
@@ -247,7 +248,8 @@ public class TabbedAppMenuPropertiesDelegate extends AppMenuPropertiesDelegateIm
|
||||
@@ -256,7 +257,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.
|
||||
@@ -1036,7 +1027,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
|
||||
@@ -219,6 +219,8 @@ import org.chromium.content_public.common.ContentSwitches;
|
||||
@@ -236,6 +236,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;
|
||||
@@ -1045,7 +1036,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;
|
||||
@@ -1318,7 +1320,7 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator {
|
||||
@@ -1401,7 +1403,7 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator {
|
||||
() -> {
|
||||
mTabCreatorManagerSupplier
|
||||
.get()
|
||||
@@ -1087,7 +1078,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
|
||||
@@ -142,6 +143,8 @@ public class TabModelSelectorImpl extends TabModelSelectorBase implements TabMod
|
||||
ProfileProvider profileProvider = mProfileProviderSupplier.get();
|
||||
assert profileProvider != null;
|
||||
|
||||
@@ -1107,7 +1098,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;
|
||||
@@ -723,6 +724,12 @@ public class TabPersistentStoreImpl implements TabPersistentStore {
|
||||
@@ -727,6 +728,12 @@ public class TabPersistentStoreImpl implements TabPersistentStore {
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1123,7 +1114,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabPer
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/ToolbarManager.java b/chrome/android/java/src/org/chromium/chrome/browser/toolbar/ToolbarManager.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/ToolbarManager.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/toolbar/ToolbarManager.java
|
||||
@@ -59,6 +59,7 @@ import org.chromium.build.annotations.Nullable;
|
||||
@@ -58,6 +58,7 @@ import org.chromium.build.annotations.Nullable;
|
||||
import org.chromium.cc.input.BrowserControlsState;
|
||||
import org.chromium.chrome.R;
|
||||
import org.chromium.chrome.browser.ActivityTabProvider;
|
||||
@@ -1230,10 +1221,10 @@ diff --git a/chrome/browser/android/historical_tab_saver.cc b/chrome/browser/and
|
||||
DCHECK_EQ(tab_group_ids.size(), tab_group_ids.size());
|
||||
@@ -281,12 +292,13 @@ static void JNI_HistoricalTabSaverImpl_CreateHistoricalTab(
|
||||
const JavaRef<jobject>& jtab_android,
|
||||
jint index,
|
||||
int32_t index,
|
||||
const JavaRef<jobject>& state,
|
||||
- jint saved_state_version) {
|
||||
+ jint saved_state_version,
|
||||
- int32_t saved_state_version) {
|
||||
+ int32_t saved_state_version,
|
||||
+ jboolean is_always_incognito) {
|
||||
WebContentsStateByteBuffer web_contents_state =
|
||||
WebContentsStateByteBuffer(ScopedJavaLocalRef<jobject>(state),
|
||||
@@ -1328,7 +1319,7 @@ diff --git a/chrome/browser/content_settings/host_content_settings_map_factory.c
|
||||
+++ b/chrome/browser/content_settings/host_content_settings_map_factory.cc
|
||||
@@ -17,6 +17,7 @@
|
||||
#include "chrome/browser/search_engines/template_url_service_factory.h"
|
||||
#include "chrome/browser/supervised_user/supervised_user_settings_service_factory.h"
|
||||
#include "chrome/browser/supervised_user/family_link_settings_service_factory.h"
|
||||
#include "chrome/common/buildflags.h"
|
||||
+#include "chrome/common/pref_names.h"
|
||||
#include "components/content_settings/core/browser/content_settings_pref_provider.h"
|
||||
@@ -1387,7 +1378,7 @@ diff --git a/chrome/browser/extensions/api/webstore_private/webstore_private_api
|
||||
static_assert(BUILDFLAG(ENABLE_EXTENSIONS_CORE));
|
||||
|
||||
using safe_browsing::SafeBrowsingNavigationObserverManager;
|
||||
@@ -233,6 +239,16 @@ const int kExtensionReferrerUserGestureLimit = 2;
|
||||
@@ -235,6 +241,16 @@ const int kExtensionReferrerUserGestureLimit = 2;
|
||||
|
||||
WebstorePrivateApi::Delegate* test_delegate = nullptr;
|
||||
|
||||
@@ -1404,7 +1395,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
|
||||
@@ -454,7 +470,7 @@ WebstorePrivateBeginInstallWithManifest3Function::Run() {
|
||||
@@ -456,7 +472,7 @@ WebstorePrivateBeginInstallWithManifest3Function::Run() {
|
||||
params_ = Params::Create(args());
|
||||
EXTENSION_FUNCTION_VALIDATE(params_);
|
||||
|
||||
@@ -1413,7 +1404,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,
|
||||
@@ -976,7 +992,7 @@ void WebstorePrivateBeginInstallWithManifest3Function::
|
||||
@@ -987,7 +1003,7 @@ void WebstorePrivateBeginInstallWithManifest3Function::
|
||||
DCHECK(extension);
|
||||
DCHECK(contents);
|
||||
|
||||
@@ -1422,7 +1413,7 @@ diff --git a/chrome/browser/extensions/api/webstore_private/webstore_private_api
|
||||
|
||||
std::string message_from_admin =
|
||||
ExtensionManagementFactory::GetForBrowserContext(profile)
|
||||
@@ -1012,7 +1028,7 @@ WebstorePrivateCompleteInstallFunction::Run() {
|
||||
@@ -1023,7 +1039,7 @@ WebstorePrivateCompleteInstallFunction::Run() {
|
||||
std::optional<CompleteInstall::Params> params =
|
||||
CompleteInstall::Params::Create(args());
|
||||
EXTENSION_FUNCTION_VALIDATE(params);
|
||||
@@ -1431,7 +1422,7 @@ diff --git a/chrome/browser/extensions/api/webstore_private/webstore_private_api
|
||||
if (profile->IsGuestSession() || profile->IsOffTheRecord()) {
|
||||
return RespondNow(Error(kIncognitoError));
|
||||
}
|
||||
@@ -1330,7 +1346,7 @@ ExtensionFunction::ResponseValue
|
||||
@@ -1332,7 +1348,7 @@ ExtensionFunction::ResponseValue
|
||||
WebstorePrivateGetExtensionStatusFunction::BuildResponseWithoutManifest(
|
||||
const ExtensionId& extension_id) {
|
||||
ExtensionInstallStatus status = GetWebstoreExtensionInstallStatus(
|
||||
@@ -1440,7 +1431,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));
|
||||
@@ -1344,7 +1360,7 @@ void WebstorePrivateGetExtensionStatusFunction::OnManifestParsed(
|
||||
@@ -1346,7 +1362,7 @@ void WebstorePrivateGetExtensionStatusFunction::OnManifestParsed(
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -1462,7 +1453,7 @@ diff --git a/chrome/browser/history/history_tab_helper.cc b/chrome/browser/histo
|
||||
#else
|
||||
#include "chrome/browser/ui/browser.h"
|
||||
#include "chrome/browser/ui/browser_finder.h"
|
||||
@@ -640,6 +643,13 @@ void HistoryTabHelper::TitleWasSet(NavigationEntry* entry) {
|
||||
@@ -636,6 +639,13 @@ void HistoryTabHelper::TitleWasSet(NavigationEntry* entry) {
|
||||
history::HistoryService* HistoryTabHelper::GetHistoryService() {
|
||||
Profile* profile =
|
||||
Profile::FromBrowserContext(web_contents()->GetBrowserContext());
|
||||
@@ -1476,7 +1467,7 @@ diff --git a/chrome/browser/history/history_tab_helper.cc b/chrome/browser/histo
|
||||
if (profile->IsOffTheRecord()) {
|
||||
return nullptr;
|
||||
}
|
||||
@@ -648,6 +658,16 @@ history::HistoryService* HistoryTabHelper::GetHistoryService() {
|
||||
@@ -644,6 +654,16 @@ history::HistoryService* HistoryTabHelper::GetHistoryService() {
|
||||
profile, ServiceAccessType::IMPLICIT_ACCESS);
|
||||
}
|
||||
|
||||
@@ -1540,7 +1531,7 @@ diff --git a/chrome/browser/offline_pages/android/offline_page_bridge.cc b/chrom
|
||||
|
||||
// Must come after all headers that specialize FromJniType() / ToJniType().
|
||||
#include "chrome/android/chrome_jni_headers/OfflinePageBridge_jni.h"
|
||||
@@ -727,9 +730,15 @@ void OfflinePageBridge::GetPageByOfflineIdDone(
|
||||
@@ -728,9 +731,15 @@ void OfflinePageBridge::GetPageByOfflineIdDone(
|
||||
}
|
||||
|
||||
if (offline_page_model_->IsArchiveInInternalDir(offline_page->file_path)) {
|
||||
@@ -1825,7 +1816,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
|
||||
@@ -236,6 +236,7 @@
|
||||
@@ -239,6 +239,7 @@
|
||||
|
||||
#if BUILDFLAG(IS_ANDROID)
|
||||
#include "chrome/browser/accessibility/accessibility_prefs/android/accessibility_prefs_controller.h"
|
||||
@@ -1833,7 +1824,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"
|
||||
@@ -1818,6 +1819,10 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry,
|
||||
@@ -1878,6 +1879,10 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry,
|
||||
usage_stats::UsageStatsBridge::RegisterProfilePrefs(registry);
|
||||
variations::VariationsService::RegisterProfilePrefs(registry);
|
||||
webapps::InstallPromptPrefs::RegisterProfilePrefs(registry);
|
||||
@@ -1898,21 +1889,29 @@ diff --git a/chrome/browser/profiles/profile_selections.h b/chrome/browser/profi
|
||||
diff --git a/chrome/browser/signin/services/android/java/src/org/chromium/chrome/browser/signin/services/ProfileDataCache.java b/chrome/browser/signin/services/android/java/src/org/chromium/chrome/browser/signin/services/ProfileDataCache.java
|
||||
--- a/chrome/browser/signin/services/android/java/src/org/chromium/chrome/browser/signin/services/ProfileDataCache.java
|
||||
+++ b/chrome/browser/signin/services/android/java/src/org/chromium/chrome/browser/signin/services/ProfileDataCache.java
|
||||
@@ -134,13 +134,12 @@ public class ProfileDataCache implements AccountInfoService.Observer {
|
||||
@VisibleForTesting
|
||||
@@ -134,7 +134,6 @@ public class ProfileDataCache implements IdentityManager.Observer, AccountsChang
|
||||
|
||||
private final Context mContext;
|
||||
private final AccountManagerFacade mAccountManagerFacade;
|
||||
- private final IdentityManager mIdentityManager;
|
||||
private final int mImageSize;
|
||||
// The badge for a given account is selected as follows:
|
||||
// * If there is a config for that specific account, use that
|
||||
@@ -150,13 +149,11 @@ public class ProfileDataCache implements IdentityManager.Observer, AccountsChang
|
||||
ProfileDataCache(
|
||||
Context context,
|
||||
AccountManagerFacade accountManagerFacade,
|
||||
- IdentityManager identityManager,
|
||||
+ IdentityManager identityManagerNotUsed,
|
||||
@Px int imageSize,
|
||||
@Nullable BadgeConfig badgeConfig) {
|
||||
// TODO(crbug.com/341948846): Remove AccountInfoService and update
|
||||
// populateCache/populateCacheForAllAccounts to use identityManager to get the list of
|
||||
// accounts
|
||||
- assert identityManager != null;
|
||||
mContext = context;
|
||||
mAccountManagerFacade = accountManagerFacade;
|
||||
- mIdentityManager = identityManager;
|
||||
mImageSize = imageSize;
|
||||
mDefaultBadgeConfig = badgeConfig;
|
||||
mPlaceholderImage = getScaledPlaceholderImage(context, imageSize);
|
||||
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
|
||||
@@ -1997,7 +1996,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
|
||||
@@ -110,6 +110,11 @@ import org.chromium.ui.interpolators.Interpolators;
|
||||
@@ -112,6 +112,11 @@ import org.chromium.ui.interpolators.Interpolators;
|
||||
import org.chromium.ui.modaldialog.ModalDialogManager;
|
||||
import org.chromium.url.GURL;
|
||||
|
||||
@@ -2009,7 +2008,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;
|
||||
@@ -530,6 +535,9 @@ class LocationBarMediator
|
||||
@@ -532,6 +537,9 @@ class LocationBarMediator
|
||||
if (!DeviceFormFactor.isNonMultiDisplayContextOnTablet(mContext)) return;
|
||||
Tab tab = mLocationBarDataProvider.getTab();
|
||||
if (tab == null) return;
|
||||
@@ -2022,7 +2021,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
|
||||
@@ -7027,6 +7027,31 @@ To change this setting, <ph name="BEGIN_LINK">BEGIN_LINK</ph>delete the Chrome d
|
||||
@@ -7057,6 +7057,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>
|
||||
@@ -2124,7 +2123,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
|
||||
@@ -4118,6 +4118,12 @@ inline constexpr char kOutOfProcessSystemDnsResolutionEnabled[] =
|
||||
@@ -4125,6 +4125,12 @@ inline constexpr char kOutOfProcessSystemDnsResolutionEnabled[] =
|
||||
"net.out_of_process_system_dns_resolution_enabled";
|
||||
#endif // BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX)
|
||||
|
||||
@@ -2140,7 +2139,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
|
||||
@@ -134,10 +134,12 @@ void PrefProvider::RegisterProfilePrefs(
|
||||
@@ -137,10 +137,12 @@ void PrefProvider::RegisterProfilePrefs(
|
||||
|
||||
PrefProvider::PrefProvider(PrefService* prefs,
|
||||
bool off_the_record,
|
||||
@@ -2153,7 +2152,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");
|
||||
@@ -160,10 +162,12 @@ PrefProvider::PrefProvider(PrefService* prefs,
|
||||
@@ -163,10 +165,12 @@ PrefProvider::PrefProvider(PrefService* prefs,
|
||||
WebsiteSettingsRegistry* website_settings =
|
||||
WebsiteSettingsRegistry::GetInstance();
|
||||
for (const WebsiteSettingsInfo* info : *website_settings) {
|
||||
@@ -2189,7 +2188,7 @@ diff --git a/components/content_settings/core/browser/content_settings_pref_prov
|
||||
diff --git a/components/content_settings/core/browser/host_content_settings_map.cc b/components/content_settings/core/browser/host_content_settings_map.cc
|
||||
--- a/components/content_settings/core/browser/host_content_settings_map.cc
|
||||
+++ b/components/content_settings/core/browser/host_content_settings_map.cc
|
||||
@@ -286,6 +286,7 @@ struct ContentSettingEntry {
|
||||
@@ -285,6 +285,7 @@ struct ContentSettingEntry {
|
||||
|
||||
HostContentSettingsMap::HostContentSettingsMap(PrefService* prefs,
|
||||
bool is_off_the_record,
|
||||
@@ -2197,7 +2196,7 @@ diff --git a/components/content_settings/core/browser/host_content_settings_map.
|
||||
bool store_last_modified,
|
||||
bool restore_session,
|
||||
bool should_record_metrics)
|
||||
@@ -295,6 +296,7 @@ HostContentSettingsMap::HostContentSettingsMap(PrefService* prefs,
|
||||
@@ -294,6 +295,7 @@ HostContentSettingsMap::HostContentSettingsMap(PrefService* prefs,
|
||||
#endif
|
||||
prefs_(prefs),
|
||||
is_off_the_record_(is_off_the_record),
|
||||
@@ -2205,7 +2204,7 @@ diff --git a/components/content_settings/core/browser/host_content_settings_map.
|
||||
store_last_modified_(store_last_modified),
|
||||
allow_invalid_secondary_pattern_for_testing_(false),
|
||||
clock_(base::DefaultClock::GetInstance()) {
|
||||
@@ -308,7 +310,7 @@ HostContentSettingsMap::HostContentSettingsMap(PrefService* prefs,
|
||||
@@ -307,7 +309,7 @@ HostContentSettingsMap::HostContentSettingsMap(PrefService* prefs,
|
||||
policy_provider->AddObserver(this);
|
||||
|
||||
auto pref_provider_ptr = std::make_unique<content_settings::PrefProvider>(
|
||||
|
||||
@@ -94,7 +94,7 @@ diff --git a/chrome/android/java/res/menu/bookmark_toolbar_menu_improved.xml b/c
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/TabbedModeTabDelegateFactory.java b/chrome/android/java/src/org/chromium/chrome/browser/TabbedModeTabDelegateFactory.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/TabbedModeTabDelegateFactory.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/TabbedModeTabDelegateFactory.java
|
||||
@@ -11,6 +11,7 @@ import org.chromium.base.supplier.ObservableSupplier;
|
||||
@@ -11,6 +11,7 @@ import org.chromium.base.supplier.NonNullObservableSupplier;
|
||||
import org.chromium.base.supplier.OneshotSupplier;
|
||||
import org.chromium.build.annotations.NullMarked;
|
||||
import org.chromium.build.annotations.Nullable;
|
||||
@@ -109,7 +109,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/TabbedModeTabDe
|
||||
- private final Activity mActivity;
|
||||
+ private final ChromeActivity mActivity;
|
||||
private final BrowserControlsVisibilityDelegate mAppBrowserControlsVisibilityDelegate;
|
||||
private final Supplier<ShareDelegate> mShareDelegateSupplier;
|
||||
private final Supplier<@Nullable ShareDelegate> mShareDelegateSupplier;
|
||||
private final Supplier<EphemeralTabCoordinator> mEphemeralTabCoordinatorSupplier;
|
||||
@@ -97,7 +98,7 @@ public class TabbedModeTabDelegateFactory implements TabDelegateFactory {
|
||||
private final RecentlyClosedEntriesManager mRecentlyClosedEntriesManager;
|
||||
@@ -118,7 +118,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/TabbedModeTabDe
|
||||
- Activity activity,
|
||||
+ ChromeActivity activity,
|
||||
BrowserControlsVisibilityDelegate appBrowserControlsVisibilityDelegate,
|
||||
Supplier<ShareDelegate> shareDelegateSupplier,
|
||||
Supplier<@Nullable ShareDelegate> shareDelegateSupplier,
|
||||
Supplier<EphemeralTabCoordinator> ephemeralTabCoordinatorSupplier,
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/bookmarks/BookmarkActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/app/bookmarks/BookmarkActivity.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/app/bookmarks/BookmarkActivity.java
|
||||
@@ -132,9 +132,9 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/bookmarks/B
|
||||
import android.content.ComponentName;
|
||||
import android.content.Intent;
|
||||
import android.text.TextUtils;
|
||||
@@ -36,6 +38,9 @@ import org.chromium.components.browser_ui.modaldialog.AppModalPresenter;
|
||||
import org.chromium.ui.modaldialog.ModalDialogManager;
|
||||
@@ -51,6 +53,9 @@ import org.chromium.ui.modaldialog.ModalDialogManager;
|
||||
import org.chromium.ui.modaldialog.ModalDialogManager.ModalDialogType;
|
||||
import org.chromium.ui.util.ColorUtils;
|
||||
|
||||
+import org.chromium.ui.base.ActivityWindowAndroid;
|
||||
+import org.chromium.ui.base.IntentRequestTracker;
|
||||
@@ -142,9 +142,9 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/bookmarks/B
|
||||
/**
|
||||
* The activity that displays the bookmark UI on the phone. It keeps a {@link
|
||||
* BookmarkManagerCoordinator} inside of it and creates a snackbar manager. This activity should
|
||||
@@ -51,6 +56,9 @@ public class BookmarkActivity extends SnackbarActivity {
|
||||
private @Nullable BookmarkOpener mBookmarkOpener;
|
||||
@@ -67,6 +72,9 @@ public class BookmarkActivity extends SnackbarActivity {
|
||||
private @Nullable OnKeyDownHandler mOnKeyDownHandler;
|
||||
private @Nullable ActivityWindowAndroid mWindowAndroid;
|
||||
|
||||
+ private ActivityWindowAndroid mWindowAndroid;
|
||||
+ private IntentRequestTracker mIntentRequestTracker;
|
||||
@@ -152,7 +152,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/bookmarks/B
|
||||
@Override
|
||||
protected void onProfileAvailable(Profile profile) {
|
||||
super.onProfileAvailable(profile);
|
||||
@@ -84,6 +92,14 @@ public class BookmarkActivity extends SnackbarActivity {
|
||||
@@ -131,6 +139,14 @@ public class BookmarkActivity extends SnackbarActivity {
|
||||
mOnKeyDownHandler =
|
||||
BackPressHelper.create(
|
||||
this, getOnBackPressedDispatcher(), mBookmarkManagerCoordinator);
|
||||
@@ -167,7 +167,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/bookmarks/B
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -111,6 +127,7 @@ public class BookmarkActivity extends SnackbarActivity {
|
||||
@@ -163,6 +179,7 @@ public class BookmarkActivity extends SnackbarActivity {
|
||||
@Override
|
||||
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
|
||||
super.onActivityResult(requestCode, resultCode, data);
|
||||
@@ -175,7 +175,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/bookmarks/B
|
||||
if (requestCode == EDIT_BOOKMARK_REQUEST_CODE && resultCode == RESULT_OK) {
|
||||
assumeNonNull(data);
|
||||
BookmarkId bookmarkId =
|
||||
@@ -120,6 +137,21 @@ public class BookmarkActivity extends SnackbarActivity {
|
||||
@@ -172,6 +189,21 @@ public class BookmarkActivity extends SnackbarActivity {
|
||||
}
|
||||
}
|
||||
|
||||
@@ -235,7 +235,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/native_page/Nat
|
||||
private final BottomSheetController mBottomSheetController;
|
||||
private final Supplier<NewTabPageCreationTracker> mNewTabPageCreationTracker;
|
||||
private final BrowserControlsManager mBrowserControlsManager;
|
||||
@@ -326,7 +327,7 @@ public class NativePageFactory {
|
||||
@@ -331,7 +332,7 @@ public class NativePageFactory {
|
||||
mTabModelSelector,
|
||||
mEdgeToEdgeControllerSupplier),
|
||||
mActivity.getComponentName(),
|
||||
@@ -247,7 +247,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/native_page/Nat
|
||||
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
|
||||
--- a/chrome/browser/BUILD.gn
|
||||
+++ b/chrome/browser/BUILD.gn
|
||||
@@ -208,6 +208,8 @@ static_library("browser") {
|
||||
@@ -209,6 +209,8 @@ static_library("browser") {
|
||||
"bad_message.h",
|
||||
"bookmarks/bookmark_model_factory.cc",
|
||||
"bookmarks/bookmark_model_factory.h",
|
||||
@@ -256,7 +256,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
|
||||
"bookmarks/chrome_bookmark_client.cc",
|
||||
"bookmarks/chrome_bookmark_client.h",
|
||||
"bookmarks/managed_bookmark_service_factory.cc",
|
||||
@@ -1531,6 +1533,13 @@ static_library("browser") {
|
||||
@@ -1507,6 +1509,13 @@ static_library("browser") {
|
||||
"webdata_services/web_data_service_factory.cc",
|
||||
]
|
||||
|
||||
@@ -270,7 +270,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
|
||||
configs += [
|
||||
"//build/config/compiler:wexit_time_destructors",
|
||||
"//build/config:precompiled_headers",
|
||||
@@ -3703,8 +3712,6 @@ static_library("browser") {
|
||||
@@ -3684,8 +3693,6 @@ static_library("browser") {
|
||||
"bookmarks/bookmark_expanded_state_tracker.h",
|
||||
"bookmarks/bookmark_expanded_state_tracker_factory.cc",
|
||||
"bookmarks/bookmark_expanded_state_tracker_factory.h",
|
||||
@@ -322,7 +322,7 @@ diff --git a/chrome/browser/bookmarks/android/bookmark_bridge.cc b/chrome/browse
|
||||
}
|
||||
|
||||
void BookmarkBridge::Destroy(JNIEnv* env) {
|
||||
@@ -844,6 +870,173 @@ jint BookmarkBridge::GetTotalBookmarkCount(
|
||||
@@ -841,6 +867,173 @@ int32_t BookmarkBridge::GetTotalBookmarkCount(JNIEnv* env,
|
||||
return count;
|
||||
}
|
||||
|
||||
@@ -494,8 +494,8 @@ diff --git a/chrome/browser/bookmarks/android/bookmark_bridge.cc b/chrome/browse
|
||||
+void BookmarkBridge::FileSelectionCanceled() {}
|
||||
+
|
||||
void BookmarkBridge::SetBookmarkTitle(JNIEnv* env,
|
||||
jlong id,
|
||||
jint type,
|
||||
int64_t id,
|
||||
int32_t type,
|
||||
diff --git a/chrome/browser/bookmarks/android/bookmark_bridge.h b/chrome/browser/bookmarks/android/bookmark_bridge.h
|
||||
--- a/chrome/browser/bookmarks/android/bookmark_bridge.h
|
||||
+++ b/chrome/browser/bookmarks/android/bookmark_bridge.h
|
||||
@@ -540,8 +540,8 @@ diff --git a/chrome/browser/bookmarks/android/bookmark_bridge.h b/chrome/browser
|
||||
|
||||
void LoadEmptyPartnerBookmarkShimForTesting(JNIEnv* env);
|
||||
@@ -119,6 +129,17 @@ class BookmarkBridge : public ProfileObserver,
|
||||
jlong id,
|
||||
jint type);
|
||||
int64_t id,
|
||||
int32_t type);
|
||||
|
||||
+ void ImportBookmarks(JNIEnv* env,
|
||||
+ const base::android::JavaRef<jobject>& obj,
|
||||
@@ -557,7 +557,7 @@ diff --git a/chrome/browser/bookmarks/android/bookmark_bridge.h b/chrome/browser
|
||||
void GetAllFoldersWithDepths(
|
||||
JNIEnv* env,
|
||||
const base::android::JavaRef<jobject>& j_folders_obj,
|
||||
@@ -379,6 +400,8 @@ class BookmarkBridge : public ProfileObserver,
|
||||
@@ -372,6 +393,8 @@ class BookmarkBridge : public ProfileObserver,
|
||||
void CreateOrDestroyAccountReadingListManagerIfNeeded();
|
||||
|
||||
const raw_ptr<Profile> profile_; // weak
|
||||
@@ -566,7 +566,7 @@ diff --git a/chrome/browser/bookmarks/android/bookmark_bridge.h b/chrome/browser
|
||||
base::android::ScopedJavaGlobalRef<jobject> java_bookmark_model_;
|
||||
const raw_ptr<bookmarks::BookmarkModel> bookmark_model_; // weak
|
||||
const raw_ptr<bookmarks::ManagedBookmarkService>
|
||||
@@ -393,6 +416,7 @@ class BookmarkBridge : public ProfileObserver,
|
||||
@@ -386,6 +409,7 @@ class BookmarkBridge : public ProfileObserver,
|
||||
std::unique_ptr<bookmarks::ScopedGroupBookmarkActions>
|
||||
grouped_bookmark_actions_;
|
||||
PrefChangeRegistrar pref_change_registrar_;
|
||||
@@ -574,7 +574,7 @@ diff --git a/chrome/browser/bookmarks/android/bookmark_bridge.h b/chrome/browser
|
||||
|
||||
// Information about the Partner bookmarks (must check for IsLoaded()).
|
||||
// This is owned by profile.
|
||||
@@ -427,6 +451,10 @@ class BookmarkBridge : public ProfileObserver,
|
||||
@@ -420,6 +444,10 @@ class BookmarkBridge : public ProfileObserver,
|
||||
base::TimeTicks load_start_time_;
|
||||
bool loading_notification_sent_ = false;
|
||||
|
||||
@@ -678,16 +678,16 @@ diff --git a/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/brows
|
||||
diff --git a/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkManagerCoordinator.java b/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkManagerCoordinator.java
|
||||
--- a/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkManagerCoordinator.java
|
||||
+++ b/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkManagerCoordinator.java
|
||||
@@ -60,6 +60,8 @@ import org.chromium.components.image_fetcher.ImageFetcherConfig;
|
||||
import org.chromium.components.image_fetcher.ImageFetcherFactory;
|
||||
import org.chromium.ui.KeyboardVisibilityDelegate;
|
||||
@@ -66,6 +66,8 @@ import org.chromium.ui.base.ActivityResultTracker;
|
||||
import org.chromium.ui.base.Clipboard;
|
||||
import org.chromium.ui.base.WindowAndroid;
|
||||
import org.chromium.ui.edge_to_edge.EdgeToEdgePadAdjuster;
|
||||
+import org.chromium.ui.base.ActivityWindowAndroid;
|
||||
+import org.chromium.ui.modaldialog.ModalDialogManager;
|
||||
import org.chromium.ui.modaldialog.ModalDialogManager;
|
||||
import org.chromium.ui.modaldialog.ModalDialogManager.ModalDialogType;
|
||||
import org.chromium.ui.modelutil.MVCListAdapter.ListItem;
|
||||
@@ -354,6 +356,13 @@ public class BookmarkManagerCoordinator
|
||||
@@ -369,6 +371,13 @@ public class BookmarkManagerCoordinator
|
||||
|
||||
// Public API implementation.
|
||||
|
||||
@@ -704,16 +704,16 @@ diff --git a/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/brows
|
||||
diff --git a/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkManagerMediator.java b/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkManagerMediator.java
|
||||
--- a/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkManagerMediator.java
|
||||
+++ b/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkManagerMediator.java
|
||||
@@ -64,6 +64,8 @@ import org.chromium.components.commerce.core.ShoppingService;
|
||||
@@ -67,6 +67,8 @@ import org.chromium.components.commerce.core.ShoppingService;
|
||||
import org.chromium.components.commerce.core.SubscriptionsObserver;
|
||||
import org.chromium.components.power_bookmarks.PowerBookmarkMeta;
|
||||
import org.chromium.components.power_bookmarks.PowerBookmarkType;
|
||||
+import org.chromium.ui.base.ActivityWindowAndroid;
|
||||
+import org.chromium.ui.modaldialog.ModalDialogManager;
|
||||
import org.chromium.ui.accessibility.AccessibilityState;
|
||||
import org.chromium.ui.base.Clipboard;
|
||||
import org.chromium.ui.base.DeviceFormFactor;
|
||||
import org.chromium.ui.base.DeviceInput;
|
||||
@@ -85,6 +87,47 @@ import java.util.function.BooleanSupplier;
|
||||
@@ -89,6 +91,47 @@ import java.util.function.BooleanSupplier;
|
||||
import java.util.function.Consumer;
|
||||
import java.util.function.Predicate;
|
||||
|
||||
@@ -761,7 +761,7 @@ diff --git a/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/brows
|
||||
/** Responsible for BookmarkManager business logic. */
|
||||
// TODO(crbug.com/40256938): Remove BookmarkDelegate if possible.
|
||||
@NullMarked
|
||||
@@ -95,6 +138,9 @@ class BookmarkManagerMediator
|
||||
@@ -99,6 +142,9 @@ class BookmarkManagerMediator
|
||||
|
||||
private static boolean sPreventLoadingForTesting;
|
||||
|
||||
@@ -771,7 +771,7 @@ diff --git a/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/brows
|
||||
/** Keeps track of whether drag is enabled / active for bookmark lists. */
|
||||
private class BookmarkDragStateDelegate implements DragStateDelegate {
|
||||
private BookmarkDelegate mBookmarkDelegate;
|
||||
@@ -647,6 +693,14 @@ class BookmarkManagerMediator
|
||||
@@ -641,6 +687,14 @@ class BookmarkManagerMediator
|
||||
mNativePage = nativePage;
|
||||
}
|
||||
|
||||
@@ -786,7 +786,7 @@ diff --git a/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/brows
|
||||
/** See BookmarkManager(Coordinator)#updateForUrl */
|
||||
void updateForUrl(String url) {
|
||||
// Bookmark model is null if the manager has been destroyed.
|
||||
@@ -819,6 +873,235 @@ class BookmarkManagerMediator
|
||||
@@ -809,6 +863,235 @@ class BookmarkManagerMediator
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1025,17 +1025,17 @@ diff --git a/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/brows
|
||||
diff --git a/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkPage.java b/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkPage.java
|
||||
--- a/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkPage.java
|
||||
+++ b/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkPage.java
|
||||
@@ -16,6 +16,9 @@ import org.chromium.chrome.browser.ui.messages.snackbar.SnackbarManager;
|
||||
import org.chromium.chrome.browser.ui.native_page.BasicNativePage;
|
||||
import org.chromium.chrome.browser.ui.native_page.NativePageHost;
|
||||
import org.chromium.components.embedder_support.util.UrlConstants;
|
||||
@@ -22,6 +22,9 @@ import org.chromium.ui.base.ActivityResultTracker;
|
||||
import org.chromium.ui.base.WindowAndroid;
|
||||
|
||||
import java.util.function.Supplier;
|
||||
+import org.chromium.chrome.browser.app.ChromeActivity;
|
||||
+import org.chromium.ui.modaldialog.ModalDialogManager;
|
||||
+import org.chromium.components.browser_ui.modaldialog.AppModalPresenter;
|
||||
|
||||
/** A native page holding a {@link BookmarkManagerCoordinator} on _tablet_. */
|
||||
@NullMarked
|
||||
@@ -37,7 +40,8 @@ public class BookmarkPage extends BasicNativePage {
|
||||
@@ -52,7 +55,8 @@ public class BookmarkPage extends BasicNativePage {
|
||||
Profile profile,
|
||||
NativePageHost host,
|
||||
@Nullable ComponentName componentName,
|
||||
@@ -1045,7 +1045,7 @@ diff --git a/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/brows
|
||||
super(host);
|
||||
|
||||
mTitle = host.getContext().getString(R.string.bookmarks);
|
||||
@@ -65,6 +69,9 @@ public class BookmarkPage extends BasicNativePage {
|
||||
@@ -83,6 +87,9 @@ public class BookmarkPage extends BasicNativePage {
|
||||
backPressManager);
|
||||
|
||||
mBookmarkManagerCoordinator.setBasicNativePage(this);
|
||||
@@ -1247,7 +1247,7 @@ diff --git a/chrome/browser/download/android/java/src/org/chromium/chrome/browse
|
||||
diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browser/flags/android/chrome_feature_list.cc
|
||||
--- a/chrome/browser/flags/android/chrome_feature_list.cc
|
||||
+++ b/chrome/browser/flags/android/chrome_feature_list.cc
|
||||
@@ -257,6 +257,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
|
||||
@@ -263,6 +263,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
|
||||
&kAvoidDoubleMultiwindowChanges,
|
||||
&kBlockIntentsWhileLocked,
|
||||
&kBookmarkPaneAndroid,
|
||||
@@ -1258,7 +1258,7 @@ diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browse
|
||||
diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
|
||||
--- a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
|
||||
+++ b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
|
||||
@@ -694,6 +694,7 @@ public abstract class ChromeFeatureList {
|
||||
@@ -698,6 +698,7 @@ public abstract class ChromeFeatureList {
|
||||
"UseLibunwindstackNativeUnwinderAndroid";
|
||||
public static final String VERIFY_QWACS = "VerifyQWACs";
|
||||
public static final String VISITED_URL_RANKING_SERVICE = "VisitedURLRankingService";
|
||||
@@ -1321,7 +1321,7 @@ diff --git a/chrome/browser/preferences/android/java/src/org/chromium/chrome/bro
|
||||
|
||||
/** Whether Chrome is set as the default browser. Default value is false. */
|
||||
public static final String CHROME_DEFAULT_BROWSER = "applink.chrome_default_browser";
|
||||
@@ -1167,6 +1169,7 @@ public final class ChromePreferenceKeys {
|
||||
@@ -1191,6 +1193,7 @@ public final class ChromePreferenceKeys {
|
||||
AUXILIARY_SEARCH_SCHEMA_VERSION,
|
||||
APP_LAUNCH_LAST_KNOWN_ACTIVE_TAB_STATE,
|
||||
APP_LAUNCH_SEARCH_ENGINE_HAD_LOGO,
|
||||
@@ -1360,7 +1360,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro
|
||||
diff --git a/chrome/utility/BUILD.gn b/chrome/utility/BUILD.gn
|
||||
--- a/chrome/utility/BUILD.gn
|
||||
+++ b/chrome/utility/BUILD.gn
|
||||
@@ -212,6 +212,13 @@ static_library("utility") {
|
||||
@@ -215,6 +215,13 @@ static_library("utility") {
|
||||
deps += [ "//chrome/services/pdf:lib" ]
|
||||
}
|
||||
|
||||
|
||||
@@ -72,24 +72,24 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
components/page_info/page_info.h | 1 +
|
||||
.../permissions/PermissionDialogDelegate.java | 13 +++
|
||||
.../PermissionDialogModelFactory.java | 83 ++++++++++++++++++-
|
||||
.../embedded_permission_prompt_android.cc | 3 +-
|
||||
.../embedded_permission_prompt_android.cc | 2 +-
|
||||
.../embedded_permission_prompt_android.h | 2 +-
|
||||
.../permission_dialog_delegate.cc | 24 +++++-
|
||||
.../permission_dialog_delegate.h | 1 +
|
||||
.../permission_prompt_android.cc | 8 +-
|
||||
.../permission_prompt_android.cc | 5 +-
|
||||
.../permission_prompt_android.h | 3 +-
|
||||
.../android/permissions_android_strings.grd | 17 ++++
|
||||
.../geolocation_permission_context_android.cc | 30 +++++--
|
||||
.../geolocation_permission_context_android.cc | 28 +++++--
|
||||
.../geolocation_permission_context_android.h | 8 ++
|
||||
.../embedded_permission_prompt_flow_model.cc | 2 +-
|
||||
.../permissions/permission_context_base.cc | 64 ++++++++++++--
|
||||
.../permissions/permission_context_base.cc | 59 +++++++++++--
|
||||
.../permissions/permission_context_base.h | 26 +++++-
|
||||
components/permissions/permission_prompt.h | 3 +-
|
||||
components/permissions/permission_request.cc | 34 +++++++-
|
||||
components/permissions/permission_request.h | 18 +++-
|
||||
.../permissions/permission_request_manager.cc | 49 ++++++-----
|
||||
.../permissions/permission_request_manager.h | 11 ++-
|
||||
37 files changed, 508 insertions(+), 75 deletions(-)
|
||||
37 files changed, 501 insertions(+), 71 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
|
||||
@@ -233,43 +233,43 @@ 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
|
||||
@@ -227,7 +227,7 @@ void ChipController::OnWidgetDestroyed(views::Widget* widget) {
|
||||
active_chip_permission_request_manager_.value()->Accept();
|
||||
@@ -236,7 +236,7 @@ void ChipController::OnWidgetDestroyed(views::Widget* widget) {
|
||||
break;
|
||||
case permissions::PermissionAction::GRANTED_ONCE:
|
||||
- active_chip_permission_request_manager_.value()->AcceptThisTime();
|
||||
+ active_chip_permission_request_manager_.value()->AcceptThisTime(content_settings::mojom::LifetimeMode::ONLY_THIS_TIME);
|
||||
active_chip_permission_request_manager_.value()->AcceptThisTime(
|
||||
- /*prompt_options=*/std::monostate());
|
||||
+ /*prompt_options=*/std::monostate(), content_settings::mojom::LifetimeMode::ONLY_THIS_TIME);
|
||||
break;
|
||||
case permissions::PermissionAction::DENIED:
|
||||
active_chip_permission_request_manager_.value()->Deny();
|
||||
active_chip_permission_request_manager_.value()->Deny(
|
||||
diff --git a/chrome/browser/ui/views/permissions/exclusive_access_permission_prompt_view.cc b/chrome/browser/ui/views/permissions/exclusive_access_permission_prompt_view.cc
|
||||
--- a/chrome/browser/ui/views/permissions/exclusive_access_permission_prompt_view.cc
|
||||
+++ b/chrome/browser/ui/views/permissions/exclusive_access_permission_prompt_view.cc
|
||||
@@ -117,7 +117,7 @@ void ExclusiveAccessPermissionPromptView::RunButtonCallback(int button_id) {
|
||||
@@ -119,7 +119,7 @@ void ExclusiveAccessPermissionPromptView::RunButtonCallback(int button_id) {
|
||||
request_type(), GetPermissionActionString(button),
|
||||
record_browser_always_active_value());
|
||||
if (button == ButtonType::kAllowThisTime) {
|
||||
- delegate_->AcceptThisTime();
|
||||
+ delegate_->AcceptThisTime(content_settings::mojom::LifetimeMode::ONLY_THIS_TIME);
|
||||
- delegate_->AcceptThisTime(/*prompt_options=*/std::monostate());
|
||||
+ delegate_->AcceptThisTime(/*prompt_options=*/std::monostate(), content_settings::mojom::LifetimeMode::ONLY_THIS_TIME);
|
||||
} else if (button == ButtonType::kAlwaysAllow) {
|
||||
delegate_->Accept();
|
||||
delegate_->Accept(/*prompt_options=*/std::monostate());
|
||||
} else if (button == ButtonType::kNeverAllow) {
|
||||
diff --git a/chrome/browser/ui/views/permissions/permission_prompt_bubble_base_view.cc b/chrome/browser/ui/views/permissions/permission_prompt_bubble_base_view.cc
|
||||
--- a/chrome/browser/ui/views/permissions/permission_prompt_bubble_base_view.cc
|
||||
+++ b/chrome/browser/ui/views/permissions/permission_prompt_bubble_base_view.cc
|
||||
@@ -295,7 +295,7 @@ void PermissionPromptBubbleBaseView::RunButtonCallback(int button_id) {
|
||||
delegate_->Accept();
|
||||
@@ -302,7 +302,7 @@ void PermissionPromptBubbleBaseView::RunButtonCallback(int button_id) {
|
||||
delegate_->Accept(/*prompt_options=*/std::monostate());
|
||||
return;
|
||||
case PermissionDialogButton::kAcceptOnce:
|
||||
- delegate_->AcceptThisTime();
|
||||
+ delegate_->AcceptThisTime(content_settings::mojom::LifetimeMode::ONLY_THIS_TIME);
|
||||
- delegate_->AcceptThisTime(/*prompt_options=*/std::monostate());
|
||||
+ delegate_->AcceptThisTime(/*prompt_options=*/std::monostate(), content_settings::mojom::LifetimeMode::ONLY_THIS_TIME);
|
||||
return;
|
||||
case PermissionDialogButton::kDeny:
|
||||
#if BUILDFLAG(IS_CHROMEOS)
|
||||
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
|
||||
@@ -721,6 +721,11 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment
|
||||
@@ -724,6 +724,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();
|
||||
@@ -1398,6 +1403,10 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment
|
||||
@@ -1401,6 +1406,10 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment
|
||||
.getDefaultColor());
|
||||
}
|
||||
}
|
||||
@@ -295,7 +295,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
|
||||
diff --git a/components/browser_ui/site_settings/android/website_preference_bridge.cc b/components/browser_ui/site_settings/android/website_preference_bridge.cc
|
||||
--- a/components/browser_ui/site_settings/android/website_preference_bridge.cc
|
||||
+++ b/components/browser_ui/site_settings/android/website_preference_bridge.cc
|
||||
@@ -241,7 +241,7 @@ void GetOrigins(JNIEnv* env,
|
||||
@@ -240,7 +240,7 @@ void GetOrigins(JNIEnv* env,
|
||||
seen_origins.push_back(origin);
|
||||
insertionFunc(env, static_cast<int>(content_type), list,
|
||||
ConvertOriginToJavaString(env, origin), jembedder,
|
||||
@@ -307,7 +307,7 @@ diff --git a/components/browser_ui/site_settings/android/website_preference_brid
|
||||
diff --git a/components/browser_ui/strings/android/browser_ui_strings.grd b/components/browser_ui/strings/android/browser_ui_strings.grd
|
||||
--- a/components/browser_ui/strings/android/browser_ui_strings.grd
|
||||
+++ b/components/browser_ui/strings/android/browser_ui_strings.grd
|
||||
@@ -626,6 +626,11 @@
|
||||
@@ -635,6 +635,11 @@
|
||||
<message name="IDS_PAGE_INFO_URL_TRUNCATED" desc="Accessibility announcement when the URL in PageInfo switches from full to truncated display">
|
||||
URL truncated
|
||||
</message>
|
||||
@@ -483,7 +483,7 @@ 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
|
||||
@@ -221,6 +221,8 @@ void PageInfoControllerAndroid::SetPermissionInfo(
|
||||
@@ -218,6 +218,8 @@ void PageInfoControllerAndroid::SetPermissionInfo(
|
||||
// being requested. This is needed for the Clapper experiment
|
||||
// (crbug.com/458351800) and (crbug.com/463333225).
|
||||
bool requested_notifications = false;
|
||||
@@ -491,8 +491,8 @@ diff --git a/components/page_info/android/page_info_controller_android.cc b/comp
|
||||
+ user_specified_settings_is_user_session;
|
||||
|
||||
for (const auto& permission : permission_info_list) {
|
||||
if (base::Contains(permissions_to_display, permission.type)) {
|
||||
@@ -233,6 +235,8 @@ void PageInfoControllerAndroid::SetPermissionInfo(
|
||||
if (std::ranges::contains(permissions_to_display, permission.type)) {
|
||||
@@ -230,6 +232,8 @@ void PageInfoControllerAndroid::SetPermissionInfo(
|
||||
|
||||
user_specified_settings_to_display[permission.type] =
|
||||
info->delegate().IsAnyPermissionAllowed(*setting_to_display);
|
||||
@@ -501,9 +501,9 @@ diff --git a/components/page_info/android/page_info_controller_android.cc b/comp
|
||||
}
|
||||
|
||||
// Notifications permission can have the setting to display as DEFAULT
|
||||
@@ -259,7 +263,8 @@ void PageInfoControllerAndroid::SetPermissionInfo(
|
||||
@@ -256,7 +260,8 @@ void PageInfoControllerAndroid::SetPermissionInfo(
|
||||
ConvertUTF16ToJavaString(env, setting_title_mid_sentence),
|
||||
static_cast<jint>(permission),
|
||||
static_cast<int32_t>(permission),
|
||||
user_specified_settings_to_display[permission],
|
||||
- requested_notifications);
|
||||
+ requested_notifications,
|
||||
@@ -511,12 +511,12 @@ diff --git a/components/page_info/android/page_info_controller_android.cc b/comp
|
||||
}
|
||||
}
|
||||
|
||||
@@ -272,7 +277,8 @@ void PageInfoControllerAndroid::SetPermissionInfo(
|
||||
@@ -269,7 +274,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), requested_notifications);
|
||||
+ static_cast<jint>(CONTENT_SETTING_ALLOW), requested_notifications,
|
||||
static_cast<int32_t>(chosen_object->ui_info->content_settings_type),
|
||||
- static_cast<int32_t>(CONTENT_SETTING_ALLOW), requested_notifications);
|
||||
+ static_cast<int32_t>(CONTENT_SETTING_ALLOW), requested_notifications,
|
||||
+ /* is_user_session */ false);
|
||||
}
|
||||
|
||||
@@ -524,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
|
||||
@@ -1294,6 +1294,8 @@ void PageInfo::PopulatePermissionInfo(PermissionInfo& permission_info,
|
||||
@@ -1305,6 +1305,8 @@ void PageInfo::PopulatePermissionInfo(PermissionInfo& permission_info,
|
||||
permission_info.is_one_time =
|
||||
(info.metadata.session_model() ==
|
||||
content_settings::mojom::SessionModel::ONE_TIME);
|
||||
@@ -684,13 +684,12 @@ 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
|
||||
@@ -123,7 +123,8 @@ void EmbeddedPermissionPromptAndroid::Acknowledge() {
|
||||
delegate()->FinalizeCurrentRequests();
|
||||
@@ -126,7 +126,7 @@ void EmbeddedPermissionPromptAndroid::Acknowledge(
|
||||
}
|
||||
|
||||
-void EmbeddedPermissionPromptAndroid::AcceptThisTime() {
|
||||
+void EmbeddedPermissionPromptAndroid::AcceptThisTime(
|
||||
+ content_settings::mojom::LifetimeMode lifetimeOption) {
|
||||
void EmbeddedPermissionPromptAndroid::AcceptThisTime(
|
||||
- const PromptOptions& prompt_options) {
|
||||
+ const PromptOptions& prompt_options, content_settings::mojom::LifetimeMode lifetimeOption) {
|
||||
prompt_model_->PrecalculateVariantsForMetrics();
|
||||
prompt_model_->RecordPermissionActionUKM(
|
||||
permissions::ElementAnchoredBubbleAction::kGrantedOnce);
|
||||
@@ -699,12 +698,12 @@ diff --git a/components/permissions/android/permission_prompt/embedded_permissio
|
||||
+++ b/components/permissions/android/permission_prompt/embedded_permission_prompt_android.h
|
||||
@@ -45,7 +45,7 @@ class EmbeddedPermissionPromptAndroid : public PermissionPromptAndroid {
|
||||
const override;
|
||||
void Dismiss() override;
|
||||
void Accept() override;
|
||||
- void AcceptThisTime() override;
|
||||
+ void AcceptThisTime(content_settings::mojom::LifetimeMode lifetimeOption) override;
|
||||
void Acknowledge() override;
|
||||
void Deny() override;
|
||||
void Dismiss(const PromptOptions& prompt_options) override;
|
||||
void Accept(const PromptOptions& prompt_options) override;
|
||||
- void AcceptThisTime(const PromptOptions& prompt_options) override;
|
||||
+ void AcceptThisTime(const PromptOptions& prompt_options, content_settings::mojom::LifetimeMode lifetimeOption) override;
|
||||
void Acknowledge(const PromptOptions& prompt_options) override;
|
||||
void Deny(const PromptOptions& prompt_options) override;
|
||||
void Resumed() override;
|
||||
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
|
||||
@@ -732,16 +731,16 @@ diff --git a/components/permissions/android/permission_prompt/permission_dialog_
|
||||
+ permission_prompt_->AcceptThisTime(lifetimeOption);
|
||||
+ return;
|
||||
+ }
|
||||
permission_prompt_->Accept();
|
||||
permission_prompt_->Accept(prompt_options_);
|
||||
}
|
||||
|
||||
void PermissionDialogDelegate::AcceptThisTime(JNIEnv* env) {
|
||||
CHECK(permission_prompt_);
|
||||
- permission_prompt_->AcceptThisTime();
|
||||
- permission_prompt_->AcceptThisTime(prompt_options_);
|
||||
+ content_settings::mojom::LifetimeMode lifetimeOption =
|
||||
+ static_cast<content_settings::mojom::LifetimeMode>(
|
||||
+ java_delegate_->GetSelectedLifetimeOption());
|
||||
+ permission_prompt_->AcceptThisTime(lifetimeOption);
|
||||
+ permission_prompt_->AcceptThisTime(prompt_options_, lifetimeOption);
|
||||
}
|
||||
|
||||
void PermissionDialogDelegate::Acknowledge(JNIEnv* env) {
|
||||
@@ -756,13 +755,13 @@ diff --git a/components/permissions/android/permission_prompt/permission_dialog_
|
||||
+ permission_prompt_->DenyThisTime(lifetimeOption);
|
||||
+ return;
|
||||
+ }
|
||||
permission_prompt_->Deny();
|
||||
permission_prompt_->Deny(prompt_options_);
|
||||
}
|
||||
|
||||
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
|
||||
@@ -43,6 +43,7 @@ class PermissionDialogJavaDelegate {
|
||||
@@ -46,6 +46,7 @@ class PermissionDialogJavaDelegate {
|
||||
const favicon_base::FaviconRawBitmapResult& favicon_result);
|
||||
|
||||
virtual void DismissDialog();
|
||||
@@ -773,33 +772,30 @@ diff --git a/components/permissions/android/permission_prompt/permission_dialog_
|
||||
diff --git a/components/permissions/android/permission_prompt/permission_prompt_android.cc b/components/permissions/android/permission_prompt/permission_prompt_android.cc
|
||||
--- a/components/permissions/android/permission_prompt/permission_prompt_android.cc
|
||||
+++ b/components/permissions/android/permission_prompt/permission_prompt_android.cc
|
||||
@@ -85,8 +85,12 @@ void PermissionPromptAndroid::Accept() {
|
||||
delegate_->Accept();
|
||||
@@ -86,8 +86,9 @@ void PermissionPromptAndroid::Accept(const PromptOptions& prompt_options) {
|
||||
}
|
||||
|
||||
-void PermissionPromptAndroid::AcceptThisTime() {
|
||||
- delegate_->AcceptThisTime();
|
||||
+void PermissionPromptAndroid::AcceptThisTime(content_settings::mojom::LifetimeMode lifetimeOption) {
|
||||
+ delegate_->AcceptThisTime(lifetimeOption);
|
||||
+}
|
||||
+
|
||||
+void PermissionPromptAndroid::DenyThisTime(content_settings::mojom::LifetimeMode lifetimeOption) {
|
||||
+ delegate_->DenyThisTime(lifetimeOption);
|
||||
void PermissionPromptAndroid::AcceptThisTime(
|
||||
- const PromptOptions& prompt_options) {
|
||||
- delegate_->AcceptThisTime(prompt_options);
|
||||
+ const PromptOptions& prompt_options,
|
||||
+ content_settings::mojom::LifetimeMode lifetimeOption) {
|
||||
+ delegate_->AcceptThisTime(prompt_options, lifetimeOption);
|
||||
}
|
||||
|
||||
void PermissionPromptAndroid::Deny() {
|
||||
void PermissionPromptAndroid::Deny(const PromptOptions& prompt_options) {
|
||||
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
|
||||
@@ -57,10 +57,11 @@ class PermissionPromptAndroid : public PermissionPrompt {
|
||||
const;
|
||||
virtual void Dismiss();
|
||||
virtual void Accept();
|
||||
- virtual void AcceptThisTime();
|
||||
+ virtual void AcceptThisTime(content_settings::mojom::LifetimeMode lifetimeOption);
|
||||
virtual void Acknowledge() {}
|
||||
virtual void Deny();
|
||||
virtual void Ignore();
|
||||
virtual void Dismiss(const PromptOptions& prompt_options);
|
||||
virtual void Accept(const PromptOptions& prompt_options);
|
||||
- virtual void AcceptThisTime(const PromptOptions& prompt_options);
|
||||
+ virtual void AcceptThisTime(const PromptOptions& prompt_options, content_settings::mojom::LifetimeMode lifetimeOption);
|
||||
virtual void Acknowledge(const PromptOptions& prompt_options) {}
|
||||
virtual void Deny(const PromptOptions& prompt_options);
|
||||
virtual void Ignore(const PromptOptions& prompt_options);
|
||||
+ virtual void DenyThisTime(content_settings::mojom::LifetimeMode lifetimeOption);
|
||||
virtual void Resumed() {}
|
||||
virtual void SystemSettingsShown() {}
|
||||
@@ -807,7 +803,7 @@ diff --git a/components/permissions/android/permission_prompt/permission_prompt_
|
||||
diff --git a/components/permissions/android/permissions_android_strings.grd b/components/permissions/android/permissions_android_strings.grd
|
||||
--- a/components/permissions/android/permissions_android_strings.grd
|
||||
+++ b/components/permissions/android/permissions_android_strings.grd
|
||||
@@ -267,6 +267,23 @@
|
||||
@@ -272,6 +272,23 @@
|
||||
Unknown or unsupported device (<ph name="DEVICE_ID">%1$s<ex>A1:B2:C3:D4:E5:F6</ex></ph>)
|
||||
</message>
|
||||
|
||||
@@ -834,10 +830,10 @@ diff --git a/components/permissions/android/permissions_android_strings.grd b/co
|
||||
diff --git a/components/permissions/contexts/geolocation_permission_context_android.cc b/components/permissions/contexts/geolocation_permission_context_android.cc
|
||||
--- a/components/permissions/contexts/geolocation_permission_context_android.cc
|
||||
+++ b/components/permissions/contexts/geolocation_permission_context_android.cc
|
||||
@@ -195,7 +195,18 @@ void GeolocationPermissionContextAndroid::NotifyPermissionSet(
|
||||
PermissionDecision decision,
|
||||
bool is_final_decision) {
|
||||
DCHECK(is_final_decision);
|
||||
@@ -213,7 +213,18 @@ void GeolocationPermissionContextAndroid::NotifyPermissionSet(
|
||||
bool persist,
|
||||
const permissions::PermissionPromptDecision& decision) {
|
||||
DCHECK(decision.is_final);
|
||||
+ NotifyPermissionSetWithLifetime(request_data,
|
||||
+ std::move(callback), persist, decision, is_final_decision,
|
||||
+ content_settings::mojom::LifetimeMode::ALWAYS);
|
||||
@@ -852,32 +848,31 @@ diff --git a/components/permissions/contexts/geolocation_permission_context_andr
|
||||
+ content_settings::mojom::LifetimeMode lifetime_option) {
|
||||
bool is_default_search =
|
||||
IsRequestingOriginDSE(request_data.requesting_origin);
|
||||
if (decision == PermissionDecision::kAllow &&
|
||||
@@ -210,7 +221,7 @@ void GeolocationPermissionContextAndroid::NotifyPermissionSet(
|
||||
FinishNotifyPermissionSet(
|
||||
request_data.id, request_data.requesting_origin,
|
||||
if (decision.overall_decision == PermissionDecision::kAllow &&
|
||||
@@ -230,7 +241,7 @@ void GeolocationPermissionContextAndroid::NotifyPermissionSet(
|
||||
request_data.embedding_origin, std::move(callback),
|
||||
- false /* persist */, PermissionDecision::kDeny,
|
||||
+ false /* persist */, PermissionDecision::kDeny, lifetime_option,
|
||||
request_data.prompt_options,
|
||||
false /* persist */,
|
||||
permissions::PermissionPromptDecision{
|
||||
- .overall_decision = PermissionDecision::kDeny,
|
||||
+ .overall_decision = PermissionDecision::kDeny, lifetime_option,
|
||||
.prompt_options = decision.prompt_options,
|
||||
.is_final = true},
|
||||
request_data.embedded_permission_request_descriptor.Clone());
|
||||
return;
|
||||
@@ -232,7 +243,7 @@ void GeolocationPermissionContextAndroid::NotifyPermissionSet(
|
||||
FinishNotifyPermissionSet(
|
||||
request_data.id, request_data.requesting_origin,
|
||||
@@ -255,7 +266,7 @@ void GeolocationPermissionContextAndroid::NotifyPermissionSet(
|
||||
request_data.embedding_origin, std::move(callback),
|
||||
- false /* persist */, PermissionDecision::kDeny,
|
||||
+ false /* persist */, PermissionDecision::kDeny, lifetime_option,
|
||||
request_data.prompt_options,
|
||||
false /* persist */,
|
||||
permissions::PermissionPromptDecision{
|
||||
- .overall_decision = PermissionDecision::kDeny,
|
||||
+ .overall_decision = PermissionDecision::kDeny, lifetime_option,
|
||||
.prompt_options = decision.prompt_options,
|
||||
.is_final = true},
|
||||
request_data.embedded_permission_request_descriptor.Clone());
|
||||
return;
|
||||
@@ -246,14 +257,14 @@ void GeolocationPermissionContextAndroid::NotifyPermissionSet(
|
||||
@@ -270,13 +281,13 @@ void GeolocationPermissionContextAndroid::NotifyPermissionSet(
|
||||
base::BindOnce(
|
||||
&GeolocationPermissionContextAndroid::OnLocationSettingsDialogShown,
|
||||
weak_factory_.GetWeakPtr(), request_data.requesting_origin,
|
||||
- request_data.embedding_origin, persist, decision,
|
||||
+ request_data.embedding_origin, persist, decision, lifetime_option,
|
||||
request_data.prompt_options));
|
||||
- request_data.embedding_origin, persist, decision));
|
||||
+ request_data.embedding_origin, persist, decision, lifetime_option));
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -885,45 +880,42 @@ diff --git a/components/permissions/contexts/geolocation_permission_context_andr
|
||||
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());
|
||||
}
|
||||
@@ -432,7 +443,7 @@ void GeolocationPermissionContextAndroid::OnLocationSettingsDialogShown(
|
||||
const GURL& requesting_origin,
|
||||
|
||||
@@ -459,6 +470,7 @@ void GeolocationPermissionContextAndroid::OnLocationSettingsDialogShown(
|
||||
const GURL& embedding_origin,
|
||||
bool persist,
|
||||
- PermissionDecision decision,
|
||||
+ PermissionDecision decision, content_settings::mojom::LifetimeMode lifetime_option,
|
||||
std::optional<PromptOptions> prompt_options,
|
||||
const permissions::PermissionPromptDecision& decision,
|
||||
+ content_settings::mojom::LifetimeMode lifetime_option,
|
||||
LocationSettingsDialogOutcome prompt_outcome) {
|
||||
bool is_default_search = IsRequestingOriginDSE(requesting_origin);
|
||||
@@ -452,7 +463,7 @@ void GeolocationPermissionContextAndroid::OnLocationSettingsDialogShown(
|
||||
FinishNotifyPermissionSet(location_settings_dialog_request_id_,
|
||||
requesting_origin, embedding_origin,
|
||||
std::move(location_settings_dialog_callback_),
|
||||
- persist, decision, prompt_options);
|
||||
+ persist, decision, lifetime_option, prompt_options);
|
||||
PermissionPromptDecision result_decision = decision;
|
||||
@@ -477,7 +489,7 @@ void GeolocationPermissionContextAndroid::OnLocationSettingsDialogShown(
|
||||
|
||||
FinishNotifyPermissionSet(
|
||||
location_settings_dialog_request_id_, requesting_origin, embedding_origin,
|
||||
- std::move(location_settings_dialog_callback_), persist, result_decision);
|
||||
+ std::move(location_settings_dialog_callback_), persist, result_decision, lifetime_option);
|
||||
|
||||
location_settings_dialog_request_id_ =
|
||||
PermissionRequestID(content::GlobalRenderFrameHostId(0, 0),
|
||||
@@ -465,7 +476,7 @@ void GeolocationPermissionContextAndroid::FinishNotifyPermissionSet(
|
||||
const GURL& embedding_origin,
|
||||
@@ -491,6 +503,7 @@ void GeolocationPermissionContextAndroid::FinishNotifyPermissionSet(
|
||||
BrowserPermissionCallback callback,
|
||||
bool persist,
|
||||
- PermissionDecision decision,
|
||||
+ PermissionDecision decision, content_settings::mojom::LifetimeMode lifetime_option,
|
||||
std::optional<PromptOptions> prompt_options,
|
||||
const permissions::PermissionPromptDecision& decision,
|
||||
+ content_settings::mojom::LifetimeMode lifetime_option,
|
||||
blink::mojom::EmbeddedPermissionRequestDescriptorPtr
|
||||
embedded_permission_request_descriptor) {
|
||||
@@ -478,9 +489,10 @@ void GeolocationPermissionContextAndroid::FinishNotifyPermissionSet(
|
||||
PermissionRequestData request_data(
|
||||
@@ -502,8 +515,9 @@ void GeolocationPermissionContextAndroid::FinishNotifyPermissionSet(
|
||||
requesting_origin, embedding_origin);
|
||||
request_data.embedded_permission_request_descriptor =
|
||||
std::move(embedded_permission_request_descriptor);
|
||||
request_data.prompt_options = prompt_options.value_or(std::monostate());
|
||||
- GeolocationPermissionContext::NotifyPermissionSet(
|
||||
- request_data, std::move(callback), persist, decision);
|
||||
+ GeolocationPermissionContext::NotifyPermissionSetImpl(
|
||||
request_data,
|
||||
- std::move(callback), persist, decision, /*is_final_decision=*/true);
|
||||
+ std::move(callback), persist, decision, /*is_final_decision=*/true,
|
||||
+ request_data, std::move(callback), persist, decision,
|
||||
+ /*use_lifetime_option*/ true, lifetime_option);
|
||||
}
|
||||
|
||||
@@ -931,10 +923,10 @@ diff --git a/components/permissions/contexts/geolocation_permission_context_andr
|
||||
diff --git a/components/permissions/contexts/geolocation_permission_context_android.h b/components/permissions/contexts/geolocation_permission_context_android.h
|
||||
--- a/components/permissions/contexts/geolocation_permission_context_android.h
|
||||
+++ b/components/permissions/contexts/geolocation_permission_context_android.h
|
||||
@@ -92,6 +92,12 @@ class GeolocationPermissionContextAndroid
|
||||
bool persist,
|
||||
PermissionDecision decision,
|
||||
bool is_final_decision) override;
|
||||
@@ -94,6 +94,12 @@ class GeolocationPermissionContextAndroid
|
||||
BrowserPermissionCallback callback,
|
||||
bool persist,
|
||||
const permissions::PermissionPromptDecision& decision) override;
|
||||
+ void NotifyPermissionSetWithLifetime(const PermissionRequestData& request_data,
|
||||
+ BrowserPermissionCallback callback,
|
||||
+ bool persist,
|
||||
@@ -944,38 +936,38 @@ diff --git a/components/permissions/contexts/geolocation_permission_context_andr
|
||||
content::PermissionResult UpdatePermissionStatusWithDeviceStatus(
|
||||
content::WebContents* web_contents,
|
||||
content::PermissionResult result,
|
||||
@@ -136,6 +142,7 @@ class GeolocationPermissionContextAndroid
|
||||
@@ -139,6 +145,7 @@ class GeolocationPermissionContextAndroid
|
||||
const GURL& embedding_origin,
|
||||
bool persist,
|
||||
PermissionDecision decision,
|
||||
const permissions::PermissionPromptDecision& decision,
|
||||
+ content_settings::mojom::LifetimeMode lifetime_option,
|
||||
std::optional<PromptOptions> prompt_options,
|
||||
LocationSettingsDialogOutcome prompt_outcome);
|
||||
|
||||
@@ -146,6 +153,7 @@ class GeolocationPermissionContextAndroid
|
||||
void FinishNotifyPermissionSet(
|
||||
@@ -148,6 +155,7 @@ class GeolocationPermissionContextAndroid
|
||||
BrowserPermissionCallback callback,
|
||||
bool persist,
|
||||
PermissionDecision decision,
|
||||
const permissions::PermissionPromptDecision& 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
|
||||
@@ -293,7 +293,7 @@ void EmbeddedPermissionPromptFlowModel::SetDelegateAction(
|
||||
delegate_->Accept();
|
||||
@@ -297,7 +297,7 @@ void EmbeddedPermissionPromptFlowModel::SetDelegateAction(
|
||||
delegate_->Accept(prompt_options);
|
||||
break;
|
||||
case DelegateAction::kAllowThisTime:
|
||||
- delegate_->AcceptThisTime();
|
||||
+ delegate_->AcceptThisTime(content_settings::mojom::LifetimeMode::ONLY_THIS_TIME);
|
||||
- delegate_->AcceptThisTime(prompt_options);
|
||||
+ delegate_->AcceptThisTime(prompt_options, content_settings::mojom::LifetimeMode::ONLY_THIS_TIME);
|
||||
break;
|
||||
case DelegateAction::kDeny:
|
||||
delegate_->Deny();
|
||||
delegate_->Deny(prompt_options);
|
||||
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
|
||||
@@ -281,6 +281,17 @@ PermissionContextBase::CreatePermissionRequest(
|
||||
@@ -306,6 +306,17 @@ PermissionContextBase::CreatePermissionRequest(
|
||||
std::move(request_finished_callback), UsesAutomaticEmbargo());
|
||||
}
|
||||
|
||||
@@ -993,37 +985,33 @@ diff --git a/components/permissions/permission_context_base.cc b/components/perm
|
||||
bool PermissionContextBase::UsesAutomaticEmbargo() const {
|
||||
return true;
|
||||
}
|
||||
@@ -627,7 +638,8 @@ void PermissionContextBase::DecidePermission(
|
||||
@@ -651,7 +662,8 @@ void PermissionContextBase::DecidePermission(
|
||||
|
||||
void PermissionContextBase::PermissionDecided(
|
||||
PermissionDecision decision,
|
||||
bool is_final_decision,
|
||||
const permissions::PermissionPromptDecision& decision,
|
||||
- const PermissionRequestData& request_data) {
|
||||
+ const PermissionRequestData& request_data,
|
||||
+ content_settings::mojom::LifetimeMode lifetime_option) {
|
||||
UserMadePermissionDecision(request_data.id, request_data.requesting_origin,
|
||||
request_data.embedding_origin, decision);
|
||||
// If a permission request originates from an embedded element, its
|
||||
@@ -651,11 +663,12 @@ void PermissionContextBase::PermissionDecided(
|
||||
request_data.embedding_origin,
|
||||
decision.overall_decision);
|
||||
@@ -675,10 +687,10 @@ void PermissionContextBase::PermissionDecided(
|
||||
// Check if `request` has `BrowserPermissionCallback`. The call back might be
|
||||
// missing if a permission prompt was preignored and we already notified an
|
||||
// origin about it.
|
||||
if (request->second.second) {
|
||||
- NotifyPermissionSet(request_data, std::move(request->second.second),
|
||||
- persist, decision, is_final_decision);
|
||||
+ NotifyPermissionSetWithLifetime(request_data, std::move(request->second.second),
|
||||
+ persist, decision, is_final_decision,
|
||||
+ lifetime_option);
|
||||
} else {
|
||||
- NotifyPermissionSet(request_data, base::DoNothing(), persist, decision,
|
||||
- is_final_decision);
|
||||
+ NotifyPermissionSetWithLifetime(request_data, base::DoNothing(), persist, decision,
|
||||
+ is_final_decision, lifetime_option);
|
||||
}
|
||||
- NotifyPermissionSet(request_data,
|
||||
+ NotifyPermissionSetWithLifetime(request_data,
|
||||
request->second.second ? std::move(request->second.second)
|
||||
: base::DoNothing(),
|
||||
- persist, decision);
|
||||
+ persist, decision, lifetime_option);
|
||||
}
|
||||
|
||||
@@ -740,6 +753,30 @@ void PermissionContextBase::NotifyPermissionSet(
|
||||
content::BrowserContext* PermissionContextBase::browser_context() const {
|
||||
@@ -761,6 +773,30 @@ void PermissionContextBase::NotifyPermissionSet(
|
||||
BrowserPermissionCallback callback,
|
||||
bool persist,
|
||||
PermissionDecision decision,
|
||||
bool is_final_decision) {
|
||||
const permissions::PermissionPromptDecision& decision) {
|
||||
+ NotifyPermissionSetImpl(request_data, std::move(callback),
|
||||
+ persist, decision, is_final_decision, /*use_lifetime_option*/ false,
|
||||
+ content_settings::mojom::LifetimeMode::ALWAYS);
|
||||
@@ -1049,20 +1037,21 @@ diff --git a/components/permissions/permission_context_base.cc b/components/perm
|
||||
+ bool is_final_decision, bool use_lifetime_option,
|
||||
+ content_settings::mojom::LifetimeMode lifetime_option) {
|
||||
DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
|
||||
|
||||
// Note that rfh may be null, see crbug.com/426909787.
|
||||
@@ -755,8 +792,8 @@ void PermissionContextBase::NotifyPermissionSet(
|
||||
auto* rfh = content::RenderFrameHost::FromID(
|
||||
@@ -776,9 +812,9 @@ void PermissionContextBase::NotifyPermissionSet(
|
||||
|
||||
if (persist) {
|
||||
// Clone new value, because we need it again for the callback.
|
||||
- UpdateSetting(request_data, new_value,
|
||||
- decision == PermissionDecision::kAllowThisTime);
|
||||
+ UpdateSettingImpl(request_data, new_value,
|
||||
+ decision == PermissionDecision::kAllowThisTime, use_lifetime_option, lifetime_option);
|
||||
- UpdateSetting(
|
||||
+ UpdateSettingImpl(
|
||||
request_data, new_value,
|
||||
- decision.overall_decision == PermissionDecision::kAllowThisTime);
|
||||
+ decision.overall_decision == PermissionDecision::kAllowThisTime, use_lifetime_option, lifetime_option);
|
||||
}
|
||||
|
||||
if (is_final_decision) {
|
||||
@@ -814,6 +851,17 @@ void PermissionContextBase::UpdateSetting(
|
||||
if (decision.is_final) {
|
||||
@@ -838,6 +874,17 @@ void PermissionContextBase::UpdateSetting(
|
||||
const PermissionRequestData& request_data,
|
||||
PermissionSetting setting,
|
||||
bool is_one_time) {
|
||||
@@ -1080,7 +1069,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,
|
||||
@@ -823,6 +871,8 @@ void PermissionContextBase::UpdateSetting(
|
||||
@@ -847,6 +894,8 @@ void PermissionContextBase::UpdateSetting(
|
||||
constraints.set_session_model(
|
||||
is_one_time ? content_settings::mojom::SessionModel::ONE_TIME
|
||||
: content_settings::mojom::SessionModel::DURABLE);
|
||||
@@ -1092,7 +1081,7 @@ diff --git a/components/permissions/permission_context_base.cc b/components/perm
|
||||
diff --git a/components/permissions/permission_context_base.h b/components/permissions/permission_context_base.h
|
||||
--- a/components/permissions/permission_context_base.h
|
||||
+++ b/components/permissions/permission_context_base.h
|
||||
@@ -203,6 +203,18 @@ class PermissionContextBase : public content_settings::Observer {
|
||||
@@ -205,6 +205,18 @@ class PermissionContextBase : public content_settings::Observer {
|
||||
|
||||
// Updates stored setting if persist is set, updates tab indicators
|
||||
// and runs the callback to finish the request.
|
||||
@@ -1108,10 +1097,10 @@ diff --git a/components/permissions/permission_context_base.h b/components/permi
|
||||
+ PermissionDecision decision,
|
||||
+ bool is_final_decision,
|
||||
+ content_settings::mojom::LifetimeMode lifetime_option);
|
||||
virtual void NotifyPermissionSet(const PermissionRequestData& request_data,
|
||||
BrowserPermissionCallback callback,
|
||||
bool persist,
|
||||
@@ -219,6 +231,11 @@ class PermissionContextBase : public content_settings::Observer {
|
||||
virtual void NotifyPermissionSet(
|
||||
const PermissionRequestData& request_data,
|
||||
BrowserPermissionCallback callback,
|
||||
@@ -221,6 +233,11 @@ class PermissionContextBase : public content_settings::Observer {
|
||||
|
||||
// Store the decided permission state. Virtual since the permission might be
|
||||
// stored with different restrictions (for example for desktop notifications).
|
||||
@@ -1123,7 +1112,7 @@ diff --git a/components/permissions/permission_context_base.h b/components/permi
|
||||
virtual void UpdateSetting(const PermissionRequestData& request_data,
|
||||
PermissionSetting setting,
|
||||
bool is_one_time);
|
||||
@@ -248,6 +265,12 @@ class PermissionContextBase : public content_settings::Observer {
|
||||
@@ -250,6 +267,12 @@ class PermissionContextBase : public content_settings::Observer {
|
||||
PermissionRequest::PermissionDecidedCallback permission_decided_callback,
|
||||
base::OnceClosure request_finished_callback) const;
|
||||
|
||||
@@ -1136,10 +1125,10 @@ 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;
|
||||
|
||||
@@ -297,7 +320,8 @@ class PermissionContextBase : public content_settings::Observer {
|
||||
@@ -298,7 +321,8 @@ class PermissionContextBase : public content_settings::Observer {
|
||||
// This is the callback for PermissionRequest and is called once the user
|
||||
// allows/blocks/dismisses a permission prompt.
|
||||
void PermissionDecided(PermissionDecision decision,
|
||||
bool is_final_decision,
|
||||
void PermissionDecided(const permissions::PermissionPromptDecision& decision,
|
||||
- const PermissionRequestData& request_data);
|
||||
+ const PermissionRequestData& request_data,
|
||||
+ content_settings::mojom::LifetimeMode lifetime_option);
|
||||
@@ -1152,18 +1141,18 @@ diff --git a/components/permissions/permission_prompt.h b/components/permissions
|
||||
@@ -70,8 +70,9 @@ class PermissionPrompt {
|
||||
virtual GURL GetEmbeddingOrigin() const = 0;
|
||||
|
||||
virtual void Accept() = 0;
|
||||
- virtual void AcceptThisTime() = 0;
|
||||
+ virtual void AcceptThisTime(content_settings::mojom::LifetimeMode lifetime_option) = 0;
|
||||
virtual void Deny() = 0;
|
||||
+ virtual void DenyThisTime(content_settings::mojom::LifetimeMode lifetime_option) = 0;
|
||||
virtual void Dismiss() = 0;
|
||||
virtual void Ignore() = 0;
|
||||
virtual void Accept(const PromptOptions& prompt_options) = 0;
|
||||
- virtual void AcceptThisTime(const PromptOptions& prompt_options) = 0;
|
||||
+ virtual void AcceptThisTime(const PromptOptions& prompt_options, content_settings::mojom::LifetimeMode lifetime_option) = 0;
|
||||
virtual void Deny(const PromptOptions& prompt_options) = 0;
|
||||
+ virtual void DenyThisTime(const PromptOptions& prompt_options, content_settings::mojom::LifetimeMode lifetime_option) = 0;
|
||||
virtual void Dismiss(const PromptOptions& prompt_options) = 0;
|
||||
virtual void Ignore(const PromptOptions& prompt_options) = 0;
|
||||
|
||||
diff --git a/components/permissions/permission_request.cc b/components/permissions/permission_request.cc
|
||||
--- a/components/permissions/permission_request.cc
|
||||
+++ b/components/permissions/permission_request.cc
|
||||
@@ -35,6 +35,16 @@ PermissionRequest::PermissionRequest(
|
||||
@@ -37,6 +37,16 @@ PermissionRequest::PermissionRequest(
|
||||
request_finished_callback_(std::move(request_finished_callback)),
|
||||
uses_automatic_embargo_(uses_automatic_embargo) {}
|
||||
|
||||
@@ -1180,12 +1169,12 @@ diff --git a/components/permissions/permission_request.cc b/components/permissio
|
||||
PermissionRequest::~PermissionRequest() {
|
||||
std::move(request_finished_callback_).Run();
|
||||
}
|
||||
@@ -445,20 +455,40 @@ bool PermissionRequest::ShouldUseTwoOriginPrompt() const {
|
||||
return request_type() == RequestType::kStorageAccess;
|
||||
@@ -448,7 +458,15 @@ bool PermissionRequest::ShouldUseTwoOriginPrompt() const {
|
||||
}
|
||||
|
||||
-void PermissionRequest::PermissionGranted(bool is_one_time) {
|
||||
+void PermissionRequest::PermissionGranted(bool is_one_time,
|
||||
void PermissionRequest::PermissionGranted(const PromptOptions& prompt_options,
|
||||
- bool is_one_time) {
|
||||
+ bool is_one_time,
|
||||
+ content_settings::mojom::LifetimeMode lifetime_option) {
|
||||
+ if (permission_decided_callback_withlifetime_) {
|
||||
+ std::move(permission_decided_callback_withlifetime_)
|
||||
@@ -1195,9 +1184,10 @@ diff --git a/components/permissions/permission_request.cc b/components/permissio
|
||||
+ return;
|
||||
+ }
|
||||
std::move(permission_decided_callback_)
|
||||
.Run(is_one_time ? PermissionDecision::kAllowThisTime
|
||||
: PermissionDecision::kAllow,
|
||||
/*is_final_decision=*/true, /*request_data=*/*data_);
|
||||
.Run(PermissionPromptDecision{.overall_decision =
|
||||
is_one_time
|
||||
@@ -459,7 +477,13 @@ void PermissionRequest::PermissionGranted(const PromptOptions& prompt_options,
|
||||
/*request_data=*/*data_);
|
||||
}
|
||||
|
||||
-void PermissionRequest::PermissionDenied() {
|
||||
@@ -1209,8 +1199,9 @@ diff --git a/components/permissions/permission_request.cc b/components/permissio
|
||||
+ return;
|
||||
+ }
|
||||
std::move(permission_decided_callback_)
|
||||
.Run(PermissionDecision::kDeny,
|
||||
/*is_final_decision=*/true, /*request_data=*/*data_);
|
||||
.Run(PermissionPromptDecision{.overall_decision =
|
||||
PermissionDecision::kDeny,
|
||||
@@ -469,6 +493,12 @@ void PermissionRequest::PermissionDenied() {
|
||||
}
|
||||
|
||||
void PermissionRequest::Cancelled(bool is_final_decision) {
|
||||
@@ -1221,14 +1212,14 @@ diff --git a/components/permissions/permission_request.cc b/components/permissio
|
||||
+ return;
|
||||
+ }
|
||||
if (permission_decided_callback_) {
|
||||
permission_decided_callback_.Run(PermissionDecision::kNone,
|
||||
is_final_decision,
|
||||
permission_decided_callback_.Run(
|
||||
PermissionPromptDecision{.overall_decision = PermissionDecision::kNone,
|
||||
diff --git a/components/permissions/permission_request.h b/components/permissions/permission_request.h
|
||||
--- a/components/permissions/permission_request.h
|
||||
+++ b/components/permissions/permission_request.h
|
||||
@@ -53,6 +53,12 @@ class PermissionRequest {
|
||||
bool /*is_final_decision*/,
|
||||
const PermissionRequestData& /*request_data*/)>;
|
||||
@@ -54,6 +54,12 @@ class PermissionRequest {
|
||||
base::RepeatingCallback<void(const PermissionPromptDecision&,
|
||||
const PermissionRequestData&)>;
|
||||
|
||||
+ using PermissionDecidedCallbackWithLifetime = base::RepeatingCallback<void(
|
||||
+ PermissionDecision /*decision*/,
|
||||
@@ -1239,7 +1230,7 @@ diff --git a/components/permissions/permission_request.h b/components/permission
|
||||
// `permission_decided_callback` is called when the permission request is
|
||||
// resolved by the user (see comment on PermissionDecidedCallback above).
|
||||
// `request_finished_callback` is called when the permission request is being
|
||||
@@ -67,6 +73,11 @@ class PermissionRequest {
|
||||
@@ -68,6 +74,11 @@ class PermissionRequest {
|
||||
base::OnceClosure request_finished_callback = base::DoNothing(),
|
||||
bool uses_automatic_embargo = true);
|
||||
|
||||
@@ -1251,12 +1242,12 @@ diff --git a/components/permissions/permission_request.h b/components/permission
|
||||
PermissionRequest(const PermissionRequest&) = delete;
|
||||
PermissionRequest& operator=(const PermissionRequest&) = delete;
|
||||
|
||||
@@ -181,10 +192,10 @@ class PermissionRequest {
|
||||
@@ -182,10 +193,10 @@ class PermissionRequest {
|
||||
// If |is_one_time| is true the permission will last until all tabs of
|
||||
// |origin| are closed or navigated away from, and then the permission will
|
||||
// automatically expire after 1 day.
|
||||
- void PermissionGranted(bool is_one_time);
|
||||
+ void PermissionGranted(bool is_one_time, content_settings::mojom::LifetimeMode lifetime_option);
|
||||
- void PermissionGranted(const PromptOptions& prompt_options, bool is_one_time);
|
||||
+ void PermissionGranted(const PromptOptions& prompt_options, bool is_one_time, content_settings::mojom::LifetimeMode lifetime_option);
|
||||
|
||||
// Called when the user has denied the requested permission.
|
||||
- void PermissionDenied();
|
||||
@@ -1264,7 +1255,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
|
||||
@@ -254,6 +265,9 @@ class PermissionRequest {
|
||||
@@ -249,6 +260,9 @@ class PermissionRequest {
|
||||
// Called once a decision is made about the permission.
|
||||
PermissionDecidedCallback permission_decided_callback_;
|
||||
|
||||
@@ -1277,7 +1268,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
|
||||
@@ -208,12 +208,12 @@ void PermissionRequestManager::AddRequest(
|
||||
@@ -221,12 +221,12 @@ void PermissionRequestManager::AddRequest(
|
||||
|
||||
if (base::CommandLine::ForCurrentProcess()->HasSwitch(
|
||||
switches::kDenyPermissionPrompts)) {
|
||||
@@ -1292,51 +1283,51 @@ diff --git a/components/permissions/permission_request_manager.cc b/components/p
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -284,9 +284,9 @@ void PermissionRequestManager::AddRequest(
|
||||
|
||||
if (should_auto_approve_request) {
|
||||
@@ -307,9 +307,9 @@ void PermissionRequestManager::AddRequest(
|
||||
.selected_accuracy = GeolocationAccuracy::kPrecise})
|
||||
: std::monostate();
|
||||
if (should_auto_approve_request == PermissionAction::GRANTED) {
|
||||
- request->PermissionGranted(/*is_one_time=*/false);
|
||||
+ request->PermissionGranted(/*is_one_time=*/false, content_settings::mojom::LifetimeMode::UNTIL_ORIGIN_CLOSED);
|
||||
- request->PermissionGranted(prompt_options, /*is_one_time=*/false);
|
||||
+ request->PermissionGranted(prompt_options, /*is_one_time=*/false, content_settings::mojom::LifetimeMode::UNTIL_ORIGIN_CLOSED);
|
||||
} else if (should_auto_approve_request == PermissionAction::GRANTED_ONCE) {
|
||||
- request->PermissionGranted(/*is_one_time=*/true);
|
||||
+ request->PermissionGranted(/*is_one_time=*/true, content_settings::mojom::LifetimeMode::UNTIL_ORIGIN_CLOSED);
|
||||
- request->PermissionGranted(prompt_options, /*is_one_time=*/true);
|
||||
+ request->PermissionGranted(prompt_options, /*is_one_time=*/true, content_settings::mojom::LifetimeMode::UNTIL_ORIGIN_CLOSED);
|
||||
}
|
||||
return;
|
||||
}
|
||||
@@ -619,7 +619,8 @@ void PermissionRequestManager::Accept() {
|
||||
@@ -650,7 +650,8 @@ void PermissionRequestManager::Accept(const PromptOptions& prompt_options) {
|
||||
StorePermissionActionForUMA(request->requesting_origin(),
|
||||
request->request_type(), action);
|
||||
PermissionGrantedIncludingDuplicates(request.get(),
|
||||
PermissionGrantedIncludingDuplicates(request.get(), prompt_options,
|
||||
- /*is_one_time=*/false);
|
||||
+ /*is_one_time=*/false,
|
||||
+ content_settings::mojom::LifetimeMode::ALWAYS);
|
||||
|
||||
#if !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_IOS)
|
||||
std::optional<ContentSettingsType> content_settings_type =
|
||||
@@ -637,7 +638,7 @@ void PermissionRequestManager::Accept() {
|
||||
CurrentRequestsDecided(action);
|
||||
@@ -669,7 +670,7 @@ void PermissionRequestManager::Accept(const PromptOptions& prompt_options) {
|
||||
}
|
||||
|
||||
-void PermissionRequestManager::AcceptThisTime() {
|
||||
+void PermissionRequestManager::AcceptThisTime(content_settings::mojom::LifetimeMode mode) {
|
||||
if (ignore_callbacks_from_prompt_) {
|
||||
return;
|
||||
}
|
||||
@@ -649,7 +650,8 @@ void PermissionRequestManager::AcceptThisTime() {
|
||||
void PermissionRequestManager::AcceptThisTime(
|
||||
- const PromptOptions& prompt_options) {
|
||||
+ const PromptOptions& prompt_options, content_settings::mojom::LifetimeMode mode) {
|
||||
CHECK_EQ(std::holds_alternative<GeolocationPromptOptions>(prompt_options),
|
||||
requests_[0]->GetContentSettingsType() ==
|
||||
ContentSettingsType::GEOLOCATION_WITH_OPTIONS)
|
||||
@@ -688,7 +689,8 @@ void PermissionRequestManager::AcceptThisTime(
|
||||
StorePermissionActionForUMA(request->requesting_origin(),
|
||||
request->request_type(), action);
|
||||
PermissionGrantedIncludingDuplicates(request.get(),
|
||||
PermissionGrantedIncludingDuplicates(request.get(), prompt_options,
|
||||
- /*is_one_time=*/true);
|
||||
+ /*is_one_time=*/true,
|
||||
+ mode);
|
||||
}
|
||||
|
||||
NotifyRequestDecided(action);
|
||||
@@ -657,6 +659,15 @@ void PermissionRequestManager::AcceptThisTime() {
|
||||
}
|
||||
@@ -700,6 +702,15 @@ void PermissionRequestManager::Deny(const PromptOptions& prompt_options) {
|
||||
requests_[0]->GetContentSettingsType() ==
|
||||
ContentSettingsType::GEOLOCATION_WITH_OPTIONS);
|
||||
|
||||
void PermissionRequestManager::Deny() {
|
||||
+ Deny_(/*is_one_time*/ false, content_settings::mojom::LifetimeMode::ALWAYS);
|
||||
+}
|
||||
+
|
||||
@@ -1349,7 +1340,7 @@ diff --git a/components/permissions/permission_request_manager.cc b/components/p
|
||||
if (ignore_callbacks_from_prompt_) {
|
||||
return;
|
||||
}
|
||||
@@ -677,7 +688,7 @@ void PermissionRequestManager::Deny() {
|
||||
@@ -720,7 +731,7 @@ void PermissionRequestManager::Deny(const PromptOptions& prompt_options) {
|
||||
for (const auto& request : requests_) {
|
||||
StorePermissionActionForUMA(request->requesting_origin(),
|
||||
request->request_type(), action);
|
||||
@@ -1358,27 +1349,27 @@ diff --git a/components/permissions/permission_request_manager.cc b/components/p
|
||||
}
|
||||
|
||||
NotifyRequestDecided(action);
|
||||
@@ -1370,32 +1381,32 @@ PermissionRequestManager::VisitDuplicateRequests(
|
||||
|
||||
@@ -1464,32 +1475,32 @@ PermissionRequestManager::VisitDuplicateRequests(
|
||||
void PermissionRequestManager::PermissionGrantedIncludingDuplicates(
|
||||
PermissionRequest* request,
|
||||
const PromptOptions& prompt_options,
|
||||
- bool is_one_time) {
|
||||
+ bool is_one_time, content_settings::mojom::LifetimeMode lifetime_option) {
|
||||
CHECK(RequestExistsExactlyOnce(request, pending_permission_requests_,
|
||||
requests_))
|
||||
<< "Only requests in [pending_permission_]requests_ can have duplicates";
|
||||
- request->PermissionGranted(is_one_time);
|
||||
+ request->PermissionGranted(is_one_time, lifetime_option);
|
||||
- request->PermissionGranted(prompt_options, is_one_time);
|
||||
+ request->PermissionGranted(prompt_options, is_one_time, lifetime_option);
|
||||
VisitDuplicateRequests(
|
||||
base::BindRepeating(
|
||||
- [](bool is_one_time,
|
||||
+ [](bool is_one_time, content_settings::mojom::LifetimeMode lifetime_option,
|
||||
- [](const PromptOptions& prompt_options, bool is_one_time,
|
||||
+ [](const PromptOptions& prompt_options, bool is_one_time, content_settings::mojom::LifetimeMode lifetime_option,
|
||||
const std::unique_ptr<PermissionRequest>& request) {
|
||||
- request->PermissionGranted(is_one_time);
|
||||
+ request->PermissionGranted(is_one_time, lifetime_option);
|
||||
- request->PermissionGranted(prompt_options, is_one_time);
|
||||
+ request->PermissionGranted(prompt_options, is_one_time, lifetime_option);
|
||||
},
|
||||
- is_one_time),
|
||||
+ is_one_time, lifetime_option),
|
||||
- prompt_options, is_one_time),
|
||||
+ prompt_options, is_one_time, lifetime_option),
|
||||
request);
|
||||
}
|
||||
|
||||
@@ -1401,34 +1392,34 @@ diff --git a/components/permissions/permission_request_manager.cc b/components/p
|
||||
request);
|
||||
}
|
||||
|
||||
@@ -1683,7 +1694,7 @@ void PermissionRequestManager::DoAutoResponseForTesting() {
|
||||
@@ -1779,7 +1790,7 @@ void PermissionRequestManager::DoAutoResponseForTesting() {
|
||||
}
|
||||
switch (auto_response_for_test_) {
|
||||
case ACCEPT_ONCE:
|
||||
- AcceptThisTime();
|
||||
+ AcceptThisTime(content_settings::mojom::LifetimeMode::ONLY_THIS_TIME);
|
||||
- AcceptThisTime(auto_response_prompt_options_for_test_);
|
||||
+ AcceptThisTime(auto_response_prompt_options_for_test_, content_settings::mojom::LifetimeMode::ONLY_THIS_TIME);
|
||||
break;
|
||||
case ACCEPT_ALL:
|
||||
Accept();
|
||||
Accept(auto_response_prompt_options_for_test_);
|
||||
diff --git a/components/permissions/permission_request_manager.h b/components/permissions/permission_request_manager.h
|
||||
--- a/components/permissions/permission_request_manager.h
|
||||
+++ b/components/permissions/permission_request_manager.h
|
||||
@@ -175,8 +175,10 @@ class PermissionRequestManager
|
||||
@@ -185,8 +185,10 @@ class PermissionRequestManager
|
||||
GURL GetRequestingOrigin() const override;
|
||||
GURL GetEmbeddingOrigin() const override;
|
||||
void Accept() override;
|
||||
- void AcceptThisTime() override;
|
||||
+ void AcceptThisTime(content_settings::mojom::LifetimeMode lifetime_option) override;
|
||||
void Deny() override;
|
||||
void Accept(const PromptOptions& prompt_options) override;
|
||||
- void AcceptThisTime(const PromptOptions& prompt_options) override;
|
||||
+ void AcceptThisTime(const PromptOptions& prompt_options, content_settings::mojom::LifetimeMode lifetime_option) override;
|
||||
void Deny(const PromptOptions& prompt_options) override;
|
||||
+ void Deny_(bool is_one_time, content_settings::mojom::LifetimeMode lifetime_option);
|
||||
+ void DenyThisTime(content_settings::mojom::LifetimeMode lifetime_option) override;
|
||||
void Dismiss() override;
|
||||
void Ignore() override;
|
||||
+ void DenyThisTime(const PromptOptions& prompt_options, content_settings::mojom::LifetimeMode lifetime_option) override;
|
||||
void Dismiss(const PromptOptions& prompt_options) override;
|
||||
void Ignore(const PromptOptions& prompt_options) override;
|
||||
void FinalizeCurrentRequests() override;
|
||||
@@ -441,9 +443,12 @@ class PermissionRequestManager
|
||||
|
||||
@@ -447,9 +449,12 @@ class PermissionRequestManager
|
||||
// Calls PermissionGranted on a request and all its duplicates.
|
||||
void PermissionGrantedIncludingDuplicates(PermissionRequest* request,
|
||||
const PromptOptions& prompt_options,
|
||||
- bool is_one_time);
|
||||
+ bool is_one_time,
|
||||
+ content_settings::mojom::LifetimeMode lifetime_option);
|
||||
|
||||
@@ -36,10 +36,10 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
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
|
||||
@@ -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" />
|
||||
@@ -200,6 +200,7 @@ found in the LICENSE file.
|
||||
<item type="id" name="duplicate_tab_menu_id" />
|
||||
<item type="id" name="glic_menu_id" />
|
||||
<item type="id" name="open_in_app_menu_id" />
|
||||
+ <item type="id" name="bookmark_all_tabs_menu_id" />
|
||||
|
||||
<!-- Custom Tabs -->
|
||||
@@ -47,7 +47,7 @@ diff --git a/chrome/android/java/res/values/ids.xml b/chrome/android/java/res/va
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
|
||||
@@ -109,6 +109,7 @@ import org.chromium.chrome.browser.bookmarks.BookmarkPane;
|
||||
@@ -113,6 +113,7 @@ import org.chromium.chrome.browser.bookmarks.BookmarkPane;
|
||||
import org.chromium.chrome.browser.bookmarks.BookmarkUtils;
|
||||
import org.chromium.chrome.browser.browserservices.intents.WebappConstants;
|
||||
import org.chromium.chrome.browser.compositor.CompositorViewHolder;
|
||||
@@ -55,26 +55,26 @@ 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;
|
||||
@@ -309,6 +310,9 @@ import org.chromium.chrome.browser.ui.appmenu.AppMenuPropertiesDelegate;
|
||||
import org.chromium.chrome.browser.ui.browser_window.BrowserWindowType;
|
||||
@@ -321,6 +322,9 @@ import org.chromium.chrome.browser.ui.default_browser_promo.DefaultBrowserPromoU
|
||||
import org.chromium.chrome.browser.ui.desktop_windowing.AppHeaderUtils;
|
||||
import org.chromium.chrome.browser.ui.edge_to_edge.EdgeToEdgeUtils;
|
||||
import org.chromium.chrome.browser.ui.edge_to_edge.TransitiveTopInsetProvider;
|
||||
+import org.chromium.chrome.browser.ui.messages.snackbar.Snackbar;
|
||||
+import org.chromium.chrome.browser.ui.messages.snackbar.SnackbarManager;
|
||||
+import org.chromium.chrome.browser.ui.messages.snackbar.SnackbarManager.SnackbarController;
|
||||
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;
|
||||
@@ -325,6 +329,8 @@ import org.chromium.chrome.browser.util.ChromeAccessibilityUtil;
|
||||
import org.chromium.chrome.browser.xr.scenecore.XrSceneCoreSessionInitializerImpl;
|
||||
import org.chromium.chrome.browser.xr.scenecore.XrSceneCoreSessionManagerImpl;
|
||||
@@ -336,6 +340,8 @@ import org.chromium.chrome.browser.usage_stats.UsageStatsService;
|
||||
import org.chromium.chrome.browser.util.ChromeAccessibilityUtil;
|
||||
import org.chromium.chrome.browser.xr.scenecore.XrModule;
|
||||
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;
|
||||
@@ -3906,6 +3912,8 @@ public class ChromeTabbedActivity extends ChromeActivity implements PreAttachInt
|
||||
@@ -4030,6 +4036,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);
|
||||
|
||||
@@ -4038,6 +4046,41 @@ public class ChromeTabbedActivity extends ChromeActivity implements PreAttachInt
|
||||
@@ -4164,6 +4172,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
|
||||
@@ -294,6 +294,14 @@ public class TabbedAppMenuPropertiesDelegate extends AppMenuPropertiesDelegateIm
|
||||
@@ -303,6 +303,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());
|
||||
|
||||
@@ -479,6 +487,13 @@ public class TabbedAppMenuPropertiesDelegate extends AppMenuPropertiesDelegateIm
|
||||
@@ -503,6 +511,13 @@ public class TabbedAppMenuPropertiesDelegate extends AppMenuPropertiesDelegateIm
|
||||
modelList.add(buildNewTabGroupItem());
|
||||
modelList.add(buildCloseAllTabsItem());
|
||||
if (shouldShowTinkerTank()) modelList.add(buildTinkerTankItem());
|
||||
@@ -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) {
|
||||
@@ -449,6 +476,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(),
|
||||
};
|
||||
@@ -557,6 +585,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(
|
||||
@@ -1229,6 +1260,17 @@ void BookmarkBridge::GetBookmarksOfType(
|
||||
@@ -1223,6 +1254,17 @@ void BookmarkBridge::GetBookmarksOfType(
|
||||
AddBookmarkNodesToBookmarkIdList(env, j_list, results);
|
||||
}
|
||||
|
||||
@@ -244,9 +244,9 @@ diff --git a/chrome/browser/bookmarks/android/bookmark_bridge.h b/chrome/browser
|
||||
base::android::ScopedJavaLocalRef<jobject>
|
||||
GetMostRecentlyAddedUserBookmarkIdForUrl(JNIEnv* env, const GURL& url);
|
||||
const bookmarks::BookmarkNode* GetMostRecentlyAddedUserBookmarkIdForUrlImpl(
|
||||
@@ -240,6 +244,10 @@ class BookmarkBridge : public ProfileObserver,
|
||||
@@ -232,6 +236,10 @@ class BookmarkBridge : public ProfileObserver,
|
||||
const base::android::JavaRef<jobject>& j_list,
|
||||
jint type);
|
||||
int32_t type);
|
||||
|
||||
+ base::android::ScopedJavaLocalRef<jobject> GetTabsCollectionFolderId(
|
||||
+ JNIEnv* env,
|
||||
@@ -370,14 +370,14 @@ diff --git a/chrome/browser/bookmarks/bookmark_html_writer.cc b/chrome/browser/b
|
||||
CHECK(!model->account_other_node());
|
||||
CHECK(!model->account_mobile_node());
|
||||
@@ -210,6 +211,9 @@ class Writer : public base::RefCountedThreadSafe<Writer> {
|
||||
base::Value::Dict* mobile_folder_value = local_permanent_folders->FindDict(
|
||||
base::DictValue* mobile_folder_value = local_permanent_folders->FindDict(
|
||||
BookmarkCodec::kMobileBookmarkFolderNameKey);
|
||||
CHECK(mobile_folder_value);
|
||||
+ base::Value::Dict* tabs_collection_value =
|
||||
+ local_permanent_folders->FindDict(BookmarkCodec::kTabsBookmarkFolderNameKey);
|
||||
+ CHECK(tabs_collection_value);
|
||||
|
||||
base::Value::Dict* account_permanent_folders =
|
||||
base::DictValue* account_permanent_folders =
|
||||
account_bookmarks_.FindDict(BookmarkCodec::kRootsKey);
|
||||
@@ -285,6 +289,10 @@ class Writer : public base::RefCountedThreadSafe<Writer> {
|
||||
return bookmark_html_writer::Result::kCouldNotWriteNodes;
|
||||
@@ -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
|
||||
@@ -4585,6 +4585,9 @@ To change this setting, <ph name="BEGIN_LINK">BEGIN_LINK</ph>delete the Chrome d
|
||||
@@ -4615,6 +4615,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>
|
||||
@@ -528,15 +528,15 @@ diff --git a/components/bookmarks/browser/bookmark_codec.cc b/components/bookmar
|
||||
const char BookmarkCodec::kVersionKey[] = "version";
|
||||
const char BookmarkCodec::kChecksumKey[] = "checksum";
|
||||
const char BookmarkCodec::kChecksumSHA256Key[] = "checksum_sha256";
|
||||
@@ -98,6 +99,7 @@ base::Value::Dict BookmarkCodec::Encode(
|
||||
const BookmarkNode* bookmark_bar_node,
|
||||
const BookmarkNode* other_folder_node,
|
||||
const BookmarkNode* mobile_folder_node,
|
||||
+ const BookmarkNode* tabs_folder_node,
|
||||
std::string sync_metadata_str) {
|
||||
@@ -97,6 +98,7 @@ BookmarkCodec::~BookmarkCodec() = default;
|
||||
base::DictValue BookmarkCodec::Encode(const BookmarkNode* bookmark_bar_node,
|
||||
const BookmarkNode* other_folder_node,
|
||||
const BookmarkNode* mobile_folder_node,
|
||||
+ const BookmarkNode* tabs_folder_node,
|
||||
std::string sync_metadata_str) {
|
||||
ids_reassigned_ = false;
|
||||
uuids_reassigned_ = false;
|
||||
@@ -123,6 +125,8 @@ base::Value::Dict BookmarkCodec::Encode(
|
||||
@@ -122,6 +124,8 @@ base::DictValue BookmarkCodec::Encode(const BookmarkNode* bookmark_bar_node,
|
||||
roots.Set(kBookmarkBarFolderNameKey, EncodeNode(bookmark_bar_node));
|
||||
roots.Set(kOtherBookmarkFolderNameKey, EncodeNode(other_folder_node));
|
||||
roots.Set(kMobileBookmarkFolderNameKey, EncodeNode(mobile_folder_node));
|
||||
@@ -545,7 +545,7 @@ diff --git a/components/bookmarks/browser/bookmark_codec.cc b/components/bookmar
|
||||
} else {
|
||||
// No permanent node should have been provided.
|
||||
CHECK(!other_folder_node);
|
||||
@@ -143,6 +147,7 @@ bool BookmarkCodec::Decode(const base::Value::Dict& value,
|
||||
@@ -142,6 +146,7 @@ bool BookmarkCodec::Decode(const base::DictValue& value,
|
||||
BookmarkNode* bb_node,
|
||||
BookmarkNode* other_folder_node,
|
||||
BookmarkNode* mobile_folder_node,
|
||||
@@ -553,7 +553,7 @@ diff --git a/components/bookmarks/browser/bookmark_codec.cc b/components/bookmar
|
||||
int64_t* max_id,
|
||||
std::string* sync_metadata_str) {
|
||||
if (sync_metadata_str) {
|
||||
@@ -155,13 +160,15 @@ bool BookmarkCodec::Decode(const base::Value::Dict& value,
|
||||
@@ -154,13 +159,15 @@ bool BookmarkCodec::Decode(const base::DictValue& value,
|
||||
base::Uuid::ParseLowercase(kBookmarkBarNodeUuid),
|
||||
base::Uuid::ParseLowercase(kOtherBookmarksNodeUuid),
|
||||
base::Uuid::ParseLowercase(kMobileBookmarksNodeUuid),
|
||||
@@ -570,24 +570,24 @@ diff --git a/components/bookmarks/browser/bookmark_codec.cc b/components/bookmar
|
||||
value, sync_metadata_str);
|
||||
ReassignIDsIfRequired();
|
||||
|
||||
@@ -219,6 +226,7 @@ base::Value::Dict BookmarkCodec::EncodeMetaInfo(
|
||||
@@ -218,6 +225,7 @@ base::DictValue BookmarkCodec::EncodeMetaInfo(
|
||||
bool BookmarkCodec::DecodeHelper(BookmarkNode* bb_node,
|
||||
BookmarkNode* other_folder_node,
|
||||
BookmarkNode* mobile_folder_node,
|
||||
+ BookmarkNode* tabs_folder_node,
|
||||
const base::Value::Dict& value,
|
||||
const base::DictValue& value,
|
||||
std::string* sync_metadata_str) {
|
||||
std::optional<int> version = value.FindInt(kVersionKey);
|
||||
@@ -242,6 +250,8 @@ bool BookmarkCodec::DecodeHelper(BookmarkNode* bb_node,
|
||||
@@ -240,6 +248,8 @@ bool BookmarkCodec::DecodeHelper(BookmarkNode* bb_node,
|
||||
roots->FindDict(kOtherBookmarkFolderNameKey);
|
||||
const base::Value::Dict* mobile_folder_value =
|
||||
const base::DictValue* mobile_folder_value =
|
||||
roots->FindDict(kMobileBookmarkFolderNameKey);
|
||||
+ const base::Value::Dict* tabs_folder_value =
|
||||
+ roots->FindDict(kTabsBookmarkFolderNameKey);
|
||||
|
||||
if (!bb_value || !other_folder_value || !mobile_folder_value)
|
||||
return false;
|
||||
@@ -249,6 +259,8 @@ bool BookmarkCodec::DecodeHelper(BookmarkNode* bb_node,
|
||||
@@ -247,6 +257,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);
|
||||
@@ -599,15 +599,15 @@ diff --git a/components/bookmarks/browser/bookmark_codec.cc b/components/bookmar
|
||||
diff --git a/components/bookmarks/browser/bookmark_codec.h b/components/bookmarks/browser/bookmark_codec.h
|
||||
--- a/components/bookmarks/browser/bookmark_codec.h
|
||||
+++ b/components/bookmarks/browser/bookmark_codec.h
|
||||
@@ -44,6 +44,7 @@ class BookmarkCodec {
|
||||
const BookmarkNode* bookmark_bar_node,
|
||||
const BookmarkNode* other_folder_node,
|
||||
const BookmarkNode* mobile_folder_node,
|
||||
+ const BookmarkNode* tabs_folder_node,
|
||||
std::string sync_metadata_str);
|
||||
@@ -43,6 +43,7 @@ class BookmarkCodec {
|
||||
base::DictValue Encode(const BookmarkNode* bookmark_bar_node,
|
||||
const BookmarkNode* other_folder_node,
|
||||
const BookmarkNode* mobile_folder_node,
|
||||
+ const BookmarkNode* tabs_folder_node,
|
||||
std::string sync_metadata_str);
|
||||
|
||||
// Decodes the previously encoded value to the specified nodes as well as
|
||||
@@ -62,6 +63,7 @@ class BookmarkCodec {
|
||||
@@ -61,6 +62,7 @@ class BookmarkCodec {
|
||||
BookmarkNode* bb_node,
|
||||
BookmarkNode* other_folder_node,
|
||||
BookmarkNode* mobile_folder_node,
|
||||
@@ -615,7 +615,7 @@ diff --git a/components/bookmarks/browser/bookmark_codec.h b/components/bookmark
|
||||
int64_t* max_node_id,
|
||||
std::string* sync_metadata_str);
|
||||
|
||||
@@ -95,6 +97,7 @@ class BookmarkCodec {
|
||||
@@ -94,6 +96,7 @@ class BookmarkCodec {
|
||||
static const char kBookmarkBarFolderNameKey[];
|
||||
static const char kOtherBookmarkFolderNameKey[];
|
||||
static const char kMobileBookmarkFolderNameKey[];
|
||||
@@ -623,12 +623,12 @@ diff --git a/components/bookmarks/browser/bookmark_codec.h b/components/bookmark
|
||||
static const char kVersionKey[];
|
||||
static const char kChecksumKey[];
|
||||
static const char kChecksumSHA256Key[];
|
||||
@@ -128,6 +131,7 @@ class BookmarkCodec {
|
||||
@@ -127,6 +130,7 @@ class BookmarkCodec {
|
||||
bool DecodeHelper(BookmarkNode* bb_node,
|
||||
BookmarkNode* other_folder_node,
|
||||
BookmarkNode* mobile_folder_node,
|
||||
+ BookmarkNode* tabs_folder_node,
|
||||
const base::Value::Dict& value,
|
||||
const base::DictValue& value,
|
||||
std::string* sync_metadata_str);
|
||||
|
||||
diff --git a/components/bookmarks/browser/bookmark_load_details.cc b/components/bookmarks/browser/bookmark_load_details.cc
|
||||
@@ -808,7 +808,7 @@ diff --git a/components/bookmarks/browser/bookmark_node.h b/components/bookmarks
|
||||
diff --git a/components/bookmarks/browser/bookmark_storage.cc b/components/bookmarks/browser/bookmark_storage.cc
|
||||
--- a/components/bookmarks/browser/bookmark_storage.cc
|
||||
+++ b/components/bookmarks/browser/bookmark_storage.cc
|
||||
@@ -45,6 +45,7 @@ base::Value::Dict EncodeModelToDict(
|
||||
@@ -45,6 +45,7 @@ base::DictValue EncodeModelToDict(
|
||||
case BookmarkStorage::kSelectLocalOrSyncableNodes:
|
||||
return codec.Encode(
|
||||
model->bookmark_bar_node(), model->other_node(), model->mobile_node(),
|
||||
@@ -816,7 +816,7 @@ diff --git a/components/bookmarks/browser/bookmark_storage.cc b/components/bookm
|
||||
model->client()->EncodeLocalOrSyncableBookmarkSyncMetadata());
|
||||
case BookmarkStorage::kSelectAccountNodes:
|
||||
// Either all permanent folders or none should exist.
|
||||
@@ -61,6 +62,7 @@ base::Value::Dict EncodeModelToDict(
|
||||
@@ -61,6 +62,7 @@ base::DictValue EncodeModelToDict(
|
||||
return codec.Encode(model->account_bookmark_bar_node(),
|
||||
model->account_other_node(),
|
||||
model->account_mobile_node(),
|
||||
@@ -851,7 +851,7 @@ diff --git a/components/bookmarks/browser/bookmark_uuids.h b/components/bookmark
|
||||
diff --git a/components/bookmarks/browser/model_loader.cc b/components/bookmarks/browser/model_loader.cc
|
||||
--- a/components/bookmarks/browser/model_loader.cc
|
||||
+++ b/components/bookmarks/browser/model_loader.cc
|
||||
@@ -74,6 +74,9 @@ std::unique_ptr<BookmarkLoadDetails> LoadBookmarks(
|
||||
@@ -73,6 +73,9 @@ std::unique_ptr<BookmarkLoadDetails> LoadBookmarks(
|
||||
std::unique_ptr<BookmarkPermanentNode> account_mobile_folder_node =
|
||||
BookmarkPermanentNode::CreateMobileBookmarks(
|
||||
0, /*is_account_node=*/true);
|
||||
@@ -859,9 +859,9 @@ diff --git a/components/bookmarks/browser/model_loader.cc b/components/bookmarks
|
||||
+ BookmarkPermanentNode::CreateTabsCollectionBookmarks(
|
||||
+ 0, /*is_account_node=*/true);
|
||||
|
||||
std::optional<base::Value::Dict> root_dict =
|
||||
std::optional<base::DictValue> root_dict =
|
||||
LoadFileToDict(account_file_path);
|
||||
@@ -81,7 +84,8 @@ std::unique_ptr<BookmarkLoadDetails> LoadBookmarks(
|
||||
@@ -80,7 +83,8 @@ std::unique_ptr<BookmarkLoadDetails> LoadBookmarks(
|
||||
if (root_dict.has_value() &&
|
||||
codec.Decode(*root_dict, /*already_assigned_ids=*/{},
|
||||
account_bb_node.get(), account_other_folder_node.get(),
|
||||
@@ -871,7 +871,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();
|
||||
|
||||
@@ -123,7 +127,8 @@ std::unique_ptr<BookmarkLoadDetails> LoadBookmarks(
|
||||
@@ -122,7 +126,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(),
|
||||
|
||||
@@ -6,7 +6,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
||||
---
|
||||
.../layout/custom_tabs_control_container.xml | 2 +-
|
||||
.../java/res/layout/recent_tabs_page.xml | 2 +-
|
||||
.../java/res/values-sw600dp/dimens.xml | 4 ++--
|
||||
.../java/res/values-sw600dp/dimens.xml | 3 ++-
|
||||
chrome/android/java/res/values/dimens.xml | 6 +++++-
|
||||
.../browser/ChromeBaseAppCompatActivity.java | 3 +++
|
||||
.../chrome/browser/WarmupManager.java | 7 +++++--
|
||||
@@ -37,7 +37,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
||||
.../accessibility/AccessibilitySettings.java | 13 +++++++++++++
|
||||
.../AccessibilitySettingsDelegate.java | 2 ++
|
||||
.../chromium/ui/base/DeviceFormFactor.java | 14 ++++++++++++++
|
||||
33 files changed, 172 insertions(+), 25 deletions(-)
|
||||
33 files changed, 172 insertions(+), 24 deletions(-)
|
||||
|
||||
diff --git a/chrome/android/java/res/layout/custom_tabs_control_container.xml b/chrome/android/java/res/layout/custom_tabs_control_container.xml
|
||||
--- a/chrome/android/java/res/layout/custom_tabs_control_container.xml
|
||||
@@ -66,12 +66,11 @@ diff --git a/chrome/android/java/res/layout/recent_tabs_page.xml b/chrome/androi
|
||||
diff --git a/chrome/android/java/res/values-sw600dp/dimens.xml b/chrome/android/java/res/values-sw600dp/dimens.xml
|
||||
--- a/chrome/android/java/res/values-sw600dp/dimens.xml
|
||||
+++ b/chrome/android/java/res/values-sw600dp/dimens.xml
|
||||
@@ -14,8 +14,8 @@ found in the LICENSE file.
|
||||
@@ -14,7 +14,8 @@ found in the LICENSE file.
|
||||
<dimen name="compositor_tab_title_text_size">14sp</dimen>
|
||||
|
||||
<!-- Full Screen Dimensions -->
|
||||
- <dimen name="control_container_height">96dp</dimen>
|
||||
- <dimen name="custom_tabs_control_container_height">64dp</dimen>
|
||||
+ <dimen name="control_container_height_cromite">96dp</dimen>
|
||||
+ <dimen name="control_container_height_tabletui">96dp</dimen>
|
||||
|
||||
@@ -98,7 +97,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
|
||||
@@ -66,6 +66,7 @@ import org.chromium.chrome.browser.ui.edge_to_edge.EdgeToEdgeController;
|
||||
@@ -65,6 +65,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 +105,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;
|
||||
@@ -155,6 +156,8 @@ public class ChromeBaseAppCompatActivity extends AppCompatActivity
|
||||
@@ -154,6 +155,8 @@ public class ChromeBaseAppCompatActivity extends AppCompatActivity
|
||||
protected void attachBaseContext(Context newBase) {
|
||||
super.attachBaseContext(newBase);
|
||||
|
||||
@@ -142,7 +141,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/WarmupManager.j
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/accessibility/settings/ChromeAccessibilitySettingsDelegate.java b/chrome/android/java/src/org/chromium/chrome/browser/accessibility/settings/ChromeAccessibilitySettingsDelegate.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/accessibility/settings/ChromeAccessibilitySettingsDelegate.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/accessibility/settings/ChromeAccessibilitySettingsDelegate.java
|
||||
@@ -65,6 +65,25 @@ public class ChromeAccessibilitySettingsDelegate implements AccessibilitySetting
|
||||
@@ -67,6 +67,25 @@ public class ChromeAccessibilitySettingsDelegate implements AccessibilitySetting
|
||||
}
|
||||
}
|
||||
|
||||
@@ -171,7 +170,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
|
||||
@@ -842,7 +842,10 @@ public abstract class ChromeActivity extends AsyncInitializationActivity
|
||||
@@ -841,7 +841,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 +185,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
|
||||
@@ -141,6 +141,7 @@ import org.chromium.components.tab_group_sync.TabGroupSyncService;
|
||||
@@ -144,6 +144,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 +193,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;
|
||||
@@ -5249,8 +5250,13 @@ public class StripLayoutHelper
|
||||
@@ -5335,8 +5336,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,15 +212,15 @@ 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
|
||||
@@ -107,6 +107,7 @@ import org.chromium.components.browser_ui.styles.SemanticColorUtils;
|
||||
@@ -109,6 +109,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.gesture.BackPressHandler;
|
||||
import org.chromium.components.browser_ui.widget.scrim.ScrimProperties;
|
||||
import org.chromium.content_public.browser.LoadUrlParams;
|
||||
+import org.chromium.ui.base.DeviceFormFactor;
|
||||
import org.chromium.ui.base.LocalizationUtils;
|
||||
import org.chromium.ui.base.PageTransition;
|
||||
import org.chromium.ui.base.WindowAndroid;
|
||||
@@ -505,7 +506,10 @@ public class StripLayoutHelperManager
|
||||
@@ -548,7 +549,10 @@ public class StripLayoutHelperManager
|
||||
mIsHeaderCustomizationSupported =
|
||||
ToolbarFeatures.isAppHeaderCustomizationSupported(
|
||||
/* isTablet= */ true, DisplayUtil.isContextInDefaultDisplay(mContext));
|
||||
@@ -273,7 +272,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
|
||||
@@ -811,7 +811,9 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator {
|
||||
@@ -872,7 +872,9 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator {
|
||||
|
||||
@Override
|
||||
public int getControlContainerHeightResource() {
|
||||
@@ -287,7 +286,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/ui/RootUiCoordinator.java b/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordinator.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordinator.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordinator.java
|
||||
@@ -125,6 +125,8 @@ import org.chromium.chrome.browser.paint_preview.DemoPaintPreview;
|
||||
@@ -131,6 +131,8 @@ import org.chromium.chrome.browser.paint_preview.DemoPaintPreview;
|
||||
import org.chromium.chrome.browser.password_manager.ManagePasswordsReferrer;
|
||||
import org.chromium.chrome.browser.password_manager.PasswordManagerLauncher;
|
||||
import org.chromium.chrome.browser.pdf.PdfPage;
|
||||
@@ -296,7 +295,7 @@ 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;
|
||||
@@ -1959,7 +1961,9 @@ public class RootUiCoordinator
|
||||
@@ -2046,7 +2048,9 @@ public class RootUiCoordinator
|
||||
|
||||
protected int getFindToolbarStub() {
|
||||
int stubId = R.id.find_toolbar_stub;
|
||||
@@ -321,7 +320,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
|
||||
@@ -393,6 +393,7 @@ public final class ChromePreferenceKeys {
|
||||
@@ -402,6 +402,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";
|
||||
@@ -372,15 +371,15 @@ diff --git a/chrome/browser/preferences/android/java/src/org/chromium/chrome/bro
|
||||
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;
|
||||
@@ -20,6 +20,7 @@ import org.chromium.build.annotations.Nullable;
|
||||
import org.chromium.chrome.browser.lifecycle.ActivityLifecycleDispatcher;
|
||||
import org.chromium.chrome.browser.lifecycle.ActivityLifecycleDispatcher.ActivityState;
|
||||
import org.chromium.components.browser_ui.desktop_windowing.DesktopWindowStateManager;
|
||||
+import org.chromium.ui.base.DeviceFormFactor;
|
||||
import org.chromium.ui.display.DisplayUtil;
|
||||
import org.chromium.ui.insets.InsetsRectProvider;
|
||||
|
||||
@@ -245,6 +246,7 @@ public class AppHeaderUtils {
|
||||
@@ -169,6 +170,7 @@ public class AppHeaderUtils {
|
||||
*/
|
||||
static @DesktopWindowHeuristicResult int checkIsInDesktopWindow(
|
||||
InsetsRectProvider insetsRectProvider, Context context) {
|
||||
@@ -391,7 +390,7 @@ diff --git a/chrome/browser/ui/android/desktop_windowing/java/src/org/chromium/c
|
||||
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
|
||||
@@ -1022,7 +1022,7 @@ public class LocationBarCoordinator
|
||||
@@ -1024,7 +1024,7 @@ public class LocationBarCoordinator
|
||||
}
|
||||
|
||||
private boolean isTabletWindow() {
|
||||
@@ -403,7 +402,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
|
||||
@@ -1504,6 +1504,13 @@ Your Google account may have other forms of browsing history like searches and a
|
||||
@@ -1519,6 +1519,13 @@ Your Google account may have other forms of browsing history like searches and a
|
||||
Privacy guide explanation closed
|
||||
</message>
|
||||
|
||||
@@ -457,14 +456,14 @@ diff --git a/chrome/browser/ui/android/toolbar/java/res/layout/control_container
|
||||
diff --git a/chrome/browser/ui/android/toolbar/java/res/layout/toolbar_tablet.xml b/chrome/browser/ui/android/toolbar/java/res/layout/toolbar_tablet.xml
|
||||
--- a/chrome/browser/ui/android/toolbar/java/res/layout/toolbar_tablet.xml
|
||||
+++ b/chrome/browser/ui/android/toolbar/java/res/layout/toolbar_tablet.xml
|
||||
@@ -15,7 +15,7 @@ found in the LICENSE file.
|
||||
@@ -14,7 +14,7 @@ found in the LICENSE file.
|
||||
android:id="@+id/toolbar"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="@dimen/toolbar_height_no_shadow"
|
||||
- android:layout_marginTop="@dimen/tab_strip_height"
|
||||
+ android:layout_marginTop="@dimen/tab_strip_height_tabletui"
|
||||
android:background="@macro/default_bg_color"
|
||||
>
|
||||
>
|
||||
|
||||
diff --git a/chrome/browser/ui/android/toolbar/java/res/values-sw600dp/dimens.xml b/chrome/browser/ui/android/toolbar/java/res/values-sw600dp/dimens.xml
|
||||
--- a/chrome/browser/ui/android/toolbar/java/res/values-sw600dp/dimens.xml
|
||||
@@ -598,7 +597,7 @@ diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/brow
|
||||
diff --git a/components/browser_ui/accessibility/android/java/res/xml/accessibility_preferences.xml b/components/browser_ui/accessibility/android/java/res/xml/accessibility_preferences.xml
|
||||
--- a/components/browser_ui/accessibility/android/java/res/xml/accessibility_preferences.xml
|
||||
+++ b/components/browser_ui/accessibility/android/java/res/xml/accessibility_preferences.xml
|
||||
@@ -41,6 +41,11 @@ found in the LICENSE file.
|
||||
@@ -46,6 +46,11 @@ found in the LICENSE file.
|
||||
android:summary="@string/caret_browsing_summary"
|
||||
android:title="@string/caret_browsing_title" />
|
||||
|
||||
@@ -613,7 +612,7 @@ diff --git a/components/browser_ui/accessibility/android/java/res/xml/accessibil
|
||||
diff --git a/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/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
|
||||
@@ -35,6 +35,7 @@ import org.chromium.content_public.browser.ContentFeatureMap;
|
||||
@@ -39,6 +39,7 @@ import org.chromium.content_public.browser.ContentFeatureMap;
|
||||
import org.chromium.ui.base.UiAndroidFeatureList;
|
||||
|
||||
import org.chromium.chrome.browser.settings.ChromeBaseSettingsFragment;
|
||||
@@ -621,9 +620,9 @@ diff --git a/components/browser_ui/accessibility/android/java/src/org/chromium/c
|
||||
|
||||
/** Fragment to keep track of all the accessibility related preferences. */
|
||||
@NullMarked
|
||||
@@ -55,6 +56,9 @@ public class AccessibilitySettings extends ChromeBaseSettingsFragment
|
||||
public static final String PREF_TOUCHPAD_OVERSCROLL_HISTORY_NAVIGATION =
|
||||
"touchpad_overscroll_history_navigation";
|
||||
@@ -80,6 +81,9 @@ public class AccessibilitySettings extends ChromeBaseSettingsFragment
|
||||
}
|
||||
};
|
||||
|
||||
+ private BooleanPreferenceDelegate mForceTabletUIDelegate;
|
||||
+ static final String PREF_FORCE_TABLET_UI = "force_tablet_ui";
|
||||
@@ -631,9 +630,9 @@ diff --git a/components/browser_ui/accessibility/android/java/src/org/chromium/c
|
||||
private PageZoomPreference mPageZoomDefaultZoomPref;
|
||||
private ChromeSwitchPreference mPageZoomIncludeOSAdjustment;
|
||||
private ChromeSwitchPreference mPageZoomAlwaysShowPref;
|
||||
@@ -131,6 +135,12 @@ public class AccessibilitySettings extends ChromeBaseSettingsFragment
|
||||
mDelegate.getReaderAccessibilityDelegate().getValue());
|
||||
readerForAccessibilityPref.setOnPreferenceChangeListener(this);
|
||||
@@ -167,6 +171,12 @@ public class AccessibilitySettings extends ChromeBaseSettingsFragment
|
||||
readerEnableLinks.setOnPreferenceChangeListener(this);
|
||||
}
|
||||
|
||||
+ ChromeSwitchPreference forceTabletUiPref =
|
||||
+ (ChromeSwitchPreference) findPreference(PREF_FORCE_TABLET_UI);
|
||||
@@ -644,7 +643,7 @@ diff --git a/components/browser_ui/accessibility/android/java/src/org/chromium/c
|
||||
Preference captions = findPreference(PREF_CAPTIONS);
|
||||
captions.setOnPreferenceClickListener(
|
||||
preference -> {
|
||||
@@ -217,6 +227,9 @@ public class AccessibilitySettings extends ChromeBaseSettingsFragment
|
||||
@@ -262,6 +272,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);
|
||||
@@ -657,7 +656,7 @@ diff --git a/components/browser_ui/accessibility/android/java/src/org/chromium/c
|
||||
diff --git a/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettingsDelegate.java b/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettingsDelegate.java
|
||||
--- a/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettingsDelegate.java
|
||||
+++ b/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettingsDelegate.java
|
||||
@@ -41,6 +41,8 @@ public interface AccessibilitySettingsDelegate {
|
||||
@@ -42,6 +42,8 @@ public interface AccessibilitySettingsDelegate {
|
||||
*/
|
||||
BrowserContextHandle getBrowserContextHandle();
|
||||
|
||||
|
||||
@@ -10,18 +10,18 @@ Conditional immediate support is disabled.
|
||||
|
||||
License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
||||
---
|
||||
.../settings/PasswordSettings.java | 27 +++++++++++++++++
|
||||
.../settings/PasswordSettings.java | 27 +++++++++++++++++++
|
||||
.../touch_to_fill_controller.cc | 2 ++
|
||||
...etting-to-enable-Credman-for-passkeys.grdp | 12 ++++++++
|
||||
.../webauthn/AuthenticatorImpl.java | 29 +++++++------------
|
||||
...etting-to-enable-Credman-for-passkeys.grdp | 12 +++++++++
|
||||
.../webauthn/AuthenticatorImpl.java | 25 ++++++++---------
|
||||
.../components/webauthn/WebauthnFeatures.java | 2 ++
|
||||
.../cred_man/CredManSupportProvider.java | 25 ++++------------
|
||||
.../cred_man/CredManSupportProvider.java | 25 +++++------------
|
||||
.../webauthn/android/webauthn_feature_map.cc | 1 +
|
||||
components/webauthn/features.cc | 4 +++
|
||||
components/webauthn/features.h | 3 ++
|
||||
components/webauthn/features.h | 3 +++
|
||||
device/fido/public/features.cc | 2 ++
|
||||
.../authentication_credentials_container.cc | 5 ++++
|
||||
11 files changed, 75 insertions(+), 37 deletions(-)
|
||||
11 files changed, 75 insertions(+), 33 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
|
||||
@@ -140,7 +140,7 @@ diff --git a/components/webauthn/android/java/src/org/chromium/components/webaut
|
||||
mRequestCallback.onComplete(
|
||||
WebauthnRequestResponse.forFailedMakeCredential(
|
||||
AuthenticatorStatus.NOT_IMPLEMENTED,
|
||||
@@ -250,8 +251,7 @@ public final class AuthenticatorImpl implements Authenticator, AuthenticationCon
|
||||
@@ -246,8 +247,7 @@ public final class AuthenticatorImpl implements Authenticator, AuthenticationCon
|
||||
&& DeviceFeatureMap.isEnabled(
|
||||
DeviceFeatureList
|
||||
.WEBAUTHN_AUTHENTICATOR_PASSWORDS_ONLY_IMMEDIATE_REQUESTS);
|
||||
@@ -150,7 +150,7 @@ diff --git a/components/webauthn/android/java/src/org/chromium/components/webaut
|
||||
|| (options.publicKey == null && !isPasswordOnlyFlux)) {
|
||||
RequestMetrics metrics =
|
||||
new RequestMetrics.Builder()
|
||||
@@ -291,12 +291,11 @@ public final class AuthenticatorImpl implements Authenticator, AuthenticationCon
|
||||
@@ -287,12 +287,11 @@ public final class AuthenticatorImpl implements Authenticator, AuthenticationCon
|
||||
}
|
||||
|
||||
private boolean couldSupportConditionalMediation() {
|
||||
@@ -165,7 +165,7 @@ diff --git a/components/webauthn/android/java/src/org/chromium/components/webaut
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -370,26 +369,20 @@ public final class AuthenticatorImpl implements Authenticator, AuthenticationCon
|
||||
@@ -366,22 +365,20 @@ public final class AuthenticatorImpl implements Authenticator, AuthenticationCon
|
||||
capabilities.add(
|
||||
createWebAuthnClientCapability(
|
||||
AuthenticatorConstants.CAPABILITY_CONDITIONAL_GET,
|
||||
@@ -175,15 +175,11 @@ diff --git a/components/webauthn/android/java/src/org/chromium/components/webaut
|
||||
createWebAuthnClientCapability(
|
||||
AuthenticatorConstants.CAPABILITY_UVPAA,
|
||||
- couldSupportUvpaa() && isUvpaa));
|
||||
- boolean conditionalCreateEnabled =
|
||||
- couldSupportConditionalMediation()
|
||||
- && DeviceFeatureMap.isEnabled(
|
||||
- DeviceFeatureList.WEBAUTHN_PASSKEY_UPGRADE);
|
||||
+ true));
|
||||
capabilities.add(
|
||||
createWebAuthnClientCapability(
|
||||
AuthenticatorConstants.CAPABILITY_CONDITIONAL_CREATE,
|
||||
- isUvpaa && conditionalCreateEnabled));
|
||||
- isUvpaa && couldSupportConditionalMediation()));
|
||||
+ DeviceFeatureMap.isEnabled(
|
||||
+ DeviceFeatureList.WEBAUTHN_PASSKEY_UPGRADE)));
|
||||
capabilities.add(
|
||||
@@ -322,15 +318,15 @@ diff --git a/components/webauthn/features.h b/components/webauthn/features.h
|
||||
diff --git a/device/fido/public/features.cc b/device/fido/public/features.cc
|
||||
--- a/device/fido/public/features.cc
|
||||
+++ b/device/fido/public/features.cc
|
||||
@@ -188,6 +188,7 @@ BASE_FEATURE(kWebAuthnImmediateGet,
|
||||
#else
|
||||
@@ -136,6 +136,7 @@ BASE_FEATURE(kWebAuthnAndroidSignal,
|
||||
"WebAuthenticationAndroidSignal",
|
||||
base::FEATURE_ENABLED_BY_DEFAULT);
|
||||
#endif // BUILDFLAG(IS_ANDROID)
|
||||
+SET_CROMITE_FEATURE_DISABLED(kWebAuthnImmediateGet);
|
||||
|
||||
BASE_FEATURE_PARAM(int,
|
||||
kWebAuthnImmediateMediationTimeoutMilliseconds,
|
||||
@@ -200,6 +201,7 @@ BASE_FEATURE_PARAM(int,
|
||||
// Disabled by default.
|
||||
BASE_FEATURE(kDigitalCredentialsHybridLinking,
|
||||
@@ -184,6 +185,7 @@ BASE_FEATURE_PARAM(int,
|
||||
BASE_FEATURE(kWebAuthnImmediateGetAutoselect,
|
||||
"WebAuthenticationImmediateGetAutoselect",
|
||||
base::FEATURE_ENABLED_BY_DEFAULT);
|
||||
@@ -341,7 +337,7 @@ diff --git a/device/fido/public/features.cc b/device/fido/public/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
|
||||
@@ -1135,6 +1135,11 @@ DOMException* AuthenticatorStatusToDOMException(
|
||||
@@ -1129,6 +1129,11 @@ DOMException* AuthenticatorStatusToDOMException(
|
||||
const WebAuthnDOMExceptionDetailsPtr& dom_exception_details) {
|
||||
DCHECK_EQ(status != AuthenticatorStatus::ERROR_WITH_DOM_EXCEPTION_DETAILS,
|
||||
dom_exception_details.is_null());
|
||||
|
||||
@@ -4,14 +4,22 @@ Subject: Disable some signed exchange features
|
||||
|
||||
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
---
|
||||
chrome/browser/chrome_content_browser_client.cc | 2 +-
|
||||
chrome/browser/chrome_content_browser_client.cc | 3 ++-
|
||||
content/browser/web_package/signed_exchange_utils.cc | 2 +-
|
||||
2 files changed, 2 insertions(+), 2 deletions(-)
|
||||
2 files changed, 3 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/chrome_content_browser_client.cc
|
||||
--- a/chrome/browser/chrome_content_browser_client.cc
|
||||
+++ b/chrome/browser/chrome_content_browser_client.cc
|
||||
@@ -1460,7 +1460,7 @@ void ChromeContentBrowserClient::RegisterProfilePrefs(
|
||||
@@ -1406,6 +1406,7 @@ ChromeContentBrowserClient::ChromeContentBrowserClient() {
|
||||
extra_parts_.push_back(
|
||||
std::make_unique<android::ChromeContentBrowserClientGuestViewPart>());
|
||||
#endif
|
||||
+
|
||||
#if !BUILDFLAG(IS_ANDROID)
|
||||
extra_parts_.push_back(
|
||||
std::make_unique<ChromeContentBrowserClientIsolatedWebAppsPart>());
|
||||
@@ -1460,7 +1461,7 @@ void ChromeContentBrowserClient::RegisterProfilePrefs(
|
||||
site_isolation::prefs::kWebTriggeredIsolatedOrigins);
|
||||
registry->RegisterDictionaryPref(
|
||||
prefs::kDevToolsBackgroundServicesExpirationDict);
|
||||
|
||||
@@ -45,7 +45,7 @@ diff --git a/chrome/version.gni b/chrome/version.gni
|
||||
diff --git a/components/viz/common/features.cc b/components/viz/common/features.cc
|
||||
--- a/components/viz/common/features.cc
|
||||
+++ b/components/viz/common/features.cc
|
||||
@@ -241,6 +241,7 @@ BASE_FEATURE(kEnableADPFRendererMain, base::FEATURE_ENABLED_BY_DEFAULT);
|
||||
@@ -231,6 +231,7 @@ BASE_FEATURE(kEnableADPFRendererMain, base::FEATURE_ENABLED_BY_DEFAULT);
|
||||
// If enabled, Chrome puts Renderer Main threads into a separate
|
||||
// ADPF(Android Dynamic Performance Framework) hint session, and does not
|
||||
// report any timing hints from this session.
|
||||
@@ -53,18 +53,18 @@ diff --git a/components/viz/common/features.cc b/components/viz/common/features.
|
||||
BASE_FEATURE(kEnableADPFSeparateRendererMainSession,
|
||||
base::FEATURE_DISABLED_BY_DEFAULT);
|
||||
|
||||
@@ -538,6 +539,7 @@ bool IsBrowserControlsInVizEnabled() {
|
||||
|
||||
@@ -538,6 +539,7 @@ bool ShouldRemoveRedirectionBitmap() {
|
||||
#if BUILDFLAG(IS_ANDROID)
|
||||
bool ShouldUseAdpfForSoc(std::string_view soc_allowlist,
|
||||
std::string_view soc) {
|
||||
+ // if ((true)) return true; temporarily disabled due #2713
|
||||
+ if ((true)) return true;
|
||||
std::vector<std::string_view> allowlist = base::SplitStringPiece(
|
||||
soc_allowlist, "|", base::TRIM_WHITESPACE, base::SPLIT_WANT_NONEMPTY);
|
||||
return base::Contains(allowlist, soc);
|
||||
return std::ranges::contains(allowlist, soc);
|
||||
diff --git a/components/viz/service/performance_hint/hint_session.cc b/components/viz/service/performance_hint/hint_session.cc
|
||||
--- a/components/viz/service/performance_hint/hint_session.cc
|
||||
+++ b/components/viz/service/performance_hint/hint_session.cc
|
||||
@@ -437,16 +437,13 @@ bool IsAdpfEnabled() {
|
||||
@@ -525,16 +525,13 @@ bool IsAdpfEnabled() {
|
||||
switches::kDisableAdpf)) {
|
||||
return false;
|
||||
}
|
||||
@@ -85,7 +85,7 @@ diff --git a/components/viz/service/performance_hint/hint_session.cc b/component
|
||||
diff --git a/third_party/blink/renderer/platform/widget/input/widget_input_handler_manager.cc b/third_party/blink/renderer/platform/widget/input/widget_input_handler_manager.cc
|
||||
--- a/third_party/blink/renderer/platform/widget/input/widget_input_handler_manager.cc
|
||||
+++ b/third_party/blink/renderer/platform/widget/input/widget_input_handler_manager.cc
|
||||
@@ -221,6 +221,11 @@ class SynchronousCompositorProxyRegistry
|
||||
@@ -222,6 +222,11 @@ class SynchronousCompositorProxyRegistry
|
||||
renderer_threads.push_back(
|
||||
viz::Thread{io_thread_id_, viz::Thread::Type::kIO});
|
||||
}
|
||||
|
||||
@@ -11,17 +11,17 @@ active by default.
|
||||
License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
||||
---
|
||||
components/performance_manager/features.cc | 6 ++++++
|
||||
.../performance_manager/freezing/freezing_policy.cc | 4 ++--
|
||||
.../performance_manager/freezing/freezing_policy.cc | 2 +-
|
||||
components/performance_manager/public/features.h | 3 +++
|
||||
components/performance_manager/user_tuning/prefs.cc | 6 +++---
|
||||
.../Enable-freeze-high-cpu-background-usage.inc | 8 ++++++++
|
||||
5 files changed, 22 insertions(+), 5 deletions(-)
|
||||
5 files changed, 21 insertions(+), 4 deletions(-)
|
||||
create mode 100644 cromite_flags/chrome/browser/about_flags_cc/Enable-freeze-high-cpu-background-usage.inc
|
||||
|
||||
diff --git a/components/performance_manager/features.cc b/components/performance_manager/features.cc
|
||||
--- a/components/performance_manager/features.cc
|
||||
+++ b/components/performance_manager/features.cc
|
||||
@@ -180,6 +180,7 @@ BASE_FEATURE(kBFCachePerformanceManagerPolicy,
|
||||
@@ -174,6 +174,7 @@ BASE_FEATURE(kPMLoadingPageVoter, base::FEATURE_DISABLED_BY_DEFAULT);
|
||||
BASE_FEATURE(kUrgentPageDiscarding, base::FEATURE_ENABLED_BY_DEFAULT);
|
||||
|
||||
BASE_FEATURE(kCPUMeasurementInFreezingPolicy, base::FEATURE_ENABLED_BY_DEFAULT);
|
||||
@@ -29,7 +29,7 @@ diff --git a/components/performance_manager/features.cc b/components/performance
|
||||
|
||||
BASE_FEATURE(kMemoryMeasurementInFreezingPolicy,
|
||||
base::FEATURE_ENABLED_BY_DEFAULT);
|
||||
@@ -257,8 +258,13 @@ BASE_FEATURE_PARAM(int,
|
||||
@@ -245,8 +246,13 @@ BASE_FEATURE_PARAM(int,
|
||||
"percent_threshold",
|
||||
15);
|
||||
|
||||
@@ -46,24 +46,19 @@ diff --git a/components/performance_manager/features.cc b/components/performance
|
||||
diff --git a/components/performance_manager/freezing/freezing_policy.cc b/components/performance_manager/freezing/freezing_policy.cc
|
||||
--- a/components/performance_manager/freezing/freezing_policy.cc
|
||||
+++ b/components/performance_manager/freezing/freezing_policy.cc
|
||||
@@ -446,11 +446,11 @@ void FreezingPolicy::UpdateFrozenState(
|
||||
@@ -444,7 +444,7 @@ void FreezingPolicy::UpdateFrozenState(
|
||||
if (browsing_instance_state
|
||||
.highest_cpu_without_battery_saver_cannot_freeze >=
|
||||
high_cpu_proportion &&
|
||||
- is_battery_saver_active_ &&
|
||||
+ (base::FeatureList::IsEnabled(features::kFreezingWithoutBatterySaver) || (is_battery_saver_active_ &&
|
||||
// Note: Feature state is checked last so that only clients that
|
||||
// have a browsing instance that is CPU intensive in background
|
||||
// while Battery Saver is active are enrolled in the experiment.
|
||||
- base::FeatureList::IsEnabled(features::kFreezingOnBatterySaver)) {
|
||||
+ base::FeatureList::IsEnabled(features::kFreezingOnBatterySaver))) ) {
|
||||
- is_battery_saver_active_) {
|
||||
+ (base::FeatureList::IsEnabled(features::kFreezingWithoutBatterySaver) || is_battery_saver_active_)) {
|
||||
eligible_for_freezing_on_battery_saver = true;
|
||||
}
|
||||
|
||||
}
|
||||
diff --git a/components/performance_manager/public/features.h b/components/performance_manager/public/features.h
|
||||
--- a/components/performance_manager/public/features.h
|
||||
+++ b/components/performance_manager/public/features.h
|
||||
@@ -215,6 +215,9 @@ BASE_DECLARE_FEATURE_PARAM(base::TimeDelta,
|
||||
@@ -197,6 +197,9 @@ BASE_DECLARE_FEATURE_PARAM(base::TimeDelta,
|
||||
// enabled.
|
||||
BASE_DECLARE_FEATURE_PARAM(int, kInfiniteTabsFreezingOnMemoryPressurePercent);
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -15,16 +15,16 @@ See also: https://github.com/bromite/bromite/issues/547
|
||||
Original License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
||||
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
---
|
||||
.../settings/PasswordSettings.java | 84 +++++++++++++++++-
|
||||
.../settings/PasswordSettings.java | 84 +++++++++++++++-
|
||||
.../chrome/browser/settings/MainSettings.java | 17 +---
|
||||
.../chromium/chrome/browser/tab/TabImpl.java | 42 +++++++--
|
||||
.../chromium/chrome/browser/tab/TabImpl.java | 41 ++++++--
|
||||
chrome/browser/android/tab_android.cc | 4 +-
|
||||
chrome/browser/autofill/android/BUILD.gn | 2 +-
|
||||
.../autofill/AutofillClientProviderUtils.java | 2 +-
|
||||
...AutofillThirdPartyModeContentProvider.java | 1 +
|
||||
.../glic/actor_form_filling_service_impl.cc | 16 ++--
|
||||
.../strings/android_chrome_strings.grd | 6 ++
|
||||
.../ui/autofill/autofill_client_provider.cc | 87 +------------------
|
||||
.../ui/autofill/autofill_client_provider.cc | 96 +------------------
|
||||
.../ui/autofill/autofill_client_provider.h | 6 --
|
||||
chrome/browser/ui/tab_helpers.cc | 4 +-
|
||||
components/android_autofill/browser/BUILD.gn | 1 +
|
||||
@@ -34,9 +34,9 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
.../components/autofill/AutofillProvider.java | 7 ++
|
||||
.../BrowserSelectionActionMenuDelegate.java | 27 ++++++
|
||||
.../browser/content_autofill_driver.cc | 11 +++
|
||||
.../content/browser/content_autofill_driver.h | 10 +++
|
||||
.../content/browser/content_autofill_driver.h | 10 ++
|
||||
.../content_autofill_driver_factory.cc | 12 +++
|
||||
.../content/renderer/autofill_agent.cc | 5 ++
|
||||
.../content/renderer/autofill_agent.cc | 10 +-
|
||||
.../renderer/password_autofill_agent.cc | 5 +-
|
||||
.../browser/foundations/autofill_driver.h | 2 +
|
||||
.../foundations/autofill_driver_factory.cc | 4 +
|
||||
@@ -44,8 +44,8 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
.../foundations/browser_autofill_manager.cc | 2 +
|
||||
.../foundations/browser_autofill_manager.h | 2 +
|
||||
.../autofill/core/common/autofill_prefs.cc | 4 +-
|
||||
.../autofill/core/common/autofill_prefs.h | 5 ++
|
||||
30 files changed, 246 insertions(+), 133 deletions(-)
|
||||
.../autofill/core/common/autofill_prefs.h | 5 +
|
||||
30 files changed, 248 insertions(+), 144 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 +187,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/password_manage
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/MainSettings.java b/chrome/android/java/src/org/chromium/chrome/browser/settings/MainSettings.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/settings/MainSettings.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/settings/MainSettings.java
|
||||
@@ -596,21 +596,8 @@ public class MainSettings extends ChromeBaseSettingsFragment
|
||||
@@ -626,21 +626,8 @@ public class MainSettings extends ChromeBaseSettingsFragment
|
||||
}
|
||||
|
||||
private void updateAutofillPreferences() {
|
||||
@@ -214,9 +214,9 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/MainSe
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.java
|
||||
@@ -122,6 +122,13 @@ import java.nio.ByteBuffer;
|
||||
@@ -122,6 +122,13 @@ import java.lang.ref.WeakReference;
|
||||
import java.nio.ByteBuffer;
|
||||
import java.util.Objects;
|
||||
import java.util.function.Supplier;
|
||||
|
||||
+import org.chromium.components.autofill.AutofillSelectionMenuItemHelper;
|
||||
+import org.chromium.components.autofill.BrowserSelectionActionMenuDelegate;
|
||||
@@ -228,7 +228,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.jav
|
||||
/**
|
||||
* Implementation of the interface {@link Tab}. Contains and manages a {@link ContentView}. This
|
||||
* class is not intended to be extended.
|
||||
@@ -1331,6 +1338,11 @@ class TabImpl implements Tab {
|
||||
@@ -1330,6 +1337,11 @@ class TabImpl implements Tab {
|
||||
}
|
||||
|
||||
mObservers.clear();
|
||||
@@ -240,16 +240,15 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.jav
|
||||
if (!abortNavigationsFromTabClosures) mUserDataHost.destroy();
|
||||
mTabViewManager.destroy();
|
||||
hideNativePage(false, null);
|
||||
@@ -1717,7 +1729,7 @@ class TabImpl implements Tab {
|
||||
@@ -1715,6 +1727,7 @@ class TabImpl implements Tab {
|
||||
* @return iff the AutofillProvider should provide a ViewStructure when prompted.
|
||||
*/
|
||||
boolean providesAutofillStructure() {
|
||||
-
|
||||
+ if ((true)) return true;
|
||||
if (mProfile == null || !mProfile.isNativeInitialized()) {
|
||||
if (!mProfile.isNativeInitialized()) {
|
||||
return false;
|
||||
}
|
||||
@@ -2483,16 +2495,21 @@ class TabImpl implements Tab {
|
||||
@@ -2497,16 +2510,21 @@ class TabImpl implements Tab {
|
||||
* @return true if the the provider is available for the given WebContents.
|
||||
*/
|
||||
private boolean prepareAutofillProvider(WebContents newWebContents) {
|
||||
@@ -277,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(
|
||||
@@ -2502,7 +2519,16 @@ class TabImpl implements Tab {
|
||||
@@ -2516,7 +2534,16 @@ class TabImpl implements Tab {
|
||||
getContext().getString(R.string.app_name));
|
||||
TabImplJni.get().initializeAutofillIfNecessary(mNativeTabAndroid);
|
||||
}
|
||||
@@ -298,7 +297,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.jav
|
||||
diff --git a/chrome/browser/android/tab_android.cc b/chrome/browser/android/tab_android.cc
|
||||
--- a/chrome/browser/android/tab_android.cc
|
||||
+++ b/chrome/browser/android/tab_android.cc
|
||||
@@ -38,6 +38,7 @@
|
||||
@@ -39,6 +39,7 @@
|
||||
#include "chrome/browser/resource_coordinator/tab_load_tracker.h"
|
||||
#include "chrome/browser/sync/glue/synced_tab_delegate_android.h"
|
||||
#include "chrome/browser/tab_contents/tab_util.h"
|
||||
@@ -306,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"
|
||||
@@ -461,8 +462,7 @@ void TabAndroid::InitializeAutofillIfNecessary() {
|
||||
@@ -418,8 +419,7 @@ void TabAndroid::InitializeAutofillIfNecessary() {
|
||||
->MaybeInitKeyboardSuppressor();
|
||||
return;
|
||||
}
|
||||
@@ -319,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
|
||||
@@ -167,7 +167,7 @@ android_library("bottom_sheet_utils_java") {
|
||||
@@ -181,7 +181,7 @@ android_library("bottom_sheet_utils_java") {
|
||||
generate_jni("jni_headers") {
|
||||
sources = [
|
||||
"java/src/org/chromium/chrome/browser/autofill/AddressNormalizerFactory.java",
|
||||
@@ -331,7 +330,7 @@ diff --git a/chrome/browser/autofill/android/BUILD.gn b/chrome/browser/autofill/
|
||||
diff --git a/chrome/browser/autofill/android/java/src/org/chromium/chrome/browser/autofill/AutofillClientProviderUtils.java b/chrome/browser/autofill/android/java/src/org/chromium/chrome/browser/autofill/AutofillClientProviderUtils.java
|
||||
--- a/chrome/browser/autofill/android/java/src/org/chromium/chrome/browser/autofill/AutofillClientProviderUtils.java
|
||||
+++ b/chrome/browser/autofill/android/java/src/org/chromium/chrome/browser/autofill/AutofillClientProviderUtils.java
|
||||
@@ -76,9 +76,9 @@ public class AutofillClientProviderUtils {
|
||||
@@ -90,9 +90,9 @@ public class AutofillClientProviderUtils {
|
||||
* @return {@link AndroidAutofillAvailabilityStatus.AVAILABLE} if Android Autofill can be used
|
||||
* or a reason why it can't.
|
||||
*/
|
||||
@@ -356,7 +355,7 @@ diff --git a/chrome/browser/autofill/android/java/src/org/chromium/chrome/browse
|
||||
diff --git a/chrome/browser/autofill/glic/actor_form_filling_service_impl.cc b/chrome/browser/autofill/glic/actor_form_filling_service_impl.cc
|
||||
--- a/chrome/browser/autofill/glic/actor_form_filling_service_impl.cc
|
||||
+++ b/chrome/browser/autofill/glic/actor_form_filling_service_impl.cc
|
||||
@@ -379,14 +379,14 @@ GetAutofillManager(const tabs::TabInterface& tab) {
|
||||
@@ -412,14 +412,14 @@ GetAutofillManager(const tabs::TabInterface& tab) {
|
||||
if (!profile) {
|
||||
return base::unexpected(kAutofillNotAvailable);
|
||||
}
|
||||
@@ -398,7 +397,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro
|
||||
diff --git a/chrome/browser/ui/autofill/autofill_client_provider.cc b/chrome/browser/ui/autofill/autofill_client_provider.cc
|
||||
--- a/chrome/browser/ui/autofill/autofill_client_provider.cc
|
||||
+++ b/chrome/browser/ui/autofill/autofill_client_provider.cc
|
||||
@@ -17,85 +17,14 @@
|
||||
@@ -17,92 +17,14 @@
|
||||
#include "chrome/browser/autofill/android/android_autofill_availability_status.h"
|
||||
#include "components/android_autofill/browser/android_autofill_client.h"
|
||||
#include "components/prefs/android/pref_service_android.h"
|
||||
@@ -421,7 +420,7 @@ diff --git a/chrome/browser/ui/autofill/autofill_client_provider.cc b/chrome/bro
|
||||
-void RecordWhetherAndroidPrefResets(PrefService& prefs,
|
||||
- bool uses_platform_autofill) {
|
||||
- const bool will_reset_pref =
|
||||
- prefs.GetBoolean(prefs::kAutofillUsingVirtualViewStructure) &&
|
||||
- prefs.GetBoolean(prefs::kAutofillUsingPlatformAutofill) &&
|
||||
- !uses_platform_autofill;
|
||||
- base::UmaHistogramBoolean("Autofill.ResetAutofillPrefToChrome",
|
||||
- will_reset_pref);
|
||||
@@ -478,15 +477,23 @@ diff --git a/chrome/browser/ui/autofill/autofill_client_provider.cc b/chrome/bro
|
||||
-#if BUILDFLAG(IS_ANDROID)
|
||||
- RecordWhetherAndroidPrefResets(*prefs, uses_platform_autofill_);
|
||||
- // Ensure the pref is reset if platform autofill is restricted.
|
||||
prefs->SetBoolean(prefs::kAutofillUsingVirtualViewStructure,
|
||||
- prefs->SetBoolean(prefs::kAutofillUsingPlatformAutofill,
|
||||
- uses_platform_autofill_);
|
||||
- if (uses_platform_autofill_) {
|
||||
- // Update the package of the actively used Autofill Service while platform
|
||||
- // autofill is used. This allows restoring platform autofill later if it's
|
||||
- // temporarily unavailable. Calling this for AwG would reset the pref.
|
||||
- Java_AutofillClientProviderUtils_updatePackageUsedForAutofill(
|
||||
- base::android::AttachCurrentThread(), prefs, uses_platform_autofill_);
|
||||
- }
|
||||
- SetSharedPrefForSettingsContentProvider(uses_platform_autofill_);
|
||||
- SetSharedPrefForDeepLink();
|
||||
+ prefs->SetBoolean(prefs::kAutofillUsingVirtualViewStructure,
|
||||
+ true);
|
||||
#endif // BUILDFLAG(IS_ANDROID)
|
||||
}
|
||||
|
||||
@@ -103,19 +32,7 @@ AutofillClientProvider::~AutofillClientProvider() = default;
|
||||
@@ -110,19 +32,7 @@ AutofillClientProvider::~AutofillClientProvider() = default;
|
||||
|
||||
void AutofillClientProvider::CreateClientForWebContents(
|
||||
content::WebContents* web_contents) {
|
||||
@@ -526,7 +533,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
|
||||
@@ -369,9 +369,7 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) {
|
||||
@@ -377,9 +377,7 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) {
|
||||
web_contents);
|
||||
ChainedBackNavigationTracker::CreateForWebContents(web_contents);
|
||||
chrome_browser_net::NetErrorTabHelper::CreateForWebContents(web_contents);
|
||||
@@ -764,12 +771,16 @@ 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
|
||||
@@ -1483,14 +1483,19 @@ void AutofillAgent::ShowSuggestions(
|
||||
@@ -1516,17 +1516,19 @@ void AutofillAgent::ShowSuggestions(
|
||||
password_generation_agent_->ShowPasswordGenerationSuggestions(
|
||||
input_element, form_cache)) {
|
||||
is_popup_possibly_visible_ = true;
|
||||
- if (!base::FeatureList::IsEnabled(
|
||||
- features::kAutofillAndroidKeyboardAccessoryDynamicPositioning)) {
|
||||
- return;
|
||||
- }
|
||||
+#if !BUILDFLAG(IS_ANDROID)
|
||||
return;
|
||||
+ return;
|
||||
+#endif
|
||||
}
|
||||
+ [[maybe_unused]]
|
||||
@@ -791,14 +802,14 @@ diff --git a/components/autofill/content/renderer/password_autofill_agent.cc b/c
|
||||
|
||||
void PasswordAutofillAgent::TrackAutofilledElement(
|
||||
const WebFormControlElement& element) {
|
||||
- autofill_agent_->TrackAutofilledElement(element);
|
||||
- autofill_agent_->TrackAutofilledElement(
|
||||
+ // fix for https://github.com/bromite/bromite/issues/1570
|
||||
+ AutofillAgent* agent = autofill_agent_.get();
|
||||
+ if (agent)
|
||||
+ agent->TrackAutofilledElement(element);
|
||||
+ agent->TrackAutofilledElement(
|
||||
form_util::GetFieldRendererId(element));
|
||||
}
|
||||
|
||||
void PasswordAutofillAgent::FillPasswordSuggestion(
|
||||
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
|
||||
@@ -828,7 +839,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
|
||||
@@ -239,6 +239,8 @@ class AutofillManager
|
||||
@@ -241,6 +241,8 @@ class AutofillManager
|
||||
LifecycleState new_state,
|
||||
base::PassKey<AutofillDriverFactory> pass_key);
|
||||
|
||||
@@ -840,7 +851,7 @@ 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
|
||||
@@ -903,6 +903,8 @@ base::WeakPtr<AutofillManager> BrowserAutofillManager::GetWeakPtr() {
|
||||
@@ -877,6 +877,8 @@ base::WeakPtr<AutofillManager> BrowserAutofillManager::GetWeakPtr() {
|
||||
return weak_ptr_factory_.GetWeakPtr();
|
||||
}
|
||||
|
||||
@@ -852,19 +863,19 @@ diff --git a/components/autofill/core/browser/foundations/browser_autofill_manag
|
||||
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
|
||||
@@ -464,6 +464,8 @@ class BrowserAutofillManager : public AutofillManager {
|
||||
@@ -440,6 +440,8 @@ class BrowserAutofillManager : public AutofillManager {
|
||||
// latter check is needed because IPC messages can arrive out of order.
|
||||
void UpdateInitialInteractionTimestamp(base::TimeTicks interaction_timestamp);
|
||||
|
||||
+ bool IsAndroidAutofill() const override;
|
||||
+
|
||||
// Whether the `trigger_field` should show an entry to scan a credit card.
|
||||
bool ShouldShowScanCreditCard(const FormStructure& form,
|
||||
const AutofillField& trigger_field);
|
||||
// Checks whether JavaScript cleared an autofilled value within
|
||||
// kLimitBeforeRefill after the filling and records metrics for this. This
|
||||
// method should be called after we learned that JavaScript modified an
|
||||
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
|
||||
@@ -85,6 +85,8 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry) {
|
||||
@@ -89,6 +89,8 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry) {
|
||||
registry->RegisterBooleanPref(kAutofillCreditCardFidoAuthOfferCheckboxState,
|
||||
true);
|
||||
#endif
|
||||
@@ -873,19 +884,19 @@ diff --git a/components/autofill/core/common/autofill_prefs.cc b/components/auto
|
||||
registry->RegisterIntegerPref(kAutocompleteLastVersionRetentionPolicy, 0);
|
||||
registry->RegisterStringPref(kAutofillUploadEncodingSeed, "");
|
||||
registry->RegisterDictionaryPref(kAutofillVoteUploadEvents);
|
||||
@@ -124,7 +126,7 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry) {
|
||||
#endif // BUILDFLAG(IS_ANDROID)
|
||||
@@ -117,7 +119,7 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry) {
|
||||
#endif
|
||||
|
||||
#if BUILDFLAG(IS_ANDROID)
|
||||
- registry->RegisterBooleanPref(kAutofillUsingVirtualViewStructure, false);
|
||||
+ registry->RegisterBooleanPref(kAutofillUsingVirtualViewStructure, true);
|
||||
- registry->RegisterBooleanPref(kAutofillUsingPlatformAutofill, false);
|
||||
+ registry->RegisterBooleanPref(kAutofillUsingPlatformAutofill, true);
|
||||
registry->RegisterBooleanPref(kAutofillThirdPartyPasswordManagersAllowed,
|
||||
true);
|
||||
registry->RegisterBooleanPref(
|
||||
registry->RegisterStringPref(
|
||||
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
|
||||
@@ -162,6 +162,11 @@ inline constexpr char kAutofillWasNameAndEmailProfileUsed[] =
|
||||
@@ -152,6 +152,11 @@ inline constexpr char kAutofillWasNameAndEmailProfileUsed[] =
|
||||
// retention policy was run.
|
||||
inline constexpr char kAutocompleteLastVersionRetentionPolicy[] =
|
||||
"autocomplete.retention_policy_last_version";
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -4,14 +4,14 @@ Subject: Guard for user-agent reduction
|
||||
|
||||
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
---
|
||||
components/embedder_support/user_agent_utils.cc | 5 +++++
|
||||
.../platform/runtime_enabled_features.json5 | 14 +++++++-------
|
||||
2 files changed, 12 insertions(+), 7 deletions(-)
|
||||
components/embedder_support/user_agent_utils.cc | 5 +++++
|
||||
.../renderer/platform/runtime_enabled_features.json5 | 8 ++++----
|
||||
2 files changed, 9 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/components/embedder_support/user_agent_utils.cc b/components/embedder_support/user_agent_utils.cc
|
||||
--- a/components/embedder_support/user_agent_utils.cc
|
||||
+++ b/components/embedder_support/user_agent_utils.cc
|
||||
@@ -855,6 +855,7 @@ std::string BuildUserAgentFromProduct(const std::string& product) {
|
||||
@@ -841,6 +841,7 @@ std::string BuildUserAgentFromProduct(const std::string& product) {
|
||||
}
|
||||
|
||||
std::string BuildModelInfo() {
|
||||
@@ -19,7 +19,7 @@ diff --git a/components/embedder_support/user_agent_utils.cc b/components/embedd
|
||||
#if BUILDFLAG(IS_ANDROID)
|
||||
// Model information is not exposed on Android desktop.
|
||||
if (base::android::device_info::is_desktop()) {
|
||||
@@ -897,6 +898,10 @@ std::string GetAndroidOSInfo(
|
||||
@@ -883,6 +884,10 @@ std::string GetAndroidOSInfo(
|
||||
IncludeAndroidModel include_android_model) {
|
||||
std::string android_info_str;
|
||||
|
||||
@@ -33,17 +33,7 @@ diff --git a/components/embedder_support/user_agent_utils.cc b/components/embedd
|
||||
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
|
||||
@@ -4240,22 +4240,22 @@
|
||||
// If enabled, the deviceModel will be reduced to "K" and the
|
||||
// androidVersion will be reduced to a static "10" string in android
|
||||
// User-Agent string.
|
||||
- name: "ReduceUserAgentAndroidVersionDeviceModel",
|
||||
- depends_on: ["ReduceUserAgentMinorVersion"],
|
||||
- status: {"Android": "stable"},
|
||||
+ name: "ReduceUserAgentAndroidVersionDeviceModel", // keep
|
||||
+ depends_on: ["ReduceUserAgentMinorVersion"], // enabled
|
||||
+ status: {"Android": "stable"}, // in bromite
|
||||
},
|
||||
@@ -4381,15 +4381,15 @@
|
||||
// If enabled, the platform version in User-Agent Data will be removed.
|
||||
// This feature is limited to Linux only.
|
||||
{
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -9,16 +9,16 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
||||
---
|
||||
.../permissions/permission_service_impl.cc | 1 -
|
||||
.../renderer_host/render_frame_host_impl.cc | 3 +-
|
||||
.../core/frame/cached_permission_status.cc | 6 ++--
|
||||
.../core/frame/cached_permission_status.cc | 8 ++---
|
||||
.../core/frame/cached_permission_status.h | 1 +
|
||||
.../blink/renderer/core/frame/screen.cc | 35 +++++++++++++++++--
|
||||
.../blink/renderer/core/frame/screen.h | 17 ++++++++-
|
||||
6 files changed, 55 insertions(+), 8 deletions(-)
|
||||
6 files changed, 56 insertions(+), 9 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
|
||||
@@ -384,7 +384,6 @@ void PermissionServiceImpl::AddPermissionObserver(
|
||||
@@ -438,7 +438,6 @@ void PermissionServiceImpl::AddPermissionObserver(
|
||||
ReceivedBadMessage();
|
||||
return;
|
||||
}
|
||||
@@ -29,7 +29,7 @@ diff --git a/content/browser/permissions/permission_service_impl.cc b/content/br
|
||||
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
|
||||
@@ -19326,7 +19326,8 @@ RenderFrameHostImpl::GetCachedPermissionStatuses() {
|
||||
@@ -19453,7 +19453,8 @@ RenderFrameHostImpl::GetCachedPermissionStatuses() {
|
||||
{PermissionName::WEB_APP_INSTALLATION,
|
||||
PermissionType::WEB_APP_INSTALLATION},
|
||||
#endif
|
||||
@@ -42,16 +42,18 @@ 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
|
||||
@@ -37,9 +37,9 @@ CachedPermissionStatus::CachedPermissionStatus(ExecutionContext* context)
|
||||
@@ -37,10 +37,10 @@ CachedPermissionStatus::CachedPermissionStatus(ExecutionContext* context)
|
||||
permission_service_(context),
|
||||
permission_observer_receivers_(this, context) {
|
||||
CHECK(context);
|
||||
- CHECK(RuntimeEnabledFeatures::PermissionElementEnabled(context) ||
|
||||
- RuntimeEnabledFeatures::GeolocationElementEnabled(context) ||
|
||||
- RuntimeEnabledFeatures::UserMediaElementEnabled(context));
|
||||
- RuntimeEnabledFeatures::UserMediaElementEnabled(context) ||
|
||||
- RuntimeEnabledFeatures::InstallElementEnabled(context));
|
||||
+ // CHECK(RuntimeEnabledFeatures::PermissionElementEnabled(context) ||
|
||||
+ // RuntimeEnabledFeatures::GeolocationElementEnabled(context) ||
|
||||
+ // RuntimeEnabledFeatures::UserMediaElementEnabled(context)); see https://source.chromium.org/chromium/chromium/src/+/81a9e9b66a03e12cb438eef0834f5e5f7a0506ee
|
||||
+ // RuntimeEnabledFeatures::UserMediaElementEnabled(context) ||
|
||||
+ RuntimeEnabledFeatures::InstallElementEnabled(context)); see https://source.chromium.org/chromium/chromium/src/+/81a9e9b66a03e12cb438eef0834f5e5f7a0506ee
|
||||
}
|
||||
|
||||
void CachedPermissionStatus::Trace(Visitor* visitor) const {
|
||||
|
||||
@@ -22,10 +22,10 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
diff --git a/chrome/browser/search_engines/android/java/src/org/chromium/chrome/browser/search_engines/settings/SearchEngineAdapter.java b/chrome/browser/search_engines/android/java/src/org/chromium/chrome/browser/search_engines/settings/SearchEngineAdapter.java
|
||||
--- a/chrome/browser/search_engines/android/java/src/org/chromium/chrome/browser/search_engines/settings/SearchEngineAdapter.java
|
||||
+++ b/chrome/browser/search_engines/android/java/src/org/chromium/chrome/browser/search_engines/settings/SearchEngineAdapter.java
|
||||
@@ -334,7 +334,9 @@ public class SearchEngineAdapter extends BaseAdapter
|
||||
continue;
|
||||
@@ -320,7 +320,9 @@ public class SearchEngineAdapter extends BaseAdapter
|
||||
}
|
||||
if (recentEngineNum < MAX_RECENT_ENGINE_NUM
|
||||
if (shouldShowRecentSearchEngines
|
||||
&& recentEngineNum < MAX_RECENT_ENGINE_NUM
|
||||
- && templateUrl.getLastVisitedTime() > displayTime) {
|
||||
+ // newly added search engines have never been visited
|
||||
+ && (templateUrl.getLastVisitedTime() == 0 ||
|
||||
@@ -176,7 +176,7 @@ diff --git a/chrome/renderer/chrome_render_frame_observer.cc b/chrome/renderer/c
|
||||
#include "base/metrics/histogram_macros.h"
|
||||
#include "base/no_destructor.h"
|
||||
#include "base/strings/string_number_conversions.h"
|
||||
@@ -272,6 +273,7 @@ void ChromeRenderFrameObserver::DidFinishLoad() {
|
||||
@@ -274,6 +275,7 @@ void ChromeRenderFrameObserver::DidFinishLoad() {
|
||||
|
||||
GURL osdd_url = frame->GetDocument().OpenSearchDescriptionURL();
|
||||
if (!osdd_url.is_empty()) {
|
||||
@@ -309,7 +309,7 @@ diff --git a/components/search_engines/template_url_parser.cc b/components/searc
|
||||
diff --git a/components/search_engines/template_url_service.h b/components/search_engines/template_url_service.h
|
||||
--- a/components/search_engines/template_url_service.h
|
||||
+++ b/components/search_engines/template_url_service.h
|
||||
@@ -383,7 +383,10 @@ class TemplateURLService final : public WebDataServiceConsumer,
|
||||
@@ -385,7 +385,10 @@ class TemplateURLService final : public WebDataServiceConsumer,
|
||||
void UpdateProviderFavicons(const GURL& potential_search_url,
|
||||
const GURL& favicon_url);
|
||||
|
||||
@@ -321,7 +321,7 @@ diff --git a/components/search_engines/template_url_service.h b/components/searc
|
||||
// regardless of |url| if the default search provider is managed by policy or
|
||||
// controlled by an extension.
|
||||
bool CanMakeDefault(const TemplateURL* url) const;
|
||||
@@ -781,9 +784,6 @@ class TemplateURLService final : public WebDataServiceConsumer,
|
||||
@@ -783,9 +786,6 @@ class TemplateURLService final : public WebDataServiceConsumer,
|
||||
// SetKeywordSearchTermsForURL is invoked.
|
||||
void UpdateKeywordSearchTermsForURL(const URLVisitedDetails& details);
|
||||
|
||||
|
||||
@@ -15,9 +15,9 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
||||
chrome/browser/about_flags.cc | 6 +++---
|
||||
.../browser/chrome_content_browser_client.cc | 11 +++++++++++
|
||||
.../Set-the-screen-frame-rate-to-60-Hz.grdp | 9 +++++++++
|
||||
components/viz/common/features.cc | 1 +
|
||||
.../common/frame_sinks/begin_frame_source.cc | 14 +++++++++++++-
|
||||
.../common/frame_sinks/begin_frame_source.h | 1 +
|
||||
.../frame_sinks/delay_based_time_source.cc | 2 +-
|
||||
components/viz/service/display/display.cc | 18 ++++++++++++++++--
|
||||
.../external_begin_frame_source_android.cc | 13 +++++++++++++
|
||||
.../external_begin_frame_source_android.h | 2 ++
|
||||
@@ -25,7 +25,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
||||
.../Set-the-screen-frame-rate-to-60-Hz.inc | 7 +++++++
|
||||
.../core/animation/animation_clock.cc | 11 ++++++++---
|
||||
.../core/view_transition/view_transition.cc | 2 ++
|
||||
16 files changed, 120 insertions(+), 19 deletions(-)
|
||||
16 files changed, 120 insertions(+), 20 deletions(-)
|
||||
create mode 100644 chrome/browser/ui/android/strings/cromite_android_chrome_strings_grd/Set-the-screen-frame-rate-to-60-Hz.grdp
|
||||
create mode 100644 cromite_flags/chrome/browser/about_flags_cc/Set-the-screen-frame-rate-to-60-Hz.inc
|
||||
|
||||
@@ -58,7 +58,7 @@ diff --git a/cc/base/features.cc b/cc/base/features.cc
|
||||
diff --git a/cc/scheduler/scheduler_state_machine.cc b/cc/scheduler/scheduler_state_machine.cc
|
||||
--- a/cc/scheduler/scheduler_state_machine.cc
|
||||
+++ b/cc/scheduler/scheduler_state_machine.cc
|
||||
@@ -34,7 +34,7 @@ const int kMaxPendingSubmitFrames = 1;
|
||||
@@ -35,7 +35,7 @@ const int kMaxPendingSubmitFrames = 1;
|
||||
bool IsEligibleToThrottleMainFrameRate() {
|
||||
#if BUILDFLAG(IS_ANDROID)
|
||||
// Still requires balancing tradeoffs for desktop Android, not enabled yet.
|
||||
@@ -67,7 +67,7 @@ diff --git a/cc/scheduler/scheduler_state_machine.cc b/cc/scheduler/scheduler_st
|
||||
#else
|
||||
return true;
|
||||
#endif
|
||||
@@ -1578,6 +1578,15 @@ void SchedulerStateMachine::FrameIntervalUpdated(
|
||||
@@ -1586,6 +1586,15 @@ void SchedulerStateMachine::FrameIntervalUpdated(
|
||||
//
|
||||
// Apply some slack, so that if for some reason the interval is a bit larger
|
||||
// than 8.33333333333333ms, then we catch it still.
|
||||
@@ -83,7 +83,7 @@ diff --git a/cc/scheduler/scheduler_state_machine.cc b/cc/scheduler/scheduler_st
|
||||
constexpr float kSlackFactor = .9;
|
||||
bool fast_vsync_interval =
|
||||
frame_interval < base::Hertz(120) * (1 / kSlackFactor);
|
||||
@@ -1903,6 +1912,14 @@ base::TimeTicks SchedulerStateMachine::Now() const {
|
||||
@@ -1917,6 +1926,14 @@ void SchedulerStateMachine::SetRequestHighFramerate(bool flag) {
|
||||
}
|
||||
|
||||
base::TimeDelta SchedulerStateMachine::MainFrameThrottledInterval() const {
|
||||
@@ -96,8 +96,8 @@ diff --git a/cc/scheduler/scheduler_state_machine.cc b/cc/scheduler/scheduler_st
|
||||
+ }
|
||||
+ if ((true)) return base::TimeDelta();
|
||||
if (!throttle_frame_rate_) {
|
||||
return main_frame_throttled_interval_;
|
||||
} else {
|
||||
if (high_framerate_requests_count_ &&
|
||||
base::FeatureList::IsEnabled(
|
||||
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
|
||||
@@ -117,7 +117,7 @@ diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/androi
|
||||
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
|
||||
--- a/chrome/browser/about_flags.cc
|
||||
+++ b/chrome/browser/about_flags.cc
|
||||
@@ -11647,9 +11647,9 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
@@ -10985,9 +10985,9 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
FEATURE_VALUE_TYPE(::features::kBlockRootWindowAccessibleNameChangeEvent)},
|
||||
#endif // BUILDFLAG(IS_MAC)
|
||||
|
||||
@@ -133,7 +133,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
|
||||
diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/chrome_content_browser_client.cc
|
||||
--- a/chrome/browser/chrome_content_browser_client.cc
|
||||
+++ b/chrome/browser/chrome_content_browser_client.cc
|
||||
@@ -51,6 +51,7 @@
|
||||
@@ -53,6 +53,7 @@
|
||||
#include "build/branding_buildflags.h"
|
||||
#include "build/build_config.h"
|
||||
#include "build/config/chromebox_for_meetings/buildflags.h" // PLATFORM_CFM
|
||||
@@ -141,7 +141,7 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch
|
||||
#include "chrome/browser/after_startup_task_utils.h"
|
||||
#include "chrome/browser/ai/ai_manager.h"
|
||||
#include "chrome/browser/app_mode/app_mode_utils.h"
|
||||
@@ -302,6 +303,7 @@
|
||||
@@ -310,6 +311,7 @@
|
||||
#include "components/variations/variations_associated_data.h"
|
||||
#include "components/variations/variations_switches.h"
|
||||
#include "components/version_info/version_info.h"
|
||||
@@ -149,7 +149,7 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch
|
||||
#include "components/webapps/common/web_app_id.h"
|
||||
#include "components/webui/chrome_urls/pref_names.h"
|
||||
#include "content/public/browser/attribution_data_model.h"
|
||||
@@ -2720,6 +2722,15 @@ void ChromeContentBrowserClient::AppendExtraCommandLineSwitches(
|
||||
@@ -2749,6 +2751,15 @@ void ChromeContentBrowserClient::AppendExtraCommandLineSwitches(
|
||||
command_line->AppendSwitchASCII(ash::switches::kHomedir, homedir.value());
|
||||
#endif
|
||||
|
||||
@@ -179,17 +179,6 @@ new file mode 100644
|
||||
+ Throttle compositor frame rate to 60fps, even when VSync rate is higher.
|
||||
+ </message>
|
||||
+</grit-part>
|
||||
diff --git a/components/viz/common/features.cc b/components/viz/common/features.cc
|
||||
--- a/components/viz/common/features.cc
|
||||
+++ b/components/viz/common/features.cc
|
||||
@@ -84,6 +84,7 @@ const char kMaxOverlaysParam[] = "max_overlays";
|
||||
BASE_FEATURE(kDelegatedCompositing, base::FEATURE_DISABLED_BY_DEFAULT);
|
||||
|
||||
BASE_FEATURE(kAvoidDuplicateDelayBeginFrame, base::FEATURE_ENABLED_BY_DEFAULT);
|
||||
+SET_CROMITE_FEATURE_ENABLED(kAvoidDuplicateDelayBeginFrame);
|
||||
|
||||
const char kDrawQuadSplit[] = "num_of_splits";
|
||||
|
||||
diff --git a/components/viz/common/frame_sinks/begin_frame_source.cc b/components/viz/common/frame_sinks/begin_frame_source.cc
|
||||
--- a/components/viz/common/frame_sinks/begin_frame_source.cc
|
||||
+++ b/components/viz/common/frame_sinks/begin_frame_source.cc
|
||||
@@ -201,7 +190,7 @@ diff --git a/components/viz/common/frame_sinks/begin_frame_source.cc b/component
|
||||
|
||||
namespace viz {
|
||||
|
||||
@@ -260,7 +261,10 @@ BackToBackBeginFrameSource::BackToBackBeginFrameSource(
|
||||
@@ -261,7 +262,10 @@ BackToBackBeginFrameSource::BackToBackBeginFrameSource(
|
||||
time_source_->SetClient(this);
|
||||
// The time_source_ ticks immediately, so we SetActive(true) for a single
|
||||
// tick when we need it, and keep it as SetActive(false) otherwise.
|
||||
@@ -213,7 +202,7 @@ diff --git a/components/viz/common/frame_sinks/begin_frame_source.cc b/component
|
||||
}
|
||||
|
||||
BackToBackBeginFrameSource::~BackToBackBeginFrameSource() = default;
|
||||
@@ -318,6 +322,14 @@ void BackToBackBeginFrameSource::OnTimerTick() {
|
||||
@@ -319,6 +323,14 @@ void BackToBackBeginFrameSource::OnTimerTick() {
|
||||
}
|
||||
base::TimeTicks frame_time = time_source_->LastTickTime();
|
||||
base::TimeDelta interval = max_vrr_interval_.value_or(vsync_interval_);
|
||||
@@ -227,11 +216,11 @@ diff --git a/components/viz/common/frame_sinks/begin_frame_source.cc b/component
|
||||
+ }
|
||||
BeginFrameArgs args = BeginFrameArgs::Create(
|
||||
BEGINFRAME_FROM_HERE, source_id(), next_sequence_number_, frame_time,
|
||||
frame_time + interval, interval, BeginFrameArgs::NORMAL);
|
||||
frame_time + interval, interval, BeginFrameArgs::NORMAL, vsync_interval_);
|
||||
diff --git a/components/viz/common/frame_sinks/begin_frame_source.h b/components/viz/common/frame_sinks/begin_frame_source.h
|
||||
--- a/components/viz/common/frame_sinks/begin_frame_source.h
|
||||
+++ b/components/viz/common/frame_sinks/begin_frame_source.h
|
||||
@@ -362,6 +362,7 @@ class VIZ_COMMON_EXPORT BackToBackBeginFrameSource
|
||||
@@ -363,6 +363,7 @@ class VIZ_COMMON_EXPORT BackToBackBeginFrameSource
|
||||
pending_begin_frame_observers_;
|
||||
uint64_t next_sequence_number_;
|
||||
base::TimeDelta vsync_interval_ = BeginFrameArgs::DefaultInterval();
|
||||
@@ -239,6 +228,18 @@ diff --git a/components/viz/common/frame_sinks/begin_frame_source.h b/components
|
||||
std::optional<base::TimeDelta> max_vrr_interval_ = std::nullopt;
|
||||
base::WeakPtrFactory<BackToBackBeginFrameSource> weak_factory_{this};
|
||||
};
|
||||
diff --git a/components/viz/common/frame_sinks/delay_based_time_source.cc b/components/viz/common/frame_sinks/delay_based_time_source.cc
|
||||
--- a/components/viz/common/frame_sinks/delay_based_time_source.cc
|
||||
+++ b/components/viz/common/frame_sinks/delay_based_time_source.cc
|
||||
@@ -165,7 +165,7 @@ void DelayBasedTimeSource::PostNextTickTask(base::TimeTicks now) {
|
||||
// double tick. See crbug.com/398090404 for details.
|
||||
const auto kMaxJudderAllowed = base::Microseconds(500);
|
||||
if (now + kMaxJudderAllowed >= next_tick_time_) {
|
||||
- next_tick_time_ += interval_;
|
||||
+ next_tick_time_ += interval_; // kAvoidDuplicateDelayBeginFrame
|
||||
}
|
||||
|
||||
DCHECK_GT(next_tick_time_, now);
|
||||
diff --git a/components/viz/service/display/display.cc b/components/viz/service/display/display.cc
|
||||
--- a/components/viz/service/display/display.cc
|
||||
+++ b/components/viz/service/display/display.cc
|
||||
@@ -250,9 +251,9 @@ diff --git a/components/viz/service/display/display.cc b/components/viz/service/
|
||||
#include "cc/base/math_util.h"
|
||||
#include "cc/base/region.h"
|
||||
#include "cc/base/simple_enclosed_region.h"
|
||||
@@ -272,8 +273,21 @@ void Display::PresentationGroupTiming::OnSwap(gfx::SwapTimings timings,
|
||||
|
||||
auto frame_latency = timings.swap_start - frame_time_;
|
||||
@@ -295,8 +296,21 @@ void Display::PresentationGroupTiming::OnSwap(gfx::SwapTimings timings,
|
||||
"latency_ms", frame_latency.InMillisecondsF());
|
||||
}
|
||||
if (frame_latency < base::Seconds(0)) {
|
||||
- LOG(ERROR) << "Frame latency is negative: "
|
||||
- << frame_latency.InMillisecondsF() << " ms";
|
||||
@@ -314,7 +315,7 @@ diff --git a/components/viz/service/frame_sinks/external_begin_frame_source_andr
|
||||
diff --git a/components/viz/service/frame_sinks/external_begin_frame_source_android.h b/components/viz/service/frame_sinks/external_begin_frame_source_android.h
|
||||
--- a/components/viz/service/frame_sinks/external_begin_frame_source_android.h
|
||||
+++ b/components/viz/service/frame_sinks/external_begin_frame_source_android.h
|
||||
@@ -54,6 +54,8 @@ class VIZ_SERVICE_EXPORT ExternalBeginFrameSourceAndroid
|
||||
@@ -52,6 +52,8 @@ class VIZ_SERVICE_EXPORT ExternalBeginFrameSourceAndroid
|
||||
std::unique_ptr<AChoreographerImpl> achoreographer_;
|
||||
base::android::ScopedJavaGlobalRef<jobject> j_object_;
|
||||
BeginFrameArgsGenerator begin_frame_args_generator_;
|
||||
@@ -334,7 +335,7 @@ diff --git a/components/viz/service/frame_sinks/root_compositor_frame_sink_impl.
|
||||
#include "components/viz/common/features.h"
|
||||
#include "components/viz/common/frame_sinks/begin_frame_source.h"
|
||||
#include "components/viz/service/display/display.h"
|
||||
@@ -757,7 +758,10 @@ void RootCompositorFrameSinkImpl::FrameIntervalDeciderResultCallback(
|
||||
@@ -772,7 +773,10 @@ void RootCompositorFrameSinkImpl::FrameIntervalDeciderResultCallback(
|
||||
result);
|
||||
interval = interval_and_compat.first;
|
||||
gfx::SurfaceControlFrameRateCompatibility compat = interval_and_compat.second;
|
||||
@@ -346,7 +347,7 @@ diff --git a/components/viz/service/frame_sinks/root_compositor_frame_sink_impl.
|
||||
if (decided_display_interval_ == interval &&
|
||||
decided_display_frame_rate_compat_ == compat) {
|
||||
return;
|
||||
@@ -779,7 +783,9 @@ void RootCompositorFrameSinkImpl::FrameIntervalDeciderResultCallback(
|
||||
@@ -794,7 +798,9 @@ void RootCompositorFrameSinkImpl::FrameIntervalDeciderResultCallback(
|
||||
return interval.interval;
|
||||
}),
|
||||
result);
|
||||
|
||||
@@ -19,11 +19,8 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
||||
.../policies/background_tab_loading_policy.cc | 2 ++
|
||||
.../preferences/ChromePreferenceKeys.java | 2 ++
|
||||
.../LegacyChromePreferenceKeys.java | 1 +
|
||||
.../session_restore_policy.h | 2 +-
|
||||
.../on_startup_page/on_startup_page.ts | 1 +
|
||||
chrome/browser/sessions/session_restore.cc | 9 ++++-
|
||||
chrome/browser/sessions/tab_loader.cc | 7 ++--
|
||||
chrome/browser/sessions/tab_loader.h | 2 +-
|
||||
.../res/layout/single_tab_module_layout.xml | 17 +++++-----
|
||||
.../SingleTabSwitcherCoordinator.java | 2 +-
|
||||
.../SingleTabSwitcherOnNtpMediator.java | 5 +--
|
||||
@@ -33,7 +30,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
||||
.../about_flags_cc/show-ntp-at-startup.inc | 12 +++++++
|
||||
.../show-ntp-at-startup.inc | 5 +++
|
||||
.../show-ntp-at-startup.inc | 1 +
|
||||
25 files changed, 141 insertions(+), 21 deletions(-)
|
||||
22 files changed, 135 insertions(+), 16 deletions(-)
|
||||
create mode 100644 chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/cromite/sShowNtpAtStartupAndroid.java
|
||||
create mode 100644 chrome/browser/ui/android/strings/cromite_android_chrome_strings_grd/show-ntp-at-startup.grdp
|
||||
create mode 100644 cromite_flags/chrome/browser/about_flags_cc/show-ntp-at-startup.inc
|
||||
@@ -103,7 +100,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeInactivit
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
|
||||
@@ -3107,6 +3107,8 @@ public class ChromeTabbedActivity extends ChromeActivity implements PreAttachInt
|
||||
@@ -3208,6 +3208,8 @@ public class ChromeTabbedActivity extends ChromeActivity implements PreAttachInt
|
||||
mInactivityTrackerSupplier.set(
|
||||
new ChromeInactivityTracker(
|
||||
ChromePreferenceKeys.TABBED_ACTIVITY_LAST_BACKGROUNDED_TIME_MS_PREF));
|
||||
@@ -115,7 +112,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tasks/ReturnToChromeUtil.java b/chrome/android/java/src/org/chromium/chrome/browser/tasks/ReturnToChromeUtil.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/tasks/ReturnToChromeUtil.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tasks/ReturnToChromeUtil.java
|
||||
@@ -20,9 +20,11 @@ import org.chromium.base.metrics.RecordHistogram;
|
||||
@@ -22,9 +22,11 @@ import org.chromium.base.metrics.RecordHistogram;
|
||||
import org.chromium.build.annotations.NullMarked;
|
||||
import org.chromium.build.annotations.Nullable;
|
||||
import org.chromium.chrome.R;
|
||||
@@ -127,7 +124,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tasks/ReturnToC
|
||||
import org.chromium.chrome.browser.magic_stack.HomeModulesMetricsUtils;
|
||||
import org.chromium.chrome.browser.ntp.NewTabPage;
|
||||
import org.chromium.chrome.browser.profiles.Profile;
|
||||
@@ -129,6 +131,18 @@ public final class ReturnToChromeUtil {
|
||||
@@ -134,6 +136,18 @@ public final class ReturnToChromeUtil {
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -146,7 +143,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tasks/ReturnToC
|
||||
// Checks whether to show the NTP homepage due to feature flag
|
||||
// HOME_SURFACE_RETURN_TIME_SECONDS.
|
||||
long lastVisibleTimeMs = inactivityTracker.getLastVisibleTimeMs();
|
||||
@@ -247,7 +261,7 @@ public final class ReturnToChromeUtil {
|
||||
@@ -252,7 +266,7 @@ public final class ReturnToChromeUtil {
|
||||
TabModel currentTabModel,
|
||||
TabCreator tabCreator,
|
||||
HomeSurfaceTracker homeSurfaceTracker) {
|
||||
@@ -158,7 +155,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tasks/ReturnToC
|
||||
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
|
||||
@@ -1031,7 +1031,7 @@
|
||||
@@ -997,7 +997,7 @@
|
||||
Open a specific page or set of pages
|
||||
</message>
|
||||
<message name="IDS_SETTINGS_ON_STARTUP_CONTINUE_AND_OPEN_SPECIFIC" desc="Radio button option to continue where you left off and open a specific set of pages.">
|
||||
@@ -170,7 +167,7 @@ diff --git a/chrome/app/settings_strings.grdp b/chrome/app/settings_strings.grdp
|
||||
diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browser/flags/android/chrome_feature_list.cc
|
||||
--- a/chrome/browser/flags/android/chrome_feature_list.cc
|
||||
+++ b/chrome/browser/flags/android/chrome_feature_list.cc
|
||||
@@ -421,6 +421,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
|
||||
@@ -426,6 +426,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
|
||||
&kSearchInCCTIfEnabledByEmbedder,
|
||||
&kSearchResumptionModuleAndroid,
|
||||
&kSettingsMultiColumn,
|
||||
@@ -219,7 +216,7 @@ new file mode 100644
|
||||
diff --git a/chrome/browser/performance_manager/policies/background_tab_loading_policy.cc b/chrome/browser/performance_manager/policies/background_tab_loading_policy.cc
|
||||
--- a/chrome/browser/performance_manager/policies/background_tab_loading_policy.cc
|
||||
+++ b/chrome/browser/performance_manager/policies/background_tab_loading_policy.cc
|
||||
@@ -395,6 +395,7 @@ base::Value::Dict BackgroundTabLoadingPolicy::DescribeSystemNodeData(
|
||||
@@ -382,6 +382,7 @@ base::DictValue BackgroundTabLoadingPolicy::DescribeSystemNodeData(
|
||||
|
||||
bool BackgroundTabLoadingPolicy::ShouldLoad(
|
||||
const PageNodeToLoadData& page_node_data) {
|
||||
@@ -227,7 +224,7 @@ diff --git a/chrome/browser/performance_manager/policies/background_tab_loading_
|
||||
if (tab_loads_started_ < min_tabs_to_load_) {
|
||||
return true;
|
||||
}
|
||||
@@ -596,6 +597,7 @@ void BackgroundTabLoadingPolicy::MaybeLoadSomeTabs() {
|
||||
@@ -583,6 +584,7 @@ void BackgroundTabLoadingPolicy::MaybeLoadSomeTabs() {
|
||||
// Continue to load tabs while possible. This is in a loop with a
|
||||
// recalculation of GetMaxNewTabLoads() as reentrancy can cause conditions
|
||||
// to change as each tab load is initiated.
|
||||
@@ -238,7 +235,7 @@ diff --git a/chrome/browser/performance_manager/policies/background_tab_loading_
|
||||
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
|
||||
@@ -1000,6 +1000,8 @@ public final class ChromePreferenceKeys {
|
||||
@@ -1024,6 +1024,8 @@ public final class ChromePreferenceKeys {
|
||||
|
||||
public static final String TABBED_ACTIVITY_LAST_BACKGROUNDED_TIME_MS_PREF =
|
||||
"ChromeTabbedActivity.BackgroundTimeMs";
|
||||
@@ -258,22 +255,10 @@ diff --git a/chrome/browser/preferences/android/java/src/org/chromium/chrome/bro
|
||||
ChromePreferenceKeys.TABMODEL_ACTIVE_TAB_ID,
|
||||
ChromePreferenceKeys.TABMODEL_HAS_COMPUTED_MAX_ID,
|
||||
ChromePreferenceKeys.TABMODEL_HAS_RUN_FILE_MIGRATION,
|
||||
diff --git a/chrome/browser/resource_coordinator/session_restore_policy.h b/chrome/browser/resource_coordinator/session_restore_policy.h
|
||||
--- a/chrome/browser/resource_coordinator/session_restore_policy.h
|
||||
+++ b/chrome/browser/resource_coordinator/session_restore_policy.h
|
||||
@@ -29,7 +29,7 @@ class SessionRestorePolicy {
|
||||
public:
|
||||
// Minimum site engagement score for a tab to be restored, if it doesn't
|
||||
// communicate in the background.
|
||||
- static constexpr uint32_t kMinSiteEngagementToRestore = 15;
|
||||
+ static constexpr uint32_t kMinSiteEngagementToRestore = 999999;
|
||||
|
||||
// Callback that is used by the policy engine to notify its embedder (the
|
||||
// TabLoaderDelegate) of changes to tab priorities as they occur. Zero or one
|
||||
diff --git a/chrome/browser/resources/settings/on_startup_page/on_startup_page.ts b/chrome/browser/resources/settings/on_startup_page/on_startup_page.ts
|
||||
--- a/chrome/browser/resources/settings/on_startup_page/on_startup_page.ts
|
||||
+++ b/chrome/browser/resources/settings/on_startup_page/on_startup_page.ts
|
||||
@@ -97,6 +97,7 @@ export class SettingsOnStartupPageElement extends
|
||||
@@ -115,6 +115,7 @@ export class SettingsOnStartupPageElement extends
|
||||
*/
|
||||
private showContinueAndOpenSpecific_(pref: chrome.settingsPrivate.PrefObject):
|
||||
boolean {
|
||||
@@ -284,7 +269,7 @@ diff --git a/chrome/browser/resources/settings/on_startup_page/on_startup_page.t
|
||||
diff --git a/chrome/browser/sessions/session_restore.cc b/chrome/browser/sessions/session_restore.cc
|
||||
--- a/chrome/browser/sessions/session_restore.cc
|
||||
+++ b/chrome/browser/sessions/session_restore.cc
|
||||
@@ -928,7 +928,13 @@ class SessionRestoreImpl : public BrowserListObserver {
|
||||
@@ -937,7 +937,13 @@ class SessionRestoreImpl : public BrowserCollectionObserver {
|
||||
// be selected as ShowBrowser() will load the selected tab.
|
||||
bool is_selected_tab =
|
||||
(initial_tab_count == 0) && (i == selected_tab_index);
|
||||
@@ -299,7 +284,7 @@ diff --git a/chrome/browser/sessions/session_restore.cc b/chrome/browser/session
|
||||
// Convert the last active time because WebContents needs a TimeTicks.
|
||||
const base::TimeDelta delta = tab.last_active_time - epoch_time;
|
||||
const base::TimeTicks last_active_time_ticks = epoch_time_ticks + delta;
|
||||
@@ -1248,6 +1254,7 @@ class SessionRestoreImpl : public BrowserListObserver {
|
||||
@@ -1257,6 +1263,7 @@ class SessionRestoreImpl : public BrowserCollectionObserver {
|
||||
}
|
||||
if (last_normal_browser && !normal_startup_tabs.empty()) {
|
||||
AppendURLsToBrowser(last_normal_browser, normal_startup_tabs);
|
||||
@@ -307,56 +292,6 @@ diff --git a/chrome/browser/sessions/session_restore.cc b/chrome/browser/session
|
||||
}
|
||||
if (!startup_tabs_from_last_and_urls_pref.empty()) {
|
||||
Browser::CreateParams params =
|
||||
diff --git a/chrome/browser/sessions/tab_loader.cc b/chrome/browser/sessions/tab_loader.cc
|
||||
--- a/chrome/browser/sessions/tab_loader.cc
|
||||
+++ b/chrome/browser/sessions/tab_loader.cc
|
||||
@@ -51,7 +51,7 @@ struct ScoredTabComparator {
|
||||
};
|
||||
|
||||
// Testing seams.
|
||||
-size_t g_max_loaded_tab_count_for_testing = 0;
|
||||
+int g_max_loaded_tab_count_for_testing = 0;
|
||||
base::RepeatingCallback<void(TabLoader*)>* g_construction_callback = nullptr;
|
||||
|
||||
// Determines if the given browser (can be null) is closing.
|
||||
@@ -374,7 +374,7 @@ void TabLoader::OnMemoryPressure(
|
||||
|
||||
bool TabLoader::ShouldStopLoadingTabs() const {
|
||||
DCHECK(reentry_depth_ > 0); // This can only be called internally.
|
||||
- if (g_max_loaded_tab_count_for_testing != 0 &&
|
||||
+ if (g_max_loaded_tab_count_for_testing != -1 &&
|
||||
scheduled_to_load_count_ >= g_max_loaded_tab_count_for_testing) {
|
||||
return true;
|
||||
}
|
||||
@@ -412,7 +412,7 @@ size_t TabLoader::GetMaxNewTabLoads() const {
|
||||
tabs_to_load = std::min(tabs_to_load, tabs_to_load_.size());
|
||||
|
||||
// Finally, enforce testing tab load limits.
|
||||
- if (g_max_loaded_tab_count_for_testing != 0) {
|
||||
+ if (g_max_loaded_tab_count_for_testing != -1) {
|
||||
size_t tabs_remaining_for_testing =
|
||||
g_max_loaded_tab_count_for_testing - scheduled_to_load_count_;
|
||||
tabs_to_load = std::min(tabs_to_load, tabs_remaining_for_testing);
|
||||
@@ -770,6 +770,7 @@ void TabLoader::MoveToSortedPosition(TabVector::iterator it) {
|
||||
}
|
||||
|
||||
size_t TabLoader::MaxSimultaneousLoads() const {
|
||||
+ if ((true)) return 0;
|
||||
if (max_simultaneous_loads_for_testing_ != 0)
|
||||
return max_simultaneous_loads_for_testing_;
|
||||
return delegate_->GetMaxSimultaneousTabLoads();
|
||||
diff --git a/chrome/browser/sessions/tab_loader.h b/chrome/browser/sessions/tab_loader.h
|
||||
--- a/chrome/browser/sessions/tab_loader.h
|
||||
+++ b/chrome/browser/sessions/tab_loader.h
|
||||
@@ -281,7 +281,7 @@ class TabLoader : public base::RefCounted<TabLoader>,
|
||||
// This is monotonically increasing, and can never exceed the combined number
|
||||
// of tabs passed into this TabLoader via StartLoading(). This is only used in
|
||||
// order to support a combined maximum total number of tab loads for testing.
|
||||
- size_t scheduled_to_load_count_ = 0;
|
||||
+ int scheduled_to_load_count_ = 0;
|
||||
|
||||
// Timer used to force progress despite tabs that take too long to load.
|
||||
base::OneShotTimer force_load_timer_;
|
||||
diff --git a/chrome/browser/single_tab/android/java/res/layout/single_tab_module_layout.xml b/chrome/browser/single_tab/android/java/res/layout/single_tab_module_layout.xml
|
||||
--- a/chrome/browser/single_tab/android/java/res/layout/single_tab_module_layout.xml
|
||||
+++ b/chrome/browser/single_tab/android/java/res/layout/single_tab_module_layout.xml
|
||||
@@ -477,7 +412,7 @@ new file mode 100644
|
||||
diff --git a/chrome/browser/ui/browser_tabrestore.cc b/chrome/browser/ui/browser_tabrestore.cc
|
||||
--- a/chrome/browser/ui/browser_tabrestore.cc
|
||||
+++ b/chrome/browser/ui/browser_tabrestore.cc
|
||||
@@ -239,7 +239,7 @@ WebContents* AddRestoredTabImpl(std::unique_ptr<WebContents> web_contents,
|
||||
@@ -248,7 +248,7 @@ WebContents* AddRestoredTabImpl(std::unique_ptr<WebContents> web_contents,
|
||||
|
||||
// Immediate load if the browser activeness is true or unknown. That is, do
|
||||
// not do immediate load for browsers that are known to be inactive.
|
||||
@@ -489,7 +424,7 @@ diff --git a/chrome/browser/ui/browser_tabrestore.cc b/chrome/browser/ui/browser
|
||||
diff --git a/chrome/browser/ui/startup/startup_browser_creator_impl.cc b/chrome/browser/ui/startup/startup_browser_creator_impl.cc
|
||||
--- a/chrome/browser/ui/startup/startup_browser_creator_impl.cc
|
||||
+++ b/chrome/browser/ui/startup/startup_browser_creator_impl.cc
|
||||
@@ -567,6 +567,14 @@ StartupBrowserCreatorImpl::DetermineStartupTabs(
|
||||
@@ -629,6 +629,14 @@ StartupBrowserCreatorImpl::DetermineStartupTabs(
|
||||
AppendTabs(provider.GetNewTabPageTabs(*command_line_, profile_), &tabs);
|
||||
}
|
||||
|
||||
|
||||
@@ -15,7 +15,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
||||
...ccount_consistency_mode_manager_factory.cc | 2 +-
|
||||
.../throttled_gaia_auth_fetcher.cc | 5 +
|
||||
chrome/browser/signin/chrome_signin_client.cc | 7 +-
|
||||
.../browser/signin/dice_response_handler.cc | 4 +-
|
||||
.../browser/signin/dice_response_handler.cc | 2 +-
|
||||
.../ui/webui/policy/policy_ui_handler.cc | 104 ++++++++++++-
|
||||
.../ui/webui/policy/policy_ui_handler.h | 2 +
|
||||
.../strings/android/browser_ui_strings.grd | 2 +-
|
||||
@@ -38,7 +38,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
||||
extensions/common/extension_features.cc | 1 +
|
||||
google_apis/gaia/gaia_auth_fetcher.cc | 1 +
|
||||
net/socket/ssl_client_socket_impl.cc | 3 +
|
||||
34 files changed, 327 insertions(+), 162 deletions(-)
|
||||
34 files changed, 325 insertions(+), 162 deletions(-)
|
||||
|
||||
diff --git a/base/win/win_util.cc b/base/win/win_util.cc
|
||||
--- a/base/win/win_util.cc
|
||||
@@ -154,8 +154,8 @@ diff --git a/chrome/android/java/AndroidManifest.xml b/chrome/android/java/Andro
|
||||
|
||||
- <uses-permission android:name="com.google.android.apps.now.CURRENT_ACCOUNT_ACCESS" />
|
||||
|
||||
{% block extra_uses_permissions %}
|
||||
{% endblock %}
|
||||
<!-- Permission for using pinned windowing layer for document picture-in-picture. -->
|
||||
<uses-permission android:name="android.permission.USE_PINNED_WINDOWING_LAYER" />
|
||||
diff --git a/chrome/browser/android/preferences/privacy_preferences_manager_impl.cc b/chrome/browser/android/preferences/privacy_preferences_manager_impl.cc
|
||||
--- a/chrome/browser/android/preferences/privacy_preferences_manager_impl.cc
|
||||
+++ b/chrome/browser/android/preferences/privacy_preferences_manager_impl.cc
|
||||
@@ -183,7 +183,7 @@ diff --git a/chrome/browser/metrics/chrome_feature_list_creator.cc b/chrome/brow
|
||||
|
||||
#if BUILDFLAG(IS_WIN)
|
||||
#include "chrome/installer/util/google_update_settings.h"
|
||||
@@ -202,6 +204,16 @@ void ChromeFeatureListCreator::CreatePrefService() {
|
||||
@@ -198,6 +200,16 @@ void ChromeFeatureListCreator::CreatePrefService() {
|
||||
// ManagementService's cache.
|
||||
if (local_state_pref_store->ReadPrefs() ==
|
||||
JsonPrefStore::PREF_READ_ERROR_NONE) {
|
||||
@@ -203,7 +203,7 @@ diff --git a/chrome/browser/metrics/chrome_feature_list_creator.cc b/chrome/brow
|
||||
diff --git a/chrome/browser/navigation_predictor/search_engine_preconnector.cc b/chrome/browser/navigation_predictor/search_engine_preconnector.cc
|
||||
--- a/chrome/browser/navigation_predictor/search_engine_preconnector.cc
|
||||
+++ b/chrome/browser/navigation_predictor/search_engine_preconnector.cc
|
||||
@@ -64,6 +64,9 @@ namespace features {
|
||||
@@ -79,6 +79,9 @@ namespace features {
|
||||
BASE_FEATURE(kPreconnectFromKeyedService, base::FEATURE_ENABLED_BY_DEFAULT);
|
||||
BASE_FEATURE(kPreconnectToSearch, base::FEATURE_ENABLED_BY_DEFAULT);
|
||||
|
||||
@@ -216,7 +216,7 @@ diff --git a/chrome/browser/navigation_predictor/search_engine_preconnector.cc b
|
||||
diff --git a/chrome/browser/policy/chrome_browser_policy_connector.cc b/chrome/browser/policy/chrome_browser_policy_connector.cc
|
||||
--- a/chrome/browser/policy/chrome_browser_policy_connector.cc
|
||||
+++ b/chrome/browser/policy/chrome_browser_policy_connector.cc
|
||||
@@ -133,9 +133,6 @@ bool ChromeBrowserPolicyConnector::HasMachineLevelPolicies() {
|
||||
@@ -134,9 +134,6 @@ bool ChromeBrowserPolicyConnector::HasMachineLevelPolicies() {
|
||||
return true;
|
||||
}
|
||||
#endif // !BUILDFLAG(IS_CHROMEOS)
|
||||
@@ -229,7 +229,7 @@ diff --git a/chrome/browser/policy/chrome_browser_policy_connector.cc b/chrome/b
|
||||
diff --git a/chrome/browser/policy/configuration_policy_handler_list_factory.cc b/chrome/browser/policy/configuration_policy_handler_list_factory.cc
|
||||
--- a/chrome/browser/policy/configuration_policy_handler_list_factory.cc
|
||||
+++ b/chrome/browser/policy/configuration_policy_handler_list_factory.cc
|
||||
@@ -2523,9 +2523,9 @@ bool AreFuturePoliciesEnabledByDefault() {
|
||||
@@ -2530,9 +2530,9 @@ bool AreFuturePoliciesEnabledByDefault() {
|
||||
if (base::CommandLine::ForCurrentProcess()->HasSwitch(switches::kTestType)) {
|
||||
return true;
|
||||
}
|
||||
@@ -242,7 +242,7 @@ diff --git a/chrome/browser/policy/configuration_policy_handler_list_factory.cc
|
||||
}
|
||||
|
||||
} // namespace
|
||||
@@ -3369,7 +3369,10 @@ std::unique_ptr<ConfigurationPolicyHandlerList> BuildHandlerList(
|
||||
@@ -3378,7 +3378,10 @@ std::unique_ptr<ConfigurationPolicyHandlerList> BuildHandlerList(
|
||||
key::kExtensionInstallCloudPolicyChecksEnabled,
|
||||
extensions::pref_names::kExtensionInstallCloudPolicyChecksEnabled,
|
||||
base::Value::Type::BOOLEAN));
|
||||
@@ -339,7 +339,7 @@ diff --git a/chrome/browser/signin/bound_session_credentials/throttled_gaia_auth
|
||||
diff --git a/chrome/browser/signin/chrome_signin_client.cc b/chrome/browser/signin/chrome_signin_client.cc
|
||||
--- a/chrome/browser/signin/chrome_signin_client.cc
|
||||
+++ b/chrome/browser/signin/chrome_signin_client.cc
|
||||
@@ -292,7 +292,9 @@ void ChromeSigninClient::DoFinalInit() {
|
||||
@@ -293,7 +293,9 @@ void ChromeSigninClient::DoFinalInit() {
|
||||
bool ChromeSigninClient::ProfileAllowsSigninCookies(Profile* profile) {
|
||||
scoped_refptr<content_settings::CookieSettings> cookie_settings =
|
||||
CookieSettingsFactory::GetForProfile(profile);
|
||||
@@ -350,7 +350,7 @@ diff --git a/chrome/browser/signin/chrome_signin_client.cc b/chrome/browser/sign
|
||||
}
|
||||
|
||||
PrefService* ChromeSigninClient::GetPrefs() {
|
||||
@@ -410,6 +412,9 @@ bool ChromeSigninClient::AreNetworkCallsDelayed() {
|
||||
@@ -411,6 +413,9 @@ bool ChromeSigninClient::AreNetworkCallsDelayed() {
|
||||
}
|
||||
|
||||
void ChromeSigninClient::DelayNetworkCall(base::OnceClosure callback) {
|
||||
@@ -372,17 +372,6 @@ diff --git a/chrome/browser/signin/dice_response_handler.cc b/chrome/browser/sig
|
||||
"Signin.DiceTokenBindingOutcome";
|
||||
|
||||
// Used for UMA. Do not reorder, append new values at the end.
|
||||
@@ -386,8 +386,10 @@ void DiceResponseHandler::ProcessDiceSignoutHeader(
|
||||
// - If there is a policy restriction on removing the primary account.
|
||||
bool invalidate_only_primary_account =
|
||||
identity_manager_->HasPrimaryAccount(signin::ConsentLevel::kSync) ||
|
||||
+#if BUILDFLAG(ENABLE_BOUND_SESSION_CREDENTIALS)
|
||||
!signin::IsImplicitBrowserSigninOrExplicitDisabled(
|
||||
identity_manager_, signin_client_->GetPrefs()) ||
|
||||
+#endif
|
||||
!signin_client_->IsClearPrimaryAccountAllowed();
|
||||
|
||||
CoreAccountId primary_account =
|
||||
diff --git a/chrome/browser/ui/webui/policy/policy_ui_handler.cc b/chrome/browser/ui/webui/policy/policy_ui_handler.cc
|
||||
--- a/chrome/browser/ui/webui/policy/policy_ui_handler.cc
|
||||
+++ b/chrome/browser/ui/webui/policy/policy_ui_handler.cc
|
||||
@@ -413,7 +402,7 @@ diff --git a/chrome/browser/ui/webui/policy/policy_ui_handler.cc b/chrome/browse
|
||||
web_ui()->RegisterMessageCallback(
|
||||
"listenPoliciesUpdates",
|
||||
base::BindRepeating(&PolicyUIHandler::HandleListenPoliciesUpdates,
|
||||
@@ -503,8 +509,102 @@ void PolicyUIHandler::SendPolicies() {
|
||||
@@ -501,8 +507,102 @@ void PolicyUIHandler::SendPolicies() {
|
||||
"policies-updated",
|
||||
base::Value(
|
||||
policy_value_and_status_aggregator_->GetAggregatedPolicyNames()),
|
||||
@@ -524,16 +513,16 @@ diff --git a/chrome/browser/ui/webui/policy/policy_ui_handler.h b/chrome/browser
|
||||
@@ -81,6 +81,8 @@ class PolicyUIHandler : public content::WebUIMessageHandler,
|
||||
|
||||
private:
|
||||
void HandleExportPoliciesJson(const base::Value::List& args);
|
||||
void HandleExportPoliciesJson(const base::ListValue& args);
|
||||
+ void HandleSetEnabledPolicy(const base::Value::List& args);
|
||||
+ base::Value::Dict GetPolicyValues();
|
||||
void HandleListenPoliciesUpdates(const base::Value::List& args);
|
||||
void HandleReloadPolicies(const base::Value::List& args);
|
||||
void HandleCopyPoliciesJson(const base::Value::List& args);
|
||||
void HandleListenPoliciesUpdates(const base::ListValue& args);
|
||||
void HandleReloadPolicies(const base::ListValue& args);
|
||||
void HandleCopyPoliciesJson(const base::ListValue& args);
|
||||
diff --git a/components/browser_ui/strings/android/browser_ui_strings.grd b/components/browser_ui/strings/android/browser_ui_strings.grd
|
||||
--- a/components/browser_ui/strings/android/browser_ui_strings.grd
|
||||
+++ b/components/browser_ui/strings/android/browser_ui_strings.grd
|
||||
@@ -386,7 +386,7 @@
|
||||
@@ -395,7 +395,7 @@
|
||||
|
||||
<!-- Settings UI -->
|
||||
<message name="IDS_MANAGED_BY_YOUR_ORGANIZATION" desc="Popup message when the user clicks a UI element that has been disabled by enterprise policy.">
|
||||
@@ -545,7 +534,7 @@ diff --git a/components/browser_ui/strings/android/browser_ui_strings.grd b/comp
|
||||
diff --git a/components/commerce/core/commerce_feature_list.cc b/components/commerce/core/commerce_feature_list.cc
|
||||
--- a/components/commerce/core/commerce_feature_list.cc
|
||||
+++ b/components/commerce/core/commerce_feature_list.cc
|
||||
@@ -69,56 +69,6 @@ const CountryLocaleMap& GetAllowedCountryToLocaleMap() {
|
||||
@@ -68,56 +68,6 @@ const CountryLocaleMap& GetAllowedCountryToLocaleMap() {
|
||||
return *allowed_map;
|
||||
}
|
||||
|
||||
@@ -602,7 +591,7 @@ diff --git a/components/commerce/core/commerce_feature_list.cc b/components/comm
|
||||
} // namespace
|
||||
|
||||
BASE_FEATURE(kCommerceAllowLocalImages, base::FEATURE_DISABLED_BY_DEFAULT);
|
||||
@@ -280,16 +230,15 @@ const base::FeatureParam<bool> kRevertIconOnFailure{
|
||||
@@ -279,16 +229,15 @@ const base::FeatureParam<bool> kRevertIconOnFailure{
|
||||
&kShoppingList, kRevertIconOnFailureParam, false};
|
||||
|
||||
bool IsPartnerMerchant(const GURL& url) {
|
||||
@@ -622,7 +611,7 @@ diff --git a/components/commerce/core/commerce_feature_list.cc b/components/comm
|
||||
}
|
||||
|
||||
bool IsCartDiscountFeatureEnabled() {
|
||||
@@ -341,6 +290,7 @@ bool IsEnabledForCountryAndLocale(const base::Feature& feature,
|
||||
@@ -340,6 +289,7 @@ bool IsEnabledForCountryAndLocale(const base::Feature& feature,
|
||||
bool IsRegionLockedFeatureEnabled(const base::Feature& feature,
|
||||
const std::string& country_code,
|
||||
const std::string& locale) {
|
||||
@@ -630,7 +619,7 @@ diff --git a/components/commerce/core/commerce_feature_list.cc b/components/comm
|
||||
auto* feature_list = base::FeatureList::GetInstance();
|
||||
|
||||
// If the feature has a server-side config, this check will ensure that
|
||||
@@ -373,6 +323,7 @@ base::TimeDelta GetDiscountFetchDelay() {
|
||||
@@ -372,6 +322,7 @@ base::TimeDelta GetDiscountFetchDelay() {
|
||||
}
|
||||
|
||||
bool IsNoDiscountMerchant(const GURL& url) {
|
||||
@@ -638,7 +627,7 @@ diff --git a/components/commerce/core/commerce_feature_list.cc b/components/comm
|
||||
auto* pattern_from_component =
|
||||
commerce_heuristics::CommerceHeuristicsData::GetInstance()
|
||||
.GetNoDiscountMerchantPattern();
|
||||
@@ -384,4 +335,6 @@ bool IsNoDiscountMerchant(const GURL& url) {
|
||||
@@ -383,4 +334,6 @@ bool IsNoDiscountMerchant(const GURL& url) {
|
||||
return RE2::PartialMatch(url.host(), *pattern_from_component);
|
||||
}
|
||||
#endif
|
||||
@@ -845,7 +834,7 @@ diff --git a/components/policy/core/common/policy_pref_names.h b/components/poli
|
||||
diff --git a/components/policy/core/common/policy_service_impl.cc b/components/policy/core/common/policy_service_impl.cc
|
||||
--- a/components/policy/core/common/policy_service_impl.cc
|
||||
+++ b/components/policy/core/common/policy_service_impl.cc
|
||||
@@ -51,6 +51,9 @@ namespace {
|
||||
@@ -50,6 +50,9 @@ namespace {
|
||||
// Metrics should not be enforced so if this policy is set as mandatory
|
||||
// downgrade it to a recommended level policy.
|
||||
void DowngradeMetricsReportingToRecommendedPolicy(PolicyMap* policies) {
|
||||
@@ -983,7 +972,7 @@ diff --git a/components/policy_strings.grdp b/components/policy_strings.grdp
|
||||
diff --git a/components/search/ntp_features.cc b/components/search/ntp_features.cc
|
||||
--- a/components/search/ntp_features.cc
|
||||
+++ b/components/search/ntp_features.cc
|
||||
@@ -80,6 +80,7 @@ BASE_FEATURE(kNtpCalendarModule, base::FEATURE_ENABLED_BY_DEFAULT);
|
||||
@@ -72,6 +72,7 @@ BASE_FEATURE(kNtpCalendarModule, base::FEATURE_ENABLED_BY_DEFAULT);
|
||||
|
||||
// If enabled, chrome cart module will be shown.
|
||||
BASE_FEATURE(kNtpChromeCartModule, base::FEATURE_ENABLED_BY_DEFAULT);
|
||||
@@ -1006,7 +995,7 @@ diff --git a/components/signin/features.gni b/components/signin/features.gni
|
||||
diff --git a/components/signin/internal/identity_manager/gaia_cookie_manager_service.cc b/components/signin/internal/identity_manager/gaia_cookie_manager_service.cc
|
||||
--- a/components/signin/internal/identity_manager/gaia_cookie_manager_service.cc
|
||||
+++ b/components/signin/internal/identity_manager/gaia_cookie_manager_service.cc
|
||||
@@ -463,6 +463,8 @@ void GaiaCookieManagerService::RegisterPrefs(PrefRegistrySimple* registry) {
|
||||
@@ -462,6 +462,8 @@ void GaiaCookieManagerService::RegisterPrefs(PrefRegistrySimple* registry) {
|
||||
}
|
||||
|
||||
void GaiaCookieManagerService::InitCookieListener() {
|
||||
@@ -1015,7 +1004,7 @@ diff --git a/components/signin/internal/identity_manager/gaia_cookie_manager_ser
|
||||
DCHECK(!cookie_listener_receiver_.is_bound());
|
||||
|
||||
network::mojom::CookieManager* cookie_manager =
|
||||
@@ -857,6 +859,8 @@ void GaiaCookieManagerService::OnSetAccountsFinished(
|
||||
@@ -856,6 +858,8 @@ void GaiaCookieManagerService::OnSetAccountsFinished(
|
||||
}
|
||||
|
||||
void GaiaCookieManagerService::HandleNextRequest() {
|
||||
@@ -1027,7 +1016,7 @@ diff --git a/components/signin/internal/identity_manager/gaia_cookie_manager_ser
|
||||
diff --git a/extensions/common/extension_features.cc b/extensions/common/extension_features.cc
|
||||
--- a/extensions/common/extension_features.cc
|
||||
+++ b/extensions/common/extension_features.cc
|
||||
@@ -47,6 +47,7 @@ BASE_FEATURE(kWebRequestSecurityInfo, base::FEATURE_DISABLED_BY_DEFAULT);
|
||||
@@ -49,6 +49,7 @@ BASE_FEATURE(kWebRequestSecurityInfo, base::FEATURE_DISABLED_BY_DEFAULT);
|
||||
|
||||
BASE_FEATURE(kAllowWithholdingExtensionPermissionsOnInstall,
|
||||
base::FEATURE_DISABLED_BY_DEFAULT);
|
||||
@@ -1038,7 +1027,7 @@ diff --git a/extensions/common/extension_features.cc b/extensions/common/extensi
|
||||
diff --git a/google_apis/gaia/gaia_auth_fetcher.cc b/google_apis/gaia/gaia_auth_fetcher.cc
|
||||
--- a/google_apis/gaia/gaia_auth_fetcher.cc
|
||||
+++ b/google_apis/gaia/gaia_auth_fetcher.cc
|
||||
@@ -469,6 +469,7 @@ void GaiaAuthFetcher::StartListAccounts() {
|
||||
@@ -472,6 +472,7 @@ void GaiaAuthFetcher::StartListAccounts() {
|
||||
})");
|
||||
net::HttpRequestHeaders headers;
|
||||
headers.SetHeader("Origin", "https://www.google.com");
|
||||
@@ -1049,7 +1038,7 @@ diff --git a/google_apis/gaia/gaia_auth_fetcher.cc b/google_apis/gaia/gaia_auth_
|
||||
diff --git a/net/socket/ssl_client_socket_impl.cc b/net/socket/ssl_client_socket_impl.cc
|
||||
--- a/net/socket/ssl_client_socket_impl.cc
|
||||
+++ b/net/socket/ssl_client_socket_impl.cc
|
||||
@@ -796,6 +796,7 @@ int SSLClientSocketImpl::Init() {
|
||||
@@ -795,6 +795,7 @@ int SSLClientSocketImpl::Init() {
|
||||
return ERR_UNEXPECTED;
|
||||
}
|
||||
|
||||
@@ -1057,7 +1046,7 @@ diff --git a/net/socket/ssl_client_socket_impl.cc b/net/socket/ssl_client_socket
|
||||
// Disable SHA-1 server signatures.
|
||||
// TODO(crbug.com/boringssl/699): Once the default is flipped in BoringSSL, we
|
||||
// no longer need to override it.
|
||||
@@ -1218,6 +1219,8 @@ ssl_verify_result_t SSLClientSocketImpl::HandleVerifyResult() {
|
||||
@@ -1234,6 +1235,8 @@ ssl_verify_result_t SSLClientSocketImpl::HandleVerifyResult() {
|
||||
|
||||
cert_verifier_request_.reset();
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user