[REBASE] Patches for v133 (final)

This commit is contained in:
Carmelo Messina
2025-02-07 13:44:20 +01:00
parent 921c30a2c6
commit 1d0657121c
41 changed files with 1297 additions and 433 deletions
@@ -14,7 +14,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
chrome/android/java/AndroidManifest.xml | 1 -
.../menu/bookmark_toolbar_menu_improved.xml | 14 +
.../browser/TabbedModeTabDelegateFactory.java | 5 +-
.../app/bookmarks/BookmarkActivity.java | 30 ++
.../app/bookmarks/BookmarkActivity.java | 32 ++
.../browser/bookmarks/BookmarkBridge.java | 285 ++++++++++++++++++
.../browser/bookmarks/BookmarkDelegate.java | 10 +
.../bookmarks/BookmarkManagerCoordinator.java | 9 +
@@ -53,7 +53,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
ui/shell_dialogs/select_file_dialog_linux.cc | 4 +
ui/shell_dialogs/select_file_dialog_linux.h | 2 +
ui/shell_dialogs/select_file_dialog_win.cc | 5 +
42 files changed, 898 insertions(+), 30 deletions(-)
42 files changed, 900 insertions(+), 30 deletions(-)
create mode 100644 cromite_flags/chrome/browser/about_flags_cc/add-bookmark-import-export-actions.inc
create mode 100644 cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/add-bookmark-import-export-actions.inc
create mode 100644 cromite_flags/chrome/browser/flags/android/chrome_feature_list_h/add-bookmark-import-export-actions.inc
@@ -145,14 +145,16 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/bookmarks/B
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
@@ -62,8 +68,23 @@ public class BookmarkActivity extends SnackbarActivity {
@@ -62,8 +68,25 @@ public class BookmarkActivity extends SnackbarActivity {
getOnBackPressedDispatcher(),
mBookmarkManagerCoordinator,
SecondaryActivity.BOOKMARK);
+
+ final boolean listenToActivityState = true;
+ mIntentRequestTracker = IntentRequestTracker.createFromActivity(this);
+ mWindowAndroid = new ActivityWindowAndroid(this, listenToActivityState, mIntentRequestTracker, /*InsetObserver*/ null);
+ mWindowAndroid = new ActivityWindowAndroid(this, listenToActivityState,
+ mIntentRequestTracker, /*InsetObserver*/ null,
+ /* trackOcclusion= */ true);
+ mWindowAndroid.getIntentRequestTracker().restoreInstanceState(savedInstanceState);
+ mBookmarkManagerCoordinator.setWindow(mWindowAndroid,
+ new ModalDialogManager(
@@ -169,7 +171,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/bookmarks/B
@Override
protected void onDestroy() {
super.onDestroy();
@@ -73,6 +94,7 @@ public class BookmarkActivity extends SnackbarActivity {
@@ -73,6 +96,7 @@ public class BookmarkActivity extends SnackbarActivity {
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
@@ -177,7 +179,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/bookmarks/B
if (requestCode == EDIT_BOOKMARK_REQUEST_CODE && resultCode == RESULT_OK) {
BookmarkId bookmarkId =
BookmarkId.getBookmarkIdFromString(
@@ -86,6 +108,14 @@ public class BookmarkActivity extends SnackbarActivity {
@@ -86,6 +110,14 @@ public class BookmarkActivity extends SnackbarActivity {
return new ModalDialogManager(new AppModalPresenter(this), ModalDialogType.APP);
}
+13 -1
View File
@@ -41,6 +41,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
.../placeholder.txt | 1 +
chrome/browser/ui/ui_features.cc | 1 +
chrome/common/chrome_features.cc | 1 +
.../browser_ui/accessibility/android/BUILD.gn | 1 +
.../res/xml/accessibility_preferences.xml | 3 +-
.../accessibility/AccessibilitySettings.java | 6 +-
.../android/java/res/values/attrs.xml | 4 +
@@ -104,7 +105,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
third_party/blink/public/common/features.h | 1 +
ui/base/ui_base_features.cc | 1 +
ui/base/ui_base_features.h | 1 +
91 files changed, 802 insertions(+), 28 deletions(-)
92 files changed, 803 insertions(+), 28 deletions(-)
create mode 100644 chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/cromite/include_all_directory.java
create mode 100644 chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/cromite/java_template/CromiteCachedFlag.java.tmpl
create mode 100644 chrome/browser/ui/android/strings/cromite_android_chrome_strings_grd/Add-cromite-flags-support.grdp
@@ -944,6 +945,17 @@ diff --git a/chrome/common/chrome_features.cc b/chrome/common/chrome_features.cc
+#include "cromite_flags/chrome_common_chrome_features_cc.inc"
} // namespace features
diff --git a/components/browser_ui/accessibility/android/BUILD.gn b/components/browser_ui/accessibility/android/BUILD.gn
--- a/components/browser_ui/accessibility/android/BUILD.gn
+++ b/components/browser_ui/accessibility/android/BUILD.gn
@@ -55,6 +55,7 @@ android_library("lib_java") {
":page_zoom_utils_java",
"//base:base_java",
"//build/android:build_java",
+ "//chrome/browser/settings:java",
"//components/browser_ui/settings/android:java",
"//components/browser_ui/site_settings/android:java",
"//components/cached_flags:java",
diff --git a/components/browser_ui/accessibility/android/java/res/xml/accessibility_preferences.xml b/components/browser_ui/accessibility/android/java/res/xml/accessibility_preferences.xml
--- a/components/browser_ui/accessibility/android/java/res/xml/accessibility_preferences.xml
+++ b/components/browser_ui/accessibility/android/java/res/xml/accessibility_preferences.xml
@@ -49,7 +49,7 @@ diff --git a/net/BUILD.gn b/net/BUILD.gn
"//build:chromeos_buildflags",
"//components/miracle_parameter/common",
"//components/network_time/time_tracker",
+ "//components/network_session_configurator/common"
+ "//components/network_session_configurator/common",
"//net/http:transport_security_state_generated_files",
"//third_party/simdutf:simdutf",
]
@@ -10,7 +10,8 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../bookmarks/android/bookmark_bridge.cc | 44 +++++++++++-
.../bookmarks/android/bookmark_bridge.h | 8 +++
.../browser/bookmarks/bookmark_html_writer.cc | 11 ++-
.../bookmark_merged_surface_service.cc | 2 +
.../bookmark_merged_surface_service.cc | 3 +
.../permanent_folder_ordering_tracker.cc | 2 +
.../dialogs/DownloadLocationCustomView.java | 4 +-
.../strings/android_chrome_strings.grd | 3 +
.../bookmark_ui_operations_helper.cc | 2 +
@@ -28,7 +29,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
components/bookmarks/browser/bookmark_uuids.h | 1 +
components/bookmarks/browser/model_loader.cc | 8 ++-
.../bookmark_specifics_conversions.cc | 1 +
24 files changed, 245 insertions(+), 15 deletions(-)
25 files changed, 248 insertions(+), 15 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
@@ -383,6 +384,33 @@ diff --git a/chrome/browser/bookmarks/bookmark_merged_surface_service.cc b/chrom
}
NOTREACHED();
}
@@ -99,6 +101,7 @@ BookmarkParentFolder BookmarkParentFolder::FromFolderNode(
}
switch (node->type()) {
case bookmarks::BookmarkNode::URL:
+ case bookmarks::BookmarkNode::TABS_COLLECTION:
NOTREACHED();
case bookmarks::BookmarkNode::FOLDER:
// TODO(crbug.com/381252292): Consider extending type with a value
diff --git a/chrome/browser/bookmarks/permanent_folder_ordering_tracker.cc b/chrome/browser/bookmarks/permanent_folder_ordering_tracker.cc
--- a/chrome/browser/bookmarks/permanent_folder_ordering_tracker.cc
+++ b/chrome/browser/bookmarks/permanent_folder_ordering_tracker.cc
@@ -22,6 +22,7 @@ bool IsValidTrackedType(BookmarkNode::Type type) {
switch (type) {
case bookmarks::BookmarkNode::URL:
case bookmarks::BookmarkNode::FOLDER:
+ case bookmarks::BookmarkNode::TABS_COLLECTION:
NOTREACHED();
case bookmarks::BookmarkNode::BOOKMARK_BAR:
@@ -168,6 +169,7 @@ void PermanentFolderOrderingTracker::SetTrackedPermanentNodes() {
switch (tracked_type_) {
case bookmarks::BookmarkNode::URL:
case bookmarks::BookmarkNode::FOLDER:
+ case bookmarks::BookmarkNode::TABS_COLLECTION:
NOTREACHED();
case bookmarks::BookmarkNode::BOOKMARK_BAR:
diff --git a/chrome/browser/download/android/java/src/org/chromium/chrome/browser/download/dialogs/DownloadLocationCustomView.java b/chrome/browser/download/android/java/src/org/chromium/chrome/browser/download/dialogs/DownloadLocationCustomView.java
--- a/chrome/browser/download/android/java/src/org/chromium/chrome/browser/download/dialogs/DownloadLocationCustomView.java
+++ b/chrome/browser/download/android/java/src/org/chromium/chrome/browser/download/dialogs/DownloadLocationCustomView.java
@@ -7,37 +7,37 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
.../layout/custom_tabs_control_container.xml | 2 +-
.../java/res/layout/recent_tabs_page.xml | 2 +-
.../java/res/values-sw600dp/dimens.xml | 4 ++--
chrome/android/java/res/values/dimens.xml | 6 ++++-
chrome/android/java/res/values/dimens.xml | 6 +++++-
.../browser/ChromeBaseAppCompatActivity.java | 3 +++
.../chrome/browser/WarmupManager.java | 5 +++-
.../ChromeAccessibilitySettingsDelegate.java | 19 +++++++++++++++
.../chrome/browser/WarmupManager.java | 5 ++++-
.../ChromeAccessibilitySettingsDelegate.java | 19 ++++++++++++++++++
.../chrome/browser/app/ChromeActivity.java | 4 +++-
.../overlays/strip/StripLayoutHelper.java | 10 ++++++--
.../strip/StripLayoutHelperManager.java | 6 ++++-
.../overlays/strip/StripLayoutHelper.java | 10 ++++++++--
.../strip/StripLayoutHelperManager.java | 6 +++++-
.../init/ChromeBrowserInitializer.java | 2 ++
.../tabbed_mode/TabbedRootUiCoordinator.java | 4 +++-
.../chrome/browser/ui/RootUiCoordinator.java | 6 ++++-
.../chrome/browser/ui/RootUiCoordinator.java | 6 +++++-
chrome/browser/preferences/BUILD.gn | 1 +
.../preferences/ChromePreferenceKeys.java | 1 +
.../preferences/ChromeSharedPreferences.java | 12 ++++++++++
.../preferences/ChromeSharedPreferences.java | 12 +++++++++++
.../LegacyChromePreferenceKeys.java | 1 +
.../AppHeaderCoordinator.java | 2 ++
.../omnibox/LocationBarCoordinator.java | 2 +-
.../strings/android_chrome_strings.grd | 7 ++++++
.../java/res/layout/control_container.xml | 8 +++----
.../strings/android_chrome_strings.grd | 7 +++++++
.../java/res/layout/control_container.xml | 8 ++++----
.../java/res/layout/toolbar_tablet.xml | 2 +-
.../java/res/values-sw600dp/dimens.xml | 5 ++--
.../toolbar/java/res/values/dimens.xml | 6 +++--
.../java/res/values-sw600dp/dimens.xml | 5 +++--
.../toolbar/java/res/values/dimens.xml | 6 ++++--
.../browser/toolbar/ControlContainer.java | 2 +-
.../toolbar/top/ToolbarControlContainer.java | 24 ++++++++++++++++++-
.../browser/toolbar/top/ToolbarLayout.java | 5 +++-
.../toolbar/top/ToolbarControlContainer.java | 20 ++++++++++++++++++-
.../browser/toolbar/top/ToolbarLayout.java | 5 ++++-
.../tab_strip/HeightTransitionHandler.java | 2 ++
.../TabStripTransitionCoordinator.java | 6 ++++-
.../res/xml/accessibility_preferences.xml | 5 ++++
.../accessibility/AccessibilitySettings.java | 13 ++++++++++
.../AccessibilitySettingsDelegate.java | 11 +++++++++
.../chromium/ui/base/DeviceFormFactor.java | 14 +++++++++++
33 files changed, 176 insertions(+), 26 deletions(-)
.../TabStripTransitionCoordinator.java | 6 +++++-
.../res/xml/accessibility_preferences.xml | 5 +++++
.../accessibility/AccessibilitySettings.java | 13 ++++++++++++
.../AccessibilitySettingsDelegate.java | 2 ++
.../chromium/ui/base/DeviceFormFactor.java | 14 +++++++++++++
33 files changed, 163 insertions(+), 26 deletions(-)
diff --git a/chrome/android/java/res/layout/custom_tabs_control_container.xml b/chrome/android/java/res/layout/custom_tabs_control_container.xml
--- a/chrome/android/java/res/layout/custom_tabs_control_container.xml
@@ -146,13 +146,13 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/accessibility/s
+ private static class ForceTabletUIDelegate implements BooleanPreferenceDelegate {
+ @Override
+ public boolean isEnabled() {
+ public boolean getValue() {
+ return ChromeSharedPreferences.getInstance().readBoolean(
+ ChromePreferenceKeys.FLAGS_FORCE_TABLET_UI_ENABLED, false);
+ }
+
+ @Override
+ public void setEnabled(boolean value) {
+ public void setValue(boolean value) {
+ ChromeSharedPreferences.getInstance().writeBoolean(
+ ChromePreferenceKeys.FLAGS_FORCE_TABLET_UI_ENABLED, value);
+ }
@@ -499,7 +499,7 @@ diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/brow
import android.graphics.Canvas;
import android.graphics.PorterDuff;
import android.graphics.Rect;
@@ -143,8 +144,29 @@ public class ToolbarControlContainer extends OptimizedFrameLayout
@@ -143,8 +144,25 @@ public class ToolbarControlContainer extends OptimizedFrameLayout
}
@Override
@@ -522,10 +522,6 @@ diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/brow
+ view = findViewById(R.id.find_toolbar_stub);
+ if (view != null)
+ ((MarginLayoutParams)view.getLayoutParams()).topMargin = tab_strip_height;
+
+ view = findViewById(R.id.target_view_stub);
+ if (view != null)
+ ((MarginLayoutParams)view.getLayoutParams()).topMargin = tab_strip_height;
+ }
mToolbarContainer =
(ToolbarViewResourceFrameLayout) findViewById(R.id.toolbar_container);
@@ -637,7 +633,7 @@ diff --git a/components/browser_ui/accessibility/android/java/src/org/chromium/c
+ ChromeSwitchPreference forceTabletUiPref =
+ (ChromeSwitchPreference) findPreference(PREF_FORCE_TABLET_UI);
+ mForceTabletUIDelegate = mDelegate.getForceTabletUIDelegate();
+ forceTabletUiPref.setChecked(mForceTabletUIDelegate.isEnabled());
+ forceTabletUiPref.setChecked(mForceTabletUIDelegate.getValue());
+ forceTabletUiPref.setOnPreferenceChangeListener(this);
+
Preference captions = findPreference(PREF_CAPTIONS);
@@ -648,7 +644,7 @@ diff --git a/components/browser_ui/accessibility/android/java/src/org/chromium/c
if (PREF_FORCE_ENABLE_ZOOM.equals(preference.getKey())) {
mDelegate.getForceEnableZoomAccessibilityDelegate().setValue((Boolean) newValue);
+ } else if (PREF_FORCE_TABLET_UI.equals(preference.getKey())) {
+ mForceTabletUIDelegate.setEnabled((Boolean) newValue);
+ mForceTabletUIDelegate.setValue((Boolean) newValue);
+ mDelegate.requestRestart(getActivity());
} else if (PREF_READER_FOR_ACCESSIBILITY.equals(preference.getKey())) {
mDelegate.getReaderAccessibilityDelegate().setValue((Boolean) newValue);
@@ -656,23 +652,7 @@ diff --git a/components/browser_ui/accessibility/android/java/src/org/chromium/c
diff --git a/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettingsDelegate.java b/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettingsDelegate.java
--- a/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettingsDelegate.java
+++ b/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettingsDelegate.java
@@ -12,6 +12,15 @@ import org.chromium.content_public.browser.BrowserContextHandle;
* embedder-specific logic.
*/
public interface AccessibilitySettingsDelegate {
+ /** An interface to control a single boolean preference. */
+ interface BooleanPreferenceDelegate {
+ /** @return whether the preference is enabled. */
+ boolean isEnabled();
+
+ /** Called when the preference value is changed. */
+ void setEnabled(boolean value);
+ }
+
/** An interface to control a single integer preference. */
interface IntegerPreferenceDelegate {
/**
@@ -39,6 +48,8 @@ public interface AccessibilitySettingsDelegate {
@@ -39,6 +39,8 @@ public interface AccessibilitySettingsDelegate {
*/
BrowserContextHandle getBrowserContextHandle();
@@ -6,20 +6,51 @@ And allow use about:blank as default homepage
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
.../tab_management/TabGridDialogMediator.java | 11 ++++++++++-
.../tasks/tab_management/TabGroupUiMediator.java | 8 +++++++-
.../java/res/xml/homepage_preferences.xml | 5 +++++
.../strip/TabGroupContextMenuCoordinator.java | 11 ++++++++++-
.../chrome/browser/homepage/HomepageManager.java | 16 ++++++++++++++++
.../homepage/settings/HomepageSettings.java | 12 ++++++++++++
.../chrome/browser/metrics/LaunchMetrics.java | 1 -
.../browser/tabmodel/ChromeTabCreator.java | 8 ++++++++
.../preferences/ChromePreferenceKeys.java | 1 +
.../preferences/LegacyChromePreferenceKeys.java | 1 +
.../chrome/browser/tabmodel/TabGroupUtils.java | 8 ++++++++
.../android/strings/android_chrome_strings.grd | 3 +++
chrome/browser/ui/browser_ui_prefs.cc | 2 ++
chrome/common/pref_names.h | 4 ++++
12 files changed, 67 insertions(+), 2 deletions(-)
13 files changed, 79 insertions(+), 4 deletions(-)
diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGridDialogMediator.java b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGridDialogMediator.java
--- a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGridDialogMediator.java
+++ b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGridDialogMediator.java
@@ -94,6 +94,9 @@ import java.util.Map;
import java.util.Objects;
import java.util.Optional;
+import org.chromium.chrome.browser.homepage.HomepageManager;
+import org.chromium.url.GURL;
+
/**
* A mediator for the TabGridDialog component, responsible for communicating with the components'
* coordinator as well as managing the business logic for dialog show/hide.
@@ -914,9 +917,15 @@ public class TabGridDialogMediator
return;
}
+ String url = UrlConstants.NTP_URL;
+ if (UrlConstants.NTP_URL.equals(url)
+ && HomepageManager.getInstance().getPrefNTPIsHomepageEnabled()) {
+ GURL gurl = HomepageManager.getInstance().getHomepageGurl();
+ url = gurl != null ? gurl.getSpec() : url;
+ }
TabGroupUtils.openUrlInGroup(
mCurrentTabGroupModelFilterSupplier.get(),
- UrlConstants.NTP_URL,
+ url,
currentTab.getId(),
TabLaunchType.FROM_TAB_GROUP_UI);
RecordUserAction.record("MobileNewTabOpened." + mComponentName);
diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGroupUiMediator.java b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGroupUiMediator.java
--- a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGroupUiMediator.java
+++ b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGroupUiMediator.java
@@ -63,6 +94,36 @@ diff --git a/chrome/android/java/res/xml/homepage_preferences.xml b/chrome/andro
<org.chromium.chrome.browser.homepage.settings.RadioButtonGroupHomepagePreference
android:key="homepage_radio_group"
android:selectable="false"
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/strip/TabGroupContextMenuCoordinator.java b/chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/strip/TabGroupContextMenuCoordinator.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/strip/TabGroupContextMenuCoordinator.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/strip/TabGroupContextMenuCoordinator.java
@@ -63,6 +63,9 @@ import org.chromium.ui.text.EmptyTextWatcher;
import org.chromium.ui.widget.AnchoredPopupWindow.HorizontalOrientation;
import org.chromium.ui.widget.RectProvider;
+import org.chromium.chrome.browser.homepage.HomepageManager;
+import org.chromium.url.GURL;
+
/**
* A coordinator for the context menu on the tab strip by long-pressing on the group titles. It is
* responsible for creating a list of menu items, setting up the menu and displaying the menu.
@@ -191,9 +194,15 @@ public class TabGroupContextMenuCoordinator extends TabGroupOverflowMenuCoordina
/* didCloseCallback= */ null);
recordUserAction("DeleteGroup");
} else if (menuId == org.chromium.chrome.R.id.open_new_tab_in_group) {
+ String url = UrlConstants.NTP_URL;
+ if (UrlConstants.NTP_URL.equals(url)
+ && HomepageManager.getInstance().getPrefNTPIsHomepageEnabled()) {
+ GURL gurl = HomepageManager.getInstance().getHomepageGurl();
+ url = gurl != null ? gurl.getSpec() : url;
+ }
TabGroupUtils.openUrlInGroup(
tabGroupModelFilter,
- UrlConstants.NTP_URL,
+ url,
tabId,
TabLaunchType.FROM_TAB_GROUP_UI);
recordUserAction("NewTabInGroup");
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/homepage/HomepageManager.java b/chrome/android/java/src/org/chromium/chrome/browser/homepage/HomepageManager.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/homepage/HomepageManager.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/homepage/HomepageManager.java
@@ -183,31 +244,6 @@ diff --git a/chrome/browser/preferences/android/java/src/org/chromium/chrome/bro
ChromePreferenceKeys.INCOGNITO_SHORTCUT_ADDED,
ChromePreferenceKeys.LATEST_UNSUPPORTED_VERSION,
ChromePreferenceKeys.LOCALE_MANAGER_AUTO_SWITCH,
diff --git a/chrome/browser/tabmodel/android/java/src/org/chromium/chrome/browser/tabmodel/TabGroupUtils.java b/chrome/browser/tabmodel/android/java/src/org/chromium/chrome/browser/tabmodel/TabGroupUtils.java
--- a/chrome/browser/tabmodel/android/java/src/org/chromium/chrome/browser/tabmodel/TabGroupUtils.java
+++ b/chrome/browser/tabmodel/android/java/src/org/chromium/chrome/browser/tabmodel/TabGroupUtils.java
@@ -7,6 +7,8 @@ package org.chromium.chrome.browser.tabmodel;
import org.chromium.chrome.browser.tab.Tab;
import org.chromium.chrome.browser.tab.TabLaunchType;
import org.chromium.content_public.browser.LoadUrlParams;
+import org.chromium.chrome.browser.homepage.HomepageManager;
+import org.chromium.url.GURL;
import java.util.List;
@@ -65,6 +67,12 @@ public class TabGroupUtils {
List<Tab> relatedTabs = tabGroupModelFilter.getRelatedTabList(parentId);
if (relatedTabs.isEmpty()) return;
+ if (UrlConstants.NTP_URL.equals(url)
+ && HomepageManager.getInstance().getPrefNTPIsHomepageEnabled()) {
+ GURL gurl = HomepageManager.getInstance().getHomepageGurl();
+ url = gurl != null ? gurl.getSpec() : url;
+ }
+
Tab lastTab = relatedTabs.get(relatedTabs.size() - 1);
TabCreator tabCreator = tabGroupModelFilter.getTabModel().getTabCreator();
LoadUrlParams loadUrlParams = new LoadUrlParams(url);
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
@@ -6,13 +6,13 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
---
chrome/android/chrome_java_sources.gni | 1 +
.../chrome/browser/ChromeTabbedActivity.java | 7 +-
.../ClearBrowsingDataFragment.java | 6 ++
.../ClearBrowsingDataFragment.java | 12 +++
.../ClearBrowsingDataFragmentAtStart.java | 74 +++++++++++++++++++
.../ClearBrowsingDataTabsFragment.java | 7 +-
.../privacy/settings/PrivacySettings.java | 2 +-
chrome/app/settings_strings.grdp | 10 +++
.../browsing_data/browsing_data_bridge.cc | 2 +-
.../chrome_browsing_data_lifetime_manager.cc | 22 +++++-
.../chrome_browsing_data_remover_constants.h | 3 +-
.../chrome_browsing_data_remover_delegate.cc | 14 ++++
.../api/settings_private/prefs_util.cc | 17 +++++
.../browser/profiles/ProfileManagerUtils.java | 5 ++
@@ -33,7 +33,8 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
.../search_engines/template_url_service.cc | 1 +
content/browser/dips/dips_service_impl.cc | 2 +-
content/browser/storage_partition_impl.cc | 1 +
29 files changed, 323 insertions(+), 23 deletions(-)
.../public/browser/browsing_data_remover.h | 7 +-
30 files changed, 335 insertions(+), 23 deletions(-)
create mode 100644 chrome/android/java/src/org/chromium/chrome/browser/browsing_data/ClearBrowsingDataFragmentAtStart.java
diff --git a/chrome/android/chrome_java_sources.gni b/chrome/android/chrome_java_sources.gni
@@ -74,7 +75,20 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/browsing_data/ClearBrowsingDataFragment.java b/chrome/android/java/src/org/chromium/chrome/browser/browsing_data/ClearBrowsingDataFragment.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/browsing_data/ClearBrowsingDataFragment.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/browsing_data/ClearBrowsingDataFragment.java
@@ -475,6 +475,10 @@ public abstract class ClearBrowsingDataFragment extends ChromeBaseSettingsFragme
@@ -163,6 +163,12 @@ public abstract class ClearBrowsingDataFragment extends ChromeBaseSettingsFragme
mParent.updateButtonState();
mShouldAnnounceCounterResult = true;
+
+ BrowsingDataBridge.getForProfile(mParent.getProfile())
+ .setBrowsingDataDeletionPreference(
+ ClearBrowsingDataFragment.getDataType(mOption),
+ mParent.getClearBrowsingDataTabType(),
+ mCheckbox.isChecked());
return true;
}
@@ -475,6 +481,10 @@ public abstract class ClearBrowsingDataFragment extends ChromeBaseSettingsFragme
/** Returns whether is a basic or advanced Clear Browsing Data tab. */
protected abstract @ClearBrowsingDataTab int getClearBrowsingDataTabType();
@@ -85,7 +99,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/browsing_data/C
/**
* Decides whether a given dialog option should be selected when the dialog is initialized.
*
@@ -555,6 +559,7 @@ public abstract class ClearBrowsingDataFragment extends ChromeBaseSettingsFragme
@@ -555,6 +565,7 @@ public abstract class ClearBrowsingDataFragment extends ChromeBaseSettingsFragme
* options.
*/
private void onClearButtonClicked() {
@@ -93,7 +107,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/browsing_data/C
if (shouldShowImportantSitesDialog()) {
showImportantDialogThenClear();
return;
@@ -585,6 +590,7 @@ public abstract class ClearBrowsingDataFragment extends ChromeBaseSettingsFragme
@@ -585,6 +596,7 @@ public abstract class ClearBrowsingDataFragment extends ChromeBaseSettingsFragme
Button clearButton = (Button) getView().findViewById(R.id.clear_button);
boolean isEnabled = !getSelectedOptions().isEmpty();
clearButton.setEnabled(isEnabled);
@@ -211,6 +225,18 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/browsing_data/C
default:
throw new RuntimeException("invalid position: " + position);
}
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
@@ -336,7 +336,7 @@ public class PrivacySettings extends ChromeBaseSettingsFragment
thirdPartyCookies.getTitle().toString());
}
- if (QuickDeleteController.isQuickDeleteFollowupEnabled()) {
+ if (((false)) && QuickDeleteController.isQuickDeleteFollowupEnabled()) {
Preference clearBrowsingDataPreference = findPreference(PREF_CLEAR_BROWSING_DATA);
Preference clearBrowsingDataAdvancedPreference =
findPreference(PREF_CLEAR_BROWSING_DATA_ADVANCED);
diff --git a/chrome/app/settings_strings.grdp b/chrome/app/settings_strings.grdp
--- a/chrome/app/settings_strings.grdp
+++ b/chrome/app/settings_strings.grdp
@@ -282,19 +308,6 @@ diff --git a/chrome/browser/browsing_data/chrome_browsing_data_lifetime_manager.
bool sync_disabled = !SyncServiceFactory::IsSyncAllowed(profile_);
// Condition is satisfied if sync is fully disabled by policy.
if (sync_disabled) {
diff --git a/chrome/browser/browsing_data/chrome_browsing_data_remover_constants.h b/chrome/browser/browsing_data/chrome_browsing_data_remover_constants.h
--- a/chrome/browser/browsing_data/chrome_browsing_data_remover_constants.h
+++ b/chrome/browser/browsing_data/chrome_browsing_data_remover_constants.h
@@ -32,8 +32,7 @@ constexpr DataType DATA_TYPE_SITE_USAGE_DATA = DATA_TYPE_EMBEDDER_BEGIN << 4;
constexpr DataType DATA_TYPE_DURABLE_PERMISSION = DATA_TYPE_EMBEDDER_BEGIN << 5;
constexpr DataType DATA_TYPE_EXTERNAL_PROTOCOL_DATA = DATA_TYPE_EMBEDDER_BEGIN
<< 6;
-constexpr DataType DATA_TYPE_HOSTED_APP_DATA_TEST_ONLY =
- DATA_TYPE_EMBEDDER_BEGIN << 7;
+constexpr DataType DATA_TYPE_SKIP_SSL_HOST_STATE = DATA_TYPE_EMBEDDER_BEGIN << 7;
constexpr DataType DATA_TYPE_CONTENT_SETTINGS = DATA_TYPE_EMBEDDER_BEGIN << 8;
constexpr DataType DATA_TYPE_BOOKMARKS = DATA_TYPE_EMBEDDER_BEGIN << 9;
constexpr DataType DATA_TYPE_ISOLATED_ORIGINS = DATA_TYPE_EMBEDDER_BEGIN << 10;
diff --git a/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.cc b/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.cc
--- a/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.cc
+++ b/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.cc
@@ -313,7 +326,7 @@ diff --git a/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.
// Rename the method to indicate its more general usage.
if (profile_->GetSSLHostStateDelegate()) {
+ bool skip = false;
+ if (remove_mask & chrome_browsing_data_remover::DATA_TYPE_SKIP_SSL_HOST_STATE) {
+ if (remove_mask & content::BrowsingDataRemover::DATA_TYPE_SKIP_SSL_HOST_STATE) {
+ skip = true;
+ }
+ if (!skip)
@@ -745,7 +758,7 @@ diff --git a/content/browser/dips/dips_service_impl.cc b/content/browser/dips/di
remover->RemoveWithFilterAndReply(
base::Time::Min(), base::Time::Max(),
- remove_mask |
+ remove_mask | chrome_browsing_data_remover::DATA_TYPE_SKIP_SSL_HOST_STATE |
+ remove_mask | content::BrowsingDataRemover::DATA_TYPE_SKIP_SSL_HOST_STATE |
content::BrowsingDataRemover::DATA_TYPE_AVOID_CLOSING_CONNECTIONS,
content::BrowsingDataRemover::ORIGIN_TYPE_UNPROTECTED_WEB |
content::BrowsingDataRemover::ORIGIN_TYPE_PROTECTED_WEB,
@@ -760,4 +773,28 @@ diff --git a/content/browser/storage_partition_impl.cc b/content/browser/storage
GetGeneratedCodeCacheContext()->Initialize(code_cache_path,
settings.size_in_bytes());
}
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,14 +151,19 @@ class BrowsingDataRemover {
static constexpr DataType DATA_TYPE_RELATED_WEBSITE_SETS_PERMISSIONS = 1
<< 24;
+ 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;
// Embedders can add more datatypes beyond this point.
static constexpr DataType DATA_TYPE_CONTENT_END =
DATA_TYPE_DEVICE_BOUND_SESSIONS;
+ static_assert(DATA_TYPE_CONTENT_END == DATA_TYPE_DEVICE_BOUND_SESSIONS,
+ "Please check.");
+
// All data stored by the Attribution Reporting API.
static constexpr DataType DATA_TYPE_ATTRIBUTION_REPORTING =
DATA_TYPE_ATTRIBUTION_REPORTING_SITE_CREATED |
--
@@ -76,12 +76,12 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/accessibility/s
+ private static class ShowAlwaysContextMenuOnLinksDelegate implements BooleanPreferenceDelegate {
+ @Override
+ public boolean isEnabled() {
+ public boolean getValue() {
+ return ChromeFeatureList.sShowAlwaysContextMenuOnLinks.isEnabled();
+ }
+
+ @Override
+ public void setEnabled(boolean value) {
+ public void setValue(boolean value) {
+ CromiteNativeUtils.setFlagEnabled(ChromeFeatureList.SHOW_ALWAYS_CONTEXT_MENU_ON_LINKS,
+ "show-always-context-menu-on-links", value);
+ }
@@ -260,13 +260,13 @@ diff --git a/components/browser_ui/accessibility/android/java/src/org/chromium/c
private ChromeSwitchPreference mPageZoomIncludeOSAdjustment;
private ChromeSwitchPreference mPageZoomAlwaysShowPref;
@@ -136,6 +139,12 @@ public class AccessibilitySettings extends ChromeBaseSettingsFragment
mDisableToolbarSwipeUpPref.setChecked(mDisableToolbarSwipeUpDelegate.isEnabled());
mDisableToolbarSwipeUpPref.setChecked(mDisableToolbarSwipeUpDelegate.getValue());
mDisableToolbarSwipeUpPref.setOnPreferenceChangeListener(this);
+ ChromeSwitchPreference mShowAlwaysContextMenuOnLinksPref =
+ (ChromeSwitchPreference) findPreference(PREF_ALWAYS_SHOW_CONTEXTMENU_ON_LINKS);
+ mShowAlwaysContextMenuOnLinksDelegate = mDelegate.getShowAlwaysContextMenuOnLinksDelegate();
+ mShowAlwaysContextMenuOnLinksPref.setChecked(mShowAlwaysContextMenuOnLinksDelegate.isEnabled());
+ mShowAlwaysContextMenuOnLinksPref.setChecked(mShowAlwaysContextMenuOnLinksDelegate.getValue());
+ mShowAlwaysContextMenuOnLinksPref.setOnPreferenceChangeListener(this);
+
Preference captions = findPreference(PREF_CAPTIONS);
@@ -275,9 +275,9 @@ diff --git a/components/browser_ui/accessibility/android/java/src/org/chromium/c
@@ -213,6 +222,9 @@ public class AccessibilitySettings extends ChromeBaseSettingsFragment
mDelegate.requestRestart(getActivity());
} else if (PREF_DISABLE_TOOLBAR_SWIPE_UP.equals(preference.getKey())) {
mDisableToolbarSwipeUpDelegate.setEnabled((Boolean) newValue);
mDisableToolbarSwipeUpDelegate.setValue((Boolean) newValue);
+ } else if (PREF_ALWAYS_SHOW_CONTEXTMENU_ON_LINKS.equals(preference.getKey())) {
+ mShowAlwaysContextMenuOnLinksDelegate.setEnabled((Boolean) newValue);
+ mShowAlwaysContextMenuOnLinksDelegate.setValue((Boolean) newValue);
+ mDelegate.requestRestart(getActivity());
} else if (PREF_PAGE_ZOOM_INCLUDE_OS_ADJUSTMENT.equals(preference.getKey())) {
// TODO(mschillaci): Implement the override behavior for OS level.
@@ -285,7 +285,7 @@ diff --git a/components/browser_ui/accessibility/android/java/src/org/chromium/c
diff --git a/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettingsDelegate.java b/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettingsDelegate.java
--- a/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettingsDelegate.java
+++ b/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettingsDelegate.java
@@ -51,6 +51,8 @@ public interface AccessibilitySettingsDelegate {
@@ -42,6 +42,8 @@ public interface AccessibilitySettingsDelegate {
BooleanPreferenceDelegate getMoveTopToolbarToBottomDelegate();
BooleanPreferenceDelegate getDisableToolbarSwipeUpDelegate();
+1 -1
View File
@@ -201,7 +201,7 @@ diff --git a/third_party/blink/renderer/modules/peerconnection/peer_connection_d
// origin.
+ blink::WebContentSettingsClient* settings = web_frame->GetContentSettingsClient();
+ if (settings && settings->AllowContentSetting(ContentSettingsType::WEBRTC, false)) {
+ policy = kDefault;
+ webrtc_ip_handling_policy = mojom::blink::WebRtcIpHandlingPolicy::kDefault;
+ }
+
switch (webrtc_ip_handling_policy) {
@@ -61,7 +61,7 @@ diff --git a/third_party/blink/renderer/modules/webaudio/audio_buffer.cc b/third
+ if (NotShared<DOMFloat32Array> array = getChannelData(i)) {
+ size_t len = array->length();
+ if (len > 0) {
+ float* destination = array->Data();
+ base::span<float> destination = array->AsSpan();
+ for (unsigned j = 0; j < len; ++j) {
+ destination[j] = BaseAudioContext::ShuffleAudioData(destination[j], j);
+ }
@@ -38,6 +38,7 @@ Require: bromite-build-utils.patch
.../preference_spinner_single_widget.xml | 92 ++++
.../settings/SpinnerPreference.java | 24 +
.../browser_ui/site_settings/android/BUILD.gn | 18 +
.../res/xml/site_settings_preferences.xml | 7 +
.../site_settings/AllSiteSettings.java | 5 +-
.../BromiteCustomContentSetting.java | 155 +++++++
.../BromiteCustomContentSettingImpl.java | 412 ++++++++++++++++++
@@ -83,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 +
72 files changed, 1934 insertions(+), 104 deletions(-)
73 files changed, 1941 insertions(+), 104 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
@@ -108,7 +109,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/site_settings/C
/** A SiteSettingsDelegate instance that contains Chrome-specific Site Settings logic. */
public class ChromeSiteSettingsDelegate implements SiteSettingsDelegate {
public static final String EMBEDDED_CONTENT_HELP_CENTER_URL =
@@ -241,7 +245,7 @@ public class ChromeSiteSettingsDelegate implements SiteSettingsDelegate {
@@ -243,7 +247,7 @@ public class ChromeSiteSettingsDelegate implements SiteSettingsDelegate {
@Override
public boolean isHelpAndFeedbackEnabled() {
@@ -117,7 +118,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/site_settings/C
}
@Override
@@ -398,6 +402,17 @@ public class ChromeSiteSettingsDelegate implements SiteSettingsDelegate {
@@ -400,6 +404,17 @@ public class ChromeSiteSettingsDelegate implements SiteSettingsDelegate {
return mPrivacySandboxBridge.getRelatedWebsiteSetOwner(memberOrigin);
}
@@ -150,7 +151,7 @@ diff --git a/chrome/browser/content_settings/page_specific_content_settings_dele
diff --git a/chrome/browser/resources/settings/privacy_page/privacy_page.html b/chrome/browser/resources/settings/privacy_page/privacy_page.html
--- a/chrome/browser/resources/settings/privacy_page/privacy_page.html
+++ b/chrome/browser/resources/settings/privacy_page/privacy_page.html
@@ -1462,4 +1462,5 @@
@@ -1457,4 +1457,5 @@
</settings-subpage>
</template>
</template>
@@ -588,7 +589,7 @@ diff --git a/chrome/browser/resources/settings/site_settings_page/site_settings_
{
route: routes.SITE_SETTINGS_ADS,
id: Id.ADS,
@@ -450,10 +450,36 @@ function getCategoryItemMap(): Map<ContentSettingsTypes, CategoryListItem> {
@@ -451,10 +451,36 @@ function getCategoryItemMap(): Map<ContentSettingsTypes, CategoryListItem> {
icon: 'privacy:cookie',
},
];
@@ -625,7 +626,7 @@ diff --git a/chrome/browser/resources/settings/site_settings_page/site_settings_
function buildItemListFromIds(orderedIdList: ContentSettingsTypes[]):
CategoryListItem[] {
const map = getCategoryItemMap();
@@ -543,7 +569,7 @@ export class SettingsSiteSettingsPageElement extends
@@ -544,7 +570,7 @@ export class SettingsSiteSettingsPageElement extends
Id.IMAGES,
Id.POPUPS,
]),
@@ -1536,6 +1537,21 @@ diff --git a/components/browser_ui/site_settings/android/BUILD.gn b/components/b
sources = [
"java/res/drawable-hdpi/ic_volume_up_grey600_24dp.png",
"java/res/drawable-hdpi/permission_background_sync.png",
diff --git a/components/browser_ui/site_settings/android/java/res/xml/site_settings_preferences.xml b/components/browser_ui/site_settings/android/java/res/xml/site_settings_preferences.xml
--- a/components/browser_ui/site_settings/android/java/res/xml/site_settings_preferences.xml
+++ b/components/browser_ui/site_settings/android/java/res/xml/site_settings_preferences.xml
@@ -181,4 +181,11 @@ The order of the following items is from: http://crbug.com/610358.
android:title="@string/safety_hub_autorevocation_toggle_title"
android:summary="@string/safety_hub_autorevocation_toggle_summary" />
+ <Preference
+ android:key="divider_cromite"
+ android:selectable="false"
+ android:layout="@layout/horizontal_divider"/>
+
+ <PreferenceCategory android:title="Cromite content settings"/>
+
</PreferenceScreen>
diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/AllSiteSettings.java b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/AllSiteSettings.java
--- a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/AllSiteSettings.java
+++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/AllSiteSettings.java
@@ -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 | 189 ++++++++++++++++++
.../privacy/settings/PrivacySettings.java | 2 +-
.../res/xml/privacy_preferences_cromite.xml | 198 ++++++++++++++++++
.../privacy/settings/PrivacySettings.java | 4 +-
.../Cromite-settings-ui.grdp | 15 ++
5 files changed, 208 insertions(+), 4 deletions(-)
5 files changed, 218 insertions(+), 5 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,189 @@
@@ -0,0 +1,198 @@
+<?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
@@ -162,9 +162,13 @@ new file mode 100644
+ android:key="security_section"
+ android:title="@string/security_section_title"/>
+ <org.chromium.components.browser_ui.settings.ChromeSwitchPreference
+ android:key="https_first_mode"
+ android:key="https_first_mode_legacy"
+ android:title="@string/settings_https_first_mode_title"
+ android:summary="@string/settings_https_first_mode_summary" />
+ <Preference
+ android:key="https_first_mode"
+ android:title="@string/settings_https_first_mode_title"
+ android:fragment="org.chromium.chrome.browser.ssl.HttpsFirstModeSettingsFragment" />
+ <org.chromium.components.browser_ui.settings.ChromeBasePreference
+ android:key="secure_dns"
+ android:title="@string/settings_secure_dns_title"
@@ -211,8 +215,7 @@ new file mode 100644
+ android:fragment="org.chromium.chrome.browser.privacy_guide.PrivacyGuideFragment" />
+ <Preference
+ android:key="tracking_protection"
+ android:title="@string/tracking_protection_title"
+ android:summary="@string/tracking_protection_summary"
+ android:title="@string/third_party_cookies_link_row_label"
+ android:fragment="org.chromium.components.privacy_sandbox.TrackingProtectionSettings"
+ app:isPreferenceVisible="false" />
+ <Preference
@@ -241,6 +244,12 @@ new file mode 100644
+ android:summary="@string/privacy_sync_and_services_link_legacy"
+ app:allowDividerBelow="false"
+ app:isPreferenceVisible="false" />
+ <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
@@ -254,6 +263,15 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
Preference fpProtectionPreference = findPreference(PREF_FP_PROTECTION);
fpProtectionPreference.setVisible(shouldShowFpProtectionUi());
@@ -249,7 +249,7 @@ public class PrivacySettings extends ChromeBaseSettingsFragment
(ChromeSwitchPreference) findPreference(PREF_PASSWORD_LEAK_DETECTION);
if (ChromeFeatureList.isEnabled(ChromeFeatureList.PASSWORD_LEAK_TOGGLE_MOVE)) {
passwordLeakTogglePref.setOnPreferenceChangeListener(this);
- } else {
+ } else if (passwordLeakTogglePref != null) {
passwordLeakTogglePref.setVisible(false);
}
diff --git a/chrome/browser/ui/android/strings/cromite_android_chrome_strings_grd/Cromite-settings-ui.grdp b/chrome/browser/ui/android/strings/cromite_android_chrome_strings_grd/Cromite-settings-ui.grdp
new file mode 100644
--- /dev/null
+47 -1
View File
@@ -5,11 +5,13 @@ Subject: Disable GSA by default
License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
---
.../chrome/browser/IntentHandler.java | 6 ------
.../provider/PageContentProviderImpl.java | 6 ------
.../chrome/browser/share/LensUtils.java | 14 ++------------
.../chromium/chrome/browser/gsa/GSAUtils.java | 10 +++-------
.../GoogleBottomBarActionsHandler.java | 19 ++-----------------
.../chrome/browser/pdf/PdfCoordinator.java | 4 +---
.../Disable-GSA-by-default.inc | 1 +
5 files changed, 8 insertions(+), 42 deletions(-)
7 files changed, 9 insertions(+), 51 deletions(-)
create mode 100644 cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/Disable-GSA-by-default.inc
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/IntentHandler.java b/chrome/android/java/src/org/chromium/chrome/browser/IntentHandler.java
@@ -42,6 +44,29 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/IntentHandler.j
} else if (packageName.equals(ContextUtils.getApplicationContext().getPackageName())) {
return ExternalAppId.CHROME;
} else if (packageName.startsWith(WEBAPK_PACKAGE_PREFIX)) {
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/provider/PageContentProviderImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/provider/PageContentProviderImpl.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/provider/PageContentProviderImpl.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/provider/PageContentProviderImpl.java
@@ -56,8 +56,6 @@ import java.util.UUID;
public class PageContentProviderImpl extends SplitCompatContentProvider.Impl {
private static final int INVALIDATE_URI_DELAY_MS = 10_000;
- private static final String[] AUTHORIZED_PACKAGE_NAMES =
- new String[] {GSAUtils.GSA_PACKAGE_NAME};
static final class PageContentInvocationState {
@@ -339,10 +337,6 @@ public class PageContentProviderImpl extends SplitCompatContentProvider.Impl {
}
private static void grantAccessToUri(Uri uri) {
- for (String packageName : AUTHORIZED_PACKAGE_NAMES) {
- ContextUtils.getApplicationContext()
- .grantUriPermission(packageName, uri, Intent.FLAG_GRANT_READ_URI_PERMISSION);
- }
}
@VisibleForTesting(otherwise = VisibleForTesting.PRIVATE)
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/share/LensUtils.java b/chrome/android/java/src/org/chromium/chrome/browser/share/LensUtils.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/share/LensUtils.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/share/LensUtils.java
@@ -178,6 +203,27 @@ diff --git a/chrome/browser/ui/android/google_bottom_bar/java/src/org/chromium/c
Tab tab = mTabProvider.get();
if (tab == null) {
Log.e(TAG, "Can't send pending intent as tab is null.");
diff --git a/chrome/browser/ui/android/pdf/java/src/org/chromium/chrome/browser/pdf/PdfCoordinator.java b/chrome/browser/ui/android/pdf/java/src/org/chromium/chrome/browser/pdf/PdfCoordinator.java
--- a/chrome/browser/ui/android/pdf/java/src/org/chromium/chrome/browser/pdf/PdfCoordinator.java
+++ b/chrome/browser/ui/android/pdf/java/src/org/chromium/chrome/browser/pdf/PdfCoordinator.java
@@ -246,7 +246,7 @@ public class PdfCoordinator {
}
String requestAssistContent(String filename, boolean isWorkProfile) {
- if (mUri == null) {
+ if ((true)) {
return null;
}
String structuredData;
@@ -264,8 +264,6 @@ public class PdfCoordinator {
} catch (JSONException e) {
return null;
}
- mActivity.grantUriPermission(
- GSAUtils.GSA_PACKAGE_NAME, mUri, Intent.FLAG_GRANT_READ_URI_PERMISSION);
PdfUtils.recordIsWorkProfile(isWorkProfile);
return structuredData;
}
diff --git a/cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/Disable-GSA-by-default.inc b/cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/Disable-GSA-by-default.inc
new file mode 100644
--- /dev/null
+98 -42
View File
@@ -5,45 +5,46 @@ Subject: Disable all predictors code
Original License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
chrome/browser/BUILD.gn | 3 ---
.../preloading_model_keyed_service.cc | 3 +++
.../preloading_model_keyed_service_factory.cc | 4 +---
.../optimization_guide/chrome_hints_manager.cc | 1 +
.../model_validator_keyed_service.cc | 6 +++++-
.../optimization_guide_keyed_service.cc | 1 -
.../predictors/autocomplete_action_predictor.cc | 2 ++
.../predictors/loading_predictor_config.cc | 4 ++--
chrome/browser/predictors/predictors_features.cc | 3 +--
chrome/browser/safe_browsing/BUILD.gn | 1 -
...ification_content_detection_service_factory.cc | 5 +++++
chrome/browser/ui/tab_helpers.cc | 1 -
.../read_anything/read_aloud_app_model.cc | 6 ++++++
.../read_anything/read_aloud_app_model.h | 7 +++++++
.../read_anything/read_anything_app_controller.cc | 10 ++++++++++
.../read_anything/read_anything_app_controller.h | 4 ++++
chrome/utility/BUILD.gn | 2 +-
chrome/utility/services.cc | 8 --------
.../integrators/autofill_optimization_guide.cc | 5 +++--
.../omnibox/browser/autocomplete_controller.cc | 4 ++++
.../optimization_guide/core/hints_fetcher.cc | 1 +
.../optimization_guide/core/hints_manager.cc | 5 +++++
.../core/optimization_guide_features.cc | 15 +++++++++------
.../core/prediction_model_download_manager.cc | 6 ++++--
.../core/prediction_model_fetcher_impl.cc | 1 +
components/optimization_guide/features.gni | 3 +--
.../core/page_content_annotations_features.cc | 5 +++++
components/safe_browsing/core/common/features.cc | 1 +
.../Disable-all-predictors-code.inc | 3 +++
.../Disable-all-predictors-code.inc | 1 +
.../Disable-all-predictors-code.inc | 1 +
.../features_cc/Disable-all-predictors-code.inc | 3 +++
.../features_cc/Disable-all-predictors-code.inc | 1 +
.../features_cc/Disable-all-predictors-code.inc | 2 ++
services/webnn/features.gni | 2 +-
.../core/html/parser/html_document_parser.cc | 1 +
.../document_speculation_rules.cc | 1 +
.../platform/runtime_enabled_features.json5 | 2 +-
38 files changed, 97 insertions(+), 37 deletions(-)
chrome/browser/BUILD.gn | 3 ---
.../preloading_model_keyed_service.cc | 3 +++
.../preloading_model_keyed_service_factory.cc | 4 +---
.../optimization_guide/chrome_hints_manager.cc | 1 +
.../model_validator_keyed_service.cc | 6 +++++-
.../optimization_guide_keyed_service.cc | 1 -
.../predictors/autocomplete_action_predictor.cc | 2 ++
.../predictors/loading_predictor_config.cc | 4 ++--
chrome/browser/predictors/predictors_features.cc | 3 +--
chrome/browser/safe_browsing/BUILD.gn | 1 -
...fication_content_detection_service_factory.cc | 5 +++++
chrome/browser/ui/tab_helpers.cc | 1 -
.../read_anything/read_aloud_app_model.cc | 16 ++++++++++++++--
.../read_anything/read_aloud_app_model.h | 9 ++++++++-
.../read_anything_app_controller.cc | 10 ++++++++++
.../read_anything/read_anything_app_controller.h | 4 ++++
chrome/utility/BUILD.gn | 2 +-
chrome/utility/services.cc | 8 --------
.../integrators/autofill_optimization_guide.cc | 5 +++--
.../omnibox/browser/autocomplete_controller.cc | 4 ++++
.../optimization_guide/core/hints_fetcher.cc | 1 +
.../optimization_guide/core/hints_manager.cc | 5 +++++
.../core/optimization_guide_features.cc | 15 +++++++++------
.../core/prediction_model_download_manager.cc | 6 ++++--
.../core/prediction_model_fetcher_impl.cc | 1 +
components/optimization_guide/features.gni | 3 +--
.../core/page_content_annotations_features.cc | 4 ++++
.../page_content_annotations_model_manager.cc | 1 +
components/safe_browsing/core/common/features.cc | 1 +
.../Disable-all-predictors-code.inc | 3 +++
.../Disable-all-predictors-code.inc | 1 +
.../Disable-all-predictors-code.inc | 1 +
.../features_cc/Disable-all-predictors-code.inc | 3 +++
.../features_cc/Disable-all-predictors-code.inc | 1 +
.../features_cc/Disable-all-predictors-code.inc | 2 ++
services/webnn/features.gni | 2 +-
.../core/html/parser/html_document_parser.cc | 1 +
.../document_speculation_rules.cc | 1 +
.../platform/runtime_enabled_features.json5 | 2 +-
39 files changed, 106 insertions(+), 40 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
@@ -301,7 +302,7 @@ diff --git a/chrome/renderer/accessibility/read_anything/read_aloud_app_model.cc
} // namespace
@@ -148,9 +152,11 @@ void ReadAloudAppModel::PreprocessTextForSpeech(
@@ -148,10 +152,13 @@ void ReadAloudAppModel::PreprocessTextForSpeech(
}
}
@@ -311,8 +312,44 @@ diff --git a/chrome/renderer/accessibility/read_anything/read_aloud_app_model.cc
}
+#endif
+#if BUILDFLAG(BUILD_WITH_TFLITE_LIB)
void ReadAloudAppModel::CalculatePhrases(
a11y::ReadAloudCurrentGranularity& granularity) {
if (!features::IsReadAnythingReadAloudPhraseHighlightingEnabled()) {
@@ -206,19 +213,23 @@ void ReadAloudAppModel::CalculatePhrases(
base::BindOnce(&ReadAloudAppModel::UpdatePhraseBoundaries,
weak_ptr_factory_.GetWeakPtr(), phrase_tokens));
}
+#endif
-static const Strategy kPhraseStrategy = Strategy::kWords;
-static const int kPhraseStrategyParameter = 5;
+[[maybe_unused]] static const Strategy kPhraseStrategy = Strategy::kWords;
+[[maybe_unused]] static const int kPhraseStrategyParameter = 5;
void ReadAloudAppModel::StartPhraseCalculation() {
if (processed_granularities_on_current_page_.size() > 0) {
current_phrase_calculation_index_ = 0;
+#if BUILDFLAG(BUILD_WITH_TFLITE_LIB)
CalculatePhrases(processed_granularities_on_current_page_[0]);
+#endif
}
}
void ReadAloudAppModel::UpdatePhraseBoundaries(std::vector<std::string> tokens,
std::vector<size_t> heads) {
+#if BUILDFLAG(BUILD_WITH_TFLITE_LIB)
// Reset the phrase calculation flag, so that the next phrase calculation can
// be scheduled, if needed.
is_calculating_phrases = false;
@@ -279,6 +290,7 @@ void ReadAloudAppModel::UpdatePhraseBoundaries(std::vector<std::string> tokens,
current_phrase_calculation_index_ = -1;
LOG(WARNING) << "All phrases calculated!";
}
+#endif
}
// TODO(crbug.com/40927698): Update to use AXRange to better handle multiple
diff --git a/chrome/renderer/accessibility/read_anything/read_aloud_app_model.h b/chrome/renderer/accessibility/read_anything/read_aloud_app_model.h
--- a/chrome/renderer/accessibility/read_anything/read_aloud_app_model.h
+++ b/chrome/renderer/accessibility/read_anything/read_aloud_app_model.h
@@ -350,6 +387,15 @@ diff --git a/chrome/renderer/accessibility/read_anything/read_aloud_app_model.h
// Once the phrase segmentation has completed for a given sentence, update the
// granularity with the phrase boundaries, and calculate phrases for the next
@@ -306,7 +313,7 @@ class ReadAloudAppModel {
// Whether a phrase calculation for a sentence is currently underway. (We
// do not initiate a second calculation before the first has completed.)
- bool is_calculating_phrases = false;
+ [[maybe_unused]] bool is_calculating_phrases = false;
// Which sentence (index into `processed_granularities_on_current_page`) is
// currently being processed for phrases. -1 if none.
diff --git a/chrome/renderer/accessibility/read_anything/read_anything_app_controller.cc b/chrome/renderer/accessibility/read_anything/read_anything_app_controller.cc
--- a/chrome/renderer/accessibility/read_anything/read_anything_app_controller.cc
+++ b/chrome/renderer/accessibility/read_anything/read_anything_app_controller.cc
@@ -673,16 +719,26 @@ diff --git a/components/optimization_guide/features.gni b/components/optimizatio
diff --git a/components/page_content_annotations/core/page_content_annotations_features.cc b/components/page_content_annotations/core/page_content_annotations_features.cc
--- a/components/page_content_annotations/core/page_content_annotations_features.cc
+++ b/components/page_content_annotations/core/page_content_annotations_features.cc
@@ -255,4 +255,9 @@ size_t MaxRelatedSearchesCacheSize() {
@@ -255,4 +255,8 @@ size_t MaxRelatedSearchesCacheSize() {
"max_related_searches_cache_size", 10);
}
+SET_CROMITE_FEATURE_DISABLED(kPageContentAnnotations);
+SET_CROMITE_FEATURE_DISABLED(kRemotePageMetadata);
+SET_CROMITE_FEATURE_DISABLED(kPageVisibilityBatchAnnotations);
+SET_CROMITE_FEATURE_DISABLED(kPageContentAnnotationsValidation);
+SET_CROMITE_FEATURE_DISABLED(kPageContentAnnotationsPersistSalientImageMetadata);
} // namespace page_content_annotations::features
diff --git a/components/page_content_annotations/core/page_content_annotations_model_manager.cc b/components/page_content_annotations/core/page_content_annotations_model_manager.cc
--- a/components/page_content_annotations/core/page_content_annotations_model_manager.cc
+++ b/components/page_content_annotations/core/page_content_annotations_model_manager.cc
@@ -44,6 +44,7 @@ PageContentAnnotationsModelManager::~PageContentAnnotationsModelManager() =
void PageContentAnnotationsModelManager::SetUpPageVisibilityModel(
optimization_guide::OptimizationGuideModelProvider*
optimization_guide_model_provider) {
+ if ((true)) return; // was kPageVisibilityBatchAnnotations
if (page_visibility_model_handler_)
return;
diff --git a/components/safe_browsing/core/common/features.cc b/components/safe_browsing/core/common/features.cc
--- a/components/safe_browsing/core/common/features.cc
+++ b/components/safe_browsing/core/common/features.cc
@@ -12,11 +12,18 @@ Original License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
.../browser/aw_content_browser_client.cc | 3 +
..._token_key_commitments_component_loader.cc | 1 +
.../chromium/android_webview/AwSettings.java | 4 +-
chrome/android/java/AndroidManifest.xml | 4 -
.../ChromeSiteSettingsDelegate.java | 2 +
.../k_anonymity_trust_token_getter.cc | 2 +-
.../settings/privacy_page/privacy_page.html | 5 -
chrome/browser/resources/settings/route.ts | 2 +-
.../site_settings_page/site_settings_page.ts | 1 +
.../aggregatable_trigger_config.cc | 2 +-
components/attribution_reporting/features.cc | 1 +
.../origin_trials/features.cc | 2 +
.../core/browser/content_settings_registry.cc | 2 +-
.../origin_trials/features.cc | 1 +
.../render_view_context_menu_base.cc | 3 -
.../aggregatable_report_sender.cc | 15 +-
.../attribution_data_host_manager_impl.cc | 2 +
@@ -24,19 +31,21 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../attribution_os_level_manager.cc | 3 +-
.../attribution_report_network_sender.cc | 9 +
.../attribution_storage_sql.cc | 8 +-
.../renderer_host/render_frame_host_impl.cc | 11 +
content/browser/storage_partition_impl.cc | 12 -
content/public/android/BUILD.gn | 2 -
.../browser/AttributionOsLevelManager.java | 349 +-----------------
.../public/browser/content_browser_client.cc | 7 +-
.../public/browser/navigation_controller.cc | 1 -
.../Disable-conversion-measurement-api.inc | 3 +
.../Disable-conversion-measurement-api.inc | 9 +
.../Disable-conversion-measurement-api.inc | 1 +
.../Disable-conversion-measurement-api.inc | 8 +
.../attribution/request_headers_internal.cc | 1 +
services/network/network_context.cc | 2 +
.../network/public/cpp/attribution_utils.cc | 2 +
third_party/blink/renderer/core/page/page.cc | 2 +-
.../platform/runtime_enabled_features.json5 | 10 +-
.../platform/runtime_enabled_features.json5 | 14 +-
ui/events/android/motion_event_android.cc | 8 +-
25 files changed, 78 insertions(+), 385 deletions(-)
34 files changed, 96 insertions(+), 395 deletions(-)
create mode 100644 cromite_flags/services/network/public/cpp/features_cc/Disable-conversion-measurement-api.inc
create mode 100644 cromite_flags/third_party/blink/common/features_cc/Disable-conversion-measurement-api.inc
@@ -60,6 +69,17 @@ diff --git a/android_webview/browser/aw_content_browser_client.cc b/android_webv
AwBrowserContext* aw_context =
static_cast<AwBrowserContext*>(browser_context);
// WebView only supports OS-level attribution and not web-attribution.
diff --git a/android_webview/browser/component_updater/trust_token_key_commitments_component_loader.cc b/android_webview/browser/component_updater/trust_token_key_commitments_component_loader.cc
--- a/android_webview/browser/component_updater/trust_token_key_commitments_component_loader.cc
+++ b/android_webview/browser/component_updater/trust_token_key_commitments_component_loader.cc
@@ -20,6 +20,7 @@ namespace android_webview {
// Tokens is enabled.
void LoadTrustTokenKeyCommitmentsComponent(
ComponentLoaderPolicyVector& policies) {
+ if ((true)) return;
DVLOG(1)
<< "Registering Trust Token Key Commitments component for loading in "
"embedded WebView.";
diff --git a/android_webview/java/src/org/chromium/android_webview/AwSettings.java b/android_webview/java/src/org/chromium/android_webview/AwSettings.java
--- a/android_webview/java/src/org/chromium/android_webview/AwSettings.java
+++ b/android_webview/java/src/org/chromium/android_webview/AwSettings.java
@@ -102,6 +122,68 @@ diff --git a/chrome/android/java/AndroidManifest.xml b/chrome/android/java/Andro
{% set enable_openxr = enable_openxr|default(0) %}
{% if enable_openxr == "true" %}
<!-- launchMode is set to singleTask because there should never be multiple copies of the app running. -->
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/site_settings/ChromeSiteSettingsDelegate.java b/chrome/android/java/src/org/chromium/chrome/browser/site_settings/ChromeSiteSettingsDelegate.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/site_settings/ChromeSiteSettingsDelegate.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/site_settings/ChromeSiteSettingsDelegate.java
@@ -152,6 +152,8 @@ public class ChromeSiteSettingsDelegate implements SiteSettingsDelegate {
// not great to dynamically remove the preference in this way.
case SiteSettingsCategory.Type.ADS:
return SiteSettingsCategory.adsCategoryEnabled();
+ case SiteSettingsCategory.Type.ANTI_ABUSE:
+ return false;
case SiteSettingsCategory.Type.AUTO_DARK_WEB_CONTENT:
return ChromeFeatureList.isEnabled(
ChromeFeatureList.DARKEN_WEBSITES_CHECKBOX_IN_THEMES_SETTING);
diff --git a/chrome/browser/k_anonymity_service/k_anonymity_trust_token_getter.cc b/chrome/browser/k_anonymity_service/k_anonymity_trust_token_getter.cc
--- a/chrome/browser/k_anonymity_service/k_anonymity_trust_token_getter.cc
+++ b/chrome/browser/k_anonymity_service/k_anonymity_trust_token_getter.cc
@@ -119,7 +119,7 @@ KAnonymityTrustTokenGetter::~KAnonymityTrustTokenGetter() = default;
void KAnonymityTrustTokenGetter::TryGetTrustTokenAndKey(
TryGetTrustTokenAndKeyCallback callback) {
- if (!identity_manager_ ||
+ if (((true)) || !identity_manager_ ||
!identity_manager_->HasPrimaryAccount(signin::ConsentLevel::kSignin)) {
std::move(callback).Run(std::nullopt);
return;
diff --git a/chrome/browser/resources/settings/privacy_page/privacy_page.html b/chrome/browser/resources/settings/privacy_page/privacy_page.html
--- a/chrome/browser/resources/settings/privacy_page/privacy_page.html
+++ b/chrome/browser/resources/settings/privacy_page/privacy_page.html
@@ -635,11 +635,6 @@
</category-setting-exceptions>
</settings-subpage>
</template>
- <template is="dom-if" route-path="/content/autoVerify" no-search>
- <settings-subpage page-title="$i18n{siteSettingsAntiAbuse}">
- <settings-anti-abuse-page></settings-anti-abuse-page>
- </settings-subpage>
- </template>
<template is="dom-if" route-path="/content/microphone" no-search>
<settings-subpage page-title="$i18n{siteSettingsCategoryMicrophone}"
search-label="$i18n{siteSettingsAllSitesSearch}"
diff --git a/chrome/browser/resources/settings/route.ts b/chrome/browser/resources/settings/route.ts
--- a/chrome/browser/resources/settings/route.ts
+++ b/chrome/browser/resources/settings/route.ts
@@ -92,7 +92,7 @@ function addPrivacyChildRoutes(r: Partial<SettingsRoutes>) {
r.SITE_SETTINGS.createChild('smartCardReaders');
}
// </if>
- r.SITE_SETTINGS_AUTO_VERIFY = r.SITE_SETTINGS.createChild('autoVerify');
+ // r.SITE_SETTINGS_AUTO_VERIFY = r.SITE_SETTINGS.createChild('autoVerify');
if (!loadTimeData.getBoolean('enableAiSettingsPageRefresh') &&
loadTimeData.getBoolean('enableComposeProactiveNudge')) {
r.OFFER_WRITING_HELP = r.SITE_SETTINGS.createChild('offerWritingHelp');
diff --git a/chrome/browser/resources/settings/site_settings_page/site_settings_page.ts b/chrome/browser/resources/settings/site_settings_page/site_settings_page.ts
--- a/chrome/browser/resources/settings/site_settings_page/site_settings_page.ts
+++ b/chrome/browser/resources/settings/site_settings_page/site_settings_page.ts
@@ -62,6 +62,7 @@ function getCategoryItemMap(): Map<ContentSettingsTypes, CategoryListItem> {
route: routes.SITE_SETTINGS_AUTO_VERIFY,
id: Id.ANTI_ABUSE,
label: 'siteSettingsAntiAbuse',
+ shouldShow: () => false,
icon: 'privacy20:person-check',
enabledLabel: 'siteSettingsAntiAbuseEnabledSubLabel',
disabledLabel: 'siteSettingsAntiAbuseDisabledSubLabel',
diff --git a/components/attribution_reporting/aggregatable_trigger_config.cc b/components/attribution_reporting/aggregatable_trigger_config.cc
--- a/components/attribution_reporting/aggregatable_trigger_config.cc
+++ b/components/attribution_reporting/aggregatable_trigger_config.cc
@@ -123,15 +205,26 @@ diff --git a/components/attribution_reporting/features.cc b/components/attributi
+SET_CROMITE_FEATURE_DISABLED(kConversionMeasurement);
} // namespace attribution_reporting::features
diff --git a/components/content_settings/core/browser/content_settings_registry.cc b/components/content_settings/core/browser/content_settings_registry.cc
--- a/components/content_settings/core/browser/content_settings_registry.cc
+++ b/components/content_settings/core/browser/content_settings_registry.cc
@@ -689,7 +689,7 @@ void ContentSettingsRegistry::Init() {
ContentSettingsInfo::INHERIT_IN_INCOGNITO,
ContentSettingsInfo::EXCEPTIONS_ON_SECURE_ORIGINS_ONLY);
- Register(ContentSettingsType::ANTI_ABUSE, "anti-abuse", CONTENT_SETTING_ALLOW,
+ Register(ContentSettingsType::ANTI_ABUSE, "anti-abuse", CONTENT_SETTING_BLOCK,
WebsiteSettingsInfo::SYNCABLE,
/*allowlisted_primary_schemes=*/{},
/*valid_settings=*/{CONTENT_SETTING_ALLOW, CONTENT_SETTING_BLOCK},
diff --git a/components/embedder_support/origin_trials/features.cc b/components/embedder_support/origin_trials/features.cc
--- a/components/embedder_support/origin_trials/features.cc
+++ b/components/embedder_support/origin_trials/features.cc
@@ -16,4 +16,6 @@ namespace embedder_support {
@@ -16,4 +16,5 @@ namespace embedder_support {
BASE_FEATURE(kOriginTrialsSampleAPIThirdPartyAlternativeUsage,
"OriginTrialsSampleAPIThirdPartyAlternativeUsage",
base::FEATURE_ENABLED_BY_DEFAULT);
+SET_CROMITE_FEATURE_DISABLED(kOriginTrialsSampleAPIThirdPartyAlternativeUsage);
+SET_CROMITE_FEATURE_DISABLED(kConversionMeasurementAPIAlternativeUsage);
} // namespace embedder_support
diff --git a/components/renderer_context_menu/render_view_context_menu_base.cc b/components/renderer_context_menu/render_view_context_menu_base.cc
--- a/components/renderer_context_menu/render_view_context_menu_base.cc
@@ -271,6 +364,34 @@ diff --git a/content/browser/attribution_reporting/attribution_storage_sql.cc b/
db_(sql::DatabaseOptions{.page_size = 4096, .cache_size = 32},
/*tag=*/"Conversions"),
delegate_(delegate),
diff --git a/content/browser/renderer_host/render_frame_host_impl.cc b/content/browser/renderer_host/render_frame_host_impl.cc
--- a/content/browser/renderer_host/render_frame_host_impl.cc
+++ b/content/browser/renderer_host/render_frame_host_impl.cc
@@ -9887,6 +9887,7 @@ bool RenderFrameHostImpl::IsFencedFrameReportingFromRendererAllowed(
return false;
}
+ if ((true)) return false;
if (!IsActive()) {
// reportEvent is not allowed when this RenderFrameHost or one of its
// ancestors is not active.
@@ -13640,6 +13641,16 @@ void RenderFrameHostImpl::BindTrustTokenQueryAnswerer(
return;
}
+ // flags are enforced in benign renderers by the
+ // RuntimeEnabled=PrivateStateTokens IDL attribute (the base::Feature's value
+ // is tied to the RuntimeEnabledFeature's).
+ if ((false)) {
+ mojo::ReportBadMessage(
+ "Attempted to get a TrustTokenQueryAnswerer with Private State Tokens "
+ "disabled.");
+ return;
+ }
+
// TODO(crbug.com/40729410): Document.hasPrivateToken is restricted to
// secure contexts, so we could additionally add a check verifying that the
// bind request "is coming from a secure context"---but there's currently no
diff --git a/content/browser/storage_partition_impl.cc b/content/browser/storage_partition_impl.cc
--- a/content/browser/storage_partition_impl.cc
+++ b/content/browser/storage_partition_impl.cc
@@ -825,16 +946,13 @@ diff --git a/cromite_flags/services/network/public/cpp/features_cc/Disable-conve
new file mode 100644
--- /dev/null
+++ b/cromite_flags/services/network/public/cpp/features_cc/Disable-conversion-measurement-api.inc
@@ -0,0 +1,3 @@
@@ -0,0 +1 @@
+SET_CROMITE_FEATURE_DISABLED(kAttributionReportingCrossAppWeb);
+SET_CROMITE_FEATURE_DISABLED(kPrivateStateTokens);
+SET_CROMITE_FEATURE_DISABLED(kFledgePst);
diff --git a/cromite_flags/third_party/blink/common/features_cc/Disable-conversion-measurement-api.inc b/cromite_flags/third_party/blink/common/features_cc/Disable-conversion-measurement-api.inc
new file mode 100644
--- /dev/null
+++ b/cromite_flags/third_party/blink/common/features_cc/Disable-conversion-measurement-api.inc
@@ -0,0 +1,9 @@
+SET_CROMITE_FEATURE_DISABLED(kAdAuctionReportingWithMacroApi);
@@ -0,0 +1,8 @@
+SET_CROMITE_FEATURE_DISABLED(kAdAuctionSignals);
+SET_CROMITE_FEATURE_DISABLED(kBrowsingTopics);
+SET_CROMITE_FEATURE_DISABLED(kBrowsingTopicsDocumentAPI);
@@ -854,6 +972,25 @@ diff --git a/services/network/attribution/request_headers_internal.cc b/services
std::vector<net::structured_headers::DictionaryMember> registrars;
const char* grease1;
diff --git a/services/network/network_context.cc b/services/network/network_context.cc
--- a/services/network/network_context.cc
+++ b/services/network/network_context.cc
@@ -2647,6 +2647,7 @@ URLRequestContextOwner NetworkContext::MakeURLRequestContext(
builder.SetCookieStore(std::move(cookie_store));
}
+ if ((false)) {
trust_token_store_ = std::make_unique<PendingTrustTokenStore>();
base::FilePath trust_token_path;
@@ -2667,6 +2668,7 @@ URLRequestContextOwner NetworkContext::MakeURLRequestContext(
std::make_unique<ExpiryInspectingRecordExpiryDelegate>(
network_service()->trust_token_key_commitments())));
}
+ }
std::unique_ptr<net::StaticHttpUserAgentSettings> user_agent_settings =
std::make_unique<net::StaticHttpUserAgentSettings>(
diff --git a/services/network/public/cpp/attribution_utils.cc b/services/network/public/cpp/attribution_utils.cc
--- a/services/network/public/cpp/attribution_utils.cc
+++ b/services/network/public/cpp/attribution_utils.cc
@@ -915,6 +1052,17 @@ diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5
},
{
// This only exists so we can use RuntimeEnabled in the IDL file
@@ -3422,8 +3422,8 @@
base_feature: "none",
},
{
- name: "PrivateStateTokens",
- status: "stable",
+ name: "PrivateStateTokens", // disabled
+ status: "experimental", // by default
base_feature: "none",
public: true,
},
@@ -4311,15 +4311,15 @@
},
{
+39 -9
View File
@@ -4,9 +4,10 @@ Subject: Disable crash reporting
---
chrome/browser/chrome_content_browser_client.cc | 9 ---------
.../content_features_cc/Disable-crash-reporting.inc | 1 +
2 files changed, 1 insertion(+), 9 deletions(-)
create mode 100644 cromite_flags/content/public/common/content_features_cc/Disable-crash-reporting.inc
content/browser/renderer_host/render_frame_host_impl.cc | 1 +
content/browser/web_contents/web_contents_impl.cc | 2 +-
.../controller/javascript_call_stack_collector.cc | 2 +-
4 files changed, 3 insertions(+), 11 deletions(-)
diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/chrome_content_browser_client.cc
--- a/chrome/browser/chrome_content_browser_client.cc
@@ -27,10 +28,39 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch
#endif
if (logging::DialogsAreSuppressed())
diff --git a/cromite_flags/content/public/common/content_features_cc/Disable-crash-reporting.inc b/cromite_flags/content/public/common/content_features_cc/Disable-crash-reporting.inc
new file mode 100644
--- /dev/null
+++ b/cromite_flags/content/public/common/content_features_cc/Disable-crash-reporting.inc
@@ -0,0 +1 @@
+SET_CROMITE_FEATURE_DISABLED(kCrashReporting);
diff --git a/content/browser/renderer_host/render_frame_host_impl.cc b/content/browser/renderer_host/render_frame_host_impl.cc
--- a/content/browser/renderer_host/render_frame_host_impl.cc
+++ b/content/browser/renderer_host/render_frame_host_impl.cc
@@ -15205,6 +15205,7 @@ void RenderFrameHostImpl::OnSameDocumentCommitProcessed(
void RenderFrameHostImpl::MaybeGenerateCrashReport(
base::TerminationStatus status,
int exit_code) {
+ if ((true)) return;
if (!last_committed_url_.SchemeIsHTTPOrHTTPS())
return;
diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc
--- a/content/browser/web_contents/web_contents_impl.cc
+++ b/content/browser/web_contents/web_contents_impl.cc
@@ -9715,7 +9715,7 @@ void WebContentsImpl::RendererUnresponsive(
base::UmaHistogramEnumeration(
"ReportingAndNEL.UnresponsiveRenderer.CrashReportOutcome", outcome);
- if (base::FeatureList::IsEnabled(
+ if (((false)) && base::FeatureList::IsEnabled(
blink::features::kDocumentPolicyIncludeJSCallStacksInCrashReports) &&
this->GetLastCommittedURL().SchemeIsHTTPOrHTTPS()) {
RenderProcessHost* rph = render_widget_host->GetProcess();
diff --git a/third_party/blink/renderer/controller/javascript_call_stack_collector.cc b/third_party/blink/renderer/controller/javascript_call_stack_collector.cc
--- a/third_party/blink/renderer/controller/javascript_call_stack_collector.cc
+++ b/third_party/blink/renderer/controller/javascript_call_stack_collector.cc
@@ -84,7 +84,7 @@ void GenerateJavaScriptCallStack(v8::Isolate* isolate, void* data) {
return;
}
ExecutionContext* execution_context = ToExecutionContext(script_state);
- if (!RuntimeEnabledFeatures::
+ if (((true)) || !RuntimeEnabledFeatures::
DocumentPolicyIncludeJSCallStacksInCrashReportsEnabled(
execution_context)) {
PostHandleCollectedCallStackTask(collector, builder);
--
@@ -7,6 +7,7 @@ Disable reporting of Omnibox suggestions header.
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
android_webview/browser/aw_browser_context.cc | 1 +
.../origin_trials_component_loader.cc | 1 +
android_webview/common/aw_content_client.cc | 2 ++
android_webview/nonembedded/BUILD.gn | 2 --
@@ -15,6 +16,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../services/VariationsSeedServer.java | 2 --
.../metrics/chrome_browser_sampling_trials.cc | 4 +++
.../net/system_network_context_manager.cc | 1 -
.../origin_trials/origin_trials_factory.cc | 1 +
components/ukm/ukm_recorder_impl.cc | 3 ++
.../firstrun/VariationsSeedBridge.java | 2 +-
.../firstrun/VariationsSeedFetcher.java | 36 +++----------------
@@ -24,12 +26,27 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../variations/service/variations_service.cc | 15 ++------
.../browser/loader/url_loader_throttles.cc | 7 ----
.../origin_trials/origin_trials_utils.cc | 2 +-
.../renderer_host/navigation_request.cc | 1 +
.../variations_render_thread_observer.cc | 9 -----
.../Disable-fetching-of-all-field-trials.inc | 3 ++
.../Disable-fetching-of-all-field-trials.inc | 1 +
.../renderer/core/loader/document_loader.cc | 7 ----
20 files changed, 26 insertions(+), 85 deletions(-)
create mode 100644 cromite_flags/content/public/common/content_features_cc/Disable-fetching-of-all-field-trials.inc
.../platform/loader/fetch/resource_request.h | 1 -
25 files changed, 32 insertions(+), 86 deletions(-)
create mode 100644 cromite_flags/net/base/features_cc/Disable-fetching-of-all-field-trials.inc
create mode 100644 cromite_flags/services/network/public/cpp/features_cc/Disable-fetching-of-all-field-trials.inc
diff --git a/android_webview/browser/aw_browser_context.cc b/android_webview/browser/aw_browser_context.cc
--- a/android_webview/browser/aw_browser_context.cc
+++ b/android_webview/browser/aw_browser_context.cc
@@ -540,6 +540,7 @@ AwBrowserContext::RetrieveInProgressDownloadManager() {
content::OriginTrialsControllerDelegate*
AwBrowserContext::GetOriginTrialsControllerDelegate() {
+ if ((true)) return nullptr;
if (!origin_trials_controller_delegate_) {
origin_trials_controller_delegate_ =
std::make_unique<origin_trials::OriginTrials>(
diff --git a/android_webview/browser/component_updater/origin_trials_component_loader.cc b/android_webview/browser/component_updater/origin_trials_component_loader.cc
--- a/android_webview/browser/component_updater/origin_trials_component_loader.cc
+++ b/android_webview/browser/component_updater/origin_trials_component_loader.cc
@@ -148,6 +165,17 @@ diff --git a/chrome/browser/net/system_network_context_manager.cc b/chrome/brows
network_context_params->enable_brotli = true;
diff --git a/chrome/browser/origin_trials/origin_trials_factory.cc b/chrome/browser/origin_trials/origin_trials_factory.cc
--- a/chrome/browser/origin_trials/origin_trials_factory.cc
+++ b/chrome/browser/origin_trials/origin_trials_factory.cc
@@ -23,6 +23,7 @@ base::LazyInstance<OriginTrialsFactory>::DestructorAtExit
// static
content::OriginTrialsControllerDelegate*
OriginTrialsFactory::GetForBrowserContext(content::BrowserContext* context) {
+ if ((true)) return nullptr;
return static_cast<origin_trials::OriginTrials*>(
GetInstance()->GetServiceForBrowserContext(context, true));
}
diff --git a/components/ukm/ukm_recorder_impl.cc b/components/ukm/ukm_recorder_impl.cc
--- a/components/ukm/ukm_recorder_impl.cc
+++ b/components/ukm/ukm_recorder_impl.cc
@@ -358,6 +386,17 @@ diff --git a/content/browser/origin_trials/origin_trials_utils.cc b/content/brow
return {};
}
size_t iter = 0;
diff --git a/content/browser/renderer_host/navigation_request.cc b/content/browser/renderer_host/navigation_request.cc
--- a/content/browser/renderer_host/navigation_request.cc
+++ b/content/browser/renderer_host/navigation_request.cc
@@ -849,6 +849,7 @@ void PersistOriginTrialsFromHeaders(
const network::mojom::URLResponseHead* response,
BrowserContext* browser_context,
ukm::SourceId source_id) {
+ if ((true)) return;
// It is not possible to serialize opaque origins, so we cannot save any
// information for them.
if (origin.opaque())
diff --git a/content/renderer/variations_render_thread_observer.cc b/content/renderer/variations_render_thread_observer.cc
--- a/content/renderer/variations_render_thread_observer.cc
+++ b/content/renderer/variations_render_thread_observer.cc
@@ -377,12 +416,20 @@ diff --git a/content/renderer/variations_render_thread_observer.cc b/content/ren
}
void VariationsRenderThreadObserver::RegisterMojoInterfaces(
diff --git a/cromite_flags/content/public/common/content_features_cc/Disable-fetching-of-all-field-trials.inc b/cromite_flags/content/public/common/content_features_cc/Disable-fetching-of-all-field-trials.inc
diff --git a/cromite_flags/net/base/features_cc/Disable-fetching-of-all-field-trials.inc b/cromite_flags/net/base/features_cc/Disable-fetching-of-all-field-trials.inc
new file mode 100644
--- /dev/null
+++ b/cromite_flags/content/public/common/content_features_cc/Disable-fetching-of-all-field-trials.inc
+++ b/cromite_flags/net/base/features_cc/Disable-fetching-of-all-field-trials.inc
@@ -0,0 +1,3 @@
+SET_CROMITE_FEATURE_DISABLED(kTopLevelTpcdOriginTrial);
+SET_CROMITE_FEATURE_DISABLED(kTpcdTrialSettings);
+SET_CROMITE_FEATURE_DISABLED(kTopLevelTpcdTrialSettings);
diff --git a/cromite_flags/services/network/public/cpp/features_cc/Disable-fetching-of-all-field-trials.inc b/cromite_flags/services/network/public/cpp/features_cc/Disable-fetching-of-all-field-trials.inc
new file mode 100644
--- /dev/null
+++ b/cromite_flags/services/network/public/cpp/features_cc/Disable-fetching-of-all-field-trials.inc
@@ -0,0 +1 @@
+SET_CROMITE_FEATURE_DISABLED(kPersistentOriginTrials);
+SET_CROMITE_FEATURE_DISABLED(kStorageAccessHeadersTrial);
diff --git a/third_party/blink/renderer/core/loader/document_loader.cc b/third_party/blink/renderer/core/loader/document_loader.cc
--- a/third_party/blink/renderer/core/loader/document_loader.cc
+++ b/third_party/blink/renderer/core/loader/document_loader.cc
@@ -400,4 +447,15 @@ diff --git a/third_party/blink/renderer/core/loader/document_loader.cc b/third_p
return result;
}
diff --git a/third_party/blink/renderer/platform/loader/fetch/resource_request.h b/third_party/blink/renderer/platform/loader/fetch/resource_request.h
--- a/third_party/blink/renderer/platform/loader/fetch/resource_request.h
+++ b/third_party/blink/renderer/platform/loader/fetch/resource_request.h
@@ -553,7 +553,6 @@ class PLATFORM_EXPORT ResourceRequestHead {
}
void SetTrustTokenParams(
std::optional<network::mojom::blink::TrustTokenParams> params) {
- trust_token_params_ = std::move(params);
}
// Whether either RequestorOrigin or IsolatedWorldOrigin can display the
--
+23 -5
View File
@@ -24,11 +24,12 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../privacy_sandbox_settings_impl.cc | 19 ++++++++++++++-----
.../tracking_protection_prefs.cc | 4 ++--
.../identity_manager/account_capabilities.cc | 2 +-
.../shared_storage_document_service_impl.cc | 9 +++++++++
.../features_cc/Disable-privacy-sandbox.inc | 1 +
.../Disable-privacy-sandbox.inc | 1 +
.../features_cc/Disable-privacy-sandbox.inc | 4 ++++
.../features_cc/Disable-privacy-sandbox.inc | 2 ++
third_party/blink/common/features.cc | 1 +
18 files changed, 41 insertions(+), 28 deletions(-)
19 files changed, 48 insertions(+), 28 deletions(-)
create mode 100644 cromite_flags/content/common/features_cc/Disable-privacy-sandbox.inc
create mode 100644 cromite_flags/content/public/common/content_features_cc/Disable-privacy-sandbox.inc
create mode 100644 cromite_flags/third_party/blink/common/features_cc/Disable-privacy-sandbox.inc
@@ -296,6 +297,25 @@ diff --git a/components/signin/public/identity_manager/account_capabilities.cc b
}
signin::Tribool AccountCapabilities::is_opted_in_to_parental_supervision()
diff --git a/content/browser/shared_storage/shared_storage_document_service_impl.cc b/content/browser/shared_storage/shared_storage_document_service_impl.cc
--- a/content/browser/shared_storage/shared_storage_document_service_impl.cc
+++ b/content/browser/shared_storage/shared_storage_document_service_impl.cc
@@ -127,6 +127,15 @@ void SharedStorageDocumentServiceImpl::CreateWorklet(
render_frame_host().GetLastCommittedOrigin().IsSameOriginWith(
data_origin);
+ // A document can only create cross-origin worklets with
+ // `kSharedStorageAPIM125` enabled.
+ if (!is_same_origin) {
+ // This could indicate a compromised renderer, so let's terminate it.
+ receiver_.ReportBadMessage(
+ "Attempted to load a cross-origin module script.");
+ return;
+ }
+
// `CreateWorklet()` cannot differentiate between calls from addModule() and
// createWorklet(). Hence, we skip the mojom validation for opaque origin
// context for addModule().
diff --git a/cromite_flags/content/common/features_cc/Disable-privacy-sandbox.inc b/cromite_flags/content/common/features_cc/Disable-privacy-sandbox.inc
new file mode 100644
--- /dev/null
@@ -312,11 +332,9 @@ diff --git a/cromite_flags/third_party/blink/common/features_cc/Disable-privacy-
new file mode 100644
--- /dev/null
+++ b/cromite_flags/third_party/blink/common/features_cc/Disable-privacy-sandbox.inc
@@ -0,0 +1,4 @@
@@ -0,0 +1,2 @@
+SET_CROMITE_FEATURE_DISABLED(kFencedFrames);
+SET_CROMITE_FEATURE_DISABLED(kSharedStorageAPI);
+SET_CROMITE_FEATURE_DISABLED(kSharedStorageAPIM118);
+SET_CROMITE_FEATURE_DISABLED(kSharedStorageAPIM125);
diff --git a/third_party/blink/common/features.cc b/third_party/blink/common/features.cc
--- a/third_party/blink/common/features.cc
+++ b/third_party/blink/common/features.cc
+55 -10
View File
@@ -6,12 +6,17 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
chrome/android/BUILD.gn | 5 ---
chrome/android/chrome_java_sources.gni | 1 -
.../android/java/res/xml/main_preferences.xml | 5 ---
.../android/java/res/xml/main_preferences.xml | 3 +-
.../settings/FragmentDependencyProvider.java | 31 -------------------
.../chrome/browser/settings/MainSettings.java | 2 +-
.../settings/SettingsNavigationImpl.java | 13 ++------
chrome/browser/BUILD.gn | 1 -
.../suggestions/action/OmniboxPedal.java | 3 --
7 files changed, 2 insertions(+), 57 deletions(-)
chrome/browser/ui/tab_helpers.cc | 2 +-
.../site_settings/SiteSettings.java | 2 +-
.../Disable-safety-check.inc | 1 +
11 files changed, 8 insertions(+), 56 deletions(-)
create mode 100644 cromite_flags/chrome/common/chrome_features_cc/Disable-safety-check.inc
diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
--- a/chrome/android/BUILD.gn
@@ -56,15 +61,13 @@ diff --git a/chrome/android/chrome_java_sources.gni b/chrome/android/chrome_java
diff --git a/chrome/android/java/res/xml/main_preferences.xml b/chrome/android/java/res/xml/main_preferences.xml
--- a/chrome/android/java/res/xml/main_preferences.xml
+++ b/chrome/android/java/res/xml/main_preferences.xml
@@ -54,11 +54,6 @@ for the previous order (main_preferences_legacy). -->
android:key="privacy"
android:order="8"
android:title="@string/prefs_privacy_security"/>
- <Preference
- android:fragment="org.chromium.chrome.browser.safety_check.SafetyCheckSettingsFragment"
- android:key="safety_check"
- android:order="9"
@@ -58,7 +58,8 @@ for the previous order (main_preferences_legacy). -->
android:fragment="org.chromium.chrome.browser.safety_check.SafetyCheckSettingsFragment"
android:key="safety_check"
android:order="9"
- android:title="@string/prefs_safety_check"/>
+ android:title="@string/prefs_safety_check"
+ app:isPreferenceVisible="false" />
<Preference
android:fragment="org.chromium.chrome.browser.safety_hub.SafetyHubFragment"
android:key="safety_hub"
@@ -129,6 +132,18 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/Fragme
- }
}
}
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/MainSettings.java b/chrome/android/java/src/org/chromium/chrome/browser/settings/MainSettings.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/settings/MainSettings.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/settings/MainSettings.java
@@ -277,7 +277,7 @@ public class MainSettings extends ChromeBaseSettingsFragment
.removePreference(findPreference(PREF_TOOLBAR_SHORTCUT));
});
- if (BuildInfo.getInstance().isAutomotive) {
+ if (((true)) || BuildInfo.getInstance().isAutomotive) {
getPreferenceScreen().removePreference(findPreference(PREF_SAFETY_CHECK));
getPreferenceScreen().removePreference(findPreference(PREF_SAFETY_HUB));
} else if (!ChromeFeatureList.sSafetyHub.isEnabled()) {
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsNavigationImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsNavigationImpl.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsNavigationImpl.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsNavigationImpl.java
@@ -190,4 +205,34 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow
case OmniboxPedalId.MANAGE_SITE_SETTINGS:
delegate.openSettingsPage(SettingsFragment.SITE);
break;
diff --git a/chrome/browser/ui/tab_helpers.cc b/chrome/browser/ui/tab_helpers.cc
--- a/chrome/browser/ui/tab_helpers.cc
+++ b/chrome/browser/ui/tab_helpers.cc
@@ -553,7 +553,7 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) {
tpcd::trial::ValidityService::MaybeCreateForWebContents(web_contents);
TrustedVaultEncryptionKeysTabHelper::CreateForWebContents(web_contents);
#if BUILDFLAG(IS_ANDROID)
- if (base::FeatureList::IsEnabled(features::kSafetyHub)) {
+ if (((true)) || base::FeatureList::IsEnabled(features::kSafetyHub)) {
auto* service = UnusedSitePermissionsServiceFactory::GetForProfile(profile);
if (service) {
UnusedSitePermissionsService::TabHelper::CreateForWebContents(
diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SiteSettings.java b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SiteSettings.java
--- a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SiteSettings.java
+++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SiteSettings.java
@@ -87,7 +87,7 @@ public class SiteSettings extends BaseSiteSettingsFragment
}
// Remove the permission autorevocation preference if Safety Hub is not enabled.
- if (!getSiteSettingsDelegate().isSafetyHubEnabled()) {
+ if (((false)) && !getSiteSettingsDelegate().isSafetyHubEnabled()) {
getPreferenceScreen().removePreference(findPreference(PERMISSION_AUTOREVOCATION_PREF));
getPreferenceScreen().removePreference(findPreference(DIVIDER_PREF));
}
diff --git a/cromite_flags/chrome/common/chrome_features_cc/Disable-safety-check.inc b/cromite_flags/chrome/common/chrome_features_cc/Disable-safety-check.inc
new file mode 100644
--- /dev/null
+++ b/cromite_flags/chrome/common/chrome_features_cc/Disable-safety-check.inc
@@ -0,0 +1 @@
+SET_CROMITE_FEATURE_DISABLED(kSafetyHub);
--
@@ -51,12 +51,14 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
.../search_engine_desktop_ui.grdp | 6 +
.../android/template_url_service_android.cc | 2 +-
.../search_engines/search_engines_switches.cc | 1 +
components/search_engines/template_url.cc | 4 +
components/search_engines/template_url.h | 1 +
.../search_engines/template_url_service.cc | 8 +-
.../search_engines/template_url_service.h | 6 +-
content/browser/webui/web_ui_impl.cc | 16 +-
content/browser/webui/web_ui_impl.h | 3 +
content/public/browser/web_ui.h | 1 +
third_party/polymer/v3_0/BUILD.gn | 10 +-
third_party/polymer/v3_0/BUILD.gn | 12 +-
ui/base/template_expressions.cc | 21 +-
ui/webui/BUILD.gn | 7 +
ui/webui/resources/BUILD.gn | 20 ++
@@ -73,7 +75,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 +-
66 files changed, 1123 insertions(+), 67 deletions(-)
68 files changed, 1130 insertions(+), 67 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
@@ -1630,7 +1632,7 @@ new file mode 100644
+#include "third_party/blink/public/common/features.h"
+#include "ui/base/interaction/element_identifier.h"
+
+#include "chrome/browser/ui/webui/webui_util.h"
+#include "ui/webui/webui_util.h"
+#include "chrome/browser/ui/webui/theme_handler.h"
+#include "chrome/browser/ui/webui/cr_components/customize_color_scheme_mode/customize_color_scheme_mode_handler.h"
+#include "chrome/browser/ui/webui/settings/settings_localized_strings_provider_android.h"
@@ -1898,6 +1900,31 @@ diff --git a/components/search_engines/search_engines_switches.cc b/components/s
#if BUILDFLAG(IS_ANDROID)
COMPONENT_EXPORT(SEARCH_ENGINES_SWITCHES)
diff --git a/components/search_engines/template_url.cc b/components/search_engines/template_url.cc
--- a/components/search_engines/template_url.cc
+++ b/components/search_engines/template_url.cc
@@ -2084,6 +2084,10 @@ void TemplateURL::SetURL(const std::string& url) {
url_ref().InvalidateCachedValues();
}
+void TemplateURL::set_suggestions_url(const std::string& url) {
+ active_data().suggestions_url = url;
+}
+
void TemplateURL::SetPrepopulateId(int id) {
active_data().prepopulate_id = id;
const bool prepopulated = id > 0;
diff --git a/components/search_engines/template_url.h b/components/search_engines/template_url.h
--- a/components/search_engines/template_url.h
+++ b/components/search_engines/template_url.h
@@ -1004,6 +1004,7 @@ class TemplateURL {
bool CreatedByNonDefaultSearchProviderPolicy() const;
void SetURL(const std::string& url);
+ void set_suggestions_url(const std::string& url);
void SetPrepopulateId(int id);
// Resets the keyword if IsGoogleSearchURLWithReplaceableKeyword() or |force|.
diff --git a/components/search_engines/template_url_service.cc b/components/search_engines/template_url_service.cc
--- a/components/search_engines/template_url_service.cc
+++ b/components/search_engines/template_url_service.cc
@@ -1914,7 +1941,7 @@ diff --git a/components/search_engines/template_url_service.cc b/components/sear
template_url->set_short_name(short_name);
template_url->set_keyword(keyword);
template_url->SetURL(url);
+ template_url->data_.suggestions_url = suggestions_url;
+ template_url->set_suggestions_url(suggestions_url);
return Add(std::move(template_url));
}
@@ -2035,21 +2062,23 @@ diff --git a/third_party/polymer/v3_0/BUILD.gn b/third_party/polymer/v3_0/BUILD.
js_files = [
"iron-a11y-keys-behavior/iron-a11y-keys-behavior.js",
@@ -234,6 +234,14 @@ ts_library("library") {
"components-chromium/polymer/polymer-legacy.d.ts",
]
@@ -18,6 +18,16 @@ js_files = [
"iron-scroll-target-behavior/iron-scroll-target-behavior.js",
]
+ if (is_android) {
+ js_files += [
+ "iron-collapse/iron-collapse.js",
+ "iron-icon/iron-icon.js",
+ "iron-iconset-svg/iron-iconset-svg.js",
+ ]
+ }
+if (is_android) {
+ js_files += [
+ "iron-collapse/iron-collapse.js",
+ "iron-icon/iron-icon.js",
+ "iron-iconset-svg/iron-iconset-svg.js",
+ "iron-flex-layout/iron-flex-layout-classes.js",
+ "iron-meta/iron-meta.js",
+ ]
+}
+
# Also needed on LaCros for Print Preview. Remove once CrOS Print Preview
# launches.
if (is_chromeos) {
if (is_chromeos_ash) {
js_files += [
"iron-a11y-announcer/iron-a11y-announcer.js",
diff --git a/ui/base/template_expressions.cc b/ui/base/template_expressions.cc
--- a/ui/base/template_expressions.cc
+++ b/ui/base/template_expressions.cc
@@ -55,7 +55,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../android/java/res/values/dimens.xml | 11 +
.../java/res/xml/userscripts_preferences.xml | 34 +
.../user_scripts/UserScriptsUtils.java | 88 ++
.../user_scripts/FragmentWindowAndroid.java | 92 ++
.../user_scripts/FragmentWindowAndroid.java | 93 ++
.../user_scripts/IUserScriptsUtils.java | 22 +
.../components/user_scripts/ScriptInfo.java | 37 +
.../user_scripts/ScriptListBaseAdapter.java | 163 ++++
@@ -135,7 +135,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../Experimental-user-scripts-support.inc | 13 +
ipc/ipc_message_start.h | 1 +
tools/gritsettings/resource_ids.spec | 6 +
108 files changed, 9513 insertions(+), 2 deletions(-)
108 files changed, 9514 insertions(+), 2 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
@@ -1323,7 +1323,7 @@ diff --git a/components/user_scripts/android/java/src/org/chromium/components/us
new file mode 100644
--- /dev/null
+++ b/components/user_scripts/android/java/src/org/chromium/components/user_scripts/FragmentWindowAndroid.java
@@ -0,0 +1,92 @@
@@ -0,0 +1,93 @@
+// Copyright 2019 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
@@ -1409,7 +1409,8 @@ new file mode 100644
+ }
+
+ FragmentWindowAndroid(Context context, Fragment fragment, @Nullable InsetObserver insetObserver) {
+ super(context, IntentRequestTracker.createFromDelegate(new TrackerDelegateImpl(fragment)), insetObserver);
+ super(context, IntentRequestTracker.createFromDelegate(new TrackerDelegateImpl(fragment)),
+ insetObserver, /* trackOcclusion= */ true);
+ mFragment = fragment;
+
+ setKeyboardDelegate(new ActivityKeyboardVisibilityDelegate(getActivity()));
@@ -1531,7 +1532,7 @@ new file mode 100644
+import org.chromium.components.browser_ui.widget.dragreorder.DragReorderableListAdapter;
+import org.chromium.components.browser_ui.widget.dragreorder.DragStateDelegate;
+import org.chromium.ui.listmenu.ListMenuButton;
+import org.chromium.ui.listmenu.ListMenuButtonDelegate;
+import org.chromium.ui.listmenu.ListMenuDelegate;
+import org.chromium.ui.widget.ChromeImageView;
+
+import java.util.ArrayList;
@@ -1604,7 +1605,7 @@ new file mode 100644
+ }
+ }
+
+ void setMenuButtonDelegate(@NonNull ListMenuButtonDelegate delegate) {
+ void setMenuButtonDelegate(@NonNull ListMenuDelegate delegate) {
+ mMoreButton.setVisibility(View.VISIBLE);
+ mMoreButton.setDelegate(delegate);
+ // Set item row end padding 0 when MenuButton is visible.
+4 -4
View File
@@ -162,7 +162,7 @@ diff --git a/chrome/android/java/res/xml/main_preferences.xml b/chrome/android/j
<!-- The main_preferences file will be reordered with the upcoming autofill
options. Only the order changes. Each pref should exist here and in the layout
for the previous order (main_preferences_legacy). -->
@@ -123,6 +114,11 @@ for the previous order (main_preferences_legacy). -->
@@ -129,6 +120,11 @@ for the previous order (main_preferences_legacy). -->
android:key="adblock"
android:order="13"
android:title="@string/prefs_adblock"/>
@@ -174,7 +174,7 @@ diff --git a/chrome/android/java/res/xml/main_preferences.xml b/chrome/android/j
<Preference
android:key="notifications"
android:order="22"
@@ -137,11 +133,6 @@ for the previous order (main_preferences_legacy). -->
@@ -143,11 +139,6 @@ for the previous order (main_preferences_legacy). -->
android:key="accessibility"
android:order="24"
android:title="@string/prefs_accessibility"/>
@@ -2616,7 +2616,7 @@ diff --git a/components/adblock/content/browser/BUILD.gn b/components/adblock/co
diff --git a/components/adblock/content/browser/adblock_controller_factory_base.cc b/components/adblock/content/browser/adblock_controller_factory_base.cc
--- a/components/adblock/content/browser/adblock_controller_factory_base.cc
+++ b/components/adblock/content/browser/adblock_controller_factory_base.cc
@@ -47,10 +47,7 @@ KeyedService* AdblockControllerFactoryBase::BuildServiceInstanceFor(
@@ -48,10 +48,7 @@ AdblockControllerFactoryBase::BuildServiceInstanceForBrowserContext(
std::make_unique<PersistentFilteringConfiguration>(
prefs, kAdblockFilteringConfigurationName);
@@ -3200,7 +3200,7 @@ diff --git a/components/adblock/content/browser/subscription_service_factory_bas
}
base::DeleteFile(path);
return result;
@@ -201,10 +203,11 @@ SubscriptionServiceFactoryBase::ConvertCustomFilters(
@@ -202,10 +204,11 @@ SubscriptionServiceFactoryBase::ConvertCustomFilters(
void SubscriptionServiceFactoryBase::ConvertFilterListFile(
const GURL& subscription_url,
const base::FilePath& path,
+21 -1
View File
@@ -15,7 +15,8 @@ https://bugs.chromium.org/p/chromium/issues/detail?id=1491776#c10
.../phishing_classifier/phishing_image_embedder.cc | 14 +++-----------
content/browser/browser_interface_binders.cc | 1 +
net/BUILD.gn | 1 +
10 files changed, 14 insertions(+), 16 deletions(-)
services/webnn/dml/graph_impl_dml.cc | 2 ++
11 files changed, 16 insertions(+), 16 deletions(-)
diff --git a/BUILD.gn b/BUILD.gn
--- a/BUILD.gn
@@ -150,4 +151,23 @@ diff --git a/net/BUILD.gn b/net/BUILD.gn
}
# net_export.h has its own build target so that code (eg
diff --git a/services/webnn/dml/graph_impl_dml.cc b/services/webnn/dml/graph_impl_dml.cc
--- a/services/webnn/dml/graph_impl_dml.cc
+++ b/services/webnn/dml/graph_impl_dml.cc
@@ -281,6 +281,7 @@ std::optional<AlignedByteLength<uint64_t>> CalculateAlignedByteLength(
}
// Same as above, but given a map of names to descriptors.
+[[maybe_unused]]
std::optional<AlignedByteLength<std::string>>
CalculateAlignedByteLengthFromDescriptors(
const base::flat_map<std::string, OperandDescriptor>&
@@ -389,6 +390,7 @@ UploadAndCreateConstantBufferBinding(
return key_to_buffer_binding_map;
}
+[[maybe_unused]]
HRESULT MapAndCopyInputDataToBuffer(
const base::flat_map<std::string, mojo_base::BigBuffer>& named_inputs,
const std::map<std::string, D3D12_RANGE>& input_name_to_d3d12_range_map,
--
+1 -1
View File
@@ -291,7 +291,7 @@ diff --git a/net/BUILD.gn b/net/BUILD.gn
+++ b/net/BUILD.gn
@@ -1116,6 +1116,7 @@ component("net") {
"//components/network_time/time_tracker",
"//components/network_session_configurator/common"
"//components/network_session_configurator/common",
"//net/http:transport_security_state_generated_files",
+ "//services/firewall/public:firewall_builders",
"//third_party/simdutf:simdutf",
@@ -4,11 +4,9 @@ Subject: Keep Side Panel Companion disabled
License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
---
chrome/browser/ui/side_search/side_search_prefs.cc | 2 +-
components/search_engines/template_url.cc | 2 +-
.../ui/ui_features_cc/Keep-Side-Panel-Companion-disabled.inc | 1 +
3 files changed, 3 insertions(+), 2 deletions(-)
create mode 100755 cromite_flags/chrome/browser/ui/ui_features_cc/Keep-Side-Panel-Companion-disabled.inc
chrome/browser/ui/side_search/side_search_prefs.cc | 2 +-
components/search_engines/template_url.cc | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/chrome/browser/ui/side_search/side_search_prefs.cc b/chrome/browser/ui/side_search/side_search_prefs.cc
--- a/chrome/browser/ui/side_search/side_search_prefs.cc
@@ -34,10 +32,4 @@ diff --git a/components/search_engines/template_url.cc b/components/search_engin
}
bool TemplateURL::IsSideImageSearchSupported() const {
diff --git a/cromite_flags/chrome/browser/ui/ui_features_cc/Keep-Side-Panel-Companion-disabled.inc b/cromite_flags/chrome/browser/ui/ui_features_cc/Keep-Side-Panel-Companion-disabled.inc
new file mode 100755
--- /dev/null
+++ b/cromite_flags/chrome/browser/ui/ui_features_cc/Keep-Side-Panel-Companion-disabled.inc
@@ -0,0 +1 @@
+SET_CROMITE_FEATURE_DISABLED(kSideSearch);
--
@@ -18,21 +18,21 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
cc/input/browser_controls_offset_manager.cc | 6 +
cc/trees/layer_tree_host_impl.cc | 3 +
.../tab_management/TabGroupUiCoordinator.java | 7 +-
.../tab_management/TabGroupUiMediator.java | 50 +++++-
.../tab_management/TabGroupUiMediator.java | 51 +++++-
.../tab_management/TabGroupUiProperties.java | 5 +
.../tab_management/TabGroupUiToolbarView.java | 17 ++
.../tab_management/TabGroupUiViewBinder.java | 3 +
.../tab_management/TabListCoordinator.java | 161 +++++++++++++++++-
.../tab_management/TabListCoordinator.java | 162 +++++++++++++++++-
.../TabListEmptyCoordinator.java | 17 +-
.../browser/feed/FeedSurfaceCoordinator.java | 4 +
.../ChromeAccessibilitySettingsDelegate.java | 70 ++++++++
.../chrome/browser/app/ChromeActivity.java | 3 +
.../compositor/CompositorViewHolder.java | 7 +
.../layouts/LayoutManagerChrome.java | 19 ++-
.../layouts/LayoutManagerChrome.java | 19 +-
.../layouts/LayoutManagerChromeTablet.java | 4 +-
.../layouts/ToolbarSwipeLayout.java | 14 +-
.../overlays/strip/ScrollDelegate.java | 2 +-
.../strip/StripLayoutHelperManager.java | 38 ++++-
.../strip/StripLayoutHelperManager.java | 38 +++-
.../scene_layer/StaticTabSceneLayer.java | 7 +-
.../scene_layer/TabListSceneLayer.java | 8 +
.../scene_layer/TabStripSceneLayer.java | 20 ++-
@@ -82,7 +82,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../bottom/BottomControlsMediator.java | 20 ++-
.../bottom/BottomControlsProperties.java | 6 +-
.../bottom/BottomControlsViewBinder.java | 2 +
.../bottom/ScrollingBottomViewSceneLayer.java | 19 ++-
.../bottom/ScrollingBottomViewSceneLayer.java | 19 +-
.../toolbar/top/ToolbarControlContainer.java | 9 +
.../top/TopToolbarOverlayCoordinator.java | 10 ++
.../top/TopToolbarOverlayProperties.java | 8 +-
@@ -92,7 +92,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../AccessibilitySettingsDelegate.java | 8 +
.../render_widget_host_view_android.cc | 3 +
.../Move-navigation-bar-to-bottom.inc | 17 ++
79 files changed, 1013 insertions(+), 77 deletions(-)
79 files changed, 1015 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
@@ -221,17 +221,18 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser
// These should only be used when regular (non-incognito) tabs are set in the model.
private final @Nullable SharedImageTilesCoordinator mSharedImageTilesCoordinator;
private final @Nullable TransitiveSharedGroupObserver mTransitiveSharedGroupObserver;
@@ -134,7 +145,8 @@ public class TabGroupUiMediator implements BackPressHandler, ThemeColorObserver,
@@ -134,7 +145,9 @@ public class TabGroupUiMediator implements BackPressHandler, ThemeColorObserver,
ObservableSupplier<Boolean> omniboxFocusStateSupplier,
SharedImageTilesCoordinator sharedImageTilesCoordinator,
ThemeColorProvider themeColorProvider,
- ObservableSupplierImpl<Integer> backgroundColorSupplier) {
+ ObservableSupplierImpl<Integer> backgroundColorSupplier,
+ TopUiThemeColorProvider topUiThemeColorProvider, ObservableSupplier<Tab> tabSupplier) {
+ mTopUiThemeColorProvider = topUiThemeColorProvider;
mResetHandler = resetHandler;
mModel = model;
mTabModelSelector = tabModelSelector;
@@ -182,11 +194,30 @@ public class TabGroupUiMediator implements BackPressHandler, ThemeColorObserver,
@@ -182,11 +195,30 @@ public class TabGroupUiMediator implements BackPressHandler, ThemeColorObserver,
mIsShowingHub = true;
}
@@ -262,7 +263,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser
resetTabStrip();
}
@@ -211,6 +242,8 @@ public class TabGroupUiMediator implements BackPressHandler, ThemeColorObserver,
@@ -211,6 +243,8 @@ public class TabGroupUiMediator implements BackPressHandler, ThemeColorObserver,
@Override
public void restoreCompleted() {
resetTabStrip();
@@ -271,7 +272,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser
}
@Override
@@ -309,6 +342,8 @@ public class TabGroupUiMediator implements BackPressHandler, ThemeColorObserver,
@@ -309,6 +343,8 @@ public class TabGroupUiMediator implements BackPressHandler, ThemeColorObserver,
mModel.set(TabGroupUiProperties.IS_MAIN_CONTENT_VISIBLE, true);
resetTabStrip();
@@ -280,7 +281,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser
mHandleBackPressChangedSupplier = handleBackPressChangedSupplier;
if (mTabGridDialogControllerSupplier != null) {
mTabGridDialogControllerSupplier.onAvailable(
@@ -338,6 +373,18 @@ public class TabGroupUiMediator implements BackPressHandler, ThemeColorObserver,
@@ -338,6 +374,18 @@ public class TabGroupUiMediator implements BackPressHandler, ThemeColorObserver,
mModel.set(TabGroupUiProperties.TINT, mThemeColorProvider.getTint());
}
@@ -299,7 +300,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser
private void setupToolbarButtons() {
View.OnClickListener showGroupDialogOnClickListener =
view -> {
@@ -516,6 +563,7 @@ public class TabGroupUiMediator implements BackPressHandler, ThemeColorObserver,
@@ -516,6 +564,7 @@ public class TabGroupUiMediator implements BackPressHandler, ThemeColorObserver,
}
public void destroy() {
@@ -392,7 +393,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser
diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabListCoordinator.java b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabListCoordinator.java
--- a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabListCoordinator.java
+++ b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabListCoordinator.java
@@ -6,7 +6,11 @@ package org.chromium.chrome.browser.tasks.tab_management;
@@ -6,7 +6,12 @@ package org.chromium.chrome.browser.tasks.tab_management;
import static org.chromium.chrome.browser.tasks.tab_management.TabListModel.CardProperties.CARD_TYPE;
@@ -400,11 +401,12 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser
+import android.os.Parcelable;
+
import android.app.Activity;
+import android.content.Context;
+import android.content.res.Configuration;
import android.graphics.Rect;
import android.util.Size;
import android.view.LayoutInflater;
@@ -15,6 +19,7 @@ import android.view.View;
@@ -15,6 +20,7 @@ import android.view.View;
import android.view.View.OnLayoutChangeListener;
import android.view.ViewGroup;
import android.view.ViewTreeObserver.OnGlobalLayoutListener;
@@ -412,7 +414,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser
import android.widget.ImageView;
import androidx.annotation.DrawableRes;
@@ -60,6 +65,8 @@ import org.chromium.ui.modelutil.PropertyModelChangeProcessor;
@@ -60,6 +66,8 @@ import org.chromium.ui.modelutil.PropertyModelChangeProcessor;
import org.chromium.ui.modelutil.SimpleRecyclerViewAdapter;
import org.chromium.ui.widget.ViewLookupCachingFrameLayout;
@@ -421,7 +423,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.util.List;
@@ -130,6 +137,128 @@ public class TabListCoordinator
@@ -130,6 +138,128 @@ public class TabListCoordinator
private int mAwaitingTabId = Tab.INVALID_TAB_ID;
private @TabActionState int mTabActionState;
@@ -550,20 +552,20 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser
/**
* Construct a coordinator for UI that shows a list of tabs.
*
@@ -350,6 +479,12 @@ public class TabListCoordinator
@@ -350,6 +480,12 @@ public class TabListCoordinator
checkAwaitingLayout();
}
};
+ if (actionOnRelatedTabs && ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) {
+ gridLayoutManager =
+ new GridLayoutManagerDockBottom(context, GRID_LAYOUT_SPAN_COUNT_COMPACT);
+ new GridLayoutManagerDockBottom(activity, GRID_LAYOUT_SPAN_COUNT_COMPACT);
+ ((GridLayoutManagerDockBottom)gridLayoutManager)
+ .setTabListRecyclerView(mRecyclerView);
+ }
mRecyclerView.setLayoutManager(gridLayoutManager);
mMediator.registerOrientationListener(gridLayoutManager);
mMediator.updateSpanCount(
@@ -359,7 +494,7 @@ public class TabListCoordinator
@@ -359,7 +495,7 @@ public class TabListCoordinator
Rect frame = new Rect();
mActivity.getWindow().getDecorView().getWindowVisibleDisplayFrame(frame);
updateGridCardLayout(frame.width());
@@ -572,7 +574,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser
LinearLayoutManager layoutManager =
new LinearLayoutManager(
activity,
@@ -374,6 +509,25 @@ public class TabListCoordinator
@@ -374,6 +510,25 @@ public class TabListCoordinator
}
};
mRecyclerView.setLayoutManager(layoutManager);
@@ -586,7 +588,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser
+ mRecyclerView.setLayoutParams(recyclerViewParams);
+ }
+ LinearLayoutManager layout =
+ new LinearLayoutManager(context, LinearLayoutManager.VERTICAL, false) {
+ new LinearLayoutManager(activity, LinearLayoutManager.VERTICAL, false) {
+ @Override
+ public void onLayoutCompleted(RecyclerView.State state) {
+ super.onLayoutCompleted(state);
@@ -598,7 +600,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser
}
mMediator.setRecyclerViewItemAnimationToggle(mRecyclerView::setDisableItemAnimations);
}
@@ -395,7 +549,7 @@ public class TabListCoordinator
@@ -395,7 +550,7 @@ public class TabListCoordinator
if (hasEmptyView) {
mTabListEmptyCoordinator =
new TabListEmptyCoordinator(
@@ -607,7 +609,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser
}
configureRecyclerViewTouchHelpers();
@@ -688,6 +842,9 @@ public class TabListCoordinator
@@ -688,6 +843,9 @@ public class TabListCoordinator
void prepareTabSwitcherPaneView() {
registerLayoutChangeListener();
mRecyclerView.setupCustomItemAnimator();
@@ -732,12 +734,12 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/accessibility/s
+ private static class MoveTopToolbarToBottomDelegate implements BooleanPreferenceDelegate {
+ @Override
+ public boolean isEnabled() {
+ public boolean getValue() {
+ return ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled();
+ }
+
+ @Override
+ public void setEnabled(boolean value) {
+ public void setValue(boolean value) {
+ CromiteNativeUtils.setFlagEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM,
+ "move-top-toolbar-to-bottom", value);
+ }
@@ -745,12 +747,12 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/accessibility/s
+
+ private static class DisableToolbarSwipeUpDelegate implements BooleanPreferenceDelegate {
+ @Override
+ public boolean isEnabled() {
+ public boolean getValue() {
+ return ChromeFeatureList.sDisableToolbarSwipeUp.isEnabled();
+ }
+
+ @Override
+ public void setEnabled(boolean value) {
+ public void setValue(boolean value) {
+ CromiteNativeUtils.setFlagEnabled(ChromeFeatureList.DISABLE_TOOLBAR_SWIPE_UP,
+ "disable-toolbar-swipe-up", value);
+ }
@@ -2748,7 +2750,7 @@ diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/brow
/** Layout for the browser controls (omnibox, menu, tab strip, etc..). */
public class ToolbarControlContainer extends OptimizedFrameLayout
implements ControlContainer, DesktopWindowStateManager.AppHeaderObserver {
@@ -167,6 +171,11 @@ public class ToolbarControlContainer extends OptimizedFrameLayout
@@ -163,6 +167,11 @@ public class ToolbarControlContainer extends OptimizedFrameLayout
if (view != null)
((MarginLayoutParams)view.getLayoutParams()).topMargin = tab_strip_height;
}
@@ -2899,19 +2901,19 @@ diff --git a/components/browser_ui/accessibility/android/java/src/org/chromium/c
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
@@ -115,6 +124,18 @@ public class AccessibilitySettings extends ChromeBaseSettingsFragment
forceTabletUiPref.setChecked(mForceTabletUIDelegate.isEnabled());
forceTabletUiPref.setChecked(mForceTabletUIDelegate.getValue());
forceTabletUiPref.setOnPreferenceChangeListener(this);
+ ChromeSwitchPreference mMoveToolbarToBottomPref =
+ (ChromeSwitchPreference) findPreference(PREF_MOVE_TOOLBAR_TO_BOTTOM);
+ mMoveTopToolbarToBottomDelegate = mDelegate.getMoveTopToolbarToBottomDelegate();
+ mMoveToolbarToBottomPref.setChecked(mMoveTopToolbarToBottomDelegate.isEnabled());
+ mMoveToolbarToBottomPref.setChecked(mMoveTopToolbarToBottomDelegate.getValue());
+ mMoveToolbarToBottomPref.setOnPreferenceChangeListener(this);
+
+ ChromeSwitchPreference mDisableToolbarSwipeUpPref =
+ (ChromeSwitchPreference) findPreference(PREF_DISABLE_TOOLBAR_SWIPE_UP);
+ mDisableToolbarSwipeUpDelegate = mDelegate.getDisableToolbarSwipeUpDelegate();
+ mDisableToolbarSwipeUpPref.setChecked(mDisableToolbarSwipeUpDelegate.isEnabled());
+ mDisableToolbarSwipeUpPref.setChecked(mDisableToolbarSwipeUpDelegate.getValue());
+ mDisableToolbarSwipeUpPref.setOnPreferenceChangeListener(this);
+
Preference captions = findPreference(PREF_CAPTIONS);
@@ -2922,10 +2924,10 @@ diff --git a/components/browser_ui/accessibility/android/java/src/org/chromium/c
} else if (PREF_PAGE_ZOOM_ALWAYS_SHOW.equals(preference.getKey())) {
PageZoomUtils.setShouldAlwaysShowZoomMenuItem((Boolean) newValue);
+ } else if (PREF_MOVE_TOOLBAR_TO_BOTTOM.equals(preference.getKey())) {
+ mMoveTopToolbarToBottomDelegate.setEnabled((Boolean) newValue);
+ mMoveTopToolbarToBottomDelegate.setValue((Boolean) newValue);
+ mDelegate.requestRestart(getActivity());
+ } else if (PREF_DISABLE_TOOLBAR_SWIPE_UP.equals(preference.getKey())) {
+ mDisableToolbarSwipeUpDelegate.setEnabled((Boolean) newValue);
+ mDisableToolbarSwipeUpDelegate.setValue((Boolean) newValue);
} else if (PREF_PAGE_ZOOM_INCLUDE_OS_ADJUSTMENT.equals(preference.getKey())) {
// TODO(mschillaci): Implement the override behavior for OS level.
} else if (OmniboxFeatures.KEY_JUMP_START_OMNIBOX.equals(preference.getKey())) {
@@ -2943,7 +2945,7 @@ diff --git a/components/browser_ui/accessibility/android/java/src/org/chromium/c
import org.chromium.content_public.browser.BrowserContextHandle;
/**
@@ -43,6 +46,11 @@ public interface AccessibilitySettingsDelegate {
@@ -34,6 +37,11 @@ public interface AccessibilitySettingsDelegate {
void setValue(boolean value);
}
+21 -18
View File
@@ -13,7 +13,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
.../web_package/signed_exchange_loader.h | 2 +
.../signed_exchange_prefetch_handler.cc | 2 +-
.../signed_exchange_request_handler.cc | 1 +
net/http/transport_security_state.cc | 100 ++++++++++++------
net/http/transport_security_state.cc | 103 ++++++++++++------
net/http/transport_security_state.h | 39 ++++---
net/quic/crypto/proof_verifier_chromium.cc | 5 +-
net/quic/quic_chromium_client_session.cc | 2 +-
@@ -25,7 +25,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
services/network/network_context.cc | 31 ++++--
services/network/network_context.h | 13 ++-
.../public/mojom/network_context.mojom | 9 +-
21 files changed, 171 insertions(+), 101 deletions(-)
21 files changed, 173 insertions(+), 102 deletions(-)
diff --git a/chrome/browser/ssl/https_upgrades_interceptor.cc b/chrome/browser/ssl/https_upgrades_interceptor.cc
--- a/chrome/browser/ssl/https_upgrades_interceptor.cc
@@ -315,7 +315,7 @@ diff --git a/net/http/transport_security_state.cc b/net/http/transport_security_
// [*.]localhost hosts now ignore Strict-Transport-Security response
// headers, but an entry may have been stored before this restriction
// was introduced (crbug.com/41251622).
@@ -319,10 +344,11 @@ SSLUpgradeDecision TransportSecurityState::GetSSLUpgradeDecision(
@@ -319,29 +344,31 @@ SSLUpgradeDecision TransportSecurityState::GetSSLUpgradeDecision(
}
bool TransportSecurityState::ShouldUpgradeToSSL(
@@ -328,9 +328,12 @@ diff --git a/net/http/transport_security_state.cc b/net/http/transport_security_
SSLUpgradeDecision::kNoUpgrade;
}
@@ -331,17 +357,17 @@ TransportSecurityState::PKPStatus TransportSecurityState::CheckPublicKeyPins(
TransportSecurityState::PKPStatus TransportSecurityState::CheckPublicKeyPins(
std::string_view host,
bool is_issued_by_known_root,
const HashValueVector& public_key_hashes) {
- const HashValueVector& public_key_hashes) {
+ const HashValueVector& public_key_hashes,
+ const NetworkAnonymizationKey& network_anonymization_key) {
// Perform pin validation only if the server actually has public key pins.
- if (!HasPublicKeyPins(host)) {
+ if (!HasPublicKeyPins(network_anonymization_key, host)) {
@@ -350,7 +353,7 @@ diff --git a/net/http/transport_security_state.cc b/net/http/transport_security_
}
TransportSecurityState::CTRequirementsStatus
@@ -421,12 +447,13 @@ void TransportSecurityState::UpdatePinList(
@@ -421,12 +448,13 @@ void TransportSecurityState::UpdatePinList(
}
void TransportSecurityState::AddHSTSInternal(
@@ -365,7 +368,7 @@ diff --git a/net/http/transport_security_state.cc b/net/http/transport_security_
if (canonicalized_host.empty())
return;
@@ -450,13 +477,14 @@ void TransportSecurityState::AddHSTSInternal(
@@ -450,13 +478,14 @@ void TransportSecurityState::AddHSTSInternal(
DirtyNotify();
}
@@ -382,7 +385,7 @@ diff --git a/net/http/transport_security_state.cc b/net/http/transport_security_
if (canonicalized_host.empty())
return;
@@ -500,10 +528,10 @@ TransportSecurityState::PKPStatus TransportSecurityState::CheckPins(
@@ -500,10 +529,10 @@ TransportSecurityState::PKPStatus TransportSecurityState::CheckPins(
return PKPStatus::VIOLATED;
}
@@ -395,7 +398,7 @@ diff --git a/net/http/transport_security_state.cc b/net/http/transport_security_
if (canonicalized_host.empty())
return false;
@@ -580,7 +608,8 @@ void TransportSecurityState::DirtyNotify() {
@@ -580,7 +609,8 @@ void TransportSecurityState::DirtyNotify() {
delegate_->StateIsDirty(this);
}
@@ -405,7 +408,7 @@ diff --git a/net/http/transport_security_state.cc b/net/http/transport_security_
std::string_view value) {
DCHECK_CALLED_ON_VALID_THREAD(thread_checker_);
@@ -599,23 +628,25 @@ bool TransportSecurityState::AddHSTSHeader(std::string_view host,
@@ -599,23 +629,25 @@ bool TransportSecurityState::AddHSTSHeader(std::string_view host,
upgrade_mode = STSState::MODE_FORCE_HTTPS;
}
@@ -436,7 +439,7 @@ diff --git a/net/http/transport_security_state.cc b/net/http/transport_security_
}
size_t TransportSecurityState::num_sts_entries() const {
@@ -639,9 +670,10 @@ bool TransportSecurityState::IsBuildTimely() {
@@ -639,9 +671,10 @@ bool TransportSecurityState::IsBuildTimely() {
TransportSecurityState::PKPStatus
TransportSecurityState::CheckPublicKeyPinsImpl(std::string_view host,
bool is_issued_by_known_root,
@@ -449,7 +452,7 @@ diff --git a/net/http/transport_security_state.cc b/net/http/transport_security_
// HasPublicKeyPins should have returned true in order for this method to have
// been called.
@@ -682,7 +714,7 @@ bool TransportSecurityState::GetStaticPKPState(std::string_view host,
@@ -682,7 +715,7 @@ bool TransportSecurityState::GetStaticPKPState(std::string_view host,
PreloadResult result;
if (host_pins_.has_value()) {
// Ensure that |host| is a valid hostname before processing.
@@ -458,7 +461,7 @@ diff --git a/net/http/transport_security_state.cc b/net/http/transport_security_
return false;
}
// Normalize any trailing '.' used for DNS suffix searches.
@@ -764,21 +796,21 @@ bool TransportSecurityState::GetStaticPKPState(std::string_view host,
@@ -764,21 +797,21 @@ bool TransportSecurityState::GetStaticPKPState(std::string_view host,
return false;
}
@@ -486,7 +489,7 @@ diff --git a/net/http/transport_security_state.cc b/net/http/transport_security_
if (canonicalized_host.empty())
return false;
@@ -815,11 +847,11 @@ bool TransportSecurityState::GetDynamicSTSState(std::string_view host,
@@ -815,11 +848,11 @@ bool TransportSecurityState::GetDynamicSTSState(std::string_view host,
return false;
}
@@ -525,7 +528,7 @@ diff --git a/net/http/transport_security_state.h b/net/http/transport_security_s
- const HashValueVector& hashes);
- bool HasPublicKeyPins(std::string_view host);
+ const HashValueVector& hashes,
+ const NetworkAnonymizationKey& nak, );
+ const NetworkAnonymizationKey& nak);
+ bool HasPublicKeyPins(const NetworkAnonymizationKey& nak, std::string_view host);
// Returns CT_REQUIREMENTS_NOT_MET if a connection violates CT policy
@@ -873,7 +876,7 @@ diff --git a/services/network/network_context.cc b/services/network/network_cont
// |PreconnectSockets| may receive arguments from the renderer, which is not
// guaranteed to validate them.
@@ -3059,7 +3064,9 @@ void NetworkContext::OnConnectionError() {
@@ -3061,7 +3066,9 @@ void NetworkContext::OnConnectionError() {
}
}
@@ -884,7 +887,7 @@ diff --git a/services/network/network_context.cc b/services/network/network_cont
// TODO(lilyhoughton) This needs to be gotten rid of once explicit
// construction with a URLRequestContext is no longer supported.
@@ -3076,6 +3083,7 @@ GURL NetworkContext::GetHSTSRedirectForPreconnect(const GURL& original_url) {
@@ -3078,6 +3085,7 @@ GURL NetworkContext::GetHSTSRedirectForPreconnect(const GURL& original_url) {
}
if (!url_request_context_->transport_security_state()->ShouldUpgradeToSSL(
@@ -892,7 +895,7 @@ diff --git a/services/network/network_context.cc b/services/network/network_cont
original_url.host())) {
RecordHSTSPreconnectUpgradeReason(
HSTSRedirectUpgradeReason::kNotUpgradedNoHSTSPin);
@@ -3127,7 +3135,8 @@ void NetworkContext::OnVerifyCertForSignedExchangeComplete(
@@ -3129,7 +3137,8 @@ void NetworkContext::OnVerifyCertForSignedExchangeComplete(
url_request_context_->transport_security_state()->CheckPublicKeyPins(
pending_cert_verify->url.host(),
pending_cert_verify->result->is_issued_by_known_root,
@@ -4,18 +4,10 @@ Subject: Remove auth header upon cross origin redirect
License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
---
.../Remove-auth-header-upon-cross-origin-redirect.inc | 1 +
.../blink/renderer/platform/loader/fetch/resource_loader.cc | 3 +++
.../platform/loader/fetch/url_loader/sync_load_context.cc | 4 ++++
3 files changed, 8 insertions(+)
create mode 100644 cromite_flags/third_party/blink/common/features_cc/Remove-auth-header-upon-cross-origin-redirect.inc
2 files changed, 7 insertions(+)
diff --git a/cromite_flags/third_party/blink/common/features_cc/Remove-auth-header-upon-cross-origin-redirect.inc b/cromite_flags/third_party/blink/common/features_cc/Remove-auth-header-upon-cross-origin-redirect.inc
new file mode 100644
--- /dev/null
+++ b/cromite_flags/third_party/blink/common/features_cc/Remove-auth-header-upon-cross-origin-redirect.inc
@@ -0,0 +1 @@
+SET_CROMITE_FEATURE_ENABLED(kRemoveAuthroizationOnCrossOriginRedirect);
diff --git a/third_party/blink/renderer/platform/loader/fetch/resource_loader.cc b/third_party/blink/renderer/platform/loader/fetch/resource_loader.cc
--- a/third_party/blink/renderer/platform/loader/fetch/resource_loader.cc
+++ b/third_party/blink/renderer/platform/loader/fetch/resource_loader.cc
@@ -85,6 +85,8 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../remoting/RemotingSessionController.java | 30 -
.../test/android/cast_emulator/BUILD.gn | 1 -
components/module_installer/android/BUILD.gn | 4 -
components/omnibox/common/BUILD.gn | 1 -
.../components/omnibox/OmniboxFeatures.java | 8 -
components/signin/public/android/BUILD.gn | 3 -
.../signin/AccountRenameChecker.java | 16 -
components/webauthn/android/BUILD.gn | 15 +-
@@ -108,7 +110,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../gms/ChromiumPlayServicesAvailability.java | 10 +-
third_party/androidx/customizations.gni | 13 +-
third_party/cardboard/BUILD.gn | 4 -
84 files changed, 128 insertions(+), 2361 deletions(-)
86 files changed, 128 insertions(+), 2370 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
@@ -3086,6 +3088,42 @@ diff --git a/components/module_installer/android/BUILD.gn b/components/module_in
"//third_party/hamcrest:hamcrest_java",
]
}
diff --git a/components/omnibox/common/BUILD.gn b/components/omnibox/common/BUILD.gn
--- a/components/omnibox/common/BUILD.gn
+++ b/components/omnibox/common/BUILD.gn
@@ -49,7 +49,6 @@ if (is_android) {
":jni_headers",
]
deps = [
- "$google_play_services_package:google_play_services_location_java",
"//base:base_java",
"//components/cached_flags:java",
"//third_party/androidx:androidx_annotation_annotation_java",
diff --git a/components/omnibox/common/android/java/src/org/chromium/components/omnibox/OmniboxFeatures.java b/components/omnibox/common/android/java/src/org/chromium/components/omnibox/OmniboxFeatures.java
--- a/components/omnibox/common/android/java/src/org/chromium/components/omnibox/OmniboxFeatures.java
+++ b/components/omnibox/common/android/java/src/org/chromium/components/omnibox/OmniboxFeatures.java
@@ -10,8 +10,6 @@ import android.text.format.DateUtils;
import androidx.annotation.IntDef;
import androidx.annotation.VisibleForTesting;
-import com.google.android.gms.location.Priority;
-
import org.chromium.base.BaseSwitches;
import org.chromium.base.CommandLine;
import org.chromium.base.ContextUtils;
@@ -143,12 +141,6 @@ public class OmniboxFeatures {
"geolocation_request_min_update_interval_millis",
(int) (9 * DateUtils.MINUTE_IN_MILLIS));
- public static final IntCachedFeatureParam sGeolocationRequestPriority =
- newIntParam(
- sUseFusedLocationProvider,
- "geolocation_request_priority",
- Priority.PRIORITY_BALANCED_POWER_ACCURACY);
-
public static final IntCachedFeatureParam sTouchDownTriggerMaxPrefetchesPerSession =
newIntParam(
sTouchDownTriggerForPrefetch,
diff --git a/components/signin/public/android/BUILD.gn b/components/signin/public/android/BUILD.gn
--- a/components/signin/public/android/BUILD.gn
+++ b/components/signin/public/android/BUILD.gn
@@ -8,14 +8,14 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
.../host_content_settings_map_factory.cc | 2 +
.../permissions/last_tab_standing_tracker.cc | 59 +++++++++++++++++++
.../permissions/last_tab_standing_tracker.h | 40 +++++++++++++
.../last_tab_standing_tracker_factory.cc | 35 +++++++++++
.../last_tab_standing_tracker_factory.cc | 36 +++++++++++
.../last_tab_standing_tracker_factory.h | 40 +++++++++++++
.../last_tab_standing_tracker_observer.h | 24 ++++++++
.../last_tab_standing_tracker_tab_helper.cc | 45 ++++++++++++++
.../last_tab_standing_tracker_tab_helper.h | 37 ++++++++++++
...hrome_browser_main_extra_parts_profiles.cc | 2 +
chrome/browser/ui/tab_helpers.cc | 2 +
11 files changed, 296 insertions(+)
11 files changed, 297 insertions(+)
create mode 100644 chrome/browser/permissions/last_tab_standing_tracker.cc
create mode 100644 chrome/browser/permissions/last_tab_standing_tracker.h
create mode 100644 chrome/browser/permissions/last_tab_standing_tracker_factory.cc
@@ -176,7 +176,7 @@ diff --git a/chrome/browser/permissions/last_tab_standing_tracker_factory.cc b/c
new file mode 100644
--- /dev/null
+++ b/chrome/browser/permissions/last_tab_standing_tracker_factory.cc
@@ -0,0 +1,35 @@
@@ -0,0 +1,36 @@
+// Copyright 2020 The Chromium Authors
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
@@ -208,9 +208,10 @@ new file mode 100644
+ return true;
+}
+
+KeyedService* LastTabStandingTrackerFactory::BuildServiceInstanceFor(
+std::unique_ptr<KeyedService>
+LastTabStandingTrackerFactory::BuildServiceInstanceForBrowserContext(
+ content::BrowserContext* context) const {
+ return new LastTabStandingTracker(context);
+ return std::make_unique<LastTabStandingTracker>(context);
+}
diff --git a/chrome/browser/permissions/last_tab_standing_tracker_factory.h b/chrome/browser/permissions/last_tab_standing_tracker_factory.h
new file mode 100644
@@ -252,7 +253,7 @@ new file mode 100644
+ ~LastTabStandingTrackerFactory() override;
+
+ // BrowserContextKeyedServiceFactory:
+ KeyedService* BuildServiceInstanceFor(
+ std::unique_ptr<KeyedService> BuildServiceInstanceForBrowserContext(
+ content::BrowserContext* context) const override;
+};
+
@@ -4,15 +4,42 @@ Subject: Restore chrome password store
License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
---
.../android/login_db_deprecation_runner_factory.cc | 2 +-
.../password_manager/profile_password_store_factory.cc | 2 +-
.../browser/resources/password_manager/user_utils_mixin.ts | 4 ++--
chrome/browser/ui/android/strings/android_chrome_strings.grd | 2 +-
chrome/browser/ui/autofill/autofill_client_provider.cc | 5 -----
components/password_manager/core/browser/buildflags.gni | 2 +-
.../features/password_manager_features_util_common.cc | 1 +
components/sync/service/sync_prefs.cc | 2 +-
.../password_features_cc/Restore-chrome-password-store.inc | 5 +++++
6 files changed, 11 insertions(+), 5 deletions(-)
.../password_features_cc/Restore-chrome-password-store.inc | 2 ++
9 files changed, 10 insertions(+), 12 deletions(-)
create mode 100644 cromite_flags/components/password_manager/core/browser/features/password_features_cc/Restore-chrome-password-store.inc
diff --git a/chrome/browser/password_manager/android/login_db_deprecation_runner_factory.cc b/chrome/browser/password_manager/android/login_db_deprecation_runner_factory.cc
--- a/chrome/browser/password_manager/android/login_db_deprecation_runner_factory.cc
+++ b/chrome/browser/password_manager/android/login_db_deprecation_runner_factory.cc
@@ -38,7 +38,7 @@ std::unique_ptr<KeyedService>
LoginDbDeprecationRunnerFactory::BuildServiceInstanceForBrowserContext(
content::BrowserContext* context) const {
#if BUILDFLAG(USE_LOGIN_DATABASE_AS_BACKEND)
- return nullptr;
+ if ((true)) return nullptr;
#endif
Profile* profile = Profile::FromBrowserContext(context);
PrefService* prefs = profile->GetPrefs();
diff --git a/chrome/browser/password_manager/profile_password_store_factory.cc b/chrome/browser/password_manager/profile_password_store_factory.cc
--- a/chrome/browser/password_manager/profile_password_store_factory.cc
+++ b/chrome/browser/password_manager/profile_password_store_factory.cc
@@ -101,7 +101,7 @@ scoped_refptr<RefcountedKeyedService> BuildPasswordStore(
password_affiliation_adapter->RegisterPasswordStore(ps.get());
affiliation_service->RegisterSource(std::move(password_affiliation_adapter));
-#if BUILDFLAG(IS_ANDROID)
+#if BUILDFLAG(IS_ANDROID) && !BUILDFLAG(USE_LOGIN_DATABASE_AS_BACKEND)
CHECK(password_manager_android_util::IsInternalBackendPresent());
password_manager::LoginDbDeprecationRunner* login_db_deprecation_runner =
LoginDbDeprecationRunnerFactory::GetForProfile(profile);
diff --git a/chrome/browser/resources/password_manager/user_utils_mixin.ts b/chrome/browser/resources/password_manager/user_utils_mixin.ts
--- a/chrome/browser/resources/password_manager/user_utils_mixin.ts
+++ b/chrome/browser/resources/password_manager/user_utils_mixin.ts
@@ -42,6 +69,21 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro
</message>
<message name="IDS_PASSWORD_SAVING_ON_BY_ADMINISTRATOR" desc="Subtitle for the settings menu item leading to the Password Manager UI surface, shown when the device administrator set saving passwords to enabled.">
Password saving is turned on by your administrator
diff --git a/chrome/browser/ui/autofill/autofill_client_provider.cc b/chrome/browser/ui/autofill/autofill_client_provider.cc
--- a/chrome/browser/ui/autofill/autofill_client_provider.cc
+++ b/chrome/browser/ui/autofill/autofill_client_provider.cc
@@ -26,11 +26,6 @@ AutofillClientProvider::AutofillClientProvider(PrefService* prefs) {
#if BUILDFLAG(IS_ANDROID)
prefs->SetBoolean(prefs::kAutofillUsingVirtualViewStructure,
true);
- if (base::FeatureList::IsEnabled(
- autofill::features::kAutofillThirdPartyModeContentProvider)) {
- Java_AutofillClientProviderUtils_setThirdPartyModePref(
- base::android::AttachCurrentThread(), uses_platform_autofill_);
- }
#endif // BUILDFLAG(IS_ANDROID)
}
diff --git a/components/password_manager/core/browser/buildflags.gni b/components/password_manager/core/browser/buildflags.gni
--- a/components/password_manager/core/browser/buildflags.gni
+++ b/components/password_manager/core/browser/buildflags.gni
@@ -81,10 +123,7 @@ diff --git a/cromite_flags/components/password_manager/core/browser/features/pas
new file mode 100644
--- /dev/null
+++ b/cromite_flags/components/password_manager/core/browser/features/password_features_cc/Restore-chrome-password-store.inc
@@ -0,0 +1,5 @@
@@ -0,0 +1,2 @@
+SET_CROMITE_FEATURE_ENABLED(kSkipUndecryptablePasswords);
+
+#if BUILDFLAG(IS_ANDROID)
+SET_CROMITE_FEATURE_DISABLED(kClearLoginDatabaseForAllMigratedUPMUsers);
+#endif
--
+6 -4
View File
@@ -26,7 +26,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../chromium/chrome/browser/tab/TabUtils.java | 11 +-
.../browser/android/content/content_utils.cc | 30 +++
.../preferences/browser_prefs_android.cc | 7 +
.../privacy_preferences_manager_impl.cc | 124 ++++++++++++
.../privacy_preferences_manager_impl.cc | 126 ++++++++++++
...ktop_site_web_contents_observer_android.cc | 11 ++
...sktop_site_web_contents_observer_android.h | 2 +
.../preferences/ChromePreferenceKeys.java | 2 -
@@ -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, 796 insertions(+), 16 deletions(-)
36 files changed, 798 insertions(+), 16 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
@@ -797,7 +797,7 @@ diff --git a/chrome/browser/android/preferences/privacy_preferences_manager_impl
static jboolean JNI_PrivacyPreferencesManagerImpl_IsMetricsReportingEnabled(
JNIEnv* env) {
PrefService* local_state = g_browser_process->local_state();
@@ -36,3 +62,101 @@ JNI_PrivacyPreferencesManagerImpl_IsMetricsReportingDisabledByPolicy(
@@ -36,3 +62,103 @@ JNI_PrivacyPreferencesManagerImpl_IsMetricsReportingDisabledByPolicy(
metrics::prefs::kMetricsReportingEnabled) &&
!local_state->GetBoolean(metrics::prefs::kMetricsReportingEnabled);
}
@@ -821,11 +821,13 @@ diff --git a/chrome/browser/android/preferences/privacy_preferences_manager_impl
+ for (auto iter = content::RenderProcessHost::AllHostsIterator(); !iter.IsAtEnd();
+ iter.Advance()) {
+ if (iter.GetCurrentValue()->IsInitializedAndNotDead()) {
+ uint64_t trace_id = base::Token::CreateRandom().high();
+ std::vector<std::string> cors_exempt_header_list;
+ iter.GetCurrentValue()->GetRendererInterface()->InitializeRenderer(
+ /*user_agent*/ ua, /*metadata*/ blink::UserAgentMetadata(),
+ cors_exempt_header_list,
+ g_browser_process->GetOriginTrialsSettingsStorage()->GetSettings());
+ g_browser_process->GetOriginTrialsSettingsStorage()->GetSettings(),
+ trace_id);
+ }
+ }
+ }
+19 -4
View File
@@ -17,10 +17,11 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../browser/firstrun/FirstRunUtils.java | 1 +
.../firstrun/ToSAndUMAFirstRunFragment.java | 335 +++++++++++++++++
.../firstrun/TosAndUmaFragmentView.java | 336 ++++++++++++++++++
.../signin/ChildAccountStatusSupplier.java | 3 +
...creenSigninAndHistorySyncActivityBase.java | 6 +-
.../browser/locale/LocaleManagerDelegate.java | 5 +-
.../Welcome-screen.grdp | 27 ++
14 files changed, 914 insertions(+), 80 deletions(-)
15 files changed, 917 insertions(+), 80 deletions(-)
create mode 100644 chrome/android/java/res/layout/fre_tosanduma.xml
create mode 100644 chrome/android/java/src/org/chromium/chrome/browser/firstrun/ToSAndUMAFirstRunFragment.java
create mode 100644 chrome/android/java/src/org/chromium/chrome/browser/firstrun/TosAndUmaFragmentView.java
@@ -532,7 +533,7 @@ new file mode 100644
+import org.chromium.chrome.R;
+import org.chromium.chrome.browser.privacy.settings.PrivacyPreferencesManagerImpl;
+import org.chromium.ui.modaldialog.ModalDialogManagerHolder;
+import org.chromium.ui.text.NoUnderlineClickableSpan;
+import org.chromium.ui.text.ChromeClickableSpan;
+import org.chromium.ui.text.SpanApplier;
+import org.chromium.ui.text.SpanApplier.SpanInfo;
+
@@ -688,8 +689,8 @@ new file mode 100644
+ }
+
+ private SpanInfo buildPrivacyPolicyLink(String suffix, int url) {
+ NoUnderlineClickableSpan clickableSpan =
+ new NoUnderlineClickableSpan(getContext(), (view1) -> {
+ ChromeClickableSpan clickableSpan =
+ new ChromeClickableSpan(getContext(), (view1) -> {
+ if (!isAdded()) return;
+ getPageDelegate().showInfoPage(url);
+ });
@@ -1177,6 +1178,20 @@ new file mode 100644
+ return mLastWidth > mLastHeight;
+ }
+}
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/signin/ChildAccountStatusSupplier.java b/chrome/android/java/src/org/chromium/chrome/browser/signin/ChildAccountStatusSupplier.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/signin/ChildAccountStatusSupplier.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/signin/ChildAccountStatusSupplier.java
@@ -41,7 +41,10 @@ public class ChildAccountStatusSupplier implements OneshotSupplier<Boolean> {
*/
public ChildAccountStatusSupplier(
AccountManagerFacade accountManagerFacade, AppRestrictionSupplier appRestrictionInfo) {
+ mHasRestriction = false;
+ mChildAccountStatusFromAccountManagerFacade = false;
mChildAccountStatusStartTime = SystemClock.elapsedRealtime();
+ if ((true)) return;
appRestrictionInfo.getHasAppRestriction(this::onAppRestrictionDetected);
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/signin/FullscreenSigninAndHistorySyncActivityBase.java b/chrome/android/java/src/org/chromium/chrome/browser/signin/FullscreenSigninAndHistorySyncActivityBase.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/signin/FullscreenSigninAndHistorySyncActivityBase.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/signin/FullscreenSigninAndHistorySyncActivityBase.java
+15 -5
View File
@@ -19,7 +19,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
.../ui/webui/policy/policy_ui_handler.cc | 104 ++++++++++++-
.../ui/webui/policy/policy_ui_handler.h | 2 +
.../strings/android/browser_ui_strings.grd | 2 +-
.../commerce/core/commerce_feature_list.cc | 69 ++-------
.../commerce/core/commerce_feature_list.cc | 67 ++-------
.../core/browser/browser_policy_connector.cc | 3 +
.../common/command_line_policy_provider.cc | 3 +
.../core/common/policy_loader_command_line.cc | 137 ++++++++++++++++--
@@ -32,11 +32,12 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
.../policy/resources/webui/policy_row.html | 1 +
.../policy/resources/webui/policy_row.ts | 12 ++
components/policy_strings.grdp | 4 +-
components/search/ntp_features.cc | 1 +
components/signin/features.gni | 2 +-
.../gaia_cookie_manager_service.cc | 4 +
google_apis/gaia/gaia_auth_fetcher.cc | 1 +
net/socket/ssl_client_socket_impl.cc | 3 +
32 files changed, 326 insertions(+), 158 deletions(-)
33 files changed, 325 insertions(+), 158 deletions(-)
diff --git a/base/win/win_util.cc b/base/win/win_util.cc
--- a/base/win/win_util.cc
@@ -623,13 +624,11 @@ diff --git a/components/commerce/core/commerce_feature_list.cc b/components/comm
auto* pattern_from_component =
commerce_heuristics::CommerceHeuristicsData::GetInstance()
.GetNoDiscountMerchantPattern();
@@ -497,4 +448,14 @@ bool IsNoDiscountMerchant(const GURL& url) {
@@ -497,4 +448,12 @@ bool IsNoDiscountMerchant(const GURL& url) {
return RE2::PartialMatch(url.host_piece(), *pattern_from_component);
}
#endif
+
+SET_CROMITE_FEATURE_DISABLED(kCommerceHintAndroid);
+SET_CROMITE_FEATURE_DISABLED(kCommercePriceTrackingRegionLaunched);
+SET_CROMITE_FEATURE_DISABLED(kShoppingListRegionLaunched);
+
+SET_CROMITE_FEATURE_DISABLED(kParcelTracking);
@@ -968,6 +967,17 @@ diff --git a/components/policy_strings.grdp b/components/policy_strings.grdp
</message>
<message name="IDS_POLICY_SOURCE_CLOUD" desc="Indicates that the policy originates from the cloud.">
Cloud
diff --git a/components/search/ntp_features.cc b/components/search/ntp_features.cc
--- a/components/search/ntp_features.cc
+++ b/components/search/ntp_features.cc
@@ -92,6 +92,7 @@ BASE_FEATURE(kNtpCalendarModule,
BASE_FEATURE(kNtpChromeCartModule,
"NtpChromeCartModule",
base::FEATURE_ENABLED_BY_DEFAULT);
+SET_CROMITE_FEATURE_DISABLED(kNtpChromeCartModule);
#if !defined(OFFICIAL_BUILD)
// If enabled, dummy modules will be shown.
diff --git a/components/signin/features.gni b/components/signin/features.gni
--- a/components/signin/features.gni
+++ b/components/signin/features.gni
+123 -6
View File
@@ -10,31 +10,97 @@ Do not skip google.com domains for password generation (csagan5)
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
.../ui/autofill/chrome_autofill_client.cc | 7 +-
.../chrome_password_manager_client.cc | 4 --
.../ui/autofill/chrome_autofill_client.cc | 9 ---
.../ui/autofill/chrome_autofill_client.h | 1 -
.../browser/android_autofill_client.cc | 11 ----
.../browser/android_autofill_client.h | 1 -
.../autofill_crowdsourcing_manager.cc | 66 ++-----------------
.../autofill_crowdsourcing_manager.h | 2 -
.../browser/crowdsourcing/votes_uploader.cc | 6 --
.../browser/foundations/autofill_client.h | 4 --
.../browser/foundations/autofill_manager.cc | 11 ----
.../autofill/core/common/autofill_features.cc | 2 +
.../autofill/core/common/autofill_prefs.cc | 10 +--
.../password_generation_frame_helper.cc | 5 --
6 files changed, 13 insertions(+), 79 deletions(-)
13 files changed, 12 insertions(+), 120 deletions(-)
diff --git a/chrome/browser/password_manager/chrome_password_manager_client.cc b/chrome/browser/password_manager/chrome_password_manager_client.cc
--- a/chrome/browser/password_manager/chrome_password_manager_client.cc
+++ b/chrome/browser/password_manager/chrome_password_manager_client.cc
@@ -1050,10 +1050,6 @@ ChromePasswordManagerClient::GetHttpAuthManager() {
autofill::AutofillCrowdsourcingManager*
ChromePasswordManagerClient::GetAutofillCrowdsourcingManager() {
- if (auto* client =
- autofill::ContentAutofillClient::FromWebContents(web_contents())) {
- return &client->GetCrowdsourcingManager();
- }
return nullptr;
}
diff --git a/chrome/browser/ui/autofill/chrome_autofill_client.cc b/chrome/browser/ui/autofill/chrome_autofill_client.cc
--- a/chrome/browser/ui/autofill/chrome_autofill_client.cc
+++ b/chrome/browser/ui/autofill/chrome_autofill_client.cc
@@ -323,12 +323,7 @@ ChromeAutofillClient::GetURLLoaderFactory() {
@@ -322,15 +322,6 @@ ChromeAutofillClient::GetURLLoaderFactory() {
->GetURLLoaderFactoryForBrowserProcess();
}
AutofillCrowdsourcingManager& ChromeAutofillClient::GetCrowdsourcingManager() {
-AutofillCrowdsourcingManager& ChromeAutofillClient::GetCrowdsourcingManager() {
- if (!crowdsourcing_manager_) {
- // Lazy initialization to avoid virtual function calls in the constructor.
- crowdsourcing_manager_ =
- std::make_unique<AutofillCrowdsourcingManager>(this, GetChannel());
- }
- return *crowdsourcing_manager_;
+ return nullptr;
-}
-
VotesUploader& ChromeAutofillClient::GetVotesUploader() {
return votes_uploader_;
}
diff --git a/chrome/browser/ui/autofill/chrome_autofill_client.h b/chrome/browser/ui/autofill/chrome_autofill_client.h
--- a/chrome/browser/ui/autofill/chrome_autofill_client.h
+++ b/chrome/browser/ui/autofill/chrome_autofill_client.h
@@ -107,7 +107,6 @@ class ChromeAutofillClient : public ContentAutofillClient,
version_info::Channel GetChannel() const final;
bool IsOffTheRecord() const final;
scoped_refptr<network::SharedURLLoaderFactory> GetURLLoaderFactory() final;
- AutofillCrowdsourcingManager& GetCrowdsourcingManager() final;
VotesUploader& GetVotesUploader() final;
AutofillOptimizationGuide* GetAutofillOptimizationGuide() const final;
FieldClassificationModelHandler* GetAutofillFieldClassificationModelHandler()
diff --git a/components/android_autofill/browser/android_autofill_client.cc b/components/android_autofill/browser/android_autofill_client.cc
--- a/components/android_autofill/browser/android_autofill_client.cc
+++ b/components/android_autofill/browser/android_autofill_client.cc
@@ -73,17 +73,6 @@ AndroidAutofillClient::GetURLLoaderFactory() {
->GetURLLoaderFactoryForBrowserProcess();
}
VotesUploader& ChromeAutofillClient::GetVotesUploader() {
-autofill::AutofillCrowdsourcingManager&
-AndroidAutofillClient::GetCrowdsourcingManager() {
- if (!crowdsourcing_manager_) {
- // Lazy initialization to avoid virtual function calls in the constructor.
- crowdsourcing_manager_ =
- std::make_unique<autofill::AutofillCrowdsourcingManager>(this,
- GetChannel());
- }
- return *crowdsourcing_manager_;
-}
-
autofill::VotesUploader& AndroidAutofillClient::GetVotesUploader() {
return votes_uploader_;
}
diff --git a/components/android_autofill/browser/android_autofill_client.h b/components/android_autofill/browser/android_autofill_client.h
--- a/components/android_autofill/browser/android_autofill_client.h
+++ b/components/android_autofill/browser/android_autofill_client.h
@@ -86,7 +86,6 @@ class AndroidAutofillClient : public autofill::ContentAutofillClient {
const std::string& GetAppLocale() const final;
bool IsOffTheRecord() const final;
scoped_refptr<network::SharedURLLoaderFactory> GetURLLoaderFactory() final;
- autofill::AutofillCrowdsourcingManager& GetCrowdsourcingManager() final;
autofill::VotesUploader& GetVotesUploader() override;
autofill::PersonalDataManager& GetPersonalDataManager() final;
autofill::SingleFieldFillRouter& GetSingleFieldFillRouter() final;
diff --git a/components/autofill/core/browser/crowdsourcing/autofill_crowdsourcing_manager.cc b/components/autofill/core/browser/crowdsourcing/autofill_crowdsourcing_manager.cc
--- a/components/autofill/core/browser/crowdsourcing/autofill_crowdsourcing_manager.cc
+++ b/components/autofill/core/browser/crowdsourcing/autofill_crowdsourcing_manager.cc
@@ -140,6 +206,57 @@ diff --git a/components/autofill/core/browser/crowdsourcing/autofill_crowdsourci
// A helper to make sure that tests which modify the set of active autofill
// experiments do not interfere with one another.
struct ScopedActiveAutofillExperiments {
diff --git a/components/autofill/core/browser/crowdsourcing/votes_uploader.cc b/components/autofill/core/browser/crowdsourcing/votes_uploader.cc
--- a/components/autofill/core/browser/crowdsourcing/votes_uploader.cc
+++ b/components/autofill/core/browser/crowdsourcing/votes_uploader.cc
@@ -383,12 +383,6 @@ void VotesUploader::UploadVote(
non_empty_types.contains(CREDIT_CARD_NUMBER)) {
non_empty_types.insert(CREDIT_CARD_VERIFICATION_CODE);
}
- client_->GetCrowdsourcingManager().StartUploadRequest(
- /*upload_contents=*/EncodeUploadRequest(*submitted_form, non_empty_types,
- /*login_form_signature=*/{},
- observed_submission),
- submitted_form->submission_source(),
- /*is_password_manager_upload=*/false);
}
} // namespace autofill
diff --git a/components/autofill/core/browser/foundations/autofill_client.h b/components/autofill/core/browser/foundations/autofill_client.h
--- a/components/autofill/core/browser/foundations/autofill_client.h
+++ b/components/autofill/core/browser/foundations/autofill_client.h
@@ -242,10 +242,6 @@ class AutofillClient {
// Returns the VotesUploader.
virtual VotesUploader& GetVotesUploader() = 0;
- // Returns the AutofillCrowdsourcingManager for communication with the
- // Autofill server.
- virtual AutofillCrowdsourcingManager& GetCrowdsourcingManager() = 0;
-
// Gets the PersonalDataManager instance associated with the original Chrome
// profile.
// To distinguish between (non-)incognito mode when deciding to persist data,
diff --git a/components/autofill/core/browser/foundations/autofill_manager.cc b/components/autofill/core/browser/foundations/autofill_manager.cc
--- a/components/autofill/core/browser/foundations/autofill_manager.cc
+++ b/components/autofill/core/browser/foundations/autofill_manager.cc
@@ -324,17 +324,6 @@ void AutofillManager::OnFormsParsed(const std::vector<FormData>& forms) {
driver().SendTypePredictionsToRenderer(queryable_forms);
LogTypePredictionsAvailable(log_manager(), non_queryable_forms);
LogTypePredictionsAvailable(log_manager(), queryable_forms);
-
- // Query the server if at least one of the forms was parsed.
- if (!queryable_forms.empty()) {
- NotifyObservers(&Observer::OnBeforeLoadedServerPredictions);
- // If language detection is currently reparsing the form, wait until the
- // server response is processed, to ensure server predictions are not lost.
- client().GetCrowdsourcingManager().StartQueryRequest(
- queryable_forms, driver().GetIsolationInfo(),
- AfterParsingFinishes(base::BindOnce(
- &AutofillManager::OnLoadedServerPredictions, GetWeakPtr())));
- }
}
void AutofillManager::OnCaretMovedInFormField(const FormData& form,
diff --git a/components/autofill/core/common/autofill_features.cc b/components/autofill/core/common/autofill_features.cc
--- a/components/autofill/core/common/autofill_features.cc
+++ b/components/autofill/core/common/autofill_features.cc
@@ -8,9 +8,9 @@ Pre-requisites: eyeo Browser Ad filtering Solution: Base Module
---
chrome/android/BUILD.gn | 8 +
chrome/browser/BUILD.gn | 12 +
.../android/adblock/adblock_jni_factory.cc | 72 +++
.../android/adblock/adblock_jni_factory.cc | 73 +++
.../android/adblock/adblock_jni_factory.h | 50 ++
...iltering_configuration_bindings_factory.cc | 70 +++
...iltering_configuration_bindings_factory.cc | 71 +++
...filtering_configuration_bindings_factory.h | 51 ++
.../adblock/java_bindings_getters_impl.cc | 88 +++
...lassification_notifier_bindings_factory.cc | 71 +++
@@ -45,7 +45,7 @@ Pre-requisites: eyeo Browser Ad filtering Solution: Base Module
.../adblock/TestVerificationUtils.java | 163 +++++
...source_classification_notifier_bindings.cc | 164 +++++
...esource_classification_notifier_bindings.h | 69 +++
39 files changed, 5006 insertions(+)
39 files changed, 5008 insertions(+)
create mode 100644 chrome/browser/android/adblock/adblock_jni_factory.cc
create mode 100644 chrome/browser/android/adblock/adblock_jni_factory.h
create mode 100644 chrome/browser/android/adblock/filtering_configuration_bindings_factory.cc
@@ -155,7 +155,7 @@ diff --git a/chrome/browser/android/adblock/adblock_jni_factory.cc b/chrome/brow
new file mode 100644
--- /dev/null
+++ b/chrome/browser/android/adblock/adblock_jni_factory.cc
@@ -0,0 +1,72 @@
@@ -0,0 +1,73 @@
+/*
+ * This file is part of eyeo Chromium SDK,
+ * Copyright (C) 2006-present eyeo GmbH
@@ -207,9 +207,10 @@ new file mode 100644
+
+AdblockJNIFactory::~AdblockJNIFactory() = default;
+
+KeyedService* AdblockJNIFactory::BuildServiceInstanceFor(
+std::unique_ptr<KeyedService>
+AdblockJNIFactory::BuildServiceInstanceForBrowserContext(
+ content::BrowserContext* context) const {
+ return new AdblockJNI(
+ return std::make_unique<AdblockJNI>(
+ SubscriptionServiceFactory::GetForBrowserContext(context));
+}
+
@@ -272,7 +273,7 @@ new file mode 100644
+ ~AdblockJNIFactory() override;
+
+ // BrowserContextKeyedServiceFactory:
+ KeyedService* BuildServiceInstanceFor(
+ std::unique_ptr<KeyedService> BuildServiceInstanceForBrowserContext(
+ content::BrowserContext* context) const override;
+ content::BrowserContext* GetBrowserContextToUse(
+ content::BrowserContext* context) const override;
@@ -287,7 +288,7 @@ diff --git a/chrome/browser/android/adblock/filtering_configuration_bindings_fac
new file mode 100644
--- /dev/null
+++ b/chrome/browser/android/adblock/filtering_configuration_bindings_factory.cc
@@ -0,0 +1,70 @@
@@ -0,0 +1,71 @@
+/*
+ * This file is part of eyeo Chromium SDK,
+ * Copyright (C) 2006-present eyeo GmbH
@@ -339,9 +340,10 @@ new file mode 100644
+FilteringConfigurationBindingsFactory::
+ ~FilteringConfigurationBindingsFactory() = default;
+
+KeyedService* FilteringConfigurationBindingsFactory::BuildServiceInstanceFor(
+std::unique_ptr<KeyedService>
+FilteringConfigurationBindingsFactory::BuildServiceInstanceForBrowserContext(
+ content::BrowserContext* context) const {
+ return new FilteringConfigurationBindings(
+ return std::make_unique<FilteringConfigurationBindings>(
+ SubscriptionServiceFactory::GetForBrowserContext(context),
+ Profile::FromBrowserContext(context)->GetOriginalProfile()->GetPrefs());
+}
@@ -404,7 +406,7 @@ new file mode 100644
+ ~FilteringConfigurationBindingsFactory() override;
+
+ // BrowserContextKeyedServiceFactory:
+ KeyedService* BuildServiceInstanceFor(
+ std::unique_ptr<KeyedService> BuildServiceInstanceForBrowserContext(
+ content::BrowserContext* context) const override;
+ content::BrowserContext* GetBrowserContextToUse(
+ content::BrowserContext* context) const override;
@@ -564,10 +566,10 @@ new file mode 100644
+ResourceClassificationNotifierBindingsFactory::
+ ~ResourceClassificationNotifierBindingsFactory() = default;
+
+KeyedService*
+ResourceClassificationNotifierBindingsFactory::BuildServiceInstanceFor(
+std::unique_ptr<KeyedService>
+ResourceClassificationNotifierBindingsFactory::BuildServiceInstanceForBrowserContext(
+ content::BrowserContext* context) const {
+ return new ResourceClassificationNotifierBindings(
+ return std::make_unique<ResourceClassificationNotifierBindings>(
+ ResourceClassificationRunnerFactory::GetForBrowserContext(context));
+}
+
@@ -630,7 +632,7 @@ new file mode 100644
+ ~ResourceClassificationNotifierBindingsFactory() override;
+
+ // BrowserContextKeyedServiceFactory:
+ KeyedService* BuildServiceInstanceFor(
+ std::unique_ptr<KeyedService> BuildServiceInstanceForBrowserContext(
+ content::BrowserContext* context) const override;
+ content::BrowserContext* GetBrowserContextToUse(
+ content::BrowserContext* context) const override;
@@ -15,7 +15,7 @@ Based on Chromium 118.0.5993.48
components/adblock/README.md | 80 +
components/adblock/content/BUILD.gn | 22 +
components/adblock/content/browser/BUILD.gn | 136 ++
.../adblock_controller_factory_base.cc | 87 +
.../adblock_controller_factory_base.cc | 88 +
.../browser/adblock_controller_factory_base.h | 50 +
.../content/browser/adblock_filter_match.h | 30 +
.../adblock_telemetry_service_factory_base.cc | 100 ++
@@ -43,7 +43,7 @@ Based on Chromium 118.0.5993.48
.../resource_classification_runner_impl.h | 156 ++
.../content/browser/session_stats_impl.cc | 86 +
.../content/browser/session_stats_impl.h | 71 +
.../subscription_service_factory_base.cc | 224 +++
.../subscription_service_factory_base.cc | 225 +++
.../subscription_service_factory_base.h | 60 +
components/adblock/core/BUILD.gn | 175 ++
.../activeping_telemetry_topic_provider.cc | 285 ++++
@@ -223,7 +223,7 @@ Based on Chromium 118.0.5993.48
tools/eyeo/generate_modules.sh | 209 +++
tools/eyeo/snippets_deps.py | 61 +
tools/gritsettings/resource_ids.spec | 11 +-
219 files changed, 22051 insertions(+), 4 deletions(-)
219 files changed, 22053 insertions(+), 4 deletions(-)
create mode 100644 components/adblock/CHANGELOG.md
create mode 100644 components/adblock/LICENSE
create mode 100644 components/adblock/README.md
@@ -2165,7 +2165,7 @@ diff --git a/components/adblock/content/browser/adblock_controller_factory_base.
new file mode 100644
--- /dev/null
+++ b/components/adblock/content/browser/adblock_controller_factory_base.cc
@@ -0,0 +1,87 @@
@@ -0,0 +1,88 @@
+/*
+ * This file is part of eyeo Chromium SDK,
+ * Copyright (C) 2006-present eyeo GmbH
@@ -2208,7 +2208,8 @@ new file mode 100644
+ "AdblockController",
+ BrowserContextDependencyManager::GetInstance()) {}
+
+KeyedService* AdblockControllerFactoryBase::BuildServiceInstanceFor(
+std::unique_ptr<KeyedService>
+AdblockControllerFactoryBase::BuildServiceInstanceForBrowserContext(
+ content::BrowserContext* context) const {
+ auto* prefs = GetPrefs(context);
+ auto adblock_filtering_configuration =
@@ -2236,7 +2237,7 @@ new file mode 100644
+ subscription_service->InstallFilteringConfiguration(
+ std::move(adblock_filtering_configuration));
+
+ return controller.release();
+ return controller;
+}
+
+void AdblockControllerFactoryBase::RegisterProfilePrefs(
@@ -2297,7 +2298,7 @@ new file mode 100644
+
+ private:
+ // BrowserContextKeyedServiceFactory:
+ KeyedService* BuildServiceInstanceFor(
+ std::unique_ptr<KeyedService> BuildServiceInstanceForBrowserContext(
+ content::BrowserContext* context) const override;
+ void RegisterProfilePrefs(
+ user_prefs::PrefRegistrySyncable* registry) override;
@@ -6178,7 +6179,7 @@ diff --git a/components/adblock/content/browser/subscription_service_factory_bas
new file mode 100644
--- /dev/null
+++ b/components/adblock/content/browser/subscription_service_factory_base.cc
@@ -0,0 +1,224 @@
@@ -0,0 +1,225 @@
+/*
+ * This file is part of eyeo Chromium SDK,
+ * Copyright (C) 2006-present eyeo GmbH
@@ -6341,10 +6342,11 @@ new file mode 100644
+
+SubscriptionServiceFactoryBase::~SubscriptionServiceFactoryBase() = default;
+
+KeyedService* SubscriptionServiceFactoryBase::BuildServiceInstanceFor(
+std::unique_ptr<KeyedService>
+SubscriptionServiceFactoryBase::BuildServiceInstanceForBrowserContext(
+ content::BrowserContext* context) const {
+ auto* prefs = GetPrefs(context);
+ auto* subscription_service = new SubscriptionServiceImpl(
+ auto subscription_service = std::make_unique<SubscriptionServiceImpl>(
+ base::BindRepeating(&MakeFilterConfigurationMaintainer, context, prefs,
+ GetSubscriptionPersistentMetadata(context),
+ static_cast<const ConversionExecutors*>(this)),
@@ -6459,7 +6461,7 @@ new file mode 100644
+ ~SubscriptionServiceFactoryBase() override;
+
+ // BrowserContextKeyedServiceFactory:
+ KeyedService* BuildServiceInstanceFor(
+ std::unique_ptr<KeyedService> BuildServiceInstanceForBrowserContext(
+ content::BrowserContext* context) const override;
+ void RegisterProfilePrefs(
+ user_prefs::PrefRegistrySyncable* registry) override;
@@ -13856,9 +13858,9 @@ new file mode 100644
+
+ crypto::SignatureVerifier verifier;
+ if (verifier.VerifyInit(crypto::SignatureVerifier::RSA_PKCS1_SHA1,
+ base::as_bytes(base::make_span(signature)),
+ base::as_bytes(base::make_span(public_key)))) {
+ verifier.VerifyUpdate(base::as_bytes(base::make_span(data)));
+ base::as_byte_span(signature),
+ base::as_byte_span(public_key))) {
+ verifier.VerifyUpdate(base::as_byte_span(data));
+ return verifier.VerifyFinal();
+ }
+
@@ -52553,7 +52555,7 @@ diff --git a/third_party/blink/renderer/core/exported/web_document.cc b/third_pa
+ if (props.PropertyCount() != 1)
+ return false;
+ const auto& ref = props.PropertyAt(0);
+ return ref.Id() == CSSPropertyID::kDisplay && ref.IsImportant();
+ return ref.PropertyID() == CSSPropertyID::kDisplay && ref.IsImportant();
+}
+
+// Should be same as WebDocument::InsertStyleSheet, excluding content
@@ -17,17 +17,17 @@ Pre-requisites: eyeo Browser Ad filtering Solution: Base Module
.../adblock_telemetry_service_factory.cc | 63 ++++
.../adblock_telemetry_service_factory.h | 51 +++
chrome/browser/adblock/android/BUILD.gn | 68 ++++
...ontent_security_policy_injector_factory.cc | 69 ++++
...ontent_security_policy_injector_factory.cc | 70 ++++
...content_security_policy_injector_factory.h | 49 +++
.../browser/adblock/element_hider_factory.cc | 63 ++++
.../browser/adblock/element_hider_factory.cc | 64 ++++
.../browser/adblock/element_hider_factory.h | 47 +++
.../resource_classification_runner_factory.cc | 71 ++++
.../resource_classification_runner_factory.cc | 72 ++++
.../resource_classification_runner_factory.h | 49 +++
.../browser/adblock/session_stats_factory.cc | 64 ++++
.../browser/adblock/session_stats_factory.cc | 65 ++++
.../browser/adblock/session_stats_factory.h | 47 +++
.../adblock/sitekey_storage_factory.cc | 59 ++++
.../adblock/sitekey_storage_factory.cc | 60 ++++
.../browser/adblock/sitekey_storage_factory.h | 47 +++
...ubscription_persistent_metadata_factory.cc | 63 ++++
...ubscription_persistent_metadata_factory.cc | 64 ++++
...subscription_persistent_metadata_factory.h | 49 +++
.../adblock/subscription_service_factory.cc | 66 ++++
.../adblock/subscription_service_factory.h | 50 +++
@@ -54,7 +54,7 @@ Pre-requisites: eyeo Browser Ad filtering Solution: Base Module
chrome/common/BUILD.gn | 3 +
chrome/common/webui_url_constants.cc | 4 +
chrome/common/webui_url_constants.h | 5 +
48 files changed, 2293 insertions(+), 2 deletions(-)
48 files changed, 2299 insertions(+), 2 deletions(-)
create mode 100644 chrome/browser/adblock/README.md
create mode 100644 chrome/browser/adblock/adblock_content_browser_client.cc
create mode 100644 chrome/browser/adblock/adblock_content_browser_client.h
@@ -1143,7 +1143,7 @@ diff --git a/chrome/browser/adblock/content_security_policy_injector_factory.cc
new file mode 100644
--- /dev/null
+++ b/chrome/browser/adblock/content_security_policy_injector_factory.cc
@@ -0,0 +1,69 @@
@@ -0,0 +1,70 @@
+/*
+ * This file is part of eyeo Chromium SDK,
+ * Copyright (C) 2006-present eyeo GmbH
@@ -1199,9 +1199,10 @@ new file mode 100644
+ContentSecurityPolicyInjectorFactory::~ContentSecurityPolicyInjectorFactory() =
+ default;
+
+KeyedService* ContentSecurityPolicyInjectorFactory::BuildServiceInstanceFor(
+std::unique_ptr<KeyedService>
+ContentSecurityPolicyInjectorFactory::BuildServiceInstanceForBrowserContext(
+ content::BrowserContext* context) const {
+ return new ContentSecurityPolicyInjectorImpl(
+ return std::make_unique<ContentSecurityPolicyInjectorImpl>(
+ SubscriptionServiceFactory::GetForBrowserContext(context),
+ std::make_unique<FrameHierarchyBuilder>());
+}
@@ -1258,7 +1259,7 @@ new file mode 100644
+ ~ContentSecurityPolicyInjectorFactory() override;
+
+ // BrowserContextKeyedServiceFactory:
+ KeyedService* BuildServiceInstanceFor(
+ std::unique_ptr<KeyedService> BuildServiceInstanceForBrowserContext(
+ content::BrowserContext* context) const override;
+ content::BrowserContext* GetBrowserContextToUse(
+ content::BrowserContext* context) const override;
@@ -1271,7 +1272,7 @@ diff --git a/chrome/browser/adblock/element_hider_factory.cc b/chrome/browser/ad
new file mode 100644
--- /dev/null
+++ b/chrome/browser/adblock/element_hider_factory.cc
@@ -0,0 +1,63 @@
@@ -0,0 +1,64 @@
+/*
+ * This file is part of eyeo Chromium SDK,
+ * Copyright (C) 2006-present eyeo GmbH
@@ -1323,9 +1324,10 @@ new file mode 100644
+
+ElementHiderFactory::~ElementHiderFactory() = default;
+
+KeyedService* ElementHiderFactory::BuildServiceInstanceFor(
+std::unique_ptr<KeyedService>
+ElementHiderFactory::BuildServiceInstanceForBrowserContext(
+ content::BrowserContext* context) const {
+ return new ElementHiderImpl(
+ return std::make_unique<ElementHiderImpl>(
+ adblock::SubscriptionServiceFactory::GetForBrowserContext(context));
+}
+
@@ -1378,7 +1380,7 @@ new file mode 100644
+ ~ElementHiderFactory() override;
+
+ // BrowserContextKeyedServiceFactory:
+ KeyedService* BuildServiceInstanceFor(
+ std::unique_ptr<KeyedService> BuildServiceInstanceForBrowserContext(
+ content::BrowserContext* context) const override;
+ content::BrowserContext* GetBrowserContextToUse(
+ content::BrowserContext* context) const override;
@@ -1391,7 +1393,7 @@ diff --git a/chrome/browser/adblock/resource_classification_runner_factory.cc b/
new file mode 100644
--- /dev/null
+++ b/chrome/browser/adblock/resource_classification_runner_factory.cc
@@ -0,0 +1,71 @@
@@ -0,0 +1,72 @@
+/*
+ * This file is part of eyeo Chromium SDK,
+ * Copyright (C) 2006-present eyeo GmbH
@@ -1448,9 +1450,10 @@ new file mode 100644
+ResourceClassificationRunnerFactory::~ResourceClassificationRunnerFactory() =
+ default;
+
+KeyedService* ResourceClassificationRunnerFactory::BuildServiceInstanceFor(
+std::unique_ptr<KeyedService>
+ResourceClassificationRunnerFactory::BuildServiceInstanceForBrowserContext(
+ content::BrowserContext* context) const {
+ return new ResourceClassificationRunnerImpl(
+ return std::make_unique<ResourceClassificationRunnerImpl>(
+ base::MakeRefCounted<ResourceClassifierImpl>(),
+ std::make_unique<FrameHierarchyBuilder>(),
+ SitekeyStorageFactory::GetForBrowserContext(context));
@@ -1508,7 +1511,7 @@ new file mode 100644
+ ~ResourceClassificationRunnerFactory() override;
+
+ // BrowserContextKeyedServiceFactory:
+ KeyedService* BuildServiceInstanceFor(
+ std::unique_ptr<KeyedService> BuildServiceInstanceForBrowserContext(
+ content::BrowserContext* context) const override;
+ content::BrowserContext* GetBrowserContextToUse(
+ content::BrowserContext* context) const override;
@@ -1521,7 +1524,7 @@ diff --git a/chrome/browser/adblock/session_stats_factory.cc b/chrome/browser/ad
new file mode 100644
--- /dev/null
+++ b/chrome/browser/adblock/session_stats_factory.cc
@@ -0,0 +1,64 @@
@@ -0,0 +1,65 @@
+/*
+ * This file is part of eyeo Chromium SDK,
+ * Copyright (C) 2006-present eyeo GmbH
@@ -1574,9 +1577,10 @@ new file mode 100644
+
+SessionStatsFactory::~SessionStatsFactory() = default;
+
+KeyedService* SessionStatsFactory::BuildServiceInstanceFor(
+std::unique_ptr<KeyedService>
+SessionStatsFactory::BuildServiceInstanceForBrowserContext(
+ content::BrowserContext* context) const {
+ return new SessionStatsImpl(
+ return std::make_unique<SessionStatsImpl>(
+ ResourceClassificationRunnerFactory::GetForBrowserContext(context));
+}
+
@@ -1629,7 +1633,7 @@ new file mode 100644
+ ~SessionStatsFactory() override;
+
+ // BrowserContextKeyedServiceFactory:
+ KeyedService* BuildServiceInstanceFor(
+ std::unique_ptr<KeyedService> BuildServiceInstanceForBrowserContext(
+ content::BrowserContext* context) const override;
+ content::BrowserContext* GetBrowserContextToUse(
+ content::BrowserContext* context) const override;
@@ -1642,7 +1646,7 @@ diff --git a/chrome/browser/adblock/sitekey_storage_factory.cc b/chrome/browser/
new file mode 100644
--- /dev/null
+++ b/chrome/browser/adblock/sitekey_storage_factory.cc
@@ -0,0 +1,59 @@
@@ -0,0 +1,60 @@
+/*
+ * This file is part of eyeo Chromium SDK,
+ * Copyright (C) 2006-present eyeo GmbH
@@ -1691,9 +1695,10 @@ new file mode 100644
+
+SitekeyStorageFactory::~SitekeyStorageFactory() = default;
+
+KeyedService* SitekeyStorageFactory::BuildServiceInstanceFor(
+std::unique_ptr<KeyedService>
+SitekeyStorageFactory::BuildServiceInstanceForBrowserContext(
+ content::BrowserContext* context) const {
+ return new SitekeyStorageImpl();
+ return std::make_unique<SitekeyStorageImpl>();
+}
+
+content::BrowserContext* SitekeyStorageFactory::GetBrowserContextToUse(
@@ -1745,7 +1750,7 @@ new file mode 100644
+ ~SitekeyStorageFactory() override;
+
+ // BrowserContextKeyedServiceFactory:
+ KeyedService* BuildServiceInstanceFor(
+ std::unique_ptr<KeyedService> BuildServiceInstanceForBrowserContext(
+ content::BrowserContext* context) const override;
+ content::BrowserContext* GetBrowserContextToUse(
+ content::BrowserContext* context) const override;
@@ -1758,7 +1763,7 @@ diff --git a/chrome/browser/adblock/subscription_persistent_metadata_factory.cc
new file mode 100644
--- /dev/null
+++ b/chrome/browser/adblock/subscription_persistent_metadata_factory.cc
@@ -0,0 +1,63 @@
@@ -0,0 +1,64 @@
+/*
+ * This file is part of eyeo Chromium SDK,
+ * Copyright (C) 2006-present eyeo GmbH
@@ -1809,9 +1814,10 @@ new file mode 100644
+SubscriptionPersistentMetadataFactory::
+ ~SubscriptionPersistentMetadataFactory() = default;
+
+KeyedService* SubscriptionPersistentMetadataFactory::BuildServiceInstanceFor(
+std::unique_ptr<KeyedService>
+SubscriptionPersistentMetadataFactory::BuildServiceInstanceForBrowserContext(
+ content::BrowserContext* context) const {
+ return new SubscriptionPersistentMetadataImpl(
+ return std::make_unique<SubscriptionPersistentMetadataImpl>(
+ Profile::FromBrowserContext(context)->GetOriginalProfile()->GetPrefs());
+}
+
@@ -1867,7 +1873,7 @@ new file mode 100644
+ ~SubscriptionPersistentMetadataFactory() override;
+
+ // BrowserContextKeyedServiceFactory:
+ KeyedService* BuildServiceInstanceFor(
+ std::unique_ptr<KeyedService> BuildServiceInstanceForBrowserContext(
+ content::BrowserContext* context) const override;
+ content::BrowserContext* GetBrowserContextToUse(
+ content::BrowserContext* context) const override;
@@ -2730,11 +2736,11 @@ new file mode 100644
+
+#include "chrome/browser/profiles/profile.h"
+#include "chrome/browser/ui/webui/adblock_internals/adblock_internals_page_handler_impl.h"
+#include "chrome/browser/ui/webui/webui_util.h"
+#include "chrome/common/url_constants.h"
+#include "chrome/grit/adblock_internals_resources.h"
+#include "chrome/grit/adblock_internals_resources_map.h"
+#include "content/public/browser/web_ui_data_source.h"
+#include "ui/webui/webui_util.h"
+
+AdblockInternalsUI::AdblockInternalsUI(content::WebUI* web_ui)
+ : ui::MojoWebUIController(web_ui), profile_(Profile::FromWebUI(web_ui)) {
@@ -47,7 +47,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
components/domain_reliability/BUILD.gn | 5 +-
.../domain_reliability/bake_in_configs.py | 2 +-
.../domain_reliability/context_manager.cc | 22 +-
.../domain_reliability/google_configs.cc | 10 +-
.../domain_reliability/google_configs.cc | 73 +---
.../domain_reliability/google_configs.h | 8 +-
components/domain_reliability/monitor.cc | 8 -
components/domain_reliability/uploader.cc | 2 +-
@@ -65,7 +65,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
...gled-chromium-no-special-hosts-domains.inc | 1 +
net/base/url_util.cc | 25 +-
services/network/network_context.cc | 2 +-
58 files changed, 53 insertions(+), 811 deletions(-)
58 files changed, 52 insertions(+), 875 deletions(-)
create mode 100644 cromite_flags/content/public/common/content_features_cc/ungoogled-chromium-no-special-hosts-domains.inc
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordinator.java b/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordinator.java
@@ -1020,31 +1020,94 @@ diff --git a/components/domain_reliability/google_configs.cc b/components/domain
};
-const auto kGoogleConfigs = base::MakeFixedFlatMap<std::string_view,
+/*const auto kGoogleConfigs = base::MakeFixedFlatMap<std::string_view,
+[[maybe_unused]] const auto kGoogleConfigs = base::MakeFixedFlatMap<std::string_view,
GoogleConfigParams>({
// Origins with subdomains and same-origin collectors. Currently, all
// origins with same-origin collectors also run collectors on their www
@@ -554,11 +554,11 @@ std::unique_ptr<const DomainReliabilityConfig> CreateGoogleConfig(
config->failure_sample_rate = 1.00;
config->path_prefixes.clear();
return config;
-}
+}*/
@@ -514,7 +514,7 @@ const auto kGoogleConfigs = base::MakeFixedFlatMap<std::string_view,
{"redirector.googlevideo.com", {false, false, false}},
});
-const char* const kGoogleStandardCollectors[] = {
+[[maybe_unused]] const char* const kGoogleStandardCollectors[] = {
"https://beacons.gcp.gvt2.com/domainreliability/upload",
"https://beacons.gvt2.com/domainreliability/upload",
"https://beacons2.gvt2.com/domainreliability/upload",
@@ -525,74 +525,9 @@ const char* const kGoogleStandardCollectors[] = {
"https://clients2.google.com/domainreliability/upload",
};
-const char* const kGoogleOriginSpecificCollectorPathString =
+[[maybe_unused]] const char* const kGoogleOriginSpecificCollectorPathString =
"/domainreliability/upload";
-std::unique_ptr<const DomainReliabilityConfig> CreateGoogleConfig(
- std::string_view hostname,
- const GoogleConfigParams& params,
- bool is_www) {
- CHECK(params.duplicate_for_www || !is_www);
-
- bool include_subdomains = params.include_subdomains && !is_www;
-
- auto config = std::make_unique<DomainReliabilityConfig>();
- GURL url(base::StrCat({"https://", (is_www ? "www." : ""), hostname, "/"}));
- config->origin = url::Origin::Create(url);
- config->include_subdomains = include_subdomains;
- config->collectors.clear();
- if (params.include_origin_specific_collector) {
- GURL::Replacements replacements;
- replacements.SetPathStr(kGoogleOriginSpecificCollectorPathString);
- config->collectors.push_back(
- std::make_unique<GURL>(url.ReplaceComponents(replacements)));
- }
- for (const char* collector : kGoogleStandardCollectors) {
- config->collectors.push_back(std::make_unique<GURL>(collector));
- }
- config->success_sample_rate = 0.05;
- config->failure_sample_rate = 1.00;
- config->path_prefixes.clear();
- return config;
-}
-
} // namespace
-std::unique_ptr<const DomainReliabilityConfig> MaybeGetGoogleConfig(
+/*std::unique_ptr<const DomainReliabilityConfig> MaybeGetGoogleConfig(
const std::string& hostname) {
bool is_www_subdomain =
base::StartsWith(hostname, "www.", base::CompareCase::SENSITIVE);
@@ -593,6 +593,6 @@ GetAllGoogleConfigsForTesting() {
}
}
return configs_out;
- const std::string& hostname) {
- bool is_www_subdomain =
- base::StartsWith(hostname, "www.", base::CompareCase::SENSITIVE);
-
- const auto itr = kGoogleConfigs.find(hostname);
- if (itr != std::end(kGoogleConfigs)) {
- return CreateGoogleConfig(hostname, itr->second, /*is_www=*/false);
- }
- std::string hostname_parent = net::GetSuperdomain(hostname);
- const auto parent_it = kGoogleConfigs.find(hostname_parent);
- if (parent_it != std::end(kGoogleConfigs)) {
- const GoogleConfigParams& params = parent_it->second;
- if (is_www_subdomain && params.duplicate_for_www) {
- return CreateGoogleConfig(hostname_parent, params, /*is_www=*/true);
- }
- if (params.include_subdomains) {
- return CreateGoogleConfig(hostname_parent, params, /*is_www=*/false);
- }
- }
-
- return nullptr;
-}
+} */
-
-std::vector<std::unique_ptr<const DomainReliabilityConfig>>
-GetAllGoogleConfigsForTesting() {
- std::vector<std::unique_ptr<const DomainReliabilityConfig>> configs_out;
-
- for (const auto& [hostname, params] : kGoogleConfigs) {
- configs_out.push_back(CreateGoogleConfig(hostname, params, false));
- if (params.duplicate_for_www) {
- configs_out.push_back(CreateGoogleConfig(hostname, params, true));
- }
- }
- return configs_out;
-}
-
} // namespace domain_reliability
diff --git a/components/domain_reliability/google_configs.h b/components/domain_reliability/google_configs.h
--- a/components/domain_reliability/google_configs.h
@@ -8,10 +8,10 @@ Chromium would still send background requests. Kill it.
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
.../component_updater_url_constants.cc | 4 ++--
components/component_updater/configurator_impl.cc | 10 ++++------
components/component_updater/configurator_impl.h | 1 -
3 files changed, 6 insertions(+), 9 deletions(-)
.../component_updater/component_updater_url_constants.cc | 4 ++--
components/component_updater/configurator_impl.cc | 9 +++------
components/component_updater/configurator_impl.h | 2 --
3 files changed, 5 insertions(+), 10 deletions(-)
diff --git a/components/component_updater/component_updater_url_constants.cc b/components/component_updater/component_updater_url_constants.cc
--- a/components/component_updater/component_updater_url_constants.cc
@@ -31,17 +31,16 @@ diff --git a/components/component_updater/component_updater_url_constants.cc b/c
diff --git a/components/component_updater/configurator_impl.cc b/components/component_updater/configurator_impl.cc
--- a/components/component_updater/configurator_impl.cc
+++ b/components/component_updater/configurator_impl.cc
@@ -40,8 +40,7 @@ ConfiguratorImpl::ConfiguratorImpl(
@@ -40,8 +40,6 @@ ConfiguratorImpl::ConfiguratorImpl(
: background_downloads_enabled_(config_policy.BackgroundDownloadsEnabled()),
deltas_enabled_(config_policy.DeltaUpdatesEnabled()),
fast_update_(config_policy.FastUpdate()),
- pings_enabled_(config_policy.PingsEnabled()),
- require_encryption_(require_encryption),
+ pings_enabled_(false),
url_source_override_(config_policy.UrlSourceOverride()),
initial_delay_(config_policy.InitialDelay()) {
if (config_policy.TestRequest()) {
@@ -77,22 +76,21 @@ base::TimeDelta ConfiguratorImpl::UpdateDelay() const {
@@ -77,22 +75,21 @@ base::TimeDelta ConfiguratorImpl::UpdateDelay() const {
std::vector<GURL> ConfiguratorImpl::UpdateUrl() const {
DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
@@ -70,10 +69,11 @@ diff --git a/components/component_updater/configurator_impl.cc b/components/comp
diff --git a/components/component_updater/configurator_impl.h b/components/component_updater/configurator_impl.h
--- a/components/component_updater/configurator_impl.h
+++ b/components/component_updater/configurator_impl.h
@@ -107,7 +107,6 @@ class ConfiguratorImpl {
@@ -106,8 +106,6 @@ class ConfiguratorImpl {
const bool background_downloads_enabled_;
const bool deltas_enabled_;
const bool fast_update_;
const bool pings_enabled_;
- const bool pings_enabled_;
- const bool require_encryption_;
const GURL url_source_override_;
const base::TimeDelta initial_delay_;
@@ -38,7 +38,7 @@ diff --git a/third_party/blink/common/peerconnection/webrtc_ip_handling_policy.c
+ if (preference == kWebRTCIPHandlingDefault) {
+ return blink::mojom::WebRtcIpHandlingPolicy::kDefault;
+ }
+ return blink::mojom::WebRtcIpHandlingPolicy::kkDisableNonProxiedUdp;
+ return blink::mojom::WebRtcIpHandlingPolicy::kDisableNonProxiedUdp;
}
const char* ToString(blink::mojom::WebRtcIpHandlingPolicy policy) {