Patches for 148.0.7778.97 (need work)
This commit is contained in:
@@ -10,10 +10,10 @@ Original License: BSD-3-Clause - https://spdx.org/licenses/BSD-3-Clause.html
|
||||
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
---
|
||||
chrome/android/java/res/layout/url_bar.xml | 1 +
|
||||
.../browser/omnibox/LocationBarMediator.java | 25 +++++++++++++-----
|
||||
.../browser/omnibox/LocationBarMediator.java | 21 ++++++++++++---
|
||||
.../chrome/browser/omnibox/UrlBar.java | 26 +++++++++++++++++++
|
||||
.../browser/omnibox/UrlBarViewBinder.java | 1 +
|
||||
4 files changed, 47 insertions(+), 6 deletions(-)
|
||||
4 files changed, 45 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/chrome/android/java/res/layout/url_bar.xml b/chrome/android/java/res/layout/url_bar.xml
|
||||
--- a/chrome/android/java/res/layout/url_bar.xml
|
||||
@@ -29,25 +29,7 @@ diff --git a/chrome/android/java/res/layout/url_bar.xml b/chrome/android/java/re
|
||||
diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarMediator.java b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarMediator.java
|
||||
--- a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarMediator.java
|
||||
+++ b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarMediator.java
|
||||
@@ -591,7 +591,7 @@ class LocationBarMediator
|
||||
if (NativePage.isChromePageUrl(currentUrl, mLocationBarDataProvider.isOffTheRecord())
|
||||
&& mCurrentInput != null) {
|
||||
mCurrentInput.setUserText(null);
|
||||
- beginOrResumeInput(/* activateNewSession= */ false);
|
||||
+ beginOrResumeInput(/* activateNewSession= */ false, /* wasFocus */ false);
|
||||
} else {
|
||||
setUrlBarText(
|
||||
mLocationBarDataProvider.getUrlBarData(),
|
||||
@@ -842,7 +842,7 @@ class LocationBarMediator
|
||||
if (mCurrentInput == null) return; // session not started yet.
|
||||
|
||||
mCurrentInput.setUserText(null);
|
||||
- beginOrResumeInput(/* activateNewSession= */ false);
|
||||
+ beginOrResumeInput(/* activateNewSession= */ false, /* wasFocus */ false);
|
||||
updateButtonVisibility();
|
||||
mUrlCoordinator.requestAccessibilityFocus();
|
||||
}
|
||||
@@ -923,7 +923,7 @@ class LocationBarMediator
|
||||
@@ -1006,7 +1006,7 @@ class LocationBarMediator
|
||||
// Existing text (e.g. if the user pasted via the fakebox) from the fake box
|
||||
// should be restored after toggling the focus.
|
||||
if (mCurrentInput != null && !mCurrentInput.getUserText().isEmpty()) {
|
||||
@@ -56,7 +38,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow
|
||||
}
|
||||
}
|
||||
|
||||
@@ -968,7 +968,7 @@ class LocationBarMediator
|
||||
@@ -1051,7 +1051,7 @@ class LocationBarMediator
|
||||
*/
|
||||
@EnsuresNonNullIf("mCurrentInput")
|
||||
@VisibleForTesting
|
||||
@@ -65,8 +47,8 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow
|
||||
// Do not instantiate a new ephemeral session unless we're activating it as well.
|
||||
var session = FuseboxSessionState.from(mLocationBarDataProvider);
|
||||
|
||||
@@ -1002,6 +1002,19 @@ class LocationBarMediator
|
||||
.addSyncObserverAndCallIfNonNull(mAutocompleteRequestTypeObserver);
|
||||
@@ -1086,6 +1086,19 @@ class LocationBarMediator
|
||||
mStatusCoordinator.setSiteSearchDataSupplier(mCurrentInput.getSiteSearchDataSupplier());
|
||||
|
||||
UrlBarData data = UrlBarData.forNonUrlText(mCurrentInput.getUserText());
|
||||
+ if (wasFocus) {
|
||||
@@ -85,7 +67,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow
|
||||
mUrlCoordinator.setUrlBarData(
|
||||
data, UrlBar.ScrollType.NO_SCROLL, mCurrentInput.getSelection());
|
||||
|
||||
@@ -1076,7 +1089,7 @@ class LocationBarMediator
|
||||
@@ -1161,7 +1174,7 @@ class LocationBarMediator
|
||||
// This call is permitted to happen before anyone else is activated, and
|
||||
// must be called before everyone else cleans up.
|
||||
if (hasFocus) {
|
||||
@@ -94,7 +76,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow
|
||||
} else {
|
||||
endInputInternal();
|
||||
}
|
||||
@@ -1953,7 +1966,7 @@ class LocationBarMediator
|
||||
@@ -2064,7 +2077,7 @@ class LocationBarMediator
|
||||
}
|
||||
|
||||
// Wait for the Url focus change before refreshing autocomplete.
|
||||
@@ -122,7 +104,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow
|
||||
import org.chromium.ui.display.DisplayAndroid;
|
||||
import org.chromium.ui.display.DisplayUtil;
|
||||
|
||||
@@ -109,6 +111,7 @@ public class UrlBar extends AutocompleteEditText {
|
||||
@@ -112,6 +114,7 @@ public class UrlBar extends AutocompleteEditText {
|
||||
private boolean mFocusEventEmitted;
|
||||
private boolean mAllowFocus = true;
|
||||
private boolean mAllowMultilineInput;
|
||||
@@ -130,7 +112,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow
|
||||
private boolean mCurrentInputCanBeWrapped;
|
||||
|
||||
private boolean mPendingScroll;
|
||||
@@ -332,6 +335,29 @@ public class UrlBar extends AutocompleteEditText {
|
||||
@@ -335,6 +338,29 @@ public class UrlBar extends AutocompleteEditText {
|
||||
mPendingScroll = false;
|
||||
}
|
||||
fixupTextDirection();
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -38,7 +38,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
.../browser/content_autofill_driver.cc | 11 +++
|
||||
.../content/browser/content_autofill_driver.h | 10 ++
|
||||
.../content_autofill_driver_factory.cc | 12 +++
|
||||
.../content/renderer/autofill_agent.cc | 10 +-
|
||||
.../content/renderer/autofill_agent.cc | 4 -
|
||||
.../renderer/password_autofill_agent.cc | 5 +-
|
||||
.../browser/foundations/autofill_driver.h | 2 +
|
||||
.../foundations/autofill_driver_factory.cc | 4 +
|
||||
@@ -50,7 +50,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
.../core/browser/password_form_manager.cc | 4 +
|
||||
.../core/browser/password_manager_client.cc | 2 +
|
||||
.../core/browser/password_manager_client.h | 2 +
|
||||
35 files changed, 255 insertions(+), 144 deletions(-)
|
||||
35 files changed, 249 insertions(+), 144 deletions(-)
|
||||
create mode 100644 components/android_autofill/browser/java/src/org/chromium/components/autofill/BrowserSelectionActionMenuDelegate.java
|
||||
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/password_manager/settings/PasswordSettings.java b/chrome/android/java/src/org/chromium/chrome/browser/password_manager/settings/PasswordSettings.java
|
||||
@@ -192,10 +192,10 @@ 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
|
||||
@@ -627,22 +627,8 @@ public class MainSettings extends ChromeBaseSettingsFragment
|
||||
}
|
||||
@@ -720,22 +720,8 @@ public class MainSettings extends ChromeBaseSettingsFragment
|
||||
|
||||
private void updateAutofillPreferences() {
|
||||
// TODO(crbug.com/482988366): Remove this method once the Autofill and passwords feature is launched.
|
||||
private void updateAutofillPreferencesPreAutofillAndPasswords() {
|
||||
- addPreferenceIfAbsent(PREF_AUTOFILL_SECTION);
|
||||
- addPreferenceIfAbsent(PREF_AUTOFILL_OPTIONS);
|
||||
- Preference autofillOptionsPreference = findPreference(PREF_AUTOFILL_OPTIONS);
|
||||
@@ -220,7 +220,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/MainSe
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.java
|
||||
@@ -122,6 +122,13 @@ import java.util.HashMap;
|
||||
@@ -121,6 +121,13 @@ import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import java.util.Objects;
|
||||
|
||||
@@ -234,7 +234,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.
|
||||
@@ -1248,6 +1255,11 @@ class TabImpl implements Tab {
|
||||
@@ -1252,6 +1259,11 @@ class TabImpl implements Tab {
|
||||
}
|
||||
|
||||
mObservers.clear();
|
||||
@@ -246,7 +246,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.jav
|
||||
if (!abortNavigationsFromTabClosures) mUserDataHost.destroy();
|
||||
mTabViewManager.destroy();
|
||||
hideNativePage(false, null);
|
||||
@@ -1637,6 +1649,7 @@ class TabImpl implements Tab {
|
||||
@@ -1641,6 +1653,7 @@ class TabImpl implements Tab {
|
||||
* @return iff the AutofillProvider should provide a ViewStructure when prompted.
|
||||
*/
|
||||
boolean providesAutofillStructure() {
|
||||
@@ -254,7 +254,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.jav
|
||||
if (!mProfile.isNativeInitialized()) {
|
||||
return false;
|
||||
}
|
||||
@@ -2436,16 +2449,21 @@ class TabImpl implements Tab {
|
||||
@@ -2440,16 +2453,21 @@ class TabImpl implements Tab {
|
||||
* @return true if the the provider is available for the given WebContents.
|
||||
*/
|
||||
private boolean prepareAutofillProvider(WebContents newWebContents) {
|
||||
@@ -282,7 +282,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.jav
|
||||
// TODO: crbug.com/432447902 — Provide only an activity context and push changes.
|
||||
mAutofillProvider =
|
||||
new AutofillProvider(
|
||||
@@ -2455,7 +2473,16 @@ class TabImpl implements Tab {
|
||||
@@ -2459,7 +2477,16 @@ class TabImpl implements Tab {
|
||||
getContext().getString(R.string.app_name));
|
||||
TabImplJni.get().initializeAutofillIfNecessary(mNativeTabAndroid);
|
||||
}
|
||||
@@ -311,7 +311,7 @@ diff --git a/chrome/browser/android/tab_android.cc b/chrome/browser/android/tab_
|
||||
#include "chrome/browser/ui/android/context_menu_helper.h"
|
||||
#include "chrome/browser/ui/android/tab_model/tab_model.h"
|
||||
#include "chrome/browser/ui/android/tab_model/tab_model_list.h"
|
||||
@@ -417,8 +418,7 @@ void TabAndroid::InitializeAutofillIfNecessary() {
|
||||
@@ -431,8 +432,7 @@ void TabAndroid::InitializeAutofillIfNecessary() {
|
||||
->MaybeInitKeyboardSuppressor();
|
||||
return;
|
||||
}
|
||||
@@ -324,7 +324,7 @@ diff --git a/chrome/browser/android/tab_android.cc b/chrome/browser/android/tab_
|
||||
diff --git a/chrome/browser/autofill/actor/actor_form_filling_service_impl.cc b/chrome/browser/autofill/actor/actor_form_filling_service_impl.cc
|
||||
--- a/chrome/browser/autofill/actor/actor_form_filling_service_impl.cc
|
||||
+++ b/chrome/browser/autofill/actor/actor_form_filling_service_impl.cc
|
||||
@@ -426,14 +426,6 @@ GetAutofillManager(const tabs::TabInterface& tab) {
|
||||
@@ -427,14 +427,6 @@ GetAutofillManager(const tabs::TabInterface& tab) {
|
||||
if (!profile) {
|
||||
return base::unexpected(kAutofillNotAvailable);
|
||||
}
|
||||
@@ -379,7 +379,7 @@ diff --git a/chrome/browser/autofill/android/java/src/org/chromium/chrome/browse
|
||||
diff --git a/chrome/browser/password_manager/chrome_password_manager_client.cc b/chrome/browser/password_manager/chrome_password_manager_client.cc
|
||||
--- a/chrome/browser/password_manager/chrome_password_manager_client.cc
|
||||
+++ b/chrome/browser/password_manager/chrome_password_manager_client.cc
|
||||
@@ -518,6 +518,12 @@ bool ChromePasswordManagerClient::PromptUserToChooseCredentials(
|
||||
@@ -521,6 +521,12 @@ bool ChromePasswordManagerClient::PromptUserToChooseCredentials(
|
||||
}
|
||||
|
||||
#if BUILDFLAG(IS_ANDROID)
|
||||
@@ -407,7 +407,7 @@ diff --git a/chrome/browser/password_manager/chrome_password_manager_client.h b/
|
||||
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
|
||||
@@ -336,6 +336,12 @@ CHAR_LIMIT guidelines:
|
||||
@@ -345,6 +345,12 @@ CHAR_LIMIT guidelines:
|
||||
<message name="IDS_PREFS_SECTION_ACCOUNT_AND_GOOGLE_SERVICES" desc="Title for the group of account-related entries and google services in Settings. [CHAR_LIMIT=32]">
|
||||
You and Google
|
||||
</message>
|
||||
@@ -558,7 +558,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) {
|
||||
@@ -389,9 +389,7 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) {
|
||||
web_contents);
|
||||
ChainedBackNavigationTracker::CreateForWebContents(web_contents);
|
||||
chrome_browser_net::NetErrorTabHelper::CreateForWebContents(web_contents);
|
||||
@@ -712,7 +712,7 @@ new file mode 100644
|
||||
diff --git a/components/autofill/content/browser/content_autofill_driver.cc b/components/autofill/content/browser/content_autofill_driver.cc
|
||||
--- a/components/autofill/content/browser/content_autofill_driver.cc
|
||||
+++ b/components/autofill/content/browser/content_autofill_driver.cc
|
||||
@@ -280,6 +280,13 @@ void RouteToManager(ContentAutofillDriver& source,
|
||||
@@ -281,6 +281,13 @@ void RouteToManager(ContentAutofillDriver& source,
|
||||
AutofillManager& manager = target.GetAutofillManager();
|
||||
(manager.*
|
||||
manager_fun)(WithNewVersion(std::forward<ManagerArgs>(args))...);
|
||||
@@ -726,7 +726,7 @@ diff --git a/components/autofill/content/browser/content_autofill_driver.cc b/co
|
||||
},
|
||||
source, Lift(source, std::forward<ActualArgs>(args))...);
|
||||
}
|
||||
@@ -700,6 +707,10 @@ ContentAutofillDriver::GetAutofillAgent() {
|
||||
@@ -701,6 +708,10 @@ ContentAutofillDriver::GetAutofillAgent() {
|
||||
return autofill_agent_;
|
||||
}
|
||||
|
||||
@@ -796,7 +796,7 @@ diff --git a/components/autofill/content/browser/content_autofill_driver_factory
|
||||
diff --git a/components/autofill/content/renderer/autofill_agent.cc b/components/autofill/content/renderer/autofill_agent.cc
|
||||
--- a/components/autofill/content/renderer/autofill_agent.cc
|
||||
+++ b/components/autofill/content/renderer/autofill_agent.cc
|
||||
@@ -1615,17 +1615,19 @@ void AutofillAgent::ShowSuggestions(
|
||||
@@ -1551,10 +1551,6 @@ void AutofillAgent::ShowSuggestions(
|
||||
password_generation_agent_->ShowPasswordGenerationSuggestions(
|
||||
input_element, form_cache)) {
|
||||
is_popup_possibly_visible_ = true;
|
||||
@@ -804,22 +804,9 @@ diff --git a/components/autofill/content/renderer/autofill_agent.cc b/components
|
||||
- features::kAutofillAndroidKeyboardAccessoryDynamicPositioning)) {
|
||||
- return;
|
||||
- }
|
||||
+#if !BUILDFLAG(IS_ANDROID)
|
||||
+ return;
|
||||
+#endif
|
||||
}
|
||||
+ [[maybe_unused]]
|
||||
bool password_agent_handled_request = TryShowPasswordSuggestions(
|
||||
input_element, IsPasswordsAutofillManuallyTriggered(trigger_source),
|
||||
password_request);
|
||||
+#if !BUILDFLAG(IS_ANDROID)
|
||||
if (password_agent_handled_request) {
|
||||
return;
|
||||
}
|
||||
+#endif
|
||||
}
|
||||
|
||||
if (config_.secure_context_required &&
|
||||
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
|
||||
@@ -864,7 +851,7 @@ diff --git a/components/autofill/core/browser/foundations/autofill_driver_factor
|
||||
diff --git a/components/autofill/core/browser/foundations/autofill_manager.h b/components/autofill/core/browser/foundations/autofill_manager.h
|
||||
--- a/components/autofill/core/browser/foundations/autofill_manager.h
|
||||
+++ b/components/autofill/core/browser/foundations/autofill_manager.h
|
||||
@@ -247,6 +247,8 @@ class AutofillManager
|
||||
@@ -249,6 +249,8 @@ class AutofillManager
|
||||
LifecycleState new_state,
|
||||
base::PassKey<AutofillDriverFactory> pass_key);
|
||||
|
||||
@@ -888,7 +875,7 @@ diff --git a/components/autofill/core/browser/foundations/browser_autofill_manag
|
||||
diff --git a/components/autofill/core/browser/foundations/browser_autofill_manager.h b/components/autofill/core/browser/foundations/browser_autofill_manager.h
|
||||
--- a/components/autofill/core/browser/foundations/browser_autofill_manager.h
|
||||
+++ b/components/autofill/core/browser/foundations/browser_autofill_manager.h
|
||||
@@ -457,6 +457,8 @@ class BrowserAutofillManager : public AutofillManager {
|
||||
@@ -452,6 +452,8 @@ class BrowserAutofillManager : public AutofillManager {
|
||||
// latter check is needed because IPC messages can arrive out of order.
|
||||
void UpdateInitialInteractionTimestamp(base::TimeTicks interaction_timestamp);
|
||||
|
||||
@@ -921,7 +908,7 @@ diff --git a/components/autofill/core/common/autofill_prefs.cc b/components/auto
|
||||
diff --git a/components/autofill/core/common/autofill_prefs.h b/components/autofill/core/common/autofill_prefs.h
|
||||
--- a/components/autofill/core/common/autofill_prefs.h
|
||||
+++ b/components/autofill/core/common/autofill_prefs.h
|
||||
@@ -152,6 +152,11 @@ inline constexpr char kAutofillWasNameAndEmailProfileUsed[] =
|
||||
@@ -153,6 +153,11 @@ inline constexpr char kAutofillWasNameAndEmailProfileUsed[] =
|
||||
// retention policy was run.
|
||||
inline constexpr char kAutocompleteLastVersionRetentionPolicy[] =
|
||||
"autocomplete.retention_policy_last_version";
|
||||
@@ -936,7 +923,7 @@ diff --git a/components/autofill/core/common/autofill_prefs.h b/components/autof
|
||||
diff --git a/components/password_manager/core/browser/password_form_manager.cc b/components/password_manager/core/browser/password_form_manager.cc
|
||||
--- a/components/password_manager/core/browser/password_form_manager.cc
|
||||
+++ b/components/password_manager/core/browser/password_form_manager.cc
|
||||
@@ -1196,6 +1196,10 @@ void PasswordFormManager::FillNow() {
|
||||
@@ -1200,6 +1200,10 @@ void PasswordFormManager::FillNow() {
|
||||
}
|
||||
autofills_left_--;
|
||||
|
||||
@@ -962,7 +949,7 @@ diff --git a/components/password_manager/core/browser/password_manager_client.cc
|
||||
diff --git a/components/password_manager/core/browser/password_manager_client.h b/components/password_manager/core/browser/password_manager_client.h
|
||||
--- a/components/password_manager/core/browser/password_manager_client.h
|
||||
+++ b/components/password_manager/core/browser/password_manager_client.h
|
||||
@@ -224,6 +224,8 @@ class PasswordManagerClient {
|
||||
@@ -228,6 +228,8 @@ class PasswordManagerClient {
|
||||
virtual void ShowKeyboardReplacingSurface(
|
||||
PasswordManagerDriver* driver,
|
||||
const autofill::PasswordSuggestionRequest& request);
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -28,7 +28,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
.../native_page/NativePageFactory.java | 20 +-
|
||||
.../NativePageNavigationDelegateImpl.java | 2 +-
|
||||
.../chrome/browser/ntp/NewTabPage.java | 8 +-
|
||||
.../chrome/browser/ntp/NewTabPageLayout.java | 29 +-
|
||||
.../browser/ntp/NewTabPageCoordinator.java | 28 +-
|
||||
.../ntp/search/SearchBoxViewBinder.java | 1 +
|
||||
.../suggestions/SuggestionsConfig.java | 2 +-
|
||||
.../SuggestionsNavigationDelegate.java | 27 +-
|
||||
@@ -40,8 +40,8 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
.../suggestions/tile/TilesLinearLayout.java | 2 +-
|
||||
.../engagement/important_sites_util.cc | 2 +-
|
||||
.../flags/android/chrome_feature_list.cc | 1 +
|
||||
.../browser/flags/ChromeFeatureList.java | 3 +-
|
||||
.../chrome_most_visited_sites_factory.cc | 3 -
|
||||
.../browser/flags/ChromeFeatureList.java | 1 +
|
||||
.../chrome_most_visited_sites_factory.cc | 4 -
|
||||
.../client_util/HomeModulesRankingHelper.java | 1 +
|
||||
.../strings/android_chrome_strings.grd | 6 +
|
||||
.../core/browser/top_sites_constants.h | 2 +-
|
||||
@@ -51,7 +51,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
.../Restore-Simplified-NTP-launch.inc | 12 +
|
||||
.../Restore-Simplified-NTP-launch.inc | 8 +
|
||||
.../Restore-Simplified-NTP-launch.inc | 1 +
|
||||
45 files changed, 647 insertions(+), 68 deletions(-)
|
||||
45 files changed, 646 insertions(+), 67 deletions(-)
|
||||
create mode 100644 chrome/android/java/res/drawable-hdpi/ic_most_visited_placeholder.png
|
||||
create mode 100644 chrome/android/java/res/drawable-mdpi/ic_most_visited_placeholder.png
|
||||
create mode 100644 chrome/android/java/res/drawable-xhdpi/ic_most_visited_placeholder.png
|
||||
@@ -81,7 +81,7 @@ diff --git a/chrome/android/chrome_java_resources.gni b/chrome/android/chrome_ja
|
||||
"java/res/drawable-hdpi/ic_phone_googblue_36dp.png",
|
||||
"java/res/drawable-hdpi/ic_photo_camera.png",
|
||||
"java/res/drawable-hdpi/ic_place_googblue_36dp.png",
|
||||
@@ -544,6 +549,7 @@ chrome_java_resources = [
|
||||
@@ -553,6 +558,7 @@ chrome_java_resources = [
|
||||
"java/res/layout/manage_space_activity.xml",
|
||||
"java/res/layout/material_tooltip.xml",
|
||||
"java/res/layout/multiline_spinner_item.xml",
|
||||
@@ -89,7 +89,7 @@ diff --git a/chrome/android/chrome_java_resources.gni b/chrome/android/chrome_ja
|
||||
"java/res/layout/mv_tiles_layout.xml",
|
||||
"java/res/layout/navigation_bubble.xml",
|
||||
"java/res/layout/navigation_sheet.xml",
|
||||
@@ -552,8 +558,10 @@ chrome_java_resources = [
|
||||
@@ -561,8 +567,10 @@ chrome_java_resources = [
|
||||
"java/res/layout/new_background_tab_animation_tab_switcher_icon.xml",
|
||||
"java/res/layout/new_custom_tab_toolbar.xml",
|
||||
"java/res/layout/new_tab_page_incognito.xml",
|
||||
@@ -103,7 +103,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
|
||||
@@ -649,6 +649,7 @@ chrome_java_sources = [
|
||||
@@ -660,6 +660,7 @@ chrome_java_sources = [
|
||||
"java/src/org/chromium/chrome/browser/feedback/FeedFeedbackCollector.java",
|
||||
"java/src/org/chromium/chrome/browser/feedback/HelpAndFeedbackLauncherImpl.java",
|
||||
"java/src/org/chromium/chrome/browser/feedback/ScreenshotTask.java",
|
||||
@@ -111,7 +111,7 @@ diff --git a/chrome/android/chrome_java_sources.gni b/chrome/android/chrome_java
|
||||
"java/src/org/chromium/chrome/browser/findinpage/FindToolbar.java",
|
||||
"java/src/org/chromium/chrome/browser/findinpage/FindToolbarManager.java",
|
||||
"java/src/org/chromium/chrome/browser/findinpage/FindToolbarObserver.java",
|
||||
@@ -1096,6 +1097,7 @@ chrome_java_sources = [
|
||||
@@ -1111,6 +1112,7 @@ chrome_java_sources = [
|
||||
"java/src/org/chromium/chrome/browser/suggestions/mostvisited/MostVisitedSitesMetadataUtils.java",
|
||||
"java/src/org/chromium/chrome/browser/suggestions/tile/MostVisitedTilesCoordinator.java",
|
||||
"java/src/org/chromium/chrome/browser/suggestions/tile/MostVisitedTilesLayout.java",
|
||||
@@ -416,7 +416,7 @@ diff --git a/chrome/android/java/res/layout/mv_tiles_layout.xml b/chrome/android
|
||||
diff --git a/chrome/android/java/res/layout/new_tab_page_layout.xml b/chrome/android/java/res/layout/new_tab_page_layout.xml
|
||||
--- a/chrome/android/java/res/layout/new_tab_page_layout.xml
|
||||
+++ b/chrome/android/java/res/layout/new_tab_page_layout.xml
|
||||
@@ -50,6 +50,13 @@ found in the LICENSE file.
|
||||
@@ -42,6 +42,13 @@ found in the LICENSE file.
|
||||
/>
|
||||
|
||||
<!-- Most Visited Tiles -->
|
||||
@@ -577,10 +577,10 @@ diff --git a/chrome/android/java/res/values/dimens.xml b/chrome/android/java/res
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
|
||||
@@ -3715,7 +3715,8 @@ public class ChromeTabbedActivity extends ChromeActivity implements PreAttachInt
|
||||
@@ -3738,7 +3738,8 @@ public class ChromeTabbedActivity extends ChromeActivity implements PreAttachInt
|
||||
getStartupMetricsTracker(),
|
||||
mRootUiCoordinator.getExclusiveAccessManager(),
|
||||
mBackPressManager,
|
||||
mMultiInstanceManager,
|
||||
- mRecentlyClosedEntriesManager);
|
||||
+ mRecentlyClosedEntriesManager,
|
||||
+ mBookmarkManagerOpenerSupplier);
|
||||
@@ -598,7 +598,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/TabbedModeTabDe
|
||||
import org.chromium.chrome.browser.browser_controls.BrowserControlsStateProvider;
|
||||
import org.chromium.chrome.browser.compositor.CompositorViewHolder;
|
||||
import org.chromium.chrome.browser.contextmenu.ChromeContextMenuPopulator;
|
||||
@@ -58,6 +59,8 @@ import org.chromium.ui.modaldialog.ModalDialogManager;
|
||||
@@ -56,6 +57,8 @@ import org.chromium.ui.modaldialog.ModalDialogManager;
|
||||
import java.util.List;
|
||||
import java.util.function.Supplier;
|
||||
|
||||
@@ -607,7 +607,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/TabbedModeTabDe
|
||||
/**
|
||||
* {@link TabDelegateFactory} class to be used in all {@link Tab} instances owned by a {@link
|
||||
* ChromeTabbedActivity}.
|
||||
@@ -92,6 +95,8 @@ public class TabbedModeTabDelegateFactory implements TabDelegateFactory {
|
||||
@@ -89,6 +92,8 @@ public class TabbedModeTabDelegateFactory implements TabDelegateFactory {
|
||||
private final TopInsetProvider mTopInsetProvider;
|
||||
private final StartupMetricsTracker mStartupMetricsTracker;
|
||||
private final @Nullable ExclusiveAccessManager mExclusiveAccessManager;
|
||||
@@ -615,29 +615,29 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/TabbedModeTabDe
|
||||
+
|
||||
private @Nullable NativePageFactory mNativePageFactory;
|
||||
private final BackPressManager mBackPressManager;
|
||||
private final MultiInstanceManager mMultiInstanceManager;
|
||||
@@ -128,7 +133,8 @@ public class TabbedModeTabDelegateFactory implements TabDelegateFactory {
|
||||
private final RecentlyClosedEntriesManager mRecentlyClosedEntriesManager;
|
||||
@@ -122,7 +127,8 @@ public class TabbedModeTabDelegateFactory implements TabDelegateFactory {
|
||||
StartupMetricsTracker startupMetricsTracker,
|
||||
@Nullable ExclusiveAccessManager exclusiveAccessManager,
|
||||
BackPressManager backPressManager,
|
||||
MultiInstanceManager multiInstanceManager,
|
||||
- RecentlyClosedEntriesManager recentlyClosedEntriesManager) {
|
||||
+ RecentlyClosedEntriesManager recentlyClosedEntriesManager,
|
||||
+ @NonNull MonotonicObservableSupplier<BookmarkManagerOpener> bookmarkManagerOpenerSupplier) {
|
||||
mActivity = activity;
|
||||
mAppBrowserControlsVisibilityDelegate = appBrowserControlsVisibilityDelegate;
|
||||
mShareDelegateSupplier = shareDelegateSupplier;
|
||||
@@ -160,6 +166,7 @@ public class TabbedModeTabDelegateFactory implements TabDelegateFactory {
|
||||
@@ -152,6 +158,7 @@ public class TabbedModeTabDelegateFactory implements TabDelegateFactory {
|
||||
mExclusiveAccessManager = exclusiveAccessManager;
|
||||
mBackPressManager = backPressManager;
|
||||
mMultiInstanceManager = multiInstanceManager;
|
||||
mRecentlyClosedEntriesManager = recentlyClosedEntriesManager;
|
||||
+ mBookmarkManagerOpenerSupplier = bookmarkManagerOpenerSupplier;
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -235,7 +242,8 @@ public class TabbedModeTabDelegateFactory implements TabDelegateFactory {
|
||||
@@ -224,7 +231,8 @@ public class TabbedModeTabDelegateFactory implements TabDelegateFactory {
|
||||
mTopInsetProvider,
|
||||
mStartupMetricsTracker,
|
||||
mBackPressManager,
|
||||
mMultiInstanceManager,
|
||||
- mRecentlyClosedEntriesManager);
|
||||
+ mRecentlyClosedEntriesManager,
|
||||
+ mBookmarkManagerOpenerSupplier);
|
||||
@@ -701,10 +701,10 @@ new file mode 100644
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/identity_disc/IdentityDiscController.java b/chrome/android/java/src/org/chromium/chrome/browser/identity_disc/IdentityDiscController.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/identity_disc/IdentityDiscController.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/identity_disc/IdentityDiscController.java
|
||||
@@ -201,7 +201,10 @@ public class IdentityDiscController
|
||||
@@ -204,7 +204,10 @@ public class IdentityDiscController
|
||||
|
||||
mButtonData.setButtonSpec(
|
||||
buttonSpecWithDrawableAndDescription(mButtonData.getButtonSpec(), email));
|
||||
buttonSpecWithDrawableAndDescription(mButtonData.getButtonSpec(), profileData));
|
||||
- mButtonData.setCanShow(true);
|
||||
+ if (email == null)
|
||||
+ mButtonData.setCanShow(false);
|
||||
@@ -731,8 +731,8 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/native_page/Nat
|
||||
+import org.chromium.chrome.browser.bookmarks.BookmarkManagerOpener;
|
||||
import org.chromium.chrome.browser.browser_controls.BrowserControlsMarginAdapter;
|
||||
import org.chromium.chrome.browser.browser_controls.BrowserControlsStateProvider;
|
||||
import org.chromium.chrome.browser.flags.ChromeFeatureList;
|
||||
@@ -104,6 +106,7 @@ public class NativePageFactory {
|
||||
import org.chromium.chrome.browser.contextual_tasks.ContextualTasksNativePage;
|
||||
@@ -102,6 +104,7 @@ public class NativePageFactory {
|
||||
private final MonotonicObservableSupplier<EdgeToEdgeController> mEdgeToEdgeControllerSupplier;
|
||||
private final TopInsetProvider mTopInsetProvider;
|
||||
private final StartupMetricsTracker mStartupMetricsTracker;
|
||||
@@ -740,37 +740,37 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/native_page/Nat
|
||||
private @Nullable NewTabPageCreationTracker mNewTabPageCreationTracker;
|
||||
|
||||
private @Nullable NativePageBuilder mNativePageBuilder;
|
||||
@@ -134,7 +137,8 @@ public class NativePageFactory {
|
||||
@@ -129,7 +132,8 @@ public class NativePageFactory {
|
||||
TopInsetProvider topInsetProvider,
|
||||
StartupMetricsTracker startupMetricsTracker,
|
||||
BackPressManager backPressManager,
|
||||
MultiInstanceManager multiInstanceManager,
|
||||
- RecentlyClosedEntriesManager recentlyClosedEntriesManager) {
|
||||
+ RecentlyClosedEntriesManager recentlyClosedEntriesManager,
|
||||
+ MonotonicObservableSupplier<BookmarkManagerOpener> bookmarkManagerOpenerSupplier) {
|
||||
mActivity = activity;
|
||||
mBottomSheetController = sheetController;
|
||||
mBrowserControlsManager = browserControlsManager;
|
||||
@@ -157,6 +161,7 @@ public class NativePageFactory {
|
||||
@@ -150,6 +154,7 @@ public class NativePageFactory {
|
||||
mStartupMetricsTracker = startupMetricsTracker;
|
||||
mBackPressManager = backPressManager;
|
||||
mMultiInstanceManager = multiInstanceManager;
|
||||
mRecentlyClosedEntriesManager = recentlyClosedEntriesManager;
|
||||
+ mBookmarkManagerOpenerSupplier = bookmarkManagerOpenerSupplier;
|
||||
}
|
||||
|
||||
private NativePageBuilder getBuilder() {
|
||||
@@ -185,7 +190,8 @@ public class NativePageFactory {
|
||||
@@ -176,7 +181,8 @@ public class NativePageFactory {
|
||||
mTopInsetProvider,
|
||||
mStartupMetricsTracker,
|
||||
mBackPressManager,
|
||||
mMultiInstanceManager,
|
||||
- mRecentlyClosedEntriesManager);
|
||||
+ mRecentlyClosedEntriesManager,
|
||||
+ mBookmarkManagerOpenerSupplier);
|
||||
}
|
||||
return mNativePageBuilder;
|
||||
}
|
||||
@@ -224,9 +230,10 @@ public class NativePageFactory {
|
||||
@@ -213,9 +219,10 @@ public class NativePageFactory {
|
||||
private final StartupMetricsTracker mStartupMetricsTracker;
|
||||
private final BackPressManager mBackPressManager;
|
||||
private final MultiInstanceManager mMultiInstanceManager;
|
||||
private final RecentlyClosedEntriesManager mRecentlyClosedEntriesManager;
|
||||
+ private final MonotonicObservableSupplier<BookmarkManagerOpener> mBookmarkManagerOpenerSupplier;
|
||||
|
||||
@@ -780,30 +780,30 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/native_page/Nat
|
||||
Supplier<NewTabPageCreationTracker> newTabPageCreationTracker,
|
||||
BottomSheetController sheetController,
|
||||
BrowserControlsManager browserControlsManager,
|
||||
@@ -248,7 +255,8 @@ public class NativePageFactory {
|
||||
@@ -235,7 +242,8 @@ public class NativePageFactory {
|
||||
TopInsetProvider topInsetProvider,
|
||||
StartupMetricsTracker startupMetricsTracker,
|
||||
BackPressManager backPressManager,
|
||||
MultiInstanceManager multiInstanceManager,
|
||||
- RecentlyClosedEntriesManager recentlyClosedEntriesManager) {
|
||||
+ RecentlyClosedEntriesManager recentlyClosedEntriesManager,
|
||||
+ MonotonicObservableSupplier<BookmarkManagerOpener> bookmarkManagerOpenerSupplier) {
|
||||
mActivity = activity;
|
||||
mNewTabPageCreationTracker = newTabPageCreationTracker;
|
||||
mBottomSheetController = sheetController;
|
||||
@@ -272,6 +280,7 @@ public class NativePageFactory {
|
||||
@@ -257,6 +265,7 @@ public class NativePageFactory {
|
||||
mStartupMetricsTracker = startupMetricsTracker;
|
||||
mBackPressManager = backPressManager;
|
||||
mMultiInstanceManager = multiInstanceManager;
|
||||
mRecentlyClosedEntriesManager = recentlyClosedEntriesManager;
|
||||
+ mBookmarkManagerOpenerSupplier = bookmarkManagerOpenerSupplier;
|
||||
}
|
||||
|
||||
protected NativePage buildNewTabPage(Tab tab, String url) {
|
||||
@@ -316,7 +325,8 @@ public class NativePageFactory {
|
||||
@@ -299,7 +308,8 @@ public class NativePageFactory {
|
||||
mModuleRegistrySupplier,
|
||||
mEdgeToEdgeControllerSupplier,
|
||||
mTopInsetProvider,
|
||||
mStartupMetricsTracker,
|
||||
- mMultiInstanceManager);
|
||||
+ mMultiInstanceManager,
|
||||
- mStartupMetricsTracker);
|
||||
+ mStartupMetricsTracker,
|
||||
+ mBookmarkManagerOpenerSupplier);
|
||||
}
|
||||
|
||||
@@ -811,7 +811,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/native_page/Nat
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/native_page/NativePageNavigationDelegateImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/native_page/NativePageNavigationDelegateImpl.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/native_page/NativePageNavigationDelegateImpl.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/native_page/NativePageNavigationDelegateImpl.java
|
||||
@@ -31,7 +31,7 @@ import org.chromium.ui.mojom.WindowOpenDisposition;
|
||||
@@ -28,7 +28,7 @@ import org.chromium.ui.mojom.WindowOpenDisposition;
|
||||
/** {@link NativePageNavigationDelegate} implementation. */
|
||||
@NullMarked
|
||||
public class NativePageNavigationDelegateImpl implements NativePageNavigationDelegate {
|
||||
@@ -823,9 +823,9 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/native_page/Nat
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage.java b/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage.java
|
||||
@@ -133,6 +133,9 @@ import org.chromium.ui.base.WindowAndroid;
|
||||
@@ -110,6 +110,9 @@ import org.chromium.ui.base.DeviceFormFactor;
|
||||
import org.chromium.ui.base.WindowAndroid;
|
||||
import org.chromium.ui.modaldialog.ModalDialogManager;
|
||||
import org.chromium.url.GURL;
|
||||
|
||||
+import androidx.annotation.NonNull;
|
||||
+import org.chromium.chrome.browser.bookmarks.BookmarkManagerOpener;
|
||||
@@ -833,62 +833,54 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage.
|
||||
import java.util.List;
|
||||
import java.util.function.Supplier;
|
||||
|
||||
@@ -444,7 +447,8 @@ public class NewTabPage
|
||||
@@ -402,7 +405,8 @@ public class NewTabPage
|
||||
OneshotSupplier<ModuleRegistry> moduleRegistrySupplier,
|
||||
MonotonicObservableSupplier<EdgeToEdgeController> edgeToEdgeControllerSupplier,
|
||||
TopInsetProvider topInsetProvider,
|
||||
StartupMetricsTracker startupMetricsTracker,
|
||||
- MultiInstanceManager multiInstanceManager) {
|
||||
+ MultiInstanceManager multiInstanceManager,
|
||||
- StartupMetricsTracker startupMetricsTracker) {
|
||||
+ StartupMetricsTracker startupMetricsTracker,
|
||||
+ MonotonicObservableSupplier<BookmarkManagerOpener> bookmarkManagerOpenerSupplier) {
|
||||
mConstructedTimeNs = System.nanoTime();
|
||||
TraceEvent.begin(TAG);
|
||||
|
||||
@@ -474,7 +478,7 @@ public class NewTabPage
|
||||
nativePageHost,
|
||||
tabModelSelector,
|
||||
mTab,
|
||||
- multiInstanceManager);
|
||||
+ multiInstanceManager, bookmarkManagerOpenerSupplier);
|
||||
@@ -422,7 +426,7 @@ public class NewTabPage
|
||||
|
||||
SuggestionsNavigationDelegate navigationDelegate =
|
||||
new SuggestionsNavigationDelegate(
|
||||
- activity, profile, nativePageHost, tabModelSelector, mTab);
|
||||
+ activity, profile, nativePageHost, tabModelSelector, mTab, bookmarkManagerOpenerSupplier);
|
||||
mNewTabPageManager =
|
||||
new NewTabPageManagerImpl(
|
||||
navigationDelegate, profile, nativePageHost, snackbarManager);
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageLayout.java b/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageLayout.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageLayout.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageLayout.java
|
||||
@@ -14,6 +14,7 @@ import android.graphics.Rect;
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageCoordinator.java b/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageCoordinator.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageCoordinator.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageCoordinator.java
|
||||
@@ -13,6 +13,7 @@ import android.graphics.Point;
|
||||
import android.graphics.Rect;
|
||||
import android.text.Editable;
|
||||
import android.util.AttributeSet;
|
||||
import android.view.DragEvent;
|
||||
+import android.view.ViewStub;
|
||||
import android.view.View;
|
||||
import android.view.View.OnLayoutChangeListener;
|
||||
import android.view.ViewGroup;
|
||||
import android.view.ViewStub;
|
||||
@@ -39,6 +40,7 @@ import org.chromium.chrome.browser.feed.FeedSurfaceScrollDelegate;
|
||||
import org.chromium.chrome.browser.flags.ChromeFeatureList;
|
||||
import org.chromium.chrome.browser.incognito.IncognitoUtils;
|
||||
import org.chromium.chrome.browser.lens.LensEntryPoint;
|
||||
+import org.chromium.chrome.browser.flags.ChromeFeatureList;
|
||||
import org.chromium.chrome.browser.lens.LensMetrics;
|
||||
import org.chromium.chrome.browser.lifecycle.ActivityLifecycleDispatcher;
|
||||
import org.chromium.chrome.browser.logo.LogoBridge.Logo;
|
||||
@@ -59,6 +61,7 @@ import org.chromium.chrome.browser.signin.SigninAndHistorySyncActivityLauncherIm
|
||||
@@ -64,6 +65,7 @@ import org.chromium.chrome.browser.setup_list.SetupListModuleUtils;
|
||||
import org.chromium.chrome.browser.signin.SigninAndHistorySyncActivityLauncherImpl;
|
||||
import org.chromium.chrome.browser.suggestions.tile.MostVisitedTilesCoordinator;
|
||||
import org.chromium.chrome.browser.suggestions.tile.TileGroup;
|
||||
import org.chromium.chrome.browser.suggestions.tile.TileGroup.Delegate;
|
||||
+import org.chromium.chrome.browser.suggestions.tile.MostVisitedTilesGridLayout;
|
||||
import org.chromium.chrome.browser.tab_ui.InvalidationAwareThumbnailProvider;
|
||||
import org.chromium.chrome.browser.ui.messages.snackbar.SnackbarManager;
|
||||
import org.chromium.chrome.browser.ui.native_page.TouchEnabledDelegate;
|
||||
@@ -116,6 +119,8 @@ public class NewTabPageLayout extends LinearLayout {
|
||||
private SearchEngineUtils.@Nullable SearchEngineIconObserver mSearchEngineIconObserver;
|
||||
private SearchEngineUtils.@Nullable SearchBoxHintTextObserver mSearchBoxHintTextObserver;
|
||||
import org.chromium.chrome.browser.tab.Tab;
|
||||
import org.chromium.chrome.browser.tab.TabLaunchType;
|
||||
import org.chromium.chrome.browser.tab.TabSelectionType;
|
||||
@@ -147,6 +149,8 @@ public class NewTabPageCoordinator implements ModuleDelegateHost {
|
||||
private SetupListManager.@Nullable Observer mSetupListObserver;
|
||||
private @Nullable Point mContextMenuStartPosition;
|
||||
|
||||
+ private ViewGroup mShortcutsView;
|
||||
+
|
||||
/**
|
||||
* Whether the tiles shown in the layout have finished loading. With {@link #mHasShownView},
|
||||
* it's one of the 2 flags used to track initialisation progress.
|
||||
@@ -128,14 +133,14 @@ public class NewTabPageLayout extends LinearLayout {
|
||||
@@ -159,14 +163,14 @@ public class NewTabPageCoordinator implements ModuleDelegateHost {
|
||||
*/
|
||||
private boolean mHasShownView;
|
||||
|
||||
@@ -902,10 +894,10 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageL
|
||||
private float mUrlFocusChangePercent;
|
||||
- private boolean mDisableUrlFocusChangeAnimations;
|
||||
+ private boolean mDisableUrlFocusChangeAnimations = true;
|
||||
private boolean mIsViewMoving;
|
||||
|
||||
/** Flag used to request some layout changes after the next layout pass is completed. */
|
||||
@@ -302,6 +307,7 @@ public class NewTabPageLayout extends LinearLayout {
|
||||
private boolean mTileCountChanged;
|
||||
@@ -345,6 +349,7 @@ public class NewTabPageCoordinator implements ModuleDelegateHost {
|
||||
mSearchEngineUtils.addIconObserver(mSearchEngineIconObserver);
|
||||
setSearchBoxTextAppearance();
|
||||
|
||||
@@ -913,16 +905,16 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageL
|
||||
initializeSearchBoxTextView();
|
||||
initializeVoiceSearchButton();
|
||||
initializeLensButton();
|
||||
@@ -762,7 +768,7 @@ public class NewTabPageLayout extends LinearLayout {
|
||||
return;
|
||||
}
|
||||
boolean isSearchProviderIsGoogleChanged = mSearchProviderIsGoogle != isGoogle;
|
||||
- mSearchProviderHasLogo = hasLogo;
|
||||
+ mSearchProviderHasLogo = false;
|
||||
mSearchProviderIsGoogle = isGoogle;
|
||||
|
||||
if (!mSearchProviderIsGoogle) {
|
||||
@@ -829,6 +835,7 @@ public class NewTabPageLayout extends LinearLayout {
|
||||
@@ -742,6 +747,8 @@ public class NewTabPageCoordinator implements ModuleDelegateHost {
|
||||
* @param isGoogle Whether the search provider is Google.
|
||||
*/
|
||||
void setSearchProviderInfo(boolean hasLogo, boolean isGoogle) {
|
||||
+ hasLogo = false;
|
||||
+ isGoogle = false;
|
||||
if (hasLogo == mSearchProviderHasLogo
|
||||
&& isGoogle == mSearchProviderIsGoogle
|
||||
&& mInitialized) {
|
||||
@@ -807,6 +814,7 @@ public class NewTabPageCoordinator implements ModuleDelegateHost {
|
||||
* @param disable Whether to disable the animations.
|
||||
*/
|
||||
void setUrlFocusAnimationsDisabled(boolean disable) {
|
||||
@@ -930,8 +922,8 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageL
|
||||
if (disable == mDisableUrlFocusChangeAnimations) return;
|
||||
mDisableUrlFocusChangeAnimations = disable;
|
||||
if (!disable) onUrlFocusAnimationChanged();
|
||||
@@ -1141,6 +1148,22 @@ public class NewTabPageLayout extends LinearLayout {
|
||||
mComposeplateUrlSupplier = null;
|
||||
@@ -1335,6 +1343,22 @@ public class NewTabPageCoordinator implements ModuleDelegateHost {
|
||||
}
|
||||
}
|
||||
|
||||
+ private void initializeShortcuts() {
|
||||
@@ -979,7 +971,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/suggestions/Sug
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/suggestions/SuggestionsNavigationDelegate.java b/chrome/android/java/src/org/chromium/chrome/browser/suggestions/SuggestionsNavigationDelegate.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/suggestions/SuggestionsNavigationDelegate.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/suggestions/SuggestionsNavigationDelegate.java
|
||||
@@ -24,18 +24,43 @@ import org.chromium.ui.base.PageTransition;
|
||||
@@ -23,17 +23,42 @@ import org.chromium.ui.base.PageTransition;
|
||||
import org.chromium.ui.mojom.WindowOpenDisposition;
|
||||
import org.chromium.url.GURL;
|
||||
|
||||
@@ -1002,11 +994,10 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/suggestions/Sug
|
||||
Profile profile,
|
||||
NativePageHost host,
|
||||
TabModelSelector tabModelSelector,
|
||||
Tab tab,
|
||||
- MultiInstanceManager multiInstanceManager) {
|
||||
+ MultiInstanceManager multiInstanceManager,
|
||||
- Tab tab) {
|
||||
+ Tab tab,
|
||||
+ MonotonicObservableSupplier<BookmarkManagerOpener> bookmarkManagerOpenerSupplier) {
|
||||
super(activity, profile, host, tabModelSelector, tab, multiInstanceManager);
|
||||
super(activity, profile, host, tabModelSelector, tab);
|
||||
+ mBookmarkManagerOpenerSupplier = bookmarkManagerOpenerSupplier;
|
||||
+ }
|
||||
+
|
||||
@@ -1390,7 +1381,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/suggestions/til
|
||||
MarginLayoutParams marginLayoutParams =
|
||||
(MarginLayoutParams) mMvTilesContainerLayout.getLayoutParams();
|
||||
marginLayoutParams.width =
|
||||
@@ -383,7 +377,5 @@ public class MostVisitedTilesMediator implements TileGroup.Observer {
|
||||
@@ -379,7 +373,5 @@ public class MostVisitedTilesMediator implements TileGroup.Observer {
|
||||
|
||||
double firstTileScore = mTileGroup.getSuggestionScore(firstTile.getUrl());
|
||||
if (firstTileScore < MVT_CUSTOMIZATION_IPH_TILE_SCORE_THRESHOULD) return;
|
||||
@@ -1546,7 +1537,7 @@ diff --git a/chrome/browser/engagement/important_sites_util.cc b/chrome/browser/
|
||||
diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browser/flags/android/chrome_feature_list.cc
|
||||
--- a/chrome/browser/flags/android/chrome_feature_list.cc
|
||||
+++ b/chrome/browser/flags/android/chrome_feature_list.cc
|
||||
@@ -364,6 +364,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
|
||||
@@ -382,6 +382,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
|
||||
&kKeyboardEscBackNavigation,
|
||||
&kLaunchCauseScreenOffFix,
|
||||
&kLensOnQuickActionSearchWidget,
|
||||
@@ -1557,7 +1548,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
|
||||
@@ -512,6 +512,7 @@ public abstract class ChromeFeatureList {
|
||||
@@ -530,6 +530,7 @@ public abstract class ChromeFeatureList {
|
||||
"MayLaunchUrlUsesSeparateStoragePartition";
|
||||
public static final String MEDIA_INDICATORS_ANDROID = "MediaIndicatorsAndroid";
|
||||
public static final String MOST_VISITED_TILES_CUSTOMIZATION = "MostVisitedTilesCustomization";
|
||||
@@ -1565,27 +1556,19 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f
|
||||
public static final String SEARCH_READY_OMNIBOX = "SearchReadyOmnibox";
|
||||
public static final String MOST_VISITED_TILES_RESELECT = "MostVisitedTilesReselect";
|
||||
public static final String MOVE_TO_FRONT_IN_LAUNCH_INTENT_DISPATCHER =
|
||||
@@ -989,7 +990,7 @@ public abstract class ChromeFeatureList {
|
||||
LOCK_TOP_CONTROLS_ON_LARGE_TABLETS_V2,
|
||||
/* defaultValue= */ false,
|
||||
/* defaultValueInTests= */ true);
|
||||
- public static final CachedFlag sMagicStackAndroid = newCachedFlag(MAGIC_STACK_ANDROID, true);
|
||||
+ public static final CachedFlag sMagicStackAndroid = newCachedFlag(MAGIC_STACK_ANDROID, false);
|
||||
public static final CachedFlag sMaliciousApkDownloadCheck =
|
||||
newCachedFlag(
|
||||
MALICIOUS_APK_DOWNLOAD_CHECK,
|
||||
diff --git a/chrome/browser/ntp_tiles/chrome_most_visited_sites_factory.cc b/chrome/browser/ntp_tiles/chrome_most_visited_sites_factory.cc
|
||||
--- a/chrome/browser/ntp_tiles/chrome_most_visited_sites_factory.cc
|
||||
+++ b/chrome/browser/ntp_tiles/chrome_most_visited_sites_factory.cc
|
||||
@@ -74,9 +74,6 @@ ChromeMostVisitedSitesFactory::NewForProfile(Profile* profile) {
|
||||
}
|
||||
@@ -67,10 +67,6 @@ ChromeMostVisitedSitesFactory::NewForProfile(Profile* profile) {
|
||||
|
||||
std::unique_ptr<data_decoder::DataDecoder> data_decoder;
|
||||
|
||||
-#if BUILDFLAG(IS_ANDROID)
|
||||
- data_decoder = std::make_unique<data_decoder::DataDecoder>();
|
||||
-#endif
|
||||
|
||||
-
|
||||
bool is_default_chrome_app_migrated;
|
||||
|
||||
#if BUILDFLAG(IS_ANDROID)
|
||||
diff --git a/chrome/browser/segmentation_platform/android/java/src/org/chromium/chrome/browser/segmentation_platform/client_util/HomeModulesRankingHelper.java b/chrome/browser/segmentation_platform/android/java/src/org/chromium/chrome/browser/segmentation_platform/client_util/HomeModulesRankingHelper.java
|
||||
--- a/chrome/browser/segmentation_platform/android/java/src/org/chromium/chrome/browser/segmentation_platform/client_util/HomeModulesRankingHelper.java
|
||||
@@ -1601,7 +1584,7 @@ diff --git a/chrome/browser/segmentation_platform/android/java/src/org/chromium/
|
||||
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
|
||||
@@ -4127,6 +4127,12 @@ To change this setting, <ph name="BEGIN_LINK">BEGIN_LINK</ph>delete the Chrome d
|
||||
@@ -4182,6 +4182,12 @@ To change this setting, <ph name="BEGIN_LINK">BEGIN_LINK</ph>delete the Chrome d
|
||||
<message name="IDS_RECENT_TABS" desc="Text for button to show 'Recent tabs', i.e. recently closed tabs and tabs that are open on other devices [CHAR_LIMIT=20]">
|
||||
Recent tabs
|
||||
</message>
|
||||
@@ -1641,7 +1624,7 @@ diff --git a/components/ntp_tiles/custom_links_store.cc b/components/ntp_tiles/c
|
||||
diff --git a/components/omnibox/common/omnibox_features.cc b/components/omnibox/common/omnibox_features.cc
|
||||
--- a/components/omnibox/common/omnibox_features.cc
|
||||
+++ b/components/omnibox/common/omnibox_features.cc
|
||||
@@ -194,6 +194,7 @@ BASE_FEATURE(kRemoveSearchReadyOmnibox, DISABLED);
|
||||
@@ -194,6 +194,7 @@ BASE_FEATURE(kOmniboxAimDeferShowUntilVisualStateReady, ENABLED);
|
||||
BASE_FEATURE(kDefaultTypedNavigationsToHttps,
|
||||
"OmniboxDefaultTypedNavigationsToHttps",
|
||||
enable_if(IS_IOS));
|
||||
@@ -1649,7 +1632,7 @@ diff --git a/components/omnibox/common/omnibox_features.cc b/components/omnibox/
|
||||
|
||||
// Override the delay to create a spare renderer when the omnibox is focused
|
||||
// on Android.
|
||||
@@ -275,6 +276,7 @@ BASE_FEATURE(kOmniboxMobileParityUpdate, ENABLED);
|
||||
@@ -278,6 +279,7 @@ BASE_FEATURE(kOmniboxMobileParityUpdate, ENABLED);
|
||||
// Updates various NTP/Omnibox assets and descriptions for visual alignment on
|
||||
// Android and iOS, V2.
|
||||
BASE_FEATURE(kOmniboxMobileParityUpdateV2, ENABLED);
|
||||
|
||||
@@ -42,8 +42,8 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
||||
.../android/java/res/values/dimens.xml | 17 +
|
||||
.../CredentialEditFragmentView.java | 228 ++++++
|
||||
.../CredentialEntryFragmentViewBase.java | 135 ++++
|
||||
.../browser/password_manager/android/BUILD.gn | 23 +
|
||||
.../ConfirmationDialogHelper.java | 30 +
|
||||
.../browser/password_manager/android/BUILD.gn | 24 +
|
||||
.../ConfirmationDialogHelper.java | 146 ++++
|
||||
.../PasswordManagerHelper.java | 22 +-
|
||||
.../PasswordManagerUtilBridge.java | 3 +-
|
||||
.../settings/CallbackDelayer.java | 18 +
|
||||
@@ -68,8 +68,8 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
||||
.../android/password_ui_view_android.cc | 450 +++++++++++
|
||||
.../android/password_ui_view_android.h | 196 +++++
|
||||
.../android/pwm_disabled/BUILD.gn | 2 -
|
||||
.../password_store_backend_factory.cc | 14 +-
|
||||
...ssword_manager_settings_service_factory.cc | 4 +-
|
||||
.../password_store_backend_factory.cc | 14 +-
|
||||
chrome/browser/prefs/browser_prefs.cc | 7 -
|
||||
.../strings/android_chrome_strings.grd | 123 ++-
|
||||
.../Import-Password-Android.grdp | 9 +
|
||||
@@ -88,7 +88,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
||||
.../core/common/password_manager_pref_names.h | 2 -
|
||||
components/sync/service/sync_prefs.cc | 2 +-
|
||||
.../Restore-chrome-password-store.inc | 1 +
|
||||
80 files changed, 5590 insertions(+), 81 deletions(-)
|
||||
80 files changed, 5707 insertions(+), 81 deletions(-)
|
||||
create mode 100644 chrome/android/java/res/layout/password_no_result.xml
|
||||
create mode 100644 chrome/android/java/res/menu/save_password_preferences_action_bar_menu.xml
|
||||
create mode 100644 chrome/android/java/src/org/chromium/chrome/browser/password_manager/settings/PasswordSettings.java
|
||||
@@ -109,6 +109,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
||||
create mode 100644 chrome/browser/password_entry_edit/android/java/res/values/dimens.xml
|
||||
create mode 100644 chrome/browser/password_entry_edit/android/java/src/org/chromium/chrome/browser/password_entry_edit/CredentialEditFragmentView.java
|
||||
create mode 100644 chrome/browser/password_entry_edit/android/java/src/org/chromium/chrome/browser/password_entry_edit/CredentialEntryFragmentViewBase.java
|
||||
create mode 100644 chrome/browser/password_manager/android/java/src/org/chromium/chrome/browser/password_manager/ConfirmationDialogHelper.java
|
||||
create mode 100644 chrome/browser/password_manager/android/java/src/org/chromium/chrome/browser/password_manager/settings/CallbackDelayer.java
|
||||
create mode 100644 chrome/browser/password_manager/android/java/src/org/chromium/chrome/browser/password_manager/settings/DialogManager.java
|
||||
create mode 100644 chrome/browser/password_manager/android/java/src/org/chromium/chrome/browser/password_manager/settings/ExportErrorDialogFragment.java
|
||||
@@ -134,7 +135,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
||||
diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
|
||||
--- a/chrome/android/BUILD.gn
|
||||
+++ b/chrome/android/BUILD.gn
|
||||
@@ -822,6 +822,10 @@ if (_is_default_toolchain) {
|
||||
@@ -827,6 +827,10 @@ if (_is_default_toolchain) {
|
||||
"//url/mojom:url_mojom_origin_java",
|
||||
]
|
||||
|
||||
@@ -145,7 +146,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
|
||||
deps += feed_deps
|
||||
|
||||
srcjar_deps = [
|
||||
@@ -972,6 +976,10 @@ if (_is_default_toolchain) {
|
||||
@@ -981,6 +985,10 @@ if (_is_default_toolchain) {
|
||||
"//components/visited_url_ranking/internal:internal_java",
|
||||
]
|
||||
|
||||
@@ -159,7 +160,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
|
||||
@@ -654,3 +654,8 @@ chrome_java_resources = [
|
||||
@@ -666,3 +666,8 @@ chrome_java_resources = [
|
||||
"java/res/xml/tracing_preferences.xml",
|
||||
"java/res/xml/unified_account_settings_preferences.xml",
|
||||
]
|
||||
@@ -171,7 +172,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
|
||||
@@ -932,6 +932,7 @@ chrome_java_sources = [
|
||||
@@ -947,6 +947,7 @@ chrome_java_sources = [
|
||||
"java/src/org/chromium/chrome/browser/password_manager/PasswordManagerDialogViewBinder.java",
|
||||
"java/src/org/chromium/chrome/browser/password_manager/PasswordManagerErrorMessageHelperBridge.java",
|
||||
"java/src/org/chromium/chrome/browser/password_manager/PasswordManagerLauncher.java",
|
||||
@@ -182,7 +183,7 @@ diff --git a/chrome/android/chrome_java_sources.gni b/chrome/android/chrome_java
|
||||
diff --git a/chrome/android/features/keyboard_accessory/internal/java/src/org/chromium/chrome/browser/keyboard_accessory/ManualFillingMediator.java b/chrome/android/features/keyboard_accessory/internal/java/src/org/chromium/chrome/browser/keyboard_accessory/ManualFillingMediator.java
|
||||
--- a/chrome/android/features/keyboard_accessory/internal/java/src/org/chromium/chrome/browser/keyboard_accessory/ManualFillingMediator.java
|
||||
+++ b/chrome/android/features/keyboard_accessory/internal/java/src/org/chromium/chrome/browser/keyboard_accessory/ManualFillingMediator.java
|
||||
@@ -611,10 +611,7 @@ class ManualFillingMediator
|
||||
@@ -620,10 +620,7 @@ class ManualFillingMediator
|
||||
// suggestions for non credential fields. The check for feature flag needs to happen before
|
||||
// `IS_CREDENTIAL_FIELD_OR_HAS_AUTOFILL_SUGGESTIONS` check to ensure we get the unbiased
|
||||
// metrics.
|
||||
@@ -197,7 +198,7 @@ diff --git a/chrome/android/features/keyboard_accessory/internal/java/src/org/ch
|
||||
diff --git a/chrome/android/java/AndroidManifest.xml b/chrome/android/java/AndroidManifest.xml
|
||||
--- a/chrome/android/java/AndroidManifest.xml
|
||||
+++ b/chrome/android/java/AndroidManifest.xml
|
||||
@@ -485,10 +485,9 @@ by a child template that "extends" this file.
|
||||
@@ -477,10 +477,9 @@ by a child template that "extends" this file.
|
||||
</intent-filter>
|
||||
</activity>
|
||||
|
||||
@@ -310,20 +311,20 @@ diff --git a/chrome/android/java/res/values/dimens.xml b/chrome/android/java/res
|
||||
diff --git a/chrome/android/java/res/xml/main_preferences.xml b/chrome/android/java/res/xml/main_preferences.xml
|
||||
--- a/chrome/android/java/res/xml/main_preferences.xml
|
||||
+++ b/chrome/android/java/res/xml/main_preferences.xml
|
||||
@@ -64,7 +64,8 @@ found in the LICENSE file.
|
||||
@@ -69,7 +69,8 @@ found in the LICENSE file.
|
||||
android:key="autofill_section"
|
||||
android:order="11"
|
||||
android:order="12"
|
||||
android:title="@string/prefs_section_autofill"/>
|
||||
- <org.chromium.chrome.browser.password_manager.settings.PasswordsPreference
|
||||
+ <org.chromium.components.browser_ui.settings.ChromeBasePreference
|
||||
+ android:fragment="org.chromium.chrome.browser.password_manager.settings.PasswordSettings"
|
||||
android:key="passwords"
|
||||
android:order="12"
|
||||
android:order="13"
|
||||
android:title="@string/password_manager_settings_title"/>
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/autofill/settings/AutofillPaymentMethodsFragment.java b/chrome/android/java/src/org/chromium/chrome/browser/autofill/settings/AutofillPaymentMethodsFragment.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/autofill/settings/AutofillPaymentMethodsFragment.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/autofill/settings/AutofillPaymentMethodsFragment.java
|
||||
@@ -833,6 +833,7 @@ public class AutofillPaymentMethodsFragment extends ChromeBaseSettingsFragment
|
||||
@@ -826,6 +826,7 @@ public class AutofillPaymentMethodsFragment extends ChromeBaseSettingsFragment
|
||||
}
|
||||
|
||||
private static boolean disabledSettingsInThirdPartyMode(Profile profile) {
|
||||
@@ -334,7 +335,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/autofill/settin
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/autofill/settings/AutofillProfilesFragment.java b/chrome/android/java/src/org/chromium/chrome/browser/autofill/settings/AutofillProfilesFragment.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/autofill/settings/AutofillProfilesFragment.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/autofill/settings/AutofillProfilesFragment.java
|
||||
@@ -635,6 +635,7 @@ public class AutofillProfilesFragment extends ChromeBaseSettingsFragment
|
||||
@@ -772,6 +772,7 @@ public class AutofillProfilesFragment extends ChromeBaseSettingsFragment
|
||||
}
|
||||
|
||||
private static boolean disabledSettingsInThirdPartyMode(Profile profile) {
|
||||
@@ -1061,7 +1062,7 @@ new file mode 100644
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/FragmentDependencyProvider.java b/chrome/android/java/src/org/chromium/chrome/browser/settings/FragmentDependencyProvider.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/settings/FragmentDependencyProvider.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/settings/FragmentDependencyProvider.java
|
||||
@@ -30,6 +30,8 @@ import org.chromium.chrome.browser.language.settings.LanguageSettings;
|
||||
@@ -29,6 +29,8 @@ import org.chromium.chrome.browser.language.settings.LanguageSettings;
|
||||
import org.chromium.chrome.browser.lifetime.ApplicationLifetime;
|
||||
import org.chromium.chrome.browser.locale.LocaleManager;
|
||||
import org.chromium.chrome.browser.page_info.SiteSettingsHelper;
|
||||
@@ -1070,7 +1071,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/Fragme
|
||||
import org.chromium.chrome.browser.password_manager.PasswordManagerHelper;
|
||||
import org.chromium.chrome.browser.password_manager.PasswordStoreBridge;
|
||||
import org.chromium.chrome.browser.privacy_guide.PrivacyGuideFragment;
|
||||
@@ -160,6 +162,9 @@ public class FragmentDependencyProvider extends FragmentManager.FragmentLifecycl
|
||||
@@ -165,6 +167,9 @@ public class FragmentDependencyProvider extends FragmentManager.FragmentLifecycl
|
||||
PasswordManagerHelper.getForProfile(mProfile),
|
||||
new SettingsCustomTabLauncherImpl());
|
||||
}
|
||||
@@ -1083,7 +1084,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/Fragme
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/MainSettings.java b/chrome/android/java/src/org/chromium/chrome/browser/settings/MainSettings.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/settings/MainSettings.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/settings/MainSettings.java
|
||||
@@ -657,17 +657,6 @@ public class MainSettings extends ChromeBaseSettingsFragment
|
||||
@@ -750,17 +750,6 @@ public class MainSettings extends ChromeBaseSettingsFragment
|
||||
return SettingsNavigationHelper.showAutofillProfileSettings(
|
||||
getActivity());
|
||||
});
|
||||
@@ -1098,10 +1099,10 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/MainSe
|
||||
- mModalDialogManagerSupplier.asNonNull().get());
|
||||
- return true;
|
||||
- });
|
||||
}
|
||||
|
||||
// This is temporary code needed for migrating people to UPM. With UPM there is no
|
||||
// longer passwords setting page in Chrome, so we need to ask users to export their
|
||||
@@ -720,12 +709,6 @@ public class MainSettings extends ChromeBaseSettingsFragment
|
||||
private void maybeStartPasswordsExportFlow() {
|
||||
@@ -815,12 +804,6 @@ public class MainSettings extends ChromeBaseSettingsFragment
|
||||
|
||||
private static void showPasswordSettings(
|
||||
Context context, Profile profile, ModalDialogManager modalDialogManager) {
|
||||
@@ -1145,9 +1146,9 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/Settin
|
||||
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
|
||||
--- a/chrome/browser/BUILD.gn
|
||||
+++ b/chrome/browser/BUILD.gn
|
||||
@@ -3207,6 +3207,13 @@ static_library("browser") {
|
||||
"touch_to_fill/password_manager/touch_to_fill_controller_webauthn_delegate.h",
|
||||
]
|
||||
@@ -3020,6 +3020,13 @@ static_library("browser") {
|
||||
|
||||
public_deps += [ "//chrome/browser/accessibility/accessibility_prefs" ]
|
||||
|
||||
+ # static_library("browser")
|
||||
+ sources += [
|
||||
@@ -2985,12 +2986,13 @@ new file mode 100644
|
||||
diff --git a/chrome/browser/password_manager/android/BUILD.gn b/chrome/browser/password_manager/android/BUILD.gn
|
||||
--- a/chrome/browser/password_manager/android/BUILD.gn
|
||||
+++ b/chrome/browser/password_manager/android/BUILD.gn
|
||||
@@ -188,6 +188,27 @@ android_library("java") {
|
||||
@@ -187,6 +187,28 @@ android_library("java") {
|
||||
"java/src/org/chromium/chrome/browser/password_manager/settings/PasswordsPreference.java",
|
||||
]
|
||||
|
||||
+ # android_library("java")
|
||||
+ sources += [
|
||||
+ "java/src/org/chromium/chrome/browser/password_manager/ConfirmationDialogHelper.java",
|
||||
+ "java/src/org/chromium/chrome/browser/password_manager/settings/PasswordManagerHandler.java",
|
||||
+ "java/src/org/chromium/chrome/browser/password_manager/settings/PasswordManagerHandlerProvider.java",
|
||||
+ "java/src/org/chromium/chrome/browser/password_manager/settings/PasswordUiView.java",
|
||||
@@ -3013,7 +3015,7 @@ diff --git a/chrome/browser/password_manager/android/BUILD.gn b/chrome/browser/p
|
||||
resources_package = "org.chromium.chrome.browser.password_manager"
|
||||
}
|
||||
|
||||
@@ -209,6 +230,8 @@ generate_jni("jni_headers") {
|
||||
@@ -208,6 +230,8 @@ generate_jni("jni_headers") {
|
||||
"java/src/org/chromium/chrome/browser/password_manager/PasswordStoreCredential.java",
|
||||
"java/src/org/chromium/chrome/browser/password_manager/PasswordSyncControllerDelegateBridgeImpl.java",
|
||||
]
|
||||
@@ -3023,22 +3025,63 @@ diff --git a/chrome/browser/password_manager/android/BUILD.gn b/chrome/browser/p
|
||||
|
||||
android_library("utils_java") {
|
||||
diff --git a/chrome/browser/password_manager/android/java/src/org/chromium/chrome/browser/password_manager/ConfirmationDialogHelper.java b/chrome/browser/password_manager/android/java/src/org/chromium/chrome/browser/password_manager/ConfirmationDialogHelper.java
|
||||
--- a/chrome/browser/password_manager/android/java/src/org/chromium/chrome/browser/password_manager/ConfirmationDialogHelper.java
|
||||
new file mode 100644
|
||||
--- /dev/null
|
||||
+++ b/chrome/browser/password_manager/android/java/src/org/chromium/chrome/browser/password_manager/ConfirmationDialogHelper.java
|
||||
@@ -7,7 +7,9 @@ package org.chromium.chrome.browser.password_manager;
|
||||
import static org.chromium.build.NullUtil.assumeNonNull;
|
||||
|
||||
import android.content.Context;
|
||||
@@ -0,0 +1,146 @@
|
||||
+// Copyright 2021 The Chromium Authors
|
||||
+// Use of this source code is governed by a BSD-style license that can be
|
||||
+// found in the LICENSE file.
|
||||
+
|
||||
+package org.chromium.chrome.browser.password_manager;
|
||||
+
|
||||
+import static org.chromium.build.NullUtil.assumeNonNull;
|
||||
+
|
||||
+import android.content.Context;
|
||||
+import android.content.res.Resources;
|
||||
|
||||
+
|
||||
+import org.chromium.base.CallbackUtils;
|
||||
import org.chromium.build.annotations.NullMarked;
|
||||
import org.chromium.build.annotations.Nullable;
|
||||
import org.chromium.components.browser_ui.modaldialog.AppModalPresenter;
|
||||
@@ -49,6 +51,34 @@ public class ConfirmationDialogHelper {
|
||||
mDialogModel = null;
|
||||
}
|
||||
|
||||
+import org.chromium.build.annotations.NullMarked;
|
||||
+import org.chromium.build.annotations.Nullable;
|
||||
+import org.chromium.components.browser_ui.modaldialog.AppModalPresenter;
|
||||
+import org.chromium.ui.modaldialog.DialogDismissalCause;
|
||||
+import org.chromium.ui.modaldialog.ModalDialogManager;
|
||||
+import org.chromium.ui.modaldialog.ModalDialogManager.ModalDialogType;
|
||||
+import org.chromium.ui.modaldialog.ModalDialogProperties;
|
||||
+import org.chromium.ui.modaldialog.SimpleModalDialogController;
|
||||
+import org.chromium.ui.modelutil.PropertyModel;
|
||||
+
|
||||
+import java.util.ArrayList;
|
||||
+import java.util.List;
|
||||
+
|
||||
+/**
|
||||
+ * Helps to show a confirmation.
|
||||
+ *
|
||||
+ * @deprecated use {@link ActionConfirmationDialog} instead - see crbug.com/440257087.
|
||||
+ */
|
||||
+@Deprecated
|
||||
+@NullMarked
|
||||
+public class ConfirmationDialogHelper {
|
||||
+ private final Context mContext;
|
||||
+ private ModalDialogManager mModalDialogManager;
|
||||
+ private @Nullable PropertyModel mDialogModel;
|
||||
+ private @Nullable Runnable mConfirmedCallback;
|
||||
+ private @Nullable Runnable mDeclinedCallback;
|
||||
+
|
||||
+ public ConfirmationDialogHelper(Context context) {
|
||||
+ mContext = context;
|
||||
+ mModalDialogManager =
|
||||
+ new ModalDialogManager(new AppModalPresenter(context), ModalDialogType.APP);
|
||||
+ }
|
||||
+
|
||||
+ /** Hides the dialog. */
|
||||
+ public void dismiss() {
|
||||
+ if (mDialogModel != null) {
|
||||
+ mModalDialogManager.dismissDialog(mDialogModel, DialogDismissalCause.UNKNOWN);
|
||||
+ }
|
||||
+ mDialogModel = null;
|
||||
+ }
|
||||
+
|
||||
+ // used by CredentialEditMediator.java
|
||||
+ /** Returns the resources associated with the context used to launch the dialog. */
|
||||
+ public Resources getResources() {
|
||||
@@ -3067,9 +3110,71 @@ diff --git a/chrome/browser/password_manager/android/java/src/org/chromium/chrom
|
||||
+ CallbackUtils.emptyRunnable());
|
||||
+ }
|
||||
+
|
||||
/**
|
||||
* Shows an dialog to confirm the deletion.
|
||||
*
|
||||
+ /**
|
||||
+ * Shows an dialog to confirm the deletion.
|
||||
+ *
|
||||
+ * @param title A {@link String} used as title.
|
||||
+ * @param message A {@link CharSequence} used message body.
|
||||
+ * @param confirmButtonText A {@link String} for confirmation button label.
|
||||
+ * @param confirmedCallback A callback to run when the dialog is accepted.
|
||||
+ * @param declinedCallback A callback to run when the dialog is declined.
|
||||
+ */
|
||||
+ public void showConfirmation(
|
||||
+ String title,
|
||||
+ CharSequence message,
|
||||
+ String confirmButtonText,
|
||||
+ Runnable confirmedCallback,
|
||||
+ Runnable declinedCallback) {
|
||||
+ assert title != null;
|
||||
+ assert message != null;
|
||||
+ assert confirmedCallback != null;
|
||||
+
|
||||
+ mConfirmedCallback = confirmedCallback;
|
||||
+ mDeclinedCallback = declinedCallback;
|
||||
+
|
||||
+ mDialogModel =
|
||||
+ new PropertyModel.Builder(ModalDialogProperties.ALL_KEYS)
|
||||
+ .with(
|
||||
+ ModalDialogProperties.CONTROLLER,
|
||||
+ new SimpleModalDialogController(
|
||||
+ mModalDialogManager, this::onDismiss))
|
||||
+ .with(
|
||||
+ ModalDialogProperties.BUTTON_STYLES,
|
||||
+ ModalDialogProperties.ButtonStyles.PRIMARY_FILLED_NEGATIVE_OUTLINE)
|
||||
+ .with(ModalDialogProperties.TITLE, title)
|
||||
+ .with(
|
||||
+ ModalDialogProperties.MESSAGE_PARAGRAPHS,
|
||||
+ new ArrayList<>(List.of(message)))
|
||||
+ .with(ModalDialogProperties.POSITIVE_BUTTON_TEXT, confirmButtonText)
|
||||
+ .with(
|
||||
+ ModalDialogProperties.NEGATIVE_BUTTON_TEXT,
|
||||
+ mContext.getString(R.string.cancel))
|
||||
+ .build();
|
||||
+
|
||||
+ mModalDialogManager.showDialog(mDialogModel, ModalDialogType.APP);
|
||||
+ }
|
||||
+
|
||||
+ private void onDismiss(@DialogDismissalCause int dismissalCause) {
|
||||
+ switch (dismissalCause) {
|
||||
+ case DialogDismissalCause.POSITIVE_BUTTON_CLICKED:
|
||||
+ assumeNonNull(mConfirmedCallback);
|
||||
+ mConfirmedCallback.run();
|
||||
+ break;
|
||||
+ case DialogDismissalCause.NEGATIVE_BUTTON_CLICKED:
|
||||
+ assumeNonNull(mDeclinedCallback);
|
||||
+ mDeclinedCallback.run();
|
||||
+ break;
|
||||
+ default:
|
||||
+ // No explicit user decision.
|
||||
+ break;
|
||||
+ }
|
||||
+ mDialogModel = null;
|
||||
+ }
|
||||
+
|
||||
+ void setModalDialogManagerForTesting(ModalDialogManager modalDialogManager) {
|
||||
+ mModalDialogManager = modalDialogManager;
|
||||
+ }
|
||||
+}
|
||||
diff --git a/chrome/browser/password_manager/android/java/src/org/chromium/chrome/browser/password_manager/PasswordManagerHelper.java b/chrome/browser/password_manager/android/java/src/org/chromium/chrome/browser/password_manager/PasswordManagerHelper.java
|
||||
--- a/chrome/browser/password_manager/android/java/src/org/chromium/chrome/browser/password_manager/PasswordManagerHelper.java
|
||||
+++ b/chrome/browser/password_manager/android/java/src/org/chromium/chrome/browser/password_manager/PasswordManagerHelper.java
|
||||
@@ -6073,6 +6178,20 @@ diff --git a/chrome/browser/password_manager/android/pwm_disabled/BUILD.gn b/chr
|
||||
"java/src/org/chromium/chrome/browser/pwm_disabled/PwmDeprecationDialogsMetricsRecorder.java",
|
||||
"java/src/org/chromium/chrome/browser/pwm_disabled/SingleThreadBarrierClosure.java",
|
||||
"java/src/org/chromium/chrome/browser/pwm_disabled/TimedCallbackDelayer.java",
|
||||
diff --git a/chrome/browser/password_manager/factories/password_manager_settings_service_factory.cc b/chrome/browser/password_manager/factories/password_manager_settings_service_factory.cc
|
||||
--- a/chrome/browser/password_manager/factories/password_manager_settings_service_factory.cc
|
||||
+++ b/chrome/browser/password_manager/factories/password_manager_settings_service_factory.cc
|
||||
@@ -90,9 +90,7 @@ PasswordManagerSettingsServiceFactory::CreateService(Profile* profile) const {
|
||||
return std::make_unique<PasswordManagerSettingsServiceAndroidImpl>(
|
||||
profile->GetPrefs(), SyncServiceFactory::GetForProfile(profile));
|
||||
}
|
||||
- return nullptr;
|
||||
-#else
|
||||
+#endif
|
||||
return std::make_unique<password_manager::PasswordManagerSettingsServiceImpl>(
|
||||
profile->GetPrefs());
|
||||
-#endif
|
||||
}
|
||||
diff --git a/chrome/browser/password_manager/factories/password_store_backend_factory.cc b/chrome/browser/password_manager/factories/password_store_backend_factory.cc
|
||||
--- a/chrome/browser/password_manager/factories/password_store_backend_factory.cc
|
||||
+++ b/chrome/browser/password_manager/factories/password_store_backend_factory.cc
|
||||
@@ -6114,24 +6233,10 @@ diff --git a/chrome/browser/password_manager/factories/password_store_backend_fa
|
||||
std::move(login_db), behavior, prefs, os_crypt_async);
|
||||
-#endif // BUILDFLAG(IS_ANDROID)
|
||||
}
|
||||
diff --git a/chrome/browser/password_manager/password_manager_settings_service_factory.cc b/chrome/browser/password_manager/password_manager_settings_service_factory.cc
|
||||
--- a/chrome/browser/password_manager/password_manager_settings_service_factory.cc
|
||||
+++ b/chrome/browser/password_manager/password_manager_settings_service_factory.cc
|
||||
@@ -90,9 +90,7 @@ PasswordManagerSettingsServiceFactory::CreateService(Profile* profile) const {
|
||||
return std::make_unique<PasswordManagerSettingsServiceAndroidImpl>(
|
||||
profile->GetPrefs(), SyncServiceFactory::GetForProfile(profile));
|
||||
}
|
||||
- return nullptr;
|
||||
-#else
|
||||
+#endif
|
||||
return std::make_unique<password_manager::PasswordManagerSettingsServiceImpl>(
|
||||
profile->GetPrefs());
|
||||
-#endif
|
||||
}
|
||||
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
|
||||
@@ -2642,13 +2642,6 @@ void MigrateObsoleteProfilePrefs(PrefService* profile_prefs,
|
||||
@@ -2527,13 +2527,6 @@ void MigrateObsoleteProfilePrefs(PrefService* profile_prefs,
|
||||
profile_prefs->ClearPref(kObsoletePasswordsUseUPMLocalAndSeparateStores);
|
||||
profile_prefs->ClearPref(kObsoleteEmptyProfileStoreLoginDatabase);
|
||||
profile_prefs->ClearPref(kObsoleteUpmAutoExportCsvNeedsDeletion);
|
||||
@@ -6148,7 +6253,7 @@ diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browse
|
||||
diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||
--- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||
+++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||
@@ -797,7 +797,7 @@ For more settings that use data to improve your Chrome experience, go to <ph nam
|
||||
@@ -835,7 +835,7 @@ For more settings that use data to improve your Chrome experience, go to <ph nam
|
||||
Passwords
|
||||
</message>
|
||||
<message name="IDS_PASSWORD_MANAGER_SETTINGS_TITLE" desc="Title for the settings menu item leading to the Password Manager UI surface. This allows users to e.g. manage their saved passwords, toggle saving and auto-sign-in on/off, etc. [CHAR_LIMIT=32]">
|
||||
@@ -6157,7 +6262,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro
|
||||
</message>
|
||||
<message name="IDS_PASSWORD_SAVING_ON_BY_ADMINISTRATOR" desc="Subtitle for the settings menu item leading to the Password Manager UI surface, shown when the device administrator set saving passwords to enabled.">
|
||||
Password saving is turned on by your administrator
|
||||
@@ -897,6 +897,127 @@ For more settings that use data to improve your Chrome experience, go to <ph nam
|
||||
@@ -935,6 +935,127 @@ For more settings that use data to improve your Chrome experience, go to <ph nam
|
||||
Password suggestion is closed.
|
||||
</message>
|
||||
|
||||
@@ -6302,7 +6407,7 @@ new file mode 100644
|
||||
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
|
||||
@@ -391,6 +391,7 @@ BASE_FEATURE(kAutofillCreditCardUserPerceptionSurvey,
|
||||
@@ -409,6 +409,7 @@ BASE_FEATURE(kAutofillCreditCardUserPerceptionSurvey,
|
||||
// If enabled, other apps can open the Autofill Options in Chrome.
|
||||
BASE_FEATURE(kAutofillDeepLinkAutofillOptions,
|
||||
base::FEATURE_ENABLED_BY_DEFAULT);
|
||||
@@ -6333,7 +6438,7 @@ diff --git a/components/browser_ui/settings/android/java/src/org/chromium/compon
|
||||
diff --git a/components/password_manager/core/browser/features/password_manager_features_util.cc b/components/password_manager/core/browser/features/password_manager_features_util.cc
|
||||
--- a/components/password_manager/core/browser/features/password_manager_features_util.cc
|
||||
+++ b/components/password_manager/core/browser/features/password_manager_features_util.cc
|
||||
@@ -19,6 +19,7 @@ namespace password_manager::features_util {
|
||||
@@ -18,6 +18,7 @@ namespace password_manager::features_util {
|
||||
namespace {
|
||||
|
||||
bool IsUserEligibleForAccountStorage(const syncer::SyncService* sync_service) {
|
||||
@@ -6344,7 +6449,7 @@ diff --git a/components/password_manager/core/browser/features/password_manager_
|
||||
diff --git a/components/password_manager/core/browser/import/password_importer.cc b/components/password_manager/core/browser/import/password_importer.cc
|
||||
--- a/components/password_manager/core/browser/import/password_importer.cc
|
||||
+++ b/components/password_manager/core/browser/import/password_importer.cc
|
||||
@@ -75,6 +75,17 @@ const int32_t kMaxFileSizeBytes = 1000 * 1024;
|
||||
@@ -82,6 +82,17 @@ base::expected<void, ImportResults::Status> ValidateDataSize(int64_t size) {
|
||||
// optional string. The string will be present if the status is SUCCESS.
|
||||
base::expected<std::string, ImportResults::Status> ReadFileToString(
|
||||
const base::FilePath& path) {
|
||||
@@ -6359,9 +6464,9 @@ diff --git a/components/password_manager/core/browser/import/password_importer.c
|
||||
+ return std::move(file_contents);
|
||||
+ }
|
||||
+#endif
|
||||
std::optional<int64_t> file_size = base::GetFileSize(path);
|
||||
|
||||
if (file_size.has_value()) {
|
||||
if (std::optional<int64_t> file_size = base::GetFileSize(path)) {
|
||||
RETURN_IF_ERROR(ValidateDataSize(file_size.value()));
|
||||
}
|
||||
diff --git a/components/password_manager/core/browser/password_manager.cc b/components/password_manager/core/browser/password_manager.cc
|
||||
--- a/components/password_manager/core/browser/password_manager.cc
|
||||
+++ b/components/password_manager/core/browser/password_manager.cc
|
||||
@@ -6413,7 +6518,7 @@ diff --git a/components/password_manager/core/browser/password_manager_constants
|
||||
diff --git a/components/password_manager/core/browser/password_store/BUILD.gn b/components/password_manager/core/browser/password_store/BUILD.gn
|
||||
--- a/components/password_manager/core/browser/password_store/BUILD.gn
|
||||
+++ b/components/password_manager/core/browser/password_store/BUILD.gn
|
||||
@@ -74,6 +74,19 @@ source_set("password_store_impl") {
|
||||
@@ -75,6 +75,19 @@ source_set("password_store_impl") {
|
||||
"android_backend_error.h",
|
||||
"password_data_type_controller_delegate_android.cc",
|
||||
"password_data_type_controller_delegate_android.h",
|
||||
@@ -6457,15 +6562,15 @@ diff --git a/components/password_manager/core/browser/password_store/login_datab
|
||||
diff --git a/components/password_manager/core/browser/password_store/password_store_built_in_backend.cc b/components/password_manager/core/browser/password_store/password_store_built_in_backend.cc
|
||||
--- a/components/password_manager/core/browser/password_store/password_store_built_in_backend.cc
|
||||
+++ b/components/password_manager/core/browser/password_store/password_store_built_in_backend.cc
|
||||
@@ -153,6 +153,7 @@ void PasswordStoreBuiltInBackend::InitBackend(
|
||||
DCHECK(helper_);
|
||||
affiliated_match_helper_ = affiliated_match_helper;
|
||||
@@ -247,6 +247,7 @@ void PasswordStoreBuiltInBackend::InitBackend(
|
||||
remote_form_changes_received_callback_ = remote_form_changes_received;
|
||||
sync_enabled_or_disabled_cb_ = sync_enabled_or_disabled_cb;
|
||||
|
||||
+#if !BUILDFLAG(IS_ANDROID)
|
||||
// To ensure that groups of the kClearUndecryptablePasswords will stay
|
||||
// balanced, after the cleanup is done an additional flag check is needed.
|
||||
// Users won't reach the flag the normal way since the LoginDB is working
|
||||
@@ -161,6 +162,7 @@ void PasswordStoreBuiltInBackend::InitBackend(
|
||||
@@ -255,6 +256,7 @@ void PasswordStoreBuiltInBackend::InitBackend(
|
||||
if (pref_service_->GetBoolean(prefs::kClearingUndecryptablePasswords)) {
|
||||
base::FeatureList::IsEnabled(features::kClearUndecryptablePasswords);
|
||||
}
|
||||
@@ -6473,7 +6578,7 @@ diff --git a/components/password_manager/core/browser/password_store/password_st
|
||||
|
||||
background_task_runner_->PostTask(
|
||||
FROM_HERE, base::BindOnce(&LoginDatabaseAsyncHelper::CreateSyncBackend,
|
||||
@@ -437,11 +439,15 @@ void PasswordStoreBuiltInBackend::OnEncryptorReceived(
|
||||
@@ -561,11 +563,15 @@ void PasswordStoreBuiltInBackend::OnEncryptorReceived(
|
||||
weak_ptr_factory_.GetWeakPtr()))
|
||||
.Then(std::move(remote_form_changes_received));
|
||||
|
||||
@@ -6576,7 +6681,7 @@ diff --git a/components/password_manager/core/common/password_manager_pref_names
|
||||
diff --git a/components/sync/service/sync_prefs.cc b/components/sync/service/sync_prefs.cc
|
||||
--- a/components/sync/service/sync_prefs.cc
|
||||
+++ b/components/sync/service/sync_prefs.cc
|
||||
@@ -740,7 +740,7 @@ bool SyncPrefs::IsTypeSupportedInTransportMode(UserSelectableType type) {
|
||||
@@ -738,7 +738,7 @@ bool SyncPrefs::IsTypeSupportedInTransportMode(UserSelectableType type) {
|
||||
kSeparateLocalAndAccountSearchEngines);
|
||||
#endif
|
||||
case UserSelectableType::kPasswords:
|
||||
|
||||
@@ -32,7 +32,6 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
||||
.../chrome/browser/app/ChromeActivity.java | 5 +-
|
||||
chrome/browser/android/favicon_helper.cc | 214 ++++++++++-
|
||||
chrome/browser/android/favicon_helper.h | 25 ++
|
||||
.../browser/flags/ChromeFeatureList.java | 6 +-
|
||||
.../flags/cromite/sTabSwitcherListMode.java | 33 ++
|
||||
.../tab_ui/TabListFaviconProvider.java | 111 ++++++
|
||||
.../browser/ui/favicon/FaviconHelper.java | 57 ++-
|
||||
@@ -42,7 +41,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
||||
.../java/res/drawable/ic_warning_red_16dp.xml | 26 ++
|
||||
.../layout/title_and_description_layout.xml | 31 +-
|
||||
.../tab-switcher-list-mode.inc | 3 +
|
||||
35 files changed, 1184 insertions(+), 43 deletions(-)
|
||||
34 files changed, 1180 insertions(+), 41 deletions(-)
|
||||
create mode 100644 chrome/android/features/tab_ui/java/res/drawable/selected_tab_background.xml
|
||||
create mode 100644 chrome/android/features/tab_ui/java/res/drawable/selected_tab_background_incognito.xml
|
||||
create mode 100644 chrome/android/features/tab_ui/java/res/layout/tab_list_card_item.xml
|
||||
@@ -217,7 +216,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser
|
||||
import org.chromium.chrome.browser.tabmodel.TabClosingSource;
|
||||
import org.chromium.chrome.browser.tabmodel.TabClosureParamsUtils;
|
||||
import org.chromium.chrome.browser.tabmodel.TabCreatorUtil;
|
||||
@@ -901,6 +902,13 @@ public class TabGridDialogMediator
|
||||
@@ -900,6 +901,13 @@ public class TabGridDialogMediator
|
||||
TabGridDialogProperties.DIALOG_UNGROUP_BAR_HOVERED_TEXT_COLOR,
|
||||
ungroupBarHoveredTextColor);
|
||||
mModel.set(TabGridDialogProperties.IS_INCOGNITO, isIncognito);
|
||||
@@ -479,7 +478,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser
|
||||
diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabListMediator.java b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabListMediator.java
|
||||
--- a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabListMediator.java
|
||||
+++ b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabListMediator.java
|
||||
@@ -2630,8 +2630,26 @@ class TabListMediator implements TabListNotificationHandler {
|
||||
@@ -2622,8 +2622,26 @@ class TabListMediator implements TabListNotificationHandler {
|
||||
private void updateFaviconForTab(
|
||||
PropertyModel model, Tab tab, @Nullable Bitmap icon, @Nullable GURL iconUrl) {
|
||||
if (mActionsOnAllRelatedTabs && isTabInTabGroup(tab)) {
|
||||
@@ -997,7 +996,7 @@ new file mode 100644
|
||||
diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabSwitcherPaneBase.java b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabSwitcherPaneBase.java
|
||||
--- a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabSwitcherPaneBase.java
|
||||
+++ b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabSwitcherPaneBase.java
|
||||
@@ -298,7 +298,7 @@ public abstract class TabSwitcherPaneBase extends PaneBase
|
||||
@@ -305,7 +305,7 @@ public abstract class TabSwitcherPaneBase extends PaneBase
|
||||
|| isFullSpaceModeOnAndroidXr;
|
||||
|
||||
@Nullable Tab tab = getCurrentTab();
|
||||
@@ -1006,7 +1005,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser
|
||||
return FadeHubLayoutAnimationFactory.createFadeInAnimatorProvider(
|
||||
hubContainerView, HUB_LAYOUT_FADE_DURATION_MS, mOnToolbarAlphaChange);
|
||||
} else if (isFullSpaceModeOnAndroidXr && getTabListMode() == TabListMode.GRID) {
|
||||
@@ -327,7 +327,7 @@ public abstract class TabSwitcherPaneBase extends PaneBase
|
||||
@@ -334,7 +334,7 @@ public abstract class TabSwitcherPaneBase extends PaneBase
|
||||
HubContainerView hubContainerView) {
|
||||
assert !DeviceFormFactor.isNonMultiDisplayContextOnTablet(hubContainerView.getContext());
|
||||
Tab tab = getCurrentTab();
|
||||
@@ -1057,7 +1056,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser
|
||||
diff --git a/chrome/android/features/tab_ui/tab_management_java_sources.gni b/chrome/android/features/tab_ui/tab_management_java_sources.gni
|
||||
--- a/chrome/android/features/tab_ui/tab_management_java_sources.gni
|
||||
+++ b/chrome/android/features/tab_ui/tab_management_java_sources.gni
|
||||
@@ -180,6 +180,8 @@ internal_tab_management_java_sources = [
|
||||
@@ -179,6 +179,8 @@ internal_tab_management_java_sources = [
|
||||
"//chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabListNotificationHandler.java",
|
||||
"//chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabListOnScrollListener.java",
|
||||
"//chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabListRecyclerView.java",
|
||||
@@ -1085,15 +1084,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/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
|
||||
@@ -197,6 +197,7 @@ import org.chromium.chrome.browser.tabmodel.TabModelSelectorTabObserver;
|
||||
@@ -199,6 +199,7 @@ import org.chromium.chrome.browser.tabmodel.TabModelSelectorTabObserver;
|
||||
import org.chromium.chrome.browser.tabmodel.TabModelUtils;
|
||||
import org.chromium.chrome.browser.task_manager.TaskManager;
|
||||
import org.chromium.chrome.browser.task_manager.TaskManagerFactory;
|
||||
+import org.chromium.chrome.browser.tasks.tab_management.TabUiFeatureUtilities;
|
||||
import org.chromium.chrome.browser.theme.ThemeModuleUtils;
|
||||
import org.chromium.chrome.browser.tinker_tank.TinkerTankDelegate;
|
||||
import org.chromium.chrome.browser.toolbar.ControlContainer;
|
||||
@@ -695,8 +696,8 @@ public abstract class ChromeActivity extends AsyncInitializationActivity
|
||||
import org.chromium.chrome.browser.toolbar.ToolbarManager;
|
||||
@@ -700,8 +701,8 @@ public abstract class ChromeActivity extends AsyncInitializationActivity
|
||||
new TabContentManager(
|
||||
this,
|
||||
mBrowserControlsManagerSupplier.get(),
|
||||
@@ -1408,29 +1407,6 @@ diff --git a/chrome/browser/android/favicon_helper.h b/chrome/browser/android/fa
|
||||
base::WeakPtrFactory<FaviconHelper> weak_ptr_factory_{this};
|
||||
};
|
||||
|
||||
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
|
||||
@@ -21,6 +21,7 @@ import org.chromium.components.cached_flags.IntCachedFeatureParam;
|
||||
import org.chromium.components.cached_flags.StringCachedFeatureParam;
|
||||
|
||||
import org.chromium.chrome.browser.flags.cromite.CromiteCachedFlagImplBase;
|
||||
+import org.chromium.chrome.browser.flags.cromite.sTabSwitcherListMode;
|
||||
import java.util.Arrays;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@@ -1372,8 +1373,9 @@ public abstract class ChromeFeatureList {
|
||||
newMutableFlagWithSafeDefault(ANDROID_BOOKMARK_BAR_FAST_FOLLOW, true);
|
||||
public static final MutableFlagWithSafeDefault sAndroidContextMenuDuplicateTabs =
|
||||
newMutableFlagWithSafeDefault(ANDROID_CONTEXT_MENU_DUPLICATE_TABS, false);
|
||||
- public static final MutableFlagWithSafeDefault sAndroidPinnedTabs =
|
||||
- newMutableFlagWithSafeDefault(ANDROID_PINNED_TABS, true);
|
||||
+ public static final MutableFlagWithSafeDefault sAndroidPinnedTabs = sTabSwitcherListMode.getInstance().isEnabled()
|
||||
+ ? ChromeFeatureMap.getInstance().immutableFlagWithDefault(ANDROID_PINNED_TABS, false)
|
||||
+ : newMutableFlagWithSafeDefault(ANDROID_PINNED_TABS, true);
|
||||
public static final MutableFlagWithSafeDefault sAndroidPinnedTabsTabletTabStrip =
|
||||
newMutableFlagWithSafeDefault(ANDROID_PINNED_TABS_TABLET_TAB_STRIP, true);
|
||||
public static final MutableFlagWithSafeDefault sAndroidTipsNotifications =
|
||||
diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/cromite/sTabSwitcherListMode.java b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/cromite/sTabSwitcherListMode.java
|
||||
new file mode 100644
|
||||
--- /dev/null
|
||||
@@ -1658,7 +1634,7 @@ diff --git a/chrome/browser/ui/android/favicon/java/src/org/chromium/chrome/brow
|
||||
/** Helper for generating default favicons and sharing the same icon between multiple views. */
|
||||
public static class DefaultFaviconHelper {
|
||||
private @Nullable Bitmap mChromeDarkBitmap;
|
||||
@@ -220,6 +234,36 @@ public class FaviconHelper {
|
||||
@@ -230,6 +244,36 @@ public class FaviconHelper {
|
||||
faviconImageCallback);
|
||||
}
|
||||
|
||||
@@ -1695,7 +1671,7 @@ diff --git a/chrome/browser/ui/android/favicon/java/src/org/chromium/chrome/brow
|
||||
@VisibleForTesting(otherwise = VisibleForTesting.PACKAGE_PRIVATE)
|
||||
@NativeMethods
|
||||
public interface Natives {
|
||||
@@ -227,6 +271,13 @@ public class FaviconHelper {
|
||||
@@ -237,6 +281,13 @@ public class FaviconHelper {
|
||||
|
||||
void destroy(long nativeFaviconHelper);
|
||||
|
||||
@@ -1734,7 +1710,7 @@ diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/brow
|
||||
import org.chromium.chrome.browser.omnibox.LocationBarBackgroundDrawable;
|
||||
import org.chromium.chrome.browser.omnibox.LocationBarBackgroundDrawable.HairlineBehavior;
|
||||
import org.chromium.chrome.browser.omnibox.LocationBarCoordinator;
|
||||
@@ -2106,7 +2107,7 @@ public class ToolbarPhone extends ToolbarLayout
|
||||
@@ -2140,7 +2141,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.
|
||||
@@ -1743,7 +1719,7 @@ diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/brow
|
||||
mLocationBar.setUrlBarFocusable(false);
|
||||
}
|
||||
|
||||
@@ -2334,7 +2335,8 @@ public class ToolbarPhone extends ToolbarLayout
|
||||
@@ -2368,7 +2369,8 @@ public class ToolbarPhone extends ToolbarLayout
|
||||
ToggleTabStackButtonCoordinator tabSwitcherButtonCoordinator =
|
||||
getTabSwitcherButtonCoordinator();
|
||||
assumeNonNull(tabSwitcherButtonCoordinator);
|
||||
|
||||
Reference in New Issue
Block a user