Patches for v136 (changed)

This commit is contained in:
Carmelo Messina
2025-05-02 16:45:57 +02:00
parent f2122e2d4a
commit 05c139d21b
28 changed files with 581 additions and 298 deletions
@@ -27,7 +27,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../chrome/browser/ChromeTabbedActivity.java | 28 ++-
.../chrome/browser/app/ChromeActivity.java | 4 +
.../AppMenuPropertiesDelegateImpl.java | 28 ++-
.../ChromeContextMenuPopulator.java | 7 +-
.../ChromeContextMenuPopulator.java | 6 +-
.../CustomTabActivityLifecycleUmaTracker.java | 39 -----
.../CustomTabAppMenuPropertiesDelegate.java | 4 +
.../CustomTabIntentDataProvider.java | 10 ++
@@ -86,7 +86,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../add-an-always-incognito-mode.inc | 1 +
.../add-an-always-incognito-mode.inc | 3 +
.../add-an-always-incognito-mode.inc | 1 +
67 files changed, 797 insertions(+), 112 deletions(-)
67 files changed, 796 insertions(+), 112 deletions(-)
create mode 100644 chrome/android/java/res/xml/incognito_preferences.xml
create mode 100644 chrome/android/java/src/org/chromium/chrome/browser/AlwaysIncognitoLinkInterceptor.java
create mode 100644 chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/IncognitoSettings.java
@@ -403,15 +403,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/Chr
List<Pair<Integer, ModelList>> groupedItems = new ArrayList<>();
if (mParams.isPage() && shouldShowEmptySpaceContextMenu()) {
@@ -320,6 +324,7 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator {
if (mMode == ContextMenuMode.NORMAL) {
linkGroup.add(createListItem(Item.OPEN_IN_NEW_TAB_IN_GROUP));
linkGroup.add(createListItem(Item.OPEN_IN_NEW_TAB));
+
if (!mItemDelegate.isIncognito() && mItemDelegate.isIncognitoSupported()) {
linkGroup.add(createListItem(Item.OPEN_IN_INCOGNITO_TAB));
}
@@ -350,7 +355,7 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator {
@@ -350,7 +354,7 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator {
}
}
if (FirstRunStatus.getFirstRunFlowComplete()) {
@@ -44,7 +44,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../add-bookmark-import-export-actions.inc | 12 +
.../add-bookmark-import-export-actions.inc | 4 +
.../add-bookmark-import-export-actions.inc | 1 +
.../chromium/ui/base/SelectFileDialog.java | 18 +-
.../chromium/ui/base/SelectFileDialog.java | 24 +-
.../java/strings/android_ui_strings.grd | 3 +
ui/shell_dialogs/select_file_dialog.h | 2 +
.../select_file_dialog_android.cc | 6 +
@@ -52,7 +52,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
ui/shell_dialogs/select_file_dialog_linux.cc | 4 +
ui/shell_dialogs/select_file_dialog_linux.h | 2 +
ui/shell_dialogs/select_file_dialog_win.cc | 5 +
41 files changed, 900 insertions(+), 29 deletions(-)
41 files changed, 906 insertions(+), 29 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
@@ -1638,19 +1638,25 @@ diff --git a/ui/android/java/src/org/chromium/ui/base/SelectFileDialog.java b/ui
private static final String AUDIO_TYPE = "audio";
private static final String ALL_TYPES = "*/*";
private static final String GENERIC_TYPE = "application/octet-stream";
@@ -323,6 +325,11 @@ public class SelectFileDialog implements WindowAndroid.IntentCallback, PhotoPick
@@ -323,6 +325,17 @@ public class SelectFileDialog implements WindowAndroid.IntentCallback, PhotoPick
mMimeTypes = convertToSupportedMimeTypes(mFileTypes);
}
+ @CalledByNative
+ private void showToast(String message) {
+ Toast.makeText(ContextUtils.getApplicationContext(), message, Toast.LENGTH_LONG).show();
+ ThreadUtils.runOnUiThread(
+ new Runnable() {
+ @Override
+ public void run() {
+ Toast.makeText(ContextUtils.getApplicationContext(), message, Toast.LENGTH_LONG).show();
+ }
+ });
+ }
+
/**
* Creates and starts an intent based on the passed fileTypes and capture value.
*
@@ -407,7 +414,7 @@ public class SelectFileDialog implements WindowAndroid.IntentCallback, PhotoPick
@@ -407,7 +420,7 @@ public class SelectFileDialog implements WindowAndroid.IntentCallback, PhotoPick
List<String> missingPermissions = new ArrayList<>();
String storagePermission = Manifest.permission.READ_EXTERNAL_STORAGE;
boolean shouldUsePhotoPicker = shouldUsePhotoPicker();
@@ -1659,7 +1665,7 @@ diff --git a/ui/android/java/src/org/chromium/ui/base/SelectFileDialog.java b/ui
// The permission scenario for accessing media has evolved a bit over the years:
// Early on, READ_EXTERNAL_STORAGE was required to access media, but that permission was
// later deprecated. In its place (starting with Android T) READ_MEDIA_IMAGES and
@@ -460,7 +467,7 @@ public class SelectFileDialog implements WindowAndroid.IntentCallback, PhotoPick
@@ -460,7 +473,7 @@ public class SelectFileDialog implements WindowAndroid.IntentCallback, PhotoPick
// TODO(finnur): Remove once we figure out the cause of
// crbug.com/950024.
@@ -1668,7 +1674,7 @@ diff --git a/ui/android/java/src/org/chromium/ui/base/SelectFileDialog.java b/ui
if (permissions.length != requestPermissions.length) {
throw new RuntimeException(
String.format(
@@ -477,7 +484,7 @@ public class SelectFileDialog implements WindowAndroid.IntentCallback, PhotoPick
@@ -477,7 +490,7 @@ public class SelectFileDialog implements WindowAndroid.IntentCallback, PhotoPick
}
}
@@ -1677,7 +1683,7 @@ diff --git a/ui/android/java/src/org/chromium/ui/base/SelectFileDialog.java b/ui
if (permissions[i].equals(storagePermission)
|| permissions[i].equals(
Manifest.permission.READ_MEDIA_IMAGES)
@@ -783,6 +790,7 @@ public class SelectFileDialog implements WindowAndroid.IntentCallback, PhotoPick
@@ -783,6 +796,7 @@ public class SelectFileDialog implements WindowAndroid.IntentCallback, PhotoPick
mimeTypes.add(mimeType);
}
}
@@ -1685,7 +1691,7 @@ diff --git a/ui/android/java/src/org/chromium/ui/base/SelectFileDialog.java b/ui
return mimeTypes;
}
@@ -1156,6 +1164,10 @@ public class SelectFileDialog implements WindowAndroid.IntentCallback, PhotoPick
@@ -1156,6 +1170,10 @@ public class SelectFileDialog implements WindowAndroid.IntentCallback, PhotoPick
return countAcceptTypesFor(superType) == mMimeTypes.size();
}
@@ -465,7 +465,7 @@ diff --git a/components/page_info/android/java/src/org/chromium/components/page_
warningTextResource = R.string.page_info_android_permission_blocked;
}
+ if (permission.is_user_session) {
+ permissionParams.warningTextResource =
+ warningTextResource =
+ R.string.page_info_android_permission_session_permission;
+ }
}
@@ -10,7 +10,6 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../bookmarks/android/bookmark_bridge.h | 8 ++++
.../browser/bookmarks/BookmarkBridge.java | 41 ++++++++++++++++++
.../browser/bookmarks/bookmark_html_writer.cc | 14 +++++-
.../bookmark_merged_surface_service.cc | 2 +
.../bookmarks/bookmark_parent_folder.cc | 1 +
.../permanent_folder_ordering_tracker.cc | 2 +
.../dialogs/DownloadLocationCustomView.java | 4 +-
@@ -30,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 +
26 files changed, 243 insertions(+), 14 deletions(-)
25 files changed, 241 insertions(+), 14 deletions(-)
diff --git a/chrome/android/java/res/menu/main_menu.xml b/chrome/android/java/res/menu/main_menu.xml
--- a/chrome/android/java/res/menu/main_menu.xml
@@ -385,18 +384,6 @@ diff --git a/chrome/browser/bookmarks/bookmark_html_writer.cc b/chrome/browser/b
if (model->account_bookmark_bar_node()) {
CHECK(model->account_other_node());
diff --git a/chrome/browser/bookmarks/bookmark_merged_surface_service.cc b/chrome/browser/bookmarks/bookmark_merged_surface_service.cc
--- a/chrome/browser/bookmarks/bookmark_merged_surface_service.cc
+++ b/chrome/browser/bookmarks/bookmark_merged_surface_service.cc
@@ -108,6 +108,8 @@ BookmarkMergedSurfaceService::BookmarkMergedSurfaceService(
BookmarkMergedSurfaceService::~BookmarkMergedSurfaceService() {
for (auto& observer : observers_) {
observer.BookmarkMergedSurfaceServiceBeingDeleted();
+ case BookmarkNode::Type::TABS_COLLECTION:
+ NOTREACHED();
}
}
diff --git a/chrome/browser/bookmarks/bookmark_parent_folder.cc b/chrome/browser/bookmarks/bookmark_parent_folder.cc
--- a/chrome/browser/bookmarks/bookmark_parent_folder.cc
+++ b/chrome/browser/bookmarks/bookmark_parent_folder.cc
+27 -14
View File
@@ -15,13 +15,13 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
.../cromite/cromite_prepopulated_engines.json | 37 ++++++++++++++++++
.../search_engine_choice_utils.cc | 5 +--
.../search_engines/search_engine_type.h | 5 +++
.../template_url_prepopulate_data.cc | 5 ++-
.../template_url_prepopulate_data.cc | 15 ++++++-
.../template_url_prepopulate_data.h | 7 ----
tools/json_to_struct/json_to_struct.gni | 9 +++++
tools/json_to_struct/json_to_struct.py | 26 ++++++++----
tools/json_to_struct/struct_generator.py | 10 +++--
tools/variations/fieldtrial_to_struct.py | 4 +-
13 files changed, 99 insertions(+), 25 deletions(-)
13 files changed, 108 insertions(+), 26 deletions(-)
create mode 100644 components/resources/default_100_percent/search_engine_choice/default_favicon.png
create mode 100644 components/search_engines/cromite/BUILD.gn
create mode 100644 components/search_engines/cromite/cromite_prepopulated_engines.json
@@ -197,16 +197,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
namespace TemplateURLPrepopulateData {
// Helpers --------------------------------------------------------------------
@@ -53,6 +55,8 @@ const RegionalSettings& GetRegionalSettings(CountryId country_id) {
iter = kRegionalSettings.find(CountryId());
}
+ t_url.push_back({SearchEngineTier::kTopEngines, &googleen});
+ t_url.push_back({SearchEngineTier::kTopEngines, &duckduckgo_light});
return *iter->second;
}
@@ -85,7 +89,6 @@ GetPrepopulatedEnginesForEeaRegionCountries(CountryId country_id,
@@ -85,11 +87,10 @@ GetPrepopulatedEnginesForEeaRegionCountries(CountryId country_id,
generator.seed(profile_seed);
std::shuffle(t_urls.begin(), t_urls.end(), generator);
@@ -214,6 +205,28 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
return t_urls;
}
-std::vector<std::unique_ptr<TemplateURLData>> GetPrepopulatedTemplateURLData(
+std::vector<std::unique_ptr<TemplateURLData>> GetPrepopulatedTemplateURLDataChromium(
CountryId country_id,
PrefService& prefs) {
if (regional_capabilities::HasSearchEngineCountryListOverride()) {
@@ -115,6 +116,16 @@ std::vector<std::unique_ptr<TemplateURLData>> GetPrepopulatedTemplateURLData(
&PrepopulatedEngineToTemplateURLData);
}
+std::vector<std::unique_ptr<TemplateURLData>> GetPrepopulatedTemplateURLData(
+ CountryId country_id,
+ PrefService& prefs) {
+ std::vector<std::unique_ptr<TemplateURLData>> t_urls =
+ GetPrepopulatedTemplateURLDataChromium(country_id, prefs);
+ t_urls.push_back(TemplateURLDataFromPrepopulatedEngine(googleen));
+ t_urls.push_back(TemplateURLDataFromPrepopulatedEngine(duckduckgo_light));
+ return t_urls;
+}
+
// These values are persisted to logs. Entries should not be renumbered and
// numeric values should never be reused.
enum class SearchProviderOverrideStatus {
diff --git a/components/search_engines/template_url_prepopulate_data.h b/components/search_engines/template_url_prepopulate_data.h
--- a/components/search_engines/template_url_prepopulate_data.h
+++ b/components/search_engines/template_url_prepopulate_data.h
@@ -245,8 +258,8 @@ diff --git a/tools/json_to_struct/json_to_struct.gni b/tools/json_to_struct/json
+
action(action_name) {
visibility = [ ":$source_set_name" ]
script = "//tools/json_to_struct/json_to_struct.py"
@@ -61,6 +66,10 @@ template("json_to_struct") {
script = "//build/gn_run_binary.py"
@@ -63,6 +68,10 @@ template("json_to_struct") {
"--namespace=" + invoker.namespace,
"--schema=" + rebase_path(invoker.schema_file, root_build_dir),
]
@@ -33,14 +33,14 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
.../core/clear_browsing_data_tab.h | 3 +-
components/browsing_data/core/pref_names.cc | 17 ++++
components/browsing_data/core/pref_names.h | 10 +++
components/favicon/core/favicon_database.cc | 12 +++
components/favicon/core/favicon_database.cc | 9 +++
components/favicon/core/favicon_database.h | 2 +
.../search_engines/template_url_service.cc | 1 +
content/browser/btm/btm_service_impl.cc | 2 +-
content/browser/storage_partition_impl.cc | 1 +
.../public/browser/browsing_data_remover.h | 7 +-
.../Add-setting-to-clear-data-on-exit.inc | 8 ++
36 files changed, 409 insertions(+), 33 deletions(-)
36 files changed, 406 insertions(+), 33 deletions(-)
create mode 100644 chrome/android/java/src/org/chromium/chrome/browser/browsing_data/ClearBrowsingDataFragmentAtStart.java
create mode 100644 chrome/browser/ui/android/strings/cromite_android_chrome_strings_grd/Add-setting-to-clear-data-on-exit.grdp
create mode 100644 cromite_flags/chrome/browser/about_flags_cc/Add-setting-to-clear-data-on-exit.inc
@@ -938,13 +938,10 @@ diff --git a/components/favicon/core/favicon_database.cc b/components/favicon/co
// Description of database tables:
//
// icon_mapping
@@ -508,6 +512,14 @@ bool FaviconDatabase::SetFaviconBitmapLastUpdateTime(FaviconBitmapID bitmap_id,
@@ -508,6 +512,11 @@ bool FaviconDatabase::SetFaviconBitmapLastUpdateTime(FaviconBitmapID bitmap_id,
bool FaviconDatabase::SetFaviconsOutOfDateBetween(base::Time begin,
base::Time end) {
+ LOG(INFO) << "---FaviconDatabase::SetFaviconsOutOfDateBetween"
+ << " begin=" << begin << " " << begin.is_null()
+ << " end=" << end << " " << end.is_null();
+ if (begin.is_null() && base::FeatureList::IsEnabled(kClearFaviconsData)) {
+ std::ignore = db_.Execute("DELETE FROM favicon_bitmaps");
+ std::ignore = db_.Execute("DELETE FROM favicons");
@@ -421,8 +421,8 @@ diff --git a/chrome/browser/tabmodel/internal/android/java/src/org/chromium/chro
+ @Override
+ public void setPagesFrozen(boolean frozen) {
+ for (int i = 0; i < mSelectors.size(); i++) {
+ TabModelSelector selector = mSelectors.get(i);
+ for (int i : mWindowIdToSelectors.keySet()) {
+ TabModelSelector selector = mWindowIdToSelectors.get(i);
+ if (selector != null) {
+ selector.setPagesFrozen(frozen);
+ }
@@ -544,7 +544,7 @@ diff --git a/chrome/browser/resources/extensions/manager.ts b/chrome/browser/res
accessor inDevMode: boolean = loadTimeData.getBoolean('inDevMode');
accessor isMv2DeprecationNoticeDismissed: boolean =
loadTimeData.getBoolean('MV2DeprecationNoticeDismissed');
+ isExtUpdateEnabled: boolean =
+ accessor isExtUpdateEnabled: boolean =
+ loadTimeData.getBoolean('isExtUpdateEnabled');
accessor showActivityLog: boolean =
loadTimeData.getBoolean('showActivityLog');
@@ -648,8 +648,8 @@ diff --git a/chrome/browser/resources/extensions/toolbar.ts b/chrome/browser/res
accessor extensions: chrome.developerPrivate.ExtensionInfo[] = [];
accessor delegate: ToolbarDelegate = new DummyToolbarDelegate();
accessor inDevMode: boolean = false;
+ isExtUpdateEnabled: boolean = false;
+ shouldShowRelaunchDialog: boolean = false;
+ accessor isExtUpdateEnabled: boolean = false;
+ accessor shouldShowRelaunchDialog: boolean = false;
accessor devModeControlledByPolicy: boolean = false;
accessor isChildAccount: boolean = false;
@@ -43,7 +43,7 @@ Require: bromite-build-utils.patch
.../BromiteCustomContentSetting.java | 155 +++++++
.../BromiteCustomContentSettingImpl.java | 412 ++++++++++++++++++
...tomTriStateSiteSettingsPreferenceImpl.java | 24 +
.../ContentSettingsResources.java | 16 +-
.../ContentSettingsResources.java | 38 +-
.../site_settings/SingleCategorySettings.java | 54 ++-
.../site_settings/SingleWebsiteSettings.java | 58 ++-
.../site_settings/SiteSettings.java | 33 +-
@@ -84,7 +84,7 @@ Require: bromite-build-utils.patch
.../platform/web_content_settings_client.h | 13 +
.../execution_context/execution_context.cc | 16 +
.../execution_context/execution_context.h | 5 +
73 files changed, 1942 insertions(+), 102 deletions(-)
73 files changed, 1964 insertions(+), 102 deletions(-)
create mode 100644 components/browser_ui/settings/android/java/res/layout/preference_spinner_single_widget.xml
create mode 100644 components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/BromiteCustomContentSetting.java
create mode 100644 components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/BromiteCustomContentSettingImpl.java
@@ -175,7 +175,7 @@ diff --git a/chrome/browser/resources/settings/privacy_page/privacy_page.ts b/ch
+ static getSettingTemplate(template: HTMLTemplateElement,
+ name: string) : SettingsCategoryDefaultRadioGroupElement | undefined {
+ let value : SettingsCategoryDefaultRadioGroupElement | undefined = undefined;
+ let page : any = template.content!.querySelector("settings-animated-pages");
+ let page : any = template.content.querySelector("settings-animated-pages");
+
+ page.querySelectorAll("template")!.forEach(
+ (subTemplate: HTMLTemplateElement) => {
@@ -2192,16 +2192,38 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
private final int mIcon;
private final int mIconBlocked;
private final int mTitle;
@@ -54,7 +54,7 @@ public class ContentSettingsResources {
@@ -54,7 +54,29 @@ public class ContentSettingsResources {
private int mEnabledDescriptionText;
private int mDisabledDescriptionText;
- ResourceItem(
+ public ResourceItem(
+ int icon,
+ int title,
+ @ContentSettingValues @Nullable Integer defaultEnabledValue,
+ @ContentSettingValues @Nullable Integer defaultDisabledValue,
+ int enabledSummary,
+ int disabledSummary,
+ int summaryOverrideForScreenReader) {
+ mIcon = icon;
+ mIconBlocked = 0;
+ mTitle = title;
+ mDefaultEnabledValue = defaultEnabledValue;
+ mDefaultDisabledValue = defaultDisabledValue;
+ mEnabledSummary = enabledSummary;
+ mDisabledSummary = disabledSummary;
+ mSummaryOverrideForScreenReader = summaryOverrideForScreenReader;
+ mEnabledPrimaryText = 0;
+ mDisabledPrimaryText = 0;
+ mEnabledDescriptionText = 0;
+ mDisabledDescriptionText = 0;
+ }
+
+ public ResourceItem(
int icon,
int title,
@ContentSettingValues @Nullable Integer defaultEnabledValue,
@@ -641,6 +641,8 @@ public class ContentSettingsResources {
@@ -641,6 +663,8 @@ public class ContentSettingsResources {
R.string.website_settings_vr_ask,
R.string.website_settings_vr_block);
}
@@ -2210,7 +2232,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
assert false; // NOTREACHED
return assumeNonNull(null);
}
@@ -799,6 +801,14 @@ public class ContentSettingsResources {
@@ -799,6 +823,14 @@ public class ContentSettingsResources {
return getResourceItem(contentType).getDefaultDisabledValue();
}
@@ -2225,7 +2247,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
/**
* Returns the string resource id for a given ContentSetting to show with a permission category.
*
@@ -973,6 +983,8 @@ public class ContentSettingsResources {
@@ -973,6 +1005,8 @@ public class ContentSettingsResources {
*/
public static int @Nullable [] getTriStateSettingDescriptionIDs(
int contentType, boolean isPermissionSiteSettingsRadioButtonFeatureEnabled) {
@@ -8,10 +8,10 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
---
chrome/android/chrome_java_resources.gni | 2 +-
.../android/java/res/xml/main_preferences.xml | 4 +-
.../res/xml/privacy_preferences_cromite.xml | 197 ++++++++++++++++++
.../privacy/settings/PrivacySettings.java | 4 +-
.../res/xml/privacy_preferences_cromite.xml | 192 ++++++++++++++++++
.../privacy/settings/PrivacySettings.java | 12 +-
.../Cromite-settings-ui.grdp | 15 ++
5 files changed, 217 insertions(+), 5 deletions(-)
5 files changed, 217 insertions(+), 8 deletions(-)
create mode 100644 chrome/android/java/res/xml/privacy_preferences_cromite.xml
create mode 100644 chrome/browser/ui/android/strings/cromite_android_chrome_strings_grd/Cromite-settings-ui.grdp
@@ -52,7 +52,7 @@ diff --git a/chrome/android/java/res/xml/privacy_preferences_cromite.xml b/chrom
new file mode 100644
--- /dev/null
+++ b/chrome/android/java/res/xml/privacy_preferences_cromite.xml
@@ -0,0 +1,197 @@
@@ -0,0 +1,192 @@
+<?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
@@ -188,11 +188,6 @@ new file mode 100644
+ android:title="@string/improve_search_suggestions_title"
+ android:summary="@string/improve_search_suggestions_summary"
+ android:persistent="false"/>
+ <Preference
+ android:key="phone_as_a_security_key"
+ android:title="@string/cablev2_paask_title"
+ android:summary="@string/cablev2_paask_body"
+ android:fragment="org.chromium.chrome.browser.webauthn.PrivacySettingsFragment" />
+
+ <!--Always hidden-->
+ <Preference
@@ -262,15 +257,23 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
Preference fpProtectionPreference = findPreference(PREF_FP_PROTECTION);
fpProtectionPreference.setVisible(shouldShowFpProtectionUi());
@@ -241,7 +241,7 @@ public class PrivacySettings extends ChromeBaseSettingsFragment
@@ -239,10 +239,12 @@ public class PrivacySettings extends ChromeBaseSettingsFragment
ChromeSwitchPreference passwordLeakTogglePref =
(ChromeSwitchPreference) findPreference(PREF_PASSWORD_LEAK_DETECTION);
if (ChromeFeatureList.isEnabled(ChromeFeatureList.PASSWORD_LEAK_TOGGLE_MOVE)) {
passwordLeakTogglePref.setOnPreferenceChangeListener(this);
- if (ChromeFeatureList.isEnabled(ChromeFeatureList.PASSWORD_LEAK_TOGGLE_MOVE)) {
- passwordLeakTogglePref.setOnPreferenceChangeListener(this);
- } else {
+ } else if (passwordLeakTogglePref != null) {
passwordLeakTogglePref.setVisible(false);
- passwordLeakTogglePref.setVisible(false);
+ if (passwordLeakTogglePref != null) {
+ if (ChromeFeatureList.isEnabled(ChromeFeatureList.PASSWORD_LEAK_TOGGLE_MOVE)) {
+ passwordLeakTogglePref.setOnPreferenceChangeListener(this);
+ } else {
+ passwordLeakTogglePref.setVisible(false);
+ }
}
mSearchSuggestions = (ChromeSwitchPreference) findPreference(PREF_SEARCH_SUGGESTIONS);
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
@@ -44,7 +44,7 @@ diff --git a/chrome/browser/ui/views/profiles/profile_picker_feature_promo_contr
user_education::FeaturePromoResult
ProfilePickerFeaturePromoController::CanShowPromoForElement(
ui::TrackedElement* anchor_element) const {
+ if ((true)) return false;
+ if ((true)) return user_education::FeaturePromoResult::kBlockedByUi;
return ProfilePicker::IsOpen()
? user_education::FeaturePromoResult::Success()
: user_education::FeaturePromoResult::kBlockedByUi;
@@ -55,7 +55,7 @@ diff --git a/chrome/browser/ui/views/user_education/impl/browser_feature_promo_c
user_education::FeaturePromoResult
BrowserFeaturePromoController20::CanShowPromoForElement(
ui::TrackedElement* anchor_element) const {
+ if ((true)) return false;
+ if ((true)) return user_education::FeaturePromoResult::kBlockedByUi;
// Trying to show an IPH while the browser is closing can cause problems;
// see https://crbug.com/346461762 for an example. This can also crash
// unit_tests that use a BrowserWindow but not a browser, so also check if
@@ -433,7 +433,7 @@ 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(kStorageAccessHeadersTrial);
+// empty file
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
+61 -5
View File
@@ -10,27 +10,30 @@ Also disable FirstPartySets and StorageAccessAPI.
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
---
.../browser/chrome_content_browser_client.cc | 3 +++
.../browser/chrome_content_browser_client.cc | 5 ++++-
.../first_party_sets_navigation_throttle.cc | 2 +-
.../first_party_sets_policy_service.cc | 3 ++-
chrome/browser/prefs/browser_prefs.cc | 2 +-
.../privacy_sandbox_service_impl.cc | 2 +-
.../privacy_sandbox_settings_delegate.cc | 1 +
.../settings/privacy_page/cookies_page.ts | 2 +-
.../privacy_sandbox/privacy_sandbox_prompt.cc | 1 +
.../site_settings/RwsCookieSettings.java | 4 ++--
.../history/core/browser/history_backend.cc | 13 +------------
.../privacy_sandbox_attestations.cc | 2 --
.../privacy_sandbox_features.cc | 4 ++++
.../privacy_sandbox_features.cc | 3 +++
.../privacy_sandbox/privacy_sandbox_prefs.cc | 4 ++--
.../privacy_sandbox_settings_impl.cc | 19 ++++++++++++++-----
.../tracking_protection_prefs.cc | 4 ++--
.../identity_manager/account_capabilities.cc | 2 +-
.../shared_storage_document_service_impl.cc | 9 +++++++++
.../public/browser/content_browser_client.cc | 2 +-
.../features_cc/Disable-privacy-sandbox.inc | 1 +
.../Disable-privacy-sandbox.inc | 1 +
.../features_cc/Disable-privacy-sandbox.inc | 1 +
.../features_cc/Disable-privacy-sandbox.inc | 1 +
third_party/blink/common/features.cc | 1 +
20 files changed, 48 insertions(+), 28 deletions(-)
23 files changed, 52 insertions(+), 33 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/services/network/public/cpp/features_cc/Disable-privacy-sandbox.inc
@@ -49,6 +52,15 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch
Profile* profile = Profile::FromBrowserContext(browser_context);
auto* privacy_sandbox_settings =
@@ -8252,7 +8255,7 @@ bool ChromeContentBrowserClient::ShouldDisableOriginAgentClusterDefault(
}
bool ChromeContentBrowserClient::WillProvidePublicFirstPartySets() {
- return !is_minimal_mode_ &&
+ return ((false)) && !is_minimal_mode_ &&
!base::CommandLine::ForCurrentProcess()->HasSwitch(
switches::kDisableComponentUpdate);
}
diff --git a/chrome/browser/first_party_sets/first_party_sets_navigation_throttle.cc b/chrome/browser/first_party_sets/first_party_sets_navigation_throttle.cc
--- a/chrome/browser/first_party_sets/first_party_sets_navigation_throttle.cc
+++ b/chrome/browser/first_party_sets/first_party_sets_navigation_throttle.cc
@@ -116,6 +128,18 @@ diff --git a/chrome/browser/privacy_sandbox/privacy_sandbox_settings_delegate.cc
auto* identity_manager = IdentityManagerFactory::GetForProfile(profile_);
if (!identity_manager ||
diff --git a/chrome/browser/resources/settings/privacy_page/cookies_page.ts b/chrome/browser/resources/settings/privacy_page/cookies_page.ts
--- a/chrome/browser/resources/settings/privacy_page/cookies_page.ts
+++ b/chrome/browser/resources/settings/privacy_page/cookies_page.ts
@@ -272,7 +272,7 @@ export class SettingsCookiesPageElement extends SettingsCookiesPageElementBase {
}
private relatedWebsiteSetsToggleDisabled_() {
- return this.getPref('profile.cookie_controls_mode').value !==
+ return ((true)) || this.getPref('profile.cookie_controls_mode').value !==
CookieControlsMode.BLOCK_THIRD_PARTY;
}
diff --git a/chrome/browser/ui/privacy_sandbox/privacy_sandbox_prompt.cc b/chrome/browser/ui/privacy_sandbox/privacy_sandbox_prompt.cc
--- a/chrome/browser/ui/privacy_sandbox/privacy_sandbox_prompt.cc
+++ b/chrome/browser/ui/privacy_sandbox/privacy_sandbox_prompt.cc
@@ -126,6 +150,27 @@ diff --git a/chrome/browser/ui/privacy_sandbox/privacy_sandbox_prompt.cc b/chrom
+ if ((true)) return;
ShowPrivacySandboxDialog(browser, prompt_type);
}
diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/RwsCookieSettings.java b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/RwsCookieSettings.java
--- a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/RwsCookieSettings.java
+++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/RwsCookieSettings.java
@@ -135,7 +135,7 @@ public class RwsCookieSettings extends BaseSiteSettingsFragment
mAllowRwsPreference.setChecked(
getSiteSettingsDelegate().isRelatedWebsiteSetsDataAccessEnabled());
- if (!isBlockThirdPartyCookieSelected()) {
+ if (((true)) || !isBlockThirdPartyCookieSelected()) {
mAllowRwsPreference.setEnabled(false);
}
mAllowRwsPreference.setOnPreferenceChangeListener(this);
@@ -151,7 +151,7 @@ public class RwsCookieSettings extends BaseSiteSettingsFragment
public boolean onPreferenceChange(Preference preference, Object newValue) {
String key = preference.getKey();
if (ALLOW_RWS_COOKIE_PREFERENCE.equals(key)) {
- getSiteSettingsDelegate().setRelatedWebsiteSetsDataAccessEnabled((boolean) newValue);
+ getSiteSettingsDelegate().setRelatedWebsiteSetsDataAccessEnabled((boolean) false);
} else {
assert false : "Should not be reached";
}
diff --git a/components/history/core/browser/history_backend.cc b/components/history/core/browser/history_backend.cc
--- a/components/history/core/browser/history_backend.cc
+++ b/components/history/core/browser/history_backend.cc
@@ -164,14 +209,13 @@ diff --git a/components/privacy_sandbox/privacy_sandbox_attestations/privacy_san
diff --git a/components/privacy_sandbox/privacy_sandbox_features.cc b/components/privacy_sandbox/privacy_sandbox_features.cc
--- a/components/privacy_sandbox/privacy_sandbox_features.cc
+++ b/components/privacy_sandbox/privacy_sandbox_features.cc
@@ -288,4 +288,8 @@ BASE_FEATURE(kPrivacySandboxMigratePrefsToSchemaV2,
@@ -288,4 +288,7 @@ BASE_FEATURE(kPrivacySandboxMigratePrefsToSchemaV2,
BASE_FEATURE(kPrivacySandboxFirstTimeNoticeV2,
"PrivacySandboxFirstTimeNoticeV2",
base::FEATURE_DISABLED_BY_DEFAULT);
+SET_CROMITE_FEATURE_DISABLED(kPrivacySandboxSettings4);
+SET_CROMITE_FEATURE_ENABLED(kDisablePrivacySandboxPrompts);
+SET_CROMITE_FEATURE_DISABLED(kEnforcePrivacySandboxAttestations);
+SET_CROMITE_FEATURE_DISABLED(kPrivacySandboxFirstPartySetsUI);
} // namespace privacy_sandbox
diff --git a/components/privacy_sandbox/privacy_sandbox_prefs.cc b/components/privacy_sandbox/privacy_sandbox_prefs.cc
--- a/components/privacy_sandbox/privacy_sandbox_prefs.cc
@@ -318,6 +362,18 @@ diff --git a/content/browser/shared_storage/shared_storage_document_service_impl
// `CreateWorklet()` cannot differentiate between calls from addModule() and
// createWorklet(). Hence, we skip the mojom validation for opaque origin
// context for addModule().
diff --git a/content/public/browser/content_browser_client.cc b/content/public/browser/content_browser_client.cc
--- a/content/public/browser/content_browser_client.cc
+++ b/content/public/browser/content_browser_client.cc
@@ -1677,7 +1677,7 @@ bool ContentBrowserClient::ShouldPreconnectNavigation(
}
bool ContentBrowserClient::IsFirstPartySetsEnabled() {
- return true;
+ return false;
}
bool ContentBrowserClient::WillProvidePublicFirstPartySets() {
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
+105 -7
View File
@@ -4,18 +4,19 @@ Subject: Disable safety check
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
chrome/android/BUILD.gn | 5 ---
chrome/android/BUILD.gn | 5 --
chrome/android/chrome_java_sources.gni | 1 -
.../android/java/res/xml/main_preferences.xml | 3 +-
.../settings/FragmentDependencyProvider.java | 32 -------------------
.../PasswordCheckupLauncher.java | 57 +------------------
.../settings/FragmentDependencyProvider.java | 32 -----------
.../chrome/browser/settings/MainSettings.java | 2 +-
.../settings/SettingsNavigationImpl.java | 13 ++------
.../settings/SettingsNavigationImpl.java | 13 +----
chrome/browser/BUILD.gn | 1 -
.../suggestions/action/OmniboxPedal.java | 3 --
.../suggestions/action/OmniboxPedal.java | 3 -
chrome/browser/ui/tab_helpers.cc | 2 +-
.../site_settings/SiteSettings.java | 2 +-
.../Disable-safety-check.inc | 1 +
11 files changed, 8 insertions(+), 57 deletions(-)
12 files changed, 9 insertions(+), 113 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
@@ -29,7 +30,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
"//chrome/browser/safety_hub/android:java",
"//chrome/browser/screenshot_monitor:java",
"//chrome/browser/search_engines/android:java",
@@ -1090,8 +1089,6 @@ if (current_toolchain == default_toolchain) {
@@ -1092,8 +1091,6 @@ if (current_toolchain == default_toolchain) {
"//chrome/browser/recent_tabs:junit",
"//chrome/browser/recent_tabs/internal:junit",
"//chrome/browser/safe_browsing/android:junit",
@@ -38,7 +39,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
"//chrome/browser/search_engines/android:junit",
"//chrome/browser/search_resumption:junit",
"//chrome/browser/signin/services/android:junit",
@@ -1366,8 +1363,6 @@ if (current_toolchain == default_toolchain) {
@@ -1368,8 +1365,6 @@ if (current_toolchain == default_toolchain) {
"//chrome/browser/quick_delete:javatests",
"//chrome/browser/renderer_host/android:javatests",
"//chrome/browser/safe_browsing/android:javatests",
@@ -71,6 +72,103 @@ diff --git a/chrome/android/java/res/xml/main_preferences.xml b/chrome/android/j
<Preference
android:fragment="org.chromium.chrome.browser.safety_hub.SafetyHubFragment"
android:key="safety_hub"
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/password_manager/PasswordCheckupLauncher.java b/chrome/android/java/src/org/chromium/chrome/browser/password_manager/PasswordCheckupLauncher.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/password_manager/PasswordCheckupLauncher.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/password_manager/PasswordCheckupLauncher.java
@@ -18,7 +18,6 @@ import org.chromium.base.supplier.ObservableSupplierImpl;
import org.chromium.chrome.browser.flags.ChromeFeatureList;
import org.chromium.chrome.browser.password_check.PasswordCheckFactory;
import org.chromium.chrome.browser.profiles.Profile;
-import org.chromium.chrome.browser.safety_check.SafetyCheckSettingsFragment;
import org.chromium.chrome.browser.settings.SettingsCustomTabLauncherImpl;
import org.chromium.chrome.browser.settings.SettingsNavigationFactory;
import org.chromium.chrome.browser.sync.SyncServiceFactory;
@@ -32,8 +31,6 @@ public class PasswordCheckupLauncher {
@CalledByNative
private static void launchCheckupOnlineWithWindowAndroid(
@JniType("std::string") String checkupUrl, WindowAndroid windowAndroid) {
- if (windowAndroid.getContext().get() == null) return; // Window not available yet/anymore.
- launchCheckupOnlineWithActivity(checkupUrl, windowAndroid.getActivity().get());
}
@CalledByNative
@@ -42,75 +39,23 @@ public class PasswordCheckupLauncher {
WindowAndroid windowAndroid,
@PasswordCheckReferrer int passwordCheckReferrer,
@Nullable String accountEmail) {
- assert accountEmail == null || !accountEmail.isEmpty();
- if (windowAndroid.getContext().get() == null) return; // Window not available yet/anymore.
- assert profile != null;
-
- PasswordManagerHelper passwordManagerHelper = PasswordManagerHelper.getForProfile(profile);
- if (ChromeFeatureList.isEnabled(ChromeFeatureList.LOGIN_DB_DEPRECATION_ANDROID)) {
- // This is invoked from the leak dialog if the compromised password is saved for other
- // sites. After the login DB deprecation, this code path is guaranteed to only be
- // executed for users with access to UPM, since they are the only ones with saved
- // passwords.
- passwordManagerHelper.showPasswordCheckup(
- windowAndroid.getContext().get(),
- passwordCheckReferrer,
- getModalDialogManagerSupplier(windowAndroid),
- accountEmail,
- new SettingsCustomTabLauncherImpl());
- return;
- }
-
- // Force instantiation of GMSCore password check if GMSCore update is required. Password
- // check launch will fail and instead show the blocking dialog with the suggestion to
- // update.
- if (passwordManagerHelper.canUseUpm()
- || PasswordManagerUtilBridge.isGmsCoreUpdateRequired(
- UserPrefs.get(profile), SyncServiceFactory.getForProfile(profile))) {
- passwordManagerHelper.showPasswordCheckup(
- windowAndroid.getContext().get(),
- passwordCheckReferrer,
- getModalDialogManagerSupplier(windowAndroid),
- accountEmail,
- new SettingsCustomTabLauncherImpl());
- return;
- }
-
- PasswordCheckFactory.getOrCreate()
- .showUi(windowAndroid.getContext().get(), passwordCheckReferrer);
}
@CalledByNative
private static void launchCheckupOnlineWithActivity(
@JniType("std::string") String checkupUrl, Activity activity) {
- if (tryLaunchingNativePasswordCheckup(activity)) return;
- Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(checkupUrl));
- intent.setPackage(activity.getPackageName());
- activity.startActivity(intent);
}
@CalledByNative
static void launchSafetyCheck(WindowAndroid windowAndroid) {
- if (windowAndroid.getContext().get() == null) return; // Window not available yet/anymore.
- SettingsNavigationFactory.createSettingsNavigation()
- .startSettings(
- windowAndroid.getContext().get(),
- SafetyCheckSettingsFragment.class,
- SafetyCheckSettingsFragment.createBundle(true));
}
@CalledByNative
static void launchSafetyHub(WindowAndroid windowAndroid) {
- if (windowAndroid.getContext().get() == null) return; // Window not available yet/anymore.
- SettingsNavigationFactory.createSettingsNavigation()
- .startSettings(windowAndroid.getContext().get(), SettingsFragment.SAFETY_CHECK);
}
private static boolean tryLaunchingNativePasswordCheckup(Activity activity) {
- GooglePasswordManagerUIProvider googlePasswordManagerUiProvider =
- ServiceLoaderUtil.maybeCreate(GooglePasswordManagerUIProvider.class);
- if (googlePasswordManagerUiProvider == null) return false;
- return googlePasswordManagerUiProvider.launchPasswordCheckup(activity);
+ return false;
}
private static ObservableSupplier<ModalDialogManager> getModalDialogManagerSupplier(
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/FragmentDependencyProvider.java b/chrome/android/java/src/org/chromium/chrome/browser/settings/FragmentDependencyProvider.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/settings/FragmentDependencyProvider.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/settings/FragmentDependencyProvider.java
@@ -68,7 +68,7 @@ diff --git a/net/http/http_cache.cc b/net/http/http_cache.cc
if (is_initiator_cross_site) {
- is_cross_site_main_frame_navigation_prefix =
- kCrossSiteMainFrameNavigationPrefix;
+ DLOG(INFO) << "---initiator_site cs=" << base::StrCat({"ni_", initiator_site.Serialize(), " "});
+ // LOG(INFO) << "---initiator_site cs=" << base::StrCat({"ni_", initiator->Serialize(), " "});
+ return "";
}
}
@@ -81,7 +81,7 @@ diff --git a/net/http/http_cache.cc b/net/http/http_cache.cc
+ auto key = base::StringPrintf("%c/%" PRId64 "/%s%s", credential_key,
upload_data_identifier, isolation_key.c_str(),
HttpUtil::SpecForRequest(url).c_str());
+ DLOG(INFO) << "---key=" << key;
+ // LOG(INFO) << "---key=" << key;
+ return key;
}
@@ -16,7 +16,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
.../chrome_browser_interface_binders_webui.cc | 21 ++
chrome/browser/resources/BUILD.gn | 6 +
chrome/browser/resources/settings/BUILD.gn | 2 +-
.../resources/settings/page_visibility.ts | 40 ++-
.../resources/settings/page_visibility.ts | 36 ++-
.../search_engine_edit_dialog.html | 6 +
.../search_engine_edit_dialog.ts | 6 +-
.../search_engines_browser_proxy.ts | 8 +-
@@ -77,7 +77,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
ui/webui/resources/images/BUILD.gn | 2 +-
ui/webui/resources/js/BUILD.gn | 2 +-
ui/webui/resources/js/load_time_data.ts | 17 +-
70 files changed, 1156 insertions(+), 69 deletions(-)
70 files changed, 1152 insertions(+), 69 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
@@ -524,18 +524,14 @@ diff --git a/chrome/browser/resources/settings/BUILD.gn b/chrome/browser/resourc
diff --git a/chrome/browser/resources/settings/page_visibility.ts b/chrome/browser/resources/settings/page_visibility.ts
--- a/chrome/browser/resources/settings/page_visibility.ts
+++ b/chrome/browser/resources/settings/page_visibility.ts
@@ -42,8 +42,46 @@ export interface PrivacyPageVisibility {
@@ -42,8 +42,42 @@ export interface PrivacyPageVisibility {
searchPrediction: boolean;
}
+const isAndroid = (loadTimeData.getString('chromeAndroid') !== "");
+if (isAndroid) {
+ // @ts-expect-error
+ chrome.autofillPrivate = {
+ isUserEligibleForAutofillImprovements(): Promise<boolean> {
+ return Promise.resolve(false);
+ }
+ };
+ chrome.autofillPrivate = {};
+
+ // @ts-expect-error
+ chrome.languageSettingsPrivate = {};
+2 -2
View File
@@ -140,7 +140,7 @@ new file mode 100644
+ android:layout_width ="match_parent"
+ app:cornerRadiusTopEnd="14dp"
+ app:cornerRadiusTopStart="14dp"
+ app:roundedfillColor="@color/sheet_bg_color_baseline"
+ app:roundedfillColor="@macro/sheet_container_bg_color"
+ app:srcCompat="@drawable/ic_launcher"/>
+
+ <LinearLayout
@@ -148,7 +148,7 @@ new file mode 100644
+ android:layout_height="wrap_content"
+ android:paddingBottom="32dp"
+ android:orientation="vertical"
+ android:background="@color/sheet_bg_color_baseline">
+ android:background="@macro/sheet_container_bg_color">
+
+ <TextView
+ android:layout_width="match_parent"
@@ -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 | 93 ++
.../user_scripts/FragmentWindowAndroid.java | 96 +++
.../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, 9351 insertions(+), 2 deletions(-)
108 files changed, 9354 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
@@ -239,7 +239,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
":chrome_base_module_resources",
":ui_locale_string_resources",
"//chrome/android/webapk/libs/common:splash_resources",
@@ -677,6 +681,7 @@ if (current_toolchain == default_toolchain) {
@@ -679,6 +683,7 @@ if (current_toolchain == default_toolchain) {
"//components/ukm/android:java",
"//components/url_formatter/android:url_formatter_java",
"//components/user_prefs/android:java",
@@ -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,93 @@
@@ -0,0 +1,96 @@
+// 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,8 +1409,11 @@ new file mode 100644
+ }
+
+ FragmentWindowAndroid(Context context, Fragment fragment, @Nullable InsetObserver insetObserver) {
+ super(context, IntentRequestTracker.createFromDelegate(new TrackerDelegateImpl(fragment)),
+ insetObserver, /* trackOcclusion= */ true);
+ super(context,
+ /*activityTopResumedSupported*/ false,
+ IntentRequestTracker.createFromDelegate(new TrackerDelegateImpl(fragment)),
+ insetObserver,
+ /* trackOcclusion= */ true);
+ mFragment = fragment;
+
+ setKeyboardDelegate(new ActivityKeyboardVisibilityDelegate(getActivity()));
@@ -16,7 +16,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../history/history_service_factory.cc | 2 +
chrome/browser/profiles/profile_impl.cc | 1 +
.../settings/privacy_page/privacy_page.html | 9 +++
.../settings/privacy_page/privacy_page.ts | 17 +++++
.../settings/privacy_page/privacy_page.ts | 18 ++++++
.../strings/android_chrome_strings.grd | 12 ++++
.../settings_localized_strings_provider.cc | 5 ++
.../preference_spinner_single_line.xml | 26 ++++++--
@@ -34,7 +34,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
components/history/core/common/pref_names.h | 1 +
components/history_embeddings/sql_database.cc | 2 +-
.../omnibox/browser/shortcuts_backend.cc | 4 +-
24 files changed, 260 insertions(+), 14 deletions(-)
24 files changed, 261 insertions(+), 14 deletions(-)
create mode 100644 components/cromite_components_strings_grd/History-number-of-days-privacy-setting.grdp
diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/android/java/res/xml/privacy_preferences.xml
@@ -244,6 +244,14 @@ diff --git a/chrome/browser/resources/settings/privacy_page/privacy_page.ts b/ch
isGuest_: {
type: Boolean,
value() {
@@ -365,6 +382,7 @@ export class SettingsPrivacyPageElement extends SettingsPrivacyPageElementBase {
};
}
+ private historyExpireDaysThresholdOptions_: object[];
private isGuest_: boolean;
private showPersistentPermissions_: boolean;
private showClearBrowsingDataDialog_: boolean;
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
@@ -908,7 +908,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/layo
bottomSheetController,
- shareDelegateSupplier);
+ shareDelegateSupplier,
+ /*browserControlsManagerSupplier*/ () -> getBrowserControlsManager()
+ /*browserControlsManagerSupplier*/ () -> getBrowserControlsManager());
addSceneOverlay(mTabStripLayoutHelperManager);
addObserver(mTabStripLayoutHelperManager.getTabSwitcherObserver());
mDesktopWindowStateManager = desktopWindowStateManager;
@@ -17,14 +17,12 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../core/html/parser/html_srcset_parser.cc | 3 +-
.../core/inspector/inspector_network_agent.cc | 2 +-
.../core/inspector/inspector_page_agent.cc | 2 +-
.../core/loader/frame_fetch_context.cc | 2 +
.../renderer/core/loader/image_loader.cc | 3 +-
.../core/loader/worker_fetch_context.cc | 3 +
.../platform/loader/fetch/memory_cache.cc | 8 +--
.../platform/loader/fetch/memory_cache.h | 5 +-
.../platform/loader/fetch/resource_fetcher.cc | 57 ++++++++++++++++---
.../platform/loader/fetch/resource_fetcher.h | 7 ++-
10 files changed, 69 insertions(+), 23 deletions(-)
8 files changed, 64 insertions(+), 23 deletions(-)
diff --git a/third_party/blink/renderer/core/html/parser/html_srcset_parser.cc b/third_party/blink/renderer/core/html/parser/html_srcset_parser.cc
--- a/third_party/blink/renderer/core/html/parser/html_srcset_parser.cc
@@ -63,18 +61,6 @@ diff --git a/third_party/blink/renderer/core/inspector/inspector_page_agent.cc b
}
if (!cached_resource) {
cached_resource = loader->ResourceForURL(url);
diff --git a/third_party/blink/renderer/core/loader/frame_fetch_context.cc b/third_party/blink/renderer/core/loader/frame_fetch_context.cc
--- a/third_party/blink/renderer/core/loader/frame_fetch_context.cc
+++ b/third_party/blink/renderer/core/loader/frame_fetch_context.cc
@@ -866,6 +866,8 @@ void FrameFetchContext::PopulateResourceRequestBeforeCacheAccess(
if (document_loader_->ForceFetchCacheMode()) {
request.SetCacheMode(*document_loader_->ForceFetchCacheMode());
}
+ if (!request.TopFrameOrigin())
+ request.SetTopFrameOrigin(GetTopFrameOrigin());
// ResourceFetcher::DidLoadResourceFromMemoryCache() may call out in such a
// way that the AttributionSupport is needed.
if (const AttributionSrcLoader* attribution_src_loader =
diff --git a/third_party/blink/renderer/core/loader/image_loader.cc b/third_party/blink/renderer/core/loader/image_loader.cc
--- a/third_party/blink/renderer/core/loader/image_loader.cc
+++ b/third_party/blink/renderer/core/loader/image_loader.cc
@@ -88,19 +74,6 @@ diff --git a/third_party/blink/renderer/core/loader/image_loader.cc b/third_part
if (resource && !resource->ErrorOccurred() &&
CanReuseFromListOfAvailableImages(
diff --git a/third_party/blink/renderer/core/loader/worker_fetch_context.cc b/third_party/blink/renderer/core/loader/worker_fetch_context.cc
--- a/third_party/blink/renderer/core/loader/worker_fetch_context.cc
+++ b/third_party/blink/renderer/core/loader/worker_fetch_context.cc
@@ -260,6 +260,9 @@ void WorkerFetchContext::AddResourceTiming(
void WorkerFetchContext::ModifyRequestForMixedContentUpgrade(
ResourceRequest& request) {
+ if (!request.TopFrameOrigin())
+ request.SetTopFrameOrigin(GetTopFrameOrigin());
+
MixedContentChecker::UpgradeInsecureRequest(
request, &GetResourceFetcherProperties().GetFetchClientSettingsObject(),
global_scope_, mojom::blink::RequestContextFrameType::kNone,
diff --git a/third_party/blink/renderer/platform/loader/fetch/memory_cache.cc b/third_party/blink/renderer/platform/loader/fetch/memory_cache.cc
--- a/third_party/blink/renderer/platform/loader/fetch/memory_cache.cc
+++ b/third_party/blink/renderer/platform/loader/fetch/memory_cache.cc
@@ -10,12 +10,12 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
.../renderer_host/render_frame_host_impl.cc | 2 +
.../Partition-blobs-by-top-frame-URL.inc | 1 +
storage/browser/blob/blob_url_store_impl.cc | 71 ++++++++++++++++++-
storage/browser/blob/blob_url_store_impl.cc | 73 ++++++++++++++++++-
storage/browser/blob/blob_url_store_impl.h | 13 ++++
storage/browser/blob/features.cc | 1 +
.../public/mojom/blob/blob_url_store.mojom | 8 ++-
.../public/mojom/blob/blob_url_store.mojom | 8 +-
.../core/fileapi/public_url_manager.cc | 17 +++++
7 files changed, 110 insertions(+), 3 deletions(-)
7 files changed, 112 insertions(+), 3 deletions(-)
create mode 100644 cromite_flags/third_party/blink/common/features_cc/Partition-blobs-by-top-frame-URL.inc
diff --git a/content/browser/renderer_host/render_frame_host_impl.cc b/content/browser/renderer_host/render_frame_host_impl.cc
@@ -39,7 +39,7 @@ new file mode 100644
diff --git a/storage/browser/blob/blob_url_store_impl.cc b/storage/browser/blob/blob_url_store_impl.cc
--- a/storage/browser/blob/blob_url_store_impl.cc
+++ b/storage/browser/blob/blob_url_store_impl.cc
@@ -21,6 +21,16 @@
@@ -21,6 +21,18 @@
namespace storage {
@@ -52,11 +52,13 @@ diff --git a/storage/browser/blob/blob_url_store_impl.cc b/storage/browser/blob/
+ BlobUrlRegistry::MappingStatus mapping_status) {
+ return false;
+}
+
+}
+
// Self deletes when the last binding to it is closed.
class BlobURLTokenImpl : public blink::mojom::BlobURLToken {
public:
@@ -93,6 +103,30 @@ BlobURLStoreImpl::~BlobURLStoreImpl() {
@@ -93,6 +105,30 @@ BlobURLStoreImpl::~BlobURLStoreImpl() {
}
}
@@ -87,7 +89,7 @@ diff --git a/storage/browser/blob/blob_url_store_impl.cc b/storage/browser/blob/
void BlobURLStoreImpl::Register(
mojo::PendingRemote<blink::mojom::Blob> blob,
const GURL& url,
@@ -107,6 +141,14 @@ void BlobURLStoreImpl::Register(
@@ -107,6 +143,14 @@ void BlobURLStoreImpl::Register(
return;
}
@@ -102,7 +104,7 @@ diff --git a/storage/browser/blob/blob_url_store_impl.cc b/storage/browser/blob/
if (registry_)
registry_->AddUrlMapping(url, std::move(blob), storage_key_,
renderer_origin_, render_process_host_id_,
@@ -127,21 +169,32 @@ void BlobURLStoreImpl::Revoke(const GURL& url) {
@@ -127,21 +171,32 @@ void BlobURLStoreImpl::Revoke(const GURL& url) {
void BlobURLStoreImpl::ResolveAsURLLoaderFactory(
const GURL& url,
mojo::PendingReceiver<network::mojom::URLLoaderFactory> receiver,
@@ -136,7 +138,7 @@ diff --git a/storage/browser/blob/blob_url_store_impl.cc b/storage/browser/blob/
if (registry_->IsUrlMapped(BlobUrlUtils::ClearUrlFragment(url),
storage_key_) ==
BlobUrlRegistry::MappingStatus::kNotMappedCrossPartitionSameOrigin) {
@@ -150,6 +203,7 @@ void BlobURLStoreImpl::FinishResolveAsURLLoaderFactory(
@@ -150,6 +205,7 @@ void BlobURLStoreImpl::FinishResolveAsURLLoaderFactory(
features::kBlockCrossPartitionBlobUrlFetching) &&
!partitioning_disabled_by_policy_;
if (feature_and_policy_check && !has_storage_access_handle) {
@@ -144,7 +146,7 @@ diff --git a/storage/browser/blob/blob_url_store_impl.cc b/storage/browser/blob/
partitioning_blob_url_closure_.Run(url,
blink::mojom::PartitioningBlobURLInfo::
kBlockedCrossPartitionFetching);
@@ -162,6 +216,12 @@ void BlobURLStoreImpl::FinishResolveAsURLLoaderFactory(
@@ -162,6 +218,12 @@ void BlobURLStoreImpl::FinishResolveAsURLLoaderFactory(
partitioning_blob_url_closure_.Run(url, std::nullopt);
}
@@ -157,16 +159,15 @@ diff --git a/storage/browser/blob/blob_url_store_impl.cc b/storage/browser/blob/
BlobURLLoaderFactory::Create(registry_->GetBlobFromUrl(url), url,
std::move(receiver));
// When a fragment URL is present, registry_->GetUnsafeAgentClusterID(url) and
@@ -175,6 +235,8 @@ void BlobURLStoreImpl::FinishResolveAsURLLoaderFactory(
void BlobURLStoreImpl::ResolveAsBlobURLToken(
@@ -176,12 +238,15 @@ void BlobURLStoreImpl::ResolveAsBlobURLToken(
const GURL& url,
mojo::PendingReceiver<blink::mojom::BlobURLToken> token,
bool is_top_level_navigation,
+ const base::UnguessableToken& unsafe_agent_cluster_id,
+ const std::optional<net::SchemefulSite>& unsafe_top_level_site,
bool is_top_level_navigation,
ResolveAsBlobURLTokenCallback callback) {
if (!registry_) {
@@ -182,6 +244,7 @@ void BlobURLStoreImpl::ResolveAsBlobURLToken(
std::move(callback).Run(std::nullopt);
return;
}
FinishResolveAsBlobURLToken(url, std::move(token), is_top_level_navigation,
@@ -174,7 +175,7 @@ diff --git a/storage/browser/blob/blob_url_store_impl.cc b/storage/browser/blob/
std::move(callback),
storage_access_check_callback_.Run());
}
@@ -190,8 +253,14 @@ void BlobURLStoreImpl::FinishResolveAsBlobURLToken(
@@ -190,8 +255,14 @@ void BlobURLStoreImpl::FinishResolveAsBlobURLToken(
const GURL& url,
mojo::PendingReceiver<blink::mojom::BlobURLToken> token,
bool is_top_level_navigation,
@@ -23,7 +23,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../net/system_network_context_manager.cc | 4 +
chrome/browser/renderer_preferences_util.cc | 1 +
.../settings/privacy_page/privacy_page.html | 10 +++
.../settings/privacy_page/privacy_page.ts | 17 ++++
.../settings/privacy_page/privacy_page.ts | 18 ++++
.../strings/android_chrome_strings.grd | 24 +++++
chrome/browser/ui/prefs/pref_watcher.cc | 2 +
chrome/browser/ui/prefs/prefs_tab_helper.cc | 2 +
@@ -34,7 +34,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../renderer_host/navigation_request.cc | 9 ++
.../network/public/cpp/resource_request.h | 2 +-
.../renderer_preferences.h | 1 +
23 files changed, 372 insertions(+), 1 deletion(-)
23 files changed, 373 insertions(+), 1 deletion(-)
create mode 100644 chrome/android/java/res/layout/radio_button_group_referer_policy_preference.xml
create mode 100644 chrome/android/java/res/xml/referer_policy_preferences.xml
create mode 100644 chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/RadioButtonGroupRefererSettings.java
@@ -464,7 +464,15 @@ diff --git a/chrome/browser/resources/settings/privacy_page/privacy_page.ts b/ch
isGuest_: {
type: Boolean,
value() {
@@ -518,6 +529,12 @@ export class SettingsPrivacyPageElement extends SettingsPrivacyPageElementBase {
@@ -407,6 +418,7 @@ export class SettingsPrivacyPageElement extends SettingsPrivacyPageElementBase {
private isPrivacySandboxRestrictedNoticeEnabled_: boolean;
private enableAutomaticFullscreenContentSetting_: boolean;
private enablePermissionSiteSettingsRadioButton_: boolean;
+ private referersPolicyOptions_: object[];
private privateStateTokensEnabled_: boolean;
private autoPictureInPictureEnabled_: boolean;
private capturedSurfaceControlEnabled_: boolean;
@@ -519,6 +531,12 @@ export class SettingsPrivacyPageElement extends SettingsPrivacyPageElementBase {
Router.getInstance().navigateTo(routes.TRACKING_PROTECTION);
}
@@ -27,7 +27,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
...em_webview_bundle.AndroidManifest.expected | 5 -
build/android/gyp/proguard.py | 2 +
build/config/android/config.gni | 4 +-
chrome/android/BUILD.gn | 34 +-
chrome/android/BUILD.gn | 32 +-
chrome/android/chrome_java_sources.gni | 5 -
chrome/android/java/AndroidManifest.xml | 50 --
.../browser/ChromeBackgroundService.java | 10 +-
@@ -72,12 +72,12 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../caf/BaseSessionController.java | 112 +--
.../caf/CafBaseMediaRouteProvider.java | 113 +--
.../caf/CafMediaRouteProvider.java | 21 -
.../media_router/caf/CafMessageHandler.java | 104 +--
.../media_router/caf/CafMessageHandler.java | 106 +--
.../media_router/caf/CastMediaSource.java | 10 +-
.../media_router/caf/CastOptionsProvider.java | 21 +-
.../caf/CastSessionController.java | 87 ---
.../media_router/caf/CastUtils.java | 8 -
.../CafExpandedControllerActivity.java | 37 +-
.../CafExpandedControllerActivity.java | 46 +-
.../CafRemotingMediaRouteProvider.java | 4 +-
.../remoting/FlingingControllerAdapter.java | 96 ---
.../caf/remoting/RemotingMediaSource.java | 8 +-
@@ -88,7 +88,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../components/omnibox/OmniboxFeatures.java | 8 -
components/signin/public/android/BUILD.gn | 3 -
components/webauthn/android/BUILD.gn | 15 +-
.../webauthn/AuthenticatorImpl.java | 81 +-
.../webauthn/AuthenticatorImpl.java | 81 +--
.../webauthn/ConditionalUiState.java | 15 +
.../components/webauthn/GmsCoreUtils.java | 28 +-
.../webauthn/WebauthnModeProvider.java | 15 -
@@ -96,19 +96,19 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../cred_man/CredManMetricsHelper.java | 2 +-
.../push_messaging/push_messaging_manager.cc | 2 +-
content/public/android/BUILD.gn | 5 -
.../webid/IdentityCredentialsDelegate.java | 79 +-
.../webid/IdentityCredentialsDelegate.java | 87 +--
content/test/BUILD.gn | 4 -
device/BUILD.gn | 3 -
device/fido/features.cc | 1 +
services/BUILD.gn | 9 -
services/device/geolocation/BUILD.gn | 4 -
services/shape_detection/BUILD.gn | 2 -
third_party/android_deps/BUILD.gn | 701 +-----------------
third_party/android_deps/BUILD.gn | 663 +-----------------
.../preconditions/javatests/BUILD.gn | 1 -
.../gms/ChromiumPlayServicesAvailability.java | 10 +-
third_party/androidx/customizations.gni | 14 +-
third_party/cardboard/BUILD.gn | 4 -
84 files changed, 118 insertions(+), 2202 deletions(-)
84 files changed, 120 insertions(+), 2179 deletions(-)
create mode 100644 components/webauthn/android/java/src/org/chromium/components/webauthn/ConditionalUiState.java
diff --git a/android_webview/expectations/system_webview_bundle.AndroidManifest.expected b/android_webview/expectations/system_webview_bundle.AndroidManifest.expected
@@ -177,16 +177,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
"//base:content_uri_utils_java",
"//base:service_loader_java",
"//base/version_info/android:version_constants_java",
@@ -610,8 +602,6 @@ if (current_toolchain == default_toolchain) {
"//components/feed/core/proto:proto_java_v2",
"//components/feed/core/v2:feedv2_core_java",
"//components/find_in_page/android:java",
- "//components/gcm_driver/android:gcm_driver_java",
- "//components/gcm_driver/instance_id/android:instance_id_driver_java",
"//components/image_fetcher:java",
"//components/infobars/android:infobar_android_enums_java",
"//components/infobars/android:java",
@@ -721,11 +711,20 @@ if (current_toolchain == default_toolchain) {
@@ -721,11 +713,20 @@ if (current_toolchain == default_toolchain) {
"//services/shape_detection:shape_detection_java",
"//services/shape_detection/public/mojom:mojom_java",
"//skia/public/mojom:mojom_java",
@@ -209,7 +200,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
"//third_party/android_deps:protobuf_lite_runtime_java",
"//third_party/android_media:android_media_java",
"//third_party/android_swipe_refresh:android_swipe_refresh_java",
@@ -1906,7 +1905,6 @@ if (current_toolchain == default_toolchain) {
@@ -1906,7 +1907,6 @@ if (current_toolchain == default_toolchain) {
]
deps = [
":chrome_java",
@@ -217,7 +208,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
"//base:base_java",
"//base:base_java_test_support",
"//build/android:build_java",
@@ -2010,7 +2008,6 @@ if (current_toolchain == default_toolchain) {
@@ -2010,7 +2010,6 @@ if (current_toolchain == default_toolchain) {
# is in a DFM.
android_library("base_module_java") {
sources = [
@@ -225,7 +216,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
"java/src/org/chromium/chrome/app/TrichromeZygotePreload.java",
"java/src/org/chromium/chrome/browser/ChromeBackgroundService.java",
"java/src/org/chromium/chrome/browser/DeferredStartupHandler.java",
@@ -2027,8 +2024,6 @@ if (current_toolchain == default_toolchain) {
@@ -2027,8 +2026,6 @@ if (current_toolchain == default_toolchain) {
"java/src/org/chromium/chrome/browser/base/SplitCompatBackupAgent.java",
"java/src/org/chromium/chrome/browser/base/SplitCompatContentProvider.java",
"java/src/org/chromium/chrome/browser/base/SplitCompatCustomTabsService.java",
@@ -234,7 +225,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
"java/src/org/chromium/chrome/browser/base/SplitCompatIntentService.java",
"java/src/org/chromium/chrome/browser/base/SplitCompatJobService.java",
"java/src/org/chromium/chrome/browser/base/SplitCompatMinidumpUploadJobService.java",
@@ -2054,15 +2049,10 @@ if (current_toolchain == default_toolchain) {
@@ -2054,15 +2051,10 @@ if (current_toolchain == default_toolchain) {
"java/src/org/chromium/chrome/browser/photo_picker/DecoderService.java",
"java/src/org/chromium/chrome/browser/provider/ChromeBrowserProvider.java",
"java/src/org/chromium/chrome/browser/provider/PageContentProvider.java",
@@ -250,7 +241,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
"//base:base_java",
"//chrome/browser/autofill/android:third_party_provider_java",
"//chrome/browser/download/android:file_provider_java",
@@ -2077,7 +2067,6 @@ if (current_toolchain == default_toolchain) {
@@ -2077,7 +2069,6 @@ if (current_toolchain == default_toolchain) {
"//components/media_router/browser/android:cast_options_provider_java",
"//components/minidump_uploader:minidump_uploader_java",
"//components/module_installer/android:module_installer_java",
@@ -258,7 +249,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
"//third_party/androidx:androidx_annotation_annotation_java",
"//third_party/androidx:androidx_collection_collection_java",
"//third_party/jni_zero:jni_zero_java",
@@ -2097,7 +2086,6 @@ if (current_toolchain == default_toolchain) {
@@ -2097,7 +2088,6 @@ if (current_toolchain == default_toolchain) {
# Deps to pull services into base module.
# TODO(crbug.com/40148088): Consider moving these to the chrome module to
# reduce base dex size.
@@ -2169,10 +2160,11 @@ diff --git a/components/media_router/browser/android/java/src/org/chromium/compo
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
@@ -336,50 +332,7 @@ public class CafMessageHandler {
@@ -335,51 +331,7 @@ public class CafMessageHandler {
throws JSONException {
if (volumeMessage == null) return false;
if (!mSessionController.isConnected()) return false;
assumeNonNull(mSessionController.getSession());
- assumeNonNull(mSessionController.getSession());
- boolean shouldWaitForVolumeChange = false;
- try {
- if (!volumeMessage.isNull("muted")) {
@@ -2221,7 +2213,12 @@ diff --git a/components/media_router/browser/android/java/src/org/chromium/compo
}
@VisibleForTesting
@@ -678,21 +631,11 @@ public class CafMessageHandler {
@@ -673,26 +625,15 @@ public class CafMessageHandler {
/** @return A message containing the information of the {@link CastSession}. */
public String buildSessionMessage() {
if (!mSessionController.isConnected()) return "{}";
- assumeNonNull(mSessionController.getSession());
try {
// "volume" is a part of "receiver" initialized below.
JSONObject jsonVolume = new JSONObject();
@@ -2243,7 +2240,7 @@ diff --git a/components/media_router/browser/android/java/src/org/chromium/compo
jsonReceiver.put("displayStatus", null);
jsonReceiver.put("receiverType", "cast");
@@ -705,28 +648,12 @@ public class CafMessageHandler {
@@ -705,28 +646,12 @@ public class CafMessageHandler {
JSONObject jsonMessage = new JSONObject();
jsonMessage.put("sessionId", mSessionController.getSessionId());
@@ -2272,7 +2269,7 @@ diff --git a/components/media_router/browser/android/java/src/org/chromium/compo
return jsonMessage.toString();
} catch (JSONException e) {
Log.w(TAG, "Building session message failed", e);
@@ -804,33 +731,6 @@ public class CafMessageHandler {
@@ -804,33 +729,6 @@ public class CafMessageHandler {
boolean sendStringCastMessage(
String message, String namespace, String clientId, int sequenceNumber) {
if (!mSessionController.isConnected()) return false;
@@ -2538,7 +2535,28 @@ diff --git a/components/media_router/browser/android/java/src/org/chromium/compo
diff --git a/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/remoting/CafExpandedControllerActivity.java b/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/remoting/CafExpandedControllerActivity.java
--- a/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/remoting/CafExpandedControllerActivity.java
+++ b/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/remoting/CafExpandedControllerActivity.java
@@ -55,43 +55,29 @@ public class CafExpandedControllerActivity extends FragmentActivity
@@ -19,8 +19,6 @@ import android.widget.TextView;
import androidx.fragment.app.FragmentActivity;
import androidx.mediarouter.app.MediaRouteButton;
-import com.google.android.gms.cast.framework.media.RemoteMediaClient;
-
import org.chromium.build.annotations.NullMarked;
import org.chromium.build.annotations.Nullable;
import org.chromium.components.media_router.R;
@@ -43,55 +41,34 @@ public class CafExpandedControllerActivity extends FragmentActivity
private TextView mTitleView;
private Runnable mUpdateProgressRunnable;
- private RemoteMediaClient getRemoteMediaClient() {
- RemoteMediaClient ret =
- assumeNonNull(mSessionController.getSession()).getRemoteMediaClient();
- assert ret != null;
- return ret;
- }
-
/** Handle actions from on-screen media controls. */
private MediaController.Delegate mControllerDelegate =
new MediaController.Delegate() {
@Override
public void play() {
@@ -2585,7 +2603,7 @@ diff --git a/components/media_router/browser/android/java/src/org/chromium/compo
}
@Override
@@ -99,11 +85,6 @@ public class CafExpandedControllerActivity extends FragmentActivity
@@ -99,11 +76,6 @@ public class CafExpandedControllerActivity extends FragmentActivity
long flags =
PlaybackStateCompat.ACTION_REWIND
| PlaybackStateCompat.ACTION_FAST_FORWARD;
@@ -2597,7 +2615,7 @@ diff --git a/components/media_router/browser/android/java/src/org/chromium/compo
return flags;
}
};
@@ -203,22 +184,10 @@ public class CafExpandedControllerActivity extends FragmentActivity
@@ -203,22 +175,10 @@ public class CafExpandedControllerActivity extends FragmentActivity
private void updateUi() {
if (!mSessionController.isConnected()) return;
@@ -3488,6 +3506,28 @@ diff --git a/content/public/android/java/src/org/chromium/content/browser/webid/
}
public Promise<String> create(Activity window, String origin, String request) {
@@ -186,7 +109,7 @@ public class IdentityCredentialsDelegate {
@VisibleForTesting
public static DigitalCredential extractDigitalCredentialFromResponseBundle(
int code, Bundle bundle)
- throws JSONException, NullPointerException, GetCredentialException {
+ throws JSONException, NullPointerException {
// Try to read the new format.
var digitalCredential = extractDigitalCredentialFromModernResponse(bundle);
if (digitalCredential != null) {
@@ -195,11 +118,7 @@ public class IdentityCredentialsDelegate {
// TODO(crbug.com/336329411) Handle the case when the intent doesn't contain the modern
// response, but contains the modern exception.
- // Fallback to the legacy format.
- var response = IntentHelper.extractGetCredentialResponse(code, bundle);
- var token = response.getCredential().getData().getByteArray(BUNDLE_KEY_IDENTITY_TOKEN);
-
- return new DigitalCredential(null, Objects.requireNonNull(token));
+ throw new NullPointerException();
}
/**
diff --git a/content/test/BUILD.gn b/content/test/BUILD.gn
--- a/content/test/BUILD.gn
+++ b/content/test/BUILD.gn
@@ -3605,7 +3645,7 @@ diff --git a/third_party/android_deps/BUILD.gn b/third_party/android_deps/BUILD.
}
# The section below is generated by running
@@ -154,221 +145,6 @@ java_prebuilt("com_android_tools_sdk_common_java") {
@@ -154,13 +145,6 @@ java_prebuilt("com_android_tools_sdk_common_java") {
visibility = [ "//build/android/unused_resources:*" ]
}
@@ -3616,45 +3656,13 @@ diff --git a/third_party/android_deps/BUILD.gn b/third_party/android_deps/BUILD.
- enable_bytecode_checks = false
-}
-
-# This is generated, do not edit. Update BuildConfigGenerator.groovy instead.
-java_prebuilt("com_squareup_javapoet_java") {
- jar_path = "cipd/libs/com_squareup_javapoet/javapoet-1.13.0.jar"
- output_name = "com_squareup_javapoet"
- enable_bytecode_checks = false
-}
-if (!limit_android_deps) {
- # This is generated, do not edit. Update BuildConfigGenerator.groovy instead.
- java_prebuilt("com_android_support_support_annotations_java") {
- jar_path = "cipd/libs/com_android_support_support_annotations/support-annotations-28.0.0.jar"
- output_name = "com_android_support_support_annotations"
- supports_android = true
- requires_android = true
- enable_bytecode_checks = false
- }
-
- # This is generated, do not edit. Update BuildConfigGenerator.groovy instead.
- android_aar_prebuilt(
- "com_google_android_apps_common_testing_accessibility_framework_accessibility_test_framework_java") {
- aar_path = "cipd/libs/com_google_android_apps_common_testing_accessibility_framework_accessibility_test_framework/accessibility-test-framework-4.0.0.aar"
- info_path = "libs/com_google_android_apps_common_testing_accessibility_framework_accessibility_test_framework/com_google_android_accessibility_test_framework.info"
- enable_bytecode_checks = false
- testonly = true
- deps = [
- ":com_google_errorprone_error_prone_annotations_java",
- ":org_checkerframework_checker_qual_java",
- ":org_jsoup_jsoup_java",
- "//third_party/android_deps:guava_android_java",
- "//third_party/android_deps:material_design_java",
- "//third_party/android_deps:protobuf_lite_runtime_java",
- "//third_party/androidx:androidx_core_core_java",
- "//third_party/androidx:androidx_test_services_storage_java",
- "//third_party/hamcrest:hamcrest_core_java",
- "//third_party/hamcrest:hamcrest_library_java",
- ]
- proguard_configs =
- [ "local_modifications/accessibility_test_framework.pcfg" ]
- }
-
# This is generated, do not edit. Update BuildConfigGenerator.groovy instead.
java_prebuilt("com_squareup_javapoet_java") {
jar_path = "cipd/libs/com_squareup_javapoet/javapoet-1.13.0.jar"
@@ -200,176 +184,6 @@ if (!limit_android_deps) {
[ "local_modifications/accessibility_test_framework.pcfg" ]
}
- # This is generated, do not edit. Update BuildConfigGenerator.groovy instead.
- if (google_play_services_package == "//third_party/android_deps") {
- android_aar_prebuilt(
@@ -3824,10 +3832,11 @@ diff --git a/third_party/android_deps/BUILD.gn b/third_party/android_deps/BUILD.
- ]
- }
- }
-
# This is generated, do not edit. Update BuildConfigGenerator.groovy instead.
if (!defined(material_design_target)) {
@@ -417,24 +193,6 @@ if (!limit_android_deps) {
android_aar_prebuilt("com_google_android_material_material_java") {
@@ -417,24 +231,6 @@ if (!limit_android_deps) {
}
}
@@ -3852,7 +3861,7 @@ diff --git a/third_party/android_deps/BUILD.gn b/third_party/android_deps/BUILD.
# This is generated, do not edit. Update BuildConfigGenerator.groovy instead.
android_aar_prebuilt("com_google_ar_impress_java") {
aar_path = "cipd/libs/com_google_ar_impress/impress-0.0.2.aar"
@@ -470,93 +228,6 @@ if (!limit_android_deps) {
@@ -470,93 +266,6 @@ if (!limit_android_deps) {
}
# This is generated, do not edit. Update BuildConfigGenerator.groovy instead.
@@ -3946,7 +3955,7 @@ diff --git a/third_party/android_deps/BUILD.gn b/third_party/android_deps/BUILD.
# This is generated, do not edit. Update BuildConfigGenerator.groovy instead.
if (!defined(guava_android_target)) {
@@ -736,20 +407,6 @@ if (!limit_android_deps) {
@@ -736,20 +445,6 @@ if (!limit_android_deps) {
]
}
@@ -3967,7 +3976,7 @@ diff --git a/third_party/android_deps/BUILD.gn b/third_party/android_deps/BUILD.
# This is generated, do not edit. Update BuildConfigGenerator.groovy instead.
java_prebuilt("org_jsoup_jsoup_java") {
jar_path = "cipd/libs/org_jsoup_jsoup/jsoup-1.15.1.jar"
@@ -812,362 +469,6 @@ if (!limit_android_deps) {
@@ -812,362 +507,6 @@ if (!limit_android_deps) {
deps = [ ":org_mockito_mockito_core_java" ]
}
+157 -41
View File
@@ -12,32 +12,34 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../java/res/layout/mv_tiles_layout.xml | 13 +-
.../java/res/layout/new_tab_page_layout.xml | 7 +
.../new_tab_page_tile_grid_placeholder.xml | 8 +-
.../android/java/res/layout/ntp_shortcuts.xml | 65 ++++++
.../android/java/res/layout/ntp_shortcuts.xml | 65 ++++
chrome/android/java/res/values/attrs.xml | 4 +
chrome/android/java/res/values/dimens.xml | 2 +
.../chrome/browser/ChromeTabbedActivity.java | 3 +-
.../browser/TabbedModeTabDelegateFactory.java | 9 +-
.../feedback/ChromeFeedbackCollector.java | 1 +
.../feedback/SimplifiedNtpFeedbackSource.java | 38 ++++
.../feedback/SimplifiedNtpFeedbackSource.java | 38 +++
.../identity_disc/IdentityDiscController.java | 5 +-
.../native_page/NativePageFactory.java | 19 +-
.../NativePageNavigationDelegateImpl.java | 2 +-
.../chrome/browser/ntp/NewTabPage.java | 8 +-
.../chrome/browser/ntp/NewTabPageLayout.java | 25 ++-
.../SuggestionsNavigationDelegate.java | 27 ++-
.../chrome/browser/ntp/NewTabPageLayout.java | 29 +-
.../SuggestionsNavigationDelegate.java | 27 +-
.../mostvisited/MostVisitedSitesBridge.java | 2 +-
.../tile/MostVisitedTilesCoordinator.java | 7 +-
.../tile/MostVisitedTilesGridLayout.java | 193 ++++++++++++++++++
.../tile/MostVisitedTilesMediator.java | 9 +-
.../tile/MostVisitedTilesCoordinator.java | 6 +-
.../tile/MostVisitedTilesGridLayout.java | 283 ++++++++++++++++++
.../tile/MostVisitedTilesMediator.java | 4 +-
.../suggestions/tile/TileRenderer.java | 4 +-
.../suggestions/tile/TilesLinearLayout.java | 2 +-
.../engagement/important_sites_util.cc | 2 +-
.../flags/android/chrome_feature_list.cc | 1 +
.../browser/flags/ChromeFeatureList.java | 3 +-
.../client_util/HomeModulesRankingHelper.java | 1 +
.../history/core/browser/top_sites_impl.h | 2 +-
.../Restore-Simplified-NTP-launch.inc | 12 ++
.../Restore-Simplified-NTP-launch.inc | 12 +
.../Restore-Simplified-NTP-launch.inc | 5 +
.../Restore-Simplified-NTP-launch.inc | 1 +
31 files changed, 437 insertions(+), 42 deletions(-)
33 files changed, 528 insertions(+), 45 deletions(-)
create mode 100644 chrome/android/java/res/layout/ntp_shortcuts.xml
create mode 100644 chrome/android/java/src/org/chromium/chrome/browser/feedback/SimplifiedNtpFeedbackSource.java
create mode 100644 chrome/android/java/src/org/chromium/chrome/browser/suggestions/tile/MostVisitedTilesGridLayout.java
@@ -536,6 +538,15 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageL
import org.chromium.chrome.browser.lens.LensMetrics;
import org.chromium.chrome.browser.lifecycle.ActivityLifecycleDispatcher;
import org.chromium.chrome.browser.logo.LogoBridge.Logo;
@@ -45,7 +47,7 @@ import org.chromium.chrome.browser.profiles.Profile;
import org.chromium.chrome.browser.suggestions.tile.MostVisitedTilesCoordinator;
import org.chromium.chrome.browser.suggestions.tile.TileGroup;
import org.chromium.chrome.browser.suggestions.tile.TileGroup.Delegate;
-import org.chromium.chrome.browser.suggestions.tile.TilesLinearLayout;
+import org.chromium.chrome.browser.suggestions.tile.MostVisitedTilesGridLayout;
import org.chromium.chrome.browser.tab_ui.InvalidationAwareThumbnailProvider;
import org.chromium.chrome.browser.ui.native_page.TouchEnabledDelegate;
import org.chromium.chrome.browser.util.BrowserUiUtils;
@@ -86,6 +88,8 @@ public class NewTabPageLayout extends LinearLayout {
private @Nullable DisplayStyleObserver mDisplayStyleObserver;
private CallbackController mCallbackController = new CallbackController();
@@ -562,6 +573,15 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageL
initializeSearchBoxTextView();
initializeVoiceSearchButton();
initializeLensButton();
@@ -506,7 +511,7 @@ public class NewTabPageLayout extends LinearLayout {
if (mInitialTileNum == null) {
mInitialTileNum =
- ((TilesLinearLayout) findViewById(R.id.mv_tiles_layout)).getTileCount();
+ ((MostVisitedTilesGridLayout) findViewById(R.id.mv_tiles_layout)).getTileCount();
}
int currentOrientation = getResources().getConfiguration().orientation;
@@ -574,7 +579,7 @@ public class NewTabPageLayout extends LinearLayout {
&& mInitialized) {
return;
@@ -655,15 +675,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/suggestions/mos
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/suggestions/tile/MostVisitedTilesCoordinator.java b/chrome/android/java/src/org/chromium/chrome/browser/suggestions/tile/MostVisitedTilesCoordinator.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/suggestions/tile/MostVisitedTilesCoordinator.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/suggestions/tile/MostVisitedTilesCoordinator.java
@@ -38,6 +38,7 @@ public class MostVisitedTilesCoordinator implements ConfigurationChangedObserver
private final MostVisitedTilesMediator mMediator;
private final WindowAndroid mWindowAndroid;
private final UiConfig mUiConfig;
+ private PropertyModelChangeProcessor mModelChangeProcessor;
private TileRenderer mRenderer;
private ContextMenuManager mContextMenuManager;
private OfflinePageBridge mOfflinePageBridge;
@@ -65,15 +66,11 @@ public class MostVisitedTilesCoordinator implements ConfigurationChangedObserver
@@ -65,15 +65,11 @@ public class MostVisitedTilesCoordinator implements ConfigurationChangedObserver
mWindowAndroid = windowAndroid;
((ViewStub) mvTilesContainerLayout.findViewById(R.id.mv_tiles_layout_stub)).inflate();
@@ -684,7 +696,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/suggestions/til
new file mode 100644
--- /dev/null
+++ b/chrome/android/java/src/org/chromium/chrome/browser/suggestions/tile/MostVisitedTilesGridLayout.java
@@ -0,0 +1,193 @@
@@ -0,0 +1,283 @@
+// Copyright 2015 The Chromium Authors
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
@@ -708,8 +720,12 @@ new file mode 100644
+import org.chromium.chrome.R;
+import org.chromium.chrome.browser.flags.ChromeFeatureList;
+import org.chromium.chrome.browser.suggestions.SiteSuggestion;
+import org.chromium.components.browser_ui.widget.tile.TileView;
+import org.chromium.ui.base.DeviceFormFactor;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/** A layout that arranges tiles in a grid. */
+public class MostVisitedTilesGridLayout extends FrameLayout {
+ private final int mMinHorizontalSpacing;
@@ -720,6 +736,8 @@ new file mode 100644
+ private int mMaxRows = 4;
+ private int mMaxColumns = 4;
+
+ private List<TileView> mTileList = new ArrayList<TileView>();
+
+ /**
+ * Constructor for inflating from XML.
+ *
@@ -877,47 +895,145 @@ new file mode 100644
+ private int getGridMVTVerticalSpacingResourcesId() {
+ return R.dimen.tile_grid_layout_vertical_spacing;
+ }
+
+ @Override
+ public void removeAllViews() {
+ mTileList.clear();
+ super.removeAllViews();
+ }
+
+ /**
+ * Updates the start margin of all children except the first, to control spacing between.
+ *
+ * @param margin The margin to set.
+ */
+ void setIntervalMargins(int margin) {
+ int childCount = getChildCount();
+ for (int i = 1; i < childCount; i++) {
+ updateViewStartMargin(getChildAt(i), margin);
+ }
+ }
+
+ /**
+ * Updates the start (end) margin the first (last) child, to control spacing around content.
+ *
+ * @param margin The margin to set.
+ */
+ void setEdgeMargins(int margin) {
+ int childCount = getChildCount();
+ if (childCount > 0) {
+ updateViewStartMargin(getChildAt(0), margin);
+ updateViewEndMargin(getChildAt(childCount - 1), margin);
+ }
+ }
+
+ /**
+ * Specialized addView() for tiles.
+ *
+ * @param tileView The tile View to add.
+ */
+ public void addTile(TileView tileView) {
+ super.addView(tileView);
+ mTileList.add(tileView);
+ }
+
+ /**
+ * Specialized getChildCount() for tiles.
+ *
+ * @return The count of TileView children, added from addTile().
+ */
+ public int getTileCount() {
+ return mTileList.size();
+ }
+
+ /**
+ * Specialized getChildAt() for tiles.
+ *
+ * @return The (index+1)-th TileView added via addTile().
+ */
+ public TileView getTileAt(int index) {
+ return mTileList.get(index);
+ }
+
+ private void updateViewStartMargin(View view, int newStartMargin) {
+ MarginLayoutParams layoutParams = (MarginLayoutParams) view.getLayoutParams();
+ if (newStartMargin != layoutParams.getMarginStart()) {
+ layoutParams.setMarginStart(newStartMargin);
+ view.setLayoutParams(layoutParams);
+ }
+ }
+
+ private void updateViewEndMargin(View view, int newEndMargin) {
+ MarginLayoutParams layoutParams = (MarginLayoutParams) view.getLayoutParams();
+ if (newEndMargin != layoutParams.getMarginEnd()) {
+ layoutParams.setMarginEnd(newEndMargin);
+ view.setLayoutParams(layoutParams);
+ }
+ }
+
+ void destroy() {
+ for (int i = 0; i < getTileCount(); i++) {
+ TileView tileView = getTileAt(i);
+ tileView.setOnClickListener(null);
+ tileView.setOnCreateContextMenuListener(null);
+ }
+ removeAllViews();
+ }
+}
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/suggestions/tile/MostVisitedTilesMediator.java b/chrome/android/java/src/org/chromium/chrome/browser/suggestions/tile/MostVisitedTilesMediator.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/suggestions/tile/MostVisitedTilesMediator.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/suggestions/tile/MostVisitedTilesMediator.java
@@ -12,6 +12,7 @@ import static org.chromium.chrome.browser.suggestions.tile.MostVisitedTilesPrope
import android.content.res.Configuration;
import android.content.res.Resources;
+import android.view.ViewGroup;
import android.view.ViewStub;
import androidx.annotation.Nullable;
@@ -37,7 +38,7 @@ public class MostVisitedTilesMediator implements TileGroup.Observer, TemplateUrl
@@ -37,7 +37,7 @@ public class MostVisitedTilesMediator implements TileGroup.Observer, TemplateUrl
private final Resources mResources;
private final UiConfig mUiConfig;
- private final MostVisitedTilesLayout mMvTilesLayout;
+ private final ViewGroup mMvTilesLayout;
+ private final MostVisitedTilesGridLayout mMvTilesLayout;
private final ViewStub mNoMvPlaceholderStub;
private final PropertyModel mModel;
private final boolean mIsTablet;
@@ -59,7 +60,7 @@ public class MostVisitedTilesMediator implements TileGroup.Observer, TemplateUrl
@@ -59,7 +59,7 @@ public class MostVisitedTilesMediator implements TileGroup.Observer, TemplateUrl
public MostVisitedTilesMediator(
Resources resources,
UiConfig uiConfig,
- MostVisitedTilesLayout mvTilesLayout,
+ ViewGroup mvTilesLayout,
+ MostVisitedTilesGridLayout mvTilesLayout,
ViewStub noMvPlaceholderStub,
TileRenderer renderer,
PropertyModel propertyModel,
@@ -166,8 +167,8 @@ public class MostVisitedTilesMediator implements TileGroup.Observer, TemplateUrl
}
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/suggestions/tile/TileRenderer.java b/chrome/android/java/src/org/chromium/chrome/browser/suggestions/tile/TileRenderer.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/suggestions/tile/TileRenderer.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/suggestions/tile/TileRenderer.java
@@ -162,7 +162,7 @@ public class TileRenderer {
*/
public void renderTileSection(
List<Tile> sectionTiles,
- TilesLinearLayout parent,
+ MostVisitedTilesGridLayout parent,
TileGroup.TileSetupDelegate setupDelegate) {
try (TraceEvent e = TraceEvent.scoped("TileRenderer.renderTileSection")) {
// Map the old tile views by url so they can be reused later.
@@ -216,7 +216,7 @@ public class TileRenderer {
*/
@VisibleForTesting
SuggestionsTileView buildTileView(
- Tile tile, TilesLinearLayout parent, TileGroup.TileSetupDelegate setupDelegate) {
+ Tile tile, MostVisitedTilesGridLayout parent, TileGroup.TileSetupDelegate setupDelegate) {
SuggestionsTileView tileView =
(SuggestionsTileView)
LayoutInflater.from(parent.getContext()).inflate(mLayout, parent, false);
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/suggestions/tile/TilesLinearLayout.java b/chrome/android/java/src/org/chromium/chrome/browser/suggestions/tile/TilesLinearLayout.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/suggestions/tile/TilesLinearLayout.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/suggestions/tile/TilesLinearLayout.java
@@ -23,7 +23,7 @@ import java.util.List;
* #getChildCount()} and {@link #getChildAt()}.
*/
@NullMarked
-public class TilesLinearLayout extends LinearLayout {
+class TilesLinearLayout extends LinearLayout {
private List<TileView> mTileList = new ArrayList<TileView>();
public void destroy() {
- if (mMvTilesLayout != null) {
- mMvTilesLayout.destroy();
+ if (mMvTilesLayout instanceof MostVisitedTilesLayout) {
+ ((MostVisitedTilesLayout)mMvTilesLayout).destroy();
}
if (mTileGroup != null) {
public TilesLinearLayout(Context context, @Nullable AttributeSet attrs) {
diff --git a/chrome/browser/engagement/important_sites_util.cc b/chrome/browser/engagement/important_sites_util.cc
--- a/chrome/browser/engagement/important_sites_util.cc
+++ b/chrome/browser/engagement/important_sites_util.cc
+2 -2
View File
@@ -1047,8 +1047,8 @@ diff --git a/chrome/browser/tabmodel/internal/android/java/src/org/chromium/chro
+ @Override
+ public void SetOverrideUserAgentForAllTabs(boolean usingDesktopUserAgent) {
+ for (int selectorIndex = 0; selectorIndex < mSelectors.size(); selectorIndex++) {
+ TabModelSelector selector = mSelectors.get(selectorIndex);
+ for (int selectorIndex : mWindowIdToSelectors.keySet()) {
+ TabModelSelector selector = mWindowIdToSelectors.get(selectorIndex);
+ if (selector != null) {
+ List<TabModel> models = selector.getModels();
+ for (int modelIndex = 0; modelIndex < models.size(); modelIndex++) {
+8 -10
View File
@@ -13,7 +13,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
chrome/android/java/res/values/styles.xml | 24 ++
.../DefaultSearchEngineFirstRunFragment.java | 3 -
.../browser/firstrun/FirstRunActivity.java | 23 +-
.../firstrun/FirstRunFlowSequencer.java | 60 +---
.../firstrun/FirstRunFlowSequencer.java | 58 +--
.../browser/firstrun/FirstRunUtils.java | 1 +
.../firstrun/ToSAndUMAFirstRunFragment.java | 335 +++++++++++++++++
.../firstrun/TosAndUmaFragmentView.java | 336 ++++++++++++++++++
@@ -21,7 +21,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
...creenSigninAndHistorySyncActivityBase.java | 6 +-
.../browser/locale/LocaleManagerDelegate.java | 5 +-
.../Welcome-screen.grdp | 27 ++
15 files changed, 919 insertions(+), 79 deletions(-)
15 files changed, 917 insertions(+), 79 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
@@ -401,7 +401,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstR
}
}
@@ -137,18 +115,8 @@ public abstract class FirstRunFlowSequencer {
@@ -137,18 +115,6 @@ public abstract class FirstRunFlowSequencer {
* method.
*/
void start() {
@@ -417,12 +417,10 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstR
- mAccountsAvailable = true;
- maybeProcessFreEnvironmentPreNative();
- });
+ mIsChild = false;
+ maybeProcessFreEnvironmentPreNative();
}
@VisibleForTesting
@@ -167,9 +135,6 @@ public abstract class FirstRunFlowSequencer {
@@ -167,9 +133,6 @@ public abstract class FirstRunFlowSequencer {
}
private void maybeProcessFreEnvironmentPreNative() {
@@ -432,7 +430,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstR
if (mIsFlowKnown) return;
mIsFlowKnown = true;
onFlowIsKnown(mIsChild);
@@ -181,8 +146,8 @@ public abstract class FirstRunFlowSequencer {
@@ -181,8 +144,8 @@ public abstract class FirstRunFlowSequencer {
* @param freProperties Resulting FRE properties bundle.
*/
public void updateFirstRunProperties(Bundle freProperties) {
@@ -443,7 +441,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstR
assert freProperties != null;
freProperties.putBoolean(
FirstRunActivity.SHOW_HISTORY_SYNC_PAGE, shouldShowHistorySyncOptIn());
@@ -201,8 +166,6 @@ public abstract class FirstRunFlowSequencer {
@@ -201,8 +164,6 @@ public abstract class FirstRunFlowSequencer {
// Mark the FRE flow as complete.
FirstRunStatus.setFirstRunFlowComplete(true);
@@ -452,7 +450,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstR
}
/**
@@ -301,9 +264,6 @@ public abstract class FirstRunFlowSequencer {
@@ -301,9 +262,6 @@ public abstract class FirstRunFlowSequencer {
Log.d(TAG, "Redirecting user through FRE.");
CrashKeys.getInstance().set(CrashKeyIndex.FIRST_RUN, "yes");
@@ -462,7 +460,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstR
if (inSameTask) {
FreIntentCreator intentCreator = new FreIntentCreator();
Intent freIntent =
@@ -329,13 +289,17 @@ public abstract class FirstRunFlowSequencer {
@@ -329,13 +287,17 @@ public abstract class FirstRunFlowSequencer {
if (!(caller instanceof Activity)) {
freIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
}
+4 -7
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 | 67 ++-------
.../commerce/core/commerce_feature_list.cc | 64 ++------
.../core/browser/browser_policy_connector.cc | 3 +
.../common/command_line_policy_provider.cc | 3 +
.../core/common/policy_loader_command_line.cc | 137 ++++++++++++++++--
@@ -37,7 +37,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
.../gaia_cookie_manager_service.cc | 4 +
google_apis/gaia/gaia_auth_fetcher.cc | 1 +
net/socket/ssl_client_socket_impl.cc | 3 +
33 files changed, 325 insertions(+), 158 deletions(-)
33 files changed, 322 insertions(+), 158 deletions(-)
diff --git a/base/win/win_util.cc b/base/win/win_util.cc
--- a/base/win/win_util.cc
@@ -624,16 +624,13 @@ diff --git a/components/commerce/core/commerce_feature_list.cc b/components/comm
auto* pattern_from_component =
commerce_heuristics::CommerceHeuristicsData::GetInstance()
.GetNoDiscountMerchantPattern();
@@ -495,4 +446,12 @@ bool IsNoDiscountMerchant(const GURL& url) {
@@ -495,4 +446,9 @@ bool IsNoDiscountMerchant(const GURL& url) {
return RE2::PartialMatch(url.host_piece(), *pattern_from_component);
}
#endif
+
+SET_CROMITE_FEATURE_DISABLED(kShoppingListRegionLaunched);
+
+SET_CROMITE_FEATURE_DISABLED(kParcelTracking);
+SET_CROMITE_FEATURE_DISABLED(kParcelTrackingRegionLaunched);
+
+SET_CROMITE_FEATURE_DISABLED(kEnableDiscountInfoApi);
+SET_CROMITE_FEATURE_DISABLED(kEnableDiscountInfoApiRegionLaunched);
} // namespace commerce
@@ -936,7 +933,7 @@ diff --git a/components/policy/resources/webui/policy_row.ts b/components/policy
}
+ const enabledBox = <HTMLInputElement>this.shadowRoot!.querySelector('.enabled_box');
+ enabledBox!.checked = !policy.disabled;
+ enabledBox.checked = !policy.disabled;
+
// Populate the remaining columns with policy scope, level and value if a
// value has been set. Otherwise, leave them blank.