Patches for v137

This commit is contained in:
Carmelo Messina
2025-05-25 16:33:47 +02:00
parent e8574300e0
commit 08ce2310fe
38 changed files with 587 additions and 183 deletions
@@ -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 | 12 +-
.../browser/omnibox/LocationBarMediator.java | 10 +-
.../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, 798 insertions(+), 113 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
@@ -1924,27 +1924,25 @@ 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
@@ -89,6 +89,10 @@ import org.chromium.ui.base.WindowAndroid;
@@ -89,6 +89,11 @@ import org.chromium.ui.base.WindowAndroid;
import org.chromium.ui.interpolators.Interpolators;
import org.chromium.url.GURL;
+import org.chromium.chrome.browser.AlwaysIncognitoLinkInterceptor;
+import org.chromium.components.user_prefs.UserPrefs;
+import org.chromium.components.prefs.PrefService;
+import org.chromium.chrome.browser.profiles.ProfileManager;
+import org.chromium.chrome.browser.preferences.Pref;
+
import java.util.ArrayList;
import java.util.List;
import java.util.function.BooleanSupplier;
@@ -1223,10 +1227,16 @@ class LocationBarMediator
@@ -1223,10 +1228,13 @@ class LocationBarMediator
}
Tab tab = mLocationBarDataProvider.getTab();
if (tab == null) return false;
+ boolean historyEnabledInIncognito = false;
+ if (AlwaysIncognitoLinkInterceptor.isAlwaysIncognito()) {
+ PrefService prefService = UserPrefs.get(ProfileManager.getLastUsedRegularProfile());
+ historyEnabledInIncognito =
+ 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()
@@ -28,8 +28,9 @@ 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 | 8 +++-
...ookmark_model_merger_comparison_metrics.cc | 4 ++
.../bookmark_specifics_conversions.cc | 1 +
25 files changed, 241 insertions(+), 14 deletions(-)
26 files changed, 245 insertions(+), 14 deletions(-)
diff --git a/chrome/android/java/res/menu/main_menu.xml b/chrome/android/java/res/menu/main_menu.xml
--- a/chrome/android/java/res/menu/main_menu.xml
@@ -878,6 +879,27 @@ 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
@@ -10,9 +10,9 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../chrome/browser/app/ChromeActivity.java | 5 +++++
.../appmenu/AppMenuPropertiesDelegateImpl.java | 17 +++++++++++++++++
.../CustomTabAppMenuPropertiesDelegate.java | 1 +
.../TabbedAppMenuPropertiesDelegate.java | 2 +-
.../TabbedAppMenuPropertiesDelegate.java | 6 +++---
.../android/strings/android_chrome_strings.grd | 4 ++++
8 files changed, 36 insertions(+), 1 deletion(-)
8 files changed, 38 insertions(+), 3 deletions(-)
diff --git a/chrome/android/java/res/menu/custom_tabs_menu.xml b/chrome/android/java/res/menu/custom_tabs_menu.xml
--- a/chrome/android/java/res/menu/custom_tabs_menu.xml
@@ -108,6 +108,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/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
@@ -133,7 +133,7 @@ public class TabbedAppMenuPropertiesDelegate extends AppMenuPropertiesDelegateIm
if (menuGroup == MenuGroup.PAGE_MENU) {
preparePageMenu(menu, currentTab, handler, isIncognito);
}
- prepareCommonMenuItems(menu, menuGroup, isIncognito);
+ prepareCommonMenuItems(menu, menuGroup, isIncognito, currentTab);
}
private void setMenuGroupVisibility(@MenuGroup int menuGroup, Menu menu) {
@@ -296,7 +296,7 @@ public class TabbedAppMenuPropertiesDelegate extends AppMenuPropertiesDelegateIm
isNativePage, isFileScheme, isContentScheme, isIncognito, url));
@@ -117,6 +126,15 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/Tab
updateAutoDarkMenuItem(menu, currentTab, isNativePage);
// Only display reader mode settings menu option if the current page is in reader mode.
@@ -316,7 +316,7 @@ public class TabbedAppMenuPropertiesDelegate extends AppMenuPropertiesDelegateIm
.setVisible(ChromeFeatureList.sNewTabPageCustomization.isEnabled());
}
- private void prepareCommonMenuItems(Menu menu, @MenuGroup int menuGroup, boolean isIncognito) {
+ private void prepareCommonMenuItems(Menu menu, @MenuGroup int menuGroup, boolean isIncognito, Tab currentTab) {
boolean always_incognito = AlwaysIncognitoLinkInterceptor.isAlwaysIncognito();
if (always_incognito) {
final MenuItem newTabOption = menu.findItem(R.id.new_tab_menu_id);
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
@@ -999,24 +999,19 @@ diff --git a/content/browser/storage_partition_impl.cc b/content/browser/storage
diff --git a/content/public/browser/browsing_data_remover.h b/content/public/browser/browsing_data_remover.h
--- a/content/public/browser/browsing_data_remover.h
+++ b/content/public/browser/browsing_data_remover.h
@@ -151,9 +151,11 @@ class BrowsingDataRemover {
static constexpr DataType DATA_TYPE_RELATED_WEBSITE_SETS_PERMISSIONS = 1
<< 24;
@@ -162,11 +162,16 @@ class BrowsingDataRemover {
+ static constexpr DataType DATA_TYPE_SKIP_SSL_HOST_STATE = 1 << 25;
+
// Device bound sessions
// (https://github.com/WICG/dbsc/blob/main/README.md)
- static constexpr DataType DATA_TYPE_DEVICE_BOUND_SESSIONS = 1 << 25;
+ static constexpr DataType DATA_TYPE_DEVICE_BOUND_SESSIONS = 1 << 26;
// Clear-Site-Data Interaction with Prefetch and Prerender.
static constexpr DataType DATA_TYPE_PREFETCH_CACHE = 1 << 27;
- static constexpr DataType DATA_TYPE_PRERENDER_CACHE = 1 << 28;
+ static constexpr DataType DATA_TYPE_PRERENDER_CACHE = 1 << 29;
// Interest group data that should be cleared in response to user action,
// but not Clear-Site-Site data.
@@ -167,6 +169,9 @@ class BrowsingDataRemover {
// Embedders can add more datatypes beyond this point.
static constexpr DataType DATA_TYPE_CONTENT_END = DATA_TYPE_PRERENDER_CACHE;
+ static_assert(DATA_TYPE_CONTENT_END == DATA_TYPE_DEVICE_BOUND_SESSIONS,
+ static constexpr DataType DATA_TYPE_SKIP_SSL_HOST_STATE = 1 << 28;
+
+ static_assert(DATA_TYPE_CONTENT_END == DATA_TYPE_PRERENDER_CACHE,
+ "Please check.");
+
// All data stored by the Attribution Reporting API.
@@ -10,7 +10,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../browser/network/reporting_service_proxy.cc | 3 +++
.../renderer_host/render_frame_host_impl.cc | 6 ------
.../coop/cross_origin_opener_policy_reporter.cc | 16 +++++++---------
.../dip/document_isolation_policy_reporter.cc | 2 ++
.../dip/document_isolation_policy_reporter.cc | 3 +++
.../web_package/signed_exchange_reporter.cc | 2 ++
...content_switch_dependent_feature_overrides.cc | 1 +
.../Allow-building-without-enable_reporting.inc | 2 ++
@@ -26,7 +26,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../renderer/core/frame/reporting_context.cc | 9 +++++++++
.../renderer/core/frame/reporting_context.h | 7 +++++--
.../renderer/core/frame/reporting_observer.cc | 3 +--
22 files changed, 63 insertions(+), 25 deletions(-)
22 files changed, 64 insertions(+), 25 deletions(-)
create mode 100644 cromite_flags/services/network/public/cpp/features_cc/Allow-building-without-enable_reporting.inc
diff --git a/chrome/browser/net/chrome_report_sender.cc b/chrome/browser/net/chrome_report_sender.cc
@@ -219,7 +219,15 @@ diff --git a/content/browser/security/coop/cross_origin_opener_policy_reporter.c
diff --git a/content/browser/security/dip/document_isolation_policy_reporter.cc b/content/browser/security/dip/document_isolation_policy_reporter.cc
--- a/content/browser/security/dip/document_isolation_policy_reporter.cc
+++ b/content/browser/security/dip/document_isolation_policy_reporter.cc
@@ -94,11 +94,13 @@ void DocumentIsolationPolicyReporter::QueueAndNotify(
@@ -7,6 +7,7 @@
#include <string_view>
#include "base/values.h"
+#include "net/net_buildflags.h"
#include "content/public/browser/storage_partition.h"
#include "services/network/public/cpp/request_destination.h"
#include "services/network/public/mojom/network_context.mojom.h"
@@ -94,11 +95,13 @@ void DocumentIsolationPolicyReporter::QueueAndNotify(
}
body_to_pass.Set("disposition", disposition);
@@ -11,13 +11,15 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
chrome/browser/profiles/profile_attributes_entry.cc | 2 +-
chrome/browser/profiles/profile_impl.cc | 5 +----
chrome/browser/profiles/profile_manager.cc | 7 -------
.../supervised_user/supervised_user_browser_utils.cc | 1 +
chrome/browser/ui/webui/managed_ui_handler.cc | 4 ----
.../browser/ui/webui/management/management_ui_handler.cc | 4 ----
.../core/browser/supervised_user_pref_store.cc | 1 +
.../core/browser/supervised_user_preferences.cc | 6 +++++-
.../core/browser/supervised_user_service.cc | 5 +----
components/supervised_user/core/common/features.cc | 5 ++++-
13 files changed, 14 insertions(+), 31 deletions(-)
components/supervised_user/core/common/features.cc | 2 +-
extensions/browser/api/management/management_api.cc | 1 +
15 files changed, 13 insertions(+), 31 deletions(-)
diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
--- a/chrome/android/BUILD.gn
@@ -130,6 +132,17 @@ diff --git a/chrome/browser/profiles/profile_manager.cc b/chrome/browser/profile
#if BUILDFLAG(IS_CHROMEOS)
user_manager::User* user =
ash::ProfileHelper::Get()->GetUserByProfile(profile);
diff --git a/chrome/browser/supervised_user/supervised_user_browser_utils.cc b/chrome/browser/supervised_user/supervised_user_browser_utils.cc
--- a/chrome/browser/supervised_user/supervised_user_browser_utils.cc
+++ b/chrome/browser/supervised_user/supervised_user_browser_utils.cc
@@ -99,6 +99,7 @@ bool SupervisedUserCanSkipExtensionParentApprovals(const Profile* profile) {
}
bool AreExtensionsPermissionsEnabled(Profile* profile) {
+ if ((true)) return false;
#if BUILDFLAG(ENABLE_EXTENSIONS_CORE)
return profile->IsChild();
#else
diff --git a/chrome/browser/ui/webui/managed_ui_handler.cc b/chrome/browser/ui/webui/managed_ui_handler.cc
--- a/chrome/browser/ui/webui/managed_ui_handler.cc
+++ b/chrome/browser/ui/webui/managed_ui_handler.cc
@@ -225,13 +238,21 @@ diff --git a/components/supervised_user/core/common/features.cc b/components/sup
#if BUILDFLAG(IS_IOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
BUILDFLAG(IS_WIN)
const int kLocalWebApprovalBottomSheetLoadTimeoutDefaultValueMs = 5000;
@@ -141,4 +140,8 @@ BASE_FEATURE(kWaitUntilAccessTokenAvailableForClassifyUrl,
@@ -141,4 +140,5 @@ BASE_FEATURE(kWaitUntilAccessTokenAvailableForClassifyUrl,
#endif
);
+SET_CROMITE_FEATURE_DISABLED(kLocalWebApprovals);
+#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN)
+SET_CROMITE_FEATURE_DISABLED(kEnableExtensionsPermissionsForSupervisedUsersOnDesktop);
+#endif
} // namespace supervised_user
diff --git a/extensions/browser/api/management/management_api.cc b/extensions/browser/api/management/management_api.cc
--- a/extensions/browser/api/management/management_api.cc
+++ b/extensions/browser/api/management/management_api.cc
@@ -310,6 +310,7 @@ void AddExtensionInfo(const Extension* source_extension,
}
bool PlatformSupportsApprovalFlowForExtensions() {
+ if ((true)) return false;
#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
BUILDFLAG(IS_WIN)
return true;
--
@@ -32,6 +32,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
.../browser/tabwindow/TabWindowManager.java | 2 +
.../tabwindow/TabWindowManagerImpl.java | 10 ++
.../Ask-for-restart-on-connection-change.grdp | 15 +++
.../java/res/layout/floating_snackbar.xml | 10 ++
.../android/java/res/layout/snackbar.xml | 10 ++
.../ui/messages/snackbar/Snackbar.java | 16 +++
.../ui/messages/snackbar/SnackbarManager.java | 6 +
@@ -49,7 +50,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
.../blink/renderer/core/frame/local_frame.cc | 2 +
.../main_thread/frame_scheduler_impl.cc | 2 +
.../main_thread/page_scheduler_impl.cc | 9 +-
29 files changed, 322 insertions(+), 10 deletions(-)
30 files changed, 332 insertions(+), 10 deletions(-)
create mode 100644 chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/cromite/sAskForRestartOnConnectionChange.java
create mode 100644 chrome/browser/ui/android/strings/cromite_android_chrome_strings_grd/Ask-for-restart-on-connection-change.grdp
create mode 100644 cromite_flags/chrome/browser/about_flags_cc/Ask-for-restart-on-connection-change.inc
@@ -98,7 +99,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/offlinepages/in
+import org.chromium.base.supplier.ObservableSupplier;
+import org.chromium.url.GURL;
+import org.chromium.chrome.R;
+import org.chromium.chrome.browser.app.tabmodel.TabWindowManagerSingleton;
+import org.chromium.chrome.browser.app.tabwindow.TabWindowManagerSingleton;
+import org.chromium.chrome.browser.layouts.LayoutManager;
+import org.chromium.chrome.browser.compositor.layouts.Layout;
+import org.chromium.chrome.browser.compositor.layouts.LayoutManagerImpl;
@@ -111,7 +112,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/offlinepages/in
+import org.chromium.chrome.browser.tab.Tab;
+import org.chromium.chrome.browser.tabmodel.TabModelUtils;
+import org.chromium.chrome.browser.tabmodel.TabModelSelector;
+import org.chromium.chrome.browser.tabmodel.TabWindowManager;
+import org.chromium.chrome.browser.tabwindow.TabWindowManager;
+import org.chromium.chrome.browser.lifetime.ApplicationLifetime;
+import org.chromium.content_public.browser.WebContentsObserver;
+import org.chromium.content_public.browser.WebContents;
@@ -452,6 +453,25 @@ new file mode 100644
+ Not now
+ </message>
+</grit-part>
diff --git a/chrome/browser/ui/messages/android/java/res/layout/floating_snackbar.xml b/chrome/browser/ui/messages/android/java/res/layout/floating_snackbar.xml
--- a/chrome/browser/ui/messages/android/java/res/layout/floating_snackbar.xml
+++ b/chrome/browser/ui/messages/android/java/res/layout/floating_snackbar.xml
@@ -50,5 +50,15 @@ found in the LICENSE file.
android:paddingEnd="@dimen/snackbar_button_padding"
android:paddingStart="@dimen/snackbar_button_padding"
style="@style/TextButton" />
+
+ <org.chromium.ui.widget.ButtonCompat
+ android:id="@+id/snackbar_dismiss"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center_vertical"
+ android:paddingEnd="24dp"
+ android:paddingStart="24dp"
+ android:visibility="gone"
+ style="@style/TextButton" />
</LinearLayout>
diff --git a/chrome/browser/ui/messages/android/java/res/layout/snackbar.xml b/chrome/browser/ui/messages/android/java/res/layout/snackbar.xml
--- a/chrome/browser/ui/messages/android/java/res/layout/snackbar.xml
+++ b/chrome/browser/ui/messages/android/java/res/layout/snackbar.xml
@@ -43,7 +43,7 @@ Require: bromite-build-utils.patch
.../BromiteCustomContentSetting.java | 155 +++++++
.../BromiteCustomContentSettingImpl.java | 412 ++++++++++++++++++
...tomTriStateSiteSettingsPreferenceImpl.java | 24 +
.../ContentSettingsResources.java | 38 +-
.../ContentSettingsResources.java | 37 +-
.../site_settings/SingleCategorySettings.java | 54 ++-
.../site_settings/SingleWebsiteSettings.java | 58 ++-
.../site_settings/SiteSettings.java | 33 +-
@@ -84,7 +84,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 +
73 files changed, 1964 insertions(+), 102 deletions(-)
73 files changed, 1963 insertions(+), 102 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
@@ -2192,7 +2192,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
private final int mIcon;
private final int mIconBlocked;
private final int mTitle;
@@ -53,7 +53,29 @@ public class ContentSettingsResources {
@@ -53,7 +53,28 @@ public class ContentSettingsResources {
private final int mDisabledPrimaryText;
private int mDisabledDescriptionText;
@@ -2215,7 +2215,6 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
+ mSummaryOverrideForScreenReader = summaryOverrideForScreenReader;
+ mEnabledPrimaryText = 0;
+ mDisabledPrimaryText = 0;
+ mEnabledDescriptionText = 0;
+ mDisabledDescriptionText = 0;
+ }
+
@@ -2223,7 +2222,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
int icon,
int title,
@ContentSettingValues @Nullable Integer defaultEnabledValue,
@@ -629,6 +651,8 @@ public class ContentSettingsResources {
@@ -629,6 +650,8 @@ public class ContentSettingsResources {
R.string.website_settings_vr_ask,
R.string.website_settings_vr_block);
}
@@ -2232,7 +2231,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
assert false; // NOTREACHED
return assumeNonNull(null);
}
@@ -787,6 +811,14 @@ public class ContentSettingsResources {
@@ -787,6 +810,14 @@ public class ContentSettingsResources {
return getResourceItem(contentType).getDefaultDisabledValue();
}
@@ -2247,7 +2246,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.
*
@@ -961,6 +993,8 @@ public class ContentSettingsResources {
@@ -961,6 +992,8 @@ public class ContentSettingsResources {
*/
public static int @Nullable [] getTriStateSettingDescriptionIDs(
int contentType, boolean isPermissionSiteSettingsRadioButtonFeatureEnabled) {
@@ -8,10 +8,10 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
---
chrome/android/chrome_java_resources.gni | 2 +-
.../android/java/res/xml/main_preferences.xml | 4 +-
.../res/xml/privacy_preferences_cromite.xml | 192 ++++++++++++++++++
.../res/xml/privacy_preferences_cromite.xml | 191 ++++++++++++++++++
.../privacy/settings/PrivacySettings.java | 12 +-
.../Cromite-settings-ui.grdp | 15 ++
5 files changed, 217 insertions(+), 8 deletions(-)
5 files changed, 216 insertions(+), 8 deletions(-)
create mode 100644 chrome/android/java/res/xml/privacy_preferences_cromite.xml
create mode 100644 chrome/browser/ui/android/strings/cromite_android_chrome_strings_grd/Cromite-settings-ui.grdp
@@ -52,7 +52,7 @@ diff --git a/chrome/android/java/res/xml/privacy_preferences_cromite.xml b/chrom
new file mode 100644
--- /dev/null
+++ b/chrome/android/java/res/xml/privacy_preferences_cromite.xml
@@ -0,0 +1,192 @@
@@ -0,0 +1,191 @@
+<?xml version="1.0" encoding="utf-8"?><!--
+Copyright 2022 The Chromium Authors
+Use of this source code is governed by a BSD-style license that can be
@@ -190,6 +190,10 @@ new file mode 100644
+ android:persistent="false"/>
+
+ <!--Always hidden-->
+ <org.chromium.chrome.browser.safety_hub.SafetyHubExpandablePreference
+ android:key="advanced_protection_info"
+ android:title="@string/settings_privacy_and_security_advanced_protection_section_title"
+ app:isPreferenceVisible="false" />
+ <Preference
+ android:key="safe_browsing"
+ android:title="@string/prefs_safe_browsing_title"
@@ -213,14 +217,10 @@ new file mode 100644
+ android:fragment="org.chromium.components.privacy_sandbox.TrackingProtectionSettings"
+ app:isPreferenceVisible="false" />
+ <Preference
+ android:key="ip_protection"
+ android:title="@string/ip_protection_title"
+ android:fragment="org.chromium.components.privacy_sandbox.IpProtectionSettingsFragment"
+ app:isPreferenceVisible="false" />
+ <Preference
+ android:key="fp_protection"
+ android:title="@string/tracking_protection_fingerprinting_protection_title"
+ android:fragment="org.chromium.components.privacy_sandbox.FingerprintingProtectionSettingsFragment"
+ android:key="incognito_tracking_protections"
+ android:title="@string/incognito_tracking_protections_page_title"
+ android:summary="@string/incognito_tracking_protections_page_entrypoint_description"
+ android:fragment="org.chromium.components.privacy_sandbox.IncognitoTrackingProtectionsFragment"
+ app:isPreferenceVisible="false" />
+ <Preference
+ android:key="privacy_sandbox"
@@ -241,14 +241,13 @@ new file mode 100644
+ <org.chromium.components.browser_ui.settings.ChromeBasePreference
+ android:key="javascript_optimizer"
+ android:title="@string/website_settings_privacy_and_security_javascript_optimizer_row_label"
+ android:summary="@string/website_settings_privacy_and_security_javascript_optimizer_summary"
+ android:fragment="org.chromium.components.browser_ui.site_settings.SingleCategorySettings"
+ app:isPreferenceVisible="false" />
+</PreferenceScreen>
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
@@ -189,7 +189,7 @@ public class PrivacySettings extends ChromeBaseSettingsFragment
@@ -188,7 +188,7 @@ public class PrivacySettings extends ChromeBaseSettingsFragment
public void onCreatePreferencesCromite(Bundle savedInstanceState, String rootKey) {
mPageTitle.set(getString(R.string.prefs_privacy_security));
@@ -257,7 +256,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
Preference incognitoTrackingProtectionsPreference =
findPreference(PREF_INCOGNITO_TRACKING_PROTECTIONS);
@@ -280,10 +280,12 @@ public class PrivacySettings extends ChromeBaseSettingsFragment
@@ -279,10 +279,12 @@ public class PrivacySettings extends ChromeBaseSettingsFragment
ChromeSwitchPreference passwordLeakTogglePref =
(ChromeSwitchPreference) findPreference(PREF_PASSWORD_LEAK_DETECTION);
+22 -1
View File
@@ -35,6 +35,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
.../theme/chromium/win/tiles/SmallLogo.png | Bin 9784 -> 12363 bytes
.../chromium/product_logo_32.png | Bin 822 -> 2301 bytes
chrome/browser/BUILD.gn | 1 +
.../browser/flags/ChromeFeatureList.java | 2 +-
.../chrome/browser/omaha/UpdateConfigs.java | 2 +-
chrome/browser/prefs/BUILD.gn | 1 +
.../prefs/chrome_pref_service_factory.cc | 6 +-
@@ -58,8 +59,10 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
.../webui/version/resources/about_version.ts | 4 +-
.../resources/about_version_mobile.css | 9 ++
content/child/runtime_features.cc | 44 ++++-----
.../Cromite-Branding.inc | 1 +
tools/grit/grit/grd_reader.py | 35 +++++++
55 files changed, 201 insertions(+), 128 deletions(-)
57 files changed, 203 insertions(+), 129 deletions(-)
create mode 100644 cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/Cromite-Branding.inc
diff --git a/build/BUILD.gn b/build/BUILD.gn
--- a/build/BUILD.gn
@@ -13163,6 +13166,18 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
"//cc",
"//chrome:extra_resources",
"//chrome:resources",
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
@@ -1073,7 +1073,7 @@ public abstract class ChromeFeatureList {
public static final MutableFlagWithSafeDefault sSuppressToolbarCapturesAtGestureEnd =
newMutableFlagWithSafeDefault(SUPPRESS_TOOLBAR_CAPTURES_AT_GESTURE_END, false);
public static final MutableFlagWithSafeDefault sSwapNewTabAndNewTabInGroupAndroid =
- newMutableFlagWithSafeDefault(SWAP_NEW_TAB_AND_NEW_TAB_IN_GROUP_ANDROID, false);
+ newMutableFlagWithSafeDefault(SWAP_NEW_TAB_AND_NEW_TAB_IN_GROUP_ANDROID, true);
public static final MutableFlagWithSafeDefault sTabGroupEntryPointsAndroid =
newMutableFlagWithSafeDefault(TAB_GROUP_ENTRY_POINTS_ANDROID, false);
public static final MutableFlagWithSafeDefault sTabGroupParityBottomSheetAndroid =
diff --git a/chrome/browser/omaha/android/java/src/org/chromium/chrome/browser/omaha/UpdateConfigs.java b/chrome/browser/omaha/android/java/src/org/chromium/chrome/browser/omaha/UpdateConfigs.java
--- a/chrome/browser/omaha/android/java/src/org/chromium/chrome/browser/omaha/UpdateConfigs.java
+++ b/chrome/browser/omaha/android/java/src/org/chromium/chrome/browser/omaha/UpdateConfigs.java
@@ -19067,6 +19082,12 @@ diff --git a/content/child/runtime_features.cc b/content/child/runtime_features.
<< "PermissionElement cannot be enabled in this configuration. Use --"
<< switches::kEnableFeatures << "="
<< blink::features::kPermissionElement.name << " instead.";
diff --git a/cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/Cromite-Branding.inc b/cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/Cromite-Branding.inc
new file mode 100644
--- /dev/null
+++ b/cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/Cromite-Branding.inc
@@ -0,0 +1 @@
+SET_CROMITE_FEATURE_DISABLED(kSwapNewTabAndNewTabInGroupAndroid);
diff --git a/tools/grit/grit/grd_reader.py b/tools/grit/grit/grd_reader.py
--- a/tools/grit/grit/grd_reader.py
+++ b/tools/grit/grit/grd_reader.py
@@ -28,6 +28,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../read_anything/read_anything_app_controller.h | 4 ++++
chrome/utility/BUILD.gn | 2 +-
chrome/utility/services.cc | 8 --------
components/BUILD.gn | 2 +-
.../autofill_optimization_guide.cc | 5 +++--
.../omnibox/browser/autocomplete_controller.cc | 4 ++++
.../omnibox/browser/base_search_provider.cc | 4 ++--
@@ -53,7 +54,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../core/html/parser/html_document_parser.cc | 1 +
.../document_speculation_rules.cc | 1 +
.../platform/runtime_enabled_features.json5 | 2 +-
48 files changed, 122 insertions(+), 47 deletions(-)
49 files changed, 123 insertions(+), 48 deletions(-)
create mode 100644 cromite_flags/chrome/browser/browser_features_cc/Disable-all-predictors-code.inc
create mode 100644 cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/Disable-all-predictors-code.inc
create mode 100644 cromite_flags/chrome/common/chrome_features_cc/Disable-all-predictors-code.inc
@@ -583,6 +584,18 @@ diff --git a/chrome/utility/services.cc b/chrome/utility/services.cc
services.Add(RunScreenAIServiceFactory);
#endif // !BUILDFLAG(IS_ANDROID)
diff --git a/components/BUILD.gn b/components/BUILD.gn
--- a/components/BUILD.gn
+++ b/components/BUILD.gn
@@ -597,7 +597,7 @@ test("components_unittests") {
"//components/media_router/common/providers/cast/channel:unit_tests",
"//components/page_info:unit_tests",
"//components/permissions:unit_tests",
- "//components/permissions/prediction_service:unit_tests",
+ # "//components/permissions/prediction_service:unit_tests",
"//components/privacy_sandbox:unit_tests",
"//components/privacy_sandbox/privacy_sandbox_attestations:unit_tests",
"//components/safety_check:unit_tests",
diff --git a/components/autofill/core/browser/integrators/optimization_guide/autofill_optimization_guide.cc b/components/autofill/core/browser/integrators/optimization_guide/autofill_optimization_guide.cc
--- a/components/autofill/core/browser/integrators/optimization_guide/autofill_optimization_guide.cc
+++ b/components/autofill/core/browser/integrators/optimization_guide/autofill_optimization_guide.cc
@@ -16,8 +16,9 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
.../affiliation/password_affiliation_source_adapter.cc | 4 ++++
.../leak_detection/leak_detection_check_factory_impl.cc | 5 +++++
.../browser/leak_detection/leak_detection_check_impl.cc | 3 +--
.../password_manager/core/browser/password_manager.cc | 4 ++--
.../Disable-privacy-issues-in-password-manager.inc | 1 +
12 files changed, 24 insertions(+), 15 deletions(-)
13 files changed, 26 insertions(+), 17 deletions(-)
create mode 100644 cromite_flags/components/password_manager/core/browser/features/password_features_cc/Disable-privacy-issues-in-password-manager.inc
diff --git a/chrome/android/java/AndroidManifest.xml b/chrome/android/java/AndroidManifest.xml
@@ -168,6 +169,27 @@ diff --git a/components/password_manager/core/browser/leak_detection/leak_detect
}
void LeakDetectionCheckImpl::Start(LeakDetectionInitiator initiator,
diff --git a/components/password_manager/core/browser/password_manager.cc b/components/password_manager/core/browser/password_manager.cc
--- a/components/password_manager/core/browser/password_manager.cc
+++ b/components/password_manager/core/browser/password_manager.cc
@@ -498,7 +498,7 @@ void PasswordManager::RegisterProfilePrefs(
#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_ANDROID) || \
BUILDFLAG(IS_CHROMEOS)
registry->RegisterBooleanPref(prefs::kBiometricAuthenticationBeforeFilling,
- false);
+ true);
#endif // BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_ANDROID) ||
// BUILDFLAG(IS_CHROMEOS)
#if !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_IOS) // Desktop
@@ -531,7 +531,7 @@ void PasswordManager::RegisterProfilePrefs(
registry->RegisterBooleanPref(prefs::kAccountStoreMigratedToOSCryptAsync,
false);
registry->RegisterBooleanPref(
- prefs::kAutomaticPasskeyUpgrades, true,
+ prefs::kAutomaticPasskeyUpgrades, false,
user_prefs::PrefRegistrySyncable::SYNCABLE_PRIORITY_PREF);
}
diff --git a/cromite_flags/components/password_manager/core/browser/features/password_features_cc/Disable-privacy-issues-in-password-manager.inc b/cromite_flags/components/password_manager/core/browser/features/password_features_cc/Disable-privacy-issues-in-password-manager.inc
new file mode 100644
--- /dev/null
+43 -1
View File
@@ -12,11 +12,13 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../chrome/browser/settings/MainSettings.java | 2 +-
.../settings/SettingsNavigationImpl.java | 13 +----
chrome/browser/BUILD.gn | 1 -
chrome/browser/safety_check/android/BUILD.gn | 2 -
.../safety_check/SafetyCheckBridge.java | 4 +-
.../suggestions/action/OmniboxPedal.java | 3 -
chrome/browser/ui/tab_helpers.cc | 2 +-
.../site_settings/SiteSettings.java | 2 +-
.../Disable-safety-check.inc | 1 +
12 files changed, 9 insertions(+), 113 deletions(-)
14 files changed, 11 insertions(+), 117 deletions(-)
create mode 100644 cromite_flags/chrome/common/chrome_features_cc/Disable-safety-check.inc
diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
@@ -291,6 +293,46 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
"//chrome/browser/safety_hub/android",
"//chrome/browser/search_resumption:jni_headers",
"//chrome/browser/serial/android:jni_headers",
diff --git a/chrome/browser/safety_check/android/BUILD.gn b/chrome/browser/safety_check/android/BUILD.gn
--- a/chrome/browser/safety_check/android/BUILD.gn
+++ b/chrome/browser/safety_check/android/BUILD.gn
@@ -14,7 +14,6 @@ generate_jni("jni_headers") {
source_set("android") {
sources = [ "safety_check_bridge.cc" ]
deps = [
- ":jni_headers",
"//chrome/browser/signin:identity_manager_provider",
"//components/password_manager/core/browser/leak_detection",
"//components/prefs",
@@ -73,7 +72,6 @@ android_library("java") {
srcjar_deps = [
":bulk_leak_check_service_enums",
- ":jni_headers",
":safety_check_enums",
]
resources_package = "org.chromium.chrome.browser.safety_check"
diff --git a/chrome/browser/safety_check/android/java/src/org/chromium/chrome/browser/safety_check/SafetyCheckBridge.java b/chrome/browser/safety_check/android/java/src/org/chromium/chrome/browser/safety_check/SafetyCheckBridge.java
--- a/chrome/browser/safety_check/android/java/src/org/chromium/chrome/browser/safety_check/SafetyCheckBridge.java
+++ b/chrome/browser/safety_check/android/java/src/org/chromium/chrome/browser/safety_check/SafetyCheckBridge.java
@@ -26,7 +26,7 @@ public class SafetyCheckBridge {
/** Returns whether the user is signed in for the purposes of password check. */
boolean userSignedIn() {
- return SafetyCheckBridgeJni.get().userSignedIn(mProfile);
+ return false;
}
/**
@@ -37,7 +37,7 @@ public class SafetyCheckBridge {
*/
@SafeBrowsingStatus
int checkSafeBrowsing() {
- return SafetyCheckBridgeJni.get().checkSafeBrowsing(mProfile);
+ return SafeBrowsingStatus.DISABLED;
}
/** C++ method signatures. */
diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/action/OmniboxPedal.java b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/action/OmniboxPedal.java
--- a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/action/OmniboxPedal.java
+++ b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/action/OmniboxPedal.java
@@ -172,7 +172,7 @@ new file mode 100644
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
@@ -126,6 +126,7 @@ public class PrivacySettings extends ChromeBaseSettingsFragment
@@ -125,6 +125,7 @@ public class PrivacySettings extends ChromeBaseSettingsFragment
private static final String PREF_HTTPS_FIRST_MODE_LEGACY = "https_first_mode_legacy";
private static final String PREF_SECURE_DNS = "secure_dns";
private static final String PREF_USAGE_STATS = "usage_stats_reporting";
@@ -180,7 +180,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
private static final String PREF_SAFE_BROWSING = "safe_browsing";
private static final String PREF_PASSWORD_LEAK_DETECTION = "password_leak_detection";
private static final String PREF_SYNC_AND_SERVICES_LINK = "sync_and_services_link";
@@ -570,6 +571,14 @@ public class PrivacySettings extends ChromeBaseSettingsFragment
@@ -569,6 +570,14 @@ public class PrivacySettings extends ChromeBaseSettingsFragment
: R.string.text_off);
}
@@ -368,8 +368,8 @@ new file mode 100644
+ };
+ }
+
+ prefs: {enable_gpc: chrome.settingsPrivate.PrefObject};
+ private showDialog_: boolean;
+ declare prefs: {enable_gpc: chrome.settingsPrivate.PrefObject};
+ declare private showDialog_: boolean;
+
+ private onDomChange_() {
+ if (this.showDialog_) {
+3 -3
View File
@@ -255,8 +255,8 @@ diff --git a/components/component_updater/component_installer.cc b/components/co
base::DeletePathRecursively(unpack_path);
if (result.result.category != update_client::ErrorCategory::kNone) {
+ LOG(ERROR) << "ComponentInstaller:"
+ << " Install error " << result.result.code_
+ << " extra " << result.result.extra_;
+ << " Install error " << result.result.code
+ << " extra " << result.result.extra;
main_task_runner_->PostTask(FROM_HERE,
base::BindOnce(std::move(callback), result));
return;
@@ -686,7 +686,7 @@ diff --git a/components/update_client/utils.cc b/components/update_client/utils.
hasher->Finish(sha256_hash);
+ DLOG(INFO) << "VerifyFileHash256 "
+ << "actual_hash=" << base::HexEncode(actual_hash);
+ << "sha256_hash=" << base::HexEncode(sha256_hash);
+
return base::span(sha256_hash) == base::span(expected_hash);
}
@@ -248,7 +248,7 @@ diff --git a/components/memory_system/memory_system.cc b/components/memory_syste
if (gwp_asan_parameters) {
InitializeGwpASan(*gwp_asan_parameters, initialization_data);
+ LOG(INFO) << "MemorySystem: Gwp Asan Initialized.";
+ DLOG(INFO) << "MemorySystem: Gwp Asan Initialized.";
}
if (profiling_client_parameters) {
@@ -37,7 +37,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../browser/content_autofill_driver.cc | 11 +++
.../content/browser/content_autofill_driver.h | 10 +++
.../content_autofill_driver_factory.cc | 12 +++
.../content/renderer/autofill_agent.cc | 4 +
.../content/renderer/autofill_agent.cc | 5 ++
.../renderer/password_autofill_agent.cc | 5 +-
.../browser/foundations/autofill_driver.h | 2 +
.../foundations/autofill_driver_factory.cc | 4 +
@@ -48,7 +48,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../autofill/core/common/autofill_features.h | 22 -----
.../autofill/core/common/autofill_prefs.cc | 4 +-
.../autofill/core/common/autofill_prefs.h | 5 ++
33 files changed, 275 insertions(+), 165 deletions(-)
33 files changed, 276 insertions(+), 165 deletions(-)
create mode 100644 components/android_autofill/browser/java/src/org/chromium/components/autofill/BrowserSelectionActionMenuDelegate.java
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/password_manager/settings/PasswordSettings.java b/chrome/android/java/src/org/chromium/chrome/browser/password_manager/settings/PasswordSettings.java
@@ -813,7 +813,7 @@ diff --git a/components/autofill/content/browser/content_autofill_driver_factory
diff --git a/components/autofill/content/renderer/autofill_agent.cc b/components/autofill/content/renderer/autofill_agent.cc
--- a/components/autofill/content/renderer/autofill_agent.cc
+++ b/components/autofill/content/renderer/autofill_agent.cc
@@ -1529,14 +1529,18 @@ void AutofillAgent::ShowSuggestions(
@@ -1529,14 +1529,19 @@ void AutofillAgent::ShowSuggestions(
password_generation_agent_->ShowPasswordGenerationSuggestions(
input_element, form_cache)) {
is_popup_possibly_visible_ = true;
@@ -821,6 +821,7 @@ diff --git a/components/autofill/content/renderer/autofill_agent.cc b/components
return;
+#endif
}
+ [[maybe_unused]]
bool password_agent_handled_request = TryShowPasswordSuggestions(
input_element, IsPasswordsAutofillManuallyTriggered(trigger_source),
password_request);
@@ -14,6 +14,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
chrome/browser/BUILD.gn | 3 +
.../chrome_browser_interface_binders.cc | 3 +
.../chrome_browser_interface_binders_webui.cc | 21 ++
chrome/browser/extensions/extension_util.h | 2 +-
chrome/browser/resources/BUILD.gn | 6 +
chrome/browser/resources/settings/BUILD.gn | 2 +-
.../resources/settings/page_visibility.ts | 36 ++-
@@ -77,7 +78,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
ui/webui/resources/images/BUILD.gn | 2 +-
ui/webui/resources/js/BUILD.gn | 2 +-
ui/webui/resources/js/load_time_data.ts | 17 +-
70 files changed, 1150 insertions(+), 69 deletions(-)
71 files changed, 1151 insertions(+), 70 deletions(-)
create mode 100644 chrome/app/settings_strings_android.grdp
create mode 100644 chrome/browser/search_engines/android/java/res/layout/search_engine_layout.xml
create mode 100644 chrome/browser/ui/webui/settings/settings_localized_strings_provider_android.cc
@@ -493,6 +494,18 @@ diff --git a/chrome/browser/chrome_browser_interface_binders_webui.cc b/chrome/b
RegisterWebUIControllerInterfaceBinder<
help_bubble::mojom::HelpBubbleHandlerFactory, UserEducationInternalsUI,
settings::SettingsUI, ReadingListUI, NewTabPageUI, CustomizeChromeUI,
diff --git a/chrome/browser/extensions/extension_util.h b/chrome/browser/extensions/extension_util.h
--- a/chrome/browser/extensions/extension_util.h
+++ b/chrome/browser/extensions/extension_util.h
@@ -13,7 +13,7 @@
#include "extensions/buildflags/buildflags.h"
#include "extensions/common/constants.h"
-static_assert(BUILDFLAG(ENABLE_EXTENSIONS_CORE));
+// static_assert(BUILDFLAG(ENABLE_EXTENSIONS_CORE));
namespace content {
class BrowserContext;
diff --git a/chrome/browser/resources/BUILD.gn b/chrome/browser/resources/BUILD.gn
--- a/chrome/browser/resources/BUILD.gn
+++ b/chrome/browser/resources/BUILD.gn
@@ -929,7 +942,7 @@ diff --git a/chrome/browser/ui/BUILD.gn b/chrome/browser/ui/BUILD.gn
+ "webui/favicon_source.h",
+ ]
+ deps += [
+ "//chrome/browser/search/background:ntp_background_proto",
+ "//components/themes:ntp_background_proto",
+ ]
} else {
# !is_android
@@ -124,7 +124,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../user_scripts/renderer/user_script_set.cc | 264 ++++++
.../user_scripts/renderer/user_script_set.h | 101 +++
.../renderer/user_script_set_manager.cc | 76 ++
.../renderer/user_script_set_manager.h | 63 ++
.../renderer/user_script_set_manager.h | 64 ++
.../renderer/user_scripts_dispatcher.cc | 36 +
.../renderer/user_scripts_dispatcher.h | 49 ++
.../renderer/user_scripts_renderer_client.cc | 108 +++
@@ -132,10 +132,11 @@ 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 +
108 files changed, 9354 insertions(+), 2 deletions(-)
109 files changed, 9356 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
@@ -3265,7 +3266,7 @@ new file mode 100755
+ return {};
+
+ // Copy the pickle to shared memory.
+ memcpy(shared_memory.mapping.memory(), pickle.data(), pickle.size());
+ shared_memory.mapping.GetMemoryAsSpan<uint8_t>().copy_prefix_from(pickle);
+ return std::move(shared_memory.region);
+}
+
@@ -9852,7 +9853,7 @@ diff --git a/components/user_scripts/renderer/user_script_set_manager.h b/compon
new file mode 100755
--- /dev/null
+++ b/components/user_scripts/renderer/user_script_set_manager.h
@@ -0,0 +1,63 @@
@@ -0,0 +1,64 @@
+#ifndef USERSCRIPTS_RENDER_SET_MANAGER_H_
+#define USERSCRIPTS_RENDER_SET_MANAGER_H_
+
@@ -9861,6 +9862,7 @@ new file mode 100755
+#include <string>
+#include <vector>
+
+#include "ipc/ipc_message.h"
+#include "base/memory/read_only_shared_memory_region.h"
+#include "base/observer_list.h"
+#include "content/public/renderer/render_thread_observer.h"
@@ -10079,7 +10081,7 @@ new file mode 100755
+void UserScriptsRendererClient::RenderFrameCreated(
+ content::RenderFrame* render_frame,
+ service_manager::BinderRegistry* registry) {
+
+ if (!chrome_observer_) return;
+ auto params = chrome_observer_->GetDynamicParams();
+ enabled_ = params->allow_userscript;
+ if (!enabled_) return;
@@ -10308,6 +10310,16 @@ 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
+18 -1
View File
@@ -6,6 +6,7 @@ because of
https://bugs.chromium.org/p/chromium/issues/detail?id=1491776#c10
---
BUILD.gn | 1 -
build/config/compiler/BUILD.gn | 6 +++++-
.../navigation_predictor_metrics_document_data.h | 2 ++
chrome/browser/safe_browsing/BUILD.gn | 1 +
.../component_updater/installer_policies/BUILD.gn | 1 +
@@ -16,7 +17,7 @@ https://bugs.chromium.org/p/chromium/issues/detail?id=1491776#c10
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(-)
12 files changed, 21 insertions(+), 17 deletions(-)
diff --git a/BUILD.gn b/BUILD.gn
--- a/BUILD.gn
@@ -29,6 +30,22 @@ diff --git a/BUILD.gn b/BUILD.gn
"//android_webview/tools/sdk_sandbox",
"//android_webview/tools/system_webview_shell",
"//chrome/android:chrome_junit_tests",
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
@@ -1674,7 +1674,11 @@ config("clang_revision") {
_expected_clang_revision = "$_py_revision-$_py_subrevision"
assert(
- _clang_revision == _expected_clang_revision,
+ filter_include([ _clang_revision ],
+ [
+ _expected_clang_revision,
+ "$_expected_clang_revision,*",
+ ]) != [],
"clang_revision=\"$_clang_revision\" but update.py expected \"$_expected_clang_revision\". Did you forget to gclient sync?")
}
}
diff --git a/chrome/browser/navigation_predictor/navigation_predictor_metrics_document_data.h b/chrome/browser/navigation_predictor/navigation_predictor_metrics_document_data.h
--- a/chrome/browser/navigation_predictor/navigation_predictor_metrics_document_data.h
+++ b/chrome/browser/navigation_predictor/navigation_predictor_metrics_document_data.h
@@ -8,11 +8,37 @@ required by the chromium build tools.
License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
---
components/search_engines/BUILD.gn | 4 +++-
components/variations/field_trial_config/BUILD.gn | 4 +++-
tools/json_to_struct/json_to_struct.gni | 4 +++-
3 files changed, 9 insertions(+), 3 deletions(-)
components/metrics/generate_expired_histograms_array.gni | 7 +++++--
components/search_engines/BUILD.gn | 4 +++-
components/variations/field_trial_config/BUILD.gn | 4 +++-
tools/json_to_struct/json_to_struct.gni | 4 +++-
tools/metrics/generate_allowlist_from_histograms_file.gni | 5 +++--
5 files changed, 17 insertions(+), 7 deletions(-)
diff --git a/components/metrics/generate_expired_histograms_array.gni b/components/metrics/generate_expired_histograms_array.gni
--- a/components/metrics/generate_expired_histograms_array.gni
+++ b/components/metrics/generate_expired_histograms_array.gni
@@ -30,7 +30,7 @@ template("generate_expired_histograms_array") {
action(target_name) {
header_filename = "$target_gen_dir/" + invoker.header_filename
- script = "//tools/metrics/histograms/generate_expired_histograms_array.py"
+ script = "//build/gn_run_binary.py"
outputs = [ header_filename ]
inputs = histograms_xml_files
@@ -38,7 +38,10 @@ template("generate_expired_histograms_array") {
major_branch_date_filepath = invoker.major_branch_date_filepath
milestone_filepath = invoker.milestone_filepath
- args = []
+ args = [
+ rebase_path("//third_party/depot_tools/vpython3"),
+ rebase_path("//tools/metrics/histograms/generate_expired_histograms_array.py")
+ ]
if (defined(invoker.namespace) && invoker.namespace != "") {
args += [ "-n" + invoker.namespace ]
diff --git a/components/search_engines/BUILD.gn b/components/search_engines/BUILD.gn
--- a/components/search_engines/BUILD.gn
+++ b/components/search_engines/BUILD.gn
@@ -76,4 +102,23 @@ diff --git a/tools/json_to_struct/json_to_struct.gni b/tools/json_to_struct/json
rebase_path(invoker.source, root_build_dir),
"--destbase=" + rebase_path(out_dir, root_build_dir),
"--namespace=" + invoker.namespace,
diff --git a/tools/metrics/generate_allowlist_from_histograms_file.gni b/tools/metrics/generate_allowlist_from_histograms_file.gni
--- a/tools/metrics/generate_allowlist_from_histograms_file.gni
+++ b/tools/metrics/generate_allowlist_from_histograms_file.gni
@@ -26,12 +26,13 @@ template("generate_allowlist_from_histograms_file") {
action(target_name) {
output_file = "$target_gen_dir/" + invoker.output_file
- script =
- "//tools/metrics/histograms/generate_allowlist_from_histograms_file.py"
+ script = "//build/gn_run_binary.py"
outputs = [ output_file ]
sources = [ invoker.input_xml_file ]
args = [
+ rebase_path("//third_party/depot_tools/vpython3"),
+ rebase_path("//tools/metrics/histograms/generate_allowlist_from_histograms_file.py"),
"--allow_list_name=" + invoker.allow_list_name,
"--namespace=" + invoker.namespace,
"--tag=" + invoker.tag,
--
@@ -64,7 +64,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
import org.chromium.components.browser_ui.site_settings.ContentSettingsResources;
import org.chromium.components.browser_ui.site_settings.SingleCategorySettings;
import org.chromium.components.browser_ui.site_settings.WebsitePreferenceBridge;
@@ -96,6 +97,9 @@ import org.chromium.chrome.browser.preferences.ChromeSharedPreferences;
@@ -95,6 +96,9 @@ import org.chromium.chrome.browser.preferences.ChromeSharedPreferences;
import org.chromium.components.browser_ui.settings.ChromeSwitchPreference;
import org.chromium.components.browser_ui.settings.ManagedPreferenceDelegate;
@@ -74,7 +74,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
/** Fragment to keep track of the all the privacy related preferences. */
public class PrivacySettings extends ChromeBaseSettingsFragment
implements Preference.OnPreferenceChangeListener {
@@ -161,6 +165,8 @@ public class PrivacySettings extends ChromeBaseSettingsFragment
@@ -160,6 +164,8 @@ public class PrivacySettings extends ChromeBaseSettingsFragment
private ChromeSwitchPreference allowCustomTabIntentsPref;
private ChromeSwitchPreference openExternalLinksPref;
@@ -83,7 +83,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
@Override
public void onCreatePreferencesCromite(Bundle savedInstanceState, String rootKey) {
mPageTitle.set(getString(R.string.prefs_privacy_security));
@@ -311,6 +317,40 @@ public class PrivacySettings extends ChromeBaseSettingsFragment
@@ -310,6 +316,40 @@ public class PrivacySettings extends ChromeBaseSettingsFragment
Preference syncAndServicesLink = findPreference(PREF_SYNC_AND_SERVICES_LINK);
syncAndServicesLink.setSummary(buildFooterString());
@@ -124,7 +124,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
Preference thirdPartyCookies = findPreference(PREF_THIRD_PARTY_COOKIES);
if (showTrackingProtectionUi()) {
if (thirdPartyCookies != null) thirdPartyCookies.setVisible(false);
@@ -650,6 +690,29 @@ public class PrivacySettings extends ChromeBaseSettingsFragment
@@ -649,6 +689,29 @@ public class PrivacySettings extends ChromeBaseSettingsFragment
|| ((System.currentTimeMillis() - updateTimeMs) < TimeUnit.DAYS.toMillis(90));
}
@@ -248,7 +248,7 @@ diff --git a/chrome/browser/resources/settings/privacy_page/privacy_page.ts b/ch
};
}
+ private historyExpireDaysThresholdOptions_: object[];
+ declare private historyExpireDaysThresholdOptions_: object[];
declare private isGuest_: boolean;
declare private showPersistentPermissions_: boolean;
declare private showClearBrowsingDataDialog_: boolean;
@@ -26,7 +26,7 @@ new file mode 100644
--- /dev/null
+++ b/cromite_flags/content/public/common/content_features_cc/Improve-the-browser-sandbox.inc
@@ -0,0 +1 @@
+SET_CROMITE_FEATURE_ENABLED(kUseBrowserCalculatedOrigin);
+// intentionally empty
diff --git a/sandbox/policy/features.cc b/sandbox/policy/features.cc
--- a/sandbox/policy/features.cc
+++ b/sandbox/policy/features.cc
+3 -3
View File
@@ -1794,11 +1794,11 @@ diff --git a/services/network/public/cpp/simple_url_loader.cc b/services/network
string_upload_data_pipe_getter_->GetRemoteForNewUpload());
}
+ if (firewall_service_ &&
+ !firewall_service_->IsAllowed(annotation_tag_.unique_id_hash_code)) {
+ auto entry = firewall_service_->GetEntry(annotation_tag_.unique_id_hash_code);
+ !firewall_service_->IsAllowed(annotation_tag_->unique_id_hash_code)) {
+ auto entry = firewall_service_->GetEntry(annotation_tag_->unique_id_hash_code);
+ LOG(INFO) << "---ABORTED SimpleURLLoaderImpl: "
+ << (entry.has_value() ? entry->name : "no-name")
+ << "(" << annotation_tag_.unique_id_hash_code << ")"
+ << "(" << annotation_tag_->unique_id_hash_code << ")"
+ << " url: " << resource_request_->url.possibly_invalid_spec()
+ << " path: " << (entry.has_value() ? entry->path : "no-path");
+
@@ -27,6 +27,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../tab_management/TabSwitcherPaneBase.java | 9 +
.../browser/feed/FeedSurfaceCoordinator.java | 4 +
.../ChromeAccessibilitySettingsDelegate.java | 70 ++++++++
.../HeadlessBrowserControlsStateProvider.java | 5 +
.../compositor/CompositorViewHolder.java | 7 +
.../layouts/LayoutManagerChrome.java | 12 +-
.../layouts/LayoutManagerChromeTablet.java | 4 +-
@@ -38,7 +39,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../scene_layer/TabStripSceneLayer.java | 20 ++-
.../browser/findinpage/FindToolbarTablet.java | 10 +-
.../fullscreen/BrowserControlsManager.java | 12 ++
.../messages/MessageContainerCoordinator.java | 16 +-
.../messages/MessageContainerCoordinator.java | 15 +-
.../modaldialog/ChromeTabModalPresenter.java | 2 +-
.../chrome/browser/ntp/NewTabPage.java | 14 +-
.../chrome/browser/ntp/NewTabPageLayout.java | 10 +-
@@ -67,6 +68,9 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
chrome/browser/prefs/browser_prefs.cc | 2 +-
.../chrome/browser/ui/appmenu/AppMenu.java | 40 ++++-
.../ui/appmenu/AppMenuHandlerImpl.java | 10 ++
.../EdgeToEdgeControllerFactory.java | 1 +
.../EdgeToEdgeControllerImpl.java | 1 +
.../ui/edge_to_edge/EdgeToEdgeUtils.java | 1 +
...rredIMEWindowInsetApplicationCallback.java | 7 +
.../omnibox/LocationBarCoordinator.java | 1 +
...mniboxSuggestionsDropdownEmbedderImpl.java | 31 ++++
@@ -94,7 +98,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../AccessibilitySettingsDelegate.java | 9 +
.../render_widget_host_view_android.cc | 3 +
.../Move-navigation-bar-to-bottom.inc | 17 ++
81 files changed, 1039 insertions(+), 77 deletions(-)
85 files changed, 1046 insertions(+), 77 deletions(-)
create mode 100644 chrome/browser/hub/internal/android/java/src/org/chromium/chrome/browser/hub/ReversedLinearLayout.java
create mode 100644 cromite_flags/chrome/browser/about_flags_cc/Move-navigation-bar-to-bottom.inc
@@ -822,6 +826,21 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/accessibility/s
@Override
public BrowserContextHandle getBrowserContextHandle() {
return mProfile;
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/tabmodel/HeadlessBrowserControlsStateProvider.java b/chrome/android/java/src/org/chromium/chrome/browser/app/tabmodel/HeadlessBrowserControlsStateProvider.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/app/tabmodel/HeadlessBrowserControlsStateProvider.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/app/tabmodel/HeadlessBrowserControlsStateProvider.java
@@ -18,6 +18,11 @@ public class HeadlessBrowserControlsStateProvider implements BrowserControlsStat
return 0;
}
+ @Override
+ public int getTopControlsHeightRealOffset() {
+ return 0;
+ }
+
@Override
public int getTopControlsMinHeight() {
return 0;
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
@@ -1274,14 +1293,13 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/messages/Messag
mContainer.setLayoutParams(params);
}
@@ -132,6 +140,12 @@ public class MessageContainerCoordinator implements BrowserControlsStateProvider
@@ -132,6 +140,11 @@ public class MessageContainerCoordinator implements BrowserControlsStateProvider
/** @return Offset of the message container from the top of the screen. */
private int getContainerTopOffset() {
+ if (ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) {
+ return mControlsManager.getContentOffset()
+ + (mControlsManager.getBottomControlsHeight() - mControlsManager.getBottomControlOffset())
+ + mContainer.getMessageShadowTopMargin();
+ + (mControlsManager.getBottomControlsHeight() - mControlsManager.getBottomControlOffset());
+ }
+
if (mControlsManager.getContentOffset() == 0) return 0;
@@ -2250,6 +2268,39 @@ diff --git a/chrome/browser/ui/android/appmenu/internal/java/src/org/chromium/ch
ContextThemeWrapper wrapper =
new ContextThemeWrapper(mContext, R.style.OverflowMenuThemeOverlay);
diff --git a/chrome/browser/ui/android/edge_to_edge/internal/java/src/org/chromium/chrome/browser/ui/edge_to_edge/EdgeToEdgeControllerFactory.java b/chrome/browser/ui/android/edge_to_edge/internal/java/src/org/chromium/chrome/browser/ui/edge_to_edge/EdgeToEdgeControllerFactory.java
--- a/chrome/browser/ui/android/edge_to_edge/internal/java/src/org/chromium/chrome/browser/ui/edge_to_edge/EdgeToEdgeControllerFactory.java
+++ b/chrome/browser/ui/android/edge_to_edge/internal/java/src/org/chromium/chrome/browser/ui/edge_to_edge/EdgeToEdgeControllerFactory.java
@@ -147,6 +147,7 @@ public class EdgeToEdgeControllerFactory {
* to the window.
*/
public static boolean isSupportedConfiguration(Activity activity) {
+ if ((true)) return false;
// Make sure we test SDK version before checking the Feature so Field Trials only collect
// from qualifying devices.
if (!EdgeToEdgeFieldTrial.getBottomChinOverrides().isEnabledForManufacturerVersion()) {
diff --git a/chrome/browser/ui/android/edge_to_edge/internal/java/src/org/chromium/chrome/browser/ui/edge_to_edge/EdgeToEdgeControllerImpl.java b/chrome/browser/ui/android/edge_to_edge/internal/java/src/org/chromium/chrome/browser/ui/edge_to_edge/EdgeToEdgeControllerImpl.java
--- a/chrome/browser/ui/android/edge_to_edge/internal/java/src/org/chromium/chrome/browser/ui/edge_to_edge/EdgeToEdgeControllerImpl.java
+++ b/chrome/browser/ui/android/edge_to_edge/internal/java/src/org/chromium/chrome/browser/ui/edge_to_edge/EdgeToEdgeControllerImpl.java
@@ -562,6 +562,7 @@ public class EdgeToEdgeControllerImpl
* the system insets due to the keyboard or the bottom controls being visible.
*/
private boolean shouldPadAdjusters() {
+ if ((true)) return false;
// Never pad the adjusters if the keyboard is visible.
if (mKeyboardInsets != null && mKeyboardInsets.bottom > 0) return false;
diff --git a/chrome/browser/ui/android/edge_to_edge/java/src/org/chromium/chrome/browser/ui/edge_to_edge/EdgeToEdgeUtils.java b/chrome/browser/ui/android/edge_to_edge/java/src/org/chromium/chrome/browser/ui/edge_to_edge/EdgeToEdgeUtils.java
--- a/chrome/browser/ui/android/edge_to_edge/java/src/org/chromium/chrome/browser/ui/edge_to_edge/EdgeToEdgeUtils.java
+++ b/chrome/browser/ui/android/edge_to_edge/java/src/org/chromium/chrome/browser/ui/edge_to_edge/EdgeToEdgeUtils.java
@@ -327,6 +327,7 @@ public class EdgeToEdgeUtils {
* @return whether the given window's insets indicate a tappable navigation bar.
*/
static boolean hasTappableNavigationBar(Window window) {
+ if ((true)) return true;
var rootInsets = window.getDecorView().getRootWindowInsets();
assert rootInsets != null;
Insets navigationBarInsets =
diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/DeferredIMEWindowInsetApplicationCallback.java b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/DeferredIMEWindowInsetApplicationCallback.java
--- a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/DeferredIMEWindowInsetApplicationCallback.java
+++ b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/DeferredIMEWindowInsetApplicationCallback.java
@@ -6,10 +6,10 @@ Search suggestions, autofill assistant and contextual search
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
.../java/res/xml/privacy_preferences.xml | 13 +++++++
.../privacy/settings/PrivacySettings.java | 34 +++++++++++++++++++
.../java/res/xml/privacy_preferences.xml | 13 ++++++++
.../privacy/settings/PrivacySettings.java | 33 +++++++++++++++++++
.../strings/android_chrome_strings.grd | 4 +++
3 files changed, 51 insertions(+)
3 files changed, 50 insertions(+)
diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/android/java/res/xml/privacy_preferences.xml
--- a/chrome/android/java/res/xml/privacy_preferences.xml
@@ -37,11 +37,10 @@ diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/androi
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
@@ -76,6 +76,14 @@ import org.chromium.ui.text.SpanApplier;
@@ -76,6 +76,13 @@ import org.chromium.ui.text.SpanApplier;
import java.util.concurrent.TimeUnit;
import java.util.function.Consumer;
+import androidx.annotation.Nullable;
+import androidx.preference.PreferenceCategory;
+import org.chromium.chrome.browser.contextualsearch.ContextualSearchManager;
+import org.chromium.base.shared_preferences.SharedPreferencesManager;
@@ -52,7 +51,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
/** Fragment to keep track of the all the privacy related preferences. */
public class PrivacySettings extends ChromeBaseSettingsFragment
implements Preference.OnPreferenceChangeListener {
@@ -96,6 +104,16 @@ public class PrivacySettings extends ChromeBaseSettingsFragment
@@ -96,6 +103,16 @@ public class PrivacySettings extends ChromeBaseSettingsFragment
private static final String PREF_INCOGNITO_TRACKING_PROTECTIONS =
"incognito_tracking_protections";
@VisibleForTesting static final String PREF_DO_NOT_TRACK = "do_not_track";
@@ -69,7 +68,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
@VisibleForTesting static final String PREF_THIRD_PARTY_COOKIES = "third_party_cookies";
@VisibleForTesting static final String PREF_TRACKING_PROTECTION = "tracking_protection";
private static final String PREF_ADVANCED_PROTECTION_INFO = "advanced_protection_info";
@@ -211,6 +229,16 @@ public class PrivacySettings extends ChromeBaseSettingsFragment
@@ -211,6 +228,16 @@ public class PrivacySettings extends ChromeBaseSettingsFragment
passwordLeakTogglePref.setVisible(false);
}
@@ -86,7 +85,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
ChromeSwitchPreference canMakePaymentPref =
(ChromeSwitchPreference) findPreference(PREF_CAN_MAKE_PAYMENT);
canMakePaymentPref.setOnPreferenceChangeListener(this);
@@ -359,6 +387,9 @@ public class PrivacySettings extends ChromeBaseSettingsFragment
@@ -359,6 +386,9 @@ public class PrivacySettings extends ChromeBaseSettingsFragment
} else if (PREF_PASSWORD_LEAK_DETECTION.equals(key)) {
UserPrefs.get(getProfile())
.setBoolean(Pref.PASSWORD_LEAK_DETECTION_ENABLED, (boolean) newValue);
@@ -96,7 +95,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
}
return true;
}
@@ -371,6 +402,9 @@ public class PrivacySettings extends ChromeBaseSettingsFragment
@@ -371,6 +401,9 @@ public class PrivacySettings extends ChromeBaseSettingsFragment
/** Updates the preferences. */
public void updatePreferences() {
@@ -24,9 +24,9 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
.../url_request_context_builder.cc | 14 ---
net/url_request/url_request_http_job.cc | 5 +-
services/network/network_context.cc | 37 ++++---
services/network/network_context.h | 14 ++-
services/network/network_context.h | 15 ++-
.../public/mojom/network_context.mojom | 10 +-
22 files changed, 180 insertions(+), 104 deletions(-)
22 files changed, 181 insertions(+), 104 deletions(-)
create mode 100644 cromite_flags/net/base/features_cc/Partition-HSTS-cache-by-NAK.inc
diff --git a/chrome/browser/ssl/https_upgrades_interceptor.cc b/chrome/browser/ssl/https_upgrades_interceptor.cc
@@ -993,6 +993,14 @@ diff --git a/services/network/network_context.h b/services/network/network_conte
const std::string& ocsp_result,
const std::string& sct_list,
CTVerificationMode ct_verification_mode,
@@ -975,6 +981,7 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext
VerifyCertCallback callback;
scoped_refptr<net::X509Certificate> certificate;
net::HostPortPair host_port;
+ net::NetworkAnonymizationKey network_anonymization_key;
};
std::map<uint64_t, std::unique_ptr<PendingCertVerify>>
cert_verifier_requests_;
diff --git a/services/network/public/mojom/network_context.mojom b/services/network/public/mojom/network_context.mojom
--- a/services/network/public/mojom/network_context.mojom
+++ b/services/network/public/mojom/network_context.mojom
@@ -10,12 +10,12 @@ 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 | 73 ++++++++++++++++++-
storage/browser/blob/blob_url_store_impl.cc | 63 ++++++++++++++++++-
storage/browser/blob/blob_url_store_impl.h | 13 ++++
storage/browser/blob/features.cc | 1 +
.../public/mojom/blob/blob_url_store.mojom | 8 +-
.../public/mojom/blob/blob_url_store.mojom | 8 ++-
.../core/fileapi/public_url_manager.cc | 17 +++++
7 files changed, 112 insertions(+), 3 deletions(-)
7 files changed, 101 insertions(+), 4 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
@@ -39,26 +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
@@ -33,6 +33,18 @@ bool IsBlobUrlAccessCrossPartitionSameOrigin(
}
} // namespace
+namespace {
+
+// this code only serves to break the build in v137
+// when https://chromium-review.googlesource.com/c/chromium/src/+/6430562 is inserted.
+// (UAZO) BlobURLStoreImpl::ShouldPartitionBlobUrlAccess => true
+[[maybe_unused]] bool IsBlobUrlAccessCrossPartitionSameOrigin(
+ BlobUrlRegistry::MappingStatus mapping_status) {
+ return false;
+}
+
+}
+
// Self deletes when the last binding to it is closed.
class BlobURLTokenImpl : public blink::mojom::BlobURLToken {
public:
@@ -105,6 +117,30 @@ BlobURLStoreImpl::~BlobURLStoreImpl() {
@@ -105,6 +105,30 @@ BlobURLStoreImpl::~BlobURLStoreImpl() {
}
}
@@ -89,7 +70,7 @@ 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,
@@ -119,6 +155,14 @@ void BlobURLStoreImpl::Register(
@@ -119,6 +143,14 @@ void BlobURLStoreImpl::Register(
return;
}
@@ -104,7 +85,16 @@ diff --git a/storage/browser/blob/blob_url_store_impl.cc b/storage/browser/blob/
if (registry_)
registry_->AddUrlMapping(url, std::move(blob), storage_key_,
renderer_origin_, render_process_host_id_,
@@ -155,26 +199,38 @@ bool BlobURLStoreImpl::ShouldPartitionBlobUrlAccess(
@@ -144,7 +176,7 @@ bool BlobURLStoreImpl::ShouldPartitionBlobUrlAccess(
features::kBlockCrossPartitionBlobUrlFetching) &&
!partitioning_disabled_by_policy_;
- const bool should_bypass_partitioning =
+ const bool should_bypass_partitioning = ((false)) &&
has_storage_access_handle &&
mapping_status ==
BlobUrlRegistry::MappingStatus::
@@ -155,26 +187,38 @@ bool BlobURLStoreImpl::ShouldPartitionBlobUrlAccess(
void BlobURLStoreImpl::ResolveAsURLLoaderFactory(
const GURL& url,
mojo::PendingReceiver<network::mojom::URLLoaderFactory> receiver,
@@ -144,7 +134,7 @@ diff --git a/storage/browser/blob/blob_url_store_impl.cc b/storage/browser/blob/
partitioning_blob_url_closure_.Run(url,
blink::mojom::PartitioningBlobURLInfo::
kBlockedCrossPartitionFetching);
@@ -186,6 +242,12 @@ void BlobURLStoreImpl::FinishResolveAsURLLoaderFactory(
@@ -186,6 +230,12 @@ void BlobURLStoreImpl::FinishResolveAsURLLoaderFactory(
partitioning_blob_url_closure_.Run(url, std::nullopt);
}
@@ -157,7 +147,7 @@ diff --git a/storage/browser/blob/blob_url_store_impl.cc b/storage/browser/blob/
BlobURLLoaderFactory::Create(registry_->GetBlobFromUrl(url), url,
std::move(receiver));
// When a fragment URL is present, registry_->GetUnsafeAgentClusterID(url) and
@@ -200,12 +262,15 @@ void BlobURLStoreImpl::ResolveAsBlobURLToken(
@@ -200,12 +250,15 @@ void BlobURLStoreImpl::ResolveAsBlobURLToken(
const GURL& url,
mojo::PendingReceiver<blink::mojom::BlobURLToken> token,
bool is_top_level_navigation,
@@ -173,7 +163,7 @@ diff --git a/storage/browser/blob/blob_url_store_impl.cc b/storage/browser/blob/
std::move(callback),
storage_access_check_callback_.Run());
}
@@ -214,8 +279,14 @@ void BlobURLStoreImpl::FinishResolveAsBlobURLToken(
@@ -214,8 +267,14 @@ void BlobURLStoreImpl::FinishResolveAsBlobURLToken(
const GURL& url,
mojo::PendingReceiver<blink::mojom::BlobURLToken> token,
bool is_top_level_navigation,
@@ -27,17 +27,21 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
net/cookies/cookie_deletion_info.cc | 3 +-
net/cookies/cookie_monster.cc | 1 +
net/cookies/cookie_util.cc | 1 +
net/cookies/cookie_util.h | 4 +-
net/cookies/parsed_cookie.h | 6 +-
.../sqlite/sqlite_persistent_cookie_store.cc | 8 +++
net/url_request/url_request_http_job.cc | 10 +---
net/url_request/url_request.cc | 3 +-
net/url_request/url_request_http_job.cc | 11 ++--
services/network/cookie_settings.cc | 6 +-
services/network/cors/cors_url_loader.cc | 1 +
services/network/restricted_cookie_manager.cc | 6 ++
services/network/url_loader.cc | 1 +
.../modules/cookie_store/cookie_init.idl | 2 +-
.../modules/cookie_store/cookie_store.cc | 3 +
.../cookie_store_delete_options.idl | 2 +-
ui/webui/webui_allowlist.cc | 1 +
url/url_features.cc | 1 +
28 files changed, 88 insertions(+), 85 deletions(-)
32 files changed, 94 insertions(+), 89 deletions(-)
create mode 100644 cromite_flags/components/content_settings/core/common/features_cc/Partitioning-all-cookies-by-top-frame-domain.inc
create mode 100644 cromite_flags/components/permissions/features_cc/Partitioning-all-cookies-by-top-frame-domain.inc
create mode 100644 cromite_flags/content/public/common/content_features_cc/Partitioning-all-cookies-by-top-frame-domain.inc
@@ -315,7 +319,7 @@ new file mode 100644
--- /dev/null
+++ b/cromite_flags/services/network/public/cpp/features_cc/Partitioning-all-cookies-by-top-frame-domain.inc
@@ -0,0 +1 @@
+SET_CROMITE_FEATURE_DISABLED(kStorageAccessHeaders);
+// intentionally empty
diff --git a/net/cookies/canonical_cookie.cc b/net/cookies/canonical_cookie.cc
--- a/net/cookies/canonical_cookie.cc
+++ b/net/cookies/canonical_cookie.cc
@@ -364,6 +368,27 @@ diff --git a/net/cookies/cookie_util.cc b/net/cookies/cookie_util.cc
if (!is_partitioned) {
return true;
}
diff --git a/net/cookies/cookie_util.h b/net/cookies/cookie_util.h
--- a/net/cookies/cookie_util.h
+++ b/net/cookies/cookie_util.h
@@ -131,7 +131,7 @@ enum class SecFetchStorageAccessOutcome {
enum class ActivateStorageAccessLoadOutcome {
// Applies when the `Activate-Storage-Access` header behavior is not enabled
// under the existing feature flags or content settings.
- // kFailureHeaderDisabled = 0, // Deprecated (feature is always enabled).
+ kFailureHeaderDisabled = 0, // Deprecated (feature is always enabled).
// Applies when a response includes the `Activate-Storage-Access: load`
// header, but its corresponding request either has an omitted storage access
// status, or has a storage access status of `none`.
@@ -152,7 +152,7 @@ enum class ActivateStorageAccessLoadOutcome {
enum class ActivateStorageAccessRetryOutcome {
// Applies when the `Activate-Storage-Access` header behavior is not enabled
// under the existing feature flags or content settings.
- // kFailureHeaderDisabled = 0, // Deprecated (feature is always enabled).
+ kFailureHeaderDisabled = 0, // Deprecated (feature is always enabled).
// Applies when a response includes a well-formed
// `Activate-Storage-Access: retry; ..." header, but the corresponding
// request's `Sec-Fetch-Storage-Access` header is not `inactive`.
diff --git a/net/cookies/parsed_cookie.h b/net/cookies/parsed_cookie.h
--- a/net/cookies/parsed_cookie.h
+++ b/net/cookies/parsed_cookie.h
@@ -405,6 +430,19 @@ diff --git a/net/extras/sqlite/sqlite_persistent_cookie_store.cc b/net/extras/sq
return true;
}
diff --git a/net/url_request/url_request.cc b/net/url_request/url_request.cc
--- a/net/url_request/url_request.cc
+++ b/net/url_request/url_request.cc
@@ -1415,8 +1415,7 @@ StorageAccessStatusCache URLRequest::CalculateStorageAccessStatus() const {
// `deferred_redirect_info_` that has to be used when calculating new storage
// access status.
std::optional<net::cookie_util::StorageAccessStatus> storage_access_status =
- network_delegate()->GetStorageAccessStatus(*this,
- deferred_redirect_info_);
+ std::nullopt; // disable storage access headers
base::UmaHistogramEnumeration(
"API.StorageAccessHeader.StorageAccessStatusOutcome",
storage_access_status
diff --git a/net/url_request/url_request_http_job.cc b/net/url_request/url_request_http_job.cc
--- a/net/url_request/url_request_http_job.cc
+++ b/net/url_request/url_request_http_job.cc
@@ -425,6 +463,14 @@ diff --git a/net/url_request/url_request_http_job.cc b/net/url_request/url_reque
if (!maybe_included_cookies.empty()) {
std::string cookie_line =
@@ -1614,6 +1610,7 @@ bool URLRequestHttpJob::NeedsRetryWithStorageAccess() {
auto determine_storage_access_retry_outcome =
[&]() -> cookie_util::ActivateStorageAccessRetryOutcome {
using enum cookie_util::ActivateStorageAccessRetryOutcome;
+ if ((true)) return kFailureHeaderDisabled; // disable storage access headers
if (!ShouldAddCookieHeader() ||
request_->storage_access_status() !=
cookie_util::StorageAccessStatus::kInactive ||
diff --git a/services/network/cookie_settings.cc b/services/network/cookie_settings.cc
--- a/services/network/cookie_settings.cc
+++ b/services/network/cookie_settings.cc
@@ -448,6 +494,17 @@ diff --git a/services/network/cookie_settings.cc b/services/network/cookie_setti
}
// static
diff --git a/services/network/cors/cors_url_loader.cc b/services/network/cors/cors_url_loader.cc
--- a/services/network/cors/cors_url_loader.cc
+++ b/services/network/cors/cors_url_loader.cc
@@ -903,6 +903,7 @@ void CorsURLLoader::StartRequest() {
}
if (request_.credentials_mode == mojom::CredentialsMode::kInclude &&
+ ((false)) && // storage access headers disabled by default
GetStorageAccessStatus() ==
net::cookie_util::StorageAccessStatus::kInactive) {
// Lower layers will add the Sec-Fetch-Storage-Access header, and the
diff --git a/services/network/restricted_cookie_manager.cc b/services/network/restricted_cookie_manager.cc
--- a/services/network/restricted_cookie_manager.cc
+++ b/services/network/restricted_cookie_manager.cc
@@ -464,6 +521,17 @@ diff --git a/services/network/restricted_cookie_manager.cc b/services/network/re
net::CookieInclusionStatus status;
std::unique_ptr<net::CanonicalCookie> parsed_cookie =
net::CanonicalCookie::Create(
diff --git a/services/network/url_loader.cc b/services/network/url_loader.cc
--- a/services/network/url_loader.cc
+++ b/services/network/url_loader.cc
@@ -2629,6 +2629,7 @@ bool URLLoader::ShouldSetLoadWithStorageAccess() const {
auto determine_storage_access_load_outcome =
[&]() -> net::cookie_util::ActivateStorageAccessLoadOutcome {
+ if ((true)) return net::cookie_util::ActivateStorageAccessLoadOutcome::kFailureHeaderDisabled;
if (!url_request_->storage_access_status().IsSet()) {
url_request_->set_storage_access_status(
url_request_->CalculateStorageAccessStatus());
diff --git a/third_party/blink/renderer/modules/cookie_store/cookie_init.idl b/third_party/blink/renderer/modules/cookie_store/cookie_init.idl
--- a/third_party/blink/renderer/modules/cookie_store/cookie_init.idl
+++ b/third_party/blink/renderer/modules/cookie_store/cookie_init.idl
@@ -178,7 +178,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
import org.chromium.chrome.browser.privacy.secure_dns.SecureDnsSettings;
import org.chromium.chrome.browser.privacy_guide.PrivacyGuideInteractions;
import org.chromium.chrome.browser.privacy_sandbox.PrivacySandboxBridge;
@@ -113,6 +114,7 @@ public class PrivacySettings extends ChromeBaseSettingsFragment
@@ -112,6 +113,7 @@ public class PrivacySettings extends ChromeBaseSettingsFragment
private static final String PREF_SAFE_BROWSING = "safe_browsing";
private static final String PREF_PASSWORD_LEAK_DETECTION = "password_leak_detection";
private static final String PREF_SYNC_AND_SERVICES_LINK = "sync_and_services_link";
@@ -186,7 +186,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
private static final String PREF_PRIVACY_SANDBOX = "privacy_sandbox";
private static final String PREF_PROXY_OPTIONS = "proxy";
private static final String PREF_PRIVACY_GUIDE = "privacy_guide";
@@ -530,6 +532,10 @@ public class PrivacySettings extends ChromeBaseSettingsFragment
@@ -529,6 +531,10 @@ public class PrivacySettings extends ChromeBaseSettingsFragment
: R.string.text_off);
}
@@ -468,7 +468,7 @@ diff --git a/chrome/browser/resources/settings/privacy_page/privacy_page.ts b/ch
declare private isPrivacySandboxRestrictedNoticeEnabled_: boolean;
declare private enableAutomaticFullscreenContentSetting_: boolean;
declare private enablePermissionSiteSettingsRadioButton_: boolean;
+ private referersPolicyOptions_: object[];
+ declare private referersPolicyOptions_: object[];
private privateStateTokensEnabled_: boolean;
declare private autoPictureInPictureEnabled_: boolean;
declare private capturedSurfaceControlEnabled_: boolean;
@@ -46,6 +46,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../PasswordManagerHelper.java | 9 -
...swordSyncControllerDelegateBridgeImpl.java | 7 -
.../push_messaging_service_factory.cc | 8 +-
.../notification_telemetry_service.cc | 1 +
chrome/browser/ui/BUILD.gn | 3 -
chrome/browser/ui/android/omnibox/BUILD.gn | 4 -
.../FullscreenSigninMediator.java | 4 +-
@@ -108,7 +109,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../gms/ChromiumPlayServicesAvailability.java | 10 +-
third_party/androidx/customizations.gni | 14 +-
third_party/cardboard/BUILD.gn | 4 -
84 files changed, 120 insertions(+), 2179 deletions(-)
85 files changed, 121 insertions(+), 2179 deletions(-)
create mode 100644 components/webauthn/android/java/src/org/chromium/components/webauthn/ConditionalUiState.java
diff --git a/android_webview/expectations/system_webview_bundle.AndroidManifest.expected b/android_webview/expectations/system_webview_bundle.AndroidManifest.expected
@@ -833,6 +834,17 @@ diff --git a/chrome/browser/push_messaging/push_messaging_service_factory.cc b/c
}
// static
diff --git a/chrome/browser/safe_browsing/notification_telemetry/notification_telemetry_service.cc b/chrome/browser/safe_browsing/notification_telemetry/notification_telemetry_service.cc
--- a/chrome/browser/safe_browsing/notification_telemetry/notification_telemetry_service.cc
+++ b/chrome/browser/safe_browsing/notification_telemetry/notification_telemetry_service.cc
@@ -116,6 +116,7 @@ NotificationTelemetryService::NotificationTelemetryService(
// Notification Telemetry Service is a keyed service and will outlive
// any invocations of the callback being registered with the push messaging
// service (also a keyed service).
+ if (push_messaging_service)
push_messaging_service->SetSubscribeFromWorkerCallback(base::BindRepeating(
&NotificationTelemetryService::OnNewNotificationServiceWorkerSubscription,
base::Unretained(this)));
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
@@ -27,9 +27,9 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../suggestions/SuggestionsConfig.java | 2 +-
.../SuggestionsNavigationDelegate.java | 27 +-
.../tile/MostVisitedTilesCoordinator.java | 6 +-
.../tile/MostVisitedTilesGridLayout.java | 283 ++++++++++++++++++
.../tile/MostVisitedTilesGridLayout.java | 287 ++++++++++++++++++
.../tile/MostVisitedTilesMediator.java | 4 +-
.../suggestions/tile/TileRenderer.java | 4 +-
.../suggestions/tile/TileRenderer.java | 8 +-
.../suggestions/tile/TilesLinearLayout.java | 2 +-
.../engagement/important_sites_util.cc | 2 +-
.../flags/android/chrome_feature_list.cc | 1 +
@@ -39,7 +39,7 @@ 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 +
33 files changed, 528 insertions(+), 45 deletions(-)
33 files changed, 534 insertions(+), 47 deletions(-)
create mode 100644 chrome/android/java/res/layout/ntp_shortcuts.xml
create mode 100644 chrome/android/java/src/org/chromium/chrome/browser/feedback/SimplifiedNtpFeedbackSource.java
create mode 100644 chrome/android/java/src/org/chromium/chrome/browser/suggestions/tile/MostVisitedTilesGridLayout.java
@@ -696,7 +696,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/suggestions/til
new file mode 100644
--- /dev/null
+++ b/chrome/android/java/src/org/chromium/chrome/browser/suggestions/tile/MostVisitedTilesGridLayout.java
@@ -0,0 +1,283 @@
@@ -0,0 +1,287 @@
+// 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.
@@ -937,6 +937,10 @@ new file mode 100644
+ mTileList.add(tileView);
+ }
+
+ public void addNonTileViewWithWidth(View view, float widthDp) {
+ super.addView(view);
+ }
+
+ /**
+ * Specialized getChildCount() for tiles.
+ *
@@ -1022,6 +1026,24 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/suggestions/til
SuggestionsTileView tileView =
(SuggestionsTileView)
LayoutInflater.from(parent.getContext())
@@ -316,7 +316,7 @@ public class TileRenderer {
return tileView;
}
- View buildDivider(TilesLinearLayout parent) {
+ View buildDivider(MostVisitedTilesGridLayout parent) {
return (View)
LayoutInflater.from(parent.getContext())
.inflate(R.layout.suggestions_tile_vertical_divider, parent, false);
@@ -343,7 +343,7 @@ public class TileRenderer {
}
TileView buildAddCustomLinksButton(
- TilesLinearLayout parent, TileGroup.TileSetupDelegate setupDelegate) {
+ MostVisitedTilesGridLayout parent, TileGroup.TileSetupDelegate setupDelegate) {
Resources res = mContext.getResources();
String title = res.getString(R.string.most_visited_add_new);
Drawable plusIcon =
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
@@ -189,7 +189,7 @@ diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/brow
private @Nullable RadioButtonWithDescription mAddToBookmarksButton;
private @Nullable RadioButtonWithDescription mReadAloudButton;
private @Nullable RadioButtonWithDescription mPageSummaryButton;
+ private @NonNull RadioButtonWithDescription mReaderMode;
+ private @Nullable RadioButtonWithDescription mReaderMode;
private @AdaptiveToolbarButtonVariant int mSelected;
private @AdaptiveToolbarButtonVariant int mAutoButtonCaption;
private @Nullable AdaptiveToolbarStatePredictor mStatePredictor;
@@ -3,9 +3,9 @@ Date: Mon, 3 Mar 2025 14:33:03 +0000
Subject: Temporarily disable Tab Group Sync Android
---
.../src/org/chromium/chrome/browser/ChromeTabbedActivity.java | 2 --
components/saved_tab_groups/public/features.cc | 3 +++
2 files changed, 3 insertions(+), 2 deletions(-)
.../src/org/chromium/chrome/browser/ChromeTabbedActivity.java | 2 --
components/saved_tab_groups/public/features.cc | 2 ++
2 files changed, 2 insertions(+), 2 deletions(-)
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
@@ -22,12 +22,11 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct
diff --git a/components/saved_tab_groups/public/features.cc b/components/saved_tab_groups/public/features.cc
--- a/components/saved_tab_groups/public/features.cc
+++ b/components/saved_tab_groups/public/features.cc
@@ -136,4 +136,7 @@ base::TimeDelta GetOriginatingSavedGroupCleanUpTimeInterval() {
@@ -136,4 +136,6 @@ base::TimeDelta GetOriginatingSavedGroupCleanUpTimeInterval() {
return base::Seconds(time_in_seconds);
}
+SET_CROMITE_FEATURE_DISABLED(kTabGroupSyncAndroid);
+SET_CROMITE_FEATURE_DISABLED(kTabGroupPaneAndroid);
+SET_CROMITE_FEATURE_ENABLED(kTabGroupSyncDisableNetworkLayer);
} // namespace tab_groups
--
+5 -16
View File
@@ -24,7 +24,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../settings/UserAgentPreferences.java | 183 ++++++++++++++++++
.../browser/tab/RequestDesktopUtils.java | 1 +
.../chromium/chrome/browser/tab/TabImpl.java | 64 +++++-
.../chromium/chrome/browser/tab/TabUtils.java | 11 +-
.../chromium/chrome/browser/tab/TabUtils.java | 7 +-
.../browser/android/content/content_utils.cc | 32 ++-
.../preferences/browser_prefs_android.cc | 7 +
.../privacy_preferences_manager_impl.cc | 126 ++++++++++++
@@ -46,7 +46,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../browser/web_contents/web_contents_impl.cc | 6 +-
.../framehost/NavigationControllerImpl.java | 3 +-
content/renderer/render_thread_impl.cc | 1 -
36 files changed, 798 insertions(+), 17 deletions(-)
36 files changed, 794 insertions(+), 17 deletions(-)
create mode 100644 chrome/android/java/res/layout/custom_useragent_preferences.xml
create mode 100644 chrome/android/java/res/xml/useragent_preferences.xml
create mode 100644 chrome/android/java/src/org/chromium/chrome/browser/settings/UserAgentPreferences.java
@@ -408,8 +408,8 @@ new file mode 100644
+import org.chromium.components.browser_ui.settings.SettingsUtils;
+import org.chromium.components.content_settings.ContentSettingsType;
+import org.chromium.components.browser_ui.site_settings.WebsitePreferenceBridge;
+import org.chromium.chrome.browser.app.tabmodel.TabWindowManagerSingleton;
+import org.chromium.chrome.browser.tabmodel.TabWindowManager;
+import org.chromium.chrome.browser.app.tabwindow.TabWindowManagerSingleton;
+import org.chromium.chrome.browser.tabwindow.TabWindowManager;
+import org.chromium.chrome.browser.privacy.settings.PrivacyPreferencesManagerImpl;
+import org.chromium.chrome.browser.profiles.Profile;
+import org.chromium.chrome.browser.settings.ProfileDependentSetting;
@@ -671,18 +671,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.jav
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabUtils.java b/chrome/android/java/src/org/chromium/chrome/browser/tab/TabUtils.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabUtils.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tab/TabUtils.java
@@ -41,6 +41,10 @@ import org.chromium.ui.display.DisplayAndroidManager;
import org.chromium.ui.display.DisplayUtil;
import org.chromium.url.GURL;
+import org.chromium.chrome.browser.app.tabmodel.TabWindowManagerSingleton;
+import org.chromium.chrome.browser.preferences.ChromePreferenceKeys;
+import org.chromium.chrome.browser.preferences.ChromeSharedPreferences;
+
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
@@ -125,11 +129,8 @@ public class TabUtils {
@@ -125,11 +125,8 @@ public class TabUtils {
* @param switchToDesktop Whether switching the user agent to desktop.
* @param caller The caller of this method.
*/
+3 -4
View File
@@ -8,7 +8,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
chrome/android/java/AndroidManifest.xml | 4 -
.../privacy_preferences_manager_impl.cc | 5 +
.../metrics/chrome_feature_list_creator.cc | 12 ++
.../search_engine_preconnector.cc | 2 +
.../search_engine_preconnector.cc | 1 +
.../policy/chrome_browser_policy_connector.cc | 3 -
...nfiguration_policy_handler_list_factory.cc | 6 +-
.../account_consistency_mode_manager.cc | 7 +-
@@ -37,7 +37,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
.../gaia_cookie_manager_service.cc | 4 +
google_apis/gaia/gaia_auth_fetcher.cc | 1 +
net/socket/ssl_client_socket_impl.cc | 3 +
33 files changed, 322 insertions(+), 158 deletions(-)
33 files changed, 321 insertions(+), 158 deletions(-)
diff --git a/base/win/win_util.cc b/base/win/win_util.cc
--- a/base/win/win_util.cc
@@ -202,12 +202,11 @@ diff --git a/chrome/browser/metrics/chrome_feature_list_creator.cc b/chrome/brow
diff --git a/chrome/browser/navigation_predictor/search_engine_preconnector.cc b/chrome/browser/navigation_predictor/search_engine_preconnector.cc
--- a/chrome/browser/navigation_predictor/search_engine_preconnector.cc
+++ b/chrome/browser/navigation_predictor/search_engine_preconnector.cc
@@ -55,6 +55,8 @@ BASE_FEATURE(kPreconnectFromKeyedService,
@@ -55,6 +55,7 @@ BASE_FEATURE(kPreconnectFromKeyedService,
BASE_FEATURE(kPreconnectToSearch,
"PreconnectToSearch",
base::FEATURE_ENABLED_BY_DEFAULT);
+SET_CROMITE_FEATURE_DISABLED(kPreconnectToSearch);
+SET_CROMITE_FEATURE_DISABLED(kPreconnectToSearchWithPrivacyModeEnabled);
} // namespace features
WebContentVisibilityManager::WebContentVisibilityManager()
+1 -1
View File
@@ -18691,7 +18691,7 @@ new file mode 100644
+build_webui("build") {
+ grd_prefix = "adblock_internals"
+ static_files = [ "adblock_internals.html" ]
+ non_web_component_files = [ "adblock_internals.ts" ]
+ ts_files = [ "adblock_internals.ts" ]
+ mojo_files_deps = [ "//components/adblock/content/browser/mojom:adblock_internals_ts__generator" ]
+ mojo_files = [ "$root_gen_dir/components/adblock/content/browser/mojom/adblock_internals.mojom-webui.ts" ]
+ ts_definitions = [ "//tools/typescript/definitions/chrome_send.d.ts" ]
+7 -6
View File
@@ -4,8 +4,8 @@ Subject: kill Auth
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
.../signin/SystemAccountManagerDelegate.java | 77 +------------------
1 file changed, 3 insertions(+), 74 deletions(-)
.../signin/SystemAccountManagerDelegate.java | 78 +------------------
1 file changed, 4 insertions(+), 74 deletions(-)
diff --git a/components/signin/public/android/java/src/org/chromium/components/signin/SystemAccountManagerDelegate.java b/components/signin/public/android/java/src/org/chromium/components/signin/SystemAccountManagerDelegate.java
--- a/components/signin/public/android/java/src/org/chromium/components/signin/SystemAccountManagerDelegate.java
@@ -39,7 +39,7 @@ diff --git a/components/signin/public/android/java/src/org/chromium/components/s
// Don't report any accounts if we don't have permission.
// TODO(crbug.com/40942462): Throw an exception if permission was denied.
return new Account[] {};
@@ -116,43 +101,12 @@ public class SystemAccountManagerDelegate implements AccountManagerDelegate {
@@ -116,43 +101,13 @@ public class SystemAccountManagerDelegate implements AccountManagerDelegate {
public AccessTokenData getAccessToken(Account account, String authTokenScope)
throws AuthException {
ThreadUtils.assertOnBackgroundThread();
@@ -63,7 +63,8 @@ diff --git a/components/signin/public/android/java/src/org/chromium/components/s
- new GoogleServiceAuthError(GoogleServiceAuthErrorState.CONNECTION_FAILED));
- }
+ throw new AuthException(AuthException.NONTRANSIENT,
+ "Error while getting token for scope '" + authTokenScope + "'");
+ "Error while getting token for scope '" + authTokenScope + "'",
+ new IOException());
}
@Override
@@ -85,7 +86,7 @@ diff --git a/components/signin/public/android/java/src/org/chromium/components/s
}
protected boolean hasFeatures(Account account, String[] features) {
@@ -184,24 +138,6 @@ public class SystemAccountManagerDelegate implements AccountManagerDelegate {
@@ -184,24 +139,6 @@ public class SystemAccountManagerDelegate implements AccountManagerDelegate {
@SuppressLint("MissingPermission")
@Override
public void createAddAccountIntent(Callback<@Nullable Intent> callback) {
@@ -110,7 +111,7 @@ diff --git a/components/signin/public/android/java/src/org/chromium/components/s
}
// No permission is needed on 23+ and Chrome always has MANAGE_ACCOUNTS permission on lower APIs
@@ -235,14 +171,7 @@ public class SystemAccountManagerDelegate implements AccountManagerDelegate {
@@ -235,14 +172,7 @@ public class SystemAccountManagerDelegate implements AccountManagerDelegate {
@Override
public @Nullable GaiaId getAccountGaiaId(String accountEmail) {