[webkit-changes] [WebKit/WebKit] d691e4: Password manager UI can cause conditional requests...

Commit Queue noreply at github.com
Tue Feb 27 15:54:14 PST 2024


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: d691e4579511b2fe0f916d9da1746f98b0519036
      https://github.com/WebKit/WebKit/commit/d691e4579511b2fe0f916d9da1746f98b0519036
  Author: Pascoe <pascoe at apple.com>
  Date:   2024-02-27 (Tue, 27 Feb 2024)

  Changed paths:
    M Source/WebKit/UIProcess/WebAuthentication/Cocoa/WebAuthenticatorCoordinatorProxy.mm
    M Source/WebKit/UIProcess/WebAuthentication/WebAuthenticatorCoordinatorProxy.h
    M Source/WebKit/UIProcess/WebPageProxy.cpp

  Log Message:
  -----------
  Password manager UI can cause conditional requests to pause
https://bugs.webkit.org/show_bug.cgi?id=270135
rdar://123659147

Reviewed by Charlie Wolfe and Chris Dumez.

The API for autofill assisted passkey requests only allows one request ongoing per UI process.
In order to handle this behavior, we currently pause requests whenever their page is not active
and resume them whenever the page becomes active.

However, bringing up password manager UI as part of an conditional mediation may cause the page to
become not active, therefore pausing the request the user is selecting a credential for in the UI.

To fix this issue, we don't pause requests whenever a page becomes inactive. Instead we pause the active
request whenever another page becomes active. This will result in no pause when brining up password manager
UI.

* Source/WebKit/UIProcess/WebAuthentication/Cocoa/WebAuthenticatorCoordinatorProxy.mm:
(WebKit::WebAuthenticatorCoordinatorProxy::pauseConditionalAssertion):
(WebKit::WebAuthenticatorCoordinatorProxy::makeActiveConditionalAssertion):
(WebKit::WebAuthenticatorCoordinatorProxy::performRequest):
* Source/WebKit/UIProcess/WebAuthentication/WebAuthenticatorCoordinatorProxy.h:
* Source/WebKit/UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::dispatchActivityStateChange):

Canonical link: https://commits.webkit.org/275414@main



To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications


More information about the webkit-changes mailing list