Patches for 140 (need work)
This commit is contained in:
@@ -6,7 +6,7 @@ Force-use-vpython3-for-some-scripts.patch
|
||||
Permit-PGO-for-debug-builds.patch
|
||||
Fix-chromium-vanilla.patch
|
||||
Final-patch-for-chromium-vanilla.patch
|
||||
|
||||
Restore-chrome-password-store.patch
|
||||
Remove-EV-certificates.patch
|
||||
do-not-hide-.orig-files.patch
|
||||
do-not-add-suffix-to-package-name.patch
|
||||
@@ -275,7 +275,6 @@ Enable-Global-Privacy-Control.patch
|
||||
Enable-Do-Not-Track-by-default.patch
|
||||
Media-fingerprinting-mitigations.patch
|
||||
Use-BoringSSL-for-RandBytes.patch
|
||||
Restore-chrome-password-store.patch
|
||||
Disable-support-for-pointer-device-id.patch
|
||||
Disable-CSS-blink-feature-support.patch
|
||||
Close-Sessions-On-Ip-Change.patch
|
||||
|
||||
@@ -24,7 +24,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
.../java/res/xml/incognito_preferences.xml | 37 ++++
|
||||
.../java/res/xml/privacy_preferences.xml | 5 +
|
||||
.../AlwaysIncognitoLinkInterceptor.java | 54 ++++++
|
||||
.../chrome/browser/ChromeTabbedActivity.java | 28 ++-
|
||||
.../chrome/browser/ChromeTabbedActivity.java | 25 ++-
|
||||
.../chrome/browser/app/ChromeActivity.java | 4 +
|
||||
.../AppMenuPropertiesDelegateImpl.java | 7 +-
|
||||
.../ChromeContextMenuPopulator.java | 6 +-
|
||||
@@ -69,7 +69,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
chrome/browser/profiles/profile_selections.h | 7 +-
|
||||
.../browser/ui/android/native_page/BUILD.gn | 2 +
|
||||
.../browser/ui/native_page/NativePage.java | 22 ++-
|
||||
.../browser/omnibox/LocationBarMediator.java | 10 +-
|
||||
.../browser/omnibox/LocationBarMediator.java | 8 +
|
||||
.../strings/android_chrome_strings.grd | 25 +++
|
||||
.../browser/toolbar/LocationBarModel.java | 5 +-
|
||||
chrome/browser/ui/messages/android/BUILD.gn | 1 +
|
||||
@@ -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, 800 insertions(+), 113 deletions(-)
|
||||
69 files changed, 797 insertions(+), 111 deletions(-)
|
||||
create mode 100644 chrome/android/java/res/xml/incognito_preferences.xml
|
||||
create mode 100644 chrome/android/java/src/org/chromium/chrome/browser/AlwaysIncognitoLinkInterceptor.java
|
||||
create mode 100644 chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/IncognitoSettings.java
|
||||
@@ -101,7 +101,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
diff --git a/chrome/android/chrome_java_resources.gni b/chrome/android/chrome_java_resources.gni
|
||||
--- a/chrome/android/chrome_java_resources.gni
|
||||
+++ b/chrome/android/chrome_java_resources.gni
|
||||
@@ -639,6 +639,7 @@ chrome_java_resources = [
|
||||
@@ -620,6 +620,7 @@ chrome_java_resources = [
|
||||
"java/res/xml/main_preferences_legacy.xml",
|
||||
"java/res/xml/manage_sync_preferences.xml",
|
||||
"java/res/xml/personalize_google_services_preferences.xml",
|
||||
@@ -120,7 +120,7 @@ diff --git a/chrome/android/chrome_java_sources.gni b/chrome/android/chrome_java
|
||||
"java/src/com/google/android/apps/chrome/appwidget/bookmarks/BookmarkThumbnailWidgetProvider.java",
|
||||
"java/src/org/chromium/chrome/browser/ActivityTabProvider.java",
|
||||
"java/src/org/chromium/chrome/browser/ActivityUtils.java",
|
||||
@@ -902,6 +903,7 @@ chrome_java_sources = [
|
||||
@@ -907,6 +908,7 @@ chrome_java_sources = [
|
||||
"java/src/org/chromium/chrome/browser/privacy/settings/IncognitoLockSettings.java",
|
||||
"java/src/org/chromium/chrome/browser/privacy/settings/PrivacyPreferencesManagerImpl.java",
|
||||
"java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java",
|
||||
@@ -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;
|
||||
@@ -761,14 +765,19 @@ public class ChromeTabbedActivity extends ChromeActivity {
|
||||
@@ -794,14 +798,19 @@ public class ChromeTabbedActivity extends ChromeActivity {
|
||||
|
||||
Profile profile = mTabModelSelector.getCurrentModel().getProfile();
|
||||
// For saving non-incognito tab closures for Recent Tabs.
|
||||
@@ -285,18 +285,15 @@ 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(
|
||||
@@ -2951,8 +2960,9 @@ public class ChromeTabbedActivity extends ChromeActivity {
|
||||
@@ -3152,7 +3161,7 @@ public class ChromeTabbedActivity extends ChromeActivity {
|
||||
}
|
||||
|
||||
// We determine the model as soon as possible so every systems get initialized coherently.
|
||||
boolean startIncognito =
|
||||
- savedInstanceState != null
|
||||
- && savedInstanceState.getBoolean(IS_INCOGNITO_SELECTED, false);
|
||||
+ AlwaysIncognitoLinkInterceptor.isAlwaysIncognito()
|
||||
+ || (savedInstanceState != null
|
||||
+ && savedInstanceState.getBoolean(IS_INCOGNITO_SELECTED, false));
|
||||
|
||||
mNextTabPolicySupplier = new ChromeNextTabPolicySupplier(mLayoutStateProviderSupplier);
|
||||
|
||||
- boolean startIncognito =
|
||||
+ boolean startIncognito = AlwaysIncognitoLinkInterceptor.isAlwaysIncognito() ||
|
||||
(mSupportedProfileType == SupportedProfileType.OFF_THE_RECORD)
|
||||
|| (mSupportedProfileType == SupportedProfileType.MIXED
|
||||
&& savedInstanceState != null
|
||||
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
|
||||
@@ -308,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;
|
||||
@@ -1981,6 +1982,9 @@ public abstract class ChromeActivity extends AsyncInitializationActivity
|
||||
@@ -2000,6 +2001,9 @@ public abstract class ChromeActivity extends AsyncInitializationActivity
|
||||
throw new IllegalStateException(
|
||||
"Attempting to access TabCreator before initialization");
|
||||
}
|
||||
@@ -345,25 +342,25 @@ 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
|
||||
@@ -34,6 +34,7 @@ import org.chromium.base.metrics.RecordUserAction;
|
||||
import org.chromium.base.shared_preferences.SharedPreferencesManager;
|
||||
import org.chromium.base.supplier.Supplier;
|
||||
@@ -41,6 +41,7 @@ import org.chromium.base.supplier.Supplier;
|
||||
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.bookmarks.BookmarkUtils;
|
||||
import org.chromium.chrome.browser.contextmenu.ChromeContextMenuItem.Item;
|
||||
import org.chromium.chrome.browser.download.DownloadUtils;
|
||||
@@ -370,6 +371,9 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator {
|
||||
public List<Pair<Integer, ModelList>> buildContextMenu() {
|
||||
import org.chromium.chrome.browser.contextmenu.ContextMenuCoordinator.ContextMenuItemType;
|
||||
@@ -420,6 +421,9 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator {
|
||||
mShowEphemeralTabNewLabel = null;
|
||||
mCustomActionMap.clear();
|
||||
|
||||
+ boolean always_incognito =
|
||||
+ AlwaysIncognitoLinkInterceptor.isAlwaysIncognito();
|
||||
+
|
||||
List<Pair<Integer, ModelList>> groupedItems = new ArrayList<>();
|
||||
List<ModelList> groupedItems = new ArrayList<>();
|
||||
|
||||
if (mParams.isPage() && shouldShowEmptySpaceContextMenu()) {
|
||||
@@ -438,7 +442,7 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator {
|
||||
@@ -489,7 +493,7 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator {
|
||||
}
|
||||
}
|
||||
if (FirstRunStatus.getFirstRunFlowComplete()) {
|
||||
@@ -424,15 +421,15 @@ 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
|
||||
@@ -18,6 +18,7 @@ import org.chromium.base.supplier.ObservableSupplier;
|
||||
import org.chromium.base.supplier.Supplier;
|
||||
@@ -21,6 +21,7 @@ import org.chromium.base.supplier.Supplier;
|
||||
import org.chromium.build.annotations.Nullable;
|
||||
import org.chromium.chrome.R;
|
||||
import org.chromium.chrome.browser.ActivityTabProvider;
|
||||
+import org.chromium.chrome.browser.AlwaysIncognitoLinkInterceptor;
|
||||
import org.chromium.chrome.browser.DefaultBrowserInfo;
|
||||
import org.chromium.chrome.browser.app.appmenu.AppMenuPropertiesDelegateImpl;
|
||||
import org.chromium.chrome.browser.bookmarks.BookmarkModel;
|
||||
@@ -218,6 +219,9 @@ public class CustomTabAppMenuPropertiesDelegate extends AppMenuPropertiesDelegat
|
||||
@@ -221,6 +222,9 @@ public class CustomTabAppMenuPropertiesDelegate extends AppMenuPropertiesDelegat
|
||||
openInChromeItemVisible = false;
|
||||
tryAddingReadAloud = false;
|
||||
}
|
||||
@@ -445,7 +442,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
|
||||
@@ -99,6 +99,9 @@ import org.chromium.components.embedder_support.util.UrlConstants;
|
||||
@@ -101,6 +101,9 @@ import org.chromium.components.embedder_support.util.UrlConstants;
|
||||
import org.chromium.device.mojom.ScreenOrientationLockType;
|
||||
import org.chromium.net.NetId;
|
||||
|
||||
@@ -472,15 +469,15 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/Cust
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/download/DownloadUtils.java b/chrome/android/java/src/org/chromium/chrome/browser/download/DownloadUtils.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/download/DownloadUtils.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/download/DownloadUtils.java
|
||||
@@ -36,6 +36,7 @@ import org.chromium.base.FileUtils;
|
||||
import org.chromium.base.IntentUtils;
|
||||
import org.chromium.base.Log;
|
||||
@@ -39,6 +39,7 @@ import org.chromium.base.Log;
|
||||
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.ChromeTabbedActivity;
|
||||
import org.chromium.chrome.browser.IntentHandler;
|
||||
import org.chromium.chrome.browser.app.download.home.DownloadActivityLauncher;
|
||||
@@ -78,6 +79,10 @@ import org.chromium.url.GURL;
|
||||
@@ -82,6 +83,10 @@ import org.chromium.url.GURL;
|
||||
|
||||
import java.io.File;
|
||||
|
||||
@@ -489,9 +486,9 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/download/Downlo
|
||||
+import org.chromium.chrome.browser.preferences.Pref;
|
||||
+
|
||||
/** A class containing some utility static methods. */
|
||||
@NullMarked
|
||||
public class DownloadUtils {
|
||||
private static final String TAG = "download";
|
||||
@@ -303,7 +308,13 @@ public class DownloadUtils {
|
||||
@@ -313,7 +318,13 @@ public class DownloadUtils {
|
||||
public static boolean isAllowedToDownloadPage(Tab tab) {
|
||||
if (tab == null) return false;
|
||||
|
||||
@@ -509,7 +506,7 @@ 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
|
||||
@@ -302,7 +302,9 @@ public class HistoryContentManager implements SignInStateObserver, PrefObserver
|
||||
@@ -307,7 +307,9 @@ public class HistoryContentManager implements SignInStateObserver, PrefObserver
|
||||
mHistoryAdapter.generateFooterItems();
|
||||
|
||||
// Listen to changes in sign in state.
|
||||
@@ -520,7 +517,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/history/History
|
||||
|
||||
// Create PrefChangeRegistrar to receive notifications on preference changes.
|
||||
mPrefChangeRegistrar = PrefServiceUtil.createFor(profile);
|
||||
@@ -378,7 +380,8 @@ public class HistoryContentManager implements SignInStateObserver, PrefObserver
|
||||
@@ -383,7 +385,8 @@ public class HistoryContentManager implements SignInStateObserver, PrefObserver
|
||||
mHistoryAdapter.onDestroyed();
|
||||
mLargeIconBridge.destroy();
|
||||
mLargeIconBridge = null;
|
||||
@@ -533,7 +530,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/history/History
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/history/HistoryManager.java b/chrome/android/java/src/org/chromium/chrome/browser/history/HistoryManager.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/history/HistoryManager.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/history/HistoryManager.java
|
||||
@@ -56,6 +56,14 @@ import org.chromium.ui.base.Clipboard;
|
||||
@@ -57,6 +57,14 @@ import org.chromium.ui.base.Clipboard;
|
||||
import java.util.List;
|
||||
import java.util.function.Function;
|
||||
|
||||
@@ -548,7 +545,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/history/History
|
||||
/** Combines and manages the different UI components of browsing history. */
|
||||
public class HistoryManager
|
||||
implements OnMenuItemClickListener,
|
||||
@@ -161,7 +169,7 @@ public class HistoryManager
|
||||
@@ -162,7 +170,7 @@ public class HistoryManager
|
||||
|
||||
mUmaRecorder.recordOpenHistory();
|
||||
// If incognito placeholder is shown, we don't need to create History UI elements.
|
||||
@@ -557,7 +554,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/history/History
|
||||
mSelectableListLayout = null;
|
||||
mRootView = getIncognitoHistoryPlaceholderView();
|
||||
return;
|
||||
@@ -413,9 +421,22 @@ public class HistoryManager
|
||||
@@ -415,9 +423,22 @@ public class HistoryManager
|
||||
onBackPressStateChanged();
|
||||
}
|
||||
|
||||
@@ -581,7 +578,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;
|
||||
}
|
||||
@@ -475,7 +496,7 @@ public class HistoryManager
|
||||
@@ -477,7 +498,7 @@ public class HistoryManager
|
||||
* @return True if manager handles this event, false if it decides to ignore.
|
||||
*/
|
||||
private boolean onBackPressed() {
|
||||
@@ -634,7 +631,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/native_page/Nat
|
||||
import org.chromium.chrome.browser.app.ChromeActivity;
|
||||
import org.chromium.chrome.browser.app.download.home.DownloadPage;
|
||||
import org.chromium.chrome.browser.bookmarks.BookmarkPage;
|
||||
@@ -351,7 +352,8 @@ public class NativePageFactory {
|
||||
@@ -371,7 +372,8 @@ public class NativePageFactory {
|
||||
String url, NativePage candidatePage, Tab tab, boolean isIncognito, PdfInfo pdfInfo) {
|
||||
NativePage page;
|
||||
|
||||
@@ -647,7 +644,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/native_page/Nat
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/RecentTabsManager.java b/chrome/android/java/src/org/chromium/chrome/browser/ntp/RecentTabsManager.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/ntp/RecentTabsManager.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ntp/RecentTabsManager.java
|
||||
@@ -40,6 +40,15 @@ import org.chromium.components.signin.metrics.SigninAccessPoint;
|
||||
@@ -44,6 +44,15 @@ import org.chromium.components.signin.metrics.SigninAccessPoint;
|
||||
import org.chromium.components.sync.SyncService;
|
||||
import org.chromium.url.GURL;
|
||||
|
||||
@@ -663,7 +660,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/RecentTabsM
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
@@ -108,7 +117,8 @@ public class RecentTabsManager
|
||||
@@ -113,7 +122,8 @@ public class RecentTabsManager
|
||||
Profile profile,
|
||||
Context context,
|
||||
Runnable showHistoryManager) {
|
||||
@@ -673,7 +670,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/RecentTabsM
|
||||
mActiveTab = tab;
|
||||
mTabModelSelector = tabModelSelector;
|
||||
mShowHistoryManager = showHistoryManager;
|
||||
@@ -291,6 +301,22 @@ public class RecentTabsManager
|
||||
@@ -301,6 +311,22 @@ public class RecentTabsManager
|
||||
*/
|
||||
public void openRecentlyClosedTab(RecentlyClosedTab tab, int windowDisposition) {
|
||||
if (mIsDestroyed) return;
|
||||
@@ -879,7 +876,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
|
||||
@@ -53,6 +53,7 @@ import org.chromium.chrome.browser.sync.settings.AccountManagementFragment;
|
||||
@@ -47,6 +47,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;
|
||||
@@ -887,7 +884,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/Fragme
|
||||
import org.chromium.components.browser_ui.accessibility.AccessibilitySettings;
|
||||
import org.chromium.components.browser_ui.bottomsheet.BottomSheetController;
|
||||
import org.chromium.components.browser_ui.settings.FragmentSettingsNavigation;
|
||||
@@ -244,6 +245,9 @@ public class FragmentDependencyProvider extends FragmentManager.FragmentLifecycl
|
||||
@@ -226,6 +227,9 @@ public class FragmentDependencyProvider extends FragmentManager.FragmentLifecycl
|
||||
SigninAndHistorySyncActivityLauncherImpl.get(),
|
||||
new SettingsCustomTabLauncherImpl()));
|
||||
}
|
||||
@@ -1006,15 +1003,15 @@ 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
|
||||
@@ -25,6 +25,7 @@ import org.chromium.base.supplier.Supplier;
|
||||
import org.chromium.build.BuildConfig;
|
||||
@@ -27,6 +27,7 @@ import org.chromium.base.supplier.Supplier;
|
||||
import org.chromium.build.annotations.Contract;
|
||||
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;
|
||||
@@ -219,7 +220,10 @@ public class TabbedAppMenuPropertiesDelegate extends AppMenuPropertiesDelegateIm
|
||||
@@ -220,7 +221,10 @@ public class TabbedAppMenuPropertiesDelegate extends AppMenuPropertiesDelegateIm
|
||||
}
|
||||
|
||||
// New Tab
|
||||
@@ -1029,7 +1026,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/Tab
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java b/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java
|
||||
@@ -218,6 +218,8 @@ import org.chromium.components.webapps.bottomsheet.PwaBottomSheetControllerFacto
|
||||
@@ -212,6 +212,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;
|
||||
@@ -1038,7 +1035,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;
|
||||
@@ -1238,7 +1240,7 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator {
|
||||
@@ -1247,7 +1249,7 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator {
|
||||
() -> {
|
||||
mTabCreatorManagerSupplier
|
||||
.get()
|
||||
@@ -1050,7 +1047,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/Tab
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/ChromeTabCreator.java b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/ChromeTabCreator.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/ChromeTabCreator.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/ChromeTabCreator.java
|
||||
@@ -52,6 +52,10 @@ import org.chromium.ui.base.PageTransition;
|
||||
@@ -53,6 +53,10 @@ import org.chromium.ui.base.PageTransition;
|
||||
import org.chromium.ui.base.WindowAndroid;
|
||||
import org.chromium.url.GURL;
|
||||
|
||||
@@ -1061,9 +1058,9 @@ 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
|
||||
@@ -567,7 +571,6 @@ public class ChromeTabCreator extends TabCreator
|
||||
@@ -580,7 +584,6 @@ public class ChromeTabCreator extends TabCreator
|
||||
// TODO(crbug.com/40691614): Clean up the launches from SearchActivity/Chrome.
|
||||
public Tab launchUrlFromExternalApp(
|
||||
public @Nullable Tab launchUrlFromExternalApp(
|
||||
LoadUrlParams loadUrlParams, String appId, boolean forceNewTab, Intent intent) {
|
||||
- assert !mIncognito;
|
||||
// Don't re-use tabs for intents from Chrome. Note that this can be spoofed so shouldn't be
|
||||
@@ -1092,16 +1089,16 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabMod
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabPersistentStore.java b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabPersistentStore.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabPersistentStore.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabPersistentStore.java
|
||||
@@ -54,6 +54,8 @@ import org.chromium.chrome.browser.tabwindow.TabWindowManager;
|
||||
@@ -61,6 +61,8 @@ import org.chromium.components.browser_ui.util.ConversionUtils;
|
||||
import org.chromium.components.embedder_support.util.UrlUtilities;
|
||||
import org.chromium.content_public.browser.LoadUrlParams;
|
||||
|
||||
+import org.chromium.chrome.browser.AlwaysIncognitoLinkInterceptor;
|
||||
+
|
||||
import java.io.BufferedInputStream;
|
||||
import java.io.BufferedOutputStream;
|
||||
import java.io.ByteArrayInputStream;
|
||||
@@ -844,6 +846,13 @@ public class TabPersistentStore {
|
||||
import java.io.DataInputStream;
|
||||
@@ -838,6 +840,13 @@ public class TabPersistentStore {
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1126,7 +1123,7 @@ 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;
|
||||
@@ -856,7 +857,7 @@ public class ToolbarManager
|
||||
@@ -859,7 +860,7 @@ public class ToolbarManager
|
||||
TraceEvent.end("isOfflinePage");
|
||||
return ret;
|
||||
}
|
||||
@@ -1196,7 +1193,7 @@ diff --git a/chrome/browser/android/historical_tab_saver.cc b/chrome/browser/and
|
||||
using base::android::JavaParamRef;
|
||||
using base::android::JavaRef;
|
||||
using base::android::ScopedJavaLocalRef;
|
||||
@@ -104,7 +109,8 @@ std::vector<std::optional<base::Uuid>> StringsToUuids(
|
||||
@@ -101,7 +106,8 @@ std::vector<std::optional<base::Uuid>> StringsToUuids(
|
||||
|
||||
void CreateHistoricalTab(
|
||||
TabAndroid* tab_android,
|
||||
@@ -1206,7 +1203,7 @@ diff --git a/chrome/browser/android/historical_tab_saver.cc b/chrome/browser/and
|
||||
if (!tab_android) {
|
||||
return;
|
||||
}
|
||||
@@ -115,9 +121,14 @@ void CreateHistoricalTab(
|
||||
@@ -112,9 +118,14 @@ void CreateHistoricalTab(
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -1223,7 +1220,7 @@ diff --git a/chrome/browser/android/historical_tab_saver.cc b/chrome/browser/and
|
||||
if (!service) {
|
||||
return;
|
||||
}
|
||||
@@ -181,7 +192,7 @@ void CreateHistoricalBulkClosure(
|
||||
@@ -178,7 +189,7 @@ void CreateHistoricalBulkClosure(
|
||||
per_tab_optional_tab_group_ids,
|
||||
std::vector<raw_ptr<TabAndroid, VectorExperimental>> tabs,
|
||||
std::vector<WebContentsStateByteBuffer> web_contents_state) {
|
||||
@@ -1232,7 +1229,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());
|
||||
@@ -294,11 +305,12 @@ static void JNI_HistoricalTabSaverImpl_CreateHistoricalTab(
|
||||
@@ -291,11 +302,12 @@ static void JNI_HistoricalTabSaverImpl_CreateHistoricalTab(
|
||||
JNIEnv* env,
|
||||
const JavaParamRef<jobject>& jtab_android,
|
||||
const JavaParamRef<jobject>& state,
|
||||
@@ -1250,8 +1247,8 @@ 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
|
||||
@@ -418,6 +418,15 @@ ChromeAutocompleteProviderClient::GetTabGroupSyncService() const {
|
||||
return tab_groups::TabGroupSyncServiceFactory::GetForProfile(profile_);
|
||||
@@ -427,6 +427,15 @@ ChromeAutocompleteProviderClient::GetAimEligibilityService() const {
|
||||
return AimEligibilityServiceFactory::GetForProfile(profile_);
|
||||
}
|
||||
|
||||
+bool ChromeAutocompleteProviderClient::IsAlwaysIncognitoEnabled() const {
|
||||
@@ -1269,9 +1266,9 @@ diff --git a/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc
|
||||
diff --git a/chrome/browser/autocomplete/chrome_autocomplete_provider_client.h b/chrome/browser/autocomplete/chrome_autocomplete_provider_client.h
|
||||
--- a/chrome/browser/autocomplete/chrome_autocomplete_provider_client.h
|
||||
+++ b/chrome/browser/autocomplete/chrome_autocomplete_provider_client.h
|
||||
@@ -96,6 +96,7 @@ class ChromeAutocompleteProviderClient : public AutocompleteProviderClient {
|
||||
ProviderStateService* GetProviderStateService() const override;
|
||||
tab_groups::TabGroupSyncService* GetTabGroupSyncService() const override;
|
||||
@@ -99,6 +99,7 @@ class ChromeAutocompleteProviderClient : public AutocompleteProviderClient {
|
||||
AimEligibilityService* GetAimEligibilityService() const override;
|
||||
|
||||
bool IsOffTheRecord() const override;
|
||||
+ bool IsAlwaysIncognitoEnabled() const override;
|
||||
bool IsIncognitoProfile() const override;
|
||||
@@ -1387,7 +1384,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"
|
||||
@@ -568,6 +571,13 @@ void HistoryTabHelper::TitleWasSet(NavigationEntry* entry) {
|
||||
@@ -598,6 +601,13 @@ void HistoryTabHelper::TitleWasSet(NavigationEntry* entry) {
|
||||
history::HistoryService* HistoryTabHelper::GetHistoryService() {
|
||||
Profile* profile =
|
||||
Profile::FromBrowserContext(web_contents()->GetBrowserContext());
|
||||
@@ -1401,7 +1398,7 @@ diff --git a/chrome/browser/history/history_tab_helper.cc b/chrome/browser/histo
|
||||
if (profile->IsOffTheRecord())
|
||||
return nullptr;
|
||||
|
||||
@@ -575,6 +585,16 @@ history::HistoryService* HistoryTabHelper::GetHistoryService() {
|
||||
@@ -605,6 +615,16 @@ history::HistoryService* HistoryTabHelper::GetHistoryService() {
|
||||
profile, ServiceAccessType::IMPLICIT_ACCESS);
|
||||
}
|
||||
|
||||
@@ -1421,7 +1418,7 @@ diff --git a/chrome/browser/history/history_tab_helper.cc b/chrome/browser/histo
|
||||
diff --git a/chrome/browser/history/history_tab_helper.h b/chrome/browser/history/history_tab_helper.h
|
||||
--- a/chrome/browser/history/history_tab_helper.h
|
||||
+++ b/chrome/browser/history/history_tab_helper.h
|
||||
@@ -15,6 +15,8 @@
|
||||
@@ -17,6 +17,8 @@
|
||||
#include "components/translate/core/browser/translate_driver.h"
|
||||
#include "content/public/browser/web_contents_observer.h"
|
||||
#include "content/public/browser/web_contents_user_data.h"
|
||||
@@ -1430,8 +1427,8 @@ diff --git a/chrome/browser/history/history_tab_helper.h b/chrome/browser/histor
|
||||
|
||||
namespace history {
|
||||
struct HistoryAddPageArgs;
|
||||
@@ -54,6 +56,11 @@ class HistoryTabHelper
|
||||
void SetAppId(const std::string& app_id) { app_id_ = app_id; }
|
||||
@@ -59,6 +61,11 @@ class HistoryTabHelper
|
||||
std::optional<std::string> GetAppId() { return app_id_; }
|
||||
#endif
|
||||
|
||||
+ static void RegisterProfilePrefs(PrefRegistrySimple* registry);
|
||||
@@ -1442,7 +1439,7 @@ diff --git a/chrome/browser/history/history_tab_helper.h b/chrome/browser/histor
|
||||
private:
|
||||
explicit HistoryTabHelper(content::WebContents* web_contents);
|
||||
friend class content::WebContentsUserData<HistoryTabHelper>;
|
||||
@@ -91,9 +98,6 @@ class HistoryTabHelper
|
||||
@@ -101,9 +108,6 @@ class HistoryTabHelper
|
||||
void OnLanguageDetermined(
|
||||
const translate::LanguageDetectionDetails& details) override;
|
||||
|
||||
@@ -1465,7 +1462,7 @@ diff --git a/chrome/browser/offline_pages/android/offline_page_bridge.cc b/chrom
|
||||
|
||||
// Must come after all headers that specialize FromJniType() / ToJniType().
|
||||
#include "chrome/android/chrome_jni_headers/OfflinePageBridge_jni.h"
|
||||
@@ -757,9 +760,15 @@ void OfflinePageBridge::GetPageByOfflineIdDone(
|
||||
@@ -731,9 +734,15 @@ void OfflinePageBridge::GetPageByOfflineIdDone(
|
||||
}
|
||||
|
||||
if (offline_page_model_->IsArchiveInInternalDir(offline_page->file_path)) {
|
||||
@@ -1750,7 +1747,7 @@ diff --git a/chrome/browser/offline_pages/request_coordinator_factory.h b/chrome
|
||||
diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browser_prefs.cc
|
||||
--- a/chrome/browser/prefs/browser_prefs.cc
|
||||
+++ b/chrome/browser/prefs/browser_prefs.cc
|
||||
@@ -256,6 +256,7 @@
|
||||
@@ -254,6 +254,7 @@
|
||||
|
||||
#if BUILDFLAG(IS_ANDROID)
|
||||
#include "chrome/browser/accessibility/accessibility_prefs/android/accessibility_prefs_controller.h"
|
||||
@@ -1758,7 +1755,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"
|
||||
@@ -2142,6 +2143,10 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry,
|
||||
@@ -2061,6 +2062,10 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry,
|
||||
usage_stats::UsageStatsBridge::RegisterProfilePrefs(registry);
|
||||
variations::VariationsService::RegisterProfilePrefs(registry);
|
||||
webapps::InstallPromptPrefs::RegisterProfilePrefs(registry);
|
||||
@@ -1844,7 +1841,7 @@ diff --git a/chrome/browser/ui/android/native_page/java/src/org/chromium/chrome/
|
||||
/** An interface for pages that will be using Android views instead of html/rendered Web content. */
|
||||
@NullMarked
|
||||
public interface NativePage {
|
||||
@@ -179,7 +181,8 @@ public interface NativePage {
|
||||
@@ -187,7 +189,8 @@ public interface NativePage {
|
||||
*/
|
||||
static boolean isNativePageUrl(GURL url, boolean isIncognito, boolean hasPdfDownload) {
|
||||
return url != null
|
||||
@@ -1854,7 +1851,7 @@ diff --git a/chrome/browser/ui/android/native_page/java/src/org/chromium/chrome/
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -189,7 +192,7 @@ public interface NativePage {
|
||||
@@ -197,7 +200,7 @@ public interface NativePage {
|
||||
* not have chrome or chrome-native scheme.
|
||||
*/
|
||||
static boolean isChromePageUrl(GURL url, boolean isIncognito) {
|
||||
@@ -1863,7 +1860,7 @@ diff --git a/chrome/browser/ui/android/native_page/java/src/org/chromium/chrome/
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -201,11 +204,12 @@ public interface NativePage {
|
||||
@@ -209,11 +212,12 @@ public interface NativePage {
|
||||
*/
|
||||
// TODO(crbug.com/40549331) - Convert to using GURL.
|
||||
static @NativePageType int nativePageType(
|
||||
@@ -1878,7 +1875,7 @@ diff --git a/chrome/browser/ui/android/native_page/java/src/org/chromium/chrome/
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -219,7 +223,8 @@ public interface NativePage {
|
||||
@@ -227,7 +231,8 @@ public interface NativePage {
|
||||
GURL url,
|
||||
@Nullable NativePage candidatePage,
|
||||
boolean isIncognito,
|
||||
@@ -1888,7 +1885,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.
|
||||
@@ -237,7 +242,7 @@ public interface NativePage {
|
||||
@@ -245,7 +250,7 @@ public interface NativePage {
|
||||
// created after the pdf document is re-downloaded in other parts of the code.
|
||||
return NativePageType.NONE;
|
||||
} else {
|
||||
@@ -1897,7 +1894,7 @@ diff --git a/chrome/browser/ui/android/native_page/java/src/org/chromium/chrome/
|
||||
}
|
||||
}
|
||||
|
||||
@@ -249,7 +254,7 @@ public interface NativePage {
|
||||
@@ -257,7 +262,7 @@ public interface NativePage {
|
||||
* which do not have chrome or chrome-native scheme.
|
||||
*/
|
||||
private static @NativePageType int chromePageType(
|
||||
@@ -1906,7 +1903,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)
|
||||
@@ -269,7 +274,8 @@ public interface NativePage {
|
||||
@@ -277,7 +282,8 @@ public interface NativePage {
|
||||
return NativePageType.DOWNLOADS;
|
||||
} else if (UrlConstants.HISTORY_HOST.equals(host)) {
|
||||
return NativePageType.HISTORY;
|
||||
@@ -1919,7 +1916,7 @@ diff --git a/chrome/browser/ui/android/native_page/java/src/org/chromium/chrome/
|
||||
diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarMediator.java b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarMediator.java
|
||||
--- a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarMediator.java
|
||||
+++ b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarMediator.java
|
||||
@@ -91,6 +91,11 @@ import org.chromium.ui.base.WindowAndroid;
|
||||
@@ -92,6 +92,11 @@ import org.chromium.ui.base.WindowAndroid;
|
||||
import org.chromium.ui.interpolators.Interpolators;
|
||||
import org.chromium.url.GURL;
|
||||
|
||||
@@ -1931,25 +1928,20 @@ 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;
|
||||
@@ -1300,10 +1305,13 @@ class LocationBarMediator
|
||||
}
|
||||
@@ -419,6 +424,9 @@ class LocationBarMediator
|
||||
if (!DeviceFormFactor.isNonMultiDisplayContextOnTablet(mContext)) return;
|
||||
Tab tab = mLocationBarDataProvider.getTab();
|
||||
if (tab == null) return false;
|
||||
if (tab == null) return;
|
||||
+ PrefService prefService = UserPrefs.get(ProfileManager.getLastUsedRegularProfile());
|
||||
+ boolean historyEnabledInIncognito =
|
||||
+ prefService.getBoolean(Pref.INCOGNITO_TAB_HISTORY_ENABLED);
|
||||
// The save offline button should not be shown on native pages. Currently, trying to
|
||||
// save an offline page in incognito crashes, so don't show it on incognito either.
|
||||
return shouldShowPageActionButtons()
|
||||
- && (!tab.isOffTheRecord()
|
||||
+ && (!tab.isOffTheRecord() || historyEnabledInIncognito
|
||||
|| ChromeFeatureList.isEnabled(
|
||||
ChromeFeatureList.ENABLE_SAVE_PACKAGE_FOR_OFF_THE_RECORD));
|
||||
}
|
||||
boolean onNtp = UrlUtilities.isNtpUrl(tab.getUrl());
|
||||
|
||||
if (ChromeAccessibilityUtil.get().isAccessibilityEnabled()
|
||||
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
|
||||
@@ -6796,6 +6796,31 @@ To change this setting, <ph name="BEGIN_LINK">BEGIN_LINK</ph>delete the Chrome d
|
||||
@@ -6554,6 +6554,31 @@ To change this setting, <ph name="BEGIN_LINK">BEGIN_LINK</ph>delete the Chrome d
|
||||
<message name="IDS_QUICK_DELETE_DIALOG_COOKIES_CACHE_AND_OTHER_SITE_DATA_TEXT" desc="Text indicating that browsing data like cookies, cache, and other site data would be deleted.">
|
||||
Cookies, cache, and other site data
|
||||
</message>
|
||||
@@ -2073,7 +2065,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
|
||||
@@ -4090,6 +4090,12 @@ inline constexpr char kOutOfProcessSystemDnsResolutionEnabled[] =
|
||||
@@ -4108,6 +4108,12 @@ inline constexpr char kOutOfProcessSystemDnsResolutionEnabled[] =
|
||||
"net.out_of_process_system_dns_resolution_enabled";
|
||||
#endif // BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX)
|
||||
|
||||
@@ -2089,7 +2081,7 @@ diff --git a/chrome/common/pref_names.h b/chrome/common/pref_names.h
|
||||
diff --git a/components/content_settings/core/browser/content_settings_pref_provider.cc b/components/content_settings/core/browser/content_settings_pref_provider.cc
|
||||
--- a/components/content_settings/core/browser/content_settings_pref_provider.cc
|
||||
+++ b/components/content_settings/core/browser/content_settings_pref_provider.cc
|
||||
@@ -111,10 +111,12 @@ void PrefProvider::RegisterProfilePrefs(
|
||||
@@ -114,10 +114,12 @@ void PrefProvider::RegisterProfilePrefs(
|
||||
|
||||
PrefProvider::PrefProvider(PrefService* prefs,
|
||||
bool off_the_record,
|
||||
@@ -2102,7 +2094,7 @@ diff --git a/components/content_settings/core/browser/content_settings_pref_prov
|
||||
store_last_modified_(store_last_modified),
|
||||
clock_(base::DefaultClock::GetInstance()) {
|
||||
TRACE_EVENT_BEGIN("startup", "PrefProvider::PrefProvider");
|
||||
@@ -137,11 +139,13 @@ PrefProvider::PrefProvider(PrefService* prefs,
|
||||
@@ -140,11 +142,13 @@ PrefProvider::PrefProvider(PrefService* prefs,
|
||||
WebsiteSettingsRegistry* website_settings =
|
||||
WebsiteSettingsRegistry::GetInstance();
|
||||
for (const WebsiteSettingsInfo* info : *website_settings) {
|
||||
@@ -2139,7 +2131,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
|
||||
@@ -269,6 +269,7 @@ struct ContentSettingEntry {
|
||||
@@ -287,6 +287,7 @@ struct ContentSettingEntry {
|
||||
|
||||
HostContentSettingsMap::HostContentSettingsMap(PrefService* prefs,
|
||||
bool is_off_the_record,
|
||||
@@ -2147,7 +2139,7 @@ diff --git a/components/content_settings/core/browser/host_content_settings_map.
|
||||
bool store_last_modified,
|
||||
bool restore_session,
|
||||
bool should_record_metrics)
|
||||
@@ -278,6 +279,7 @@ HostContentSettingsMap::HostContentSettingsMap(PrefService* prefs,
|
||||
@@ -296,6 +297,7 @@ HostContentSettingsMap::HostContentSettingsMap(PrefService* prefs,
|
||||
#endif
|
||||
prefs_(prefs),
|
||||
is_off_the_record_(is_off_the_record),
|
||||
@@ -2155,7 +2147,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()) {
|
||||
@@ -291,7 +293,7 @@ HostContentSettingsMap::HostContentSettingsMap(PrefService* prefs,
|
||||
@@ -309,7 +311,7 @@ HostContentSettingsMap::HostContentSettingsMap(PrefService* prefs,
|
||||
policy_provider->AddObserver(this);
|
||||
|
||||
auto pref_provider_ptr = std::make_unique<content_settings::PrefProvider>(
|
||||
@@ -2167,7 +2159,7 @@ diff --git a/components/content_settings/core/browser/host_content_settings_map.
|
||||
diff --git a/components/content_settings/core/browser/host_content_settings_map.h b/components/content_settings/core/browser/host_content_settings_map.h
|
||||
--- a/components/content_settings/core/browser/host_content_settings_map.h
|
||||
+++ b/components/content_settings/core/browser/host_content_settings_map.h
|
||||
@@ -83,6 +83,7 @@ class HostContentSettingsMap : public content_settings::Observer,
|
||||
@@ -84,6 +84,7 @@ class HostContentSettingsMap : public content_settings::Observer,
|
||||
// profile or a guest session.
|
||||
HostContentSettingsMap(PrefService* prefs,
|
||||
bool is_off_the_record,
|
||||
@@ -2175,7 +2167,7 @@ diff --git a/components/content_settings/core/browser/host_content_settings_map.
|
||||
bool store_last_modified,
|
||||
bool restore_session,
|
||||
bool should_record_metrics);
|
||||
@@ -511,6 +512,8 @@ class HostContentSettingsMap : public content_settings::Observer,
|
||||
@@ -544,6 +545,8 @@ class HostContentSettingsMap : public content_settings::Observer,
|
||||
// Whether this settings map is for an incognito or guest session.
|
||||
bool is_off_the_record_;
|
||||
|
||||
@@ -2187,7 +2179,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
|
||||
@@ -65,3 +65,7 @@ base::WeakPtr<AutocompleteProviderClient>
|
||||
@@ -66,3 +66,7 @@ base::WeakPtr<AutocompleteProviderClient>
|
||||
AutocompleteProviderClient::GetWeakPtr() {
|
||||
return nullptr;
|
||||
}
|
||||
@@ -2198,7 +2190,7 @@ diff --git a/components/omnibox/browser/autocomplete_provider_client.cc b/compon
|
||||
diff --git a/components/omnibox/browser/autocomplete_provider_client.h b/components/omnibox/browser/autocomplete_provider_client.h
|
||||
--- a/components/omnibox/browser/autocomplete_provider_client.h
|
||||
+++ b/components/omnibox/browser/autocomplete_provider_client.h
|
||||
@@ -152,6 +152,7 @@ class AutocompleteProviderClient : public OmniboxAction::Client {
|
||||
@@ -154,6 +154,7 @@ class AutocompleteProviderClient : public OmniboxAction::Client {
|
||||
virtual bool IsOffTheRecord() const = 0;
|
||||
virtual bool IsIncognitoProfile() const = 0;
|
||||
virtual bool IsGuestSession() const = 0;
|
||||
@@ -2209,7 +2201,7 @@ diff --git a/components/omnibox/browser/autocomplete_provider_client.h b/compone
|
||||
diff --git a/components/omnibox/browser/base_search_provider.cc b/components/omnibox/browser/base_search_provider.cc
|
||||
--- a/components/omnibox/browser/base_search_provider.cc
|
||||
+++ b/components/omnibox/browser/base_search_provider.cc
|
||||
@@ -413,7 +413,7 @@ bool BaseSearchProvider::CanSendSuggestRequest(
|
||||
@@ -431,7 +431,7 @@ bool BaseSearchProvider::CanSendSuggestRequest(
|
||||
|
||||
// Don't make a suggest request if in incognito mode; unless for the Lens
|
||||
// searchboxes.
|
||||
@@ -2221,7 +2213,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
|
||||
@@ -915,7 +915,8 @@ std::unique_ptr<network::SimpleURLLoader> SearchProvider::CreateSuggestLoader(
|
||||
@@ -916,7 +916,8 @@ std::unique_ptr<network::SimpleURLLoader> SearchProvider::CreateSuggestLoader(
|
||||
// is required.
|
||||
// Request for suggestions in OTR contexts is not allowed; except for the Lens
|
||||
// searchboxes.
|
||||
|
||||
@@ -37,9 +37,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
.../preferences/ChromePreferenceKeys.java | 3 +
|
||||
.../strings/android_chrome_strings.grd | 18 ++
|
||||
chrome/common/BUILD.gn | 3 +
|
||||
chrome/utility/BUILD.gn | 7 +-
|
||||
.../utility/importer/bookmark_html_reader.cc | 28 +-
|
||||
.../utility/importer/bookmark_html_reader.h | 8 +
|
||||
chrome/utility/BUILD.gn | 5 +
|
||||
.../headless_select_file_dialog.cc | 4 +
|
||||
.../add-bookmark-import-export-actions.inc | 12 +
|
||||
.../add-bookmark-import-export-actions.inc | 4 +
|
||||
@@ -52,7 +50,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
ui/shell_dialogs/select_file_dialog_linux.cc | 4 +
|
||||
ui/shell_dialogs/select_file_dialog_linux.h | 2 +
|
||||
ui/shell_dialogs/select_file_dialog_win.cc | 5 +
|
||||
41 files changed, 905 insertions(+), 29 deletions(-)
|
||||
39 files changed, 872 insertions(+), 24 deletions(-)
|
||||
create mode 100644 cromite_flags/chrome/browser/about_flags_cc/add-bookmark-import-export-actions.inc
|
||||
create mode 100644 cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/add-bookmark-import-export-actions.inc
|
||||
create mode 100644 cromite_flags/chrome/browser/flags/android/chrome_feature_list_h/add-bookmark-import-export-actions.inc
|
||||
@@ -103,8 +101,8 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/TabbedModeTabDe
|
||||
import org.chromium.chrome.browser.app.tab_activity_glue.ActivityTabWebContentsDelegateAndroid;
|
||||
import org.chromium.chrome.browser.browser_controls.BrowserControlsStateProvider;
|
||||
import org.chromium.chrome.browser.compositor.CompositorViewHolder;
|
||||
@@ -55,7 +56,7 @@ import org.chromium.ui.modaldialog.ModalDialogManager;
|
||||
* {@link ChromeTabbedActivity}.
|
||||
@@ -60,7 +61,7 @@ import java.util.List;
|
||||
* ChromeTabbedActivity}.
|
||||
*/
|
||||
public class TabbedModeTabDelegateFactory implements TabDelegateFactory {
|
||||
- private final Activity mActivity;
|
||||
@@ -112,7 +110,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/TabbedModeTabDe
|
||||
private final BrowserControlsVisibilityDelegate mAppBrowserControlsVisibilityDelegate;
|
||||
private final Supplier<ShareDelegate> mShareDelegateSupplier;
|
||||
private final Supplier<EphemeralTabCoordinator> mEphemeralTabCoordinatorSupplier;
|
||||
@@ -85,7 +86,7 @@ public class TabbedModeTabDelegateFactory implements TabDelegateFactory {
|
||||
@@ -91,7 +92,7 @@ public class TabbedModeTabDelegateFactory implements TabDelegateFactory {
|
||||
private NativePageFactory mNativePageFactory;
|
||||
|
||||
public TabbedModeTabDelegateFactory(
|
||||
@@ -208,7 +206,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/native_page/Nat
|
||||
import org.chromium.chrome.browser.app.download.home.DownloadPage;
|
||||
import org.chromium.chrome.browser.bookmarks.BookmarkPage;
|
||||
import org.chromium.chrome.browser.browser_controls.BrowserControlsMarginSupplier;
|
||||
@@ -62,7 +63,7 @@ import org.chromium.ui.util.ColorUtils;
|
||||
@@ -63,7 +64,7 @@ import org.chromium.ui.util.ColorUtils;
|
||||
* Creates NativePage objects to show chrome-native:// URLs using the native Android view system.
|
||||
*/
|
||||
public class NativePageFactory {
|
||||
@@ -217,7 +215,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/native_page/Nat
|
||||
private final BottomSheetController mBottomSheetController;
|
||||
private final BrowserControlsManager mBrowserControlsManager;
|
||||
private final Supplier<Tab> mCurrentTabSupplier;
|
||||
@@ -85,7 +86,7 @@ public class NativePageFactory {
|
||||
@@ -87,7 +88,7 @@ public class NativePageFactory {
|
||||
private static NativePage sTestPage;
|
||||
|
||||
public NativePageFactory(
|
||||
@@ -226,7 +224,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/native_page/Nat
|
||||
@NonNull BottomSheetController sheetController,
|
||||
@NonNull BrowserControlsManager browserControlsManager,
|
||||
@NonNull Supplier<Tab> currentTabSupplier,
|
||||
@@ -157,7 +158,7 @@ public class NativePageFactory {
|
||||
@@ -162,7 +163,7 @@ public class NativePageFactory {
|
||||
|
||||
@VisibleForTesting
|
||||
static class NativePageBuilder {
|
||||
@@ -235,7 +233,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/native_page/Nat
|
||||
private final BottomSheetController mBottomSheetController;
|
||||
private final Supplier<NewTabPageCreationTracker> mNewTabPageCreationTracker;
|
||||
private final BrowserControlsManager mBrowserControlsManager;
|
||||
@@ -262,7 +263,7 @@ public class NativePageFactory {
|
||||
@@ -271,7 +272,7 @@ public class NativePageFactory {
|
||||
mBrowserControlsManager,
|
||||
mTabModelSelector,
|
||||
mEdgeToEdgeControllerSupplier),
|
||||
@@ -247,7 +245,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/native_page/Nat
|
||||
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
|
||||
--- a/chrome/browser/BUILD.gn
|
||||
+++ b/chrome/browser/BUILD.gn
|
||||
@@ -248,6 +248,8 @@ static_library("browser") {
|
||||
@@ -245,6 +245,8 @@ static_library("browser") {
|
||||
"bluetooth/chrome_bluetooth_delegate_impl_client.h",
|
||||
"bookmarks/bookmark_model_factory.cc",
|
||||
"bookmarks/bookmark_model_factory.h",
|
||||
@@ -256,7 +254,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
|
||||
"bookmarks/chrome_bookmark_client.cc",
|
||||
"bookmarks/chrome_bookmark_client.h",
|
||||
"bookmarks/managed_bookmark_service_factory.cc",
|
||||
@@ -1760,6 +1762,13 @@ static_library("browser") {
|
||||
@@ -1721,6 +1723,13 @@ static_library("browser") {
|
||||
]
|
||||
}
|
||||
|
||||
@@ -270,7 +268,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
|
||||
configs += [
|
||||
"//build/config/compiler:wexit_time_destructors",
|
||||
"//build/config:precompiled_headers",
|
||||
@@ -3684,8 +3693,6 @@ static_library("browser") {
|
||||
@@ -3697,8 +3706,6 @@ static_library("browser") {
|
||||
"bookmarks/bookmark_expanded_state_tracker.h",
|
||||
"bookmarks/bookmark_expanded_state_tracker_factory.cc",
|
||||
"bookmarks/bookmark_expanded_state_tracker_factory.h",
|
||||
@@ -637,7 +635,7 @@ diff --git a/chrome/browser/bookmarks/android/bookmark_bridge.h b/chrome/browser
|
||||
void GetAllFoldersWithDepths(
|
||||
JNIEnv* env,
|
||||
const base::android::JavaParamRef<jobject>& j_folders_obj,
|
||||
@@ -390,6 +411,8 @@ class BookmarkBridge : public ProfileObserver,
|
||||
@@ -385,6 +406,8 @@ class BookmarkBridge : public ProfileObserver,
|
||||
void CreateOrDestroyAccountReadingListManagerIfNeeded();
|
||||
|
||||
const raw_ptr<Profile> profile_; // weak
|
||||
@@ -646,7 +644,7 @@ diff --git a/chrome/browser/bookmarks/android/bookmark_bridge.h b/chrome/browser
|
||||
base::android::ScopedJavaGlobalRef<jobject> java_bookmark_model_;
|
||||
const raw_ptr<bookmarks::BookmarkModel> bookmark_model_; // weak
|
||||
const raw_ptr<bookmarks::ManagedBookmarkService>
|
||||
@@ -404,6 +427,7 @@ class BookmarkBridge : public ProfileObserver,
|
||||
@@ -399,6 +422,7 @@ class BookmarkBridge : public ProfileObserver,
|
||||
std::unique_ptr<bookmarks::ScopedGroupBookmarkActions>
|
||||
grouped_bookmark_actions_;
|
||||
PrefChangeRegistrar pref_change_registrar_;
|
||||
@@ -654,7 +652,7 @@ diff --git a/chrome/browser/bookmarks/android/bookmark_bridge.h b/chrome/browser
|
||||
|
||||
// Information about the Partner bookmarks (must check for IsLoaded()).
|
||||
// This is owned by profile.
|
||||
@@ -437,6 +461,10 @@ class BookmarkBridge : public ProfileObserver,
|
||||
@@ -432,6 +456,10 @@ class BookmarkBridge : public ProfileObserver,
|
||||
base::TimeTicks load_start_time_;
|
||||
bool loading_notification_sent_ = false;
|
||||
|
||||
@@ -724,7 +722,7 @@ diff --git a/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/brows
|
||||
/**
|
||||
* Synchronously gets a list of bookmarks that match the specified search query.
|
||||
*
|
||||
@@ -1124,6 +1159,10 @@ class BookmarkBridge {
|
||||
@@ -1108,6 +1143,10 @@ class BookmarkBridge {
|
||||
void getChildIds(
|
||||
long nativeBookmarkBridge, long id, int type, List<BookmarkId> bookmarksList);
|
||||
|
||||
@@ -784,7 +782,7 @@ diff --git a/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/brows
|
||||
diff --git a/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkManagerMediator.java b/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkManagerMediator.java
|
||||
--- a/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkManagerMediator.java
|
||||
+++ b/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkManagerMediator.java
|
||||
@@ -62,6 +62,8 @@ import org.chromium.components.commerce.core.SubscriptionsObserver;
|
||||
@@ -63,6 +63,8 @@ import org.chromium.components.commerce.core.SubscriptionsObserver;
|
||||
import org.chromium.components.embedder_support.util.UrlConstants;
|
||||
import org.chromium.components.power_bookmarks.PowerBookmarkMeta;
|
||||
import org.chromium.components.power_bookmarks.PowerBookmarkType;
|
||||
@@ -793,7 +791,7 @@ diff --git a/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/brows
|
||||
import org.chromium.ui.accessibility.AccessibilityState;
|
||||
import org.chromium.ui.listmenu.ListMenu;
|
||||
import org.chromium.ui.listmenu.ListMenuItemProperties;
|
||||
@@ -80,6 +82,47 @@ import java.util.function.BooleanSupplier;
|
||||
@@ -81,6 +83,47 @@ import java.util.function.BooleanSupplier;
|
||||
import java.util.function.Consumer;
|
||||
import java.util.function.Predicate;
|
||||
|
||||
@@ -841,7 +839,7 @@ diff --git a/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/brows
|
||||
/** Responsible for BookmarkManager business logic. */
|
||||
// TODO(crbug.com/40256938): Remove BookmarkDelegate if possible.
|
||||
@NullMarked
|
||||
@@ -90,6 +133,9 @@ class BookmarkManagerMediator
|
||||
@@ -91,6 +134,9 @@ class BookmarkManagerMediator
|
||||
|
||||
private static boolean sPreventLoadingForTesting;
|
||||
|
||||
@@ -851,7 +849,7 @@ diff --git a/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/brows
|
||||
/** Keeps track of whether drag is enabled / active for bookmark lists. */
|
||||
private class BookmarkDragStateDelegate implements DragStateDelegate {
|
||||
private BookmarkDelegate mBookmarkDelegate;
|
||||
@@ -596,6 +642,14 @@ class BookmarkManagerMediator
|
||||
@@ -597,6 +643,14 @@ class BookmarkManagerMediator
|
||||
mNativePage = nativePage;
|
||||
}
|
||||
|
||||
@@ -866,7 +864,7 @@ diff --git a/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/brows
|
||||
/** See BookmarkManager(Coordinator)#updateForUrl */
|
||||
void updateForUrl(String url) {
|
||||
// Bookmark model is null if the manager has been destroyed.
|
||||
@@ -768,6 +822,235 @@ class BookmarkManagerMediator
|
||||
@@ -769,6 +823,235 @@ class BookmarkManagerMediator
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1196,7 +1194,7 @@ diff --git a/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/brows
|
||||
diff --git a/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkToolbarMediator.java b/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkToolbarMediator.java
|
||||
--- a/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkToolbarMediator.java
|
||||
+++ b/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkToolbarMediator.java
|
||||
@@ -140,6 +140,10 @@ class BookmarkToolbarMediator
|
||||
@@ -139,6 +139,10 @@ class BookmarkToolbarMediator
|
||||
mBookmarkDelegate = bookmarkDelegate;
|
||||
mModel.set(
|
||||
BookmarkToolbarProperties.NAVIGATE_BACK_RUNNABLE, this::onNavigateBack);
|
||||
@@ -1315,7 +1313,7 @@ diff --git a/chrome/browser/download/android/java/src/org/chromium/chrome/browse
|
||||
|
||||
private boolean mLocationDialogManaged;
|
||||
|
||||
@@ -153,7 +153,7 @@ public class DownloadLocationDialogCoordinator implements ModalDialogProperties.
|
||||
@@ -154,7 +154,7 @@ public class DownloadLocationDialogCoordinator implements ModalDialogProperties.
|
||||
* Called after retrieved the download directory options.
|
||||
* @param dirs An list of available download directories.
|
||||
*/
|
||||
@@ -1327,18 +1325,18 @@ diff --git a/chrome/browser/download/android/java/src/org/chromium/chrome/browse
|
||||
diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browser/flags/android/chrome_feature_list.cc
|
||||
--- a/chrome/browser/flags/android/chrome_feature_list.cc
|
||||
+++ b/chrome/browser/flags/android/chrome_feature_list.cc
|
||||
@@ -236,6 +236,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
|
||||
@@ -251,6 +251,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
|
||||
&kBatchTabRestore,
|
||||
&kBlockIntentsWhileLocked,
|
||||
&kBookmarkPaneAndroid,
|
||||
+ &kBookmarksExportUseSaf,
|
||||
&kBottomBrowserControlsRefactor,
|
||||
&kTabClosureMethodRefactor,
|
||||
&kBrowserControlsDebugging,
|
||||
&kBrowserControlsEarlyResize,
|
||||
&kCacheActivityTaskID,
|
||||
diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
|
||||
--- a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
|
||||
+++ b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
|
||||
@@ -662,6 +662,7 @@ public abstract class ChromeFeatureList {
|
||||
@@ -689,6 +689,7 @@ public abstract class ChromeFeatureList {
|
||||
public static final String USE_LIBUNWINDSTACK_NATIVE_UNWINDER_ANDROID =
|
||||
"UseLibunwindstackNativeUnwinderAndroid";
|
||||
public static final String VISITED_URL_RANKING_SERVICE = "VisitedURLRankingService";
|
||||
@@ -1401,7 +1399,7 @@ diff --git a/chrome/browser/preferences/android/java/src/org/chromium/chrome/bro
|
||||
|
||||
/** Whether Chrome is set as the default browser. Default value is false. */
|
||||
public static final String CHROME_DEFAULT_BROWSER = "applink.chrome_default_browser";
|
||||
@@ -1008,6 +1010,7 @@ public final class ChromePreferenceKeys {
|
||||
@@ -1017,6 +1019,7 @@ public final class ChromePreferenceKeys {
|
||||
AUXILIARY_SEARCH_SCHEMA_VERSION,
|
||||
APP_LAUNCH_LAST_KNOWN_ACTIVE_TAB_STATE,
|
||||
APP_LAUNCH_SEARCH_ENGINE_HAD_LOGO,
|
||||
@@ -1440,7 +1438,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro
|
||||
diff --git a/chrome/common/BUILD.gn b/chrome/common/BUILD.gn
|
||||
--- a/chrome/common/BUILD.gn
|
||||
+++ b/chrome/common/BUILD.gn
|
||||
@@ -352,6 +352,9 @@ static_library("common_lib") {
|
||||
@@ -339,6 +339,9 @@ static_library("common_lib") {
|
||||
"chrome_descriptors_android.h",
|
||||
"media/chrome_media_drm_bridge_client.cc",
|
||||
"media/chrome_media_drm_bridge_client.h",
|
||||
@@ -1453,16 +1451,7 @@ diff --git a/chrome/common/BUILD.gn b/chrome/common/BUILD.gn
|
||||
diff --git a/chrome/utility/BUILD.gn b/chrome/utility/BUILD.gn
|
||||
--- a/chrome/utility/BUILD.gn
|
||||
+++ b/chrome/utility/BUILD.gn
|
||||
@@ -88,8 +88,6 @@ static_library("utility") {
|
||||
|
||||
if (!is_android) {
|
||||
sources += [
|
||||
- "importer/bookmark_html_reader.cc",
|
||||
- "importer/bookmark_html_reader.h",
|
||||
"importer/bookmarks_file_importer.cc",
|
||||
"importer/bookmarks_file_importer.h",
|
||||
"importer/external_process_importer_bridge.cc",
|
||||
@@ -222,6 +220,11 @@ static_library("utility") {
|
||||
@@ -222,6 +222,11 @@ static_library("utility") {
|
||||
deps += [ "//chrome/services/pdf:lib" ]
|
||||
}
|
||||
|
||||
@@ -1474,107 +1463,6 @@ diff --git a/chrome/utility/BUILD.gn b/chrome/utility/BUILD.gn
|
||||
# NSS decryptor is not needed on ChromeOS.
|
||||
if (!is_chromeos && use_nss_certs) {
|
||||
sources += [
|
||||
diff --git a/chrome/utility/importer/bookmark_html_reader.cc b/chrome/utility/importer/bookmark_html_reader.cc
|
||||
--- a/chrome/utility/importer/bookmark_html_reader.cc
|
||||
+++ b/chrome/utility/importer/bookmark_html_reader.cc
|
||||
@@ -16,7 +16,9 @@
|
||||
#include "base/strings/string_util.h"
|
||||
#include "base/strings/utf_string_conversions.h"
|
||||
#include "base/time/time.h"
|
||||
+#if !BUILDFLAG(IS_ANDROID)
|
||||
#include "chrome/utility/importer/favicon_reencode.h"
|
||||
+#endif
|
||||
#include "components/search_engines/search_terms_data.h"
|
||||
#include "components/search_engines/template_url.h"
|
||||
#include "components/user_data_importer/common/imported_bookmark_entry.h"
|
||||
@@ -55,6 +57,7 @@ bool GetAttribute(const std::string& attribute_list,
|
||||
return true;
|
||||
}
|
||||
|
||||
+#if !BUILDFLAG(IS_ANDROID)
|
||||
// Given the URL of a page and a favicon data URL, adds an appropriate record
|
||||
// to the given favicon usage vector.
|
||||
void DataURLToFaviconUsage(const GURL& link_url,
|
||||
@@ -88,6 +91,7 @@ void DataURLToFaviconUsage(const GURL& link_url,
|
||||
|
||||
favicons->push_back(usage);
|
||||
}
|
||||
+#endif
|
||||
|
||||
} // namespace
|
||||
|
||||
@@ -108,14 +112,29 @@ static std::string stripDt(const std::string& lineDt) {
|
||||
}
|
||||
|
||||
void ImportBookmarksFile(
|
||||
- base::RepeatingCallback<bool(void)> cancellation_callback,
|
||||
- base::RepeatingCallback<bool(const GURL&)> valid_url_callback,
|
||||
+ const base::RepeatingCallback<bool(void)> cancellation_callback,
|
||||
+ const base::RepeatingCallback<bool(const GURL&)> valid_url_callback,
|
||||
const base::FilePath& file_path,
|
||||
std::vector<user_data_importer::ImportedBookmarkEntry>* bookmarks,
|
||||
std::vector<user_data_importer::SearchEngineInfo>* search_engines,
|
||||
favicon_base::FaviconUsageDataList* favicons) {
|
||||
std::string content;
|
||||
- base::ReadFileToString(file_path, &content);
|
||||
+ if (!base::ReadFileToString(file_path, &content)) {
|
||||
+ LOG(ERROR) << "Could not directly read bookmarks import file";
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
+ ImportBookmarksFile(cancellation_callback, valid_url_callback,
|
||||
+ content, bookmarks, search_engines, favicons);
|
||||
+}
|
||||
+
|
||||
+void ImportBookmarksFile(
|
||||
+ base::RepeatingCallback<bool(void)> cancellation_callback,
|
||||
+ base::RepeatingCallback<bool(const GURL&)> valid_url_callback,
|
||||
+ const std::string& content,
|
||||
+ std::vector<user_data_importer::ImportedBookmarkEntry>* bookmarks,
|
||||
+ std::vector<user_data_importer::SearchEngineInfo>* search_engines,
|
||||
+ favicon_base::FaviconUsageDataList* favicons) {
|
||||
std::vector<std::string> lines = base::SplitString(
|
||||
content, "\n", base::TRIM_WHITESPACE, base::SPLIT_WANT_ALL);
|
||||
|
||||
@@ -128,6 +147,7 @@ void ImportBookmarksFile(
|
||||
std::vector<std::u16string> path;
|
||||
size_t toolbar_folder_index = 0;
|
||||
std::string charset = "UTF-8"; // If no charset is specified, assume utf-8.
|
||||
+
|
||||
for (size_t i = 0;
|
||||
i < lines.size() &&
|
||||
(cancellation_callback.is_null() || !cancellation_callback.Run());
|
||||
@@ -219,10 +239,12 @@ void ImportBookmarksFile(
|
||||
}
|
||||
bookmarks->push_back(entry);
|
||||
|
||||
+#if !BUILDFLAG(IS_ANDROID)
|
||||
// Save the favicon. DataURLToFaviconUsage will handle the case where
|
||||
// there is no favicon.
|
||||
if (favicons)
|
||||
DataURLToFaviconUsage(url, favicon, favicons);
|
||||
+#endif
|
||||
|
||||
continue;
|
||||
}
|
||||
diff --git a/chrome/utility/importer/bookmark_html_reader.h b/chrome/utility/importer/bookmark_html_reader.h
|
||||
--- a/chrome/utility/importer/bookmark_html_reader.h
|
||||
+++ b/chrome/utility/importer/bookmark_html_reader.h
|
||||
@@ -53,6 +53,14 @@ void ImportBookmarksFile(
|
||||
std::vector<user_data_importer::SearchEngineInfo>* search_engines,
|
||||
favicon_base::FaviconUsageDataList* favicons);
|
||||
|
||||
+void ImportBookmarksFile(
|
||||
+ const base::RepeatingCallback<bool(void)> cancellation_callback,
|
||||
+ const base::RepeatingCallback<bool(const GURL&)> valid_url_callback,
|
||||
+ const std::string& content,
|
||||
+ std::vector<user_data_importer::ImportedBookmarkEntry>* bookmarks,
|
||||
+ std::vector<user_data_importer::SearchEngineInfo>* search_engines,
|
||||
+ favicon_base::FaviconUsageDataList* favicons);
|
||||
+
|
||||
// Returns true if |url| should be imported as a search engine, i.e. because it
|
||||
// has replacement terms. Chrome treats such bookmarks as search engines rather
|
||||
// than true bookmarks.
|
||||
diff --git a/components/headless/select_file_dialog/headless_select_file_dialog.cc b/components/headless/select_file_dialog/headless_select_file_dialog.cc
|
||||
--- a/components/headless/select_file_dialog/headless_select_file_dialog.cc
|
||||
+++ b/components/headless/select_file_dialog/headless_select_file_dialog.cc
|
||||
@@ -1732,7 +1620,7 @@ diff --git a/ui/shell_dialogs/select_file_dialog.h b/ui/shell_dialogs/select_fil
|
||||
diff --git a/ui/shell_dialogs/select_file_dialog_android.cc b/ui/shell_dialogs/select_file_dialog_android.cc
|
||||
--- a/ui/shell_dialogs/select_file_dialog_android.cc
|
||||
+++ b/ui/shell_dialogs/select_file_dialog_android.cc
|
||||
@@ -175,6 +175,12 @@ void SelectFileDialogImpl::SelectFileImpl(
|
||||
@@ -171,6 +171,12 @@ void SelectFileDialogImpl::SelectFileImpl(Type type,
|
||||
owning_window->GetJavaObject());
|
||||
}
|
||||
|
||||
@@ -1748,7 +1636,7 @@ diff --git a/ui/shell_dialogs/select_file_dialog_android.cc b/ui/shell_dialogs/s
|
||||
diff --git a/ui/shell_dialogs/select_file_dialog_android.h b/ui/shell_dialogs/select_file_dialog_android.h
|
||||
--- a/ui/shell_dialogs/select_file_dialog_android.h
|
||||
+++ b/ui/shell_dialogs/select_file_dialog_android.h
|
||||
@@ -53,6 +53,8 @@ class SelectFileDialogImpl : public SelectFileDialog {
|
||||
@@ -49,6 +49,8 @@ class SelectFileDialogImpl : public SelectFileDialog {
|
||||
gfx::NativeWindow owning_window,
|
||||
const GURL* caller) override;
|
||||
|
||||
|
||||
@@ -52,18 +52,17 @@ See also: https://github.com/bromite/bromite/issues/1549
|
||||
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
|
||||
---
|
||||
.../permissions/last_tab_standing_tracker.cc | 32 ++++++++
|
||||
.../one_time_permissions_tracker.cc | 33 +++++++-
|
||||
.../permissions/last_tab_standing_tracker.cc | 33 ++++++++
|
||||
.../one_time_permissions_tracker.cc | 34 +++++++-
|
||||
.../one_time_permissions_tracker.h | 5 +-
|
||||
.../one_time_permissions_tracker_factory.cc | 2 +-
|
||||
.../views/permissions/chip/chip_controller.cc | 2 +-
|
||||
...exclusive_access_permission_prompt_view.cc | 2 +-
|
||||
.../permission_prompt_bubble_base_view.cc | 2 +-
|
||||
.../site_settings/PermissionInfo.java | 1 +
|
||||
.../site_settings/SingleWebsiteSettings.java | 9 ++
|
||||
.../android/website_preference_bridge.cc | 2 +-
|
||||
.../strings/android/browser_ui_strings.grd | 5 ++
|
||||
.../core/browser/content_settings_utils.cc | 42 ++++++++--
|
||||
.../core/browser/content_settings_utils.cc | 44 ++++++++--
|
||||
.../core/browser/content_settings_utils.h | 6 ++
|
||||
.../core/common/content_settings_enums.mojom | 9 ++
|
||||
.../page_info/PageInfoController.java | 4 +-
|
||||
@@ -72,7 +71,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
components/page_info/page_info.cc | 2 +
|
||||
components/page_info/page_info.h | 1 +
|
||||
.../permissions/PermissionDialogDelegate.java | 13 +++
|
||||
.../PermissionDialogModelFactory.java | 82 ++++++++++++++++++-
|
||||
.../PermissionDialogModelFactory.java | 83 ++++++++++++++++++-
|
||||
.../embedded_permission_prompt_android.cc | 3 +-
|
||||
.../embedded_permission_prompt_android.h | 2 +-
|
||||
.../permission_dialog_delegate.cc | 24 +++++-
|
||||
@@ -80,17 +79,17 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
.../permission_prompt_android.cc | 8 +-
|
||||
.../permission_prompt_android.h | 3 +-
|
||||
.../android/permissions_android_strings.grd | 17 ++++
|
||||
.../geolocation_permission_context_android.cc | 30 +++++--
|
||||
.../geolocation_permission_context_android.cc | 27 ++++--
|
||||
.../geolocation_permission_context_android.h | 10 ++-
|
||||
.../embedded_permission_prompt_flow_model.cc | 2 +-
|
||||
.../permissions/permission_context_base.cc | 64 +++++++++++++--
|
||||
.../permissions/permission_context_base.cc | 64 ++++++++++++--
|
||||
.../permissions/permission_context_base.h | 26 +++++-
|
||||
components/permissions/permission_prompt.h | 3 +-
|
||||
components/permissions/permission_request.cc | 34 +++++++-
|
||||
components/permissions/permission_request.h | 18 +++-
|
||||
.../permissions/permission_request_manager.cc | 45 ++++++----
|
||||
.../permissions/permission_request_manager.h | 11 ++-
|
||||
38 files changed, 506 insertions(+), 72 deletions(-)
|
||||
37 files changed, 506 insertions(+), 73 deletions(-)
|
||||
|
||||
diff --git a/chrome/browser/permissions/last_tab_standing_tracker.cc b/chrome/browser/permissions/last_tab_standing_tracker.cc
|
||||
--- a/chrome/browser/permissions/last_tab_standing_tracker.cc
|
||||
@@ -128,13 +127,14 @@ diff --git a/chrome/browser/permissions/last_tab_standing_tracker.cc b/chrome/br
|
||||
LastTabStandingTracker::LastTabStandingTracker(content::BrowserContext* context)
|
||||
: context_(context) {}
|
||||
|
||||
@@ -56,4 +82,10 @@ void LastTabStandingTracker::WebContentsUnloadedOrigin(
|
||||
@@ -56,4 +82,11 @@ void LastTabStandingTracker::WebContentsUnloadedOrigin(
|
||||
for (auto& observer : observer_list_) {
|
||||
observer.OnLastPageFromOriginClosed(origin);
|
||||
}
|
||||
+ HostContentSettingsMap* content_settings =
|
||||
+ permissions::PermissionsClient::Get()->GetSettingsMap(context_);
|
||||
+ RemoveSessionSettings(content_settings, origin, ContentSettingsType::GEOLOCATION);
|
||||
+ RemoveSessionSettings(content_settings, origin, ContentSettingsType::GEOLOCATION_WITH_OPTIONS);
|
||||
+ RemoveSessionSettings(content_settings, origin, ContentSettingsType::MEDIASTREAM_MIC);
|
||||
+ RemoveSessionSettings(content_settings, origin, ContentSettingsType::MEDIASTREAM_CAMERA);
|
||||
+ }
|
||||
@@ -178,13 +178,14 @@ diff --git a/chrome/browser/permissions/one_time_permissions_tracker.cc b/chrome
|
||||
OneTimePermissionsTracker::~OneTimePermissionsTracker() = default;
|
||||
|
||||
OneTimePermissionsTracker::OriginTrackEntry::OriginTrackEntry() = default;
|
||||
@@ -254,6 +280,11 @@ void OneTimePermissionsTracker::NotifyLastPageFromOriginClosed(
|
||||
@@ -254,6 +280,12 @@ void OneTimePermissionsTracker::NotifyLastPageFromOriginClosed(
|
||||
for (auto& observer : observer_list_) {
|
||||
observer.OnLastPageFromOriginClosed(origin);
|
||||
}
|
||||
+ HostContentSettingsMap* content_settings =
|
||||
+ permissions::PermissionsClient::Get()->GetSettingsMap(context_);
|
||||
+ RemoveSessionSettings(content_settings, origin, ContentSettingsType::GEOLOCATION);
|
||||
+ RemoveSessionSettings(content_settings, origin, ContentSettingsType::GEOLOCATION_WITH_OPTIONS);
|
||||
+ RemoveSessionSettings(content_settings, origin, ContentSettingsType::MEDIASTREAM_MIC);
|
||||
+ RemoveSessionSettings(content_settings, origin, ContentSettingsType::MEDIASTREAM_CAMERA);
|
||||
}
|
||||
@@ -232,7 +233,7 @@ diff --git a/chrome/browser/permissions/one_time_permissions_tracker_factory.cc
|
||||
diff --git a/chrome/browser/ui/views/permissions/chip/chip_controller.cc b/chrome/browser/ui/views/permissions/chip/chip_controller.cc
|
||||
--- a/chrome/browser/ui/views/permissions/chip/chip_controller.cc
|
||||
+++ b/chrome/browser/ui/views/permissions/chip/chip_controller.cc
|
||||
@@ -224,7 +224,7 @@ void ChipController::OnWidgetDestroyed(views::Widget* widget) {
|
||||
@@ -227,7 +227,7 @@ void ChipController::OnWidgetDestroyed(views::Widget* widget) {
|
||||
active_chip_permission_request_manager_.value()->Accept();
|
||||
break;
|
||||
case permissions::PermissionAction::GRANTED_ONCE:
|
||||
@@ -256,7 +257,7 @@ diff --git a/chrome/browser/ui/views/permissions/exclusive_access_permission_pro
|
||||
diff --git a/chrome/browser/ui/views/permissions/permission_prompt_bubble_base_view.cc b/chrome/browser/ui/views/permissions/permission_prompt_bubble_base_view.cc
|
||||
--- a/chrome/browser/ui/views/permissions/permission_prompt_bubble_base_view.cc
|
||||
+++ b/chrome/browser/ui/views/permissions/permission_prompt_bubble_base_view.cc
|
||||
@@ -297,7 +297,7 @@ void PermissionPromptBubbleBaseView::RunButtonCallback(int button_id) {
|
||||
@@ -294,7 +294,7 @@ void PermissionPromptBubbleBaseView::RunButtonCallback(int button_id) {
|
||||
delegate_->Accept();
|
||||
return;
|
||||
case PermissionDialogButton::kAcceptOnce:
|
||||
@@ -265,21 +266,10 @@ diff --git a/chrome/browser/ui/views/permissions/permission_prompt_bubble_base_v
|
||||
return;
|
||||
case PermissionDialogButton::kDeny:
|
||||
#if BUILDFLAG(IS_CHROMEOS)
|
||||
diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/PermissionInfo.java b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/PermissionInfo.java
|
||||
--- a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/PermissionInfo.java
|
||||
+++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/PermissionInfo.java
|
||||
@@ -12,6 +12,7 @@ import org.chromium.components.content_settings.SessionModel;
|
||||
import org.chromium.components.permissions.PermissionsAndroidFeatureList;
|
||||
import org.chromium.components.permissions.PermissionsAndroidFeatureMap;
|
||||
import org.chromium.content_public.browser.BrowserContextHandle;
|
||||
+import org.chromium.components.content_settings.SessionModel;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Objects;
|
||||
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
|
||||
@@ -620,6 +620,11 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment
|
||||
@@ -630,6 +630,11 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment
|
||||
}
|
||||
|
||||
@RequiresNonNull({"mSite"})
|
||||
@@ -291,9 +281,9 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
|
||||
private void setUpClearDataPreference() {
|
||||
ClearWebsiteStorage preference = findPreference(PREF_CLEAR_DATA);
|
||||
long usage = mSite.getTotalUsage();
|
||||
@@ -1292,6 +1297,10 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment
|
||||
AppCompatResources.getColorStateList(getContext(), mHighlightColor)
|
||||
.getDefaultColor());
|
||||
@@ -1316,6 +1321,10 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment
|
||||
.getDefaultColor());
|
||||
}
|
||||
}
|
||||
+ if (isSessionPermission(contentType)) {
|
||||
+ switchPreference.setSummary(switchPreference.getSummary() + " " +
|
||||
@@ -305,7 +295,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
|
||||
diff --git a/components/browser_ui/site_settings/android/website_preference_bridge.cc b/components/browser_ui/site_settings/android/website_preference_bridge.cc
|
||||
--- a/components/browser_ui/site_settings/android/website_preference_bridge.cc
|
||||
+++ b/components/browser_ui/site_settings/android/website_preference_bridge.cc
|
||||
@@ -209,7 +209,7 @@ void GetOrigins(JNIEnv* env,
|
||||
@@ -218,7 +218,7 @@ void GetOrigins(JNIEnv* env,
|
||||
seen_origins.push_back(origin);
|
||||
insertionFunc(env, static_cast<int>(content_type), list,
|
||||
ConvertOriginToJavaString(env, origin), jembedder,
|
||||
@@ -317,7 +307,7 @@ diff --git a/components/browser_ui/site_settings/android/website_preference_brid
|
||||
diff --git a/components/browser_ui/strings/android/browser_ui_strings.grd b/components/browser_ui/strings/android/browser_ui_strings.grd
|
||||
--- a/components/browser_ui/strings/android/browser_ui_strings.grd
|
||||
+++ b/components/browser_ui/strings/android/browser_ui_strings.grd
|
||||
@@ -643,6 +643,11 @@
|
||||
@@ -646,6 +646,11 @@
|
||||
<message name="IDS_PAGE_INFO_URL_TRUNCATED" desc="Accessibility announcement when the URL in PageInfo switches from full to truncated display">
|
||||
URL truncated
|
||||
</message>
|
||||
@@ -332,7 +322,7 @@ diff --git a/components/browser_ui/strings/android/browser_ui_strings.grd b/comp
|
||||
diff --git a/components/content_settings/core/browser/content_settings_utils.cc b/components/content_settings/core/browser/content_settings_utils.cc
|
||||
--- a/components/content_settings/core/browser/content_settings_utils.cc
|
||||
+++ b/components/content_settings/core/browser/content_settings_utils.cc
|
||||
@@ -157,6 +157,42 @@ bool IsConstraintPersistent(const ContentSettingConstraints& constraints) {
|
||||
@@ -182,6 +182,42 @@ bool IsConstraintPersistent(const ContentSettingConstraints& constraints) {
|
||||
return constraints.session_model() == mojom::SessionModel::DURABLE;
|
||||
}
|
||||
|
||||
@@ -373,23 +363,25 @@ diff --git a/components/content_settings/core/browser/content_settings_utils.cc
|
||||
+}
|
||||
+
|
||||
bool CanTrackLastVisit(ContentSettingsType type) {
|
||||
// Last visit is not tracked for notification permission as it shouldn't be
|
||||
// auto-revoked.
|
||||
@@ -240,9 +276,6 @@ const std::vector<ContentSettingsType>& GetTypesWithTemporaryGrants() {
|
||||
DCHECK(WebsiteSettingsRegistry::GetInstance()->Get(type)) << type;
|
||||
|
||||
@@ -261,10 +297,6 @@ const std::vector<ContentSettingsType>& GetTypesWithTemporaryGrants() {
|
||||
ContentSettingsType::CAPTURED_SURFACE_CONTROL,
|
||||
#endif
|
||||
ContentSettingsType::KEYBOARD_LOCK,
|
||||
- ContentSettingsType::GEOLOCATION,
|
||||
- ContentSettingsType::GEOLOCATION_WITH_OPTIONS,
|
||||
- ContentSettingsType::MEDIASTREAM_MIC,
|
||||
- ContentSettingsType::MEDIASTREAM_CAMERA,
|
||||
ContentSettingsType::HAND_TRACKING,
|
||||
ContentSettingsType::SMART_CARD_DATA,
|
||||
ContentSettingsType::AR,
|
||||
@@ -258,9 +291,6 @@ const std::vector<ContentSettingsType>& GetTypesWithTemporaryGrantsInHcsm() {
|
||||
@@ -280,10 +312,6 @@ const std::vector<ContentSettingsType>& GetTypesWithTemporaryGrantsInHcsm() {
|
||||
ContentSettingsType::CAPTURED_SURFACE_CONTROL,
|
||||
#endif
|
||||
ContentSettingsType::KEYBOARD_LOCK,
|
||||
- ContentSettingsType::GEOLOCATION,
|
||||
- ContentSettingsType::GEOLOCATION_WITH_OPTIONS,
|
||||
- ContentSettingsType::MEDIASTREAM_MIC,
|
||||
- ContentSettingsType::MEDIASTREAM_CAMERA,
|
||||
ContentSettingsType::HAND_TRACKING,
|
||||
@@ -398,7 +390,7 @@ diff --git a/components/content_settings/core/browser/content_settings_utils.cc
|
||||
diff --git a/components/content_settings/core/browser/content_settings_utils.h b/components/content_settings/core/browser/content_settings_utils.h
|
||||
--- a/components/content_settings/core/browser/content_settings_utils.h
|
||||
+++ b/components/content_settings/core/browser/content_settings_utils.h
|
||||
@@ -73,6 +73,12 @@ bool IsConstraintPersistent(const ContentSettingConstraints& constraints);
|
||||
@@ -78,6 +78,12 @@ bool IsConstraintPersistent(const ContentSettingConstraints& constraints);
|
||||
// Returns whether the given type supports tracking last_visit timestamps.
|
||||
bool CanTrackLastVisit(ContentSettingsType type);
|
||||
|
||||
@@ -433,7 +425,7 @@ diff --git a/components/content_settings/core/common/content_settings_enums.mojo
|
||||
diff --git a/components/page_info/android/java/src/org/chromium/components/page_info/PageInfoController.java b/components/page_info/android/java/src/org/chromium/components/page_info/PageInfoController.java
|
||||
--- a/components/page_info/android/java/src/org/chromium/components/page_info/PageInfoController.java
|
||||
+++ b/components/page_info/android/java/src/org/chromium/components/page_info/PageInfoController.java
|
||||
@@ -367,9 +367,9 @@ public class PageInfoController
|
||||
@@ -378,9 +378,9 @@ public class PageInfoController
|
||||
String name,
|
||||
String nameMidSentence,
|
||||
int type,
|
||||
@@ -491,7 +483,7 @@ diff --git a/components/page_info/android/java/src/org/chromium/components/page_
|
||||
diff --git a/components/page_info/android/page_info_controller_android.cc b/components/page_info/android/page_info_controller_android.cc
|
||||
--- a/components/page_info/android/page_info_controller_android.cc
|
||||
+++ b/components/page_info/android/page_info_controller_android.cc
|
||||
@@ -171,6 +171,8 @@ void PageInfoControllerAndroid::SetPermissionInfo(
|
||||
@@ -186,6 +186,8 @@ void PageInfoControllerAndroid::SetPermissionInfo(
|
||||
|
||||
std::map<ContentSettingsType, ContentSetting>
|
||||
user_specified_settings_to_display;
|
||||
@@ -500,7 +492,7 @@ diff --git a/components/page_info/android/page_info_controller_android.cc b/comp
|
||||
|
||||
for (const auto& permission : permission_info_list) {
|
||||
if (base::Contains(permissions_to_display, permission.type)) {
|
||||
@@ -179,6 +181,8 @@ void PageInfoControllerAndroid::SetPermissionInfo(
|
||||
@@ -194,6 +196,8 @@ void PageInfoControllerAndroid::SetPermissionInfo(
|
||||
if (setting_to_display) {
|
||||
user_specified_settings_to_display[permission.type] =
|
||||
*setting_to_display;
|
||||
@@ -509,7 +501,7 @@ diff --git a/components/page_info/android/page_info_controller_android.cc b/comp
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -195,7 +199,8 @@ void PageInfoControllerAndroid::SetPermissionInfo(
|
||||
@@ -210,7 +214,8 @@ void PageInfoControllerAndroid::SetPermissionInfo(
|
||||
ConvertUTF16ToJavaString(env, setting_title),
|
||||
ConvertUTF16ToJavaString(env, setting_title_mid_sentence),
|
||||
static_cast<jint>(permission),
|
||||
@@ -519,7 +511,7 @@ diff --git a/components/page_info/android/page_info_controller_android.cc b/comp
|
||||
}
|
||||
}
|
||||
|
||||
@@ -208,7 +213,8 @@ void PageInfoControllerAndroid::SetPermissionInfo(
|
||||
@@ -223,7 +228,8 @@ void PageInfoControllerAndroid::SetPermissionInfo(
|
||||
env, controller_jobject_, ConvertUTF16ToJavaString(env, object_title),
|
||||
ConvertUTF16ToJavaString(env, object_title),
|
||||
static_cast<jint>(chosen_object->ui_info->content_settings_type),
|
||||
@@ -532,7 +524,7 @@ diff --git a/components/page_info/android/page_info_controller_android.cc b/comp
|
||||
diff --git a/components/page_info/page_info.cc b/components/page_info/page_info.cc
|
||||
--- a/components/page_info/page_info.cc
|
||||
+++ b/components/page_info/page_info.cc
|
||||
@@ -1253,6 +1253,8 @@ void PageInfo::PopulatePermissionInfo(PermissionInfo& permission_info,
|
||||
@@ -1256,6 +1256,8 @@ void PageInfo::PopulatePermissionInfo(PermissionInfo& permission_info,
|
||||
permission_info.is_one_time =
|
||||
(info.metadata.session_model() ==
|
||||
content_settings::mojom::SessionModel::ONE_TIME);
|
||||
@@ -544,7 +536,7 @@ diff --git a/components/page_info/page_info.cc b/components/page_info/page_info.
|
||||
diff --git a/components/page_info/page_info.h b/components/page_info/page_info.h
|
||||
--- a/components/page_info/page_info.h
|
||||
+++ b/components/page_info/page_info.h
|
||||
@@ -150,6 +150,7 @@ class PageInfo : private content_settings::CookieControlsObserver,
|
||||
@@ -151,6 +151,7 @@ class PageInfo : private content_settings::CookieControlsObserver,
|
||||
content_settings::SettingSource::kNone;
|
||||
// Whether the permission is a one-time grant.
|
||||
bool is_one_time = false;
|
||||
@@ -555,15 +547,15 @@ diff --git a/components/page_info/page_info.h b/components/page_info/page_info.h
|
||||
diff --git a/components/permissions/android/java/src/org/chromium/components/permissions/PermissionDialogDelegate.java b/components/permissions/android/java/src/org/chromium/components/permissions/PermissionDialogDelegate.java
|
||||
--- a/components/permissions/android/java/src/org/chromium/components/permissions/PermissionDialogDelegate.java
|
||||
+++ b/components/permissions/android/java/src/org/chromium/components/permissions/PermissionDialogDelegate.java
|
||||
@@ -16,6 +16,7 @@ import org.chromium.build.annotations.NullMarked;
|
||||
@@ -16,6 +16,7 @@ import org.jni_zero.NativeMethods;
|
||||
import org.chromium.build.annotations.NullMarked;
|
||||
import org.chromium.build.annotations.Nullable;
|
||||
import org.chromium.components.content_settings.ContentSettingsType;
|
||||
import org.chromium.ui.base.WindowAndroid;
|
||||
+import org.chromium.components.content_settings.LifetimeMode;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
@@ -72,6 +73,9 @@ public class PermissionDialogDelegate {
|
||||
import java.util.List;
|
||||
@@ -67,6 +68,9 @@ public class PermissionDialogDelegate {
|
||||
// Prompt(screen) variant we want to display on the dialog.
|
||||
private @EmbeddedPromptVariant int mEmbeddedPromptVariant;
|
||||
|
||||
@@ -573,8 +565,8 @@ diff --git a/components/permissions/android/java/src/org/chromium/components/per
|
||||
/**
|
||||
* Defines a (potentially empty) list of ranges represented as pairs of <startIndex, endIndex>,
|
||||
* which shall be used by the UI to format the specified ranges as bold text.
|
||||
@@ -145,6 +149,15 @@ public class PermissionDialogDelegate {
|
||||
.acceptThisTime(mNativeDelegatePtr, PermissionDialogDelegate.this);
|
||||
@@ -139,6 +143,15 @@ public class PermissionDialogDelegate {
|
||||
PermissionDialogDelegateJni.get().acceptThisTime(mNativeDelegatePtr);
|
||||
}
|
||||
|
||||
+ public void setSelectedLifetimeOption(int idx) {
|
||||
@@ -588,7 +580,7 @@ diff --git a/components/permissions/android/java/src/org/chromium/components/per
|
||||
+
|
||||
public void onDeny() {
|
||||
assert mNativeDelegatePtr != 0;
|
||||
PermissionDialogDelegateJni.get().deny(mNativeDelegatePtr, PermissionDialogDelegate.this);
|
||||
PermissionDialogDelegateJni.get().deny(mNativeDelegatePtr);
|
||||
diff --git a/components/permissions/android/java/src/org/chromium/components/permissions/PermissionDialogModelFactory.java b/components/permissions/android/java/src/org/chromium/components/permissions/PermissionDialogModelFactory.java
|
||||
--- a/components/permissions/android/java/src/org/chromium/components/permissions/PermissionDialogModelFactory.java
|
||||
+++ b/components/permissions/android/java/src/org/chromium/components/permissions/PermissionDialogModelFactory.java
|
||||
@@ -611,7 +603,7 @@ diff --git a/components/permissions/android/java/src/org/chromium/components/per
|
||||
/** This class creates the model for the permission dialog. */
|
||||
@NullMarked
|
||||
class PermissionDialogModelFactory {
|
||||
@@ -67,7 +79,75 @@ class PermissionDialogModelFactory {
|
||||
@@ -67,7 +79,76 @@ class PermissionDialogModelFactory {
|
||||
ModalDialogProperties.ButtonStyles.PRIMARY_FILLED_NEGATIVE_OUTLINE)
|
||||
.with(ModalDialogProperties.CHANGE_CUSTOM_VIEW_OR_BUTTONS, true);
|
||||
}
|
||||
@@ -620,6 +612,7 @@ diff --git a/components/permissions/android/java/src/org/chromium/components/per
|
||||
+ PropertyModel pm = builder.build();
|
||||
+ int[] types = delegate.getContentSettingsTypes();
|
||||
+ if (contains(types, ContentSettingsType.GEOLOCATION) ||
|
||||
+ contains(types, ContentSettingsType.GEOLOCATION_WITH_OPTIONS) ||
|
||||
+ contains(types, ContentSettingsType.MEDIASTREAM_MIC) ||
|
||||
+ contains(types, ContentSettingsType.MEDIASTREAM_CAMERA))
|
||||
+ {
|
||||
@@ -691,7 +684,7 @@ diff --git a/components/permissions/android/java/src/org/chromium/components/per
|
||||
diff --git a/components/permissions/android/permission_prompt/embedded_permission_prompt_android.cc b/components/permissions/android/permission_prompt/embedded_permission_prompt_android.cc
|
||||
--- a/components/permissions/android/permission_prompt/embedded_permission_prompt_android.cc
|
||||
+++ b/components/permissions/android/permission_prompt/embedded_permission_prompt_android.cc
|
||||
@@ -119,7 +119,8 @@ void EmbeddedPermissionPromptAndroid::Acknowledge() {
|
||||
@@ -118,7 +118,8 @@ void EmbeddedPermissionPromptAndroid::Acknowledge() {
|
||||
delegate()->FinalizeCurrentRequests();
|
||||
}
|
||||
|
||||
@@ -716,7 +709,7 @@ diff --git a/components/permissions/android/permission_prompt/embedded_permissio
|
||||
diff --git a/components/permissions/android/permission_prompt/permission_dialog_delegate.cc b/components/permissions/android/permission_prompt/permission_dialog_delegate.cc
|
||||
--- a/components/permissions/android/permission_prompt/permission_dialog_delegate.cc
|
||||
+++ b/components/permissions/android/permission_prompt/permission_dialog_delegate.cc
|
||||
@@ -139,6 +139,11 @@ void PermissionDialogJavaDelegate::UpdateDialog() {
|
||||
@@ -137,6 +137,11 @@ void PermissionDialogJavaDelegate::UpdateDialog() {
|
||||
static_cast<int>(permission_prompt_->GetEmbeddedPromptVariant()));
|
||||
}
|
||||
|
||||
@@ -728,9 +721,9 @@ diff --git a/components/permissions/android/permission_prompt/permission_dialog_
|
||||
// static
|
||||
std::unique_ptr<PermissionDialogDelegate> PermissionDialogDelegate::Create(
|
||||
content::WebContents* web_contents,
|
||||
@@ -168,6 +173,13 @@ PermissionDialogDelegate::CreateForTesting(
|
||||
void PermissionDialogDelegate::Accept(JNIEnv* env,
|
||||
const JavaParamRef<jobject>& obj) {
|
||||
@@ -165,12 +170,22 @@ PermissionDialogDelegate::CreateForTesting(
|
||||
|
||||
void PermissionDialogDelegate::Accept(JNIEnv* env) {
|
||||
CHECK(permission_prompt_);
|
||||
+ content_settings::mojom::LifetimeMode lifetimeOption =
|
||||
+ static_cast<content_settings::mojom::LifetimeMode>(
|
||||
@@ -742,9 +735,7 @@ diff --git a/components/permissions/android/permission_prompt/permission_dialog_
|
||||
permission_prompt_->Accept();
|
||||
}
|
||||
|
||||
@@ -175,7 +187,10 @@ void PermissionDialogDelegate::AcceptThisTime(
|
||||
JNIEnv* env,
|
||||
const JavaParamRef<jobject>& obj) {
|
||||
void PermissionDialogDelegate::AcceptThisTime(JNIEnv* env) {
|
||||
CHECK(permission_prompt_);
|
||||
- permission_prompt_->AcceptThisTime();
|
||||
+ content_settings::mojom::LifetimeMode lifetimeOption =
|
||||
@@ -753,10 +744,10 @@ diff --git a/components/permissions/android/permission_prompt/permission_dialog_
|
||||
+ permission_prompt_->AcceptThisTime(lifetimeOption);
|
||||
}
|
||||
|
||||
void PermissionDialogDelegate::Acknowledge(JNIEnv* env,
|
||||
@@ -187,6 +202,13 @@ void PermissionDialogDelegate::Acknowledge(JNIEnv* env,
|
||||
void PermissionDialogDelegate::Deny(JNIEnv* env,
|
||||
const JavaParamRef<jobject>& obj) {
|
||||
void PermissionDialogDelegate::Acknowledge(JNIEnv* env) {
|
||||
@@ -180,6 +195,13 @@ void PermissionDialogDelegate::Acknowledge(JNIEnv* env) {
|
||||
|
||||
void PermissionDialogDelegate::Deny(JNIEnv* env) {
|
||||
CHECK(permission_prompt_);
|
||||
+ content_settings::mojom::LifetimeMode lifetimeOption =
|
||||
+ static_cast<content_settings::mojom::LifetimeMode>(
|
||||
@@ -782,7 +773,7 @@ diff --git a/components/permissions/android/permission_prompt/permission_dialog_
|
||||
diff --git a/components/permissions/android/permission_prompt/permission_prompt_android.cc b/components/permissions/android/permission_prompt/permission_prompt_android.cc
|
||||
--- a/components/permissions/android/permission_prompt/permission_prompt_android.cc
|
||||
+++ b/components/permissions/android/permission_prompt/permission_prompt_android.cc
|
||||
@@ -84,8 +84,12 @@ void PermissionPromptAndroid::Accept() {
|
||||
@@ -85,8 +85,12 @@ void PermissionPromptAndroid::Accept() {
|
||||
delegate_->Accept();
|
||||
}
|
||||
|
||||
@@ -861,73 +852,71 @@ diff --git a/components/permissions/contexts/geolocation_permission_context_andr
|
||||
bool is_default_search =
|
||||
IsRequestingOriginDSE(request_data.requesting_origin);
|
||||
if (decision == PermissionDecision::kAllow &&
|
||||
@@ -209,7 +220,7 @@ void GeolocationPermissionContextAndroid::NotifyPermissionSet(
|
||||
FinishNotifyPermissionSet(request_data.id, request_data.requesting_origin,
|
||||
@@ -210,7 +221,7 @@ void GeolocationPermissionContextAndroid::NotifyPermissionSet(
|
||||
request_data.embedding_origin,
|
||||
std::move(callback), false /* persist */,
|
||||
- PermissionDecision::kDeny);
|
||||
+ PermissionDecision::kDeny, lifetime_option);
|
||||
PermissionDecision::kDeny,
|
||||
- request_data.prompt_options);
|
||||
+ request_data.prompt_options, lifetime_option);
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -229,7 +240,7 @@ void GeolocationPermissionContextAndroid::NotifyPermissionSet(
|
||||
FinishNotifyPermissionSet(request_data.id, request_data.requesting_origin,
|
||||
@@ -231,7 +242,7 @@ void GeolocationPermissionContextAndroid::NotifyPermissionSet(
|
||||
request_data.embedding_origin,
|
||||
std::move(callback), false /* persist */,
|
||||
- PermissionDecision::kDeny);
|
||||
+ PermissionDecision::kDeny, lifetime_option);
|
||||
PermissionDecision::kDeny,
|
||||
- request_data.prompt_options);
|
||||
+ request_data.prompt_options, lifetime_option);
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -241,13 +252,13 @@ void GeolocationPermissionContextAndroid::NotifyPermissionSet(
|
||||
base::BindOnce(
|
||||
@@ -244,13 +255,13 @@ void GeolocationPermissionContextAndroid::NotifyPermissionSet(
|
||||
&GeolocationPermissionContextAndroid::OnLocationSettingsDialogShown,
|
||||
weak_factory_.GetWeakPtr(), request_data.requesting_origin,
|
||||
- request_data.embedding_origin, persist, decision));
|
||||
+ request_data.embedding_origin, persist, decision, lifetime_option));
|
||||
request_data.embedding_origin, persist, decision,
|
||||
- request_data.prompt_options));
|
||||
+ request_data.prompt_options, lifetime_option));
|
||||
return;
|
||||
}
|
||||
|
||||
FinishNotifyPermissionSet(request_data.id, request_data.requesting_origin,
|
||||
request_data.embedding_origin, std::move(callback),
|
||||
- persist, decision);
|
||||
+ persist, decision, lifetime_option);
|
||||
- persist, decision, request_data.prompt_options);
|
||||
+ persist, decision, request_data.prompt_options, lifetime_option);
|
||||
}
|
||||
|
||||
content::PermissionResult
|
||||
@@ -424,7 +435,7 @@ void GeolocationPermissionContextAndroid::OnLocationSettingsDialogShown(
|
||||
@@ -427,7 +438,7 @@ void GeolocationPermissionContextAndroid::OnLocationSettingsDialogShown(
|
||||
const GURL& requesting_origin,
|
||||
const GURL& embedding_origin,
|
||||
bool persist,
|
||||
- PermissionDecision decision,
|
||||
+ PermissionDecision decision, content_settings::mojom::LifetimeMode lifetime_option,
|
||||
std::optional<PromptOptions> prompt_options,
|
||||
LocationSettingsDialogOutcome prompt_outcome) {
|
||||
bool is_default_search = IsRequestingOriginDSE(requesting_origin);
|
||||
if (prompt_outcome == GRANTED) {
|
||||
@@ -442,7 +453,8 @@ void GeolocationPermissionContextAndroid::OnLocationSettingsDialogShown(
|
||||
|
||||
FinishNotifyPermissionSet(
|
||||
location_settings_dialog_request_id_, requesting_origin, embedding_origin,
|
||||
- std::move(location_settings_dialog_callback_), persist, decision);
|
||||
+ std::move(location_settings_dialog_callback_), persist, decision,
|
||||
+ lifetime_option);
|
||||
@@ -447,7 +458,7 @@ void GeolocationPermissionContextAndroid::OnLocationSettingsDialogShown(
|
||||
FinishNotifyPermissionSet(location_settings_dialog_request_id_,
|
||||
requesting_origin, embedding_origin,
|
||||
std::move(location_settings_dialog_callback_),
|
||||
- persist, decision, prompt_options);
|
||||
+ persist, decision, prompt_options, lifetime_option);
|
||||
|
||||
location_settings_dialog_request_id_ =
|
||||
PermissionRequestID(content::GlobalRenderFrameHostId(0, 0),
|
||||
@@ -455,15 +467,15 @@ void GeolocationPermissionContextAndroid::FinishNotifyPermissionSet(
|
||||
const GURL& embedding_origin,
|
||||
@@ -461,7 +472,7 @@ void GeolocationPermissionContextAndroid::FinishNotifyPermissionSet(
|
||||
BrowserPermissionCallback callback,
|
||||
bool persist,
|
||||
- PermissionDecision decision) {
|
||||
- GeolocationPermissionContext::NotifyPermissionSet(
|
||||
+ PermissionDecision decision, content_settings::mojom::LifetimeMode lifetime_option) {
|
||||
+ GeolocationPermissionContext::NotifyPermissionSetWithLifetime(
|
||||
PermissionRequestData(this, id,
|
||||
content::PermissionRequestDescription(
|
||||
content::PermissionDescriptorUtil::
|
||||
CreatePermissionDescriptorForPermissionType(
|
||||
blink::PermissionType::GEOLOCATION)),
|
||||
requesting_origin),
|
||||
PermissionDecision decision,
|
||||
- std::optional<PromptOptions> prompt_options) {
|
||||
+ std::optional<PromptOptions> prompt_options, content_settings::mojom::LifetimeMode lifetime_option) {
|
||||
PermissionRequestData request_data(
|
||||
this, id,
|
||||
content::PermissionRequestDescription(
|
||||
@@ -471,7 +482,7 @@ void GeolocationPermissionContextAndroid::FinishNotifyPermissionSet(
|
||||
request_data.prompt_options = prompt_options.value_or(std::monostate());
|
||||
GeolocationPermissionContext::NotifyPermissionSet(
|
||||
request_data,
|
||||
- std::move(callback), persist, decision, /*is_final_decision=*/true);
|
||||
+ std::move(callback), persist, decision, /*is_final_decision=*/true, lifetime_option);
|
||||
}
|
||||
@@ -949,20 +938,20 @@ diff --git a/components/permissions/contexts/geolocation_permission_context_andr
|
||||
content::PermissionResult UpdatePermissionStatusWithDeviceStatus(
|
||||
content::WebContents* web_contents,
|
||||
content::PermissionResult result,
|
||||
@@ -136,6 +142,7 @@ class GeolocationPermissionContextAndroid
|
||||
const GURL& embedding_origin,
|
||||
@@ -137,6 +143,7 @@ class GeolocationPermissionContextAndroid
|
||||
bool persist,
|
||||
PermissionDecision decision,
|
||||
std::optional<PromptOptions> prompt_options,
|
||||
+ content_settings::mojom::LifetimeMode lifetime_option,
|
||||
LocationSettingsDialogOutcome prompt_outcome);
|
||||
|
||||
void FinishNotifyPermissionSet(const PermissionRequestID& id,
|
||||
@@ -143,7 +150,8 @@ class GeolocationPermissionContextAndroid
|
||||
const GURL& embedding_origin,
|
||||
@@ -145,7 +152,8 @@ class GeolocationPermissionContextAndroid
|
||||
BrowserPermissionCallback callback,
|
||||
bool persist,
|
||||
- PermissionDecision decision);
|
||||
+ PermissionDecision decision,
|
||||
PermissionDecision decision,
|
||||
- std::optional<PromptOptions> prompt_options);
|
||||
+ std::optional<PromptOptions> prompt_options,
|
||||
+ content_settings::mojom::LifetimeMode lifetime_option);
|
||||
|
||||
std::unique_ptr<LocationSettings> location_settings_;
|
||||
@@ -982,7 +971,7 @@ diff --git a/components/permissions/embedded_permission_prompt_flow_model.cc b/c
|
||||
diff --git a/components/permissions/permission_context_base.cc b/components/permissions/permission_context_base.cc
|
||||
--- a/components/permissions/permission_context_base.cc
|
||||
+++ b/components/permissions/permission_context_base.cc
|
||||
@@ -257,6 +257,17 @@ PermissionContextBase::CreatePermissionRequest(
|
||||
@@ -260,6 +260,17 @@ PermissionContextBase::CreatePermissionRequest(
|
||||
std::move(request_finished_callback), UsesAutomaticEmbargo());
|
||||
}
|
||||
|
||||
@@ -1000,7 +989,7 @@ diff --git a/components/permissions/permission_context_base.cc b/components/perm
|
||||
bool PermissionContextBase::UsesAutomaticEmbargo() const {
|
||||
return true;
|
||||
}
|
||||
@@ -548,7 +559,8 @@ void PermissionContextBase::DecidePermission(
|
||||
@@ -551,7 +562,8 @@ void PermissionContextBase::DecidePermission(
|
||||
void PermissionContextBase::PermissionDecided(
|
||||
PermissionDecision decision,
|
||||
bool is_final_decision,
|
||||
@@ -1010,7 +999,7 @@ diff --git a/components/permissions/permission_context_base.cc b/components/perm
|
||||
UserMadePermissionDecision(request_data.id, request_data.requesting_origin,
|
||||
request_data.embedding_origin, decision);
|
||||
|
||||
@@ -561,11 +573,12 @@ void PermissionContextBase::PermissionDecided(
|
||||
@@ -564,11 +576,12 @@ void PermissionContextBase::PermissionDecided(
|
||||
// missing if a permission prompt was preignored and we already notified an
|
||||
// origin about it.
|
||||
if (request->second.second) {
|
||||
@@ -1027,7 +1016,7 @@ diff --git a/components/permissions/permission_context_base.cc b/components/perm
|
||||
}
|
||||
}
|
||||
|
||||
@@ -655,6 +668,30 @@ void PermissionContextBase::NotifyPermissionSet(
|
||||
@@ -653,6 +666,30 @@ void PermissionContextBase::NotifyPermissionSet(
|
||||
bool persist,
|
||||
PermissionDecision decision,
|
||||
bool is_final_decision) {
|
||||
@@ -1058,7 +1047,7 @@ diff --git a/components/permissions/permission_context_base.cc b/components/perm
|
||||
DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
|
||||
|
||||
// Note that rfh may be null, see crbug.com/426909787.
|
||||
@@ -670,8 +707,8 @@ void PermissionContextBase::NotifyPermissionSet(
|
||||
@@ -668,8 +705,8 @@ void PermissionContextBase::NotifyPermissionSet(
|
||||
|
||||
if (persist) {
|
||||
// Clone new value, because we need it again for the callback.
|
||||
@@ -1069,9 +1058,9 @@ diff --git a/components/permissions/permission_context_base.cc b/components/perm
|
||||
}
|
||||
|
||||
if (is_final_decision) {
|
||||
@@ -708,6 +745,17 @@ void PermissionContextBase::UpdateSetting(
|
||||
@@ -706,6 +743,17 @@ void PermissionContextBase::UpdateSetting(
|
||||
const PermissionRequestData& request_data,
|
||||
base::Value setting,
|
||||
PermissionSetting setting,
|
||||
bool is_one_time) {
|
||||
+ UpdateSettingImpl(request_data, std::move(setting),
|
||||
+ is_one_time,
|
||||
@@ -1087,7 +1076,7 @@ diff --git a/components/permissions/permission_context_base.cc b/components/perm
|
||||
DCHECK_EQ(request_data.requesting_origin,
|
||||
request_data.requesting_origin.DeprecatedGetOriginAsURL());
|
||||
DCHECK_EQ(request_data.embedding_origin,
|
||||
@@ -717,6 +765,8 @@ void PermissionContextBase::UpdateSetting(
|
||||
@@ -715,6 +763,8 @@ void PermissionContextBase::UpdateSetting(
|
||||
constraints.set_session_model(
|
||||
is_one_time ? content_settings::mojom::SessionModel::ONE_TIME
|
||||
: content_settings::mojom::SessionModel::DURABLE);
|
||||
@@ -1128,7 +1117,7 @@ diff --git a/components/permissions/permission_context_base.h b/components/permi
|
||||
+ bool use_lifetime_option,
|
||||
+ content_settings::mojom::LifetimeMode lifetime_option);
|
||||
virtual void UpdateSetting(const PermissionRequestData& request_data,
|
||||
base::Value setting,
|
||||
PermissionSetting setting,
|
||||
bool is_one_time);
|
||||
@@ -238,6 +255,12 @@ class PermissionContextBase : public content_settings::Observer {
|
||||
PermissionRequest::PermissionDecidedCallback permission_decided_callback,
|
||||
@@ -1156,7 +1145,7 @@ diff --git a/components/permissions/permission_context_base.h b/components/permi
|
||||
diff --git a/components/permissions/permission_prompt.h b/components/permissions/permission_prompt.h
|
||||
--- a/components/permissions/permission_prompt.h
|
||||
+++ b/components/permissions/permission_prompt.h
|
||||
@@ -68,8 +68,9 @@ class PermissionPrompt {
|
||||
@@ -70,8 +70,9 @@ class PermissionPrompt {
|
||||
virtual GURL GetEmbeddingOrigin() const = 0;
|
||||
|
||||
virtual void Accept() = 0;
|
||||
@@ -1170,7 +1159,7 @@ diff --git a/components/permissions/permission_prompt.h b/components/permissions
|
||||
diff --git a/components/permissions/permission_request.cc b/components/permissions/permission_request.cc
|
||||
--- a/components/permissions/permission_request.cc
|
||||
+++ b/components/permissions/permission_request.cc
|
||||
@@ -33,6 +33,16 @@ PermissionRequest::PermissionRequest(
|
||||
@@ -36,6 +36,16 @@ PermissionRequest::PermissionRequest(
|
||||
request_finished_callback_(std::move(request_finished_callback)),
|
||||
uses_automatic_embargo_(uses_automatic_embargo) {}
|
||||
|
||||
@@ -1187,7 +1176,7 @@ diff --git a/components/permissions/permission_request.cc b/components/permissio
|
||||
PermissionRequest::~PermissionRequest() {
|
||||
std::move(request_finished_callback_).Run();
|
||||
}
|
||||
@@ -419,20 +429,40 @@ bool PermissionRequest::ShouldUseTwoOriginPrompt() const {
|
||||
@@ -424,20 +434,40 @@ bool PermissionRequest::ShouldUseTwoOriginPrompt() const {
|
||||
return request_type() == RequestType::kStorageAccess;
|
||||
}
|
||||
|
||||
@@ -1233,7 +1222,7 @@ diff --git a/components/permissions/permission_request.cc b/components/permissio
|
||||
diff --git a/components/permissions/permission_request.h b/components/permissions/permission_request.h
|
||||
--- a/components/permissions/permission_request.h
|
||||
+++ b/components/permissions/permission_request.h
|
||||
@@ -47,6 +47,12 @@ class PermissionRequest {
|
||||
@@ -52,6 +52,12 @@ class PermissionRequest {
|
||||
bool /*is_final_decision*/,
|
||||
const PermissionRequestData& /*request_data*/)>;
|
||||
|
||||
@@ -1246,7 +1235,7 @@ diff --git a/components/permissions/permission_request.h b/components/permission
|
||||
// `permission_decided_callback` is called when the permission request is
|
||||
// resolved by the user (see comment on PermissionDecidedCallback above).
|
||||
// `request_finished_callback` is called when the permission request is being
|
||||
@@ -61,6 +67,11 @@ class PermissionRequest {
|
||||
@@ -66,6 +72,11 @@ class PermissionRequest {
|
||||
base::OnceClosure request_finished_callback = base::DoNothing(),
|
||||
bool uses_automatic_embargo = true);
|
||||
|
||||
@@ -1258,7 +1247,7 @@ diff --git a/components/permissions/permission_request.h b/components/permission
|
||||
PermissionRequest(const PermissionRequest&) = delete;
|
||||
PermissionRequest& operator=(const PermissionRequest&) = delete;
|
||||
|
||||
@@ -167,10 +178,10 @@ class PermissionRequest {
|
||||
@@ -172,10 +183,10 @@ class PermissionRequest {
|
||||
// If |is_one_time| is true the permission will last until all tabs of
|
||||
// |origin| are closed or navigated away from, and then the permission will
|
||||
// automatically expire after 1 day.
|
||||
@@ -1271,7 +1260,7 @@ diff --git a/components/permissions/permission_request.h b/components/permission
|
||||
|
||||
// Called when the user has cancelled the permission request. This
|
||||
// corresponds to a denial, but is segregated in case the context needs to
|
||||
@@ -224,6 +235,9 @@ class PermissionRequest {
|
||||
@@ -237,6 +248,9 @@ class PermissionRequest {
|
||||
// Called once a decision is made about the permission.
|
||||
PermissionDecidedCallback permission_decided_callback_;
|
||||
|
||||
@@ -1284,7 +1273,7 @@ diff --git a/components/permissions/permission_request.h b/components/permission
|
||||
diff --git a/components/permissions/permission_request_manager.cc b/components/permissions/permission_request_manager.cc
|
||||
--- a/components/permissions/permission_request_manager.cc
|
||||
+++ b/components/permissions/permission_request_manager.cc
|
||||
@@ -189,7 +189,7 @@ void PermissionRequestManager::AddRequest(
|
||||
@@ -198,7 +198,7 @@ void PermissionRequestManager::AddRequest(
|
||||
|
||||
if (base::CommandLine::ForCurrentProcess()->HasSwitch(
|
||||
switches::kDenyPermissionPrompts)) {
|
||||
@@ -1293,7 +1282,7 @@ diff --git a/components/permissions/permission_request_manager.cc b/components/p
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -258,7 +258,7 @@ void PermissionRequestManager::AddRequest(
|
||||
@@ -267,7 +267,7 @@ void PermissionRequestManager::AddRequest(
|
||||
|
||||
if (should_auto_approve_request) {
|
||||
if (should_auto_approve_request == PermissionAction::GRANTED) {
|
||||
@@ -1302,7 +1291,7 @@ diff --git a/components/permissions/permission_request_manager.cc b/components/p
|
||||
}
|
||||
return;
|
||||
}
|
||||
@@ -623,7 +623,8 @@ void PermissionRequestManager::Accept() {
|
||||
@@ -626,7 +626,8 @@ void PermissionRequestManager::Accept() {
|
||||
(*requests_iter)->request_type(),
|
||||
PermissionAction::GRANTED);
|
||||
PermissionGrantedIncludingDuplicates(requests_iter->get(),
|
||||
@@ -1312,7 +1301,7 @@ diff --git a/components/permissions/permission_request_manager.cc b/components/p
|
||||
|
||||
#if !BUILDFLAG(IS_ANDROID)
|
||||
std::optional<ContentSettingsType> content_settings_type =
|
||||
@@ -641,7 +642,7 @@ void PermissionRequestManager::Accept() {
|
||||
@@ -644,7 +645,7 @@ void PermissionRequestManager::Accept() {
|
||||
CurrentRequestsDecided(PermissionAction::GRANTED);
|
||||
}
|
||||
|
||||
@@ -1321,7 +1310,7 @@ diff --git a/components/permissions/permission_request_manager.cc b/components/p
|
||||
if (ignore_callbacks_from_prompt_) {
|
||||
return;
|
||||
}
|
||||
@@ -655,7 +656,8 @@ void PermissionRequestManager::AcceptThisTime() {
|
||||
@@ -658,7 +659,8 @@ void PermissionRequestManager::AcceptThisTime() {
|
||||
(*requests_iter)->request_type(),
|
||||
PermissionAction::GRANTED_ONCE);
|
||||
PermissionGrantedIncludingDuplicates(requests_iter->get(),
|
||||
@@ -1331,7 +1320,7 @@ diff --git a/components/permissions/permission_request_manager.cc b/components/p
|
||||
}
|
||||
|
||||
NotifyRequestDecided(PermissionAction::GRANTED_ONCE);
|
||||
@@ -663,6 +665,15 @@ void PermissionRequestManager::AcceptThisTime() {
|
||||
@@ -666,6 +668,15 @@ void PermissionRequestManager::AcceptThisTime() {
|
||||
}
|
||||
|
||||
void PermissionRequestManager::Deny() {
|
||||
@@ -1347,7 +1336,7 @@ diff --git a/components/permissions/permission_request_manager.cc b/components/p
|
||||
if (ignore_callbacks_from_prompt_) {
|
||||
return;
|
||||
}
|
||||
@@ -685,7 +696,7 @@ void PermissionRequestManager::Deny() {
|
||||
@@ -688,7 +699,7 @@ void PermissionRequestManager::Deny() {
|
||||
StorePermissionActionForUMA((*requests_iter)->requesting_origin(),
|
||||
(*requests_iter)->request_type(),
|
||||
PermissionAction::DENIED);
|
||||
@@ -1411,7 +1400,7 @@ diff --git a/components/permissions/permission_request_manager.cc b/components/p
|
||||
diff --git a/components/permissions/permission_request_manager.h b/components/permissions/permission_request_manager.h
|
||||
--- a/components/permissions/permission_request_manager.h
|
||||
+++ b/components/permissions/permission_request_manager.h
|
||||
@@ -165,8 +165,10 @@ class PermissionRequestManager
|
||||
@@ -166,8 +166,10 @@ class PermissionRequestManager
|
||||
GURL GetRequestingOrigin() const override;
|
||||
GURL GetEmbeddingOrigin() const override;
|
||||
void Accept() override;
|
||||
@@ -1423,7 +1412,7 @@ diff --git a/components/permissions/permission_request_manager.h b/components/pe
|
||||
void Dismiss() override;
|
||||
void Ignore() override;
|
||||
void FinalizeCurrentRequests() override;
|
||||
@@ -394,9 +396,12 @@ class PermissionRequestManager
|
||||
@@ -413,9 +415,12 @@ class PermissionRequestManager
|
||||
|
||||
// Calls PermissionGranted on a request and all its duplicates.
|
||||
void PermissionGrantedIncludingDuplicates(PermissionRequest* request,
|
||||
@@ -1436,6 +1425,6 @@ diff --git a/components/permissions/permission_request_manager.h b/components/pe
|
||||
+ bool is_one_time,
|
||||
+ content_settings::mojom::LifetimeMode lifetime_option);
|
||||
// Calls Cancelled on a request and all its duplicates.
|
||||
void CancelledIncludingDuplicates(PermissionRequest* request,
|
||||
bool is_final_decision = true);
|
||||
void CancelRequestIncludingDuplicates(PermissionRequest* request,
|
||||
bool is_final_decision = true);
|
||||
--
|
||||
|
||||
@@ -29,14 +29,13 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
.../bookmarks/browser/bookmark_uuids.cc | 3 ++
|
||||
components/bookmarks/browser/bookmark_uuids.h | 1 +
|
||||
components/bookmarks/browser/model_loader.cc | 9 +++-
|
||||
...ookmark_model_merger_comparison_metrics.cc | 4 ++
|
||||
.../bookmark_specifics_conversions.cc | 1 +
|
||||
27 files changed, 259 insertions(+), 14 deletions(-)
|
||||
26 files changed, 255 insertions(+), 14 deletions(-)
|
||||
|
||||
diff --git a/chrome/android/java/res/values/ids.xml b/chrome/android/java/res/values/ids.xml
|
||||
--- a/chrome/android/java/res/values/ids.xml
|
||||
+++ b/chrome/android/java/res/values/ids.xml
|
||||
@@ -177,6 +177,7 @@ found in the LICENSE file.
|
||||
@@ -180,6 +180,7 @@ found in the LICENSE file.
|
||||
<item type="id" name="menu_select_tabs" />
|
||||
<item type="id" name="menu_item_content_filter_divider_line_id" />
|
||||
<item type="id" name="menu_item_content_filter_help_center_id" />
|
||||
@@ -55,26 +54,26 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct
|
||||
import org.chromium.chrome.browser.compositor.layouts.Layout;
|
||||
import org.chromium.chrome.browser.compositor.layouts.LayoutManagerChrome;
|
||||
import org.chromium.chrome.browser.compositor.layouts.LayoutManagerChromePhone;
|
||||
@@ -276,6 +277,9 @@ import org.chromium.chrome.browser.ui.appmenu.AppMenuPropertiesDelegate;
|
||||
@@ -287,6 +288,9 @@ import org.chromium.chrome.browser.ui.browser_window.ChromeAndroidTaskTrackerFac
|
||||
import org.chromium.chrome.browser.ui.desktop_windowing.AppHeaderUtils;
|
||||
import org.chromium.chrome.browser.ui.edge_to_edge.EdgeToEdgeUtils;
|
||||
import org.chromium.chrome.browser.ui.extensions.ExtensionKeybindingRegistry;
|
||||
import org.chromium.chrome.browser.ui.extensions.windowing.ExtensionWindowControllerBridgeFactory;
|
||||
+import org.chromium.chrome.browser.ui.messages.snackbar.Snackbar;
|
||||
+import org.chromium.chrome.browser.ui.messages.snackbar.SnackbarManager;
|
||||
+import org.chromium.chrome.browser.ui.messages.snackbar.SnackbarManager.SnackbarController;
|
||||
import org.chromium.chrome.browser.ui.searchactivityutils.SearchActivityClient;
|
||||
import org.chromium.chrome.browser.ui.searchactivityutils.SearchActivityExtras.IntentOrigin;
|
||||
import org.chromium.chrome.browser.ui.signin.BottomSheetSigninAndHistorySyncConfig;
|
||||
@@ -285,6 +289,8 @@ import org.chromium.chrome.browser.undo_tab_close_snackbar.UndoBarController;
|
||||
import org.chromium.chrome.browser.usage_stats.UsageStatsService;
|
||||
@@ -298,6 +302,8 @@ import org.chromium.chrome.browser.usage_stats.UsageStatsService;
|
||||
import org.chromium.chrome.browser.util.ChromeAccessibilityUtil;
|
||||
import org.chromium.chrome.browser.xr.scenecore.XrSceneCoreSessionInitializerImpl;
|
||||
import org.chromium.chrome.browser.xr.scenecore.XrSceneCoreSessionManagerImpl;
|
||||
+import org.chromium.components.bookmarks.BookmarkId;
|
||||
+import org.chromium.components.bookmarks.BookmarkItem;
|
||||
import org.chromium.components.browser_ui.bottomsheet.BottomSheetController;
|
||||
import org.chromium.components.browser_ui.edge_to_edge.SystemBarColorHelper;
|
||||
import org.chromium.components.browser_ui.edge_to_edge.TabbedSystemBarColorHelper;
|
||||
@@ -3497,6 +3503,8 @@ public class ChromeTabbedActivity extends ChromeActivity {
|
||||
@@ -3739,6 +3745,8 @@ public class ChromeTabbedActivity extends ChromeActivity {
|
||||
getTabModelSelectorSupplier().get(),
|
||||
closeAllTabsRunnable);
|
||||
RecordUserAction.record("MobileMenuCloseAllTabs");
|
||||
@@ -83,7 +82,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct
|
||||
} else if (id == R.id.close_all_incognito_tabs_menu_id) {
|
||||
boolean allowUndo = TabClosureParamsUtils.shouldAllowUndo(triggeringMotion);
|
||||
|
||||
@@ -3610,6 +3618,41 @@ public class ChromeTabbedActivity extends ChromeActivity {
|
||||
@@ -3863,6 +3871,41 @@ public class ChromeTabbedActivity extends ChromeActivity {
|
||||
getTabModalLifetimeHandler().onOmniboxFocusChanged(hasFocus);
|
||||
}
|
||||
|
||||
@@ -128,7 +127,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedAppMenuPropertiesDelegate.java b/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedAppMenuPropertiesDelegate.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedAppMenuPropertiesDelegate.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedAppMenuPropertiesDelegate.java
|
||||
@@ -264,6 +264,14 @@ public class TabbedAppMenuPropertiesDelegate extends AppMenuPropertiesDelegateIm
|
||||
@@ -270,6 +270,14 @@ public class TabbedAppMenuPropertiesDelegate extends AppMenuPropertiesDelegateIm
|
||||
// Bookmarks
|
||||
modelList.add(buildBookmarksItem());
|
||||
|
||||
@@ -143,7 +142,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/Tab
|
||||
// Recent Tabs
|
||||
if (shouldShowRecentTabsItem()) modelList.add(buildRecentTabsItem());
|
||||
|
||||
@@ -423,6 +431,13 @@ public class TabbedAppMenuPropertiesDelegate extends AppMenuPropertiesDelegateIm
|
||||
@@ -434,6 +442,13 @@ public class TabbedAppMenuPropertiesDelegate extends AppMenuPropertiesDelegateIm
|
||||
}
|
||||
modelList.add(buildCloseAllTabsItem());
|
||||
if (shouldShowTinkerTank()) modelList.add(buildTinkerTankItem());
|
||||
@@ -212,7 +211,7 @@ diff --git a/chrome/browser/bookmarks/android/bookmark_bridge.cc b/chrome/browse
|
||||
const BookmarkNode* reading_list_node =
|
||||
local_or_syncable_reading_list_manager_->GetRoot();
|
||||
if (IsPermanentFolderVisible(
|
||||
@@ -1337,6 +1368,17 @@ void BookmarkBridge::GetBookmarksOfType(
|
||||
@@ -1306,6 +1337,17 @@ void BookmarkBridge::GetBookmarksOfType(
|
||||
AddBookmarkNodesToBookmarkIdList(env, j_list, results);
|
||||
}
|
||||
|
||||
@@ -244,7 +243,7 @@ diff --git a/chrome/browser/bookmarks/android/bookmark_bridge.h b/chrome/browser
|
||||
base::android::ScopedJavaLocalRef<jobject>
|
||||
GetMostRecentlyAddedUserBookmarkIdForUrl(JNIEnv* env, const GURL& url);
|
||||
const bookmarks::BookmarkNode* GetMostRecentlyAddedUserBookmarkIdForUrlImpl(
|
||||
@@ -250,6 +254,10 @@ class BookmarkBridge : public ProfileObserver,
|
||||
@@ -245,6 +249,10 @@ class BookmarkBridge : public ProfileObserver,
|
||||
const base::android::JavaParamRef<jobject>& j_list,
|
||||
jint type);
|
||||
|
||||
@@ -299,7 +298,7 @@ diff --git a/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/brows
|
||||
/** Returns Id representing the special "other" folder from bookmark model. */
|
||||
public @Nullable BookmarkId getOtherFolderId() {
|
||||
ThreadUtils.assertOnUiThread();
|
||||
@@ -898,6 +911,29 @@ class BookmarkBridge {
|
||||
@@ -882,6 +895,29 @@ class BookmarkBridge {
|
||||
.addToReadingList(mNativeBookmarkBridge, parentId, title, url);
|
||||
}
|
||||
|
||||
@@ -329,7 +328,7 @@ diff --git a/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/brows
|
||||
/**
|
||||
* Helper method to mark an item as read.
|
||||
*
|
||||
@@ -1115,6 +1151,9 @@ class BookmarkBridge {
|
||||
@@ -1099,6 +1135,9 @@ class BookmarkBridge {
|
||||
BookmarkId getMostRecentlyAddedUserBookmarkIdForUrl(
|
||||
long nativeBookmarkBridge, @JniType("GURL") GURL url);
|
||||
|
||||
@@ -339,7 +338,7 @@ diff --git a/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/brows
|
||||
BookmarkItem getBookmarkById(long nativeBookmarkBridge, long id, int type);
|
||||
|
||||
void getTopLevelFolderIds(
|
||||
@@ -1136,6 +1175,8 @@ class BookmarkBridge {
|
||||
@@ -1120,6 +1159,8 @@ class BookmarkBridge {
|
||||
|
||||
BookmarkId getRootFolderId(long nativeBookmarkBridge);
|
||||
|
||||
@@ -460,7 +459,7 @@ diff --git a/chrome/browser/download/android/java/src/org/chromium/chrome/browse
|
||||
diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||
--- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||
+++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||
@@ -4604,6 +4604,9 @@ To change this setting, <ph name="BEGIN_LINK">BEGIN_LINK</ph>delete the Chrome d
|
||||
@@ -4355,6 +4355,9 @@ To change this setting, <ph name="BEGIN_LINK">BEGIN_LINK</ph>delete the Chrome d
|
||||
<message name="IDS_MENU_SELECT_TABS" desc="Menu item for bulk editing tabs. [CHAR_LIMIT=27]">
|
||||
Select tabs
|
||||
</message>
|
||||
@@ -904,27 +903,6 @@ diff --git a/components/bookmarks/browser/model_loader.cc b/components/bookmarks
|
||||
&sync_metadata_str)) {
|
||||
details->set_local_or_syncable_sync_metadata_str(
|
||||
std::move(sync_metadata_str));
|
||||
diff --git a/components/sync_bookmarks/bookmark_model_merger_comparison_metrics.cc b/components/sync_bookmarks/bookmark_model_merger_comparison_metrics.cc
|
||||
--- a/components/sync_bookmarks/bookmark_model_merger_comparison_metrics.cc
|
||||
+++ b/components/sync_bookmarks/bookmark_model_merger_comparison_metrics.cc
|
||||
@@ -38,6 +38,7 @@ const char kOtherBookmarksTag[] = "other_bookmarks";
|
||||
constexpr char16_t kBookmarkBarFolderName[] = u"__Bookmarks bar__";
|
||||
constexpr char16_t kOtherBookmarksFolderName[] = u"__Other bookmarks__";
|
||||
constexpr char16_t kMobileBookmarksFolderName[] = u"__Mobile bookmarks__";
|
||||
+constexpr char16_t kTabsCollectionBookmarksFolderName[] = u"__Tabs collection__";
|
||||
|
||||
using RemoteForest = BookmarkModelMerger::RemoteForest;
|
||||
using RemoteTreeNode = BookmarkModelMerger::RemoteTreeNode;
|
||||
@@ -129,6 +130,9 @@ std::u16string_view GetBookmarkNodeTitle(const bookmarks::BookmarkNode* node) {
|
||||
return kOtherBookmarksFolderName;
|
||||
case bookmarks::BookmarkNode::MOBILE:
|
||||
return kMobileBookmarksFolderName;
|
||||
+ case bookmarks::BookmarkNode::TABS_COLLECTION:
|
||||
+ return kTabsCollectionBookmarksFolderName;
|
||||
+
|
||||
}
|
||||
NOTREACHED();
|
||||
}
|
||||
diff --git a/components/sync_bookmarks/bookmark_specifics_conversions.cc b/components/sync_bookmarks/bookmark_specifics_conversions.cc
|
||||
--- a/components/sync_bookmarks/bookmark_specifics_conversions.cc
|
||||
+++ b/components/sync_bookmarks/bookmark_specifics_conversions.cc
|
||||
|
||||
@@ -20,7 +20,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
||||
cc/trees/layer_tree_host.h | 4 ++
|
||||
cc/trees/layer_tree_host_impl.cc | 4 +-
|
||||
cc/trees/layer_tree_impl.cc | 30 ++++++++----
|
||||
cc/trees/layer_tree_impl.h | 6 +++
|
||||
cc/trees/layer_tree_impl.h | 7 ++-
|
||||
cc/trees/property_tree.cc | 4 +-
|
||||
.../java/res/xml/developer_preferences.xml | 4 ++
|
||||
.../chrome/browser/WarmupManager.java | 2 +-
|
||||
@@ -107,7 +107,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
||||
ui/display/mojom/screen_info_mojom_traits.h | 4 ++
|
||||
ui/display/screen_info.h | 1 +
|
||||
ui/events/blink/blink_event_util.cc | 2 +-
|
||||
97 files changed, 526 insertions(+), 137 deletions(-)
|
||||
97 files changed, 526 insertions(+), 138 deletions(-)
|
||||
create mode 100644 chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/cromite/sPixelPerfect.java
|
||||
create mode 100644 chrome/browser/ui/android/strings/cromite_android_chrome_strings_grd/Pixel-perfect-mode.grdp
|
||||
create mode 100644 cromite_flags/chrome/browser/about_flags_cc/Pixel-perfect-mode.inc
|
||||
@@ -117,7 +117,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
||||
diff --git a/cc/input/input_handler.cc b/cc/input/input_handler.cc
|
||||
--- a/cc/input/input_handler.cc
|
||||
+++ b/cc/input/input_handler.cc
|
||||
@@ -671,7 +671,7 @@ InputHandlerPointerResult InputHandler::MouseMoveAt(
|
||||
@@ -670,7 +670,7 @@ InputHandlerPointerResult InputHandler::MouseMoveAt(
|
||||
return result;
|
||||
}
|
||||
|
||||
@@ -162,7 +162,7 @@ diff --git a/cc/layers/viewport.cc b/cc/layers/viewport.cc
|
||||
diff --git a/cc/mojo_embedder/viz_layer_context.cc b/cc/mojo_embedder/viz_layer_context.cc
|
||||
--- a/cc/mojo_embedder/viz_layer_context.cc
|
||||
+++ b/cc/mojo_embedder/viz_layer_context.cc
|
||||
@@ -1238,7 +1238,7 @@ void VizLayerContext::SetVisible(bool visible) {
|
||||
@@ -1242,7 +1242,7 @@ void VizLayerContext::SetVisible(bool visible) {
|
||||
service_->SetVisible(visible);
|
||||
}
|
||||
|
||||
@@ -196,7 +196,7 @@ diff --git a/cc/trees/commit_state.h b/cc/trees/commit_state.h
|
||||
diff --git a/cc/trees/layer_tree_host.cc b/cc/trees/layer_tree_host.cc
|
||||
--- a/cc/trees/layer_tree_host.cc
|
||||
+++ b/cc/trees/layer_tree_host.cc
|
||||
@@ -1348,7 +1348,7 @@ void LayerTreeHost::SetEventListenerProperties(
|
||||
@@ -1347,7 +1347,7 @@ void LayerTreeHost::SetEventListenerProperties(
|
||||
SetNeedsCommit();
|
||||
}
|
||||
|
||||
@@ -205,7 +205,7 @@ diff --git a/cc/trees/layer_tree_host.cc b/cc/trees/layer_tree_host.cc
|
||||
const gfx::Rect& device_viewport_rect,
|
||||
float device_scale_factor,
|
||||
const viz::LocalSurfaceId& local_surface_id_from_parent) {
|
||||
@@ -1459,9 +1459,11 @@ void LayerTreeHost::SetOverscrollBehavior(const OverscrollBehavior& behavior) {
|
||||
@@ -1458,9 +1458,11 @@ void LayerTreeHost::SetOverscrollBehavior(const OverscrollBehavior& behavior) {
|
||||
|
||||
void LayerTreeHost::SetPageScaleFactorAndLimits(float page_scale_factor,
|
||||
float min_page_scale_factor,
|
||||
@@ -217,7 +217,7 @@ diff --git a/cc/trees/layer_tree_host.cc b/cc/trees/layer_tree_host.cc
|
||||
pending_commit_state()->max_page_scale_factor == max_page_scale_factor)
|
||||
return;
|
||||
DCHECK_GE(page_scale_factor, min_page_scale_factor);
|
||||
@@ -1477,6 +1479,7 @@ void LayerTreeHost::SetPageScaleFactorAndLimits(float page_scale_factor,
|
||||
@@ -1476,6 +1478,7 @@ void LayerTreeHost::SetPageScaleFactorAndLimits(float page_scale_factor,
|
||||
|
||||
pending_commit_state()->page_scale_factor = page_scale_factor;
|
||||
pending_commit_state()->min_page_scale_factor = min_page_scale_factor;
|
||||
@@ -249,16 +249,16 @@ diff --git a/cc/trees/layer_tree_host.h b/cc/trees/layer_tree_host.h
|
||||
diff --git a/cc/trees/layer_tree_host_impl.cc b/cc/trees/layer_tree_host_impl.cc
|
||||
--- a/cc/trees/layer_tree_host_impl.cc
|
||||
+++ b/cc/trees/layer_tree_host_impl.cc
|
||||
@@ -2487,7 +2487,7 @@ viz::RegionCaptureBounds LayerTreeHostImpl::CollectRegionCaptureBounds() {
|
||||
@@ -2472,7 +2472,7 @@ viz::RegionCaptureBounds LayerTreeHostImpl::CollectRegionCaptureBounds() {
|
||||
return bounds;
|
||||
}
|
||||
|
||||
-viz::CompositorFrameMetadata LayerTreeHostImpl::MakeCompositorFrameMetadata() {
|
||||
+viz::CompositorFrameMetadata LayerTreeHostImpl::MakeCompositorFrameMetadata() { // POI
|
||||
viz::CompositorFrameMetadata metadata;
|
||||
metadata.frame_token = ++next_frame_token_;
|
||||
metadata.device_scale_factor = active_tree_->painted_device_scale_factor() *
|
||||
@@ -2646,7 +2646,7 @@ viz::CompositorFrameMetadata LayerTreeHostImpl::MakeCompositorFrameMetadata() {
|
||||
if (settings().trees_in_viz_in_viz_process) {
|
||||
// In TreesInViz mode, this function is called in client process already,
|
||||
@@ -2639,7 +2639,7 @@ viz::CompositorFrameMetadata LayerTreeHostImpl::MakeCompositorFrameMetadata() {
|
||||
return metadata;
|
||||
}
|
||||
|
||||
@@ -278,7 +278,7 @@ diff --git a/cc/trees/layer_tree_impl.cc b/cc/trees/layer_tree_impl.cc
|
||||
max_page_scale_factor_(0),
|
||||
external_page_scale_factor_(1.f),
|
||||
device_scale_factor_(1.f),
|
||||
@@ -449,7 +450,7 @@ void LayerTreeImpl::InvalidateRasterInducingScrolls(
|
||||
@@ -451,7 +452,7 @@ void LayerTreeImpl::InvalidateRasterInducingScrolls(
|
||||
}
|
||||
}
|
||||
|
||||
@@ -287,7 +287,7 @@ diff --git a/cc/trees/layer_tree_impl.cc b/cc/trees/layer_tree_impl.cc
|
||||
if (!InnerViewportScrollNode())
|
||||
return;
|
||||
|
||||
@@ -527,8 +528,13 @@ void LayerTreeImpl::UpdateViewportContainerSizes() {
|
||||
@@ -526,8 +527,13 @@ void LayerTreeImpl::UpdateViewportContainerSizes() {
|
||||
// Adjust the outer viewport container as well, since adjusting only the
|
||||
// inner may cause its bounds to exceed those of the outer, causing scroll
|
||||
// clamping.
|
||||
@@ -303,7 +303,7 @@ diff --git a/cc/trees/layer_tree_impl.cc b/cc/trees/layer_tree_impl.cc
|
||||
|
||||
property_trees->SetOuterViewportContainerBoundsDelta(scaled_bounds_delta);
|
||||
// outer_viewport_container_bounds_delta and
|
||||
@@ -819,6 +825,7 @@ void LayerTreeImpl::PullLayerTreePropertiesFrom(CommitState& commit_state) {
|
||||
@@ -823,6 +829,7 @@ void LayerTreeImpl::PullLayerTreePropertiesFrom(CommitState& commit_state) {
|
||||
|
||||
PushPageScaleFromMainThread(commit_state.page_scale_factor,
|
||||
commit_state.min_page_scale_factor,
|
||||
@@ -311,7 +311,7 @@ diff --git a/cc/trees/layer_tree_impl.cc b/cc/trees/layer_tree_impl.cc
|
||||
commit_state.max_page_scale_factor);
|
||||
|
||||
SetBrowserControlsParams(commit_state.browser_controls_params);
|
||||
@@ -930,6 +937,7 @@ void LayerTreeImpl::PushPropertiesTo(LayerTreeImpl* target_tree) {
|
||||
@@ -934,6 +941,7 @@ void LayerTreeImpl::PushPropertiesTo(LayerTreeImpl* target_tree) {
|
||||
// Active tree already shares the page_scale_factor object with pending
|
||||
// tree so only the limits need to be provided.
|
||||
target_tree->PushPageScaleFactorAndLimits(nullptr, min_page_scale_factor(),
|
||||
@@ -319,7 +319,7 @@ diff --git a/cc/trees/layer_tree_impl.cc b/cc/trees/layer_tree_impl.cc
|
||||
max_page_scale_factor());
|
||||
target_tree->SetExternalPageScaleFactor(external_page_scale_factor_);
|
||||
|
||||
@@ -1311,19 +1319,21 @@ void LayerTreeImpl::SetPageScaleOnActiveTree(float active_page_scale) {
|
||||
@@ -1315,19 +1323,21 @@ void LayerTreeImpl::SetPageScaleOnActiveTree(float active_page_scale) {
|
||||
|
||||
void LayerTreeImpl::PushPageScaleFromMainThread(float page_scale_factor,
|
||||
float min_page_scale_factor,
|
||||
@@ -343,7 +343,7 @@ diff --git a/cc/trees/layer_tree_impl.cc b/cc/trees/layer_tree_impl.cc
|
||||
|
||||
if (changed_page_scale) {
|
||||
DidUpdatePageScale();
|
||||
@@ -1332,12 +1342,13 @@ void LayerTreeImpl::SetPageScaleFactorAndLimitsForDisplayTree(
|
||||
@@ -1336,12 +1346,13 @@ void LayerTreeImpl::SetPageScaleFactorAndLimitsForDisplayTree(
|
||||
|
||||
void LayerTreeImpl::PushPageScaleFactorAndLimits(const float* page_scale_factor,
|
||||
float min_page_scale_factor,
|
||||
@@ -358,7 +358,7 @@ diff --git a/cc/trees/layer_tree_impl.cc b/cc/trees/layer_tree_impl.cc
|
||||
|
||||
if (page_scale_factor) {
|
||||
DCHECK(!IsActiveTree() || !host_impl_->pending_tree());
|
||||
@@ -1442,12 +1453,15 @@ void LayerTreeImpl::PushBrowserControls(
|
||||
@@ -1446,12 +1457,15 @@ void LayerTreeImpl::PushBrowserControls(
|
||||
}
|
||||
|
||||
bool LayerTreeImpl::SetPageScaleFactorLimits(float min_page_scale_factor,
|
||||
@@ -374,7 +374,7 @@ diff --git a/cc/trees/layer_tree_impl.cc b/cc/trees/layer_tree_impl.cc
|
||||
max_page_scale_factor_ = max_page_scale_factor;
|
||||
|
||||
return true;
|
||||
@@ -2366,7 +2380,7 @@ ScrollbarSet LayerTreeImpl::ScrollbarsFor(ElementId scroll_element_id) const {
|
||||
@@ -2357,7 +2371,7 @@ ScrollbarSet LayerTreeImpl::ScrollbarsFor(ElementId scroll_element_id) const {
|
||||
return scrollbars;
|
||||
}
|
||||
|
||||
@@ -383,7 +383,7 @@ diff --git a/cc/trees/layer_tree_impl.cc b/cc/trees/layer_tree_impl.cc
|
||||
const gfx::PointF& screen_space_point,
|
||||
const gfx::Transform& local_space_to_screen_space_transform,
|
||||
const gfx::Rect& local_space_rect,
|
||||
@@ -2952,7 +2966,7 @@ static gfx::SelectionBound ComputeViewportSelectionBound(
|
||||
@@ -2943,7 +2957,7 @@ static gfx::SelectionBound ComputeViewportSelectionBound(
|
||||
return viewport_bound;
|
||||
}
|
||||
|
||||
@@ -395,17 +395,24 @@ diff --git a/cc/trees/layer_tree_impl.cc b/cc/trees/layer_tree_impl.cc
|
||||
diff --git a/cc/trees/layer_tree_impl.h b/cc/trees/layer_tree_impl.h
|
||||
--- a/cc/trees/layer_tree_impl.h
|
||||
+++ b/cc/trees/layer_tree_impl.h
|
||||
@@ -380,7 +380,9 @@ class CC_EXPORT LayerTreeImpl {
|
||||
@@ -380,6 +380,7 @@ class CC_EXPORT LayerTreeImpl {
|
||||
void SetPageScaleOnActiveTree(float active_page_scale);
|
||||
void PushPageScaleFromMainThread(float page_scale_factor,
|
||||
float min_page_scale_factor,
|
||||
+ float browser_control_scale_factor,
|
||||
float max_page_scale_factor);
|
||||
+ float browser_control_scale_factor() const { return browser_control_scale_factor_; }
|
||||
const LayerSelection& selection() const { return selection_; }
|
||||
float current_page_scale_factor() const {
|
||||
return page_scale_factor()->Current(IsActiveTree());
|
||||
@@ -387,7 +388,7 @@ class CC_EXPORT LayerTreeImpl {
|
||||
}
|
||||
@@ -845,6 +847,7 @@ class CC_EXPORT LayerTreeImpl {
|
||||
float min_page_scale_factor() const { return min_page_scale_factor_; }
|
||||
float max_page_scale_factor() const { return max_page_scale_factor_; }
|
||||
-
|
||||
+ float browser_control_scale_factor() const { return browser_control_scale_factor_; }
|
||||
float page_scale_delta() const { return page_scale_factor()->Delta(); }
|
||||
|
||||
SyncedScale* page_scale_factor();
|
||||
@@ -849,6 +850,7 @@ class CC_EXPORT LayerTreeImpl {
|
||||
|
||||
void SetPageScaleFactorAndLimitsForDisplayTree(float page_scale_factor,
|
||||
float min_page_scale_factor,
|
||||
@@ -413,7 +420,7 @@ diff --git a/cc/trees/layer_tree_impl.h b/cc/trees/layer_tree_impl.h
|
||||
float max_page_scale_factor);
|
||||
|
||||
LayerTreeHostImpl* host_impl() { return host_impl_; }
|
||||
@@ -869,8 +872,10 @@ class CC_EXPORT LayerTreeImpl {
|
||||
@@ -873,8 +875,10 @@ class CC_EXPORT LayerTreeImpl {
|
||||
float ClampPageScaleFactorToLimits(float page_scale_factor) const;
|
||||
void PushPageScaleFactorAndLimits(const float* page_scale_factor,
|
||||
float min_page_scale_factor,
|
||||
@@ -424,7 +431,7 @@ diff --git a/cc/trees/layer_tree_impl.h b/cc/trees/layer_tree_impl.h
|
||||
float max_page_scale_factor);
|
||||
void DidUpdatePageScale();
|
||||
void PushBrowserControls(const float* top_controls_shown_ratio,
|
||||
@@ -909,6 +914,7 @@ class CC_EXPORT LayerTreeImpl {
|
||||
@@ -913,6 +917,7 @@ class CC_EXPORT LayerTreeImpl {
|
||||
|
||||
scoped_refptr<SyncedScale> page_scale_factor_;
|
||||
float min_page_scale_factor_;
|
||||
@@ -468,12 +475,12 @@ diff --git a/chrome/android/java/res/xml/developer_preferences.xml b/chrome/andr
|
||||
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
|
||||
@@ -312,7 +312,7 @@ public class WarmupManager {
|
||||
Rect bounds = TabUtils.estimateContentSize(context);
|
||||
int width = bounds.right - bounds.left;
|
||||
@@ -321,7 +321,7 @@ public class WarmupManager {
|
||||
int height = bounds.bottom - bounds.top;
|
||||
- tab.getWebContents().setSize(width, height);
|
||||
+ tab.getWebContents().setSize(width, height, 0);
|
||||
webContents = tab.getWebContents();
|
||||
assumeNonNull(webContents);
|
||||
- webContents.setSize(width, height);
|
||||
+ webContents.setSize(width, height, 0);
|
||||
|
||||
// Reparent the tab to detach it from the current activity.
|
||||
ReparentingTask.from(tab).detach();
|
||||
@@ -490,7 +497,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv
|
||||
import org.chromium.base.ActivityState;
|
||||
import org.chromium.base.ApplicationStatus;
|
||||
import org.chromium.base.BuildInfo;
|
||||
@@ -509,7 +512,25 @@ public abstract class ChromeActivity extends AsyncInitializationActivity
|
||||
@@ -516,7 +519,25 @@ public abstract class ChromeActivity extends AsyncInitializationActivity
|
||||
|
||||
// Ensure that mConfig is initialized before tablet mode changes.
|
||||
mConfig = getResources().getConfiguration();
|
||||
@@ -520,7 +527,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/CompositorViewHolder.java b/chrome/android/java/src/org/chromium/chrome/browser/compositor/CompositorViewHolder.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/compositor/CompositorViewHolder.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/compositor/CompositorViewHolder.java
|
||||
@@ -925,7 +925,7 @@ public class CompositorViewHolder extends FrameLayout
|
||||
@@ -929,7 +929,7 @@ public class CompositorViewHolder extends FrameLayout
|
||||
int viewportInsets = controlsInsets + keyboardInset;
|
||||
|
||||
if (isAttachedToWindow(view)) {
|
||||
@@ -529,7 +536,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/Comp
|
||||
|
||||
// Dispatch the geometrychange JavaScript event to the page.
|
||||
// TODO(bokan): This doesn't belong in updateWebContentsSize. Ideally the content/ layer
|
||||
@@ -945,7 +945,7 @@ public class CompositorViewHolder extends FrameLayout
|
||||
@@ -949,7 +949,7 @@ public class CompositorViewHolder extends FrameLayout
|
||||
MeasureSpec.makeMeasureSpec(width, MeasureSpec.EXACTLY),
|
||||
MeasureSpec.makeMeasureSpec(height, MeasureSpec.EXACTLY));
|
||||
view.layout(0, 0, view.getMeasuredWidth(), view.getMeasuredHeight());
|
||||
@@ -541,19 +548,19 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/Comp
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/bottombar/OverlayPanelContent.java b/chrome/android/java/src/org/chromium/chrome/browser/compositor/bottombar/OverlayPanelContent.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/compositor/bottombar/OverlayPanelContent.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/compositor/bottombar/OverlayPanelContent.java
|
||||
@@ -610,7 +610,7 @@ public class OverlayPanelContent {
|
||||
@@ -617,7 +617,7 @@ public class OverlayPanelContent {
|
||||
OverlayPanelContentJni.get()
|
||||
.onPhysicalBackingSizeChanged(
|
||||
mNativeOverlayPanelContentPtr, webContents, mContentViewWidth, viewHeight);
|
||||
- mWebContents.setSize(mContentViewWidth, viewHeight);
|
||||
+ mWebContents.setSize(mContentViewWidth, viewHeight, (mSubtractBarHeight ? mBarHeightPx : 0));
|
||||
- assumeNonNull(mWebContents).setSize(mContentViewWidth, viewHeight);
|
||||
+ assumeNonNull(mWebContents).setSize(mContentViewWidth, viewHeight, (mSubtractBarHeight ? mBarHeightPx : 0));
|
||||
}
|
||||
|
||||
/** Destroy the native component of this class. */
|
||||
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
|
||||
@@ -1864,7 +1864,7 @@ class TabImpl implements Tab {
|
||||
@@ -1869,7 +1869,7 @@ class TabImpl implements Tab {
|
||||
// so that next onShow() call won't send a resize message with zero size
|
||||
// to the renderer process. This prevents the size fluttering that may confuse
|
||||
// Blink and break rendered result (see http://crbug.com/340987).
|
||||
@@ -562,7 +569,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.jav
|
||||
|
||||
if (bounds != null) {
|
||||
assert mNativeTabAndroid != 0;
|
||||
@@ -2237,7 +2237,7 @@ class TabImpl implements Tab {
|
||||
@@ -2243,7 +2243,7 @@ class TabImpl implements Tab {
|
||||
Supplier<CompositorViewHolder> compositorViewHolderSupplier =
|
||||
assumeNonNull(getActivity()).getCompositorViewHolderSupplier();
|
||||
View compositorView = compositorViewHolderSupplier.get();
|
||||
@@ -607,7 +614,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tracing/setting
|
||||
diff --git a/chrome/browser/android/bottombar/overlay_panel_content.cc b/chrome/browser/android/bottombar/overlay_panel_content.cc
|
||||
--- a/chrome/browser/android/bottombar/overlay_panel_content.cc
|
||||
+++ b/chrome/browser/android/bottombar/overlay_panel_content.cc
|
||||
@@ -51,7 +51,7 @@ void OverlayPanelContent::OnPhysicalBackingSizeChanged(
|
||||
@@ -53,7 +53,7 @@ void OverlayPanelContent::OnPhysicalBackingSizeChanged(
|
||||
jint height) {
|
||||
gfx::Size size(width, height);
|
||||
web_contents->GetNativeView()->OnPhysicalBackingSizeChanged(size);
|
||||
@@ -721,7 +728,7 @@ diff --git a/components/input/BUILD.gn b/components/input/BUILD.gn
|
||||
+++ b/components/input/BUILD.gn
|
||||
@@ -101,6 +101,7 @@ component("input") {
|
||||
"//ui/events:gesture_detection",
|
||||
"//ui/events/blink:blink",
|
||||
"//ui/events/blink",
|
||||
"//ui/events/gestures/blink",
|
||||
+ "//tools/v8_context_snapshot:buildflags",
|
||||
]
|
||||
@@ -730,7 +737,7 @@ diff --git a/components/input/BUILD.gn b/components/input/BUILD.gn
|
||||
diff --git a/components/input/android_input_helper.cc b/components/input/android_input_helper.cc
|
||||
--- a/components/input/android_input_helper.cc
|
||||
+++ b/components/input/android_input_helper.cc
|
||||
@@ -132,7 +132,7 @@ void AndroidInputHelper::ProcessAckedTouchEvent(
|
||||
@@ -144,7 +144,7 @@ void AndroidInputHelper::ProcessAckedTouchEvent(
|
||||
}
|
||||
}
|
||||
|
||||
@@ -836,7 +843,7 @@ diff --git a/components/input/render_widget_targeter.cc b/components/input/rende
|
||||
diff --git a/components/thin_webview/internal/thin_webview.cc b/components/thin_webview/internal/thin_webview.cc
|
||||
--- a/components/thin_webview/internal/thin_webview.cc
|
||||
+++ b/components/thin_webview/internal/thin_webview.cc
|
||||
@@ -107,7 +107,7 @@ void ThinWebView::ResizeWebContents(const gfx::Size& size) {
|
||||
@@ -105,7 +105,7 @@ void ThinWebView::ResizeWebContents(const gfx::Size& size) {
|
||||
return;
|
||||
|
||||
web_contents_->GetNativeView()->OnPhysicalBackingSizeChanged(size);
|
||||
@@ -848,7 +855,7 @@ diff --git a/components/thin_webview/internal/thin_webview.cc b/components/thin_
|
||||
diff --git a/components/viz/service/input/input_manager.cc b/components/viz/service/input/input_manager.cc
|
||||
--- a/components/viz/service/input/input_manager.cc
|
||||
+++ b/components/viz/service/input/input_manager.cc
|
||||
@@ -399,7 +399,7 @@ const DisplayHitTestQueryMap& InputManager::GetDisplayHitTestQuery() const {
|
||||
@@ -418,7 +418,7 @@ const DisplayHitTestQueryMap& InputManager::GetDisplayHitTestQuery() const {
|
||||
return frame_sink_manager_->GetDisplayHitTestQuery();
|
||||
}
|
||||
|
||||
@@ -884,7 +891,7 @@ diff --git a/components/viz/service/input/render_input_router_support_child_fram
|
||||
diff --git a/components/viz/service/layers/layer_context_impl.cc b/components/viz/service/layers/layer_context_impl.cc
|
||||
--- a/components/viz/service/layers/layer_context_impl.cc
|
||||
+++ b/components/viz/service/layers/layer_context_impl.cc
|
||||
@@ -1757,7 +1757,7 @@ base::expected<void, std::string> LayerContextImpl::DoUpdateDisplayTree(
|
||||
@@ -1781,7 +1781,7 @@ base::expected<void, std::string> LayerContextImpl::DoUpdateDisplayTree(
|
||||
return base::unexpected("Invalid page scale factors");
|
||||
}
|
||||
layers.SetPageScaleFactorAndLimitsForDisplayTree(
|
||||
@@ -896,7 +903,7 @@ diff --git a/components/viz/service/layers/layer_context_impl.cc b/components/vi
|
||||
diff --git a/content/browser/android/selection/selection_popup_controller.cc b/content/browser/android/selection/selection_popup_controller.cc
|
||||
--- a/content/browser/android/selection/selection_popup_controller.cc
|
||||
+++ b/content/browser/android/selection/selection_popup_controller.cc
|
||||
@@ -182,7 +182,7 @@ void SelectionPopupController::MoveRangeSelectionExtent(
|
||||
@@ -179,7 +179,7 @@ void SelectionPopupController::MoveRangeSelectionExtent(
|
||||
web_contents_impl->MoveRangeSelectionExtent(gfx::ToRoundedPoint(extent));
|
||||
}
|
||||
|
||||
@@ -905,7 +912,7 @@ diff --git a/content/browser/android/selection/selection_popup_controller.cc b/c
|
||||
const gfx::PointF& base,
|
||||
const gfx::PointF& extent) {
|
||||
auto* web_contents_impl = static_cast<WebContentsImpl*>(web_contents());
|
||||
@@ -303,7 +303,8 @@ bool SelectionPopupController::ShowSelectionMenu(
|
||||
@@ -300,7 +300,8 @@ bool SelectionPopupController::ShowSelectionMenu(
|
||||
is_password_type, jselected_text, params.selection_start_offset,
|
||||
can_select_all, can_edit_richly, should_suggest,
|
||||
static_cast<int>(params.source_type),
|
||||
@@ -926,7 +933,7 @@ diff --git a/content/browser/renderer_host/cross_process_frame_connector.cc b/co
|
||||
#include "third_party/blink/public/common/frame/frame_visual_properties.h"
|
||||
#include "third_party/blink/public/common/input/web_input_event.h"
|
||||
#include "third_party/blink/public/mojom/frame/intrinsic_sizing_info.mojom.h"
|
||||
@@ -210,9 +211,12 @@ void CrossProcessFrameConnector::SynchronizeVisualProperties(
|
||||
@@ -215,9 +216,12 @@ void CrossProcessFrameConnector::SynchronizeVisualProperties(
|
||||
render_widget_host->SetAutoResize(visual_properties.auto_resize_enabled,
|
||||
visual_properties.min_size_for_auto_resize,
|
||||
visual_properties.max_size_for_auto_resize);
|
||||
@@ -940,7 +947,7 @@ diff --git a/content/browser/renderer_host/cross_process_frame_connector.cc b/co
|
||||
visual_properties.is_pinch_gesture_active,
|
||||
visual_properties.visible_viewport_size,
|
||||
visual_properties.compositor_viewport,
|
||||
@@ -465,7 +469,7 @@ void CrossProcessFrameConnector::SetVisibilityForChildViews(
|
||||
@@ -470,7 +474,7 @@ void CrossProcessFrameConnector::SetVisibilityForChildViews(
|
||||
current_child_frame_host()->SetVisibilityForChildViews(visible);
|
||||
}
|
||||
|
||||
@@ -949,7 +956,7 @@ diff --git a/content/browser/renderer_host/cross_process_frame_connector.cc b/co
|
||||
const gfx::Size& local_frame_size) {
|
||||
has_size_ = true;
|
||||
const float dsf = screen_infos_.current().device_scale_factor;
|
||||
@@ -474,7 +478,7 @@ void CrossProcessFrameConnector::SetLocalFrameSize(
|
||||
@@ -479,7 +483,7 @@ void CrossProcessFrameConnector::SetLocalFrameSize(
|
||||
gfx::ScaleToRoundedSize(local_frame_size, 1.f / dsf);
|
||||
}
|
||||
|
||||
@@ -985,7 +992,7 @@ diff --git a/content/browser/renderer_host/input/touch_selection_controller_clie
|
||||
diff --git a/content/browser/renderer_host/render_frame_host_impl.cc b/content/browser/renderer_host/render_frame_host_impl.cc
|
||||
--- a/content/browser/renderer_host/render_frame_host_impl.cc
|
||||
+++ b/content/browser/renderer_host/render_frame_host_impl.cc
|
||||
@@ -9204,7 +9204,7 @@ void RenderFrameHostImpl::ShowPopupMenu(
|
||||
@@ -9260,7 +9260,7 @@ void RenderFrameHostImpl::ShowPopupMenu(
|
||||
#endif
|
||||
}
|
||||
|
||||
@@ -997,7 +1004,7 @@ diff --git a/content/browser/renderer_host/render_frame_host_impl.cc b/content/b
|
||||
diff --git a/content/browser/renderer_host/render_widget_host_impl.cc b/content/browser/renderer_host/render_widget_host_impl.cc
|
||||
--- a/content/browser/renderer_host/render_widget_host_impl.cc
|
||||
+++ b/content/browser/renderer_host/render_widget_host_impl.cc
|
||||
@@ -1041,7 +1041,20 @@ blink::VisualProperties RenderWidgetHostImpl::GetVisualProperties() {
|
||||
@@ -1055,7 +1055,20 @@ blink::VisualProperties RenderWidgetHostImpl::GetVisualProperties() {
|
||||
blink::VisualProperties visual_properties;
|
||||
visual_properties.screen_infos = GetScreenInfos();
|
||||
auto& current_screen_info = visual_properties.screen_infos.mutable_current();
|
||||
@@ -1019,7 +1026,7 @@ diff --git a/content/browser/renderer_host/render_widget_host_impl.cc b/content/
|
||||
// For testing, override the raster color profile.
|
||||
// Note: this needs to be done here and not earlier in the pipeline because
|
||||
// Mac uses the display color space to update an NSSurface and this setting
|
||||
@@ -1146,6 +1159,13 @@ blink::VisualProperties RenderWidgetHostImpl::GetVisualProperties() {
|
||||
@@ -1160,6 +1173,13 @@ blink::VisualProperties RenderWidgetHostImpl::GetVisualProperties() {
|
||||
visual_properties.compositing_scale_factor =
|
||||
properties_from_parent_local_root_.compositing_scale_factor;
|
||||
|
||||
@@ -1033,7 +1040,7 @@ diff --git a/content/browser/renderer_host/render_widget_host_impl.cc b/content/
|
||||
#if BUILDFLAG(IS_MAC)
|
||||
// Only macOS cursor scaling affects CSS custom cursor images for now.
|
||||
visual_properties.cursor_accessibility_scale_factor =
|
||||
@@ -1326,8 +1346,10 @@ bool RenderWidgetHostImpl::SynchronizeVisualProperties(
|
||||
@@ -1340,8 +1360,10 @@ bool RenderWidgetHostImpl::SynchronizeVisualProperties(
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1046,7 +1053,7 @@ diff --git a/content/browser/renderer_host/render_widget_host_impl.cc b/content/
|
||||
|
||||
// If we do not have a valid viz::LocalSurfaceId then we are a child frame
|
||||
// waiting on the id to be propagated from our parent. We cannot create a hash
|
||||
@@ -3958,7 +3980,7 @@ void RenderWidgetHostImpl::IntrinsicSizingInfoChanged(
|
||||
@@ -3987,7 +4009,7 @@ void RenderWidgetHostImpl::IntrinsicSizingInfoChanged(
|
||||
// porting drag-and-drop calls to Mojo, so that RenderWidgetHostImpl bypasses
|
||||
// RenderWidget to talk the the WebFrameWidget and needs to perform the scale
|
||||
// operation itself.
|
||||
@@ -1058,7 +1065,7 @@ diff --git a/content/browser/renderer_host/render_widget_host_impl.cc b/content/
|
||||
diff --git a/content/browser/renderer_host/render_widget_host_view_android.cc b/content/browser/renderer_host/render_widget_host_view_android.cc
|
||||
--- a/content/browser/renderer_host/render_widget_host_view_android.cc
|
||||
+++ b/content/browser/renderer_host/render_widget_host_view_android.cc
|
||||
@@ -82,6 +82,7 @@
|
||||
@@ -83,6 +83,7 @@
|
||||
#include "content/public/browser/render_widget_host_iterator.h"
|
||||
#include "content/public/common/content_client.h"
|
||||
#include "content/public/common/content_switches.h"
|
||||
@@ -1066,7 +1073,7 @@ diff --git a/content/browser/renderer_host/render_widget_host_view_android.cc b/
|
||||
#include "third_party/blink/public/mojom/input/input_handler.mojom.h"
|
||||
#include "third_party/skia/include/core/SkBitmap.h"
|
||||
#include "third_party/skia/include/core/SkCanvas.h"
|
||||
@@ -951,7 +952,7 @@ void RenderWidgetHostViewAndroid::OnRenderFrameMetadataChangedBeforeActivation(
|
||||
@@ -949,7 +950,7 @@ void RenderWidgetHostViewAndroid::OnRenderFrameMetadataChangedBeforeActivation(
|
||||
? SK_ColorTRANSPARENT
|
||||
: metadata.root_background_color.toSkColor());
|
||||
|
||||
@@ -1075,7 +1082,7 @@ diff --git a/content/browser/renderer_host/render_widget_host_view_android.cc b/
|
||||
overscroll_controller_->OnFrameMetadataUpdated(
|
||||
metadata.page_scale_factor, metadata.device_scale_factor,
|
||||
metadata.scrollable_viewport_size, metadata.root_layer_size,
|
||||
@@ -1262,6 +1263,12 @@ gfx::Size RenderWidgetHostViewAndroid::GetRequestedRendererSizeDevicePx() {
|
||||
@@ -1248,6 +1249,12 @@ gfx::Size RenderWidgetHostViewAndroid::GetRequestedRendererSizeDevicePx() {
|
||||
default_bounds_dip_.height() * scale_factor);
|
||||
}
|
||||
|
||||
@@ -1085,10 +1092,10 @@ diff --git a/content/browser/renderer_host/render_widget_host_view_android.cc b/
|
||||
+ DCHECK(size.width() == 0 || size.width() == 412 || size.height() == 412);
|
||||
+ return size;
|
||||
+ }
|
||||
return view_.GetSizeDevicePx();
|
||||
const float scale_factor = GetDeviceScaleFactor() / view_.GetDipScale();
|
||||
return gfx::ScaleToCeiledSize(view_.GetSizeDevicePx(), scale_factor);
|
||||
}
|
||||
|
||||
@@ -1286,6 +1293,10 @@ void RenderWidgetHostViewAndroid::SetInsets(const gfx::Insets& insets) {
|
||||
@@ -1273,6 +1280,10 @@ void RenderWidgetHostViewAndroid::SetInsets(const gfx::Insets& insets) {
|
||||
NOTREACHED();
|
||||
}
|
||||
|
||||
@@ -1099,7 +1106,7 @@ diff --git a/content/browser/renderer_host/render_widget_host_view_android.cc b/
|
||||
gfx::Size RenderWidgetHostViewAndroid::GetCompositorViewportPixelSize() {
|
||||
if (!view_.parent()) {
|
||||
if (default_bounds_dip_.IsEmpty()) {
|
||||
@@ -1414,7 +1425,7 @@ viz::SurfaceId RenderWidgetHostViewAndroid::GetCurrentSurfaceId() const {
|
||||
@@ -1408,7 +1419,7 @@ viz::SurfaceId RenderWidgetHostViewAndroid::GetCurrentSurfaceId() const {
|
||||
: viz::SurfaceId();
|
||||
}
|
||||
|
||||
@@ -1108,8 +1115,8 @@ diff --git a/content/browser/renderer_host/render_widget_host_view_android.cc b/
|
||||
const gfx::PointF& point,
|
||||
RenderWidgetHostViewInput* target_view,
|
||||
gfx::PointF* transformed_point) {
|
||||
@@ -1798,7 +1809,7 @@ bool RenderWidgetHostViewAndroid::HasFallbackSurface() const {
|
||||
return delegated_frame_host_ && delegated_frame_host_->HasFallbackSurface();
|
||||
@@ -1822,7 +1833,7 @@ bool RenderWidgetHostViewAndroid::HasFallbackSurface() const {
|
||||
return delegated_frame_host_->HasFallbackSurface();
|
||||
}
|
||||
|
||||
-void RenderWidgetHostViewAndroid::CopyFromSurface(
|
||||
@@ -1120,7 +1127,7 @@ diff --git a/content/browser/renderer_host/render_widget_host_view_android.cc b/
|
||||
diff --git a/content/browser/renderer_host/render_widget_host_view_android.h b/content/browser/renderer_host/render_widget_host_view_android.h
|
||||
--- a/content/browser/renderer_host/render_widget_host_view_android.h
|
||||
+++ b/content/browser/renderer_host/render_widget_host_view_android.h
|
||||
@@ -159,6 +159,7 @@ class CONTENT_EXPORT RenderWidgetHostViewAndroid
|
||||
@@ -161,6 +161,7 @@ class CONTENT_EXPORT RenderWidgetHostViewAndroid
|
||||
gfx::Size GetRequestedRendererSizeDevicePx() override;
|
||||
gfx::Size GetVisibleViewportSize() override;
|
||||
gfx::Size GetVisibleViewportSizeDevicePx() override;
|
||||
@@ -1154,7 +1161,7 @@ diff --git a/content/browser/renderer_host/render_widget_host_view_base.cc b/con
|
||||
diff --git a/content/browser/renderer_host/render_widget_host_view_base.h b/content/browser/renderer_host/render_widget_host_view_base.h
|
||||
--- a/content/browser/renderer_host/render_widget_host_view_base.h
|
||||
+++ b/content/browser/renderer_host/render_widget_host_view_base.h
|
||||
@@ -274,6 +274,8 @@ class CONTENT_EXPORT RenderWidgetHostViewBase
|
||||
@@ -273,6 +273,8 @@ class CONTENT_EXPORT RenderWidgetHostViewBase
|
||||
// The size of the view's backing surface in non-DPI-adjusted pixels.
|
||||
virtual gfx::Size GetCompositorViewportPixelSize();
|
||||
|
||||
@@ -1191,7 +1198,7 @@ diff --git a/content/browser/renderer_host/render_widget_host_view_child_frame.h
|
||||
diff --git a/content/browser/web_contents/web_contents_android.cc b/content/browser/web_contents/web_contents_android.cc
|
||||
--- a/content/browser/web_contents/web_contents_android.cc
|
||||
+++ b/content/browser/web_contents/web_contents_android.cc
|
||||
@@ -822,8 +822,11 @@ WebContentsAndroid::GetFullscreenVideoSize(JNIEnv* env) {
|
||||
@@ -826,8 +826,11 @@ WebContentsAndroid::GetFullscreenVideoSize(JNIEnv* env) {
|
||||
return Java_WebContentsImpl_createSize(env, size.width(), size.height());
|
||||
}
|
||||
|
||||
@@ -1208,7 +1215,7 @@ diff --git a/content/browser/web_contents/web_contents_android.cc b/content/brow
|
||||
diff --git a/content/browser/web_contents/web_contents_android.h b/content/browser/web_contents/web_contents_android.h
|
||||
--- a/content/browser/web_contents/web_contents_android.h
|
||||
+++ b/content/browser/web_contents/web_contents_android.h
|
||||
@@ -183,7 +183,7 @@ class CONTENT_EXPORT WebContentsAndroid {
|
||||
@@ -185,7 +185,7 @@ class CONTENT_EXPORT WebContentsAndroid {
|
||||
|
||||
base::android::ScopedJavaLocalRef<jobject> GetFullscreenVideoSize(
|
||||
JNIEnv* env);
|
||||
@@ -1220,7 +1227,7 @@ diff --git a/content/browser/web_contents/web_contents_android.h b/content/brows
|
||||
diff --git a/content/child/runtime_features.cc b/content/child/runtime_features.cc
|
||||
--- a/content/child/runtime_features.cc
|
||||
+++ b/content/child/runtime_features.cc
|
||||
@@ -533,7 +533,11 @@ void SetCustomizedRuntimeFeaturesFromCombinedArgs(
|
||||
@@ -527,7 +527,11 @@ void SetCustomizedRuntimeFeaturesFromCombinedArgs(
|
||||
!command_line.HasSwitch(switches::kFingerprintingCanvasImageDataNoise));
|
||||
// CAUTION: Only add custom enabling logic here if it cannot
|
||||
// be covered by the other functions.
|
||||
@@ -1236,7 +1243,7 @@ diff --git a/content/child/runtime_features.cc b/content/child/runtime_features.
|
||||
diff --git a/content/public/android/java/src/org/chromium/content/browser/selection/SelectionPopupControllerImpl.java b/content/public/android/java/src/org/chromium/content/browser/selection/SelectionPopupControllerImpl.java
|
||||
--- a/content/public/android/java/src/org/chromium/content/browser/selection/SelectionPopupControllerImpl.java
|
||||
+++ b/content/public/android/java/src/org/chromium/content/browser/selection/SelectionPopupControllerImpl.java
|
||||
@@ -520,7 +520,8 @@ public class SelectionPopupControllerImpl extends ActionModeCallbackHelper
|
||||
@@ -519,7 +519,8 @@ public class SelectionPopupControllerImpl extends ActionModeCallbackHelper
|
||||
boolean canRichlyEdit,
|
||||
boolean shouldSuggest,
|
||||
int sourceType,
|
||||
@@ -1246,7 +1253,7 @@ diff --git a/content/public/android/java/src/org/chromium/content/browser/select
|
||||
RecordHistogram.recordEnumeratedHistogram(
|
||||
"Android.ShowSelectionMenuSourceType",
|
||||
sourceType,
|
||||
@@ -531,6 +532,8 @@ public class SelectionPopupControllerImpl extends ActionModeCallbackHelper
|
||||
@@ -530,6 +531,8 @@ public class SelectionPopupControllerImpl extends ActionModeCallbackHelper
|
||||
mXDip = xDip;
|
||||
mYDip = yDip;
|
||||
mSelectionRect.set(left, top, right, offsetBottom);
|
||||
@@ -1258,7 +1265,7 @@ diff --git a/content/public/android/java/src/org/chromium/content/browser/select
|
||||
diff --git a/content/public/android/java/src/org/chromium/content/browser/webcontents/WebContentsImpl.java b/content/public/android/java/src/org/chromium/content/browser/webcontents/WebContentsImpl.java
|
||||
--- a/content/public/android/java/src/org/chromium/content/browser/webcontents/WebContentsImpl.java
|
||||
+++ b/content/public/android/java/src/org/chromium/content/browser/webcontents/WebContentsImpl.java
|
||||
@@ -977,9 +977,9 @@ public class WebContentsImpl
|
||||
@@ -982,9 +982,9 @@ public class WebContentsImpl
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -1270,7 +1277,7 @@ diff --git a/content/public/android/java/src/org/chromium/content/browser/webcon
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -1442,7 +1442,7 @@ public class WebContentsImpl
|
||||
@@ -1436,7 +1436,7 @@ public class WebContentsImpl
|
||||
|
||||
Rect getFullscreenVideoSize(long nativeWebContentsAndroid);
|
||||
|
||||
@@ -1282,7 +1289,7 @@ diff --git a/content/public/android/java/src/org/chromium/content/browser/webcon
|
||||
diff --git a/content/public/android/java/src/org/chromium/content_public/browser/WebContents.java b/content/public/android/java/src/org/chromium/content_public/browser/WebContents.java
|
||||
--- a/content/public/android/java/src/org/chromium/content_public/browser/WebContents.java
|
||||
+++ b/content/public/android/java/src/org/chromium/content_public/browser/WebContents.java
|
||||
@@ -532,7 +532,7 @@ public interface WebContents extends Parcelable {
|
||||
@@ -538,7 +538,7 @@ public interface WebContents extends Parcelable {
|
||||
* @param width The width of the view.
|
||||
* @param height The height of the view.
|
||||
*/
|
||||
@@ -1332,7 +1339,7 @@ new file mode 100644
|
||||
diff --git a/services/viz/public/mojom/compositing/layer_context.mojom b/services/viz/public/mojom/compositing/layer_context.mojom
|
||||
--- a/services/viz/public/mojom/compositing/layer_context.mojom
|
||||
+++ b/services/viz/public/mojom/compositing/layer_context.mojom
|
||||
@@ -74,6 +74,7 @@ struct LayerTreeUpdate {
|
||||
@@ -81,6 +81,7 @@ struct LayerTreeUpdate {
|
||||
// The page scale factors set by the tree's client. All must be positive,
|
||||
// non-zero.
|
||||
float page_scale_factor;
|
||||
@@ -1426,7 +1433,7 @@ diff --git a/third_party/blink/public/mojom/widget/visual_properties.mojom b/thi
|
||||
diff --git a/third_party/blink/public/web/web_view.h b/third_party/blink/public/web/web_view.h
|
||||
--- a/third_party/blink/public/web/web_view.h
|
||||
+++ b/third_party/blink/public/web/web_view.h
|
||||
@@ -238,6 +238,7 @@ class BLINK_EXPORT WebView {
|
||||
@@ -243,6 +243,7 @@ class BLINK_EXPORT WebView {
|
||||
// Minimum and Maximum as computed as a combination of default, page defined,
|
||||
// UA, etc. constraints.
|
||||
virtual float MinimumPageScaleFactor() const = 0;
|
||||
@@ -1437,7 +1444,7 @@ diff --git a/third_party/blink/public/web/web_view.h b/third_party/blink/public/
|
||||
diff --git a/third_party/blink/renderer/core/canvas_interventions/canvas_interventions_helper.cc b/third_party/blink/renderer/core/canvas_interventions/canvas_interventions_helper.cc
|
||||
--- a/third_party/blink/renderer/core/canvas_interventions/canvas_interventions_helper.cc
|
||||
+++ b/third_party/blink/renderer/core/canvas_interventions/canvas_interventions_helper.cc
|
||||
@@ -50,6 +50,7 @@ namespace {
|
||||
@@ -49,6 +49,7 @@ namespace {
|
||||
bool ShouldApplyNoise(CanvasRenderingContext* rendering_context,
|
||||
scoped_refptr<StaticBitmapImage>& snapshot,
|
||||
ExecutionContext* execution_context) {
|
||||
@@ -1469,7 +1476,7 @@ diff --git a/third_party/blink/renderer/core/css/media_values.cc b/third_party/b
|
||||
diff --git a/third_party/blink/renderer/core/exported/web_view_impl.cc b/third_party/blink/renderer/core/exported/web_view_impl.cc
|
||||
--- a/third_party/blink/renderer/core/exported/web_view_impl.cc
|
||||
+++ b/third_party/blink/renderer/core/exported/web_view_impl.cc
|
||||
@@ -1247,8 +1247,19 @@ void WebViewImpl::UpdateICBAndResizeViewport(
|
||||
@@ -1258,8 +1258,19 @@ void WebViewImpl::UpdateICBAndResizeViewport(
|
||||
if (GetBrowserControls().PermittedState() ==
|
||||
cc::BrowserControlsState::kBoth &&
|
||||
!GetBrowserControls().ShrinkViewport()) {
|
||||
@@ -1491,7 +1498,7 @@ diff --git a/third_party/blink/renderer/core/exported/web_view_impl.cc b/third_p
|
||||
}
|
||||
|
||||
GetPageScaleConstraintsSet().DidChangeInitialContainingBlockSize(icb_size);
|
||||
@@ -1328,7 +1339,8 @@ void WebViewImpl::DidUpdateBrowserControls() {
|
||||
@@ -1339,7 +1350,8 @@ void WebViewImpl::DidUpdateBrowserControls() {
|
||||
ResizeViewportAnchor::ResizeScope resize_scope(*resize_viewport_anchor_);
|
||||
|
||||
visual_viewport.SetBrowserControlsAdjustment(
|
||||
@@ -1501,7 +1508,7 @@ diff --git a/third_party/blink/renderer/core/exported/web_view_impl.cc b/third_p
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1392,7 +1404,7 @@ void WebViewImpl::ResizeWithBrowserControls(
|
||||
@@ -1403,7 +1415,7 @@ void WebViewImpl::ResizeWithBrowserControls(
|
||||
float bottom_controls_height,
|
||||
bool browser_controls_shrink_layout) {
|
||||
ResizeWithBrowserControls(
|
||||
@@ -1510,7 +1517,7 @@ diff --git a/third_party/blink/renderer/core/exported/web_view_impl.cc b/third_p
|
||||
{top_controls_height, GetBrowserControls().TopMinHeight(),
|
||||
bottom_controls_height, GetBrowserControls().BottomMinHeight(),
|
||||
GetBrowserControls().AnimateHeightChanges(),
|
||||
@@ -1402,6 +1414,8 @@ void WebViewImpl::ResizeWithBrowserControls(
|
||||
@@ -1413,6 +1425,8 @@ void WebViewImpl::ResizeWithBrowserControls(
|
||||
void WebViewImpl::ResizeWithBrowserControls(
|
||||
const gfx::Size& main_frame_widget_size,
|
||||
const gfx::Size& visible_viewport_size,
|
||||
@@ -1519,7 +1526,7 @@ diff --git a/third_party/blink/renderer/core/exported/web_view_impl.cc b/third_p
|
||||
cc::BrowserControlsParams browser_controls_params) {
|
||||
if (should_auto_resize_) {
|
||||
// When auto-resizing only the viewport size comes from the browser, while
|
||||
@@ -1410,6 +1424,11 @@ void WebViewImpl::ResizeWithBrowserControls(
|
||||
@@ -1421,6 +1435,11 @@ void WebViewImpl::ResizeWithBrowserControls(
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -1531,7 +1538,7 @@ diff --git a/third_party/blink/renderer/core/exported/web_view_impl.cc b/third_p
|
||||
if (size_ == main_frame_widget_size &&
|
||||
GetPage()->GetVisualViewport().Size() == visible_viewport_size &&
|
||||
GetBrowserControls().Params() == browser_controls_params)
|
||||
@@ -2098,7 +2117,7 @@ void WebViewImpl::DidAttachLocalMainFrame() {
|
||||
@@ -2092,7 +2111,7 @@ void WebViewImpl::DidAttachLocalMainFrame() {
|
||||
web_preferences_.prefers_reduced_motion);
|
||||
MainFrameImpl()->FrameWidgetImpl()->SetPageScaleStateAndLimits(
|
||||
viewport.Scale(), viewport.IsPinchGestureActive(),
|
||||
@@ -1540,7 +1547,7 @@ diff --git a/third_party/blink/renderer/core/exported/web_view_impl.cc b/third_p
|
||||
// Prevent main frame updates while the main frame is loading until enough
|
||||
// progress is made and BeginMainFrames are explicitly asked for.
|
||||
scoped_defer_main_frame_update_ =
|
||||
@@ -2903,7 +2922,7 @@ void WebViewImpl::RefreshPageScaleFactor() {
|
||||
@@ -2900,7 +2919,7 @@ void WebViewImpl::RefreshPageScaleFactor() {
|
||||
auto& viewport = GetPage()->GetVisualViewport();
|
||||
MainFrameImpl()->FrameWidgetImpl()->SetPageScaleStateAndLimits(
|
||||
viewport.Scale(), viewport.IsPinchGestureActive(),
|
||||
@@ -1549,7 +1556,7 @@ diff --git a/third_party/blink/renderer/core/exported/web_view_impl.cc b/third_p
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2980,7 +2999,7 @@ void WebViewImpl::UpdatePageDefinedViewportConstraints(
|
||||
@@ -2977,7 +2996,7 @@ void WebViewImpl::UpdatePageDefinedViewportConstraints(
|
||||
TextAutosizer::UpdatePageInfoInAllFrames(GetPage()->MainFrame());
|
||||
}
|
||||
|
||||
@@ -1558,7 +1565,7 @@ diff --git a/third_party/blink/renderer/core/exported/web_view_impl.cc b/third_p
|
||||
if (should_auto_resize_ || !MainFrameImpl())
|
||||
return;
|
||||
|
||||
@@ -3214,6 +3233,10 @@ float WebViewImpl::MinimumPageScaleFactor() const {
|
||||
@@ -3211,6 +3230,10 @@ float WebViewImpl::MinimumPageScaleFactor() const {
|
||||
return GetPageScaleConstraintsSet().FinalConstraints().minimum_scale;
|
||||
}
|
||||
|
||||
@@ -1569,7 +1576,7 @@ diff --git a/third_party/blink/renderer/core/exported/web_view_impl.cc b/third_p
|
||||
float WebViewImpl::MaximumPageScaleFactor() const {
|
||||
return GetPageScaleConstraintsSet().FinalConstraints().maximum_scale;
|
||||
}
|
||||
@@ -3263,7 +3286,7 @@ void WebViewImpl::SendResizeEventForMainFrame() {
|
||||
@@ -3260,7 +3283,7 @@ void WebViewImpl::SendResizeEventForMainFrame() {
|
||||
auto& viewport = GetPage()->GetVisualViewport();
|
||||
MainFrameImpl()->FrameWidgetImpl()->SetPageScaleStateAndLimits(
|
||||
viewport.Scale(), viewport.IsPinchGestureActive(),
|
||||
@@ -1578,7 +1585,7 @@ diff --git a/third_party/blink/renderer/core/exported/web_view_impl.cc b/third_p
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3799,7 +3822,7 @@ void WebViewImpl::PageScaleFactorChanged() {
|
||||
@@ -3800,7 +3823,7 @@ void WebViewImpl::PageScaleFactorChanged() {
|
||||
DCHECK(viewport.IsActiveViewport());
|
||||
MainFrameImpl()->FrameWidgetImpl()->SetPageScaleStateAndLimits(
|
||||
viewport.Scale(), viewport.IsPinchGestureActive(),
|
||||
@@ -1590,7 +1597,7 @@ diff --git a/third_party/blink/renderer/core/exported/web_view_impl.cc b/third_p
|
||||
diff --git a/third_party/blink/renderer/core/exported/web_view_impl.h b/third_party/blink/renderer/core/exported/web_view_impl.h
|
||||
--- a/third_party/blink/renderer/core/exported/web_view_impl.h
|
||||
+++ b/third_party/blink/renderer/core/exported/web_view_impl.h
|
||||
@@ -168,6 +168,7 @@ class CORE_EXPORT WebViewImpl final : public WebView,
|
||||
@@ -170,6 +170,7 @@ class CORE_EXPORT WebViewImpl final : public WebView,
|
||||
void AdvanceFocus(bool reverse) override;
|
||||
float PageScaleFactor() const override;
|
||||
float MinimumPageScaleFactor() const override;
|
||||
@@ -1598,7 +1605,7 @@ diff --git a/third_party/blink/renderer/core/exported/web_view_impl.h b/third_pa
|
||||
float MaximumPageScaleFactor() const override;
|
||||
void SetDefaultPageScaleLimits(float min_scale, float max_scale) override;
|
||||
void SetInitialPageScaleOverride(float) override;
|
||||
@@ -282,6 +283,8 @@ class CORE_EXPORT WebViewImpl final : public WebView,
|
||||
@@ -284,6 +285,8 @@ class CORE_EXPORT WebViewImpl final : public WebView,
|
||||
// includes all browser controls params such as the min heights.
|
||||
void ResizeWithBrowserControls(const gfx::Size& main_frame_widget_size,
|
||||
const gfx::Size& visible_viewport_size,
|
||||
@@ -1607,7 +1614,7 @@ diff --git a/third_party/blink/renderer/core/exported/web_view_impl.h b/third_pa
|
||||
cc::BrowserControlsParams);
|
||||
|
||||
// Requests a page-scale animation based on the specified point/rect.
|
||||
@@ -820,6 +823,8 @@ class CORE_EXPORT WebViewImpl final : public WebView,
|
||||
@@ -824,6 +827,8 @@ class CORE_EXPORT WebViewImpl final : public WebView,
|
||||
// The upper bound on the size when auto-resizing.
|
||||
gfx::Size max_auto_size_;
|
||||
|
||||
@@ -1619,7 +1626,7 @@ diff --git a/third_party/blink/renderer/core/exported/web_view_impl.h b/third_pa
|
||||
diff --git a/third_party/blink/renderer/core/frame/local_frame_view.cc b/third_party/blink/renderer/core/frame/local_frame_view.cc
|
||||
--- a/third_party/blink/renderer/core/frame/local_frame_view.cc
|
||||
+++ b/third_party/blink/renderer/core/frame/local_frame_view.cc
|
||||
@@ -1719,8 +1719,11 @@ void LocalFrameView::PerformPostLayoutTasks(bool visual_viewport_size_changed) {
|
||||
@@ -1720,8 +1720,11 @@ void LocalFrameView::PerformPostLayoutTasks(bool visual_viewport_size_changed) {
|
||||
}
|
||||
|
||||
float LocalFrameView::InputEventsScaleFactor() const {
|
||||
@@ -1755,7 +1762,7 @@ diff --git a/third_party/blink/renderer/core/frame/visual_viewport.h b/third_par
|
||||
diff --git a/third_party/blink/renderer/core/frame/web_frame_widget_impl.cc b/third_party/blink/renderer/core/frame/web_frame_widget_impl.cc
|
||||
--- a/third_party/blink/renderer/core/frame/web_frame_widget_impl.cc
|
||||
+++ b/third_party/blink/renderer/core/frame/web_frame_widget_impl.cc
|
||||
@@ -1954,6 +1954,9 @@ void WebFrameWidgetImpl::UpdateVisualProperties(
|
||||
@@ -1886,6 +1886,9 @@ void WebFrameWidgetImpl::UpdateVisualProperties(
|
||||
// All non-top-level Widgets (child local-root frames, GuestViews,
|
||||
// etc.) propagate and consume the page scale factor as "external", meaning
|
||||
// that it comes from the top level widget's page scale.
|
||||
@@ -1765,7 +1772,7 @@ diff --git a/third_party/blink/renderer/core/frame/web_frame_widget_impl.cc b/th
|
||||
if (!ForTopMostMainFrame()) {
|
||||
// The main frame controls the page scale factor, from blink. For other
|
||||
// frame widgets, the page scale from pinch zoom and compositing scale is
|
||||
@@ -1961,7 +1964,7 @@ void WebFrameWidgetImpl::UpdateVisualProperties(
|
||||
@@ -1893,7 +1896,7 @@ void WebFrameWidgetImpl::UpdateVisualProperties(
|
||||
// blink doesn't need to know this page scale factor outside the main frame,
|
||||
// the compositor does in order to produce its output at the correct scale.
|
||||
float combined_scale_factor = visual_properties.page_scale_factor *
|
||||
@@ -1774,7 +1781,7 @@ diff --git a/third_party/blink/renderer/core/frame/web_frame_widget_impl.cc b/th
|
||||
widget_base_->LayerTreeHost()->SetExternalPageScaleFactor(
|
||||
combined_scale_factor, visual_properties.is_pinch_gesture_active);
|
||||
|
||||
@@ -1974,7 +1977,7 @@ void WebFrameWidgetImpl::UpdateVisualProperties(
|
||||
@@ -1906,7 +1909,7 @@ void WebFrameWidgetImpl::UpdateVisualProperties(
|
||||
// Ensure the external scale factor in top-level widgets is reset as it may
|
||||
// be leftover from when a widget was nested and was promoted to top level.
|
||||
widget_base_->LayerTreeHost()->SetExternalPageScaleFactor(
|
||||
@@ -1783,7 +1790,7 @@ diff --git a/third_party/blink/renderer/core/frame/web_frame_widget_impl.cc b/th
|
||||
/*is_pinch_gesture_active=*/false);
|
||||
}
|
||||
|
||||
@@ -2018,6 +2021,18 @@ void WebFrameWidgetImpl::ApplyVisualPropertiesSizing(
|
||||
@@ -1950,6 +1953,18 @@ void WebFrameWidgetImpl::ApplyVisualPropertiesSizing(
|
||||
new_compositor_viewport_pixel_rect,
|
||||
device_scale_factor_for_testing_ / non_testing_device_scale_factor_);
|
||||
}
|
||||
@@ -1802,7 +1809,7 @@ diff --git a/third_party/blink/renderer/core/frame/web_frame_widget_impl.cc b/th
|
||||
|
||||
if (ForMainFrame()) {
|
||||
if (size_ != new_size) {
|
||||
@@ -2034,6 +2049,8 @@ void WebFrameWidgetImpl::ApplyVisualPropertiesSizing(
|
||||
@@ -1966,6 +1981,8 @@ void WebFrameWidgetImpl::ApplyVisualPropertiesSizing(
|
||||
size_.value(),
|
||||
widget_base_->DIPsToCeiledBlinkSpace(
|
||||
widget_base_->VisibleViewportSize()),
|
||||
@@ -1811,7 +1818,7 @@ diff --git a/third_party/blink/renderer/core/frame/web_frame_widget_impl.cc b/th
|
||||
visual_properties.browser_controls_params);
|
||||
return;
|
||||
}
|
||||
@@ -2067,6 +2084,8 @@ void WebFrameWidgetImpl::ApplyVisualPropertiesSizing(
|
||||
@@ -1999,6 +2016,8 @@ void WebFrameWidgetImpl::ApplyVisualPropertiesSizing(
|
||||
|
||||
View()->ResizeWithBrowserControls(
|
||||
size_.value(), widget_base_->VisibleViewportSize(),
|
||||
@@ -1820,7 +1827,7 @@ diff --git a/third_party/blink/renderer/core/frame/web_frame_widget_impl.cc b/th
|
||||
visual_properties.browser_controls_params);
|
||||
}
|
||||
|
||||
@@ -2442,6 +2461,8 @@ void WebFrameWidgetImpl::SetZoomInternal(double zoom_level,
|
||||
@@ -2377,6 +2396,8 @@ void WebFrameWidgetImpl::SetZoomInternal(double zoom_level,
|
||||
View()->ZoomFactorForViewportLayout() *
|
||||
static_cast<float>(View()->ZoomLevelToZoomFactor(zoom_level)) *
|
||||
static_cast<float>(css_zoom_factor);
|
||||
@@ -1829,7 +1836,7 @@ diff --git a/third_party/blink/renderer/core/frame/web_frame_widget_impl.cc b/th
|
||||
if (zoom_changed) {
|
||||
// Set the layout shift exclusion window for the zoom level change.
|
||||
if (LocalFrameView* view = document->View()) {
|
||||
@@ -3491,6 +3512,7 @@ void WebFrameWidgetImpl::SetRootLayer(scoped_refptr<cc::Layer> layer) {
|
||||
@@ -3429,6 +3450,7 @@ void WebFrameWidgetImpl::SetRootLayer(scoped_refptr<cc::Layer> layer) {
|
||||
// be needed in setting the raster scale.
|
||||
SetPageScaleStateAndLimits(1.f, false /* is_pinch_gesture_active */,
|
||||
View()->MinimumPageScaleFactor(),
|
||||
@@ -1837,7 +1844,7 @@ diff --git a/third_party/blink/renderer/core/frame/web_frame_widget_impl.cc b/th
|
||||
View()->MaximumPageScaleFactor());
|
||||
}
|
||||
|
||||
@@ -4860,9 +4882,10 @@ void WebFrameWidgetImpl::SetPageScaleStateAndLimits(
|
||||
@@ -4798,9 +4820,10 @@ void WebFrameWidgetImpl::SetPageScaleStateAndLimits(
|
||||
float page_scale_factor,
|
||||
bool is_pinch_gesture_active,
|
||||
float minimum,
|
||||
@@ -1849,7 +1856,7 @@ diff --git a/third_party/blink/renderer/core/frame/web_frame_widget_impl.cc b/th
|
||||
|
||||
// Only propagate page scale from the main frame.
|
||||
if (ForMainFrame()) {
|
||||
@@ -4986,7 +5009,10 @@ void WebFrameWidgetImpl::OrientationChanged() {
|
||||
@@ -4924,7 +4947,10 @@ void WebFrameWidgetImpl::OrientationChanged() {
|
||||
void WebFrameWidgetImpl::DidUpdateSurfaceAndScreen(
|
||||
const display::ScreenInfos& previous_original_screen_infos) {
|
||||
display::ScreenInfo screen_info = widget_base_->GetScreenInfo();
|
||||
@@ -1861,7 +1868,7 @@ diff --git a/third_party/blink/renderer/core/frame/web_frame_widget_impl.cc b/th
|
||||
|
||||
if (ShouldAutoDetermineCompositingToLCDTextSetting()) {
|
||||
// This causes compositing state to be modified which dirties the
|
||||
@@ -5182,7 +5208,7 @@ void WebFrameWidgetImpl::SetDeviceScaleFactorForTesting(float factor) {
|
||||
@@ -5120,7 +5146,7 @@ void WebFrameWidgetImpl::SetDeviceScaleFactorForTesting(float factor) {
|
||||
|
||||
if (!device_scale_factor_for_testing_) {
|
||||
non_testing_device_scale_factor_ =
|
||||
@@ -1873,7 +1880,7 @@ diff --git a/third_party/blink/renderer/core/frame/web_frame_widget_impl.cc b/th
|
||||
diff --git a/third_party/blink/renderer/core/frame/web_frame_widget_impl.h b/third_party/blink/renderer/core/frame/web_frame_widget_impl.h
|
||||
--- a/third_party/blink/renderer/core/frame/web_frame_widget_impl.h
|
||||
+++ b/third_party/blink/renderer/core/frame/web_frame_widget_impl.h
|
||||
@@ -656,6 +656,7 @@ class CORE_EXPORT WebFrameWidgetImpl
|
||||
@@ -655,6 +655,7 @@ class CORE_EXPORT WebFrameWidgetImpl
|
||||
void SetPageScaleStateAndLimits(float page_scale_factor,
|
||||
bool is_pinch_gesture_active,
|
||||
float minimum,
|
||||
@@ -1884,7 +1891,7 @@ diff --git a/third_party/blink/renderer/core/frame/web_frame_widget_impl.h b/thi
|
||||
diff --git a/third_party/blink/renderer/core/frame/web_local_frame_impl.cc b/third_party/blink/renderer/core/frame/web_local_frame_impl.cc
|
||||
--- a/third_party/blink/renderer/core/frame/web_local_frame_impl.cc
|
||||
+++ b/third_party/blink/renderer/core/frame/web_local_frame_impl.cc
|
||||
@@ -2543,7 +2543,7 @@ void WebLocalFrameImpl::PaintDevToolsOverlays(GraphicsContext& context) {
|
||||
@@ -2547,7 +2547,7 @@ void WebLocalFrameImpl::PaintDevToolsOverlays(GraphicsContext& context) {
|
||||
dev_tools_agent_->PaintOverlays(context);
|
||||
}
|
||||
|
||||
@@ -1893,7 +1900,7 @@ diff --git a/third_party/blink/renderer/core/frame/web_local_frame_impl.cc b/thi
|
||||
TRACE_EVENT0("blink", "WebLocalFrameImpl::createFrameView");
|
||||
|
||||
DCHECK(GetFrame()); // If frame() doesn't exist, we probably didn't init
|
||||
@@ -3018,7 +3018,7 @@ void WebLocalFrameImpl::ShowContextMenuFromExternal(
|
||||
@@ -3022,7 +3022,7 @@ void WebLocalFrameImpl::ShowContextMenuFromExternal(
|
||||
std::move(context_menu_client), params);
|
||||
}
|
||||
|
||||
@@ -1905,7 +1912,7 @@ diff --git a/third_party/blink/renderer/core/frame/web_local_frame_impl.cc b/thi
|
||||
diff --git a/third_party/blink/renderer/core/html/canvas/html_canvas_element.cc b/third_party/blink/renderer/core/html/canvas/html_canvas_element.cc
|
||||
--- a/third_party/blink/renderer/core/html/canvas/html_canvas_element.cc
|
||||
+++ b/third_party/blink/renderer/core/html/canvas/html_canvas_element.cc
|
||||
@@ -1628,6 +1628,7 @@ bool HTMLCanvasElement::PushFrame(scoped_refptr<CanvasResource>&& image,
|
||||
@@ -1569,6 +1569,7 @@ bool HTMLCanvasElement::PushFrame(scoped_refptr<CanvasResource>&& image,
|
||||
}
|
||||
|
||||
bool HTMLCanvasElement::ShouldAccelerate() const {
|
||||
@@ -1928,7 +1935,7 @@ diff --git a/third_party/blink/renderer/core/input/event_handler.cc b/third_part
|
||||
diff --git a/third_party/blink/renderer/core/inspector/inspector_emulation_agent.cc b/third_party/blink/renderer/core/inspector/inspector_emulation_agent.cc
|
||||
--- a/third_party/blink/renderer/core/inspector/inspector_emulation_agent.cc
|
||||
+++ b/third_party/blink/renderer/core/inspector/inspector_emulation_agent.cc
|
||||
@@ -1038,7 +1038,8 @@ InspectorEmulationAgent::setSmallViewportHeightDifferenceOverride(
|
||||
@@ -1081,7 +1081,8 @@ InspectorEmulationAgent::setSmallViewportHeightDifferenceOverride(
|
||||
// Ensure the override is applied immediately without having to wait for
|
||||
// `WebFrameWidgetImpl::UpdateVisualProperties()` to be called.
|
||||
GetWebViewImpl()->ResizeWithBrowserControls(
|
||||
@@ -1941,7 +1948,7 @@ diff --git a/third_party/blink/renderer/core/inspector/inspector_emulation_agent
|
||||
diff --git a/third_party/blink/renderer/core/page/page.cc b/third_party/blink/renderer/core/page/page.cc
|
||||
--- a/third_party/blink/renderer/core/page/page.cc
|
||||
+++ b/third_party/blink/renderer/core/page/page.cc
|
||||
@@ -1322,6 +1322,10 @@ void Page::CalculateEmulatedScreenSetting(LocalFrame* frame, bool force) {
|
||||
@@ -1309,6 +1309,10 @@ void Page::CalculateEmulatedScreenSetting(LocalFrame* frame, bool force) {
|
||||
if (SchemeRegistry::IsWebUIScheme(protocol) || disable_screen_emulated_) {
|
||||
isEnabled = false;
|
||||
}
|
||||
@@ -1967,7 +1974,7 @@ diff --git a/third_party/blink/renderer/core/page/viewport_description.cc b/thir
|
||||
diff --git a/third_party/blink/renderer/modules/canvas/canvas2d/base_rendering_context_2d.cc b/third_party/blink/renderer/modules/canvas/canvas2d/base_rendering_context_2d.cc
|
||||
--- a/third_party/blink/renderer/modules/canvas/canvas2d/base_rendering_context_2d.cc
|
||||
+++ b/third_party/blink/renderer/modules/canvas/canvas2d/base_rendering_context_2d.cc
|
||||
@@ -465,16 +465,17 @@ ImageData* BaseRenderingContext2D::getImageDataInternal(
|
||||
@@ -467,16 +467,17 @@ ImageData* BaseRenderingContext2D::getImageDataInternal(
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1990,7 +1997,7 @@ diff --git a/third_party/blink/renderer/modules/canvas/canvas2d/base_rendering_c
|
||||
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
|
||||
@@ -5910,6 +5910,10 @@
|
||||
@@ -5857,6 +5857,10 @@
|
||||
// If enabled, the `getDisplayMedia()` family of APIs will ask for NV12
|
||||
// frames, which should trigger a zero-copy path in the tab capture code.
|
||||
name: "ZeroCopyTabCapture",
|
||||
@@ -2181,7 +2188,7 @@ diff --git a/third_party/blink/renderer/platform/widget/input/input_handler_prox
|
||||
diff --git a/third_party/blink/renderer/platform/widget/widget_base.cc b/third_party/blink/renderer/platform/widget/widget_base.cc
|
||||
--- a/third_party/blink/renderer/platform/widget/widget_base.cc
|
||||
+++ b/third_party/blink/renderer/platform/widget/widget_base.cc
|
||||
@@ -1683,7 +1683,9 @@ void WidgetBase::RequestAnimationAfterDelayTimerFired(TimerBase*) {
|
||||
@@ -1688,7 +1688,9 @@ void WidgetBase::RequestAnimationAfterDelayTimerFired(TimerBase*) {
|
||||
client_->ScheduleAnimation(/*urgent=*/urgent_for_input);
|
||||
}
|
||||
|
||||
@@ -2192,7 +2199,7 @@ diff --git a/third_party/blink/renderer/platform/widget/widget_base.cc b/third_p
|
||||
return client_->GetOriginalScreenInfos().current().device_scale_factor;
|
||||
}
|
||||
|
||||
@@ -1725,7 +1727,7 @@ void WidgetBase::UpdateSurfaceAndScreenInfo(
|
||||
@@ -1730,7 +1732,7 @@ void WidgetBase::UpdateSurfaceAndScreenInfo(
|
||||
// Note carefully that the DSF specified in |new_screen_info| is not the
|
||||
// DSF used by the compositor during device emulation!
|
||||
LayerTreeHost()->SetViewportRectAndScale(compositor_viewport_pixel_rect,
|
||||
@@ -2201,7 +2208,7 @@ diff --git a/third_party/blink/renderer/platform/widget/widget_base.cc b/third_p
|
||||
local_surface_id_from_parent_);
|
||||
// The VisualDeviceViewportIntersectionRect derives from the LayerTreeView's
|
||||
// viewport size, which is set above.
|
||||
@@ -1855,56 +1857,56 @@ void WidgetBase::CountDroppedPointerDownForEventTiming(unsigned count) {
|
||||
@@ -1860,56 +1862,56 @@ void WidgetBase::CountDroppedPointerDownForEventTiming(unsigned count) {
|
||||
gfx::PointF WidgetBase::DIPsToBlinkSpace(const gfx::PointF& point) {
|
||||
// TODO(danakj): Should this use non-original scale factor so it changes under
|
||||
// emulation?
|
||||
@@ -2295,25 +2302,25 @@ diff --git a/ui/android/delegated_frame_host_android.cc b/ui/android/delegated_f
|
||||
diff --git a/ui/android/event_forwarder.cc b/ui/android/event_forwarder.cc
|
||||
--- a/ui/android/event_forwarder.cc
|
||||
+++ b/ui/android/event_forwarder.cc
|
||||
@@ -138,7 +138,7 @@ jboolean EventForwarder::OnTouchEvent(JNIEnv* env,
|
||||
// milliseconds timestamp.
|
||||
base::TimeTicks down_time = base::TimeTicks::FromUptimeMillis(down_time_ms);
|
||||
ui::MotionEventAndroidJava event(
|
||||
- env, motion_event.obj(), 1.f / view_->GetDipScale(), 0.f, 0.f, 0.f,
|
||||
+ env, motion_event.obj(), 1.f / view_->GetDipScaleFactor(), 0.f, 0.f, 0.f,
|
||||
base::TimeTicks::FromJavaNanoTime(oldest_event_time_ns),
|
||||
base::TimeTicks::FromJavaNanoTime(latest_event_time_ns), down_time,
|
||||
android_action, pointer_count, history_size, action_index,
|
||||
@@ -185,7 +185,7 @@ void EventForwarder::OnMouseEvent(JNIEnv* env,
|
||||
/*pressure=*/pressure, /*orientation_rad=*/orientation, /*tilt_rad=*/tilt,
|
||||
@@ -137,7 +137,7 @@ jboolean EventForwarder::OnTouchEvent(JNIEnv* env,
|
||||
JNI_MotionEvent::Java_MotionEvent_getDownTime(env, motion_event));
|
||||
auto event = ui::MotionEventAndroidFactory::CreateFromJava(
|
||||
env, /*event=*/motion_event,
|
||||
- /*pix_to_dip=*/1.f / view_->GetDipScale(),
|
||||
+ /*pix_to_dip=*/1.f / view_->GetDipScaleFactor(),
|
||||
/*ticks_x=*/0.f,
|
||||
/*ticks_y=*/0.f,
|
||||
/*tick_multiplier=*/0.f,
|
||||
@@ -191,7 +191,7 @@ void EventForwarder::OnMouseEvent(
|
||||
/*tool_type=*/android_tool_type);
|
||||
ui::MotionEventAndroidJava event(
|
||||
- env, nullptr /* event */, 1.f / view_->GetDipScale(), 0.f, 0.f, 0.f,
|
||||
+ env, nullptr /* event */, 1.f / view_->GetDipScaleFactor(), 0.f, 0.f, 0.f,
|
||||
base::TimeTicks::FromJavaNanoTime(time_ns), android_action,
|
||||
1 /* pointer_count */, 0 /* history_size */, 0 /* action_index */,
|
||||
android_action_button, 0 /* gesture_classification */,
|
||||
@@ -211,7 +211,7 @@ void EventForwarder::OnDragEvent(JNIEnv* env,
|
||||
auto event = ui::MotionEventAndroidFactory::CreateFromJava(
|
||||
env, /*event=*/motion_event,
|
||||
- /*pix_to_dip=*/1.f / view_->GetDipScale(),
|
||||
+ /*pix_to_dip=*/1.f / view_->GetDipScaleFactor(),
|
||||
/*ticks_x=*/0.f,
|
||||
/*ticks_y=*/0.f,
|
||||
/*tick_multiplier=*/0.f,
|
||||
@@ -225,7 +225,7 @@ void EventForwarder::OnDragEvent(JNIEnv* env,
|
||||
const JavaParamRef<jstring>& j_text,
|
||||
const JavaParamRef<jstring>& j_html,
|
||||
const JavaParamRef<jstring>& j_url) {
|
||||
@@ -2322,7 +2329,7 @@ diff --git a/ui/android/event_forwarder.cc b/ui/android/event_forwarder.cc
|
||||
gfx::PointF location(x / dip_scale, y / dip_scale);
|
||||
gfx::PointF root_location(screen_x / dip_scale, screen_y / dip_scale);
|
||||
std::vector<std::u16string> mime_types;
|
||||
@@ -228,7 +228,7 @@ jboolean EventForwarder::OnGestureEvent(JNIEnv* env,
|
||||
@@ -240,7 +240,7 @@ jboolean EventForwarder::OnGestureEvent(JNIEnv* env,
|
||||
jint type,
|
||||
jlong time_ms,
|
||||
jfloat scale) {
|
||||
@@ -2331,16 +2338,16 @@ diff --git a/ui/android/event_forwarder.cc b/ui/android/event_forwarder.cc
|
||||
auto size = view_->GetSizeDIPs();
|
||||
float x = size.width() / 2;
|
||||
float y = size.height() / 2;
|
||||
@@ -258,7 +258,7 @@ jboolean EventForwarder::OnGenericMotionEvent(
|
||||
// milliseconds timestamp.
|
||||
@@ -270,7 +270,7 @@ jboolean EventForwarder::OnGenericMotionEvent(
|
||||
base::TimeTicks down_time = base::TimeTicks::FromUptimeMillis(down_time_ms);
|
||||
ui::MotionEventAndroidJava event(
|
||||
- env, motion_event.obj(), 1.f / view_->GetDipScale(), 0.f, 0.f, 0.f,
|
||||
+ env, motion_event.obj(), 1.f / view_->GetDipScaleFactor(), 0.f, 0.f, 0.f,
|
||||
base::TimeTicks::FromJavaNanoTime(event_time_ns),
|
||||
base::TimeTicks::FromJavaNanoTime(event_time_ns), down_time, 0, 1, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, false, &pointer0, nullptr, false);
|
||||
@@ -301,7 +301,7 @@ void EventForwarder::DoubleTap(JNIEnv* env,
|
||||
auto event = ui::MotionEventAndroidFactory::CreateFromJava(
|
||||
env, /*event=*/motion_event,
|
||||
- /*pix_to_dip=*/1.f / view_->GetDipScale(),
|
||||
+ /*pix_to_dip=*/1.f / view_->GetDipScaleFactor(),
|
||||
/*ticks_x=*/0.f,
|
||||
/*ticks_y=*/0.f,
|
||||
/*tick_multiplier=*/0.f,
|
||||
@@ -323,7 +323,7 @@ void EventForwarder::DoubleTap(JNIEnv* env,
|
||||
jlong time_ms,
|
||||
jint x,
|
||||
jint y) {
|
||||
@@ -2349,7 +2356,7 @@ diff --git a/ui/android/event_forwarder.cc b/ui/android/event_forwarder.cc
|
||||
view_->OnGestureEvent(GestureEventAndroid(
|
||||
GESTURE_EVENT_TYPE_DOUBLE_TAP, gfx::PointF(x / dip_scale, y / dip_scale),
|
||||
gfx::PointF(), time_ms, 0, 0, 0, 0, 0, /*target_viewport*/ true,
|
||||
@@ -319,7 +319,7 @@ void EventForwarder::StartFling(JNIEnv* env,
|
||||
@@ -340,7 +340,7 @@ void EventForwarder::StartFling(JNIEnv* env,
|
||||
|
||||
if (velocity_x == 0 && velocity_y == 0)
|
||||
return;
|
||||
@@ -2361,9 +2368,9 @@ diff --git a/ui/android/event_forwarder.cc b/ui/android/event_forwarder.cc
|
||||
diff --git a/ui/android/java/src/org/chromium/ui/base/UiAndroidFeatureList.java b/ui/android/java/src/org/chromium/ui/base/UiAndroidFeatureList.java
|
||||
--- a/ui/android/java/src/org/chromium/ui/base/UiAndroidFeatureList.java
|
||||
+++ b/ui/android/java/src/org/chromium/ui/base/UiAndroidFeatureList.java
|
||||
@@ -41,6 +41,12 @@ public class UiAndroidFeatureList {
|
||||
@@ -47,6 +47,12 @@ public class UiAndroidFeatureList {
|
||||
/* defaultValue= */ false,
|
||||
/* defaultValueInTests= */ true);
|
||||
/* defaultValueInTests= */ false);
|
||||
|
||||
+ public static final CachedFlag sPixelPerfect =
|
||||
+ newCachedFlag(
|
||||
@@ -2372,12 +2379,12 @@ diff --git a/ui/android/java/src/org/chromium/ui/base/UiAndroidFeatureList.java
|
||||
+ /* defaultValueInTests= */ false);
|
||||
+
|
||||
public static final List<CachedFlag> sFlagsCachedUiAndroid =
|
||||
List.of(sAndroidWindowOcclusion, sAndroidWindowManagementWebApi);
|
||||
}
|
||||
List.of(
|
||||
sAndroidWindowOcclusion,
|
||||
diff --git a/ui/android/java/src/org/chromium/ui/display/PhysicalDisplayAndroid.java b/ui/android/java/src/org/chromium/ui/display/PhysicalDisplayAndroid.java
|
||||
--- a/ui/android/java/src/org/chromium/ui/display/PhysicalDisplayAndroid.java
|
||||
+++ b/ui/android/java/src/org/chromium/ui/display/PhysicalDisplayAndroid.java
|
||||
@@ -33,6 +33,7 @@ import org.chromium.base.ThreadUtils;
|
||||
@@ -34,6 +34,7 @@ import org.chromium.base.ThreadUtils;
|
||||
import org.chromium.build.annotations.EnsuresNonNull;
|
||||
import org.chromium.build.annotations.NullMarked;
|
||||
import org.chromium.build.annotations.Nullable;
|
||||
@@ -2385,7 +2392,7 @@ diff --git a/ui/android/java/src/org/chromium/ui/display/PhysicalDisplayAndroid.
|
||||
import org.chromium.ui.util.XrUtils;
|
||||
|
||||
import java.util.Arrays;
|
||||
@@ -330,6 +331,15 @@ import java.util.function.Consumer;
|
||||
@@ -345,6 +346,15 @@ import java.util.function.Consumer;
|
||||
float ydpi,
|
||||
Display display) {
|
||||
if (hasForcedDIPScale()) density = sForcedDIPScale.floatValue();
|
||||
@@ -2424,7 +2431,7 @@ diff --git a/ui/android/view_android.cc b/ui/android/view_android.cc
|
||||
child->DispatchOnSizeChanged();
|
||||
}
|
||||
|
||||
@@ -488,7 +492,7 @@ void ViewAndroid::OnVerticalScrollDirectionChanged(bool direction_up,
|
||||
@@ -497,7 +501,7 @@ void ViewAndroid::OnVerticalScrollDirectionChanged(bool direction_up,
|
||||
env, delegate, direction_up, current_scroll_ratio);
|
||||
}
|
||||
|
||||
@@ -2433,7 +2440,7 @@ diff --git a/ui/android/view_android.cc b/ui/android/view_android.cc
|
||||
// Match-parent view must not receive size events.
|
||||
DCHECK(!match_parent());
|
||||
|
||||
@@ -498,13 +502,15 @@ void ViewAndroid::OnSizeChanged(int width, int height) {
|
||||
@@ -507,13 +511,15 @@ void ViewAndroid::OnSizeChanged(int width, int height) {
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -2451,7 +2458,7 @@ diff --git a/ui/android/view_android.cc b/ui/android/view_android.cc
|
||||
if (bounds_device_px_.size() == size_device_px) {
|
||||
return;
|
||||
}
|
||||
@@ -512,12 +518,15 @@ void ViewAndroid::OnSizeChangedInternal(const gfx::Size& size_device_px) {
|
||||
@@ -521,12 +527,15 @@ void ViewAndroid::OnSizeChangedInternal(const gfx::Size& size_device_px) {
|
||||
bounds_device_px_.set_size(size_device_px);
|
||||
|
||||
float scale = GetDipScale();
|
||||
@@ -2470,7 +2477,7 @@ diff --git a/ui/android/view_android.cc b/ui/android/view_android.cc
|
||||
}
|
||||
}
|
||||
|
||||
@@ -568,6 +577,10 @@ gfx::Size ViewAndroid::GetSizeDevicePx() const {
|
||||
@@ -577,6 +586,10 @@ gfx::Size ViewAndroid::GetSizeDevicePx() const {
|
||||
return bounds_device_px_.size();
|
||||
}
|
||||
|
||||
|
||||
@@ -12,7 +12,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
||||
chrome/browser/BUILD.gn | 7 +
|
||||
.../browser/component_updater/registration.cc | 10 +
|
||||
...droid-fonts-fingerprinting-mitigation.grdp | 9 +
|
||||
chrome/renderer/BUILD.gn | 3 +
|
||||
chrome/renderer/BUILD.gn | 4 +
|
||||
.../installer_policies/BUILD.gn | 7 +
|
||||
.../fonts_pack_component_installer.cc | 96 +
|
||||
.../fonts_pack_component_installer.h | 60 +
|
||||
@@ -34,15 +34,15 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
||||
...ndroid-fonts-fingerprinting-mitigation.inc | 5 +
|
||||
skia/BUILD.gn | 12 +
|
||||
.../include/ports/SkFontConfigInterface.h | 2 +
|
||||
.../skia/include/ports/SkFontMgr_android.h | 42 +-
|
||||
.../skia/include/ports/SkFontMgr_android.h | 40 +-
|
||||
.../skia/src/ports/SkFontConfigInterface.cpp | 4 +
|
||||
.../ports/SkFontConfigInterface_direct.cpp | 5 +
|
||||
.../src/ports/SkFontConfigInterface_direct.h | 1 +
|
||||
.../skia/src/ports/SkFontMgr_android.cpp | 278 ++-
|
||||
.../skia/src/ports/SkFontMgr_android.cpp | 274 ++-
|
||||
.../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, 2410 insertions(+), 79 deletions(-)
|
||||
36 files changed, 2408 insertions(+), 76 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
|
||||
@@ -1033,6 +1033,9 @@ public final class ProductionSupportedFlagList {
|
||||
@@ -1007,6 +1007,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."),
|
||||
@@ -67,7 +67,7 @@ diff --git a/android_webview/java/src/org/chromium/android_webview/common/Produc
|
||||
diff --git a/android_webview/nonembedded/component_updater/registration.cc b/android_webview/nonembedded/component_updater/registration.cc
|
||||
--- a/android_webview/nonembedded/component_updater/registration.cc
|
||||
+++ b/android_webview/nonembedded/component_updater/registration.cc
|
||||
@@ -27,6 +27,9 @@
|
||||
@@ -26,6 +26,9 @@
|
||||
#include "components/update_client/update_client.h"
|
||||
#include "mojo/public/cpp/base/proto_wrapper.h"
|
||||
|
||||
@@ -77,7 +77,7 @@ diff --git a/android_webview/nonembedded/component_updater/registration.cc b/and
|
||||
namespace android_webview {
|
||||
|
||||
void RegisterComponentsForUpdate(
|
||||
@@ -43,6 +46,12 @@ void RegisterComponentsForUpdate(
|
||||
@@ -42,6 +45,12 @@ void RegisterComponentsForUpdate(
|
||||
std::vector<std::unique_ptr<component_updater::ComponentInstallerPolicy>>
|
||||
component_installer_list_cromite;
|
||||
|
||||
@@ -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
|
||||
@@ -7953,6 +7953,13 @@ static_library("browser") {
|
||||
@@ -7944,6 +7944,13 @@ static_library("browser") {
|
||||
}
|
||||
}
|
||||
|
||||
@@ -123,7 +123,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
|
||||
diff --git a/chrome/browser/component_updater/registration.cc b/chrome/browser/component_updater/registration.cc
|
||||
--- a/chrome/browser/component_updater/registration.cc
|
||||
+++ b/chrome/browser/component_updater/registration.cc
|
||||
@@ -117,10 +117,20 @@
|
||||
@@ -115,10 +115,20 @@
|
||||
#include "chrome/browser/component_updater/file_type_policies_component_installer.h"
|
||||
#endif
|
||||
|
||||
@@ -161,20 +161,21 @@ 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
|
||||
@@ -292,6 +292,9 @@ static_library("renderer") {
|
||||
"//ppapi/shared_impl",
|
||||
]
|
||||
@@ -258,6 +258,10 @@ static_library("renderer") {
|
||||
deps += [ "//components/strings" ]
|
||||
}
|
||||
|
||||
+ if (is_android) {
|
||||
+ deps += [ "//components/services/font/public/cpp" ]
|
||||
+ }
|
||||
if (is_linux || is_chromeos) {
|
||||
deps += [ "//components/services/font/public/cpp" ]
|
||||
}
|
||||
+ if (is_android) {
|
||||
+ deps += [ "//components/services/font/public/cpp" ]
|
||||
+ }
|
||||
+
|
||||
if (enable_pdf) {
|
||||
deps += [
|
||||
"//components/pdf/renderer",
|
||||
diff --git a/components/component_updater/installer_policies/BUILD.gn b/components/component_updater/installer_policies/BUILD.gn
|
||||
--- a/components/component_updater/installer_policies/BUILD.gn
|
||||
+++ b/components/component_updater/installer_policies/BUILD.gn
|
||||
@@ -36,6 +36,13 @@ static_library("installer_policies_no_content_deps") {
|
||||
@@ -38,6 +38,13 @@ static_library("installer_policies_no_content_deps") {
|
||||
"trust_token_key_commitments_component_installer_policy.h",
|
||||
]
|
||||
|
||||
@@ -614,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
|
||||
@@ -2582,6 +2582,17 @@ source_set("browser") {
|
||||
@@ -2600,6 +2600,17 @@ source_set("browser") {
|
||||
]
|
||||
}
|
||||
|
||||
@@ -632,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" ]
|
||||
@@ -2627,6 +2638,13 @@ source_set("browser") {
|
||||
@@ -2645,6 +2656,13 @@ source_set("browser") {
|
||||
]
|
||||
}
|
||||
|
||||
@@ -649,7 +650,7 @@ diff --git a/content/browser/BUILD.gn b/content/browser/BUILD.gn
|
||||
diff --git a/content/browser/renderer_host/render_process_host_impl_receiver_bindings.cc b/content/browser/renderer_host/render_process_host_impl_receiver_bindings.cc
|
||||
--- a/content/browser/renderer_host/render_process_host_impl_receiver_bindings.cc
|
||||
+++ b/content/browser/renderer_host/render_process_host_impl_receiver_bindings.cc
|
||||
@@ -51,6 +51,11 @@
|
||||
@@ -52,6 +52,11 @@
|
||||
#include "third_party/blink/public/mojom/android_font_lookup/android_font_lookup.mojom.h"
|
||||
#endif
|
||||
|
||||
@@ -661,7 +662,7 @@ diff --git a/content/browser/renderer_host/render_process_host_impl_receiver_bin
|
||||
#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
|
||||
#include "components/services/font/public/mojom/font_service.mojom.h" // nogncheck
|
||||
#include "content/browser/font_service.h" // nogncheck
|
||||
@@ -336,6 +341,13 @@ void RenderProcessHostImpl::IOThreadHostImpl::BindHostReceiver(
|
||||
@@ -348,6 +353,13 @@ void RenderProcessHostImpl::IOThreadHostImpl::BindHostReceiver(
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -695,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
|
||||
@@ -349,6 +349,10 @@ target(link_target_type, "renderer") {
|
||||
@@ -346,6 +346,10 @@ target(link_target_type, "renderer") {
|
||||
deps += [ "//services/screen_ai/public/mojom" ]
|
||||
}
|
||||
|
||||
@@ -733,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;
|
||||
@@ -179,6 +196,37 @@ gpu::ContextType ToGpuContextType(blink::Platform::ContextType type) {
|
||||
@@ -180,6 +197,37 @@ gpu::ContextType ToGpuContextType(blink::Platform::ContextType type) {
|
||||
NOTREACHED();
|
||||
}
|
||||
|
||||
@@ -771,7 +772,7 @@ diff --git a/content/renderer/renderer_blink_platform_impl.cc b/content/renderer
|
||||
} // namespace
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
@@ -192,18 +240,21 @@ RendererBlinkPlatformImpl::RendererBlinkPlatformImpl(
|
||||
@@ -193,18 +241,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) {
|
||||
@@ -883,7 +884,7 @@ diff --git a/third_party/skia/include/ports/SkFontMgr_android.h b/third_party/sk
|
||||
|
||||
#include <memory>
|
||||
|
||||
@@ -40,13 +45,46 @@ struct SkFontMgr_Android_CustomFonts {
|
||||
@@ -40,9 +45,42 @@ struct SkFontMgr_Android_CustomFonts {
|
||||
* system IO resources on initialization.
|
||||
*/
|
||||
bool fIsolated;
|
||||
@@ -923,11 +924,6 @@ diff --git a/third_party/skia/include/ports/SkFontMgr_android.h b/third_party/sk
|
||||
};
|
||||
|
||||
/** Create a font manager for Android. If 'custom' is NULL, use only system fonts. */
|
||||
|
||||
// Deprecated
|
||||
-SK_API sk_sp<SkFontMgr> SkFontMgr_New_Android(const SkFontMgr_Android_CustomFonts* custom);
|
||||
+SK_API sk_sp<SkFontMgr> SkFontMgr_New_Android(std::unique_ptr<SkFontMgr_Android_CustomFonts> custom);
|
||||
|
||||
-SK_API sk_sp<SkFontMgr> SkFontMgr_New_Android(const SkFontMgr_Android_CustomFonts* custom,
|
||||
+SK_API sk_sp<SkFontMgr> SkFontMgr_New_Android(std::unique_ptr<SkFontMgr_Android_CustomFonts> custom,
|
||||
std::unique_ptr<SkFontScanner> scanner);
|
||||
@@ -950,7 +946,7 @@ diff --git a/third_party/skia/src/ports/SkFontConfigInterface.cpp b/third_party/
|
||||
diff --git a/third_party/skia/src/ports/SkFontConfigInterface_direct.cpp b/third_party/skia/src/ports/SkFontConfigInterface_direct.cpp
|
||||
--- a/third_party/skia/src/ports/SkFontConfigInterface_direct.cpp
|
||||
+++ b/third_party/skia/src/ports/SkFontConfigInterface_direct.cpp
|
||||
@@ -707,3 +707,8 @@ bool SkFontConfigInterfaceDirect::matchFamilyName(const char familyName[],
|
||||
@@ -715,3 +715,8 @@ bool SkFontConfigInterfaceDirect::matchFamilyName(const char familyName[],
|
||||
SkStreamAsset* SkFontConfigInterfaceDirect::openStream(const FontIdentity& identity) {
|
||||
return SkStream::MakeFromFile(identity.fString.c_str()).release();
|
||||
}
|
||||
@@ -1073,7 +1069,7 @@ diff --git a/third_party/skia/src/ports/SkFontMgr_android.cpp b/third_party/skia
|
||||
class SkTypeface_AndroidSystem : public SkTypeface_proxy {
|
||||
public:
|
||||
static sk_sp<SkTypeface_AndroidSystem> Make(sk_sp<SkTypeface> realTypeface,
|
||||
@@ -110,7 +196,8 @@ using StreamForPathCache = skia_private::THashMap<SkString, std::unique_ptr<SkSt
|
||||
@@ -109,7 +195,8 @@ using StreamForPathCache = skia_private::THashMap<SkString, std::unique_ptr<SkSt
|
||||
class SkFontStyleSet_Android : public SkFontStyleSet {
|
||||
public:
|
||||
explicit SkFontStyleSet_Android(const FontFamily& family, const SkFontScanner* scanner,
|
||||
@@ -1083,7 +1079,7 @@ diff --git a/third_party/skia/src/ports/SkFontMgr_android.cpp b/third_party/skia
|
||||
const SkString* cannonicalFamilyName = nullptr;
|
||||
if (!family.fNames.empty()) {
|
||||
cannonicalFamilyName = &family.fNames[0];
|
||||
@@ -119,38 +206,60 @@ public:
|
||||
@@ -118,38 +205,60 @@ public:
|
||||
|
||||
// TODO? make this lazy
|
||||
for (int i = 0; i < family.fFonts.size(); ++i) {
|
||||
@@ -1167,7 +1163,7 @@ diff --git a/third_party/skia/src/ports/SkFontMgr_android.cpp b/third_party/skia
|
||||
}
|
||||
|
||||
uint32_t variant = family.fVariant;
|
||||
@@ -161,13 +270,25 @@ public:
|
||||
@@ -160,13 +269,25 @@ public:
|
||||
// The first specified family name overrides the family name found in the font.
|
||||
// TODO: SkTypeface_AndroidSystem::onCreateFamilyNameIterator should return
|
||||
// all of the specified family names in addition to the names found in the font.
|
||||
@@ -1199,7 +1195,7 @@ diff --git a/third_party/skia/src/ports/SkFontMgr_android.cpp b/third_party/skia
|
||||
int weight = fontFile.fWeight != 0 ? fontFile.fWeight : fontStyle.weight();
|
||||
SkFontStyle::Slant slant = fontStyle.slant();
|
||||
switch (fontFile.fStyle) {
|
||||
@@ -178,6 +299,19 @@ public:
|
||||
@@ -177,6 +298,19 @@ public:
|
||||
}
|
||||
fontStyle = SkFontStyle(weight, fontStyle.width(), slant);
|
||||
|
||||
@@ -1219,7 +1215,7 @@ diff --git a/third_party/skia/src/ports/SkFontMgr_android.cpp b/third_party/skia
|
||||
fStyles.push_back(
|
||||
SkTypeface_AndroidSystem::Make(proxy,
|
||||
fontStyle, proxy->isFixedPitch(),
|
||||
@@ -206,15 +340,18 @@ public:
|
||||
@@ -205,15 +339,18 @@ public:
|
||||
return fStyles[index];
|
||||
}
|
||||
|
||||
@@ -1241,7 +1237,7 @@ diff --git a/third_party/skia/src/ports/SkFontMgr_android.cpp b/third_party/skia
|
||||
SkString fFallbackFor;
|
||||
|
||||
friend struct NameToFamily;
|
||||
@@ -235,24 +372,26 @@ struct NameToFamily {
|
||||
@@ -234,24 +371,26 @@ struct NameToFamily {
|
||||
|
||||
class SkFontMgr_Android : public SkFontMgr {
|
||||
public:
|
||||
@@ -1272,7 +1268,7 @@ diff --git a/third_party/skia/src/ports/SkFontMgr_android.cpp b/third_party/skia
|
||||
}
|
||||
this->buildNameToFamilyMap(families, custom ? custom->fIsolated : false);
|
||||
this->findDefaultStyleSet();
|
||||
@@ -310,33 +449,53 @@ protected:
|
||||
@@ -309,33 +448,53 @@ protected:
|
||||
return sset->matchStyle(style);
|
||||
}
|
||||
|
||||
@@ -1341,7 +1337,7 @@ diff --git a/third_party/skia/src/ports/SkFontMgr_android.cpp b/third_party/skia
|
||||
}
|
||||
}
|
||||
return nullptr;
|
||||
@@ -359,7 +518,7 @@ protected:
|
||||
@@ -358,7 +517,7 @@ protected:
|
||||
for (int bcp47Index = bcp47Count; bcp47Index --> 0;) {
|
||||
SkLanguage lang(bcp47[bcp47Index]);
|
||||
while (!lang.getTag().isEmpty()) {
|
||||
@@ -1350,7 +1346,7 @@ diff --git a/third_party/skia/src/ports/SkFontMgr_android.cpp b/third_party/skia
|
||||
find_family_style_character(currentFamilyName, fFallbackNameToFamilyMap,
|
||||
style, SkToBool(elegant),
|
||||
lang.getTag(), character);
|
||||
@@ -370,7 +529,7 @@ protected:
|
||||
@@ -369,7 +528,7 @@ protected:
|
||||
lang = lang.getParent();
|
||||
}
|
||||
}
|
||||
@@ -1359,7 +1355,7 @@ diff --git a/third_party/skia/src/ports/SkFontMgr_android.cpp b/third_party/skia
|
||||
find_family_style_character(currentFamilyName, fFallbackNameToFamilyMap,
|
||||
style, SkToBool(elegant),
|
||||
SkString(), character);
|
||||
@@ -421,6 +580,7 @@ protected:
|
||||
@@ -420,6 +579,7 @@ protected:
|
||||
private:
|
||||
|
||||
std::unique_ptr<SkFontScanner> fScanner;
|
||||
@@ -1367,7 +1363,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;
|
||||
@@ -442,7 +602,7 @@ private:
|
||||
@@ -441,7 +601,7 @@ private:
|
||||
}
|
||||
|
||||
sk_sp<SkFontStyleSet_Android> newSet =
|
||||
@@ -1376,22 +1372,16 @@ diff --git a/third_party/skia/src/ports/SkFontMgr_android.cpp b/third_party/skia
|
||||
if (0 == newSet->count()) {
|
||||
return;
|
||||
}
|
||||
@@ -487,11 +647,11 @@ static char const * const gSystemFontUseStrings[] = {
|
||||
@@ -486,7 +646,7 @@ static char const * const gSystemFontUseStrings[] = {
|
||||
|
||||
} // namespace
|
||||
|
||||
-sk_sp<SkFontMgr> SkFontMgr_New_Android(const SkFontMgr_Android_CustomFonts* custom) {
|
||||
- return SkFontMgr_New_Android(custom, SkFontScanner_Make_FreeType());
|
||||
+sk_sp<SkFontMgr> SkFontMgr_New_Android(std::unique_ptr<SkFontMgr_Android_CustomFonts> custom) {
|
||||
+ return SkFontMgr_New_Android(std::move(custom), SkFontScanner_Make_FreeType());
|
||||
}
|
||||
|
||||
-sk_sp<SkFontMgr> SkFontMgr_New_Android(const SkFontMgr_Android_CustomFonts* custom, std::unique_ptr<SkFontScanner> scanner) {
|
||||
+sk_sp<SkFontMgr> SkFontMgr_New_Android(std::unique_ptr<SkFontMgr_Android_CustomFonts> custom, std::unique_ptr<SkFontScanner> scanner) {
|
||||
if (custom) {
|
||||
SkASSERT(0 <= custom->fSystemFontUse);
|
||||
SkASSERT(custom->fSystemFontUse < std::size(gSystemFontUseStrings));
|
||||
@@ -501,5 +661,5 @@ sk_sp<SkFontMgr> SkFontMgr_New_Android(const SkFontMgr_Android_CustomFonts* cust
|
||||
@@ -496,5 +656,5 @@ sk_sp<SkFontMgr> SkFontMgr_New_Android(const SkFontMgr_Android_CustomFonts* cust
|
||||
custom->fFontsXml,
|
||||
custom->fFallbackFontsXml);
|
||||
}
|
||||
|
||||
@@ -45,8 +45,8 @@ Require: bromite-build-utils.patch
|
||||
.../BromiteCustomContentSettingImpl.java | 412 ++++++++++++++++++
|
||||
...tomTriStateSiteSettingsPreferenceImpl.java | 24 +
|
||||
.../ContentSettingsResources.java | 37 +-
|
||||
.../site_settings/SingleCategorySettings.java | 60 ++-
|
||||
.../site_settings/SingleWebsiteSettings.java | 58 ++-
|
||||
.../site_settings/SingleCategorySettings.java | 57 ++-
|
||||
.../site_settings/SingleWebsiteSettings.java | 53 ++-
|
||||
.../site_settings/SiteSettings.java | 33 +-
|
||||
.../site_settings/SiteSettingsCategory.java | 18 +-
|
||||
.../site_settings/SiteSettingsDelegate.java | 2 +
|
||||
@@ -85,7 +85,7 @@ Require: bromite-build-utils.patch
|
||||
.../platform/web_content_settings_client.h | 13 +
|
||||
.../execution_context/execution_context.cc | 16 +
|
||||
.../execution_context/execution_context.h | 5 +
|
||||
74 files changed, 1965 insertions(+), 112 deletions(-)
|
||||
74 files changed, 1962 insertions(+), 107 deletions(-)
|
||||
create mode 100644 components/browser_ui/settings/android/java/res/layout/preference_spinner_single_widget.xml
|
||||
create mode 100644 components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/BromiteCustomContentSetting.java
|
||||
create mode 100644 components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/BromiteCustomContentSettingImpl.java
|
||||
@@ -99,7 +99,7 @@ Require: bromite-build-utils.patch
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/site_settings/ChromeSiteSettingsDelegate.java b/chrome/android/java/src/org/chromium/chrome/browser/site_settings/ChromeSiteSettingsDelegate.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/site_settings/ChromeSiteSettingsDelegate.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/site_settings/ChromeSiteSettingsDelegate.java
|
||||
@@ -69,6 +69,10 @@ import org.chromium.url.GURL;
|
||||
@@ -70,6 +70,10 @@ import org.chromium.url.GURL;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
|
||||
@@ -110,7 +110,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/site_settings/C
|
||||
/** A SiteSettingsDelegate instance that contains Chrome-specific Site Settings logic. */
|
||||
public class ChromeSiteSettingsDelegate implements SiteSettingsDelegate {
|
||||
private final Context mContext;
|
||||
@@ -239,7 +243,7 @@ public class ChromeSiteSettingsDelegate implements SiteSettingsDelegate {
|
||||
@@ -247,7 +251,7 @@ public class ChromeSiteSettingsDelegate implements SiteSettingsDelegate {
|
||||
|
||||
@Override
|
||||
public boolean isHelpAndFeedbackEnabled() {
|
||||
@@ -119,7 +119,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/site_settings/C
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -377,6 +381,17 @@ public class ChromeSiteSettingsDelegate implements SiteSettingsDelegate {
|
||||
@@ -385,6 +389,17 @@ public class ChromeSiteSettingsDelegate implements SiteSettingsDelegate {
|
||||
return mPrivacySandboxBridge.getRelatedWebsiteSetOwner(memberOrigin);
|
||||
}
|
||||
|
||||
@@ -140,7 +140,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
|
||||
@@ -191,7 +191,7 @@ namespace {
|
||||
@@ -190,7 +190,7 @@ namespace {
|
||||
void GetGuestViewDefaultContentSettingRules(
|
||||
bool incognito,
|
||||
RendererContentSettingRules* rules) {
|
||||
@@ -152,7 +152,7 @@ diff --git a/chrome/browser/content_settings/page_specific_content_settings_dele
|
||||
diff --git a/chrome/browser/resources/settings/BUILD.gn b/chrome/browser/resources/settings/BUILD.gn
|
||||
--- a/chrome/browser/resources/settings/BUILD.gn
|
||||
+++ b/chrome/browser/resources/settings/BUILD.gn
|
||||
@@ -295,6 +295,7 @@ build_webui("build") {
|
||||
@@ -312,6 +312,7 @@ build_webui("build") {
|
||||
"privacy_sandbox/privacy_sandbox_browser_proxy.ts",
|
||||
"relaunch_mixin.ts",
|
||||
"reset_page/reset_browser_proxy.ts",
|
||||
@@ -160,7 +160,7 @@ diff --git a/chrome/browser/resources/settings/BUILD.gn b/chrome/browser/resourc
|
||||
"route.ts",
|
||||
"router.ts",
|
||||
"safety_hub/safety_hub_browser_proxy.ts",
|
||||
@@ -306,7 +307,6 @@ build_webui("build") {
|
||||
@@ -326,7 +327,6 @@ build_webui("build") {
|
||||
"site_settings/constants.ts",
|
||||
"site_settings/site_settings_mixin.ts",
|
||||
"site_settings/site_settings_prefs_browser_proxy.ts",
|
||||
@@ -171,14 +171,12 @@ 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
|
||||
@@ -1339,6 +1339,7 @@
|
||||
@@ -1342,4 +1342,5 @@
|
||||
</settings-subpage>
|
||||
</template>
|
||||
</template>
|
||||
+ <div id="bromite-placeholder"/>
|
||||
</settings-animated-pages>
|
||||
<cr-toast id="deleteBrowsingDataToast" duration="5000">
|
||||
<div>[[dbdDeletionConfirmationToastLabel_]]</div>
|
||||
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
|
||||
@@ -190,7 +188,7 @@ diff --git a/chrome/browser/resources/settings/privacy_page/privacy_page.ts b/ch
|
||||
|
||||
interface BlockAutoplayStatus {
|
||||
enabled: boolean;
|
||||
@@ -79,8 +80,82 @@ export class SettingsPrivacyPageElement extends SettingsPrivacyPageElementBase {
|
||||
@@ -78,8 +79,82 @@ export class SettingsPrivacyPageElement extends SettingsPrivacyPageElementBase {
|
||||
return 'settings-privacy-page';
|
||||
}
|
||||
|
||||
@@ -296,7 +294,7 @@ diff --git a/chrome/browser/resources/settings/route.ts b/chrome/browser/resourc
|
||||
diff --git a/chrome/browser/resources/settings/site_settings/settings_category_default_radio_group.html b/chrome/browser/resources/settings/site_settings/settings_category_default_radio_group.html
|
||||
--- a/chrome/browser/resources/settings/site_settings/settings_category_default_radio_group.html
|
||||
+++ b/chrome/browser/resources/settings/site_settings/settings_category_default_radio_group.html
|
||||
@@ -53,5 +53,17 @@
|
||||
@@ -54,5 +54,17 @@
|
||||
icon="[[blockOptionIcon]]"
|
||||
no-collapse>
|
||||
</settings-collapse-radio-button>
|
||||
@@ -478,13 +476,12 @@ diff --git a/chrome/browser/resources/settings/site_settings/site_details_permis
|
||||
|
||||
import {ChooserType, ContentSetting, ContentSettingsTypes, SiteSettingSource} from './constants.js';
|
||||
import {getTemplate} from './site_details_permission.html.js';
|
||||
@@ -293,15 +294,28 @@ export class SiteDetailsPermissionElement extends
|
||||
@@ -293,14 +294,27 @@ export class SiteDetailsPermissionElement extends
|
||||
return '';
|
||||
}
|
||||
|
||||
+ let obj = this.getSettingData(category);
|
||||
if (defaultSetting === ContentSetting.ASK ||
|
||||
defaultSetting === ContentSetting.IMPORTANT_CONTENT) {
|
||||
if (defaultSetting === ContentSetting.ASK) {
|
||||
+ if (obj) {
|
||||
+ let v = this.askSettingString_(category, "");
|
||||
+ if (v !== "") return "(Default) " + v;
|
||||
@@ -507,7 +504,7 @@ diff --git a/chrome/browser/resources/settings/site_settings/site_details_permis
|
||||
if (this.useCustomSoundLabels_(category)) {
|
||||
return this.i18n('siteSettingsActionMuteDefault');
|
||||
}
|
||||
@@ -320,12 +334,40 @@ export class SiteDetailsPermissionElement extends
|
||||
@@ -319,12 +333,40 @@ export class SiteDetailsPermissionElement extends
|
||||
private blockSettingString_(
|
||||
category: ContentSettingsTypes, blockString: string,
|
||||
muteString: string): string {
|
||||
@@ -548,7 +545,7 @@ diff --git a/chrome/browser/resources/settings/site_settings/site_details_permis
|
||||
/**
|
||||
* @return true if |this| should be hidden.
|
||||
*/
|
||||
@@ -416,6 +458,8 @@ export class SiteDetailsPermissionElement extends
|
||||
@@ -415,6 +457,8 @@ export class SiteDetailsPermissionElement extends
|
||||
private showAskSetting_(
|
||||
category: ContentSettingsTypes, setting: ContentSetting,
|
||||
source: SiteSettingSource): boolean {
|
||||
@@ -736,16 +733,16 @@ 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
|
||||
@@ -1732,6 +1732,7 @@ static_library("ui") {
|
||||
@@ -1634,6 +1634,7 @@ static_library("ui") {
|
||||
"//components/commerce/core/mojom:mojo_bindings",
|
||||
"//components/commerce/core/webui",
|
||||
"//components/endpoint_fetcher:endpoint_fetcher",
|
||||
"//components/endpoint_fetcher",
|
||||
+ "//components/content_settings/core/browser:browser",
|
||||
"//components/enterprise/common:files_scan_data",
|
||||
"//components/feedback/proto",
|
||||
"//components/headless/policy",
|
||||
@@ -4950,6 +4951,7 @@ static_library("ui") {
|
||||
"//components/power_bookmarks/core:core",
|
||||
@@ -4821,6 +4822,7 @@ static_library("ui") {
|
||||
"//components/power_bookmarks/core",
|
||||
"//components/power_bookmarks/storage",
|
||||
"//components/prefs",
|
||||
+ "//components/strings:components_strings_grit",
|
||||
@@ -772,7 +769,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_main_view.cc b/chrome/browser/ui/views/page_info/page_info_main_view.cc
|
||||
--- a/chrome/browser/ui/views/page_info/page_info_main_view.cc
|
||||
+++ b/chrome/browser/ui/views/page_info/page_info_main_view.cc
|
||||
@@ -59,6 +59,7 @@
|
||||
@@ -58,6 +58,7 @@
|
||||
#include "ui/views/layout/box_layout.h"
|
||||
#include "ui/views/layout/flex_layout.h"
|
||||
#include "ui/views/vector_icons.h"
|
||||
@@ -780,7 +777,7 @@ diff --git a/chrome/browser/ui/views/page_info/page_info_main_view.cc b/chrome/b
|
||||
#include "ui/views/view_class_properties.h"
|
||||
|
||||
#if BUILDFLAG(FULL_SAFE_BROWSING)
|
||||
@@ -284,8 +285,20 @@ void PageInfoMainView::SetPermissionInfo(
|
||||
@@ -282,8 +283,20 @@ void PageInfoMainView::SetPermissionInfo(
|
||||
scroll_view->SetDrawOverflowIndicator(false);
|
||||
auto* content_view =
|
||||
scroll_view->SetContents(std::make_unique<views::View>());
|
||||
@@ -803,7 +800,7 @@ diff --git a/chrome/browser/ui/views/page_info/page_info_main_view.cc b/chrome/b
|
||||
content_view->SetID(PageInfoViewFactory::VIEW_ID_PAGE_INFO_PERMISSION_VIEW);
|
||||
content_view->SetProperty(views::kElementIdentifierKey,
|
||||
kPermissionsElementId);
|
||||
@@ -300,11 +313,16 @@ void PageInfoMainView::SetPermissionInfo(
|
||||
@@ -298,11 +311,16 @@ void PageInfoMainView::SetPermissionInfo(
|
||||
}
|
||||
}
|
||||
|
||||
@@ -820,7 +817,7 @@ diff --git a/chrome/browser/ui/views/page_info/page_info_main_view.cc b/chrome/b
|
||||
toggle_row->SetProperty(views::kCrossAxisAlignmentKey,
|
||||
views::LayoutAlignment::kStretch);
|
||||
syncable_permission_rows_.emplace(permission.type, toggle_row);
|
||||
@@ -312,6 +330,8 @@ void PageInfoMainView::SetPermissionInfo(
|
||||
@@ -310,6 +328,8 @@ void PageInfoMainView::SetPermissionInfo(
|
||||
}
|
||||
|
||||
for (auto& object : chosen_object_info_list) {
|
||||
@@ -829,7 +826,7 @@ diff --git a/chrome/browser/ui/views/page_info/page_info_main_view.cc b/chrome/b
|
||||
// The view takes ownership of the object info.
|
||||
auto object_view = std::make_unique<ChosenObjectView>(
|
||||
std::move(object),
|
||||
@@ -322,6 +342,10 @@ void PageInfoMainView::SetPermissionInfo(
|
||||
@@ -320,6 +340,10 @@ void PageInfoMainView::SetPermissionInfo(
|
||||
content_view->AddChildView(std::move(object_view)));
|
||||
}
|
||||
|
||||
@@ -852,7 +849,7 @@ diff --git a/chrome/browser/ui/views/page_info/page_info_view_factory.cc b/chrom
|
||||
#include "components/page_info/core/features.h"
|
||||
#include "components/page_info/core/proto/about_this_site_metadata.pb.h"
|
||||
#include "components/page_info/page_info.h"
|
||||
@@ -292,7 +294,14 @@ const ui::ImageModel PageInfoViewFactory::GetPermissionIcon(
|
||||
@@ -290,7 +292,14 @@ const ui::ImageModel PageInfoViewFactory::GetPermissionIcon(
|
||||
ContentSetting setting = info.setting == CONTENT_SETTING_DEFAULT
|
||||
? info.default_setting
|
||||
: info.setting;
|
||||
@@ -867,7 +864,7 @@ diff --git a/chrome/browser/ui/views/page_info/page_info_view_factory.cc b/chrom
|
||||
// For guard content settings and Automatic Picture-in-Picture, ASK is treated
|
||||
// as an "on" state.
|
||||
const bool show_blocked_badge =
|
||||
@@ -593,6 +602,17 @@ const ui::ImageModel PageInfoViewFactory::GetPermissionIcon(
|
||||
@@ -591,6 +600,17 @@ const ui::ImageModel PageInfoViewFactory::GetPermissionIcon(
|
||||
icon = &vector_icons::kPrinterIcon;
|
||||
break;
|
||||
default:
|
||||
@@ -888,7 +885,7 @@ diff --git a/chrome/browser/ui/views/page_info/page_info_view_factory.cc b/chrom
|
||||
diff --git a/chrome/browser/ui/views/page_info/page_info_view_factory.h b/chrome/browser/ui/views/page_info/page_info_view_factory.h
|
||||
--- a/chrome/browser/ui/views/page_info/page_info_view_factory.h
|
||||
+++ b/chrome/browser/ui/views/page_info/page_info_view_factory.h
|
||||
@@ -100,6 +100,11 @@ class PageInfoViewFactory {
|
||||
@@ -97,6 +97,11 @@ class PageInfoViewFactory {
|
||||
const PageInfo::PermissionInfo& info,
|
||||
bool blocked_on_system_level = false);
|
||||
|
||||
@@ -1216,7 +1213,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"
|
||||
@@ -3842,6 +3846,56 @@ void AddLocalizedStrings(content::WebUIDataSource* html_source,
|
||||
@@ -3912,6 +3916,56 @@ void AddLocalizedStrings(content::WebUIDataSource* html_source,
|
||||
policy_indicator::AddLocalizedStrings(html_source);
|
||||
AddSecurityKeysStrings(html_source);
|
||||
|
||||
@@ -1286,7 +1283,7 @@ diff --git a/chrome/browser/ui/webui/settings/site_settings_helper.cc b/chrome/b
|
||||
#include "components/content_settings/core/common/content_settings_pattern.h"
|
||||
#include "components/content_settings/core/common/content_settings_types.h"
|
||||
@@ -261,13 +263,13 @@ constexpr auto kContentSettingsTypeGroupNames = std::to_array<
|
||||
{ContentSettingsType::SUSPICIOUS_NOTIFICATION_IDS, nullptr},
|
||||
{ContentSettingsType::DEVICE_ATTRIBUTES, nullptr},
|
||||
});
|
||||
|
||||
-static_assert(
|
||||
@@ -1354,7 +1351,7 @@ diff --git a/chrome/browser/ui/webui/settings/site_settings_helper.cc b/chrome/b
|
||||
NOTREACHED() << static_cast<int32_t>(type)
|
||||
<< " is not a recognized content settings type.";
|
||||
}
|
||||
@@ -673,6 +694,13 @@ std::vector<ContentSettingsType> GetVisiblePermissionCategories(
|
||||
@@ -668,6 +689,13 @@ std::vector<ContentSettingsType> GetVisiblePermissionCategories(
|
||||
base_types->push_back(ContentSettingsType::LOCAL_NETWORK_ACCESS);
|
||||
}
|
||||
|
||||
@@ -1534,7 +1531,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
|
||||
@@ -151,6 +151,23 @@ android_library("java") {
|
||||
@@ -156,6 +156,23 @@ android_library("java") {
|
||||
":site_settings_jni_headers",
|
||||
"//components/content_settings/android:java_pref_names_srcjar",
|
||||
]
|
||||
@@ -1558,7 +1555,7 @@ diff --git a/components/browser_ui/site_settings/android/BUILD.gn b/components/b
|
||||
}
|
||||
|
||||
android_library("javatests") {
|
||||
@@ -200,6 +217,7 @@ robolectric_library("junit") {
|
||||
@@ -205,6 +222,7 @@ robolectric_library("junit") {
|
||||
}
|
||||
|
||||
android_resources("java_resources") {
|
||||
@@ -1569,7 +1566,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
|
||||
@@ -189,4 +189,11 @@ The order of the following items is from: http://crbug.com/610358.
|
||||
@@ -193,4 +193,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" />
|
||||
|
||||
@@ -2251,16 +2248,16 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
|
||||
int icon,
|
||||
int title,
|
||||
@ContentSettingValues @Nullable Integer defaultEnabledValue,
|
||||
@@ -636,6 +657,8 @@ public class ContentSettingsResources {
|
||||
R.string.website_settings_vr_ask,
|
||||
R.string.website_settings_vr_block);
|
||||
@@ -662,6 +683,8 @@ public class ContentSettingsResources {
|
||||
R.string.website_settings_window_management_ask,
|
||||
R.string.website_settings_window_management_block);
|
||||
}
|
||||
+ ResourceItem ri = BromiteCustomContentSettingImpl.getResourceItem(contentType);
|
||||
+ if (ri != null) return ri;
|
||||
assert false; // NOTREACHED
|
||||
return assumeNonNull(null);
|
||||
}
|
||||
@@ -794,6 +817,14 @@ public class ContentSettingsResources {
|
||||
@@ -820,6 +843,14 @@ public class ContentSettingsResources {
|
||||
return getResourceItem(contentType).getDefaultDisabledValue();
|
||||
}
|
||||
|
||||
@@ -2275,7 +2272,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.
|
||||
*
|
||||
@@ -968,6 +999,8 @@ public class ContentSettingsResources {
|
||||
@@ -994,6 +1025,8 @@ public class ContentSettingsResources {
|
||||
*/
|
||||
public static int @Nullable [] getTriStateSettingDescriptionIDs(
|
||||
int contentType, boolean isPermissionSiteSettingsRadioButtonFeatureEnabled) {
|
||||
@@ -2287,7 +2284,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
|
||||
diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleCategorySettings.java b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleCategorySettings.java
|
||||
--- a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleCategorySettings.java
|
||||
+++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleCategorySettings.java
|
||||
@@ -343,6 +343,10 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
|
||||
@@ -344,6 +344,10 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
|
||||
website.site()
|
||||
.getContentSetting(
|
||||
browserContextHandle, mCategory.getContentSettingsType());
|
||||
@@ -2298,7 +2295,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
|
||||
if (contentSetting != null) {
|
||||
return ContentSettingValues.BLOCK == contentSetting;
|
||||
}
|
||||
@@ -531,6 +535,7 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
|
||||
@@ -532,6 +536,7 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
|
||||
? new HashSet<>(getArguments().getStringArrayList(EXTRA_SELECTED_DOMAINS))
|
||||
: null;
|
||||
|
||||
@@ -2306,7 +2303,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");
|
||||
@@ -566,7 +571,8 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
|
||||
@@ -567,7 +572,8 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
|
||||
if (queryHasChanged) getInfoForOrigins();
|
||||
});
|
||||
|
||||
@@ -2316,7 +2313,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
|
||||
MenuItem help =
|
||||
menu.add(
|
||||
Menu.NONE,
|
||||
@@ -578,12 +584,20 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
|
||||
@@ -579,12 +585,20 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
|
||||
getResources(),
|
||||
R.drawable.ic_help_and_feedback,
|
||||
getContext().getTheme()));
|
||||
@@ -2358,34 +2355,37 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
|
||||
}
|
||||
|
||||
// OnPreferenceClickListener:
|
||||
@@ -962,21 +981,18 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
|
||||
default:
|
||||
@@ -963,17 +982,15 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
|
||||
break;
|
||||
}
|
||||
-
|
||||
- int exceptionDialogMessageResourceId = getAddExceptionDialogMessageResourceId();
|
||||
- assert allowSpecifyingExceptions == (exceptionDialogMessageResourceId != 0);
|
||||
|
||||
+ Boolean allow = BromiteCustomContentSettingImpl.allowSpecifyingExceptions(mCategory);
|
||||
+ if (allow != null) allowSpecifyingExceptions = (boolean)allow;
|
||||
if (allowSpecifyingExceptions) {
|
||||
+ if (allow != null) shouldAddExceptionButton = (boolean)allow;
|
||||
+
|
||||
int exceptionDialogMessageResourceId = getAddExceptionDialogMessageResourceId();
|
||||
assert shouldAddExceptionButton == (exceptionDialogMessageResourceId != 0);
|
||||
|
||||
if (shouldAddExceptionButton) {
|
||||
int blockAddingExceptionsReasonResourceId =
|
||||
mCategory.getBlockAddingExceptionsReasonResourceId();
|
||||
- boolean enableAddExceptionButton =
|
||||
- (!mCategory.isManaged()
|
||||
- || mCategory.getType()
|
||||
- == SiteSettingsCategory.Type.THIRD_PARTY_COOKIES);
|
||||
+ int exceptionDialogMessageResourceId = getAddExceptionDialogMessageResourceId();
|
||||
+ assert exceptionDialogMessageResourceId != 0;
|
||||
getPreferenceScreen()
|
||||
.addPreference(
|
||||
new AddExceptionPreference(
|
||||
- || mCategory.getType()
|
||||
- == SiteSettingsCategory.Type.THIRD_PARTY_COOKIES)
|
||||
- && blockAddingExceptionsReasonResourceId == 0;
|
||||
String exceptionDialogMessage =
|
||||
exceptionDialogMessageResourceId != 0
|
||||
? getString(exceptionDialogMessageResourceId)
|
||||
@@ -984,7 +1001,7 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
|
||||
getStyledContext(),
|
||||
ADD_EXCEPTION_KEY,
|
||||
getString(exceptionDialogMessageResourceId),
|
||||
exceptionDialogMessage,
|
||||
- enableAddExceptionButton,
|
||||
+ true,
|
||||
+ /*enableAddExceptionButton*/ true,
|
||||
mCategory,
|
||||
this));
|
||||
}
|
||||
@@ -1152,8 +1168,16 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
|
||||
|
||||
@@ -1168,8 +1185,16 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
|
||||
private boolean isBlocked() {
|
||||
switch (mGlobalToggleLayout) {
|
||||
case GlobalToggleLayout.TRI_STATE_TOGGLE:
|
||||
@@ -2402,7 +2402,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
|
||||
return (triStateToggle.getCheckedSetting() == ContentSettingValues.BLOCK);
|
||||
case GlobalToggleLayout.TRI_STATE_COOKIE_TOGGLE:
|
||||
TriStateCookieSettingsPreference triStateCookieToggle =
|
||||
@@ -1302,7 +1326,11 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
|
||||
@@ -1320,7 +1345,11 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
|
||||
} else if (res_id != -1) {
|
||||
infoText.setSummary(res_id);
|
||||
} else {
|
||||
@@ -2415,7 +2415,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
|
||||
}
|
||||
|
||||
// Hide the anti-abuse text preferences, as needed.
|
||||
@@ -1341,6 +1369,7 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
|
||||
@@ -1359,6 +1388,7 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
|
||||
} else {
|
||||
screen.removePreference(mLocationTriStatePref);
|
||||
}
|
||||
@@ -2423,7 +2423,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
|
||||
|
||||
maybeShowReasonToggleDisabled(screen);
|
||||
|
||||
@@ -1553,6 +1582,7 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
|
||||
@@ -1571,6 +1601,7 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
|
||||
iconIds = ContentSettingsResources.getTriStateSettingIconIDs(contentType);
|
||||
}
|
||||
triStateToggle.initialize(
|
||||
@@ -2431,7 +2431,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
|
||||
setting,
|
||||
descriptionIds,
|
||||
iconIds,
|
||||
@@ -1712,6 +1742,14 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
|
||||
@@ -1730,6 +1761,14 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
|
||||
@ContentSettingValues
|
||||
Integer value = site.getContentSetting(browserContextHandle, contentSettingsType);
|
||||
|
||||
@@ -2449,7 +2449,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
|
||||
diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleWebsiteSettings.java b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleWebsiteSettings.java
|
||||
--- a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleWebsiteSettings.java
|
||||
+++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleWebsiteSettings.java
|
||||
@@ -57,6 +57,7 @@ import java.util.Collection;
|
||||
@@ -59,6 +59,7 @@ import java.util.Collection;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
@@ -2457,21 +2457,20 @@ 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
|
||||
@@ -188,7 +189,7 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment
|
||||
case ContentSettingsType.LOCAL_NETWORK_ACCESS:
|
||||
return "local_network_access";
|
||||
@@ -192,7 +193,7 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment
|
||||
case ContentSettingsType.WINDOW_MANAGEMENT:
|
||||
return "window_management_permission_list";
|
||||
default:
|
||||
- return null;
|
||||
+ return BromiteCustomContentSettingImpl.getProfilePrefKey(type);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -594,8 +595,21 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment
|
||||
@@ -598,14 +599,27 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment
|
||||
private void setupContentSettingsPreferences() {
|
||||
Preference permissionsHeaderPref = findPreference(PREF_PERMISSIONS_HEADER);
|
||||
mMaxPermissionOrder = permissionsHeaderPref.getOrder();
|
||||
- for (@ContentSettingsType.EnumType int type : SiteSettingsUtil.SETTINGS_ORDER) {
|
||||
- Preference preference = new ChromeSwitchPreference(getStyledContext());
|
||||
+ List<Integer> order = BromiteCustomContentSettingImpl.getSettingsOrder();
|
||||
+ for (@ContentSettingsType.EnumType int type : order) {
|
||||
+ @ContentSettingValues @Nullable Integer value =
|
||||
@@ -2481,20 +2480,27 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
|
||||
+ value = WebsitePreferenceBridge.getDefaultContentSetting(
|
||||
+ getSiteSettingsDelegate().getBrowserContextHandle(), type);
|
||||
+ }
|
||||
+ Preference preference =
|
||||
Preference preference =
|
||||
+ BromiteCustomContentSettingImpl
|
||||
+ .createWebSitePreference(type, getStyledContext(), value);
|
||||
+ if (preference == null) {
|
||||
+ preference = new ChromeSwitchPreference(getStyledContext());
|
||||
+ preference =
|
||||
(isOneTime(type)
|
||||
&& PermissionsAndroidFeatureMap.isEnabled(
|
||||
PermissionsAndroidFeatureList
|
||||
.APPROXIMATE_GEOLOCATION_PERMISSION))
|
||||
? new ChromeImageViewPreference(getStyledContext())
|
||||
: new ChromeSwitchPreference(getStyledContext());
|
||||
+ }
|
||||
preference.setKey(getPreferenceKey(type));
|
||||
|
||||
if (type == ContentSettingsType.ADS) {
|
||||
@@ -1280,20 +1294,32 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment
|
||||
@@ -1290,7 +1304,16 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment
|
||||
@ContentSettingValues @Nullable Integer value,
|
||||
boolean isEmbargoed,
|
||||
boolean isOneTime) {
|
||||
- if (value == null) return;
|
||||
+ @ContentSettingsType.EnumType
|
||||
+ int content_type = getContentSettingsTypeFromPreferenceKey(preference.getKey());
|
||||
+ BromiteCustomContentSetting cs =
|
||||
+ BromiteCustomContentSettingImpl.getContentSetting(content_type);
|
||||
@@ -2505,33 +2511,37 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
|
||||
+ getSiteSettingsDelegate().getBrowserContextHandle(), content_type);
|
||||
+ }
|
||||
setUpPreferenceCommon(preference, value);
|
||||
|
||||
- ChromeSwitchPreference switchPreference = (ChromeSwitchPreference) preference;
|
||||
- @ContentSettingsType.EnumType
|
||||
- int contentType = getContentSettingsTypeFromPreferenceKey(preference.getKey());
|
||||
- switchPreference.setChecked(value == getEnabledValue(contentType));
|
||||
+ Preference switchPreference = preference;
|
||||
+ if (preference instanceof ChromeSwitchPreference) {
|
||||
+ ((ChromeSwitchPreference)switchPreference).setChecked(value != ContentSettingValues.BLOCK);
|
||||
+ } else {
|
||||
+ BromiteCustomContentSettingImpl.setWebSitePreferenceValue(content_type, preference, value);
|
||||
+ }
|
||||
switchPreference.setSummary(
|
||||
preference.setOnPreferenceChangeListener(this);
|
||||
@ContentSettingsType.EnumType
|
||||
@@ -1298,7 +1321,7 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment
|
||||
preference.setSummary(
|
||||
isEmbargoed
|
||||
? getString(R.string.automatically_blocked)
|
||||
- : getString(ContentSettingsResources.getCategorySummary(value, isOneTime)));
|
||||
+ : getString(ContentSettingsResources.getCategorySummary(content_type, value, isOneTime)));
|
||||
switchPreference.setOnPreferenceChangeListener(this);
|
||||
- if (contentType == mHighlightedPermission) {
|
||||
- switchPreference.setBackgroundColor(
|
||||
+ @ContentSettingsType.EnumType
|
||||
+ int contentType = getContentSettingsTypeFromPreferenceKey(preference.getKey());
|
||||
+ if (preference instanceof ChromeSwitchPreference && contentType == mHighlightedPermission) {
|
||||
+ ((ChromeSwitchPreference)switchPreference).setBackgroundColor(
|
||||
AppCompatResources.getColorStateList(getContext(), mHighlightColor)
|
||||
.getDefaultColor());
|
||||
}
|
||||
@@ -1518,14 +1544,20 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment
|
||||
if (preference instanceof ChromeImageViewPreference) {
|
||||
ChromeImageViewPreference oneTimePreference = (ChromeImageViewPreference) preference;
|
||||
oneTimePreference.setImageView(
|
||||
@@ -1313,10 +1336,14 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment
|
||||
oneTimePreference.setBackgroundColor(mHighlightColor);
|
||||
}
|
||||
} else {
|
||||
- ChromeSwitchPreference switchPreference = (ChromeSwitchPreference) preference;
|
||||
- switchPreference.setChecked(value == getEnabledValue(contentType));
|
||||
- if (contentType == mHighlightedPermission) {
|
||||
- switchPreference.setBackgroundColor(
|
||||
+ Preference switchPreference = preference;
|
||||
+ if (preference instanceof ChromeSwitchPreference) {
|
||||
+ ((ChromeSwitchPreference)switchPreference).setChecked(value != ContentSettingValues.BLOCK);
|
||||
+ } else {
|
||||
+ BromiteCustomContentSettingImpl.setWebSitePreferenceValue(content_type, preference, value);
|
||||
+ }
|
||||
+ if (preference instanceof ChromeSwitchPreference && contentType == mHighlightedPermission) {
|
||||
+ ((ChromeSwitchPreference)switchPreference).setBackgroundColor(
|
||||
AppCompatResources.getColorStateList(getContext(), mHighlightColor)
|
||||
.getDefaultColor());
|
||||
}
|
||||
@@ -1542,14 +1569,20 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment
|
||||
if (newValue instanceof Boolean) {
|
||||
permission = (Boolean) newValue ? getEnabledValue(type) : ContentSettingValues.BLOCK;
|
||||
} else {
|
||||
@@ -2622,25 +2632,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
|
||||
@@ -79,7 +79,7 @@ public class SiteSettingsCategory {
|
||||
Type.JAVASCRIPT_OPTIMIZER,
|
||||
@@ -80,7 +80,7 @@ public class SiteSettingsCategory {
|
||||
Type.SERIAL_PORT,
|
||||
Type.LOCAL_NETWORK_ACCESS,
|
||||
Type.WINDOW_MANAGEMENT,
|
||||
- Type.NUM_ENTRIES
|
||||
+ Type.NUM_ENTRIES_CHROMIUM
|
||||
})
|
||||
@Retention(RetentionPolicy.SOURCE)
|
||||
public @interface Type {
|
||||
@@ -123,7 +123,7 @@ public class SiteSettingsCategory {
|
||||
int LOCAL_NETWORK_ACCESS = 35;
|
||||
@@ -125,7 +125,7 @@ public class SiteSettingsCategory {
|
||||
int WINDOW_MANAGEMENT = 36;
|
||||
|
||||
/** Number of handled categories used for calculating array sizes. */
|
||||
- int NUM_ENTRIES = 36;
|
||||
+ int NUM_ENTRIES_CHROMIUM = 36;
|
||||
- int NUM_ENTRIES = 37;
|
||||
+ int NUM_ENTRIES_CHROMIUM = 37;
|
||||
}
|
||||
|
||||
private final BrowserContextHandle mBrowserContextHandle;
|
||||
@@ -174,6 +174,9 @@ public class SiteSettingsCategory {
|
||||
@@ -176,6 +176,9 @@ public class SiteSettingsCategory {
|
||||
} else {
|
||||
permission = "";
|
||||
}
|
||||
@@ -2650,7 +2660,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
|
||||
return new SiteSettingsCategory(browserContextHandle, type, permission);
|
||||
}
|
||||
|
||||
@@ -182,7 +185,7 @@ public class SiteSettingsCategory {
|
||||
@@ -184,7 +187,7 @@ public class SiteSettingsCategory {
|
||||
@ContentSettingsType.EnumType int contentSettingsType) {
|
||||
assert contentSettingsType != -1;
|
||||
assert Type.ALL_SITES == 0;
|
||||
@@ -2659,7 +2669,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
|
||||
if (contentSettingsType(i) == contentSettingsType) {
|
||||
return createFromType(browserContextHandle, i);
|
||||
}
|
||||
@@ -193,7 +196,7 @@ public class SiteSettingsCategory {
|
||||
@@ -195,7 +198,7 @@ public class SiteSettingsCategory {
|
||||
public static @Nullable SiteSettingsCategory createFromPreferenceKey(
|
||||
BrowserContextHandle browserContextHandle, String preferenceKey) {
|
||||
assert Type.ALL_SITES == 0;
|
||||
@@ -2668,7 +2678,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
|
||||
if (preferenceKey(i).equals(preferenceKey)) {
|
||||
return createFromType(browserContextHandle, i);
|
||||
}
|
||||
@@ -274,8 +277,7 @@ public class SiteSettingsCategory {
|
||||
@@ -278,8 +281,7 @@ public class SiteSettingsCategory {
|
||||
case Type.TRACKING_PROTECTION:
|
||||
return ContentSettingsType.DEFAULT; // Conversion unavailable.
|
||||
}
|
||||
@@ -2678,7 +2688,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -372,8 +374,12 @@ public class SiteSettingsCategory {
|
||||
@@ -378,8 +380,12 @@ public class SiteSettingsCategory {
|
||||
case Type.ZOOM:
|
||||
return "zoom";
|
||||
default:
|
||||
@@ -2694,7 +2704,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
|
||||
@@ -203,6 +203,8 @@ public interface SiteSettingsDelegate {
|
||||
@@ -208,6 +208,8 @@ public interface SiteSettingsDelegate {
|
||||
*/
|
||||
String getRelatedWebsiteSetOwner(String memberOrigin);
|
||||
|
||||
@@ -2769,19 +2779,19 @@ 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
|
||||
@@ -115,7 +115,7 @@ public class WebsitePermissionsFetcher {
|
||||
case ContentSettingsType.USB_GUARD:
|
||||
return WebsitePermissionsType.CHOSEN_OBJECT_INFO;
|
||||
@@ -124,7 +124,7 @@ public class WebsitePermissionsFetcher {
|
||||
}
|
||||
break;
|
||||
default:
|
||||
- return null;
|
||||
+ return BromiteCustomContentSettingImpl.getPermissionsType(contentSettingsType);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
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
|
||||
@@ -321,7 +321,7 @@ public class WebsitePreferenceBridge {
|
||||
@@ -317,7 +317,7 @@ public class WebsitePreferenceBridge {
|
||||
case ContentSettingsType.PROTECTED_MEDIA_IDENTIFIER:
|
||||
return true;
|
||||
default:
|
||||
@@ -2790,7 +2800,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
|
||||
}
|
||||
}
|
||||
|
||||
@@ -337,7 +337,6 @@ public class WebsitePreferenceBridge {
|
||||
@@ -333,7 +333,6 @@ public class WebsitePreferenceBridge {
|
||||
public static boolean isCategoryEnabled(
|
||||
BrowserContextHandle browserContextHandle,
|
||||
@ContentSettingsType.EnumType int contentSettingsType) {
|
||||
@@ -2877,7 +2887,7 @@ diff --git a/components/content_settings/android/BUILD.gn b/components/content_s
|
||||
diff --git a/components/content_settings/core/browser/BUILD.gn b/components/content_settings/core/browser/BUILD.gn
|
||||
--- a/components/content_settings/core/browser/BUILD.gn
|
||||
+++ b/components/content_settings/core/browser/BUILD.gn
|
||||
@@ -77,6 +77,13 @@ static_library("browser") {
|
||||
@@ -83,6 +83,13 @@ static_library("browser") {
|
||||
}
|
||||
|
||||
configs += [ "//build/config/compiler:wexit_time_destructors" ]
|
||||
@@ -2900,7 +2910,7 @@ new file mode 100644
|
||||
diff --git a/components/content_settings/core/browser/content_settings_registry.cc b/components/content_settings/core/browser/content_settings_registry.cc
|
||||
--- a/components/content_settings/core/browser/content_settings_registry.cc
|
||||
+++ b/components/content_settings/core/browser/content_settings_registry.cc
|
||||
@@ -16,6 +16,7 @@
|
||||
@@ -19,6 +19,7 @@
|
||||
#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/features.h"
|
||||
@@ -2908,10 +2918,10 @@ diff --git a/components/content_settings/core/browser/content_settings_registry.
|
||||
|
||||
namespace content_settings {
|
||||
|
||||
@@ -864,6 +865,7 @@ void ContentSettingsRegistry::Init() {
|
||||
WebsiteSettingsRegistry::PLATFORM_ANDROID,
|
||||
ContentSettingsInfo::INHERIT_IF_LESS_PERMISSIVE,
|
||||
ContentSettingsInfo::EXCEPTIONS_ON_SECURE_ORIGINS_ONLY);
|
||||
@@ -872,6 +873,7 @@ void ContentSettingsRegistry::Init() {
|
||||
WebsiteSettingsRegistry::PLATFORM_CHROMEOS,
|
||||
ContentSettingsInfo::INHERIT_IN_INCOGNITO,
|
||||
PermissionSettingsInfo::EXCEPTIONS_ON_SECURE_ORIGINS_ONLY);
|
||||
+#include "components/content_settings/core/browser/bromite_content_settings.inc"
|
||||
}
|
||||
|
||||
@@ -2919,7 +2929,7 @@ diff --git a/components/content_settings/core/browser/content_settings_registry.
|
||||
diff --git a/components/content_settings/core/browser/content_settings_uma_util.cc b/components/content_settings/core/browser/content_settings_uma_util.cc
|
||||
--- a/components/content_settings/core/browser/content_settings_uma_util.cc
|
||||
+++ b/components/content_settings/core/browser/content_settings_uma_util.cc
|
||||
@@ -222,11 +222,7 @@ void RecordContentSettingsHistogram(const std::string& name,
|
||||
@@ -224,11 +224,7 @@ void RecordContentSettingsHistogram(const std::string& name,
|
||||
}
|
||||
|
||||
int ContentSettingTypeToHistogramValue(ContentSettingsType content_setting) {
|
||||
@@ -2935,15 +2945,15 @@ diff --git a/components/content_settings/core/browser/content_settings_uma_util.
|
||||
diff --git a/components/content_settings/core/browser/content_settings_utils.cc b/components/content_settings/core/browser/content_settings_utils.cc
|
||||
--- a/components/content_settings/core/browser/content_settings_utils.cc
|
||||
+++ b/components/content_settings/core/browser/content_settings_utils.cc
|
||||
@@ -16,6 +16,7 @@
|
||||
#include "build/build_config.h"
|
||||
#include "components/content_settings/core/browser/content_settings_registry.h"
|
||||
#include "components/content_settings/core/browser/host_content_settings_map.h"
|
||||
@@ -19,6 +19,7 @@
|
||||
#include "components/content_settings/core/browser/permission_settings_info.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/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/content_settings/core/common/content_settings_utils.h"
|
||||
@@ -125,6 +126,17 @@ PatternPair ParsePatternString(const std::string& pattern_str) {
|
||||
@@ -133,6 +134,17 @@ PatternPair ParsePatternString(const std::string& pattern_str) {
|
||||
|
||||
void GetRendererContentSettingRules(const HostContentSettingsMap* map,
|
||||
RendererContentSettingRules* rules) {
|
||||
@@ -3060,7 +3070,7 @@ diff --git a/components/content_settings/core/common/BUILD.gn b/components/conte
|
||||
}
|
||||
|
||||
source_set("unit_tests") {
|
||||
@@ -91,6 +98,7 @@ mojom("content_settings_types") {
|
||||
@@ -90,6 +97,7 @@ mojom("content_settings_types") {
|
||||
sources = [ "content_settings_types.mojom" ]
|
||||
|
||||
public_deps = [ "//mojo/public/mojom/base" ]
|
||||
@@ -3077,11 +3087,12 @@ new file mode 100644
|
||||
diff --git a/components/content_settings/core/common/content_settings.cc b/components/content_settings/core/common/content_settings.cc
|
||||
--- a/components/content_settings/core/common/content_settings.cc
|
||||
+++ b/components/content_settings/core/common/content_settings.cc
|
||||
@@ -16,10 +16,11 @@
|
||||
@@ -18,11 +18,12 @@
|
||||
#include "components/content_settings/core/common/content_settings_metadata.h"
|
||||
#include "components/content_settings/core/common/content_settings_types.h"
|
||||
#include "components/content_settings/core/common/content_settings_utils.h"
|
||||
+#include "components/content_settings/core/browser/website_settings_registry.h"
|
||||
#include "third_party/abseil-cpp/absl/functional/overload.h"
|
||||
|
||||
namespace {
|
||||
|
||||
@@ -3090,7 +3101,7 @@ diff --git a/components/content_settings/core/common/content_settings.cc b/compo
|
||||
const GURL& primary_url) {
|
||||
std::erase_if(settings,
|
||||
[&primary_url](const ContentSettingPatternSource& source) {
|
||||
@@ -98,6 +99,13 @@ std::ostream& operator<<(std::ostream& os,
|
||||
@@ -106,6 +107,13 @@ std::ostream& operator<<(std::ostream& os,
|
||||
// static
|
||||
bool RendererContentSettingRules::IsRendererContentSetting(
|
||||
ContentSettingsType content_type) {
|
||||
@@ -3104,7 +3115,7 @@ diff --git a/components/content_settings/core/common/content_settings.cc b/compo
|
||||
return content_type == ContentSettingsType::IMAGES ||
|
||||
content_type == ContentSettingsType::JAVASCRIPT ||
|
||||
content_type == ContentSettingsType::POPUPS ||
|
||||
@@ -107,7 +115,10 @@ bool RendererContentSettingRules::IsRendererContentSetting(
|
||||
@@ -115,7 +123,10 @@ bool RendererContentSettingRules::IsRendererContentSetting(
|
||||
|
||||
void RendererContentSettingRules::FilterRulesByOutermostMainFrameURL(
|
||||
const GURL& outermost_main_frame_url) {
|
||||
@@ -3116,7 +3127,7 @@ diff --git a/components/content_settings/core/common/content_settings.cc b/compo
|
||||
}
|
||||
|
||||
RendererContentSettingRules::RendererContentSettingRules() = default;
|
||||
@@ -127,7 +138,20 @@ RendererContentSettingRules& RendererContentSettingRules::operator=(
|
||||
@@ -135,7 +146,20 @@ RendererContentSettingRules& RendererContentSettingRules::operator=(
|
||||
RendererContentSettingRules&& rules) = default;
|
||||
|
||||
bool RendererContentSettingRules::operator==(
|
||||
@@ -3141,7 +3152,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
|
||||
@@ -74,10 +74,22 @@ std::ostream& operator<<(std::ostream& os,
|
||||
@@ -100,10 +100,22 @@ std::ostream& operator<<(std::ostream& os,
|
||||
|
||||
typedef std::vector<ContentSettingPatternSource> ContentSettingsForOneType;
|
||||
|
||||
@@ -3167,7 +3178,7 @@ diff --git a/components/content_settings/core/common/content_settings.h b/compon
|
||||
diff --git a/components/content_settings/core/common/content_settings.mojom b/components/content_settings/core/common/content_settings.mojom
|
||||
--- a/components/content_settings/core/common/content_settings.mojom
|
||||
+++ b/components/content_settings/core/common/content_settings.mojom
|
||||
@@ -74,6 +74,11 @@ struct RuleMetaData {
|
||||
@@ -73,6 +73,11 @@ struct RuleMetaData {
|
||||
mojo_base.mojom.Value rule_options;
|
||||
};
|
||||
|
||||
@@ -3179,7 +3190,7 @@ diff --git a/components/content_settings/core/common/content_settings.mojom b/co
|
||||
// This mirrors the C++ type in content_settings.h.
|
||||
struct ContentSettingPatternSource {
|
||||
ContentSettingsPattern primary_pattern;
|
||||
@@ -87,5 +92,6 @@ struct ContentSettingPatternSource {
|
||||
@@ -86,5 +91,6 @@ struct ContentSettingPatternSource {
|
||||
// This mirrors the C++ type in content_settings.h.
|
||||
// TODO(crbug.com/40282541): This should be removed.
|
||||
struct RendererContentSettingRules {
|
||||
@@ -3189,7 +3200,7 @@ diff --git a/components/content_settings/core/common/content_settings.mojom b/co
|
||||
diff --git a/components/content_settings/core/common/content_settings_mojom_traits.cc b/components/content_settings/core/common/content_settings_mojom_traits.cc
|
||||
--- a/components/content_settings/core/common/content_settings_mojom_traits.cc
|
||||
+++ b/components/content_settings/core/common/content_settings_mojom_traits.cc
|
||||
@@ -120,12 +120,22 @@ bool StructTraits<content_settings::mojom::ContentSettingPatternSourceDataView,
|
||||
@@ -115,12 +115,22 @@ bool StructTraits<content_settings::mojom::ContentSettingPatternSourceDataView,
|
||||
data.ReadMetadata(&out->metadata) && data.ReadSource(&out->source);
|
||||
}
|
||||
|
||||
@@ -3254,10 +3265,10 @@ diff --git a/components/content_settings/core/common/content_settings_mojom_trai
|
||||
diff --git a/components/content_settings/core/common/content_settings_types.mojom b/components/content_settings/core/common/content_settings_types.mojom
|
||||
--- a/components/content_settings/core/common/content_settings_types.mojom
|
||||
+++ b/components/content_settings/core/common/content_settings_types.mojom
|
||||
@@ -491,5 +491,6 @@ enum ContentSettingsType {
|
||||
// site. Used for recovering notification contents from the database if the
|
||||
// user decides they would like to see all of these notifications.
|
||||
SUSPICIOUS_NOTIFICATION_IDS,
|
||||
@@ -498,5 +498,6 @@ enum ContentSettingsType {
|
||||
// Setting for enabling the Device Attributes API. Spec link:
|
||||
// https://wicg.github.io/WebApiDevice/device_attributes/
|
||||
DEVICE_ATTRIBUTES,
|
||||
+#include "components/content_settings/core/common/bromite_content_settings.inc"
|
||||
};
|
||||
// LINT.ThenChange(//components/content_settings/core/browser/content_settings_uma_util.cc:kHistogramValue)
|
||||
@@ -3419,7 +3430,7 @@ diff --git a/components/page_info/android/page_info_controller_android.cc b/comp
|
||||
#include "components/content_settings/core/common/content_settings.h"
|
||||
#include "components/content_settings/core/common/content_settings_types.h"
|
||||
#include "components/page_info/android/page_info_client.h"
|
||||
@@ -169,6 +170,15 @@ void PageInfoControllerAndroid::SetPermissionInfo(
|
||||
@@ -184,6 +185,15 @@ void PageInfoControllerAndroid::SetPermissionInfo(
|
||||
permissions_to_display.push_back(ContentSettingsType::LOCAL_NETWORK_ACCESS);
|
||||
}
|
||||
|
||||
@@ -3435,7 +3446,7 @@ diff --git a/components/page_info/android/page_info_controller_android.cc b/comp
|
||||
std::map<ContentSettingsType, ContentSetting>
|
||||
user_specified_settings_to_display;
|
||||
std::map<ContentSettingsType, bool>
|
||||
@@ -228,6 +238,14 @@ std::optional<ContentSetting> PageInfoControllerAndroid::GetSettingToDisplay(
|
||||
@@ -243,6 +253,14 @@ std::optional<ContentSetting> PageInfoControllerAndroid::GetSettingToDisplay(
|
||||
return permission.setting;
|
||||
}
|
||||
|
||||
@@ -3461,7 +3472,7 @@ 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"
|
||||
@@ -1314,6 +1315,14 @@ void PageInfo::PopulatePermissionInfo(PermissionInfo& permission_info,
|
||||
@@ -1317,6 +1318,14 @@ void PageInfo::PopulatePermissionInfo(PermissionInfo& permission_info,
|
||||
// applies to permissions listed in |kPermissionType|.
|
||||
bool PageInfo::ShouldShowPermission(
|
||||
const PageInfo::PermissionInfo& info) const {
|
||||
@@ -3476,7 +3487,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) {
|
||||
@@ -1430,7 +1439,19 @@ void PageInfo::PresentSitePermissions() {
|
||||
@@ -1433,7 +1442,19 @@ void PageInfo::PresentSitePermissions() {
|
||||
|
||||
HostContentSettingsMap* content_settings = GetContentSettings();
|
||||
DCHECK(web_contents_);
|
||||
@@ -3508,7 +3519,7 @@ diff --git a/components/page_info/page_info_ui.cc b/components/page_info/page_in
|
||||
#include "components/page_info/core/features.h"
|
||||
#include "components/page_info/page_info.h"
|
||||
#include "components/page_info/page_info_ui_delegate.h"
|
||||
@@ -333,6 +334,13 @@ void CreateOppositeToDefaultSiteException(
|
||||
@@ -317,6 +318,13 @@ void CreateOppositeToDefaultSiteException(
|
||||
std::u16string GetPermissionAskStateString(ContentSettingsType type) {
|
||||
int message_id = kInvalidResourceID;
|
||||
|
||||
@@ -3522,7 +3533,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;
|
||||
@@ -626,6 +634,12 @@ PageInfoUI::~PageInfoUI() = default;
|
||||
@@ -615,6 +623,12 @@ PageInfoUI::~PageInfoUI() = default;
|
||||
|
||||
// static
|
||||
std::u16string PageInfoUI::PermissionTypeToUIString(ContentSettingsType type) {
|
||||
@@ -3535,7 +3546,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);
|
||||
@@ -636,6 +650,12 @@ std::u16string PageInfoUI::PermissionTypeToUIString(ContentSettingsType type) {
|
||||
@@ -625,6 +639,12 @@ std::u16string PageInfoUI::PermissionTypeToUIString(ContentSettingsType type) {
|
||||
// static
|
||||
std::u16string PageInfoUI::PermissionTypeToUIStringMidSentence(
|
||||
ContentSettingsType type) {
|
||||
@@ -3548,7 +3559,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);
|
||||
@@ -1077,6 +1097,11 @@ bool PageInfoUI::ContentSettingsTypeInPageInfo(ContentSettingsType type) {
|
||||
@@ -1051,6 +1071,11 @@ bool PageInfoUI::ContentSettingsTypeInPageInfo(ContentSettingsType type) {
|
||||
if (info.type == type)
|
||||
return true;
|
||||
}
|
||||
@@ -3629,7 +3640,7 @@ diff --git a/third_party/blink/renderer/core/execution_context/execution_context
|
||||
diff --git a/third_party/blink/renderer/core/execution_context/execution_context.h b/third_party/blink/renderer/core/execution_context/execution_context.h
|
||||
--- a/third_party/blink/renderer/core/execution_context/execution_context.h
|
||||
+++ b/third_party/blink/renderer/core/execution_context/execution_context.h
|
||||
@@ -43,6 +43,7 @@
|
||||
@@ -42,6 +42,7 @@
|
||||
#include "third_party/blink/public/mojom/frame/lifecycle.mojom-blink-forward.h"
|
||||
#include "third_party/blink/public/mojom/permissions_policy/policy_disposition.mojom-blink-forward.h"
|
||||
#include "third_party/blink/public/mojom/v8_cache_options.mojom-blink-forward.h"
|
||||
@@ -3637,7 +3648,7 @@ diff --git a/third_party/blink/renderer/core/execution_context/execution_context
|
||||
#include "third_party/blink/renderer/bindings/core/v8/sanitize_script_errors.h"
|
||||
#include "third_party/blink/renderer/core/core_export.h"
|
||||
#include "third_party/blink/renderer/core/execution_context/security_context.h"
|
||||
@@ -102,6 +103,10 @@ class SecurityOrigin;
|
||||
@@ -101,6 +102,10 @@ class SecurityOrigin;
|
||||
class ScriptState;
|
||||
class ScriptWrappable;
|
||||
class TrustedTypePolicyFactory;
|
||||
|
||||
@@ -11,7 +11,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
||||
.../browser/aw_browser_main_parts.cc | 7 +++
|
||||
.../component_updater/registration.cc | 12 +++--
|
||||
.../nonembedded/webview_apk_application.cc | 2 +-
|
||||
.../nonembedded/webview_apk_process.cc | 19 +++++---
|
||||
.../nonembedded/webview_apk_process.cc | 20 +++++---
|
||||
.../nonembedded/webview_apk_process.h | 4 +-
|
||||
.../browser/component_updater/registration.cc | 2 +
|
||||
.../component_updater/component_installer.cc | 48 +++++++++++--------
|
||||
@@ -19,7 +19,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
||||
.../component_updater_url_constants.cc | 4 +-
|
||||
.../component_updater/configurator_impl.cc | 8 +---
|
||||
.../component_updater/configurator_impl.h | 2 -
|
||||
components/crx_file/crx_build_action_main.cc | 11 +++--
|
||||
components/crx_file/crx_build_action_main.cc | 10 +++-
|
||||
components/crx_file/crx_verifier.cc | 16 +++++++
|
||||
components/update_client/component.cc | 12 +++++
|
||||
components/update_client/crx_downloader.cc | 5 ++
|
||||
@@ -59,7 +59,7 @@ diff --git a/android_webview/browser/aw_browser_main_parts.cc b/android_webview/
|
||||
diff --git a/android_webview/nonembedded/component_updater/registration.cc b/android_webview/nonembedded/component_updater/registration.cc
|
||||
--- a/android_webview/nonembedded/component_updater/registration.cc
|
||||
+++ b/android_webview/nonembedded/component_updater/registration.cc
|
||||
@@ -40,6 +40,9 @@ void RegisterComponentsForUpdate(
|
||||
@@ -39,6 +39,9 @@ void RegisterComponentsForUpdate(
|
||||
std::vector<std::unique_ptr<component_updater::ComponentInstallerPolicy>>
|
||||
component_installer_list;
|
||||
|
||||
@@ -69,7 +69,7 @@ diff --git a/android_webview/nonembedded/component_updater/registration.cc b/and
|
||||
component_installer_list.push_back(
|
||||
std::make_unique<
|
||||
component_updater::OriginTrialsComponentInstallerPolicy>());
|
||||
@@ -111,14 +114,17 @@ void RegisterComponentsForUpdate(
|
||||
@@ -96,14 +99,17 @@ void RegisterComponentsForUpdate(
|
||||
}
|
||||
|
||||
base::RepeatingClosure barrier_closure = base::BarrierClosure(
|
||||
@@ -93,7 +93,7 @@ diff --git a/android_webview/nonembedded/component_updater/registration.cc b/and
|
||||
diff --git a/android_webview/nonembedded/webview_apk_application.cc b/android_webview/nonembedded/webview_apk_application.cc
|
||||
--- a/android_webview/nonembedded/webview_apk_application.cc
|
||||
+++ b/android_webview/nonembedded/webview_apk_application.cc
|
||||
@@ -15,7 +15,7 @@ namespace android_webview {
|
||||
@@ -14,7 +14,7 @@ namespace android_webview {
|
||||
|
||||
void JNI_WebViewApkApplication_InitializeGlobalsAndResources(JNIEnv* env) {
|
||||
InitIcuAndResourceBundleBrowserSide();
|
||||
@@ -105,7 +105,7 @@ diff --git a/android_webview/nonembedded/webview_apk_application.cc b/android_we
|
||||
diff --git a/android_webview/nonembedded/webview_apk_process.cc b/android_webview/nonembedded/webview_apk_process.cc
|
||||
--- a/android_webview/nonembedded/webview_apk_process.cc
|
||||
+++ b/android_webview/nonembedded/webview_apk_process.cc
|
||||
@@ -34,27 +34,34 @@ WebViewApkProcess* WebViewApkProcess::GetInstance() {
|
||||
@@ -36,30 +36,36 @@ WebViewApkProcess* WebViewApkProcess::GetInstance() {
|
||||
|
||||
// static
|
||||
// Must be called exactly once during the process startup.
|
||||
@@ -133,16 +133,19 @@ diff --git a/android_webview/nonembedded/webview_apk_process.cc b/android_webvie
|
||||
// `base::MessagePumpType::JAVA` so that the `SingleThreadExecutor` will bind
|
||||
// to the java thread the `WebViewApkProcess` is created on.
|
||||
- main_task_executor_ = std::make_unique<base::SingleThreadTaskExecutor>(
|
||||
- base::MessagePumpType::JAVA);
|
||||
+ if (!embedded) {
|
||||
+ main_task_executor_ = std::make_unique<base::SingleThreadTaskExecutor>(
|
||||
base::MessagePumpType::JAVA);
|
||||
+ base::MessagePumpType::JAVA);
|
||||
+ }
|
||||
+
|
||||
// WebView is not compatible with new compression protocols.
|
||||
base::CommandLine::ForCurrentProcess()->AppendSwitch(
|
||||
update_client::switches::kComponentUpdaterCompatProtocols);
|
||||
|
||||
- RegisterPathProvider();
|
||||
+ if (!embedded) {
|
||||
+ RegisterPathProvider();
|
||||
+ }
|
||||
|
||||
- RegisterPathProvider();
|
||||
component_updater::RegisterPathProvider(
|
||||
/*components_system_root_key=*/android_webview::DIR_COMPONENTS_ROOT,
|
||||
/*components_system_root_key_alt=*/android_webview::DIR_COMPONENTS_ROOT,
|
||||
@@ -168,7 +171,7 @@ diff --git a/android_webview/nonembedded/webview_apk_process.h b/android_webview
|
||||
diff --git a/chrome/browser/component_updater/registration.cc b/chrome/browser/component_updater/registration.cc
|
||||
--- a/chrome/browser/component_updater/registration.cc
|
||||
+++ b/chrome/browser/component_updater/registration.cc
|
||||
@@ -122,6 +122,8 @@ namespace component_updater {
|
||||
@@ -120,6 +120,8 @@ namespace component_updater {
|
||||
void RegisterComponentsForUpdate() {
|
||||
auto* const cus = g_browser_process->component_updater();
|
||||
|
||||
@@ -443,29 +446,28 @@ diff --git a/components/component_updater/configurator_impl.h b/components/compo
|
||||
diff --git a/components/crx_file/crx_build_action_main.cc b/components/crx_file/crx_build_action_main.cc
|
||||
--- a/components/crx_file/crx_build_action_main.cc
|
||||
+++ b/components/crx_file/crx_build_action_main.cc
|
||||
@@ -14,6 +14,7 @@
|
||||
@@ -9,6 +9,7 @@
|
||||
#include "base/files/file_path.h"
|
||||
#include "base/files/file_util.h"
|
||||
#include "base/logging.h"
|
||||
+#include "base/strings/string_number_conversions.h"
|
||||
#include "components/crx_file/crx_creator.h"
|
||||
#include "crypto/rsa_private_key.h"
|
||||
#include "crypto/keypair.h"
|
||||
|
||||
@@ -30,9 +31,13 @@ int main(int argc, char* argv[]) {
|
||||
@@ -30,8 +31,13 @@ int main(int argc, char** raw_argv) {
|
||||
VLOG(0) << "Failed to read key material from " << argv[3];
|
||||
return -1;
|
||||
}
|
||||
+ auto signing_key = crypto::RSAPrivateKey::CreateFromPrivateKeyInfo(
|
||||
+ std::vector<uint8_t>(key_file.begin(), key_file.end()));
|
||||
+ base::as_byte_span(key_file));
|
||||
+ std::vector<uint8_t> public_key;
|
||||
+ signing_key->ExportPublicKey(&public_key);
|
||||
+ VLOG(0) << "Pubkey: " << base::HexEncode(public_key);
|
||||
+
|
||||
return static_cast<int>(crx_file::Create(
|
||||
base::FilePath::FromASCII(argv[1]), base::FilePath::FromASCII(argv[2]),
|
||||
- crypto::RSAPrivateKey::CreateFromPrivateKeyInfo(
|
||||
- std::vector<uint8_t>(key_file.begin(), key_file.end()))
|
||||
- .get()));
|
||||
- *crypto::keypair::PrivateKey::FromPrivateKeyInfo(
|
||||
- base::as_byte_span(key_file))));
|
||||
+ signing_key.get()));
|
||||
}
|
||||
diff --git a/components/crx_file/crx_verifier.cc b/components/crx_file/crx_verifier.cc
|
||||
|
||||
@@ -9,27 +9,29 @@ PartitionNelAndReportingByNetworkIsolationKey, kSplitCacheByNavigationInitiator
|
||||
|
||||
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
---
|
||||
.../browser/net/profile_network_context_service.cc | 2 +-
|
||||
.../browser/net/profile_network_context_service.cc | 4 ++--
|
||||
.../Enable-network-isolation-features.inc | 9 +++++++++
|
||||
.../Enable-network-isolation-features.inc | 1 +
|
||||
net/http/http_cache.cc | 14 +++++++++-----
|
||||
net/http/http_cache.h | 2 +-
|
||||
5 files changed, 21 insertions(+), 7 deletions(-)
|
||||
5 files changed, 22 insertions(+), 8 deletions(-)
|
||||
create mode 100644 cromite_flags/net/base/features_cc/Enable-network-isolation-features.inc
|
||||
create mode 100644 cromite_flags/services/network/public/cpp/features_cc/Enable-network-isolation-features.inc
|
||||
|
||||
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
|
||||
@@ -1285,7 +1285,7 @@ bool GetHttpCacheBackendResetParam(PrefService* local_state) {
|
||||
field_trial = base::FeatureList::GetFieldTrial(
|
||||
net::features::kSplitCacheByIncludeCredentials);
|
||||
current_field_trial_status +=
|
||||
- (field_trial ? field_trial->group_name() : "None");
|
||||
+ (field_trial ? field_trial->group_name() : "EnableFeatureForTests");
|
||||
@@ -467,8 +467,8 @@ bool GetHttpCacheBackendResetParam(PrefService* local_state) {
|
||||
experiment_parts.push_back(kDiskCacheExperimentNameNone);
|
||||
// SplitCacheByIncludeCredentials experiment:
|
||||
experiment_parts.push_back(credentials_field_trial
|
||||
- ? credentials_field_trial->group_name()
|
||||
- : kDiskCacheExperimentNameNone);
|
||||
+ ? "EnableFeatureForTests"
|
||||
+ : "EnableFeatureForTests");
|
||||
|
||||
if (disk_cache::InBackendExperiment()) {
|
||||
if (disk_cache::InSimpleBackendExperimentGroup()) {
|
||||
// Add the disk cache backend experiment group if active.
|
||||
std::string_view backend_experiment = GetDiskCacheBackendExperimentString();
|
||||
diff --git a/cromite_flags/net/base/features_cc/Enable-network-isolation-features.inc b/cromite_flags/net/base/features_cc/Enable-network-isolation-features.inc
|
||||
new file mode 100644
|
||||
--- /dev/null
|
||||
@@ -53,7 +55,7 @@ new file mode 100644
|
||||
diff --git a/net/http/http_cache.cc b/net/http/http_cache.cc
|
||||
--- a/net/http/http_cache.cc
|
||||
+++ b/net/http/http_cache.cc
|
||||
@@ -652,7 +652,7 @@ bool HttpCache::CanGenerateCacheKeyForRequest(const HttpRequestInfo* request) {
|
||||
@@ -671,7 +671,7 @@ bool HttpCache::CanGenerateCacheKeyForRequest(const HttpRequestInfo* request) {
|
||||
|
||||
// static
|
||||
// Generate a key that can be used inside the cache.
|
||||
@@ -62,7 +64,7 @@ diff --git a/net/http/http_cache.cc b/net/http/http_cache.cc
|
||||
const GURL& url,
|
||||
int load_flags,
|
||||
const NetworkIsolationKey& network_isolation_key,
|
||||
@@ -690,8 +690,8 @@ std::string HttpCache::GenerateCacheKey(
|
||||
@@ -709,8 +709,8 @@ std::string HttpCache::GenerateCacheKey(
|
||||
const bool is_initiator_cross_site =
|
||||
!net::SchemefulSite::IsSameSite(*initiator, url::Origin::Create(url));
|
||||
if (is_initiator_cross_site) {
|
||||
@@ -73,7 +75,7 @@ diff --git a/net/http/http_cache.cc b/net/http/http_cache.cc
|
||||
}
|
||||
}
|
||||
isolation_key = base::StrCat(
|
||||
@@ -706,9 +706,11 @@ std::string HttpCache::GenerateCacheKey(
|
||||
@@ -725,9 +725,11 @@ std::string HttpCache::GenerateCacheKey(
|
||||
// Strip out the reference, username, and password sections of the URL and
|
||||
// concatenate with the credential_key, the post_key, and the network
|
||||
// isolation key if we are splitting the cache.
|
||||
@@ -86,7 +88,7 @@ diff --git a/net/http/http_cache.cc b/net/http/http_cache.cc
|
||||
}
|
||||
|
||||
// static
|
||||
@@ -731,11 +733,13 @@ HttpCache::GenerateCacheKeyForRequestWithAlternateURL(
|
||||
@@ -750,11 +752,13 @@ HttpCache::GenerateCacheKeyForRequestWithAlternateURL(
|
||||
const int64_t upload_data_identifier =
|
||||
request->upload_data_stream ? request->upload_data_stream->identifier()
|
||||
: int64_t(0);
|
||||
|
||||
@@ -40,7 +40,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
chrome/browser/profiles/profile_manager.cc | 11 +
|
||||
chrome/browser/profiles/renderer_updater.cc | 19 +-
|
||||
chrome/browser/profiles/renderer_updater.h | 3 +
|
||||
.../browser/ui/webui/chrome_web_ui_configs.cc | 6 +
|
||||
.../browser/ui/webui/chrome_web_ui_configs.cc | 7 +-
|
||||
chrome/chrome_paks.gni | 2 +
|
||||
chrome/common/renderer_configuration.mojom | 1 +
|
||||
chrome/renderer/BUILD.gn | 6 +
|
||||
@@ -135,11 +135,10 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
.../renderer/web_ui_injection_host.cc | 40 +
|
||||
.../renderer/web_ui_injection_host.h | 31 +
|
||||
.../strings/userscripts_strings.grdp | 54 ++
|
||||
content/common/features.gni | 2 +-
|
||||
.../Experimental-user-scripts-support.inc | 13 +
|
||||
ipc/ipc_message_start.h | 1 +
|
||||
tools/gritsettings/resource_ids.spec | 6 +
|
||||
112 files changed, 10380 insertions(+), 3 deletions(-)
|
||||
111 files changed, 10379 insertions(+), 3 deletions(-)
|
||||
create mode 100644 components/user_scripts/README.md
|
||||
create mode 100755 components/user_scripts/android/BUILD.gn
|
||||
create mode 100644 components/user_scripts/android/java/res/layout/accept_script_item.xml
|
||||
@@ -233,7 +232,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
|
||||
--- a/chrome/android/BUILD.gn
|
||||
+++ b/chrome/android/BUILD.gn
|
||||
@@ -200,7 +200,11 @@ if (_is_default_toolchain) {
|
||||
@@ -191,7 +191,11 @@ if (_is_default_toolchain) {
|
||||
sources = chrome_java_resources
|
||||
sources += [ "//chrome/android/java/res_app/layout/main.xml" ]
|
||||
|
||||
@@ -246,7 +245,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
|
||||
":chrome_base_module_resources",
|
||||
":ui_locale_string_resources",
|
||||
"//chrome/android/webapk/libs/common:splash_resources",
|
||||
@@ -704,6 +708,7 @@ if (_is_default_toolchain) {
|
||||
@@ -701,6 +705,7 @@ if (_is_default_toolchain) {
|
||||
"//components/ukm/android:java",
|
||||
"//components/url_formatter/android:url_formatter_java",
|
||||
"//components/user_prefs/android:java",
|
||||
@@ -254,7 +253,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
|
||||
"//components/variations:variations_java",
|
||||
"//components/variations/android:variations_java",
|
||||
"//components/viz/service:service_java",
|
||||
@@ -1668,6 +1673,7 @@ if (_is_default_toolchain) {
|
||||
@@ -1687,6 +1692,7 @@ if (_is_default_toolchain) {
|
||||
java_group("chrome_public_non_pak_assets") {
|
||||
deps = [
|
||||
"//chrome/android/webapk/libs/runtime_library:runtime_library_assets",
|
||||
@@ -265,7 +264,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
|
||||
diff --git a/chrome/android/java/res/xml/main_preferences.xml b/chrome/android/java/res/xml/main_preferences.xml
|
||||
--- a/chrome/android/java/res/xml/main_preferences.xml
|
||||
+++ b/chrome/android/java/res/xml/main_preferences.xml
|
||||
@@ -154,6 +154,11 @@ for the previous order (main_preferences_legacy). -->
|
||||
@@ -153,6 +153,11 @@ for the previous order (main_preferences_legacy). -->
|
||||
android:key="useragent_settings"
|
||||
android:order="20"
|
||||
android:title="@string/prefs_useragent_settings"/>
|
||||
@@ -280,7 +279,7 @@ diff --git a/chrome/android/java/res/xml/main_preferences.xml b/chrome/android/j
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/download/DownloadUtils.java b/chrome/android/java/src/org/chromium/chrome/browser/download/DownloadUtils.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/download/DownloadUtils.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/download/DownloadUtils.java
|
||||
@@ -76,6 +76,7 @@ import org.chromium.ui.base.DeviceFormFactor;
|
||||
@@ -80,6 +80,7 @@ import org.chromium.ui.base.DeviceFormFactor;
|
||||
import org.chromium.ui.base.MimeTypeUtils;
|
||||
import org.chromium.ui.widget.Toast;
|
||||
import org.chromium.url.GURL;
|
||||
@@ -288,7 +287,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/download/Downlo
|
||||
|
||||
import java.io.File;
|
||||
|
||||
@@ -440,6 +441,11 @@ public class DownloadUtils {
|
||||
@@ -451,6 +452,11 @@ public class DownloadUtils {
|
||||
String referrer,
|
||||
@DownloadOpenSource int source,
|
||||
Context context) {
|
||||
@@ -341,7 +340,7 @@ diff --git a/chrome/android/java_sources.gni b/chrome/android/java_sources.gni
|
||||
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
|
||||
--- a/chrome/browser/BUILD.gn
|
||||
+++ b/chrome/browser/BUILD.gn
|
||||
@@ -3662,6 +3662,13 @@ static_library("browser") {
|
||||
@@ -3675,6 +3675,13 @@ static_library("browser") {
|
||||
]
|
||||
deps += [ "//chrome/android/modules/dev_ui/provider:native" ]
|
||||
}
|
||||
@@ -358,7 +357,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
|
||||
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
|
||||
--- a/chrome/browser/about_flags.cc
|
||||
+++ b/chrome/browser/about_flags.cc
|
||||
@@ -187,6 +187,7 @@
|
||||
@@ -186,6 +186,7 @@
|
||||
#include "components/ui_devtools/switches.h"
|
||||
#include "components/variations/variations_switches.h"
|
||||
#include "components/version_info/channel.h"
|
||||
@@ -369,15 +368,15 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
|
||||
diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browser_prefs.cc
|
||||
--- a/chrome/browser/prefs/browser_prefs.cc
|
||||
+++ b/chrome/browser/prefs/browser_prefs.cc
|
||||
@@ -280,6 +280,7 @@
|
||||
@@ -278,6 +278,7 @@
|
||||
#include "components/ntp_tiles/popular_sites_impl.h"
|
||||
#include "components/permissions/contexts/geolocation_permission_context_android.h"
|
||||
#include "components/webapps/browser/android/install_prompt_prefs.h"
|
||||
+#include "components/user_scripts/browser/user_script_prefs.h"
|
||||
#else // BUILDFLAG(IS_ANDROID)
|
||||
#include "chrome/browser/contextual_cueing/contextual_cueing_prefs.h"
|
||||
#include "chrome/browser/device_api/device_service_impl.h"
|
||||
@@ -2088,6 +2089,9 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry,
|
||||
#include "chrome/browser/gcm/gcm_product_util.h"
|
||||
@@ -2007,6 +2008,9 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry,
|
||||
registry);
|
||||
omnibox::RegisterProfilePrefs(registry);
|
||||
ZeroSuggestProvider::RegisterProfilePrefs(registry);
|
||||
@@ -390,7 +389,7 @@ diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browse
|
||||
diff --git a/chrome/browser/profiles/BUILD.gn b/chrome/browser/profiles/BUILD.gn
|
||||
--- a/chrome/browser/profiles/BUILD.gn
|
||||
+++ b/chrome/browser/profiles/BUILD.gn
|
||||
@@ -82,6 +82,9 @@ source_set("profile") {
|
||||
@@ -83,6 +83,9 @@ source_set("profile") {
|
||||
"//content/public/browser",
|
||||
"//extensions/buildflags",
|
||||
]
|
||||
@@ -403,7 +402,7 @@ diff --git a/chrome/browser/profiles/BUILD.gn b/chrome/browser/profiles/BUILD.gn
|
||||
diff --git a/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc b/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc
|
||||
--- a/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc
|
||||
+++ b/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc
|
||||
@@ -583,6 +583,10 @@
|
||||
@@ -590,6 +590,10 @@
|
||||
#include "chrome/browser/net/nss_service_factory.h"
|
||||
#endif
|
||||
|
||||
@@ -414,7 +413,7 @@ diff --git a/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc
|
||||
void AddProfilesExtraParts(ChromeBrowserMainParts* main_parts) {
|
||||
main_parts->AddParts(std::make_unique<ChromeBrowserMainExtraPartsProfiles>());
|
||||
}
|
||||
@@ -1415,6 +1419,9 @@ void ChromeBrowserMainExtraPartsProfiles::
|
||||
@@ -1430,6 +1434,9 @@ void ChromeBrowserMainExtraPartsProfiles::
|
||||
#endif
|
||||
WebDataServiceFactory::GetInstance();
|
||||
webrtc_event_logging::WebRtcEventLogManagerKeyedServiceFactory::GetInstance();
|
||||
@@ -516,7 +515,7 @@ diff --git a/chrome/browser/profiles/renderer_updater.h b/chrome/browser/profile
|
||||
diff --git a/chrome/browser/ui/webui/chrome_web_ui_configs.cc b/chrome/browser/ui/webui/chrome_web_ui_configs.cc
|
||||
--- a/chrome/browser/ui/webui/chrome_web_ui_configs.cc
|
||||
+++ b/chrome/browser/ui/webui/chrome_web_ui_configs.cc
|
||||
@@ -58,6 +58,9 @@
|
||||
@@ -60,6 +60,9 @@
|
||||
|
||||
#include "chrome/browser/ui/webui/proxy_config_ui.h"
|
||||
|
||||
@@ -526,28 +525,31 @@ 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"
|
||||
@@ -423,4 +426,7 @@ void RegisterChromeWebUIConfigs() {
|
||||
@@ -430,7 +433,9 @@ void RegisterChromeWebUIConfigs() {
|
||||
map.AddWebUIConfig(
|
||||
std::make_unique<safe_browsing::ChromeSafeBrowsingUIConfig>());
|
||||
#endif
|
||||
-
|
||||
+#if BUILDFLAG(IS_ANDROID)
|
||||
+ map.AddWebUIConfig(std::make_unique<user_scripts::UserScriptsUIConfig>());
|
||||
+#endif
|
||||
}
|
||||
#if BUILDFLAG(ENTERPRISE_WATERMARK)
|
||||
map.AddWebUIConfig(std::make_unique<WatermarkUIConfig>());
|
||||
#endif
|
||||
diff --git a/chrome/chrome_paks.gni b/chrome/chrome_paks.gni
|
||||
--- a/chrome/chrome_paks.gni
|
||||
+++ b/chrome/chrome_paks.gni
|
||||
@@ -149,6 +149,7 @@ template("chrome_extra_paks") {
|
||||
"$root_gen_dir/third_party/blink/public/resources/blink_resources.pak",
|
||||
@@ -152,6 +152,7 @@ template("chrome_extra_paks") {
|
||||
"$root_gen_dir/third_party/blink/public/resources/inspector_overlay_resources.pak",
|
||||
"$root_gen_dir/third_party/blink/public/strings/permission_element_generated_strings.pak",
|
||||
"$root_gen_dir/ui/resources/ui_lottie_resources.pak",
|
||||
+ "$root_gen_dir/chrome/userscripts_browser_resources.pak",
|
||||
"$root_gen_dir/ui/webui/resources/webui_resources.pak",
|
||||
]
|
||||
deps = [
|
||||
@@ -169,6 +170,7 @@ template("chrome_extra_paks") {
|
||||
"//third_party/blink/public:resources",
|
||||
|
||||
@@ -175,6 +176,7 @@ template("chrome_extra_paks") {
|
||||
"//third_party/blink/public/strings:permission_element_generated_strings",
|
||||
"//ui/resources:ui_lottie_resources_grd",
|
||||
"//ui/webui/resources",
|
||||
+ "//components/user_scripts/browser:userscripts_browser_resources_grit",
|
||||
]
|
||||
@@ -567,7 +569,7 @@ diff --git a/chrome/common/renderer_configuration.mojom b/chrome/common/renderer
|
||||
diff --git a/chrome/renderer/BUILD.gn b/chrome/renderer/BUILD.gn
|
||||
--- a/chrome/renderer/BUILD.gn
|
||||
+++ b/chrome/renderer/BUILD.gn
|
||||
@@ -235,6 +235,12 @@ static_library("renderer") {
|
||||
@@ -231,6 +231,12 @@ static_library("renderer") {
|
||||
"//v8",
|
||||
]
|
||||
|
||||
@@ -583,7 +585,7 @@ diff --git a/chrome/renderer/BUILD.gn b/chrome/renderer/BUILD.gn
|
||||
diff --git a/chrome/renderer/chrome_content_renderer_client.cc b/chrome/renderer/chrome_content_renderer_client.cc
|
||||
--- a/chrome/renderer/chrome_content_renderer_client.cc
|
||||
+++ b/chrome/renderer/chrome_content_renderer_client.cc
|
||||
@@ -265,6 +265,11 @@
|
||||
@@ -252,6 +252,11 @@
|
||||
#include "chrome/renderer/media/chrome_key_systems.h"
|
||||
#endif
|
||||
|
||||
@@ -595,7 +597,7 @@ diff --git a/chrome/renderer/chrome_content_renderer_client.cc b/chrome/renderer
|
||||
using autofill::AutofillAgent;
|
||||
using autofill::PasswordAutofillAgent;
|
||||
using autofill::PasswordGenerationAgent;
|
||||
@@ -450,6 +455,14 @@ void ChromeContentRendererClient::RenderThreadStarted() {
|
||||
@@ -417,6 +422,14 @@ void ChromeContentRendererClient::RenderThreadStarted() {
|
||||
WebString::FromASCII(extensions::kExtensionScheme));
|
||||
#endif // BUILDFLAG(ENABLE_EXTENSIONS_CORE)
|
||||
|
||||
@@ -610,8 +612,8 @@ diff --git a/chrome/renderer/chrome_content_renderer_client.cc b/chrome/renderer
|
||||
#if BUILDFLAG(ENABLE_SPELLCHECK)
|
||||
if (!spellcheck_)
|
||||
InitSpellCheck();
|
||||
@@ -621,6 +634,15 @@ void ChromeContentRendererClient::RenderFrameCreated(
|
||||
registry);
|
||||
@@ -597,6 +610,15 @@ void ChromeContentRendererClient::RenderFrameCreated(
|
||||
render_frame, std::make_unique<ChromePrintRenderFrameHelperDelegate>());
|
||||
#endif
|
||||
|
||||
+#if BUILDFLAG(IS_ANDROID)
|
||||
@@ -623,10 +625,10 @@ diff --git a/chrome/renderer/chrome_content_renderer_client.cc b/chrome/renderer
|
||||
+ }
|
||||
+#endif
|
||||
+
|
||||
#if BUILDFLAG(ENABLE_PPAPI)
|
||||
new PepperHelper(render_frame);
|
||||
#if BUILDFLAG(ENABLE_PAINT_PREVIEW)
|
||||
new paint_preview::PaintPreviewRecorderImpl(render_frame);
|
||||
#endif
|
||||
@@ -1669,6 +1691,17 @@ void ChromeContentRendererClient::RunScriptsAtDocumentStart(
|
||||
@@ -1359,6 +1381,17 @@ void ChromeContentRendererClient::RunScriptsAtDocumentStart(
|
||||
render_frame);
|
||||
// |render_frame| might be dead by now.
|
||||
#endif
|
||||
@@ -644,7 +646,7 @@ diff --git a/chrome/renderer/chrome_content_renderer_client.cc b/chrome/renderer
|
||||
}
|
||||
|
||||
void ChromeContentRendererClient::RunScriptsAtDocumentEnd(
|
||||
@@ -1678,6 +1711,17 @@ void ChromeContentRendererClient::RunScriptsAtDocumentEnd(
|
||||
@@ -1368,6 +1401,17 @@ void ChromeContentRendererClient::RunScriptsAtDocumentEnd(
|
||||
render_frame);
|
||||
// |render_frame| might be dead by now.
|
||||
#endif
|
||||
@@ -662,7 +664,7 @@ diff --git a/chrome/renderer/chrome_content_renderer_client.cc b/chrome/renderer
|
||||
}
|
||||
|
||||
void ChromeContentRendererClient::RunScriptsAtDocumentIdle(
|
||||
@@ -1687,6 +1731,17 @@ void ChromeContentRendererClient::RunScriptsAtDocumentIdle(
|
||||
@@ -1377,6 +1421,17 @@ void ChromeContentRendererClient::RunScriptsAtDocumentIdle(
|
||||
render_frame);
|
||||
// |render_frame| might be dead by now.
|
||||
#endif
|
||||
@@ -683,7 +685,7 @@ diff --git a/chrome/renderer/chrome_content_renderer_client.cc b/chrome/renderer
|
||||
diff --git a/chrome/renderer/chrome_render_thread_observer.cc b/chrome/renderer/chrome_render_thread_observer.cc
|
||||
--- a/chrome/renderer/chrome_render_thread_observer.cc
|
||||
+++ b/chrome/renderer/chrome_render_thread_observer.cc
|
||||
@@ -55,6 +55,8 @@
|
||||
@@ -54,6 +54,8 @@
|
||||
#include "third_party/blink/public/web/web_security_policy.h"
|
||||
#include "third_party/blink/public/web/web_view.h"
|
||||
|
||||
@@ -692,7 +694,7 @@ diff --git a/chrome/renderer/chrome_render_thread_observer.cc b/chrome/renderer/
|
||||
#if BUILDFLAG(IS_CHROMEOS)
|
||||
#include "chrome/renderer/ash_merge_session_loader_throttle.h"
|
||||
#endif
|
||||
@@ -221,6 +223,9 @@ void ChromeRenderThreadObserver::SetConfiguration(
|
||||
@@ -220,6 +222,9 @@ void ChromeRenderThreadObserver::SetConfiguration(
|
||||
chrome::mojom::DynamicParamsPtr params) {
|
||||
base::AutoLock lock(dynamic_params_lock_);
|
||||
dynamic_params_ = std::move(params);
|
||||
@@ -705,7 +707,7 @@ diff --git a/chrome/renderer/chrome_render_thread_observer.cc b/chrome/renderer/
|
||||
diff --git a/components/components_strings.grd b/components/components_strings.grd
|
||||
--- a/components/components_strings.grd
|
||||
+++ b/components/components_strings.grd
|
||||
@@ -341,6 +341,7 @@
|
||||
@@ -342,6 +342,7 @@
|
||||
<part file="user_education_strings.grdp" />
|
||||
<part file="version_ui_strings.grdp" />
|
||||
<part file="webapps_strings.grdp" />
|
||||
@@ -11363,16 +11365,6 @@ new file mode 100755
|
||||
+ </message>
|
||||
+
|
||||
+</grit-part>
|
||||
diff --git a/content/common/features.gni b/content/common/features.gni
|
||||
--- a/content/common/features.gni
|
||||
+++ b/content/common/features.gni
|
||||
@@ -20,5 +20,5 @@ declare_args() {
|
||||
mbi_mode = is_linux || is_chromeos || is_mac || is_win || is_android
|
||||
|
||||
# We allow legacy IPC to be enabled for Pepper usage.
|
||||
- content_enable_legacy_ipc = enable_ppapi
|
||||
+ content_enable_legacy_ipc = true
|
||||
}
|
||||
diff --git a/cromite_flags/chrome/browser/about_flags_cc/Experimental-user-scripts-support.inc b/cromite_flags/chrome/browser/about_flags_cc/Experimental-user-scripts-support.inc
|
||||
new file mode 100644
|
||||
--- /dev/null
|
||||
@@ -11394,18 +11386,18 @@ new file mode 100644
|
||||
diff --git a/ipc/ipc_message_start.h b/ipc/ipc_message_start.h
|
||||
--- a/ipc/ipc_message_start.h
|
||||
+++ b/ipc/ipc_message_start.h
|
||||
@@ -17,6 +17,7 @@ enum IPCMessageStart {
|
||||
WorkerMsgStart,
|
||||
NaClMsgStart,
|
||||
PpapiMsgStart,
|
||||
@@ -14,6 +14,7 @@
|
||||
enum IPCMessageStart {
|
||||
AutomationMsgStart = 0,
|
||||
TestMsgStart,
|
||||
+ ExtensionMsgStart,
|
||||
NaClHostMsgStart,
|
||||
WorkerMsgStart,
|
||||
LastIPCMsgStart // Must come last.
|
||||
};
|
||||
diff --git a/tools/gritsettings/resource_ids.spec b/tools/gritsettings/resource_ids.spec
|
||||
--- a/tools/gritsettings/resource_ids.spec
|
||||
+++ b/tools/gritsettings/resource_ids.spec
|
||||
@@ -1162,6 +1162,12 @@
|
||||
@@ -1186,6 +1186,12 @@
|
||||
"META": {"sizes": {"includes": [30],}},
|
||||
"includes": [7480],
|
||||
},
|
||||
|
||||
@@ -155,7 +155,7 @@ diff --git a/chrome/android/java/res/xml/main_preferences.xml b/chrome/android/j
|
||||
<!-- The main_preferences file will be reordered with the upcoming autofill
|
||||
options. Only the order changes. Each pref should exist here and in the layout
|
||||
for the previous order (main_preferences_legacy). -->
|
||||
@@ -99,11 +90,6 @@ for the previous order (main_preferences_legacy). -->
|
||||
@@ -98,11 +89,6 @@ for the previous order (main_preferences_legacy). -->
|
||||
android:key="autofill_options"
|
||||
android:order="16"
|
||||
android:title="@string/autofill_options_title" />
|
||||
@@ -167,7 +167,7 @@ diff --git a/chrome/android/java/res/xml/main_preferences.xml b/chrome/android/j
|
||||
|
||||
<PreferenceCategory
|
||||
android:key="advanced_section"
|
||||
@@ -135,6 +121,11 @@ for the previous order (main_preferences_legacy). -->
|
||||
@@ -134,6 +120,11 @@ for the previous order (main_preferences_legacy). -->
|
||||
android:key="adblock"
|
||||
android:order="13"
|
||||
android:title="@string/prefs_adblock"/>
|
||||
@@ -873,7 +873,7 @@ diff --git a/chrome/browser/adblock/android/java/src/org/chromium/chrome/browser
|
||||
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
|
||||
@@ -6461,7 +6461,9 @@ ChromeContentBrowserClient::
|
||||
@@ -6412,7 +6412,9 @@ ChromeContentBrowserClient::
|
||||
}
|
||||
|
||||
bool ChromeContentBrowserClient::WillInterceptWebSocket(
|
||||
@@ -884,7 +884,7 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch
|
||||
#if BUILDFLAG(ENABLE_EXTENSIONS_CORE)
|
||||
if (!frame) {
|
||||
return false;
|
||||
@@ -6484,9 +6486,11 @@ bool ChromeContentBrowserClient::WillInterceptWebSocket(
|
||||
@@ -6435,9 +6437,11 @@ bool ChromeContentBrowserClient::WillInterceptWebSocket(
|
||||
}
|
||||
|
||||
void ChromeContentBrowserClient::CreateWebSocket(
|
||||
@@ -899,7 +899,7 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch
|
||||
diff --git a/chrome/browser/chrome_content_browser_client.h b/chrome/browser/chrome_content_browser_client.h
|
||||
--- a/chrome/browser/chrome_content_browser_client.h
|
||||
+++ b/chrome/browser/chrome_content_browser_client.h
|
||||
@@ -730,11 +730,15 @@ class ChromeContentBrowserClient : public content::ContentBrowserClient {
|
||||
@@ -715,11 +715,15 @@ class ChromeContentBrowserClient : public content::ContentBrowserClient {
|
||||
CreateURLLoaderHandlerForServiceWorkerNavigationPreload(
|
||||
content::FrameTreeNodeId frame_tree_node_id,
|
||||
const network::ResourceRequest& resource_request) override;
|
||||
@@ -1189,7 +1189,7 @@ diff --git a/chrome/browser/extensions/api/settings_private/prefs_util.cc b/chro
|
||||
diff --git a/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc b/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc
|
||||
--- a/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc
|
||||
+++ b/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc
|
||||
@@ -249,7 +249,6 @@
|
||||
@@ -255,7 +255,6 @@
|
||||
#include "chrome/common/buildflags.h"
|
||||
#include "chrome/common/chrome_features.h"
|
||||
#include "components/adblock/content/browser/factories/adblock_request_throttle_factory.h"
|
||||
@@ -1197,7 +1197,7 @@ diff --git a/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc
|
||||
#include "components/adblock/content/browser/factories/content_security_policy_injector_factory.h"
|
||||
#include "components/adblock/content/browser/factories/element_hider_factory.h"
|
||||
#include "components/adblock/content/browser/factories/resource_classification_runner_factory.h"
|
||||
@@ -936,7 +935,6 @@ void ChromeBrowserMainExtraPartsProfiles::
|
||||
@@ -946,7 +945,6 @@ void ChromeBrowserMainExtraPartsProfiles::
|
||||
// Makes manual testing possible.
|
||||
FakeSmartCardDeviceServiceFactory::GetInstance();
|
||||
#endif
|
||||
@@ -1208,15 +1208,15 @@ diff --git a/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc
|
||||
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
|
||||
@@ -64,6 +64,7 @@ build_webui("build") {
|
||||
@@ -66,6 +66,7 @@ build_webui("build") {
|
||||
"ai_page/ai_tab_organization_subpage.ts",
|
||||
"ai_page/history_search_page.ts",
|
||||
"ai_page/offer_writing_help_page.ts",
|
||||
+ "adblock_page/adblock_page.ts",
|
||||
"appearance_page/appearance_fonts_page.ts",
|
||||
"appearance_page/appearance_page_index.ts",
|
||||
"appearance_page/appearance_page.ts",
|
||||
"appearance_page/home_url_input.ts",
|
||||
@@ -372,6 +373,7 @@ build_webui("build") {
|
||||
@@ -392,6 +393,7 @@ build_webui("build") {
|
||||
ts_definitions = [
|
||||
"//tools/typescript/definitions/autofill_private.d.ts",
|
||||
"//tools/typescript/definitions/chrome_event.d.ts",
|
||||
@@ -1752,28 +1752,26 @@ new file mode 100644
|
||||
diff --git a/chrome/browser/resources/settings/basic_page/basic_page.html b/chrome/browser/resources/settings/basic_page/basic_page.html
|
||||
--- a/chrome/browser/resources/settings/basic_page/basic_page.html
|
||||
+++ b/chrome/browser/resources/settings/basic_page/basic_page.html
|
||||
@@ -51,6 +51,10 @@
|
||||
</settings-section>
|
||||
</template>
|
||||
</template>
|
||||
+ <settings-section page-title="Adblock"
|
||||
+ section="adblock">
|
||||
+ <settings-adblock-page prefs="{{prefs}}"></settings-adblock-page>
|
||||
+ </settings-section>
|
||||
<template is="dom-if" if="[[showPage_(pageVisibility_.autofill)]]"
|
||||
restamp>
|
||||
<settings-section page-title="$i18n{autofillPageTitle}"
|
||||
@@ -8,4 +8,8 @@
|
||||
section="privacy">
|
||||
<settings-privacy-page prefs="{{prefs}}"></settings-privacy-page>
|
||||
</settings-section>
|
||||
+ <settings-section page-title="Adblock"
|
||||
+ section="adblock">
|
||||
+ <settings-adblock-page prefs="{{prefs}}"></settings-adblock-page>
|
||||
+ </settings-section>
|
||||
</div>
|
||||
diff --git a/chrome/browser/resources/settings/basic_page/basic_page.ts b/chrome/browser/resources/settings/basic_page/basic_page.ts
|
||||
--- a/chrome/browser/resources/settings/basic_page/basic_page.ts
|
||||
+++ b/chrome/browser/resources/settings/basic_page/basic_page.ts
|
||||
@@ -15,6 +15,7 @@ import '../ai_page/ai_page.js';
|
||||
// <if expr="enable_glic">
|
||||
import '../glic_page/glic_page.js';
|
||||
// </if>
|
||||
@@ -16,6 +16,7 @@ import '../settings_page_styles.css.js';
|
||||
import {I18nMixin} from 'chrome://resources/cr_elements/i18n_mixin.js';
|
||||
import {PolymerElement} from 'chrome://resources/polymer/v3_0/polymer/polymer_bundled.min.js';
|
||||
|
||||
+import '../adblock_page/adblock_page.js';
|
||||
import '../appearance_page/appearance_page.js';
|
||||
import '../privacy_page/privacy_guide/privacy_guide_promo.js';
|
||||
import '../privacy_page/privacy_page.js';
|
||||
import {routes} from '../route.js';
|
||||
import type {Route} from '../router.js';
|
||||
import {RouteObserverMixin} from '../router.js';
|
||||
diff --git a/chrome/browser/resources/settings/page_visibility.ts b/chrome/browser/resources/settings/page_visibility.ts
|
||||
--- a/chrome/browser/resources/settings/page_visibility.ts
|
||||
+++ b/chrome/browser/resources/settings/page_visibility.ts
|
||||
@@ -1782,14 +1780,14 @@ diff --git a/chrome/browser/resources/settings/page_visibility.ts b/chrome/brows
|
||||
export interface PageVisibility {
|
||||
a11y?: boolean;
|
||||
+ adblock?: boolean;
|
||||
advancedSettings?: boolean;
|
||||
ai?: boolean;
|
||||
appearance?: boolean|AppearancePageVisibility;
|
||||
autofill?: boolean;
|
||||
diff --git a/chrome/browser/resources/settings/route.ts b/chrome/browser/resources/settings/route.ts
|
||||
--- a/chrome/browser/resources/settings/route.ts
|
||||
+++ b/chrome/browser/resources/settings/route.ts
|
||||
@@ -228,6 +228,10 @@ function createRoutes(): SettingsRoutes {
|
||||
r.FONTS = r.APPEARANCE.createChild('/fonts');
|
||||
@@ -246,6 +246,10 @@ function createRoutes(): SettingsRoutes {
|
||||
r.FONTS.hasMigratedToPlugin = true;
|
||||
}
|
||||
|
||||
+ if (visibility.adblock !== false) {
|
||||
@@ -1813,10 +1811,10 @@ diff --git a/chrome/browser/resources/settings/router.ts b/chrome/browser/resour
|
||||
diff --git a/chrome/browser/resources/settings/settings.ts b/chrome/browser/resources/settings/settings.ts
|
||||
--- a/chrome/browser/resources/settings/settings.ts
|
||||
+++ b/chrome/browser/resources/settings/settings.ts
|
||||
@@ -53,6 +53,7 @@ export {AppearanceBrowserProxy, AppearanceBrowserProxyImpl} from './appearance_p
|
||||
export {SettingsAppearancePageElement, SystemTheme} from './appearance_page/appearance_page.js';
|
||||
@@ -55,6 +55,7 @@ export {SettingsAppearancePageIndexElement} from './appearance_page/appearance_p
|
||||
export {HomeUrlInputElement} from './appearance_page/home_url_input.js';
|
||||
export {SettingsAutofillPageElement} from './autofill_page/autofill_page.js';
|
||||
export {SettingsAutofillPageIndexElement} from './autofill_page/autofill_page_index.js';
|
||||
+export {SettingsAdblockPageElement} from './adblock_page/adblock_page.js';
|
||||
export {PasswordCheckReferrer, PasswordManagerImpl, PasswordManagerPage, PasswordManagerProxy} from './autofill_page/password_manager_proxy.js';
|
||||
export {BaseMixin} from './base_mixin.js';
|
||||
@@ -1833,7 +1831,7 @@ diff --git a/chrome/browser/resources/settings/settings_menu/settings_menu.html
|
||||
+ Adblock
|
||||
+ <cr-ripple></cr-ripple>
|
||||
+ </a>
|
||||
<if expr="not chromeos_ash">
|
||||
<if expr="not is_chromeos">
|
||||
<a role="menuitem" id="system" href="/system" class="cr-nav-menu-item"
|
||||
hidden="[[!pageVisibility_.system]]">
|
||||
diff --git a/chrome/browser/ui/tab_helpers.cc b/chrome/browser/ui/tab_helpers.cc
|
||||
@@ -1852,7 +1850,7 @@ diff --git a/chrome/browser/ui/tab_helpers.cc b/chrome/browser/ui/tab_helpers.cc
|
||||
diff --git a/chrome/common/extensions/api/_permission_features.json b/chrome/common/extensions/api/_permission_features.json
|
||||
--- a/chrome/common/extensions/api/_permission_features.json
|
||||
+++ b/chrome/common/extensions/api/_permission_features.json
|
||||
@@ -60,13 +60,6 @@
|
||||
@@ -64,13 +64,6 @@
|
||||
"5107DE9024C329EEA9C9A72D94C16723790C6422" // Apps Developer Tool Dev.
|
||||
]
|
||||
},
|
||||
@@ -1866,9 +1864,9 @@ diff --git a/chrome/common/extensions/api/_permission_features.json b/chrome/com
|
||||
"autofillPrivate": {
|
||||
"channel": "trunk",
|
||||
"extension_types": ["extension", "platform_app"],
|
||||
@@ -400,13 +393,6 @@
|
||||
"channel": "stable",
|
||||
"command_line_switch": "extension-ai-data-collection"
|
||||
@@ -426,13 +419,6 @@
|
||||
// "desktop_android" is not supported.
|
||||
"platforms": ["chromeos", "linux", "mac", "win"]
|
||||
},
|
||||
- "eyeoFilteringPrivate": {
|
||||
- "channel": "stable",
|
||||
@@ -12402,7 +12400,7 @@ diff --git a/content/browser/websockets/websocket_connector_impl.cc b/content/br
|
||||
diff --git a/content/public/browser/content_browser_client.cc b/content/public/browser/content_browser_client.cc
|
||||
--- a/content/public/browser/content_browser_client.cc
|
||||
+++ b/content/public/browser/content_browser_client.cc
|
||||
@@ -1153,7 +1153,7 @@ void ContentBrowserClient::WillCreateURLLoaderFactory(
|
||||
@@ -1122,7 +1122,7 @@ void ContentBrowserClient::WillCreateURLLoaderFactory(
|
||||
DCHECK(browser_context);
|
||||
}
|
||||
|
||||
@@ -12411,7 +12409,7 @@ diff --git a/content/public/browser/content_browser_client.cc b/content/public/b
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -1162,9 +1162,11 @@ uint32_t ContentBrowserClient::GetWebSocketOptions(RenderFrameHost* frame) {
|
||||
@@ -1131,9 +1131,11 @@ uint32_t ContentBrowserClient::GetWebSocketOptions(RenderFrameHost* frame) {
|
||||
}
|
||||
|
||||
void ContentBrowserClient::CreateWebSocket(
|
||||
@@ -12426,7 +12424,7 @@ diff --git a/content/public/browser/content_browser_client.cc b/content/public/b
|
||||
diff --git a/content/public/browser/content_browser_client.h b/content/public/browser/content_browser_client.h
|
||||
--- a/content/public/browser/content_browser_client.h
|
||||
+++ b/content/public/browser/content_browser_client.h
|
||||
@@ -2127,7 +2127,7 @@ class CONTENT_EXPORT ContentBrowserClient {
|
||||
@@ -2099,7 +2099,7 @@ class CONTENT_EXPORT ContentBrowserClient {
|
||||
scoped_refptr<base::SequencedTaskRunner> navigation_response_task_runner);
|
||||
|
||||
// Returns true when the embedder wants to intercept a websocket connection.
|
||||
@@ -12435,7 +12433,7 @@ diff --git a/content/public/browser/content_browser_client.h b/content/public/br
|
||||
|
||||
// Returns the WebSocket creation options.
|
||||
virtual uint32_t GetWebSocketOptions(RenderFrameHost* frame);
|
||||
@@ -2149,9 +2149,11 @@ class CONTENT_EXPORT ContentBrowserClient {
|
||||
@@ -2121,9 +2121,11 @@ class CONTENT_EXPORT ContentBrowserClient {
|
||||
// Always called on the UI thread and only when the Network Service is
|
||||
// enabled.
|
||||
virtual void CreateWebSocket(
|
||||
@@ -12499,7 +12497,7 @@ diff --git a/third_party/blink/renderer/core/css/style_engine.cc b/third_party/b
|
||||
diff --git a/third_party/blink/renderer/core/css/style_engine.h b/third_party/blink/renderer/core/css/style_engine.h
|
||||
--- a/third_party/blink/renderer/core/css/style_engine.h
|
||||
+++ b/third_party/blink/renderer/core/css/style_engine.h
|
||||
@@ -282,6 +282,7 @@ class CORE_EXPORT StyleEngine final : public GarbageCollected<StyleEngine>,
|
||||
@@ -278,6 +278,7 @@ class CORE_EXPORT StyleEngine final : public GarbageCollected<StyleEngine>,
|
||||
const ComputedStyle* embedder_style) const;
|
||||
void ViewportStyleSettingChanged();
|
||||
|
||||
@@ -12525,7 +12523,7 @@ diff --git a/third_party/blink/renderer/core/dom/events/event_target.cc b/third_
|
||||
diff --git a/third_party/blink/renderer/core/exported/web_document.cc b/third_party/blink/renderer/core/exported/web_document.cc
|
||||
--- a/third_party/blink/renderer/core/exported/web_document.cc
|
||||
+++ b/third_party/blink/renderer/core/exported/web_document.cc
|
||||
@@ -299,6 +299,16 @@ WebStyleSheetKey WebDocument::InsertAbpElemhideStylesheet(
|
||||
@@ -300,6 +300,16 @@ WebStyleSheetKey WebDocument::InsertAbpElemhideStylesheet(
|
||||
Document* document = Unwrap<Document>();
|
||||
DCHECK(document);
|
||||
|
||||
@@ -12542,7 +12540,7 @@ diff --git a/third_party/blink/renderer/core/exported/web_document.cc b/third_pa
|
||||
auto* parsed_sheet = MakeGarbageCollected<StyleSheetContents>(
|
||||
MakeGarbageCollected<CSSParserContext>(*document));
|
||||
parsed_sheet->ParseString(source_code);
|
||||
@@ -320,9 +330,6 @@ WebStyleSheetKey WebDocument::InsertAbpElemhideStylesheet(
|
||||
@@ -321,9 +331,6 @@ WebStyleSheetKey WebDocument::InsertAbpElemhideStylesheet(
|
||||
{SchedulingPolicy::DisableBackForwardCache()});
|
||||
}
|
||||
|
||||
@@ -12555,7 +12553,7 @@ diff --git a/third_party/blink/renderer/core/exported/web_document.cc b/third_pa
|
||||
diff --git a/third_party/blink/renderer/core/html/html_element.cc b/third_party/blink/renderer/core/html/html_element.cc
|
||||
--- a/third_party/blink/renderer/core/html/html_element.cc
|
||||
+++ b/third_party/blink/renderer/core/html/html_element.cc
|
||||
@@ -2511,13 +2511,7 @@ void HTMLElement::setSpellcheck(bool enable) {
|
||||
@@ -2618,13 +2618,7 @@ void HTMLElement::setSpellcheck(bool enable) {
|
||||
}
|
||||
|
||||
void HTMLElement::click() {
|
||||
|
||||
@@ -15,13 +15,13 @@ https://bugs.chromium.org/p/chromium/issues/detail?id=1491776#c10
|
||||
.../phishing_classifier/phishing_image_embedder.cc | 14 +++-----------
|
||||
content/browser/browser_interface_binders.cc | 1 +
|
||||
net/BUILD.gn | 1 +
|
||||
services/webnn/dml/graph_impl_dml.cc | 2 ++
|
||||
11 files changed, 16 insertions(+), 16 deletions(-)
|
||||
services/webnn/dml/graph_impl_dml.cc | 1 +
|
||||
11 files changed, 15 insertions(+), 16 deletions(-)
|
||||
|
||||
diff --git a/BUILD.gn b/BUILD.gn
|
||||
--- a/BUILD.gn
|
||||
+++ b/BUILD.gn
|
||||
@@ -429,7 +429,6 @@ group("gn_all") {
|
||||
@@ -422,7 +422,6 @@ group("gn_all") {
|
||||
"//android_webview:empty_group",
|
||||
"//android_webview/test",
|
||||
"//android_webview/tools/automated_ui_tests:webview_ui_test_app_test_apk",
|
||||
@@ -44,10 +44,10 @@ diff --git a/chrome/browser/navigation_predictor/navigation_predictor_metrics_do
|
||||
diff --git a/chrome/browser/safe_browsing/BUILD.gn b/chrome/browser/safe_browsing/BUILD.gn
|
||||
--- a/chrome/browser/safe_browsing/BUILD.gn
|
||||
+++ b/chrome/browser/safe_browsing/BUILD.gn
|
||||
@@ -288,6 +288,7 @@ static_library("safe_browsing") {
|
||||
"//components/webdata/common",
|
||||
@@ -290,6 +290,7 @@ static_library("safe_browsing") {
|
||||
"//components/version_info",
|
||||
"//content/public/browser",
|
||||
"//services/preferences/public/mojom:mojom",
|
||||
"//services/preferences/public/mojom",
|
||||
+ "//third_party/flatbuffers:flatbuffers",
|
||||
]
|
||||
|
||||
@@ -55,7 +55,7 @@ diff --git a/chrome/browser/safe_browsing/BUILD.gn b/chrome/browser/safe_browsin
|
||||
diff --git a/components/component_updater/installer_policies/BUILD.gn b/components/component_updater/installer_policies/BUILD.gn
|
||||
--- a/components/component_updater/installer_policies/BUILD.gn
|
||||
+++ b/components/component_updater/installer_policies/BUILD.gn
|
||||
@@ -56,6 +56,7 @@ static_library("installer_policies_no_content_deps") {
|
||||
@@ -60,6 +60,7 @@ static_library("installer_policies_no_content_deps") {
|
||||
"//components/update_client",
|
||||
"//mojo/public/cpp/base:protobuf_support",
|
||||
"//services/network/public/cpp",
|
||||
@@ -66,7 +66,7 @@ diff --git a/components/component_updater/installer_policies/BUILD.gn b/componen
|
||||
diff --git a/components/omnibox/browser/autocomplete_classifier.cc b/components/omnibox/browser/autocomplete_classifier.cc
|
||||
--- a/components/omnibox/browser/autocomplete_classifier.cc
|
||||
+++ b/components/omnibox/browser/autocomplete_classifier.cc
|
||||
@@ -127,8 +127,8 @@ void AutocompleteClassifier::Classify(
|
||||
@@ -131,8 +131,8 @@ void AutocompleteClassifier::Classify(
|
||||
metrics::OmniboxEventProto::PageClassification page_classification,
|
||||
AutocompleteMatch* match,
|
||||
GURL* alternate_nav_url) {
|
||||
@@ -80,7 +80,7 @@ diff --git a/components/omnibox/browser/autocomplete_classifier.cc b/components/
|
||||
diff --git a/components/omnibox/browser/omnibox_field_trial.cc b/components/omnibox/browser/omnibox_field_trial.cc
|
||||
--- a/components/omnibox/browser/omnibox_field_trial.cc
|
||||
+++ b/components/omnibox/browser/omnibox_field_trial.cc
|
||||
@@ -1007,11 +1007,11 @@ MLConfig& MLConfig::operator=(const MLConfig& other) = default;
|
||||
@@ -895,11 +895,11 @@ MLConfig& MLConfig::operator=(const MLConfig& other) = default;
|
||||
|
||||
ScopedMLConfigForTesting::ScopedMLConfigForTesting()
|
||||
: original_config_(std::make_unique<MLConfig>(GetMLConfig())) {
|
||||
@@ -132,7 +132,7 @@ diff --git a/components/safe_browsing/content/renderer/phishing_classifier/phish
|
||||
diff --git a/content/browser/browser_interface_binders.cc b/content/browser/browser_interface_binders.cc
|
||||
--- a/content/browser/browser_interface_binders.cc
|
||||
+++ b/content/browser/browser_interface_binders.cc
|
||||
@@ -381,6 +381,7 @@ void BindDateTimeChooserForFrame(
|
||||
@@ -383,6 +383,7 @@ void BindDateTimeChooserForFrame(
|
||||
void BindTextSuggestionHostForFrame(
|
||||
RenderFrameHost* host,
|
||||
mojo::PendingReceiver<blink::mojom::TextSuggestionHost> receiver) {
|
||||
@@ -143,9 +143,9 @@ diff --git a/content/browser/browser_interface_binders.cc b/content/browser/brow
|
||||
diff --git a/net/BUILD.gn b/net/BUILD.gn
|
||||
--- a/net/BUILD.gn
|
||||
+++ b/net/BUILD.gn
|
||||
@@ -1802,6 +1802,7 @@ component("net") {
|
||||
@@ -1814,6 +1814,7 @@ component("net") {
|
||||
]
|
||||
deps += [ "//sql:sql" ]
|
||||
deps += [ "//sql" ]
|
||||
}
|
||||
+ # test: configs -= [ "//build/config/clang:find_bad_constructs" ]
|
||||
}
|
||||
@@ -154,20 +154,12 @@ diff --git a/net/BUILD.gn b/net/BUILD.gn
|
||||
diff --git a/services/webnn/dml/graph_impl_dml.cc b/services/webnn/dml/graph_impl_dml.cc
|
||||
--- a/services/webnn/dml/graph_impl_dml.cc
|
||||
+++ b/services/webnn/dml/graph_impl_dml.cc
|
||||
@@ -281,6 +281,7 @@ std::optional<AlignedByteLength<OperandId>> CalculateAlignedByteLength(
|
||||
}
|
||||
@@ -248,6 +248,7 @@ base::expected<void, mojom::ErrorPtr> CreateUnexpectedError(
|
||||
|
||||
// Same as above, but given a map of names to descriptors.
|
||||
// Calculate the total byte length of buffers and the D3D12_RANGE for each
|
||||
// buffer, all with the required alignment.
|
||||
+[[maybe_unused]]
|
||||
std::optional<AlignedByteLength<std::string>>
|
||||
CalculateAlignedByteLengthFromDescriptors(
|
||||
const base::flat_map<std::string, OperandDescriptor>&
|
||||
@@ -389,6 +390,7 @@ UploadAndCreateConstantBufferBinding(
|
||||
return key_to_buffer_binding_map;
|
||||
}
|
||||
|
||||
+[[maybe_unused]]
|
||||
HRESULT MapAndCopyInputDataToBuffer(
|
||||
const base::flat_map<std::string, mojo_base::BigBuffer>& named_inputs,
|
||||
const absl::flat_hash_map<std::string, D3D12_RANGE>&
|
||||
std::optional<AlignedByteLength<OperandId>> CalculateAlignedByteLength(
|
||||
const base::flat_map<OperandId, std::unique_ptr<WebNNConstantOperand>>&
|
||||
constant_operands) {
|
||||
--
|
||||
|
||||
@@ -120,7 +120,7 @@ diff --git a/skia/ext/skia_utils_win.h b/skia/ext/skia_utils_win.h
|
||||
diff --git a/third_party/blink/public/common/features.h b/third_party/blink/public/common/features.h
|
||||
--- a/third_party/blink/public/common/features.h
|
||||
+++ b/third_party/blink/public/common/features.h
|
||||
@@ -239,6 +239,10 @@ BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE_PARAM(int,
|
||||
@@ -244,6 +244,10 @@ BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE_PARAM(int,
|
||||
BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(kLessAggressiveParkableString);
|
||||
|
||||
BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(kCombineNewWindowIPCs);
|
||||
@@ -134,7 +134,7 @@ diff --git a/third_party/blink/public/common/features.h b/third_party/blink/publ
|
||||
diff --git a/third_party/blink/renderer/platform/BUILD.gn b/third_party/blink/renderer/platform/BUILD.gn
|
||||
--- a/third_party/blink/renderer/platform/BUILD.gn
|
||||
+++ b/third_party/blink/renderer/platform/BUILD.gn
|
||||
@@ -792,6 +792,7 @@ component("platform") {
|
||||
@@ -799,6 +799,7 @@ component("platform") {
|
||||
"fonts/simple_font_data.cc",
|
||||
"fonts/simple_font_data.h",
|
||||
"fonts/skia/font_cache_skia.cc",
|
||||
@@ -153,7 +153,7 @@ diff --git a/third_party/blink/renderer/platform/fonts/font_cache.h b/third_part
|
||||
+ std::string& name, std::string& original_name);
|
||||
|
||||
#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
|
||||
static AtomicString GetFamilyNameForCharacter(SkFontMgr*,
|
||||
static const FontPlatformData* CreateFontPlatformDataForCharacter(
|
||||
diff --git a/third_party/blink/renderer/platform/fonts/skia/bromite_allowed_fonts.h b/third_party/blink/renderer/platform/fonts/skia/bromite_allowed_fonts.h
|
||||
new file mode 100644
|
||||
--- /dev/null
|
||||
@@ -469,7 +469,7 @@ diff --git a/third_party/blink/renderer/platform/fonts/skia/font_cache_skia.cc b
|
||||
#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
|
||||
// This function is called on android or when we are emulating android fonts on
|
||||
// linux and the embedder has overriden the default fontManager with
|
||||
@@ -201,7 +224,7 @@ const SimpleFontData* FontCache::GetLastResortFallbackFont(
|
||||
@@ -215,7 +238,7 @@ const SimpleFontData* FontCache::GetLastResortFallbackFont(
|
||||
sk_sp<SkTypeface> FontCache::CreateTypeface(
|
||||
const FontDescription& font_description,
|
||||
const FontFaceCreationParams& creation_params,
|
||||
@@ -478,7 +478,7 @@ diff --git a/third_party/blink/renderer/platform/fonts/skia/font_cache_skia.cc b
|
||||
#if !BUILDFLAG(IS_WIN) && !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_FUCHSIA)
|
||||
// TODO(fuchsia): Revisit this and other font code for Fuchsia.
|
||||
|
||||
@@ -219,6 +242,16 @@ sk_sp<SkTypeface> FontCache::CreateTypeface(
|
||||
@@ -233,6 +256,16 @@ sk_sp<SkTypeface> FontCache::CreateTypeface(
|
||||
DCHECK_NE(family, font_family_names::kSystemUi);
|
||||
// convert the name to utf8
|
||||
name = family.Utf8();
|
||||
@@ -495,7 +495,7 @@ diff --git a/third_party/blink/renderer/platform/fonts/skia/font_cache_skia.cc b
|
||||
|
||||
#if BUILDFLAG(IS_ANDROID)
|
||||
// If this is a locale-specific family, try looking up locale-specific
|
||||
@@ -226,15 +259,15 @@ sk_sp<SkTypeface> FontCache::CreateTypeface(
|
||||
@@ -240,15 +273,15 @@ sk_sp<SkTypeface> FontCache::CreateTypeface(
|
||||
if (const char* locale_family = GetLocaleSpecificFamilyName(family)) {
|
||||
if (sk_sp<SkTypeface> typeface =
|
||||
CreateLocaleSpecificTypeface(font_description, locale_family))
|
||||
@@ -514,7 +514,7 @@ diff --git a/third_party/blink/renderer/platform/fonts/skia/font_cache_skia.cc b
|
||||
}
|
||||
|
||||
#if !BUILDFLAG(IS_WIN)
|
||||
@@ -244,6 +277,7 @@ const FontPlatformData* FontCache::CreateFontPlatformData(
|
||||
@@ -258,6 +291,7 @@ const FontPlatformData* FontCache::CreateFontPlatformData(
|
||||
float font_size,
|
||||
AlternateFontName alternate_name) {
|
||||
std::string name;
|
||||
@@ -522,7 +522,7 @@ diff --git a/third_party/blink/renderer/platform/fonts/skia/font_cache_skia.cc b
|
||||
|
||||
sk_sp<SkTypeface> typeface;
|
||||
#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
|
||||
@@ -264,7 +298,7 @@ const FontPlatformData* FontCache::CreateFontPlatformData(
|
||||
@@ -278,7 +312,7 @@ const FontPlatformData* FontCache::CreateFontPlatformData(
|
||||
noto_color_emoji_from_gmscore)) {
|
||||
typeface = CreateTypefaceFromUniqueName(creation_params);
|
||||
} else {
|
||||
|
||||
@@ -279,8 +279,8 @@ new file mode 100644
|
||||
diff --git a/components/content_settings/core/browser/content_settings_registry.cc b/components/content_settings/core/browser/content_settings_registry.cc
|
||||
--- a/components/content_settings/core/browser/content_settings_registry.cc
|
||||
+++ b/components/content_settings/core/browser/content_settings_registry.cc
|
||||
@@ -604,7 +604,7 @@ void ContentSettingsRegistry::Init() {
|
||||
ContentSettingsInfo::EXCEPTIONS_ON_SECURE_ORIGINS_ONLY);
|
||||
@@ -610,7 +610,7 @@ void ContentSettingsRegistry::Init() {
|
||||
PermissionSettingsInfo::EXCEPTIONS_ON_SECURE_ORIGINS_ONLY);
|
||||
|
||||
Register(ContentSettingsType::JAVASCRIPT_JIT, "javascript-jit",
|
||||
- CONTENT_SETTING_ALLOW, WebsiteSettingsInfo::UNSYNCABLE,
|
||||
@@ -291,7 +291,7 @@ diff --git a/components/content_settings/core/browser/content_settings_registry.
|
||||
diff --git a/content/browser/renderer_host/navigation_request.cc b/content/browser/renderer_host/navigation_request.cc
|
||||
--- a/content/browser/renderer_host/navigation_request.cc
|
||||
+++ b/content/browser/renderer_host/navigation_request.cc
|
||||
@@ -4191,12 +4191,17 @@ UrlInfo NavigationRequest::GetUrlInfo() {
|
||||
@@ -4199,12 +4199,17 @@ UrlInfo NavigationRequest::GetUrlInfo() {
|
||||
// Compute the WebExposedIsolationInfo that will be bundled into UrlInfo.
|
||||
auto web_exposed_isolation_info = ComputeWebExposedIsolationInfo();
|
||||
|
||||
@@ -313,7 +313,7 @@ diff --git a/content/browser/renderer_host/navigation_request.cc b/content/brows
|
||||
diff --git a/content/browser/renderer_host/render_process_host_impl.cc b/content/browser/renderer_host/render_process_host_impl.cc
|
||||
--- a/content/browser/renderer_host/render_process_host_impl.cc
|
||||
+++ b/content/browser/renderer_host/render_process_host_impl.cc
|
||||
@@ -3407,6 +3407,9 @@ void RenderProcessHostImpl::AppendRendererCommandLine(
|
||||
@@ -3387,6 +3387,9 @@ void RenderProcessHostImpl::AppendRendererCommandLine(
|
||||
if (IsJitDisabled()) {
|
||||
command_line->AppendSwitchASCII(blink::switches::kJavaScriptFlags,
|
||||
"--jitless");
|
||||
@@ -326,7 +326,7 @@ diff --git a/content/browser/renderer_host/render_process_host_impl.cc b/content
|
||||
diff --git a/content/browser/site_info.cc b/content/browser/site_info.cc
|
||||
--- a/content/browser/site_info.cc
|
||||
+++ b/content/browser/site_info.cc
|
||||
@@ -281,6 +281,13 @@ SiteInfo SiteInfo::CreateInternal(const IsolationContext& isolation_context,
|
||||
@@ -329,6 +329,13 @@ SiteInfo SiteInfo::CreateInternal(const IsolationContext& isolation_context,
|
||||
is_jitless =
|
||||
is_jitless || GetContentClient()->browser()->IsJitDisabledForSite(
|
||||
browser_context, lock_url_or_default);
|
||||
@@ -337,9 +337,9 @@ diff --git a/content/browser/site_info.cc b/content/browser/site_info.cc
|
||||
+ is_jitless = false;
|
||||
+ }
|
||||
+ }
|
||||
are_v8_optimizations_disabled =
|
||||
GetContentClient()->browser()->AreV8OptimizationsDisabledForSite(
|
||||
browser_context, lock_url_or_default);
|
||||
are_v8_optimizations_disabled = CheckAndCacheShouldDisableV8Optimization(
|
||||
browser_context, isolation_context.browsing_instance_id(),
|
||||
url::Origin::Create(lock_url_or_default));
|
||||
diff --git a/content/browser/url_info.cc b/content/browser/url_info.cc
|
||||
--- a/content/browser/url_info.cc
|
||||
+++ b/content/browser/url_info.cc
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -10,18 +10,18 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
---
|
||||
.../renderer_host/render_frame_host_impl.cc | 2 +
|
||||
.../Partition-blobs-by-top-frame-URL.inc | 1 +
|
||||
storage/browser/blob/blob_url_store_impl.cc | 63 ++++++++++++++++++-
|
||||
storage/browser/blob/blob_url_store_impl.h | 13 ++++
|
||||
storage/browser/blob/blob_url_store_impl.cc | 57 +++++++++++++++++--
|
||||
storage/browser/blob/blob_url_store_impl.h | 11 +++-
|
||||
storage/browser/blob/features.cc | 1 +
|
||||
.../public/mojom/blob/blob_url_store.mojom | 8 ++-
|
||||
.../core/fileapi/public_url_manager.cc | 17 +++++
|
||||
7 files changed, 101 insertions(+), 4 deletions(-)
|
||||
.../core/fileapi/public_url_manager.cc | 21 ++++++-
|
||||
7 files changed, 92 insertions(+), 9 deletions(-)
|
||||
create mode 100644 cromite_flags/third_party/blink/common/features_cc/Partition-blobs-by-top-frame-URL.inc
|
||||
|
||||
diff --git a/content/browser/renderer_host/render_frame_host_impl.cc b/content/browser/renderer_host/render_frame_host_impl.cc
|
||||
--- a/content/browser/renderer_host/render_frame_host_impl.cc
|
||||
+++ b/content/browser/renderer_host/render_frame_host_impl.cc
|
||||
@@ -12792,6 +12792,8 @@ void RenderFrameHostImpl::ReportBlockingCrossPartitionBlobURL(
|
||||
@@ -12939,6 +12939,8 @@ void RenderFrameHostImpl::ReportBlockingCrossPartitionBlobURL(
|
||||
}
|
||||
|
||||
bool RenderFrameHostImpl::IsFullCookieAccessAllowed() {
|
||||
@@ -39,7 +39,7 @@ new file mode 100644
|
||||
diff --git a/storage/browser/blob/blob_url_store_impl.cc b/storage/browser/blob/blob_url_store_impl.cc
|
||||
--- a/storage/browser/blob/blob_url_store_impl.cc
|
||||
+++ b/storage/browser/blob/blob_url_store_impl.cc
|
||||
@@ -106,6 +106,30 @@ BlobURLStoreImpl::~BlobURLStoreImpl() {
|
||||
@@ -113,6 +113,30 @@ BlobURLStoreImpl::~BlobURLStoreImpl() {
|
||||
}
|
||||
}
|
||||
|
||||
@@ -70,10 +70,10 @@ diff --git a/storage/browser/blob/blob_url_store_impl.cc b/storage/browser/blob/
|
||||
void BlobURLStoreImpl::Register(
|
||||
mojo::PendingRemote<blink::mojom::Blob> blob,
|
||||
const GURL& url,
|
||||
@@ -120,6 +144,14 @@ void BlobURLStoreImpl::Register(
|
||||
@@ -123,6 +147,13 @@ void BlobURLStoreImpl::Register(
|
||||
std::move(callback).Run();
|
||||
return;
|
||||
}
|
||||
|
||||
+ // LOG(INFO) << "---BlobURLStoreImpl Register"
|
||||
+ // << " url=" << url
|
||||
+ // << " storage_key_origin=" << storage_key_.GetDebugString()
|
||||
@@ -81,11 +81,10 @@ diff --git a/storage/browser/blob/blob_url_store_impl.cc b/storage/browser/blob/
|
||||
+ // << " render_process_host_id_=" << render_process_host_id_
|
||||
+ // << " unsafe_top_level_site=" << (unsafe_top_level_site.has_value() ? unsafe_top_level_site->GetDebugString() : "<none>")
|
||||
+ // << " unsafe_agent_cluster_id=" << unsafe_agent_cluster_id.ToString();
|
||||
+
|
||||
|
||||
if (registry_)
|
||||
registry_->AddUrlMapping(url, std::move(blob), storage_key_,
|
||||
renderer_origin_, render_process_host_id_,
|
||||
@@ -145,7 +177,7 @@ bool BlobURLStoreImpl::ShouldPartitionBlobUrlAccess(
|
||||
@@ -148,7 +179,7 @@ bool BlobURLStoreImpl::ShouldPartitionBlobUrlAccess(
|
||||
features::kBlockCrossPartitionBlobUrlFetching) &&
|
||||
!partitioning_disabled_by_policy_;
|
||||
|
||||
@@ -94,51 +93,31 @@ diff --git a/storage/browser/blob/blob_url_store_impl.cc b/storage/browser/blob/
|
||||
has_storage_access_handle &&
|
||||
mapping_status ==
|
||||
BlobUrlRegistry::MappingStatus::
|
||||
@@ -156,26 +188,38 @@ bool BlobURLStoreImpl::ShouldPartitionBlobUrlAccess(
|
||||
@@ -158,7 +189,9 @@ bool BlobURLStoreImpl::ShouldPartitionBlobUrlAccess(
|
||||
|
||||
void BlobURLStoreImpl::ResolveAsURLLoaderFactory(
|
||||
const GURL& url,
|
||||
mojo::PendingReceiver<network::mojom::URLLoaderFactory> receiver,
|
||||
- mojo::PendingReceiver<network::mojom::URLLoaderFactory> receiver) {
|
||||
+ mojo::PendingReceiver<network::mojom::URLLoaderFactory> receiver,
|
||||
+ const base::UnguessableToken& unsafe_agent_cluster_id,
|
||||
+ const std::optional<net::SchemefulSite>& unsafe_top_level_site,
|
||||
ResolveAsURLLoaderFactoryCallback callback) {
|
||||
+ const std::optional<net::SchemefulSite>& unsafe_top_level_site) {
|
||||
if (!registry_) {
|
||||
BlobURLLoaderFactory::Create(mojo::NullRemote(), url, std::move(receiver));
|
||||
std::move(callback).Run(std::nullopt, std::nullopt);
|
||||
return;
|
||||
}
|
||||
- FinishResolveAsURLLoaderFactory(url, std::move(receiver), std::move(callback),
|
||||
+ FinishResolveAsURLLoaderFactory(url, std::move(receiver),
|
||||
+ unsafe_agent_cluster_id, unsafe_top_level_site,
|
||||
+ std::move(callback),
|
||||
storage_access_check_callback_.Run());
|
||||
}
|
||||
|
||||
void BlobURLStoreImpl::FinishResolveAsURLLoaderFactory(
|
||||
const GURL& url,
|
||||
mojo::PendingReceiver<network::mojom::URLLoaderFactory> receiver,
|
||||
+ const base::UnguessableToken& unsafe_agent_cluster_id,
|
||||
+ const std::optional<net::SchemefulSite>& unsafe_top_level_site,
|
||||
ResolveAsURLLoaderFactoryCallback callback,
|
||||
bool has_storage_access_handle) {
|
||||
+ if (!IsSamePartition(url, unsafe_agent_cluster_id, unsafe_top_level_site)) {
|
||||
+ BlobURLLoaderFactory::Create(mojo::NullRemote(), url, std::move(receiver));
|
||||
+ std::move(callback).Run(std::nullopt, std::nullopt);
|
||||
+ return;
|
||||
+ }
|
||||
const BlobUrlRegistry::MappingStatus mapping_status =
|
||||
registry_->IsUrlMapped(BlobUrlUtils::ClearUrlFragment(url), storage_key_);
|
||||
if (IsBlobUrlAccessCrossPartitionSameOrigin(mapping_status)) {
|
||||
if (ShouldPartitionBlobUrlAccess(has_storage_access_handle,
|
||||
mapping_status)) {
|
||||
+ // LOG(INFO) << "---ResolveAsURLLoaderFactory blocked" << url;
|
||||
partitioning_blob_url_closure_.Run(url,
|
||||
blink::mojom::PartitioningBlobURLInfo::
|
||||
kBlockedCrossPartitionFetching);
|
||||
@@ -187,6 +231,12 @@ void BlobURLStoreImpl::FinishResolveAsURLLoaderFactory(
|
||||
partitioning_blob_url_closure_.Run(url, std::nullopt);
|
||||
@@ -181,6 +214,7 @@ void BlobURLStoreImpl::ResolveAsURLLoaderFactory(
|
||||
if (IsBlobUrlAccessCrossPartitionSameOrigin(mapping_status)) {
|
||||
if (ShouldPartitionBlobUrlAccess(has_storage_access_handle,
|
||||
mapping_status)) {
|
||||
+ // LOG(INFO) << "---ResolveAsURLLoaderFactory blocked" << url;
|
||||
partitioning_blob_url_closure_.Run(
|
||||
url, blink::mojom::PartitioningBlobURLInfo::
|
||||
kBlockedCrossPartitionFetching);
|
||||
@@ -192,6 +226,13 @@ void BlobURLStoreImpl::ResolveAsURLLoaderFactory(
|
||||
}
|
||||
}
|
||||
|
||||
+ if (!IsSamePartition(url, unsafe_agent_cluster_id, unsafe_top_level_site)) {
|
||||
+ // LOG(INFO) << "---ResolveAsURLLoaderFactory blocked by IsSamePartition" << url;
|
||||
+ BlobURLLoaderFactory::Create(mojo::NullRemote(), url, std::move(receiver));
|
||||
+ std::move(callback).Run(std::nullopt, std::nullopt);
|
||||
+ return;
|
||||
@@ -146,75 +125,68 @@ diff --git a/storage/browser/blob/blob_url_store_impl.cc b/storage/browser/blob/
|
||||
+ // LOG(INFO) << "---ResolveAsURLLoaderFactory allowed " << url;
|
||||
BlobURLLoaderFactory::Create(registry_->GetBlobFromUrl(url), url,
|
||||
std::move(receiver));
|
||||
// When a fragment URL is present, registry_->GetUnsafeAgentClusterID(url) and
|
||||
@@ -201,6 +251,8 @@ void BlobURLStoreImpl::ResolveAsBlobURLToken(
|
||||
}
|
||||
@@ -199,7 +240,9 @@ void BlobURLStoreImpl::ResolveAsURLLoaderFactory(
|
||||
void BlobURLStoreImpl::ResolveAsBlobURLToken(
|
||||
const GURL& url,
|
||||
mojo::PendingReceiver<blink::mojom::BlobURLToken> token,
|
||||
bool is_top_level_navigation,
|
||||
- bool is_top_level_navigation) {
|
||||
+ bool is_top_level_navigation,
|
||||
+ const base::UnguessableToken& unsafe_agent_cluster_id,
|
||||
+ const std::optional<net::SchemefulSite>& unsafe_top_level_site,
|
||||
ResolveAsBlobURLTokenCallback callback) {
|
||||
+ const std::optional<net::SchemefulSite>& unsafe_top_level_site) {
|
||||
// This function is known to be heap allocation heavy and performance
|
||||
// critical. Extra memory safety checks can introduce regression
|
||||
@@ -212,6 +264,7 @@ void BlobURLStoreImpl::ResolveAsBlobURLToken(
|
||||
return;
|
||||
// (https://crbug.com/414710225) and these are disabled here.
|
||||
@@ -216,6 +259,7 @@ void BlobURLStoreImpl::ResolveAsBlobURLToken(
|
||||
registry_->IsUrlMapped(BlobUrlUtils::ClearUrlFragment(url),
|
||||
storage_key_);
|
||||
if (IsBlobUrlAccessCrossPartitionSameOrigin(mapping_status)) {
|
||||
+ // LOG(INFO) << "---ResolveAsBlobURLToken blocked" << url;
|
||||
if (ShouldPartitionBlobUrlAccess(has_storage_access_handle,
|
||||
mapping_status)) {
|
||||
partitioning_blob_url_closure_.Run(
|
||||
@@ -226,12 +270,17 @@ void BlobURLStoreImpl::ResolveAsBlobURLToken(
|
||||
partitioning_blob_url_closure_.Run(url, std::nullopt);
|
||||
}
|
||||
}
|
||||
FinishResolveAsBlobURLToken(url, std::move(token), is_top_level_navigation,
|
||||
+ unsafe_agent_cluster_id, unsafe_top_level_site,
|
||||
std::move(callback),
|
||||
storage_access_check_callback_.Run());
|
||||
}
|
||||
@@ -220,8 +273,14 @@ void BlobURLStoreImpl::FinishResolveAsBlobURLToken(
|
||||
const GURL& url,
|
||||
mojo::PendingReceiver<blink::mojom::BlobURLToken> token,
|
||||
bool is_top_level_navigation,
|
||||
+ const base::UnguessableToken& unsafe_agent_cluster_id,
|
||||
+ const std::optional<net::SchemefulSite>& unsafe_top_level_site,
|
||||
ResolveAsBlobURLTokenCallback callback,
|
||||
bool has_storage_access_handle) {
|
||||
+ if (!IsSamePartition(url, unsafe_agent_cluster_id, unsafe_top_level_site)) {
|
||||
+ // LOG(INFO) << "---ResolveAsBlobURLToken blocked by IsSamePartition" << url;
|
||||
+ std::move(callback).Run(std::nullopt);
|
||||
+ return;
|
||||
+ }
|
||||
if (!is_top_level_navigation) {
|
||||
const BlobUrlRegistry::MappingStatus mapping_status =
|
||||
registry_->IsUrlMapped(BlobUrlUtils::ClearUrlFragment(url),
|
||||
|
||||
mojo::PendingRemote<blink::mojom::Blob> blob = registry_->GetBlobFromUrl(url);
|
||||
if (!blob) {
|
||||
return;
|
||||
}
|
||||
-
|
||||
+ // LOG(INFO) << "---ResolveAsBlobURLToken allowed " << url;
|
||||
new BlobURLTokenImpl(registry_, url, std::move(blob), std::move(token));
|
||||
}
|
||||
|
||||
diff --git a/storage/browser/blob/blob_url_store_impl.h b/storage/browser/blob/blob_url_store_impl.h
|
||||
--- a/storage/browser/blob/blob_url_store_impl.h
|
||||
+++ b/storage/browser/blob/blob_url_store_impl.h
|
||||
@@ -60,11 +60,15 @@ class COMPONENT_EXPORT(STORAGE_BROWSER) BlobURLStoreImpl
|
||||
void ResolveAsURLLoaderFactory(
|
||||
const GURL& url,
|
||||
mojo::PendingReceiver<network::mojom::URLLoaderFactory> receiver,
|
||||
mojo::PendingReceiver<network::mojom::URLLoaderFactory> receiver)
|
||||
+ const base::UnguessableToken& unsafe_agent_cluster_id,
|
||||
+ const std::optional<net::SchemefulSite>& unsafe_top_level_site,
|
||||
ResolveAsURLLoaderFactoryCallback callback) override;
|
||||
override;
|
||||
void ResolveAsBlobURLToken(
|
||||
const GURL& url,
|
||||
mojo::PendingReceiver<blink::mojom::BlobURLToken> token,
|
||||
bool is_top_level_navigation,
|
||||
- bool is_top_level_navigation) override;
|
||||
+ bool is_top_level_navigation,
|
||||
+ const base::UnguessableToken& unsafe_agent_cluster_id,
|
||||
+ const std::optional<net::SchemefulSite>& unsafe_top_level_site,
|
||||
ResolveAsBlobURLTokenCallback callback) override;
|
||||
+ const std::optional<net::SchemefulSite>& unsafe_top_level_site) override;
|
||||
|
||||
private:
|
||||
@@ -81,6 +85,8 @@ class COMPONENT_EXPORT(STORAGE_BROWSER) BlobURLStoreImpl
|
||||
void FinishResolveAsURLLoaderFactory(
|
||||
const GURL& url,
|
||||
mojo::PendingReceiver<network::mojom::URLLoaderFactory> receiver,
|
||||
+ const base::UnguessableToken& unsafe_agent_cluster_id,
|
||||
+ const std::optional<net::SchemefulSite>& unsafe_top_level_site,
|
||||
ResolveAsURLLoaderFactoryCallback callback,
|
||||
bool has_storage_access_handle);
|
||||
|
||||
@@ -88,9 +94,16 @@ class COMPONENT_EXPORT(STORAGE_BROWSER) BlobURLStoreImpl
|
||||
const GURL& url,
|
||||
mojo::PendingReceiver<blink::mojom::BlobURLToken> token,
|
||||
bool is_top_level_navigation,
|
||||
+ const base::UnguessableToken& unsafe_agent_cluster_id,
|
||||
+ const std::optional<net::SchemefulSite>& unsafe_top_level_site,
|
||||
ResolveAsBlobURLTokenCallback callback,
|
||||
bool has_storage_access_handle);
|
||||
// Checks if the passed in url is a valid blob url for this blob url store.
|
||||
@@ -77,6 +81,11 @@ class COMPONENT_EXPORT(STORAGE_BROWSER) BlobURLStoreImpl
|
||||
bool has_storage_access_handle,
|
||||
BlobUrlRegistry::MappingStatus mapping_status);
|
||||
|
||||
+ bool IsSamePartition(
|
||||
+ const GURL& blob_url,
|
||||
@@ -227,10 +199,10 @@ diff --git a/storage/browser/blob/blob_url_store_impl.h b/storage/browser/blob/b
|
||||
diff --git a/storage/browser/blob/features.cc b/storage/browser/blob/features.cc
|
||||
--- a/storage/browser/blob/features.cc
|
||||
+++ b/storage/browser/blob/features.cc
|
||||
@@ -18,6 +18,7 @@ BASE_FEATURE(kBlockCrossPartitionBlobUrlFetching,
|
||||
#else
|
||||
@@ -10,6 +10,7 @@ namespace features {
|
||||
BASE_FEATURE(kBlockCrossPartitionBlobUrlFetching,
|
||||
"BlockCrossPartitionBlobUrlFetching",
|
||||
base::FEATURE_ENABLED_BY_DEFAULT);
|
||||
#endif
|
||||
+SET_CROMITE_FEATURE_ENABLED(kBlockCrossPartitionBlobUrlFetching);
|
||||
|
||||
// Please keep features in alphabetical order.
|
||||
@@ -238,32 +210,32 @@ diff --git a/storage/browser/blob/features.cc b/storage/browser/blob/features.cc
|
||||
diff --git a/third_party/blink/public/mojom/blob/blob_url_store.mojom b/third_party/blink/public/mojom/blob/blob_url_store.mojom
|
||||
--- a/third_party/blink/public/mojom/blob/blob_url_store.mojom
|
||||
+++ b/third_party/blink/public/mojom/blob/blob_url_store.mojom
|
||||
@@ -37,7 +37,9 @@ interface BlobURLStore {
|
||||
@@ -33,7 +33,9 @@ interface BlobURLStore {
|
||||
// both the blob URL and all other references to the blob have been dropped.
|
||||
ResolveAsURLLoaderFactory(
|
||||
url.mojom.Url url,
|
||||
- pending_receiver<network.mojom.URLLoaderFactory> factory) => (
|
||||
- pending_receiver<network.mojom.URLLoaderFactory> factory);
|
||||
+ pending_receiver<network.mojom.URLLoaderFactory> factory,
|
||||
+ mojo_base.mojom.UnguessableToken unsafe_agent_cluster_id,
|
||||
+ network.mojom.SchemefulSite? unsafe_top_level_site) => (
|
||||
// TODO(https://crbug.com/1224926): Remove these once experiment is over.
|
||||
mojo_base.mojom.UnguessableToken? unsafe_agent_cluster_id,
|
||||
network.mojom.SchemefulSite? unsafe_top_level_site);
|
||||
@@ -48,7 +50,9 @@ interface BlobURLStore {
|
||||
+ network.mojom.SchemefulSite? unsafe_top_level_site);
|
||||
|
||||
// Resolves a public Blob URL into a BlobURLToken. The BlobURLToken can be
|
||||
// used by the browser process to securely look up the blob a URL used to
|
||||
@@ -41,7 +43,9 @@ interface BlobURLStore {
|
||||
// As long as the token is alive, the resolved blob will also be kept alive.
|
||||
ResolveAsBlobURLToken(url.mojom.Url url,
|
||||
pending_receiver<BlobURLToken> token,
|
||||
- bool is_top_level_navigation) => (
|
||||
- bool is_top_level_navigation);
|
||||
+ bool is_top_level_navigation,
|
||||
+ mojo_base.mojom.UnguessableToken unsafe_agent_cluster_id,
|
||||
+ network.mojom.SchemefulSite? unsafe_top_level_site) => (
|
||||
// TODO(https://crbug.com/1224926): Remove this once experiment is over.
|
||||
mojo_base.mojom.UnguessableToken? unsafe_agent_cluster_id);
|
||||
+ network.mojom.SchemefulSite? unsafe_top_level_site);
|
||||
};
|
||||
|
||||
// A token representing a Blob URL. The browser process can use this to look up
|
||||
diff --git a/third_party/blink/renderer/core/fileapi/public_url_manager.cc b/third_party/blink/renderer/core/fileapi/public_url_manager.cc
|
||||
--- a/third_party/blink/renderer/core/fileapi/public_url_manager.cc
|
||||
+++ b/third_party/blink/renderer/core/fileapi/public_url_manager.cc
|
||||
@@ -63,6 +63,21 @@ static void RemoveFromNullOriginMapIfNecessary(const KURL& blob_url) {
|
||||
@@ -61,6 +61,21 @@ static void RemoveFromNullOriginMapIfNecessary(const KURL& blob_url) {
|
||||
BlobURLNullOriginMap::GetInstance()->Remove(blob_url);
|
||||
}
|
||||
|
||||
@@ -285,20 +257,24 @@ diff --git a/third_party/blink/renderer/core/fileapi/public_url_manager.cc b/thi
|
||||
} // namespace
|
||||
|
||||
PublicURLManager::PublicURLManager(ExecutionContext* execution_context)
|
||||
@@ -269,6 +284,7 @@ void PublicURLManager::Resolve(
|
||||
@@ -208,7 +223,8 @@ void PublicURLManager::Resolve(
|
||||
|
||||
GetBlobURLStore().ResolveAsURLLoaderFactory(
|
||||
url, std::move(factory_receiver),
|
||||
+ GetExecutionContext()->GetAgentClusterID(), GetInsecureTopLevelSite(GetExecutionContext()),
|
||||
WTF::BindOnce(metrics_callback, WrapPersistent(GetExecutionContext())));
|
||||
DCHECK(url.ProtocolIs("blob"));
|
||||
|
||||
- GetBlobURLStore().ResolveAsURLLoaderFactory(url, std::move(factory_receiver));
|
||||
+ GetBlobURLStore().ResolveAsURLLoaderFactory(url, std::move(factory_receiver),
|
||||
+ GetExecutionContext()->GetAgentClusterID(), GetInsecureTopLevelSite(GetExecutionContext()));
|
||||
}
|
||||
|
||||
@@ -293,6 +309,7 @@ void PublicURLManager::ResolveAsBlobURLToken(
|
||||
void PublicURLManager::ResolveAsBlobURLToken(
|
||||
@@ -221,7 +237,8 @@ void PublicURLManager::ResolveAsBlobURLToken(
|
||||
DCHECK(url.ProtocolIs("blob"));
|
||||
|
||||
GetBlobURLStore().ResolveAsBlobURLToken(
|
||||
url, std::move(token_receiver), is_top_level_navigation,
|
||||
+ GetExecutionContext()->GetAgentClusterID(), GetInsecureTopLevelSite(GetExecutionContext()),
|
||||
WTF::BindOnce(metrics_callback, WrapPersistent(GetExecutionContext())));
|
||||
GetBlobURLStore().ResolveAsBlobURLToken(url, std::move(token_receiver),
|
||||
- is_top_level_navigation);
|
||||
+ is_top_level_navigation,
|
||||
+ GetExecutionContext()->GetAgentClusterID(), GetInsecureTopLevelSite(GetExecutionContext()));
|
||||
}
|
||||
|
||||
void PublicURLManager::ContextDestroyed() {
|
||||
--
|
||||
|
||||
@@ -12,18 +12,20 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
||||
.../insecure_private_network.grdp | 18 ++++
|
||||
.../insecure_private_network.inc | 25 +++++
|
||||
.../INSECURE_PRIVATE_NETWORK.inc | 3 +
|
||||
services/network/cors/cors_url_loader.cc | 8 +-
|
||||
.../network/private_network_access_checker.cc | 16 +++-
|
||||
7 files changed, 188 insertions(+), 11 deletions(-)
|
||||
...rivate-network-access-content-settings.inc | 1 +
|
||||
services/network/cors/cors_url_loader.cc | 2 +-
|
||||
services/network/public/cpp/features.cc | 2 +-
|
||||
8 files changed, 175 insertions(+), 5 deletions(-)
|
||||
create mode 100644 components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/impl/BromiteInsecurePrivateNetworkContentSetting.java
|
||||
create mode 100644 components/browser_ui/strings/bromite_content_settings/insecure_private_network.grdp
|
||||
create mode 100644 components/content_settings/core/browser/bromite_content_settings/insecure_private_network.inc
|
||||
create mode 100644 components/content_settings/core/common/bromite_content_settings/INSECURE_PRIVATE_NETWORK.inc
|
||||
create mode 100644 cromite_flags/services/network/public/cpp/features_cc/Private-network-access-content-settings.inc
|
||||
|
||||
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
|
||||
@@ -1351,6 +1351,31 @@ bool IsDefaultSearchEngine(Profile* profile, const GURL& url) {
|
||||
@@ -1348,6 +1348,31 @@ bool IsDefaultSearchEngine(Profile* profile, const GURL& url) {
|
||||
url);
|
||||
}
|
||||
|
||||
@@ -55,7 +57,7 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch
|
||||
} // namespace
|
||||
|
||||
// static
|
||||
@@ -7640,12 +7665,17 @@ content::ContentBrowserClient::PrivateNetworkRequestPolicyOverride
|
||||
@@ -7582,12 +7607,17 @@ content::ContentBrowserClient::PrivateNetworkRequestPolicyOverride
|
||||
ChromeContentBrowserClient::ShouldOverridePrivateNetworkRequestPolicy(
|
||||
content::BrowserContext* browser_context,
|
||||
const url::Origin& origin) {
|
||||
@@ -235,10 +237,16 @@ new file mode 100644
|
||||
+ // Stores whether to allow insecure websites to make private network requests.
|
||||
+ // See also: https://wicg.github.io/cors-rfc1918
|
||||
+ INSECURE_PRIVATE_NETWORK,
|
||||
diff --git a/cromite_flags/services/network/public/cpp/features_cc/Private-network-access-content-settings.inc b/cromite_flags/services/network/public/cpp/features_cc/Private-network-access-content-settings.inc
|
||||
new file mode 100644
|
||||
--- /dev/null
|
||||
+++ b/cromite_flags/services/network/public/cpp/features_cc/Private-network-access-content-settings.inc
|
||||
@@ -0,0 +1 @@
|
||||
+SET_CROMITE_FEATURE_ENABLED(kLocalNetworkAccessChecks);
|
||||
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
|
||||
@@ -1090,7 +1090,7 @@ std::optional<URLLoaderCompletionStatus> CorsURLLoader::ConvertPreflightResult(
|
||||
@@ -1067,7 +1067,7 @@ std::optional<URLLoaderCompletionStatus> CorsURLLoader::ConvertPreflightResult(
|
||||
}
|
||||
|
||||
// Private Network Access warning: ignore net and CORS errors.
|
||||
@@ -247,61 +255,16 @@ diff --git a/services/network/cors/cors_url_loader.cc b/services/network/cors/co
|
||||
CHECK(ShouldIgnorePrivateNetworkAccessErrors(
|
||||
request_.required_ip_address_space));
|
||||
CHECK_EQ(*reason, PreflightRequiredReason::kPrivateNetworkAccess);
|
||||
@@ -1403,12 +1403,6 @@ bool CorsURLLoader::ShouldIgnorePrivateNetworkAccessErrors(
|
||||
if (!state) {
|
||||
return false;
|
||||
}
|
||||
- // When the PNA permission prompt shown, we should always respect the
|
||||
- // preflight results, otherwise it would be a bypass of mixed content checker.
|
||||
- if (PrivateNetworkAccessChecker::NeedPermission(
|
||||
- request_.url, state->is_web_secure_context, target_address_space)) {
|
||||
- return false;
|
||||
- }
|
||||
return state->private_network_request_policy ==
|
||||
mojom::PrivateNetworkRequestPolicy::kPreflightWarn;
|
||||
}
|
||||
diff --git a/services/network/private_network_access_checker.cc b/services/network/private_network_access_checker.cc
|
||||
--- a/services/network/private_network_access_checker.cc
|
||||
+++ b/services/network/private_network_access_checker.cc
|
||||
@@ -7,6 +7,7 @@
|
||||
#include "base/feature_list.h"
|
||||
#include "base/metrics/histogram_functions.h"
|
||||
#include "net/base/transport_info.h"
|
||||
+#include "net/base/url_util.h"
|
||||
#include "services/network/public/cpp/features.h"
|
||||
#include "services/network/public/cpp/ip_address_space_util.h"
|
||||
#include "services/network/public/cpp/is_potentially_trustworthy.h"
|
||||
@@ -20,6 +21,13 @@
|
||||
namespace network {
|
||||
namespace {
|
||||
diff --git a/services/network/public/cpp/features.cc b/services/network/public/cpp/features.cc
|
||||
--- a/services/network/public/cpp/features.cc
|
||||
+++ b/services/network/public/cpp/features.cc
|
||||
@@ -236,7 +236,7 @@ BASE_FEATURE_PARAM(bool,
|
||||
kLocalNetworkAccessChecksWarn,
|
||||
&kLocalNetworkAccessChecks,
|
||||
/*name=*/"LocalNetworkAccessChecksWarn",
|
||||
- /*default_value=*/true);
|
||||
+ /*default_value=*/false);
|
||||
|
||||
+bool IsReservedIPAddress(const std::string host) {
|
||||
+ net::IPAddress address;
|
||||
+ if (!net::ParseURLHostnameToAddress(host, &address))
|
||||
+ return false;
|
||||
+ return !address.IsPubliclyRoutable();
|
||||
+}
|
||||
+
|
||||
using Result = PrivateNetworkAccessCheckResult;
|
||||
using Policy = mojom::PrivateNetworkRequestPolicy;
|
||||
|
||||
@@ -260,11 +268,17 @@ bool PrivateNetworkAccessChecker::NeedPermission(
|
||||
const GURL& url,
|
||||
bool is_web_secure_context,
|
||||
mojom::IPAddressSpace target_address_space) {
|
||||
- return base::FeatureList::IsEnabled(
|
||||
+ bool need_permission = base::FeatureList::IsEnabled(
|
||||
network::features::kPrivateNetworkAccessPermissionPrompt) &&
|
||||
is_web_secure_context && !network::IsUrlPotentiallyTrustworthy(url) &&
|
||||
(target_address_space == mojom::IPAddressSpace::kLocal ||
|
||||
target_address_space == mojom::IPAddressSpace::kPrivate);
|
||||
+ std::string host = url.host();
|
||||
+ if (IsReservedIPAddress(host) || host == "0.0.0.0" ||
|
||||
+ host == "[::1]" || net::HostStringIsLocalhost(host)) {
|
||||
+ need_permission = true;
|
||||
+ }
|
||||
+ return need_permission;
|
||||
}
|
||||
|
||||
} // namespace network
|
||||
// Enables Local Network Access checks for WebRTC.
|
||||
// Blocks local network requests without user permission to prevent exploitation
|
||||
--
|
||||
|
||||
@@ -37,7 +37,7 @@ diff --git a/net/cert/ev_root_ca_metadata.cc b/net/cert/ev_root_ca_metadata.cc
|
||||
|
||||
#endif // defined(PLATFORM_USES_CHROMIUM_EV_METADATA)
|
||||
} // namespace
|
||||
@@ -116,7 +128,6 @@ bool EVRootCAMetadata::RemoveEVCA(const SHA256HashValue& fingerprint) {
|
||||
@@ -114,7 +126,6 @@ bool EVRootCAMetadata::RemoveEVCA(const SHA256HashValue& fingerprint) {
|
||||
//
|
||||
|
||||
bool EVRootCAMetadata::IsEVPolicyOID(bssl::der::Input policy_oid) const {
|
||||
@@ -56,5 +56,5 @@ diff --git a/net/cert/ev_root_ca_metadata.h b/net/cert/ev_root_ca_metadata.h
|
||||
+//#define PLATFORM_USES_CHROMIUM_EV_METADATA
|
||||
#endif
|
||||
|
||||
namespace base {
|
||||
namespace bssl {
|
||||
--
|
||||
|
||||
@@ -8,15 +8,15 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
---
|
||||
chrome/android/chrome_java_resources.gni | 1 +
|
||||
chrome/android/chrome_java_sources.gni | 2 +
|
||||
.../java/res/layout/mv_tiles_container.xml | 3 +-
|
||||
.../java/res/layout/mv_tiles_layout.xml | 13 +-
|
||||
.../java/res/layout/mv_tiles_container.xml | 39 +++
|
||||
.../java/res/layout/mv_tiles_layout.xml | 16 +-
|
||||
.../java/res/layout/new_tab_page_layout.xml | 7 +
|
||||
.../new_tab_page_tile_grid_placeholder.xml | 8 +-
|
||||
.../new_tab_page_tile_grid_placeholder.xml | 43 +++
|
||||
.../android/java/res/layout/ntp_shortcuts.xml | 65 ++++
|
||||
chrome/android/java/res/values/attrs.xml | 4 +
|
||||
chrome/android/java/res/values/dimens.xml | 2 +
|
||||
.../chrome/browser/ChromeTabbedActivity.java | 3 +-
|
||||
.../browser/TabbedModeTabDelegateFactory.java | 9 +-
|
||||
.../browser/TabbedModeTabDelegateFactory.java | 10 +-
|
||||
.../feedback/ChromeFeedbackCollector.java | 1 +
|
||||
.../feedback/SimplifiedNtpFeedbackSource.java | 38 +++
|
||||
.../identity_disc/IdentityDiscController.java | 5 +-
|
||||
@@ -41,7 +41,9 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
.../Restore-Simplified-NTP-launch.inc | 12 +
|
||||
.../Restore-Simplified-NTP-launch.inc | 5 +
|
||||
.../Restore-Simplified-NTP-launch.inc | 1 +
|
||||
35 files changed, 538 insertions(+), 55 deletions(-)
|
||||
35 files changed, 615 insertions(+), 53 deletions(-)
|
||||
create mode 100644 chrome/android/java/res/layout/mv_tiles_container.xml
|
||||
create mode 100644 chrome/android/java/res/layout/new_tab_page_tile_grid_placeholder.xml
|
||||
create mode 100644 chrome/android/java/res/layout/ntp_shortcuts.xml
|
||||
create mode 100644 chrome/android/java/src/org/chromium/chrome/browser/feedback/SimplifiedNtpFeedbackSource.java
|
||||
create mode 100644 chrome/android/java/src/org/chromium/chrome/browser/suggestions/tile/MostVisitedTilesGridLayout.java
|
||||
@@ -52,8 +54,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
|
||||
@@ -554,6 +554,7 @@ chrome_java_resources = [
|
||||
"java/res/layout/new_tab_page_tile_grid_placeholder.xml",
|
||||
@@ -535,6 +535,7 @@ chrome_java_resources = [
|
||||
"java/res/layout/new_tab_page_layout.xml",
|
||||
"java/res/layout/one_line_list_item.xml",
|
||||
"java/res/layout/open_full_chrome_history_header.xml",
|
||||
+ "java/res/layout/ntp_shortcuts.xml",
|
||||
@@ -63,7 +65,7 @@ diff --git a/chrome/android/chrome_java_resources.gni b/chrome/android/chrome_ja
|
||||
diff --git a/chrome/android/chrome_java_sources.gni b/chrome/android/chrome_java_sources.gni
|
||||
--- a/chrome/android/chrome_java_sources.gni
|
||||
+++ b/chrome/android/chrome_java_sources.gni
|
||||
@@ -595,6 +595,7 @@ chrome_java_sources = [
|
||||
@@ -606,6 +606,7 @@ chrome_java_sources = [
|
||||
"java/src/org/chromium/chrome/browser/feedback/FeedFeedbackCollector.java",
|
||||
"java/src/org/chromium/chrome/browser/feedback/HelpAndFeedbackLauncherImpl.java",
|
||||
"java/src/org/chromium/chrome/browser/feedback/ScreenshotTask.java",
|
||||
@@ -71,7 +73,7 @@ diff --git a/chrome/android/chrome_java_sources.gni b/chrome/android/chrome_java
|
||||
"java/src/org/chromium/chrome/browser/findinpage/FindToolbar.java",
|
||||
"java/src/org/chromium/chrome/browser/findinpage/FindToolbarManager.java",
|
||||
"java/src/org/chromium/chrome/browser/findinpage/FindToolbarObserver.java",
|
||||
@@ -1007,6 +1008,7 @@ chrome_java_sources = [
|
||||
@@ -1012,6 +1013,7 @@ chrome_java_sources = [
|
||||
"java/src/org/chromium/chrome/browser/suggestions/mostvisited/MostVisitedSitesMetadataUtils.java",
|
||||
"java/src/org/chromium/chrome/browser/suggestions/tile/MostVisitedTilesCoordinator.java",
|
||||
"java/src/org/chromium/chrome/browser/suggestions/tile/MostVisitedTilesLayout.java",
|
||||
@@ -80,22 +82,53 @@ diff --git a/chrome/android/chrome_java_sources.gni b/chrome/android/chrome_java
|
||||
"java/src/org/chromium/chrome/browser/suggestions/tile/MostVisitedTilesProperties.java",
|
||||
"java/src/org/chromium/chrome/browser/suggestions/tile/MostVisitedTilesViewBinder.java",
|
||||
diff --git a/chrome/android/java/res/layout/mv_tiles_container.xml b/chrome/android/java/res/layout/mv_tiles_container.xml
|
||||
--- a/chrome/android/java/res/layout/mv_tiles_container.xml
|
||||
new file mode 100644
|
||||
--- /dev/null
|
||||
+++ b/chrome/android/java/res/layout/mv_tiles_container.xml
|
||||
@@ -31,7 +31,8 @@ found in the LICENSE file.
|
||||
<!-- Site suggestion tile grid placeholder -->
|
||||
<ViewStub
|
||||
android:id="@+id/mv_tiles_placeholder_stub"
|
||||
- android:layout_width="wrap_content"
|
||||
@@ -0,0 +1,39 @@
|
||||
+<?xml version="1.0" encoding="utf-8"?>
|
||||
+<!--
|
||||
+Copyright 2023 The Chromium Authors
|
||||
+Use of this source code is governed by a BSD-style license that can be
|
||||
+found in the LICENSE file.
|
||||
+-->
|
||||
+
|
||||
+<!-- A site suggestion tile. -->
|
||||
+<FrameLayout android:layout_width="match_parent"
|
||||
+ android:layout_height="wrap_content"
|
||||
+ xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
+ xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
+ android:id="@+id/mv_tiles_container"
|
||||
+ android:visibility="gone"
|
||||
+ android:orientation="vertical"
|
||||
+ android:layout_gravity="center_horizontal"
|
||||
+ android:layout_marginTop="@dimen/mvt_container_top_margin"
|
||||
+ android:layout_marginLeft="@dimen/mvt_container_lateral_margin"
|
||||
+ android:layout_marginRight="@dimen/mvt_container_lateral_margin"
|
||||
+ android:paddingTop="@dimen/mvt_container_top_padding"
|
||||
+ android:paddingBottom="@dimen/mvt_container_bottom_padding"
|
||||
+ android:background="@drawable/home_surface_ui_background"
|
||||
+ app:layout_scrollFlags="scroll">
|
||||
+
|
||||
+ <ViewStub
|
||||
+ android:id="@+id/mv_tiles_layout_stub"
|
||||
+ android:layout_width="wrap_content"
|
||||
+ android:layout_height="wrap_content"
|
||||
+ android:layout="@layout/mv_tiles_layout" />
|
||||
+
|
||||
+ <!-- Site suggestion tile grid placeholder -->
|
||||
+ <ViewStub
|
||||
+ android:id="@+id/mv_tiles_placeholder_stub"
|
||||
+ android:layout_gravity="center_horizontal"
|
||||
+ android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:inflatedId="@+id/tile_grid_placeholder"
|
||||
android:layout="@layout/new_tab_page_tile_grid_placeholder" />
|
||||
+ android:layout_height="wrap_content"
|
||||
+ android:inflatedId="@+id/tile_grid_placeholder"
|
||||
+ android:layout="@layout/new_tab_page_tile_grid_placeholder" />
|
||||
+</FrameLayout>
|
||||
diff --git a/chrome/android/java/res/layout/mv_tiles_layout.xml b/chrome/android/java/res/layout/mv_tiles_layout.xml
|
||||
--- a/chrome/android/java/res/layout/mv_tiles_layout.xml
|
||||
+++ b/chrome/android/java/res/layout/mv_tiles_layout.xml
|
||||
@@ -5,14 +5,9 @@ Use of this source code is governed by a BSD-style license that can be
|
||||
@@ -5,17 +5,9 @@ Use of this source code is governed by a BSD-style license that can be
|
||||
found in the LICENSE file.
|
||||
-->
|
||||
|
||||
@@ -105,6 +138,9 @@ diff --git a/chrome/android/java/res/layout/mv_tiles_layout.xml b/chrome/android
|
||||
+ android:id="@+id/mv_tiles_layout"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
- android:background="@drawable/home_surface_ui_background"
|
||||
- android:paddingTop="@dimen/mvt_container_top_padding"
|
||||
- android:paddingBottom="@dimen/mvt_container_bottom_padding"
|
||||
- android:scrollbars="none">
|
||||
-
|
||||
- <org.chromium.chrome.browser.suggestions.tile.MostVisitedTilesLayout
|
||||
@@ -128,43 +164,56 @@ diff --git a/chrome/android/java/res/layout/new_tab_page_layout.xml b/chrome/and
|
||||
+ android:inflatedId="@+id/shortcuts"
|
||||
+ android:layout="@layout/ntp_shortcuts" />
|
||||
+
|
||||
<!-- Middle spacer -->
|
||||
<View
|
||||
android:id="@+id/ntp_middle_spacer"
|
||||
<ViewStub
|
||||
android:id="@+id/mv_tiles_layout_stub"
|
||||
android:inflatedId="@+id/mv_tiles_container"
|
||||
diff --git a/chrome/android/java/res/layout/new_tab_page_tile_grid_placeholder.xml b/chrome/android/java/res/layout/new_tab_page_tile_grid_placeholder.xml
|
||||
--- a/chrome/android/java/res/layout/new_tab_page_tile_grid_placeholder.xml
|
||||
new file mode 100644
|
||||
--- /dev/null
|
||||
+++ b/chrome/android/java/res/layout/new_tab_page_tile_grid_placeholder.xml
|
||||
@@ -17,14 +17,14 @@ found in the LICENSE file.
|
||||
android:orientation="vertical">
|
||||
|
||||
<ImageView
|
||||
- android:layout_width="wrap_content"
|
||||
@@ -0,0 +1,43 @@
|
||||
+<?xml version="1.0" encoding="utf-8"?>
|
||||
+<!--
|
||||
+Copyright 2015 The Chromium Authors
|
||||
+Use of this source code is governed by a BSD-style license that can be
|
||||
+found in the LICENSE file.
|
||||
+-->
|
||||
+
|
||||
+<!-- The view shown when there are no most visited items in document mode:
|
||||
+ "Nothing to see here..." -->
|
||||
+<LinearLayout
|
||||
+ xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
+ xmlns:tools="http://schemas.android.com/tools"
|
||||
+ android:layout_width="match_parent"
|
||||
+ android:layout_height="wrap_content"
|
||||
+ android:gravity="center"
|
||||
+ android:padding="16dp"
|
||||
+ android:orientation="vertical">
|
||||
+
|
||||
+ <ImageView
|
||||
+ android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginBottom="15dp"
|
||||
tools:ignore="ContentDescription"
|
||||
android:src="@drawable/ic_most_visited_placeholder" />
|
||||
|
||||
<TextView
|
||||
- android:layout_width="wrap_content"
|
||||
+ android:layout_height="wrap_content"
|
||||
+ android:layout_marginBottom="15dp"
|
||||
+ tools:ignore="ContentDescription"
|
||||
+ android:src="@drawable/ic_most_visited_placeholder" />
|
||||
+
|
||||
+ <TextView
|
||||
+ android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginBottom="8dp"
|
||||
android:color="#c8c8c8"
|
||||
@@ -33,11 +33,11 @@ found in the LICENSE file.
|
||||
android:textSize="16sp" />
|
||||
|
||||
<TextView
|
||||
- android:layout_width="wrap_content"
|
||||
+ android:layout_height="wrap_content"
|
||||
+ android:layout_marginBottom="8dp"
|
||||
+ android:color="#c8c8c8"
|
||||
+ android:gravity="center_horizontal"
|
||||
+ android:text="@string/most_visited_placeholder_title"
|
||||
+ android:textSize="16sp" />
|
||||
+
|
||||
+ <TextView
|
||||
+ android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:color="#c8c8c8"
|
||||
android:gravity="center_horizontal"
|
||||
android:text="@string/most_visited_placeholder_summary"
|
||||
android:textSize="12sp" />
|
||||
|
||||
-</LinearLayout>
|
||||
\ No newline at end of file
|
||||
+ android:layout_height="wrap_content"
|
||||
+ android:color="#c8c8c8"
|
||||
+ android:gravity="center_horizontal"
|
||||
+ android:text="@string/most_visited_placeholder_summary"
|
||||
+ android:textSize="12sp" />
|
||||
+
|
||||
+</LinearLayout>
|
||||
diff --git a/chrome/android/java/res/layout/ntp_shortcuts.xml b/chrome/android/java/res/layout/ntp_shortcuts.xml
|
||||
new file mode 100644
|
||||
@@ -253,7 +302,7 @@ diff --git a/chrome/android/java/res/values/attrs.xml b/chrome/android/java/res/
|
||||
diff --git a/chrome/android/java/res/values/dimens.xml b/chrome/android/java/res/values/dimens.xml
|
||||
--- a/chrome/android/java/res/values/dimens.xml
|
||||
+++ b/chrome/android/java/res/values/dimens.xml
|
||||
@@ -129,6 +129,8 @@ found in the LICENSE file.
|
||||
@@ -122,6 +122,8 @@ found in the LICENSE file.
|
||||
<dimen name="find_in_page_popup_margin_end">62dp</dimen>
|
||||
|
||||
<!-- NTP dimensions -->
|
||||
@@ -265,12 +314,12 @@ diff --git a/chrome/android/java/res/values/dimens.xml b/chrome/android/java/res
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
|
||||
@@ -3118,7 +3118,8 @@ public class ChromeTabbedActivity extends ChromeActivity {
|
||||
getToolbarManager().getTabStripHeightSupplier(),
|
||||
mModuleRegistrySupplier,
|
||||
@@ -3322,7 +3322,8 @@ public class ChromeTabbedActivity extends ChromeActivity {
|
||||
mEdgeToEdgeControllerSupplier,
|
||||
- getStartupMetricsTracker());
|
||||
+ getStartupMetricsTracker(),
|
||||
mTopInsetCoordinatorSupplier,
|
||||
getStartupMetricsTracker(),
|
||||
- mRootUiCoordinator.getExclusiveAccessManager());
|
||||
+ mRootUiCoordinator.getExclusiveAccessManager(),
|
||||
+ mBookmarkManagerOpenerSupplier);
|
||||
}
|
||||
return mTabDelegateFactory;
|
||||
@@ -286,36 +335,37 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/TabbedModeTabDe
|
||||
import org.chromium.chrome.browser.browser_controls.BrowserControlsStateProvider;
|
||||
import org.chromium.chrome.browser.compositor.CompositorViewHolder;
|
||||
import org.chromium.chrome.browser.contextmenu.ChromeContextMenuPopulator;
|
||||
@@ -82,6 +83,7 @@ public class TabbedModeTabDelegateFactory implements TabDelegateFactory {
|
||||
private final OneshotSupplier<ModuleRegistry> mModuleRegistrySupplier;
|
||||
private final ObservableSupplier<EdgeToEdgeController> mEdgeToEdgeControllerSupplier;
|
||||
@@ -89,6 +90,8 @@ public class TabbedModeTabDelegateFactory implements TabDelegateFactory {
|
||||
private final ObservableSupplier<TopInsetCoordinator> mTopInsetCoordinatorSupplier;
|
||||
private final StartupMetricsTracker mStartupMetricsTracker;
|
||||
@Nullable private final ExclusiveAccessManager mExclusiveAccessManager;
|
||||
+ private final ObservableSupplier<BookmarkManagerOpener> mBookmarkManagerOpenerSupplier;
|
||||
|
||||
+
|
||||
private NativePageFactory mNativePageFactory;
|
||||
|
||||
@@ -111,7 +113,8 @@ public class TabbedModeTabDelegateFactory implements TabDelegateFactory {
|
||||
@NonNull ObservableSupplier<Integer> tabStripHeightSupplier,
|
||||
@NonNull OneshotSupplier<ModuleRegistry> moduleRegistrySupplier,
|
||||
public TabbedModeTabDelegateFactory(
|
||||
@@ -119,7 +122,8 @@ public class TabbedModeTabDelegateFactory implements TabDelegateFactory {
|
||||
@NonNull ObservableSupplier<EdgeToEdgeController> edgeToEdgeControllerSupplier,
|
||||
- StartupMetricsTracker startupMetricsTracker) {
|
||||
+ StartupMetricsTracker startupMetricsTracker,
|
||||
ObservableSupplier<TopInsetCoordinator> topInsetCoordinatorSupplier,
|
||||
StartupMetricsTracker startupMetricsTracker,
|
||||
- @Nullable ExclusiveAccessManager exclusiveAccessManager) {
|
||||
+ @Nullable ExclusiveAccessManager exclusiveAccessManager,
|
||||
+ @NonNull ObservableSupplier<BookmarkManagerOpener> bookmarkManagerOpenerSupplier) {
|
||||
mActivity = activity;
|
||||
mAppBrowserControlsVisibilityDelegate = appBrowserControlsVisibilityDelegate;
|
||||
mShareDelegateSupplier = shareDelegateSupplier;
|
||||
@@ -138,6 +141,7 @@ public class TabbedModeTabDelegateFactory implements TabDelegateFactory {
|
||||
mModuleRegistrySupplier = moduleRegistrySupplier;
|
||||
mEdgeToEdgeControllerSupplier = edgeToEdgeControllerSupplier;
|
||||
@@ -148,6 +152,7 @@ public class TabbedModeTabDelegateFactory implements TabDelegateFactory {
|
||||
mTopInsetCoordinatorSupplier = topInsetCoordinatorSupplier;
|
||||
mStartupMetricsTracker = startupMetricsTracker;
|
||||
mExclusiveAccessManager = exclusiveAccessManager;
|
||||
+ mBookmarkManagerOpenerSupplier = bookmarkManagerOpenerSupplier;
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -204,7 +208,8 @@ public class TabbedModeTabDelegateFactory implements TabDelegateFactory {
|
||||
mTabStripHeightSupplier,
|
||||
@@ -218,7 +223,8 @@ public class TabbedModeTabDelegateFactory implements TabDelegateFactory {
|
||||
mModuleRegistrySupplier,
|
||||
mEdgeToEdgeControllerSupplier,
|
||||
mTopInsetCoordinatorSupplier,
|
||||
- mStartupMetricsTracker);
|
||||
+ mStartupMetricsTracker,
|
||||
+ mBookmarkManagerOpenerSupplier);
|
||||
@@ -379,7 +429,7 @@ new file mode 100644
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/identity_disc/IdentityDiscController.java b/chrome/android/java/src/org/chromium/chrome/browser/identity_disc/IdentityDiscController.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/identity_disc/IdentityDiscController.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/identity_disc/IdentityDiscController.java
|
||||
@@ -167,7 +167,10 @@ public class IdentityDiscController
|
||||
@@ -146,7 +146,10 @@ public class IdentityDiscController
|
||||
|
||||
mButtonData.setButtonSpec(
|
||||
buttonSpecWithDrawableAndDescription(mButtonData.getButtonSpec(), email));
|
||||
@@ -402,45 +452,45 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/native_page/Nat
|
||||
import org.chromium.chrome.browser.browser_controls.BrowserControlsMarginSupplier;
|
||||
import org.chromium.chrome.browser.browser_controls.BrowserControlsStateProvider;
|
||||
import org.chromium.chrome.browser.fullscreen.BrowserControlsManager;
|
||||
@@ -81,6 +82,7 @@ public class NativePageFactory {
|
||||
private final OneshotSupplier<ModuleRegistry> mModuleRegistrySupplier;
|
||||
@@ -83,6 +84,7 @@ public class NativePageFactory {
|
||||
private final ObservableSupplier<EdgeToEdgeController> mEdgeToEdgeControllerSupplier;
|
||||
private final ObservableSupplier<TopInsetCoordinator> mTopInsetCoordinatorSupplier;
|
||||
private final StartupMetricsTracker mStartupMetricsTracker;
|
||||
+ private final ObservableSupplier<BookmarkManagerOpener> mBookmarkManagerOpenerSupplier;
|
||||
private NewTabPageCreationTracker mNewTabPageCreationTracker;
|
||||
|
||||
private NativePageBuilder mNativePageBuilder;
|
||||
@@ -103,7 +105,8 @@ public class NativePageFactory {
|
||||
@NonNull ObservableSupplier<Integer> tabStripHeightSupplier,
|
||||
@@ -106,7 +108,8 @@ public class NativePageFactory {
|
||||
@NonNull OneshotSupplier<ModuleRegistry> moduleRegistrySupplier,
|
||||
@NonNull ObservableSupplier<EdgeToEdgeController> edgeToEdgeControllerSupplier,
|
||||
@NonNull ObservableSupplier<TopInsetCoordinator> topInsetCoordinatorSupplier,
|
||||
- @NonNull StartupMetricsTracker startupMetricsTracker) {
|
||||
+ @NonNull StartupMetricsTracker startupMetricsTracker,
|
||||
+ @NonNull ObservableSupplier<BookmarkManagerOpener> bookmarkManagerOpenerSupplier) {
|
||||
mActivity = activity;
|
||||
mBottomSheetController = sheetController;
|
||||
mBrowserControlsManager = browserControlsManager;
|
||||
@@ -121,6 +124,7 @@ public class NativePageFactory {
|
||||
mModuleRegistrySupplier = moduleRegistrySupplier;
|
||||
@@ -125,6 +128,7 @@ public class NativePageFactory {
|
||||
mEdgeToEdgeControllerSupplier = edgeToEdgeControllerSupplier;
|
||||
mTopInsetCoordinatorSupplier = topInsetCoordinatorSupplier;
|
||||
mStartupMetricsTracker = startupMetricsTracker;
|
||||
+ mBookmarkManagerOpenerSupplier = bookmarkManagerOpenerSupplier;
|
||||
}
|
||||
|
||||
private NativePageBuilder getBuilder() {
|
||||
@@ -144,7 +148,8 @@ public class NativePageFactory {
|
||||
mTabStripHeightSupplier,
|
||||
@@ -149,7 +153,8 @@ public class NativePageFactory {
|
||||
mModuleRegistrySupplier,
|
||||
mEdgeToEdgeControllerSupplier,
|
||||
mTopInsetCoordinatorSupplier,
|
||||
- mStartupMetricsTracker);
|
||||
+ mStartupMetricsTracker,
|
||||
+ mBookmarkManagerOpenerSupplier);
|
||||
}
|
||||
return mNativePageBuilder;
|
||||
}
|
||||
@@ -177,9 +182,10 @@ public class NativePageFactory {
|
||||
private final OneshotSupplier<ModuleRegistry> mModuleRegistrySupplier;
|
||||
@@ -183,9 +188,10 @@ public class NativePageFactory {
|
||||
private final ObservableSupplier<EdgeToEdgeController> mEdgeToEdgeControllerSupplier;
|
||||
private final ObservableSupplier<TopInsetCoordinator> mTopInsetCoordinatorSupplier;
|
||||
private final StartupMetricsTracker mStartupMetricsTracker;
|
||||
+ private final ObservableSupplier<BookmarkManagerOpener> mBookmarkManagerOpenerSupplier;
|
||||
|
||||
@@ -450,28 +500,28 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/native_page/Nat
|
||||
Supplier<NewTabPageCreationTracker> newTabPageCreationTracker,
|
||||
BottomSheetController sheetController,
|
||||
BrowserControlsManager browserControlsManager,
|
||||
@@ -196,7 +202,8 @@ public class NativePageFactory {
|
||||
ObservableSupplier<Integer> tabStripHeightSupplier,
|
||||
@@ -203,7 +209,8 @@ public class NativePageFactory {
|
||||
OneshotSupplier<ModuleRegistry> moduleRegistrySupplier,
|
||||
ObservableSupplier<EdgeToEdgeController> edgeToEdgeControllerSupplier,
|
||||
ObservableSupplier<TopInsetCoordinator> topInsetCoordinatorSupplier,
|
||||
- StartupMetricsTracker startupMetricsTracker) {
|
||||
+ StartupMetricsTracker startupMetricsTracker,
|
||||
+ @NonNull ObservableSupplier<BookmarkManagerOpener> bookmarkManagerOpenerSupplier) {
|
||||
mActivity = activity;
|
||||
mNewTabPageCreationTracker = newTabPageCreationTracker;
|
||||
mBottomSheetController = sheetController;
|
||||
@@ -215,6 +222,7 @@ public class NativePageFactory {
|
||||
mModuleRegistrySupplier = moduleRegistrySupplier;
|
||||
@@ -223,6 +230,7 @@ public class NativePageFactory {
|
||||
mEdgeToEdgeControllerSupplier = edgeToEdgeControllerSupplier;
|
||||
mTopInsetCoordinatorSupplier = topInsetCoordinatorSupplier;
|
||||
mStartupMetricsTracker = startupMetricsTracker;
|
||||
+ mBookmarkManagerOpenerSupplier = bookmarkManagerOpenerSupplier;
|
||||
}
|
||||
|
||||
protected NativePage buildNewTabPage(Tab tab, String url) {
|
||||
@@ -252,7 +260,8 @@ public class NativePageFactory {
|
||||
mTabStripHeightSupplier,
|
||||
@@ -261,7 +269,8 @@ public class NativePageFactory {
|
||||
mModuleRegistrySupplier,
|
||||
mEdgeToEdgeControllerSupplier,
|
||||
mTopInsetCoordinatorSupplier,
|
||||
- mStartupMetricsTracker);
|
||||
+ mStartupMetricsTracker,
|
||||
+ mBookmarkManagerOpenerSupplier);
|
||||
@@ -493,7 +543,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/native_page/Nat
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage.java b/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage.java
|
||||
@@ -116,6 +116,9 @@ import org.chromium.ui.base.DeviceFormFactor;
|
||||
@@ -125,6 +125,9 @@ import org.chromium.ui.base.DeviceFormFactor;
|
||||
import org.chromium.ui.base.WindowAndroid;
|
||||
import org.chromium.url.GURL;
|
||||
|
||||
@@ -503,17 +553,17 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage.
|
||||
import java.util.List;
|
||||
|
||||
/** Provides functionality when the user interacts with the NTP. */
|
||||
@@ -483,7 +486,8 @@ public class NewTabPage
|
||||
ObservableSupplier<Integer> tabStripHeightSupplier,
|
||||
@@ -503,7 +506,8 @@ public class NewTabPage
|
||||
OneshotSupplier<ModuleRegistry> moduleRegistrySupplier,
|
||||
ObservableSupplier<EdgeToEdgeController> edgeToEdgeControllerSupplier,
|
||||
ObservableSupplier<TopInsetCoordinator> topInsetCoordinatorSupplier,
|
||||
- StartupMetricsTracker startupMetricsTracker) {
|
||||
+ StartupMetricsTracker startupMetricsTracker,
|
||||
+ @NonNull ObservableSupplier<BookmarkManagerOpener> bookmarkManagerOpenerSupplier) {
|
||||
mConstructedTimeNs = System.nanoTime();
|
||||
TraceEvent.begin(TAG);
|
||||
|
||||
@@ -507,7 +511,7 @@ public class NewTabPage
|
||||
@@ -528,7 +532,7 @@ public class NewTabPage
|
||||
|
||||
SuggestionsNavigationDelegate navigationDelegate =
|
||||
new SuggestionsNavigationDelegate(
|
||||
@@ -525,23 +575,23 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage.
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageLayout.java b/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageLayout.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageLayout.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageLayout.java
|
||||
@@ -14,6 +14,7 @@ import android.text.Editable;
|
||||
@@ -13,6 +13,7 @@ import android.graphics.Rect;
|
||||
import android.text.Editable;
|
||||
import android.util.AttributeSet;
|
||||
import android.view.DragEvent;
|
||||
import android.view.LayoutInflater;
|
||||
+import android.view.ViewStub;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.view.ViewStub;
|
||||
@@ -39,6 +40,7 @@ import org.chromium.chrome.browser.composeplate.ComposeplateUtils;
|
||||
import org.chromium.chrome.browser.feed.FeedSurfaceScrollDelegate;
|
||||
@@ -41,6 +42,7 @@ import org.chromium.chrome.browser.feed.FeedSurfaceScrollDelegate;
|
||||
import org.chromium.chrome.browser.flags.ChromeFeatureList;
|
||||
import org.chromium.chrome.browser.incognito.IncognitoUtils;
|
||||
import org.chromium.chrome.browser.lens.LensEntryPoint;
|
||||
+import org.chromium.chrome.browser.flags.ChromeFeatureList;
|
||||
import org.chromium.chrome.browser.lens.LensMetrics;
|
||||
import org.chromium.chrome.browser.lifecycle.ActivityLifecycleDispatcher;
|
||||
import org.chromium.chrome.browser.logo.LogoBridge.Logo;
|
||||
@@ -54,7 +56,7 @@ import org.chromium.chrome.browser.profiles.Profile;
|
||||
@@ -58,7 +60,7 @@ import org.chromium.chrome.browser.profiles.Profile;
|
||||
import org.chromium.chrome.browser.suggestions.tile.MostVisitedTilesCoordinator;
|
||||
import org.chromium.chrome.browser.suggestions.tile.TileGroup;
|
||||
import org.chromium.chrome.browser.suggestions.tile.TileGroup.Delegate;
|
||||
@@ -550,7 +600,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageL
|
||||
import org.chromium.chrome.browser.tab_ui.InvalidationAwareThumbnailProvider;
|
||||
import org.chromium.chrome.browser.ui.native_page.TouchEnabledDelegate;
|
||||
import org.chromium.chrome.browser.util.BrowserUiUtils;
|
||||
@@ -99,6 +101,8 @@ public class NewTabPageLayout extends LinearLayout
|
||||
@@ -103,6 +105,8 @@ public class NewTabPageLayout extends LinearLayout
|
||||
private @Nullable DisplayStyleObserver mDisplayStyleObserver;
|
||||
private CallbackController mCallbackController = new CallbackController();
|
||||
|
||||
@@ -559,7 +609,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageL
|
||||
/**
|
||||
* Whether the tiles shown in the layout have finished loading.
|
||||
* With {@link #mHasShownView}, it's one of the 2 flags used to track initialisation progress.
|
||||
@@ -111,7 +115,7 @@ public class NewTabPageLayout extends LinearLayout
|
||||
@@ -115,7 +119,7 @@ public class NewTabPageLayout extends LinearLayout
|
||||
*/
|
||||
private boolean mHasShownView;
|
||||
|
||||
@@ -567,16 +617,16 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageL
|
||||
+ private boolean mSearchProviderHasLogo = false;
|
||||
private boolean mSearchProviderIsGoogle;
|
||||
private boolean mShowingNonStandardGoogleLogo;
|
||||
|
||||
@@ -278,6 +282,7 @@ public class NewTabPageLayout extends LinearLayout
|
||||
private boolean mIsOmniboxMobileParityUpdateV2Enabled;
|
||||
@@ -300,6 +304,7 @@ public class NewTabPageLayout extends LinearLayout
|
||||
initializeMostVisitedTilesCoordinator(
|
||||
mProfile, lifecycleDispatcher, tileGroupDelegate, touchEnabledDelegate);
|
||||
initializeDseIconView(searchProviderIsGoogle);
|
||||
initializeDseIconView(shouldShowDseIcon());
|
||||
+ initializeShortcuts();
|
||||
initializeSearchBoxTextView();
|
||||
initializeVoiceSearchButton();
|
||||
initializeLensButton();
|
||||
@@ -632,7 +637,7 @@ public class NewTabPageLayout extends LinearLayout
|
||||
@@ -684,7 +689,7 @@ public class NewTabPageLayout extends LinearLayout
|
||||
|
||||
if (mInitialTileNum == null) {
|
||||
mInitialTileNum =
|
||||
@@ -585,7 +635,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageL
|
||||
}
|
||||
|
||||
int currentOrientation = getResources().getConfiguration().orientation;
|
||||
@@ -700,7 +705,7 @@ public class NewTabPageLayout extends LinearLayout
|
||||
@@ -752,7 +757,7 @@ public class NewTabPageLayout extends LinearLayout
|
||||
&& mInitialized) {
|
||||
return;
|
||||
}
|
||||
@@ -594,7 +644,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageL
|
||||
mSearchProviderIsGoogle = isGoogle;
|
||||
|
||||
if (!mSearchProviderIsGoogle) {
|
||||
@@ -1096,6 +1101,22 @@ public class NewTabPageLayout extends LinearLayout
|
||||
@@ -1181,6 +1186,22 @@ public class NewTabPageLayout extends LinearLayout
|
||||
return mMostVisitedTilesCoordinator;
|
||||
}
|
||||
|
||||
@@ -632,7 +682,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/suggestions/Sug
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/suggestions/SuggestionsNavigationDelegate.java b/chrome/android/java/src/org/chromium/chrome/browser/suggestions/SuggestionsNavigationDelegate.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/suggestions/SuggestionsNavigationDelegate.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/suggestions/SuggestionsNavigationDelegate.java
|
||||
@@ -22,16 +22,41 @@ import org.chromium.ui.base.PageTransition;
|
||||
@@ -23,17 +23,42 @@ import org.chromium.ui.base.PageTransition;
|
||||
import org.chromium.ui.mojom.WindowOpenDisposition;
|
||||
import org.chromium.url.GURL;
|
||||
|
||||
@@ -645,6 +695,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/suggestions/Sug
|
||||
+import org.chromium.chrome.browser.bookmarks.BookmarkManagerOpener;
|
||||
+
|
||||
/** Extension of {@link NativePageNavigationDelegate} with suggestions-specific methods. */
|
||||
@NullMarked
|
||||
public class SuggestionsNavigationDelegate extends NativePageNavigationDelegateImpl {
|
||||
|
||||
+ private final @NonNull ObservableSupplier<BookmarkManagerOpener> mBookmarkManagerOpenerSupplier;
|
||||
@@ -678,10 +729,10 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/suggestions/Sug
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/suggestions/tile/MostVisitedTilesCoordinator.java b/chrome/android/java/src/org/chromium/chrome/browser/suggestions/tile/MostVisitedTilesCoordinator.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/suggestions/tile/MostVisitedTilesCoordinator.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/suggestions/tile/MostVisitedTilesCoordinator.java
|
||||
@@ -64,15 +64,11 @@ public class MostVisitedTilesCoordinator implements ConfigurationChangedObserver
|
||||
@@ -65,15 +65,11 @@ public class MostVisitedTilesCoordinator implements ConfigurationChangedObserver
|
||||
mActivity = activity;
|
||||
mActivityLifecycleDispatcher = activityLifecycleDispatcher;
|
||||
|
||||
((ViewStub) mvTilesContainerLayout.findViewById(R.id.mv_tiles_layout_stub)).inflate();
|
||||
- MostVisitedTilesLayout tilesLayout =
|
||||
+ MostVisitedTilesGridLayout tilesLayout =
|
||||
mvTilesContainerLayout.findViewById(R.id.mv_tiles_layout);
|
||||
@@ -990,33 +1041,33 @@ new file mode 100644
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/suggestions/tile/MostVisitedTilesMediator.java b/chrome/android/java/src/org/chromium/chrome/browser/suggestions/tile/MostVisitedTilesMediator.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/suggestions/tile/MostVisitedTilesMediator.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/suggestions/tile/MostVisitedTilesMediator.java
|
||||
@@ -45,7 +45,7 @@ public class MostVisitedTilesMediator implements TileGroup.Observer, TemplateUrl
|
||||
@@ -44,7 +44,7 @@ public class MostVisitedTilesMediator implements TileGroup.Observer {
|
||||
|
||||
private final Resources mResources;
|
||||
private final UiConfig mUiConfig;
|
||||
- private final MostVisitedTilesLayout mMvTilesLayout;
|
||||
+ private final MostVisitedTilesGridLayout mMvTilesLayout;
|
||||
private final ViewStub mNoMvPlaceholderStub;
|
||||
private final PropertyModel mModel;
|
||||
private final boolean mIsTablet;
|
||||
@@ -68,7 +68,7 @@ public class MostVisitedTilesMediator implements TileGroup.Observer, TemplateUrl
|
||||
private final int mTileViewLandscapePadding;
|
||||
@@ -67,7 +67,7 @@ public class MostVisitedTilesMediator implements TileGroup.Observer {
|
||||
public MostVisitedTilesMediator(
|
||||
Resources resources,
|
||||
UiConfig uiConfig,
|
||||
- MostVisitedTilesLayout mvTilesLayout,
|
||||
+ MostVisitedTilesGridLayout mvTilesLayout,
|
||||
ViewStub noMvPlaceholderStub,
|
||||
TileRenderer renderer,
|
||||
PropertyModel propertyModel,
|
||||
@@ -174,7 +174,6 @@ public class MostVisitedTilesMediator implements TileGroup.Observer, TemplateUrl
|
||||
boolean isTablet,
|
||||
@@ -211,7 +211,6 @@ public class MostVisitedTilesMediator implements TileGroup.Observer {
|
||||
|
||||
@Override
|
||||
public void onCustomTileCreation(Tile tile) {
|
||||
- mMvTilesLayout.ensureTileIsInViewOnNextLayout(tile.getIndex());
|
||||
}
|
||||
|
||||
public void onConfigurationChanged() {
|
||||
@@ -303,7 +302,5 @@ public class MostVisitedTilesMediator implements TileGroup.Observer, TemplateUrl
|
||||
@Override
|
||||
@@ -329,7 +328,5 @@ public class MostVisitedTilesMediator implements TileGroup.Observer {
|
||||
|
||||
double firstTileScore = mTileGroup.getSuggestionScore(firstTile.getUrl());
|
||||
if (firstTileScore < MVT_CUSTOMIZATION_IPH_TILE_SCORE_THRESHOULD) return;
|
||||
@@ -1027,25 +1078,25 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/suggestions/til
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/suggestions/tile/TileDragDelegateImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/suggestions/tile/TileDragDelegateImpl.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/suggestions/tile/TileDragDelegateImpl.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/suggestions/tile/TileDragDelegateImpl.java
|
||||
@@ -64,7 +64,7 @@ class TileDragDelegateImpl implements TileGroup.TileDragDelegate, TileDragSessio
|
||||
@@ -74,7 +74,7 @@ class TileDragDelegateImpl implements TileDragDelegate, TileDragSession.Delegate
|
||||
private static final float DOMINATE_TRESHOLD_RATIO = 0.4f;
|
||||
|
||||
// Parent container for dragged tiles.
|
||||
- private final MostVisitedTilesLayout mMvTilesLayout;
|
||||
+ private final MostVisitedTilesGridLayout mMvTilesLayout;
|
||||
|
||||
private final float mTileWidthPx;
|
||||
private final @Px float mTileWidthPx;
|
||||
|
||||
@@ -85,7 +85,7 @@ class TileDragDelegateImpl implements TileGroup.TileDragDelegate, TileDragSessio
|
||||
// Runnable to cancel tile movement that might not have completed yet, due to animation.
|
||||
private @Nullable Runnable mPendingChangeCanceller;
|
||||
@@ -100,7 +100,7 @@ class TileDragDelegateImpl implements TileDragDelegate, TileDragSession.Delegate
|
||||
// (e.g., for Swap Flow, to allow fast repeated keyboard-triggered swaps) the action.
|
||||
private @Nullable Runnable mPendingChangeFinalizer;
|
||||
|
||||
- public TileDragDelegateImpl(MostVisitedTilesLayout mvTilesLayout) {
|
||||
+ public TileDragDelegateImpl(MostVisitedTilesGridLayout mvTilesLayout) {
|
||||
mMvTilesLayout = mvTilesLayout;
|
||||
Resources res = mMvTilesLayout.getResources();
|
||||
mTileWidthPx = res.getDimensionPixelSize(R.dimen.tile_view_width);
|
||||
@@ -187,7 +187,7 @@ class TileDragDelegateImpl implements TileGroup.TileDragDelegate, TileDragSessio
|
||||
@@ -269,7 +269,7 @@ class TileDragDelegateImpl implements TileDragDelegate, TileDragSession.Delegate
|
||||
|
||||
@Override
|
||||
public SiteSuggestion getTileViewData(TileView view) {
|
||||
@@ -1053,11 +1104,11 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/suggestions/til
|
||||
+ return null;
|
||||
}
|
||||
|
||||
private void cancelPendingChange() {
|
||||
@Override
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/suggestions/tile/TileRenderer.java b/chrome/android/java/src/org/chromium/chrome/browser/suggestions/tile/TileRenderer.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/suggestions/tile/TileRenderer.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/suggestions/tile/TileRenderer.java
|
||||
@@ -170,7 +170,7 @@ public class TileRenderer {
|
||||
@@ -174,7 +174,7 @@ public class TileRenderer {
|
||||
*/
|
||||
public void renderTileSection(
|
||||
List<Tile> sectionTiles,
|
||||
@@ -1066,7 +1117,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/suggestions/til
|
||||
TileGroup.TileSetupDelegate setupDelegate) {
|
||||
try (TraceEvent e = TraceEvent.scoped("TileRenderer.renderTileSection")) {
|
||||
// Map the old tile views by url so they can be reused later.
|
||||
@@ -238,7 +238,7 @@ public class TileRenderer {
|
||||
@@ -263,7 +263,7 @@ public class TileRenderer {
|
||||
*/
|
||||
@VisibleForTesting
|
||||
SuggestionsTileView buildTileView(
|
||||
@@ -1075,16 +1126,16 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/suggestions/til
|
||||
SuggestionsTileView tileView =
|
||||
(SuggestionsTileView)
|
||||
LayoutInflater.from(parent.getContext())
|
||||
@@ -308,7 +308,7 @@ public class TileRenderer {
|
||||
@@ -330,7 +330,7 @@ public class TileRenderer {
|
||||
return tileView;
|
||||
}
|
||||
|
||||
- View buildDivider(TilesLinearLayout parent) {
|
||||
+ View buildDivider(MostVisitedTilesGridLayout parent) {
|
||||
return (View)
|
||||
- SuggestionsTileVerticalDivider buildDivider(TilesLinearLayout parent) {
|
||||
+ SuggestionsTileVerticalDivider buildDivider(MostVisitedTilesGridLayout parent) {
|
||||
return (SuggestionsTileVerticalDivider)
|
||||
LayoutInflater.from(parent.getContext())
|
||||
.inflate(R.layout.suggestions_tile_vertical_divider, parent, false);
|
||||
@@ -329,7 +329,7 @@ public class TileRenderer {
|
||||
@@ -351,7 +351,7 @@ public class TileRenderer {
|
||||
}
|
||||
|
||||
TileView buildAddCustomLinksButton(
|
||||
@@ -1096,7 +1147,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/suggestions/til
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/suggestions/tile/TilesLinearLayout.java b/chrome/android/java/src/org/chromium/chrome/browser/suggestions/tile/TilesLinearLayout.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/suggestions/tile/TilesLinearLayout.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/suggestions/tile/TilesLinearLayout.java
|
||||
@@ -24,7 +24,7 @@ import java.util.List;
|
||||
@@ -26,7 +26,7 @@ import java.util.List;
|
||||
* #getChildCount()} and {@link #getChildAt()}.
|
||||
*/
|
||||
@NullMarked
|
||||
@@ -1120,7 +1171,7 @@ diff --git a/chrome/browser/engagement/important_sites_util.cc b/chrome/browser/
|
||||
diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browser/flags/android/chrome_feature_list.cc
|
||||
--- a/chrome/browser/flags/android/chrome_feature_list.cc
|
||||
+++ b/chrome/browser/flags/android/chrome_feature_list.cc
|
||||
@@ -327,6 +327,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
|
||||
@@ -339,6 +339,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
|
||||
&kIncognitoScreenshot,
|
||||
&kInstanceSwitcherV2,
|
||||
&kKeyboardEscBackNavigation,
|
||||
@@ -1131,15 +1182,15 @@ diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browse
|
||||
diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
|
||||
--- a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
|
||||
+++ b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
|
||||
@@ -457,6 +457,7 @@ public abstract class ChromeFeatureList {
|
||||
"MayLaunchUrlUsesSeparateStoragePartition";
|
||||
public static final String MINI_ORIGIN_BAR = "MiniOriginBar";
|
||||
@@ -475,6 +475,7 @@ public abstract class ChromeFeatureList {
|
||||
public static final String MITIGATE_LEGACY_SEARCH_ENGINE_PROMO_OVERLAP =
|
||||
"MitigateLegacySearchEnginePromoOverlap";
|
||||
public static final String MOST_VISITED_TILES_CUSTOMIZATION = "MostVisitedTilesCustomization";
|
||||
+ public static final String SIMPLIFIED_NTP = "SimplifiedNTP";
|
||||
public static final String SEARCH_READY_OMNIBOX = "SearchReadyOmnibox";
|
||||
public static final String MOST_VISITED_TILES_RESELECT = "MostVisitedTilesReselect";
|
||||
public static final String MULTI_INSTANCE_APPLICATION_STATUS_CLEANUP =
|
||||
@@ -886,7 +887,7 @@ public abstract class ChromeFeatureList {
|
||||
@@ -932,7 +933,7 @@ public abstract class ChromeFeatureList {
|
||||
/* defaultValueInTests= */ true);
|
||||
public static final CachedFlag sLockBackPressHandlerAtStart =
|
||||
newCachedFlag(LOCK_BACK_PRESS_HANDLER_AT_START, true);
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -19,8 +19,8 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn
|
||||
--- a/build/config/compiler/BUILD.gn
|
||||
+++ b/build/config/compiler/BUILD.gn
|
||||
@@ -405,7 +405,7 @@ config("compiler") {
|
||||
} else if ((is_posix && !is_nacl) || is_fuchsia) {
|
||||
@@ -440,7 +440,7 @@ config("compiler") {
|
||||
} else if (is_posix || is_fuchsia) {
|
||||
if (current_os != "aix") {
|
||||
# Not available on aix.
|
||||
- cflags += [ "-fstack-protector" ]
|
||||
|
||||
@@ -282,7 +282,7 @@ diff --git a/third_party/blink/public/common/widget/device_emulation_params.h b/
|
||||
diff --git a/third_party/blink/renderer/core/css/css_properties.json5 b/third_party/blink/renderer/core/css/css_properties.json5
|
||||
--- a/third_party/blink/renderer/core/css/css_properties.json5
|
||||
+++ b/third_party/blink/renderer/core/css/css_properties.json5
|
||||
@@ -4313,6 +4313,7 @@
|
||||
@@ -4337,6 +4337,7 @@
|
||||
},
|
||||
{
|
||||
name: "opacity",
|
||||
@@ -290,7 +290,7 @@ diff --git a/third_party/blink/renderer/core/css/css_properties.json5 b/third_pa
|
||||
property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"],
|
||||
interpolable: true,
|
||||
compositable: true,
|
||||
@@ -4320,7 +4321,6 @@
|
||||
@@ -4344,7 +4345,6 @@
|
||||
field_template: "primitive",
|
||||
default_value: "1.0",
|
||||
type_name: "float",
|
||||
@@ -399,7 +399,7 @@ diff --git a/third_party/blink/renderer/core/events/pointer_event.h b/third_part
|
||||
diff --git a/third_party/blink/renderer/core/exported/web_view_impl.cc b/third_party/blink/renderer/core/exported/web_view_impl.cc
|
||||
--- a/third_party/blink/renderer/core/exported/web_view_impl.cc
|
||||
+++ b/third_party/blink/renderer/core/exported/web_view_impl.cc
|
||||
@@ -1102,7 +1102,7 @@ WebPagePopupImpl* WebViewImpl::OpenPagePopup(PagePopupClient* client) {
|
||||
@@ -1113,7 +1113,7 @@ WebPagePopupImpl* WebViewImpl::OpenPagePopup(PagePopupClient* client) {
|
||||
page_popup_ = WebPagePopupImpl::Create(
|
||||
std::move(popup_widget_host), std::move(widget_host),
|
||||
std::move(widget_receiver), this, agent_group_scheduler,
|
||||
@@ -411,7 +411,7 @@ diff --git a/third_party/blink/renderer/core/exported/web_view_impl.cc b/third_p
|
||||
diff --git a/third_party/blink/renderer/core/frame/local_dom_window.cc b/third_party/blink/renderer/core/frame/local_dom_window.cc
|
||||
--- a/third_party/blink/renderer/core/frame/local_dom_window.cc
|
||||
+++ b/third_party/blink/renderer/core/frame/local_dom_window.cc
|
||||
@@ -1595,7 +1595,12 @@ int LocalDOMWindow::outerHeight() const {
|
||||
@@ -1613,7 +1613,12 @@ int LocalDOMWindow::outerHeight() const {
|
||||
if (frame->IsInFencedFrameTree()) {
|
||||
return innerHeight();
|
||||
}
|
||||
@@ -425,7 +425,7 @@ diff --git a/third_party/blink/renderer/core/frame/local_dom_window.cc b/third_p
|
||||
Page* page = frame->GetPage();
|
||||
if (!page)
|
||||
return 0;
|
||||
@@ -1620,7 +1625,12 @@ int LocalDOMWindow::outerWidth() const {
|
||||
@@ -1638,7 +1643,12 @@ int LocalDOMWindow::outerWidth() const {
|
||||
if (frame->IsInFencedFrameTree()) {
|
||||
return innerWidth();
|
||||
}
|
||||
@@ -439,7 +439,7 @@ diff --git a/third_party/blink/renderer/core/frame/local_dom_window.cc b/third_p
|
||||
Page* page = frame->GetPage();
|
||||
if (!page)
|
||||
return 0;
|
||||
@@ -1824,7 +1834,8 @@ double LocalDOMWindow::devicePixelRatio() const {
|
||||
@@ -1842,7 +1852,8 @@ double LocalDOMWindow::devicePixelRatio() const {
|
||||
if (!GetFrame())
|
||||
return 0.0;
|
||||
|
||||
@@ -448,8 +448,8 @@ diff --git a/third_party/blink/renderer/core/frame/local_dom_window.cc b/third_p
|
||||
+ return GetFrame()->DevicePixelRatio(/*with_zoom_factor*/false);
|
||||
}
|
||||
|
||||
void LocalDOMWindow::scrollBy(double x, double y) const {
|
||||
@@ -2446,6 +2457,23 @@ DOMWindow* LocalDOMWindow::open(v8::Isolate* isolate,
|
||||
ScriptPromise<IDLUndefined> LocalDOMWindow::scrollBy(ScriptState* script_state,
|
||||
@@ -2483,6 +2494,23 @@ DOMWindow* LocalDOMWindow::open(v8::Isolate* isolate,
|
||||
if (!completed_url.IsEmpty() || result.new_window)
|
||||
result.frame->Navigate(frame_request, WebFrameLoadType::kStandard);
|
||||
|
||||
@@ -473,7 +473,7 @@ diff --git a/third_party/blink/renderer/core/frame/local_dom_window.cc b/third_p
|
||||
// TODO(japhet): window-open-noopener.html?_top and several tests in
|
||||
// html/browsers/windows/browsing-context-names/ appear to require that
|
||||
// the special case target names (_top, _parent, _self) ignore opener
|
||||
@@ -2497,6 +2525,15 @@ DOMWindow* LocalDOMWindow::openPictureInPictureWindow(
|
||||
@@ -2534,6 +2562,15 @@ DOMWindow* LocalDOMWindow::openPictureInPictureWindow(
|
||||
DCHECK(result.new_window);
|
||||
|
||||
result.frame->Navigate(frame_request, WebFrameLoadType::kStandard);
|
||||
@@ -492,7 +492,7 @@ diff --git a/third_party/blink/renderer/core/frame/local_dom_window.cc b/third_p
|
||||
diff --git a/third_party/blink/renderer/core/frame/local_frame.cc b/third_party/blink/renderer/core/frame/local_frame.cc
|
||||
--- a/third_party/blink/renderer/core/frame/local_frame.cc
|
||||
+++ b/third_party/blink/renderer/core/frame/local_frame.cc
|
||||
@@ -1662,6 +1662,10 @@ void LocalFrame::RestoreScrollOffsets() {
|
||||
@@ -1661,6 +1661,10 @@ void LocalFrame::RestoreScrollOffsets() {
|
||||
saved_scroll_offsets_ = nullptr;
|
||||
}
|
||||
|
||||
@@ -503,7 +503,7 @@ diff --git a/third_party/blink/renderer/core/frame/local_frame.cc b/third_party/
|
||||
void LocalFrame::SetLayoutZoomFactor(float factor) {
|
||||
SetZoomFactors(factor, text_zoom_factor_, css_zoom_factor_);
|
||||
}
|
||||
@@ -1850,12 +1854,16 @@ mojom::blink::DevicePostureType LocalFrame::GetDevicePosture() {
|
||||
@@ -1849,12 +1853,16 @@ mojom::blink::DevicePostureType LocalFrame::GetDevicePosture() {
|
||||
return mojo_handler_->GetDevicePosture();
|
||||
}
|
||||
|
||||
@@ -522,7 +522,7 @@ diff --git a/third_party/blink/renderer/core/frame/local_frame.cc b/third_party/
|
||||
return ratio;
|
||||
}
|
||||
|
||||
@@ -3410,6 +3418,11 @@ void LocalFrame::SetScaleFactor(float scale_factor) {
|
||||
@@ -3409,6 +3417,11 @@ void LocalFrame::SetScaleFactor(float scale_factor) {
|
||||
DCHECK(!GetDocument() || !GetDocument()->Printing());
|
||||
DCHECK(IsMainFrame());
|
||||
|
||||
@@ -537,7 +537,7 @@ diff --git a/third_party/blink/renderer/core/frame/local_frame.cc b/third_party/
|
||||
diff --git a/third_party/blink/renderer/core/frame/local_frame.h b/third_party/blink/renderer/core/frame/local_frame.h
|
||||
--- a/third_party/blink/renderer/core/frame/local_frame.h
|
||||
+++ b/third_party/blink/renderer/core/frame/local_frame.h
|
||||
@@ -443,7 +443,8 @@ class CORE_EXPORT LocalFrame final
|
||||
@@ -434,7 +434,8 @@ class CORE_EXPORT LocalFrame final
|
||||
void SetInViewSourceMode(bool = true);
|
||||
|
||||
void SetLayoutZoomFactor(float);
|
||||
@@ -547,7 +547,7 @@ diff --git a/third_party/blink/renderer/core/frame/local_frame.h b/third_party/b
|
||||
void SetTextZoomFactor(float);
|
||||
float TextZoomFactor() const { return text_zoom_factor_; }
|
||||
void SetCssZoomFactor(float);
|
||||
@@ -452,7 +453,7 @@ class CORE_EXPORT LocalFrame final
|
||||
@@ -443,7 +444,7 @@ class CORE_EXPORT LocalFrame final
|
||||
float text_zoom_factor,
|
||||
float css_zoom_factor);
|
||||
|
||||
@@ -556,7 +556,7 @@ diff --git a/third_party/blink/renderer/core/frame/local_frame.h b/third_party/b
|
||||
|
||||
// Informs the local root's document and its local descendant subtree that a
|
||||
// media query value changed.
|
||||
@@ -1112,6 +1113,7 @@ class CORE_EXPORT LocalFrame final
|
||||
@@ -1102,6 +1103,7 @@ class CORE_EXPORT LocalFrame final
|
||||
unsigned did_run_detach_impl_ : 1 = false;
|
||||
|
||||
float layout_zoom_factor_;
|
||||
@@ -662,10 +662,10 @@ diff --git a/third_party/blink/renderer/core/frame/screen_metrics_emulator.h b/t
|
||||
diff --git a/third_party/blink/renderer/core/frame/web_frame_widget_impl.cc b/third_party/blink/renderer/core/frame/web_frame_widget_impl.cc
|
||||
--- a/third_party/blink/renderer/core/frame/web_frame_widget_impl.cc
|
||||
+++ b/third_party/blink/renderer/core/frame/web_frame_widget_impl.cc
|
||||
@@ -2027,6 +2027,14 @@ void WebFrameWidgetImpl::ApplyVisualPropertiesSizing(
|
||||
@@ -1959,6 +1959,14 @@ void WebFrameWidgetImpl::ApplyVisualPropertiesSizing(
|
||||
|
||||
if (auto* device_emulator = DeviceEmulator()) {
|
||||
device_emulator->UpdateVisualProperties(visual_properties);
|
||||
if (DeviceEmulator() && widget_base_ && !widget_base_->WillBeDestroyed()) {
|
||||
DeviceEmulator()->UpdateVisualProperties(visual_properties);
|
||||
+ // Shink the view according to browsercontrols
|
||||
+ size_ = widget_base_->DIPsToCeiledBlinkSpace(
|
||||
+ device_emulator->ViewWindowSize());
|
||||
@@ -734,7 +734,7 @@ diff --git a/third_party/blink/renderer/core/input/touch.cc b/third_party/blink/
|
||||
diff --git a/third_party/blink/renderer/core/page/page.cc b/third_party/blink/renderer/core/page/page.cc
|
||||
--- a/third_party/blink/renderer/core/page/page.cc
|
||||
+++ b/third_party/blink/renderer/core/page/page.cc
|
||||
@@ -109,6 +109,12 @@
|
||||
@@ -108,6 +108,12 @@
|
||||
#include "ui/color/color_provider_utils.h"
|
||||
#include "ui/gfx/geometry/insets_conversions.h"
|
||||
|
||||
@@ -747,7 +747,7 @@ diff --git a/third_party/blink/renderer/core/page/page.cc b/third_party/blink/re
|
||||
namespace blink {
|
||||
|
||||
namespace {
|
||||
@@ -1306,7 +1312,94 @@ void Page::UpdateAcceleratedCompositingSettings() {
|
||||
@@ -1293,7 +1299,94 @@ void Page::UpdateAcceleratedCompositingSettings() {
|
||||
}
|
||||
}
|
||||
|
||||
@@ -856,7 +856,7 @@ diff --git a/third_party/blink/renderer/core/page/page.h b/third_party/blink/ren
|
||||
private:
|
||||
friend class ScopedPagePauser;
|
||||
class CloseTaskHandler;
|
||||
@@ -726,6 +730,11 @@ class CORE_EXPORT Page final : public GarbageCollected<Page>,
|
||||
@@ -724,6 +728,11 @@ class CORE_EXPORT Page final : public GarbageCollected<Page>,
|
||||
// browser side FrameTree has the FrameTree::Type of kFencedFrame.
|
||||
bool is_fenced_frame_tree_ = false;
|
||||
|
||||
@@ -871,7 +871,7 @@ diff --git a/third_party/blink/renderer/core/page/page.h b/third_party/blink/ren
|
||||
diff --git a/third_party/blink/renderer/core/style/computed_style.h b/third_party/blink/renderer/core/style/computed_style.h
|
||||
--- a/third_party/blink/renderer/core/style/computed_style.h
|
||||
+++ b/third_party/blink/renderer/core/style/computed_style.h
|
||||
@@ -1970,6 +1970,12 @@ class ComputedStyle final : public ComputedStyleBase {
|
||||
@@ -2003,6 +2003,12 @@ class ComputedStyle final : public ComputedStyleBase {
|
||||
IsRunningBackdropFilterAnimationOnCompositor();
|
||||
}
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@ Based on Chromium 133.0.6943.49
|
||||
README.md | 12 +
|
||||
base/threading/thread_restrictions.h | 9 +
|
||||
base/trace_event/builtin_categories.h | 1 +
|
||||
components/BUILD.gn | 7 +
|
||||
components/BUILD.gn | 4 +
|
||||
components/adblock/BUILD.gn | 36 +
|
||||
components/adblock/CHANGELOG.md | 746 +++++++++
|
||||
components/adblock/LICENSE | 674 ++++++++
|
||||
@@ -348,7 +348,7 @@ Based on Chromium 133.0.6943.49
|
||||
content/shell/browser/shell.cc | 9 +
|
||||
content/shell/browser/shell_browser_context.h | 7 +
|
||||
.../shell/browser/shell_browser_main_parts.cc | 10 +-
|
||||
...web_request_proxying_url_loader_factory.cc | 5 +
|
||||
...web_request_proxying_url_loader_factory.cc | 6 +-
|
||||
net/url_request/redirect_info.h | 8 +
|
||||
.../network/public/cpp/net_ipc_param_traits.h | 5 +
|
||||
.../blink/public/mojom/frame/frame.mojom | 8 +
|
||||
@@ -357,7 +357,7 @@ Based on Chromium 133.0.6943.49
|
||||
.../renderer/core/exported/web_document.cc | 50 +
|
||||
.../core/frame/local_frame_mojo_handler.cc | 12 +
|
||||
.../core/frame/local_frame_mojo_handler.h | 5 +
|
||||
.../blink/renderer/core/html/html_element.cc | 12 +-
|
||||
.../blink/renderer/core/html/html_element.cc | 8 +-
|
||||
.../url_loader/mojo_url_loader_client.cc | 6 +-
|
||||
tools/eyeo/generate_interdiffs.sh | 150 ++
|
||||
tools/eyeo/generate_modules.sh | 259 +++
|
||||
@@ -365,7 +365,7 @@ Based on Chromium 133.0.6943.49
|
||||
tools/eyeo/update_git_grafts.py | 138 ++
|
||||
tools/gritsettings/resource_ids.spec | 12 +
|
||||
.../histograms/metadata/extensions/enums.xml | 8 +-
|
||||
361 files changed, 48844 insertions(+), 8 deletions(-)
|
||||
361 files changed, 48837 insertions(+), 9 deletions(-)
|
||||
create mode 100644 components/adblock/BUILD.gn
|
||||
create mode 100644 components/adblock/CHANGELOG.md
|
||||
create mode 100644 components/adblock/LICENSE
|
||||
@@ -700,7 +700,7 @@ Based on Chromium 133.0.6943.49
|
||||
diff --git a/DEPS b/DEPS
|
||||
--- a/DEPS
|
||||
+++ b/DEPS
|
||||
@@ -277,6 +277,7 @@ vars = {
|
||||
@@ -278,6 +278,7 @@ vars = {
|
||||
'download_libvpx_testdata': False,
|
||||
|
||||
'android_git': 'https://android.googlesource.com',
|
||||
@@ -708,9 +708,9 @@ diff --git a/DEPS b/DEPS
|
||||
'aomedia_git': 'https://aomedia.googlesource.com',
|
||||
'boringssl_git': 'https://boringssl.googlesource.com',
|
||||
'chrome_git': 'https://chrome-internal.googlesource.com',
|
||||
@@ -512,6 +513,11 @@ vars = {
|
||||
@@ -521,6 +522,11 @@ vars = {
|
||||
# and whatever else without interference from each other.
|
||||
'compiler_rt_revision': '2a4f69a118bdc5d03c415de1b9b166b2f1d4084f',
|
||||
'clusterfuzz_data_revision':'392cb8a05c3db5963d09b615987fe5fcb081088e',
|
||||
|
||||
+ # Three lines of non-changing comments so that
|
||||
+ # the commit queue can handle CLs rolling feed
|
||||
@@ -719,8 +719,8 @@ diff --git a/DEPS b/DEPS
|
||||
+
|
||||
# If you change this, also update the libc++ revision in
|
||||
# //buildtools/deps_revisions.gni.
|
||||
'libcxx_revision': '2c359c239b138a20a03f798e47889448ef131c22',
|
||||
@@ -1567,6 +1573,10 @@ deps = {
|
||||
'libcxx_revision': 'adbb4a5210ae2a8a4e27fa6199221156c02a9b1a',
|
||||
@@ -1604,6 +1610,10 @@ deps = {
|
||||
'condition': 'checkout_android and checkout_src_internal',
|
||||
},
|
||||
|
||||
@@ -729,7 +729,7 @@ diff --git a/DEPS b/DEPS
|
||||
+ },
|
||||
+
|
||||
'src/docs/website': {
|
||||
'url': Var('chromium_git') + '/website.git' + '@' + 'a812d22617824ad2cd291e110378ccec5ae7735f',
|
||||
'url': Var('chromium_git') + '/website.git' + '@' + 'a89f6810f6a5b0e11e4ec00387e9f97e8f6c23ae',
|
||||
},
|
||||
diff --git a/LICENSE b/LICENSE
|
||||
--- a/LICENSE
|
||||
@@ -786,7 +786,7 @@ diff --git a/base/threading/thread_restrictions.h b/base/threading/thread_restri
|
||||
|
||||
#ifndef BASE_THREADING_THREAD_RESTRICTIONS_H_
|
||||
#define BASE_THREADING_THREAD_RESTRICTIONS_H_
|
||||
@@ -170,6 +174,9 @@ class OverlayProcessorWebView;
|
||||
@@ -172,6 +176,9 @@ class OverlayProcessorWebView;
|
||||
class ScopedAllowInitGLBindings;
|
||||
class VizCompositorThreadRunnerWebView;
|
||||
} // namespace android_webview
|
||||
@@ -796,7 +796,7 @@ diff --git a/base/threading/thread_restrictions.h b/base/threading/thread_restri
|
||||
namespace ash {
|
||||
class LoginEventRecorder;
|
||||
class StartupCustomizationDocument;
|
||||
@@ -661,6 +668,8 @@ class BASE_EXPORT ScopedAllowBlocking {
|
||||
@@ -654,6 +661,8 @@ class BASE_EXPORT ScopedAllowBlocking {
|
||||
friend class ::BrowserStateDirectoryBuilder;
|
||||
#endif
|
||||
|
||||
@@ -808,7 +808,7 @@ diff --git a/base/threading/thread_restrictions.h b/base/threading/thread_restri
|
||||
diff --git a/base/trace_event/builtin_categories.h b/base/trace_event/builtin_categories.h
|
||||
--- a/base/trace_event/builtin_categories.h
|
||||
+++ b/base/trace_event/builtin_categories.h
|
||||
@@ -128,6 +128,7 @@ PERFETTO_DEFINE_CATEGORIES_IN_NAMESPACE_WITH_ATTRS(
|
||||
@@ -131,6 +131,7 @@ PERFETTO_DEFINE_CATEGORIES_IN_NAMESPACE_WITH_ATTRS(
|
||||
perfetto::Category("exo"),
|
||||
perfetto::Category("extensions"),
|
||||
perfetto::Category("explore_sites"),
|
||||
@@ -819,17 +819,7 @@ diff --git a/base/trace_event/builtin_categories.h b/base/trace_event/builtin_ca
|
||||
diff --git a/components/BUILD.gn b/components/BUILD.gn
|
||||
--- a/components/BUILD.gn
|
||||
+++ b/components/BUILD.gn
|
||||
@@ -1,6 +1,9 @@
|
||||
# Copyright 2014 The Chromium Authors
|
||||
# Use of this source code is governed by a BSD-style license that can be
|
||||
# found in the LICENSE file.
|
||||
+#
|
||||
+# This source code is a part of eyeo Chromium SDK.
|
||||
+# Use of this source code is governed by the GPLv3 that can be found in the components/adblock/LICENSE file.
|
||||
|
||||
import("//base/debug/debug.gni")
|
||||
import("//build/config/chrome_build.gni")
|
||||
@@ -182,6 +185,7 @@ test("components_unittests") {
|
||||
@@ -184,6 +184,7 @@ test("components_unittests") {
|
||||
|
||||
deps = [
|
||||
"//base",
|
||||
@@ -837,7 +827,7 @@ diff --git a/components/BUILD.gn b/components/BUILD.gn
|
||||
"//components/affiliations/core/browser:unit_tests",
|
||||
"//components/aggregation_service:unit_tests",
|
||||
"//components/apdu:unit_tests",
|
||||
@@ -962,6 +966,7 @@ test("components_unittests") {
|
||||
@@ -966,6 +967,7 @@ test("components_unittests") {
|
||||
|
||||
repack("components_tests_pak") {
|
||||
sources = [
|
||||
@@ -845,7 +835,7 @@ diff --git a/components/BUILD.gn b/components/BUILD.gn
|
||||
"$root_gen_dir/components/arc/input_overlay_resources.pak",
|
||||
"$root_gen_dir/components/autofill/core/browser/geo/autofill_address_rewriter_resources.pak",
|
||||
"$root_gen_dir/components/components_resources.pak",
|
||||
@@ -978,6 +983,7 @@ repack("components_tests_pak") {
|
||||
@@ -984,6 +986,7 @@ repack("components_tests_pak") {
|
||||
# TODO(b/207518736): Input overlay resources will be changed to proto soon,
|
||||
# thus not going to move this resource pak to under ash.
|
||||
"//chromeos/ash/experiences/arc/input_overlay/resources:resources_grit",
|
||||
@@ -853,7 +843,7 @@ diff --git a/components/BUILD.gn b/components/BUILD.gn
|
||||
"//components/autofill/core/browser:autofill_address_rewriter_resources",
|
||||
"//components/metrics:server_urls_grd",
|
||||
"//components/omnibox/resources:omnibox_pedal_synonyms",
|
||||
@@ -1080,6 +1086,7 @@ if (use_blink) {
|
||||
@@ -1088,6 +1091,7 @@ if (use_blink) {
|
||||
deps = [
|
||||
"//base",
|
||||
"//base/test:test_support",
|
||||
@@ -50253,12 +50243,12 @@ diff --git a/content/browser/loader/navigation_url_loader_impl.cc b/content/brow
|
||||
#include "content/browser/loader/navigation_url_loader_impl.h"
|
||||
|
||||
#include <map>
|
||||
@@ -1254,7 +1258,7 @@ void NavigationURLLoaderImpl::OnReceiveRedirect(
|
||||
LogQueueTimeHistogram("Navigation.QueueTime.OnReceiveRedirect",
|
||||
resource_request_->is_outermost_main_frame);
|
||||
net::Error error = net::OK;
|
||||
- if (!bypass_redirect_checks_ &&
|
||||
+ if (!bypass_redirect_checks_ && !redirect_info.bypass_redirect_checks &&
|
||||
@@ -1526,7 +1530,7 @@ void NavigationURLLoaderImpl::OnReceiveRedirect(
|
||||
? head->bypass_redirect_checks
|
||||
: bypass_redirect_checks_;
|
||||
|
||||
- if (!bypass_redirect_checks &&
|
||||
+ if (!bypass_redirect_checks && !redirect_info.bypass_redirect_checks &&
|
||||
!IsSafeRedirectTarget(url_, redirect_info.new_url)) {
|
||||
error = net::ERR_UNSAFE_REDIRECT;
|
||||
} else if (--redirect_limit_ == 0) {
|
||||
@@ -50276,7 +50266,7 @@ diff --git a/content/browser/renderer_host/render_frame_host_impl.cc b/content/b
|
||||
|
||||
#include "content/browser/renderer_host/render_frame_host_impl.h"
|
||||
|
||||
@@ -3567,6 +3571,12 @@ void RenderFrameHostImpl::ExecuteJavaScriptMethod(
|
||||
@@ -3607,6 +3611,12 @@ void RenderFrameHostImpl::ExecuteJavaScriptMethod(
|
||||
std::move(callback));
|
||||
}
|
||||
|
||||
@@ -50303,7 +50293,7 @@ diff --git a/content/browser/renderer_host/render_frame_host_impl.h b/content/br
|
||||
|
||||
#ifndef CONTENT_BROWSER_RENDERER_HOST_RENDER_FRAME_HOST_IMPL_H_
|
||||
#define CONTENT_BROWSER_RENDERER_HOST_RENDER_FRAME_HOST_IMPL_H_
|
||||
@@ -500,6 +504,10 @@ class CONTENT_EXPORT RenderFrameHostImpl
|
||||
@@ -498,6 +502,10 @@ class CONTENT_EXPORT RenderFrameHostImpl
|
||||
const std::u16string& method_name,
|
||||
base::Value::List arguments,
|
||||
JavaScriptResultCallback callback) override;
|
||||
@@ -50328,7 +50318,7 @@ diff --git a/content/public/browser/render_frame_host.h b/content/public/browser
|
||||
|
||||
#ifndef CONTENT_PUBLIC_BROWSER_RENDER_FRAME_HOST_H_
|
||||
#define CONTENT_PUBLIC_BROWSER_RENDER_FRAME_HOST_H_
|
||||
@@ -557,6 +561,9 @@ class CONTENT_EXPORT RenderFrameHost : public IPC::Listener,
|
||||
@@ -556,6 +560,9 @@ class CONTENT_EXPORT RenderFrameHost : public IPC::Listener {
|
||||
virtual void AddMessageToConsole(blink::mojom::ConsoleMessageLevel level,
|
||||
const std::string& message) = 0;
|
||||
|
||||
@@ -50377,7 +50367,7 @@ diff --git a/content/public/test/fake_local_frame.cc b/content/public/test/fake_
|
||||
|
||||
#include "content/public/test/fake_local_frame.h"
|
||||
|
||||
@@ -99,6 +103,9 @@ void FakeLocalFrame::RequestVideoFrameAtWithBoundsHint(
|
||||
@@ -97,6 +101,9 @@ void FakeLocalFrame::RequestVideoFrameAtWithBoundsHint(
|
||||
void FakeLocalFrame::PluginActionAt(const gfx::Point& location,
|
||||
blink::mojom::PluginActionType action) {}
|
||||
|
||||
@@ -50401,7 +50391,7 @@ diff --git a/content/public/test/fake_local_frame.h b/content/public/test/fake_l
|
||||
|
||||
#ifndef CONTENT_PUBLIC_TEST_FAKE_LOCAL_FRAME_H_
|
||||
#define CONTENT_PUBLIC_TEST_FAKE_LOCAL_FRAME_H_
|
||||
@@ -80,6 +84,7 @@ class FakeLocalFrame : public blink::mojom::LocalFrame {
|
||||
@@ -79,6 +83,7 @@ class FakeLocalFrame : public blink::mojom::LocalFrame {
|
||||
RequestVideoFrameAtWithBoundsHintCallback callback) override;
|
||||
void PluginActionAt(const gfx::Point& location,
|
||||
blink::mojom::PluginActionType action) override;
|
||||
@@ -50422,7 +50412,7 @@ diff --git a/content/shell/BUILD.gn b/content/shell/BUILD.gn
|
||||
|
||||
import("//build/config/cast.gni")
|
||||
import("//build/config/chromeos/ui_mode.gni")
|
||||
@@ -162,6 +165,10 @@ inspector_protocol_generate("protocol_sources") {
|
||||
@@ -167,6 +170,10 @@ inspector_protocol_generate("protocol_sources") {
|
||||
static_library("content_shell_lib") {
|
||||
testonly = true
|
||||
sources = [
|
||||
@@ -50433,7 +50423,7 @@ diff --git a/content/shell/BUILD.gn b/content/shell/BUILD.gn
|
||||
"browser/protocol/browser_handler.cc",
|
||||
"browser/protocol/browser_handler.h",
|
||||
"browser/protocol/domain_handler.h",
|
||||
@@ -231,6 +238,7 @@ static_library("content_shell_lib") {
|
||||
@@ -236,6 +243,7 @@ static_library("content_shell_lib") {
|
||||
"browser/shell_platform_delegate_android.cc",
|
||||
"browser/shell_web_contents_view_delegate_android.cc",
|
||||
]
|
||||
@@ -50441,7 +50431,7 @@ diff --git a/content/shell/BUILD.gn b/content/shell/BUILD.gn
|
||||
}
|
||||
|
||||
if (is_mac) {
|
||||
@@ -312,6 +320,8 @@ static_library("content_shell_lib") {
|
||||
@@ -317,6 +325,8 @@ static_library("content_shell_lib") {
|
||||
"//base",
|
||||
"//base:base_static",
|
||||
"//cc/base",
|
||||
@@ -50450,7 +50440,7 @@ diff --git a/content/shell/BUILD.gn b/content/shell/BUILD.gn
|
||||
"//components/cdm/renderer",
|
||||
"//components/custom_handlers",
|
||||
"//components/custom_handlers:test_support",
|
||||
@@ -332,6 +342,7 @@ static_library("content_shell_lib") {
|
||||
@@ -337,6 +347,7 @@ static_library("content_shell_lib") {
|
||||
"//components/prefs",
|
||||
"//components/services/storage/test_api",
|
||||
"//components/url_formatter",
|
||||
@@ -50458,7 +50448,7 @@ diff --git a/content/shell/BUILD.gn b/content/shell/BUILD.gn
|
||||
"//components/variations",
|
||||
"//components/variations/service",
|
||||
"//components/web_cache/renderer",
|
||||
@@ -424,6 +435,7 @@ static_library("content_shell_lib") {
|
||||
@@ -428,6 +439,7 @@ static_library("content_shell_lib") {
|
||||
"//mojo/public/java/system:test_support",
|
||||
"//ui/android",
|
||||
]
|
||||
@@ -50466,7 +50456,7 @@ diff --git a/content/shell/BUILD.gn b/content/shell/BUILD.gn
|
||||
}
|
||||
|
||||
if (shell_use_toolkit_views) {
|
||||
@@ -515,6 +527,8 @@ repack("pak") {
|
||||
@@ -523,6 +535,8 @@ repack("pak") {
|
||||
|
||||
sources = [
|
||||
"$root_gen_dir/base/tracing/protos/tracing_proto_resources.pak",
|
||||
@@ -50475,7 +50465,7 @@ diff --git a/content/shell/BUILD.gn b/content/shell/BUILD.gn
|
||||
"$root_gen_dir/components/ukm_resources.pak",
|
||||
"$root_gen_dir/content/attribution_internals_resources.pak",
|
||||
"$root_gen_dir/content/browser/resources/media/media_internals_resources.pak",
|
||||
@@ -547,6 +561,8 @@ repack("pak") {
|
||||
@@ -556,6 +570,8 @@ repack("pak") {
|
||||
deps = [
|
||||
":resources",
|
||||
"//base/tracing/protos:chrome_track_event_resources",
|
||||
@@ -50483,7 +50473,7 @@ diff --git a/content/shell/BUILD.gn b/content/shell/BUILD.gn
|
||||
+ "//components/adblock/core/resources:adblock_resources",
|
||||
"//components/ukm/debug:resources",
|
||||
"//content:content_resources",
|
||||
"//content/browser/resources:resources",
|
||||
"//content/browser/resources",
|
||||
diff --git a/content/shell/app/shell_main_delegate.cc b/content/shell/app/shell_main_delegate.cc
|
||||
--- a/content/shell/app/shell_main_delegate.cc
|
||||
+++ b/content/shell/app/shell_main_delegate.cc
|
||||
@@ -50507,7 +50497,7 @@ diff --git a/content/shell/app/shell_main_delegate.cc b/content/shell/app/shell_
|
||||
#include "content/shell/common/shell_content_client.h"
|
||||
#include "content/shell/common/shell_paths.h"
|
||||
#include "content/shell/common/shell_switches.h"
|
||||
@@ -464,7 +468,7 @@ ContentBrowserClient* ShellMainDelegate::CreateContentBrowserClient() {
|
||||
@@ -466,7 +470,7 @@ ContentBrowserClient* ShellMainDelegate::CreateContentBrowserClient() {
|
||||
return browser_client_.get();
|
||||
}
|
||||
#endif
|
||||
@@ -50834,11 +50824,12 @@ diff --git a/extensions/browser/api/web_request/web_request_proxying_url_loader_
|
||||
#include "extensions/browser/api/web_request/web_request_proxying_url_loader_factory.h"
|
||||
|
||||
#include <memory>
|
||||
@@ -452,6 +456,7 @@ void WebRequestProxyingURLLoaderFactory::InProgressRequest::OnReceiveRedirect(
|
||||
TRACE_EVENT_FLAG_FLOW_IN | TRACE_EVENT_FLAG_FLOW_OUT);
|
||||
@@ -464,7 +468,7 @@ void WebRequestProxyingURLLoaderFactory::InProgressRequest::OnReceiveRedirect(
|
||||
head->bypass_redirect_checks = true;
|
||||
}
|
||||
|
||||
if (redirect_url_ != redirect_info.new_url &&
|
||||
+ !redirect_info.bypass_redirect_checks &&
|
||||
- if (!redirect_url_comes_from_extension &&
|
||||
+ if (!redirect_url_comes_from_extension && !redirect_info.bypass_redirect_checks &&
|
||||
!IsRedirectSafe(request_.url, redirect_info.new_url,
|
||||
info_->is_navigation_request)) {
|
||||
OnNetworkError(CreateURLLoaderCompletionStatus(net::ERR_UNSAFE_REDIRECT));
|
||||
@@ -50856,7 +50847,7 @@ diff --git a/net/url_request/redirect_info.h b/net/url_request/redirect_info.h
|
||||
#ifndef NET_URL_REQUEST_REDIRECT_INFO_H_
|
||||
#define NET_URL_REQUEST_REDIRECT_INFO_H_
|
||||
|
||||
@@ -83,6 +87,10 @@ struct NET_EXPORT RedirectInfo {
|
||||
@@ -89,6 +93,10 @@ struct NET_EXPORT RedirectInfo {
|
||||
// True if this is a redirect from Signed Exchange to its fallback URL.
|
||||
bool is_signed_exchange_fallback_redirect = false;
|
||||
|
||||
@@ -50881,7 +50872,7 @@ diff --git a/services/network/public/cpp/net_ipc_param_traits.h b/services/netwo
|
||||
#ifndef SERVICES_NETWORK_PUBLIC_CPP_NET_IPC_PARAM_TRAITS_H_
|
||||
#define SERVICES_NETWORK_PUBLIC_CPP_NET_IPC_PARAM_TRAITS_H_
|
||||
|
||||
@@ -275,6 +279,7 @@ IPC_STRUCT_TRAITS_BEGIN(net::RedirectInfo)
|
||||
@@ -277,6 +281,7 @@ IPC_STRUCT_TRAITS_BEGIN(net::RedirectInfo)
|
||||
IPC_STRUCT_TRAITS_MEMBER(new_referrer)
|
||||
IPC_STRUCT_TRAITS_MEMBER(insecure_scheme_was_upgraded)
|
||||
IPC_STRUCT_TRAITS_MEMBER(is_signed_exchange_fallback_redirect)
|
||||
@@ -50903,7 +50894,7 @@ diff --git a/third_party/blink/public/mojom/frame/frame.mojom b/third_party/blin
|
||||
|
||||
module blink.mojom;
|
||||
|
||||
@@ -983,6 +987,10 @@ interface LocalFrame {
|
||||
@@ -1010,6 +1014,10 @@ interface LocalFrame {
|
||||
// the given point in the view coordinate space.
|
||||
PluginActionAt(gfx.mojom.Point location, blink.mojom.PluginActionType action);
|
||||
|
||||
@@ -50928,7 +50919,7 @@ diff --git a/third_party/blink/public/web/web_document.h b/third_party/blink/pub
|
||||
#ifndef THIRD_PARTY_BLINK_PUBLIC_WEB_WEB_DOCUMENT_H_
|
||||
#define THIRD_PARTY_BLINK_PUBLIC_WEB_WEB_DOCUMENT_H_
|
||||
|
||||
@@ -151,6 +155,14 @@ class BLINK_EXPORT WebDocument : public WebNode {
|
||||
@@ -152,6 +156,14 @@ class BLINK_EXPORT WebDocument : public WebNode {
|
||||
WebCssOrigin = WebCssOrigin::kAuthor,
|
||||
BackForwardCacheAware = BackForwardCacheAware::kAllow);
|
||||
|
||||
@@ -50972,7 +50963,7 @@ diff --git a/third_party/blink/renderer/core/dom/events/event_target.cc b/third_
|
||||
diff --git a/third_party/blink/renderer/core/exported/web_document.cc b/third_party/blink/renderer/core/exported/web_document.cc
|
||||
--- a/third_party/blink/renderer/core/exported/web_document.cc
|
||||
+++ b/third_party/blink/renderer/core/exported/web_document.cc
|
||||
@@ -277,6 +277,56 @@ WebStyleSheetKey WebDocument::InsertStyleSheet(
|
||||
@@ -278,6 +278,56 @@ WebStyleSheetKey WebDocument::InsertStyleSheet(
|
||||
return injection_key;
|
||||
}
|
||||
|
||||
@@ -51072,7 +51063,7 @@ diff --git a/third_party/blink/renderer/core/frame/local_frame_mojo_handler.h b/
|
||||
|
||||
#ifndef THIRD_PARTY_BLINK_RENDERER_CORE_FRAME_LOCAL_FRAME_MOJO_HANDLER_H_
|
||||
#define THIRD_PARTY_BLINK_RENDERER_CORE_FRAME_LOCAL_FRAME_MOJO_HANDLER_H_
|
||||
@@ -114,6 +118,7 @@ class LocalFrameMojoHandler
|
||||
@@ -113,6 +117,7 @@ class LocalFrameMojoHandler
|
||||
void AddMessageToConsole(mojom::blink::ConsoleMessageLevel level,
|
||||
const WTF::String& message,
|
||||
bool discard_duplicates) final;
|
||||
@@ -51083,18 +51074,7 @@ diff --git a/third_party/blink/renderer/core/frame/local_frame_mojo_handler.h b/
|
||||
diff --git a/third_party/blink/renderer/core/html/html_element.cc b/third_party/blink/renderer/core/html/html_element.cc
|
||||
--- a/third_party/blink/renderer/core/html/html_element.cc
|
||||
+++ b/third_party/blink/renderer/core/html/html_element.cc
|
||||
@@ -23,6 +23,10 @@
|
||||
*
|
||||
*/
|
||||
|
||||
+// This source code is a part of eyeo Chromium SDK.
|
||||
+// Use of this source code is governed by the GPLv3 that can be found in the
|
||||
+// components/adblock/LICENSE file.
|
||||
+
|
||||
#include "third_party/blink/renderer/core/html/html_element.h"
|
||||
|
||||
#include "base/containers/enum_set.h"
|
||||
@@ -2507,7 +2511,13 @@ void HTMLElement::setSpellcheck(bool enable) {
|
||||
@@ -2618,7 +2618,13 @@ void HTMLElement::setSpellcheck(bool enable) {
|
||||
}
|
||||
|
||||
void HTMLElement::click() {
|
||||
@@ -51123,15 +51103,15 @@ diff --git a/third_party/blink/renderer/platform/loader/fetch/url_loader/mojo_ur
|
||||
#include "third_party/blink/renderer/platform/loader/fetch/url_loader/mojo_url_loader_client.h"
|
||||
|
||||
#include <iterator>
|
||||
@@ -390,7 +394,7 @@ void MojoURLLoaderClient::OnReceiveRedirect(
|
||||
OnComplete(network::URLLoaderCompletionStatus(net::ERR_ABORTED));
|
||||
@@ -391,7 +395,7 @@ void MojoURLLoaderClient::OnReceiveRedirect(
|
||||
return;
|
||||
}
|
||||
|
||||
- if (!bypass_redirect_checks_ &&
|
||||
+ if (!bypass_redirect_checks_ && !redirect_info.bypass_redirect_checks &&
|
||||
!Platform::Current()->IsRedirectSafe(GURL(last_loaded_url_),
|
||||
redirect_info.new_url)) {
|
||||
OnComplete(network::URLLoaderCompletionStatus(net::ERR_UNSAFE_REDIRECT));
|
||||
redirect_info.new_url,
|
||||
redirect_info.original_initiator)) {
|
||||
diff --git a/tools/eyeo/generate_interdiffs.sh b/tools/eyeo/generate_interdiffs.sh
|
||||
new file mode 100755
|
||||
--- /dev/null
|
||||
@@ -51773,7 +51753,7 @@ diff --git a/tools/gritsettings/resource_ids.spec b/tools/gritsettings/resource_
|
||||
# This file is used to assign starting resource ids for resources and strings
|
||||
# used by Chromium. This is done to ensure that resource ids are unique
|
||||
# across all the grd files. If you are adding a new grd file, please add
|
||||
@@ -1168,6 +1172,14 @@
|
||||
@@ -1192,6 +1196,14 @@
|
||||
"components/user_scripts/browser/resources/browser_resources.grd": {
|
||||
"includes": [7620],
|
||||
},
|
||||
@@ -51811,7 +51791,7 @@ diff --git a/tools/metrics/histograms/metadata/extensions/enums.xml b/tools/metr
|
||||
<int value="23" label="DELETED_AUDIO_MODEM_ON_TRANSMIT_FAIL"/>
|
||||
<int value="24" label="DELETED_AUDIO_ON_DEVICE_CHANGED"/>
|
||||
<int value="25" label="AUDIO_ON_DEVICES_CHANGED"/>
|
||||
@@ -3211,6 +3215,8 @@ Called by update_extension_permission.py.-->
|
||||
@@ -3221,6 +3225,8 @@ Called by update_extension_permission.py.-->
|
||||
<int value="261" label="kOmniboxDirectInput"/>
|
||||
<int value="262" label="kExperimentalActor"/>
|
||||
<int value="263" label="kEnterpriseLogin"/>
|
||||
|
||||
Reference in New Issue
Block a user