Patches for v129 - require checking (#1458)
This commit is contained in:
@@ -229,7 +229,7 @@ diff --git a/chrome/browser/permissions/one_time_permissions_tracker_factory.cc
|
||||
diff --git a/chrome/browser/ui/views/permissions/embedded_permission_prompt.cc b/chrome/browser/ui/views/permissions/embedded_permission_prompt.cc
|
||||
--- a/chrome/browser/ui/views/permissions/embedded_permission_prompt.cc
|
||||
+++ b/chrome/browser/ui/views/permissions/embedded_permission_prompt.cc
|
||||
@@ -650,7 +650,7 @@ void EmbeddedPermissionPrompt::SendDelegateAction(Action action) {
|
||||
@@ -654,7 +654,7 @@ void EmbeddedPermissionPrompt::SendDelegateAction(Action action) {
|
||||
delegate_->Accept();
|
||||
break;
|
||||
case Action::kAllowThisTime:
|
||||
@@ -288,7 +288,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
|
||||
private void setUpClearDataPreference() {
|
||||
ClearWebsiteStorage preference = findPreference(PREF_CLEAR_DATA);
|
||||
long usage = mSite.getTotalUsage();
|
||||
@@ -1091,6 +1096,10 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment
|
||||
@@ -1092,6 +1097,10 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment
|
||||
AppCompatResources.getColorStateList(getContext(), mHighlightColor)
|
||||
.getDefaultColor());
|
||||
}
|
||||
@@ -329,7 +329,7 @@ diff --git a/components/browser_ui/strings/android/browser_ui_strings.grd b/comp
|
||||
diff --git a/components/content_settings/core/browser/content_settings_utils.cc b/components/content_settings/core/browser/content_settings_utils.cc
|
||||
--- a/components/content_settings/core/browser/content_settings_utils.cc
|
||||
+++ b/components/content_settings/core/browser/content_settings_utils.cc
|
||||
@@ -155,6 +155,42 @@ bool IsConstraintPersistent(const ContentSettingConstraints& constraints) {
|
||||
@@ -160,6 +160,42 @@ bool IsConstraintPersistent(const ContentSettingConstraints& constraints) {
|
||||
return constraints.session_model() == mojom::SessionModel::DURABLE;
|
||||
}
|
||||
|
||||
@@ -509,7 +509,7 @@ diff --git a/components/page_info/android/page_info_controller_android.cc b/comp
|
||||
diff --git a/components/page_info/page_info.cc b/components/page_info/page_info.cc
|
||||
--- a/components/page_info/page_info.cc
|
||||
+++ b/components/page_info/page_info.cc
|
||||
@@ -1178,6 +1178,8 @@ void PageInfo::PopulatePermissionInfo(PermissionInfo& permission_info,
|
||||
@@ -1179,6 +1179,8 @@ void PageInfo::PopulatePermissionInfo(PermissionInfo& permission_info,
|
||||
permission_info.is_one_time =
|
||||
(info.metadata.session_model() ==
|
||||
content_settings::mojom::SessionModel::ONE_TIME);
|
||||
@@ -667,7 +667,7 @@ diff --git a/components/permissions/android/java/src/org/chromium/components/per
|
||||
diff --git a/components/permissions/android/permission_prompt/permission_dialog_delegate.cc b/components/permissions/android/permission_prompt/permission_dialog_delegate.cc
|
||||
--- a/components/permissions/android/permission_prompt/permission_dialog_delegate.cc
|
||||
+++ b/components/permissions/android/permission_prompt/permission_dialog_delegate.cc
|
||||
@@ -159,6 +159,11 @@ void PermissionDialogJavaDelegate::DismissDialog() {
|
||||
@@ -158,6 +158,11 @@ void PermissionDialogJavaDelegate::DismissDialog() {
|
||||
Java_PermissionDialogDelegate_dismissFromNative(env, j_delegate_);
|
||||
}
|
||||
|
||||
@@ -679,7 +679,7 @@ diff --git a/components/permissions/android/permission_prompt/permission_dialog_
|
||||
// static
|
||||
void PermissionDialogDelegate::Create(
|
||||
content::WebContents* web_contents,
|
||||
@@ -187,6 +192,13 @@ PermissionDialogDelegate* PermissionDialogDelegate::CreateForTesting(
|
||||
@@ -186,6 +191,13 @@ PermissionDialogDelegate* PermissionDialogDelegate::CreateForTesting(
|
||||
void PermissionDialogDelegate::Accept(JNIEnv* env,
|
||||
const JavaParamRef<jobject>& obj) {
|
||||
CHECK(permission_prompt_);
|
||||
@@ -693,7 +693,7 @@ diff --git a/components/permissions/android/permission_prompt/permission_dialog_
|
||||
permission_prompt_->Accept();
|
||||
}
|
||||
|
||||
@@ -194,12 +206,22 @@ void PermissionDialogDelegate::AcceptThisTime(
|
||||
@@ -193,12 +205,22 @@ void PermissionDialogDelegate::AcceptThisTime(
|
||||
JNIEnv* env,
|
||||
const JavaParamRef<jobject>& obj) {
|
||||
CHECK(permission_prompt_);
|
||||
@@ -1212,8 +1212,8 @@ diff --git a/components/permissions/permission_request_manager.cc b/components/p
|
||||
|
||||
if (should_auto_approve_request) {
|
||||
if (should_auto_approve_request == PermissionAction::GRANTED) {
|
||||
- request->PermissionGranted(/*is_one_time=*/false);
|
||||
+ request->PermissionGranted(/*is_one_time=*/false, content_settings::mojom::LifetimeMode::ALWAYS);
|
||||
- request->PermissionGranted(/*is_one_time=*/true);
|
||||
+ request->PermissionGranted(/*is_one_time=*/true, content_settings::mojom::LifetimeMode::UNTIL_ORIGIN_CLOSED);
|
||||
}
|
||||
request->RequestFinished();
|
||||
return;
|
||||
|
||||
@@ -6,8 +6,8 @@ And allow use about:blank as default homepage
|
||||
|
||||
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
---
|
||||
.../tab_management/TabGridDialogMediator.java | 9 ++++++++-
|
||||
.../tasks/tab_management/TabGroupUiMediator.java | 8 +++++++-
|
||||
.../browser/tasks/tab_management/TabUiUtils.java | 9 ++++++++-
|
||||
.../java/res/xml/homepage_preferences.xml | 5 +++++
|
||||
.../chrome/browser/homepage/HomepageManager.java | 16 ++++++++++++++++
|
||||
.../homepage/settings/HomepageSettings.java | 12 ++++++++++++
|
||||
@@ -20,43 +20,6 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
chrome/common/pref_names.h | 4 ++++
|
||||
12 files changed, 67 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGridDialogMediator.java b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGridDialogMediator.java
|
||||
--- a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGridDialogMediator.java
|
||||
+++ b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGridDialogMediator.java
|
||||
@@ -30,6 +30,7 @@ import org.chromium.base.task.TaskTraits;
|
||||
import org.chromium.chrome.browser.data_sharing.DataSharingNotificationManager;
|
||||
import org.chromium.chrome.browser.data_sharing.ui.shared_image_tiles.SharedImageTilesCoordinator;
|
||||
import org.chromium.chrome.browser.flags.ChromeFeatureList;
|
||||
+import org.chromium.chrome.browser.homepage.HomepageManager;
|
||||
import org.chromium.chrome.browser.tab.Tab;
|
||||
import org.chromium.chrome.browser.tab.TabCreationState;
|
||||
import org.chromium.chrome.browser.tab.TabLaunchType;
|
||||
@@ -65,6 +66,7 @@ import org.chromium.ui.KeyboardVisibilityDelegate;
|
||||
import org.chromium.ui.base.DeviceFormFactor;
|
||||
import org.chromium.ui.modelutil.PropertyModel;
|
||||
import org.chromium.ui.text.EmptyTextWatcher;
|
||||
+import org.chromium.url.GURL;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
@@ -820,11 +822,16 @@ public class TabGridDialogMediator
|
||||
|
||||
assert relatedTabs.size() > 0;
|
||||
|
||||
+ String url = UrlConstants.NTP_URL;
|
||||
+ if (HomepageManager.getInstance().getPrefNTPIsHomepageEnabled()) {
|
||||
+ GURL gurl = HomepageManager.getInstance().getHomepageGurl();
|
||||
+ url = gurl != null ? gurl.getSpec() : url;
|
||||
+ }
|
||||
Tab parentTabToAttach = relatedTabs.get(relatedTabs.size() - 1);
|
||||
mTabCreatorManager
|
||||
.getTabCreator(currentTab.isIncognito())
|
||||
.createNewTab(
|
||||
- new LoadUrlParams(UrlConstants.NTP_URL),
|
||||
+ new LoadUrlParams(url),
|
||||
TabLaunchType.FROM_TAB_GROUP_UI,
|
||||
parentTabToAttach);
|
||||
RecordUserAction.record("MobileNewTabOpened." + mComponentName);
|
||||
diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGroupUiMediator.java b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGroupUiMediator.java
|
||||
--- a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGroupUiMediator.java
|
||||
+++ b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGroupUiMediator.java
|
||||
@@ -68,7 +31,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser
|
||||
import org.chromium.chrome.browser.layouts.LayoutStateProvider;
|
||||
import org.chromium.chrome.browser.layouts.LayoutStateProvider.LayoutStateObserver;
|
||||
import org.chromium.chrome.browser.layouts.LayoutType;
|
||||
@@ -427,10 +428,15 @@ public class TabGroupUiMediator implements BackPressHandler {
|
||||
@@ -433,10 +434,15 @@ public class TabGroupUiMediator implements BackPressHandler {
|
||||
assert relatedTabs.size() > 0;
|
||||
|
||||
parentTabToAttach = relatedTabs.get(relatedTabs.size() - 1);
|
||||
@@ -85,6 +48,33 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser
|
||||
TabLaunchType.FROM_TAB_GROUP_UI,
|
||||
parentTabToAttach);
|
||||
RecordUserAction.record(
|
||||
diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabUiUtils.java b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabUiUtils.java
|
||||
--- a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabUiUtils.java
|
||||
+++ b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabUiUtils.java
|
||||
@@ -31,6 +31,8 @@ import org.chromium.components.tab_group_sync.SavedTabGroup;
|
||||
import org.chromium.components.tab_group_sync.TabGroupSyncService;
|
||||
import org.chromium.components.tab_groups.TabGroupColorId;
|
||||
import org.chromium.content_public.browser.LoadUrlParams;
|
||||
+import org.chromium.chrome.browser.homepage.HomepageManager;
|
||||
+import org.chromium.url.GURL;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
@@ -191,8 +193,13 @@ public class TabUiUtils {
|
||||
List<Tab> relatedTabs = filter.getRelatedTabList(tabId);
|
||||
assert relatedTabs.size() > 0;
|
||||
|
||||
+ String url = UrlConstants.NTP_URL;
|
||||
+ if (HomepageManager.getInstance().getPrefNTPIsHomepageEnabled()) {
|
||||
+ GURL gurl = HomepageManager.getInstance().getHomepageGurl();
|
||||
+ url = gurl != null ? gurl.getSpec() : url;
|
||||
+ }
|
||||
Tab parentTabToAttach = relatedTabs.get(relatedTabs.size() - 1);
|
||||
- tabCreator.createNewTab(new LoadUrlParams(UrlConstants.NTP_URL), type, parentTabToAttach);
|
||||
+ tabCreator.createNewTab(new LoadUrlParams(url), type, parentTabToAttach);
|
||||
}
|
||||
|
||||
/**
|
||||
diff --git a/chrome/android/java/res/xml/homepage_preferences.xml b/chrome/android/java/res/xml/homepage_preferences.xml
|
||||
--- a/chrome/android/java/res/xml/homepage_preferences.xml
|
||||
+++ b/chrome/android/java/res/xml/homepage_preferences.xml
|
||||
@@ -103,7 +93,7 @@ diff --git a/chrome/android/java/res/xml/homepage_preferences.xml b/chrome/andro
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/homepage/HomepageManager.java b/chrome/android/java/src/org/chromium/chrome/browser/homepage/HomepageManager.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/homepage/HomepageManager.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/homepage/HomepageManager.java
|
||||
@@ -238,6 +238,22 @@ public class HomepageManager
|
||||
@@ -237,6 +237,22 @@ public class HomepageManager
|
||||
notifyHomepageUpdated();
|
||||
}
|
||||
|
||||
@@ -184,7 +174,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/Chrome
|
||||
import org.chromium.chrome.browser.prefetch.settings.PreloadPagesSettingsBridge;
|
||||
import org.chromium.chrome.browser.prefetch.settings.PreloadPagesState;
|
||||
import org.chromium.chrome.browser.profiles.Profile;
|
||||
@@ -484,6 +485,13 @@ public class ChromeTabCreator extends TabCreator {
|
||||
@@ -486,6 +487,13 @@ public class ChromeTabCreator extends TabCreator {
|
||||
* @return the created tab.
|
||||
*/
|
||||
public Tab launchUrl(String url, @TabLaunchType int type, Intent intent, long intentTimestamp) {
|
||||
@@ -223,7 +213,7 @@ diff --git a/chrome/browser/preferences/android/java/src/org/chromium/chrome/bro
|
||||
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
|
||||
@@ -1414,6 +1414,9 @@ Your Google account may have other forms of browsing history like searches and a
|
||||
@@ -1453,6 +1453,9 @@ Your Google account may have other forms of browsing history like searches and a
|
||||
<message name="IDS_CLEAR_BROWSING_DATA_TAB_PERIOD_HOUR" desc="The option to delete browsing data from the last hour.">
|
||||
Last hour
|
||||
</message>
|
||||
@@ -236,7 +226,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro
|
||||
diff --git a/chrome/browser/ui/browser_ui_prefs.cc b/chrome/browser/ui/browser_ui_prefs.cc
|
||||
--- a/chrome/browser/ui/browser_ui_prefs.cc
|
||||
+++ b/chrome/browser/ui/browser_ui_prefs.cc
|
||||
@@ -89,6 +89,8 @@ void RegisterBrowserUserPrefs(user_prefs::PrefRegistrySyncable* registry) {
|
||||
@@ -91,6 +91,8 @@ void RegisterBrowserUserPrefs(user_prefs::PrefRegistrySyncable* registry) {
|
||||
registry->RegisterBooleanPref(
|
||||
prefs::kShowForwardButton, true,
|
||||
GetHomeAndForwardButtonAndHomePageIsNewTabPageFlags());
|
||||
@@ -248,7 +238,7 @@ diff --git a/chrome/browser/ui/browser_ui_prefs.cc b/chrome/browser/ui/browser_u
|
||||
diff --git a/chrome/common/pref_names.h b/chrome/common/pref_names.h
|
||||
--- a/chrome/common/pref_names.h
|
||||
+++ b/chrome/common/pref_names.h
|
||||
@@ -1350,6 +1350,10 @@ inline constexpr char kShowHomeButton[] = "browser.show_home_button";
|
||||
@@ -1361,6 +1361,10 @@ inline constexpr char kShowHomeButton[] = "browser.show_home_button";
|
||||
// toolbar.
|
||||
inline constexpr char kShowForwardButton[] = "browser.show_forward_button";
|
||||
|
||||
|
||||
@@ -566,7 +566,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro
|
||||
diff --git a/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc b/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc
|
||||
--- a/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc
|
||||
+++ b/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc
|
||||
@@ -1823,6 +1823,7 @@ void AddPrivacyStrings(content::WebUIDataSource* html_source,
|
||||
@@ -1814,6 +1814,7 @@ void AddPrivacyStrings(content::WebUIDataSource* html_source,
|
||||
{"clearedData", IDS_SETTINGS_CLEARED_DATA},
|
||||
{"clearBrowsingData", IDS_SETTINGS_CLEAR_BROWSING_DATA},
|
||||
{"clearBrowsingDataDescription", IDS_SETTINGS_CLEAR_DATA_DESCRIPTION},
|
||||
|
||||
@@ -15,7 +15,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
diff --git a/base/android/content_uri_utils.cc b/base/android/content_uri_utils.cc
|
||||
--- a/base/android/content_uri_utils.cc
|
||||
+++ b/base/android/content_uri_utils.cc
|
||||
@@ -39,6 +39,16 @@ int64_t GetContentUriFileSize(const FilePath& content_uri) {
|
||||
@@ -68,6 +68,16 @@ int64_t GetContentUriFileSize(const FilePath& content_uri) {
|
||||
return Java_ContentUriUtils_getContentUriFileSize(env, j_uri);
|
||||
}
|
||||
|
||||
@@ -35,9 +35,9 @@ diff --git a/base/android/content_uri_utils.cc b/base/android/content_uri_utils.
|
||||
diff --git a/base/android/content_uri_utils.h b/base/android/content_uri_utils.h
|
||||
--- a/base/android/content_uri_utils.h
|
||||
+++ b/base/android/content_uri_utils.h
|
||||
@@ -18,6 +18,10 @@ namespace base {
|
||||
// Returns -1 if the URI is invalid.
|
||||
BASE_EXPORT File OpenContentUriForRead(const FilePath& content_uri);
|
||||
@@ -27,6 +27,10 @@ BASE_EXPORT std::optional<std::string> TranslateOpenFlagsToJavaMode(
|
||||
BASE_EXPORT File OpenContentUri(const FilePath& content_uri,
|
||||
uint32_t open_flags);
|
||||
|
||||
+// Opens a content URI for write and returns the file descriptor to the caller.
|
||||
+// Returns -1 if the URI is invalid.
|
||||
@@ -67,7 +67,7 @@ diff --git a/base/android/java/src/org/chromium/base/ContentUriUtils.java b/base
|
||||
/** This class provides methods to access content URI schemes. */
|
||||
public abstract class ContentUriUtils {
|
||||
private static final String TAG = "ContentUriUtils";
|
||||
@@ -86,6 +90,36 @@ public abstract class ContentUriUtils {
|
||||
@@ -89,6 +93,36 @@ public abstract class ContentUriUtils {
|
||||
return -1;
|
||||
}
|
||||
|
||||
|
||||
@@ -4,61 +4,37 @@ Subject: Allow building without supervised users
|
||||
|
||||
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
---
|
||||
chrome/android/BUILD.gn | 1 -
|
||||
.../browser/feed/FeedSurfaceCoordinator.java | 5 +----
|
||||
.../feedback/ChromeFeedbackCollector.java | 1 -
|
||||
chrome/browser/BUILD.gn | 2 --
|
||||
chrome/browser/feedback/android/BUILD.gn | 2 --
|
||||
.../prefs/chrome_pref_service_factory.cc | 2 +-
|
||||
.../profiles/profile_attributes_entry.cc | 2 +-
|
||||
chrome/browser/profiles/profile_impl.cc | 5 +----
|
||||
chrome/browser/profiles/profile_manager.cc | 20 -------------------
|
||||
chrome/browser/ui/webui/managed_ui_handler.cc | 4 ----
|
||||
.../webui/management/management_ui_handler.cc | 4 ----
|
||||
.../browser/supervised_user_pref_store.cc | 1 +
|
||||
.../browser/supervised_user_preferences.cc | 6 +++++-
|
||||
.../core/browser/supervised_user_service.cc | 5 +----
|
||||
.../core/browser/supervised_user_utils.cc | 1 +
|
||||
.../supervised_user/core/common/features.cc | 6 ++++++
|
||||
16 files changed, 18 insertions(+), 49 deletions(-)
|
||||
chrome/android/BUILD.gn | 1 -
|
||||
.../chrome/browser/feedback/ChromeFeedbackCollector.java | 1 -
|
||||
chrome/browser/feedback/android/BUILD.gn | 2 --
|
||||
chrome/browser/prefs/chrome_pref_service_factory.cc | 2 +-
|
||||
chrome/browser/profiles/profile_attributes_entry.cc | 2 +-
|
||||
chrome/browser/profiles/profile_impl.cc | 5 +----
|
||||
chrome/browser/profiles/profile_manager.cc | 7 -------
|
||||
chrome/browser/ui/webui/managed_ui_handler.cc | 4 ----
|
||||
.../browser/ui/webui/management/management_ui_handler.cc | 4 ----
|
||||
.../core/browser/supervised_user_pref_store.cc | 1 +
|
||||
.../core/browser/supervised_user_preferences.cc | 6 +++++-
|
||||
.../core/browser/supervised_user_service.cc | 5 +----
|
||||
.../supervised_user/core/browser/supervised_user_utils.cc | 1 +
|
||||
components/supervised_user/core/common/features.cc | 6 ++++++
|
||||
14 files changed, 17 insertions(+), 30 deletions(-)
|
||||
|
||||
diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
|
||||
--- a/chrome/android/BUILD.gn
|
||||
+++ b/chrome/android/BUILD.gn
|
||||
@@ -780,7 +780,6 @@ if (current_toolchain == default_toolchain) {
|
||||
"//components/dom_distiller/core:distiller_type_java",
|
||||
"//components/ntp_tiles:ntp_tiles_enums_java",
|
||||
@@ -783,7 +783,6 @@ if (current_toolchain == default_toolchain) {
|
||||
"//components/offline_pages/core:offline_page_model_enums_java",
|
||||
"//components/sharing_message:sharing_dialog_type_generated_enum",
|
||||
"//components/sharing_message:sharing_send_message_result_generated_enum",
|
||||
- "//components/supervised_user/core/browser:supervised_user_utils_enum_javagen",
|
||||
]
|
||||
|
||||
# From java_sources.gni.
|
||||
diff --git a/chrome/android/feed/core/java/src/org/chromium/chrome/browser/feed/FeedSurfaceCoordinator.java b/chrome/android/feed/core/java/src/org/chromium/chrome/browser/feed/FeedSurfaceCoordinator.java
|
||||
--- a/chrome/android/feed/core/java/src/org/chromium/chrome/browser/feed/FeedSurfaceCoordinator.java
|
||||
+++ b/chrome/android/feed/core/java/src/org/chromium/chrome/browser/feed/FeedSurfaceCoordinator.java
|
||||
@@ -67,7 +67,6 @@ import org.chromium.components.browser_ui.widget.displaystyle.UiConfig;
|
||||
import org.chromium.components.feature_engagement.EventConstants;
|
||||
import org.chromium.components.feature_engagement.Tracker;
|
||||
import org.chromium.components.prefs.PrefService;
|
||||
-import org.chromium.components.supervised_user.SupervisedUserPreferences;
|
||||
import org.chromium.components.user_prefs.UserPrefs;
|
||||
import org.chromium.third_party.android.swiperefresh.SwipeRefreshLayout;
|
||||
import org.chromium.ui.base.DeviceFormFactor;
|
||||
@@ -784,9 +783,7 @@ public class FeedSurfaceCoordinator
|
||||
* Returns true if the supervised user feed should be displayed.
|
||||
*/
|
||||
public boolean shouldDisplaySupervisedFeed() {
|
||||
- PrefService prefService = UserPrefs.get(mProfile);
|
||||
- return SupervisedUserPreferences.isSubjectToParentalControls(prefService)
|
||||
- && ChromeFeatureList.isEnabled(ChromeFeatureList.KID_FRIENDLY_CONTENT_FEED);
|
||||
+ return false;
|
||||
}
|
||||
|
||||
/**
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/feedback/ChromeFeedbackCollector.java b/chrome/android/java/src/org/chromium/chrome/browser/feedback/ChromeFeedbackCollector.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/feedback/ChromeFeedbackCollector.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/feedback/ChromeFeedbackCollector.java
|
||||
@@ -85,7 +85,6 @@ public class ChromeFeedbackCollector extends FeedbackCollector<ChromeFeedbackCol
|
||||
@@ -91,7 +91,6 @@ public class ChromeFeedbackCollector extends FeedbackCollector<ChromeFeedbackCol
|
||||
// FamilyInfoFeedbackSource relies on IdentityManager which is not available for the
|
||||
// incognito profile.
|
||||
if (!initParams.profile.isOffTheRecord()) {
|
||||
@@ -66,22 +42,10 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/feedback/Chrome
|
||||
}
|
||||
|
||||
return sources;
|
||||
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
|
||||
--- a/chrome/browser/BUILD.gn
|
||||
+++ b/chrome/browser/BUILD.gn
|
||||
@@ -3263,8 +3263,6 @@ static_library("browser") {
|
||||
"feed/android/refresh_task_scheduler_impl.cc",
|
||||
"feed/android/refresh_task_scheduler_impl.h",
|
||||
"feed/android/web_feed_bridge.cc",
|
||||
- "feedback/android/family_info_feedback_source.cc",
|
||||
- "feedback/android/family_info_feedback_source.h",
|
||||
"first_run/android/first_run_prefs.cc",
|
||||
"first_run/android/first_run_prefs.h",
|
||||
"first_run/android/first_run_utils.cc",
|
||||
diff --git a/chrome/browser/feedback/android/BUILD.gn b/chrome/browser/feedback/android/BUILD.gn
|
||||
--- a/chrome/browser/feedback/android/BUILD.gn
|
||||
+++ b/chrome/browser/feedback/android/BUILD.gn
|
||||
@@ -7,7 +7,6 @@ import("//third_party/jni_zero/jni_zero.gni")
|
||||
@@ -8,7 +8,6 @@ import("//third_party/jni_zero/jni_zero.gni")
|
||||
|
||||
generate_jni("jni_headers") {
|
||||
sources = [
|
||||
@@ -89,18 +53,18 @@ diff --git a/chrome/browser/feedback/android/BUILD.gn b/chrome/browser/feedback/
|
||||
"java/src/org/chromium/chrome/browser/feedback/ProcessIdFeedbackSource.java",
|
||||
"java/src/org/chromium/chrome/browser/feedback/SystemInfoFeedbackSource.java",
|
||||
]
|
||||
@@ -32,7 +31,6 @@ android_library("java") {
|
||||
@@ -55,7 +54,6 @@ android_library("java") {
|
||||
sources = [
|
||||
"java/src/org/chromium/chrome/browser/feedback/AsyncFeedbackSourceAdapter.java",
|
||||
"java/src/org/chromium/chrome/browser/feedback/DeviceInfoFeedbackSource.java",
|
||||
- "java/src/org/chromium/chrome/browser/feedback/FamilyInfoFeedbackSource.java",
|
||||
"java/src/org/chromium/chrome/browser/feedback/FeedbackContextFeedbackSource.java",
|
||||
"java/src/org/chromium/chrome/browser/feedback/FragmentHelpAndFeedbackLauncher.java",
|
||||
"java/src/org/chromium/chrome/browser/feedback/HelpAndFeedbackLauncher.java",
|
||||
"java/src/org/chromium/chrome/browser/feedback/IMEFeedbackSource.java",
|
||||
diff --git a/chrome/browser/prefs/chrome_pref_service_factory.cc b/chrome/browser/prefs/chrome_pref_service_factory.cc
|
||||
--- a/chrome/browser/prefs/chrome_pref_service_factory.cc
|
||||
+++ b/chrome/browser/prefs/chrome_pref_service_factory.cc
|
||||
@@ -338,7 +338,7 @@ void PrepareFactory(
|
||||
@@ -337,7 +337,7 @@ void PrepareFactory(
|
||||
policy::BrowserPolicyConnector* policy_connector) {
|
||||
factory->SetManagedPolicies(policy_service, policy_connector);
|
||||
factory->SetRecommendedPolicies(policy_service, policy_connector);
|
||||
@@ -112,7 +76,7 @@ diff --git a/chrome/browser/prefs/chrome_pref_service_factory.cc b/chrome/browse
|
||||
diff --git a/chrome/browser/profiles/profile_attributes_entry.cc b/chrome/browser/profiles/profile_attributes_entry.cc
|
||||
--- a/chrome/browser/profiles/profile_attributes_entry.cc
|
||||
+++ b/chrome/browser/profiles/profile_attributes_entry.cc
|
||||
@@ -459,7 +459,7 @@ bool ProfileAttributesEntry::IsSigninRequired() const {
|
||||
@@ -454,7 +454,7 @@ bool ProfileAttributesEntry::IsSigninRequired() const {
|
||||
}
|
||||
|
||||
std::string ProfileAttributesEntry::GetSupervisedUserId() const {
|
||||
@@ -135,7 +99,7 @@ diff --git a/chrome/browser/profiles/profile_impl.cc b/chrome/browser/profiles/p
|
||||
|
||||
// Changes in the profile avatar.
|
||||
pref_change_registrar_.Add(
|
||||
@@ -1629,6 +1625,7 @@ GURL ProfileImpl::GetHomePage() {
|
||||
@@ -1631,6 +1627,7 @@ GURL ProfileImpl::GetHomePage() {
|
||||
}
|
||||
|
||||
void ProfileImpl::UpdateSupervisedUserIdInStorage() {
|
||||
@@ -146,31 +110,18 @@ diff --git a/chrome/browser/profiles/profile_impl.cc b/chrome/browser/profiles/p
|
||||
diff --git a/chrome/browser/profiles/profile_manager.cc b/chrome/browser/profiles/profile_manager.cc
|
||||
--- a/chrome/browser/profiles/profile_manager.cc
|
||||
+++ b/chrome/browser/profiles/profile_manager.cc
|
||||
@@ -1212,23 +1212,6 @@ void ProfileManager::InitProfileUserPrefs(Profile* profile) {
|
||||
@@ -1213,10 +1213,6 @@ void ProfileManager::InitProfileUserPrefs(Profile* profile) {
|
||||
profile->GetPrefs()->SetString(prefs::kProfileName, profile_name);
|
||||
}
|
||||
|
||||
- base::CommandLine* command_line = base::CommandLine::ForCurrentProcess();
|
||||
- bool force_supervised_user_id =
|
||||
-#if BUILDFLAG(IS_CHROMEOS_ASH)
|
||||
- !ash::IsSigninBrowserContext(profile) &&
|
||||
- !ash::IsLockScreenAppBrowserContext(profile) &&
|
||||
-#endif
|
||||
- command_line->HasSwitch(switches::kSupervisedUserId);
|
||||
-
|
||||
- if (force_supervised_user_id) {
|
||||
- supervised_user_id =
|
||||
- command_line->GetSwitchValueASCII(switches::kSupervisedUserId);
|
||||
- }
|
||||
- if (force_supervised_user_id ||
|
||||
- !profile->GetPrefs()->HasPrefPath(prefs::kSupervisedUserId)) {
|
||||
- if (!profile->GetPrefs()->HasPrefPath(prefs::kSupervisedUserId)) {
|
||||
- profile->GetPrefs()->SetString(prefs::kSupervisedUserId,
|
||||
- supervised_user_id);
|
||||
- }
|
||||
#if !BUILDFLAG(IS_ANDROID)
|
||||
if (profile->IsNewProfile()) {
|
||||
profile->GetPrefs()->SetBoolean(prefs::kHasSeenWelcomePage, false);
|
||||
@@ -2041,9 +2024,6 @@ void ProfileManager::AddProfileToStorage(Profile* profile) {
|
||||
@@ -2029,9 +2025,6 @@ void ProfileManager::AddProfileToStorage(Profile* profile) {
|
||||
init_params.icon_index =
|
||||
profile->GetPrefs()->GetInteger(prefs::kProfileAvatarIndex);
|
||||
|
||||
@@ -222,7 +173,7 @@ diff --git a/components/supervised_user/core/browser/supervised_user_pref_store.
|
||||
diff --git a/components/supervised_user/core/browser/supervised_user_preferences.cc b/components/supervised_user/core/browser/supervised_user_preferences.cc
|
||||
--- a/components/supervised_user/core/browser/supervised_user_preferences.cc
|
||||
+++ b/components/supervised_user/core/browser/supervised_user_preferences.cc
|
||||
@@ -165,6 +165,10 @@ void RegisterProfilePrefs(PrefRegistrySimple* registry) {
|
||||
@@ -158,6 +158,10 @@ void RegisterProfilePrefs(PrefRegistrySimple* registry) {
|
||||
}
|
||||
|
||||
void EnableParentalControls(PrefService& pref_service) {
|
||||
@@ -233,7 +184,7 @@ diff --git a/components/supervised_user/core/browser/supervised_user_preferences
|
||||
pref_service.SetString(prefs::kSupervisedUserId,
|
||||
supervised_user::kChildAccountSUID);
|
||||
SetIsChildAccountStatusKnown(pref_service);
|
||||
@@ -187,7 +191,7 @@ bool IsSafeSitesEnabled(const PrefService& pref_service) {
|
||||
@@ -180,7 +184,7 @@ bool IsSafeSitesEnabled(const PrefService& pref_service) {
|
||||
}
|
||||
|
||||
bool IsSubjectToParentalControls(const PrefService& pref_service) {
|
||||
@@ -241,7 +192,7 @@ diff --git a/components/supervised_user/core/browser/supervised_user_preferences
|
||||
+ return false;
|
||||
}
|
||||
|
||||
bool AreExtensionsPermissionsEnabled(const PrefService& pref_service) {
|
||||
} // namespace supervised_user
|
||||
diff --git a/components/supervised_user/core/browser/supervised_user_service.cc b/components/supervised_user/core/browser/supervised_user_service.cc
|
||||
--- a/components/supervised_user/core/browser/supervised_user_service.cc
|
||||
+++ b/components/supervised_user/core/browser/supervised_user_service.cc
|
||||
@@ -256,7 +207,7 @@ diff --git a/components/supervised_user/core/browser/supervised_user_service.cc
|
||||
FirstTimeInterstitialBannerState banner_state =
|
||||
static_cast<FirstTimeInterstitialBannerState>(
|
||||
user_prefs_->GetInteger(prefs::kFirstTimeInterstitialBannerState));
|
||||
@@ -190,6 +186,7 @@ FirstTimeInterstitialBannerState SupervisedUserService::GetUpdatedBannerState(
|
||||
@@ -187,6 +183,7 @@ FirstTimeInterstitialBannerState SupervisedUserService::GetUpdatedBannerState(
|
||||
}
|
||||
|
||||
void SupervisedUserService::SetActive(bool active) {
|
||||
@@ -278,7 +229,7 @@ diff --git a/components/supervised_user/core/browser/supervised_user_utils.cc b/
|
||||
diff --git a/components/supervised_user/core/common/features.cc b/components/supervised_user/core/common/features.cc
|
||||
--- a/components/supervised_user/core/common/features.cc
|
||||
+++ b/components/supervised_user/core/common/features.cc
|
||||
@@ -179,4 +179,10 @@ bool IsKidFriendlyContentFeedAvailable() {
|
||||
@@ -177,4 +177,10 @@ bool IsKidFriendlyContentFeedAvailable() {
|
||||
return base::FeatureList::IsEnabled(kKidFriendlyContentFeed);
|
||||
}
|
||||
|
||||
|
||||
@@ -6,18 +6,18 @@ Ignore any partner-provided home page.
|
||||
|
||||
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
---
|
||||
.../chromium/chrome/browser/homepage/HomepageManager.java | 4 ----
|
||||
.../partnercustomizations/PartnerBrowserCustomizations.java | 2 +-
|
||||
.../org/chromium/components/search_engines/TemplateUrl.java | 1 +
|
||||
.../search_engines/android/template_url_service_android.cc | 5 +----
|
||||
.../always-use-new-tab-page-for-default-home-page.inc | 2 ++
|
||||
5 files changed, 5 insertions(+), 9 deletions(-)
|
||||
.../org/chromium/chrome/browser/homepage/HomepageManager.java | 4 ----
|
||||
.../partnercustomizations/PartnerBrowserCustomizations.java | 2 +-
|
||||
.../org/chromium/components/search_engines/TemplateUrl.java | 1 +
|
||||
.../search_engines/android/template_url_service_android.cc | 1 +
|
||||
.../always-use-new-tab-page-for-default-home-page.inc | 2 ++
|
||||
5 files changed, 5 insertions(+), 5 deletions(-)
|
||||
create mode 100755 cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/always-use-new-tab-page-for-default-home-page.inc
|
||||
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/homepage/HomepageManager.java b/chrome/android/java/src/org/chromium/chrome/browser/homepage/HomepageManager.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/homepage/HomepageManager.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/homepage/HomepageManager.java
|
||||
@@ -156,10 +156,6 @@ public class HomepageManager
|
||||
@@ -155,10 +155,6 @@ public class HomepageManager
|
||||
* tab page if the homepage button is force enabled via flag.
|
||||
*/
|
||||
public GURL getDefaultHomepageGurl() {
|
||||
@@ -54,18 +54,14 @@ diff --git a/components/search_engines/android/java/src/org/chromium/components/
|
||||
diff --git a/components/search_engines/android/template_url_service_android.cc b/components/search_engines/android/template_url_service_android.cc
|
||||
--- a/components/search_engines/android/template_url_service_android.cc
|
||||
+++ b/components/search_engines/android/template_url_service_android.cc
|
||||
@@ -405,10 +405,7 @@ jboolean TemplateUrlServiceAndroid::SetPlayAPISearchEngine(
|
||||
@@ -404,6 +404,7 @@ jboolean TemplateUrlServiceAndroid::SetPlayAPISearchEngine(
|
||||
jimage_translate_source_language_param_key,
|
||||
const base::android::JavaParamRef<jstring>&
|
||||
jimage_translate_target_language_param_key,
|
||||
jboolean set_as_default) {
|
||||
- // The function is scheduled to run only when the service is loaded, see
|
||||
- // `TemplateUrlService#runWhenLoaded()`.
|
||||
- CHECK(template_url_service_->loaded(), base::NotFatalUntil::M128);
|
||||
-
|
||||
jimage_translate_target_language_param_key) {
|
||||
+ if ((true)) return false;
|
||||
// Check if there is already a search engine created from Play API.
|
||||
TemplateURLService::TemplateURLVector template_urls =
|
||||
template_url_service_->GetTemplateURLs();
|
||||
// The function is scheduled to run only when the service is loaded, see
|
||||
// `TemplateUrlService#runWhenLoaded()`.
|
||||
CHECK(template_url_service_->loaded(), base::NotFatalUntil::M128);
|
||||
diff --git a/cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/always-use-new-tab-page-for-default-home-page.inc b/cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/always-use-new-tab-page-for-default-home-page.inc
|
||||
new file mode 100755
|
||||
--- /dev/null
|
||||
|
||||
@@ -22,7 +22,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
.../android/java/res/xml/main_preferences.xml | 5 +
|
||||
.../browser/settings/AdBlockEditor.java | 91 ++++++
|
||||
.../browser/settings/AdBlockPreferences.java | 58 ++++
|
||||
.../chrome/browser/tabmodel/TabModelImpl.java | 2 +-
|
||||
.../chrome/browser/tabmodel/TabModelImpl.java | 4 +-
|
||||
chrome/app/generated_resources.grd | 10 +
|
||||
chrome/browser/after_startup_task_utils.cc | 4 +
|
||||
chrome/browser/browser_process.h | 6 +
|
||||
@@ -52,7 +52,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
.../core/browser/verified_ruleset_dealer.cc | 4 +
|
||||
.../core/common/indexed_ruleset.cc | 5 +-
|
||||
.../Bromite-subresource-adblocker.inc | 3 +
|
||||
40 files changed, 1256 insertions(+), 127 deletions(-)
|
||||
40 files changed, 1256 insertions(+), 129 deletions(-)
|
||||
create mode 100644 chrome/android/java/res/layout/adblock_editor.xml
|
||||
create mode 100644 chrome/android/java/res/xml/adblock_preferences.xml
|
||||
create mode 100644 chrome/android/java/src/org/chromium/chrome/browser/settings/AdBlockEditor.java
|
||||
@@ -68,7 +68,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
|
||||
--- a/chrome/android/BUILD.gn
|
||||
+++ b/chrome/android/BUILD.gn
|
||||
@@ -353,6 +353,7 @@ if (current_toolchain == default_toolchain) {
|
||||
@@ -357,6 +357,7 @@ if (current_toolchain == default_toolchain) {
|
||||
"//chrome/android/modules/cablev2_authenticator/public:java",
|
||||
"//chrome/android/modules/stack_unwinder/provider:java",
|
||||
"//chrome/android/webapk/libs/client:client_java",
|
||||
@@ -79,7 +79,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
|
||||
diff --git a/chrome/android/chrome_java_resources.gni b/chrome/android/chrome_java_resources.gni
|
||||
--- a/chrome/android/chrome_java_resources.gni
|
||||
+++ b/chrome/android/chrome_java_resources.gni
|
||||
@@ -428,6 +428,7 @@ chrome_java_resources = [
|
||||
@@ -433,6 +433,7 @@ chrome_java_resources = [
|
||||
"java/res/layout/account_divider_preference.xml",
|
||||
"java/res/layout/account_management_account_row.xml",
|
||||
"java/res/layout/app_history_filter.xml",
|
||||
@@ -87,7 +87,7 @@ diff --git a/chrome/android/chrome_java_resources.gni b/chrome/android/chrome_ja
|
||||
"java/res/layout/auto_sign_in_first_run_dialog.xml",
|
||||
"java/res/layout/autofill_billing_address_dropdown.xml",
|
||||
"java/res/layout/autofill_card_name_and_number.xml",
|
||||
@@ -620,6 +621,7 @@ chrome_java_resources = [
|
||||
@@ -623,6 +624,7 @@ chrome_java_resources = [
|
||||
"java/res/xml/about_chrome_preferences.xml",
|
||||
"java/res/xml/account_management_preferences.xml",
|
||||
"java/res/xml/ad_services_config.xml",
|
||||
@@ -98,7 +98,7 @@ diff --git a/chrome/android/chrome_java_resources.gni b/chrome/android/chrome_ja
|
||||
diff --git a/chrome/android/chrome_java_sources.gni b/chrome/android/chrome_java_sources.gni
|
||||
--- a/chrome/android/chrome_java_sources.gni
|
||||
+++ b/chrome/android/chrome_java_sources.gni
|
||||
@@ -950,6 +950,8 @@ chrome_java_sources = [
|
||||
@@ -941,6 +941,8 @@ chrome_java_sources = [
|
||||
"java/src/org/chromium/chrome/browser/permissions/PermissionSettingsBridge.java",
|
||||
"java/src/org/chromium/chrome/browser/permissions/PermissionUpdateRequester.java",
|
||||
"java/src/org/chromium/chrome/browser/photo_picker/DecoderServiceImpl.java",
|
||||
@@ -428,19 +428,21 @@ new file mode 100644
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabModelImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabModelImpl.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabModelImpl.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabModelImpl.java
|
||||
@@ -860,7 +860,7 @@ public class TabModelImpl extends TabModelJniBridge {
|
||||
protected boolean createTabWithWebContents(
|
||||
Tab parent, Profile profile, WebContents webContents) {
|
||||
return getTabCreator(profile.isOffTheRecord())
|
||||
- .createTabWithWebContents(parent, webContents, TabLaunchType.FROM_RECENT_TABS);
|
||||
+ .createTabWithWebContents(parent, webContents, TabLaunchType.FROM_LINK);
|
||||
@@ -853,9 +853,7 @@ public class TabModelImpl extends TabModelJniBridge {
|
||||
.createTabWithWebContents(
|
||||
parent,
|
||||
webContents,
|
||||
- select
|
||||
- ? TabLaunchType.FROM_RECENT_TABS_FOREGROUND
|
||||
- : TabLaunchType.FROM_RECENT_TABS);
|
||||
+ TabLaunchType.FROM_LINK);
|
||||
}
|
||||
|
||||
@Override
|
||||
diff --git a/chrome/app/generated_resources.grd b/chrome/app/generated_resources.grd
|
||||
--- a/chrome/app/generated_resources.grd
|
||||
+++ b/chrome/app/generated_resources.grd
|
||||
@@ -15805,6 +15805,16 @@ Please help our engineers fix this problem. Tell us what happened right before y
|
||||
@@ -15905,6 +15905,16 @@ Please help our engineers fix this problem. Tell us what happened right before y
|
||||
Never show this again.
|
||||
</message>
|
||||
|
||||
@@ -481,7 +483,7 @@ diff --git a/chrome/browser/after_startup_task_utils.cc b/chrome/browser/after_s
|
||||
diff --git a/chrome/browser/browser_process.h b/chrome/browser/browser_process.h
|
||||
--- a/chrome/browser/browser_process.h
|
||||
+++ b/chrome/browser/browser_process.h
|
||||
@@ -21,6 +21,7 @@
|
||||
@@ -31,6 +31,7 @@
|
||||
#include "build/chromeos_buildflags.h"
|
||||
#include "chrome/common/buildflags.h"
|
||||
#include "media/media_buildflags.h"
|
||||
@@ -489,7 +491,7 @@ diff --git a/chrome/browser/browser_process.h b/chrome/browser/browser_process.h
|
||||
|
||||
class BackgroundModeManager;
|
||||
class BrowserProcessPlatformPart;
|
||||
@@ -72,6 +73,10 @@ namespace component_updater {
|
||||
@@ -86,6 +87,10 @@ namespace component_updater {
|
||||
class ComponentUpdateService;
|
||||
}
|
||||
|
||||
@@ -497,10 +499,10 @@ diff --git a/chrome/browser/browser_process.h b/chrome/browser/browser_process.h
|
||||
+class AdBlockUpdaterService;
|
||||
+}
|
||||
+
|
||||
namespace extensions {
|
||||
class EventRouterForwarder;
|
||||
namespace gcm {
|
||||
class GCMDriver;
|
||||
}
|
||||
@@ -255,6 +260,7 @@ class BrowserProcess {
|
||||
@@ -264,6 +269,7 @@ class BrowserProcess {
|
||||
#endif
|
||||
|
||||
virtual component_updater::ComponentUpdateService* component_updater() = 0;
|
||||
@@ -550,7 +552,7 @@ diff --git a/chrome/browser/browser_process_impl.h b/chrome/browser/browser_proc
|
||||
MediaFileSystemRegistry* media_file_system_registry() override;
|
||||
WebRtcLogUploader* webrtc_log_uploader() override;
|
||||
network_time::NetworkTimeTracker* network_time_tracker() override;
|
||||
@@ -420,6 +421,7 @@ class BrowserProcessImpl : public BrowserProcess,
|
||||
@@ -419,6 +420,7 @@ class BrowserProcessImpl : public BrowserProcess,
|
||||
// to concerns over integrity of data shared between profiles,
|
||||
// but some users of component updater only install per-user.
|
||||
std::unique_ptr<component_updater::ComponentUpdateService> component_updater_;
|
||||
@@ -561,7 +563,7 @@ diff --git a/chrome/browser/browser_process_impl.h b/chrome/browser/browser_proc
|
||||
diff --git a/chrome/browser/chrome_browser_main.cc b/chrome/browser/chrome_browser_main.cc
|
||||
--- a/chrome/browser/chrome_browser_main.cc
|
||||
+++ b/chrome/browser/chrome_browser_main.cc
|
||||
@@ -474,6 +474,9 @@ StartupProfileInfo CreateInitialProfile(
|
||||
@@ -470,6 +470,9 @@ StartupProfileInfo CreateInitialProfile(
|
||||
// missing code in the above test.
|
||||
CHECK(profile_info.profile) << "Cannot get default profile.";
|
||||
|
||||
@@ -672,7 +674,7 @@ new file mode 100755
|
||||
diff --git a/chrome/browser/net/system_network_context_manager.cc b/chrome/browser/net/system_network_context_manager.cc
|
||||
--- a/chrome/browser/net/system_network_context_manager.cc
|
||||
+++ b/chrome/browser/net/system_network_context_manager.cc
|
||||
@@ -630,6 +630,10 @@ SystemNetworkContextManager::~SystemNetworkContextManager() {
|
||||
@@ -635,6 +635,10 @@ SystemNetworkContextManager::~SystemNetworkContextManager() {
|
||||
void SystemNetworkContextManager::RegisterPrefs(PrefRegistrySimple* registry) {
|
||||
StubResolverConfigReader::RegisterPrefs(registry);
|
||||
|
||||
@@ -686,7 +688,7 @@ diff --git a/chrome/browser/net/system_network_context_manager.cc b/chrome/brows
|
||||
diff --git a/chrome/browser/sessions/session_restore_android.cc b/chrome/browser/sessions/session_restore_android.cc
|
||||
--- a/chrome/browser/sessions/session_restore_android.cc
|
||||
+++ b/chrome/browser/sessions/session_restore_android.cc
|
||||
@@ -56,8 +56,10 @@ content::WebContents* SessionRestore::RestoreForeignSessionTab(
|
||||
@@ -57,8 +57,10 @@ content::WebContents* SessionRestore::RestoreForeignSessionTab(
|
||||
DCHECK(current_tab);
|
||||
// If swapped, return the current tab's most up-to-date web contents.
|
||||
if (disposition == WindowOpenDisposition::CURRENT_TAB) {
|
||||
@@ -726,7 +728,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro
|
||||
diff --git a/chrome/common/pref_names.h b/chrome/common/pref_names.h
|
||||
--- a/chrome/common/pref_names.h
|
||||
+++ b/chrome/common/pref_names.h
|
||||
@@ -2779,6 +2779,11 @@ inline constexpr char kAudioCaptureAllowed[] = "hardware.audio_capture_enabled";
|
||||
@@ -2824,6 +2824,11 @@ inline constexpr char kAudioCaptureAllowed[] = "hardware.audio_capture_enabled";
|
||||
inline constexpr char kAudioCaptureAllowedUrls[] =
|
||||
"hardware.audio_capture_allowed_urls";
|
||||
|
||||
@@ -1568,7 +1570,7 @@ diff --git a/components/subresource_filter/content/browser/content_subresource_f
|
||||
web_contents_helper_(web_contents_helper) {}
|
||||
|
||||
ContentSubresourceFilterThrottleManager::
|
||||
@@ -668,6 +672,17 @@ ContentSubresourceFilterThrottleManager::
|
||||
@@ -667,6 +671,17 @@ ContentSubresourceFilterThrottleManager::
|
||||
throttle->NotifyPageActivationWithRuleset(EnsureRulesetHandle(),
|
||||
ad_tagging_state);
|
||||
}
|
||||
|
||||
@@ -20,9 +20,9 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
.../blink/renderer/core/frame/navigator_ua.idl | 4 +++-
|
||||
.../renderer/core/frame/navigator_ua_data.cc | 1 +
|
||||
.../renderer/core/frame/navigator_ua_data.idl | 5 ++++-
|
||||
.../renderer/core/loader/base_fetch_context.cc | 6 ++++--
|
||||
.../renderer/core/loader/frame_fetch_context.cc | 4 +++-
|
||||
.../platform/runtime_enabled_features.json5 | 5 +++++
|
||||
15 files changed, 56 insertions(+), 14 deletions(-)
|
||||
15 files changed, 55 insertions(+), 13 deletions(-)
|
||||
create mode 100644 cromite_flags/chrome/browser/about_flags_cc/Client-hints-overrides.inc
|
||||
create mode 100644 cromite_flags/content/common/features_cc/Client-hints-overrides.inc
|
||||
create mode 100644 cromite_flags/services/network/public/cpp/features_cc/Client-hints-overrides.inc
|
||||
@@ -90,7 +90,7 @@ diff --git a/content/browser/client_hints/client_hints.cc b/content/browser/clie
|
||||
diff --git a/content/browser/loader/navigation_url_loader_impl.cc b/content/browser/loader/navigation_url_loader_impl.cc
|
||||
--- a/content/browser/loader/navigation_url_loader_impl.cc
|
||||
+++ b/content/browser/loader/navigation_url_loader_impl.cc
|
||||
@@ -1206,6 +1206,11 @@ void NavigationURLLoaderImpl::OnAcceptCHFrameReceived(
|
||||
@@ -1208,6 +1208,11 @@ void NavigationURLLoaderImpl::OnAcceptCHFrameReceived(
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -131,7 +131,7 @@ new file mode 100644
|
||||
diff --git a/net/http/http_network_transaction.cc b/net/http/http_network_transaction.cc
|
||||
--- a/net/http/http_network_transaction.cc
|
||||
+++ b/net/http/http_network_transaction.cc
|
||||
@@ -107,6 +107,7 @@ const size_t kMaxRestarts = 32;
|
||||
@@ -108,6 +108,7 @@ const size_t kMaxRestarts = 32;
|
||||
|
||||
// Returns true when Early Hints are allowed on the given protocol.
|
||||
bool EarlyHintsAreAllowedOn(HttpConnectionInfo connection_info) {
|
||||
@@ -231,40 +231,31 @@ diff --git a/third_party/blink/renderer/core/frame/navigator_ua_data.idl b/third
|
||||
[HighEntropy, MeasureAs=NavigatorUAData_Brands] readonly attribute FrozenArray<NavigatorUABrandVersion> brands;
|
||||
[HighEntropy=Direct, MeasureAs=NavigatorUAData_Mobile] readonly attribute boolean mobile;
|
||||
[HighEntropy=Direct, MeasureAs=NavigatorUAData_Platform] readonly attribute DOMString platform;
|
||||
diff --git a/third_party/blink/renderer/core/loader/base_fetch_context.cc b/third_party/blink/renderer/core/loader/base_fetch_context.cc
|
||||
--- a/third_party/blink/renderer/core/loader/base_fetch_context.cc
|
||||
+++ b/third_party/blink/renderer/core/loader/base_fetch_context.cc
|
||||
@@ -167,7 +167,7 @@ void BaseFetchContext::AddClientHintsIfNecessary(
|
||||
// specifying accomponying client hints, in which case we disable sending
|
||||
// them.
|
||||
using network::mojom::blink::WebClientHintsType;
|
||||
- if (ua) {
|
||||
+ if (RuntimeEnabledFeatures::UserAgentClientHintEnabled() && ua) {
|
||||
// ShouldSendClientHint is called to make sure UA is controlled by
|
||||
// Permissions Policy.
|
||||
if (ShouldSendClientHint(policy, resource_origin, is_1p_origin,
|
||||
@@ -329,7 +329,7 @@ void BaseFetchContext::AddClientHintsIfNecessary(
|
||||
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
|
||||
@@ -216,6 +216,8 @@ bool ShouldSendClientHint(const PermissionsPolicy& policy,
|
||||
bool is_1p_origin,
|
||||
network::mojom::blink::WebClientHintsType type,
|
||||
const ClientHintsPreferences& hints_preferences) {
|
||||
+ if (!RuntimeEnabledFeatures::UserAgentClientHintEnabled())
|
||||
+ return false;
|
||||
// For subresource requests, sending the hint in the fetch request based on
|
||||
// the permissions policy.
|
||||
if (!policy.IsFeatureEnabledForOrigin(
|
||||
@@ -600,7 +602,7 @@ void FrameFetchContext::AddClientHintsIfNecessary(
|
||||
}
|
||||
|
||||
// Only send User Agent hints if the info is available
|
||||
- if (ua) {
|
||||
+ if (RuntimeEnabledFeatures::UserAgentClientHintEnabled() && ua) {
|
||||
if (ShouldSendClientHint(policy, resource_origin, is_1p_origin,
|
||||
WebClientHintsType::kUAArch, hints_preferences)) {
|
||||
SetHttpHeader(WebClientHintsType::kUAArch,
|
||||
@@ -682,6 +682,8 @@ bool BaseFetchContext::ShouldSendClientHint(
|
||||
bool is_1p_origin,
|
||||
network::mojom::blink::WebClientHintsType type,
|
||||
const ClientHintsPreferences& hints_preferences) const {
|
||||
+ if (!RuntimeEnabledFeatures::UserAgentClientHintEnabled())
|
||||
+ return false;
|
||||
// For subresource requests, sending the hint in the fetch request based on
|
||||
// the permissions policy.
|
||||
if ((!policy ||
|
||||
// ShouldSendClientHint is called to make sure UA is controlled by
|
||||
// Permissions Policy.
|
||||
if (ShouldSendClientHint(*policy, resource_origin, is_1p_origin,
|
||||
diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5 b/third_party/blink/renderer/platform/runtime_enabled_features.json5
|
||||
--- a/third_party/blink/renderer/platform/runtime_enabled_features.json5
|
||||
+++ b/third_party/blink/renderer/platform/runtime_enabled_features.json5
|
||||
@@ -361,6 +361,11 @@
|
||||
@@ -381,6 +381,11 @@
|
||||
name: "AtomicMoveAPI",
|
||||
status: "test",
|
||||
},
|
||||
|
||||
@@ -13137,7 +13137,7 @@ e)fqMZZ`3a)Ds&5H<cfp<0000<MNUMnLSTYHt&Yn8
|
||||
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
|
||||
--- a/chrome/browser/BUILD.gn
|
||||
+++ b/chrome/browser/BUILD.gn
|
||||
@@ -2062,6 +2062,7 @@ static_library("browser") {
|
||||
@@ -1899,6 +1899,7 @@ static_library("browser") {
|
||||
"//build:chromeos_buildflags",
|
||||
"//build/config/chromebox_for_meetings:buildflags",
|
||||
"//build/config/compiler:compiler_buildflags",
|
||||
@@ -13160,7 +13160,7 @@ diff --git a/chrome/browser/omaha/android/java/src/org/chromium/chrome/browser/o
|
||||
diff --git a/chrome/browser/prefs/chrome_pref_service_factory.cc b/chrome/browser/prefs/chrome_pref_service_factory.cc
|
||||
--- a/chrome/browser/prefs/chrome_pref_service_factory.cc
|
||||
+++ b/chrome/browser/prefs/chrome_pref_service_factory.cc
|
||||
@@ -25,6 +25,7 @@
|
||||
@@ -30,6 +30,7 @@
|
||||
#include "build/branding_buildflags.h"
|
||||
#include "build/build_config.h"
|
||||
#include "build/chromeos_buildflags.h"
|
||||
@@ -13168,7 +13168,7 @@ diff --git a/chrome/browser/prefs/chrome_pref_service_factory.cc b/chrome/browse
|
||||
#include "chrome/browser/browser_process.h"
|
||||
#include "chrome/browser/enterprise/signin/enterprise_signin_prefs.h"
|
||||
#include "chrome/browser/policy/chrome_browser_policy_connector.h"
|
||||
@@ -291,10 +292,7 @@ std::unique_ptr<ProfilePrefStoreManager> CreateProfilePrefStoreManager(
|
||||
@@ -290,10 +291,7 @@ std::unique_ptr<ProfilePrefStoreManager> CreateProfilePrefStoreManager(
|
||||
#endif
|
||||
std::string seed;
|
||||
CHECK(ui::ResourceBundle::HasSharedInstance());
|
||||
@@ -13218,7 +13218,7 @@ diff --git a/chrome/browser/resources/settings/settings_menu/settings_menu.html
|
||||
</a>
|
||||
<a role="menuitem" id="about-menu" href="/help"
|
||||
class="cr-nav-menu-item">
|
||||
- <iron-icon icon="settings:about"></iron-icon>
|
||||
- <iron-icon icon="cr:chrome-product"></iron-icon>
|
||||
+ <span id="aboutIcon" class="cr-icon" role="presentation"></span>
|
||||
$i18n{aboutPageTitle}
|
||||
<cr-ripple></cr-ripple>
|
||||
@@ -13226,7 +13226,7 @@ diff --git a/chrome/browser/resources/settings/settings_menu/settings_menu.html
|
||||
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
|
||||
@@ -2438,7 +2438,7 @@ Your Google account may have other forms of browsing history like searches and a
|
||||
@@ -2393,7 +2393,7 @@ Your Google account may have other forms of browsing history like searches and a
|
||||
About Chrome
|
||||
</message>
|
||||
<message name="IDS_LEGAL_INFORMATION_SUMMARY" desc="Summary for legal information" meaning="Android">
|
||||
@@ -18920,7 +18920,7 @@ diff --git a/components/version_ui/resources/about_version_mobile.css b/componen
|
||||
diff --git a/content/child/runtime_features.cc b/content/child/runtime_features.cc
|
||||
--- a/content/child/runtime_features.cc
|
||||
+++ b/content/child/runtime_features.cc
|
||||
@@ -617,7 +617,7 @@ void ResolveInvalidConfigurations() {
|
||||
@@ -622,7 +622,7 @@ void ResolveInvalidConfigurations() {
|
||||
base::FeatureList::IsEnabled(
|
||||
features::kPrivacySandboxAdsAPIsM1Override)) &&
|
||||
!base::FeatureList::IsEnabled(blink::features::kFencedFrames)) {
|
||||
@@ -18929,7 +18929,7 @@ diff --git a/content/child/runtime_features.cc b/content/child/runtime_features.
|
||||
<< "Fenced frames cannot be enabled in this configuration. Use --"
|
||||
<< switches::kEnableFeatures << "="
|
||||
<< blink::features::kFencedFrames.name << " instead.";
|
||||
@@ -627,9 +627,8 @@ void ResolveInvalidConfigurations() {
|
||||
@@ -632,9 +632,8 @@ void ResolveInvalidConfigurations() {
|
||||
if (!base::FeatureList::IsEnabled(blink::features::kFencedFrames) &&
|
||||
base::FeatureList::IsEnabled(
|
||||
blink::features::kFencedFramesLocalUnpartitionedDataAccess)) {
|
||||
@@ -18941,7 +18941,7 @@ diff --git a/content/child/runtime_features.cc b/content/child/runtime_features.
|
||||
<< "Fenced frames must be enabled in order to enable local "
|
||||
"unpartitioned "
|
||||
<< "data access. Use --" << switches::kEnableFeatures << "="
|
||||
@@ -642,7 +641,7 @@ void ResolveInvalidConfigurations() {
|
||||
@@ -647,7 +646,7 @@ void ResolveInvalidConfigurations() {
|
||||
// The Document API should be additionally gated by the
|
||||
// `kBrowsingTopicsDocumentAPI` feature.
|
||||
if (!base::FeatureList::IsEnabled(blink::features::kBrowsingTopics)) {
|
||||
@@ -18950,7 +18950,7 @@ diff --git a/content/child/runtime_features.cc b/content/child/runtime_features.
|
||||
<< "Topics cannot be enabled in this configuration. Use --"
|
||||
<< switches::kEnableFeatures << "="
|
||||
<< blink::features::kBrowsingTopics.name << " in addition.";
|
||||
@@ -662,7 +661,7 @@ void ResolveInvalidConfigurations() {
|
||||
@@ -667,7 +666,7 @@ void ResolveInvalidConfigurations() {
|
||||
}
|
||||
|
||||
if (!base::FeatureList::IsEnabled(blink::features::kSharedStorageAPI)) {
|
||||
@@ -18959,7 +18959,7 @@ diff --git a/content/child/runtime_features.cc b/content/child/runtime_features.
|
||||
<< "SharedStorage cannot be enabled in this "
|
||||
"configuration. Use --"
|
||||
<< switches::kEnableFeatures << "="
|
||||
@@ -672,7 +671,7 @@ void ResolveInvalidConfigurations() {
|
||||
@@ -677,7 +676,7 @@ void ResolveInvalidConfigurations() {
|
||||
|
||||
if (!base::FeatureList::IsEnabled(blink::features::kSharedStorageAPIM118) ||
|
||||
!base::FeatureList::IsEnabled(blink::features::kSharedStorageAPI)) {
|
||||
@@ -18968,7 +18968,7 @@ diff --git a/content/child/runtime_features.cc b/content/child/runtime_features.
|
||||
<< "SharedStorage for M118+ cannot be enabled in this "
|
||||
"configuration. Use --"
|
||||
<< switches::kEnableFeatures << "="
|
||||
@@ -683,7 +682,7 @@ void ResolveInvalidConfigurations() {
|
||||
@@ -688,7 +687,7 @@ void ResolveInvalidConfigurations() {
|
||||
|
||||
if (!base::FeatureList::IsEnabled(blink::features::kSharedStorageAPIM125) ||
|
||||
!base::FeatureList::IsEnabled(blink::features::kSharedStorageAPI)) {
|
||||
@@ -18977,7 +18977,7 @@ diff --git a/content/child/runtime_features.cc b/content/child/runtime_features.
|
||||
<< "SharedStorage for M125+ cannot be enabled in this "
|
||||
"configuration. Use --"
|
||||
<< switches::kEnableFeatures << "="
|
||||
@@ -694,7 +693,7 @@ void ResolveInvalidConfigurations() {
|
||||
@@ -699,7 +698,7 @@ void ResolveInvalidConfigurations() {
|
||||
|
||||
if (!base::FeatureList::IsEnabled(
|
||||
attribution_reporting::features::kConversionMeasurement)) {
|
||||
@@ -18986,7 +18986,7 @@ diff --git a/content/child/runtime_features.cc b/content/child/runtime_features.
|
||||
<< "AttributionReporting cannot be enabled in this "
|
||||
"configuration. Use --"
|
||||
<< switches::kEnableFeatures << "="
|
||||
@@ -707,8 +706,8 @@ void ResolveInvalidConfigurations() {
|
||||
@@ -712,8 +711,8 @@ void ResolveInvalidConfigurations() {
|
||||
attribution_reporting::features::kConversionMeasurement) ||
|
||||
!base::FeatureList::IsEnabled(
|
||||
network::features::kAttributionReportingCrossAppWeb)) {
|
||||
@@ -18997,7 +18997,7 @@ diff --git a/content/child/runtime_features.cc b/content/child/runtime_features.
|
||||
<< "AttributionReportingCrossAppWeb cannot be enabled in this "
|
||||
"configuration. Use --"
|
||||
<< switches::kEnableFeatures << "="
|
||||
@@ -719,7 +718,7 @@ void ResolveInvalidConfigurations() {
|
||||
@@ -724,7 +723,7 @@ void ResolveInvalidConfigurations() {
|
||||
}
|
||||
|
||||
if (!base::FeatureList::IsEnabled(blink::features::kInterestGroupStorage)) {
|
||||
|
||||
@@ -4,32 +4,12 @@ Subject: Disable feeds support by default
|
||||
|
||||
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
---
|
||||
chrome/browser/BUILD.gn | 9 +++++++++
|
||||
chrome/browser/feed/android/web_feed_bridge.cc | 18 ++++++++++++++++++
|
||||
chrome/browser/prefs/browser_prefs.cc | 10 +++++-----
|
||||
chrome/browser/prefs/browser_prefs.cc | 2 +-
|
||||
.../feed/core/shared_prefs/pref_names.cc | 2 +-
|
||||
components/feed/feed_feature_list.cc | 3 +++
|
||||
5 files changed, 36 insertions(+), 6 deletions(-)
|
||||
4 files changed, 23 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
|
||||
--- a/chrome/browser/BUILD.gn
|
||||
+++ b/chrome/browser/BUILD.gn
|
||||
@@ -2658,6 +2658,15 @@ static_library("browser") {
|
||||
]
|
||||
}
|
||||
|
||||
+ if (is_android && !enable_feed_v2) {
|
||||
+ sources += [
|
||||
+ "feed/feed_service_factory.cc",
|
||||
+ "feed/feed_service_factory.h",
|
||||
+ ]
|
||||
+ deps += [
|
||||
+ "//components/feed:feature_list",
|
||||
+ ]
|
||||
+ }
|
||||
if (enable_feed_v2) {
|
||||
sources += [
|
||||
"feed/feed_service_factory.cc",
|
||||
diff --git a/chrome/browser/feed/android/web_feed_bridge.cc b/chrome/browser/feed/android/web_feed_bridge.cc
|
||||
--- a/chrome/browser/feed/android/web_feed_bridge.cc
|
||||
+++ b/chrome/browser/feed/android/web_feed_bridge.cc
|
||||
@@ -109,34 +89,7 @@ diff --git a/chrome/browser/feed/android/web_feed_bridge.cc b/chrome/browser/fee
|
||||
diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browser_prefs.cc
|
||||
--- a/chrome/browser/prefs/browser_prefs.cc
|
||||
+++ b/chrome/browser/prefs/browser_prefs.cc
|
||||
@@ -251,11 +251,11 @@
|
||||
#endif
|
||||
|
||||
#include "components/feed/buildflags.h"
|
||||
-#if BUILDFLAG(ENABLE_FEED_V2)
|
||||
+//#if BUILDFLAG(ENABLE_FEED_V2)
|
||||
#include "components/feed/core/common/pref_names.h" // nogncheck
|
||||
#include "components/feed/core/shared_prefs/pref_names.h" // nogncheck
|
||||
#include "components/feed/core/v2/ios_shared_prefs.h" // nogncheck
|
||||
-#endif
|
||||
+//#endif
|
||||
|
||||
#if BUILDFLAG(IS_ANDROID)
|
||||
#include "chrome/browser/accessibility/accessibility_prefs/android/accessibility_prefs_controller.h"
|
||||
@@ -1898,10 +1898,10 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry,
|
||||
ChromeRLZTrackerDelegate::RegisterProfilePrefs(registry);
|
||||
#endif
|
||||
|
||||
-#if BUILDFLAG(ENABLE_FEED_V2)
|
||||
+//#if BUILDFLAG(ENABLE_FEED_V2)
|
||||
feed::prefs::RegisterFeedSharedProfilePrefs(registry);
|
||||
feed::RegisterProfilePrefs(registry);
|
||||
-#endif
|
||||
+//#endif
|
||||
|
||||
#if BUILDFLAG(IS_ANDROID)
|
||||
cdm::MediaDrmStorageImpl::RegisterProfilePrefs(registry);
|
||||
@@ -2688,7 +2688,7 @@ void MigrateObsoleteProfilePrefs(PrefService* profile_prefs,
|
||||
@@ -2695,7 +2695,7 @@ void MigrateObsoleteProfilePrefs(PrefService* profile_prefs,
|
||||
syncer::SyncPrefs::MaybeMigrateAutofillToPerAccountPref(profile_prefs);
|
||||
#endif // !BUILDFLAG(IS_ANDROID)
|
||||
|
||||
@@ -160,7 +113,7 @@ diff --git a/components/feed/core/shared_prefs/pref_names.cc b/components/feed/c
|
||||
diff --git a/components/feed/feed_feature_list.cc b/components/feed/feed_feature_list.cc
|
||||
--- a/components/feed/feed_feature_list.cc
|
||||
+++ b/components/feed/feed_feature_list.cc
|
||||
@@ -150,4 +150,7 @@ bool IsWebFeedEnabledForLocale(const std::string& country) {
|
||||
@@ -149,4 +149,7 @@ bool IsWebFeedEnabledForLocale(const std::string& country) {
|
||||
!base::FeatureList::IsEnabled(kWebFeedKillSwitch);
|
||||
}
|
||||
|
||||
|
||||
@@ -36,7 +36,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/chrome_content_browser_client.cc
|
||||
--- a/chrome/browser/chrome_content_browser_client.cc
|
||||
+++ b/chrome/browser/chrome_content_browser_client.cc
|
||||
@@ -3483,6 +3483,9 @@ bool ChromeContentBrowserClient::IsAttributionReportingOperationAllowed(
|
||||
@@ -3532,6 +3532,9 @@ bool ChromeContentBrowserClient::IsAttributionReportingOperationAllowed(
|
||||
const url::Origin* destination_origin,
|
||||
const url::Origin* reporting_origin,
|
||||
bool* can_bypass) {
|
||||
@@ -61,7 +61,7 @@ diff --git a/chrome/browser/first_party_sets/first_party_sets_navigation_throttl
|
||||
diff --git a/chrome/browser/first_party_sets/first_party_sets_policy_service.cc b/chrome/browser/first_party_sets/first_party_sets_policy_service.cc
|
||||
--- a/chrome/browser/first_party_sets/first_party_sets_policy_service.cc
|
||||
+++ b/chrome/browser/first_party_sets/first_party_sets_policy_service.cc
|
||||
@@ -59,6 +59,7 @@ const base::Value::Dict* GetOverridesPolicyForProfile(
|
||||
@@ -60,6 +60,7 @@ const base::Value::Dict* GetOverridesPolicyForProfile(
|
||||
}
|
||||
|
||||
ServiceState GetServiceState(Profile* profile, bool pref_enabled) {
|
||||
@@ -69,7 +69,7 @@ diff --git a/chrome/browser/first_party_sets/first_party_sets_policy_service.cc
|
||||
if (profile->IsSystemProfile() || profile->IsGuestSession() ||
|
||||
profile->IsOffTheRecord()) {
|
||||
return ServiceState::kPermanentlyDisabled;
|
||||
@@ -112,7 +113,7 @@ void FirstPartySetsPolicyService::Init() {
|
||||
@@ -114,7 +115,7 @@ void FirstPartySetsPolicyService::Init() {
|
||||
profile, profile->GetPrefs() &&
|
||||
profile->GetPrefs()->GetBoolean(
|
||||
prefs::kPrivacySandboxRelatedWebsiteSetsEnabled));
|
||||
@@ -81,7 +81,7 @@ diff --git a/chrome/browser/first_party_sets/first_party_sets_policy_service.cc
|
||||
diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browser_prefs.cc
|
||||
--- a/chrome/browser/prefs/browser_prefs.cc
|
||||
+++ b/chrome/browser/prefs/browser_prefs.cc
|
||||
@@ -1288,7 +1288,7 @@ void RegisterProfilePrefsForMigration(
|
||||
@@ -1298,7 +1298,7 @@ void RegisterProfilePrefsForMigration(
|
||||
registry->RegisterTimePref(kPlusAddressLastFetchedTime, base::Time());
|
||||
|
||||
// Deprecated 03/2024.
|
||||
@@ -93,7 +93,7 @@ diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browse
|
||||
diff --git a/chrome/browser/privacy_sandbox/privacy_sandbox_service_impl.cc b/chrome/browser/privacy_sandbox/privacy_sandbox_service_impl.cc
|
||||
--- a/chrome/browser/privacy_sandbox/privacy_sandbox_service_impl.cc
|
||||
+++ b/chrome/browser/privacy_sandbox/privacy_sandbox_service_impl.cc
|
||||
@@ -477,7 +477,7 @@ bool PrivacySandboxServiceImpl::IsRestrictedNoticeEnabled() {
|
||||
@@ -519,7 +519,7 @@ bool PrivacySandboxServiceImpl::IsRestrictedNoticeEnabled() {
|
||||
void PrivacySandboxServiceImpl::SetFirstPartySetsDataAccessEnabled(
|
||||
bool enabled) {
|
||||
pref_service_->SetBoolean(prefs::kPrivacySandboxRelatedWebsiteSetsEnabled,
|
||||
@@ -161,9 +161,9 @@ 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(kPrivacySandboxMigratePrefsToNoticeConsentDataModel,
|
||||
"PrivacySandboxMigratePrefsToNoticeConsentDataModel",
|
||||
base::FEATURE_ENABLED_BY_DEFAULT);
|
||||
@@ -236,4 +236,8 @@ BASE_FEATURE(kPrivacySandboxPrivacyPolicy,
|
||||
"PrivacySandboxPrivacyPolicy",
|
||||
base::FEATURE_DISABLED_BY_DEFAULT);
|
||||
|
||||
+SET_CROMITE_FEATURE_DISABLED(kPrivacySandboxSettings4);
|
||||
+SET_CROMITE_FEATURE_ENABLED(kDisablePrivacySandboxPrompts);
|
||||
@@ -272,23 +272,18 @@ diff --git a/components/privacy_sandbox/privacy_sandbox_settings_impl.cc b/compo
|
||||
diff --git a/components/privacy_sandbox/tracking_protection_prefs.cc b/components/privacy_sandbox/tracking_protection_prefs.cc
|
||||
--- a/components/privacy_sandbox/tracking_protection_prefs.cc
|
||||
+++ b/components/privacy_sandbox/tracking_protection_prefs.cc
|
||||
@@ -61,14 +61,14 @@ void RegisterProfilePrefs(PrefRegistrySimple* registry) {
|
||||
@@ -53,9 +53,9 @@ void RegisterProfilePrefs(PrefRegistrySimple* registry) {
|
||||
|
||||
// Tracking Protection Settings Prefs
|
||||
// TODO(https://b/333527273): Deprecate
|
||||
registry->RegisterBooleanPref(
|
||||
- prefs::kBlockAll3pcToggleEnabled, false,
|
||||
+ prefs::kBlockAll3pcToggleEnabled, false, // with true enables FPS
|
||||
user_prefs::PrefRegistrySyncable::SYNCABLE_PREF);
|
||||
- registry->RegisterBooleanPref(prefs::kTrackingProtection3pcdEnabled, false);
|
||||
+ registry->RegisterBooleanPref(prefs::kTrackingProtection3pcdEnabled, false); // with true enables FPS
|
||||
registry->RegisterBooleanPref(prefs::kAllowAll3pcToggleEnabled, false);
|
||||
registry->RegisterIntegerPref(
|
||||
prefs::kTrackingProtectionLevel,
|
||||
static_cast<int>(TrackingProtectionLevel::kStandard),
|
||||
user_prefs::PrefRegistrySyncable::SYNCABLE_PREF);
|
||||
- registry->RegisterBooleanPref(prefs::kTrackingProtection3pcdEnabled, false);
|
||||
+ registry->RegisterBooleanPref(prefs::kTrackingProtection3pcdEnabled, false); // with true enables FPS
|
||||
registry->RegisterBooleanPref(
|
||||
prefs::kIpProtectionEnabled, false,
|
||||
user_prefs::PrefRegistrySyncable::SYNCABLE_PREF);
|
||||
diff --git a/components/signin/public/identity_manager/account_capabilities.cc b/components/signin/public/identity_manager/account_capabilities.cc
|
||||
--- a/components/signin/public/identity_manager/account_capabilities.cc
|
||||
+++ b/components/signin/public/identity_manager/account_capabilities.cc
|
||||
@@ -325,7 +320,7 @@ new file mode 100644
|
||||
diff --git a/third_party/blink/common/features.cc b/third_party/blink/common/features.cc
|
||||
--- a/third_party/blink/common/features.cc
|
||||
+++ b/third_party/blink/common/features.cc
|
||||
@@ -2618,6 +2618,7 @@ BASE_FEATURE(kWebviewAccelerateSmallCanvases,
|
||||
@@ -2625,6 +2625,7 @@ BASE_FEATURE(kWebviewAccelerateSmallCanvases,
|
||||
// constants for features in the section above.
|
||||
|
||||
bool IsAllowURNsInIframeEnabled() {
|
||||
|
||||
@@ -10,13 +10,13 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
||||
diff --git a/components/privacy_sandbox/tracking_protection_prefs.cc b/components/privacy_sandbox/tracking_protection_prefs.cc
|
||||
--- a/components/privacy_sandbox/tracking_protection_prefs.cc
|
||||
+++ b/components/privacy_sandbox/tracking_protection_prefs.cc
|
||||
@@ -78,7 +78,7 @@ void RegisterProfilePrefs(PrefRegistrySimple* registry) {
|
||||
prefs::kFingerprintingProtectionEnabled, false,
|
||||
user_prefs::PrefRegistrySyncable::SYNCABLE_PREF);
|
||||
@@ -47,7 +47,7 @@ void RegisterProfilePrefs(PrefRegistrySimple* registry) {
|
||||
base::Time());
|
||||
|
||||
registry->RegisterBooleanPref(
|
||||
- prefs::kEnableDoNotTrack, false,
|
||||
+ prefs::kEnableDoNotTrack, true,
|
||||
user_prefs::PrefRegistrySyncable::SYNCABLE_PREF);
|
||||
registry->RegisterBooleanPref(prefs::kUserBypass3pcExceptionsMigrated, false);
|
||||
registry->RegisterBooleanPref(prefs::kEnableGPC, true);
|
||||
registry->RegisterBooleanPref(prefs::kUserBypass3pcExceptionsMigrated, false);
|
||||
--
|
||||
|
||||
@@ -464,7 +464,7 @@ diff --git a/chrome/browser/ui/prefs/pref_watcher.h b/chrome/browser/ui/prefs/pr
|
||||
diff --git a/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc b/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc
|
||||
--- a/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc
|
||||
+++ b/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc
|
||||
@@ -1772,6 +1772,9 @@ void AddPrivacyStrings(content::WebUIDataSource* html_source,
|
||||
@@ -1763,6 +1763,9 @@ void AddPrivacyStrings(content::WebUIDataSource* html_source,
|
||||
{"doNotTrackDialogMessage", IDS_SETTINGS_ENABLE_DO_NOT_TRACK_DIALOG_TEXT},
|
||||
{"doNotTrackDialogLearnMoreA11yLabel",
|
||||
IDS_SETTINGS_ENABLE_DO_NOT_TRACK_DIALOG_LEARN_MORE_ACCESSIBILITY_LABEL},
|
||||
|
||||
@@ -61,7 +61,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/password_manage
|
||||
import org.chromium.base.metrics.RecordHistogram;
|
||||
import org.chromium.chrome.R;
|
||||
import org.chromium.chrome.browser.password_check.PasswordCheck;
|
||||
@@ -59,6 +60,11 @@ import java.lang.annotation.Retention;
|
||||
@@ -58,6 +59,11 @@ import java.lang.annotation.Retention;
|
||||
import java.lang.annotation.RetentionPolicy;
|
||||
import java.util.Locale;
|
||||
|
||||
@@ -73,7 +73,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/password_manage
|
||||
/**
|
||||
* The "Passwords" screen in Settings, which allows the user to enable or disable password saving,
|
||||
* to view saved passwords (just the username and URL), and to delete saved passwords.
|
||||
@@ -66,7 +72,7 @@ import java.util.Locale;
|
||||
@@ -65,7 +71,7 @@ import java.util.Locale;
|
||||
public class PasswordSettings extends ChromeBaseSettingsFragment
|
||||
implements PasswordListObserver,
|
||||
Preference.OnPreferenceClickListener,
|
||||
@@ -82,7 +82,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/password_manage
|
||||
@IntDef({
|
||||
TrustedVaultBannerState.NOT_SHOWN,
|
||||
TrustedVaultBannerState.OFFER_OPT_IN,
|
||||
@@ -96,6 +102,12 @@ public class PasswordSettings extends ChromeBaseSettingsFragment
|
||||
@@ -95,6 +101,12 @@ public class PasswordSettings extends ChromeBaseSettingsFragment
|
||||
public static final String PREF_TRUSTED_VAULT_BANNER = "trusted_vault_banner";
|
||||
public static final String PREF_KEY_MANAGE_ACCOUNT_LINK = "manage_account_link";
|
||||
|
||||
@@ -95,7 +95,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/password_manage
|
||||
private static final String PREF_KEY_CATEGORY_SAVED_PASSWORDS = "saved_passwords";
|
||||
private static final String PREF_KEY_CATEGORY_EXCEPTIONS = "exceptions";
|
||||
private static final String PREF_KEY_SAVED_PASSWORDS_NO_TEXT = "saved_passwords_no_text";
|
||||
@@ -128,6 +140,8 @@ public class PasswordSettings extends ChromeBaseSettingsFragment
|
||||
@@ -127,6 +139,8 @@ public class PasswordSettings extends ChromeBaseSettingsFragment
|
||||
private Preference mLinkPref;
|
||||
private Menu mMenu;
|
||||
|
||||
@@ -104,7 +104,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/password_manage
|
||||
private @ManagePasswordsReferrer int mManagePasswordsReferrer;
|
||||
private BottomSheetController mBottomSheetController;
|
||||
|
||||
@@ -307,6 +321,7 @@ public class PasswordSettings extends ChromeBaseSettingsFragment
|
||||
@@ -306,6 +320,7 @@ public class PasswordSettings extends ChromeBaseSettingsFragment
|
||||
}
|
||||
|
||||
createSavePasswordsSwitch();
|
||||
@@ -112,7 +112,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/password_manage
|
||||
if (shouldShowAutoSigninOption()) {
|
||||
createAutoSignInCheckbox();
|
||||
}
|
||||
@@ -580,6 +595,71 @@ public class PasswordSettings extends ChromeBaseSettingsFragment
|
||||
@@ -578,6 +593,71 @@ public class PasswordSettings extends ChromeBaseSettingsFragment
|
||||
getPrefService().getBoolean(Pref.CREDENTIALS_ENABLE_SERVICE));
|
||||
}
|
||||
|
||||
@@ -187,7 +187,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/password_manage
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/MainSettings.java b/chrome/android/java/src/org/chromium/chrome/browser/settings/MainSettings.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/settings/MainSettings.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/settings/MainSettings.java
|
||||
@@ -457,8 +457,7 @@ public class MainSettings extends ChromeBaseSettingsFragment
|
||||
@@ -462,8 +462,7 @@ public class MainSettings extends ChromeBaseSettingsFragment
|
||||
|
||||
private void updateAutofillPreferences() {
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O
|
||||
@@ -214,7 +214,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.jav
|
||||
/**
|
||||
* Implementation of the interface {@link Tab}. Contains and manages a {@link ContentView}. This
|
||||
* class is not intended to be extended.
|
||||
@@ -995,6 +1002,11 @@ class TabImpl implements Tab {
|
||||
@@ -1000,6 +1007,11 @@ class TabImpl implements Tab {
|
||||
for (TabObserver observer : mObservers) observer.onDestroyed(this);
|
||||
mObservers.clear();
|
||||
|
||||
@@ -226,7 +226,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.jav
|
||||
mUserDataHost.destroy();
|
||||
mTabViewManager.destroy();
|
||||
hideNativePage(false, null);
|
||||
@@ -1267,8 +1279,7 @@ class TabImpl implements Tab {
|
||||
@@ -1274,8 +1286,7 @@ class TabImpl implements Tab {
|
||||
*/
|
||||
boolean providesAutofillStructure() {
|
||||
// TODO(b/326231439): Check pref and AutofillService!
|
||||
@@ -236,7 +236,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.jav
|
||||
}
|
||||
|
||||
// Forwarded from TabWebContentsDelegateAndroid.
|
||||
@@ -1999,15 +2010,20 @@ class TabImpl implements Tab {
|
||||
@@ -2017,15 +2028,20 @@ class TabImpl implements Tab {
|
||||
* @return true if the the provider is available for the given WebContents.
|
||||
*/
|
||||
private boolean prepareAutofillProvider(WebContents newWebContents) {
|
||||
@@ -263,7 +263,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.jav
|
||||
mAutofillProvider =
|
||||
new AutofillProvider(
|
||||
getContext(),
|
||||
@@ -2016,7 +2032,16 @@ class TabImpl implements Tab {
|
||||
@@ -2034,7 +2050,16 @@ class TabImpl implements Tab {
|
||||
getContext().getString(R.string.app_name));
|
||||
TabImplJni.get().initializeAutofillIfNecessary(mNativeTabAndroid);
|
||||
}
|
||||
@@ -284,7 +284,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.jav
|
||||
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
|
||||
--- a/chrome/browser/about_flags.cc
|
||||
+++ b/chrome/browser/about_flags.cc
|
||||
@@ -3918,28 +3918,6 @@ const FeatureEntry::FeatureVariation kAutofillGranularFillingAvailableVariations
|
||||
@@ -3858,28 +3858,6 @@ const FeatureEntry::FeatureVariation kAutofillGranularFillingAvailableVariations
|
||||
kAutofillGranularFillingAvailableVariationWithExpandControlVisibleOnSelectionOnly),
|
||||
nullptr}};
|
||||
|
||||
@@ -313,7 +313,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
|
||||
const FeatureEntry::FeatureParam kDefaultBrowserPromptRefreshAggressive[] = {
|
||||
{"max_prompt_count", "-1"},
|
||||
{"reprompt_duration", "7d"},
|
||||
@@ -6144,15 +6122,6 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
@@ -6184,15 +6162,6 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
#endif // BUILDFLAG(IS_CHROMEOS_ASH)
|
||||
|
||||
#if BUILDFLAG(IS_ANDROID)
|
||||
@@ -345,7 +345,7 @@ diff --git a/chrome/browser/android/tab_android.cc b/chrome/browser/android/tab_
|
||||
diff --git a/chrome/browser/autofill/android/BUILD.gn b/chrome/browser/autofill/android/BUILD.gn
|
||||
--- a/chrome/browser/autofill/android/BUILD.gn
|
||||
+++ b/chrome/browser/autofill/android/BUILD.gn
|
||||
@@ -125,7 +125,7 @@ android_library("bottom_sheet_utils_java") {
|
||||
@@ -129,7 +129,7 @@ android_library("bottom_sheet_utils_java") {
|
||||
generate_jni("jni_headers") {
|
||||
sources = [
|
||||
"java/src/org/chromium/chrome/browser/autofill/AddressNormalizerFactory.java",
|
||||
@@ -370,7 +370,7 @@ diff --git a/chrome/browser/autofill/android/java/src/org/chromium/chrome/browse
|
||||
diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc
|
||||
--- a/chrome/browser/flag_descriptions.cc
|
||||
+++ b/chrome/browser/flag_descriptions.cc
|
||||
@@ -675,12 +675,6 @@ const char kAutofillVcnEnrollRequestTimeoutDescription[] =
|
||||
@@ -728,12 +728,6 @@ const char kAutofillVcnEnrollRequestTimeoutDescription[] =
|
||||
"VCN enrollment request. Upon timeout, the client will terminate the VCN "
|
||||
"enrollment UI, but the request may still succeed server-side.";
|
||||
|
||||
@@ -386,7 +386,7 @@ diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descripti
|
||||
diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h
|
||||
--- a/chrome/browser/flag_descriptions.h
|
||||
+++ b/chrome/browser/flag_descriptions.h
|
||||
@@ -399,9 +399,6 @@ extern const char kAutofillUpstreamUpdatedUiDescription[];
|
||||
@@ -428,9 +428,6 @@ extern const char kAutofillUpstreamUpdatedUiDescription[];
|
||||
extern const char kAutofillVcnEnrollRequestTimeoutName[];
|
||||
extern const char kAutofillVcnEnrollRequestTimeoutDescription[];
|
||||
|
||||
@@ -539,7 +539,7 @@ diff --git a/chrome/browser/ui/autofill/autofill_client_provider.h b/chrome/brow
|
||||
diff --git a/chrome/browser/ui/tab_helpers.cc b/chrome/browser/ui/tab_helpers.cc
|
||||
--- a/chrome/browser/ui/tab_helpers.cc
|
||||
+++ b/chrome/browser/ui/tab_helpers.cc
|
||||
@@ -380,9 +380,7 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) {
|
||||
@@ -377,9 +377,7 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) {
|
||||
web_contents);
|
||||
chrome::ChainedBackNavigationTracker::CreateForWebContents(web_contents);
|
||||
chrome_browser_net::NetErrorTabHelper::CreateForWebContents(web_contents);
|
||||
@@ -736,15 +736,15 @@ diff --git a/components/autofill/content/browser/content_autofill_driver.cc b/co
|
||||
},
|
||||
source, Lift(source, std::forward<ActualArgs>(args))...);
|
||||
}
|
||||
@@ -592,6 +599,8 @@ void ContentAutofillDriver::JavaScriptChangedAutofilledValue(
|
||||
void ContentAutofillDriver::Reset() {
|
||||
owner_->router().UnregisterDriver(*this, /*driver_is_dying=*/false);
|
||||
autofill_manager_->Reset();
|
||||
@@ -262,6 +269,8 @@ ContentAutofillDriver::ContentAutofillDriver(
|
||||
|
||||
ContentAutofillDriver::~ContentAutofillDriver() {
|
||||
owner_->router().UnregisterDriver(*this, /*driver_is_dying=*/true);
|
||||
+ if (secondary_autofill_manager_)
|
||||
+ secondary_autofill_manager_->Reset();
|
||||
}
|
||||
|
||||
const mojo::AssociatedRemote<mojom::AutofillAgent>&
|
||||
void ContentAutofillDriver::Reset(ContentAutofillDriverFactoryPassKey) {
|
||||
@@ -604,6 +613,10 @@ ContentAutofillDriver::GetAutofillAgent() {
|
||||
return autofill_agent_;
|
||||
}
|
||||
@@ -759,9 +759,9 @@ diff --git a/components/autofill/content/browser/content_autofill_driver.cc b/co
|
||||
diff --git a/components/autofill/content/browser/content_autofill_driver.h b/components/autofill/content/browser/content_autofill_driver.h
|
||||
--- a/components/autofill/content/browser/content_autofill_driver.h
|
||||
+++ b/components/autofill/content/browser/content_autofill_driver.h
|
||||
@@ -123,6 +123,12 @@ class ContentAutofillDriver : public AutofillDriver,
|
||||
ContentAutofillDriver& operator=(const ContentAutofillDriver&) = delete;
|
||||
~ContentAutofillDriver() override;
|
||||
@@ -135,6 +135,12 @@ class ContentAutofillDriver : public AutofillDriver,
|
||||
// AutofillDriverFactory. Called on certain types of navigations.
|
||||
void Reset(ContentAutofillDriverFactoryPassKey pass_key);
|
||||
|
||||
+ void set_secondary_autofill_manager(
|
||||
+ std::unique_ptr<AutofillManager> secondary_autofill_manager) {
|
||||
@@ -772,7 +772,7 @@ diff --git a/components/autofill/content/browser/content_autofill_driver.h b/com
|
||||
content::RenderFrameHost* render_frame_host() { return &*render_frame_host_; }
|
||||
const content::RenderFrameHost* render_frame_host() const {
|
||||
return &*render_frame_host_;
|
||||
@@ -282,6 +288,10 @@ class ContentAutofillDriver : public AutofillDriver,
|
||||
@@ -292,6 +298,10 @@ class ContentAutofillDriver : public AutofillDriver,
|
||||
// The factory that created this driver. Outlives `this`.
|
||||
const raw_ref<ContentAutofillDriverFactory> owner_;
|
||||
|
||||
@@ -786,7 +786,7 @@ diff --git a/components/autofill/content/browser/content_autofill_driver.h b/com
|
||||
diff --git a/components/autofill/content/browser/content_autofill_driver_factory.cc b/components/autofill/content/browser/content_autofill_driver_factory.cc
|
||||
--- a/components/autofill/content/browser/content_autofill_driver_factory.cc
|
||||
+++ b/components/autofill/content/browser/content_autofill_driver_factory.cc
|
||||
@@ -22,6 +22,12 @@
|
||||
@@ -23,6 +23,12 @@
|
||||
#include "content/public/browser/web_contents.h"
|
||||
#include "third_party/blink/public/common/features.h"
|
||||
|
||||
@@ -799,23 +799,23 @@ diff --git a/components/autofill/content/browser/content_autofill_driver_factory
|
||||
namespace autofill {
|
||||
|
||||
class ScopedAutofillManagersObservation;
|
||||
@@ -98,6 +104,12 @@ ContentAutofillDriver* ContentAutofillDriverFactory::DriverForFrame(
|
||||
// 5. `render_frame_host->~RenderFrameHostImpl()` finishes.
|
||||
if (render_frame_host->IsRenderFrameLive()) {
|
||||
driver = std::make_unique<ContentAutofillDriver>(render_frame_host, this);
|
||||
@@ -127,6 +133,12 @@ ContentAutofillDriver* ContentAutofillDriverFactory::DriverForFrame(
|
||||
return nullptr;
|
||||
}
|
||||
driver = std::make_unique<ContentAutofillDriver>(render_frame_host, this);
|
||||
+#if BUILDFLAG(IS_ANDROID)
|
||||
+ if (!driver->GetAutofillManager().IsAndroidAutofill()) {
|
||||
+ driver->set_secondary_autofill_manager(
|
||||
+ base::WrapUnique(new AndroidAutofillManager(driver.get())));
|
||||
+ }
|
||||
+ if (!driver->GetAutofillManager().IsAndroidAutofill()) {
|
||||
+ driver->set_secondary_autofill_manager(
|
||||
+ base::WrapUnique(new AndroidAutofillManager(driver.get())));
|
||||
+ }
|
||||
+#endif
|
||||
for (Observer& observer : observers_) {
|
||||
observer.OnContentAutofillDriverCreated(*this, *driver);
|
||||
}
|
||||
DCHECK_EQ(driver->GetLifecycleState(), LifecycleState::kInactive);
|
||||
for (auto& observer : observers()) {
|
||||
observer.OnAutofillDriverCreated(*this, *driver);
|
||||
diff --git a/components/autofill/content/renderer/autofill_agent.cc b/components/autofill/content/renderer/autofill_agent.cc
|
||||
--- a/components/autofill/content/renderer/autofill_agent.cc
|
||||
+++ b/components/autofill/content/renderer/autofill_agent.cc
|
||||
@@ -1440,12 +1440,16 @@ void AutofillAgent::ShowSuggestions(
|
||||
@@ -1352,12 +1352,16 @@ void AutofillAgent::ShowSuggestions(
|
||||
password_generation_agent_->ShowPasswordGenerationSuggestions(
|
||||
input_element)) {
|
||||
is_popup_possibly_visible_ = true;
|
||||
@@ -832,12 +832,14 @@ diff --git a/components/autofill/content/renderer/autofill_agent.cc b/components
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1454,10 +1458,12 @@ void AutofillAgent::ShowSuggestions(
|
||||
// IsPasswordFieldForAutofill() because we are interested in whether the field
|
||||
// is *currently* a password field, not whether it has ever been a password
|
||||
// field.
|
||||
@@ -1366,12 +1370,14 @@ void AutofillAgent::ShowSuggestions(
|
||||
// `FormControlTypeForAutofill()` because we are interested in whether the
|
||||
// field is *currently* a password field, not whether it has ever been a
|
||||
// password field.
|
||||
+#if !BUILDFLAG(IS_ANDROID)
|
||||
if (input_element && input_element.IsPasswordField() && // nocheck
|
||||
if (input_element &&
|
||||
input_element.FormControlType() // nocheck
|
||||
== blink::mojom::FormControlType::kInputPassword &&
|
||||
!config_.query_password_suggestions) {
|
||||
return;
|
||||
}
|
||||
@@ -848,7 +850,7 @@ diff --git a/components/autofill/content/renderer/autofill_agent.cc b/components
|
||||
diff --git a/components/autofill/content/renderer/password_autofill_agent.cc b/components/autofill/content/renderer/password_autofill_agent.cc
|
||||
--- a/components/autofill/content/renderer/password_autofill_agent.cc
|
||||
+++ b/components/autofill/content/renderer/password_autofill_agent.cc
|
||||
@@ -857,7 +857,10 @@ void PasswordAutofillAgent::UpdatePasswordStateForTextChange(
|
||||
@@ -854,7 +854,10 @@ void PasswordAutofillAgent::UpdatePasswordStateForTextChange(
|
||||
|
||||
void PasswordAutofillAgent::TrackAutofilledElement(
|
||||
const WebFormControlElement& element) {
|
||||
@@ -863,7 +865,7 @@ diff --git a/components/autofill/content/renderer/password_autofill_agent.cc b/c
|
||||
diff --git a/components/autofill/core/browser/autofill_driver.h b/components/autofill/core/browser/autofill_driver.h
|
||||
--- a/components/autofill/core/browser/autofill_driver.h
|
||||
+++ b/components/autofill/core/browser/autofill_driver.h
|
||||
@@ -77,6 +77,8 @@ class AutofillDriver {
|
||||
@@ -148,6 +148,8 @@ class AutofillDriver {
|
||||
// Returns the AutofillManager owned by the AutofillDriver.
|
||||
virtual AutofillManager& GetAutofillManager() = 0;
|
||||
|
||||
@@ -875,9 +877,9 @@ diff --git a/components/autofill/core/browser/autofill_driver.h b/components/aut
|
||||
diff --git a/components/autofill/core/browser/autofill_manager.h b/components/autofill/core/browser/autofill_manager.h
|
||||
--- a/components/autofill/core/browser/autofill_manager.h
|
||||
+++ b/components/autofill/core/browser/autofill_manager.h
|
||||
@@ -201,6 +201,8 @@ class AutofillManager
|
||||
|
||||
~AutofillManager() override;
|
||||
@@ -219,6 +219,8 @@ class AutofillManager
|
||||
LifecycleState new_state,
|
||||
base::PassKey<AutofillDriverFactory> pass_key);
|
||||
|
||||
+ virtual bool IsAndroidAutofill() const = 0;
|
||||
+
|
||||
@@ -887,8 +889,8 @@ diff --git a/components/autofill/core/browser/autofill_manager.h b/components/au
|
||||
diff --git a/components/autofill/core/browser/browser_autofill_manager.cc b/components/autofill/core/browser/browser_autofill_manager.cc
|
||||
--- a/components/autofill/core/browser/browser_autofill_manager.cc
|
||||
+++ b/components/autofill/core/browser/browser_autofill_manager.cc
|
||||
@@ -697,6 +697,8 @@ BrowserAutofillManager::~BrowserAutofillManager() {
|
||||
// (due to a navigation).
|
||||
@@ -703,6 +703,8 @@ BrowserAutofillManager::~BrowserAutofillManager() {
|
||||
single_field_form_fill_router_->CancelPendingQueries();
|
||||
}
|
||||
|
||||
+bool BrowserAutofillManager::IsAndroidAutofill() const { return false; }
|
||||
@@ -899,7 +901,7 @@ diff --git a/components/autofill/core/browser/browser_autofill_manager.cc b/comp
|
||||
diff --git a/components/autofill/core/browser/browser_autofill_manager.h b/components/autofill/core/browser/browser_autofill_manager.h
|
||||
--- a/components/autofill/core/browser/browser_autofill_manager.h
|
||||
+++ b/components/autofill/core/browser/browser_autofill_manager.h
|
||||
@@ -106,6 +106,8 @@ class BrowserAutofillManager : public AutofillManager {
|
||||
@@ -112,6 +112,8 @@ class BrowserAutofillManager : public AutofillManager {
|
||||
|
||||
~BrowserAutofillManager() override;
|
||||
|
||||
@@ -911,7 +913,7 @@ diff --git a/components/autofill/core/browser/browser_autofill_manager.h b/compo
|
||||
diff --git a/components/autofill/core/common/autofill_features.cc b/components/autofill/core/common/autofill_features.cc
|
||||
--- a/components/autofill/core/common/autofill_features.cc
|
||||
+++ b/components/autofill/core/common/autofill_features.cc
|
||||
@@ -834,7 +834,7 @@ BASE_FEATURE(kAutofillEnableSecurityTouchEventFilteringAndroid,
|
||||
@@ -890,7 +890,7 @@ BASE_FEATURE(kAutofillEnableSecurityTouchEventFilteringAndroid,
|
||||
BASE_FEATURE(kAutofillVirtualViewStructureAndroid,
|
||||
"AutofillVirtualViewStructureAndroid",
|
||||
base::FEATURE_DISABLED_BY_DEFAULT);
|
||||
@@ -923,7 +925,7 @@ diff --git a/components/autofill/core/common/autofill_features.cc b/components/a
|
||||
diff --git a/components/autofill/core/common/autofill_features.h b/components/autofill/core/common/autofill_features.h
|
||||
--- a/components/autofill/core/common/autofill_features.h
|
||||
+++ b/components/autofill/core/common/autofill_features.h
|
||||
@@ -284,28 +284,6 @@ COMPONENT_EXPORT(AUTOFILL)
|
||||
@@ -298,28 +298,6 @@ COMPONENT_EXPORT(AUTOFILL)
|
||||
BASE_DECLARE_FEATURE(kAutofillEnableSecurityTouchEventFilteringAndroid);
|
||||
COMPONENT_EXPORT(AUTOFILL)
|
||||
BASE_DECLARE_FEATURE(kAutofillVirtualViewStructureAndroid);
|
||||
|
||||
@@ -28,7 +28,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
||||
chrome/browser/search/background/BUILD.gn | 4 +-
|
||||
.../browser/search_engines/android/BUILD.gn | 2 +
|
||||
.../java/res/layout/search_engine_layout.xml | 25 ++
|
||||
.../settings/SearchEngineSettings.java | 19 ++
|
||||
.../settings/SearchEngineSettings.java | 20 ++
|
||||
chrome/browser/ui/BUILD.gn | 12 +
|
||||
.../edit_search_engine_controller.cc | 8 +-
|
||||
.../edit_search_engine_controller.h | 6 +-
|
||||
@@ -70,7 +70,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
||||
ui/webui/resources/include_polymer.gni | 2 +-
|
||||
ui/webui/resources/js/BUILD.gn | 2 +-
|
||||
ui/webui/resources/js/load_time_data.ts | 17 +-
|
||||
63 files changed, 1086 insertions(+), 61 deletions(-)
|
||||
63 files changed, 1087 insertions(+), 61 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
|
||||
@@ -82,9 +82,9 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsLauncherImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsLauncherImpl.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsLauncherImpl.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsLauncherImpl.java
|
||||
@@ -14,6 +14,9 @@ import androidx.fragment.app.Fragment;
|
||||
|
||||
import org.jni_zero.CalledByNative;
|
||||
@@ -12,6 +12,9 @@ import android.os.Bundle;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.fragment.app.Fragment;
|
||||
|
||||
+import org.chromium.base.ContextUtils;
|
||||
+import org.chromium.chrome.browser.customtabs.CustomTabActivity;
|
||||
@@ -92,9 +92,9 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/Settin
|
||||
import org.chromium.base.IntentUtils;
|
||||
import org.chromium.chrome.browser.accessibility.settings.AccessibilitySettings;
|
||||
import org.chromium.chrome.browser.autofill.settings.AutofillPaymentMethodsFragment;
|
||||
@@ -39,6 +42,13 @@ public class SettingsLauncherImpl implements SettingsLauncher {
|
||||
|
||||
public SettingsLauncherImpl() {}
|
||||
@@ -33,6 +36,13 @@ public class SettingsLauncherImpl implements SettingsLauncher {
|
||||
/** Instantiated through SettingsLauncherFactory. */
|
||||
SettingsLauncherImpl() {}
|
||||
|
||||
+ @Override
|
||||
+ public void launchUrlInCustomTab(Context context, String url) {
|
||||
@@ -133,7 +133,7 @@ diff --git a/chrome/app/generated_resources.grd b/chrome/app/generated_resources
|
||||
diff --git a/chrome/app/settings_strings.grdp b/chrome/app/settings_strings.grdp
|
||||
--- a/chrome/app/settings_strings.grdp
|
||||
+++ b/chrome/app/settings_strings.grdp
|
||||
@@ -2596,6 +2596,9 @@
|
||||
@@ -2611,6 +2611,9 @@
|
||||
<message name="IDS_SETTINGS_SEARCH_ENGINES_QUERY_URL_EXPLANATION" desc="Label for explaining the format of the URL that should be entered by the user in the add/edit search engine dialog.">
|
||||
URL with <ph name="SPECIAL_SYMBOL">%s</ph> in place of query
|
||||
</message>
|
||||
@@ -411,7 +411,7 @@ new file mode 100644
|
||||
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
|
||||
--- a/chrome/browser/BUILD.gn
|
||||
+++ b/chrome/browser/BUILD.gn
|
||||
@@ -3745,6 +3745,9 @@ static_library("browser") {
|
||||
@@ -3473,6 +3473,9 @@ static_library("browser") {
|
||||
"//components/user_scripts/android",
|
||||
]
|
||||
}
|
||||
@@ -424,7 +424,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
|
||||
diff --git a/chrome/browser/chrome_browser_interface_binders.cc b/chrome/browser/chrome_browser_interface_binders.cc
|
||||
--- a/chrome/browser/chrome_browser_interface_binders.cc
|
||||
+++ b/chrome/browser/chrome_browser_interface_binders.cc
|
||||
@@ -144,6 +144,9 @@
|
||||
@@ -138,6 +138,9 @@
|
||||
#endif
|
||||
|
||||
#if BUILDFLAG(IS_ANDROID)
|
||||
@@ -434,7 +434,7 @@ diff --git a/chrome/browser/chrome_browser_interface_binders.cc b/chrome/browser
|
||||
#include "chrome/browser/android/dom_distiller/distiller_ui_handle_android.h"
|
||||
#include "chrome/browser/facilitated_payments/payment_link_handler_factory.h"
|
||||
#include "chrome/browser/offline_pages/android/offline_page_auto_fetcher.h"
|
||||
@@ -1174,6 +1177,15 @@ void PopulateChromeWebUIFrameBinders(
|
||||
@@ -1175,6 +1178,15 @@ void PopulateChromeWebUIFrameBinders(
|
||||
app_management::mojom::PageHandlerFactory, WebAppSettingsUI>(map);
|
||||
#endif
|
||||
|
||||
@@ -764,7 +764,7 @@ diff --git a/chrome/browser/search/background/BUILD.gn b/chrome/browser/search/b
|
||||
diff --git a/chrome/browser/search_engines/android/BUILD.gn b/chrome/browser/search_engines/android/BUILD.gn
|
||||
--- a/chrome/browser/search_engines/android/BUILD.gn
|
||||
+++ b/chrome/browser/search_engines/android/BUILD.gn
|
||||
@@ -78,6 +78,7 @@ android_resources("java_resources") {
|
||||
@@ -77,6 +77,7 @@ android_resources("java_resources") {
|
||||
"java/res/layout/default_search_engine_dialog_view.xml",
|
||||
"java/res/layout/search_engine.xml",
|
||||
"java/res/layout/search_engine_choice_header.xml",
|
||||
@@ -772,7 +772,7 @@ diff --git a/chrome/browser/search_engines/android/BUILD.gn b/chrome/browser/sea
|
||||
"java/res/layout/search_engine_choice_item.xml",
|
||||
"java/res/layout/search_engine_choice_view.xml",
|
||||
"java/res/layout/search_engine_recent_title.xml",
|
||||
@@ -86,6 +87,7 @@ android_resources("java_resources") {
|
||||
@@ -85,6 +86,7 @@ android_resources("java_resources") {
|
||||
"java/res/values/ids.xml",
|
||||
]
|
||||
deps = [
|
||||
@@ -813,7 +813,7 @@ new file mode 100644
|
||||
diff --git a/chrome/browser/search_engines/android/java/src/org/chromium/chrome/browser/search_engines/settings/SearchEngineSettings.java b/chrome/browser/search_engines/android/java/src/org/chromium/chrome/browser/search_engines/settings/SearchEngineSettings.java
|
||||
--- a/chrome/browser/search_engines/android/java/src/org/chromium/chrome/browser/search_engines/settings/SearchEngineSettings.java
|
||||
+++ b/chrome/browser/search_engines/android/java/src/org/chromium/chrome/browser/search_engines/settings/SearchEngineSettings.java
|
||||
@@ -8,6 +8,10 @@ import android.os.Bundle;
|
||||
@@ -8,12 +8,18 @@ import android.os.Bundle;
|
||||
import android.view.View;
|
||||
import android.widget.ListView;
|
||||
|
||||
@@ -824,15 +824,15 @@ diff --git a/chrome/browser/search_engines/android/java/src/org/chromium/chrome/
|
||||
import androidx.fragment.app.ListFragment;
|
||||
|
||||
import org.chromium.chrome.browser.profiles.Profile;
|
||||
@@ -27,6 +31,7 @@ import org.chromium.components.search_engines.TemplateUrlService;
|
||||
public class SearchEngineSettings extends ListFragment implements ProfileDependentSetting {
|
||||
private SearchEngineAdapter mSearchEngineAdapter;
|
||||
private Profile mProfile;
|
||||
+ private SettingsLauncher mSettingsLauncher;
|
||||
import org.chromium.chrome.browser.search_engines.R;
|
||||
import org.chromium.chrome.browser.search_engines.TemplateUrlServiceFactory;
|
||||
import org.chromium.chrome.browser.settings.ProfileDependentSetting;
|
||||
+import org.chromium.chrome.browser.settings.SettingsLauncherFactory;
|
||||
+import org.chromium.components.browser_ui.settings.SettingsLauncher;
|
||||
import org.chromium.components.search_engines.TemplateUrlService;
|
||||
|
||||
String getValueForTesting() {
|
||||
return mSearchEngineAdapter.getValueForTesting();
|
||||
@@ -48,6 +53,19 @@ public class SearchEngineSettings extends ListFragment implements ProfileDepende
|
||||
/**
|
||||
@@ -47,6 +53,20 @@ public class SearchEngineSettings extends ListFragment implements ProfileDepende
|
||||
setListAdapter(mSearchEngineAdapter);
|
||||
}
|
||||
|
||||
@@ -843,7 +843,8 @@ diff --git a/chrome/browser/search_engines/android/java/src/org/chromium/chrome/
|
||||
+
|
||||
+ TextView selectButton = (TextView) v.findViewById(R.id.open_desktop_ui);
|
||||
+ selectButton.setOnClickListener(view -> {
|
||||
+ mSettingsLauncher.launchUrlInCustomTab(getContext(),
|
||||
+ SettingsLauncher settingsLauncher = SettingsLauncherFactory.createSettingsLauncher();
|
||||
+ settingsLauncher.launchUrlInCustomTab(getContext(),
|
||||
+ "chrome://settings/searchEngines");
|
||||
+ });
|
||||
+ return v;
|
||||
@@ -852,18 +853,10 @@ diff --git a/chrome/browser/search_engines/android/java/src/org/chromium/chrome/
|
||||
@Override
|
||||
public void onViewCreated(View view, Bundle savedInstanceState) {
|
||||
super.onViewCreated(view, savedInstanceState);
|
||||
@@ -92,6 +110,7 @@ public class SearchEngineSettings extends ListFragment implements ProfileDepende
|
||||
* @param settingsLauncher The SettingsLauncher that is injected.
|
||||
*/
|
||||
public void setSettingsLauncher(SettingsLauncher settingsLauncher) {
|
||||
+ mSettingsLauncher = settingsLauncher;
|
||||
createAdapterIfNecessary();
|
||||
mSearchEngineAdapter.setSettingsLauncher(settingsLauncher);
|
||||
}
|
||||
diff --git a/chrome/browser/ui/BUILD.gn b/chrome/browser/ui/BUILD.gn
|
||||
--- a/chrome/browser/ui/BUILD.gn
|
||||
+++ b/chrome/browser/ui/BUILD.gn
|
||||
@@ -1030,6 +1030,18 @@ static_library("ui") {
|
||||
@@ -1039,6 +1039,18 @@ static_library("ui") {
|
||||
# TODO(b/335257259): Resolve circular deps.
|
||||
# Any circular includes must depend on the target "//chrome/browser:browser_public_dependencies".
|
||||
allow_circular_includes_from += [ "//chrome/browser/facilitated_payments" ]
|
||||
@@ -1066,15 +1059,15 @@ diff --git a/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc b/chrom
|
||||
--- a/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc
|
||||
+++ b/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc
|
||||
@@ -122,6 +122,8 @@
|
||||
#include "chrome/browser/ui/webui/offline/offline_internals_ui.h"
|
||||
#include "chrome/browser/ui/webui/webapks/webapks_ui.h"
|
||||
#include "components/feed/buildflags.h"
|
||||
#include "components/feed/feed_feature_list.h"
|
||||
+#include "chrome/browser/ui/webui/settings/settings_ui_android.h"
|
||||
+#include "chrome/browser/ui/webui/settings/settings_utils.h"
|
||||
#else // BUILDFLAG(IS_ANDROID)
|
||||
#include "chrome/browser/media/router/discovery/access_code/access_code_cast_feature.h"
|
||||
#include "chrome/browser/media/router/media_router_feature.h"
|
||||
@@ -569,6 +571,10 @@ WebUIFactoryFunction GetWebUIFactoryFunction(WebUI* web_ui,
|
||||
@@ -547,6 +549,10 @@ WebUIFactoryFunction GetWebUIFactoryFunction(WebUI* web_ui,
|
||||
return &NewWebUI<WebAppInternalsUI>;
|
||||
}
|
||||
#endif // !BUILDFLAG(IS_ANDROID)
|
||||
@@ -1322,7 +1315,7 @@ diff --git a/chrome/browser/ui/webui/settings/search_engines_handler.h b/chrome/
|
||||
diff --git a/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc b/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc
|
||||
--- a/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc
|
||||
+++ b/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc
|
||||
@@ -2432,6 +2432,8 @@ void AddSearchEnginesStrings(content::WebUIDataSource* html_source) {
|
||||
@@ -2441,6 +2441,8 @@ void AddSearchEnginesStrings(content::WebUIDataSource* html_source) {
|
||||
{"searchEnginesQueryURL", IDS_SETTINGS_SEARCH_ENGINES_QUERY_URL},
|
||||
{"searchEnginesQueryURLExplanation",
|
||||
IDS_SETTINGS_SEARCH_ENGINES_QUERY_URL_EXPLANATION},
|
||||
@@ -1331,7 +1324,7 @@ diff --git a/chrome/browser/ui/webui/settings/settings_localized_strings_provide
|
||||
{"searchEnginesMakeDefault", IDS_SETTINGS_SEARCH_ENGINES_MAKE_DEFAULT},
|
||||
{"searchEnginesActivate", IDS_SETTINGS_SEARCH_ENGINES_ACTIVATE},
|
||||
{"searchEnginesDeactivate", IDS_SETTINGS_SEARCH_ENGINES_DEACTIVATE},
|
||||
@@ -3736,6 +3738,12 @@ void AddLocalizedStrings(content::WebUIDataSource* html_source,
|
||||
@@ -3753,6 +3755,12 @@ void AddLocalizedStrings(content::WebUIDataSource* html_source,
|
||||
AddSystemStrings(html_source);
|
||||
#endif
|
||||
|
||||
@@ -1857,19 +1850,19 @@ new file mode 100644
|
||||
diff --git a/components/search_engines/android/template_url_service_android.cc b/components/search_engines/android/template_url_service_android.cc
|
||||
--- a/components/search_engines/android/template_url_service_android.cc
|
||||
+++ b/components/search_engines/android/template_url_service_android.cc
|
||||
@@ -419,7 +419,7 @@ jboolean TemplateUrlServiceAndroid::SetPlayAPISearchEngine(
|
||||
@@ -422,7 +422,7 @@ jboolean TemplateUrlServiceAndroid::SetPlayAPISearchEngine(
|
||||
if (existing_play_api_turl->safe_for_autoreplace()) {
|
||||
template_url_service_->ResetTemplateURL(
|
||||
existing_play_api_turl, existing_play_api_turl->short_name(),
|
||||
- existing_play_api_turl->keyword(), existing_play_api_turl->url());
|
||||
+ existing_play_api_turl->keyword(), existing_play_api_turl->url(), /*suggestion_url*/ "");
|
||||
}
|
||||
}
|
||||
|
||||
// Only one search engine can be marked as coming from Play at a time.
|
||||
diff --git a/components/search_engines/search_engines_switches.cc b/components/search_engines/search_engines_switches.cc
|
||||
--- a/components/search_engines/search_engines_switches.cc
|
||||
+++ b/components/search_engines/search_engines_switches.cc
|
||||
@@ -38,6 +38,7 @@ COMPONENT_EXPORT(SEARCH_ENGINES_SWITCHES)
|
||||
@@ -44,6 +44,7 @@ COMPONENT_EXPORT(SEARCH_ENGINES_SWITCHES)
|
||||
BASE_FEATURE(kSearchEngineChoiceTrigger,
|
||||
"SearchEngineChoiceTrigger",
|
||||
base::FEATURE_ENABLED_BY_DEFAULT);
|
||||
@@ -1941,7 +1934,7 @@ diff --git a/components/search_engines/template_url_service.h b/components/searc
|
||||
diff --git a/content/browser/webui/web_ui_impl.cc b/content/browser/webui/web_ui_impl.cc
|
||||
--- a/content/browser/webui/web_ui_impl.cc
|
||||
+++ b/content/browser/webui/web_ui_impl.cc
|
||||
@@ -246,6 +246,10 @@ void WebUIImpl::RegisterMessageCallback(std::string_view message,
|
||||
@@ -239,6 +239,10 @@ void WebUIImpl::RegisterMessageCallback(std::string_view message,
|
||||
message_callbacks_.emplace(message, std::move(callback));
|
||||
}
|
||||
|
||||
@@ -1952,7 +1945,7 @@ diff --git a/content/browser/webui/web_ui_impl.cc b/content/browser/webui/web_ui
|
||||
void WebUIImpl::ProcessWebUIMessage(const GURL& source_url,
|
||||
const std::string& message,
|
||||
base::Value::List args) {
|
||||
@@ -259,8 +263,14 @@ void WebUIImpl::ProcessWebUIMessage(const GURL& source_url,
|
||||
@@ -252,8 +256,14 @@ void WebUIImpl::ProcessWebUIMessage(const GURL& source_url,
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -1978,9 +1971,9 @@ diff --git a/content/browser/webui/web_ui_impl.h b/content/browser/webui/web_ui_
|
||||
base::Value::List args) override;
|
||||
+ void DoNotCrashOnUnhandledMessage() override;
|
||||
bool CanCallJavascript() override;
|
||||
void CallJavascriptFunctionUnsafe(std::string_view function_name) override;
|
||||
void CallJavascriptFunctionUnsafe(
|
||||
@@ -151,6 +152,8 @@ class CONTENT_EXPORT WebUIImpl : public WebUI, public mojom::WebUIHost {
|
||||
std::string_view function_name,
|
||||
@@ -150,6 +151,8 @@ class CONTENT_EXPORT WebUIImpl : public WebUI, public mojom::WebUIHost {
|
||||
|
||||
std::unique_ptr<WebUIController> controller_;
|
||||
|
||||
@@ -2003,7 +1996,7 @@ diff --git a/content/public/browser/web_ui.h b/content/public/browser/web_ui.h
|
||||
diff --git a/third_party/polymer/v3_0/BUILD.gn b/third_party/polymer/v3_0/BUILD.gn
|
||||
--- a/third_party/polymer/v3_0/BUILD.gn
|
||||
+++ b/third_party/polymer/v3_0/BUILD.gn
|
||||
@@ -36,6 +36,12 @@ js_files = [
|
||||
@@ -34,6 +34,12 @@ js_files = [
|
||||
"paper-spinner/paper-spinner-styles.js",
|
||||
]
|
||||
|
||||
@@ -2019,7 +2012,7 @@ diff --git a/third_party/polymer/v3_0/BUILD.gn b/third_party/polymer/v3_0/BUILD.
|
||||
diff --git a/ui/base/template_expressions.cc b/ui/base/template_expressions.cc
|
||||
--- a/ui/base/template_expressions.cc
|
||||
+++ b/ui/base/template_expressions.cc
|
||||
@@ -14,6 +14,7 @@
|
||||
@@ -19,6 +19,7 @@
|
||||
#include "base/no_destructor.h"
|
||||
#include "base/strings/escape.h"
|
||||
#include "base/values.h"
|
||||
@@ -2027,7 +2020,7 @@ diff --git a/ui/base/template_expressions.cc b/ui/base/template_expressions.cc
|
||||
#include "build/chromeos_buildflags.h"
|
||||
|
||||
#if DCHECK_IS_ON()
|
||||
@@ -166,11 +167,25 @@ bool ReplaceTemplateExpressionsInternal(
|
||||
@@ -171,11 +172,25 @@ bool ReplaceTemplateExpressionsInternal(
|
||||
std::string key(source.substr(current_pos, key_end - current_pos));
|
||||
CHECK(!key.empty());
|
||||
|
||||
|
||||
@@ -54,15 +54,15 @@ diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/androi
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
|
||||
@@ -44,6 +44,7 @@ import org.chromium.chrome.browser.sync.settings.ManageSyncSettings;
|
||||
@@ -45,6 +45,7 @@ import org.chromium.chrome.browser.sync.settings.ManageSyncSettings;
|
||||
import org.chromium.chrome.browser.usage_stats.UsageStatsConsentDialog;
|
||||
import org.chromium.components.browser_ui.settings.ChromeSwitchPreference;
|
||||
import org.chromium.components.browser_ui.settings.FragmentSettingsLauncher;
|
||||
+import org.chromium.components.browser_ui.settings.SpinnerPreference;
|
||||
import org.chromium.components.browser_ui.settings.SettingsLauncher;
|
||||
import org.chromium.components.browser_ui.settings.SettingsUtils;
|
||||
+import org.chromium.components.browser_ui.settings.SpinnerPreference;
|
||||
import org.chromium.components.browser_ui.site_settings.ContentSettingsResources;
|
||||
@@ -62,6 +63,9 @@ import org.chromium.chrome.browser.preferences.ChromeSharedPreferences;
|
||||
import org.chromium.components.browser_ui.site_settings.SingleCategorySettings;
|
||||
import org.chromium.components.browser_ui.util.TraceEventVectorDrawableCompat;
|
||||
@@ -61,6 +62,9 @@ import org.chromium.chrome.browser.preferences.ChromeSharedPreferences;
|
||||
import org.chromium.components.browser_ui.settings.ChromeSwitchPreference;
|
||||
import org.chromium.components.browser_ui.settings.ManagedPreferenceDelegate;
|
||||
|
||||
@@ -71,8 +71,8 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
|
||||
+
|
||||
/** Fragment to keep track of the all the privacy related preferences. */
|
||||
public class PrivacySettings extends ChromeBaseSettingsFragment
|
||||
implements Preference.OnPreferenceChangeListener, FragmentSettingsLauncher {
|
||||
@@ -104,6 +108,8 @@ public class PrivacySettings extends ChromeBaseSettingsFragment
|
||||
implements Preference.OnPreferenceChangeListener {
|
||||
@@ -102,6 +106,8 @@ public class PrivacySettings extends ChromeBaseSettingsFragment
|
||||
private ChromeSwitchPreference allowCustomTabIntentsPref;
|
||||
private ChromeSwitchPreference openExternalLinksPref;
|
||||
|
||||
@@ -81,7 +81,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
|
||||
@Override
|
||||
public void onCreatePreferencesCromite(Bundle savedInstanceState, String rootKey) {
|
||||
getActivity().setTitle(R.string.prefs_privacy_security);
|
||||
@@ -236,6 +242,40 @@ public class PrivacySettings extends ChromeBaseSettingsFragment
|
||||
@@ -232,6 +238,40 @@ public class PrivacySettings extends ChromeBaseSettingsFragment
|
||||
Preference syncAndServicesLink = findPreference(PREF_SYNC_AND_SERVICES_LINK);
|
||||
syncAndServicesLink.setSummary(buildFooterString());
|
||||
|
||||
@@ -122,7 +122,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
|
||||
Preference thirdPartyCookies = findPreference(PREF_THIRD_PARTY_COOKIES);
|
||||
Preference doNotTrackPref = findPreference(PREF_DO_NOT_TRACK);
|
||||
|
||||
@@ -479,6 +519,29 @@ public class PrivacySettings extends ChromeBaseSettingsFragment
|
||||
@@ -470,6 +510,29 @@ public class PrivacySettings extends ChromeBaseSettingsFragment
|
||||
&& ChromeFeatureList.isEnabled(ChromeFeatureList.FINGERPRINTING_PROTECTION_SETTING);
|
||||
}
|
||||
|
||||
@@ -163,7 +163,7 @@ diff --git a/chrome/browser/extensions/api/settings_private/prefs_util.cc b/chro
|
||||
#include "components/embedder_support/pref_names.h"
|
||||
#include "components/language/core/browser/pref_names.h"
|
||||
#include "components/live_caption/pref_names.h"
|
||||
@@ -213,6 +214,9 @@ const PrefsUtil::TypedPrefMap& PrefsUtil::GetAllowlistedKeys() {
|
||||
@@ -212,6 +213,9 @@ const PrefsUtil::TypedPrefMap& PrefsUtil::GetAllowlistedKeys() {
|
||||
(*s_allowlist)[::prefs::kShowForwardButton] =
|
||||
settings_api::PrefType::kBoolean;
|
||||
|
||||
@@ -218,7 +218,7 @@ diff --git a/chrome/browser/resources/settings/privacy_page/privacy_page.html b/
|
||||
diff --git a/chrome/browser/resources/settings/privacy_page/privacy_page.ts b/chrome/browser/resources/settings/privacy_page/privacy_page.ts
|
||||
--- a/chrome/browser/resources/settings/privacy_page/privacy_page.ts
|
||||
+++ b/chrome/browser/resources/settings/privacy_page/privacy_page.ts
|
||||
@@ -81,6 +81,23 @@ export class SettingsPrivacyPageElement extends SettingsPrivacyPageElementBase {
|
||||
@@ -82,6 +82,23 @@ export class SettingsPrivacyPageElement extends SettingsPrivacyPageElementBase {
|
||||
|
||||
static get properties() {
|
||||
return {
|
||||
@@ -245,7 +245,7 @@ diff --git a/chrome/browser/resources/settings/privacy_page/privacy_page.ts b/ch
|
||||
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
|
||||
@@ -1290,6 +1290,18 @@ Your Google account may have other forms of browsing history like searches and a
|
||||
@@ -1329,6 +1329,18 @@ Your Google account may have other forms of browsing history like searches and a
|
||||
<message name="IDS_CLEAR_HISTORY_TITLE" desc="Title for Clear History in Clear Browsing Data dialog">
|
||||
Browsing history
|
||||
</message>
|
||||
@@ -267,18 +267,18 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro
|
||||
diff --git a/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc b/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc
|
||||
--- a/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc
|
||||
+++ b/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc
|
||||
@@ -1831,6 +1831,11 @@ void AddPrivacyStrings(content::WebUIDataSource* html_source,
|
||||
@@ -1849,6 +1849,11 @@ void AddPrivacyStrings(content::WebUIDataSource* html_source,
|
||||
IDS_SETTINGS_SAFEBROWSING_ENHANCED_THINGS_TO_CONSIDER_BULLET_THREE},
|
||||
{"safeBrowsingStandard", IDS_SETTINGS_SAFEBROWSING_STANDARD},
|
||||
{"safeBrowsingStandardDesc", IDS_SETTINGS_SAFEBROWSING_STANDARD_DESC},
|
||||
{"safeBrowsingStandardDescUpdated",
|
||||
IDS_SETTINGS_SAFEBROWSING_STANDARD_DESC_UPDATED},
|
||||
+ {"expireHistory", IDS_SETTINGS_EXPIRE_HISTORY},
|
||||
+ {"noHistory", IDS_SETTINGS_NO_HISTORY},
|
||||
+ {"dayHistory", IDS_SETTINGS_DAY_HISTORY_DESCRIPTION},
|
||||
+ {"daysHistory", IDS_SETTINGS_DAYS_HISTORY_DESCRIPTION},
|
||||
+ {"foreverHistory", IDS_SETTINGS_FOREVER_HISTORY_DESCRIPTION},
|
||||
+ {"expireHistory", IDS_SETTINGS_EXPIRE_HISTORY},
|
||||
+ {"noHistory", IDS_SETTINGS_NO_HISTORY},
|
||||
+ {"dayHistory", IDS_SETTINGS_DAY_HISTORY_DESCRIPTION},
|
||||
+ {"daysHistory", IDS_SETTINGS_DAYS_HISTORY_DESCRIPTION},
|
||||
+ {"foreverHistory", IDS_SETTINGS_FOREVER_HISTORY_DESCRIPTION},
|
||||
#if BUILDFLAG(GOOGLE_CHROME_BRANDING)
|
||||
{"safeBrowsingStandardDescUpdatedProxy",
|
||||
IDS_SETTINGS_SAFEBROWSING_STANDARD_DESC_UPDATED_PROXY},
|
||||
{"safeBrowsingStandardDescProxy",
|
||||
IDS_SETTINGS_SAFEBROWSING_STANDARD_DESC_PROXY},
|
||||
diff --git a/components/browser_ui/settings/android/java/res/layout-sw360dp/preference_spinner_single_line.xml b/components/browser_ui/settings/android/java/res/layout-sw360dp/preference_spinner_single_line.xml
|
||||
--- a/components/browser_ui/settings/android/java/res/layout-sw360dp/preference_spinner_single_line.xml
|
||||
+++ b/components/browser_ui/settings/android/java/res/layout-sw360dp/preference_spinner_single_line.xml
|
||||
|
||||
@@ -99,7 +99,7 @@ new file mode 100644
|
||||
diff --git a/third_party/blink/renderer/core/fetch/fetch_manager.cc b/third_party/blink/renderer/core/fetch/fetch_manager.cc
|
||||
--- a/third_party/blink/renderer/core/fetch/fetch_manager.cc
|
||||
+++ b/third_party/blink/renderer/core/fetch/fetch_manager.cc
|
||||
@@ -1168,7 +1168,11 @@ void FetchManager::Loader::Failed(
|
||||
@@ -1170,7 +1170,11 @@ void FetchManager::Loader::Failed(
|
||||
if (resolver_) {
|
||||
ScriptState::Scope scope(GetScriptState());
|
||||
if (dom_exception) {
|
||||
@@ -112,7 +112,7 @@ diff --git a/third_party/blink/renderer/core/fetch/fetch_manager.cc b/third_part
|
||||
} else {
|
||||
v8::Local<v8::Value> value =
|
||||
exception_.Get(GetScriptState()->GetIsolate());
|
||||
@@ -1188,7 +1192,11 @@ void FetchManager::Loader::Failed(
|
||||
@@ -1190,7 +1194,11 @@ void FetchManager::Loader::Failed(
|
||||
V8String(GetScriptState()->GetIsolate(),
|
||||
IdentifiersFactory::IdFromToken(*issue_id)));
|
||||
}
|
||||
@@ -159,7 +159,7 @@ diff --git a/third_party/blink/renderer/platform/loader/child_url_loader_factory
|
||||
diff --git a/third_party/blink/renderer/platform/loader/fetch/resource_fetcher.cc b/third_party/blink/renderer/platform/loader/fetch/resource_fetcher.cc
|
||||
--- a/third_party/blink/renderer/platform/loader/fetch/resource_fetcher.cc
|
||||
+++ b/third_party/blink/renderer/platform/loader/fetch/resource_fetcher.cc
|
||||
@@ -2912,7 +2912,7 @@ void ResourceFetcher::PrepareForLeakDetection() {
|
||||
@@ -2921,7 +2921,7 @@ void ResourceFetcher::PrepareForLeakDetection() {
|
||||
void ResourceFetcher::StopFetchingInternal(StopFetchingTarget target) {
|
||||
// TODO(toyoshim): May want to suspend scheduler while canceling loaders so
|
||||
// that the cancellations below do not awake unnecessary scheduling.
|
||||
@@ -171,7 +171,7 @@ diff --git a/third_party/blink/renderer/platform/loader/fetch/resource_fetcher.c
|
||||
diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5 b/third_party/blink/renderer/platform/runtime_enabled_features.json5
|
||||
--- a/third_party/blink/renderer/platform/runtime_enabled_features.json5
|
||||
+++ b/third_party/blink/renderer/platform/runtime_enabled_features.json5
|
||||
@@ -1768,10 +1768,9 @@
|
||||
@@ -1866,10 +1866,9 @@
|
||||
},
|
||||
{
|
||||
// The Blink runtime-enabled feature name for the API's IDL.
|
||||
|
||||
@@ -17,7 +17,6 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
cc/base/features.h | 2 +
|
||||
cc/input/browser_controls_offset_manager.cc | 6 +
|
||||
cc/trees/layer_tree_host_impl.cc | 3 +
|
||||
.../start_surface/StartSurfaceMediator.java | 4 +
|
||||
.../tab_management/TabGroupUiCoordinator.java | 7 +-
|
||||
.../tab_management/TabGroupUiMediator.java | 56 ++++++-
|
||||
.../tab_management/TabGroupUiProperties.java | 7 +-
|
||||
@@ -32,8 +31,8 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
.../layouts/LayoutManagerChrome.java | 19 ++-
|
||||
.../layouts/LayoutManagerChromeTablet.java | 4 +-
|
||||
.../layouts/ToolbarSwipeLayout.java | 14 +-
|
||||
.../overlays/strip/StripLayoutHelper.java | 2 +-
|
||||
.../strip/StripLayoutHelperManager.java | 38 ++++-
|
||||
.../overlays/strip/ScrollDelegate.java | 2 +-
|
||||
.../strip/StripLayoutHelperManager.java | 37 ++++-
|
||||
.../scene_layer/StaticTabSceneLayer.java | 7 +-
|
||||
.../scene_layer/TabListSceneLayer.java | 8 +
|
||||
.../scene_layer/TabStripSceneLayer.java | 19 ++-
|
||||
@@ -50,7 +49,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
.../StatusIndicatorSceneLayer.java | 6 +-
|
||||
.../browser/toolbar/ToolbarManager.java | 37 ++++-
|
||||
.../chrome/browser/ui/BottomContainer.java | 18 +++
|
||||
.../ui/system/StatusBarColorController.java | 9 ++
|
||||
.../ui/system/StatusBarColorController.java | 8 +
|
||||
.../android/compositor/layer/toolbar_layer.cc | 10 +-
|
||||
.../scene_layer/tab_strip_scene_layer.cc | 16 +-
|
||||
.../BottomControlsStacker.java | 2 +-
|
||||
@@ -61,7 +60,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
.../browser/flags/ChromeFeatureList.java | 10 ++
|
||||
chrome/browser/hub/internal/BUILD.gn | 5 +
|
||||
.../chrome/browser/hub/HubCoordinator.java | 8 +
|
||||
.../chrome/browser/hub/HubManagerImpl.java | 17 +-
|
||||
.../chrome/browser/hub/HubManagerImpl.java | 24 ++-
|
||||
.../browser/hub/ReversedLinearLayout.java | 42 +++++
|
||||
.../android/res/layout/hub_layout.xml | 4 +-
|
||||
.../android/res/layout/hub_toolbar_layout.xml | 2 +-
|
||||
@@ -79,7 +78,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
.../toolbar/LocationBarFocusScrimHandler.java | 5 +
|
||||
.../bottom/BottomControlsContentDelegate.java | 9 +-
|
||||
.../bottom/BottomControlsCoordinator.java | 11 +-
|
||||
.../bottom/BottomControlsMediator.java | 18 ++-
|
||||
.../bottom/BottomControlsMediator.java | 20 ++-
|
||||
.../bottom/BottomControlsProperties.java | 6 +-
|
||||
.../bottom/BottomControlsViewBinder.java | 2 +
|
||||
.../bottom/ScrollingBottomViewSceneLayer.java | 19 ++-
|
||||
@@ -91,7 +90,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
.../AccessibilitySettingsDelegate.java | 7 +
|
||||
.../render_widget_host_view_android.cc | 3 +
|
||||
.../Move-navigation-bar-to-bottom.inc | 17 ++
|
||||
78 files changed, 1006 insertions(+), 80 deletions(-)
|
||||
77 files changed, 1006 insertions(+), 83 deletions(-)
|
||||
create mode 100644 chrome/browser/hub/internal/android/java/src/org/chromium/chrome/browser/hub/ReversedLinearLayout.java
|
||||
create mode 100644 cromite_flags/chrome/browser/about_flags_cc/Move-navigation-bar-to-bottom.inc
|
||||
|
||||
@@ -151,7 +150,7 @@ diff --git a/cc/input/browser_controls_offset_manager.cc b/cc/input/browser_cont
|
||||
diff --git a/cc/trees/layer_tree_host_impl.cc b/cc/trees/layer_tree_host_impl.cc
|
||||
--- a/cc/trees/layer_tree_host_impl.cc
|
||||
+++ b/cc/trees/layer_tree_host_impl.cc
|
||||
@@ -4496,6 +4496,9 @@ bool LayerTreeHostImpl::AnimateBrowserControls(base::TimeTicks time) {
|
||||
@@ -4588,6 +4588,9 @@ bool LayerTreeHostImpl::AnimateBrowserControls(base::TimeTicks time) {
|
||||
if (scroll_delta.IsZero())
|
||||
return false;
|
||||
|
||||
@@ -161,31 +160,10 @@ diff --git a/cc/trees/layer_tree_host_impl.cc b/cc/trees/layer_tree_host_impl.cc
|
||||
// This counter-scrolls the page to keep the appearance of the page content
|
||||
// being fixed while the browser controls animate.
|
||||
viewport().ScrollBy(scroll_delta,
|
||||
diff --git a/chrome/android/features/start_surface/java/src/org/chromium/chrome/features/start_surface/StartSurfaceMediator.java b/chrome/android/features/start_surface/java/src/org/chromium/chrome/features/start_surface/StartSurfaceMediator.java
|
||||
--- a/chrome/android/features/start_surface/java/src/org/chromium/chrome/features/start_surface/StartSurfaceMediator.java
|
||||
+++ b/chrome/android/features/start_surface/java/src/org/chromium/chrome/features/start_surface/StartSurfaceMediator.java
|
||||
@@ -98,6 +98,8 @@ import org.chromium.url.GURL;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
+import org.chromium.chrome.browser.flags.ChromeFeatureList;
|
||||
+
|
||||
/** The mediator implements the logic to interact with the surfaces and caller. */
|
||||
class StartSurfaceMediator
|
||||
implements StartSurface.OnTabSelectingListener,
|
||||
@@ -860,6 +862,8 @@ class StartSurfaceMediator
|
||||
}
|
||||
|
||||
private void setTopMargin(int topMargin) {
|
||||
+ if (ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled())
|
||||
+ topMargin = 0;
|
||||
mPropertyModel.set(TOP_MARGIN, topMargin);
|
||||
}
|
||||
|
||||
diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGroupUiCoordinator.java b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGroupUiCoordinator.java
|
||||
--- a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGroupUiCoordinator.java
|
||||
+++ b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGroupUiCoordinator.java
|
||||
@@ -38,6 +38,7 @@ import org.chromium.components.feature_engagement.FeatureConstants;
|
||||
@@ -39,6 +39,7 @@ import org.chromium.components.feature_engagement.FeatureConstants;
|
||||
import org.chromium.ui.modaldialog.ModalDialogManager;
|
||||
import org.chromium.ui.modelutil.PropertyModel;
|
||||
import org.chromium.ui.modelutil.PropertyModelChangeProcessor;
|
||||
@@ -193,7 +171,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@@ -156,7 +157,8 @@ public class TabGroupUiCoordinator
|
||||
@@ -161,7 +162,8 @@ public class TabGroupUiCoordinator
|
||||
public void initializeWithNative(
|
||||
Activity activity,
|
||||
BottomControlsCoordinator.BottomControlsVisibilityController visibilityController,
|
||||
@@ -203,7 +181,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser
|
||||
var currentTabModelFilterSupplier =
|
||||
mTabModelSelector.getTabModelFilterProvider().getCurrentTabModelFilterSupplier();
|
||||
try (TraceEvent e = TraceEvent.scoped("TabGroupUiCoordinator.initializeWithNative")) {
|
||||
@@ -214,7 +216,8 @@ public class TabGroupUiCoordinator
|
||||
@@ -220,7 +222,8 @@ public class TabGroupUiCoordinator
|
||||
mLayoutStateProviderSupplier,
|
||||
mIncognitoStateProvider,
|
||||
mTabGridDialogControllerSupplier,
|
||||
@@ -229,7 +207,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser
|
||||
/** A mediator for the TabGroupUi. Responsible for managing the internal state of the component. */
|
||||
public class TabGroupUiMediator implements BackPressHandler {
|
||||
/** An interface to control the TabGroupUi component. */
|
||||
@@ -118,6 +124,11 @@ public class TabGroupUiMediator implements BackPressHandler {
|
||||
@@ -119,6 +125,11 @@ public class TabGroupUiMediator implements BackPressHandler {
|
||||
private final @ColorInt int mPrimaryBackgroundColor;
|
||||
private final @ColorInt int mIncognitoBackgroundColor;
|
||||
|
||||
@@ -241,7 +219,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser
|
||||
TabGroupUiMediator(
|
||||
Context context,
|
||||
BottomControlsVisibilityController visibilityController,
|
||||
@@ -131,7 +142,8 @@ public class TabGroupUiMediator implements BackPressHandler {
|
||||
@@ -133,7 +144,8 @@ public class TabGroupUiMediator implements BackPressHandler {
|
||||
@Nullable
|
||||
LazyOneshotSupplier<TabGridDialogMediator.DialogController>
|
||||
dialogControllerSupplier,
|
||||
@@ -251,7 +229,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser
|
||||
this(
|
||||
context,
|
||||
visibilityController,
|
||||
@@ -145,7 +157,8 @@ public class TabGroupUiMediator implements BackPressHandler {
|
||||
@@ -148,7 +160,8 @@ public class TabGroupUiMediator implements BackPressHandler {
|
||||
dialogControllerSupplier,
|
||||
omniboxFocusStateSupplier,
|
||||
SemanticColorUtils.getDialogBgColor(context),
|
||||
@@ -261,7 +239,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser
|
||||
}
|
||||
|
||||
@VisibleForTesting
|
||||
@@ -164,7 +177,9 @@ public class TabGroupUiMediator implements BackPressHandler {
|
||||
@@ -168,7 +181,9 @@ public class TabGroupUiMediator implements BackPressHandler {
|
||||
dialogControllerSupplier,
|
||||
ObservableSupplier<Boolean> omniboxFocusStateSupplier,
|
||||
@ColorInt int primaryBackgroundColor,
|
||||
@@ -272,7 +250,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser
|
||||
mContext = context;
|
||||
mResetHandler = resetHandler;
|
||||
mModel = model;
|
||||
@@ -183,11 +198,30 @@ public class TabGroupUiMediator implements BackPressHandler {
|
||||
@@ -188,11 +203,30 @@ public class TabGroupUiMediator implements BackPressHandler {
|
||||
mIsShowingOverViewMode = true;
|
||||
}
|
||||
|
||||
@@ -303,7 +281,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser
|
||||
if (getTabsToShowForId(lastId).contains(tab)) {
|
||||
return;
|
||||
}
|
||||
@@ -247,6 +281,7 @@ public class TabGroupUiMediator implements BackPressHandler {
|
||||
@@ -252,6 +286,7 @@ public class TabGroupUiMediator implements BackPressHandler {
|
||||
return;
|
||||
}
|
||||
resetTabStripWithRelatedTabsForId(currentTab.getId());
|
||||
@@ -311,7 +289,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -372,6 +407,8 @@ public class TabGroupUiMediator implements BackPressHandler {
|
||||
@@ -374,6 +409,8 @@ public class TabGroupUiMediator implements BackPressHandler {
|
||||
resetTabStripWithRelatedTabsForId(tab.getId());
|
||||
}
|
||||
|
||||
@@ -320,7 +298,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser
|
||||
mHandleBackPressChangedSupplier = handleBackPressChangedSupplier;
|
||||
if (mTabGridDialogControllerSupplier != null) {
|
||||
mTabGridDialogControllerSupplier.onAvailable(
|
||||
@@ -399,6 +436,18 @@ public class TabGroupUiMediator implements BackPressHandler {
|
||||
@@ -401,6 +438,18 @@ public class TabGroupUiMediator implements BackPressHandler {
|
||||
mModel.set(TabGroupUiProperties.LEFT_BUTTON_DRAWABLE_ID, drawableId);
|
||||
}
|
||||
|
||||
@@ -339,7 +317,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser
|
||||
void setupLeftButtonOnClickListener(View.OnClickListener listener) {
|
||||
mModel.set(TabGroupUiProperties.LEFT_BUTTON_ON_CLICK_LISTENER, listener);
|
||||
}
|
||||
@@ -528,6 +577,7 @@ public class TabGroupUiMediator implements BackPressHandler {
|
||||
@@ -534,6 +583,7 @@ public class TabGroupUiMediator implements BackPressHandler {
|
||||
}
|
||||
|
||||
public void destroy() {
|
||||
@@ -447,7 +425,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser
|
||||
import android.graphics.Rect;
|
||||
import android.util.Size;
|
||||
import android.view.LayoutInflater;
|
||||
@@ -55,6 +59,8 @@ import org.chromium.ui.modelutil.PropertyModelChangeProcessor;
|
||||
@@ -57,6 +61,8 @@ import org.chromium.ui.modelutil.PropertyModelChangeProcessor;
|
||||
import org.chromium.ui.modelutil.SimpleRecyclerViewAdapter;
|
||||
import org.chromium.ui.widget.ViewLookupCachingFrameLayout;
|
||||
|
||||
@@ -456,7 +434,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser
|
||||
import java.lang.annotation.Retention;
|
||||
import java.lang.annotation.RetentionPolicy;
|
||||
import java.util.List;
|
||||
@@ -112,6 +118,128 @@ public class TabListCoordinator
|
||||
@@ -114,6 +120,128 @@ public class TabListCoordinator
|
||||
private int mAwaitingTabId = Tab.INVALID_TAB_ID;
|
||||
private @TabActionState int mTabActionState;
|
||||
|
||||
@@ -585,7 +563,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser
|
||||
/**
|
||||
* Construct a coordinator for UI that shows a list of tabs.
|
||||
*
|
||||
@@ -354,6 +482,12 @@ public class TabListCoordinator
|
||||
@@ -356,6 +484,12 @@ public class TabListCoordinator
|
||||
checkAwaitingLayout();
|
||||
}
|
||||
};
|
||||
@@ -598,7 +576,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser
|
||||
mRecyclerView.setLayoutManager(gridLayoutManager);
|
||||
mMediator.registerOrientationListener(gridLayoutManager);
|
||||
mMediator.updateSpanCount(
|
||||
@@ -365,8 +499,7 @@ public class TabListCoordinator
|
||||
@@ -367,8 +501,7 @@ public class TabListCoordinator
|
||||
.getDecorView()
|
||||
.getWindowVisibleDisplayFrame(frame);
|
||||
updateGridCardLayout(frame.width());
|
||||
@@ -608,7 +586,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser
|
||||
LinearLayoutManager layoutManager =
|
||||
new LinearLayoutManager(
|
||||
context,
|
||||
@@ -381,6 +514,17 @@ public class TabListCoordinator
|
||||
@@ -383,6 +516,17 @@ public class TabListCoordinator
|
||||
}
|
||||
};
|
||||
mRecyclerView.setLayoutManager(layoutManager);
|
||||
@@ -626,16 +604,16 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser
|
||||
}
|
||||
mMediator.setRecyclerViewItemAnimationToggle(mRecyclerView::setDisableItemAnimations);
|
||||
}
|
||||
@@ -396,7 +540,7 @@ public class TabListCoordinator
|
||||
|
||||
mHasEmptyView = hasEmptyView;
|
||||
@@ -400,7 +544,7 @@ public class TabListCoordinator
|
||||
if (mHasEmptyView) {
|
||||
- mTabListEmptyCoordinator = new TabListEmptyCoordinator(parentView, mModel);
|
||||
+ mTabListEmptyCoordinator = new TabListEmptyCoordinator(parentView, mModel, mBrowserControlsStateProvider);
|
||||
mTabListEmptyCoordinator =
|
||||
new TabListEmptyCoordinator(
|
||||
- parentView, mModel, this::runOnItemAnimatorFinished);
|
||||
+ parentView, mModel, this::runOnItemAnimatorFinished, mBrowserControlsStateProvider);
|
||||
mEmptyStateHeadingResId = emptyHeadingStringResId;
|
||||
mEmptyStateSubheadingResId = emptySubheadingStringResId;
|
||||
mEmptyStateImageResId = emptyImageResId;
|
||||
@@ -685,6 +829,9 @@ public class TabListCoordinator
|
||||
@@ -689,6 +833,9 @@ public class TabListCoordinator
|
||||
void prepareTabSwitcherPaneView() {
|
||||
registerLayoutChangeListener();
|
||||
mRecyclerView.setupCustomItemAnimator();
|
||||
@@ -648,13 +626,14 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser
|
||||
diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabListEmptyCoordinator.java b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabListEmptyCoordinator.java
|
||||
--- a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabListEmptyCoordinator.java
|
||||
+++ b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabListEmptyCoordinator.java
|
||||
@@ -9,10 +9,13 @@ import android.view.View;
|
||||
@@ -9,11 +9,14 @@ import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.TextView;
|
||||
+import android.widget.FrameLayout;
|
||||
|
||||
+import org.chromium.chrome.browser.browser_controls.BrowserControlsStateProvider;
|
||||
import org.chromium.base.Callback;
|
||||
import org.chromium.chrome.tab_ui.R;
|
||||
import org.chromium.ui.modelutil.ListObservable;
|
||||
import org.chromium.ui.modelutil.ListObservable.ListObserver;
|
||||
@@ -662,17 +641,19 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser
|
||||
|
||||
/**
|
||||
* Empty coordinator that is responsible for showing an empty state view in tab switcher when we are
|
||||
@@ -30,13 +33,16 @@ class TabListEmptyCoordinator {
|
||||
private ListObserver<Void> mListObserver;
|
||||
@@ -32,15 +35,18 @@ class TabListEmptyCoordinator {
|
||||
private Callback<Runnable> mRunOnItemAnimatorFinished;
|
||||
private boolean mIsTabSwitcherShowing;
|
||||
private boolean mIsListObserverAttached;
|
||||
+ private BrowserControlsStateProvider mBrowserControlsStateProvider;
|
||||
|
||||
- public TabListEmptyCoordinator(ViewGroup rootView, TabListModel model) {
|
||||
+ public TabListEmptyCoordinator(ViewGroup rootView, TabListModel model,
|
||||
+ BrowserControlsStateProvider browserControlsStateProvider) {
|
||||
public TabListEmptyCoordinator(
|
||||
- ViewGroup rootView, TabListModel model, Callback<Runnable> runOnItemAnimatorFinished) {
|
||||
+ ViewGroup rootView, TabListModel model, Callback<Runnable> runOnItemAnimatorFinished,
|
||||
+ BrowserControlsStateProvider browserControlsStateProvider) {
|
||||
mRootView = rootView;
|
||||
mContext = rootView.getContext();
|
||||
mRunOnItemAnimatorFinished = runOnItemAnimatorFinished;
|
||||
|
||||
// Observe TabListModel to determine when to add / remove empty state view.
|
||||
mModel = model;
|
||||
@@ -680,7 +661,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser
|
||||
mListObserver =
|
||||
new ListObserver<Void>() {
|
||||
@Override
|
||||
@@ -121,6 +127,15 @@ class TabListEmptyCoordinator {
|
||||
@@ -136,6 +142,15 @@ class TabListEmptyCoordinator {
|
||||
public void attachEmptyView() {
|
||||
if (mEmptyView != null && mEmptyView.getParent() == null) {
|
||||
mRootView.addView(mEmptyView);
|
||||
@@ -741,7 +722,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/accessibility/s
|
||||
Preference captions = findPreference(PREF_CAPTIONS);
|
||||
captions.setOnPreferenceClickListener(
|
||||
preference -> {
|
||||
@@ -237,6 +258,11 @@ public class AccessibilitySettings extends ChromeBaseSettingsFragment
|
||||
@@ -238,6 +259,11 @@ public class AccessibilitySettings extends ChromeBaseSettingsFragment
|
||||
mDelegate.getBrowserContextHandle(), (Integer) newValue);
|
||||
} else if (PREF_PAGE_ZOOM_ALWAYS_SHOW.equals(preference.getKey())) {
|
||||
PageZoomUtils.setShouldAlwaysShowZoomMenuItem((Boolean) newValue);
|
||||
@@ -849,7 +830,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/accessibility/s
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
|
||||
@@ -252,6 +252,9 @@ import org.chromium.webapk.lib.client.WebApkNavigationClient;
|
||||
@@ -255,6 +255,9 @@ import org.chromium.webapk.lib.client.WebApkNavigationClient;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
@@ -862,7 +843,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/CompositorViewHolder.java b/chrome/android/java/src/org/chromium/chrome/browser/compositor/CompositorViewHolder.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/compositor/CompositorViewHolder.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/compositor/CompositorViewHolder.java
|
||||
@@ -251,6 +251,10 @@ public class CompositorViewHolder extends FrameLayout
|
||||
@@ -250,6 +250,10 @@ public class CompositorViewHolder extends FrameLayout
|
||||
@Override
|
||||
public void setCurrentTouchEventOffsets(float top) {
|
||||
EventForwarder forwarder = getEventForwarder();
|
||||
@@ -870,10 +851,10 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/Comp
|
||||
+ // no need to adjust the touch offsets, since the content view is never moved
|
||||
+ top = 0;
|
||||
+ }
|
||||
if (forwarder != null) forwarder.setCurrentTouchEventOffsets(0, top);
|
||||
if (forwarder != null) forwarder.setCurrentTouchOffsetY(top);
|
||||
}
|
||||
|
||||
@@ -881,6 +885,9 @@ public class CompositorViewHolder extends FrameLayout
|
||||
@@ -884,6 +888,9 @@ public class CompositorViewHolder extends FrameLayout
|
||||
mApplicationBottomInsetSupplier != null
|
||||
? mApplicationBottomInsetSupplier.get().webContentsHeightInset
|
||||
: 0;
|
||||
@@ -973,7 +954,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/layo
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/ToolbarSwipeLayout.java b/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/ToolbarSwipeLayout.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/ToolbarSwipeLayout.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/ToolbarSwipeLayout.java
|
||||
@@ -36,6 +36,8 @@ import org.chromium.ui.base.LocalizationUtils;
|
||||
@@ -37,6 +37,8 @@ import org.chromium.ui.base.LocalizationUtils;
|
||||
import org.chromium.ui.interpolators.Interpolators;
|
||||
import org.chromium.ui.resources.ResourceManager;
|
||||
|
||||
@@ -982,7 +963,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/layo
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
@@ -441,7 +443,11 @@ public class ToolbarSwipeLayout extends Layout {
|
||||
@@ -446,7 +448,11 @@ public class ToolbarSwipeLayout extends Layout {
|
||||
mLeftToolbarOverlay.setXOffset(leftX * dpToPx);
|
||||
}
|
||||
mLeftTab.setX(leftX);
|
||||
@@ -995,7 +976,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/layo
|
||||
needUpdate = updateSnap(dt, mLeftTab) || needUpdate;
|
||||
} else if (mLeftToolbarOverlay != null) {
|
||||
mLeftToolbarOverlay.setManualVisibility(false);
|
||||
@@ -454,7 +460,11 @@ public class ToolbarSwipeLayout extends Layout {
|
||||
@@ -459,7 +465,11 @@ public class ToolbarSwipeLayout extends Layout {
|
||||
mRightToolbarOverlay.setXOffset(rightX * dpToPx);
|
||||
}
|
||||
mRightTab.setX(rightX);
|
||||
@@ -1008,30 +989,21 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/layo
|
||||
needUpdate = updateSnap(dt, mRightTab) || needUpdate;
|
||||
} else if (mRightToolbarOverlay != null) {
|
||||
mRightToolbarOverlay.setManualVisibility(false);
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/strip/StripLayoutHelper.java b/chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/strip/StripLayoutHelper.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/strip/StripLayoutHelper.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/strip/StripLayoutHelper.java
|
||||
@@ -789,7 +789,7 @@ public class StripLayoutHelper implements StripLayoutTabDelegate, StripLayoutGro
|
||||
boolean isRtl = LocalizationUtils.isLayoutRtl();
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/strip/ScrollDelegate.java b/chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/strip/ScrollDelegate.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/strip/ScrollDelegate.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/strip/ScrollDelegate.java
|
||||
@@ -193,6 +193,6 @@ public class ScrollDelegate {
|
||||
boolean useUnadjustedScrollOffset = isRtl != isLeft;
|
||||
float offset =
|
||||
- -(useUnadjustedScrollOffset ? mScrollOffset : (mMinScrollOffset - mScrollOffset));
|
||||
+ -Math.abs(useUnadjustedScrollOffset ? mScrollOffset : (mMinScrollOffset - mScrollOffset));
|
||||
float scrollOffset = mScrollOffset;
|
||||
|
||||
if (offset <= 0.f) {
|
||||
return 0.f;
|
||||
- return -(useUnadjustedScrollOffset ? scrollOffset : (mMinScrollOffset - scrollOffset));
|
||||
+ return -Math.abs(useUnadjustedScrollOffset ? scrollOffset : (mMinScrollOffset - scrollOffset));
|
||||
}
|
||||
}
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/strip/StripLayoutHelperManager.java b/chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/strip/StripLayoutHelperManager.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/strip/StripLayoutHelperManager.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/strip/StripLayoutHelperManager.java
|
||||
@@ -34,6 +34,7 @@ import org.chromium.base.Callback;
|
||||
import org.chromium.base.metrics.RecordUserAction;
|
||||
import org.chromium.base.supplier.ObservableSupplier;
|
||||
import org.chromium.base.supplier.ObservableSupplierImpl;
|
||||
+import org.chromium.base.supplier.Supplier;
|
||||
import org.chromium.chrome.R;
|
||||
import org.chromium.chrome.browser.browser_controls.BrowserControlsStateProvider;
|
||||
import org.chromium.chrome.browser.compositor.LayerTitleCache;
|
||||
@@ -97,6 +98,8 @@ import org.chromium.ui.interpolators.Interpolators;
|
||||
@@ -100,6 +100,8 @@ import org.chromium.ui.interpolators.Interpolators;
|
||||
import org.chromium.ui.resources.ResourceManager;
|
||||
import org.chromium.ui.util.ColorUtils;
|
||||
import org.chromium.url.GURL;
|
||||
@@ -1040,7 +1012,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/over
|
||||
|
||||
import java.lang.annotation.Retention;
|
||||
import java.lang.annotation.RetentionPolicy;
|
||||
@@ -265,12 +268,16 @@ public class StripLayoutHelperManager
|
||||
@@ -268,12 +270,16 @@ public class StripLayoutHelperManager
|
||||
// Drag-Drop
|
||||
@Nullable private TabDragSource mTabDragSource;
|
||||
|
||||
@@ -1054,26 +1026,26 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/over
|
||||
return;
|
||||
}
|
||||
+ y -= mStripFilterArea.top;
|
||||
if (mModelSelectorButton.onDown(x, y, fromMouse, buttons)) {
|
||||
if (mModelSelectorButton != null
|
||||
&& mModelSelectorButton.onDown(x, y, fromMouse, buttons)) {
|
||||
return;
|
||||
}
|
||||
@@ -293,6 +300,7 @@ public class StripLayoutHelperManager
|
||||
@@ -299,6 +305,7 @@ public class StripLayoutHelperManager
|
||||
if (DragDropGlobalState.hasValue()) {
|
||||
return;
|
||||
}
|
||||
+ y -= mStripFilterArea.top;
|
||||
mModelSelectorButton.drag(x, y);
|
||||
getActiveStripLayoutHelper().drag(time(), x, y, dx);
|
||||
}
|
||||
@@ -302,6 +310,7 @@ public class StripLayoutHelperManager
|
||||
if (mModelSelectorButton != null) {
|
||||
mModelSelectorButton.drag(x, y);
|
||||
}
|
||||
@@ -310,6 +317,7 @@ public class StripLayoutHelperManager
|
||||
if (DragDropGlobalState.hasValue()) {
|
||||
return;
|
||||
}
|
||||
+ y -= mStripFilterArea.top;
|
||||
long time = time();
|
||||
if (mModelSelectorButton.click(x, y, fromMouse, buttons)) {
|
||||
mModelSelectorButton.handleClick(time);
|
||||
@@ -315,6 +324,7 @@ public class StripLayoutHelperManager
|
||||
if (mModelSelectorButton != null
|
||||
&& mModelSelectorButton.click(x, y, fromMouse, buttons)) {
|
||||
@@ -324,6 +332,7 @@ public class StripLayoutHelperManager
|
||||
if (DragDropGlobalState.hasValue()) {
|
||||
return;
|
||||
}
|
||||
@@ -1081,7 +1053,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/over
|
||||
getActiveStripLayoutHelper().fling(time(), x, y, velocityX, velocityY);
|
||||
}
|
||||
|
||||
@@ -323,6 +333,7 @@ public class StripLayoutHelperManager
|
||||
@@ -332,6 +341,7 @@ public class StripLayoutHelperManager
|
||||
if (DragDropGlobalState.hasValue()) {
|
||||
return;
|
||||
}
|
||||
@@ -1089,7 +1061,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/over
|
||||
getActiveStripLayoutHelper().onLongPress(time(), x, y);
|
||||
}
|
||||
|
||||
@@ -429,7 +440,8 @@ public class StripLayoutHelperManager
|
||||
@@ -438,7 +448,8 @@ public class StripLayoutHelperManager
|
||||
// implement an interface to manage strip transition states.
|
||||
@NonNull ToolbarManager toolbarManager,
|
||||
@Nullable DesktopWindowStateProvider desktopWindowStateProvider,
|
||||
@@ -1099,7 +1071,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/over
|
||||
Resources res = context.getResources();
|
||||
mUpdateHost = updateHost;
|
||||
mLayerTitleCacheSupplier = layerTitleCacheSupplier;
|
||||
@@ -591,6 +603,8 @@ public class StripLayoutHelperManager
|
||||
@@ -550,6 +561,8 @@ public class StripLayoutHelperManager
|
||||
!mTabStripObscured
|
||||
&& getStripVisibilityState()
|
||||
== StripVisibilityState.VISIBLE);
|
||||
@@ -1108,7 +1080,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/over
|
||||
|
||||
tabHoverCardViewStub.setOnInflateListener(
|
||||
(viewStub, view) -> {
|
||||
@@ -753,6 +767,10 @@ public class StripLayoutHelperManager
|
||||
@@ -783,6 +796,10 @@ public class StripLayoutHelperManager
|
||||
// layer should be a negative value.
|
||||
yOffset -= getHeight();
|
||||
}
|
||||
@@ -1119,7 +1091,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/over
|
||||
mTabStripTreeProvider.pushAndUpdateStrip(
|
||||
this,
|
||||
mLayerTitleCacheSupplier.get(),
|
||||
@@ -766,7 +784,9 @@ public class StripLayoutHelperManager
|
||||
@@ -796,7 +813,9 @@ public class StripLayoutHelperManager
|
||||
mStripTransitionScrimOpacity,
|
||||
mLeftPadding,
|
||||
mRightPadding,
|
||||
@@ -1130,7 +1102,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/over
|
||||
return mTabStripTreeProvider;
|
||||
}
|
||||
|
||||
@@ -822,11 +842,21 @@ public class StripLayoutHelperManager
|
||||
@@ -855,11 +874,21 @@ public class StripLayoutHelperManager
|
||||
mLeftPadding,
|
||||
mRightPadding);
|
||||
|
||||
@@ -1358,7 +1330,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/modaldialog/Chr
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage.java b/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage.java
|
||||
@@ -110,6 +110,7 @@ import org.chromium.ui.base.DeviceFormFactor;
|
||||
@@ -109,6 +109,7 @@ import org.chromium.ui.base.DeviceFormFactor;
|
||||
import org.chromium.ui.base.WindowAndroid;
|
||||
import org.chromium.ui.modaldialog.ModalDialogManager;
|
||||
import org.chromium.url.GURL;
|
||||
@@ -1366,7 +1338,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage.
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@@ -669,11 +670,16 @@ public class NewTabPage
|
||||
@@ -661,11 +662,16 @@ public class NewTabPage
|
||||
final int topControlsDistanceToRest =
|
||||
mBrowserControlsStateProvider.getContentOffset()
|
||||
- mBrowserControlsStateProvider.getTopControlsHeight();
|
||||
@@ -1385,7 +1357,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage.
|
||||
|
||||
if (topMargin != layoutParams.topMargin || bottomMargin != layoutParams.bottomMargin) {
|
||||
layoutParams.topMargin = topMargin;
|
||||
@@ -689,9 +695,7 @@ public class NewTabPage
|
||||
@@ -681,9 +687,7 @@ public class NewTabPage
|
||||
* strip.
|
||||
*/
|
||||
private int getToolbarExtraYOffset() {
|
||||
@@ -1409,7 +1381,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageL
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.LinearLayout;
|
||||
@@ -178,10 +181,17 @@ public class NewTabPageLayout extends LinearLayout {
|
||||
@@ -174,10 +177,17 @@ public class NewTabPageLayout extends LinearLayout {
|
||||
mMiddleSpacer = findViewById(R.id.ntp_middle_spacer);
|
||||
mFakeSearchBoxLayout = findViewById(R.id.search_box);
|
||||
insertSiteSectionView();
|
||||
@@ -1506,7 +1478,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/RecentTabsP
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/searchwidget/SearchActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/searchwidget/SearchActivity.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/searchwidget/SearchActivity.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/searchwidget/SearchActivity.java
|
||||
@@ -85,6 +85,11 @@ import org.chromium.url.GURL;
|
||||
@@ -84,6 +84,11 @@ import org.chromium.url.GURL;
|
||||
|
||||
import java.lang.annotation.Retention;
|
||||
import java.lang.annotation.RetentionPolicy;
|
||||
@@ -1518,7 +1490,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/searchwidget/Se
|
||||
import java.lang.ref.WeakReference;
|
||||
|
||||
/** Queries the user's default search engine and shows autocomplete suggestions. */
|
||||
@@ -288,6 +293,12 @@ public class SearchActivity extends AsyncInitializationActivity
|
||||
@@ -287,6 +292,12 @@ public class SearchActivity extends AsyncInitializationActivity
|
||||
// Build the search box.
|
||||
mSearchBox = contentView.findViewById(R.id.search_location_bar);
|
||||
View anchorView = contentView.findViewById(R.id.toolbar);
|
||||
@@ -1534,7 +1506,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/searchwidget/Se
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsActivity.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsActivity.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsActivity.java
|
||||
@@ -408,6 +408,11 @@ public class SettingsActivity extends ChromeBaseAppCompatActivity
|
||||
@@ -403,6 +403,11 @@ public class SettingsActivity extends ChromeBaseAppCompatActivity
|
||||
if (fragment instanceof INeedSnackbarManager) {
|
||||
((INeedSnackbarManager)fragment).setSnackbarManager(mSnackbarManager);
|
||||
}
|
||||
@@ -1598,7 +1570,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/status_indicato
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/ToolbarManager.java b/chrome/android/java/src/org/chromium/chrome/browser/toolbar/ToolbarManager.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/ToolbarManager.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/toolbar/ToolbarManager.java
|
||||
@@ -190,6 +190,9 @@ import org.chromium.url.GURL;
|
||||
@@ -196,6 +196,9 @@ import org.chromium.url.GURL;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@@ -1608,7 +1580,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/Toolbar
|
||||
/**
|
||||
* Contains logic for managing the toolbar visual component. This class manages the interactions
|
||||
* with the rest of the application to ensure the toolbar is always visually up to date.
|
||||
@@ -629,6 +632,17 @@ public class ToolbarManager
|
||||
@@ -648,6 +651,17 @@ public class ToolbarManager
|
||||
}, AlwaysIncognitoLinkInterceptor.isAlwaysIncognito());
|
||||
mControlContainer = controlContainer;
|
||||
mToolbarHairline = mControlContainer.findViewById(R.id.toolbar_hairline);
|
||||
@@ -1626,7 +1598,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/Toolbar
|
||||
|
||||
mBookmarkModelSupplier = bookmarkModelSupplier;
|
||||
mBookmarkModelSupplier.addObserver(mBookmarkModelSupplierObserver);
|
||||
@@ -1112,6 +1126,7 @@ public class ToolbarManager
|
||||
@@ -1137,6 +1151,7 @@ public class ToolbarManager
|
||||
// the height won't be measured by the background image.
|
||||
if (mControlContainer.getBackground() == null) {
|
||||
setControlContainerTopMargin(getToolbarExtraYOffset());
|
||||
@@ -1634,7 +1606,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/Toolbar
|
||||
} else if (mLayoutChangeListener == null) {
|
||||
mLayoutChangeListener =
|
||||
(view,
|
||||
@@ -1125,6 +1140,7 @@ public class ToolbarManager
|
||||
@@ -1150,6 +1165,7 @@ public class ToolbarManager
|
||||
oldBottom) -> {
|
||||
if (mControlContainer.getBackground() == null) {
|
||||
setControlContainerTopMargin(getToolbarExtraYOffset());
|
||||
@@ -1642,7 +1614,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/Toolbar
|
||||
mControlContainer.removeOnLayoutChangeListener(
|
||||
mLayoutChangeListener);
|
||||
mLayoutChangeListener = null;
|
||||
@@ -1513,16 +1529,28 @@ public class ToolbarManager
|
||||
@@ -1539,16 +1555,28 @@ public class ToolbarManager
|
||||
return ((LocationBarCoordinator) mLocationBar).getUrlBarTextWithoutAutocomplete();
|
||||
}
|
||||
|
||||
@@ -1673,7 +1645,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/Toolbar
|
||||
mBrowserControlsVisibilityManager,
|
||||
mIncognitoStateProvider,
|
||||
mScrimCoordinator,
|
||||
@@ -1547,7 +1575,7 @@ public class ToolbarManager
|
||||
@@ -1574,7 +1602,7 @@ public class ToolbarManager
|
||||
mBottomControlsStacker,
|
||||
mFullscreenManager,
|
||||
mEdgeToEdgeControllerSupplier,
|
||||
@@ -1682,7 +1654,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/Toolbar
|
||||
bottomControlsContentDelegateSupplier,
|
||||
mTabObscuringHandler,
|
||||
mOverlayPanelVisibilitySupplier,
|
||||
@@ -1555,7 +1583,8 @@ public class ToolbarManager
|
||||
@@ -1582,7 +1610,8 @@ public class ToolbarManager
|
||||
/* readAloudRestoringSupplier= */ () -> {
|
||||
final var readAloud = mReadAloudControllerSupplier.get();
|
||||
return readAloud != null && readAloud.isRestoringPlayer();
|
||||
@@ -1734,7 +1706,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ui/BottomContai
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ui/system/StatusBarColorController.java b/chrome/android/java/src/org/chromium/chrome/browser/ui/system/StatusBarColorController.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/ui/system/StatusBarColorController.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ui/system/StatusBarColorController.java
|
||||
@@ -8,10 +8,13 @@ import android.content.Context;
|
||||
@@ -8,6 +8,7 @@ import android.content.Context;
|
||||
import android.graphics.Color;
|
||||
import android.view.View;
|
||||
import android.view.Window;
|
||||
@@ -1742,13 +1714,15 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ui/system/Statu
|
||||
|
||||
import androidx.annotation.ColorInt;
|
||||
import androidx.annotation.Nullable;
|
||||
|
||||
+import org.chromium.chrome.browser.flags.ChromeFeatureList;
|
||||
+
|
||||
import org.chromium.base.CallbackController;
|
||||
@@ -17,6 +18,7 @@ import org.chromium.base.CallbackController;
|
||||
import org.chromium.base.supplier.ObservableSupplier;
|
||||
import org.chromium.chrome.R;
|
||||
@@ -482,6 +485,12 @@ public class StatusBarColorController
|
||||
import org.chromium.chrome.browser.ActivityTabProvider;
|
||||
+import org.chromium.chrome.browser.flags.ChromeFeatureList;
|
||||
import org.chromium.chrome.browser.layouts.LayoutManager;
|
||||
import org.chromium.chrome.browser.layouts.LayoutStateProvider;
|
||||
import org.chromium.chrome.browser.layouts.LayoutStateProvider.LayoutStateObserver;
|
||||
@@ -479,6 +481,12 @@ public class StatusBarColorController
|
||||
boolean needsDarkStatusBarIcons = !ColorUtils.shouldUseLightForegroundOnBackground(color);
|
||||
UiUtils.setStatusBarIconColor(root, needsDarkStatusBarIcons);
|
||||
UiUtils.setStatusBarColor(window, color);
|
||||
@@ -1838,7 +1812,7 @@ diff --git a/chrome/browser/android/compositor/scene_layer/tab_strip_scene_layer
|
||||
diff --git a/chrome/browser/browser_controls/android/java/src/org/chromium/chrome/browser/browser_controls/BottomControlsStacker.java b/chrome/browser/browser_controls/android/java/src/org/chromium/chrome/browser/browser_controls/BottomControlsStacker.java
|
||||
--- a/chrome/browser/browser_controls/android/java/src/org/chromium/chrome/browser/browser_controls/BottomControlsStacker.java
|
||||
+++ b/chrome/browser/browser_controls/android/java/src/org/chromium/chrome/browser/browser_controls/BottomControlsStacker.java
|
||||
@@ -122,7 +122,7 @@ public class BottomControlsStacker implements BrowserControlsStateProvider.Obser
|
||||
@@ -178,7 +178,7 @@ public class BottomControlsStacker implements BrowserControlsStateProvider.Obser
|
||||
/**
|
||||
* @return {@link BrowserControlsStateProvider} instance in the current Activity.
|
||||
*/
|
||||
@@ -1919,7 +1893,7 @@ diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browse
|
||||
#include "chrome/browser/android/webapk/webapk_features.h"
|
||||
#include "chrome/browser/browser_features.h"
|
||||
#include "chrome/browser/flags/android/chrome_session_state.h"
|
||||
@@ -260,6 +261,8 @@ const base::Feature* const kFeaturesExposedToJava[] = {
|
||||
@@ -267,6 +268,8 @@ const base::Feature* const kFeaturesExposedToJava[] = {
|
||||
&kNavBarColorMatchesTabBackground,
|
||||
&kNewTabSearchEngineUrlAndroid,
|
||||
&kNewTabPageAndroidTriggerForPrerender2,
|
||||
@@ -1931,7 +1905,7 @@ diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browse
|
||||
diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
|
||||
--- a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
|
||||
+++ b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
|
||||
@@ -374,6 +374,10 @@ public abstract class ChromeFeatureList {
|
||||
@@ -373,6 +373,10 @@ public abstract class ChromeFeatureList {
|
||||
public static final String NEW_TAB_PAGE_ANDROID_TRIGGER_FOR_PRERENDER2 =
|
||||
"NewTabPageAndroidTriggerForPrerender2";
|
||||
public static final String NOTIFICATION_ONE_TAP_UNSUBSCRIBE = "NotificationOneTapUnsubscribe";
|
||||
@@ -1942,7 +1916,7 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f
|
||||
public static final String NOTIFICATION_PERMISSION_VARIANT = "NotificationPermissionVariant";
|
||||
public static final String NOTIFICATION_PERMISSION_BOTTOM_SHEET =
|
||||
"NotificationPermissionBottomSheet";
|
||||
@@ -670,6 +674,10 @@ public abstract class ChromeFeatureList {
|
||||
@@ -660,6 +664,10 @@ public abstract class ChromeFeatureList {
|
||||
public static final CachedFlag sPriceInsights = newCachedFlag(PRICE_INSIGHTS, false);
|
||||
public static final CachedFlag sPrivacyGuideAndroid3 =
|
||||
newCachedFlag(PRIVACY_GUIDE_ANDROID_3, false);
|
||||
@@ -1953,15 +1927,15 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f
|
||||
public static final CachedFlag sPrivacyGuidePreloadAndroid =
|
||||
newCachedFlag(PRIVACY_GUIDE_PRELOAD_ANDROID, false);
|
||||
public static final CachedFlag sOptimizationGuidePushNotifications =
|
||||
@@ -800,6 +808,8 @@ public abstract class ChromeFeatureList {
|
||||
@@ -788,6 +796,8 @@ public abstract class ChromeFeatureList {
|
||||
sPrivacyGuideAndroid3,
|
||||
sPrivacyGuidePreloadAndroid,
|
||||
sOptimizationGuidePushNotifications,
|
||||
+ sMoveTopToolbarToBottom,
|
||||
+ sDisableToolbarSwipeUp,
|
||||
sPaintPreviewDemo,
|
||||
sPostGetMyMemoryStateToBackground,
|
||||
sPrefetchBrowserInitiatedTriggers,
|
||||
sQueryTiles,
|
||||
diff --git a/chrome/browser/hub/internal/BUILD.gn b/chrome/browser/hub/internal/BUILD.gn
|
||||
--- a/chrome/browser/hub/internal/BUILD.gn
|
||||
+++ b/chrome/browser/hub/internal/BUILD.gn
|
||||
@@ -1987,15 +1961,15 @@ diff --git a/chrome/browser/hub/internal/BUILD.gn b/chrome/browser/hub/internal/
|
||||
diff --git a/chrome/browser/hub/internal/android/java/src/org/chromium/chrome/browser/hub/HubCoordinator.java b/chrome/browser/hub/internal/android/java/src/org/chromium/chrome/browser/hub/HubCoordinator.java
|
||||
--- a/chrome/browser/hub/internal/android/java/src/org/chromium/chrome/browser/hub/HubCoordinator.java
|
||||
+++ b/chrome/browser/hub/internal/android/java/src/org/chromium/chrome/browser/hub/HubCoordinator.java
|
||||
@@ -8,6 +8,7 @@ import android.content.Context;
|
||||
import android.view.LayoutInflater;
|
||||
@@ -9,6 +9,7 @@ import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.FrameLayout;
|
||||
+import android.widget.LinearLayout;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
@@ -18,6 +19,7 @@ import org.chromium.base.supplier.ObservableSupplierImpl;
|
||||
@@ -19,6 +20,7 @@ import org.chromium.base.supplier.ObservableSupplierImpl;
|
||||
import org.chromium.base.supplier.OneshotSupplier;
|
||||
import org.chromium.base.supplier.TransitiveObservableSupplier;
|
||||
import org.chromium.chrome.browser.feature_engagement.TrackerFactory;
|
||||
@@ -2003,7 +1977,7 @@ diff --git a/chrome/browser/hub/internal/android/java/src/org/chromium/chrome/br
|
||||
import org.chromium.chrome.browser.profiles.ProfileProvider;
|
||||
import org.chromium.chrome.browser.tab.Tab;
|
||||
import org.chromium.chrome.browser.toolbar.menu_button.MenuButtonCoordinator;
|
||||
@@ -93,6 +95,12 @@ public class HubCoordinator implements PaneHubController, BackPressHandler {
|
||||
@@ -94,6 +96,12 @@ public class HubCoordinator implements PaneHubController, BackPressHandler {
|
||||
HubPaneHostView hubPaneHostView = mContainerView.findViewById(R.id.hub_pane_host);
|
||||
mHubPaneHostCoordinator =
|
||||
new HubPaneHostCoordinator(hubPaneHostView, paneManager.getFocusedPaneSupplier());
|
||||
@@ -2035,7 +2009,7 @@ diff --git a/chrome/browser/hub/internal/android/java/src/org/chromium/chrome/br
|
||||
import org.chromium.chrome.browser.back_press.BackPressManager;
|
||||
import org.chromium.chrome.browser.profiles.ProfileProvider;
|
||||
import org.chromium.chrome.browser.tab.Tab;
|
||||
@@ -111,7 +113,10 @@ public class HubManagerImpl implements HubManager, HubController {
|
||||
@@ -120,7 +122,10 @@ public class HubManagerImpl implements HubManager, HubController {
|
||||
LayoutParams params = (LayoutParams) mHubContainerView.getLayoutParams();
|
||||
assert params != null : "HubContainerView should always have layout params.";
|
||||
mStatusIndicatorHeight = height;
|
||||
@@ -2047,7 +2021,7 @@ diff --git a/chrome/browser/hub/internal/android/java/src/org/chromium/chrome/br
|
||||
mHubContainerView.setLayoutParams(params);
|
||||
}
|
||||
|
||||
@@ -121,7 +126,10 @@ public class HubManagerImpl implements HubManager, HubController {
|
||||
@@ -130,7 +135,10 @@ public class HubManagerImpl implements HubManager, HubController {
|
||||
LayoutParams params = (LayoutParams) mHubContainerView.getLayoutParams();
|
||||
assert params != null : "HubContainerView should always have layout params.";
|
||||
mAppHeaderHeight = height;
|
||||
@@ -2059,15 +2033,29 @@ diff --git a/chrome/browser/hub/internal/android/java/src/org/chromium/chrome/br
|
||||
mHubContainerView.setLayoutParams(params);
|
||||
}
|
||||
|
||||
@@ -242,6 +250,9 @@ public class HubManagerImpl implements HubManager, HubController {
|
||||
@@ -242,6 +250,8 @@ public class HubManagerImpl implements HubManager, HubController {
|
||||
mSnackbarManager.popParentViewFromOverrideStack(mSnackbarOverrideToken);
|
||||
mSnackbarOverrideToken = TokenHolder.INVALID_TOKEN;
|
||||
}
|
||||
+ if (ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled())
|
||||
+ mSnackbarManager.setParentView(null);
|
||||
}
|
||||
|
||||
private void attachPaneDependencies(@Nullable Pane pane) {
|
||||
@@ -254,8 +264,12 @@ public class HubManagerImpl implements HubManager, HubController {
|
||||
mMenuOrKeyboardActionController.registerMenuOrKeyboardActionHandler(
|
||||
menuOrKeyboardActionHandler);
|
||||
}
|
||||
- mSnackbarManager.setParentView(mHubContainerView);
|
||||
- mSnackbarOverrideToken =
|
||||
- mSnackbarManager.pushParentViewToOverrideStack(
|
||||
- mHubCoordinator.getSnackbarContainer());
|
||||
+ if (ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled())
|
||||
+ mSnackbarManager.setParentView((ViewGroup)getPaneHostView());
|
||||
+ else
|
||||
+ mSnackbarManager.setParentView(mHubContainerView);
|
||||
+ else {
|
||||
+ mSnackbarOverrideToken =
|
||||
+ mSnackbarManager.pushParentViewToOverrideStack(
|
||||
+ mHubCoordinator.getSnackbarContainer());
|
||||
+ }
|
||||
}
|
||||
}
|
||||
diff --git a/chrome/browser/hub/internal/android/java/src/org/chromium/chrome/browser/hub/ReversedLinearLayout.java b/chrome/browser/hub/internal/android/java/src/org/chromium/chrome/browser/hub/ReversedLinearLayout.java
|
||||
@@ -2151,7 +2139,7 @@ diff --git a/chrome/browser/hub/internal/android/res/layout/hub_toolbar_layout.x
|
||||
diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browser_prefs.cc
|
||||
--- a/chrome/browser/prefs/browser_prefs.cc
|
||||
+++ b/chrome/browser/prefs/browser_prefs.cc
|
||||
@@ -2168,7 +2168,7 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry,
|
||||
@@ -2206,7 +2206,7 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry,
|
||||
|
||||
#if BUILDFLAG(IS_ANDROID)
|
||||
registry->RegisterBooleanPref(prefs::kVirtualKeyboardResizesLayoutByDefault,
|
||||
@@ -2159,7 +2147,7 @@ diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browse
|
||||
+ true);
|
||||
#endif
|
||||
|
||||
#if BUILDFLAG(ENABLE_SCREEN_AI_SERVICE)
|
||||
registry->RegisterBooleanPref(
|
||||
diff --git a/chrome/browser/ui/android/appmenu/internal/java/src/org/chromium/chrome/browser/ui/appmenu/AppMenu.java b/chrome/browser/ui/android/appmenu/internal/java/src/org/chromium/chrome/browser/ui/appmenu/AppMenu.java
|
||||
--- a/chrome/browser/ui/android/appmenu/internal/java/src/org/chromium/chrome/browser/ui/appmenu/AppMenu.java
|
||||
+++ b/chrome/browser/ui/android/appmenu/internal/java/src/org/chromium/chrome/browser/ui/appmenu/AppMenu.java
|
||||
@@ -2512,7 +2500,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow
|
||||
diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||
--- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||
+++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||
@@ -1699,6 +1699,12 @@ Your Google account may have other forms of browsing history like searches and a
|
||||
@@ -1696,6 +1696,12 @@ Your Google account may have other forms of browsing history like searches and a
|
||||
<message name="IDS_FORCE_TABLET_UI_TITLE" desc="Title of the preference that allows the user to update force tablet UI settings.">
|
||||
Force Tablet Mode
|
||||
</message>
|
||||
@@ -2528,7 +2516,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro
|
||||
diff --git a/chrome/browser/ui/android/toolbar/BUILD.gn b/chrome/browser/ui/android/toolbar/BUILD.gn
|
||||
--- a/chrome/browser/ui/android/toolbar/BUILD.gn
|
||||
+++ b/chrome/browser/ui/android/toolbar/BUILD.gn
|
||||
@@ -167,6 +167,7 @@ android_library("java") {
|
||||
@@ -168,6 +168,7 @@ android_library("java") {
|
||||
"//content/public/android:content_java",
|
||||
"//third_party/android_deps:material_design_java",
|
||||
"//third_party/androidx:androidx_annotation_annotation_experimental_java",
|
||||
@@ -2633,7 +2621,7 @@ diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/brow
|
||||
diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/bottom/BottomControlsMediator.java b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/bottom/BottomControlsMediator.java
|
||||
--- a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/bottom/BottomControlsMediator.java
|
||||
+++ b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/bottom/BottomControlsMediator.java
|
||||
@@ -25,6 +25,7 @@ import org.chromium.chrome.browser.ui.edge_to_edge.EdgeToEdgeSupplier.ChangeObse
|
||||
@@ -27,6 +27,7 @@ import org.chromium.chrome.browser.ui.edge_to_edge.EdgeToEdgeUtils;
|
||||
import org.chromium.ui.KeyboardVisibilityDelegate;
|
||||
import org.chromium.ui.base.WindowAndroid;
|
||||
import org.chromium.ui.modelutil.PropertyModel;
|
||||
@@ -2641,7 +2629,7 @@ diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/brow
|
||||
|
||||
/**
|
||||
* This class is responsible for reacting to events from the outside world, interacting with other
|
||||
@@ -148,6 +149,12 @@ class BottomControlsMediator
|
||||
@@ -147,6 +148,12 @@ class BottomControlsMediator
|
||||
}
|
||||
|
||||
void setBottomControlsVisible(boolean visible) {
|
||||
@@ -2654,7 +2642,7 @@ diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/brow
|
||||
mIsBottomControlsVisible = visible;
|
||||
updateCompositedViewVisibility();
|
||||
updateAndroidViewVisibility();
|
||||
@@ -182,6 +189,7 @@ class BottomControlsMediator
|
||||
@@ -181,6 +188,7 @@ class BottomControlsMediator
|
||||
int bottomControlsMinHeightOffset,
|
||||
boolean needsAnimate,
|
||||
boolean isVisibilityForced) {
|
||||
@@ -2662,19 +2650,21 @@ diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/brow
|
||||
// Method call routed to onBrowserControlsOffsetUpdate.
|
||||
if (BottomControlsStacker.isDispatchingYOffset()) return;
|
||||
|
||||
@@ -303,10 +311,12 @@ class BottomControlsMediator
|
||||
@@ -306,11 +314,13 @@ class BottomControlsMediator
|
||||
&& !mIsInSwipeLayout
|
||||
&& getBrowserControls().getBottomControlOffset() == 0;
|
||||
if (visible) {
|
||||
- // Translate view so that its bottom is aligned with browser controls min height.
|
||||
- // Translate view so that its bottom is aligned with the "base" y_offset, or the
|
||||
- // y_offset when the bottom controls aren't offset.
|
||||
- mModel.set(
|
||||
- BottomControlsProperties.ANDROID_VIEW_TRANSLATE_Y,
|
||||
- -getBrowserControls().getBottomControlsMinHeight());
|
||||
- mModel.get(BottomControlsProperties.Y_OFFSET));
|
||||
+ if (!ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) {
|
||||
+ // Translate view so that its bottom is aligned with browser controls min height.
|
||||
+ // Translate view so that its bottom is aligned with the "base" y_offset, or the
|
||||
+ // y_offset when the bottom controls aren't offset.
|
||||
+ mModel.set(
|
||||
+ BottomControlsProperties.ANDROID_VIEW_TRANSLATE_Y,
|
||||
+ -getBrowserControls().getBottomControlsMinHeight());
|
||||
+ mModel.get(BottomControlsProperties.Y_OFFSET));
|
||||
+ }
|
||||
}
|
||||
mModel.set(BottomControlsProperties.ANDROID_VIEW_VISIBLE, visible);
|
||||
|
||||
@@ -538,17 +538,17 @@ diff --git a/chrome/browser/ui/prefs/prefs_tab_helper.cc b/chrome/browser/ui/pre
|
||||
diff --git a/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc b/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc
|
||||
--- a/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc
|
||||
+++ b/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc
|
||||
@@ -574,6 +574,10 @@ void AddDownloadsStrings(content::WebUIDataSource* html_source) {
|
||||
{"dayHistory", IDS_SETTINGS_DAY_HISTORY_DESCRIPTION},
|
||||
{"daysHistory", IDS_SETTINGS_DAYS_HISTORY_DESCRIPTION},
|
||||
{"foreverHistory", IDS_SETTINGS_FOREVER_HISTORY_DESCRIPTION},
|
||||
+ {"referersPolicyTitle", IDS_REFERERS_POLICY_TITLE},
|
||||
+ {"standardRefererPolicy", IDS_STANDARD_REFERER_POLICY_TITLE},
|
||||
+ {"noCrossOriginTopFramePolicy", IDS_NO_CROSS_ORIGIN_TOP_FRAME_POLICY_TITLE},
|
||||
+ {"disableRefererPolicy", IDS_DISABLE_REFERER_POLICY_TITLE},
|
||||
@@ -1854,6 +1854,10 @@ void AddPrivacyStrings(content::WebUIDataSource* html_source,
|
||||
{"dayHistory", IDS_SETTINGS_DAY_HISTORY_DESCRIPTION},
|
||||
{"daysHistory", IDS_SETTINGS_DAYS_HISTORY_DESCRIPTION},
|
||||
{"foreverHistory", IDS_SETTINGS_FOREVER_HISTORY_DESCRIPTION},
|
||||
+ {"referersPolicyTitle", IDS_REFERERS_POLICY_TITLE},
|
||||
+ {"standardRefererPolicy", IDS_STANDARD_REFERER_POLICY_TITLE},
|
||||
+ {"noCrossOriginTopFramePolicy", IDS_NO_CROSS_ORIGIN_TOP_FRAME_POLICY_TITLE},
|
||||
+ {"disableRefererPolicy", IDS_DISABLE_REFERER_POLICY_TITLE},
|
||||
#if BUILDFLAG(GOOGLE_CHROME_BRANDING)
|
||||
void AddGetTheMostOutOfChromeStrings(content::WebUIDataSource* html_source) {
|
||||
static constexpr webui::LocalizedString kLocalizedStrings[] = {
|
||||
{"safeBrowsingStandardDescProxy",
|
||||
IDS_SETTINGS_SAFEBROWSING_STANDARD_DESC_PROXY},
|
||||
diff --git a/chrome/common/pref_names.h b/chrome/common/pref_names.h
|
||||
--- a/chrome/common/pref_names.h
|
||||
+++ b/chrome/common/pref_names.h
|
||||
|
||||
@@ -8,8 +8,6 @@ Voice button and legacy share/voice functionality is not restored.
|
||||
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
---
|
||||
.../chrome/browser/settings/MainSettings.java | 3 +-
|
||||
.../browser/share/ShareButtonController.java | 37 +++++++++++
|
||||
chrome/browser/about_flags.cc | 6 --
|
||||
chrome/browser/flag-metadata.json | 3 +-
|
||||
.../flags/android/chrome_feature_list.cc | 5 ++
|
||||
.../browser/flags/ChromeFeatureList.java | 1 +
|
||||
@@ -20,21 +18,21 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
.../AdaptiveToolbarStatePredictorTest.java | 15 +++++
|
||||
...oButtonGroupAdaptiveToolbarPreference.java | 1 +
|
||||
...ve-button-in-top-toolbar-customization.inc | 3 +
|
||||
13 files changed, 147 insertions(+), 12 deletions(-)
|
||||
11 files changed, 110 insertions(+), 6 deletions(-)
|
||||
create mode 100644 cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/Restore-adaptive-button-in-top-toolbar-customization.inc
|
||||
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/MainSettings.java b/chrome/android/java/src/org/chromium/chrome/browser/settings/MainSettings.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/settings/MainSettings.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/settings/MainSettings.java
|
||||
@@ -52,6 +52,7 @@ import org.chromium.chrome.browser.sync.settings.ManageSyncSettings;
|
||||
import org.chromium.chrome.browser.sync.settings.SignInPreference;
|
||||
import org.chromium.chrome.browser.sync.settings.SyncPromoPreference;
|
||||
@@ -55,6 +55,7 @@ import org.chromium.chrome.browser.sync.settings.SyncPromoPreference;
|
||||
import org.chromium.chrome.browser.sync.settings.SyncSettingsUtils;
|
||||
import org.chromium.chrome.browser.tab_group_sync.TabGroupSyncFeatures;
|
||||
import org.chromium.chrome.browser.tasks.tab_management.TabUiFeatureUtilities;
|
||||
+import org.chromium.chrome.browser.toolbar.adaptive.AdaptiveToolbarFeatures;
|
||||
import org.chromium.chrome.browser.toolbar.adaptive.AdaptiveToolbarStatePredictor;
|
||||
import org.chromium.chrome.browser.tracing.settings.DeveloperSettings;
|
||||
import org.chromium.chrome.browser.ui.messages.snackbar.SnackbarManager;
|
||||
@@ -268,7 +269,7 @@ public class MainSettings extends ChromeBaseSettingsFragment
|
||||
@@ -271,7 +272,7 @@ public class MainSettings extends ChromeBaseSettingsFragment
|
||||
uiState -> {
|
||||
// We don't show the toolbar shortcut settings page if disabled from
|
||||
// finch.
|
||||
@@ -43,79 +41,10 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/MainSe
|
||||
getPreferenceScreen()
|
||||
.removePreference(findPreference(PREF_TOOLBAR_SHORTCUT));
|
||||
});
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/share/ShareButtonController.java b/chrome/android/java/src/org/chromium/chrome/browser/share/ShareButtonController.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/share/ShareButtonController.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/share/ShareButtonController.java
|
||||
@@ -111,6 +111,43 @@ public class ShareButtonController extends BaseButtonDataProvider {
|
||||
return mShareUtils.shouldEnableShare(tab);
|
||||
}
|
||||
|
||||
+/* @Override
|
||||
+ public ButtonData get(Tab tab) {
|
||||
+ updateButtonVisibility(tab);
|
||||
+ maybeSetIphCommandBuilder(tab);
|
||||
+ return mButtonData;
|
||||
+ }
|
||||
+
|
||||
+ private void updateButtonVisibility(Tab tab) {
|
||||
+ if (tab == null || tab.getWebContents() == null || mTabProvider == null
|
||||
+ || mTabProvider.get() == null || !isFeatureEnabled()) {
|
||||
+ mButtonData.setCanShow(false);
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
+ final boolean isDeviceWideEnough =
|
||||
+ mScreenWidthDp >= AdaptiveToolbarFeatures.getDeviceMinimumWidthForShowingButton();
|
||||
+ if (mShareDelegateSupplier.get() == null || !isDeviceWideEnough) {
|
||||
+ mButtonData.setCanShow(false);
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
+ mButtonData.setCanShow(mShareUtils.shouldEnableShare(tab));
|
||||
+ }
|
||||
+
|
||||
+ private static boolean isFeatureEnabled() {
|
||||
+ return (AdaptiveToolbarFeatures.isSingleVariantModeEnabled()
|
||||
+ && AdaptiveToolbarFeatures.getSingleVariantMode()
|
||||
+ == AdaptiveToolbarButtonVariant.SHARE)
|
||||
+ || AdaptiveToolbarFeatures.isCustomizationEnabled();
|
||||
+ }
|
||||
+
|
||||
+ private void notifyObservers(boolean hint) {
|
||||
+ for (ButtonDataObserver observer : mObservers) {
|
||||
+ observer.buttonDataChanged(hint);
|
||||
+ }
|
||||
+ } */
|
||||
+
|
||||
/**
|
||||
* Returns an IPH for this button. Only called once native is initialized and when {@code
|
||||
* AdaptiveToolbarFeatures.isCustomizationEnabled()} is true.
|
||||
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
|
||||
--- a/chrome/browser/about_flags.cc
|
||||
+++ b/chrome/browser/about_flags.cc
|
||||
@@ -701,18 +701,12 @@ const FeatureEntry::FeatureParam kAdaptiveButtonCustomization_Share[] = {
|
||||
{"default_segment", "share"},
|
||||
{"show_ui_only_after_ready", "false"},
|
||||
{"ignore_segmentation_results", "true"}};
|
||||
-const FeatureEntry::FeatureParam kAdaptiveButtonCustomization_Voice[] = {
|
||||
- {"default_segment", "voice"},
|
||||
- {"show_ui_only_after_ready", "false"},
|
||||
- {"ignore_segmentation_results", "true"}};
|
||||
const FeatureEntry::FeatureVariation
|
||||
kAdaptiveButtonInTopToolbarCustomizationVariations[] = {
|
||||
{"New Tab", kAdaptiveButtonCustomization_NewTab,
|
||||
std::size(kAdaptiveButtonCustomization_NewTab), nullptr},
|
||||
{"Share", kAdaptiveButtonCustomization_Share,
|
||||
std::size(kAdaptiveButtonCustomization_Share), nullptr},
|
||||
- {"Voice", kAdaptiveButtonCustomization_Voice,
|
||||
- std::size(kAdaptiveButtonCustomization_Voice), nullptr},
|
||||
};
|
||||
|
||||
const FeatureEntry::FeatureParam kContextualPageActionsUiParams_Quiet[] = {
|
||||
diff --git a/chrome/browser/flag-metadata.json b/chrome/browser/flag-metadata.json
|
||||
--- a/chrome/browser/flag-metadata.json
|
||||
+++ b/chrome/browser/flag-metadata.json
|
||||
@@ -47,9 +47,10 @@
|
||||
@@ -52,9 +52,10 @@
|
||||
"expiry_milestone": 130
|
||||
},
|
||||
{
|
||||
@@ -130,7 +59,7 @@ diff --git a/chrome/browser/flag-metadata.json b/chrome/browser/flag-metadata.js
|
||||
diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browser/flags/android/chrome_feature_list.cc
|
||||
--- a/chrome/browser/flags/android/chrome_feature_list.cc
|
||||
+++ b/chrome/browser/flags/android/chrome_feature_list.cc
|
||||
@@ -159,6 +159,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
|
||||
@@ -168,6 +168,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
|
||||
&history::kOrganicRepeatableQueries,
|
||||
&history_clusters::internal::kJourneys,
|
||||
&history_clusters::internal::kOmniboxAction,
|
||||
@@ -138,7 +67,7 @@ diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browse
|
||||
&kAdaptiveButtonInTopToolbarTranslate,
|
||||
&kAdaptiveButtonInTopToolbarAddToBookmarks,
|
||||
&kAdaptiveButtonInTopToolbarCustomizationV2,
|
||||
@@ -419,6 +420,10 @@ static jlong JNI_ChromeFeatureMap_GetNativeMap(JNIEnv* env) {
|
||||
@@ -420,6 +421,10 @@ static jlong JNI_ChromeFeatureMap_GetNativeMap(JNIEnv* env) {
|
||||
|
||||
// Alphabetical:
|
||||
|
||||
@@ -152,7 +81,7 @@ diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browse
|
||||
diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
|
||||
--- a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
|
||||
+++ b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
|
||||
@@ -158,6 +158,7 @@ public abstract class ChromeFeatureList {
|
||||
@@ -160,6 +160,7 @@ public abstract class ChromeFeatureList {
|
||||
public static final String ACCOUNT_REAUTHENTICATION_RECENT_TIME_WINDOW =
|
||||
"AccountReauthenticationRecentTimeWindow";
|
||||
public static final String ALLOW_USER_CERTIFICATES = "AllowUserCertificates";
|
||||
@@ -163,8 +92,8 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f
|
||||
diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/adaptive/AdaptiveToolbarButtonController.java b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/adaptive/AdaptiveToolbarButtonController.java
|
||||
--- a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/adaptive/AdaptiveToolbarButtonController.java
|
||||
+++ b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/adaptive/AdaptiveToolbarButtonController.java
|
||||
@@ -278,6 +278,15 @@ public class AdaptiveToolbarButtonController
|
||||
new AdaptiveToolbarStatePredictor(profile, mAndroidPermissionDelegate);
|
||||
@@ -281,6 +281,15 @@ public class AdaptiveToolbarButtonController
|
||||
new AdaptiveToolbarStatePredictor(mContext, profile, mAndroidPermissionDelegate);
|
||||
ContextUtils.getAppSharedPreferences().registerOnSharedPreferenceChangeListener(this);
|
||||
|
||||
+ if (AdaptiveToolbarFeatures.isSingleVariantModeEnabled()) {
|
||||
@@ -182,9 +111,9 @@ diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/brow
|
||||
diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/adaptive/AdaptiveToolbarFeatures.java b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/adaptive/AdaptiveToolbarFeatures.java
|
||||
--- a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/adaptive/AdaptiveToolbarFeatures.java
|
||||
+++ b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/adaptive/AdaptiveToolbarFeatures.java
|
||||
@@ -16,8 +16,18 @@ import org.chromium.chrome.browser.readaloud.ReadAloudFeatures;
|
||||
|
||||
@@ -18,8 +18,18 @@ import org.chromium.ui.base.DeviceFormFactor;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
|
||||
-/** A utility class for handling feature flags used by {@link AdaptiveToolbarButtonController}. */
|
||||
+/** A utility class for handling feature flags used by {@link AdaptiveToolbarButtonController}. *
|
||||
@@ -202,16 +131,16 @@ diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/brow
|
||||
/** Finch default group for new tab variation. */
|
||||
static final String NEW_TAB = "new-tab";
|
||||
|
||||
@@ -33,6 +43,7 @@ public class AdaptiveToolbarFeatures {
|
||||
private static final String VARIATION_PARAM_DISABLE_UI = "disable_ui";
|
||||
private static final String VARIATION_PARAM_IGNORE_SEGMENTATION_RESULTS =
|
||||
"ignore_segmentation_results";
|
||||
@@ -48,6 +58,7 @@ public class AdaptiveToolbarFeatures {
|
||||
@AdaptiveToolbarButtonVariant private static Integer sButtonVariant;
|
||||
|
||||
/** For testing only. */
|
||||
+ private static final String VARIATION_PARAM_SINGLE_VARIANT_MODE = "mode";
|
||||
private static final String VARIATION_PARAM_SHOW_UI_ONLY_AFTER_READY =
|
||||
"show_ui_only_after_ready";
|
||||
@VisibleForTesting static final String VARIATION_PARAM_MIN_VERSION = "min_version_adaptive";
|
||||
@@ -113,6 +124,21 @@ public class AdaptiveToolbarFeatures {
|
||||
}
|
||||
private static String sDefaultSegmentForTesting;
|
||||
|
||||
private static HashMap<Integer, Boolean> sActionChipOverridesForTesting;
|
||||
@@ -79,6 +90,21 @@ public class AdaptiveToolbarFeatures {
|
||||
return false;
|
||||
}
|
||||
|
||||
+ /**
|
||||
@@ -232,8 +161,8 @@ diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/brow
|
||||
/**
|
||||
* Returns whether the adaptive toolbar is enabled with segmentation and customization.
|
||||
*
|
||||
@@ -252,11 +278,48 @@ public class AdaptiveToolbarFeatures {
|
||||
ChromeFeatureList.CONTEXTUAL_PAGE_ACTIONS, "enable_ui", true);
|
||||
@@ -204,6 +230,42 @@ public class AdaptiveToolbarFeatures {
|
||||
return segmentationResults.get(0);
|
||||
}
|
||||
|
||||
+ /**
|
||||
@@ -275,12 +204,14 @@ diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/brow
|
||||
/**
|
||||
* Returns the default variant to be shown in segmentation experiment when the backend results
|
||||
* are unavailable or not configured.
|
||||
@@ -211,6 +273,7 @@ public class AdaptiveToolbarFeatures {
|
||||
* @param context @{@link Context} to determine form-factor.
|
||||
*/
|
||||
static @AdaptiveToolbarButtonVariant int getSegmentationDefault() {
|
||||
static @AdaptiveToolbarButtonVariant int getSegmentationDefault(Context context) {
|
||||
+ assert !isSingleVariantModeEnabled();
|
||||
assert isCustomizationEnabled();
|
||||
if (sButtonVariant != null) return sButtonVariant;
|
||||
String defaultSegment = getDefaultSegment();
|
||||
String defaultSegment = getDefaultSegment(context);
|
||||
diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/adaptive/AdaptiveToolbarPrefs.java b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/adaptive/AdaptiveToolbarPrefs.java
|
||||
--- a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/adaptive/AdaptiveToolbarPrefs.java
|
||||
+++ b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/adaptive/AdaptiveToolbarPrefs.java
|
||||
@@ -296,7 +227,7 @@ diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/brow
|
||||
diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/adaptive/AdaptiveToolbarStatePredictor.java b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/adaptive/AdaptiveToolbarStatePredictor.java
|
||||
--- a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/adaptive/AdaptiveToolbarStatePredictor.java
|
||||
+++ b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/adaptive/AdaptiveToolbarStatePredictor.java
|
||||
@@ -91,10 +91,15 @@ public class AdaptiveToolbarStatePredictor {
|
||||
@@ -99,10 +99,15 @@ public class AdaptiveToolbarStatePredictor {
|
||||
|
||||
// Early return if the feature isn't enabled.
|
||||
if (!AdaptiveToolbarFeatures.isCustomizationEnabled()) {
|
||||
@@ -317,7 +248,7 @@ diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/brow
|
||||
diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/adaptive/AdaptiveToolbarStatePredictorTest.java b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/adaptive/AdaptiveToolbarStatePredictorTest.java
|
||||
--- a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/adaptive/AdaptiveToolbarStatePredictorTest.java
|
||||
+++ b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/adaptive/AdaptiveToolbarStatePredictorTest.java
|
||||
@@ -70,6 +70,21 @@ public class AdaptiveToolbarStatePredictorTest {
|
||||
@@ -73,6 +73,21 @@ public class AdaptiveToolbarStatePredictorTest {
|
||||
statePredictor.recomputeUiState(verifyResultCallback(expected));
|
||||
}
|
||||
|
||||
|
||||
@@ -11,9 +11,9 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
||||
.../java/res/xml/privacy_preferences.xml | 6 ++++
|
||||
.../flags/cromite/sTabSwitcherListMode.java | 33 +++++++++++++++++++
|
||||
.../Use-list-mode-for-tab-switcher.grdp | 9 +++++
|
||||
.../browser/toolbar/top/ToolbarPhone.java | 16 +++++----
|
||||
.../browser/toolbar/top/ToolbarPhone.java | 6 ++--
|
||||
.../tab-switcher-list-mode.inc | 3 ++
|
||||
6 files changed, 63 insertions(+), 8 deletions(-)
|
||||
6 files changed, 57 insertions(+), 4 deletions(-)
|
||||
create mode 100644 chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/cromite/sTabSwitcherListMode.java
|
||||
create mode 100644 chrome/browser/ui/android/strings/cromite_android_chrome_strings_grd/Use-list-mode-for-tab-switcher.grdp
|
||||
create mode 100644 cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/tab-switcher-list-mode.inc
|
||||
@@ -21,15 +21,15 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
||||
diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabUiFeatureUtilities.java b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabUiFeatureUtilities.java
|
||||
--- a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabUiFeatureUtilities.java
|
||||
+++ b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabUiFeatureUtilities.java
|
||||
@@ -11,6 +11,7 @@ import org.chromium.base.ResettersForTesting;
|
||||
import org.chromium.base.SysUtils;
|
||||
@@ -12,6 +12,7 @@ import org.chromium.base.SysUtils;
|
||||
import org.chromium.chrome.browser.flags.ChromeFeatureList;
|
||||
import org.chromium.chrome.browser.tasks.tab_groups.TabGroupModelFilter;
|
||||
import org.chromium.ui.base.DeviceFormFactor;
|
||||
+import org.chromium.chrome.browser.flags.cromite.sTabSwitcherListMode;
|
||||
|
||||
import java.util.Locale;
|
||||
import java.util.Set;
|
||||
@@ -46,8 +47,7 @@ public class TabUiFeatureUtilities {
|
||||
@@ -47,8 +48,7 @@ public class TabUiFeatureUtilities {
|
||||
|
||||
/** Returns whether the Grid Tab Switcher UI should use list mode. */
|
||||
public static boolean shouldUseListMode() {
|
||||
@@ -110,25 +110,15 @@ new file mode 100644
|
||||
diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/ToolbarPhone.java b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/ToolbarPhone.java
|
||||
--- a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/ToolbarPhone.java
|
||||
+++ b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/ToolbarPhone.java
|
||||
@@ -51,6 +51,7 @@ import org.chromium.base.MathUtils;
|
||||
import org.chromium.base.TraceEvent;
|
||||
@@ -51,6 +51,7 @@ import org.chromium.base.TraceEvent;
|
||||
import org.chromium.base.supplier.ObservableSupplier;
|
||||
import org.chromium.base.supplier.Supplier;
|
||||
import org.chromium.chrome.browser.flags.ChromeFeatureList;
|
||||
+import org.chromium.chrome.browser.flags.cromite.sTabSwitcherListMode;
|
||||
import org.chromium.chrome.browser.omnibox.LocationBar;
|
||||
import org.chromium.chrome.browser.omnibox.LocationBarCoordinator;
|
||||
import org.chromium.chrome.browser.omnibox.NewTabPageDelegate;
|
||||
@@ -503,7 +504,8 @@ public class ToolbarPhone extends ToolbarLayout
|
||||
|
||||
private void inflateTabSwitchingResources() {
|
||||
mToggleTabStackButton = findViewById(R.id.tab_switcher_button);
|
||||
- mToggleTabStackButton.setClickable(false);
|
||||
+ if (!sTabSwitcherListMode.getInstance().isEnabled())
|
||||
+ mToggleTabStackButton.setClickable(false);
|
||||
}
|
||||
|
||||
private void enableTabSwitchingResources() {
|
||||
@@ -1935,7 +1937,7 @@ public class ToolbarPhone extends ToolbarLayout
|
||||
@@ -1849,7 +1850,7 @@ public class ToolbarPhone extends ToolbarLayout
|
||||
// On entering the tab switcher, set the focusability of the url bar to be false. This will
|
||||
// occur at the start of the enter event, and will later be reset to true upon finishing the
|
||||
// exit event.
|
||||
@@ -137,30 +127,16 @@ diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/brow
|
||||
mLocationBar.setUrlBarFocusable(false);
|
||||
}
|
||||
|
||||
@@ -1952,9 +1954,10 @@ public class ToolbarPhone extends ToolbarLayout
|
||||
&& (mTabSwitcherState == STATIC_TAB || mTabSwitcherState == EXITING_TAB_SWITCHER)) {
|
||||
return;
|
||||
}
|
||||
- // Prevent pressing the tab switcher button until after transition finishes.
|
||||
- mToggleTabStackButton.setClickable(false);
|
||||
-
|
||||
+ if (!sTabSwitcherListMode.getInstance().isEnabled()) {
|
||||
+ // Prevent pressing the tab switcher button until after transition finishes.
|
||||
+ mToggleTabStackButton.setClickable(false);
|
||||
+ }
|
||||
mTabSwitcherState = inTabSwitcherMode ? ENTERING_TAB_SWITCHER : EXITING_TAB_SWITCHER;
|
||||
@@ -2047,7 +2048,8 @@ public class ToolbarPhone extends ToolbarLayout
|
||||
|
||||
updateLocationBarForNtp(mVisualState, urlHasFocus());
|
||||
|
||||
- getTabSwitcherButtonCoordinator().getContainerView().setClickable(!hasFocus);
|
||||
+ if (!sTabSwitcherListMode.getInstance().isEnabled())
|
||||
+ getTabSwitcherButtonCoordinator().getContainerView().setClickable(!hasFocus);
|
||||
triggerUrlFocusAnimation(hasFocus);
|
||||
}
|
||||
|
||||
// The width of location bar depends on mTabSwitcherState so layout request is needed. See
|
||||
@@ -2014,7 +2017,8 @@ public class ToolbarPhone extends ToolbarLayout
|
||||
}
|
||||
if (mTabSwitcherState == ENTERING_TAB_SWITCHER) {
|
||||
mTabSwitcherState = TAB_SWITCHER;
|
||||
- mToggleTabStackButton.setClickable(false);
|
||||
+ if (!sTabSwitcherListMode.getInstance().isEnabled())
|
||||
+ mToggleTabStackButton.setClickable(false);
|
||||
}
|
||||
// Ensure clickable if in STATIC_TAB mode.
|
||||
if (mTabSwitcherState == STATIC_TAB) {
|
||||
diff --git a/cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/tab-switcher-list-mode.inc b/cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/tab-switcher-list-mode.inc
|
||||
new file mode 100644
|
||||
--- /dev/null
|
||||
|
||||
Reference in New Issue
Block a user