Title: [271318] trunk/Source/WebKit
Revision
271318
Author
[email protected]
Date
2021-01-08 12:33:18 -0800 (Fri, 08 Jan 2021)

Log Message

[WebAuthn] Adopt new UI for the update flow
https://bugs.webkit.org/show_bug.cgi?id=219713
<rdar://problem/72154988>

Reviewed by Brent Fulgham.

Covered by manual tests.

* Platform/spi/Cocoa/AuthenticationServicesCoreSPI.h:
(NS_ERROR_ENUM):
* UIProcess/WebAuthentication/Cocoa/AuthenticatorPresenterCoordinator.mm:
(WebKit::AuthenticatorPresenterCoordinator::updatePresenter):

Modified Paths

Diff

Modified: trunk/Source/WebKit/ChangeLog (271317 => 271318)


--- trunk/Source/WebKit/ChangeLog	2021-01-08 20:23:08 UTC (rev 271317)
+++ trunk/Source/WebKit/ChangeLog	2021-01-08 20:33:18 UTC (rev 271318)
@@ -1,3 +1,18 @@
+2021-01-08  Jiewen Tan  <[email protected]>
+
+        [WebAuthn] Adopt new UI for the update flow
+        https://bugs.webkit.org/show_bug.cgi?id=219713
+        <rdar://problem/72154988>
+
+        Reviewed by Brent Fulgham.
+
+        Covered by manual tests.
+
+        * Platform/spi/Cocoa/AuthenticationServicesCoreSPI.h:
+        (NS_ERROR_ENUM):
+        * UIProcess/WebAuthentication/Cocoa/AuthenticatorPresenterCoordinator.mm:
+        (WebKit::AuthenticatorPresenterCoordinator::updatePresenter):
+
 2021-01-08  Youenn Fablet  <[email protected]>
 
         Service Worker is no longer inspectable

Modified: trunk/Source/WebKit/Platform/spi/Cocoa/AuthenticationServicesCoreSPI.h (271317 => 271318)


--- trunk/Source/WebKit/Platform/spi/Cocoa/AuthenticationServicesCoreSPI.h	2021-01-08 20:23:08 UTC (rev 271317)
+++ trunk/Source/WebKit/Platform/spi/Cocoa/AuthenticationServicesCoreSPI.h	2021-01-08 20:33:18 UTC (rev 271318)
@@ -72,6 +72,7 @@
 - (void)presentAuthorizationWithContext:(ASCAuthorizationPresentationContext *)context completionHandler:(void (^)(id<ASCCredentialProtocol> _Nullable, NSError * _Nullable))completionHandler;
 - (void)updateInterfaceWithLoginChoices:(NSArray<id <ASCLoginChoiceProtocol>> *)loginChoices;
 - (void)presentPINEntryInterface;
+- (void)updateInterfaceForUserVisibleError:(NSError *)userVisibleError;
 - (void)dismissWithError:(nullable NSError *)error;
 
 @property (nonatomic, weak) id <ASCAuthorizationPresenterDelegate> delegate;
@@ -167,6 +168,10 @@
     ASCAuthorizationErrorFailed,
     ASCAuthorizationErrorUserCanceled,
     ASCAuthorizationErrorPINRequired,
+    ASCAuthorizationErrorMultipleNFCTagsPresent,
+    ASCAuthorizationErrorNoCredentialsFound,
+    ASCAuthorizationErrorLAError,
+    ASCAuthorizationErrorLAExcludeCredentialsMatched,
 };
 
 extern NSString * const ASCPINValidationResultKey;

Modified: trunk/Source/WebKit/UIProcess/WebAuthentication/Cocoa/AuthenticatorPresenterCoordinator.mm (271317 => 271318)


--- trunk/Source/WebKit/UIProcess/WebAuthentication/Cocoa/AuthenticatorPresenterCoordinator.mm	2021-01-08 20:23:08 UTC (rev 271317)
+++ trunk/Source/WebKit/UIProcess/WebAuthentication/Cocoa/AuthenticatorPresenterCoordinator.mm	2021-01-08 20:33:18 UTC (rev 271318)
@@ -109,8 +109,29 @@
         m_credentialRequestHandler(nil, error.get());
         break;
     }
+    case WebAuthenticationStatus::MultipleNFCTagsPresent: {
+        auto error = adoptNS([[NSError alloc] initWithDomain:ASCAuthorizationErrorDomain code:ASCAuthorizationErrorMultipleNFCTagsPresent userInfo:nil]);
+        [m_presenter updateInterfaceForUserVisibleError:error.get()];
+        break;
+    }
+    case WebAuthenticationStatus::NoCredentialsFound:
+    case WebAuthenticationStatus::LANoCredential: {
+        auto error = adoptNS([[NSError alloc] initWithDomain:ASCAuthorizationErrorDomain code:ASCAuthorizationErrorNoCredentialsFound userInfo:nil]);
+        [m_presenter updateInterfaceForUserVisibleError:error.get()];
+        break;
+    }
+    case WebAuthenticationStatus::LAError: {
+        auto error = adoptNS([[NSError alloc] initWithDomain:ASCAuthorizationErrorDomain code:ASCAuthorizationErrorLAError userInfo:nil]);
+        [m_presenter updateInterfaceForUserVisibleError:error.get()];
+        break;
+    }
+    case WebAuthenticationStatus::LAExcludeCredentialsMatched: {
+        auto error = adoptNS([[NSError alloc] initWithDomain:ASCAuthorizationErrorDomain code:ASCAuthorizationErrorLAExcludeCredentialsMatched userInfo:nil]);
+        [m_presenter updateInterfaceForUserVisibleError:error.get()];
+        break;
+    }
     default:
-        // FIXME(219713): Adopt new UI for the update flow.
+        ASSERT_NOT_REACHED();
         break;
     }
 #endif // HAVE(ASC_AUTH_UI)
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to