From 08319483c2397faae6a610318a0f134cebe23042 Mon Sep 17 00:00:00 2001 From: Francois Marier Date: Thu, 10 Oct 2019 18:02:21 -0700 Subject: [PATCH] Exempt password managers from the Uphold content script restrictions This should mitigate some of the bad UX described in brave/brave-browser#6309. --- .../common/permissions/permissions_data.cc | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/chromium_src/extensions/common/permissions/permissions_data.cc b/chromium_src/extensions/common/permissions/permissions_data.cc index b085eee7ac69..609fea9a9031 100644 --- a/chromium_src/extensions/common/permissions/permissions_data.cc +++ b/chromium_src/extensions/common/permissions/permissions_data.cc @@ -9,6 +9,26 @@ namespace extensions { +const char k1PasswordId[] = "aomjjhallfgjeglblehebfpbcfeobpgk"; +const char k1PasswordXId[] = "aeblfdkhhhdcdjpifhhbdiojplfjncoa"; +const char kBitWardenId[] = "nngceckbapebfimnlniiiahkandclblb"; +const char kDashlaneId[] = "fdjamakpfbbddfjaooikfcpapjohcfmg"; +const char kKeePassXCId[] = "oboonakemofpalcgghocfoadofidjkkk"; +const char kKeeperId[] = "bfogiafebfohielmmehodmfbbebbbpei"; +const char kLastPassId[] = "hdokiejnpimakedhajhdlcegeplioahd"; +const char kPainFreePasswordsId[] = "hplhaekjfmjfnfdllkpjpeenlbclffgh"; +const char kRoboFormId[] = "pnlccmojcmeohlpggmfnbbiapkmbliob"; + +bool IsKnownPasswordManagerExtension( + const extensions::ExtensionId& extension_id) { + return (extension_id == k1PasswordId) || (extension_id == k1PasswordXId) || + (extension_id == kBitWardenId) || (extension_id == kDashlaneId) || + (extension_id == kKeePassXCId) || (extension_id == kKeeperId) || + (extension_id == kLastPassId) || + (extension_id == kPainFreePasswordsId) || + (extension_id == kRoboFormId); +} + bool IsBraveProtectedUrl(const GURL& url) { const url::Origin origin = url::Origin::Create(url); const base::StringPiece path = url.path_piece(); @@ -39,6 +59,10 @@ bool IsBraveRestrictedUrl(const GURL& document_url, return false; } + if (extensions::IsKnownPasswordManagerExtension(extension_id)) { + return false; + } + if (extensions::IsBraveProtectedUrl(document_url)) { if (error) { *error = kCannotScriptWalletLinking;