| 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);
|
| }
|
|
|
|
|