From d88695f5d584bb06802ea029aa64639dfefda5d0 Mon Sep 17 00:00:00 2001 From: Thomas Rittson <31796059+eliykat@users.noreply.github.com> Date: Fri, 12 Feb 2021 08:14:37 +1000 Subject: [PATCH] Fix autofill on Chrome from the iOS Share Extension (#1254) * Process UTTypeURL data received from host app * Disable autofill via Share extension for Chrome --- src/iOS.Core/Constants.cs | 1 + src/iOS.Extension/LoadingViewController.cs | 1 + src/iOS.Extension/LoginListViewController.cs | 3 ++- 3 files changed, 4 insertions(+), 1 deletion(-) diff --git a/src/iOS.Core/Constants.cs b/src/iOS.Core/Constants.cs index 34378a72a..54d769d87 100644 --- a/src/iOS.Core/Constants.cs +++ b/src/iOS.Core/Constants.cs @@ -28,6 +28,7 @@ public const string UTTypeAppExtensionFillWebViewAction = "org.appextension.fill-webview-action"; public const string UTTypeAppExtensionFillBrowserAction = "org.appextension.fill-browser-action"; public const string UTTypeAppExtensionSetup = "com.8bit.bitwarden.extension-setup"; + public const string UTTypeAppExtensionUrl = "public.url"; public const string AutofillNeedsIdentityReplacementKey = "autofillNeedsIdentityReplacement"; } diff --git a/src/iOS.Extension/LoadingViewController.cs b/src/iOS.Extension/LoadingViewController.cs index cb67c632f..164026cfa 100644 --- a/src/iOS.Extension/LoadingViewController.cs +++ b/src/iOS.Extension/LoadingViewController.cs @@ -49,6 +49,7 @@ namespace Bit.iOS.Extension || ProcessFindLoginProvider(itemProvider) || ProcessFindLoginBrowserProvider(itemProvider, Constants.UTTypeAppExtensionFillBrowserAction) || ProcessFindLoginBrowserProvider(itemProvider, Constants.UTTypeAppExtensionFillWebViewAction) + || ProcessFindLoginBrowserProvider(itemProvider, Constants.UTTypeAppExtensionUrl) || ProcessSaveLoginProvider(itemProvider) || ProcessChangePasswordProvider(itemProvider) || ProcessExtensionSetupProvider(itemProvider)) diff --git a/src/iOS.Extension/LoginListViewController.cs b/src/iOS.Extension/LoginListViewController.cs index b95081708..2dd2f7455 100644 --- a/src/iOS.Extension/LoginListViewController.cs +++ b/src/iOS.Extension/LoginListViewController.cs @@ -49,7 +49,8 @@ namespace Bit.iOS.Extension { if (Context.ProviderType != Constants.UTTypeAppExtensionFillBrowserAction && Context.ProviderType != Constants.UTTypeAppExtensionFillWebViewAction - && Context.ProviderType != UTType.PropertyList) + && Context.ProviderType != UTType.PropertyList + && Context.ProviderType != Constants.UTTypeAppExtensionUrl) { return true; }