Patches for 141 (need works)
This commit is contained in:
@@ -28,11 +28,11 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
.../chrome/browser/app/ChromeActivity.java | 4 +
|
||||
.../AppMenuPropertiesDelegateImpl.java | 7 +-
|
||||
.../ChromeContextMenuPopulator.java | 6 +-
|
||||
.../CustomTabActivityLifecycleUmaTracker.java | 39 ----
|
||||
.../CustomTabActivityLifecycleUmaTracker.java | 31 ----
|
||||
.../CustomTabAppMenuPropertiesDelegate.java | 4 +
|
||||
.../CustomTabIntentDataProvider.java | 10 +
|
||||
.../browser/download/DownloadUtils.java | 13 +-
|
||||
.../history/HistoryContentManager.java | 7 +-
|
||||
.../history/HistoryContentManager.java | 9 +-
|
||||
.../browser/history/HistoryManager.java | 27 ++-
|
||||
.../chrome/browser/history/HistoryPage.java | 16 ++
|
||||
.../native_page/NativePageFactory.java | 4 +-
|
||||
@@ -42,7 +42,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
.../HistoricalTabModelObserver.java | 5 +-
|
||||
.../tab/tab_restore/HistoricalTabSaver.java | 2 +-
|
||||
.../tab_restore/HistoricalTabSaverImpl.java | 17 +-
|
||||
.../TabbedAppMenuPropertiesDelegate.java | 6 +-
|
||||
.../TabbedAppMenuPropertiesDelegate.java | 4 +-
|
||||
.../tabbed_mode/TabbedRootUiCoordinator.java | 4 +-
|
||||
.../browser/tabmodel/ChromeTabCreator.java | 5 +-
|
||||
.../tabmodel/TabModelSelectorImpl.java | 3 +
|
||||
@@ -71,7 +71,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
.../browser/ui/native_page/NativePage.java | 22 ++-
|
||||
.../browser/omnibox/LocationBarMediator.java | 8 +
|
||||
.../strings/android_chrome_strings.grd | 25 +++
|
||||
.../browser/toolbar/LocationBarModel.java | 5 +-
|
||||
.../browser/toolbar/LocationBarModel.java | 4 +-
|
||||
chrome/browser/ui/messages/android/BUILD.gn | 1 +
|
||||
.../snackbar/INeedSnackbarManager.java | 28 +++
|
||||
.../search_engine_tab_helper.cc | 6 +
|
||||
@@ -88,7 +88,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
.../add-an-always-incognito-mode.inc | 1 +
|
||||
.../add-an-always-incognito-mode.inc | 3 +
|
||||
.../add-an-always-incognito-mode.inc | 1 +
|
||||
69 files changed, 797 insertions(+), 111 deletions(-)
|
||||
69 files changed, 794 insertions(+), 105 deletions(-)
|
||||
create mode 100644 chrome/android/java/res/xml/incognito_preferences.xml
|
||||
create mode 100644 chrome/android/java/src/org/chromium/chrome/browser/AlwaysIncognitoLinkInterceptor.java
|
||||
create mode 100644 chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/IncognitoSettings.java
|
||||
@@ -101,8 +101,8 @@ 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
|
||||
@@ -620,6 +620,7 @@ chrome_java_resources = [
|
||||
"java/res/xml/main_preferences_legacy.xml",
|
||||
@@ -624,6 +624,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",
|
||||
+ "java/res/xml/incognito_preferences.xml",
|
||||
@@ -120,8 +120,8 @@ 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",
|
||||
@@ -908,6 +909,7 @@ chrome_java_sources = [
|
||||
"java/src/org/chromium/chrome/browser/privacy/settings/IncognitoLockSettings.java",
|
||||
@@ -916,6 +917,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",
|
||||
+ "java/src/org/chromium/chrome/browser/privacy/settings/IncognitoSettings.java",
|
||||
@@ -247,7 +247,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
|
||||
@@ -74,6 +74,10 @@ import org.chromium.build.annotations.Nullable;
|
||||
@@ -73,6 +73,10 @@ import org.chromium.build.annotations.Nullable;
|
||||
import org.chromium.build.annotations.UsedByReflection;
|
||||
import org.chromium.cc.input.BrowserControlsState;
|
||||
import org.chromium.chrome.R;
|
||||
@@ -258,7 +258,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct
|
||||
import org.chromium.chrome.browser.IntentHandler.ExternalAppId;
|
||||
import org.chromium.chrome.browser.IntentHandler.TabOpenType;
|
||||
import org.chromium.chrome.browser.app.ChromeActivity;
|
||||
@@ -794,14 +798,19 @@ public class ChromeTabbedActivity extends ChromeActivity {
|
||||
@@ -803,14 +807,19 @@ public class ChromeTabbedActivity extends ChromeActivity {
|
||||
|
||||
Profile profile = mTabModelSelector.getCurrentModel().getProfile();
|
||||
// For saving non-incognito tab closures for Recent Tabs.
|
||||
@@ -285,9 +285,9 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct
|
||||
// Defer creation of this helper so it triggers after TabGroupModelFilter observers.
|
||||
mUndoRefocusHelper =
|
||||
new UndoRefocusHelper(
|
||||
@@ -3137,7 +3146,7 @@ public class ChromeTabbedActivity extends ChromeActivity {
|
||||
}
|
||||
@@ -3228,7 +3237,7 @@ public class ChromeTabbedActivity extends ChromeActivity {
|
||||
|
||||
// We determine SupportedProfileType in onPreCreate().
|
||||
// We determine the model as soon as possible so every systems get initialized coherently.
|
||||
- boolean startIncognito =
|
||||
+ boolean startIncognito = AlwaysIncognitoLinkInterceptor.isAlwaysIncognito() ||
|
||||
@@ -297,7 +297,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
|
||||
@@ -95,6 +95,7 @@ import org.chromium.chrome.browser.compositor.layouts.content.TabContentManagerH
|
||||
@@ -98,6 +98,7 @@ import org.chromium.chrome.browser.compositor.layouts.content.TabContentManagerH
|
||||
import org.chromium.chrome.browser.contextualsearch.ContextualSearchManager;
|
||||
import org.chromium.chrome.browser.device.DeviceClassManager;
|
||||
import org.chromium.chrome.browser.devtools.DevToolsWindowAndroid;
|
||||
@@ -305,7 +305,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;
|
||||
@@ -2000,6 +2001,9 @@ public abstract class ChromeActivity extends AsyncInitializationActivity
|
||||
@@ -2028,6 +2029,9 @@ public abstract class ChromeActivity extends AsyncInitializationActivity
|
||||
throw new IllegalStateException(
|
||||
"Attempting to access TabCreator before initialization");
|
||||
}
|
||||
@@ -318,16 +318,16 @@ 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
|
||||
@@ -88,6 +88,8 @@ import java.lang.annotation.RetentionPolicy;
|
||||
import java.util.Iterator;
|
||||
@@ -91,6 +91,8 @@ import java.util.Iterator;
|
||||
import java.util.List;
|
||||
import java.util.function.Supplier;
|
||||
|
||||
+import org.chromium.chrome.browser.AlwaysIncognitoLinkInterceptor;
|
||||
+
|
||||
/**
|
||||
* Base implementation of {@link AppMenuPropertiesDelegate} that handles hiding and showing menu
|
||||
* items based on activity state.
|
||||
@@ -606,8 +608,9 @@ public abstract class AppMenuPropertiesDelegateImpl implements AppMenuProperties
|
||||
@@ -620,8 +622,9 @@ public abstract class AppMenuPropertiesDelegateImpl implements AppMenuProperties
|
||||
&& !isNativePage
|
||||
&& !isFileScheme
|
||||
&& !isContentScheme
|
||||
@@ -342,7 +342,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/App
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/ChromeContextMenuPopulator.java b/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/ChromeContextMenuPopulator.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/ChromeContextMenuPopulator.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/ChromeContextMenuPopulator.java
|
||||
@@ -41,6 +41,7 @@ import org.chromium.base.supplier.Supplier;
|
||||
@@ -39,6 +39,7 @@ import org.chromium.base.shared_preferences.SharedPreferencesManager;
|
||||
import org.chromium.build.annotations.NullMarked;
|
||||
import org.chromium.build.annotations.Nullable;
|
||||
import org.chromium.chrome.R;
|
||||
@@ -350,7 +350,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/Chr
|
||||
import org.chromium.chrome.browser.bookmarks.BookmarkUtils;
|
||||
import org.chromium.chrome.browser.contextmenu.ChromeContextMenuItem.Item;
|
||||
import org.chromium.chrome.browser.contextmenu.ContextMenuCoordinator.ContextMenuItemType;
|
||||
@@ -420,6 +421,9 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator {
|
||||
@@ -425,6 +426,9 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator {
|
||||
mShowEphemeralTabNewLabel = null;
|
||||
mCustomActionMap.clear();
|
||||
|
||||
@@ -372,21 +372,13 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/Chr
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabActivityLifecycleUmaTracker.java b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabActivityLifecycleUmaTracker.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabActivityLifecycleUmaTracker.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabActivityLifecycleUmaTracker.java
|
||||
@@ -63,45 +63,6 @@ public class CustomTabActivityLifecycleUmaTracker
|
||||
@@ -62,37 +62,6 @@ public class CustomTabActivityLifecycleUmaTracker
|
||||
private boolean mIsInitialResume = true;
|
||||
|
||||
private void recordIncognitoLaunchReason() {
|
||||
- // TODO(crbug.com/352525607): Separate Ephemeral and Incognito CCT metrics.
|
||||
- @IntentHandler.IncognitoCctCallerId int incognitoCctCallerId;
|
||||
- if (mIntentDataProvider.getCustomTabMode() == CustomTabProfileType.INCOGNITO) {
|
||||
- incognitoCctCallerId =
|
||||
- ((IncognitoCustomTabIntentDataProvider) mIntentDataProvider)
|
||||
- .getFeatureIdForMetricsCollection();
|
||||
- } else {
|
||||
- incognitoCctCallerId =
|
||||
- ((EphemeralCustomTabIntentDataProvider) mIntentDataProvider)
|
||||
- .getFeatureIdForMetricsCollection();
|
||||
- }
|
||||
- /*@IncognitoCctCallerId*/ int incognitoCctCallerId =
|
||||
- mIntentDataProvider.getFeatureIdForMetricsCollection();
|
||||
-
|
||||
- RecordHistogram.recordEnumeratedHistogram(
|
||||
- "CustomTabs.IncognitoCctCallerId",
|
||||
@@ -421,7 +413,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/Cust
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabAppMenuPropertiesDelegate.java b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabAppMenuPropertiesDelegate.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabAppMenuPropertiesDelegate.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabAppMenuPropertiesDelegate.java
|
||||
@@ -21,6 +21,7 @@ import org.chromium.base.supplier.Supplier;
|
||||
@@ -20,6 +20,7 @@ import org.chromium.base.supplier.ObservableSupplier;
|
||||
import org.chromium.build.annotations.Nullable;
|
||||
import org.chromium.chrome.R;
|
||||
import org.chromium.chrome.browser.ActivityTabProvider;
|
||||
@@ -442,7 +434,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/Cust
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabIntentDataProvider.java b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabIntentDataProvider.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabIntentDataProvider.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabIntentDataProvider.java
|
||||
@@ -101,6 +101,9 @@ import org.chromium.components.embedder_support.util.UrlConstants;
|
||||
@@ -104,6 +104,9 @@ import org.chromium.components.embedder_support.util.UrlConstants;
|
||||
import org.chromium.device.mojom.ScreenOrientationLockType;
|
||||
import org.chromium.net.NetId;
|
||||
|
||||
@@ -452,7 +444,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;
|
||||
@@ -1260,6 +1263,13 @@ public class CustomTabIntentDataProvider extends BrowserServicesIntentDataProvid
|
||||
@@ -1263,6 +1266,13 @@ public class CustomTabIntentDataProvider extends BrowserServicesIntentDataProvid
|
||||
return getInitialActivityWidth() > 0;
|
||||
}
|
||||
|
||||
@@ -488,8 +480,8 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/download/Downlo
|
||||
/** A class containing some utility static methods. */
|
||||
@NullMarked
|
||||
public class DownloadUtils {
|
||||
@@ -313,7 +318,13 @@ public class DownloadUtils {
|
||||
public static boolean isAllowedToDownloadPage(Tab tab) {
|
||||
@@ -314,7 +319,13 @@ public class DownloadUtils {
|
||||
public static boolean isAllowedToDownloadPage(@Nullable Tab tab) {
|
||||
if (tab == null) return false;
|
||||
|
||||
- if (tab.isIncognito()
|
||||
@@ -506,22 +498,24 @@ 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
|
||||
@@ -307,7 +307,9 @@ public class HistoryContentManager implements SignInStateObserver, PrefObserver
|
||||
@@ -308,8 +308,9 @@ public class HistoryContentManager implements SignInStateObserver, PrefObserver
|
||||
mHistoryAdapter.generateFooterItems();
|
||||
|
||||
// Listen to changes in sign in state.
|
||||
- IdentityServicesProvider.get().getSigninManager(profile).addSignInStateObserver(this);
|
||||
- assumeNonNull(IdentityServicesProvider.get().getSigninManager(profile))
|
||||
- .addSignInStateObserver(this);
|
||||
+ // getSigninManager is null in incognito
|
||||
+ if (IdentityServicesProvider.get().getSigninManager(profile) != null)
|
||||
+ IdentityServicesProvider.get().getSigninManager(profile).addSignInStateObserver(this);
|
||||
|
||||
// Create PrefChangeRegistrar to receive notifications on preference changes.
|
||||
mPrefChangeRegistrar = PrefServiceUtil.createFor(profile);
|
||||
@@ -383,7 +385,8 @@ public class HistoryContentManager implements SignInStateObserver, PrefObserver
|
||||
@@ -386,8 +387,8 @@ public class HistoryContentManager implements SignInStateObserver, PrefObserver
|
||||
mHistoryAdapter.onDestroyed();
|
||||
mLargeIconBridge.destroy();
|
||||
mLargeIconBridge = null;
|
||||
- IdentityServicesProvider.get().getSigninManager(mProfile).removeSignInStateObserver(this);
|
||||
- assumeNonNull(IdentityServicesProvider.get().getSigninManager(mProfile))
|
||||
- .removeSignInStateObserver(this);
|
||||
+ if (IdentityServicesProvider.get().getSigninManager(mProfile) != null)
|
||||
+ IdentityServicesProvider.get().getSigninManager(mProfile).removeSignInStateObserver(this);
|
||||
mPrefChangeRegistrar.destroy();
|
||||
@@ -530,9 +524,9 @@ 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
|
||||
@@ -57,6 +57,14 @@ import org.chromium.ui.base.Clipboard;
|
||||
import java.util.List;
|
||||
@@ -61,6 +61,14 @@ import java.util.List;
|
||||
import java.util.function.Function;
|
||||
import java.util.function.Supplier;
|
||||
|
||||
+import org.chromium.chrome.browser.AlwaysIncognitoLinkInterceptor;
|
||||
+import org.chromium.chrome.browser.profiles.Profile;
|
||||
@@ -543,9 +537,9 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/history/History
|
||||
+import org.chromium.chrome.browser.preferences.Pref;
|
||||
+
|
||||
/** Combines and manages the different UI components of browsing history. */
|
||||
@NullMarked
|
||||
public class HistoryManager
|
||||
implements OnMenuItemClickListener,
|
||||
@@ -162,7 +170,7 @@ public class HistoryManager
|
||||
@@ -166,7 +174,7 @@ public class HistoryManager
|
||||
|
||||
mUmaRecorder.recordOpenHistory();
|
||||
// If incognito placeholder is shown, we don't need to create History UI elements.
|
||||
@@ -554,7 +548,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/history/History
|
||||
mSelectableListLayout = null;
|
||||
mRootView = getIncognitoHistoryPlaceholderView();
|
||||
return;
|
||||
@@ -415,9 +423,22 @@ public class HistoryManager
|
||||
@@ -451,9 +459,22 @@ public class HistoryManager
|
||||
onBackPressStateChanged();
|
||||
}
|
||||
|
||||
@@ -578,7 +572,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;
|
||||
}
|
||||
@@ -477,7 +498,7 @@ public class HistoryManager
|
||||
@@ -514,7 +535,7 @@ public class HistoryManager
|
||||
* @return True if manager handles this event, false if it decides to ignore.
|
||||
*/
|
||||
private boolean onBackPressed() {
|
||||
@@ -590,9 +584,9 @@ 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
|
||||
@@ -17,6 +17,14 @@ import org.chromium.chrome.browser.ui.native_page.NativePageHost;
|
||||
import org.chromium.components.browser_ui.bottomsheet.BottomSheetController;
|
||||
import org.chromium.components.embedder_support.util.UrlConstants;
|
||||
@@ -20,6 +20,14 @@ import org.chromium.components.embedder_support.util.UrlConstants;
|
||||
|
||||
import java.util.function.Supplier;
|
||||
|
||||
+import org.chromium.chrome.browser.AlwaysIncognitoLinkInterceptor;
|
||||
+import org.chromium.chrome.browser.profiles.Profile;
|
||||
@@ -603,9 +597,9 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/history/History
|
||||
+import org.chromium.chrome.browser.preferences.Pref;
|
||||
+
|
||||
/** Native page for managing browsing history. */
|
||||
@NullMarked
|
||||
public class HistoryPage extends BasicNativePage {
|
||||
private HistoryManager mHistoryManager;
|
||||
@@ -45,6 +53,14 @@ public class HistoryPage extends BasicNativePage {
|
||||
@@ -49,6 +57,14 @@ public class HistoryPage extends BasicNativePage {
|
||||
String url) {
|
||||
super(host);
|
||||
|
||||
@@ -618,21 +612,21 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/history/History
|
||||
+ }
|
||||
+
|
||||
Uri uri = Uri.parse(url);
|
||||
assert uri.getHost().equals(UrlConstants.HISTORY_HOST);
|
||||
assert UrlConstants.HISTORY_HOST.equals(uri.getHost());
|
||||
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/native_page/NativePageFactory.java b/chrome/android/java/src/org/chromium/chrome/browser/native_page/NativePageFactory.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/native_page/NativePageFactory.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/native_page/NativePageFactory.java
|
||||
@@ -19,6 +19,7 @@ import org.chromium.base.supplier.ObservableSupplier;
|
||||
import org.chromium.base.supplier.OneshotSupplier;
|
||||
import org.chromium.base.supplier.Supplier;
|
||||
@@ -20,6 +20,7 @@ import org.chromium.base.supplier.OneshotSupplier;
|
||||
import org.chromium.build.annotations.NullMarked;
|
||||
import org.chromium.build.annotations.Nullable;
|
||||
import org.chromium.chrome.R;
|
||||
+import org.chromium.chrome.browser.AlwaysIncognitoLinkInterceptor;
|
||||
import org.chromium.chrome.browser.app.ChromeActivity;
|
||||
import org.chromium.chrome.browser.app.download.home.DownloadPage;
|
||||
import org.chromium.chrome.browser.bookmarks.BookmarkPage;
|
||||
@@ -371,7 +372,8 @@ public class NativePageFactory {
|
||||
String url, NativePage candidatePage, Tab tab, boolean isIncognito, PdfInfo pdfInfo) {
|
||||
@@ -379,7 +380,8 @@ public class NativePageFactory {
|
||||
@Nullable PdfInfo pdfInfo) {
|
||||
NativePage page;
|
||||
|
||||
- switch (NativePage.nativePageType(url, candidatePage, isIncognito, pdfInfo != null)) {
|
||||
@@ -876,7 +870,7 @@ new file mode 100644
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/FragmentDependencyProvider.java b/chrome/android/java/src/org/chromium/chrome/browser/settings/FragmentDependencyProvider.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/settings/FragmentDependencyProvider.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/settings/FragmentDependencyProvider.java
|
||||
@@ -49,6 +49,7 @@ import org.chromium.chrome.browser.sync.settings.AccountManagementFragment;
|
||||
@@ -50,6 +50,7 @@ import org.chromium.chrome.browser.sync.settings.AccountManagementFragment;
|
||||
import org.chromium.chrome.browser.sync.settings.GoogleServicesSettings;
|
||||
import org.chromium.chrome.browser.sync.settings.ManageSyncSettings;
|
||||
import org.chromium.chrome.browser.ui.messages.snackbar.SnackbarManager;
|
||||
@@ -897,9 +891,9 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/Fragme
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/tab_restore/HistoricalTabModelObserver.java b/chrome/android/java/src/org/chromium/chrome/browser/tab/tab_restore/HistoricalTabModelObserver.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/tab/tab_restore/HistoricalTabModelObserver.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tab/tab_restore/HistoricalTabModelObserver.java
|
||||
@@ -32,6 +32,8 @@ import java.util.HashMap;
|
||||
import java.util.List;
|
||||
@@ -32,6 +32,8 @@ import java.util.List;
|
||||
import java.util.Set;
|
||||
import java.util.function.Supplier;
|
||||
|
||||
+import org.chromium.chrome.browser.AlwaysIncognitoLinkInterceptor;
|
||||
+
|
||||
@@ -933,9 +927,9 @@ 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.Arrays;
|
||||
import java.util.Collections;
|
||||
@@ -30,6 +30,8 @@ import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.function.Supplier;
|
||||
|
||||
+import org.chromium.chrome.browser.AlwaysIncognitoLinkInterceptor;
|
||||
+
|
||||
@@ -991,7 +985,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;
|
||||
|
||||
@@ -293,7 +296,7 @@ public class HistoricalTabSaverImpl implements HistoricalTabSaver {
|
||||
@@ -294,7 +297,7 @@ public class HistoricalTabSaverImpl implements HistoricalTabSaver {
|
||||
|
||||
@NativeMethods
|
||||
interface Natives {
|
||||
@@ -1003,30 +997,28 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/tab_restore
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedAppMenuPropertiesDelegate.java b/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedAppMenuPropertiesDelegate.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedAppMenuPropertiesDelegate.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedAppMenuPropertiesDelegate.java
|
||||
@@ -27,6 +27,7 @@ import org.chromium.base.supplier.Supplier;
|
||||
import org.chromium.build.annotations.Contract;
|
||||
@@ -27,6 +27,7 @@ import org.chromium.build.annotations.Contract;
|
||||
import org.chromium.build.annotations.NullMarked;
|
||||
import org.chromium.build.annotations.Nullable;
|
||||
import org.chromium.chrome.R;
|
||||
+import org.chromium.chrome.browser.AlwaysIncognitoLinkInterceptor;
|
||||
import org.chromium.chrome.browser.ActivityTabProvider;
|
||||
import org.chromium.chrome.browser.ai.AiAssistantService;
|
||||
import org.chromium.chrome.browser.app.appmenu.AppMenuPropertiesDelegateImpl;
|
||||
@@ -220,7 +221,10 @@ public class TabbedAppMenuPropertiesDelegate extends AppMenuPropertiesDelegateIm
|
||||
}
|
||||
@@ -221,7 +222,8 @@ public class TabbedAppMenuPropertiesDelegate extends AppMenuPropertiesDelegateIm
|
||||
|
||||
// New Tab
|
||||
- modelList.add(buildNewTabItem());
|
||||
// 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.
|
||||
- if (!IncognitoUtils.shouldOpenIncognitoAsWindow() || !isIncognitoShowing()) {
|
||||
+ boolean always_incognito = AlwaysIncognitoLinkInterceptor.isAlwaysIncognito();
|
||||
+ if (!always_incognito) {
|
||||
+ modelList.add(buildNewTabItem());
|
||||
+ }
|
||||
|
||||
// New Incognito Tab
|
||||
modelList.add(buildNewIncognitoTabItem());
|
||||
+ if (!always_incognito || !IncognitoUtils.shouldOpenIncognitoAsWindow() || !isIncognitoShowing()) {
|
||||
modelList.add(buildNewTabItem());
|
||||
}
|
||||
if (!IncognitoUtils.shouldOpenIncognitoAsWindow() || isIncognitoShowing()) {
|
||||
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
|
||||
@@ -212,6 +212,8 @@ import org.chromium.content_public.common.ContentSwitches;
|
||||
@@ -210,6 +210,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;
|
||||
@@ -1035,7 +1027,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.LocalizationUtils;
|
||||
import org.chromium.ui.display.DisplayUtil;
|
||||
@@ -1247,7 +1249,7 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator {
|
||||
@@ -1270,7 +1272,7 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator {
|
||||
() -> {
|
||||
mTabCreatorManagerSupplier
|
||||
.get()
|
||||
@@ -1047,9 +1039,9 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/Tab
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/ChromeTabCreator.java b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/ChromeTabCreator.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/ChromeTabCreator.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/ChromeTabCreator.java
|
||||
@@ -53,6 +53,10 @@ import org.chromium.ui.base.PageTransition;
|
||||
import org.chromium.ui.base.WindowAndroid;
|
||||
import org.chromium.url.GURL;
|
||||
@@ -55,6 +55,10 @@ import org.chromium.url.GURL;
|
||||
import java.util.Collections;
|
||||
import java.util.function.Supplier;
|
||||
|
||||
+import org.chromium.base.ContextUtils;
|
||||
+import org.chromium.chrome.browser.AlwaysIncognitoLinkInterceptor;
|
||||
@@ -1058,7 +1050,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/Chrome
|
||||
/** This class creates various kinds of new tabs and adds them to the right {@link TabModel}. */
|
||||
@NullMarked
|
||||
public class ChromeTabCreator extends TabCreator
|
||||
@@ -580,7 +584,6 @@ public class ChromeTabCreator extends TabCreator
|
||||
@@ -584,7 +588,6 @@ public class ChromeTabCreator extends TabCreator
|
||||
// TODO(crbug.com/40691614): Clean up the launches from SearchActivity/Chrome.
|
||||
public @Nullable Tab launchUrlFromExternalApp(
|
||||
LoadUrlParams loadUrlParams, String appId, boolean forceNewTab, Intent intent) {
|
||||
@@ -1069,15 +1061,15 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/Chrome
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabModelSelectorImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabModelSelectorImpl.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabModelSelectorImpl.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabModelSelectorImpl.java
|
||||
@@ -17,6 +17,7 @@ import org.chromium.build.annotations.EnsuresNonNull;
|
||||
import org.chromium.build.annotations.Initializer;
|
||||
@@ -20,6 +20,7 @@ import org.chromium.build.annotations.Initializer;
|
||||
import org.chromium.build.annotations.NullMarked;
|
||||
import org.chromium.build.annotations.Nullable;
|
||||
import org.chromium.chrome.browser.app.tabwindow.TabWindowManagerSingleton;
|
||||
+import org.chromium.chrome.browser.AlwaysIncognitoLinkInterceptor;
|
||||
import org.chromium.chrome.browser.flags.ActivityType;
|
||||
import org.chromium.chrome.browser.flags.ChromeFeatureList;
|
||||
import org.chromium.chrome.browser.ntp.RecentlyClosedBridge;
|
||||
@@ -127,6 +128,8 @@ public class TabModelSelectorImpl extends TabModelSelectorBase implements TabMod
|
||||
import org.chromium.chrome.browser.multiwindow.MultiInstanceManager;
|
||||
@@ -139,6 +140,8 @@ public class TabModelSelectorImpl extends TabModelSelectorBase implements TabMod
|
||||
ProfileProvider profileProvider = mProfileProviderSupplier.get();
|
||||
assert profileProvider != null;
|
||||
|
||||
@@ -1115,7 +1107,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
|
||||
@@ -50,6 +50,7 @@ import org.chromium.base.supplier.Supplier;
|
||||
@@ -49,6 +49,7 @@ import org.chromium.base.supplier.OneshotSupplierImpl;
|
||||
import org.chromium.cc.input.BrowserControlsState;
|
||||
import org.chromium.chrome.R;
|
||||
import org.chromium.chrome.browser.ActivityTabProvider;
|
||||
@@ -1123,12 +1115,12 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/Toolbar
|
||||
import org.chromium.chrome.browser.IntentHandler;
|
||||
import org.chromium.chrome.browser.app.tabwindow.TabWindowManagerSingleton;
|
||||
import org.chromium.chrome.browser.back_press.BackPressManager;
|
||||
@@ -859,7 +860,7 @@ public class ToolbarManager
|
||||
TraceEvent.end("isOfflinePage");
|
||||
@@ -866,7 +867,7 @@ public class ToolbarManager
|
||||
return ret;
|
||||
}
|
||||
- });
|
||||
+ }, AlwaysIncognitoLinkInterceptor.isAlwaysIncognito());
|
||||
},
|
||||
- mToolbarPositionSupplier);
|
||||
+ mToolbarPositionSupplier, AlwaysIncognitoLinkInterceptor.isAlwaysIncognito());
|
||||
mControlContainer = controlContainer;
|
||||
mToolbarHairline = mControlContainer.findViewById(R.id.toolbar_hairline);
|
||||
|
||||
@@ -1142,9 +1134,9 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/webapps/WebappI
|
||||
+import org.chromium.chrome.browser.AlwaysIncognitoLinkInterceptor;
|
||||
+
|
||||
/** Stores info about a web app. */
|
||||
@NullMarked
|
||||
public class WebappIntentDataProvider extends BrowserServicesIntentDataProvider {
|
||||
private final Drawable mCloseButtonIcon;
|
||||
@@ -46,6 +48,8 @@ public class WebappIntentDataProvider extends BrowserServicesIntentDataProvider
|
||||
@@ -47,6 +49,8 @@ public class WebappIntentDataProvider extends BrowserServicesIntentDataProvider
|
||||
private final ColorProviderImpl mDarkColorProvider;
|
||||
private @DisplayMode.EnumType int mResolvedDisplayMode = DisplayMode.UNDEFINED;
|
||||
|
||||
@@ -1153,7 +1145,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/webapps/WebappI
|
||||
/** Returns the toolbar color to use if a custom color is not specified by the webapp. */
|
||||
public static int getDefaultToolbarColor() {
|
||||
return Color.WHITE;
|
||||
@@ -81,6 +85,10 @@ public class WebappIntentDataProvider extends BrowserServicesIntentDataProvider
|
||||
@@ -82,6 +86,10 @@ public class WebappIntentDataProvider extends BrowserServicesIntentDataProvider
|
||||
mWebappExtras = webappExtras;
|
||||
mWebApkExtras = webApkExtras;
|
||||
mActivityType = (webApkExtras != null) ? ActivityType.WEB_APK : ActivityType.WEBAPP;
|
||||
@@ -1164,7 +1156,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/webapps/WebappI
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -176,6 +184,13 @@ public class WebappIntentDataProvider extends BrowserServicesIntentDataProvider
|
||||
@@ -177,6 +185,13 @@ public class WebappIntentDataProvider extends BrowserServicesIntentDataProvider
|
||||
return mWebApkExtras;
|
||||
}
|
||||
|
||||
@@ -1229,7 +1221,7 @@ diff --git a/chrome/browser/android/historical_tab_saver.cc b/chrome/browser/and
|
||||
DCHECK_EQ(tab_group_ids.size(), group_titles.size());
|
||||
DCHECK_EQ(tab_group_ids.size(), group_colors.size());
|
||||
DCHECK_EQ(tab_group_ids.size(), tab_group_ids.size());
|
||||
@@ -291,11 +302,12 @@ static void JNI_HistoricalTabSaverImpl_CreateHistoricalTab(
|
||||
@@ -292,11 +303,12 @@ static void JNI_HistoricalTabSaverImpl_CreateHistoricalTab(
|
||||
JNIEnv* env,
|
||||
const JavaParamRef<jobject>& jtab_android,
|
||||
const JavaParamRef<jobject>& state,
|
||||
@@ -1247,7 +1239,7 @@ diff --git a/chrome/browser/android/historical_tab_saver.cc b/chrome/browser/and
|
||||
diff --git a/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc b/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc
|
||||
--- a/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc
|
||||
+++ b/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc
|
||||
@@ -427,6 +427,15 @@ ChromeAutocompleteProviderClient::GetAimEligibilityService() const {
|
||||
@@ -460,6 +460,15 @@ ChromeAutocompleteProviderClient::GetAimEligibilityService() const {
|
||||
return AimEligibilityServiceFactory::GetForProfile(profile_);
|
||||
}
|
||||
|
||||
@@ -1374,7 +1366,7 @@ diff --git a/chrome/browser/content_settings/host_content_settings_map_factory.c
|
||||
diff --git a/chrome/browser/history/history_tab_helper.cc b/chrome/browser/history/history_tab_helper.cc
|
||||
--- a/chrome/browser/history/history_tab_helper.cc
|
||||
+++ b/chrome/browser/history/history_tab_helper.cc
|
||||
@@ -45,6 +45,9 @@
|
||||
@@ -48,6 +48,9 @@
|
||||
#include "components/feed/core/v2/public/feed_api.h" // nogncheck
|
||||
#include "components/feed/core/v2/public/feed_service.h" // nogncheck
|
||||
#include "content/public/browser/web_contents.h"
|
||||
@@ -1384,7 +1376,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"
|
||||
@@ -598,6 +601,13 @@ void HistoryTabHelper::TitleWasSet(NavigationEntry* entry) {
|
||||
@@ -612,6 +615,13 @@ void HistoryTabHelper::TitleWasSet(NavigationEntry* entry) {
|
||||
history::HistoryService* HistoryTabHelper::GetHistoryService() {
|
||||
Profile* profile =
|
||||
Profile::FromBrowserContext(web_contents()->GetBrowserContext());
|
||||
@@ -1398,7 +1390,7 @@ diff --git a/chrome/browser/history/history_tab_helper.cc b/chrome/browser/histo
|
||||
if (profile->IsOffTheRecord())
|
||||
return nullptr;
|
||||
|
||||
@@ -605,6 +615,16 @@ history::HistoryService* HistoryTabHelper::GetHistoryService() {
|
||||
@@ -619,6 +629,16 @@ history::HistoryService* HistoryTabHelper::GetHistoryService() {
|
||||
profile, ServiceAccessType::IMPLICIT_ACCESS);
|
||||
}
|
||||
|
||||
@@ -1482,7 +1474,7 @@ diff --git a/chrome/browser/offline_pages/android/offline_page_bridge.cc b/chrom
|
||||
diff --git a/chrome/browser/offline_pages/android/offline_page_model_factory.cc b/chrome/browser/offline_pages/android/offline_page_model_factory.cc
|
||||
--- a/chrome/browser/offline_pages/android/offline_page_model_factory.cc
|
||||
+++ b/chrome/browser/offline_pages/android/offline_page_model_factory.cc
|
||||
@@ -24,6 +24,9 @@
|
||||
@@ -23,6 +23,9 @@
|
||||
#include "components/keyed_service/core/simple_dependency_manager.h"
|
||||
#include "components/offline_pages/core/model/offline_page_model_taskified.h"
|
||||
#include "components/offline_pages/core/offline_page_metadata_store.h"
|
||||
@@ -1492,7 +1484,7 @@ diff --git a/chrome/browser/offline_pages/android/offline_page_model_factory.cc
|
||||
|
||||
namespace offline_pages {
|
||||
|
||||
@@ -55,13 +58,15 @@ std::unique_ptr<KeyedService> OfflinePageModelFactory::BuildServiceInstanceFor(
|
||||
@@ -54,13 +57,15 @@ std::unique_ptr<KeyedService> OfflinePageModelFactory::BuildServiceInstanceFor(
|
||||
scoped_refptr<base::SequencedTaskRunner> background_task_runner =
|
||||
base::ThreadPool::CreateSequencedTaskRunner({base::MayBlock()});
|
||||
|
||||
@@ -1510,7 +1502,7 @@ diff --git a/chrome/browser/offline_pages/android/offline_page_model_factory.cc
|
||||
// If base::PathService::Get returns false, the temporary_archives_dir will be
|
||||
// empty, and no temporary pages will be saved during this chrome lifecycle.
|
||||
base::FilePath temporary_archives_dir;
|
||||
@@ -70,7 +75,6 @@ std::unique_ptr<KeyedService> OfflinePageModelFactory::BuildServiceInstanceFor(
|
||||
@@ -69,7 +74,6 @@ std::unique_ptr<KeyedService> OfflinePageModelFactory::BuildServiceInstanceFor(
|
||||
temporary_archives_dir.Append(chrome::kOfflinePageArchivesDirname);
|
||||
}
|
||||
|
||||
@@ -1518,7 +1510,7 @@ diff --git a/chrome/browser/offline_pages/android/offline_page_model_factory.cc
|
||||
auto archive_manager = std::make_unique<DownloadArchiveManager>(
|
||||
temporary_archives_dir, persistent_archives_dir,
|
||||
DownloadPrefs::GetDefaultDownloadDirectory(), background_task_runner,
|
||||
@@ -88,4 +92,14 @@ std::unique_ptr<KeyedService> OfflinePageModelFactory::BuildServiceInstanceFor(
|
||||
@@ -87,4 +91,14 @@ std::unique_ptr<KeyedService> OfflinePageModelFactory::BuildServiceInstanceFor(
|
||||
return model;
|
||||
}
|
||||
|
||||
@@ -1755,7 +1747,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"
|
||||
@@ -2061,6 +2062,10 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry,
|
||||
@@ -2138,6 +2139,10 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry,
|
||||
usage_stats::UsageStatsBridge::RegisterProfilePrefs(registry);
|
||||
variations::VariationsService::RegisterProfilePrefs(registry);
|
||||
webapps::InstallPromptPrefs::RegisterProfilePrefs(registry);
|
||||
@@ -1860,12 +1852,12 @@ diff --git a/chrome/browser/ui/android/native_page/java/src/org/chromium/chrome/
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -209,11 +212,12 @@ public interface NativePage {
|
||||
*/
|
||||
// TODO(crbug.com/40549331) - Convert to using GURL.
|
||||
static @NativePageType int nativePageType(
|
||||
- String url, NativePage candidatePage, boolean isIncognito, boolean hasPdfDownload) {
|
||||
+ String url, NativePage candidatePage, boolean isIncognito, boolean hasPdfDownload,
|
||||
@@ -212,11 +215,12 @@ public interface NativePage {
|
||||
String url,
|
||||
@Nullable NativePage candidatePage,
|
||||
boolean isIncognito,
|
||||
- boolean hasPdfDownload) {
|
||||
+ boolean hasPdfDownload,
|
||||
+ boolean isAlwaysIncognito) {
|
||||
if (url == null) return NativePageType.NONE;
|
||||
|
||||
@@ -1875,7 +1867,7 @@ diff --git a/chrome/browser/ui/android/native_page/java/src/org/chromium/chrome/
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -227,7 +231,8 @@ public interface NativePage {
|
||||
@@ -230,7 +234,8 @@ public interface NativePage {
|
||||
GURL url,
|
||||
@Nullable NativePage candidatePage,
|
||||
boolean isIncognito,
|
||||
@@ -1885,7 +1877,7 @@ diff --git a/chrome/browser/ui/android/native_page/java/src/org/chromium/chrome/
|
||||
if (hasPdfDownload) {
|
||||
// For navigation with associated pdf download (e.g. open a pdf link), pdf page should
|
||||
// be created.
|
||||
@@ -245,7 +250,7 @@ public interface NativePage {
|
||||
@@ -248,7 +253,7 @@ public interface NativePage {
|
||||
// created after the pdf document is re-downloaded in other parts of the code.
|
||||
return NativePageType.NONE;
|
||||
} else {
|
||||
@@ -1894,7 +1886,7 @@ diff --git a/chrome/browser/ui/android/native_page/java/src/org/chromium/chrome/
|
||||
}
|
||||
}
|
||||
|
||||
@@ -257,7 +262,7 @@ public interface NativePage {
|
||||
@@ -260,7 +265,7 @@ public interface NativePage {
|
||||
* which do not have chrome or chrome-native scheme.
|
||||
*/
|
||||
private static @NativePageType int chromePageType(
|
||||
@@ -1903,7 +1895,7 @@ diff --git a/chrome/browser/ui/android/native_page/java/src/org/chromium/chrome/
|
||||
String host = url.getHost();
|
||||
String scheme = url.getScheme();
|
||||
if (!UrlConstants.CHROME_NATIVE_SCHEME.equals(scheme)
|
||||
@@ -277,7 +282,8 @@ public interface NativePage {
|
||||
@@ -280,7 +285,8 @@ public interface NativePage {
|
||||
return NativePageType.DOWNLOADS;
|
||||
} else if (UrlConstants.HISTORY_HOST.equals(host)) {
|
||||
return NativePageType.HISTORY;
|
||||
@@ -1916,8 +1908,8 @@ 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
|
||||
@@ -92,6 +92,11 @@ import org.chromium.ui.base.WindowAndroid;
|
||||
import org.chromium.ui.interpolators.Interpolators;
|
||||
@@ -97,6 +97,11 @@ import org.chromium.ui.interpolators.Interpolators;
|
||||
import org.chromium.ui.modaldialog.ModalDialogManager;
|
||||
import org.chromium.url.GURL;
|
||||
|
||||
+import org.chromium.components.user_prefs.UserPrefs;
|
||||
@@ -1928,7 +1920,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.function.BooleanSupplier;
|
||||
@@ -419,6 +424,9 @@ class LocationBarMediator
|
||||
@@ -437,6 +442,9 @@ class LocationBarMediator
|
||||
if (!DeviceFormFactor.isNonMultiDisplayContextOnTablet(mContext)) return;
|
||||
Tab tab = mLocationBarDataProvider.getTab();
|
||||
if (tab == null) return;
|
||||
@@ -1941,7 +1933,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
|
||||
@@ -6675,6 +6675,31 @@ To change this setting, <ph name="BEGIN_LINK">BEGIN_LINK</ph>delete the Chrome d
|
||||
@@ -6627,6 +6627,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>
|
||||
@@ -1976,7 +1968,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro
|
||||
diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/LocationBarModel.java b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/LocationBarModel.java
|
||||
--- a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/LocationBarModel.java
|
||||
+++ b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/LocationBarModel.java
|
||||
@@ -165,6 +165,7 @@ public class LocationBarModel implements ToolbarDataProvider, LocationBarDataPro
|
||||
@@ -168,6 +168,7 @@ public class LocationBarModel implements ToolbarDataProvider, LocationBarDataPro
|
||||
protected GURL mVisibleGurl = GURL.emptyGURL();
|
||||
protected String mFormattedFullUrl;
|
||||
protected String mUrlForDisplay;
|
||||
@@ -1984,14 +1976,13 @@ diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/brow
|
||||
|
||||
// notifyUrlChanged and notifySecurityStateChanged are usually called 3 times across a same
|
||||
// document navigation. The first call is usually necessary, which updates the UrlBar to reflect
|
||||
@@ -188,7 +189,9 @@ public class LocationBarModel implements ToolbarDataProvider, LocationBarDataPro
|
||||
Context context,
|
||||
@@ -192,7 +193,8 @@ public class LocationBarModel implements ToolbarDataProvider, LocationBarDataPro
|
||||
NewTabPageDelegate newTabPageDelegate,
|
||||
UrlFormatter urlFormatter,
|
||||
- OfflineStatus offlineStatus) {
|
||||
+ OfflineStatus offlineStatus,
|
||||
OfflineStatus offlineStatus,
|
||||
- ObservableSupplier<@ControlsPosition Integer> toolbarPositionSupplier) {
|
||||
+ ObservableSupplier<@ControlsPosition Integer> toolbarPositionSupplier,
|
||||
+ boolean isAlwaysIncognito) {
|
||||
+ mIsAlwaysIncognito = isAlwaysIncognito; // (uazo) to do, check
|
||||
mContext = context;
|
||||
mNtpDelegate = newTabPageDelegate;
|
||||
mUrlFormatter = urlFormatter;
|
||||
@@ -2065,7 +2056,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
|
||||
@@ -4108,6 +4108,12 @@ inline constexpr char kOutOfProcessSystemDnsResolutionEnabled[] =
|
||||
@@ -4095,6 +4095,12 @@ inline constexpr char kOutOfProcessSystemDnsResolutionEnabled[] =
|
||||
"net.out_of_process_system_dns_resolution_enabled";
|
||||
#endif // BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX)
|
||||
|
||||
@@ -2131,7 +2122,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
|
||||
@@ -287,6 +287,7 @@ struct ContentSettingEntry {
|
||||
@@ -288,6 +288,7 @@ struct ContentSettingEntry {
|
||||
|
||||
HostContentSettingsMap::HostContentSettingsMap(PrefService* prefs,
|
||||
bool is_off_the_record,
|
||||
@@ -2139,7 +2130,7 @@ diff --git a/components/content_settings/core/browser/host_content_settings_map.
|
||||
bool store_last_modified,
|
||||
bool restore_session,
|
||||
bool should_record_metrics)
|
||||
@@ -296,6 +297,7 @@ HostContentSettingsMap::HostContentSettingsMap(PrefService* prefs,
|
||||
@@ -297,6 +298,7 @@ HostContentSettingsMap::HostContentSettingsMap(PrefService* prefs,
|
||||
#endif
|
||||
prefs_(prefs),
|
||||
is_off_the_record_(is_off_the_record),
|
||||
@@ -2147,7 +2138,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()) {
|
||||
@@ -309,7 +311,7 @@ HostContentSettingsMap::HostContentSettingsMap(PrefService* prefs,
|
||||
@@ -310,7 +312,7 @@ HostContentSettingsMap::HostContentSettingsMap(PrefService* prefs,
|
||||
policy_provider->AddObserver(this);
|
||||
|
||||
auto pref_provider_ptr = std::make_unique<content_settings::PrefProvider>(
|
||||
@@ -2167,7 +2158,7 @@ diff --git a/components/content_settings/core/browser/host_content_settings_map.
|
||||
bool store_last_modified,
|
||||
bool restore_session,
|
||||
bool should_record_metrics);
|
||||
@@ -544,6 +545,8 @@ class HostContentSettingsMap : public content_settings::Observer,
|
||||
@@ -551,6 +552,8 @@ class HostContentSettingsMap : public content_settings::Observer,
|
||||
// Whether this settings map is for an incognito or guest session.
|
||||
bool is_off_the_record_;
|
||||
|
||||
@@ -2179,7 +2170,7 @@ diff --git a/components/content_settings/core/browser/host_content_settings_map.
|
||||
diff --git a/components/omnibox/browser/autocomplete_provider_client.cc b/components/omnibox/browser/autocomplete_provider_client.cc
|
||||
--- a/components/omnibox/browser/autocomplete_provider_client.cc
|
||||
+++ b/components/omnibox/browser/autocomplete_provider_client.cc
|
||||
@@ -66,3 +66,7 @@ base::WeakPtr<AutocompleteProviderClient>
|
||||
@@ -74,3 +74,7 @@ base::WeakPtr<AutocompleteProviderClient>
|
||||
AutocompleteProviderClient::GetWeakPtr() {
|
||||
return nullptr;
|
||||
}
|
||||
@@ -2213,7 +2204,7 @@ diff --git a/components/omnibox/browser/base_search_provider.cc b/components/omn
|
||||
diff --git a/components/omnibox/browser/search_provider.cc b/components/omnibox/browser/search_provider.cc
|
||||
--- a/components/omnibox/browser/search_provider.cc
|
||||
+++ b/components/omnibox/browser/search_provider.cc
|
||||
@@ -916,7 +916,8 @@ std::unique_ptr<network::SimpleURLLoader> SearchProvider::CreateSuggestLoader(
|
||||
@@ -921,7 +921,8 @@ std::unique_ptr<network::SimpleURLLoader> SearchProvider::CreateSuggestLoader(
|
||||
// is required.
|
||||
// Request for suggestions in OTR contexts is not allowed; except for the Lens
|
||||
// searchboxes.
|
||||
|
||||
@@ -17,7 +17,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
||||
base/android/feature_map.cc | 5 +
|
||||
.../base/cached_flags/ValuesReturned.java | 2 +-
|
||||
base/feature_list.cc | 76 ++++++++
|
||||
base/feature_list.h | 80 +++++++-
|
||||
base/feature_list.h | 98 +++++++++-
|
||||
build/android/gyp/java_cpp_features.py | 17 ++
|
||||
chrome/android/java/res/values/values.xml | 3 +
|
||||
.../java/res/xml/privacy_preferences.xml | 4 +
|
||||
@@ -106,7 +106,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
||||
third_party/blink/public/common/features.h | 1 +
|
||||
ui/base/ui_base_features.cc | 1 +
|
||||
ui/base/ui_base_features.h | 1 +
|
||||
93 files changed, 832 insertions(+), 32 deletions(-)
|
||||
93 files changed, 850 insertions(+), 32 deletions(-)
|
||||
create mode 100644 chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/cromite/include_all_directory.java
|
||||
create mode 100644 chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/cromite/java_template/CromiteCachedFlag.java.tmpl
|
||||
create mode 100644 chrome/browser/ui/android/strings/cromite_android_chrome_strings_grd/Add-cromite-flags-support.grdp
|
||||
@@ -326,7 +326,7 @@ diff --git a/base/feature_list.h b/base/feature_list.h
|
||||
// Some characters are not allowed to appear in feature names or the
|
||||
// associated field trial names, as they are used as special characters for
|
||||
// command-line serialization. This function checks that the strings are ASCII
|
||||
@@ -815,4 +825,70 @@ class BASE_EXPORT FeatureList {
|
||||
@@ -815,4 +825,88 @@ class BASE_EXPORT FeatureList {
|
||||
|
||||
} // namespace base
|
||||
|
||||
@@ -388,13 +388,31 @@ diff --git a/base/feature_list.h b/base/feature_list.h
|
||||
+ _Pragma("clang diagnostic pop") \
|
||||
+ static_assert(true, "") /* for a semicolon requirement */
|
||||
+
|
||||
+#define BASE_FEATURE_DISABLED(feature, name, default_state) \
|
||||
+#define BASE_FEATURE_DISABLED_3_ARGS(feature, name, default_state) \
|
||||
+ BASE_FEATURE(feature, name, default_state); \
|
||||
+ static_assert(default_state == base::FEATURE_DISABLED_BY_DEFAULT, "Check default state")
|
||||
+
|
||||
+#define BASE_FEATURE_ENABLED(feature, name, default_state) \
|
||||
+#define BASE_FEATURE_DISABLED_2_ARGS(name, default_state) \
|
||||
+ BASE_FEATURE(name, default_state); \
|
||||
+ static_assert(default_state == base::FEATURE_DISABLED_BY_DEFAULT, "Check default state")
|
||||
+
|
||||
+#define GET_BASE_FEATURE_DISABLED_MACRO(_1, _2, _3, NAME, ...) NAME
|
||||
+#define BASE_FEATURE_DISABLED(...) \
|
||||
+ GET_BASE_FEATURE_DISABLED_MACRO(__VA_ARGS__, BASE_FEATURE_DISABLED_3_ARGS, \
|
||||
+ BASE_FEATURE_DISABLED_2_ARGS)(__VA_ARGS__)
|
||||
+
|
||||
+#define BASE_FEATURE_ENABLED_3_ARGS(feature, name, default_state) \
|
||||
+ BASE_FEATURE(feature, name, default_state); \
|
||||
+ static_assert(default_state == base::FEATURE_ENABLED_BY_DEFAULT, "Check default state")
|
||||
+
|
||||
+#define BASE_FEATURE_ENABLED_2_ARGS(name, default_state) \
|
||||
+ BASE_FEATURE(name, default_state); \
|
||||
+ static_assert(default_state == base::FEATURE_ENABLED_BY_DEFAULT, "Check default state")
|
||||
+
|
||||
+#define GET_BASE_FEATURE_ENABLED_MACRO(_1, _2, _3, NAME, ...) NAME
|
||||
+#define BASE_FEATURE_ENABLED(...) \
|
||||
+ GET_BASE_FEATURE_ENABLED_MACRO(__VA_ARGS__, BASE_FEATURE_ENABLED_3_ARGS, \
|
||||
+ BASE_FEATURE_ENABLED_2_ARGS)(__VA_ARGS__)
|
||||
+
|
||||
#endif // BASE_FEATURE_LIST_H_
|
||||
diff --git a/build/android/gyp/java_cpp_features.py b/build/android/gyp/java_cpp_features.py
|
||||
|
||||
@@ -99,15 +99,15 @@ 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
|
||||
@@ -63,6 +63,7 @@ import org.chromium.chrome.browser.ui.edge_to_edge.EdgeToEdgeController;
|
||||
@@ -62,6 +62,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;
|
||||
+import org.chromium.chrome.browser.preferences.ChromeSharedPreferences;
|
||||
import org.chromium.chrome.browser.ui.edge_to_edge.SimpleEdgeToEdgeController;
|
||||
import org.chromium.components.browser_ui.edge_to_edge.EdgeToEdgeManager;
|
||||
import org.chromium.components.browser_ui.edge_to_edge.EdgeToEdgeStateProvider;
|
||||
@@ -145,6 +146,8 @@ public class ChromeBaseAppCompatActivity extends AppCompatActivity
|
||||
import org.chromium.components.browser_ui.styles.SemanticColorUtils;
|
||||
import org.chromium.components.browser_ui.util.AutomotiveUtils;
|
||||
@@ -142,6 +143,8 @@ public class ChromeBaseAppCompatActivity extends AppCompatActivity
|
||||
protected void attachBaseContext(Context newBase) {
|
||||
super.attachBaseContext(newBase);
|
||||
|
||||
@@ -119,15 +119,15 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeBaseAppCo
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/WarmupManager.java b/chrome/android/java/src/org/chromium/chrome/browser/WarmupManager.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/WarmupManager.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/WarmupManager.java
|
||||
@@ -69,6 +69,7 @@ import org.chromium.content_public.browser.WebContents;
|
||||
import org.chromium.content_public.browser.WebContentsObserver;
|
||||
import org.chromium.net.NetId;
|
||||
@@ -63,6 +63,7 @@ import org.chromium.chrome.browser.toolbar.ControlContainer;
|
||||
import org.chromium.components.embedder_support.util.UrlConstants;
|
||||
import org.chromium.content_public.browser.WebContents;
|
||||
import org.chromium.ui.LayoutInflaterUtils;
|
||||
+import org.chromium.ui.base.DeviceFormFactor;
|
||||
import org.chromium.ui.base.WindowAndroid;
|
||||
import org.chromium.ui.display.DisplayUtil;
|
||||
import org.chromium.url.GURL;
|
||||
@@ -491,7 +492,9 @@ public class WarmupManager {
|
||||
@@ -472,7 +473,9 @@ public class WarmupManager {
|
||||
ControlContainer controlContainer = mainView.findViewById(R.id.control_container);
|
||||
|
||||
if (toolbarId != ActivityUtils.NO_RESOURCE_ID && controlContainer != null) {
|
||||
@@ -170,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
|
||||
@@ -791,7 +791,9 @@ public abstract class ChromeActivity extends AsyncInitializationActivity
|
||||
@@ -803,7 +803,9 @@ 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) {
|
||||
@@ -184,7 +184,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
|
||||
@@ -127,6 +127,7 @@ import org.chromium.components.tab_group_sync.TabGroupSyncService;
|
||||
@@ -130,6 +130,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;
|
||||
@@ -192,7 +192,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;
|
||||
@@ -4955,8 +4956,13 @@ public class StripLayoutHelper
|
||||
@@ -5147,8 +5148,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();
|
||||
@@ -219,7 +219,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/over
|
||||
import org.chromium.ui.base.LocalizationUtils;
|
||||
import org.chromium.ui.base.PageTransition;
|
||||
import org.chromium.ui.base.WindowAndroid;
|
||||
@@ -495,7 +496,10 @@ public class StripLayoutHelperManager
|
||||
@@ -498,7 +499,10 @@ public class StripLayoutHelperManager
|
||||
mIsLayoutOptimizationsEnabled =
|
||||
ToolbarFeatures.isTabStripWindowLayoutOptimizationEnabled(
|
||||
/* isTablet= */ true, DisplayUtil.isContextInDefaultDisplay(mContext));
|
||||
@@ -234,7 +234,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/over
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/scene_layer/TabStripSceneLayer.java b/chrome/android/java/src/org/chromium/chrome/browser/compositor/scene_layer/TabStripSceneLayer.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/compositor/scene_layer/TabStripSceneLayer.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/compositor/scene_layer/TabStripSceneLayer.java
|
||||
@@ -111,6 +111,14 @@ public class TabStripSceneLayer extends SceneOverlayLayer {
|
||||
@@ -120,6 +120,14 @@ public class TabStripSceneLayer extends SceneOverlayLayer {
|
||||
if (mNativePtr == 0) return;
|
||||
final boolean visible = yOffset > -layoutHelper.getHeight();
|
||||
|
||||
@@ -252,15 +252,15 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/scen
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/init/ChromeBrowserInitializer.java b/chrome/android/java/src/org/chromium/chrome/browser/init/ChromeBrowserInitializer.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/init/ChromeBrowserInitializer.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/init/ChromeBrowserInitializer.java
|
||||
@@ -16,6 +16,7 @@ import org.chromium.base.library_loader.LibraryProcessType;
|
||||
import org.chromium.base.task.ChainedTasks;
|
||||
import org.chromium.base.task.TaskTraits;
|
||||
@@ -18,6 +18,7 @@ import org.chromium.base.task.TaskTraits;
|
||||
import org.chromium.build.annotations.NullMarked;
|
||||
import org.chromium.build.annotations.Nullable;
|
||||
import org.chromium.chrome.browser.flags.ChromeSwitches;
|
||||
+import org.chromium.chrome.browser.preferences.ChromeSharedPreferences;
|
||||
import org.chromium.chrome.browser.profiles.ProfileManager;
|
||||
import org.chromium.chrome.browser.signin.SigninCheckerProvider;
|
||||
import org.chromium.components.background_task_scheduler.BackgroundTaskSchedulerFactory;
|
||||
@@ -106,6 +107,7 @@ public class ChromeBrowserInitializer {
|
||||
@@ -109,6 +110,7 @@ public class ChromeBrowserInitializer {
|
||||
public void handlePreNativeStartupAndLoadLibraries(final BrowserParts parts) {
|
||||
ThreadUtils.checkUiThread();
|
||||
if (parts.isActivityFinishingOrDestroyed()) return;
|
||||
@@ -271,7 +271,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
|
||||
@@ -747,7 +747,9 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator {
|
||||
@@ -762,7 +762,9 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator {
|
||||
|
||||
@Override
|
||||
public int getControlContainerHeightResource() {
|
||||
@@ -285,7 +285,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
|
||||
@@ -108,6 +108,8 @@ import org.chromium.chrome.browser.paint_preview.DemoPaintPreview;
|
||||
@@ -107,6 +107,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;
|
||||
@@ -319,7 +319,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
|
||||
@@ -317,6 +317,7 @@ public final class ChromePreferenceKeys {
|
||||
@@ -321,6 +321,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";
|
||||
@@ -371,8 +371,8 @@ diff --git a/chrome/browser/ui/android/desktop_windowing/java/src/org/chromium/c
|
||||
--- a/chrome/browser/ui/android/desktop_windowing/java/src/org/chromium/chrome/browser/ui/desktop_windowing/AppHeaderCoordinator.java
|
||||
+++ b/chrome/browser/ui/android/desktop_windowing/java/src/org/chromium/chrome/browser/ui/desktop_windowing/AppHeaderCoordinator.java
|
||||
@@ -42,6 +42,7 @@ import org.chromium.components.browser_ui.desktop_windowing.DesktopWindowStateMa
|
||||
import org.chromium.components.browser_ui.edge_to_edge.EdgeToEdgeStateProvider;
|
||||
import org.chromium.ui.display.DisplayUtil;
|
||||
import org.chromium.ui.edge_to_edge.EdgeToEdgeStateProvider;
|
||||
import org.chromium.ui.insets.CaptionBarInsetsRectProvider;
|
||||
+import org.chromium.ui.base.DeviceFormFactor;
|
||||
import org.chromium.ui.insets.InsetObserver;
|
||||
@@ -389,7 +389,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
|
||||
@@ -833,7 +833,7 @@ public class LocationBarCoordinator
|
||||
@@ -862,7 +862,7 @@ public class LocationBarCoordinator
|
||||
}
|
||||
|
||||
private boolean isTabletWindow() {
|
||||
@@ -401,7 +401,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
|
||||
@@ -1531,6 +1531,13 @@ Your Google account may have other forms of browsing history like searches and a
|
||||
@@ -1483,6 +1483,13 @@ Your Google account may have other forms of browsing history like searches and a
|
||||
Privacy guide explanation closed
|
||||
</message>
|
||||
|
||||
@@ -422,24 +422,25 @@ diff --git a/chrome/browser/ui/android/toolbar/java/res/layout/control_container
|
||||
android:id="@+id/control_container"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
- android:minHeight="@dimen/control_container_height" >
|
||||
+ android:minHeight="@dimen/control_container_height_cromite" >
|
||||
- android:minHeight="@dimen/control_container_height">
|
||||
+ android:minHeight="@dimen/control_container_height_cromite">
|
||||
|
||||
<view
|
||||
class="org.chromium.chrome.browser.toolbar.top.ToolbarControlContainer$ToolbarViewResourceFrameLayout"
|
||||
@@ -20,20 +20,20 @@ found in the LICENSE file.
|
||||
class="org.chromium.chrome.browser.toolbar.top.ToolbarControlContainer$ToolbarViewResourceCoordinatorLayout"
|
||||
@@ -20,7 +20,7 @@ found in the LICENSE file.
|
||||
<ViewStub
|
||||
android:id="@+id/toolbar_stub"
|
||||
android:layout_width="match_parent"
|
||||
- android:layout_marginTop="@dimen/tab_strip_height"
|
||||
+ android:layout_marginTop="@dimen/tab_strip_height_cromite"
|
||||
android:layout_marginBottom="@dimen/toolbar_hairline_height"
|
||||
android:layout_height="@dimen/toolbar_height_no_shadow" />
|
||||
|
||||
<org.chromium.chrome.browser.toolbar.ToolbarHairlineView
|
||||
android:id="@+id/toolbar_hairline"
|
||||
@@ -29,13 +29,13 @@ found in the LICENSE file.
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
- android:layout_marginTop="@dimen/control_container_height" />
|
||||
app:layout_anchorGravity="bottom"
|
||||
- />
|
||||
+ android:layout_marginTop="@dimen/control_container_height_cromite" />
|
||||
|
||||
<ViewStub
|
||||
@@ -491,11 +492,11 @@ diff --git a/chrome/browser/ui/android/toolbar/java/res/values/dimens.xml b/chro
|
||||
+ <dimen name="tab_strip_reserved_top_padding_tabletui">2dp</dimen>
|
||||
|
||||
<dimen name="ntp_search_box_height">64dp</dimen>
|
||||
|
||||
<dimen name="ntp_search_box_height_tall">72dp</dimen>
|
||||
diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/ControlContainer.java b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/ControlContainer.java
|
||||
--- a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/ControlContainer.java
|
||||
+++ b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/ControlContainer.java
|
||||
@@ -27,7 +27,7 @@ public interface ControlContainer {
|
||||
@@ -26,7 +26,7 @@ public interface ControlContainer {
|
||||
*
|
||||
* @param toolbarLayoutId The ID of the toolbar layout to use.
|
||||
*/
|
||||
@@ -515,7 +516,7 @@ diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/brow
|
||||
import android.graphics.Canvas;
|
||||
import android.graphics.Color;
|
||||
import android.graphics.PorterDuff;
|
||||
@@ -163,8 +164,25 @@ public class ToolbarControlContainer extends OptimizedFrameLayout
|
||||
@@ -165,8 +166,25 @@ public class ToolbarControlContainer extends OptimizedFrameLayout
|
||||
|
||||
@Override
|
||||
@Initializer
|
||||
@@ -545,7 +546,7 @@ diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/brow
|
||||
diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/ToolbarLayout.java b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/ToolbarLayout.java
|
||||
--- a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/ToolbarLayout.java
|
||||
+++ b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/ToolbarLayout.java
|
||||
@@ -66,6 +66,7 @@ import org.chromium.chrome.browser.util.BrowserUiUtils.ModuleTypeOnStartAndNtp;
|
||||
@@ -64,6 +64,7 @@ import org.chromium.chrome.browser.util.BrowserUiUtils.ModuleTypeOnStartAndNtp;
|
||||
import org.chromium.components.feature_engagement.Tracker;
|
||||
import org.chromium.ui.base.ViewUtils;
|
||||
import org.chromium.ui.util.MotionEventUtils;
|
||||
@@ -553,7 +554,7 @@ diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/brow
|
||||
import org.chromium.ui.util.TokenHolder;
|
||||
import org.chromium.url.GURL;
|
||||
|
||||
@@ -594,7 +595,9 @@ public abstract class ToolbarLayout extends FrameLayout
|
||||
@@ -581,7 +582,9 @@ public abstract class ToolbarLayout extends FrameLayout
|
||||
* not have a tab strip.
|
||||
*/
|
||||
protected int getTabStripHeightFromResource() {
|
||||
|
||||
@@ -38,11 +38,11 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
||||
.../skia/src/ports/SkFontConfigInterface.cpp | 4 +
|
||||
.../ports/SkFontConfigInterface_direct.cpp | 5 +
|
||||
.../src/ports/SkFontConfigInterface_direct.h | 1 +
|
||||
.../skia/src/ports/SkFontMgr_android.cpp | 279 ++-
|
||||
.../skia/src/ports/SkFontMgr_android.cpp | 277 ++-
|
||||
.../skia/src/ports/SkFontMgr_android_data.cpp | 1640 +++++++++++++++++
|
||||
.../src/ports/SkFontMgr_android_parser.cpp | 49 +-
|
||||
.../skia/src/ports/SkFontMgr_android_parser.h | 5 +-
|
||||
36 files changed, 2415 insertions(+), 76 deletions(-)
|
||||
36 files changed, 2414 insertions(+), 75 deletions(-)
|
||||
create mode 100644 chrome/browser/ui/android/strings/cromite_android_chrome_strings_grd/Android-fonts-fingerprinting-mitigation.grdp
|
||||
create mode 100644 components/component_updater/installer_policies/fonts_pack_component_installer.cc
|
||||
create mode 100644 components/component_updater/installer_policies/fonts_pack_component_installer.h
|
||||
@@ -54,7 +54,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
||||
diff --git a/android_webview/java/src/org/chromium/android_webview/common/ProductionSupportedFlagList.java b/android_webview/java/src/org/chromium/android_webview/common/ProductionSupportedFlagList.java
|
||||
--- a/android_webview/java/src/org/chromium/android_webview/common/ProductionSupportedFlagList.java
|
||||
+++ b/android_webview/java/src/org/chromium/android_webview/common/ProductionSupportedFlagList.java
|
||||
@@ -1007,6 +1007,9 @@ public final class ProductionSupportedFlagList {
|
||||
@@ -1009,6 +1009,9 @@ public final class ProductionSupportedFlagList {
|
||||
"Hides user preference on the system keyboard by setting the standard "
|
||||
+ "eng layout and removing the layout information from the "
|
||||
+ "javascript keyboard events."),
|
||||
@@ -106,7 +106,7 @@ diff --git a/chrome/android/java/res/xml/developer_preferences.xml b/chrome/andr
|
||||
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
|
||||
--- a/chrome/browser/BUILD.gn
|
||||
+++ b/chrome/browser/BUILD.gn
|
||||
@@ -7951,6 +7951,13 @@ static_library("browser") {
|
||||
@@ -8005,6 +8005,13 @@ static_library("browser") {
|
||||
}
|
||||
}
|
||||
|
||||
@@ -161,7 +161,7 @@ new file mode 100644
|
||||
diff --git a/chrome/renderer/BUILD.gn b/chrome/renderer/BUILD.gn
|
||||
--- a/chrome/renderer/BUILD.gn
|
||||
+++ b/chrome/renderer/BUILD.gn
|
||||
@@ -258,6 +258,10 @@ static_library("renderer") {
|
||||
@@ -264,6 +264,10 @@ static_library("renderer") {
|
||||
deps += [ "//components/strings" ]
|
||||
}
|
||||
|
||||
@@ -615,7 +615,7 @@ diff --git a/components/services/font/public/mojom/font_service.mojom b/componen
|
||||
diff --git a/content/browser/BUILD.gn b/content/browser/BUILD.gn
|
||||
--- a/content/browser/BUILD.gn
|
||||
+++ b/content/browser/BUILD.gn
|
||||
@@ -2600,6 +2600,17 @@ source_set("browser") {
|
||||
@@ -2614,6 +2614,17 @@ source_set("browser") {
|
||||
]
|
||||
}
|
||||
|
||||
@@ -633,7 +633,7 @@ diff --git a/content/browser/BUILD.gn b/content/browser/BUILD.gn
|
||||
if (is_linux || is_chromeos) {
|
||||
sources -=
|
||||
[ "file_system_access/file_path_watcher/file_path_watcher_stub.cc" ]
|
||||
@@ -2645,6 +2656,13 @@ source_set("browser") {
|
||||
@@ -2659,6 +2670,13 @@ source_set("browser") {
|
||||
]
|
||||
}
|
||||
|
||||
@@ -696,7 +696,7 @@ diff --git a/content/child/BUILD.gn b/content/child/BUILD.gn
|
||||
diff --git a/content/renderer/BUILD.gn b/content/renderer/BUILD.gn
|
||||
--- a/content/renderer/BUILD.gn
|
||||
+++ b/content/renderer/BUILD.gn
|
||||
@@ -346,6 +346,10 @@ target(link_target_type, "renderer") {
|
||||
@@ -347,6 +347,10 @@ target(link_target_type, "renderer") {
|
||||
deps += [ "//services/screen_ai/public/mojom" ]
|
||||
}
|
||||
|
||||
@@ -734,7 +734,7 @@ diff --git a/content/renderer/renderer_blink_platform_impl.cc b/content/renderer
|
||||
using blink::Platform;
|
||||
using blink::WebAudioDevice;
|
||||
using blink::WebAudioLatencyHint;
|
||||
@@ -180,6 +197,37 @@ gpu::ContextType ToGpuContextType(blink::Platform::ContextType type) {
|
||||
@@ -174,6 +191,37 @@ gpu::ContextType ToGpuContextType(blink::Platform::ContextType type) {
|
||||
NOTREACHED();
|
||||
}
|
||||
|
||||
@@ -772,7 +772,7 @@ diff --git a/content/renderer/renderer_blink_platform_impl.cc b/content/renderer
|
||||
} // namespace
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
@@ -193,18 +241,21 @@ RendererBlinkPlatformImpl::RendererBlinkPlatformImpl(
|
||||
@@ -187,18 +235,21 @@ RendererBlinkPlatformImpl::RendererBlinkPlatformImpl(
|
||||
is_locked_to_site_(false),
|
||||
main_thread_scheduler_(main_thread_scheduler),
|
||||
next_frame_sink_id_(uint32_t{std::numeric_limits<int32_t>::max()} + 1) {
|
||||
@@ -838,7 +838,7 @@ new file mode 100644
|
||||
diff --git a/skia/BUILD.gn b/skia/BUILD.gn
|
||||
--- a/skia/BUILD.gn
|
||||
+++ b/skia/BUILD.gn
|
||||
@@ -463,6 +463,18 @@ component("skia") {
|
||||
@@ -467,6 +467,18 @@ component("skia") {
|
||||
sources += skia_ports_fci_sources
|
||||
}
|
||||
|
||||
@@ -1257,7 +1257,7 @@ diff --git a/third_party/skia/src/ports/SkFontMgr_android.cpp b/third_party/skia
|
||||
: fScanner(std::move(scanner)) {
|
||||
+ custom_ = std::move(custom_in);
|
||||
+ auto* custom = custom_.get();
|
||||
SkTDArray<FontFamily*> families;
|
||||
std::vector<std::unique_ptr<FontFamily>> families;
|
||||
if (custom && SkFontMgr_Android_CustomFonts::kPreferSystem != custom->fSystemFontUse) {
|
||||
SkString base(custom->fBasePath);
|
||||
SkFontMgr_Android_Parser::GetCustomFontFamilies(
|
||||
@@ -1278,22 +1278,24 @@ diff --git a/third_party/skia/src/ports/SkFontMgr_android.cpp b/third_party/skia
|
||||
}
|
||||
this->buildNameToFamilyMap(families, custom ? custom->fIsolated : false);
|
||||
this->findDefaultStyleSet();
|
||||
@@ -309,33 +449,53 @@ protected:
|
||||
return sset->matchStyle(style);
|
||||
@@ -306,12 +446,12 @@ protected:
|
||||
}
|
||||
|
||||
enum class NameType { Self, Fallback };
|
||||
- static sk_sp<SkTypeface_AndroidSystem> find_family_style_character(
|
||||
+ sk_sp<SkTypeface> find_family_style_character(
|
||||
const SkString& familyName,
|
||||
const TArray<NameToFamily, true>& fallbackNameToFamilyMap,
|
||||
const TArray<NameToFamily, true>& nameToFamilyMap,
|
||||
NameType nameType,
|
||||
const SkFontStyle& style, bool elegant,
|
||||
- const SkString& langTag, SkUnichar character)
|
||||
+ const SkString& langTag, SkUnichar character) const
|
||||
{
|
||||
for (int i = 0; i < fallbackNameToFamilyMap.size(); ++i) {
|
||||
SkFontStyleSet_Android* family = fallbackNameToFamilyMap[i].styleSet;
|
||||
if (familyName != family->fFallbackFor) {
|
||||
continue;
|
||||
for (auto&& nameToFamily : nameToFamilyMap) {
|
||||
SkFontStyleSet_Android* family = nameToFamily.styleSet;
|
||||
@@ -322,22 +462,42 @@ protected:
|
||||
continue;
|
||||
}
|
||||
}
|
||||
- sk_sp<SkTypeface_AndroidSystem> face(family->matchAStyle(style));
|
||||
+ if (custom_) {
|
||||
@@ -1334,38 +1336,29 @@ diff --git a/third_party/skia/src/ports/SkFontMgr_android.cpp b/third_party/skia
|
||||
+ {
|
||||
+ continue;
|
||||
+ }
|
||||
+
|
||||
+ if (SkToBool(face->fVariantStyle & kElegant_FontVariant) != elegant) {
|
||||
+ continue;
|
||||
+ }
|
||||
|
||||
- if (face->unicharToGlyph(character) != 0) {
|
||||
- return face;
|
||||
+ if (SkToBool(face->fVariantStyle & kElegant_FontVariant) != elegant) {
|
||||
+ continue;
|
||||
+ }
|
||||
+
|
||||
+ if (face->unicharToGlyph(character) != 0) {
|
||||
+ return face;
|
||||
+ }
|
||||
}
|
||||
}
|
||||
return nullptr;
|
||||
@@ -358,7 +518,7 @@ protected:
|
||||
for (int bcp47Index = bcp47Count; bcp47Index --> 0;) {
|
||||
SkLanguage lang(bcp47[bcp47Index]);
|
||||
while (!lang.getTag().isEmpty()) {
|
||||
- sk_sp<SkTypeface_AndroidSystem> matchingTypeface =
|
||||
+ sk_sp<SkTypeface> matchingTypeface =
|
||||
find_family_style_character(currentFamilyName, fFallbackNameToFamilyMap,
|
||||
style, SkToBool(elegant),
|
||||
lang.getTag(), character);
|
||||
@@ -369,7 +529,7 @@ protected:
|
||||
lang = lang.getParent();
|
||||
}
|
||||
}
|
||||
- sk_sp<SkTypeface_AndroidSystem> matchingTypeface =
|
||||
+ sk_sp<SkTypeface> matchingTypeface =
|
||||
find_family_style_character(currentFamilyName, fFallbackNameToFamilyMap,
|
||||
style, SkToBool(elegant),
|
||||
SkString(), character);
|
||||
@@ -420,6 +580,7 @@ protected:
|
||||
@@ -352,7 +512,7 @@ protected:
|
||||
// The variant 'default' means 'compact and elegant'.
|
||||
// As a result, it is not possible to know the variant context from the font alone.
|
||||
// TODO: add 'is_elegant' and 'is_compact' bits to 'style' request.
|
||||
- sk_sp<SkTypeface_AndroidSystem> matchingTypeface;
|
||||
+ sk_sp<SkTypeface> matchingTypeface;
|
||||
SkString familyNameString(familyName);
|
||||
for (const SkString& currentFamilyName : { familyNameString, SkString() }) {
|
||||
// The first time match anything elegant, second time anything not elegant.
|
||||
@@ -432,6 +592,7 @@ protected:
|
||||
private:
|
||||
|
||||
std::unique_ptr<SkFontScanner> fScanner;
|
||||
@@ -1373,7 +1366,7 @@ diff --git a/third_party/skia/src/ports/SkFontMgr_android.cpp b/third_party/skia
|
||||
|
||||
TArray<sk_sp<SkFontStyleSet_Android>> fStyleSets;
|
||||
sk_sp<SkFontStyleSet> fDefaultStyleSet;
|
||||
@@ -441,7 +602,7 @@ private:
|
||||
@@ -453,7 +614,7 @@ private:
|
||||
}
|
||||
|
||||
sk_sp<SkFontStyleSet_Android> newSet =
|
||||
@@ -1382,7 +1375,7 @@ diff --git a/third_party/skia/src/ports/SkFontMgr_android.cpp b/third_party/skia
|
||||
if (0 == newSet->count()) {
|
||||
return;
|
||||
}
|
||||
@@ -486,7 +647,11 @@ static char const * const gSystemFontUseStrings[] = {
|
||||
@@ -499,7 +660,11 @@ static char const * const gSystemFontUseStrings[] = {
|
||||
|
||||
} // namespace
|
||||
|
||||
@@ -1395,7 +1388,7 @@ diff --git a/third_party/skia/src/ports/SkFontMgr_android.cpp b/third_party/skia
|
||||
if (custom) {
|
||||
SkASSERT(0 <= custom->fSystemFontUse);
|
||||
SkASSERT(custom->fSystemFontUse < std::size(gSystemFontUseStrings));
|
||||
@@ -496,5 +661,5 @@ sk_sp<SkFontMgr> SkFontMgr_New_Android(const SkFontMgr_Android_CustomFonts* cust
|
||||
@@ -509,5 +674,5 @@ sk_sp<SkFontMgr> SkFontMgr_New_Android(const SkFontMgr_Android_CustomFonts* cust
|
||||
custom->fFontsXml,
|
||||
custom->fFallbackFontsXml);
|
||||
}
|
||||
@@ -3050,10 +3043,10 @@ new file mode 100644
|
||||
diff --git a/third_party/skia/src/ports/SkFontMgr_android_parser.cpp b/third_party/skia/src/ports/SkFontMgr_android_parser.cpp
|
||||
--- a/third_party/skia/src/ports/SkFontMgr_android_parser.cpp
|
||||
+++ b/third_party/skia/src/ports/SkFontMgr_android_parser.cpp
|
||||
@@ -652,14 +652,27 @@ static const XML_Memory_Handling_Suite sk_XML_alloc = {
|
||||
* families array. Returns the version of the file, negative if the file does not exist.
|
||||
@@ -654,14 +654,27 @@ static const XML_Memory_Handling_Suite sk_XML_alloc = {
|
||||
*/
|
||||
static int parse_config_file(const char* filename, SkTDArray<FontFamily*>& families,
|
||||
static int parse_config_file(const char* filename,
|
||||
std::vector<std::unique_ptr<FontFamily>>& families,
|
||||
- const SkString& basePath, bool isFallback)
|
||||
+ const SkString& basePath, bool isFallback,
|
||||
+ const SkFontMgr_Android_CustomFonts* custom = nullptr)
|
||||
@@ -3084,7 +3077,7 @@ diff --git a/third_party/skia/src/ports/SkFontMgr_android_parser.cpp b/third_par
|
||||
return -1;
|
||||
}
|
||||
|
||||
@@ -691,8 +704,8 @@ static int parse_config_file(const char* filename, SkTDArray<FontFamily*>& famil
|
||||
@@ -693,8 +706,8 @@ static int parse_config_file(const char* filename,
|
||||
SkDebugf(SK_FONTMGR_ANDROID_PARSER_PREFIX "could not buffer enough to continue\n");
|
||||
return -1;
|
||||
}
|
||||
@@ -3095,57 +3088,59 @@ diff --git a/third_party/skia/src/ports/SkFontMgr_android_parser.cpp b/third_par
|
||||
XML_Status status = XML_ParseBuffer(parser, len, done);
|
||||
if (XML_STATUS_ERROR == status) {
|
||||
XML_Error error = XML_GetErrorCode(parser);
|
||||
@@ -765,8 +778,10 @@ static void append_fallback_font_families_for_locale(SkTDArray<FontFamily*>& fal
|
||||
}
|
||||
@@ -768,8 +781,10 @@ static void append_fallback_font_families_for_locale(
|
||||
|
||||
static void append_system_fallback_font_families(SkTDArray<FontFamily*>& fallbackFonts,
|
||||
- const SkString& basePath)
|
||||
+ const SkString& basePath,
|
||||
static void append_system_fallback_font_families(
|
||||
std::vector<std::unique_ptr<FontFamily>>& fallbackFonts,
|
||||
- const SkString& basePath)
|
||||
+ const SkString& basePath,
|
||||
+ const SkFontMgr_Android_CustomFonts* custom)
|
||||
{
|
||||
+ if (custom) return;
|
||||
parse_config_file(FALLBACK_FONTS_FILE, fallbackFonts, basePath, true);
|
||||
append_fallback_font_families_for_locale(fallbackFonts,
|
||||
LOCALE_FALLBACK_FONTS_SYSTEM_DIR,
|
||||
@@ -774,8 +789,10 @@ static void append_system_fallback_font_families(SkTDArray<FontFamily*>& fallbac
|
||||
}
|
||||
@@ -778,8 +793,10 @@ static void append_system_fallback_font_families(
|
||||
|
||||
static void mixin_vendor_fallback_font_families(SkTDArray<FontFamily*>& fallbackFonts,
|
||||
- const SkString& basePath)
|
||||
+ const SkString& basePath,
|
||||
static void mixin_vendor_fallback_font_families(
|
||||
std::vector<std::unique_ptr<FontFamily>>& fallbackFonts,
|
||||
- const SkString& basePath)
|
||||
+ const SkString& basePath,
|
||||
+ const SkFontMgr_Android_CustomFonts* custom)
|
||||
{
|
||||
+ if (custom) return;
|
||||
SkTDArray<FontFamily*> vendorFonts;
|
||||
std::vector<std::unique_ptr<FontFamily>> vendorFonts;
|
||||
parse_config_file(VENDOR_FONTS_FILE, vendorFonts, basePath, true);
|
||||
append_fallback_font_families_for_locale(vendorFonts,
|
||||
@@ -806,7 +823,8 @@ static void mixin_vendor_fallback_font_families(SkTDArray<FontFamily*>& fallback
|
||||
}
|
||||
@@ -811,7 +828,8 @@ static void mixin_vendor_fallback_font_families(
|
||||
}
|
||||
|
||||
-void SkFontMgr_Android_Parser::GetSystemFontFamilies(SkTDArray<FontFamily*>& fontFamilies) {
|
||||
+void SkFontMgr_Android_Parser::GetSystemFontFamilies(SkTDArray<FontFamily*>& fontFamilies,
|
||||
+ const SkFontMgr_Android_CustomFonts* custom) {
|
||||
void SkFontMgr_Android_Parser::GetSystemFontFamilies(
|
||||
- std::vector<std::unique_ptr<FontFamily>>& fontFamilies)
|
||||
+ std::vector<std::unique_ptr<FontFamily>>& fontFamilies,
|
||||
+ const SkFontMgr_Android_CustomFonts* custom)
|
||||
{
|
||||
// Version 21 of the system font configuration does not need any fallback configuration files.
|
||||
SkString basePath(getenv("ANDROID_ROOT"));
|
||||
basePath.append(SK_FONT_FILE_PREFIX, sizeof(SK_FONT_FILE_PREFIX) - 1);
|
||||
@@ -817,22 +835,23 @@ void SkFontMgr_Android_Parser::GetSystemFontFamilies(SkTDArray<FontFamily*>& fon
|
||||
@@ -823,8 +841,8 @@ void SkFontMgr_Android_Parser::GetSystemFontFamilies(
|
||||
|
||||
// Append all the fallback fonts to system fonts
|
||||
SkTDArray<FontFamily*> fallbackFonts;
|
||||
std::vector<std::unique_ptr<FontFamily>> fallbackFonts;
|
||||
- append_system_fallback_font_families(fallbackFonts, basePath);
|
||||
- mixin_vendor_fallback_font_families(fallbackFonts, basePath);
|
||||
+ append_system_fallback_font_families(fallbackFonts, basePath, custom);
|
||||
+ mixin_vendor_fallback_font_families(fallbackFonts, basePath, custom);
|
||||
fontFamilies.append(fallbackFonts.size(), fallbackFonts.begin());
|
||||
}
|
||||
|
||||
void SkFontMgr_Android_Parser::GetCustomFontFamilies(SkTDArray<FontFamily*>& fontFamilies,
|
||||
const SkString& basePath,
|
||||
+ const SkFontMgr_Android_CustomFonts* custom,
|
||||
const char* fontsXml,
|
||||
const char* fallbackFontsXml,
|
||||
const char* langFallbackFontsDir)
|
||||
fontFamilies.insert(fontFamilies.end(),
|
||||
std::make_move_iterator(fallbackFonts.begin()),
|
||||
std::make_move_iterator(fallbackFonts.end()));
|
||||
@@ -833,15 +851,16 @@ void SkFontMgr_Android_Parser::GetSystemFontFamilies(
|
||||
void SkFontMgr_Android_Parser::GetCustomFontFamilies(
|
||||
std::vector<std::unique_ptr<FontFamily>>& fontFamilies,
|
||||
const SkString& basePath,
|
||||
+ const SkFontMgr_Android_CustomFonts* custom,
|
||||
const char* fontsXml,
|
||||
const char* fallbackFontsXml,
|
||||
const char* langFallbackFontsDir)
|
||||
{
|
||||
if (fontsXml) {
|
||||
- parse_config_file(fontsXml, fontFamilies, basePath, false);
|
||||
@@ -3160,7 +3155,7 @@ diff --git a/third_party/skia/src/ports/SkFontMgr_android_parser.cpp b/third_par
|
||||
diff --git a/third_party/skia/src/ports/SkFontMgr_android_parser.h b/third_party/skia/src/ports/SkFontMgr_android_parser.h
|
||||
--- a/third_party/skia/src/ports/SkFontMgr_android_parser.h
|
||||
+++ b/third_party/skia/src/ports/SkFontMgr_android_parser.h
|
||||
@@ -15,6 +15,7 @@
|
||||
@@ -17,6 +17,7 @@
|
||||
#include "include/private/base/SkTArray.h"
|
||||
#include "include/private/base/SkTDArray.h"
|
||||
#include "src/core/SkTHash.h"
|
||||
@@ -3168,16 +3163,16 @@ diff --git a/third_party/skia/src/ports/SkFontMgr_android_parser.h b/third_party
|
||||
|
||||
#include <climits>
|
||||
#include <limits>
|
||||
@@ -105,11 +106,13 @@ struct FontFamily {
|
||||
@@ -109,11 +110,13 @@ struct FontFamily {
|
||||
namespace SkFontMgr_Android_Parser {
|
||||
|
||||
/** Parses system font configuration files and appends result to fontFamilies. */
|
||||
-void GetSystemFontFamilies(SkTDArray<FontFamily*>& fontFamilies);
|
||||
+void GetSystemFontFamilies(SkTDArray<FontFamily*>& fontFamilies,
|
||||
-void GetSystemFontFamilies(std::vector<std::unique_ptr<FontFamily>>& fontFamilies);
|
||||
+void GetSystemFontFamilies(std::vector<std::unique_ptr<FontFamily>>& fontFamilies,
|
||||
+ const SkFontMgr_Android_CustomFonts* custom);
|
||||
|
||||
/** Parses font configuration files and appends result to fontFamilies. */
|
||||
void GetCustomFontFamilies(SkTDArray<FontFamily*>& fontFamilies,
|
||||
void GetCustomFontFamilies(std::vector<std::unique_ptr<FontFamily>>& fontFamilies,
|
||||
const SkString& basePath,
|
||||
+ const SkFontMgr_Android_CustomFonts* custom,
|
||||
const char* fontsXml,
|
||||
|
||||
@@ -88,7 +88,7 @@ diff --git a/third_party/blink/renderer/modules/webaudio/audio_buffer.h b/third_
|
||||
diff --git a/third_party/blink/renderer/modules/webaudio/audio_context.cc b/third_party/blink/renderer/modules/webaudio/audio_context.cc
|
||||
--- a/third_party/blink/renderer/modules/webaudio/audio_context.cc
|
||||
+++ b/third_party/blink/renderer/modules/webaudio/audio_context.cc
|
||||
@@ -16,6 +16,7 @@
|
||||
@@ -17,6 +17,7 @@
|
||||
#include "third_party/blink/public/common/features.h"
|
||||
#include "third_party/blink/public/common/mediastream/media_devices.h"
|
||||
#include "third_party/blink/public/platform/browser_interface_broker_proxy.h"
|
||||
@@ -96,7 +96,7 @@ diff --git a/third_party/blink/renderer/modules/webaudio/audio_context.cc b/thir
|
||||
#include "third_party/blink/public/platform/modules/webrtc/webrtc_logging.h"
|
||||
#include "third_party/blink/public/platform/web_audio_latency_hint.h"
|
||||
#include "third_party/blink/renderer/bindings/core/v8/script_promise_resolver.h"
|
||||
@@ -678,7 +679,9 @@ double AudioContext::baseLatency() const {
|
||||
@@ -850,7 +851,9 @@ double AudioContext::baseLatency() const {
|
||||
DCHECK_CALLED_ON_VALID_SEQUENCE(main_thread_sequence_checker_);
|
||||
DCHECK(destination());
|
||||
|
||||
@@ -118,7 +118,7 @@ diff --git a/third_party/blink/renderer/modules/webaudio/base_audio_context.cc b
|
||||
#include "third_party/blink/public/mojom/devtools/console_message.mojom-blink.h"
|
||||
#include "third_party/blink/public/mojom/frame/lifecycle.mojom-shared.h"
|
||||
#include "third_party/blink/public/platform/platform.h"
|
||||
@@ -710,6 +711,17 @@ LocalDOMWindow* BaseAudioContext::GetWindow() const {
|
||||
@@ -774,6 +775,17 @@ LocalDOMWindow* BaseAudioContext::GetWindow() const {
|
||||
return To<LocalDOMWindow>(GetExecutionContext());
|
||||
}
|
||||
|
||||
@@ -170,25 +170,18 @@ diff --git a/third_party/blink/renderer/modules/webaudio/realtime_analyser.cc b/
|
||||
#include "third_party/blink/renderer/platform/audio/audio_bus.h"
|
||||
#include "third_party/blink/renderer/platform/audio/audio_utilities.h"
|
||||
#include "third_party/blink/renderer/platform/audio/vector_math.h"
|
||||
@@ -156,6 +157,7 @@ void RealtimeAnalyser::GetFloatTimeDomainData(
|
||||
input_buffer[(i + write_index - fft_size + kInputBufferSize) %
|
||||
kInputBufferSize]);
|
||||
|
||||
+ value = BaseAudioContext::ShuffleAudioData(value, i);
|
||||
UNSAFE_TODO(destination[i]) = value;
|
||||
@@ -117,7 +118,8 @@ void RealtimeAnalyser::GetFloatFrequencyData(DOMFloat32Array* destination_array,
|
||||
for (unsigned i = 0; i < len; ++i) {
|
||||
const float linear_value = UNSAFE_TODO(source[i]);
|
||||
const double db_mag = audio_utilities::LinearToDecibels(linear_value);
|
||||
- UNSAFE_TODO(destination[i]) = static_cast<float>(db_mag);
|
||||
+ auto v = static_cast<float>(db_mag);
|
||||
+ UNSAFE_TODO(destination[i]) = BaseAudioContext::ShuffleAudioData(v, i);
|
||||
}
|
||||
}
|
||||
@@ -183,6 +185,8 @@ void RealtimeAnalyser::GetByteTimeDomainData(DOMUint8Array* destination_array) {
|
||||
input_buffer[(i + write_index - fft_size + kInputBufferSize) %
|
||||
kInputBufferSize]);
|
||||
|
||||
+ value = BaseAudioContext::ShuffleAudioData(value, i);
|
||||
+
|
||||
// Scale from nominal -1 -> +1 to unsigned byte.
|
||||
double scaled_value = 128 * (value + 1);
|
||||
|
||||
@@ -306,6 +310,8 @@ void RealtimeAnalyser::ConvertToByteData(DOMUint8Array* destination_array) {
|
||||
double scaled_value =
|
||||
}
|
||||
@@ -158,6 +160,8 @@ void RealtimeAnalyser::GetByteFrequencyData(DOMUint8Array* destination_array,
|
||||
const double scaled_value =
|
||||
UCHAR_MAX * (db_mag - min_decibels) * range_scale_factor;
|
||||
|
||||
+ scaled_value = BaseAudioContext::ShuffleAudioData(scaled_value, i);
|
||||
@@ -196,20 +189,27 @@ diff --git a/third_party/blink/renderer/modules/webaudio/realtime_analyser.cc b/
|
||||
// Clip to valid range.
|
||||
UNSAFE_TODO(destination[i]) =
|
||||
static_cast<unsigned char>(ClampTo(scaled_value, 0, UCHAR_MAX));
|
||||
@@ -324,7 +330,8 @@ void RealtimeAnalyser::ConvertFloatToDb(DOMFloat32Array* destination_array) {
|
||||
for (unsigned i = 0; i < len; ++i) {
|
||||
float linear_value = UNSAFE_TODO(source[i]);
|
||||
double db_mag = audio_utilities::LinearToDecibels(linear_value);
|
||||
- UNSAFE_TODO(destination[i]) = static_cast<float>(db_mag);
|
||||
+ auto v = static_cast<float>(db_mag);
|
||||
+ UNSAFE_TODO(destination[i]) = BaseAudioContext::ShuffleAudioData(v, i);
|
||||
@@ -188,6 +192,7 @@ void RealtimeAnalyser::GetFloatTimeDomainData(
|
||||
input_buffer[(i + write_index - fft_size + kInputBufferSize) %
|
||||
kInputBufferSize]);
|
||||
|
||||
+ value = BaseAudioContext::ShuffleAudioData(value, i);
|
||||
UNSAFE_TODO(destination[i]) = value;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -215,6 +220,8 @@ void RealtimeAnalyser::GetByteTimeDomainData(DOMUint8Array* destination_array) {
|
||||
input_buffer[(i + write_index - fft_size + kInputBufferSize) %
|
||||
kInputBufferSize]);
|
||||
|
||||
+ value = BaseAudioContext::ShuffleAudioData(value, i);
|
||||
+
|
||||
// Scale from nominal -1 -> +1 to unsigned byte.
|
||||
const double scaled_value = 128 * (value + 1);
|
||||
|
||||
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
|
||||
@@ -575,9 +575,8 @@
|
||||
@@ -594,9 +594,8 @@
|
||||
{
|
||||
// AudioContext.playoutStats interface.
|
||||
// https://chromestatus.com/feature/5172818344148992
|
||||
|
||||
@@ -109,9 +109,9 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/site_settings/C
|
||||
+import android.net.Uri;
|
||||
+
|
||||
/** A SiteSettingsDelegate instance that contains Chrome-specific Site Settings logic. */
|
||||
@NullMarked
|
||||
public class ChromeSiteSettingsDelegate implements SiteSettingsDelegate {
|
||||
private final Context mContext;
|
||||
@@ -247,7 +251,7 @@ public class ChromeSiteSettingsDelegate implements SiteSettingsDelegate {
|
||||
@@ -243,7 +247,7 @@ public class ChromeSiteSettingsDelegate implements SiteSettingsDelegate {
|
||||
|
||||
@Override
|
||||
public boolean isHelpAndFeedbackEnabled() {
|
||||
@@ -120,7 +120,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/site_settings/C
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -385,6 +389,17 @@ public class ChromeSiteSettingsDelegate implements SiteSettingsDelegate {
|
||||
@@ -381,6 +385,17 @@ public class ChromeSiteSettingsDelegate implements SiteSettingsDelegate {
|
||||
return mPrivacySandboxBridge.getRelatedWebsiteSetOwner(memberOrigin);
|
||||
}
|
||||
|
||||
@@ -141,7 +141,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/site_settings/C
|
||||
diff --git a/chrome/browser/content_settings/page_specific_content_settings_delegate.cc b/chrome/browser/content_settings/page_specific_content_settings_delegate.cc
|
||||
--- a/chrome/browser/content_settings/page_specific_content_settings_delegate.cc
|
||||
+++ b/chrome/browser/content_settings/page_specific_content_settings_delegate.cc
|
||||
@@ -190,7 +190,7 @@ namespace {
|
||||
@@ -191,7 +191,7 @@ namespace {
|
||||
void GetGuestViewDefaultContentSettingRules(
|
||||
bool incognito,
|
||||
RendererContentSettingRules* rules) {
|
||||
@@ -153,7 +153,7 @@ diff --git a/chrome/browser/content_settings/page_specific_content_settings_dele
|
||||
diff --git a/chrome/browser/resources/settings/BUILD.gn b/chrome/browser/resources/settings/BUILD.gn
|
||||
--- a/chrome/browser/resources/settings/BUILD.gn
|
||||
+++ b/chrome/browser/resources/settings/BUILD.gn
|
||||
@@ -312,6 +312,7 @@ build_webui("build") {
|
||||
@@ -319,6 +319,7 @@ build_webui("build") {
|
||||
"privacy_sandbox/privacy_sandbox_browser_proxy.ts",
|
||||
"relaunch_mixin.ts",
|
||||
"reset_page/reset_browser_proxy.ts",
|
||||
@@ -161,7 +161,7 @@ diff --git a/chrome/browser/resources/settings/BUILD.gn b/chrome/browser/resourc
|
||||
"route.ts",
|
||||
"router.ts",
|
||||
"safety_hub/safety_hub_browser_proxy.ts",
|
||||
@@ -326,7 +327,6 @@ build_webui("build") {
|
||||
@@ -333,7 +334,6 @@ build_webui("build") {
|
||||
"site_settings/constants.ts",
|
||||
"site_settings/site_settings_mixin.ts",
|
||||
"site_settings/site_settings_prefs_browser_proxy.ts",
|
||||
@@ -172,16 +172,16 @@ diff --git a/chrome/browser/resources/settings/BUILD.gn b/chrome/browser/resourc
|
||||
diff --git a/chrome/browser/resources/settings/privacy_page/privacy_page.html b/chrome/browser/resources/settings/privacy_page/privacy_page.html
|
||||
--- a/chrome/browser/resources/settings/privacy_page/privacy_page.html
|
||||
+++ b/chrome/browser/resources/settings/privacy_page/privacy_page.html
|
||||
@@ -1342,4 +1342,5 @@
|
||||
</settings-subpage>
|
||||
@@ -982,4 +982,5 @@
|
||||
</template>
|
||||
</template>
|
||||
</template>
|
||||
</if>
|
||||
+ <div id="bromite-placeholder"/>
|
||||
</settings-animated-pages>
|
||||
diff --git a/chrome/browser/resources/settings/privacy_page/privacy_page.ts b/chrome/browser/resources/settings/privacy_page/privacy_page.ts
|
||||
--- a/chrome/browser/resources/settings/privacy_page/privacy_page.ts
|
||||
+++ b/chrome/browser/resources/settings/privacy_page/privacy_page.ts
|
||||
@@ -55,6 +55,7 @@ import {SiteSettingsPrefsBrowserProxyImpl} from '../site_settings/site_settings_
|
||||
@@ -54,6 +54,7 @@ import {SiteSettingsPrefsBrowserProxyImpl} from '../site_settings/site_settings_
|
||||
|
||||
import {PrivacyGuideAvailabilityMixin} from './privacy_guide/privacy_guide_availability_mixin.js';
|
||||
import {getTemplate} from './privacy_page.html.js';
|
||||
@@ -189,7 +189,7 @@ diff --git a/chrome/browser/resources/settings/privacy_page/privacy_page.ts b/ch
|
||||
|
||||
interface BlockAutoplayStatus {
|
||||
enabled: boolean;
|
||||
@@ -78,8 +79,82 @@ export class SettingsPrivacyPageElement extends SettingsPrivacyPageElementBase {
|
||||
@@ -77,8 +78,82 @@ export class SettingsPrivacyPageElement extends SettingsPrivacyPageElementBase {
|
||||
return 'settings-privacy-page';
|
||||
}
|
||||
|
||||
@@ -284,9 +284,9 @@ diff --git a/chrome/browser/resources/settings/route.ts b/chrome/browser/resourc
|
||||
|
||||
/**
|
||||
* Add all of the child routes that originate from the privacy route,
|
||||
@@ -156,6 +157,7 @@ function addPrivacyChildRoutes(r: Partial<SettingsRoutes>) {
|
||||
r.SITE_SETTINGS_LOCAL_NETWORK_ACCESS =
|
||||
@@ -175,6 +176,7 @@ function addPrivacyChildRoutes(r: Partial<SettingsRoutes>) {
|
||||
r.SITE_SETTINGS.createChild('localNetworkAccess');
|
||||
r.SITE_SETTINGS_LOCAL_NETWORK_ACCESS.hasMigratedToPlugin = true;
|
||||
}
|
||||
+ setupContentSettingsRoutes(r);
|
||||
}
|
||||
@@ -391,7 +391,7 @@ diff --git a/chrome/browser/resources/settings/site_settings/settings_category_d
|
||||
diff --git a/chrome/browser/resources/settings/site_settings/site_details.html b/chrome/browser/resources/settings/site_settings/site_details.html
|
||||
--- a/chrome/browser/resources/settings/site_settings/site_details.html
|
||||
+++ b/chrome/browser/resources/settings/site_settings/site_details.html
|
||||
@@ -334,4 +334,5 @@
|
||||
@@ -331,4 +331,5 @@
|
||||
label="$i18n{siteSettingsLocalNetworkAccess}">
|
||||
</site-details-permission>
|
||||
</template>
|
||||
@@ -676,7 +676,7 @@ diff --git a/chrome/browser/resources/settings/site_settings/site_settings_util.
|
||||
diff --git a/chrome/browser/resources/settings/site_settings_page/site_settings_page.ts b/chrome/browser/resources/settings/site_settings_page/site_settings_page.ts
|
||||
--- a/chrome/browser/resources/settings/site_settings_page/site_settings_page.ts
|
||||
+++ b/chrome/browser/resources/settings/site_settings_page/site_settings_page.ts
|
||||
@@ -47,7 +47,7 @@ function getCategoryItemMap(): Map<ContentSettingsTypes, CategoryListItem> {
|
||||
@@ -50,7 +50,7 @@ function getCategoryItemMap(): Map<ContentSettingsTypes, CategoryListItem> {
|
||||
}
|
||||
// The following list is ordered alphabetically by |id|. The order in which
|
||||
// these appear in the UI is determined elsewhere in this file.
|
||||
@@ -685,7 +685,7 @@ diff --git a/chrome/browser/resources/settings/site_settings_page/site_settings_
|
||||
{
|
||||
route: routes.SITE_SETTINGS_ADS,
|
||||
id: Id.ADS,
|
||||
@@ -450,10 +450,36 @@ function getCategoryItemMap(): Map<ContentSettingsTypes, CategoryListItem> {
|
||||
@@ -451,10 +451,36 @@ function getCategoryItemMap(): Map<ContentSettingsTypes, CategoryListItem> {
|
||||
icon: 'privacy:cookie',
|
||||
},
|
||||
];
|
||||
@@ -722,7 +722,7 @@ diff --git a/chrome/browser/resources/settings/site_settings_page/site_settings_
|
||||
function buildItemListFromIds(orderedIdList: ContentSettingsTypes[]):
|
||||
CategoryListItem[] {
|
||||
const map = getCategoryItemMap();
|
||||
@@ -543,7 +569,7 @@ export class SettingsSiteSettingsPageElement extends
|
||||
@@ -545,7 +571,7 @@ export class SettingsSiteSettingsPageElement extends
|
||||
Id.IMAGES,
|
||||
Id.POPUPS,
|
||||
]),
|
||||
@@ -734,15 +734,15 @@ diff --git a/chrome/browser/resources/settings/site_settings_page/site_settings_
|
||||
diff --git a/chrome/browser/ui/BUILD.gn b/chrome/browser/ui/BUILD.gn
|
||||
--- a/chrome/browser/ui/BUILD.gn
|
||||
+++ b/chrome/browser/ui/BUILD.gn
|
||||
@@ -1634,6 +1634,7 @@ static_library("ui") {
|
||||
@@ -1542,6 +1542,7 @@ static_library("ui") {
|
||||
"//components/commerce/core/mojom:mojo_bindings",
|
||||
"//components/commerce/core/webui",
|
||||
"//components/endpoint_fetcher",
|
||||
+ "//components/content_settings/core/browser:browser",
|
||||
"//components/enterprise/common:files_scan_data",
|
||||
"//components/feedback/proto",
|
||||
"//components/headless/policy",
|
||||
@@ -4821,6 +4822,7 @@ static_library("ui") {
|
||||
"//components/headless/console_message_logger",
|
||||
@@ -4672,6 +4673,7 @@ static_library("ui") {
|
||||
"//components/power_bookmarks/core",
|
||||
"//components/power_bookmarks/storage",
|
||||
"//components/prefs",
|
||||
@@ -770,7 +770,7 @@ diff --git a/chrome/browser/ui/views/controls/rich_controls_container_view.h b/c
|
||||
diff --git a/chrome/browser/ui/views/page_info/page_info_bubble_view.cc b/chrome/browser/ui/views/page_info/page_info_bubble_view.cc
|
||||
--- a/chrome/browser/ui/views/page_info/page_info_bubble_view.cc
|
||||
+++ b/chrome/browser/ui/views/page_info/page_info_bubble_view.cc
|
||||
@@ -256,7 +256,7 @@ void PageInfoBubbleView::OpenMainPage(base::OnceClosure initialized_callback) {
|
||||
@@ -231,7 +231,7 @@ void PageInfoBubbleView::OpenMainPage(base::OnceClosure initialized_callback) {
|
||||
|
||||
auto* close_button = page_container_->GetViewByID(
|
||||
PageInfoViewFactory::VIEW_ID_PAGE_INFO_CLOSE_BUTTON);
|
||||
@@ -790,7 +790,7 @@ diff --git a/chrome/browser/ui/views/page_info/page_info_main_view.cc b/chrome/b
|
||||
#include "ui/views/view_class_properties.h"
|
||||
|
||||
#if BUILDFLAG(FULL_SAFE_BROWSING)
|
||||
@@ -282,8 +283,20 @@ void PageInfoMainView::SetPermissionInfo(
|
||||
@@ -284,8 +285,20 @@ void PageInfoMainView::SetPermissionInfo(
|
||||
scroll_view->SetDrawOverflowIndicator(false);
|
||||
auto* content_view =
|
||||
scroll_view->SetContents(std::make_unique<views::View>());
|
||||
@@ -813,7 +813,7 @@ diff --git a/chrome/browser/ui/views/page_info/page_info_main_view.cc b/chrome/b
|
||||
content_view->SetID(PageInfoViewFactory::VIEW_ID_PAGE_INFO_PERMISSION_VIEW);
|
||||
content_view->SetProperty(views::kElementIdentifierKey,
|
||||
kPermissionsElementId);
|
||||
@@ -298,11 +311,16 @@ void PageInfoMainView::SetPermissionInfo(
|
||||
@@ -300,11 +313,16 @@ void PageInfoMainView::SetPermissionInfo(
|
||||
}
|
||||
}
|
||||
|
||||
@@ -830,7 +830,7 @@ diff --git a/chrome/browser/ui/views/page_info/page_info_main_view.cc b/chrome/b
|
||||
toggle_row->SetProperty(views::kCrossAxisAlignmentKey,
|
||||
views::LayoutAlignment::kStretch);
|
||||
syncable_permission_rows_.emplace(permission.type, toggle_row);
|
||||
@@ -310,6 +328,8 @@ void PageInfoMainView::SetPermissionInfo(
|
||||
@@ -312,6 +330,8 @@ void PageInfoMainView::SetPermissionInfo(
|
||||
}
|
||||
|
||||
for (auto& object : chosen_object_info_list) {
|
||||
@@ -839,7 +839,7 @@ diff --git a/chrome/browser/ui/views/page_info/page_info_main_view.cc b/chrome/b
|
||||
// The view takes ownership of the object info.
|
||||
auto object_view = std::make_unique<ChosenObjectView>(
|
||||
std::move(object),
|
||||
@@ -320,6 +340,10 @@ void PageInfoMainView::SetPermissionInfo(
|
||||
@@ -322,6 +342,10 @@ void PageInfoMainView::SetPermissionInfo(
|
||||
content_view->AddChildView(std::move(object_view)));
|
||||
}
|
||||
|
||||
@@ -853,8 +853,8 @@ diff --git a/chrome/browser/ui/views/page_info/page_info_main_view.cc b/chrome/b
|
||||
diff --git a/chrome/browser/ui/views/page_info/page_info_view_factory.cc b/chrome/browser/ui/views/page_info/page_info_view_factory.cc
|
||||
--- a/chrome/browser/ui/views/page_info/page_info_view_factory.cc
|
||||
+++ b/chrome/browser/ui/views/page_info/page_info_view_factory.cc
|
||||
@@ -28,6 +28,8 @@
|
||||
#include "chrome/browser/ui/views/page_info/page_info_security_content_view.h"
|
||||
@@ -30,6 +30,8 @@
|
||||
#include "components/content_settings/core/common/content_settings.h"
|
||||
#include "components/content_settings/core/common/content_settings_types.h"
|
||||
#include "components/content_settings/core/common/cookie_controls_state.h"
|
||||
+#include "components/content_settings/core/browser/website_settings_info.h"
|
||||
@@ -862,22 +862,22 @@ diff --git a/chrome/browser/ui/views/page_info/page_info_view_factory.cc b/chrom
|
||||
#include "components/page_info/core/features.h"
|
||||
#include "components/page_info/core/proto/about_this_site_metadata.pb.h"
|
||||
#include "components/page_info/page_info.h"
|
||||
@@ -290,7 +292,14 @@ const ui::ImageModel PageInfoViewFactory::GetPermissionIcon(
|
||||
ContentSetting setting = info.setting == CONTENT_SETTING_DEFAULT
|
||||
? info.default_setting
|
||||
: info.setting;
|
||||
@@ -291,7 +293,14 @@ const ui::ImageModel PageInfoViewFactory::GetPermissionIcon(
|
||||
bool blocked_on_system_level) {
|
||||
PermissionSetting setting =
|
||||
permission.setting.value_or(permission.default_setting);
|
||||
+ return GetPermissionIcon(info, blocked_on_system_level, setting);
|
||||
+}
|
||||
|
||||
+// static
|
||||
+const ui::ImageModel PageInfoViewFactory::GetPermissionIcon(
|
||||
+ const PageInfo::PermissionInfo& info,
|
||||
+ const PageInfo::PermissionInfo& permission,
|
||||
+ bool blocked_on_system_level,
|
||||
+ ContentSetting setting) {
|
||||
auto* info = content_settings::PermissionSettingsRegistry::GetInstance()->Get(
|
||||
permission.type);
|
||||
// For guard content settings and Automatic Picture-in-Picture, ASK is treated
|
||||
// as an "on" state.
|
||||
const bool show_blocked_badge =
|
||||
@@ -591,6 +600,17 @@ const ui::ImageModel PageInfoViewFactory::GetPermissionIcon(
|
||||
@@ -595,6 +604,17 @@ const ui::ImageModel PageInfoViewFactory::GetPermissionIcon(
|
||||
icon = &vector_icons::kPrinterIcon;
|
||||
break;
|
||||
default:
|
||||
@@ -945,8 +945,8 @@ diff --git a/chrome/browser/ui/views/page_info/permission_toggle_row_view.cc b/c
|
||||
|
||||
namespace {
|
||||
|
||||
@@ -75,17 +100,12 @@ PermissionToggleRowView::PermissionToggleRowView(
|
||||
// instead of adding it as the only child.
|
||||
@@ -73,17 +98,12 @@ PermissionToggleRowView::PermissionToggleRowView(
|
||||
navigation_handler_(navigation_handler) {
|
||||
SetUseDefaultFillLayout(true);
|
||||
row_view_ = AddChildView(std::make_unique<RichControlsContainerView>());
|
||||
+ row_view_->SetCrossAxisAlignment(views::LayoutAlignment::kCenter);
|
||||
@@ -964,7 +964,7 @@ diff --git a/chrome/browser/ui/views/page_info/permission_toggle_row_view.cc b/c
|
||||
if (permission.requesting_origin.has_value()) {
|
||||
std::u16string requesting_origin_string;
|
||||
switch (permission.type) {
|
||||
@@ -183,6 +203,90 @@ void PermissionToggleRowView::UpdatePermission(
|
||||
@@ -181,6 +201,90 @@ void PermissionToggleRowView::UpdatePermission(
|
||||
UpdateUiOnPermissionChanged();
|
||||
}
|
||||
|
||||
@@ -1055,7 +1055,7 @@ diff --git a/chrome/browser/ui/views/page_info/permission_toggle_row_view.cc b/c
|
||||
void PermissionToggleRowView::OnToggleButtonPressed() {
|
||||
PageInfoUI::ToggleBetweenAllowAndBlock(permission_);
|
||||
PermissionChanged();
|
||||
@@ -191,27 +295,19 @@ void PermissionToggleRowView::OnToggleButtonPressed() {
|
||||
@@ -189,27 +293,19 @@ void PermissionToggleRowView::OnToggleButtonPressed() {
|
||||
void PermissionToggleRowView::AddToggleButton(
|
||||
const std::u16string& toggle_accessible_name,
|
||||
int icon_label_spacing) {
|
||||
@@ -1090,7 +1090,7 @@ diff --git a/chrome/browser/ui/views/page_info/permission_toggle_row_view.cc b/c
|
||||
}
|
||||
|
||||
void PermissionToggleRowView::InitForUserSource(
|
||||
@@ -253,12 +349,6 @@ void PermissionToggleRowView::InitForUserSource(
|
||||
@@ -251,12 +347,6 @@ void PermissionToggleRowView::InitForUserSource(
|
||||
auto spacer_view = std::make_unique<views::View>();
|
||||
spacer_view->SetPreferredSize(gfx::Size(icon_size, icon_size));
|
||||
spacer_view_ = row_view_->AddControl(std::move(spacer_view));
|
||||
@@ -1103,7 +1103,7 @@ diff --git a/chrome/browser/ui/views/page_info/permission_toggle_row_view.cc b/c
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -284,6 +374,14 @@ void PermissionToggleRowView::InitForManagedSource(
|
||||
@@ -282,6 +372,14 @@ void PermissionToggleRowView::InitForManagedSource(
|
||||
}
|
||||
|
||||
void PermissionToggleRowView::UpdateUiOnPermissionChanged() {
|
||||
@@ -1116,9 +1116,9 @@ diff --git a/chrome/browser/ui/views/page_info/permission_toggle_row_view.cc b/c
|
||||
+ }
|
||||
+
|
||||
if (blocked_on_system_level_label_) {
|
||||
if (permission_.setting == CONTENT_SETTING_DEFAULT) {
|
||||
if (!permission_.setting) {
|
||||
permission_blocked_on_system_level_ = false;
|
||||
@@ -329,6 +427,37 @@ void PermissionToggleRowView::UpdateUiOnPermissionChanged() {
|
||||
@@ -326,6 +424,37 @@ void PermissionToggleRowView::UpdateUiOnPermissionChanged() {
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1226,7 +1226,7 @@ diff --git a/chrome/browser/ui/webui/settings/settings_localized_strings_provide
|
||||
#include "components/password_manager/core/browser/leak_detection_dialog_utils.h"
|
||||
#include "components/password_manager/core/browser/manage_passwords_referrer.h"
|
||||
#include "components/password_manager/core/common/password_manager_features.h"
|
||||
@@ -3912,6 +3916,56 @@ void AddLocalizedStrings(content::WebUIDataSource* html_source,
|
||||
@@ -3855,6 +3859,56 @@ void AddLocalizedStrings(content::WebUIDataSource* html_source,
|
||||
policy_indicator::AddLocalizedStrings(html_source);
|
||||
AddSecurityKeysStrings(html_source);
|
||||
|
||||
@@ -1381,7 +1381,7 @@ diff --git a/chrome/browser/ui/webui/settings/site_settings_helper.cc b/chrome/b
|
||||
diff --git a/components/browser_ui/settings/android/BUILD.gn b/components/browser_ui/settings/android/BUILD.gn
|
||||
--- a/components/browser_ui/settings/android/BUILD.gn
|
||||
+++ b/components/browser_ui/settings/android/BUILD.gn
|
||||
@@ -88,6 +88,7 @@ android_resources("java_resources") {
|
||||
@@ -92,6 +92,7 @@ android_resources("java_resources") {
|
||||
"java/res/layout/managed_disclaimer_preference_for_radio_groups.xml",
|
||||
"java/res/layout/preference_chrome_image_view.xml",
|
||||
"java/res/layout/preference_spinner.xml",
|
||||
@@ -1544,7 +1544,7 @@ diff --git a/components/browser_ui/settings/android/widget/java/src/org/chromium
|
||||
diff --git a/components/browser_ui/site_settings/android/BUILD.gn b/components/browser_ui/site_settings/android/BUILD.gn
|
||||
--- a/components/browser_ui/site_settings/android/BUILD.gn
|
||||
+++ b/components/browser_ui/site_settings/android/BUILD.gn
|
||||
@@ -156,6 +156,23 @@ android_library("java") {
|
||||
@@ -153,6 +153,23 @@ android_library("java") {
|
||||
":site_settings_jni_headers",
|
||||
"//components/content_settings/android:java_pref_names_srcjar",
|
||||
]
|
||||
@@ -1568,7 +1568,7 @@ diff --git a/components/browser_ui/site_settings/android/BUILD.gn b/components/b
|
||||
}
|
||||
|
||||
android_library("javatests") {
|
||||
@@ -205,6 +222,7 @@ robolectric_library("junit") {
|
||||
@@ -202,6 +219,7 @@ robolectric_library("junit") {
|
||||
}
|
||||
|
||||
android_resources("java_resources") {
|
||||
@@ -1579,7 +1579,7 @@ diff --git a/components/browser_ui/site_settings/android/BUILD.gn b/components/b
|
||||
diff --git a/components/browser_ui/site_settings/android/java/res/xml/site_settings_preferences.xml b/components/browser_ui/site_settings/android/java/res/xml/site_settings_preferences.xml
|
||||
--- a/components/browser_ui/site_settings/android/java/res/xml/site_settings_preferences.xml
|
||||
+++ b/components/browser_ui/site_settings/android/java/res/xml/site_settings_preferences.xml
|
||||
@@ -193,4 +193,11 @@ The order of the following items is from: http://crbug.com/610358.
|
||||
@@ -197,4 +197,11 @@ The order of the following items is from: http://crbug.com/610358.
|
||||
android:title="@string/safety_hub_autorevocation_toggle_title"
|
||||
android:summary="@string/safety_hub_autorevocation_toggle_summary" />
|
||||
|
||||
@@ -2260,7 +2260,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
|
||||
+ public ResourceItem(
|
||||
int icon,
|
||||
int title,
|
||||
@ContentSettingValues @Nullable Integer defaultEnabledValue,
|
||||
@ContentSetting @Nullable Integer defaultEnabledValue,
|
||||
@@ -662,6 +683,8 @@ public class ContentSettingsResources {
|
||||
R.string.website_settings_window_management_ask,
|
||||
R.string.website_settings_window_management_block);
|
||||
@@ -2270,8 +2270,8 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
|
||||
assert false; // NOTREACHED
|
||||
return assumeNonNull(null);
|
||||
}
|
||||
@@ -820,6 +843,14 @@ public class ContentSettingsResources {
|
||||
return getResourceItem(contentType).getDefaultDisabledValue();
|
||||
@@ -824,6 +847,14 @@ public class ContentSettingsResources {
|
||||
return getCategorySummary(value, isOneTime, /* isApproximateGeolocation= */ false);
|
||||
}
|
||||
|
||||
+ public static int getCategorySummary(int contentType,
|
||||
@@ -2285,7 +2285,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
|
||||
/**
|
||||
* Returns the string resource id for a given ContentSetting to show with a permission category.
|
||||
*
|
||||
@@ -994,6 +1025,8 @@ public class ContentSettingsResources {
|
||||
@@ -1002,6 +1033,8 @@ public class ContentSettingsResources {
|
||||
*/
|
||||
public static int @Nullable [] getTriStateSettingDescriptionIDs(
|
||||
int contentType, boolean isPermissionSiteSettingsRadioButtonFeatureEnabled) {
|
||||
@@ -2297,18 +2297,18 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
|
||||
diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleCategorySettings.java b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleCategorySettings.java
|
||||
--- a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleCategorySettings.java
|
||||
+++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleCategorySettings.java
|
||||
@@ -344,6 +344,10 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
|
||||
website.site()
|
||||
.getContentSetting(
|
||||
browserContextHandle, mCategory.getContentSettingsType());
|
||||
+ if (contentSetting != null &&
|
||||
+ BromiteCustomContentSettingImpl.processOnBlockList(contentSetting, contentSetting)) {
|
||||
+ return BromiteCustomContentSettingImpl.isOnBlockList(contentSetting, website, contentSetting);
|
||||
+ }
|
||||
if (contentSetting != null) {
|
||||
return ContentSettingValues.BLOCK == contentSetting;
|
||||
}
|
||||
@@ -532,6 +536,7 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
|
||||
@@ -349,6 +349,10 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
|
||||
} else {
|
||||
@ContentSetting
|
||||
Integer contentSetting = website.site().getContentSetting(browserContextHandle, type);
|
||||
+ if (contentSetting != null &&
|
||||
+ BromiteCustomContentSettingImpl.processOnBlockList(type, contentSetting)) {
|
||||
+ return BromiteCustomContentSettingImpl.isOnBlockList(type, website, contentSetting);
|
||||
+ }
|
||||
if (contentSetting != null) {
|
||||
return ContentSetting.BLOCK == contentSetting;
|
||||
}
|
||||
@@ -540,6 +544,7 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
|
||||
? new HashSet<>(getArguments().getStringArrayList(EXTRA_SELECTED_DOMAINS))
|
||||
: null;
|
||||
|
||||
@@ -2316,7 +2316,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
|
||||
configureGlobalToggles();
|
||||
if (mCategory.getType() == SiteSettingsCategory.Type.REQUEST_DESKTOP_SITE) {
|
||||
RecordUserAction.record("DesktopSiteContentSetting.SettingsPage.Entered");
|
||||
@@ -567,7 +572,8 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
|
||||
@@ -575,7 +580,8 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
|
||||
if (queryHasChanged) getInfoForOrigins();
|
||||
});
|
||||
|
||||
@@ -2326,7 +2326,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
|
||||
MenuItem help =
|
||||
menu.add(
|
||||
Menu.NONE,
|
||||
@@ -579,12 +585,20 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
|
||||
@@ -587,12 +593,20 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
|
||||
getResources(),
|
||||
R.drawable.ic_help_and_feedback,
|
||||
getContext().getTheme()));
|
||||
@@ -2347,9 +2347,9 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
|
||||
if (mCategory.getType() == SiteSettingsCategory.Type.PROTECTED_MEDIA) {
|
||||
getSiteSettingsDelegate()
|
||||
.launchProtectedContentHelpAndFeedbackActivity(getActivity());
|
||||
@@ -664,6 +678,11 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
|
||||
BrowserContextHandle browserContextHandle =
|
||||
getSiteSettingsDelegate().getBrowserContextHandle();
|
||||
@@ -671,6 +685,11 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
|
||||
public boolean onPreferenceChange(Preference preference, Object newValue) {
|
||||
BrowserContextHandle browserContextHandle = getBrowserContextHandle();
|
||||
PrefService prefService = UserPrefs.get(browserContextHandle);
|
||||
+ if (BromiteCustomContentSettingImpl.onPreferenceChange(mCategory,
|
||||
+ browserContextHandle, preference, newValue) == true) {
|
||||
@@ -2359,7 +2359,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
|
||||
if (BINARY_RADIO_BUTTON_KEY.equals(preference.getKey())
|
||||
|| BINARY_TOGGLE_KEY.equals(preference.getKey())) {
|
||||
assert !mCategory.isManaged();
|
||||
@@ -842,7 +861,7 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
|
||||
@@ -845,7 +864,7 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
|
||||
? R.string.website_settings_add_site_description_javascript_optimizer_block
|
||||
: R.string.website_settings_add_site_description_javascript_optimizer_allow;
|
||||
}
|
||||
@@ -2412,10 +2412,10 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
|
||||
TriStateSiteSettingsPreference triStateToggle =
|
||||
getPreferenceScreen().findPreference(TRI_STATE_TOGGLE_KEY);
|
||||
+ if (triStateToggle == null) return true;
|
||||
return (triStateToggle.getCheckedSetting() == ContentSettingValues.BLOCK);
|
||||
return (triStateToggle.getCheckedSetting() == ContentSetting.BLOCK);
|
||||
case GlobalToggleLayout.TRI_STATE_COOKIE_TOGGLE:
|
||||
TriStateCookieSettingsPreference triStateCookieToggle =
|
||||
@@ -1320,7 +1345,11 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
|
||||
@@ -1322,7 +1347,11 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
|
||||
} else if (res_id != -1) {
|
||||
infoText.setSummary(res_id);
|
||||
} else {
|
||||
@@ -2428,7 +2428,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
|
||||
}
|
||||
|
||||
// Hide the anti-abuse text preferences, as needed.
|
||||
@@ -1359,6 +1388,7 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
|
||||
@@ -1361,6 +1390,7 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
|
||||
} else {
|
||||
screen.removePreference(mLocationTriStatePref);
|
||||
}
|
||||
@@ -2436,7 +2436,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
|
||||
|
||||
maybeShowReasonToggleDisabled(screen);
|
||||
|
||||
@@ -1571,6 +1601,7 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
|
||||
@@ -1569,6 +1599,7 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
|
||||
iconIds = ContentSettingsResources.getTriStateSettingIconIDs(contentType);
|
||||
}
|
||||
triStateToggle.initialize(
|
||||
@@ -2444,9 +2444,9 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
|
||||
setting,
|
||||
descriptionIds,
|
||||
iconIds,
|
||||
@@ -1730,6 +1761,14 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
|
||||
@ContentSettingValues
|
||||
Integer value = site.getContentSetting(browserContextHandle, contentSettingsType);
|
||||
@@ -1743,6 +1774,14 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
|
||||
value = site.getContentSetting(browserContextHandle, contentSettingsType);
|
||||
}
|
||||
|
||||
+ AlertDialog.Builder alertDialogBuilder =
|
||||
+ BromiteCustomContentSettingImpl.buildPreferenceDialog(site, contentSettingsType,
|
||||
@@ -2462,7 +2462,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
|
||||
diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleWebsiteSettings.java b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleWebsiteSettings.java
|
||||
--- a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleWebsiteSettings.java
|
||||
+++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleWebsiteSettings.java
|
||||
@@ -59,6 +59,7 @@ import java.util.Collection;
|
||||
@@ -56,6 +56,7 @@ import java.util.Collection;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
@@ -2470,7 +2470,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
|
||||
|
||||
/** Shows the permissions and other settings for a particular website. */
|
||||
@NullMarked
|
||||
@@ -192,7 +193,7 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment
|
||||
@@ -196,7 +197,7 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment
|
||||
case ContentSettingsType.WINDOW_MANAGEMENT:
|
||||
return "window_management_permission_list";
|
||||
default:
|
||||
@@ -2479,7 +2479,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
|
||||
}
|
||||
}
|
||||
|
||||
@@ -598,14 +599,27 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment
|
||||
@@ -596,14 +597,27 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment
|
||||
private void setupContentSettingsPreferences() {
|
||||
Preference permissionsHeaderPref = findPreference(PREF_PERMISSIONS_HEADER);
|
||||
mMaxPermissionOrder = permissionsHeaderPref.getOrder();
|
||||
@@ -2508,8 +2508,8 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
|
||||
preference.setKey(getPreferenceKey(type));
|
||||
|
||||
if (type == ContentSettingsType.ADS) {
|
||||
@@ -1290,7 +1304,16 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment
|
||||
@ContentSettingValues @Nullable Integer value,
|
||||
@@ -1199,7 +1213,16 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment
|
||||
@ContentSetting @Nullable Integer value,
|
||||
boolean isEmbargoed,
|
||||
boolean isOneTime) {
|
||||
- if (value == null) return;
|
||||
@@ -2526,16 +2526,16 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
|
||||
setUpPreferenceCommon(preference, value);
|
||||
preference.setOnPreferenceChangeListener(this);
|
||||
@ContentSettingsType.EnumType
|
||||
@@ -1298,7 +1321,7 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment
|
||||
preference.setSummary(
|
||||
@@ -1211,7 +1234,7 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment
|
||||
isEmbargoed
|
||||
? getString(R.string.automatically_blocked)
|
||||
- : getString(ContentSettingsResources.getCategorySummary(value, isOneTime)));
|
||||
+ : getString(ContentSettingsResources.getCategorySummary(content_type, value, isOneTime)));
|
||||
: getString(
|
||||
- ContentSettingsResources.getCategorySummary(
|
||||
+ ContentSettingsResources.getCategorySummary(content_type,
|
||||
value, isOneTime, isApproximateGeolocation)));
|
||||
if (preference instanceof ChromeImageViewPreference) {
|
||||
ChromeImageViewPreference oneTimePreference = (ChromeImageViewPreference) preference;
|
||||
oneTimePreference.setImageView(
|
||||
@@ -1313,10 +1336,14 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment
|
||||
@@ -1237,10 +1260,14 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment
|
||||
oneTimePreference.setBackgroundColor(mHighlightColor);
|
||||
}
|
||||
} else {
|
||||
@@ -2554,9 +2554,9 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
|
||||
AppCompatResources.getColorStateList(getContext(), mHighlightColor)
|
||||
.getDefaultColor());
|
||||
}
|
||||
@@ -1542,14 +1569,20 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment
|
||||
@@ -1532,7 +1559,13 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment
|
||||
if (newValue instanceof Boolean) {
|
||||
permission = (Boolean) newValue ? getEnabledValue(type) : ContentSettingValues.BLOCK;
|
||||
permission = (Boolean) newValue ? getEnabledValue(type) : ContentSetting.BLOCK;
|
||||
} else {
|
||||
- permission = (Integer) newValue;
|
||||
+ Integer newPermission =
|
||||
@@ -2568,19 +2568,20 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
|
||||
+ permission = (Integer) newValue;
|
||||
}
|
||||
|
||||
assumeNonNull(mSite).setContentSetting(browserContextHandle, type, permission);
|
||||
// In Clank, one time grants are only possible via prompt, not via page
|
||||
if (type == ContentSettingsType.GEOLOCATION_WITH_OPTIONS) {
|
||||
@@ -1553,7 +1586,7 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment
|
||||
// info.
|
||||
preference.setSummary(
|
||||
- getString(ContentSettingsResources.getCategorySummary(permission, false)));
|
||||
+ getString(ContentSettingsResources.getCategorySummary(type, permission, false)));
|
||||
preference.setIcon(getContentSettingsIcon(type, permission));
|
||||
|
||||
if (mWebsiteSettingsObserver != null) {
|
||||
getString(
|
||||
- ContentSettingsResources.getCategorySummary(
|
||||
+ ContentSettingsResources.getCategorySummary(type,
|
||||
permission,
|
||||
false,
|
||||
type == ContentSettingsType.GEOLOCATION_WITH_OPTIONS
|
||||
diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SiteSettings.java b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SiteSettings.java
|
||||
--- a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SiteSettings.java
|
||||
+++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SiteSettings.java
|
||||
@@ -57,6 +57,7 @@ public class SiteSettings extends BaseSiteSettingsFragment
|
||||
@@ -55,6 +55,7 @@ public class SiteSettings extends BaseSiteSettingsFragment
|
||||
SettingsUtils.addPreferencesFromResource(this, R.xml.site_settings_preferences);
|
||||
mPageTitle.set(getContext().getString(R.string.prefs_site_settings));
|
||||
|
||||
@@ -2588,7 +2589,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
|
||||
configurePreferences();
|
||||
updatePreferenceStates();
|
||||
}
|
||||
@@ -87,7 +88,7 @@ public class SiteSettings extends BaseSiteSettingsFragment
|
||||
@@ -85,7 +86,7 @@ public class SiteSettings extends BaseSiteSettingsFragment
|
||||
|
||||
// Remove unsupported settings categories.
|
||||
for (@SiteSettingsCategory.Type int type = 0;
|
||||
@@ -2597,7 +2598,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
|
||||
type++) {
|
||||
if (!getSiteSettingsDelegate().isCategoryVisible(type)) {
|
||||
Preference pref = findPreference(type);
|
||||
@@ -113,7 +114,7 @@ public class SiteSettings extends BaseSiteSettingsFragment
|
||||
@@ -102,7 +103,7 @@ public class SiteSettings extends BaseSiteSettingsFragment
|
||||
@CookieControlsMode
|
||||
int cookieControlsMode =
|
||||
UserPrefs.get(browserContextHandle).getInteger(COOKIE_CONTROLS_MODE);
|
||||
@@ -2606,7 +2607,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
|
||||
Preference p = findPreference(prefCategory);
|
||||
int contentType = SiteSettingsCategory.contentSettingsType(prefCategory);
|
||||
// p can be null if the Preference was removed in configurePreferences.
|
||||
@@ -191,20 +192,22 @@ public class SiteSettings extends BaseSiteSettingsFragment
|
||||
@@ -176,20 +177,22 @@ public class SiteSettings extends BaseSiteSettingsFragment
|
||||
} else if (Type.ZOOM == prefCategory) {
|
||||
// Don't want to set a summary for Zoom because we don't want any message to display
|
||||
// under the Zoom row on site settings.
|
||||
@@ -2615,7 +2616,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
|
||||
- ContentSettingsResources.getCategorySummary(
|
||||
- setting, /* isOneTime= */ false));
|
||||
} else {
|
||||
- @ContentSettingValues
|
||||
- @ContentSetting
|
||||
- Integer defaultForToggle =
|
||||
- checked
|
||||
- ? ContentSettingsResources.getDefaultEnabledValue(contentType)
|
||||
@@ -2629,7 +2630,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
|
||||
+ if (summary != 0) {
|
||||
+ p.setSummary(summary);
|
||||
+ } else {
|
||||
+ @ContentSettingValues
|
||||
+ @ContentSetting
|
||||
+ Integer defaultForToggle =
|
||||
+ checked
|
||||
+ ? ContentSettingsResources.getDefaultEnabledValue(contentType)
|
||||
@@ -2645,25 +2646,25 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
|
||||
diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SiteSettingsCategory.java b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SiteSettingsCategory.java
|
||||
--- a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SiteSettingsCategory.java
|
||||
+++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SiteSettingsCategory.java
|
||||
@@ -80,7 +80,7 @@ public class SiteSettingsCategory {
|
||||
Type.SERIAL_PORT,
|
||||
@@ -82,7 +82,7 @@ public class SiteSettingsCategory {
|
||||
Type.LOCAL_NETWORK_ACCESS,
|
||||
Type.WINDOW_MANAGEMENT,
|
||||
Type.AUTO_PICTURE_IN_PICTURE,
|
||||
- Type.NUM_ENTRIES
|
||||
+ Type.NUM_ENTRIES_CHROMIUM
|
||||
})
|
||||
@Retention(RetentionPolicy.SOURCE)
|
||||
public @interface Type {
|
||||
@@ -125,7 +125,7 @@ public class SiteSettingsCategory {
|
||||
int WINDOW_MANAGEMENT = 36;
|
||||
@@ -128,7 +128,7 @@ public class SiteSettingsCategory {
|
||||
int AUTO_PICTURE_IN_PICTURE = 37;
|
||||
|
||||
/** Number of handled categories used for calculating array sizes. */
|
||||
- int NUM_ENTRIES = 37;
|
||||
+ int NUM_ENTRIES_CHROMIUM = 37;
|
||||
- int NUM_ENTRIES = 38;
|
||||
+ int NUM_ENTRIES_CHROMIUM = 38;
|
||||
}
|
||||
|
||||
private final BrowserContextHandle mBrowserContextHandle;
|
||||
@@ -176,6 +176,9 @@ public class SiteSettingsCategory {
|
||||
@@ -179,6 +179,9 @@ public class SiteSettingsCategory {
|
||||
} else {
|
||||
permission = "";
|
||||
}
|
||||
@@ -2673,7 +2674,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
|
||||
return new SiteSettingsCategory(browserContextHandle, type, permission);
|
||||
}
|
||||
|
||||
@@ -184,7 +187,7 @@ public class SiteSettingsCategory {
|
||||
@@ -187,7 +190,7 @@ public class SiteSettingsCategory {
|
||||
@ContentSettingsType.EnumType int contentSettingsType) {
|
||||
assert contentSettingsType != -1;
|
||||
assert Type.ALL_SITES == 0;
|
||||
@@ -2682,7 +2683,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
|
||||
if (contentSettingsType(i) == contentSettingsType) {
|
||||
return createFromType(browserContextHandle, i);
|
||||
}
|
||||
@@ -195,7 +198,7 @@ public class SiteSettingsCategory {
|
||||
@@ -198,7 +201,7 @@ public class SiteSettingsCategory {
|
||||
public static @Nullable SiteSettingsCategory createFromPreferenceKey(
|
||||
BrowserContextHandle browserContextHandle, String preferenceKey) {
|
||||
assert Type.ALL_SITES == 0;
|
||||
@@ -2691,7 +2692,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
|
||||
if (preferenceKey(i).equals(preferenceKey)) {
|
||||
return createFromType(browserContextHandle, i);
|
||||
}
|
||||
@@ -278,8 +281,7 @@ public class SiteSettingsCategory {
|
||||
@@ -283,8 +286,7 @@ public class SiteSettingsCategory {
|
||||
case Type.TRACKING_PROTECTION:
|
||||
return ContentSettingsType.DEFAULT; // Conversion unavailable.
|
||||
}
|
||||
@@ -2701,7 +2702,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -378,8 +380,12 @@ public class SiteSettingsCategory {
|
||||
@@ -385,8 +387,12 @@ public class SiteSettingsCategory {
|
||||
case Type.ZOOM:
|
||||
return "zoom";
|
||||
default:
|
||||
@@ -2717,7 +2718,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
|
||||
diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SiteSettingsDelegate.java b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SiteSettingsDelegate.java
|
||||
--- a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SiteSettingsDelegate.java
|
||||
+++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SiteSettingsDelegate.java
|
||||
@@ -208,6 +208,8 @@ public interface SiteSettingsDelegate {
|
||||
@@ -203,6 +203,8 @@ public interface SiteSettingsDelegate {
|
||||
*/
|
||||
String getRelatedWebsiteSetOwner(String memberOrigin);
|
||||
|
||||
@@ -2732,7 +2733,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
|
||||
@@ -16,6 +16,7 @@ import org.chromium.build.annotations.NullMarked;
|
||||
import org.chromium.build.annotations.Nullable;
|
||||
import org.chromium.components.browser_ui.widget.RadioButtonWithDescription;
|
||||
import org.chromium.components.content_settings.ContentSettingValues;
|
||||
import org.chromium.components.content_settings.ContentSetting;
|
||||
+import org.chromium.components.content_settings.ContentSettingsType;
|
||||
|
||||
/** A 3-state Allowed/Ask/Blocked radio group Preference used for SiteSettings. */
|
||||
@@ -2750,7 +2751,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
|
||||
*/
|
||||
public void initialize(
|
||||
+ @ContentSettingsType.EnumType int contentType,
|
||||
@ContentSettingValues int setting,
|
||||
@ContentSetting int setting,
|
||||
int @Nullable [] descriptionIds,
|
||||
int @Nullable [] iconIds,
|
||||
boolean isPermissionSiteSettingsRadioButtonFeatureEnabled,
|
||||
@@ -2759,7 +2760,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
|
||||
mSetting = setting;
|
||||
mDescriptionIds = descriptionIds;
|
||||
mIconIds = iconIds;
|
||||
@@ -92,6 +96,13 @@ public class TriStateSiteSettingsPreference extends Preference
|
||||
@@ -94,6 +98,13 @@ public class TriStateSiteSettingsPreference extends Preference
|
||||
mRadioGroup = (RadioGroup) holder.findViewById(R.id.radio_button_layout);
|
||||
mRadioGroup.setOnCheckedChangeListener(this);
|
||||
|
||||
@@ -2776,7 +2777,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
|
||||
diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/Website.java b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/Website.java
|
||||
--- a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/Website.java
|
||||
+++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/Website.java
|
||||
@@ -344,7 +344,11 @@ public final class Website implements WebsiteEntry {
|
||||
@@ -361,7 +361,11 @@ public final class Website implements WebsiteEntry {
|
||||
RecordUserAction.record("SoundContentSetting.UnmuteBy.SiteSettings");
|
||||
}
|
||||
}
|
||||
@@ -2792,7 +2793,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
|
||||
diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/WebsitePermissionsFetcher.java b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/WebsitePermissionsFetcher.java
|
||||
--- a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/WebsitePermissionsFetcher.java
|
||||
+++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/WebsitePermissionsFetcher.java
|
||||
@@ -124,7 +124,7 @@ public class WebsitePermissionsFetcher {
|
||||
@@ -128,7 +128,7 @@ public class WebsitePermissionsFetcher {
|
||||
}
|
||||
break;
|
||||
default:
|
||||
@@ -2804,7 +2805,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
|
||||
diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/WebsitePreferenceBridge.java b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/WebsitePreferenceBridge.java
|
||||
--- a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/WebsitePreferenceBridge.java
|
||||
+++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/WebsitePreferenceBridge.java
|
||||
@@ -317,7 +317,7 @@ public class WebsitePreferenceBridge {
|
||||
@@ -318,7 +318,7 @@ public class WebsitePreferenceBridge {
|
||||
case ContentSettingsType.PROTECTED_MEDIA_IDENTIFIER:
|
||||
return true;
|
||||
default:
|
||||
@@ -2813,7 +2814,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
|
||||
}
|
||||
}
|
||||
|
||||
@@ -333,7 +333,6 @@ public class WebsitePreferenceBridge {
|
||||
@@ -334,7 +334,6 @@ public class WebsitePreferenceBridge {
|
||||
public static boolean isCategoryEnabled(
|
||||
BrowserContextHandle browserContextHandle,
|
||||
@ContentSettingsType.EnumType int contentSettingsType) {
|
||||
@@ -2931,7 +2932,7 @@ diff --git a/components/content_settings/core/browser/content_settings_registry.
|
||||
|
||||
namespace content_settings {
|
||||
|
||||
@@ -872,6 +873,7 @@ void ContentSettingsRegistry::Init() {
|
||||
@@ -879,6 +880,7 @@ void ContentSettingsRegistry::Init() {
|
||||
WebsiteSettingsRegistry::PLATFORM_CHROMEOS,
|
||||
ContentSettingsInfo::INHERIT_IN_INCOGNITO,
|
||||
PermissionSettingsInfo::EXCEPTIONS_ON_SECURE_ORIGINS_ONLY);
|
||||
@@ -3165,7 +3166,7 @@ diff --git a/components/content_settings/core/common/content_settings.cc b/compo
|
||||
diff --git a/components/content_settings/core/common/content_settings.h b/components/content_settings/core/common/content_settings.h
|
||||
--- a/components/content_settings/core/common/content_settings.h
|
||||
+++ b/components/content_settings/core/common/content_settings.h
|
||||
@@ -100,10 +100,22 @@ std::ostream& operator<<(std::ostream& os,
|
||||
@@ -98,10 +98,22 @@ std::ostream& operator<<(std::ostream& os,
|
||||
|
||||
typedef std::vector<ContentSettingPatternSource> ContentSettingsForOneType;
|
||||
|
||||
@@ -3398,7 +3399,7 @@ diff --git a/components/content_settings/renderer/content_settings_agent_impl.h
|
||||
diff --git a/components/page_info/android/java/src/org/chromium/components/page_info/PageInfoPermissionsController.java b/components/page_info/android/java/src/org/chromium/components/page_info/PageInfoPermissionsController.java
|
||||
--- a/components/page_info/android/java/src/org/chromium/components/page_info/PageInfoPermissionsController.java
|
||||
+++ b/components/page_info/android/java/src/org/chromium/components/page_info/PageInfoPermissionsController.java
|
||||
@@ -193,6 +193,15 @@ public class PageInfoPermissionsController extends PageInfoPreferenceSubpageCont
|
||||
@@ -203,6 +203,15 @@ public class PageInfoPermissionsController extends PageInfoPreferenceSubpageCont
|
||||
: perm1.nameMidSentence.toString());
|
||||
}
|
||||
|
||||
@@ -3417,10 +3418,10 @@ diff --git a/components/page_info/android/java/src/org/chromium/components/page_
|
||||
diff --git a/components/page_info/android/java/src/org/chromium/components/page_info/PermissionParamsListBuilder.java b/components/page_info/android/java/src/org/chromium/components/page_info/PermissionParamsListBuilder.java
|
||||
--- a/components/page_info/android/java/src/org/chromium/components/page_info/PermissionParamsListBuilder.java
|
||||
+++ b/components/page_info/android/java/src/org/chromium/components/page_info/PermissionParamsListBuilder.java
|
||||
@@ -109,6 +109,14 @@ public class PermissionParamsListBuilder {
|
||||
@@ -100,6 +100,14 @@ public class PermissionParamsListBuilder {
|
||||
nameStringMidSentence.setSpan(
|
||||
span, 0, nameStringMidSentence.length(), Spannable.SPAN_INCLUSIVE_EXCLUSIVE);
|
||||
|
||||
boolean allowed = permission.setting != ContentSettingValues.BLOCK;
|
||||
+ if (permission.setting == ContentSettingValues.ASK) {
|
||||
+ allowed = false;
|
||||
+ }
|
||||
@@ -3435,15 +3436,15 @@ 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
|
||||
@@ -14,6 +14,7 @@
|
||||
#include "base/feature_list.h"
|
||||
@@ -15,6 +15,7 @@
|
||||
#include "base/notimplemented.h"
|
||||
#include "components/content_settings/core/browser/host_content_settings_map.h"
|
||||
#include "components/content_settings/core/browser/permission_settings_registry.h"
|
||||
+#include "components/content_settings/core/browser/website_settings_registry.h"
|
||||
#include "components/content_settings/core/common/content_settings.h"
|
||||
#include "components/content_settings/core/common/content_settings_types.h"
|
||||
#include "components/page_info/android/page_info_client.h"
|
||||
@@ -184,6 +185,15 @@ void PageInfoControllerAndroid::SetPermissionInfo(
|
||||
#include "components/content_settings/core/common/features.h"
|
||||
@@ -197,6 +198,15 @@ void PageInfoControllerAndroid::SetPermissionInfo(
|
||||
permissions_to_display.push_back(ContentSettingsType::LOCAL_NETWORK_ACCESS);
|
||||
}
|
||||
|
||||
@@ -3456,10 +3457,10 @@ diff --git a/components/page_info/android/page_info_controller_android.cc b/comp
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
std::map<ContentSettingsType, ContentSetting>
|
||||
std::map<ContentSettingsType, /*allowed*/ bool>
|
||||
user_specified_settings_to_display;
|
||||
std::map<ContentSettingsType, bool>
|
||||
@@ -243,6 +253,14 @@ std::optional<ContentSetting> PageInfoControllerAndroid::GetSettingToDisplay(
|
||||
@@ -259,6 +269,14 @@ std::optional<PermissionSetting> PageInfoControllerAndroid::GetSettingToDisplay(
|
||||
return permission.setting;
|
||||
}
|
||||
|
||||
@@ -3477,7 +3478,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
|
||||
@@ -22,6 +22,7 @@
|
||||
@@ -23,6 +23,7 @@
|
||||
#include "base/values.h"
|
||||
#include "build/build_config.h"
|
||||
#include "components/browsing_data/content/browsing_data_helper.h"
|
||||
@@ -3485,8 +3486,8 @@ diff --git a/components/page_info/page_info.cc b/components/page_info/page_info.
|
||||
#include "components/content_settings/browser/ui/cookie_controls_controller.h"
|
||||
#include "components/content_settings/core/browser/content_settings_registry.h"
|
||||
#include "components/content_settings/core/browser/content_settings_uma_util.h"
|
||||
@@ -1317,6 +1318,14 @@ void PageInfo::PopulatePermissionInfo(PermissionInfo& permission_info,
|
||||
// applies to permissions listed in |kPermissionType|.
|
||||
@@ -1367,6 +1368,14 @@ void PageInfo::PopulatePermissionInfo(PermissionInfo& permission_info,
|
||||
// via `HasContentSettingChangedViaPageInfo(type)`.
|
||||
bool PageInfo::ShouldShowPermission(
|
||||
const PageInfo::PermissionInfo& info) const {
|
||||
+ content_settings::WebsiteSettingsRegistry* website_settings =
|
||||
@@ -3500,7 +3501,7 @@ diff --git a/components/page_info/page_info.cc b/components/page_info/page_info.
|
||||
// Note |ContentSettingsType::ADS| will show up regardless of its default
|
||||
// value when it has been activated on the current origin.
|
||||
if (info.type == ContentSettingsType::ADS) {
|
||||
@@ -1433,7 +1442,19 @@ void PageInfo::PresentSitePermissions() {
|
||||
@@ -1494,7 +1503,19 @@ void PageInfo::PresentSitePermissions() {
|
||||
|
||||
HostContentSettingsMap* content_settings = GetContentSettings();
|
||||
DCHECK(web_contents_);
|
||||
@@ -3524,15 +3525,15 @@ diff --git a/components/page_info/page_info.cc b/components/page_info/page_info.
|
||||
diff --git a/components/page_info/page_info_ui.cc b/components/page_info/page_info_ui.cc
|
||||
--- a/components/page_info/page_info_ui.cc
|
||||
+++ b/components/page_info/page_info_ui.cc
|
||||
@@ -18,6 +18,7 @@
|
||||
#include "build/build_config.h"
|
||||
@@ -16,6 +16,7 @@
|
||||
#include "components/content_settings/core/browser/permission_settings_registry.h"
|
||||
#include "components/content_settings/core/common/content_settings.h"
|
||||
#include "components/content_settings/core/common/content_settings_types.h"
|
||||
+#include "components/content_settings/core/browser/website_settings_registry.h"
|
||||
#include "components/page_info/core/features.h"
|
||||
#include "components/page_info/page_info.h"
|
||||
#include "components/page_info/page_info_ui_delegate.h"
|
||||
@@ -317,6 +318,13 @@ void CreateOppositeToDefaultSiteException(
|
||||
#include "components/page_info/page_info_ui.h"
|
||||
@@ -252,6 +253,13 @@ void CreateOppositeToDefaultSiteException(
|
||||
std::u16string GetPermissionAskStateString(ContentSettingsType type) {
|
||||
int message_id = kInvalidResourceID;
|
||||
|
||||
@@ -3546,7 +3547,7 @@ diff --git a/components/page_info/page_info_ui.cc b/components/page_info/page_in
|
||||
switch (type) {
|
||||
case ContentSettingsType::GEOLOCATION:
|
||||
message_id = IDS_PAGE_INFO_STATE_TEXT_LOCATION_ASK;
|
||||
@@ -615,6 +623,12 @@ PageInfoUI::~PageInfoUI() = default;
|
||||
@@ -550,6 +558,12 @@ PageInfoUI::~PageInfoUI() = default;
|
||||
|
||||
// static
|
||||
std::u16string PageInfoUI::PermissionTypeToUIString(ContentSettingsType type) {
|
||||
@@ -3559,7 +3560,7 @@ diff --git a/components/page_info/page_info_ui.cc b/components/page_info/page_in
|
||||
for (const PermissionUIInfo& info : GetContentSettingsUIInfo()) {
|
||||
if (info.type == type)
|
||||
return l10n_util::GetStringUTF16(info.string_id);
|
||||
@@ -625,6 +639,12 @@ std::u16string PageInfoUI::PermissionTypeToUIString(ContentSettingsType type) {
|
||||
@@ -560,6 +574,12 @@ std::u16string PageInfoUI::PermissionTypeToUIString(ContentSettingsType type) {
|
||||
// static
|
||||
std::u16string PageInfoUI::PermissionTypeToUIStringMidSentence(
|
||||
ContentSettingsType type) {
|
||||
@@ -3572,7 +3573,7 @@ diff --git a/components/page_info/page_info_ui.cc b/components/page_info/page_in
|
||||
for (const PermissionUIInfo& info : GetContentSettingsUIInfo()) {
|
||||
if (info.type == type)
|
||||
return l10n_util::GetStringUTF16(info.string_id_mid_sentence);
|
||||
@@ -1051,6 +1071,11 @@ bool PageInfoUI::ContentSettingsTypeInPageInfo(ContentSettingsType type) {
|
||||
@@ -948,6 +968,11 @@ bool PageInfoUI::ContentSettingsTypeInPageInfo(ContentSettingsType type) {
|
||||
if (info.type == type)
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -6,25 +6,23 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
---
|
||||
chrome/android/BUILD.gn | 5 ----
|
||||
chrome/android/chrome_java_sources.gni | 1 -
|
||||
.../android/java/res/xml/main_preferences.xml | 3 +-
|
||||
.../android/java/res/xml/main_preferences.xml | 2 +-
|
||||
.../PasswordCheckupLauncher.java | 25 ----------------
|
||||
.../settings/FragmentDependencyProvider.java | 30 -------------------
|
||||
.../chrome/browser/settings/MainSettings.java | 2 +-
|
||||
.../settings/SettingsNavigationImpl.java | 13 ++------
|
||||
.../settings/SettingsNavigationImpl.java | 3 +-
|
||||
chrome/browser/BUILD.gn | 1 -
|
||||
chrome/browser/safety_check/android/BUILD.gn | 2 --
|
||||
.../safety_check/SafetyCheckBridge.java | 4 +--
|
||||
.../suggestions/action/OmniboxPedal.java | 3 --
|
||||
chrome/browser/ui/tab_helpers.cc | 2 +-
|
||||
.../site_settings/SiteSettings.java | 2 +-
|
||||
.../Disable-safety-check.inc | 1 +
|
||||
14 files changed, 10 insertions(+), 84 deletions(-)
|
||||
12 files changed, 6 insertions(+), 73 deletions(-)
|
||||
create mode 100644 cromite_flags/chrome/common/chrome_features_cc/Disable-safety-check.inc
|
||||
|
||||
diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
|
||||
--- a/chrome/android/BUILD.gn
|
||||
+++ b/chrome/android/BUILD.gn
|
||||
@@ -459,7 +459,6 @@ if (_is_default_toolchain) {
|
||||
@@ -457,7 +457,6 @@ if (_is_default_toolchain) {
|
||||
"//chrome/browser/recent_tabs:java",
|
||||
"//chrome/browser/regional_capabilities/android:java",
|
||||
"//chrome/browser/safe_browsing/android:java",
|
||||
@@ -32,7 +30,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
|
||||
"//chrome/browser/safety_hub/android:java",
|
||||
"//chrome/browser/screenshot_monitor:java",
|
||||
"//chrome/browser/search_engines/android:java",
|
||||
@@ -1136,8 +1135,6 @@ if (_is_default_toolchain) {
|
||||
@@ -1138,8 +1137,6 @@ if (_is_default_toolchain) {
|
||||
"//chrome/browser/recent_tabs:junit",
|
||||
"//chrome/browser/recent_tabs/internal:junit",
|
||||
"//chrome/browser/safe_browsing/android:junit",
|
||||
@@ -41,7 +39,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
|
||||
"//chrome/browser/search_engines/android:junit",
|
||||
"//chrome/browser/search_resumption:junit",
|
||||
"//chrome/browser/serial/android:junit",
|
||||
@@ -1425,8 +1422,6 @@ if (_is_default_toolchain) {
|
||||
@@ -1426,8 +1423,6 @@ if (_is_default_toolchain) {
|
||||
"//chrome/browser/quick_delete:javatests",
|
||||
"//chrome/browser/renderer_host/android:javatests",
|
||||
"//chrome/browser/safe_browsing/android:javatests",
|
||||
@@ -53,7 +51,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
|
||||
diff --git a/chrome/android/chrome_java_sources.gni b/chrome/android/chrome_java_sources.gni
|
||||
--- a/chrome/android/chrome_java_sources.gni
|
||||
+++ b/chrome/android/chrome_java_sources.gni
|
||||
@@ -942,7 +942,6 @@ chrome_java_sources = [
|
||||
@@ -950,7 +950,6 @@ chrome_java_sources = [
|
||||
"java/src/org/chromium/chrome/browser/safe_browsing/SafeBrowsingPasswordReuseDialogBridge.java",
|
||||
"java/src/org/chromium/chrome/browser/safe_browsing/SafeBrowsingReferringAppBridge.java",
|
||||
"java/src/org/chromium/chrome/browser/safe_browsing/SafeBrowsingSettingsNavigation.java",
|
||||
@@ -64,20 +62,19 @@ diff --git a/chrome/android/chrome_java_sources.gni b/chrome/android/chrome_java
|
||||
diff --git a/chrome/android/java/res/xml/main_preferences.xml b/chrome/android/java/res/xml/main_preferences.xml
|
||||
--- a/chrome/android/java/res/xml/main_preferences.xml
|
||||
+++ b/chrome/android/java/res/xml/main_preferences.xml
|
||||
@@ -58,7 +58,8 @@ for the previous order (main_preferences_legacy). -->
|
||||
android:fragment="org.chromium.chrome.browser.safety_check.SafetyCheckSettingsFragment"
|
||||
android:key="safety_check"
|
||||
android:order="9"
|
||||
- android:title="@string/prefs_safety_check"/>
|
||||
+ android:title="@string/prefs_safety_check"
|
||||
+ app:isPreferenceVisible="false" />
|
||||
<Preference
|
||||
@@ -54,7 +54,7 @@ found in the LICENSE file.
|
||||
android:fragment="org.chromium.chrome.browser.safety_hub.SafetyHubFragment"
|
||||
android:key="safety_hub"
|
||||
android:order="10"
|
||||
- android:title="@string/prefs_safety_check"/>
|
||||
+ android:title="@string/prefs_safety_check" app:isPreferenceVisible="false"/>
|
||||
|
||||
<PreferenceCategory
|
||||
android:key="autofill_section"
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/password_manager/PasswordCheckupLauncher.java b/chrome/android/java/src/org/chromium/chrome/browser/password_manager/PasswordCheckupLauncher.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/password_manager/PasswordCheckupLauncher.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/password_manager/PasswordCheckupLauncher.java
|
||||
@@ -10,7 +10,6 @@ import org.chromium.base.supplier.ObservableSupplierImpl;
|
||||
@@ -8,7 +8,6 @@ import org.jni_zero.CalledByNative;
|
||||
import org.chromium.build.annotations.NullMarked;
|
||||
import org.chromium.build.annotations.Nullable;
|
||||
import org.chromium.chrome.browser.profiles.Profile;
|
||||
@@ -85,7 +82,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/password_manage
|
||||
import org.chromium.chrome.browser.settings.SettingsCustomTabLauncherImpl;
|
||||
import org.chromium.chrome.browser.settings.SettingsNavigationFactory;
|
||||
import org.chromium.components.browser_ui.settings.SettingsNavigation.SettingsFragment;
|
||||
@@ -26,38 +25,14 @@ public class PasswordCheckupLauncher {
|
||||
@@ -23,37 +22,13 @@ public class PasswordCheckupLauncher {
|
||||
WindowAndroid windowAndroid,
|
||||
@PasswordCheckReferrer int passwordCheckReferrer,
|
||||
@Nullable String accountEmail) {
|
||||
@@ -101,7 +98,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/password_manage
|
||||
- passwordManagerHelper.showPasswordCheckup(
|
||||
- windowAndroid.getContext().get(),
|
||||
- passwordCheckReferrer,
|
||||
- getModalDialogManagerSupplier(windowAndroid),
|
||||
- () -> windowAndroid.getModalDialogManager(),
|
||||
- accountEmail,
|
||||
- new SettingsCustomTabLauncherImpl());
|
||||
}
|
||||
@@ -122,12 +119,11 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/password_manage
|
||||
- SettingsNavigationFactory.createSettingsNavigation()
|
||||
- .startSettings(windowAndroid.getContext().get(), SettingsFragment.SAFETY_CHECK);
|
||||
}
|
||||
|
||||
private static ObservableSupplier<ModalDialogManager> getModalDialogManagerSupplier(
|
||||
}
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/FragmentDependencyProvider.java b/chrome/android/java/src/org/chromium/chrome/browser/settings/FragmentDependencyProvider.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/settings/FragmentDependencyProvider.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/settings/FragmentDependencyProvider.java
|
||||
@@ -34,13 +34,6 @@ import org.chromium.chrome.browser.privacy_sandbox.ChromeTrackingProtectionDeleg
|
||||
@@ -35,13 +35,6 @@ import org.chromium.chrome.browser.privacy_sandbox.ChromeTrackingProtectionDeleg
|
||||
import org.chromium.chrome.browser.privacy_sandbox.PrivacySandboxSettingsBaseFragment;
|
||||
import org.chromium.chrome.browser.privacy_sandbox.TopicsManageFragment;
|
||||
import org.chromium.chrome.browser.profiles.Profile;
|
||||
@@ -187,48 +183,31 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/Fragme
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/MainSettings.java b/chrome/android/java/src/org/chromium/chrome/browser/settings/MainSettings.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/settings/MainSettings.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/settings/MainSettings.java
|
||||
@@ -306,7 +306,7 @@ public class MainSettings extends ChromeBaseSettingsFragment
|
||||
@@ -312,7 +312,7 @@ public class MainSettings extends ChromeBaseSettingsFragment
|
||||
removePreferenceIfPresent(PREF_UI_THEME);
|
||||
}
|
||||
|
||||
- if (BuildInfo.getInstance().isAutomotive) {
|
||||
+ if (((true)) || BuildInfo.getInstance().isAutomotive) {
|
||||
getPreferenceScreen().removePreference(findPreference(PREF_SAFETY_CHECK));
|
||||
- if (DeviceInfo.isAutomotive()) {
|
||||
+ if (((true)) || isAutomotive()) {
|
||||
getPreferenceScreen().removePreference(findPreference(PREF_SAFETY_HUB));
|
||||
} else if (!ChromeFeatureList.sSafetyHub.isEnabled()) {
|
||||
} else {
|
||||
findPreference(PREF_SAFETY_HUB)
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsNavigationImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsNavigationImpl.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsNavigationImpl.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsNavigationImpl.java
|
||||
@@ -18,8 +18,6 @@ import org.chromium.chrome.browser.autofill.settings.FinancialAccountsManagement
|
||||
@@ -18,7 +18,6 @@ import org.chromium.chrome.browser.autofill.settings.AutofillPaymentMethodsFragm
|
||||
import org.chromium.chrome.browser.autofill.settings.FinancialAccountsManagementFragment;
|
||||
import org.chromium.chrome.browser.autofill.settings.NonCardPaymentMethodsManagementFragment;
|
||||
import org.chromium.chrome.browser.browsing_data.ClearBrowsingDataFragment;
|
||||
import org.chromium.chrome.browser.flags.ChromeFeatureList;
|
||||
-import org.chromium.chrome.browser.safety_check.SafetyCheckSettingsFragment;
|
||||
-import org.chromium.chrome.browser.safety_hub.SafetyHubFragment;
|
||||
import org.chromium.chrome.browser.password_manager.settings.PasswordSettings;
|
||||
import org.chromium.chrome.browser.sync.settings.GoogleServicesSettings;
|
||||
import org.chromium.chrome.browser.sync.settings.ManageSyncSettings;
|
||||
@@ -47,10 +45,7 @@ public class SettingsNavigationImpl implements SettingsNavigation {
|
||||
ClearBrowsingDataFragment.createFragmentArgs(context.getClass().getName());
|
||||
break;
|
||||
case SettingsFragment.SAFETY_CHECK:
|
||||
- if (!ChromeFeatureList.sSafetyHub.isEnabled()) {
|
||||
- fragmentArgs = SafetyCheckSettingsFragment.createBundle(true);
|
||||
- }
|
||||
- break;
|
||||
+ return;
|
||||
case SettingsFragment.MAIN:
|
||||
case SettingsFragment.PAYMENT_METHODS:
|
||||
case SettingsFragment.SITE:
|
||||
@@ -110,11 +105,7 @@ public class SettingsNavigationImpl implements SettingsNavigation {
|
||||
@@ -106,7 +105,7 @@ public class SettingsNavigationImpl implements SettingsNavigation {
|
||||
case SettingsFragment.PAYMENT_METHODS:
|
||||
return AutofillPaymentMethodsFragment.class;
|
||||
case SettingsFragment.SAFETY_CHECK:
|
||||
- if (ChromeFeatureList.sSafetyHub.isEnabled()) {
|
||||
- return SafetyHubFragment.class;
|
||||
- } else {
|
||||
- return SafetyCheckSettingsFragment.class;
|
||||
- }
|
||||
- return SafetyHubFragment.class;
|
||||
+ return null;
|
||||
case SettingsFragment.SITE:
|
||||
return SiteSettings.class;
|
||||
@@ -236,7 +215,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/Settin
|
||||
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
|
||||
--- a/chrome/browser/BUILD.gn
|
||||
+++ b/chrome/browser/BUILD.gn
|
||||
@@ -3458,7 +3458,6 @@ static_library("browser") {
|
||||
@@ -3449,7 +3449,6 @@ static_library("browser") {
|
||||
"//chrome/browser/recent_tabs:jni_headers",
|
||||
"//chrome/browser/regional_capabilities",
|
||||
"//chrome/browser/safe_browsing/android:safe_browsing_enums",
|
||||
@@ -297,30 +276,6 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow
|
||||
case OmniboxPedalId.MANAGE_SITE_SETTINGS:
|
||||
delegate.openSettingsPage(SettingsFragment.SITE);
|
||||
break;
|
||||
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
|
||||
@@ -571,7 +571,7 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) {
|
||||
tpcd::trial::ValidityService::MaybeCreateForWebContents(web_contents);
|
||||
TrustedVaultEncryptionKeysTabHelper::CreateForWebContents(web_contents);
|
||||
#if BUILDFLAG(IS_ANDROID)
|
||||
- if (base::FeatureList::IsEnabled(features::kSafetyHub)) {
|
||||
+ if (((true)) || base::FeatureList::IsEnabled(features::kSafetyHub)) {
|
||||
auto* service = RevokedPermissionsServiceFactory::GetForProfile(profile);
|
||||
if (service) {
|
||||
RevokedPermissionsService::TabHelper::CreateForWebContents(web_contents,
|
||||
diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SiteSettings.java b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SiteSettings.java
|
||||
--- a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SiteSettings.java
|
||||
+++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SiteSettings.java
|
||||
@@ -96,7 +96,7 @@ public class SiteSettings extends BaseSiteSettingsFragment
|
||||
}
|
||||
|
||||
// Remove the permission autorevocation preference if Safety Hub is not enabled.
|
||||
- if (!getSiteSettingsDelegate().isSafetyHubEnabled()) {
|
||||
+ if (((false)) && !getSiteSettingsDelegate().isSafetyHubEnabled()) {
|
||||
Preference autorevocationPref =
|
||||
findPreference(PERMISSION_AUTOREVOCATION_PREF);
|
||||
getPreferenceScreen().removePreference(autorevocationPref);
|
||||
diff --git a/cromite_flags/chrome/common/chrome_features_cc/Disable-safety-check.inc b/cromite_flags/chrome/common/chrome_features_cc/Disable-safety-check.inc
|
||||
new file mode 100644
|
||||
--- /dev/null
|
||||
|
||||
@@ -15,41 +15,38 @@ 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 | 83 +++++++++++-
|
||||
.../chrome/browser/settings/MainSettings.java | 2 +-
|
||||
.../chromium/chrome/browser/tab/TabImpl.java | 41 +++++-
|
||||
chrome/browser/about_flags.cc | 33 -----
|
||||
chrome/browser/android/tab_android.cc | 3 +-
|
||||
chrome/browser/autofill/android/BUILD.gn | 2 +-
|
||||
.../autofill/AutofillClientProviderUtils.java | 2 +-
|
||||
...AutofillThirdPartyModeContentProvider.java | 1 +
|
||||
chrome/browser/flag_descriptions.cc | 6 -
|
||||
chrome/browser/flag_descriptions.h | 3 -
|
||||
.../strings/android_chrome_strings.grd | 6 +
|
||||
.../ui/autofill/autofill_client_provider.cc | 124 +-----------------
|
||||
.../ui/autofill/autofill_client_provider.h | 6 -
|
||||
chrome/browser/ui/tab_helpers.cc | 4 +-
|
||||
components/android_autofill/browser/BUILD.gn | 1 +
|
||||
.../browser/android_autofill_manager.cc | 2 +
|
||||
.../browser/android_autofill_manager.h | 2 +
|
||||
.../autofill/AutofillManagerWrapper.java | 5 +-
|
||||
.../components/autofill/AutofillProvider.java | 7 +
|
||||
.../BrowserSelectionActionMenuDelegate.java | 68 ++++++++++
|
||||
.../browser/content_autofill_driver.cc | 11 ++
|
||||
.../content/browser/content_autofill_driver.h | 10 ++
|
||||
.../content_autofill_driver_factory.cc | 12 ++
|
||||
.../content/renderer/autofill_agent.cc | 5 +
|
||||
.../renderer/password_autofill_agent.cc | 5 +-
|
||||
.../browser/foundations/autofill_driver.h | 2 +
|
||||
.../foundations/autofill_driver_factory.cc | 4 +
|
||||
.../browser/foundations/autofill_manager.h | 2 +
|
||||
.../foundations/browser_autofill_manager.cc | 2 +
|
||||
.../foundations/browser_autofill_manager.h | 2 +
|
||||
.../autofill/core/common/autofill_features.cc | 2 +-
|
||||
.../autofill/core/common/autofill_features.h | 22 ----
|
||||
.../autofill/core/common/autofill_prefs.cc | 4 +-
|
||||
.../autofill/core/common/autofill_prefs.h | 5 +
|
||||
34 files changed, 277 insertions(+), 212 deletions(-)
|
||||
.../settings/PasswordSettings.java | 83 +++++++++++++++-
|
||||
.../chrome/browser/settings/MainSettings.java | 16 +--
|
||||
.../chromium/chrome/browser/tab/TabImpl.java | 42 ++++++--
|
||||
chrome/browser/about_flags.cc | 3 -
|
||||
chrome/browser/android/tab_android.cc | 3 +-
|
||||
chrome/browser/autofill/android/BUILD.gn | 2 +-
|
||||
.../autofill/AutofillClientProviderUtils.java | 2 +-
|
||||
...AutofillThirdPartyModeContentProvider.java | 1 +
|
||||
.../strings/android_chrome_strings.grd | 6 ++
|
||||
.../ui/autofill/autofill_client_provider.cc | 97 +------------------
|
||||
.../ui/autofill/autofill_client_provider.h | 6 --
|
||||
chrome/browser/ui/tab_helpers.cc | 4 +-
|
||||
components/android_autofill/browser/BUILD.gn | 1 +
|
||||
.../browser/android_autofill_manager.cc | 2 +
|
||||
.../browser/android_autofill_manager.h | 2 +
|
||||
.../autofill/AutofillManagerWrapper.java | 5 +-
|
||||
.../components/autofill/AutofillProvider.java | 7 ++
|
||||
.../BrowserSelectionActionMenuDelegate.java | 68 +++++++++++++
|
||||
.../browser/content_autofill_driver.cc | 11 +++
|
||||
.../content/browser/content_autofill_driver.h | 10 ++
|
||||
.../content_autofill_driver_factory.cc | 12 +++
|
||||
.../content/renderer/autofill_agent.cc | 5 +
|
||||
.../renderer/password_autofill_agent.cc | 5 +-
|
||||
.../browser/foundations/autofill_driver.h | 2 +
|
||||
.../foundations/autofill_driver_factory.cc | 4 +
|
||||
.../browser/foundations/autofill_manager.h | 2 +
|
||||
.../foundations/browser_autofill_manager.cc | 2 +
|
||||
.../foundations/browser_autofill_manager.h | 2 +
|
||||
.../autofill/core/common/autofill_features.cc | 2 +-
|
||||
.../autofill/core/common/autofill_prefs.cc | 4 +-
|
||||
.../autofill/core/common/autofill_prefs.h | 5 +
|
||||
31 files changed, 278 insertions(+), 138 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
|
||||
@@ -190,21 +187,35 @@ 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
|
||||
@@ -442,7 +442,7 @@ public class MainSettings extends ChromeBaseSettingsFragment
|
||||
@@ -456,20 +456,8 @@ public class MainSettings extends ChromeBaseSettingsFragment
|
||||
}
|
||||
|
||||
private void updateAutofillPreferences() {
|
||||
- if (ChromeFeatureList.isEnabled(AutofillFeatures.AUTOFILL_VIRTUAL_VIEW_STRUCTURE_ANDROID)) {
|
||||
+ if ((false)) {
|
||||
addPreferenceIfAbsent(PREF_AUTOFILL_SECTION);
|
||||
addPreferenceIfAbsent(PREF_AUTOFILL_OPTIONS);
|
||||
Preference preference = findPreference(PREF_AUTOFILL_OPTIONS);
|
||||
- addPreferenceIfAbsent(PREF_AUTOFILL_SECTION);
|
||||
- addPreferenceIfAbsent(PREF_AUTOFILL_OPTIONS);
|
||||
- Preference autofillOptionsPreference = findPreference(PREF_AUTOFILL_OPTIONS);
|
||||
- autofillOptionsPreference.setFragment(null);
|
||||
- autofillOptionsPreference.setOnPreferenceClickListener(
|
||||
- unused -> {
|
||||
- SettingsNavigationFactory.createSettingsNavigation()
|
||||
- .startSettings(
|
||||
- getContext(),
|
||||
- AutofillOptionsFragment.class,
|
||||
- AutofillOptionsFragment.createRequiredArgs(
|
||||
- AutofillOptionsReferrer.SETTINGS));
|
||||
- return true; // Means event is consumed.
|
||||
- });
|
||||
+ removePreferenceIfPresent(PREF_AUTOFILL_SECTION);
|
||||
+ removePreferenceIfPresent(PREF_AUTOFILL_OPTIONS);
|
||||
findPreference(PREF_AUTOFILL_PAYMENTS)
|
||||
.setOnPreferenceClickListener(
|
||||
preference ->
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.java
|
||||
@@ -113,6 +113,13 @@ import java.lang.annotation.RetentionPolicy;
|
||||
import java.nio.ByteBuffer;
|
||||
@@ -116,6 +116,13 @@ 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;
|
||||
@@ -216,7 +227,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.
|
||||
@@ -1133,6 +1140,11 @@ class TabImpl implements Tab {
|
||||
@@ -1131,6 +1138,11 @@ class TabImpl implements Tab {
|
||||
for (TabObserver observer : mObservers) observer.onDestroyed(this);
|
||||
mObservers.clear();
|
||||
|
||||
@@ -228,15 +239,16 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.jav
|
||||
mUserDataHost.destroy();
|
||||
mTabViewManager.destroy();
|
||||
hideNativePage(false, null);
|
||||
@@ -1443,6 +1455,7 @@ class TabImpl implements Tab {
|
||||
@@ -1448,7 +1460,7 @@ class TabImpl implements Tab {
|
||||
* @return iff the AutofillProvider should provide a ViewStructure when prompted.
|
||||
*/
|
||||
boolean providesAutofillStructure() {
|
||||
-
|
||||
+ if ((true)) return true;
|
||||
if (!ChromeFeatureList.isEnabled(
|
||||
AutofillFeatures.AUTOFILL_VIRTUAL_VIEW_STRUCTURE_ANDROID)) {
|
||||
if (mProfile == null || !mProfile.isNativeInitialized()) {
|
||||
return false;
|
||||
@@ -2249,16 +2262,21 @@ class TabImpl implements Tab {
|
||||
}
|
||||
@@ -2251,16 +2263,21 @@ class TabImpl implements Tab {
|
||||
* @return true if the the provider is available for the given WebContents.
|
||||
*/
|
||||
private boolean prepareAutofillProvider(WebContents newWebContents) {
|
||||
@@ -261,10 +273,10 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.jav
|
||||
- } else {
|
||||
+ assert isInitialized();
|
||||
+ if (mAutofillProvider == null) {
|
||||
// TODO: crbug.com/432447902 — Provide only an activity context and push changes.
|
||||
mAutofillProvider =
|
||||
new AutofillProvider(
|
||||
getContext(),
|
||||
@@ -2267,7 +2285,16 @@ class TabImpl implements Tab {
|
||||
@@ -2270,7 +2287,16 @@ class TabImpl implements Tab {
|
||||
getContext().getString(R.string.app_name));
|
||||
TabImplJni.get().initializeAutofillIfNecessary(mNativeTabAndroid);
|
||||
}
|
||||
@@ -285,57 +297,20 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.jav
|
||||
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
|
||||
--- a/chrome/browser/about_flags.cc
|
||||
+++ b/chrome/browser/about_flags.cc
|
||||
@@ -3990,28 +3990,6 @@ const FeatureEntry::FeatureVariation kLinkPreviewTriggerTypeVariations[] = {
|
||||
std::size(kLinkPreviewTriggerTypeLongPress), nullptr}};
|
||||
@@ -3984,9 +3984,6 @@ const FeatureEntry::FeatureVariation kLinkPreviewTriggerTypeVariations[] = {
|
||||
#endif // !BUILDFLAG(IS_ANDROID)
|
||||
|
||||
-#if BUILDFLAG(IS_ANDROID)
|
||||
-inline constexpr flags_ui::FeatureEntry::FeatureParam
|
||||
- kAutofillVirtualViewStructureAndroidSkipCompatibilityCheck = {
|
||||
- autofill::features::
|
||||
- kAutofillVirtualViewStructureAndroidSkipsCompatibilityCheck.name,
|
||||
- "skip_all_checks"};
|
||||
-inline constexpr flags_ui::FeatureEntry::FeatureParam
|
||||
- kAutofillVirtualViewStructureAndroidOnlySkipAwgCheck = {
|
||||
- autofill::features::
|
||||
- kAutofillVirtualViewStructureAndroidSkipsCompatibilityCheck.name,
|
||||
- "only_skip_awg_check"};
|
||||
-
|
||||
-inline constexpr flags_ui::FeatureEntry::FeatureVariation
|
||||
- kAutofillVirtualViewStructureVariation[] = {
|
||||
- {" without any compatibility check",
|
||||
- &kAutofillVirtualViewStructureAndroidSkipCompatibilityCheck, 1,
|
||||
- nullptr},
|
||||
- {" without AwG restriction",
|
||||
- &kAutofillVirtualViewStructureAndroidOnlySkipAwgCheck, 1, nullptr}};
|
||||
#if BUILDFLAG(IS_ANDROID)
|
||||
-
|
||||
-#endif // BUILDFLAG(IS_ANDROID)
|
||||
-
|
||||
const FeatureEntry::FeatureParam kGroupSuggestionEnableRecentlyOpenedOnly[] = {
|
||||
{"group_suggestion_enable_recently_opened", "true"},
|
||||
{"group_suggestion_enable_switch_between", "false"},
|
||||
@@ -6618,17 +6596,6 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
SINGLE_VALUE_TYPE(ui_devtools::switches::kEnableUiDevTools)},
|
||||
#endif // BUILDFLAG(IS_CHROMEOS)
|
||||
|
||||
-#if BUILDFLAG(IS_ANDROID)
|
||||
- {"enable-autofill-virtual-view-structure",
|
||||
- flag_descriptions::kAutofillVirtualViewStructureAndroidName,
|
||||
- flag_descriptions::kAutofillVirtualViewStructureAndroidDescription,
|
||||
- kOsAndroid,
|
||||
- FEATURE_WITH_PARAMS_VALUE_TYPE(
|
||||
- autofill::features::kAutofillVirtualViewStructureAndroid,
|
||||
- kAutofillVirtualViewStructureVariation,
|
||||
- "Skip AutofillService Check")},
|
||||
-#endif
|
||||
-
|
||||
#if BUILDFLAG(IS_CHROMEOS)
|
||||
{"enable-touchscreen-calibration",
|
||||
flag_descriptions::kTouchscreenCalibrationName,
|
||||
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
|
||||
@@ -444,8 +444,7 @@ void TabAndroid::InitializeAutofillIfNecessary(JNIEnv* env) {
|
||||
@@ -449,8 +449,7 @@ void TabAndroid::InitializeAutofillIfNecessary(JNIEnv* env) {
|
||||
->MaybeInitKeyboardSuppressor();
|
||||
return;
|
||||
}
|
||||
@@ -348,7 +323,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
|
||||
@@ -164,7 +164,7 @@ android_library("bottom_sheet_utils_java") {
|
||||
@@ -163,7 +163,7 @@ android_library("bottom_sheet_utils_java") {
|
||||
generate_jni("jni_headers") {
|
||||
sources = [
|
||||
"java/src/org/chromium/chrome/browser/autofill/AddressNormalizerFactory.java",
|
||||
@@ -360,12 +335,13 @@ 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
|
||||
@@ -82,8 +82,8 @@ public class AutofillClientProviderUtils {
|
||||
@@ -77,9 +77,9 @@ public class AutofillClientProviderUtils {
|
||||
* @return {@link AndroidAutofillAvailabilityStatus.AVAILABLE} if Android Autofill can be used
|
||||
* or a reason why it can't.
|
||||
*/
|
||||
- @CalledByNative
|
||||
public static int getAndroidAutofillFrameworkAvailability(PrefService prefs) {
|
||||
public static int getAndroidAutofillFrameworkAvailability(
|
||||
@JniType("PrefService*") PrefService prefs) {
|
||||
+ if ((true)) return AndroidAutofillAvailabilityStatus.AVAILABLE;
|
||||
if (sAndroidAutofillFrameworkAvailabilityForTesting != null) {
|
||||
return sAndroidAutofillFrameworkAvailabilityForTesting;
|
||||
@@ -381,35 +357,6 @@ diff --git a/chrome/browser/autofill/android/java/src/org/chromium/chrome/browse
|
||||
if (createContentUri().equals(uri)) {
|
||||
final String[] columns = {AUTOFILL_THIRD_PARTY_MODE_COLUMN};
|
||||
MatrixCursor cursor = new MatrixCursor(columns, 1);
|
||||
diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc
|
||||
--- a/chrome/browser/flag_descriptions.cc
|
||||
+++ b/chrome/browser/flag_descriptions.cc
|
||||
@@ -988,12 +988,6 @@ const char kAutofillVcnEnrollStrikeExpiryTimeDescription[] =
|
||||
"When enabled, changes the amount of time required for VCN enrollment "
|
||||
"prompt strikes to expire.";
|
||||
|
||||
-const char kAutofillVirtualViewStructureAndroidName[] =
|
||||
- "Enable the setting to provide a virtual view structure for Autofill";
|
||||
-const char kAutofillVirtualViewStructureAndroidDescription[] =
|
||||
- "When enabled, a setting allows to switch to using Android Autofill. Chrome"
|
||||
- " then provides a virtual view structure but no own suggestions.";
|
||||
-
|
||||
const char kAutoPictureInPictureForVideoPlaybackName[] =
|
||||
"Auto picture in picture for video playback";
|
||||
const char kAutoPictureInPictureForVideoPlaybackDescription[] =
|
||||
diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h
|
||||
--- a/chrome/browser/flag_descriptions.h
|
||||
+++ b/chrome/browser/flag_descriptions.h
|
||||
@@ -597,9 +597,6 @@ extern const char kAutofillUploadCardRequestTimeoutDescription[];
|
||||
extern const char kAutofillVcnEnrollStrikeExpiryTimeName[];
|
||||
extern const char kAutofillVcnEnrollStrikeExpiryTimeDescription[];
|
||||
|
||||
-extern const char kAutofillVirtualViewStructureAndroidName[];
|
||||
-extern const char kAutofillVirtualViewStructureAndroidDescription[];
|
||||
-
|
||||
extern const char kAutoPictureInPictureForVideoPlaybackName[];
|
||||
extern const char kAutoPictureInPictureForVideoPlaybackDescription[];
|
||||
|
||||
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
|
||||
@@ -429,18 +376,18 @@ 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,123 +17,17 @@
|
||||
#include "base/android/jni_string.h"
|
||||
#include "base/task/thread_pool.h"
|
||||
#include "chrome/browser/autofill/android/android_autofill_availability_status.h"
|
||||
-#include "chrome/browser/autofill/android/jni_headers/AutofillClientProviderUtils_jni.h"
|
||||
@@ -20,94 +20,15 @@
|
||||
#include "chrome/browser/metrics/chrome_metrics_service_accessor.h"
|
||||
#include "components/android_autofill/browser/android_autofill_client.h"
|
||||
#include "components/prefs/android/pref_service_android.h"
|
||||
-
|
||||
-// Must come after all headers that specialize FromJniType() / ToJniType().
|
||||
-#include "chrome/browser/autofill/android/jni_headers/AutofillClientProviderUtils_jni.h"
|
||||
#endif // BUILDFLAG(IS_ANDROID)
|
||||
|
||||
namespace autofill {
|
||||
-namespace {
|
||||
|
||||
-
|
||||
-#if BUILDFLAG(IS_ANDROID)
|
||||
-void RecordAvailabilityStatus(AndroidAutofillAvailabilityStatus availability) {
|
||||
- base::UmaHistogramEnumeration("Autofill.AndroidAutofillAvailabilityStatus",
|
||||
@@ -471,18 +418,15 @@ diff --git a/chrome/browser/ui/autofill/autofill_client_provider.cc b/chrome/bro
|
||||
-void SetSharedPrefForDeepLink() {
|
||||
- Java_AutofillClientProviderUtils_setAutofillOptionsDeepLinkPref(
|
||||
- base::android::AttachCurrentThread(),
|
||||
- base::FeatureList::IsEnabled(
|
||||
- autofill::features::kAutofillVirtualViewStructureAndroid) &&
|
||||
- base::FeatureList::IsEnabled(
|
||||
- autofill::features::kAutofillDeepLinkAutofillOptions));
|
||||
-}
|
||||
-
|
||||
- base::FeatureList::IsEnabled(
|
||||
- autofill::features::kAutofillDeepLinkAutofillOptions));
|
||||
-}
|
||||
|
||||
-// Sets a shared pref that allows external apps to use a ContentResolver to
|
||||
-// figure out whether Chrome is using platform autofill over the default.
|
||||
-void SetSharedPrefForSettingsContentProvider(bool uses_platform_autofill) {
|
||||
- if (base::FeatureList::IsEnabled(
|
||||
- autofill::features::kAutofillVirtualViewStructureAndroid) &&
|
||||
- base::FeatureList::IsEnabled(
|
||||
- autofill::features::kAutofillThirdPartyModeContentProvider)) {
|
||||
- Java_AutofillClientProviderUtils_setThirdPartyModePref(
|
||||
- base::android::AttachCurrentThread(), uses_platform_autofill);
|
||||
@@ -494,35 +438,9 @@ diff --git a/chrome/browser/ui/autofill/autofill_client_provider.cc b/chrome/bro
|
||||
-
|
||||
-AndroidAutofillAvailabilityStatus GetAndroidAutofillAvailabilityStatus(
|
||||
- PrefService& prefs) {
|
||||
- AndroidAutofillAvailabilityStatus availability = static_cast<
|
||||
- AndroidAutofillAvailabilityStatus>(
|
||||
- return static_cast<AndroidAutofillAvailabilityStatus>(
|
||||
- Java_AutofillClientProviderUtils_getAndroidAutofillFrameworkAvailability(
|
||||
- base::android::AttachCurrentThread(), prefs.GetJavaObject()));
|
||||
- // Check whether the returned availability is affected by feature parameters
|
||||
- // that skip some checks on this client.
|
||||
- switch (availability) {
|
||||
- case AndroidAutofillAvailabilityStatus::kAndroidAutofillServiceIsGoogle:
|
||||
- if (features::kAutofillVirtualViewStructureAndroidSkipsCompatibilityCheck
|
||||
- .Get() ==
|
||||
- features::VirtualViewStructureSkipChecks::kOnlySkipAwGCheck) {
|
||||
- availability = AndroidAutofillAvailabilityStatus::kAvailable;
|
||||
- }
|
||||
- ABSL_FALLTHROUGH_INTENDED; // No skip-awg-check but skip-all may apply.
|
||||
- case AndroidAutofillAvailabilityStatus::kAndroidAutofillManagerNotAvailable:
|
||||
- case AndroidAutofillAvailabilityStatus::kAndroidAutofillNotSupported:
|
||||
- case AndroidAutofillAvailabilityStatus::kUnknownAndroidAutofillService:
|
||||
- if (features::kAutofillVirtualViewStructureAndroidSkipsCompatibilityCheck
|
||||
- .Get() ==
|
||||
- features::VirtualViewStructureSkipChecks::kSkipAllChecks) {
|
||||
- availability = AndroidAutofillAvailabilityStatus::kAvailable;
|
||||
- }
|
||||
- return availability;
|
||||
- case AndroidAutofillAvailabilityStatus::kAvailable:
|
||||
- case AndroidAutofillAvailabilityStatus::kSettingTurnedOff:
|
||||
- case AndroidAutofillAvailabilityStatus::kNotAllowedByPolicy:
|
||||
- return availability;
|
||||
- }
|
||||
- NOTREACHED();
|
||||
- base::android::AttachCurrentThread(), &prefs));
|
||||
-}
|
||||
-#endif // BUILDFLAG(IS_ANDROID)
|
||||
-
|
||||
@@ -555,7 +473,7 @@ diff --git a/chrome/browser/ui/autofill/autofill_client_provider.cc b/chrome/bro
|
||||
#endif // BUILDFLAG(IS_ANDROID)
|
||||
}
|
||||
|
||||
@@ -141,15 +35,7 @@ AutofillClientProvider::~AutofillClientProvider() = default;
|
||||
@@ -115,15 +36,7 @@ AutofillClientProvider::~AutofillClientProvider() = default;
|
||||
|
||||
void AutofillClientProvider::CreateClientForWebContents(
|
||||
content::WebContents* web_contents) {
|
||||
@@ -571,7 +489,7 @@ diff --git a/chrome/browser/ui/autofill/autofill_client_provider.cc b/chrome/bro
|
||||
}
|
||||
|
||||
#if BUILDFLAG(IS_ANDROID)
|
||||
@@ -161,12 +47,6 @@ void AutofillClientProvider::RegisterSyntheticFieldTrialForPackage(
|
||||
@@ -135,12 +48,6 @@ void AutofillClientProvider::RegisterSyntheticFieldTrialForPackage(
|
||||
}
|
||||
|
||||
void AutofillClientProvider::DelayRegisteringFieldTrialForA11yDeprecation() {
|
||||
@@ -610,7 +528,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
|
||||
@@ -385,9 +385,7 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) {
|
||||
@@ -391,9 +391,7 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) {
|
||||
web_contents);
|
||||
ChainedBackNavigationTracker::CreateForWebContents(web_contents);
|
||||
chrome_browser_net::NetErrorTabHelper::CreateForWebContents(web_contents);
|
||||
@@ -667,15 +585,15 @@ diff --git a/components/android_autofill/browser/java/src/org/chromium/component
|
||||
if (event == EVENT_INPUT_SHOWN) manager.notifyInputUiChange();
|
||||
}
|
||||
}
|
||||
@@ -129,6 +130,7 @@ public class AutofillManagerWrapper {
|
||||
@@ -120,6 +121,7 @@ public class AutofillManagerWrapper {
|
||||
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
|
||||
ComponentName componentName = getAutofillServiceComponentName(autofillManager);
|
||||
ComponentName componentName = getAutofillServiceComponentName(mAutofillManager);
|
||||
+ if (isLoggable()) log("componentName=" + componentName);
|
||||
if (componentName != null) {
|
||||
mPackageName = componentName.getPackageName();
|
||||
mIsAwGCurrentAutofillService =
|
||||
@@ -350,7 +352,7 @@ public class AutofillManagerWrapper {
|
||||
@@ -352,7 +354,7 @@ public class AutofillManagerWrapper {
|
||||
/** Always check isLoggable() before call this method. */
|
||||
public static void log(String log) {
|
||||
// Log.i() instead of Log.d() is used here because Log.d() is stripped out in release build.
|
||||
@@ -684,7 +602,7 @@ diff --git a/components/android_autofill/browser/java/src/org/chromium/component
|
||||
}
|
||||
|
||||
public static boolean isLoggable() {
|
||||
@@ -364,5 +366,6 @@ public class AutofillManagerWrapper {
|
||||
@@ -366,5 +368,6 @@ public class AutofillManagerWrapper {
|
||||
// NOTE: See the comment on TAG above for why this is still AwAutofillManager.
|
||||
// Check the system setting directly.
|
||||
sIsLoggable = android.util.Log.isLoggable(TAG, Log.DEBUG);
|
||||
@@ -694,9 +612,9 @@ diff --git a/components/android_autofill/browser/java/src/org/chromium/component
|
||||
diff --git a/components/android_autofill/browser/java/src/org/chromium/components/autofill/AutofillProvider.java b/components/android_autofill/browser/java/src/org/chromium/components/autofill/AutofillProvider.java
|
||||
--- a/components/android_autofill/browser/java/src/org/chromium/components/autofill/AutofillProvider.java
|
||||
+++ b/components/android_autofill/browser/java/src/org/chromium/components/autofill/AutofillProvider.java
|
||||
@@ -220,6 +220,10 @@ public class AutofillProvider {
|
||||
|
||||
/** @return whether query autofill suggestion. */
|
||||
@@ -252,6 +252,10 @@ public class AutofillProvider {
|
||||
* @return whether query autofill suggestion.
|
||||
*/
|
||||
public boolean shouldQueryAutofillSuggestion() {
|
||||
+ AutofillManagerWrapper.log("---shouldQueryAutofillSuggestion" +
|
||||
+ " mRequest != null=" + (mRequest != null) +
|
||||
@@ -705,7 +623,7 @@ diff --git a/components/android_autofill/browser/java/src/org/chromium/component
|
||||
return mRequest != null
|
||||
&& mRequest.getFocusField() != null
|
||||
&& !getAutofillManagerWrapper().isAutofillInputUiShowing();
|
||||
@@ -228,6 +232,7 @@ public class AutofillProvider {
|
||||
@@ -260,6 +264,7 @@ public class AutofillProvider {
|
||||
public boolean shouldOfferPasskeyEntry() {
|
||||
if (!AndroidAutofillFeatures.ANDROID_AUTOFILL_VIRTUAL_VIEW_STRUCTURE_PASSKEY_LONG_PRESS
|
||||
.isEnabled()) {
|
||||
@@ -713,7 +631,7 @@ diff --git a/components/android_autofill/browser/java/src/org/chromium/component
|
||||
return false;
|
||||
}
|
||||
return AutofillProviderJni.get().hasPasskeyRequest(mNativeAutofillProvider);
|
||||
@@ -240,6 +245,7 @@ public class AutofillProvider {
|
||||
@@ -272,6 +277,7 @@ public class AutofillProvider {
|
||||
}
|
||||
|
||||
public void queryAutofillSuggestion() {
|
||||
@@ -721,7 +639,7 @@ diff --git a/components/android_autofill/browser/java/src/org/chromium/component
|
||||
if (shouldQueryAutofillSuggestion()) {
|
||||
FocusField focusField = mRequest.getFocusField();
|
||||
getAutofillManagerWrapper()
|
||||
@@ -302,6 +308,7 @@ public class AutofillProvider {
|
||||
@@ -334,6 +340,7 @@ public class AutofillProvider {
|
||||
float width,
|
||||
float height,
|
||||
boolean hasServerPrediction) {
|
||||
@@ -953,7 +871,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
|
||||
@@ -223,6 +223,8 @@ class AutofillManager
|
||||
@@ -225,6 +225,8 @@ class AutofillManager
|
||||
LifecycleState new_state,
|
||||
base::PassKey<AutofillDriverFactory> pass_key);
|
||||
|
||||
@@ -965,7 +883,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
|
||||
@@ -753,6 +753,8 @@ base::WeakPtr<AutofillManager> BrowserAutofillManager::GetWeakPtr() {
|
||||
@@ -809,6 +809,8 @@ base::WeakPtr<AutofillManager> BrowserAutofillManager::GetWeakPtr() {
|
||||
return weak_ptr_factory_.GetWeakPtr();
|
||||
}
|
||||
|
||||
@@ -989,51 +907,19 @@ diff --git a/components/autofill/core/browser/foundations/browser_autofill_manag
|
||||
diff --git a/components/autofill/core/common/autofill_features.cc b/components/autofill/core/common/autofill_features.cc
|
||||
--- a/components/autofill/core/common/autofill_features.cc
|
||||
+++ b/components/autofill/core/common/autofill_features.cc
|
||||
@@ -948,7 +948,7 @@ BASE_FEATURE(kAutofillThirdPartyModeContentProvider,
|
||||
BASE_FEATURE(kAutofillVirtualViewStructureAndroid,
|
||||
"AutofillVirtualViewStructureAndroid",
|
||||
@@ -935,7 +935,7 @@ BASE_FEATURE(kAutofillEnableSecurityTouchEventFilteringAndroid,
|
||||
BASE_FEATURE(kAutofillThirdPartyModeContentProvider,
|
||||
"AutofillThirdPartyModeContentProvider",
|
||||
base::FEATURE_ENABLED_BY_DEFAULT);
|
||||
-
|
||||
+SET_CROMITE_FEATURE_ENABLED(kAutofillVirtualViewStructureAndroid);
|
||||
#endif // BUILDFLAG(IS_ANDROID)
|
||||
|
||||
namespace test {
|
||||
diff --git a/components/autofill/core/common/autofill_features.h b/components/autofill/core/common/autofill_features.h
|
||||
--- a/components/autofill/core/common/autofill_features.h
|
||||
+++ b/components/autofill/core/common/autofill_features.h
|
||||
@@ -338,28 +338,6 @@ COMPONENT_EXPORT(AUTOFILL)
|
||||
BASE_DECLARE_FEATURE(kAutofillThirdPartyModeContentProvider);
|
||||
COMPONENT_EXPORT(AUTOFILL)
|
||||
BASE_DECLARE_FEATURE(kAutofillVirtualViewStructureAndroid);
|
||||
-
|
||||
-// Used as param for `kAutofillVirtualViewStructureAndroid` to allow
|
||||
-// skipping certain checks when testing manually.
|
||||
-enum class VirtualViewStructureSkipChecks {
|
||||
- kDontSkip = 0,
|
||||
- kSkipAllChecks = 1,
|
||||
- kOnlySkipAwGCheck = 2,
|
||||
-};
|
||||
-
|
||||
-inline constexpr base::FeatureParam<VirtualViewStructureSkipChecks>::Option
|
||||
- kVirtualViewStructureSkipChecksOption[] = {
|
||||
- {VirtualViewStructureSkipChecks::kDontSkip, "dont_skip"},
|
||||
- {VirtualViewStructureSkipChecks::kSkipAllChecks, "skip_all_checks"},
|
||||
- {VirtualViewStructureSkipChecks::kOnlySkipAwGCheck,
|
||||
- "only_skip_awg_check"},
|
||||
-};
|
||||
-inline constexpr base::FeatureParam<VirtualViewStructureSkipChecks>
|
||||
- kAutofillVirtualViewStructureAndroidSkipsCompatibilityCheck{
|
||||
- &kAutofillVirtualViewStructureAndroid, "skip_compatibility_check",
|
||||
- VirtualViewStructureSkipChecks::kDontSkip,
|
||||
- &kVirtualViewStructureSkipChecksOption};
|
||||
-
|
||||
#endif // BUILDFLAG(IS_ANDROID)
|
||||
|
||||
#if BUILDFLAG(IS_APPLE)
|
||||
// Defines if the "Your Saved Info" page is eligible to be shown in Chrome
|
||||
diff --git a/components/autofill/core/common/autofill_prefs.cc b/components/autofill/core/common/autofill_prefs.cc
|
||||
--- a/components/autofill/core/common/autofill_prefs.cc
|
||||
+++ b/components/autofill/core/common/autofill_prefs.cc
|
||||
@@ -56,6 +56,8 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry) {
|
||||
@@ -62,6 +62,8 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry) {
|
||||
registry->RegisterBooleanPref(kAutofillCreditCardFidoAuthOfferCheckboxState,
|
||||
true);
|
||||
#endif
|
||||
@@ -1042,7 +928,7 @@ diff --git a/components/autofill/core/common/autofill_prefs.cc b/components/auto
|
||||
registry->RegisterIntegerPref(kAutocompleteLastVersionRetentionPolicy, 0);
|
||||
registry->RegisterStringPref(kAutofillUploadEncodingSeed, "");
|
||||
registry->RegisterDictionaryPref(kAutofillVoteUploadEvents);
|
||||
@@ -95,7 +97,7 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry) {
|
||||
@@ -101,7 +103,7 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry) {
|
||||
#endif // BUILDFLAG(IS_ANDROID)
|
||||
|
||||
#if BUILDFLAG(IS_ANDROID)
|
||||
@@ -1054,7 +940,7 @@ diff --git a/components/autofill/core/common/autofill_prefs.cc b/components/auto
|
||||
diff --git a/components/autofill/core/common/autofill_prefs.h b/components/autofill/core/common/autofill_prefs.h
|
||||
--- a/components/autofill/core/common/autofill_prefs.h
|
||||
+++ b/components/autofill/core/common/autofill_prefs.h
|
||||
@@ -110,6 +110,11 @@ inline constexpr char kAutofillUploadEventsLastResetTimestamp[] =
|
||||
@@ -118,6 +118,11 @@ inline constexpr char kAutofillNameAndEmailProfileNotSelectedCounter[] =
|
||||
// retention policy was run.
|
||||
inline constexpr char kAutocompleteLastVersionRetentionPolicy[] =
|
||||
"autocomplete.retention_policy_last_version";
|
||||
|
||||
@@ -91,17 +91,17 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsNavigationImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsNavigationImpl.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsNavigationImpl.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsNavigationImpl.java
|
||||
@@ -12,6 +12,9 @@ import android.os.Bundle;
|
||||
import androidx.annotation.Nullable;
|
||||
@@ -11,6 +11,9 @@ import android.os.Bundle;
|
||||
|
||||
import androidx.fragment.app.Fragment;
|
||||
|
||||
+import org.chromium.base.ContextUtils;
|
||||
+import org.chromium.chrome.browser.customtabs.CustomTabActivity;
|
||||
+
|
||||
import org.chromium.base.IntentUtils;
|
||||
import org.chromium.chrome.browser.autofill.settings.AutofillPaymentMethodsFragment;
|
||||
import org.chromium.chrome.browser.autofill.settings.FinancialAccountsManagementFragment;
|
||||
@@ -31,6 +34,13 @@ public class SettingsNavigationImpl implements SettingsNavigation {
|
||||
import org.chromium.build.annotations.NullMarked;
|
||||
import org.chromium.build.annotations.Nullable;
|
||||
@@ -32,6 +35,13 @@ public class SettingsNavigationImpl implements SettingsNavigation {
|
||||
/** Instantiated through SettingsNavigationFactory. */
|
||||
SettingsNavigationImpl() {}
|
||||
|
||||
@@ -130,7 +130,7 @@ diff --git a/chrome/app/generated_resources.grd b/chrome/app/generated_resources
|
||||
<!-- Support Tool strings -->
|
||||
<if expr="not is_android">
|
||||
<part file="support_tool_strings.grdp" />
|
||||
@@ -509,7 +514,7 @@ are declared in tools/grit/grit_args.gni.
|
||||
@@ -527,7 +532,7 @@ are declared in tools/grit/grit_args.gni.
|
||||
Disable
|
||||
</message>
|
||||
<!-- Search strings are only used in webui. These aren't needed on android unless are enabled. -->
|
||||
@@ -142,7 +142,7 @@ diff --git a/chrome/app/generated_resources.grd b/chrome/app/generated_resources
|
||||
diff --git a/chrome/app/settings_strings.grdp b/chrome/app/settings_strings.grdp
|
||||
--- a/chrome/app/settings_strings.grdp
|
||||
+++ b/chrome/app/settings_strings.grdp
|
||||
@@ -2236,6 +2236,9 @@
|
||||
@@ -2218,6 +2218,9 @@
|
||||
<message name="IDS_SETTINGS_SEARCH_ENGINES_QUERY_URL_EXPLANATION" desc="Label for explaining the format of the URL that should be entered by the user in the add/edit search engine dialog.">
|
||||
URL with <ph name="SPECIAL_SYMBOL">%s</ph> in place of query
|
||||
</message>
|
||||
@@ -420,7 +420,7 @@ new file mode 100644
|
||||
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
|
||||
--- a/chrome/browser/BUILD.gn
|
||||
+++ b/chrome/browser/BUILD.gn
|
||||
@@ -3698,6 +3698,9 @@ static_library("browser") {
|
||||
@@ -3706,6 +3706,9 @@ static_library("browser") {
|
||||
"//components/user_scripts/android",
|
||||
]
|
||||
}
|
||||
@@ -459,7 +459,7 @@ diff --git a/chrome/browser/chrome_browser_interface_binders_webui.cc b/chrome/b
|
||||
#if BUILDFLAG(IS_ANDROID)
|
||||
#include "chrome/browser/ui/webui/feed_internals/feed_internals.mojom.h"
|
||||
#include "chrome/browser/ui/webui/feed_internals/feed_internals_ui.h"
|
||||
@@ -497,6 +503,15 @@ void PopulateChromeWebUIFrameBinders(
|
||||
@@ -503,6 +509,15 @@ void PopulateChromeWebUIFrameBinders(
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -475,7 +475,7 @@ diff --git a/chrome/browser/chrome_browser_interface_binders_webui.cc b/chrome/b
|
||||
#if !BUILDFLAG(IS_ANDROID)
|
||||
RegisterWebUIControllerInterfaceBinder<
|
||||
actor_internals::mojom::PageHandlerFactory, ActorInternalsUI>(map);
|
||||
@@ -653,6 +668,9 @@ void PopulateChromeWebUIFrameBinders(
|
||||
@@ -660,6 +675,9 @@ void PopulateChromeWebUIFrameBinders(
|
||||
RegisterWebUIControllerInterfaceBinder<suggest_internals::mojom::PageHandler,
|
||||
SuggestInternalsUI>(map);
|
||||
|
||||
@@ -485,7 +485,7 @@ diff --git a/chrome/browser/chrome_browser_interface_binders_webui.cc b/chrome/b
|
||||
RegisterWebUIControllerInterfaceBinder<
|
||||
password_manager::mojom::PageHandlerFactory, PasswordManagerUI>(map);
|
||||
|
||||
@@ -676,6 +694,9 @@ void PopulateChromeWebUIFrameBinders(
|
||||
@@ -683,6 +701,9 @@ void PopulateChromeWebUIFrameBinders(
|
||||
CertificateManagerUI>(map);
|
||||
#endif // BUILDFLAG(CHROME_ROOT_STORE_CERT_MANAGEMENT_UI)
|
||||
|
||||
@@ -510,7 +510,7 @@ diff --git a/chrome/browser/extensions/extension_util.h b/chrome/browser/extensi
|
||||
diff --git a/chrome/browser/resources/BUILD.gn b/chrome/browser/resources/BUILD.gn
|
||||
--- a/chrome/browser/resources/BUILD.gn
|
||||
+++ b/chrome/browser/resources/BUILD.gn
|
||||
@@ -27,6 +27,13 @@ group("resources") {
|
||||
@@ -28,6 +28,13 @@ group("resources") {
|
||||
public_deps += [ ":component_extension_resources" ]
|
||||
}
|
||||
|
||||
@@ -936,7 +936,7 @@ diff --git a/chrome/browser/search_engines/android/java/src/org/chromium/chrome/
|
||||
diff --git a/chrome/browser/ui/BUILD.gn b/chrome/browser/ui/BUILD.gn
|
||||
--- a/chrome/browser/ui/BUILD.gn
|
||||
+++ b/chrome/browser/ui/BUILD.gn
|
||||
@@ -680,7 +680,11 @@ static_library("ui") {
|
||||
@@ -671,7 +671,11 @@ static_library("ui") {
|
||||
deps += [ "//chrome/browser/ui/android/extensions/windowing/internal" ]
|
||||
}
|
||||
}
|
||||
@@ -949,7 +949,7 @@ diff --git a/chrome/browser/ui/BUILD.gn b/chrome/browser/ui/BUILD.gn
|
||||
# TODO(crbug.com/413572035): Move into build files of the actual
|
||||
# modules depending on this. eg: autofill, user_education.
|
||||
if (is_chrome_branded) {
|
||||
@@ -969,6 +973,25 @@ static_library("ui") {
|
||||
@@ -985,6 +989,25 @@ static_library("ui") {
|
||||
"//extensions/browser:extension_action_enums",
|
||||
]
|
||||
}
|
||||
@@ -1171,7 +1171,7 @@ diff --git a/chrome/browser/ui/webui/chrome_web_ui_configs.cc b/chrome/browser/u
|
||||
#if BUILDFLAG(ENABLE_WEBUI_CERTIFICATE_VIEWER)
|
||||
#include "chrome/browser/ui/webui/certificate_viewer/certificate_viewer_ui.h"
|
||||
#endif
|
||||
@@ -439,4 +444,7 @@ void RegisterChromeWebUIConfigs() {
|
||||
@@ -441,4 +446,7 @@ void RegisterChromeWebUIConfigs() {
|
||||
#if BUILDFLAG(ENTERPRISE_WATERMARK)
|
||||
map.AddWebUIConfig(std::make_unique<WatermarkUIConfig>());
|
||||
#endif
|
||||
@@ -1388,7 +1388,7 @@ diff --git a/chrome/browser/ui/webui/settings/search_engines_handler.h b/chrome/
|
||||
diff --git a/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc b/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc
|
||||
--- a/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc
|
||||
+++ b/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc
|
||||
@@ -2571,6 +2571,8 @@ void AddSearchEnginesStrings(content::WebUIDataSource* html_source) {
|
||||
@@ -2560,6 +2560,8 @@ void AddSearchEnginesStrings(content::WebUIDataSource* html_source) {
|
||||
{"searchEnginesQueryURL", IDS_SETTINGS_SEARCH_ENGINES_QUERY_URL},
|
||||
{"searchEnginesQueryURLExplanation",
|
||||
IDS_SETTINGS_SEARCH_ENGINES_QUERY_URL_EXPLANATION},
|
||||
@@ -1397,7 +1397,7 @@ diff --git a/chrome/browser/ui/webui/settings/settings_localized_strings_provide
|
||||
{"searchEnginesMakeDefault", IDS_SETTINGS_SEARCH_ENGINES_MAKE_DEFAULT},
|
||||
{"searchEnginesActivate", IDS_SETTINGS_SEARCH_ENGINES_ACTIVATE},
|
||||
{"searchEnginesDeactivate", IDS_SETTINGS_SEARCH_ENGINES_DEACTIVATE},
|
||||
@@ -3906,7 +3908,11 @@ void AddLocalizedStrings(content::WebUIDataSource* html_source,
|
||||
@@ -3849,7 +3851,11 @@ void AddLocalizedStrings(content::WebUIDataSource* html_source,
|
||||
AddSiteSettingsStrings(html_source, profile);
|
||||
AddSiteDataPageStrings(html_source, profile);
|
||||
AddStorageAccessStrings(html_source);
|
||||
@@ -1890,7 +1890,7 @@ new file mode 100644
|
||||
diff --git a/chrome/chrome_paks.gni b/chrome/chrome_paks.gni
|
||||
--- a/chrome/chrome_paks.gni
|
||||
+++ b/chrome/chrome_paks.gni
|
||||
@@ -190,6 +190,17 @@ template("chrome_extra_paks") {
|
||||
@@ -189,6 +189,17 @@ template("chrome_extra_paks") {
|
||||
deps += [ "//chrome/browser/resources:component_extension_resources" ]
|
||||
}
|
||||
|
||||
@@ -1957,7 +1957,7 @@ diff --git a/components/search_engines/search_engines_switches.cc b/components/s
|
||||
diff --git a/components/search_engines/template_url.cc b/components/search_engines/template_url.cc
|
||||
--- a/components/search_engines/template_url.cc
|
||||
+++ b/components/search_engines/template_url.cc
|
||||
@@ -2079,6 +2079,10 @@ void TemplateURL::SetURL(const std::string& url) {
|
||||
@@ -2125,6 +2125,10 @@ void TemplateURL::SetURL(const std::string& url) {
|
||||
url_ref().InvalidateCachedValues();
|
||||
}
|
||||
|
||||
@@ -1971,7 +1971,7 @@ diff --git a/components/search_engines/template_url.cc b/components/search_engin
|
||||
diff --git a/components/search_engines/template_url.h b/components/search_engines/template_url.h
|
||||
--- a/components/search_engines/template_url.h
|
||||
+++ b/components/search_engines/template_url.h
|
||||
@@ -989,6 +989,7 @@ class TemplateURL {
|
||||
@@ -1007,6 +1007,7 @@ class TemplateURL {
|
||||
bool CreatedByRegulatoryProgram() const;
|
||||
|
||||
void SetURL(const std::string& url);
|
||||
@@ -2020,7 +2020,7 @@ diff --git a/components/search_engines/template_url_service.cc b/components/sear
|
||||
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
|
||||
@@ -255,7 +255,8 @@ class TemplateURLService final : public WebDataServiceConsumer,
|
||||
@@ -259,7 +259,8 @@ class TemplateURLService final : public WebDataServiceConsumer,
|
||||
TemplateURL* AddWithOverrides(std::unique_ptr<TemplateURL> template_url,
|
||||
const std::u16string& short_name,
|
||||
const std::u16string& keyword,
|
||||
@@ -2030,7 +2030,7 @@ diff --git a/components/search_engines/template_url_service.h b/components/searc
|
||||
|
||||
// Removes the keyword from the model. This deletes the supplied TemplateURL.
|
||||
// This fails if the supplied template_url is the default search provider.
|
||||
@@ -341,7 +342,8 @@ class TemplateURLService final : public WebDataServiceConsumer,
|
||||
@@ -345,7 +346,8 @@ class TemplateURLService final : public WebDataServiceConsumer,
|
||||
void ResetTemplateURL(TemplateURL* url,
|
||||
const std::u16string& title,
|
||||
const std::u16string& keyword,
|
||||
@@ -2136,7 +2136,7 @@ diff --git a/third_party/polymer/v3_0/BUILD.gn b/third_party/polymer/v3_0/BUILD.
|
||||
diff --git a/ui/base/template_expressions.cc b/ui/base/template_expressions.cc
|
||||
--- a/ui/base/template_expressions.cc
|
||||
+++ b/ui/base/template_expressions.cc
|
||||
@@ -20,6 +20,7 @@
|
||||
@@ -16,6 +16,7 @@
|
||||
#include "base/notreached.h"
|
||||
#include "base/strings/escape.h"
|
||||
#include "base/values.h"
|
||||
@@ -2144,7 +2144,7 @@ diff --git a/ui/base/template_expressions.cc b/ui/base/template_expressions.cc
|
||||
|
||||
#if DCHECK_IS_ON()
|
||||
#include "third_party/re2/src/re2/re2.h" // nogncheck
|
||||
@@ -171,11 +172,25 @@ bool ReplaceTemplateExpressionsInternal(
|
||||
@@ -168,11 +169,25 @@ bool ReplaceTemplateExpressionsInternal(
|
||||
std::string key(source.substr(current_pos, key_end - current_pos));
|
||||
CHECK(!key.empty());
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -51,7 +51,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
||||
diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/chrome_content_browser_client.cc
|
||||
--- a/chrome/browser/chrome_content_browser_client.cc
|
||||
+++ b/chrome/browser/chrome_content_browser_client.cc
|
||||
@@ -3692,7 +3692,7 @@ bool ChromeContentBrowserClient::IsFullCookieAccessAllowed(
|
||||
@@ -3825,7 +3825,7 @@ bool ChromeContentBrowserClient::IsFullCookieAccessAllowed(
|
||||
scoped_refptr<content_settings::CookieSettings> cookie_settings =
|
||||
CookieSettingsFactory::GetForProfile(profile);
|
||||
if (!cookie_settings) {
|
||||
@@ -77,7 +77,7 @@ diff --git a/chrome/browser/extensions/api/cookies/cookies_helpers.cc b/chrome/b
|
||||
diff --git a/chrome/browser/net/profile_network_context_service.cc b/chrome/browser/net/profile_network_context_service.cc
|
||||
--- a/chrome/browser/net/profile_network_context_service.cc
|
||||
+++ b/chrome/browser/net/profile_network_context_service.cc
|
||||
@@ -1127,16 +1127,16 @@ ProfileNetworkContextService::CreateCookieManagerParams(
|
||||
@@ -1130,16 +1130,16 @@ ProfileNetworkContextService::CreateCookieManagerParams(
|
||||
// UI to interact with SameSite cookies on accounts.google.com, which is used
|
||||
// for displaying a list of available accounts on the NTP
|
||||
// (chrome://new-tab-page), etc.
|
||||
@@ -114,7 +114,7 @@ diff --git a/chrome/browser/privacy_sandbox/privacy_sandbox_settings_delegate.cc
|
||||
diff --git a/chrome/browser/storage_access_api/storage_access_grant_permission_context.cc b/chrome/browser/storage_access_api/storage_access_grant_permission_context.cc
|
||||
--- a/chrome/browser/storage_access_api/storage_access_grant_permission_context.cc
|
||||
+++ b/chrome/browser/storage_access_api/storage_access_grant_permission_context.cc
|
||||
@@ -220,6 +220,7 @@ FederatedIdentityPermissionContext* IsAutograntViaFedCmAllowed(
|
||||
@@ -221,6 +221,7 @@ FederatedIdentityPermissionContext* IsAutograntViaFedCmAllowed(
|
||||
const url::Origin& embedding_origin,
|
||||
const net::SchemefulSite& embedding_site,
|
||||
const net::SchemefulSite& requesting_site) {
|
||||
@@ -122,7 +122,7 @@ diff --git a/chrome/browser/storage_access_api/storage_access_grant_permission_c
|
||||
CHECK(browser_context);
|
||||
if (!rfh->IsFeatureEnabled(
|
||||
network::mojom::PermissionsPolicyFeature::kIdentityCredentialsGet)) {
|
||||
@@ -466,6 +467,18 @@ void StorageAccessGrantPermissionContext::CheckForAutoGrantOrAutoDenial(
|
||||
@@ -482,6 +483,18 @@ void StorageAccessGrantPermissionContext::CheckForAutoGrantOrAutoDenial(
|
||||
std::unique_ptr<permissions::PermissionRequestData> request_data,
|
||||
permissions::BrowserPermissionCallback callback,
|
||||
net::FirstPartySetMetadata metadata) {
|
||||
@@ -162,17 +162,17 @@ diff --git a/components/browser_ui/strings/android/site_settings.grdp b/componen
|
||||
- Third-party cookies are allowed
|
||||
+ Third-party cookies are partitioned
|
||||
</message>
|
||||
<message name="IDS_THIRD_PARTY_COOKIES_LINK_ROW_SUB_LABEL_DISABLED_INCOGNITO" desc="2 of 3 possible states for the Third-party cookies setting. This text appears beneath the 'Third-party cookies' button label.">
|
||||
Third-party cookies are blocked in Incognito mode
|
||||
@@ -658,7 +658,7 @@
|
||||
Allow third-party cookies
|
||||
<message name="IDS_THIRD_PARTY_COOKIES_LINK_ROW_SUB_LABEL_DISABLED" desc="3 of 3 possible states for the Third-party cookies setting. This text appears beneath the 'Third-party cookies' button label." >
|
||||
Third-party cookies are blocked
|
||||
@@ -667,7 +667,7 @@
|
||||
A site you visit can embed content from other sites, for example, images, ads, and text. Cookies set by these other sites are called third-party cookies.
|
||||
</message>
|
||||
<message name="IDS_WEBSITE_SETTINGS_THIRD_PARTY_COOKIES_PAGE_ALLOW_RADIO_SUB_LABEL" desc="This string appears as a sub label beneath the 'Allow all cookies' label. It summarizes the result of choosing this option.">
|
||||
- Sites will work normally
|
||||
<message name="IDS_WEBSITE_SETTINGS_THIRD_PARTY_COOKIES_PAGE_ALLOW_RADIO_LABEL" desc="1 of 3 options the user has to configure cookies. See the cookies page for context: chrome://settings/cookies.">
|
||||
- Allow third-party cookies
|
||||
+ Partitions all cookies by top frame url
|
||||
</message>
|
||||
<message name="IDS_WEBSITE_SETTINGS_THIRD_PARTY_COOKIES_PAGE_BLOCK_INCOGNITO_RADIO_LABEL" desc="2 of 3 options the user has to configure cookies. See the cookies page for context: chrome://settings/cookies. For more about Incognito mode, see https://support.google.com/chrome?p=incognito.">
|
||||
Block third-party cookies in Incognito mode
|
||||
<message name="IDS_WEBSITE_SETTINGS_THIRD_PARTY_COOKIES_PAGE_BLOCK_RADIO_LABEL" desc="3 of 3 options the user has to configure cookies. See the cookies page for context: chrome://settings/cookies">
|
||||
Block third-party cookies
|
||||
diff --git a/components/content_settings/core/browser/cookie_settings.cc b/components/content_settings/core/browser/cookie_settings.cc
|
||||
--- a/components/content_settings/core/browser/cookie_settings.cc
|
||||
+++ b/components/content_settings/core/browser/cookie_settings.cc
|
||||
@@ -184,7 +184,7 @@ diff --git a/components/content_settings/core/browser/cookie_settings.cc b/compo
|
||||
if (url.is_empty() || first_party_url.is_empty()) {
|
||||
return;
|
||||
}
|
||||
@@ -402,8 +403,7 @@ bool CookieSettings::ShouldBlockThirdPartyCookiesInternal() const {
|
||||
@@ -398,8 +399,7 @@ bool CookieSettings::ShouldBlockThirdPartyCookiesInternal() const {
|
||||
}
|
||||
|
||||
bool CookieSettings::MitigationsEnabledFor3pcdInternal() const {
|
||||
@@ -506,7 +506,7 @@ diff --git a/services/network/cookie_settings.cc b/services/network/cookie_setti
|
||||
diff --git a/services/network/cors/cors_url_loader.cc b/services/network/cors/cors_url_loader.cc
|
||||
--- a/services/network/cors/cors_url_loader.cc
|
||||
+++ b/services/network/cors/cors_url_loader.cc
|
||||
@@ -903,6 +903,7 @@ void CorsURLLoader::StartRequest() {
|
||||
@@ -909,6 +909,7 @@ void CorsURLLoader::StartRequest() {
|
||||
}
|
||||
|
||||
if (request_.credentials_mode == mojom::CredentialsMode::kInclude &&
|
||||
@@ -533,7 +533,7 @@ diff --git a/services/network/restricted_cookie_manager.cc b/services/network/re
|
||||
diff --git a/services/network/url_loader.cc b/services/network/url_loader.cc
|
||||
--- a/services/network/url_loader.cc
|
||||
+++ b/services/network/url_loader.cc
|
||||
@@ -2544,6 +2544,7 @@ bool URLLoader::ShouldSetLoadWithStorageAccess() const {
|
||||
@@ -2550,6 +2550,7 @@ bool URLLoader::ShouldSetLoadWithStorageAccess() const {
|
||||
|
||||
auto determine_storage_access_load_outcome =
|
||||
[&]() -> net::cookie_util::ActivateStorageAccessLoadOutcome {
|
||||
@@ -554,7 +554,7 @@ diff --git a/third_party/blink/renderer/modules/cookie_store/cookie_init.idl b/t
|
||||
diff --git a/third_party/blink/renderer/modules/cookie_store/cookie_store.cc b/third_party/blink/renderer/modules/cookie_store/cookie_store.cc
|
||||
--- a/third_party/blink/renderer/modules/cookie_store/cookie_store.cc
|
||||
+++ b/third_party/blink/renderer/modules/cookie_store/cookie_store.cc
|
||||
@@ -386,6 +386,7 @@ ScriptPromise<IDLUndefined> CookieStore::set(ScriptState* script_state,
|
||||
@@ -393,6 +393,7 @@ ScriptPromise<IDLUndefined> CookieStore::set(ScriptState* script_state,
|
||||
CookieInit* set_options = CookieInit::Create();
|
||||
set_options->setName(name);
|
||||
set_options->setValue(value);
|
||||
@@ -562,7 +562,7 @@ diff --git a/third_party/blink/renderer/modules/cookie_store/cookie_store.cc b/t
|
||||
return set(script_state, set_options, exception_state);
|
||||
}
|
||||
|
||||
@@ -409,6 +410,7 @@ ScriptPromise<IDLUndefined> CookieStore::Delete(
|
||||
@@ -416,6 +417,7 @@ ScriptPromise<IDLUndefined> CookieStore::Delete(
|
||||
set_options->setName(name);
|
||||
set_options->setValue(name.empty() ? "deleted" : "");
|
||||
set_options->setExpires(0);
|
||||
@@ -570,7 +570,7 @@ diff --git a/third_party/blink/renderer/modules/cookie_store/cookie_store.cc b/t
|
||||
return DoWrite(script_state, set_options, exception_state);
|
||||
}
|
||||
|
||||
@@ -424,6 +426,7 @@ ScriptPromise<IDLUndefined> CookieStore::Delete(
|
||||
@@ -431,6 +433,7 @@ ScriptPromise<IDLUndefined> CookieStore::Delete(
|
||||
set_options->setPath(options->path());
|
||||
set_options->setSameSite(V8CookieSameSite::Enum::kStrict);
|
||||
set_options->setPartitioned(options->partitioned());
|
||||
|
||||
@@ -10,11 +10,11 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
||||
.../browser/blob/blob_memory_controller.cc | 20 ++++++++++---------
|
||||
.../browser/quota/quota_device_info_helper.cc | 17 ++++++++++++++--
|
||||
.../approximated_device_memory.cc | 7 ++++++-
|
||||
.../frame/navigator_concurrent_hardware.cc | 16 ++++++---------
|
||||
.../frame/navigator_concurrent_hardware.cc | 18 ++++++-----------
|
||||
.../measure_memory_controller.cc | 5 +++++
|
||||
.../blink/renderer/core/timing/memory_info.cc | 14 ++++++++++---
|
||||
.../core/timing/window_performance.cc | 2 +-
|
||||
10 files changed, 66 insertions(+), 26 deletions(-)
|
||||
10 files changed, 66 insertions(+), 28 deletions(-)
|
||||
create mode 100644 cromite_flags/third_party/blink/common/features_cc/Remove-support-for-device-memory-and-cpu-recovery.inc
|
||||
create mode 100644 cromite_flags/third_party/blink/common/features_h/Remove-support-for-device-memory-and-cpu-recovery.inc
|
||||
|
||||
@@ -59,28 +59,28 @@ new file mode 100644
|
||||
diff --git a/storage/browser/blob/blob_memory_controller.cc b/storage/browser/blob/blob_memory_controller.cc
|
||||
--- a/storage/browser/blob/blob_memory_controller.cc
|
||||
+++ b/storage/browser/blob/blob_memory_controller.cc
|
||||
@@ -54,6 +54,15 @@ using MemoryAllocation = BlobMemoryController::MemoryAllocation;
|
||||
@@ -55,6 +55,15 @@ using MemoryAllocation = BlobMemoryController::MemoryAllocation;
|
||||
using QuotaAllocationTask = BlobMemoryController::QuotaAllocationTask;
|
||||
using DiskSpaceFuncPtr = BlobMemoryController::DiskSpaceFuncPtr;
|
||||
|
||||
+// static
|
||||
+#if BUILDFLAG(IS_ANDROID)
|
||||
+float approximated_device_memory_gb_ = 4.0;
|
||||
+constexpr base::ByteCount approximated_device_memory_gb_ = GiB(4.0);
|
||||
+constexpr int64_t approximated_device_disk_size = 8ull * 1024 * 1024 * 1024;
|
||||
+#else
|
||||
+float approximated_device_memory_gb_ = 8.0;
|
||||
+constexpr base::ByteCount approximated_device_memory_gb_ = GiB(8.0);
|
||||
+constexpr int64_t approximated_device_disk_size = 200ull * 1024 * 1024 * 1024;
|
||||
+#endif
|
||||
+
|
||||
File::Error CreateBlobDirectory(const FilePath& blob_storage_dir) {
|
||||
File::Error error = File::FILE_OK;
|
||||
base::CreateDirectoryAndGetError(blob_storage_dir, &error);
|
||||
@@ -83,23 +92,16 @@ BlobStorageLimits CalculateBlobStorageLimitsImpl(
|
||||
int64_t disk_size = 0ull;
|
||||
uint64_t memory_size = optional_memory_size_for_testing
|
||||
? optional_memory_size_for_testing.value()
|
||||
- : base::SysInfo::AmountOfPhysicalMemory();
|
||||
+ : approximated_device_memory_gb_;
|
||||
@@ -85,22 +94,15 @@ BlobStorageLimits CalculateBlobStorageLimitsImpl(
|
||||
uint64_t memory_size =
|
||||
optional_memory_size_for_testing
|
||||
? optional_memory_size_for_testing.value()
|
||||
- : base::SysInfo::AmountOfPhysicalMemory().InBytesUnsigned();
|
||||
+ : approximated_device_memory_gb_.InBytesUnsigned();
|
||||
if (disk_enabled && CreateBlobDirectory(storage_dir) == base::File::FILE_OK)
|
||||
- disk_size = base::SysInfo::AmountOfTotalDiskSpace(storage_dir);
|
||||
+ disk_size = approximated_device_disk_size;
|
||||
@@ -91,8 +91,7 @@ diff --git a/storage/browser/blob/blob_memory_controller.cc b/storage/browser/bl
|
||||
if (memory_size > 0) {
|
||||
-#if !BUILDFLAG(IS_CHROMEOS) && !BUILDFLAG(IS_ANDROID) && \
|
||||
- defined(ARCH_CPU_64_BITS)
|
||||
constexpr size_t kTwoGigabytes = 2ull * 1024 * 1024 * 1024;
|
||||
limits.max_blob_in_memory_space = kTwoGigabytes;
|
||||
limits.max_blob_in_memory_space = base::GiB(2).InBytesUnsigned();
|
||||
-#elif BUILDFLAG(IS_ANDROID)
|
||||
- limits.max_blob_in_memory_space = static_cast<size_t>(memory_size / 100);
|
||||
-#else
|
||||
@@ -112,10 +111,10 @@ diff --git a/storage/browser/quota/quota_device_info_helper.cc b/storage/browser
|
||||
+
|
||||
+// static
|
||||
+#if BUILDFLAG(IS_ANDROID)
|
||||
+float approximated_device_memory_gb_ = 4.0;
|
||||
+constexpr base::ByteCount approximated_device_memory_gb_ = GiB(4.0);
|
||||
+constexpr int64_t approximated_device_disk_size = 8ull * 1024 * 1024 * 1024;
|
||||
+#else
|
||||
+float approximated_device_memory_gb_ = 8.0;
|
||||
+constexpr base::ByteCount approximated_device_memory_gb_ = GiB(8.0);
|
||||
+constexpr int64_t approximated_device_disk_size = 200ull * 1024 * 1024 * 1024;
|
||||
+#endif
|
||||
+
|
||||
@@ -132,8 +131,8 @@ diff --git a/storage/browser/quota/quota_device_info_helper.cc b/storage/browser
|
||||
}
|
||||
|
||||
uint64_t QuotaDeviceInfoHelper::AmountOfPhysicalMemory() const {
|
||||
- return base::SysInfo::AmountOfPhysicalMemory();
|
||||
+ return approximated_device_memory_gb_;
|
||||
- return base::SysInfo::AmountOfPhysicalMemory().InBytesUnsigned();
|
||||
+ return approximated_device_memory_gb_.InBytesUnsigned();
|
||||
}
|
||||
|
||||
} // namespace storage
|
||||
@@ -163,7 +162,7 @@ diff --git a/third_party/blink/common/device_memory/approximated_device_memory.c
|
||||
diff --git a/third_party/blink/renderer/core/frame/navigator_concurrent_hardware.cc b/third_party/blink/renderer/core/frame/navigator_concurrent_hardware.cc
|
||||
--- a/third_party/blink/renderer/core/frame/navigator_concurrent_hardware.cc
|
||||
+++ b/third_party/blink/renderer/core/frame/navigator_concurrent_hardware.cc
|
||||
@@ -3,22 +3,18 @@
|
||||
@@ -3,26 +3,20 @@
|
||||
// found in the LICENSE file.
|
||||
|
||||
#include "third_party/blink/renderer/core/frame/navigator_concurrent_hardware.h"
|
||||
@@ -174,18 +173,22 @@ diff --git a/third_party/blink/renderer/core/frame/navigator_concurrent_hardware
|
||||
|
||||
namespace blink {
|
||||
|
||||
-namespace {
|
||||
-
|
||||
-// TODO(435582603): Hard-coding this to a common value is a reasonable start,
|
||||
-// but it likely makes sense to vary the hard-coded number by platform and
|
||||
-// form-factor in order to maintain plausibility over time.
|
||||
-constexpr unsigned kReducedHardwareConcurrencyValue = 8u;
|
||||
-
|
||||
} // namespace
|
||||
|
||||
unsigned NavigatorConcurrentHardware::hardwareConcurrency() const {
|
||||
- if (RuntimeEnabledFeatures::ReduceHardwareConcurrencyEnabled()) {
|
||||
- return kReducedHardwareConcurrencyValue;
|
||||
- }
|
||||
- return static_cast<unsigned>(base::SysInfo::NumberOfProcessors());
|
||||
+#if BUILDFLAG(IS_ANDROID)
|
||||
+ return static_cast<unsigned>(2);
|
||||
+ return static_cast<unsigned>(4);
|
||||
+#else
|
||||
+ return static_cast<unsigned>(8);
|
||||
+#endif
|
||||
@@ -195,7 +198,7 @@ diff --git a/third_party/blink/renderer/core/frame/navigator_concurrent_hardware
|
||||
diff --git a/third_party/blink/renderer/core/timing/measure_memory/measure_memory_controller.cc b/third_party/blink/renderer/core/timing/measure_memory/measure_memory_controller.cc
|
||||
--- a/third_party/blink/renderer/core/timing/measure_memory/measure_memory_controller.cc
|
||||
+++ b/third_party/blink/renderer/core/timing/measure_memory/measure_memory_controller.cc
|
||||
@@ -8,6 +8,7 @@
|
||||
@@ -10,6 +10,7 @@
|
||||
#include "base/rand_util.h"
|
||||
#include "components/performance_manager/public/mojom/coordination_unit.mojom-blink.h"
|
||||
#include "services/metrics/public/cpp/ukm_builders.h"
|
||||
@@ -203,7 +206,7 @@ diff --git a/third_party/blink/renderer/core/timing/measure_memory/measure_memor
|
||||
#include "third_party/blink/public/platform/platform.h"
|
||||
#include "third_party/blink/renderer/bindings/core/v8/script_promise.h"
|
||||
#include "third_party/blink/renderer/bindings/core/v8/to_v8_traits.h"
|
||||
@@ -85,6 +86,10 @@ enum class ApiStatus {
|
||||
@@ -86,6 +87,10 @@ enum class ApiStatus {
|
||||
};
|
||||
|
||||
ApiStatus CheckMeasureMemoryAvailability() {
|
||||
|
||||
@@ -6,16 +6,16 @@ Avoid displaying info about intrusive ads
|
||||
|
||||
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
---
|
||||
.../site_settings/SingleWebsiteSettings.java | 52 ++++++++++++-------
|
||||
.../site_settings/SingleWebsiteSettings.java | 51 ++++++++++++-------
|
||||
.../browser_ui/site_settings/Website.java | 14 ++++-
|
||||
.../bromite_content_settings/javascript.inc | 4 ++
|
||||
3 files changed, 50 insertions(+), 20 deletions(-)
|
||||
3 files changed, 50 insertions(+), 19 deletions(-)
|
||||
create mode 100644 components/content_settings/core/browser/bromite_content_settings/javascript.inc
|
||||
|
||||
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
|
||||
@@ -628,6 +628,8 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment
|
||||
@@ -626,6 +626,8 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment
|
||||
setUpSoundPreference(preference);
|
||||
} else if (type == ContentSettingsType.JAVASCRIPT) {
|
||||
setUpJavascriptPreference(preference);
|
||||
@@ -23,16 +23,15 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
|
||||
+ setUpCookiesPreference(preference);
|
||||
} else if (type == ContentSettingsType.GEOLOCATION) {
|
||||
setUpLocationPreference(preference);
|
||||
} else if (type == ContentSettingsType.NOTIFICATIONS) {
|
||||
@@ -1212,18 +1214,8 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment
|
||||
} else if (type == ContentSettingsType.GEOLOCATION_WITH_OPTIONS) {
|
||||
@@ -1110,17 +1112,8 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment
|
||||
private void setUpAdsInformationalBanner() {
|
||||
// Add the informational banner which shows at the top of the UI if ad blocking is
|
||||
// activated on this site.
|
||||
- boolean adBlockingActivated =
|
||||
- SiteSettingsCategory.adsCategoryEnabled()
|
||||
- && WebsitePreferenceBridge.getAdBlockingActivated(
|
||||
- getSiteSettingsDelegate().getBrowserContextHandle(),
|
||||
- mSite.getAddress().getOrigin())
|
||||
- getBrowserContextHandle(), mSite.getAddress().getOrigin())
|
||||
- && findPreference(assumeNonNull(getPreferenceKey(ContentSettingsType.ADS)))
|
||||
- != null;
|
||||
-
|
||||
@@ -43,8 +42,8 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
|
||||
}
|
||||
|
||||
@RequiresNonNull({"mSite"})
|
||||
@@ -1449,12 +1441,13 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment
|
||||
@ContentSettingValues
|
||||
@@ -1440,12 +1433,13 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment
|
||||
@ContentSetting
|
||||
@Nullable Integer currentValue =
|
||||
mSite.getContentSetting(browserContextHandle, ContentSettingsType.JAVASCRIPT);
|
||||
- // If Javascript is blocked by default, then always show a Javascript permission.
|
||||
@@ -52,18 +51,18 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
|
||||
- if ((currentValue == null)
|
||||
- && !WebsitePreferenceBridge.isCategoryEnabled(
|
||||
- browserContextHandle, ContentSettingsType.JAVASCRIPT)) {
|
||||
- currentValue = ContentSettingValues.BLOCK;
|
||||
- currentValue = ContentSetting.BLOCK;
|
||||
+ // Always show the Javascript permission
|
||||
+ if (currentValue == null) {
|
||||
+ currentValue =
|
||||
+ WebsitePreferenceBridge.isCategoryEnabled(
|
||||
+ browserContextHandle, ContentSettingsType.JAVASCRIPT)
|
||||
+ ? ContentSettingValues.ALLOW
|
||||
+ : ContentSettingValues.BLOCK;
|
||||
+ : ContentSetting.BLOCK;
|
||||
}
|
||||
// Not possible to embargo JAVASCRIPT.
|
||||
setupContentSettingsPreference(
|
||||
@@ -1464,6 +1457,29 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment
|
||||
@@ -1455,6 +1449,29 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment
|
||||
isOneTime(ContentSettingsType.JAVASCRIPT));
|
||||
}
|
||||
|
||||
@@ -92,8 +91,8 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
|
||||
+
|
||||
/**
|
||||
* Updates the ads list preference based on whether the site is a candidate for blocking. This
|
||||
* has some custom behavior.
|
||||
@@ -1483,9 +1499,7 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment
|
||||
* has some custom behavior. 1. If the site is a candidate and has activation, the permission
|
||||
@@ -1472,9 +1489,7 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment
|
||||
}
|
||||
// If the ad blocker is activated, then this site will have ads blocked unless there is an
|
||||
// explicit permission disallowing the blocking.
|
||||
@@ -101,17 +100,17 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
|
||||
- WebsitePreferenceBridge.getAdBlockingActivated(
|
||||
- browserContextHandle, mSite.getAddress().getOrigin());
|
||||
+ boolean activated = true;
|
||||
@ContentSettingValues
|
||||
@ContentSetting
|
||||
@Nullable Integer permission =
|
||||
mSite.getContentSetting(browserContextHandle, ContentSettingsType.ADS);
|
||||
diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/Website.java b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/Website.java
|
||||
--- a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/Website.java
|
||||
+++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/Website.java
|
||||
@@ -299,7 +299,19 @@ public final class Website implements WebsiteEntry {
|
||||
@@ -316,7 +316,19 @@ public final class Website implements WebsiteEntry {
|
||||
new ContentSettingException(
|
||||
ContentSettingsType.ADS,
|
||||
getAddress().getOrigin(),
|
||||
- ContentSettingValues.BLOCK,
|
||||
- ContentSetting.BLOCK,
|
||||
+ value,
|
||||
+ ProviderType.NONE,
|
||||
+ /* isEmbargoed= */ false);
|
||||
|
||||
+16
-120
@@ -4,127 +4,23 @@ Subject: kill Auth
|
||||
|
||||
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
---
|
||||
.../signin/SystemAccountManagerDelegate.java | 78 +------------------
|
||||
1 file changed, 4 insertions(+), 74 deletions(-)
|
||||
.../components/signin/AccountManagerFacadeProvider.java | 6 +-----
|
||||
1 file changed, 1 insertion(+), 5 deletions(-)
|
||||
|
||||
diff --git a/components/signin/public/android/java/src/org/chromium/components/signin/SystemAccountManagerDelegate.java b/components/signin/public/android/java/src/org/chromium/components/signin/SystemAccountManagerDelegate.java
|
||||
--- a/components/signin/public/android/java/src/org/chromium/components/signin/SystemAccountManagerDelegate.java
|
||||
+++ b/components/signin/public/android/java/src/org/chromium/components/signin/SystemAccountManagerDelegate.java
|
||||
@@ -24,9 +24,6 @@ import android.os.PatternMatcher;
|
||||
import android.os.Process;
|
||||
import android.os.SystemClock;
|
||||
diff --git a/components/signin/public/android/java/src/org/chromium/components/signin/AccountManagerFacadeProvider.java b/components/signin/public/android/java/src/org/chromium/components/signin/AccountManagerFacadeProvider.java
|
||||
--- a/components/signin/public/android/java/src/org/chromium/components/signin/AccountManagerFacadeProvider.java
|
||||
+++ b/components/signin/public/android/java/src/org/chromium/components/signin/AccountManagerFacadeProvider.java
|
||||
@@ -24,11 +24,7 @@ public class AccountManagerFacadeProvider {
|
||||
private static final AccountManagerFacade INSTANCE;
|
||||
|
||||
-import com.google.android.gms.auth.GoogleAuthException;
|
||||
-import com.google.android.gms.auth.GoogleAuthUtil;
|
||||
-
|
||||
import org.chromium.base.ApiCompatibilityUtils;
|
||||
import org.chromium.base.Callback;
|
||||
import org.chromium.base.ContextUtils;
|
||||
@@ -94,18 +91,6 @@ public class SystemAccountManagerDelegate implements AccountManagerDelegate {
|
||||
|
||||
@Override
|
||||
public Account[] getAccountsSynchronous() throws AccountManagerDelegateException {
|
||||
- if (!isGooglePlayServicesAvailable()) {
|
||||
- throw new AccountManagerDelegateException("Can't use Google Play Services");
|
||||
- }
|
||||
- if (hasGetAccountsPermission()) {
|
||||
- long startTime = SystemClock.elapsedRealtime();
|
||||
- Account[] accounts =
|
||||
- mAccountManager.getAccountsByType(GoogleAuthUtil.GOOGLE_ACCOUNT_TYPE);
|
||||
- RecordHistogram.recordTimesHistogram(
|
||||
- "Signin.AndroidGetAccountsTime_AccountManager",
|
||||
- SystemClock.elapsedRealtime() - startTime);
|
||||
- return accounts;
|
||||
- }
|
||||
// Don't report any accounts if we don't have permission.
|
||||
// TODO(crbug.com/40942462): Throw an exception if permission was denied.
|
||||
return new Account[] {};
|
||||
@@ -116,43 +101,13 @@ public class SystemAccountManagerDelegate implements AccountManagerDelegate {
|
||||
public AccessTokenData getAccessToken(Account account, String authTokenScope)
|
||||
throws AuthException {
|
||||
ThreadUtils.assertOnBackgroundThread();
|
||||
- assert AccountUtils.GOOGLE_ACCOUNT_TYPE.equals(account.type);
|
||||
- try {
|
||||
- return new AccessTokenData(
|
||||
- GoogleAuthUtil.getTokenWithNotification(
|
||||
- ContextUtils.getApplicationContext(), account, authTokenScope, null));
|
||||
- } catch (GoogleAuthException ex) {
|
||||
- // This case includes a UserRecoverableNotifiedException, but most clients will have
|
||||
- // their own retry mechanism anyway.
|
||||
- throw new AuthException(
|
||||
- "Error while getting token for scope '" + authTokenScope + "'",
|
||||
- ex,
|
||||
- new GoogleServiceAuthError(
|
||||
- GoogleServiceAuthErrorState.INVALID_GAIA_CREDENTIALS));
|
||||
- } catch (IOException ex) {
|
||||
- throw new AuthException(
|
||||
- "Error while getting token for scope '" + authTokenScope + "'",
|
||||
- ex,
|
||||
- new GoogleServiceAuthError(GoogleServiceAuthErrorState.CONNECTION_FAILED));
|
||||
- }
|
||||
+ throw new AuthException(AuthException.NONTRANSIENT,
|
||||
+ "Error while getting token for scope '" + authTokenScope + "'",
|
||||
+ new IOException());
|
||||
static {
|
||||
- AccountManagerDelegate delegate =
|
||||
- ServiceLoaderUtil.maybeCreate(AccountManagerDelegate.class);
|
||||
- if (delegate == null) {
|
||||
- delegate = new NullAccountManagerDelegate();
|
||||
- }
|
||||
+ delegate = new NullAccountManagerDelegate();
|
||||
INSTANCE = new AccountManagerFacadeImpl(delegate);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void invalidateAccessToken(String authToken) throws AuthException {
|
||||
- try {
|
||||
- GoogleAuthUtil.clearToken(ContextUtils.getApplicationContext(), authToken);
|
||||
- } catch (GoogleAuthException ex) {
|
||||
- throw new AuthException(
|
||||
- "Error while invalidating access token",
|
||||
- ex,
|
||||
- new GoogleServiceAuthError(
|
||||
- GoogleServiceAuthErrorState.INVALID_GAIA_CREDENTIALS));
|
||||
- } catch (IOException ex) {
|
||||
- throw new AuthException(
|
||||
- "Error while invalidating access token",
|
||||
- ex,
|
||||
- new GoogleServiceAuthError(GoogleServiceAuthErrorState.CONNECTION_FAILED));
|
||||
- }
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -168,24 +123,6 @@ public class SystemAccountManagerDelegate implements AccountManagerDelegate {
|
||||
@SuppressLint("MissingPermission")
|
||||
@Override
|
||||
public void createAddAccountIntent(Callback<@Nullable Intent> callback) {
|
||||
- AccountManagerCallback<Bundle> accountManagerCallback =
|
||||
- accountManagerFuture -> {
|
||||
- try {
|
||||
- Bundle bundle = accountManagerFuture.getResult();
|
||||
- callback.onResult(bundle.getParcelable(AccountManager.KEY_INTENT));
|
||||
- } catch (OperationCanceledException | IOException | AuthenticatorException e) {
|
||||
- Log.e(TAG, "Error while creating an intent to add an account: ", e);
|
||||
- callback.onResult(null);
|
||||
- }
|
||||
- };
|
||||
- mAccountManager.addAccount(
|
||||
- GoogleAuthUtil.GOOGLE_ACCOUNT_TYPE,
|
||||
- null,
|
||||
- null,
|
||||
- null,
|
||||
- null,
|
||||
- accountManagerCallback,
|
||||
- null);
|
||||
}
|
||||
|
||||
// No permission is needed on 23+ and Chrome always has MANAGE_ACCOUNTS permission on lower APIs
|
||||
@@ -219,14 +156,7 @@ public class SystemAccountManagerDelegate implements AccountManagerDelegate {
|
||||
|
||||
@Override
|
||||
public @Nullable GaiaId getAccountGaiaId(String accountEmail) {
|
||||
- try {
|
||||
- return new GaiaId(
|
||||
- GoogleAuthUtil.getAccountId(
|
||||
- ContextUtils.getApplicationContext(), accountEmail));
|
||||
- } catch (IOException | GoogleAuthException ex) {
|
||||
- Log.e(TAG, "SystemAccountManagerDelegate.getAccountGaiaId", ex);
|
||||
- return null;
|
||||
- }
|
||||
+ return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
--
|
||||
|
||||
Reference in New Issue
Block a user