Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(414)

Unified Diff: components/password_manager/core/browser/password_ui_utils.cc

Issue 1615653005: [Password manager] Human readable origins for Android credentials on chrome://settings/passwords (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Transfer multi-request logic from PasswordStore to AffiliatedMatchHelper Created 4 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: components/password_manager/core/browser/password_ui_utils.cc
diff --git a/components/password_manager/core/browser/password_ui_utils.cc b/components/password_manager/core/browser/password_ui_utils.cc
index d30e28b55e6cf79891d2891fc48a65a22415fe41..93ba4269aaacab05ee11a3fe4d62660a30494a64 100644
--- a/components/password_manager/core/browser/password_ui_utils.cc
+++ b/components/password_manager/core/browser/password_ui_utils.cc
@@ -19,20 +19,39 @@ namespace {
// The URL prefixes that are removed from shown origin.
const char* const kRemovedPrefixes[] = {"m.", "mobile.", "www."};
+// The suffix for shown origins of Android credentials.
+// Since the string will be reversed for RTL direction, the string starts with
+// closed bracket and ends with open bracket.
+const char* const kAndroidCredentialSuffix = " )Android(";
+
} // namespace
-std::string GetShownOrigin(const autofill::PasswordForm& password_form,
- const std::string& languages,
- bool* is_android_uri) {
- DCHECK(is_android_uri != nullptr);
+std::string GetShownOriginAndLinkUrl(
+ const autofill::PasswordForm& password_form,
+ const std::string& languages,
+ GURL* link_url,
+ bool* origin_is_clickable) {
+ DCHECK(origin_is_clickable);
+ DCHECK(link_url);
password_manager::FacetURI facet_uri =
password_manager::FacetURI::FromPotentiallyInvalidSpec(
password_form.signon_realm);
- *is_android_uri = facet_uri.IsValidAndroidFacetURI();
- if (*is_android_uri)
- return GetHumanReadableOriginForAndroidUri(facet_uri);
-
+ bool is_android_uri = facet_uri.IsValidAndroidFacetURI();
+ if (is_android_uri) {
+ if (password_form.affiliated_web_realm.empty()) {
+ *origin_is_clickable = false;
+ *link_url = GURL(password_form.signon_realm);
+ return GetHumanReadableOriginForAndroidUri(facet_uri);
+ } else {
+ *origin_is_clickable = true;
+ *link_url = GURL(password_form.affiliated_web_realm);
+ return GetShownOrigin(*link_url, languages) +
+ std::string(kAndroidCredentialSuffix);
+ }
+ }
+ *origin_is_clickable = true;
+ *link_url = password_form.origin;
return GetShownOrigin(password_form.origin, languages);
}

Powered by Google App Engine
This is Rietveld 408576698